К сожалению, “открытость” LLM/AI DeepSeek оказалась преувеличенной: для входа на сайт там требуют регистрацию, но зарегистрировать аккаунт мне не удалось, так как “Error sending code. Your email domain is currently not supported for registration”. Попробовал пару почтовых доменов – один на серверах Google даже, – но не работает. В общем, можно наблюдать типовой результат для современных шумных сервисов, тем более, когда это про AI/LLM, СМИ и биржевые рынки.

P.S. Зарегистрировать аккаунт я там хотел для того, чтобы проверить, что же оно напишет в ответ на задачки для “тестирования искусственности интеллекта”. Типа, “сколько букв “а” в слове “тарапараслит”, если читать его слева направо”.



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

Нестрогое, краткое описание чисел и ключей, возникающих в ML-KEM (но без алгоритмов самой криптосистемы). Это описание, к тому же, не использует технических математических терминов, хоть и требует некоторых знаний из школьного курса алгебры (про такое описание нередко спрашивают).

ML-KEMмодуль-решёточная криптосистема с постквантовой стойкостью, носившая название Kyber до своей стандартизации. “Постквантовая стойкость” означает, что криптосистема не взламывается алгоритмом Шора на достаточно мощном универсальном квантовом компьютере (теоретическом). ML-KEM позволяет одной стороне передать другой стороне через открытый канал секрет, который становится для этих сторон общим секретом.

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

ML-KEM стандартизована для нескольких сочетаний параметров. Используемое сочетание отражается цифрами, которые приписывают к названию: ML-KEM-512, ML-KEM-768, ML-KEM-1024.

Эти числа из названия следует воспринимать как “длину секретного ключа”, выраженную в “базовых элементах” – но не в битах! Ключи в ML-KEM строятся из многочленов (полиномов), имеющих 256 коэффициентов. Многочлены образуют векторы и матрицы. То есть, элементами векторов и матриц являются многочлены, а не “отдельные числа”.

Так, ML-KEM-768 использует размерность 3 (параметр называется k), что соответствует трём многочленам или 3*256 == 768 коэффициентам. Если бы размерность ключей была бы ровно три, то взлом не составил бы труда и без всяких квантовых компьютеров. Для 768 коэффициентов – вычислительная сложность существенно выше (а квадратная матрица 3×3, являющаяся частью открытого ключа ML-KEM-768, будет, в итоге, содержать 256×9 коэффициентов: девять полиномов, каждый – по 256 коэффициентов). 256 – один из фиксированных параметров ML-KEM. Коэффициенты многочленов берутся по модулю 3329, то есть, берутся остатки от деления на 3329, поэтому коэффициенты лежат в интервале от 0 до 3328. Внутри ML-KEM используются представления, вводящие отрицательные значения, это нужно для процедур округления рациональных чисел, но на верхнеуровневую картину данный аспект не влияет. Заметьте, впрочем, что особенности округления используются при упаковке шифротекста (см. ниже). 3329 – простое число, второй фиксированный параметр ML-KEM.

Открытый ключ ML-KEM состоит из матрицы (обозначается A) и вектора (обозначается t). Однако ни матрица открытого ключа (обозначается A), ни многочлены, составляющие вектор, – не передаются в формате “как есть”: чтобы сократить количество используемых байтов в ML-KEM применяется ряд оптимизаций. Вместо матрицы – передаётся 256-битное инициализирующее значение, из которого матрица вычисляется при помощи хеш-функции и специального алгоритма. Многочлены передаются как кортежи битовых представлений коэффициентов, но биты упаковываются в байты особым образом. Так, для многочленов, входящих в открытый ключ (помимо матрицы), запись одного коэффициента (значение в интервале [0,3328]) требует не более 12 битов, биты можно объединить как биты и записать, например, два значения в три байта (если бы два значения передавались без “упаковывания”, то потребовалось бы четыре байта). При передаче коэффициентов многочленов, формирующих шифротекст, используются другие методы оптимизации, существенно сокращающие количество байтов, нужное для записи шифротекста.

Запись открытого ключа ML-KEM-768 имеет длину 1184 байта. ML-KEM-512 – 800 байтов, а ML-KEM-1024 – 1568 байтов. Шифротексты – ML-KEM-768 – 1088 байтов, ML-KEM-512 – 768 байтов, ML-KEM-1024 – 1568 байтов.

Попробуем понять, почему длина открытого ключа и широтекста совпали в ML-KEM-1024. Открытый ключ в ML-KEM это квадратная матрица и вектор. В ML-KEM-1024 параметр k, задающий размерность матрицы и вектора, равен четырём, но матрица всё равно передаётся в виде инициализирующего 256-битного значения, то есть, 32 байта, а вот вектор – состоит из 4×256 элементов (напомню, что 256 – количество коэффициентов каждого многочлена, в векторе их четыре). Получаем, для вектора, 1024 коэффициента, пара которых занимает три байта. Делим и умножаем: 1024/2×3 == 1536 байтов, плюс 32 байта, задающих матрицу, итого 1568 байтов занимает открытый ключ.

Шифротекст (то есть, “инкапсулированный” ключ) в ML-KEM состоит из вектора (обозначается u) и одного многочлена (обозначается v). В варианте параметров ML-KEM-1024, вектор – это четыре многочлена (k==4). То есть, тут всего пять многочленов, 256 коэффициентов в каждом. Однако для многочленов, составляющих шифротекст ML-KEM, применяются другие способы “сжатия”, использующие свойства округления значений коэффициентов. Это позволяет уменьшить количество битов. Поэтому запись каждого коэффициента в ML-KEM-1024 для вектора u использует 11 битов, а для многочлена v – всего 5 битов. Считаем в битах: 4×256×11 == 11264 бита или 1408 байтов; это вектор; дополнительный многочлен – 256×5 == 1280 битов или 160 байтов; итого: 1408 + 160 == 1568 байтов. Параметры сжатия для шифротекста отличаются от набора к набору: для ML-KEM-1024 это 11 и 5 битов, для ML-KEM-768/512 – 10 и 4 бита.

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

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

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



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

Китайскую LLM DeepSeek можно скачать и установить локально (англ.), если есть подходящая видеокарта. Установка возможна в разных версиях, опять же, в зависимости от того, сколько доступно ресурсов. Но, как минимум, данная LLM/GPT, получается, действительно открытая, в отличие от OpenAI, где “открытость” указана только в названии.

Как пишут, большая DeepSeek по результатам не хуже, чем можно получить через API от ведущих провайдеров говорилок типа OpenAI/ChatGPT, но и уменьшенные версии, работающие на более доступном оборудовании, тоже показывают хорошие результаты генерации текста.

Тут не так важно, какие реально средства и инструменты использовались при создании данной LLM. Гораздо важнее, что, оказывается, ИИ-модели и правда можно эффективно использовать на рынке акций: не столько для прогнозирования курсов акций, сколько для выполнения успешного обвала котировок и наведения финансовой паники. Тут же можно наблюдать, где, в какой области, реально сосредоточена деятельность самых “громких” компаний по созданию “универсального ИИ”, которое уже вот-вот – и должно появиться: СМИ и биржевые рынки (вспомните недавнее жонглирование директорами OpenAI).



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

TLS-cертификаты для IP-адресов, которые собирается выпускать Let’s Encrypt, могут быть полезны и для решения задач внедрения DNS-over-TLS (DoT) на авторитативных серверах DNS. Аутентификационное имя DNS к узлу, поддерживающему DoT, привязать довольно сложно, а вот IP-адрес всегда есть. Другое дело, что DNS уже централизована дважды: через управление содержанием корневой зоны (это архитектурное требование DNS, позволяющее сохранять глобальность) и через управление корневым ключом DNSSEC (это архитектурное требование уже для глобальности DNSSEC, усиливающее позиции корня DNS). Если ещё и транспорт для DNS завести на центральный УЦ, то централизация усилится многократно. Конечно, возможно, это и является целью.



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

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

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

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

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



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

OpenAI, следом за другими корпорациями в области AI/ИИ, предлагает “ИИ-агента”, который будет управлять компьютером пользователя при помощи рассматривания скриншотов и отправки команд через (виртуальные) клавиатуру и мышь. Тем самым, по мнению маркетинга OpenAI, агент будет автоматизировать типовые повторяющиеся пользовательские задачи, типа “бронирования отеля”. Непосредственно с компьютера пользователя, контролируя этот компьютер с центрального сервера по скриншотам. Такой вот “бот” для “ботнета” или новая Скрепка из MS Office.

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

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

Предполагается, что “капчу” решает “ИИ-агент” самостоятельно, что забавно. На практике, наверное, будет переспрашивать пользователя.

Несомненно, код для сервиса бронирования – тоже будет переписан силами чат-бота с LLM.

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

Лет пятнадцать назад, в 2010 году, я писал про “суперизбыточные технологии”, на примере использования Google в качестве калькулятора:

Для проведения одной элементарной операции с целыми числами задействуется огромное число компьютеров: начинается всё на локальном ПК с браузером, выполняющим сотни тысяч арифметических операций (аналогичных по сложности исходной операции) для формирования http-запроса; дальше работают десятки маршрутизаторов, пересылающих пакеты, каждый из которых опять же выполняет сотни арифметических действий; пыхтит коммуникационное оборудование на более низких уровнях модели OSI, и это оборудование тоже много вычисляет, упаковывая пакеты в каналах, кодируя и декодируя данные; лишь потом приходит черёд серверов Google, которые запрашивают базы данных (потому что всё равно идёт поисковая выдача).

Что ж, теперь вычислить, сколько будет 3*7, при помощи Google, используя браузер в качестве проксирующего узла со скриншотами, сможет ИИ-агент OpenAI. В результате получится, скажем, 137, а пользователю будет предложено подтвердить, что ответ верный.



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

В статье Ars Technica об очередном штатовском проекте ИИ Stargate “на сотни миллиардов”, ожидаемой целью которого заявлено создание AGI (что бы это ни значило), в соседних параграфах, на соседних строках удачно даны занятные цитаты из материалов OpenAI: [AGI] “превосходит людей в экономически наиболее ценной деятельности” и “инфраструктура […] создаст сотни тысяч американских рабочих мест”. В разных фантастических произведениях и в видеоиграх неоднократно описаны сеттинги, где каких-нибудь роботов, в изолированных “инфраструктурных объектах”, обучают массы людей, в этих “объектах” же запертые.



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

Даниэль Бернштейн (Daniel J. Bernstein) опубликовал большую статью (англ.) с критикой некоторых возражений, относящихся к возможности создания универсальных квантовых компьютеров. Вообще, основной посыл статьи такой: нужно немедленно повсеместно внедрять постквантовую криптографию, потому что, исходя из анализа ситуации, не удаётся найти веских причин для уверенности в том, что АНБ уже не строит активно (или построило) квантовый компьютер, пригодный для практического криптоанализа.

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

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

I’m not saying that computation on qubits is the same as computation on random bits. When you look at the details, you see that quantum computation allows a useful extra trick, setting up interference patterns between positive and negative variables. But an argument saying “quantum computing is impossible because there are so many variables” can’t be right: it also says that your laptop is impossible.
(“Я не утверждаю, что вычисление на кубитах это то же самое, что и вычисление на случайных битах. Если посмотреть детально, то можно увидеть, что квантовое вычисление позволяет провести дополнительный полезный трюк, задав схемы интерференции между положительными и отрицательными переменными. Однако аргумент, говорящий, что “квантовые вычисления невозможны, так как там настолько много переменных”, не может быть верным, поскольку этот же аргумент говорит, что ваш ноутбук невозможен.”)

Вообще, именно возможность “интерференции между переменными”, это не просто трюк, а она таки составляет смысл квантовых вычислений, которые, собственно, вычислениями, в привычном смысле, и не являются. Чтобы интерференция состояний стала возможной, логично допустить, что эти состояния где-то “должны размещаться”. То есть, это не обязательно так, не является необходимым условием. Потому что можно, скажем, посчитать, что соответствующие потоки вероятностей и составляют некоторую над-реальность, а наблюдается только её “срез”, вызванный представлением экспериментатора (возможны ли при этом квантовые вычисления – другой вопрос). Однако, сама идея, что для 2^1000 состояний используемые модели “квантовой механики” не работают, не только не выглядит нелогичной, но уж точно не разрушается возможностью обработать тысячу битов классическим ноутбуком: в классическом ноутбуке другие состояния битовой строки возникают как программное представление после выполнения преобразования, а не являются фундаментом физической реализации алгоритма в некотором аналоговом вычислителе.



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

В самом начале этого года некоторые пользователи Apple шумели по поводу неожиданно и незаметно включившейся новой функции “Улучшенного визуального поиска” (Enhanced Visual Search), использование которой требует отправки информации об изображениях на серверы Apple, но, конечно, с “полным сохранением” “приваси” пользователей.

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

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

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



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

На тестовом сервере tls13.1d.pw сделал некоторые обновления: 1) детализировал вывод шифротекста ML-KEM-768, разбив блок на представления отдельных полиномов; 2) добавил поддержку SecP256r1MLKEM768 – это гибридная криптосистема с постквантовой стойкостью, состоящая из ECDH на кривой P-256 и ML-KEM-768.

Я не так давно писал про статистику соединений с постквантовыми криптосистемами на тестовом сервере, и в той записке обозначил, что SecP256r1MLKEM768 поддерживается сервером, но это оказалось преждевременным, так как в действительности сервер поддерживал ECDH на P-256 только в старом варианте, с Kyber768. А про вариант ECDH с ML-KEM я как-то забыл. Впрочем, на основное утверждение упомянутой записки о том, что с SecP256r1MLKEM768 (идентификатор 0x11EB) на сервер в начале января никто не приходил, этот момент никак не повлиял: понятно, что если никто не пытался подключиться с этой криптосистемой, то и соединения быть не могло, вне зависимости от поддержки сервером.

(Если кто-то из читающих не знает, то данный тестовый сервер TLS 1.3 это достаточно специальный инструмент, позволяющий подключиться по TLS 1.3, отправить HTTP-запрос и получить очень подробные сведения о соединении в ответ. Это можно проделать браузером, чтобы, например, увидеть, работает ли какой-то низкоуровневый элемент TLS, типа обмена ключами с постквантовой стойкостью.)

Кстати, забавно, что в SecP256r1MLKEM768 ключи и секреты объединяются в другом порядке, относительно X25519MLKEM768, описанной в том же черновике RFC. То есть, эти гибридные криптосистемы используют объединение значений, соответствующих работе двух криптосистем. Объединение – при помощи простой конкатенации байтов. Например, объединяется запись открытого ключа ECDH (65 байтов) и запись открытого ключа ML-KEM-768 (1184 байта): одни байты приписываются к другим и получается блок в 1249 байтов. Ничего необычного. Но вот для X25519 и ML-KEM, если смотреть слева направо, в сетевом порядке, то сперва идёт ключ ML-KEM, а потом – ключ X25519. Для ECDH и ML-KEM, определяемой в следующем же абзаце черновика, указан другой порядок: сперва параметр ECDH, а потом – ключ ML-KEM. То же самое с общими секретами. Зачем так делать? Загадка. Какая-то “популярная квантовая механика” на пустом месте. (Никакого криптографического смысла в этом нет и быть не может: криптосистемы, составляющие гибрид, работают независимо.)



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

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

Предположим, что сертификаты начали впускать на 48 часов максимум, а базовым удостоверяющим центром для них всё так же является один централизованный сервис, типа Let’s Encrypt. Например, основная доля веб-узлов зоны .RU “подписана” этим УЦ. Если потребуется быстро отозвать миллионы сертификатов штатным образом, – что через обязательные CRL, что через опциональный OCSP, – то возникнет большая сопутствующая нагрузка на системы УЦ. В случае же с короткоживущими сертификатами – никакой дополнительной нагрузки не возникает, более того, нагрузка уменьшается: отзывать ничего не требуется, а УЦ просто перестаёт выпускать новые сертификаты для заданных имён (и IP-адресов).

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



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