OpenSSH ṣe afikun atilẹyin fun ijẹrisi ifosiwewe meji-gbogbo

Si ipilẹ koodu OpenSSH kun atilẹyin esiperimenta fun ijẹrisi ifosiwewe meji nipa lilo awọn ẹrọ ti o ṣe atilẹyin ilana naa U2F, ni idagbasoke nipasẹ awọn Alliance Fido. U2F ngbanilaaye ẹda ti awọn ami ohun elo iye owo kekere lati rii daju wiwa ti ara olumulo, ibaraenisepo pẹlu wọn nipasẹ USB, Bluetooth tabi NFC. Iru awọn ẹrọ bẹẹ ni igbega bi ọna ti ijẹrisi ifosiwewe meji lori awọn oju opo wẹẹbu, ti ni atilẹyin tẹlẹ nipasẹ awọn aṣawakiri pataki ati ti ṣejade nipasẹ ọpọlọpọ awọn aṣelọpọ, pẹlu Yubico, Feitian, Thetis ati Kensington.

Lati ṣe ajọṣepọ pẹlu awọn ẹrọ ti o jẹrisi wiwa olumulo, iru awọn bọtini tuntun kan ti ṣafikun si OpenSSH”[imeeli ni idaabobo]"("ecdsa-sk"), eyiti o nlo algorithm Ibuwọlu oni nọmba ECDSA (Elliptic Curve Digital Signature Algorithm) pẹlu NIST P-256 elliptic curve ati SHA-256 hash. Awọn ilana fun ibaraenisepo pẹlu awọn ami ni a gbe sinu ile-ikawe agbedemeji, eyiti o kojọpọ ni ọna ti o jọra si ile-ikawe fun atilẹyin PKCS # 11 ati pe o jẹ ipari si oke ile-ikawe naa. libfido2, eyi ti o pese awọn irinṣẹ fun ibaraẹnisọrọ pẹlu awọn ami lori USB (FIDO U2F/CTAP 1 ati awọn ilana FIDO 2.0/CTAP 2 ni atilẹyin). Ile-ikawe agbedemeji libsk-libfido2 ti a pese sile nipasẹ awọn olupilẹṣẹ OpenSSH to wa sinu libfido2 mojuto, bakannaa awakọ HID fun OpenBSD.

Lati mu U2F ṣiṣẹ, o le lo bibẹ pẹlẹbẹ tuntun ti codebase lati ibi ipamọ ṢiiSSH ati ẹka HEAD ti ile-ikawe naa libfido2, eyiti o pẹlu pẹlu Layer pataki fun OpenSSH.
Libfido2 ṣe atilẹyin OpenBSD, Linux, macOS ati Windows.

Lati ṣe ijẹrisi ati ṣe ina bọtini kan, o nilo lati ṣeto oniyipada agbegbe SSH_SK_PROVIDER, n tọka si ninu rẹ ọna si libsk-libfido2.so (ṣe okeere SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), tabi ṣalaye ile-ikawe nipasẹ Olupese SecurityKeyProvider. eto, ati lẹhinna ṣiṣẹ “ssh-keygen -t ecdsa-sk” tabi, ti awọn bọtini ba ti ṣẹda tẹlẹ ati tunto, sopọ si olupin naa nipa lilo “ssh”. Nigbati o ba nṣiṣẹ ssh-keygen, bata bọtini ti ipilẹṣẹ yoo wa ni ipamọ ni "~/.ssh/id_ecdsa_sk" ati pe o le ṣee lo bakanna si awọn bọtini miiran.

Bọtini gbogbo eniyan (id_ecdsa_sk.pub) yẹ ki o daakọ si olupin ni faili aṣẹ_keys. Ni ẹgbẹ olupin, ibuwọlu oni-nọmba nikan ni o jẹri, ati ibaraenisepo pẹlu awọn ami ni a ṣe ni ẹgbẹ alabara (iwọ ko nilo lati fi libsk-libfido2 sori olupin naa, ṣugbọn olupin naa gbọdọ ṣe atilẹyin iru bọtini “ecdsa-sk”) . Bọtini ikọkọ ti ipilẹṣẹ (id_ecdsa_sk) jẹ pataki mimu bọtini kan, ti o ṣẹda bọtini gidi kan nikan ni apapo pẹlu ọna aṣiri ti o fipamọ sori ẹgbẹ ami ami U2F.

Ti bọtini id_ecdsa_sk ba ṣubu si ọwọ ikọlu kan, lati ṣe ijẹrisi yoo tun nilo lati ni iraye si ami ohun elo, laisi eyiti bọtini ikọkọ ti o fipamọ sinu faili id_ecdsa_sk ko wulo. Ni afikun, nipasẹ aiyipada, nigbati o ba n ṣe awọn iṣẹ eyikeyi pẹlu awọn bọtini (mejeeji lakoko iran ati lakoko ijẹrisi), iṣeduro agbegbe ti wiwa ti ara olumulo ni a nilo, fun apẹẹrẹ, o dabaa lati fi ọwọ kan sensọ lori ami ami naa, eyiti o jẹ ki o nira lati gbe awọn ikọlu latọna jijin lori awọn ọna ṣiṣe pẹlu ami ti o sopọ. Gẹgẹbi laini aabo miiran, ọrọ igbaniwọle tun le ṣe pato lakoko ipele ibẹrẹ ti ssh-keygen lati wọle si faili bọtini.

Bọtini U2F le ṣe afikun si aṣoju ssh nipasẹ “ssh-add ~/.ssh/id_ecdsa_sk”, ṣugbọn aṣoju ssh gbọdọ jẹ itumọ pẹlu atilẹyin fun awọn bọtini “ecdsa-sk”, Layer libsk-libfido2 gbọdọ wa ati pe oluranlowo gbọdọ wa ni nṣiṣẹ lori awọn eto , eyi ti aami ti wa ni ti sopọ.
Iru bọtini tuntun “ecdsa-sk” ti ni afikun lati igba ti ọna kika ti awọn bọtini ecdsa OpenSSH yatọ si ọna kika U2F fun awọn ibuwọlu oni nọmba ECDSA ni iwaju awọn aaye afikun.

orisun: opennet.ru

Fi ọrọìwòye kun