Přihlášení do systému Windows pomocí ověřování čipovou kartou PIV#

Tento dokument vysvětluje, jak zajistit funkci PIV pro přihlašování pomocí čipové karty Nitrokey 3 for Windows ručně pomocí klíče a certifikátu.

V budoucnu může být toto ruční vytváření rezerv automatizováno pomocí ovladače MiniDriver systému Windows.

Varování

Funkce PIV zařízení Nitrokey 3 je v současné době považována za nestabilní a ve stabilních verzích firmwaru není k dispozici. Pro získání této funkce je nutné nainstalovat testovací firmware. Následné aktualizace firmwaru mohou vést ke ztrátě dat a kryptografických klíčů. Další informace naleznete na adrese v dokumentaci k aktualizaci firmwaru.

Předpoklady#

  • Server se systémem Windows s:

    • Active Directory (pokyny)

    • Certifikační autorita (CA) se šablonou certifikátu pro ověřování přihlášení pomocí 2048bitových klíčů RSA:

  • Uživatelský počítač se systémem Windows připojený k doméně serveru.

  • Nitrokey 3 s PIV

  • Systém Linux s nainstalovanými pivy a PCSCD (sudo apt install pcscd), pro zajištění Nitrokey (krok 1, 2 a 4). Místo samostatného systému Linux můžete nainstalovat WSL na systém Windows. Všimněte si, že před použitím pivy musíte virtuálně připojit Nitrokey k WSL a spustit PCSCD (sudo service start pcscd).

1: Vygenerujte klíč na Nitrokey#

Klíč se generuje ve slotu 9A (ověřování).

pivy-tool -a rsa2048 generate 9A

Poznámka

Pokud není klíč pro správu výchozí, lze jej zadat pomocí -A 3des -K 010203040506070801020304050607080102030405060708 . Argumentem pro -A může být také aes256 a argumentem pro -K je klíč v šestnáctkové soustavě.

Uživatelský PIN lze zadat také pomocí -P 123456 nebo -P <value>, pokud není výchozí. Pokud není zadán -P, bude po vygenerování klíče vyžádán.

To platí pro všechny příkazy pivy-tool.

Tento krok může u klíčů RSA trvat několik minut, protože čistě softwarová implementace je pomalá.

Očekávaný výstup:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKO5ENwrK3qKBAgDkyq1tfiw5JxnoCEIiM3Vc+8Eylux04r1sgjHEyqbOvpScObZuchxFZZ5LdeHynvFn3c07K4HpoZ/7NjLzUYOmlVAy4wpEwRs9psbrT6wbvHVLyffZiiSPW15HHQKcUZZ30WDunh5m7xzvY9ej810QIW/P724MFWTbRdpqmG8m1qWCUM5dqkmpiprI/WeD+VmTcQWbJJ+oyoPyxmwzGyAotl7mVC6EYdcfvyBSNQdVdGfYGxjNEec4aWxoFRg4ADfpPnYD+gLxHcj/9s7o/wdMhXRiSio1tjsEjaeuOICGLaiiLGMfLxpfEApb8qJgsEFgYl6kn PIV_slot_9A@9E424375A38449E59B3DF89D9B90E601

2: Vygenerování žádosti o podpis certifikátu (CSR)#

Tento krok vygeneruje certifikát pro klíč v ověřovacím slotu. pivy-tool -n 'Nitro Test' -u "nitro@test.nitrokey.com" -T user-auth req-cert 9A

Uživatelské jméno Nitro Test a e-mailová adresa nitro@test.nitrokey.com musí být změněny na vlastní hodnoty.

Očekávaný výstup:

-----BEGIN CERTIFICATE REQUEST-----
MIIC4DCCAcgCAQEwFTETMBEGA1UEAwwKTml0cm8gVGVzdDCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAMo7kQ3CsreooECAOTKrW1+LDknGegIQiIzdVz7w
TKW7HTivWyCMcTKps6+lJw5tm5yHEVlnkt14fKe8WfdzTsrgemhn/s2MvNRg6aVU
DLjCkTBGz2mxutPrBu8dUvJ99mKJI9bXkcdApxRlnfRYO6eHmbvHO9j16PzXRAhb
8/vbgwVZNtF2mqYbybWpYJQzl2qSamKmsj9Z4P5WZNxBZskn6jKg/LGbDMbICi2X
uZULoRh1x+/IFI1B1V0Z9gbGM0R5zhpbGgVGDgAN+k+dgP6AvEdyP/2zuj/B0yFd
GJKKjW2OwSNp644gIYtqKIsYx8vGl8QClvyomCwQWBiXqScCAwEAAaCBhTCBggYJ
KoZIhvcNAQkOMXUwczAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDAfBgNV
HSUEGDAWBggrBgEFBQcDAgYKKwYBBAGCNxQCAjAyBgNVHREEKzApoCcGCisGAQQB
gjcUAgOgGQwXbml0cm9AdGVzdC5uaXRyb2tleS5jb20wDQYJKoZIhvcNAQELBQAD
ggEBAH6XBlBmc7dQP0mt7uXOyIu8xRSYSfxKBJGjPl0IKDHWke3/4frU5C99/KS/
b9/T4JrlZa/9letjMj8hV4a+pdE0Gpxy+Ac1a9XlMki35UESOXC0JSyirBBLnNtD
qtHKtfPeQ3Csbsj57qjdqBMlWII5cz3jO9EpEG2FgxreJwY5s58KuKit01AJDIWt
GYg9P7MblEEO8iPjcFqccsPTRgU04COT6dOFZ8bGZ18UsnAVMXPOdcR7cppp8mL+
QZCyqdk1m+91rtkJPkqVUK/0o8MJj5k3Ch4ANvQEWnOabRumJaHDu4PmhsqLnQJA
eGQvuPRBmR71GRkGmqu+e1oyze8=
-----END CERTIFICATE REQUEST-----

Zkopírujte žádost o podepsání certifikátu do souboru request.csr

3: Podepište CSR#

Přesuňte soubor request.csr z předchozího kroku na server, na kterém je umístěna certifikační autorita. V konzole šablony certifikátu (certtmpl.msc ) ověřte, že šablona pro uživatele může přijímat jména subjektů z požadavku:

V konzole šablony certifikátu přepněte v parametru šablony ověřovacího certifikátu na kartě "název subjektu" možnost "poskytnout v žádosti".

Otevřete prostředí PowerShell a podepište žádost o podepsání certifikátu pomocí certreq.exe -attrib CertificateTemplate:Nitrotest -submit request.csr

Otevře se grafické rozhraní, kde můžete vybrat správnou certifikační autoritu, pokud jich je na tomto serveru více. Uložte certifikát jako certificate.crt

4: Uložení certifikátu na klíč Nitrokey#

cat certificate.der | pivy-tool write-cert 9A

5: Import certifikátu do uživatelského účtu#

Přesuňte certificate.der do uživatelského zařízení Windows a otevřete správce certifikátů (Pro uživatele, ne pro stroj):

Otevřete ovládací panel "Správa uživatelských certifikátů"

Import certifikátu:

V části Akce, všechny úlohy najdete akci importovat.

Po dokončení tohoto úkonu se odhlaste. Přihlaste se pomocí klíče Nitrokey pomocí „možností přihlášení“.