シングル・サインオンを実現するための標準技術が登場した。SAML(セキュリティ・アサーション・マークアップ言語)である。Webアプリケーションなどが,自動的にユーザー認証情報をやり取りするための技術である。一度認証すれば,あとはその認証情報をシステムが自動的にやり取りしてくれる。リバティ・アライアンス・プロジェクトが採用したことから,年末に向けて相次いで対応製品が登場する。SAMLに対応することでWebサービスやWebアプリケーションの使い勝手が向上する。

(福田 崇男=tafukuda@nikkeibp.co.jp

写真1●日本ボルチモアテクノロジーズの「SelectAccess5.0」はSAMLに対応する
SAMLを使った認証についてのポリシーを設定できる。写真はサーバーへのアクセス権限を設定している画面。ユーザーについての管理画面は,利用していないため,左上に表示されている。
 米サン・マイクロシステムズや米ベリサインなどを中心とする標準化団体であるリバティ・アライアンス・プロジェクト(以下,リバティ)は,7月15日にバージョン1.0の仕様を発表した。WebサービスやWebアプリケーションを利用する際のシングル・サインオンを実現するための技術仕様と運用ルールを規定している。

 1.0では,認証情報やアクセス許可情報をシステム間でやり取りする仕組み,それを基にしたアクセス制御などについて策定した。そこで,採用されたのがSAML(セキュリティ・アサーション・マークアップ言語)である。7月29日にはいち早く,日本ボルチモアテクノロジーズがSAML対応のシングル・サインオン製品「SelectAccess5.0」の出荷を開始した(写真1[拡大表示])。

 SAMLを一言で言うなら,Webサービス間などで,ユーザー認証の情報をXML形式でやり取りするための技術である。あるサーバーが認証した情報をほかのサーバーに伝えることができる(図1[拡大表示])。リバティでは,SAMLだけでなく,具体的にどのような情報をSAMLに格納するかや,アクセス制御の定義にXACML(拡張可能アクセス制御マークアップ言語)を使うということまで規定する。今後はプライバシ情報の扱い方や,複数の認証システムを連携する方式なども規定される予定。Webサービスなどでスムーズにシングル・サインオンを実現するためである。しかし,それらの点にまでこだわらなければ,「SAMLにさえ対応していれば,異なるベンダーの認証サーバー同士であってもシングル・サインオンが実現できる」(日本ボルチモアテクノロジーズ営業企画技術部門PKIテクニカルコンサルタントの牧石 高明氏)。

図1●SAMLはシングル・サインオンを実現する
Webサービスなどでは,インターネット上のさまざまなサービスを利用するたびに認証が必要になる可能性がある。SAMLを使うといったん認証した情報をほかのWebサービスに通知できる。これにより,認証の手間を軽減する。

 特にWebサービスでは,シングル・サインオンの仕組みが不可欠とも言える。Webサービスはインターネット上のサービスを,必要に応じて自動的に選び出して利用する。新たなサービスを利用するたびにユーザー認証をするのでは,いかにも使い勝手が悪い。

認証情報をXML形式で格納

 SAMLは,XMLを使った技術の促進などを目的とする非営利団体OASIS(構造化情報標準推進機構)が標準化を進めている。まだ正式に標準化が済んでいない部分もSAMLのワーキング・グループ内では承認済み。後はOASIS全体での承認を待つだけである。

 SAMLの規格を構成するのは,認証情報を格納するXMLスキーマと,それをやり取りするプロトコルである。つまり,認証情報をXMLファイルに格納し,それを送受信する仕組みが,SAMLという訳だ。XMLファイルに書き出された認証情報などを,アサーション(表明)と呼ぶ。この情報を基に,Webアプリケーションなどが,サービスを利用させるかどうかを判断する。

 通信プロトコルには,SOAPまたはHTTPを使う。SOAPのエンベロープや,HTTPのヘッダーにアサーションを格納して送受信する。その際にはセキュリティを確保するために,基本認証や,SSL(セキュア・ソケット・レイヤー),TLS(トランスポート層のセキュリティ)などを使うこともできる。

対応製品が相次ぐ

 SAMLを使うと,異なるベンダーのアプリケーション・サーバー間などでシングル・サインオンが容易に実現できる。たとえば,SAMLに対応するアプリケーション・サーバー上でECサイトを運営している場合を考える。あるECサイトのユーザーがほかのECサイトを利用する場合に,双方ともSAMLに対応していれば,シングル・サインオンできることになる。

 すでにシングル・サインオンを実現している場合でも,連携が容易になるというメリットがある。シングル・サインオンの認証サーバー同士で,ユーザー情報をSAMLを使ってやり取りする。これにより一度のユーザー認証で,ほかの認証サーバーが管理するサーバーを利用できるようになる。

 リバティに採用されたのをきっかけに,認証サーバー製品やディレクトリ・サーバー製品などがSAMLへの対応を始めている。日本ボルチモアテクノロジーズのSelectAccess5.0に続き,米ノベル,米ネテグリティ,米RSAセキュリティなども,シングル・サインオン製品の新版でSAMLをサポートすることを発表。サン・マイクロシステムズは,ユーザーIDの管理ソフト「Sun ONE Identity Server」の次期版で,リバティの仕様,およびSAMLをサポートする予定である。これらの製品が出荷されるのは,2002年末になりそうだ。