Криптографический
метод защиты информации.
Обычно
рассматриваются вопросы защиты данных на компьютерах и с использованием
компьютеров. Существуют два принципиально различных подхода к защите
конфиденциальной информации: ограничение доступа и шифрование.
При использовании первого подхода информация не
изменяется, а затрудняется доступ к ней,
например, с использованием паролей.
При использовании шифрования информация изменяется с использованием известного
только законным пользователям способом. Доступ к зашифрованной информации,
как правило, не ограничивается.
Наука о шифровании называется криптографией.
Современная криптография рассматривает следующие
проблемы безопасности:
·
обеспечение конфиденциальности,
·
обеспечение целостности,
·
обеспечение аутентификации,
·
обеспечение невозможности отказа от
авторства.
Решение этих проблем и является основной целью
криптографии.
Обеспечение конфиденциальности информации
заключается в ее защите от ознакомления со стороны лиц, не имеющих права
доступа к ней. Используются также термины «секретная», «частная» и «информация
ограниченного доступа».
Обеспечение целостности информации означает
гарантию невозможности ее несанкционированного изменения. Для решения этой
задачи необходим простой и надежный способ обнаружения манипуляций (вставка,
замена и удаление) с данными.
Обеспечение аутентификации заключается в
подтверждении подлинности сторон (идентификация)
и самой информации в процессе информационного взаимодействия. Информация должна
быть аутентифицирована по источнику, времени создания, содержанию данных,
времени передачи и т.п.
Обеспечение невозможности отказа от авторства
означает предотвращение возможности отказа субъектов от некоторых из
совершенных ими действий.
Наиболее востребованной и изученной, а также самой простой из этих задач является
обеспечение конфиденциальности информации.
В простейшем случае эта задача описывается
взаимодействием трех сторон: владелец информации, получатель и противник.
Владелец информации обычно называется отправителем.
Он осуществляет преобразование (шифрование) исходной (открытой)
информации в закрытую информацию с целью передачи ее по доступному
противнику каналу связи.
Противником считается любой субъект, не имеющий права
ознакомления с передаваемой информацией. В качестве противника может выступать криптоаналитик,
владеющий методами раскрытия шифров. Законный получатель информации
осуществляет расшифрование полученного сообщения. Противник осуществляет атаку - попытку овладеть зашифрованной
информацией.
Атаки делятся на пассивные и активные. Пассивные
атаки заключаются в прослушивании, анализе трафика, перехвате, записи,
дешифровании передаваемых закрытых (шифрованых) сообщений. Под дешифрованием
понимаются действия по «взлому» защиты.
При реализации активных атак противник может
прерывать процесс передачи сообщений, создавать поддельные (имитация)
или модифицировать передаваемые закрытые сообщения (подмена).
В иностранной
литературе часто используется понятие криптология как наука, объединяющая криптографию
и криптоанализ. Криптография
занимается созданием криптографических алгоритмов, криптоанализ изучает методы
вскрытия шифров.
Рассмотрим
традиционные современные криптографические методы обеспечения конфиденциальности
информации.
Для создания системы обмена конфиденциальной
информацией выбирается класс криптоалгоритмов.
Каждая группа желающих конфиденциально общаться
пользователей выбирает ключ – информацию, по которой из класса криптоалгоритмов выделяется конкретный
алгоритм. Обычно полагают, что класс криптоалгоритмов известен и задачей
"вскрытия” системы обмена конфиденциальной информацией является нахождение
ключа.
Например, в качестве класса криптоалгоритмов можно
использовать простую замену – буква алфавита заменяется некоторой,
как правило другой, буквой этого алфавита. Ключом в этом случае является конкретная замена букв. Замена должна
быть взаимнооднозначной.
Другим классом криптоалгоритмов является перестановка.
При использовании этого класса сообщение разбивается на блоки одинаковой длины.
В каждом блоке символы, не изменяясь, меняются
местами. Ключом в этом случае является конкретное взаимнооднозначное изменение
позиций символов в блоке – перестановка. Число возможных ключей равно d!, где d – длина
блока.
Третьим основным методом шифрования
является гаммирование.
Ключом в этом случае является некоторая
последовательность, которую называют гамма - последовательностью. Сообщение и
гамма-последовательность представляются в виде последовательностей из 0 и 1
(как и в случае внутреннего представления информации в компьютере).
Закрытое сообщение получается последовательным побитовым сложением по
модулю два открытого сообщения и гамма-последовательности. Отметим, что
результат сложения по модулю два равен 1 тогда и только тогда, когда операнды
(0 или 1) различны. Нетрудно проверить, что алгоритмы шифрования и
расшифрования при использовании гаммирования совпадают.
В качестве гамма-последовательностей часто используются псевдослучайные последовательности.
Это последовательности, обладающие свойствами случайных последовательностей, но
получаемые с использованием достаточно простых
и регулярных алгоритмов.
При проведении криптоанализа могут быть
известны или неизвестны некоторые условия, допущения.
Перечислим основные допущения.
1. Канал связи доступен
2. Класс криптоалгоритмов известен
3. Известен фрагмент открытого сообщения и
соответствующая ему часть закрытого сообщения
4. Имеется возможность по произвольному сообщению
получить соответствующее ему закрытое сообщение.
Система защиты информации называется криптостойкойкой,
если при выполнении всех перечисленных допущений ее вскрытие сводится к
перебору ключей.
Нетрудно проверить, что системы защиты
информации, использующие простую замену или перестановку, не являются
криптостойкими. Например, для вскрытия простой замены достаточно в качестве
сообщения взять последовательность букв алфавита; полученное закрытое сообщение
является ключом. Отметим, что последовательное применение замены и перестановки
- составное преобразование
существенно повышает криптостойкость.
В настоящее время
имеются большие группы абонентов, желающих обмениваться между собой
конфиденциальной информацией, например, филиалы крупных банков или других
организаций. Ключи нельзя посылать по почте. Таким образом, возникают серьезные
проблемы распространения ключей в системах обмена конфиденциальной информацией
с большим числом пользователей. Для решения этих проблем сравнительно недавно
Диффи и Хеллман (1979 г.)
предложили на первый взгляд парадоксальную концепцию систем с открытым
распространением ключей. Напомним, что вскрытие системы заключается в
нахождении ключей.
В основе построения систем с открытым
распространением ключей лежит понятие односторонней
функции. Если для любого x имеет место соотношение f(g(x)) = x, то
функцию g(x) называют
обратной к функции f(x) и обозначают через f--1(x). Сложность алгоритма, вычисляющего
значение f(x) по
значению x, называется сложностью функции f(x). Функция f(x) называется односторонней, если ее сложность существенно
меньше сложности обратной ей функции f--1(x).
Отметим, что в настоящее время не существует функций, односторонность которых строго доказана.
Одним из простых примеров односторонней
функции считается функция натурального аргумента
y = ax (mod p).
Ее сложность имеет порядок log p, а сложность обратной функции считаются имеющей
порядок корня квадратного из p. При p = 2300
имеем существенно различающиеся
сложности 300 и 2150.
На примере этой односторонней функции
на содержательном уровне покажем построение системы с открытым распространением
ключей.
Доступными всем пользователям системы
являются параметры a и p. Каждый
пользователь выбирает и хранит свой секретный
ключ x и публикует открытый ключ ax (mod p).
Пусть пользователь i желает
послать пользователю j конфиденциальное сообщение. Из опубликованного списка
открытых ключей он берет число yj = axj (mod p) и возводит его в свою закрытую степень xi, получая число Zi,j
= (yj)xi (mod p). Этим
ключом он шифрует свое сообщение. Пользователь j по известному (не скрываемому) номеру i вычисляет
число (ключ) Zj,i
= (yi)xj (mod p).
Нетрудно проверить, что эти ключи одинаковы.
Одним из средств
решения проблемы обеспечения невозможности отказа от авторства является цифровая подпись. Кроме того, она
позволяет осуществить аутентификацию источника сообщения и установить
целостность сообщения.
Цифровая подпись
имеет много общего с обычной подписью на бумажном документе. Обычная подпись
также решает перечисленные выше проблемы. Приведем основные различия меду
обычной и цифровой подписями.
Обычная подпись
|
Цифровая подпись
|
Не зависит от
подписываемого документа
|
Зависит от
подписываемого сообщения, практически всегда разная
|
Неразрывно связана с
подписывающим лицом, определяется его психофизическими
свойствами, не может
быть утеряна
|
Определяется секретным
ключом, принадлежащим подписывающему лицу, может быть утеряна владельцем
|
Неотделима от носителя
(бумаги), поэтому каждый экземпляр документа подписывается отдельно
|
Легко отделима от
документа, поэтому верна для его копий
|
Для реализации не
требует
дополнительных
механизмов
|
Требует дополнительных
механизмов, реализующих алгоритмы ее вычисления и проверки
|
Не требует создания
поддерживающей инфраструктуры
|
Требует создания
доверенной инфраструктуры сертификатов открытых
ключей
|
Для реализации
цифровой подписи используют два
алгоритма: вычисления числовой
подписи и ее проверки. Эти алгоритмы должны исключить возможность
вычисления подписи без знания секретного ключа и гарантировать проверку подписи
при отсутствии какой-либо секретной информации.
При использовании
цифровой подписи на практике важную роль играет инфраструктура открытых ключей. Открытый ключ (вычисляемый по
закрытому ключу) нужен для проверки подписи.
Для исключения
подделки открытых ключей и создается их инфраструктура. Она состоит из центров
сертификации открытых ключей и обеспечивает своевременное подтверждение
достоверности данного открытого ключа заявленному владельцу и обнаружение подлога.
Наибольшая
сложность при создании этой инфраструктуры не техническая, а большое количество
юридических проблем. В связи с этим сложившаяся практика требует заключения
договоров между участниками, применяющими цифровые подписи.
Следует отметить, что криптографические методы защиты
информации более надежны, чем методы ограничения доступа к незашифрованной
информации.
Алгоритмы Электронной Цифровой Подписи делятся на два
больших класса: обычные цифровые подписи и цифровые подписи с восстановлением
документа. Обычные цифровые подписи необходимо пристыковывать к подписываемому
документу. К этому классу относятся, например, алгоритмы, основанные на
эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002).
Цифровые подписи с восстановлением документа содержат
в себе подписываемый документ: в процессе проверки подписи автоматически
вычисляется и тело документа. К этому классу относится один из самых популярных
алгоритмов — RSA.
Следует различать электронную цифровую подпись и код
аутентичности сообщения, несмотря на схожесть решаемых задач (обеспечение
целостности документа и неотказуемости авторства).
В России юридически значимый сертификат электронной
подписи выдаёт удостоверяющий центр. Правовые условия использования электронной
цифровой подписи в электронных документах регламентирует ФЕДЕРАЛЬНЫЙ ЗАКОН ОТ
10.01.2002 N 1-ФЗ «ОБ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ»
|