Криптографія без зайвої складності

HKDF

HKDF — функція HMAC Extract-and-Expand для виведення ключів із RFC 5869. Вона створює з початкового матеріалу окремі ключі для конкретних цілей. [1]

Перевірено 3 первинні джерела або джерела першої сторони Автор — SealTask

Головне

  • HKDF спочатку видобуває рівномірний псевдовипадковий ключ, а потім розширює його.
  • Параметр info розділяє ключі за протоколами, версіями й призначеннями.
  • HKDF побудована на HMAC і успадковує вимоги до вибраної хеш-функції.
  • HKDF не додає ентропії та не замінює функцію хешування паролів.

Визначення та область

HKDF із RFC 5869 складається з етапів Extract та Expand. Extract за допомогою HMAC нормалізує вихідний ключовий матеріал у псевдовипадковий ключ, а Expand виводить із нього один чи кілька ключів потрібної довжини. Це корисно, коли спільний секрет має обслуговувати різні криптографічні цілі. [1]

Межа безпеки

Значення salt посилює етап видобування, а info пов’язує результат із конкретним призначенням. Різні мітки для шифрування, автентифікації й обгортання ключів запобігають використанню одного ключа в несумісних операціях. Основа HMAC визначена окремо й застосовується з погодженою хеш-функцією. [1][2]

Обмеження й оцінка

HKDF не виправляє передбачуваний пароль і не створює відсутню ентропію. Для паролів потрібна пам’яттєво складна функція на кшталт Argon2id, а HKDF можна застосувати згодом для розділення призначень. Однакові входи, salt та info закономірно дають однаковий результат. [1]

Поширені питання.

Що означає HKDF?

HKDF — функція HMAC Extract-and-Expand для виведення ключів із RFC 5869. Вона створює з початкового матеріалу окремі ключі для конкретних цілей. [1]

Чого не гарантує HKDF?

HKDF не виправляє передбачуваний пароль і не створює відсутню ентропію. Для паролів потрібна пам’яттєво складна функція на кшталт Argon2id, а HKDF можна застосувати згодом для розділення призначень. Однакові входи, salt та info закономірно дають однаковий результат. [1]

Як SealTask розглядає HKDF?

SealTask застосовує HKDF з явними мітками призначення для виведення незалежних ключів з автентифікаційних та обмінних секретів. Версія протоколу й роль ключа входять у контекст, щоб ключ вмісту не можна було випадково використати для іншої операції. [3]

Первинні джерела

Визначення надають перевагу органам стандартизації, державним рекомендаціям і архітектурі SealTask із перших рук. Посилання відкривають повне джерело.

  1. 01
    RFC 5869: HMAC-based Extract-and-Expand Key Derivation Function Первинне джерело або джерело першої сторони для визначення, вимог протоколу, межі безпеки чи нормативного контексту.
  2. 02
    RFC 2104: HMAC Первинне джерело або джерело першої сторони для визначення, вимог протоколу, межі безпеки чи нормативного контексту.
  3. 03
    SealTask security architecture Первинне джерело або джерело першої сторони для визначення, вимог протоколу, межі безпеки чи нормативного контексту.
Відкрити весь центр знань