<<
>>

1.4.2. Аутентификация методом «запрос - ответ»

Идея, заложенная в основе протоколов аутентификации типа «запрос - ответ» (challenge - response), заключается в том, что одна сторона (претендент) доказывает свою идентичность другой стороне (проверяющему) посредством демонстрации знания секрета прове-ряющему (в некоторых протоколах секрет известен проверяющему и используется для проверки ответа, в других - вообще нет необходи- мости, чтобы секрет был известен проверяющему).
Претендент дол-жен ответить на запрос, меняющийся во времени, причем ответ должен зависеть и от его секрета и от запроса. Запрос - это обычно число, выбираемое одной стороной в начале протокола. Если линия связи между участниками протокола прослушивается противником, ответ претендента не должен снабжать противника полезной ин-формацией, которая могла бы быть использована в последующих сеансах протокола, так как последующие запросы проверяющего изменятся.

Параметры, меняющиеся во времени, используются для проти-водействия атакам на протокол методами повтора сеанса и включе-ния в канал. Они обеспечивают гарантии уникальности и актуальности каждого сеанса протокола. В криптографических протоколах широко используется такое понятие как свеоісесть (freshness) той или иной величины. Оно означает, что значение этой величины было сгенерировано в начале или в ходе выполнения текущего сеанса протокола.

В качестве таких параметров могут использоваться три типа величин, изменяющихся от сеанса к сеансу: это случайные числа, числовые последовательности и метки времени. При этом важно, чтобы была еще и гарантирована целостность этих одноразовых вели-чин, что обычно реализуется путем криптографической привязки их к другим данным, используемым в протоколе.

Наиболее просто реализуется выработка числовых последовательностей (члены последовательности обычно обозначают символом п с соответствующими индексами). В простейшем случае можно применить последовательность номеров сеансов выполняемого про-токола с увеличением на единицу в каждом последующем сеансе.

Недостатком этого способа является необходимость ведения участ-никами своих внутренних счетчиков последовательностей чисел.

Случайные числа (обычно обозначают символом г с соответствующими индексами) легко генерировать всем сторонам протокола, при этом от участников не требуется поддержания какой-либо до-полнительной информации, как в предыдущем случае.

Наконец, в третьем случае, когда используются метки времени (timestamps)y сторона, генерирующая сообщение в протоколе, полу-чает метку времени со своих локальных часов (системного таймера) и криптографически привязывает ее к сообщению. Получатель берет текущее время со своих локальных часов (системного таймера) и сравнивает с величиной метки времени, полученной от партнера. Для использования этого метода необходимо выполнение следую-щих условий:

Разница между метками времени отправителя и получателя должна укладываться в определенный интервал времени фиксиро-ванного размера - окно принятия (acceptance window).

Ранее не должно было быть получено сообщений с идентич-ной меткой времени от того же отправителя. Это подтверждается проверкой по списку всех меток времени, полученных от каждого источника за период текущего окна принятия.

Часы должны быть синхронизированы и защищены от моди-фикации.

Преимущество метода в том, что он не требует поддержания внутренней информации (ни долговременной, ни кратковременной) и наличия каких-либо дополнительных устройств, так как часы (сис-темный таймер) есть практически на любой вычислительной плат-форме.

Основным международным стандартом по криптографическим протоколам аутентификации является стандарт Международной ор-ганизации по стандартизации и Международной электротехниче-ской комиссии ISO/IEC 9798 - Information technology - Security techniques - Entity authentication mechanisms, состоящий из пяти частей:

ISO/IEC 9798-1 - «General Model»;

ISO/EEC 9798-2 - «Mechanisms using symmetric encipherment algo-rithms»;

ISO/EEC 9798-3 - «Entity authentication using a public-key algorithm»;

ISO/IEC 9798^1 - «Mechanisms using a cryptographic check function»;

ISO/IEC 9798-5 - «Mechanisms using zero knowledge techniques».

Далее мы рассмотрим некоторые из протоколов, рекомендуемых .этим стандартом.

Протоколы «запрос — ответ» с использованием симметричных криптосхем.

В этих протоколах претендент и проверяющий имеют симметричный секретный ключ либо ключи парно- выборочной связи. Для их получения может использоваться дове-ренный сервер в режиме реального времени. Стандартом ISO/IEC 9798-2 предусмотрены три способа аутентификации (звездочками в таблицах обозначены необязательные компоненты сообщений):

1. Односторонняя аутентификация, основанная на метке времени (табл. 1.11). Если у претендента и проверяющего есть синхро-низированные (в пределах погрешности) системные часы, нет необ-ходимости посылать запрос. Претендент сразу может направить со-общение с включенной в него меткой времени, а проверяющий - сверить метку с показаниями своих часов. Включение в сообщение идентификатора проверяющего предотвращает использование со-общения для аутентификации участника Р в протоколе с каким-либо другим проверяющим.

Таблица 1.11. Протокол односторонней аутентификации

с меткой времени р К - общий секретный ключ V EK(tP,V)

2. Односторонняя аутентификация с использованием случайных чисел (табл. 1.12). В качестве запроса проверяющим используется случайное число, поэтому он должен иметь генератор псевдослучайных чисел. Получив запрос, претендент вычисляет ответ на него, используя алгоритм симметричного шифрования, случайное число и (если необходимо) идентификатор V. Проверяющий расшифровывает полученный шифртекст и проверяет структуру запроса. Если она верна, он принимает претендента.

Таблица 1.12. Протокол односторонней аутентификации с использованием случайных чисел Р К- общий секретный ключ V <г rv ~ случайное число

3. Взаимная аутентификация с использованием случайных чисел (табл. 1.13). Отличие этого протокола от предыдущего в том, что здесь каждый из участников поочередно выполняет роли проверяющего и претендента, т. е. они проверяют аутентичность друг друга. Протокол взаимной аутентификации представляет собою два прото-кола односторонней аутентификации, «упакованных» в три пере- сылки сообщения.

Подобного рода протоколы в силу их симметричности называются протоколами рукопожатия.

Таблица 1.13. Протокол взаимной аутентификации с использованием случайных чисел р К- общий секретный ключ V <Г rv - случайное число гР ~ случайное число, EA'v>rr)

Этот протокол допускает замену шифра на хеш-функцию с клю-чом, как указано в стандарте ISO/IEC 9798-4 (табл. 1.14).

Таблица 1.14. Протокол взаимной аутентификации с использованием случайных чисел (вариант с хеш-функциями) Р К - общий секретный ключ V <г rv - случайное число гр - случайное число, hK(rv,rp,P)

Для повышения стойкости протокола к передаваемым сообще-ниям могут добавляться метки времени.

Протоколы «запрос - ответ» с использованием асимметричных криптосхем. Можно выделить две группы таких протоколов: протоколы с использованием схем цифровой подписи и протоколы с использованием схем открытого шифрования. Перечислим те из них, которые рекомендованы в стандарте ISO/IEC 9798-3.

I. Протоколы с использованием цифровой подписи:

Односторонняя аутентификация с метками времени (табл. 1.15).

Односторонняя аутентификация со случайными числами (табл.1.16).

Взаимная аутентификация со случайными числами (табл.1.17).

Таблица 1.15. Протокол односторонней аутентификации с использованием схемы цифровой подписи (метка времени) р V certP,tP,V,SP(tP,V) Таблица 1.16. Протокол односторонней аутентификации с использованием схемы цифровой подписи (случайные числа) Р V гу - случайное число гР - случайное число, certp,rP,V>SP (rp,rViV*"j -> Таблица 1.17. Протокол взаимной аутентификации с использованием схем цифровой подписи р V Гу — случайное число гР — случайное число, certp, rp ,VySP{rp,rv,V*^ certv,P,Sv (rv,rp,p)

Относительно приведенных в табл. 1.15-1.17 протоколов умест-но будет сделать несколько замечаний.

В описаниях протоколов встречаются обозначения certP и certy. Так обозначены сертификаты открытых ключей цифровой подписи соответствующих участников протокола, т.

е. структуры данных, содержащие их идентификаторы, открытые ключи и другую слу-жебную информацию, заверенную цифровой подписью удостове-ряющего центра. Подробнее метод сертификации открытых ключей будет рассмотрен в гл. 2 .

Протоколы, подобные описанным выше, используются также в стандарте Международного телекоммуникационного союза ГШ Х.509 (будет рассмотрен далее). В нем описаны протоколы аутенти-фикации, совмещенные с протоколами обмена ключами.

Как видим, в этих протоколах часто повторяется ситуация, когда один участник передает другому некоторый набор данных неболь-шого размера, подписанный цифровой подписью. В подобных случаях очень удобно бывает при реализации протокола использовать схему подписи с восстановлением сообщений (будет рассмотрена далее). Тогда нет необходимости передавать отдельно данные и отдельно подпись: данные можно извлечь из подписи при ее проверке. Таким образом, часть полей из сообщений можно устранить.

2. Протоколы с использованием схем открытого шифрования:

Односторонняя аутентификация (табл. 1.18) - использование хеш-функции позволяет проверяющему демонстрировать знание г, не разглашая его, тем самым предотвращая атаку с выбранным от-крытым текстом.

Взаимная аутентификация (табл. 1.19).

Таблица 1.18. Протокол односторонней аутентификации с использованием схем открытого шифрования р V г - случайное число [x = h(r),V,Ep(r,V)] Расшифровывает сообщение,

вычисляет х - h (/), сравнивает

?

х ~х, если да, то посылает г

Таблица 1.19. Протокол взаимной аутентификации с использованием схем открытого шифрования

Р У Г] - случайное число, Ev (г{, Р) -> г2 - случайное число, Ер (rt, г2 ) Г2

<< | >>
Источник: Запечников С. В.. Криптографические протоколы и их применение в финансовой и коммерческой деятельности: Учебное пособие для вузов. - М.: Горячая линия-Телеком,2007. - 320 с.. 2007

Еще по теме 1.4.2. Аутентификация методом «запрос - ответ»: