Prihlásenie do systému Windows pomocou overovania čipovou kartou PIV#

Tento dokument vysvetľuje, ako zabezpečiť funkciu PIV prihlásenia čipovou kartou Nitrokey 3 for Windows manuálne pomocou kľúča a certifikátu.

V budúcnosti sa toto manuálne zabezpečovanie môže automatizovať prostredníctvom ovládača Windows MiniDriver.

Varovanie

Funkcia PIV zariadenia Nitrokey 3 sa v súčasnosti považuje za nestabilnú a nie je k dispozícii v stabilných verziách firmvéru. Na získanie tejto funkcie je potrebné nainštalovať testovací firmvér. Následné aktualizácie firmvéru môžu viesť k strate údajov a kryptografických kľúčov. Viac informácií nájdete na v dokumentácii k aktualizácii firmvéru.

Predpoklady#

  • Server so systémom Windows s:

    • Active Directory (pokyny)

    • Certifikačná autorita (CA) so šablónou certifikátu na overovanie prihlásenia pomocou 2048-bitových kľúčov RSA:

      • Certifikačná autorita (pokyny)

      • Šablóna overovania (pokyny)

  • Používateľský počítač so systémom Windows pripojený k doméne servera

  • Nitrokey 3 s PIV

  • Systém Linux s nainštalovanými pivy a PCSCD (sudo apt install pcscd), na zabezpečenie Nitrokey (krok 1, 2 a 4). Namiesto samostatného systému Linux môžete nainštalovať WSL v systéme Windows. Upozorňujeme, že pred použitím pivy musíte virtuálne pripojiť Nitrokey k WSL a spustiť PCSCD (sudo service start pcscd).

1: Vygenerujte kľúč na Nitrokey#

Kľúč sa generuje v slote 9A (autentifikácia).

pivy-tool -a rsa2048 generate 9A

Poznámka

Ak administračný kľúč nie je predvolený, môžete ho zadať pomocou -A 3des -K 010203040506070801020304050607080102030405060708 . Argumentom pre -A môže byť aj aes256 a argumentom pre -K je kľúč v šestnástkovej sústave.

Používateľský PIN kód možno tiež zadať pomocou -P 123456 alebo -P <value>, ak nie je predvolený. Ak nie je zadaný -P, bude sa naň dotazovať po vygenerovaní kľúča.

To platí pre všetky príkazy pivy-tool.

Tento krok môže v prípade kľúčov RSA trvať niekoľko minút, pretože čisto softvérová implementácia je pomalá.

Očakávaný výstup:

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

2: Vygenerovanie žiadosti o podpis certifikátu (CSR)#

V tomto kroku sa vygeneruje certifikát pre kľúč v autentifikačnom slote. pivy-tool -n 'Nitro Test' -u "nitro@test.nitrokey.com" -T user-auth req-cert 9A

Používateľské meno Nitro Test a e-mailová adresa nitro@test.nitrokey.com musia byť zmenené na vlastné hodnoty.

Očaká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-----

Skopírujte žiadosť o podpis certifikátu do súboru request.csr

3: Podpíšte CSR#

Presuňte súbor request.csr z predchádzajúceho kroku na server, na ktorom je umiestnená certifikačná autorita. V konzole šablóny certifikátu (certtmpl.msc ) overte, či šablóna pre používateľov môže prijímať názvy subjektov zo žiadosti:

V konzole šablóny certifikátu v parametri pre šablónu autentifikačného certifikátu prepnite možnosť "dodať v žiadosti" na karte "názov subjektu".

Otvorte PowerShell a podpíšte žiadosť o podpis certifikátu pomocou certreq.exe -attrib CertificateTemplate:Nitrotest -submit request.csr

Otvorí sa grafické rozhranie, v ktorom môžete vybrať správnu certifikačnú autoritu, ak ich je na tomto serveri viac. Uložte certifikát ako certificate.crt

4: Uloženie certifikátu na kľúč Nitrokey#

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

5: Import certifikátu do používateľského účtu#

Presuňte certificate.der do používateľského zariadenia Windows a otvorte správcu certifikátov (Pre používateľa, nie pre stroj):

Otvorte ovládací panel "spravovať používateľský certifikát"

Importovať certifikát:

V časti akcie, všetky úlohy nájdete akciu import

Po dokončení tohto kroku sa odhláste. Prihláste sa pomocou kľúča Nitrokey pomocou „možností prihlásenia“.