OpenSSH e eketsa tšehetso bakeng sa netefatso ea lintlha tse peli

Ho OpenSSH codebase eketsoe tšehetso ea liteko bakeng sa netefatso ea lintlha tse peli ho sebelisa lisebelisoa tse tšehetsang protocol U2F, e ntlafalitsoeng ke selekane FIDO. U2F e lumella ho theha li-tokens tsa theko e tlase ho netefatsa boteng ba 'mele ba mosebelisi, ho sebelisana le bona ka USB, Bluetooth kapa NFC. Lisebelisoa tse joalo li khothalletsoa e le mokhoa oa ho netefatsa lintlha tse peli ho liwebsaete, li se li ntse li tšehetsoa ke li-browser tse kholo 'me li hlahisoa ke bahlahisi ba sa tšoaneng, ho akarelletsa le Yubico, Feitian, Thetis le Kensington.

Ho sebelisana le lisebelisoa tse netefatsang boteng ba mosebelisi, mofuta o mocha oa linotlolo o kentsoe ho OpenSSH "[imeile e sirelelitsoe]” (“ecdsa-sk”), e sebelisang ECDSA (Elliptic Curve Digital Signature Algorithm) algorithm ea signature ea dijithale e nang le NIST P-256 elliptic curve le SHA-256 hash. Mekhoa ea ho sebelisana le li-tokens e behiloe laeboraring e bohareng, e laetsoeng ka mokhoa o ts'oanang ho laeborari bakeng sa tšehetso ea PKCS#11 mme ke sephutheloana ka holim'a laeborari. libfido2, e fanang ka lisebelisoa tsa ho buisana le li-tokens ka holim'a USB (liprothokholo tsa FIDO U2F/CCAP 1 le FIDO 2.0/CCAP 2 lia tšehetsoa). Laeborari ea mahareng ea libsk-libfido2 e lokiselitsoeng ke baetsi ba OpenSSH kenyellelitsoe ho ea mantlha libfido2, hammoho le HID mokhanni bakeng sa OpenBSD.

Ho nolofalletsa U2F, o ka sebelisa selae se secha sa codebase ho tloha polokelo OpenSSH le lekala la HEAD la laeborari libfido2, e seng e kenyelletsa lera le hlokahalang bakeng sa OpenSSH.
Libfido2 e tšehetsa OpenBSD, Linux, macOS le Windows.

Ho netefatsa le ho hlahisa senotlolo, o hloka ho seta mofuta oa SSH_SK_PROVIDER oa tikoloho, o bonts'a tsela ea libsk-libfido2.so (export SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), kapa hlalosa laeborari ka SecurityKeyProvider. setting, ebe o matha "ssh- keygen -t ecdsa-sk" kapa, haeba linotlolo li se li entsoe le ho hlophisoa, hokela ho seva u sebelisa "ssh". Ha o sebelisa ssh-keygen, konopo e hlahisitsoeng e tla bolokoa ho "~/.ssh/id_ecdsa_sk" 'me e ka sebelisoa ka mokhoa o ts'oanang le linotlolo tse ling.

Senotlolo sa sechaba (id_ecdsa_sk.pub) se lokela ho kopitsoa ho seva ho file ea authorized_keys. Ka lehlakoreng la seva, ho netefalitsoe feela signature ea dijithale, 'me ho sebelisana le li-tokens ho etsoa ka lehlakoreng la bareki (ha ho hlokahale hore u kenye libsk-libfido2 ho seva, empa seva se tlameha ho tšehetsa mofuta oa senotlolo sa "ecdsa-sk") . Senotlolo sa lekunutu se hlahisitsoeng (id_ecdsa_sk) ha e le hantle ke senotlolo sa senotlolo, se etsa senotlolo sa 'nete se kopantsoeng le tatellano ea lekunutu e bolokiloeng ka lehlakoreng la matšoao a U2F.

Haeba senotlolo sa id_ecdsa_sk se oela matsohong a mohlaseli, ho fetisa bopaki o tla boela a hloke ho fumana token ea hardware, ntle le hore senotlolo sa poraefete se bolokiloeng faeleng ea id_ecdsa_sk ha se na thuso. Ho phaella moo, ka nako e sa lekanyetsoang, ha ho etsoa ts'ebetso leha e le efe ka linotlolo (ka bobeli nakong ea moloko le nakong ea ho netefatsa), ho hlokahala tiiso ea sebaka sa boteng ba 'mele ea mosebedisi, mohlala, ho etsoa tlhahiso ea ho ama sensor ho letšoao, e leng se etsang hore ho be thata ho etsa litlhaselo tse ka thōko ho litsamaiso tse nang le letšoao le amanang. Joalo ka mokhoa o mong oa ts'ireletso, password e ka boela ea hlalosoa nakong ea mohato oa ho qala oa ssh-keygen ho fihlella faele ea bohlokoa.

Senotlolo sa U2F se ka eketsoa ho ssh-agent ka "ssh-add ~/.ssh/id_ecdsa_sk", empa ssh-agent e tlameha ho hahuoa ka ts'ehetso ea linotlolo tsa "ecdsa-sk", lera la libsk-libfido2 le tlameha ho ba teng. moemeli o tlameha ho sebetsa ho sistimi , eo letšoao le hokahaneng ho eona.
Ho ekelitsoe mofuta o mocha oa senotlolo "ecdsa-sk" kaha sebopeho sa linotlolo tsa OpenSSH ecdsa se fapana le sebopeho sa U2F bakeng sa mesaeno ea dijithale ea ECDSA ka boteng ba likarolo tse ling.

Source: opennet.ru

Eketsa ka tlhaloso