Az OpenSSH kódbázisba
A felhasználó jelenlétét megerősítő eszközökkel való interakcióhoz új típusú kulcsok kerültek az OpenSSH-ba.[e-mail védett]” („ecdsa-sk”), amely az ECDSA (Elliptic Curve Digital Signature Algorithm) digitális aláírási algoritmust használja NIST P-256 elliptikus görbével és SHA-256 hash-sel. A tokenekkel való interakciós eljárások egy köztes könyvtárban vannak elhelyezve, amely a PKCS#11 támogatási könyvtárhoz hasonló módon töltődik be, és egy burkoló a könyvtár tetején.
Az U2F engedélyezéséhez használhatja a kódbázis egy friss szeletét
A Libfido2 támogatja az OpenBSD-t, a Linuxot, a macOS-t és a Windows-t.
A hitelesítéshez és a kulcs generálásához be kell állítani az SSH_SK_PROVIDER környezeti változót, jelezve benne a libsk-libfido2.so elérési útját (exportálhatja az SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), vagy meg kell határoznia a könyvtárat a SecurityKeyProvideren keresztül. beállítást, majd futtassa az „ssh-keygen -t ecdsa-sk” parancsot, vagy ha a kulcsokat már létrehozta és konfigurálta, csatlakozzon a szerverhez az „ssh” használatával. Az ssh-keygen futtatásakor a generált kulcspár a „~/.ssh/id_ecdsa_sk” mappába kerül mentésre, és más kulcsokhoz hasonlóan használható.
A nyilvános kulcsot (id_ecdsa_sk.pub) át kell másolni a kiszolgálóra az Author_keys fájlban. Szerver oldalon csak a digitális aláírás ellenőrzése történik meg, a kliens oldalon a tokenekkel való interakció (nem kell telepítenie a libsk-libfido2-t a szerverre, de a szervernek támogatnia kell az „ecdsa-sk” kulcstípust) . A generált privát kulcs (id_ecdsa_sk) lényegében egy kulcsleíró, amely csak az U2F token oldalán tárolt titkos szekvenciával együtt alkot valódi kulcsot.
Ha az id_ecdsa_sk kulcs a támadó kezébe kerül, a hitelesítés átadásához hozzá kell férnie a hardveres tokenhez is, amely nélkül az id_ecdsa_sk fájlban tárolt privát kulcs használhatatlan. Ezenkívül alapértelmezés szerint a kulcsokkal végzett műveletek végrehajtása során (mind a generálás, mind a hitelesítés során) a felhasználó fizikai jelenlétének helyi megerősítése szükséges, például javasolt a tokenen lévő érzékelő megérintése, ami megnehezíti a távoli támadásokat hajthat végre csatlakoztatott tokennel rendelkező rendszerek ellen. Egy másik védelmi vonalként az ssh-keygen indítási szakaszában jelszó is megadható a kulcsfájl eléréséhez.
Az U2F kulcs hozzáadható az ssh-agenthez az "ssh-add ~/.ssh/id_ecdsa_sk" paranccsal, de az ssh-agentnek az "ecdsa-sk" kulcsok támogatásával kell felépíteni, a libsk-libfido2 rétegnek jelen kell lennie, és a ügynöknek futnia kell azon a rendszeren, amelyhez a token csatlakozik.
Egy új „ecdsa-sk” kulcstípus került hozzáadásra, mivel az OpenSSH ecdsa kulcsok formátuma további mezők jelenlétében eltér az ECDSA digitális aláírások U2F formátumától.
Forrás: opennet.ru