Nei de OpenSSH-koadebase eksperimintele stipe foar twa-faktor autentikaasje mei help fan apparaten dy't stypje it protokol , ûntwikkele troch it alliânsje . U2F lit it oanmeitsjen fan goedkeape hardware-tokens om de fysike oanwêzigens fan 'e brûker te ferifiearjen, ynteraksje mei har fia USB, Bluetooth of NFC. Sokke apparaten wurde befoardere as in middel fan twa-faktor autentikaasje op websiden, wurde al stipe troch grutte browsers en wurde produsearre troch ferskate fabrikanten, ynklusyf Yubico, Feitian, Thetis en Kensington.
Om te ynteraksje mei apparaten dy't de oanwêzigens fan 'e brûker befêstigje, is in nij kaaitype "sk-ecdsa-sha2-nistp256@openssh.com" ("ecdsa-sk") tafoege oan OpenSSH, dat it digitale hântekeningalgoritme ECDSA (Elliptic Curve Digital Signature Algorithm) brûkt mei de elliptyske kromme fan NIST P-256 en SHA-256 hash. De prosedueres foar ynteraksje mei tokens binne ferpleatst nei in tuskenlizzende bibleteek, dy't op deselde manier laden wurdt as de bibleteek foar PKCS#11-stipe en in wrapper oer de bibleteek is. , dy't ark biedt foar kommunikaasje mei tokens oer USB (FIDO U2F / CTAP 1 en FIDO 2.0 / CTAP 2-protokollen wurde stipe). Intermediate bibleteek libsk-libfido2 taret troch OpenSSH-ûntwikkelders yn 'e kearn libfido2, lykas foar OpenBSD.
Om U2F yn te skeakeljen, kinne jo in nij stik fan 'e koadebase brûke fan OpenSSH en de HEAD-tûke fan 'e bibleteek , dy't al de laach omfettet dy't nedich is foar OpenSSH.
Libfido2 stipet OpenBSD, Linux, macOS en Windows.
Om in kaai te ferifiearjen en te generearjen, moatte jo de omjouwingsfariabele SSH_SK_PROVIDER ynstelle, wêryn it paad oanjout nei libsk-libfido2.so (eksportearje SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), of de biblioteek definiearje fia de SecurityKeyProvider ynstelling, en dan "ssh-keygen -t ecdsa-sk" útfiere of, as de kaaien al binne oanmakke en konfigureare, ferbine mei de tsjinner mei "ssh". As jo ssh-keygen útfiere, sil it generearre kaaipaar bewarre wurde yn "~/.ssh/id_ecdsa_sk" en kin op deselde manier brûkt wurde as oare kaaien.
De iepenbiere kaai (id_ecdsa_sk.pub) moat kopiearre wurde nei de tsjinner yn it autorisearre_keys-bestân. Oan 'e serverkant wurdt allinich de digitale hantekening ferifiearre, en ynteraksje mei tokens wurdt útfierd op' e kliïntside (jo moatte libsk-libfido2 net op 'e server ynstallearje, mar de server moat it toetstype "ecdsa-sk" stypje) . De oanmakke privee kaai (id_ecdsa_sk) is yn wêzen in kaai handgreep, foarmje in echte kaai allinnich yn kombinaasje mei de geheime folchoarder opslein op de U2F token kant.
As de id_ecdsa_sk-kaai yn 'e hannen fan in oanfaller falt, om autentikaasje troch te jaan, sil hy ek tagong moatte krije ta it hardware-token, sûnder dat de priveekaai opslein yn 'e id_ecdsa_sk-bestân nutteloos is. Derneist is standert by it útfieren fan alle operaasjes mei toetsen (sawol tidens generaasje as tidens ferifikaasje) lokale befêstiging fan 'e fysike oanwêzigens fan' e brûker fereaske, bygelyks wurdt it foarsteld om de sensor op 'e token te berikken, wat it dreech makket útfiere oanfallen op ôfstân op systemen mei in ferbûn token. As in oare line fan definsje kin in wachtwurd ek opjûn wurde yn 'e opstartfaze fan ssh-keygen om tagong te krijen ta it kaaibestân.
De U2F-kaai kin tafoege wurde oan ssh-agent fia "ssh-add ~/.ssh/id_ecdsa_sk", mar ssh-agent moat boud wurde mei stipe foar "ecdsa-sk"-kaaien, de libsk-libfido2-laach moat oanwêzich wêze en de agent moat rinne op it systeem, wêrmei it token is ferbûn.
In nij kaaitype "ecdsa-sk" is tafoege sûnt it formaat fan OpenSSH ecdsa-kaaien ferskilt fan it U2F-formaat foar ECDSA digitale hantekeningen yn 'e oanwêzigens fan ekstra fjilden.
Boarne: opennet.ru
