Использование хэш-функций для обеспечения информационной безопасности
Автор: Анисимова Э.С.
Журнал: Экономика и социум @ekonomika-socium
Статья в выпуске: 1-2 (14), 2015 года.
Бесплатный доступ
В статье рассмотрены основные свойства хэш-функции, описаны преимущества их использования.
Хэш-функция, информационная безопасность
Короткий адрес: https://sciup.org/140110794
IDR: 140110794
Текст научной статьи Использование хэш-функций для обеспечения информационной безопасности
Хэш-функции играют в информационной защите важную роль, создавая для электронного документа его «моментальный снимок» и тем самым защищая документ от дальнейшей модификации или подмены.
В широком смысле функцией хэширования называется функция H, удовлетворяющая следующим основным свойствам:
-
1. Хэш-функция Н может применяться к блоку данных любой
-
2. Хэш-функция Н создает выход фиксированной длины (равно,
-
3. Н (М) вычисляется относительно быстро (за полиномиальное время от длины сообщения М).
-
4. Для любого данного значения хэш-кода h вычислительно невозможно найти M такое, что Н (M) = h.
-
5. Для любого данного х вычислительно невозможно найти y ^x, что H (y) = H (x).
-
6. Вычислительно невозможно найти произвольную пару (х, y) такую, что H (y) = H (x).
длины.
например, 128 бит для классической функции хэширования MD5, и 160 бит для американского стандарта хэш-функций SHA1).
Поскольку подписываемые документы — переменного (и как правило достаточно большого) объёма, в схемах ЭП зачастую подпись ставится не на сам документ, а на его хэш. Для вычисления хэша используются криптографические хэш-функции, что гарантирует выявление изменений документа при проверке подписи. Хэш-функции не являются частью алгоритма ЭП, поэтому в схеме может быть использована любая надёжная хэш-функция.
Все хэш-функции вычисляются следующим образом. Входное значение (сообщение, файл и т.п.) рассматривается как последовательность n-битных блоков. Входное значение обрабатывается последовательно блок за блоком, и создается m-битное значение хэш-кода .
Одним из простейших примеров хэш-функции является побитный XOR каждого блока:
С i = b i1 ф b i2 ф . . . ф b ik
Где
Сi - i-ый бит хэш-кода , 1
-
k - число n-битных блоков входа.
-
b ij - i-ый бит в j-ом блоке.
-
ф- операция XOR.
В результате получается хэш-код длины n, известный как продольный избыточный контроль. Это эффективно при случайных сбоях для проверки целостности данных.
Часто при использовании подобного продольного избыточного контроля для каждого блока выполняется однобитный циклический сдвиг после вычисления хэш-кода . Это можно описать следующим образом.
-
• Установить n-битный хэш-код в ноль.
-
• Для каждого n-битного блока данных выполнить следующие
операции:
-
o сдвинуть циклически текущий хэш-код влево на один бит;
-
o выполнить операцию XOR для очередного блока и хэш-кода .
Это даст эффект "случайности" входа и уничтожит любую регулярность, которая присутствует во входных значениях.
Хотя второй вариант считается более предпочтительным для обеспечения целостности данных и предохранения от случайных сбоев, он не может использоваться для обнаружения преднамеренных модификаций передаваемых сообщений. Зная сообщение, атакующий легко может создать новое сообщение, которое имеет тот же самый хэш-код . Для этого следует подготовить альтернативное сообщение и затем присоединить n-битный блок, который является хэш-кодом нового сообщения, и блок, который является хэш-кодом старого сообщения.
Хотя простого XOR или ротационного XOR (RXOR) недостаточно, если целостность обеспечивается только зашифрованным хэш-кодом, а само сообщение не шифруется, подобная простая функция может использоваться, когда все сообщение и присоединенный к нему хэш-код шифруются. Но и в этом случае следует помнить о том, что подобная хэш-функция не может проследить за тем, чтобы при передаче последовательность блоков не изменилась. Это происходит в силу того, что данная хэш-функция определяется следующим образом: для сообщения, состоящего из последовательности 64-битных блоков Х1, Х2,..., ХN, определяется хэш-код С как поблочный XOR всех блоков, который присоединяется в качестве последнего блока:
С = Х N+1 = X 1 ф X 2 ф . . .ф X N
Затем все сообщение шифруется, включая хэш-код, в режиме СВС для создания зашифрованных блоков Y1, Y2, ..., YN+1. По определению СВС имеем:
-
Х 1 = IV ф D K [Y 1 ]
Х i = Y i-1 ф D K [Y i ]
Х N+1 = Y N ф D K [Y N+1 ]
Но XN+1 является хэш-кодом :
Х N+1 = X 1 ф X 2 ф . . . ф X N =
(IV ф DK [Y1]) ф (Y1 ф DK [Y2]) ф. . .ф
(Y N-1 ф D K [Y N ])
Так как сомножители в предыдущем равенстве могут вычисляться в любом порядке, следовательно, хэш-код не будет изменен, если зашифрованные блоки будут переставлены.
Первоначальный стандарт, предложенный NIST, использовал простой XOR, который применялся к 64-битным блокам сообщения, затем все сообщение шифровалось, используя режим СВС.
Использование хэш-функций даёт следующие преимущества:
-
• Вычислительная сложность. Обычно хэш цифрового документа
делается во много раз меньшего объёма, чем объём исходного документа, и алгоритмы вычисления хэша являются более быстрыми, чем алгоритмы ЭП. Поэтому формировать хэш документа и подписывать его получается намного быстрее, чем подписывать сам документ.
-
• Совместимость. Большинство алгоритмов оперирует со строками
бит данных, но некоторые используют другие представления. Хэш-функцию можно использовать для преобразования произвольного входного текста в подходящий формат.
-
• Целостность. Без использования хэш-функции большой
электронный документ в некоторых схемах нужно разделять на достаточно малые блоки для применения ЭП. При верификации невозможно определить, все ли блоки получены и в правильном ли они порядке.
Список литературы Использование хэш-функций для обеспечения информационной безопасности
- Anisimova E.S., Ibatullin R.R. About One Method of On-Line Signature Verification Using Radial Basis Function//Modern Applied Science. -2015. -Vol. 9, No. 1. -pp. 137-148 DOI: 10.5539/mas.v9n1p137
- Ansimova E.S. Fractals and digital steganography//Сборник научных трудов SWorld. -Выпуск 1. Том 6. -Одесса, 2014. -ЦИТ:114-575. -С. 69-71.
- Анисимова Э.С. Идентификация онлайн-подписи с помощью оконного преобразования Фурье и радиального базиса//Компьютерные исследования и моделирование, 2014. -Т. 6. № 3. -С. 357-364.
- Анисимова Э.С. Идентификация подписи с использованием радиального базиса//Фундаментальные исследования, 2014. № 9-6. -С. 1185-1189.
- Анисимова Э.С. Самоорганизующиеся карты Кохонена в задачах кластеризации//Актуальные проблемы гуманитарных и естественных наук, 2014. № 9. -С. 13-16.
- Анисимова Э.С. Использование эллиптических кривых в стандарте цифровой подписи//Актуальные проблемы гуманитарных и естественных наук, 2015. № 1 (72). -С. 55-57.
- Анисимова Э.С. Электронно-цифровая подпись на основе метода Эль-Гамаля//Актуальные проблемы гуманитарных и естественных наук, 2015. № 1 (72). -С. 53-55.
- Анисимова Э.С. Фрактальное кодирование изображений//Сборник научных трудов SWorld. -Выпуск 3. Том 4. -Одесса, 2013. -ЦИТ:313-0589. -С. 79-81.