Технологии защиты информации в сети

Примеры
Задачи

Возрождение

Лекции
Чертеж

Стандарт сертификации X.509.

Аутентификация пользователей на основе сертификатов

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

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

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

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

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

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

Механизм получения пользователем сертификата хорошо автоматизируется в системе клиент—сервер. Рассмотрим пример, в котором браузер выполняет роль клиента, а специальный сервер сертификатов, установленный в сертифицирующей организации, — роль сервера. Браузер вырабатывает для пользователя пару ключей, оставляет закрытый ключ у себя и передает частично заполненную форму сертификата серверу. Для того чтобы еще неподписанный сертификат нельзя было подменить при передаче по сети, браузер зашифровывает его закрытым ключом. Сервер сертификатов подписывает полученный сертификат, фиксирует его в своей базе данных и возвращает владельцу каким-либо способом. Очевидно, что все возможные случаи предусмотреть и автоматизировать нельзя, — иногда бывает нужна неформальная процедура подтверждения пользователем своей личности и права на получение сертификата. Эта процедура требует участия оператора сервера сертификатов и осуществляется, например, путем доказательства пользователем оплаты услуги или его принадлежности к какой-либо организации. После получения сертификата браузер хранит его вместе с закрытым ключом и использует при аутентификации на тех серверах, которые поддерживают этот процесс.

Microsoft реализовала поддержку сертификатов в браузере Internet Explorer и в WEB- сервере Internet Information Server. Кроме того, Microsoft разрабатала собственный сервер сертификатов, выдающий сертификаты стандарта X.509 различных степеней доверия. В состав пакетов MS Office входит программа Selfcert.exe, позволяющая пользователям создавать собственные сертификаты и использовать их для создания цифровых подписей электронных документов Word, Excel и PowerPoint.

Состав сертификата

Электронный сертификат представляет собой цифровой документ, который связывает открытый ключ с определенным пользователем или приложением. Сертификаты выдаются специальными организациями, называемыми центрами сетификации (Certification Authority- CA). Для защиты сертификата он шифруется с помощью секретного ключа CA. Возможность проверки истинности сертификата базируется на предположении, что открытый ключ CA является общедоступным, и любой пользователь может проверить сертификат, расшифровав его с помощью открытого ключа CA. Состав сертификата определяется станадартом X.509.

Стандарт X.509 был разработан в 1988 году Международным союзом телекоммуникаций (International Telecommunication Union- ITU) и является частью стандартов X.500, определяющих стандарт службы каталогов. Под каталогом понимается сервер или распределенная система серверов, поддерживающих базу данных с информацией о пользователях. Позднее стандарт был переработан и опубликован в 1993 году. Третья версия стандарта появилась в 1995 году.

Рекомендации X.509 базируются на использовании методов криптографии с открытым ключом. Стандарт не предусматривает конкретный алгоритм, хотя и рекомендует применять RSA. Сертификат X.509 содержит следующие элементы:

Версия. Номер версии сертификата, может принимать значения 1, 2 или 3,

Порядковый номер. Уникальный номер сертификата.

Идентификатор алгоритма подписи. Идентифицирует алгоритм, используемый для создания цифровой подписи сертификата.

Имя организации, выдавшей сертификат.

Срок действия сертификата. Содержит даты начала действия и срок окончания действия сертификата.

Имя владельца сертификата.

Открытый ключ владельца сертификата.

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

Подпись сертифицирующей организации предохраняет сертификат от изменения. Если все пользователи используют один и тот же центр сертификации, то данные о всех владельцах сертификатов и их открытых ключах можно хранить в одном каталоге. Но чаще выполняется случай, когда пользователи размещаются в разных географических областях и пользуются разными сертификационными центрами. В этом случае, строится иерархия сертификационных центров, описываемая тем же стандартом X.509. Каждый центр сертификации находится на определенном уровне этой иерархии и имеет своего предшественника, находящегося выше. Вышестоящий СА сертифицирует СА, находящиеся уровнем ниже точно также, как СА сертифицирует владельцев цифровой подписи. СА, находящие на одном уровне, могут заключать соглашения и взаимно сертифицировать друг друга. Лицо, проверяющее цифровой сертификат другого лица, может использовать эту цепочку сертификатов для выхода на сертификационный центр, находящийся в зоне действия проверяющего субъекта, которому он доверяет. Например, российский покупатель может проверить сертификат Интернет-продавца в далекой Бразилии через цепочку сертификатов, представленных продавцем или международными организацими торговцев с выходом на сертификат, выданный, например, Сбербанком России, который подтверждая последний сертификат цепочки своей цифровой подписью, берет на себя ответственность в случае финансовых потерь российского покупателя.

Компоненты ИОК и их функции

В состав компонент ИОК входят следующие компоненты:

Центр Сертификации;

Центр Регистрации;

Конечные пользователи;

Сетевой справочник.

Центр Сертификации

Центр Сертификации (или Удостоверяющий Центр) - основная управляющая компонента ИОК, предназначенная для формирования электронных сертификатов подчиненных Центров и конечных пользователей. Кроме сертификатов, ЦС формирует список отозванных сертификатов X.509 CRL (СОС) с регулярностью, определенной Регламентом системы.

К основным функция ЦС относятся:

Формирование собственного секретного ключа и сертификата ЦС;

Формирование сертификатов подчиненных Центров;

Формирование сертификатов открытых ключей конечных пользователей;

Формирование списка отозванных сертификатов;

Ведение базы всех изготовленных сертификатов и списков отозванных сертификатов;

Центр Регистрации

Опциональная компонента ИОК, предназначенная для регистрации конечных пользователей. Основная задача ЦР - регистрация пользователей и обеспечение их взаимодействия с ЦС. В задачи ЦР может также входить публикация сертификатов и СОС в сетевом справочнике LDAP.

Пользователи

Пользователь, приложение или система, являющиеся Владельцами сертификата и использующие ИОК.

Сетевой справочник

Опциональная компонента ИОК, содержащая сертификаты и списки отозванных сертификатов и служащая для целей распространения этих объектов среди пользователей с использованием протокола LDAP (HTTP, FTP).

Использование ИОК в приложениях

ИОК используется для управления ключами и электронными сертификатами в приложениях (таких как электронная почта, Web приложения, электронная коммерция), использующих криптографию для установления защищенных сетевых соединений (S/MIME, SSL, IPSEC), или для формирования ЭЦП электронных документов, приложений и т.д. Кроме того, ИОК может быть использована для корпоративных приложений.

Электронная почта и документооборот

Защищенные электронная почта и документооборот используют криптографию для шифрования сообщений или файлов и формирования ЭЦП. Из наиболее известных и распространенных стандартов стоит отметить протокол S/MIME (Secure Multipurpose Internet Mail Extensions), который является расширением стандарта Internet почты MIME (Multipurpose Internet Mail Extensions).

Web приложения

Web броузеры и сервера используют ИОК для аутентификации и конфиденциальности сессии, а также для онлайновых банковских приложений и электронных магазинов. Наиболее распространенным протоколом в этой сфере является протокол SSL (Secure Sockets Layer). Протокол SSL не ограничивается применением только для защиты HTTP (Hypertext Transfer Protocol), а также может быть использован для FTP (File Transfer Protocol) и Telnet.

ЭЦП файлов и приложений

Использование ЭЦП для подписи приложений и файлов позволяет безопасно распространять их по сети Internet. При этом пользователь уверен в корректности полученного приложения от фирмы-разработчика.

Стандарты в области ИОК

Стандарты в области ИОК делятся на две группы: часть из них описывает собственно реализацию ИОК, а вторая часть, которая относится к пользовательскому уровню, использует ИОК, не определяя ее. На приведенном рисунке показана связь приложений со стандартами. Стандартизация в области ИОК позволяет различным приложениям взаимодействовать между собой с использованием единой ИОК.

В особенности стандартизация важна в области:

процедуры регистрации и выработки ключа;

описания формата сертификата;

описания формата СОС;

описания формата криптографически защищенных данных;

описания онлайновых протоколов.

Основным центром по выпуску согласованных стандартов в области ИОК является рабочая группа ИОК (PKI working group) организации IETF (Internet Engineering Task Force), известная как группа PKIX (от сокращения PKI for X.509 certificates).

Стандарты PKIX

Спецификации PKIX основаны на двух группах стандартов: X.509 ITU-T (Международный комитет по телекоммуникациям) и PKCS (Public Key Cryptography Standards) firmy RSA Data Security. X.509 изначально был предназначен для спецификации аутентификации при использовании в составе сервиса X.500 директории. Фактически же, синтаксис электронного сертификата, предложенный в X.509 признан стандартом де-факто и получил всеобщее распространение независимо от X.500. Однако X.509 ITU-T не был предназначен для полного определения ИОК. В целях применения стандартов X.509 в повседневной практике пользователи, поставщики и комитеты по стандартизации обращаются к стандартам PKCS. PKIX группа издала следующие стандарты Internet (RFC):

Internet X.509 Public Key Infrastructure Certificate and CRL Profile (RFC 2459)

Internet X.509 Public Key Infrastructure Certificate Management Protocols (RFC 2510)

Internet X.509 Certificate Request Message Format (RFC 2511)

Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework (RFC 2527)

Internet X.509 Public Key Infrastructure Representation of Key Exchange Algorithm (KEA) Keys in Internet X.509 Public Key Infrastructure Certificates (RFC 2528)

Internet X.509 Public Key Infrastructure Operational Protocols - LDAPv2 (RFC 2559)

Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP (RFC 2585)

Internet X.509 Public Key Infrastructure LDAPv2 Schema (RFC 2587)

X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP (RFC 2560)

X.509

Стандарт X.509 ITU-T является фундаментальным стандартом, лежащим в основе всех остальных, используемых в ИОК. Основное его назначение - определение формата электронного сертификата и списков отозванных сертификатов.

PKCS

Из серии стандартов, изданных фирмой RSA Data Security, наиболее важными и используемыми в ИОК являются:

PKCS #7  Cryptographic Message Syntax Standard;

PKCS #10 Certificate Request Syntax Standard;

PKCS #12 Personal Information Exchange Syntax Standard.

Вместо устаревшего стандарта RSA PKCS #7, описывающего форматы криптографических сообщений, в июне 1999 года был принят RFC 2630 Cryptographic Message Syntax.

Стандарты, основанные на ИОК

Большинство стандартов, использующих криптографию, разработано с учетом использования ИОК.

S/MIME

Стандарт S/MIME определен IETF для обеспечения защищенного обмена сообщениями. S/MIME использует ИОК для формирования ЭЦП и шифрования информации. В группе стандартов S/MIME наиболее важными являются следующие: Cryptographic Message Syntax, Message Specification, Certificate Handling и Certificate Request Syntax.

SSL и TLS

Протокол SSL (разработанный фирмой Netscape) и соответствующий ему стандарт IETF TLS (RFC 2246) являются наиболее используемыми стандартами для обеспечения защищенного доступа к Web. Вместе с этим, SSL и TLS широко используются для создания клиент - серверных приложений, не использующих Web. Оба эти протокола в своей основе используют ИОК.

Secure Electronic Transactions (SET)

Протокол SET был разработан фирмами Visa и MasterCard и предназначен для обеспечения системы электронных банковских расчетов с использованием пластиковых карт. В данном протоколе ИОК является фундаментом, на котором базируется вся система аутентификации участников расчетов.

IPsec

Протокол IPsec (Internet Protocol Security Protocol) разработан IETF как протокол для шифрования IP и является одним из основных протоколов, используемых для построения VPN. ИОК в протоколе IPsec используется для аутентификации и шифрования. В настоящее время протокол еще широко не распространен, но повсеместное развитие ИОК приводит к возрастанию количества реализаций IPsec.

Ланшафтный дизайн