XKMS
XMLを用いて、公開鍵に関する情報の照会・検証や登録などをサービスに委ねるための仕様。複雑な鍵情報の処理を、各アプリケーションへ個別に組み込む負担を減らす。
イマシルちゃんの解説
届いた書類の印鑑が、本当にその人のものか調べたいとするよ。
毎回自分で台帳を集めて調べる代わりに、信頼できる窓口へ確認を頼むんだ。
新しく使う印鑑を届け出る窓口も用意しておく。
ただし、返事をくれる窓口そのものが信用できるかは、別に確かめる必要があるよ。
より深い解説
処理を委ねる目的
XKMSはW3Cが定めた仕様である。XML署名などを扱うアプリケーションが、鍵に結び付く情報を探したり、その情報を検証したりする処理をサービスへ依頼できる。
PKIを直接扱う場合、証明書の連鎖や失効情報などの処理が必要になる。XKMSは、その複雑さをサービス側へ集めるためのインタフェースを提供する。サービスの判断を信頼するための設定は、利用者側にも必要である。
二つの仕様の分担
| 仕様 | 主な役割 |
|---|---|
| X-KISS | 公開鍵に関する情報の所在照会や検証を依頼する |
| X-KRSS | 鍵情報の登録、再発行、失効、回復などを扱う |
X-KISSはXML Key Information Service Specification、X-KRSSはXML Key Registration Service Specificationの略である。前者は利用時の情報確認、後者は鍵情報の管理に重点がある。
問合せの意味
X-KISSのLocateは、条件に合う鍵情報を探す操作である。見つかったというだけでは、用途に適した正しい情報だと確認したことにはならない。
Validateは、定められた方針に従って情報が有効かを検証する操作である。どの方針を採用し、何を確認するかはサービスの運用にも依存する。応答の取得だけで、相手に対するすべての信頼が自動的に成立するわけではない。
他のセキュリティ技術との関係
XKMS自体は業務データを暗号化する暗号方式ではない。また、秘密鍵を無条件に外部へ渡してよいという意味でもない。管理方式を選ぶ際には、秘密鍵の保管場所と利用権限を別途決める必要がある。