Виклик-відповідь (автентифікація)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

У комп'ютерній безпеці, виклик-відповідь автентифікація являє собою сімейство протоколів, в якому одна сторона представлена питання («виклик»), а інша сторона має дати адекватну відповідь («відповідь») для автентифікації.

Найпростіший приклад — «виклик-відповідь» протоколу перевірки пароля, коли виклик - це запит пароля і правильна відповідь є правильним паролем.

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

Наприклад, коли інші комунікаційні методи захисту комунікації[en] недоступні, американські військові використовують AKAC-1553 тріади цифра шифру для автентифікації і шифрування повідомлень. Тріада включає в себе список з трибуквених виклик кодів, які версифікатор повинен вибрати випадковим чином, і випадкові три букви відповідей на них. Для додаткової безпеки кожен набір кодів діє тільки протягом певного періоду часу, зазвичай, 24 години.

Більш цікава методика виклику-відповідь працює наступним чином: скажімо, «Боб» контролює доступ до деяких ресурсів. Аліса приходить і шукає входу. Боб видає виклик, можливо, «52w72y». Аліса повинна відповідати одна рядок символів, що «вписується» у виклик Боба. «Підходить», визначається за алгоритмом «відомий» Боб і Аліса. (Правильна відповідь може бути як простий, як «63x83z» (кожен символ відповідь один більше, ніж заперечувати)… але в реальному світі, «правила» буде набагато складніше.) Боб проблеми іншою проблемою кожен раз, і, таким чином, знаючи попередній правильну відповідь… навіть якщо це не «заховані» за допомогою обміну даними між Алісою і Бобом… марно. Частина відповіді Аліса може передати, що це Аліса (або конкретний донгл вона повинна була тримати безпечну), хто шукає автентичності.

Програмного забезпечення в 1980-х і 1990-х років часто використовується такий метод захисту від копіювання: виклики будуть питання типу «що це друге слово у третьому абзаці на стор. 418 інструкції?». Припущення про безпеку копіювання керівництво було складніше, ніж копіювання диска з програмним забезпеченням. Іноді керівництво буде надруковано таким чином, що сучасних фотокопіювальних машин не дублювати сторінки.

Інші не-криптографічні протоколи[ред. | ред. код]

Виклик-відповідь протоколи використовуються також стверджувати що-небудь, крім знання секретного значення. Капча, приміром, такий собі варіант на тест Тюрінга, покликаний визначити, чи є програма перегляду веб-додатки — це реальна людина. Виклик направлений до глядача-це спотворений образ якийсь текст, і глядач реагує, вписавши в текст. Спотворення призначена для автоматизованого розпізнавання оптичних символів (OCR) складно і запобігання комп'ютерна програма, з проходять людиною.

Криптографічні методи[ред. | ред. код]

Номери-криптографічної автентифікації в цілому адекватні у часи до Інтернету, коли користувач міг бути впевнений, що система запитає пароль був дійсно система, яку вони намагалися відкрити, і що ніхто не буде підслуховувати канал зв'язку дотримуватися введений пароль. Для вирішення проблеми небезпечним каналом, більш складний підхід. Багато криптографічні рішення пов'язані з двосторонньої автентифікації, де і Користувач, і система кожен з них повинен переконати інших, що вони знають загальний секрет (пароль), без цього секрету ніколи не передається у відкритому вигляді по каналу зв'язку, де прослушки може ховатися.

Один із способів це зробити є використання пароля як ключа шифрування для передачі деяких випадково з генерованих інформацію, як виклик, після чого інший кінець повинен повернути своїм відповідь таке ж зашифроване значення, яке має певні функції спочатку запропоновану інформацію, тим самим довівши, що вона змогла розшифрувати виклик. Наприклад, у kerberos, завдання полягає зашифроване ціле число N, а у відповідь зашифроване число N + 1, довівши, що інший кінець був у змозі розшифрувати число N. В інших варіантах, хеш-функція працює пароль, що і випадкова величина завдання: створити значення відповідь.

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

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

Взаємна перевірка достовірності виконується з допомогою «запит-відповідь» рукостискання в обох напрямках; сервер гарантує, що клієнт знає секрет, і клієнт також гарантує, що сервер знає секрет, який захищає від шкідливих серверів, т. уособлення реального сервера.

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

Прості приклад взаємної послідовності перевірки автентичності[ред. | ред. код]

  • Сервер відправляє унікальний виклик значенням SC клієнту
  • Клієнт генерує унікальну цінність виклик cc
  • Клієнт обчислює cr = hash(cc + sc + secret)
  • Клієнт відправляє cr і cc на сервер
  • Сервер обчислює очікуване значення cr і гарантує, що клієнт правильно відповів
  • Сервер обчислює sr = hash(sc + cc + secret)
  • Сервер відправляє sr
  • Клієнт розраховує передбачуване значення sr і гарантує, що сервер правильно відповів

де

  • sc це сервер, створений викликом
  • cc клієнт генерується виклик
  • cr відповідь клієнта
  • sr це відповідь сервера

Зберігання паролів[ред. | ред. код]

Щоб уникнути зберігання паролів, у деяких операційних системах (наприклад, типу UNIX) зберігається геш пароля, а не сам пароль. Під час перевірки автентичності системи потрібно тільки переконатися, що геш пароля збігається з гешем, який зберігається в базі паролів. Це суттєво ускладнює зачачу зловмисника отримати паролі, так як сам пароль не зберігається, і це дуже важко (навіть майже не можливо) відновити пароль по гешу. Однак, це являє собою проблему для багатьох (але не всіх) алгоритмів питання-відповідь, які вимагають як від клієнта, так і від сервера мати спільний ключ. Так як сам пароль не зберігається, алгоритму питання-відповідь, як правило, доведеться використовувати геш пароля як ключ замість пароля. У цьому випадку, зловмисник може використати фактичний геш, а не пароль, що робить зберігання гешів так само чутливим, як і зберігання паролів. SCRAM є алгоритмом питання-відповідь, який дозволяє уникнути цієї проблеми.

Приклади[ред. | ред. код]

Приклади більш складний виклик-відповідь алгоритми докази з нульовим розголошенням знання пароля і ключових систем договору (такі як безпечний віддалений пароль (ПСП)), виклик-рукостискання протокол автентифікації (голова) (документ RFC 1994), CRAM-MD5, OCRA: Клятва виклик-відповідь алгоритм (стандарт RFC 6287), солоні механізму автентифікації (АЗ) в документі RFC (5802), і виклик-відповідь по SSH у систему, засновану на RSA.
Де які люди вважають капчу свого роду виклик-відповідь аутентифікація, яка блокує спам-ботів.

Див. також[ред. | ред. код]