Դեպի OpenSSH կոդերի բազա
Օգտատիրոջ ներկայությունը հաստատող սարքերի հետ շփվելու համար OpenSSH-ում ավելացվել է նոր տեսակի ստեղներ:[էլեկտրոնային փոստով պաշտպանված]» («ecdsa-sk»), որն օգտագործում է ECDSA (Elliptic Curve Digital Signature Algorithm) թվային ստորագրության ալգորիթմը NIST P-256 էլիպսային կորով և SHA-256 հեշով: Նշանների հետ փոխազդեցության ընթացակարգերը տեղադրվում են միջանկյալ գրադարանում, որը բեռնված է գրադարանի նման PKCS#11 աջակցության համար և հանդիսանում է գրադարանի վերևի փաթաթում:
U2F-ը միացնելու համար կարող եք օգտագործել կոդերի բազայի թարմ հատվածը
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