Опубликован: 10.10.2007 | Доступ: свободный | Студентов: 3343 / 455 | Оценка: 4.40 / 4.15 | Длительность: 35:10:00
ISBN: 978-5-94774-708-9
Лекция 14:

Информационная безопасность. Стандарты и алгоритмы шифрования

< Лекция 13 || Лекция 14: 1234 || Лекция 15 >

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

Шифры бывают поточными и блочными. В первом случае обработка исходного текста производится побитно или побайтно. Во втором — текст перед обработкой разбивается на блоки.

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

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

Наиболее современные системы шифрования используют асимметричные алгоритмы с открытым и секретным ключами, где нет проблемы безопасной транспортировки ключа. К числу таких систем относится алгоритм RSA (Rivest-Shamir-Adleman — разработчики этой системы — Рональд Ривест, Ади Шамир и Леонард Адлеман, 1977 год), базирующийся на сложности разложения больших чисел на множители.

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

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

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

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


Рис. 14.1.

Если хакер умудрится вставить свою ЭВМ в разрыв канала, соединяющего субъектов А и В, у него появляется возможность перехватывать в том числе и шифрованные сообщения. Пусть субъект А сформировал пару ключей К и К (ключ с индексом 2 является секретным), аналогичную пару ключей сгенерировал субъект В ( К и К ). Хакер же тем временем подготовил две пары ключей ( К1ХА: К2ХА и К1ХВ: К2ХВ ). Когда субъект А пошлет открытый ключ К субъекту В, хакер его подменит ключом К1ХА. Аналогичную процедуру он проделает с ключом К, посланным от В к А. Теперь сообщение А к В, зашифрованное с помощью ключа К1ХА, будет послано В. Хакер его перехватывает, дешифрует с помощью ключа К2ХА, шифрует с помощью ключа К и посылает В. Субъект В, получив послание, дешифрует его с помощью своего секретного ключа К. Аналогичная процедура будет проведена и при посылки сообщения от В к А. В сущности, единственным параметром, который изменится существенным образом, будет время доставки сообщения, так как это время будет включать дешифровку и повторную шифровку сообщения. Но при использовании быстродействующей ЭВМ и при работе с традиционной электронной почтой это может оказаться незаметным. Понятно, что между А и В появится дополнительный шаг (hop). Но и это может быть легко замаскировано под прокси сервер или Firewall.

Решить проблему подмены ключей можно путем пересылки открытого ключа своему партнеру по какому-то альтернативному каналу или сверки его по телефону. Для контроля достоверности ключа можно использовать сертификаты.

Начиная с 1997 года NIST (National Institute for Standards and Technology) совместно с промышленностью и криптографическим сообществом разрабатывал преемника для алгоритма DES (длина ключа 56 бит). В результате был создан алгоритм AES (Advanced Encryption Standard), который был опубликован в 2001 году (FIPS 197). AES представляет собой блочный, симметричный алгоритм шифрования с длиной блока 128 бит. Длина ключа может принимать значения 128, 192 или 256 бит (AES-128, AES-192 и AES-256, соответственно). Если предположить, что ключ DES можно подобрать за секунду, то для подбора ключа AES-128 потребуется около 149 триллионов лет (кстати, возраст нашей вселенной всего 20 миллиардов лет). Кроме AES ISO/IEC 18033 (см. http://www.ni.dm.de, http://csrc.nist.gov и http://www.x9.org) специфицирует еще шесть различных блочных шифров (см. таблицу 14.2.)

Таблица 14.2. Блочные системы шифрования в ISO/IEC 18033-3
Алгоритм Длина ключа Длина блока
TDEA 128 или 192 бита 64 бита
MISTY1 128 бит 64 бита
CAST-128 128 бит 64 бита
AES 128, 192 или 256 бит 128 бит
Camelia 128, 192 или 256 бит 128 бит
SEED 128 бит 128 бит

Базовые характеристики блочных алгоритмов шифрования представлены в таблице 14.3 (смотри http://book.itep.ru/6/idea_647.htm, ~6/des_641.htm и ~6/safr_648.htm).

Таблица 14.3. Характеристики некоторых других блочных алгоритмов шифрования
Название алгоритма Размер блока данных Длина ключа
DES 64 56
ГОСТ 28147-89 64 256
SAFER+ 128 128/192/256
IDEA 64 52*16

Относительные уровни безопасности разных алгоритмов представлены в таблице 14.4.

Таблица 14.4. Относительные уровни безопасности симметричных алгоритмов
Симметричный шифр Хэш функция Схема RSA Эллиптические кривые
56 (DES) 112 512 112
80 (SKIPJACK) 160 (RIPEMD-160) 1024 160
112 (Triple-DES) 224 2048 224
128 (AES-128) 256 (SHA-256) 3072 256
192 (AES-192) 384 (SFA-384) 7680 384
256 (AES-256) 512 (SFA-512) 15360 512

Стандарт на хэш функции задает документ ISO/IEC 10118. Эти хэш функции (см. табл. 14.5) используются практически во всех видах электронных подписей (ISO/IEC 14888). К сожалению, не существует международного стандарта для управления информационными системами безопасности.

Таблица 14.5. Стандарты хэш алгоритмов
Алгоритм Соответствующий стандарт
MD5 RFC-1321
SHA-1 FIPS 180-2; ISO/IEC 10118-3RFC3174, ANSI X9.30.2
RIPEMD-128/-160 ISI/IEC 10118-3
SHA-256/384/512 FIPS 180-2; ISO/IEC 10118-3
Whirlpool ISO/IEC 10118-3
ГОСТ Р 34.11-94 Предназначен для электронной подписи ГОСТ Р 34.10-2001

В настоящее время имеется три семейства криптосистем с открытым ключом.

  1. Системы IF (Integer Factorization — целочисленная факторизация), такие, как система цифровой подписи, базирующаяся на RSA, использует сложность факторизации при работе с большими целыми числами.
  2. Системы DL (Discrete Logarithm — целочисленный логарифм), такие, как алгоритм цифровой подписи NIST (DSA, FIPS 186), базируются на вычислительной сложности оперирования с целочисленными логарифмами.
  3. Системы EC (Elliptic Curve эллиптические кривые) являются сходными с DL-примитивами. Они основываются на вычислительной сложности проблемы расчета целочисленных логарифмов через эллиптические кривые. Преимуществом этой системы является относительная ее сила по отношению к длине параметра. Другими словами, эллиптические кривые предоставляют большую секретность на бит.

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

Согласно закону Мура, плотность компонентов на чип удваивается каждые 18 месяцев. Это можно интерпретировать как удвоение вычислительной мощности ЭВМ каждые 18 месяцев.

Развитие методов программирования и повышение быстродействия ЭВМ приводит к понижению надежности систем шифрования. Симметричные шифры теряют один бит безопасности в год. Хэш-функции и схемы, основанные на эллиптических кривых (ISO/IEC 15946-2), теряют два бит безопасности в год. RSA -схемы теряют 30 бит безопасности в год. На рис. 14.2 показана временная зависимость деградации безопасности шифров (см. Network Security, V2004, Issue 12, декабрь 2004, стр. 6-11).

Время жизни криптографических алгоритмов.

Рис. 14.2. Время жизни криптографических алгоритмов.

Полезную информацию по системам шифрования можно получить на следующих серверах:

Но прежде чем использовать тот или иной метод криптографии, следует понять:

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

Из числа широко используемых приложений можно выделить безопасную электронную почту PGP (Pretty Good Privacy, см. http://book.itep.ru/6/pgp_644.htm), которая базируется на двух ключевой системе шифрования RSA и алгоритме IDEA (International Data Encryption Algorithm).

Но наиболее важным приложением современной криптографии являются электронные платежные системы (например, протокол SET, см. http://book.itep.ru/4/6/set_66.htm) и кредитные smart-карты. Несколько особняком стоят электронные монеты, формирование которых базируется формировании кодов с кратными хэш-совпадениями. Современный документооборот немыслим без электронных подписей.

Далее более детально будут описаны алгоритмы AES и RSA.

< Лекция 13 || Лекция 14: 1234 || Лекция 15 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????