Строгая аутентификация, основанная на асимметричных алгоритмах
В протоколах строгой аутентификации могут быть использованы асимметричные алгоритмы с открытыми ключами. В этом случае доказывающий может продемонстрировать знание секретного ключа одним из следующих способов:
· расшифровать запрос, зашифрованный на открытом ключе;
· поставить свою цифровую подпись на запросе.
Пара ключей, необходимая для аутентификации, не должна использоваться для других целей (например, для шифрования) по соображениям безопасности. Следует также предостеречь потенциальных пользователей о том, что выбранная система с открытым ключом должна быть устойчивой к атакам с выборкой шифрованного текста даже в том случае, если нарушитель пытается получить критичную информацию, выдав себя за проверяющего и действуя от его имени.
Аутентификация с использованием асимметричных алгоритмов шифрования. В качестве примера протокола, построенного на использовании асимметричного алгоритма шифрования, можно привести следующий протокол аутентификации:
(5.12)
(5.13)
Участник В выбирает случайным образом r ивычисляет значение (значение х демонстрирует знание r без раскрытия самого значения r), далее он вычисляет значение . Под РА подразумевается алгоритм асимметричного шифрования (например, RSA), а под – хэш-функция. Участник В отправляет сообщение (5.12) участнику А. Участник А расшифровывает и получает значения r'и В', а также вычисляет . После этого производится ряд сравнений, доказывающих, что и что полученный идентификатор В' действительно указывает на участника В. В случае успешного проведения сравнения участник А посылает r. Получив его, участник В проверяет, то ли это значение, которое он отправил в первом сообщении.
В качестве следующего примера приведем модифицированный протокол Нидхэма и Шредера, основанный на асимметричном шифровании. Рассматривая вариант протокола Нидхэма и Шредера, используемый только для аутентификации, будем подразумевать под РB алгоритм шифрования открытым ключом участника В. Протокол имеет следующую структуру:
(5.14)
(5.15)
. (5.16)
Аутентификация, основанная на использовании цифровой подписи. В рекомендациях стандарта Х.509 специфицирована схема аутентификации, основанная на использовании цифровой подписи, меток времени и случайных чисел.
Для описания данной схемы аутентификации введем следующие обозначения:
– временная метка и случайные числа соответственно;
SA – подпись, сгенерированная участником А;
SB – подпись, сгенерированная участником B;
certA – сертификат открытого ключа участника A;
certB – сертификат открытого ключа участника В.
Если участники имеют аутентичные открытые ключи, полученные друг от друга, тогда можно не пользоваться сертификатами, в противном случае они служат для подтверждения подлинности открытых ключей.
Достаточно часто используются следующие протоколы аутентификации:
1. Односторонняя аутентификация с применением меток времени:
. (5.17)
После принятия данного сообщения участник В проверяет правильность метки времени tA, полученный идентификатор В и, используя открытый ключ из сертификата certA, корректность цифровой подписи SA(tA, В).
2. Односторонняя аутентификация с использованием случайных чисел:
(5.18)
. (5.19)
Участник В, получив сообщение от участника A, убеждается, что именно он является адресатом сообщения; используя открытый ключ участника A, взятый из сертификата certA, участник В проверяет корректность подписи под числом , полученным в открытом виде, числом , которое было отослано в первом сообщении, и его идентификатором В. Подписанное случайное число используется для предотвращения атак с выборкой открытого текста.
3. Двусторонняя аутентификация с использованием случайных чисел:
(5.18)
. (5.19)
. (5.20)