Password Authentication Protocol — Вікіпедія

Протокол PAP (англ. Password Authentication Protocol - автентифікація по паролю) забезпечує вузлам одного рівня простий спосіб ідентифікації один одного шляхом двосторонньої згоди (handshake). Даний протокол — найбільш простий з протоколів підтвердження віддаленим суб'єктом свого ідентифікатора для об'єкта, що надає ресурси для використання. Автентифікація проходить за дві ітерації (англ. two-way handshake).
Протокол PAP вкрай ненадійний, оскільки паролі, що пересилаються, можна легко читати в пакетах PPP (англ. Point-to-Point Protocol), якими обмінюються сторони в ході перевірки автентичності. Зазвичай PAP використовується тільки при підключенні до старих серверів віддаленого доступу на базі UNIX, які не підтримують жодні інші протоколи перевірки автентичності.

Механізм PAP

[ред. | ред. код]

При використанні PAP (описано в стандарті RFC-1334) в поле протоколу (два байти протоколу) кадру PPP вказується відповідне PAP-значення Охсоаз, поле даних перетворюється в чотири додаткових поля:

Код Ідентифікатор Довжина Дані
1 байт 1 байт 2 байта перемінний розмір

При цьому поле Код вказує на такі можливі типи PAP-пакету:

  • Код=1: Запит автентифікації.
  • Код=2: Підтвердження автентифікації.
  • Код=3: Відмова у автентифікації.

Поле ідентифікатор забезпечує відповідність пари запит/відповідь (повинен змінюватись при кожному новому запиті).

Поле довжина вказує на сумарну довжину всіх чотирьох полів.

Поле дані містить дані пакету — для запиту автентифікації буде мати такий вигляд:

Довжина ідентифікатора Ідентифікатор Довжина паролю Пароль

Пакет запиту автентифікації буде відправлятись суб'єктом, що бажає отримати доступ неодноразово до настання однієї з таких подій:

  • Отримання підтвердження чи відмови.
  • Перевищення допустимого значення в лічильнику спроб.

При отриманні запиту об'єктом проводиться розпізнання отриманих результатів (порівняння з наявними у об'єкта значеннями). За результатами розпізнавання суб'єкту висилається пакет з полем Дані такого формату:

Довжина повідомлення Повідомлення

При цьому в полях Код вказується 2 або 3 (в залежності від того, підтверджена автентифікація чи відхилена), в поле Ідентифікатор — ідентифікатор відповідного запиту. В полях відповіді вказується: Довжина повідомлення — розмір наступного поля, Повідомлення — покладається на певну реалізацію, воно повинне не впливати на роботу протоколу та рекомендовано формувати його зручним для прочитання.

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

Отже, схема роботи протоколу така:

  1. Встановлюється PPP з'єднання.
  2. Суб'єкт посилає запит автентифікації з вказанням свого ідентифікатора і пароля.
  3. Об'єкт перевіряє отримані дані і підтверджує автентифікацію або відмовляється від неї.

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

Посилання

[ред. | ред. код]