(57)【特許請求の範囲】
【請求項１】
被認証者が認証者に対して、被認証者が秘密に保持しているパスワードを教えることなく、自分を認証させることのできる方法で、かつ被認証者が利用する装置から認証者が利用する認証サーバへの認証依頼の度に送信する認証情報を可変とする可変認証情報を用いる資格認証方法において、
初期登録フェーズでは、
前記被認証者が利用する装置の一方向性情報生成機構が、被認証者の自己のユーザーＩＤとパスワードと前記被認証者が利用する装置の乱数生成機構により生成される乱数を基に、入力情報を算出することが計算量的に困難であるような一方向性を有する出力情報を生成する一方向性関数を用いて初回の認証データを生成する工程と、
前記被認証者が利用する装置の情報送信機構が前記認証サーバの情報受信機構に対して、被認証者の自己のユーザーＩＤと初回の認証データを送信する工程と、
前記情報受信機構が前記情報送信機構から受信した初回の認証データを初回認証時に用いる認証パラメータとして前記認証サーバの情報記録機構に登録する工程を有し、
認証フェーズでは、
前記被認証者が利用する装置の一方向性情報生成機構が、前記自己のユーザーＩＤと前記パスワードと前記乱数生成機構により生成される乱数を基に、前記一方向性関数を用いて今回の認証データ用中間データと今回の認証データと次回の認証データを生成し、今回の認証用中間データおよび次回の認証データのそれぞれに今回の認証データで排他的論理和演算することにより、今回認証用の排他的論理和及び次回認証用の排他的論理和を生成する工程と、
前記情報送信機構が前記情報受信機構に対して、前記自己のユーザーＩＤ、今回認証用の排他的論理和及び次回認証用の排他的論理和を送信する工程と、
前記認証サーバの一方向性情報生成機構が、前記情報受信機構が前記情報送信機構から受信した今回認証用の排他的論理和と前回登録された認証パラメータとの排他的論理和を入力情報として、前記一方向性関数を用いて被認証者の正当性確認パラメータを生成し、この正当性確認パラメータと前回登録された認証パラメータを比較し、一致した場合は認証が成立したものとし、一致しない場合は認証が不成立とする工程と、
認証が成立した場合は、前記情報受信機構が、前記情報送信機構から受信した次回認証用の排他的論理和と前回登録された認証パラメータとの排他的論理和により次回認証用の認証パラメータを生成し、前回登録された認証パラメータの替わりに前記の次回認証用の認証パラメータを前記情報記録機構に登録する工程を有し、
以上の工程を順次続けて被認証者の認証を行うことを特徴とする可変認証情報を用いる資格認証方法。
【請求項２】
前記一方向性関数としてＤＥＳ，ＦＥＡＬなどの秘密鍵暗号方式に用いる関数を用いることを特徴とする請求項第１項記載の可変認証情報を用いる資格認証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、認証者が被認証者を認証する資格認証方法に関する。可変認証情報を用いる認証方法とは、被認証者から認証者への認証依頼毎にパスワード等の認証情報を変更して認証を行う方法である。
【０００２】
【従来の技術】
従来のパスワード等の認証情報を用いて通信相手やユーザの資格を認証する方法には、公開鍵暗号方法を応用したものと共通鍵暗号方法を応用したものの二つに大別することができるが、インタネット関連の通信プロトコルなどへの組み込みにおいては、公開鍵暗号方法より格段の高速処理が可能な共通鍵系の暗号方法を応用した方法、特に、パスワード認証方法がよく用いられる。基本的なパスワード認証の手順は以下の通りである。まず、被認証者（装置を含む）が認証者（サーバ等の装置を含む）にパスワードを登録する。認証時に、被認証者が認証者にパスワードを送信する。認証者は、受信したパスワードと登録されているパスワードを比較する。
【０００３】
しかし、この方法には、次のような問題点がある。
（ａ）  認証側にあるパスワードファイルの盗見によりパスワードが盗まれる。（ｂ）  通信中、回線盗聴によってパスワードが盗まれる。
（ｃ）  被認証者は認証者に、自分の秘密情報であるパスワードを公開する必要がある。
【０００４】
最初の問題（ａ）  を解決する方法として、例えば、被認証者が認証者に、パスワードに一方向性関数を施したデータを登録しておき、認証時に、認証者が受信したパスワードに同じ一方向性関数を施し、結果を比較するという方法（参考文献：Ａ．Ｅｖａｎｓ，Ｗ．Ｋａｎｔｒｏｗｉｔｚ  ａｎｄ  Ｅ．Ｗｅｉｓｓ：“Ａ  ｕｓｅｒ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｓｃｈｅｍｅ  ｎｏｔｒｅｑｕｉｒｉｎｇ  ｓｅｃｒｅｃｙ  ｉｎ  ｔｈｅ  ｃｏｍｐｕｔｅｒ，”  Ｃｏｍｍｕｎ．  ＡＣＭ，  １７，  ８，  ｐｐ．４３７−４４２（１９７４）及びＲ．Ｍｏｒｒｉｓ  ａｎｄ  Ｋ．Ｔｈｏｍｐｓｏｎ：“Ｐａｓｓｗｏｒｄ  ｓｅｃｕｒｉｔｙ：  Ａ  ｃａｓｅ  ｈｉｓｔｏｒｙ，”  ＵＮＩＸＰｒｏｇｒａｍｍｅｒ’ｓ  Ｍａｎｕａｌ  ，  Ｓｅｖｅｎｔｈ  Ｅｄｉｔｉｏｎ  ，  ２Ｂ（１９７９））  がある。
【０００５】
一方向性関数とは、入力の総当たり以外に、出力から入力を得る効率的な手段が存在しない関数であり、総当たりの計算量を充分大きくしておけば、無資格者が入力データを算出して被認証者になりすますことを防止できる。一般に、一方向性関数は、ＤＥＳやＦＥＡＬなどの共通鍵暗号方法によって得ることができる。共通鍵暗号方法は、共通秘密鍵を用いて入力される平文を処理して暗号文を出力として得るもので、平文と暗号文が与えられても共通秘密鍵が算出できない。特にＦＥＡＬでは、平文や共通秘密鍵の入力が１ビット変化しただけでも、その入力変化の痕跡をまったくとどめない出力を得ることができるという特徴を有している。
【０００６】
以上説明した通り、一方向性関数を用いた方法によって、基本的なパスワード認証方法の問題（ａ）は解決できる。しかし、これを回線盗聴が簡単なインタネットに適用する場合、問題（ｂ）  を解決することはできない。また、問題（ｃ）に関しては、この基本的なパスワード認証方法は、銀行の顧客認証などには適用できても、同一レベルのユーザ同士の資格認証には適していない。
【０００７】
このような問題を解決する方法として、パスワード等の認証情報を可変にする資格認証方法がある。例えば、Ｌａｍｐｏｒｔ  の方法（Ｌ．Ｌａｍｐｏｒｔ：“Ｐａｓｓｗｏｒｄ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｗｉｔｈ  ｉｎｓｅｃｕｒｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ，”  Ｃｏｍｍｕｎ．  ＡＣＭ，  ２４，１１，  ｐｐ．７７０−７７２（１９８１））  （Ｓ／ＫＥＹ型パスワード認証方式）及びこの出願の発明者が提案した動的パスワード認証方法  であるＣＩＮＯＮ法（Ｃｈａｉｎｅｄ  Ｏｎｅ−ｗａｙ  Ｄａｔａ  ＶｅｒｉｆｉｃａｔｉｏｎＭｅｔｈｏｄ）（Ａ．Ｓｈｉｍｉｚｕ，  “ＡＤｙｎａｍｉｃ  Ｐａｓｓｗｏｒｄ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｍｅｔｈｏｄ  Ｕｓｉｎｇ  ａ  Ｏｎｅ−ｗａｙ  Ｆｕｎｃｔｉｏｎ”Ｓｙｓｔｔｅｍｓ  ａｎｄ  Ｃｏｍｐｕｔｅｒｓｉｎ  Ｊａｐａｎ，  Ｖｏｌ．  ２２，  Ｎｏ．７，  １９９１，  ｐｐ．３２−４０）（「資格認証方法」  特公平８−２０５１／特許第２０９８２６７号）がある。
【０００８】
Ｌａｍｐｏｒｔ  の方法は、パスワードに一方向性関数を複数回適用しておいて、適用一回前のデータを次々と認証者側に示すことで、複数回の認証を可能にする方法である。この方法では、最初に設定した最大認証回数から認証を実行する毎に１を減算し、認証回数を使い尽くした時点で、パスワードを再設定する必要がある。最大認証回数を増やすために一方向性関数の適用回数を増加させると処理量が増大する。銀行の顧客認証では最大認証回数として数１００〜１０００等が用いられる。更に、認証者側に比較して処理能力の小さい、被認証者側の処理負担が大きいという問題点がある。
【０００９】
ＣＩＮＯＮ法は、被認証者（ユーザ）が認証者（ホスト）に対して、前回に正当性の検証を終え登録されている認証データのもとのデータ、次々回に認証に用いる認証データ、前回送信済みで次回の認証に用いる認証データの正当性検証データの３つのデータを認証フェーズ毎に送信することで、認証情報を安全に更新しながら次々と連鎖的に認証を行うことのできる方法である。このように、ＣＩＮＯＮ法では、被認証者が認証者の認証を得るためには、前回生成した２つの乱数Ｎ(k-1)，Ｎ(k)を使用する必要がある。そのため、ユーザが出先の端末から認証者の認証を得る場合には、ユーザはそれらの乱数を記憶した例えばＩＣカードの様な記憶媒体を携帯し、出先の端末で使用しなければならない。また、端末は、乱数を発生する機能及びＩＣカードを読み書きする機能を必要とする。一方、インタネットにおいては、テレビセットやワードプロセッサ、更に携帯端末などにインタネット接続機能を付加したインタネット家電と呼ばれる製品が市場投入されようとしている。
【００１０】
このようなインタネット家電が普及してくることに伴い、認証処理を有する情報の送受信に対する需要が増大してくるものと思われるが、インタネット家電は、コストを最重視しているため、上述の乱数を発生したり、それらをＩＣカード等の記憶媒体へ読み書きする機構を有していない場合がほとんどである。また、処理プログラムの格納領域も限られるため、このような認証処理をできるだけ簡易で小さいプログラムサイズで実現することが望まれる。
【００１１】
この問題を解決するために、本出願の発明者が提案した「ユーザ認証機能を有する情報送受信制御方法」（特願平８−２４０１９０）におけるユーザ認証方式は、インターネット等のセキュリティが十分でないネットワーク上の被認証者と認証者間の情報送受信において、被認証者側にＩＣカード等の記憶媒体の読み書きを行う機構を必要とせず、かつユーザ認証処理を小さいプログラムサイズで行うことができる安全な情報送受信制御方法と装置及びその方法を記録した記録媒体を提供することを目的としたもので、認証手順において、ＣＩＮＯＮ法の改良として、各種認証データの値を一度きりのものにするために被認証ユーザと認証サーバとの間で同期をとらなくてはならないパラメータとして、認証データ生成時に用いていた乱数に代えて、認証回数を用いるようにしたことを主要な特徴とする。被認証ユーザが行わなければならない処理が上記「資格認証方法」よりもややシンプルになている。この発明においては、認証データの生成に用いる一方向性関数にＤＥＳやＦＥＡＬなどの共通鍵暗号方法を用いる。しかるに、安全性は用いる一方向性関数、つまり共通鍵暗号方法の強度に依存し、乱数から認証回数に変更した影響はない。
【００１２】
上記３方式における認証方法は全て可変認証情報を用いる資格認証方法である。かかる資格認証方法の重要な特徴は、インターネット等の通信路を通して被認証者から認証者に渡される認証用データは認証フェーズ毎に異なる（毎回異なる）ため、ある認証フェーズでそれが盗聴されたとしても、次の認証フェーズ（次回認証時）には別の認証データを被認証者から認証者に送らなければ認証されないので、盗聴した無資格者が正当な被認証者になりすますことができないという点である。
【００１３】
【発明が解決しようとする課題】
Ｌａｍｐｏｒｔの方法には、被認証ユーザ側での処理（計算）量が非常に大きいという問題と、被認証者が、定期的にパスワードを更新する必要があるという問題があった。
ＣＩＮＯＮ法では、Ｌａｍｐｏｒｔの方法の欠点であるパスワードの更新の必要性をなくすことができたが、被認証者および認証者における処理（計算）量が大きいという問題は依然残った。
「ユーザ認証機能を有する情報送受信制御方式」におけるユーザ認証方法は、ＣＩＮＯＮ法の欠点である、被認証者における処理（計算量）を削減することができたが、被認証者と認証者の相互間の手順がやや複雑であり、認証サーバ側でユーザ対応に管理しなければならないデータが多く、実運用時には準正常系、異常系の処理手順を入念に検討しておく必要があるという問題があった。
【００１４】
本発明の目的は、セキュリティが十分でないネットワーク上の被認証者を認証者に認証させるための可変認証情報を用いる資格認証方法において、認証フェーズ毎に被認証者側および認証者側で実行する処理量（計算量）を極めて少なくすることにより、被認証側にも認証側にも簡易で小さいプログラムサイズで実現可能とし、かつ、通信路上の盗聴に強い安全な認証を行える方法を提供することにある。
【００１５】
【課題を解決するための手段】
被認証者が認証者に対して、被認証者が秘密に保持しているパスワードを教えることなく、自分を認証させることのできる方法で、かつ被認証者が利用する装置から認証者が利用する認証サーバへの認証依頼の度に送信する認証情報を可変とする可変認証情報を用いる資格認証方法において、初期登録フェーズでは、前記被認証者が利用する装置の一方向性情報生成機構が、被認証者の自己のユーザーＩＤとパスワードと前記被認証者が利用する装置の乱数生成機構により生成される乱数を基に、入力情報を算出することが計算量的に困難であるような一方向性を有する出力情報を生成する一方向性関数を用いて初回の認証データを生成する工程と、前記被認証者が利用する装置の情報送信機構が前記認証サーバの情報受信機構に対して、被認証者の自己のユーザーＩＤと初回の認証データを送信する工程と、前記情報受信機構が前記情報送信機構から受信した初回の認証データを初回認証時に用いる認証パラメータとして前記認証サーバの情報記録機構に登録する工程を有し、認証フェーズでは、前記被認証者が利用する装置の一方向性情報生成機構が、前記自己のユーザーＩＤと前記パスワードと前記乱数生成機構により生成される乱数を基に、前記一方向性関数を用いて今回の認証データ用中間データと今回の認証データと次回の認証データを生成し、今回の認証用中間データおよび次回の認証データのそれぞれに今回の認証データで排他的論理和演算することにより、今回認証用の排他的論理和及び次回認証用の排他的論理和を生成する工程と、前記情報送信機構が前記情報受信機構に対して、前記自己のユーザーＩＤ、今回認証用の排他的論理和及び次回認証用の排他的論理和を送信する工程と、前記認証サーバの一方向性情報生成機構が、前記情報受信機構が前記情報送信機構から受信した今回認証用の排他的論理和と前回登録された認証パラメータとの排他的論理和を入力情報として、前記一方向性関数を用いて被認証者の正当性確認パラメータを生成し、この正当性確認パラメータと前回登録された認証パラメータを比較し、一致した場合は認証が成立したものとし、一致しない場合は認証が不成立とする工程と、認証が成立した場合は、前記情報受信機構が、前記情報送信機構から受信した次回認証用の排他的論理和と前回登録された認証パラメータとの排他的論理和により次回認証用の認証パラメータを生成し、前回登録された認証パラメータの替わりに前記の次回認証用の認証パラメータを前記情報記録機構に登録する工程を有し、以上の工程を順次続けて被認証者の認証を行うことを特徴とする。
【００１６】
すなわち、本発明は、被認証者（装置を含む）は、認証フェーズ毎に乱数を生成し、乱数、ユーザＩＤ、パスワードを基に今回の認証データと次回の認証データを一方向性関数を用いて算出し、これをさらに排他的論理和を用いて被認証者以外は解読できないように暗号化し、これらを被認証者自身のユーザＩＤと合わせて認証者（サーバ等の装置を含む）に送信し、また、認証者は、被認証者から前述の３つの情報を受信し、今回の認証データを基に一方向性関数を用いて算出した正当性確認パラメータと前回の認証フェーズにおいて登録した認証パラメータと比較し、一致したら今回の認証が成立したと判断し、次回の認証データを次回の認証パラメータとして登録するものである。
【００１７】
これにより、本発明は、（１）前記の従来技術において１回の認証処理実行時に、被認証者と認証者との間で行われる認証関連情報の授受が、被認証者からみて１往復半（計３回の送受信）以上必要であったのが、被認証者が認証者に対して１回の送信のみですむようになった、（２）前記の従来技術において認証者が被認証者毎に管理している認証関連データが４以上あったのに対して、本方式ではわずか１のデータのみですむようになった、（３）認証フェーズ毎に被認証者側および認証者側で排他的論理和演算以外の暗号化又は複合処理が認証側で２回、被認証者側で４回と少なくなった、ことにより被認証者および認証者が実行する処理量（計算量）を極めて少なくすることができるという主要な効果を有する。
【００１８】
また、一方向性関数としてＤＥＳ，ＦＥＡＬなどの秘密鍵暗号方式に用いる関数を用いるのが好適である。認証情報の解読が不可能であり、さらに、ＦＥＡＬは高速暗号処理を実現している。
【００１９】
【発明の実施の形態】
【実施例１】
本発明による可変認証情報を用いる資格認証方法の説明に先だって、まず一方向性関数について説明する。一方向性関数とは、入力データのしらみ潰し以外に、出力データから入力データを逆算する有効な方法のない関数をいう。ＤＥＳ、ＦＥＡＬなどの秘密鍵暗号アルゴリズムを用いて、このような性質を実現できる。特に、ＦＥＡＬは、１６ビットのパーソナルコンピュータ上のソフトウェアで２００Ｋｂｐｓ、ＬＳＩとして９６Ｍｂｐｓ（クロック１０ＭＨｚ）の暗号化処理速度を実現しているすぐれた秘密鍵暗号方式である。
【００２０】
秘密鍵暗号アルゴリズムをＣ＝Ｅ（ＰA，ＳB）で表す。Ｅは一方向性関数（秘密鍵暗号化処理関数、第２パラメータが秘密鍵）で、Ｃは暗号文、ＰAは平文、ＳBは秘密鍵である。ＰAを平文、ＳBを入力情報、Ｃを出力情報とすると、平文ＰAと出力情報Ｃが分かっていても入力情報ＳBを逆算できない。
【００２１】
続いて本発明の資格認証方法の実施例を説明する。本発明の認証方法のデータの流れを図１ないし図３に示す。図１は初期登録フェーズ、図２は初回認証フェーズ、図３はｋ回目認証フェーズのデータの流れを示す。データは上から下に又は矢印に沿って流れる。図及び以下の説明において、一方向演算Ｃ＝Ｅ（ＰA，ＳB）をＣ←Ｅ（ＰA，ＳB）のように表す。また、排他的論理和演算子を＠で表す。
【００２２】
図４は本発明の資格認証方法を実現する機能ブロックの実施例を示す。図４において、１は認証制御機構、２は被認証制御機構、３は公開簿、４は秘密情報入力機構、５は乱数生成機構、６は一方向性情報生成機構、７は乱数記録機構、８は情報送信機構、９は情報受信機構、１０は情報記録機構、１１は情報比較機構、１２は演算機構である。本実施例では、認証者ＵAを認証サーバ、被認証者ＵBを被認証ユーザとし、その認証手順を示す。被認証ユーザＵBはＰAとして公開された自己のユーザＩＤ＝Ａを持ち、自分のみで秘密に管理するパスーワードＳを持つものとし、ＳBとしてパスーワードＳと乱数との排他的論理和を用いるものとする。
【００２３】
本実施例における認証方法は、大きく分けて、初期登録フェーズとその後の認証フェーズの２つのフェーズから成り立つ。認証フェーズは第１回目、第２回目、第３回目…と順次繰り返される。認証サーバＵAの認証制御は認証制御機構１が行う。また、被認証ユーザＵBの被認証制御は被認証制御機構２が行う。また、上記ユーザＩＤ  Ａは公開簿３に登録されている。
【００２４】
［初期登録フェーズ］
まず、初期登録フェーズについて説明する。
▲１▼被認証ユーザＵB側（演算処理）
パスワードＳは秘密情報入力機構４によって取り込まれる。自分のユーザＩＤとしてＰA＝Ａを用いる。Ｎ(0)を乱数生成機構５によって任意に設定し、乱数記録機構７によって記録しておく。一方向性情報生成機構６によって以下のデータを算出する。一方向性関数として秘密鍵暗号化処理関数Ｅを用いる。
まず、初回の認証用中間データ  Ｅ(0)←Ｅ（Ａ，Ｓ＠Ｎ(0)）を生成し、
更に、初回の認証データ  Ｅ2(0)←Ｅ（Ａ，Ｅ(0)）を生成する。
【００２５】
▲２▼被認証ユーザＵB側（送信処理）
以上の準備をした上で、情報送信機構８によって認証サーバＵAに以下のデータを送信し、登録を依頼する。この場合、盗聴の恐れのないセキュアルート（安全なルート）により送信する。
ユーザＩＤ  Ａ，初回の認証データ  Ｅ2(0)
【００２６】
▲３▼認証サーバＵA側（受信、登録処理）
情報受信機構９でユーザＩＤ  Ａおよび初回の（次回の）認証データＥ2(0)を受信し、受信したデータＥ2(0)を情報記録機構１０で初回の認証パラメータ（認証パラメータ初期値）Ｚとして記憶（登録）する。
【００２７】
［認証フェーズ］
次に、認証フェーズについて説明する。
まず、初回（ｋ＝１）の認証手順について説明する。▲１▼被認証ユーザＵB側（演算処理）
乱数生成機構５によりＮ1を任意に設定し、乱数記録機構７に記憶させる。
次に、一方向性情報生成機構６によって以下のデータを算出する。
次回の認証用中間データ  Ｅ(1)←Ｅ（Ａ，Ｓ＠Ｎ(1)）を生成し、
更に、次回の認証データ  Ｅ2(1)←Ｅ（Ａ，Ｅ(1)）を生成する。
次に、初期登録フェーズで乱数記録機構７に記憶させたＮ(0)を使って、
今回の認証用中間データ  Ｅ(0)←Ｅ（Ａ，Ｓ＠Ｎ(0)）を生成し、
更に、今回の認証データ  Ｅ2(0)←Ｅ（Ａ，Ｅ(0)）を生成する。
次に、演算機構１２によって以下のデータを算出する。
今回認証用の排他的論理和  Ｆ(0)＝Ｅ(0)＠Ｅ2(0)を算出し、
更に、次回認証用の排他的論理和  Ｇ(1)＝Ｅ2(1)＠Ｅ2(0)を算出する。
【００２８】
▲２▼被認証ユーザＵB側（送信処理）
情報送信機構８によって認証サーバＵAに以下のデータを送信する。
ユーザＩＤ  Ａ，今回認証用の排他的論理和Ｆ(0)，次回認証用の排他的論理和Ｇ(1)
この時、送信データは被認証者以外は解読できないように暗号化されているので、インターネットのような盗聴の恐れのあるルート（一般ルート）を用いてもよい。
【００２９】
▲３▼認証サーバＵA側（受信、認証処理）
ユーザＩＤ  Ａ，今回認証用の排他的論理和Ｆ(0)，次回認証用の排他的論理和Ｇ(1)を受信し、
次に、正当性確認用中間パラメータＸを、演算機構１２にて以下の演算により生成する。
Ｘ＝Ｆ(0)＠Ｚ
ここで、Ｚ＝Ｅ2(0)は初期登録フェーズで情報記録機構１０に登録された認証パラメータである。この排他的論理和演算処理において、Ｆ(0)＝Ｅ(0)＠Ｅ2(0)が正当な被認証ユーザＵBから受信したものであれば、演算結果はＸ＝Ｅ(0)になるはずである。  次に、正当性確認パラメータＹを一方向性情報生成機構６にて以下の演算により生成する。
Ｙ←Ｅ（Ａ，Ｘ）
もし、正当性確認パラメータＹと初期登録フェーズで記憶（登録）された認証パラメータＺ＝Ｅ2(0)が一致すれば、今回の認証が成立したことになり、一致しなければ認証は不成立となる。
【００３０】
▲４▼認証サーバＵA側（登録処理）
認証が成立した場合には、次回の認証パラメータＺ’を演算機構１２にて以下の演算により生成する。以下、認証パラメータＺ，Ｚ’について、受信データをもとに演算して得られたものをＺ’、登録されたものをＺと切り分けて用いる。
Ｚ’＝Ｇ(1)＠Ｚ
ここで、Ｚ＝Ｅ2(0)は初期登録フェーズで情報記録機構１０に登録された認証パラメータであり、Ｇ(1)＝Ｅ2(1)＠Ｅ2(0)は被認証ユーザＵBから受信したデータである。既に認証が成立しているため、Ｇ(1)はユーザＩＤ＝Ａの被認証ユーザから正当に受信したものであり、演算結果はＺ’＝Ｅ2(1)になるはずである。
最後に、Ｚ’＝Ｅ2(1)を、次回すなわち第２回目の認証で用いる認証パラメータＺとして情報記録機構１０に記憶（登録）する。
認証が不成立の場合には、認証パラメータＺは不変である。
【００３１】
一般に、第ｋ回目（ｋは正整数）の認証手順は以下の通りである。
▲１▼被認証ユーザＵB側（演算処理）
乱数生成機構５によりＮ(k)を任意に設定し、乱数記録機構７に記憶させる。一方向性情報生成機構６によって以下のデータを算出する。
次回の認証用中間データ  Ｅ(k)←Ｅ（Ａ，Ｓ＠Ｎ(k)）を生成し、
更に、次回の認証データ  Ｅ2(k)←Ｅ（Ａ，Ｅ(k)）を生成する。
次に、前回の認証フェーズで乱数記録機構７に記憶させたＮ(k-1)を使って、
今回の認証用中間データ  Ｅ(k-1)←Ｅ（Ａ，Ｓ＠Ｎ(k-1)）を生成し、
更に、今回の認証データ  Ｅ2(k-1)←Ｅ（Ａ，Ｅ(k-1)）を生成する。
次に、演算機構１２によって以下のデータを算出する。
今回認証用の排他論理和  Ｆ(k-1)＝Ｅ(k-1)＠Ｅ2(k-1)を算出し、
更に、次回認証用の排他論理和  Ｇk＝Ｅ2(k)＠Ｅ2(k-1)を算出する。
【００３２】
▲２▼被認証ユーザＵB側（送信処理）
情報送信機構８によって認証サーバＵAに以下のデータを送信する。
ユーザＩＤ  Ａ，今回認証用の排他論理和Ｆ(k-1)，次回認証用の排他論理和Ｇ(k)
この時、送信データは被認証者以外は解読できないように暗号化されているので、インターネットのような盗聴の恐れのあるルート（一般ルート）を用いてもよい。
【００３３】
▲３▼認証サーバＵA側（受信、認証処理）
ユーザＩＤ  Ａ，今回認証用の排他論理和Ｆ(k-1)，次回認証用の排他論理和Ｇ(k)を受信し、
次に、正当性確認用中間パラメータＸを演算機構１２にて以下の演算により生成する。
Ｘ＝Ｆ(k-1)＠Ｚ
ここで、Ｚ＝Ｅ2(k-1)は前回の認証フェーズで情報記録機構１０に登録された認証パラメータを用いる。この排他的論理和演算処理において、Ｆ(k―1)が正当な被認証ユーザＵBから受信したものであれば、演算結果はＸ＝Ｅ(k-1)になるはずである。  次に、正当性確認パラメータＹを一方向性情報生成機構６にて以下の演算により生成する。
Ｙ←Ｅ（Ａ，Ｘ）
もし、正当性確認パラメータＹと前回の認証フェーズで登録された認証パラメータＺ＝Ｅ2(k-1)が一致すれば、今回の認証が成立したことになり、一致しなければ認証は不成立となる。
【００３４】
▲４▼認証サーバＵA側：
認証が成立した場合には、次回の認証パラメータＺ’を演算機構１２にて以下の演算により生成する。
Ｚ’＝Ｇ(k)＠Ｚ
ここで、Ｚ＝Ｅ2(k-1)は前回の認証フェーズで情報記録機構１０に登録された認証パラメータであり、Ｇ(k)＝Ｅ2(k)＠Ｅ2(k-1)は被認証ユーザＵBから受信したデータである。既に認証が成立しているため、Ｇ(k)はユーザＩＤ＝Ａの被認証ユーザから正当に受信したものであり、演算結果はＺ’＝Ｅ2(k)になるはずである。
最後に、Ｚ’＝Ｅ2(k)を、ユーザＩＤ＝Ａの被認証ユーザが次回の認証で用いる新たな認証パラメータＺとして情報記録機構１０に記憶（登録）する。
認証が不成立の場合には、認証パラメータＺは不変である。
以上の認証フェーズをｋ＝１，２，３，…と順次続けて、被認証者のパスワードの認証を行う。
【００３５】
本実施例による資格認証方法の効果は、次のようである。
第ｋ回目の認証フェーズで、被認証ユーザＵBが認証サーバＵAに送信する今回認証用の排他論理和Ｆ(k-1)および次回認証用の排他論理和Ｇ(k)は、一方向性関数を用いて生成したＥ2(k-1)との排他的論理和演算により一種の暗号化が施されているため、第３者に不正に盗聴されても実データを解読することはできない。
【００３６】
第ｋ回目の認証フェーズで、認証サーバＵAが被認証ユーザＵBから受信した今回認証用の排他論理和Ｆ(k-1)および次回認証用の排他論理和Ｇ(k)は、それぞれ認証パラメータＺ＝Ｅ2(k-1)との排他的論理和演算により一種の暗号化が施されているが、Ｅ2(k-1)は、前回認証フェーズ（ｋ＝１の場合は初期登録フェーズ）において認証サーバＵAに既に登録されているものであるため、Ｅ2(k-1)と再度排他的論理和演算することによって極めて簡単に、正当性認証用中間パラメータＸ＝Ｅ(k-1)と次回の認証パラメータＺ＝Ｅ2(k)を復号することができる。排他的論理和演算は演算処理負荷が最もシンプルな一方向性関数の一つであり、かつ、２度演算すると元のデータを復元できるという特徴を持つ。
【００３７】
認証サーバ側において、被認証ユーザ毎に記憶（管理）しておかなければならないデータは、上記の認証パラメータＺ＝Ｅ2(k-1)のわずか１つだけであり、認証フェーズ毎に認証サーバ内で実行しなくてはならない排他的論理和演算以外の復号処理（一方向性関数の使用）はわずか２回（正当性認証パラメータＹ，認証パラメータＺの生成）であり、処理負荷を極めて軽くすることができる。
【００３８】
被認証ユーザ側において、認証フェーズ毎に実行しなくてはならない排他的論理和演算以外の暗号化処理（一方向性関数の使用）は４回（今回の認証用中間データＥ(k-1)，今回の認証データＥ2(k-1)，次回の認証用中間データＥ(k)，次回の認証データＥ2(k)）であり、処理負荷は十分に軽くてすむ。
【００３９】
被認証ユーザと認証サーバの相互間で行われる情報授受の回数は、認証フェーズ毎に、被認証ユーザから認証サーバへの送信が１回のみであるため、通信セッション（コネクション）の状態が不安定なネットワークにおいても確実に認証処理を行うことができる。
【００４０】
【実施例２】
実施例１では、第ｋ回目の認証フェーズで、被認証ユーザＵB側で、乱数生成機構５によりＮ(k)を任意に設定し、乱数記録機構７に記憶させることになっているが、本実施例では、Ｎ(k)に代えて、Ｅ(k)およびＥ2(k)を記憶しておく。
これにより、認証フェーズ毎に被認証ユーザＵB側で実行しなくてはならない排他的論理和演算以外の暗号化処理をわずか２回に削減することができる。
【００４１】
以上の手順では、登録フェーズで認証者が記憶する初回認証データはＥ2(0)であるが、安全性をより高めるために、一方向性関数を利用する回数を増やし、Ｅ2(0)の代わりに初回認証データとして、Ｚ(0)＝Ｅ3(0)←Ｅ（Ａ，Ｅ2(0)）を記憶させ、
第ｋ回目の認証フェーズでは、被認証者は認証者に対してユーザＩＤ  Ａ、今回認証用の排他的論理和Ｆ(k-1)＝Ｅ2(k-1)＠Ｅ3(k-1)、次回認証用の排他的論理和Ｇ(k)＝Ｅ3(k)＠Ｅ3(k-1)（ここにＥ2(k-1)は今回認証用中間データ、Ｅ3(k-1)は今回の認証データ、Ｅ3(k)は次回の認証データである。）を送り、それを受信した認証者は、記憶していた認証パラメータＺ＝Ｅ3(k-1)から今回認証用中間データＥ2(k-1)と次回の認証データＥ3(k)を復元し、得られたＥ2(k-1)とユーザＩＤ  Ａから正当性確認パラメータＹ＝Ｅ3(k-1)を生成して、記憶していた認証パラメータＺ＝Ｅ3(k-1)と比較することで認証し、認証成立した場合にはＥ3(k)を次回認証パラメータＺとして記憶するいう手順を採ることも可能である。または、ユーザＩＤ  Ａ、今回認証用の排他的論理和Ｆ(k-1)＝Ｅ(k-1)＠Ｅ3(k-1)、次回認証用の排他的論理和Ｇ(k)＝Ｅ3(k)＠Ｅ3(k-1)を送り（ここにＥ(k-1)は今回認証用中間データ、Ｅ3(k-1)は今回の認証データ、Ｅ3(k)は次回の認証データである。）、それを受信した認証者は、記憶していた認証パラメータＺ＝Ｅ3(k-1)から今回認証用中間データＥ(k-1)とユーザＩＤ  Ａから正当性確認パラメータＹ＝Ｅ3(k-1)を生成して、記憶していたＺ＝Ｅ3(k-1)と比較することで認証し、認証成立した場合にはＥ3(k)を次回認証データとして記憶するいう手順を採ることも可能である。
さらに、登録フェーズで認証者に記憶させる初回認証データを、Ｅ4(0)＝Ｅ（Ａ，Ｅ3(0)）やＥ5(0)＝Ｅ（Ａ，Ｅ4(0)）などとする手順も可能である。
【００４２】
以上の実施例では、認証サーバＵAと被認証ユーザＵBとの間の資格認証方法について説明したが、インターネット利用者同士の資格認証にも本発明を適用できる。その他、本発明の趣旨を逸脱しない範囲で種々の変更が可能なことはいうまでもない。
【００４３】
【発明の効果】
以上説明したように、本発明による可変認証情報を用いる資格認証方法は、被認証側が認証側に対して送信するデータは一方向性関数を用いて算出し、これをさらに排他的論理和を用いて被認証者以外は解読できないように暗号化しているので、自分の秘密情報を相手に示すことなく、さらに使い捨てでない資格認証方式を実現できる。また、不正行為者が通信中の認証情報を自分に都合のいいものに改ざんしたとしても、その正当性を保証できないので次回の認証は受けられない。
【００４４】
また、実施例で示した認証手順では、認証される側の一方向性情報生成処理は、一回の認証につき２〜４回で済む。これはＬａｍｐｏｒｔの方式の数１００〜１０００回に比べて著しく小さい。また、ＣＩＮＯＮ法においても１回の認証処理実行時に、被認証者と認証者との間で行われる認証関連情報の授受が、被認証者からみて１往復半（計３回の送受信）必要であったのが、本発明では被認証者から認証者に対する１回の送信のみですむようになった。
【００４５】
さらに、従来技術において認証者が被認証者毎に管理している認証関連情報が４種類あったのに対して、本方式ではわずか１の情報のみですむようになった。
【００４６】
このように、本発明は、特に、認証フェーズ毎に被認証者側および認証者側で実行する処理量（計算量）を極めて少なくすることができる。したがって、セキュリティが十分でないネットワーク上の被認証者を認証者に認証させるための認証方法として、被認証側にも認証側にも簡易で小さいプログラムサイズで実現可能な処理しかさせず、かつ、通信路上の盗聴に強い安全な認証を行える方法を提供することができる。
【００４７】
本発明の可変認証情報を用いる資格認証方法は、ネットワーク、通信、コンピュータシステムにおけるあらゆる状況の資格認証に適用することができる。例えば、認証される側の処理量が少なく済むため、ＩＣカードの認証システムに適用することができる。これを応用して、ＩＣカード電話機などのシステムに適用できる。また、ネットワーク上の同一レベルのユーザ同士の相互認証に適用できる。データベースの情報へのアクセス資格の認証へ適用できる。さらに、利害関係の異なるユーザグループが同一のＬＡＮ上に共存しているような場合の、それぞれのグループの情報へのアクセス資格の認証への適用も可能である。この場合には、かなりの高速性が要求されるので、一方向性変換処理を実現する秘密鍵暗号はＬＳＩを用いることが必要である。
【図面の簡単な説明】
【図１】本発明における資格認証方法（初期登録フェーズ）の実施例を示す図である。
【図２】本発明における資格認証方法（初回認証フェーズ）の実施例を示す図である。
【図３】本発明における資格認証方法（ｋ回目認証フェーズ）の実施例を示す図である。
【図４】本発明における機能ブロックの実施例を示す図である。
【符号の説明】
１  認証制御機構
２  被認証制御機構
３  公開簿
４  秘密情報入力機構
５  乱数生成機構
６  一方向性情報生成機構
７  乱数記録機構
８  情報送信機構
９  情報受信機構
１０  情報記録機構
１１  情報比較機構
１２  演算機構
Ａ  ユーザＩＤ
Ｃ  出力情報
Ｅ  一方向性関数（秘密鍵暗号化処理関数、第２パラメータが秘密鍵）
Ｅ2(k-1)  今回認証用データ
Ｅ2(k)  次回認証用データ
Ｆ(k-1)  今回認証用の排他論理和
Ｇ(k)  次回認証用の排他論理和
Ｎ(k)  乱数
ＰA  平文
Ｓ  パスワード
ＳB  入力情報（秘密鍵）
ＵA  認証者（装置を含む）
ＵB  被認証者（装置を含む）
Ｘ  正当性確認用中間パラメータ
Ｙ  正当性確認パラメータ
Ｚ  認証パラメータ（登録されたもの）
Ｚ’  次回の認証パラメータ（受信データをもとに演算して得られたもの）
【図１】
0003746919.tif 000002
【図２】
0003746919.tif 000003
【図３】
0003746919.tif 000004
【図４】
0003746919.tif 000005