(57)【要約】【課題】複数サービスの認証情報に関して、暗号化を施してセキュリティレベルを確保しつつ、複数ユーザによる１ユーザの認証情報管理も可能とする。【解決手段】コンピュータが、所定ユーザの認証情報を暗号化する鍵を用い、該当ユーザの認証情報を暗号化し記憶装置にて保持する処理と、前記鍵を前記ユーザの認証情報を管理する該当ユーザを含む複数の管理ユーザ別に暗号化し該複数の管理ユーザの暗号化鍵を前記ユーザに対応付けて記憶装置にて保持する処理と、所定ユーザに関する認証情報の管理要求を入力装置で受け、該管理要求が示す管理ユーザの識別情報を記憶装置にて照合し、前記所定ユーザに関して該当管理ユーザの暗号化鍵を特定できた場合、該暗号化鍵を前記管理要求が示す前記管理ユーザの認証情報にて復号化して前記鍵を生成し、前記管理要求に応じて更新された前記所定ユーザの認証情報を前記鍵で暗号化し記憶装置に格納する処理を実行する。【選択図】図１
2012079231.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが利用する複数サービスの各認証情報を管理するコンピュータであり、
各種情報を格納する記憶装置、および他装置との通信を行う通信装置と、
所定ユーザの認証情報を暗号化する鍵を用い、該当ユーザの認証情報を暗号化し記憶装置にて保持する処理と、
前記鍵を、前記ユーザの認証情報を管理する、該当ユーザを含む複数の管理ユーザ別に暗号化し、該複数の管理ユーザの暗号化鍵を前記ユーザに対応付けて記憶装置にて保持する処理と、
所定ユーザに関する認証情報の管理要求を通信装置で受け、該管理要求が示す管理ユーザの識別情報を記憶装置にて照合し、前記所定ユーザに関して該当管理ユーザの暗号化鍵を特定できた場合、該暗号化鍵を前記管理要求が示す前記管理ユーザの認証情報にて復号化して前記鍵を生成し、前記管理要求に応じて更新された前記所定ユーザの認証情報を前記鍵で暗号化し記憶装置に格納する処理と、を実行する演算装置と、
を備えることを特徴とした認証情報管理装置。
【請求項２】
請求項１において、
前記演算装置は、前記認証情報を所定のアルゴリズムに適用して検証用情報を生成し、該検証用情報を前記認証情報に対応付けて記憶装置にて保持し、管理要求が示す管理ユーザに関する暗号化された認証情報を記憶装置から読み出し、前記管理要求が示す管理ユーザの認証情報にて該当管理ユーザの暗号化鍵を復号化して得た前記鍵で、前記読み出した認証情報を復号化し、復号化した認証情報を前記所定のアルゴリズムに適用して生成した情報と、前記認証情報に関して生成しておいた検証用情報とを照合し、両者が一致する場合に前記管理要求に応じた処理または前記認証情報を所定の他装置に送る処理を更に実行するものである、ことを特徴とした認証情報管理装置。
【請求項３】
請求項２において、
前記演算装置は、前記鍵を所定のアルゴリズムに適用して鍵検証用情報を生成し、該鍵検証用情報を該当ユーザに対応付けて記憶装置にて保持し、管理要求が示す管理ユーザの認証情報にて該当管理ユーザの暗号化鍵を復号化して得た前記鍵を前記アルゴリズムに適用して生成した情報と、前記管理ユーザに関して生成しておいた鍵検証用情報とを照合し、両者が一致する場合に前記管理要求に応じた処理または前記認証情報を所定の他装置に送る処理を更に実行するものである、ことを特徴とした認証情報管理装置。
【請求項４】
請求項３において、
前記演算装置は、認証情報を管理要求に際して指示を受け付けるＧＵＩ画面のデータを記憶装置より読み出して出力装置に表示させ、該ＧＵＩ画面を介して管理要求の情報を受け付けることを特徴とした認証情報管理装置。
【請求項５】
請求項３において、
前記演算装置は、前記認証成功と判定された管理ユーザにより認証情報が更新された際、前記管理ユーザが当該認証情報を保持するユーザとは別ユーザである場合に、当該認証情報を保持するユーザのクライアントに対し所定通知を送るものであることを特徴とした認証情報管理装置。
【請求項６】
各種情報を格納する記憶装置、および他装置との通信を行う通信装置を備え、ユーザが利用する複数サービスの各認証情報を管理するコンピュータが、
所定ユーザの認証情報を暗号化する鍵を用い、該当ユーザの認証情報を暗号化し記憶装置にて保持する処理と、
前記鍵を、前記ユーザの認証情報を管理する、該当ユーザを含む複数の管理ユーザ別に暗号化し、該複数の管理ユーザの暗号化鍵を前記ユーザに対応付けて記憶装置にて保持する処理と、
所定ユーザに関する認証情報の管理要求を通信装置で受け、該管理要求が示す管理ユーザの識別情報を記憶装置にて照合し、前記所定ユーザに関して該当管理ユーザの暗号化鍵を特定できた場合、該暗号化鍵を前記管理要求が示す前記管理ユーザの認証情報にて復号化して前記鍵を生成し、前記管理要求に応じて更新された前記所定ユーザの認証情報を前記鍵で暗号化し記憶装置に格納する処理と、
を実行することを特徴とした認証情報管理方法。
【請求項７】
請求項６において、
前記コンピュータが、
前記認証情報を所定のアルゴリズムに適用して検証用情報を生成し、該検証用情報を前記認証情報に対応付けて記憶装置にて保持し、管理要求が示す管理ユーザに関する暗号化された認証情報を記憶装置から読み出し、前記管理要求が示す管理ユーザの認証情報にて該当管理ユーザの暗号化鍵を復号化して得た前記鍵で、前記読み出した認証情報を復号化し、復号化した認証情報を前記所定のアルゴリズムに適用して生成した情報と、前記認証情報に関して生成しておいた検証用情報とを照合し、両者が一致する場合に前記管理要求に応じた処理または前記認証情報を所定の他装置に送る処理を更に実行する、
ことを特徴とした認証情報管理方法。
【請求項８】
請求項７において、
前記コンピュータが、
前記鍵を所定のアルゴリズムに適用して鍵検証用情報を生成し、該鍵検証用情報を該当ユーザに対応付けて記憶装置にて保持し、管理要求が示す管理ユーザの認証情報にて該当管理ユーザの暗号化鍵を復号化して得た前記鍵を前記アルゴリズムに適用して生成した情報と、前記管理ユーザに関して生成しておいた鍵検証用情報とを照合し、両者が一致する場合に前記管理要求に応じた処理または前記認証情報を所定の他装置に送る処理を更に実行する、
ことを特徴とした認証情報管理方法。
【請求項９】
請求項８において、
前記コンピュータが、認証情報を管理要求に際して指示を受け付けるＧＵＩ画面のデータを記憶装置より読み出して出力装置に表示させ、該ＧＵＩ画面を介して管理要求の情報を受け付けることを特徴とした認証情報管理方法。
【請求項１０】
請求項８において、
前記コンピュータが、前記認証成功と判定された管理ユーザにより認証情報が更新された際、前記管理ユーザが当該認証情報を保持するユーザとは別ユーザである場合に、当該認証情報を保持するユーザのクライアントに対し所定通知を送るものであることを特徴とした認証情報管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証情報管理装置および認証情報管理方法に関するものであり、具体的には、複数サービスの認証情報に関して、暗号化を施してセキュリティレベルを確保しつつ、複数ユーザによる１ユーザの認証情報管理も可能とする技術に関する。
【背景技術】
【０００２】
昨今、インターネットなどのネットワークにおいて様々なＷｅｂサービスが提供されている。そのようなサービスをユーザが利用しようとする際、まずユーザはサービスごとにユーザの識別子（ＩＤ）、パスワードなどの情報をサービスの提供装置側に登録する作業、すなわちユーザ登録を行う。また、サービス利用時におけるユーザは、クライアントにてＩＤやパスワードを入力してサービスの提供装置へ送信し、ユーザ認証を受けることになる。なお、企業などの組織の場合は、組織の管理者が、組織内ユーザの数に応じてユーザ登録を一括して行う場合もある。
【０００３】
利用するサービスの数が増えてくると、そこで用いるＩＤやパスワードの数も増加し、ユーザがそれらを管理するのが煩雑になってしまう。そこで、こうした複数のサービスの利用にかかるユーザの手間を軽減するため、シングルサインオンの技術が提案されている。シングルサインオンによれば、ユーザは一か所のサービスで認証を行うだけで、他のサービスでも認証が成功したものとしてスムーズにサービスの利用を行うことができる。
【０００４】
こうしたシングルサインオンを実現するための技術として、例えば特許文献１および特許文献２等に記載された技術がある。これらの技術では、シングルサインオンの対象となっている各サービスの認証情報を所定装置が保持し、ユーザの代わりに各サービスでの認証を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１８３９７２号公報
【特許文献２】特開平１０−１７７５５２号公報
【特許文献３】特許第４１５３７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述したようなシングルサインオンを実現する従来技術においては、シングルサインオンの対象となっている各サービスの認証情報を、シングルサインオンサービス（のコンピュータ）へと提供する必要がある。ユーザから提供された認証情報を保持するシングルサインオンサービスでは、サービスを提供しているコンピュータへの侵入や、悪意を持った管理者による保持データの覗き見が発生した際にもユーザの認証情報が漏れないよう、保持したデータに対して暗号化を施すことが望ましい。こうした暗号化のための技術としては、特許文献３に記載されているような、ユーザごとに暗号化のための鍵を発行し、その鍵を用いて当該ユーザの情報を暗号化する技術がある。
【０００７】
しかし、そのような方式では、データベースに格納されている情報を閲覧、変更できるのは当該ユーザのみとなってしまう。シングルサインオンサービスにおいては、組織の管理者が、Ｗｅｂサービスに関して組織内ユーザ用のＩＤ等を発行し、発行した認証情報をシングルサインオンサービスに登録することも考えられる。このような場合、ユーザごとに暗号鍵を発行して情報を暗号化する方式では、管理者による情報の追加や変更が不可能になってしまうという問題がある。
【０００８】
そこで本発明の目的は、複数サービスの認証情報に関して、暗号化を施してセキュリティレベルを確保しつつ、複数ユーザによる１ユーザの認証情報管理も可能とする技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決する本発明の認証情報管理装置は、ユーザが利用する複数サービスの各認証情報を管理するコンピュータであり、各種情報を格納する記憶装置、および他装置との通信を行う通信装置と、所定ユーザの認証情報を暗号化する鍵を用い、該当ユーザの認証情報を暗号化し記憶装置にて保持する処理と、前記鍵を、前記ユーザの認証情報を管理する、該当ユーザを含む複数の管理ユーザ別に暗号化し、該複数の管理ユーザの暗号化鍵を前記ユーザに対応付けて記憶装置にて保持する処理と、所定ユーザに関する認証情報の管理要求を通信装置で受け、該管理要求が示す管理ユーザの識別情報を記憶装置にて照合し、前記所定ユーザに関して該当管理ユーザの暗号化鍵を特定できた場合、該暗号化鍵を前記管理要求が示す前記管理ユーザの認証情報にて復号化して前記鍵を生成し、前記管理要求に応じて更新された前記所定ユーザの認証情報を前記鍵で暗号化し記憶装置に格納する処理と、を実行する演算装置と、を備えることを特徴とする。
【００１０】
また、本発明の認証情報管理方法は、各種情報を格納する記憶装置、および他装置との通信を行う通信装置を備え、ユーザが利用する複数サービスの各認証情報を管理するコンピュータが、所定ユーザの認証情報を暗号化する鍵を用い、該当ユーザの認証情報を暗号化し記憶装置にて保持する処理と、前記鍵を、前記ユーザの認証情報を管理する、該当ユーザを含む複数の管理ユーザ別に暗号化し、該複数の管理ユーザの暗号化鍵を前記ユーザに対応付けて記憶装置にて保持する処理と、所定ユーザに関する認証情報の管理要求を通信装置で受け、該管理要求が示す管理ユーザの識別情報を記憶装置にて照合し、前記所定ユーザに関して該当管理ユーザの暗号化鍵を特定できた場合、該暗号化鍵を前記管理要求が示す前記管理ユーザの認証情報にて復号化して前記鍵を生成し、前記管理要求に応じて更新された前記所定ユーザの認証情報を前記鍵で暗号化し記憶装置に格納する処理と、を実行することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数サービスの認証情報に関して、暗号化を施してセキュリティレベルを確保しつつ、複数ユーザによる１ユーザの認証情報管理も可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態の認証情報管理装置を含むシングルサインオンシステムの構成図である。
【図２】本実施形態のシングルサインオンシステムを構成する各装置のハードウェア構成例を示す図である。
【図３】本実施形態のシングルサインオンシステムを構成する各装置のソフトウェア構成例を示す図である。
【図４】本実施形態における認証情報データベースの構成例を示す図である。
【図５】本実施形態における鍵管理データベースの構成例を示す図である。
【図６】本実施形態におけるユーザ管理データベースの構成例を示す図である。
【図７】本実施形態におけるセッション管理データベースの構成例を示す図である。
【図８】本実施形態におけるログデータベースの構成例を示す図である。
【図９】本実施形態における認証情報管理方法の処理フロー例１を示す図である。
【図１０】本実施形態における認証情報管理方法の処理フロー例２を示す図である。
【図１１】本実施形態における認証情報管理方法の処理フロー例３を示す図である。
【図１２】本実施形態における認証情報管理方法の処理フロー例４を示す図である。
【図１３】本実施形態における認証情報管理方法の処理フロー例５を示す図である。
【図１４】本実施形態における認証情報管理方法の処理フロー例６を示す図である。
【図１５】シングルサインオンのシーケンス例を示す図である。
【図１６】本実施形態における認証情報管理方法の処理フロー例７を示す図である。
【発明を実施するための形態】
【００１３】
−−−システム構成例−−−
図１は、本実施例における認証情報管理装置１０３を含めたシングルサインオンシステム１００全体の構成例を示している。シングルサインオンシステム１００は、ユーザ端末１０１、認証サービス提供装置１０２、認証情報管理装置１０３、サービス提供装置１０４および１０５を備え、これらがネットワーク１０６で接続されている。ネットワーク１０６には、図示されていない端末や通信装置などが接続されていてもよい。図１におけるサービス提供装置は２つのみネットワーク１０６に接続されているが、２つに限定するものではなく３つ以上でも勿論よい。ネットワーク１０６は企業内ネットワークなどのLAN(Local Area Network)でもよいし、LANだけに留まらずインターネットであってもよい。
【００１４】
図２は、シングルサインオンシステム１００を構成する装置であるユーザ端末１０１、認証サービス提供サーバ１０２、認証情報管理装置１０３、サービス提供サーバ１０４および１０５のハードウェア構成例を示している。これらは、実質的に同様の装置構成を有し、各装置で実行されるソフトウェアによって各々の動作が定められる。
【００１５】
ユーザ端末１０１は情報処理装置であり、ユーザが所有するＰＣなどの端末である。ユーザ端末１０１は、ネットワークカードなどの通信装置２０１、キーボードやマウス等の入力装置２０２、LCD(Liquid Crystal Display)等の表示装置２０３、演算装置２０４、メモリ２０５、ハードディスク等の記憶装置２０６を備える。演算装置２０４は、記憶装置２０６に格納されたプログラムを実行し、各部の制御を行う。記憶装置２０６は、演算装置２０４が実行するプログラムおよび演算装置２０４が使用するデータ等を格納する。通信装置２０１は、ネットワーク１０６を介して他の装置からデータを受信して演算装置２０４へ送ると共に、演算装置２０４が生成したデータを、ネットワーク１０６を介して他の装置へ送信する。演算装置２０４は、入力装置２０２や表示装置２０３を制御し、入力装置２０２からデータを入力し、データを表示装置２０３へ出力する。記憶装置２０６にはプログラムや処理に必要なデータ類が格納されており、プログラムは記憶装置２０６からメモリ２０５にロードされ、演算装置２０４によって実行される。ユーザ端末１０１は、これらのプログラムを記憶装置２０６からロードして実行するが、他の例として、CD、DVD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等の記録媒体からこのプログラムをロードしてもよい。また他の例として、他の装置から、通信媒体を介して、これらのプログラムをロードしてもよい。通信媒体とは、ネットワークまたはこれらを伝搬するディジタル信号または搬送波を指す。
【００１６】
本実施例においては、認証サービス提供装置１０２、認証情報管理装置１０３、サービス提供装置１０４および１０５のハードウェア構成はユーザ端末１０１と同様のものであるため省略する。
【００１７】
図３は、シングルサインオンシステム１００を構成するユーザ端末１０１、認証サービス提供装置１０２、認証情報管理装置１０３、サービス提供装置１０４、１０５のソフトウェア構成例を示す。
【００１８】
ユーザ端末１０１は、ネットワーク１０６と情報を送受信するデータ送受信部３１１と、表示プログラム３１２とを有する。表示プログラム３１２は例えばウェブブラウザであり、ユーザ端末１０１のユーザは、これを用いてネットワーク１０６を介して接続されているサービス提供装置などからの情報を閲覧し、サービスを享受する。
【００１９】
認証サービス提供装置１０２は、ネットワーク１０６と情報を送受信するデータ送受信部３２１と、サービスプログラム３２２とを有する。サービスプログラム３２２は、特許文献１や特許文献２に記載されているような、複数のサービスでの認証をユーザ端末に代わって実施し、ユーザの利便性を高めるためのプログラム、すなわちシングルサインオンの実行プログラムである。ただし、本実施例における構成では、認証サービス提供装置１０２は複数のサービスにおけるユーザの認証情報を保持しない。ユーザの認証情報は、本実施形態における認証情報管理装置１０３が保持し、認証サービス提供装置１０２は認証情報をネットワーク１０６を介して認証情報管理装置１０３から取得するものとする。
【００２０】
一方、認証情報管理装置１０３は、ネットワーク１０６と情報を送受信するデータ送受信部３３１と、管理用画面（のデータ）３３２と、管理用のインタフェース３３３と、認証情報データベース３３４、鍵管理データベース３３５、ユーザ管理データベース３３６、セッション管理データベース３３７、ログデータベース３３８とを有する。管理用のインタフェース３３３は、認証情報管理装置１０３でのユーザの追加、削除、パスワードの変更、認証情報の追加、削除、更新などを行うためのインタフェースである。管理用画面３３２は、認証情報の管理を行うためのＧＵＩをユーザに提供するものであり、内部的には管理用のインタフェース３３３を用いて認証情報の管理を行う。
【００２１】
サービス提供装置１０４は、ネットワーク１０６と情報を送受信するデータ送受信部３４１と、データ送受信部３４１を介してネットワーク１０６に接続された装置にサービスを提供するサービスプログラム３４２とを有する。同様に、サービス提供装置１０５は、ネットワーク１０６と情報を送受信するデータ送受信部３５１と、データ送受信部３５１を介してネットワーク１０６に接続された装置にサービスを提供するサービスプログラム３５２とを有する。これらサービス提供装置１０４および１０５は、ソーシャルネットワークサービスやメールサービス、情報検索サービスなどのユーザが登録して利用するサービスを提供するものであり、本実施例の中で特にそのサービス内容を定めるものではない。
【００２２】
−−−データベース構成例−−−
続いて、本実施形態における認証情報管理装置１０３が記憶装置２０６に備えるデータベースの詳細について説明する。図４に認証情報データベース３３４の一例を示す。認証情報データベース３３４は、ユーザ識別子４０１をキーとして、サービス４０２、認証情報４０３、前記認証情報にハッシュ関数を適用して得られた認証情報ハッシュ値４０４、および要更新フラグ４０５で構成される。
【００２３】
ユーザ識別子４０１は、認証情報管理装置１０３のユーザに与えられる識別子である。サービス４０２は、該当ユーザが享受するサービス名であり、認証情報管理装置１０３で認証情報を管理するサービスを表す値である。認証情報４０３は、前記サービス４０２で表されるサービスで有効な認証情報であり、例えば該当サービスのユーザのユーザ識別子およびパスワードや、認証トークンなどである。認証情報４０３に格納されている値は認証情報そのものではなく、後述するワーク鍵（鍵）を暗号鍵として暗号化された値である。暗号化して格納する方式については後述する。認証情報ハッシュ値４０４は、暗号化する前の認証情報をハッシュ関数（所定のアルゴリズム）に入力して得られたハッシュ値（検証用情報）であり、認証情報４０３を復号して得られ認証情報が正しいものであるかどうか検証するために用いられる。
【００２４】
要更新フラグ４０５は、ユーザによる認証情報の更新が必要かどうかを示す値である。本実施形態では、あるユーザの認証情報が企業等におけるシステムの管理者など別ユーザ（管理ユーザ）により登録もしくは更新された場合に更新が必要と判断し、要更新フラグを「True」にする。例えば前記管理者による認証情報の一括登録や一括更新などが行われた場合、認証情報（パスワードなど）は管理者の設定したものになってしまう。管理者の定めたパスワードをそのまま使い続けることはセキュリティ的に望ましいことではなく、ユーザが自身でパスワードなどを設定することが望ましいため、このフラグを設けている。
【００２５】
図５に、鍵管理データベース３３５の一例を示す。鍵管理データベース３３５は、ユーザ識別子５０１、ワーク鍵ハッシュ値５０２、本人用鍵５０３、別ユーザ識別子甲５０４、別ユーザ用鍵甲５０５、別ユーザ識別子乙５０６、別ユーザ用鍵乙５０７で構成される。別ユーザ用識別子と別ユーザ用鍵の組は甲と乙の２つ記載されているが、２つのみに制限するものではなく、必要に応じて丙、丁、とその数を増やしてもよい。ユーザ識別子５０１は、認証情報管理装置１０３のユーザに与えられる識別子である。ワーク鍵ハッシュ値５０２は、認証情報管理装置１０３のユーザごとに生成されるワーク鍵をハッシュ関数（所定のアルゴリズム）の入力として得られたハッシュ値（鍵検証用情報）である。ワーク鍵ハッシュ値５０２は、本人用鍵５０３や別ユーザ用鍵甲５０５などから求められたワーク鍵が正しいものであるかどうかを検証するために用いられる。ワーク鍵の導出、検証などについては後述する。
【００２６】
本人用鍵５０３はワーク鍵をユーザ識別子５０１で表されるユーザのパスワードを暗号鍵として暗号化した値である。別ユーザ識別子甲５０４は、ユーザ識別子５０１で表されるユーザの各サービス提供装置での認証情報を管理可能な、本人以外のユーザの識別子である。なお、ユーザ本人とその認証情報を管理可能な別ユーザ（企業におけるシステムの管理者等）とを含めて管理ユーザと考えて良い。別ユーザ用鍵甲５０５は、別ユーザ識別子甲５０４で表されるユーザのパスワードを暗号鍵として、ワーク鍵を暗号化したものである。別ユーザ識別子乙５０６および別ユーザ用鍵乙５０７に関しては、別ユーザ識別子甲５０４、別ユーザ用鍵甲５０５と同様である。別ユーザ識別子および別ユーザ用鍵は、ユーザ識別子５０１で表されるユーザ本人以外に、当該ユーザの各サービス提供装置での認証情報を管理可能なユーザ（当該ユーザの所属する組織の管理者など）の数だけ格納される。
【００２７】
図６に、ユーザ管理データベース３３６の一例を示す。ユーザ管理データベース３３６は、ユーザ識別子６０１、パスワードハッシュ値６０２、ユーザクラス６０３、メールアドレス６０４で構成される。ユーザ識別子６０１は、認証情報管理装置１０３のユーザに与えられる識別子である。パスワードハッシュ値６０２は、ユーザ識別子６０１で表されるユーザのパスワードをハッシュ関数に入力して得られた値である。この値は、認証情報管理装置におけるユーザ認証時に用いられる。ユーザクラス６０３は、当該ユーザが一般ユーザであるか管理者であるかを表すフィールドである。本実施例では、認証情報管理装置１０３のユーザを作成する権限を持つものを管理者とし、それ以外を一般ユーザとしている。本実施例においては、一般ユーザと管理者の２通りとなっているが、これはユーザのクラス分けを２段階に制限するものではなく、３通り以上のクラスに分けてユーザの管理を行ってもよい。メールアドレス６０４は、当該ユーザのメールアドレスであり、当該ユーザに通知などを行う際に用いられる。
【００２８】
図７に、セッション管理データベース３３７の一例を示す。セッション管理データベース３３７は、ユーザ識別子７０１、認証済みフラグ７０２、セッション識別子７０３、タイムアウト時刻７０４で構成される。ユーザ識別子７０１は、認証情報管理装置１０３のユーザに与えられる識別子である。認証済みフラグ７０２は、ユーザ識別子７０１で表されるユーザが認証情報管理装置１０３において認証されているかどうかを表すフラグであり、認証されている場合は「True」に、当該ユーザがログアウトしたりセッションがタイムアウトとなると「False」となる。セッション識別子７０３は、セッションを一意に表す値であり、ユーザが認証情報管理装置１０３で認証されるたびに新しい値となりユーザへと送付される。タイムアウト時刻７０４は、当該ユーザが認証済みの場合、そのセッションがいつまで続くかを表している。この時刻は当該ユーザが認証情報管理装置１０３において認証された場合に更新される。
【００２９】
図８に、ログデータベース３３８の一例を示す。ログデータベース３３８は時刻８０１、対象ユーザ識別子８０２、ログ情報８０３で構成される。ログデータベース３３８は、認証情報管理装置１０３においてユーザの登録や認証情報の更新、認証の失敗などのイベントごとに記録される。時刻８０１はそのイベントが発生した時刻を表す。対象ユーザ識別子８０２はどのユーザの情報に対するイベントなのかを表す。ログ情報８０３は、そのイベントの内容を表す。
【００３０】
−−−処理フロー例１−−−
以下、認証情報管理装置１０３の動作を、実際に認証情報管理装置１０３を利用する流れに沿って説明する。まず前提として、管理用のユーザに関する情報は既に少なくとも１つは認証情報管理装置１０３の記憶装置２０６に作成されているものとする。なお、ユーザ端末１０１とのデータ授受に際して、ユーザが情報入力を行う際には認証情報管理装置１０３からＧＵＩ画面のデータがユーザ端末１０１に送信され、ＧＵＩ画面を介してユーザからの指示を受け付けるものとする。このＧＵＩ画面は、例えば、ユーザ識別子、パスワード、ユーザクラス、メールアドレス、対象ユーザの識別子、実行ユーザの識別子、サービス名などといった、上記データベース３３４〜３３８のフィールドに対応した各項目を問うための入力欄を少なくとも含んでいる。
【００３１】
図９に、認証情報管理装置１０３での一般ユーザ登録のフロー例を示す。まず、ステップ９０１にて、認証情報管理装置１０３は、一般ユーザ（すなわちシステムの管理者等ではない組織の一般構成員）の新規登録を行おうと、例えばユーザ端末１０１を介してアクセスしている（すなわち、管理要求を行っている）ユーザが認証済みであるかどうかを確認する。この処理の詳細は後述する。前記ユーザが認証されていない場合（９０１：Ｎ）、認証情報管理装置１０３は処理をステップ９０２に進め、認証処理を行う。この認証処理の詳細は後述する。
【００３２】
一方、前記ステップ９０１で、前記ユーザが認証済みと判定された場合（９０１：Ｙ）、または前記ステップ９０２で前記ユーザに関する認証処理が完了した場合、認証情報管理装置１０３は、処理をステップ９０３に進め、認証されているユーザ（以下実行ユーザ）の識別子（実行ユーザ識別子）を前記ユーザ端末１０１から取得する。
【００３３】
その後、ステップ９０４において、認証情報管理装置１０３は、ユーザ管理データベース３３６を参照し、ステップ９０５で実行ユーザのユーザクラスが「管理者」であるかどうかを判定する。前記実行ユーザのユーザクラスが「管理者」でない場合（９０５：Ｎ）、認証情報管理装置１０３は処理をステップ９０６に進める。実行ユーザが「管理者」でない場合はユーザ登録の権限がないため、認証情報管理装置１０３はその旨を実行ユーザの前記ユーザ端末１０１へと通知してステップ９１５へと処理を進める。ステップ９１５において認証情報管理装置１０３は、前記実行ユーザが新規ユーザの登録を行おうとしたが権限がないため失敗した旨をログデータベース３３８に記録し、処理を終了する。
【００３４】
一方、前記ステップ９０５で実行ユーザのユーザクラスが「管理者」と判定した場合（９０５：Ｙ）、認証情報管理装置１０３は、ステップ９０７において、新規登録するユーザの識別子と初期パスワード、設定するユーザクラス、メールアドレスを実行ユーザのユーザ端末１０１から取得し、前記初期パスワードのハッシュ値を計算する。
【００３５】
その後、認証情報管理装置１０３は、ステップ９０８においてワーク鍵を生成する。このワーク鍵の生成は、認証情報管理装置１０３が備える乱数生成器や乱数生成器の出力を入力としたハッシュ関数などによって行う。こうしてワーク鍵を生成すると、認証情報管理装置１０３はステップ９０９にてそのハッシュ値を計算する。
【００３６】
次に認証情報管理装置１０３は、ステップ９１０において、前記ワーク鍵を新規登録ユーザの初期パスワードで暗号化し、記憶装置２０６における鍵管理データベース３３５での「本人用鍵」フィールドの情報を生成する。またステップ９１１で、認証情報管理装置１０３は、前記実行ユーザの識別子を「別ユーザ識別子甲」とする。また、ステップ９１２にて、認証情報管理装置１０３は、前記ワーク鍵を実行ユーザのパスワード（ユーザ端末１０１からの要求に含まれるパスワードであり、後述する図１１のフローにて得られる）で暗号化し、「別ユーザ用鍵甲」の情報とする。
【００３７】
続いて認証情報管理装置１０３は、ステップ９１３において、ここまでに作成した新規登録ユーザ用の情報のうち、前記ステップ９０７にて取得した、ユーザ識別子、ユーザクラス、メールアドレス、および前記初期パスワードのハッシュ値を、ユーザ管理データベース３３６に登録し、前記ステップ９０９〜９１２で得た、ワーク鍵のハッシュ値、ワーク鍵を前記初期パスワードで暗号化した「本人用鍵」フィールドの情報、実行ユーザ識別子すなわち「別ユーザ識別子甲」、前記ワーク鍵を実行ユーザのパスワードで暗号化した「別ユーザ用鍵甲」の各情報を、鍵管理データベース３３５に登録する。
【００３８】
ステップ９１４において、認証情報管理装置１０３は、新規に登録されたユーザのメールアドレス（前記ステップ９１３で登録されたもの）宛に、認証情報管理装置１０３においてユーザ登録がされた旨を初期パスワードとともに通知する。また、ステップ９１５において、認証情報管理装置１０３は、前記ユーザが新規登録された旨（登録時刻、対象ユーザの識別子、処理内容等）をログデータベース３３８に記録し、処理を終了する。
【００３９】
−−−処理フロー例２−−−
図１０に、上記ステップ９０１で行っている、ユーザが認証済みであるかどうかの判定処理のフローの一例を示す。この場合まず、ステップ１００１において、認証情報管理装置１０３は、当該認証情報管理装置１０３へのアクセス時にユーザ端末１０１からセッション識別子が送付されているかどうかを確認する。セッション識別子は認証情報管理装置１０３での認証時にユーザ端末１０１へと送付され、以後のアクセス時にはユーザ端末１０１から認証情報管理装置１０３へと送付される情報である。この枠組みは、例えばウェブブラウザのクッキーなどを利用してセッション識別子の送付を行うなど、既存技術を用いるだけで実現可能である。
【００４０】
前記ステップ１００１にて、ユーザ端末１０１からセッション識別子が送付されていないと判断した場合（１００１：Ｎ）、認証情報管理装置１０３は、ステップ１００２にて、当該アクセスを行っているユーザは未認証であると判断し処理を終了する。他方、前記ステップ１００１で、ユーザ端末１０１からセッション識別子が送付されていると判断した場合（１００１：Ｙ）、認証情報管理装置１０３は、ステップ１００３にて、セッション管理データベース３３７を参照し、ステップ１００４にて、ユーザ端末１０１から送付されているセッション識別子と同じセッション識別子を持つエントリがあるかどうか判定する。
【００４１】
前記ステップ１００４で同じセッション識別子を持つエントリがなかった場合（１００４：Ｎ）、認証情報管理装置１０３は処理をステップ１００２へと進め、当該アクセスを行っているユーザは未認証であると判断して処理を終了する。ス
一方、前記ステップ１００４で同じセッション識別子を持つエントリがあった場合（１００１：Ｙ）、認証情報管理装置１０３は処理をステップ１００５へと進め、当該エントリの認証済みフラグが「True」であるかどうか判定する。認証済みフラグが「False」の場合（１００５：Ｎ）、認証情報管理装置１０３は処理をステップ１００２へと進め、未認証であると判断して処理を終了する。
【００４２】
他方、認証済みフラグが「True」の場合（１００５：Ｙ）、認証情報管理装置１０３は処理をステップ１００６へと進め、当該エントリの「タイムアウト時刻」と現在時刻（認証情報管理装置１０３がコンピュータとして備えるクロック機能より取得できる）とを比較し、現在時刻がタイムアウト時刻よりも前であるかどうか判定する。
【００４３】
現在時刻がタイムアウト時刻以降であった場合（１００６：Ｎ）、認証情報管理装置１０３は処理をステップ１００２へ進め、未認証と判断して処理を終了する。一方、現在時刻がタイムアウト時刻よりも前の場合（１００６：Ｙ）、認証情報管理装置１０３は処理をステップ１００７へと進め、当該アクセスを行っているユーザは認証済みと判断して処理を終了する。この場合、当該アクセスを行っているユーザの識別子（実行ユーザ識別子）は、前記セッション管理データベース３３７における当該エントリのユーザ識別子フィールドのものとなる。
【００４４】
−−−処理フロー例３−−−
図１１に、上述のステップ９０２で行っている、ユーザの認証処理の処理フローを示す。この場合、まずステップ１１０１にて、認証情報管理装置１０３は、認証情報としてユーザ端末１０１から入力された、認証情報管理装置１０３（へのアクセス用）のユーザ識別子、パスワードを取得する。次に、ステップ１１０２において認証情報管理装置１０３は、ユーザ管理データベース３３６を参照し、ステップ１１０３において、ユーザ識別子が前記ステップ１１０１で入力されたものと等しいエントリがあるかどうか判定する。
【００４５】
ここで等しいエントリがない場合（１１０３：Ｎ）、認証情報管理装置１０３はステップ１１０６にて認証失敗をユーザ端末１０１に通知し、ステップ１１１１でその旨をログデータベースに記録して処理を終了する。
【００４６】
他方、等しいエントリがある場合（１１０３：Ｙ）、認証情報管理装置１０３は、ステップ１１０４において、前記ステップ１１０１で入力されたパスワードのハッシュ値を計算し、ステップ１１０５にて、当該エントリの「パスワードハッシュ値」と入力されたパスワードのハッシュ値とが一致するかどうかを判定する。両者が一致しない場合（１１０５：Ｎ）、認証情報管理装置１０３は処理をステップ１１０６へと進め、認証失敗となる。一方、両者が一致する場合（１１０５：Ｙ）、認証情報管理装置１０３は処理をステップ１１０７へと進め、セッション識別子を生成してユーザ端末１０１へと送付する。このセッション識別子の生成には乱数生成器などを用い、一意な値が生成されるようにする。
【００４７】
続いて、ステップ１１０８において、認証情報管理装置１０３は、現在時刻に所定時間を加算するなどしてセッションタイムアウト時刻を計算する。また、ステップ１１０９において、認証情報管理装置１０３は、前記ステップ１１０１で得たユーザ識別子、前記ステップ１１０７で得たセッション識別子、前記ステップ１１０８で得たタイムアウト時間の各情報でセッション管理データベース３３７を更新する。その後、ステップ１１１０において、認証情報管理装置１０３は、認証成功した旨を該当ユーザ端末１０１へ通知し、ステップ１１１１にてログデータベース３３８にその旨を記録して処理を終了する。
【００４８】
以上でユーザ登録がなされる。次は、そのユーザが認証情報管理装置１０３で認証され、初期パスワードから自身の使用するパスワードへと変更する処理について、処理フロー例４にて説明する。なお、認証に関する処理は既に説明したから、パスワード変更処理について処理フロー例４にて述べる。
【００４９】
−−−処理フロー例４−−−
図１２に、パスワード変更フローの例を示す。例えば、認証情報管理装置１０３が、ユーザ端末１０１からパスワード変更要求（管理要求）を受信している状況であるとする。この場合、まず、ステップ１２０１において、認証情報管理装置１０３は、前記パスワード変更要求を行ってきたユーザ端末１０１の操作者たるユーザに関し、ワーク鍵を取得する。このワーク鍵取得処理の詳細については後述する。次に、ステップ１２０２にて、認証情報管理装置１０３は、ユーザ端末１０１から新規パスワードを取得し、ステップ１２０３にて、前記新規パスワードで前記ワーク鍵を暗号化して新しい「本人用鍵」を取得する。認証情報管理装置１０３は、ステップ１２０４において、新しい本人用鍵で鍵管理データベース３３５の該当ユーザのエントリを更新し、処理を終了する。
【００５０】
−−−処理フロー例５−−−
図１３に、上述したワーク鍵取得処理（ステップ１２０１）の詳細フローの例を示す。この場合、ステップ１３０１において、認証情報管理装置１０３は、アクセスしてきているユーザ端末１０１の操作者たるユーザが認証済みかどうか判断し、認証されていない場合（１３０１：Ｎ）、ステップ１３０２で認証処理を行って処理をステップ１３０３へと進める。他方、前記ユーザが認証されている場合（１３０１：Ｙ）、認証情報管理装置１０３は、ステップ１３０３へ処理を進め、認証されている実行ユーザ識別子を取得する。
【００５１】
次に、認証情報管理装置１０３は、ステップ１３０４にて、ワーク鍵を取得しようとしている対象のユーザ（対象ユーザ）の識別子（対象ユーザ識別子）を取得する。また、ステップ１３０５で、認証情報管理装置１０３は、鍵管理データベース３３５を参照し、ユーザ識別子フィールドが前記対象ユーザ識別子と一致するエントリを取得する。
【００５２】
続いてステップ１３０７において、認証情報管理装置１０３は、前記実行ユーザ識別子と前記対象ユーザ識別子とが一致するかどうか判定する。この判定の結果、両者が異なっている場合（１３０７：Ｎ）、すなわち他人のワーク鍵が取得されようとしている場合、認証情報管理装置１０３は処理をステップ１３０８へ進める。このステップ１３０８で、認証情報管理装置１０３は、該当エントリの別ユーザ識別子甲、乙、…に前記実行ユーザ識別子が含まれているかどうかを判定する。前記実行ユーザ識別子が含まれていない場合（１３０８：Ｎ）、認証情報管理装置１０３は、実行ユーザが当該ユーザの認証情報を管理する権限がないと判定して、処理をステップ１３０９へ進め、権限がない旨をユーザ端末１０１に通知する。また、ステップ１３１６で、認証情報管理装置１０３は、権限不足でワーク鍵の取得ができなかった旨をログデータベース３３８に記録し、処理を終了する。
【００５３】
他方、前記ステップ１３０８で、別ユーザ識別子の中に実行ユーザ識別子が含まれていた場合（１３０８：Ｙ）、認証情報管理装置１０３は処理をステップ１３１１へ進め、対応する別ユーザ用鍵フィールドの情報をエントリから取得し、これを実行ユーザのパスワードで復号してワーク鍵を取得して、処理をステップ１３１２へ進める。
【００５４】
また、前記ステップ１３０７において、実行ユーザ識別子と対象ユーザ識別子とが一致していた場合（１３０７：Ｙ）、すなわち管理者等ではない一般ユーザのワーク鍵がユーザ自身から取得されようとしていた場合、認証情報管理装置１０３は、ステップ１３１０にて、該当エントリより本人用フィールドのデータを取得し、これを実行ユーザのパスワード（初期パスワード等）で復号してワーク鍵を取得し、処理をステップ１３１２へ進める。
【００５５】
ステップ１３１２において認証情報管理装置１０３は、前記復号して得たワーク鍵のハッシュ値を計算する。また、ステップ１３１３において認証情報管理装置１０３は、前記計算したハッシュ値と、該当エントリにおける「ワーク鍵ハッシュ値」のフィールドの値とが一致するかどうか判定する。両者が一致しない場合（１３１３：Ｎ）、認証情報管理装置１０３は、処理をステップ１３１４に進め、ワーク鍵の検証に失敗した旨をユーザ端末１０１に通知する。またこの後、ステップ１３１６にて認証情報管理装置１０３はログデータベース３３８に、ワーク鍵検証に失敗した旨の記録を行って処理を終了する。
【００５６】
他方、前記ステップ１３１３で両者が一致していた場合（１３１３：Ｙ）、認証情報管理装置１０３は、ステップ１３１５において、この処理の結果としてワーク鍵を返し（すなわち前記ステップ１２０１を完了）、ステップ１３１６でワーク鍵を取得した旨をログデータベース３３８に記録して処理を終了する。これで、前記ステップ１２０１以降の処理が実行されることとなり、登録当初に設定されていた初期パスワードから、ユーザ自身のパスワードへの変更がなされることとなる。続いて以下に、認証情報管理対象のサービスの追加処理について説明する。
【００５７】
−−−処理フロー例６−−−
図１４に認証情報管理対象のサービスに関する認証情報を追加登録する際の処理フローの一例を示す。例えば、あるユーザについて、新たなＷｅｂサービスの利用が開始されるにあたり、該当ユーザに対応付けて該当サービス利用に必要な認証情報等の登録処理を行う状況を想定する。この場合、ステップ１４０１において認証情報管理装置１０３は、対象ユーザのワーク鍵を取得する。このワーク鍵の取得については既に述べているので省略する。
【００５８】
続いてステップ１４０２において、認証情報管理装置１０３は、追加するサービスとその認証情報（サービス利用時に必要とされるユーザ識別子とパスワードなど）を、ユーザ端末１０１から取得する。また、ステップ１４０３において認証情報管理装置１０３は、前記ステップ１４０２で取得した認証情報を前記ステップ１４０１で取得したワーク鍵で暗号化する。また認証情報管理装置１０３は、ステップ１４０４において、前記ステップ１４０２で取得した認証情報のハッシュ値を計算する。
【００５９】
次に、ステップ１４０５において認証情報管理装置１０３は、登録対象のサービスと、前記ステップ１４０３で暗号化した認証情報、前記ステップ１４０４で得た認証情報のハッシュ値を、対象ユーザのユーザ識別子対応付けて認証情報データベース３３４へと登録する。
【００６０】
その後、ステップ１４０６において認証情報管理装置１０３は、当該処理を指示している実行ユーザのユーザ識別子と、前記対象ユーザのユーザ識別子とを照合し、実行ユーザと対象ユーザとが別ユーザであるか判定する。この判定で、両者が同じユーザであった場合（１４０６：Ｙ）、認証情報管理装置１０３は処理をステップ１４０７に進め、登録した当該エントリの「要更新フラグ」を「False」にセットする。その後、認証情報管理装置１０３は、ステップ１４０８において、サービスを追加した旨をログデータベース３３８に記録して処理を終了する。
【００６１】
一方、前記ステップ１４０６で実行ユーザと対象ユーザが別ユーザであると判定した場合（例えば実行ユーザが管理者で、新規サービスの識別子を一括して発行し、各一般ユーザに対してそのサービスの認証情報を追加しようとする場合：１４０６：Ｙ）、認証情報管理装置１０３は、ステップ１４０９において、登録した当該エントリの「要更新フラグ」を「True」にセットする。また、ステップ１４１０において認証情報管理装置１０３は、ユーザ管理データベース３３６から当該対象ユーザのメールアドレスを取得する。また、ステップ１４１１において、認証情報管理装置１０３は、別ユーザによりサービスの認証情報が追加された旨の通知を前記ステップ１４１０で得たメールアドレスに宛ててメール送信する。その後、認証情報管理装置１０３は、ステップ１４０８において、ログデータベース３３８に前記ステップ１４０７ないしステップ１４１１の処理結果に対応したログを記録して処理を終了する。
【００６２】
こうした認証情報の追加登録処理については、サービス追加を行うたびに同様に実行できる。つまり、このような複数サービスに関する認証情報管理を認証情報管理装置１０３が行うことで、複数サービスに関するシングルサインオンを前記認証サービス提供装置１０２が実行可能となる。
【００６３】
−−−シングルサインオンのシーケンス例−−−
ここでシングルサインオンの処理について説明しておく。図１５に、シングルサインオンのシーケンスの一例を示す。図１に関して述べたように、ユーザ端末１０１、認証サービス装置１０２、本実施形態の認証情報管理装置１０３、サービス提供装置１０４、およびサービス提供装置１０５がネットワーク１０６で結ばれており、ユーザ端末１０１は認証サービス装置１０２を介してサービス提供装置１０４とサービス提供装置１０５のコンテンツを１回の認証で取得する。
【００６４】
この場合まず、ステップ１５０１で、ユーザ端末１０１は（入力装置を介して受けたユーザの指示に応じて）認証サービス装置１０２にサービス提供装置１０４のコンテンツを要求する。この時、認証サービス装置１０２は、ステップ１５０２において、認証情報管理装置１０３に対し当該ユーザが認証済みであるかどうか確認する。
【００６５】
認証情報管理装置１０３は、ステップ１５０３において、例えば当該ユーザが認証されてない旨の応答を返す。それを受けて認証サービス装置１０２では、ステップ１５０４において、ユーザ端末１０１に対し認証のための画面を提示する。ステップ１５０５においてユーザ端末１０１は、認証情報管理装置１０３の（アクセス用の）ユーザ識別子、パスワードの入力をユーザから受け付ける。
【００６６】
ステップ１５０６において認証サービス装置１０２は、前記入力されたユーザ識別子およびパスワードを含む認証情報を認証情報管理装置１０３へと送信し、認証を行う。認証情報管理装置１０３では、前記認証サービス提供装置１０２から受信した認証情報を用いて、上記ステップ１１０１〜１１１１の認証処理を実行することになる。ステップ１５０７において、認証サービス提供装置１０２は前記認証情報管理装置１０３から、認証完了の旨の応答を受ける。この応答の中にはセッション識別子も含まれている。ステップ１５０８において、認証サービス装置１０２は、前記ユーザ端末１０１へ認証情報管理装置１０３から返ってきた応答を送付する。
【００６７】
一方、ユーザ端末１０１は、ステップ１５０９において、前記認証サービス提供装置１０２から返されたセッション識別子を含めて、サービス提供装置１０４のコンテンツ要求を認証サービス装置１０２へ再度送信する。前記ステップ１５０２と同様にステップ１５１０において、認証サービス提供装置１０２は、認証情報管理装置１０３に対し、当該ユーザが認証済みであるかどうか確認する。上記の場合、送信データにセッション識別子が含まれていたため、認証情報管理装置１０３では「認証済み」と判断し、ステップ１５１１において、認証されている旨の応答を認証サービス装置１０２へと返す。
【００６８】
続いてステップ１５１２において、認証サービス装置１０２は、前記サービス提供装置１０４の認証情報を認証情報管理装置１０３に対して要求する。認証情報管理装置１０３では、当該ユーザのサービス提供装置１０４（が提供するサービス）に関する認証情報を取得し、この認証情報をステップ１５１３において認証サービス装置１０２（すなわち他装置）へと返す。この認証情報の取得処理の詳細については後述する。
【００６９】
次にステップ１５１４において、認証サービス装置１０２は、前記取得した認証情報を用いてサービス提供装置１０４に認証要求を行う。一方、サービス提供装置１０４は、ステップ１５１５において、認証サービス提供装置１０２に対して認証完了メッセージを返す。その後、ステップ１５１６において、認証サービス装置１０２は、サービス提供装置１０４に対し、前記ユーザ端末１０１が要求していたコンテンツの要求メッセージを送る。また、ステップ１５１７において、サービス提供装置１０４から認証サービス提供装置１０２に対して該当コンテンツが返される。
【００７０】
ステップ１５１８において、認証サービス提供装置１０２は前記コンテンツをユーザ端末１０１へ送信し、ユーザ端末１０１ではサービス提供装置１０４のコンテンツを取得することができる。
【００７１】
次にステップ１５１９において、ユーザ端末１０１からサービス提供装置１０５（の提供するサービス）のコンテンツ要求が認証サービス装置１０２へ出されたとする。この時、ステップ１５２０において、前記ステップ１５１０と同様の認証確認が行われるが、一度認証されているため、ステップ１５２１において、認証されている旨の応答が認証情報管理装置１０３から認証サービス提供装置１０２に返る。その後、サービス提供装置１０４のコンテンツを取得した場合と同様、認証サービス提供装置１０２はサービス提供装置１０５の認証情報を取得して、サービス提供装置１０５の認証を行い、コンテンツを取得する（ステップ１５２２〜１５２８）。以上のようにして、シングルサインオンが実現される。
【００７２】
−−−処理フロー例７−−−
続いて、前記ステップ１５１３に関して述べた認証情報の取得処理について説明する。図１６に、認証情報の取得フローの一例を示す。この場合まず、ステップ１６０１において、認証情報管理装置１０３は、対象ユーザのワーク鍵を取得する（ワーク鍵取得処理については既に述べている）。続いてステップ１６０２において、認証情報管理装置１０３は、認証情報取得対象のサービスに関する指定をユーザ端末１０１から取得し、ステップ１６０３において、認証情報データベース３３４を参照する。
【００７３】
ステップ１６０４において、認証情報管理装置１０３は、認証情報データベース３３４において、「ユーザ識別子」のフィールドが対象ユーザの識別子と一致するエントリを取得する。また認証情報管理装置１０３は、ステップ１６０５において、該当エントリの「認証情報」のフィールド値を前記ステップ１６０１で取得してあるワーク鍵で復号し、認証情報を取得する。
【００７４】
次にステップ１６０６において、認証情報管理装置１０３は、前記ステップ１６０５で取得した認証情報についてハッシュ値を計算する。またステップ１６０７において、認証情報管理装置１０３は、前記ステップ１６０６で計算したハッシュ値と、該当エントリにおける「認証情報ハッシュ値」のフィールドの値とが一致するかどうか判定する。
【００７５】
両者が一致した場合（１６０７：Ｙ）、認証情報管理装置１０３は、ステップ１６０８において、前記ステップ１６０５で取得した認証情報をこの処理の結果として返す。また、認証情報管理装置１０３は、ステップ１６０９において、認証情報を取得した旨のログをログデータベース３３８に記録し処理を終了する。一方、前記ステップ１６０７の判定で両者が一致しなかった場合（１６０７：Ｎ）、認証情報管理装置１０３は、ステップ１６１０において、認証情報の検証に失敗した旨をユーザ端末１０１に通知し、ステップ１６０９において、認証情報の検証失敗の旨をログデータベース３３８に記録して処理を終了する。
【００７６】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００７７】
こうした本実施形態によれば、複数サービスの認証情報に関して、暗号化を施してセキュリティレベルを確保しつつ、複数ユーザによる１ユーザの認証情報管理も可能となる。
【００７８】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記認証情報管理装置において、前記演算装置は、前記認証情報を所定のアルゴリズムに適用して検証用情報を生成し、該検証用情報を前記認証情報に対応付けて記憶装置にて保持し、管理要求が示す管理ユーザに関する暗号化された認証情報を記憶装置から読み出し、前記管理要求が示す管理ユーザの認証情報にて該当管理ユーザの暗号化鍵を復号化して得た前記鍵で、前記読み出した認証情報を復号化し、復号化した認証情報を前記所定のアルゴリズムに適用して生成した情報と、前記認証情報に関して生成しておいた検証用情報とを照合し、両者が一致する場合に前記管理要求に応じた処理または前記認証情報を所定の他装置に送る処理を更に実行するものである、としてもよい。
【００７９】
また、前記認証情報管理装置において、前記演算装置は、前記鍵を所定のアルゴリズムに適用して鍵検証用情報を生成し、該鍵検証用情報を該当ユーザに対応付けて記憶装置にて保持し、管理要求が示す管理ユーザの認証情報にて該当管理ユーザの暗号化鍵を復号化して得た前記鍵を前記アルゴリズムに適用して生成した情報と、前記管理ユーザに関して生成しておいた鍵検証用情報とを照合し、両者が一致する場合に前記管理要求に応じた処理または前記認証情報を所定の他装置に送る処理を更に実行するものである、としてもよい。
【００８０】
また、前記認証情報管理装置において、前記演算装置は、認証情報を管理要求に際して指示を受け付けるＧＵＩ画面のデータを記憶装置より読み出して出力装置に表示させ、該ＧＵＩ画面を介して管理要求の情報を受け付けるとしてもよい。
【００８１】
また、前記認証情報管理装置において、前記演算装置は、前記認証成功と判定された管理ユーザにより認証情報が更新された際、前記管理ユーザが当該認証情報を保持するユーザとは別ユーザである場合に、当該認証情報を保持するユーザのクライアントに対し所定通知を送るものであるとしてもよい。
【００８２】
前記認証情報管理方法において、前記コンピュータが、前記認証情報を所定のアルゴリズムに適用して検証用情報を生成し、該検証用情報を前記認証情報に対応付けて記憶装置にて保持し、管理要求が示す管理ユーザに関する暗号化された認証情報を記憶装置から読み出し、前記管理要求が示す管理ユーザの認証情報にて該当管理ユーザの暗号化鍵を復号化して得た前記鍵で、前記読み出した認証情報を復号化し、復号化した認証情報を前記所定のアルゴリズムに適用して生成した情報と、前記認証情報に関して生成しておいた検証用情報とを照合し、両者が一致する場合に前記管理要求に応じた処理または前記認証情報を所定の他装置に送る処理を更に実行する、としてもよい。
【００８３】
また、前記認証情報管理方法において、前記コンピュータが、前記鍵を所定のアルゴリズムに適用して鍵検証用情報を生成し、該鍵検証用情報を該当ユーザに対応付けて記憶装置にて保持し、管理要求が示す管理ユーザの認証情報にて該当管理ユーザの暗号化鍵を復号化して得た前記鍵を前記アルゴリズムに適用して生成した情報と、前記管理ユーザに関して生成しておいた鍵検証用情報とを照合し、両者が一致する場合に前記管理要求に応じた処理または前記認証情報を所定の他装置に送る処理を更に実行するとしてもよい。
【００８４】
前記認証情報管理方法において、前記コンピュータが、認証情報を管理要求に際して指示を受け付けるＧＵＩ画面のデータを記憶装置より読み出して出力装置に表示させ、該ＧＵＩ画面を介して管理要求の情報を受け付けるとしてもよい。
【００８５】
また、前記認証情報管理方法において、前記コンピュータが、前記認証成功と判定された管理ユーザにより認証情報が更新された際、前記管理ユーザが当該認証情報を保持するユーザとは別ユーザである場合に、当該認証情報を保持するユーザのクライアントに対し所定通知を送るものであるとしてもよい。
【符号の説明】
【００８６】
１００  シングルサインオンシステム
１０１  ユーザ端末
１０２  認証サービス提供装置
１０３  認証情報管理装置
１０４  サービス提供装置
１０５  サービス提供装置
２０１  通信装置
２０２  入力装置
２０３  表示装置
２０４  演算装置
２０５  メモリ
２０６  記憶装置
３３２  管理用画面
３３３  管理用インタフェース
３３４  認証情報データベース
３３５  鍵管理データベース
３３６  ユーザ管理データベース
３３７  セッション管理データベース
３３８  ログデータベース
【図１】
2012079231.tif 000003
【図２】
2012079231.tif 000004
【図３】
2012079231.tif 000005
【図４】
2012079231.tif 000006
【図５】
2012079231.tif 000007
【図６】
2012079231.tif 000008
【図７】
2012079231.tif 000009
【図８】
2012079231.tif 000010
【図９】
2012079231.tif 000011
【図１０】
2012079231.tif 000012
【図１１】
2012079231.tif 000013
【図１２】
2012079231.tif 000014
【図１３】
2012079231.tif 000015
【図１４】
2012079231.tif 000016
【図１５】
2012079231.tif 000017
【図１６】
2012079231.tif 000018