Вы находитесь на странице: 1из 26

Cyber Security Professional Program

КРИПТОГРАФИЧЕСКАЯ
ЗАЩИТА
Linux Essentials
Криптография
Терминология
Предположим, что отправитель хочет послать сообщение получателю. Более того, этот отправитель
хочет послать свое сообщение безопасно: он хочет быть уверен, что перехвативший это сообщение
не сможет его прочесть.
Само сообщение называется открытым текстом. Изменение вида сообщения так, чтобы спрятать его
суть называется шифрованием. Шифрованное сообщение называется шифротекстом. Процесс
преобразования шифротекста в открытый текст называется дешифрированием.
Искусство и наука безопасных сообщений, называемая криптографией, воплощается в жизнь
криптографами. Криптоаналитиками называются те, кто постоянно используют криптоанализ,
искусство и науку взламывать шифротекст, то есть, раскрывать то, что находится «под маской».
Отрасль математики, охватывающая криптографию и криптоанализ, называется криптологией, а
люди, которые ей занимаются, - криптологами.
Изначально, целью криптографии было сохранение конфиденциальности передаваемых
сообщений, но с развитием компьютерной науки появились и другие применения.

2
Криптография
Цели криптографии
Кроме обеспечения конфиденциальности криптография часто используется для
других функций:
 Проверка подлинности. Получатель сообщения может проверить его источник,
злоумышленник не сможет замаскироваться под кого-либо.
 Целостность. Получатель сообщения может проверить, не было ли сообщение
изменено в процессе доставки, злоумышленник не сможет подменить
правильное сообщение ложным.
 Неотрицание авторства. Отправитель не сможет ложно отрицать отправку
сообщения.

3
Криптография
Алгоритмы и ключи
Криптографический алгоритм, также называемый шифром, представляет собой
математическую функцию, используемую для шифрования и дешифрирования.
(Обычно это две связанных функции: одна для шифрования, а другая для
дешифрирования.)
Если безопасность алгоритма основана на сохранении самого алгоритма в тайне,
это ограниченный алгоритм. Ограниченные алгоритмы представляют только
исторический интерес, но они совершенно не соответствуют сегодняшним
стандартам. Большая или изменяющаяся группа пользователей не может
использовать такие алгоритмы, так как всякий раз, когда пользователь покидает
группу, ее члены должны переходить на другой алгоритм. Алгоритм должен быть
заменен и в том случае, когда кто-нибудь извне случайно узнает секрет.

4
Криптография
Симметричные алгоритмы
Существует два основных типа алгоритмов, основанных на ключах: симметричные
и с открытым ключом. Симметричные алгоритмы, иногда называемые условными
алгоритмами, представляют собой алгоритмы, в которых ключ шифрования может
быть рассчитан по ключу дешифрирования и наоборот. В большинстве
симметричных алгоритмов ключи шифрования и дешифрирования одни и те же.
Эти алгоритмы, также называемые алгоритмами с секретным ключом или
алгоритмами с одним ключом, требуют, чтобы отправитель и получатель
согласовали используемый ключ перед началом безопасной передачи сообщений.
Безопасность симметричного алгоритма определяется ключом, раскрытие ключа
означает, что кто угодно сможет шифровать и дешифрировать сообщения.
Пока передаваемые сообщения должны быть тайными, ключ должен храниться в
секрете.
5
Криптография
Симметричные алгоритмы
Симметричные алгоритмы делятся на две категории. Одни алгоритмы
обрабатывают открытый текст побитно (иногда побайтно), они называются
потоковыми алгоритмами или потоковыми шифрами.
Другие работаю с группами битов открытого текста. Группы битов называются
блоками, а алгоритмы - блочными алгоритмами или блочными шифрами.
Для алгоритмов, используемых в компьютерных модемах, размер блока составляет
как минимум 64 бита - достаточно большое значение, чтобы помешать анализу, и
достаточно небольшое и удобное для работы.

6
Надежность традиционного (симметричного) шифрования
Требования к надежности
• Алгоритм шифрования должен быть достаточно стойким. Как минимум, он не должен дать
возможность расшифровать весь текст или вычислить ключ, даже если у противника в
распоряжении окажется несколько фрагментов шифрованного текста вместе с
соответствующими им фрагментами открытого текста.
• Отправитель и получатель должны некоторым образом получить копии секретного ключа и
сохранять его в тайне. Необходимо отметить, что надежность традиционного шифрования
зависит от секретности ключа, а не от секретности алгоритма.

7
Криптография с открытым ключем
Ассимметричные алгоритмы
Алгоритмы с открытым ключом (называемые асимметричными алгоритмами)
разработаны таким образом, что ключ, используемый для шифрования, отличается
от ключа дешифрирования. Более того, ключ дешифрирования не может быть (по
крайней мере, в течение разумного интервала времени) рассчитан по ключу
шифрования. Алгоритмы называются "с открытым ключом", потому что ключ
шифрования может быть открытым: кто угодно может использовать ключ
шифрования для шифрования сообщения, но только конкретный человек с
соответствующим ключом дешифрирования может расшифровать сообщение. В
этих системах ключ шифрования часто называется открытым ключом, а ключ
дешифрирования - закрытым. Закрытый ключ иногда называется секретным
ключом.

8
Криптография
Криптоанализ
Смысл криптографии - в сохранении открытого текста (или ключа, или и того, и
другого) в тайне от злоумышленников (также называемых взломщиками,
соперниками, врагами, перехватчиками). Предполагается, что злоумышленники
полностью контролируют линии связи между отправителем и получателем.
Криптоанализ - это наука получения открытого текста, не имея ключа. Успешно
проведенный криптоанализ может раскрыть открытый текст или ключ. Он также
может обнаружить слабые места в криптосистемах, что в конце концов приведет к
предыдущему результату. (Раскрытие ключа не криптологическими способами
называется компрометацией.)
Попытка криптоанализа называется вскрытием. Основное предположение
криптоанализа, впервые сформулированное в девятнадцатом веке Датчманом А.
Керкхофсом (Dutchman A. Kerckhoffs), состоит в том, что безопасность
9
полностьюопределяется ключом.
Криптография
Безопасность алгоритмов
Различные алгоритмы предоставляют различные степени безопасности в
зависимости от того, насколько трудно взломать алгоритм. Если стоимость взлома
алгоритма выше, чем стоимость зашифрованных данных, вы, скорее всего, в
безопасности. Если время взлома алгоритма больше, чем время, в течение
которого зашифрованные данные должны сохраняться в секрете, то вы также,
скорее всего, в безопасности. Если объем данных, зашифрованных одним ключом,
меньше, чем объем данных, необходимый для взлома алгоритма, и тогда вы,
скорее всего, в безопасности.
Существует вероятность новых прорывов в криптоанализе. С другой стороны,
значимость большинства данных падает со временем.
Важно, чтобы значимость данных всегда оставалась меньше, чем стоимость взлома
системы безопасности, защищающей данные.
10
Надежность шифра
Оценка трудоемкости атаки прямого перебора

Длина Требуемое время при скорости 1 Требуемое время при


ключа, бит Поле ключа (одно) шифрование/мкс скорости 106
шифрований/мкс

32 232 = 4,3*109 231мкс = 35,8 мин 2,15 мкс

56 256 = 7,2*1016 255мкс = 1142 года 10 часов

128 2128 = 3,4*1038 2127мкс = 5,4*1024 лет 5,4*1018 лет

168 2168 = 3,7*1050 2167мкс = 5,9*1036 лет 5,9*1030 лет

11
Криптография
Сеть Фейстеля
В 1971 году Хорст Фейстель (Horst Feistel) запатентовал два
устройства, реализовавшие различные алгоритмы
шифрования, названные затем общим названием
«Люцифер» (Lucifer). Одно из устройств использовало
конструкцию, впоследствии названную «сетью Фейстеля»
(«Feistel cipher», «Feistel network»).

Сеть Фейстеля имеет следующую структуру.


 Входной блок делится на несколько равной длины подблоков, называемых
ветвями.
 В случае, если блок имеет длину 64 бита, используются две ветви по 32 бита
каждая.
 Каждая ветвь обрабатывается независимо от другой, после чего осуществляется
циклический сдвиг всех ветвей влево.
 Такое преобразование выполняется несколько циклов или раундов.
12
Алгоритмы блочного шифрования
Характеристики алгоритмов с блочным шифрованием

Длина ключа, Размер блока,


Название Количество раундов
бит бит
AES (Rijndael) 128, 192 или 256 128, 192 или 256 10, 12, 14
Blowfish 32-448 64 16
CAST-128 128 64 16
DES 56 64 16
IDEA 128 64 8
RC2 до 1024 64 16
RC5 до 2048 32, 64 или 128 0...255
ГОСТ 28147-89 256 64 16 или 32

13
Криптография
Поточные шифры
Зашифрование осуществляется наложением потокового ключа - гаммы
(зашифрование гаммированием).
Иметь ключ, равный по размеру шифруемым данным представляется
проблематичным.
Поэтому поточные шифры вырабатывают выходную гамму на основе некоторого
секретного ключа небольшого размера, а значит основной задачей поточных
шифров является выработка некоторой последовательности (выходной гаммы) для
шифрования сообщения.

14
Обзор протоколов для VPN-соединений
PPTP
Протокол туннелирования точка-точка (Point-to-Point Tunneling Protocol) – это
протокол, изобретенный Microsoft для организации VPN через сети
коммутируемого доступа. PPTP является стандартным протоколом для построения
VPN уже на протяжении многих лет. Это только VPN-протокол и он опирается на
различные методы аутентификации для обеспечения безопасности (наиболее
часто используется MS-CHAP v.2). Доступен как стандартный протокол почти во
всех операционных системах и устройствах, поддерживающих VPN, что позволяет
использовать его без необходимости установки дополнительного программного
обеспечения. PPTP остается популярным выбором как предприятий, так и VPN-
провайдеров. Его преимущество также в том, что он использует меньше
вычислительных ресурсов, следовательно обладает высокой скоростью работы.

15
Обзор протоколов для VPN-соединений
PPTP
Протокол туннелирования точка-точка (Point-to-Point Tunneling Protocol) – это
протокол, изобретенный Microsoft для организации VPN через сети
коммутируемого доступа. PPTP является стандартным протоколом для построения
VPN уже на протяжении многих лет. Это только VPN-протокол и он опирается на
различные методы аутентификации для обеспечения безопасности (наиболее
часто используется MS-CHAP v.2). Доступен как стандартный протокол почти во
всех операционных системах и устройствах, поддерживающих VPN, что позволяет
использовать его без необходимости установки дополнительного программного
обеспечения. PPTP остается популярным выбором как предприятий, так и VPN-
провайдеров. Его преимущество также в том, что он использует меньше
вычислительных ресурсов, следовательно обладает высокой скоростью работы.

16
Обзор протоколов для VPN-соединений
L2TP и L2TP/IPsec
Протокол туннелирования 2 уровня (Layer 2 Tunnel Protocol) – это протокол VPN,
который сам по себе не обеспечивает шифрование и конфиденциальность
трафика, проходящего через него. По этой причине, как правило, используется
протокол шифрования IPsec для обеспечения безопасности и
конфиденциальности.
L2TP/IPsec встроен во все современные операционные системы и VPN-
совместимые устройства, и так же легко может быть настроен как и PPTP (обычно
используется тот же клиент). Проблемы могут возникнуть в том, что L2TP
использует UDP-порт 500, который может быть заблокирован файрволлом, если вы
находитесь за NAT. Поэтому может потребоваться дополнительная настройка
роутера (переадресация портов). Кстати, протокол SSL, например, использует TCP-
порт 443, чтобы быть неотличимым от обычного HTTPS-трафика.
17
Обзор протоколов для VPN-соединений
L2TP и L2TP/IPsec
Протокол IPsec на данный момент не имеет никаких серьезных уязвимостей и считается очень
безопасным при использовании таких алгоритмов шифрования, как AES. Однако, поскольку он
инкапсулирует данные дважды, это не так эффективно, как SSL-решения (например, OpenVPN или
SSTP), и поэтому работает немного медленнее.
Плюсы:
• очень безопасен
• легко настраивается
• доступен в современных операционных системах
Минусы:
• работает медленнее, чем OpenVPN
• может потребоваться дополнительная настройка роутера

18
Обзор протоколов для VPN-соединений
OpenVPN
OpenVPN является достаточно новой технологией с открытым кодом, которая использует
библиотеку OpenSSL и протоколы SSLv3/TLSv1, наряду с множеством других технологий для
обеспечения надежного VPN-решения. Одним из его главных преимуществ является то, что
OpenVPN очень гибок в настройках. Этот протокол может быть настроен на работу на любом порту,
в том числе на 443 TCP-порту, что позволяет маскировать трафик внутри OpenVPN под обычный
HTTPS (который использует, например, Gmail) и поэтому его трудно заблокировать.
Еще одним преимуществом OpenVPN является то, что используемые для шифрования библиотеки
OpenSSL поддерживают множество криптографических алгоритмов (например, AES, Blowfish, 3DES,
CAST-128, Camelia и другие). Наиболее распространенные алгоритмы, которые используют VPN-
провайдеры – AES и Blowfish. AES является новой технологией, и хотя оба считаются безопасными,
тот факт, что он имеет 128-битный размер блока, а не 64-битный как у Blowfish, означает, что он
может работать с большими (более 1Гб) файлами лучше. Различия, однако, довольно
незначительные. То, как быстро работает OpenVPN, зависит от выбранного алгоритма шифрования,
но, как правило, работает быстрее, чем IPsec.

19
Обзор протоколов для VPN-соединений
OpenVPN
OpenVPN стал технологией №1 при использовании VPN, и хотя он изначально не поддерживается
операционными системами, этот протокол широко поддерживается через стороннее программное
обеспечение. Совсем недавно невозможно было использовать OpenVPN на iOS и Android без
джейлбрейка и рута, а сейчас появились сторонние приложения, которые частично решили эту
проблему.
С этим связана другая проблема OpenVPN – гибкость может сделать его неудобным в настройке. В
частности, при использовании типовой программной реализации OpenVPN (например, стандартный
открытый клиент OpenVPN под Windows) необходимо не только скачать и установить клиент, но и
загрузить и установить дополнительные конфигурационные файлы. Многие VPN-провайдеры
решают эту проблему путем использования преднастроенных VPN-клиентов.

20
Обзор протоколов для VPN-соединений
OpenVPN

21
Обзор протоколов для VPN-соединений
OpenVPN
Плюсы:
• гибко настраивается
• очень безопасен (зависит от выбранного алгоритма шифрования, но все они безопасны)
• может работать сквозь файрволлы
• может использовать широкий спектр алгоритмов шифрования
Минусы:
• необходимо стороннее программное обеспечение
• может быть неудобен в настройке
• ограниченная поддержка сетевым оборудованием

22
Криптография
Методы аутентификации сообщений
Кодом аутентичности сообщения (Message Authentication Code - MAC) или
криптографической контрольной суммой (CRC) называется присоединенный к
сообщению небольшой блок данных фиксированного размера, сгенерированный с
помощью секретного ключа из открытых данных сообщения.
Хэшем (или дайджестом) сообщения называется блок данных фиксированного
размера, сгенерированный из открытых данных сообщения без использования
какого бы то ни было секретного ключа.

23
Стеганография
Сокрытие самого факта передачи данных
Стеганография служит для передачи секретов в других сообщениях, так что спрятано
само существование секрета. Как правило, отправитель пишет какое-нибудь
неприметное сообщение, а затем прячет секретное сообщение на том же листе
бумаги. Исторические приемы включают невидимые чернила, невидимые простому
глазу пометки у букв, плохо заметные отличия в написании букв, пометки карандашом
машинописных символов, решетки, покрывающие большую часть сообщения кроме
нескольких символов и тому подобное.
Ближе к сегодняшнему дню люди начали прятать секреты в графических
изображениях, заменяя младший значащий бит изображения битом сообщения.
Графическое изображение при этом менялось совсем незаметно - большинство
графических стандартов определяют больше цветовых градаций, чем способен
различить человеческий глаз - и сообщение извлекалось на противоположном конце.
Так в черно-белой картинке 1024х1024 пиксела можно спрятать можно спрятать
24
сообщение в 64 Кбайт.
Стеганография
Метод наименее значащих битов
Представим пиксель тремя байтами в битовом виде:

Младшие биты (выделены бледным, справа) дают незначительный вклад в изображение по сравнению со
старшими. Замена одного или двух младших бит для человеческого глаза будет почти незаметна.
Пусть необходимо в этом пикселе скрыть 6 бит — 101100. Разделим их на 3 пары и заместим этими
парами младшие биты в каждом канале.

25
QUESTIONS ?

Вам также может понравиться