Klientinloggning med Active Directory

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

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.

I framtiden kan denna manuella tillhandahållande automatiseras med hjälp av en Windows MiniDriver.

Förutsättningar

Installationen kräver administrativ åtkomst till de maskiner som kör Active Directory Directory Services (ADDS) och Active Directory Certificate Services (ADCS). På klientmaskinen krävs endast åtkomst till respektive användarkonto som används för inloggning.

  • Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
    • ADDS-rollen installerad och konfigurerad.

    • ADCS-rollen installerad och Enterprise-CA med rotcertifikat konfigurerat.
      • Varje domänkontrollant (DC) måste ha ett Domain Controller, Domain Controller Authentication, och Kerberos Authentication certifikat utfärdat.

      • Om du har klienter som lämnar företagets nätverk ska du se till att de publicerade fullständiga och deltacertifikatåterkallningslistorna (CRL) kan hämtas från externa nätverk.

  • Windows-klient (versioner som stöds är Windows 10, 11 i utgåvorna Professional och Enterprise)
    • Klienten måste vara en domänmedlem i Active Directory-domänen (AD).

  • Nitrokey 3 with PIV smart card.

Konfigurera inloggning med smartkort för användning med Active Directory (AD)

Inloggningen med smartkort kräver en certifikatmall i domänens certifikatutfärdare (CA). Denna mall definierar värdena och begränsningarna för användarcertifikaten. Den används för att signera certifikatbegäran (CSR) under provisioneringen av Nitrokey.

  1. För att signera en certifikatbegäran för inloggning med smartkort krävs att en certifikatmall skapas i certifikatutfärdaren.

    1. Skriv certtmpl.msc på kommandoraden, i PowerShell eller i Run och tryck på Enter.

    2. I detaljfönstret väljer du mallen Smartcard Logon.

    3. Klicka på Åtgärder → Alla uppgifter → Duplicera mall i menyraden.

    4. Gör inställningarna nedan på mallen, enligt den flik som nämns.

      Kompatibilitet
      • Inaktivera Visa resulterande ändringar

      • Sätt Certificate Authority och Certificate recipient till de äldsta klienterna i domänen som ska använda smartcard-inloggning.

        Viktigt

        Om du vill använda EC-nycklar (Elliptic Curve) får dina klienter inte vara äldre än Windows Server 2008 och Windows Vista.

      Allmänt
      • Ställ in en Mall för visningsnamn.

      • Ange Giltighetsperiod och Förnyelseperiod.

      Hantering av förfrågningar
      • Ange ett syfte med Signatur och inloggning med smartkort.

      Kryptografi
      • Ange en leverantörskategori för Key Storage Provider.

      • Ange algoritmens namn och minsta nyckelstorlek.

        Viktigt

        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.

      Ämnets namn
      • Set Leverans på begäran.

    5. Bekräfta skapandet av mallen med OK.

  2. Efter att en certifikatmall har skapats måste mallen utfärdas för att kunna användas av klienterna.

    1. From the Command Line, PowerShell, or Run, type certmgr.msc and press Enter.

    2. Expandera certifikatutfärdaren (CA) i navigeringsfönstret och navigera till Certifikatmallar.

    3. I menyraden klickar du på Åtgärd → Ny → Certifikatmall för att utfärda.

    4. Välj den certifikatmall som du vill utfärda och bekräfta med OK.

Provisionera Nitrokey 3 för inloggning med smartkort med 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.

Varning

Innan du följer stegen nedan ska du kontrollera att det Active Directory-användarkonto som du vill använda för inloggning med smartkort finns. Om tiden för skapande av certifikatet är tidigare än tiden för skapande av användarkontot kommer inloggningen att misslyckas.

  1. Generera en privat nyckel och skriv CSR till filen med kommandot nedan.

    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 the distinguishedName 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 the userPrincipalName attribute of the Active Directory user account.

  2. Signera CSR:en med domänens certifikatutfärdare (CA) med kommandot nedan.

    certreq -attrib CertificateTemplate:<template-name> -submit <file>
    

    Värdet av <template-name> är namnet på certifikatmallen för inloggning med smartkort. Värdet av <file> är filen för begäran om certifikatsjungning.

  3. Skriv det signerade certifikatet till Nitrokey med kommandot nedan.

    nitropy nk3 piv --experimental write-certificate --key 9A --format PEM --path <file>
    

    Värdet på <file> är certifikatfilen.

  4. Mappa certifikatet med Active Directory-användarkontot. Skapa certifikatmappningarna med kommandot nedan.

    nitropy nk3 piv --experimental get-windows-auth-mapping
    

    Choose one of the offered certificate mappings.

    Tips

    Microsoft rekommenderar att du använder mappningen X509IssuerSerialNumber.

    Skriv den valda mappningen till attributet altSecurityIdentities i Active Directory-användarobjektet. Du kan använda programmet Active Directory - användare och datorer eller PowerShell för den här åtgärden.

    1. From the Command Line, PowerShell, or Run, type dsa.msc and press Enter.

    2. In the menu bar click View → Advanced Features.

    3. Välj respektive användarobjekt.

    4. In the menu bar click Action → Properties.

    5. Öppna fliken Attributredigerare.

    6. Välj attributet altSecurityIdentities.

    7. Click on Edit.

    8. Insert the certificate mapping in the text field and click Add.

    9. Tillämpa ändringen genom att klicka på OK.

    Viktigt

    Om certifikatmappningen inte är korrekt inställd kommer du att få felmeddelandet Logon screen message: Your credentials could not be verified. när du försöker logga in. Dessutom visas nedanstående händelsemeddelande i Windows systemhändelselogg.

    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.
    

Återkalla inloggning med smartkort för användning med Active Directory (AD)

De utfärdade inloggningscertifikaten för användare listas i Active Directory Certificate Services (ADCS). Från ADCS kan certifikaten återkallas, vilket lägger till dem i den konfigurerade listan över återkallade certifikat (CRL). Detta krävs om Nitrokey tappas bort eller går sönder.

Viktigt

Det är starkt rekommenderat att aldrig lämna oanvända användarcertifikat utan att återkalla dem.

Observera

Det är möjligt att tillfälligt återkalla ett certifikat med anledningen Certificate Hold. Denna spärr kan återkallas och är därför inte permanent.

  1. Skriv certsrv.msc på kommandoraden, i PowerShell eller i Run och tryck på Enter.

  2. Expandera certifikatutfärdaren (CA) i navigeringsfönstret och navigera till Utfärdade certifikat.

  3. I detaljfönstret väljer du det användarcertifikat som du vill återkalla.

  4. Klicka på Åtgärd → Alla uppgifter → Återkalla certifikat i menyraden.

  5. Ange skälet till återkallandet, datum och tid och bekräfta med Ja.

  6. I navigeringsfönstret navigerar du till Återkallade certifikat.

  7. Klicka på Åtgärd → Alla uppgifter → Publicera i menyraden.

  8. Välj den spärrlista som du vill publicera och bekräfta med OK.

Observera

Vid varje inloggningsförsök med smartkort kontrollerar Windows om certifikatet som presenteras av smartkortet finns med på en lista över återkallade certifikat (CRL). Om certifikatet finns med på en CRL nekas inloggning. Varje CRL innehåller en giltighetstid som gör att den upphör att gälla. Windows cachar den hämtade CRL:n och uppdaterar den om CRL:n är på väg att löpa ut. Därför är en återkallelse inte omedelbar utan beror på när den CRL som klienten har löper ut.

Importera ett användarcertifikat från ett smartkort till den personliga certifikatlagringen

Det användarcertifikat som finns lagrat på Nitrokey kan importeras till användarens personliga certifikatarkiv. I vissa situationer är detta en nödvändig procedur.

  1. Kontrollera att du är inloggad på det användarkonto som certifikatet motsvarar.

  2. Skriv certsrv.msc på kommandoraden, i PowerShell eller i Run och tryck på Enter.

  3. I navigeringsfönstret expanderar du nyckelarkivet Personal och navigerar till Certifikat.

  4. Klicka på Åtgärd → Alla uppgifter → Importera i menyraden.

  5. Följ importguiden och lämna in filen med användarcertifikatet när så begärs.

  6. När importen har slutförts kontrollerar du detaljfönstret för det importerade certifikatet. Om Nitrokey är ansluten bör egenskaperna för certifikatet visa meddelandet Du har en privat nyckel som motsvarar detta certifikat. vilket indikerar att den privata nyckeln på Nitrokey kunde identifieras.