OpenSSH нь бүх нийтийн хоёр хүчин зүйлийн баталгаажуулалтыг дэмждэг

OpenSSH кодын сан руу нэмсэн протоколыг дэмждэг төхөөрөмжүүдийг ашиглан хоёр хүчин зүйлийн баталгаажуулалтын туршилтын дэмжлэг U2F, холбооноос боловсруулсан ФИДО. U2F нь USB, Bluetooth эсвэл NFC-ээр дамжуулан хэрэглэгчийн биет байгаа эсэхийг шалгах хямд техник хангамжийн жетонуудыг бий болгох боломжийг олгодог. Ийм төхөөрөмжийг вэбсайтууд дээр хоёр хүчин зүйлийн баталгаажуулалтын хэрэгсэл болгон сурталчилж, томоохон хөтөчүүд аль хэдийн дэмжсэн бөгөөд Yubico, Feitian, Thetis, Kensington зэрэг янз бүрийн үйлдвэрлэгчид үйлдвэрлэдэг.

Хэрэглэгч байгаа эсэхийг баталгаажуулах төхөөрөмжтэй харилцахын тулд OpenSSH-д шинэ төрлийн түлхүүр нэмсэн.[имэйлээр хамгаалагдсан]” (“ecdsa-sk”), NIST P-256 эллипс муруй болон SHA-256 хэш бүхий ECDSA (Elliptic Curve Digital Signature Algorithm) тоон гарын үсгийн алгоритмыг ашигладаг. Токенуудтай харилцах журмыг PKCS#11-д зориулсан номын сантай төстэй байдлаар ачаалдаг завсрын номын санд байрлуулсан бөгөөд номын сангийн дээд талд байрлах боодол юм. libfido2, энэ нь USB-ээр токенуудтай харилцах хэрэгслээр хангадаг (FIDO U2F/CTAP 1 ба FIDO 2.0/CTAP 2 протоколуудыг дэмждэг). OpenSSH хөгжүүлэгчдийн бэлтгэсэн libsk-libfido2 завсрын номын сан орсон үндсэн 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) эрх бүхий_түлхүүр файл дахь сервер рүү хуулах ёстой. Серверийн тал дээр зөвхөн тоон гарын үсгийг баталгаажуулж, токенуудтай харилцан үйлчлэлийг клиент талд гүйцэтгэдэг (та сервер дээр libsk-libfido2 суулгах шаардлагагүй, гэхдээ сервер нь "ecdsa-sk" түлхүүрийн төрлийг дэмжих ёстой) . Үүсгэсэн хувийн түлхүүр (id_ecdsa_sk) нь үндсэндээ түлхүүрийн бариул бөгөөд зөвхөн U2F жетон талд хадгалагдсан нууц дараалалтай хослуулан жинхэнэ түлхүүрийг бүрдүүлдэг.

Хэрэв id_ecdsa_sk түлхүүр халдагчийн гарт орвол танилтыг нэвтрүүлэхийн тулд тэрээр мөн тоног төхөөрөмжийн токен руу нэвтрэх шаардлагатай бөгөөд үүнгүйгээр id_ecdsa_sk файлд хадгалагдсан хувийн түлхүүр нь ашиггүй болно. Нэмж дурдахад, анхдагч байдлаар, түлхүүрүүдтэй аливаа үйлдлийг хийхдээ (үүсгэх явцад болон баталгаажуулалтын үед) хэрэглэгчийн биет байгаа эсэхийг орон нутгийн баталгаажуулах шаардлагатай байдаг, жишээлбэл, жетон дээрх мэдрэгч дээр хүрэхийг санал болгодог бөгөөд энэ нь ажиллахад хэцүү болгодог. холбогдсон токен бүхий системүүд дээр алсаас халдлага хийх. Өөр нэг хамгаалалтын шугамын хувьд түлхүүр файлд хандахын тулд ssh-keygen-ийг эхлүүлэх үе шатанд нууц үгийг зааж өгч болно.

U2F түлхүүрийг "ssh-add ~/.ssh/id_ecdsa_sk"-ээр дамжуулан ssh-agent-д нэмж болох боловч ssh-agent нь "ecdsa-sk" товчлуурын дэмжлэгтэйгээр бүтээгдсэн байх ёстой, libsk-libfido2 давхарга байх ёстой бөгөөд агент нь токен холбогдсон систем дээр ажиллаж байх ёстой.
Нэмэлт талбар байгаа тохиолдолд OpenSSH ecdsa түлхүүрүүдийн формат нь ECDSA тоон гарын үсгийн U2F форматаас ялгаатай тул шинэ төрлийн "ecdsa-sk" нэмэгдсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх