Криптография делится на два класса: с симметричными ключами и открытыми ключами.
В криптографии с симметричными ключами отправитель и получатель используют один и тот же (общий) ключ, как для шифрования, так и для расшифрования.
Преимущества криптографии с симметричными ключами:
· производительность (производительность алгоритмов с симметричными ключами очень велика);
· стойкость (Криптография с симметричными ключами очень стойкая, что делает практически невозможным процесс дешифрования. При прочих равных условиях (общий алгоритм) стойкость определяется длиной ключа. При длине ключа 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).браузеры и сервера используют ИОК для аутентификации и конфиденциальности сессии, а также для онлайновых банковских приложений и электронных магазинов. Наиболее распространенным протоколом в этой сфере является протокол 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 является фундаментальным стандартом, лежащим в основе всех остальных, используемых в ИОК. Основное его назначение - определение формата электронного сертификата и списков отозванных сертификатов.
Из серии стандартов, изданных фирмой 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 определен IETF для обеспечения защищенного обмена сообщениями. S/MIME использует ИОК для формирования ЭЦП и шифрования информации. В группе стандартов S/MIME наиболее важными являются следующие: Cryptographic Message Syntax, Message Specification, Certificate Handling и Certificate Request Syntax.
Протокол SSL (разработанный фирмой Netscape) и соответствующий ему стандарт IETF TLS (RFC 2246) являются наиболее используемыми стандартами для обеспечения защищенного доступа к Web. Вместе с этим, SSL и TLS широко используются для создания клиент - серверных приложений, не использующих Web. Оба эти протокола в своей основе используют ИОК.
Протокол Secure Electronic Transactions (SET) был разработан фирмами Visa и MasterCard и предназначен для обеспечения системы электронных банковских расчетов с использованием пластиковых карт. В данном протоколе ИОК является фундаментом, на котором базируется вся система аутентификации участников расчетов.
Протокол IPSEC (Internet Protocol Security Protocol) разработан IETF как протокол для шифрования IP и является одним из основных протоколов, используемых для построения VPN. ИОК в протоколе IPSEC используется для аутентификации и шифрования. В настоящее время протокол еще широко не распространен, но повсеместное развитие ИОК приводит к возрастания количества реализаций IPSEC.
В заключении отметим, что криптография с открытыми ключами и электронные сертификаты позволяют реализовать по настоящему защищенные системы и приложения, использующие современные технологии и сети передачи данных. Стандартизация в данной области позволяет различным приложением взаимодействовать между собой, используя единую Инфраструктуру Открытых Ключей.
В недалеком прошлом для сдачи отчетов в налоговые и другие органы отчет следовало распечатать на бумаге, а затем выстоять с ним очередь либо в кабинет инспектора, либо на почту. Тратилось на стояние в очередях неимоверное количество рабочего времени.
В настоящие время для этих целей применяются различные системы электронного документа оборота, например:
1) СБиС ++;
2) Контур-Экстерн;
) Астрал отчёт;
) КлиентТранспортнаяСистема.
Позволяет организовать полностью безбумажный, защищённый и юридически
значимый документооборот между юридическими и физическими лицами с одной
стороны и государственными контролирующими органами с другой. Система СБиС++
обеспечивает пользователя всем необходимым для удобного и быстрого общения с
основными ведомствами Российской Федерации - Федеральной налоговой службой,
Пенсионным фондом, Федеральной службой государственной статистики, Фондом
социального страхования. При этом дело не ограничивается только организацией
обмена информацией. Система предоставляет единый инструмент для работы с
отчетностью от заполнения и отправки, до анализа и хранения.