OpenSSH dia manampy fanohanana ho an'ny fanamarinana roa-antony

Ao amin'ny OpenSSH codebase nanampy fanohanana andrana ho an'ny fanamarinana roa lafin-javatra mampiasa fitaovana izay manohana ny protocol U2F, novolavolain'ny alliance FIDO. U2F dia mamela ny famoronana mari-pamantarana fitaovana mora vidy mba hanamarina ny fisian'ny mpampiasa, mifandray amin'izy ireo amin'ny alΓ lan'ny USB, Bluetooth na NFC. Ny fitaovana toy izany dia ampiroboroboina ho toy ny fomba fanamarinana roa amin'ny tranokala, efa tohanan'ny navigateur lehibe ary novokarin'ny mpanamboatra isan-karazany, anisan'izany ny Yubico, Feitian, Thetis ary Kensington.

Mba hifaneraserana amin'ireo fitaovana manamafy ny fisian'ny mpampiasa, dia nampiana karazana fanalahidy vaovao ao amin'ny OpenSSH "[email voaaro]” (β€œecdsa-sk”), izay mampiasa ny ECDSA (Elliptic Curve Digital Signature Algorithm) algorithm sonia nomerika miaraka amin'ny NIST P-256 elliptic curve sy SHA-256 hash. Ny fomba fifaneraserana amin'ny mari-pamantarana dia apetraka ao amin'ny tranomboky mpanelanelana, izay mipetaka amin'ny fomba mitovy amin'ny tranomboky ho an'ny fanohanan'ny PKCS#11 ary fonosina eo an-tampon'ny tranomboky. libfido2, izay manome fitaovana hifandraisana amin'ny famantarana amin'ny USB (FIDO U2F/CTAP 1 sy FIDO 2.0/CTAP 2 protocols dia tohanana). Tranomboky intermediate libsk-libfido2 nomanin'ny mpamorona OpenSSH tafiditra ao amin'ny libfido2 fototra, ary koa mpamily HID ho an'ny OpenBSD.

Mba hahafahan'ny U2F dia azonao atao ny mampiasa ampahany vaovao amin'ny codebase avy amin'ny repository OpenSSH sy ny sampana HEAD amin'ny tranomboky libfido2, izay efa misy ny sosona ilaina amin'ny OpenSSH.
Libfido2 dia manohana ny OpenBSD, Linux, macOS ary Windows.

Mba hanamarinana sy hamorona fanalahidy dia mila mametraka ny fari-piainan'ny tontolo iainana SSH_SK_PROVIDER ianao, manondro ao ny lalana mankany amin'ny libsk-libfido2.so (manondrana SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), na mamaritra ny tranomboky amin'ny alalan'ny SecurityKeyProvider setup, ary avy eo dia mandehana "ssh- keygen -t ecdsa-sk" na, raha toa ka efa noforonina sy namboarina ny fanalahidy, mifandray amin'ny mpizara mampiasa "ssh". Rehefa mihazakazaka ssh-keygen ianao, dia ho voatahiry ao amin'ny "~/.ssh/id_ecdsa_sk" ny mpivady fanalahidy vokarina ary azo ampiasaina mitovy amin'ny fanalahidy hafa.

Ny fanalahidin'ny daholobe (id_ecdsa_sk.pub) dia tokony adika amin'ny mpizara ao amin'ny rakitra authorized_keys. Amin'ny lafiny server, ny sonia nomerika ihany no voamarina, ary ny fifandraisana amin'ny famantarana dia atao amin'ny lafiny mpanjifa (tsy mila mametraka libsk-libfido2 amin'ny server ianao, fa ny mpizara dia tsy maintsy manohana ny karazana fanalahidy "ecdsa-sk") . Ny lakile tsy miankina (id_ecdsa_sk) dia tena fehezin'ny lakile, izay mamorona fanalahidy tena izy raha tsy miaraka amin'ny filaharana miafina voatahiry amin'ny lafiny famantarana U2F.

Raha toa ka latsaka eo am-pelatanan'ny mpanafika ny famaha id_ecdsa_sk, dia mila miditra amin'ny token'ny hardware ihany koa izy, raha tsy misy ny fanalahidy manokana voatahiry ao amin'ny rakitra id_ecdsa_sk. Ankoatr'izay, amin'ny alΓ lan'ny default, rehefa manao asa miaraka amin'ny fanalahidy (na mandritra ny famokarana na mandritra ny fanamarinana), dia ilaina ny fanamafisana eo an-toerana ny fisian'ny vatan'ny mpampiasa, ohatra, soso-kevitra ny hikasika ny sensor amin'ny famantarana, izay manasarotra ny fametrahana azy. manaova fanafihana lavitra amin'ny rafitra misy famantarana mifandray. Amin'ny maha tsipika fiarovana iray hafa, ny tenimiafina dia azo faritana ihany koa mandritra ny dingana fanombohana ny ssh-keygen mba hidirana amin'ny rakitra fanalahidy.

Ny fanalahidy U2F dia azo ampiana amin'ny ssh-agent amin'ny alΓ lan'ny "ssh-add ~/.ssh/id_ecdsa_sk", fa ny ssh-agent dia tsy maintsy aorina miaraka amin'ny fanohanana ny fanalahidy "ecdsa-sk", tsy maintsy misy ny layer libsk-libfido2 ary ny Ny agent dia tsy maintsy mandeha amin'ny rafitra, izay mifandray amin'ny famantarana.
Karazana fanalahidy vaovao "ecdsa-sk" dia nampiana satria ny endrika OpenSSH ecdsa dia tsy mitovy amin'ny endrika U2F ho an'ny sonia nomerika ECDSA raha misy saha fanampiny.

Source: opennet.ru

Add a comment