OpenSSH-k bi faktore unibertsalaren autentifikaziorako laguntza gehitzen du

OpenSSH kode-basera gehitu Protokoloa onartzen duten gailuak erabiliz bi faktoreko autentifikaziorako euskarri esperimentala U2F, aliantzak garatua Fido. U2F-k kostu baxuko hardware-tokenak sortzea ahalbidetzen du, erabiltzailearen presentzia fisikoa egiaztatzeko, haiekin USB, Bluetooth edo NFC bidez elkarreragiten. Horrelako gailuak webguneetan bi faktoreko autentifikaziorako bide gisa sustatzen dira, dagoeneko arakatzaile nagusiek onartzen dituzte eta hainbat fabrikatzaileek ekoizten dituzte, Yubico, Feitian, Thetis eta Kensington barne.

Erabiltzailearen presentzia baieztatzen duten gailuekin elkarreragiteko, gako mota berri bat gehitu da OpenSSH-ra "[posta elektroniko bidez babestua]” (β€œecdsa-sk”), ECDSA (Elliptic Curve Digital Signature Algorithm) sinadura digitalaren algoritmoa erabiltzen duena NIST P-256 kurba eliptikoa eta SHA-256 hash-arekin. Tokenekin elkarreragiteko prozedurak bitarteko liburutegi batean kokatzen dira, PKCS#11 laguntzarako liburutegiaren antzera kargatzen dena eta liburutegiaren gainean bilgarri bat da. libfido2, USB bidez tokenekin komunikatzeko tresnak eskaintzen dituena (FIDO U2F/CTAP 1 eta FIDO 2.0/CTAP 2 protokoloak onartzen dira). OpenSSH garatzaileek prestatutako libsk-libfido2 bitarteko liburutegia barne core libfido2 sartu, baita HID kontrolatzailea OpenBSDrako.

U2F gaitzeko, kode-basearen zati berri bat erabil dezakezu biltegia OpenSSH eta liburutegiko HEAD adarra libfido2, dagoeneko OpenSSHrako beharrezkoa den geruza barne hartzen duena.
Libfido2-k OpenBSD, Linux, macOS eta Windows onartzen ditu.

Gako bat autentifikatu eta sortzeko, SSH_SK_PROVIDER ingurune-aldagaia ezarri behar duzu, bertan libsk-libfido2.so-rako bidea adieraziz (esportatu SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), edo liburutegia SecurityKeyProvider bidez definitu. ezarpena, eta gero exekutatu "ssh-keygen -t ecdsa-sk" edo, gakoak dagoeneko sortu eta konfiguratuta badaude, konektatu zerbitzarira "ssh" erabiliz. Ssh-keygen exekutatzen duzunean, sortutako gako-parea "~/.ssh/id_ecdsa_sk"-n gordeko da eta beste gako batzuen antzera erabil daiteke.

Gako publikoa (id_ecdsa_sk.pub) zerbitzarian kopiatu behar da authorized_keys fitxategian. Zerbitzariaren aldean, sinadura digitala bakarrik egiaztatzen da, eta tokenekin elkarreragina bezeroaren aldean egiten da (ez duzu zerbitzarian libsk-libfido2 instalatu behar, baina zerbitzariak "ecdsa-sk" gako mota onartu behar du) . Sortutako gako pribatua (id_ecdsa_sk) funtsean gako-heldulekua da, benetako gako bat osatuz soilik U2F token aldean gordetako sekuentzia sekretuarekin konbinatuta.

Id_ecdsa_sk gakoa erasotzaile baten eskuetan erortzen bada, autentifikazioa gainditzeko hardware tokenerako sarbidea ere lortu beharko du, eta hori gabe id_ecdsa_sk fitxategian gordetako gako pribatuak ez du ezertarako balio. Gainera, lehenespenez, giltzekin edozein eragiketa egitean (sorkuntzan zein autentifikazioan), erabiltzailearen presentzia fisikoaren tokiko berrespena beharrezkoa da, adibidez, tokeneko sentsorea ukitzea proposatzen da, eta horrek zaildu egiten du. token bat duten sistemetan urruneko erasoak egitea. Beste defentsa-lerro gisa, ssh-keygen abiarazteko fasean pasahitz bat ere zehaztu daiteke gako-fitxategia atzitzeko.

U2F gakoa ssh-agent-era gehi daiteke "ssh-add ~/.ssh/id_ecdsa_sk" bidez, baina ssh-agent "ecdsa-sk" gakoen laguntzarekin eraiki behar da, libsk-libfido2 geruzak egon behar du eta agenteak sisteman exekutatzen egon behar du, zeinari tokena konektatuta dagoen.
"ecdsa-sk" gako-mota berri bat gehitu da OpenSSH ecdsa gakoen formatua ECDSA sinadura digitaletarako U2F formatua desberdina denez, eremu gehigarrien aurrean.

Iturria: opennet.ru

Gehitu iruzkin berria