Содержание
- Необходимость защиты информации
- Для чего нужна криптография
- Что такое криптография с открытыми ключами
- Компоненты ИОК и их функции
- Использование ИОК в приложениях
- Стандарты в области ИОК
- Стандарты, основанные на ИОК
- Заключение
Необходимость защиты информации
Продолжающееся бурное развитие компьютерных технологий и повсеместное внедрение в бизнес с использованием Интернета коренным образом изменяет устоявшиеся способы ведения бизнеса. Системы корпоративной безопасности, обеспечивающие бизнес, тоже не могут оставаться в стороне.
В настоящее время, например, средства электронной почты, используются не только для общения между людьми, а для передачи контрактов и конфиденциальной финансовой информации. Web сервера используются не только для рекламных целей, но и для распространения программного обеспечения и электронной коммерции. Электронная почта, доступ к Web серверу, электронная коммерция, VPN требуют применения дополнительных средств для обеспечения конфиденциальности, аутентификации, контроля доступа, целостности и идентификации. В настоящее время в качестве таких средств повсеместно используются средства криптографической защиты и Инфраструктура Открытых Ключей (ИОК).
Для чего нужна криптография
Система криптографической защиты должна обеспечивать:
- Конфиденциальность - Информация должна быть защищена от несанкционированного прочтения как при хранении, так и при передаче. Если сравнивать с бумажной технологией, то это аналогично запечатыванию информации в конверт. Содержание становится известно только после того, как будет открыт запечатанный конверт. В системах криптографической защиты обеспечивается шифрованием.
- Контроль доступа - Информация должна быть доступна только для того, для кого она предназначена. Если сравнивать с бумажной технологией, то только разрешенный получатель может открыть запечатанный конверт. В системах криптографической защиты обеспечивается шифрованием.
- Аутентификацию - Возможность однозначно идентифицировать отправителя. Если сравнивать с бумажной технологией, то это аналогично подписи отправителя. В системах криптографической защиты обеспечивается электронной цифровой подписью и сертификатом.
- Целостность - Информация должна быть защищена от несанкционированной модификации как при хранении, так и при передаче. В системах криптографической защиты обеспечивается электронной цифровой подписью и имитозащитой.
- Неотрекаемость - Отправитель не может отказаться от совершенного действия. Если сравнивать с бумажной технологией, то это аналогично предъявлению отправителем паспорта перед выполнением действия. В системах криптографической защиты обеспечивается электронной цифровой подписью и сертификатом.
Что такое криптография с открытыми ключами
Криптографическое преобразование (шифрование)- взаимно-однозначное математическое преобразование, зависящее от ключа (секретный параметр преобразования), которое ставит в соответствие блоку открытой информации (представленной в некоторой цифровой кодировке) блок шифрованной информации, также представленной в цифровой кодировке. Термин шифрование объединяет в себе два процесса: зашифрование и расшифрование информации.
Криптография делится на два класса: с симметричными ключами и открытыми ключами.
В криптографии с симметричными ключами отправитель и получатель используют один и тот же (общий) ключ, как для шифрования, так и для расшифрования.
Преимущества криптографии с симметричными ключами:
- Производительность - Производительность алгоритмов с симметричными ключами очень велика.
- Стойкость - Криптография с симметричными ключами очень стойкая, что делает практически невозможным процесс дешифрования. При прочих равных условиях (общий алгоритм) стойкость определяется длиной ключа. При длине ключа 256 бит необходимо произвести 10 в 77 степени переборов для определения ключа.
Недостатки криптографии с симметричными ключами:
- Распределение ключей - Так как для шифрования и расшифрования используется один и тот же ключ, при использовании криптографии с симметричными ключами требуются очень надежные механизмы для распределения ключей.
- Масштабируемость - Так как используется единый ключ между отправителем и каждым из получателей, количество необходимых ключей возрастает в геометрической прогрессии. Для 10 пользователей нужно 45 ключей, а для 100 уже 499500.
- Ограниченное использование - Так как криптография с симметричными ключами используется только для шифрования данных и ограничивает доступ к ним, при ее использовании невозможно обеспечить аутентификацию и неотрекаемость.
В криптографии с открытыми ключами используется пара ключей: открытый ключ и секретный (личный) ключ, известный только его владельцу. В отличие от секретного ключа, который должен сохраняться в тайне, открытый ключ может распространяться по сети. Секретный ключ в криптографии с открытыми ключами используется для формирования электронной подписи и расшифрования данных.
Криптография с открытыми ключами обеспечивает все требования, предъявляемые к криптографическим системам. Но реализация алгоритмов требует больших затрат процессорного времени. Поэтому в чистом виде криптография с открытыми ключами в мировой практике обычно не применяется. Для шифрования данных используются симметричные (сеансовые) ключи, которые в свою очередь шифруются с использованием открытых для передачи сеансовых ключей по сети.
Криптография с открытыми ключами требует наличия Инфраструктуры Открытых Ключей (PKI - Public Key Infrastructure) - неотъемлемого сервиса для управления электронными сертификатами и ключами пользователей, прикладного обеспечения и систем.
Непосредственное использование открытых ключей требует дополнительной их защиты и идентификации для определения связи с секретным ключом. Без такой дополнительной защиты злоумышленник может представить себя как отправителем подписанных данных, так и получателем зашифрованных данных, заменив значение открытого ключа или нарушив его идентификацию. В этом случае каждый может выдать себя за английскую королеву. Все это приводит к необходимости верификации открытого ключа. Для этих целей используется электронный сертификат.
Электронный сертификат представляет собой цифровой документ, который связывает открытый ключ с определенным пользователем или приложением. Для заверения электронного сертификата используется электронная цифровая подпись доверенного центра - Центра Сертификации (ЦС). Исходя из функций, которые выполняет ЦС, он является основной компонентой всей Инфраструктуры Открытых Ключей. Используя открытый ключ ЦС, каждый пользователь может проверить достоверность электронного сертификата, выпущенного ЦС, и воспользоваться его содержимым.
Верификация цепочки сертификатов
Как описывалось ранее, доверие любому сертификату пользователя определяется на основе цепочки сертификатов. Причем начальным элементом цепочки является сертификат центра сертификации, хранящийся в защищенном персональном справочнике пользователя.
Процедура верификации цепочки сертификатов описана в рекомендациях X.509 и RFC 2459 и проверяет связанность между именем Владельца сертификата и его открытым ключом. Процедура верификации цепочки подразумевает, что все "правильные" цепочки начинаются с сертификатов, изданных одним доверенным центром сертификации. Под доверенным центром понимается главный ЦС, открытый ключ которого содержится в самоподписанном сертификате. Такое ограничение упрощает процедуру верификации, хотя наличие самоподписанного сертификата и его криптографическая проверка не обеспечивают безопасности. Для обеспечения доверия к открытому ключу такого сертификата должны быть применены специальные способы его распространения и хранения, так как на данном открытом ключе проверяются все остальные сертификаты.
Алгоритм верификации цепочек использует следующие данные:
- Х.500 имя Издателя сертификата;
- Х.500 имя Владельца сертификата;
- открытый ключ Издателя;
- срок действия открытого (секретного) ключа Издателя и Владельца;
- ограничивающие дополнения, используемые при верификации цепочек (basicConstraints, nameConstraints, policyConstrains);
- СОС для каждого Издателя (даже если он не содержит отзываемых сертификатов).
Цепочка сертификатов представляет собой последовательность из n сертификатов, в которой:
- для всех x в {1, (n-1)}, Владелец сертификата x есть Издатель сертификата x+1;
- сертификат x=1 есть самоподписанный сертификат;
- сертификат x=n есть сертификат конечного пользователя;
Одновременно с цепочкой сертификатов используется цепочка СОС, представляющая собой последовательность из n СОС, в которой:
- для всех СОС x в {1, n}, Издатель сертификата x есть Издатель СОС x;
- СОС x=1 есть СОС, изданный Владельцем самоподписанного сертификата;
- СОС x=n есть СОС, изданный Издателем сертификата конечного пользователя;
После построения двух цепочек (сертификатов и СОС) выполняется:
- криптографическая проверка сертификатов и СОС в цепочках;
- проверка сроков действия сертификатов и СОС;
- проверка соответствия имен Издателя и Владельца с использованием дополнения nameConstraints;
- проверка длины цепочки с использованием дополнения basicConstraints;
- проверка на отзыв сертификатов, причем, если сертификат промежуточного центра был отозван СОС вышестоящего центра, все сертификаты, изданные промежуточным центром, считаются недействительными;
- проверка приемлемых регламентов использования сертификата и приемлемых областей использования ключа с использованием дополнений certificatesPolicies и extendedKeyUsage.
Компоненты ИОК и их функции
В состав компонент ИОК входят следующие компоненты:
- Центр Сертификации;
- Центр Регистрации;
- Конечные пользователи;
- Сетевой справочник.
Центр Сертификации
Центр Сертификации (или Удостоверяющий Центр) - основная управляющая компонента ИОК, предназначенная для формирования электронных сертификатов подчиненных Центров и конечных пользователей. Кроме сертификатов, ЦС формирует список отозванных сертификатов 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 [11] (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) [12]
- Internet X.509 Public Key Infrastructure Certificate Management Protocols (RFC 2510) [13]
- Internet X.509 Certificate Request Message Format (RFC 2511) [14]
- Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework (RFC 2527) [15]
- Internet X.509 Public Key Infrastructure Representation of Key Exchange Algorithm (KEA) Keys in Internet X.509 Public Key Infrastructure Certificates (RFC 2528) [16]
- Internet X.509 Public Key Infrastructure Operational Protocols - LDAPv2 (RFC 2559) [17]
- Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP (RFC 2585) [18]
- Internet X.509 Public Key Infrastructure LDAPv2 Schema (RFC 2587) [19]
- X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP (RFC 2560) [20]
X.509
Стандарт X.509 ITU-T является фундаментальным стандартом, лежащим в основе всех остальных, используемых в ИОК. Основное его назначение - определение формата электронного сертификата и списков отозванных сертификатов.
PKCS
Из серии стандартов, изданных фирмой RSA Data Security, наиболее важными и используемыми в ИОК являются: [21]
- PKCS #7 Cryptographic Message Syntax Standard [21];
- PKCS #10 Certificate Request Syntax Standard [22];
- PKCS #12 Personal Information Exchange Syntax Standard [23].
Вместо устаревшего стандарта RSA PKCS #7, описывающего форматы криптографических сообщений, в июне 1999 года был принят RFC 2630 Cryptographic Message Syntax [24].
Стандарты, основанные на ИОК
Большинство стандартов, использующих криптографию, разработано с учетом использования ИОК.
S/MIME
Стандарт S/MIME определен IETF для обеспечения защищенного обмена сообщениями. S/MIME использует ИОК для формирования ЭЦП и шифрования информации. В группе стандартов S/MIME наиболее важными являются следующие: Cryptographic Message Syntax, Message Specification, Certificate Handling и Certificate Request Syntax.
SSL и TLS
Протокол SSL [25] (разработанный фирмой Netscape) и соответствующий ему стандарт IETF TLS (RFC 2246) [26] являются наиболее используемыми стандартами для обеспечения защищенного доступа к Web. Вместе с этим, SSL и TLS широко используются для создания клиент - серверных приложений, не использующих Web. Оба эти протокола в своей основе используют ИОК.
Secure Electronic Transactions (SET)
Протокол SET был разработан фирмами Visa и MasterCard и предназначен для обеспечения системы электронных банковских расчетов с использованием пластиковых карт. В данном протоколе ИОК является фундаментом, на котором базируется вся система аутентификации участников расчетов.
IPSEC
Протокол IPSEC (Internet Protocol Security Protocol) разработан IETF как протокол для шифрования IP и является одним из основных протоколов, используемых для построения VPN. ИОК в протоколе IPSEC используется для аутентификации и шифрования. В настоящее время протокол еще широко не распространен, но повсеместное развитие ИОК приводит к возрастания количества реализаций IPSEC.
Заключение
Криптография с открытыми ключами и электронные сертификаты позволяют реализовать по настоящему защищенные системы и приложения, использующие современные технологии и сети передачи данных. Стандартизация в данной области позволяет различным приложением взаимодействовать между собой, используя единую Инфраструктуру Открытых Ключей.