openid / openid/OpenID4VP

add more information on the binding to the origin in browser API

Open
#209 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dc-api editorial
Dominant language
Shell
Stars
112
Forks
38
Avg merge
12d 19h
Merged PRs (30d)
4

Description

Given that binding to the origin is an important security feature, it is important to give more context on how the origin is used. This means we need to cover the following items in this PR:

  • The origin is included in the cryptographic metadata used for response encryption and (credential format specific) device/key binding. It’s mandatory for the RP to verify whether this origin matches the origin it used to present the request, thereby preventing certain phishing attacks.
  • Given that the origin is included in the cryptographic metadata in the response, including the expected_origins is in itself not necessary to prevent the phishing attack, but it does allow the wallet application to give an error earlier in the process.
  • This means the following requirements apply:
    • If it’s a signed request, expected_origins must be included.
    • In the response encryption, origin must be included.
    • In the device/key binding, origin must be included.
    • If expected_origins is included, they must be verified by the wallet, if they don’t match the ‘actual’ origin, the transaction must be aborted.
    • The RP must verify the origin in the response and device/key binding mechanism, if it doesn’t match the ‘actual’ value, the transaction must be aborted.

Originally posted by @martijnharing in https://github.com/openid/OpenID4VP/pull/155#discussion_r1668834787

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or section is named. Start by locating the OpenID4VP specification sections covering signed requests, response encryption, and device/key binding, then add the stated origin requirements and explanations. Done means the documentation explains expected_origins validation, origin inclusion in cryptographic metadata, and abort conditions for mismatches.

Written by the indexing model from the issue text.

Assessment

Domain
documentation, security
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.