OpenSSH koodibaasi
Kasutaja olemasolu kinnitavate seadmetega suhtlemiseks on OpenSSH-sse lisatud uut tüüpi võtmed "[meiliga kaitstud]” (“ecdsa-sk”), mis kasutab ECDSA (Elliptic Curve Digital Signature Algorithm) digitaalallkirja algoritmi NIST P-256 elliptilise kõvera ja SHA-256 räsiga. Tokenidega suhtlemise protseduurid paigutatakse vahepealsesse teeki, mis laaditakse sarnaselt PKCS#11 toe teegiga ja on teegi peal olev ümbris
U2F lubamiseks saate kasutada värsket koodibaasi lõiku
Libfido2 toetab OpenBSD-d, Linuxi, macOS-i ja Windowsi.
Võtme autentimiseks ja genereerimiseks peate määrama keskkonnamuutuja SSH_SK_PROVIDER, näidates selles tee failile libsk-libfido2.so (eksportige SSH_SK_PROVIDER=/path/to/libsk-libfido2.so) või määrake teek SecurityKeyProvideri kaudu. seadistus ja seejärel käivitage "ssh-keygen -t ecdsa-sk" või, kui võtmed on juba loodud ja konfigureeritud, looge ühendus serveriga "ssh" abil. Kui käivitate käsu ssh-keygen, salvestatakse loodud võtmepaar kausta "~/.ssh/id_ecdsa_sk" ja seda saab kasutada sarnaselt teiste võtmetega.
Avalik võti (id_ecdsa_sk.pub) tuleks kopeerida faili authorised_keys serverisse. Serveri poolel kontrollitakse ainult digitaalset allkirja ja kliendi poolel toimub interaktsioon žetoonidega (te ei pea serverisse installima libsk-libfido2, kuid server peab toetama võtmetüüpi "ecdsa-sk") . Loodud privaatvõti (id_ecdsa_sk) on sisuliselt võtmekäepide, mis moodustab reaalse võtme ainult koos U2F-märgi poolele salvestatud salajadaga.
Kui võti id_ecdsa_sk satub ründaja kätte, peab ta autentimise läbimiseks saama juurdepääsu ka riistvaramärgile, ilma milleta pole failis id_ecdsa_sk salvestatud privaatvõti kasutu. Lisaks on vaikimisi võtmetega mis tahes toimingute tegemisel (nii genereerimisel kui ka autentimise ajal) vaja kohalikku kinnitust kasutaja füüsilise kohaloleku kohta, näiteks tehakse ettepanek puudutada tokenil olevat andurit, mis raskendab sooritada kaugrünnakuid ühendatud loaga süsteemidele. Teise kaitseliinina saab võtmefailile juurde pääsemiseks määrata ka parooli ssh-keygeni käivitusfaasis.
U2F-võtit saab lisada ssh-agendisse "ssh-add ~/.ssh/id_ecdsa_sk" kaudu, kuid ssh-agent peab olema ehitatud "ecdsa-sk" võtmete toega, kiht libsk-libfido2 peab olema olemas ja agent peab töötama süsteemis , millega luba on ühendatud.
Lisatud on uus võtmetüüp “ecdsa-sk”, kuna OpenSSH ecdsa võtmete formaat erineb ECDSA digitaalallkirjade U2F-vormingust lisaväljade olemasolul.
Allikas: opennet.ru