Олифер В.Г., Олифер Н.А. - Компьютерные сети. Принципы, технологии, протоколы (4-ое изд.) - 2010 - обработка (953099), страница 215
Текст из файла (страница 215)
Поясним принципиальную связь между закрытым и открытым ключами следующей аналогией. ПРИМЕР-АНАЛОГИЯ Пусть руководитель предприятия (на рис. 24.11 это пользователь 1) решает вести секретную переписку со своими сотрудниками. Рассмотрим вариант, когда требуется обеспечить конфиденциальность потока сообщений только в одну сторону — от сотрудников к руководителю. Для этого руководитель решает использовать какой-либо малоизвестный язык, например санскрит. С этой целью он обзаводится елннстэениой копией санскритско-русского словаря, который оставляет себе, я большим количеством широколоступных русско-санскритских словарей, которые раздает всем своим сотрудникам.
Пспьэоэатэпь1— двшифрированив Рис. 24.11. Использование шифрования с открытым ключом для обеспечения вы Глава 24. Сетевая безопасность ьЗ— Пользоватвпьч шифрование [) — закрытый ключ (русско-санскритский словарь) ~ — открытый ключ (слнскритско-русский словарь) рмо. 24.12. Использование шифрования закрытым ключом для подтверждения авторпгва Попьзоватвпь 4 — дешифРиРоввнив Когда у сотрудников возникает необходимость написать секретное сообщение руководителю, оии, пользуясь словарем, пишут сообщения на санскрите. Руководитель переводит сообшения на русский язык, пользуясь доступным глолько ему санскритско-русским словарем.
Очевидно, что здесь роль открытого ключа Е и закрытого ключа )) руководителя играют русско-санскритский и санскритскорусский словари соответственно. Могут ли пользователи 2, 3 и 4 прочитать чужие сообщения 5ь Яз, 5ь которые посылает каждый из них руководителю7 Вообще-то нет, так как для этого им нужен санскритско-русскнй словарь, обладателем которого является только пользователь 1. Так обеспечивается конфиденциальность потока сообщений в направлении руководителя. Заметим, что у сотрудников имеется теоретическая возможность для разгадывания сообщений друг друга, так как, затратив массу времени, можно прямым перебором составить санскритско-русский словарь по русско-санскритскому. Такая очень трудоемкая процедура, требующая больших затрат времени, отдаленно напоминает восстановление закрытого ключа по открытому. На рис. 24.12 показана другая схема использования открытого и закрытого ключей, целью которой является подтверждение авторства (аутентификация) посылаемого сообщения.
Пусть задача подтверждения авторства ставится толька в отношении посланий руководителя своим сотрудникам. В этом случае роль закрытого (Р) и открытого (Е) ключей руководителя играют русско-санскритский и санскритско-русский словари соответственно, причем наши предположения о доступности этих словарей меняются на противоположные. Итак, руководитель пишет письма своим сотрулникам на санскрите (то есть шифрует их закрытым ключом Р). Сотрудник, получивший послание, пытается перевести зашифрованную часть письма, пользуясь санскритско-русским словарем (открытым ключом Е).
Если ему это удается, то это доказывает, что текст был зашифрован закрытым ключом, парным открытому ключу Е руководителя. А владельцем этого парного ключа может быть только руководитель, значит, именно он является автором этого сообщения. ВВЗ Шифрован ив Заметим, что в этом случае сообщения первого пользователя Зн, Згз, Зы, адресованные пользователям 2, 3 н 4, не являются секретными, так как все адресаты обладают одним н тем же открытым ключом, с помощью которого онн могут расшифровывать все сообщения, поступающие от пользователя 1.
Для того чтобы в сети все и абонентов имели возможность не только принимать зашифрованные сообщения, но и сами посылать таковые, каждый абонент должен обладать собственной парой ключей Е и О. Всего в сети будет 2и ключей: и открытых ключей для шифрования и и секретных ключей для дешифрирования. Таким образом решается проблема масштабируемости — квадратичная зависимость количества ключей от числа абонентов в симметричных алгоритмах заменяется линейной зависимостью в несимметричных алгоритмах. Решается и проблема секретной доставки ключа.
Злоумышленнику нет смысла стремиться завладеть открытым ключом, поскольку это не дает воэможности расшифровывать текст или вычислить закрытый ключ. Хотя информация об открытом ключе не является секретной, ее нужно защищать от подлогов, чтобы злоумышленник под именем легального пользователя не навязал свой открытый ключ, после чего с помощью своего закрытого ключа он сможет расшифровывать все сообщения, посылаемые легальному пользователю, и отправлять свои сообщения от его имени.
Проще всего было бы распространять списки, связывающие имена пользователей с их открытыми ключами, широковещательно путем публикаций в средствах массовой информации (бюллетени, специализированные журналы и т. п.). Однако при таком подходе мы снова, как и в случае с паролями, сталкиваемся с плохой масштабируемостью.
Решением проблемы является технология цифровых сертификатов — электронных документов, которые связывают конкретных пользователей с конкретными открытыми ключами. Алгоритм ЯЗА В настоящее время одним из наиболее популярных криптоалгоритмов с открытым ключом является криптоалгоритм ЯЯА. В 1978 году трое ученых (Ривест, Шамир и Адлеман) разработали систему шифрования с открытыми ключами ИЗА (Мчезг, БЬаш1г, Аг)!ешап), полностью отвечающую всем принципам Диффи — Хеллмана.
Этот метод состоит в следующем. 1. Случайно выбираются два очень больших простых числа р и д. 2. Вычисляются два произведения я - р х 9 и т - (р — 1) х (д — 1). 3. Выбирается случайное целое число Е, не имеющее. общих сомножителей с вг. 4. Находится Р такое, что ОЕ - 1 по модулю вк 5. Исходный текстХ разбивается на блоки таким образом, чтобы 0 (Х < и. 6. Для шифрования сообщения необходимо вычислить С - Хг по модулю н.
7. Для дешифрирования вычисляется Х - Сп по модулю и. Таким образом, чтобы зашифровать сообщение, необходимо знать пару чисел (Е, и), а чтобы расшифровать — пару чисел (О, и). Первая пара — это открытый ключ, а вторая — закрытый. Зная открытый ключ (Е, п), можно вычислить значение закрытого ключа Р. Необходимым промежуточным действием в этом преобразовании является нахождение чисел р и гу, для чего нужно разложить на простые множители очень большое число и, а на это требуется Глава 24. Сетевая безопасность очень много времени. Именно с огромной вычислительной сложностью разложения большого числа на простые множители связана высокая криптостойкость алгоритма КЯА, В некоторых публикациях приводятся следующие оценки: для того чтобы найти разложение 200-значного числа, понадобится 4 миллиарда лет работы компьютера с быстродействием миллион операций в секунду.
Однако следует учесть, что в настоящее время активно ведутся работы по совершенствованию методов разложения больших чисел, поэтому в алгоритме КЯА стараются применять числа длиной более 200 десятичных разрядов. , Программная реализация криптоалгоритмов типа КВА значительно сложнее и менее производительна, чем реализации классических криптоалгоритмов типа Е)ЕВ. Вследствие сложности реализации операций модульной арифметики криптоалгоритм КВА обычно используют только для шифрования небольших объемов информации, например для рассылки классических секретных ключей или в алгоритмах цифровой подписи, а основную часть пересылаемой информации шифруют с помощью симметричных алгоритмов. В табл. 24.1 приведены некоторые сравнительные характеристики классического криптоалгоритма РЕЯ и криптоалгоритма КБА Таблица 24.1. Сравнительные характеристики алгоритмов шифрования Характеристика КВА Скорость шифрования Высокая Низкая Используемая функция шифрования Перестановка н подстановка Возведение в степень 56 бит длина ключа Более 500 бит Наименее затратный криптоанализ (его слож- ность определяет стойкость алгоритма) Перебор по всему ключевому пространству Разложение числа на простые множители Время генерации ключа Тип ключа Миллисекунды Симметричный Минуты Асимметричный Односторонние функции шифрования Зта функция, примененная к шнфруемым данным, дает в результате значение, называемое дайджеотом, которое состоит нз фиксированного сравнительно небольшого н не зависящего от длины шнфруемого текста числа байтов.
Подчеркнем, знание дайджеста не позволяет и даже не предиолагаеш восстановления исходных данных. Для чагбже нужны односторонние функции шифрования (ОФШ)7 Для ответа на этот вопрос рассмотрим несколько примеров. Пусть требуется обеспечить целостность сообщения, передаваемого по сети. Отправитель и получатель договорились, какую ОФШ и с каким значением параметра — секретного ключа — они будут использовать для решения этой задачи. Прежде чем отправить сообщение, отправитель вычисляет для него дайджест и отправляет его вместе с сообщением адресату (рис.
24.13, а). Адресат, Во многих базовых технологиях безопасности используется еше один прием шифрования — шифрование с помощью односторонней функции (опе-тчау гипсе)оп), называемой также необратимой функцией, хэш-функцией ()шз)т (цпсйоп) или дайджест-функцией (и!Везг бзпсг)оп). ввв Глава 24. Сетевая безопасность сообщение, потом дополняет его тем же известным ему секретным ключом и применяет к полученным данным одностороннюю функцию.