Выбрать главу

т.п. А в России эти проблемы значительно усугубляются еще и политикой «анти 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», создать международный

удостоверяющий центр в России?

Хеширование

Займемся хешированием. Тут уже ситуация совсем другая чем с асимметричными

алгоритмами. Много асимметричных алгоритмов придумать нельзя в силу объективных причин –

очень сложная задача. А вот совершенно различных алгоритмов хеширования можно

навыдумывать бесконечно много. И тут уж действительно могут быть чисто российские

разработки….

Прочитав написанное до этого места, я с ужасом увидел, что вместо занятного

повествования скатываюсь к чему-то типа учебного пособия. Все, хватит – сказал мне внутренний

голос. Так твои опусы и читать никто не будет. Давай что-нибудь интересное, захватывающее.

Согласен. Даю.

***

- Леха, как тебе не стыдно! Ты какого-то монстра сделал национальным стандартом