Klientlogon med Active Directory

Dette dokument forklarer, hvordan man bruger PIV-applikationen på en Nitrokey 3 til smartcard-logon med Active Directory.

I fremtiden kan denne manuelle tilrådighedsstillelse automatiseres via en Windows MiniDriver.

Advarsel

PIV-applikationen i Nitrokey 3 betragtes i øjeblikket som ustabil og er ikke tilgængelig i de stabile firmwareudgivelser. For at få denne funktionalitet er det nødvendigt at installere en test-firmware. Efterfølgende firmwareopdateringer kan føre til tab af data og kryptografiske nøgler. Se dokumentationen til firmwareopdatering for at få flere oplysninger.

Forudsætninger

Opsætningen kræver administrativ adgang til de maskiner, der kører Active Directory Directory Services (ADDS) og Active Directory Certificate Services (ADCS). På klientmaskinen kræves der kun adgang til den respektive brugerkonto, der bruges til logon.

  • Windows-server (understøttede versioner er Windows Server 2016, 2019, 2022 i alle udgaver)
    • ADDS-rollen er installeret og konfigureret.

    • ADCS-rolle installeret og Enterprise-CA med rodcertifikat konfigureret.
      • Hver domænecontroller (DC) skal have udstedt et Domain Controller, Domain Controller Authentication og Kerberos Authentication certifikat.

      • Hvis du har klienter, der forlader virksomhedens netværk, skal du sørge for, at de offentliggjorte fulde og delta-certifikattilbagekaldelseslister (CRL) kan hentes fra eksterne netværk.

  • Windows-klient (understøttede versioner er Windows 10, 11 i udgaverne Professional og Enterprise)
    • Klienten skal være medlem af Active Directory-domænet (AD).

  • Nitrokey 3 med PIV-applikation.

Konfigurer smartcard-logon til brug med Active Directory (AD)

Smartcard-logon kræver en certifikatskabelon i domænets certifikatautoritet (CA). Denne skabelon definerer værdierne og begrænsningerne for brugercertifikaterne. Den bruges til at underskrive certifikatanmodningen (CSR) under klargøring af Nitrokey.

  1. Signering af en certifikatanmodning til smartcard-logon kræver, at der oprettes en certifikatskabelon i certifikatudstederen.

    1. Skriv certtmpl.msc fra kommandolinjen, PowerShell eller Run, og tryk på Enter.

    2. I detaljeruden skal du vælge skabelonen Smartcard Logon.

    3. Klik på Actions → All Tasks → Duplicate Template i menulinjen.

    4. Angiv nedenstående indstillinger på skabelonen i henhold til den nævnte fane.

      Kompatibilitet
      • Deaktiver Vis resulterende ændringer

      • Sæt Certificate Authority og Certificate recipient til de ældste klienter i domænet, som skal bruge smartcard-logon.

        Vigtigt

        Hvis du vil bruge EC-nøgler (Elliptic Curve), må dine klienter ikke være ældre end Windows Server 2008 og Windows Vista.

      Generelt
      • Indstil et -skabelonvisningsnavn.

      • Indstil Gyldighedsperiode og Fornyelsesperiode.

      Håndtering af anmodninger
      • Angiv et formål med Signatur og smartcard-logon.

      Kryptografi
      • Indstil en udbyderkategori til Key Storage Provider.

      • Indstil et algoritmenavn og en minimumsnøgle.

        Vigtigt

        Microsoft anbefaler at bruge RSA-algoritmen med en nøglelængde på 2048 Bit. Hvis du vælger at bruge EC-nøgler (Eliptic Curve), skal du foretage yderligere ændringer på dine klientcomputere.

      Navn på emne
      • Indstil Supply i anmodningen.

    5. Bekræft oprettelsen af skabelonen med OK.

  2. Efter oprettelsen af en certifikatskabelon skal skabelonen udstedes, så den kan bruges af klienterne.

    1. Skriv certsrv.msc fra kommandolinjen, PowerShell eller Run, og tryk på Enter.

    2. I navigationsruden udvides certifikatudstederen (CA), og der navigeres til Certificate Templates.

    3. Klik på Handling → Ny → Certifikatskabelon til udstedelse i menulinjen.

    4. Vælg den certifikatskabelon, du vil udstede, og bekræft med OK.

Klargøring af Nitrokey 3 til smartcard-logon med Active Directory

Smartcard-logon kræver, at der oprettes en Nitrokey for en bruger i Active Directory. Provisionen indeholder den private nøgle og generering af Certificate Singing Request (CSR). Certifikatet skrives derefter til Nitrokey.

Advarsel

Før du følger nedenstående trin, skal du sikre dig, at den Active Directory-brugerkonto, du vil bruge til smartcard-logon, findes. Et oprettelsestidspunkt for certifikatet før oprettelsestidspunktet for brugerkontoen vil føre til et mislykket logon.

Vigtigt

Hvis PIV-applikationen på Nitrokey ikke har været brugt før, skal du først udføre en initialisering med nitropy nk3 piv init.

  1. Generer en privat nøgle, og skriv CSR’en til en fil med nedenstående kommando.

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

    Værdien af <algorithm> er den anvendte algoritme med dens nøglelængde, f.eks. rsa2048. Værdierne af <subject-name> og <subject-alternative-name> svarer typisk til attributten commonName og userPrincipalName i Active Directory-brugerkontoen.

  2. Signer CSR’en med domænets certifikatudsteder (CA) med nedenstående kommando.

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

    Værdien af <template-name> er navnet på certifikatskabelonen til smartcard-logon. Værdien af <file> er filen med anmodning om certifikatsang.

  3. Skriv det signerede certifikat til Nitrokey med nedenstående kommando.

    nitropy nk3 piv write-certificate --format PEM --path <file>
    

    Værdien af <file> er certifikatfilen.

Tilbagekaldelse af smartcard-logon til brug med Active Directory (AD)

De udstedte brugerlogon-certifikater er opført i Active Directory Certificate Services (ADCS). Fra ADCS kan certifikaterne tilbagekaldes, hvilket føjer dem til den konfigurerede liste over tilbagekaldte certifikater (CRL). Dette er nødvendigt i tilfælde af en mistet eller ødelagt Nitrokey.

Vigtigt

Det anbefales på det kraftigste aldrig at efterlade ubrugte brugercertifikater uden at tilbagekalde dem.

Bemærk

Det er muligt at tilbagekalde et certifikat midlertidigt med begrundelsen Certificate Hold. Denne tilbagekaldelse kan annulleres og er derfor ikke permanent.

  1. Skriv certsrv.msc fra kommandolinjen, PowerShell eller Run, og tryk på Enter.

  2. Udvid certifikatudstederen (CA) i navigationsruden, og gå til Issued Certificates.

  3. I detaljeruden skal du vælge det brugercertifikat, du vil tilbagekalde.

  4. Klik på Action → All Tasks → Revoke Certificate i menulinjen.

  5. Angiv en årsag til tilbagekaldelsen, dato og klokkeslæt, og bekræft med Yes.

  6. Gå til Tilbagekaldte certifikater i navigationsruden.

  7. Klik på Action → All Tasks → Publish i menulinjen.

  8. Vælg den spærreliste, du vil offentliggøre, og bekræft med OK.

Bemærk

Under hvert smartcard-logonforsøg kontrollerer Windows, om certifikatet, der præsenteres af smartcardet, er opført på en liste over tilbagekaldte certifikater (CRL). Hvis certifikatet findes på en CRL, afvises logon. Hver CRL indeholder en gyldighedsperiode, der får dem til at udløbe. Windows cacher de hentede CRL’er og opdaterer dem, hvis CRL’en er ved at udløbe. Derfor er en tilbagekaldelse ikke øjeblikkelig og afhænger af udløbet af den CRL, klienten har.

Importer et bruger-smartcard-certifikat til det personlige certifikatlager

Det brugercertifikat, der er gemt på Nitrokey, kan importeres til brugerens personlige certifikatlager. I visse situationer er dette en nødvendig procedure.

  1. Sørg for, at du er logget ind på den brugerkonto, som certifikatet svarer til.

  2. Skriv certsrv.msc fra kommandolinjen, PowerShell eller Run, og tryk på Enter.

  3. I navigationsruden skal du udvide Personal key store og navigere til Certificates.

  4. Klik på Action → All Tasks → Import i menulinjen.

  5. Følg importguiden, og angiv brugercertifikatfilen, når du bliver bedt om det.

  6. Når importen er afsluttet, skal du tjekke detaljeruden for det importerede certifikat. Hvis Nitrokey er tilsluttet, bør certifikatets egenskaber vise meddelelsen Du har en privat nøgle, der svarer til dette certifikat., hvilket indikerer, at den private nøgle på Nitrokey kunne identificeres.