rfid.wtf / WTF is RFID?
ConceptHF · 13.56 MHz

Public-key cards

Cards that hold a private key and prove it — the "authentication" end of RFID.

Most of RFID is identification: the card says a number (see What is the ID?). At the other end of the scale are cards that do authentication with public-key cryptography, the same maths that secures HTTPS and SSH.

#How it works

  1. A key pair is generated on the card. The private key never leaves the chip. There's no command to read it out, and the chip is built to resist being pried open.
  2. The public key goes out into the world, usually inside a certificate signed by someone the verifier trusts: an employer, a government, a manufacturer.
  3. To prove itself, the card gets a fresh random challenge and signs it. The verifier checks the signature with the public key.
The whole trick in three messages. The private key never moves; only signatures do.
The whole trick in three messages. The private key never moves; only signatures do.

The signature is different every time, so recording one is useless. Copying the card means getting the private key, and the chip doesn't hand it over.

#Why that's a bigger deal than it sounds

Older "secure" cards use symmetric keys: the card and every reader share the same secret. Pull that secret out of one reader and you have it for the whole system. With public keys, readers only need public information to check a card. Nothing a reader holds lets you make a card.

That's the idea behind PIV and CAC badges, MIFARE DUOX and the anti-cloning checks in e-passports.

#Where you'll meet them

  • Government ID: e-passports, national ID cards, US government PIV and CAC and CAC badges.
  • Security keys: YubiKeys and other FIDO keys, which work over NFC as well as USB.
  • Payment cards: EMV chips use certificates so a terminal can check the card is genuine.
  • Access control: newer credentials like MIFARE DUOX.

Where next

Shows up in