oauth-wg / oauth-cross-device-security

Other
12 stars 7 forks source link

Proposal for Mitigation: Bind QR Code to User Info #85

Closed marcopernpruner closed 1 year ago

marcopernpruner commented 1 year ago

Following the discussion during OSW 2023, we (@giadas and I) propose some mitigations that could be implemented to further reduce the risks of CDCP attacks. These mitigations are extracted and adapted from our publications:


Bind QR Code to User Info

In the User-Transferred Session Data Pattern, users could be requested to insert an identifying information on the Initiating Device to start the authorization process; this piece of information is inserted into the QR code and verified by the Authorizing Device during the authorization process. In general, the identifying information could be any attribute retrievable by the Authorizing Device during the authorization process. This contributes to reducing the attack surface by restricting non-targeted attacks.

For instance, in the Italian context, we use the serial number of the user's eID card as identifying information; after interacting with the eID card, the Authorizing Device is able to verify that the value contained in the QR code (i.e., that inserted by the user) matches the real attribute extracted from the eID card.

Limitations: The identifying information could be captured through phishing and used to launch an attack; the additional step could reduce the usability level of the protocol.

Effect on attacks (Table 1): disrupt.

PieterKas commented 1 year ago

Different options for this mitigation:

  1. User supplied session data or user supplied session binding.
  2. Authorization device session data?
  3. External session binding.
  4. Data driven session binding.
  5. Application session binding.
  6. Out of band session binding.
  7. Session metadata.
  8. Application layer session binding.
  9. QR or user code binding.
  10. Binding using out-of-band data.

Settled on proposal #10.

Also double check proximity section for similar mitigations.