В OpenSSH добавлена поддержка универсальной двухфакторной аутентификации

В кодовую базу OpenSSH ထပ်ပြောသည်။ экспериментальная поддержка двухфакторной аутентификации с использованием устройств, поддерживающих протокол U2Fမဟာမိတ်အဖွဲ့မှတီထွင်ခဲ့သည်။ Fido. U2F သည် သင့်အား USB၊ Bluetooth သို့မဟုတ် NFC မှတစ်ဆင့် အပြန်အလှန်တုံ့ပြန်မှုပြုလုပ်သည့် အသုံးပြုသူ၏ရုပ်ပိုင်းဆိုင်ရာတည်ရှိမှုကို အတည်ပြုရန် ကုန်ကျစရိတ်နည်းသော ဟာ့ဒ်ဝဲတိုကင်များကို ဖန်တီးနိုင်စေသည်။ ဤစက်ပစ္စည်းများကို ဝဘ်ဆိုက်များပေါ်ရှိ two-factor authentication ၏နည်းလမ်းအဖြစ် မြှင့်တင်ထားပြီး၊ အဓိကဘရောက်ဆာများက ပံ့ပိုးထားပြီး၊ Yubico၊ Feitian၊ Thetis နှင့် Kensington အပါအဝင် ထုတ်လုပ်သူအမျိုးမျိုးမှ ရရှိနိုင်ပါသည်။

Для взаимодействия с устройствами, подтверждающими присутствие пользователя, в OpenSSH добавлен новый тип ключей «[အီးမေးလ်ကိုကာကွယ်ထားသည်]» («ecdsa-sk»), в котором используется алгоритм цифровой подписи ECDSA (Elliptic Curve Digital Signature Algorithm) с эллиптической кривой NIST P-256 и хэшем SHA-256. Процедуры взаимодействия с токенами вынесены в промежуточную библиотеку, которая загружается по аналогии с библиотекой для поддержки PKCS#11 и является обвязкой над библиотекой libfido2USB မှတဆင့် တိုကင်များနှင့် ဆက်သွယ်ခြင်းအတွက် နည်းလမ်းများ (FIDO U2F/CTAP 1 နှင့် FIDO 2.0/CTAP 2 ပရိုတိုကောများကို ပံ့ပိုးသည်)။ OpenSSH developer များ၊ အလယ်အလတ်စာကြည့်တိုက် libsk-libfido2 မှ ပြင်ဆင်ထားသည်။ ပါဝင်သည် ကဲ့သို့သော libfido2 ၏အဓိကဖွဲ့စည်းမှုသို့ HID ယာဉ်မောင်း OpenBSD အတွက်

Для включения U2F можно использовать свежий срез кодовой базы из သိုလှောင်မှု OpenSSH и HEAD-ветку библиотеки libfido2, в которую уже входит необходимая для OpenSSH прослойка.
Libfido2 поддерживает работу в OpenBSD, Linux, macOS и Windows.

Для аутентификации и генерации ключа необходимо выставить переменную окружения SSH_SK_PROVIDER, указав в ней путь к libsk-libfido2.so (export 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) следует скопировать на сервер в файл authorized_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» добавлен так как формат ecdsa-ключей OpenSSH отличается от формата U2F для цифровых подписей ECDSA наличием дополнительных полей.

source: opennet.ru

မှတ်ချက် Add