(57)【要約】認証サーバがユーザに割当てたアドレスをユーザ端末から送信するパケットのＩＰアドレスとし、そのＩＰアドレスが盗まれても悪用されない。認証サーバ１００はユーザ端末から送信されたユーザ認証情報に基いてユーザの認証を行い、認証が成功すると、ユーザ端末にアドレスを割当て、そのアドレスを含むチケットを発行してユーザ端末に返送する。ユーザ端末はチケットに含まれるアドレスを送信元アドレスに設定し、アプリケーションサーバ３００にチケットを送信してセッションの確立を要求する。サーバ３００はチケットが正当なものと検証した後、チケットを記憶し、ユーザ端末とのセッションを確立する。ユーザ端末は、このセッションを用いて送信元アドレスを含むサービスを要求するサーバ３００に送信する。サーバ３００は、送信元アドレスと記憶したチケットに含まれるアドレスとが一致すれば、ユーザにサービスを提供する。
2005011192.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを認証する認証サーバと、ユーザ認証情報を送信するユーザ端末と、ユーザ端末を介してユーザにサービスを提供するアプリケーションサーバとがネットワークを介して通信可能に接続された認証システムにおいて、
認証サーバは、
ユーザ端末からの認証要求として送信されたユーザ認証情報に基づいて、ユーザの認証を行う認証手段と、
ユーザの認証が成功すると、上記ユーザ端末にアドレスを割当てるアドレス割当手段と、
アドレス割当手段によって割当てられたアドレスを含むチケットを発行するチケット発行手段と、
チケット発行手段によって発行されたチケットを上記ユーザ端末に送信するチケット送信手段を備え、
ユーザ端末は、
ユーザ認証情報を認証サーバへ送信して認証要求するユーザ認証情報送信手段と、
認証サーバから送信されたチケットを受信するチケット受信手段と、
チケットに含まれるアドレスを当該ユーザ端末から送信するパケットの送信元アドレスとして設定する手段と、
チケットを含むパケットをアプリケーションサーバに送信し、セッションを確立する手段と、
サービスの要求を表すパケット（以下サービス要求パケットという）をアプリケーションサーバに送信するサービス要求手段を備え、
アプリケーションサーバは、
ユーザ端末から送信されたチケットを記憶するチケット記憶手段と、
チケット記憶手段が記憶したチケットに含まれるアドレスと、上記セッションを介してユーザ端末から送信されたサービスの要求を表すパケットの送信元アドレスとが一致するか否かを判断するアドレス判断手段と、
アドレス判断手段によってアドレスが一致すると判断されると、ユーザにサービスを提供するパケットを上記ユーザ端末へ送信するサービス提供手段を備えたことを特徴とするアドレスに基づく認証システム。
【請求項２】
請求の範囲１の認証システムにおいて、
上記ユーザ端末はそのユーザ端末の秘密鍵と関連した鍵情報をもち、
上記ユーザ認証情報送信手段は上記鍵情報をもユーザ認証情報と共に送信する手段であり、
上記チケット発行手段は、ユーザ端末から送信された鍵情報も含むチケットを発行する手段であり、
ユーザ端末は、
当該ユーザ端末の秘密鍵とアプリケーションサーバの公開鍵からアプリケーションサーバと共有するセッション秘密鍵を計算するセッション鍵生成手段と、
当該ユーザ端末から送信するパケットに対し、改ざんがないことをセッション秘密鍵で保証する処理をするパケット暗号処理手段を備え、
アプリケーションサーバは、
アプリケーションサーバの秘密鍵とユーザ端末の公開鍵とからユーザ端末と共有するセッション秘密鍵を計算するセッション鍵生成手段と、
受信したユーザ端末からのパケットに対し、上記セッション秘密鍵を用いてそのパケットが改ざんされているか否かを確認するパケット検証手段と、
パケットが改ざんされていないことが検証されたパケット内チケットに含まれる鍵情報がユーザ端末の秘密鍵と関連する情報であるか否かを検証し、関連する情報でなければ上記チケットのチケット記憶手段への記憶を阻止するチケット検証手段とを備える。
【請求項３】
請求の範囲２の認証システムにおいて、
上記ユーザ端末からのチケットの送信はパケットにより行われ、
アプリケーションサーバは、
ユーザ端末から送信されたチケット中のアドレスと、そのチケットを含むパケットの送信元アドレスとを照合し、一致しなければ上記チケットの記憶を阻止するアドレス照合手段を備える。
【請求項４】
請求の範囲２の認証システムにおいて、
認証サーバは上記ユーザの認証に成功するとその認証要求に対し上記認証したユーザと対応するユーザ識別子を割当てるユーザ識別子割当手段を備え、
上記チケット発行手段は上記チケットを、上記ユーザ識別子も含めて発行する手段である。
【請求項５】
請求の範囲１〜４のいずれかの認証システムにおいて、
認証サーバのチケット発行手段は、認証サーバとアプリケーションサーバとの間で事前に共有する共有秘密鍵を用いて仮のチケットについての認証情報を生成する認証情報生成手段を含み、上記認証情報を含むチケットを発行する手段であり、
アプリケーションサーバのチケット検証手段は、
認証サーバとアプリケーションサーバとの間で事前に共有する共有秘密鍵を用いてチケットに含まれる認証情報に対し、改ざんの有無を検証し、改ざんされていれば上記チケットのチケット記憶手段へ記憶を阻止する認証情報検証部を備える。
【請求項６】
請求の範囲１又は４の認証システムにおいて、
上記ユーザ端末からのチケットの送信はパケットにより行われ、
アプリケーションサーバは、
ユーザ端末から送信されたチケット中のアドレスと、そのチケットを含むパケットの送信元アドレスとを照合し、一致しなければ上記チケットの記憶を阻止するアドレス照合手段を備える。
【請求項７】
ユーザ端末を介してその利用ユーザに対する認証が認証サーバにより行われ、その認証に基づき、アプリケーションサーバにサービスの提供要求をする認証システムにおける認証サーバであって、
ユーザ端末から送信されたユーザ認証情報を含む認証要求を受信するユーザ認証情報受信手段と、
上記受信された認証要求のユーザ認証情報が入力され、そのユーザ認証情報に基づきそのユーザを認証し、その認証に成功するとこれを示す信号を出力する認証手段と、
上記ユーザの認証に成功したことを示す信号が入力されると上記ユーザ端末にアドレスを割当てるアドレス割当手段と、
上記割当てられたアドレスが入力され、そのアドレスを含むチケットを発行するチケット発行手段と、
上記チケットが入力され、そのチケットを上記ユーザ端末に送信するチケット送信手段と
を備える認証サーバ。
【請求項８】
請求の範囲７の認証サーバにおいて、
認証サーバとアプリケーションサーバとの間に事前に共有する共有秘密鍵を用いて少なくとも上記割当てられたアドレスを含む情報について認証情報を生成する認証情報生成手段を備え、
上記チケット発行手段は上記チケットを上記認証情報も含めて発行する手段である。
【請求項９】
請求の範囲７の認証サーバにおいて、
上記ユーザの認証に成功したことを示す信号が入力されると、上記認証したユーザと対応するユーザ識別子を上記認証要求に割当てるユーザ識別子割当手段を備え、
上記チケット発行手段は上記チケットを、上記ユーザ識別子も含めて発行する手段である。
【請求項１０】
請求の範囲９の認証サーバにおいて、
上記ユーザ識別子割当手段は上記ユーザを直接識別する情報が入力され、当該認証サーバの識別子生成用秘密鍵により上記ユーザを直接識別する情報を暗号化し、その暗号化情報を上記ユーザ識別子とする手段である。
【請求項１１】
請求の範囲７〜１０のいずれかの認証サーバにおいて、
上記ユーザ端末の秘密鍵と関連した鍵情報が上記認証要求に含まれ、
上記チケット発行手段は、上記チケットを上記鍵情報も含めて発行する手段である。
【請求項１２】
ユーザ端末を介してその利用ユーザに対する認証が認証サーバにより行われ、その認証に基づき、アプリケーションサーバにサービスの提供要求をする認証システムにおけるユーザ端末であって、
入力されたユーザ認証情報を認証サーバへ送信して認証要求をするユーザ認証情報送信手段と、
認証サーバから送信されたチケットを受信するチケット受信手段と、
受信したチケットが入力され、チケットに含まれるアドレスを当該ユーザ端末の送信元アドレスとして設定する送信元アドレス設定手段と、
上記チケットが入力され、そのチケットを含むパケットをアプリケーションサーバへ送信して、そのアプリケーションサーバとの間にセッションを確立するセッション確立手段と
上記確立されたセッションを通して、サービスの要求を表わすパケットを上記アプリケーションサーバへ送信するサービス要求手段と
を備えるユーザ端末。
【請求項１３】
請求の範囲１２のユーザ端末において、
当該ユーザ端末の公開鍵が入力され、その公開鍵と関連した鍵情報を生成する鍵情報生成手段と、
当該ユーザ端末の秘密鍵と上記アプリケーションサーバの公開鍵とが入力され、これらから上記アプリケーションサーバと共有するセッション秘密鍵を計算するセッション鍵生成手段と、
当該ユーザ端末から送信するパケット及び上記セッション秘密鍵が入力され、その送信するパケットに対し、改ざんがないことを上記セッション秘密鍵で保証する処理をするパケット暗号処理手段とを備え、
上記ユーザ認証情報送信手段は上記鍵情報も入力され、その鍵情報を上記ユーザ認証情報と共に送信して上記認証要求をする手段である。
【請求項１４】
請求の範囲１２のユーザ端末において、
上記アプリケーションサーバと共有の認証用共有秘密鍵と上記セッション確立ごとに変化するセッション依存情報とが入力され、上記認証用共有秘密鍵により上記セッション依存情報を処理して鍵情報を生成する鍵情報生成手段を備え、
上記ユーザ認証情報送信手段は上記鍵情報も入力され、その鍵情報を上記ユーザ認証情報と共に送信して上記認証要求をする手段である。
【請求項１５】
ユーザ端末を介してその利用ユーザに対する認証が認証サーバにより行われ、その認証に基づき、アプリケーションサーバにサービスの提供要求をする認証システムにおけるアプリケーションサーバであって、
ユーザ端末とセッションを確立するセッション確立手段と、
ユーザ端末から送信されたチケットが記憶されるチケット記憶手段と、
上記確立されたセッションを通じてユーザ端末から送信され、受信したサービス要求パケットの送信元アドレスが入力され、その送信元アドレスとチケット記憶手段に記憶されているチケットに含まれるアドレスとが一致するか否かを判断するアドレス判断手段と、
アドレス判断手段からの一致と判断された出力が入力され、ユーザにサービスを提供するためのパケットを上記ユーザ端末へ送信するサービス提供手段と
を備えるアプリケーションサーバ。
【請求項１６】
請求の範囲１５のアプリケーションサーバにおいて、
上記受信したパケット中のチケットが入力され、そのチケットの正当性を検証し、正当性がないと検証した出力により上記チケットの記憶を阻止するチケット検証手段を備える。
【請求項１７】
請求の範囲１６のアプリケーションサーバにおいて、
アプリケーションサーバの秘密鍵とユーザ端末の公開鍵とからユーザ端末と共有するセッション秘密鍵を計算するセッション鍵生成手段と、
受信したユーザ端末からのパケットに対し、上記セッション秘密鍵を用いてそのパケットが改ざんされているか否かを検証し、改ざんされたと検証した出力により上記チケットの記憶を阻止するパケット検証手段を備える。
【請求項１８】
請求の範囲１７のアプリケーションサーバにおいて、
上記チケット検証手段はパケット検証手段よりの改ざんされていないと検証したパケットが入力され、そのパケット内のチケットに含まれる、上記ユーザ端末の公開鍵と関連する鍵情報と、上記セッション秘密鍵の計算に用いたユーザ端末の公開鍵とが対応するか否かを検証する手段である。
【請求項１９】
請求の範囲１６のアプリケーションサーバにおいて、
上記チケット検証手段は上記ユーザ端末と共有の認証用共有秘密鍵と上記セッション確立ごとに変化するセッション依存情報が入力され、その認証用共有秘密鍵により上記セッション依存情報を処理し、その処理結果と上記チケット内の鍵情報とを照合し、その整合性がとれるか否かにより上記チケットの正当性を検証する手段である。
【請求項２０】
請求の範囲１６，１８，１９のいずれかのアプリケーションサーバにおいて、
上記チケット検証手段は、上記受信したパケットの送信元アドレスと、そのパケット内のチケットに含まれるアドレスとが一致するか否かを検証し、一致しないと検証した出力により上記チケットの記憶を阻止する手段を含む。
【請求項２１】
請求の範囲７〜１１のいずれかの認証サーバとしてコンピュータを機能させるための認証サーバプログラム。
【請求項２２】
請求の範囲１２〜１４のいずれかのユーザ端末としてコンピュータを機能させるためのユーザ端末プログラム。
【請求項２３】
請求の範囲１５〜２０のいずれかのアプリケーションサーバとしてコンピュータを機能させるためのアプリケーションサーバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ユーザ端末が認証サーバによりユーザ認証を受け、その認証に基づき、アプリケーションサーバにサービスの提供を要求する認証システム、特に認証サーバにおいてユーザ認証に成功すると、ユーザ端末に送信元アドレスを割当て、ユーザが割当られた送信元アドレスを用いてアプリケーションサーバにサービスの提供を要求する認証システム、その装置およびプログラムに関する。
【背景技術】
【０００２】  一般にユーザがインターネットのようなネットワークを通じてサーバからサービスの提供を受ける場合は、そのユーザの端末（ユーザ端末）とサーバとの間のセッションを確立し、そのセッションを通じてサーバに対し、サービス要求をする。サーバは提供したサービスに対する課金などの点からサービス提供に先立ち、ユーザ認証を行い、この認証に成功すると、確立したセッションを通じてサービスの提供をする。つまりサーバに対するサービスの要求が必要になるごとに、ユーザ認証が行われ、その時確立したセッションを通じてサービスの提供を受け、その際提供されるサービスが複数パケットによる場合でも同一セッションを通じてサービスの提供を受ける。【０００３】  ところでユーザ認証を、各アプリケーションサーバがそれぞれサービス要求を受けるごとに行うには処理量が多くなるなどの点から、認証サーバがユーザ認証を行い、認証に成功するとそのユーザに対しＩＰアドレスを与え、ユーザはこのＩＰアドレスを送信元アドレスとしてサーバにサービスの提供を要求する方法が提案されている。
従来のネットワーク認証システムにおいては、このアドレスに基づく認証方法として例えば特許文献１に以下の方法が示されている。つまりユーザが接続サービスを利用する時に、接続認証サーバが、顧客情報とユーザＩＤ（ユーザを一意に識別する情報）との対応関係が予め格納されている個人情報データベースを参照してそのユーザを認証し、その認証が成功した場合に、接続の許可と共にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスをユーザの端末に割当て、割当てたＩＰアドレスをユーザ端末に送信すると同時にＩＰアドレスとユーザＩＤの関係を記憶装置に保持し、商取引サービス利用時にユーザ端末が、接続認証サーバから送信されたＩＰアドレスを用いて、インターネット上の販売サービス提供装置に購入する商品を申込み、販売サービス提供装置は、この商品の購入申込みパケットの送信元ＩＰアドレスを取得し、このＩＰアドレスを接続認証サーバに送って問合せ、そのＩＰアドレスを元に記憶装置からユーザＩＤを取得し、更にその取得したユーザＩＤと対応する顧客情報を取得することにより、顧客の認証を行う。
【特許文献１】特開２００２−２０７９２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】  しかしながら、上述の従来の認証システムは、ユーザの接続認証時やサービス提供時に、第三者が、ユーザが使用しているＩＰアドレスをネットワーク上に送受されるパケットから盗み出し、盗み出したＩＰアドレスを用いて、商取引サービスを提供するサーバにアクセスすることにより、第三者によって成りすましが可能となってしまう課題がある。換言すれば、従来のアドレスに基づく認証システムでは、ユーザに割当てたアドレスの正当性を保証することができない。なお、正当なアドレスとは、ＩＳＰ（ｉｎｔｅｒｎｅｔ  ｓｅｒｖｉｃｅ  ｐｒｏｖｉｄｅｒ）などの機関がユーザまたはユーザの端末に対して正当な手順に従って割当てたアドレスである。【０００５】  本発明の目的は、このような従来の課題を解決するためになされたもので、ユーザに割当てたアドレスの正当性を保証することができるアドレスに基づく認証システム、その装置およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】  この発明によれば、ユーザを認証する認証サーバと、ユーザ認証情報を送信するユーザ端末と、ユーザ端末を介してユーザにサービスを提供するアプリケーションサーバとがネットワークを介して通信可能に接続された認証システムにおいて、
認証サーバは、
ユーザ端末からの認証要求として送信されたユーザ認証情報に基づいて認証手段によりユーザの認証を行い、そのユーザの認証が成功すると、ユーザ端末にアドレスをアドレス割当手段により割当て、その割当てられたアドレスを含むチケットをチケット発行手段により発行し、その発行されたチケットをユーザ端末に送信し、
ユーザ端末は、
ユーザ認証情報を認証サーバへ送信し、認証サーバから送信されたチケットを受信し、そのチケットに含まれるアドレスを当該ユーザ端末から送信するパケットの送信元アドレスとして送信元アドレス設定手段により設定し、チケットを含むパケットをアプリケーションサーバに送信し、サービス要求手段によりサービスの要求を表すパケットをアプリケーションサーバに送信し、
アプリケーションサーバは、
ユーザ端末から送信されたチケットをチケット記憶手段に記憶し、ユーザ端末から送信されたサービスの要求を表すパケットの送信元アドレスがチケット記憶手段が記憶したチケットに含まれるアドレスと一致するか否かをアドレス判断手段により判断し、アドレスが一致すると判断されるとユーザにサービスを提供するパケットをサービス提供手段によりユーザ端末へ送信する。
【発明の効果】
【０００７】  この構成によれば、同一の認証サーバがユーザ認証を行い、かつアドレス割当を行っているため、正しいユーザにのみアドレスを割当てることができる。更に同一の認証サーバがアドレス割当とチケット発行を行っているため、チケットによりアドレスの正当性を保証できる。
ユーザ認証に基づきアドレスを発行しているので、アドレスの正当性が保証でき、しかもアプリケーションサーバへのチケットの送信は１回だけであり、このチケットに含まれるアドレスは、認証サーバにより正当なユーザがいま認証要求したユーザ端末に与えられたものであり、そのチケット内のアドレスが送信元アドレスとされているので、そのチケットの送信時に確立されたセッションを通じてユーザ端末から送信された各サービス要求パケットの送信元アドレスが記憶したチケット内のアドレスと一致すれば、そのパケットは認証されたユーザのパケットとみなせる。つまりセッション確立時に１回だけ送られたチケット内のアドレスを介して、サービス要求パケットの送信元アドレスが、認証されたユーザと結び付けられる。第三者がサービス要求パケットの送信元アドレスを盗み、これを用いてアプリケーションサーバにサービス要求をしても、そのセッションでは記憶されたチケット内のアドレスと送信元アドレスとは不一致のものとなり、サービスの提供は行われない。
【図面の簡単な説明】
【０００８】［図１］本発明の第１及び第２の実施の形態に係る認証システムのシステム構成例を示すブロック図である。
［図２］本発明の第１の実施の形態に係る認証サーバの機能構成例を示すブロック図である。
［図３］本発明の第１の実施の形態に係るユーザ端末の機能構成例を示すブロック図である。
［図４］本発明の第１の実施の形態に係るアプリケーションサーバの機能構成例を示すブロック図である。
［図５］本発明の第１の実施の形態で用いられるチケットの構成例を示す図である。
［図６］本発明の第１の実施の形態に用いられるチケットを含むパケットの構成例を示す図である。
［図７］本発明の第１の実施の形態に係る認証システムの処理手順の例を示すシーケンス図である。
［図８］本発明の第１の実施の形態に係る認証サーバの処理の流れの例を示すフローチャートである。
［図９］図９Ａは本発明の第１の実施の形態に係るユーザ端末におけるユーザ認証時の処理の流れの例を示すフローチャート、図９Ｂはサービス要求時の処理の流れの例を示すフローチャートである。
［図１０］本発明の第１の実施の形態に係るアプリケーションサーバの処理の流れの例を示すフローチャートである。
［図１１］図１１Ａ及び図１１Ｂはそれぞれ図２中の認証情報生成手段１５１のほかの機能構成例を示す図、図１１Ｃは図４中の認証情報検証部３２０ａの他の機能構成例を示す図である。
［図１２］本発明の第２の実施の形態に係る認証サーバの機能構成例を示すブロック図である。
［図１３］本発明の第２の実施の形態に係るユーザ端末の機能構成例を示すブロック図である。
［図１４］本発明の第２の実施の形態に係るアプリケーションサーバの機能構成例を示すブロック図である。
［図１５］本発明の第２の実施の形態で用いるチケットの構成例を示す図である。
［図１６］本発明の第２の実施の形態で用いる認証ヘッダが付加されたパケットの構成例を示す図である。
［図１７］本発明の第２の実施の形態に係る認証システムの処理手順の例を示すシーケンス図である。
［図１８］本発明の第２の実施の形態に係る認証サーバの処理の流れの例を示すフローチャートである。
［図１９］図１９Ａは本発明の第２の実施の形態に係るユーザ端末におけるユーザ認証時の処理の流れの例を示すフローチャート、図１９Ｂはサービス要求時の処理の流れの例を示すフローチャートである。
［図２０］本発明の第２の実施の形態に係るアプリケーションサーバの処理の流れの例を示すフローチャートである。
［図２１］図２１Ａは別の例の鍵情報を用いる場合の認証システムにおける処理手順の例を示すシーケンス図、図２１Ｂは図１２中の認証サーバに追加されるチャレンジ生成部の具体例を示すブロック図、図２１Ｃは図１３中の鍵情報生成部の他の具体例を示すブロック図、図２１Ｄは図１４中のチケット検証手段６２０内の一部変形例の具体例を示すブロック図である。
【発明を実施するための最良の形態】
【０００９】  以下、図面を参照して本発明の実施の形態について詳細に説明する。以下の説明に応じて対応する部分には同一参照符号を付けて重畳説明を省略する。
（第１の実施の形態）システム構成
図１は、本発明の第１の実施の形態に係るアドレスに基づく認証システムのシステム構成図である。この発明のアドレスに基づく認証システムは、ユーザを認証する認証サーバ１００と、ユーザ認証情報を送信する複数のユーザ端末２００を収容するアクセスポイント３０と、ユーザにサービスを提供するパケットをユーザ端末２００に送信する複数のアプリケーションサーバ３００とが、ネットワーク１０を介して通信可能に接続されて構成されている。【００１０】  認証サーバ１００には、ユーザに関する情報（ユーザ認証データ）が格納されているユーザデータベース２０が接続されている。ユーザは、ユーザ端末２００を利用する利用者に限定されず、ユーザ端末２００を直接操作しない利用者、例えば計算機がプログラムを実行することによりあたかも利用者がユーザ端末を利用しているかのように動作する場合のそのプログラム上の利用者であってもよい。また、このアドレスに基づく認証システムは、ユーザ端末２００とアプリケーションサーバ３００間の回線の安全性が物理的に確保される構成でもよい。この場合はユーザ端末２００からアプリケーションサーバ３００へ送信するパケットに対し改ざんの有無を確認できる処理をする必要がない。【００１１】  ネットワーク１０は、無線網、有線網を問わず、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはインターネットなどによって構成されてもよい。アクセスポイント３０は、地域毎に設置されてもよい。ユーザ端末２００は、無線の通信が可能な携帯端末、若しくは、パソコンなどの端末でもよい。また、アプリケーションサーバ３００は、映画およびスポーツ番組を含むコンテンツ配信サービス、電子商取引などのサービス、電子メール、ＩＰ電話、およびインスタントメッセージなどの通信サービス、またはＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂなどの情報閲覧サービスを提供するサーバなどである。更にアプリケーションサーバ３００は、別のネットワーク上のサービスへのアクセスを提供するゲートウェイサーバやファイアウォールなどであってもよい。【００１２】  ユーザ端末２００は、認証サーバ１００がユーザを認証するために必要なユーザ認証情報を、アクセスポイント３０を介して認証サーバ１００に送信してユーザの認証を要求する。本実施形態においては、ユーザ認証情報には、ユーザ名およびパスワード、ユーザを認証するための鍵ペアに基づいて生成された情報、またはユーザの生体（例えば、指紋，虹彩，静脈パターン，筆跡，声紋等）を認証するための情報、などの公知の各種ユーザ認証方法に用いる情報のうち少なくとも１つが含まれる。なお、鍵ペアは、公開鍵暗号技術に基づいた公開鍵と秘密鍵のペアである。【００１３】  認証サーバ１００は、ユーザ端末２００から送信されたユーザ認証情報に基づいてユーザデータベース２０を参照してユーザの認証を行い、ユーザの認証が成功すると、ユーザと対応するユーザ識別子を割当て、その割当てたユーザ識別子と対応させるユーザ端末を一意に特定可能なアドレスを割当て、割当てたアドレスおよびユーザ識別子を含むチケットを発行し、発行されたチケットをユーザ端末２００に送信する。
ユーザ端末２００は、認証サーバ１００から送信されたチケットに含まれるアドレスを、そのユーザ端末２００から送信するパケットの送信元アドレスとし、アプリケーションサーバ３００に、まずチケットを送信し、その後サービスを要求するパケット（以下サービス要求パケットという）を送信する。【００１４】  アプリケーションサーバ３００は、ユーザ端末２００によって送信されたチケットを記憶し、記憶したチケットに含まれるアドレスとサービス要求パケットの送信元アドレスとが一致するか否かを判断し、アドレスが一致すると判断されるとユーザにサービスを提供するパケットをユーザ端末２００へ送信する。
（第１の実施の形態）認証サーバ
図２は、本発明の第１の実施の形態で使用される認証サーバのブロック構成図である。認証サーバ１００は、通信インターフェース１０１および制御処理手段１０２を備える。通信インターフェース１０１は、例えば、モデムまたはＬＡＮインターフェースなどによって構成され、ネットワーク１０と接続される通信装置と通信可能にするものであれば如何なるものによって構成されてもよい。【００１５】  制御処理手段１０２は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、およびプログラムを記憶するメモリなどを含む制御部１０２ａ、ユーザ認証情報受信手段１１０、認証手段１２０、ユーザ識別子割当手段１３０、アドレス割当手段１４０、チケット発行手段１５０、およびチケット送信手段１６０を有している。なお、これらの手段はそれぞれプログラムのモジュール、つまりハードウェアとして構成されることなく、プログラムの実行により機能するものでもよい。
先に述べたように認証サーバ１００には、ユーザに関する情報が格納されているユーザデータベース２０が接続されており、ユーザデータベース２０は、ユーザを認証するときに使用する認証データ、およびユーザＩＤ（名前などそれ自体がユーザを一意に特定する情報）を含むユーザＩＤ登録データが格納されている。【００１６】  ユーザ認証情報受信手段１１０は、ユーザ端末２００から送信されたユーザ認証情報などを含む認証要求を通信インターフェース１０１を介して受信する。
認証手段１２０は、ユーザ認証情報受信手段１１０によって受信された認証要求のユーザ認証情報に基づいてユーザの認証を行う。認証手段１２０は、例えば、ユーザ認証情報とユーザデータベース２０に格納されている認証データとの整合性を検証することによってユーザを認証する。
ユーザ識別子割当手段１３０は、ユーザの認証が成功すると、ユーザと対応するユーザ識別子ＩＤＵを、その認証要求に対し割当てる。ここで、ユーザ識別子は、ユーザ端末に割当てたアドレスに基づく認証システムにおいて一意の識別子である。あるいはユーザ識別子ＩＤＵは、認証サーバ内で一意な識別子をＡ、認証サーバのグローバルＩＰアドレスをＢとしたとき、「Ａ＠Ｂ」などのように、グローバルに一意性を満たすよう拡張可能なものであってもよい。すなわち、想定されるユーザの集合において、ユーザ識別子はユーザに一意に対応づけられる。ただし、一人のユーザが同時に複数のユーザ識別子と対応してもよい。【００１７】  ユーザ識別子割当手段１３０は、例えばユーザデータベース２０に格納されているユーザＩＤ登録データからユーザＩＤを取得し、取得したユーザＩＤをユーザ識別子ＩＤＵとしてその認証要求に対し割当る。あるいは、ユーザ識別子割当手段１３０は、ユーザＩＤを取得したときに暗号化部１４０ａで乱数を生成し、生成した乱数を取得したユーザＩＤに付加し、その（乱数−ユーザＩＤ）情報を、さらに認証サーバ１００の識別子生成用秘密鍵で暗号化したものをユーザ識別子ＩＤＵとして割当ててもよい。このようにすれば、識別子生成用秘密鍵を知る者、例えば認証サーバ１００のみがユーザ識別子ＩＤＵに基づいてユーザＩＤを知ることができるため、ユーザ識別子ＩＤＵがチケットに含められてアプリケーションサーバに送信されるが、ユーザのプライバシー保護を実現できる。また、ユーザ識別子割当手段１３０は、ユーザ認証情報からユーザ識別子ＩＤＵを割当てるようにしてもよいし、乱数、記号、シーケンス番号など、データベース等によりユーザＩＤに一意に対応付けることができるものをユーザ識別子ＩＤＵとしてもよい。【００１８】  アドレス割当手段１４０は、ユーザ識別子割当手段１３０によって割当てたユーザ識別子ＩＤＵと対応させるユーザ端末にアドレスＡＵを割当てる。このアドレスＡＵは、ＩＰアドレスの他、メールアドレス、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）で扱われるＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）、またはＩＭ（Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ）の相手名でもよい。
アドレス割当手段１４０におけるアドレス割当てについて、同一のアドレスを同時に複数のユーザ識別子と対応付けることがないとすれば、一つのアドレスに対して一意にユーザ識別子が対応し、したがって、ユーザも一意に対応付けられる。【００１９】  認証したユーザに割当てたユーザ識別子ＩＤＵと、割当てたアドレスＡＵとの対応がわかるように、その対応がもしくは対応付けの情報を含むチケットそのものが、例えば割当記憶部１０２ｂに、あるいはユーザデータベース２０内のユーザ情報に、関連付けて記憶される。同一ユーザに対する割当てユーザ識別子ＩＤＵ、アドレスＡＵはその認証要求があるごとに変化してもよい、このため同一ユーザのチケットは、そのチケット発行日時などにより区別されるようにされる。また不要となったユーザ識別子ＩＤＵおよびアドレスＡＵは適当な時期に削除される。このようにしてアプリケーションサーバ３００からのユーザ識別子ＩＤＵに基づく、ユーザ情報の問合せや提供サービスに対する課金などに対応できるようにされている。【００２０】  チケット発行手段１５０は、この例では認証情報生成手段１５１を含み、ユーザ識別子割当手段１３０によって割当てられたユーザ識別子ＩＤＵとアドレス割当手段１４０によって割当てられたアドレスＡＵとを含む仮のチケット（ＩＤＵ，ＡＵ）を一時的に生成し、認証情報生成手段１５１によって仮のチケットに基づき認証情報ＩＡを生成し、この認証情報ＩＡ、ユーザ識別子ＩＤＵ、アドレスＡＵを含むチケットＣＫ１を発行する。
チケットＣＫ１は例えば図５に示すように、ユーザ識別子、アドレス、認証情報の他に、チケットＣＫ１を発行したときの日時を表わすタイムスタンプ、チケットの有効期間を表す情報、更に図５に示していないが、ユーザ端末２００に割当てられた通信帯域幅を表す情報、およびユーザ端末２００が収容されるアクセスポイント３０に関する情報、例えば位置情報等などによって構成される。タイムスタンプを含ませる場合は、チケット発行手段１５０に時計部１５０ａが設けられ、この時計部１５０ａより出力するタイムスタンプを利用する。チケットの有効期間を表す情報、およびユーザ端末２００に割当てられた通信帯域幅を表す情報は、アクセスポイント３０、認証サーバ１００およびアプリケーションサーバ３００などを運用する通信事業者やアプリケーションサービス事業者と、ユーザ端末２００を使用するユーザとの契約によって予め決められるようにしてもよい。【００２１】  更に認証サーバ１００を一意に識別する認証サーバ識別情報（例えばアドレスＡＡ）を例えば図５中に示すようにチケットＣＫ１に加えても良い。あるいは先に述べたように、また図５中に示すとおり、認証サーバ１００内で一意な識別子Ａと認証サーバ１００のグローバルＩＰアドレスＢとを「Ａ＠Ｂ」と結合してユーザ識別子ＩＤＵとした場合、このＢを認証サーバ識別情報として用いてもよい。
認証情報生成手段１５１は、例えばアプリケーションサーバ３００との間で事前に共有する共有秘密鍵ＫＣＡＳと仮のチケット（ＩＤＵ，ＡＵ）が一方向性ハッシュ関数演算器１５１ａに入力され、仮のチケットに対し共有秘密鍵ＫＣＡＳを用いて一方向性ハッシュ関数を計算して認証子ＭＡＣを生成し、これを認証情報ＩＡとして出力する。【００２２】  チケット送信手段１６０は、チケット発行手段１５０によって発行されたチケット５１を通信インターフェース１０１を介してユーザ端末２００に送信する。
（第１の実施の形態）ユーザ端末
図３は、本発明の第１の実施の形態で使用されるユーザ端末のブロック構成図である。ユーザ端末２００は、通信インターフェース２０１および制御処理手段２０２を備える。通信インターフェース２０１は、例えば、有線もしくは無線のＬＡＮインターフェース、モデム、または携帯電話などの通信機器などによって構成され、アクセスポイント３０を介してネットワーク１０と接続される通信装置と通信可能にするものであれば如何なるものでもよい。【００２３】  制御処理手段２０２は、プログラムを実行するＣＰＵ、およびプログラムを記憶するメモリなどを含む制御部２０２ａ、認証要求手段２０３およびサービス要求手段２３０を有している。これらの手段は認証サーバ１００と同様にプログラムのモジュール、つまりプログラムを実行することにより機能させてもよい。認証要求手段２０３は、ユーザ認証情報生成手段２１０、ユーザ認証情報送信手段２２０、およびチケット受信手段２３１を有している。
ユーザ認証情報生成手段２１０は、ユーザ名およびパスワードを表す情報などを含むユーザ認証情報を生成する。ユーザ認証情報生成手段２１０は、例えば、キーボードなどの入力機器４０からユーザ名およびパスワードが入力されると、その入力された情報に応じてユーザ認証情報を生成する。ユーザ名およびパスワードの他、ユーザ認証情報には、ユーザを認証するための鍵ペアに基づいて生成された情報、またはユーザの生体を認証するための情報などの公知のユーザ認証方法に用いられる、認証サーバ１００がユーザを認証するために必要とする各種情報のうち少なくとも１つが用いられる。【００２４】  ユーザ認証情報送信手段２２０は、ユーザ認証情報生成手段２１０によって生成されたユーザ認証情報を通信インターフェース２０１を介して認証サーバ１００に送信して認証要求をする。
チケット受信手段２３１は、認証サーバ１００から送信されたチケット（ＣＫ１）５１を含むパケットを通信インターフェース２０１を介して受信し、受信したチケット５１に含まれるアドレスＡＵを通信インターフェース２０１内、例えばレジスタ２０１ａに送信元アドレスＡＳとして送信元アドレス設定手段２３１ａにより設定登録する。なお、サービス要求手段２３０の送信元アドレス設定手段２３０ａが受信したチケット５１に含まれるアドレスを送信元アドレスＡＳとして通信インターフェース２０１内のレジスタ２０１ａに設定登録するようにしてもよい。【００２５】  サービス要求手段２３０は、セッション確立手段２３２を含み、アプリケーションサーバ３００が提供するサービスを要求する。
セッション確立手段２３２は、ユーザが利用するサービスに応じてアプリケーションサーバ３００とユーザ端末２００との間にセッションを確立する。例えば、セッション確立手段２３２は、そのセッション確立処理におけるいずれかの過程で、通信インターフェース２０１を介してアプリケーションサーバ３００に、チケット受信手段２３１によって受信されたチケット（ＣＫ１）５１を送信してセッションを確立する。このセッション確立要求パケット５２は例えば図６に示すように送信元アドレスＡＳを含むヘッダ部５２ｈおよびチケット５１を含むペイロード部５２ｐによって構成される。【００２６】  例えば、セッション確立手段２３２は、パケット５２を通信インターフェース２０１を介してアプリケーションサーバ３００に送信する。通信インターフェース２０１は、チケット受信手段２３１の送信元アドレス設定手段２３１ａによって登録されたアドレスＡＳをパケット５２の送信元アドレスに設定し、設定したパケット５２を送信する。サービス要求手段２３０は、確立したセッションを通してサービスの要求を表すパケット（サービス要求パケット）を、通信インターフェース２０１に登録されたアドレスを送信元アドレスＡＳとしてアプリケーションサーバ３００に送信する。【００２７】  （第１の実施の形態）アプリケーションサーバ
図４は、本発明の第１の実施の形態に使用されるアプリケーションサーバのブロック構成図である。アプリケーションサーバ３００は、通信インターフェース３０１および制御処理手段３０２を備える。通信インターフェース３０１は、例えば、モデムまたはＬＡＮインターフェースなどによって構成され、ネットワーク１０と接続される通信装置と通信可能にするものであれば如何なるものによって構成されてもよい。
制御処理手段３０２は、プログラムを処理するＣＰＵ、およびプログラムを記憶するメモリなどを含む制御部３０２ａ、サービス提供手段３１０、セッション確立手段３１１、およびチケット記憶手段３３０を有している。これらの手段は認証サーバ１００と同様にプログラムのモジュールでもよい。【００２８】  サービス提供手段３１０は、アドレス判断手段３１２を含み、ユーザ端末２００から要求されるサービスを提供する。
セッション確立手段３１１は、チケット検証手段３２０を含み、ユーザ端末２００とのセッションを確立する。セッションを確立する手順の中で、セッション確立手段３１１は、ユーザ端末２００から送信されたチケット（ＣＫ１）５１を含むパケット５２を受信する。
チケット検証手段３２０は、パケット５２に含まれるチケット（ＣＫ１）５１が改ざんされているか否かを検証する。チケット検証手段３２０は例えば受信したチケット５１内の認証情報ＩＡを認証情報検証部３２０ａで検証する。つまり認証情報ＩＡが認証子ＭＡＣであれば、認証サーバ１００との間で事前に共有する共有秘密鍵ＫＣＳＡを用いて認証子検証部３２０ａでチケット５１が改ざんされているか否かを検証する。またチケット検証手段３２０は、チケット５１に含まれるアドレスＡＵとパケット５２の送信元アドレスＡＳとをアドレス照合部３２０ｂで照合して、一致しなければ検証が失敗する。【００２９】  更にチケット検証手段３２０は、チケット（ＣＫ１）５１に有効期間ＥＰｅが含まれている場合、時計部３２０ｄからの時刻情報により有効期間検証部３２０ｆにおいてチケット５１が有効期間内か否かを検証するようにしてもよい。チケット検証手段３２０は、チケット（ＣＫ１）５１に含まれるタイムスタンプＴｍｓの値により、期間ごとに個別に用意された共有秘密鍵を選択して検証を行うようにしてもよい。チケット検証手段３２０は、チケット（ＣＫ１）５１にタイムスタンプＴｍｓが含まれている場合、タイムスタンプが表すチケット生成日時と時計部３２０ｄからの時刻情報より、チケット５１が有効か否かを検証するようにしてもよい。あるいはチケット５１に含まれるタイムスタンプおよび有効期間を表す情報に基づいてユーザの要求するサービスが、サービス提供手段３１０の提供有効期間内か否かを有効期間検証部３２０ｆで検証するようにしてもよい。【００３０】  チケット検証手段３２０がチケット（ＣＫ１）５１に含まれるアドレスＡＵとパケット５２の送信元アドレスＡＳとを照合した結果が一致しており、チケットが正しいアドレスを持つユーザ端末から送信されていると判断すると、チケット記憶手段３３０に、そのチケット５１を記憶する。しかしチケット検証手段３２０における他の検証や照合が一つでも成功しないとチケット５１のチケット記憶部３２０ａの記憶は阻止される。例えば各検出部３２０ａ，３２０ｃ，３２０ｆ、照合部３２０ｂの出力が記憶指令部３２０ｇに入力され、その入力の一つでも不成功を示せば、チケット５１の記憶指令は発生しない。【００３１】  アドレス判断手段３１２は、サービスの要求を表すパケットの送信元アドレスＡＳによりチケット記憶手段３３０を参照して、その送信元アドレスＡＳが対応する、チケット５１に含まれるアドレスＡＵとが一致するか否かを検証する。サービス提供手段３１０は、チケット５１に含まれるアドレスＡＵとパケットの送信元アドレスＡＳが一致すると、ユーザ端末２００から要求されるサービスをユーザに提供するためのパケットをユーザ端末２００に送信する。
サービス提供手段３１０は、チケット５１に含まれるユーザ識別子ＩＤＵに基づき、必要に応じて、ユーザ情報を認証サーバ１００に問い合わせてもよい。更にサービス提供手段３１０は、サービス提供に伴う課金などの情報を認証サーバ１００を経由してユーザデータベース２０に送信してもよい。これらの場合、図５中に示したようにチケットＣＫ１中に認証サーバ１００の識別情報が含まれていれば、認証サーバが複数存在する場合は、これを直ちに特定でき、認証サーバ識別情報がアドレス（例えばアドレスＡＡ）の場合はそのアドレスを用いて直ちに認証サーバ１００にアクセスすることができる。【００３２】  （第１の実施の形態）認証システムの処理手順
本発明の第１の実施の形態に係るアドレスに基づく認証システムの処理手順について、図７を参照して説明する。
まず（１）ユーザの認証を認証サーバに要求する際に、ユーザ端末２００はユーザ認証情報を生成し、このユーザ認証情報をアクセスポイント３０を介して認証サーバ１００へ送信する。
（２）この認証要求を受信した認証サーバ１００はそのユーザ認証情報に基づいて、ユーザの認証を行う。認証サーバ１００はユーザの認証が成功すると、ユーザにユーザ識別子ＩＤＵを割当て、更にそのユーザと対応づけられるユーザ端末２００に対しアドレスＡＵを割当て、必要に応じて生成したアドレスＡＵに対する認証情報ＩＡ、タイムスタンプ、有効期間などを含むチケット５１を発行して、（３）そのチケット５１をユーザ端末２００に送信する。【００３３】  （４）チケット５１を受信したユーザ端末２００はチケット５１のアドレスを送信元アドレスＡＳとして設定し、チケット５１を含むパケット５２をアプリケーションサーバ３００へ送信して、アプリケーションサーバ３００とのセッションの確立を要求する。
（５）パケット５２を受信したアプリケーションサーバ３００は認証情報によりチケットの正当性を検証し、検証に成功すればパケットの送信元アドレスＡＳとチケット５１内のアドレスＡＵとを照合し、一致すればチケット５１を記憶し、かつそのセッションを確立する。【００３４】  （６）セッションが確立するとユーザ端末２００はアプリケーションサーバ３００に対して、サービス要求パケットを確立したセッションを通して送信する。
（７）サービス要求パケットを受信したアプリケーションサーバ３００は、サービス要求パケットの送信元アドレスＡＳと記憶したチケット５１に含まれるアドレスＡＵとが一致するか否かを判断し、アドレスが一致するとサービスをユーザに提供するためのパケットをユーザ端末２００へ送信する。
（第１の実施の形態）認証サーバの処理
図８は、本発明の第１の実施の形態に使用する認証サーバ１００の処理の流れを示すフローチャートである。【００３５】  まず、ユーザ端末２００から送信されたユーザ認証情報は、ユーザ認証情報受信手段１１０によって通信インターフェース１０１を介して受信され（Ｓ１０１）、ユーザ認証情報に基づいて認証手段１２０によってユーザの認証が行われ、ユーザの認証が成功すると、処理はＳ１０３へ進み、ユーザの認証が不成功なら、処理は終了する（Ｓ１０２）。
ユーザの認証が成功するとユーザ端末２００にアドレスＡＵが割当てられる。この例ではユーザと対応するユーザ識別子ＩＤＵが、ユーザ識別子割当手段１３０によって割当てられ（Ｓ１０３）、このユーザ識別子ＩＤＵと対応づけるユーザ端末にアドレスＡＵが、アドレス割当手段１４０によって割当てられる（Ｓ１０４）。【００３６】  次に、この例ではユーザ識別子割当手段１３０によって割当てられたユーザ識別子ＩＤＵと、アドレス割当手段１４０によって割当てられたアドレスＡＵを含む仮のチケットが、チケット発行手段１５０によって一時的に生成され、認証子生成手段１５１によってアプリケーションサーバ３００との間で事前に共有する共有秘密鍵を用いて仮のチケットに対し認証子ＭＡＣが生成される（Ｓ１０５）。
次に、ユーザ識別子ＩＤＵ、アドレスＡＵ、認証子ＭＡＣなどを含むチケット５１が、チケット発行手段１５０によって発行され（Ｓ１０６）、このチケット５１はチケット送信手段１６０によって通信インターフェース１０１を介してユーザ端末２００に送信される（Ｓ１０７）。【００３７】  （第１の実施の形態）ユーザ端末の処理
図９Ａ及び図９Ｂは、本発明の第１の実施の形態に使用されるユーザ端末２００の処理の流れを示すフローチャートである。
まず、図９Ａに示すように、ユーザ名およびパスワードを表す情報などを含むユーザ認証情報が、ユーザ認証情報生成手段２１０によって生成され（Ｓ２０１）、このユーザ認証情報はユーザ認証情報送信手段２２０によって通信インターフェース２０１を介して認証サーバ１００に送信される（Ｓ２０２）。【００３８】  認証サーバ１００から送信されたチケット５１は、チケット受信手段２３１によって受信される（Ｓ２０３）。
図９Ｂに示すように、チケット５１が受信された後、アプリケーションサーバ３００とのセッションが、セッション確立手段２３２によって確立される（Ｓ２０４）。アプリケーションサーバ３００とのセッションが確立された後、サービスの要求を表すパケットが、サービス要求手段２３０によってセッションを通してアプリケーションサーバ３００に送信される（Ｓ２０５）。【００３９】  （第１の実施の形態）アプリケーションサーバの処理
図１０は、本発明の第１の実施の形態に使用されるアプリケーションサーバ３００の処理の流れを示すフローチャートである。
まず、ユーザ端末２００とのセッションの確立が、セッション確立手段３１１によって開始され（Ｓ３０１）、パケット５２に含まれるチケット５１がアプリケーションサーバ３００によって受信される。チケット５１は、チケット検証手段３２０によって検証され、チケット５１が正しいと検証されると、処理はＳ３０３へ進み、チケット５１が改ざんされているなど正しくないと検証されると、処理は終了する（Ｓ３０２）。【００４０】  チケット５１が正しいと検証されると、セッションは、セッション確立手段３１１によって確立され、チケット５１がチケット記憶手段３３０に記憶される（Ｓ３０３）。ユーザ端末２００から送信されたサービスを要求するパケットが受信され、そのパケットの送信元アドレスＡＳと記憶したチケット５１に含まれるアドレスＡＵとが一致するか否かがアドレス判断手段３１２により判断され（Ｓ３０４）、アドレスが一致すると判断されると、サービスが、サービス提供手段３１０によってユーザ端末２００を介してユーザに提供されるためのパケットが送信される（Ｓ３０５）。送信元アドレスＡＳとアドレスＡＵとが一致しなければ終了となる。【００４１】  以上説明したように、本発明の第１の実施の形態に係るアドレスに基づく認証システムは、ユーザ認証に基づきアドレスを発行しているので、正しいユーザ（ユーザ識別子）にそのアドレスを発行したことを保証できる。このような関係があり、認証サーバ１００が、割当てたアドレスおよびユーザ識別子を含むチケット５１を発行し、ユーザ端末２００が、発行されたチケット５１をアプリケーションサーバに送信し、アプリケーションサーバ３００が、送信されたチケット５１を検証すると共に記憶し、ユーザ端末２００から送信されたサービス要求パケットの送信元アドレスと、記憶したチケット５１に含まれるアドレスとを照合し、一致すれば、そのサービス要求パケットを、認証されたユーザのパケットとみなすことにより、アドレスに基づく認証が可能となる。【００４２】  つまり、ユーザ認証に基づき認証サーバで発行されたチケットにより、ユーザ（識別子）とアドレスの対応が保証されていることから、サービス要求パケットの送信元アドレスＡＳと記憶したチケット内のアドレスＡＵとを照合することにより、そのパケットが認証されたユーザのものか否かを確認できる。
また、この実施形態ではアプリケーションサーバ３００と認証サーバ１００との間で事前に共有する共有秘密鍵を用いて生成される認証情報によってチケット５１の正当性を検証するため、認証サーバ１００によって発行されたチケット５１、特にその内部のアドレスの正当性を保証することができる。【００４３】  また、この実施形態では認証サーバ１００がチケット５１の有効期間を表す情報を含むチケット５１を発行し、アプリケーションサーバ３００が前記有効期間によってチケット５１の有効性を検証するため、認証サーバ１００の運営方針に従って有効期間を決定することができる。
（第１の実施の形態）変形
認証サーバ１００において、ユーザ識別子割当手段１３０は必ずしも設けられなくてもよい。発行するチケット５１の構成の１つとしてのユーザ識別子を省略してもよい。この場合はユーザ識別子割当手段１３０は省略され、また図８中に破線で示すようにステップＳ１０２で認証に成功すると直ちにステップＳ１０４に移る。しかしユーザ識別子を用いれば、チケット５１自体でユーザ端末２００に割当てたアドレスＡＵとユーザとが対応付けられ、従って例えばアプリケーションサーバ３００からユーザ識別子を用いて、そのユーザ情報を認証サーバ１００に問合せることができる。ユーザ識別子が省略されている場合はこの問合せをアドレスＡＵを用いて行い、認証サーバ１００ではユーザ端末に割当てたアドレスＡＵとそのユーザＩＤとの対応を記憶しておく必要がある。【００４４】  認証情報生成手段１５１で生成する認証情報ＩＡは認証子ＭＡＣに限らない。例えば図１１Ａに示すように、仮チケット（ＩＤＵ，ＡＵ）を署名演算部１５１ｂに入力して、公開鍵暗号技術に基づく認証サーバ１００の秘密鍵ＫＳＡを用いて仮チケット（ＩＤＵ，ＡＵ）に対しディジタル署名演算を行って署名を生成し、これを認証情報ＩＡとしてもよい。あるいは図１１Ｂに示すように認証情報生成手段１５１に入力された仮チケット（ＩＤＵ，ＡＵ）をアプリケーションサーバ３００との共有秘密鍵ＫＣＡＳを用いて暗号化部１５１ｃで暗号化してその暗号化された仮チケットを認証情報ＩＡとしてもよい。【００４５】  認証情報ＩＡとして署名が用いられる場合、アプリケーションサーバ３００内の認証情報検証部３２０ａは図４中に括弧書きで示すように、認証子検証部の代りに署名検証部となり、認証情報ＩＡとしての署名が認証サーバ１００の公開鍵ＫＰＡにより署名検証処理される。またチケット５１の全体が暗号化されて認証情報ＩＡとされた場合は、認証情報検証部３２０ａは図１１Ｃに示すように認証情報ＩＡが復号部３２０ａ１で認証サーバ１００との共有秘密鍵ＫＣＡＳにより復号され、その復号結果と、上記仮チケット（ＩＤＵ，ＡＵ）との照合が照合部３２０ａ２で行われ、一致すれば検証に成功したとされる。【００４６】  なお、チケット５１の要素としてユーザ識別子を用いない場合は仮チケットはアドレスＡＵのみとなる。またチケット５１の要素としてタイムスタンプなどを含む場合はこれらも仮チケットとして、仮チケットに対する認証情報ＩＡを作成する。要はチケット５１は認証情報ＩＡ以外の全ての要素を仮チケットとして認証情報ＩＡを作成してもよい。
チケット５１中の認証情報ＩＡを省略してもよい。つまり図８中に破線で示すようにステップＳ１０４の後、直ちにステップＳ１０６へ移ってもよい。しかし認証情報ＩＡを用いれば、アプリケーションサーバ３００において、図１０中に破線で示すようにステップＳ３０２におけるチケットに対する検証は、まず認証情報ＩＡを検証して、仮チケットに対する改ざんが行われていないかを検証し（Ｓ３０２ａ）、チケットが改ざんされていなく、従ってチケット５１中のアドレスＡＵが改ざんされていない正しいものであることが確認されると、送信元アドレスＡＳとチケット内のアドレスＡＵとの照合により、両アドレスが一致しているかが確認され（Ｓ３０２ｂ）、一致していればステップＳ３０３へ移り、一致していなければ処理は終了する。【００４７】  チケット５１中の要素、タイムスタンプ、有効期間の一方あるいは双方とも省略してもよい。アプリケーションサーバ３００においてユーザ端末２００とのセッションが確立されるごとにそのユーザ端末２００より受信したパケット中のチケットＣＫ１を直ちにチケット記憶手段３３０に記憶してもよい。つまり図４中のチケット検証手段３２０を省略し、図１０中に破線３１で示すように処理Ｓ３０１から直ちに処理Ｓ３０３へ移ってもよい。このようにしてもチケットＣＫ１の送信は各セッションが確立されるごとに一度しかユーザ端末２００からアプリケーションサーバ３００へ送信されず、しかもユーザ端末２００が新たにサービスが必要となるごとに認証サーバ１００によりユーザ認証をしてもらい、従ってそのユーザ端末２００に割当てられるアドレス（チケットＣＫ１内のアドレス）が異なるものとなるから、第三者が送信元アドレスＡＳを盗み、成りすましをすることは困難である。【００４８】  認証サーバ１００にユーザデータベース２０が必ずしも接続されていなくてもよい。例えばユーザ認証を公開鍵暗号技術を用いて行う場合は認証データを必要としない。しかしユーザ端末２００から送信されたユーザの公開鍵証明書が信頼されるものであるかを確認するため、その公開鍵証明書を発行した公開鍵証明書発行機関に問合せ、正当なものであれば、その公開鍵証明書内のユーザ情報を、これで不足の場合は前記公開鍵証明書発行機関内のデータベースが対応ユーザに関する情報を取得する。
認証サーバ１００は安全なネットワークで接続され、相互に信頼関係を持つサーバ群で構成してもよい。たとえば、認証専用サーバ、アドレス発行サーバ、チケット発行サーバなどが安全なネットワーク接続された構成でもよい。【００４９】  （第２の実施の形態）認証システム構成
以下にこの発明の第２の実施の形態を、第１の実施の形態と違う部分を主に説明する。この第２の実施の形態においても、認証サーバとユーザ端末と、アプリケーションサーバとを備え、これらは機能的に第１の実施の形態のそれと異なる点をもっているが、システム構成は図１に示した第１の実施の形態と同様であるので、図１中に第２の実施の形態の参照番号を括弧書きで示す。認証サーバ４００と、ユーザ端末５００と、アプリケーションサーバ６００とが、ネットワーク１０を介して通信可能に接続されている。【００５０】  第２の実施の形態ではユーザ端末５００は、認証サーバ４００に対する認証要求の際に、ユーザ認証情報の他に鍵情報をも送信する。つまりユーザ端末５００は鍵情報をもつものである。鍵情報は、ユーザ鍵ペアの公開鍵または端末鍵ペアの公開鍵、これらの公開鍵を含む証明書、または公開鍵もしくは公開鍵を含む証明書に一方向性ハッシュ関数を適用して得られたハッシュ値などの、ユーザ又はユーザ端末の公開鍵に関連する情報を含む。
認証サーバ４００は、ユーザ端末５００からの認証要求に対し、ユーザの認証が成功して、チケットを発行する際に、ユーザ識別子およびアドレスの他に、この第２の実施の形態ではユーザ端末から送信された鍵情報をチケットに含める。【００５１】  （第２の実施の形態）認証サーバ
図１２は、本発明の第２の実施の形態に使用する認証サーバのブロック構成図である。認証サーバ４００は、通信インターフェース１０１および制御処理手段４０２を備える。
制御処理手段４０２は、プログラムを処理するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、およびプログラムを記憶するメモリなどを含む制御部４０２ａ、ユーザ認証情報受信手段１１０、認証手段４２０、ユーザ識別子割当手段１３０、アドレス割当手段１４０、チケット発行手段４５０、およびチケット送信手段１６０を有している。なお、これらの手段はプログラムのモジュールでもよい。【００５２】  認証手段４２０は、ユーザ認証情報受信手段１１０によって受信されたユーザ認証情報に基づいてユーザの認証を行う。例えば、認証手段４２０は、ユーザ認証情報とユーザデータベース２０に格納されている認証データとの整合性を認証情報照合部１２０ａで検証してユーザを認証する。なお認証サーバは必要に応じて、ユーザ端末が鍵情報ＩＫと関連する秘密鍵を保持しているか否かを確認するようにしてもよい。たとえば鍵情報ＩＫに対応する公開鍵と対を成す秘密鍵の所有を確認するようにしてもよい。
チケット発行手段４５０は、認証情報生成手段１５１を含み、アドレス割当手段１４０によって割当てられたアドレスＡＵと、ユーザ識別子割当手段１３０によって割当られたユーザ識別子ＩＤＵと、ユーザ端末５００からユーザ認証情報と共に送信された鍵情報と、認証情報生成手段１５１によって生成された認証情報ＩＡとを含むチケットを発行する。このようにしてチケットは、ユーザ識別子と鍵情報を対応づける。すなわち、認証されたユーザと、鍵情報と関連する秘密鍵を保持するユーザ端末とを結びつけることになる。チケットには、チケットを発行したときのタイムスタンプ、チケットの有効期間、ユーザ端末５００に割当てられた通信帯域幅、およびユーザ端末５００が収容されるアクセスポイント３０に関する情報などを含めてもよい。このチケット５３の例を図１５に示す。チケット５３は第１の実施の形態で用いたチケット５１とは鍵情報を含む点で異なっている。【００５３】  認証サーバ４００は認証要求を受けユーザ認証に成功すると、そのユーザにユーザ識別子を割当て、更にそのユーザ識別子と対応づけるユーザ端末にアドレスを割当てる。このアドレスがユーザ端末５００で第１の実施の形態の場合と同様に送信元アドレスとして設定される。鍵情報はユーザ端末５００の公開鍵と関連したものであるから、認証サーバ４００は、ユーザとそのユーザが利用するユーザ端末５００とを鍵情報により結びつけて（組として）ユーザ認証をしたことになり、かつその鍵情報をもつユーザ端末にアドレスが割当てられたことになる。【００５４】  この第２の実施の形態によれば、ユーザ認証のためのユーザ鍵ペアとセッション確立用の端末鍵ペアを異ならせ、ユーザ鍵ペアを、ユーザ端末に接続した認証デバイスに保持させることにより、どの場所のユーザ端末でも、認証デバイスを接続することで、利用することができるようになる。なおユーザ認証方法として鍵ペアを利用しない方法を用いることもできる。
（第２の実施の形態）ユーザ端末
図１３は、本発明の第２の実施の形態に使用するユーザ端末のブロック構成図である。ユーザ端末５００は、通信インターフェース２０１および制御処理手段５０２を備える。制御処理手段５０２は、プログラムを処理するＣＰＵ、およびプログラムを記憶するメモリなどを含む制御部５０２ａ、認証要求手段５０３、およびサービス要求手段５３０を有している。なお、これらの手段はプログラムのモジュールでもよい。また、認証要求手段５０３は、ユーザ認証情報入力手段５１０、ユーザ認証情報送信手段２２０、およびチケット受信手段２３１を有している。【００５５】  ユーザ認証情報入力手段５１０は、ユーザ認証情報などを認証デバイス４１から入力させる。認証デバイス４１に格納されたユーザ鍵ペアのうち秘密鍵は、認証デバイス４１から持ち出せない。また、認証デバイス４１は、ＩＣカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）キーなどを含むハードウエア認証トークン、または生体認証装置などである。あるいは入力機器４０からパスワード・ユーザ名をユーザ認証情報生成手段２１０に入力してユーザ認証情報を生成してもよい。なお、簡易的な方法として認証デバイス４１がユーザ端末５００に接続されない場合は、ユーザ鍵ペアの代用として鍵格納部５０２ｂに格納された端末鍵ペアを用いてユーザ認証情報を生成してもよい。【００５６】  また鍵情報生成部５０３ａは鍵格納部５０２ｂからユーザ端末５００の公開鍵を入力して鍵情報を生成する。鍵情報生成部５０３ａは入力された公開鍵をそのまま鍵情報として出力してもよい。ユーザ認証情報送信手段２２０はユーザ認証情報のみならず鍵情報も認証サーバ４００に送信して認証要求をする。
サービス要求手段５３０は、セッション確立手段５３２およびパケット暗号処理手段５３３を含み、アプリケーションサーバ６００が提供するサービスを要求する。セッション確立手段５３２は、ＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）などに準拠して、チケット５３に含まれる鍵情報と関連する公開鍵と対をなす秘密鍵ＫＳＳとアプリケーションサーバ６００の公開鍵ＫＰＳとからアプリケーションサーバ６００と互いに共有する秘密鍵をセッション秘密鍵ＫＣＵＳとして、セッション秘密鍵生成部５３２ａで生成する。【００５７】  パケット暗号処理手段５３３は、アプリケーションサーバ６００とセッション秘密鍵が共有された後、つまりアプリケーションサーバ６００でもユーザ端末５００と互いに共有する秘密鍵をセッション秘密鍵として生成した後、ＩＰｓｅｃ（ＳＥＣｕｒｉｔｙ  ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）またはＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）などに準拠して、セッション確立手段５３２によってアプリケーションサーバ６００との間で共有されたセッション秘密鍵を用いて、送信するパケットの情報に対する認証ヘッダを認証ヘッダ生成部５３３ａで計算し、この認証ヘッダＡＨを、送信するパケットに付加する。認証ヘッダ生成部５３３ａはパケットを改ざんしたか否かがわかるように、パケットに対しセッション秘密鍵を用いて一方向性ハッシュ関数を計算して認証ヘッダを生成する。また、パケット暗号処理手段５３３は図１３中に括弧書きで示すように、ＩＰｓｅｃまたはＴＬＳなどに準拠してパケットを暗号化部５３３ａ′で暗号化してもよい。あるいはパケット５４に認証ヘッダＡＨを付けた上でパケットに対して暗号化部５３３ａ′で暗号化してもよい。これら認証ヘッダＡＨの付加処理、パケットの暗号化処理を総称して、パケット暗号処理といい、またその処理を行う構成をパケット暗号処理手段という。【００５８】  図１６にパケット暗号処理手段５３３により生成したパケット５４の構成例を示す。図６に示したパケット５２とは、ヘッダ部５４ｈに認証ヘッダが付加され、ペイロード部５４ｐ中のチケット５３に鍵情報が付加されている点が異なる。なおパケットが暗号化部５３２ｂにより暗号化されると共に、認証ヘッダＡＨを付けてもよい。
（第２の実施の形態）アプリケーションサーバ
図１４は、本発明の第２の実施の形態に使用するアプリケーションサーバのブロック構成図である。アプリケーションサーバ６００は、通信インターフェース３０１および制御処理手段６０２を備える。制御処理手段６０２は、プログラムを処理するＣＰＵおよびプログラムを記憶するメモリなどを含む制御部６０２ａ、サービス提供手段６１０、セッション確立手段６１１、およびチケット記憶手段３３０を有している。なお、これらの手段はプログラムのモジュールでもよい。【００５９】  サービス提供手段６１０は、アドレス判断手段３１２、およびパケット認証手段６１２を備え、ユーザ端末５００から要求されるサービスを提供する。
セッション確立手段６１１はチケット検証手段６２０を含み、ユーザ端末５００とのセッションを確立する。セッションを確立する手順の中で、ＩＫＥなどに準拠してセッション秘密鍵をユーザ端末５００と互いに共有する。つまりセッション確立手段６１１は、鍵格納部６０２ｂ内のアプリケーションサーバ６００の秘密鍵ＫＳＡとユーザ端末５００の公開鍵ＫＰＵとを用いてユーザ端末５００と互いに共有する秘密鍵をセッション秘密鍵ＫＣＵＳとしてセッション秘密鍵生成部６１１ａにより生成する。【００６０】  パケット認証手段６１２は、ユーザ端末５００とセッション秘密鍵が共有された後、受信したパケット５４に付加された認証ヘッダＡＨをセッション秘密鍵ＫＣＵＳを用いて検証する。パケット認証手段６１２は、パケット５４に付加された認証ヘッダの検証結果が正常であればパケット５４内のチケット（ＣＫ２）５３をチケット検証手段６２０に出力する。受信したパケット５４がユーザ端末５００で暗号化されている場合は、パケット認証手段６１２ではなく、括弧書きで示すようにパケット復号手段６１２′が用いられ、パケット５４がセッション秘密鍵ＫＣＵＳで復号され、正しく復号されると、つまりパケット５４が改ざんされていなければ、復号されたパケット５４をチケット検証手段６２０へ出力する。前記認証ヘッダＡＨの認証処理、パケット５４の復号処理を総称してパケット検証といい、その検証を行う構成をパケット検証手段という。【００６１】  チケット検証手段６２０は、パケット認証手段６１２によって出力されたチケット５３の正当性を検証する。例えば、チケット検証手段６２０は、鍵照合部６２０ａでチケット５３に含まれる鍵情報ＩＫとセッション秘密鍵ＫＣＵＳの共有に用いたユーザ側の公開鍵とを照合し、その整合性がとれ、かつこの例ではまたチケット５３に含まれるアドレスＡＵとパケット５４の送信元アドレスＡＳとをアドレス照合部３２０ｂで照合し一致した場合、これを記憶指令部６２０ｃが検出してチケット記憶手段３３０に、チケット（ＣＫ２）５３を記憶する。ユーザ端末５００とのセッションが確立され、前記チケット（ＣＫ２）５３がチケット記憶手段３３０に記憶された後、そのセッションを通じてユーザ端末５００からサービス要求パケットを受信すると、サービス提供手段６１０は、パケット認証手段６１２（又はパケット復号手段６１２′）によりＩＰｓｅｃまたはＴＬＳ等に準拠してパケット５４が改ざんされてないことが確認された（又は復号された）パケット５４の送信元アドレスとチケット記憶手段３３０に記憶されている対応チケット（ＣＫ２）５３に含まれるアドレスとが一致するとアドレス判断手段３１２によって判断されると、ユーザ端末５００から要求されるサービスをユーザに提供するためのパケットをユーザ端末５００の前記セッションを通じて送信する。なお、チケット検証手段６２０は必要に応じて認証情報検証部３２０ａなど、第１実施形態中のアプリケーションサーバ３００と同様、図４中のチケット検証手段３２０に設けることができる各種検証部を設けてもよい。【００６２】  （第２の実施の形態）認証システムの処理手順
以下、本発明の第２の実施の形態に係るアドレスに基づく認証システムの処理手順を図１７を参照して説明する。
まず、（１）ユーザ端末５００でユーザ認証情報および鍵情報ＩＫを生成し、アクセスポイント３０を介して認証サーバ４００に認証要求を送信する。
（２）認証サーバ４００は認証要求を受信するとユーザ認証情報に基づいて、ユーザの認証を行い、ユーザの認証に成功すると、ユーザ識別子ＩＤＵの割当て、ＩＤＵと対応づけるユーザ端末にアドレスＡＵの割当てを行い、更に必要に応じて認証情報を生成し、ユーザ識別子ＩＤＵ、アドレスＡＵおよび鍵情報ＩＫなどを含むチケット５３を発行し、（３）そのチケットをユーザ端末５００に送信する。【００６３】  （４）ユーザ端末５００は受信したチケット中のアドレスＡＵを送信元アドレスとし、
（５）ユーザ端末５００は自己の秘密鍵ＫＳＵとアプリケーションサーバ６００の公開鍵ＫＰＳを用いてＩＫＥなどの鍵交換手順に準拠して、アプリケーションサーバ６００と共有するセッション秘密鍵ＫＣＵＳを計算する。このセッション秘密鍵ＫＣＵＳを用いて、アプリケーションサーバ６００に送信するパケットについて認証ヘッダＡＨを生成し、これをパケットに付加するようにする。さらにセッション確立の過程において、認証ヘッダおよびチケットを含むパケットをアプリケーションサーバ６００に送信する。以上の手順によりアプリケーションサーバ６００に対してセッションの確立を要求をする。【００６４】  （６）アプリケーションサーバ６００は、セッション確立の過程において、自己の秘密鍵ＫＳＳとユーザ端末の公開鍵ＫＰＵを用いてセッション秘密鍵ＫＣＵＳを計算し、このセッション秘密鍵ＫＣＵＳを用いてパケットに付加された認証ヘッダＡＨを検証し、更に必要に応じてセッション確立過程中に受信したチケット（ＣＫ２）５３中の認証情報ＩＡを認証サーバ４００との共有秘密鍵ＫＣＡＳで検証する。また受信されたチケット５３に含まれる鍵情報が、セッション秘密鍵ＫＣＵＳの計算に用いられたユーザ側の公開鍵（ユーザ公開鍵もしくは端末公開鍵）ＫＰＵと対応するか否かを検証し、受信したパケット５４の送信元アドレスＡＳと、チケット（ＣＫ２）５３に含まれるアドレスＡＵとを照合し、これらが全て成功すればチケット（ＣＫ２）５３を記憶し、セッションを確立する。【００６５】  （７）ユーザ端末５００は送信元アドレスＡＳを保護するためセッション秘密鍵ＫＣＵＳを用いて暗号化処理または認証ヘッダ付加処理のうち少なくとも１つを施し、サービスの要求を表すパケットをアプリケーションサーバ６００にその確立されたセッションを通じて送信する。
（８）アプリケーションサーバ６００ではサービス要求パケットをセッション秘密鍵ＫＣＵＳで復号し、または認証ヘッダを検証し、記憶したチケット５３に含まれるアドレスと、サービス要求を表すパケットの送信元アドレスＡＳとが一致するか否かを判断し、アドレスが一致すれば、サービスをユーザに提供するためのパケットをユーザ端末５００へ送信する。【００６６】  （第２の実施の形態）認証サーバの処理
図１８は、本発明の第２の実施の形態に使用する認証サーバの処理の流れを示すフローチャートである。
ユーザ端末５００から認証要求が受信されると（Ｓ１０１）、ユーザ認証情報に基づいて認証手段１２０によってユーザの認証が行われ、ユーザの認証が成功すれば、処理はＳ１０３へ進み、ユーザの認証が失敗すれば処理は終了する（Ｓ１０２）。アドレスＡＵ、ユーザ識別子ＩＤＵ、鍵情報ＩＫを含むチケット５３は、チケット発行手段４５０によって発行される（Ｓ４０２）。その他の処理は第１の実施の形態の認証サーバの処理手順と同様である。【００６７】  （第２の実施の形態）ユーザ端末の処理
図１９は、本発明の第２の実施の形態に使用するユーザ端末の処理の流れを示すフローチャートである。
図１９Ａに示すユーザ認証要求処理ではユーザ認証情報と鍵情報ＩＫは、ユーザ認証情報入力手段５１０によって入力され（Ｓ５０１）、ユーザ認証情報送信手段２２０によって通信インターフェース２０１を介して認証サーバ４００に送信される（Ｓ２０２）。認証サーバ４００から送信されたチケット（ＣＫ２）５３は、チケット受信手段２３１によって受信される（Ｓ２０３）。【００６８】  その後の図１９Ｂに示すアプリケーションサーバ６００とのセッションの確立処理では、セッション確立手段５３２によって開始され、セッション秘密鍵が、ユーザ端末５００とアプリケーションサーバ６００との間で共有される。ここで、チケット５３を含むパケット５４は、パケット処理手段５３３によって認証ヘッダ付加処理および／又は暗号化処理が施され、アプリケーションサーバ６００に送信される（Ｓ５０２）。
次に、アプリケーションサーバ６００とのセッションが確立された後、サービスの要求を表すパケットは、サービス要求手段５３０によってその確立されたセッションを通してアプリケーションサーバ６００に送信されることによって、サービスがアプリケーションサーバ６００に要求される（Ｓ２０５）。【００６９】  （第２の実施の形態）アプリケーションサーバの処理
図２０は、本発明の第２の実施の形態に使用するアプリケーションサーバの処理の流れを示すフローチャートである。
まず、ユーザ端末５００とのセッションの確立は、セッション確立手段６１１によって開始され、ＩＫＥなどの鍵交換手順に準拠して互いの自秘密鍵と相手公開鍵から計算して得られたセッション秘密鍵が、ユーザ端末５００とアプリケーションサーバ６００との間で共有される（Ｓ６０１）。ここで、ユーザ端末５００によって送信されたチケット５３を含むパケット５４が、アプリケーションサーバ６００によって受信される。【００７０】  受信されたパケット５４に付加された認証ヘッダは、パケット認証手段６１２によって、セッション秘密鍵を用いて検証され、パケット５４が改ざんされていない正しいものと検証された場合、処理はＳ６０３に進み、パケット５４が改ざんされているなど正しくないと検証された場合、処理は終了する（Ｓ６０２）。なおパケット５４が暗号化されている場合はパケット復号手段６１２′でセッション秘密鍵を用いて復号し、復号が正しく行われると処理はＳ６０３に進む。
チケット５３の正当性が検証され、つまり少くともチケット５３に含まれる鍵情報と、セッション秘密鍵の共有に用いたユーザ側の公開鍵との整合性が検証され、パケット５４の送信元アドレスＡＳとチケットに含まれるアドレスＡＵが一致している場合には（Ｓ６０３）、チケット５３は正しいものとして、チケット記憶手段３３０によって記憶される（Ｓ３０３）。【００７１】  セッションが確立された後、ユーザ端末５００から送信されたサービスを要求するパケットに対しパケットが改ざんされていない正しいものかが、パケット検証手段で検証され（Ｓ６０４）、正しければそのパケットの送信元アドレスは、記憶したチケット５３に含まれるアドレスと一致するか否かが判断され、アドレスが一致すると判断されると（Ｓ３０４）、サービス提供手段６１０によってユーザ端末５００を介してユーザにサービスが提供される（Ｓ３０５）。
なお、ユーザ端末５００がチケット５３を含むパケット５４をアプリケーションサーバ６００に送信するタイミングは、ＩＫＥなどの鍵交換手順の完了前でもよい。この場合には、鍵交換手順に先立って、ユーザ端末５００から送られたチケット５３を、チケット検証手段６２０により検証を行うことで、鍵交換手順を実行するか否かを事前に判断することができる。すなわち、チケットを持たないユーザ端末からの不正なサービス要求に対する処理を初期の段階で遮断できる利点が生じる。ただしチケット５３を含むパケット５４の送信が、ユーザ端末５００とアプリケーションサーバ６００間でセッション秘密鍵を共有する以前であり、パケット検証手段を機能させることができないから、パケット５４に対する改ざんの検出が出来ず、チケットの差し替えなどの不正の可能性が生じる。しかし、チケット５３に含まれる認証情報により、チケット検証手段６２０でチケット５３自身の改ざんが検出できること、さらには鍵交換が終了した時点で、鍵交換に用いたユーザ側の公開鍵と、チケット５３に含まれた鍵情報との整合性を検証することによりチケットが正しいユーザ端末から送られていることが確認できる。つまり鍵交換手順の完了前（直前もしくは手順中）にユーザ端末５００からアプリケーションサーバ６００へチケット５３を送った場合においても最終的には安全性が保持できる。【００７２】  以上説明したように、本発明の第２の実施の形態に係るアドレスに基づく認証システムは、認証サーバが、ユーザ端末を介して行うユーザ認証の結果に基づき、ユーザ識別子、アドレス、鍵情報の対応付けを保証するチケットをユーザ端末に送信し、ユーザ端末が、アプリケーションサーバにチケットを送信すると共にセッション秘密鍵を共有することでセッションを確立し、そのセッションを通してアプリケーションサーバにサービスを要求し、アプリケーションサーバは、受信したチケットの正当性を確認した後チケットを記憶し、受信したサービス要求のパケットの送信元アドレスと、記憶されたチケットに含まれるアドレスとを照合することでサービス要求を検証し、正しく検証された場合にサービスを提供するものである。【００７３】  とくに、ユーザ端末５００がアプリケーションサーバ６００にパケットを送信する際に、セッション秘密鍵を用いて計算された認証ヘッダ等の改ざん検出のための情報をパケットに付加して送信し、アプリケーションサーバ６００が、ユーザ端末５００から送信されたパケットに対して改ざんされていないことを確認しているため、セッションを通して、ユーザ端末５００からアプリケーションサーバ６００へ送信されるパケット５４に改ざんがないことを保証できる。すなわち、パケットに含まれる送信元アドレスに改ざんがないことが保証される。【００７４】  また、前記例ではアプリケーションサーバにおいて、セッションを確立する際にユーザ端末から受信した情報、例えばユーザ側の公開鍵と、チケットに含まれる鍵情報との整合性を検証するため、確立したセッションとチケットとを関連付けることができる。また、チケットは認証サーバにおいて、ユーザ端末を介したユーザ認証に基づいて発行され、ユーザ識別子とアドレスと鍵情報の関連付けを保証しているため、鍵情報と関連する鍵を持つユーザ端末と、ユーザ識別子により特定されるユーザとの対応付けが保証されている。したがって、確立したセッションとチケットにより、送信元アドレスとユーザの対応付けが保証される。【００７５】  さらに、チケットは前記のとおりユーザ認証に基づいて発行されるため、チケットに含まれるアドレスの正当性を保証できる。また前記の通り、アプリケーションサーバに記憶されたチケットに含まれるアドレスとパケットの送信元アドレスを照合すること、パケットの送信元アドレスは確立したセッションにおいて改ざんがないことが保証されていることにより、パケットの送信元アドレスの正当性が保証される。結果として、パケットの送信元アドレスの正当性、送信元アドレスとユーザの対応付けが保証されることから、アドレスに基づく認証が可能となる。【００７６】  なお、チケットによりアドレスの正当性の保証、即ち正しく認証されたユーザに正しい手順で払い出されたアドレスであることの保証、が可能となるのは、ユーザを認証する機能とアドレスを発行する機能、それらの関連付けを保証するチケット生成機能が、同一の認証サーバにより実現されているためである。また、チケットによりユーザと端末の対応付けの保証が可能となるのは、ユーザ端末を介したユーザ認証と同時に、ユーザ端末から認証サーバに鍵情報を送信する手順およびそのための構成により、ユーザと端末の関連付けを行っているためである。【００７７】  なお、ユーザと端末とアドレスの対応付けは、鍵情報に関連する秘密鍵を端末から消去することで無効化できる。これは秘密鍵がなければ鍵交換ができず、また、異なる鍵を用いれば、チケットに含まれる鍵情報と整合しないため，いずれの場合もセッションの確立が成功しないためである。
（第２の実施の形態）変形
第２の実施の形態は鍵情報ＩＫを利用した処理に関連する部分が第１の実施の形態と異なっている。従って第１の実施の形態においてその変形の項で説明した変形は、第２の実施の形態においても同様に可能である。【００７８】  アプリケーションサーバ６００で、アドレス照合部３２０ｂを省略して鍵照合部６２０ａで整合が取れることが確認できると、そのチケットＣＫ２をチケット記憶手段３３０に記憶するようにしてもよい。
鍵情報ＩＫとしてはユーザ端末の公開鍵と関連した情報に限らない。例えばユーザ端末５００とアプリケーションサーバ６００間で事前に認証用共有秘密鍵ＫＵＳを共有する場合には、その認証用共有秘密鍵ＫＵＳの所有を証明できる情報であってもよい。例えば図２１Ａのシーケンス図に示されるように、認証サーバ４００においてユーザ認証に成功するとチャレンジ生成部４６０（図２１Ｂ）でチャレンジｂを生成してユーザ端末５００に送信する。【００７９】  ユーザ端末５００は、認証要求手段５０３内の鍵情報生成部５０３ｂ′（図２１Ｃ）を用いて、受け取ったｂに対するレスポンスとして、ｂと認証用共有秘密鍵ＫＵＳを入力とした一方向性ハッシュ関数ｈの値ｒ＝ｈ（ＫＵＳ，ｂ）を計算し、チャレンジｂとレスポンスｒの組を鍵情報ＩＫ＝｛ｂ、ｒ｝として生成する。そして鍵情報ＩＫが認証サーバ４００に送信される。なおチャレンジｂとしては、認証サーバ５００から明示的に送信される値の代わりに、レスポンスを生成する時刻（タイムスタンプ）やセッション中のシーケンス番号などの暗黙のチャレンジを用いてもよく、この場合はチャレンジの送受信を省略できる。【００８０】  認証サーバ４００では、受信した鍵情報ＩＫに含まれるチャレンジｂの正当性を確認し、正しく確認できたとき鍵情報ＩＫを含むチケットＣＫ２を発行する。なお、チャレンジの正当性はチャレンジｂが明示的なもの、もしくはユーザ端末５００と認証サーバ４００の間のセッションに依存して一意に定まるものであれば、その一致を確認し、チャレンジｂがレスポンスｒを計算した時刻ｔ１であるなど、暗黙のチャレンジであれば、ｔ１とチケット発行時刻ｔ２の差が許容範囲ｄ内である（すなわちｔ２−ｔ１≦ｄ）などの条件によりその正当性を確認する。なお、共有秘密鍵を用いてチャレンジとレスポンスにより行う認証は公知技術であるため、より詳細な説明は省略する。【００８１】  チケットＣＫ２を受信したユーザ端末５００は、サービス要求のためのセッションを確立する際に、前述したように、チケットＣＫ２をアプリケーションサーバ６００に送信する。
アプリケーションサーバ６００では、チケット検証手段６２０内の端末認証部６２０ｄ（図２１Ｄ）により鍵情報ＩＫ＝｛ｂ、ｒ｝を入力し、共有秘密鍵ＫＵＳを用いてチャレンジｂに対するハッシュ値（ＫＵＳ，ｂ）が再計算され、このハッシュ値と鍵情報ＩＫ内のレスポンスｒとが一致するか否かが照合判定部で照合される。照合の結果が一致すれば端末認証部６２０ｄの照合判定部より記憶指令部６２０ｃ（図１４）に対して、記憶許可を示す指令が出力され、チケットが記憶される。【００８２】  なおアプリケーションサーバ６００の端末認証部６２０ｄ（図２１ｄ）は、図２１Ａ中に破線で示すように、ユーザ端末５００との間のセッションを確立する過程において付加的なチャレンジｂ′をユーザ端末に送信し、対応するレスポンスｒ′＝ｈ（Ｋｕｓ，ｂ′）をユーザ端末５００から受信し、ｒ′の正当性の確認を行ってもよい。（この場合においてもｂ′を暗黙のチャレンジに置き換えてもよい。）
以上の手順により、アプリケーションサーバ６００は、鍵情報ＩＫに基づいて、セッション依存情報であるところのチャレンジｂ（ｂ′）に対するレスポンスｒ（ｒ′）が正しいものであることを確認することにより、ユーザ端末５００がユーザ認証時（加えてサービス要求時）に共有秘密鍵ＫＵＳを保持していたことを認めることができる。【００８３】  さらに、チケットＣＫ２はユーザ認証に基づき発行されたのもであるから、鍵情報ＩＫと、アドレスＡＵ、ユーザ識別子ＩＤＵの対応づけが保証され、したがって、鍵情報が指し示す共有秘密鍵ＫＵＳを持つユーザ端末に、アドレスＡＵが払い出されたことを保証できる。また、そのアドレスＡＵを送信元として行われたサービス要求が、認証されたユーザのものであることを保証できる。さらには認証されたユーザのＩＤ、名前、住所などと関連付けることができる。
更に鍵情報ＩＫとしては最初の例のようにユーザ端末の公開鍵ＫＰＵと関連した情報でもよく、ユーザ端末５００とアプリケーションサーバ６００との認証用共有秘密鍵を保持していることを証明する情報でもよいということは、要はユーザ端末５００が、ユーザ端末５００を、一般に、又はサービスを要求されたアプリケーションサーバが一意に識別できる秘密鍵つまり、前者でユーザ端末の鍵ペアの秘密鍵ＫＳＵ、後者では認証用共有秘密鍵ＫＵＳなどの秘密鍵を保持していることをアプリケーションサーバ６００が鍵情報ＩＫに基づき検証することができる鍵情報ＩＫであればよい。【００８４】  図２及び図１２に示した各認証サーバ、図３及び図１３に示した各ユーザ端末、図４及び図１４に示した各アプリケーションサーバはいれずれもコンピュータに機能させてもよい。例えばコンピュータに、図２に示した認証サーバとして機能させるための認証サーバプログラムを、ＣＤ−ＲＯＭ、磁気ディスク、半導体記憶媒体などの記録媒体からインストールし、あるいは通信回線を有してダウンロードし、その認証サーバプログラムを実行させればよい。その他のものについても同様である。
【図１】
2005011192.tif 000003
【図２】
2005011192.tif 000004
【図３】
2005011192.tif 000005
【図４】
2005011192.tif 000006
【図５】
2005011192.tif 000007
【図６】
2005011192.tif 000008
【図７】
2005011192.tif 000009
【図８】
2005011192.tif 000010
【図９】
2005011192.tif 000011
【図１０】
2005011192.tif 000012
【図１１】
2005011192.tif 000013
【図１２】
2005011192.tif 000014
【図１３】
2005011192.tif 000015
【図１４】
2005011192.tif 000016
【図１５】
2005011192.tif 000017
【図１６】
2005011192.tif 000018
【図１７】
2005011192.tif 000019
【図１８】
2005011192.tif 000020
【図１９】
2005011192.tif 000021
【図２０】
2005011192.tif 000022
【図２１】
2005011192.tif 000023
【国際調査報告】
2005011192.tif 000024
2005011192.tif 000025
2005011192.tif 000026
2005011192.tif 000027