Révoquer des justificatifs vérifiables
Dans le cadre du processus d’utilisation des justificatifs vérifiables, vous devez émettre des informations d’identification et parfois, vous devez les révoquer. Dans cet article, nous examinons la partie propriété Status
de la spécification des justificatifs vérifiables. Nous examinons également de plus près le processus de révocation, pourquoi nous voulons révoquer les identifiants et certaines implications en matière de données et de confidentialité.
Pourquoi révoquer des justificatifs vérifiables ?
Chaque client a ses propres raisons uniques de vouloir révoquer des justificatifs vérifiables. Voici quelques scénarios courants :
- ID étudiant : l’étudiant n’est plus actif dans l’université.
- ID employé : l’employé n’est plus actif.
- Permis de conduire d’un état : le conducteur n’habite plus cet état.
Comment fonctionne la revendication ?
Vérification d’identité Microsoft Entra implémente W3C StatusList2021. Lorsque la présentation à l’API de service de requête se produit, l’API vérifie l’état de révocation. La vérification de révocation est effectuée sur un appel d’API anonyme à Identity Hub, et ne contient aucune donnée sur qui vérifie si les justificatifs vérifiables sont toujours valides ou s’ils ont été révoqués. Avec statusList2021
, la Vérification d’identité Microsoft Entra conserve un indicateur avec la valeur hachée de la revendication indexée pour effectuer le suivi de l’état de révocation.
Données d’informations d’identification vérifiables
Les justificatifs vérifiables émis par Microsoft contiennent une revendication nommée credentialStatus
. Ces données sont un mappage de navigation vers l’endroit où, dans un bloc de données, ces justificatifs vérifiables ont leur indicateur de révocation.
Remarque
Si les justificatifs vérifiables sont anciens et ont été émis pendant la période d’aperçu, cette revendication n’existe pas. La révocation ne fonctionne pas pour ces informations d’identification et vous devez la réémettre.
...
"credentialStatus": {
"id": "urn:uuid:00aa00aa-bb11-cc22-dd33-44ee44ee44ee?bit-index=31",
"type": "RevocationList2021Status",
"statusListIndex": 31,
"statusListCredential": "did:web:verifiedid.contoso.com?service=IdentityHub&queries=...data..."
...
Point de terminaison d’API Identity Hub de l’émetteur
Dans le document de l’identificateur décentralisé de la partie émettrice, le point de terminaison Identity Hub est disponible dans la section service
.
didDocument": {
"id": "did:web:verifiedid.contoso.com",
"@context": [
"https://www.w3.org/ns/did/v1",
{
"@base": "did:web:verifiedid.contoso.com"
}
],
"service": [
{
"id": "#linkeddomains",
"type": "LinkedDomains",
"serviceEndpoint": {
"origins": [
"https://verifiedid.contoso.com/"
]
}
},
{
"id": "#hub",
"type": "IdentityHub",
"serviceEndpoint": {
"instances": [
"https://verifiedid.hub.msidentity.com/v1.0/00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
],
"origins": [ ]
}
}
],
Créer des justificatifs vérifiables révocables
La Vérification d’identité Microsoft Entra ne stocke pas les données des justificatifs vérifiables. L’émetteur doit indexer une revendication pour rendre les identifiants recherchables. Une seule revendication peut être indexée, et s’il n’y en a aucune, vous ne pourrez pas révoquer les identifiants. La revendication sélectionnée à indexer est ensuite salée et hachée, et elle n’est pas stockée sous sa valeur d’origine.
Remarque
Le hachage est une opération de chiffrement unidirectionnelle qui convertit une entrée, appelée preimage
, et produit une sortie appelée « hachage » dont la longueur est fixe. À l’heure actuelle, du point de vue informatique, il n’est pas possible d’inverser une opération de hachage.
Exemple : dans l’exemple suivant, displayName
est la revendication d’index. Vous pouvez effectuer une recherche uniquement via le nom complet de l’utilisateur et rien d’autre.
{
"attestations": {
"idTokens": [
{
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"configuration": "https://didplayground.b2clogin.com/didplayground.onmicrosoft.com/B2C_1_sisu/v2.0/.well-known/openid-configuration",
"redirectUri": "vcclient://openid",
"scope": "openid profile email",
"mapping": [
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "$.name",
"indexed": true
},
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
]
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Important
Vous pouvez seulement indexer une revendication à partir d’un mappage de revendications de règles. Si vous n'avez accidentellement aucune réclamation indexée dans votre définition de règles, et que vous corrigez ultérieurement cette omission, toutes les attestations vérifiables émises avant la modification ne sont pas recherchables, car elles ont été émises à un moment où aucun index n'existait.
Comment puis-je révoquer des justificatifs vérifiables ?
Vous pouvez utiliser des revendications indexées dans des justificatifs vérifiables pour rechercher des justificatifs vérifiables émis et les révoquer.
Accédez au volet Vérification d’identité dans le Portail Azure en tant qu’utilisateur administrateur disposant de l’autorisation de clé de signature sur Azure Key Vault.
Sélectionnez le type de justificatifs vérifiables.
Dans le menu de gauche, sélectionnez Révoquer un justificatif.
Recherchez la revendication indexée de l’utilisateur que vous voulez révoquer. L’indexation d’une revendication est nécessaire pour pouvoir rechercher des informations d’identification.
Important
Nous stockons seulement une version hachée d’une revendication indexée. Cela signifie que seules les correspondances exactes de la valeur stockée dans la revendication indexée fonctionnent. Quand vous entrez des informations dans la zone de texte, elle est hachée en utilisant le même algorithme. Cette valeur hachée est ensuite utilisée pour rechercher une correspondance avec la revendication hachée qui est stockée. Si vous ne trouvez pas de correspondance, vous avez peut-être entré les informations incorrectes ou la revendication peut ne pas être indexée.
Lorsqu’une correspondance est trouvée, sélectionnez l’option Révoquer à droite du justificatif que vous souhaitez révoquer.
L’utilisateur administrateur qui effectue l’opération de révocation doit disposer d’une autorisation de clé de signature pour Key Vault, sans quoi le message d’erreur « Impossible d’accéder à la ressource Key Vault avec les informations d’identification données » apparaît.
Une fois la révocation réussie, vous voyez que l’état est mis à jour et une bannière verte s’affiche en haut de la page.
L’API de service de requête indique des informations d’identification révoquées dans presentation_verified
(rappel) en tant que REVOKED
. Selon que la requête de présentation a spécifié qu’elle autorise les identifiants révoqués à être présentées, la présentation d’identifiants révoqués réussit ou échoue.