OpenSSH-ն ավելացնում է համընդհանուր երկգործոն նույնականացման աջակցություն

Դեպի OpenSSH կոդերի բազա ավելացրել է փորձարարական աջակցություն երկու գործոնով վավերացման համար՝ օգտագործելով սարքեր, որոնք աջակցում են արձանագրությանը U2F, մշակվել է դաշինքի կողմից FIDO- ն. U2F-ը թույլ է տալիս ստեղծել էժան ապարատային թոքեններ՝ ստուգելու օգտատիրոջ ֆիզիկական ներկայությունը՝ փոխազդելով նրանց հետ USB-ի, Bluetooth-ի կամ NFC-ի միջոցով: Նման սարքերը գովազդվում են որպես երկու գործոն նույնականացման միջոց կայքերում, արդեն աջակցվում են խոշոր բրաուզերների կողմից և արտադրվում են տարբեր արտադրողների կողմից, ներառյալ Yubico-ն, Feitian-ը, Thetis-ը և Kensington-ը:

Օգտատիրոջ ներկայությունը հաստատող սարքերի հետ շփվելու համար OpenSSH-ում ավելացվել է նոր տեսակի ստեղներ:[էլեկտրոնային փոստով պաշտպանված]» («ecdsa-sk»), որն օգտագործում է ECDSA (Elliptic Curve Digital Signature Algorithm) թվային ստորագրության ալգորիթմը NIST P-256 էլիպսային կորով և SHA-256 հեշով: Նշանների հետ փոխազդեցության ընթացակարգերը տեղադրվում են միջանկյալ գրադարանում, որը բեռնված է գրադարանի նման PKCS#11 աջակցության համար և հանդիսանում է գրադարանի վերևի փաթաթում: libfido2, որն ապահովում է USB-ի միջոցով թոքենների հետ հաղորդակցվելու գործիքներ (FIDO U2F/CTAP 1 և FIDO 2.0/CTAP 2 արձանագրությունները աջակցվում են): Միջանկյալ գրադարան libsk-libfido2, պատրաստված OpenSSH մշակողների կողմից ներառված մեջ հիմնական libfido2, ինչպես նաև HID վարորդ OpenBSD-ի համար:

U2F-ը միացնելու համար կարող եք օգտագործել կոդերի բազայի թարմ հատվածը ռեպոզիտորիա OpenSSH-ը և գրադարանի HEAD մասնաճյուղը libfido2, որն արդեն ներառում է OpenSSH-ի համար անհրաժեշտ շերտը։
Libfido2-ն աջակցում է OpenBSD, Linux, macOS և Windows:

Բանալին նույնականացնելու և ստեղծելու համար անհրաժեշտ է սահմանել SSH_SK_PROVIDER միջավայրի փոփոխականը՝ դրանում նշելով դեպի libsk-libfido2.so ուղին (արտահանել SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), կամ սահմանել գրադարանը SecurityKeyProvider-ի միջոցով: կարգավորումը, այնուհետև գործարկեք «ssh- keygen -t ecdsa-sk» կամ, եթե ստեղներն արդեն ստեղծվել և կազմաձևված են, միացեք սերվերին «ssh»-ի միջոցով: Երբ գործարկում եք ssh-keygen-ը, ստեղծված բանալիների զույգը կպահվի «~/.ssh/id_ecdsa_sk»-ում և կարող է օգտագործվել այլ ստեղների նման:

Հանրային բանալին (id_ecdsa_sk.pub) պետք է պատճենվի սերվերին autorized_keys ֆայլում: Սերվերի կողմից ստուգվում է միայն թվային ստորագրությունը, իսկ նշանների հետ փոխազդեցությունը կատարվում է հաճախորդի կողմից (դուք պետք չէ սերվերի վրա տեղադրել libsk-libfido2, բայց սերվերը պետք է աջակցի «ecdsa-sk» ստեղնի տեսակը) . Ստեղծված մասնավոր բանալին (id_ecdsa_sk) ըստ էության բանալու բռնակ է, որը իրական բանալի է կազմում միայն U2F նշանի կողմում պահվող գաղտնի հաջորդականության հետ համատեղ:

Եթե ​​id_ecdsa_sk բանալին ընկնում է հարձակվողի ձեռքը, նույնականացումն անցնելու համար նա նաև պետք է մուտք գործի ապարատային նշան, առանց որի id_ecdsa_sk ֆայլում պահվող մասնավոր բանալին անօգուտ է: Բացի այդ, լռելյայնորեն, բանալիներով որևէ գործողություն կատարելիս (ինչպես գեներացման, այնպես էլ նույնականացման ընթացքում) պահանջվում է օգտատիրոջ ֆիզիկական ներկայության տեղական հաստատում, օրինակ՝ առաջարկվում է դիպչել սենսորին նշանի վրա, ինչը դժվարացնում է. իրականացնել հեռահար հարձակումներ համակարգերի վրա միացված նշանով: Որպես պաշտպանության ևս մեկ գիծ, ​​գաղտնաբառ կարող է նաև սահմանվել ssh-keygen-ի գործարկման փուլում՝ բանալին մուտք գործելու համար:

U2F բանալին կարող է ավելացվել ssh-agent-ին «ssh-add ~/.ssh/id_ecdsa_sk»-ի միջոցով, սակայն ssh-agent-ը պետք է կառուցվի «ecdsa-sk» ստեղների աջակցությամբ, libsk-libfido2 շերտը պետք է ներկա լինի, և գործակալը պետք է աշխատի համակարգում, որին միացված է նշանը:
Ավելացվել է նոր բանալի «ecdsa-sk», քանի որ OpenSSH ecdsa ստեղների ձևաչափը տարբերվում է ECDSA թվային ստորագրությունների U2F ձևաչափից՝ լրացուցիչ դաշտերի առկայության դեպքում:

Source: opennet.ru

Добавить комментарий