Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЗІ / Лекц_ї / Лекц_я 7.doc
Скачиваний:
46
Добавлен:
05.06.2015
Размер:
102.4 Кб
Скачать

Протокол Деннинга

Деннинг запропонував перебороти цю слабість модифікацією протоколу Нидхема й Шредера, що включає додаткову оцінку часу на кроках 2 і 3:

1. A -> KDC: IDA || IDB

2. KDC -> A: EKa [KS || IDB || T || EKb [KS || IDA || T] ]

3. A -> B: EKb [KS || IDA || T]

4. B -> A: EKS [N1]

5. A -> B: EKS [f (N1)]

Т - це оцінка часу, що гарантує А и B, що ключ сесії є тільки що створеним. Таким чином, і А, і В знають, що розподілений ключ не є старим. А й В можуть верифікувати часову оцінку перевіркою, що

|Clock - T| < Δt1 + Δt2,

де Δt1 - оцінювана нормальна розбіжність між годинниками KDC і локальними годинниками (в А або B) і t2 - очікувана мережна затримка часу. Кожний учасник може встановити свої годинники, орієнтуючись на певне довірене джерело. Оскільки часова оцінка Т шифрується з використанням секретних майстер-ключів, зломщик, навіть знаючи старий ключ сесії, не зможе досягти мети повторенням кроку 3 так, щоб В не помітив перекручування часу.

Кроки 4 і 5 не були включені в первісне подання, але були додані пізніше. Ці кроки підтверджують А, що В одержав ключ сесії.

Протокол Деннинга забезпечує більший ступінь безпеки в порівнянні із протоколом Нидхема й Шредера. Однак дана схема вимагає довіри до годинників, які повинні бути синхронізовані в мережі. В цьому є певний ризик, що полягає в тому, що розподілені годинники можуть розсинхронізуватись в результаті диверсії або ушкоджень. Проблема виникає, коли годинник відправника поспішає стосовно годинників одержувача. В цьому випадку супротивник може перехопити повідомлення від відправника й повторити його пізніше, коли оцінка часу в повідомленні стане рівної часу на вузлі одержувача. Це повторення може мати непередбачені наслідки.

Один спосіб обчислення атак повторення складається у вимозі, щоб учасники регулярно звіряли свої годинники з годинниками KDC. Інша альтернатива, при якій немає необхідності всім синхронізувати годинники, складається в довірі протоколам рукостискання, що використовує nonce.

Протокол автентифікації з використанням квитка

Даний протокол намагається перебороти проблеми, що виникли в попередніх двох протоколах. Він виглядає в такий спосіб:

1. A -> B: IDA || Na

2. B -> KDC: IDB || Nb || EKb [IDA || Na || Tb]

3. KDC -> A: EKa [IDB || Na || KS || Tb] || EKb [IDA || KS || Tb] || Nb

4. A -> B: EKb [IDA || KS || Tb] || EKS [Nb]

  1. А инициализирует автентифікаційний обмін створенням nonce Na і посилкою його й свого ідентифікатора до В у незашифрованому виді. Цей nonce повернеться до А в зашифрованому повідомленні, що включає ключ сесії, гарантуючи А, що ключ сесії не старий.

  2. B повідомляє KDC, що необхідно ключ сесії. Це повідомлення до KDС включає ідентифікатор В и nonce Nb. Даний nonce повернеться до В у зашифрованому повідомленні, що включає ключ сесії, гарантуючи B, що ключ сесії не застарів. Повідомлення В к KDC також включає блок, зашифрований секретним ключем, поділюваним В и KDC. Цей блок використовується для вказівки KDC, коли закінчується час життя даного ключа сесії. Блок також специфікує наміченого одержувача й містить nonce, отриманий від А. Цей блок є свого роду "вірчою грамотою" або "квитком" для А.

  3. KDC одержав nonces від А и В і блок, зашифрований секретним ключем, що В розділяє з KDC. Блок служить квитком, що може бути використаний А для наступних автентифікацій. KDC також посилає А блок, зашифрований секретним ключем, поділюваним А и KDC. Цей блок доводить, що В одержав початкове повідомлення А (IDB), що в ньому втримується припустима оцінка часу й немає повтору (Na). Цей блок забезпечує А ключем сесії (KS) і встановлює обмеження часу на його використання (Тb).

  4. А посилає отриманий квиток В разом з nonce B, зашифрованим ключем сесії. Цей квиток забезпечує В ключем сесії, що той використовує для дешифрування й перевірки nonce. Той факт, що nonce B розшифровано ключем сесії, доводить, що повідомлення прийшло від А и не є повтором.

Даний протокол автентифікує А и В і розподіляє ключ сесії. Більше того, протокол надає в розпорядження А квиток, що може використовуватися для його наступної автентифікації, крім необхідності повторних контактів з автентифікованим сервером. Припустимо, що А и В установили сесію з використанням описаного вище протоколу й потім завершили цю сесію. Згодом, але до витікання ліміту часу, установленого протоколом, А може створити нову сесію з B. Використовується наступний протокол:

1. A -> B: EKb [IDA || KS || Tb], Na'

2. B -> A: Nb', ES [Na']

3. A -> B: ES [Nb']

Коли В одержує повідомлення на кроці 1, він перевіряє, що квиток не прострочений. Заново створені nonces Na' і Nb' гарантують кожному учасникові, що не було атак повтору. Час Tb є часом щодо годинника B. Таким чином, ця часова мітка не вимагає синхронізації, так як В перевіряє тільки їм самим створену часову оцінку.

Використання шифрування з відкритим ключем

Протокол автентифікації з використанням автентифікационного сервера.

Розглянемо протокол, що використовує оцінки часу й автентифікаційний сервер:

1. A -> AS: IDA || IDB

2. AS -> A: EKRas [IDA || KUa || T] || EKRas [IDB || KUb || T]

3. A -> B: EKRas [IDA || KUa || T] || EKRas [IDB || KUb || T] || EKUb [EKRa [KS || T]]

В цьому випадку третя довірена сторона є просто автентифікаційним сервером AS, так як третя сторона не створює й не розподіляє секретний ключ. AS просто забезпечує сертифікацію відкритих ключів учасників. Ключ сесії вибирається й шифрується А, отже, не існує ризику, що AS зламають і змусять розподіляти скомпрометовані ключі сесії. Оцінки часу захищають від повтору скомпрометованих ключів сесії.

Даний протокол компактний, але, як і раніше, вимагає синхронізації годинників.

Соседние файлы в папке Лекц_ї