10.3.2. Обеспечение безопасности в сети Internet
Одним из важнейших условий широкого применения Internet было и остается обеспечение адекватного уровня безопасности для всех транзакций, проводимых через него. Это касается информации, передаваемой между пользователями, информации, сохраняемой в базах данных торговых систем, информации, сопровождающей финансовые транзакции.
Понятие безопасность информации можно определить как состояние устойчивости информации к случайным или преднамеренным воздействиям, исключающее недопустимые риски ее уничтожения, искажения и раскрытия, которые приводят к материальному ущербу владельца или пользователя информации. Поскольку Сеть полностью открыта для внешнего доступа, то роль этих методов очень велика. Большая значимость фактора безопасности также отмечается многочисленными исследованиями, проводимыми в Internet.
Решить проблемы безопасности призвана криптография — наука об обеспечении безопасности данных. Криптография и построенные на ее основе системы призваны решать следующие задачи.
Конфиденциальность. Информация должна быть защищена от несанкционированного доступа как при хранении, так и при передаче. Доступ к информации может получить только тот, для кого она предназначена. Обеспечивается шифрованием.
Аутентификация. Необходимо однозначно идентифицировать отправителя, при однозначной идентификации отправитель не может отказаться от послания. Обеспечивается электронной цифровой подписью и сертификатом.
Целостность. Информация должна быть защищена от несанкционированного изменения как при хранении, так и при передаче. Обеспечивается электронной цифровой подписью.
В соответствии с названными задачами основными методами обеспечения безопасности выступают шифрование, цифровая подпись и сертификаты.
10.3.3. Шифрование
Осуществляя сделки в Сети, в первую очередь необходимо убедиться, что важная информация надежно скрыта от посторонних лиц. Этому служат технологии шифрования, преобразующие простой текст в форму, которую невозможно прочитать, не обладая специальным шифровальным ключом. Благодаря данным технологиям можно организовать безопасную связь по общедоступным незащищенным каналам Internet.
Любая система шифрования работает по определенной методологии, включая в себя один или более алгоритмов шифрования (математических формул), ключи, используемые этими алгоритмами, а также систему управления ключами (рисунок 10.1).
Текст → Алгоритм → Шифрованный → Алгоритм → Текст
шифрования текст расшифровки
Рисунок 10.1 — Схема шифрования
Согласно методологии шифрования, сначала к тексту применяются алгоритм шифрования и ключ для получения из него шифрованного текста. Затем шифрованный текст передается к месту назначения, где тот же самый алгоритм и ключ используются для его расшифровки, чтобы получить первоначальный текст. В методологию шифрования также входят процедуры создания ключей и их распространения.
Наиболее распространены алгоритмы шифрования, которые объединяют ключ с текстом. Безопасность систем такого типа зависит от конфиденциальности ключа, используемого в алгоритме шифрования, а не от конфиденциальности самого алгоритма, который может быть общедоступен и благодаря этому хорошо проверен. Но основная проблема, связанная с этими методами, состоит в безопасной процедуре генерации и передачи ключей участникам взаимодействия.
Существует два основных типа криптографических алгоритмов:
1) классические, или симметричные алгоритмы, основанные на использовании закрытых, секретных ключей, когда и шифрование, и дешифрирование производятся с помощью одного и того же ключа;
2) алгоритмы с открытым ключом, в которых используются один открытый и один закрытый ключ, т. е. операции шифрования производятся с помощью разных ключей. Эти алгоритмы называются также асимметричными.
Каждая методология требует собственных способов распределения ключей и собственных типов ключей, а также алгоритмов шифрования и расшифровки ключей.
Симметричные методы шифрования
Технология шифрования с секретным ключом (симметричный алгоритм) требует, чтобы оба участника зашифрованной переписки имели доступ к одному и тому же ключу. Это необходимо, так как отправитель использует ключ для зашифровки сообщения, а получатель применяет его же для расшифровки. Как следствие, возникает проблема безопасной передачи этого ключа.
Алгоритмы симметричного шифрования используют ключи не очень большой длины и могут быстро шифровать большие объемы данных.
Порядок использования систем с симметричными ключами выглядит следующим образом:
1. Безопасно создается, распространяется и сохраняется симметричный секретный ключ.
2. Отправитель использует симметричный алгоритм шифрования вместе с секретным симметричным ключом для получения зашифрованного текста.
3. Отправитель передает зашифрованный текст. Симметричный секретный ключ никогда не передается по незащищенным каналам связи.
4. Для восстановления исходного текста получатель применяет к зашифрованному тексту тот же самый симметричный алгоритм шифрования вместе с тем же самым симметричным ключом, который уже есть у него. Некоторые из алгоритмов симметричных систем шифрования: ГОСТ 28147-89, DES (Data Encryption Standard), тройной алгоритм DES, Международный алгоритм шифрования IDEA, RC2, RCЗ, RC5, САSТ.
Асимметричные методы шифрования
Для решения проблемы распространения ключей при использовании симметричных методов шифрования на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом, или асимметричные криптосистемы. Суть их состоит в том, что каждым адресатом генерируются два ключа, связанные между собой по определенному правилу. Хотя каждый из пары ключей подходит как для шифрования, так и для дешифрирования, данные, зашифрованные одним ключом, могут быть расшифрованы только другим.
Один ключ объявляется открытым, а другой — закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне. Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст не может быть расшифрован тем же открытым ключом. Дешифрирование сообщения возможно только с использованием закрытого ключа, известного лишь самому адресату.
Криптографические системы с открытым ключом используют так называемые необратимые, или односторонние, функции.
Понятие односторонней функции было введено в теоретическом исследовании о защите входа в вычислительные системы. Функция f(x) называется односторонней (one—way function), если для всех значений х из ее области определения легко вычислить значения у=f(х), но вычисление обратного значения практически неосуществимо. То есть по заданному значению у0 нельзя найти такое значение x0 для которого f(x0) = у0. «Практически неосуществимо» в данном случае означает, что требуется такой огромный объем вычислений, который при существующем уровне развития техники невозможно реализовать.
Множество классов необратимых функций порождает все разнообразие систем с открытым ключом.
Алгоритмы шифрования с открытым ключом получили широкое распространение в современных информационных системах. Известно несколько криптосистем с открытым ключом. Наиболее разработана на сегодня система RCA, предложенная еще в 1978 г. Этот алгоритм стал мировым фактически признанным стандартом для открытых систем и рекомендован МККТТ (Международный консультативный комитет по телефонии и телеграфии). Также используются алгоритмы: ЕСС (криптосистема на основе эллиптических кривых), Эль-Гамаль.
Следует отметить, что алгоритмы систем шифрования с открытым ключом можно использовать в качестве следующих инструментов:
- как самостоятельные средства защиты передаваемых и хранимых данных;
- как средства для распределения ключей (алгоритмы систем шифрования с открытым ключом более трудоемки, чем традиционные криптосистемы, поэтому на практике часто бывает рационально передать ключи, объём информации в которых незначителен, с их. помощью, а потом с помощью обычных алгоритмов осуществлять обмен большими информационными потоками);
- как средства аутентификации пользователей (для создания электронной цифровой подписи).