Архивы: по дате | по разделам | по авторам

Hиже пояса

Архив
автор : Максим Отставнов   14.09.1999

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

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


Популярные форматы криптозащиты электронной почты (OpenPGP и S/MIME) позволяют защитить отдельное почтовое сообщение. SSL позволяет "прикрыть" передачу запроса-ответа на страничку/файл между браузером и WWW- или FTP-сервером. "Набирающий очки" в последнее время протокол защиты транспортного слоя (TLS) дает возможность безопасно осуществить взаимодействие (или серию взаимодействий) по какому-либо особому протоколу (например, запросить и получить открытый ключ с сервера сертификатов таким образом, чтобы потенциальный злоумышленник не мог увидеть, чей ключ вы взяли). И так далее.

Тактика применения криптографии от транспортного слоя и выше (рис. 3) имеет свои достоинства, как-то:

- возможность компактной специализированной реализации криптоалгоритмов и криптопротоколов, работающей поверх штатных средств (меж)сетевого взаимодействия;

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

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

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

Их популяризации и распространению в малом бизнесе и персональном контексте способствовало включение в популярную Windows NT (а затем - клиентской части - и в более "легкие" Windows 9x) средств организации виртуальных сетей. Однако это коснулось в основном американских пользователей, которым Microsoft может поставлять "родную" версию криптобиблиотек с неусеченной длиной ключа. К тому же и версия протокола PPTP от Microsoft, и ее реализация в Windows были подвергнуты жесткой критике со стороны профессионального сообщества.

Ситуация стала меняться в этом году - с выходом, во-первых, FreeS/WAN for Linux - свободно распространяемой программной реализации защиты на уровне IP (см. www.xs4all.nl/~freeswan), а во-вторых, новой версии популярного пакета криптоприложений PGP 6.5, впервые включающей в себя программу PGPnet, также реализующую защиту IP-коммуникации, но уже под Windows.

Оба продукта весьма важны, поскольку впервые создают предпосылки для массового разворачивания инфраструктуры "сплошной" криптозащиты трафика в Internet. И оба они удовлетворяют базовым требованиям современной криптологии, включая использование опробованных и экспертированных алгоритмов и протоколов, использование ключей адекватной длины и доступность исходных текстов (PGP 6.5 готовится, как обычно, к публикации в виде книги, поскольку американское законодательство препятствует экспорту криптосредств в программной форме, а FreeS/WAN for Linux изначально создана за пределами Штатов и доступна в исходных кодах с вышеупомянутого сайта).

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

Зачем это нужно?

А - Грамотный пользователь надежных криптографических инструментов, работающих в верхних слоях сетевой модели, может быть спокоен за конфиденциальность и целостность передаваемых данных. Однако масса служебной информации остается доступной потенциальному злоумышленнику.Б - Для Internet описано (и реализовано) несколько сот протоколов высокого уровня. Несколько десятков из них используется весьма интенсивно. Специфическая криптозащита каждого из них требует массы ресурсов.Технологию, используемую в Internet, часто называют TCP/IP, однако далеко не все сетевые приложения оперируют в транспортном слое именно по протоколу TCP: они могут использовать UDP или другие протоколы. Наиболее удачным местом приложения "тотальной криптизации" Internet является сетевой слой, и, в частности, протокол IP.

Понимание этого обстоятельства уже достигло стадии, на которой средства криптографической безопасности IP (IPsec) включаются в очередную редакцию стандарта этого фундаментального протокола (IP v6). На используемую сейчас версию (IP v4) IPsec "навешивается снаружи"; для этого и нужны приложения типа FreeS/WAN и PGPnet.

Как это работает

На практике приложения, реализующие IPsec, работают в одном из двух режимов: режиме туннелирования (tunnel mode) и транспортном (transport mode) режиме.

Режим туннелирования (рис. 4) используется для организации шифрованной коммуникации с хостом или подсетью, "закрытыми" защищенным (совместимым оборудованием или программным обеспечением) шлюзом. Пакеты, отправляемые хосту-получателю, шифруются и помещаются в пакеты, отправляемые шлюзу. Шлюз расшифровывает их и отправляет хосту-получателю (снова шифруя или "открытым текстом", в зависимости от политики безопасности, установленной для его "подопечной" сети).

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

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

Что это может значить конкретно для вас?

С большой вероятностью вы пользуетесь какой-нибудь программой для моментальных сообщений и прямых "чатов" (например, ICQ). Такие системы, в отличие от более традиционных систем многосторонней коммуникации (например, IRC), "расшивают" узкое место, через которое проходили все сообщения, используя центральный сервер только как справочный (lookup server) - для локации адреса и определения статуса абонентов. Далее коммуникация организуется напрямую: кажется (см. ниже), ICQ использует для пересылки сообщения обычный "почтовый" протокол SMTP.

Теперь - смотрите: вы и я устанавливаем на своих компьютерах PGPnet или что-либо подобное и связываем их в транспортном режиме. Теперь, "взглянув" ("в открытую") на справочный сервер, мой экземпляр ICQ может связаться с вашим для передачи сообщения или открытия "чата", как обычно, - но уже поверх IPsec, и вс§, о чем мы друг другу найдем нужным сказать, останется между нами... и благодаря тому, что транспортный режим предусматривает также и аутентификацию сторон, мы можем быть уверены, что общаемся именно друг с другом, несмотря на то, что механизм идентификации сторон в той же "Аське", мягко говоря, несовершенен.

В то же время, сообщения, переданные через сервер, и сами запросы к нему останутся "открытыми" для наблюдения со стороны... пока кто-нибудь, кому мы доверяем, не поставит частный сервер ICQ за защищенный шлюз.

Обратите внимание на столь несвойственное нам ("Терре") слово "кажется", употребленное несколькими абзацами выше. Заглянуть в техдокументацию или уточнить у коллеги вопрос о протоколе заняло бы у меня несколько минут, но я принципиально не буду этого делать, поскольку это не имеет ровно никакого значения. Протокол высокого уровня может быть любым и даже проприетарным и вообще неизвестным пользователю, IPsec его "прикроет"  [1].

Более того, любыми могут быть и протоколы слоев сетевой модели, лежащих ниже сетевого: физического и канального. Если поверх них (структурируют ли они модемную связь, провода локальной сети, микроволновый эфир или ИК-среду) работает IP, будет работать и IPsec.

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

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

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

Открытые ключи сертифицируются и передаются в рамках архитектуры сертификации, которая может быть централизованной (с участием корпоративного администратора безопасности или "цифрового нотариуса" - публичного Доверенного сертификатора) или децентрализованной (так называемая модель "сети доверия", наиболее развитой в PGP)  [2]. Важно, что упомянутые реализации защиты на сетевом уровне позволяют "подцепиться" к уже развернутым инфраструктурам сертификации ключей, даже созданным для других целей.

 
"Шесть с полтиной"

При первом взгляде на список новых функций и изменений в очередной версии PGP - 6.5, - выпущенной Network Associates, может возникнуть недоумение: почему, собственно, она удостоилось новой цифры только после точки (предыдущая версия, как помнят наши читатели и пользователи продукта, носит номер 6.0)?

Видимо, дело в том, что большинство новинок (совместимость с X.509, возврат командной строки в Windows-версии) планировалось включить еще в версию 6.0. Так или иначе, новая версия включает три важных дополнения и ряд второстепенных.

А - Наиболее радикальным новшеством является включение в продукт программы PGPnet, обеспечивающей защиту IP-трафика и организацию частных виртуальных сетей (VPN). PGPnet совместима с VPN/firewall-продуктами других производителей, использующих de facto стандарты IPsec (Internet Protocol Security) и IKE (Internet Key Exchange), и успешно прошла тестирование с маршрутизаторами Cisco (Cisco IOS 12.0(4) или новее, использующими алгоритм шифрования TripleDES), программным решением Linux FreeS/WAN и др.

Отличительной особенностью PGPnet является возможность использования наряду с традиционными сертификатами в формате X.509 (применяемыми для сертификации открытых ключей SSL и S/MIME, а также во многих специализированных - в основном финансовых - сетях и системах) сертификатов в формате OpenPGP, т. е. сертификатов ключей, используемых другими программами PGP.

Б - Еще один шаг к преодолению "великой схизмы" в мире гражданской криптографии сделан за счет интеграции формата X.509 в приложение PGPkeys, используемое для управления ключами. Теперь пользователь PGP может взаимодействовать с серверами сертификатов X.509, в том числе теми, которыми оперируют "цифровые нотариусы" - Доверенные сертификаторы (Certificate Authorities, CA): Net Tools PKI (компании Network Associates), OnSite (компании VeriSign) и Entrust. PGPkeys способен проверять аутентичность и действительность таких сертификатов; более того, пользователь PGP может теперь запросить сертификат своего открытого ключа в этом формате от одного из Доверенных сертификаторов.

В - Наконец в поставке для Windows появился полнофункциональный интерфейс, позволяющий осуществлять доступ к функциям PGP посредством командной строки. Отсутствие этих возможностей было поводом для серьезных претензий к PGP версий 5.x-6.x, но представляется, что на сегодня это не так важно, поскольку большинство "живых" (поддерживаемых и развивающихся) программных средств от сторонних разработчиков, использующих функциональность PGP, уже переписаны для взаимодействия с PGPsdk "родными" для объектной среды Windows средствами.

"Шесть с полтиной" реализует также массу менее важных новых свойств, среди которых:

- возможность создания "самораскрывающихся" шифрованных архивов;

- возможность выполнения затирания свободного места на диске в автоматическом режиме (посредством Windows Task Scheduler);

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

- возможность отображения отпечатка ключа не в виде числа, а в виде списка слов, который удобнее диктовать по телефону (наследство PGPfone);

- поддержка обращения к http-серверам сертификатов через proxy;

- поддержка Microsoft Outlook 2000 и Outlook Express 5.0.

Новой версии PGP еще предстоит пройти через процедуру публикации исходных кодов, их сканирования и рекомпиляции в Европе для того, чтобы появился "легальный" (с точки зрения американского экспортного законодательства) международный релиз. Полнофункциональную (в том числе работающую со "старыми" RSA-ключами) "пробную" (21 день) версию PGP 6.5.1 можно найти за пределами США, например, на ftp.replay.com. В отличие от PGP 6.5.0, она работает не только в среде Windows NT, но и в Windows 9x.

Отслеживая вектор развития возможностей PGP, можно с достаточной уверенность предсказать, что в ближайших версиях появится возможность сертификации WWW-страниц и прямого взаимодействия с популярными реализациями SSL как на серверной ("защищенные" Web-серверы), так и на клиентской (браузеры) стороне, хотя официальных заявлений компания пока не делала.

Также не исключена возможность возобновления работы над программой PGPfone (криптозащита телефонного трафика) и включения этой программы в последующие версии пакета PGP. PGPfone не обновлялась с лета 1996 года, когда вышла версия 1.0, выпущенная Pretty Good Software, и, оставаясь, наверное, самым надежным и проверенным приложением для защищенной голосовой связи по прямому модемному соединению и IP-сетям, в эргономическом плане заметно устарела.




ССЫЛКИ

[1] Dilip C. Naik. Internet Standards and Protocols - Microsoft Press, 1998.

[2] Bruce Schneier. Applied Cryptography - John Wiley & Sons, 1996.

[3] PGP Personal Privacy. User's Guide. Version 6.5 - Network Associates, Inc., 1999.

[4] Филип Зиммерманн. "PGP: концепция безопасности и уязвимые места" // "Компьютерра", #48 [225], 1997.

[5] Максим Отставнов. "Сертификация ключей как коммерческая услуга" // "Компьютерра" #16 [244], 1998 (Приложение).

[6] Максим Отставнов. "SSL: техника безопасного Web'а" // "Компьютерра" #16 [244], 1998 (Приложение).

[7] Максим Отставнов. "Архитектуры сертификации ключей: риски и стоимость" // "Банковские технологии", .7, 1997 г.

[8] RFC1825-1829: "Security Architecture for the Internet Protocol".



1 (обратно к тексту) - Злоумышленник, в свою очередь, наблюдая "внешний" IP-поток, не сможет определить даже то, по каким протоколам высокого уровня производится коммуникация. Анализ активности позволит ему определить лишь адреса коммуникантов и объем переданной информации.

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

Режимы могут накладываться друг на друга. Так, PGPnet реализует в том числе и вариант "защищенный хост за защищенным шлюзом" (Secure host behind secure gateway), при котором информация шифруется ключом хоста (как в транспортном режиме), а затем дополнительно туннелируется шлюзу. Этот вариант сочетает преимущества транспортного (минимизация точек потенциальной компрометации двумя "крайними" хостами) режима и режима туннелирования (шифрование адреса целевого хоста).

2 (обратно к тексту) - Если вы смутно представляете роль и способы использования инфраструктуры сертификации открытых ключей, я рекомендую перечитать три наши более ранние публикации [4], [5] и [6]. Развернутый сравнительный анализ различных архитектур см. в [7].



© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.