Текст книги "Криптография и свобода"
Автор книги: Михаил Масленников
сообщить о нарушении
Текущая страница: 17 (всего у книги 23 страниц)
Самое печальное заключалось в том, что естественные методы защиты, например, зашифровать в цифровом режиме сумму перевода, были абсолютно неприемлемы. Во-первых, при шифровании в шифрованный текст автоматически добавлялся десятизначный маркант, а одним из требований ЦБ было то, что длина КПД не должна превосходить 10 цифр. Этот маркант являлся простым набором случайных чисел и гарантировал отсутствие повторов гаммы наложения, которое могло бы привести к повторениям в шифровках а-ля 17 мгновений весны. Но с точки зрения выработки КПД для ЦБ он был абсолютно бесполезным, не нес в себе никакой информации о платежном поручении и съедал отпущенный лимит по длине КПД. Во-вторых, и это самое главное, шифрование не давало гарантированной защиты от подделки. Шифрование – это простое гаммирование, сложение цифр открытого текста со знаками зависящей от ключа гаммы наложения. И если вычислить КПД было нельзя, то изменить в готовом платежном поручении сумму перевода можно было очень просто: сумма известна, зашифрованная сумма тоже известна из КПД, вычитаем одно из другого, получаем гамму наложения, складываем ее с измененной суммой, получается новый КПД, который будет принят получателем как истинный. В криптографии это было давно известно, еще со времен войны во Вьетнаме, когда зашифрованные шифром гаммирования команды управления советскими ракетами изменялись американскими системами перехвата. Советские ракеты стали летать не в те вьетнамские джунгли, а криптографы схватились за голову. В 70-е годы появилась теория шифрующих автоматов, одним из разделов которой стала имитостойкость, т.е. способность шифра противостоять целенаправленному навязыванию ложной информации. И первым постулатом, первой аксиомой стало: шифры гаммирования не являются имитостойкими. Калькулятор «Электроника МК – 85 С» был простейшим устройством шифрования именно по принципу гаммирования, никакие имитоприставки в нем не предполагались, ресурсов было по минимуму, да и для низовых звеньев Советской Армии они не требовались. Ведь там в цифровом режиме перешифровывались кодовые переговорные таблицы, их содержание потенциальному противнику предполагалось неизвестным, требовалось всего лишь гарантировать отсутствие повторений.
Попечалившись над этими проблемами пару дней, я стал искать нетривиальное решение. И оно в конце концов нашлось, простое и понятное, которое, с одной стороны, полностью устроило Центральный Банк, поскольку КПД получился коротким, не более 10 цифр, как того и требовал заказчик, а с другой – полностью исключило всякие возможности подделок. Только «покупай» ключи, как нас и учили в Высшей Школе КГБ, рассказывая о дисковых шифраторах.
Суть в следующем: шифровать ничего не будем. Займемся маркантом. Если поглядеть на снимок калькулятора, то среди его черных кнопок в верхнем ряду вторая справа – генератор случайного марканта. Он необходим в шифрах гаммирования для обеспечения уникальности вырабатываемой при каждом шифровании гаммы. С помощью марканта обеспечивается отсутствие повторений в шифртексте, даже если какие-то повторения встречались в открытом тексте. В «Электронике МК – 85 С» маркант многократно шифровался с помощью долговременного секретного ключа, но уже в режиме блочного шифра, и полученный таким образом результат становился разовым криптографическим ключом шифратора «Ангстрем-3», действительным только для данного сообщения. Своеобразный аналог session key в современных компьютерных системах, использующих протокол SSL. И вот тут то уже вовсю использовался «лавинный эффект» размножения различий, которым обладали блочные шифры. Измени хоть один символ в марканте – разовый ключ будет уже абсолютно другим, и каким конкретно – невозможно вычислить без знания долговременного ключа.
Но на приемном конце для расшифрования сообщения должны были ввести сначала маркант и затем вычислить с его помощью разовый ключ данного сообщения. Так и было, первые 10 знаков в любой шифровке, полученной с помощью калькулятора, всегда были маркантом. Пользователи этого практически не замечали, они вводили все подряд: маркант и шифртекст, а калькулятор сам отбирал первые 10 знаков, вычислял по ним разовый ключ и с его помощью расшифровывал остальной текст. Но эта была та зацепка, то нетривиальное решение, которое в конечном итоге и позволило спасти Центральный Банк от фальшивых авизо. Ничего не шифруем, а в цифровом режиме расшифрования в качестве марканта (первые 10 знаков) вводим банковскую информацию, которую необходимо защитить от подделок. Из этой информации калькулятор автоматически вычисляет разовый ключ для расшифрования непонятно чего, но нам расшифровывать ничего и не надо: вводим, например, в качестве шифртекста одни нули, тогда получаем чистую гамму наложения, кусочек нужной длины используем в качестве КПД. Хоть 5, хоть 7, хоть 10 знаков, это безразлично, всю имитозащиту выполнил маркант, точнее – алгоритм его преобразования в разовый ключ.
Эта неожиданная идея сразу перевернула все пессимистические взгляды на возможность использования калькулятора в ЦБ. КПД вырабатывать на калькуляторе можно, и способ выработки удовлетворяет всем банковским требованиям. Банк реально получал надежнейшую криптографическую защиту, для реализации которой не требовалось разрабатывать заново какие-то шифровальные средства, все уже готово и серийно выпускается в Зеленограде. Следовательно, в кратчайшие сроки можно решить проблему защиты от фальшивых авизо.
Решение есть, запатентовать бы. И выставить бы «эксперту, боровшемуся с фальшивыми авизо», как это и принято во всем цивилизованном мире, условия: решение – есть, хочешь – покупай. И потребовать оформить юридически Договор на передачу интеллектуальной собственности с указанием в нем своих роялти. Печально сейчас, 15 лет спустя, вспоминать об этом. Нет, не было тогда никаких реальных возможностей запатентовать это решение. Я был в то время действующим офицером ФАПСИ, т.е. юридически совершенно бесправным лицом, для любого патентования нужно было разрешение руководства. Один патент у меня к тому времени уже был – на алгоритм шифрования типа «Ангстрем-3», в нем – все по честному, только реальные разработчики из НИИ Автоматики и Спецуправления. Оформляли этот патент около двух лет. Проку с него, как показала практика, – ноль, все вопросы передачи прав на продажу «Электроники МК – 85 С» решались начальниками-генералами, про этот патент никто и не вспомнил. Криптографический ГУЛАГ оставался неизменным со сталинских времен.
Вот так «Анкорт» и получил «уникальную криптографическую систему защиты», у которой «некоторые элементы не имеют аналогов в мире», практически даром, как впоследствии практически даром были приватизированы многие природные ресурсы России. Но современные олигархи хотя бы не выступают публично с заявлениями типа: «Мы создали нефть и газ».
Итак, в середине сентября 1992 года стало окончательно ясно, что калькулятор можно использовать в ЦБ. Там сразу же за нее ухватились, как за соломинку, первоначально планируя использовать в течение полугода, до появления чего-то более серьезного, чем казавшийся примитивным калькулятор. «Анкорт» где-то в конце сентября заключил официальный контракт с Центральным Банком на поставку большой партии калькуляторов «Электроника МК – 85 С».
Но в ЦБ еще нужно с нуля создавать криптографическую инфраструктуру: систему выработки ключей к калькулятору, нормативные документы для банковского персонала, никогда до этого ни с какими шифровальными устройствами не работавшего, программную реализацию алгоритма выработки КПД на компьютере для больших РКЦ и многое другое. Про это в контракте не было речи по понятным соображениям: не хотели лишний раз дразнить ФАПСИ. И без этого реакция криптографических генералов, считавших себя единственными монополистами на все, что связано с криптографией, была однозначной: запретить! Во-первых, никто не хотел брать на себя никакой ответственности, а во-вторых, фактически уплывал богатый клиент. Но как запретить? Это был октябрь 1992 года, никаких официальных поводов для запрета еще нет, Указ Ельцина № 334 «О лицензировании и сертификации в области защиты информации» будет принят гораздо позже, в 1995 году. И вот тогда вспомнили «криптографический базар» в Теоретическом отделе о том, стойкий или нестойкий калькулятор «Электроника МК – 85 С», и запустили в ЦБ «пену»: сомневаемся в его криптографической надежности. Доллар растет, как на дрожжах из-за фальшивых авизо, а ФАПСИ в это время пускает в Центральный Банк, предпринявший реальные шаги для защиты своих платежей, криптографические «пенные волны». И самое интересное в том, что эти волны совершенно беспочвенны. Ведь для выработки КПД в калькуляторе, во-первых, ничего не шифруется, а во-вторых информация, обрабатываемая с помощью «Ангстрема-3» на одном разовом ключе, крайне мала, несколько знаков, тогда как все сомнения в криптографических качествах возникали при миллионе знаков.
Несколько эпизодов из этих событий мне особенно запомнились. В конце октября 1992 года Центральный Банк пригласил меня и К. на довольно представительный симпозиум по проблемам информатизации, который проходил в здании бывшего СЭВ на Арбате. У меня с собой был довольно экзотический по тем временам Notebook, выдававший разработчика, к тому же там было заявлено, что мы с К. разрабатываем систему защиты для ЦБ. И вот в перерыве на меня буквально налетел какой-то важный господин, по виду – высокопоставленный чиновник.
– А Вы знаете, что Ваша система нестойкая?
– Откуда у Вас такие сведения?
– Я знаю!
– А Вы сами по образованию кто, криптограф?
Господин не был криптографом по образованию, но то, что система защиты для ЦБ – нестойкая, почему-то не вызывало у него сомнений.
Результатом этих «пенных волн» была задержка с внедрением системы защиты примерно на две недели. Это было в начале октября 1992 года и читатель легко сможет прикинуть стоимость двухнедельной задержки по динамике роста курса доллара в то время.
Ну а мне в это время надо было подумать о криптографической инфраструктуре для ЦБ. Как вырабатывать ключи? Как вообще переложить на компьютер максимально возможную работу по защите телеграфных авизо? Идей была масса, все сводились к тому, чтобы в будущем попытаться максимально автоматизировать эту систему кодирования. В октябре 1992 года все начиналось с простейших программ – первых версий системы «Криптоцентр – авизо» для выработки КПД на компьютере и выработки ключей для такой огромной сети, как Центральный Банк. Первые две недели октября из-за «пенных волн» выдались спокойными, в ЦБ их переваривали, а у меня появилось время написать первую версию «Криптоцентра – авизо».
В начале ноября 1992 года в ЦБ было принято окончательное решение, несмотря на все возражения ФАПСИ, использовать калькулятор для защиты банковских платежей. Окончательная точка была поставлена на совещании у первого заместителя Председателя Центрального Банка Р.А.Ситдикова, которое проходило 7 ноября на Неглинке, неподалеку от Красной площади, на которой в этот день шумела то ли демонстрация в честь Великого Октября, то ли что-то еще. Первый же вопрос, который г-н Ситдиков задал разработчикам системы защиты, был, естественно, о криптографической стойкости.
– А Вы уверены, что Ваши калькуляторы стойкие?
У меня в голове уже вертелись длинные рассуждения про имитостойкость, маркант, советские ракеты во Вьетнаме, но К., знающий методы общения с высокими начальниками, опередил.
– Да, уверены. Мы оснастили ими Советскую Армию.
Вопросов о стойкости больше не было.
Изготовление и рассылка секретных ключей – деликатнейший криптографический вопрос. В 8 ГУ КГБ СССР существовало специальное управление «Б», которое занималось исключительно этими проблемами: как изготавливать и рассылать ключи. И вот ЦБ в годовщину Великого Октября идет на революционный шаг – отказывается от услуг управления «Б». Ключи для системы кодирования авизо первоначально будут изготавливаться в «Анкорте», а рассылаться с помощью службы инкассации ЦБ. Это был вызов проповедуемой со сталинских времен религии секретности в криптографии, которая способна завалить любое живое дело. А мне, как разработчику, эта новость давала пищу для размышлений: сейчас ЦБ отказывается от услуг управления «Б», так в дальнейшем может быть удастся внедрить и современную систему рассылки ключей по типовым каналам связи, шифруя их перед рассылкой с помощью системы с открытым распределением ключей. Это будет намного дешевле, чем услуги службы инкассации.
И, наконец, естественно был поднят вопрос о программной реализации системы кодирования авизо с помощью персональных компьютеров. Очень энергичная женщина, главный бухгалтер Центрального Операционного Управления, работать с калькуляторами наотрез отказалась.
– У нас столько авизовок проходит каждый день, а здесь экранчик и клавиатура такие миниатюрные, на выработку КПД для каждой авизо уходит слишком много времени, мы не справимся! Дайте нам программную реализацию алгоритма выработки КПД на персональном компьютере.
No problem! Через день я уже в ЦОУ, на своем Notebook объясняю девушкам-операционисткам, как кодировать авизо с помощью «Криптоцентр-авизо». Но в ЦОУ в этот день компьютеров еще не было, так что мои первые объяснения были чисто умозрительными. И потом, глядя на то, как работают эти девушки, заваленные кипами «входящих – исходящих», часами не отрывающиеся от своих рабочих мест, невольно закрадывались мысли: ну вот, у них и так здесь работы невпроворот, а я тут еще появляюсь со своей системой кодирования, усложняю их и без того непростую жизнь. Но когда они поведали мне некоторые подробности, то все сомнения сразу же отпали.
– У нас здесь постоянно в соседней комнате следователь МВД дежурит, мы чуть ли не каждый день фальшивые авизо вылавливаем и относим ему. А суммы-то в них какие: 800-900 миллионов рублей в каждой. Вы уж нам помогите!
На одной лишь интуиции молоденьких девушек-операционисток держалась вся система защиты платежных поручений Центрального Банка до декабря 1992 года! И то, что тогдашнее руководство ЦБ пошло наперекор догмам ФАПСИ, взяло на себя ответственность за спасение финансовой системы страны, не могло не вызывать у меня уважения. Появлялось желание доказать, что советская криптографическая школа – это не пустой звук, что те университетские традиции, которые существовали на 4 факультете вопреки начальникам, могут пригодиться в критической ситуации. Для Центрального Банка ситуация, несомненно, была критической, вынуждала к нестандартным решениям ради одной цели: в кратчайшие сроки защитить банковские платежи. В конце совещания 7 ноября Р.А.Ситдиков достает свою визитку и дает ее К.
– Вот моя визитка, а в ней – мой прямой телефон. Если кто-то будет мешать – звоните мне напрямую, на следующий день этот человек будет уволен.
В моей жизни было несколько случаев, когда возникало ощущение бессилия перед бюрократической стеной. В России три раза мне посчастливилось наблюдать ситуацию, когда в ответ находился решительный человек, начальник, который фактически заявлял: «Работайте, создавайте, Вам верят. Всю ответственность я беру на себя».
На внедрение системы защиты был дан карт-бланш. Но что же делать с программной реализацией? Тут опять я хочу посвятить читателя в некоторые нюансы существовавших в то время правил работы с шифровальной техникой.
Криптографическая стойкость – способность шифра противостоять математическим методам анализа – это только одна, хотя и важнейшая характеристика системы защиты. Шифр, как правило, реализуется с помощью каких-то электронных устройств, в которых есть побочные излучения. Да и простое нажатие на клавиши при вводе открытого текста или ключа вызывает миниатюрные звуковые волны, которые могут быть перехвачены чувствительным прибором. Все эти вопросы рассматривались в рамках так называемых специсследований, результаты которых, как правило, приводили к усложнению эксплуатации аппаратуры: требовались генераторы шумовых излучений, специальные звукоизолированные камеры, развязки по сети питания и многое, многое другое. Калькулятор «Электроника МК – 85 С» был хорош еще и тем, что все эти проблемы были в нем минимизированы: есть автономное питание, энергопотребление минимально, а следовательно минимальны побочные излучения. Но когда речь заходила о программной реализации, то, строго следуя инструкциям ФАПСИ, каждый компьютер нужно было в течение долгого времени исследовать на специальном стенде, чтобы выявить все опасные побочные излучения, а затем ужесточить и без того непростые условия работы операционисток из РКЦ. При этом, как правило, в ходе подобных тестов пытались найти хоть какие-то побочные излучения, заведомо считая все их опасными, и не вдаваясь в детали, насколько они опасны реально.
Это все было из разряда требований к военным и важнейшим правительственным линиям закрытой связи. Но здесь, в Центральном Банке, ситуация совсем иная. Защита практически отсутствует, нужно срочно внедрять криптографические методы, а любые контакты с ФАПСИ неизбежно приведут к затягиванию внедрения.
И здесь опять же ЦБ проявил реализм. Программная реализация «Криптоцентр-авизо» в 1992 году реально была внедрена в двух крупнейших РКЦ: Центральном Операционном Управлении и в Оперу – 1. Формально считалось, что кодирование осуществляется с помощью калькуляторов, а «Криптоцентр-авизо» работает в режиме тестирования. На самом деле калькуляторы валялись в сейфах и ни одного дня ими никто не пользовался в течение многих лет эксплуатации «Криптоцентра-авизо». А мне даже пришлось в 1999 году подписывать акт о том, что «Криптоцентр-авизо» стойкий к «проблеме 2000 года». Привет тем, кто придумал эту нетривиальную бизнес-акцию!
Итак, Центральный Банк получил элегантную криптографическую систему при минимальных затратах по времени и стоимости. Это стало возможным благодаря тому, что в течение почти 15 лет велась разработка теории шифров на новой элементной базе, которые позволили создать калькулятор «Электроника МК – 85 С», быстро подготовить систему выработки ключей и всю остальную криптографическую инфраструктуру. Причем не благодаря, а вопреки усилиям руководства ФАПСИ.
Что же касается «эксперта» К. – Бог ему судья. Сильный менеджер в таком деле необходим, одних усилий яйцеголовых математиков-криптографов в нашей стране явно недостаточно. Но после той интеллигентной среды, в которой я существовал всю свою сознательную жизнь, общение по принципам: «не верь, не бойся, не проси», моральный дискомфорт, постоянное ощущение: сейчас обманут, напрягись, не раскрывайся, – показались мне дикими. К., как всегда, занялся окучиванием центробанковских начальников, мне же гораздо интереснее было работать с простыми девушками-операционистками из расчетно-кассовых центров банка. Именно они были уже не абстрактными, а вполне конкретными потребителями моих криптографических идей и программ. И если для них, впервые в жизни услышавших слово «криптография», это слово оказалось с нормальным, человеческим, а не бюрократическим лицом, то я был этому очень рад. Именно они, эти молодые девушки, и являются истинными героинями, спасшими в 1992 году Россию от фальшивых авизо. На их интуиции и ответственности функционировала вся система платежей и до, и после внедрения системы криптографической защиты.
Ну и, наконец, последнее. У читателя, внимательно прочитавшего начало этой главы, неизбежно возникнет вопрос: система защиты авизо была внедрена в Центральном Банке с 1 декабря 1992 года, так почему же тогда г-н Матюхин говорит об «использовании уникальной технологии, разработанной в 1993 году ФАПСИ»? Что за временные чудеса, когда разработанная в 1993 году технология внедряется с 1 декабря 1992 года? Может быть в 1993 году ФАПСИ разработало какую-то принципиально другую технологию? Или же это просто опечатка в тексте?
В 1992 году ФАПСИ похвастаться было нечем. Неожиданно появился алгоритм, использующий маркант для выработки КПД, реакция – чисто рефлексная: запретить! В декабре 1992 года этот алгоритм на деле доказал свою стойкость: поток фальшивых авизо прекратился, доллар упал. Это официально признали в январе 1993 на Директорате Центрального Банка. Реакция ФАПСИ – это наша разработка! В январе 1993 года, на ежегодном отчете отдела, в котором я был заместителем начальника отделения, открытым текстом было заявлено: гендиректор ФАПСИ распорядился считать разработку для ЦБ проделанной не каким-то малым предприятием, а ФАПСИ. Формально – на 100% именно так. Калькулятор «Электроника МК – 85 С» – разработка ФАПСИ, вся инфраструктура разработана действующим офицером ФАПСИ. С одним маленьким добавлением: полулегально, без разрешений руководства. Вот и одна из возможных причин временных чудес: разработка внедрена с 1 декабря 1992 года, а указание считать ее разработкой ФАПСИ поступило в январе 1993 года.
Другая причина – да, действительно в 1993 году ФАПСИ приложило свою руку и к разработке. Острота проблемы спала, Центральный Банк не спеша стал обращаться в ФАПСИ с просьбой об официальном разрешении на использование уже реально действующей системы защиты банковских авизо. ФАПСИ, руководствуясь указаниями своего руководства, внесло некоторые косметические изменения в способ построения информационного блока авизо, подлежащего кодированию, ничего не меняя по существу: тот же калькулятор «Электроника МК – 85 С», в котором для выработки КПД используется маркант в режиме расшифрования. Этот алгоритм получил название «алгоритм ФАПСИ», на него было дано официальное разрешение, реально использоваться в банке он начал с начала 1994 года. К тому времени ЦБ уже заказал новую разработку – специализированный калькулятор «Электроника МК – 85 Б», только для Центрального Банка, и в нем было всего три алгоритма: старый, с 1992 года, новый, придуманный ФАПСИ, и оригинальный, только для этого нового калькулятора, не совместимый с «Электроникой МК – 85 С». Новый алгоритм я придумывал уже с учетом всех особенностей защиты авизо в Центральном Банке, в основе его по-прежнему лежали шифры на новой элементной базе, безо всяких монстров – ГОСТов, фактически это была специализированная хеш-функция, зависящая от ключа. Завод в Зеленограде выпустил несколько тысяч калькуляторов «Электроника МК – 85 Б», их разослали по всем РКЦ ЦБ, но разрешения на работу с третьим, оригинальным, придуманным только для ЦБ алгоритмом ФАПСИ так и не дало. Ни да, ни нет.