Yubikey Connect

YubiKey Technisch Overzicht

U2F is een challenge-response-protocol uitgebreid met bescherming tegen phishing en Man-In-The-Middle-aanvallen, toepassingsspecifieke sleutels, detectie van apparaatklonen en apparaatattestatie. Er zijn twee processen: registratie en authenticatie

Technisch overicht Yubikey

1. Challenge-response

We beginnen met een eenvoudig challenge-response authenticatieproces, gebaseerd op openbare-sleutelcryptografie. Het U2F-apparaat heeft een privésleutel (kpriv) en de RP (Relying Party) krijgt de bijbehorende openbare sleutel (kpub). Het sleutelpaar wordt gegenereerd in de sabotagebestendige uitvoeringsomgeving van het apparaat, waar kpriv niet uit kan worden gehaald.

Technisch overicht Yubikey

2. Phishing en MitM bescherming

Het concept is dat de client samenstelt wat het weet over de huidige HTTP-verbinding (URI en TLS-kanaal-ID). Deze informatie wordt vervolgens ondertekend door het U2F-apparaat en naar de RP (Relying Party) gestuurd, die verifieert dat de informatie correct is.

Toevoegingen aan het authenticatieproces:

  • Origin (URI) — voorkomt phishing.
  • TLS Channel ID (optional) — voorkomt MitM-aanvallen.
Technisch overicht Yubikey

3. Application-specific keys

Application-specific keys voorkomen dat vertrouwende partijen apparaten kunnen volgen tussen verschillende gebruikersaccounts. Dit betekent dat Example.com niet kan weten of User1 en User2 dezelfde sleutel delen. Het U2F-apparaat genereert een nieuw sleutelpaar en sleutelhandvat voor elke registratie. Het handvat wordt opgeslagen door de RP en terug gestuurd naar het apparaat bij authenticatie. Op deze manier weet het apparaat met welke sleutel te authenticeren (bijvoorbeeld de sleutel van User1 of User2).

Toevoegingen aan het authenticatieproces:

  • Sleutelgeneratie op het apparaat.
  • Sleutelhandvat, opgeslagen door de server samen met kpub.
  • App ID, gebruikt voor het afbakenen van een sleutelhandvat.
Technisch overicht Yubikey

4. Detectie van apparaatklonen

Zoals al vermeld, zijn Yubico’s U2F-apparaten sabotagebestendig en kan kpriv niet extern worden gelezen (tenminste niet onopgemerkt). Om toch kloon detectie te bieden aan U2F-apparaten zonder sabotagebestendige beveiligingselementen (bijvoorbeeld software-implementaties), voegen we een authenticatieteller toe. Het concept is eenvoudig: Het apparaat verhoogt de teller bij het authenticeren, en de RP controleert of de teller hoger is dan de vorige keer.

Toevoegingen aan het authenticatieproces:

  • Een teller, van het apparaat naar de RP gestuurd.
Technisch overicht Yubikey

5. Apparaat attestatie

Attestatie geeft vertrouwende partijen de mogelijkheid om token eigenschappen te verifiëren, zoals het tokenmodel. Dit wordt geïmplementeerd via een attestatiecertificaat, ondertekend door de apparaatleverancier, dat het apparaat naar de RP stuurt bij registratie. Attestatie heeft geen invloed op de authenticatieprocedure.

Toevoegingen aan het registratieproces:

  • Attestatiecertificaat
Settings Wheels

U2F Key Generation

Een U2F-apparaat moet voor elke service waarmee het zich registreert, een nieuw ECC-sleutelpaar genereren. Bij authenticatie moet het apparaat de eerder gegenereerde sleutel voor die service gebruiken. Dit is triviaal, maar wordt complexer naarmate we meer eisen toevoegen.