ETSI TS 135.207 V18.0.0, ключевой компонент спецификации безопасности 3GPP, предоставляет полные тестовые данные для реализации алгоритма MILENAGE. Этот стандартный документ, третья из пяти частей спецификации алгоритма MILENAGE, посвящен предоставлению проверяемых тестовых случаев для реализации алгоритма.
Набор алгоритмов MILENAGE построен на основе ядра шифрования Rijndael (AES) и включает семь ключевых функций безопасности:
| Функция алгоритма | Описание функции | Длина выходного ключа | Роль безопасности |
|---|---|---|---|
| f1 | Генерация кода сетевой аутентификации | 64-битный MAC-A | Сетевая аутентификация |
| f1* | Код аутентификации повторной синхронизации Генерация | 64-битный MAC-S | Синхронизация Восстановление Аутентификация |
| f2 | Генерация значения ответа | 64-битный RES | Аутентификация пользователя |
| f3 | Генерация ключа шифрования | 128-битный CK | Шифрование бизнес-данных |
| f4 | Генерация ключа целостности | 128-битный IK | Защита целостности данных |
| f5 | Генерация анонимного ключа | 48-битный AK | Защита личности пользователя |
| f5* | Ресинхронизированная генерация анонимного ключа | 48-битный AK | Ресинхронизированная защита личности |
Дизайн тестовых данных следует принципу полного покрытия: используется каждая запись S-Box, и каждый входной бит испытывает состояния «0» и «1», что гарантирует правильность и полноту реализации алгоритма.
Стандарт предоставляет 6 полных тестовых наборов данных Rijndael, каждый из которых содержит:
| Компоненты теста | Описание | Технические характеристики |
|---|---|---|
| Ключевые данные | 128-битный ключ шифрования | 16-байтовый шестнадцатеричный формат |
| Ввод обычного текста | Блок данных для шифрования | 16-байтовый шестнадцатеричный формат |
| Раундовые ключи | 11-раундовые расширенные ключи | 128-битные ключевые данные для каждого раунда |
| Промежуточное состояние | Состояние шифрования для каждого раунда | AddRoundKey, SubBytes, ShiftRows, MixColumns |
| Выход шифротекста | Конечный результат шифрования | Проверка правильности алгоритма |
Тестовый набор 1 предоставляет наиболее подробные данные промежуточного состояния, показывающие полные изменения состояния на каждом этапе алгоритма Rijndael, что является важной справочной информацией для отладки алгоритма.
Тестовые данные алгоритма аутентификации содержат 6 тестовых наборов, каждый из которых предоставляет полные входные параметры и ожидаемые выходные данные:
Анализ примера тестового набора 1:
Входные параметры: K=465b5ce8b199b49faa5f0a2ee238a6bc, RAND=23553cbe9637a89d218ae64dae47bf35, SQN=ff9bb4d0b607, AMF=b9b9
Вычисление OPC: cd63cb71954a9f4e48a5994e37a02baf (получено из OP и K)
Первое шифрование вывод: 9e2980c59739da67b136355e3cede6a2
вывод f1: 4a9ffac354dfafb3 (64-бит MAC-A)
вывод f1*: 01cfaf9ec4e871e9 (64-бит MAC-S)
Тестовые данные подтверждают правильность обработки алгоритмом SQN и AMF, а также точность процесса вывода OPC.
Тесты алгоритмов F2/F3/F5 и F4/F5* используют унифицированный пятиэтапный формат данных:
| Шаги данных | Идентификатор | Описание содержимого | Техническая функция |
|---|---|---|---|
| Шаг 1 | a | Значение OPC | Поле конфигурации алгоритма варианта оператора |
| Шаг 2 | b | Первый зашифрованный вывод ⊕OPC | Промежуточный результат преобразования |
| Шаг 3 | c | Второй зашифрованный вход | Данные после операции вращения |
| Шаг 4 | d | Второй зашифрованный выход | Итоговый результат преобразования |
| Шаг 5 | e | Выходное значение алгоритма | Ключи RES/CK/IK/AK |
Этот структурированный подход к тестированию обеспечивает проверяемость каждого шага алгоритма и предоставляет разработчикам четкую отладочную информацию path.
На основе технических требований стандартного документа предлагаются следующие рекомендации по внедрению:
1. Полнота тестового покрытия
Все тестовые случаи в шести тестовых наборах должны быть полностью выполнены, чтобы гарантировать проверку каждого S-Box и состояния бита. Подробные промежуточные состояния в тестовом наборе 1 должны служить золотым эталоном для отладки алгоритма.
2. Безопасность обработки OPC
OPC следует рассчитывать внешне на карте USIM, чтобы избежать раскрытия процесса получения ключа при реализации алгоритма. Значения OPC в тестовых данных используются только для целей проверки.
3. Порядок байтов
Строго придерживайтесь спецификаций порядка байтов/битности, указанных в документе: старший бит слева, младший бит справа. Нумерация подстрок начинается слева (старший бит) с 0.
4. Гибкость в выборе алгоритмов
Обратите внимание, что MILENAGE — это пример набора алгоритмов; операторы могут указывать свои собственные алгоритмы. Тестовые данные в первую очередь используются для проверки совместимых реализаций.
5. Совместимость версий
Выпуск 18 наследует техническое содержание предыдущих версий, в первую очередь обновляя номер версии, а не технические характеристики для поддержания обратной совместимости.
3GPP TS 35.207 претерпел несколько итераций версий с момента своего первоначального выпуска в выпуске 1999 года:
| Версия выпуска | Время выпуска | Основные обновления | Технические характеристики |
|---|---|---|---|
| Выпуск 1999 года | 1999 | Начальная версия | Создание базовой тестовой среды |
| Выпуски 4-7 | 2001-2007 | Обновления версий | Поддержание технической согласованности |
| Выпуски 8-10 | 2008-2011 | Совместимость с LTE | Поддержка сетей 4G |
| Выпуски 11-18 | 2012-2024 | Поддержка версий | Стабильное техническое содержание |
Стабильность стандарта отражает фундаментальную роль алгоритма MILENAGE в безопасности сетей 3G/UMTS/LTE. Несмотря на технологические разработки, его основные принципы тестирования остаются в силе.
При реализации теста алгоритма MILENAGE следует учитывать следующие соображения безопасности:
Безопасность управления ключами: ключевые значения в тестовых данных предназначены только для целей тестирования. При фактическом развертывании должен использоваться безопасный механизм управления ключами.
Защита от атак по сторонним каналам: Реализация алгоритма должна предусматривать защиту от атак по времени и атак анализа мощности. Тестовые данные проверяют корректность функционирования, а не безопасность.
Качество случайных чисел: для параметра RAND требуется высококачественный генератор случайных чисел. Тестовые данные предоставляют фиксированные случайные значения для проверки.
Проект избыточности алгоритма: f1* и f5* предоставляют резервные алгоритмы для сценариев повторной синхронизации. Тестирование должно охватывать как обычные ситуации, так и случаи повторной синхронизации. Полностью следуя данным испытаний, предоставленным TS 35.207, разработчики могут гарантировать корректность и надёжность реализации алгоритма MILENAGE, обеспечивая надёжную основу безопасности для сетей 3G/UMTS/LTE.

© 2025. Все права защищены.