Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Жалдак інформатика 11,12,13,14,15.docx
Скачиваний:
5
Добавлен:
15.09.2019
Размер:
348.47 Кб
Скачать

Одноразові паролі

Найвідомішим програмним генератором одноразових паролів є система S/KEY компанії Bellcore. Ідея цієї системи полягає в наступному. Хай є одностороння функція f (тобто функція, обчислити зворотну до якої за прийнятний час не є можливим). Ця функція відома і користувачеві, і серверу аутентифікації. Нехай, є секретний ключ K, відомий тільки користувачеві. На етапі початкового адміністрування користувача функція f застосовується до ключа K n разів, після чого результат зберігається на сервері. Після цього процедура перевірки достовірності користувача виглядає таким чином:

сервер присилає на призначену для користувача систему число (n-1);

користувач застосовує функцію f до секретного ключа K (n-1) разів і відправляє результат по мережі на сервер аутентифікації;

сервер застосовує функцію f до отриманого від користувача значення і порівнює результат з раніше збереженою величиною. У разі збігу достовірність користувача вважається встановленою, сервер запам'ятовує нове значення (прислане користувачем) і зменшує на одиницю лічильник (n). Система S/KEY має статус Internet-стандарту (RFC 1938).

Сервер аутентифікації Kerberos

Kerberos - це програмний продукт, розроблений в середині 1980-х років в Масачусетському технологічному інституті і зазнав з тих пір низки принципових змін. Клієнтські компоненти Kerberos присутні в більшості сучасних операційних систем. Kerberos призначений для вирішення наступного завдання. Є відкрита (незахищена) мережа, у вузлах якої зосереджені суб'єкти - користувачі, а також клієнтські і серверні програмні системи. Кожен суб'єкт володіє секретним ключем. Щоб суб'єкт C міг довести свою достовірність суб'єктові S (без цього S не стане обслуговувати C), він повинен не тільки назвати себе, але і продемонструвати знання секретного ключа. C не може просто послати S свій секретний ключ, по-перше, тому, що мережа відкрита (доступна для пасивного і активного прослуховування), а, по-друге, тому, що S не знає (і не повинен знати) секретний ключ C. Потрібний менш прямолінійний спосіб демонстрації знання секретного ключа. Система Kerberos є довіреною третьою стороною (стороною, якій довіряють всі), що володіє секретними ключами обслуговуваних суб'єктів і допомагає їм у попарній перевірці достовірності. Щоб за допомогою Kerberos дістати доступ до S (звичайно це сервер), C (як правило - клієнт) посилає Kerberos запит, що містить відомості про нього (клієнтові) і про запрошувану послугу. У відповідь Kerberos повертає так званий квиток, зашифрований секретним ключем сервера, і копію частини інформації з квитка, зашифровану секретним ключем клієнта. Клієнт повинен розшифрувати другу порцію даних і переслати її разом з квитком серверу. Сервер, розшифрувавши квиток, може порівняти його вміст з додатковою інформацією, присланою клієнтом. Співпадіння свідчить про те, що клієнт зміг розшифрувати призначені йому дані (адже вміст квитка нікому, окрім сервера і Kerberos, недоступний), тобто продемонстрував знання секретного ключа. Значить, клієнт - саме той, за кого себе видає. Підкреслимо, що секретні ключі в процесі перевірки достовірності не передавалися по мережі (навіть у зашифрованому вигляді) - вони тільки використовувалися для шифрування.