3 Обеспечение целостности информации



Скачать 285.03 Kb.
страница1/2
Дата10.06.2013
Размер285.03 Kb.
ТипРеферат
  1   2
3.3. Обеспечение целостности информации
Обеспечение целостности – это функция защиты от несанкционированных или случайных модификаций, гарантирующая правильность передачи содержимого сообщения. По существу обеспечение целостности сообщений можно свести к обеспечению подлинности передаваемых сообщений. Подлинность сообщений можно обеспечить различными способами, в том числе не прибегая к шифрованию. Например, такой подход пригоден в случае, когда целостность информации играет важную роль, а конфиденциальность не требуется. На практике для обеспечения целостности сообщений используются следующие методы:

  • добавление к сообщению кода подлинности сообщения MAC (Message Authentical Code) 

  • добавление к сообщению зашифрованной контрольной суммы;

  • добавление к сообщению электронной цифровой подписи сообщения.

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

Механизмы подтверждения подлинности информации (аутентификации) должны обеспечить подтверждение следующих фактов [6, 9, 15]:

  • информация отправлена санкционированным абонентом сети;

  • содержание информации при передаче не изменилось;

  • информация доставлена адресату;

  • аналогичная информация ранее не передавалась;

  • порядок получения информации соответствует порядку отправления.

В случае конфликтной ситуации центр сертификации должен удостоверить, что действительно информация послана (или не послана) одним санкционированным абонентом сети другому.
3.3.1. Аутентификация информации и электронная цифровая подпись (ЭЦП) сообщений
В целях гарантированного подтверждения подлинности передаваемых в корпоративной сети сообщений широко используется электронная цифровая подпись сообщений. Она представляет собой относительно небольшое количество дополнительной информации (меньше 1024 бит), передаваемой вместе с подписываемой информацией. ЭЦП используется для аутентификации информации, передаваемой между абонентами корпоративной сети. Функционально электронная цифровая подпись аналогична обычной рукописной подписи и обладает следующими основными достоинствами:

  • удостоверяет, что подписанная информация исходит от абонента, сгенерировавшего подпись;

  • не дает возможности абоненту отправителю отказаться от обязательств, связанных с подписанной информацией;

  • гарантирует целостность подписанной информации.

В настоящее время с целью повышения эффективности работы ЭЦП применяется предварительное хэширование передаваемых сообщений перед их подписью [12, 15].
Вычисленное значение хэш-функции h(X) представляет собой один короткий блок информации, характеризующий всю подписываемую информацию. Такой подход существенным образом затрудняет отделение цифровой подписи от сообщения с целью подмены сообщения и добавления другой подписи.

Кроме того, подпись может содержать информацию следующего характера: дату подписи, срок действия ключа данной подписи, идентификатор абонента.

3.3.1.1. Цифровая подпись сообщений на основе симметричных алгоритмов
Рассмотрим процедуру генерации и проверки ЭЦП на основе симметричного криптоалгоритма (например, ГОСТ 28147-89).

Данная процедура предусматривает использование двух различных ключей криптопреобразования. Этими ключами одновременно владеет только отправитель, который и подписывает сообщение. Кроме того, описываемая процедура предусматривает наличие независимого центра сертификации (распределения ключей), которому доверяют все абоненты сети.

Каждый i-й абонент из центра сертификации должен конфиденциальным способом получить свой ключ подписи Ki и совокупность парных ключей Kij, где i, j – номера абонентов.

Теперь рассмотрим процедуру подписи сообщений абонентом А при их передачи абоненту В. Она осуществляется в следующей последовательности.

  1. Абонент А вычисляет значение хэш-функции (ХФ), отображающей сообщение X в хэш-образ h(X): Y=h(X).

  2. Значение Y зашифровывается с использованием ключа KAB: Q=EKAB(Y).

  3. Генерируется ЭЦП путем шифрования криптограммы Q на ключе KA: P=EKA(Y).

  4. Абонент А передает абоненту В исходное сообщение X и его цифровую подпись P.

Процедура проверки полученного значения подписи P под сообщением X абонентом В включает в себя следующие этапы.

  1. Абонент В зашифровывает подпись P на ключе KB и полученное значение F=EKB(P) отправляет центру сертификации.

  2. Центр сертификации:

  • расшифровывает полученную криптограмму на ключе KB и получает значение P1=DKB(F);

  • расшифровывает значение P1 c использованием ключа KA и получает значение Q1=DKB(P1);

  • зашифровывает значение Q1 с использованием ключа KB и полученное значение M=EKB(Q1) отправляет абоненту В.

  1. Абонент В:

  • расшифровывает полученное из центра сертификации значение M с использованием ключа KB и получает значение Q2=DKB(M);

  • расшифровывает значение Q2 на ключе KAB и получает значение хэш-образа Y1=DKАВ(Q2);

  • вычисляет значение хэш-функции от принятого сообщения X: Y=h(X), и сравнивает полученное значение со значением Y1.

При совпадении значений Y и Y1 абонент В принимает решение, что полученное сообщение отправлено и подписано абонентом А и в процессе передачи не нарушена целостность сообщения. В противном случае сообщение считается недействительным.
3.3.1.2. Цифровая подпись сообщений на основе асимметричных алгоритмов.
При использовании асимметричных алгоритмов можно реализовать достаточно простые схемы ЭЦП [6, 7]. В этом случае можно обойтись без посредничества центра сертификации.

Пусть X – сообщение, IDA – идентификатор абонента А, Е – функция шифрования, КА – секретный ключ абонента А.

Процедура подписи.

  1. Абонент А вычисляет значение хэш-функции (ХФ), отображающей сообщение X в хэш-образ h(X): Y=h(X).

  1. Генерируется ЭЦП путем шифрования значения Y и IDA с использованием секретного ключа KA: P=EKA(IDA,Y).

  1. Абонент А передает абоненту В свой идентификатор, исходное сообщение X и его цифровую подпись P: {IDA, X, P}.

Процедура проверки полученного значения подписи абонентом В включает в себя следующие этапы.

  1. Абонент В, находит в базе данных по идентификатору IDA открытый ключ К’А абонента А и расшифровывает с его помощью зашифрованную часть полученного сообщения.

  2. Абонент В вычисляет значение хэш-функции от принятого сообщения X: Y=h(X), и сравнивает полученное значение со значением, полученным при расшифровывании ЭЦП. При их совпадении абонент В принимает решение, что полученное сообщение отправлено и подписано абонентом А и в процессе передачи не нарушена целостность сообщения. В противном случае сообщение считается недействительным.


3.3.1.3. Современные протоколы цифровой подписи
Схема подписи на основе алгоритма RSA.
Данный протокол основан на асимметричном методе шифрования, описанном в разделе 2.5.4.2 [7, 12]. Перед отправлением сообщения абонент А получает хэш-образ сообщения Y=h(X). Затем производится генерация цифровой подписи P с помощью основной операции алгоритма RSA (дискретного возведения в степень) и секретного ключа абонента А – Kd:

P=YKd (mod n). (3.10)

Сообщение вместе с цифровой подписью передаются абоненту В. После приема {X, P}, абонент В вычисляет значение хэш-образа от сообщения Y=h(X) и осуществляет преобразование подписи сообщения P c использованием открытого ключа абонента А – Ke:

Y’=PKe(mod n). (3.11)

Если значения Y и Y’ равны, то абонент В признает подлинность принятого сообщения. Для алгоритма RSA отличие цифровой подписи от алгоритма шифрования состоит в том, что при шифровании открытый ключ используется для зашифрования, секретный ключ для расшифрования, а при генерации цифровой подписи – наоборот. Поэтому безопасность цифровой подписи аналогична безопасности шифрования информации алгоритмом RSA.

Недостаток рассмотренного протокола заключается в том, что при вычислении начальных параметров алгоритма и пар открытых и закрытых ключей требуется проверять большое количество дополнительных условий, что неприемлемо на практике. Кроме того, для обеспечения криптостойкости алгоритма необходимо работать с числами, размер которых превышает 2512. Также протокол ЭЦП RSA позволяет злоумышленнику без знания секретного ключа генерировать подписи под теми сообщениями, у которых результат хэширования можно вычислить как произведение результатов хэширования уже подписанных сообщений.
Протокол цифровой подписи Эль Гамаля.

Пусть общими для всей сети (или двух абонентов) являются: большое простое число p2512, и большое целое число g<p. Абонент А генерирует случайное целое число k
, и вычисляет [7, 9]

KAgk mod p. (3.12)

Полученное значение является открытым ключом абонента А, используемым для проверки подписываемых им сообщений. Число k является его секретным ключом. Для подписи сообщения X абонент А осуществляет следующие действия:

  1. Получает хэш-образ Y=h(X) сообщения X.

  2. Генерирует случайное целое l, такое что 1<l<p-1, НОД(l, p-1)=1 и вычисляет число R gl mod p.

  3. Используя расширенный алгоритм Евклида вычисляет с помощью секретного ключа k значение целого числа P из уравнения

Y=kR+lP (mod p-1), (3.13)

P=(Y-kR)l-1 (mod p-1).

Полученные значения чисел {R, P} образуют цифровую подпись, которая вместе с сообщением отправляется абоненту В. Числа k и l являются секретными параметрами протокола.

После приема подписанного сообщения абонент В выполняет процедуру проверки подписи:

  1. Вычисляет по принятому сообщению X его хэш-образ Y=h(X).

  2. Вычисляет и проверяет справедливость соотношения

gY (mod p)=KARRP (mod p). (3.14)

Если оно выполняется, тогда подпись верна. Последнее равенство будет выполняться тогда, и только тогда, когда подпись сообщения получена с помощью именно того секретного ключа k, из которого получен открытый ключ KA.

Протокол будет безопасным, если число l повторно не используется, иначе злоумышленник может определить из системы равенств (3.14) секретный ключ k.

По сравнению с протоколом RSA протокол Эль Гамаля имеет почти в два раза меньшую сложность вычислений и является безопасным к подделке цифровой подписи без знания секретного ключа. Однако длина цифровой подписи получается в 1.5 раза больше, что увеличивает сложность вычисления.

Алгоритм цифровой подписи DSA .

Данный протокол DSA (Digital Signature Algorithm) является развитем протоколов Эль Гамаля и К.Шнорра [15].

В нем используются следующие параметры:

  • p и g - простые числа длиной L битов, где L принимает значение, кратное 64, в диапазоне от 512 до 1024;

  • q - 160-битное простое число - сомножитель числа (p-1).

  • k - число, меньшее q;

  • KA = gk mod p.

Первые три параметра являются открытыми и общими для всех абонентов корпоративной сети. Значение k – секретный ключ абонента А, а KA – его открытый ключ.

Чтобы подписать сообщение X абонент А:

  1. Вычисляет значение хэш-образа Y=h(X) от сообщения X, используя однонаправленную функцию хэширования SHA, рассмотренную в 3.3.2.2.

  2. Генерирует случайное целое число l<q и вычисляет число

r = (gl mod p) mod q. (3.15)

3. Вычисляет с помощью секретного ключа k число

s = (l-1(Y + kr)) mod q. (3.16)

4. Отправляет цифровую подпись P={r, s} вместе с сообщением X абоненту В.

Абонент В проверяет подпись, вычисляя значение хэш-функции Y=h(X) и переменных

w = s-1 mod q,

U1=(Y w) mod q,

U2= (rw) mod q,

v=(( gU1 KAU2) mod p) mod q (3.17)

Если v = r, то подпись является подлинной.

По сравнению с протоколом Эль Гамаля алгоритм DSA имеет ряд преимуществ. Во-первых, при любом значении параметров g и p, числа q, k, r, s имеют длину по 160 бит, что сокращает длину подписи, состоящей из чисел r и s до 320 бит. Во-вторых, время вычисления и проверки подписи сокращается, так как большинство операций производится по модулю числа q длиной 160 бит а не помодулю числа большего или равного 2512. Недостатком рассмотренного алгоритма является наличие сложных операций определения обратной величины по модулю q, что несколько снижает быстродействие.

На практике алгоритм DSA можно ускорить с помощью выполнения предварительных вычислений. Например, значение r не зависит от сообщения, следовательно можно заранее создать строку случайных значений l, и затем рассчитать значения r для каждого из них. Можно также заранее вычислить l-1 для каждого из значений l. Затем, когда приходит сообщение, можно вычислить s для заданных значений r и l-1. Предварительные вычисления ускоряют работу алгоритма DSA, но требуют дополнительных затрат памяти.

Протокол цифровой подписи ГОСТ Р 34.10-94.

Это отечественный стандарт цифровой подписи [10]. Он очень похож на DSA, и использует следующие параметры:

  • p - простое число, длина которого либо между 509 и 512 битами, либо между 1020 и 1024 битами;

  • q - простое число - сомножитель p-1, длиной от 254 до 256 битов;

  • a - число, которое меньше значения (p-1), удовлетворяющее условию aq mod p =1;

  • x - число, меньшее q;

  • y = ax mod p.

Протокол также использует однонаправленную хэш-функцию h(X) на основе стандартного шифрования данных ГОСТ 28147-89.

Первые три параметра, p, q и a, открыты и могут использоваться всеми абонентами сети. Закрытым ключом служит x, а открытым - y. Чтобы подписать сообщение X абонент А:

1. Генерирует случайное число k, меньшее q.

2. Вычисляет значение чисел

r = (a k mod p) mod q; (3.18)

s = (xr + k(h(X))) mod q. (3.19)

Если h(X)(mod q)=0, то значение хэш-функции устанавливается равным 1. Если r =0, то переходят к шагу 1. Подписью служат два числа, r mod 2256 и s mod 2256 , которые отправляются абоненту В.

При проверке подписи абонент В вычисляет значения

v = h(X)q-2 mod q,

Z1= (sv) mod q,

Z2= ((q-r)v) mod q,

u = (( aZ1 yZ2) mod p) mod q. (3.20)

Если u = r, то подпись правильна.

Различие между этой схемой и DSA в том, что в DSA значение sрhhhh, определяемое по (3.16) отличается от s, определяемого по (3.19), что дает другое уравнение проверки подписи. Кроме того длина параметра q равна 256 битам. В большинстве других схем подписи q равен примерно 160 битам, что считается вполне безопасным.
4.3.2. Однонаправленные хэш-функции.
Однонаправленной функцией хэширования или просто хэш-функцией (ХФ) называется преобразование информации, переводящее блок информации произвольной длины в блок фиксированной длины [9].

Хэш-функции должны обладать двумя основными свойствами:

  1. Для данного значения функции h(M) должно быть невозможно найти аргумент M. Такие ХФ называются стойкими в смысле обращения или стойкими в сильном смысле.

  1. Для данного аргумента M должно быть невозможно найти другой аргумент M’ такой, что h(M)=h(M’). Такие ХФ называют стойкими в смысле вычисления коллизий или стойкими в слабом смысле.

На практике ХФ используются:

  • в процедурах ЭЦП для создания сжатого образа сообщения;

  • в процедурах идентификации объектов для защиты паролей;

  • в процедурах аутентификации для построения аутентицирующего кода.

В первом и третьем случаях необходимо использовать ХФ, стойкие в смысле вычисления коллизий, а во втором случае – стойкие в смысле обращения.

Схема вычисления значения h(M) ХФ h для сообщения M обычно включает в себя (рис. 3.12):

  • алгоритм вычисления шаговой функции хэширования g;

  • итеративную процедуру вычисления ХФ h.

Еще одним условием построения ХФ для практических приложений является быстродействие. Оно достигается применением следующих преобразований:

  • скоростных шифраторов n-битного блока информации;

  • операций модульной арифметики;

  • быстрого преобразования Фурье и др.

Рассмотрим ряд ХФ, используемых в различных практических приложениях.
3.3.2.1. Семейство хэш-функций MD 4, 5.
Во всех этих ХФ осуществляется преобразование входного блока информации произвольной длины в сжатый 128-битный образ [15]. Основные используемые операции: - сложение по модулю 232, циклический сдвиг, логические операции , ,.

Хэш-функция MD4 осуществляет обработку одного блока информации за 3 цикла, каждый из которых включает в себя шестнадцать операций. В каждом цикле используется своя цикловая функция fj, 1j3, где

f1=(XY) (Z),

f2=(XY) (XZ) (YZ),

f3=XYZ.

Схема MD5 сложнее MD4, однако, результатом MD5 также является 128-битовый хэш-образ. В хэш-функции MD5 исходная информация M задана t-битной последовательностью m1, m2,…, mt. Последовательность дополняется до длины сравнимой с 448 по модулю 512 (то есть длине сообщения не хватает 64 бита чтобы быть кратной 512). Дополнение осуществляется по следующему правилу – одна “1” и требуемое количество “0”, если же длина последовательности уже сравнима с 448 по модулю 512, то к сообщению добавляется 512 бит. К последней последовательности присоединяется 64-битное представление числа t. Если t264, используются только младшие 64 бит числа t. Таким образом, получаем дополненное сообщение M=M1, M2,…, Mn, где Mj – 16-ти словный с размером слова – 32 бит, а n – кратно 16.

Теперь перейдем к основному циклу алгоритма. Этот цикл продолжается, пока не исчерпаются 512-битовые блоки сообщения. Стартовый вектор MD0 имеет длину 128 бит и представляет собой конкатенацию четырех 32-х битных слов md0||md1||md2||md3, где md0=01234567, md1=89abcdef, md2=fedcba98, md3=76543210. В алгоритме в отличие от MD4 используется четыре цикловые функции fi, 1i4, где

f1=(XY) (Z),

f2=(XZ) (Y),

f3=XYZ,

f4=Y  (X).

Эти функции спроектированы так, чтобы, если соответствующие биты X, Y и Z независимы и несмещены, каждый бит результата также был бы независимым и несмещенным. Функция f1 - это побитовое условие: если X, то Y, иначе Z. Функция f3 - побитовая операция четности.

Все операции выполняются побитно, то есть каждый выходной бит зависит только от соответствующих ему входных бит. Вычисление ХФ выполняется итеративно n раз. В каждой итерации определяется шаговая функция MDj=g(MDj-1, Mj). Выходом будет h(M)=MDn. При вычислении используется накопитель E, содержащий четыре слова A, B, C, D по 32 бита. Исходным заполнением накопителя являются слова стартового вектора хэширования MD0.Четыре переменных копируются в другие переменные: A в a, B в b, C в c и D в d.

Схема основного цикла MD5 представлена на рис. 3.13. Обработка 16-ти словного блока Mj, 1jn, осуществляется за 4 этапа, каждый из которых включает в себя 16 шагов (рис. 3.14). На каждом шаге i-го этапа вычисляется одно из значений a=b+((a+fi(b,c,d)+Mj[s]+ti)<<<k), где 1i4; Mj[s] – слово выбранное из M; s, ti и k – параметры шага; x<<<k – циклический сдвиг значения x на k бит; “+” –операция сложения по модулю 232. Причем вычисляемое слово меняется от шага к шагу.

Таким образом, на каждом шаге выполняется четыре операции сложения, одна – циклического сдвига, и вычисляется значение одной цикловой функции. Для каждой итерации MDj представляет собой конкатенацию текущих значений четырех слов накопителя E.

После обработки слова Mn, итоговым сжатым образом сообщения будет 128-ми битная последовательность MDn=A||B||C||D.

Функция MD5 в сравнении с MD4 имеет следующие улучшения:

1. Добавился четвертый этап.

  1. В каждом действии используется уникальная прибавляемая константа.

  2. Функция f2 c ((XY)(XZ)(YZ)) была изменена на (XZ)(Y()), чтобы сделать результат выполнения f2 менее симметричным.

4. Каждое действие добавляется к результату предыдущего этапа. Это свойство обеспечивает более быстрый лавинный эффект.

5. Изменился порядок, в котором использовались подблоки сообщения на этапах 2 и 3, чтобы сделать шаблоны менее похожими.

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

Функция MD5 оказалось стойкой по отношению к дифференциальному криптоанализу каждого из этапов.Однако в MD5 существуют коллизии, но это обстоятельство никак не влияет на стойкость схемы, оно лишь означает, что одна из основных целей проектирования MD5 - создать устойчивую к коллизиям функцию сжатия - не была достигнута.
3.3.2.2. Алгоритм хэширования SHA (Secure Hash Algorithm).
Организация NIST, вместе с NSA, для стандарта цифровой подписи (Digital Signature Standard) разработали алгоритм безопасного хэширования SHA [1, 12, 15], необходимый для обеспечения безопасности алгоритма цифровой подписи DSA (Digital Signature Algorithm). Любое входное сообщение длиной меньше 264 бит SHA преобразует в 160-битный сжатый образ. Далее этот образ становится входом DSA, который вычисляет подпись сообщения. SHA считается безопасным, так как он разработан так, чтобы было вычислительно невозможно найти сообщение, соответствующее данному образу сообщения или найти два различных сообщения с одинаковым образом сообщения. Любые изменения, произошедшие при передаче сообщения, с очень высокой вероятностью приведут к изменению образа сообщения. Принципы, лежащие в основе SHA, аналогичны алгоритмам MD4, MD5, только выходная последовательность длиннее, чем у MD5 (160 бит вместо 128 бит).

Работа алгоритма начинается с дополнения исходного сообщения так. Используется тот же принцип дополнения, что и в MD5: сначала добавляется 1, а затем нули так, чтобы длина полученного сообщения была на 64 бита меньше числа, кратного 512, а затем добавляется 64-битовое представление длины оригинального сообщения.

Далее инициализируются пять 32-битовых переменных: A=0x67452301; B=0xefcdab89; C=0x98badcfe; D=0x10325476; E=0xc3d2e1fO. Затем начинается главный цикл алгоритма. Он обрабатывает сообщение 512-битовыми блоками. Вначале пять переменных копируются в другие переменные: A в a, B в b, C в c, D в d и E в e. Главный цикл состоит из четырех этапов по 20 операций в каждом. Каждая операция представляет собой нелинейную функцию над тремя из a, b, c, d и e, а затем выполняет сдвиг и сложение аналогично MD5. В SHA используется следующий набор функций:

fi(X,Y,Z)=(XY)(()Z), для i=0 до 19;

fi(X,Y,Z)=X Y Z, для i=20 до 39;

fi(X,Y,Z)=(XY)(XZ)(YZ), для i=40 до 59;

fi(X,Y,Z)=XY Z, для i=60 до 79;

и четыре константы:

Ki=0x5a827999, для i=0 до 19

Ki=0x6ed9eba1 , для i=20 до 39

Ki=0x8flbbcdc, для i=40 до 59

Ki=0xca62c1d6, для i=60 до 79

Блок сообщения преобразуется из шестнадцати 32-битовых слов (M0 по M15) в восемьдесят 32-битовых слов (W0 по W79) согласно алгоритма:

Wi=Mi , для i = 0 по 15

Wi=(Wi-3Wi-8 Wi-14Wi-16)<<<1, для t = 16 по 79

Главный цикл из восьмидесяти операций выглядит следующим образом:

for i:= 0 to 79

{ X = (a <<<5)+fi(b,c,d)+e+Wi+Ki; e=d; d=c; c=b<<<30; b=a; a=X},

где X – временная переменная. На рис.3.15 показана схема одной операции. Сдвиг переменных в алгоритме SHA выполняет ту же функцию, которую в MD5 выполняет использование в различных местах различных переменных.

В заключении главного цикла значения a, b, c, d и e добавляются к A, B, C D и E, соответственно, и алгоритм выполняется для следующего блока данных. Выходной последовательностью алгоритма будет конкатенация слов A, B, C, D и E.

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

1. Как и в MD5 алгоритм SHA имеет добавленный четвертый этап. Однако на четвертом этапе используется та же функция f, что и на втором этапе.

2. В алгоритме SHA на втором этапе используется версия функции из MD4: (XY)(X Z)(YZ).

3. В SHA на каждом этапе использует постоянное значение сдвига. Это значение - взаимно простое число с размером слова, как и в MD4.

Таким образом, можно сделать вывод, что алгоритм SHA - это аналог MD4 с добавлением расширяющего преобразования, дополнительного этапа и улучшенным лавинным эффектом. Так как однонаправленная хэш-функция SHA работает с 160-битным хэш-значением, она устойчивее к вскрытию перебором, чем 128-битовые хэш-функции.
4.3.2.5. Однонаправленные хэш-функции на основе симметричных блочных алгоритмов.
В качестве однонаправленных хэш-функций можно использовать симметричные блочные алгоритмы шифрования. Основная идея состоит в том, что если безопасен блочный алгоритм, то и однонаправленная хэш-функция будет безопасной.

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

Так как большинство блочных алгоритмов 64-битные, спроектирован ряд схем ХФ, преобразующих исходную информацию в 128-ми битный хэш-образ. При условии, что ХФ правильна, безопасность этой схемы основана на безопасности используемой блочной функции. Однако есть и исключения. Дифференциальный криптоанализ лучше работает против блочных функций в хэш-функциях, чем против блочных функций, используемых для шифрования, так как ключ известен, поэтому можно использовать различные приемы анализа. Для успеха нужна только одна правильная пара, и можно генерировать сколько угодно выбранного открытого текста.

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

Схема, в которой длина хэш-образа равна длине блока представлена на рис. 3.16. H0 = IH, , где IH - случайное начальное значение; Hi = EA(B) C где A, B и C могут быть либо Mi, Hi-1, (MiHi-1), либо константы (возможно равные 0). H0 - это некоторое случайное начальное число IH.

Всего от трех различных переменных принимающих одно из четырех возможных значений существует 64 варианта схем подобного типа. Пятнадцать из них тривиально слабы, так как результат не зависит от одного из входов. Тридцать семь небезопасны по другим причинам. В табл.3.2 представлены схемы оставшихся 12 безопасных хэш-функций. Первые четыре схемы безопасны при всех атаках [15].
  1   2

Похожие:

3 Обеспечение целостности информации iconНормативные требования к прочности и надёжности элементов ру ввэр и вопросы безопасности
О сохранении в аварии целостности барьеров безопасности речи не идёт, поскольку нарушение целостности одного из барьеров безопасности,...
3 Обеспечение целостности информации iconРуководящий документ средства вычислительной техники защита информации от нсд
Настоящий документ определяет требования и устанавливает классификацию алгоритмов защитного контрольного суммирования (азкс), предназначенных...
3 Обеспечение целостности информации iconКонцепция целостности харьков: Изд-во Харьковского гос ун-та, 1987
Экспликация концепции целостности на основе идеи относительности понятия множества в описании физической реальности
3 Обеспечение целостности информации iconПерспективы развития аппаратных средств защиты от несанкционированного доступа к информации
Таким образом, это привело к осознанию необхо­димости использования в системах защиты информации от нсд аппаратных средств со встроенными...
3 Обеспечение целостности информации iconОграничения целостности
Коммерческие субд имеют более тонкие средства для задания ограничений целостности, чем диаграммы «сущность-связь» или язык реляционной...
3 Обеспечение целостности информации iconЛекция Программное обеспечение. Уровни детализации алгоритма. Математические и программные средства и способы защиты информации. Аппаратные средства защиты информации. Программное обеспечение
Программное обеспечение. Уровни детализации алгоритма. Математические и программные средства и способы защиты информации. Аппаратные...
3 Обеспечение целостности информации iconТеория и практика массовой информации
Особенности и основные этапы развития журналистики в ХХ веке; современные сми россии; законодательное обеспечение свободы слова и...
3 Обеспечение целостности информации iconЛекция №4. Закономерности систем
Целостность. Закономерность целостности проявляется в системе в возникновении новых интегративных качеств, не свойственных образующим...
3 Обеспечение целостности информации iconПрограммное обеспечение
Именил в статье American Mathematical Monthly математик из Принстонского университета Джон Тьюки (John W. Tukey) в 1958 г. В области...
3 Обеспечение целостности информации iconРоль и место виртуальных цифровых библиотек в Интернете
Ключевые функции таких библиотек – обеспечение эффективной интеграции разнородных информационных ресурсов и публикация/регистрация...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org