Защита пользовательского и сигнального трафика

Защита трафика в сетях 5G базируется на шифровании данных и контроле их целостности с использованием ключей, сформированных в рамках процедуры аутентификации и согласования ключей – AKA (см. п. 3). Применение алгоритмов шифрования не дает третьей стороне возможности прочитать содержимое перехваченных сообщений, либо их отдельных параметров. Применение алгоритмов контроля целостности (т.е. фактически подписание сообщений электронно-цифровой подписью) обеспечивает подтверждение на приемной стороне того, что сообщение отправлено авторизованным участником диалога и не было подменено злоумышленником. Шифрование и контроль целостности выполняется на уровне PDCP стека протоколов интерфейса NG-NR. На данные нижележащих уровней защита не распространяется.
3GPP определяет четыре варианта шифрования пользовательского и сигнального трафика:
- NEA0 – отсутствие шифрования,
- 128-NEA1 – использование алгоритма SNOW 3G, 128 бит,
- 128-NEA2 – использование алгоритма AES в режиме CTR, 128 бит,
- 128-NEA3 – использование алгоритма ZUC, 128 бит,
а также четыре варианта контроля целостности:
- NIA0 – отсутствие контроля целостности,
- 128-NIA1 – использование алгоритма SNOW 3G, 128 бит,
- 128-NIA2 – использование алгоритма AES в режиме CMAC, 128 бит,
- 128-NIA3 – использование алгоритма ZUC, 128 бит.
Структурные схемы модуля шифрования и модуля контроля целостности приведены на Рис. 8 и Рис. 9 соответственно. Здесь:
- 128-ми битный криптографический ключ (KNASenc, KNASint, KRRCenc, KRRCint, KUPenc, KUPint);
- 32-х битный счетчик (COUNT-C, COUNT-I);
- 5-ти битный идентификатор виртуального канала (BEARER);
- идентификатор направления (DIRECTION: 0 – uplink. 1 – downlink);
- сообщение (MESSAGE);
- длина блока (LENGTH);
Модуль шифрования

Рис. 8 (Модуль шифрования)

Модуль контроля целостности

Рис. 9 (Модуль контроля целостности)

Контексты безопасности

Одним из фундаментальных понятий защиты трафика в сетях 5G является понятие контекста безопасности (5G security context) – блок информации, включающий в себя ключи, параметры и переменные, обеспечивающие функционирование механизмов шифрования и контроля целостности данных. Симметричные копии "5G security context" хранятся в пользовательском терминале и на стороне сетевых элементов. 3GPP определяет три типа "5G security context":
- "full native" – контекст, созданный в рамках 5G процедуры аутентификации и согласования ключей (EAP-AKA' или 5G-AKA) для которого была успешно выполнена активация механизмов обеспечения безопасности NAS-трафика (NAS-SMC);
- "partial native" – контекст безопасности, созданный в рамках 5G процедуры аутентификации и согласования ключей (EAP-AKA' или 5G-AKA) для которого еще не была выполнена активация механизмов обеспечения безопасности NAS-трафика (NAS-SMC);
- "mapped" – контекст безопасности, созданный при переходе пользователя из сети одного стандарта связи в сеть другого, путем преобразования ключей UMTS (или EPS) в ключи 5G.
Контекст безопасности может находиться в одном из двух возможных состояний – "current" - текущий (последний активированный контекст безопасности) и "non-current". В состоянии "current" может находиться контекст типа "full native" или "mapped", в состоянии "non-current" – "full native" или "partial native". При этом в состоянии "non-current" контекст не имеет 5G AS данных.
5G security context включает в себя следующие разделы:
1) 5G NAS security context –параметры и переменные, для обеспечения безопасности NAS-сигнализации, включая:
- ключ функции управления доступом и мобильностью KAMF,
- перечень поддерживаемых пользовательским терминалом (UE) алгоритмов NAS безопасности,
- идентификаторы выбранных алгоритмов для NAS шифрования и контроля целостности,
- значения счетчиков NAS COUNT для нисходящего и восходящего трафика,
- ключи для NAS шифрования и контроля целостности KNASint и KNASenc.
2) 5G AS security context – параметры и переменные, для обеспечения безопасности RRC-сигнализации и пользовательского трафика, включая:
- ключ базовой станции KgNB,
- перечень поддерживаемых пользовательским терминалом (UE) алгоритмов AS безопасности,
- идентификаторы выбранных алгоритмов для RRC/UP шифрования и контроля целостности,
- значения счетчиков RRC/UP COUNT для нисходящего и восходящего трафика,
- ключи для RRC/UP шифрования и контроля целостности KRRCint, KRRCenc, KUPint, KUPenc,
- параметры NH (Next Hop parameter) и NCC (Next Hop Chaining Counter parameter), используемые для деривации ключей.
3) 5G AS security context for non-3GPP access – параметры и переменные для обеспечения безопасности пользовательского и сигнального трафика для non-3GPP доступа (Wi-Fi и пр.). Механизмы использования данного контекста на момент написания статьи не определены.
При выключении терминала пользователем в AMF и UE сохраняются копии текущего контекста безопасности NAS (current 5G NAS security context) и всех неиспользованных векторов аутентификации, что позволяет при последующем включении терминала с одной стороны максимально сократить время его регистрации, с другой – обеспечить требуемый уровень безопасности. На стороне UE копия текущего контекста безопасности может сохранятся либо в USIM (если модуль содержит соответствующие файлы для хранения параметров подключения к сети), либо в энергонезависимой памяти UE.

Обеспечение безопасности NAS-трафика

Обеспечение безопасности NAS-трафика включает в себя шифрование параметров и контроль целостности сигнальных NAS-сообщений, передаваемых между пользовательским терминалом (UE) и модулем управления доступом и мобильностью (AMF) через интерфейс N1 (см. Рис. 1).
Активация механизмов обеспечения безопасности NAS-трафика осуществляется в рамках процедуры "NAS Security Mode Command" – NAS-SMC (см. Рис. 10). Выбор алгоритмов шифрования и контроля целостности выполняется AMF на основании предустановленных оператором приоритетов, а также в соответствии с полученными от UE данными о возможностях терминала (security capabilities). Если пользовательский терминал (UE) не имеет актуального контекста безопасности, то первичное NAS сообщение должно передаваться в открытом (незащищенном) виде и содержать только идентификатор пользователя и "security capabilities". В этом случае контроль целостности сообщений NAS-сигнализации обеспечивается, начиная с "NAS Security Mode Command", шифрование – с "NAS Security Mode Complete". Если UE имеет актуальный контекст безопасности, то атрибуты первичного NAS сообщения должны передаваться в зашифрованном виде за исключением уже упомянутых идентификатора пользователя и "security capabilities".
Используя атаку типа "человек-посередине" злоумышленник может изменить значение поля "security capabilities" первичного незащищенного NAS сообщения и тем самым понизить уровень безопасности NAS-диалога в целом. Для выявления этого AMF передает UE копию "security capabilities" в имеющей защиту целостности команде "NAS Security Mode Command", позволяя UE выявить факт атаки. С этой же целью AMF, посредством установки флага "Request Initial Message Flag", может запросить UE передачу копии первичного NAS сообщения в составе защищенного отклика "NAS Security Mode Complete".

Процедура NAS Security Mode Command

Рис. 10 (Процедура NAS Security Mode Command)

Обеспечение безопасности AS-трафика

Обеспечение безопасности AS-трафика включает в себя шифрование параметров и контроль целостности сообщений RRC сигнализации, а также пакетов пользовательских данных передаваемых между UE и базовой станцией (gNb) через интерфейс NG-NR (см. Рис. 1).
Активация механизмов обеспечения безопасности AS-трафика осуществляется в рамках процедуры AS Security Mode Command (AS-CMS), которая включает в себя обмен сообщениями "AS Security Mode Command" и "AS Security Mode Complete" (целостность этих сообщений должна быть защищена). Выбор алгоритмов шифрования и контроля целостности выполняется gNb на основании предустановленных оператором приоритетов, а также в соответствии с полученными от UE данными о возможностях терминала (security capabilities).
Контроль целостности обеспечивается, начиная с RRC сообщения "AS Security Mode Command", шифрование – с "AS Security Mode Complete".
При выполнении хэндовера исходная базовая станция в сообщении "handover request" передает целевой базовой станции используемые алгоритмы шифрования и контроля целостности, а также возможности пользовательского терминала. На основании полученных данных целевая gNb с одной стороны получает возможность прочитать сообщение "RRCReestablishmentComplete" от UE, с другой – выбрать и транслировать UE новые алгоритмы.
В рамках процедуры хэндовера на целевой базовой станции генерируется новый ключ KgNB*. Ключ генерируется либо на основании предыдущего ключа KgNB (горизонтальная деривация), либо на основании NH (вертикальная деривация). Данный механизм в терминологии 3GPP называется "AS key refresh".