Криптографическая защита информации
Обеспечить конфиденциальность передачи информации между абонентами в общем случае можно одним из трех методов:
Создать абсолютно надежный, недоступный для других канал связи между абонентами.
Использовать общедоступный канал связи, но скрыть сам факт передачи информации.
Использовать общедоступный канал связи, но передавать по нему информацию в преобразованном виде, причем преобразовать ее надо так, чтобы восстановить ее мог только адресат.
Первый вариант является практически нереализуемым из-за высоких материальных затрат на создание такого канала между удаленными абонентами.
Исследованием вопросов скрытия факта передачи информации занимается стеганография. В настоящее время она представляет одно из перспективных направлений обеспечения конфиденциальности хранящейся или передаваемой информации в компьютерных системах за счет маскирования закрытой информации в открытых файлах, прежде всего мультимедийных.
Разработкой методов преобразования (шифрования) информации с целью ее защиты от незаконных пользователей занимается криптография (от греч. «криптос» — тайна и «графейн» — писать). Криптографические методы и способы преобразования информации называют шифрами.
Шифрование — процесс преобразования открытого сообщения в шифрованное сообщение (криптограмму, шифртекст) с помощью определенных правил, сожержащихся в шифре.
Расшифрование — процесс, обратный шифрованию.
Правило зашифрования не может быть произвольным. Оно должно быть таким, чтобы по шифртексту с помощью правила расшифрования можно было однозначно восстановить открытое сообщение. Однотипные правила зашифрования можно объединить в классы. Внутри класса правила различаются между собой по значениям некоторого параметра, которое может быть числом, таблицей и т.д. В криптографии конкретное значение такого параметра обычно называют ключом. По сути дела, ключ выбирает конкретное правило зашифрования из данного класса правил. Это позволяет, во-первых, при использовании для шифрования специальных устройств изменять значение параметров устройства, чтобы зашифрованное сообщение не смогли расшифровать даже лица, имеющие точно такое же устройство, но не знающие выбранного значения параметра, и во-вторых, позволяет своевременно менять правило зашифрования, так как многократное использование одного и того же правила зашифрования для открытых текстов создает предпосылки для получения открытых сообщений по шифрованным.
Используя понятие ключа, процесс зашифрования можно описать в виде соотношения:
где А — открытое сообщение; В — шифрованное сообщение; f — правило шифрования; α— выбранный ключ, известный отправителю и адресату.
Для каждого ключа α шифрпреобразование fα должно быть обратимым, то есть должно существовать обратное преобразование gα которое при выбранном ключе α однозначно определяет открытое сообщение А по шифрованному сообщению В:
Совокупность преобразований fα и набор ключей, которым они соответствуют, называют шифром.
Среди всех шифров можно выделить два больших класса: шифры замены и шифры перестановки.
Шифрами замены называются такие шифры, преобразования из которых приводят к замене каждого символа открытого сообщения на другие символы — шифробозначения, причем порядок следования шифробозначений совпадает с порядком следования соответствующих им символов открытого сообщения. Примером простого преобразования, которое может содержаться в шифре замены, является правило, по которому каждая буква исходного сообщения заменяется на ее порядковый номер в алфавите. В этом случае исходный буквенный текст преобразуется в числовой.
Шифрами перестановки называют шифры, преобразования из которых приводят к изменению только порядка следования символов исходного сообщения. Примером простого преобразования, которое может содержаться в шифре перестановки, является правило, по которому каждая буква исходного сообщения, стоящая в тексте на позиции с четным номером, меняется местами с предшествующей ей буквой. В этом случае ясно, что и исходное, и шифрованное сообщение состоят из одних и тех же букв.
Для осуществления обмена информацией отправитель и получатель информации используют один и тот же секретный ключ. Этот ключ должен храниться в тайне и передаваться способом, исключающим его перехват. При этом обмен информацией осуществляется в 3 этапа:
отправитель передает получателю ключ;
отправитель, используя ключ, шифрует сообщение, которое пересылается получателю;
получатель получает сообщение и расшифровывает его.
Для определения исходного текста по шифрованному при неизвестном ключе возможны два подхода: первый — определить ключ и затем найти исходное сообщение расшифрованием; второй — найти исходное сообщение без определения ключа. Получение открытого сообщения по шифрованному без заранее известного ключа называется вскрытием шифра, или дешифрованием, в отличие от расшифрования — когда ключ известен.
Под стойкостью шифра, как правило, понимается способность противостоять попыткам провести его вскрытие. При анализе шифра обычно исходят из принципа: при вскрытии криптограммы противнику известно о шифре все, кроме используемого ключа. Поскольку вскрытие шифра можно осуществлять перебором всех возможных его ключей, одной из главных характеристик шифра является число его возможных ключей.
Иногда в литературе смешиваются два понятия: шифрование и кодирование. В отличие от шифрования, для которого надо знать шифр и секретный ключ, при кодировании нет ничего секретного, есть только определенная замена букв или слов на заранее определенные символы. Методы кодирования направлены не на то, чтобы скрыть открытое сообщение, а на то, чтобы представить его в более удобном виде для передачи по техническим средствам связи, для уменьшения длины сообщения, защиты искажений и т. д. В принципе, кодирование, конечно же, можно рассматривать как шифр замены, для которого «набор» возможных ключей состоит только из одного ключа.
В настоящее время для защиты информации в АС широко используются электронные шифровальные устройства. Важной характеристикой таких устройств является не только стойкость реализуемого шифра, но и высокая скорость осуществления процессов шифрования и расшифрования. Для создания и обеспечения грамотной эксплуатации такой техники применяются достижения современной криптографии, в основе которой лежат математика, информатика, физика, электроника и другие науки.
Современная криптография бурно развивается. В ней появляются новые направления. Так, с 1976 г. развивается «открытая криптография». Ее отличительной особенностью служит разделение ключей для зашифрования и расшифрования. При этом ключ для зашифрования не требуется делать секретным, более того, он может быть общедоступным (открытым) и содержаться, например, в телефонном справочнике вместе с фамилией и адресом его владельца.
Наиболее распространенной системой шифрования с открытым ключом является RSA, названная так по начальным буквам фамилий ее изобретателей: Rivest, Shamir и Adieman. В основе ее построения лежит функция, обладающая следующими свойствами:
существует достаточно быстрый алгоритм вычисления значений f(x);
существует достаточно быстрый алгоритм вычисления значений f-1(x);
функция f(x) обладает некоторым «секретом», знание которого позволяет быстро вычислять значения f-1(x); в противном случае вычисление f-1(x) становится трудно разрешимой в вычислительном отношении задачей, требующей для своего решения столь много времени, что по его прошествии зашифрованная информация перестает представлять интерес для лиц, использующих отображение f в качестве шифра.
Криптостойкость алгоритма RSA основывается на предположении, что исключительно трудно определить секретный ключ по известному, поскольку для этого необходимо решить задачу о существовании делителей целого числа. В связи с этим для чисел, состоящих из 200 цифр (а именно такие числа рекомендуется использовать), традиционные методы требуют выполнения огромного числа операций (порядка 1023).