Skip to content

Write-only Web NFC variant proposal #128

@cyberphone

Description

@cyberphone

"A Better QR"

betterqr

Using QR codes on the Web together with mobile phones acting as Identity Tokens or Wallets has been a huge success.

There is essentially only one but rather obvious snag; you need to start a specific QR- or QR-enabled application in order to use such a system.

However, if you scratch a bit under the surface of these systems you will find that they suffer from a fairly ugly security flaw: There is no secure binding between the page showing the QR-code and the QR-code itself. This fact has recently been successfully exploited by criminals who with simple phishing scams have lured people logging in to their bank for "Important Information" giving the phisher access to the account rather than the user. There is currently no publicly documented workaround for this vulnerability.

Note: even the most advanced systems out there using Security Elements and Asymmetric Key Cryptography exhibit this problem.

AFAICT, a Dedicated, Write-only Web NFC variant could be a great replacement for inconvenient and security-broken QR schemes. I don't see that a strict enforcement of the Web Security Model would be necessary since the Web service doesn't get any information from the user (via NFC).

This is how most QR based schemes work today:

  1. The user wants to login or have reached a Web page asking for a payment. Note: using a PC
  2. The service offers a (preferably one-time) QR code in a Web page
  3. The user starts a QR enabled application. Note: using a Phone
  4. The applications scans the QR code aided by the user doing the focusing
  5. The QR enabled application performs the authentication or transaction using OOB communication based on the read QR data

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