(57)【特許請求の範囲】
【請求項１】
認証装置が、これにネットワークで接続された被認証装置に着脱可能に接続される記録媒体内の認証コードを認証する電子認証方法であり、
認証装置の記憶領域に、第１の共通鍵、第２の共通鍵、暗号データ及び認証コードが格納され、並びに、被認証装置の記録媒体に、第１の共通鍵、暗号データ、認証コードが格納された状態において、
前記被認証装置が、前記記録媒体中の前記認証コードを、ネットワークを介して、前記認証装置へ送信し、前記認証装置において、記憶領域から読み出した認証コードと受信した認証コードとを比較して一致すれば認証に成功したと判断する認証処理を行い、
該認証処理の結果、認証に成功した場合、認証装置が、記憶領域の第１の共通鍵と第２の共通鍵を用いて、記憶領域の暗号データから画像データを復元すると共に、被認証装置に第２の共通鍵を送信し、
被認証装置が、記録媒体の第１の共通鍵と、受信した第２の共通鍵を用いて記録媒体の暗号データから画像データを復元し、
認証装置と被認証装置の両者において、認証コードを用いて新たな第２の共通鍵を生成し、新たな第２の共通鍵と第１の共通鍵を用いて、復元した画像データから新たな暗号データを生成し、第１の共通鍵と新たな第２の共通鍵と新たな暗号データから新たな認証コードを生成し、
認証装置において、新たな第２の共通鍵と新たな暗号データと新たな認証コードにより、記憶領域を書き換える情報更新処理を行い、
被認証装置において、新たな暗号データと新たな認証コードにより、記録媒体を書き換え、次の認証処理においては、それぞれ、書き換えられた記憶領域及び記憶媒体を用いることを特徴とする電子認証方法。
【請求項２】
前記被認証装置が、前記復元した画像データを画面上に表示することを特徴とする請求項１記載の電子認証方法。
【請求項３】
ネットワークを介して接続される被認証装置に着脱可能に接続される記録媒体内の認証コードの認証処理を行う電子認証装置であり、
第１の共通鍵、第２の共通鍵、暗号データ及び認証コードを格納する記憶領域と、
前記被認証装置からネットワークを介して前記認証コードを受信すると、受信した認証コードと前記記憶領域から読み出した前記認証コードとを比較して一致すれば認証に成功したと判断する認証処理部と、
該認証処理の結果、認証に成功した場合、記憶領域の第１の共通鍵と第２の共通鍵を用いて、記憶領域の暗号データから画像データを復元すると共に、被認証装置に第２の共通鍵を送信し、
更に、前記認証コードを用いて新たな第２の共通鍵を生成し、新たな第２の共通鍵と第１の共通鍵を用いて、復元した画像データから新たな暗号データを生成し、第１の共通鍵と新たな第２の共通鍵と新たな暗号データから新たな認証コードを生成し、新たな第２の共通鍵と新たな暗号データと新たな認証コードにより、記憶領域を書き換える情報更新部とを具備しており、
前記認証処理部は、次の認証処理においては、書き換えられた記憶領域の情報に基づいてこれを行うことを特徴とする電子認証装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを用いて使用者が本人であることの確認を行う電子認証方法、電子認証プログラムを記憶した記憶媒体、電子認証装置及び認証登録方法に関し、更にマスターキーシステムを利用したものに関する。
【０００２】
【従来の技術】
ネットワークの発達に伴い、電子商取引、電子決済等のニーズが高まってきている。これに伴いネットワークの使用者が必ず本人であることの確認が必要となっている。
【０００３】
【発明が解決しようとする課題】
ところで、最近では種々の数学的アルゴリズムを用いて電子認証が可能となってきている。
【０００４】
しかしながら、従来の電子認証では、セキュリティが必ずしも高くない。セキュリティを高くするために数学的アルゴリズムを複雑化した認証方法も考案されているが、現在のネットワークのデータ伝送速度等を考慮すると実現可能なものとはほど遠い。
【０００５】
本発明は上記課題を解決するためになされたもので、その目的とするところは、簡便にかつセキュリティの高い認証が可能な電子認証方法、電子認証プログラムを記憶した記憶媒体、電子認証装置及び認証登録方法を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、電子認証装置が、これにネットワークで接続された被認証装置に着脱可能に接続される記録媒体内の認証コードを認証する認証方法であり、認証装置の記憶領域に、第１の共通鍵、第２の共通鍵、暗号データ及び認証コードが格納され、並びに、被認証装置の記録媒体に、第１の共通鍵、暗号データ、認証コードが格納された状態において、前記被認証装置が、前記記録媒体中の前記認証コードを、ネットワークを介して、前記認証装置へ送信し、前記認証装置において、記憶領域から読み出した認証コードと受信した認証コードとを比較して一致すれば認証に成功したと判断する認証処理を行い、該認証処理の結果、認証に成功した場合、認証装置が、記憶領域の第１の共通鍵と第２の共通鍵を用いて、記憶領域の暗号データから画像データを復元すると共に、被認証装置に第２の共通鍵を送信し、被認証装置が、記録媒体の第１の共通鍵と、受信した第２の共通鍵を用いて記録媒体の暗号データから画像データを復元し、認証装置と被認証装置の両者において、認証コードを用いて新たな第２の共通鍵を生成し、新たな第２の共通鍵と第１の共通鍵を用いて新たな暗号データを生成し、第１の共通鍵と新たな第２の共通鍵と新たな暗号データから新たな認証コードを生成し、認証装置において、新たな第２の共通鍵と新たな暗号データと新たな認証コードにより、記憶領域を書き換える情報更新処理を行い、被認証装置において、新たな暗号データと新たな認証コードにより、記録媒体を書き換え、次の認証処理においては、それぞれ、書き換えられた記憶領域及び記憶媒体を用いることを特徴とする電子認証方法である。
本発明に係る電子認証方法では上記したように、「装置内だけで利用される第１の共通鍵（ＭＫＥＹ）」と、「ネットワークを介して装置間で送受信される第２の共通鍵（ＴＫＥＹ）」との組合せによって認証処理を行うことにより、オープンなネットワークに対しても、高い安全性をもった認証処理を可能とするものである。従って、オープンなネットワークを介する不当な第三者が、認証装置２や被認証装置３の信号の出入りを監視しても、「装置内だけで利用される第１の共通鍵ＭＫＥＹ」を取得することができないので、いわゆる、偽の顧客への「なりすまし」を行うことができない。又、単に、被認証装置３であるパソコンの内部から「装置内だけで利用される第１の共通鍵ＭＫＥＹ」を盗んだとしても、ネットワーク上で供給される「ネットワークを介して装置間で送受信される第２の共通鍵ＴＫＥＹ」を取得することができなければ、やはり、「なりすまし」を行うことができない。従って、本発明によれば、例えばインターネット等のネットワークを利用した安全性の高い認証処理を容易に行うことが可能となる。
【００２３】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【００２４】
＜＜第１実施形態＞＞
図１は本発明の第１実施形態に係る認証システムが適用される電子商取引システムの全体構成を示す図である。この電子商取引システムは、電子商取引を行う加盟店１と、この加盟店１から電子商取引を用いて商品購入を希望する顧客２と、この顧客２を認証する認証局３と、これら加盟店１、顧客２、認証局３間の電子商取引を実現するためのシステムが設けられた取引システム４から構成される。なお、この図１に示したシステムにおいて、電子商取引における決済を行うのは、クレジット会社や銀行等が行っても、加盟店１自身が行ってもよい。この認証システムは、各構成要素１，２，３，４がネットワークで接続されており、以下で特に示さない限り、いわゆる電子的な通信経路を経由してデータのやりとりがなされる。
【００２５】
図１に示すように、顧客２が例えば自宅等に設置されたパソコンを用い、加盟店１のホームページのショッピングサイトを立ち上げる。そして、顧客２はホームページ上のショッピングサイトで購入を希望する場合、購入要求を加盟店に対して行う（Ｓ１）。この購入要求に応じて、加盟店１はホームページ上の購入要求に対応するページを表示する（Ｓ２）。
【００２６】
顧客２は、この表示された画面を見て、購入を希望する場合には例えば予め定められたタグ２７１を後述する顧客２の端末２０の外部入力端子２７に接続する。そして、パソコン上でタグ２７１に記憶された認証プログラムを立ち上げ、この認証プログラムに基づいて取引システム４に認証要求を行う（Ｓ３）。この認証要求を受け、取引システム４は認証局３に認証依頼を行う（Ｓ４）。認証依頼に基づいて、認証局３は顧客２が本人であるか否かを確認する。得られた認証結果及び承認コードが取引システム４を介して顧客２に送られる（Ｓ５、Ｓ６）。これにより、顧客２は登録された本人であることが認証されているため、加盟店１のホームページ上で商品を購入する資格が与えられたこととなる。
【００２７】
顧客２は購入したい商品項目を選択して入力する（Ｓ７）。この商品項目の選択により、加盟店１の端末は承認コードと確認依頼を取引システム４に送信する（Ｓ８）。取引システム４は、この承認コードと確認依頼を受け、決済を行う。そして、この決済の通知を加盟店１に対して承認コードとともに送信される（Ｓ９）。
【００２８】
加盟店１は、この決済の通知と承認コードに基づいて商品を顧客２に発送する（Ｓ１０）。
【００２９】
顧客２は端末２０を用いてネットワークを介して電子商取引を行う。端末２０の具体的な構成例を図２に示す。図２はネットワークに接続された端末２０として示されており、バス２１に、この端末２０全体を統括的に制御するＯＳ（Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）等を内蔵するＣＰＵ２２と、実行すべきプログラムあるいはデータ等所要データ等を格納するメモリ２３と、ＣＰＵ２２等を動作させるための司令を行うキーボード２４と、入力データのモニタや、各種ネットワーク情報等を出力するディスプレイ２５と、加盟店１，顧客２，取引システム４等他の端末とデータの送受信を行うための通信デバイス２６と、後述するタグ等の外付けメモリを接続可能な外部入力端子２７が接続されている。また、このバス２１にはさらに、データ制御部２８を介してデータ記憶部８１が、プログラム制御部２９を介してプログラム記憶部９１が接続されている。
【００３０】
データ記憶部８１及びプログラム記憶部９１は、ハードディスクやフレキシブルディスク、あるいは光ディスク等のストレージ手段であり、本発明の電子認証を実施するために作成された種々のデータ又はプログラムが格納されている。
【００３１】
具体的には、プログラム記憶部９１には、暗号データを復号化するための復号化プログラム９３，写真データを暗号化するための暗号化プログラム９４，暗号データから認証コードを生成するための認証コード生成プログラム９５，写真データを表示するための表示プログラム９６、認証コードに基づいて（マスターキーシステムを利用して）新たなＴＫＥＹを生成するＴＫＥＹ生成プログラム９７が記憶されている。ＴＫＥＹ生成プログラム９７では、第１実施形態ではマスターキーシステムは利用されないが、第２実施形態においてはこれが用いられる。各プログラム９３〜９７はそれぞれルーチン化され、これら各プログラム９３〜９７を実行するためのアプリケーションがメインプログラム９２である。なお、これらプログラム９３〜９７はプログラム記憶部９１でなくてもタグ２７１に記憶されていても良い。また、タグ２７１に認証に必要なデータを記憶させておくことができれば、データ制御部２８及びデータ記憶部８１は必ずしも備える必要はない。復号化プログラム９３は、暗号データを写真データに復号化する場合に用いられ、暗号化プログラム９４は、ＭＫＥＹ、ＴＫＥＹに基づいて写真データを暗号化する場合に用いられる。
【００３２】
暗号化プログラム９４は、例えばＭＫＥＹをＸ１、ＴＫＥＹをＸ２、写真データをｐとすると、まず乱数αを発生し、これらＭＫＥＹ及びＴＫＥＹに基づいて新たな鍵Ｘαを生成する。この鍵Ｘαは、例えばＸα＝（Ｘ１＊Ｘ２）×αとして生成され、この鍵Ｘαに基づいて暗号データｐｃ＝［ｐ、Ｘα］が生成される。なお、（ａ＊ｂ）は、ａとｂで所定の演算を行う記号を示すもので、例えばａ及びｂの論理和、論理積や否定等の論理演算をとる場合等が考えられるが、論理演算に限らず、所定の関数を用いて生成するものでもよい。この暗号データｐｃ＝［ｐ、Ｘα］は、写真データｐが鍵Ｘαにより暗号化されたことを示している。以下、このように［ａ、ｂ］で表される記号は、鍵ｂでデータａを暗号化していることを示している。このようなアルゴリズムにより暗号化プログラム９４が構成される。また、復号化プログラム９３はこの暗号化プログラム９４と逆の処理を行うものであり、詳細な説明は省略する。
【００３３】
認証コード生成プログラム９５は、暗号データ、ＭＫＥＹ及びＴＫＥＹに基づいて認証コードを生成する場合に用いられる。認証コードはＭＫＥＹ、ＴＫＥＹ及び暗号データを基に算出されたハッシュ値であり、２００バイト程度のデータ量で足りる。認証コード生成におけるＭＫＥＹ及びＴＫＥＹは暗号化に用いられるものではなく、用いなくても良い。すなわち、ＭＫＥＹ及びＴＫＥＹを使用せずに暗号データを単にコード化して認証コードを生成しても良い。この認証コードは後述する認証局３のデータ記憶部１８１及び顧客２の保有するタグ２７１に記憶される。認証コードは認証時の照合に用いられるコードであり、認証を行うたびに後述する更新処理により認証局３及び顧客２側で新たな値に書き換えられるため、一度認証コードがネットワーク上に送出されるとその後は同じ認証コードは使用されない。
【００３４】
認証コードＳ（ｎ）は鍵Ｘαに基づいて暗号データを基に算出するものである。具体的には、写真データｐに対して上記暗号化プログラム９５と同様の暗号化及びコード化のアルゴリズムにより認証コード生成プログラム９５が構成されている。コード化のアルゴリズムは、通常のデータコード化アルゴリズムが適用される。なお、写真データに対して２回以上暗号化をかけて暗号データを得てもよい。
【００３５】
ＴＫＥＹ生成プログラム９７は、ＭＫＥＹに基づいてＴＫＥＹを生成する場合、認証コードに基づいてＴＫＥＹを生成する場合に用いられ、そのアルゴリズムは通常の共通鍵生成アルゴリズムと同様である。ここで第２実施形態においては、後述するように、多重アファイン鍵が用いられるマスターキーシステムが利用される。
【００３６】
また、外部入力端子２７には、取り外し可能な外付けメモリとして例えばタグ２７１が接続される。タグ２７１とは、取り外し可能で書き換え可能な記憶手段であり、例えばフロッピーディスク、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＭＯ、メモリカード等、書き換え可能な記憶媒体であれば何でもよい。なお、汎用性の高い外付けメモリであることが望ましい。このタグ２７１には認証に必要な種々のデータが記憶されており、このタグ２７１を外部入力端子２７に接続することによりＣＰＵ２２が読み出し、ネットワークを介して他の端末に送信することができるようになっている。
【００３７】
また、認証局３は端末３０を用いてネットワークを介して電子商取引の認証を行う。端末３０の具体的な構成例を図３に示す。図３に示すように、認証局３は図２に示したのとほぼ同様の構成を有する端末３０を有する。端末３０の場合、データ記憶部１８１には複数の顧客の認証に必要な顧客データ１８２が顧客毎に顧客の数だけ格納されている。この顧客データ１８２には、ＭＫＥＹ、ＴＫＥＹ、暗号データ及び認証コードが含まれ、該当する顧客２のユーザコードが対応づけられて格納されている。このユーザコードは例えばこの電子商取引システムの利用順に付された通し番号でも、その通し番号をランダムに変換した番号でも何でもよいが、同一のユーザコードを２人以上の顧客２が有することはない。
【００３８】
また、プログラム記憶部１９１には顧客２にユーザコード及び認証コード、暗号データの送信を要求するリクエストプログラム１９３，認証コードの照合を行う照合プログラム１９４，暗号化されたデータをＴＫＥＹ、ＭＫＥＹに基づいて復号化を行う復号化プログラム１９５，写真データ等種々データをＴＫＥＹ、ＭＫＥＹに基づいて暗号化を行う暗号化プログラム１９６，暗号データに基づいて認証コードの生成を行う認証コード生成プログラム１９７，ＴＫＥＹ、ＭＫＥＹの生成を行うＫＥＹ生成プログラム１９８が記憶されている。各プログラム１９３〜１９８はそれぞれルーチン化され、これら各プログラム１９３〜１９８を実行するためのアプリケーションがメインプログラム１９２である。他の構成は図２に示したのと同じである。また、キーボード２４，ディスプレイ２５，外部入力端子２７は必ずしも設ける必要はない。
【００３９】
復号化プログラム１９５、暗号化プログラム１９６，認証コード生成プログラム１９７，ＫＥＹ生成プログラム１９８のアルゴリズムは図２に示す各プログラム９３，９４，９５，９７と共通するので詳細な説明は省略する。なお、ＫＥＹ生成プログラム１９８におけるＭＫＥＹ生成のアルゴリズムは、一般的な乱数生成アルゴリズムが用いられるが、第２実施形態においては、多重アファイン鍵システムを用いたマスターキーシステムが利用される。
【００４０】
このような電子商取引システムを実現するために必要となる顧客登録のデータフローを図４に、プロセスフローを図７に示す。なお、以下、図４〜図６における認証局３と顧客２との間のデータの送受信は、特に言及されない限り取引システム４を介してネットワーク上で行われる。
【００４１】
図４及び図７に示すように、まず、上記電子商取引システムを用いて電子商取引を行いたい顧客２は、認証局３に対して登録要求を行う（Ｓ７１）。この登録要求は、個人情報を含めて認証局３に送信される。
【００４２】
認証局３は、得られた個人情報に基づいてその顧客２に固有のユーザコードを発行し（Ｓ７２）、（特に後述する第２実施形態では多重アファイン鍵システムを用いたマスターキーシステムを利用して）ＭＫＥＹを生成する（Ｓ７３）。ＭＫＥＹとは、識別画像データとしての写真データの暗号化／複合化及び後述する認証コードの生成を行ういわゆる”鍵”の一つである。暗号化はＭＫＥＹと後述するＴＫＥＹを用いて行い、複合化時も両方の鍵が必要となる。ＭＫＥＹは使用者である認証局３が登録時に１回のみ生成するもので、認証局３のデータ記憶部１８１と顧客２が保有するタグ２７１に記憶される。また、ＭＫＥＹは共通鍵であり、通常用いられるいかなる方式の鍵であっても実現可能であるが、例えば乱数との排他的論理和ＦＳＡｎｇｏ（多重アファイン鍵システム使用）や、換字や置換等を用いたＤＥＳのアルゴリズムを用いたものが考えられる。
【００４３】
ユーザコードは、登録時に認証局３により顧客２それぞれに付与される顧客２を識別するためのコードである。付与されたユーザコードはタグ２７１に記憶される。なお、ユーザコードはデータ記憶部８１に記憶しておいてもよい。ユーザコードは認証時に顧客２の端末から顧客２が入力するものであり、認証局３ではユーザコードに基づいてデータ記憶部１８１の検索を行い、そのユーザコードに対応づけられた顧客データ１８２を読み出す。
【００４４】
このように発行されたユーザコードは顧客２に送信され（Ｓ７２）、顧客２の端末の例えばデータ記憶部８１に記憶される。なお、この登録要求の際に、認証局３は顧客２を特定するための識別画像として顔写真を要求する。顔写真は、識別画像データとしての写真データの形式で個人情報に含めてシステムを構築するネットワークを介して送信されても、あるいは写真そのものが郵送で認証局３に発送されてもよい。なお、写真そのものを郵送で受け取った場合、認証局３はこの写真をデジタル化により写真データを得る。なお、写真データとは、画像をデジタル情報に変換したデータを指し、例えばＪＰＥＧ形式やビットマップ形式等そのファイルの形式には係わらない。また、この写真データはトリミングして顧客２を識別容易なデータにする。
【００４５】
一方、認証局３は得られたＭＫＥＹに基づいて、（特に後述する第２実施形態では多重アファイン鍵システムを用いたマスターキーシステムを利用して）ＭＫＥＹからＴＫＥＹを生成する（Ｓ７４）。ＴＫＥＹは、写真データの暗号化／複合化及び認証コードの生成を行ういわゆる”鍵”の一つである。登録後は認証が行われる毎に認証コードにより新たな鍵に書き換えられる。認証局３のデータベースには最新のＴＫＥＹが保管されるが、顧客２の所持するタグ２７１には記憶されない。このため、顧客２側では認証完了前にタグ２７１上の暗号データを復号することはできない。ＴＫＥＹは認証完了後に認証局３より顧客２に送信される。暗号化はＭＫＥＹとＴＫＥＹを用いて行うため、複合化時も両方の鍵が必要となる。また、ＴＫＥＹは共通鍵であり、通常用いられるいかなる方式の鍵であっても適用可能であるが、例えば乱数との排他的論理和ＦＳＡｎｇｏ（多重アファイン鍵システム使用）や、換字や置換等を用いた例えばＤＥＳのアルゴリズムを用いたものが考えられる。
【００４６】
次に、ＭＫＥＹ、ＴＫＥＹに基づいて、顧客２から送られた写真データを暗号化する。この暗号化により写真データは暗号データに置き換えられる（Ｓ７５）。この暗号データは認証局３のデータ記憶部１８１及び顧客２の保有するタ２７１に記憶される。この暗号データは認証が行われ、認証が完了した場合に認証局３及び顧客２で復号される。また、この復号の際にＭＫＥＹ及び新たなＴＫＥＹを用いて新たな暗号データが生成される。
【００４７】
次に、この暗号データに基づき、ＴＫＥＹ及びＭＫＥＹを用いて認証コードを生成する（Ｓ７６）。本実施形態では、暗号データをコード化することにより認証コードが生成される。なお、認証コード生成におけるＴＫＥＹ及びＭＫＥＹは認証コードが解読されやすいコードになるのを防止するために使用されるもので、暗号化には用いられない。
【００４８】
以上のステップにより、認証局３のデータ記憶部１８１には顧客データ１８２としてユーザコード、ＴＫＥＹ、ＭＫＥＹ、暗号コード及び認証コードが記憶される。一方、タグ２７１にはＭＫＥＹ、暗号コード及び認証コードが記憶され（Ｓ７７）、例えば郵送等によりに顧客２に送付される。なお、前述の通り、タグ２７１にはＴＫＥＹは書き込まれない。
【００４９】
次に、認証プロセスの流れを図５，図６，図８，図９に基づいて説明する。図５は認証が可能な場合、図６は認証が否認された場合のデータフローを示す図である。また、図８は認証局３側、図９は顧客２側のプロセスフローを示す図である。
【００５０】
図５及び図８に示すように、まず顧客２から取引システム４を介して認証局３に認証要求がなされる。この認証要求では、具体的には例えばユーザコードが認証局３に送信される（Ｓ８１）。この認証要求に応答して、認証局３は送信されたユーザコードに基づいて認証コード及び暗号データの送信を要求する（Ｓ８２）。
【００５１】
顧客２は、この送信要求に応答して、タグを顧客２の保有する端末に接続する。そして、所定のソフトウェアを起動して、暗号データ及び認証コードを認証３に送信する（Ｓ８３）。認証局３は、データ記憶部１８１に蓄積された顧客データ１８２から送信されたユーザコードに対応する登録時の暗号データ及び認証コードを読み出し（Ｓ８４）、顧客２から送信されてきた暗号データ及び認証コードと照合する（Ｓ８５）。認証が可能な場合、認証局３はデータ記憶部１８１内の暗号データをＭＫＥＹ及びＴＫＥＹに基づいて複合化する（Ｓ８６）ととも、ＴＫＥＹを顧客２に送信する（Ｓ８７）。なお、このＴＫＥＹの送信とともに顧客２には認証可能であった結果が送信される（Ｓ８７’）。この認証結果を受信して（Ｓ８７”）、顧客２ははじめて取引を開始できるか否かを判断することができる。
【００５２】
認証が可能な場合、暗号データが復号化されると、登録時の写真データが得られ、顧客２の本人の画像が画面上に表示される。この写真データの表示の際、図５のＳ８６’に示すように、顧客２から本人の画像をリアルタイムで取得し、この画像と認証局３側で照合することができる。なお、この本人画像取得の際には、本人画像を認識するための画像認識アルゴリズムがプログラム記憶部１９１に必要となる。このように本人画像を照合することにより、認証コード、暗号データによる照合と２重の照合が可能となり、認証の信頼性が向上する。なお、この認証局３側での本人画像の照合は行わず、認証コード、暗号データによる照合のみで認証を行ってもよい。
【００５３】
一方、顧客２は、送信されたＴＫＥＹとタグ内のＭＫＥＹに基づいてタグ内の暗号データを復号化する（Ｓ８８）。この暗号データの復号化により、認証局３の場合と同様に登録時の写真データが得られ、顧客２の本人の画像が画面上に表示される（Ｓ８９）。この画像の表示手法は、例えば電子商取引に用いられるウィンドウの画面上の表示領域を一定領域に制限し、残りの領域すべてに大きく表示するのが好ましい。このように、本人の画像が画面上に表示されることにより、その顧客２が電子商取引を行っている際の作業を第三者が監視することが可能となる。すなわち、アクセス希望者が例えば会社内で取引を行っている場合、もし顧客２からのタグを拾って認証局３にアクセスし、認証が得られた場合であっても、顧客２が登録した顧客２本人の顔写真が表示された画面上で作業を行うため、第三者による作業の監視が可能となる。従って、悪意の第三者がアクセスする場合には、その第三者に心理的なアクセスを拒否させる心理的な圧迫を与えることができる。
【００５４】
又登録時の写真データを取得した段階で、顧客２において、又認証装置３において、図示しないデジタルカメラ等から取得した本人画像データと、再生した写真データとの間で、パターン認識処理を行うことによっても、本人確認を行うことが可能である。この本人確認の結果を認証の判断に反映させることも可能であるし、単に表示したり記録したりするだけでも可能である。これはパターン認識の信頼性やデジタルカメラ等からの写真データの状態に応じて、様々な使用形態を考えることができる。
【００５５】
以上の認証処理が終了すると、図１に示すように認証局３から認証結果が取引システム４を介して顧客２に送られる。なお、（Ｓ８７’）の段階で認証結果が取引システム４を介して顧客２に送られてもよい。この時点から、顧客２は認証局３を介さずに取引システム４を介して加盟店１と直接電子商取引を開始することができるようになる。
【００５６】
顧客２と認証局３との間で電子認証が成功すると、次に情報更新処理が行われる。情報更新処理は、認証局３と顧客２のいずれにおいても行われる。認証局３での情報更新処理は、まず認証局３が認証コードに基づいて（特に後述する第２実施形態では多重アファイン鍵システムを用いたマスターキーシステムを利用して）、新たなＴＫＥＹを生成し（Ｓ９０ａ）、このＴＫＥＹと登録時に生成したＭＫＥＹを用いて認証の際に復号化されていた写真データを再度暗号化して新たな暗号データを生成する（Ｓ９１ａ）。新たな暗号データ生成の際のＴＫＥＹは登録時とは異なるので、生成される暗号データも当然登録時とは異なるものとなる。この新たな暗号データを基にＭＫＥＹ、ＴＫＥＹを用いて新たな認証コードを生成する（Ｓ９２ａ）。そして、これら情報更新時に新たに更新された認証コード、暗号データ及びＴＫＥＹが認証局３内のデータベースに記憶される。
【００５７】
一方、顧客２の情報更新処理では、登録時に生成された認証コードに基づいて（特に後述する第２実施形態では多重アファイン鍵システムを用いたマスターキーシステムを利用して）、新たなＴＫＥＹを生成する（Ｓ９０ｂ）。そして、このＴＫＥＹ及び登録時のＭＫＥＹに基づいて写真データを暗号化して新たな暗号データを生成する（Ｓ９１ｂ）。また、この新たな暗号データを基にＴＫＥＹ、ＭＫＥＹを用いて認証コードを生成する（Ｓ９２ｂ）。そして、更新された暗号データと認証コードをタグ２７１に書き換えを行う（Ｓ９３ｂ）。
【００５８】
一方、認証が否認された場合、図６に示すように認証局３は暗号データの復号化を行わず、またＴＫＥＹを顧客２に送信することはない。また、顧客２はＴＫＥＹを受信できないため、暗号データの復号化を行うことはできない。顧客２は認証が否認されたという認証結果を認証局３から受信する（Ｓ８７’）。
【００５９】
従って、認証局３及び顧客２は暗号データの復号化を行わず、写真データを画面上に表示することなく図５に示す認証可能な場合と同様の情報更新処理が行われる。すなわち、Ｓ８６、Ｓ８７、Ｓ８８、Ｓ８９、Ｓ９１ａ、Ｓ９１ｂを経ず新たなＴＫＥＹを生成し（Ｓ１００ａ）、もとの暗号データ及び新たなＴＫＥＹに基づく認証コードの生成を行う（Ｓ１０２ａ）。一方、顧客２側では、認証コードに基づく新たなＴＫＥＹを生成した後（Ｓ１００ｂ）、新たなＴＫＥＹに基づく新たな認証コードを生成し（Ｓ１０２ｂ）、タグ２７１の書き換えを行う（Ｓ１０３ｂ）。
【００６０】
このように、認証に必要な情報を更新処理することにより、例えばタグ２７１を被認証者が紛失したり、あるいは悪意の第三者がタグ２７１をコピーして悪用しようとしても、情報が更新されているため同一内容のタグ２７１では認証が否認される。従って、認証の信頼性が飛躍的に向上する。
【００６１】
＜＜第２実施形態＞＞
第２実施形態は、本発明に係る認証システムにおけるＭＫＥＹ生成及びＴＫＥＹ生成の際に多重アファイン鍵システムを用いるマスターキーシステムを適用した場合について述べている。すなわち、本発明に係る認証システムにおいては、このシステムの成立に必要なキーであり写真データ等を暗号化して暗号データと認証コードを生成し、タグに格納されて顧客に渡されるＭＫＥＹの生成と、同じく写真データ等を暗号化して暗号データと認証コードを生成はするが顧客へは渡されることはないＴＫＥＹの生成の際に、一方向性関数を用いて親鍵から子鍵を生成するマスターキーシステムを適用するものである。これにより、一層高いセキュリティを発揮する認証システムを提供することができる。
【００６２】
又更に第２実施形態では、このマスターキーシステムに用いられる多重アファイン鍵システムを図４の登録の際のステップＳ７５の写真データ等の暗号化の際と、図５及び図６の認証局３での復号化処理（Ｓ８６）や、被認証装置（顧客）２での復号化処理に用いることも可能である。この場合は、以下に詳細に説明する多重アファイン鍵システムを用いた乱数生成装置が発生する乱数に基づいて、暗号化するべき画像データ等と、排他的論理和演算を行って暗号化データを得るものであり、更にこの暗号化データを復号化する場合は、同様に多重アファイン鍵システムを用いた乱数生成装置が発生する乱数と、復号化データとの間で排他的論理和演算を行って、最初の写真データ等へと復号化するものである。このように多重アファイン鍵システムを用いた乱数生成機能を使用した暗号化復号化機能を利用することによって、通常の暗号化復号化処理を施す場合に比べて、格段のセキュリティの向上が望まれる。
【００６３】
なお、本発明に係る認証システムにおけるＭＫＥＹ生成及びＴＫＥＹ生成の際に多重アファイン鍵システムを用いるマスターキーシステムを適用した場合に、その後の暗号処理に上述したような多重アファイン鍵システムを用いて暗号化するのであればそのままＭＫＥＹ及びＴＫＥＹを使用することができる。しかし、暗号処理に他の暗号化アルゴリズムを使用する場合は、このＭＫＥＹやＴＫＥＹをそのまま使用するわけにはいかず、この場合は、ＭＫＥＹやＴＫＥＹに基づき、例えば多重アファイン鍵システム等を用いて乱数を生成するなどして、その暗号化アルゴリズムが要求している条件をもった鍵データに変換した上で使用する必要が生じてくるものである。
【００６４】
以下に、このマスターキーシステムの原理を説明し、更に、マスターキーシステムを利用したＭＫＥＹの生成及びＴＫＥＹの生成について説明する。
【００６５】
図１１は第２実施形態であるマスターキーシステムを利用した場合に用いるマスターキーシステムを説明するためのフローチャート、図１２はこのマスターキーシステムの原理を説明する原理図、図１３はマスターキーシステムの乱数生成を説明するフローチャートである。
【００６６】
更に図１１のフローチャートを用いて、マスターキーシステム、すなわち、多重アファイン鍵システムを利用して子鍵を生成する場合の一実施形態を説明する。なお以下に示す場合は、多重アファイン鍵システムの鍵書換の手法をキートポロジというパラメータに応じて親鍵データから子鍵データを生成する一例に過ぎず、他に様々な多重アファイン鍵システムの利用の手法が考えられる。それらの手法においても、子鍵データ所有者が親鍵データを特定することができないことは、以下の場合と同様である。
【００６７】
図１１において、ＭＫＥＹの生成及びＴＫＥＹの生成について、親鍵データＬ１から子鍵データＬＮを生成する場合の鍵生成の一般的な場合について説明する。最初に、親鍵データＬ１を以下に詳述する多重アファイン鍵システムのアファイン鍵データＫと初期値ｘ０として設定する（Ｓ３１）。次に、キートポロジωの特定ビットωｉに対する処理を以下のように行う（Ｓ３２）。次に多重アファイン鍵システムの乱数発生機能により約２ｎＭ個の乱数Ｒｋを生成する（Ｓ３３）。ここで、ｎは鍵の寿命であり、Ｍは鍵の個数である。次にキートポロジのｉ番目のビットの値、ωｉが例えば“１”であるとき（Ｓ３４）、多重アファイン鍵システムにより２Ｍ個の乱数を生成して、これを新たなアファイン鍵Ｋとして設定し直す（Ｓ３５）。このような操作をキートポロジωの各ビット値ごとに処理を行うべく、全てのωｉが選択されたかを判断して（Ｓ３６）次のωｉのビット値を選択する（Ｓ３７）。この時の処理順序は、１ビット目から最終ビット目まで、順番に処理するものであってもよいし、他の所定順序であってもかまわない。一通りのキートポロジωの値について、このようなアファイン鍵Ｋの値の書換処理による新たな子鍵データＬＮが生成され、これが出力される（Ｓ３８）。
【００６８】
このように、多重アファイン鍵システムの乱数生成動作を利用して、親鍵データから子鍵データを生成したわけであるが、多重アファイン鍵システムは後に詳述するように複数の鍵データに基づいて非常に特異な方法で乱数を生成しているため、子鍵データの所有者がキートポロジと自身の子鍵データとから親鍵データを予測しようとしても、多重アファイン鍵システムの複数の鍵データを特定することができないので、親鍵データを特定することができない。従って、本発明のマスターキー管理システムに固有の特徴である、親鍵の識別情報（親鍵を再生するための原始鍵とキートポロジ列）や子鍵生成にかかわったパラメータであるキートポロジを公開することが可能となり、この公開情報を用いて親鍵所有者が膨大な量の子孫鍵データを自身で再生することができ、下位の全ての子孫鍵データによる暗号文データの全てを容易に解読することができるので、共通鍵のツリー構造を構築することが可能となる。
【００６９】
ここで多重アファイン鍵システムは、限りなく一方向性関数であると言える。ここで言う一方向性関数とは、ある関数ｆ（ｘ）において、ｆ（ｘ）＝ｙであるとき、演算結果のｙの値から元のｘの値を特定することができないような関数である。つまり、関数ｆ（ｘ）にてｘ→ｙとなることは予測できても、ｙの値から演算の元になっていたｘの値を特定できるかどうかという問題であり、一般の関数や変換処理によれば、様々な試行錯誤の果てに演算結果ｙの値から最初のｘの値を特定できてしまうものであり、このような一般的な関数を用いて本発明のマスターキー管理システムを実現することはできない。
【００７０】
例えば本発明に係る多重アファイン鍵システムのような、演算結果ｙから本来のｘの値を特定することが現実問題として著しく困難であるような、実用的な意味での一方向性関数となる関数であって、更に鍵管理システムに組み込んでも一定以上の高速性をもって機能する関数であり、更に生成される演算結果が暗号鍵データとして相応しいものを出力する関数を用いると、本発明のマスターキー管理システムを実現することが可能であることをこの請求項は示している。なお、現在、そのような関数を具体的に上げることは難しい。
【００７１】
マスターキーシステムでは、図７で示されるように親鍵データである共通鍵１３１が、パラメータであるキートポロジ１３４を利用して、一方向性関数（真性乱数に限りなく近い擬似乱数を生成するので、演算結果から演算前の値の特定が限りなく困難という意味で、実際上の一方向性関数とここで呼んでいる）である多重アファイン鍵システム１３２を利用して、子鍵データである共通鍵１３３を供給する。
【００７２】
＜多重アファイン鍵システム＞
更にここで、上述した鍵データ生成のマスターキーシステムで用いた、多重アファイン鍵システムについて、原理（基本形）から具体的な利用の仕方（応用系）及び作用効果に至るまで、以下に図面を用いて詳細に説明する。
【００７３】
［多重アファイン鍵を用いた乱数生成装置の特長］
第２実施形態で用いるマスターキーシステムは、多重アファイン鍵を用いた乱数生成装置（多重アファイン鍵システム）を使用するもので、これは、高速で動作させることができるストリーム暗号の既知平文攻撃による弱点を解消するべく、真性乱数に限りなく近い周期性が非常ながい良質な擬似乱数を生成し、これを用いてストリーム暗号を作成するものである。これにより、第三者のストリーム暗号の解読を完全に排除しようとするものである。
【００７４】
すなわち、暗号化技術で求められている高速化を実現するストリーム暗号は、暗号化に使用する擬似乱数が周期性のあるものであると、第三者から容易に乱数の元となっている定数やアルゴリズムが看破されてしまう。このため、高いセキュリティが求められている場面では使用することができない。
【００７５】
第２実施形態で用いるマスターキーシステムが内蔵する乱数生成装置（多重アファイン鍵システム）は、ストリーム暗号を解読が事実上不可能とする非常に良質な乱数を生成することを目的としている。
【００７６】
完全な乱数を一度だけ使用するストリーム暗号であるヴァーナム（Ｖｅｒｎａｍ）暗号には解読法が存在しないことがシャノン（Ｓｈａｎｏｎ）により証明されている。従って、完全な乱数に限りなく近い擬似乱数を生成できる乱数生成装置を提供することができれば、ストリーム暗号は既知平文攻撃法にあっても第三者から擬似乱数の生成を解析されることはなく、高速で機密性の高い暗号化装置として使用することができる。
【００７７】
第２実施形態で用いるマスターキーシステムが内蔵する乱数生成装置（多重アファイン鍵システム）は、複数のアファイン鍵を所定の使用回数毎に書き換えるものであり、又複数のアファイン鍵のうちの一つを選択して乱数列を生成するという方法をとるものである。このような方法により、暗号破りを意図する第三者がストリーム暗号の既知平文攻撃での未定係数法を適用するべく、乱数列データを収集し乱数発生の元になっている複数の鍵データやそのアルゴリズムを解明しようとしても、乱数自体は鍵が書き換えられる間の短期間の情報しかもっておらず、更に特定すべき鍵が複数であるし、乱数発生の際にどの鍵が選択されたかも判らないため、原理的に不可能である。
【００７８】
この乱数生成装置は、具体的には、多重アファイン鍵を用いて良質な乱数を発生させるものであり、この時多重アファイン鍵を一定使用回数ごとにその係数を書き換えていくものである。つまり、一定使用回数ごとに書き換えられる多重アファイン鍵を、第三者の解読が困難な暗号化・復号化の鍵として使用し、更にこの多重アファイン鍵を複数用意することで、書換の際に複数の鍵が相互に参照し合い係数を自動的に更新していくことにより、第三者の未定係数法による暗号解読を排除するものである。
【００７９】
つまりこの乱数生成装置は、複数のアファイン鍵のそれぞれに鍵の寿命というものを定義し、古くなった鍵（多重アファイン鍵の係数）を自動的に書き替えていく機能を持たせることで、従来のような規則性のある擬似乱数ではなく、事実上測定が困難なほど長い周期をもった限りなく真性乱数に近い性質をもった擬似乱数列を生成するものである。これにより、従来高速であることが判っていても解読の危険性があるため使用できなかったストリーム暗号も、第三者に看破されることなく使用することができる。
【００８０】
［アファイン鍵の説明］
本実施形態で用いるアファイン鍵を以下に説明する。
【００８１】
本発明で用いられるアファイン鍵とは、暗号化に用いられる乱数列を発生するための多重アファイン鍵の係数に該当する。
【００８２】
アファイン鍵Ｋは４個の整数Ｋ＝｛ａ，ｂ，ｃ，ｎ｝で表わすことができる。
【００８３】
更にアファイン鍵は、乱数発生とアファイン鍵自身の更新とに使用される。従ってこの二つが定義されると、多重アファイン鍵システムの働きが特定されたこととなる。
【００８４】
整数のアファイン鍵Ｋによる乱数の生成については、次式で定義する。
Ｋ（ｘ）＝ａｘ＋ｂ
なお、ｃはアファイン鍵が何回使われたかをカウントするカウンタ、ｎはこの鍵を使用出来る回数の上限（寿命）である。そして、一つのアファイン鍵はレーマー法の疑似乱数を生成する。
【００８５】
実際には一つのアファイン鍵を使用するのではなく、複数のアファイン鍵が与えられこの中から乱数生成に用いる鍵、及び鍵を書き換えるための鍵が適宜選択される。複数のアファイン鍵による鍵システムであるので多重アファイン鍵システムと呼んでいる。
【００８６】
多重アファイン鍵システムは、鍵の個数をＭとすると、複数のアファイン鍵｛Ｋ［ｉ］｝（０≦ｉ≦Ｍ−１）と、鍵の書き換え処理を示す一つの手順：プロシージャ（ｐｒｏｃｅｄｕｒｅ）ｗ（ｉ，ｊ：ｉｎｔｅｇｅｒ）とから、定義することができる。
【００８７】
0003583987.tif 000002
ここで、乗法と加法は、考えている有限体の演算を用いるものとする。
【００８８】
この手順：プロシージャにおいて、書き換えようとするｉ番目のアファイン鍵Ｋ［ｉ］の係数ａは、書換の参考となるｊ番目のアファイン鍵Ｋ［ｊ］の係数ａと係数ｂとに基づき、書き換えられていることがわかる。
【００８９】
なお、この書き換え処理は、基本形とよぶべきであり、発生する乱数の容量を非常に大きくする場合などは、以下に述べる基本形の書き換え方法を反復することにより、鍵が“０”に収束する場合が考えられる。しかし、本願に述べた第２実施形態でのマスターキーシステムの応用について言えば、発生する乱数の容量は非常に小さいので、以下に述べる基本形の書き換え処理を実施したとしても鍵が“０”に収束することは考えられない。更に、図１３の乱数生成のフローチャートを用いて以下に説明する応用型の書き換え方法によれば、より完全に鍵が“０”に収束する場合を回避することが可能となる。
【００９０】
更に書き換えようとするｉ番目のアファイン鍵Ｋ［ｉ］の係数ｂは、書換の参考となるｊ番目のアファイン鍵Ｋ［ｊ］の係数ａと係数ｂとに基づき、書き換えられることがわかる。
【００９１】
このような多重アファイン鍵を用いた乱数生成装置（多重アファイン鍵システム）は、各初期値を与えられると複数の鍵から選ばれた一つの鍵に応じて乱数を生成し続けるのであり、鍵の使用回数を越えると、鍵を書き換えるための鍵が選ばれてアファイン鍵の係数ａとｂとが書き換えられる。
【００９２】
このような多重アファイン鍵システムを用いた乱数生成装置は、上述した手順に応じて構成されたデジタル回路をもつ電子回路基板により実現される。更に、上述した手順に応じてアファイン鍵データをコンピュータが処理するべくプログラムを作成しこれをコンピュータ装置に実行させることで、容易に同等の作用効果を得ることができる。このような手順で生成された擬似乱数は、真性乱数に限りなく近いものであり測定不可能なほどに周期が長いため、ストリーム暗号に使用されたとしても、第三者の既知平文攻撃にあって未定係数法などで解読しようとしても原理的に不可能である。
【００９３】
［多重アファイン鍵システムに用いられる変数］
ここで、本発明の多重アファイン鍵を用いる乱数生成装置等で繰り返し使用される変数、演算子、関数を以下に定義しておくものである。
変数として、以下のように定義しており、
Ｍが、アファイン鍵の数、
Ｋ［ｉ］．ａが、ｉ（０≦ｉ≦Ｍ−１）番目のアファイン鍵の係数ａ
Ｋ［ｉ］．ｂが、ｉ（０≦ｉ≦Ｍ−１）番目のアファイン鍵の係数ｂ
Ｋ［ｉ］．ｃが、ｉ（０≦ｉ≦Ｍ−１）番目のアファイン鍵の使用回数ｃ
Ｋ［ｉ］．ｎが、ｉ（０≦ｉ≦Ｍ−１）番目のアファイン鍵の寿命ｎ
Ｋが、アファイン鍵全体であり、Ｋ＝｛Ｋ［ｉ］  ｜０≦ｉ≦Ｍ−１｝で示され
Ｋ［ｉ］＝｛Ｋ［ｉ］．ａ，  Ｋ［ｉ］．ｂ，  Ｋ［ｉ］．ｃ，  Ｋ［ｉ］．ｎ｝となり、
ｋが、暗号化／復号化のワード数（ｋ＝１，２，……）
ｘ０が、内部乱数の初期値
ｘｋが、内部乱数用変数
Ｒｋが、乱数出力
ｍｋが、平文
ｃｋが、暗号文
ｉが、乱数生成用アファイン鍵ポインタ
ｊが、アファイン鍵係数ａ書き換え用ポインタ
ｊｂが、アファイン鍵係数ｂ書き換え用ポインタオフセットであり、１≦ｊｂ＜Ｍの範囲で設定されるが、１でも構わない
ｖｋｅｙが、鍵回転用変数
ｖ０が、鍵回転用変数の初期値
ｖが、鍵回転用変数の増分
ｚが、処理単位の１／２
ｚｒが、乱数出力に使用するビット位置の集合
ｚｐが、アファイン鍵指定に使用するビット位置の集合
演算子を、以下のように定義しており、
＊，×が、乗算
＋が、加算
（ｍｏｄ）が、剰余
（＋）が、Ｍを法とする加算
（ａｎｄ）が、論理積
（ｏｒ）が、論理和
（ｘｏｒ）が、排他的論理和
（ｓｈｌ）ｚが、左シフトであり、全体のビット長が２ｚである際に２のｚ乗でわることで、例えば（１１１１０１１０）（ｓｈｌ）４＝（００００１１１１）となる。
【００９４】
又、関数を以下のように定義しており、
ｆ（ｘｋ、ｚ１）が、ｘｋからｚｌで示すビット列を取り出したものとして定義される。
【００９５】
＜多重アファイン鍵システムの乱数発生の工程＞
以下に、各フローチャートを示して、第２実施形態で用いるマスターキーシステムが内蔵する乱数生成方法の各工程を詳細に説明する。
【００９６】
図１３は、乱数生成の手順を示したフローチャートであり、いわゆる鍵回転型の多重アファイン鍵を用いるものである。一般的なコンピュータ装置において、アルゴリズムが作成されたプログラムは、例えばハードディスク等の記憶領域に格納され、操作画面に応じるユーザの操作に従って実行されていく。
【００９７】
この乱数生成の手順は、上述した基本形の鍵書き換えの手法とは異なり、より確実に鍵が“０”に収束する場合を回避するものである。しかしながら、本願に述べた第２実施形態でのマスターキーシステムの応用について言えば、発生する乱数の容量は非常に小さいので、基本形の書き換え処理を実施したとしても鍵が“０”に収束することは考えられない。
【００９８】
乱数生成される手順としては、最初に多重アファイン鍵の各種の設定がなされ、それは例えばワード数ｋ、アファイン鍵のポインタｉ、変数ｘ０等の設定がなされるが、それはユーザの操作を介してＲＡＭ４１５の各記憶領域にそれぞれ格納される（Ｓ１７１）。次に乱数生成用のアファイン鍵のポインタｉを決定し、これは、内部乱数ｘ０から一つのアファイン鍵を指定するためのビット位置の集合ｚｐに格納されているデータから決定される（Ｓ１７２）。次に、指定された鍵Ｋ［ｉ］に応じて、レーマー法の疑似乱数をＫ（ｘ）＝ａｘ＋ｂの式に従って生成する（Ｓ１７３）。乱数が生成されると、カウンタの値を１だけカウントアップする（Ｓ１７４）。その後、鍵書換用のポインタｊを、内部乱数ｘｋからアファイン鍵指定に使用するビット位置の集合ｚｐの値に加えて、鍵開演用変数ｖｋｅｙ＋ｖを加えてポインタ位置を特定する（Ｓ１７５）。
【００９９】
この鍵回転処理により、既に第１実施形態等で詳述したように、擬似乱数の周期を更に長くすることにより真性乱数に限りなく近づけることが可能となる。すなわち、アファイン鍵の書換のために複数のアファイン鍵から一つを特定するためのポインタｊを、ｊ＝ｆ（ｘｋ，ｚｐ）（＋）ｖｋｅｙとして、新たに鍵回転用変数ｖｋｅｙを加えることにより、使用する鍵を指定するアルゴリズムをより複雑化することができる。
【０１００】
つまり、繰り返しアファイン鍵を書き換える際に、アファイン鍵の書換の際のポインタ値ｊが反復性をもってくると鍵周期がそれだけ短くなってしまうが、新たな鍵回転用変数ｖｋｅｙはこれを改善するものであり、使用する鍵を特定するアルゴリズムを複雑化すればする程ポインタ値ｊの周期を長くすることができ、その結果、本発明の乱数生成装置は、真性乱数と実用上は変わりのない程の非常に長い周期をもつ擬似乱数の生成を可能としている。
【０１０１】
ここでは、書換を行うたびに一定値ｖずつ増えていく値として定義されているが、これに限るものではない。
【０１０２】
そして、アファイン鍵のカウンタ値ｃがアファイン鍵の寿命を示す値と同等となるまで、アファイン鍵が使用されておればアファイン鍵の書換を行う（Ｓ１７６）。最初に鍵カウンタの値をゼロとし（Ｓ１７７）、選ばれたアファイン鍵データＫ［ｊ］．ａ、Ｋ［ｉ］．ａ、Ｋ［ｊ］．ｂとに基づき、新たな係数ａと係数ｂとを決定していくが、この時、係数の上位１／２の値を下位１／２にシフトして、繰り返し鍵を書き換えることにより鍵データがゼロになる状況を完全に排除するものである（Ｓ１７８）。また、この時、更に“１”との論理和を加えることにより強制的に１ビット目を“１”とすることで、いわゆる弱鍵の排除を完全に行っている。
【０１０３】
さらに係数ｂにおいては、ポインタｊの値に更にｊｂを加えることで、係数ａの書換用のアファイン鍵の遷移と、係数ｂの書換用のアファイン鍵の遷移とが異ならせることができ、生成する擬似乱数を真性乱数に限りなく近づけ、生成乱数の周期性を一層長くすることが可能となる（Ｓ１７９）。また、この時、更に“２”との論理和を加えることにより強制的に２ビット目を“１”とすることで、いわゆる弱鍵の排除を完全に行っている。
【０１０４】
その後、ｉ＝ｊとした後に（Ｓ１８０）、変数ｘｋの所定ビット（ｚｒ）を出力するべき乱数列｛Ｒｋ｝として出力する（Ｓ１８１）。更に、ｋ＝ｋ＋１としてステップ５３に戻るものである（Ｓ１８２）。
【０１０５】
以上説明した手順により、第２実施形態で用いるマスターキーシステムが内蔵する乱数生成装置においては、乱数列が生成され、生成された乱数列に基づき、非常に高いセキュリティを発揮しながら、親鍵から子鍵が生成されるものである。従って図４の登録処理の場合に、ＧＫＥＹに基づいて、ＭＫＥＹが多重アファイン鍵システムを用いるマスターキーシステムにより生成され（Ｓ７３）、更に、この生成されたＭＫＥＹに基づいて、同様に多重アファイン鍵システムを用いるマスターキーシステムにより生成される（Ｓ７４）。更に、図５及び図６の認証処理においても、一度使用されたＴＫＥＹが例えば認証コードに基づいて、多重アファイン鍵システムを用いるマスターキーシステムにより生成される（Ｓ９０ａ）。これと並行して、一度使用されたＴＫＥＹが、被認証装置２において、例えば認証コードに基づいて、多重アファイン鍵システムを用いるマスターキーシステムにより生成される（Ｓ９０ｂ）。
【０１０６】
以上詳細に説明したように、第２実施形態においては、被認証者の写真データ等を暗号化する際に使用する鍵データを生成する際に、非常に第三者の解読を困難とする多重アファイン鍵システムを用いるマスターキーシステムを利用してこれを行うことによって、システムの簡便性と共に、認証システムの不正使用を意図する第三者に対しても非常に高いセキュリティを発揮させることが可能となる。
【０１０７】
又更に、第２実施形態の応用例として、認証局３での共通鍵であるＧＫＥＹについても、認証局３で独自に用意するのではなく、この認証局３の更に上位のシステムにおいて、上述したマスターキーシステム等の多重アファイン鍵システムを利用して用いることが考えられる。すなわち、複数の認証局３に対して、これらを管理する上位のシステムにより、マスターキーシステム等の多重アファイン鍵システムを利用して、それぞれの共通鍵であるＧＫＥＹを供給するものである。こうすることにより、認証局３で共通鍵であるＧＫＥＹを紛失したり誤って消去したりした場合でも、上位のシステムにより再度、マスターキーシステム等の多重アファイン鍵システムを利用してこのＧＫＥＹを提供することが可能となり、一層のシステムの信頼性・安定性を図ることが可能となる。
【０１０８】
又更に、第２実施形態においては、この被認証者の写真データ等を暗号化する際の暗号化そして復号化の手法においても、上述した多重アファイン鍵システムによる乱数生成機能に基づく暗号化復号化機能を応用することで、他の暗号化復号化手法を用いた場合以上の、格段に高いセキュリティの向上を望むことが可能となる。
【０１０９】
このように第１実施形態及び第２実施形態について本発明を詳述したが、本実施形態では認証が行われるたびに暗号データ及び認証コードを更新する例を示したが、これに限定されるものではなく、登録時の暗号データ及び認証コードを繰り返し使用するものでもよい。
【０１１０】
また、ＭＫＥＹとＴＫＥＹに基づいて暗号データを復号あるいは写真データを暗号化する場合を示したが、これに限定されるものではない。例えば、一旦暗号データをＭＫＥＹで復号化し、さらにＴＫＥＹで復号化する場合や、一旦画像データをＭＫＥＹで暗号化し、さらにＴＫＥＹで暗号化する場合でもよい。また、ＭＫＥＹあるいはＴＫＥＹの一方のみで暗号化及び復号化してもよい。
【０１１１】
例えばＭＫＥＹのみで暗号化及び復号化を行う場合、一のＭＫＥＹは暗号データの復号化（Ｓ８６）まで用いられる。認証（Ｓ８５）後、認証コードに基づいて新たなＴＫＥＹを生成するステップは、認証コードに基づいて新たなＭＫＥＹを生成するステップに置換される。なお、顧客２側の処理フローも同様に置換される。ＭＫＥＹのみで暗号化及び復号化を行う場合の流れを図１０に示す。図５と共通する部分には同一符号を付し、説明は省略する。
【０１１２】
また、図４〜図６に示す登録ステップ及び認証ステップは、それぞれ顧客２と認証局３の間で行われる場合を示したが、これに限定されるものではない。例えば、加盟店１が取引システム４を有し、かつ認証局３の機能を有する場合には、加盟店１と顧客２との間で直接登録及び認証を行ってもよい。
【０１１３】
また、上記図１に示したシステムはほんの一例にすぎない。例えば、上記システムに電子商取引の決済を行うクレジット会社が上記システムのネットワークに存在し、このクレジット会社が上記取引システム４を有していてもよい。また、クレジット会社が存在する場合でも、取引システム４と別個に設けられていてもよい。また、上記システムは電子商取引を行う場合を示したが、これに限定されず、例えば会社内の役員会議における昇格や降格事項を社員に報知する報知システム、給与明細を各社員に報知する給与明細報知システム、企業内での電子書類の閲覧システム等、本人や特定人しか見ることのできない書類等を報知するシステムであれば何でも適用可能である。例えば、給与明細を各社員に報知する給与明細報知システムの場合、図１の取引システム４を企業が有し、各社員が顧客２に該当し、各社員が自分だけの電子給与明細を見る場合に認証局３に認証要求を出す。このように、認証局３がアクセスした者が電子給与明細を求める社員本人であると認証できるため、各社員は自分だけの電子給与明細を見ることが可能となる。同様に、例えば企業内での電子書類の閲覧システムの場合、認証局３にアクセスし、認証局３により認証された者のみが電子書類の閲覧を行うことができる。さらに、このような認証局３による認証に加えて、各社員に例えば役職等に応じて新たな役職コードを顧客データ１８２に対応付け、この役職コードに基づいて特定書類のみを特定の役職にある者のみが閲覧することが可能となる。これにより、例えば役職の無い一般社員に重要事項が漏洩する恐れが無くなる。
【０１１４】
また、情報更新処理を行わない場合には、タグ２７１として書き換え可能な記憶媒体を用いる必要はない。ＣＤ−Ｒを用いる場合には、情報更新は追記することにより対応可能である。また、仮にＣＤ−Ｒの記憶容量を超えて追記できなくなった場合でも、ＣＤ−Ｒ上のデータを他のＣＤ−Ｒに移すことにより再度使用可能となる。
【０１１５】
また、上記実施形態においてネットワークといった場合には、例えばネットワークのプロバイダを介して有線でサーバ等が接続される場合のみならず、無線で接続されている場合も含まれることはもちろんである。また、顧客２としては、個人である場合のみならず、例えば認証局３と所定の契約に基づいて電子商取引を行う取引業者も含まれる。
【０１１６】
また、暗号化及び復号化手段や認証コード、暗号データの照合手段は顧客２及び認証局３ともに、端末内のプログラムにより実現する場合を示したが、これに限定されるものではなく、ハードウェアとしてこのような装置を端末に別途設けてもよい。
【０１１７】
また、認証局３側から顧客２側にＴＫＥＹを送信する際に、何ら暗号化を行わない例を示したがこれに限定されるものではなく、ＴＫＥＹを暗号化して送信してもよい。この場合、ＴＫＥＹを復号化するための鍵を認証登録時に予めタグ２７１に記録しておくのが好ましい。
【０１１８】
また、上記実施形態では認証コード及び暗号データを顧客２が送信し、認証局３側でこれらに基づいて認証する場合を示したが、これに限定されるものではない。例えば、暗号データを用いずに認証コードのみで認証を行い暗号データは顧客２が送信しなくてもよい。逆に、暗号データのみを送信して暗号データのみで認証を行っても良い。また、例えばＳ８２では認証局３は認証コード及び暗号データの送信を顧客２に要求したが、これらのみならず、例えば予め認証登録時に設定したパスワードを要求し、あるいはこの要求時にその要求時を特定する時間とともに送信してもよい。この要求時を特定する時間を送信した場合、さらに顧客２から認証コード等の送信時と比較して所定時間以上のタイムラグがある場合に認証を否認することができる。これにより、Ｓ８２で認証コード等の送信要求時の通信を傍受し、あるいはタグ２７１の不正コピー等を行った場合に、所定の時間をかけてデータを改竄したり、暗号解読をして悪意の第三者が不正に認証許可を受けようとするのを防止することができる。
【０１１９】
また、顧客２と認証局３で同一の認証コードを生成する場合を示したが、異なるコードを生成する場合でも両者が照合可能に対応づけられていればよい。
【０１２０】
さらに、本実施形態では顧客２側で本人を特定する画像を表示したが、これに限定されるものではない。本人を特定する音声等、端末で使用され得る識別情報であれば何でもよい。
【０１２１】
【発明の効果】
以上詳述したように本発明によれば、電子認証により認証を受けた使用者側の画面にその使用者に対応づけられた画像が表示されるため、認証を受けた者が作業を行う際の第三者の監視が可能となり、不正使用者のアクセスが少なくなるため、セキュリティが格段に向上する。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る電子認証システムの全体構成を示す図。
【図２】同実施形態に係る顧客の有する端末のハードウェア構成の一例を示す図。
【図３】同実施形態に係る認証局の有する端末のハードウェア構成の一例を示す図。
【図４】同実施形態に係る認証登録の流れを説明するための図。
【図５】同実施形態に係る電子認証の流れを説明するための図。
【図６】同実施形態における電子認証の認証否認の場合の流れを説明するための図。
【図７】同実施形態に係る認証登録のフローチャートを示す図。
【図８】同実施形態に係る認証局側の電子認証のフローチャートを示す図。
【図９】同実施形態に係る顧客側の電子認証のフローチャートを示す図。
【図１０】同実施形態の変形例に係る電子認証の流れを説明するための図。
【図１１】第２実施形態であるマスターキーシステムを利用した場合に用いるマスターキーシステムを説明するためのフローチャート。
【図１２】同実施形態に係るマスターキーシステムの原理を説明する原理図。
【図１３】同実施形態に係るマスターキーシステムの乱数生成を説明するフローチャート。
【符号の説明】
１．．．加盟店
２．．．顧客
３．．．認証局
４．．．取引システム
２１．．．バス
２２．．．ＣＰＵ
２３．．．メモリ
２４．．．キーボード
２５．．．ディスプレイ
２６．．．通信デバイス
２７．．．外部入力端子
２８．．．データ制御部
２９．．．プログラム制御部
８１．．．データ記憶部
９１．．．プログラム記憶部
９２，１９２．．．メインプログラム
９３，１９５．．．復号化プログラム
９４，１９６．．．暗号化プログラム
９５，１９７．．．認証コード生成プログラム
９６．．．表示プログラム
９７．．．ＴＫＥＹ生成プログラム
１８２．．．顧客データ
１９３．．．リクエストプログラム
１９４．．．照合プログラム
１９８．．．ＫＥＹ生成プログラム
２７１．．．タグ
【図１】
0003583987.tif 000003
【図２】
0003583987.tif 000004
【図３】
0003583987.tif 000005
【図４】
0003583987.tif 000006
【図５】
0003583987.tif 000007
【図６】
0003583987.tif 000008
【図７】
0003583987.tif 000009
【図８】
0003583987.tif 000010
【図９】
0003583987.tif 000011
【図１０】
0003583987.tif 000012
【図１１】
0003583987.tif 000013
【図１２】
0003583987.tif 000014
【図１３】
0003583987.tif 000015