A firmware image is built in Zone D.
The build runs on the air-gapped signer. The image carries its version, which the device will later compare against its anti-rollback counter.
The image is reduced to a digest.
The signer signs a SHA-256 digest of the image, never the image itself. The same digest becomes the firmware commitment in the receipt.
The next unused leaf signs, and the counter moves first.
The state counter q advances and is sealed before the signature is released. That leaf is now spent forever. The authentication path ties the signature to the public root registered in R+14.
- Single writer: one signer, one state
- A corrupted or rolled-back state must be refused
Signed image + manifest + registry epoch.
The signature (leaf index, one-time signature, authentication path) is attached, with a manifest naming the version and the registry epoch. It leaves Zone D on write-once USB, or as a QR code for small manifests.
Devices verify only.
The gateway relays the image and never re-signs it. Each device checks the signature against the registered root, the epoch, and that the version is not older than its counter. No device holds a signing key.
An older image is refused, even though its signature is valid.
An attacker who replays a genuine but vulnerable older release is stopped by the anti-rollback counter. The refusal is logged on the device and becomes evidence.