Windows-login med PIV Smartcard-autentificering#
I dette dokument forklares det, hvordan du manuelt tilvejebringer PIV-funktionen i et Nitrokey 3 for Windows smartcard-logon med en nøgle og et certifikat.
I fremtiden kan denne manuelle tilrådighedsstillelse automatiseres via en Windows MiniDriver.
Forudsætninger#
En Windows-server med:
Active Directory (instruktioner)
En certifikatudstedende myndighed (CA) med en certifikatskabelon til logon-godkendelse ved hjælp af RSA 2048 bit-nøgler:
Certifikatmyndighed (instruktioner)
Godkendelsesskabelon (instruktioner)
En Windows-brugermaskine, der er tilknyttet serverens domæne
En Nitrokey 3 med PIV
Et Linux-system med pivy og PCSCD installeret (
sudo apt install pcscd
), til provisionering af Nitrokey (trin 1, 2 og 4). I stedet for et separat Linux-system kan du installere WSL på Windows. Bemærk, at du skal virtuelt vedhæfte Nitrokey til WSL og starte PCSCD (sudo service start pcscd
), før du bruger pivy.
1: Generer en nøgle på Nitrokey#
Nøglen genereres i slot 9A (autentifikation).
pivy-tool generate 9A -a rsa2048
Bemærk
Hvis administrationsnøglen ikke er standardnøglen, kan den angives med -A 3des -K 010203040506070801020304050607080102030405060708
. Argumentet til -A
kan også være aes256
, og argumentet til -K
er nøglen i hexadecimal.
Bruger-PIN-koden kan også angives med -P 123456
, eller -P <value>
, hvis den ikke er standardindstillingen. Hvis -P
ikke er angivet, vil der blive spurgt om den efter nøglegenerering.
Dette gælder for alle pivy-tool
-kommandoer.
Dette trin kan tage et par minutter for RSA-nøgler, da den rene softwareimplementering er langsom.
Forventet output:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKO5ENwrK3qKBAgDkyq1tfiw5JxnoCEIiM3Vc+8Eylux04r1sgjHEyqbOvpScObZuchxFZZ5LdeHynvFn3c07K4HpoZ/7NjLzUYOmlVAy4wpEwRs9psbrT6wbvHVLyffZiiSPW15HHQKcUZZ30WDunh5m7xzvY9ej810QIW/P724MFWTbRdpqmG8m1qWCUM5dqkmpiprI/WeD+VmTcQWbJJ+oyoPyxmwzGyAotl7mVC6EYdcfvyBSNQdVdGfYGxjNEec4aWxoFRg4ADfpPnYD+gLxHcj/9s7o/wdMhXRiSio1tjsEjaeuOICGLaiiLGMfLxpfEApb8qJgsEFgYl6kn PIV_slot_9A@9E424375A38449E59B3DF89D9B90E601
2: Generer en Certificate Signing Request (CSR)#
Dette trin genererer et certifikat for nøglen i godkendelsesslottet. pivy-tool req-cert 9A -n 'Nitro Test' -u "nitro@test.nitrokey.com" -T user-auth
Brugernavnet Nitro Test
og e-mailadressen nitro@test.nitrokey.com
skal ændres til egne værdier.
Forventet resultat:
-----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-----
Kopier anmodningen om signering af certifikatet til en fil request.csr
3: Underskriv CSR’en#
Flyt filen request.csr fra det foregående trin til den server, der er vært for certifikatudstederen. Kontroller i konsollen for certifikatskabeloner (certtmpl.msc
), at skabelonen for brugerne kan acceptere emnenavne fra anmodningen:

Åbn PowerShell, og signér anmodningen om signering af certifikatet med certreq.exe -attrib CertificateTemplate:Nitrotest -submit request.csr
Dette åbner en GUI, hvor du kan vælge den korrekte certifikatudstedende myndighed, hvis der er flere på denne server. Gem certifikatet som certificate.crt
4: Gem certifikatet på Nitrokey#
cat certificate.der | pivy-tool write-cert 9A
5: Importer certifikatet til brugerkontoen#
Flyt certificate.der
til brugerens Windows-enhed, og åbn certifikatadministratoren (For brugeren, ikke maskinen):

Importer certifikatet:

Når dette er gjort, skal du logge ud. Log ind med Nitrokey ved at bruge »sign-in options«