Как стать автором
Обновить

Информационная безопасность до электричества: как защищали данные в XIV веке

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров4.5K

Все привыкли к тому, что безопасность информации — это антивирусы, шифрование, фаерволы и двухфакторная аутентификация. Но задолго до всего этого — в мире без электричества, интернета и даже телеграфа — существовали вполне реальные угрозы утечки данных и методы защиты информации. В статье — реальные кейсы XIV века, средневековые протоколы безопасности, курьезные уязвимости и немного кода (куда без него?).

Если вы думаете, что XIV век — это про рыцарей, чуму и башни без Wi-Fi, то вы, в целом, правы. Но даже тогда существовали конфиденциальные сообщения, шпионаж, защита данных и атаки, которые очень напоминают фишинг, перехват сообщений и даже внедрение в цепочку поставок (правда, поставляли не софт, а людей и письма). Эта статья — попытка взглянуть на ИБ до ИБ, когда информацию защищали не фаерволы, а воск, пергамент и личные головы гонцов.

Шифры, которые умели больше, чем Caesar

В XIV веке шифрование применялось не только монахами или алхимиками. Дипломатическая переписка между государствами и папскими посольствами нередко шифровалась при помощи гомофонических шифров, в которых одна и та же буква могла заменяться на разные символы. Это усложняло частотный анализ, особенно если учесть, что многие люди были неграмотны и сами не понимали, что именно шифруют.

Пример гомофонического шифра на Python (воссоздание логики):

import random

alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
substitutions = {
    letter: [f"{letter}{i}" for i in range(random.randint(2, 5))] for letter in alphabet
}

def encrypt(text):
    result = []
    for char in text.upper():
        if char in substitutions:
            result.append(random.choice(substitutions[char]))
        else:
            result.append(char)
    return ' '.join(result)

print(encrypt("HELLO KING"))

Прототип, конечно, условный — но дух эпохи вполне передаёт. Код не для продакшна, а для понимания, как даже примитивные шифры могли создавать большую энтропию.

Запечатывание: аналог цифровой подписи

В мире без цифровых ключей использовали печати. Каждому важному человеку — епископу, герцогу, королю — соответствовала своя восковая печать, которой скреплялись письма. Взломать такую защиту можно было... верно: социальной инженерией или подделкой формы печати. Иногда — даже откровенным подкупом восочника (тот, кто отвечал за подогрев и выливку).

Были даже истории утечек, когда письмо вскрывали, аккуратно подделывали содержание, а потом снова запечатывали. Не поверите, но это — чистейшая атака "man in the middle".

Доставка: протокол без TLS

В роли почтовых клиентов выступали люди. Их называли гонцами, и у каждого была чёткая роль: не потеряться, не умереть и не заговориться в трактире. Почтовые маршруты не имели избыточности — утеря одного гонца могла привести к полной утрате данных. Поэтому особо важные сообщения дублировали. Уже тогда — прообраз RAID-1, если угодно.

Также практиковались двойные конверты: внешнее письмо было нейтральным, а внутри находилось запечатанное — конфиденциальное. Что-то вроде транспортного шифрования.

ИБ через страдания: кейс из Праги

В 1357 году в Праге был случай, который можно назвать утечкой данных уровня госизмены. Один из гонцов Карла IV был перехвачен и подвергнут допросу с пристрастием. Проблема: он знал шифр. Это привело к компрометации всей системы переписки с Венгрией. После этого была введена простая, но эффективная мера — разделение ключей. Один человек знал шифр, другой — сообщение. Они путешествовали отдельно. При потере одного — утечка была невозможна.

В современной терминологии — разделение прав доступа.

Подделка документов: зло на пергаменте

Средневековье знало и "документы с трояном". Иногда монастыри подделывали грамоты, добавляя в них удобные фразы вроде «...и владение этой землёй переходит в вечное пользование ордена». Подпись — настоящая, пергамент — старый, но текст был вписан позже.

Фактически, это supply-chain атака, когда зло внедряется уже на этапе производства артефакта. Такая практика была массовой — отдельные кафедры современной палеографии до сих пор пытаются распознать подобные фальсификации.

Средневековые багбаунти

Любопытно, но существовали аналоги багбаунти. Венецианская республика поощряла тех, кто находил и сообщал о подделках гербов и печатей. За точную информацию можно было получить статус, деньги и (что важно) жизнь. Правда, неудачный репорт часто заканчивался смертной казнью за клевету.

Тайные метки и стеганография на пергаменте

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

В современном пересказе:

def reveal_steganography(paper):
    if paper.heated:
        return paper.hidden_message
    return None

class Paper:
    def __init__(self, msg):
        self.hidden_message = msg
        self.heated = False

my_paper = Paper("Казна пуста — не шли никого!")
my_paper.heated = True
print(reveal_steganography(my_paper))

Биометрия — почерк, как фактор аутентификации

Даже без сканеров отпечатков пальцев люди пытались верифицировать авторство. Почерк — один из первых биометрических факторов. Некоторые особо важные послания писались уникальным стилем, намеренно с ошибками или странными знаками. Это было похоже на seed-фразу: если стиль не совпадает — перед вами фальшивка.

Заключение

XIV век знал больше об информационной безопасности, чем кажется. Да, не было алгоритмов, электричества, even баз данных, но были ключи, контроль доступа, системы идентификации, атаки на доверие и фишинг в виде ложных писем. И, пожалуй, главный вывод — подходы меняются, но уязвимости всегда живут между строк.

Как сказал бы средневековый CISO: не доверяй гонцу, если он слишком болтлив.

Теги:
Хабы:
+8
Комментарии13

Публикации