IEC 62443 firmware integrity enforcement suite
DFIMBOOT v2 authenticates sidecar metadata before Merkle validation. Production UEFI builds reject DFIMBOOT v1.
All integers are little-endian. ECDSA uses P-256/SHA-256 and fixed-width IEEE P1363 r || s.
DFIMBOOT.2.92.1.64.The signature covers every byte before the trailing signature. Parsing rejects non-canonical trailing data, unknown algorithms, incorrect key IDs, stale counters, malformed proofs, and legacy v1 input.
UEFI requires a DFIMMinRelease variable under vendor GUID
3f33c545-c9a7-4b1d-89ee-76f1472dfb49. The variable must be non-volatile, boot-service accessible,
and use TIME_BASED_AUTHENTICATED_WRITE_ACCESS; missing or weaker attributes halt boot.
Its 36-byte data payload is DFIMROLL || version:u32 || minimum_release:u64 || key_id:[u8;16].
The effective floor is:
Generate the data payload with dfim-provisioner rollback-payload. Platform PK/KEK tooling must wrap
and sign it as EFI_VARIABLE_AUTHENTICATION_2; the private platform key must never be placed on the
boot target.
DFIM_BOOT_PUBLIC_KEY_HEX, DFIM_BOOT_KEY_ID_HEX, and
DFIM_BOOT_MIN_RELEASE. A production build fails if any value is absent or malformed.provision-v2 --signing-key ... --key-id ... --release-counter ....verify-v2 --public-key ... --key-id ... --minimum-release ....RustCrypto verifies the protocol but is not itself evidence of FIPS 140-3 module validation.