docs: M2 close-out draft — INSTALL.md acceptance criterion + step-up implementation notes (M2H.1 draft)
Adds the `aliro-bench-test --step-up` verification sub-section to applet/INSTALL.md under "Validate after personalization" — explains what the M2 path checks (SELECT-STEPUP / EXCHANGE / ENVELOPE / GET RESPONSE / AD round-trip), what success looks like, and the three common failure modes. Also writes the user's auto-memory `step_up_implementation_notes.md` (persisted outside this repo at ~/.claude/projects/.../memory/step_up_implementation_notes.md) with the final form of the four Step-Up optimizations, spec citations, and codebase pointers — so the operator can look up "how did Step-Up end up" without re-reading the v2 plan. Three TODO markers left for the M2H.1 final commit to update once M2E + M2F land. DRAFT — final M2H.1 commit happens after M2G.2 verdict + M2E + M2F.
This commit is contained in:
@@ -193,6 +193,30 @@ step the real firmware will eventually run — so a green bench-test is
|
|||||||
strong evidence the applet is correct independently of any future
|
strong evidence the applet is correct independently of any future
|
||||||
reader implementation.
|
reader implementation.
|
||||||
|
|
||||||
|
### Step-Up M2 verification (`--step-up`)
|
||||||
|
|
||||||
|
```
|
||||||
|
aliro-bench-test --trust-dir ~/aliro-trust --step-up
|
||||||
|
```
|
||||||
|
|
||||||
|
Adds the Step-Up phase on top of the EXPEDITED verdict: SELECT-STEPUP
|
||||||
|
(ACCE5502) derives session keys from the cached `StepUpSK`, EXCHANGE
|
||||||
|
+ ENVELOPE + chained GET RESPONSE drive a real mdoc DeviceRequest to
|
||||||
|
the card and pull the encrypted DeviceResponse back. The harness
|
||||||
|
decrypts under `StepUpSKDevice` and asserts the embedded Access
|
||||||
|
Document round-trips byte-for-byte against the personalized blob.
|
||||||
|
|
||||||
|
Successful output appends:
|
||||||
|
|
||||||
|
```
|
||||||
|
STEP-UP M2: OK — Access Document round-trip verified, 272 bytes match
|
||||||
|
```
|
||||||
|
|
||||||
|
A `STEP-UP M2: FAIL` line means one of: SELECT-STEPUP didn't arm
|
||||||
|
(no preceding AUTH1), GCM tag mismatch (key/counter divergence), or
|
||||||
|
the recovered AD bytes don't match. The Expedited block above still
|
||||||
|
needs to be `OK` for any of this to run.
|
||||||
|
|
||||||
## Uninstall / re-install
|
## Uninstall / re-install
|
||||||
|
|
||||||
`gp --delete <pkg_AID>` won't succeed while applet *instances* still
|
`gp --delete <pkg_AID>` won't succeed while applet *instances* still
|
||||||
|
|||||||
Reference in New Issue
Block a user