(57)【要約】【課題】認証者を介することなく、代理認証者が直接、被認証者の認証処理をおこなえること。【解決手段】エージェント４を識別する第１の認証情報およびユーザ３を識別する第２の認証情報を受信する送受信部３４と、前記第１の認証情報とサーバ２の識別情報である第３の認証情報とに基づいてエージェント４においてユーザ３のアクセス権限を判断するための被認証用認証情報を生成するマスク関数演算部３１ｂと、前記第１、第２、第３の認証情報に基づいて、エージェント４においてユーザ３のアクセス権限を判断するための代理認証用認証情報を生成する一方向性変換関数演算部３１ａと、前記代理認証用認証情報および前記被認証用認証情報をエージェント４へ送信するための送受信部３４と、を備える。【選択図】        図３
2006040182.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの情報処理装置（以下、２つの情報処理装置を、「第１の情報処理装置」と、「第２の情報処理装置」とする）の間において、前記第１の情報処理装置が前記第２の情報処理装置のアクセス権限の有無を判断する認証処理をおこなうために、前記第１の情報処理装置と前記第２の情報処理装置にそれぞれ固有の認証情報を付与する認証情報付与方法であって、
前記第１の情報処理装置を識別する第１の認証情報を前記第１の情報処理装置から受信し、前記第２の情報処理装置を識別する第２の認証情報を前記第２の情報処理装置から受信する第１の受信工程と、
前記第１の認証情報と、前記情報処理装置を識別する第３の認証情報とに基づいて、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限を判断するための被認証用認証情報を生成する被認証用認証情報生成工程と、
前記第１の認証情報および前記第２の認証情報と、前記第３の認証情報とに基づいて、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限を判断するための代理認証用認証情報を生成する代理認証用認証情報生成工程と、
前記被認証用認証情報生成工程によって生成された前記被認証用認証情報を前記第１の情報処理装置を介して前記第２の情報処理装置へ送信し、前記代理認証用認証情報生成工程によって生成された前記代理認証用認証情報を前記第１の情報処理装置へ送信する第１の送信工程と、
を含むことを特徴とする認証情報付与方法。
【請求項２】
少なくとも３つの情報処理装置（以下、３つの情報処理装置を、「第１の情報処理装置」と、「第２の情報処理装置」と、「第３の情報処理装置」とする）の間において、前記第２の情報処理装置が前記第３の情報処理装置のアクセス権限の有無を判断する認証処理をおこなうために、前記第２の情報処理装置と前記第３の情報処理装置にそれぞれ固有の認証情報を前記第１の情報処理装置が付与する認証方法であって、
前記第１の情報処理装置は、前記第２の情報処理装置を識別する第２の認証情報を前記第２の情報処理装置から受信し、前記第３の情報処理装置を識別する第３の認証情報を前記第３の情報処理装置から受信する第１の受信工程と、
前記第２の認証情報と、前記第１の情報処理装置を識別する第１の認証情報とに基づいて、前記第２の情報処理装置において前記第３の情報処理装置のアクセス権限を判断するための被認証用認証情報を生成する被認証用認証情報生成工程と、
前記第１の認証情報と、前記第２の認証情報と、前記第３の認証情報とに基づいて、前記第２の情報処理装置において前記第３の情報処理装置のアクセス権限を判断するための代理認証用認証情報を生成する代理認証用認証情報生成工程と、
前記被認証用認証情報生成工程によって生成された前記被認証用認証情報を前記第２の情報処理装置を介して前記第３の情報処理装置へ送信し、前記代理認証用認証情報生成工程によって生成された前記代理認証用認証情報を前記第２の情報処理装置へ送信する第１の送信工程と、を含み、
前記第３の情報処理装置は、前記第１の送信工程によって送信された前記被認証用認証情報を受信する第２の受信工程と、
前記被認証用認証情報と、前記第３の認証情報とに基づいて、認証要求用認証情報を生成する認証要求用認証情報生成工程と、
前記認証要求用認証情報生成工程によって生成された前記認証要求用認証情報を第２の情報処理装置に送信する第２の送信工程と、を含み、
前記第２の情報処理装置は、前記第２の送信工程によって送信された前記代理認証用認証情報を受信する第３の受信工程と、
前記代理認証用認証情報と、前記第２の送信工程によって送信された認証要求用認証情報とを比較し、前記第３の情報処理装置のアクセス権限の有無を判断する認証処理をおこなう認証可否判断工程と、
を含むことを特徴とする認証方法。
【請求項３】
前記代理認証用認証情報生成工程は、前記第１の認証情報と、前記第２の認証情報と、前記第３の認証情報と、に対して演算前の値を算出することが困難な一方向性変換関数による演算をおこない前記代理認証用認証情報を生成し、
前記被認証用認証情報生成工程は、前記第１の認証情報と、前記第３の認証情報と、に対して演算前の値を算出することが容易なマスク関数による演算をおこない前記被認証用認証情報を生成し、
前記認証要求用認証情報生成工程は、前記被認証用認証情報から前記マスク関数による演算前の値を算出した後、算出した前記マスク関数による演算前の値と、前記第２の認証情報と、に対して一方向性変換関数による演算をおこない前記認証要求用認証情報を生成することを特徴とする請求項２に記載の認証方法。
【請求項４】
前記第１の認証情報、前記第２の認証情報、前記第３の認証情報は、前記認証可否判断工程による認証処理をおこなうごとに更新されることを特徴とする請求項２または３に記載の認証方法。
【請求項５】
請求項２〜４のいずれか一つに記載の認証方法をコンピュータに実行させることを特徴とする認証プログラム。
【請求項６】
少なくとも２つの情報処理装置（以下、２つの情報処理装置を、「第１の情報処理装置」と、「第２の情報処理装置」とする）の間において、前記第１の情報処理装置が前記第２の情報処理装置のアクセス権限の有無を判断する認証処理をおこなうために、前記第１の情報処理装置と前記第２の情報処理装置にそれぞれ固有の認証情報の付与をおこなう情報処理装置であって、
前記第１の情報処理装置を識別する第１の認証情報を当該第１の情報処理装置から受信し、前記第２の情報処理装置を識別する第２の認証情報を当該第２の情報処理装置から受信する第１の受信手段と、
前記第１の受信手段によって受信された前記第１の認証情報と、前記情報処理装置を識別する第３の認証情報とに基づいて、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限を判断するための被認証用認証情報を生成する被認証用認証情報生成手段と、
前記第１の受信手段によって受信された前記第１の認証情報および前記第２の認証情報と、前記第３の認証情報とに基づいて、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限を判断するための代理認証用認証情報を生成する代理認証用認証情報生成手段と、
前記被認証用認証情報生成手段によって生成された被認証用認証情報を前記第１の情報処理装置を介して前記第２の情報処理装置へ送信し、前記代理認証用認証情報生成手段によって生成された代理認証用認証情報を前記第１の情報処理装置へ送信するための送信手段と、
を備えたことを特徴とする情報処理装置。
【請求項７】
前記被認証用認証情報は、当該第２の情報処理装置によって当該被認証用認証情報と、前記第２の認証情報とに基づいて認証要求用認証情報として生成された後に前記第１の情報処理装置に送信され、
前記代理認証用認証情報は、前記認証要求用認証情報と比較され、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限の有無を判断することを特徴とする請求項６に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報通信システムなどにおいて、通信相手やユーザの利用資格を認証する認証情報付与方法、認証方法、認証プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
従来、認証者（サーバ）が被認証者（ユーザ）を認証する際に、ユーザにパスワードの入力を要求し、入力されたパスワードの正当性をもってユーザを認証するパスワード認証方式が広く用いられている。また、パスワード認証方式においてパスワードによる認証の安全性を担保するため、認証ごとに使い捨てのパスワードを用いるワンタイムパスワード方式や、パスワードそのものではなくパスワードから生成した認証情報を用いて認証をおこなう方式が知られている。
【０００３】
例えば、ＳＡＳ−２（Ｓｉｍｐｌｅ  Ａｎｄ  Ｓｅｃｕｒｅ  ｐａｓｓｗｏｒｄ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｐｒｏｔｏｃｏｌ  Ｖｅｒ．２）認証方式は、パスワード認証方式の一例であり、サーバは以下のような手順によってユーザを認証する（例えば、下記非特許文献１参照。）。図１８〜２０は、ＳＡＳ−２認証方式におけるユーザ認証の処理工程を示すフローチャートである。
【０００４】
なお、以下の説明において用いる記号および演算は、「←」は右辺の左辺への代入、「Ｓ」はユーザが秘密に保持しているパスワード、「ＩＤ」はユーザ識別子、「ＸＯＲ」は排他的論理和演算、「ｎ」は認証回数、「Ｎn」は乱数（ｎは１以上の整数で、乱数を識別するために用いる）、をそれぞれ示している。また、「Ｆ」「Ｈ」はパスワードＳを用いない一方向性変換関数、「Ｘ」はパスワードＳと乱数Ｎnを用いる一方向性変換関数で、Ｘn＝Ｘ（ＩＤ，Ｓ  ＸＯＲ  Ｎn）、をそれぞれ示している。
【０００５】
まず、ユーザは、以下の手順によって、認証を受けたいサーバにあらかじめ登録をおこなっておく（以下、この登録作業を「初期登録」という）。ユーザの初期登録処理の工程を図１８を参照して説明する。ユーザは、あらかじめユーザ識別子ＩＤおよびパスワードＳを保持している。
【０００６】
はじめに、ユーザは、乱数Ｎ1を生成し、保存する（ステップＳ２５１）。そして、乱数Ｎ1、秘密に保持しているパスワードＳ、ユーザ識別子ＩＤを用いて、下記式（１）に示す初回認証情報Ａを算出し（ステップＳ２５２）、ユーザ識別子ＩＤとともに安全な手段でサーバに送付する（ステップＳ２５３）。安全な手段とは、当該情報の専用線による送信や、当該情報を記憶した記憶媒体の郵送による送付などである。初回認証情報Ａは、初回（ｎ＝１）の認証に用いる認証情報である。
Ａ←Ｘ1（ＩＤ，Ｓ  ＸＯＲ  Ｎ1）・・・（１）
【０００７】
サーバは、ステップＳ２５３でユーザから送付されたユーザ識別子ＩＤと、初回認証情報Ａとを対応づけて保存しておく（ステップＳ２５４）。以上がユーザの初期登録作業の手順である。
【０００８】
つぎに、初回（ｎ＝１）以降、ｎ回目の認証時の認証手順を図１９を参照して説明する。このとき、ユーザは、ＩＤ，Ｓ，Ｎnを保存している。まず、ユーザは保存している乱数Ｎnから、下記式（２）に示すＡを算出する（ステップＳ２６１）。
Ａ  ←  Ｘn（ＩＤ，Ｓ  ＸＯＲ  Ｎn）・・・（２）
【０００９】
つぎに、さらに新しい乱数Ｎn+1を生成するか、またはＡをＮn+1として、Ｎn+1を保存する（ステップＳ２６２）。そして、Ｎn+1を用いて、下記式（３），（４）に示すＣ，Ｄを算出し、算出したＣ，Ｄ、およびをＡを用いて、下記式（５），（６）に示すαおよびβ算出する（ステップＳ２６３）。
Ｃ  ←  Ｘn（ＩＤ，Ｓ  ＸＯＲ  Ｎn+1）・・・（３）
Ｄ  ←  Ｆ（ＩＤ，Ｃ）・・・（４）
α  ←  Ｃ  ＸＯＲ（Ｄ＋Ａ）・・・（５）
β  ←  Ｄ  ＸＯＲ  Ａ・・・（６）
【００１０】
そして、算出したα，βをＩＤとともにサーバに送付する（ステップＳ２６４）。このとき、Ａは今回認証情報、Ｃは次回認証情報、Ｄは次回認証情報Ｃを一方向性変換したもうひとつの次回認証情報である。
【００１１】
サーバは、ユーザからαおよびβの送付を受けると、送付されたαとβに対して、ＩＤに対応して登録されている今回認証情報Ａを用いて、下記式（７）に示すＤを算出する。さらに、算出したＤと今回認証情報Ａの和を用いて下記式（８）に示すＣを算出する（ステップＳ２６５）。
Ｄ  ←  β  ＸＯＲ  Ａ・・・（７）
Ｃ  ←  α  ＸＯＲ（Ｄ＋Ａ）・・・（８）
【００１２】
つぎに、サーバは上記式（８）によって算出したＣを、ＩＤとともに一方向性変換した結果と、Ｄとが一致するかどうかを検証する（ステップＳ２６６）。両者が一致する場合（ステップＳ２６６：Ｙｅｓ）、ユーザに被認証者としての資格を認証し、次回の認証に用いる認証情報として、次回認証情報ＣをＡとして保存する（ステップＳ２６７）。
【００１３】
一方、両者が一致しない場合（ステップＳ２６６：Ｎｏ）、認証不成立として（ステップＳ２６８）、本フローチャートによる処理を終了する。以上のような手順によって、サーバは、認証を求めてきたユーザに対して認証をおこなうか否かを判断する。
【００１４】
さらに、ユーザ側でもサーバに対する認証をおこない、ユーザ−サーバ間で相互認証をおこなうこともできる。ユーザ−サーバ間で相互認証をおこなう際の処理について、図２０を参照して説明する。
【００１５】
まず、図１９を用いて説明した処理によって、サーバ側でユーザの認証をおこなう（ステップＳ２７１）。サーバ側でユーザの認証が成立した後、サーバは、次回認証情報Ｃに一方向性変換Ｆを施して得られるデータＤに、さらに下記式（９）に示す一方向性変換Ｈを施し、データγを算出する（ステップＳ２７２）。そして、得られたデータγをユーザへと送付する（ステップＳ２７３）。
γ  ←  Ｈ（ＩＤ，Ｄ）・・・（９）
【００１６】
ユーザは、ＩＤと次回認証情報Ｃに一方向性変換Ｆを施して得られるデータＤに、一方向性変換Ｈを施したデータ、すなわちＨ（ＩＤ，Ｄ）を算出する（ステップＳ２７４）。そして、算出したＨ（ＩＤ，Ｄ）と、ステップＳ２７３でサーバから送付されたデータγとが一致するか検証する（ステップＳ２７５）。両者が一致する場合（ステップＳ２７５：Ｙｅｓ）、サーバによる認証が成功したことを確認、もしくは、ユーザがサーバを相互に認証する（ステップＳ２７６）。
【００１７】
一方、両者が一致しない場合（ステップＳ２７５：Ｎｏ）、認証不成立として（ステップＳ２７７）、本フローチャートによる処理を終了する。以上のような処理によって、ユーザ−サーバ間で相互認証をおこなうことができる。
【００１８】
【非特許文献１】辻貴介（Ｔａｋａｓｕｋｅ  ＴＳＵＪＩ）、他１名、「ア  ワンタイム  パスワード  オーセンティケイション  メソッド  フォー  ロー  スペック  マシンズ  アンド  オン  インターネット  プロトコルズ（Ａ  Ｏｎｅ−Ｔｉｍｅ  Ｐａｓｓｗｏｒｄ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｌｏｗ  Ｓｐｅｃ  Ｍａｃｈｉｎｅｓ  ａｎｄ  ｏｎ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌｓ）」、アイ・イー・アイ・シー・イー  トランス．コミューン（ＩＥＩＣＥ  ＴＲＡＮＳ．ＣＯＭＭＵＮ．）、２００４年７月、ＶＯＬ．Ｅ８７−Ｂ，Ｎｏ６
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、前記ＳＡＳ−２認証方式をはじめとするパスワード認証方式は、認証者と被認証者が１対１で認証をおこなうことが前提となっている。一方、例えば複数あるオフィスへの入室制御や駅の改札口、複数存在する支払い機器へのゲート通過制御など、被認証者の認証にあたり、認証者以外の者（端末等）が介在する場合が存在する。このような場合、すなわち三者間での認証処理にＳＡＳ−２認証方式を適用するには、以下の２つの方法が考えられる。なお、以下、認証者に代わって被認証者を認証する者（端末等）を「代理認証者」という。
【００２０】
１つ目は、各代理認証者と被認証者との間でＳＡＳ−２認証方式を適用する方法である。２つ目は、認証者、代理認証者、被認証者の三者間でＳＡＳ−２認証方式を適用する方法である。前者においては、代理認証者は一般的に複数置かれることが多いため、代理認証者間での認証情報の管理が煩雑になってしまうという問題がある。また、後者においては、認証処理に時間がかかり、ゲート通過制御のような極僅かな時間で認証処理が完了することを要求されるサービスに適用することは困難である。
【００２１】
近年、インターネットやモバイル通信が普及し、個人情報を扱うサービスが増加している。このようなサービスにおいては、アクセス制御が不可欠であり、ユーザの権限を保証するためのユーザ認証技術が必要とされている。さらに、ＩＣカードや携帯電話などを用いたユビキタスコンピューティング技術が発展しており、より機能性の高い認証方式が求められている。
【００２２】
本発明は、上述した従来技術による問題を解決するため、被認証者、代理認証者、認証者、三者の認証情報を用いて、代理認証者が直接、被認証者の認証をおこなうことができる自己完結型の認証情報付与方法、認証方法、認証プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００２３】
上述した問題を解決し、目的を達成するため、請求項１にかかる認証情報付与方法は、少なくとも２つの情報処理装置（以下、２つの情報処理装置を、「第１の情報処理装置」と、「第２の情報処理装置」とする）の間において、前記第１の情報処理装置が前記第２の情報処理装置のアクセス権限の有無を判断する認証処理をおこなうために、前記第１の情報処理装置と前記第２の情報処理装置にそれぞれ固有の認証情報を付与する認証情報付与方法であって、前記第１の情報処理装置を識別する第１の認証情報を前記第１の情報処理装置から受信し、前記第２の情報処理装置を識別する第２の認証情報を前記第２の情報処理装置から受信する第１の受信工程と、前記第１の認証情報と、前記情報処理装置を識別する第３の認証情報とに基づいて、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限を判断するための被認証用認証情報を生成する被認証用認証情報生成工程と、前記第１の認証情報および前記第２の認証情報と、前記第３の認証情報とに基づいて、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限を判断するための代理認証用認証情報を生成する代理認証用認証情報生成工程と、前記被認証用認証情報生成工程によって生成された前記被認証用認証情報を前記第１の情報処理装置を介して前記第２の情報処理装置へ送信し、前記代理認証用認証情報生成工程によって生成された前記代理認証用認証情報を前記第１の情報処理装置へ送信する第１の送信工程と、を含むことを特徴とする。
【００２４】
この請求項１に記載の発明によれば、第１の情報処理装置において第２の情報処理装置のアクセス権限を判断するための被認証用認証情報および代理認証用認証情報を、情報処理装置において生成し、第１の情報処理装置に送信することができる。これにより第１の情報処理装置は、第２の情報処理装置のアクセス権限を直接、判断する認証処理をおこなえるようになる。
【００２５】
また、請求項２に記載の発明にかかる認証方法は、少なくとも３つの情報処理装置（以下、３つの情報処理装置を、「第１の情報処理装置」と、「第２の情報処理装置」と、「第３の情報処理装置」とする）の間において、前記第２の情報処理装置が前記第３の情報処理装置のアクセス権限の有無を判断する認証処理をおこなうために、前記第２の情報処理装置と前記第３の情報処理装置にそれぞれ固有の認証情報を前記第１の情報処理装置が付与する認証方法であって、前記第１の情報処理装置は、前記第２の情報処理装置を識別する第２の認証情報を前記第２の情報処理装置から受信し、前記第３の情報処理装置を識別する第３の認証情報を前記第３の情報処理装置から受信する第１の受信工程と、前記第２の認証情報と、前記第１の情報処理装置を識別する第１の認証情報とに基づいて、前記第２の情報処理装置において前記第３の情報処理装置のアクセス権限を判断するための被認証用認証情報を生成する被認証用認証情報生成工程と、前記第１の認証情報と、前記第２の認証情報と、前記第３の認証情報とに基づいて、前記第２の情報処理装置において前記第３の情報処理装置のアクセス権限を判断するための代理認証用認証情報を生成する代理認証用認証情報生成工程と、前記被認証用認証情報生成工程によって生成された前記被認証用認証情報を前記第２の情報処理装置を介して前記第３の情報処理装置へ送信し、前記代理認証用認証情報生成工程によって生成された前記代理認証用認証情報を前記第２の情報処理装置へ送信する第１の送信工程と、を含み、前記第３の情報処理装置は、前記第１の送信工程によって送信された前記被認証用認証情報を受信する第２の受信工程と、前記被認証用認証情報と、前記第３の認証情報とに基づいて、認証要求用認証情報を生成する認証要求用認証情報生成工程と、前記認証要求用認証情報生成工程によって生成された前記認証要求用認証情報を第２の情報処理装置に送信する第２の送信工程と、を含み、前記第２の情報処理装置は、前記第２の送信工程によって送信された前記代理認証用認証情報を受信する第３の受信工程と、前記代理認証用認証情報と、前記第２の送信工程によって送信された認証要求用認証情報とを比較し、前記第３の情報処理装置のアクセス権限の有無を判断する認証処理をおこなう認証可否判断工程と、を含むことを特徴とする。
【００２６】
この請求項２に記載の発明によれば、第２の情報処理装置において第３の情報処理装置のアクセス権限を判断するための被認証用認証情報および代理認証用認証情報を、情報処理装置において生成し、第２の情報処理装置に送信することができる。認証時においては、第２の情報処理装置を介して第３の情報処理装置に送信された被認証用認証情報と、第３の認証情報とに基づいて認証要求用認証情報を生成し、第２の情報処理装置に送信する。第２の情報処理装置は、受信した認証要求用認証情報と、代理認証用認証情報とを比較することによって、第３の情報処理装置のアクセス権限の有無を直接、判断する認証処理をおこなうことができる。
【００２７】
また、請求項３に記載の発明にかかる認証方法は、請求項２に記載の発明において、前記代理認証用認証情報生成工程は、前記第１の認証情報と、前記第２の認証情報と、前記第３の認証情報と、に対して演算前の値を算出することが困難な一方向性変換関数による演算をおこない前記代理認証用認証情報を生成し、前記被認証用認証情報生成工程は、前記第１の認証情報と、前記第３の認証情報と、に対して演算前の値を算出することが容易なマスク関数による演算をおこない前記被認証用認証情報を生成し、前記認証要求用認証情報生成工程は、前記被認証用認証情報から前記マスク関数による演算前の値を算出した後、算出した前記マスク関数による演算前の値と、前記第２の認証情報と、に対して一方向性変換関数による演算をおこない前記認証要求用認証情報を生成することを特徴とする。
【００２８】
この請求項３に記載の発明によれば、代理認証用認証情報および認証要求用認証情報は、一方向性変換関数による演算によって生成されるため、当該情報の元となる情報を第三者などによって不正に算出されることが困難となる。また、被認証用認証情報は、マスク関数による演算によってマスクして送信されるため、途中で情報の漏洩が生じても、悪用される恐れが低くなる。
【００２９】
また、請求項４に記載の発明にかかる認証方法は、請求項２または３に記載の発明において、前記第１の認証情報、前記第２の認証情報、前記第３の認証情報は、前記認証可否判断工程による認証処理をおこなうごとに更新されることを特徴とする。
【００３０】
この請求項４に記載の発明によれば、前記第１の認証情報と、前記第２の認証情報と、前記第３の認証情報は、前記認証判断工程が認証処理をおこなうごとに更新されるので、認証情報の再利用ができなくなり、認証情報が漏洩しても第三者などに悪用される恐れがなくなる。
【００３１】
また、請求項５に記載の発明にかかる認証プログラムは、請求項２〜４のいずれか一つに記載の認証方法をコンピュータに実行させることを特徴とする。
【００３２】
この請求項５に記載の発明によれば、請求項２〜４のいずれか一つに記載の認証方法をコンピュータに実行させることができる。
【００３３】
また、請求項６に記載の発明にかかる情報処理装置は、少なくとも２つの情報処理装置（以下、２つの情報処理装置を、「第１の情報処理装置」と、「第２の情報処理装置」とする）の間において、前記第１の情報処理装置が前記第２の情報処理装置のアクセス権限の有無を判断する認証処理をおこなうために、前記第１の情報処理装置と前記第２の情報処理装置にそれぞれ固有の認証情報の付与をおこなう情報処理装置であって、前記第１の情報処理装置を識別する第１の認証情報を当該第１の情報処理装置から受信し、前記第２の情報処理装置を識別する第２の認証情報を当該第２の情報処理装置から受信する第１の受信手段と、前記第１の受信手段によって受信された前記第１の認証情報と、前記情報処理装置を識別する第３の認証情報とに基づいて、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限を判断するための被認証用認証情報を生成する被認証用認証情報生成手段と、前記第１の受信手段によって受信された前記第１の認証情報および前記第２の認証情報と、前記第３の認証情報とに基づいて、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限を判断するための代理認証用認証情報を生成する代理認証用認証情報生成手段と、前記被認証用認証情報生成手段によって生成された被認証用認証情報を前記第１の情報処理装置を介して前記第２の情報処理装置へ送信し、前記代理認証用認証情報生成手段によって生成された代理認証用認証情報を前記第１の情報処理装置へ送信するための送信手段と、を備えたことを特徴とする。
【００３４】
この請求項６に記載の発明によれば、第１の情報処理装置において第２の情報処理装置のアクセス権限を判断するための被認証用認証情報および代理認証用認証情報を生成し、第１の情報処理装置に送信することができる。これにより第１の情報処理装置は、第２の情報処理装置のアクセス権限を直接、判断する認証処理をおこなえるようになる。
【００３５】
また、請求項７に記載の発明にかかる情報処理装置は、請求項６に記載の発明において、前記被認証用認証情報は、当該第２の情報処理装置によって当該被認証用認証情報と、前記第２の認証情報とに基づいて認証要求用認証情報として生成された後に前記第１の情報処理装置に送信され、前記代理認証用認証情報は、前記認証要求用認証情報と比較され、前記第１の情報処理装置において前記第２の情報処理装置のアクセス権限の有無を判断することを特徴とする。
【００３６】
この請求項７に記載の発明によれば、第１の情報処理装置が第２の情報処理装置を認証する際において、被認証用認証情報は、第２の認証処理装置において第２の認証情報に基づいて認証要求用認証情報として生成され、第１の情報処理装置に送信される。そして、第１の情報処理装置に送信された、認証要求用認証情報と、代理認証用認証情報とを比較することによって、第１の情報処理装置において第２の情報処理装置のアクセス権限の有無を直接、判断する認証処理をおこなうことができる。
【発明の効果】
【００３７】
本発明にかかる認証情報付与方法、認証方法、認証プログラムおよび情報処理装置によれば、認証者を介することなく、代理認証者によって直接、被認証者の認証処理を迅速におこなうことができる。また、認証者と被認証者が１対１の認証のみならず、代理認証者と被認証者がｎ対ｎの場合であっても認証処理をおこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００３８】
（実施の形態１）
まず、実施の形態１にかかるデータ送受信システムの構成について、図１を参照して説明する。図１は、実施の形態１にかかるデータ送受信システムのシステム構成を示す説明図である。データ送受信システム１は、サーバ２、ユーザ３（３ａ〜３ｃ）、エージェント４（４ａ〜４ｃ）によって構成される。サーバ２は認証者、ユーザ３は被認証者、エージェント４は代理認証者である。また、サーバ２、ユーザ３ａ〜３ｃ、エージェント４ａ〜４ｃは、ネットワーク５によって相互に接続されている。
【００３９】
サーバ２は、ユーザ３およびエージェント４の認証情報を統括している。ユーザ３は、エージェント４に対して認証を要求する。エージェント４は、サーバ２に代わってユーザ３を認証し、何らかのサービス（例えばデータ通信接続サービス、ゲート通過許可、コンテンツ提供など）をおこなう。
【００４０】
つぎに、データ送受信システム１を構成するサーバ２、ユーザ３、エージェント４のハードウェア構成について図２を参照して説明する。図２は、データ送受信システム１を構成するサーバ２、ユーザ３、エージェント４のハードウェア構成の一例を示すブロック図である。なお、以下では説明の便宜上、サーバ２、ユーザ３、エージェント４は同一のハードウェア構成を有するものとする。サーバ２、ユーザ３ａ〜３ｃ、エージェント４ａ〜４ｃの機能を実現するものを以下「装置」と呼ぶ。
【００４１】
図２において、１１は装置全体を制御するＣＰＵを、１２は基本入出力プログラムを記憶したＲＯＭを、１３はＣＰＵ１１のワークエリアとして使用されるＲＡＭを、それぞれ示している。
【００４２】
また、１４はＣＰＵ１１の制御にしたがってＨＤ（ハードディスク）１５に対するデータのリード／ライトを制御するＨＤＤ（ハードディスクドライブ）を、１５はＨＤＤ１４の制御にしたがって書き込まれたデータを記憶するＨＤを、それぞれ示している。また、１６はＣＰＵ１１の制御にしたがってＦＤ（フロッピー（登録商標）ディスク）１７に対するデータのリード／ライトを制御するＦＤＤ（フロッピー（登録商標）ディスクドライブ）を、１７はＦＤＤ１６の制御にしたがって書き込まれたデータを記憶する着脱自在のＦＤを、それぞれ示している。
【００４３】
また、１８はカーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示するディスプレイを、１９はネットワークへの／からのデータの送受信をおこなうネットワークＩ／Ｆ（インターフェース）を、それぞれ示している。また、２０は文字、数値、各種指示などの入力のための複数のキーを備えたキーボードを、２１は各種指示の選択や実行、処理対象の選択、カーソルの移動などをおこなうマウスを、それぞれ示している。
【００４４】
また、２２は文字や画像を光学的に読み取るスキャナを、２３は文字や画像を用紙上に印刷するプリンタを、２４は着脱可能な記録媒体であるＣＤ−ＲＯＭを、２５はＣＤ−ＲＯＭ２４に対するデータのリードを制御するＣＤ−ＲＯＭドライブを、２６は上記各部を接続するためのバスまたはケーブルを、それぞれ示している。
【００４５】
つぎに、実施の形態１にかかるデータ送受信システム１の機能的構成について、図３を参照して説明する。図３は実施の形態１にかかるデータ送受信システムの機能的構成を示すブロック図である。
【００４６】
図３に示すように、サーバ２は、演算処理部３１、乱数生成部３２、記憶部３３、送受信部３４から構成される。演算処理部３１は、各種演算を処理する。演算処理部３１は、さらに一方向性変換関数演算部３１ａ、マスク関数演算部３１ｂ、数値比較部３１ｃから構成される。
【００４７】
一方向性変換関数演算部３１ａは、一方向性変換関数を処理する。一方向性変換関数とは、ある２つの値（ｘ，ｙとする）をその関数によって演算した場合、その演算結果の値（ｚとする）と、ある２つの値のうち１つ（例えば、ｘ）がわかっていても、それらからもう１つの値（ｙ）を算出することが困難な関数である。すなわち、一方向性変換関数をｈとしたとき、ｘ，ｙをｈによって演算した値をｚとすると、ｚは、ｚ＝ｈ（ｘ，ｙ）と表せる。このとき、ｘ，ｚからｙを算出することが困難な関数である。以下、一方向性変換関数をｈで表す。
【００４８】
マスク関数演算部３１ｂは、マスク関数を処理する。マスク関数とは、２度同じ演算をすると、元の値が演算結果となる関数である。例えば、排他的論理和演算（ＸＯＲ）が該当する。以下、マスク関数をｍで表す。
【００４９】
数値比較部３１ｃは、２つの値を比較し、２つの値が一致するか否かを判断する。以上のような構成によって、演算処理部３１は、各種演算の処理をおこなっている。これらの演算は、演算処理部３１の各構成部が算出した値や、乱数生成部３２が算出した乱数、記憶部３３が記憶している値、送受信部３４を介して他の装置から受け取った値を基におこなわれる。
【００５０】
乱数生成部３２は、乱数の生成をおこない、演算処理部３１や記憶部３３に出力する。記憶部３３は、演算処理部３１の演算結果の値や、乱数生成部３２が生成した乱数、送受信部３４を介して他の装置から受け取った値を記憶する。送受信部３４は、ネットワーク５に接続され、ユーザ３、エージェント４など他の装置とデータのやりとりをおこなっている。
【００５１】
つぎに、ユーザ３の構成について説明する。ユーザ３は、演算処理部３６、乱数生成部３７、記憶部３８、送受信部３９から構成される。各部の機能は、演算処理部３６は演算処理部３１と、乱数生成部３７は乱数生成部３２と、記憶部３８は記憶部３３と、送受信部３９は送受信部３４と同様である。
【００５２】
つぎに、エージェント４の構成について説明する。エージェント４は、演算処理部４１、乱数生成部４２、記憶部４３、送受信部４４から構成される。各部の機能は、演算処理部４１は演算処理部３１と、乱数生成部４２は乱数生成部３２と、記憶部４３は記憶部３３と、送受信部４４は送受信部３４と同様である。
【００５３】
なお、上記各部は各装置のＨＤ１５やＦＤ１７、あるいはＣＤ−ＲＯＭ２４などの各種記録媒体からＲＡＭ１３に読み出されたプログラムの命令にしたがって、ＣＰＵ１１などが命令処理を実行することにより、それぞれの機能を実現するものである。
【００５４】
つぎに、代理認証者（エージェント４）が、認証者（サーバ２）に代わって被認証者（ユーザ３）を認証する際の処理（本認証処理）について説明する。本認証処理に先立って、サーバ２に対してユーザ３およびエージェント４の初期登録がおこなわれる。また、エージェント４にはユーザ３の認証に用いる認証情報が送付される。エージェント４は、サーバ２からあらかじめユーザ３の認証に用いる認証情報を受け取っておくことによって、サーバ２を介することなくユーザ３の認証をおこなうことができる。このため、認証情報に変更があった場合、例えばユーザ３がエージェント４に認証要求をおこなった場合などは、逐次認証情報の更新がおこなわれる。また、ユーザ３は、自己の認証情報が不正に更新されていないかを確認することができる。
【００５５】
以下、サーバ２に対するユーザ３、エージェント４の初期登録処理、サーバ２からエージェント４に対する認証情報受け渡し（更新）処理、本認証処理（ユーザ３−エージェント４間認証）、エージェント４からサーバ２に対する認証情報更新要求処理、ユーザ３からサーバ２に対する認証情報確認処理、の順に本認証処理にかかる一連の処理を説明する。
【００５６】
（サーバ２に対するユーザ３の初期登録処理）
まず、ユーザ３のサーバ２への初期登録処理について、図４を参照して説明する。図４は、ユーザ３の初期登録処理の工程を示すフローチャートである。ユーザ３は、複数存在するユーザから自己を識別するためのユーザ識別子ＩＤUを保持している。はじめに、ユーザ３は、乱数生成部３７によって乱数ＮU1，ＮU2を生成する（ステップＳ５１）。そして、演算処理部３６によってＧU1＝ｈ（ＮU1），ＧU2＝ｈ（ＮU2）を算出し、記憶部３８に保存する（ステップＳ５２）。つぎに、ステップＳ５２において算出したＧU1，ＧU2を、ユーザ識別子ＩＤUとともに、送受信部３９によって安全な手段でサーバ２に送付する（ステップＳ５３）。なお、ＧU1，ＧU2は、ユーザ３がサーバ２の認証を初めて受ける際に用いる認証情報である。
【００５７】
サーバ２は、送受信部３４を介してユーザ３から送付されたＩＤU，ＧU1，ＧU2を受け取り、ＩＤUとＧU1，ＧU2とを対応づけて記憶部３３に保存しておく（ステップＳ５４）。つぎに、乱数生成部３２によって乱数ＮS0，ＮS1を生成する（ステップＳ５５）。そして、演算処理部３１によってＧS0＝ｈ（ＮS0），ＧS1＝ｈ（ＮS1），ｈ（ＧU1，ＧS1）を算出し、算出したＧS0，ＧS1，ｈ（ＧU1，ＧS1）を記憶部に保存する（ステップＳ５６）。そして、ユーザ３にＧS0，ｈ（ＧU1，ＧS1）を安全な手段で送付する（ステップＳ５７）。ユーザ３は、受け取ったＧS0，ｈ（ＧU1，ＧS1）を記憶部に保存し（ステップＳ５８）、本フローチャートによる処理を終了する。以上のような処理によって、ユーザ３がサーバ２に初期登録される。
【００５８】
（サーバ２に対するエージェント４の初期登録処理）
つぎに、エージェント４の初期登録処理について、図５を参照して説明する。図５は、エージェント４の初期登録処理の工程を示すフローチャートである。エージェント４は、複数存在するエージェントから自己を識別するためのエージェント識別子ＩＤAを保持している。まず、エージェント４は、乱数生成部４２によって乱数ＮA1を生成する（ステップＳ６１）。つぎに、演算処理部４１によってＧA1＝ｈ（ＮA1）を算出し、記憶部４３に保存する（ステップＳ６２）。そして、送受信部４４によってＧA1をエージェント識別子ＩＤAとともに、安全な手段でサーバ２に送付する（ステップＳ６３）。
【００５９】
サーバ２は、エージェント４から送付されたＩＤA，ＧA1を受け取り、ＩＤAとＧA1とを対応づけて記憶部３３に保存し（ステップＳ６４）、本フローチャートによる処理を終了する。以上のような処理によって、エージェント４がサーバ２に初期登録される。
【００６０】
（サーバ２からエージェント４に対する認証情報受け渡し（更新）処理）
つぎに、初期および初回（ｉ＝１）以降、ｉ回目の認証情報更新処理の工程について図６を参照して説明する。サーバ２は、新たなエージェント４が登録されると、認証情報の送付（初期の認証情報更新）をおこなう。また、あるエージェント４とユーザ３との認証が成立し、後述する認証情報の更新要求があった場合や、新たなユーザ３が登録された場合、すでに登録されている他のエージェント４に対して、認証情報の更新をおこなう。
【００６１】
図６は、初期および初回（ｉ＝１）以降、ｉ回目の認証情報更新処理の工程を示すフローチャートである。なお、このときサーバ２が保存している情報はＧUi，ＧUi+1，ＧSi-1，ＧSi，ＧAi，ｈ（ＧUi，ＧSi）である。また、エージェント４が保存している情報はＧAiである。
【００６２】
まず、サーバ２は、乱数生成部３２によって乱数ＮSi＋1を生成し、演算処理部３１によってＧSi+1＝ｈ（ＮSi+1）を算出し、記憶部３３に保存する（ステップＳ７１）。つぎに、演算処理部３１によって、下記式（１０）〜（１５）に示すＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU，ＨiＡSを算出する（ステップＳ７２）。そして、算出したＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU，ＨiＡSを、ＩＤUとともにエージェント４に送付する（ステップＳ７３）。
ＭiＵS  ←  ｍ（ＧSi-1，ＧSi）・・・（１０）
ＭiＵA  ←  ｍ（ＧAi，ｈ（ＧUi，ＧSi-1））・・・（１１）
ＭiＵUS  ←  ｍ（ｈ（ＧUi，ＧSi），ｈ（ＧUi+1，ＧSi+1））・・・（１２）
ＨiＵAS  ←  ｈ（ＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1））・・・（１３）
ＨiＡU  ←  ｈ（ＧUi，ＧSi，ＧAi）・・・（１４）
ＨiＡS  ←  ｈ（ＧAi，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU）・・・（１５）
【００６３】
エージェント４は、ステップＳ７３でサーバ２から送付された情報と、記憶部４３に保存しているＧAiをもとに、演算処理部４１でｈ（ＧAi，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU）を算出する。そして、算出したｈ（ＧAi，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU）と、ステップＳ７３でサーバ２から送付されたＨiＡSとが一致するかどうかを検証する（ステップＳ７４）。両者が一致する場合（ステップＳ７４：Ｙｅｓ）、ステップＳ７３でサーバ２から送付された情報を信頼し、ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU（ステップＳ７３で送付された情報のうちＨiＡS以外のもの）を、ＩＤUと対応づけして記憶部４３に保存する（ステップＳ７６）。
【００６４】
一方、両者が一致しなかった場合（ステップＳ７４：Ｎｏ）、ステップＳ７３でサーバ２から送付された情報を信頼せず、認証不成立として（ステップＳ７５）本フローチャートによる処理を終了する。以上のような処理によって、認証情報の更新がおこなわれ、エージェント４には、ユーザ３の認証情報が最新の状態で保存されていることになる。
【００６５】
（本認証処理（ユーザ３−エージェント４間認証））
つぎに、ユーザ−エージェント間認証処理（本認証処理）について、図７を参照して説明する。図７は、初回（ｉ＝１）以降、ｉ回目の本認証処理の工程を示すフローチャートである。なお、このときユーザ３が保存している情報は、ＩＤU，ＧUi，ＧUi+1，ＧSi-1，ｈ（ＧUi，ＧSi）、エージェント４が保存している情報は、ＧAi，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡUである。
【００６６】
まず、ユーザ３は、エージェント４にユーザ識別子ＩＤUとともにサービスリクエストを送付する（ステップＳ８１）。リクエストを受けたエージェント４は、ＩＤUと対応づけして保存しているＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵASをユーザ３に送付する（ステップＳ８２）。
【００６７】
ユーザ３は、記憶部３８に保存している情報と、ステップＳ８２でエージェント４から送付された情報から、下記式（１６）〜（１８）に示す値を算出する。
ＧSi  ←  ｍ（ＧSi-1，ＭiＵS）・・・（１６）
ＧAi  ←  ｍ（ｈ（ＧUi，ＧSi-1），ＭiＵA）・・・（１７）
ｈ（ＧUi+1，ＧSi+1）  ←  ｍ（ｈ（ＧUi，ＧSi），ＭiＵUS）・・・（１８）
【００６８】
そして、上記式（１６）〜（１８）によって算出した値からｈ（ＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1））を算出し、算出したｈ（ＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1））とステップＳ８２でエージェント４から送付されたＨiＵASとが一致するかを検証する（ステップＳ８３）。両者が一致する場合（ステップＳ８３：Ｙｅｓ）、サーバ２およびエージェント４を信頼し、ｈ（ＧUi，ＧSi，ＧAi）および下記式（１９）〜（２１）に示すＭiＳU，ＨiＳU，ＨiＡUDを算出する（ステップＳ８５）。そして、ｈ（ＧUi，ＧSi，ＧAi），ＭiＳU，ＨiＳU，ＨiＡUDをエージェント４に送付する（ステップＳ８６）。
ＭiＳU  ←  ｍ（ＧUi+1，ＧUi+2）・・・（１９）
ＨiＳU  ←  ｈ（ＧUi+1，ＧUi+2）・・・（２０）
ＨiＡUD  ←  ｈ（ＧAi，ＭiＳU，ＨiＳU）・・・（２１）
【００６９】
一方、両者が一致しなかった場合（ステップＳ８３：Ｎｏ）、ステップＳ８２でエージェント４から送付された情報を信頼せず、認証不成立として（ステップＳ８４）本フローチャートによる処理を終了する。
【００７０】
エージェント４は、ステップＳ８６でユーザ３から送付されたｈ（ＧUi，ＧSi，ＧAi）と記憶部４３で保存しているＨiＡUとが一致するかを検証する。両者が一致する場合、ユーザ３を信頼し、ステップＳ８６でユーザ３から送付された情報と、記憶部４３で保存している情報からｈ（ＧAi，ＭiＳU，ＨiＳU）を算出する。そして、ｈ（ＧAi，ＭiＳU，ＨiＳU）と、ステップＳ８６でユーザ３から送付されたＨiＡUDとが一致するかを検証する（ステップＳ８７）。両者が一致する場合（ステップＳ８７：Ｙｅｓ）、ユーザ３から送付された情報を信頼し、ＭiＳU，ＨiＳUを保存する。このとき、エージェント４によるユーザ認証が成立し、サービスを開始する（ステップＳ８８）。また、ユーザ３は、ＧUi+2，ＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1），ＭiＳU，ＨiＳU，ＨiＡUDを保存する。
【００７１】
一方、両者が一致しなかった場合（ステップＳ８７：Ｎｏ）、ステップＳ８６でユーザ３から送付された情報を信頼せず、認証不成立として（ステップＳ８９）本フローチャートによる処理を終了する。以上のような処理により、エージェント４は、サーバ２を介さずユーザ３を認証することができる。
【００７２】
（エージェント４からサーバ２に対する認証情報更新要求処理）
つぎに、エージェント４がサーバ２に認証情報の更新要求をおこなう際の処理について、図８を参照して説明する。図８は、初回（ｉ＝１）以降、ｉ回目の認証情報更新要求処理の工程を示すフローチャートである。ユーザ３の認証を行ったエージェント４は、サーバ２に認証情報の更新要求をおこなう。これにより、複数のエージェント４が存在する場合であっても、ユーザ３の認証状況を共有することができる。
【００７３】
なお、このときサーバ２が保存している情報は、ＧUi，ＧUi+1，ＧSi-1，ＧSi，ＧSi+1，ＧAi，ｈ（ＧUi，ＧSi），ｈ（ＧUi+1，ＧSi+1）、エージェント４が保存している情報は、ＩＤA，ＩＤU，ＧAi，ＭiＳU，ＨiＳUである。まず、エージェント４は、乱数生成部４２によって乱数ＮAi+1を生成し、演算処理部４１によってＧAi+1＝ｈ（ＮAi+1）を算出し、記憶部４３に保存する（ステップＳ９１）。
【００７４】
つぎに、ステップＳ９１において算出したＧAi+1および記憶部４４に記憶されているＧAiから下記式（２２）、（２３）に示すＭiＳU，ＨiＳUを算出する（ステップＳ９２）。そして、サーバ２に対してＩＤA，ＩＤU，ＭiＳU，ＨiＳU，ＭiＳA，ＨiＳAを送付する（ステップＳ９３）。なお、このとき送付されるＩＤUは、認証情報の更新がおこなわれるユーザ３のユーザ識別子である。
ＭiＳA  ←  ｍ（ＧAi，ＧAi+1）・・・（２２）
ＨiＳA  ←  ｈ（ＧAi+1，ｈ（ＭiＳU，ＨiＳU））・・・（２３）
【００７５】
サーバ２は、ステップＳ９３でエージェント４から送付されたＭiＳAと、記憶部３３に保存しているＧAiとから下記式（２４）に示すＧAi+1を算出し、さらに、ｈ（ＧAi+1，ｈ（ＭiＳU，ＨiＳU））を算出する。
ＧAi+1  ←  ｍ（ＧAi，ＭiＳA，）・・・（２４）
【００７６】
そして、算出したｈ（ＧAi+1，ｈ（ＭiＳU，ＨiＳU））とステップＳ９３でエージェント４から送付されたＨiＳAとが一致するかを検証する。両者が一致する場合、エージェント４から送付された情報を信頼し、下記式（２５）に示すＧUi+2を算出し、さらに、ｈ（ＧUi+1，ＧUi+2）を算出する。
ＧUi+2  ←  ｍ（ＧUi+1，ＭiＳU）・・・（２５）
【００７７】
そして、算出したｈ（ＧUi+1，ＧUi+2）とステップＳ９３でエージェント４から送付されたＨiＳUとが一致するかを検証する（ステップＳ９４）。両者が一致する場合（ステップＳ９４：Ｙｅｓ）、エージェント４が算出した情報を信頼し、ＧAi+1，ＧUi+1を記憶部３３に保存する。このとき、要求受理確認として、下記式（２６）に示すＨiＡSDを算出し（ステップＳ９５）、エージェント４に送付する（ステップＳ９７）。
ＨiＡSD  ←  ｈ（ＧAi，ＧAi+1）・・・（２６）
【００７８】
一方、両者が一致しなかった場合（ステップＳ９４：Ｎｏ）、ステップＳ９３でエージェント４から送付された情報を信頼せず、認証不成立として（ステップＳ９６）本フローチャートによる処理を終了する。
【００７９】
ステップＳ９７でサーバ２からＨiＡSDを送付されたエージェント４は、ｈ（ＧAi，ＧAi+1）を算出し、ｈ（ＧAi，ＧAi+1）とＨiＡSDとが等しいかどうかを検証する（ステップＳ９８）。両者が一致する場合（ステップＳ９８：Ｙｅｓ）、サーバ２の更新受理を確認し、記憶部４３に保存されているＧAi，ＭiＳU，ＨiＳUを破棄し、ＧAi+1を保存する（ステップＳ１００）。
【００８０】
一方、両者が一致しなかった場合（ステップＳ９８：Ｎｏ）、サーバ２の更新受理を確認せず、認証不成立として（ステップＳ９９）本フローチャートによる処理を終了する。以上のような処理によって、エージェント４は、サーバ２に認証情報の更新を要求することができる。
【００８１】
以上説明したように、実施の形態１にかかるデータ送受信システムでは、ユーザ３およびエージェント４は、それぞれの認証情報ＧU，ＧAを事前にサーバ２に登録しておく。そして、サーバ２は、ＧU，ＧA、サーバ２の認証情報ＧSを一方向性変換関数で演算した値（一方向性データ）、ＧU，ＧSを用いてＧA，ＧSをマスクした値（マスクデータ）、を事前にエージェント４に送付しておく。認証時、ユーザ３は、エージェント４から送付されたマスクデータより取り出したＧA，ＧSおよびユーザ３の認証情報ＧUを一方向性変換関数で演算した値をエージェント４に送付する。そして、エージェント４がユーザ３から送付されたデータとあらかじめサーバ２から送付されたデータが等しいかどうかを検証することによって、ユーザ３の認証可否を判断している。
【００８２】
このように、エージェント４がサーバ２に代わってユーザを認証することで、認証時にエージェント４−サーバ間の暗号化通信の必要がなくなり、高速に処理をおこなうことができる。また、エージェント４に送付される情報は、各エージェントごとに暗号化されており、ユーザ３およびサーバ２の認証情報の漏洩を防ぐことができる。このため、複数のエージェント４に対して同一の認証情報を用いることができる。
【００８３】
また、認証時、ユーザ３は認証情報を送付する前に、ユーザ２で保存している情報およびエージェント４から送付されたマスクデータをもとに、ユーザ３、エージェント４、サーバ２の認証情報に関するデータを取り出す。そして、それらのデータを用いて一方向性変換関数を適用したデータが、同じくエージェント４より受信したデータに等しいかどうかを検証することによって、エージェント４およびサーバ２の資格を認証している。このように、ユーザ３が認証情報を送信する前に、エージェント４、サーバ２の資格を認証することで、再利用攻撃のようなユーザ２の認証情報の不正利用を防ぐことができる。
【００８４】
（ユーザ３からサーバ２に対する認証情報確認処理）
また、ユーザ３は、サーバ２に保存されている自己の認証情報が不当に更新されていないかどうかを確認することができる。以下、ユーザ３がサーバ２に対して自己の認証情報の確認をおこなう際の処理工程について、図９を参照して説明する。図９は、初回（ｉ＝１）以降、ｉ回目の認証情報更新確認処理の工程を示すフローチャートである。なお、このときサーバ２が保存している情報は、ＧUi（ｏｒＧUi+2），ＧUi+1，ＧSi-1，ＧSi，ＧSi+1，ＧAi（ｏｒ  ＧAi+1），ｈ（ＧUi，ＧSi），ｈ（ＧUi+1，ＧSi+1）、ユーザ３が保存している情報は、ＩＤU，ＧUi，ＧUi+1，ＧUi+2，ＧSi-1，ＧSi，ＧAi，ｈ（ＧUi，ＧSi），ｈ（ＧUi+1，ＧSi+1），ＭiＳU，ＨiＳU，ＨiＡUDである。
【００８５】
まず、ユーザ３は、更新確認要求として、サーバ２にＩＤU，ＭiＳU，ＨiＳU，ＨiＡUDを送付する（ステップＳ１０１）。サーバ２は、ステップＳ１０１でユーザ３が送付したＭiＳUと、記憶部３８に保存しているＧUi（あるいはＧUi+1）とから、ｈ（ｍ（ＭiＳU  ，ＧUi），ＧUi）（あるいはｈ（ｍ（ＭiＳU，ＧUi+1），ＧUi+1））を算出する。そして、算出したｈ（ｍ（ＭiＳU，ＧUi），ＧUi）（あるいはｈ（ｍ（ＭiＳU，ＧUi+1），ＧUi+1））と、ステップＳ１０１でユーザから送付されたＨiＳUとが一致するかを検証する（ステップＳ１０２）。
【００８６】
両者が一致する場合（ステップＳ１０２：Ｙｅｓ）、ユーザ３の認証情報が更新されていると確認し、ＧSi-1，ｈ（ＧUi，ＧSi）を破棄する。このとき、下記式（２７）に示すＨiＵSDを算出し（ステップＳ１０４）、ユーザ３に送付する（ステップＳ１０５）。
ＨiＵSD  ←  ｈ（ＧSi，ＧAi）・・・（２７）
【００８７】
一方、両者が一致しなかった場合（ステップＳ１０２：Ｎｏ）、ユーザ３の認証情報が更新されていると確認せず、認証不成立として（ステップＳ１０３）本フローチャートによる処理を終了する。
【００８８】
ステップＳ１０５でサーバ２からＨiＵSDを送付されたユーザ３は、記憶部３８に保存しているＧSi，ＧAiからｈ（ＧSi，ＧAi）を算出し、算出したｈ（ＧSi，ＧAi）と、ＨiＵSDとが一致するかを検証する（ステップＳ１０６）。両者が一致する場合（ステップＳ１０６：Ｙｅｓ）、サーバ２の認証情報が更新されていることを確認し、ＧUi，ＧUi+1，ＧSi-1，ｈ（ＧUi，ＧSi），ＭiＳU，ＨiＳU，ＨiＡUDを破棄し（ステップＳ１０８）、本フローチャートによる処理を終了する。以上のような処理によって、ユーザ３は、サーバ２の保存する認証情報が更新されているかを確認することができる。
【００８９】
一方、両者が一致しなかった場合（ステップＳ１０６：Ｎｏ）、ステップＳ１０５でサーバ２から送付された情報を信頼せず、認証不成立として（ステップＳ１０７）本フローチャートによる処理を終了する。
【００９０】
以上のような処理によって、代理認証者（エージェント４）は、認証者（サーバ２）を介さず被認証者（ユーザ３）の認証をおこなうことができ、被認証者側でも自己の認証情報が適切に取り扱われているかを適宜確認することができる。
【００９１】
このように、認証者を介さず代理認証者と被認証者との間で認証をおこなう他、認証処理の間にやりとりされる認証情報中に、取引金額などの情報を付加することによって、認証者を介さず代理認証者と被認証者間で決済をおこなうこともできる。以下、このような決済を「認証決済」、認証決済をおこなう際の処理を「認証決済処理」という。実施の形態１にかかるデータ送受信システム１は、認証情報の算出に一方向性変換関数を用いているため、金額情報などのデータを証明書付で送付することができる。
【００９２】
認証決済をおこなう際の処理を、前記の本認証処理にかかる一連の処理の説明に準じて、図３および図１０〜１４を参照して説明する。まず、ユーザ３の初期登録処理について図１０を参照して説明する。図１０は、ユーザ３の初期登録処理の工程を示すフローチャートである。
【００９３】
ユーザ３は、乱数生成部３７で乱数ＮU1，ＮU2を生成し（ステップＳ１１１）、演算処理部３６でＧU1＝ｈ（ＮU1），ＧU2＝ｈ（ＮU2）を算出し、記憶部３８に保存する（ステップＳ１１２）。ＧU1，ＧU2は、初回の認証に用いる認証情報である。そして、サーバ２に、ＧU1，ＧU2をユーザ識別子ＩＤUとともに、安全な手段で送付する（ステップＳ１１３）。
【００９４】
サーバ２は、ステップＳ１１３でユーザ３から送付されたＩＤU，ＧU1，ＧU2を受け取り、ＩＤUとＧU1，ＧU2とを対応づけて記憶部３３に保存しておく（ステップＳ１１４）。つぎに、乱数生成部３２で乱数ＮS0，ＮS1を生成し（ステップＳ１１５）、演算処理部３１でＧS0＝ｈ（ＮS0），ＧS1＝ｈ（ＮS1），ｈ（ＧU1，ＧS1）を算出し、記憶部３３に保存する（ステップＳ１１６）。そして、ユーザ３にＧS0，ｈ（ＧU1，ＧS1）と残高情報ＢＭを安全な手段で送付する（ステップＳ１１７）。
【００９５】
残高情報ＢＭとは、ユーザ３が決済可能な金額であり、例えばクレジットカードの利用可能残高や、あらかじめチャージ（入金）しておいた金額の残金などである。ユーザ３は、ステップＳ１１７でサーバ２から送付されたＧS0，ｈ（ＧU1，ＧS1），ＢＭを記憶部３８に保存しておく（ステップＳ１１８）。以上のような処理によってユーザ３はサーバ２に初期登録される。
【００９６】
つぎに、エージェント４の初期登録処理について、図１１を参照して説明する。図１１は、エージェント４の初期登録処理の工程を示すフローチャートである。まず、エージェント４は、乱数生成部４２で乱数ＮA1を生成する（ステップＳ１２１）。そして、演算処理部４１でＧA1＝ｈ（ＮA1）を算出し、記憶部４３に保存する（ステップＳ１２２）。ＧA1は初回の認証に用いる認証情報である。そして、ステップＳ１２２で算出したＧA1を、エージェント識別子ＩＤAとともに安全な手段でサーバ２に送付する（ステップＳ１２３）。
【００９７】
サーバ２は、ステップＳ１２３でエージェント４から送付されたＩＤA，ＧA1を受け取り、ＩＤAとＧA1とを対応づけて記憶部３３に保存する（ステップＳ１２４）。以上のような処理によってエージェント４はサーバ２に初期登録される。
【００９８】
つぎに、初期および初回（ｉ＝１）以降、ｉ回目の認証情報更新処理の工程について図１２を参照して説明する。図１２は、初期および初回（ｉ＝１）以降、ｉ回目の認証情報更新処理の工程を示すフローチャートである。このとき、サーバ２の保存している情報は、ＧUi，ＧUi+1，ＧSi-1，ＧSi，ＧAi，ｈ（ＧUi，ＧSi），ＢＭ、エージェント４が保存している情報は、ＧAiである。
【００９９】
まず、サーバ２は、乱数生成部３２によって乱数ＮSi+1を生成し、演算処理部３１によってＧSi+1＝ｈ（ＮSi+1）を算出し、記憶部３３に保存する（ステップＳ１３１）。つぎに、下記式（２８）〜（３４）に示すＭiＡS，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU，ＨiＡSを算出する（ステップＳ１３２）。
ＭiＡS  ←  ｍ（ｈ（ＧAi），ＢＭ）・・・（２８）
ＭiＵS  ←  ｍ（ＧSi-1，ＧSi）・・・（２９）
ＭiＵA  ←  ｍ（ＧAi，ｈ（ＧUi，ＧSi-1））・・・（３０）
ＭiＵUS  ←  ｍ（ｈ（ＧUi，ＧSi），ｈ（ＧUi+1，ＧSi+1））・・・（３１）
ＨiＵAS  ←  ｈ（ＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1））・・・（３２）
ＨiＡU  ←  ｈ（ＧUi，ＧSi，ＧAi）・・・（３３）
ＨiＡS  ←  ｈ（ＧAi，ＭiＡS，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU）・・・（３４）
【０１００】
そして、ステップＳ１３２で算出したＭiＡS，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU，ＨiＡSをＩＤUとともにエージェント４に送付する（ステップＳ１３３）。エージェント４は、ステップＳ１３３でサーバ２から送付された情報および記憶部４３で保存しているＧAiより、ｈ（ＧAi，ＭiＡS，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU）を算出する。そして、算出したｈ（ＧAi，ＭiＡS，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU）と、ステップＳ１３３でサーバ２から送付されたＨiＡSとが一致するかを検証する（ステップＳ１３４）。
【０１０１】
両者が一致する場合（ステップＳ１３４：Ｙｅｓ）、サーバ２から送付された情報を信頼し、ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU（ステップＳ１３３で送付された情報うち、ＭiＡS，ＨiＡSを除いたもの）を、ＩＤUと関連づけて記憶部４３に保存する。このとき、下記式（３５）に示すＢＭも算出し、上記情報同様、ＢＭも記憶部４３に保存する（ステップＳ１３６）。
ＢＭ  ←  ｍ（ｈ（ＧAi），ＭiＡS）・・・（３５）
【０１０２】
一方、両者が一致しなかった場合（ステップＳ１３４：Ｎｏ）、サーバ２から送付された情報を信頼せず、認証不成立として（ステップＳ１３５）本フローチャートによる処理を終了する。
【０１０３】
以上のような処理によってサーバ２はエージェント４の保存している認証情報更新をおこなう。つぎに、ユーザ−エージェント間でおこなう決済処理（本認証処理）について、図１３を参照して説明する。図１３は、初回（ｉ＝１）以降、ｉ回目の本認証処理の工程を示すフローチャートである。
【０１０４】
なお、このときユーザ３が保存している情報は、ＩＤU，ＧUi，ＧUi+1，ＧSi-1，ｈ（ＧUi，ＧSi），ＢＭ、エージェント４が保存している情報は、ＧAi，ＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＨiＡU，ＢＭである。
【０１０５】
まず、ユーザ３は、エージェント４に対してユーザ識別子ＩＤUとともにサービスリクエストを送付する（ステップＳ１４１）。エージェント４は、サービスリクエストの内容によって取引金額ＳＭを算出し、ユーザの残高金額ＢＭが取引金額ＳＭより多いか確認する（ステップＳ１４２）。ユーザの残高金額ＢＭが取引金額ＳＭより多い場合（ステップＳ１４２：Ｙｅｓ）、ＩＤUに対応づけて保存しているＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵASとＳＭとをユーザ３に送付する（ステップＳ１４４）。一方、ユーザの残高金額ＢＭが取引金額ＳＭより少ない場合（ステップＳ１４２：Ｎｏ）残金不足として（ステップＳ１４３）本フローチャートによる処理を終了する。
【０１０６】
ステップＳ１４４でＭiＵS，ＭiＵA，ＭiＵUS，ＨiＵAS，ＳＭを送付されたユーザ３は、ステップＳ１４４でエージェント４から送付された情報と、記憶部３８で保存している情報とから、下記式（３６）〜（３８）で示されるＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1）を算出する。さらに、算出したＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1）からｈ（ＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1））を算出する。
ＧSi  ←  ｍ（ＧSi-1，ＭiＵS）・・・（３６）
ＧAi  ←  ｍ（ｈ（ＧUi，ＧSi-1），ＭiＵA）・・・（３７）
ｈ（ＧUi+1，ＧSi+1）  ←  ｍ（ｈ（ＧUi，ＧSi），ＭiＵUS）・・・（３８）
【０１０７】
そして、算出したｈ（ＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1））と、ステップＳ１４４でエージェント４から送付されたＨiＵASとが一致するか検証する（ステップＳ１４５）。両者が一致する場合（ステップＳ１４５：Ｙｅｓ）、サーバ２およびエージェント４を信頼し、ｈ（ＧUi，ＧSi，ＧAi）および下記式（３９）〜（４１）に示すＭiＳU，ＨiＳU，ＨiＡUDを算出する（ステップＳ１４７）。そして、算出したｈ（ＧUi，ＧSi，ＧAi），ＭiＳU，ＨiＳU，ＨiＡUDをエージェント４に送付する（ステップＳ１４８）
ＭiＳU  ←  ｍ（ＧUi+1，ＧUi+2）・・・（３９）
ＨiＳU  ←  ｈ（ＧUi+1，ＧUi+2，ＳＭ）・・・（４０）
ＨiＡUD  ←  ｈ（ＧAi，ＭiＳU，ＨiＳU，ＳＭ）・・・（４１）
【０１０８】
一方、両者が一致しなかった場合（ステップＳ１４５：Ｎｏ）、サーバ２およびエージェント４を信頼せず、認証不成立として（ステップＳ１４６）本フローチャートによる処理を終了する。
【０１０９】
ステップＳ１４８でｈ（ＧUi，ＧSi，ＧAi），ＭiＳU，ＨiＳU，ＨiＡUDを送付されたエージェント４は、送付された情報ｈ（ＧUi，ＧSi，ＧAi）と記憶部４３で保存しているＨiＡUとが一致するか検証する。両者が一致する場合、ユーザ３を信頼し、ステップＳ１４８で送付された情報と、記憶部４３で保存している情報からｈ（ＧAi，ＭiＳU，ＨiＳU，ＳＭ）を算出する。
【０１１０】
そして、算出したｈ（ＧAi，ＭiＳU，ＨiＳU，ＳＭ）と、ステップＳ１４８で送付されたＨiＡUDとが一致するかを検証する（ステップＳ１４９）。両者が一致する場合（ステップＳ１４９：Ｙｅｓ）、ユーザ３から送付された情報を信頼し、ＭiＳU，ＨiＳUを記憶部４３に保存する（ステップＳ１５１）。このとき、ユーザ認証は成立し、サービスを開始する。また、ユーザ３はＧUi+2，ＧSi，ＧAi，ｈ（ＧUi+1，ＧSi+1），ＭiＳU，ＨiＳU，ＨiＡUD，ＳＭを保存する。
【０１１１】
一方、両者が一致しなかった場合（ステップＳ１４９：Ｎｏ）、ステップＳ１４８でユーザ３から送付された情報を信頼せず、認証不成立として（ステップＳ１５０）本フローチャートによる処理を終了する。
【０１１２】
つぎに、エージェント４がサーバ２に認証情報の更新要求をおこなう際の処理について、図１４を参照して説明する。図１４は、初回（ｉ＝１）以降、ｉ回目の認証情報更新要求処理の工程を示すフローチャートである。なお、このときサーバ２が保存している情報はＧUi，ＧUi+1，ＧSi-1，ＧSi，ＧSi+1，ＧAi，ｈ（ＧUi，ＧSi），ｈ（ＧUi+1，ＧSi+1），ＢＭ、エージェント４が保存している情報は、ＩＤA，ＩＤU，ＧAi，ＭiＳU，ＨiＳU，ＳＭ，ＢＭである。
【０１１３】
まず、エージェント４は、乱数生成部４２によって乱数ＮAi+1を生成し、演算処理部４１によってＧAi+1＝ｈ（ＮAi+1）を算出し、記憶部４３に保存する（ステップＳ１６１）。つぎに、ｍ（ｈ（ＧAi），ＳＭ）および下記式（４２），（４３）に示すＭiＳA，ＨiＳAを算出する（ステップＳ１６２）。
ＭiＳA  ←  ｍ（ＧAi，ＧAi+1）・・・（４２）
ＨiＳA  ←  ｈ（ＧAi+1，ｈ（ＭiＳU，ＨiＳU））・・・（４３）
【０１１４】
そして、サーバ２にＩＤA，ＩＤU，ＭiＳU，ＨiＳU，ＭiＳA，ＨiＳA，ｍ（ｈ（ＧAi），ＳＭ）を送付する（ステップＳ１６３）。サーバ２は、ステップ１６３でエージェント４から送付されたＭiＳAと、記憶部３３で保存しているＧAiから下記式（４４）に示すＧAiを算出し、さらにｈ（ＧAi+1，ｈ（ＭiＳU，ＨiＳU））を算出する。
ＧAi+1  ←  ｍ（ＧAi，ＭiＳA）・・・（４４）
【０１１５】
そして、算出したｈ（ＧAi+1，ｈ（ＭiＳU，ＨiＳU））と、ステップＳ１６３で送付されたＨiＳAとが一致するかを検証する。両者が一致する場合、エージェント４から送付された情報を信頼し、下記式（４５）に示すＧUi+2を算出し、ｈ（ＧUi+1，ＧUi+2）を算出する。
ＧUi+2  ←  ｍ（ＧUi+1，ＭiＳU）・・・（４５）
【０１１６】
そして、算出したｈ（ＧUi+1，ＧUi+2）と、ステップＳ１６３で送付されたＨiＳUとが一致するかを検証する（ステップＳ１６４）。両者が一致する場合（ステップＳ１６４：Ｙｅｓ）、ユーザ３が算出した情報を信頼し、ＧAi+1，ＧUi+1を記憶部３３に保存する。そして、下記式（４６）で示すＳＭと、下記式（４７）に示すＨiＡSDとを算出する（ステップＳ１６６）。サーバ２は、算出したＳＭを記憶部３３に保存し、また、ＨiＡSDを要求受理確認情報としてエージェント４に送付する（ステップＳ１６７）。
ＳＭ  ←  ｍ（ｍ（ｈ（ＧAi），ＳＭ），ｈ（ＧAi））・・・（４６）
ＨiＡSD  ←  ｈ（ＧAi，ＧAi+1）・・・（４７）
【０１１７】
一方、両者が一致しない場合（ステップＳ１６４：Ｎｏ）、ユーザ３が算出した情報を信頼せず、認証不成立として（ステップＳ１６５）本フローチャートによる処理を終了する。
【０１１８】
ステップＳ１６７でＨiＡSDを送付されたエージェント４は、ｈ（ＧAi，ＧAi+1）を算出し、送付されたＨiＡSDと一致するか検証する（ステップＳ１６８）。両者が一致する場合（ステップＳ１６８：Ｙｅｓ）、サーバ２の認証情報更新受理を確認し、ＧAi，ＭiＳU，ＨiＳUを破棄し、ＧAi+1を記憶部４３に保存する（ステップＳ１７０）。
【０１１９】
一方、両者が一致しない場合（ステップＳ１６８：Ｎｏ）、サーバ２の認証情報更新受理を確認せず、認証不成立として（ステップＳ１６９）本フローチャートによる処理を終了する。
【０１２０】
つぎに、ユーザ３がサーバ２に対して自己の認証情報の確認をおこなう際の処理工程について、図１５を参照して説明する。図１５は、初回（ｉ＝１）以降、ｉ回目の認証情報更新確認処理の工程を示すフローチャートである。なお、サーバ２が保存している情報は、ＧUi（ｏｒＧUi+2），ＧUi+1，ＧSi-1，ＧSi，ＧSi+1，ＧAi（ｏｒＧAi+1）ｈ（ＧUi，ＧSi），ｈ（ＧUi+1，ＧSi+1），ＢＭ，ＳＭ、ユーザ３が保存している情報は、ＩＤU，ＧUi，ＧUi+1，ＧUi+2，ＧSi-1，ＧSi，ＧAi，ｈ（ＧUi，ＧSi），ｈ（ＧUi+1，ＧSi+1），ＭiＳU，ＨiＳU，ＨiＡUD，ＢＭ，ＳＭである。
【０１２１】
まず、ユーザ３は、更新確認要求として、サーバ２にＩＤU，ＭiＳU，ＨiＳU，ＨiＡUDを送付する（ステップＳ１８１）。サーバ２は、ステップＳ１８１で送付されたＭiＳUと、記憶部３３保存しているＧUi（あるいはＧUi+1）から、ｈ（ｍ（ＭiＳU，ＧUi），ＧUi，ＳＭ）（あるいはｈ（ｍ（ＭiＳU，ＧUi+1），ＧUi+1），ＳＭ）を算出する。そして、算出したｈ（ｍ（ＭiＳU，ＧUi），ＧUi，ＳＭ）（あるいはｈ（ｍ（ＭiＳU，ＧUi+1），ＧUi+1），ＳＭ）と、ステップＳ１８１で送付されたＨiＳUとが一致するか検証する（ステップＳ１８２）。
【０１２２】
両者が一致する場合（ステップＳ１８２：Ｙｅｓ）、ユーザ３の認証情報が更新されていると確認し、ＧSi-1，ｈ（ＧUi，ＧSi）を破棄する。また、ＢＭの代わりにＢＭ−ＳＭを保存する。そして、下記式（４８）に示すＨiＵSDを算出し（ステップＳ１８４）、算出したＨiＵSDをユーザ３に送付する（ステップＳ１８５）。
ＨiＵSD  ←  ｈ（ＧSi，ＧAi）・・・（４８）
【０１２３】
一方、両者が一致しない場合（ステップＳ１８２：Ｎｏ）、ユーザ３の認証情報が更新されていると確認せず、認証不成立として（ステップＳ１８３）本フローチャートによる処理を終了する。
【０１２４】
ステップＳ１８５でＨiＵSDを送付されたユーザ３は、ｈ（ＧSi，ＧAi）を算出し、算出したｈ（ＧSi，ＧAi）と送付されたＨiＵSDとが一致するか検証する（ステップＳ１８６）。両者が一致する場合（ステップＳ１８６：Ｙｅｓ）、サーバ２の保存する認証情報が更新されていることを確認し、ＧUi，ＧUi+1，ＧSi-1，ｈ（ＧUi，ＧSi），ＭiＳU，ＨiＳU，ＨiＡUDを破棄する（ステップＳ１８８）。また、ＢＭの代わりにＢＭ−ＳＭを保存する。
【０１２５】
一方、両者が一致しない場合（ステップＳ１８６：Ｎｏ）、サーバ２の保存する認証情報が更新されていないと判断し、認証不成立として（ステップＳ１８７）本フローチャートによる処理を終了する。
【０１２６】
以上のような処理によって、認証者を介さず代理認証者と被認証者間との間で直接、決済を迅速におこなう認証決済を実現することができる。
【０１２７】
（実施の形態２）
実施の形態２は、実施の形態１にかかるデータ送受信システムを駅の改札口等のゲート通過に適用した例である。ゲート通過は、円滑な通行のために極僅かな時間で認証処理を終了することが要求され。このため、代理認証者であるゲートは被認証者であるユーザ（通行者）を認証者（サーバ）を介することなく認証をおこなう必要がある。
【０１２８】
また、ゲートは通常、複数設けられているため、これらのゲート間で認証情報を共有する必要がある。例えば、現在ゲート内にいるはずのユーザが、ゲート外から通過を求めてきた場合、ユーザ情報が不正に偽造されている可能性がある。このような不正を防止するためにも、認証情報の共有が必要となる。
【０１２９】
以下、図１６および図４〜１０を参照して、実施の形態２にかかるデータ送受信システムの構成および認証処理手順について説明する。図１６は、実施の形態２にかかるデータ処理システムの構成および各端末間のデータの流れを模式的に示す図である。実施の形態２にかかるデータ送受信システム２０１は、サーバ（認証者）２０２、ユーザ（被認証者）２０３、ゲート（代理認証者）２０４（２０４ａ〜２０４ｃ）によって構成される。
【０１３０】
ユーザ２０３は、具体的にはＩＣチップを搭載したＩＣカードであり、内部のＣＰＵおよびメモリによって、後述する処理をおこなう。また、ゲート２０４は複数設けられており、ユーザ２０３は複数のゲート２０４ａ〜２０４ｃのいずれにも認証を要求することができる。
【０１３１】
つぎに、データ送受信システム２０１における認証処理にかかるデータの流れを説明する。まず、ユーザ２０３がサーバ２０２に対して初期登録をおこなう（図中矢印（１））。処理の詳細については、図４を用いて説明したとおりである。また、ゲート２０４もサーバ２０２に対して初期登録をおこなう（図中矢印（２））。処理の詳細については、図５を用いて説明したとおりである。なお、図中では煩雑になるので矢印は省略しているが、サーバ２０２に対する初期登録処理は個々のゲート２０４ａ〜２０４ｃがそれぞれおこなう。
【０１３２】
サーバ２０２は、登録されたゲートに対して認証情報の送付をおこなう（図中矢印（３））。処理の詳細については、図６を用いて説明したとおりである。なお、図中では煩雑になるので矢印は省略しているが、サーバ２０２からの認証情報送付は個々のゲート２０４ａ〜２０４ｃに対してそれぞれおこなわれる。
【０１３３】
ユーザ２０３がゲート２０４に認証を要求すると（図中矢印（４））、ゲート２０４は先に送付された認証情報をもとにユーザ２０３の認証可否を判断する。処理の詳細については、図７を用いて説明したとおりである。認証可と判断した場合、認証が成立し、ゲート２０４はサービスを開始する（図中矢印（５））。具体的には、ゲートを開放し、ユーザ２０３がゲートを通過することを許可する、などである。
【０１３４】
ユーザ２０３の認証を可と判断し、サービスをおこなったゲート２０４は、ユーザ２０３の認証情報の更新をサーバ２０２に要求する（図中矢印（６））。処理の詳細については、図８を用いて説明したとおりである。
【０１３５】
認証情報更新要求を受けたサーバ２０２は、更新した認証情報を個々のゲート２０４ａ〜２０４ｃに送付し、認証情報の更新をおこなう（図中矢印（７））。処理の詳細については、図６を用いて説明したとおりである。なお、図中では煩雑になるので矢印は省略しているが、サーバ２０２からの認証情報送付は個々のゲート２０４ａ〜２０４ｃに対してそれぞれおこなわれる。これにより、ユーザ２０３が認証要求をおこなったゲート以外のゲートにも、ユーザ２０３に認証を行ったことによる認証情報の更新が通知されることになる。
【０１３６】
また、ユーザ２０３は自己の認証情報が不正に更新されていないかサーバ２０２に認証情報の更新確認をおこなうことができる（図中矢印（８））。処理の詳細については、図９を用いて説明したとおりである。
【０１３７】
以後、図中矢印（４）〜（７）を繰り返すことによってデータ送受信システム２０１は、サーバ２０２を介することなくゲート２０４−ユーザ２０３間で認証処理をおこなうことができる。これにより、ユーザ２０３がゲート２０４を通過するごとに、ゲート２０４はサーバ２０２にアクセスする必要がないため、サーバ２０２との通信状態の影響を受けずにゲート２０４が直接、ユーザ２０３の認証をおこなうことができ、ゲート通過可否の判断（認証処理）を迅速におこなえるようになる。なお、説明の便宜上、ユーザ２０３は一者のみ示しているが、通常は複数のユーザ２０２が存在する。その場合であっても、認証処理は上記と同様である。
【０１３８】
また、上記の説明においてユーザ２０３はゲート通過に用いるＩＣカードであったが、カードによる認証の他の例として、通信機能を有した携帯電話や、クレジットカード、プリペイドカードなどがある。クレジットカードの場合、サーバ２０２はカード会社に設置されたカード利用者情報の管理サーバに相当し、ユーザ２０３はカード利用者が保有するクレジットカードに相当し、ゲート２０４はカード加盟店に相当する。クレジットカード等は、演算機能を有するＩＣカードを用いる。
【０１３９】
カード利用者がカード加盟店でクレジットカードを利用する場合、カード利用者のクレジットカードとカード加盟店との間で認証をおこなう。カード加盟店では、当該認証が成立したことを確認してからカード会社に対して決算処理をおこなう。なお、カード加盟店は、多数のユーザが保有するクレジットカードごとの本認証をおこなうためにあらかじめサーバ２からエージェント４に対する認証情報受け渡し（更新）処理をおこなっておく。カード加盟店ではカード読み取り機能を備えたカード処理装置が設置される。
【０１４０】
なお、このカード処理装置は、上記認証情報の受け渡しによって得た複数のクレジットカードの認証情報をあらかじめ記憶しておくこともできる。この認証情報は、１つの（１枚の）クレジットカードあたり８Ｂｙｔｅ程度であるため、カード処理装置内部のＨＤＤ等にクレジットカード会員全員の認証情報をあらかじめ記憶させておくことも可能である。ＨＤＤの容量が増大するほど、多くの認証情報をあらかじめ記憶させておくことができる。このように、決済処理に先立って認証をおこなうことによって、クレジットカードの不正利用を防止することができる。
【０１４１】
また、プリペイドカードの場合には、実施の形態１の後段において説明した方法によって、プリペイドカードの残金情報などを認証し、利用店舗などにおいて直接決済をおこなうことができる。一般的に、プリペイドカードによって決済される金額は少額であることが多いので、このように即時に決済がおこなわれることが望まれる。以上のように、カードによる認証等の他の使用例に対しても本発明は有用である。
【０１４２】
（実施の形態３）
実施の形態３は、実施の形態１にかかるデータ送受信システムをネットワーク接続の認証処理に適用する。実施の形態３にかかるデータ送受信システムの構成について図１７を参照して説明する。図１７は、実施の形態３にかかるデータ送受信システムの構成を示す図である。実施の形態３にかかるデータ送受信システム２１１は、サーバ２１２、携帯端末２１３（２１３ａ，２１３ｂ）、ＰＣ（パーソナルコンピュータ）２１４（２１４ａ〜２１４ｃ）によって構成される。
【０１４３】
携帯端末２１３ａ，２１３ｂは、それぞれゲートウェイ２１５ａを介してネットワーク５に接続されている。ゲートウェイ２１５ａは、プロバイダなどに設置されてアクセスサーバなどである。また、ＰＣ２１４ａ〜２１４ｃは、ゲートウェイ２１５ｂを介してネットワーク５に接続されている。ゲートウェイ２１５ｂは、会社などに設置されたアクセスサーバなどである。サーバ２１２、携帯端末２１３、ＰＣ２１４はネットワーク５を介して相互に接続されている。
【０１４４】
つぎに、実施の形態３にかかるデータ送受信システム２１１の認証処理手順について説明する。実施の形態３にかかるデータ送受信システムによれば、サーバ２１２に携帯端末２１３、ＰＣ２１４（以下、各端末という）を登録することによって、各端末間でｎ対ｎでの認証が可能となる。
【０１４５】
まず、サーバ２１２に各端末を初期登録する。このとき、各端末を、被認証者として登録するか、被認証者として登録するか、あるいは両者として登録するかは、利用者がその用途によって決定する。初期登録の処理の詳細は、図４，５を用いて説明したとおりである。
【０１４６】
サーバ２１２は、代理認証者として登録された各端末に、認証情報を送付する。認証情報送付の処理の詳細は、図６を用いて説明したとおりである。これにより、被認証者として登録を受けた各端末は、代理認証者の認証を受けることができる。代理認証者による被認証者の認証処理の詳細は、図７を用いて説明したとおりである。
【０１４７】
代理認証者は、被認証者に認証を行った場合、認証者に対して認証情報の更新要求をおこなう。認証情報の更新処理の詳細は、図８を用いて説明したとおりである。また、認証者は認証情報の更新要求を認めた場合、他の代理認証者に送付した認証情報の更新をおこなう。認証情報の更新処理の詳細は、図６を用いて説明したとおりである。
【０１４８】
このように、１つの認証者（サーバ２１２）を置くことによって、煩雑な認証情報の管理をおこなうことなく、複数の端末間で相互に認証処理をおこなうことが可能となる。また、従来の１対１認証において、ゲートウェイ同士（ゲートウェイ２１５ａ−ゲートウェイ２１５ｂ間）で認証を行った場合、ゲートウェイ下にある端末は特定することができず、例えばゲートウェイ２１５ａに接続されているＰＣ２１４ａ〜２１４ｃを特定した認証はおこなうことができなかった。よって、同じゲートウェイ下の者であれば、情報を送信したい相手以外の者にも送信した情報を知られてしまう可能性があった。
【０１４９】
さらに、ＰＣ２１４−ゲートウェイ２１５ａ間、ゲートウェイ２１５ａ−ゲートウェイ２１５ｂ間、ゲートウェイ２１５ｂ−携帯端末２１３間それぞれにおいて認証が必要であり、時間およびトラフィックの面で効率的ではない。さらに、通信経路が特定されてしまうため、ネットワーク上のノードの性能やアクセス量によって、通信速度に遅延が生じる場合がある。実施の形態３にかかるデータ送受信システムにおいては、ネットワーク５としてインターネット等の公衆回線を用いたとしても本認証時におけるデータ内容のセキュリティを維持することができる。加えて、高速なインターネットの通信回線を用いることができ、本認証時の処理を迅速におこなうことができるようになる。この実施の形態３によれば、より安全なデータの送受信を、効率的に実現することができる。
【０１５０】
上記実施の形態において、ユーザ−エージェント間では、上述した認証を用いておこない、エージェント−サーバ間では、独自の暗号化通信等で認証情報を送受する構成としても良い。
【０１５１】
以上説明したように、本実施の形態にかかる認証情報付与方法、認証処理方法、認証プログラムおよび情報処理装置によれば、認証者を介することなく、代理認証者によって被認証者の認証処理をおこなうことができる。また、認証者と被認証者が１対１の認証のみならず、代理認証者と被認証者がｎ対ｎの場合であっても認証処理をおこなうことができる。
【０１５２】
なお、本実施の形態で説明した認証の方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【０１５３】
以上のように、本発明にかかる認証情報付与方法、認証方法、認証プログラムおよび情報処理装置は、複数の情報処理装置間における認証処理に有用であり、特に、ユーザの本認証時に認証サーバとの間の通信をおこなわず、エージェントが代理認証を迅速におこなうゲート制御や、販売店舗に設置されるクレジットカード認証装置や、ネットワークを利用する末端のユーザ同士間の情報処理装置など、多様な装置に適用できる。
【図面の簡単な説明】
【０１５４】
【図１】実施の形態１にかかるデータ送受信システムのシステム構成を示す説明図である。
【図２】データ送受信システム１を構成するサーバ２、ユーザ３、エージェント４のハードウェア構成の一例を示すブロック図である。
【図３】実施の形態１にかかるデータ送受信システムの機能的構成を示すブロック図である。
【図４】ユーザ３の初期登録処理の工程を示すフローチャートである。
【図５】エージェント４の初期登録処理の工程を示すフローチャートである。
【図６】初期および初回（ｉ＝１）以降、ｉ回目の認証情報更新処理の工程を示すフローチャートである。
【図７】初回（ｉ＝１）以降、ｉ回目の本認証処理の工程を示すフローチャートである。
【図８】初回（ｉ＝１）以降、ｉ回目の認証情報更新要求処理の工程を示すフローチャートである。
【図９】初回（ｉ＝１）以降、ｉ回目の認証情報更新確認処理の工程を示すフローチャートである。
【図１０】ユーザ３の初期登録処理の工程を示すフローチャートである。
【図１１】エージェント４の初期登録処理の工程を示すフローチャートである。
【図１２】初期および初回（ｉ＝１）以降、ｉ回目の認証情報更新処理の工程を示すフローチャートである。
【図１３】初回（ｉ＝１）以降、ｉ回目の本認証処理の工程を示すフローチャートである。
【図１４】初回（ｉ＝１）以降、ｉ回目の認証情報更新要求処理の工程を示すフローチャートである。
【図１５】初回（ｉ＝１）以降、ｉ回目の認証情報更新確認処理の工程を示すフローチャートである。
【図１６】実施の形態２にかかるデータ処理システムの構成および各端末間のデータの流れを模式的に示す図である
【図１７】実施の形態３にかかるデータ送受信システムの構成を示す図である。
【図１８】従来技術におけるユーザ認証の処理工程を示すフローチャートである。
【図１９】従来技術におけるユーザ認証の処理工程を示すフローチャートである。
【図２０】従来技術におけるユーザ認証の処理工程を示すフローチャートである。
【符号の説明】
【０１５５】
１  データ送受信システム
２  サーバ
３ａ〜３ｃ  ユーザ
４ａ〜４ｃ  エージェント
５  ネットワーク
３１，３６，４１  演算処理部
３１ａ，３６ａ  一方向性変換関数演算部
３１ｂ，３６ｂ，４１ｂ  マスク関数演算部
３１ｃ，３６ｃ  数値比較部
３２，３７，４２  乱数生成部
３３，３８，４３  記憶部
３４，３９，４４  送受信部
４１ａ  数値演算部
４１ｃ  一方向性変換関数演算部
【図１】
2006040182.tif 000003
【図２】
2006040182.tif 000004
【図３】
2006040182.tif 000005
【図４】
2006040182.tif 000006
【図５】
2006040182.tif 000007
【図６】
2006040182.tif 000008
【図７】
2006040182.tif 000009
【図８】
2006040182.tif 000010
【図９】
2006040182.tif 000011
【図１０】
2006040182.tif 000012
【図１１】
2006040182.tif 000013
【図１２】
2006040182.tif 000014
【図１３】
2006040182.tif 000015
【図１４】
2006040182.tif 000016
【図１５】
2006040182.tif 000017
【図１６】
2006040182.tif 000018
【図１７】
2006040182.tif 000019
【図１８】
2006040182.tif 000020
【図１９】
2006040182.tif 000021
【図２０】
2006040182.tif 000022