Текст книги "Криптография и Свобода - 3 (СИ)"
Автор книги: Михаил Масленников
Жанр:
Биографии и мемуары
сообщить о нарушении
Текущая страница: 2 (всего у книги 7 страниц) [доступный отрывок для чтения: 2 страниц]
ОГЛАВЛЕНИЕ
ПРЕДИСЛОВИЕ
Часть 1. Дружить со Стекляшкой
Глава 1.1. Российские криптографические алгоритмы
Анти RSA
Криптографическая аутентификация пользователей
Международные удостоверяющие центры
Хеширование
Глава 1.2. Цифровизация
Криптографическая утопия
Криптографическая реальность
Часть 2. Гуся
Глава 2.1 О, Гузеево!
Корейские байки. Компьютерная теория многоженства
Дрова из Интернет
Корейские байки. Let’s drink together
Появляется птичий двор
Глава 2.2 Птичий двор
Корейские байки. О собаках
Зарождение
Корейские байки. Kookmin Bank
Взросление
Корейские байки. NATO
Первые яйца
Корейские байки. О медицине
Надо зимовать
Глава 2.3. Зима в Гузеево
Корейские байки. Исходники
Свет и тьма
Корейские байки. PKCS#11 & KISA
Упрямый Фома
Жду весну!
Глава 2.4. Долгожданная весна
Корейские байки. Письмо домой
Запускаю инкубатор
Корейские байки. Святое
ДАЗДРАПЕРМА
Про маленького белого гусенка
ЗАКЛЮЧЕНИЕ. УДАР.
ПРЕДИСЛОВИЕ
Рано или поздно, но приходит усталость, надоедает работа, однообразие жизни, начальнички, существующие гласные и негласные порядки. И это совсем необязательно в России.
После 6 лет пребывания в Корее, при всем моем самом уважительном отношении к этой
замечательной стране и ее людям, я стал чувствовать необходимость смены обстановки.
А тут еще подоспел кризис 2009 года. Курс корейского вона упал с 1000 вон за доллар до
1600 вон за доллар. Моя зарплата – в вонах, следовательно, тоже упала. Стал ворчать.
С мистером Baik, президентом фирмы NETS Corporation, где я тогда работал, у меня были
прекрасные отношения. В самом что ни на есть русском смысле этого слова: примерно раз в
месяц он приглашал меня в ресторан и мы там на пару бухали. Корейская соджа – гадость
несусветная, корейская «рисовая» водка 24 градуса, дешевле пива, и, похоже, сплошная химия, сплошная головная боль. Попробовав ее пару раз, я сразу же твердо заявил корейцам: пейте ее
сами, я же лучше выпью пива. С тех пор русский программист стал островком трезвости в
корейском соджинском заливе. Мистер Baik, как и практически любой другой кореец, был
поклонником соджи, которая играла большую роль в его бизнесе. «Вчера мы с хюндайцами
играли в гольф, а потом пили соджу. За ночь выпили 12 бутылок» – печально делился он со мной
своим опытом ведения бизнеса. Тут (для российского читателя) я сразу замечу, что бутылка соджи
– это наша «чебурашка» объемом 0,33 литра, так что 12 бутылок соджи – это почти 4 литра
гнусного пойла.
Я, как только мог, перевоспитывал его – бесполезно, национальная традиция. Но какие-то
подвижки стали появляться. «Я вчера за $2000 купил машину для изготовления вина из
винограда» – похвастался он мне на очередной встрече. Я сразу же вспомнил фильм
«Самогонщики»: «Без каких-нибудь особенных затрат создан этот самогонный аппарат…». DVD
диск с «Самогонщиками» подарил мистеру Baik в качестве учебного пособия к его чудо-машине.
Мистер Baik ценил мое образование, опыт и ни в коем случае не хотел меня терять. Когда
я стал ворчать по поводу своей зарплаты, то вместо обычного корейского ресторана последовало
очередное приглашение в специальный уютный кабачок, где пара корейских официанток
(знакомых мистера Baik) весь вечер крутила диски с песнями на русском языке. «До свидания наш
ласковый Миша, возвращайся в свой сказочный лес» – хорошо, что они не понимали по-русски, а
то не стали бы ставить такой явный намек. И вместо соджи – вискарь выдержки 15 лет.
В конце вечера мы с мистером Baik обо всем договорились: мне повысили зарплату. Это
было в марте 2009 года. Но в июне того же года – новая беда. Корейская телекоммуникационная
компания KT, на договоре с которой строилась большая часть бизнеса NETS Corporation, из-за
кризиса расторгла договор и NETS Corporation оказалась в сложном финансовом положении.
Мистер Baik разослал всем сотрудникам письмо, в котором честно признавался в этом и
предлагал или уменьшить зарплату или уволиться.
Я получил это письмо в пятницу. Пора домой – такой смысл для меня был в этом письме.
Не до гробовой же доски мне находиться в Корее. Случай удобный. Тут же – в «Аэрофлот» и сразу
купил билет в Москву на следующей неделе. В понедельник прихожу к мистеру Baik и объявляю
ему об этом.
Пытался отговорить. Но в конце концов согласился, что проведенные в Корее 6 с лишним
лет – это много. Прощальное приглашение в ресторан. В ресторане мы с ним сидели до часу ночи.
«Автобусы не ходят, метро закрыто…». У мистера Baik – своя машина, на которой мы приехали в
ресторан, но для того, чтобы уехать из ресторана, нужен трезвый водитель. Вызываем. Приезжает
кореец, не понимающий ни одного слова не только по-русски, но и по-английски. Мистер Baik, как
смог, объяснил ему, куда ехать, он запрограммировал GPS-навигатор и вперед. Тут замечу, что
жили мы с мистером Baik в одном и том же районе Сеула – Бунданге. Это даже не сам Сеул, а его
ближайший пригород, типа как Красногорск для Москвы. Мистер Baik сразу же в машине
отрубается (вот она, соджа!), а я с ужасом убеждаюсь, что водила ничего не понимает по
английски. Машина со свистом проносится мимо моей гостиницы, все попытки остановить водилу
– бесполезны. Едем до дома мистера Baik – это примерно полчаса пешком до моей гостиницы.
Вытаскиваем мистера Baik из машины и приводим в чувство. Время – часа два ночи, в 10
утра – мне в аэропорт. «Я довезу тебя до аэропорта» – произносит страшные слова мистер Baik. Не
спорю, утро вечера мудренее (скорее всего, проспит и забудет). Утро. С вещами выхожу из
гостиницы, собираясь на автобусную остановку, откуда идет прямой автобус до аэропорта и тут
появляется черный Hyundai мистера Baik. Не проспал и не забыл.
Назад, в Россию!
Часть 1. Дружить со Стекляшкой
Итак, математик-криптограф, программист, бывший сотрудник 8 ГУ КГБ СССР, после более
чем шестилетнего пребывания в Южной Корее возвратился к себе на Родину. За границей я
приобрел большой опыт работы, связанной с программированием криптографических задач. Мне
довелось детально разбираться с корейской системой Интернет-банкинга, международными
криптографическими стандартами, пакетом OpenSSL, криптографическими интерфейсами CSP и
PKCS#11, смарт-картами, Certification Authority и еще много с чем другим. Мне казалось, что мои
знания и опыт будут нужны в России. Обида, связанная с отношением ко мне руководства 8 ГУ КГБ
СССР после успешного выполнения работ по защите Центрального Банка России от фальшивых
авизо в 1992, и вынудившая меня покинуть за полгода до пенсии военную службу в КГБ СССР, понемногу зарубцевалась.
Как я уже писал в первой книге «Криптография и Свобода», начальником 4 факультета
Высшей Школы КГБ СССР, где готовили советских криптографов, был недалекий генерал, который
публично высказывался, что «в первую очередь нам нужны хорошие офицеры, а потом уже
хорошие специалисты». Тогда, в середине 70-х годов прошлого века, большинство из нас, слушателей 4 факультета, обучавшихся по специальности инженер-математик (слово
«криптограф» в открытую произносить было нельзя), относились к этим высказыванием с
иронией, мол, чего еще взять с такого генерала. Всем было очевидно, что подготовить хорошего
специалиста гораздо сложнее, чем хорошего офицера. И это относилось не только к
криптографии. Все мы, родившиеся в середине 50-х, хорошо помнили, с каким энтузиазмом
встречали тогда простые люди советские успехи в космосе, атомной энергетике, спорте и во
многих других областях, где требовались ум, талантливость, трудолюбие, умение принимать
правильные решения. Не было изобилия нефтедолларов и благодаря этому ценились хорошие
специалисты.
Никто тогда и представить себе не мог, что произойдет лет так через 40. А произошло вот
что: в высказываниях того генерала слово «офицер» как-то само собой заменилось на слово
«чиновник» и генеральский бред стал лозунгом, типа «Коммунизм победит!», который звучал
тогда, в 60-х, из каждого утюга и был основой тогдашней политики. «Чиновник важнее
специалиста!» – вот основа нынешней политики России.
Шесть с лишним лет, находясь в Южной Корее, я отдыхал от этого абсурда. Есть знания и
опыт – работай по специальности и не думай ни о каких разрешениях и лицензиях. Доказывай на
деле свою компетентность, выбирай оптимальные криптографические решения, руководствуясь, в
первую очередь, их удобством для конечного пользователя, ну и, само собой, требованиями
безопасности. Причем требования безопасности – абстрактные, а удобство конечных
потребителей в создаваемой тобою продукции – это вполне реальная вещь.
Где-то в начале нулевых годов, после того, как американцы сняли свои запреты на
использование стойких криптографических схем в коммерческих и гражданских целях, в самой
криптографии, как науке, произошел сдвиг: вместо математических методов анализа
опубликованных и общедоступных криптосхем на первый план стали выходить уже
программистские задачи их грамотной реализации, недопущение компрометации ключей, а
также удобство использования криптографической продукции. По крайней мере, я это сразу же
почувствовал в Корее.
Там никого не интересовало, что я работал в КГБ. Умеешь разбираться в
криптографических программах, их отладке и доведении до работоспособного состояния –
милости просим. Работают твои программы, выполняют требования конечного потребителя – не
нужны больше никакие разрешения и лицензии, хотя в Корее есть некий аналог чиновничьего
криптографического органа. Он мило называется KISA – Korean Information Security Agency. Я
первый раз о нем услышал года через 4 после появления в Корее, когда KISA организовало
открытый конкурс на использование интерфейса PKCS#11 в корейской банковской системе. Для
справки: в современной России при обучении основам криптографии (есть такие курсы уже во
многих институтах) криптографические динозавры сравнивают разработку криптографических
программ без лицензии ФСБ с производством наркотиков.
И вот я опять в Москве, ищу работу по специальности. Меня тут помнят, многие прочли
мою первую книжку «Криптография и Свобода», отношение нормальное. Но! «Мы дружим со
Стекляшкой» – вот основная заповедь практически всех компаний, связанных с разработкой
криптографической продукции. Тут поясню: «Стекляшка» – простонародное название здания
бывшего Спецуправления 8 ГУ КГБ СССР, получившего такое прозвище из-за своей конструкции в
форме стеклянной раскрытой книги. Там теперь главная чиновничья обитель российской
криптографии.
А что на практике означает «дружить со Стекляшкой»? Тут сразу же встает в свой огромный
чиновничий рост такое понятие, как «российские криптографические алгоритмы», ибо «дружить
со Стекляшкой» можно тогда и только тогда, когда ты используешь их и только их. А что такое
российские криптографические алгоритмы?
Глава 1.1. Российские криптографические алгоритмы
Неискушенный в криптографии читатель наверняка подумал, что российские
криптографические алгоритмы – это такие алгоритмы, которые придумали в России. Не совсем так.
Российские криптографические алгоритмы – это такие алгоритмы, которые оформлены в качестве
национальных российских стандартов. А что и почему оформлено в качестве национальных
стандартов: алгоритм, который придумали в России или зарубежный алгоритм – в этом мы сейчас
попытаемся разобраться. Придумать криптографический алгоритм – это задача специалиста-
криптографа, а оформить какой-то алгоритм в качестве национального стандарта – это по части
чиновника. И с некоторых пор я стал сомневаться, что в России создание каких-то новых
оригинальных криптографических алгоритмов, принимаемых затем в качестве национальных
стандартов, вообще возможно.
Итак, попробуем разобраться с российскими криптографическими стандартами и с таким
почти мистическим вопросом: почему тот или иной алгоритм стал национальным стандартом?
Начнем с самого болезненного вопроса: почему общепризнанный мировой криптографический
стандарт RSA не стал национальным стандартом в России?
Анти RSA
Криптография, как один из специфических разделов математики, – наука точная, за это я ее
и люблю. В отличии от политики, которая часто колеблется как синусоида в зависимости от чьей-
то генеральной линии. Но чиновники от криптографии в России умудрились создать свою
собственную «криптографическую политику». И одним из основных постулатов этой политики стал
принцип «анти RSA». Не признаем алгоритм RSA и все тут!
Тут я должен извиниться перед неискушенным в криптографии читателем: сейчас
придется залезть в дебри. Появятся специфические термины: асимметричный алгоритм, открытые
и секретные ключи, простое число, эллиптическая кривая и т.п. Чтобы не превращать книжку в
учебное пособие, я предполагаю, что тот, кому надо, уже хорошо знаком с этими понятиями. Не
возражаю, если обычный читатель просто пропустит эти дебри или прочтет их «по диагонали». Ну
а если заинтересуетесь – то полагаю что Вы, уважаемый читатель, знакомы с Википедией и легко
сможете найти в ней объяснения разным непонятным терминам.
Пара общих слов про асимметричные алгоритмы. На мой взгляд, это – основа
современной криптографии. Асимметричные алгоритмы – это криптографическая система с
открытым распределением ключей, их можно использовать как для шифрования, так и для
цифровой подписи.
В настоящее время есть два основных и общепризнанных принципа построения системы с
открытым распределением ключей: Диффи-Хеллмана и RSA. Все попытки придумать что-то еще
уже лет 40 не приводят к успеху. Обе эти системы придумали американцы, оригинальных
российских принципов построения систем с открытым распределением ключей нет.
Система RSA (аббревиатура по фамилиям ее создателей: Rivest, Shamir, Adleman) основана
на сложности решения задачи разложения большого числа на простые множители. Для
зашифрования с помощью RSA достаточно знать только открытый ключ получателя, для
расшифрования необходим только секретный ключ получателя. Используется также и для
цифровой подписи.
Система Диффи-Хеллмана основана на сложности логарифмирования в конечных полях
больших чисел. В 1985 году американцы Нил Коблиц и Виктор Миллер предложили похожую
систему, основанную на эллиптических кривых (EC – Elliptic Curve) над конечными полями. В ней
вместо операций возведения в степень больших чисел в конечных полях используются операции
скалярного умножения точки на эллиптической кривой на большое целое число. Как для
зашифрования, так и для расшифрования в обоих системах необходима пара ключей. Для
зашифрования – секретный отправителя и открытый получателя, для расшифрования – секретный
получателя и открытый отправителя. Цифровая подпись в обоих системах осуществляется по
алгоритму Эль-Гамаля.
Это вкратце. Но и невооруженным взглядом видно, что с точки зрения практического
применения RSA удобнее, поскольку для шифрования нужен только один ключ: открытый
получателя для зашифрования и свой секретный для расшифрования полученного
зашифрованного сообщения. Да и цифровая подпись попроще, не нужен специальный алгоритм
Эль-Гамаля, реализация цифровой подписи осуществляется с помощью тех же операций, что и
шифрование. Есть и еще один нюанс, показывающий преимущество реализации RSA по
сравнению с реализацией ЕС.
Когда я в первый раз прочитал требования американского национального института
стандартов и технологий (NIST) к реализации алгоритмов хеширования (о них – позже), то обратил
внимание на жестко заданное требование к последовательности действий, которые должна
совершать программа, реализующая алгоритм. Это инициализация (Init), обновление (Update) и
завершение (Final). Все! Никакой предварительной подготовки (Precomputing). И вот тут-то опять
появляются достоинства RSA: там никакой Precomputing и не требуется. А в ЕС для увеличения
скорости не обойтись без Precomputing. Дело в том, что операции с точками эллиптической
кривой требуют трудоемких операций с векторами и Precomputing заключается в составлении
таблицы умножения этих векторов. Это проделывается один раз перед началом сеанса работы, но
затем вместо сравнительно медленного умножения векторов в программной реализации
используются быстрые процедуры обращения к таблице умножения. Конечно же, Precomputing можно включить в Init, сделать индикатор заполнения таблицы умножения и проводить
Precomputing только тогда, когда этот индикатор еще не установлен. Но, во-первых, это лишняя
оперативная память, которая потребуется для реализации таблицы умножения, а во-вторых –
усложнение самой реализации. Если, например, речь идет о реализации алгоритма на
скромненьком чипе смарт-карты, то лишняя память, требуемая под Precomputing, может
оказаться решающим аргументом в споре RSA и ЕС.
Это простые и понятные аргументы, по которым становится ясно, почему RSA стал
общепризнанным мировым стандартом. Но не в России. В России асимметричным стандартом
стал EC. Почему? Ведь как RSA, так и EC – американские идеи.
В 80-х годах, когда я работал в Теоретическом отделе Спецуправления 8 ГУ КГБ СССР, там
анализировались обе схемы: как RSA, так и Диффи-Хеллмана. И вроде как нашли, что Диффи-
Хеллман более безопасный алгоритм. Его и анализировали побольше. Но речь тогда, почти 40 лет
назад, шла об абстрактном криптоанализе, да и применять асимметричную криптографию
планировали в основном в военных целях. А тут американцы начали снимать секретность со своей
криптографии,стали появляться общедоступные криптографические стандарты и
криптографические чиновники в России решили не отставать от Америки. Введем свои
криптографические стандарты!
Первым в 1989 году появился стандарт для симметричного шифрования. С ним вроде все
понятно: переделанная американская схема DES, анализировался долго, создан в ответ на
появление американского стандарта симметричного шифрования. А как быть с асимметричным
стандартом? Чем руководствоваться при его выборе?
И получилось так, что при выборе асимметричного стандарта в России в начале 90-х
руководствовались чем угодно, но только не простотой реализации. ЕС, как видоизмененный
Диффи-Хеллман, был выбран потому, что его больше анализировали и признали более
безопасным, чем RSA, с точки зрения возможности взлома. Возможно также, что свою роль
сыграли результаты взлома RSA с относительно небольшой длиной ключа (426 бит) с помощью
метода квадратичного решета. Так или иначе, но общепризнанные скорость и простота
реализации RSA при выборе российского асимметричного стандарта были проигнорированы.
Чиновники, на всякий случай, решили перестраховаться.
Отлили в гранит. Сделали ЕС национальным криптографическим стандартом России. А
национальный стандарт должен быть один и только один! Почему? А вы что, хотите чтобы
чиновники с несколькими стандартами возились? Дали один стандарт – и будьте довольны, вон
при Сталине не то, что криптографический стандарт, даже само слово «криптография»
произносить нельзя было. Попробуй возрази криптографическим чиновникам!
Но во всем мире пошли по другому пути. Множество специалистов пристально изучили
RSA со всех сторон. Были найдены оптимальные соотношения между скоростью и безопасностью
при использовании RSA. Защита от обычного взлома RSA обеспечивается при длине ключа 1024
бит и, следовательно, в большинстве практических случаев этой длины достаточно для
использования в «бытовых» криптографических целях. При длине 2048 бит безопасность
значительно возрастает, а скорость, соответственно, уменьшается. Этой длины достаточно для
важных использований RSA в коммерческой и гражданской криптографии. При длине ключа 4096
бит RSA становится настолько безопасным, что его можно использовать даже в Удостоверяющих
Центрах, сертификаты которых действуют десятки лет.
Алгоритм RSA органически встроен в большинство современных операционных систем, без него никак нельзя использовать те возможности, которыми они обладают.
Но в России чиновники встали с колен. Нам Америка не указ! Раз во всех ваших
операционных системах нет российских криптографических стандартов, то мы (чиновники) дадим
указание их переделать. Но не российские стандарты, а ваши операционные системы. Или же
пускай всякие Microsoft да Apple сами встраивают наши криптографические стандарты в свою
продукцию.
Но почему-то ни Microsoft, ни Apple ни многие другие зарубежные IT-гиганты не спешат
встраивать российские криптографические стандарты в свои операционные системы. Не спешат
дружить со Стекляшкой, колебаться вместе с ее генеральной линией. Например, сегодня
Стекляшка сертифицирует криптографический интерфейс CSP, а завтра ни с того ни с сего вдруг
объявляет, что сертифицировать можно только «законченные криптографические продукты». Что
это такое – толком никто не знает, четких определений нет, одни интуитивные понятия
чиновников, но CSP, на взгляд чиновников, таковым не является.
Да и всяких других чудес от чиновников можно ожидать в любой момент. IT-россияне к
этому привыкли, монополию Стекляшки на российскую криптографию отменить нельзя: считается
аксиомой. Некоторые из IT-нероссиян согласились с этой аксиомой, но все-таки далеко не все.
Вместо принципа «дружить со Стекляшкой» используют принцип держаться от криптографической России подальше.
Ах вы такие-сякие! Да мы тогда сами поломаем ваш Windows и впихнем туда творения
наших чиновников. Реализация усложнится и скорость уменьшится? Плевать!!!
И вот стали все российские IT-компании, которые дружат со Стекляшкой, ломать Windows, встраивать в него всякие доморощенные Kernel Drivers только с одной целью: продолжить дружить со Стекляшкой. Да только вот беда-то какая.
Если вы, к примеру, делаете криптографическую систему для узкого круга потребителей
(например, только для военных), то всех их можно принудительно заставить сломать свой
Windows. А если, к примеру, разрабатывается замечательный по задумке и исполнению портал
ГосУслуг, то там круг потребителей не определен. Всем нужен портал ГосУслуг. А доступ к порталу
должен быть безопасным, т.е. необходим зашифрованный трафик. SSL-протокол с RSA органически встроен куда угодно: и в Windows, и в IOS, и в Андроид и вообще в любую пуговицу.
Как там использовать «российские криптографические алгоритмы»?
Прежде всего отметим, что давняя мечта российских криптографических чиновников – это
чтобы «неопределенный круг пользователей», т.е. практически все россияне, дружили со
Стекляшкой, и начали бы ради такой дружбы ломать свои Windows. Но тут опять же загвоздка: не
Windows единым живет нынче цифровой мир. Если Windows любезно предоставляет
возможность сравнительно легко ломать себя с помощью Kernel Drivers, то всякие там IOS и
примкнувшие к ней другие операционные системы для смартфонов – нет. Подписывают они
основные файлы в своих операционных системах с помощью того же RSA.
И вот что делают разумные разработчики, несмотря на майские Указы Президента.
Сертификат портала ГосУслуг Российской Федерации.
Сертификат сервера Сбербанка.
Сертификат сервера КриптоПро.
И так далее.
Сжав челюсти, Стекляшка закрывает глаза на эти безобразия. Тут, правда, должен
заметить, что эти сертификаты предназначены для организации SSL – защищенного протокола
связи с сервером. Они являются сертификатами сервера и не предназначены для
криптографической аутентификации пользователей.
Везде сертификат используется фактически только для организации протокола SSL. Есть и
аналогичное российское создание – протокол TLS, но «неопределенный круг пользователей»
почему-то не хочет менять на него всем уже привычный и неприхотливый SSL. Да и 99% этих
пользователей вообще слабо себе представляют, что такое SSL и TLS, и почему вдруг надо
создавать себе какую-то дополнительную головную боль.
Пользовательские преимущества SSL по сравнению с TLS настолько очевидны, что их не
могли не учитывать разработчики. Был заключен негласный пакт о ненападении: Стекляшка не
трогает SSL в разработках для общероссийского использования. В отместку Стекляшка своей
политикой «анти RSA» практически на корню извела криптографическую аутентификацию
пользователей, о которой самое время сейчас поговорить.
Криптографическая аутентификация пользователей
Интуитивно ясно: логин и пароль – вот и аутентификация. Только уж больно ненадежная, мало ли было сообщений «о взломе электронной почты», а все отчего: от того, что там вся
аутентификация – логин и пароль.
Например, для банковской системы надо что-то понадежнее. А что? Сразу вспоминаем:
«на ваш мобильный телефон направлен код подтверждения». Такую аутентификацию во всем
мире принято именовать OTP – One Time Password. Одноразовый пароль. Надежная? Да, безусловно. А удобная и вообще работоспособная? Только если мобильный телефон работает. А
если нет мобильной связи?
6 лет я жил в Сеуле, а там российские мобильные телефоны не работают. Да и в России, в
моей любимой глухомани, деревне Гузеево Лесного района Тверской области, частенько бывают
проблемы с мобильником. Как быть?
Нужно что-то еще, помимо OTP. Ну и как же тут не вспомнить про криптографию и
цифровую подпись, это вроде как раз то, что надо для надежной и удобной криптографической
аутентификации. Во всей Южной Корее такая аутентификация широко применяется всеми
банками и, приезжая в Москву, я легко мог работать со своими счетами в корейских банках. А вот
в Сеуле со счетом в Сбербанке – нет, нет мобильной связи. Почему же все российские банки так
любят OTP?
Да потому, что не хотят связывать своих клиентов с российской криптографией, заставлять
их «дружить со Стекляшкой». Растерять можно клиентов из-за такой «дружбы».
Пусть, к примеру, вы захотите использовать криптографическую аутентификацию в своем
Интернет-банкинге, если, конечно, ее ваш банк поддерживает. В этом случае будьте добры: 1) Установите на своем компьютере российский криптопровайдер (небесплатно);
2) Приобретите токен для хранения секретного ключа (тоже небесплатно, а по ценам, в 5
раз выше, чем за такой же токен с вас возьмут в корейском банке);
3) Приобретите головную боль за счет процедуры получения сертификата для подписи.
Ну и будьте готовы ко всяким неожиданностям при работе с банком с использованием
криптографической аутентификации, ибо OTP используют очень многие клиенты банка, а
криптоаутентификация – экзотика.
Криптоаутентификация объективно содержит в себе много технических сложностей, связанных с обеспечением клиентов сертификатами, необходимыми для аутентификации, их
обновлением и отзывом, работой банковского сервера с базой данных клиентских сертификатов и
т.п. А в России эти проблемы значительно усугубляются еще и политикой «анти RSA». Ведь все
перечисленные выше сложности являются общеизвестными, во всем мире их пытаются разрешить
и оптимизировать, но при непременном условии: для подписи используем RSA.
Криптографическая аутентификация уже встроена в упоминавшийся в предыдущем
разделе протокол SSL. То, как сервер будет связываться с клиентом, определяет только сам
сервер. Если без криптоаутентификации, то достаточно только сертификата сервера. Если же
выбрана криптографическая аутентификация, то в протоколе обмена сообщениями между
клиентом и сервером предусмотрена отправка некоторого сообщения, подписанного клиентом, и
сертификата клиента, с помощью которого сервер осуществляет проверку подписи, а перед
проверкой подписи проводит проверку сертификата клиента.
В корейской системе Интернет-банкинга для криптоаутентификации используется
специальный плагин: XecureWEB. Как сказано на сайте, посвященном этому плагину, он также
популярен в США и Канаде. А если говорить точнее, то этот плагин предназначен не только для
аутентификации, но и для шифрования трафика, но только не всего, а специальной части WEB-
страницы, которая требует шифрования. И даже SSL-протокол в таком случае не нужен.
Для использования XecureWEB не надо ломать операционную систему, устанавливать
самодельные и небесспорные Kernel Drivers. Корейцы даже умудрились встроить в него свой
национальный алгоритм симметричного шифрования. Но всего этого они смогли достичь при
одном непременном условии: асимметричный алгоритм, используемый при шифровании и
подписи – только RSA.
XecureWEB стал национальной гордостью корейцев. Они применяют его везде: в
Интернет-банкинге, бизнесе, электронном общении с различными службами, типа наших
жилищно-коммунальных контор и так далее. Корейцы создали несколько своих
общенациональных удостоверяющих центров, выдающих сертификаты для XecureWEB. Выданные
этими центрами сертификаты размещаются на специальном LDAP-сервере, к которому может
обратиться любой пользователь.
Я поразился простоте процедуры получения сертификата. Когда вы открыли счет в каком-
нибудь корейском банке, то у вас автоматически появляется возможность получения сертификата
для XecureWEB. Не надо больше никуда ходить с паспортом, как это делается в России, сертификат получается по Интернету в режиме online с сайта вашего банка. Там же, с сайта, в
режиме online, сертификат можно продлить, отозвать или получить заново.
Секретный ключ сертификата корейцы сначала, для удобства пользователей, писали на
жесткий диск компьютера и защищали паролем. Но вскоре убедились, что с точки зрения
безопасности это плохо, стащили один раз у них этот ключ из оперативной памяти компьютера. Я
писал об этом во второй книге «Криптография и Свобода». Стали записывать секретный ключ на
смарт-карты, там же, в процессоре смарт-карты, его и использовать. Между LG и Samsung разгорелась борьба за выпуск смарт-карт для XecureWEB.
Я видел все это вблизи своими глазами, программировал CSP и PKCS#11 для смарт-карт, старался поглубже влезть в XecureWEB. И все время меня мучил один и тот же вопрос: а русские
чем хуже корейцев? Может быть тем, что в России чиновники важнее специалистов?
Международные удостоверяющие центры
При использовании цифровой подписи возникает и еще одна проблема: доверие к
сертификату, содержащему открытый ключ для проверки подписи. Проблема проверки
сертификата гораздо более сложная, чем проверка самой подписи с помощью этого сертификата.
Это комплексная задача, включающая в себя проверку цепочки подписей удостоверяющих