Скачиваний:
93
Добавлен:
18.10.2019
Размер:
14.08 Mб
Скачать

1. Базовые криптографические протоколы

39

пользователей злоумышленниками, полном переборе паролей и при словарной атаке на протокол.

На практике широко используются два типа протоколов пароль­ ной аутентификации: протоколы с фиксированными и с одноразо­

выми паролями.

Фиксированные пардли. Этот тип протоколов объединяет те из них, в которых пароль, предъявляемый претендентом системе, не меняется от одного сеанса выполнения протокола к другому. Пароль должен быть запоминаемым для человека (обычно не более 8-12 символов), время действия пароля ограничено разумными предела­ ми, пароли должны периодическименяться.Для обеспечениядоста­ точной стойкости протоколов аутентификациис фиксированными

паролями.используетсяряд приемов:

хранение в компьютернойсистеме файлов паролей в защищен­ ном режиме (с защитойот чтения-записи);

хранение в системе не самих паролей, а их образов, полученных как результат вычисления однонаправленной функции от паро­

ля, взятого в качестве аргумента;

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

мизировать энтропию пароля;

искусственное замедление процесса ввода пароля в систему

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

Все перечисленные методы лишь затрудняют или замедляют процесс доступа к паролю, его перебора или случайного угадывания. Ни один из них не решает проблемы защиты парольного протокола радикально. Они обеспечивали вполне приемлемый уровень защиты в 70-80-е гг, хх в. С учетом тогдашнего уровня развития вычисли­ тельной техники и операционных систем. Сегодня перечисленные приемы простой аутентификации с фиксированными паролями

40

Занечников С. В. Криптографическиепротокалы и IIX примененив

используется) как правило) в не очень ответственныхслучаях или когда процессдоступасубъектак системе необходимомаксимально упростить (например,для входа пользователяв систему в массовых тиражируемых операционных системах семейств Windows или

Linux).

Разновидностью фиксированных паролей являются РIN-коды

(от английских слов - Personal /dentificatiol1 Number). Это числовые

пароли длиной от 4 до 8 десятичных цифр. Чаще всего они исполь­ зуются в соединении с методом «обладания чем-либо»: обычно МИК­ ропроцессорной пластиковой картой или картой с магнитной поло­ сой. РIN-код обеспечивает второй уровень защиты на случай, если карта потеряна или украдена. Для защиты от полного перебора тако­ го маленького ключевого пространства необходимы дополнитель­ ные меры; организационная и физическая защита. Например) банко­ мат может забрать у пользователя пластиковую карту или блокиро­

вать ее после нескольких подряд неудачных попыток ввода пароля.

Одноразовые пароли. В протоколах этого типа каждый пароль используется только один раз, т. е. пароль является функцией неко­ торого аргумента. Известны три подхода к построению протоколов аутентификации с одноразовыми паролями:

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

2. Последовательно обновляемые одноразовые пароли. Первона­

чально пользователь и система имеют только один пароль, условно с номером i. Затем пользователь создает и передает системе пароль под номером i-1, зашифрованный на ключе, вычисленном из i-ro па­ роля. Следует заметить, что такой метод затруднительно реализо­ вать при ненадежном канале связи (при возможности обрыва связи).

3. Последовательности одноразовых паролей, основанные на однонаправленных функциях. Этот метод наиболее эффективен по отношению к объему передаваемых данных. Примером является протокол Лампорта (табл. 1.10).

1. Базовыекриптографические протоколы

41

Таблица 1.10. Протокол Лампорта аутентификации

по одноразовым паролям

Предваритепьный этап

р

 

V

 

 

 

1. Выбираются: w - секрет пользователя Р, Н - однонаправленная хеш-функция, t - фиксиро-

ванная константа, определяющая число разре- шенных сеансов аугентификации, после чего Р

меняет свой секрет.

2.

Вычисляет Wo::: Н1 (~v)

и передает ее V по

~ = 1 - счетчик

секретному аутентичному каналу.

 

ДЛЯ,Р

 

Вычисляет НI ( w) =н

(н(...(н(w))...))

 

3.

 

 

 

 

 

 

 

 

 

 

 

Рабочий этап

 

 

 

 

 

 

 

 

 

 

р

 

 

 

 

V

 

 

 

 

 

 

 

Для i = 1,... ,t:

 

 

 

 

 

1Вычисляет ~Vi = н':' (w) либо из

\V, либо из промежуточнойвели- чины, сохраненнойво время вы-

числения н' (w) .

Направляет V сообщение [P,i, W j] I

где i - номер сеанса аутентифика- ~

ции

2

{

i=I

1'

,

1

 

 

 

'}

 

н (wj )=W;l

Если да, то ip := Ё}' +1 (увеличивает счетчик) и сохраняет Wj для следующегосеанса

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

вия. Целью предварительногоэтапа является выработка секретной

42 Залечииков С. В. Криптографические протоколы 11 их применение

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

'J

обозначена соответственно знаками = и ==.

Предварительный этап выполняется однократно, перед началом применения протокола. Первоначально пользователь имеет секрет w. Однонаправленная функция используется для выработки после- довательности паролей: w,Н (w),H (w)), ....Н' (w).

Рабочий этап (сеанс аутентификации) выполняется не более t раз для заранее выбранного параметра (. Пароль для i-ro сеанса прото- кола W j = н:' (w), 1::; i ::;t . Р идентифицирует себя дЛЯ V, используя

одноразовые пароли из этой последовательности.

Протокол Лампорта остается уязвимым для активного против­ ника, который перехватывает еще не использовавшийся пароль для целей последующей деперсонификации. Чтобы предотвратить эту атаку, пароль должен сообщаться только той стороне, которая га­ рантированно является аутентичной. Для преодоления этой угрозы используются протоколы аутентификации типа «запрос - ответ», ко­ торые будут рассмотрены далее.

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

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

Идея, заложенная в основе протоколов аутентификации типа «запрос - ответ» (challenge - response), заключается в том, что одна

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

J. Базовые криптографическиепротоколы

43

мости, чтобы секрет был известен проверяющему). Претендент дол­ жен ответить на запрос, меняющийся во времени, причем ответ должен зависеть и от его секрета и от запроса. Запрос - это обычно число, выбираемое одной стороной в начале протокола. Если линия

связи между участниками протокола прослушивается противником,

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

сеансах протокола, так как последующие запросы проверяющего

изменятся.

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

сгенерировано в начале или в ходе выполнения текущего сеанса

протокола.

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

к другим данным, используемымв протоколе.

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

применить последовательностьномеров сеансов выполняемогопро­

токола с увеличением на единицу в каждом последующем сеансе.

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

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

Наконец, в третьем случае, когда используются метки времени (timestamps), сторона, генерирующаясообщение в протоколе, полу­ чает метку времени со своих локальныхчасов (системноготаймера)

44

Запечников С. В. Криптографические протоколы и ш· примененив

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

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

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

источника за период текущего окна принятия.

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

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

Основным международным стандартом по криптографическим протоколам аутентификации является стандарт Международной ор­ ганизации по стандартизации и Международной электротехниче­

ской комиссии ISO/IEC 9798 - Infonnation technology - Security techniques - Епtitу authentication mechanisms, состоящийиз пяти частей:

ISOIIEC 9798-1- «General Model»;

ISO/IEC 9798-2 - «Меспашапв using symmetric епсiрhепnепt algorithms»;

ISOIIEC 9798-3 - «Entity authentication using а public-key algоrithПD>; ISOIIEC 9798-4 - «Mechanisms using а cryptographic check fuпсtiоп»; ISOIIEC 9798-5 - «Mechanisms using zero knowledge techniques».

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

.этим стандартом.

Протоколы «запрос - ответ» с использованием симметрич­ ных криптосхем. В этих протоколах претендент и проверяющий имеют симметричный секретный ключ либо ключи парно­ выборочной связи. Для их получения может использоваться дове­ ренный сервер в режиме реального времени. Стандартом ISO/IEC

J. Базовыекриптографические протоколы

45

/

9798-2 предусмотренытри способа аутентификации(звездочкамив таблицах обозначенынеобязателъныекомпонентысообщений):

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

другим проверяющим.

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

 

 

с меткой времени

 

 

 

р

к- общий сек етный ключ

v

 

 

 

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

верна, он принимает претендента.

Таблица 1.12. Протокол односторонней аутентификации с использованием случайных чисел

р

к- общий секретный ключ

V

 

 

~

rv - случайное число

г; (rv, v·)

7

 

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

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

46 Запечников С. В. Криптографическиепротоколы 11их примененив

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

ности называются протоколами рукопожатия.

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

р

к- общий секретный

V

 

ключ

 

 

 

~

 

/'у - случайное число

 

 

 

 

rp- случайное число,

 

 

 

Ек (Ij., 'i/, V·)

-7

 

 

 

 

 

 

 

 

 

~

 

EK(ly,r,,)

 

 

 

 

 

 

 

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

Таблица 1.14. Протокол взаимной аутентификации с использованием случайных чисел (вариант с хеш-функциями)

р

к- общий секрет-

V

 

ный клю«

 

 

 

 

 

 

~

rv - случайное число

Гр - случайное число,

 

 

11K (Гl',rv,V)

-7

 

 

~

11К (rv' Тр, Р)

 

 

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

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

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

1.1.Односторонняя аутентификация с метками времени

(табл.l.15).

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

(табл.l.16).

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

J. Базовыекриптографические протоколы

47

Таблица 1.15. Протокол односторонней аутентификации с использованием схемы цифровой подписи (метка времени)

I Щ1r.1r,V'Sr(lр,v)

I

7

I

V I

Таблица 1.16. Протокол односторонней аутентификации с использованием схемы цифровой подписи (случайные числа)

 

р

 

 

 

v

 

 

 

 

 

 

 

 

 

 

f-

Yv - случайное число

Гр -

случайное число,

 

 

 

сепг,rl" V,8p (lр,ry

, у*)

 

-7

 

 

 

 

 

 

 

Таблица 1.17. Протокол взаимной аутентификации

 

 

 

с использованием схем цифровой подписи

 

 

 

 

 

 

 

р

 

 

 

v

 

 

 

 

 

 

 

 

 

 

f-

rV - случайное число

Гр -

случайное число,

 

 

 

 

сеп; , !j" V, 81' (rp , ry, V·)

 

-7

 

 

 

 

 

 

 

 

 

 

f-

сеп.,,P,Sy (/i" rp , Р)

 

 

 

 

 

 

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

В описаниях протоколов встречаются обозначения секг; и сепо. :Гак обозначены сертификаты открытых ключей цифровой подписи

соответствующих участников протокола, т. е. структуры данных,

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

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

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

48

Запечников С. В. Криптографическиепротоколы 11их применекие

схему подписи с восстановлением сообщений (будет рассмотрена дале~). Тогда нет необходимости передавать отдельно данные и от­

дельно подпись: данные можно извлечь из подписи при ее проверке. Таким образом, часть полей из сообщений можно устранить.

2. Протоколы с использованием cxeJw открытого шифрования: 2.1. Односторонняя аутентификация (табл. 1.18) - использова­

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

крытым текстом.

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

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

 

 

 

р

 

 

 

 

 

 

v

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r - случайное число

 

 

 

 

 

 

 

 

 

~

 

= 11(Г),V, Ер (r,

V)J

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Расшифровывает сообщение,

 

 

 

 

 

 

 

 

вычисляет

х' =

'! (r'), сравнивает

 

 

 

 

 

 

ХI

=

 

 

r

 

 

-7

 

 

 

"Х , если да, то посылает

 

 

 

 

 

 

 

 

 

 

Таблица 1.19. Протокол взаимной аутентификации

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р

 

 

 

 

 

 

 

v

 

 

 

 

 

 

 

 

 

rj -

случайное число, е; ('i,Р)

 

-7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

r2 -

случайное число, Ер ('iI

Т2)

 

 

 

 

 

 

 

 

r2

 

 

 

 

 

-7

 

 

 

 

1.4.3. Аутентификация, основанная на доказательствах

с нулевым разглашением знания

Общая идея асимметричных протоколов аутентификации, осно­

ванных на доказательствах с нулевым разглашением знания, состоит в том, что законный пользователь Р, имеющий открытый и секрет­ ный ключи, и проверяющий V выполняют совместный криптогра­ фический протокол интерактивного доказательства, в процессе ко­ торого Р должен доказать свою подлинность, продемонстрировав

знание секретного ключа законного пользователя, но не разгласив