Skip to content

Be more precise on OpenID4VP nonce entropy #707

@paulbastian

Description

@paulbastian

OpenID4VP currently states for nonce:

nonce:
REQUIRED. A case-sensitive String representing a value to securely bind Verifiable Presentation(s) provided by the Wallet to the particular transaction. The Verifier MUST create a fresh, cryptographically random number with sufficient entropy for every Authorization Request, store it with its current session, and pass it in the nonce Authorization Request Parameter to the Wallet. See Section 14.1 for details. Values MUST only contain ASCII URL safe characters (uppercase and lowercase letters, decimal digits, hyphen, period, underscore, and tilde).

which is not very strong language and especially missing specific minimum requirements, e.g. the best practice of 128bits.

In contrast, OpenID4VP currently states for state:

ensure that the value is a cryptographically strong pseudo-random number with at least 128 bits of entropy,

So I propose to add similar language for nonce:

The Verifier MUST create a fresh and unpredictable nonce using a secure cryptographically random number generator of at least 128bits of entropy for every Authorization Request, store it with its current session, and pass it in the nonce Authorization Request Parameter to the Wallet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions