Если кто когда-нибудь мечтал поднять свою выходную ноду для сети Tor, чтобы нести в мир свободный интернет ☀️, то наверняка тебя останавливал один нюанс. Рано или поздно в твою дверь могут постучатся, с последующим дампом логов и тд. 👮
Разрабы Tor Project (в коллабе с параноиками из Osservatorio Nessuno) решили, что раз физический взлом серверов неизбежен, значит, нужно сделать его абсолютно бессмысленным. Они планируют пилить тотальный переход на бездисковые узлы, которые живут исключительно в оперативной памяти и забывают всё при первой же перезагрузке или выдергивании питания. Epic Win!
Но архитектура Tor построена на системе репутации (это важно для статуса, альтруизма и в исследовательских целях... иного профита нет 🤑). Чем дольше твоя нода живет в онлайне и стабильно гоняет трафик, тем больше доверия и нагрузки она получает от сети. Эта репутация жестко привязана к долговременному криптографическому ключу идентификации, который лежит на диске. Если RAM-нода ребутается и теряет этот ключ, то она превращается в ноунейм-узел и начинает зарабатывать репутацию в сети с нуля. Встал вопрос... а как сохранить личность ноды без жесткого диска, чтобы ключ нельзя было скоммуниздить при физическом доступе к серверу? 🤔 Правильно, зашить его на аппаратном уровне.
Разрабы предлагают юзать модуль (Trusted Platform Module). Ключ намертво запечатывается внутри крипточипа на материнке и привязывается к эталонному состоянию загрузчика и ОС. Если кто ВНЕЗАПНО изымает сервер и пытается загрузиться с левой флешки, подкидывая свой патченный образ ядра или просто выпаяет чип... то хэши не совпадут, и TPM откажет в доступе, наглухо заблокировав отдачу ключа 🚪
Но проблема в том, что TPM-чипы в массе своей не умеют аппаратно работать с ключами
ed25519 (которые юзает Tor). Поэтому ключ всё равно приходится хранить в энергонезависимой памяти (NVRAM) самого TPM в зашифрованном виде. Теоретически, при наличии бюджета на электронные микроскопы и заряженную лабу, его всё еще можно оттуда выковырять 😱Вторая боль - обновления. Как только владелец ноды накатываешь патч на ядро, хэш системы меняется. TPM видит изменения, ПАНИКУЕТ и блокирует ключ. Поэтому придется перед каждым апдейтом пересчитывать и переподписывать доверенные состояния загрузки. Сплошной гемор для тех, кто привык к
apt-get upgrade.Самая безопасная информация - это та, которой физически не существует 👾
Типичный 🥸 Сисадмин
