AKEY – это система аутентификации, которая используется в стандарте AMPS/DAMPS. А говоря проще, AKEY – это ключ, представляющий из себя число, состоящее из восьми байт. Этот ключ хранится в любом сотовом телефоне и «авторизует» в сети абонента.
AKEY записывается в базу при продаже клиенту телефона и постоянно там хранится. При нормальной работе аппарата AKEY остается постоянным, не изменяется. Хеш – функция CAVE, основываясь на постоянном ключе AKEY, используя как входные параметры ESN, MIN и, получив по эфиру с базы случайное число, генерирует временный ключ тоже из восьми байт, который именуется SSD. Из этого ключа в процессе аутентификации генерируется ответное значение.
Постоянный ключ AKEY используется лишь при создании временного ключа и для аутентификации не используется. Когда устанавливается соединение, базовая система передает телефону случайно выработанное число. Это число зашифровано по алгоритму Cellular Authentication and Voice Encryption - CAVE. При шифровании используется ключ SSD_A и прочие уникальные параметры телефона.
На базу отправляется ответ. Базовая станция в свою очередь, вне всякой связи с телефоном генерирует число ответа (все уникальные параметры данного аппарата, и AKEY, и временный SSD_A сохраняются на станции в базе) и сравнивает его с там, что было получено. Если результат отрицательный, т.е. числа (принятое от абонента и вычисленное независимо число) не совпадают, то аутентификация считается несостоявшейся и в соединении телефону отказывается.
Приблизительно раз в неделю станция периодически сообщает абоненту (его телефону) о произошедшей генерации нового SSD_A (временного ключа). При получении SSD_UPDATE телефон, используя случайное число, полученное от базовой станции, постоянный ключ AKEY и ESN, MIN вычисляет новое значение временного ключа SSD_A.
Становится очевидным, что поскольку аутентификационный ключ служит ограниченное время и постоянно изменяется, клонировать трубки бессмысленно. Точно так же не имеет смысла искать SSD_A последовательными переборами значений. Первое же изменение временного ключа приведет к тому, что продолжать работать будет лишь аппарат с новым временным ключом. |