Prijava v sistem Windows z avtentikacijo s pametno kartico PIV#

Ta dokument pojasnjuje, kako ročno zagotoviti funkcijo PIV prijave s pametno kartico Nitrokey 3 for Windows s ključem in potrdilom.

V prihodnosti bo to ročno zagotavljanje mogoče avtomatizirati z mini gonilnikom Windows.

Opozorilo

Funkcija PIV naprave Nitrokey 3 trenutno velja za nestabilno in ni na voljo v stabilnih izdajah vdelane programske opreme. Za pridobitev te funkcije je treba namestiti testno vdelano programsko opremo. Kasnejše posodobitve vdelane programske opreme lahko povzročijo izgubo podatkov in kriptografskih ključev. Za več informacij glejte dokumentacijo o posodobitvi vdelane programske opreme.

Predpogoji#

  • Strežnik Windows z:

    • Aktivni imenik (navodila)

    • Organ za izdajo potrdil (CA) s predlogo potrdila za preverjanje pristnosti prijave z uporabo 2048-bitnih ključev RSA:

  • Uporabniški računalnik s sistemom Windows, ki je vključen v domeno strežnika.

  • Nitrokey 3 s PIV

  • Sistem Linux z nameščenim pivy in PCSCD (sudo apt install pcscd), da zagotovite Nitrokey (korak 1, 2 in 4). Namesto ločenega sistema Linux lahko namestite WSL v sistem Windows. Upoštevajte, da morate pred uporabo pivy praktično priključiti ključ Nitrokey na WSL in zagnati PCSCD (sudo service start pcscd).

1: Ustvarite ključ v napravi Nitrokey#

Ključ se ustvari v reži 9A (preverjanje pristnosti).

pivy-tool -a rsa2048 generate 9A

Opomba

Če skrbniški ključ ni privzeti, ga lahko določite s -A 3des -K 010203040506070801020304050607080102030405060708 . Argument za -A je lahko tudi aes256, argument za -K pa je ključ v šestnajstiški obliki.

Uporabniški PIN lahko določite tudi z -P 123456 ali -P <value>, če ni privzet. Če -P ni naveden, bo po generiranju ključa zahtevan.

To velja za vse ukaze pivy-tool.

Ta korak lahko pri ključih RSA traja nekaj minut, saj je programska izvedba počasna.

Pričakovani rezultat:

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

2: Ustvarite zahtevo za podpis potrdila (CSR)#

V tem koraku se ustvari potrdilo za ključ v reži za preverjanje pristnosti. pivy-tool -n 'Nitro Test' -u "nitro@test.nitrokey.com" -T user-auth req-cert 9A

Uporabniško ime Nitro Test in e-poštni naslov nitro@test.nitrokey.com je treba spremeniti v lastne vrednosti.

Pričakovani rezultat:

-----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-----

Zahtevo za podpis potrdila kopirajte v datoteko request.csr

3: Podpišite CSR#

Datoteko request.csr iz prejšnjega koraka prenesite v strežnik, ki gosti overitelja potrdil. V konzoli za predloge potrdil (certtmpl.msc ) preverite, ali lahko predloga za uporabnike sprejme imena predmetov iz zahteve:

V konzoli za predloge potrdil v parametru za predlogo potrdila za preverjanje pristnosti v zavihku "ime predmeta" preklopite možnost "oskrba v zahtevi".

Odprite program PowerShell in podpišite zahtevo za podpis potrdila s certreq.exe -attrib CertificateTemplate:Nitrotest -submit request.csr

Odpre se grafični uporabniški vmesnik, v katerem lahko izberete pravilen organ za potrjevanje, če jih je v tem strežniku več. Potrdilo shranite kot certificate.crt

4: Shranjevanje potrdila v ključu Nitrokey#

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

5: Uvoz potrdila v uporabniški račun#

Premaknite certificate.der v uporabnikovo napravo Windows in odprite upravitelja potrdil (Za uporabnika, ne za napravo):

Odprite nadzorno ploščo "Upravljanje uporabniškega potrdila".

Uvozite potrdilo:

V akcijah, vsa opravila, lahko najdete akcijo uvoza

Ko to storite, se odjavite. Prijavite se s ključem Nitrokey z uporabo „možnosti prijave“.