OpenSSH ajoute sipò pou otantifikasyon inivèsèl de faktè

Nan baz kod OpenSSH la te ajoute sipò eksperimantal pou otantifikasyon de faktè lè l sèvi avèk aparèy ki sipòte pwotokòl la U2F, devlope pa alyans lan Fido. U2F pèmèt kreyasyon jeton pyès ki nan konpitè a pri ki ba pou verifye prezans fizik itilizatè a, kominike avèk yo atravè USB, Bluetooth oswa NFC. Aparèy sa yo ankouraje kòm yon mwayen otantifikasyon de-faktè sou sit entènèt, yo deja sipòte pa navigatè prensipal yo epi yo pwodui pa plizyè manifaktirè, ki gen ladan Yubico, Feitian, Thetis ak Kensington.

Pou kominike avèk aparèy ki konfime prezans itilizatè a, yo te ajoute yon nouvo kalite kle nan OpenSSH "[imèl pwoteje]” (“ecdsa-sk”), ki itilize algorithm siyati dijital ECDSA (Elliptic Curve Digital Signature Algorithm) ak koub eliptik NIST P-256 ak hash SHA-256. Pwosedi pou kominike avèk tokens yo mete nan yon bibliyotèk entèmedyè, ki chaje nan yon fason ki sanble ak bibliyotèk la pou sipò PKCS#11 epi li se yon anbalaj anlè bibliyotèk la. libfido2, ki bay zouti pou kominike ak siy sou USB (pwotokòl FIDO U2F/CTAP 1 ak FIDO 2.0/CTAP 2 yo sipòte). Bibliyotèk entèmedyè libsk-libfido2 prepare pa devlopè OpenSSH enkli ladan li nan libfido2 debaz la, osi byen ke chofè HID pou OpenBSD.

Pou pèmèt U2F, ou ka itilize yon nouvo tranch nan kodbaz la depo OpenSSH ak branch HEAD nan bibliyotèk la libfido2, ki deja gen ladan kouch ki nesesè pou OpenSSH.
Libfido2 sipòte OpenBSD, Linux, macOS ak Windows.

Pou otantifye ak jenere yon kle, ou bezwen mete varyab anviwònman SSH_SK_PROVIDER la, ki endike nan li chemen ki mennen nan libsk-libfido2.so (ekspòtasyon SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), oswa defini bibliyotèk la atravè SecurityKeyProvider la. anviwònman, ak Lè sa a, kouri "ssh-keygen -t ecdsa-sk" oswa, si kle yo te deja kreye ak konfigirasyon, konekte ak sèvè a lè l sèvi avèk "ssh". Lè ou kouri ssh-keygen, pè kle ki pwodwi a pral sove nan "~/.ssh/id_ecdsa_sk" epi yo ka itilize menm jan ak lòt kle.

Kle piblik la (id_ecdsa_sk.pub) ta dwe kopye sou sèvè a nan fichye authorized_keys. Sou bò sèvè a, se sèlman siyati dijital la verifye, epi entèraksyon ak marqueur fèt sou bò kliyan (ou pa bezwen enstale libsk-libfido2 sou sèvè a, men sèvè a dwe sipòte kalite kle "ecdsa-sk"). . Kle prive pwodwi a (id_ecdsa_sk) se esansyèlman yon manch kle, fòme yon kle reyèl sèlman nan konbinezon ak sekans sekrè ki estoke sou bò siy U2F.

Si kle id_ecdsa_sk tonbe nan men yon atakè, pou pase otantifikasyon li pral bezwen tou jwenn aksè nan siy pyès ki nan konpitè, san yo pa kle prive ki estoke nan fichye id_ecdsa_sk la pa itil. Anplis de sa, pa default, lè w ap fè nenpòt operasyon ak kle (tou de pandan jenerasyon ak pandan otantifikasyon), konfimasyon lokal yo nan prezans fizik itilizatè a obligatwa, pou egzanp, li pwopoze manyen Capteur a sou siy la, ki fè li difisil a. pote soti nan atak aleka sou sistèm ki gen yon siy konekte. Kòm yon lòt liy defans, yo ka espesifye yon modpas tou pandan faz demaraj ssh-keygen pou jwenn aksè nan dosye kle a.

Ou ka ajoute kle U2F nan ssh-agent atravè "ssh-add ~/.ssh/id_ecdsa_sk", men ssh-agent dwe bati ak sipò pou kle "ecdsa-sk", kouch libsk-libfido2 dwe prezan ak ajan dwe ap kouri sou sistèm lan, ak ki siy la konekte.
Yon nouvo tip kle "ecdsa-sk" te ajoute depi fòma kle OpenSSH ecdsa diferan de fòma U2F pou siyati dijital ECDSA an prezans jaden adisyonèl.

Sous: opennet.ru

Add nouvo kòmantè