Hиже пояса
АрхивВ общедоступных сетевых приложениях гражданской криптографии пользователь имеет дело обычно с шифрованием и аутентификацией информации и идентификацией ее источника в верхних слоях сетевой архитектуры...
В общедоступных сетевых приложениях гражданской криптографии пользователь имеет дело обычно с шифрованием и аутентификацией информации и идентификацией ее источника в верхних слоях сетевой архитектуры (слое приложений или представления - рис. 1-2) или на уровне той "розетки" (socket), в которую "втыкаются" сетевые приложения в операционной среде.
- возможность компактной специализированной реализации криптоалгоритмов и криптопротоколов, работающей поверх штатных средств (меж)сетевого взаимодействия;
- невысокие требования к производительности клиентского оборудования (шифруются и подписываются только "критические" данные, причем зачастую это можно делать в офлайновом режиме).
Защита слоев ниже транспортного долгое время оставалась уделом специализированных систем, применяемых в областях, где накладные расходы на дополнительные ресурсы заведомо оправданны: банковских коммуникациях, корпоративных сетях с большим количеством критической информации и т. п.
Возросшие - производительность типичных персональных систем, с одной стороны, и спрос на гражданскую криптографию - с другой - постепенно меняют такое позиционирование "низкоуровневой" криптографии.
Их популяризации и распространению в малом бизнесе и персональном контексте способствовало включение в популярную 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.
Как это работает
Режим туннелирования (рис. 4) используется для организации шифрованной коммуникации с хостом или подсетью, "закрытыми" защищенным (совместимым оборудованием или программным обеспечением) шлюзом. Пакеты, отправляемые хосту-получателю, шифруются и помещаются в пакеты, отправляемые шлюзу. Шлюз расшифровывает их и отправляет хосту-получателю (снова шифруя или "открытым текстом", в зависимости от политики безопасности, установленной для его "подопечной" сети).
Очевидно, что режим туннелирования подходит более всего для организации "экстранета": обеспечения доступа к ресурсам корпоративной сети конкретным пользователям, расположенным в пространстве маршрутизации вне этой сети.
Что это может значить конкретно для вас?
С большой вероятностью вы пользуетесь какой-нибудь программой для моментальных сообщений и прямых "чатов" (например, ICQ). Такие системы, в отличие от более традиционных систем многосторонней коммуникации (например, IRC), "расшивают" узкое место, через которое проходили все сообщения, используя центральный сервер только как справочный (lookup server) - для локации адреса и определения статуса абонентов. Далее коммуникация организуется напрямую: кажется (см. ниже), ICQ использует для пересылки сообщения обычный "почтовый" протокол SMTP.
Теперь - смотрите: вы и я устанавливаем на своих компьютерах PGPnet или что-либо подобное и связываем их в транспортном режиме. Теперь, "взглянув" ("в открытую") на справочный сервер, мой экземпляр ICQ может связаться с вашим для передачи сообщения или открытия "чата", как обычно, - но уже поверх IPsec, и вс§, о чем мы друг другу найдем нужным сказать, останется между нами... и благодаря тому, что транспортный режим предусматривает также и аутентификацию сторон, мы можем быть уверены, что общаемся именно друг с другом, несмотря на то, что механизм идентификации сторон в той же "Аське", мягко говоря, несовершенен.
В то же время, сообщения, переданные через сервер, и сами запросы к нему останутся "открытыми" для наблюдения со стороны... пока кто-нибудь, кому мы доверяем, не поставит частный сервер ICQ за защищенный шлюз.
Обратите внимание на столь несвойственное нам ("Терре") слово "кажется", употребленное несколькими абзацами выше. Заглянуть в техдокументацию или уточнить у коллеги вопрос о протоколе заняло бы у меня несколько минут, но я принципиально не буду этого делать, поскольку это не имеет ровно никакого значения. Протокол высокого уровня может быть любым и даже проприетарным и вообще неизвестным пользователю, IPsec его "прикроет" [1].
Более того, любыми могут быть и протоколы слоев сетевой модели, лежащих ниже сетевого: физического и канального. Если поверх них (структурируют ли они модемную связь, провода локальной сети, микроволновый эфир или ИК-среду) работает IP, будет работать и IPsec.
Это важно. В структуре деятельности сил, противостоящих разворачиванию технологий гражданской криптографии в сетях Internet и прочих современных коммуникационных средах, не последнее место играют попытки дезинтеграции инженерного сообщества и противодействие унификации алгоритмов и протоколов. Слишком часто они оказываются успешными.
Защита на сетевом уровне бьет по ним буквально ниже (транспортного) пояса. Она является экономной альтернативой разворачиванию множества специальных "средств" (алгоритмов, протоколов, их спецификаций и реализаций) защиты, "заточенных" под конкретные протоколы высокого уровня.
И, наконец, заключительное замечание для тех, кто не вполне знаком с механизмами "гибридной" криптографии (симметричные+несимметричные алгоритмы). Для установления ("раскрутки") защищенного соединения стороны должны идентифицировать друг друга и сгенерировать одноразовый сеансовый ключ, которым будет шифроваться трафик. Идентификация и защита "рукопожатия", в ходе которого генерируется такой ключ, возможна, если стороны обладают аутентичными копиями открытых ключей друг друга.
Открытые ключи сертифицируются и передаются в рамках архитектуры сертификации, которая может быть централизованной (с участием корпоративного администратора безопасности или "цифрового нотариуса" - публичного Доверенного сертификатора) или децентрализованной (так называемая модель "сети доверия", наиболее развитой в PGP) [2]. Важно, что упомянутые реализации защиты на сетевом уровне позволяют "подцепиться" к уже развернутым инфраструктурам сертификации ключей, даже созданным для других целей.
|
ССЫЛКИ
[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].