К блогу

Как убедиться, что запущена именно открытая программа?

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

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

PrimeRouter закрывает этот разрыв: до отправки содержимого локальный клиент проверяет идентичность удалённой программы.

Что даёт открытый код, а чего он не доказывает

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

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

Четыре проверки перед отправкой запроса

  1. Источник доказательства. Открытый клиент проверяет подпись и систему аттестации, выдавшую доказательство доверенной среды.
  2. Идентичность программы. Клиент сравнивает измерение программы с одобренной версией.
  3. Привязка ключа. Клиент убеждается, что открытый ключ соединения связан с проверенной программой, а не доверяет надписи «проверено» на веб-странице.
  4. Зашифрованный сеанс. Только после этих проверок клиент согласует ключи сеанса и передаёт содержимое запроса.

Если проверка не удалась, не следует отправлять запрос без неё. Проверка — предварительное условие, а не значок состояния.

Важно понимать границы доказательства

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

Конфиденциальность содержимого и метаданные запроса — разные вопросы. Посреднику по-прежнему нужны данные для маршрутизации и расчётов; тело запроса передаётся через зашифрованный сеанс между локальным клиентом и проверенной программой.

Подробнее о цепочке соединения — в разделе Проверка и шифрование.