OpenSSH již má počáteční podporu pro dvoufaktorové ověřování

A2F OpenSSH

OpenSSH sada aplikací, které umožňují šifrovanou komunikaci v síti pomocí protokolu SSH přidala experimentální podporu pro dvoufaktorové ověřování do své kódové základny pomocí zařízení, která podporují protokol U2F vyvinutý aliancí FIDO.

Pro ty, kteří nevědí U2F, měli by to vědět, toto je otevřený standard pro výrobu levných hardwarových bezpečnostních tokenů. Jedná se o nejlevnější způsob, jak mohou uživatelé získat pár klíčů podporovaný hardwarem a existuje dobrá řada výrobců kdo je prodává, včetněs Yubico, Feitian, Thetis a Kensington.

Hardwarově podporované klíče nabízejí výhodu spočívající v tom, že je jejich ukradení podstatně obtížnější: útočník obvykle musí ukrást klíč, aby ukradl fyzický token (nebo alespoň trvalý přístup k němu).

Protože existuje několik způsobů, jak mluvit se zařízeními U2F, včetně USB, Bluetooth a NFC, nechtěli jsme načíst OpenSSH s množstvím závislostí. Místo toho jsme delegovali úkol komunikace s tokeny na malou knihovnu middleware, který se načítá podobně jako stávající podpora PKCS # 11.

OpenSSH má nyní experimentální podporu U2F / FIDO, s U2F je přidán jako nový typ klíče sk-ecdsa-sha2-nistp256@openssh.com nebo «ecdsa-sk"Zkrátka (" sk "znamená" bezpečnostní klíč ").

Postupy pro interakci s tokeny byly přesunuty do mezilehlé knihovny, který je načten analogicky s knihovnou pro podporu PKCS # 11 a je odkazem na knihovnu libfido2, která poskytuje prostředky pro komunikaci s tokeny přes USB (FIDO U2F / CTAP 1 a FIDO 2.0 / CTAP 2).

Knihovna intermedia libsk-libfido2 připravené vývojáři OpenSSH je součástí jádra libfido2, stejně jako ovladač HID pro OpenBSD.

Chcete-li povolit U2F, lze použít novou část kódové základny z úložiště OpenSSH a větev HEAD knihovny libfido2, která již obsahuje potřebnou vrstvu pro OpenSSH. Libfido2 podporuje práci na OpenBSD, Linuxu, macOS a Windows.

Napsali jsme základní middleware pro libubido společnosti Yubico, který je schopen mluvit s jakýmkoli standardním tokenem USB HID U2F nebo FIDO2. Middleware. Zdroj je hostován ve stromu libfido2, takže jeho sestavení a OpenSSH HEAD stačí k tomu, abyste mohli začít

Veřejný klíč (id_ecdsa_sk.pub) musí být zkopírován na server v souboru authorized_keys. Na straně serveru se ověřuje pouze digitální podpis a interakce s tokeny se provádí na straně klienta (na serveru není nutné instalovat libsk-libfido2, ale server musí podporovat typ klíče „ecdsa-sk»).

Vygenerovaný soukromý klíč (ecdsa_sk_id) je v podstatě deskriptor klíče, který tvoří skutečný klíč pouze v kombinaci s tajnou sekvencí uloženou na straně tokenu U2F.

Pokud klíč ecdsa_sk_id padne do rukou útočníka, pro ověření bude také potřebovat přístup k hardwarovému tokenu, bez kterého je soukromý klíč uložený v souboru id_ecdsa_sk k ničemu.

Navíc, ve výchozím nastavení, když jsou prováděny klíčové operace (během generování i ověřování), je vyžadováno místní potvrzení fyzické přítomnosti uživateleNapříklad se doporučuje dotknout se senzoru na tokenu, což ztěžuje provádění vzdálených útoků na systémy s připojeným tokenem.

V počáteční fázi ssh-keygen, lze nastavit i další heslo pro přístup k souboru pomocí klíče.

Klíč U2F lze přidat do ssh-agent přes "ssh-add ~/.ssh/id_ecdsa_sk", ale ssh-agent musí být sestaven s klíčovou podporou ecdsa-skmusí být přítomna vrstva libsk-libfido2 a agent musí běžet v systému, ke kterému je připojen.

Byl přidán nový typ klíče ecdsa-sk od formátu klíče ECDSA OpenSSH se liší od formátu U2F pro digitální podpisy ECDSA přítomností dalších polí.

Pokud se o tom chcete dozvědět více můžete se poradit následující odkaz. 


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.