以下に、本発明にかかる認証方法および認証システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[全体構成]
図1は、実施例1に係る認証システムの全体構成を示す図である。図1に示すように、認証システムは、ユーザ端末と、ユーザ認証終端装置と、認証サーバAと、認証サーバBとがネットワークを介して接続されている。なお、各装置の台数はこれに限定されるものではない。
ユーザ端末は、ユーザ認証終端装置に認証依頼を送信し、認証が許可されると、インターネットなどを介して各種サービスを利用することができる端末装置である。
ユーザ認証終端装置は、ユーザ端末から認証要求を受信すると、当該ユーザ端末の認証依頼を認証サーバAおよび認証サーバBに対して送信し、両方の認証サーバから認証許可を受信した場合にのみ、ユーザ端末は正当な利用者であると認証する。このユーザ認証終端装置は、認証サーバに認証依頼を送信する順番を記憶している。認証サーバAや認証サーバBが認証に用いる「認証識別子と属性情報」は、ユーザ端末から送られるもの、および、ユーザ認証終端装置が記憶しているものがある。ユーザ認証終端装置は、これらのユーザから送られてくる「認証識別子と属性情報」、および、ユーザ認証終端装置が記憶している「認証識別子と属性情報」のうち、どの「認証識別子と属性情報」を、どの認証サーバに送信するかを記憶している。
また、ユーザ認証終端装置は、認証依頼を送信する先が、自装置内の情報を用いて認証処理を実施できる基本認証装置であるか、または、他装置の情報を用いて認証処理を実施する連想認証装置であるかを示す情報を記憶している。
認証サーバAまたは認証サーバBは、「認証識別子、属性情報」を記憶しており、ユーザ認証終端装置から受け付けた認証依頼に含まれる認証識別子、属性情報を用いて、利用者認証を行う。また、認証サーバAまたは認証サーバBは、それぞれ異なる種別の認証を行うサーバであり、例えば、認証サーバAが契約番号、認証サーバBがユーザIDで認証を行う。
また、認証サーバAは、認証情報キャッシュサーバAと認証情報データベースサーバAとを有している。認証情報データベースサーバAは、大容量の記憶部を有し、当該記憶部に「認証識別子、属性情報」と対応付けた認証情報を保持する。また、認証情報キャッシュサーバAは、高速なアクセスが実施可能であり、認証装置のデータベースサーバAに保持される認証情報のうち、過去に使用した認証情報を保持する。
このような状態で、ユーザ端末から認証要求を受け付けたユーザ認証終端装置は、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する。続いて、ユーザ認証終端装置は、決定された順番で認証装置に認証依頼を送信する場合に、送信対象である認証サーバが、自装置内の情報を用いて認証処理を実施できる基本認証装置であるか、または、他装置の情報を用いて認証処理を実施する連想認証装置であるかを判定する。
例えば、ユーザ認証終端装置は、認証サーバA、認証サーバBの順に認証依頼を送信すると決定する。そして、ユーザ認証終端装置は、認証サーバAは基本認証装置、認証サーバBは連想認証装置と判定する(図1の(1)参照)。
その後、ユーザ認証終端装置は、基本認証装置である認証サーバAが認証に用いる認証情報を特定する「認証識別子A」と「属性情報A」を含む認証依頼を認証サーバAの認証情報キャッシュサーバAに送信する(図1の(2)参照)。この認証依頼を受信した認証情報キャッシュサーバAは、受信した「認証識別子Aと属性情報A」に基づいて、認証した結果を応答する(図1の(3)参照)。
例えば、認証情報キャッシュサーバAは、受信した「認証識別子Aと属性情報A」を自装置内に記憶している場合には、認証許可を応答する。また、認証情報キャッシュサーバAは、自装置内には記憶していないが、認証情報データベースサーバAに記憶されている場合には、「認証識別子Aと属性情報A」を認証情報データベースサーバAから取得して自装置内に格納し、認証許可を応答する。また、認証情報キャッシュサーバAは、自装置内にも記憶しておらず、認証情報データベースサーバAにも記憶されていない場合には、認証拒否を応答する。
続いて、認証情報キャッシュサーバAから認証応答を受信したユーザ認証終端装置は、次の認証先である認証サーバB(連想認証装置)に対して、認証サーバBが認証に用いる認証識別子「認証識別子G」の一部を示す第一の識別子「認証識別子B」と、認証識別子「認証識別子G」の一部を示す第二の識別子「認証識別子グループ」を特定する特定情報「認証識別子A」とを含む認証依頼を送信する(図1の(4)参照)。このとき、ユーザ認証終端装置は、認証サーバBが認証に用いる認証識別子「認証識別子G」の「属性情報G」もあわせて送信する。
このようにして、第一の識別子「認証識別子B」、第二の識別子「認証識別子グループ」を特定するための特定情報「認証識別子A」を含む認証依頼を受信した認証情報キャッシュサーバBは、連想先である認証サーバAに対して、特定情報「認証識別子A」によって特定される第二の識別子「認証識別子グループ」の取得要求を送信する(図1の(5)参照)。
そして、第二の識別子「認証識別子グループ」の取得要求を受信した認証情報キャッシュサーバAは、受信した特定情報「認証識別子A」に対応する第二の識別子「認証識別子グループ=G001」を、自装置内または認証情報データベースサーバAから取得し、認証情報キャッシュサーバBに応答する(図1の(6)参照)。
その後、第二の識別子「認証識別子グループ=G001」を受信した認証情報キャッシュサーバBは、受信した第二の識別子「認証識別子グループ=G001」と先に受信してあった第一の識別子「認証識別子B」とを結合して、認証サーバBが認証に用いる認証識別子「認証識別子G」を生成する(図1の(7)参照)。
そして、認証情報キャッシュサーバBは、生成した「認証識別子G」と受信した「属性情報G」に基づいて、認証した結果を応答する(図1の(8)参照)。
例えば、認証情報キャッシュサーバBは、受信した「属性情報G」を自装置内に記憶している場合には、認証許可を応答する。また、認証情報キャッシュサーバBは、自装置内には記憶していないが、認証情報データベースサーバBに記憶されている場合には、「認証識別子Gと属性情報G」を認証情報データベースサーバBから取得して自装置内に格納し、認証許可を応答する。また、認証情報キャッシュサーバBは、自装置内にも記憶しておらず、認証情報データベースサーバBにも記憶されていない場合には、認証拒否を応答する。
そして、ユーザ認証終端装置は、認証依頼が送信された認証サーバAまたは認証サーバBから受信した認証結果が全て認証許可である場合に、ユーザ端末の認証を許可する(図1の(9)参照)。
[認証システムの構成]
次に、図1に示した認証システムにおける各装置の構成について説明する。なお、ここでは、ユーザ認証終端装置10、認証情報キャッシュサーバA20、認証情報データベースサーバA30、認証情報キャッシュサーバB40、認証情報データベースサーバB50のそれぞれについて説明し、パーソナルコンピュータや移動体端末など一般的な装置構成を用いることのできるユーザ端末については省略する。
(ユーザ認証終端装置の構成)
まず、図2を用いて、ユーザ認証終端装置の構成について説明する。図2は、ユーザ認証終端装置10の構成を示すブロック図である。図2に示すように、ユーザ認証終端装置10は、通信制御I/F部11と、記憶部12と、制御部13とを有する。
通信制御I/F部11は、認証サーバA、認証サーバB、ユーザ端末との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部11は、ユーザ端末から認証要求を受信し、ユーザ端末に対して認証結果を応答する。また、通信制御I/F部11は、認証サーバAや認証サーバBに認証依頼を送信し、認証サーバAや認証サーバBから認証応答を受信する。
記憶部12は、制御部13による各種処理に必要なデータおよびプログラムを格納するとともに、特に、ユーザ情報DB12aと、認証順番DB12bと、認証装置型情報DB12cとを有する。なお、各種のデータやパラメータについては、任意に変更することができる。
ユーザ情報DB12aは、ユーザ認証終端装置10が管理するユーザに関連した情報を記憶する。ユーザ情報DB12aで管理される情報は、ひとつまたは複数の認証識別子種別の認証識別子と、それに割り当てられた情報である。例えば、ユーザ情報DB12aは、図3−1に示すように、「ポート番号、回線番号、回線番号用パスワード」として「001、CHANNEL−0021、P001」などを記憶する。また、図3−2に示すように、「ポート番号、収容地域番号、収容地域情報用パスワード」として「002、AREA−020、P003」などを記憶する。なお、ここでは、ユーザ情報DB12aは、図3−1と図3−2のように、複数のテーブルで情報を保持する場合について例示したが、これに限定されるものではなく、一つのテーブルで複数の情報を保持してもよい。図3−1および図3−2は、ユーザ情報DB12aに記憶される情報の例を示す図である。
ここで例示した「ポート番号」は、ユーザ端末が接続されるポートを一意に識別する識別子であり、ユーザ端末から各種情報を受信した場合に特定することができる。「回線番号」は、ユーザ認証終端装置10とユーザ端末を接続する回線を一意に特定する情報であり、「回線番号用パスワード」は、「回線番号」が正しいことを認証するために「回線番号」に割り当てられた情報である。「収容地域番号」は、ユーザ端末を接続する回線の、ユーザ認証終端装置と反対側の端点の物理的な位置の区分けを一意に特定する情報であり、例えば、市町村や県を表す番号である。また、「収容地域番号用パスワードは、「収容地域番号」が正しいことを認証するために「収容地域番号」に割り当てられた情報である。
認証順番DB12bは、認証依頼を送信する順番を記憶する。例えば、認証順番DB12bは、図4に示すように、「順番、サーバ名、IPアドレス」として「1、認証サーバA、10.1.1.1」や「2、認証サーバB、192.168.1.1」などを記憶する。なお、図4は、認証順番DB12bに記憶される情報の例を示す図である。
ここで例示した「順番」は、認証依頼の送信順番を示す情報であり、例えば、連想型認証装置よりも基本認証型装置に対して先に認証依頼を送信するなど、所定の条件に従って決定される。「サーバ名」は、認証依頼の送信先となる認証サーバの名称(ホスト名など)を示す情報であり、「IPアドレス」は、認証依頼の送信先となる認証情報キャッシュサーバのIPアドレスを示す情報である。
認証装置型情報DB12cは、認証依頼の送信先となる各認証サーバが、自装置内の情報を用いて認証処理を実施できる基本認証装置であるか、または、他装置の情報を用いて認証処理を実施する連想認証装置であるかを示す情報を記憶する。例えば、認証装置型情報DB12cは、図5に示すように、「サーバ名、認証型、認証情報管理元、認証識別子、属性情報、特定情報管理元、特定情報」として「認証サーバA、基本型、ユーザ端末、ユーザID、パスワード、−、−」を記憶する。この場合、認証サーバAは基本認証装置であり、ユーザ端末から送られてくるユーザIDとパスワードをユーザ認証終端装置10から認証サーバAに送信することを表している。また、「サーバ名、認証型、認証情報管理元、認証識別子、属性情報、特定情報管理元、特定情報」として「認証サーバB、連想型、ユーザ認証終端装置、回線番号+グループID、回線番号用パスワード、ユーザ端末、ユーザID」などと記憶する。この場合、認証サーバBは連想認証装置であり、ユーザ認証終端装置10で管理する回線番号、回線番号用パスワード、ユーザ端末から送られてきたユーザIDをユーザ認証終端装置10から認証サーバBに送信することを表している。更に、認証装置型情報DB12cは、図5に示すように、「サーバ名、認証型、認証情報管理元、認証識別子、属性情報、特定情報管理元、特定情報」として「認証サーバC、基本型、ユーザ認証終端装置、収容地域番号、収容地域番号用パスワード、−、−」を記憶する。この場合、認証サーバCは基本認証装置であり、ユーザ認証終端装置10で管理している収容地域番号と収容地域番号用パスワードをユーザ認証終端装置10から認証サーバCに送信することを表している。なお、図5は、認証装置型情報DB12cに記憶される情報の例を示す図である。
ここで例示した「サーバ名」は、認証依頼の送信先となる認証サーバの名称(ホスト名など)を示す情報である。「認証型」は、認証サーバが基本認証装置なのか連想認証装置なのかを示す情報であり、基本認証装置の場合には「基本型」、連想認証装置の場合には「連想型」が記憶される。「認証情報管理元」は、「認証識別子」および「属性情報」を管理しているのが、「ユーザ端末」か「ユーザ認証終端装置」であるかを示す。「認証識別子」は、認証サーバが認証処理を実施する際に、認証情報を検索する検索キーを示す情報であり、「属性情報」は、認証サーバが認証処理に用いる認証情報である。「特定情報管理元」は、「特定情報」を管理しているのが「ユーザ端末」か「ユーザ認証終端装置」であるかを示す。「特定情報」は、連想認証装置である認証サーバが認証に用いる認証識別子の一部を、連想先の認証サーバから特定するための情報である。
制御部13は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。また、制御部13は、順番決定部13aと、装置種別判定部13bと、基本認証依頼部13cと、連想認証依頼部13dと、認証結果送信部13eとを有し、これらによって種々の処理を実行する。
順番決定部13aは、ユーザ端末から認証要求を受信した場合に、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する。上記した例で具体的に説明すると、順番決定部13aは、ユーザ端末から認証要求を受信した場合に、認証順番DB12bを参照する。そして、順番決定部13aは、認証サーバAを順番1、認証サーバBを順番2と決定し、決定した情報を装置種別判定部13bに出力する。
また、順番決定部13aは、ユーザ端末から認証要求を受信した場合に、認証要求を受信したポート番号を特定し、特定したポートから、認証要求を送信したユーザ端末を特定することができる。
装置種別判定部13bは、順番決定部13aによって決定された順番で認証装置に認証依頼を送信する場合に、送信対象である認証装置が、自装置内の情報を用いて認証処理を実施できる基本認証装置であるか、または、他装置の情報を用いて認証処理を実施する連想認証装置であるかを判定する。なお、ここでは、認証装置に認証依頼を送信する場合に、送信対象の認証サーバが基本認証装置か連想認証装置であるかを判定する例を説明したが、これに限定されるものではなく、判定するタイミングは、任意に設定することができる。
上記した例で具体的に説明すると、装置種別判定部13bは、順番1と決定された「認証サーバA」について、認証装置型情報DB12cを参照して、認証サーバAが基本認証装置か連想認証装置かを判定する。この例では、装置種別判定部13bは、「認証サーバA」について、基本認証装置と判定し、判定結果を基本認証依頼部13cに出力する。
そして、装置種別判定部13bは、順番1と決定された「認証サーバA」から認証応答を受信すると、順番2と決定された「認証サーバB」について、認証装置型情報DB12cを参照して、認証サーバBが基本認証装置か連想認証装置かを判定する。この例では、装置種別判定部13bは、「認証サーバB」について、連想認証装置と判定し、判定結果を連想認証依頼部13dに出力する。
基本認証依頼部13cは、装置種別判定部13bにより基本認証装置であると判定された認証サーバに対して、当該認証サーバが認証に用いる認証情報を特定する認証識別子を含む認証依頼を送信する。上記した例で具体的に説明すると、基本認証依頼部13cは、装置種別判定部13bにより基本認証装置であると判定された認証サーバAの「認証識別子=ユーザID」と「属性情報=パスワード」と「認証情報管理元=ユーザ端末」を認証装置型情報DB12cから特定する。続いて、基本認証依頼部13cは、ユーザ端末から受信した情報からユーザ固有の情報「認証識別子=ユーザID=U001」と「属性情報=パスワード=P001」を取得する。その後、基本認証依頼部13cは、順番1と決定された認証サーバAのIPアドレスを認証順番DB12bから特定し、特定したIPアドレスを用いて、「認証識別子=U001」と「属性情報=P001」を含む認証依頼を認証サーバAに送信する。
連想認証依頼部13dは、装置種別判定部13bにより連想認証装置であると判定された認証サーバに対して、当該認証サーバが認証に用いる認証識別子の一部を示す第一の識別子と、認証識別子の一部を示す第二の識別子を特定する特定情報とを含む認証依頼を送信する。上記した例で具体的に説明すると、連想認証依頼部13dは、認証装置型情報DB12cを参照し、装置種別判定部13bにより連想認証装置であると判定された認証サーバBの「認証情報管理元」が「ユーザ認証終端装置」であると特定する。そのため、連想認証依頼部13dは、認証サーバBが認証に用いる認証識別子「回線番号+グループID」と属性情報「回線番号用パスワード」を、自装置内の認証装置型情報DB12cから特定する。この場合、連想認証依頼部13dは、特定された認証識別子「回線番号+グループID」のうち回線番号については、ユーザ情報DB12aに記憶されていることから、第一の識別子を「回線番号」、第二の識別子を「グループID」とする。また、連想認証依頼部13dは、認証装置型情報DB12cを参照し、認証サーバBの「特定情報管理元」が「ユーザ端末」であるため、第二の識別子「グループID」と特定する特定情報「ユーザID」を、ユーザ端末から受信した情報から特定する。
そして、連想認証依頼部13dは、順番決定部13aにより特定されたポート番号をキーにして、第一の識別子「回線番号」と属性情報「回線番号用パスワード」をユーザ情報DB12aから取得する。また、連想認証依頼部13dは、特定情報「認証サーバAのユーザID」をユーザ端末から受信した情報から取得する。この例では、連想認証依頼部13dは、第一の識別子「回線番号=CHANNEL−0021」、属性情報「回線番号用パスワード=P001」、特定情報「ユーザID=U001」を取得する。そして、連想認証依頼部13dは、取得したこれらの情報を含む認証依頼を認証サーバBに送信する。
認証結果送信部13eは、基本認証依頼部13cまたは連想認証依頼部13dによって認証依頼が送信された認証サーバから受信した認証結果が全て認証許可である場合に、ユーザ端末の認証を許可する。具体的には、認証結果送信部13eは、認証依頼が送信された認証サーバAと認証サーバBとから受信した認証結果が全て認証許可である場合に、ユーザ端末の認証を許可する。一方、認証結果送信部13eは、認証サーバAと認証サーバBとから受信した認証結果のいずれかが認証拒否である場合には、ユーザ端末の認証を拒否する。
(認証情報キャッシュサーバAの構成)
次に、図6を用いて、認証サーバAの認証情報キャッシュサーバAの構成について説明する。つまり、ここでは、基本認証装置となる認証情報キャッシュサーバの構成について説明する。図6は、認証サーバAの認証情報キャッシュサーバA20の構成を示すブロック図である。図6に示すように、認証情報キャッシュサーバA20は、通信制御I/F部21と、記憶部22と、制御部23とを有する。
通信制御I/F部21は、認証情報データベースサーバA30、認証情報キャッシュサーバB40、ユーザ認証終端装置10との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部21は、ユーザ認証終端装置10から認証依頼を受信し、ユーザ認証終端装置10に対して認証結果を応答する。また、通信制御I/F部21は、認証情報データベースサーバA30から認証情報を受信し、認証情報キャッシュサーバB40から認証識別子を受信し、受信した認証識別子の属するグループIDを送信する。
記憶部22は、制御部23による各種処理に必要なデータおよびプログラムを格納するとともに、特に、キャッシュ22aと、認証装置型情報DB22bとを有する。なお、各種のデータやパラメータについては、任意に変更することができる。
キャッシュ22aは、認証情報データベースサーバA30に保持される認証情報のうち、過去に使用した認証情報を保持する高速にアクセス可能なメモリである。例えば、キャッシュ22aは、図7に示すように、「認証識別子(ユーザID)、属性情報(パスワード)、認証識別子グループ(グループID)」として「U001、P001、G001」などを記憶する。なお、ここでは、属性情報と認証識別子グループとを同じテーブルで記憶させた例を図示したが、これに限定されるものではなく、別々のテーブルで管理してもよい。また、ここでは、特定情報と認証識別子とが同じである場合を図示しているが、これに限定されるものではなく、別の情報を特定情報として用いてもよい。
ここで例示した「認証識別子(ユーザID)」は、属性情報を検索する検索キーを示す情報であり、「属性情報(パスワード)」は、認証に用いる情報であり、「認証識別子グループ(グループID)」は、例えば、認証サーバBのように、認証サーバAを連想先とする連想認証装置が認証に用いる情報である。なお、図7は、キャッシュ22aに記憶される情報の例を示す図である。
認証装置型情報DB22bは、自装置が基本認証装置であるのか、または、連想認証装置であるのかを示す情報を記憶し、例えば、図8に示すように、「認証型」として「基本型」を記憶する。なお、図8は、認証装置型情報DB22bに記憶される情報の例を示す図である。
制御部23は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。また、制御部23は、キャッシュ判定部23aと、識別子送信部23bと、認証処理部23cとを有し、これらによって種々の処理を実行する。
キャッシュ判定部23aは、ユーザ認証終端装置10から受信した認証依頼から認証識別子を取得し、取得した認証識別子に対応付けてキャッシュ22aに記憶される属性情報を検索する。上記した例で具体的に説明すると、キャッシュ判定部23aは、ユーザ認証終端装置10から認証依頼として「認証識別子」と「属性情報」とを受信した場合に、認証装置型情報DB22bを参照して、自装置が基本認証装置であると識別する。そして、キャッシュ判定部23aは、ユーザ認証終端装置10から受信した認証依頼から認証識別子「U001」と属性情報「P001」とを取得する。そして、キャッシュ判定部23aは、認証依頼から取得した認証識別子「U001」に対応する「属性情報」がキャッシュ22aに記憶されているか否かを判定する。そして、キャッシュ判定部23aは、キャッシュ22aに記憶されている場合、認証識別子「U001」に対応する「属性情報」を取得し、キャッシュ22aから取得した「属性情報」と認証依頼から取得した「属性情報」とを認証処理部23cに出力する。
また、キャッシュ判定部23aは、キャッシュ22aに記憶されていない場合、認証依頼から取得した認証識別子「U001」に対応する「認証情報(属性情報)」の取得要求を認証情報データベースサーバA30に送信する。その後、キャッシュ判定部23aは、認証情報データベースサーバA30から認証識別子「U001」に対応する「属性情報」を受信した場合には、これらを対応付けてキャッシュ22aに格納するとともに、認証処理部23cに出力する。一方、キャッシュ判定部23aは、認証情報データベースサーバA30から認証識別子「U001」に対応する「属性情報」を受信できなかった場合には、「認証情報なし」を認証処理部23cに出力する。
識別子送信部23bは、所定の条件に応じて特定される特定情報に対応する他の認証識別子を、キャッシュ22aから取得して他の認証装置に送信する。具体的には、識別子送信部23bは、認証サーバBの認証情報キャッシュサーバB40から第二の識別子の取得要求を受信し、当該取得要求に含まれる特定情報に対応する第二の識別子がキャッシュ22aに保持されている場合には、第二の識別子をキャッシュ22aから取得して認証情報キャッシュサーバB40に送信する。また、識別子送信部23bは、特定情報に対応する第二の識別子がキャッシュ22aに保持されていない場合には、第二の識別子を認証情報データベースサーバA30から取得して認証情報キャッシュサーバB40に送信する。
上記した例で具体的に説明すると、識別子送信部23bは、認証情報キャッシュサーバB40から特定情報「ユーザID=U001」を含む取得要求を受信した場合に、当該特定情報「ユーザID=U001」に対応する「認証識別子グループ」がキャッシュ22aに記憶されているか否かを判定する。そして、識別子送信部23bは、特定情報「ユーザID=U001」に対応する「認証識別子グループ=G001」がキャッシュ22aに記憶されている場合には、「認証識別子グループ=G001」を認証情報キャッシュサーバB40に送信する。一方、識別子送信部23bは、「認証識別子グループ=G001」がキャッシュ22aに記憶されていない場合には、認証情報データベースサーバA30から「認証識別子グループ=G001」を取得して認証情報キャッシュサーバB40に送信する。
認証処理部23cは、キャッシュ判定部23aにより取得された属性情報を用いてユーザ認証を行う。上記した例で具体的に説明すると、認証処理部23cは、キャッシュ判定部23aによって取得された「属性情報」と、認証依頼から取得された「属性情報」とが一致する場合に、認証許可をユーザ認証終端装置10に応答する。一方、認証処理部23cは、両情報が一致しない場合、または、キャッシュ判定部23aから「認証情報なし」が通知された場合、認証拒否をユーザ認証終端装置10に応答する。
(認証情報データベースサーバAの構成)
次に、図9を用いて、認証サーバAの認証情報データベースサーバAの構成について説明する。つまり、ここでは、基本認証装置となる認証情報データベースサーバの構成について説明する。図9は、認証サーバAの認証情報データベースサーバA30の構成を示すブロック図である。図9に示すように、認証情報データベースサーバA30は、通信制御I/F部31と、記憶部32と、制御部33とを有する。
通信制御I/F部31は、認証情報キャッシュサーバA20との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部31は、認証情報キャッシュサーバA20から認証情報取得要求を受信し、認証情報や認証情報なしを応答する。
記憶部32は、制御部33による各種処理に必要なデータおよびプログラムを格納するとともに、特に、認証情報DB32aを有する。なお、各種のデータやパラメータについては、任意に変更することができる。
認証情報DB32aは、認証識別子と属性情報とを対応付けた認証情報を保持する大容量の記憶部であり、例えば、図10に示すように、「認証識別子(ユーザID)、属性情報(パスワード)、認証識別子グループ(グループID)」として「U001、P001、G001」や「U100、P100、G002」などを記憶する。なお、ここでは、属性情報と認証識別子グループとを同じテーブルで記憶させた例を図示したが、これに限定されるものではなく、別々のテーブルで管理してもよい。また、ここでは、特定情報と認証識別子とが同じである場合を図示しているが、これに限定されるものではなく、別の情報を特定情報として用いもよい。なお、図10は、認証情報DB32aに記憶される情報の例を示す図である。
制御部33は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、キャッシュ応答部33aを有し、これらによって種々の処理を実行する。
キャッシュ応答部33aは、認証情報キャッシュサーバA20から認証情報取得要求を受信した場合に、当該要求に含まれる「認証識別子」と「属性情報」とが対応付けられた認証情報が認証情報DB32aに記憶されているか否かを判定する。そして、キャッシュ応答部33aは、認証情報DB32aに記憶されている場合には、該当の認証情報を認証情報DB32aから取得し、認証情報キャッシュサーバA20に応答する。また、キャッシュ応答部33aは、認証情報DB32aに記憶されていない場合には、「認証情報なし」を認証情報キャッシュサーバA20に応答する。
また、キャッシュ応答部33aは、認証情報キャッシュサーバA20から特定情報を含む認証識別子取得要求を受信し、当該特定情報に対応する第二の識別子を認証情報DB32aに保持している場合に、認証情報DB32aに保持される特定情報に対応付けられた第二の識別子を認証情報キャッシュサーバA20に応答する。また、キャッシュ応答部33aは、特定情報に対応する第二の識別子を認証情報DB32aに保持していない場合に、第二の識別子を保持していないことを認証情報キャッシュサーバA20に応答する。
(認証情報キャッシュサーバBの構成)
次に、図11を用いて、認証サーバBの認証情報キャッシュサーバBの構成について説明する。つまり、ここでは、連想認証装置となる認証情報キャッシュサーバの構成について説明する。図11は、認証サーバBの認証情報キャッシュサーバB40の構成を示すブロック図である。図11に示すように、認証情報キャッシュサーバB40は、通信制御I/F部41と、記憶部42と、制御部43とを有する。
通信制御I/F部41は、認証情報データベースサーバB50、認証情報キャッシュサーバA20、ユーザ認証終端装置10との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部41は、ユーザ認証終端装置10から認証依頼を受信し、ユーザ認証終端装置10に対して認証結果を応答する。また、通信制御I/F部41は、認証情報データベースサーバB50から認証情報を受信し、認証情報キャッシュサーバA20に認証識別子を送信する。
記憶部42は、制御部43による各種処理に必要なデータおよびプログラムを格納するとともに、特に、キャッシュ42aと、認証装置型情報DB42bとを有する。なお、各種のデータやパラメータについては、任意に変更することができる。
キャッシュ42aは、認証情報データベースサーバB50に保持される認証情報のうち、過去に使用した認証情報を保持する高速にアクセス可能なメモリである。例えば、キャッシュ42aは、図12に示すように、「認証識別子(回線番号+グループID)、属性情報(パスワード)」として「CHANNEL−0021G001、P002」などを記憶する。ここで例示した「認証識別子(回線番号+グループID)」は、属性情報を検索する検索キーを示す情報であり、「属性情報(パスワード)」は、認証に用いる情報である。なお、図12は、キャッシュ42aに記憶される情報の例を示す図である。
認証装置型情報DB42bは、自装置が基本認証装置であるのか、または、連想認証装置であるのかを示す情報を記憶する。例えば、認証装置型情報DB42bは、図13に示すように、「認証型、連想先、IPアドレス」として「連想型、認証サーバA、10.1.1.1」を記憶する。なお、図13は、認証装置型情報DB42bに記憶される情報の例を示す図である。
ここで例示した「認証型」は、自装置が基本認証装置であるのか、または、連想認証装置であるのかを示す情報であり、「連想先」は、自装置が認証情報(属性情報)を検索するための検索キーの一部となる認証識別子を保持する認証サーバを示す情報である。「IPアドレス」は、「連想先」認証サーバの認証情報キャッシュサーバのIPアドレスである。
制御部43は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。また、制御部43は、認証識別子要求部43aと、キャッシュ判定部43bと、認証処理部43cとを有し、これらによって種々の処理を実行する。
認証識別子要求部43aは、認証情報キャッシュサーバA20から、ユーザ認証終端装置10から受信した認証要求に含まれる特定情報を基にして、認証情報キャッシュサーバB40が認証に用いる認証識別子の一部を示す第二の識別子を取得する。
上記した例で具体的に説明すると、認証識別子要求部43aは、ユーザ認証終端装置10から認証依頼として「認証識別子」と「属性情報」とを受信した場合に、認証装置型情報DB42bを参照して、自装置が連想認証装置であると識別する。続いて、認証識別子要求部43aは、認証情報キャッシュサーバB40が認証に用いる認証識別子の一部である第一の識別子として「回線種別=CHANNEL−0021」、認証情報キャッシュサーバB40が認証に用いる認証識別子の一部である第二の識別子としての「グループID」を特定するための特定情報として「ユーザID=U001」、認証対象となる属性情報として「パスワード=P002」を含む認証依頼をユーザ認証終端装置10から取得する。そして、認証識別子要求部43aは、特定情報「ユーザID」を認証情報キャッシュサーバA20に送信し、その応答として、第二の識別子「グループID=G001」を受信する。
キャッシュ判定部43bは、認証識別子要求部43aにより取得された第二の識別子と、ユーザ認証終端装置10から受信した認証要求に含まれる第一の識別子とを用いた新たな認証識別子に対応付けてキャッシュ42aに記憶される属性情報を検索する。上記した例で具体的に説明すると、キャッシュ判定部43bは、第一の識別子「回線種別=CHANNEL−0021」と、第二の識別子「グループID=G001」とを結合し、新たな認証識別子「CHANNEL−0021G001」を生成する。そして、キャッシュ判定部43bは、生成した認証識別子「CHANNEL−0021G001」とそれに対応する「属性情報」がキャッシュ42aに記憶されているか否かを判定する。そして、キャッシュ判定部43bは、キャッシュ42aに記憶されている場合、認証識別子「CHANNEL−0021G001」に対応する「属性情報」を取得して、キャッシュ42aから取得した「属性情報」と認証依頼から取得した「属性情報」とを認証処理部43cに出力する。
また、キャッシュ判定部43bは、キャッシュ42aに記憶されていない場合、生成した認証識別子「CHANNEL−0021G001」に対応する「認証情報(属性情報)」の取得要求を認証情報データベースサーバB50に送信する。その後、キャッシュ判定部43bは、認証情報データベースサーバB50から認証識別子「CHANNEL−0021G001」に対応する「属性情報=P002」を受信した場合には、これらを対応付けてキャッシュ42aに格納するとともに、認証処理部43dに出力する。一方、キャッシュ判定部43bは、認証情報データベースサーバB50から認証識別子「CHANNEL−0021G001」に対応する「属性情報」を受信できなかった場合には、「認証情報なし」を認証処理部43cに出力する。
認証処理部43cは、キャッシュ判定部43bにより取得された属性情報を用いてユーザ認証を行う。上記した例で具体的に説明すると、認証処理部43cは、キャッシュ判定43bによって取得された「属性情報」と、認証依頼から取得された「属性情報」とが一致する場合に、認証許可をユーザ認証終端装置10に応答する。一方、認証処理部43cは、両情報が一致しない場合、または、キャッシュ判定部43bから「認証情報なし」が通知された場合、認証拒否をユーザ認証終端装置10に応答する。
(認証情報データベースサーバBの構成)
次に、図14を用いて、認証サーバBの認証情報データベースサーバBの構成について説明する。つまり、ここでは、連想認証装置となる認証情報データベースサーバの構成について説明する。図14は、認証サーバBの認証情報データベースサーバB50の構成を示すブロック図である。図14に示すように、認証情報データベースサーバB50は、通信制御I/F部51と、記憶部52と、制御部53とを有する。
通信制御I/F部51は、認証情報キャッシュサーバB40との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部51は、認証情報キャッシュサーバB40から認証情報取得要求を受信し、認証情報や認証情報なしを応答する。
記憶部52は、制御部53による各種処理に必要なデータおよびプログラムを格納するとともに、特に、認証情報DB52aを有する。なお、各種のデータやパラメータについては、任意に変更することができる。
認証情報DB52aは、認証識別子と属性情報とを対応付けた認証情報を保持する大容量の記憶部であり、例えば、図15に示すように、「認証識別子、属性情報(パスワード)」として「CHANNEL−0021G001、P002」や「CHANNEL−0100G002、P010」などを記憶する。なお、図15は、認証情報DB52aに記憶される情報の例を示す図である。
制御部53は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、キャッシュ応答部53aを有し、これらによって種々の処理を実行する。
キャッシュ応答部53aは、認証情報キャッシュサーバB40から認証情報取得要求を受信した場合に、当該要求に含まれる「認証識別子」と「属性情報」とが対応付けられた認証情報が認証情報DB52aに記憶されているか否かを判定する。そして、キャッシュ応答部53aは、認証情報DB52aに記憶されている場合には、該当の認証情報を認証情報DB52aから取得し、認証情報キャッシュサーバB40に応答する。また、キャッシュ応答部53aは、認証情報DB52aに記憶されていない場合には、「認証情報なし」を認証情報キャッシュサーバB40に応答する。
[処理の流れ]
次に、図16〜図19を用いて、実施例1にかかる認証システムにおける各装置の処理の流れについて説明する。
(ユーザ認証終端装置の処理の流れ)
図16を用いて、ユーザ認証終端装置における処理の流れを説明する。図16は、ユーザ認証終端装置10における処理の流れを示すフローチャートである。
図16に示すように、ユーザ端末から認証要求を受信したユーザ認証終端装置10の順番決定部13aは、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する(ステップS100)。このとき、順番決定部13aは、認証要求を受信したポート番号を特定する。
続いて、装置種別判定部13bは、順番決定部13aによって決定された順番で認証サーバに認証依頼を送信する場合に、送信対象である認証サーバが、基本認証装置であるか、または、連想認証装置であるかを、順番決定部13aにより特定された認証サーバ名を用いて認証装置型情報DB12cから判定する(ステップS101)。
そして、基本認証依頼部13cは、装置種別判定部13bにより基本認証装置であると判定された認証サーバに対して(ステップS101肯定)、当該認証サーバが認証に用いる認証情報を特定する認証識別子を認証装置型情報DB12cおよびユーザ情報DB12aおよびユーザ端末から取得した情報から特定し、これらを含む認証依頼を作成して認証サーバに送信する(ステップS102とステップS103)。
その後、認証結果送信部13eは、基本認証依頼部13cによって認証依頼が送信された認証サーバから認証結果を受信する(ステップS104)。そして、認証結果送信部13eは、受信した認証結果が認証許可である場合に(ステップS105肯定)、全ての認証サーバから認証結果を受信したか否かを判定する(ステップS106)。
全ての認証サーバから受信した認証結果が全て認証許可である場合に(ステップS106肯定)、認証結果送信部13eは、ユーザ端末の認証許可を送信する(ステップS107)。
一方、ステップS105に戻り、受信した認証結果が認証許可でない場合に(ステップS105否定)、認証結果送信部13eは、ユーザ端末の認証拒否を送信する(ステップS108)。また、認証結果送信部13eは、全ての認証サーバから認証結果を受信していない場合(ステップS106否定)、順番決定部13aにより決定された次の順番の認証サーバを決定し(ステップS109)、ステップS101以降の処理を繰り返す。
一方、ステップS101に戻り、連想認証依頼部13dは、装置種別判定部13bにより連想認証装置であると判定された認証サーバに対して(ステップS101否定)、当該認証サーバが認証に用いる認証識別子の一部を示す第一の識別子と、認証識別子の一部を示す第二の識別子を特定する特定情報とを認証装置型情報DB12cおよびユーザ情報DB12aおよびユーザ端末から受信した情報から特定し、これら含む認証依頼を作成する(ステップS110)。その後は、ステップS103〜ステップS109の処理を実行する。
(認証情報キャッシュサーバA20の処理の流れ)
図17を用いて、認証情報キャッシュサーバA20における処理の流れを説明する。図17は、認証情報キャッシュサーバA20における処理の流れを示すフローチャートである。
図17に示すように、認証情報キャッシュサーバA20のキャッシュ判定部23aは、ユーザ認証終端装置10から認証依頼を受信すると(ステップS120)、認証装置型情報DB22bを参照して自装置が基本認証装置であると識別するとともに、受信した認証依頼から認証識別子を取得し、取得した認証識別子に対応付けてキャッシュ22aに記憶される属性情報を検索する(ステップS121)。
続いて、キャッシュ判定部23aは、認証識別子に対応付けられた認証情報がキャッシュ22aに存在する場合に(ステップS122肯定)、認証処理部23cは、キャッシュ判定部23aにより取得された属性情報を用いてユーザ認証を行う(ステップS123)。
そして、認証処理部23cは、キャッシュ22aから取得した「属性情報」と、認証依頼から取得された「属性情報」とが一致する場合に、認証結果を認証許可とし(ステップS124肯定)、認証許可をユーザ認証終端装置10に応答する(ステップS125)。また、認証処理部23cは、キャッシュ22aから取得した「属性情報」と、認証依頼から取得された「属性情報」とが一致しない場合に、認証結果を認証拒否とし(ステップS124否定)、認証拒否をユーザ認証終端装置10に応答する(ステップS126)。
一方、ステップS122に戻り、キャッシュ判定部23aは、認証識別子に対応付けられた属性情報がキャッシュ22aに存在しない場合に(ステップS122否定)、当該認証識別子に対応する属性情報の取得要求(検索要求)を認証情報データベースサーバA30に送信する(ステップS127)。
そして、キャッシュ判定部23aは、認証情報データベースサーバA30から属性情報を受信し(ステップS128)、検索結果有り(認証情報なしではない)の場合(ステップS129肯定)、当該認証識別子と属性情報とを対応づけた認証情報をキャッシュ22aに登録し(ステップS130)、ステップS123以降の処理を実行する。また、キャッシュ判定部23aは、検索結果なし(認証情報なし)の場合(ステップS129否定)、認証拒否をユーザ認証終端装置10に応答する(ステップS126)。
(認証情報キャッシュサーバA20における第二の識別子検索処理の流れ)
図18を用いて、認証情報キャッシュサーバA20におけるにおける第二の識別子検索処理流れを説明する。図18は、認証情報キャッシュサーバA20における第二の識別子検索処理の流れを示すフローチャートである。
図18に示すように、認証情報キャッシュサーバの識別子送信部23bは、特定情報に対応する第二の識別子(例えば、グループID)の検索要求を認証情報キャッシュサーバB40から受信し(ステップS140)、受信した特定情報を用いてキャッシュ22aを検索する(ステップS141)。
そして、識別子送信部23bは、受信した特定情報に対応する第二の識別子がキャッシュ22aに登録されている場合には(ステップS142肯定)、キャッシュ22aから第二の識別子を取得し検索結果として、依頼元である連想型の認証サーバである認証情報キャッシュサーバB40に送信する(ステップS143)。
一方、識別子送信部23bは、受信した特定情報に対応する第二の識別子がキャッシュ22aに登録されていない場合には(ステップS142否定)、認証情報データベースサーバA30に対して検索要求を送信する(ステップS144)。
その後、識別子送信部23bは、受信した特定情報に対応する第二の識別子を認証情報データベースサーバA30から受信し(ステップS145)、キャッシュ23aに登録するとともに(ステップS146)、依頼元である認証情報キャッシュサーバB40に送信する(ステップS143)。
(認証情報データベースサーバA30の処理の流れ)
図19を用いて、認証情報データベースサーバA30における処理の流れを説明する。図19は、認証情報データベースサーバA30における処理の流れを示すフローチャートである。
図19に示すように、認証情報データベースサーバA30のキャッシュ応答部33aは、認証情報キャッシュサーバA30から検索要求を受信し(ステップS150)、受信した検索要求に含まれる認証識別子等の識別子に対応する認証情報を検索する(ステップS151)。
そして、キャッシュ応答部33aは、認証識別子に対応する認証情報が認証情報DB32aに記憶されている場合に(ステップS152肯定)、認証情報DB32aから認証情報を取得して認証情報キャッシュサーバA20に応答する(ステップS153)。一方、キャッシュ応答部33aは、認証識別子に対応する認証情報が認証情報DB32aに記憶されていない場合に(ステップS152否定)、検索失敗を認証情報キャッシュサーバA30に応答する(ステップS154)。
(認証情報キャッシュサーバB40の処理の流れ)
図20を用いて、認証情報キャッシュサーバB40における処理の流れを説明する。図20は、認証情報キャッシュサーバB40における処理の流れを示すフローチャートである。
図20に示すように、認証情報キャッシュサーバB40の認証識別子要求部43aは、
ユーザ認証終端装置10から認証依頼を受信すると(ステップS160)、認証装置型情報DB42bを参照し、自装置が連想認証装置であることを識別するとともに自装置の連想先の認証サーバを特定し、自装置が認証に用いる認証識別子の一部を決定する第二の識別子を決定するための特定情報を認証依頼から取得する(ステップS161)。
認証識別子要求部43aは、特定した連想先の認証サーバである認証情報キャッシュサーバA20に対して、特定情報の検索依頼(問い合わせ)を送信する(ステップS162)。その後、キャッシュ判定部43bは、連想先の認証情報キャッシュサーバA20から問い合わせ結果として、第二の識別子を受信する(ステップS163)。続いて、キャッシュ判定部43bは、ユーザ認証終端装置10から受信した認証依頼から取得した第一の識別子と、認証情報キャッシュサーバA20から受信した第二の識別子とを用いて、新たな認証識別子を作成する(ステップS164)。
そうして、キャッシュ判定部43bは、生成した新たな認証識別子に対応付けてキャッシュに記憶される属性情報を検索する(ステップS165)。
続いて、認証処理部43cは、キャッシュ判定部43bによって、新たな認証識別子に対応付けられた認証情報がキャッシュ42aから取得された場合に(ステップS166肯定)、キャッシュ判定部43bにより取得された属性情報を用いてユーザ認証を行う(ステップS167)。
そして、認証処理部43cは、キャッシュ42aから取得した「属性情報」と、認証依頼から取得された「属性情報」とが一致する場合に、認証結果を認証許可とし(ステップS168肯定)、認証許可をユーザ認証終端装置10に応答する(ステップS169)。また、認証処理部43cは、キャッシュ42aから取得した「属性情報」と、認証依頼から取得された「属性情報」とが一致しない場合に、認証結果を認証拒否とし(ステップS168否定)、認証拒否をユーザ認証終端装置10に応答する(ステップS170)。
一方、ステップS166に戻り、キャッシュ判定部43bは、認証識別子に対応付けられた属性情報がキャッシュ42aに存在しない場合に(ステップS166否定)、当該新たな認証識別子に対応する属性情報の取得要求(検索要求)を認証情報データベースサーバB50に送信する(ステップS171)。
そして、キャッシュ判定部43bは、認証情報データベースサーバB50から属性情報を受信し(ステップS172)、検索結果有りの場合(ステップS173肯定)、当該新たな認証識別子と属性情報とを対応づけた認証情報をキャッシュ42aに登録し(ステップS174)、ステップS167以降の処理を実行する。また、キャッシュ判定部43bは、検索結果なし(認証情報なし)の場合(ステップS173否定)、認証拒否をユーザ認証終端装置10に応答する(ステップS170)。
(認証情報データベースサーバB50の処理の流れ)
図21を用いて、認証情報データベースサーバB50における処理の流れを説明する。図21は、認証情報データベースサーバB50における処理の流れを示すフローチャートである。
図21に示すように、認証情報データベースサーバB50のキャッシュ応答部53aは、認証情報キャッシュサーバB40から検索要求を受信し(ステップS180)、受信した検索要求に含まれる新たな認証識別子に対応する認証情報を検索する(ステップS181)。
そして、キャッシュ応答部53aは、新たな認証識別子に対応する認証情報が認証情報DB52aに記憶されている場合に(ステップS182肯定)、認証情報DB52aから認証情報を取得して認証情報キャッシュサーバB40に応答する(ステップS183)。一方、キャッシュ応答部53aは、新たな認証識別子に対応する認証情報が認証情報DB52aに記憶されていない場合に(ステップS182否定)、検索失敗を認証情報キャッシュサーバB40に応答する(ステップS184)。
[実施例1による効果]
このように、実施例1に係る認証システムでは、同じ認証識別子を検索キーとするテーブルを異なる認証サーバ間で重複して保持する必要がないので、ディスクアクセス頻度を抑えることができる。また、実施例1に係る認証システムでは、同じ認証識別子を検索キーとするテーブルを認証情報キャッシュサーバで保持することができるので、高速かつ高いスループットで認証処理を行うことができる。その結果、認証情報を格納する領域を削減するとともに、認証システム全体の性能を向上させることが可能である。
次に、図22を用いて、実施例1で説明した手法にRADIUS属性を適用した例を実施例2として説明する。図22は、実施例2に係る認証システムの全体構成を示す図である。
図22に示すように、実施例2に係る認証システムは、ユーザ端末と、ユーザ認証終端装置と、認証サーバ1と、認証サーバ2、認証サーバ3とがネットワークを介して接続されている。なお、各装置の台数はこれに限定されるものではない。
この例では、認証サーバ1および認証サーバ2は、基本認証装置であり、認証サーバ3は、認証サーバ2を連想先とする連想認証装置である。実施例1と同様、各認証サーバは、自装置が基本認証装置か連想認証装置なのかを記憶しており、連想認証装置の場合には、連想先がどの認証サーバなのかも記憶している。すなわち、認証サーバ2は、実施例1で説明した認証サーバAと同様の機能を有し、認証サーバ3は、認証サーバBと同様の機能を有する。
ユーザ認証終端装置10は、認証対象となるユーザに関連した情報を記憶するユーザ情報DB12a、認証の順番を記憶する認証順番DB12b、接続される認証サーバそれぞれが基本認証装置か連想認証装置かなどの情報を記憶する認証装置型情報DB12cを有している。
また、認証サーバ1は、「認証識別子、User−Password、Framed−IP−Address」を対応付けて、認証情報キャッシュサーバや認証情報データベースサーバに記憶している。認証識別子の送信には、User−Name属性を用いる。ここで例示した「認証識別子」は、認証サーバ1が認証に用いる検索キーであり、ユーザを一意に特定する情報である。「User−Password」は、認証識別子で特定されたユーザが正しいことを認証するための情報であり、「Framed−IP−Address」は、ユーザを特定する認証識別子に割り当てられた属性情報である。
また、認証サーバ2は、「認証識別子、User−Password、Service−Type、認証識別子グループ」を対応付けて、認証情報キャッシュサーバや認証情報データベースサーバに記憶している。認証識別子の送信には、User−Name属性を用いる。ここで例示した「認証識別子」は、認証サーバ2が認証に用いる検索キーであり、ユーザを一意に特定する情報である。「User−Password」は、認証識別子で特定されたユーザが正しいことを認証するための情報であり、「Service−Type」は、ユーザが利用するサービス種別を示す情報であり、「認証識別子グループ」は、認証サーバ2を連想先とする認証サーバ3の認証識別子の一部を示す情報である。
また、認証サーバ3は、「認証識別子、User−Password、Framed−Route」を対応付けて、認証情報キャッシュサーバや認証情報データベースサーバに記憶している。認証識別子の送信には、User−Name属性を用いる。ここで例示した「認証識別子」は、認証サーバ3が認証に用いる検索キーであり、ユーザを一意に特定する属性情報である。「User−Password」は、認証識別子で特定されたユーザが正しいことを認証するための情報であり、「Framed−Route」は、ユーザを特定する認証識別子に割り当てられた属性情報である。
このような状態において、ユーザ端末から認証要求を受け付けたユーザ認証終端装置10は、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する。ここでは、ユーザ認証終端装置10は、認証サーバ1、認証サーバ2、認証サーバ3の順番に認証すると決定したとする。
続いて、ユーザ認証終端装置10は、順番1と決定された認証サーバ1が、基本認証装置であるか、または、連想認証装置であるかを判定する。ここでは、認証サーバ1は基本認証装置あると判定されたとする。
その後、ユーザ認証終端装置は、基本認証装置である認証サーバ1が認証に用いる認証情報を特定するUser−Name属性値「U001」と、User−Password属性値「PW−U001」を含むAccess−Requestメッセージを認証サーバ1の認証情報キャッシュサーバに送信する(図22の(1)参照)。これらの情報は、認証要求を受信したポート番号などを検索キーとして、予め記憶するユーザ情報DBから取得する、または、ユーザ端末から受信した情報から取得することができる。
そして、認証サーバ1の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれるUser−Name属性値「U001」に対応する属性情報がキャッシュに記憶されているか否かを判定する(図22の(2)参照)。このとき、認証情報キャッシュサーバは、User−Name属性値「U001」に対応する属性情報がキャッシュ上に存在することから、User−Name属性値「U001」に対応する属性情報「User−Password=PW−U001」と「Framed−IP−Address=10.1.1.11」とをキャッシュから取得する。
そして、認証サーバ1の認証情報キャッシュサーバは、メッセージに含まれるUser−Password属性値「PW−U001」と、キャッシュから取得した属性情報「User−Password=PW−U001」とが一致するため、認証許可とともに、属性情報「Framed−IP−Address=10.1.1.11」をユーザ認証終端装置に送信する(図22の(3)参照)。
続いて、ユーザ認証終端装置10は、次の認証先である認証サーバ2に対して、基本認証装置である認証サーバ2が認証に用いる認証情報を特定するUser−Name属性値「U101」と、User−Password属性値「PW−U101」を含むAccess−Requestメッセージを送信する(図22の(4)参照)。
そして、認証サーバ2の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれるUser−Name属性値「U101」に対応する属性情報がキャッシュに記憶されているか否かを判定する(図22の(5)参照)。このとき、認証情報キャッシュサーバは、User−Name属性値「U101」に対応する属性情報がキャッシュ上に存在しないことから、「U101」に対応する属性情報を認証情報データベースサーバに問い合わせる。そして、認証情報データベースサーバは、メモリ上またはディスク上に「U101」に対応する属性情報を記憶していることから、「認証識別子=U101、User−Password=PW−U101、Service−Type=2、認証識別子グループ=G001」を認証情報キャッシュサーバに応答する。
すると、認証情報キャッシュサーバは、認証情報データベースサーバから受信した「User−Password=PW−U101」と、メッセージに含まれるUser−Password=PW−U101」とが一致することから、認証許可とともに属性情報「Service−Type=2」をユーザ認証終端装置に送信する(図22の(6)参照)。このとき、認証情報キャッシュサーバは、認証情報データベースサーバから受信した情報をキャッシュに登録する。
続いて、ユーザ認証終端装置10は、次の認証先であり、連想認証装置である認証サーバ3に対して、認証サーバ3の認証識別子の一部であるUser−Name属性値「U201」と、User−Password属性値「PW−U201G001」と、認証サーバ3の認証識別子の一部を特定するための特定情報を示すCalling−Station−Id属性値「U101」を含むAccess−Requestメッセージを認証サーバ3の認証情報キャッシュサーバに送信する(図22の(7)参照)。
そして、認証サーバ3の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、ユーザ認証終端装置10のメッセージに含まれるCalling−Station−Id属性値「U101」により特定される、認証識別子が所属するグループを表す認証識別子グループの問い合わせを認証サーバ2の認証情報キャッシュサーバに送信する(図22の(8)参照)。
すると、認証サーバ2の認証情報キャッシュサーバは、上述したように、「U101」に対応する情報をデータベースサーバから取得してキャッシュに記憶していることから、「U101」に対応付けられた認証グループ「G001」をキャッシュから取得して、認証サーバ3の認証情報キャッシュサーバに送信する(図22の(9)参照)。
認証サーバ3の認証情報キャッシュサーバは、ユーザ認証終端装置10のメッセージに含まれる「U201」と、認証サーバ2の認証情報キャッシュサーバから取得した「G001」とを結合した認証識別子「U201G001」を生成し、キャッシュ検索を行う(図22の(10)参照)。
そして、認証サーバ3の認証情報キャッシュサーバは、ユーザ認証終端装置10のメッセージに含まれるUser−Password属性値「PW−U201G001」と、キャッシュから検索した属性値「PW−U201G001」とが一致することから、認証許可とともに、属性情報「Framed−Route=10.1.1.1」をユーザ認証終端装置に送信する(図22の(11)参照)。
ユーザ認証終端装置は、認証依頼を送信した認証サーバ1〜3から受信した認証結果が全て認証許可である場合に、ユーザ端末の認証を許可する。
このように、実施例2によれば、RADIUS属性を適用した認証システムであっても認証情報を格納する領域を削減するとともに、認証システム全体の性能を向上させることが可能である。
次に、図23を用いて、認証システムにRADIUS属性を適用し、ユーザ認証終端装置が連想先認証装置から認証識別子(認証識別子グループ)を取得して、連想認証装置に送信する例を実施例3として説明する。図23は、実施例3に係る認証システムの全体構成を示す図である。
図23に示すように、実施例3に係る認証システムは、ユーザ端末と、ユーザ認証終端装置と、認証サーバ1と、認証サーバ2、認証サーバ3とがネットワークを介して接続されている。なお、各装置の台数はこれに限定されるものではない。また、各装置は、実施例2と同様の内容に加え、ユーザ認証終端装置10は、連想認証装置である認証サーバ3の連想先を記憶しており、連想認証装置である認証サーバ3は、実施例1および2のように連想先を記憶する必要はない。
このような状態において、ユーザ端末から認証要求を受け付けたユーザ認証終端装置10は、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する。ここでは、ユーザ認証終端装置は、認証サーバ1、認証サーバ2、認証サーバ3の順番に認証すると決定したとする。
続いて、ユーザ認証終端装置10は、順番1と決定された認証サーバ1が、基本認証装置であるか、または、連想認証装置であるかを判定する。ここでは、認証サーバ1は基本認証装置あると判定されたとする。
その後、ユーザ認証終端装置10は、基本認証装置である認証サーバ1が認証に用いる認証情報を特定するUser−Name属性値「U001」と、User−Password属性値「PW−U001」を含むAccess−Requestメッセージを認証サーバ1の認証情報キャッシュサーバに送信する(図23の(1)参照)。これらの情報は、認証要求を受信したポート番号などを検索キーとして、予め記憶するユーザ情報DB12aから取得する、または、ユーザ端末から受信した情報から取得することができる。
そして、認証サーバ1の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれるUser−Name属性値「U001」に対応する属性情報がキャッシュに記憶されているか否かを判定する(図23の(2)参照)。このとき、認証情報キャッシュサーバは、User−Name属性値「U001」に対応する属性情報がキャッシュ上に存在することから、User−Name属性値「U001」に対応する属性情報「User−Password=PW−U001」と「Framed−IP−Address=10.1.1.11」とをキャッシュから取得する。
そして、認証サーバ1の認証情報キャッシュサーバは、メッセージに含まれるUser−Password属性値「PW−U001」と、キャッシュから取得した属性情報「User−Password=PW−U001」とが一致するため、認証許可とともに、属性情報「Framed−IP−Address=10.1.1.11」をユーザ認証終端装置に送信する(図23の(3)参照)。
続いて、ユーザ認証終端装置10は、次の認証先である認証サーバ2に対して、基本認証装置である認証サーバ2が認証に用いる認証情報を特定するUser−Name属性値「U101」と、User−Password属性値「PW−U101」を含むAccess−Requestメッセージを認証サーバ1の認証情報キャッシュサーバに送信する(図23の(4)参照)。
そして、認証サーバ2の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれるUser−Name属性値「U101」に対応する属性情報がキャッシュに記憶されているか否かを判定する(図23の(5)参照)。このとき、認証情報キャッシュサーバは、User−Name属性値「U101」に対応する属性情報がキャッシュ上に存在しないことから、「U101」に対応する属性情報の問い合わせを認証情報データベースサーバに問い合わせる。そして、認証情報データベースサーバは、メモリ上またはディスク上に「U101」に対応する属性情報を記憶していることから、「認証識別子=U101、User−Password=PW−U101、Service−Type=2、認証識別子グループ=G001」を認証情報キャッシュサーバに応答する。
すると、認証情報キャッシュサーバは、認証情報データベースサーバから受信した「User−Password=PW−U101」と、メッセージに含まれるUser−Password=PW−U101」とが一致することから、認証許可とともに属性情報「Service−Type=2」に加え「認証識別子グループ=G001」をConfiguration−Token属性やReply−Message属性によって、ユーザ認証終端装置に送信する(図23の(6)参照)。このとき、認証情報キャッシュサーバは、認証情報データベースサーバから受信した情報をキャッシュに登録する。
続いて、ユーザ認証終端装置10は、次の認証先であり、連想認証装置である認証サーバ3に対して、認証サーバ3の認証識別子の一部であるUser−Name属性値「U201」と、User−Password属性値「PW−U201G001」と、認証サーバ3の認証識別子の一部である認証サーバ2のキャッシュサーバから受信した認証識別子グループ=G001をCalling−Station−Id属性値に入れたものを含むAccess−Requestメッセージを認証サーバ3の認証情報キャッシュサーバに送信する(図23の(7)参照)。
そして、認証サーバ3の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれる「U201」と「G001」とを結合した認証識別子「U201G001」を生成し、キャッシュ検索を行う(図23の(8)参照)。
そして、認証サーバ3の認証情報キャッシュサーバは、ユーザ認証終端装置のメッセージに含まれるUser−Password属性値「PW−U201G001」と、キャッシュから検索した属性値「PW−U201G001」とが一致することから、認証許可とともに、属性情報「Framed−Route=10.1.1.1」をユーザ認証終端装置10に送信する(図23の(9)参照)。
ユーザ認証終端装置10は、認証依頼を送信した認証サーバ1〜3から受信した認証結果が全て認証許可である場合に、ユーザ端末の認証を許可する。
実施例1では、連想認証装置が連想先となる他の認証装置から認証識別子(認証識別子グループの取得要求を送信して取得する認証識別子グループ)を取得する例について説明したが、これに限定されるものではない。例えば、連想先となる他の認証装置が、認証識別子を検索キーとして認証識別子グループを検索したら、取得要求を受信する前であっても、連想認証装置に対して認証識別子と認証識別子グループを送信してもよい。
そこで、実施例4では、図24〜図26を用いて、連想先となる認証装置が連想認証装置に対して、認証識別子と認証識別子グループを積極的に送信する例について説明する。
[全体構成]
まず、図24を用いて、実施例4に係る認証システムの全体構成について説明する。図24は、実施例4に係る認証システムの全体構成を示す図である。
図24に示すように、認証システムは、ユーザ端末と、ユーザ認証終端装置と、認証サーバjと、認証サーバkとがネットワークを介して接続されている。なお、認証サーバjは、基本認証装置であり、認証サーバkは、認証サーバjを連想先とする連想認証装置である。すなわち、認証サーバjは、実施例1で説明した認証サーバAに対応し、認証サーバkは、認証サーバBに対応する。
また、各装置の台数はこれに限定されるものではない。各装置は、実施例1や2と同様の内容に加え、連想認証装置である認証サーバの連想先となっている認証サーバは、その認証サーバを連想先としている認証サーバの情報を記憶しており、逆に、連想認証装置の認証サーバは、連想先を記憶する必要はない。
このような状態で、ユーザ端末から認証要求を受け付けたユーザ認証終端装置10は、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する。ここでは、ユーザ認証終端装置10は、認証サーバj、認証サーバkの順番に認証すると決定したとする。
続いて、ユーザ認証終端装置10は、基本認証装置であると判定した認証サーバjが認証に用いる認証情報を特定する「認証識別子j」と「属性情報j」を含む認証依頼を認証サーバjの認証情報キャッシュサーバjに送信する(図24の(1)参照)。この認証依頼を受信した認証情報キャッシュサーバjは、受信した「認証識別子j」と「属性情報j」の全てまたは一部を含む情報がキャッシュに記憶されているか、または、認証情報データベースサーバjに登録されているか否かに基づいて、ユーザ認証を実施する(図24の(2)参照)。
受信した「認証識別子j」と「属性情報jの全てまたは一部」を含む情報を記憶しており、認証許可と判定した認証情報キャッシュサーバjは、「認証識別子j」に対応付けられた「認証識別子グループ」をキャッシュまたは認証情報データベースサーバjから取得して、認証サーバjを連想先とする認証サーバkの認証情報キャッシュサーバkに送信する(図24の(3)参照)。ここで、認証情報キャッシュサーバjが、認証サーバjを連想先とする認証サーバkを特定する手法としては、「連想元装置、連想元装置のIPアドレス」の組を一つまたは複数記憶しておけばよい。具体的には、「連想元装置、連想元装置のIPアドレス」として「認証サーバk、192.168.1.1」などとキャッシュに記憶しておくことで、特定することができる。また、例えば、認証情報キャッシュサーバjは、認証サーバjが複数の連想認証装置の連想先となっている場合、特定した「認証識別子グループ」を、認証サーバjを連想先とする複数の連想認証装置それぞれに対して、送信することもできる。
また、認証許可と判定した認証情報キャッシュサーバjは、認証許可をユーザ認証終端装置10に応答する(図24の(4)参照)。このとき、認証情報キャッシュサーバkは、「認証識別子j、属性情報j、認証識別子グループ」とを対応付けて、専用のメモリやディスクなどに記憶する。
続いて、ユーザ認証終端装置10は、次の認証先である認証サーバkに対して、認証サーバkが認証に用いる「認証識別子G」の一部を示す第一の識別子「認証識別子k」と、認証識別子「認証識別子G」の一部を示す第二の識別子「認証識別子グループ」を特定する特定情報「認証識別子j」とを含む認証依頼を送信する(図24の(5)参照)。このとき、ユーザ認証終端装置10は、認証サーバkが認証に用いる認証識別子「認証識別子G」の属性情報Gもあわせて送信する。
そして、認証サーバkの認証情報キャッシュサーバkは、ユーザ認証終端装置10から受信した認証依頼に含まれる「認証識別子j」を検索キーとして、上記専用メモリを検索し、認証サーバjから取得した「認証識別子グループ」を特定する。そして、認証情報キャッシュサーバkは、取得した「認証識別子グループ」と、認証依頼に含まれる「認証識別子k」とを結合して、認証識別子「認証識別子G」を生成する。そして、認証情報キャッシュサーバkは、生成した「認証識別子G」と認証依頼に含まれる「属性情報G」を全部または一部含む情報がキャッシュに記憶されているか、または、認証情報データベースサーバkに登録されているか否かに基づいて、ユーザ認証を実施する(図24の(6)参照)。
その後、認証情報データベースサーバkは、「認証識別子G」と、「属性情報Gの全部または一部」を含む情報が認証サーバk内に記憶されている場合には、認証許可をユーザ認証終端装置10に応答し、「認証識別子G」と、「属性情報Gの全部または一部」を含む情報が認証サーバk内に記憶されていない場合には、認証拒否をユーザ認証終端装置10に応答する(図24の(7)参照)。
[処理の流れ]
次に、図25と図26を用いて、実施例4にかかる認証システムにおける各装置の処理の流れについて説明する。なお、ここでは、他の実施例とは異なる処理の流れとなる認証サーバについてのみ説明する。
(認証情報キャッシュサーバjの処理の流れ)
図25を用いて、基本認証装置である認証情報キャッシュサーバjにおける処理の流れを説明する。図25は、実施例4における基本認証装置である認証情報キャッシュサーバjにおける処理の流れを示すフローチャートである。
図25に示すように、ステップS200〜ステップS205までの処理は、実施例1で説明したステップS120〜ステップS125までの処理と同様である。具体的には、認証情報キャッシュサーバjは、ユーザ認証終端装置10から認証依頼を受信すると(ステップS200)、認証装置型情報DBを参照して自装置が基本認証装置であると識別するとともに、受信した認証依頼から認証識別子を取得し、取得した認証識別子に対応付けてキャッシュに記憶される属性情報を検索する(ステップS201)。
続いて、認証情報キャッシュサーバjは、認証識別子に対応付けられた認証情報がキャッシュに存在する場合に(ステップS202肯定)、キャッシュから取得された属性情報を用いてユーザ認証を行う(ステップS203)。
続いて、認証情報キャッシュサーバjは、キャッシュから取得した「属性情報」と、認証依頼から取得された「属性情報」とが一致する場合に、認証結果を認証許可とし(ステップS204肯定)、認証許可をユーザ認証終端装置10に応答する(ステップS2055)。
その後、実施例1とは異なり、認証情報キャッシュサーバjは、認証サーバの認証対象とする認証識別子が属する認証識別子グループが他の認証サーバの認証識別子の一部を決定する場合、その認証サーバを特定する(ステップS206)。すなわち、認証情報キャッシュサーバjは、自装置を連想先とする認証サーバを特定する。例えば、認証情報キャッシュサーバjが、自装置を連想先とする認証サーバを特定する手法としては、「連想元装置、連想元装置のIPアドレス」の組を一つまたは複数記憶しておけばよい。具体的には、「連想元装置、連想元装置のIPアドレス」として「認証サーバk、192.168.1.1」などとキャッシュに記憶しておくことで、特定することができる。
そして、認証情報キャッシュサーバjは、検索で使用した認証識別子およびキャッシュ上に記憶される認証識別子グループを、特定した認証サーバの認証情報キャッシュサーバに送信する(ステップS207)。すなわち、認証情報キャッシュサーバjは、キャッシュから取得した「属性情報」と、「属性情報」を特定するのに使用した、ユーザ認証終端装置10から受信した認証依頼に含まれる「認証識別子」と、「認証識別子」に対応付けて認証サーバ内(認証情報キャッシュサーバ、認証情報データベースサーバ)に登録されている「認証識別子グループ」とを対応付けて、自装置を連想先とする認証サーバに送信する。
一方、ステップS204に戻り、認証情報キャッシュサーバjは、キャッシュから取得した「属性情報」に、認証依頼から取得された「属性情報」の全部または一部が含まれない場合に、認証結果を認証拒否とし(ステップS204否定)、認証拒否をユーザ認証終端装置10に応答する(ステップS208)。
ステップS209〜ステップS212までの処理は、実施例1で説明したステップS127〜ステップS130までの処理と同様であるので、その説明は省略する。
(連想認証装置である認証情報キャッシュサーバkにおける処理の流れ)
次に、図26を用いて、連想認証装置である認証情報キャッシュサーバkにおける処理の流れを説明する。つまり、連想先から認証識別子グループを受信する認証サーバにおける処理の流れを説明する。図26は、実施例4において連想認証装置である認証情報キャッシュサーバkにおける処理の流れを示すフローチャートである。
図26に示すように、認証情報キャッシュサーバkは、認証に用いる「認証識別子G」の一部を示す第一の識別子「認証識別子k」と、認証識別子「認証識別子G」の一部を示す第二の識別子「認証識別子グループ」を特定する特定情報「認証識別子j」とを含む認証依頼をユーザ認証終端装置10から認証依頼を受信する(ステップS300)。
続いて、認証情報キャッシュサーバkは、認証依頼に含まれる特定情報「認証識別子j」に対応する認証情報を、連想先である認証サーバの認証情報キャッシュサーバから予め受信し、専用のキャッシュメモリなどに登録した情報から特定し、特定した認証情報を第二の識別子「認証識別子グループ」と決定する(ステップS301)。なお、登録する領域は、専用のメモリ領域であってもよく、自装置が管理する認証情報の領域であってもよい。
そして、認証情報キャッシュサーバkは、自装置内から特定した第二の識別子「認証識別子グループ」と、受信した認証依頼から取得した第一の識別子「認証識別子k」とから、自装置が認証に用いる認証識別子である「認証識別子G」を生成する(ステップS302)。
その後、認証情報キャッシュサーバkが新たな認証識別子「認証識別子G」を用いて実施するステップS303〜ステップS312までの処理は、実施例1で説明したステップS165〜ステップS174と同様であるので、ここでは詳細な説明は省略する。
次に、図27を用いて、実施例4で説明した手法にRADIUS属性を適用した例を実施例5として説明する。図27は、実施例5に係る認証システムの全体構成を示す図である。
図27に示すように、実施例5に係る認証システムは、ユーザ端末と、ユーザ認証終端装置と、認証サーバ1と、認証サーバ2、認証サーバ3とがネットワークを介して接続されている。すなわち、認証サーバ2は、実施例1で説明した認証サーバAに対応し、認証サーバ3は、認証サーバBに対応する。なお、各装置の台数はこれに限定されるものではない。また、各装置は、実施例2と同様の内容に加え、連想認証装置の認証サーバの連想先となっている認証サーバは、その認証サーバを連想先としている認証サーバを記憶しており、逆に、連想認証装置の認証サーバは、連想先を記憶する必要はない。
このような状態において、ユーザ端末から認証要求を受け付けたユーザ認証終端装置10は、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する。ここでは、ユーザ認証終端装置10は、認証サーバ1、認証サーバ2、認証サーバ3の順番に認証すると決定したとする。
続いて、ユーザ認証終端装置10は、順番1と決定された認証サーバ1が、基本認証装置であるか、または、連想認証装置であるかを判定する。ここでは、認証サーバ1は基本認証装置あると判定されたとする。
その後、ユーザ認証終端装置10は、基本認証装置である認証サーバ1が認証に用いる認証情報を特定するUser−Name属性値「U001」と、User−Password属性値「PW−U001」を含むAccess−Requestメッセージを認証サーバ1の認証情報キャッシュサーバに送信する(図27の(1)参照)。これらの情報は、認証要求を受信したポート番号などを検索キーとして、予め記憶するユーザ情報DBから取得する、または、ユーザ端末から受信した情報から取得することができる。
そして、認証サーバ1の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれるUser−Name属性値「U001」に対応する属性情報がキャッシュに記憶されているか否かを判定する(図27の(2)参照)。このとき、認証情報キャッシュサーバは、User−Name属性値「U001」に対応する属性情報がキャッシュ上に存在することから、User−Name属性値「U001」に対応する属性情報「User−Password=PW−U001」と「Framed−IP−Address=10.1.1.11」とをキャッシュから取得する。
そして、認証サーバ1の認証情報キャッシュサーバは、メッセージに含まれるUser−Password属性値「PW−U001」と、キャッシュから取得した属性情報「User−Password=PW−U001」とが一致するため、認証許可とともに、属性情報「Framed−IP−Address=10.1.1.11」をユーザ認証終端装置に送信する(図27の(3)参照)。
続いて、ユーザ認証終端装置10は、次の認証先である認証サーバ2に対して、基本認証装置である認証サーバ2が認証に用いる認証情報を特定するUser−Name属性値「U101」と、User−Password属性値「PW−U101」を含むAccess−Requestメッセージを送信する(図27の(4)参照)。
そして、認証サーバ2の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれるUser−Name属性値「U101」に対応する属性情報がキャッシュに記憶されているか否かを判定する(図27の(5)参照)。このとき、認証情報キャッシュサーバは、User−Name属性値「U101」に対応する属性情報がキャッシュ上に存在しないことから、「U101」に対応する属性情報を認証情報データベースサーバに問い合わせる。そして、認証情報データベースサーバは、メモリまたはディスク上に「U101」に対応する属性情報を記憶していることから、「認証識別子=U101、User−Password=PW−U101、Service−Type=2、認証識別子グループ=G001」を認証情報キャッシュサーバに応答する。
すると、認証情報キャッシュサーバは、認証情報データベースサーバから受信した「User−Password=PW−U101」と、メッセージに含まれるUser−Password=PW−U101」とが一致することから、認証許可とともに属性情報「Service−Type=2」をユーザ認証終端装置に送信する(図27の(6)参照)。このとき、認証情報キャッシュサーバは、認証情報データベースサーバから受信した情報をキャッシュに登録する。
さらに、認証情報キャッシュサーバは、認証情報データベースサーバから受信した「認証識別子=U101、User−Password=PW−U101、Service−Type=2、認証識別子グループ=G001」のうち、「認証識別子=U101、認証識別子グループ=G001」を、自装置を連想先とする認証サーバの認証情報キャッシュサーバに送信する(図27の(7)参照)。
「認証識別子=U101、認証識別子グループ=G001」を受信した認証情報キャッシュサーバは、「認証識別子=U101、認証識別子グループ=G001」を専用のキャッシュに記憶する(図27の(8)参照)。
続いて、ユーザ認証終端装置10は、次の認証先であり、連想認証装置である認証サーバ3に対して、認証サーバ3の認証識別子の一部であるUser−Name属性値「U201」と、User−Password属性値「PW−U201G001」と、認証サーバ3の認証識別子の一部を特定するための特定情報を示すCalling−Station−Id属性値「認証識別子=U101」を含むAccess−Requestメッセージを認証サーバ3の認証情報キャッシュサーバに送信する(図27の(9)参照)。
そして、認証サーバ3の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、ユーザ認証終端装置のメッセージに含まれるCalling−Station−Id属性値「U101」により特定される認証識別子グループを、上記専用のキャッシュから取得する(図27の(10)参照)。
すると、認証サーバ3の認証情報キャッシュサーバは、上述したように、「U101」に対応する認証識別子グループを専用のキャッシュに記憶していることから、「U101」に対応付けられた認証識別子グループ「G001」をキャッシュから取得し、ユーザ認証終端装置のメッセージに含まれる「U201」と、認証サーバ2の認証情報キャッシュサーバから取得した「G001」とを結合した認証識別子「U201G001」を生成し、キャッシュ検索を行う(図27の(11)参照)。
そして、認証サーバ3の認証情報キャッシュサーバは、ユーザ認証終端装置10のメッセージに含まれるUser−Password属性値「PW−U201G001」と、専用キャッシュから検索した属性値「PW−U201G001」とが一致することから、認証許可とともに、属性情報「Framed−Route=10.1.1.1」をユーザ認証終端装置10に送信する(図27の(12)参照)。
ユーザ認証終端装置10は、認証依頼を送信した認証サーバ1〜3から受信した認証結果が全て認証許可である場合に、ユーザ端末の認証を許可する。
実施例1では、連想認証装置が連想先となる認証装置に認証識別子をもとにした認証識別子グループの取得要求を送信して、当該認証装置から認証識別子に対応する認証識別子グループを取得する例について説明したが、これに限定されるものではない。例えば、ユーザ認証終端装置が、連想先となる認証装置から認証識別子に基づく認証識別子グループを受信し、連想認証装置が用いる認証識別子を作成した上で、認証依頼を連想認証装置に送信するようにしてもよい。
そこで、実施例6では、図28〜図30を用いて、ユーザ認証終端装置が、連想先となる連想認証装置が用いる認証識別子を作成した上で、認証依頼を連想認証装置に送信する例について説明する。
[全体構成]
まず、図28を用いて、実施例6に係る認証システムの全体構成について説明する。図28は、実施例6に係る認証システムの全体構成を示す図である。
図28に示すように、実施例6に係る認証システムは、ユーザ端末と、ユーザ認証終端装置と、認証サーバ1と、認証サーバ2、認証サーバ3とがネットワークを介して接続されている。なお、各装置の台数はこれに限定されるものではない。すなわち、認証サーバ2は、実施例1で説明した認証サーバAに対応し、認証サーバ3は、認証サーバBに対応する。また、各装置は、実施例2と同様の内容に加え、ユーザ認証終端装置10は、連想認証装置である認証サーバ3の連想先を記憶しており、連想認証装置である認証サーバ3は、実施例1および2のように連想先を記憶する必要はない。
このような状態において、ユーザ端末から認証要求を受け付けたユーザ認証終端装置10は、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する。ここでは、ユーザ認証終端装置10は、認証サーバ1、認証サーバ2、認証サーバ3の順番に認証すると決定したとする。
続いて、ユーザ認証終端装置10は、順番1と決定された認証サーバ1が、基本認証装置であるか、または、連想認証装置であるかを判定する。ここでは、認証サーバ1は基本認証装置であると判定されたとする。
その後、ユーザ認証終端装置10は、基本認証装置である認証サーバ1が認証に用いる認証情報を特定するUser−Name属性値「U001」と、User−Password属性値「PW−U001」を含むAccess−Requestメッセージを認証サーバ1の認証情報キャッシュサーバに送信する(図28の(1)参照)。これらの情報は、認証要求を受信したポート番号などを検索キーとして、予め記憶するユーザ情報DBから取得、または、ユーザ端末から受信した情報から取得することができる。
そして、認証サーバ1の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれるUser−Name属性値「U001」に対応する属性情報がキャッシュに記憶されているか否かを判定する(図28の(2)参照)。このとき、認証情報キャッシュサーバは、User−Name属性値「U001」に対応する属性情報がキャッシュ上に存在することから、User−Name属性値「U001」に対応する属性情報「User−Password=PW−U001」と「Framed−IP−Address=10.1.1.11」とをキャッシュから取得する。
そして、認証サーバ1の認証情報キャッシュサーバは、メッセージに含まれるUser−Password属性値「PW−U001」と、キャッシュから取得した属性情報「User−Password=PW−U001」とが一致するため、認証許可とともに、属性情報「Framed−IP−Address=10.1.1.11」をユーザ認証終端装置に送信する(図28の(3)参照)。
続いて、ユーザ認証終端装置10は、次の認証先である認証サーバ2に対して、基本認証装置である認証サーバ2が認証に用いる認証情報を特定するUser−Name属性値「U101」と、User−Password属性値「PW−U101」を含むAccess−Requestメッセージを認証サーバ2の認証情報キャッシュサーバに送信する(図28の(4)参照)。
そして、認証サーバ2の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれるUser−Name属性値「U101」に対応する属性情報がキャッシュに記憶されているか否かを判定する(図28の(5)参照)。このとき、認証情報キャッシュサーバは、User−Name属性値「U101」に対応する属性情報がキャッシュ上に存在しないことから、「U101」に対応する属性情報の問い合わせを認証情報データベースサーバに問い合わせる。そして、認証情報データベースサーバは、メモリまたはディスク上に「U101」に対応する属性情報を記憶していることから、「認証識別子=U101、User−Password=PW−U101、Service−Type=2、認証識別子グループ=G001」を認証情報キャッシュサーバに応答する。
すると、認証情報キャッシュサーバ2は、認証情報データベースサーバから受信した「User−Password=PW−U101」と、メッセージに含まれるUser−Password=PW−U101」とが一致することから、認証許可とともに属性情報「Service−Type=2」と「認証識別子グループ=G001」をユーザ認証終端装置に送信する(図28の(6)参照)。例えば、認証情報キャッシュサーバ2は、Configuration−Token属性やReply−Message属性によって送信する。このとき、認証情報キャッシュサーバは、認証情報データベースサーバから受信した情報をキャッシュに登録する。
続いて、ユーザ認証終端装置10は、次の認証先である認証サーバ3が連想認証装置であり、連想先が認証サーバ2であることから、認証サーバ2の認証情報キャッシュサーバ2から受信した「認証識別子グループ=G001」と、認証サーバ3の認証識別子の一部である「U201」と結合した認証識別子「U201G001」を生成する。そして、ユーザ認証終端装置10は、生成した認証識別子「U201G001」をUser−Name属性値に含めたものと、User−Password属性値「PW−U201G001」とを含むAccess−Requestメッセージを認証サーバ3の認証情報キャッシュサーバに送信する(図28の(7)参照)。
そして、認証サーバ3の認証情報キャッシュサーバは、Access−Requestメッセージを受信すると、メッセージに含まれる認証識別子「U201G001」にキャッシュ検索を行う(図28の(8)参照)。
そして、認証サーバ3の認証情報キャッシュサーバは、ユーザ認証終端装置10のメッセージに含まれるUser−Password属性値「PW−U201G001」と、キャッシュから検索した属性値「PW−U201G001」とが一致することから、認証許可とともに、属性情報「Framed−Route=10.1.1.1」をユーザ認証終端装置に送信する(図28の(9)参照)。
ユーザ認証終端装置10は、認証依頼を送信した認証サーバ1〜3から受信した認証結果が全て認証許可である場合に、ユーザ端末の認証を許可する。
[処理の流れ]
次に、図29と図30を用いて、実施例6にかかる認証システムにおける各装置の処理の流れについて説明する。
(ユーザ認証終端装置の処理の流れ)
図29を用いて、ユーザ認証終端装置における処理の流れを説明する。図29は、実施例6に係るユーザ認証終端装置における処理の流れを示すフローチャートである。
図29に示すように、ユーザ端末から認証要求を受信したユーザ認証終端装置10は、所定の条件に従って、ユーザ端末の認証依頼を送信する順番を決定する(ステップS400)。このとき、ユーザ認証終端装置10は、認証要求を受信したポート番号を検索キーとしてユーザ情報DBを検索すること、または、ユーザ端末から受信した情報から、認証要求を送信したユーザのユーザ情報を特定する。
続いて、ユーザ認証終端装置10は、決定された順番で認証サーバに認証依頼を送信する場合に、送信対象である認証サーバが、基本認証装置であるか、または、連想認証装置であるかを認証装置型情報DBから判定する(ステップS401)。
そして、ユーザ認証終端装置10は、基本認証装置であると判定された認証サーバに対して(ステップS401肯定)、当該認証サーバが認証に用いる認証情報を特定する認証識別子を認証装置型情報DBおよびユーザ情報DBおよびユーザ端末から受信した情報から特定し、これらを含む認証依頼を作成して送信する(ステップS402とステップS403)。
その後、ユーザ認証終端装置10は、認証依頼が送信された認証サーバから認証結果を受信する(ステップS404)。ユーザ認証終端装置10は、受信した認証結果が認証許可である場合に(ステップS405肯定)、全ての認証サーバから認証結果を受信したか否かを判定する(ステップS406)。
そして、ユーザ認証終端装置10は、全ての認証サーバから受信した認証結果が全て認証許可である場合に(ステップS406肯定)、ユーザ端末の認証許可する送信する(ステップS407)。
一方、ユーザ認証終端装置10は、受信した認証結果が認証許可でない場合に(ステップS405否定)、ユーザ端末の認証拒否する送信する(ステップS408)。また、ユーザ認証終端装置10は、全ての認証サーバから認証結果を受信していない場合(ステップS406否定)、決定された次の順番の認証サーバを決定し(ステップS409)、ステップS401以降の処理を繰り返す。
一方、ステップS401に戻り、ユーザ認証終端装置10は、連想認証装置であると判定された認証サーバに対して(ステップS401否定)、認証装置型情報DBから当該認証サーバの連想先を特定する(ステップS410)。
その後、ユーザ認証終端装置10は、当該認証サーバが認証に用いる認証識別子の一部を示す第一の識別子を認証装置型情報DBおよびユーザ情報DBおよびユーザ端末から受信した情報から特定するとともに、認証識別子の一部を示す第二の識別子を連想先の認証サーバから予め受信した情報から特定する(ステップS411)。そして、ユーザ認証終端装置10は、特定した第一の識別子と第二の識別子とを結合して認証識別子を生成し、これを含む認証依頼を作成する(ステップS412)。その後は、ステップS403〜ステップS409の処理を実行する。
(認証サーバ2の認証情報キャッシュサーバにおける処理の流れ)
図30を用いて、認証サーバ2の認証情報キャッシュサーバにおける処理の流れを説明する。図30は、実施例6に係る認証サーバ2の認証情報キャッシュサーバにおける処理の流れを示すフローチャートである。
図30に示すように、ユーザ認証終端装置10から認証依頼を受信した認証サーバ2の認証情報キャッシュサーバは、受信した認証依頼から認証識別子を取得し、取得した認証識別子に対応付けてキャッシュに記憶される属性情報を検索する(ステップS450とステップS451)。
続いて、認証サーバ2の認証情報キャッシュサーバは、認証識別子に対応付けられた認証情報がキャッシュに存在する場合に(ステップS452肯定)、キャッシュから取得された認証情報(属性情報)を用いてユーザ認証を行う(ステップS453)。
そして、認証サーバ2の認証情報キャッシュサーバは、キャッシュから取得した「属性情報」に、認証依頼から取得された「属性情報」の全部または一部が含まれている場合に、認証結果を認証許可とし(ステップS454肯定)、認証許可をユーザ認証終端装置10に応答する(ステップS455)。このとき、認証情報キャッシュサーバは、受信した認証依頼に含まれる認証識別子に対応付けてキャッシュに「認証識別子グループ」が記憶されている場合には、「認証識別子、認証識別子グループ」を対応付けて送信する。
また、認証サーバ2の認証情報キャッシュサーバは、キャッシュから取得した「属性情報」に、認証依頼から取得された「属性情報」の全部または一部が含まれていない場合に、認証結果を認証拒否とし(ステップS454否定)、認証拒否をユーザ認証終端装置10に応答する(ステップS456)。
一方、ステップS452に戻り、認証サーバ2の認証情報キャッシュサーバは、認証識別子に対応付けられた認証情報がキャッシュに存在しない場合に(ステップS452否定)、当該認証識別子に対応する認証情報の取得要求(検索要求)を認証サーバ2の認証情報データベースサーバに送信する(ステップS457)。
そして、認証サーバ2の認証情報キャッシュサーバは、認証情報データベースサーバから認証情報を受信し(ステップS458)、検索結果有り(認証情報なしではない)の場合(ステップS459肯定)、当該認証情報をキャッシュに登録し(ステップS460)、ステップS453以降の処理を実行する。また、認証情報キャッシュサーバは、検索結果なし(認証情報なし)の場合(ステップS459否定)、認証拒否をユーザ認証終端装置10に応答する(ステップS456)。
また、連想認証装置である認証サーバ3の認証情報キャッシュサーバは、実施例1〜6で説明した新たな認証識別子が含まれる認証依頼を受信するので、認証依頼を受信した場合には、認証依頼から新たな認証識別子を取得し、新たな認証識別子を用いて、実施例1等と同様にステップS165〜ステップS174の処理を実施する。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
(認証サーバの構成)
例えば、認証サーバは、認証情報キャッシュサーバの機能と認証情報データベースサーバの機能とを有する1台の筐体で実現されてもよい。また、認証情報キャッシュサーバと、認証情報データベースサーバとを別の筐体で実現してもよい。さらに、認証サーバは、1台以上の認証情報キャッシュサーバや認証情報データベースサーバで構成されていてもよい。また、複数の認証識別子種別を有する1台の認証サーバで構成してもよい。
(認証識別子グループの検索手法)
例えば、認証情報キャッシュサーバは、認証識別子が属する認証識別子グループのみを検索してもよく、認証識別子グループに加えて、認証識別子に対応する属性情報全てまたは一部を検索するようにしてもよい。また、認証情報キャッシュサーバは、認証情報データベースサーバに登録されている認証識別子および属性情報を、キャッシュに登録している例を説明したが、問い合わせのあった識別子が認証情報データベースサーバに登録されていないことを登録できるようにしてもよい。この場合、認証情報キャッシュサーバのキャッシュに、認証情報データベースサーバ上に登録されている情報であるか否かを示すフラグを用意する。そして、認証情報キャッシュサーバは、キャッシュを検索する場合に、このフラグを確認することで、認証情報データベースサーバ上での存在有無に関わらず、認証情報データベースサーバへのアクセス頻度を下げるようにしてもよい。
(認証識別子グループの送信手法)
例えば、上述した実施例では、ユーザ認証終端装置と認証サーバとの間で、認証識別子や認証識別子グループをやり取りする例について説明した。このように、ユーザ認証終端装置と認証サーバとの間で、認証識別子や認証識別子グループをやり取りする場合、ユーザ認証終端装置から認証サーバに送信した情報の一部、送信した情報全部、または、これらの組み合わせたものを認証識別子として用いることもできる。さらに、ユーザ認証終端装置から認証サーバに送信される情報から変換テーブルや関数を用いて変換した情報を組み合わせて、認証識別子として用いることもできる。この場合、変換された情報と、ユーザ認証終端装置から認証サーバに送信される情報とを組み合わせてもよい。
(RADIUS属性値)
例えば、上記した実施例では、RADIUS属性値としてUser−Nameの属性値を用いたが、これに限定されるものではない。例えば、NAS−Port−Id属性値、NAS−Port属性値、NAS−IP−Address属性値をそれぞれ用いてもよいし、これらを組み合わせて用いることもできる。また、これらに限定されず、任意のRADIUS属性値を用いることもできる。さらに、RADIUS属性値をそのまま用いてもよいし、関数などによって変換したものを用いてもよい。
また、例えば、上記した実施例では、ユーザ認証終端装置から受信したUser−Password属性値の値を用いて、認証許可か不許可かを判定したが、これに限定されるものではない。例えば、特定のRADIUS属性がAccess−Requestメッセージに含まれていること、含まれていないことを認証判断基準としてもよく、特定のRADIUS値が存在する、存在しない、あるいは、ある一定範囲の値であることを認証判断基準としてもよい。なお、認証識別子は、ユーザに対して割り当てられていてもよく、ユーザグループに対して割り当てられていてもよい。
(認証順番)
例えば、上述した実施例では、予め認証の順番が決定されている場合について説明したが、これに限定されるものではない。例えば、認証を行う順序は、一方のサーバによって行われるテーブルの検索によって取得した情報、または、取得した情報を登録したキャッシュが、他方のサーバが利用できるように決めることもできる。具体的には、連想認証装置よりも基本認証装置が先に認証するように、順番を決定することもできる。また、認証情報キャッシュサーバが、認証情報データベースサーバに認証情報を登録する契機が、ユーザ認証終端装置からの認証要求のみの場合、基本認証装置を連想認証装置に対して先行して行い、契機がユーザ認証終端装置からの認証要求と連想認証装置からの認証識別子グループの検索要求双方の場合、任意の順序で認証を実施可能である。
(認証判定手法)
例えば、上述した実施例では、「認証識別子」に対応する「属性情報」が一致するか否かによって、認証許可または認証拒否を判定したが、これに限定されるものではない。例えば、「認証識別子」に複数の「属性情報」が対応づけられている場合には、すべての「属性情報」が一致する場合にのみ認証許可と判断することもでき、ある一定範囲の「属性情報」が一致する場合も認証許可と判断することもできる。また、「認証識別子」に複数の「属性情報」から比較対象となる「属性情報」を特定し、上述した判定を行うこともできる。
(特定情報)
例えば、上述した実施例では、認証情報キャッシュサーバB40は、ユーザ認証終端装置から、「認証識別子」と「属性情報」と「特定情報」とが含まれる認証依頼を受信する例について説明したが、これに限定されるものではない。例を挙げると、認証情報キャッシュサーバB40は、「特定情報」を「属性情報」の一部として受信することもできる。すなわち、本願が開示する認証システムでは、「特定情報」や「属性情報」を厳密に区別する必要はない。したがって、ユーザ認証終端装置は、「特定情報」を「属性情報」に含めた認証依頼を認証情報キャッシュサーバに送信することができ、認証情報キャッシュサーバにおいても、受信した認証依頼から「属性情報」を取得し、「属性情報」から「特定情報」を取得することもできる。また、本願が開示する認証システムでは、「属性情報」の一部を「特定情報」として用いることもできる。
さらには、認証識別子(上述した実施例では認証情報キャッシュサーバA20が使用する認証識別子=ユーザID)と、特定情報(=ユーザID)とが一致する例を説明したが、これに限定されるものではなく、認証識別子と特定情報とが全く異なる情報であってもよい。その場合、例えば、認証情報キャッシュサーバA20のような基本認証装置が「第二の識別子(認証識別子グループ)」と「特定情報」とを対応付けたテーブルを保持しておくことで、上述した実施例と同じ処理が実施できる。
(連想認証装置)
例えば、上述した実施例では、連想認証装置は、連想先の基本認証装置から「第二の識別子(認証識別子グループ)」を取得する場合について説明したが、これに限定されるものではない。例を挙げると、連想認証装置は、他の連想認証装置の連想先として機能することもできる。その場合、連想認証装置は、認証情報キャッシュサーバA20のように、「特定情報」に対応付けた「第二の識別子(認証識別子グループ)」を保持すればよい。
(システム構成等)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理(例えば、音声認識処理など)の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、例えば、認証システムは、ユーザ認証終端装置と1以上の基本認証装置と1以上の連想認証装置で構成されるシステムであってもよく、または、1以上の基本認証装置と1以上の連想認証装置で構成されるシステムであってもよい。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、上述した認証装置において、自装置が基本認証装置なのか連想認証装置なのかに関する情報である認証型は、初期設定時、又は起動時等に確定している情報であってもよく、認証依頼を受信するたびに逐次識別するという手順を省略してもよい。
(プログラム)
なお、本実施例で説明した認証方法及び認証装置は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。