Описание протокола аутентификации
Описываемый протокол позволяет двум субъектам A и B аутентифицировать друг друга на основе общего секретного ключа аутентификации (СКА) и цифровых идентификаторов (DIa и DIb). До выполнения протокола участники должны знать значения цифровых идентификаторов друг друга и выработать общий секретный ключ аутентификации. Каждый субъект протокола должен иметь датчик случайных чисел для генерации нонсов, синхронизированные часы и алгоритм вычисления хэш-функции с ключом (H). Для защиты от атак повтора сообщений используются случайные последовательности – нонсы (Na и Nb). Отметка времени Ta
необходима для проверки приемлемости первого сообщения протокола. Символ úç в описании протокола означает операцию конкатенации.
1. Объект A:
- генерирует нонс Na;
- считывает с системных часов отметку времени Ta;
- вычисляет ha = HСКА(BúçAúçTaúçDIaúçNa);
- посылает B сообщение [BúçAúçTaúçNaúçha].
2. Объект B:
- получает от A сообщение [BúçAúçTaúçNaúçha];
- считывает отметку времени tb;
- проверяет условие |tb?Ta| < D;
- получает из базы данных цифровой идентификатор объекта A – DIa;
- проверяет условие ha
HСКА(BúçAúçTaúçDIaúçNa);- если хотя бы одно из условий не выполняется, протокол разрывается; при выполнении этих условий B аутентифицирует A;
- генерирует нонс Nb;
- вычисляет hb = HСКА(AúçBúçDIbúçNaúçNb);
- посылает A сообщение [AúçBúçNaúçNbúçhb].
3. Объект A:
- получает от B сообщение [AúçBúçNaúçNbúçhb];
- сравнивает полученное значение нонса Na
с переданным;
- получает из базы данных цифровой идентификатор объекта B – DIb;
- проверяет условие hb HСКА(AúçBúçDIbúçNaúçNb);
- если хотя бы одно из этих условий не выполняется, протокол разрывается; в случае выполнения этих условий A аутентифицирует B и узнаёт, что B аутентифицировал A;
- вычисляет ha2 = HСКА(BúçAúçNbúçNa);
- посылает B сообщение [BúçAúçNbúçha2].
4. Объект B:
- получает от A сообщение [BúçAúçNbúçha2];
- сравнивает полученное значение нонса Nb
с переданным;
- проверяет условие ha2 HСКА(BúçAúçNbúçNa);
- если хотя бы одно из этих условий не выполняется, протокол разрывается; в случае выполнения этих условий B узнаёт, что A аутентифицировал B.