OpenSSH ji bo piştrastkirina du-faktorê gerdûnî piştgirî zêde dike

Ji bo bingeha koda OpenSSH zêde kirin Piştgiriya ceribandinê ya ji bo piştrastkirina du-faktorî bi karanîna amûrên ku protokolê piştgirî dikin U2F, ji hêla hevpeymaniyê ve hatî pêşxistin Fido. U2F destûrê dide afirandina tokenên hardware yên kêm-mesref ku hebûna fîzîkî ya bikarhêner verast bike, bi wan re bi USB, Bluetooth an NFC re têkilî daynin. Amûrên weha wekî navgînek rastkirina du-faktorî li ser malperan têne pêşve xistin, berê ji hêla gerokên mezin ve têne piştgirî kirin û ji hêla hilberînerên cihêreng ve têne hilberandin, di nav de Yubico, Feitian, Thetis û Kensington.

Ji bo ku bi cîhazên ku hebûna bikarhêner piştrast dikin re têkilî daynin, celebek nû ya mifteyê li OpenSSH hate zêdekirin "[email parastî]” (“ecdsa-sk”), ku algorîtmaya îmzaya dîjîtal ECDSA (Algorîtmaya Îmzeya Dîjîtal a Curve Elliptîk) bi NIST P-256 kevroşka elîptîk û hash SHA-256 bikar tîne. Pêvajoyên danûstandina bi tokenan re di pirtûkxaneyek navîn de têne danîn, ku ji bo piştgirîya PKCS#11 bi heman rengî pirtûkxaneyê tê barkirin û li ser pirtûkxaneyê pêçek e. libfido2, ku ji bo danûstendina bi nîşanekan li ser USB-ê amûran peyda dike (protokolên FIDO U2F/CTAP 1 û FIDO 2.0/CTAP 2 têne piştgirî kirin). Pirtûkxaneya navîn libsk-libfido2 ji hêla pêşdebirên OpenSSH ve hatî amadekirin tê de nav libfido2 ya bingehîn, her weha ajokerê HID ji bo OpenBSD.

Ji bo çalakkirina U2F, hûn dikarin perçeyek nû ya bingeha kodê bikar bînin depo OpenSSH û şaxa HEAD ya pirtûkxaneyê libfido2, ku jixwe qata ku ji bo OpenSSH hewce ye dihewîne.
Libfido2 OpenBSD, Linux, macOS û Windows piştgirî dike.

Ji bo verastkirin û hilberandina miftekê, hûn hewce ne ku guhêrbara jîngehê SSH_SK_PROVIDER saz bikin, ku tê de riya libsk-libfido2.so destnîşan bike (SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), an jî pirtûkxaneyê bi navgîniya SecurityKeyProvider diyar bike. mîhengê bike, û dûv re "ssh- keygen -t ecdsa-sk" bimeşîne an jî, heke bişkok berê hatine afirandin û mîheng kirin, bi karanîna "ssh" bi serverê ve girêdin. Dema ku hûn ssh-keygen-ê dimeşînin, cotê mifteya hatî çêkirin dê di "~/.ssh/id_ecdsa_sk" de were hilanîn û dikare mîna bişkokên din were bikar anîn.

Divê mifteya gelemperî (id_ecdsa_sk.pub) di pelê autorized_keys de li serverê were kopî kirin. Li aliyê serverê, tenê îmzeya dîjîtal tê verast kirin, û danûstendina bi nîşanan re li ser milê xerîdar tê kirin (hûn ne hewce ne ku libsk-libfido2 li ser serverê saz bikin, lê server divê celebê mifteya "ecdsa-sk" piştgirî bike) . Mifteya taybet a hilberandî (id_ecdsa_sk) bi bingehîn destekek mifteyê ye, ku tenê bi rêzika nehênî ya ku li alîyê nîşana U2F hatî hilanîn, mifteyek rastîn pêk tîne.

Ger mifteya id_ecdsa_sk bikeve destê êrîşkerek, ji bo ku erêkirinê derbas bike ew ê jî hewce bike ku bigihîje tokena hardware, bêyî ku mifteya taybet a ku di pelê id_ecdsa_sk de hatî hilanîn bêkêr e. Digel vê yekê, bi xwerû, dema ku bi bişkokan re operasyonek tê kirin (hem di dema nifşkirinê de û hem jî di dema erêkirinê de), pejirandina herêmî ya hebûna laşî ya bikarhêner hewce ye, mînakî, tê pêşniyar kirin ku meriv senzorê li ser tokenê bi dest bixe, ku ev yek dijwar dike. êrîşên ji dûr ve li ser pergalên bi tokenek girêdayî pêk bînin. Wekî xetek din a parastinê, şîfreyek jî dikare di qonaxa destpêkirina ssh-keygen de were destnîşankirin da ku bigihîje pelê mifteyê.

Mifteya U2F dikare bi "ssh-add ~/.ssh/id_ecdsa_sk" li ssh-agent were zêdekirin, lê divê ssh-agent bi piştgirîya bişkokên "ecdsa-sk" were çêkirin, divê qata libsk-libfido2 hebe û ajan divê li ser pergala ku token pê ve girêdayî ye were xebitandin.
Cûreyek mifteya nû "ecdsa-sk" hate zêdekirin ji ber ku formata bişkojkên OpenSSH ecdsa ji forma U2F ji bo îmzeyên dîjîtal ECDSA di hebûna qadên zêde de cûda dibe.

Source: opennet.ru

Add a comment