Klientinloggning med Active Directory

Detta dokument förklarar hur man använder PIV-applikationen i en Nitrokey 3 för smartkortsinloggning med Active Directory.

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

Varning

PIV-applikationen för Nitrokey 3 anses för närvarande vara instabil och är inte tillgänglig i de stabila firmwareversionerna. För att få den funktionaliteten krävs det att man installerar en test-firmware. Efterföljande uppdateringar av den fasta programvaran kan leda till förlust av data och kryptografiska nycklar. Se dokumentationen för uppdatering av den fasta programvaran för mer information.

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 (versioner som stöds är Windows Server 2016, 2019, 2022 i alla utgåvor)
    • 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 med PIV-applikation.

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 rekommenderar att du använder RSA-algoritmen med en nyckellängd på 2048 Bit. Om du väljer att använda EC-nycklar (Eliptic Curve) måste du göra ytterligare ändringar på dina klientdatorer.

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

Smartcard-inloggningen kräver att en Nitrokey tillhandahålls för en användare i Active Directory. Provisionen innehåller den privata nyckeln och generering av CSR (Certificate Singing Request). Certifikatet skrivs sedan till 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.

Viktigt

Om PIV-applikationen på Nitrokey inte har använts tidigare, utför först en initialisering med nitropy nk3 piv init.

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

    nitropy nk3 piv generate-key --key 9A --algo <algorithm> --subject-name <subject-name> --subject-alt-name-upn <subject-alternative-name> --out-file <file>
    

    Värdet på <algorithm> är den använda algoritmen med dess nyckellängd, t.ex. rsa2048. Värdena <subject-name> och <subject-alternative-name> motsvarar normalt attributen commonName och userPrincipalName i Active Directory-användarkontot.

  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 write-certificate --format PEM --path <file>
    

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

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