Partager via


Permuter la clé de signature

Dans cet article, nous allons passer en revue les étapes permettant de permuter vos clés de signature Vérification d'identité Microsoft Entra.

Prérequis

  • L’autorité Vérification d’identité est intégrée manuellement et les clés de signature se trouvent dans votre propre instance Azure Key Vault. La configuration rapide utilise une clé de signature partagée, gérée par Microsoft, que vous ne pouvez pas permuter vous-même.
  • L’utilisateur administrateur effectuant la permutation des clés doit avoir une autorisation sur les clés dans Key Vault.

Permuter la clé de signature

Les clés publiques sont disponibles dans le document d’identificateur décentralisé (DID) pour toute personne ayant besoin de vérifier les signatures produites par un émetteur. Pour une autorité utilisant la méthode did:web, le document DID est disponible sur https://contoso.com/.well-known/did.json, où contoso.com est indiqué à titre d’exemple.

Vérification d’identité ne doit pas signer avec la nouvelle clé tant qu’une version mise à jour n’est pas disponible publiquement sur le serveur web. Si vous utilisez un déploiement multirégional, peut-être avec Azure Content Delivery Network, votre processus de déploiement peut prendre du temps à obtenir le did.json mis à jour.

Pour aider les administrateurs à effectuer la permutation des clés de signature sans interruption de service, le processus de permutation suit ces étapes :

  1. Appelez l’API signingKeys/rotate pour créer une clé de signature dans Key Vault. Le jeton d’accès dans l’appel doit être destiné à un utilisateur administrateur ayant un accès aux clés dans le coffre de clés. Cette action définit une nouvelle clé actuelle dans le coffre de clés. La clé précédente est déplacée vers les anciennes clés, mais elle peut toujours être activée. La réponse est l’objet JSON d’autorité avec l’attribut didDocumentStatus défini sur outOfSync, indiquant qu’il existe une différence entre Key Vault et le document did.json disponible publiquement.

    Screenshot that shows a new key in Key Vault.

  2. Accédez au programme d’installation dans le portail Vérification d’identité. Sélectionnez Inscrire l’ID décentralisé et copiez ou téléchargez le fichier did.json mis à jour. Il contient désormais les nouvelles clés et les anciennes clés.

    Screenshot that shows did.json.

  3. Remplacez did.json sur tous les serveurs web sur lesquels il a été précédemment déployé. Si vous l’avez modifié manuellement, vérifiez qu’il a toujours une syntaxe JSON valide avec un outil comme https://jsonformatter.org/. Avant de continuer, vérifiez que vous pouvez récupérer le nouveau document did.json à partir de l’Internet avec un navigateur.

  4. Appelez l’API synchronizeWithDidDocument pour commencer à utiliser la nouvelle clé de signature. Cet appel d’API valide que Key Vault et le document public did.json correspondent. S’ils correspondent, l’autorité Vérification d’identité commence à signer avec la nouvelle clé dans Key Vault. Le didDocumentStatus dans l’objet JSON d’autorité renvoyé a la valeur published. Si la valeur est toujours outOfSync, il y a une différence entre Key Vault et le document did.json, et la clé précédente reste utilisée pour la signature.

Dois-je permuter les clés dans Vérification d’identité ?

Techniquement, vous n’avez pas besoin de permuter les clés de signature dans Vérification d’identité si vous utilisez votre propre instance Key Vault. La clé de signature actuelle n’expire pas. Comme avec n’importe quelle solution de clé publique/privée, la bonne pratique est de permuter régulièrement les clés.

Que se passe-t-il quand je permute la clé de signature ?

Une fois les étapes 1 à 4 effectuées, Vérification d’identité a une nouvelle clé de signature et tous les jetons web JSON signés à partir de ce moment le sont avec la nouvelle clé. Cela signifie que les demandes d’émission et de présentation, et les informations d’identification émises sont signées avec la nouvelle clé.

Que se passe-t-il pour les informations d’identification signées par l’ancienne clé ?

Les informations d’identification Vérification d’identité émises et signées par une clé qui n’est plus actuelle continuent de fonctionner tant que la clé publique est disponible dans le document public did.json, et que la clé n’est pas désactivée ou supprimée dans Key Vault.

Que se passe-t-il quand les anciennes clés de signature ne sont plus disponibles ?

Si une clé utilisée pour signer des informations d’identification Vérification d’identité émises ne figure pas dans le document public did.json, toute tentative de vérification échoue, car le vérificateur n’est pas en mesure de résoudre la clé publique utilisée comme signature. Deux scénarios sont à prendre en compte.

Premier scénario : Vérification d’identité a une limite de 10 clés pouvant être utilisées en interne. Elle comprennent une clé actuelle et neuf clés précédentes. Si Key Vault contient 12 clés, Vérification d’identité charge et utilise uniquement les 10 premières. Vous ne pouvez pas modifier manuellement le document did.json pour ajouter d’anciennes clés, car il en résulte une incompatibilité entre ce qui est chargé par Vérification d’identité et ce que contient le document did.json. Si vous essayez d’appeler l’API synchronizeWithDidDocument, dans ce cas, didDocumentStatus renvoie outOfSync.

Si, par exemple, vous avez 12 clés dans Key Vault et que vous souhaitez que Vérification d’identité ne charge pas les clés 8 et 9 dans la liste des clés. Vous devez désactiver les clés 8 et 9 dans Key Vault et effectuer les étapes 2 à 4.

Deuxième scénario : par exemple, si vous permutez 12 fois les clés, Vérification d’identité ne charge plus les deux plus anciennes clés. Toutes les informations d’identification Vérification d’identité émises utilisant ces deux clés ne peuvent plus être vérifiées.

Remarque

Votre stratégie de permutation de clés doit être coordonnée avec la durée de vie des informations d’identification Vérification d’identité émises pour qu’elles puissent être renouvelées ou réémises avant la mise hors service d’une ancienne clé. Par exemple, vous ne pouvez pas émettre des informations d’identification Vérification d’identité avec une date d’expiration à 12 mois et en même temps avoir une stratégie de permutation de clés qui permute les clés chaque mois. Ce type de solution rencontre des problèmes pour les deux derniers mois de l’année, car les anciennes clés ne sont plus disponibles.

Puis-je permuter les clés directement dans Key Vault au lieu d’appeler l’API Vérification d’identité ?

Vous ne devez pas utiliser la fonctionnalité de permutation dans le portail d’administration de Key Vault. Vérification d’identité effectue plus de tâches lorsqu’il appelle l’API /signingKeys/rotate que la simple permutation de la clé dans Key Vault.

Étapes suivantes