Перейти к содержанию.

Инфраструктура Открытых Ключей

Термин Инфраструктура Открытых Ключей (Public Key Infrastructure) представляет всеобъемлющее понятие. Им описывается полный комплекс программно-аппаратных средств, а также организационно-технических мероприятий, необходимых для использования технологии с открытыми ключами. Основным компонентом инфраструктуры является собственно система управления ключами и сертификатами.
Документация на АПК "Валидата УЦ"
Документация на АПК "Валидата Клиент"

Отечественная реализация Инфраструктуры Открытых Ключей

Идея защиты информации, передаваемой через глобальные сети, на основе инфраструктуры сертификатов открытых ключей (PKI), использующей отечественные криптографические стандарты, относительно нова, и существует весьма малое число примеров развертывания в России подобных инфраструктур. Данному факту есть целый ряд объяснений.
Исторически сложилось так, что инфраструктура сертификатов открытых ключей (PKI) создавалась на базе зарубежных криптостандартов (RSA, DES) с учетом их специфических особенностей. Широкое развитие за рубежом данная технология получила за счет поддержки ее со стороны таких крупных американских производителей программного обеспечения, как Microsoft, Hewlett Packard, Intel и др.
Для реализации инфраструктуры открытых ключей, использующей российские криптографические стандарты, был использован обширный опыт ООО Валидата в проектировании и разработке сложных информационных систем. Результатом работы в данном направлении стали программные продукты АПК "Валидата УЦ" и АПК "Валидата Клиент".

В качестве криптографического ядра АКП "Валидата УЦ" и АПК "Валидата Клиент" используют СКЗИ "Валидата CSP". Использование СКЗИ "Валидата CSP" обеспечивает совместимость с продуктами сторонних производителей в соответствии с опубликованными стандартами RFC 4357, RFC 4490, RFC 4491 и др.

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

ООО "Валидата" получила Сертификат соответствия ФСБ России на АКП "Валидата УЦ", регистрационный номер СФ/128-1666, а также Сертификат соответствия ФСБ России на АПК "Валидата Клиент", регистрационный номер СФ/124-1628.

Необходимость криптографии

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

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

Что обеспечивает криптография

Система криптографической защиты должна обеспечивать:

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

Что такое криптография с открытыми ключами

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

Криптография делится на два класса: с симметричными ключами и открытыми ключами.

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

Преимущества криптографии с симметричными ключами:

  • Производительность - Производительность алгоритмов с симметричными ключами очень велика.
  • Стойкость - Криптография с симметричными ключами очень стойкая, что делает практически невозможным процесс дешифрования. При прочих равных условиях (общий алгоритм) стойкость определяется длиной ключа. При длине ключа 256 бит необходимо произвести 10 в 77 степени переборов для определения ключа.

Недостатки криптографии с симметричными ключами:

  • Распределение ключей - Так как для шифрования и расшифрования используется один и тот же ключ, при использовании криптографии с симметричными ключами требуются очень надежные механизмы для распределения ключей.
  • Масштабируемость - Так как используется единый ключ между отправителем и каждым из получателей, количество необходимых ключей возрастает в геометрической прогрессии. Для 10 пользователей нужно 45 ключей, а для 100 уже 499500.
  • Ограниченное использование - Так как криптография с симметричными ключами используется только для шифрования данных и ограничивает доступ к ним, при ее использовании невозможно обеспечить аутентификацию и неотрекаемость.

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

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

Криптография с открытыми ключами требует наличия Инфраструктуры Открытых Ключей (PKI - Public Key Infrastructure) - неотъемлемого сервиса для управления электронными сертификатами и ключами пользователей, прикладного обеспечения и систем.

Верификация открытого ключа

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

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

Проверка цепочки сертификатов

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

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

Алгоритм верификации цепочек использует следующие данные:

  • Х.500 имя Издателя сертификата;
  • Х.500 имя Владельца сертификата;
  • открытый ключ Издателя;
  • срок действия открытого (секретного) ключа Издателя и Владельца;
  • дополнения, используемые при верификации цепочек (basicConstraints, nameConstraints);
  • СОС для каждого Издателя (даже если он не содержит отзываемых сертификатов).

Цепочка сертификатов представляет собой последовательность из n сертификатов, в которой:

  • для всех x в {1, (n-1)}, Владелец сертификата x есть Издатель сертификата x+1;
  • сертификат x=1 есть самоподписанный сертификат;
  • сертификат x=n есть сертификат конечного пользователя;

Одновременно с цепочкой сертификатов используется цепочка СОС, представляющая собой последовательность из n СОС, в которой:

  • для всех СОС x в {1, n}, Издатель сертификата x есть Издатель СОС x;
  • СОС x=1 есть СОС, изданный Владельцем самоподписанного сертификата;
  • СОС x=n есть СОС, изданный Издателем сертификата конечного пользователя;

Сертификат

СОС

1     - самоподписанный сертификат (ROOT)

Издатель СОС = Владелец самоподписанного сертификата (ROOT)

...

...

x     - Владелец сертификата x

Издатель СОС = Владелец сертификата x

x+1   - Издатель сертификата = Владелец сертификата x

Издатель СОС = Владелец сертификата х+1

...

...

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 (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 Certificate Revocation List (CRL) Profile
Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

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
.

Российские алгоритмы

Using the GOST R 34.10-94, GOST R 34.10-2001, and
GOST R 34.11-94 Algorithms with the Internet X.509 Public Key Infrastructure Certificate and CRL Profile

Using the GOST 28147-89, GOST R 34.11-94,
GOST R 34.10-94, and GOST R 34.10-2001 Algorithms with Cryptographic Message Syntax (CMS)

GOST 28147-89 Cipher Suites for Transport Layer Security (TLS)

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

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

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 являются наиболее используемыми стандартами для обеспечения защищенного доступа к Web. Вместе с этим, SSL и TLS широко используются для создания клиент - серверных приложений, не использующих Web. Оба эти протокола в своей основе используют ИОК.

Secure Electronic Transactions (SET)

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

IPSEC

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

Заключение

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