Книга книг

Книга книг › Часть VI. Техника и будущее

Старинный замок с ключом и роторная шифровальная машина (условная, не копия «Энигмы»), между ними — замочная скважина, через которую смотрит глаз.

Глава 29

Тайна и защита

≈ 12 мин чтения · слушать часть VI

Безопасность — это процесс, а не продукт.

— Брюс Шнайер
Разделы главы
  1. Код, шифр и тайнопись
  2. Частотный анализ
  3. «Энигма»
  4. Совершенный шифр и его цена
  5. Ключ, который не нужно передавать
  6. Гонка продолжается
  7. Искусство обмана
  8. Открытое и скрытое

Код, шифр и тайнопись#

Люди прятали сообщения столько же, сколько писали их. Светоний рассказывает, что Юлий Цезарь в личной переписке заменял каждую букву той, что стоит в алфавите на три позиции дальше: вместо A писал D, вместо B писал E. Для противника, не знающего правила, письмо выглядело бессмыслицей. Спартанцы наматывали узкую полоску кожи на жезл определённой толщины, писали вдоль, а потом разматывали, и буквы рассыпались в беспорядок, который складывался обратно в текст только на таком же жезле.

Ещё раньше появилась тайнопись другого рода. Геродот описывает, как Гистией, желая подать знак к восстанию, обрил голову надёжному рабу, наколол на коже послание, дождался, пока отрастут волосы, и отправил его в путь. Здесь ничего не шифруется, зато прячется сам факт сообщения. Это стеганография, и она дожила до наших дней: Эндрю Таненбаум в учебнике «Компьютерные сети» показывает фотографию стада зебр, в младших битах которой спрятаны пять пьес Шекспира, и глазом разницу с оригиналом не увидеть.

Полезно сразу развести два слова, которые в обиходе путают. Код заменяет единицы смысла: слово, фразу, целую команду. Шифр работает с буквами и знаками, не зная, что они означают. Чарльз Петцольд начинает книгу «Код. Тайный язык информатики» с двух мальчишек, которые переговариваются ночью фонариками через улицу и быстро изобретают для себя азбуку Морзе. Азбука Морзе, шрифт Брайля и двоичная запись — коды, они ничего не прячут, а лишь переводят мысль в другой алфавит. Тайну даёт шифр, и тайна держится, пока противник не знает ключа.

Частотный анализ#

В IX веке арабский философ аль-Кинди, работавший в багдадском Доме мудрости, написал трактат о вскрытии шифрованных писем. Он заметил, что в любом языке одни буквы встречаются чаще других: в арабском это алиф и лям, в английском E и T, в русском О, Е и А. Если в шифровке каждая буква всегда заменена одной и той же другой, самый частый знак шифра скорее всего обозначает самую частую букву языка. Дальше дело за подбором коротких слов, удвоенных букв и типичных окончаний. Так вскрывается любой шифр простой замены, включая шифр Цезаря, и ключ для этого не нужен.

Отдельная буква в тексте ведёт себя непредсказуемо, но тысяча букв подчиняется статистике, и закономерность проступает сквозь маскировку. Язык избыточен: в нём больше знаков, чем нужно для передачи смысла, и эта избыточность выдаёт тайну. Клод Шеннон, создатель теории информации, в 1949 году сформулировал вывод строго: хороший шифр должен уничтожить все закономерности открытого текста и превратить его в то, что неотличимо от случайного шума.

Шерлок Холмс в рассказе Конан Дойла «Пляшущие человечки» действует ровно по рецепту аль-Кинди. Ему приносят листки с рядами смешных фигурок, похожих на детские рисунки, и он начинает с того, что ищет самую частую фигурку и назначает ей букву E. Жюль Верн открывает «Путешествие к центру Земли» тоже с криптограммы: профессор Лиденброк находит в старинной книге листок с рунами, и вся экспедиция зависит от того, удастся ли прочесть эти несколько строк.

Шифровальщики ответили на частотный анализ многоалфавитными шифрами. В шифре, который приписывают французу Блезу де Виженеру, каждая буква сдвигается на разное число позиций в зависимости от ключевого слова, и одна и та же буква открытого текста превращается в разные буквы шифровки. Его называли «неразгаданным шифром» почти три столетия, пока в XIX веке англичанин Чарльз Бэббидж и прусский офицер Фридрих Касиски независимо друг от друга не научились определять длину ключа по повторяющимся фрагментам. Узнав длину, шифровку можно разрезать на несколько простых, и каждая снова вскрывается подсчётом частот. Бэббидж своего результата не опубликовал. О нём, изобретателе вычислительных машин, и его соратнице Аде Лавлейс есть весёлый и неожиданно точный в деталях комикс Сидни Падуа «Невероятные приключения Лавлейс и Бэббиджа».

«Энигма»#

Германские вооружённые силы во Второй мировой пользовались шифровальной машиной «Энигма». Нажатие клавиши проводило ток через несколько вращающихся роторов и коммутационную панель, и после каждой буквы роторы проворачивались, так что шифр менялся с каждым символом. Число возможных начальных настроек армейской машины записывается числом примерно с двадцатью нулями. Немцы считали шифр невскрываемым.

Первыми научились читать «Энигму» польские криптоаналитики. В 1932–1933 годах математик Мариан Реевский, опираясь на теорию перестановок и на документы, которые французская разведка получила от завербованного немецкого служащего, восстановил внутреннюю схему роторов. Вместе с Ежи Ружицким и Генриком Зыгальским он построил приспособления для поиска ежедневных ключей. Летом 1939 года, за несколько недель до вторжения в Польшу, поляки передали британцам и французам копии машины и свои методы.

В Блетчли-парке Алан Тьюринг и его коллеги развили польские идеи и построили электромеханические «бомбы», перебиравшие настройки «Энигмы». Помогли и ошибки самих немцев. Операторы начинали сообщения одинаковыми словами, метеостанции каждый день в одно время отправляли сводку погоды по одному шаблону, а сама машина по своему устройству никогда не превращала букву в саму себя. Каждая такая закономерность отсекала большие куски перебора. О жизни Тьюринга и о том, как из его довоенной работы о вычислимости выросла идея компьютера, рассказывает выпуск «Тьюринг. Компьютерное исчисление» из серии «Наука. Величайшие теории». Атмосферу Блетчли-парка, где сотни людей в бараках сражались со шифровками, передаёт роман Роберта Харриса «Энигма».

Сведения из расшифровок британцы называли Ultra. Официальный историк британской разведки Гарри Хинсли считал, что они сократили войну по меньшей мере на два года. Урок «Энигмы» совпал с принципом, который голландский лингвист Огюст Керкгоффс сформулировал ещё в 1883 году: стойкость шифра должна зависеть только от секретности ключа, а не от секретности устройства. Надо исходить из того, что противник знает, как работает машина, а то и держит её в руках. И второй урок, менее приятный: слабее всего в системе чаще оказывается не математика, а люди, которые ей пользуются.

Совершенный шифр и его цена#

Существует ли шифр, который нельзя вскрыть никогда? Да, и придумали его ещё в 1917 году. Американец Гилберт Вернам предложил складывать каждый знак сообщения со знаком случайного ключа, а потом ключ уничтожать. Если ключ действительно случаен, не короче сообщения и используется один раз, шифровка не содержит никакой информации об открытом тексте: при подходящем ключе из неё можно получить любое сообщение той же длины. Шеннон в 1949 году доказал это строго. Такой «одноразовый блокнот» стал рабочим инструментом дипломатов и разведчиков.

Цена совершенства — логистика. Ключей нужно столько же, сколько текста, и их надо заранее доставить обеим сторонам. Когда в годы войны советским службам не хватило блокнотов и часть страниц напечатали повторно, американские криптоаналитики в ходе проекта «Венона» сумели прочесть часть переписки советской разведки. Математика осталась безупречной, подвела экономия.

Брюс Шнайер, американский специалист по защите информации и автор знаменитой «Прикладной криптографии», много раз писал, что хорошее шифрование редко вскрывают в лоб. Атакуют то, что вокруг: генератор случайных чисел, хранение ключей, человека, у которого этот ключ записан на бумажке под клавиатурой.

Ключ, который не нужно передавать#

Два сундука: открытый навесной замок один посылает другому, тот защёлкивает его на своём ящике.
Открытый ключ

Все шифры до середины 1970-х годов имели общую слабость. Отправитель и получатель должны заранее договориться о секретном ключе, а для этого им нужно встретиться или передать ключ по надёжному каналу. Но если надёжный канал есть, зачем шифровать? Правительства держали для этого курьеров с портфелями, пристёгнутыми к запястью.

В 1976 году Уитфилд Диффи и Мартин Хеллман предложили способ, который казался невозможным. Двое, переписываясь открыто, на глазах у противника, могут договориться об общем секрете, который противник не узнает. Идея опирается на математические операции, которые легко выполнить в одну сторону и очень трудно обратить. Обычно её объясняют на красках: каждый тайно добавляет свой цвет к общему, оба обмениваются смесями и добавляют свой цвет ещё раз, и у обоих получается одинаковый оттенок, а наблюдатель, видевший только промежуточные смеси, не может разделить их обратно на составляющие. Много позже выяснилось, что в британском центре правительственной связи Джеймс Эллис, Клиффорд Кокс и Малкольм Уильямсон пришли к тем же идеям на несколько лет раньше, но их работы оставались секретными до 1997 года.

Через год после статьи Диффи и Хеллмана Рон Ривест, Ади Шамир и Леонард Адлеман придумали систему RSA с двумя ключами. Открытый ключ раздают всем, им шифруют сообщения. Закрытый хранится у владельца, и только им можно расшифровать. Безопасность RSA держится на том, что перемножить два больших простых числа легко, а разложить произведение обратно на множители чудовищно трудно. Мир узнал о системе из колонки Мартина Гарднера в журнале Scientific American в 1977 году, и эти «шифры с лазейкой» вошли потом в его книгу «От мозаик Пенроуза к надёжным шифрам». Гарднер опубликовал зашифрованную фразу и число из 129 цифр, а авторы RSA обещали сто долларов тому, кто его разложит. Понадобилось семнадцать лет и усилия шестисот добровольцев, чтобы в 1994 году прочитать ответ, шутливую фразу «The Magic Words are Squeamish Ossifrage».

За RSA стоит теория чисел Ферма, Эйлера и Гаусса, о которой можно прочитать в выпуске «Гаусс. Теория чисел» той же серии «Наука. Величайшие теории». Английский математик Годфри Харди гордился тем, что его любимая теория чисел не имеет никакого практического применения. Через полвека после его слов на ней держится безопасность каждой банковской операции.

Из этих кирпичиков строится остальное. Цифровая подпись позволяет владельцу закрытого ключа «подписать» документ так, что любой, у кого есть открытый ключ, проверит и авторство, и неизменность текста. Хеш-функция даёт короткий цифровой отпечаток любого файла, который меняется до неузнаваемости от исправления одной буквы. Андреас Антонопулос в книге «Осваиваем биткойн» показывает, как из подписей и хешей собрана целая денежная система без центрального банка: блокчейн — цепочка блоков, где каждый следующий хранит отпечаток предыдущего, и подделать запись в середине, не пересчитав всего хвоста, невозможно. Компактное введение в симметричное и асимметричное шифрование и хеширование есть в книге Владстона Феррейры Фило «Теоретический минимум по Computer Science», а подробное, с протоколами и сертификатами, у Таненбаума.

Гонка продолжается#

История шифров устроена как гонка вооружений: каждый новый шифр рано или поздно находил своего взломщика, и взлом заставлял изобретать шифр сильнее. Немецкий математик Фридрих Бауэр проследил эту гонку за две с половиной тысячи лет в книге «Расшифрованные секреты» (Decrypted Secrets), и вывод у него тот же: в ней побеждает математика, а не хитрость отдельных умов.

Следующий круг гонки уже виден. В 1994 году Питер Шор нашёл алгоритм, который на квантовом компьютере раскладывает большие числа на множители быстро. Скотт Ааронсон в книге «Квантовые вычисления со времён Демокрита» спокойно объясняет, что именно умеет такой компьютер, а чего не умеет: он не перебирает все варианты разом, как пишут в газетах, зато для некоторых задач, включая разложение чисел, у него есть настоящие короткие пути. Митио Каку в «Квантовом превосходстве» рисует картину тревожнее. Достаточно больших машин пока нет, но перехваченные сегодня данные можно сохранить и прочитать, когда они появятся. Поэтому в 2024 году американский институт стандартов утвердил первые постквантовые алгоритмы, большей частью опирающиеся на задачи о решётках в многомерном пространстве, которые, насколько известно, трудны и для квантового компьютера.

Дэн Браун в «Цифровой крепости» построил триллер вокруг суперкомпьютера Агентства национальной безопасности, способного вскрыть любой шифр за минуты, и угрозы, которая этот компьютер обесценит. Технические детали романа спорны, но главный нерв угадан верно: доверие к шифрам держится на допущениях, и стоит одному из них рухнуть, рушится всё, что на нём стоит.

Искусство обмана#

Телефонная трубка на столе, из неё выходит тень человека в форме, которого на самом деле нет.
Социальная инженерия

Кевин Митник в 1990-х годах был самым разыскиваемым хакером Америки. Отсидев срок, он вместе с Уильямом Саймоном написал «Искусство обмана», и главный тезис книги звучит обезоруживающе: зачем вскрывать шифр, если можно просто спросить пароль? Митник описывает социальную инженерию, искусство заставить людей сделать то, чего им делать не следует. Звонок в техподдержку от «нового сотрудника», который забыл пароль и боится гнева начальника. Звонок бухгалтеру от «директора», который срочно просит перевести деньги. Голос «из службы безопасности банка», который просит продиктовать код из СМС, чтобы «защитить счёт».

Все эти сценарии давят на одни и те же рычаги: авторитет, нехватку времени, симпатию, желание отплатить за услугу. Люди хотят помочь, боятся начальства и не любят казаться подозрительными. Самый надёжный шифр бессилен, если человек сам откроет дверь. Митник предлагает лекарство скучное и действенное: проверять личность по независимому каналу, перезванивать по номеру из справочника, а не из письма, и никогда не стыдиться переспросить.

Литература знала это задолго до компьютеров. Граф Монте-Кристо у Дюма наносит удар врагу, не взламывая никаких шифров: он подкупает смотрителя оптического телеграфа, и тот передаёт в Париж ложную депешу, которой все доверяют, потому что она пришла по официальной линии. В «Луне — суровой хозяйке» Хайнлайна заговорщики строят подполье из ячеек по три человека, и каждый знает лишь нескольких товарищей. Предательство или арест одного не раскрывает всю сеть. Этот принцип, «знать только то, что нужно», остаётся основой разграничения доступа в любой серьёзной организации.

Отсюда главный вывод Митника и Шнайера: безопасность не устанавливают один раз, как замок на дверь. Это процесс, в котором технические средства, правила и обучение людей работают вместе, и прочность всей цепи определяется её слабым звеном. Хороший специалист по защите думает как нападающий: ищет, как систему можно заставить работать иначе, чем задумано. Именно этим занимаются тестировщики на проникновение, которые с согласия владельца проверяют систему глазами противника и пишут отчёт вместо того, чтобы воровать.

Открытое и скрытое#

Большая часть нужных сведений сегодня лежит на виду. Хэмилтон Бин в книге «Больше никаких секретов» (No More Secrets) показывает, как американским спецслужбам пришлось перестраиваться, когда разведка по открытым источникам стала давать не меньше, чем тайная агентура. Для частного человека и компании у этого есть обратная сторона. Фотография с геометкой, список друзей в соцсети, резюме с названием проекта, ответ на форуме по отдельности безобидны, а вместе складываются в подробный портрет, пригодный для мошенника. Первое правило защиты: знать, что о тебе можно узнать, ничего не взламывая.

Эндрю Кин в книге «Ничего личного. Как социальные сети, поисковые системы и спецслужбы используют наши персональные данные» вспоминает проект идеальной тюрьмы Иеремии Бентама, паноптикум, где надзиратель видит каждого заключённого, а заключённые не знают, смотрят ли на них сейчас. Кин считает, что мы построили паноптикум сами и добровольно, выкладывая жизнь в сеть ради лайков. Оруэлл в «1984» представлял телекран, который государство вешает в каждую квартиру силой. Реальность оказалась изобретательнее: телекраны мы купили сами и носим в кармане.

Уильям Гибсон в романе «Нейромант» 1984 года описал киберпространство как «согласованную галлюцинацию», в которую ежедневно подключаются миллиарды людей. Само слово он придумал двумя годами раньше, в рассказе «Сожжение Хром», а роман сделал его общим. Книгу написал на механической пишущей машинке человек, почти не пользовавшийся компьютером, и при этом в ней есть сети, опутавшие мир, корпорации сильнее государств, торговля данными и взломщики, которые охотятся за чужими секретами. За сорок лет это стало бытом. Наша жизнь продолжается в пространстве, которое нельзя потрогать, и замки на его дверях делают из математики, а открывают их чаще всего обычной человеческой доверчивостью.

Коротко

История шифров — гонка вооружений между шифровальщиками и взломщиками, в которой выигрывала математика: частотный анализ, вскрытие «Энигмы», криптография с открытым ключом. Стойкость шифра должна зависеть только от секретности ключа, а совершенный шифр существует, но дорог в обращении. Самое слабое звено обычно человек, поэтому безопасность — процесс, а не продукт.

Что почитать

  • Чарльз Петцольд «Код. Тайный язык информатики»
  • Эндрю Таненбаум, Дэвид Уэзеролл, Ник Фимстер «Компьютерные сети»
  • Владстон Феррейра Фило, Мото Пиктет «Теоретический минимум по Computer Science. Сети, криптография и data science»
  • Мартин Гарднер «От мозаик Пенроуза к надёжным шифрам»
  • «Тьюринг. Компьютерное исчисление» и «Гаусс. Теория чисел» (серия «Наука. Величайшие теории»)
  • Андреас Антонопулос «Осваиваем биткойн»
  • Скотт Ааронсон «Квантовые вычисления со времён Демокрита»
  • Митио Каку «Квантовое превосходство»
  • Кевин Митник, Уильям Саймон «Искусство обмана»
  • Хэмилтон Бин «Больше никаких секретов» (No More Secrets)
  • Эндрю Кин «Ничего личного»
  • Фридрих Бауэр «Расшифрованные секреты» (Decrypted Secrets)
  • Брюс Шнайер «Прикладная криптография»
  • Норман Биггс «Коды: введение в теорию информации, связи и криптографию» (Codes)
  • Даниэль Бернштейн, Йоханнес Бухман, Эрик Дамен (ред.) «Постквантовая криптография» (Post-Quantum Cryptography)
  • Сидни Падуа «Невероятные приключения Лавлейс и Бэббиджа» (комикс)
  • Артур Конан Дойл «Пляшущие человечки» (рассказ)
  • Жюль Верн «Путешествие к центру Земли» (роман)
  • Александр Дюма «Граф Монте-Кристо» (роман)
  • Роберт Харрис «Энигма» (роман)
  • Роберт Хайнлайн «Луна — суровая хозяйка» (роман)
  • Дэн Браун «Цифровая крепость» (роман)
  • Джордж Оруэлл «1984» (роман)
  • Уильям Гибсон «Нейромант» (роман)

Нашли неточность или хотите поспорить? Обсуждение глав идёт в Telegram, пока строится основной сайт с комментариями.

Изображения в видеоверсии: источники и лицензии

Голос видео и аудиокниги — Yandex SpeechKit. Иллюстрации на этой странице созданы для проекта.