認証状態継承システム
【課題】ユーザが利用する端末などの環境を切り替えても、切替前の環境におけるユーザの認証状態を継承する。
【解決手段】認証状態継承システムは、第1の端末IDと、認証代行サーバが発行した第1の認証セッションIDとを対応付けて記憶し、第1の端末から第2の端末への切替要求に応答して、第1の認証セッションIDと、第2の端末IDとを対応付けて記憶し、端末切替完了処理要求に応答して、第2の端末IDを基に、記憶されている第1の認証セッションIDを取得し、認証チケットと取得した第1の認証セッションIDを認証代行サーバへ送信する手段と、認証代行サーバが発行した第2の認証セッションIDと第1の認証セッションIDとを対応付けて記憶するユーザ環境管理サーバを備える。
【解決手段】認証状態継承システムは、第1の端末IDと、認証代行サーバが発行した第1の認証セッションIDとを対応付けて記憶し、第1の端末から第2の端末への切替要求に応答して、第1の認証セッションIDと、第2の端末IDとを対応付けて記憶し、端末切替完了処理要求に応答して、第2の端末IDを基に、記憶されている第1の認証セッションIDを取得し、認証チケットと取得した第1の認証セッションIDを認証代行サーバへ送信する手段と、認証代行サーバが発行した第2の認証セッションIDと第1の認証セッションIDとを対応付けて記憶するユーザ環境管理サーバを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ認証、特に、シングルサインオンを実現するシステムに関するものである。
【背景技術】
【0002】
現在のインターネットでは、名前や住所などの個人情報や金銭といった重要な情報を扱うサービスが増えてきており、そのようなサービスの利用者を認証することがセキュリティ上重要になってきている。しかし、サービス毎に認証に必要なIDやパスワードを管理することは、ユーザ及びサービス提供システムの双方にとって大きな負担である。そこで近年、ユーザが一度認証を受けるだけで、ユーザ認証を必要とする他のサービスへアクセスしてもユーザ認証を省略可能にするSSO(Single Sign On)技術が注目を集めている。
【0003】
一方、現在では携帯電話やデジタルテレビ、ゲーム機器に代表されるように、ネットワーク通信の機能を持つ機器が増大しており、これらの機器を複数利用するユーザも増加している。今後、一人のユーザが複数の通信機器を、利用するコンテンツの種類(音楽、動画、写真、ゲーム等)やネットワーク環境(自宅や職場のLAN、屋外での無線通信、公衆アクセスポイント等)に応じて使い分けるケース、特にネットワーク環境の変更に伴い通信機器を切り替え、切り替えた後の通信機器で同じサービスを引き続き利用するようなケースが考えられる。例として、ある通信機器からユーザ認証を必要とするサービスへアクセスし、ユーザ認証を受けたとする。その後、ユーザの利用する通信機器を切り替えた場合、切り替え後の通信機器とサービスとの間で通信を確立していないため、切り替え後の通信機器から同じサービスへアクセスすると、再度ユーザ認証を実施する必要がある。また通信機器ではなく、通信機器が備える通信方式を切り替えるケースにおいても、切り替えによって通信機器が利用するファーストワンマイルが変更になるため、通信方式を切替えた後にネットワーク接続を行う際に再度ユーザ認証を実施する必要がある。
【0004】
これに対し、非特許文献1では、ユーザが利用する通信機器を切り替えた場合にSSOを継続する方法を示している。非特許文献1では、通信機器の現在の認証状態、および利用サービスの途中状態を委譲アサーションとしてサービス提供システムから切替前の通信機器へ発行し、切替前の通信機器がこれを切替先の通信機器へ直接移管する。そして移管した委譲アサーションを、切替先の通信機器がサービス提供システムへ提示することで、認証の継続を実現する。
【0005】
また特許文献1では、通信方式を切り替えた場合にSSOを継続する方法を示している。特許文献1では、ユーザ認証処理が終了すると、認証装置はユーザの認証状態を管理すると共に、アクセス元の通信機器を識別するための端末識別子を発行し、通信機器へ返却する。そしてユーザが利用する通信方式を切り替えた後、通信機器が端末識別子を認証装置に提示し、認証装置が切り替え前の通信機器を利用していたユーザであるとみなすことで、認証の継続を実現する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−219935号公報
【非特許文献】
【0007】
【非特許文献1】“ Liberty ID-WSF Multi-Device SSO Deployment Guide”, Liberty Alliance Project,2008 http://www.projectliberty.org/liberty/content/download/4473/30604/file/draft-liberty-idwsf-mdsso-deployguide-v1.0-02.pdf
【発明の概要】
【発明が解決しようとする課題】
【0008】
非特許文献1では、通信機器間で移譲アサーションをオフラインで移譲する手続きが発生するため、ユーザの手作業が増え、その結果ユーザの負担が増大する。また、通信機器に移譲アサーションの取得、移管、サービス提供システムへの提示といった手続きを実行するための機能を組み込む必要がある。
【0009】
また、特許文献1においても、端末に端末識別子の取得、認証装置への提示といった手続きを実行するための機能を組み込む必要がある。
【0010】
このようにユーザが利用する通信機器に機能を新たに組み込む方法は、多種多様な通信機器が接続し多様なサービスを享受する大規模ネットワークでのサービス利用に対応することが困難である。
【課題を解決するための手段】
【0011】
上記の課題を解決するために、認証状態継承システムは、ユーザの認証状態を本システム上で一意に識別するための認証セッションIDに、ユーザが今後切り替えて利用する予定の端末や回線、通信方式といったユーザの通信環境(以下、環境)のIDを結び付けて管理し、ユーザが環境を切り替えた後に環境IDを取得し、環境IDと結びついた認証セッションIDから前の環境におけるユーザの認証状態を取得する。
【0012】
具体的には、認証状態継承システムは、第1の端末からアプリケーションサーバへのアクセスに関して認証処理を実行する認証サーバ、認証サーバによる認証処理の認証結果である認証状態を保持する手段と、認証状態を一意に識別する第1の認証セッションIDを発行する手段と、第2の端末を一意に識別する第2の端末IDに対応する認証チケットと第1の認証セッションIDとの受信に応答して、前述の認証状態を、第2の端末から前記アプリケーションサーバへのアクセスに関する認証状態であるとして第2の認証セッションIDを発行する手段とを有する認証代行サーバ、および、第1の端末を一意に識別する第1の端末IDと、認証代行サーバが発行した第1の認証セッションIDとを対応付けて記憶する手段と、第1の端末から第2の端末への、第1の端末からの切替要求に応答して、第1の認証セッションIDと、第2の端末IDとを対応付けて記憶する手段と、第2の端末からの端末切替完了処理要求に応答して、第2の端末IDを基に、記憶されている第1の認証セッションIDを取得する手段と、認証チケットと取得した第1の認証セッションIDを認証代行サーバへ送信する手段と、認証代行サーバが発行した第2の認証セッションIDと第1の認証セッションIDとを対応付けて記憶する手段とを有するユーザ環境管理サーバを備える。
【発明の効果】
【0013】
本発明により、ユーザが利用する端末などの環境を切り替えても、切替前の環境におけるユーザの認証状態を継承することができる。
【図面の簡単な説明】
【0014】
【図1】認証状態継承システムの構成図である。。
【図2】各構成要素のハードウェア構成を例示した図である。
【図3A】サービスの利用開始シーケンス図である。
【図3B】認証シーケンス図である。
【図4】端末登録シーケンス図である。
【図5】サービス利用(端末切替前)シーケンス図である。
【図6】サービス利用(端末切替後)シーケンス図である。
【図7A】認証フィルタリング機能の動作を示す状態遷移図である。
【図7B】認証状態管理機能の動作を示す状態遷移図である。
【図8】端末切替アプリケーションの動作を示す状態遷移図である。
【図9A】ログイン状態管理テーブルの例である。
【図9B】認証状態テーブルの例である。
【図9C】利用サービステーブルの例である。
【図10A】ユーザ認証テーブルの例である。
【図10B】端末認証テーブルの例である。
【図10C】利用端末管理テーブルの例である。
【図10D】認証継承管理テーブルの例である。
【図10E】サービス継承管理テーブルの例である。
【図10F】認証状態復元後の認証状態テーブルの例である。
【図10G】利用サービステーブルの例である。
【図11A】認証トークンの例である。
【図11B】認証継承情報取得要求のXMLメッセージの例である。
【図11C】認証継承情報取得応答のXMLメッセージの例である。
【図11D】サービス状態保存要求のXMLメッセージの例である。
【図11E】サービス状態保存応答のXMLメッセージの例である。
【図11F】認証状態復元要求のXMLメッセージの例である。
【図11G】認証状態復元応答のXMLメッセージの例である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態を、図面を用いて詳細に説明する。尚、実施形態に示すシステム構成要素のうち、同種の複数の要素を示す場合には、端末ST-1、端末ST-2のように表記する。また、複数の要素をまとめて説明する場合、例えば端末ST-1と端末ST-2といった複数の端末をまとめて説明する場合は、末尾を省略して単純に端末STと表記する。
【0016】
本実施形態は、SAML(Security Assertion Markup Language)を用いた認証状態継承システムの一例である。SAMLは標準化団体OASISにおいて策定された、認証、認可、属性の管理・流通を実現するためのフレームワークである。
【0017】
図1は、ユーザが利用端末を端末1から端末2へ切り替え、アプリケーションサーバへアクセスする際、ユーザ環境管理サーバが認証代行サーバと連携してユーザの認証状態を復元し、この復元した認証状態によりアプリケーションサーバがユーザにアクセスを許可する認証状態継承システムの構成図である。
【0018】
図1において、認証状態継承システムは、端末ST1およびST2、アプリケーションサーバAppS1およびAppS2、ユーザ環境管理サーバEMS、認証代行サーバAPS、認証サーバASによって構成されている。認証状態継承システムの各構成要素はネットワークNWに接続している。アプリケーションサーバAppSは、サービス状態管理テーブルAppS21、ログイン状態管理テーブルAppS31を備えている。ユーザ環境管理サーバEMSは、利用端末管理テーブルEMS21、認証継承管理テーブルEMS31、サービス継承管理テーブルEMS32を備えている。認証代行サーバAPSは、認証状態テーブルAPS11、利用サービステーブルAPS12を備えている。認証サーバASは、ユーザ認証テーブルAS11、端末認証テーブルAS12を備えている。各構成要素と各テーブルの対応関係は、上記に限らず、認証状態継承システムを具現化する際に、適宜変更してもよい。例えば、ネットワークNWに接続するストレージシステムに各テーブルを配置してもよい。また、ユーザ環境管理サーバEMS、認証代行サーバAPS、認証サーバASを一つの装置(サーバ)として構成することも可能である。
【0019】
以下の説明で必要となる用語を定義する。ユーザとは、端末STを操作する人間をいう。認証状態とは、ユーザや端末が認証サーバASから受けた認証に成功したか否かを示す状態をいう。認証状態の継承とは、切替前の端末ST1で認証を受けた認証状態と、切替後の端末ST2の端末情報が紐づいている状態をいう。ログインとは、アプリケーションサーバAppSが、認証の成功を示す認証状態を基に端末STからのアクセスを許可することをいう。セッションIDとは、端末STとアプリケーションサーバAppSとの間で一意に共有するIDをいう。認証セッションIDとは、認証処理に関するセッションを一意に識別するIDをいう。
【0020】
認証状態継承システムの特徴的な動作は、次のとおりである。認証サーバASは、端末ST1からアプリケーションサーバAppS1へのアクセスに関して認証処理を実行する。認証代行サーバAPSは、認証サーバASによる認証処理の認証結果である認証状態を保持し、認証状態を一意に識別する認証セッションIDを発行し、端末ST2を一意に識別する端末IDに対応する認証チケットと第1の認証セッションIDとの受信に応答して、前述の認証状態を、端末ST2からアプリケーションサーバAppS1へのアクセスに関する認証状態であるとして新たな認証セッションIDを発行する。ユーザ環境管理サーバは、端末ST1を一意に識別する端末IDと、認証代行サーバが発行した第1の認証セッションIDとを対応付けて記憶し、端末ST1から端末ST2への、端末ST1からの切替要求に応答して、第1の認証セッションIDと、端末ST2の端末IDとを対応付けて記憶し、端末ST2からの端末切替完了処理要求に応答して、端末ST2の端末IDを基に、記憶されている第1の認証セッションIDを取得し、認証チケットと取得した第1の認証セッションIDを認証代行サーバへ送信し、認証代行サーバが発行した第2の認証セッションIDと第1の認証セッションIDとを対応付けて記憶する。
【0021】
認証状態継承システムの各構成要素が備える機能について述べる。
【0022】
端末STは、アプリケーションサーバAppSとの間で通信し、ユーザがアプリケーションサーバAppSが提供するサービスを受けるための装置であり、アプリケーションサーバAppS、ユーザ環境管理サーバEMS、認証代行サーバAPS、認証サーバASとの通信を実施し、通信結果を表示する通信アプリケーションST10を備えている。
【0023】
アプリケーションサーバAppSは、端末STに対してサービスを提供する装置であり、サービスを実際に動かしているサービスアプリケーションAppS10、ユーザが利用しているサービスの途中状態を管理するサービス状態管理機能AppS20、サービスの途中状態を保存するサービス状態管理テーブルAppS21、ユーザや端末のログイン状態に応じて認証代行サーバAPSへ認証を委託する認証フィルタリング機能AppS30、ログイン状態を管理するログイン状態管理テーブルAppS31、および端末ST、ユーザ環境管理サーバEMSとの通信を実施する通信機能AppS40を備えている。
【0024】
ユーザ環境管理サーバEMSは、ユーザの認証状態の継承を管理する装置であり、サービスアプリケーションAppS10を除く、アプリケーションサーバAppSとして機能するためのアプリケーションサーバ機能EMS10、ユーザが普段利用する端末STの情報を管理する利用端末管理アプリケーションEMS20、端末STの情報を保存する利用端末管理テーブルEMS21、ユーザが利用する端末の切替を実行・管理する端末切替アプリケーションEMS30、認証状態の継承を保存する認証継承管理テーブルEMS31、端末切替後に利用する予定のサービスに関する情報を保存するサービス継承管理テーブルEMS32、およびアプリケーションサーバAppS、端末STとの通信を実施する通信機能EMS40を備えている。また、ユーザ環境管理サーバEMSのアプリケーション部に含まれる利用端末管理アプリケーションEMS20、端末切替アプリケーションEMS30はそれぞれ、アプリケーションサーバAppSとしてのアプリケーションサーバ機能EMS10に対する、サービスアプリケーションAppS10として機能する。
【0025】
認証代行サーバAPSは、アプリケーションサーバAppSより認証を委託され、各ユーザおよび利用する端末STの認証状態を管理する装置であり、各ユーザおよび利用する端末STの認証状態を管理する認証状態管理機能APS10、認証状態を保存する認証状態テーブルAPS11、各ユーザおよび端末STが現在利用しているサービスに関する情報を保存する利用サービステーブルAPS12、および端末ST、認証サーバASとの通信を実施する通信機能APS20を備えている。
【0026】
認証サーバASは、アプリケーションサーバAppSに代わり認証を実施する装置であり、ユーザおよび端末を認証する認証機能AS10、ユーザの認証情報を保存するユーザ認証テーブルAS11、端末の認証情報を保存する端末認証テーブルAS12、および端末STとの通信を実施する通信機能AS20を備えている。
【0027】
その他、ネットワークNWは企業内LANのようなプライベートネットワークでも、インターネットのようなオープンネットワークでも良い。
【0028】
図2は、図1の各構成要素のハードウェア構成を例示した図である。これらの機器は、CPU11と、メモリ12と、インターネットやLANなどのネットワークNWを介して他の装置と通信を行うための通信装置13と、キーボードやマウス等の入力装置14と、モニタやプリンタ等の出力装置15と、読取装置16と、ハードディスク等の外部記憶装置17とが、インタフェース10を介して接続されている情報処理装置である。また、読取装置16にはICカードやUSBメモリのような、可搬性を有する記憶媒体18を接続することができる。
【0029】
認証状態継承システムの各構成要素が備える各機能は、これらの機能を実現するプログラムがメモリ12上にロードされ、CPU11により実行されることにより具現化される。これらのプログラムは、あらかじめ、情報処理装置の外部記憶装置17に格納されていても良いし、必要なときに、読取装置16や通信装置13と情報処理装置が利用可能な媒体を介して、他の装置から外部記憶装置に導入されてもよい。媒体とは、たとえば、読取装置16に着脱可能な記憶媒体18、または通信装置13に接続可能なネットワークまたはネットワークを伝搬する搬送波やディジタル信号を指す。そして、プログラムは一旦外部記憶装置17に格納された後、そこからメモリ12上にロードされてCPU11に実行されてもよいし、あるいは外部記憶装置17に格納されることなく、直接メモリ12上にロードされて、CPU11に実行されてもよい。
【0030】
以下、認証状態継承システムにおいて、ユーザTaroが携帯電話の端末ST1を用いて、ユーザ認証を必要とするアプリケーションサーバAppS1および端末認証を必要とするアプリケーションサーバAppS2をそれぞれ利用する場合の動作について説明する。なお、アプリケーションサーバAppS1はオンラインショッピングのサービスを提供し、アプリケーションサーバAppS2は映像配信のサービスを提供するものとする。
【0031】
図3Aに示すサービス利用開始シーケンスを、図7Aに示す認証フィルタリング機能AppS30の動作を示す状態遷移図および図7Bに示す認証状態管理機能APS10の動作を示す状態遷移図を参照しながら説明する。図3Aのシーケンスにおいて、ユーザIDがTaroのユーザが、端末IDがmobile01である端末ST1の通信アプリケーションST10に表示されているUI(User Interface)画面から、アプリケーションサーバAppS1が提供するサービスの利用開始を端末ST1へ指示する。サービスの利用開始の指示に応答して、通信アプリケーションST10はサービス利用開始要求M1-1を作成し、アプリケーションサーバAppS1へ送信する。サービス利用開始要求M1-1には、IETFにおいてRFC2616で定義されているHTTPのGETメッセージを利用する。
【0032】
アプリケーションサーバAppS1の通信機能AppS40が端末ST1からサービス利用開始要求M1-1を受信すると、アプリケーションサーバAppS1の認証フィルタリング機能AppS30は、サービス利用開始要求M1-1にセッションIDが含まれてないかを確認する。セッションIDが含まれてない場合(図7AのS1-1)、ログイン状態管理テーブルAppS31から、ユーザのログイン状態を判定するために必要な認証チケットを検索する。この時点では、ログイン状態管理テーブルAppS31に格納されている値が全て空であるとする。
【0033】
図9Aに示すログイン状態管理テーブルAppS31の各項目(カラム)について説明する。セッションIDは、前述のように、端末STとアプリケーションサーバAppSとの間で一意に共有するIDである。認証チケットは、認証結果を証明する認証トークンと一意に結びつく認証チケットである。アプリケーションは、ユーザや端末STが利用するサービスアプリケーションAppS10の名前である。サービス継続参照点は、端末STがサービスアプリケーションAppS10を継続して利用する場合にアクセスするURLである。
【0034】
この時点では、サービス利用開始要求M1-1に認証チケットが含まれていないため、認証フィルタリング機能AppS30は、ユーザをログイン状態でないと判定し(図7AのT1-1)、セッションIDを発行し、ログイン状態管理テーブルAppS31に登録する。認証フィルタリング機能AppS30は、通信機能AppS40を介して認証代行サーバAPSへユーザ認証を委託するための認証チケット要求M1-2を端末ST1へ送信し、内部状態をサービス要求待ち状態(図7AのS1-1)から認証チケット取得待ち状態(図7AのS1-2)へ遷移する。認証チケット要求M1-2には、SAML2.0 BindingsのHTTP Redirect Bindingに規定された方法に従い、SAMLのAuthnRequestメッセージをHTTP1.1の302 Foundレスポンスメッセージに埋め込む。そしてセッションIDをHTTP cookieに設定する。
【0035】
端末ST1の通信アプリケーションST10は、アプリケーションサーバAppS1より認証チケット要求M1-2を受信すると、cookieからセッションIDを取得して端末ST1内部へ保存する。続いて通信アプリケーションST10は、認証チケット要求M1-3として認証チケット要求M1-2を認証代行サーバAPSへリダイレクトする。
【0036】
認証代行サーバAPSの通信機能APS20は端末ST1より認証チケット要求M1-3を受信すると、認証状態管理機能APS10は、認証チケット要求M1-3に認証セッションIDが含まれてないかを確認する。認証セッションIDが含まれてない場合(図7BのS2-1)、認証チケット要求M1-3内のAuthnRequestに記載されたアプリケーションサーバAppS1のURL(AssertionConsumerServiceURL)を基に、アプリケーションサーバAppS1が要求する認証種別(ユーザ認証または端末認証)を判定する。続いて、利用サービステーブルAPS12から、ユーザの認証状態を判定するために必要な認証セッションIDおよび、認証種別が、判定した認証種別と一致するサービス向け認証トークンを検索する。この時点では、認証状態テーブルAPS11および利用サービステーブルAPS12に格納されている値が全て空であるする。
【0037】
図9Bに示す認証状態テーブルAPS11の各項目について説明する。セッションIDは、前述のように、端末STとアプリケーションサーバAppSとの間で一意に共有するセッションIDである。認証セッションIDは、前述のように、認証処理に関するセッションを一意に識別するIDである。IDは、認証種別に保持している認証対象のIDでる。認証種別は、認証対象の種別(ユーザの場合USER、端末の場合TERM)である。したがって、認証種別がUSERの場合にIDはユーザIDであり、認証種別がTERMの場合にIDは端末IDである。認証トークンは、認証結果を証明する認証トークンである。
【0038】
図9Cに示す利用サービステーブルAPS12の各項目について説明する。認証セッションIDは、認証状態テーブルAPS11の認証セッションIDと同様である。サービスパスは、認証チケット要求M1-3内のAuthnRequestに記載されたアプリケーションサーバAppSのURL(Assertion ConsumerServiceURL)である。サービス向け認証トークンは、認証サーバASより取得した認証トークンを、アプリケーションサーバAppS用に発行した認証トークンである。認証チケットは、サービス向け認証トークンと一意に結びつく認証チケットである。
【0039】
認証トークンは、SAML2.0で規定された認証アサーションを基に、新たに認証用の名前空間authを定義したXML文書として記述する。図11Aは、認証トークンのうち、認証状態の継続およびシングルサインオンの実現に必要な部分を示すものである。認証トークンの発行者名をsaml:Issuerタグの要素として記載し、認証対象のIDをsaml:NameIDタグの要素として記載し、サービスアプリケーションAppS10 のパスを属性がname=”ServicePath”で指定されたauth:Parameterタグの要素として記載し、認証種別を属性がname=”AuthType”で指定されたauth:Parameterタグの要素として記載する。
【0040】
この時点では、認証チケット要求M1-3に認証チケットが付与されていないため、認証代行サーバAPSの認証状態管理機能APS10はユーザが認証済ではないと判定し(図7BのT2-1)、セッションIDおよび認証セッションIDを発行し、認証状態テーブルAPS11および利用サービステーブルAPS12にそれぞれ登録する。そして、認証状態管理機能APS10は、図3Bに示す認証シーケンスにおいて認証を実施するための認証要求M2-1を端末ST1へ送信し、認証状態管理機能APS10の内部状態を認証要求待ち状態(図7BのS2-1)から認証結果待ち状態(図7BのS2-2)へ遷移する。認証要求M2-1は、SAML2.0 BindingsのHTTP Redirect Bindingに規定された方法に従い、SAMLのAuthnRequestメッセージをHTTP1.1の302 Foundレスポンスメッセージに埋め込む。そしてセッションIDをHTTP cookieに設定し、認証セッションIDをLocationヘッダに設定された認証サーバASのURL中にクエリパラメータとして付加する。
【0041】
端末ST1の通信アプリケーションST10は、認証代行サーバAPSより認証要求M2-1を受信すると、cookieからセッションIDを取得して端末ST1内部へ保存する。続いて認証要求M2-1を認証要求M2-2として、認証サーバASへリダイレクトする。
【0042】
認証サーバASの通信機能AS20は端末ST1より認証要求M2-2を受信すると、認証機能AS10は認証要求M2-2内のAuthnRequestに記載されたアプリケーションサーバAppS1のURL(AssertionConsumerServiceURL)を基に、アプリケーションサーバAppS1が要求する認証種別(ユーザ認証または端末認証)を判定する。続いて、判定結果を基に認証情報入力要求M2-3を作成し、端末ST1へ送信する。認証情報入力要求M2-3は、認証種別がユーザの場合、IETFにおいてRFC2617で定義されているHTTP Digest認証に基づき、HTTP1.0の401 Unauthorizedレスポンスメッセージを使用する。
【0043】
端末ST1の通信アプリケーションST10は、認証サーバASより認証情報入力要求M2-3を受信すると、クレデンシャルとしてのユーザIDおよびパスワードを入力する画面を出力装置15に接続されたモニタへ出力する。そしてユーザが入力装置14からユーザIDおよびパスワードを入力すると、通信アプリケーションST10はクレデンシャルを含んだ認証情報入力応答M2-4を作成し、認証サーバASへ送信する。
【0044】
認証サーバASの通信機能AS20は端末ST1より認証情報入力応答M2-4を受信すると、認証機能AS10は認証情報入力応答M2-4からクレデンシャルを取り出し、ユーザ認証テーブルAS11に格納された値を用いてユーザTaroを認証する。ユーザ認証テーブルAS11に格納されている情報は、図10Aに示すように、ユーザIDを格納するID、およびパスワードのハッシュ値を格納するHashレコードによって構成される。
【0045】
検証の結果、認証機能AS10はクレデンシャルを提示したユーザのIDがTaroであると認証すると、図11Aに示した認証トークンの形式で認証結果を作成する。そして、認証応答M2-5を作成して端末ST1へ送信する。認証応答M2-5は、SAML2.0 BindingsのHTTP Redirect Bindingに規定された方法に従い、SAMLのResponseメッセージをHTTP1.1の302 Foundレスポンスメッセージに埋め込む。そして認証セッションIDをLocationヘッダに設定された認証代行サーバASのURL中にクエリパラメータとして付加する。
【0046】
端末ST1の通信アプリケーションST10は、認証サーバASより認証応答M2-5を受信すると、認証応答M2-5を認証応答M2-6として認証代行サーバAPSへリダイレクトする。
【0047】
認証代行サーバAPSの通信機能APS30は端末ST1より認証応答M2-6を受信すると、認証状態管理機能APS10は認証応答M2-6に記載されたResponseメッセージから認証トークンを取得する(図7BのT2-2)。そして認証トークンおよび認証トークン内に記述しているIDおよび認証種別を認証状態テーブルAPS11に登録すると、内部状態を認証トークン待ち状態(図7BのS2-2)から認証済状態(図7BのS2-3)へ遷移する。この時点で、図9Bの(a)のように認証状態テーブルAPS11に格納されている情報が新たに追加されている。
【0048】
その後、認証状態管理機能APS10は、認証サーバASから端末STを経由して取得した認証トークンを基に、サービスアプリケーションAppS10用の認証トークンおよび認証チケットを発行する。そしてサービスアプリケーションAppS10用の認証トークン(サービス向け認証トークン)、認証チケット、取得した認証種別、ID、および認証サーバASより取得した認証トークンに記述しているサービスパスの値を、利用サービステーブルAPS12へ登録する(図7BのT2-3)。この時点で、図9Cの(a)のようにサービス利用テーブルAPS12に格納されている情報が新たに追加されている。
【0049】
続いて、認証代行サーバAPSの通信機能APS30は認証チケット応答M1-4を作成して端末ST1へ送信する。認証チケット応答M1-4は、SAML2.0 BindingsのHTTP Artifact Bindingに規定された方法に従い、認証チケットをHTTP1.1の302 Foundレスポンスメッセージに埋め込む。
【0050】
端末ST1の通信アプリケーションST10は、認証代行サーバAPS より認証チケット応答M1-4を受信すると、認証チケット応答M1-4を認証チケット応答M1-5としてアプリケーションサーバAppS1へリダイレクトする。
【0051】
アプリケーションサーバAppS1の通信機能AppS40は端末ST1より認証チケット応答M1-5を受信すると、認証フィルタリング機能AppS30は認証チケット応答M1-5に記載されたResponseメッセージから認証チケットを取得し、バッファ領域に退避する。そして認証チケット解決要求M1-6を作成し、認証代行サーバAPSへ送信する(図7AのT1-2)。そして認証フィルタリング機能AppS30の内部状態を認証チケット取得待ち状態(図7AのS1-2)から認証チケット解決待ち状態(図7AのS1-3)へ遷移する。認証チケット解決要求M1-6には、アプリケーションサーバAppSと認証代行サーバAPSとの間で規定したSOAPのリクエストメッセージを使用し、更にSAML2.0 BindingsのHTTP Artifact Bindingに規定された方法に従い、認証チケットを含めたSAMLのArtifactResolveメッセージをSOAPのメッセージボディに記載する。SOAPは、WWW関連技術の標準化団体であるW3Cによって策定された、オブジェクト間通信を実現するための通信プロトコルである。
【0052】
認証代行サーバAPSの通信機能APS20はアプリケーションサーバAppS1より認証チケット解決要求M1-6を受信すると、認証状態管理機能APS10は認証チケット解決要求M1-6から認証チケットを取得し、取得した認証チケットに対応する、認証状態テーブルAPS11のサービス向け認証トークンを検索する(詳細には、取得した認証チケットに対応する認証セッションIDを取得し、取得した認証セッションIDを同じくするサービス向け認証トークンを検索する)。検索の結果、認証チケット解決要求M1-6から取得した認証チケットと関連づけられたサービス向け認証トークンを取得する。そして認証トークン取得通知M1-7を作成し、アプリケーションサーバAppS1へ送信する。認証トークン取得通知M1-7には、アプリケーションサーバAppSと認証代行サーバAPSとの間で規定したSOAPのレスポンスメッセージを使用し、更にSAML2.0 BindingsのHTTP Artifact Bindingに規定された方法に従い、認証トークンを含めたSAMLのArtifactResponseメッセージをSOAPのメッセージボディに記載する。
【0053】
アプリケーションサーバAppS1の通信機能AppS40は認証代行サーバAPSより認証トークン取得通知M1-7を受信すると、認証フィルタリング機能AppS30は認証トークン取得通知M1-7からサービス向け認証トークンを取得する。そしてサービス向け認証トークンに記載された認証結果が認証成功であることを確認すると、バッファ領域に退避させていた認証チケットを取得し、ログイン状態テーブルAppS31に認証チケットおよび利用するサービスアプリケーションAppS10の名前を登録する(図7AのT1-3)。この時点で、図9Aの(a)のように認証状態テーブルAPS11に格納されている情報のうち、斜体で示した部分(サービス継続参照点)以外の情報が新たに追加されている。その後、認証フィルタリング機能AppS30の内部状態を認証チケット解決待ち状態(図7AのS1-3)からログイン状態(図7AのS1-4)へ遷移する。
【0054】
続いて、アプリケーションサーバAppS1のサービスアプリケーションAppS10はサービス利用開始要求M1-1の内容に基いて、ユーザへ提供するアプリケーションコンテンツを作成し、更にサービス利用開始応答M1-8を作成して端末ST1に送信する。サービス利用開始応答M1-8には、HTTPの200 OKレスポンスメッセージを使用し、アプリケーションコンテンツをBody部に記載する。
【0055】
端末ST1の通信アプリケーションST10はアプリケーションサーバAppS1よりサービス利用開始応答M1-8を受信すると、そこからアプリケーションコンテンツを取得し、出力装置15に接続されたモニタへ出力する。
【0056】
以上が、ユーザが端末ST1を用いて、ユーザ認証を必要とするアプリケーションサーバAppS1を利用する場合の動作である。
【0057】
次に、ユーザTaroが同じ端末ST1を用いて、端末認証を必要とするアプリケーションサーバAppS2を利用する場合の動作について、アプリケーションサーバAppS1を利用する場合と異なる端末認証の部分について説明する。
【0058】
端末ST1と認証サーバASとの間で実施する端末認証において、認証サーバASの認証機能AS10はアプリケーションサーバAppS2が要求する認証種別を端末と判定すると、判定結果を基に認証情報入力要求M2-3を作成し、端末ST1へ送信する。認証情報入力要求M2-3は認証種別が端末の場合、HTTPの200 OKレスポンスメッセージに、認証サーバASへのリンク情報を含めたHTMLを含める。そして端末認証を実現するため、端末ST1が端末IDをHTTPリクエストメッセージのUser-Agentヘッダに付与するよう、HTMLのa要素に特別な属性termauthを付与する。端末ST1の通信アプリケーションST10は属性termauthを含むa要素のリンク情報を参照すると、端末ST1の端末IDを端末ST1内から取得し、HTTPリクエストメッセージのUser-Agentヘッダに付与するものとする。
【0059】
端末ST1の通信アプリケーションST10は認証サーバASより認証情報入力要求M2-3を受信すると、端末ST1内から端末ST1の端末IDを取得する。そして認証情報入力応答M2-4を作成し、HTTPリクエストメッセージのUser-Agentヘッダに端末ST1の端末IDをした後、認証サーバASへ送信する。
【0060】
認証サーバASの通信機能AS20は端末ST1より認証情報入力応答M2-4を受信すると、認証機能AS10は認証情報入力応答M2-4からクレデンシャルを取り出し、端末認証テーブルAS12に格納されている端末IDを用いて端末ST1を認証する。端末認証テーブルAS12は図10Bに示すように、端末IDとして端末STのIDが登録されている。
【0061】
検証の結果、認証機能AS10はクレデンシャルを提示した端末が端末ST1であると認証すると、図11Aで示した認証トークンの形式で認証結果を作成する。
【0062】
そして、認証代行サーバAPSにおいて、認証状態管理機能APS10は、認証サーバASから端末STを経由して取得した認証トークンを基に、端末ST1に対する認証チケット、認証トークンを発行し、認証状態テーブルAPS11および利用サービステーブルAPS12の各項目に取得した情報をそれぞれ登録する。この時点で、図9Bの(b)および図9Cの(b)のように、認証状態テーブルAPS11および利用サービステーブルAPS12に格納されている情報が新たに追加されている。
【0063】
また、アプリケーションサーバAppS2の認証フィルタリング機能AppS30が図7AのT1-3において認証トークンを取得し、ログイン状態管理テーブルAppS31のサービス継続参照点以外の各項目に取得した情報をそれぞれ登録する。
【0064】
以上が、ユーザが端末ST1を用いて、端末認証を必要とするアプリケーションサーバAppS2を利用する場合の、端末認証に関する動作である。
【0065】
次に、ユーザTaroが利用する端末ST1の情報を、ユーザ認証および端末認証が必要なユーザ環境管理サーバEMSへ登録する場合の動作について説明する。なお、ユーザTaroが利用する端末ST1の情報が、認証代行サーバAPSの認証状態テーブルAPS11に登録されているものとする。
【0066】
まず、図4に示す端末登録シーケンスにおいて、ユーザは端末ST1の通信アプリケーションST10に表示されているUI画面から、ユーザ環境管理サーバEMSが提供する利用端末管理アプリケーションEMS20の利用開始を端末ST1へ指示する。利用端末管理アプリケーションEMS20の利用開始の指示に応答して、通信アプリケーションST10は端末登録要求M3-1を作成し、ユーザ環境管理サーバEMSへ送信する。端末登録要求M3-1には、HTTPのGETメッセージを利用する。
【0067】
ユーザ環境管理サーバEMSの通信機能EMS40は端末ST1より端末登録要求M3-1を受信すると、アプリケーションサーバ機能EMS10はアプリケーションサーバAppSの認証フィルタリング機能AppS30を呼び出し(前述したように、アプリケーションサーバ機能EMS10は、アプリケーションサーバAppSのサービスアプリケーションApps10以外の機能を有している。)、利用端末管理アプリケーションEMS20について認証フィルタリング機能AppS30の内部状態がログイン状態(図7AのS1-4)か否かを判定する。この時点では、端末登録要求M3-1に認証チケットが付与されていないため、認証フィルタリング機能AppS30の内部状態はサービス要求待ち状態(図7AのS1-1)であり、認証チケット要求M1-2を作成し端末ST1へ送信し、以降ユーザ認証および端末認証を実施する(図7AのT1-1)。
【0068】
ここで、認証代行サーバAPSが端末ST1から認証チケット要求M1-3を受信し、認証状態管理機能APS10の内部状態が認証済かどうか判定する際、認証チケット要求M1-3からセッションIDを、認証状態テーブルAPS11(図9Bの(a)および(b))からユーザTaroおよび端末ST1の認証トークンをそれぞれ取得する(図7BのT2-4)。そして認証代行サーバAPSは認証サーバへ認証を委託せず、内部状態を認証済状態する(図7BのS2-4)。
【0069】
認証代行サーバAPSの認証状態管理機能APS10は取得した認証トークンからサービス向けのユーザ認証トークン、ユーザ認証チケット、端末認証トークン、端末認証チケットを発行し、認証セッションID、サービスパスと共に利用サービステーブルAPS12へ登録する(図7BのT2-3)。この時点で、図9Cの(c)のように、利用サービステーブルAPS12に格納されている情報が新たに追加されている。
【0070】
その後ユーザ認証および端末認証の一連の処理(図4のM1-7トークン取得まで)が終了すると、ユーザ環境管理サーバEMSの利用端末管理アプリケーションEMS20は、取得したユーザ認証トークンおよび端末認証トークンから、それぞれユーザIDおよび端末IDを取得する。そして利用端末管理テーブルEMS21について、ユーザID Taroと端末ID mobile01の組を検索する。この時点では、利用端末管理テーブルEMS21に格納されている情報が図10Cに示すもので、テーブル内の値が(a)に示すものだとする。
【0071】
検索の結果、ユーザID Taroと端末ID mobile01との組は登録されていないので、ユーザ環境管理サーバEMSの利用端末管理アプリケーションEMS20は、ユーザIDと端末ST1のIDの組を利用端末管理テーブルEMS21へ登録する。この時点で、図10Cの(b)のように、利用端末管理テーブルEMS21に格納されている情報が新たに追加されている。
【0072】
その後、ユーザ環境管理サーバEMSの通信機能EMS40は端末登録応答M3-2を作成し、端末ST1へ送信する。端末登録応答M3-2はHTTPの200 OKレスポンスメッセージに、端末登録の結果を記したHTMLを含める。
【0073】
そして端末ST1の通信アプリケーションST10が端末登録応答M3-2を受信すると、受信メッセージに含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザがモニタを閲覧し、端末登録が完了したことを確認する。
【0074】
以上が、ユーザが利用する端末ST1の情報を、ユーザ認証および端末認証が必要なユーザ環境管理サーバEMSへ登録する動作である。
【0075】
次に、ユーザTaroが端末ST1を用いて、ユーザ認証を必要とするアプリケーションサーバAppS1、および端末認証を必要とするアプリケーションサーバAppS2の提供するサービスを利用し、サービス利用中に端末ST1から端末ST2へ端末切り替えし、続いてユーザTaroが端末ST2用いて、アプリケーションサーバAppS1およびアプリケーションサーバAppS2の提供するサービスを、端末切り替え前の状態から継続して受けられるように再開する場合の動作について説明する。
【0076】
まず、ユーザTaroが端末ST1を用いて、ユーザ認証を必要とするアプリケーションサーバAppS1、および端末認証を必要とするアプリケーションサーバAppS2の提供するサービスを利用する動作については説明済である。
【0077】
次に、ユーザTaroが端末ST1から端末ST2へ切り替える際、ユーザの認証状態およびユーザ・端末が利用しているサービスの利用状態を継承する、端末切り替えの動作について説明する。
【0078】
図5に示すサービス利用(端末切替前)シーケンスを、図8に示す端末切替アプリケーションEMS30の動作を示す状態遷移図を参照しながら説明する。図5のシーケンスにおいて、ユーザは端末ST1の通信アプリケーションST10に表示されているUI画面から、ユーザ環境管理サーバEMSが提供する端末切替アプリケーションEMS30の利用開始を端末ST1へ指示する。端末切替アプリケーションEMS30の利用開始の指示に応答して、通信アプリケーションST10は端末切替要求M4-1を作成し、ユーザ環境管理サーバEMSへ送信する。端末切替要求M4-1にはHTTPのGETメッセージを利用する。
【0079】
ユーザ環境管理サーバEMSの通信機能EMS40は端末ST1より端末切替要求M4-1を受信すると、アプリケーションサーバ機能EMS10はアプリケーションサーバAppSの認証フィルタリング機能AppS30を呼び出し、端末切替アプリケーションEMS30について認証フィルタリング機能AppS30の内部状態がログイン状態(図7AのS1-4)か否かを判定する。この時点では、端末切替アプリケーションEMS30に対して出された認証チケットが存在しないため、認証フィルタリング機能AppS30の内部状態はサービス要求待ち状態(図7AのS1-1)であり、ユーザ認証を実施する。
【0080】
ユーザ認証の実施の過程で、認証代行サーバAPSの認証状態管理機能APS10は、認証状態テーブルAPS11に保存している認証トークンから、サービス向けのユーザ認証トークン、ユーザ認証チケットを発行する。そして、これらを、認証セッションID、サービスパスと共に利用サービステーブルAPS12へ登録する(図7BのT2-3)。この時点で、図9Cの(d)のように、利用サービステーブルAPS12に格納されている情報が新たに追加されている。
【0081】
その後ユーザ認証および端末認証の一連の処理が終了すると、ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、ユーザ認証トークンからユーザIDを取得しバッファ領域へ退避するとともに、認証継承情報取得要求M4-2を作成して認証代行サーバAPSへ送信する(図8のT3-1)。そして内部状態をサービス要求待ち状態(図8のS3-1)から認証継承情報取得待ち状態(図8のS3-2)へ遷移する。
【0082】
認証継承情報取得要求M4-2にはHTTPのGETメッセージを使用し、認証代行サーバAPSとユーザ環境管理サーバEMSとの間で規定したSOAPのリクエストメッセージを、GETメッセージのBody部に記載する。また、認証の継承に必要な情報を取得するためのXMLメッセージを、SOAPのメッセージボディに記載する。図11Bは、認証継承情報取得要求のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、ユーザ認証チケットをauthticketタグの要素として記載する。
【0083】
認証代行サーバAPSの通信機能APS20はユーザ環境管理サーバEMSより認証継承情報取得要求M4-2を受信すると、認証状態管理機能APS10は認証継承情報取得要求M4-2に含まれるユーザ認証チケットを基に、利用サービステーブルAPS12について、ユーザTaroの認証セッションIDを検索・取得する。続いて、取得した認証セッションIDを基に、ユーザTaroおよび端末ST1が利用したアプリケーションサービスAppS10のパス、および認証チケットを検索・取得する。その後、認証継承情報取得応答M4-3を作成し、ユーザ環境管理サーバEMSへ送信する。
【0084】
認証継承情報取得応答M4-3にはHTTPの200 OKレスポンスメッセージを使用し、認証代行サーバAPSとユーザ環境管理サーバEMSとの間で規定したSOAPのレスポンスメッセージを、200 OKリクエストメッセージのBody部に記載する。また、認証の継承に必要な情報を含めたXMLメッセージを、SOAPのメッセージボディに記載する。
【0085】
図11Cは、認証継承情報取得応答のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものである。ユーザTaroの認証セッションIDをauthSessionIdタグの要素として記載する。また利用中のアプリケーションサービスAppS10のパスと認証チケットの組をServiceInfoタグの要素として記載し、アプリケーションサービスAppS10のパスはServiceInfoタグの子要素であるpathタグの要素として記載し、認証チケットはServiceInfoタグの子要素であるticketタグの要素として記載する。
【0086】
ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、認証代行サーバAPSより認証継承情報取得応答M4-3を受信すると、認証セッションID、利用中のアプリケーションサービスAppS10のパスおよび認証チケットを取得し、バッファ領域に保存する。その後、利用サービス一覧通知M4-4を作成し、端末ST1へ送信するとともに(図8のT3-2)、内部状態を認証継承情報取得待ち状態(図8のS3-2)から利用サービスパス取得待ち状態(図8のS3-3)へと遷移する。利用サービス一覧通知M4-4にはHTTPの200 OKレスポンスメッセージに、現在端末ST1が利用中のサービスアプリケーションAppS10のパスをリスト化し、リスト中の個々のパスの横にチェックボックスを設けたHTMLを含める。
【0087】
端末ST1の通信アプリケーションST10はユーザ環境管理サーバEMSより利用サービス一覧通知M4-4を取得すると、利用サービス一覧通知M4-4に含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザは入力装置14を操作し、端末切替後も途中からサービスを再開したいサービスにチェックを入れると、通信アプリケーションST10は利用サービス選択通知M4-5を作成し、ユーザ環境管理サーバEMSへ送信する。本実施形態では、ユーザはオンラインショッピングサービスを端末切替後も利用するものとする。
【0088】
ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、端末ST1より利用サービス選択通知M4-5を受信すると、選択されたサービスパスの一覧をバッファ領域へ退避する。続いて、バッファ領域に保存されているユーザIDを基に、利用端末管理テーブルEMS21についてユーザTaroの利用する端末IDの一覧を検索・取得する。そして登録端末一覧通知M4-6を作成し、端末ST1へ送信するとともに(図8のT3-3)、内部状態を利用サービスパス取得待ち状態(図8のS3-3)から切替先端末ID取得待ち状態(図8のS3-4)へと遷移する。登録端末一覧通知M4-6にはHTTPの200 OKレスポンスメッセージに、普段端末ST1が利用する端末STの端末IDをリスト化し、リスト中の個々のパスの横にラジオボタンを設けたHTMLを含める。
【0089】
端末ST1の通信アプリケーションST10はユーザ環境管理サーバEMSより登録端末一覧通知M4-6を取得すると、登録端末一覧通知M4-6に含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザは入力装置14を操作し、切り替えたい端末STの端末IDにチェックを入れると、通信アプリケーションST10は切替先端末通知M4-7を作成し、ユーザ環境管理サーバEMSへ送信する。本実施形態では、ユーザは携帯電話の端末ST1から、デジタルテレビ端末ST2へ切り替えるものとする。
【0090】
ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、端末ST1より切替先端末通知M4-7を受信すると、選択された端末STの端末IDと、バッファ領域に保存している認証セッションIDを結びつけて、認証継承管理テーブルEMS31へ登録する。また、バッファ領域に保存している、端末切替後にサービスの利用を再開するアプリケーションサービスAppSのパスの一覧を、認証セッションIDおよび認証チケットと結びつけてサービス継承管理テーブルEMS32へ保存する。この時点で、図10Dの(a)および図10Eの(a)のように、認証継承管理テーブルEMS31およびサービス継承管理テーブルEMS32にそれぞれ格納されている情報が新たに追加されている。
【0091】
次に端末切替アプリケーションEMS30はサービス状態保存要求M4-8を作成し、アプリケーションサーバAppS1およびアプリケーションサーバAppS2へ送信するとともに(図8のT3-4)、内部状態を切替先端末ID取得待ち状態(図8のS3-4)からサービス状態保存処理状態(図8のS3-5)へ遷移する。サービス状態保存要求M4-8にはHTTPのGETメッセージを使用し、アプリケーションサーバAppSとユーザ環境管理サーバEMSとの間で規定したSOAPのリクエストメッセージをGETメッセージのBody部に記載する。また、利用中のサービス保存を指示するのに必要なパラメータを含んだXMLメッセージを、SOAPのメッセージボディに記載する。図11Dは、サービス状態保存要求のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、認証チケットをauthticketタグの要素として記載する。
【0092】
アプリケーションサーバAppS1の通信機能AppS40がユーザ環境管理サーバEMSよりサービス状態保存要求M4-8を受信すると、サービス状態管理機能AppS20はサービス状態保存要求M4-8から認証チケットを取得し、この認証チケットを基にログイン状態テーブルAppS31について、一致する認証チケットを検索する。一致する認証チケットが存在すれば、その認証チケットに対応するアプリケーション(名)を保存し、保存したアプリケーションの識別情報をサービス継続参照点レコードに登録する。そしてサービス状態保存応答M4-9を作成し、ユーザ環境管理サーバEMSへ送信する。
【0093】
サービス状態保存応答M4-9にはHTTPの200 OKレスポンスメッセージを使用し、アプリケーションサーバAppSとユーザ環境管理サーバEMSとの間で規定したSOAPのレスポンスメッセージを200 OKレスポンスメッセージのBody部に記載する。また、保存したアプリケーション名を含んだXMLメッセージを、SOAPのメッセージボディに記載する。図11Eは、サービス状態保存応答のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、保存結果をresultタグの要素として記載する。
【0094】
またアプリケーションサーバAppS2は、アプリケーションサーバAppS1と同様に利用中のサービス状態を保存し、サービス状態保存応答M4-9を作成すると、ユーザ環境管理サーバEMSへ送信する。
【0095】
ユーザ環境管理サーバEMSの通信機能EMS40が、アプリケーションサーバAppS1およびアプリケーションサーバAppS2からサービス状態保存応答M4-9をそれぞれ受信すると、端末切替アプリケーションEMS30は端末切替完了通知M4-10を作成し、端末ST2へ送信するとともに(図8のT3-5)、端末切替アプリケーションEMS30の内部状態をサービス状態保存処理状態(図8のS3-5)からサービス要求待ち状態(図8のS3-1)へ遷移する。端末登録応答M4-10にはHTTPの200 OKレスポンスメッセージに、端末切替手続きの結果を記したHTMLを含める。
【0096】
そして端末ST2の通信アプリケーションST10が端末切替完了通知M4-10を受信すると、受信メッセージに含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザがモニタを閲覧して端末切替手続きが完了したことを確認する。
【0097】
以上が、ユーザTaroが端末ST1を用いて、端末ST1から端末ST2へ切り替える際、ユーザの認証状態およびユーザ・端末が利用しているサービスの利用状態を継承する、端末切り替え手続きの動作である。
【0098】
次に、ユーザTaroが端末ST2を用いて、アプリケーションサーバAppS1の提供するサービスを途中から再開する場合の動作について説明する。
【0099】
図6に示すサービス利用(端末切替後)シーケンスを、図8に示す端末切替アプリケーションEMS30の内部動作を示す状態遷移図を参照しながら説明する。図6のシーケンスにおいて、ユーザは端末ST2の通信アプリケーションST10に表示されているUI画面から、ユーザ環境管理サーバEMSが提供する端末切替アプリケーションEMS30の利用開始を端末ST2へ指示する。すると、通信アプリケーションST10は端末切替完了処理要求M5-1を作成し、ユーザ環境管理サーバEMSへ送信する。端末切替完了処理要求M5-1にはHTTPのGETメッセージを利用する。
【0100】
ユーザ環境管理サーバEMSの通信機能EMS40は端末ST2より端末切替完了処理要求M5-1を受信すると、アプリケーションサーバ機能EMS10はアプリケーションサーバAppSとして認証フィルタリング機能AppS30を呼び出し、端末切替アプリケーションEMS30について認証フィルタリング機能AppS30の内部状態がログイン状態(図7AのS1-4)か否かを判定する。この時点では端末切替完了処理要求M5-1に認証チケットが付与されていないため、端末認証を実施する。
【0101】
その後、認証代行サーバAPSは端末ST2に対する端末認証トークンを保持していないため、端末ST2は認証サーバASとの間で端末認証処理を実施し、認証サーバASの認証機能AS10は端末ST2に対する端末認証トークンを発行する。認証代行サーバAPSは端末認証トークンを、新たに出した認証セッションIDと共に認証状態テーブルAPS11へ登録した後、認証トークンからサービス向けの端末認証トークン、端末認証チケットを発行する。そして、認証セッションID、サービスパスと共に利用サービステーブルAPS12へ登録する(図7BのT2-3)。この時点で、図9Bの(c)および図9Cの(e)のように、認証状態テーブルAPS11および利用サービステーブルAPS12に格納されている情報が新たに追加されている。
【0102】
その後、端末認証の一連の処理が終了すると、ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、端末認証トークンから端末ST2の端末IDを取得し、この端末IDを基に認証継承管理テーブルEMS31について認証セッションを検索・取得する。そして認証状態復元要求M5-2を作成し、認証代行サーバAPSへ送信するとともに(図8のT3-6)、端末切替アプリケーションEMS30の内部状態をサービス要求待ち状態(図8のS3-1)から認証状態復元待ち状態(図8のS3-6)へ遷移する。認証状態復元要求M5-2にはHTTPのGETメッセージを使用し、ユーザ環境管理サーバEMSと認証代行サーバAPSとの間で規定したSOAPのリクエストメッセージをGETメッセージのBody部に記載する。また、利用中のサービス保存を指示するのに必要なパラメータを含んだXMLメッセージを、SOAPのメッセージボディに記載する。図11Fは、認証状態復元要求のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、認証セッションIDをauthSessionIDタグの要素として記載し、端末認証チケットをauthticketタグの要素として記載する。
【0103】
認証代行サーバAPSの通信機能APS20が認証状態復元要求M5-2を受信すると、認証状態管理機能APS10は認証状態復元要求M5-2から端末ST1に関する認証セッションID、および端末認証チケットを取得し、バッファ領域へ保存する。
【0104】
その後、認証状態管理機能APS10は認証状態を復元する。具体的にはまず、端末認証チケットを基に、利用サービステーブルAPS12について端末ST2に関する認証セッションIDを検索・取得し、バッファ領域へ保存する。そして、この認証セッションIDの値を、端末ST1に関する認証セッションIDの値に変更する。次に、端末ST1に関する認証セッションIDを基に、利用サービステーブルAPS12について一致する認証セッションIDを検索する。そして一致する認証セッションIDが登録されているレコードのうち、認証種別が”TERM”のレコードを削除する。これにより、利用サービステーブルAPS12に格納されている情報は、図10Gのようになり、端末ST1の認証セッションIDおよび端末ST2の認証セッションIDがマージされる。
【0105】
続いて、端末ST2に関する認証セッションIDを基に、認証状態テーブルAPS11について一致する認証セッションIDを検索する。そして、一致する認証セッションIDが登録されているレコードのセッションIDを、端末ST2に関するセッションIDとしてバッファ領域へ保存するとともに、端末ST2に関する認証セッションIDを端末ST1に関する認証セッションIDの値に更新する。次に、端末ST1に関する認証セッションIDを基に、認証状態テーブルAPS11について一致する認証セッションIDを検索する。そして一致する認証セッションIDが登録されているレコードのうち、認証種別が”TERM”のレコードを削除する。また、認証種別が”USER”のレコードについて、セッションIDの値を、端末ST2に関するセッションIDの値に更新する。これにより、認証状態テーブルAPS11のに格納されている情報は、図10Fのようになり、端末ST1の認証セッションIDおよび端末ST2の認証セッションIDがマージされ、端末ST1のセッションIDは端末ST2のセッションIDに引き継がれる。
【0106】
以上の処理により、端末ST1から端末ST2への切替後の認証状態復元が完了する。次に、認証代行サーバAPSの認証状態管理機能APS10は認証状態復元応答M5-3を作成し、ユーザ環境管理サーバEMSへ送信する。認証状態復元応答M5-に3はHTTPの200 OKレスポンスメッセージを使用し、認証代行サーバAPSとユーザ環境管理サーバEMSとの間で規定したSOAPのレスポンスメッセージを200 OKレスポンスメッセージのBody部に記載する。また、保存したアプリケーション名を含んだXMLメッセージを、SOAPのメッセージボディに記載する。図11Gは、認証状態復元応答のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、保存結果をresultタグの要素として記載する。
【0107】
ユーザ環境管理サーバEMSの通信機能EMS40は認証代行サーバAPSより認証状態復元応答M5-3を受信すると、端末切替アプリケーションEMS30はバッファに保存されている認証セッションIDを基に、サービス継承管理テーブルEMS32について認証チケットおよびサービスパスを検索・取得する。そして端末切替完了処理応答M5-4を作成し、端末ST2へ送信するとともに(図8のT3-7)、端末切替アプリケーションEMS30の認証状態復元待ち状態(図8のS3-6)から内部状態をサービス要求待ち状態(図8のS3-1)へ遷移する。端末切替完了処理応答M5-4には、HTTPの200 OKレスポンスメッセージに、サービスの利用を再開する予定のアプリケーションサービスAppS10のパスと認証チケットの組をリスト化したHTMLを含める。
【0108】
端末ST2の通信アプリケーションST10はユーザ環境管理サーバEMSより端末切替完了処理応答M5-4を取得すると、端末切替完了処理応答M5-4に含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザは入力装置14を操作し、利用を再開したいオンラインショッピングサービスのリンクをクリックする。すると、端末ST2の通信アプリケーションST10はサービス利用開始要求M1-1を作成し、オンラインショッピングサービスを提供するアプリケーションサーバAppS1へ送信する。ここで、認証チケットはサービス利用開始要求M1-1のURL中にクエリパラメータとして付加する。
【0109】
通信アプリケーションST10によるサービス利用開始要求M1-1の送信以降のシーケンスは、図3Aのサービス利用開始シーケンスを用いて説明済みであるので、簡単に説明する。アプリケーションサーバAppS1の通信機能AppS40は端末ST2よりサービス利用開始要求M1-1を受信すると、認証フィルタリング機能AppS30はサービス利用開始要求M1-1のURL内にクエリパラメータとして付加した認証チケットを取得し、ログイン状態管理テーブルについて認証チケットを検索する。一致する認証チケットが見つかれば、サービス状態管理機能AppS20は検索で見つかったカラムのサービス継続参照点レコードのパスにアクセスし、オンラインショッピングのサービス利用状態を復元する。その後、サービスアプリケーションAppS10がオンラインショッピングのサービスを端末ST2に対し途中から提供する。
【0110】
その後、普通に端末ST2がアプリケーションサーバAppS1のサービスアプリケーションAppS10を利用する。
【0111】
以上が、ユーザTaroが端末ST2用いて、アプリケーションサーバAppS1の提供するサービスを途中から再開する場合の動作である。
【0112】
なお、本実施形態では、ユーザが利用する端末を切り替える場合について説明したが、ユーザが同じ端末上で通信方式や利用回線を切り替える場合にも、「端末」を「回線」と読み替えることで全く同様の手順で切替を実現できる。そして、回線や通信方式を切り替える場合については、ユーザが移動しているうちに現在のネットワークの外に出てしまい別のネットワークエリア内に入った場合、これまでのネットワークエリアと利用できる通信方式が異なったとしても、自動的に通信方式を切り替えることで通信および認証を継続することができる。
【0113】
上記において自動的に通信方式を切り替えるための方式について説明する。以下では、本実施形態における「端末」を「回線」に置き換えて説明する。
【0114】
まず、ユーザ環境管理サーバEMSの利用回線管理テーブルEMS21に、新たに標準的に使用する回線であるかどうかを判定するためのデフォルト回線の項目(カラム)を用意する。この項目には0または1の値が入り、1になっている端末をデフォルト端末とする。そして、図5のシーケンスにおいて登録回線一覧通知M4-6および切替先回線通知M4-7を省略する。また、この場合は図5のシーケンスにおいて、利用サービス一覧通知M4-4および利用サービス選択通知M4-5を省略する。更に、端末が別のネットワークエリアに入った場合、端末は自動的に回線切替要求M4-1を送信することで、M4-2、M4-3、M4-8、M4-9、M4-10のメッセージが自動的に流れるようにする。
【0115】
以上のようにすることで、端末が別のネットワークエリアに入った時点で自動的に認証状態およびサービス状態を保存し、後はユーザのタイミングで通信方式を切り替え認証やサービスを継続することが可能になる。
【0116】
また、同様の方法を取ることによって、ユーザが使用する端末の切替も自動的に行うことができる。具体的には、ユーザ環境管理サーバEMSの利用回線管理テーブルEMS21にデフォルト端末項目(カラム)を用意し、登録端末一覧通知M4-6および切替先端末通知M4-7を省略する。そして、端末の電池が切れそうになった場合、端末は自動的に端末切替要求M4-1を送信することで、端末切替完了応答M4-10までメッセージが自動的に流れるようにする。
【0117】
以上のようにすることで、端末の電池が切れそうになった時点で自動的に認証状態およびサービス状態を保存し、後はユーザのタイミングで別の端末に切り替えて認証やサービスの状態を継続することが可能になる。
【0118】
また本実施形態では、端末および回線を同時に切り替える場合にでも、ユーザの認証状態やサービスの状態を継承することができる。この場合、図6のシーケンスにおける認証代行サーバAPSの認証状態復元処理について、利用サービステーブルAPS12のうち認証種別が”USER”または”TERM”で、かつ切替後に発行された認証セッションIDと一致しないカラムを消去する。そして、認証セッションIDを切替前の値に統一する。また、認証状態テーブルAPS11のセッションIDレコードの値を、切替後の値に統一する。
【0119】
その他、本実施形態においてコンテンツやソフトウェア(以下、コンテンツ)を認証対象に含めた場合に、事前に端末切替手続きを実施することで、切り替え後の端末で認証を要求されることなく、ライセンス認証が必要なコンテンツを利用することができる。このような場合では、コンテンツを再生する際に、端末からアプリケーションサーバAppSとしてのコンテンツプロバイダへアクセスが発生し、コンテンツプロバイダは認証代行サーバAPSやコンテンツ認証サーバASと連携してコンテンツのライセンスを認証する。
【0120】
また、本実施形態では端末切替手続きにおいて、切替後に利用予定のサービスを利用するのに適した端末を、ユーザに示すことも可能である。
【0121】
具体的には、ユーザ環境管理サービスEMSの利用端末管理テーブルEMS21に、新たに端末の特徴を記した端末属性の項目(カラム)を追加する。端末属性の項目には「Webブラウザ型」「動画再生型」のように、端末の利用に最も適したサービスのタイプを記載する。また、認証代行サーバAPSの利用サービステーブルにも同様の項目を追加し、サービス毎にタイプを記載する。
【0122】
すると、ユーザ環境管理サービスEMSが利用サービス選択通知M4-5を受信後、ユーザによって選択されたサービスのタイプを基に、利用端末管理テーブルについて端末ID検索する。そして、登録端末一覧通知M4-6で送信するHTML内で、サービスのタイプが一致した端末IDを優先的に表示させればよい。
【0123】
なお、本発明は、上述した実施形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上記各実施の形態を適宜組み合わせることができる。
【符号の説明】
【0124】
10:インタフェース、11:CPU、12:メモリ、13:通信装置、14:入力装置、15:出力装置、16:読取装置、17:外部記憶装置、18:可搬性を有する記憶媒体、NW:ネットワーク,ST:端末、AppS:アプリケーションサーバ、EMS:ユーザ環境管理サーバ、APS:認証代行サーバ、AS:認証サーバ、ST10:通信アプリケーション、AppS10:サービスアプリケーション、AppS20:サービス状態管理機能、AppS21:サービス状態管理テーブル、AppS30:認証フィルタリング機能、AppS31:ログイン状態管理テーブル、EMS10:アプリケーションサーバ機能、EMS20:利用端末管理アプリケーション、EMS21:利用端末管理テーブル、EMS30:端末切替アプリケーション、EMS31:認証継承管理テーブル、EMS32:サービス継承管理テーブル、APS10:認証状態管理機能、APS11:認証状態テーブル、APS12:利用サービステーブル、AS10:認証機能、AS11:ユーザ認証テーブル、AS12:端末認証テーブル、AppS40、EMS40、APS20、AS20:通信機能、M1−1:サービス利用開始要求、M1−2、M1−3:認証チケット要求、M1−4、M1−5:認証チケット応答、M1−6:認証チケット解決要求、M1−7:認証トークン取得通知、M1−8:サービス利用開始応答、M2−1、M2−2:認証要求、M2−3:認証情報入力要求、M2−4:認証情報入力応答、M2−5、M2−6:認証応答、M3−1:端末登録要求、M3−2:端末登録応答、M4−1:端末切替要求、M4−2:認証継承情報取得要求、M4−3:認証継承情報取得応答、M4−4:利用サービス一覧通知、M4−5:利用サービス選択通知、M4−6:登録端末一覧通知、M4−7:切替先端末選択通知、M4−8:サービス状態保存要求、M4−9:サービス状態保存応答、M4−10:端末切替完了応答、M5−1:端末切替完了処理要求、M5−2:認証状態復元要求、M5−3:認証状態復元応答、M5−4:端末切替完了処理応答、S1−1:サービス要求待ち状態、S1−2:認証チケット取得待ち状態、S1−3:認証チケット解決待ち状態、S1−4:ログイン状態、S2−1:認証要求待ち状態、S2−2:認証結果待ち状態、S2−3:認証済状態、S3−1:サービス要求待ち状態、S3−2:認証継承情報取得待ち状態、S3−3:利用サービスパス取得待ち状態、S3−4:切替先端末ID取得待ち状態、S3−5:サービス状態保存処理状態、S3−6:認証状態復元待ち状態。
【技術分野】
【0001】
本発明は、ユーザ認証、特に、シングルサインオンを実現するシステムに関するものである。
【背景技術】
【0002】
現在のインターネットでは、名前や住所などの個人情報や金銭といった重要な情報を扱うサービスが増えてきており、そのようなサービスの利用者を認証することがセキュリティ上重要になってきている。しかし、サービス毎に認証に必要なIDやパスワードを管理することは、ユーザ及びサービス提供システムの双方にとって大きな負担である。そこで近年、ユーザが一度認証を受けるだけで、ユーザ認証を必要とする他のサービスへアクセスしてもユーザ認証を省略可能にするSSO(Single Sign On)技術が注目を集めている。
【0003】
一方、現在では携帯電話やデジタルテレビ、ゲーム機器に代表されるように、ネットワーク通信の機能を持つ機器が増大しており、これらの機器を複数利用するユーザも増加している。今後、一人のユーザが複数の通信機器を、利用するコンテンツの種類(音楽、動画、写真、ゲーム等)やネットワーク環境(自宅や職場のLAN、屋外での無線通信、公衆アクセスポイント等)に応じて使い分けるケース、特にネットワーク環境の変更に伴い通信機器を切り替え、切り替えた後の通信機器で同じサービスを引き続き利用するようなケースが考えられる。例として、ある通信機器からユーザ認証を必要とするサービスへアクセスし、ユーザ認証を受けたとする。その後、ユーザの利用する通信機器を切り替えた場合、切り替え後の通信機器とサービスとの間で通信を確立していないため、切り替え後の通信機器から同じサービスへアクセスすると、再度ユーザ認証を実施する必要がある。また通信機器ではなく、通信機器が備える通信方式を切り替えるケースにおいても、切り替えによって通信機器が利用するファーストワンマイルが変更になるため、通信方式を切替えた後にネットワーク接続を行う際に再度ユーザ認証を実施する必要がある。
【0004】
これに対し、非特許文献1では、ユーザが利用する通信機器を切り替えた場合にSSOを継続する方法を示している。非特許文献1では、通信機器の現在の認証状態、および利用サービスの途中状態を委譲アサーションとしてサービス提供システムから切替前の通信機器へ発行し、切替前の通信機器がこれを切替先の通信機器へ直接移管する。そして移管した委譲アサーションを、切替先の通信機器がサービス提供システムへ提示することで、認証の継続を実現する。
【0005】
また特許文献1では、通信方式を切り替えた場合にSSOを継続する方法を示している。特許文献1では、ユーザ認証処理が終了すると、認証装置はユーザの認証状態を管理すると共に、アクセス元の通信機器を識別するための端末識別子を発行し、通信機器へ返却する。そしてユーザが利用する通信方式を切り替えた後、通信機器が端末識別子を認証装置に提示し、認証装置が切り替え前の通信機器を利用していたユーザであるとみなすことで、認証の継続を実現する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−219935号公報
【非特許文献】
【0007】
【非特許文献1】“ Liberty ID-WSF Multi-Device SSO Deployment Guide”, Liberty Alliance Project,2008 http://www.projectliberty.org/liberty/content/download/4473/30604/file/draft-liberty-idwsf-mdsso-deployguide-v1.0-02.pdf
【発明の概要】
【発明が解決しようとする課題】
【0008】
非特許文献1では、通信機器間で移譲アサーションをオフラインで移譲する手続きが発生するため、ユーザの手作業が増え、その結果ユーザの負担が増大する。また、通信機器に移譲アサーションの取得、移管、サービス提供システムへの提示といった手続きを実行するための機能を組み込む必要がある。
【0009】
また、特許文献1においても、端末に端末識別子の取得、認証装置への提示といった手続きを実行するための機能を組み込む必要がある。
【0010】
このようにユーザが利用する通信機器に機能を新たに組み込む方法は、多種多様な通信機器が接続し多様なサービスを享受する大規模ネットワークでのサービス利用に対応することが困難である。
【課題を解決するための手段】
【0011】
上記の課題を解決するために、認証状態継承システムは、ユーザの認証状態を本システム上で一意に識別するための認証セッションIDに、ユーザが今後切り替えて利用する予定の端末や回線、通信方式といったユーザの通信環境(以下、環境)のIDを結び付けて管理し、ユーザが環境を切り替えた後に環境IDを取得し、環境IDと結びついた認証セッションIDから前の環境におけるユーザの認証状態を取得する。
【0012】
具体的には、認証状態継承システムは、第1の端末からアプリケーションサーバへのアクセスに関して認証処理を実行する認証サーバ、認証サーバによる認証処理の認証結果である認証状態を保持する手段と、認証状態を一意に識別する第1の認証セッションIDを発行する手段と、第2の端末を一意に識別する第2の端末IDに対応する認証チケットと第1の認証セッションIDとの受信に応答して、前述の認証状態を、第2の端末から前記アプリケーションサーバへのアクセスに関する認証状態であるとして第2の認証セッションIDを発行する手段とを有する認証代行サーバ、および、第1の端末を一意に識別する第1の端末IDと、認証代行サーバが発行した第1の認証セッションIDとを対応付けて記憶する手段と、第1の端末から第2の端末への、第1の端末からの切替要求に応答して、第1の認証セッションIDと、第2の端末IDとを対応付けて記憶する手段と、第2の端末からの端末切替完了処理要求に応答して、第2の端末IDを基に、記憶されている第1の認証セッションIDを取得する手段と、認証チケットと取得した第1の認証セッションIDを認証代行サーバへ送信する手段と、認証代行サーバが発行した第2の認証セッションIDと第1の認証セッションIDとを対応付けて記憶する手段とを有するユーザ環境管理サーバを備える。
【発明の効果】
【0013】
本発明により、ユーザが利用する端末などの環境を切り替えても、切替前の環境におけるユーザの認証状態を継承することができる。
【図面の簡単な説明】
【0014】
【図1】認証状態継承システムの構成図である。。
【図2】各構成要素のハードウェア構成を例示した図である。
【図3A】サービスの利用開始シーケンス図である。
【図3B】認証シーケンス図である。
【図4】端末登録シーケンス図である。
【図5】サービス利用(端末切替前)シーケンス図である。
【図6】サービス利用(端末切替後)シーケンス図である。
【図7A】認証フィルタリング機能の動作を示す状態遷移図である。
【図7B】認証状態管理機能の動作を示す状態遷移図である。
【図8】端末切替アプリケーションの動作を示す状態遷移図である。
【図9A】ログイン状態管理テーブルの例である。
【図9B】認証状態テーブルの例である。
【図9C】利用サービステーブルの例である。
【図10A】ユーザ認証テーブルの例である。
【図10B】端末認証テーブルの例である。
【図10C】利用端末管理テーブルの例である。
【図10D】認証継承管理テーブルの例である。
【図10E】サービス継承管理テーブルの例である。
【図10F】認証状態復元後の認証状態テーブルの例である。
【図10G】利用サービステーブルの例である。
【図11A】認証トークンの例である。
【図11B】認証継承情報取得要求のXMLメッセージの例である。
【図11C】認証継承情報取得応答のXMLメッセージの例である。
【図11D】サービス状態保存要求のXMLメッセージの例である。
【図11E】サービス状態保存応答のXMLメッセージの例である。
【図11F】認証状態復元要求のXMLメッセージの例である。
【図11G】認証状態復元応答のXMLメッセージの例である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態を、図面を用いて詳細に説明する。尚、実施形態に示すシステム構成要素のうち、同種の複数の要素を示す場合には、端末ST-1、端末ST-2のように表記する。また、複数の要素をまとめて説明する場合、例えば端末ST-1と端末ST-2といった複数の端末をまとめて説明する場合は、末尾を省略して単純に端末STと表記する。
【0016】
本実施形態は、SAML(Security Assertion Markup Language)を用いた認証状態継承システムの一例である。SAMLは標準化団体OASISにおいて策定された、認証、認可、属性の管理・流通を実現するためのフレームワークである。
【0017】
図1は、ユーザが利用端末を端末1から端末2へ切り替え、アプリケーションサーバへアクセスする際、ユーザ環境管理サーバが認証代行サーバと連携してユーザの認証状態を復元し、この復元した認証状態によりアプリケーションサーバがユーザにアクセスを許可する認証状態継承システムの構成図である。
【0018】
図1において、認証状態継承システムは、端末ST1およびST2、アプリケーションサーバAppS1およびAppS2、ユーザ環境管理サーバEMS、認証代行サーバAPS、認証サーバASによって構成されている。認証状態継承システムの各構成要素はネットワークNWに接続している。アプリケーションサーバAppSは、サービス状態管理テーブルAppS21、ログイン状態管理テーブルAppS31を備えている。ユーザ環境管理サーバEMSは、利用端末管理テーブルEMS21、認証継承管理テーブルEMS31、サービス継承管理テーブルEMS32を備えている。認証代行サーバAPSは、認証状態テーブルAPS11、利用サービステーブルAPS12を備えている。認証サーバASは、ユーザ認証テーブルAS11、端末認証テーブルAS12を備えている。各構成要素と各テーブルの対応関係は、上記に限らず、認証状態継承システムを具現化する際に、適宜変更してもよい。例えば、ネットワークNWに接続するストレージシステムに各テーブルを配置してもよい。また、ユーザ環境管理サーバEMS、認証代行サーバAPS、認証サーバASを一つの装置(サーバ)として構成することも可能である。
【0019】
以下の説明で必要となる用語を定義する。ユーザとは、端末STを操作する人間をいう。認証状態とは、ユーザや端末が認証サーバASから受けた認証に成功したか否かを示す状態をいう。認証状態の継承とは、切替前の端末ST1で認証を受けた認証状態と、切替後の端末ST2の端末情報が紐づいている状態をいう。ログインとは、アプリケーションサーバAppSが、認証の成功を示す認証状態を基に端末STからのアクセスを許可することをいう。セッションIDとは、端末STとアプリケーションサーバAppSとの間で一意に共有するIDをいう。認証セッションIDとは、認証処理に関するセッションを一意に識別するIDをいう。
【0020】
認証状態継承システムの特徴的な動作は、次のとおりである。認証サーバASは、端末ST1からアプリケーションサーバAppS1へのアクセスに関して認証処理を実行する。認証代行サーバAPSは、認証サーバASによる認証処理の認証結果である認証状態を保持し、認証状態を一意に識別する認証セッションIDを発行し、端末ST2を一意に識別する端末IDに対応する認証チケットと第1の認証セッションIDとの受信に応答して、前述の認証状態を、端末ST2からアプリケーションサーバAppS1へのアクセスに関する認証状態であるとして新たな認証セッションIDを発行する。ユーザ環境管理サーバは、端末ST1を一意に識別する端末IDと、認証代行サーバが発行した第1の認証セッションIDとを対応付けて記憶し、端末ST1から端末ST2への、端末ST1からの切替要求に応答して、第1の認証セッションIDと、端末ST2の端末IDとを対応付けて記憶し、端末ST2からの端末切替完了処理要求に応答して、端末ST2の端末IDを基に、記憶されている第1の認証セッションIDを取得し、認証チケットと取得した第1の認証セッションIDを認証代行サーバへ送信し、認証代行サーバが発行した第2の認証セッションIDと第1の認証セッションIDとを対応付けて記憶する。
【0021】
認証状態継承システムの各構成要素が備える機能について述べる。
【0022】
端末STは、アプリケーションサーバAppSとの間で通信し、ユーザがアプリケーションサーバAppSが提供するサービスを受けるための装置であり、アプリケーションサーバAppS、ユーザ環境管理サーバEMS、認証代行サーバAPS、認証サーバASとの通信を実施し、通信結果を表示する通信アプリケーションST10を備えている。
【0023】
アプリケーションサーバAppSは、端末STに対してサービスを提供する装置であり、サービスを実際に動かしているサービスアプリケーションAppS10、ユーザが利用しているサービスの途中状態を管理するサービス状態管理機能AppS20、サービスの途中状態を保存するサービス状態管理テーブルAppS21、ユーザや端末のログイン状態に応じて認証代行サーバAPSへ認証を委託する認証フィルタリング機能AppS30、ログイン状態を管理するログイン状態管理テーブルAppS31、および端末ST、ユーザ環境管理サーバEMSとの通信を実施する通信機能AppS40を備えている。
【0024】
ユーザ環境管理サーバEMSは、ユーザの認証状態の継承を管理する装置であり、サービスアプリケーションAppS10を除く、アプリケーションサーバAppSとして機能するためのアプリケーションサーバ機能EMS10、ユーザが普段利用する端末STの情報を管理する利用端末管理アプリケーションEMS20、端末STの情報を保存する利用端末管理テーブルEMS21、ユーザが利用する端末の切替を実行・管理する端末切替アプリケーションEMS30、認証状態の継承を保存する認証継承管理テーブルEMS31、端末切替後に利用する予定のサービスに関する情報を保存するサービス継承管理テーブルEMS32、およびアプリケーションサーバAppS、端末STとの通信を実施する通信機能EMS40を備えている。また、ユーザ環境管理サーバEMSのアプリケーション部に含まれる利用端末管理アプリケーションEMS20、端末切替アプリケーションEMS30はそれぞれ、アプリケーションサーバAppSとしてのアプリケーションサーバ機能EMS10に対する、サービスアプリケーションAppS10として機能する。
【0025】
認証代行サーバAPSは、アプリケーションサーバAppSより認証を委託され、各ユーザおよび利用する端末STの認証状態を管理する装置であり、各ユーザおよび利用する端末STの認証状態を管理する認証状態管理機能APS10、認証状態を保存する認証状態テーブルAPS11、各ユーザおよび端末STが現在利用しているサービスに関する情報を保存する利用サービステーブルAPS12、および端末ST、認証サーバASとの通信を実施する通信機能APS20を備えている。
【0026】
認証サーバASは、アプリケーションサーバAppSに代わり認証を実施する装置であり、ユーザおよび端末を認証する認証機能AS10、ユーザの認証情報を保存するユーザ認証テーブルAS11、端末の認証情報を保存する端末認証テーブルAS12、および端末STとの通信を実施する通信機能AS20を備えている。
【0027】
その他、ネットワークNWは企業内LANのようなプライベートネットワークでも、インターネットのようなオープンネットワークでも良い。
【0028】
図2は、図1の各構成要素のハードウェア構成を例示した図である。これらの機器は、CPU11と、メモリ12と、インターネットやLANなどのネットワークNWを介して他の装置と通信を行うための通信装置13と、キーボードやマウス等の入力装置14と、モニタやプリンタ等の出力装置15と、読取装置16と、ハードディスク等の外部記憶装置17とが、インタフェース10を介して接続されている情報処理装置である。また、読取装置16にはICカードやUSBメモリのような、可搬性を有する記憶媒体18を接続することができる。
【0029】
認証状態継承システムの各構成要素が備える各機能は、これらの機能を実現するプログラムがメモリ12上にロードされ、CPU11により実行されることにより具現化される。これらのプログラムは、あらかじめ、情報処理装置の外部記憶装置17に格納されていても良いし、必要なときに、読取装置16や通信装置13と情報処理装置が利用可能な媒体を介して、他の装置から外部記憶装置に導入されてもよい。媒体とは、たとえば、読取装置16に着脱可能な記憶媒体18、または通信装置13に接続可能なネットワークまたはネットワークを伝搬する搬送波やディジタル信号を指す。そして、プログラムは一旦外部記憶装置17に格納された後、そこからメモリ12上にロードされてCPU11に実行されてもよいし、あるいは外部記憶装置17に格納されることなく、直接メモリ12上にロードされて、CPU11に実行されてもよい。
【0030】
以下、認証状態継承システムにおいて、ユーザTaroが携帯電話の端末ST1を用いて、ユーザ認証を必要とするアプリケーションサーバAppS1および端末認証を必要とするアプリケーションサーバAppS2をそれぞれ利用する場合の動作について説明する。なお、アプリケーションサーバAppS1はオンラインショッピングのサービスを提供し、アプリケーションサーバAppS2は映像配信のサービスを提供するものとする。
【0031】
図3Aに示すサービス利用開始シーケンスを、図7Aに示す認証フィルタリング機能AppS30の動作を示す状態遷移図および図7Bに示す認証状態管理機能APS10の動作を示す状態遷移図を参照しながら説明する。図3Aのシーケンスにおいて、ユーザIDがTaroのユーザが、端末IDがmobile01である端末ST1の通信アプリケーションST10に表示されているUI(User Interface)画面から、アプリケーションサーバAppS1が提供するサービスの利用開始を端末ST1へ指示する。サービスの利用開始の指示に応答して、通信アプリケーションST10はサービス利用開始要求M1-1を作成し、アプリケーションサーバAppS1へ送信する。サービス利用開始要求M1-1には、IETFにおいてRFC2616で定義されているHTTPのGETメッセージを利用する。
【0032】
アプリケーションサーバAppS1の通信機能AppS40が端末ST1からサービス利用開始要求M1-1を受信すると、アプリケーションサーバAppS1の認証フィルタリング機能AppS30は、サービス利用開始要求M1-1にセッションIDが含まれてないかを確認する。セッションIDが含まれてない場合(図7AのS1-1)、ログイン状態管理テーブルAppS31から、ユーザのログイン状態を判定するために必要な認証チケットを検索する。この時点では、ログイン状態管理テーブルAppS31に格納されている値が全て空であるとする。
【0033】
図9Aに示すログイン状態管理テーブルAppS31の各項目(カラム)について説明する。セッションIDは、前述のように、端末STとアプリケーションサーバAppSとの間で一意に共有するIDである。認証チケットは、認証結果を証明する認証トークンと一意に結びつく認証チケットである。アプリケーションは、ユーザや端末STが利用するサービスアプリケーションAppS10の名前である。サービス継続参照点は、端末STがサービスアプリケーションAppS10を継続して利用する場合にアクセスするURLである。
【0034】
この時点では、サービス利用開始要求M1-1に認証チケットが含まれていないため、認証フィルタリング機能AppS30は、ユーザをログイン状態でないと判定し(図7AのT1-1)、セッションIDを発行し、ログイン状態管理テーブルAppS31に登録する。認証フィルタリング機能AppS30は、通信機能AppS40を介して認証代行サーバAPSへユーザ認証を委託するための認証チケット要求M1-2を端末ST1へ送信し、内部状態をサービス要求待ち状態(図7AのS1-1)から認証チケット取得待ち状態(図7AのS1-2)へ遷移する。認証チケット要求M1-2には、SAML2.0 BindingsのHTTP Redirect Bindingに規定された方法に従い、SAMLのAuthnRequestメッセージをHTTP1.1の302 Foundレスポンスメッセージに埋め込む。そしてセッションIDをHTTP cookieに設定する。
【0035】
端末ST1の通信アプリケーションST10は、アプリケーションサーバAppS1より認証チケット要求M1-2を受信すると、cookieからセッションIDを取得して端末ST1内部へ保存する。続いて通信アプリケーションST10は、認証チケット要求M1-3として認証チケット要求M1-2を認証代行サーバAPSへリダイレクトする。
【0036】
認証代行サーバAPSの通信機能APS20は端末ST1より認証チケット要求M1-3を受信すると、認証状態管理機能APS10は、認証チケット要求M1-3に認証セッションIDが含まれてないかを確認する。認証セッションIDが含まれてない場合(図7BのS2-1)、認証チケット要求M1-3内のAuthnRequestに記載されたアプリケーションサーバAppS1のURL(AssertionConsumerServiceURL)を基に、アプリケーションサーバAppS1が要求する認証種別(ユーザ認証または端末認証)を判定する。続いて、利用サービステーブルAPS12から、ユーザの認証状態を判定するために必要な認証セッションIDおよび、認証種別が、判定した認証種別と一致するサービス向け認証トークンを検索する。この時点では、認証状態テーブルAPS11および利用サービステーブルAPS12に格納されている値が全て空であるする。
【0037】
図9Bに示す認証状態テーブルAPS11の各項目について説明する。セッションIDは、前述のように、端末STとアプリケーションサーバAppSとの間で一意に共有するセッションIDである。認証セッションIDは、前述のように、認証処理に関するセッションを一意に識別するIDである。IDは、認証種別に保持している認証対象のIDでる。認証種別は、認証対象の種別(ユーザの場合USER、端末の場合TERM)である。したがって、認証種別がUSERの場合にIDはユーザIDであり、認証種別がTERMの場合にIDは端末IDである。認証トークンは、認証結果を証明する認証トークンである。
【0038】
図9Cに示す利用サービステーブルAPS12の各項目について説明する。認証セッションIDは、認証状態テーブルAPS11の認証セッションIDと同様である。サービスパスは、認証チケット要求M1-3内のAuthnRequestに記載されたアプリケーションサーバAppSのURL(Assertion ConsumerServiceURL)である。サービス向け認証トークンは、認証サーバASより取得した認証トークンを、アプリケーションサーバAppS用に発行した認証トークンである。認証チケットは、サービス向け認証トークンと一意に結びつく認証チケットである。
【0039】
認証トークンは、SAML2.0で規定された認証アサーションを基に、新たに認証用の名前空間authを定義したXML文書として記述する。図11Aは、認証トークンのうち、認証状態の継続およびシングルサインオンの実現に必要な部分を示すものである。認証トークンの発行者名をsaml:Issuerタグの要素として記載し、認証対象のIDをsaml:NameIDタグの要素として記載し、サービスアプリケーションAppS10 のパスを属性がname=”ServicePath”で指定されたauth:Parameterタグの要素として記載し、認証種別を属性がname=”AuthType”で指定されたauth:Parameterタグの要素として記載する。
【0040】
この時点では、認証チケット要求M1-3に認証チケットが付与されていないため、認証代行サーバAPSの認証状態管理機能APS10はユーザが認証済ではないと判定し(図7BのT2-1)、セッションIDおよび認証セッションIDを発行し、認証状態テーブルAPS11および利用サービステーブルAPS12にそれぞれ登録する。そして、認証状態管理機能APS10は、図3Bに示す認証シーケンスにおいて認証を実施するための認証要求M2-1を端末ST1へ送信し、認証状態管理機能APS10の内部状態を認証要求待ち状態(図7BのS2-1)から認証結果待ち状態(図7BのS2-2)へ遷移する。認証要求M2-1は、SAML2.0 BindingsのHTTP Redirect Bindingに規定された方法に従い、SAMLのAuthnRequestメッセージをHTTP1.1の302 Foundレスポンスメッセージに埋め込む。そしてセッションIDをHTTP cookieに設定し、認証セッションIDをLocationヘッダに設定された認証サーバASのURL中にクエリパラメータとして付加する。
【0041】
端末ST1の通信アプリケーションST10は、認証代行サーバAPSより認証要求M2-1を受信すると、cookieからセッションIDを取得して端末ST1内部へ保存する。続いて認証要求M2-1を認証要求M2-2として、認証サーバASへリダイレクトする。
【0042】
認証サーバASの通信機能AS20は端末ST1より認証要求M2-2を受信すると、認証機能AS10は認証要求M2-2内のAuthnRequestに記載されたアプリケーションサーバAppS1のURL(AssertionConsumerServiceURL)を基に、アプリケーションサーバAppS1が要求する認証種別(ユーザ認証または端末認証)を判定する。続いて、判定結果を基に認証情報入力要求M2-3を作成し、端末ST1へ送信する。認証情報入力要求M2-3は、認証種別がユーザの場合、IETFにおいてRFC2617で定義されているHTTP Digest認証に基づき、HTTP1.0の401 Unauthorizedレスポンスメッセージを使用する。
【0043】
端末ST1の通信アプリケーションST10は、認証サーバASより認証情報入力要求M2-3を受信すると、クレデンシャルとしてのユーザIDおよびパスワードを入力する画面を出力装置15に接続されたモニタへ出力する。そしてユーザが入力装置14からユーザIDおよびパスワードを入力すると、通信アプリケーションST10はクレデンシャルを含んだ認証情報入力応答M2-4を作成し、認証サーバASへ送信する。
【0044】
認証サーバASの通信機能AS20は端末ST1より認証情報入力応答M2-4を受信すると、認証機能AS10は認証情報入力応答M2-4からクレデンシャルを取り出し、ユーザ認証テーブルAS11に格納された値を用いてユーザTaroを認証する。ユーザ認証テーブルAS11に格納されている情報は、図10Aに示すように、ユーザIDを格納するID、およびパスワードのハッシュ値を格納するHashレコードによって構成される。
【0045】
検証の結果、認証機能AS10はクレデンシャルを提示したユーザのIDがTaroであると認証すると、図11Aに示した認証トークンの形式で認証結果を作成する。そして、認証応答M2-5を作成して端末ST1へ送信する。認証応答M2-5は、SAML2.0 BindingsのHTTP Redirect Bindingに規定された方法に従い、SAMLのResponseメッセージをHTTP1.1の302 Foundレスポンスメッセージに埋め込む。そして認証セッションIDをLocationヘッダに設定された認証代行サーバASのURL中にクエリパラメータとして付加する。
【0046】
端末ST1の通信アプリケーションST10は、認証サーバASより認証応答M2-5を受信すると、認証応答M2-5を認証応答M2-6として認証代行サーバAPSへリダイレクトする。
【0047】
認証代行サーバAPSの通信機能APS30は端末ST1より認証応答M2-6を受信すると、認証状態管理機能APS10は認証応答M2-6に記載されたResponseメッセージから認証トークンを取得する(図7BのT2-2)。そして認証トークンおよび認証トークン内に記述しているIDおよび認証種別を認証状態テーブルAPS11に登録すると、内部状態を認証トークン待ち状態(図7BのS2-2)から認証済状態(図7BのS2-3)へ遷移する。この時点で、図9Bの(a)のように認証状態テーブルAPS11に格納されている情報が新たに追加されている。
【0048】
その後、認証状態管理機能APS10は、認証サーバASから端末STを経由して取得した認証トークンを基に、サービスアプリケーションAppS10用の認証トークンおよび認証チケットを発行する。そしてサービスアプリケーションAppS10用の認証トークン(サービス向け認証トークン)、認証チケット、取得した認証種別、ID、および認証サーバASより取得した認証トークンに記述しているサービスパスの値を、利用サービステーブルAPS12へ登録する(図7BのT2-3)。この時点で、図9Cの(a)のようにサービス利用テーブルAPS12に格納されている情報が新たに追加されている。
【0049】
続いて、認証代行サーバAPSの通信機能APS30は認証チケット応答M1-4を作成して端末ST1へ送信する。認証チケット応答M1-4は、SAML2.0 BindingsのHTTP Artifact Bindingに規定された方法に従い、認証チケットをHTTP1.1の302 Foundレスポンスメッセージに埋め込む。
【0050】
端末ST1の通信アプリケーションST10は、認証代行サーバAPS より認証チケット応答M1-4を受信すると、認証チケット応答M1-4を認証チケット応答M1-5としてアプリケーションサーバAppS1へリダイレクトする。
【0051】
アプリケーションサーバAppS1の通信機能AppS40は端末ST1より認証チケット応答M1-5を受信すると、認証フィルタリング機能AppS30は認証チケット応答M1-5に記載されたResponseメッセージから認証チケットを取得し、バッファ領域に退避する。そして認証チケット解決要求M1-6を作成し、認証代行サーバAPSへ送信する(図7AのT1-2)。そして認証フィルタリング機能AppS30の内部状態を認証チケット取得待ち状態(図7AのS1-2)から認証チケット解決待ち状態(図7AのS1-3)へ遷移する。認証チケット解決要求M1-6には、アプリケーションサーバAppSと認証代行サーバAPSとの間で規定したSOAPのリクエストメッセージを使用し、更にSAML2.0 BindingsのHTTP Artifact Bindingに規定された方法に従い、認証チケットを含めたSAMLのArtifactResolveメッセージをSOAPのメッセージボディに記載する。SOAPは、WWW関連技術の標準化団体であるW3Cによって策定された、オブジェクト間通信を実現するための通信プロトコルである。
【0052】
認証代行サーバAPSの通信機能APS20はアプリケーションサーバAppS1より認証チケット解決要求M1-6を受信すると、認証状態管理機能APS10は認証チケット解決要求M1-6から認証チケットを取得し、取得した認証チケットに対応する、認証状態テーブルAPS11のサービス向け認証トークンを検索する(詳細には、取得した認証チケットに対応する認証セッションIDを取得し、取得した認証セッションIDを同じくするサービス向け認証トークンを検索する)。検索の結果、認証チケット解決要求M1-6から取得した認証チケットと関連づけられたサービス向け認証トークンを取得する。そして認証トークン取得通知M1-7を作成し、アプリケーションサーバAppS1へ送信する。認証トークン取得通知M1-7には、アプリケーションサーバAppSと認証代行サーバAPSとの間で規定したSOAPのレスポンスメッセージを使用し、更にSAML2.0 BindingsのHTTP Artifact Bindingに規定された方法に従い、認証トークンを含めたSAMLのArtifactResponseメッセージをSOAPのメッセージボディに記載する。
【0053】
アプリケーションサーバAppS1の通信機能AppS40は認証代行サーバAPSより認証トークン取得通知M1-7を受信すると、認証フィルタリング機能AppS30は認証トークン取得通知M1-7からサービス向け認証トークンを取得する。そしてサービス向け認証トークンに記載された認証結果が認証成功であることを確認すると、バッファ領域に退避させていた認証チケットを取得し、ログイン状態テーブルAppS31に認証チケットおよび利用するサービスアプリケーションAppS10の名前を登録する(図7AのT1-3)。この時点で、図9Aの(a)のように認証状態テーブルAPS11に格納されている情報のうち、斜体で示した部分(サービス継続参照点)以外の情報が新たに追加されている。その後、認証フィルタリング機能AppS30の内部状態を認証チケット解決待ち状態(図7AのS1-3)からログイン状態(図7AのS1-4)へ遷移する。
【0054】
続いて、アプリケーションサーバAppS1のサービスアプリケーションAppS10はサービス利用開始要求M1-1の内容に基いて、ユーザへ提供するアプリケーションコンテンツを作成し、更にサービス利用開始応答M1-8を作成して端末ST1に送信する。サービス利用開始応答M1-8には、HTTPの200 OKレスポンスメッセージを使用し、アプリケーションコンテンツをBody部に記載する。
【0055】
端末ST1の通信アプリケーションST10はアプリケーションサーバAppS1よりサービス利用開始応答M1-8を受信すると、そこからアプリケーションコンテンツを取得し、出力装置15に接続されたモニタへ出力する。
【0056】
以上が、ユーザが端末ST1を用いて、ユーザ認証を必要とするアプリケーションサーバAppS1を利用する場合の動作である。
【0057】
次に、ユーザTaroが同じ端末ST1を用いて、端末認証を必要とするアプリケーションサーバAppS2を利用する場合の動作について、アプリケーションサーバAppS1を利用する場合と異なる端末認証の部分について説明する。
【0058】
端末ST1と認証サーバASとの間で実施する端末認証において、認証サーバASの認証機能AS10はアプリケーションサーバAppS2が要求する認証種別を端末と判定すると、判定結果を基に認証情報入力要求M2-3を作成し、端末ST1へ送信する。認証情報入力要求M2-3は認証種別が端末の場合、HTTPの200 OKレスポンスメッセージに、認証サーバASへのリンク情報を含めたHTMLを含める。そして端末認証を実現するため、端末ST1が端末IDをHTTPリクエストメッセージのUser-Agentヘッダに付与するよう、HTMLのa要素に特別な属性termauthを付与する。端末ST1の通信アプリケーションST10は属性termauthを含むa要素のリンク情報を参照すると、端末ST1の端末IDを端末ST1内から取得し、HTTPリクエストメッセージのUser-Agentヘッダに付与するものとする。
【0059】
端末ST1の通信アプリケーションST10は認証サーバASより認証情報入力要求M2-3を受信すると、端末ST1内から端末ST1の端末IDを取得する。そして認証情報入力応答M2-4を作成し、HTTPリクエストメッセージのUser-Agentヘッダに端末ST1の端末IDをした後、認証サーバASへ送信する。
【0060】
認証サーバASの通信機能AS20は端末ST1より認証情報入力応答M2-4を受信すると、認証機能AS10は認証情報入力応答M2-4からクレデンシャルを取り出し、端末認証テーブルAS12に格納されている端末IDを用いて端末ST1を認証する。端末認証テーブルAS12は図10Bに示すように、端末IDとして端末STのIDが登録されている。
【0061】
検証の結果、認証機能AS10はクレデンシャルを提示した端末が端末ST1であると認証すると、図11Aで示した認証トークンの形式で認証結果を作成する。
【0062】
そして、認証代行サーバAPSにおいて、認証状態管理機能APS10は、認証サーバASから端末STを経由して取得した認証トークンを基に、端末ST1に対する認証チケット、認証トークンを発行し、認証状態テーブルAPS11および利用サービステーブルAPS12の各項目に取得した情報をそれぞれ登録する。この時点で、図9Bの(b)および図9Cの(b)のように、認証状態テーブルAPS11および利用サービステーブルAPS12に格納されている情報が新たに追加されている。
【0063】
また、アプリケーションサーバAppS2の認証フィルタリング機能AppS30が図7AのT1-3において認証トークンを取得し、ログイン状態管理テーブルAppS31のサービス継続参照点以外の各項目に取得した情報をそれぞれ登録する。
【0064】
以上が、ユーザが端末ST1を用いて、端末認証を必要とするアプリケーションサーバAppS2を利用する場合の、端末認証に関する動作である。
【0065】
次に、ユーザTaroが利用する端末ST1の情報を、ユーザ認証および端末認証が必要なユーザ環境管理サーバEMSへ登録する場合の動作について説明する。なお、ユーザTaroが利用する端末ST1の情報が、認証代行サーバAPSの認証状態テーブルAPS11に登録されているものとする。
【0066】
まず、図4に示す端末登録シーケンスにおいて、ユーザは端末ST1の通信アプリケーションST10に表示されているUI画面から、ユーザ環境管理サーバEMSが提供する利用端末管理アプリケーションEMS20の利用開始を端末ST1へ指示する。利用端末管理アプリケーションEMS20の利用開始の指示に応答して、通信アプリケーションST10は端末登録要求M3-1を作成し、ユーザ環境管理サーバEMSへ送信する。端末登録要求M3-1には、HTTPのGETメッセージを利用する。
【0067】
ユーザ環境管理サーバEMSの通信機能EMS40は端末ST1より端末登録要求M3-1を受信すると、アプリケーションサーバ機能EMS10はアプリケーションサーバAppSの認証フィルタリング機能AppS30を呼び出し(前述したように、アプリケーションサーバ機能EMS10は、アプリケーションサーバAppSのサービスアプリケーションApps10以外の機能を有している。)、利用端末管理アプリケーションEMS20について認証フィルタリング機能AppS30の内部状態がログイン状態(図7AのS1-4)か否かを判定する。この時点では、端末登録要求M3-1に認証チケットが付与されていないため、認証フィルタリング機能AppS30の内部状態はサービス要求待ち状態(図7AのS1-1)であり、認証チケット要求M1-2を作成し端末ST1へ送信し、以降ユーザ認証および端末認証を実施する(図7AのT1-1)。
【0068】
ここで、認証代行サーバAPSが端末ST1から認証チケット要求M1-3を受信し、認証状態管理機能APS10の内部状態が認証済かどうか判定する際、認証チケット要求M1-3からセッションIDを、認証状態テーブルAPS11(図9Bの(a)および(b))からユーザTaroおよび端末ST1の認証トークンをそれぞれ取得する(図7BのT2-4)。そして認証代行サーバAPSは認証サーバへ認証を委託せず、内部状態を認証済状態する(図7BのS2-4)。
【0069】
認証代行サーバAPSの認証状態管理機能APS10は取得した認証トークンからサービス向けのユーザ認証トークン、ユーザ認証チケット、端末認証トークン、端末認証チケットを発行し、認証セッションID、サービスパスと共に利用サービステーブルAPS12へ登録する(図7BのT2-3)。この時点で、図9Cの(c)のように、利用サービステーブルAPS12に格納されている情報が新たに追加されている。
【0070】
その後ユーザ認証および端末認証の一連の処理(図4のM1-7トークン取得まで)が終了すると、ユーザ環境管理サーバEMSの利用端末管理アプリケーションEMS20は、取得したユーザ認証トークンおよび端末認証トークンから、それぞれユーザIDおよび端末IDを取得する。そして利用端末管理テーブルEMS21について、ユーザID Taroと端末ID mobile01の組を検索する。この時点では、利用端末管理テーブルEMS21に格納されている情報が図10Cに示すもので、テーブル内の値が(a)に示すものだとする。
【0071】
検索の結果、ユーザID Taroと端末ID mobile01との組は登録されていないので、ユーザ環境管理サーバEMSの利用端末管理アプリケーションEMS20は、ユーザIDと端末ST1のIDの組を利用端末管理テーブルEMS21へ登録する。この時点で、図10Cの(b)のように、利用端末管理テーブルEMS21に格納されている情報が新たに追加されている。
【0072】
その後、ユーザ環境管理サーバEMSの通信機能EMS40は端末登録応答M3-2を作成し、端末ST1へ送信する。端末登録応答M3-2はHTTPの200 OKレスポンスメッセージに、端末登録の結果を記したHTMLを含める。
【0073】
そして端末ST1の通信アプリケーションST10が端末登録応答M3-2を受信すると、受信メッセージに含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザがモニタを閲覧し、端末登録が完了したことを確認する。
【0074】
以上が、ユーザが利用する端末ST1の情報を、ユーザ認証および端末認証が必要なユーザ環境管理サーバEMSへ登録する動作である。
【0075】
次に、ユーザTaroが端末ST1を用いて、ユーザ認証を必要とするアプリケーションサーバAppS1、および端末認証を必要とするアプリケーションサーバAppS2の提供するサービスを利用し、サービス利用中に端末ST1から端末ST2へ端末切り替えし、続いてユーザTaroが端末ST2用いて、アプリケーションサーバAppS1およびアプリケーションサーバAppS2の提供するサービスを、端末切り替え前の状態から継続して受けられるように再開する場合の動作について説明する。
【0076】
まず、ユーザTaroが端末ST1を用いて、ユーザ認証を必要とするアプリケーションサーバAppS1、および端末認証を必要とするアプリケーションサーバAppS2の提供するサービスを利用する動作については説明済である。
【0077】
次に、ユーザTaroが端末ST1から端末ST2へ切り替える際、ユーザの認証状態およびユーザ・端末が利用しているサービスの利用状態を継承する、端末切り替えの動作について説明する。
【0078】
図5に示すサービス利用(端末切替前)シーケンスを、図8に示す端末切替アプリケーションEMS30の動作を示す状態遷移図を参照しながら説明する。図5のシーケンスにおいて、ユーザは端末ST1の通信アプリケーションST10に表示されているUI画面から、ユーザ環境管理サーバEMSが提供する端末切替アプリケーションEMS30の利用開始を端末ST1へ指示する。端末切替アプリケーションEMS30の利用開始の指示に応答して、通信アプリケーションST10は端末切替要求M4-1を作成し、ユーザ環境管理サーバEMSへ送信する。端末切替要求M4-1にはHTTPのGETメッセージを利用する。
【0079】
ユーザ環境管理サーバEMSの通信機能EMS40は端末ST1より端末切替要求M4-1を受信すると、アプリケーションサーバ機能EMS10はアプリケーションサーバAppSの認証フィルタリング機能AppS30を呼び出し、端末切替アプリケーションEMS30について認証フィルタリング機能AppS30の内部状態がログイン状態(図7AのS1-4)か否かを判定する。この時点では、端末切替アプリケーションEMS30に対して出された認証チケットが存在しないため、認証フィルタリング機能AppS30の内部状態はサービス要求待ち状態(図7AのS1-1)であり、ユーザ認証を実施する。
【0080】
ユーザ認証の実施の過程で、認証代行サーバAPSの認証状態管理機能APS10は、認証状態テーブルAPS11に保存している認証トークンから、サービス向けのユーザ認証トークン、ユーザ認証チケットを発行する。そして、これらを、認証セッションID、サービスパスと共に利用サービステーブルAPS12へ登録する(図7BのT2-3)。この時点で、図9Cの(d)のように、利用サービステーブルAPS12に格納されている情報が新たに追加されている。
【0081】
その後ユーザ認証および端末認証の一連の処理が終了すると、ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、ユーザ認証トークンからユーザIDを取得しバッファ領域へ退避するとともに、認証継承情報取得要求M4-2を作成して認証代行サーバAPSへ送信する(図8のT3-1)。そして内部状態をサービス要求待ち状態(図8のS3-1)から認証継承情報取得待ち状態(図8のS3-2)へ遷移する。
【0082】
認証継承情報取得要求M4-2にはHTTPのGETメッセージを使用し、認証代行サーバAPSとユーザ環境管理サーバEMSとの間で規定したSOAPのリクエストメッセージを、GETメッセージのBody部に記載する。また、認証の継承に必要な情報を取得するためのXMLメッセージを、SOAPのメッセージボディに記載する。図11Bは、認証継承情報取得要求のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、ユーザ認証チケットをauthticketタグの要素として記載する。
【0083】
認証代行サーバAPSの通信機能APS20はユーザ環境管理サーバEMSより認証継承情報取得要求M4-2を受信すると、認証状態管理機能APS10は認証継承情報取得要求M4-2に含まれるユーザ認証チケットを基に、利用サービステーブルAPS12について、ユーザTaroの認証セッションIDを検索・取得する。続いて、取得した認証セッションIDを基に、ユーザTaroおよび端末ST1が利用したアプリケーションサービスAppS10のパス、および認証チケットを検索・取得する。その後、認証継承情報取得応答M4-3を作成し、ユーザ環境管理サーバEMSへ送信する。
【0084】
認証継承情報取得応答M4-3にはHTTPの200 OKレスポンスメッセージを使用し、認証代行サーバAPSとユーザ環境管理サーバEMSとの間で規定したSOAPのレスポンスメッセージを、200 OKリクエストメッセージのBody部に記載する。また、認証の継承に必要な情報を含めたXMLメッセージを、SOAPのメッセージボディに記載する。
【0085】
図11Cは、認証継承情報取得応答のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものである。ユーザTaroの認証セッションIDをauthSessionIdタグの要素として記載する。また利用中のアプリケーションサービスAppS10のパスと認証チケットの組をServiceInfoタグの要素として記載し、アプリケーションサービスAppS10のパスはServiceInfoタグの子要素であるpathタグの要素として記載し、認証チケットはServiceInfoタグの子要素であるticketタグの要素として記載する。
【0086】
ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、認証代行サーバAPSより認証継承情報取得応答M4-3を受信すると、認証セッションID、利用中のアプリケーションサービスAppS10のパスおよび認証チケットを取得し、バッファ領域に保存する。その後、利用サービス一覧通知M4-4を作成し、端末ST1へ送信するとともに(図8のT3-2)、内部状態を認証継承情報取得待ち状態(図8のS3-2)から利用サービスパス取得待ち状態(図8のS3-3)へと遷移する。利用サービス一覧通知M4-4にはHTTPの200 OKレスポンスメッセージに、現在端末ST1が利用中のサービスアプリケーションAppS10のパスをリスト化し、リスト中の個々のパスの横にチェックボックスを設けたHTMLを含める。
【0087】
端末ST1の通信アプリケーションST10はユーザ環境管理サーバEMSより利用サービス一覧通知M4-4を取得すると、利用サービス一覧通知M4-4に含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザは入力装置14を操作し、端末切替後も途中からサービスを再開したいサービスにチェックを入れると、通信アプリケーションST10は利用サービス選択通知M4-5を作成し、ユーザ環境管理サーバEMSへ送信する。本実施形態では、ユーザはオンラインショッピングサービスを端末切替後も利用するものとする。
【0088】
ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、端末ST1より利用サービス選択通知M4-5を受信すると、選択されたサービスパスの一覧をバッファ領域へ退避する。続いて、バッファ領域に保存されているユーザIDを基に、利用端末管理テーブルEMS21についてユーザTaroの利用する端末IDの一覧を検索・取得する。そして登録端末一覧通知M4-6を作成し、端末ST1へ送信するとともに(図8のT3-3)、内部状態を利用サービスパス取得待ち状態(図8のS3-3)から切替先端末ID取得待ち状態(図8のS3-4)へと遷移する。登録端末一覧通知M4-6にはHTTPの200 OKレスポンスメッセージに、普段端末ST1が利用する端末STの端末IDをリスト化し、リスト中の個々のパスの横にラジオボタンを設けたHTMLを含める。
【0089】
端末ST1の通信アプリケーションST10はユーザ環境管理サーバEMSより登録端末一覧通知M4-6を取得すると、登録端末一覧通知M4-6に含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザは入力装置14を操作し、切り替えたい端末STの端末IDにチェックを入れると、通信アプリケーションST10は切替先端末通知M4-7を作成し、ユーザ環境管理サーバEMSへ送信する。本実施形態では、ユーザは携帯電話の端末ST1から、デジタルテレビ端末ST2へ切り替えるものとする。
【0090】
ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、端末ST1より切替先端末通知M4-7を受信すると、選択された端末STの端末IDと、バッファ領域に保存している認証セッションIDを結びつけて、認証継承管理テーブルEMS31へ登録する。また、バッファ領域に保存している、端末切替後にサービスの利用を再開するアプリケーションサービスAppSのパスの一覧を、認証セッションIDおよび認証チケットと結びつけてサービス継承管理テーブルEMS32へ保存する。この時点で、図10Dの(a)および図10Eの(a)のように、認証継承管理テーブルEMS31およびサービス継承管理テーブルEMS32にそれぞれ格納されている情報が新たに追加されている。
【0091】
次に端末切替アプリケーションEMS30はサービス状態保存要求M4-8を作成し、アプリケーションサーバAppS1およびアプリケーションサーバAppS2へ送信するとともに(図8のT3-4)、内部状態を切替先端末ID取得待ち状態(図8のS3-4)からサービス状態保存処理状態(図8のS3-5)へ遷移する。サービス状態保存要求M4-8にはHTTPのGETメッセージを使用し、アプリケーションサーバAppSとユーザ環境管理サーバEMSとの間で規定したSOAPのリクエストメッセージをGETメッセージのBody部に記載する。また、利用中のサービス保存を指示するのに必要なパラメータを含んだXMLメッセージを、SOAPのメッセージボディに記載する。図11Dは、サービス状態保存要求のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、認証チケットをauthticketタグの要素として記載する。
【0092】
アプリケーションサーバAppS1の通信機能AppS40がユーザ環境管理サーバEMSよりサービス状態保存要求M4-8を受信すると、サービス状態管理機能AppS20はサービス状態保存要求M4-8から認証チケットを取得し、この認証チケットを基にログイン状態テーブルAppS31について、一致する認証チケットを検索する。一致する認証チケットが存在すれば、その認証チケットに対応するアプリケーション(名)を保存し、保存したアプリケーションの識別情報をサービス継続参照点レコードに登録する。そしてサービス状態保存応答M4-9を作成し、ユーザ環境管理サーバEMSへ送信する。
【0093】
サービス状態保存応答M4-9にはHTTPの200 OKレスポンスメッセージを使用し、アプリケーションサーバAppSとユーザ環境管理サーバEMSとの間で規定したSOAPのレスポンスメッセージを200 OKレスポンスメッセージのBody部に記載する。また、保存したアプリケーション名を含んだXMLメッセージを、SOAPのメッセージボディに記載する。図11Eは、サービス状態保存応答のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、保存結果をresultタグの要素として記載する。
【0094】
またアプリケーションサーバAppS2は、アプリケーションサーバAppS1と同様に利用中のサービス状態を保存し、サービス状態保存応答M4-9を作成すると、ユーザ環境管理サーバEMSへ送信する。
【0095】
ユーザ環境管理サーバEMSの通信機能EMS40が、アプリケーションサーバAppS1およびアプリケーションサーバAppS2からサービス状態保存応答M4-9をそれぞれ受信すると、端末切替アプリケーションEMS30は端末切替完了通知M4-10を作成し、端末ST2へ送信するとともに(図8のT3-5)、端末切替アプリケーションEMS30の内部状態をサービス状態保存処理状態(図8のS3-5)からサービス要求待ち状態(図8のS3-1)へ遷移する。端末登録応答M4-10にはHTTPの200 OKレスポンスメッセージに、端末切替手続きの結果を記したHTMLを含める。
【0096】
そして端末ST2の通信アプリケーションST10が端末切替完了通知M4-10を受信すると、受信メッセージに含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザがモニタを閲覧して端末切替手続きが完了したことを確認する。
【0097】
以上が、ユーザTaroが端末ST1を用いて、端末ST1から端末ST2へ切り替える際、ユーザの認証状態およびユーザ・端末が利用しているサービスの利用状態を継承する、端末切り替え手続きの動作である。
【0098】
次に、ユーザTaroが端末ST2を用いて、アプリケーションサーバAppS1の提供するサービスを途中から再開する場合の動作について説明する。
【0099】
図6に示すサービス利用(端末切替後)シーケンスを、図8に示す端末切替アプリケーションEMS30の内部動作を示す状態遷移図を参照しながら説明する。図6のシーケンスにおいて、ユーザは端末ST2の通信アプリケーションST10に表示されているUI画面から、ユーザ環境管理サーバEMSが提供する端末切替アプリケーションEMS30の利用開始を端末ST2へ指示する。すると、通信アプリケーションST10は端末切替完了処理要求M5-1を作成し、ユーザ環境管理サーバEMSへ送信する。端末切替完了処理要求M5-1にはHTTPのGETメッセージを利用する。
【0100】
ユーザ環境管理サーバEMSの通信機能EMS40は端末ST2より端末切替完了処理要求M5-1を受信すると、アプリケーションサーバ機能EMS10はアプリケーションサーバAppSとして認証フィルタリング機能AppS30を呼び出し、端末切替アプリケーションEMS30について認証フィルタリング機能AppS30の内部状態がログイン状態(図7AのS1-4)か否かを判定する。この時点では端末切替完了処理要求M5-1に認証チケットが付与されていないため、端末認証を実施する。
【0101】
その後、認証代行サーバAPSは端末ST2に対する端末認証トークンを保持していないため、端末ST2は認証サーバASとの間で端末認証処理を実施し、認証サーバASの認証機能AS10は端末ST2に対する端末認証トークンを発行する。認証代行サーバAPSは端末認証トークンを、新たに出した認証セッションIDと共に認証状態テーブルAPS11へ登録した後、認証トークンからサービス向けの端末認証トークン、端末認証チケットを発行する。そして、認証セッションID、サービスパスと共に利用サービステーブルAPS12へ登録する(図7BのT2-3)。この時点で、図9Bの(c)および図9Cの(e)のように、認証状態テーブルAPS11および利用サービステーブルAPS12に格納されている情報が新たに追加されている。
【0102】
その後、端末認証の一連の処理が終了すると、ユーザ環境管理サーバEMSの端末切替アプリケーションEMS30は、端末認証トークンから端末ST2の端末IDを取得し、この端末IDを基に認証継承管理テーブルEMS31について認証セッションを検索・取得する。そして認証状態復元要求M5-2を作成し、認証代行サーバAPSへ送信するとともに(図8のT3-6)、端末切替アプリケーションEMS30の内部状態をサービス要求待ち状態(図8のS3-1)から認証状態復元待ち状態(図8のS3-6)へ遷移する。認証状態復元要求M5-2にはHTTPのGETメッセージを使用し、ユーザ環境管理サーバEMSと認証代行サーバAPSとの間で規定したSOAPのリクエストメッセージをGETメッセージのBody部に記載する。また、利用中のサービス保存を指示するのに必要なパラメータを含んだXMLメッセージを、SOAPのメッセージボディに記載する。図11Fは、認証状態復元要求のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、認証セッションIDをauthSessionIDタグの要素として記載し、端末認証チケットをauthticketタグの要素として記載する。
【0103】
認証代行サーバAPSの通信機能APS20が認証状態復元要求M5-2を受信すると、認証状態管理機能APS10は認証状態復元要求M5-2から端末ST1に関する認証セッションID、および端末認証チケットを取得し、バッファ領域へ保存する。
【0104】
その後、認証状態管理機能APS10は認証状態を復元する。具体的にはまず、端末認証チケットを基に、利用サービステーブルAPS12について端末ST2に関する認証セッションIDを検索・取得し、バッファ領域へ保存する。そして、この認証セッションIDの値を、端末ST1に関する認証セッションIDの値に変更する。次に、端末ST1に関する認証セッションIDを基に、利用サービステーブルAPS12について一致する認証セッションIDを検索する。そして一致する認証セッションIDが登録されているレコードのうち、認証種別が”TERM”のレコードを削除する。これにより、利用サービステーブルAPS12に格納されている情報は、図10Gのようになり、端末ST1の認証セッションIDおよび端末ST2の認証セッションIDがマージされる。
【0105】
続いて、端末ST2に関する認証セッションIDを基に、認証状態テーブルAPS11について一致する認証セッションIDを検索する。そして、一致する認証セッションIDが登録されているレコードのセッションIDを、端末ST2に関するセッションIDとしてバッファ領域へ保存するとともに、端末ST2に関する認証セッションIDを端末ST1に関する認証セッションIDの値に更新する。次に、端末ST1に関する認証セッションIDを基に、認証状態テーブルAPS11について一致する認証セッションIDを検索する。そして一致する認証セッションIDが登録されているレコードのうち、認証種別が”TERM”のレコードを削除する。また、認証種別が”USER”のレコードについて、セッションIDの値を、端末ST2に関するセッションIDの値に更新する。これにより、認証状態テーブルAPS11のに格納されている情報は、図10Fのようになり、端末ST1の認証セッションIDおよび端末ST2の認証セッションIDがマージされ、端末ST1のセッションIDは端末ST2のセッションIDに引き継がれる。
【0106】
以上の処理により、端末ST1から端末ST2への切替後の認証状態復元が完了する。次に、認証代行サーバAPSの認証状態管理機能APS10は認証状態復元応答M5-3を作成し、ユーザ環境管理サーバEMSへ送信する。認証状態復元応答M5-に3はHTTPの200 OKレスポンスメッセージを使用し、認証代行サーバAPSとユーザ環境管理サーバEMSとの間で規定したSOAPのレスポンスメッセージを200 OKレスポンスメッセージのBody部に記載する。また、保存したアプリケーション名を含んだXMLメッセージを、SOAPのメッセージボディに記載する。図11Gは、認証状態復元応答のXMLメッセージの例であり、XMLメッセージのうち送受信に必要な部分を示すものであり、保存結果をresultタグの要素として記載する。
【0107】
ユーザ環境管理サーバEMSの通信機能EMS40は認証代行サーバAPSより認証状態復元応答M5-3を受信すると、端末切替アプリケーションEMS30はバッファに保存されている認証セッションIDを基に、サービス継承管理テーブルEMS32について認証チケットおよびサービスパスを検索・取得する。そして端末切替完了処理応答M5-4を作成し、端末ST2へ送信するとともに(図8のT3-7)、端末切替アプリケーションEMS30の認証状態復元待ち状態(図8のS3-6)から内部状態をサービス要求待ち状態(図8のS3-1)へ遷移する。端末切替完了処理応答M5-4には、HTTPの200 OKレスポンスメッセージに、サービスの利用を再開する予定のアプリケーションサービスAppS10のパスと認証チケットの組をリスト化したHTMLを含める。
【0108】
端末ST2の通信アプリケーションST10はユーザ環境管理サーバEMSより端末切替完了処理応答M5-4を取得すると、端末切替完了処理応答M5-4に含まれているHTMLからWebページを表示し、出力装置15に接続されたモニタへ出力する。そしてユーザは入力装置14を操作し、利用を再開したいオンラインショッピングサービスのリンクをクリックする。すると、端末ST2の通信アプリケーションST10はサービス利用開始要求M1-1を作成し、オンラインショッピングサービスを提供するアプリケーションサーバAppS1へ送信する。ここで、認証チケットはサービス利用開始要求M1-1のURL中にクエリパラメータとして付加する。
【0109】
通信アプリケーションST10によるサービス利用開始要求M1-1の送信以降のシーケンスは、図3Aのサービス利用開始シーケンスを用いて説明済みであるので、簡単に説明する。アプリケーションサーバAppS1の通信機能AppS40は端末ST2よりサービス利用開始要求M1-1を受信すると、認証フィルタリング機能AppS30はサービス利用開始要求M1-1のURL内にクエリパラメータとして付加した認証チケットを取得し、ログイン状態管理テーブルについて認証チケットを検索する。一致する認証チケットが見つかれば、サービス状態管理機能AppS20は検索で見つかったカラムのサービス継続参照点レコードのパスにアクセスし、オンラインショッピングのサービス利用状態を復元する。その後、サービスアプリケーションAppS10がオンラインショッピングのサービスを端末ST2に対し途中から提供する。
【0110】
その後、普通に端末ST2がアプリケーションサーバAppS1のサービスアプリケーションAppS10を利用する。
【0111】
以上が、ユーザTaroが端末ST2用いて、アプリケーションサーバAppS1の提供するサービスを途中から再開する場合の動作である。
【0112】
なお、本実施形態では、ユーザが利用する端末を切り替える場合について説明したが、ユーザが同じ端末上で通信方式や利用回線を切り替える場合にも、「端末」を「回線」と読み替えることで全く同様の手順で切替を実現できる。そして、回線や通信方式を切り替える場合については、ユーザが移動しているうちに現在のネットワークの外に出てしまい別のネットワークエリア内に入った場合、これまでのネットワークエリアと利用できる通信方式が異なったとしても、自動的に通信方式を切り替えることで通信および認証を継続することができる。
【0113】
上記において自動的に通信方式を切り替えるための方式について説明する。以下では、本実施形態における「端末」を「回線」に置き換えて説明する。
【0114】
まず、ユーザ環境管理サーバEMSの利用回線管理テーブルEMS21に、新たに標準的に使用する回線であるかどうかを判定するためのデフォルト回線の項目(カラム)を用意する。この項目には0または1の値が入り、1になっている端末をデフォルト端末とする。そして、図5のシーケンスにおいて登録回線一覧通知M4-6および切替先回線通知M4-7を省略する。また、この場合は図5のシーケンスにおいて、利用サービス一覧通知M4-4および利用サービス選択通知M4-5を省略する。更に、端末が別のネットワークエリアに入った場合、端末は自動的に回線切替要求M4-1を送信することで、M4-2、M4-3、M4-8、M4-9、M4-10のメッセージが自動的に流れるようにする。
【0115】
以上のようにすることで、端末が別のネットワークエリアに入った時点で自動的に認証状態およびサービス状態を保存し、後はユーザのタイミングで通信方式を切り替え認証やサービスを継続することが可能になる。
【0116】
また、同様の方法を取ることによって、ユーザが使用する端末の切替も自動的に行うことができる。具体的には、ユーザ環境管理サーバEMSの利用回線管理テーブルEMS21にデフォルト端末項目(カラム)を用意し、登録端末一覧通知M4-6および切替先端末通知M4-7を省略する。そして、端末の電池が切れそうになった場合、端末は自動的に端末切替要求M4-1を送信することで、端末切替完了応答M4-10までメッセージが自動的に流れるようにする。
【0117】
以上のようにすることで、端末の電池が切れそうになった時点で自動的に認証状態およびサービス状態を保存し、後はユーザのタイミングで別の端末に切り替えて認証やサービスの状態を継続することが可能になる。
【0118】
また本実施形態では、端末および回線を同時に切り替える場合にでも、ユーザの認証状態やサービスの状態を継承することができる。この場合、図6のシーケンスにおける認証代行サーバAPSの認証状態復元処理について、利用サービステーブルAPS12のうち認証種別が”USER”または”TERM”で、かつ切替後に発行された認証セッションIDと一致しないカラムを消去する。そして、認証セッションIDを切替前の値に統一する。また、認証状態テーブルAPS11のセッションIDレコードの値を、切替後の値に統一する。
【0119】
その他、本実施形態においてコンテンツやソフトウェア(以下、コンテンツ)を認証対象に含めた場合に、事前に端末切替手続きを実施することで、切り替え後の端末で認証を要求されることなく、ライセンス認証が必要なコンテンツを利用することができる。このような場合では、コンテンツを再生する際に、端末からアプリケーションサーバAppSとしてのコンテンツプロバイダへアクセスが発生し、コンテンツプロバイダは認証代行サーバAPSやコンテンツ認証サーバASと連携してコンテンツのライセンスを認証する。
【0120】
また、本実施形態では端末切替手続きにおいて、切替後に利用予定のサービスを利用するのに適した端末を、ユーザに示すことも可能である。
【0121】
具体的には、ユーザ環境管理サービスEMSの利用端末管理テーブルEMS21に、新たに端末の特徴を記した端末属性の項目(カラム)を追加する。端末属性の項目には「Webブラウザ型」「動画再生型」のように、端末の利用に最も適したサービスのタイプを記載する。また、認証代行サーバAPSの利用サービステーブルにも同様の項目を追加し、サービス毎にタイプを記載する。
【0122】
すると、ユーザ環境管理サービスEMSが利用サービス選択通知M4-5を受信後、ユーザによって選択されたサービスのタイプを基に、利用端末管理テーブルについて端末ID検索する。そして、登録端末一覧通知M4-6で送信するHTML内で、サービスのタイプが一致した端末IDを優先的に表示させればよい。
【0123】
なお、本発明は、上述した実施形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上記各実施の形態を適宜組み合わせることができる。
【符号の説明】
【0124】
10:インタフェース、11:CPU、12:メモリ、13:通信装置、14:入力装置、15:出力装置、16:読取装置、17:外部記憶装置、18:可搬性を有する記憶媒体、NW:ネットワーク,ST:端末、AppS:アプリケーションサーバ、EMS:ユーザ環境管理サーバ、APS:認証代行サーバ、AS:認証サーバ、ST10:通信アプリケーション、AppS10:サービスアプリケーション、AppS20:サービス状態管理機能、AppS21:サービス状態管理テーブル、AppS30:認証フィルタリング機能、AppS31:ログイン状態管理テーブル、EMS10:アプリケーションサーバ機能、EMS20:利用端末管理アプリケーション、EMS21:利用端末管理テーブル、EMS30:端末切替アプリケーション、EMS31:認証継承管理テーブル、EMS32:サービス継承管理テーブル、APS10:認証状態管理機能、APS11:認証状態テーブル、APS12:利用サービステーブル、AS10:認証機能、AS11:ユーザ認証テーブル、AS12:端末認証テーブル、AppS40、EMS40、APS20、AS20:通信機能、M1−1:サービス利用開始要求、M1−2、M1−3:認証チケット要求、M1−4、M1−5:認証チケット応答、M1−6:認証チケット解決要求、M1−7:認証トークン取得通知、M1−8:サービス利用開始応答、M2−1、M2−2:認証要求、M2−3:認証情報入力要求、M2−4:認証情報入力応答、M2−5、M2−6:認証応答、M3−1:端末登録要求、M3−2:端末登録応答、M4−1:端末切替要求、M4−2:認証継承情報取得要求、M4−3:認証継承情報取得応答、M4−4:利用サービス一覧通知、M4−5:利用サービス選択通知、M4−6:登録端末一覧通知、M4−7:切替先端末選択通知、M4−8:サービス状態保存要求、M4−9:サービス状態保存応答、M4−10:端末切替完了応答、M5−1:端末切替完了処理要求、M5−2:認証状態復元要求、M5−3:認証状態復元応答、M5−4:端末切替完了処理応答、S1−1:サービス要求待ち状態、S1−2:認証チケット取得待ち状態、S1−3:認証チケット解決待ち状態、S1−4:ログイン状態、S2−1:認証要求待ち状態、S2−2:認証結果待ち状態、S2−3:認証済状態、S3−1:サービス要求待ち状態、S3−2:認証継承情報取得待ち状態、S3−3:利用サービスパス取得待ち状態、S3−4:切替先端末ID取得待ち状態、S3−5:サービス状態保存処理状態、S3−6:認証状態復元待ち状態。
【特許請求の範囲】
【請求項1】
第1の端末からアプリケーションサーバへのアクセスに関して認証処理を実行する認証サーバ、
前記認証処理の認証結果である認証状態を保持する手段と、前記認証状態を一意に識別する第1の認証セッションIDを発行する手段と、第2の端末を一意に識別する第2の端末IDに対応する認証チケットと前記第1の認証セッションIDとの受信に応答して、前記認証状態を、前記第2の端末から前記アプリケーションサーバへのアクセスに関する認証状態であるとして第2の認証セッションIDを発行する手段とを有する認証代行サーバ、および、
前記第1の端末を一意に識別する第1の端末IDと、前記認証代行サーバが発行した前記第1の認証セッションIDとを対応付けて記憶する手段と、前記第1の端末から第2の端末への、前記第1の端末からの切替要求に応答して、前記第1の認証セッションIDと、前記第2の端末IDとを対応付けて記憶する手段と、前記第2の端末からの端末切替完了処理要求に応答して、前記第2の端末IDを基に、記憶されている前記第1の認証セッションIDを取得する手段と、前記認証チケットと取得した前記第1の認証セッションIDを前記認証代行サーバへ送信する手段と、前記認証代行サーバが発行した前記第2の認証セッションIDと前記第1の認証セッションIDとを対応付けて記憶する手段とを有するユーザ環境管理サーバを設けることを特徴とする認証状態継承システム。
【請求項2】
前記ユーザ環境管理サーバは、さらに、前記認証代行サーバを介した前記認証サーバによる、前記第2の端末に関する端末認証の結果として前記認証チケットを取得する手段と、前記第2の認証セッションIDと前記第2の端末IDを対応付けて記憶する手段とを有することを特徴とする請求項1記載の認証状態継承システム。
【請求項3】
前記ユーザ環境管理サーバは、さらに、前記切替要求に応答して、前記第1の認証セッションIDと対応する継承用認証チケットを前記認証代行サーバから取得する手段と、前記継承用認証チケットを前記認証代行サーバへ送信し、前記認証代行サーバから前記第2のセッションIDを取得する手段を有することを特徴とする請求項2記載の認証状態継承システム。
【請求項4】
前記認証代行サーバは、前記ユーザ環境管理サーバからの認証状態復元の要求に応答して、前記第1の端末に関する端末認証の結果および該端末認証の結果に係る前記アプリケーションサーバに関する情報を削除する手段と、前記第2の認証セッションIDを含む情報に関して、前記第2の認証セッションIDを前記第1の認証セッションIDに更新する手段とを有することを特徴とする請求項3記載の認証状態継承システム。
【請求項5】
前記ユーザ環境管理サーバは、ユーザが使用する端末からの端末登録要求の受信に応答して、前記ユーザのユーザ認証および前記端末の端末認証を、前記認証代行サーバを介して前記認証サーバへ要求し、前記認証サーバから前記認証代行サーバを介してユーザ認証結果および端末認証結果を取得し、前記ユーザ認証結果および前記端末認証結果からそれぞれユーザIDおよび端末IDを取得し、前記ユーザIDと前記端末IDを対応付けて記憶する手段と、
前記第1の端末からの端末切替要求の受信に応答して、前記ユーザIDに対応付けられた端末IDを前記第1の端末に送信し、前記第1の端末から切り替えて利用する端末IDを前記第1の端末から取得する手段とを有することを特徴とする請求項1記載の認証状態継承システム。
【請求項6】
前記アプリケーションサーバは、前記第2の端末から、前記第2の端末に対応する前記認証チケットを受け取ると、前記認証チケットと対応付けて記憶しているサービスの状態の有無を確認する手段と、前記サービスの状態が有れば、前記サービスの状態を復元し、復元した前記サービスを前記第2の端末に対して提供する手段とを有することを特徴とする請求項1記載の認証状態継承システム。
【請求項7】
前記アプリケーションサーバは、前記ユーザ環境管理サーバから前記サービスの状態の保存の指示と前記サービスと対応付けられた前記認証チケットを取得する手段と、前記認証チケットと前記サービスの状態とを対応付けて記憶する手段とを有する
ことを特徴とする請求項6記載の認証状態継承システム。
【請求項8】
前記ユーザ環境管理サーバは、
前記第1の端末からの前記端末切替要求の受信に応答して、前記第1の端末から利用されている前記サービスに関する情報、および前記サービスに対して発行した認証チケットを前記認証代行サーバから取得する手段と、前記アプリケーションサーバに対して前記サービスの途中状態の記憶を指示すると共に、前記サービスと対応付けられた前記認証チケットを送信手段と、前記アプリケーションサーバから前記サービスの途中状態の記憶の完了の応答を受信する手段とを有することを特徴とする請求項7記載の認証状態継承システム。
【請求項1】
第1の端末からアプリケーションサーバへのアクセスに関して認証処理を実行する認証サーバ、
前記認証処理の認証結果である認証状態を保持する手段と、前記認証状態を一意に識別する第1の認証セッションIDを発行する手段と、第2の端末を一意に識別する第2の端末IDに対応する認証チケットと前記第1の認証セッションIDとの受信に応答して、前記認証状態を、前記第2の端末から前記アプリケーションサーバへのアクセスに関する認証状態であるとして第2の認証セッションIDを発行する手段とを有する認証代行サーバ、および、
前記第1の端末を一意に識別する第1の端末IDと、前記認証代行サーバが発行した前記第1の認証セッションIDとを対応付けて記憶する手段と、前記第1の端末から第2の端末への、前記第1の端末からの切替要求に応答して、前記第1の認証セッションIDと、前記第2の端末IDとを対応付けて記憶する手段と、前記第2の端末からの端末切替完了処理要求に応答して、前記第2の端末IDを基に、記憶されている前記第1の認証セッションIDを取得する手段と、前記認証チケットと取得した前記第1の認証セッションIDを前記認証代行サーバへ送信する手段と、前記認証代行サーバが発行した前記第2の認証セッションIDと前記第1の認証セッションIDとを対応付けて記憶する手段とを有するユーザ環境管理サーバを設けることを特徴とする認証状態継承システム。
【請求項2】
前記ユーザ環境管理サーバは、さらに、前記認証代行サーバを介した前記認証サーバによる、前記第2の端末に関する端末認証の結果として前記認証チケットを取得する手段と、前記第2の認証セッションIDと前記第2の端末IDを対応付けて記憶する手段とを有することを特徴とする請求項1記載の認証状態継承システム。
【請求項3】
前記ユーザ環境管理サーバは、さらに、前記切替要求に応答して、前記第1の認証セッションIDと対応する継承用認証チケットを前記認証代行サーバから取得する手段と、前記継承用認証チケットを前記認証代行サーバへ送信し、前記認証代行サーバから前記第2のセッションIDを取得する手段を有することを特徴とする請求項2記載の認証状態継承システム。
【請求項4】
前記認証代行サーバは、前記ユーザ環境管理サーバからの認証状態復元の要求に応答して、前記第1の端末に関する端末認証の結果および該端末認証の結果に係る前記アプリケーションサーバに関する情報を削除する手段と、前記第2の認証セッションIDを含む情報に関して、前記第2の認証セッションIDを前記第1の認証セッションIDに更新する手段とを有することを特徴とする請求項3記載の認証状態継承システム。
【請求項5】
前記ユーザ環境管理サーバは、ユーザが使用する端末からの端末登録要求の受信に応答して、前記ユーザのユーザ認証および前記端末の端末認証を、前記認証代行サーバを介して前記認証サーバへ要求し、前記認証サーバから前記認証代行サーバを介してユーザ認証結果および端末認証結果を取得し、前記ユーザ認証結果および前記端末認証結果からそれぞれユーザIDおよび端末IDを取得し、前記ユーザIDと前記端末IDを対応付けて記憶する手段と、
前記第1の端末からの端末切替要求の受信に応答して、前記ユーザIDに対応付けられた端末IDを前記第1の端末に送信し、前記第1の端末から切り替えて利用する端末IDを前記第1の端末から取得する手段とを有することを特徴とする請求項1記載の認証状態継承システム。
【請求項6】
前記アプリケーションサーバは、前記第2の端末から、前記第2の端末に対応する前記認証チケットを受け取ると、前記認証チケットと対応付けて記憶しているサービスの状態の有無を確認する手段と、前記サービスの状態が有れば、前記サービスの状態を復元し、復元した前記サービスを前記第2の端末に対して提供する手段とを有することを特徴とする請求項1記載の認証状態継承システム。
【請求項7】
前記アプリケーションサーバは、前記ユーザ環境管理サーバから前記サービスの状態の保存の指示と前記サービスと対応付けられた前記認証チケットを取得する手段と、前記認証チケットと前記サービスの状態とを対応付けて記憶する手段とを有する
ことを特徴とする請求項6記載の認証状態継承システム。
【請求項8】
前記ユーザ環境管理サーバは、
前記第1の端末からの前記端末切替要求の受信に応答して、前記第1の端末から利用されている前記サービスに関する情報、および前記サービスに対して発行した認証チケットを前記認証代行サーバから取得する手段と、前記アプリケーションサーバに対して前記サービスの途中状態の記憶を指示すると共に、前記サービスと対応付けられた前記認証チケットを送信手段と、前記アプリケーションサーバから前記サービスの途中状態の記憶の完了の応答を受信する手段とを有することを特徴とする請求項7記載の認証状態継承システム。
【図1】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9A】
【図9B】
【図9C】
【図10A】
【図10B】
【図10C】
【図10D】
【図10E】
【図10F】
【図10G】
【図11A】
【図11B】
【図11C】
【図11D】
【図11E】
【図11F】
【図11G】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9A】
【図9B】
【図9C】
【図10A】
【図10B】
【図10C】
【図10D】
【図10E】
【図10F】
【図10G】
【図11A】
【図11B】
【図11C】
【図11D】
【図11E】
【図11F】
【図11G】
【公開番号】特開2011−133951(P2011−133951A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−290417(P2009−290417)
【出願日】平成21年12月22日(2009.12.22)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成21年度 独立行政法人情報通信研究機構「次世代ネットワーク(NGN)基盤技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願日】平成21年12月22日(2009.12.22)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成21年度 独立行政法人情報通信研究機構「次世代ネットワーク(NGN)基盤技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]