Skip to content

Nivel 6 · La verificación con clave pública

This content is not available in your language yet.

§3 — Aitor verifica con una clave pública

Sección titulada «§3 — Aitor verifica con una clave pública»

Aitor nunca tiene una clave privada, nunca recibe los datos de origen y nunca mueve un byte del modelo. Tiene una sola cosa por proveedor: la clave pública, que cada repositorio de entrega compromete como .froga/PUBKEY.txt. Así que puede ejecutar froga verify sin ningún flag (lee la pubkey confirmada) o, si ancla la clave él mismo, --pubkey <hex>.

Lo que froga verify hace es local y criptográfico. Para cada artefacto presente comprueba: el sobre DSSE in-toto (payloadType application/vnd.in-toto+json), que el keyid sea igual a sha256(clave pública), que la firma ECDSA-P256 sobre el DSSE PAE sea válida, y que el subject digest in-toto sea igual a sha256(bytes del artefacto). Sale con 0 si y solo si todos los artefactos presentes verifican — y un artefacto presente al que le falta su .sig lo hace fallar. No hace ninguna llamada de red y no mueve ningún dato: puramente el sistema de ficheros local sobre .froga/bundle.json(+.sig), reconstruct.json(+.sig), conformance/*.json(+.sig) y risk-projection/*.json(+.sig). La CLI en Rust (crates/froga-cli/src/cmd/verify.rs) y el TS de la nube (cloud/lib/froga/verify.ts) son espejos diseñados del mismo contrato criptográfico.

Aitor clona cada entrega y ejecuta un comando. Aquí está el Proveedor A — el cribador de retina de Ollomar Diagnóstica:

📍 reproducir retina-delivery-v1.0.0-blocked

cribador de retina de Ollomar — firma VÁLIDA, barrera BLOQUEADA

git clone https://github.com/Venturalitica/vldemo-retina-delivery
cd vldemo-retina-delivery
git switch -c try retina-delivery-v1.0.0-blocked

Con el repositorio ya situado en el hito (chip de arriba), Aitor ejecuta:

Terminal de Aitor — Proveedor A (Ollomar Diagnóstica, cribador de retina)
froga verify --repo . # solo clave pública (confirmada en .froga/PUBKEY.txt) — sin clave privada, sin red, sin datos
Salida real (froga 0.1.1) — verbatim; glosado en español en los comentarios
froga verify — 7 artefacto(s) contra la clave pública 042b91f8…f57703f
✓ bundle.json
✓ reconstruct.json
✓ conformance/eu_mdr_2017.json
✓ conformance/eu_pren-18228_2026.json
✓ conformance/eu_pren-18282_2026.json
✓ conformance/eu_pren-18283_2026.json
✓ conformance/iso_23894_2023.json
firma VÁLIDA (7/7)
# Glosa: «froga verify — 7 artefacto(s) contra la clave pública 042b91f8…f57703f» / cada ✓ = la
# firma de ese artefacto es auténtica / «firma VÁLIDA (7/7)» = FIRMA VÁLIDA, los 7 verifican → código de salida 0.
# Nota: la 7ª línea es el cruce documental de MDR (conformance/eu_mdr_2017.json): presente y FIRMADO — un cruce documental, no un veredicto.

código de salida 0 — cada uno de los 7 artefactos es auténtico. Y sin embargo la barrera de aceptación del pliego para esta entrega está BLOQUEADA: su control bloqueante model-dr-sensitivity está en ROJO (passed=false — recall 0.414 < 0.80, un déficit de exactitud del Art. 15 de la Ley de IA). Otros controles son warn (no bloqueantes) y pasan.

Ahora el Proveedor B — el modelo de educación de EduAtlante Analytics:

📍 reproducir quickstart-delivery-v1.0.0-accepted

modelo de educación de EduAtlante — firma VÁLIDA, barrera ACEPTADA

git clone https://github.com/Venturalitica/vldemo-quickstart-delivery
cd vldemo-quickstart-delivery
git switch -c try quickstart-delivery-v1.0.0-accepted

Con el repositorio ya situado en el hito (chip de arriba), Aitor ejecuta:

Terminal de Aitor — Proveedor B (EduAtlante Analytics, modelo de educación)
froga verify --repo .
Salida real (froga 0.1.1) — verbatim; glosado en español en los comentarios
froga verify — 6 artefacto(s) contra la clave pública 047751c9…930d4b1
✓ bundle.json
✓ reconstruct.json
✓ conformance/eu_pren-18228_2026.json
✓ conformance/eu_pren-18282_2026.json
✓ conformance/eu_pren-18283_2026.json
✓ conformance/iso_23894_2023.json
firma VÁLIDA (6/6)
# Glosa: «froga verify — 6 artefacto(s) contra la clave pública 047751c9…930d4b1» / cada ✓ auténtico /
# «firma VÁLIDA (6/6)» = FIRMA VÁLIDA, los 6 verifican → código de salida 0.
# Nota: 6 artefactos, NO 7 — aquí NO hay cruce documental de MDR (un modelo de educación, no un dispositivo médico).

código de salida 0 — cada uno de los 6 artefactos es auténtico. La barrera de aceptación del pliego para esta entrega está ACEPTADA: su control bloqueante fairness-parity está en VERDE (passed=true), y ningún control bloqueante está en ROJO.