Key generation (2024)

A U2F device should generate a newECC key pair foreach service it registers with. When authenticating, the device should use thepreviously generated private key for that service. This is trivial, but getsmore complex as we add more requirements:

Initial requirements

Without any additional requirements, all we need is a key-value store on thedevice.

example.org => [Private key for example.org]acme.com => [Private key for acme.com]

Multiple keys per service

We want to allow devices to store multiple credentials per service. For example,a user might have more than one Gmail account.To solve this, we associate each credential with a key handle instead of witha service. During registration, the device sends a key handle which is kept bythe service. When authenticating, the service sends the key handle back to thedevice.

KeyHandle[0x21AE9B] => [Private key 1 for example.org]KeyHandle[0xFBD308] => [Private key 2 for example.org]KeyHandle[0x18C77B] => [Private key 1 for acme.com]

Limited storage on device

The implementation described above works just fine, but it comes with alimitation. Each credential consists of a private key along with metadataassociated with that credential, which all require storage space. This puts anupper limit to the number of credentials that can fit on any one device. Toavoid this limitation, YubiKeys use the following approach:

Note

Updated Feb 2020 to reflect current YubiKeys. The following applies to anyYubiKey or Security Key by Yubico with a firmware version of 4.4 or greater (this includes any YubiKey FIPS device).

During credential registration, a new key pair is randomly generated by theYubiKey, unique to the new credential. The private key, along with somemetadata about the credential, is encrypted usingauthenticatedencryption with a master key. This master key is unique per YubiKey, generatedby the device itself upon first startup, and never leaves the YubiKey in anyform. For FIDO2 capable YubiKeys, this master key is re-generated if FIDO2RESET is invoked, thereby invalidating any previously created credentials.

The encryption used for each credential isAES-256 inCCM mode, which allows us tocryptographically tie things like the AppID to the private key, ensuring thatthe credential can only ever be used with the correct RP. The encrypted (andauthenticated) data then forms the 64-byte key handle, which is sent to theserver as part of the registration flow, to be stored by the RP for later.

For authentication, the RP returns the key handle to the YubiKey. Here it isdecrypted to re-form the private key which is needed to sign the challenge tocomplete the authentication. Due to the authenticated encryption used, we knowthat the private data has not been altered in any way, and can verify that thecredential is being used with the correct AppID.

By using this approach, the YubiKey does not need to store any per-credentialdata, and can thus register and use any number of credentials. This is true forboth U2F and for WebAuthn "non-resident keys". For WebAuthnresident keys,internal storage must still be used.

Key generation (2024)
Top Articles
The 25 best Disney+ movies for adults
What is Capital? Definition of Capital, Capital Meaning - The Economic Times
Katie Pavlich Bikini Photos
Gamevault Agent
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
Free Atm For Emerald Card Near Me
Craigslist Mexico Cancun
Hendersonville (Tennessee) – Travel guide at Wikivoyage
Doby's Funeral Home Obituaries
Vardis Olive Garden (Georgioupolis, Kreta) ✈️ inkl. Flug buchen
Select Truck Greensboro
Things To Do In Atlanta Tomorrow Night
How To Cut Eelgrass Grounded
Pac Man Deviantart
Alexander Funeral Home Gallatin Obituaries
Craigslist In Flagstaff
Shasta County Most Wanted 2022
Energy Healing Conference Utah
Testberichte zu E-Bikes & Fahrrädern von PROPHETE.
Aaa Saugus Ma Appointment
Geometry Review Quiz 5 Answer Key
Walgreens Alma School And Dynamite
Bible Gateway passage: Revelation 3 - New Living Translation
Yisd Home Access Center
Home
Shadbase Get Out Of Jail
Gina Wilson Angle Addition Postulate
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
Walmart Pharmacy Near Me Open
Dmv In Anoka
A Christmas Horse - Alison Senxation
Ou Football Brainiacs
Access a Shared Resource | Computing for Arts + Sciences
Pixel Combat Unblocked
Cvs Sport Physicals
Mercedes W204 Belt Diagram
Rogold Extension
'Conan Exiles' 3.0 Guide: How To Unlock Spells And Sorcery
Teenbeautyfitness
Weekly Math Review Q4 3
Facebook Marketplace Marrero La
Nobodyhome.tv Reddit
Topos De Bolos Engraçados
Gregory (Five Nights at Freddy's)
Grand Valley State University Library Hours
Holzer Athena Portal
Hampton In And Suites Near Me
Stoughton Commuter Rail Schedule
Bedbathandbeyond Flemington Nj
Free Carnival-themed Google Slides & PowerPoint templates
Otter Bustr
Selly Medaline
Latest Posts
Article information

Author: Geoffrey Lueilwitz

Last Updated:

Views: 5979

Rating: 5 / 5 (80 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Geoffrey Lueilwitz

Birthday: 1997-03-23

Address: 74183 Thomas Course, Port Micheal, OK 55446-1529

Phone: +13408645881558

Job: Global Representative

Hobby: Sailing, Vehicle restoration, Rowing, Ghost hunting, Scrapbooking, Rugby, Board sports

Introduction: My name is Geoffrey Lueilwitz, I am a zealous, encouraging, sparkling, enchanting, graceful, faithful, nice person who loves writing and wants to share my knowledge and understanding with you.