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