Криптография: основные понятия и алгоритмы Рябко С.Д., к.ф.-м.н.

advertisement
Криптография:
основные понятия и алгоритмы
Рябко С.Д., к.ф.-м.н.
СТАНДАРТ СЕТЕВОЙ БЕЗОПАСНОСТИ ДЛЯ РОССИЙСКОГО БИЗНЕСА
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
Download