Хэш-цепочка
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Хэш -цепочка — это последовательное применение криптографической хэш-функции к фрагменту данных. В компьютерной безопасности хеш-цепочка — это метод, используемый для создания множества одноразовых ключей из одного ключа или пароля . Для обеспечения неотказуемости хеш-функция может последовательно применяться к дополнительным частям данных, чтобы записать хронологию существования данных.
Определение
[ редактировать ]Хэш -цепочка — это последовательное применение криптографической хэш-функции. в строку .
Например,
дает хэш-цепочку длиной 4, часто обозначаемую
Приложения
[ редактировать ]Лесли Лэмпорт [1] предложил использовать хэш-цепочки в качестве схемы защиты паролем в незащищенной среде. Сервер, которому необходимо обеспечить аутентификацию, может хранить хеш-цепочку, а не простой текстовый пароль, и предотвращать кражу пароля при передаче или кражу с сервера. Например, сервер начинает с хранения который предоставляется пользователем. Когда пользователь желает пройти аутентификацию, он предоставляет на сервер. Сервер вычисляет и проверяет, что это соответствует сохраненной хэш-цепочке. Затем он сохраняет в следующий раз, когда пользователь захочет пройти аутентификацию.
Подслушивающий видит переданный на сервер, не сможет повторно передать ту же цепочку хэшей на сервер для аутентификации, поскольку теперь сервер ожидает . Из-за одностороннего свойства криптографически безопасных хеш-функций перехватчику невозможно перевернуть хеш-функцию и получить более раннюю часть хэш-цепочки. В этом примере пользователь может пройти аутентификацию 1000 раз, прежде чем хеш-цепочка будет исчерпана. Каждый раз значение хеш-функции разное и, следовательно, не может быть продублировано злоумышленником.
Двоичные хэш-цепочки
[ редактировать ]Двоичные хэш-цепочки обычно используются вместе с хеш-деревом . Двоичная хеш-цепочка принимает в качестве входных данных два хэш-значения, объединяет их и применяет к результату хеш-функцию, создавая тем самым третье хэш-значение.
На диаграмме выше показано хеш-дерево, состоящее из восьми конечных узлов и хэш-цепочки для третьего листового узла. В дополнение к самим значениям хеш-функции для завершения хэш-цепочки необходим порядок конкатенации (справа или слева 1,0) или «биты порядка».
Цепи Винтерница
[ редактировать ]Цепи Винтерница (также известные как функциональные цепочки [2] ) используются в криптографии на основе хэша . Цепь параметризуется Параметр Винтерница w (количество битов в «цифре» d ) и параметр безопасности n (количество битов в хэш-значении, обычно удваивающее уровень безопасности , [3] 256 или 512). Цепь состоит из значения, являющиеся результатом многократного применения односторонней «цепочной» функции F к секретному ключу sk : . Функция цепочки обычно основана на стандартном криптографическом хеше , но ее необходимо параметризовать («рандомизировать» [4] ), поэтому он требует небольшого количества вызовов базового хеша. [5] -битного сообщения используется цепочка В схеме подписи Винтерница для кодирования одной цифры m , поэтому подпись Винтерница использует примерно бит, его расчет занимает около приложения функции Ф. [3] Обратите внимание, что некоторые стандарты подписи (например, расширенная схема подписи Меркла , XMSS) определяют w как количество возможных значений в цифре, поэтому в XMSS соответствует в стандартах (таких как Leighton-Micali Signature , LMS), которые определяют w так же, как указано выше, — как количество битов в цифре. [6]
Хэш-цепочка против блокчейна
[ редактировать ]Хэш-цепочка похожа на блокчейн , поскольку они оба используют криптографическую хеш-функцию для создания связи между двумя узлами. Однако блокчейн (используемый Биткойном и связанными с ним системами) обычно предназначен для поддержки распределенного соглашения вокруг публичного реестра (данных) и включает в себя набор правил для инкапсуляции данных и связанных с ними разрешений на данные.
См. также
[ редактировать ]- Аутентификация типа «запрос-ответ»
- Хэш-список . В отличие от рекурсивной структуры хеш-цепочек, элементы хэш-списка независимы друг от друга.
- Одноразовый пароль
- Ключевая растяжка
- Связанная метка времени . Двоичные хэш-цепочки являются ключевым компонентом связанной метки времени.
- Х.509
Ссылки
[ редактировать ]- ^ Л. Лэмпорт, «Аутентификация пароля при небезопасной связи», Communications of ACM 24.11 (ноябрь 1981 г.), стр. 770-772. [1]
- ^ Хюльсинг 2013b , стр. 18–20.
- ^ Jump up to: а б Бухманн и др. 2011 , с. 2.
- ^ Хюльсинг 2013b .
- ^ RFC 8391
- ^ NIST SP 800-208, Рекомендации по схемам подписи на основе хеша с отслеживанием состояния , стр. 5
Источники
[ редактировать ]- Бухманн, Йоханнес; Дамен, Эрик; Эрет, Сара; Хюльсинг, Андреас; Рюкерт, Маркус (2011). «О безопасности схемы одноразовой подписи Винтерница» (PDF) . Прогресс в криптологии – AFRICACRYPT 2011 . Конспекты лекций по информатике. Том 6737. Springer Berlin Heidelberg. стр. 363–378. дои : 10.1007/978-3-642-21969-6_23 . eISSN 1611-3349 . ISBN 978-3-642-21968-9 . ISSN 0302-9743 .
- Хюльсинг, Андреас (2013b). Практическая прямая безопасная подпись с использованием минимальных предположений безопасности (PDF) (доктор философии). ТУ Дармштадт .
- Хюльсинг, Андреас (2013a). «W-OTS + — более короткие подписи для схем подписи на основе хэша» (PDF) . Прогресс в криптологии – AFRICACRYPT 2013 . Конспекты лекций по информатике. Том. 7918. Шпрингер Берлин Гейдельберг. стр. 173–188. дои : 10.1007/978-3-642-38553-7_10 . eISSN 1611-3349 . ISBN 978-3-642-38552-0 . ISSN 0302-9743 .