OpenSSH ma już początkową obsługę uwierzytelniania dwuskładnikowego

OpenSSH A2F

OpenSSH zestaw aplikacji, które umożliwiają szyfrowaną komunikację przez sieć, używając protokołu SSH dodano eksperymentalną obsługę uwierzytelniania dwuskładnikowego do swojej bazy kodu, używając urządzeń obsługujących protokół U2F opracowany przez sojusz FIDO.

Dla nieświadomych U2F, powinni to wiedzieć, jest to otwarty standard tworzenia tanich sprzętowych tokenów zabezpieczających. Są to z łatwością najtańszy sposób na uzyskanie przez użytkowników pary kluczy z zabezpieczeniem sprzętowym i istnieje spora gama producentów którzy je sprzedają, w tyms Yubico, Feitian, Thetis i Kensington.

Klucze wspierane sprzętowo mają tę zaletę, że są znacznie trudniejsze do kradzieży: atakujący zazwyczaj musi ukraść fizyczny token (lub przynajmniej stały do ​​niego dostęp), aby ukraść klucz.

Ponieważ istnieje wiele sposobów komunikowania się z urządzeniami U2F, w tym USB, Bluetooth i NFC, nie chcieliśmy ładować OpenSSH z mnóstwem zależności. Zamiast tego przekazaliśmy zadanie komunikacji z tokenami małej Biblioteka oprogramowania pośredniego, która ładuje się w łatwy sposób, podobna do istniejącej obsługi PKCS # 11.

OpenSSH ma teraz eksperymentalną obsługę U2F / FIDO, z U2F jest dodawany jako nowy typ klucza sk-ecdsa-sha2-nistp256@openssh.com lub «ecdsa-sk„W skrócie („ sk ”oznacza„ klucz bezpieczeństwa ”).

Procedury interakcji z tokenami zostały przeniesione do biblioteki pośredniej, który jest ładowany analogicznie do biblioteki obsługującej PKCS # 11 i stanowi łącze do biblioteki libfido2, która zapewnia środki do komunikacji z tokenami przez USB (FIDO U2F / CTAP 1 i FIDO 2.0 / CTAP 2).

Biblioteka średniozaawansowany libsk-libfido2 przygotowany przez programistów OpenSSH jest zawarty w jądrze libfido2, a także sterownik HID dla OpenBSD.

Aby włączyć U2F, można użyć nowej części kodu z repozytorium OpenSSH oraz gałąź HEAD biblioteki libfido2, która zawiera już niezbędną warstwę dla OpenSSH. Libfido2 obsługuje pracę na OpenBSD, Linux, macOS i Windows.

Napisaliśmy podstawowe oprogramowanie pośredniczące dla libfido2 Yubico, które może komunikować się z dowolnym standardowym tokenem USB HID U2F lub FIDO2. Oprogramowanie pośredniczące. Źródło jest hostowane w drzewie libfido2, więc zbudowanie go i OpenSSH HEAD wystarczy, aby zacząć

Klucz publiczny (id_ecdsa_sk.pub) musi zostać skopiowany na serwer w pliku Authorized_keys. Po stronie serwera weryfikowany jest tylko podpis cyfrowy, a interakcja z tokenami odbywa się po stronie klienta (libsk-libfido2 nie musi być instalowane na serwerze, ale serwer musi obsługiwać typ klucza „ecdsa-sk”).

Wygenerowany klucz prywatny (ecdsa_sk_id) jest zasadniczo deskryptorem klucza, który tworzy rzeczywisty klucz tylko w połączeniu z sekretną sekwencją przechowywaną po stronie tokena U2F.

Jeśli klucz ecdsa_sk_id wpadnie w ręce atakującego, w celu uwierzytelnienia będzie również musiał uzyskać dostęp do tokena sprzętowego, bez którego klucz prywatny przechowywany w pliku id_ecdsa_sk jest bezużyteczny.

Ponadto, domyślnie, gdy wykonywane są kluczowe operacje (zarówno podczas generowania, jak i uwierzytelniania), wymagane jest lokalne potwierdzenie fizycznej obecności użytkownikaPrzykładowo sugeruje się dotknięcie sensora na tokenie, co utrudnia wykonanie zdalnych ataków na systemy z podłączonym tokenem.

W początkowej fazie ssh-keygen, można również ustawić inne hasło aby uzyskać dostęp do pliku za pomocą klucza.

Klucz U2F można dodać do ssh-agent przez „ssh-add ~/.ssh/id_ecdsa_sk", ale ssh-agent musi być skompilowany z obsługą kluczy ecdsa-sk, warstwa libsk-libfido2 musi być obecna, a agent musi być uruchomiony w systemie, do którego jest dołączony token.

Dodano nowy typ klucza ecdsa-sk od formatu klucza ekdsa OpenSSH różni się od formatu U2F dla podpisów cyfrowych ECDSA przez obecność dodatkowych pól.

Jeśli chcesz dowiedzieć się więcej na ten temat możesz się skonsultować poniższy link. 


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.