> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qudata.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Безопасность и аттестация

> Процессы аттестации, защита ресурсов и криптография в qudata.ai.

## Алгоритм регистрации узла

Регистрация хостера основана на доверенной загрузке и аппаратной аттестации. Каждый узел подтверждает подлинность оборудования и программного окружения перед допуском к заданиям.

1. Установка агента и генерация ключевой пары на базе TPM (Endorsement Key).
2. Формирование первичного отчёта о состоянии: boot chain, BIOS, microcode, хэш ядра и бинарей агента.
3. Запрос `TPM quote` с nonce, выданным сервером qudata.
4. Проверка подписи и измерений, присвоение статуса `trusted` и уникального `NodeID`.
5. Синхронизация ресурса: список GPU, CPU, RAM сверяется с доверенными профилями.
6. Узел допускается к приёму задач только после успешной верификации.

## Непрерывная аттестация

### Первичная аттестация

* Фиксация хэшей BIOS, микрокода, ядра и драйверов.
* Проверка подписи бинарей агента.
* Сопоставление сертификата TPM с заявленным Endorsement Key.

### Периодическая переаттестация

* Выполняется автоматически или перед запуском нового задания.
* Генерируется новый nonce, запрашивается актуальный `TPM quote`.
* Несоответствие PCR-измерений блокирует узел до ручной проверки.

### Политики доверия

* `policy_pcr_expected` — допустимые значения PCR.
* `policy_driver_version` — поддерживаемые версии драйверов и ядра.
* `policy_gpu_mode` — режимы GPU (compute-only, persistence, MIG).
* `policy_runtime` — параметры запуска micro vm (ядро, init, ограничения сети).

## Что такое TPM Quote

`TPM quote` — подписанный TPM отчёт, подтверждающий целостность узла.

* Содержит набор PCR, отражающих последовательность загрузки.
* Включает nonce от сервера, исключая повторное использование отчёта.
* Подписывается Attestation Identity Key и проверяется на стороне qudata.

Рабочий поток:

1. Сервер отправляет агенту nonce.
2. Агент запрашивает `quote` у TPM.
3. Отчёт возвращается на сервер, подпись и значения сверяются с политикой.
4. В случае успеха фиксируется запись об аттестации и разрешается запуск заданий.

## Защита вычислительных ресурсов

### RAM

* Аппаратное шифрование памяти (AMD SEV-SNP, Intel TDX) предотвращает чтение содержимого.
* Динамическая перепривязка страниц через IOMMU исключает совместный доступ.
* Полное обнуление памяти при завершении инстанса и уникальные ключи на каждую сессию.

### vCPU

* Закрепление ядер и NUMA-изоляция для каждой micro vm.
* Блокировка инструкций и системных вызовов, способных повлиять на гипервизор.
* Измерение микрокода в PCR обеспечивает контроль подмены.
* Планировщик выделяет фиксированные тайм-слоты, снижая риск timing-атак.

### GPU

* Использование vGPU/MIG для изоляции контекстов.
* Перевод устройств в режим compute-only без графического окружения.
* Привязка GPU-контекстов к `TPM quote` конкретной micro vm.
* Очистка VRAM и проверка хэша прошивки перед использованием.

## Противодействие подмене ресурсов

| Сценарий                                    | Действия агента                           | Ответ платформы                               |
| ------------------------------------------- | ----------------------------------------- | --------------------------------------------- |
| Завышенный объём RAM                        | Сверка с `/proc/meminfo` и BIOS-таблицами | Узел блокируется и переводится в карантин     |
| Поддельный GPU через VBIOS                  | Проверка PCI/VBIOS, сравнение с эталоном  | Отказ в аттестации                            |
| Подмена характеристик CPU                   | Сравнение `cpuid`, микрокода и хэшей      | Запрет на приём задач                         |
| Повторная выдача зарезервированного ресурса | IOMMU фиксирует конфликт                  | Автоматическое завершение задачи и оповещение |

Каждый GPU, CPU или устройство получает уникальный идентификатор, подписанный агентом и привязанный к TPM. Попытки зарегистрировать один ресурс несколько раз приводят к отказу.

## Криптографические механизмы

* Подпись бинарей агента и модулей, проверка хэшей перед выполнением.
* mTLS для соединений агент ↔ сервер, хранение сертификатов в TPM или оперативной памяти.
* Envelope encryption для передачи клиентских ключей: DEK шифруется публичным ключом TPM и передаётся внутрь micro vm.
* Все конфигурации и токены шифруются AES-256-GCM; сессионные ключи уничтожаются по завершении задания.
* Трафик проходит через VPN поверх mTLS, каждое сообщение подписывается и содержит nonce для защиты от replay.

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