Session transcript definition
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 19
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
Somewhat related to #8
We need an agreement on and common description of what data should be signed over by the device and what protection guarantees we need.
Historically in OpenID4VP, there was a bit of divergence, where the data being signed over by the Wallet was slightly different between the formats. We should align on a generic definition what exactly we sign over and how that is constructed. SessionTranscript is reconstructed, whereas KB-JWT contained the values and both contain different values (e.g., JwkTumbprint)
SessionTranscript for mDoc (vanilla OpenID4VP):
OpenID4VPHandover = [
"OpenID4VPHandover", ; A fixed identifier for this handover type
OpenID4VPHandoverInfoHash ; A cryptographic hash of OpenID4VPHandoverInfo
]; Contains the sha-256 hash of OpenID4VPHandoverInfoBytes
OpenID4VPHandoverInfoHash = bstr; Contains the bytes of OpenID4VPHandoverInfo encoded as CBOR
OpenID4VPHandoverInfoBytes = bstr .cbor OpenID4VPHandoverInfoOpenID4VPHandoverInfo = [
clientId,
nonce,
jwkThumbprint,
responseUri
] ; Array containing handover parametersclientId = tstr
nonce = tstr
jwkThumbprint = bstr
responseUri = tstr
This is kb-jwt for SD-JWT VC (vanilla OpenID4VP)
The following is a non-normative example of the unsecured payload of the Key Binding JWT of a Verifiable Presentation.
{ "nonce": "n-0S6_WzA2Mj", "aud": "x509_san_dns:client.example.org", "iat": 1709838604, "sd_hash": "Dy-RYwZfaaoC3inJbLslgPvMp09bH-clYP_3qbRqtW4" }
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing issue #8 and the two examples in this issue: the mDoc SessionTranscript and the SD-JWT VC Key Binding JWT payload. Compare which values are signed or included and document a generic definition of the signed data and its protection guarantees. Done means the working group has agreed on the construction and common description.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100