Skip to content
ВозможностиДокументацияЦеныПартнёрыPlaygroundFAQ

Binary Attestation

Верификация целостности бинарников FlowLink — SHA-256 измерения, policy baseline, dashboard мониторинг.

~4 мин чтения

Обзор

Binary Attestation (RFC-002, Layer 2) обеспечивает верификацию целостности исполняемых файлов FlowLink. При каждом старте системы SHA-256 хеши всех бинарников (gateway + relay) измеряются и сравниваются с зафиксированным baseline. Если бинарник был изменён — система переходит в состояние TAMPERED.

Архитектура

1. Измерение (Measurement)

При старте `crates/attestation` вычисляет SHA-256 каждого бинарника (gateway, relay). Результат: имя, путь, хеш, размер, timestamp.

2. Policy Baseline

Администратор фиксирует текущие хеши как baseline через POST /api/v1/attestation/policy. Baseline сохраняется в конфигурации и используется для последующих сравнений.

3. Верификация (Verification)

Текущие измерения сравниваются с baseline. Совпадение = ATTESTED, несовпадение = TAMPERED. Результат доступен через API и dashboard.

API

GET/api/v1/attestation/report

Текущие измерения всех бинарников.

bash
1curl -s https://flowlink.example.com/api/v1/attestation/report \
2 -H "Authorization: Bearer flk_live_..."
3
4# Response:
5{
6 "hostname": "server-01",
7 "timestamp": "2026-05-31T15:00:00Z",
8 "components": [
9 {
10 "name": "gateway",
11 "path": "/opt/flowlink/bin/flowlink-gateway",
12 "sha256": "2b12285b...",
13 "size": 24775680,
14 "measured_at": "2026-05-31T15:00:00Z"
15 }
16 ]
17}
GET/api/v1/attestation/policy

Ожидаемые хеши (baseline). Если baseline не установлен — пустой ответ.

POST/api/v1/attestation/policy

Зафиксировать текущие измерения как baseline. Выполняется один раз при настройке.

POST/api/v1/attestation/verify

Сравнить текущие измерения с baseline. Возвращает ATTESTED или TAMPERED.

bash
1curl -X POST https://flowlink.example.com/api/v1/attestation/verify \
2 -H "Authorization: Bearer flk_live_..."
3
4# Response (OK):
5{
6 "status": "ATTESTED",
7 "verified_at": "2026-05-31T15:00:00Z",
8 "components": [
9 { "name": "gateway", "status": "OK" },
10 { "name": "relay", "status": "OK" }
11 ]
12}
13
14# Response (Tampered):
15{
16 "status": "TAMPERED",
17 "verified_at": "2026-05-31T15:00:00Z",
18 "components": [
19 { "name": "gateway", "status": "TAMPERED",
20 "expected": "2b12285b...", "actual": "a1c3d4e5..." },
21 { "name": "relay", "status": "OK" }
22 ]
23}

Dashboard

Страница /dashboard/attestation отображает текущий статус attestation с визуальным индикатором:

  • 🟢ATTESTEDВсе бинарники совпадают с baseline
  • 🔴TAMPEREDОдин или несколько бинарников не совпадают. Красная пульсация для привлечения внимания.

Быстрый старт

bash
1# 1. Deploy FlowLink gateway + relay
2# 2. Capture baseline (once):
3curl -X POST https://flowlink.flow-masters.ru/api/v1/attestation/policy \
4 -H "Authorization: Bearer flk_live_..."
5
6# 3. Verify (can be automated in cron):
7curl -X POST https://flowlink.flow-masters.ru/api/v1/attestation/verify \
8 -H "Authorization: Bearer flk_live_..."
9
10# 4. Check dashboard:
11# https://flowlink.flow-masters.ru/dashboard/attestation

RFC-002

Binary Attestation — Layer 2 из RFC-002 (Audit Integrity). Layer 1 (Hash Chain) обеспечивает целостность audit логов, Layer 2 — целостность исполняемых файлов. Layer 3 (TEE Enclave) и Layer 4 (Policy Verification) запланированы в roadmap.

Edit this page