т.п. А в России эти проблемы значительно усугубляются еще и политикой «анти RSA». Ведь все
перечисленные выше сложности являются общеизвестными, во всем мире их пытаются разрешить
и оптимизировать, но при непременном условии: для подписи используем RSA.
Криптографическая аутентификация уже встроена в упоминавшийся в предыдущем
разделе протокол SSL. То, как сервер будет связываться с клиентом, определяет только сам
сервер. Если без криптоаутентификации, то достаточно только сертификата сервера. Если же
выбрана криптографическая аутентификация, то в протоколе обмена сообщениями между
клиентом и сервером предусмотрена отправка некоторого сообщения, подписанного клиентом, и
сертификата клиента, с помощью которого сервер осуществляет проверку подписи, а перед
проверкой подписи проводит проверку сертификата клиента.
В корейской системе Интернет-банкинга для криптоаутентификации используется
специальный плагин: XecureWEB. Как сказано на сайте, посвященном этому плагину, он также
популярен в США и Канаде. А если говорить точнее, то этот плагин предназначен не только для
аутентификации, но и для шифрования трафика, но только не всего, а специальной части WEB-
страницы, которая требует шифрования. И даже SSL-протокол в таком случае не нужен.
Для использования XecureWEB не надо ломать операционную систему, устанавливать
самодельные и небесспорные Kernel Drivers. Корейцы даже умудрились встроить в него свой
национальный алгоритм симметричного шифрования. Но всего этого они смогли достичь при
одном непременном условии: асимметричный алгоритм, используемый при шифровании и
подписи – только RSA.
XecureWEB стал национальной гордостью корейцев. Они применяют его везде: в
Интернет-банкинге, бизнесе, электронном общении с различными службами, типа наших
жилищно-коммунальных контор и так далее. Корейцы создали несколько своих
общенациональных удостоверяющих центров, выдающих сертификаты для XecureWEB. Выданные
этими центрами сертификаты размещаются на специальном LDAP-сервере, к которому может
обратиться любой пользователь.
Я поразился простоте процедуры получения сертификата. Когда вы открыли счет в каком-
нибудь корейском банке, то у вас автоматически появляется возможность получения сертификата
для XecureWEB. Не надо больше никуда ходить с паспортом, как это делается в России, сертификат получается по Интернету в режиме online с сайта вашего банка. Там же, с сайта, в
режиме online, сертификат можно продлить, отозвать или получить заново.
Секретный ключ сертификата корейцы сначала, для удобства пользователей, писали на
жесткий диск компьютера и защищали паролем. Но вскоре убедились, что с точки зрения
безопасности это плохо, стащили один раз у них этот ключ из оперативной памяти компьютера. Я
писал об этом во второй книге «Криптография и Свобода». Стали записывать секретный ключ на
смарт-карты, там же, в процессоре смарт-карты, его и использовать. Между LG и Samsung разгорелась борьба за выпуск смарт-карт для XecureWEB.
Я видел все это вблизи своими глазами, программировал CSP и PKCS#11 для смарт-карт, старался поглубже влезть в XecureWEB. И все время меня мучил один и тот же вопрос: а русские
чем хуже корейцев? Может быть тем, что в России чиновники важнее специалистов?
При использовании цифровой подписи возникает и еще одна проблема: доверие к
сертификату, содержащему открытый ключ для проверки подписи. Проблема проверки
сертификата гораздо более сложная, чем проверка самой подписи с помощью этого сертификата.
Это комплексная задача, включающая в себя проверку цепочки подписей удостоверяющих
центров, выпустивших сертификат, срока его действия, назначения, для чего предназначен и
прочая, прочая, прочая. И часто самая трудоемкая проверка – на отзыв, не включен ли сертификат
в периодически обновляемый CRL (Certificate Revocation List), а по-русски в СОС (Список
Отозванных Сертификатов). Упомянутая выше криптоаутентификация клиента также непременно
требует проверки клиентского сертификата.
Практически все зарубежные IT-гиганты стараются помочь в проверке подписи. Для этого
во всем мире есть сеть общепризнанных международных удостоверяющих центров, корневые
сертификаты которых автоматически включены в операционные системы. Здесь отметим, что
сертификат корневого международного удостоверяющего центра действует, как правило, довольно долго (не менее 10 лет). С этих корневых сертификатов начинается цепочка проверок
подписей, заканчивающаяся проверкой подписи самого сертификата клиента. При этом сам
корневой сертификат – самоподписанный, считается, что он общеизвестен и не требует проверки.
Для наглядности я привожу ниже пример.
Цепочка сертификатов портала ГосУслуг.
А это – сам корневой сертификат международного удостоверяющего центра. Он автоматически
включен в Windows, самоподписанный и считается, что обладает доверием.
Но и это еще не все. Microsoft, например, помогая разработчикам программного
обеспечения, использующего цифровую подпись, включил в свой Crypto API (Application Programming Interface) множество готовых и отлаженных процедур, таких как проверка подписи
кода программы, просмотр и проверка сертификата, включая проверку на отзыв, работу с
встроенным в Windows хранилищем сертификатов и многое другое. И во всех этих процедурах
используются уже привязанные к Windows сертификаты международных удостоверяющих
центров.
Многие из дружащих со Стекляшкой российских IT-компаний с опаской посматривают на
то, что сделал Microsoft для их же удобства. И начинают выпускать свои аналогичные по
назначению доморощенные средства, справедливо опасаясь, что дружба с Microsoft может
помешать дружбе со Стекляшкой.
Риторический вопрос: а можно ли сейчас, в условиях «анти RSA», создать международный
удостоверяющий центр в России?
Займемся хешированием. Тут уже ситуация совсем другая чем с асимметричными
алгоритмами. Много асимметричных алгоритмов придумать нельзя в силу объективных причин –
очень сложная задача. А вот совершенно различных алгоритмов хеширования можно
навыдумывать бесконечно много. И тут уж действительно могут быть чисто российские
разработки….
Прочитав написанное до этого места, я с ужасом увидел, что вместо занятного
повествования скатываюсь к чему-то типа учебного пособия. Все, хватит – сказал мне внутренний
голос. Так твои опусы и читать никто не будет. Давай что-нибудь интересное, захватывающее.
Согласен. Даю.
***
- Леха, как тебе не стыдно! Ты какого-то монстра сделал национальным стандартом