A8 — алгоритм формирования ключа шифрования, который впоследствии используется для обеспечения конфиденциальности передаваемой по радиоканалу информации в стандарте мобильной сотовой связи GSM. A8 является одним из алгоритмов обеспечения секретности разговора в GSM вместе с A5 и A3. Его задача — генерация сеансового ключа Kc для потокового шифрования информации в канале связи между сотовым телефоном (MS — Mobile Station) и базовой станцией (BTS — Basic Transmitter Station) после аутентификации. По причине безопасности формирование Kc происходит в Sim-карте.
Формат входных и выходных данных для алгоритма A8 строго определён консорциумом 3GPP. Но A8 не является стандартизованным, а определяется оператором. Алгоритмы A3 и А8 реализованы как единое вычисление, выходные данные которого (96 бит) трактуются так: 32 бита для образования SRES и 64 бита для образования Kc. Длина значимой части ключа Kc, выданная алгоритмом А8 может быть меньше 64 бит. Тогда значимые биты дополняются нулями до количества 64, указанного в спецификации алгоритма. В настоящее время известны следующие стандартные реализации алгоритма A3/A8:
COMP128 COMP128-2 COMP128-3 MILENAGE Хотя существуют альтернативы COMP128, но этот протокол по-прежнему поддерживается в подавляющем большинстве сетей GSM[1]. По данным SDA (Smarcard Developer Assosiation), большинство операторов связи не производит проверку на одновременное включение «одинаковых» абонентов, настолько они уверены в невозможности клонирования Sim-карт.
В архитектуре 3GPP (как и в GSM) всем операторам не обязательно использовать одинаковые алгоритмы аутентификации и генерации ключа. Конечно существуют рекомендации и в качестве примера приводится один алгоритм. Однако, как показывает практика, именно он становится повсеместно используемым. В 3GPP таким примером стал MILENAGE. MILENAGE построен на основе шифра Rijndael (победитель конкурса AES на лучший американский криптостандарт, сменивший DES). Что касается А5 — шифрования переговоров и обеспечения целостности сообщений, то он непременно должен быть одинаков у всех операторов, чтобы они могли предоставлять услугу роуминг. Этот алгоритм в 3GPP построен на основе блочного шифра KASUMI.
COMP128
COMP128-2
COMP128-3
MILENAGE
Хотя существуют альтернативы COMP128, но этот протокол по-прежнему поддерживается в подавляющем большинстве сетей GSM[1]. По данным SDA (Smarcard Developer Assosiation), большинство операторов связи не производит проверку на одновременное включение «одинаковых» абонентов, настолько они уверены в невозможности клонирования Sim-карт.