Aanmelden van klanten met Active Directory¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
This document explains how to use the PIV smart card of a Nitrokey 3 for logon with Active Directory. It is available as of firmware version 1.8 and higher.
In de toekomst kan deze handmatige voorziening worden geautomatiseerd via een Windows MiniDriver.
Vereisten¶
Voor de installatie is administratieve toegang nodig tot de machines waarop Active Directory Directory Services (ADDS) en Active Directory Certificate Services (ADCS) draaien. Op de clientmachine is alleen toegang nodig tot de respectieve gebruikersaccount die wordt gebruikt om in te loggen.
- Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
ADDS-rol geïnstalleerd en geconfigureerd.
- ADCS-rol geïnstalleerd en Enterprise-CA met rootcertificaat geconfigureerd.
Voor elke Domain Controller (DC) moet een certificaat Domain Controller, Domain Controller Authentication en Kerberos Authentication zijn uitgegeven.
Als je clients hebt die het bedrijfsnetwerk verlaten, zorg er dan voor dat de gepubliceerde volledige en delta certificate revocation lists (CRL) opvraagbaar zijn vanaf externe netwerken.
- Windows-client (ondersteunde versies zijn Windows 10, 11 in edities Professional en Enterprise)
Client moet lid zijn van het Active Directory (AD)-domein.
Nitrokey 3 with PIV smart card.
Smartcard-aanmelding configureren voor gebruik met Active Directory (AD)¶
De smartcard-aanmelding vereist een certificaatsjabloon in de certificaatautoriteit (CA) van het domein. Deze sjabloon definieert de waarden en beperkingen van de gebruikerscertificaten. Het wordt gebruikt om het Certificate Request (CSR) te ondertekenen tijdens de provisioning van de Nitrokey.
Voor het ondertekenen van een certificaataanvraag voor smartcard-aanmelding moet een certificaatsjabloon worden aangemaakt in de certificaatautoriteit.
Typ in de opdrachtregel, PowerShell of Uitvoeren
certtmpl.msc
en druk op Enter.Selecteer in het deelvenster Details de sjabloon Smartcard Logon.
Klik in de menubalk op Acties → Alle taken → Sjabloon dupliceren.
Stel de onderstaande instellingen in op de sjabloon, volgens het genoemde tabblad.
- Compatibiliteit
Uitschakelen Toon resulterende wijzigingen
Stel Certificate Authority en Certificate recipient in op de oudste clients in het domein die verondersteld worden gebruik te maken van smartcard logon.
Belangrijk
Als je Elliptic Curve (EC) sleutels wilt gebruiken, moeten je clients niet ouder zijn dan Windows Server 2008 en Windows Vista.
- Algemeen
Stel een sjabloonweergavenaam in.
Stel de Geldigheidsperiode en Vernieuwingsperiode in.
- Afhandeling van verzoeken
Stel een doel in voor Handtekening en smartcard aanmelden.
- Cryptografie
Stel een providercategorie in op Key Storage Provider.
Stel een algoritmenaam en minimale sleutelgrootte in.
Belangrijk
Microsoft recommends to use the RSA algorithm with a key length of
2048
Bit. If you choose to use Elliptic Curve (EC) keys you need to make additional changes on your client computers.
- Onderwerp Naam
Stel Supply in op de aanvraag.
Bevestig het aanmaken van het sjabloon met OK.
Na het aanmaken van een certificaatsjabloon moet het sjabloon worden uitgegeven om gebruikt te kunnen worden door de clients.
From the Command Line, PowerShell, or Run, type
certmgr.msc
and press Enter.Vouw in het navigatiedeelvenster de Certificaat Autoriteit (CA) uit en navigeer naar Certificaatsjablonen.
Klik in de menubalk op Actie → Nieuw → Certificaatsjabloon voor uitgifte.
Selecteer het certificaatsjabloon dat u wilt uitgeven en bevestig met OK.
Provisioneer Nitrokey 3 voor smartcard-aanmelding met Active Directory¶
The smartcard logon requires to provision a Nitrokey for a user in Active Directory. The provisioning contains the private key and Certificate Singing Request (CSR) generation. The certificate is then written to the Nitrokey.
Waarschuwing
Controleer voordat u onderstaande stappen uitvoert of het Active Directory gebruikersaccount dat u wilt gebruiken voor het inloggen met de smartcard bestaat. Als het tijdstip waarop het certificaat wordt aangemaakt eerder is dan het tijdstip waarop het gebruikersaccount wordt aangemaakt, zal het inloggen mislukken.
Genereer een privésleutel en schrijf het CSR naar een bestand met het onderstaande commando.
nitropy nk3 piv --experimental generate-key --key 9A --algo <algorithm> --subject-name <subject-name> --subject-alt-name-upn <subject-alternative-name> --path <file>
The value of
<algorithm>
is the used algorithm with its key length, e.g.rsa2048
. The value of<subject-name>
corresponds to the value of thedistinguishedName
attribute of the Active Directory user account. In most cases it is only necessary to include the common name part of the distinguished name, e.g.CN=John Doe
. The value of<subject-alternative-name>
corresponds to the value of theuserPrincipalName
attribute of the Active Directory user account.Onderteken het CSR met de certificaatautoriteit (CA) van het domein met de onderstaande opdracht.
certreq -attrib CertificateTemplate:<template-name> -submit <file>
De waarde van
<template-name>
is de naam van het certificaatsjabloon voor smartcard-aanmelding. De waarde van<file>
is het aanvraagbestand voor het zingen van het certificaat.Schrijf het ondertekende certificaat naar de Nitrokey met het onderstaande commando.
nitropy nk3 piv --experimental write-certificate --key 9A --format PEM --path <file>
De waarde van
<file>
is het certificaatbestand.Koppel het certificaat aan het Active Directory-gebruikersaccount. Maak de certificaatstoewijzingen met de onderstaande opdracht.
nitropy nk3 piv --experimental get-windows-auth-mapping
Choose one of the offered certificate mappings.
Tip
Microsoft raadt het gebruik van de
X509IssuerSerialNumber
mapping aan.Schrijf de gekozen mapping naar het
altSecurityIdentities
attribuut van het Active Directory gebruikersobject. Je kunt hiervoor de toepassing Active Directory Users and Computers of PowerShell gebruiken.From the Command Line, PowerShell, or Run, type
dsa.msc
and press Enter.In the menu bar click View → Advanced Features.
Selecteer het betreffende gebruikersobject.
In the menu bar click Action → Properties.
Open het tabblad Attribute Editor.
Selecteer het attribuut
altSecurityIdentities
.Click on Edit.
Insert the certificate mapping in the text field and click Add.
Pas de wijziging toe door te klikken op OK.
Open PowerShell.
Voeg de waarde toe met
Set-ADUser -Identity "<sAMAccountName>" -Add @{altSecurityIdentities="<certificate-mapping>"}
, vervang<sAMAccountName>
door de waarde van de gebruikersnaam en<certificate-mapping>
door de gekozen certficaat mapping van hierboven.
Belangrijk
Als de toewijzing van het certificaat niet correct is ingesteld, krijgt u de foutmelding
Logon screen message: Your credentials could not be verified.
wanneer u probeert in te loggen. Daarnaast ziet u het onderstaande gebeurtenisbericht in het Windows-systeemgebeurtenislogboek.Source
Kerberos-Key-Distribution-Center
Message
The Key Distribution Center (KDC) encountered a user certificate that was valid but could not be mapped to a user in a secure way (such as via explicit mapping, key trust mapping, or a SID). Such certificates should either be replaced or mapped directly to the user via explicit mapping. See https://go.microsoft.com/fwlink/?linkid=2189925 to learn more.
Intrekken smartcard-aanmelding voor gebruik met Active Directory (AD)¶
De uitgegeven gebruikersaanmeldingscertificaten worden opgenomen in de Active Directory Certificate Services (ADCS). Vanuit ADCS kunnen de certificaten worden ingetrokken, waardoor ze worden toegevoegd aan de geconfigureerde Certificate Revocation List (CRL). Dit is nodig in het geval van een verloren of kapotte Nitrokey.
Belangrijk
Het wordt sterk aangeraden om ongebruikte gebruikerscertificaten nooit te laten staan zonder ze in te trekken.
Notitie
Het is mogelijk om een certificaat tijdelijk in te trekken met de reden Certificate Hold. Deze intrekking kan ongedaan worden gemaakt en is dus niet permanent.
Typ in de opdrachtregel, PowerShell of Uitvoeren
certsrv.msc
en druk op Enter.Vouw in het navigatiedeelvenster de certificaatautoriteit (CA) uit en navigeer naar Uitgegeven certificaten.
Selecteer in het detailvenster het gebruikerscertificaat dat je wilt intrekken.
Klik in de menubalk op Actie → Alle taken → Certificaat intrekken.
Geef een reden op voor de intrekking, datum en tijd, en bevestig met Ja.
Navigeer in het navigatiedeelvenster naar ingetrokken certificaten.
Klik in de menubalk op Actie → Alle taken → Publiceren.
Selecteer de intrekkingslijst die u wilt publiceren en bevestig met OK.
Notitie
Tijdens elke inlogpoging met een smartcard controleert Windows of het certificaat dat door de smartcard wordt aangeboden, voorkomt op een Certificate Revocation List (CRL). Als het certificaat op een CRL voorkomt, wordt het aanmelden geweigerd. Elke CRL bevat een geldigheidsduur waardoor deze verloopt. Windows slaat de opgehaalde CRL op in de cache en werkt deze bij als de CRL bijna verloopt. Een intrekking is dus niet onmiddellijk en hangt af van de vervaldatum van de CRL die de client heeft.
Een smartcardcertificaat van een gebruiker importeren naar de persoonlijke certificatenwinkel¶
Het gebruikerscertificaat dat is opgeslagen op de Nitrokey kan worden geïmporteerd in de persoonlijke certificatenwinkel van de gebruiker. In bepaalde situaties is dit een vereiste procedure.
Zorg ervoor dat je bent aangemeld bij het gebruikersaccount waar het certificaat bij hoort.
Typ in de opdrachtregel, PowerShell of Uitvoeren
certsrv.msc
en druk op Enter.Vouw in het navigatiedeelvenster de sleutelopslag Personal uit en navigeer naar Certificates.
Klik in de menubalk op Actie → Alle taken → Importeren.
Volg de importwizard en geef het bestand met het gebruikerscertificaat op wanneer daarom wordt gevraagd.
Controleer nadat het importeren is voltooid het detailvenster voor het geïmporteerde certificaat. Als de Nitrokey is aangesloten, moet bij de eigenschappen van het certificaat het bericht staan. U hebt een privésleutel die overeenkomt met dit certificaat. geeft aan dat de privésleutel op de Nitrokey kon worden geïdentificeerd.
Zorg ervoor dat je bent aangemeld bij het gebruikersaccount waar het certificaat bij hoort.
Open PowerShell.
Import the certificate with
Import-Certificate -CertStoreLocation Cert:\CurrentUser\My -FilePath <path>
, replacing<file>
with the certificate file path.After the import completed check for the certificate with
Get-ChildItem Cert:\CurrentUser\My
.