Криптография: основные понятия и алгоритмы Рябко С.Д., к.ф.-м.н. СТАНДАРТ СЕТЕВОЙ БЕЗОПАСНОСТИ ДЛЯ РОССИЙСКОГО БИЗНЕСА Cisco Solution Technology Integrator КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ История. Задачи криптографии Основные понятия Симметричные алгоритмы Асимметричные алгоритмы Управление ключами Литература История. Задачи криптографии Cisco Solution Technology Integrator Что такое криптография? Наука о том - как сделать информацию конфиденциальной, избирательно доступной (шифрование) как обеспечить целостность данных как обеспечить аутентификацию (достоверную идентификацию) • субъекта: аутентичность информационного источника • объекта: пользователя, процесса Предмет науки: - криптографические алгоритмы (математика) криптографические протоколы (процессы с использованием криптографических алгоритмов) Принцип (Август Керхоффс, 1835-1903): - как обеспечить доказательность действия (неотказуемость) как обеспечить контроль доступа (авторизацию) вся защита должна основываться только на качестве (длине, энтропии) ключа алгоритмы должны быть тщательно выверены и публично доступны Метод: - - для того, чтобы выполнить криптографическую операцию (за исключением, м.б., обеспечения целостности данных), нужно знать секретную информацию (ключ) незнающий ключа должен «искать иголку в стоге сена» (а «стог» должен быть достаточно большим в математическим смысле) © 2003-2007 S-Terra CSP 3 Основные задачи криптографии В узком контексте сетевой безопасности основными задачами криптографии являются - конфиденциальность данных: • цель: сделать данные «нечитаемыми» для непосвященных • метод: шифрование - целостность и имитостойкость данных • цель: исключить возможность умышленного и неумышленного изменения (искажения) данных неуполномоченными лицами • метод: хэш, имитовставка, электронно-цифровая подпись - аутентификация субъекта – доказательство того, что субъект действия является именно тем, за кого себя выдает - аутентификация источника данных – доказательство того, что данные изданы определенным субъектом и являются подлинными (т.е. никем другим не искажены; в этом смысле – аутентификация источника данных автоматически обеспечивает их целостность) - обеспечение неотказуемости – невозможности для субъекта, выполнившего некоторое действие, впоследствии отказаться от факта выполнения этого действия © 2003-2007 S-Terra CSP 4 Основные исторические вехи Древний мир - Средние века - жрецы и правители Египта, Греции, Рима перестановочный шифр Цезаря c Х века: церковь с XVI века: политики (Мария Стюарт) Гражданская война в США («Цилиндр Джефферсона», возможно, первая шифровальная машина) 1я мировая война: Циммерман 2я мировая война: Энигма, Элан Тьюринг 1948: теория информации Клода Элвуда Шеннона 1974: разработка первого криптостандарта (DES) 1976 (!): изобретение системы шифрования с открытым ключом (Витфилд Дифи и Мартин Хеллман) 1978: система электронно-цифровой подписи (Роналд Райвест, Ади Шамир, Леонард Адлеман) 1980е: первые открытые интернациональные исследования, создание международного центра разработки криптографических систем (International Association for Cryptographic Research, IACR, 1987) c 1990х: окончательная утрата занавеса секретности вокруг темы криптографии, либерализация законодательств распространения и применения криптосредств, повсеместное применение средств криптографии в программном обеспечении, коммуникациях, электронной коммерции © 2003-2007 S-Terra CSP 5 КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ История. Задачи криптографии Основные понятия Симметричные алгоритмы Асимметричные алгоритмы Управление ключами Литература Основные понятия Cisco Solution Technology Integrator Наука о «тайном слове» Криптология (греч.: скрытое слово), наука о математических аспектах защиты информации Криптография, Криптоанализ, наука о шифровании, алгоритмах кодирования данных наука о "взломе" шифров © 2003-2007 S-Terra CSP 7 Функции и механизмы Криптографические системы и примитивы "Бесключевые" "однонаправленные" функции (прямая функция считается легко, обратная, в идеале - бесконечно трудно) Алгоритмы с секретным ключом, Алгоритмы с открытым ключом, (два или более объектов делят один секретный ключ) (секретный ключ знает только один объект, криптофункции выподняются при помощи пары "свой" секретный + "чужой" открытый ключ) хэш-функции генераторы случайных чисел математические примитивы для работы с большими простыми числами © 2003-2007 S-Terra CSP симметричные шифры асимметричные шифры имитовставки (message authentication code) электронно-цифровая подпись псевдо-случайные генераторы чисел криптографические протоколы 8 Алиса и Боб В криптографических протоколах часто приходится строить примеры взаимодействия двух объектов А и Б Криптографы (математики!) придумали для этих объектов имена – Алиса и Боб - это удобно произносится (положим, на лекции) - герои разнополые, поэтому когда о них говорят в третьем лице – он или она – ясно, о ком речь © 2003-2007 S-Terra CSP Иногда в криптографических теоремах появляется третий герой – злоумышленник, его мы обозначим «В», враг 9 КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ История. Задачи криптографии Основные понятия Симметричные алгоритмы Асимметричные алгоритмы Управление ключами Литература Симметричные алгоритмы Cisco Solution Technology Integrator Симметричное шифрование © 2003-2007 S-Terra CSP 11 Симметричное шифрование Задача: передать от объекта А объекту Б сообщение, которое никто не сможет прочитать (конфиденциальность) Используется симметричное шифрование - Задача управления ключами: - - © 2003-2007 S-Terra CSP симметричными называются алгоритмы, в которых для шифрования и дешифрования используется один и тот же (известный только отправителю и получателю) секретный ключ требуется создать и доставить ключ абоненту необходимо согласовать, какой контекст на каких ключах шифруется иногда требуется заменить компрометированный или «отживший» отведенное время ключ 12 Обозначения KEY, ключ KAB K C = E (P) AB P = D (C) PLAINTEXT, открытый текст ENCRYPTION, шифрование DECRYPTION, дешифрование СIPHERTEXT, шифрованный текст © 2003-2007 S-Terra CSP 13 Симметричное шифрование Преимуществами систем с симметричными ключами являются - большое количество оптимизированных (быстродействующих) криптографических алгоритмов - большие длины секретных ключей (до 256 bit) • высокая криптостойкость • высокая энтропия (непредсказуемость) качественно выработанного ключа © 2003-2007 S-Terra CSP Основные недостатки - в крупномасштабных системах – большое количество секретных ключей – N2 или (N2–N)/2 - как следствие высокая сложность управления ключами, отсюда – неприменимость в задачах с большим числом [априорно незнакомых] пользователей 14 Симметричные криптоалгоритмы Западные стандарты: - DES, ключ 56 бит, утратил стойкость в силу малой длины ключа - 3DES, ключ 168 бит - AES, ключ 256 бит - BlowFish, RC2, RC4, CAST, IDEA … Российский стандарт - ГОСТ 28147-89, ключ 256 бит © 2003-2007 S-Terra CSP 15 Односторонние хэш-функции Задача: обеспечение целостности данных; требуется сопоставить каждому массиву данных невоспроизводимую контрольную сумму Механизм: хэш-функция (hash function) - Свойства: - - © 2003-2007 S-Terra CSP на вход подается блок данных любой длины на выходе число определенной длины однонаправленность: подсчитать хэшсумму легко, а предсказать контекст, который даст заданное значение хэшсуммы невозможно высокая контекстная чувствительность: любое изменение первоначальных данных (один бит!) приводит к непредсказуемому изменению контрольной суммы Наиболее широко применяемые алгоритмы расчета контрольных сумм - Message Digest 5 (MD5) Secure Hash Algorithm 1 (SHA-1) ГОСТ Р 34.11- 94 (в РФ) 16 Имитовставка (Keyed hash function) © 2003-2007 S-Terra CSP 17 Имитовставка (Keyed hash function) Задача: передать от объекта А объекту Б открытое сообщение, которое никто не сможет подделать Механизм: - Алиса формирует составной блок данных: открытое письмо + секретный ключ и рассчитывает хэш по этому блоку данных • эту хэш-сумму в западной литературе называют keyd hash function, в России бытует - письмо и хэш передаются Бобу по открытому каналу • это безопасно: не зная секретного ключа, злоумышленник не сможет изменить документ и поделать соответствующее значение хэш- - © 2003-2007 S-Terra CSP Боб рассчитывает хэш по аналогичному блоку данных и сверяет значение хэш-суммы с присланным Алисой 18 Имитовставка «у нас» и «у них» Режим расчета имитовставки описан в ГОСТ 28147-89 Однако в логика применения различна для традиционной западной Keyed hash function (Keyed HMAC) и имитовставки ГОСТ 28147-89: - - В результате - © 2003-2007 S-Terra CSP Keyed HMAC обычно рассчитывают по контексту, целостность которого требуется контролировать; дополнительные операции могут не выполняться ГОСТ 28147 рассчитывает имитовставку по открытому тексту, который всегда затем шифрует российский алгоритм выглядит довольно высоко защищенным западный алгоритм позволяет «отбраковать» нецелостное сообщение только по хэш-сумме, не выполняя трудоемкой операции дешифрования; как следствие – системы Keyed HMAC более устойчивы к DoS-атакам 19 КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ История. Задачи криптографии Основные понятия Симметричные алгоритмы Асимметричные алгоритмы Управление ключами Литература Асимметричные алгоритмы Cisco Solution Technology Integrator Асимметричные криптосистемы Задача: обеспечить конфиденциальность информации в больших открытых системах Задача решается при помощи асимметричных алгоритмов - - - каждый участник обмена создает ключевую пару – секретный (КС) и открытый (КО) ключ открытый ключ можно передать партнеру без риска компрометации секретного ключа шифрование и дешифрование асимметричны: • отправитель (А) шифрует, используя пару ( KС + KО) А Б • получатель (Б) расшифровывает, используя пару ( KС + KО) Б Ключевое управление существенно проще: - © 2003-2007 S-Terra CSP А N вместо ~N2 секретных ключей 21 Алгоритм Диффи-Хеллмана (Diffie-Hellman) Расчет ключевой пары KСА Великое открытие 1976 года - K А = (g О ?! KСА 1. генерация секретного ключа КС 2. вычисление открытого ключа КО (экспонента) • обратный расчет открытого ключа (логарифм) невозможен, следовательно открытый ключ можно передать кому угодно • g (база) и p (модуль) длинные простые числа, опубликованы в соответствующих стандартах ) mod p KСА = log ( KО А) g Расчет разделяемого секрета С K О А KАБ = ( KБ С K О Б KБА = ( KА KСБKСА ) mod p = (g ) mod p KСАKСБ ) mod p = (g ) mod p © 2003-2007 S-Terra CSP расчет комплиментарной пары ключей - расчет разделяемого секрета • и получатель, и отправитель могут рассчитать известное только им число KАБ = K БА (разделяемый секрет) • никто другой его рассчитать не сможет, поскольку не знает секретного ключа 22 «Механическая» аналогия © 2003-2007 S-Terra CSP 23 Асимметричные криптоалгоритмы Слева направо: Ади Шамир, Рональд Райвист, Леонард Адлеман, Ральф Меркль, Мартин Хеллман, Витфилд Диффи © 2003-2007 S-Terra CSP Diffie-Hellmann – основан на невозможности дискретного логарифмирования больших чисел RSA – Rivest, Shamir, Adelman – дополняет NP-сложную задачу логарифмирования сложной задачей разложения на множители El Hamal DSA – Digital Signature algorithm, стандарт США ГОСТ Р 34.10 – 94, 2001, стандарты РФ 24 Электронная цифровая подпись © 2003-2007 S-Terra CSP 25 Электронная цифровая подпись Задача: обеспечение целостности данных, аутентификации отправителя, неотказуемости - каждый партнер должен обладать комплементарной парой открытыйсекретный ключ партнеры должны обменяться публичными (открытыми ) ключами Свойства ЭЦП: - уникальна - неотъемлема от документа - может быть создана только автором (владельцем секретного ключа ЭЦП) • в случае, если этим ключом владеет только автор, обеспечивает доказательство авторства (выполнения действия) © 2003-2007 S-Terra CSP Регламентируется законодательством – Федеральный Закон РФ «Об Электронной цифровой подписи» № 1-ФЗ от 10.01.02 26 Свойства асимметричных криптосистем Преимущества: - решают задачу ключевого управления (отсутствует обмен секретами между участниками защищенного взаимодействия) - обеспечивают неотказуемость на основе ЭЦП Недостатки: - высокие вычислительные затраты • решение: применение алгоритмов симметричного шифрования - отсутствует прямая возможность аутентификации ключевого обмена • атака «Man in the Middle» © 2003-2007 S-Terra CSP 27 Справка: атака «Man in the Middle» © 2003-2007 S-Terra CSP 28 Справка: атака «Man in the Middle» Алиса и Боб попытались обменяться открытыми ключами Злоумышленник сумел перехватить этот обмен и выдать Алисе свой открытый ключ от имени Боба и наоборот - после этого он сможет расшифровать трафик Алисы, перешифровать его с использованием открытого ключа Боба и передать результат Бобу • конфиденциальность нарушена • Алиса и Боб никогда не узнают о нарушении конфиденциальности © 2003-2007 S-Terra CSP 29 КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ История. Задачи криптографии Основные понятия Симметричные алгоритмы Асимметричные алгоритмы Управление ключами Литература Управление ключами Cisco Solution Technology Integrator Проблема обмена открытыми ключами Асимметричные криптосистемы привлекательны, но требуют специальных мер защиты обмена открытыми ключами (защита от атаки «Man in the Middle») Возможные сценарии защиты: - Обмен открытыми ключами по доверительному каналу или проверка контрольных сумм открытых ключей по доверительному каналу • крайне неудобно, устраняет все преимущества асимметричной системы - Инфраструктура открытых ключей (Public Key Infrastructure, PKI) • Удостоверяющий центр (Certificate Authority, CA) • ЭЦП удостоверяющего центра оформляется в виде «Сертификата» открытого ключа © 2003-2007 S-Terra CSP 31 Основные функции PKI Инфраструктура открытых ключей: - регистрация пользователей, регистрация запросов на формирование сертификатов - выпуск/обновление сертификатов открытых ключей • по электронному запросу пользователя • по запросу администратора - управление ключами и сертификатами • генерация, именование ключей и сертификатов • хранение сертификатов • распространение сертификатов • отзыв сертификатов • аутентификация, контроль доступа к функциям управления ключами, протоколирование и мониторинг © 2003-2007 S-Terra CSP 32 Сертификат X.509 v.3 Сертификат (X.509 v3) Формат сертификата, версия Серийный номер сертификата Алгоритм ЭЦП (идентификатор) Имя издателя сертификата (X.500 issuer name) Период действия сертификата Имя владельца сертификата (X.500 subject name) Информация об открытом ключе Итентификатор алгоритма Значение Уникальный идентификатор издателя Уникальный идентификатор владельца Расширения сертификата (Extensions) Алгоритм ЭЦП (иднтификатор) ЭЦП на секретном ключе издателя сертификата © 2003-2007 S-Terra CSP Типовая архитектура PKI и структура сертификатов (X.509 v.3, CRL v.2) определена в международных стандартах ITU-T X.509 (ISO/IEC/ITU 9594-8) и RFC 2459 Сертификат X.509 v3 состоит из трех частей - «Тело» сертификата – формат, версия и серийный номер сертификата, атрибуты владельца (subject) и издателя (issuer) сертификата, значение открытого ключа, расширения сертификата - Алгоритм ЭЦП, на котором произведена подпись удостоверяющего центра (certificate authority, CA) - ЭЦП удостоверяющего центра (значение) 33 Архитектурная модель PKI © 2003-2007 S-Terra CSP Выдает сертификаты и CRL Распространяет сертификаты и CRL Позволяет контролировать время действия сертификатов 34 Децентрализованное издание сертификатов А Конечный пользователь генерирует секретный ключ, включает открытый ключ в запрос на сертификат и направляет его для сертификации в удостоверяющий центр - - © 2003-2007 S-Terra CSP схема обеспечивает уникальность и полную секретность личного ключа пользователя в этой схеме реализуется строго функция неотказуемости, поэтому такая схема имеет преимущество в юридически значимом электронном документообороте 35 Централизованное издание сертификатов А Ключевые пару генерирует и распространяет администратор удостоверяющего центра - © 2003-2007 S-Terra CSP схема эксплуатационно более проста, чем децентрализованное издание ключей, и может быть рекомендована для «неперсонализированных» приложений, где юридическая значимость ЭЦП не имеет большого значения (например, в VPN) 36 Масштабируемость: иерархия PKI © 2003-2007 S-Terra CSP 37 КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ История. Задачи криптографии Основные понятия Симметричные алгоритмы Асимметричные алгоритмы Управление ключами Литература Литература Cisco Solution Technology Integrator Источники разработки 1. Ueli Maurer, «Cryptography. Fundamentals and Applications», advanced technology seminar, Zurich, Switzerland, 2000 2. B.Schneier, «Security in the real world», Computer security journal, 1999, vol. XV, №4 3. ISO 7498-2, «Information processing systems—Open Systems Interconnection— Basic Reference Model—Part 2: Security Architecture», 1989. 4. Брюс Шнайер, «Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си», Триумф, 2003 5. 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. Павел Исаев, «Криптографические алгоритмы», Компьютерпресс, март 2002 7. W.Diffie, M.E.Hellmann, «New directions in cryptography», IEEE Transactions on information theory, vol.22, №6, стр. 644-654, 1976 8. 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. 120-126 9. 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» © 2003-2007 S-Terra CSP 39 КОНТАКТЫ e-mail: information@s-terra.com web: http://www.s-terra.com/ Тел.: +7 (495) 531 9789 +7 (495) 726 9891 Факс: +7 (495) 531 9789 Вопросы? Обращайтесь к нам! Cisco Solution Technology Integrator