Кстати, так как SCT-метка в сертификате – это только дополнительная подпись, то возможность взламывать криптосистему подписи позволяет сгенерировать и TLS-сертификат, и валидную SCT-метку в нём. Логи Certificate Transparency тут никак не мешают.

Другими словами: предположим, что некая сторона умеет взламывать реализации ECDSA (например, используя недокументированную возможность в программном коде, который генерирует подписи) – тогда эта сторона получает набор сертификатов, выпущенных каким-нибудь удостоверяющим центром (УЦ), вычисляет секретный ключ УЦ по значению ECDSA-подписей из сертификатов, а по значению ECDSA-подписи в SCT-метках – вычисляет секретный ключ оператора CT-лога. Теперь эта сторона может выпустить любой подменный сертификат, самостоятельно снабдив его валидными SCT-метками. Наличие CT-логов – никак этому помешать не может. Да, сертификата тогда не будет в логе. Но TLS-клиенты, в типичном сценарии использования, проверяют SCT-метку, а не наличие в логе.

Естественно, зная секретный ключ УЦ, можно просто пойти и получить валидную SCT-метку непосредственно от оператора CT-лога, не взламывая ключи этого оператора. Но, предположим, тогда (пре)сертификат всё же будет опубликован.

Что это означает? Это означает, что возможность глобально ломать ECDSA никак CT-логами не блокируется. Почему-то про это постоянно забывают.



Комментировать »

Регулярно попадаются утверждения, что “монеты мелкого номинала нужно убрать, потому что стоимость выпуска (чеканки) такой монеты превышает её номинал”. Например, в этом году в США приостановили выпуск одноцентовых монет, а в качестве объяснения – СМИ тиражируют всё то же утвержение: выпуск монеты, мол, стал дороже одного цента. Как такое может быть? Это вообще-то довольно странное утверждение.

Во-первых, монеты уже давно чеканят не для того, чтобы как-то свести мнимую стоимость процесса выпуска монеты с обозначенным номиналом. То есть, раньше, когда монеты ценились на вес серебра или золота, из которого они сделаны, что-то подобное можно было бы говорить. Но не в современном случае, когда упомянутые монеты принимают не по весу (да, сейчас тоже выпускаются так называемые “инвестиционные монеты” из драгоценных металлов, но речь про обычные монеты для оборота).

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

То есть, монета – это физический токен, позволяющий проводить денежные расчёты, но не непосредственный носитель стоимости (не “вес серебра”). Стоимость изготовления такого токена не обязана быть ниже обозначенного на нём номинала, потому что выпуск подобных токенов, уже давно и по определению, не является деятельностью по получению дохода от последующей реализации токенов. Но, конечно, это всё работает только в том случае, если токены предполагается реально использовать.



Комментарии (2) »

Cloudflare опубликовали разбор ситуации, приведшей 18 ноября к глобальному падению сервисов. Оказалось, это не маршрутизация, как я предположил в прошлой записке, а просто – “слишком большой конфигурационный файл”.

То есть, система, которая используется для фильтрации HTTP-запросов, получила слишком большое обновление файла со списком признаков запросов ботов. Слишком большое обновление, как пишут, автоматически сформировалось из-за нескольких логических ошибок. Ошибки были и в коде, извлекающем набор значений из БД, и в коде, который обрабатывал получившийся файл. В общем, всё как обычно – меры борьбы с ботами привели к обрушению сервиса без участия каких бы то ни было ботов.



Комментарии (2) »

Только вчера упоминал несколько раз Cloudflare в своём докладе на Пиринговом форуме – и уже сегодня “веб-фронт” и другие сервисы Cloudflare надолго упали по всему миру (на момент написания этой заметки – ещё не поднялись). Скорее всего, это опять маршрутизация, как ни странно.



Комментировать »

Вышел очередной номер журнала “Интернет изнутри”. Тема номера: “Зловреды в Интернете”. Помимо печатной версии, журнал полностью доступен на сайте, в том числе, в виде единого файла в формате PDF (или EPUB).



Комментировать »

В качестве ответа на весьма разумные предупреждения о том, что “умные колонки” могут подслушивать окружающих, СМИ цитируют сообщение пресс-службы “Яндекса”, в котором по этому поводу говорится, что, мол, колонки подслушивать не могут, потому что, буквально, “процесс обработки голоса запускается только в тот момент, когда микрофоны улавливают активационное слово”. Это очень забавно.

То есть, чтобы начать “обработку голоса” – их колонке нужно “уловить активационное слово“. Но ведь очевидно, что для улавливания слова – необходимо обработать голос.

Кстати, я недавно писал про то, что “кнопка отключения микрофона”, – в подобном-то устройстве, – так себе аргумент.



Комментировать »

Один из самых активных ИИ-ботов сейчас на dxdt.ru – это “Meta-ExternalAgent”, который приходит с IP-адресов Facebook. А IP-адресов у Facebook очень много. Я настроил для этого бота редирект на специальную страницу, однако он всё равно продолжает повторно приходить, выполняя тысячи GET-запросов в сутки. Больше всего удивляет то, что эти штуки приходят раз или два в сутки, повторно, на одни и те же URL, содержание которых не менялось по десять и более лет. Казалось бы, в “обучении нейросети” можно использовать текст повторно, однако для этого не нужно повторно скачивать тот же текст с исходного сервера. Но нет. (Ну, то есть, формально – текст по URL мог поменяться, конечно, но всё же.)



Комментарии (2) »

Пишут про метод, позволяющий обнаружить характер сообщений, которыми обмениваются пользователи с LLM через интерфейсы, использующие TLS. Там нет никакой уязвимости TLS, а речь идёт про анализ метаинформации о соединении: свойства потока TLS-пакетов, выдаваемых интерфейсом LLM, коррелируют с потоком токенов, генерируемых моделью; соответственно, зная примерные характеристики потоков токенов, выдаваемых по “чувствительным темам”, можно попытаться обнаружить факт обсуждения таких тем по TLS-трафику. Это давно известная особенность TLS-соединений. Работает не только для LLM, но и для прочих веб-интерфейсов приложений.

Процитирую фрагмент по этой теме из моего технического описания TLS:

Прослушивающая сторона может определить длину передаваемых TLS-записей, штатная работа протокола (до версии 1.3) не подразумевает каких-то эффективных средств маскировки длины сообщений, если они содержат достаточное количество байтов (маскировать длину данных необходимо дополнительно). Например, если пользователь загружал через веб-форму файл существенного объёма, то количество переданных байтов, очевидно, будет отличаться от сценария, когда пользователь просто закрыл веб-форму. Анализ длины переданных записей, порядка их следования, и сопоставление результата с особенностями веб-интерфейса, нередко позволяет точно определить, какие именно действия совершил пользователь.



Комментировать »

Кстати, в продолжение записки про геометрическую алгебру Евклида и разность квадратов – воскресное чтение манускриптов (давно не было). Как известно, основная часть трудов Евклида дошла до нас лишь в средневековых “копиях копий”. То есть, на манускриптах. Один из важнейших таких манускриптов – Vat.gr.190 из Ватиканской апостольской библиотеки, датируемый девятым веком нашей эры и содержащий тексты “Элементов” (“Начал”). Фрагмент с записью формулировки Предложения 5 из второй книги на древнегреческом приведён на скриншоте ниже.

Manuscript screenshot

За исключением комментариев на полях и между строк (схолии), это как раз тот текст, который упоминается в исходной записке (плюс пара строк начала доказательства; сама формулировка заканчивается словом τετραγώνῳ во второй строке снизу на скриншоте, а схолии легко распознать, – не не прочитать, – благодаря другим чернилам и почерку).

А вот чертёж из манускрипта, соответствующий этому Предложению, почему-то подкачал – см. следующий скриншот.

Manuscript screenshot

Здесь и точка Γ не делит прямую линию на равные части, и Δ прижата не к той границе. Казалось бы, для геометрии это не так уж важно, смысл не меняется, но всё же.



Комментировать »

Сейчас почти весь TLS-трафик в вебе, защищённый криптосистемами с постквантовой стойкостью, использует для согласования симметричных ключей гибридную криптосистему X25519MLKEM (X25519+ML-KEM). Что здесь означает термин “гибридная”? А означает он, что объединяются секреты, полученные в результате работы двух криптосистем: ML-KEM и X25519. Возможны сочетания ML-KEM с привычными вариантами ECDH – логика их устройства такая же, как и в случае X25519, поэтому дальше, в качестве примера, используется только X25519.

Итак, X25519MLKEM это не какая-то особенная криптосистема, в которой “объединяются X25519 и ML-KEM”, а всего лишь указание на параллельное использование пары криптосистем, где объединяются не криптосистемы, а их вывод – общие секреты сторон. Причём, даже это объединение выполняется самым простым способом: байты, выведенные ML-KEM, дописываются к байтам, выведенным X25519. Желаемую постквантовую стойкость обеспечивает часть ML-KEM. Минимальная практическая взаимосвязь реализаций двух криптосистем тут возможна разве что на уровне генератора (псевдо)случайных чисел и хеш-фунций (но при этом ML-KEM использует SHA-3/SHAKE256).

Таким образом, в сильно гипотетическом случае появления квантового компьютера, пригодного для криптоанализа, стойкость подобных гибридных ключей всего лишь упадёт в два раза, если считать по битовой разрядности: квантово-компьютерный атакующий сможет вычислить секрет X25519.

Гибридный подход требует выполнения операций двух криптосистем в каждом сеансе получения симметричных секретных кючей. То есть, буквально, нужно выполнить все шаги X25519 (сформировать и отправить открытый ключ, получить открытый ключ второй стороны, вычислить общий секрет) и все шаги ML-KEM (сформировать открытый ключ, сформировать шифротекст на другой стороне соединения, передать/прочитать шифротекст и вычислить секрет на принимающей стороне). Несмотря на то, что конкретно TLS позволяет переиспользовать выдачу X25519 в одной сессии, всё равно гибридизация выглядит перегруженной.

Зачем же тогда нужен гибрид? Базовая причина довольно простая: подстраховать ML-KEM на тот случай, если данная криптосистема окажется очень уязвимой для классических атак. Проще говоря, сломают именно алгоритм ML-KEM. Вообще, идея внедрения постквантовой криптографии довольно старая (это может показаться контринтуитивным, но криптосистемы с постквантовой стойкостью появились даже раньше, чем был предложен квантовый алгоритм Шора для взлома других криптосистем). Эксперименты с практическим внедрением новых криптосистем в TLS тоже проводились раньше, до появления стандарта на ту же криптосистему ML-KEM.

Например, в 2019 году Cloudflare совместно с Google Chrome испытывали сочетание SIKE и X25519 (эксперимент CECPQ2b), где постквантовую стойкость относили на счёт криптосистемы SIKE. Однако использованная версия SIKE оказалась недостаточно стойкой к классическим атакам. Так что, не будь в составе того эксперимента X25519, которая пока сохраняет свою стойкость, все TLS-сессии, установленные в рамках эксперимента с SIKE, были бы сейчас скомпрометированы постфактум (если, конечно, их кто-то записал). Квантовый компьютер для этого не потребовался бы. Такая же ситуация возможна и для ML-KEM (пусть ML-KEM и использует другой, относительно SIKE, математический аппарат).

Однако соответствующий стандарт NIST на ML-KEM никакой гибридизации с “классической” криптосистемой не требует: почему-то считается, что данная криптосистема имеет достаточную “классическую стойкость”. Тут необходимо отметить, что никто, естественно, не гарантирует стойкость ML-KEM. Оценка стойкости криптосистем в целом, и асимметричных криптосистем в частности, представляет собой дисциплину, наполненную эвристикой, предположениями и “допусками” при моделировании. С сугубо теоретической точки зрения не известно, возможны ли в принципе стойкие криптосистемы кроме единственной абсолютно стойкой (шифр Вернама), в которой длина секретного ключа равна длине сообщения. Так что для практических криптосистем лишь предлагаются оценки стойкости, взятые в некоторой модели вычислительных ресурсов. А потом появляются всё новые и новые атаки, понижающие предложенные оценки.

Конечно, именно поэтому никто не может гарантировать, что завтра не будет полностью взломана и X25519 – классическая часть гибрида с ML-KEM. Но, всё же, ML-KEM и более новая, и использует другой математический аппарат. А X25519 уже успешно и массово работает десятилетиями, а эффективных атак пока выявлено не было. Как бы там ни было, но один факт не вызывает сомнений: две независимых криптосистемы, – обычно, – лучше, чем одна.

Кроме теоретических аспектов, важны и практические: для той же ML-KEM требуется новая реализация, в которой много других алгоритмов, по сравнению с X25519 (или каким-то ещё вариантом ECDH). Новая реализация – это всегда новые дефекты и уязвимости именно в реализации, без учёта самого математического алгоритма. То есть, если использовать только ML-KEM – практически гарантированы новые критические ошибки, которых уже нет во второй части гибрида – в X25519. Более того, части ошибок реализации в X25519 просто и не может быть, потому что там другая математика.

Считается, что ML-KEM защищает от криптоанализа на гипотетическом квантовом компьютере. Очевидно, если бы подходящий квантовый компьютер появился, то использование гибридной пары с X25519 тут же потеряло бы смысл, так как эта криптосистема оказалась бы взломана. Чем не обоснование для отказа от гибрида? Но ведь этого квантового компьютера ещё нет и на горизонте! Так что обосновывать этим гипотетическим событием отказ от гибридных криптосистем на практике – несколько странно. Особенно, если учитывать, что никто не отменял классических атак на ML-KEM, и они пока что выглядят куда более реальными, чем квантовый компьютер для криптоанализа.

И тем не менее: стандарты – не требуют гибридов, а в IETF уже есть черновики RFC, описывающие “чистое” использование той же ML-KEM в TLS 1.3.



Комментировать »

Древнегреческий подход к математике включал в себя геометрическую алгебру. Основные инструменты этой алгебры описаны, – с доказательствами, – во второй книге “Элементов” (“Начал”) Евклида. Очень хороший пример – Предложение 2.5 (то есть, пятое Предложение второй книги). Там записано следующее:

“Если прямую линию разделить на равные и неравные [отрезки], тогда прямоугольник, сформированный равной и неравной сторонами, плюс квадрат на стороне между [ними], равны квадрату на половине”.

“На половине” – тут имеется в виду квадрат на “равной” части исходного отрезка. Рисунок дан ниже – из него должно быть понятно.

Euclid 2.5, diagram

“Прямая линия” у Евклида оканчивается точками, по определению. Сейчас сказали бы, что это отрезок. Но в древнегреческой математике – речь не об отрезке, а о некоторой величине, с которой связаны свои операции. Подход напоминает древние шумерские задачи. И там, и тут – для величин-отрезков вводится своё умножение: два отрезка дают площадь – величину нового типа. Обратите внимание, что операции, вообще говоря, различаются: умножение отрезков позволяет получить площадь, но это не то же самое, что и умножение натуральных чисел (“повторное сложение”, как говорят сейчас). Поэтому получается геометрическая алгебра.

Что именно здесь записано у Евклида? Разделим линию AB точкой C на равные части (половины: AC == CB), и точкой D на неравные (D, например, лежит на отрезке CB, см. рис.). Тогда утверждается, что AD*DB + CD*CD = CB*CB.

Воспользуемся современными алгоритмами и перепишем выражение: CD*CD – CB*CB == AD*DB. Дальше (см. рис.), по построению: AD == CB + CD; DB == CB – CD; следовательно, CD^2 – CB^2 == (CB+CD)*(CB-CD).

То есть, это геометрический вариант известного алгебраического соотношения – разности квадратов. Аналогичные параллели есть и у всех прочих Предложений второй книги “Элементов”.



Комментировать »