COMP128 - COMP128
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
В COMP128 алгоритмы являются реализациями функций A3 и A8, определенных в GSM стандарт. A3 используется для аутентифицировать мобильная станция к сети. A8 используется для генерации ключ сеанса используется A5 для шифрования данных, передаваемых между мобильной станцией и BTS.
Существует три версии COMP128. Изначально они были конфиденциальными. Частичное описание первой версии просочилось в 1997 году и было завершено через разобрать механизм с целью понять, как это работает. Это привело к полной публикации в 1998 году.[1] Вторая и третья версии были получены путем реверс-инжиниринга программного обеспечения, которое проверяет соответствие SIM-карты.[2]
Вступление
Подробнее о способах использования A3 и A8 см. Центр аутентификации.
A3 и A8 принимают 128-битный ключ (Kя) и 128-битный испытание (RAND) в качестве входных данных. A3 выдает 32-битный ответ (СДСВ), а A8 создает 64-битный сеансовый ключ (Kc). A3 / A8 - это комбинированная функция с Kя и RAND в качестве входов и СДСВ и Kc как выходы.
Поскольку A3 и A8 дополнительно не определены, операторы могут свободно выбирать конкретные алгоритмы, используемые для A3 и A8.
COMP128 алгоритмы
Алгоритмы COMP128 реализуют функцию A3 / A8. Всего их три:
- COMP128-1 - оригинальный алгоритм с известными недостатками
- COMP128-2 - более сильный алгоритм, который все еще очищает 10 крайних правых битов Kc
- COMP128-3 - тот же алгоритм, что и COMP128-2 со всеми 64 битами Kc генерируется
Все они построены вокруг функция сжатия с двумя 128-битными входами и одним 128-битным выходом, отсюда и их названия. Kя и RAND используются как входы функции сжатия. Биты с его выхода затем используются для заполнения СДСВ и Kc.
COMP128-1 описание
COMP128-1 использует функцию сжатия с восемью раундами, которая основана на структуре бабочки с пятью ступенями. СДСВ заполняется первыми 32 битами вывода. Kc заполняется последними 54 битами вывода, за которыми следуют десять нулей.
Для полного описания алгоритма читатель может просмотреть Реализация OsmocomBB.
COMP128-2 / 3 описание
Реализация COMP128-2 и COMP128-3 заметно сложнее, чем COMP128-1. Для полного описания алгоритма читатель может просмотреть Реализация OsmocomBB или же Реализация FreeRADIUS, оба основаны на Код Python из Секретов Сима[2] статья. COMP128-2 идентичен COMP128-3 за исключением того факта, что в конце он очищает 10 крайних правых битов Kc.
Безопасность
Хеш-функция COMP128-1 считается слабой из-за недостаточной распространение небольших изменений на входе. Были продемонстрированы практические атаки, позволяющие восстановить ключ абонента с SIM-карты.[3]
Сеансовые ключи, созданные COMP128-1 и COMP128-2, намеренно имеют только 54 бита энтропии. Это значительно ослабляет шифрование A5 или A6.
Рекомендации
- ^ Брицено, Марк; Гольдберг, Ян; Вагнер, Дэвид (1998), Реализация COMP128, заархивировано из оригинал на 2009-03-18
- ^ а б Тамас, Джос (2013), Секреты симки, заархивировано из оригинал на 2014-12-24, получено 2014-12-24
- ^ Брамли, Билли (2004), A3 / A8 и COMP128 (PDF)
внешняя ссылка
- Брицено, Марк; Голдберг, Ян (1998), Клонирование GSM
- Хандшу, Хелена; Пайе, Паскаль (2000), Снижение вероятности столкновения предполагаемого Comp128, CiteSeerX 10.1.1.141.1033