(57)【要約】【課題】  従来の技術では、ユーザ端末が備えている認証方式について考慮されていない。そのため、ユーザ端末では利用不可能な認証方式を要求されてしまう場合がある。【解決手段】ユーザがサービス要求を送信したサービス提供装置から認証要求を受信し、ユーザ情報と要求されているサービス情報を取得する認証要求受信部と、ユーザ情報に基づきユーザ情報データベースからユーザ端末に備えられた認証方式と、サービスポリシデータベースからサービス利用に必要な認証レベルと、認証方式組み合わせデータベースから認証方式の組み合わせとそれによって得られる認証レベルとを取得し、ユーザがサービスを利用するのに必要かつ利用可能な認証方式の組み合わせを取得する認証方式選択部と、取得した組み合わせ情報に基づき認証サービス提供装置へと認証要求を送信する認証要求部とを有する認証中継装置。【選択図】  図３
2013073416.tif 000002
【特許請求の範囲】
【請求項１】
ユーザがサービス提供装置のサービスを利用する際に必要な認証を中継する認証中継装置であって、
前記ユーザがユーザ端末を介してサービス要求を送信した前記サービス提供装置から、認証要求を受信し、ユーザ情報とサービス情報を取得する認証要求受信部と、
前記ユーザ情報と前記ユーザの端末が備える認証方式を対応付けて記憶するユーザ情報記憶部と、
前記サービス情報と前記サービスの利用に必要な認証レベルである要求レベルを記憶するサービスポリシ記憶部と、
認証方式と認証方式によって得られる認証レベルとを対応付けて記憶する認証方式組み合わせ記憶部と、
前記ユーザ情報に基いた前記認証方式と、前記サービス情報に基づいた前記要求レベルとに基づいて、前記ユーザがサービスの利用に必要な認証方式を選択する認証方式選択部と、
前記ユーザが必要な認証方式を提供する認証サービス提供装置に認証要求を送信する認証要求部とを備え、
前記認証方式選択部は、前記認証サービス提供装置に要求された前記認証が成功の場合、サービス提供装置に前記認証の結果を送信する認証中継装置。
【請求項２】
請求項１に記載の認証中継装置であって、
前記認証方式選択部は、前記ユーザがサービスの利用に必要な認証方式が複数あった場合、複数の前記認証方式から前記サービス認証レベルに近く、認証回数が少ない認証方式を選択する認証中継装置。
【請求項３】
請求項１に記載の認証中継装置であって、
前記認証方式選択部は、前記ユーザがサービスの利用に必要な認証方式が複数あった場合、複数の前記認証方式を前記ユーザ端末に送信し、前記ユーザの選択を受信し、
前記認証要求部は、前記ユーザが選択した前記認証方式を前記認証サービス提供装置に送信する認証中継装置。
【請求項４】
請求項１から３のいずれか一つに記載の認証中継装置であって、
要求された前記認証方式の少なくとも一つが失敗であった場合、
前記認証方式選択部は、失敗の前記認証方式を除く認証方式を更に選択する認証中継装置。
【請求項５】
請求項１から４のいずれか一つに記載の認証中継装置であって、
要求された前記認証方式の少なくとも一つが失敗であった場合、
前記認証方式選択部は、前記失敗の回数を記憶し、前記回数が一定値を超えた場合、認証失敗を選択し、
前記認証要求部は、前記サービス提供装置に認証失敗を送信する認証中継装置。
【請求項６】
請求項１から５のいずれか一つに記載の認証中継装置であって、
更に、前記ユーザの過去のアクセス履歴を記憶するユーザログ記憶部を備え、
前記認証方式選択部は、前記アクセス履歴が予め定められた条件を満たす場合に異常であると判定し、異常であると判定された場合は、認証レベルを下げる、もしくは前記サービスの要求レベルを上げるよう更新する認証中継装置。
【請求項７】
ユーザがサービス提供装置のサービスを利用する際に必要な認証を中継する認証中継装置における認証中継システムであって、
前記認証中継装置は、前記ユーザがユーザ端末を介してサービス要求を送信した前記サービス提供装置から、認証要求を受信し、ユーザ情報とサービス情報を取得し、
前記ユーザ情報と前記ユーザの端末が備える認証方式を対応付けて記憶し、
前記サービス情報と前記サービスの利用に必要な認証レベルである要求レベルを記憶し、
認証方式と認証方式によって得られる認証レベルとを対応付けて記憶し、
前記ユーザ情報に基いた前記認証方式と、前記サービス情報に基づいた前記要求レベルとに基づいて、前記ユーザがサービスの利用に必要な認証方式を選択し、
前記ユーザが必要な認証方式を提供する認証サービス提供装置に認証要求を送信し、
前記認証サービス提供装置は、認証結果を前記認証中継装置に送信し、
前記認証中継装置は、前記認証結果が成功の場合、サービス提供装置に前記認証の結果を送信する認証中継システム。
【請求項８】
請求項７に記載の認証中継システムであって、
前記認証中継装置は、前記ユーザがサービスの利用に必要な認証方式が複数あった場合、複数の前記認証方式から前記サービス認証レベルに近く、認証回数が少ない認証方式を選択する認証中継システム。
【請求項９】
請求項７に記載の認証中継システムであって、
前記認証中継装置は、前記ユーザがサービスの利用に必要な認証方式が複数あった場合、複数の前記認証方式を前記ユーザ端末に送信し、前記ユーザの選択を受信し、
前記ユーザが選択した前記認証方式を前記認証サービス提供装置に送信する認証中継システム。
【請求項１０】
請求項７から９のいずれか一つに記載の認証中継システムであって、
要求された前記認証方式の少なくとも一つが失敗であった場合、
前記認証中継装置は、失敗の前記認証方式を除く認証方式を更に選択する認証中継システム。
【請求項１１】
請求項７から１０のいずれか一つに記載の認証中継システムであって、
要求された前記認証方式の少なくとも一つが失敗であった場合、
前記認証中継装置は、前記失敗の回数を記憶し、前記回数が一定値を超えた場合、認証失敗を選択し、
前記サービス提供装置に認証失敗を送信する認証中継システム。
【請求項１２】
請求項７から１１のいずれか一つに記載の認証中継システムであって、
前記認証中継装置は、更に、前記ユーザの過去のアクセス履歴を記憶し、
前記アクセス履歴が予め定められた条件を満たす場合に異常であると判定し、異常であると判定された場合は、認証レベルを下げる、もしくは前記サービスの要求レベルを上げるよう更新する認証中継システム。
【請求項１３】
ユーザがサービス提供装置のサービスを利用する際に必要な認証を中継する認証中継方法であって、
前記ユーザがユーザ端末を介してサービス要求を送信した前記サービス提供装置から、認証要求を受信するステップと、
前記ユーザのユーザ情報と前記サービスのサービス情報を取得するステップと、
前記ユーザ情報と前記ユーザの端末が備える認証方式を対応付けて記憶するステップと、
前記サービス情報と前記サービスの利用に必要な認証レベルである要求レベルを記憶するステップと、
認証方式と認証方式によって得られる認証レベルとを対応付けて記憶するステップと、
前記ユーザ情報に基いた前記認証方式と、前記サービス情報に基づいた前記要求レベルとに基づいて、前記ユーザがサービスの利用に必要な認証方式を選択するステップと、
前記ユーザが必要な認証方式を提供する認証サービス提供装置に認証要求を送信するステップと、
前記認証サービス提供装置に要求された前記認証が成功の場合、サービス提供装置に前記認証の結果を送信するステップとを備える認証中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザがサービス提供装置のサービスを利用する際に認証提供装置が提供する認証を中継する技術に関する。
【背景技術】
【０００２】
近年、一度の認証で複数のシステムを利用可能とするシングルサインオン技術が注目されている。
【０００３】
しかしながら、求められる本人確認性の高さ（以下レベルと称す）が異なるサービスが混在している場合には、シングルサインオン技術が適切に機能しないという問題がある。これは、シングルサインオンのために行った一度の認証のレベルが低い場合には、高いレベルが求められる政府調達などのサービスにアクセスすることは不適切である場合があるためである。
【０００４】
このような問題を解決するために、例えば特許文献１のような技術がある。特許文献１には、ユーザ端末機器に係る認証レベルを確認し、その確認において、ユーザ端末機器に係る認証レベルがサービスプロバイダ機器の要求を満たしているときはユーザに対して所定のサービスを提供し、その要求を満たしていないときはユーザに対して新たな認証を要求することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２２５０７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、ユーザ端末が備えている認証方式について考慮されていない。近年ユーザが利用する端末もサービスと同様多様化し、パソコン（ＰＣ）だけでなく、携帯電話やスマートフォン、タブレットＰＣなどによるサービス利用が増えてきている。そのため、これらＰＣ以外の端末においては、ＰＣほど利用可能な認証方式が充実していないという問題がある。例えば、ＰＣには指紋読取装置やＩＣカードリーダなどが搭載されている場合や外付けで接続できる場合があるが、携帯電話のような非力な端末ではそのような装置が搭載されていないものや接続できないものが多い。
【０００７】
上記の方式ではこのようなユーザ利用端末の多様化が考慮されていないため、サービスにアクセスしようとしているユーザ端末では利用不可能な認証方式を要求されてしまう場合が発生するという課題がある。例えばＩＣカードリーダを具備していない携帯電話でのサービスへのアクセスの際にＩＣカードによる認証を求められ、認証を行うことができない場合がある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一態様は以下の構成を備える。即ち、認証中継装置は、ユーザがサービス要求を送信したサービス提供装置から、ユーザ情報と要求されているサービス情報を受信するサービスポリシ受信部と、ユーザ情報に基づきユーザ情報データベースからユーザ端末に備えられた認証方式と、サービスポリシデータベースからサービスに必要な認証レベルと、認証方式組み合わせデータベースからユーザがサービスを利用するのに必要な認証方式の組み合わせ情報とを取得する認証方式選択部と、組み合わせ情報をユーザに提示し、ユーザが提示された認証方式で認証成功すると、ユーザとサービスとを接続する。
【発明の効果】
【０００９】
本発明により、ユーザがサービスへのアクセスのために認証を行うときに、ユーザが使用する端末における利用可能な認証方式により認証が要求されるため、ユーザの利便性が向上する。
【００１０】
また、第２の実施形態における認証中継装置により、認証におけるユーザの利便性を向上させるとともに、成りすましなどの不正な活動によるリスクを減らすことができる。
【図面の簡単な説明】
【００１１】
【図１】第一の実施形態における認証中継装置を含んだシングルサインオンシステムのネットワーク構成図である。
【図２】第一の実施形態における認証中継装置のハードウェア構成図である。
【図３】第一の実施形態における認証中継装置の構成図である。
【図４】第一の実施形態におけるユーザ認証状態データベースを示す図である。
【図５】第一の実施形態におけるユーザ端末データベースを示す図である。
【図６】第一の実施形態における認証方式データベースを示す図である。
【図７】第一の実施形態における認証方式組み合わせデータベースを示す図である。
【図８】第一の実施形態におけるサービスポリシデータベースを示す図である。
【図９】第一の実施形態における認証方式選択部の処理を示すフローチャートである。
【図１０】第一の実施形態における認証方式選択部の処理の一部である認証処理を示すフローチャートである。
【図１１】第一の実施形態における認証方式選択部の処理の一部である認証選択処理を示すフローチャートである。
【図１２】第一の実施形態における認証要求部の処理を示すフローチャートである。
【図１３】第一の実施形態におけるシングルサインオンシステムでのサービス利用のためのシーケンスを表すシーケンス図である。
【図１４】第一の実施形態における認証方法取得部でユーザに対して提示するインタフェースを示す図である。
【図１５】第二の実施形態における認証中継装置の構成図である。
【図１６】第二の実施形態におけるユーザログデータベースを示す図である。
【図１７】第二の実施形態における認証方式選択部の処理のうち第一の実施形態との差分を示す図である。
【発明を実施するための形態】
【００１２】
以降、本発明を実施するための形態（「本実施形態」という）を、図等を参照して詳細に説明する。
【実施例１】
【００１３】
図１は、第１の実施形態における認証中継装置１０１を含んだシングルサインオンシステム１００のネットワーク構成図である。
認証中継装置１０１は、サービス提供装置１０２とネットワーク１０５を介して接続されている。また、認証中継装置１０１はさらに、認証サービス提供装置１０３とネットワーク１０６を介して接続されている。また、認証中継装置１０１はさらに、ユーザ端末１０４とネットワーク１０７を介して接続されている。
認証中継装置１０１は本実施例で開示する認証中継装置である。サービス提供装置１０２は、ユーザに対してネットワークを介してサービスを提供する装置である。認証サービス提供装置１０３は、ユーザの認証を行うための機能を備える装置である。ユーザ端末１０４は、ＰＣや携帯電話、スマートフォンなど、ユーザがサービス提供装置１０２で提供されるサービスを利用する際に使用する機器である。
【００１４】
図１において、ネットワーク１０５とネットワーク１０６とネットワーク１０７はそれぞれ別のものとして描かれているが、このうちの任意の２つ、もしくは全てが同一のネットワークであってもよい。これらのネットワークは企業内ネットワークなどのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）でもよいし、ＬＡＮだけに留まらずインターネットであってもよい。また、ネットワーク１０５、ネットワーク１０６、ネットワーク１０７には図示されていない端末や通信装置などが接続されていてもよい。
また、図１では、サービス提供装置１０２、認証サービス提供装置１０３、ユーザ端末１０４はそれぞれ３つずつ図示されているが、３つに限定するものではなく、それぞれ１つ、もしくは２つ、もしくは４つ以上でもよい。
【００１５】
図２は、第１の実施形態における認証中継装置１０１のハードウェア構成図である。
認証中継装置１０１は、ネットワークカードなどの通信装置２０１、キーボードやマウス等の入力装置２０２、LCD(Liquid Crystal Display)等の表示装置２０３、演算装置２０４、メモリ２０５、ハードディスク等の記憶装置２０６を備える。演算装置２０４は、記憶装置２０６に格納されたプログラムを実行し、各部の制御を行う。記憶装置２０６は、演算装置２０４が実行するプログラムおよび演算装置２０４が使用するデータ等を格納する。通信装置２０１は、ネットワーク２０７を介して他の装置からデータを受信して演算装置２０４へ送ると共に、演算装置２０４が生成したデータを、ネットワーク１０６を介して他の装置へ送信する。ここで、ネットワーク２０７は、図１で示されるネットワーク１０５、ネットワーク１０６、ネットワーク１０７である。認証中継装置１０１は、通信装置２０１を複数具備してそれぞれのネットワークに接続する構成を取っていてもよいし、一つの通信装置２０１により複数のネットワークに接続する構成を取っていてもよい。演算装置２０４は、入力装置２０２や表示装置２０３を制御し、入力装置２０２からデータを入力し、データを表示装置２０３へ出力する。記憶装置２０６にはプログラムや処理に必要なデータ類が格納されており、プログラムは記憶装置２０６からメモリ２０５にロードされ、演算装置２０４によって実行される。認証中継装置１０１は、これらのプログラムを記憶装置２０６からロードして実行するが、他の例として、CD、DVD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等の記録媒体からこのプログラムをロードしてもよい。また他の例として、他の装置から、通信媒体を介して、これらのプログラムをロードしてもよい。通信媒体とは、ネットワークまたはこれらを伝搬するディジタル信号または搬送波を指す。
【００１６】
図３は、第１の実施形態における認証中継装置１０１の構成図である。以下、図面および明細書で、データベースを「ＤＢ」と省略している場合がある。
認証中継装置１０１は、ユーザ認証状態データベース３０１、ユーザ端末データベース３０２、認証方式データベース３０３、認証方式組み合わせデータベース３０４、サービスポリシデータベース３０５、サービスポリシ取得部３０６、認証要求受信部３０７、認証方式選択部３０８、認証要求部３０９、認証方式取得部３１０を有し、サービス提供装置１０２、認証サービス提供装置１０３、ユーザ端末１０４とネットワークを介して接続されている。接続に関わるネットワークは図３では図示していない。また、サービス提供装置１０２、認証サービス提供装置１０３、ユーザ端末１０４はそれぞれ１つずつしか図示していないが、前述したように、これらはそれぞれ複数存在していてもよい。以下では複数存在するとして説明する。
ユーザ認証状態データベース３０１は図４で、ユーザ端末データベース３０２は図５で、認証方式データベース３０３は図６で、認証方式組み合わせデータベース３０４は図７で、サービスポリシデータベース３０５は図８で、夫々説明する。
【００１７】
ここで、サービスポリシ取得部３０６について説明する。
サービスポリシ取得部３０６は、サービス提供装置１０２で提供されるサービスのポリシ情報（要求レベル、認証方式の選択方法、認証失敗時の挙動、認証失敗許容回数）を取得し、サービスポリシＤＢ３０５に格納する。ここでの処理は図示しないが、入力用のインタフェースを用意してサービス管理者に入力してもらう、ポリシを定めるデータフォーマットを用意し当該フォーマットに従った形でサービス側からポリシデータを送信する、本実施形態で図示したネットワーク以外の経路（電話など）を用いてポリシに関する情報を伝達し、認証中継装置１０１の管理者がポリシ情報を入力する、などといった構成を取ることができる。
【００１８】
次に、認証要求受信部３０７について説明する。
認証要求受信部３０７は、サービスからの認証要求を受信し、認証方式選択部３０８を呼び出し、認証方式選択部３０８から認証結果を受信し、認証結果をサービス提供装置１０２へと送信する。認証要求受信部３０７はアクセスしようとしているユーザの識別子およびアクセス先のサービスおよびセッション識別子を取得し、認証方式選択部３０８を呼び出す際にパラメータとして付与する。ユーザ識別子の取得方式については図示しないが、本実施形態においては、サービスからの認証要求時に付与されていればそれを用い、付与されていない場合にはユーザに対してユーザ識別子入力用のインタフェースを用意し、ユーザの入力によりユーザ識別子を取得する。また、セッション識別子の取得については、当該ユーザから提示された場合にはそれを用い、提示されない場合には新規セッションであると判断して新規にセッション識別子を生成する。
【００１９】
次に、認証方式選択部３０８について説明する。
認証方式選択部３０８は、認証要求受信部３０７から呼び出され、ユーザ認証状態ＤＢ３０１、ユーザ端末ＤＢ３０２、認証方式ＤＢ３０３、認証方式組み合わせＤＢ３０４、サービスポリシＤＢ３０５から情報を収集し、ユーザにとって最適な認証方式を選択し、当該認証方式による認証を提供する認証サービスへの認証中継を認証要求部３０９を呼び出すことにより実施する。また、認証サービスによる認証の結果を認証要求部から取得し、認証要求受信部３０７へと認証結果を送信する。なお、認証の必要がない場合には、認証要求部３０９の呼び出しによる認証サービスへの認証中継は行わず、認証されている旨の認証結果を認証要求受信部３０７へと送信する。
【００２０】
次に、認証要求部３０９について説明する。
認証要求部３０９は認証方式選択部３０８の処理中に呼び出され（図１１のＳ１１０６）、認証サービスに対してユーザの認証を要求する。また、各認証サービスでの認証結果を受け取り、認証方式選択部３０９へと返す。
【００２１】
次に、認証方式取得部３１０について説明する。
認証方式取得部３１０では、ユーザ端末で利用可能な認証方式を取得し、ユーザ端末ＤＢ３０２に格納する。利用可能な認証方式の取得方法としては、端末とそこで利用可能な認証方式とを入力するためのインタフェースを用意し、事前にユーザまたはユーザの所属する組織の管理者などに入力してもらう方式、ユーザ端末に利用可能な認証方式を取得して送信するようなエージェントを導入し認証中継装置へのアクセス時に自動もしくは手動で送信するようにする方式、ユーザが認証中継装置にアクセスしたタイミングで利用可能なインタフェースをその場で選択するインタフェースを用意して選択してもらう方式などがある。
【００２２】
以下、認証中継装置１０１を構成するこれらの構成要素について説明する。
まず、ユーザ認証状態ＤＢ３０１について説明する。
図４は、第１の実施形態におけるユーザ認証状態ＤＢ３０１の構成図である。ユーザ認証状態ＤＢ３０１は、認証中継装置１０１を介して認証を行うユーザが、現在どのような認証処理を済ませているかを格納するデータベースであり、ユーザ識別子４０１、認証済サービス４０２、認証時刻４０３、認証結果有効期限４０４、認証結果４０５、セッション識別子４０６から構成される。ユーザ認証状態ＤＢ３０１は、図１２Ｓ１２０５で更新される情報である。
【００２３】
ユーザ識別子４０１はユーザを一意に識別するための識別子である。認証済サービス４０２はユーザ識別子４０１で示されるユーザが認証を行ったサービスのサービス識別子である。認証時刻４０３はユーザ識別子４０１で示されるユーザが認証を行った時刻、認証結果有効期限４０４は前記認証の有効期限であり、この時刻を過ぎると当該ユーザは当該認証サービスでは未認証という扱いになる。認証結果４０５は当該ユーザの当該認証サービスにおける認証が成功であったか失敗であったかを表す。認証結果４０５で表される認証結果は前記認証結果有効期限４０４まで有効となる。セッション識別子４０６は、当該ユーザによる一連の通信を一意に識別する識別子である。
【００２４】
次に、ユーザ端末ＤＢ３０２について説明する。
図５は、第１の実施形態におけるユーザ端末ＤＢ３０２の構成図である。ユーザ端末ＤＢ３０２は、ユーザの所持する端末とそこで利用可能な認証方式についての情報を格納するデータベースであり、ユーザ識別子５０１、端末識別子５０２、利用可能な認証方式５０３、端末の種類５０４から構成される。ユーザ端末ＤＢ３０２は、ユーザから予め取得する情報である。
【００２５】
ユーザ識別子５０１はユーザを一意に識別するための識別子である。端末識別子５０２はユーザの所持する端末を一意に識別するための識別子である。端末識別子５０２は、ユーザ毎に一意に定まる識別子であってもよいし、また、複数ユーザで同じ識別子を有するがユーザ識別子と組み合わせることで一意に特定可能な識別子であってもよい。後者の構成は、一台の端末を複数のユーザで利用する場合や、複数のユーザが同型の端末を利用している場合などに有効に働く。利用可能な認証方式５０３は、端末識別子で示される端末、もしくはユーザ識別子と端末識別子の組で示される端末において利用可能な認証方式の一覧を表す。端末の種類５０４は、当該端末がどのような種類の端末であるかを格納する。一例としてはデスクトップＰＣ、ノートＰＣ、携帯電話などがある。
【００２６】
利用可能な認証方式５０２について、認証方式によっては、ユーザが記憶している情報に基づくもの、ユーザの所持物に基づくがその証明には特別な機器を必要としないものがある。前者の例がパスワード認証であり、後者の例が乱数表を用いた認証である。これらの場合、これらの認証方式が可能な端末に制限はないため、端末識別子５０２は「全ての端末」を表す情報となる。
【００２７】
利用可能な認証方式５０３には、後述する認証方式ＤＢ３０３の認証方式６０３に格納される情報と同じものを格納してもよいし、また、認証方式６０３の複数の情報を表す情報を格納してもよい。例えば、認証方式６０３に格納する方式として「パスワード（４文字）」と「パスワード（８文字以上）」など同じパスワード認証でも複数の強度を表す情報があった場合に、一般にユーザがパスワードを利用可能である場合には、様々な強度のパスワードを利用可能であることから、利用可能な認証方式５０３には、全ての強度のパスワード認証を含む「パスワード」という情報を格納してもよい。
【００２８】
次に、認証方式ＤＢ３０３について説明する。
図６は、第１の実施形態における認証方式ＤＢ３０３の構成図である。認証方式ＤＢ３０２は、認証サービス提供装置１０３で提供される認証サービスの各々においてどのような認証が可能かを格納したデータベースであり、認証サービス識別子６０１、認証サービス提供装置識別子６０２、認証方式６０３、タイムアウト時間６０４から構成される。認証方式ＤＢ３０３は、予め管理者等が入力する情報である。
【００２９】
認証サービス識別子６０１は、認証サービス提供装置識別子６０２で示される認証サービス提供装置において提供される認証サービスを一意に表す識別子である。認証サービス提供装置識別子６０２は、当該認証サービスを提供する認証サービス提供装置を一意に表す識別子である。一台の認証サービス提供装置において複数の認証サービスを提供する場合が考えられるため、認証サービス提供装置識別子６０２は認証方式ＤＢ３０３全体において複数回出現してもよい。また、認証サービス識別子６０１のみでシングルサインオンシステム１００全体における認証サービスを一意に表す情報となっている必要はなく、認証サービス識別子６０１と認証サービス提供装置識別子６０２との組で一意になっていればよい。本実施形態においては認証サービス識別子６０１を「ＡｕｔｈＳｅｒｖｉｃｅ  Ａ」、認証サービス提供装置識別子を「ＡｕｔｈＳｅｒｖｉｃｅＤｅｖｉｃｅ  Ａ」といった形態で表現しているが、このような形態に限定するものではなく、両者を統合し、認証サービスを利用するためのアクセス先を一意に表すＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などの情報を格納する構成としてもよい。認証方式６０３は、当該認証サービスが用いている認証方式を表した情報である。
【００３０】
本実施例では単純に方式の違いによって分けているが、例えば同じパスワードによる認証であっても、利用可能なパスワードの強度に違いがある場合には、認証方式６０３にパスワードの強度の情報等も格納することとしてもよい。また、指紋認証と言っても一本の指の指紋を用いて認証する方式や二本の指を用いる方式があり得る他、乱数表を用いた認証でも乱数表に記載された数字の種類や数で認証の強度が変化する。このように、一見すると同じ認証方式に分類されるが認証サービスによってその強度が変化する場合には、認証強度を反映する形で認証方式を細分化してもよい。また、同じ認証方式で同じ認証強度であっても、認証サービスが異なる場合には、認証方式６０３に格納する値を認証サービスごとに異なる値としてもよい。タイムアウト時間６０４は、一度行った認証がどれくらいの時間有効であるかを表す情報である。認証後にタイムアウト時間６０４で示された時間を経過すると、行った認証は無効化される。図６においては図示していないが、タイムアウト時間６０４の取りうる値としては、「認証結果の利用後即時に無効化」「一度認証すると明示的に無効化しない限り無期限に有効」といった情報を表す値があってもよい。
【００３１】
次に、認証方式組み合わせＤＢ３０４について説明する。
図７は、第１の実施形態における認証方式組み合わせＤＢ３０４の構成図である。認証方式組み合わせＤＢ３０４は、個々の認証方式による認証によって得られるレベルおよび、複数の認証方式による認証を行った際に得られるレベルについての情報を格納しているデータベースであり、組み合わせ識別子７０１、達成されるレベル７０２、認証方式７０３から構成される。認証方式組み合わせＤＢ３０４は、予め管理者等が入力する情報である。
【００３２】
組み合わせ識別子７０１は、認証方式の組み合わせを一意に識別するための識別子である。達成されるレベル７０２は、認証方式７０３で示される全ての認証方式による認証を行った際に得られるレベルである。認証方式７０３は７０３−１〜７０３−３で表される認証方式の組となっている。認証方式７０３は３つの認証方式から構成される情報であるが、構成要素の認証方式は１つのみであってもよいし、２つであってもよい。また、３つの認証方式から構成されるとしているのは本実施形態における一例であり、数を３つに制限するものではなく、４つ以上の認証方式の組み合わせによるレベルが定義されているような構成であってもよい。
【００３３】
次に、サービスポリシＤＢ３０５について説明する。
図８は、第１の実施形態におけるサービスポリシＤＢ３０５の構成図である。サービスポリシＤＢ３０５は、サービスごとの求めるレベルなどのポリシを格納するためのデータベースであり、サービス識別子８０１、サービス提供装置識別子８０２、要求レベル８０３、認証方式の選択方法８０４、認証失敗許容回数８０５から構成される。サービスポリシＤＢ３０５は、予め管理者等が入力する情報である。
【００３４】
サービス識別子８０１は、サービス提供装置識別子８０２で示されるサービス提供装置において提供されるサービスを一意に表す識別子である。サービス提供装置識別子８０２は、当該サービスを提供するサービス提供装置を一意に表す識別子である。一台のサービス提供装置において複数のサービスを提供する場合が考えられるため、サービス提供装置識別子８０２はサービスポリシＤＢ３０５全体において複数回出現してもよい。また、サービス識別子８０１のみでシングルサインオンシステム１００全体におけるサービスを一意に表す情報となっている必要はなく、サービス識別子８０１とサービス提供装置識別子８０２との組で一意になっていればよい。本実施形態においてはサービス識別子８０１を「Ｓｅｒｖｉｃｅ  Ａ」、サービス提供装置識別子を「ＳｅｒｖｉｃｅＤｅｖｉｃｅ  Ａ」といった形態で表現しているが、このような形態に限定するものではなく、両者を統合し、サービスを利用するためのアクセス先を一意に表すＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などの情報を格納する構成としてもよい。要求レベル８０３は、当該サービスが求める認証のレベルである。認証方式の選択方法８０４は、要求レベル８０３を満たす認証方式が複数存在する場合にどの認証方式を用いるかを決定するための方法についての情報である。本実施形態においては、認証中継装置がユーザの利便性が最も高くなるものを選択する「認証中継装置が選択」と、選択肢をユーザに提示しユーザ自身がどの認証方式を用いるかを選択する「ユーザが選択」の２通りを格納できるものとしている。認証失敗許容回数８０５は、許容する認証の失敗回数である。失敗を許容しない場合には、認証失敗許容回数８０５は０となる。
【００３５】
図９は、第１の実施形態における認証要求受信部３０７と、認証方式選択部３０８と、認証要求部３０９の動作を表すフローチャートである。
まずステップＳ９０１では認証要求受信部３０７において、ユーザがユーザ端末を介してサービス要求を送信したサービス提供装置から認証要求を受信し、アクセス先サービスのサービス情報であるサービス識別子、ユーザ情報であるユーザ識別子、およびセッション識別子とを取得する。
次にステップＳ９０２で、認証方式選択部３０８が、ユーザ認証状態ＤＢ３０１を参照し、ユーザ識別子４０１が当該ユーザ識別子と等しく、かつ、認証結果４０５が「成功」であり、かつ、セッション識別子４０６が当該セッション識別子と等しい認証状態を取得する。このとき、認証有効期限（図４の４０４）を過ぎている認証状態があった場合には、その認証状態を取得した認証状態およびユーザ認証状態ＤＢ３０１から除去する。また、前述した条件を満たす認証状態がない場合は、何も取得せず、ステップＳ９０３にすすむ。
【００３６】
次にステップＳ９０３で、認証方式選択部３０８が、認証方式ＤＢ３０３を参照して認証状態の認証サービス４０２と認証サービス識別子６０１とが等しい認証方式を取得し、認証方式（複数の認証方式を組み合わせた場合も含む）とそれにより達成される認証レベルとを対応付けて記憶した認証方式組み合わせＤＢ３０４を参照して現在の状態におけるレベルを導出する。ここで、得られるレベルが複数あった場合には、最も高いレベルを現在のレベルとする。例えば、当該ユーザがパスワードによる認証とＩＣカードによる認証の両方を行っていた場合には、それぞれレベル１とレベル２が得られるが、現在のレベルとしては両者のうち高い方を選択し、レベル２であるとする。
続いてステップＳ９０４で、認証方式選択部３０８が、サービスごとのポリシ情報を記憶しているサービスポリシＤＢ３０５を参照し、アクセス先サービスのサービス識別子に対応する要求レベルを取得する。
ステップＳ９０５で現在のレベルがサービスの要求レベルを満たしているかどうかを判定し、満たしている場合にはステップＳ９０６で既に認証済みである旨の認証結果を生成し、認証要求受信部３０７はステップＳ９０７で認証結果をサービス提供装置１０２へと送信する。ステップＳ９０５で現在のレベルがサービスの要求レベルを満たしていない場合には、ステップＳ９０８で認証方式選択部３０８と認証要求部３０９が、認証処理を実施するように認証サービス提供装置１０３に認証要求を送信し、認証サービス提供装置１０３が認証を実行し、認証結果が認証中継装置に送信され、認証要求受信部３０７は得られた認証結果をステップＳ９０７でサービス提供装置１０２に送信する。
【００３７】
図１０は、図９のステップＳ９０８で実施される、認証処理の流れを表すフローチャートである。なお、以降の処理は図９で示される認証方式選択部３０８と認証要求部３０９の動作の一部であり、図９中のステップで取得したユーザ認証状態情報、認証方式情報、認証方式組み合わせ情報、サービスポリシ情報は保持されているものとする。
【００３８】
認証処理では、まずステップＳ１００１で、認証方式選択部３０８が、ユーザの使用するブラウザがアクセス要求時に送信してくる情報からユーザの使用端末の端末識別子５０２を取得する。ブラウザの送信情報からユーザ端末の端末識別子を取得する方法についてはエージェント情報（Ｕｓｅｒ−Ａｇｅｎｔヘッダ）を利用する、などの方式がある。また、ブラウザの送信情報から端末識別子を取得する以外にも、ユーザ端末ＤＢに登録されている端末一覧から一つを選択するインタフェースを用意してユーザに選択させる、などといった方式を取ってもよい。
次にステップＳ１００２で、認証方式選択部３０８がユーザ端末ＤＢ３０２を参照し、ステップＳ１００１で取得した端末識別子５０２から当該端末で利用可能な認証方式５０３を取得する。
次にステップＳ１００３で、認証方式選択部３０８が認証方式組み合わせＤＢ３０４に格納されている情報の中で、Ｓ９０４で取得したサービスの要求レベル８０３を満たす認証方式の組み合わせ群を取得する。このとき、ユーザ認証状態情報から得られる認証済みの認証方式６０３があれば、それを除去する。例として要求レベルが３の場合を考える。図７で示された認証方式組み合わせＤＢ３０４の中でレベル３を達成するものは、「パスワードと乱数表」「乱数表とＩＣカード」「パスワードと乱数表とＩＣカード」でそれぞれレベル３、３、４を達成する。これらが要求レベルを満たす認証方式の組み合わせ群となる。ユーザが既に乱数表を用いた認証を済ませているとすると、前記組み合わせ群から乱数表を除去し、「パスワード」でレベル３を達成、「ＩＣカード」でレベル３を達成、「パスワードとＩＣカード」でレベル４を達成、という認証方式の組み合わせ群が得られる。
ステップＳ１００４では、認証方式選択部３０８がステップＳ１００３で得られた組み合わせ群から、ステップＳ１００２で取得した利用可能な認証方式５０３のみで構成されたものを抽出する。すなわち認証方式選択部３０８は、ユーザ情報に基づいた認証方式と、サービス情報に基づいた要求レベルとに基づいて、ユーザがサービスの利用に必要な認証方式を選択する。前記の例でいうと、ユーザ端末でパスワード認証（および既に認証済みの乱数表による認証）のみが可能である場合、得られた組み合わせ群からパスワード認証のみで構成されるものを抽出し、「パスワード」でレベル３が達成される、という認証方式の組み合わせ群を取得する。また、ステップＳ１００４において、ステップＳ１００３で得られた組み合わせ群から、ステップＳ１００２で取得した利用可能な認証方式のみで構成された群が存在しなかった場合、図１１のＳ１１０４のステップの処理にとぶものとしてもよい。
次にステップＳ１００５では、認証方式選択部３０８と認証要求部３０９が得られた認証方式の組み合わせ群のうち、実際にどの組み合わせを用いて認証を行うかを選択し認証を行う、認証選択処理を実施する。Ｓ１００５は、図１１で詳細に説明する。
ステップＳ１００６において、認証方式選択部３０８はステップＳ１００５での処理の結果返された認証結果が成功であるかどうかを判定し、成功の場合にはステップＳ１００７で認証が成功した旨の認証結果を生成し、失敗の場合にはステップＳ１００８で認証が失敗した旨の認証結果を生成する。生成された認証結果は図９のステップＳ９０８の結果として、図９のステップＳ９０７に渡される。
【００３９】
図１１は、図１０のステップＳ１００５で実施される、認証選択処理の流れを表すフローチャートである。
ステップＳ１１０１において、認証方式選択部３０８は、Ｓ９０４で取得したサービスポリシ中の「認証方式の選択方法」（図８の８０４）が「認証中継装置が選択」であるかどうかを判定する。そうであった場合にはステップＳ１１０２で認証方式の組み合わせ群を達成されるレベルの低い順および必要な認証回数の少ない順でソートする。ステップＳ１１０３でソート後の組み合わせ群から、最も達成されるレベルが低く、必要な認証回数の少ないものを取得する。その後ステップ１１０６でその方式を用いる認証サービスに対して認証要求を行うため、認証方式の組み合わせをパラメータとして認証要求部３０９を呼び出す。ステップ１１０６については、図１２で詳細に説明する。
【００４０】
本実施例においては、ユーザの利便性を最大にするために、認証方式の組み合わせ群の中から認証を行う組み合わせを選択する際に、達成されるレベルの低い順および必要な認証回数の少ない順でソートしてから選択しているが、選択方法をこれに限定するものではない。例えば、認証方式組み合わせＤＢ３０４に登録されている順もしくはその逆順にソートしてから選択する方式でもよいし、この後に要求レベルの高いサービスにアクセスしても認証を要求されないように達成されるレベルの高い順にソートしてから選択する方法でもよい。また、完全にランダムに認証方式の組み合わせ群から一つを選択する方式であってもよい。
【００４１】
ステップＳ１１０１にて認証方式選択部３０８は、サービスポリシ３０５の「認証方式の選択方法８０４」が「認証中継装置が選択」でなかった場合（すなわち「ユーザが選択」であった場合）には、ステップＳ１１０４でインタフェースを用意してユーザに対して認証方式の組み合わせ群を提示し、一つを選択させる。ステップＳ１１０５でユーザが選択した認証方式の組み合わせを取得し、ステップＳ１１０６でその方式を用いる認証サービスに対して認証要求を行うため、認証方式の組み合わせをパラメータとして認証要求部３０９を呼び出す。つまり、認証要求部３０９は、認証サービス提供装置に認証要求を送信する。
【００４２】
ここで、ユーザによる選択は、要求レベルを満たす認証方式の組み合わせ群を提示して一つをユーザが選択する方式でもよいし、それらを構成する認証方式の一覧を提示してユーザが選択する方式でもよい。認証方式の一覧を提示する場合には、認証後、図９のステップＳ９０２に戻り、現在のレベルを導出して必要なレベルを満たしたか判定し、必要なレベルを満たしたと判断されるまで、認証方式の一覧を提示する、という流れになる。提示の際の付加情報として、認証方式に付随して、当該認証方式による認証が成功した場合に当該サービスへのアクセスが可能になるか否かという情報や、否であった場合にはさらに必要な認証方式のリストを提示するなどの方式を取ってもよい。
【００４３】
ステップＳ１１０７で認証方式選択部３０８は、認証要求部から認証の結果を受け取り、Ｓ１１０８で認証方式の組み合わせ内の全ての認証方式で認証が成功したかどうかを判定する。全て認証成功していた場合にはステップＳ１１０９で認証結果として認証成功であることを判定する。全て成功ではなかった場合には、ステップＳ１１１０で認証失敗回数をインクリメントする。初回の失敗であった場合には認証失敗回数を１とする。次にステップＳ１１１１で認証失敗回数がサービスポリシ中の「認証失敗許容回数」（図８の８０６）を超えたかどうか判定する。超えていた場合にはステップＳ１１１２で認証結果として認証失敗であると判定する。まだ超えていない場合にはステップＳ１１１３に進み、先ほど使用した認証方式の組み合わせを認証方式の組み合わせ群から除去する。ステップＳ１１１４で認証方式の組み合わせ群に残りがあるかどうか判定する。残りがある場合には別の方式で認証するためにステップＳ１１０１へ戻る。残りがない場合にはステップＳ１１１２で認証失敗であると判定する。
【００４４】
ステップＳ１１１３では、認証方式の組み合わせを構成する認証方式全ての認証結果を取得してから認証方式の組み合わせ群からの除去を行っているが、別の方式として、認証方式の組み合わせを構成する認証方式による認証結果を一つ一つ取得し、その度に認証に失敗した認証方式を含む認証方式の組み合わせを除去していく、という方式を取ってもよい。例えば、認証方式の組み合わせ群として「パスワード、ＩＣカード、指紋認証」「パスワード、ＩＣカード、乱数表」「パスワード、ワンタイムパスワード」がこの順番であったとする。この中から「パスワード、ＩＣカード、指紋認証」の組み合わせをまず試行し、パスワード認証で認証成功、ＩＣカード認証で認証失敗、指紋認証で認証成功、結果としてこの認証方式の組み合わせでは認証失敗であったとする。前述のステップＳ１１１３における方式では、残る認証方式の組み合わせ群は「パスワード、ＩＣカード、乱数表」「パスワード、ワンタイムパスワード」となり、次に「パスワード、ＩＣカード、乱数表」の組み合わせが選択され認証が試行される。本段落で別の方式の例としてあげた方式の場合、まずパスワード認証の結果「認証成功」を取得し、次にＩＣカード認証の結果「認証失敗」を取得する。この時点で、保持している認証方式の組み合わせ群の中からＩＣカード認証を含むものを除去し、残りは「パスワード、ワンタイムパスワード」の組み合わせのみとなり、この組み合わせが施行される。
【００４５】
本実施例においては、認証方式の選択方法をサービスのポリシとして定めている（図８中、サービスポリシＤＢ３０５の認証方式の選択方法８０４）が、これは認証方式の選択方法をサービスのポリシとして定めることに限定するものではなく、別の方式を取ってもよい。一例として、毎回認証中継装置がユーザに対し、認証中継装置が選択するかユーザが選択するかを決定させる方式でもよい。また別の一例として、認証試行の初回は認証中継装置が選択し、一度失敗してからはユーザに選択させる、という方式でもよい。
また、本実施例においては、一度認証失敗した認証方式を用いないような選択がなされるが、これに限定するものではなく、認証失敗した認証方式を再度用いる方式を取ってもよい。
【００４６】
図１２は、第１の実施形態における認証要求部３０９の動作を表すフローチャートである。ステップＳ１２０１で認証方式選択部３０８から認証方式の組み合わせを取得する。ステップＳ１２０２で得られた組み合わせからまだ認証要求を送信していない認証方式一つを取り出し、その認証方式による認証を提供する認証サービス提供装置へと認証要求を送信する。その後、認証サービス提供装置がユーザに認証を要求し、認証の結果を中継装置に送信し、中継装置の認証要求部３０９はステップＳ１２０３で認証結果を受信する。ステップＳ１２０４で認証要求部は、認証が成功したかどうかを判定する。ステップＳ１２０５でユーザ認証状態ＤＢ３０１をアップデート（認証結果である認証成功、認証失敗の情報を格納）し、ステップＳ１２０６に進む。具体的には、「ユーザ識別子」に当該ユーザの識別子を、「認証サービス」に当該認証サービスの識別子を、「認証時刻」に現在時刻を、「認証結果有効期限」に現在時刻に認証方式ＤＢ３０３の「タイムアウト時間」（図６の６０４）を加えた結果の時刻を、「認証結果」に成功または失敗を、「セッション識別子」にセッション識別子を格納する。ステップＳ１２０６では、組み合わせ内に認証要求を送信していない認証方式があるかどうか判定し、ある場合にはステップＳ１２０２に戻る。全ての認証方式に関して認証要求を送信済みであった場合には、ステップＳ１２０７で全ての認証方式の認証結果を認証方式選択部３０８へと返す。
【００４７】
本実施例においては、認証方式の組み合わせを構成する認証方式全てにおいて認証を試行し、その結果を返すことにしているが、別の方式として、認証に失敗した認証方式があった場合にはそこで認証試行を打ち切り、そこまでの認証結果を返す、という方式を取ってもよい。
【００４８】
図１４は、第１の実施形態における認証方式取得部３１０で提供する端末情報を入力するためのインタフェースを表した図である。１４０１はユーザの利用するブラウザプログラムの画面であり、当該インタフェースは登録済み端末表示部１４０２と端末情報および認証方法追加部１４０３とを備える。登録済み端末表示部１４０２には、既に登録されている当該ユーザの利用端末とそこで利用可能な認証方式の一覧が示されており、端末情報および認証方法追加部１４０３には端末識別子を入力可能なテキストボックス、利用可能な認証方式を選択するためのコンボボックス、入力された情報をデータベースに追加するための追加ボタンが具備されている。全ての端末で利用可能な認証方式（パスワードや乱数表など）を追加する場合には、端末識別子に「＊」を入力する。
【００４９】
以上が認証中継装置１０１の構成要素ごとの説明となる。
【００５０】
次に、認証中継装置１０１の動作について、実際のシーケンス例を元に説明する。図１３がそのシーケンス図である。前提として、各データベースに登録されている情報は図４、図５、図６、図７、図８に示すものと同じ情報であるとする。
【００５１】
今、ユーザ認証状態ＤＢ３０１内の全ての認証有効期限以前の時刻において、ユーザ識別子が「Ｕｓｅｒ  Ａ」であるユーザが端末識別子「Ｄｅｖｉｃｅ  Ｂ」の端末を利用してサービス識別子「Ｓｅｒｖｉｃｅ  Ａ」のサービスを利用しようとアクセスする（Ｓ１３０１）。サービス要求を受けたサービス「Ｓｅｒｖｉｃｅ  Ａ」は認証中継装置１０１へと認証要求を送信する（Ｓ１３０２）。この時、サービス「Ｓｅｒｖｉｃｅ  Ａ」はユーザ「Ｕｓｅｒ  Ａ」が利用するブラウザのリダイレクト機能を用いて送信する。認証要求を受けた認証中継装置１０１では、認証方式選択部３０８により適切な認証方式の選択を行う（Ｓ１３０３）。選択までの流れは以下のようになる。
【００５２】
まず、ユーザ「Ｕｓｅｒ  Ａ」の認証状態を取得し、認証サービス「ＡｕｔｈＳｅｒｖｉｃｅ  Ａ」で認証済みであり、まだ有効期限になっていないことを取得する。次に認証サービス「ＡｕｔｈＳｅｒｖｉｃｅ  Ａ」の認証方式がパスワード認証でありパスワード認証により達成されるレベルが１であることがわかる。次にアクセス先のサービス「Ｓｅｒｖｉｃｅ  Ａ」の要求レベルを確認すると、要求レベルが２であるとわかり、現在のレベルでは要求レベルを達成できていないことがわかる。認証方式組み合わせＤＢ３０４からレベル２以上を達成する組み合わせを取得し、認証済みの方式であるパスワード認証を除去し、利用端末「Ｄｅｖｉｃｅ  Ｂ」で利用可能な認証方式のみで構成された組み合わせを抽出すると、「Ｃｏｍｂｉｎａｔｉｏｎ  Ｃ」の組み合わせが残り、追加で指紋認証を行うことで要求レベルであるレベル２を達成できることがわかる。
【００５３】
必要な認証方式が指紋認証であるとわかったので、指紋認証を認証方式として持つ認証サービスの「ＡｕｔｈＳｅｒｖｉｃｅ  Ｂ」に認証要求を、リダイレクトを用いて送信する（Ｓ１３０４）。「Ｕｓｅｒ  Ａ」と「ＡｕｔｈＳｅｒｖｉｃｅ  Ｂ」との間で認証処理を行う（Ｓ１３０５）。ここでの認証結果は認証成功であるとする。「ＡｕｔｈＳｅｒｖｉｃｅ  Ｂ」は認証結果を認証中継装置へと、リダイレクトを用いて送信する（Ｓ１３０６）。認証結果を受けた認証中継装置は、認証が成功であり、これで「Ｓｅｒｖｉｃｅ  Ａ」の要求レベルが満たされたことを確認し、「Ｓｅｒｖｉｃｅ  Ａ」へと認証結果を、リダイレクトを用いて送信する（Ｓ１３０７）。「Ｓｅｒｖｉｃｅ  Ａ」では、送信されてきた認証結果を検証し、要求しているレベルが達成されていることを確認（Ｓ１３０８）した後、「Ｕｓｅｒ  Ａ」に対してサービスの提供を行う（Ｓ１３０９）。
【００５４】
本実施形態はあくまで一例であり、ユーザ利便性を向上させるための変形が許容される。例えば、図９のステップＳ９０３で現在の状態におけるレベルを導出しているが、この際にユーザ認証状態ＤＢ３０１に格納されている認証有効期限を考慮してもよい。すなわち、有効期限の近いものがある場合には、ここで認証済みと判断してもすぐ有効期限に到達してしまい、次のサービスへのアクセス時に再度認証が必要になり、利便性が落ちてしまう可能性が考えられる。そこで、有効期限の近い、例えば残り１分しか有効期間のないような認証は無効であるものと判断し、現在のレベルを低く導出することで、再認証もしくはよりレベルの高い認証を促し、結果認証有効期限が伸びることでユーザの利便性が向上する可能性があることから、このような認証有効期限を考慮した現在のレベル導出をするようにしてもよい。
【００５５】
本発明で開示する認証中継装置はサービスへのログインのためのユーザ認証において用いられるため、認証時の処理について前述した。ユーザがサービスを利用する際には、ログインで始まりログアウトで終わることから、ユーザのサービスからのログアウトに係る処理を認証中継装置が行ってもよい。ログアウトの処理については図示しないが、処理の一例を以下に示す。
【００５６】
ユーザがサービスに対してログアウトを主張すると、サービスはその旨を認証中継装置に送信する。サービスからユーザのログアウトを受信すると、認証中継装置はユーザ識別子、セッション識別子を取得し、ユーザ識別子およびセッション識別子の一致するユーザ状態ＤＢ３０１の情報を削除する。これによりユーザはどの認証サービスにおいても認証されていないことになり、ログアウトが実現される。
【実施例２】
【００５７】
第２の実施形態における認証中継装置について説明する。第２の実施形態における認証中継装置によると、認証におけるユーザの利便性を向上させるとともに、成りすましなどの不正な活動によるリスクを減らすことができる。なお、本実施形態の説明において、実施例１にて説明した図に示されたものと同一の符号を付された構成要素、機能部、および処理ステップについては、説明を省略する。
【００５８】
図１５は、第２の実施形態における認証中継装置の構成図である。第２の実施形態における認証中継装置は、図３で図示した第１の実施形態における認証中継装置の構成に加え、ユーザログデータベース１５０１が追加されている。また、認証方式選択部３０８の処理内容に追加が発生する。
【００５９】
図１６は、第２の実施形態におけるユーザログデータベース１５０１の構成図である。ユーザログデータベース１５０１は、ユーザの行動の履歴を格納するデータベースであり、ユーザ識別子１６０１、アクセス時刻１６０２、利用端末１６０３、アクセス元１６０４、利用サービス１６０５、連続認証失敗回数１６０６から構成される。ユーザ識別子１６０１は、アクセスしたユーザを一意に識別する識別子である。アクセス時刻１６０２は認証中継装置にアクセスした時刻を表す。利用端末１６０３は、アクセスに利用された端末の識別子である。アクセス元１６０４は、アクセスした際にユーザがいた場所やネットワークを表す情報である。本実施形態においてはＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを格納している。利用サービス１６０５は、認証中継装置にアクセスした際に利用しようとしていたサービスの識別子である。連続認証失敗回数１６０６は、これまでに連続して認証に失敗している場合にその回数が格納される。認証に成功した場合は連続認証失敗回数は０になる。
【００６０】
図１７は、第２の実施形態における認証方式選択部３０８の処理内容と第１の実施形態における認証方式選択部３０８の処理内容との差分の主要部分である。第２の実施形態における主要な処理は、第１の実施形態における図９のＳ９０４とＳ９０５の間に挿入される。ステップＳ９０４で認証方式選択部３０８が、サービスの要求するレベルを取得したのち、ステップＳ１７０１にてユーザログＤＢ１５０１を参照し、当該ユーザの行動履歴に異常な点がないかどうか判定する。ステップＳ１７０２で異常と思われる状況であった場合には、ステップＳ１７０３で現在の状態におけるレベルを１下げる。すなわち、アクセス履歴が予め定められた条件を満たす場合に異常であると判定し、異常であると判定された場合は、認証レベルを下げる、もしくは前記サービスの要求レベルを上げるよう更新する。例えば、現在の状態におけるレベルが０（認証済みサービスなし）の状態であった場合には、アクセス先サービスの要求レベルを１上げる。異常と思われる状況ではなかった場合には第１の実施例と同様にステップＳ９０５に進み、サービスが要求するレベルを満たしているかどうかの判定を行う。
【００６１】
ステップＳ１７０１における異常判定方法は、具体的には以下のようなものが例として挙げられる。これらの異常判定方法の例はそれぞれ単体で用いるだけでなく、複数を用いて、そのうち１つの方法で異常と判定された場合にステップＳ１７０１で異常だと判定する、全ての方法で異常だと判定された場合にステップＳ１７０１で異常だと判定する、異常だと判定した方法の数が一定数を超えた場合にステップＳ１７０１で異常だと判定する、など、以下に示す異常判定方法のうち複数を組み合わせた判定方法としてもよい。
【００６２】
異常判定方法の一つは、アクセス時刻１６０２と連続認証失敗回数１６０６を参照し、短い間隔で多数の認証試行が発生し、失敗している場合に異常だと判定する、という方法がある。
【００６３】
また別の方法として、アクセス時刻１６０２と利用端末１６０３を参照し、短い間隔で多数の端末を切り替えて使用している場合に異常だと判定する、という方法がある。
【００６４】
また別の方法として、アクセス時刻１６０２とアクセス元１６０３とを参照し、短い間隔で多数のアクセス元からアクセスしている場合に異常だと判定する、という方法がある。
【００６５】
また別の方法として、アクセス時刻１６０２とアクセス元１６０３とを参照し、アクセス元１６０３から国や地域などの所在地を割り出し、通常考えられない速度で国や地域間を移動していた場合に異常だと判定する、という方法がある。
【００６６】
また別の方法として、ユーザの職場のネットワークなど、通常アクセスに用いるネットワークを事前に定義しておき、そことは異なるネットワークからのアクセスであった場合に異常だと判定する、という方法がある。これはＩＰアドレス帯などのネットワークに限らず、当該ユーザが現在いる国や地方などの地理的情報をアクセス元のＩＰアドレスやその他の情報から判断し、通常いる国からのアクセスかどうかで異常か否かを判定する方法や、アクセス元のＩＰアドレスが携帯電話のネットワークのものか、専用線のものか、一般ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）のものか、光ファイバによるインターネットアクセスかＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）によるインターネットアクセスかなどといった情報から異常か否かを判定する方法であってもよい。
【００６７】
また別の方法として、ユーザが利用している端末を確認し、携帯電話であった場合には異常だと判定する、という方法がある。ここで携帯電話である場合を異常としているのは、携帯電話のような端末の場合、ユーザによる紛失および他者による取得が比較的発生しやすく、他者が端末の本来の利用者になりすましてアクセスする可能性が高いためである。また、ユーザ端末ＤＢ３０２に登録されていない端末を利用している場合や、登録されているが初めて利用される端末である場合や、アクセス時刻１６０２を参照した結果長い間使われていなかった端末である場合などに異常だと判定する方法であってもよい。
【００６８】
また別の方法として、ユーザが通常アクセスする時間を定義しておき、定義された時間とは異なる時刻にアクセスがあった場合に異常と判定する、という方法がある。例えば、職場の就業時間を登録しておき、その時間外のアクセスは異常だと判定する、夜１０時から朝６時までの深夜時間帯のアクセスは異常だと判定する、午前中のアクセスは異常だと判定する、などの方法がある。また、時刻を用いた判定において、ユーザが現在いる地点と認証中継装置が設置されている地点との時差や、ユーザが現在いる地点とユーザが所属する会社がある土地との時差などを考慮する仕組みになっていてもよい。
【００６９】
また、アクセス元に基づく情報を利用した異常判定において、アクセス元を、ユーザ端末に割り当てられたＩＰアドレスやそこから割り出せる所在地だけでなく、利用回線の識別子や、滞在している部屋、ＩＰアドレスから求められるＦＱＤＮ（Ｆｕｌｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）やその一部などにより識別する仕組みになっていてもよい。
【００７０】
本実施例においては、現在の状態におけるレベルもしくは要求レベルの変化量を１としているが、これは変化量を１に制限するものではない。ステップＳ１７０１で判定された異常の度合いによって変化量を２、３、もしくはそれ以上の値としてもよい。
【００７１】
また、本実施例においては、異常な状態を判定するようにしているが、異常な状態だけでなく、通常の状態、より信頼できる状態などを判定し、それに応じて現在の状態レベルやアクセス先サービスの要求レベルを変化させてもよい。例えば、あるユーザが所属する会社のネットワークから当該サービスへアクセスしており、当該会社のネットワークに設置されている端末を利用できるのは当該会社に進入する正当な権利を持った者であると事前に分かっており、また契約などにより当該会社が信頼のおけるとわかっているような場合には、当該ユーザはある程度信頼できるものとして現在の状態レベルを１上げる、という方法がある。
【００７２】
さらに、図示していないが、第２の実施形態においては、図９のステップＳ９０７にて、ユーザログデータベース１５０１に当該アクセスの情報を追加する。その際、認証結果が成功だった場合には連続認証失敗回数１６０６を０にし、認証結果が失敗だった場合にはユーザログデータベース１５０１に記録されている当該ユーザのログのうちアクセス時刻１６０２が最も新しいログの連続認証失敗回数１６０６に１を追加した値を追加ログの連続認証失敗回数１６０６に格納する値とする。
【００７３】
図１７で示したような処理を追加することで、何らかの異常な状況にあると判断された場合には現在のレベルが下がるもしくはサービスの要求レベルが上がり、同じサービスを利用する際にもよりレベルの高い認証が要求されることになる。このように、ユーザの成りすましやパスワードの総当たり攻撃が試行されている際に異常である旨を検知し、現在のレベルやサービスの要求レベルに反映させることで、攻撃の成功を妨げることが可能になる。
【符号の説明】
【００７４】
１００  シングルサインオンシステム
１０１  認証中継装置
１０２  サービス提供装置
１０３  認証サービス提供装置
１０４  ユーザ端末
３０１  ユーザ認証状態データベース
３０２  ユーザ端末データベース
３０３  認証方式データベース
３０４  認証方式組み合わせデータベース
３０５  サービスポリシデータベース
３０６  サービスポリシ取得部
３０７  認証要求受信部
３０８  認証方式選択部
３０９  認証要求部
３１０  認証方式取得部
１５０１  ユーザログデータベース
【図１】
2013073416.tif 000003
【図２】
2013073416.tif 000004
【図３】
2013073416.tif 000005
【図４】
2013073416.tif 000006
【図５】
2013073416.tif 000007
【図６】
2013073416.tif 000008
【図７】
2013073416.tif 000009
【図８】
2013073416.tif 000010
【図９】
2013073416.tif 000011
【図１０】
2013073416.tif 000012
【図１１】
2013073416.tif 000013
【図１２】
2013073416.tif 000014
【図１３】
2013073416.tif 000015
【図１４】
2013073416.tif 000016
【図１５】
2013073416.tif 000017
【図１６】
2013073416.tif 000018
【図１７】
2013073416.tif 000019