Menyang basis kode OpenSSH
Kanggo sesambungan karo piranti sing konfirmasi ananΓ© pangguna, jinis tombol anyar wis ditambahake menyang OpenSSH "[email dilindhungi]β (βecdsa-skβ), sing nggunakake algoritma tandha digital ECDSA (Elliptic Curve Digital Signature Algorithm) kanthi kurva eliptik NIST P-256 lan hash SHA-256. Tata cara kanggo sesambungan karo token diselehake ing perpustakaan penengah, kang dimuat ing cara sing padha kanggo perpustakaan kanggo PKCS # 11 support lan pambungkus ing ndhuwur perpustakaan.
Kanggo ngaktifake U2F, sampeyan bisa nggunakake irisan seger saka codebase saka
Libfido2 ndhukung OpenBSD, Linux, macOS lan Windows.
Kanggo keasliane lan ngasilake kunci, sampeyan kudu nyetel variabel lingkungan SSH_SK_PROVIDER, nuduhake ing dalan menyang libsk-libfido2.so (ekspor SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), utawa nemtokake perpustakaan liwat SecurityKeyProvider. setelan, banjur mbukak "ssh- keygen -t ecdsa-sk" utawa, yen tombol wis digawe lan diatur, nyambung menyang server nggunakake "ssh". Nalika sampeyan mbukak ssh-keygen, pasangan tombol kui bakal disimpen ing "~/.ssh/id_ecdsa_sk" lan bisa digunakake padha kanggo tombol liyane.
Kunci umum (id_ecdsa_sk.pub) kudu disalin menyang server ing file authorized_keys. Ing sisih server, mung tandha digital sing diverifikasi, lan interaksi karo token ditindakake ing sisih klien (sampeyan ora perlu nginstal libsk-libfido2 ing server, nanging server kudu ndhukung jinis kunci "ecdsa-sk") . Key pribadi kui (id_ecdsa_sk) iku ateges nangani tombol, mbentuk tombol nyata mung ing kombinasi karo urutan rahasia disimpen ing sisih token U2F.
Yen kunci id_ecdsa_sk tiba ing tangan panyerang, kanggo ngliwati otentikasi, dheweke uga kudu entuk akses menyang token hardware, tanpa kunci pribadi sing disimpen ing file id_ecdsa_sk ora ana gunane. Kajaba iku, kanthi gawan, nalika nindakake operasi apa wae kanthi tombol (loro sajrone generasi lan sajrone otentikasi), konfirmasi lokal saka ngarsane fisik pangguna dibutuhake, contone, diusulake kanggo ndemek sensor ing token, sing nggawe angel nindakake serangan remot ing sistem kanthi token sing disambungake. Minangka baris pertahanan liyane, sandhi uga bisa ditemtokake nalika fase wiwitan ssh-keygen kanggo ngakses file kunci.
Tombol U2F bisa ditambahake menyang ssh-agent liwat "ssh-add ~/.ssh/id_ecdsa_sk", nanging ssh-agent kudu dibangun kanthi dhukungan kanggo tombol "ecdsa-sk", lapisan libsk-libfido2 kudu ana lan agen kudu mlaku ing sistem, sing token disambungake.
Jinis kunci anyar "ecdsa-sk" wis ditambahake amarga format tombol ecdsa OpenSSH beda karo format U2F kanggo teken digital ECDSA nalika ana lapangan tambahan.
Source: opennet.ru