Универсальная Мобильная Телекоммуникационная Система (UMTS) – технология сотовой связи, разработанная Европейским Институтом Стандартов Телекоммуникаций (ETSI) для внедрения 3G сетей.
В этом стандарте определены основные требования к конфиденциальности, которые обеспечивают:
-
конфиденциальный доступ для абонентов к услугам 3G;
-
защиту информации о номере IMSI от определения посторонними абонентами;
-
аутентификацию пользователей в сети;
-
конфиденциальность передаваемой шифрованной информации.
Рисунок 1. Аутентификация в UMTS
Аутентификация в UMTS происходит следующим образом (рис.1). Сначала сеть аутентифицирует оборудование на стороне пользователя (user equipment, UE) – терминал с SIM-картой. И далее UE проверяет, имеет ли оно возможность войти в сеть. Сама процедура аутентификации начинается, как только сеть определяет оборудование пользователя, то есть после того как мобильный центр коммутации, территориально совмещенный с визитным регистром положения (MSC/VLR) или сервисный узел поддержки GPRS (SGSN) получает постоянный или временный пользовательский идентификатор (IMSI или TMSI).
Первая часть аутентификации – это распространение информации, необходимой для идентификации, от домашней сети к обслуживающей.
1. MSC/VLR (SGSN) отправляет запрос на аутентификацию данных, включающий в себя IMSI, в центр аутентификации (Authentication Centre, AuC) пользовательской домашней сети.
2. На основе полученных данных AuC генерирует аутентификационный вектор (AV) и отправляет обратно в обслуживающую сеть в качестве ответа на запрос об аутентификации. Этот вектор содержит основные криптографические ключи и необходимые для процесса аутентификации параметры: случайное число RAND, ожидаемый отзыв RES, ключ шифрования CK, ключ целостности IK, параметр аутентификации сети AUTN.
3. Аутентификация и создание ключа начинается сразу после того, как MSC/VLR (SGSN) выбирает следующий подходящий вектор аутентификации и отправляет два элемента этого вектора, RAND и AUTN, на UE в виде пользовательского запроса на аутентификацию. Эти два параметра передаются на USIM, которая в свою очередь производит похожие вычисление, что и производил центр аутентификации домашней сети пользователя.
4. Таким образом USIM проверяет легитимен ли параметр AUTN. Если проверка дает положительный результат, UE передает сообщение на MSC/VLR (SGSN) в виде ответа на пользовательский запрос об аутентификации, который содержит параметр RES, вычисленный UE.
MSC/VLR (SGSN) сравнивает полученный RES с тем, который был прислан в составе вектора аутентификации из AuC. Если оба эти параметры равны, то аутентификация заканчивается успешно.
Для вычисления элементов аутентификационного вектора используются односторонние функции f1, f1*, f2, f3, f4, f5, f5*. Процесс генерации векторов аутентификации в AuC начинается с генерации случайного числа RAND и выбора номеров SQN (SQN – номер попытки идентификации). RAND и SQN вместе с ключом аутентификации K и числом AMF (AMF – административное управляющее поле аутентификации) являются входными параметрами для алгоритмов формирования вектора аутентификации.
Формирование вектора аутентификации показано на рис.2:
Рисунок 2. Формирование вектора аутентификации
На рисунке: MAC-A – код аутентификации сети, MAC-S – код аутентификации ресинхронизации, AK – ключ анонимизации.
Вектор аутентификации AV имеет вид:
AV = RAND//RES//CK//IK//AUTN.
Параметр AUTN определяется следующим образом:
AUTN = SQN⊕AK//AMF//MAC.
Рабочей группой по безопасности (TSG SA WG3) консорциума 3rd Generation Partnership Project (3GPP, www.3gpp.org) были разработаны конструкции MILENAGE [1,2] и TUAK [3], которые содержат наборы примеров базовых функций алгоритма аутентификации и выработки сеансовых ключей. Конструкции MILENAGE и TUAK в качестве базовых криптографических алгоритмов используют алгоритм блочного шифрования AES и хэш-функцию Keccak соответственно.
Ниже приводится описание базовых функций криптографических алгоритмов выработки ключей шифрования информации и аутентификационных векторов протоколов MILENAGE и TUAK.
Рисунок 3. Описание функций f1-f5* конструкции MILENAGE
Механизм аутентификации MILENAGE содержит следующие функции:
-
f1 – функция аутентификации сети;
-
f1* – функция аутентификации сообщения ресинхронизации;
-
f2 – функция аутентификации пользователя;
-
f3 – получение ключа шифрования;
-
f4 – получение ключа целостности;
-
f5 – получение ключа анонимизации;
-
f5* – получение ключа анонимизации для сообщения ресинхронизации;
-
Ek – шифрование алгоритмом AES с использованием ключа K;
-
OPc – вектор, полученный из OP и K по правилу OPc = OP
(OP) (OP – секретное значение, используемое для персонофикации оператора связи);
-
rotate – циклический сдвиг влево на константу;
-
c1-c5 – константы.
Рисунок 4. Описание функций f1-f5* конструкции TUAK
Механизм аутентификации TUAK содержит следующие функции:
-
f1 – функция аутентификации сети (MAC);
-
f1* – функция аутентификации сообщения ресинхронизации;
-
f2 – функция аутентификации пользователя;
-
f3 – получение ключа шифрования;
-
f4 – получение ключа целостности;
-
f5 – получение ключа анонимизации;
-
f5* – получение ключа анонимизации для сообщения ресинхронизации;
-
instance – вектор, значение которого зависит от размера MAC;
-
TOPc – вектор, полученный из TOP и K (TOP – секретное значение, используемое для персонофикации оператора связи);
-
algoname – строка “TUAK 1.0″ в ASCII-формате;
-
Keccak – функция хеширования Keccak;
-
padding – дополнение вектора, подаваемого на вход функции хеширования.
Рассмотрим производительность криптографических примитивов на примере ARM архитектуры, используемой в мобильных телефонах и планшетах [5,6]. Размерность представленных значений – цикл/байт.
Таблица 1. Результаты производительности
Микроархитектура |
Процессор |
Криптографический алгоритм |
|
AES128estream |
Keccak |
||
Cortex-A72 | Mediatek MT8173 | 12 | 12,16 |
Cortex-A57 | NVIDIA Tegra X1 | 12,09 | 12,15 |
Cortex-A53 | Amlogic S905 | 13,75 | 16,94 |
Cortex-A7 | Allwinner A20 | 38,52 | 43,19 |
Cortex-A5 | Amlogic S805 | 42,06 | 45,04 |
Cortex-A15 | NVIDIA Tegra K1 | 16,61 | 19,45 |
Cortex-A9+NEON |
Samsung Exynos 4412 | 21,80 | 35,18 |
Cortex-A8 |
TI Sitara XAM3359AZCZ100 | 31,19 | 58,86 |
Scorpion (510f02d2) | Qualcomm Snapdragon S3 APQ8060 | 28,02 | 34,28 |
Armada (562f1311) |
Marvell Armada 310 | 78,02 | 148,13 |
Armada (560f5815) |
Marvell Armada 510 | 25,89 | 59,14 |
(v5l, ARM926EJ-S) |
Marvell Kirkwood 88F6281 | 49,08 | 96,61 |
Рисунок 5. Результаты производительности
Произведя замену зарубежных криптографических алгоритмов в протоколах аутентификации MILENAGE и TUAK на российский криптографический алгоритм, Техническим комитетом по стандартизации №26 были разработаны новые алгоритмы аутентификации, получившие названия S3G-128 и S3G-256 соответственно (S3G – Secure 3G) [4]. Их отличие состоит лишь в использовании отечественного алгоритма хеширования ГОСТ Р. 34.11-2012 и другого значения некоторых используемых констант.
Подводя итоги, необходимо отметить, что мобильная связь стала неотъемлемой частью современного общества, требования конфиденциальности которой призваны выполнять рассмотренные выше протоколы аутентификации MILENAGE и TUAK. Разработанные ТК №26 алгоритмы аутентификации, использующие отечественный криптографический алгоритм, несомненно, обеспечат повышение уровня защиты тайны переговоров и персональных данных граждан Российской Федерации.
Библиографический список
- 3GPP TS 35.205 V13.0.0 (2016-01). Specification of the MILENAGE Algorithm Set. Document 1: General (Release 13).
- 3GPP TS 35.206 V13.0.0 (2016-01). Specification of the MILENAGE Algorithm Set. Document 2: Algorithm Specification (Release 13).
- 3GPP TS 35.231 V13.0.0 (2016-01). Specification of the Tuak algorithm set. Document 1: Algorithm specification (Release 13).
- Технический комитет по стандартизации «Криптографическая защита информации» (ТК 26). ПРОЕКТ МЕТОДИЧЕСКИХ РЕКОМЕНДАЦИЙ КРИПТОГРАФИЧЕСКИЕ АЛГОРИТМЫ ВЫРАБОТКИ КЛЮЧЕЙ ШИФРОВАНИЯ ИНФОРМАЦИИ И АУТЕНТИФИКАЦИОННЫХ ВЕКТОРОВ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ РЕАЛИЗАЦИИ В АППАРАТНЫХ МОДУЛЯХ ДОВЕРИЯ ДЛЯ ИСПОЛЬЗОВАНИЯ В ПОДВИЖНОЙ РАДИОТЕЛЕФОННОЙ СВЯЗИ. Москва, 2016.
- eBACS: ECRYPT Benchmarking of Cryptographic Systems – [Электронный ресурс] – Режим доступа: https://bench.cr.yp.to/results-hash.html (дата обращения 16.04.2017)
- eBACS: ECRYPT Benchmarking of Cryptographic Systems – [Электронный ресурс] – Режим доступа: https://bench.cr.yp.to/results-stream.html (дата обращения 16.04.2017)