Prova de confiança de la porta de decisió + Arquitectura d’ancoratge
Audience: Engineers implementing or reviewing evidence trust enforcement, Audiència: Enginyers que implementen o revisen l’aplicació de la confiança en les proves, la validació de signatures i el comportament de la política d’ancoratge.
Taula de continguts
- Visió Executiva
- Model d’Evidència
- Línies de confiança i requisits
- Política de confiança del proveïdor (Signatures)
- Política de Divulgació d’Evidències
- Configuració de la Política d’Ancoratge
- Validació d’ancoratge al pla de control
- Verificació de l’Ancoratge de Runpack
- Evidència Afirmada (Precomprovació)
- File per Fitxer Referència Creuada
Executive Overview
La Decision Gate separa trust (evidència verificada vs afirmada) de integrity (ancoratges i signatures). Les vies de confiança controlen si l’evidència és elegible per a l’evaluació de la porta, mentre que les polítiques d’ancoratge i les signatures proporcionen enllaços verificables a sistemes externs. L’aplicació es produeix en dos llocs:
- Control plane runtime: applies trust requirements and validates anchors Temps d’execució del pla de control: aplica requisits de confiança i valida ancoratges quan està configurat.
- Verificador de Runpack: reprodueix les comprovacions de política d’ancoratge fora de línia.
La divulgació d’evidències es controla de manera separada a la capa d’eines. F:crates/decision-gate-core/src/core/evidence.rs L97-L257 F:crates/decision-gate-core/src/runtime/engine.rs L511-L618 F:crates/decision-gate-core/src/runtime/engine.rs L983-L1018 F:crates/decision-gate-core/src/runtime/runpack.rs L519-L567 F:crates/decision-gate-mcp/src/tools.rs L2294-L2334
Model d’Evidència
Els tipus d’evidència bàsica defineixen les càrregues útils canòniques i la metadada d’integritat:
EvidenceResultcarries a value, trust lane, hash, anchor, and optionalEvidenceResultporta un valor, un canal de confiança, un hash, un ancoratge i una signatura opcional.EvidenceAnchorconté un tipus d’ancora i un valor d’ancora codificat en JSON.EvidenceAnchorPolicymapeja proveïdors als tipus d’ancora i camps requerits.
F:crates/decision-gate-core/src/core/evidence.rs L175-L257
Trust Lanes i Requisits
Les vies de confiança són una reixeta de dos nivells:
Verificat(per defecte) per a proves proporcionades pel proveïdor.Afirmatper a proves subministrades pel client.
TrustRequirement especifica el mínim acceptable per a la via i s’aplica per condició i porta. Si l’evidència no compleix el requisit, es converteix en un resultat Unknown amb un error de trust_lane.
F:crates/decision-gate-core/src/core/evidence.rs L97-L141 F:crates/decision-gate-core/src/runtime/engine.rs L730-L746 F:crates/decision-gate-core/src/runtime/engine.rs L1573-L1593
La configuració del pla de control exposa:
- requisit_de_confiança_global
- sobrescriptures per proveïdor (a través de
provider_trust_overrides)
F:crates/decision-gate-core/src/runtime/engine.rs L111-L145
Política de confiança del proveïdor (Signatures)
La federació d’evidències MCP aplica la política de confiança del proveïdor abans que els resultats arribin a l’evaluació del pla de control:
TrustPolicy::Auditaccepta resultats sense signar.TrustPolicy::RequireSignaturerequiresEvidenceSignatureand validatesTrustPolicy::RequireSignaturerequereixEvidenceSignaturei valida signatures ed25519 utilitzant claus públiques configurades.
Avaluació de polítiques:
- Les signatures mancants, els esquemes no suportats o les claus no autoritzades són rebutjades.
- Si falta el hash de l’evidència, es calcula a partir de la càrrega canònica.
- Si el hash de l’evidència està present, ha de coincidir amb el hash de la càrrega útil canònica.
F:crates/decision-gate-mcp/src/evidence.rs L122-L210 F:crates/decision-gate-mcp/src/evidence.rs L628-L701
Política de Divulgació d’Evidències
La divulgació d’evidències s’aplica en el moment de evidence_query:
evidence.allow_raw_valuescontrola la divulgació global de valors en brut.evidence.require_provider_opt_inrequereix addicionalment l’opt-in del proveïdor.- Els proveïdors opten per participar a través de
ProviderConfig.allow_raw.
Si no s’accepten valors en brut, la resposta de l’eina redacta value i content_type, però manté els hashes i els ancoratges. F:crates/decision-gate-config/src/config.rs L1226-L1234 F:crates/decision-gate-mcp/src/tools.rs L2294-L2334 F:crates/decision-gate-mcp/src/evidence.rs L138-L196
Configuració de la Política d’Ancoratge
La configuració de la política d’ancoratge s’expressa en la configuració MCP com anchors.providers[{provider_id, anchor_type, required_fields}]. La configuració es valida i es converteix en la EvidenceAnchorPolicy en temps d’execució utilitzada pel pla de control i el verificador de runpack. Els ids de proveïdor han de ser únics i retallats per evitar l’aplicació ambigua de l’ancoratge. F:crates/decision-gate-config/src/config.rs L1378-L1466
Validació d’Ancoratge al Pla de Control
Quan es configura un requisit d’ancoratge per a un proveïdor:
- Els resultats de l’evidència han d’incloure
evidence_anchor. anchor_typeha de coincidir amb el requisit.anchor_valueha de ser un objecte JSON canònic amb els camps escalar requerits.- Gate evaluation evidence records are stored in canonical condition order to Els registres d’evidència d’evaluació de portes es guarden en ordre de condició canònica per mantenir els artefactes de runpack deterministes a través de les execucions.
Per al proveïdor json integrat, els ancoratges utilitzen file_path_rooted amb els camps requerits root_id i path. El valor de path es normalitza a un camí relatiu d’estil POSIX sota l’arrel configurada per mantenir els hashes de runpack estables a través de plataformes.
Els ancoratges no vàlids resulten en un error de proveïdor anchor_invalid i el resultat de l’evidència es converteix en un resultat verificat buit per a l’avaluació. F:crates/decision-gate-core/src/runtime/engine.rs L730-L755 F:crates/decision-gate-core/src/runtime/engine.rs L983-L1018
Verificació de l’Ancoratge de Runpack
La verificació de runpack reprodueix les comprovacions de política d’ancoratge fora de línia:
- Els registres de l’especificació de l’escenari i d’evaluació de la porta es carreguen a partir dels artefactes de runpack.
- El mapeig de condicions a proveïdors es deriva de l’especificació.
- Els ancoratges d’evidència en els registres d’evaluació de portes es validen contra la política.
Els errors es recullen i es reporten en el informe de verificació. F:crates/decision-gate-core/src/runtime/runpack.rs L519-L567 F:crates/decision-gate-core/src/runtime/runpack.rs L579-L612
Evidència Afirmada (Precomprovació)
Precheck utilitza evidència assertada sense contactar amb els proveïdors:
- Els valors de càrrega útil estan embolicats com a
EvidenceResultamb el carrilAsserted. - Control plane applies trust requirements per condition/gate, which can force
El pla de control aplica requisits de confiança per condició/portella, que poden forçar l’evidència afirmada a
Unknowndepenent de la configuració.
F:crates/decision-gate-mcp/src/tools.rs L2663-L2707 F:crates/decision-gate-core/src/runtime/engine.rs L511-L618
File per Fitxer Referència Creuada
| Àrea | Fitxer | Notes |
|---|---|---|
| Model d’evidència + canals de confiança | crates/decision-gate-core/src/core/evidence.rs | Tipus canònics per a canals de confiança, ancoratges, polítiques. |
| Aplicació de confiança + validació d’ancoratges | crates/decision-gate-core/src/runtime/engine.rs | Aplica requisits de confiança i valida ancoratges. |
| Verificació d’ancoratge de Runpack | crates/decision-gate-core/src/runtime/runpack.rs | Validació fora de línia contra la política d’ancoratge. |
| Política de signatura del proveïdor | crates/decision-gate-mcp/src/evidence.rs | Anàlisi de TrustPolicy + aplicació de signatura. |
| Política de divulgació d’evidències | crates/decision-gate-mcp/src/tools.rs | Redacció d’evidències en brut per a evidence_query. |
| Superfície de configuració | crates/decision-gate-config/src/config.rs | configuració evidence.* i anchors.*. |