V kodno zbirko OpenSSH
Za interakcijo z napravami, ki potrjujejo prisotnost uporabnika, je bila OpenSSH dodana nova vrsta ključev "[e-pošta zaščitena]” (“ecdsa-sk”), ki uporablja algoritem digitalnega podpisa ECDSA (Elliptic Curve Digital Signature Algorithm) z eliptično krivuljo NIST P-256 in zgoščevanjem SHA-256. Postopki za interakcijo z žetoni so postavljeni v vmesno knjižnico, ki je naložena na podoben način kot knjižnica za podporo PKCS#11 in je ovoj na vrhu knjižnice
Če želite omogočiti U2F, lahko uporabite svež del kodne baze iz
Libfido2 podpira OpenBSD, Linux, macOS in Windows.
Za preverjanje pristnosti in ustvarjanje ključa morate nastaviti spremenljivko okolja SSH_SK_PROVIDER in v njej navesti pot do libsk-libfido2.so (izvoz SSH_SK_PROVIDER=/path/to/libsk-libfido2.so) ali definirati knjižnico prek SecurityKeyProvider nastavitev in nato zaženite “ssh-keygen -t ecdsa-sk" ali, če so ključi že ustvarjeni in konfigurirani, se povežite s strežnikom z uporabo "ssh". Ko zaženete ssh-keygen, bo ustvarjeni par ključev shranjen v "~/.ssh/id_ecdsa_sk" in ga je mogoče uporabiti podobno kot druge ključe.
Javni ključ (id_ecdsa_sk.pub) je treba kopirati na strežnik v datoteko authorized_keys. Na strani strežnika se preverja le digitalni podpis, interakcija z žetoni pa se izvaja na strani odjemalca (na strežnik vam ni treba namestiti libsk-libfido2, vendar mora strežnik podpirati tip ključa “ecdsa-sk”) . Ustvarjeni zasebni ključ (id_ecdsa_sk) je v bistvu ročaj ključa, ki tvori pravi ključ samo v kombinaciji s tajnim zaporedjem, shranjenim na strani žetona U2F.
Če ključ id_ecdsa_sk pade v roke napadalcu, bo moral za avtentikacijo pridobiti tudi dostop do strojnega žetona, brez katerega je zasebni ključ, shranjen v datoteki id_ecdsa_sk, neuporaben. Poleg tega je privzeto pri izvajanju kakršnih koli operacij s ključi (tako med ustvarjanjem kot med preverjanjem pristnosti) potrebna lokalna potrditev fizične prisotnosti uporabnika, na primer predlaga se dotik senzorja na žetonu, kar otežuje izvaja oddaljene napade na sisteme s povezanim žetonom. Kot drugo obrambno linijo lahko med zagonsko fazo ssh-keygen določite tudi geslo za dostop do datoteke ključev.
Ključ U2F lahko dodate ssh-agentu prek "ssh-add ~/.ssh/id_ecdsa_sk", vendar mora biti ssh-agent zgrajen s podporo za ključe "ecdsa-sk", prisoten mora biti sloj libsk-libfido2 in agent se mora izvajati v sistemu, s katerim je povezan žeton.
Dodan je bil nov tip ključa »ecdsa-sk«, ker se format ključev OpenSSH ecdsa razlikuje od formata U2F za digitalne podpise ECDSA zaradi prisotnosti dodatnih polj.
Vir: opennet.ru