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提案を開発したチームには、ワーウィック・フォード、フィリップ・ハラム=ベイカー(編集者)、ブライアン・ラマッキアが含まれていました。アーキテクチャのアプローチは、ブライアン・ラマッキアが最初に作成・保守したMIT PGP鍵サーバーと密接に関連しています。XMLによる実現は、同じくハラム=ベイカーが初版を編集した SAMLと密接に関連しています。
XKMSが提案された当時、Webサービス向けの全く新しいSOAPプロトコルのためのセキュリティ基盤は定義されていませんでした。その結果、XKMS仕様の大部分は、特定のWebサービスプロトコルのセキュリティ「バインディング」の定義に特化しています。