125 Кібербезпека / 5 Курс / 5.2_Методи побудови і аналізу криптосистем / Література / пiдручник
.pdf1. Базовые криптографические протоколы |
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 по |
~ lр = 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 выполняют совместный криптогра фический протокол интерактивного доказательства, в процессе ко торого Р должен доказать свою подлинность, продемонстрировав
знание секретного ключа законного пользователя, но не разгласив