簡易
公開鍵基盤(SPKI:Simple Public Key Infrastructure)は、コンピュータシステムにおける権限認証の方式の一つです。従来の
X.509公開鍵基盤が抱える複雑さと
スケーラビリティの問題を解決するために、複数のアプローチを統合して開発されました。SPKIの仕様は、インターネット技術標準化委員会(IETF)によってRFC 2692とRFC 2693として公開されていますが、これらのRFCのステータスは「実験的」とされています。
SPKIは、特に権限付与に使用する証明書の形式を定めています。これは、特定の特権や権利といった属性(オーソライゼーション)を公開鍵に結びつけるためのものです。1996年には、SPKIはロン・リベストと
バトラー・ランプソンが考案したSimple Distributed Security Infrastructure(SDSI)と統合され、SPKI/SDSIとなりました。
歴史と概要
初期のSPKIでは、利用者を単に公開鍵と同一視していましたが、オーソライゼーションを公開鍵に関連付け、ある鍵から別の鍵へのオーソライゼーション委任が可能でした。情報の符号化には、RFC 822のヘッダーに似た属性と値のペアを使用しました。
一方、初期のSDSIでは、個人やグループのローカル名を公開鍵などの名前に関連付けることができましたが、オーソライゼーションは
アクセス制御リスト(ACL)にのみ存在し、利用者の一部または全部のオーソライゼーションを委任することはできませんでした。符号化には標準的なS式を使用していました。
統合されたSPKI/SDSIでは、利用者への名前付与、利用者グループへの名前付与、そして権限やその他の属性の委任が可能になりました。さらに、複数のオーソライゼーション間の「積集合」を定義する操作を含む、オーソライゼーションを処理するための命令言語を備えています。また、「閾値項目」という概念も導入されており、これは、予め指定されたN個の項目の中からK個が満たされた場合にのみオーソライゼーションや委任を許可するものです。
SPKI/SDSIは符号化にS式を使用しますが、
構文解析が容易な正規化されたS式(Canonical S-expressions)と呼ばれるバイナリ形式を規定しています。これはLR(0)文法の一種であり、解析の効率性を高めています。
SPKI/SDSIの特徴
SPKI/SDSIには、従来の
認証局(CA)が存在しません。これは、商用
認証局の実用性に疑問を呈するSPKIの根本的な考えに基づいています。その結果、SPKI/SDSIは、特定の用途や学術研究プロジェクトでの利用が中心となっています。この設計のため、SPKI/SDSI単独で商業的な利益を生み出すのが難しいという側面もあります。ただし、他の製品の一部として組み込むことは可能です。過去には、SPKI/SDSIツールやサービス単独での商業化はされていませんが、他の製品の一部として利用された事例があります。
有名な実装例としては、
ヒューレット・パッカード社の
ミドルウェア製品であるE-speakがあります。E-speakは、XML版のSPKI/SDSIを内包しており、ウェブメソッドのアクセス制御、UPnPのセキュリティ管理、ネットワーク参加者間の権限委任などに利用されていました。
SPKI/SDSIは、柔軟な権限管理と分散型の認証モデルを提供し、複雑なセキュリティ要件に対応する上で重要な選択肢となります。