Учебная цель:Рассмотреть основные положения реализации криптографической защиты в рамках обеспечения информационной безопасности процессов обработки информации.
1. Основные понятия криптографии.
2. Методы криптографии.
3. Симметричные и асимметричные криптосистемы.
4. Понятие цифровой подписи и цифрового сертификата.
Почему проблема использования криптографических методов в информационных системах (ИС) стала в настоящий момент особо актуальна?
С одной стороны, расширилось использование компьютерных сетей, в частности глобальной сети Интернет, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, не допускающего возможность доступа к ней посторонних лиц.
С другой стороны, появление новых мощных компьютеров, технологий сетевых и нейронных вычислений сделало возможным дискредитацию криптографических систем еще недавно считавшихся практически не раскрываемыми.
Проблемой защиты информации путем ее преобразования занимается криптология (kryptos – тайный, logos – наука). Криптология разделяется на два направления – криптографию и криптоанализ. Цели этих направлений прямо противоположны.
Криптографиязанимается поиском и исследованием математических методов преобразования информации. Криптография является основой любой защищенной связи, и поэтому важно познакомиться с тремя основными криптографическими функциями: симметричным шифрованием, асимметричным шифрованием и односторонними хэш-функциями. Все существующие технологии аутентификации, целостности и конфиденциальности созданы на основе именно этих трех функций.
Криптоанализ исследует возможности расшифровывания информации без знания ключей.
Современная криптография включает в себя четыре крупных раздела:
· Симметричные криптосистемы.
· Криптосистемы с открытым ключом.
· Системы электронной подписи.
· Управление ключами.
Основные направления использования криптографических методов – передача конфиденциальной информации по каналам связи (например, электронная почта), установление подлинности передаваемых сообщений, хранение информации (документов, баз данных) на носителях в зашифрованном виде.
Итак, криптография дает возможность преобразовать информацию таким образом, что ее прочтение (восстановление) возможно только при знании ключа. В качестве информации, подлежащей шифрованию и дешифрованию, будут рассматриваться тексты, построенные на некотором алфавите. Под этими терминами понимается следующее.
Алфавит – конечное множество используемых для кодирования информации знаков.
Текст – набор из элементов алфавита.
В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:
Ключ – переменная, секретная часть алгоритма преобразования, действия алгоритмов возможны только с известным ключом.
Шифрование – преобразование, при котором исходный текст заменяется шифрованным текстом.
Т Шифр = E (Ключ, Т Исх.)
Дешифрование – обратное для шифрования преобразование. На основе ключа шифрованный текст преобразуется в исходный.
Т Исх. = D (Ключ, Т Шифр)
Преобразования разделяются на симметричные и асимметричные (с открытым ключом).
В симметричных криптосистемах и для шифрования, и для дешифрования используется один и тот же закрытый (секретный) ключ.
Т Шифр = E (Ключ Секретный, Т Исх.)
Т Исх. = D (Ключ Секретный, Т Шифр)
Недостаток симметричного шифрования – трудность распространения секретного ключа, который должен быть и у отправителя, и у получателя; приходится использовать отдельный закрытый канал передачи, например курьерской почтой.
В асимметричных криптосистемах для преобразований используются два разных, математически связанных ключа – один секретный, а другой – открытый, который может быть у любого человека, в том числе у злоумышленника. Если открытый ключ используется для шифрования, то прочитать шифрованное сообщение может только получатель, т.к. только он владеет секретным ключом для дешифрации.
Т Шифр = E (Ключ Открытый, Т Исх.)
Т Исх. = D (Ключ Секретный, Т Шифр)
При этом открытый ключ можно свободно отослать тому, кто будет шифровать.
Если для дешифрования используется открытый ключ, то прочитать шифрованный текст сможет любой человек, смысл шифрования – не в обеспечении конфиденциальности.
Т Шифр = E (Ключ Секретный, Т Исх.)
Т Исх. = D (Ключ Открытый, Т Шифр)
Составить и зашифровать сообщение мог только один человек, владелец секретного ключа, тем самым подтверждается подлинность сообщения и доказывается его авторство.
Хэш-функция hдля любого текста T произвольной длины дает кодированный текст фиксированной длины h(T), этот код легко вычислить, но подобрать другой текст T’, у которого бы хэш-функция давала такое же значение, то есть h(T)= h(T’), с вычислительной точки зрения практически невозможно. Таким образом, если текст будет изменен, у него будет другое значение h. Это используется для проверки подлинности текста и того, что он является оригиналом, а не был модифицирован. Типичная длина кодированного текста, который дает хэш-функция – 128, 256 или 512 бит, от длины исходного текста она не зависит.
Таблица 13.1.
Возможные проблемы при обмене сообщениями
Вид нарушения
Сущность нарушения и действия
Злоумышленника
Отказ (ренегатство)
А заявляет, что он не посылал сообщение В, хотя на самом деле он посылал.
Модификация (изменение)
В изменяет сообщение и утверждает, что сообщение (измененное) послал ему А
Подделка
В составляет сообщение и утверждает, что сообщение (составленное) послал ему А
Активный перехват
Н перехватывает сообщения между А и В с целью их скрытой модификации
Маскировка (имитация)
Н посылает В сообщение от имени А
Повтор
Н повторяет ранее переданное сообщение, которое А посылал ранее В
Возможные проблемы при обмене сообщениями решаются на основе представленных функций, с помощью электронной цифровой подписи.
Электронная (цифровая) подпись – присоединяемое к тексту его криптографическое преобразование (зашифрованный хэш), которое позволяет при получении текста другим пользователем проверить авторство и подлинность сообщения.
Цифровая подпись = Е (Ключ Секретный, h (Т Исх.))
При передаче сообщения вместе с цифровой подписью A может отправить и свой открытый ключ, а также сертификат ключа подписи: подписанное посредником, третьей стороной, которой доверяют, подтверждение того, что открытый ключ принадлежит именно A. Проверить открытый ключ A можно и в центре сертификации, который выдает ключи.
В целом алгоритм обмена сообщениями выглядит так:
1. A вычисляет хэш-функцию h (Т Исх.) для текста сообщения T Исх.
2. A шифрует h (Т Исх.) секретным ключом, получает цифровую подпись Цифровая подпись = Е (Ключ Секретный, h (Т Исх.)).
3. A присоединяет подпись к сообщению и отправляет B.
4. B с помощью открытого ключа A дешифрует цифровую подпись:
h = D (Ключ Открытый, Цифровая подпись)
5. B вычисляет h (Т Исх.) для исходного текста и сравнивает его с полученным h. Одинаковые значения доказывают подлинность отправителя и целостность документа (того, что он не был изменен).
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т.е. криптоанализу). Имеется несколько показателей криптостойкости, среди которых количество всех возможных ключей, используемых в криптосистеме и среднее время, необходимое для криптоанализа.
Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:
· зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
· число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
· число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений);
· знание алгоритма шифрования не должно влиять на надежность защиты;
· незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;
· структурные элементы алгоритма шифрования должны быть неизменными;
· дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;
· длина шифрованного текста должна быть равной длине исходного текста;
· не должно быть простых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в процессе шифрования;
· любой ключ из множества возможных должен обеспечивать надежную защиту информации;
· алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.