Post on 21-Dec-2015
transcript
Cisco Solution Technology Integrator
Криптография: основные понятия и алгоритмы
Рябко С.Д., к.ф.-м.н.
СТАНДАРТ СЕТЕВОЙ БЕЗОПАСНОСТИ ДЛЯ РОССИЙСКОГО БИЗНЕСА
Cisco Solution Technology Integrator
История. Задачи криптографии
КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ
История. Задачи криптографии
Основные понятия
Симметричные алгоритмы
Асимметричные алгоритмы
Управление ключами
Литература
© 2003-2007 S-Terra CSP 3
Что такое криптография? Наука о том
как сделать информацию конфиденциальной, избирательно доступной (шифрование)
как обеспечить целостность данных как обеспечить аутентификацию (достоверную идентификацию)
• субъекта: аутентичность информационного источника• объекта: пользователя, процесса
как обеспечить доказательность действия (неотказуемость) как обеспечить контроль доступа (авторизацию)
Предмет науки: криптографические алгоритмы (математика) криптографические протоколы (процессы с использованием
криптографических алгоритмов) Принцип (Август Керхоффс, 1835-1903):
вся защита должна основываться только на качестве (длине, энтропии) ключа
алгоритмы должны быть тщательно выверены и публично доступны Метод:
для того, чтобы выполнить криптографическую операцию (за исключением, м.б., обеспечения целостности данных), нужно знать секретную информацию (ключ)
незнающий ключа должен «искать иголку в стоге сена» (а «стог» должен быть достаточно большим в математическим смысле)
© 2003-2007 S-Terra CSP 4
Основные задачи криптографии В узком контексте сетевой безопасности основными
задачами криптографии являются конфиденциальность данных:
• цель: сделать данные «нечитаемыми» для непосвященных• метод: шифрование
целостность и имитостойкость данных• цель: исключить возможность умышленного и неумышленного
изменения (искажения) данных неуполномоченными лицами• метод: хэш, имитовставка, электронно-цифровая подпись
аутентификация субъекта – доказательство того, что субъект действия является именно тем, за кого себя выдает
аутентификация источника данных – доказательство того, что данные изданы определенным субъектом и являются подлинными (т.е. никем другим не искажены; в этом смысле – аутентификация источника данных автоматически обеспечивает их целостность)
обеспечение неотказуемости – невозможности для субъекта, выполнившего некоторое действие, впоследствии отказаться от факта выполнения этого действия
© 2003-2007 S-Terra CSP 5
Основные исторические вехи Древний мир
жрецы и правители Египта, Греции, Рима перестановочный шифр Цезаря
Средние века c Х века: церковь с XVI века: политики (Мария Стюарт)
Гражданская война в США («Цилиндр Джефферсона», возможно, первая шифровальная машина)
1я мировая война: Циммерман 2я мировая война: Энигма, Элан Тьюринг 1948: теория информации Клода Элвуда Шеннона 1974: разработка первого криптостандарта (DES) 1976 (!): изобретение системы шифрования с открытым ключом (Витфилд Дифи и
Мартин Хеллман) 1978: система электронно-цифровой подписи (Роналд Райвест, Ади Шамир,
Леонард Адлеман) 1980е: первые открытые интернациональные исследования, создание
международного центра разработки криптографических систем (International Association for Cryptographic Research, IACR, 1987)
c 1990х: окончательная утрата занавеса секретности вокруг темы криптографии, либерализация законодательств распространения и применения криптосредств, повсеместное применение средств криптографии в программном обеспечении, коммуникациях, электронной коммерции
Cisco Solution Technology Integrator
Основные понятия
КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ
История. Задачи криптографии
Основные понятия
Симметричные алгоритмы
Асимметричные алгоритмы
Управление ключами
Литература
© 2003-2007 S-Terra CSP 7
Наука о «тайном слове»
Криптология(греч.: скрытое слово), наука о математических аспектах защиты
информации
Криптография,
наука о шифровании,алгоритмах кодирования
данных
Криптоанализ,
наука о "взломе" шифров
© 2003-2007 S-Terra CSP 8
Функции и механизмы
Криптографические системы и примитивы
"Бесключевые"
"однонаправленные"функции (прямая функциясчитается легко, обратная, видеале - бесконечно трудно)
хэш-функции
генераторы случайныхчисел
математические примитивыдля работы с большимипростыми числами
Алгоритмы ссекретным
ключом,(два или более объектов
делят один секретныйключ)
симметричные шифры
имитовставки (messageauthentication code)
псевдо-случайныегенераторы чисел
Алгоритмы соткрытымключом,
(секретный ключ знаеттолько один объект,
криптофункциивыподняются при помощипары "свой" секретный +"чужой" открытый ключ)
асимметричные шифры
электронно-цифроваяподпись
криптографическиепротоколы
© 2003-2007 S-Terra CSP 9
Алиса и Боб В криптографических
протоколах часто приходится строить примеры взаимодействия двух объектов А и Б
Криптографы (математики!) придумали для этих объектов имена – Алиса и Боб это удобно произносится
(положим, на лекции)
герои разнополые, поэтому когда о них говорят в третьем лице – он или она – ясно, о ком речь
Иногда в криптографических теоремах появляется третий герой – злоумышленник, его мы обозначим «В», враг
Cisco Solution Technology Integrator
Симметричные алгоритмы
КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ
История. Задачи криптографии
Основные понятия
Симметричные алгоритмы
Асимметричные алгоритмы
Управление ключами
Литература
© 2003-2007 S-Terra CSP 11
Симметричное шифрование
© 2003-2007 S-Terra CSP 12
Симметричное шифрование Задача: передать от объекта А
объекту Б сообщение, которое никто не сможет прочитать (конфиденциальность)
Используется симметричное шифрование
симметричными называются алгоритмы, в которых для шифрования и дешифрования используется один и тот же (известный только отправителю и получателю) секретный ключ
Задача управления ключами: требуется создать и доставить
ключ абоненту необходимо согласовать, какой
контекст на каких ключах шифруется
иногда требуется заменить компрометированный или «отживший» отведенное время ключ
© 2003-2007 S-Terra CSP 13
Обозначения
C = E (P) P = D (C)K KAB AB
PLAINTEXT,открытый текст
ENCRYPTION,шифрование
СIPHERTEXT,шифрованный текст
DECRYPTION,дешифрование
KEY,ключ
© 2003-2007 S-Terra CSP 14
Симметричное шифрование Преимуществами систем с симметричными
ключами являются
большое количество оптимизированных (быстродействующих) криптографических алгоритмов
большие длины секретных ключей (до 256 bit)
• высокая криптостойкость• высокая энтропия (непредсказуемость)
качественно выработанного ключа Основные недостатки
в крупномасштабных системах – большое количество секретных ключей – N2 или (N2–N)/2
как следствие высокая сложность управления ключами, отсюда – неприменимость в задачах с большим числом [априорно незнакомых] пользователей
© 2003-2007 S-Terra CSP 15
Симметричные криптоалгоритмы Западные стандарты:
DES, ключ 56 бит, утратил стойкость в силу малой длины ключа
3DES, ключ 168 бит AES, ключ 256 бит BlowFish, RC2, RC4,
CAST, IDEA … Российский стандарт
ГОСТ 28147-89, ключ 256 бит
© 2003-2007 S-Terra CSP 16
Односторонние хэш-функции Задача: обеспечение целостности
данных; требуется сопоставить каждому массиву данных невоспроизводимую контрольную сумму
Механизм: хэш-функция (hash function) на вход подается блок данных любой
длины на выходе число определенной длины
Свойства: однонаправленность: подсчитать хэш-
сумму легко, а предсказать контекст, который даст заданное значение хэш-суммы невозможно
высокая контекстная чувствительность: любое изменение первоначальных данных (один бит!) приводит к непредсказуемому изменению контрольной суммы
Наиболее широко применяемые алгоритмы расчета контрольных сумм
Message Digest 5 (MD5) Secure Hash Algorithm 1 (SHA-1) ГОСТ Р 34.11- 94 (в РФ)
© 2003-2007 S-Terra CSP 17
Имитовставка (Keyed hash function)
© 2003-2007 S-Terra CSP 18
Имитовставка (Keyed hash function) Задача: передать от объекта А
объекту Б открытое сообщение, которое никто не сможет подделать
Механизм: Алиса формирует составной блок
данных: открытое письмо + секретный ключ и рассчитывает хэш по этому блоку данных
• эту хэш-сумму в западной литературе называют keyd hash function, в России бытует
письмо и хэш передаются Бобу по открытому каналу
• это безопасно: не зная секретного ключа, злоумышленник не сможет изменить документ и поделать соответствующее значение хэш-
Боб рассчитывает хэш по аналогичному блоку данных и сверяет значение хэш-суммы с присланным Алисой
© 2003-2007 S-Terra CSP 19
Имитовставка «у нас» и «у них» Режим расчета имитовставки описан
в ГОСТ 28147-89 Однако в логика применения
различна для традиционной западной Keyed hash function (Keyed HMAC) и имитовставки ГОСТ 28147-89:
Keyed HMAC обычно рассчитывают по контексту, целостность которого требуется контролировать; дополнительные операции могут не выполняться
ГОСТ 28147 рассчитывает имитовставку по открытому тексту, который всегда затем шифрует
В результате российский алгоритм выглядит
довольно высоко защищенным
западный алгоритм позволяет «отбраковать» нецелостное сообщение только по хэш-сумме, не выполняя трудоемкой операции дешифрования; как следствие – системы Keyed HMAC более устойчивы к DoS-атакам
Cisco Solution Technology Integrator
Асимметричные алгоритмы
КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ
История. Задачи криптографии
Основные понятия
Симметричные алгоритмы
Асимметричные алгоритмы
Управление ключами
Литература
© 2003-2007 S-Terra CSP 21
Асимметричные криптосистемы Задача: обеспечить
конфиденциальность информации в больших открытых системах
Задача решается при помощи асимметричных алгоритмов
каждый участник обмена создает ключевую пару – секретный (КС) и открытый (КО) ключ
открытый ключ можно передать партнеру без риска компрометации секретного ключа
шифрование и дешифрование асимметричны:
• отправитель (А) шифрует, используя
пару ( + )
• получатель (Б) расшифровывает,
используя пару ( + )
Ключевое управление существенно проще:
N вместо ~N2 секретных ключей
KСА
KОАKС
Б
KОБ
© 2003-2007 S-Terra CSP 22
Алгоритм Диффи-Хеллмана (Diffie-Hellman) Великое открытие 1976 года
расчет комплиментарной пары ключей
1. генерация секретного ключа КС
2. вычисление открытого ключа КО (экспонента)
• обратный расчет открытого ключа (логарифм) невозможен, следовательно открытый ключ можно передать кому угодно
• g (база) и p (модуль) длинные простые числа, опубликованы в соответствующих стандартах
расчет разделяемого секрета• и получатель, и отправитель
могут рассчитать известное только им число K = K (разделяемый секрет)
• никто другой его рассчитать не сможет, поскольку не знает секретного ключа
АБ БА
?!
KСА
KОА = (g ) mod pKС
А
= log ( )g
KСА KО
А
KСБK = ( ) mod p = (g ) mod pАБ
KСА
KОБ
KСА
KСАK = ( ) mod p = (g ) mod pБА
KСБ
KОА
KСБ
Расчет ключевой пары
Расчет разделяемого секрета
© 2003-2007 S-Terra CSP 23
«Механическая» аналогия
© 2003-2007 S-Terra CSP 24
Асимметричные криптоалгоритмы Diffie-Hellmann – основан на
невозможности дискретного логарифмирования больших чисел
RSA – Rivest, Shamir, Adelman – дополняет NP-сложную задачу логарифмирования сложной задачей разложения на множители
El Hamal DSA – Digital Signature
algorithm, стандарт США ГОСТ Р 34.10 – 94, 2001,
стандарты РФ
Слева направо: Ади Шамир, Рональд Райвист, Леонард
Адлеман, Ральф Меркль, Мартин Хеллман, Витфилд Диффи
© 2003-2007 S-Terra CSP 25
Электронная цифровая подпись
© 2003-2007 S-Terra CSP 26
Электронная цифровая подпись Задача: обеспечение
целостности данных, аутентификации отправителя, неотказуемости
каждый партнер должен обладать комплементарной парой открытый-секретный ключ
партнеры должны обменяться публичными (открытыми ) ключами
Свойства ЭЦП: уникальна неотъемлема от документа может быть создана только
автором (владельцем секретного ключа ЭЦП)
• в случае, если этим ключом владеет только автор, обеспечивает доказательство авторства (выполнения действия)
Регламентируется законодательством – Федеральный Закон РФ «Об Электронной цифровой подписи» № 1-ФЗ от 10.01.02
© 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
Справка: атака «Man in the Middle» Алиса и Боб попытались
обменяться открытыми ключами
Злоумышленник сумел перехватить этот обмен и выдать Алисе свой открытый ключ от имени Боба и наоборот после этого он сможет
расшифровать трафик Алисы, перешифровать его с использованием открытого ключа Боба и передать результат Бобу
• конфиденциальность нарушена
• Алиса и Боб никогда не узнают о нарушении конфиденциальности
Cisco Solution Technology Integrator
Управление ключами
КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ
История. Задачи криптографии
Основные понятия
Симметричные алгоритмы
Асимметричные алгоритмы
Управление ключами
Литература
© 2003-2007 S-Terra CSP 31
Проблема обмена открытыми ключами Асимметричные криптосистемы
привлекательны, но требуют специальных мер защиты обмена открытыми ключами (защита от атаки «Man in the Middle»)
Возможные сценарии защиты: Обмен открытыми ключами по
доверительному каналу или проверка контрольных сумм открытых ключей по доверительному каналу
• крайне неудобно, устраняет все преимущества асимметричной системы
Инфраструктура открытых ключей (Public Key Infrastructure, PKI)
• Удостоверяющий центр (Certificate Authority, CA)
• ЭЦП удостоверяющего центра оформляется в виде «Сертификата» открытого ключа
© 2003-2007 S-Terra CSP 32
Основные функции PKI Инфраструктура открытых
ключей: регистрация пользователей,
регистрация запросов на формирование сертификатов
выпуск/обновление сертификатов открытых ключей
• по электронному запросу пользователя
• по запросу администратора
управление ключами и сертификатами
• генерация, именование ключей и сертификатов
• хранение сертификатов• распространение сертификатов• отзыв сертификатов• аутентификация, контроль доступа к
функциям управления ключами, протоколирование и мониторинг
© 2003-2007 S-Terra CSP 33
Сертификат X.509 v.3 Типовая архитектура 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)
ЭЦП удостоверяющего центра (значение)
Сертификат (X.509 v3)
Формат сертификата, версия
Серийный номер сертификата
Алгоритм ЭЦП (идентификатор)
Имя издателя сертификата(X.500 issuer name)
Период действия сертификата
Имя владельца сертификата(X.500 subject name)
Информация оботкрытом ключе
Итентификатор алгоритма
Значение
Уникальный идентификатор издателя
Уникальный идентификатор владельца
Расширения сертификата (Extensions)
Алгоритм ЭЦП (иднтификатор)
ЭЦП на секретном ключе издателясертификата
© 2003-2007 S-Terra CSP 34
Архитектурная модель PKI
Выдает сертификаты и CRL
Распространяет сертификаты и CRL
Позволяет контролировать время действия сертификатов
© 2003-2007 S-Terra CSP 35
Децентрализованное издание сертификатов
Конечный пользователь генерирует секретный ключ, включает открытый ключ в запрос на сертификат и направляет его для сертификации в удостоверяющий центр
схема обеспечивает уникальность и полную секретность личного ключа пользователя
в этой схеме реализуется строго функция неотказуемости, поэтому такая схема имеет преимущество в юридически значимом электронном документообороте
А
© 2003-2007 S-Terra CSP 36
Централизованное издание сертификатов
Ключевые пару генерирует и распространяет администратор удостоверяющего центра
схема эксплуатационно более проста, чем децентрализованное издание ключей, и может быть рекомендована для «неперсонализированных» приложений, где юридическая значимость ЭЦП не имеет большого значения (например, в VPN)
А
© 2003-2007 S-Terra CSP 37
Масштабируемость: иерархия PKI
Cisco Solution Technology Integrator
Литература
КРИПТОГРАФИЯ: ОСНОВНЫЕ ПОНЯТИЯ И АЛГОРИТМЫ
История. Задачи криптографии
Основные понятия
Симметричные алгоритмы
Асимметричные алгоритмы
Управление ключами
Литература
© 2003-2007 S-Terra CSP 39
Источники разработки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»
Cisco Solution Technology Integrator
Вопросы?
Обращайтесь к нам!
КОНТАКТЫ
e-mail: information@s-terra.com
web: http://www.s-terra.com/
Тел.: +7 (495) 531 9789
+7 (495) 726 9891
Факс: +7 (495) 531 9789