Commit c921d57
authored
Add CS-05: Business Wallet Unit Attestation (BWUA) Lifecycle (v0.9) (#285)
* Add CS-05: Business Wallet Unit Attestation (BWUA) Lifecycle (v0.9 draft)
* cs-05: fix typo in 6.5.1 ('One another' -> 'One other')
* cs-05: point provisioning-cadence cross-refs in 5.2 and 6.3 at section 6.6
* cs-05: add figures and the Annex B.3 binding sequence
Add three diagrams and wire them into the sections they illustrate,
following the CS-04 figure conventions (captions live in the Markdown,
not in the images):
- Figure 1 (5.1) actors and the high-level BWUA issuance and verification
- Figure 2 (5.2) BWUA (BWIA/SKA) attestation lifecycle
- Figure 3 (6.5.1) discovery of a Credential Offer Endpoint for a BWU
The figures are referenced with an explicit display width so they render
at a consistent size on GitHub, and the PNGs are downscaled to twice that
width to stay crisp without carrying multi-megapixel sources.
Add a mermaid sequence diagram for Annex B.3 (Figure B.1), mirroring
CS-04 Annex B, covering key binding at issuance and holder binding at
presentation for a server-hosted wallet.
Refs #177
* cs-05: add the editable Excalidraw sources for the figures
Keep the Excalidraw scenes alongside the exported PNGs so the figures in
sections 5.1, 5.2 and 6.5.1 can be revised without redrawing them:
- bwua-actors-interactions.excalidraw
- bwua-lifecycle-states.excalidraw
- bwua-discovery-model.excalidraw
Each scene matches its committed PNG. Soft-deleted elements left behind
by editing are stripped, so the file contains only what the figure shows.
Refs #177
* cs-05: expiry in 5.2 applies to the SKA as well as the BWIA
Section 7.1 requires each SKA to be issued with a short token-level
time-to-live comparable to the BWIA, so the Expired state is reached by
either attestation, not by the BWIA alone.
Addresses review feedback from @eklaver on PR #285.
Refs #177
* cs-05: single-use in 5.4 is a BWU behaviour the provider ensures
The Business Wallet Provider controls how long a BWIA lives, but using it
only once is something the BWU does, so the responsibility reads as
ensuring the BWU treats each BWIA as single-use rather than as a property
the provider sets directly.
Addresses review feedback from @eklaver on PR #285.
Refs #177
* cs-05: require the Issuer to check the provider certificate against the Trust List
Section 7.3 required only that the Issuer verify the signature on the BWIA
and SKA, which on its own proves nothing about who signed them: iss is
omitted from both attestations by design, so the Business Wallet Provider
is identified solely by the x5c certificate chain. Without a Trust List
check an Issuer could accept a BWUA signed by any key, including a
self-signed one.
Add the chain check as the first Issuer obligation, before signature and
status verification, and renumber the rest of the list.
Note in section 2 that CS-05 requires the check but leaves the
establishment, population and discovery of the Trust List to be handled
separately, so the new requirement does not contradict the scope
exclusion.
Adopt "Wallet Provider Trust List" as the term and align the three
existing references in Annex B, which already assumed this check.
Addresses review feedback from @eklaver on PR #285.
Refs #177
* cs-05: take natural-person co-signing out of scope and drop the MLS construction
The MLS group construction was not testable as a normative requirement.
No standard profiles MLS with OAuth DPoP, and the property it was there
to provide is already delivered elsewhere: section 7.3 item 4 requires
the natural person's presentation to be holder-bound into the same
issuance session carrying the session freshness value, and the fresh
Authorization Server nonce together with the single-use BWIA cover
replay. Co-signature is in any case a signing concern rather than an
attestation-lifecycle one.
Add co-signature by a natural person to the out-of-scope list in section
2, and remove the construction from sections 5.3, 6.4 and 7.3, including
the BWU obligation to establish an MLS group. Renumber the remaining BWU
obligation in 7.3.
Drop the CS-03 cross-reference from the closing paragraph of 6.4. It was
wrong: CS-03 covers remote qualified signing and says nothing about MLS
or co-signing.
Remove RFC 9420 from the references and renumber SD-JWT-VC to [15] and
RFC 7800 to [16], updating the Annex B citations.
Also drop the co-signing clause from Annex B.3, which pointed at the
session-level construction in section 5.3 that this change removes.
Addresses review feedback from @sander on PR #285.
Refs #177
* cs-05: note the status of Annex C and tighten its opening
Annex C records the Credential Offer Endpoint Registry and Lookup Service
as currently built, following adr/ebw-endpoint-lookup-service.md. It
covers one use case, an Issuer reaching a business wallet with no browser
session and no user present to scan a QR code, and it is not a
specification of the WE BUILD Digital Directory as a whole.
State that plainly at the head of the annex: it is informative rather
than normative, wider directory requirements are expected to be specified
separately, and the annex will be revisited in a subsequent iteration of
CS-05. Record that section 7.4 depends on a Registry Management API and a
Lookup Service API existing but not on the paths, payloads or scopes given
here, so refining the annex later does not disturb section 7.
Drop the opening clause of the following paragraph, which hedged the same
point more weakly than the note now states it.
Addresses review discussion with @eklaver and @sander on PR #285.
Refs #177
* cs-05: release as version 1.0 and refresh the sibling spec citations
Set the version to 1.0 and drop the Draft marker now that the
specification has been reviewed and approved, dating it 05-August-2026 in
the same form CS-04 uses.
Move CS-005 from WBCSs Under Development to Approved WBCSs in the
conformance-specs README, at version 1.0.
Bring the sibling specification references up to the current versions.
The entries were carried over from CS-04 and had gone stale: CS-01
Credential Issuance is at version 1.2 and CS-03 Remote Qualified Signing
with Wallet Units is at version 1.2. Correct the year on the CS-01 entry
to match. CS-02 at version 1.1 and CS-04 at version 1.0 were already
current.
Refs #1771 parent 757f969 commit c921d57
8 files changed
Lines changed: 3837 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
64 | | - | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| |||
Large diffs are not rendered by default.
0 commit comments