XMLキー管理仕様(XKMS)は、Webサービスフレームワークを利用して、開発者が公開鍵基盤(PKI) を使用してアプリケーション間の通信をより簡単に保護できるようにします。XMLキー管理仕様は、公開鍵の配布と登録を規定するW3Cによって開発されたプロトコルです。サービスは、暗号化と認証のための最新の鍵情報を受信するために、 XKMS準拠のサーバーにアクセスすることができます。
XKMSは2つの部分から構成されています。
X-KRSSは、公開鍵情報を登録するために必要なプロトコルを定義します。X-KRSSは鍵マテリアルを生成できるため、手動で作成する場合よりも鍵の復元が容易になります。
X-KISSは、アプリケーションがXML署名のキー情報要素を処理するために必要なタスクの一部または全部を信頼サービスに委任するために使用すべき構文を概説しています。
どちらの場合も、XKMSの目標は、従来のPKI実装の複雑さをクライアントから外部サービスにオフロードすることです。このアプローチは、もともとDiffieとHellmanが「New Directions」論文で提案したものでしたが、当時は一般的に非現実的だと考えられており、Loren Kohnfelderが提案した証明書ベースのアプローチに重点を置いた商用開発が進められました。
W3Cに提出されたオリジナルのXKMS提案を開発したチームには、Warwick Ford、Phillip Hallam-Baker(編集者)、Brian LaMacchiaが含まれていました。そのアーキテクチャは、Brian LaMacchiaが最初に作成・保守したMIT PGPキーサーバーと密接に関連しています。XMLでの実装はSAMLと密接に関連しており、SAMLの初版もHallam-Bakerが編集しました。
XKMSが提案された当時、Webサービス向けの全く新しいプロトコルであるSOAPに対するセキュリティインフラストラクチャは定義されていませんでした。そのため、XKMS仕様の大部分は、特定のWebサービスプロトコルに対するセキュリティ「バインディング」の定義に関するものとなっています。