[Перевод] Скандальная история последней роторной шифровальной машины
И какую роль этот гаджет сыграл в шпионской операции «Рубикон»
Кликабельно: шифровальная машина HX-63 — электромеханическая роторная система, спроектированная и созданная компанией Crypto AG. Машина использует девять роторов (справа от центра) для шифрования сообщений. Слева вверху — двойной принтер для печати на ленте.
Я рос в Нью-Йорке и всю жизнь мечтал быть шпионом. Но когда в январе 1968 года я закончил колледж, бушевали Холодная и Вьетнамская войны, и быть шпионом казалось довольно рискованно. Поэтому я стал инженером-электронщиком, и работал у подрядчика минобороны США над анализаторами спектра реального времени.
В 1976 году при посещении Музея польской армии в Варшаве я увидел «Энигму» — знаменитую немецкую шифровальную машину времён Второй мировой войны. Я был поражён. Через несколько лет мне повезло попасть в огромную штаб-квартиру компании-разработчика шифровальных машин Crypto AG (CAG), расположенную в швейцарской коммуне Штайнхаузен. Там я подружился с криптографом, занимающим довольно высокую должность. И мой друг выдал мне внутреннюю историю компании, написанную её основателем, Борисом Хагелиным. В ней упоминалась шифровальная машина 1963 года выпуска HX-63.
Как и «Энигма», HX-63 была одной из электромеханических шифровальных машин, которые ещё называют роторными. Это была единственная электромеханическая роторная машина, созданная CAG, и она была куда как более сложной и безопасной по сравнению даже со знаменитыми «Энигмами». Возможно, это была самая совершенная из всех когда-либо созданных роторных машин. Я давно хотел заполучить одну из них к себе в коллекцию, но сомневался, что это когда-либо удастся.
Перенесёмся в 2010 год. Я нахожусь в замызганном подвале на минус третьем этаже французской военной базы связистов. Вместе с генералами с двумя звёздочками на погонах и связистами я вхожу в безопасную комнату, заполненную древними военными радиостанциями и шифровальными машинами. Вуаля! Я с удивлением вижу там HX-63 от CAG, которую десятилетиями никто не замечал — её засунули на пыльную и плохо освещённую дальнюю полку.
Я аккуратно извлекаю с полки 16-килограммовую машину. Справа у неё есть рукоятка, позволяющая машине работать без подключения к электричеству. Я аккуратно вращаю рукоятку, одновременно набирая текст на механической клавиатуре. Девять роторов поворачиваются и печатные колёса с тиснением слабо ударяют по бумажной ленте. Я тогда сразу же решил сделать всё от меня зависящее, чтобы найти HX-63, которую можно было бы восстановить до рабочего состояния.
Джон Пол рассказывает о шифровальной машине HX-63
Если до сегодняшнего дня вы ничего не знали о HX-63 — не расстраивайтесь. О ней не слышало даже большинство профессиональных криптографов. Но при этом она была настолько надёжной, что её изобретение взволновало Уильяма Фридмана — одного из величайших криптоаналитиков, первого главного шифровальщика агентства национальной безопасности США (АНБ) в 1950-х. Прочитав патент Хагелина от 1957 года, Фридман понял, что находившаяся тогда ещё в разработке HX-63 была даже более надёжной, чем KL-7, которой пользовались в АНБ –, а тогда считалось, что её шифр вообще нельзя взломать. Во время Холодной войны для АНБ собрали тысячи машин KL-7, которые затем использовались во всех военных, дипломатических и разведывательных агентствах США с 1952 по 1968 годы.
Разволновался Фридман по понятной причине. У HX-63 было 10600 возможных комбинаций ключа — в современных терминах это эквивалентно двоичному ключу в 2000 бит. Для сравнения, в принятом сегодня стандарте шифрования AES, применяемом для обеспечения безопасности различной чувствительной информации в правительстве, банках и других секторах, обычно используются ключи на 128 или 256 бит.
В центре алюминиевого корпуса HX-63 расположен высокоточный швейцарский двигатель постоянного тока. Внизу слева видно источник питания, а слева — переключатель функций, с помощью которого можно выбрать режим работы — допустим, шифровка или расшифровка.
В машине установлено 12 различных роторов, одновременно из них используется 9. Ток подаётся через один из 41 позолоченного контакта на стороне ротора с меньшим диаметром через провод внутри ротора, затем выходит через позолоченный контакт с другой стороны, и попадает на следующий ротор. Прибавление на каждом следующем роторе программируется при помощи штырьков настройки, которые можно видеть на горизонтальном роторе.
Беспокоило также и то, что компания CAG была частной и швейцарской, и готова была продавать свою продукцию любому правительству, предприятию или частному лицу. Фридман отвечал в АНБ за то, чтобы у США всегда был доступ к чувствительным зашифрованным сообщениям всех правительств и источников угроз. Но коммуникации, использовавшие HX-63, взломать бы не получилось.
Фридман дружил с Хагелиным. Во время Второй мировой Фридман помог Хагелину разбогатеть, предложив внести изменения в одну из шифровальных машин последнего, что позволило Хагелину продавать США лицензию на использование его патентов. Получившаяся машина M-209-B стала настоящей рабочей лошадкой во время войны — всего военные использовали около 140 000 её экземпляров. В 1950-х хорошие отношения Фридмана и Хагелина привели к появлению определённых «джентльменских соглашений» между разведками США и швейцарской компанией. Хагелин согласился не продавать самые безопасные машины странам по списку, составленному американцами. Кроме того, разведка США получала тайный доступ к машинам, планам, отчётам о продажах и другим данным компании CAG.
Но в 1963 году CAG начала производство HX-63, что ещё больше взволновало Фридмана. Он убедил Хагелина не производить эти новые устройства, хотя на разработку машины компания потратила более 10 лет, а выпустила не более 15 штук, большую часть которых купила французская армия. Однако 1963 год стал очень интересным для шифрования. Машинное шифрование оказалось на развилке: становилось ясно, что будущее принадлежит электронному шифрованию. И даже такая великолепная роторная машина, как HX-63, скоро устареет.
А это было проблемой для CAG, никогда не изготавливавшей электронные шифровальные машины. Возможно, из-за этого в 1966 году взаимоотношения межу CAG, АНБ и ЦРУ перешли на следующий уровень. АНБ передала швейцарскому партнёру электронную систему шифрования, ставшую основой для следующей машины от CAG, H-460. Она вышла в 1970 году и провалилась. Однако CAG ожидали ещё более серьёзные изменения: в том же году ЦРУ и немецкая разведка тайно купили CAG за $5,75 млн. Также в 1970 сын Хагелина, Бо, занимавшийся в компании продажами для американцев, и противник этой сделки, погиб в автомобильной аварии близ Вашингтона, О.К.
Хотя H-460 стала провальной, за ней последовала новая модель, H-4605, и её уже удалось продать в количестве нескольких тысяч экземпляров. Её разработали при поддержке АНБ. Она генерировала случайные числа при помощи нескольких сдвиговых регистров, работавших по новой тогда технологии CMOS. Эти числа не были по-настоящему случайными и никогда не повторяющимися — это были псевдослучайные числа, которые выдавал математический алгоритм на основе изначального порождающего числа («seed»).
Алгоритм придумали в АНБ, поэтому агентство могло расшифровать любое сообщение, зашифрованное машиной. На сленге шифровальщиков это называлось «чёрным ходом» («backdoor»). Это стало началом новой эры для CAG. С тех пор все её электронные машины, к примеру, из серии HC-500, тайно разрабатывали в АНБ, иногда с помощью партнёров-корпораций типа Motorola. Это американо-швейцарская операция получила название «Рубикон». Чёрные ходы встраивали во все машины CAG вплоть до 2018 года, когда компанию прикрыли.
Уильям Фридман более 40 лет доминировал в американском шифровании, став первым главным шифровальщиком в АНБ.
Борис Хагелин, друг Фридмана, гениальный шведский изобретатель и предприниматель [на самом деле он родом из Российской империи / прим. пер.], основавший в 1952 году компанию Crypto AG в Швейцарии, и развивший её до крупнейшего производителя шифровальных машин в мире.
Частично эта история всплыла в результате утечек информации до 2018 года, виной которым были работники CAG. Многое вскрылось в результате журналистского исследования Washington Post и парочки европейских вещательных компаний, немецкой Zweites Deutsches Fernsehen и швейцарской Schweizer Radio und Fernsehen. Статья Post от 11 февраля 2020 года [перевод статьи / прим. пер.] породила целую бурю в шифровании, информационной безопасности и разведывательном деле.
Все эти откровения знатно подмочили репутацию Швейцарии как надёжной и осторожной нейтральной страны. Они породили гражданские и уголовные тяжбы и расследования швейцарского правительства. В мае этого года в результате ушёл со своего поста руководитель швейцарской разведки Жана-Филиппа Година, разошедшийся во мнениях с министром обороны Швейцарии по поводу того, как следует обращаться с этими откровениями. Параллели этой истории прослеживаются и сегодня — ФБР и другие американские агентства пытаются получить доступ к зашифрованным данным смартфонов, давя для этого на производителей электроники.
Но даже до публикации всех этих откровений меня очень занимала HX-63, последняя из величайших роторных машин. Я едва мог поверить своей удаче, когда в 2020 году после многих лет переговоров я получил в своё распоряжение один экземпляр HX-63 для исследования, проводимого для парижской профессиональной организации шифровальщиков и специалистов по информационной безопасности (Association des Réservistes du Chiffre et de la Sécurité de l’Information). Этот экземпляр отличался от того, что я видел за десять лет до этого, и к нему никто не прикасался с 1963 г ода. Я сразу же начал планировать реставрацию этой значимой для истории машины.
Люди используют коды и шифры для защиты чувствительной информации уже пару тысячелетий. Первые шифры основывались на ручных подсчётах и таблицах. В 1467 году впервые появилось механическое устройство, которое потом окрестили «диском Альберти». Затем вскоре после Первой мировой войны случился огромный прорыв, один из величайших в истории шифрования: Эдвард Хеберн из США, Хьюго Кох из Нидерландов и Артур Шербиус из Германии в разницей в несколько месяцев независимо друг от друга запатентовали электромеханические машины, использовавшие роторы для шифрования сообщений. Так началась эра роторных шифровальщиков. Машина Шербиуса легла в основу знаменитой «Энигмы», использовавшейся немецкими войсками с 1930-х годов и до окончания Второй мировой войны.
Чтобы понять, как работает роторная машина, вспомним базовую цель криптографии: заменить каждую букву в сообщении, открытом тексте, другими буквами, с целью получения нечитаемого сообщения — шифротекста. Недостаточно каждый раз использовать одну и ту же подстановку — к примеру, заменять каждую букву Ж на А, а каждую О на П. Подобный моноалфавитный шифр слишком легко раскрыть.
Проникая в «Энигму» [«enigma» — загадка / прим. пер.]
В простой шифровальной машине, как, например, в «Энигме», использовавшейся немецкими войсками во время Второй мировой, может быть установлено три ротора с 26 позициями. Каждая позиция соответствует букве алфавита. Ток поступает на позицию с одной стороны первого ротора, и соответствует одной из букв — допустим, Т. Ток проходит через два других ротора и выходит из третьего на позиции, соответствующей другой букве — допустим, R. В данном случае буква Т шифруется буквой R. В следующий раз, когда оператор нажмёт на клавишу, один или несколько роторов повернутся относительно друг друга, поэтому следующая буква зашифруется совершенно другим набором изменений. В «Энигме» добавили коммутационную панель, дополнительно усложнявшую шифровку заменой до 13 пар букв.
Роторная машина решает эту проблему, как вы правильно догадались, при помощи роторов. Начнём с диска диаметром примерно с хоккейную шайбу, только тоньше. С обеих сторон диска по краю равномерно идут 26 металлических контактов по числу букв английского алфавита. Внутри диска находятся провода, соединяющие контакт с одной стороны диска с другим контактом с другой стороны. Диск подсоединён проводами к клавиатуре как у пишущей машинки. Когда пользователь нажимает на клавиатуре букву, допустим, W, электрический ток идёт до позиции W с одной стороны ротора. Он проходит по проводу внутри ротора и выходит с другой стороны на другой позиции — допустим, L. Однако после этого нажатия ротор поворачивается на одну или несколько позиций. Поэтому когда пользователь в следующий раз нажмёт W, буква зашифруется уже не как L, а как-то по-другому.
Хотя такое шифрование будет посложнее простой подстановки, подобная однороторная машина была бы детской игрушкой для опытного шифровальщика. Поэтому в роторных машинах используется по нескольку роторов. В разных версиях «Энигмы» использовалось от трёх до четырёх. Во время работы каждый ротор поворачивался на различное количество позиций по отношению к другим. Одно нажатие могло повернуть один или два ротора, или все сразу. Операторы усложняли шифрование, выбирая разные роторы из ассортимента, которые можно было заменять. У военных версий «Энигмы» были коммутационные панели, менявшие местами определённые пары букв на входе с клавиатуры и на выходе на лампочках.
Эра роторных машин закончилась в 1970-х с появлением электронных и программных видов шифрования, хотя советская роторная кодировочная машина «Фиалка М-125» использовалась вплоть до 1980-х [по информации с Вики — до 1990-х / прим. пер.].
HX-63 подняла стандарты шифрования. Для начала у неё был набор из девяти съёмных роторов. У неё был «модификатор», массив из 41 поворотных переключателей, у каждого из которых была 41 позиция — это, как коммутационная панель «Энигмы», добавляло ещё один слой к шифрованию в виде неизменного перемешивания. У экземпляра, доставшегося мне, алюминиевый корпус, источник питания, электрический привод, механическая клавиатура и принтер, печатающий на бумажных лентах. Он одновременно выводит вводимый текст и либо зашифрованный, либо расшифрованный текст. Переключатель функций меняет режимы работы между «выкл», «тест», «шифрование» и «расшифровка».
В режиме шифрования оператор вводит открытый текст, а зашифрованное сообщение выводится на бумажной ленте. Каждая буква открытого текста, вводимая с клавиатуры, шифруется через множество подмен в роторах и модификаторе, выдавая букву шифротекста. В режиме расшифровки процесс работает в обратном направлении. Пользователь вводит зашифрованное сообщение, и принтер печатает оригинальное и расшифрованное сообщение, буква к букве, на бумажной ленте.
При шифровке или расшифровке сообщения HX-63 печатает оригинальное и зашифрованное сообщения на ленте. Синие колёса делаются из впитывающей пенки, впитывающей чернила и наносящей их на печатные колёса с тиснением.
Под девятью роторами HX-63 расположены девять ключей, каждый из которых можно открыть, чтобы повернуть роторы в начальное положение перед вводом сообщения. Начальное положение роторов — важный компонент криптографического ключа.
Чтобы начать шифрование сообщение, вы выбираете девять роторов (из 12) и устанавливаете штырьки роторов, определяющие, как роторы будут двигаться относительно друг друга. Затем вы вставляете роторы в машину в определённом порядке, слева направо, и назначаете каждому из них определённое начальное положение. Наконец, вы приводите 41 переключатель модификатора в определённые положения. Для расшифровки сообщения необходимо воссоздать все те же роторы и настройки, а также все модификаторы. Все эти позиции, расположение проводов, настройки роторов и модификатора, вместе называются ключом.
Кроме ручной рукоятки у HX-63 есть никель-кадмиевая батарея, от которой могут питаться роторы и принтер в отсутствие централизованного питания. Блок питания на 12 В постоянного тока питает мотор и принтер, а также заряжает батарею. Высокоточный мотор на 12 В работает постоянно, и крутит ось роторов через редуктор и муфту. Нажатие кнопки на клавиатуре отпускает механический затвор, шестерёнки проводят машину через один цикл работы, поворачивая ось, которая вращает роторы и печатает символ.
У принтера есть два тиснёных колеса с буквами, вращающихся после каждого нажатия, и останавливающихся на нужной букве при помощи четырёх соленоидов и храповика. Механические энкодеры питаются от роторов и клавиатуры, улавливают положение печатающих колёс и останавливают их вращение на нужной букве. У каждого колеса есть свой энкодер. Один набор выводит вводимый текст на левой части бумажной ленты, другой — выходной текст на правой. После остановки алфавитного колеса кулачок освобождает печатный молоточек, ударяющий по ленте напротив тиснёной буквы. Наконец, мотор продвигает ленту, завершая цикл, и машина готова к вводу новой буквы.
Начав реставрацию HX-63, я сразу понял весь масштаб этой задачи. Пластиковые шестерни и резиновые части машины настолько износились, что любое механическое воздействие со стороны мотора могло их просто разрушить. Запчастей к машине не существует, поэтому мне пришлось делать их самому.
Почистив и смазав машину я нажал на несколько кнопок клавиатуры. Я с восторгом увидел, что все девять шифровальных роторов повернулись, и машина распечатала на ленте несколько символов. Однако буквы часто пропадали и искажались. Я заменил проржавевший никель-кадмиевый аккумулятор и перепаял трансформатор, а потом начал постепенно увеличивать напряжение. К моему удивлению, мотор, роторы и принтер отработали несколько нажатий. Но внезапно я услышал треск шестерней и из машины вылетели кусочки разломанного пластика. Печать прекратилась — как и моё сердцебиение.
Я решил разобрать HX-63 на модули — вынул набор роторов, затем принтер. В корпусе остались клавиатура, источник питания и управление. Внутри принтера находилось четыре «демпфера», смягчавшие и направлявшие рычаги, останавливавшие колёса храповиков на нужной букве. Демпферы разлетелись на кусочки. Диски пенки, смазывавшие чернилами алфавитные колёса, разлагались, и к колёсам прилипли их кусочки.
Мне несколько раз очень повезло. Для восстановления сломавшихся частей мне требовалась плотная резиновая трубка. Я обнаружил, что для этого идеально подошёл распространённый шланг для принтера из неопрена. При помощи сверлильного станка и стального стержня в качестве сердечника я разрезал шланг на ровные части по 10 мм. Однако внутренности принтера, где должны стоять демпферы, закрыты множеством валов и рычагов, и их было рискованно вынимать и вставлять заново. Я использовал круглогубцы, загнутые под прямым углом, и стоматологические инструменты, чтобы подсунуть новые демпферы под механизм. После искусной хирургической операции, длившейся несколько часов, я всё-таки смог установить демпферы.
Колёса внутри колёс: почему HX-63 настолько надёжна
У HX-63 девять роторов, а ещё она использует технику «реинъекции». У каждого ротора есть набор проводов, соединяющих каждый электрический контакт с одной стороны ротора с другим контактом на другой стороне. У каждого ротора схема соединения контактов уникальна. Когда оператор нажимает кнопку на клавиатуре, обозначающую одну из 26 букв, ток проходит через весь набор роторов дважды, по разу в каждом направлении, а потом ещё через отдельный набор из 15 роторных контактов по меньшей мере два раза. Техника реинъекции кардинально увеличивает сложность шифра.
Чернильные колёсики были сделаны из необычной пористой пенки. Я испробовал множество материалов на замену, и остановился в итоге на цилиндре из плотной голубой пены. К сожалению, поверхность у него была гладкой и не пористой, она не впитывала чернила — поэтому мне пришлось пройтись по ней грубой наждачкой.
После парочки подобных трюков я наткнулся на ещё одну проблему: застрявший рулон бумажной ленты. Я поставил новый рулон, но не заметил, что его центральное отверстие было немножко меньше. Бумагу зажевало, разорвало, и она застряла под алфавитными колёсами так, что я не мог её достать. Я оказался в тупике –, но затем сделал чудесное открытие. В комплекте к HX-63 шли тонкие полоски нержавейки с зазубренными краями, специально предназначенные для извлечения застрявшей бумаги. Я прочистил машину и реставрация была закончена.
Одна из причин того, почему HX-63 была так чертовски надёжна, заключалась в технологии реинъекции, экспоненциально увеличивавшей безопасность шифра. Обычно у роторов есть только по одному местоположению для каждой буквы алфавита, которую они шифруют. Поэтому у типичного ротора для английского языка было бы 26 позиций. Но у ротора HX-63 41 позиция — реинъекция, или повторный вход, используют дополнительные контуры, выходящие за пределы простого алфавита. У HX-63 15 таких дополнительных путей.
Вот, как у HX-63 работала реинъекция. В режиме шифрования ток едёт в одном направлении через все роторы, каждый из которых совершает уникальное преобразование буквы. После выхода из последнего ротора контур разворачивается, и идёт обратно через тот же ротор, и затем через все остальные в обратном направлении. Но обратно он идёт уже по другому пути, через 15 дополнительных дорожек, специально предназначенных для этого. При этом точный путь зависит не только от расположения проводов в роторах, но и от расположения 41 модификатора. Поэтому общее количество конфигураций электрической схемы составляет 26! x 15!, что примерно равно 5,2×1038. А схему проводников внутри каждого из девяти роторов тоже можно перенастроить 26! способами. Кроме того, повороты роторов управляются последовательностью из 41 механического штырька. Если свести всё это вместе, то общее количество различных ключей составит порядка 10600.
Шифр подобной сложности не только невозможно было взломать в 1960-х — его и сегодня-то было бы тяжело расшифровать без ключа. Впервые реинъекцию использовали в машине KL-7 от АНБ. Технологию во время Второй мировой войны изобрёл Альберт У. Смол из американской военной службы разведки сигналов. Он подал заявку на секретный патент в 1944 году и получил его, наконец, в 1961-м (за номером 2 984 700).
Тем временем в 1953 году Хагелин подал заявку на патент на технологию, которую собирался использовать в машине, позже названной HX-63. Удивительно, но несмотря на то, что патент на эту технологию уже находился на рассмотрении, заявку Хагелина удовлетворили в 1957 году (за номером 2 802 047). Фридман же всё время беспокоился по поводу того, что Хагелин начнёт использовать реинъекцию в своих машинах, поскольку эта технология использовалась в большом ассортименте жизненно важных для США шифровальных машин, и поскольку она представляла угрозу желанию АНБ прослушивать обмен сообщениями между правительствами и военными разных стран.
В биографии Фридмана, вышедшей в 1977 году под названием «Человек, сломавший фиолетовое» (The Man Who Broke Purple) за авторством Рональда Кларка, упоминается отмена проекта HX-63 после серии встреч между Фридманом и Хагелиным. Подробнее этот случай описывается в бумагах из коллекции Фридмана, рассекреченных АНБ в 2014 году.
Закончив карьеру инженера-электронщика и изобретателя, автор статьи Джон Пол занимается исследованиями, пишет книги и статьи, и выступает с лекциями по истории технологий, особенно связанных с шифрованием. В 1970-х он начал собирать винтажные электронные инструменты — такие, как осциллографы Tektronix и спектроанализаторы Hewlett-Packard, которые видны на фото.
Раскрытие секретных сделок CAG с американской разведкой привело к неприятному скандалу, но если посмотреть на это с другой стороны, то «Рубикон» стала одной из наиболее успешных операций в истории разведки –, а также предшественником современных историй с чёрными ходами в технике. Сегодня эксплуатацией бэкдоров, чтением «секретных» сообщений и перехватом транзакций занимаются не т олько разведки. Функция «телеметрии» в Windows 10 постоянно отслеживает активность пользователя и собирает о нём данные. Apple Mac ведёт себя не лучше. Периодически возникают вредоносные программы, позволяющие атакующим получить контроль над макинтошами: ярким примером является Backdoor.MAC.Eleanor 2016 года. В конце 2020-го компания FireEye, занимающаяся кибербезопасностью, раскрыла информацию о том, что вредоносная программа раскрыла чёрный ход у платформы SolarWinds Orion, использующуюся в цепочке поставок комплектующих и на правительственных серверах. Вредонос SUNBURST стал первым из целой серии атак на Orion. Степень нанесённого вреда пока ещё точно не оценена.
Восстановленная мною машина HX-63 работает почти так же хорошо, как и в 1963 году. Мне до сих пор не надоел звук моторчика, напоминающий телетайп, и клацание клавиатуры. И хотя я так и не реализовал свою подростковую мечту стать секретным агентом, я с восторгом взираю на этот отблеск давно ушедшего от нас гламурного мира.
У меня есть даже постскриптум. Недавно я узнал, что мой контакт из Crypto AG, которого я зову «С», работал также специалистом по безопасности в швейцарской разведке. И много десятилетий, состоя на службе в высших эшелонах компании, «С» также был её контактом с ЦРУ и швейцарской разведкой, и у него даже была кодовая кличка. Так что мой старый швейцарский друг знал обо всём этом с самого начала!