Connexion du client avec Active Directory#

Ce document explique comment utiliser l’application PIV d’une Nitrokey 3 pour l’ouverture de session par carte à puce avec Active Directory.

À l’avenir, ce provisionnement manuel pourra être automatisé au moyen d’un mini-pilote Windows.

Avertissement

L’application PIV de la Nitrokey 3 est actuellement considérée comme instable et n’est pas disponible dans les versions stables du micrologiciel. Pour obtenir cette fonctionnalité, il est nécessaire d’installer un micrologiciel de test. Les mises à jour ultérieures du micrologiciel peuvent entraîner la perte de données et de clés cryptographiques. Veuillez consulter la documentation sur la mise à jour du micrologiciel pour plus d’informations.

Conditions préalables#

L’installation nécessite un accès administratif aux machines exécutant les services d’annuaire Active Directory (ADDS) et les services de certificats Active Directory (ADCS). Sur l’ordinateur client, seul l’accès au compte utilisateur utilisé pour la connexion est nécessaire.

  • Serveur Windows (les versions prises en charge sont Windows Server 2016, 2019, 2022 dans toutes les éditions)
    • Le rôle ADDS est installé et configuré.

    • Rôle ADCS installé et Enterprise-CA avec certificat racine configuré.
      • Chaque contrôleur de domaine (DC) doit avoir un certificat Domain Controller, Domain Controller Authentication, et Kerberos Authentication délivré.

      • Si des clients quittent le réseau de l’entreprise, assurez-vous que les listes de révocation de certificats (CRL) complètes et delta publiées peuvent être récupérées à partir de réseaux externes.

  • Client Windows (les versions prises en charge sont Windows 10, 11 dans les éditions Professional et Enterprise)
    • Le client doit être membre du domaine Active Directory (AD).

  • Nitrokey 3 avec application PIV.

Configurer l’ouverture de session par carte à puce pour l’utilisation d’Active Directory (AD)#

La connexion par carte à puce nécessite un modèle de certificat dans l’autorité de certification (CA) du domaine. Ce modèle définit les valeurs et les contraintes des certificats d’utilisateur. Il est utilisé pour signer la demande de certificat (CSR) lors du provisionnement de la Nitrokey.

  1. La signature d’une demande de certificat pour la connexion par carte à puce nécessite la création d’un modèle de certificat dans l’autorité de certification.

    1. À partir de la ligne de commande, de PowerShell ou de Run, tapez certtmpl.msc et appuyez sur Entrée.

    2. Dans le panneau de détail, sélectionnez le modèle Smartcard Logon.

    3. Dans la barre de menu, cliquez sur Actions → All Tasks → Duplicate Template.

    4. Définissez les paramètres ci-dessous sur le modèle, conformément à l’onglet mentionné.

      Compatibilité
      • Désactiver Afficher les changements qui en résultent

      • Définissez Autorité de certification et Destinataire du certificat pour les clients les plus anciens du domaine qui sont censés utiliser l’ouverture de session par carte à puce.

        Important

        Si vous souhaitez utiliser des clés à courbe elliptique (EC), vos clients ne doivent pas être plus anciens que Windows Server 2008 et Windows Vista.

      Général
      • Définir le nom d’affichage du modèle **** .

      • Définissez la période de validité **** et la période de renouvellement **** .

      Traitement des demandes
      • Définir un objectif de Signature et connexion par carte à puce.

      Cryptographie
      • Définir une catégorie de fournisseur de Fournisseur de stockage de clés.

      • Définir le nom de l’algorithme et la taille minimale de la clé.

        Important

        Microsoft recommande d’utiliser l’algorithme RSA avec une longueur de clé de 2048 Bit. Si vous choisissez d’utiliser des clés à courbe elliptique (EC), vous devez apporter des modifications supplémentaires à vos ordinateurs clients.

      Nom du sujet
      • Définir Fournir dans la demande.

    5. Confirmez la création du modèle avec OK.

  2. Après la création d’un modèle de certificat, celui-ci doit être émis pour être utilisé par les clients.

    1. À partir de la ligne de commande, de PowerShell ou de Run, tapez certsrv.msc et appuyez sur Entrée.

    2. Dans le volet de navigation, développez l’autorité de certification (CA) et naviguez jusqu’à Certificate Templates.

    3. Dans la barre de menu, cliquez sur Action → New → Certificate Template to Issue.

    4. Sélectionnez le modèle de certificat que vous souhaitez émettre et confirmez avec OK.

Provisionner Nitrokey 3 pour l’ouverture de session par carte à puce avec Active Directory#

La connexion par carte à puce nécessite le provisionnement d’une Nitrokey pour un utilisateur dans Active Directory. Le provisionnement contient la clé privée et la génération d’une demande de certificat (CSR). Le certificat est ensuite écrit sur la Nitrokey.

Avertissement

Avant de suivre les étapes ci-dessous, assurez-vous que le compte d’utilisateur Active Directory que vous souhaitez utiliser pour la connexion par carte à puce existe. Si l’heure de création du certificat est antérieure à l’heure de création du compte d’utilisateur, la connexion échouera.

Important

Si l’application PIV sur la Nitrokey n’a pas été utilisée auparavant, effectuez d’abord une initialisation avec nitropy nk3 piv init.

  1. Générez une clé privée et écrivez la CSR dans un fichier à l’aide de la commande ci-dessous.

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

    La valeur de <algorithm> est l’algorithme utilisé avec sa longueur de clé, par exemple rsa2048. Les valeurs de <subject-name> et <subject-alternative-name> correspondent typiquement aux attributs commonName et userPrincipalName du compte d’utilisateur Active Directory.

  2. Signer la CSR avec l’autorité de certification (CA) du domaine à l’aide de la commande ci-dessous.

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

    La valeur de <template-name> est le nom du modèle de certificat pour la connexion par carte à puce. La valeur de <file> est le fichier de demande de chant de certificat.

  3. Inscrivez le certificat signé dans le Nitrokey à l’aide de la commande ci-dessous.

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

    La valeur de <file> est le fichier de certificat.

Révoquer la connexion par carte à puce pour l’utilisation d’Active Directory (AD)#

Les certificats de connexion délivrés aux utilisateurs sont répertoriés dans les services de certificats de l’Active Directory (ADCS). Les certificats peuvent être révoqués à partir de l’ADCS, ce qui les ajoute à la liste de révocation des certificats (CRL) configurée. Ceci est nécessaire en cas de perte ou de panne de Nitrokey.

Important

Il est fortement conseillé de ne jamais laisser de certificats d’utilisateur inutilisés sans les révoquer.

Note

Il est possible de révoquer temporairement un certificat pour la raison suivante : Certificate Hold. Cette révocation peut être annulée et n’est donc pas permanente.

  1. À partir de la ligne de commande, de PowerShell ou de Run, tapez certsrv.msc et appuyez sur Entrée.

  2. Dans le volet de navigation, développez l’autorité de certification (CA) et naviguez jusqu’à Issued Certificates.

  3. Dans le volet détaillé, sélectionnez le certificat d’utilisateur que vous souhaitez révoquer.

  4. Dans la barre de menu, cliquez sur Action → All Tasks → Revoke Certificate.

  5. Précisez le motif de la révocation, la date et l’heure, et confirmez par Yes.

  6. Dans le volet de navigation, allez à Certificats révoqués.

  7. Dans la barre de menu, cliquez sur Action → All Tasks → Publish.

  8. Sélectionnez la liste de révocation que vous souhaitez publier et confirmez avec OK.

Note

Lors de chaque tentative de connexion par carte à puce, Windows vérifie si le certificat présenté par la carte à puce figure dans une liste de révocation de certificats (CRL). Si le certificat figure dans une CRL, la connexion est refusée. Chaque CRL contient une date d’expiration. Windows met en cache les CRL recherchées et les met à jour si la CRL est sur le point d’expirer. La révocation n’est donc pas immédiate et dépend de l’expiration de la CRL dont dispose le client.

Importer un certificat de carte à puce d’utilisateur dans le magasin de certificats personnels#

Le certificat d’utilisateur stocké sur la Nitrokey peut être importé dans le magasin de certificats personnel de l’utilisateur. Dans certaines situations, il s’agit d’une procédure obligatoire.

  1. Assurez-vous que vous êtes connecté au compte d’utilisateur auquel le certificat correspond.

  2. À partir de la ligne de commande, de PowerShell ou de Run, tapez certsrv.msc et appuyez sur Entrée.

  3. Dans le volet de navigation, développez le magasin de clés Personal et naviguez jusqu’à Certificats.

  4. Dans la barre de menu, cliquez sur Action → All Tasks → Import.

  5. Suivez l’assistant d’importation et fournissez le fichier de certificat d’utilisateur lorsque cela vous est demandé.

  6. Une fois l’importation terminée, vérifiez le panneau de détail du certificat importé. Si la Nitrokey est connectée, les propriétés du certificat devraient afficher le message Vous avez une clé privée qui correspond à ce certificat. indiquant que la clé privée sur la Nitrokey a pu être identifiée.