(57)【特許請求の範囲】
【請求項１】
通信ネットワークに接続される端末装置と、暗号化および復号化を行うための共通鍵を管理する共通鍵管理サーバと、前記端末装置からの接続要求の際に送信された暗号化された認証情報を前記共通鍵を用いて復号化して認証処理を行う複数のＷｅｂサーバとを含む共通鍵管理システムであって、
前記共通鍵管理サーバは、共通鍵の有効期間が経過する毎に、有効期間および保持期間を定めた共通鍵を新たに生成するとともに、生成した共通鍵を含む共通鍵情報を作成し、前記複数のＷｅｂサーバに含まれる各Ｗｅｂサーバからの要求に応じて前記共通鍵情報を当該Ｗｅｂサーバに対して通信ネットワークを介して送信し、
前記各Ｗｅｂサーバは、前記端末装置からの前記接続要求に応じて有効期間内の共通鍵を含む共通鍵情報を保有しているか否かを確認し、有効期間内の共通鍵を保有していない場合には前記共通鍵管理サーバから有効期間内の共通鍵を含む共通鍵情報を取得し、基本認証または認証情報にもとづく認証がなされた端末装置に対し、共通鍵の有効期限を超える所定時を有効期限とする認証に用いる新たな認証情報を作成し、有効期間内の共通鍵を用いて認証情報を暗号化して送信し、前記端末装置から送信された前記認証情報を保持期間内の共通鍵を用いて復号化して、復号化した認証情報にもとづいて認証処理を行う
ことを特徴とする共通鍵管理システム。
【請求項２】
Ｗｅｂサーバは、有効期間内の認証情報であるか否かを加味して認証処理を実行する
請求項１記載の共通鍵管理システム。
【請求項３】
共通鍵管理サーバは、保持期間が経過した共通鍵を共通鍵情報から削除する処理を実行する
請求項１または請求項２記載の共通鍵管理システム。
【請求項４】
通信ネットワークに接続される端末装置からの接続要求の際に送信された暗号化された認証情報にもとづく認証処理を行う複数のＷｅｂサーバに用いられる共通鍵を管理する共通鍵管理方法であって、
共通鍵管理サーバが、共通鍵の有効期間が経過する毎に、有効期間および保持期間を定めた共通鍵を新たに生成するとともに、生成した共通鍵を含む共通鍵情報を作成し、前記複数のＷｅｂサーバに含まれる各Ｗｅｂサーバからの要求に応じて前記共通鍵情報を当該Ｗｅｂサーバに対して通信ネットワークを介して送信し、
前記各Ｗｅｂサーバが、前記端末装置からの前記接続要求に応じて有効期間内の共通鍵を含む共通鍵情報を保有しているか否かを確認し、有効期間内の共通鍵を保有していない場合には前記共通鍵管理サーバから有効期間内の共通鍵を含む共通鍵情報を取得し、基本認証または認証情報にもとづく認証がなされた端末装置に対し、共通鍵の有効期限を超える所定時を有効期限とする認証に用いる新たな認証情報を作成し、有効期間内の共通鍵を用いて認証情報を暗号化して送信し、前記端末装置からの暗号化された認証情報を保持期間内の共通鍵を用いて復号化して、復号化した認証情報にもとづいて認証処理を行う
ことを特徴とする共通鍵管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信ネットワークを介して情報を提供するインターネットサーバに対するアクセス要求に対してシングルサインオンによる認証を共通鍵を用いて行うシステムにおいて、共通鍵の管理を容易に行うことができる共通鍵管理システムおよび共通鍵管理方法に関する。
【０００２】
【従来の技術】
従来から、１回のログインによって通信ネットワークの複数のリソースにアクセスすることができるようになる「シングルサインオン」と呼ばれる技術が導入されたシステムが利用されている。シングルサインオンによる認証処理を行うものには、例えば特開平１０−２６９１８４に記載されているシステムなどがある。
【０００３】
以下、シングルサインオン環境を備えた従来のシステムの認証処理の一例について簡単に説明する。シングルサインオンサーバは、通信ネットワークを介してユーザＩＤおよびパスワードを用いた端末装置からの接続要求があると、ユーザＩＤおよびパスワードにもとづく基本認証を行い、ユーザが特定された場合にそのユーザ特有の認証情報を作成し、作成した認証情報を暗号化した認証情報を端末装置に送信する。その後は、ユーザ端末は、暗号化された認証情報を用いて接続要求を行う。シングルサインオンサーバは、暗号化された認証情報による接続要求があると、暗号化された認証情報を復号化し、復号化した認証情報にもとづく認証処理を行い、認証できた場合にはリソースに対する接続を許可する。
【０００４】
なお、認証情報は、所定期間が経過すると無効となる。このため、認証情報の有効期間が経過した場合には、ユーザ端末を用いて、上述した処理と同様にして新たな認証情報を取得する。
【０００５】
上記のシステムでは、シングルサインオン環境を備えたシステムにおいて、認証情報の有効期間を区切るとともに、認証情報を暗号化して通信ネットワーク上に送信する構成とされているので、システムの安全性が向上する。
【０００６】
【発明が解決しようとする課題】
上述したシステムでは、認証情報の暗号化や復号化を行うために、例えば共通鍵が用いられるが、セキュリティ対策上、共通鍵が適宜更新されるようにすることが好ましい。
【０００７】
しかし、複数のシングルサインオンサーバで使用される共通鍵は常に一致したものでなければならない。ところが、共通鍵を適宜更新するとともに、各シングルサインオンサーバが用いる共通鍵を同時に更新し、システムを構成する各部で常に一致した共通鍵を保有させておくようにすることはできない。従って、適宜更新される共通鍵を利用してシングルサインオンによるユーザ認証を行うシステムを実現することは困難である。
【０００８】
本発明は上述した問題を解消し、シングルサインオンによるユーザ認証を適宜更新される共通鍵を利用して行うことができるようにすることを目的とする。
【０００９】
【課題を解決するための手段】
上記の問題を解決するために、本発明の共通鍵管理システムは、通信ネットワークに接続される端末装置（例えば端末装置４０）と、暗号化および復号化を行うための共通鍵を管理する共通鍵管理サーバ（例えば鍵管理サーバ５０）と、端末装置からの接続要求の際に送信された暗号化された認証情報を共通鍵を用いて復号化して認証処理を行う複数のＷｅｂサーバ（例えばシングルサインオンによるユーザ認証を行うＷｅｂサーバ２０，３０）とを含む共通鍵管理システムであって、共通鍵管理サーバは、共通鍵の有効期間が経過する毎に、有効期間および保持期間を定めた共通鍵を新たに生成するとともに、生成した共通鍵を含む共通鍵情報（例えば共通鍵リスト）を作成し、複数のＷｅｂサーバに含まれる各Ｗｅｂサーバからの要求に応じて共通鍵情報を当該Ｗｅｂサーバに対して通信ネットワークを介して送信し、各Ｗｅｂサーバは、端末装置からの接続要求に応じて有効期間内の共通鍵を含む共通鍵情報を保有しているか否かを確認し、有効期間内の共通鍵を保有していない場合には共通鍵管理サーバから有効期間内の共通鍵を含む共通鍵情報を取得し、基本認証または認証情報にもとづく認証がなされた端末装置に対し、共通鍵の有効期限を超える所定時を有効期限とする認証に用いる新たな認証情報を作成し、有効期間内の共通鍵を用いて認証情報を暗号化して送信し、端末装置から送信された認証情報を保持期間内の共通鍵を用いて復号化して、復号化した認証情報にもとづいて認証処理を行うことを特徴とするものである。
【００１０】
上記の構成としたことで、共通鍵の作成や配布を自動化することができ、シングルサインオンによるユーザ認証を行うシステムの運用管理を簡略化することができる。
【００１５】
Ｗｅｂサーバが、有効期間内の認証情報であるか否かを加味して認証処理を実行する構成とされていてもよい。
【００１６】
上記の構成としたことで、有効期間を経過した認証情報によっては認証されないようにすることができ、安全性を向上させることができる。
【００１７】
共通鍵管理サーバが、保持期間が経過した共通鍵を共通鍵情報から削除する処理を実行する構成とされていてもよい。
【００１８】
上記の構成としたことで、不必要な情報を共通鍵情報から削除することができ、処理の効率化を図ることができる。
【００２３】
また、本発明の共通鍵管理方法は、通信ネットワークに接続される端末装置からの接続要求の際に送信された暗号化された認証情報にもとづく認証処理を行う複数のＷｅｂサーバに用いられる共通鍵を管理する共通鍵管理方法であって、共通鍵管理サーバが、共通鍵の有効期間が経過する毎に、有効期間および保持期間を定めた共通鍵を新たに生成するとともに、生成した共通鍵を含む共通鍵情報を作成し、複数のＷｅｂサーバに含まれる各Ｗｅｂサーバからの要求に応じて共通鍵情報を当該Ｗｅｂサーバに対して通信ネットワークを介して送信し、各Ｗｅｂサーバは、端末装置からの接続要求に応じて有効期間内の共通鍵を含む共通鍵情報を保有しているか否かを確認し、有効期間内の共通鍵を保有していない場合には共通鍵管理サーバから有効期間内の共通鍵を含む共通鍵情報を取得し、基本認証または認証情報にもとづく認証がなされた端末装置に対し、共通鍵の有効期限を超える所定時を有効期限とする認証に用いる新たな認証情報を作成し、有効期間内の共通鍵を用いて認証情報を暗号化して送信し、端末装置からの暗号化された認証情報を保持期間内の共通鍵を用いて復号化して、復号化した認証情報にもとづいて認証処理を行うことを特徴とする。上記の処理は、例えば鍵管理サーバ５０およびＷｅｂサーバ２０，３０によって実行される。
【００２４】
上記の構成としたことで、共通鍵の作成、更新、および配布を自動化することができ、シングルサインオンによるユーザ認証を行うシステムの運用管理を簡略化することができる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図１は、本例の鍵管理システム１０の構成の例を示すブロック図である。鍵管理システム１０は、Ｗｅｂサーバ２０，３０と、ユーザ端末４０と、鍵管理サーバ５０とを含む。Ｗｅｂサーバ２０，３０、ユーザ端末４０、および鍵管理サーバ５０は、それぞれインターネットなどの通信ネットワーク６０に接続されている。
【００２８】
Ｗｅｂサーバ２０は、例えばインターネットサーバやワークステーションサーバなどの情報処理装置により構成される。Ｗｅｂサーバ２０は、本例では、通信ネットワーク６０を介して情報の提供などを行うサーバ（例えばメールサーバ、ファイルサーバ）であり、ユーザに関する情報を管理してシングルサインオンによるユーザ認証を行うための機能などの各種の機能を有する。なお、Ｗｅｂサーバ２０は、登録ユーザのユーザ情報などを格納するためのデータベース２１を有する。
【００２９】
Ｗｅｂサーバ３０は、登録ユーザのユーザ情報などを格納するためのデータベース３１を有する。なお、Ｗｅｂサーバ３０は、上記のＷｅｂサーバ２０と同様に構成されるので、その他の詳細な説明は省略する。
【００３０】
ユーザ端末４０は、例えばパーソナルコンピュータや携帯電話端末などの情報処理装置により構成される。ユーザ端末４０は、通信ネットワーク６０を介して情報の送信や取得を行うためのハードウェアやソフトウェアなどにおける環境（例えばブラウザやプロバイダ契約など）を有している。
【００３１】
ユーザ端末４０の管理者（例えばユーザＸ）は、本システムのシステム管理者に対して自己の個人情報を提示してあらかじめユーザ登録しておく。そして、システム管理者から、本システムを利用するためのユーザＩＤおよびパスワードを取得しておく。ユーザ登録は、例えば通信ネットワーク６０を介して行うなど、どのような手段によって行われていてもよい。
【００３２】
鍵管理サーバ５０は、例えばインターネットサーバやワークステーションサーバなどの情報処理装置により構成される。鍵管理サーバ５０は、本例では共通鍵の生成（作成）、更新、配布を行う機能などの各種の機能を有する。鍵管理サーバ５０は、共通鍵に関する情報などを格納するデータベース５１を有している。
【００３３】
次に、本例の鍵管理システム１０における共通鍵設定処理について説明する。図２は、本例の鍵管理システム１０における共通鍵設定処理および処理タイミングの一例を示すタイミングチャートである。図２には、鍵管理システム１０にて最初に用いられる共通鍵を生成して設定する初期設定処理や、初期設定処理によって生成された共通鍵がＷｅｂサーバに配布されて設定される共通鍵配布処理などが示されている。ここでは、ユーザＸが、認証情報が付与されていないユーザ端末４０を用いて、Ｗｅｂサーバ２０に対して接続要求を行う場合の処理について説明する。
【００３４】
先ず、鍵管理サーバ５０における初期設定処理（ステップＳ１０１〜ステップＳ１０２）について説明する。初期設定処理において、鍵管理サーバ５０は、電源が投入されて起動すると、共通鍵Ｋ１を作成する（ステップＳ１０１）。なお、ステップＳ１０１では、共通鍵Ｋ１の有効期限および保持期限が決定される。共通鍵は、いわゆる共通鍵暗号方式にて用いられる鍵であり、データの暗号化および復号化をともに行うことができる鍵である。共通鍵による暗号化には、例えばブロック暗号化やストリーム暗号化などがある。
【００３５】
そして、鍵管理サーバ５０は、共通鍵Ｋ１に関する情報を含む初期共通鍵リストを作成する（ステップＳ１０２）。「共通鍵に関する情報」には、共通鍵を示す情報と、その共通鍵に固有に付与される識別子、その共通鍵の有効期限（例えば作成時から６０分後などに定められる）、および保存期限（例えば作成時から１２０分後などに定められる）を示す情報とを含む。なお、上記の初期設定処理は、鍵管理サーバ５０が備える制御プログラムによって、起動したあとに自動的に実行される。なお、保存期限は、少なくとも有効期限よりあとに経過するように設定される。本例では、保存期間が、共通鍵の有効期間（例えば６０分間）に認証情報の有効期間（例えば６０分間）を加算した期間（例えば１２０分間）となるように、保存期限が定められる。保存期間は、共通鍵の有効期間に認証情報の有効期間を加算した期間以上の期間であれば、どのように期間が定められていてもよい。
【００３６】
図３は、共通鍵リストの一例を示す説明図である。図３に示すように、共通鍵リストは、鍵管理サーバ５０が作成した各共通鍵（図３では共通鍵Ｋ１〜共通鍵Ｋ３が示されている）を示す情報と、各共通鍵に付与された識別子を示す情報と、各共通鍵の有効期限および保持期限を示す情報とを含む。なお、ステップＳ１０２で作成される初期共通鍵リストは、図３に示す各共通鍵に関する情報のうち共通鍵Ｋ１に関する情報のみによって構成された共通鍵リストである。
【００３７】
共通鍵設定処理において、ユーザ端末４０は、ユーザＸの操作に応じて、通信ネットワーク６０を介してＷｅｂサーバ２０が開設しているホームページ（Ｗｅｂページのうち最初に表示されるページ）にアクセスするとともに認証依頼を行う（ステップＳ１０３）。ここでは、ユーザ端末４０は、未だ認証情報が付与されていないため、ユーザＩＤおよびパスワードを用いて基本認証の認証依頼を行う。具体的には、Ｗｅｂサーバ２０は、ユーザ端末４０からの接続要求があると、通信ネットワーク６０を介してログイン画面を送信する。ユーザ端末４０は、ログイン画面にてユーザＸが指定したユーザＩＤおよびパスワードをＷｅｂサーバ２０に向けて送信することで認証依頼を行う。
【００３８】
ユーザ端末４０からのユーザＩＤおよびパスワードを受信すると、Ｗｅｂサーバ２０は、受信したユーザＩＤおよびパスワードを用いて、ユーザ端末４０を操作しているユーザＸが登録ユーザであるか否かを判定するための基本認証処理を行う。具体的には、基本認証処理にて、Ｗｅｂサーバ２０は、受信したユーザＩＤおよびパスワードがデータベース２１に保存されている登録ユーザのものと一致するか否かの判定を行う。そして、一致すれば認証すると判定し、一致しなけければ認証しないと判定する。
【００３９】
基本認証処理によってユーザＸが認証されなかった場合には（ステップＳ１０４のＮ）、Ｗｅｂサーバ２０は、ユーザＩＤおよびパスワードの再入力を指示するための情報をユーザ端末４０に向けて送信する。認証された場合には（ステップＳ１０４のＹ）、Ｗｅｂサーバ２０は、データベース２１に格納されている情報にもとづいて有効な共通鍵を保有しているか否か判定する（ステップＳ１０５）。データベース２１に共通鍵リストが保存されていない場合、またはデータベース２１に保存されている共通鍵リストに有効な共通鍵（有効期限が経過する前の共通鍵）が含まれていない場合には（ステップＳ１０５のＮ）、Ｗｅｂサーバ２０は、鍵管理サーバ５０に対して、通信ネットワーク６０を介して共通鍵リストの取得要求を行う。この例では、未だデータベース２１に共通鍵リストが保存されていないため、共通鍵リストの取得要求が行われる。
【００４０】
鍵管理サーバ５０は、Ｗｅｂサーバ２０からの共通鍵リストの取得要求に応じて、データベース５１に格納されている最新の共通鍵リストを暗号化し（ステップＳ１０６）、暗号化した共通鍵リストを通信ネットワークを介してＷｅｂサーバ２０に向けて送信する（ステップＳ１０７）。ステップＳ１０６では、共通鍵リストを暗号化するための専用の共通鍵によって暗号化処理が実行される。この共通鍵は、例えば、共通鍵リストの送信先サーバ（ここではＷｅｂサーバ２０）にて特定できる所定の情報（例えばＷｅｂサーバ２０に付与されているホスト名）を用いて作成される。従って、共通鍵リストの送信先サーバでも共通鍵リストの暗号化に用いられた共通鍵を作成することができ、その共通鍵を用いて暗号化された共通鍵リストを復号化することができる。
【００４１】
鍵管理サーバ５０からの暗号化された共通鍵リストを受信すると、Ｗｅｂサーバ２０は、暗号化された共通鍵リストを復号化するための共通鍵を作成して復号化し、復号化した最新の共通鍵リストをデータベース２１に格納する。なお、このとき、最新でない共通鍵リストが格納されていた場合には削除される。
【００４２】
ステップＳ１０５にて有効な共通鍵を保有していた場合、または鍵管理サーバから最新の共通鍵リストを取得した場合には、Ｗｅｂサーバ２０は、ユーザＸ用の認証情報を作成し（ステップＳ１０８）、有効な共通鍵を用いて作成した認証情報を暗号化してユーザ端末４０に向けて送信する（ステップＳ１０９）。なお、ステップＳ１０８で作成される認証情報には、ユーザの認証を行うための情報と、認証を行うために使用され得る有効期限を示す情報とを含む。
【００４３】
ユーザの認証を行うための情報は、例えば、ユーザＩＤやパスワードにもとづいて作成（ユーザＩＤやパスワードそのものであってもよい）される。また、ユーザの認証を行うための情報は、少なくとも、他のＷｅｂサーバ（例えばＷｅｂサーバ３０）が認識できるように、あらかじめ定められた規則にもとづいて作成（例えばユーザＩＤを示すデータの所定ビットを所定の計算式によって演算した文字列）される。ただし、あらかじめ定められている規則は複数種類用意されており、ユーザの認証を行うための情報は、複数の異なる情報が設定され得る。従って、他のＷｅｂサーバ（例えばＷｅｂサーバ３０）は、設定され得る情報の何れかに該当するか否かを確認することで、認証情報に含まれている「ユーザの認証を行うための情報」にもとづく認証処理を行う。この実施の形態では、各Ｗｅｂサーバ２０，３０のデータベース２１，３１には、それぞれ、各登録ユーザに付与され得る各認証情報（ここでは有効期限を除く情報）があらかじめ保存されている。
【００４４】
ユーザ端末４０は、Ｗｅｂサーバ２０からの暗号化された認証情報を受信すると、自己が備える図示しない記憶領域に保存する（ステップＳ１１０）。すなわち、この例では、ユーザ端末４０は、暗号化された状態で認証情報を保存する。
【００４５】
暗号化した認証情報を送信すると、Ｗｅｂサーバ２０は、データベース２１に格納されている登録ユーザ情報にもとづいて、ユーザＸがユーザ端末４０を用いて接続要求を行っているリソースへのアクセス権を有しているか否か確認する（ステップＳ１１１）。そして、アクセス権を有していることが確認された場合には、Ｗｅｂサーバ２０は、ユーザ端末４０の図示しない表示装置の表示画面にそのリソースの初期画面（ホームページ）を表示させる。また、アクセス権を有していることを確認できなかった場合には、Ｗｅｂサーバ２０は、ユーザ端末４０が要求しているリソースへの接続を拒否し、ユーザ端末４０に向けて接続不許可の通知を行う。
【００４６】
上記の処理によって認証情報が付与されたあとは、ユーザ端末４０は、基本認証処理にもとづく認証がなされることは求められず、認証情報を用いた認証処理によって認証されると、アクセス権を有するリソースに対する接続が許可される。ただし、認証情報の有効期限が切れると、再度上記の処理（ステップＳ１０３〜ステップＳ１１０）を行って、新たな認証情報を取得する必要がある。
【００４７】
次に、本例の鍵管理システム１０における共通鍵更新処理について図面を参照して説明する。図４は、本例の鍵管理システム１０における共通鍵更新処理および処理タイミングの一例を示すタイミングチャートである。
【００４８】
ここでは、上述した図２に示した処理が実行され暗号化された認証情報がユーザ端末４０に保存されたあと、ユーザＸが、ユーザ端末４０を操作することで、ステップＳ１１０にて保存した暗号化された認証情報を用いて、Ｗｅｂサーバ３０に対して接続要求を行う場合の処理について説明する。また、ここでは、認証情報の有効期限は、暗号化に用いられた共通鍵の有効期限と同一（例えば認証情報が作成されたときから６０分経過後）とされているものとする。
【００４９】
共通鍵更新処理において、鍵管理サーバ５０は、初期設定処理（ステップＳ１０１〜ステップＳ１０２）を行ったあと、共通鍵Ｋ１の有効期間が経過すると、新たに共通鍵Ｋ２を作成する（ステップＳ２０１）。なお、ステップＳ２０１では、共通鍵Ｋ２の有効期限および保持期限が決定される。ここでは、共通鍵Ｋ２の保持期限は、共通鍵Ｋ２の有効期間と認証情報の有効期間とを加算した期間が経過するとき（例えば共通鍵Ｋ２が作成されたときから１２０分経過後）とされているものとする。
【００５０】
次いで、鍵管理サーバ５０は、共通鍵リストに共通鍵Ｋ２に関する情報を加えて、共通鍵リストを更新する（ステップＳ２０２）。なお、上記の新たな共通鍵を作成する処理や、共通鍵リストを更新する処理は、鍵管理サーバ５０が備える制御プログラムによって、共通鍵の有効期間が経過する毎に自動的に実行される。
【００５１】
ユーザ端末４０は、ユーザＸの操作に応じて、通信ネットワーク６０を介してＷｅｂサーバ３０が開設しているホームページにアクセスするとともに認証依頼を行う（ステップＳ２０３）。ここでは、ユーザ端末４０は、上述したステップＳ１１０にて保存した認証情報を用いて認証依頼を行う。具体的には、Ｗｅｂサーバ３０は、ユーザ端末４０からの接続要求があると、通信ネットワーク６０を介して認証情報送信依頼を行う。ユーザ端末４０は、Ｗｅｂサーバ３０からの認証情報送信依頼に応じて、保存している暗号化された認証情報をＷｅｂサーバ２０に向けて送信することで認証依頼を行う。なお、ユーザ端末４０が認証情報を有していない場合には、その旨をＷｅｂサーバ３０に通知すると、Ｗｅｂサーバ３０からログイン画面を表示させるための情報がユーザ端末４０に向けて送信され、ユーザＩＤおよびパスワードの入力依頼がなされる。
【００５２】
ユーザ端末４０からの暗号化された認証情報を受信すると、Ｗｅｂサーバ３０は、データベース３１に格納されている情報にもとづいて有効な共通鍵を保有しているか否か判定する（ステップＳ２０４）。データベース３１に共通鍵リストが保存されていない場合、またはデータベース３１に保存されている共通鍵リストに有効な共通鍵（有効期間が経過する前の共通鍵）が含まれていない場合には（ステップＳ２０４のＮ）、Ｗｅｂサーバ３０は、鍵管理サーバ５０に対して、通信ネットワーク６０を介して共通鍵リストの取得要求を行う。
【００５３】
鍵管理サーバ５０は、Ｗｅｂサーバ３０からの共通鍵リストの取得要求に応じて、データベース５１に格納されている最新の共通鍵リストを暗号化し（ステップＳ２０５）、暗号化した共通鍵リストを通信ネットワーク６０を介してＷｅｂサーバ３０に向けて送信する（ステップＳ２０６）。ステップＳ２０５の暗号化処理では、上述したステップＳ１０６で用いられる共通鍵と同様にして作成された共通鍵が用いられる。
【００５４】
鍵管理サーバ５０からの暗号化された共通鍵リストを受信すると、Ｗｅｂサーバ３０は、暗号化された共通鍵リストを復号化するための共通鍵を作成して復号化し、復号化した最新の共通鍵リストをデータベース３１に格納する。なお、このとき、最新でない共通鍵リストが保存されていれば削除される。
【００５５】
ステップＳ２０４にて有効な共通鍵Ｋ２を含む共通鍵リストを既に保有していた場合、または鍵管理サーバから最新の共通鍵リストを取得した場合には、Ｗｅｂサーバ３０は、ユーザ端末４０から取得した認証情報を、共通鍵を用いて復号化する（ステップＳ２０７）。ここでは、ユーザ端末４０から取得した認証情報は、最新の共通鍵リストに含まれている共通鍵Ｋ１によって復号化される。例えば、Ｗｅｂサーバ３０は、有効な共通鍵Ｋ２を用いて認証情報の復号化を実行し、復号化できなければ有効期間は経過しているが保持期間は経過していない共通鍵リストに含まれている他の共通鍵（ここでは共通鍵Ｋ１）を用いて復号化を実行する。
【００５６】
次いで、Ｗｅｂサーバ３０は、復号化した認証情報を用いて、ユーザ端末４０を操作しているユーザＸが登録ユーザであるか否かを判定するための認証処理を行う。具体的には、認証処理にて、Ｗｅｂサーバ３０は、暗号化された認証情報を復号化することができ、復号化した認証情報が示す有効期限が経過しておらず、かつ、復号化した認証情報がデータベース２１に保存されている登録ユーザに付与され得るものと一致するか否かの判定を行う。そして、暗号化された認証情報を復号化することができ、復号化した認証情報が示す有効期限が経過しておらず、かつ、復号化した認証情報がデータベース２１に保存されている登録ユーザに付与され得るものと一致した場合には、認証すると判定する。一方、暗号化された認証情報を復号化することができなかった場合、復号化した認証情報が示す有効期限が経過していた場合、または、復号化した認証情報がデータベース２１に保存されている登録ユーザに付与され得るものと一致しなかった場合には、いずれの場合も認証しないと判定する。
【００５７】
ユーザＸが認証されなかった場合には（ステップＳ２０８のＮ）、Ｗｅｂサーバ３０は、ユーザＩＤおよびパスワードによる基本認証処理の依頼を行うように指示するための情報（例えばログイン画面を表示させるための情報）をユーザ端末４０に向けて送信する。
【００５８】
ユーザＸを認証した場合には（ステップＳ２０８のＹ）、Ｗｅｂサーバ３０は、ユーザＸ用の新たな認証情報を作成し（ステップＳ２０９）、作成した認証情報を有効な共通鍵Ｋ２を用いて暗号化してユーザ端末４０に向けて送信する（ステップＳ２１０）。なお、ステップＳ２０９で作成される新たな認証情報には、ユーザの認証を行うための情報と、認証を行うために使用され得る有効期限を示す情報とを含む。
【００５９】
ユーザ端末４０は、Ｗｅｂサーバ３０からの暗号化された認証情報を受信すると、図示しない記憶領域に保存されていた認証情報を新たな認証情報に更新する（ステップＳ２１１）。
【００６０】
暗号化した新たな認証情報を送信すると、Ｗｅｂサーバ３０は、データベース３１に格納されている登録ユーザ情報にもとづいて、ユーザＸがユーザ端末４０を用いて接続要求を行っているリソースへのアクセス権を有しているか否か確認する（ステップＳ２１２）。そして、アクセス権を有していることが確認された場合には、Ｗｅｂサーバ３０は、ユーザ端末４０の表示画面にそのリソースの初期画面を表示させる。また、アクセス権を有していることを確認できなかった場合には、Ｗｅｂサーバ３０は、ユーザ端末４０が要求しているリソースへの接続を拒否し、ユーザ端末４０に向けて接続不許可の通知を行う。
【００６１】
なお、鍵管理サーバ５０は、共通鍵Ｋ１の保持期間が経過すると、今後共通鍵Ｋ１が用いられることはないと判定し、共通鍵リストのうちの共通鍵Ｋ１に関する情報を削除し、共通鍵リストの内容を更新する（ステップＳ２１３）。
【００６２】
上記のようにして、有効な共通鍵が時間の経過とともに更新される。また、上記のように、Ｗｅｂサーバ３０は、鍵管理サーバ５０によって有効な共通鍵が更新されたあと、ユーザ端末４０からのアクセスがあったときに、最新の共通鍵リストを取得することで、自己が保有する共通鍵を有効な共通鍵に更新する。
【００６３】
次に、本例の鍵管理システム１０における共通鍵の有効期間と認証情報の有効期間との関係について説明する。図５は、共通鍵の有効期間と認証情報の有効期間との関係を説明するためのタイミングチャートである。
【００６４】
ここでは、共通鍵は、有効期間が６０分間とされ、保持期間が１２０分間とされるものとする。また、認証情報の有効期間は、共通鍵の有効期間と同じ６０分間とされるものとする。なお、図５では、各種の処理タイミングが、鍵管理サーバ５０の起動時（共通鍵Ｋ１作成時）からの経過時間によって表されている。
【００６５】
この例では、図５に示すように、鍵管理サーバ５０は、起動時（０分）に共通鍵Ｋ１を作成する。共通鍵Ｋ１が作成されたあと１分が経過したときにユーザ端末４０からのアクセスがあったＷｅｂサーバ２０は、ユーザ端末４０からのアクセスに応じて、共通鍵Ｋ１が作成されてから６１分を有効期限とする認証情報１を作成し、共通鍵Ｋ１を用いて認証情報１を暗号化してユーザ端末４０に送信する。なお、Ｗｅｂサーバ２０は、認証情報１を暗号化して他のＷｅｂサーバ（Ｗｅｂサーバ３０）にも送信する。
【００６６】
次いで、共通鍵Ｋ１が作成されてから５９分が経過したときにユーザ端末４０からのアクセスがあったＷｅｂサーバ３０は、共通鍵Ｋ１を用いて復号化した認証情報１にもとづいてユーザＸを認証し、共通鍵Ｋ１が作成されてから１１９分後（認証情報２を作成したときから６０分後）を有効期限とする新たな認証情報２を作成し、有効な共通鍵Ｋ１を用いて暗号化してユーザ端末４０に送信する。
【００６７】
共通鍵Ｋ１を作成してから６０分が経過すると、鍵管理サーバ５０は、起動時から１２０分が経過したときを有効期限とする新たな共通鍵Ｋ２を作成する。
【００６８】
その後、共通鍵Ｋ１が作成されたあと１１８分が経過したときにユーザ端末４０からのアクセスがあったＷｅｂサーバ２０は、有効な共通鍵Ｋ２では復号化できないため共通鍵Ｋ１（有効期限が経過しているが保持期限は経過しておらず共通鍵リストに保持されている共通鍵）を用いて復号化した認証情報２にもとづいてユーザＸを認証し、共通鍵Ｋ１が作成されてから１７８分後（認証情報３を作成したときから６０分後）を有効期限とする新たな認証情報３を作成し、有効な共通鍵Ｋ２を用いて暗号化してユーザ端末４０に送信する。
【００６９】
そして、共通鍵Ｋ１を作成してから１２０分が経過すると、鍵管理サーバ５０は、保持期限が経過した共通鍵１に関する情報を共通鍵リストから削除するとともに、起動時から１８０分を有効期限とする新たな共通鍵Ｋ３を作成し、共通鍵リストを更新する。
【００７０】
上記のように、本例では、Ｗｅｂサーバは、認証処理を行うために暗号化された認証情報を復号化するときは保持期限が経過する前のいずれかの共通鍵を用い、新たに作成した認証情報を暗号化するときには有効な共通鍵を用いる。
【００７１】
以上説明したように、ユーザ認証をシングルサインオンにより行うシステムで用いられる共通鍵が、鍵管理サーバ５０によって自動的に作成および更新されるとともに、Ｗｅｂサーバ２０，３０によって自動的に取得される構成としたので、共通鍵の生成、更新、および配布を自動化することができ、シングルサインオンによるユーザ認証を行うシステムの運用管理を簡略化することができる。
【００７２】
また、上述したように、各共通鍵に有効期限を設定し、有効期間が経過したときに自動更新される構成としたので、システムの安全性を向上させることができる。なお、上述した実施の形態では特に言及していないが、各共通鍵の有効期間を同一の期間とすれば、定期的に共通鍵を更新することができるようになる。
【００７３】
また、上述したように、シングルサインオンによる認証を行うための認証情報を共通鍵により行う構成とし、共通鍵暗号方式による暗号化通信を採用しているので、公開鍵暗号方式と比較して計算量が低減され迅速に処理を行うことができる。
【００７４】
また、上述したように、Ｗｅｂサーバが共通鍵を必要とするときに、共通鍵管理サーバ５０から共通鍵リストを取得する構成としているので、例えば共通鍵の更新時などの同時期に各Ｗｅｂサーバに対して共通鍵リストを配布する必要がなく、共通鍵の配布処理を分散させることができる。従って、共通鍵管理サーバの処理負担を軽減させることができる。また、共通鍵を必要としていないＷｅｂサーバに対しては共通鍵リストを配布しないようにすることができ、不必要な処理を実行しなくてよいので、共通鍵管理サーバの共通鍵の配布に関する処理負担が軽減される。
【００７５】
また、上述したように、保持期限が経過した共通鍵に関する情報を共通鍵リストから削除する構成としたので、無駄な情報を残存させてしまうことを防止することができ、不必要な情報の保管や送受を行うことが回避されるので、効率的にシステムを運用することができる。
【００７６】
また、上述したように、認証情報に有効期間を設定し、有効期間内の認証情報であるか否かを加味して認証処理を実行する構成とされているので、有効期間を経過した認証情報によっては認証されないようにすることができ、システムの安全性を向上させることができる。
【００７７】
さらに、上述したように、有効な認証情報による接続要求がある毎に、共通鍵の有効期限を超える所定時を有効期限とする新たな認証情報に更新する構成とされているので、共通鍵が更新されたあとの最初のアクセスの際に常に基本認証を行わなければならなくなるという事態を回避することができ、シングルサインオンによる一括した認証処理による認証が行われる機会を増やすことができる。また、ＩＤおよびパスワードを用いた基本認証を行う機会を低減させることができるので、安全性を向上させることができる。
【００７８】
なお、上述した実施の形態では、Ｗｅｂサーバを２つ有する構成としていたが、Ｗｅｂサーバの数はいくつであってもよい。また、ユーザ端末もいくつ設けられていてもよい。
【００７９】
また、上述した実施の形態では、Ｗｅｂサーバ２０，３０が、鍵管理サーバ５０とは別個に設けられていたが、鍵管理サーバがＷｅｂサーバの一部または全部の機能を有する構成とされ、鍵管理サーバとＷｅｂサーバとが１つのサーバによって構成されていてもよい。
【００８０】
なお、鍵管理サーバ５０は、上述した各処理を実行させるための制御プログラム（付加情報印刷支援プログラム）に従って動作している。この制御プログラムは、接続要求の際に送信された暗号化された認証情報にもとづく認証処理において用いられる共通鍵を管理するための共通鍵管理プログラムであって、例えば、鍵管理サーバ５０に、有効期間を定めた共通鍵を生成するとともに生成した共通鍵を含む共通鍵情報を作成するステップと、共通鍵の有効期間が経過する毎に、有効期間を定めた共通鍵を新たに生成するとともに生成した共通鍵を共通鍵情報に含めるステップと、端末装置４０からの接続要求があった際に有効期間内の共通鍵を保有していないことが確認された場合にＷｅｂサーバ２０，３０によってなされる取得要求に応じて共通鍵情報を通信ネットワーク６０を介して送信するステップとを実行させるためのプログラムである。
【００８１】
また、上述した実施の形態では特に説明していないが、Ｗｅｂサーバ２０，３０は、上述した各処理を実行させるための制御プログラムに従って動作している。
【００８２】
【発明の効果】
以上のように、本発明の共通鍵管理システムによれば、共通鍵管理サーバが、共通鍵の有効期間が経過する毎に、有効期間および保持期間を定めた共通鍵を新たに生成するとともに、生成した共通鍵を含む共通鍵情報を作成し、複数のＷｅｂサーバに含まれる各Ｗｅｂサーバからの要求に応じて共通鍵情報を当該Ｗｅｂサーバに対して通信ネットワークを介して送信し、各Ｗｅｂサーバが、端末装置からの接続要求に応じて有効期間内の共通鍵を含む共通鍵情報を保有しているか否かを確認し、有効期間内の共通鍵を保有していない場合には共通鍵管理サーバから有効期間内の共通鍵を含む共通鍵情報を取得し、基本認証または認証情報にもとづく認証がなされた端末装置に対し、共通鍵の有効期限を超える所定時を有効期限とする認証に用いる新たな認証情報を作成し、有効期間内の共通鍵を用いて認証情報を暗号化して送信し、端末装置から送信された認証情報を保持期間内の共通鍵を用いて復号化して、復号化した認証情報にもとづいて認証処理を行うことを特徴とするので、共通鍵の作成や配布を自動化することができ、シングルサインオンによるユーザ認証を行うシステムの運用管理を簡略化することができる。
【００８５】
また、Ｗｅｂサーバが、有効期間内の認証情報であるか否かを加味して認証処理を実行する構成とされているので、有効期間を経過した認証情報によっては認証されないようにすることができ、安全性を向上させることができる。
【００８６】
さらに、共通鍵管理サーバが、保持期間が経過した共通鍵を共通鍵情報から削除する処理を実行する構成とされているので、不必要な情報を共通鍵情報から削除することができ、処理の効率化を図ることができる。
【００８９】
また、本発明の共通鍵管理方法によれば、共通鍵管理サーバが、共通鍵の有効期間が経過する毎に、有効期間および保持期間を定めた共通鍵を新たに生成するとともに、生成した共通鍵を含む共通鍵情報を作成し、複数のＷｅｂサーバに含まれる各Ｗｅｂサーバからの要求に応じて共通鍵情報を当該Ｗｅｂサーバに対して通信ネットワークを介して送信し、各Ｗｅｂサーバは、端末装置からの接続要求に応じて有効期間内の共通鍵を含む共通鍵情報を保有しているか否かを確認し、有効期間内の共通鍵を保有していない場合には共通鍵管理サーバから有効期間内の共通鍵を含む共通鍵情報を取得し、基本認証または認証情報にもとづく認証がなされた端末装置に対し、共通鍵の有効期限を超える所定時を有効期限とする認証に用いる新たな認証情報を作成し、有効期間内の共通鍵を用いて認証情報を暗号化して送信し、端末装置からの暗号化された認証情報を保持期間内の共通鍵を用いて復号化して、復号化した認証情報にもとづいて認証処理を行うので、共通鍵の作成、更新、および配布を自動化することができ、シングルサインオンによるユーザ認証を行うシステムの運用管理を簡略化することができる。
【図面の簡単な説明】
【図１】  本発明の一実施の形態における鍵管理システムの構成の例を示すブロック図である。
【図２】  本発明の一実施の形態における共通鍵設定処理および処理タイミングの一例を示すタイミングチャートである。
【図３】  本発明の一実施の形態における共通鍵リストの構成例を示す説明図である。
【図４】  本発明の一実施の形態における共通鍵更新処理および処理タイミングの一例を示すタイミングチャートである。
【図５】  本発明の一実施の形態における共通鍵の有効期間と認証情報の有効期間との関係を説明するためのタイミングチャートである。
【符号の説明】
１０  鍵管理システム
２０，３０  Ｗｅｂサーバ
２１，３１，５１  データベース
４０  ユーザ端末
５０  鍵管理サーバ
６０  通信ネットワーク
【図１】
0003770173.tif 000002
【図２】
0003770173.tif 000003
【図３】
0003770173.tif 000004
【図４】
0003770173.tif 000005
【図５】
0003770173.tif 000006