Дайджест аутентифікація - це

Дайджест аутентифікація доступу є одним із загальноприйнятих методів, використовуваних веб-сервером для обробки облікових даних користувача веб-браузера. Цей метод використовує шифрування для відправки пароля через мережу, що є більш захищеним способом, ніж звичайна перевірка справжності доступу. при якій дані надсилаються відкритим текстом.

Технічно дайджест аутентифікація є застосування MD5 криптографічного хешування з використанням випадкових значень для утруднення криптоанализа. У ній використовується HTTP протокол.

Дайджест аутентифікації доступу була спочатку задана за допомогою стандарту RFC 2069 (Розширення на HTTP: Дайджест аутентифікація доступу). RFC 2069 задає майже класичну схему дайджест аутентифікації, в якій безпека підтримується за допомогою генеруються сервером випадкових значень. Відповідь на запит аутентифікації формується таким чином (де HA1, HA2, A1, A2 імена строкових змінних):

RFC 2069 був пізніше замінений RFC 2617 (HTTP Аутентификация: звичайна і дайджест перевірка справжності доступу). В RFC 2617 був введений ряд додаткових заходів по зміцненню безпеки при дайджест аутентифікації; «Якість захисту» (QOP), лічильник випадкових значень, збільшується клієнтом, і випадкові значення, які генеруються клієнтом. Ці поліпшення призначені для захисту від, наприклад, атаки криптоаналитика із заздалегідь обраним відкритим текстом [chosen-plaintext attack].

Якщо значення директиви QOP одно «auth» або не визначене, то HA2 дорівнює:

Якщо значення директиви QOP одно «auth-int», то HA2 дорівнює:

Якщо значення директиви QOP одно «auth» або «auth-int», то відповідь на запит обчислюється таким чином:

Якщо директива QOP не визначена, то відповідь обчислюється так:

Вищевикладене показує, що, коли QOP не визначене, застосовується більш простий стандарт RFC 2069.

Вплив MD5 захисту на дайджест аутентифікацію

Обчислення MD5, використовувані при дайджест аутентифікації HTTP повинні бути «односторонніми», що означає велику складність визначення початкових вхідних даних, коли відомі тільки вихідні. Однак, якщо пароль занадто простий, то можна виконати перебір всіх можливих вхідних даних і знайти відповідні вихідні (атака методом прямого перебору) - наприклад, за допомогою словника або відповідного look-up списку.

Характеристики HTTP дайджест аутентифікації

переваги

HTTP дайджест аутентифікація створена для посилення захисту в порівнянні з традиційними схемами дайджест аутентифікації, наприклад, вона "значно безпечніша, ніж CRAM-MD5 ..." (RFC2617).

Деякі сильні сторони дайджест аутентифікації HTTP:

  • Пароль не використовується безпосередньо в дайджесті, натомість HA1 = MD5 (username: realm: password). Це дозволяє в деяких реалізаціях (наприклад, JBoss DIGESTAuth) зберігати HA1, а не пароль відкритим текстом.
  • У RFC2617 було введено випадкове значення клієнта, яке дозволяє клієнту запобігти атаці з заздалегідь обраним відкритим текстом [chosen-plaintext attack] (в іншому випадку, наприклад, райдужна таблиця [rainbow table] становить загрозу схемою дайджест аутентифікації).
  • Серверне випадкове значення може містити тимчасові мітки. Тому сервер може перевірити випадкові значення, надані клієнтами, для запобігання атак повторного відтворення [replay attacks].
  • Сервер також може містити таблицю недавно створених або використаних випадкових значень для запобігання повторного використання.

недоліки

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

З точки зору безпеки, у дайджест аутентифікації доступу є кілька недоліків:

  • Багато з опцій безпеки в RFC 2617 є необов'язковими. Якщо якість захисту (QOP) не визначене сервером, клієнт буде працювати в режимі зниженої захищеності RFC 2069.
  • Дайджест аутентифікація вразлива до атак людини посередині (MitM). Наприклад, MitM зловмисник може сказати клієнтам використовувати базову аутентифікацію доступу або режим дайджест аутентифікації RFC 2069. У ширшому змило, дайджест аутентифікація доступу не надає клієнтам механізму перевірки достовірності сервера.
  • Деякі сервери вимагають зберігати паролі з використанням оборотного шифрування. Проте, можливо замість цього зберігати дайджест імені користувача, області, і пароля. [2]

Альтернативні протоколи аутентифікації

Деякі посилені протоколи аутентифікації для веб-додатків:

  • Аутентифікація з відкритим ключем (як правило, здійснюється за допомогою HTTPS / SSL сертифікатів клієнта).
  • Аутентифікація Kerberos або SPNEGO. в першу чергу, використовуваних Microsoft IIS для роботи вбудованої перевірки автентичності Windows (IWA).
  • Протокол захищеного віддаленого пароля (бажано за допомогою HTTPS / TLS).

Слабо захищені протоколи відкритого типу часто використовуються в:

Ці слабкі протоколи відкритого типу, які використовуються разом з мережевим шифруванням HTTPS дозволяють запобігти безлічі загроз, для боротьби з якими призначена дайджест аутентифікація.

Приклад з поясненням

Наступний приклад був спочатку продемонстрований в RFC 2617 і розширено тут, щоб показати повний текст, очікуваний для кожного запиту і відповіді. Відзначимо, що освітлено тільки якість захисту коду аутентифікації - на момент написання тільки браузери Opera і Konqueror підтримували «AUTH-INT» (аутентифікація з цілісністю захисту). Хоча специфікація згадує HTTP версії 1.1, схема може бути успішно додана до версії сервера 1.0, як показано тут.

Це типова схема обміну повідомленнями складається з наступних кроків.

Примітка: клієнт може вже містити ім'я користувача та пароль, без необхідності запитувати у користувача, наприклад, якщо вони раніше були збережені веб-браузером.

Запит клієнта (без аутентифікації) Відповідь сервера запит клієнта (ім'я користувача «Mufasa», пароль «Circle Of Life») Відповідь сервера

Значення відповіді розраховується в три етапи, в такий спосіб. Де значення об'єднуються, вони поділяються символом двокрапки.

  1. Обчислюється MD5 комбінований хеш імені користувача, області аутентифікації і пароля. Результатом є HA1.
  2. Розраховується MD5 хеш комбінованого методу і дайджест URI. наприклад "GET" і "/dir/index.html". Результат називається HA2.
  3. Обчислюється MD5 хеш комбінованого результату HA1, серверного випадкового значення, лічильника запитів, клієнтського випадкового значення, коду якості захисту (QOP) і HA2. Результат - значення «відповіді», надане клієнтом.

Оскільки сервер володіє тією ж інформацією, що і клієнт, відповідь можна перевірити, виконавши ті ж обчислення. У наведеному вище прикладі результат формується таким чином, де MD5 () являє собою функцію, яка використовується для обчислення MD5 хеша, зворотна коса риска є продовження і лапки не використовуються в розрахунках.

Завершуючи приклад, наведений в RFC 2617 продемонструємо результати для кожного кроку.

У цей момент клієнт може зробити новий запит, повторно використавши випадкове значення сервера (сервер видає нове випадкове значення для кожної відповіді «401»), але надавши нове випадкове значення клієнта. Для подальших запитів значення шістнадцятирічного лічильника запитів повинно бути більше ніж попереднє використане значення - в іншому випадку зловмисник може просто «повторити» стару заявку з тими ж даними. Це завдання сервера - контролювати, щоб лічильник збільшувався для кожного випадкового значення, яке було видано, і ігнорувати будь-які невідповідні запити. Очевидно, що зміна методу, URI і / або значення лічильника може привести до інших значень відповіді.

Сервер повинен пам'ятати випадкові значення, які були сгенерірованни недавно. Він також може пам'ятати, коли було видано кожне випадкове значення, і виводити їх з використання після закінчення певної кількості часу. Якщо використовується застаріле значення, то сервер повинен переслати код стану «401» і додати stale = TRUE до заголовку аутентифікації, вказуючи, що клієнт повинен повторно відправити запит з новим випадковим значенням, що не змушуючи користувача відправляти інші ім'я користувача і пароль.

Серверу не потрібно зберігати всі застарілі випадкові значення - можна просто припускати, що будь-які невідповідні значення є застарілими. Для сервера також можливо, щоб кожне випадкове значення поверталося лише один раз, хоча це змушує клієнта повторювати кожен запит. Зверніть увагу, що випадкове значення сервера не може застарівати відразу, так як клієнт ніколи не отримав би можливість використовувати його.

SIP дайджест аутентифікація

SIP використовує в основному той же алгоритм дайджест аутентифікації. Він визначається RFC 3261.

браузерна реалізація

У більшість браузерів реалізовані суттєві специфікації, за винятком деяких певних функцій, таких як перевірка AUTH-INT або алгоритм MD5-сесії. Якщо сервер вимагає, щоб ці додаткові особливості бути оброблені, клієнти можуть не мати можливості перевірки автентичності (хоча слід зазначити, що mod_auth_digest для Apache теж не в повній мірі реалізує RFC 2617).

література

Дивитися що таке "Дайджест аутентифікація" в інших словниках:

Internet Information Services - Розробник Microsoft Операційна система Microsoft Windows NT Остання версія 7.5 Тестова версія 8.0 Ліцензія Пропрієтарна Сайт ... Вікіпедія

Nonce - Типовий обмін між клієнтом і сервером при аутентифікації, що використовує nonce сервера і cnonce клієнта. У криптографії одноразовий код, обраний випадковим або псевдовипадковим ... Вікіпедія

Цілісність інформації - цілісність інформації (також цілісність даних) термін в інформатиці та теорії телекомунікацій, який означає, що дані повні, умова того, що дані не були змінені при виконанні будь-якої операції над ними, будь то передача, ... ... Вікіпедія

SNTP - Назва: Simple Network Time Protocol Рівень (за моделлю OSI): Прикладної Сімейство: TCP / IP Порт / ID: 123 / UDP Призначення протоколу: Синхронізація часу Специфікація ... Вікіпедія

RFID - EPC RFID мітка, яка використовується в торговельній мережі Wal Mart RFID (англ. Radio Frequency IDentification, радіочастотна ідентифікація) спосіб автоматичної ідентифікації об'єктів, в якому за допомогою радіосигналів зчитуються або ... ... Вікіпедія

Радіочастотна ідентифікація - EPC RFID мітка, яка використовується в торговельній мережі англ. Radio Frequency IDentification, радіочастотна ідентифікація) метод автоматичної ідентифікації об'єктів, в якому за допомогою радіосигналів зчитуються або записуються дані, що зберігаються в ... ... Вікіпедія

Радіочастотна мітка - EPC RFID мітка, яка використовується в торговельній мережі англ. Radio Frequency IDentification, радіочастотна ідентифікація) метод автоматичної ідентифікації об'єктів, в якому за допомогою радіосигналів зчитуються або записуються дані, що зберігаються в ... ... Вікіпедія

Схожі статті