eu-digital-identity-wallet / eudi-doc-architecture-and-reference-framework

The European Digital Identity Wallet
https://eu-digital-identity-wallet.github.io/eudi-doc-architecture-and-reference-framework/
Other
431 stars 60 forks source link

ARF Feedback: A.2.3.9: User Authentication #290

Open justinbrickell opened 3 months ago

justinbrickell commented 3 months ago

A.2.3.9 currently provides unclear guidance about how, and how often, Wallets should authenticate users.

WTE_02 states

“A WSCA SHALL authenticate the User before performing any cryptographic operation involving a private or secret key of a Wallet Instance (i.e., a WTE key) or of an attestation in a Wallet Instance.”

It is unclear what “before” means here. Consider a user that needs to perform multiple cryptographic operations within a few milliseconds (for example, because they want to transmit both a PID and a QEAA). Is the user allowed to perform several operations in series with a single authentication, or does each operation require its own authentication?

WTE_03 states

“A Wallet Instance SHALL authenticate the User before performing any operation excluding cryptographic operations.”

It is unclear what “any operation excluding cryptographic operations” means here, as nearly any user interaction could be considered an operation. It is also unclear what “before” means here: it could mean that there is an idle-timeout after authentication, or it could mean that authentication must occur before each and every operation.

One interpretation of WTE_03 is that the Wallet application should ask the user to unlock (with a PIN or biometric) when the application is first launched, and they should be prompted to unlock after being idle for some small amount of time (e.g. 5 minutes). If this is the correct interpretation, the ARF text should be updated to explain this more clearly.

We would also question whether authentication for non-cryptographic operations is necessary at all. Most mobile applications rely on the device to have its own lock to prevent unauthorized access and do not prompt the user for additional authentication when the application is launched.

digeorgi commented 1 month ago

Thank you very much for your feedback, please see below for a summary of the updated that we will perform in the next ARF release: