Опубликован: 20.02.2006 | Уровень: специалист | Доступ: платный
Лекция 9:

Криптографические средства

Приложения криптографии

Хэши

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

Хэшами часто снабжают загружаемые версии программного обеспечения, чтобы гарантировать получение подлинника. Это важно, особенно для программ с открытыми исходными текстами, которые могут попасть к вам через третьи руки или с "неродного" сайта. На официальном web-сайте обычно публикуется правильный хэш самой свежей версии. Если два значения не совпадут, то можно утверждать, что были внесены некоторые изменения, возможно, без разрешения или уведомления разработчиков программы. Наиболее популярный алгоритм хэширования называется MD5.

Цифровые сертификаты

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

Сертификаты обычно приписываются определенному домену. Они могут выпускаться удостоверяющим центром или локально, как описано выше. Имеется несколько удостоверяющих центров, самым крупным из которых является VeriSign - компания, поддерживающая также доменную систему имен. Удостоверяющие центры наделяют другие организации правом предлагать сертификаты под их ответственность. Получить сертификат от VeriSign или одной из авторизованных организаций - все равно, как если бы кто-то поручился за вас. Обычно сертификат выпускают только после проверки фигурирующих в нем данных, осуществляемой либо по телефону, либо с помощью некоторой бумажной документации, такой как устав организации. Когда вас "освидетельствуют", удостоверяющий центр берет представленную вами информацию, включая URL, для которого вы собираетесь применять сертификат, и "подписывает" ее цифровым образом с помощью своего секретного ключа. После этого Web-сервер или другая программа может использовать выданный сертификат. Когда внешние пользователи получают с сервера некоторые данные, например, Web-страницу, с присоединенным к ним сертификатом, они могут применить криптографию с открытым ключом для проверки вашей личности. Чаще всего сертификаты используются на Web-сайтах электронной коммерции, но они могут также применяться для коммуникаций произвольного вида. SSH и Nessus могут использовать сертификаты для аутентификации. В виртуальных защищенных сетях сертификаты также могут применяться для аутентификации вместо паролей.

Криптографические протоколы

IPsec

Хорошо известно, что при первоначальном проектировании IP-протокола вопросам безопасности уделяли не слишком много внимания. IP версии 4 (IPv4), доминирующий протокол IP-коммуникаций, не предоставляет никаких средств аутентификации или конфиденциальности. Полезная нагрузка пакетов посылается в открытом виде, а заголовки пакетов можно легко изменять, так как они не проверяются в месте назначения. Многие атаки эксплуатируют эту базовую незащищенность инфраструктуры Интернет. Новый стандарт IP, называемый IPv6, был разработан для обеспечения аутентификации и конфиденциальности с помощью криптографии. Он также расширяет адресное пространство IP, используя 128-битный адрес вместо применяемого сейчас 32-битного, и усовершенствован в ряде других направлений.

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

IPsec - это не конкретный криптографический алгоритм, а скорее криптографический каркас для шифрования и верификации пакетов в протоколе IP. Спецификации IPsec предусматривают использование различных алгоритмов и могут быть реализованы полностью или частично. Комбинация асимметричной и симметричной криптографии применяется для шифрования содержимого пакетов, а хэширование добавляет к этому аутентификацию. Данная функция называется протоколом аутентифицирующего заголовка - Authentication Header, AH. С помощью AH создается и передается хэш IP-заголовка. Когда пакет прибывает в место назначения, хэш его заголовка перевычисляется. Если полученное значение не совпало с присланным, значит, в процессе пересылки заголовок был изменен. Тем самым обеспечивается высокая степень доверия к подлинности исходного адреса. Можно шифровать содержимое пакетов без добавления аутентифицирующего заголовка, чтобы не снижать пропускную способность и избежать проблем с трансляцией сетевых адресов и межсетевыми экранами. Имеется два различных режима работы IPsec: туннельный и транспортный.

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

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

Протокол туннелирования точка-точка (PPTP - Point-to-Point Tunneling Protocol)

PPTP - стандарт, разработанный Microsoft, 3Com и другими большими компаниями для обеспечения шифрования. Корпорация Microsoft включила его в Windows 98 и последующие выпуски, сделав вероятным кандидатом на роль основного стандарта массовой криптографии. Однако в PPTP были обнаружены существенные дефекты, что ограничило его применение. Когда Microsoft включила поддержку IPsec в Windows 2000, это можно было счесть молчаливым признанием победы IPsec как нового криптографического стандарта. Однако PPTP все-таки является полезным и недорогим протоколом для создания виртуальных защищенных сетей ПК со старыми версиями Windows.

Протокол туннелирования второго уровня (L2TP - Layer Two Tunneling Protocol)

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

Защищенный протокол сеансового уровня (SSL - Secure Socket Layer)

Этот протокол специально предназначен для применения в Web, хотя он может использоваться почти для любого типа TCP-коммуникаций. Первоначально компания Netscape разработала его для своего навигатора, чтобы помочь развитию электронной коммерции. SSL, опираясь на сертификаты, обеспечивает шифрование данных, аутентификацию обеих сторон и контроль целостности сообщений. В основном SSL работает в фоновом режиме при соединении с web-сервером для защиты пересылаемой информации, и его присутствие мало кто осознает. Обычно он аутентифицирует только одну сторону - серверную, так как у большинства конечных пользователей нет сертификатов.

Криптографические приложения

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

Он назвал свою программу "Приятное уединение" (PGP - Pretty Good Privacy), так как считал, что проделал хорошую работу для защиты данных от разведок небольших стран. Однако агентство по информационной безопасности США считало по-другому. Циммерман был обвинен в нарушении федеральных законов об экспорте вооружений за предоставление возможности загружать свою программу из любой точки мира.

Первоначально Циммерман собирался учредить компанию для продажи своего изобретения. Однако, когда правительство стало его преследовать, он бесплатно распространял свое программное обеспечение через Интернет, сделав его общедоступным. Впоследствии он все-таки сформировал компанию для продвижения коммерческих версий программного обеспечения, но повсюду в Интернете имеются реализации PGP с открытыми исходными текстами. Некоторые из них более популярны, чем другие, а некоторые являются нишевыми приложениями, такими как шифрование электронной почты. В следующем разделе рассматривается официальная условно свободная версия от PGP Corporation, а также версия с полностью открытыми исходными текстами. Список всех реализаций PGP можно найти по адресу http://www.cypherspace.org/openpgp/.

PGP Freeware: Средство криптографии с открытым ключом

PGP Freeware

Автор/основной контакт: Phil Zimmerman

Web-сайт: http://www.pgp.com

Платформы: Несколько платформ, включая все Windows и Linux

Лицензия: Бесплатно для некоммерческого применения

Рассмотренная версия: 8.0.2

Другие ресурсы:

http://www.pgpi.com

Списки почтовой рассылки:

Группа поддержки PGP Freeware

Рабочая группа IETF OpenPGP

Пользовательский список рассылки PGP

Рабочая группа PGP/MIME

Список рассылки разработчиков PGPi

Список рассылки переводчиков PGPi

Список рассылки разработчиков Pgplib

Все эти списки доступны для подписки по адресу:

http://www.pgpi.org/links/mailinglists/en/.

Телеконференции USENET:

Alt.security.pgp

Comp.security.pgp.announce

Comp.security.pgp.discuss

Comp.security.pgp.resources

Comp.security.pgp.tech

Официальную условно свободную версию PGP поддерживает Массачусетский технологический институт. Так как она лицензирована у Фила Циммерамана и PGP Corporation, то можно не сомневаться в ее целостности и законности. Недостатком условно свободной версии PGP является то, что она лицензирована только для индивидуального применения, поэтому ее можно использовать для персональной электронной почты или в целях образования, если вы студент. Если вы собираетесь применять эту версию PGP, не забудьте внимательно прочитать лицензию. Хотя эта версия PGP имеет открытые исходные тексты и распространяется бесплатно, существуют значительные ограничения на ее использование. Помните, что открытость исходных текстов не обязательно означает бесплатность. Если вы желаете получить самую свежую версию в сочетании с простотой использования и поддержкой, то должны рассмотреть возможность покупки полной лицензии у PGP Corporation. Она стоит примерно $125 на одного пользователя. При массовых закупках предоставляется скидка. Если вы не можете или не хотите платить, то более интересным для вас может оказаться другое средство - GnuPG, полностью свободная реализация PGP.

Официальная версия PGP от PGP Corporation обладает некоторыми замечательными возможностями:

  • Встроенный клиент для виртуальных защищенных сетей на основе IPsec 3DES, пригодный для безопасных коммуникаций с любым партнером, имеющим PGP версии 8.0 или выше.
  • Возможность создания саморасшифровывающихся архивов для отправки сообщений PGP тем, у кого нет установленного программного обеспечения PGP.
  • Затирание удаленных файлов, то есть возможность удалить файл с последующей многократной перезаписью области данных на диске.
  • Затирание свободного пространства, аналогичное затиранию удаленных файлов, но для свободного дискового пространства, которое может содержать следы старых данных.
  • Интегрированная поддержка командной строки для тех, кто знаком со старыми командами.
  • Встраиваемые модули для основных программ электронной почты: Outlook, Eudora и Claris Emailer (только в платной версии).
  • Поддержка посредников, полезная для пользователей, находящихся позади межсетевого экрана (только в платной версии).
  • PGPDisk - средство шифрования целых томов или частей вашего диска, так что зашифрование и расшифрование данных происходит автоматически (только в платной версии).

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

Предостережение: При неправильном применении PGP может обеспечиваться лишь слабая или вообще нулевая защита. Кроме того, при неосторожном обращении с ключами расшифрования можно безвозвратно потерять свои данные (см. врезку "Не теряйте ваши ключи!").

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

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

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?

Гончик Цымжитов
Гончик Цымжитов
Россия, Санкт-Петербург
Александр Косенко
Александр Косенко
Украина, Днепропетровск