- •Криптография с открытом ключом
- •2.0 Элементы теории сложности
- •2.1 Односторонние функции
- •2.2 Схема шифрования с открытым ключом
- •2.2.2 Схема шифрования rsa
- •2.3 Схема цифроврй подписи
- •2.3.1 Конструкция цп на основе односторонней функции с секретом
- •2.3.2 Цп на основе схемы шифрования с о.К.
- •2.3.4 Гост р 34.10-94
- •2.3.5 Гост р 34.10-2001
- •2.4.1 Слабые и сильные хф
- •2.4.2 Конструкция хф
- •2.4.3 Хф гост р 34.10-94
- •2.4.4 Применение хф
- •2.5 Хф с ключом
- •2.5.1 Определение
- •2.5.2 Конструкция хф с ключом
- •2.5.3 Имитовставка гост 28147
- •Криптографические протоколы
- •3.1 Определение
- •3.2 Классификация кп
- •3.3 Правила построения кп
- •3.4 Прием защиты от атак повтора
- •3.5 Протоколы обеспечения к, ц, н
- •3.5.1 Протокол пс с обеспечением ц
- •3.6 Протоколы аутентификации
- •3.6.1 Протокол простой защищенной аутентификации
- •3.6.2 Протоколы сильной аутентификации
- •3.7 Протоколы управления ключами
- •3.7.1 Протокол диффи-хэлмана
- •3.7.3 Протокол явного ключевого обмена
- •Управление ключами
- •4.1 Общие
- •4.2 Угрозы управления ключами
- •4.3 Защита ключей
- •4.4.1 По типу алгоритма
- •4.4.2 По уровням
- •4.4.3 По криптопериоду
- •4.5 Состояние ключей
- •4.6 Концепция распределения ключей
- •4.6.1 Распределение ключей «точка – точка»
- •4.6.2 Распределение внутри домена безопасности
- •4.6.3 Распределение ключей между доменами безопасности
2.4.4 Применение хф
1) ЦП
ХФ должна анализироваться на безопасность в паре с преобразованиями ЦП.
Должно быть, чтобы коллизию ХФ сложно было найти. Вопрос тспользования сильной или слабой ХФ подлежит обсуждению.
В контексте ЦП сильная ХФ нужна там, где возможен отказ от подписывания сообщения.
2) Парольная защита
А,РА→ В(А,РА) – на сервере хранятся пароль и имя. . А,РА→ В(А,hА) – схема хэширования паролей.
, hA=h(PA), .
Сильная ХФ не обязательна.
Противник может извлечь пароль из канала связи.
Схема одноразовых (однократных) паролей.
Р0; Pi+1=h(Pi);
P1,….PN
У пользователя На сервере
A(PN-1) B(A,PN), т.е. конечный
после чего сервер сохраняет пароль, который получил ,
A(PN-2)
Наблюдение пароля в канале связи ничего не дает, но если противник владеет каналом связи, то ему все возможно сделать.
В этом случае ХФ должна удовлетворять свойствам слабой ХФ.
3) Обеспечение целостности информации
(m,h(m))
Информация сохраняется и передается со значением ХФ от той же информации.
А на приеме
(m’,h’), - это выполняется, если информация не искажается.
Если информация исказилась: (возможно лишь при коллизии ХФ)
- возможно, если кто-то специально сделал.
Если и исказилась информация ХФ
- невозможно в принципе, т.к. противоречит свойствам ХФ, которая является односторонней.
Этот механизм не исключает ошибки, но верно для непреднамеренных ошибок. Если кто-то умышленно искажает информацию, то он же искажает контрольную сумму, т.к. она вычисляется в зависимости от информации.
2.5 Хф с ключом
2.5.1 Определение
ХФ с ключом k называется hk: V*→Vn (где V* - множество битовых строк n произвольной длины, Vn - множество битовых строк |n|), не зависящая от параметра k со следующими свойствами:
легко вычислить hk(x) при известном k;
трудно вычислить hk(x), не зная k.
Используется для обеспечения целостности и аутентификации.
2.5.2 Конструкция хф с ключом
Используют типовые кострукторные блоки:
а) схемы шифрования (блочные);
б) ХФ без ключа
1) Использование шифра + ХФ без ключа
hk(m)=Ek(h(m))
Достоинства: не требует новой техники
Недостатки: медленно
2) Только шифрование. Это описано в стандарте ISO/IEC 9797-1, требования:
- дополнение до кратности какой-то длины;
- стартовые преобразования I;
- финальные преобразования g;
- E блока M, n длина блока
hk(m)
- m=m||…||mt – дополнить до кратности и разбить на m-битные блоки |mi|=n;
- hi=I(mi);
- ;
- hk(m)=g(ht), Lh бит
3) На основе ХФ без ключа
- ХФ с ключом от сообщения
hk(m)=h(m||k) – может «шевелить» первые биты, приклеим ключ к сообщению и сожмем;
hk(m)=h(k||m) - может «шевелить» последние биты, приклеим ключ к сообщению и сожмем.
В стандарте ISO/IEC 9797-2 – HMAC описано типовое применение.
Приписывание нулей до длины входного блока ХФ
k0=h||0…0 дополняется до длины В, В – длина блока h;
ipad, opad – padding – фиксирование строки длины В.