СПОСОБ И УСТРОЙСТВО ДЛЯ УСТАНОВЛЕНИЯ АССОЦИАЦИЙ БЕЗОПАСНОСТИ МЕЖДУ УЗЛАМИ БЕСПРОВОДНОЙ САМООРГАНИЗУЮЩЕЙСЯ ОДНОРАНГОВОЙ (ad-hoc) СЕТИ
METHOD AND DEVICE TO ESTABLISH SAFETY ASSOCIATIONS BETWEEN UNITS OF WIRELESS SELF-ORGANISING SINGLE-RANGE (ad-hoc) NETWORK

Область техники
Настоящее изобретение относится к беспроводной связи и, в частности, к установлению ассоциаций безопасности между узлами в беспроводной самоорганизующейся одноранговой (ad-hoc) сети.
Уровень техники
Инфраструктурная беспроводная сеть, как правило, включает в себя сеть связи со стационарными, проводными шлюзами. Во многих инфраструктурных беспроводных сетях используется мобильный узел или хост, который осуществляет связь со стационарной базовой станцией, подключенной к проводной сети. Мобильный узел может географически перемещаться и вместе с тем осуществлять связь через беспроводную линию связи с базовой станцией. Когда мобильный узел выходит из зоны покрытия одной базовой станции, он может присоединиться или выполнить "хэндовер" (переключение обслуживания) к новой базовой станции, после чего он осуществляет связь с проводной сетью через новую базовую станцию.
В отличие от инфраструктурных беспроводных сетей, таких как сотовые сети или спутниковые сети, ad-hoc-сети являются самоформирующимися сетями, которые могут функционировать при отсутствии какой-либо стационарной инфраструктуры, и в некоторых случаях ad-hoc-сеть формируется только из мобильных узлов. Ad-hoc-сеть, как правило, включает в себя некоторое количество географически распределенных потенциально мобильных узлов, на которые иногда ссылаются как на "узлы", которые беспроводным образом соединены друг с другом посредством одной или более линий связи (например, радиочастотных каналов связи). Узлы могут осуществлять связь друг с другом через беспроводную среду передачи без поддержки инфраструктурной или проводной сети.
По мере распространения беспроводных сетей связи безопасность становится главным вопросом как для поставщиков услуг связи, так и для конечных пользователей. Это особенно проявляется, когда используется мобильная беспроводная сеть, где прием и манипуляция данными может быть выполнена множеством узлов. Радиолинии связи, используемые в беспроводной сети, раскрывают проходящую по сети сигнализацию и данные прослушивающим объектам и/или потенциальным хакерам. В многосегментных беспроводных сетях для каждой линии связи в связанных устройствах требуется установление уникальной ассоциации безопасности путем процесса многосегментной аутентификации и управления ключом. Тогда радиокадры на этой линии могут быть защищены посредством установленных ассоциаций безопасности.
Согласно современным решениям в области безопасности, как правило, между сервером аутентификации и присоединяющимся к сети узлом устанавливается ассоциация безопасности. К сожалению, для завершения аутентификации на сервере аутентификации узлу может потребоваться десять секунд. Доступны способы, согласно которым, например, когда мобильная станция ассоциируется с точкой доступа, станция может использовать материал ключа, который она устанавливает во время первого контакта с сетью, чтобы в будущем ускорить выполнение повторных соединений с другими точками доступа в данной сети. Например, одно решение, предлагаемое для стандарта IEEE 802.11r, включает в себя этап первого контакта с полной аутентификацией на онлайновом сервере аутентификации и базовый механизм, который повторно использует материал ключа, установленный во время первого контакта, чтобы ускорить процесс защищенного рукопожатия. При полной аутентификации устанавливается иерархия ключей для использования при последующем установлении линии связи, благодаря чему поддерживается быстрый переход станции между точками доступа.
Когда узел ячейки присоединяется к ячеистой сети и устанавливает защищенную линию связи с одним из его соседей по ячейке, было бы полезным предоставить быстрый механизм безопасности, обеспечивающий возможность более быстрого установления защищенных линий связи между узлом ячейки и множеством соседних узлов ячейки, которые также являются членами этой ячейки.
Краткое описание чертежей
Прилагаемые чертежи, где одинаковые ссылочные номера обозначают идентичные или функционально схожие элементы во всех отдельных видах и которые объединены с нижеизложенным подробным описанием и формируют часть спецификации, служат для дополнительной иллюстрации различных вариантов осуществления и для разъяснения различных принципов и преимуществ согласно настоящему изобретению. На фигурах:
Фиг.1 - иллюстрация примера беспроводной ad-hoc-сети согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.2 - иллюстрация иерархии ключей ячейки для реализации некоторых вариантов осуществления настоящего изобретения в сети с Фиг.1;
Фиг.3 - иллюстрация различных служб, предоставляемых аутентификатором ячейки запрашивающей точке ячейки внутри сети с Фиг.1 согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.4A - иллюстрация формата сообщения для кадров маяка и ответа проверки в сети с Фиг.1 согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.4B - структурная схема, иллюстрирующая пример структуры поля информационного элемента Области Безопасности Ячейки по формату сообщения с Фиг.4A согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.5 - иллюстрация наборов аутентификации и управления ключами, определенных в части формата сообщения с Фиг.4A согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.6 - схема последовательности обмена сообщениями, иллюстрирующая примеры взаимодействий между элементами сети с Фиг.1 согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7A - иллюстрация дополнительных деталей примеров взаимодействий с Фиг.6 согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.7B - структурная схема, иллюстрирующая пример структуры поля информационного элемента Ассоциации Эффективной Безопасности Ячейки для использования в примерах взаимодействий с Фиг.6 и 7A согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.8 - схема последовательности операций аутентификатора ячейки, действующего внутри сети с Фиг.1, согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.9 - схема последовательности обмена сообщениями, иллюстрирующая примеры взаимодействий между элементами сети с Фиг.1 согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.10 - иллюстрация дополнительных подробностей схемы последовательности обмена сообщениями с Фиг.9 согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.11- схема последовательности операций аутентификатора ячейки, действующего внутри сети с Фиг.1, согласно некоторым вариантам осуществления настоящего изобретения.
Специалистам в данной области техники будет очевидно, что элементы на чертежах проиллюстрированы для простоты и ясности, и необязательно, чтобы они были вычерчены в масштабе. Например, размеры некоторых элементов на фигурах могут быть увеличены относительно других элементов, чтобы облегчить понимание вариантов осуществления настоящего изобретения.
Подробное описание
До изложения подробного описания вариантов осуществления настоящего изобретения следует отметить, что варианты осуществления представляют собой, главным образом, комбинации этапов способа и компонентов устройства, связанные с установлением ассоциации безопасности между узлами беспроводной самоорганизующейся одноранговой (ad-hoc) сети. Соответственно, компоненты устройства и этапы способа представлены, где это уместно, традиционными символами, иллюстрируя только те особые подробности, которые относятся к описанию вариантов осуществления настоящего изобретения, так чтобы не загружать раскрытие подробностями, которые будут очевидны специалистам в данной области техники.
В данном документе относительные термины, такие как первый и второй, верхний и нижний и т.п., могут использоваться исключительно для того, чтобы отличать один объект или действие от другого объекта или действия, и необязательно, чтобы требовалось или подразумевалось действительное такое относительное расположение или порядок между такими объектами или действиями. Термины "содержит", "содержащий" или какие-либо их вариации предназначены для охвата неисключительного включения, так что процесс, способ, изделие или устройство, которое содержит перечень элементов, включает в себя не только эти элементы, но он может также включать в себя другие элементы, которые не перечислены в явной форме или которые присущи такому процессу, способу, изделию или устройству. Элемент, перед которым стоит термин "содержит...", при отсутствии дополнительных ограничений не исключает существования дополнительных идентичных элементов в процессе, способе, изделии или устройстве, которое содержит данный элемент.
Очевидно, что описанные здесь варианты осуществления могут состоять из одного или более обычных процессоров и уникальных сохраненных программных инструкций, которые управляют одним или более процессорами, чтобы в сочетании с определенными, непроцессорными схемами, осуществлять некоторые, большинство или все функции описанного здесь установления ассоциации безопасности между узлами беспроводной ad-hoc-сети. Непроцессорные схемы могут включать в себя, но не ограничиваются перечисленным, радиоприемник, радиопередатчик, формирователь сигналов, схемы генерации опорных импульсов, схемы электропитания и устройства пользовательского ввода. По существу, подобные функции могут интерпретироваться как этапы способа для установления ассоциаций безопасности между узлами беспроводной ad-hoc-сети. Альтернативно, некоторые или все функции могут быть реализованы посредством конечного автомата, который не содержит сохраненных программных инструкций, или в одной или более специализированных интегральных схем, в которых каждая функция или некоторые комбинации определенных функций реализуются как специализированные логические схемы. Само собой разумеется, что может использоваться сочетание этих двух подходов. Так, здесь описаны способы и средства для этих функций. Кроме того, предполагается, что несмотря на возможные значительные усилия и множество выборов конструкций, обусловленных, например, доступным временем, текущим уровнем технологии и экономическими соображениями, руководствуясь раскрытыми здесь концепциями и принципами, специалисты в данной области техники с легкостью смогут генерировать программные инструкции и программы и интегральные схемы с минимальным объемом экспериментирования.
Эффективное решение безопасности для ячеистой сети зависит от двух способностей - способности запрашивающей точки ячейки создавать ассоциацию безопасности с ячеистой сетью и способности этой точки повторно использовать материал ключа, сгенерированный во время первого контакта, чтобы эффективно устанавливать дополнительные линии связи с ячейкой. Вторая особенность позволяет избежать проблемы сложной реализации, то есть проблемы установления маршрута, которая может иметь место, если каждая ассоциация между членами ячеистой сети требует такого же количества времени, что и при первом контакте, а это может составлять больше нескольких секунд.
Поскольку количество узлов, которые могут лежать в окружении запрашивающей точки ячейки, может быть большим и поскольку ассоциация безопасности требуется до того, как узел сможет передать маршрутное сообщение своему соседу, необходимо, чтобы в каждом аутентификаторе присутствовал механизм, обеспечивающий возможность связи с распределителем ключей ячейки, чтобы получать производные ключи на основании материала ключа, созданного запрашивающей точкой ячейки при первом контакте, и обеспечивающий возможность аутентификатору ячейки предоставлять запрашивающей точке ячейки информацию, которая необходима ей для идентификации этого материала ключа, и запрашивать использование этой информации для завершения эффективного обмена ассоциации безопасности.
Настоящее изобретение включает в себя механизм аутентификатора ячейки, поддерживающий эффективное установление ассоциаций безопасности. Этот механизм может функционировать либо в роли запрашивающей точки ячейки, либо в роли аутентификатора ячейки в зависимости от способностей и предпочтений его соседей, и при работе в режиме аутентификатора ячейки данный механизм может передавать сообщения аутентификации и запрашивать передачу ключа из распределителя ключей ячейки. Согласно настоящему изобретению аутентификатор ячейки рассылает информацию, позволяющую запрашивающим точкам ячейки присоединяться к ячейке и устанавливать ассоциации безопасности с аутентификатором ячейки и с распределителем ключей ячейки. Он также сохраняет ключи из иерархии доставки ключей, что позволяет ему запрашивать и разворачивать ключи, использованные для установления ассоциаций безопасности с соседями запрашивающей точки ячейки. В заключение, аутентификатор поддерживает передачу сообщений аутентификации по Расширяемому Протоколу Аутентификации (Extensible Authentication Protocol, EAP) от запрашивающих точек ячейки в распределитель ключей, а также доставку материала ключа от распределителя ключей ячейки.
Аутентификатор ячейки согласно настоящему изобретению сохраняет два набора производных ключей - один для передачи ключа между ним и распределителем ключей и второй набор для связи с одноранговыми узлами. Эти наборы производных ключей создаются из одного главного ключа, созданного, когда аутентификатор ячейки выполнил аутентификацию-EAP на сервере Аутентификации, Авторизации и Учета (Authentication, Authorization and Accounting, AAA). Благодаря этому предлагается эффективный способ для предоставления аутентификатора ячейки без необходимости отдельной, явной аутентификации для роли аутентификатора ячейки. Аутентификатор рассылает информацию, использованную запрашивающими точками ячейки для выбора аутентификатора точки ячейки в области безопасности ячейки, что позволяет использовать иерархию ключей, которую он создал во время первого контакта. Он также осуществляет связь с распределителем ключей, используя протоколы второго уровня и предопределенные кадры данных. Способность аутентификатора ячейки использовать протоколы второго уровня для связи с распределителем ключей ячейки позволяет протоколам безопасности реализовывать эффективные ассоциации безопасности ячейки.
В настоящем изобретении службы Ассоциаций Эффективной Безопасности Ячейки (Efficient Mesh Security Association, EMSA) используются для обеспечения возможности установления безопасности линии связи между двумя точками ячейки в беспроводной ячеистой сети. Службы EMSA предоставляются путем использования иерархии ключей ячейки, иерархии производных ключей, которая устанавливается путем использования Общего Ключа (Pre-Shared Key, PSK) или когда точка ячейки выполняет аутентификацию (например, аутентификацию IEEE 802.1X) на AAA-сервере.
Работа EMSA основывается на держателях ключей ячейки, которые, как правило, реализовываются в точках ячейки внутри беспроводной ячеистой сети. Определено два типа держателей ключей ячейки: Аутентификаторы Ячейки (Mesh Authenticator, MA) и Распределители Ключей Ячейки (Mesh Key Distributors, MKD). В некоторых вариантах осуществления настоящего изобретения распределитель ключей ячейки (MKD) для множества аутентификаторов ячейки в области безопасности ячейки может быть реализован в центральном контроллере, который находится в проводной сети и который доступен для множества аутентификаторов ячейки через множество точек ячейки, предоставляющих службы портала ячейки.
EMSA предоставляет информацию, которая должна обмениваться во время начальной ассоциации точки ячейки с аутентификатором ячейки. На это ссылаются как на "Начальную аутентификацию EMSA". Последующие ассоциации с другими аутентификаторами ячейки внутри одной и той же области безопасности ячейки (и одной и той же ячейке беспроводной локальной сети, идентифицируемой Идентификатором Ячейки (ID)) могут использовать Механизм Сокращенного Рукопожатия EMSA (Abbreviated EMSA Handshake).
EMSA также предоставляет механизмы для защищенной связи между держателями ключей ячейки.
Фиг.1 представляет собой иллюстрацию примера ad-hoc-сети 100 согласно некоторым вариантам осуществления настоящего изобретения. Беспроводная ad-hoc-сеть 100, например, может представлять собой сеть с архитектурой, позволяющей реализовывать ячейки, или сеть стандарта 802.11 (то есть 802.11a, 802.11b, 802.11g или 802.11s). Специалистам в данной области техники будет очевидно, что сеть 100 связи согласно настоящему изобретению может, альтернативно, содержать сеть пакетной передачи данных, где пакеты передаются по множеству беспроводных сегментов. Например, беспроводная ad-hoc-сеть 100 может представлять собой сеть, в которой используются протоколы пакетной передачи данных, такие как Множественный Доступ с Ортогональным Разделением Частот (Orthogonal Frequency Division Multiple Access, OFDMA), Множественный Доступ с Временным Разделением (Time Division Multiple Access, TDMA), Общая Служба Пакетной Радиопередачи (General Packet Radio Service, GPRS) и Усовершенствованная GPRS (Enhanced GPRS, EGPRS). В добавление, каждый беспроводной сегмент сети 100 пакетной передачи может либо использовать тот же протокол пакетной передачи данных, что и на других сегментах, либо использовать уникальный протокол пакетной передачи данных на каждом сегменте.
Как проиллюстрировано на Фиг.1, беспроводная ad-hoc-сеть 100 включает в себя сервер 105 аутентификации. Сервер 105 аутентификации, который подробно описан ниже, функционирует, чтобы предоставлять службы аутентификации различным узлам внутри беспроводной ad-hoc-сети 100. В целом, сервер 105 аутентификации выполняет функцию аутентификации, необходимую для проверки мандата запрашивающего узла от лица аутентификатора, и указывает, авторизован ли запрашивающий узел для доступа к службам сети. В одном варианте осуществления настоящего изобретения сервер 105 аутентификации расположен в секции проводной сети, где может быть обеспечена физическая безопасность хоста. Например, сервер 105 аутентификации может представлять собой сервер Службы Дистанционной Аутентификации Пользователей по Коммутируемым Линиям (Remote Authentications Dial-In User Service, RADIUS) с возможностью Расширяемого Протокола Аутентификации - Туннелированного Протокола Безопасности Транспортного Уровня/Расширяемого Протокола Аутентификации - Протокола Транспортного Уровня (EAP-TTLS/EAP-TLS)
для централизованной аутентификации.
К серверу 105 аутентификации подключен с возможностью осуществления связи распределитель 110 ключей ячейки. Распределитель 110 ключей ячейки выводит и распределяет ключи одному или более аутентификаторам 115-n ячейки. Распределитель 110 ключей ячейки, сверх того, реализует AAA-клиент и обменивается сообщениями безопасности с сервером 105 авторизации.
К распределителю 110 ключей ячейки подключен с возможностью осуществления связи, по меньшей мере, один аутентификатор 115-n ячейки. Несмотря на то что в беспроводной ad-hoc-сети 100 с Фиг.1 проиллюстрированы только два аутентификатора 115-1, 115-2 ячейки, согласно настоящему изобретению может использоваться любое количество аутентификаторов ячейки. Аутентификатор 115-n ячейки: (a) объявляет службы, позволяющие запрашивающим точкам (то есть запрашивающей точке 120 ячейки) присоединяться к сети; (b) предоставляет службы передачи сообщения EAP-аутентификации; (c) запрашивает или получает производные ключи от распределителя 110 ключей ячейки, предоставляя возможность запрашивающей точке 120 ячейки присоединиться к ad-hoc-сети 100 или установить новые ассоциации безопасности, и (d) производит Парный Временный Ключ (Pairwise Transient Key, PTK), чтобы защитить линию связи с запрашивающей точкой 120. Аутентификатор 115-n ячейки получает материал ключа, использованный, чтобы установить ассоциацию безопасности, из распределителя 110 ключей ячейки.
Как подробно описано ниже, при реализации в сети, такой как беспроводная ad-hoc-сеть 100 с Фиг.1, настоящее изобретение предоставляет два типа аутентификации: начальный этап первого контакта, на который ссылаются как на Начальную EMSA-Аутентификацию (аутентификацию на основе AAA); и "облегченный" этап, на который ссылаются как на Сокращенное Рукопожатие EMSA, при котором повторно используется материал ключа, сгенерированный во время первого контакта.
В некоторых вариантах осуществления настоящего изобретения держатели ключей ячейки, то есть аутентификаторы ячейки и распределители ключей ячейки, управляют иерархией ключей ячейки путем выполнения выработки ключей и защищенного распределения ключей. Область безопасности ячейки определяется присутствием одного распределителя 110 ключей ячейки, который в некоторых вариантах осуществления настоящего изобретения реализуется как точка ячейки в ячейке. Как упоминалось выше, в области безопасности ячейки могут существовать несколько аутентификаторов 115-n ячейки, каждый из которых реализован в точке ячейки, причем каждый аутентификатор 115-n ячейки поддерживает как маршрут, так и ассоциацию безопасности с распределителем 110 ключей ячейки.
Распределитель 110 ключей ячейки выводит ключи, чтобы создать иерархию ключей, и распределяет производные ключи аутентификаторам 115-n ячейки. В некоторых вариантах осуществления настоящего изобретения устройство, реализующее объект распределителя ключей ячейки, также реализует объект аутентификатора ячейки. Аутентификатор 115-n ячейки участвует в обменах EMSA, инициируемых запрашивающей точкой 120 ячейки (включая Начальную Аутентификацию EMSA и Сокращенное Рукопожатие EMSA). Аутентификатор 115-n ячейки принимает производные ключи от распределителя 110 ключей ячейки и выводит дополнительные ключи для использования при защите линии связи с запрашивающей точкой 120 ячейки.
Фиг.2 представляет собой иллюстрацию иерархии 200 ключей ячейки для реализации некоторых вариантов осуществления настоящего изобретения. Данная иерархия ключей ячейки позволяет точке ячейки создавать ассоциации безопасности с одноранговыми точками ячейки без необходимости каждый раз выполнять аутентификацию IEEE 802.1X. Иерархия ключей ячейки может использоваться либо вместе с аутентификацией IEEE 802.1X, либо вместе с Парным Ключом Сессии (Pairwise Session Key, PSK). Для целей настоящего примера предполагается, что PSK специфичен для одной точки ячейки и одного распределителя ключей ячейки.
Иерархия ключей согласно настоящему изобретению состоит из двух ветвей для использования в ячейке. Ветвь 240 безопасности линии состоит из трех уровней, поддерживающих распределение ключей между держателями ключей ячейки, чтобы обеспечивать возможность выполнения Сокращенного Рукопожатия EMSA между запрашивающей точкой ячейки и аутентификатором ячейки. Ветвь 245 распределения ключа предоставляет ключи, чтобы защитить передачу и управление ключами между держателями ключей ячейки.
Как проиллюстрировано на Фиг.2, Главный Ключ Сессии (Master Session Key, MSK) 205 создается для каждой запрашивающей точки, когда она присоединяется к ячейке. Главный Ключ 205 Сессии представляет собой материал ключа, который генерируется во время аутентификации точки ячейки по протоколу EAP и доставляется в распределитель 110 ключей ячейки (например, с помощью службы RADIUS). XXKey 210 является частью Главного Ключа 205 Сессии. XXKey 210 представляет собой либо Парный Ключ Сессии (Pairwise Session Key, PSK), либо вторые 256 битов Главного Ключа Сессии (Master Session Key, MSK).
Распределитель 110 ключей ячейки генерирует ключ первого уровня для обеих ветвей либо из PSK, либо из MSK, получающихся в результате успешной аутентификации IEEE 802.1X между сервером 105 аутентификации и запрашивающей точкой 120 ячейки. Например, как проиллюстрировано, первый производный ключ - Парный Главный Ключ Распределителя Ключей Ячейки (PMK-MKD) 215 выводится как функция от MSK или PSK и идентификатора ячейки. Он сохраняется запрашивающей точкой 120 ячейки и держателем ключа PMK-MKD, то есть MKD 110. Этот ключ совместно выводится запрашивающей точкой 120 ячейки и распределителем 110 ключей ячейки. Между запрашивающей точкой 120 ячейки и областью безопасности ячейки выводится только один ключ PMK-MKD 215.
Распределитель 110 ключей ячейки использует функцию вывода ключей (Key Derivation Function, KDF), чтобы генерировать ключи в иерархии ключей. Функция вывода ключей представляет собой функцию, которая принимает в качестве ввода секретный ключ (известный как главный ключ) и несекретную информацию, и выводит новый секретный ключ, известный как производный ключ. Функция вывода ключа является необратимой, так что знание производного ключа и несекретной информации не предоставляет какой-либо информации о главном ключе.
Ключ высшего уровня ветви 240 безопасности линии в иерархии ключей ячейки, то есть PMK-MKD 215, связывает MAC-адрес запрашивающей точки, идентификатор области безопасности ячейки и идентификатор ячейки с материалом ключа, получающимся в результате аутентификации и управления ключом. PMK-MKD 215 выводится следующим образом:
PMK-MKD=KDF-256(XXKey, "Вывод Ключа MKD", MeshIDlength||MeshID||MSD-ID||0x00||SPA),
где
• KDF-256 представляет собой функцию KDF, используемую для генерации ключа длиной 256 битов.
• XXKey представляет собой либо вторые 256 битов MSK, либо PSK.
• "Вывод ключа MKD" представляет собой 0x4D4B44204B65792044657269766174696F6E.
• MeshIDLength представляет собой октет, значение которого равно количеству октетов в идентификаторе ячейки.
• Mesh ID представляет собой идентификатор ячейки - последовательность из октетов переменной длины, присутствующую в Маяках и Ответах Проверки.
• MSD-ID представляет собой поле идентификатора области безопасности ячейки длиной 48 октетов из информационного элемента Области Безопасности Ячейки, который был использован во время Начальной Аутентификации EMSA.
• SPA представляет собой MAC-адрес запрашивающей точки ячейки.
Имя PMK-MKD образуется следующим образом:
PMK-MKDName=Truncate-128(SHA-256("Имя Ключа MKD" || MeshIDlength||MeshID||MSD-ID||0x00||SPA||ANonce)),
где
• "Имя Ключа MKD" представляет собой 0x4D4B44204B6579204E616D65.
• ANonce представляет собой непрогнозируемую случайную величину, генерируемую держателем PMK-MKD (MKD), которая доставляется вместе с PMK-MA аутентификатору ячейки и предоставляется аутентификатором ячейки запрашивающей точке ячейки во время Начальной Аутентификации EMSA.
• Truncate-128(-) возвращает первые 128 битов своего аргумента и надежно устраняет остальную часть.
MKD 110 также генерирует второй производный ключ: Парный Главный Ключ - Аутентификатор Ячейки (PMK-MA) 220-n, чтобы обеспечить возможность быстрой ассоциации безопасности. При необходимости, MKD 110 выводит уникальный PMK-MA 220-n для каждого аутентификатора 115-n ячейки. PMK-MA 220-n распространяется соответствующему аутентификатору 115-n ячейки. Например, как проиллюстрировано на Фиг.2, PMK-MA 220-1 распространяется аутентификатору 115-1 ячейки. PMK-MA 220-n совместно выводится запрашивающей точкой 120 ячейки и распределителем 110 ключей ячейки. Этот ключ доставляется распределителем 110 ключей ячейки в аутентификатор 115-n ячейки, чтобы разрешить завершение рукопожатия ячейки между запрашивающей точкой 120 ячейки и аутентификатором 115-n ячейки.
Ключ второго уровня ветви 240 безопасности линии в иерархии ключей ячейки, то есть PMK-MA 220-n представляет собой 256-битный ключ, используемый для вывода PTK 225. PMK-MA 220-n связывает SPA, MKD и аутентификатор ячейки и выводится следующим образом:
PMK-MA=KDF-256(PMK-MKD, "Вывод Ключа Аутентификатора Ячейки", PMK-MKDName||MA-ID||0x00||SPA),
где
• KDF-256 представляет собой функцию KDF, используемую для генерации ключа длиной 256 битов.
• "Вывод Ключа Аутентификатора Ячейки" представляет собой 0x4D41204B65792044657269766174696F6E.
• MA-ID представляет собой идентификатор держателя PMK-MA (Аутентификатора Ячейки).
• SPA представляет собой MAC-адрес запрашивающей точки ячейки.
Имя PMK-MA образуется следующим образом:
PMK-MAName=Truncate-128(SHA-256("Имя Ключа Аутентификатора Ячейки"||PMK-MKDName||MA-ID||0x00||SPA)),
где "Имя Ключа Аутентификатора Ячейки" представляет собой 0x4D41204B6579204E616D65.
Временный ключ, то есть Парный Временный Ключ (Pairwise Transient Key, PTK) 225 совместно выводится из PMK-MA 220-n аутентификатором 115-n ячейки и запрашивающей точкой 120 ячейки. PTK 225 представляет собой третий уровень ветви безопасности линии связи, который определяет ключи защиты IEEE 802.11 и IEEE 802.1X. PTK 225 совместно выводится запрашивающей точкой 120 ячейки и держателем ключа PMK-MA, то есть аутентификатором 115-n ячейки.
Ключ третьего уровня ветви 240 безопасности линии в иерархии ключей ячейки представляет собой PTK 225. Этот ключ совместно выводится запрашивающей точкой ячейки и аутентификатором ячейки, причем длина ключа является функцией от согласованных шифровальных пакетов.
Вывод PTK имеет следующий вид:
PTK=KDF-PTKLen(PMK-MA, "Вывод Ключа PTK Ячейки", SNonce||ANonce||SPA||MAA||PMK-MAName),
где
• KDF-PTKLen представляет собой KDF, используемый для генерации PTK с длиной PTKLen.
• PMK-MA представляет собой ключ, который является общим для запрашивающей точки ячейки и аутентификатора ячейки.
• "Вывод Ключа PTK Ячейки" представляет собой 0x4D6573682050544B204B65792064657269766174696F6E.
• SNonce представляет собой 256-битную случайную битовую строку, формируемую запрашивающей точкой ячейки.
• ANonce представляет собой 256-битную случайную битную строку, формируемую распределителем ключей ячейки или аутентификатором ячейки.
• SPA представляет собой MAC-адрес запрашивающей точки ячейки.
• MAA представляет собой MAC-адрес аутентификатора ячейки.
• PMK-MAName выводится, как описано выше.
• PTKlen представляет собой общее количество выводимых битов, например количество битов ключа PTK. Длина в этом случае зависит от согласованных шифровальных наборов.
Каждый PTK содержит три ассоциированных ключа: Ключ Подтверждения Ключа (Key Confirmation Key, KCK), Ключ Шифрования Ключа (Key Encryption Key, KEK) и Временный Ключ (Temporal Key, TK).
Имя PTK образуется следующим образом:
PTKName=Truncate-128(SHA-256(PMK-MAName||"Имя PTK Ячейки"||SNonce||ANonce||MAA||SPA)),
где "Имя PTK Ячейки" представляет собой 0x4D6573682050544B204E616D65.
Вторая ветвь, то есть ветвь 245 распределения ключей, состоит из двух уровней, и в данном случае результатом является PTK-KD 235 для использования при предоставлении возможности превращения точки ячейки в аутентификатор ячейки и при защите связей между аутентификатором ячейки и распределителем ключей ячейки. Ключ Распределения Ключа (Key Distribution Key, KDK) 230 представляет собой первый уровень ветви 245 распределения ключей. Этот ключ выводится как функция от MSK или PSK и идентификатора ячейки и сохраняется запрашивающей точкой 120 ячейки и распределителем 110 ключей ячейки. Этот ключ совместно выводится запрашивающей точкой 120 ячейки и распределителем 110 ключей ячейки. Между запрашивающей точкой 120 ячейки и областью безопасности ячейки выводится только один ключ KDK 230.
Ключ первого уровня ветви 245 распределения ключей, то есть KDK 230 связывает MA-ID (MAC-адрес точки ячейки, устанавливающей KDK, чтобы стать аутентификатором ячейки), идентификатор области безопасности ячейки и идентификатор ячейки с материалом ключа, получающимся в результате AKM. KDK используется для вывода PTK-KD.
KDK выводится следующим образом:
KDK=KDF-256(XXKey, "Ключ Распределения Ключей Ячейки", MeshIDLength||MeshID||MSD-ID||0x00||MA-ID),
где
• KDF-256 представляет собой функцию KDF, используемую для генерации ключа длиной 256 битов.
• XXKey представляет собой либо вторые 256 битов MSK, либо PSK.
• "Ключ Распределения Ключей Ячейки" представляет собой 0x4D657368204B657920446973747269627574696F6E204B6579.
• MeshIDLength представляет собой октет, значение которого равно количеству октетов в идентификаторе ячейки.
• Mesh ID представляет собой идентификатор ячейки - последовательность из октетов переменной длины, присутствующую в Маяках и Ответах Проверки.
• MSD-ID представляет собой поле идентификатора области безопасности ячейки длиной 48 октетов из информационного элемента Области Безопасности Ячейки, который был использован во время Начальной Аутентификации EMSA.
• MA-ID представляет собой MAC-адрес точки ячейки, выводящей KDK для использования при защите связи с распределителем ключей ячейки (MKD).
Имя KDK образуется следующим образом:
KDKName=Truncate-128(SHA-256("Имя KDK"||MeshIDLength||MeshID|]MSD-ID||0x00||MA-ID)),
где
• "Имя KDK" представляет собой 0x4B444B204E616D65.
• Truncate-128(-) возвращает первые 128 битов своего аргумента и надежно устраняет остальную часть.
Парный временный ключ - распределение ключей (PTK-KD) 235 представляет собой второй уровень ветви распределения ключей, который определяет ключи защиты для связи между аутентификатором 115-n ячейки и распределителем 110 ключей ячейки. PTK-KD 235 совместно выводится запрашивающей точкой ячейки (когда она становится аутентификатором 115-n ячейки) и распределителем 110 ключей ячейки.
Ключ второго уровня ветви 245 распределения ключей, то есть PTK-KD 235, представляет собой 256-битный ключ, который совместно выводится аутентификатором ячейки и распределителем ключей ячейки. PTK-KD 215 выводится следующим образом:
PTK-KD=KDF-256(KDK, "Ключ PTK-KD Ячейки", MA-Nonce||MKD-Nonce||MA-ID||MKD-ID),
где
• KDK представляет собой ключ, определенный, как описано выше.
• "Ключ PTK-KD Ячейки" представляет собой 0x4D6573682050544B2D4B44204B6579.
• MA-Nonce представляет собой 256-битную случайную строку, формируемую аутентификатором ячейки.
• MKD-Nonce представляет собой 256-битную случайную строку, формируемую распределителем ключей ячейки.
• MA-ID представляет собой MAC-адрес аутентификатора ячейки.
• MKD-ID представляет собой MAC-адрес распределителя ключей ячейки.
PTK-KD имеет два связанных ключа: Ключ подтверждения ключа- распределение ключа (KCK-KD) и Ключ шифрования ключа- распределение ключа (KEK-KD), которые вырабатываются следующим образом:
KCK-KD вычисляется как первые 128 битов (биты с 0 по 127) PTK-KD:
KCK-KD=L(PTK-KD, 0, 128),
где L(-) определен в 8.5.1.
KCK-KD используется для предоставления аутентичности источника данных в сообщениях, обмениваемых между аутентификатором ячейки и распределителем ключей ячейки.
KEK-KD вычисляется как биты 128-255 PTK-KD:
KCK-KD=L(PTK-KD, 128, 128)
KEK-KD используется для обеспечения конфиденциальности данных в сообщениях, обмениваемых между аутентификатором ячейки и распределителем ключей ячейки.
PTK-KD образуется следующим образом:
PTK-KDName=Truncate-128(SHA-256(KDKName||"Имя PTK-KD"||MA-Nonce||MKD-Nonce||MA-ID||MKD-ID)),
где "Имя PTK-KD" представляет собой 0x50544B2D4B44204E616D65.
Срок службы всех ключей, производных из PSK или MSK, привязан к сроку службы PSK или MSK. Например, сервер 105 аутентификации 802.1X может передавать срок службы ключа MSK вместе с MSK 205. Если предоставляется подобный атрибут, то сроки службы PMK-MKD 215 и KDK 230 не будут дольше, чем срок службы MSK 205. Срок службы PTK 225 и PMK-MA 220-n такой же, как у PMK-MKD 215, а срок службы PTK-KD 235 такой же, как у KDK 230. Когда срок службы ключа истекает, каждый держатель ключа удаляет соответствующие производные ключи.
Конструкция иерархии ключей гарантирует, что компрометация материала ключа в ветви безопасности линии изолируется только в этой части или подветви иерархии. Например, аутентификатор ячейки имеет сведения только для расшифровки сессий, которые защищены посредством PTK, производным из его PMK-MA.
В некоторых системах управления ключами ключ PMK-MKD может быть удален посредством MKD после вывода ключей PMK-MA. Подобный порядок работы подходит для высокого уровня защиты иерархии ключей в случаях, когда в PMK-MKD больше нет необходимости. В таких случаях системе управления ключами требуется только сохранять информацию о ключах PMK-MA. Подобное удаление ключа PMK-MKD не указывает на недействительность иерархии ключей.
Фиг.3 представляет собой иллюстрацию различных служб, предоставляемых каждым аутентификатором 115-n ячейки каждой запрашивающей точке 120 ячейки. Как проиллюстрировано, аутентификаторы 115-n ячейки предоставляют следующие службы запрашивающим точкам 120 ячейки: Обнаружение (300), Первый Контакт (305), Быстрая Ассоциация Безопасности (310) и Держатель Ключа (315).
Для обнаружения 300 аутентификатор ячейки объявляет свои способности и конфигурацию одноранговым узлам, используя кадры маяка широковещательной передачи и кадры ответа проверки одноадресной передачи. Путем использования маяка и ответов проверки аутентификация ячейки позволяет запрашивающим точкам ячейки обнаруживать, что аутентификатор ячейки поддерживает службы EMSA. Путем предоставления идентификатора ячейки и идентификаторов области безопасности ячейки аутентификатор ячейки позволяет запрашивающей точке определять, будет ли доступна созданная ею иерархия ключей в аутентификаторе ячейки.
Фиг.4A представляет собой формат 400 сообщения для кадров маяка и ответа проверки. Как проиллюстрировано, в маяках и ответах 400 проверки точки маяка, поддерживающей быстрое установление линии связи, присутствует Информационный Элемент Сети с Надежной Защитой (Robust Security Network Information Element, RSN IE) 405, объявляющий поддержку набора аутентификации и управления ключами типа 5 и/или 6, и Информационный Элемент Области Безопасности Ячейки (Mesh Security Domain Information Element, MSDIE) 410. RSN IE 405 объявляет способность использовать иерархию ключей быстрого установления линии в списке наборов аутентификации и управления ключами. MSDIE 410 вместе с идентификатором 415 ячейки предоставляет информацию в запрашивающую точку, чтобы обеспечить доступность ее иерархии ключей в аутентификаторе ячейки, объявляющем маяк 400. Информационный элемент 410 Области Безопасности Ячейки содержит Идентификатор Области Безопасности Ячейки. Аутентификатор ячейки использует информационный элемент 410 Области Безопасности Ячейки, чтобы объявлять его статус как аутентификатор ячейки и чтобы объявлять, что он включен в состав группы аутентификаторов ячейки, которая образует область безопасности ячейки.
Фиг.4B представляет собой структурную схему, иллюстрирующую пример структуры полей Информационного Элемента Области Безопасности Ячейки (Mesh Security Domain Information Element, MSDIE) 410, который используется аутентификатором ячейки для объявления его статуса аутентификатора ячейки и для объявления того, что он входит в состав группы аутентификаторов ячейки, которая образует область безопасности ячейки. Блок 420 представляет собой поле Идентификатора (Identification, ID) Информационного Элемента (Information Element, IE), которое идентифицирует конкретный Информационный Элемент Ассоциации Эффективной Безопасности Ячейки (Efficient Mesh Security Association Information Element, EMSAIE), как более подробно описано ниже. Блок 425 представляет собой поле длины, которое определяет длину EMSAIE. Блок 430 содержит значение идентификатора области безопасности ячейки.
Фиг.5 представляет собой иллюстрацию наборов 500 Аутентификации и Управления Ключами (Authentication & Key Management, AKM), определенных в RSN IE 405. Как описано выше, RSN IE 405 объявляется в маяках и ответах 400 проверки и появляется в обменах сообщениями, чтобы облегчить первый контакт и быстрые ассоциации безопасности.
Фиг.6 представляет собой схему 600 обмена сообщениями, иллюстрирующую первый контакт для служб быстрой аутентификации согласно некоторым вариантам осуществления настоящего изобретения. Во время этой первой аутентификации в ячейке, точка ячейки позволяет использовать иерархию ключей ячейки, чтобы поддерживать Сокращенное Рукопожатие EMSA при осуществлении защиты будущих линий связи. Это называют Механизмом Начальной Аутентификации EMSA, при реализации которого выполняется обмен сообщениями между точкой ячейки и аутентификатором ячейки, с которым она ассоциируется.
В этой последовательности точка ячейки формирует запрос ассоциации, содержащий индикацию (MSDIE), что она хочет установить иерархию ключей ячейки. Точка ячейки принимает сообщение ответа ассоциации, содержащее информацию, которая необходима точке ячейки для выполнения выработок ключей и установления безопасности линии связи. При необходимости, далее, выполняется аутентификация 802.1X, за которой следует четырехэтапное рукопожатие EMSA.
Как проиллюстрировано, согласно, например, способу управления стандарта 802.11 ассоциация 605 между запрашивающей точкой 120 и аутентификатором 115 ячейки происходит, когда аутентификатор 115 ячейки объявляет свои службы, позволяющие запрашивающей точке 120 присоединиться. Далее, аутентификатор 115 ячейки позволяет запрашивающей точке 120 выполнить аутентификацию EAP. Аутентификация 610 EAP выполняется между запрашивающей точкой 120 и аутентификатором 115 ячейки, например, посредством EAPOL. Аутентификация 615 EAP также выполняется между аутентификатором 115 ячейки и распределителем 110 ключей ячейки, например, посредством EAP. Аутентификация 620 EAP также выполняется между распределителем 110 ключей ячейки и сервером 105 аутентификации, например, путем использования EAP через RADIUS. Далее, происходит доставка 625 ключа, при которой аутентификатор 115 ячейки получает производный ключ от распределителя 110 ключей ячейки, чтобы предоставить возможность выполнения рукопожатия с запрашивающей точкой 120, как описано выше. Далее, аутентификатор 115 ячейки выводит PTK, чтобы защитить линию связи с запрашивающей точкой 120, используя четырехэтапное рукопожатие 630, например, посредством EAPOL. Далее, выполняется установка 635 маршрутизации между запрашивающей точкой 120 и аутентификатором 115 ячейки. В заключение, выполняется рукопожатие 640 настройки держателя ключа между запрашивающей точкой 120 и распределителем 110 ключа ячейки.
Фиг.7A представляет собой иллюстрацию дополнительных деталей обмена сообщениями между запрашивающей точкой 120 и аутентификатором 115 ячейки при первом контакте, как описано выше со ссылкой на Фиг.6. Как проиллюстрировано посредством сигналов 705 и 710 сообщений с Фиг.7A, сначала происходит открытая аутентификация. Например, открытая аутентификация может выполняться согласно стандартам 802.11. Открытая аутентификация позволяет любому устройству аутентифицироваться и выполнить попытку осуществления связи с аутентификатором ячейки. Используя открытую аутентификацию, любое беспроводное устройство может аутентифицироваться на аутентификаторе ячейки, но это устройство может осуществлять связь с аутентификатором ячейки только посредством определенных типов сообщений, таких как запрос ассоциации. Открытая аутентификация не зависит от сервера 105 аутентификации сети 100. Как показано, используя открытую аутентификацию, запрашивающая точка 120 передает запрос 705 аутентификации в аутентификатор 115 ячейки, и в ответ аутентификатор 115 ячейки передает ответ аутентификации запрашивающей точке 120.
Далее, как показано на Фиг.7A, запрашивающая точка 120 передает запрос 715 ассоциации в аутентификатор 115 ячейки. Запрос 715 ассоциации включает в себя MSDIE 410 точно в той форме, в которой он объявлялся аутентификатором 115 ячейки; и RSN IE 405, который содержит способности запрашивающей точки в части защиты вместе с пустым списком PMKID. Аутентификатор 115 ячейки отвечает, передавая ответ 720 ассоциации. Ответ 720 ассоциации включает в себя MSDIE 410 точно в той форме, в которой он объявлялся аутентификатором 115 ячейки. Ответ 720 ассоциации, сверх того, включает в себя Информационный Элемент Ассоциации Эффективной Безопасности Ячейки (Efficient Mesh Security Association Information Element, EMSAIE), содержащий: MKD-ID, идентифицирующий MKD 110, с которым аутентификатор 115 ячейки имеет ранее созданную ассоциацию безопасности, MA-ID, идентифицирующий аутентификатор 115 ячейки, который передает сообщение, а все остальные поля имеют нулевое значение. Ответ 720 ассоциации также включает в себя RSN IE 405, который описывает способности защиты аутентификатора 115 ячейки вместе с пустым списком PMKID.
Фиг.7B представляет собой структурную схему, иллюстрирующую пример структуры полей EMSAIE, который используется в последовательности аутентификации во время Сокращенного Рукопожатия EMSA согласно некоторым вариантам осуществления настоящего изобретения. Блок 755 представляет собой поле Идентификатора (Identification, ID) Информационного Элемента (Information Element, IE), которое идентифицирует конкретный EMSAIE. Блок 760 представляет собой поле длины, которое определяет длину EMSAIE. Блок 762 представляет собой управляющее поле Кода Целостности Сообщения (Message Integrity Code, MIC), которое содержит зарезервированное поле 776, поле 774 алгоритма MIC и поле 778 Счета Информационного Элемента, которое включает в себя количество информационных элементов, используемых в вычислении MIC. Блок 764 представляет собой поле MIC, которое включает в себя значение MIC, вычисленное с использованием алгоритма, выбранного согласно полю алгоритма MIC из управляющего поля MIC. Блок 766 представляет собой поле ANonce, которое содержит специальное значение, выбранное аутентификатором ячейки. Блок 768 представляет собой поле SNonce, которое включает в себя специальное значение, выбранное запрашивающей точкой. Блок 770 представляет собой поле MA-ID, которое включает в себя MAC-адрес аутентификатора ячейки.
Блок 772 представляет собой поле опциональных параметров, которое может содержать один или более информационных параметров. Каждый информационный параметр содержит блок 780, то есть идентификатор подэлемента, который идентифицирует тип информации, блок 782 длины, идентифицирующий длину информации, и блок 784 данных, содержащий эту информацию.
Ссылаясь на Фиг.7A, после успешной ассоциации запрашивающая точка ячейки и аутентификатор ячейки переходят к аутентификации IEEE 802.1X, если это необходимо. Обмен IEEE 802.1X осуществляется между запрашивающей точкой ячейки и аутентификатором ячейки, используя сообщения EAPOL, которые передаются в кадрах данных IEEE 802.11. Аутентификатор ячейки инициирует обмен IEEE 802.1X с запрашивающей точкой и передает обмен 802.1X распределителю ключей ячейки, используя транспортный протокол сообщений EAP.
Если не используется общий ключ, то аутентификация 725 EAP происходит между запрашивающей точкой 120 и онлайн AAA-сервером 105, а аутентификатор 115 ячейки способствует передаче сообщений EAP. Если после аутентификации 725 EAP запрашивающая точка 120 принимается, то аутентификатор 115 ячейки получает PMK-MA 220 для запрашивающей точки 120. Если запрашивающая точка 120 отклоняется, то аутентификатор 115 ячейки следует процедуре и, например, отсоединяет запрашивающую точку 120.
После успешного завершения аутентификации IEEE 802.1X, распределитель ключей ячейки получает MSK и атрибуты авторизации, связанные с ним и с запрашивающей точкой ячейки. Если для этой запрашивающей точки уже существует иерархия ключей, то распределитель ключей ячейки должен удалить старые ассоциации безопасности PMK-MKD и PMK-MA. Далее, он вычисляет PMK-MKD и PMK-MKDName.
Ассоциация безопасности PMK-MKD включает в себя:
• MSD-ID,
• PMK-MKD,
• PMK-MKDName,
• SPA и
• информацию авторизации, включающую в себя срок службы PMK-MKD.
Далее, распределитель ключей ячейки генерирует PMK-MA для аутентификатора ячейки. Ассоциация безопасности PMK-MA включает в себя:
• PMK-MA,
• Срок службы PMK-MA,
• PMK-MAName,
• MA-ID,
• PMK-MKDName и
• SPA.
Далее, распределитель ключей ячейки доставляет PMK-MA аутентификатору ячейки. После доставки PMK-MA аутентификатор ячейки и запрашивающая точка ячейки выполняют четырехэтапное рукопожатие EMSA (730, 735, 740, 745). Четырехэтапное рукопожатие инициируется аутентификатором 115 ячейки и выполняется, например, согласно стандартам 802.11. Рукопожатие осуществляется, используя сообщения EAPOL. Например, сообщения рукопожатия могут быть реализованы согласно стандартам 802.11.
Первое сообщение 730 четырехэтапного рукопожатия содержит сообщение EAPOL-Key, включающее в себя ANonce, причем ANonce является величиной, принятой аутентификатором 115 ячейки от распределителя 110 ключей ячейки во время доставки PMK-MA 220 (это величина, используемая распределителем 110 ключей ячейки для выполнения вывода ключа для запрашивающей точки 120).
После получения первого сообщения 730 четырехэтапного рукопожатия запрашивающая точка 120 создает случайное специальное значение (SNonce) и вычисляет PTK 225.
Второе сообщение 735 четырехэтапного рукопожатия содержит сообщение EAPOL-Key, включающее в себя: SNonce, MIC, RSNIE, MSDIE, EMSAIE и GTK KDE.
Где:
• SNonce представляет собой случайную специальную величину, выбранную запрашивающей точкой 120.
• MIC представляет собой код целостности сообщения, вычисленный по телу сообщения EAPOL-Key (когда поле MIC=0).
• RSNIE: поле PMKID содержит PMK-MAName. Все другие поля совпадают с соответствующими полями RSNIE в сообщении Запроса Ассоциации.
• MSDIE: точно так, как в Ответе Ассоциации.
• EMSAIE: точно так, как в Ответе Ассоциации.
• GTK KDE представляет собой инкапсуляцию данных временного ключа группы, которая содержит Временный Ключ Группы запрашивающей точки 120.
Как известно, MIC представляет собой вычисленную величину, которая может сопутствовать данным, чтобы гарантировать их целостность. При вычислении MIC в качестве вводов используются данные, которые требуется защитить, и секретный ключ. MIC предоставляет получателю аутентичность источника данных и целостность сообщения. Аутентичность источника данных убеждает получателя, что отправитель был кем-то, кто владеет секретным ключом. Когда секретный ключ известен только двум участвующим сторонам, получатель будет уверен в идентичности отправителя. Целостность сообщения убеждает получателя, что защищенные данные не были модифицированы в течение передачи. В настоящей спецификации термин MIC аналогичен понятию "код аутентификации сообщения", которое известно в области криптографии. Специалистам в данной области техники будет очевидно, что согласно некоторым вариантам осуществления настоящего изобретения операции MIC также могут быть выполнены посредством различных других типов информации, которая может обеспечить аутентичность источника данных и целостность сообщения.
После получения второго сообщения 735 четырехэтапного рукопожатия аутентификатор 115 ячейки вычисляет PTK 225 и верифицирует MIC. Аутентификатор 115 ячейки вычисляет PMK-MAName и верифицирует, что он совпадает со значением, переданным во втором сообщении 735 четырехэтапного рукопожатия. Аутентификатор 115 ячейки верифицирует, что другое содержимое соответствует ожидаемому. В заключение, аутентификатор 115 ячейки устанавливает GTK для использования при расшифровке потока обмена многоадресной передачи от запрашивающей точки 120.
Третье сообщение 740 четырехэтапного рукопожатия содержит сообщение EAPOL-Key, включающее в себя: ANonce, MIC, RSNIE, MSDTE, EMSATE, GTK KDE и Срок Службы KDE.
Где:
• ANonce идентично значению в первом сообщении рукопожатия.
• MIC вычисляется по телу сообщения EAPOL-Key (когда поле MIC=0).
• RSNIE: поле PMKID содержит PMK-MAName. Все другие поля совпадают с RSNIE в сообщении Ответа Ассоциации.
• MSDIE: точно так, как в Ответе Ассоциации.
• EMSAIE: точно так, как в Ответе Ассоциации.
• GTK KDE представляет собой инкапсуляцию данных временного ключа группы, которая содержит Временный Ключ Группы (GTK) аутентификатора 115 ячейки.
• Срок службы KDE представляет собой 4-октетное поле, которое содержит количество секунд, остающихся в сроке службы PMK-MA.
После получения третьего сообщения 740 четырехэтапного рукопожатия запрашивающая точка 120 верифицирует MIC и верифицирует, что содержимое соответствует ожидаемому. Тогда запрашивающая точка 120 устанавливает GTK для использования при расшифровке потока обмена многоадресной передачи от аутентификатора ячейки.
Четвертое сообщение 745 четырехэтапного рукопожатия содержит сообщение EAPOL-Key, включающее в себя MIC, причем MIC вычисляется по телу кадра EAPOL-Key (где поле MIC=0).
После получения четвертого сообщения 745 четырехэтапного рукопожатия аутентификатор 115 ячейки верифицирует MIC. При положительном результате аутентификатор 115 ячейки устанавливает PTK 225 для осуществления связи с запрашивающей точкой 120.
После успешного завершения данной процедуры запрашивающая точка 120 и аутентификатор 115 ячейки ассоциируются и PTK 225 используется для защиты потока обмена данными между двумя точками ячейки (то есть запрашивающей точкой 120 и аутентификатором 115 ячейки). Аутентификатор 115 ячейки позволяет запрашивающей точке 120 передавать поток обмена через управляемый порт 802.1X, причем в этом случае требуется, чтобы поток обмена был защищен посредством PTK 225.
Фиг.8 представляет собой схему последовательности операций, иллюстрирующую пример процесса 800, выполняемого аутентификатором ячейки во время первого контакта согласно некоторым вариантам осуществления настоящего изобретения. Как проиллюстрировано, процесс начинается с этапа 805, на котором аутентификатор ячейки принимает запрос ассоциации от запрашивающей точки вместе с MSDIE. Далее, на этапе 810 аутентификатор ячейки верифицирует, что MSDIE объявляет область безопасности аутентификатора ячейки и что выбранная политика RSNIE совпадает с локальной политикой. Далее, на этапе 815 определяется, положительно ли прошла верификация всего содержимого. Если содержимое не было верифицировано, то процесс переходит к этапу 885, на котором линия связи запрашивающей точки отсоединяется и процесс завершается.
Если содержимое должным образом верифицируется на этапе 815, то процесс переходит к этапу 820, на котором аутентификатор ячейки формирует MSDIE, EMSAIE и RSNIE и использует их для передачи ответа ассоциации. Иначе говоря, аутентификатор ячейки ассоциируется с запрашивающей точкой, чтобы выполнить аутентификацию. Аутентификатор ячейки предоставляет контекст ключа запрашивающей точке, чтобы позволить запрашивающей точке выработать ключ (PMK-MA).
Далее, на этапе 825 аутентификатор инициирует аутентификацию EAP с запрашивающей точкой, используя транспортный протокол EAP для связи с распределителем ключей ячейки. Иначе говоря, аутентификатор ячейки передает AAA-клиенту сообщения EAP, принятые от запрашивающей точки, и наоборот, обеспечивая возможность выполнения аутентификации запрашивающей точки. Далее, на этапе 830 аутентификатор ячейки выполняет протокол передачи ключа посредством распределителя ключей ячейки, чтобы получить PMK-MA. Аутентификатор ячейки получает производный ключ от лица запрашивающей точки.
Далее, на этапе 835 аутентификатор ячейки формирует первое сообщение четырехэтапного рукопожатия, включающее в себя элемент ANonce, принятый от распределителя ключей ячейки. Далее, на этапе 840 аутентификатор ячейки ожидает и принимает второе сообщение четырехэтапного рукопожатия. Далее, аутентификатор ячейки вычисляет PTK, используя элемент SNonce во втором сообщении четырехэтапного рукопожатия. На этапе 850 аутентификатор ячейки подтверждает, что MIC действителен. Если он недействителен, то процесс возвращается к этапу 845. Если он действителен, то на этапе 855 аутентификатор ячейки определяет, корректно ли содержимое сообщения. Если содержимое сообщение неправильное, то процесс переходит к этапу 885, на котором линия связи запрашивающей точки отсоединяется и процесс завершается.
Если содержимое сообщения правильное, то процесс переходит к этапу 860, на котором аутентификатор ячейки расшифровывает и устанавливает GTK для приема потока обмена многоадресной передачи от запрашивающей точки. Далее, на этапе 865 аутентификатор ячейки формирует MSDIE, EMSAIE, RSNIE и Инкапсуляцию Данных Ключа (Key Data Encapsulation, KDE), содержащую GTK аутентификатора ячейки. Кроме того, аутентификатор ячейки шифрует их посредством PTK и вставляет в третье сообщение четырехэтапного рукопожатия. Аутентификатор ячейки, сверх того, вычисляет MIC, вставляет его в сообщение и передает это сообщение запрашивающей точке.
Далее, на этапе 870 аутентификатор ячейки ожидает и принимает четвертое сообщение четырехэтапного рукопожатия. Далее, на этапе 875 аутентификатор ячейки определяет, является ли MIC действительным. Если MIC недействителен, то процесс возвращается к этапу 870. Если же MIC действителен, то процесс переходит к этапу 880, на котором аутентификатор ячейки открывает управляемый порт 802.1X и устанавливает PTK для использования с запрашивающей точкой. После этого процесс завершается.
Фиг.9 представляет собой иллюстрацию схемы обмена сообщениями примера сетевого процесса 900 во время быстрых ассоциаций безопасности согласно некоторым вариантам осуществления настоящего изобретения. Механизм Сокращенного Рукопожатия EMSA может начаться после того, как запрашивающая точка ячейки, которая выполнила Начальную Аутентификацию EMSA, завершает процедуры обнаружения и выбора. Данный механизм позволяет запрашивающей точке ячейки обмениваться специальными значениями с аутентификатором ячейки и установить PTK до ассоциации.
Запрашивающая точка ячейки не инициирует Сокращенное Рукопожатие EMSA с аутентификатором ячейки, если аутентификатор ячейки не является членом области безопасности ячейки (согласно объявленному посредством MSDIE) и ячейки (согласно объявленному посредством информационного элемента идентификатора ячейки), в которой запрашивающая точка выполнила Начальную Аутентификацию EMSA. Для реализации Сокращенного Механизма Рукопожатия EMSA, запрашивающая точка ячейки инициирует обмен четырех сообщений.
Как проиллюстрировано на Фиг.9, после того как аутентификатор ячейки объявляет службы, позволяющие запрашивающей точке присоединиться, начинается процесс, при котором запрашивающая точка 120 и аутентификатор 115 ячейки обмениваются сообщениями 905 аутентификации, например, используя кадры управления аутентификацией согласно стандартам 802.11. Далее, выполняется доставка 910 ключа между аутентификатором 115 ячейки и распределителем 115 ключей ячейки. При этом аутентификатор 115 ячейки получает производный ключ, чтобы обеспечить возможность выполнения рукопожатия с запрашивающей точкой 120. Далее, аутентификатор 115 ячейки выводит PTK, чтобы защитить линию связи с запрашивающей точкой, после чего выполняется ассоциация между запрашивающей точкой 120 и аутентификатором 115 ячейки посредством, например, кадров ассоциации согласно стандартам 802.11. В завершение выполняется настройка 920 маршрутизации между запрашивающей точкой 120 и аутентификатором 115 ячейки.
Фиг.10 представляет собой иллюстрацию схемы 1000 обмена сообщениями, в которой дополнительно проиллюстрировано быстрое установление линии связи между запрашивающей точкой 120 и аутентификатором 115 ячейки согласно некоторым вариантам осуществления настоящего изобретения. Как проиллюстрировано на Фиг.10, первое сообщение 1005 аутентификации передается от запрашивающей точки 120 аутентификатору 115 ячейки. Первое сообщение 1005 аутентификации включает в себя:
• MSDIE: сконфигурирован точно так, как было объявлено аутентификатором ячейки в его маяках и ответах проверки.
• EMSAIE, который содержит:
• MA-ID, который представляет собой MAC-адрес аутентификатора 115 ячейки,
• SNonce, который установлен равным значению, выбранному запрашивающей точкой 120 случайным образом,
• Все остальные поля, установленные в нулевое значение.
• RSN IE:
• Поле PMKID содержит PMK-MKDName, полученный во время Начальной Аутентификации EMSA запрашивающей точки.
• Все остальные поля установлены согласно конфигурации запрашивающей точки 120.
После получения первого сообщения аутентификатор ячейки вычисляет PMK-MAName. Если отсутствует ключ, идентифицируемый посредством PMK-MAName, аутентификатор ячейки может попытаться получить его от распределителя ключей ячейки, используя протокол передачи ключа.
Тогда аутентификатор 115 ячейки передает второе сообщение 1010 аутентификации запрашивающей точке 120. Второе сообщение 1010 аутентификации включает в себя:
• MSDIE, который сконфигурирован точно так, как было объявлено аутентификатором ячейки в его маяках и ответах проверки.
• EMSAIE, который содержит:
• SNonce из первого сообщения 1005 аутентификации.
• MA-ID: MAC-адрес аутентификатора ячейки.
• ANonce: устанавливается равным величине, выбранной аутентификатором ячейки случайным образом.
• Все остальные поля, установленные в нулевое значение.
• RSN IE:
• Поле PMKID установлено точно так, как и в первом сообщении 1005 аутентификации;
• Все другие поля в форме RSNIE, объявляемого аутентификатором ячейки в маяках и ответах проверки.
После передачи второго сообщения 1010 аутентификации запрашивающая точка 120 может вычислить PMK-MA и PMK-MAName. Сверх того, как запрашивающая точка, так и аутентификатор ячейки вычислят PTK и PTKName.
Далее, запрашивающая точка 120 передает запрос 1015 ассоциации аутентификатору 115 ячейки. Информационный элемент Запроса Ассоциации включает в себя:
• MSDIE: точно в том же виде, что и в первом сообщении 1005 аутентификации;
• EMSAIE содержит:
• ANonce, SNonce и MA-ID: как во втором сообщении 1010 аутентификации.
• GTK (зашифрованный посредством PTK) запрашивающей точки ячейки.
• Подполе алгоритма MIC, входящее в набор управляющих полей MIC и указывающее криптографический алгоритм, используемый для вычисления MIC.
• Поле счета информационного элемента управляющего поля MIC установлено в значение 3, то есть равно количеству информационных элементов в этом кадре.
• MIC вычисляется посредством PTK с помощью алгоритма, выбранного согласно подполю алгоритма MIC, в следующем порядке:
- SPA (MAC-адрес запрашивающей точки).
- MAC-адрес аутентификатора ячейки.
- Номер последовательности транзакции (1 октет), установленный в значение 3.
- Содержимое MSDIE.
- Содержимое EMSAIE, где поле MIC установлено в нулевое значение.
- Содержимое RSNIE.
- Все остальные поля, установленные в нулевое значение.
• RSN IE: Поле PMKID содержит PMK-MAName, а все другие поля установлены согласно конфигурации запрашивающей точки 120.
Аутентификатор ячейки верифицирует MIC в EMSAIE, пренебрегая сообщением, если оно некорректно. Аутентификатор ячейки раскрывает GTK и устанавливает его для использования при расшифровке широковещательных сообщений, принятых от запрашивающей точки.
В завершение аутентификатор 115 ячейки передает ответ 1020 ассоциации запрашивающей точке 120. Информационный элемент Ответа Ассоциации включает в себя:
• MSDIE: точно в том же виде, что и во втором сообщении 1010 аутентификации.
• EMSAIE, который содержит:
• MA-ID, ANonce и SNonce - как во втором сообщении 1010 аутентификации.
• GTK (зашифрованный посредством PTK) аутентификатора ячейки.
• Подполе алгоритма MIC, входящее в набор управляющих полей MIC и указывающее криптографический алгоритм, используемый для вычисления MIC.
• Поле счета информационного элемента управляющего поля MIC должно быть установлено в значение 3, то есть равным количеству информационных элементов в этом кадре.
• MIC вычисляется посредством PTK с помощью алгоритма, выбранного согласно подполю алгоритма MIC в следующем порядке:
- SPA (MAC-адрес запрашивающей точки).
- MAC-адрес аутентификатора ячейки.
- Номер последовательности транзакции (1 октет), установленный в значение 4.
- Содержимое MSDIE.
- Содержимое EMSAIE, где поле MIC установлено в нулевое значение.
- Содержимое RSNIE.
• Все остальные поля, установленные в нулевое значение.
• RSN IE: поле PMKID содержит PMK-MAName, и все другие поля сконфигурированы как в RSNIE, объявляемом аутентификатором ячейки в маяках и ответах проверки.
Запрашивающая точка 120 верифицирует MIC в EMSAIE, пренебрегает сообщением, если оно некорректно. Запрашивающая точка 120 раскрывает GTK и устанавливает его для использования при расшифровке широковещательных сообщений, принятых от аутентификатора ячейки.
После успешного завершения этой процедуры точки ячейки ассоциируются и PTK используется для защиты потока обмена данных между этими двумя точками ячейки. Аутентификатор ячейки позволяет запрашивающей точке передавать через управляемый порт 802.1X поток обмена, защищенный посредством PTK.
Фиг.11 представляет собой схему последовательности операций, иллюстрирующую пример процесса 1100, выполняемого аутентификатором ячейки во время быстрого установления линии связи согласно некоторым вариантам осуществления настоящего изобретения. Как проиллюстрировано на Фиг.11, процесс начинается с этапа 1105, когда аутентификатор ячейки принимает сообщение аутентификации, содержащее MSDIE. Далее, на этапе 1110 аутентификатор ячейки верифицирует, что MSDIE в принятом запросе аутентификации объявляет область безопасности аутентификатора ячейки и что политика RSNIE совпадает с локальной политикой. Далее, на этапе 1115 определяется, положительно ли прошла верификация содержимого. Если верификация содержимого завершилась неуспешно, то процесс завершается. Если же содержимое было верифицировано, то процесс переходит к этапу 1120, на котором аутентификатор ячейки определяет, имеет ли он локальную копию ключа, именованного посредством PMK-MAName. Если у него нет локальной копии, то процесс переходит к этапу 1125, на котором аутентификатор ячейки выполняет протокол передачи ключа с распределителем ключей ячейки, идентифицированным в первом сообщении аутентификации, чтобы принять PMK-MA.
Далее, когда аутентификатор ячейки получает локальную копию ключа, процесс переходит к этапу 1130, на котором аутентификатор ячейки выбирает случайное значение ANonce, формирует MSDIE, EMSAIE и RSNIE и передает второе сообщение аутентификации.
Далее, на этапе 1135 аутентификатор ячейки вычисляет PTK, используя SNonce из принятого первого сообщения аутентификации и локально выбранного ANonce. Далее, на этапе 1140 аутентификатор ячейки ожидает и принимает информационный элемент запроса ассоциации. При получении процесс продолжается с этапа 1145, на котором аутентификатор ячейки определяет, действителен ли MIC. Если MIC недействителен, то процесс возвращается к этапу 1140. Если же MIC действителен, то процесс переходит к этапу 1150, на котором аутентификатор ячейки расшифровывает и устанавливает GTK для приема потока обмена многоадресной передачи от запрашивающей точки.
Далее, на этапе 1155 аутентификатор ячейки формирует MSDIE, EMSAIE и RSNIE, шифрует его GTK посредством PTK и вставляет его в EMSAIE, вычисляет MIC и вставляет его в EMSAIE и формирует и передает ответ ассоциации. В завершение аутентификатор ячейки устанавливает PTK для защиты потока обмена одноадресной передачи между ним и запрашивающей точкой.
Согласно настоящему изобретению аутентификация разделяется на два этапа - этап начального первого контакта (аутентификация AAA) и "облегченный" этап, на котором повторно используется материал ключа, сгенерированный во время первого контакта.
Согласно настоящему изобретению функция аутентификатора разделяется на две части. Первая функция аутентификатора ячейки заключается в реализации Объекта Доступа к Порту (Port Access Entity, PAE) 802.1X, выработке временных ключей, используемых для шифрования запрашивающей точки ячейки посредством четырехэтапного рукопожатия, и организации обратной связи с распределителем ключей. Вторая функция аутентификатора ячейки выражается как распределитель ключей, который реализует AAA-клиент и выводит ключи, используемые для аутентификации точки ячейки во время первого контакта или быстрой ассоциации безопасности. Распределитель ключей и онлайновый AAA-сервер могут осуществлять связь друг с другом, используя RADIUS, без необходимости передачи этих сообщении через линии ячейки.
В настоящем изобретении, сверх того, решаются проблемы доставки ключей, используя протоколы второго уровня. В данном случае сообщения аутентификации EAP направляются из запрашивающих точек маяка распределителю ключей. Сверх того, согласно настоящему изобретению принимается доставка материала ключа от распределителя ключей. Эти задачи выполняются эффективным образом, используя протоколы и типы кадров, которые могут быть заданы на втором уровне.
В вышеизложенном описании были раскрыты конкретные варианты осуществления настоящего изобретения. Однако специалистам в данной области техники будет очевидно, что могут быть выполнены различные модификации и изменения в рамках объема настоящего изобретения, определенного нижеприведенной формулой изобретения. Соответственно, описание и чертежи следует рассматривать в иллюстративном смысле, а не ограничительном, и все подобные модификации должны входить в объем настоящего изобретения. Эффект, преимущества, решения проблем, а также какие-либо элементы, которые могут привести к возникновению или более точному изложению каких-либо эффектов, преимуществ или решений, не должны быть истолкованы как критические, необходимые или существенные функции или элементы какого-либо или всех пунктов формулы изобретения. Настоящее изобретение определяется исключительно пунктами прилагаемой формулы изобретения, включая любые изменения, выполненные в течение рассмотрения настоящей заявки, и всеми эквивалентами этих пунктов формулы изобретения.