Асимметричные алгоритмы
2 Односторонние хэш-функции Задача: обеспечение целостности данных; требуется сопоставить каждому массиву данных невоспроизводимую контрольную сумму Механизм: хэш-функция (hash function) – на вход подается блок данных любой длины – на выходе число определенной длины Свойства: – однонаправленность: подсчитать хэш-сумму легко, а предсказать контекст, который даст заданное значение хэш-суммы невозможно – высокая контекстная чувствительность: любое изменение первоначальных данных (один бит!) приводит к непредсказуемому изменению контрольной суммы Наиболее широко применяемые алгоритмы расчета контрольных сумм – Message Digest 5 (MD5) – Secure Hash Algorithm 1 (SHA-1) – ГОСТ Р (в РФ)
3 Имитовставка (Keyed hash function)
4 Задача: передать от объекта А объекту Б открытое сообщение, которое никто не сможет подделать Механизм: – Алиса формирует составной блок данных: открытое письмо + секретный ключ и рассчитывает хэш по этому блоку данных эту хэш-сумму в западной литературе называют keyd hash function – письмо и хэш передаются Бобу по открытому каналу это безопасно: не зная секретного ключа, злоумышленник не сможет изменить документ и поделать соответствующее значение хэш- – Боб рассчитывает хэш по аналогичному блоку данных и сверяет значение хэш- суммы с присланным Алисой
5 Имитовставка «у нас» и «у них» Режим расчета имитовставки описан в ГОСТ Однако в логика применения различна для традиционной западной Keyed hash function (Keyed HMAC) и имитовставки ГОСТ : – Keyed HMAC обычно рассчитывают по контексту, целостность которого требуется контролировать; дополнительные операции могут не выполняться – ГОСТ рассчитывает имитовставку по открытому тексту, который всегда затем шифрует В результате – российский алгоритм выглядит довольно высоко защищенным – западный алгоритм позволяет «отбраковать» нецелостное сообщение только по хэш- сумме, не выполняя трудоемкой операции дешифрования; как следствие – системы Keyed HMAC более устойчивы к DoS-атакам
6 Асимметричные криптосистемы Задача: обеспечить конфиденциальность информации в больших открытых системах Задача решается при помощи асимметричных алгоритмов – каждый участник обмена создает ключевую пару – секретный (К С ) и открытый (К О ) ключ – открытый ключ можно передать партнеру без риска компрометации секретного ключа – шифрование и дешифрование асимметричны: отправитель (А) шифрует, используя пару ( + ) получатель (Б) расшифровывает, используя пару ( + ) Ключевое управление существенно проще: – N вместо ~N 2 секретных ключей KСKС А KОKО А KСKС Б KОKО Б
7 Алгоритм Диффи-Хеллмана (Diffie-Hellman) Великое открытие 1976 года – расчет комплиментарной пары ключей 1.генерация секретного ключа К С 2.вычисление открытого ключа К О (экспонента) обратный расчет открытого ключа (логарифм) невозможен, следовательно открытый ключ можно передать кому угодно g (база) и p (модуль) длинные простые числа, опубликованы в соответствующих стандартах – расчет разделяемого секрета и получатель, и отправитель могут рассчитать известное только им число K = K (разделяемый секрет) никто другой его рассчитать не сможет, поскольку не знает секретного ключа АБАББАБА ?! KСKС А KОKО А = ( g ) mod p KСKС А = log ( ) g KСKС А KОKО А KСKС Б K = ( ) mod p = ( g ) mod p АБАБ KСKС А KОKО Б KСKС А KСKС А БАБА KСKС Б KОKО А KСKС Б Расчет ключевой пары Расчет разделяемого секрета
8 «Механическая» аналогия
9 Асимметричные криптоалгоритмы Diffie-Hellmann – основан на невозможности дискретного логарифмирования больших чисел RSA – Rivest, Shamir, Adelman – дополняет NP-сложную задачу логарифмирования сложной задачей разложения на множители El Hamal DSA – Digital Signature algorithm, стандарт США Слева направо: Ади Шамир, Рональд Райвист, Леонард Адлеман, Ральф Меркль, Мартин Хеллман, Витфилд Диффи
10 Электронная цифровая подпись
11 Электронная цифровая подпись Задача: обеспечение целостности данных, аутентификации отправителя, неотказуемости – каждый партнер должен обладать комплементарной парой открытый-секретный ключ – партнеры должны обменяться публичными (открытыми ) ключами Свойства ЭЦП: – уникальна – неотъемлема от документа – может быть создана только автором (владельцем секретного ключа ЭЦП) в случае, если этим ключом владеет только автор, обеспечивает доказательство авторства (выполнения действия) Регламентируется законодательством – Закон Украины Об электронной цифровой подписи (2003)
12 Свойства асимметричных криптосистем Преимущества: – решают задачу ключевого управления (отсутствует обмен секретами между участниками защищенного взаимодействия) – обеспечивают неотказуемость на основе ЭЦП Недостатки: – высокие вычислительные затраты решение: применение алгоритмов симметричного шифрования – отсутствует прямая возможность аутентификации ключевого обмена атака «Man in the Middle»
13 Справка: атака «Man in the Middle»
14 Справка: атака «Man in the Middle» Алиса и Боб попытались обменяться открытыми ключами Злоумышленник сумел перехватить этот обмен и выдать Алисе свой открытый ключ от имени Боба и наоборот – после этого он сможет расшифровать трафик Алисы, перешифровать его с использованием открытого ключа Боба и передать результат Бобу конфиденциальность нарушена Алиса и Боб никогда не узнают о нарушении конфиденциальности
Шифрование, дешифрование и генерация ключей в RSA
Криптографическая система RSA Генерация ключей Получатель 1. P, Q - простые, N = P · Q 2. φ(N) = (P-1) · (Q-1), φ(N) - функция Эйлера Выбор открытого ключа Y: 1
Пример Генерация ключей 1. P = 3, Q = 11, N = P · Q = φ(N) = (P-1) · (Q-1) = 2 · 10 = 20 Y = 7, НОД(Y, φ(N)) = 1 X · Y = 1 (mod 20), 7 · 3 = 1 (mod 20), Х = 3 Сооб щение: М 1 М 2 32; М 1 = 3
Атаки RSА
Генерация ключей, шифрование, и дешифрование в криптосистеме Эль-Гамаля
Алгоритм Эль-Гамаля Генерация ключей 1. P, G - простые (P>G) 2. Х - секретный ключ, (случайное целое Х
Пример Шифрование М = 5 1. Р = 11, G = 2 (P>G) 2. X
Управление ключами
23 Проблема обмена открытыми ключами Асимметричные криптосистемы привлекательны, но требуют специальных мер защиты обмена открытыми ключами (защита от атаки «Man in the Middle») Возможные сценарии защиты: – Обмен открытыми ключами по доверительному каналу или проверка контрольных сумм открытых ключей по доверительному каналу крайне неудобно, устраняет все преимущества асимметричной системы – Инфраструктура открытых ключей (Public Key Infrastructure, PKI) Удостоверяющий центр (Certificate Authority, CA) ЭЦП удостоверяющего центра оформляется в виде «Сертификата» открытого ключа
24 Основные функции PKI Инфраструктура открытых ключей: – регистрация пользователей, регистрация запросов на формирование сертификатов – выпуск/обновление сертификатов открытых ключей по электронному запросу пользователя по запросу администратора – управление ключами и сертификатами генерация, именование ключей и сертификатов хранение сертификатов распространение сертификатов отзыв сертификатов аутентификация, контроль доступа к функциям управления ключами, протоколирование и мониторинг
25 Сертификат X.509 v.3 Типовая архитектура PKI и структура сертификатов (X.509 v.3, CRL v.2) определена в международных стандартах ITU-T X.509 (ISO/IEC/ITU ) и RFC 2459 Сертификат X.509 v3 состоит из трех частей – «Тело» сертификата – формат, версия и серийный номер сертификата, атрибуты владельца (subject) и издателя (issuer) сертификата, значение открытого ключа, расширения сертификата – Алгоритм ЭЦП, на котором произведена подпись удостоверяющего центра (certificate authority, CA) – ЭЦП удостоверяющего центра (значение) Сертификат (X.509 v3) Формат сертификата, версия Серийный номер сертификата Алгоритм ЭЦП (идентификатор) Имя издателя сертификата (X.500 issuer name) Период действия сертификата Имя владельца сертификата (X.500 subject name) Информация об открытом ключе Итентификатор алгоритма Значение Уникальный идентификатор издателя Уникальный идентификатор владельца Расширения сертификата (Extensions) Алгоритм ЭЦП (иднтификатор) ЭЦП на секретном ключе издателя сертификата
26 Архитектурная модель PKI Выдает сертификаты и CRL Распространяет сертификаты и CRL Позволяет контролировать время действия сертификатов
27 Децентрализованное издание сертификатов Конечный пользователь генерирует секретный ключ, включает открытый ключ в запрос на сертификат и направляет его для сертификации в удостоверяющий центр – схема обеспечивает уникальность и полную секретность личного ключа пользователя – в этой схеме реализуется строго функция неотказуемости, поэтому такая схема имеет преимущество в юридически значимом электронном документообороте А
28 Централизованное издание сертификатов Ключевые пару генерирует и распространяет администратор удостоверяющего центра – схема эксплуатационно более проста, чем децентрализованное издание ключей, и может быть рекомендована для «неперсонализированных» приложений, где юридическая значимость ЭЦП не имеет большого значения (например, в VPN) А
29 Масштабируемость: иерархия PKI
30 Источники разработки 1.Ueli Maurer, «Cryptography. Fundamentals and Applications», advanced technology seminar, Zurich, Switzerland, B.Schneier, «Security in the real world», Computer security journal, 1999, vol. XV, 4 3.ISO , «Information processing systemsOpen Systems InterconnectionBasic Reference ModelPart 2: Security Architecture», Брюс Шнайер, «Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си», Триумф, Ueli Maurer, «Cryptography 2000±10», Department of Computer Science, Swiss Federal Institute of Technology (ETH), Zurich, CH-8092 Zurich, Switzerland, ftp://ftp.inf.ethz.ch/pub/crypto/publications/FGMO01.pdf 6.Павел Исаев, «Криптографические алгоритмы», Компьютерпресс, март W.Diffie, M.E.Hellmann, «New directions in cryptography», IEEE Transactions on information theory, vol.22, 6, стр , R.L.Rivest, A.Shamir, L.Adleman, «A method of obtaining digital signatures and public-key cryptosystems», Communications of the ACM, 1978, vol. 21, 2, p.p Chris Brooks, «Computers and Society. Encryption Algorithms», Department of Computer Science, University of San Francisco 10.RFC 1750, S. Crocker, J. Schiller, December 1994 «Randomness Recommendations for Security»