Skip to content

R14 — All backup categories in both revision directions

Status: NOT EXECUTED as a complete hardware procedure — T2B1 and T3B1.

Use the shared acceptance record, with a separate result for every required model/OS. Host and emulator output remains separate evidence.

Preconditions

R13 passed; T2B1 and T3B1; disposable TOTP/HOTP, ES256/EdDSA passkeys with hmac-secret/largeBlob, ECC/RSA OpenPGP, all four PIV slots with certificates and AES with used counters.

Steps

  1. Inventory names, public fingerprints, algorithms, policies and observable counters. Export each identity and a full T2B1 backup; keep sequences/passphrases private.
  2. Prepare T3B1 with its own storage/FIDO/PIV PINs and management key. Restore through images and confirmations without changing destination credentials except where the OpenPGP schema explicitly requires it.
  3. Verify FIDO with the same credentialId, BE/BS and monotonic counter; stable hmac-secret and readable largeBlob; TOTP at identical time and HOTP without rollback; OpenPGP signing/decryption; PIV signing/certificate; AES decryption of earlier ciphertext.
  4. Modify a destination identity, present its old backup, refuse and then accept the specific overwrite after name/fingerprint review. Check other identities and skipped categories. Interrupt between identities: completed identities may remain, but none may be partial.
  5. Repeat the complete T3B1→T2B1 direction and an older backup on the same revision. Check memory limits on the smaller model and a large fragmented backup.
  6. Record what does not travel: device/FIDO PINs, destination PIV credentials, OpenPGP card number, non-discoverable FIDO credentials and largeBlobs without an exportable identity. Published schemas define the behavior, not a bit-for-bit clone promise.

Expected result

Every backup-capable category restores the same usable identity in both directions with safe policies/counters, no implicit overwrite and no mutation without consent. Atomic per identity, not a global transaction.

Evidence to retain

Category/profile/direction matrix, public before/after fingerprints and counters, signature/code/blob/ciphertext checks, overwrite and power-cut cases. Keep backups/photos private.

Per-identity reception and copy retries

Copy all frames of one identity before Continue, then wait for the message allowing the next identity. During confirmation/KDF, WRITE(10) must explicitly reject with NOT READY 04/07 and full residue. Verify the OS reports failure and the same file succeeds after resumption. Keep MSC mounted between identities, finish explicitly, verify exact totals and completeness, then eject. A late failure retains completed identities without changing an incomplete/corrupt identity. Repeat retries on each OS; this behavior is not yet physically qualified.