XKMS (XML Key Management Specification) est une spécification de validation et d'enregistrement de clé publique utilisable de façon conjointe au signature XML et proposée notamment par Microsoft et Verisign au W3C.
Les objectifs principaux de XKMS (XML Key Management Specification) sont :
XKMS est développé par le XKMS Working Group du W3C. Le premier document de travail sur XKMS a été publié le . Un second document est sorti le .
XKMS est destiné à être implémenté en tant que service web permettant à un client d'accéder à des fonctions que l'on retrouve dans les standards des infrastructures à clés publiques (PKI).
La spécification XKMS est composée de deux protocoles :
Ce protocole de XKMS gère le mécanisme de localisation et de validation des clés
La spécification XKISS définit les deux opérations suivantes :
Ce protocole de XKMS est liée au mécanisme d'enregistrement d'une paire de clés auprès d'un fournisseur de services. Il existe deux façons d'enregistrer des clés auprès d'un service XKMS :
La spécification du service XKRSS définit quatre opérations :
L'opération de recouvrement est très utile si la clé privée est utilisée pour chiffrer des données. Si elle est perdue, les données chiffrées deviennent inaccessibles et sont donc perdues. Dans ce cas, il est intéressant de générer la clé privée côté serveur et de la mémoriser.
Si la clé privée perdue servait uniquement à signer des documents, une nouvelle clé peut être générée sans influence sur la validité des documents signés existants. Ainsi, les clés utilisées dans cette optique peuvent être générées par le client en toute sécurité, et la clé privée ne devrait jamais être enregistrée par le service.
Un service XKMS implémentant la spécification XKRSS peut choisir d'offrir certaines, toutes ou aucune de ces opérations. La spécification XKRSS n'oblige pas un service XKMS à implémenter l'une ou l'autre de ces opérations.