Асимметричные системы с открытым ключом

Криптографические методы защиты информации. Асимметричные системы с открытым ключом. Компьютерная стеганография. Парольная защита операционных систем. Электронная цифровая подпись. Защита сети с помощью биометрических систем. Теоретические основы биометрии

СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ

ЛЕКЦИЯ 18

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

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

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

· шифрование;

· стеганография;

· кодирование;

· сжатие.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Криптографические системы с открытым ключом используют так называемые необратимые, или односторонние функции.

Понятие односторонней функции было введено в теоретическом исследовании о защите входа в вычислительные системы. Функция f(x) называется односторонней (one-way function), если для всех х из ее области определения легко вычислить y=f(x), но нахождение по заданному уо такого xo, для которого f(хо)=уо, вычислительно неосуществимо, то есть требуется настолько огромный объем вычислений, что за них просто и не стоит браться.

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

· преобразование исходного текста должно быть необратимым и: исключать его восстановление на основе открытого ключа;

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

Алгоритмы шифрования с открытым ключом получили широкое распространение в современных информационных системах.

Следует отметить, что алгоритмы СОК можно использовать в трех назначениях:

· как самостоятельные средства защиты передаваемых и хранимых данных;

· как средства для распределения ключей. Алгоритмы СОК более трудоемки, чем традиционные криптосистемы. Поэтому часто на практике рационально с помощью СОК распределять ключи, объем которых как информации незначителен, а потом с помощью обычных алгоритмов осуществлять обмен большими информационными потоками;

· как средства аутентификации пользователейэлектронная цифровая подпись.

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