U2F
Le chiavi utilizzate in U2F sono generate dal dispositivo stesso, non puoi farlo tu stesso. La pagina web dello sviluppatore di Yubico lo spiega molto chiaramente. In breve, dai un'occhiata al grafico sottostante.
Device Secret è generato nella frase di fabbricazione. Per quanto ne so, questo segreto non può essere modificato da una modifica del software. AppID è uguale all'URL del servizio web. Al momento della generazione, un RNG integrato genererà un Nonce, passerà a un HMAC-SHA256 con AppID, digitato con il segreto del dispositivo, l'uscita è la chiave privata. Quindi inserisci nuovamente la chiave privata e l'AppID nella funzione HMAC, concatenando l'output e il nonce, che diventa l'handle della chiave. La chiave pubblica viene generata dalla chiave privata e inviata con l'handle della chiave al servizio web.
X.509 / PIV
Questa è la parte sulla firma del codice e la chiave da fare. Sì, è possibile generare una chiave privata sul proprio computer e caricarla su Yubikey. Dai un'occhiata alla spiegazione del PIV di Yubico . Soprattutto articoli sotto Introduction/Certificate slots
, Tools/YubiKey PIV Manager(if you use Windows)
e Guides
.
OpenPGP
Yubico ha un po 'la mancanza di spiegare questa parte, quindi ho trovato un ottimo repo GitHub contribuito da drduh dove contiene una spiegazione completa su come utilizzare OpenPGP con Yubikey.