Криптографічний нонс

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Звичайний клієнт-серверний сеанс зв'язку автентифікації з нонсом. Використовуються серверний і клієнтський нонси.

Нонс (англ. nonce) — довільне число використовне під час криптографічного зв'язку лише один раз. Нонс часто випадкове або псевдовипадкове число утворене протоколом автентифікації, для гарантування унеможливлення використання старих сеансів зв'язку в атаці відтворенням. Наприклад, нонс використовує дайджест автентифікація HTTP для обчислення MD5 гешу/дайджесту пароля. З кожною відповіддю 401 сервер породжує новий нонс і відсилає його як частину відповіді клієнту, той у свою чергу може відправити серверу його відповідь, включно з нонсом, і також свої ім'я і пароль. Такий підхід практично унеможливлює атаки відтворенням.

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

Дехто посилається на ініціалізаційний вектор як на нонс через попередньо наведені причини. Для гарантування одноразовості використання, можна включати в нонс підхожим чином оформлений timestamp або використовувати достатньо бітів для забезпечення досить малої ймовірності повторення. Деякі автори визначають псевдовипадковість (або непередбачуваність) як вимогу до нонсу.[1]

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

Посилання[ред.ред. код]

Примітки[ред.ред. код]