PBKDF2.

То, что превращает парольную фразу человеческого размера в нечто, что имеет смысл атаковать только медленно.

// definition

PBKDF2 (Password-Based Key Derivation Function 2) делает угадывание дорогим по замыслу: BurnPony прогоняет парольную фразу записки через 600 000 итераций HMAC-SHA256 с солью записки, прежде чем вложить результат в HKDF.

Что это

Человеческие парольные фразы — слабое звено любой системы, которая их принимает: люди выбирают короткое и угадываемое. Число итераций — это контрмера: каждая догадка атакующего стоит 600 000 операций хеширования, превращая быструю словарную атаку в медленную.

Почему это важно

Число не произвольно — 600 000 итераций PBKDF2-HMAC-SHA256 соответствуют текущей рекомендации OWASP, а в дорожной карте отмечена возможная будущая версия конверта с требовательным к памяти Argon2id.

// in BurnPony Парольные фразы нормализуются (Unicode NFC, с обрезкой пробелов) перед растяжением, так что одна и та же фраза, набранная на разных клавиатурах, выводит один и тот же ключ. Подбор происходит целиком в браузере получателя и никогда не расходует просмотры — шифротекст уже был запрошен; повторяется лишь локальная расшифровка.

Связанные термины

Частые вопросы.

Заменяет ли парольная фраза ключ из ссылки?

Нет — она добавляется к нему. 32-байтовый ключ-фрагмент нужен всегда; парольная фраза означает, что атакующему нужны и ссылка, и фраза.

Почему просмотрщик задумывается на записках с парольной фразой?

Эта пауза — 600 000 итераций, идущих в вашем браузере. Цена, которую вы ощущаете один раз за открытие, — та же цена, которую атакующий платит за каждую догадку.

Установите BurnPony

Бесплатные самоуничтожающиеся зашифрованные записки для iPhone и Android. Получателям нужен только браузер. Без аккаунтов, без слежки.