id: Гость   вход   регистрация
текущее время 21:22 28/03/2024
Владелец: unknown (создано 21/01/2014 10:47), редакция от 21/01/2014 10:52 (автор: unknown) Печать
Категории: криптография, алгоритмы, хэширование, протоколы, аутентификация, управление ключами
http://www.pgpru.com/Новости/2014/CatenaНоваяФункцияОбработкиПароляССольюПерцемИЧесноком
создать
просмотр
редакции
ссылки

21.01 // Catena – новая функция обработки пароля с солью, перцем и чесноком


Пользовательские пароли используются преимущественно для двух целей: аутентификации в системе (проверка знания пароля при логине) и для получения из пароля криптографического ключа.


При этом, в отличие от истинно случайного ключа, пароль с низкой энтропией может быть подобран словарными или эвристическо-лингвистическими атаками, предсказывающими его отклонения от случайного выбора. Для замедления таких атак используется «соль» (добавление случайного уникального несекретного значения, затрудняющего создание универсальных предвычисленных таблиц по значениям из словарей), многократное хэширование для замедления операций, и увеличенный расход памяти для затруднения параллельных вычислений.


Основу метода использования расхода памяти положил алгоритм scrypt. Однако, в нём выявлен ряд недостатков. Одним из них является нестойкость к кэш-тайминг атакам: если на сервере запущен непривелигированный враждебный процесс, измеряющий замедление работы процессора при обработке пароля другого пользователя, то он может по результатам измерений получить данные, которые позволят провести перебор на параллельных вычислениях без использования дополнительной памяти.


Исследователи Christian Forler, Stefan Lucks и Jakob Wenzel (Университет Баухаус, Веймар), предложили свою функию проверки паролей и получения ключей из пароля, названную ими Catena, от латинского слова «цепь», описывающего структуру функции. Она не только исправляет недостатки scrypt, но и делает новые шаги в области универсализации.


Основные свойства функции Catena:


  1. Возможность внесения обновлений на стороне сервера. Сервер может увеличить параметры сложности подбора пароля и изменить его хэш без необходимости контакта с пользователем и без знания пароля.
  2. Использование протокола снижения серверной нагрузки. Сервер может перенести вычислительно сложные операции по предварительному расчёту аутентификационных данных из пароля на сторону клиента.
  3. Протокол генерации ключей из пароля. Из одного пароля может быть получено множество ключей, причём компрометация одного ключа не приводит к компрометации другого.

Именно в п.2 используется параметр «чеснок», превращающий часть открытых битов соли в закрытые биты — «перец». Также возможно интерактивное вычисление данных совместно с сервером, эффективно снижающее скорость оффлайновых атак. При этом предусмотрена защита от утечек по тайминговым побочным каналам.


Несмотря на то, что функция Catena оптимизирована на клиент-серверное взаимодействие, она может быть эффективно использована и в локальном окружении, применяя алгоритмы доказуемо сложных вычислений с расходом памяти (λ−Memory-Hard Functions). Для её построения используются цепочки хэшей, связанные перестановками в виде графа определённой структуры.


Catena не привязана к определённой хэш-функции и в начале может быть использована с SHA-2-512. По мере стандартизации алгоритма Keccak, авторы рекомендуют использовать SHA-3-512. Но из-за того, что Keccak эффективнее при реализации в специализированном железе, чем в софте, то оптимальным, по мнению авторов, может быть хэш BLAKE2b. Строго говоря, производительность Catena не зависит от скорости работы самой хэш-функции, но позволяет эффективнее выбирать параметры в некоторых режимах.


Помимо использования хэш-функции, Catena использует шифр AES в режиме CTR. Это позволяет избавиться от необходимости подавать пароль на каждый раунд хэширования функции и получить возможность более универсального и гибкого выбора параметров для осуществления клиент-серверных протоколов.


Источник: Crytology ePrint Archive. См. также: Lyra – новая функция получения ключа из пароля.


 
— SATtva (21/01/2014 18:05)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Спасибо за описание. Пункт 2 очень интересен. Лично меня именно потенциал для организации DDoS останавливал от итеративного хэширования пользовательских паролей на сервере.
— Гость (21/01/2014 19:29)   <#>
По ходу, это хэш-функция для хранения паролей типа /etc/shadow, и все требования к ней заточены именно под этот случай.
— unknown (21/01/2014 20:25)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
По ходу, это хэш-функция для хранения паролей типа /etc/shadow

Помимо всего прочего — да.


Не только под этот. Просто под него — введены дополнительно и регулируются параметрами в рамках конструкции: «чесночностью», «перчёностью». Её также можно использовать и для пароля к криптоконтейнеру, чтобы его совсем неудобно было подбирать, и для конструирования валют с майнингом.
— Гость (22/01/2014 04:23)   <#>

Существование перца (помимо соли) одним пророком оракулом было предсказано 6 лет назад строго в этот же день, 22-го января. Вы верите в парадокс дней рождения такие невероятные совпадения? Тогда все посмеялись и не поняли, что это было пророчеством. Осталось дождаться хлеба, и все будут сыты.
— unknown (22/01/2014 09:59)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Осталось понять, к чему здесь чеснок. В работе он символизирует многослойность, как лук в торе.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3