logo search
Курс лекций по Информатике-2008-часть 2

Криптографические методы защиты информации

Термин «криптография» вначале означал «спрятать, скрыть то, что написано». Впервые он упоминается во времена появления письменности. В настоящее время под криптографией понимается сокрытие смысла информации, представленной в любой форме: в виде данных, хранящихся на диске, или сообщений, передаваемых по информационным сетям. Ее можно применить также к программному обеспечению, графике или речи – всему, что может быть закодировано цифрами. Криптография имеет более широкое применение, чем только обеспечение секретности. Методы, которые используются в криптографии, могут быть использованы для методов, связанных с защитой информации.

Известны различные подходы к классификации методов криптографического преобразования информации. По виду воздействия на исходную информацию методы криптографического преобразования информации могут быть разделены на четыре группы:

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

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

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

Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, простота, защищенность и т.д. Программная реализация более практична, допускает известную гибкость в использовании.

В настоящее время существует два типа криптографических алгоритмов: классические, или симметричные алгоритмы, основанные на использовании закрытых, секретных ключей, когда и зашифрование, и расшифрование производятся на одном и том же ключе, и алгоритмы с открытым ключом, в которых используются один открытый и один закрытый ключ, т.е. эти криптооперации производятся на разных ключах (эти алгоритмы называются также асимметричными).

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

Наиболее универсальной процедурой является обмен паролями. Это весьма примитивная процедура, так как лицо, которому оказался доступным пароль, может воспользоваться им. Если соблюдать меры предосторожности, можно повысить эффективность паролей, защитив их криптографическими методами. В то же время криптография дает и более мощные процедуры, которые позволяют непрерывно изменять пароли.

Одно из последних достижений в области криптографии – цифровая сигнатура – способ обеспечения целостности с помощью дополнения сообщения специальным свойством, которое может быть проверено только тогда, когда известен открытый ключ, присвоенный автору сообщения. Данный метод имеет значительные преимущества перед наиболее известными методами проверки целостности сообщения с помощью секретных ключей.

Представляет интерес обеспечение защиты информации при организации игр с использованием сетей связи, чтобы исключить возможный обман. Другой пример – расплата по контрактам между не доверяющими друг другу партнерами. Что касается программных средств, то здесь криптографические методы используются для обеспечения конфиденциальности, проверке целостности и установления подлинности данных.

Чтобы скрыть смысл передаваемых сообщений применяются два типа преобразований: кодирование и шифрование. Коды и шифры использовались задолго до появления ЭВМ. С теоретической точки зрения не существует четкого различия между кодами и шифрами.

Однако в современной практике различие между ними, как правило, является достаточно четким. Коды оперируют лингвистическими элементами, разделяя шифруемый текст на такие смысловые элементы, как слова и слоги. В шифре всегда различают два элемента: алгоритм и ключ. Для кодирования используются кодировочные книги или таблицы, содержащие наборы наиболее часто используемых фраз. Каждой из этих фраз соответствует произвольно выбранное кодовое слово, которое чаще всего задается набором цифр. Для декодирования сообщения имеется такая же книга или таблица. Кодировочная книга или таблица дает пример произвольного криптографического преобразования. Способ имеет ряд недостатков, главным из которых является следующий: если этой книгой однажды несанкционированно воспользовались, то нужно создавать новую книгу кодов и распространять ее среди всех пользователей системы.

Второй тип криптографического преобразования – шифрование – представляет собой процедуру (алгоритм) преобразования символов исходного текста в форму, недоступную для распознавания (зашифрованный текст). Этот тип преобразования соответствует информационной технологии. Существенное значение здесь приобретает защита процедуры (алгоритма). Применяя криптографический ключ, можно снизить требования к процедуре шифрования. Теперь защите подлежит только ключ. Если ключ оказался скопированным, его можно заменить, и это проще, чем замена кодировочных книг или таблиц. Поэтому шифрование, а не кодирование широко используется в информационной технологии.

Защита данных с помощью шифрования – одно из возможных решений проблемы их безопасности. Зашифрованные данные становятся доступными только для того, кто знает как их расшифровать, и поэтому похищение зашифрованных данных абсолютно бессмысленно для несанкционированных пользователей.