1. (Опционально) Базовая станция посылает сообщение, принуждающее абонентскую станцию обновить ключ шифрования траффика TEK. Сообщение содержит
· последовательный номер ключа авторизации, который был использован при генерации HMAC
· идентификатор того SA, TEK которого необходимо обновить
· HMAC для того, чтобы абонентская станция могла проверить подлинность этого сообщения.
2. В ответ на первое сообщение (при успешной проверке HMAC), или же по собственной инициативе абонентская станция посылает запрос на обновление ключа TEK, содержащий
· последовательный номер ключа авторизации, который был использован при генерации HMAC
· идентификатор того SA, TEK которого необходимо обновить (совпадает с идентификатором из первого сообщения, если оно было)
· HMAC для того, чтобы базовая станция могла проверить подлинность этого сообщения.
3. Если предыдущее сообщение пройдет аутентификацию HMAC, базовая станция посылает сообщение, содержащее
· последовательный номер ключа авторизации, который был использован при генерации HMAC
|
|
· идентификатор SA, для которого проводится обновление ключа TEK
· прежний TEK, т.е. текущий TEK того SA, для которого запрошено обновление
· новый TEK, т.е. TEK, который будет использоваться, когда истечет срок жизни текущего TEK
· HMAC для проверки подлинности данного сообщения.
Оба ключа TEK передаются в зашифрованном виде. В IEEE 802.16 для этого используется тройной DES в режиме электронной кодовой книги c ключом KEK:
Здесь KEK 1 – это первые 64 бит ключа KEK, а KEK 2 – последние 64 бит ключа KEK.
Шифрование данных
Стандарт IEEE 802.16 использует алгоритм DES в режиме сцепления блока шифров для шифрования данных. В настоящее время DES считается небезопасным, поэтому в дополнении к стандарту IEEE 802.16e для шифрования данных был добавлен алгоритм AES.
DES
Шифрование данных проходит следующим образом: Вектор инициализации из данного data SA и поле синхронизации проходят побитовую операцию исключающего ИЛИ и подаются как инициализирующий вектор алгоритму DES в режиме сцепления блока шифров (CBC, cipher block chaining). Также на вход схемы подается ключ TEK для шифрования и открытый текст сообщения. Алгоритм выдает зашифрованный текс. Заголовок Generic MAC header (GMH) не меняется за исключением битового поля EC, а концевик CRC, если он имеется, меняется под зашифрованный текст.
AES
Стандарт 802.16e определяет использование шифрования AES в четырех режимах:
· Cipher Block Chaining (CBC, режим сцепления блока шифров)
· Counter Encryption (CTR, шифрование счетчика)
· Counter Encryption with Cipher Block Chaining message authentication code (CCM, счетчиковое шифрование с message authentication code, полученным сцеплением блока шифров). Добавляет возможность проверки подлинности зашифрованного сообщения к режиму CTR.
|
|
· Electronic Code Book (ECB, режим электронной кодовой книги). Используется для шифрования ключей TEK.
AES в режиме CCM
Nonce
В режиме CCM, для шифрования полезной информации передающая станция генерирует на каждый пакет nonce – байтовую последовательность, первые 5 байт которой представляют собой начало Generic MAC Header. Далее идут 4 зарезервированных байта, имеющих нулевые значения. Затем следует 4-байтовый номер пакета Packet Number (PN) в данном data SA. Значение Packet Number ставится в 1 при установлении нового data SA или нового TEK.
Блок CBC
Блок CBC состоит из однобайтового флага, имеющего значение 00011001, последовательности nonce и поля, содержащего длину информационной части сообщения.
Блок Counter
Блок Counter состоит из однобайтового флага, имеющего значение 00000001, последовательности nonce и поля, содержащего номер i Counter-блока. Число i может меняться от нуля до n, где n – количество Counter-блоков, необходимых для покрытия всего сообщения и кода message authentication code.