(57)【要約】【課題】  端末装置と認証サーバ装置から構成される認証システムにおいて、端末装置の盗難や紛失の際に、不正に認証されることを防止する認証システムを提供する。【解決手段】  端末装置１０１はパスワードから生成された認証情報Ｓ２を記憶している。サーバ装置１０９はパスワードから生成された認証情報Ｓ１を記憶している。ユーザ認証においてサーバ装置１０９は乱数を生成し端末装置７０１に送信する。端末装置７０１の端末側認証データ生成部１０８は、受信した乱数と記憶する認証情報Ｓ２とユーザ認証の際に受けつけたパスワードとを用いて端末側認証データを生成し、サーバ装置７０９に送信する。サーバ側認証データ生成部１１３は、記憶する認証情報Ｓ１と送信した乱数を用いてサーバ側認証データを生成する。サーバ側認証判断部１１４は生成したサーバ側認証データと受信した端末側認証データとを比較しユーザ認証の成否を判断する。【選択図】        図１
2005208996.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから認証要求を受け付ける端末装置と、前記端末装置から認証要求を受信して乱数を生成し生成した乱数を前記端末装置に送信することによりユーザの認証を行うサーバとを備えた認証システムにおいて、
前記端末装置は、
ユーザの所有する原情報に基づいて生成された第２認証情報を記憶する端末側記憶部と、
前記サーバが送信する乱数を受信する端末側受信部と、
原情報を受け付ける端末側入力部と、
前記端末側入力部の受け付けた原情報と前記端末側記憶部が記憶する第２認証情報とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
を備え、
前記サーバは、
ユーザの所有する原情報に基づいて生成された第１認証情報を記憶するサーバ側記憶部と、
乱数を生成するサーバ側乱数生成部と、
前記サーバ側乱数生成部が生成した乱数を前記端末装置へ送信するサーバ側送信部と、
前記サーバ側乱数生成部が生成した乱数と前記サーバ側記憶部の記憶する第１認証情報とを用いてユーザの認証に使用するサーバ側認証データを生成するサーバ側認証データ生成部と、
前記端末装置が送信する端末側認証データを受信するサーバ側受信部と、
前記サーバ側受信部が受信した端末側認証データと前記サーバ側認証データ生成部が生成したサーバ側認証データとを比較して認証の成否を判断するサーバ側認証判断部と
を備えたことを特徴とする認証システム。
【請求項２】
乱数を生成してユーザの認証を行うサーバと通信する端末装置において、
ユーザの所有する原情報に基づいて生成された第２認証情報を記憶する端末側記憶部と、
前記サーバが生成した乱数を前記サーバから受信する端末側受信部と、
原情報を受け付ける端末側入力部と、
前記端末側入力部の受け付けた原情報と前記端末側記憶部が記憶する第２認証情報とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
を備えたことを特徴とする端末装置。
【請求項３】
ユーザから認証要求を受け付ける端末装置と、前記端末装置から認証要求を受信して複数の乱数を生成し生成した複数の乱数を前記端末装置に送信することによりユーザの認証を行うサーバとを備えた認証システムにおいて、
前記端末装置は、
ユーザの所有する原情報に基づいて生成された第２認証情報を記憶する端末側記憶部と、
前記サーバが送信する複数の乱数を受信する端末側受信部と、
前記端末側受信部が受信した複数の乱数を用いて、原情報から原情報に対応する対応情報への変換方法を示す変換方法画面を表示する端末側表示部と、
前記端末側表示部が表示する変換方法画面に示された変換方法に従って変換された対応情報の入力を受け付ける端末側入力部と、
前記端末側入力部が受け付けた対応情報と前記端末側記憶部が記憶する第２認証情報とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した複数の乱数のうち少なくとも一つの乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
を備え、
前記サーバは、
ユーザの所有する原情報に基づいて生成された第１認証情報を記憶するサーバ側記憶部と、
複数の乱数を生成するサーバ側乱数生成部と、
前記サーバ側乱数生成部が生成した複数の乱数を前記端末装置へ送信するサーバ側送信部と、
前記サーバ側乱数生成部が生成した複数の乱数のうち少なくとも一つの乱数と前記サーバ側記憶部が記憶する第１認証情報とを用いてユーザの認証に使用するサーバ側認証データを生成するサーバ側認証データ生成部と、
前記端末装置が送信する端末側認証データを受信するサーバ側受信部と、
前記サーバ側受信部が受信した端末側認証データと前記サーバ側認証データ生成部が生成したサーバ側認証データとを比較して認証の成否を判断するサーバ側認証判断部と
を備えたことを特徴とする認証システム。
【請求項４】
複数の乱数を生成してユーザの認証を行うサーバと通信する端末装置において、
ユーザの所有する原情報に基づいて生成された第２認証情報を記憶する端末側記憶部と、
前記サーバが生成した複数の乱数を前記サーバから受信する端末側受信部と、
前記端末側受信部が受信した複数の乱数を用いて、原情報から原情報に対応する対応情報への変換方法を示す変換方法画面を表示する端末側表示部と、
前記端末側表示部が表示する変換方法画面に示された変換方法に従って変換された対応情報の入力を受け付ける端末側入力部と、
前記端末側入力部が受け付けた対応情報と前記端末側記憶部が記憶する第２認証情報とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した複数の乱数のうち少なくとも一つの乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
を備えたことを特徴とする端末装置。
【請求項５】
ユーザから認証要求を受け付ける端末装置と、ユーザの所有する原情報に基づいて生成された第１認証情報と第２認証情報と第３認証情報とのうち第１認証情報と第３認証情報とを記憶するとともに前記端末装置から認証要求を受信して複数の乱数を生成し生成した複数の乱数と記憶した第３認証情報とを前記端末装置に送信することによりユーザの認証を行うサーバとを備えた認証システムにおいて、
前記端末装置は、
第２認証情報を記憶する端末側記憶部と、
前記サーバが送信する複数の乱数と前記サーバが記憶する第３認証情報とを受信する端末側受信部と、
前記端末側受信部が受信した複数の乱数を用いて、原情報から原情報に対応する対応情報への変換方法を示す変換方法画面を表示する端末側表示部と、
前記端末側表示部が表示する変換方法画面に示された変換方法に従って変換された対応情報の入力を受け付ける端末側入力部と、
前記端末側入力部の受け付けた対応情報と前記端末側記憶部が記憶する第２認証情報と前記端末側受信部が受信した第３認証情報と前記端末側受信部が受信した複数の乱数とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した複数の乱数のうち少なくとも一つの乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
を備え、
前記サーバは、
第１認証情報と第３認証情報とを記憶するサーバ側記憶部と、
複数の乱数を生成するサーバ側乱数生成部と、
前記サーバ側乱数生成部が生成した複数の乱数と前記サーバ側記憶部が記憶した第３認証情報とを前記端末装置へ送信するサーバ側送信部と、
前記サーバ側乱数生成部が生成した複数の乱数のうち少なくとも一つの乱数と前記サーバ側記憶部が記憶する第１認証情報とを用いてユーザの認証に使用するサーバ側認証データを生成するサーバ側認証データ生成部と、
前記端末装置が送信する端末側認証データを受信するサーバ側受信部と、
前記サーバ側受信部が受信した端末側認証データと前記サーバ側認証データ生成部が生成したサーバ側認証データとを比較して認証の成否を判断するサーバ側認証判断部と
を備えたことを特徴とする認証システム。
【請求項６】
ユーザの所有する原情報に基づいて生成された第１認証情報と第２認証情報と第３認証情報とのうち第１認証情報と第３認証情報とを記憶するとともに複数の乱数を生成してユーザの認証を行い認証の成否を送信するサーバと通信する端末装置において、
第２認証情報を記憶する端末側記憶部と、
前記サーバが生成した複数の乱数と前記サーバが記憶する第３認証情報とを受信する端末側受信部と、
前記端末側受信部が受信した複数の乱数を用いて、原情報から原情報に対応する対応情報への変換方法を示す変換方法画面を表示する端末側表示部と、
前記端末側表示部が表示する変換方法画面に示された変換方法に従って変換された対応情報の入力を受け付ける端末側入力部と、
前記端末側入力部の受け付けた対応情報と前記端末側記憶部が記憶する第２認証情報と前記端末側受信部が受信した第３認証情報と前記端末側受信部が受信した複数の乱数とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した複数の乱数のうち少なくとも一つの乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
を備えたことを特徴とする端末装置。
【請求項７】
前記端末側受信部は、
前記サーバから認証の成否を受信し、
前記端末側記憶部は、
前記端末側受信部の受信した認証の成否が認証成功の場合には対応情報と複数の乱数とを記憶し、
前記端末側入力部は、
ユーザの再認証を要求するユーザ再認証要求を受け付け、
前記端末側表示部は、
前記端末側入力部がユーザ再認証要求を受け付けた場合に、前記端末側記憶部に記憶された複数の乱数を用いて、原情報から原情報に対応する対応情報への変換方法を示す変換方法画面を表示し、
前記端末側入力部は、
変換方法画面に示された変換方法に従って変換された対応情報を再認証対応情報として受け付け、
前記端末装置は、さらに、
前記端末側入力部が受け付けた再認証対応情報と前記端末側記憶部が記憶した対応情報とを比較してユーザ再認証要求に対する認証の成否の判断を行う端末側再認証判断部を備えたことを特徴とする請求項６記載の端末装置。
【請求項８】
前記端末装置は、さらに、
前記端末側記憶部が記憶した対応情報と複数の乱数とを変化させて変化後乱数と変化後対応情報として生成する端末側乱数変化部を備え、
前記端末側表示部は、
変化後乱数を用いて変換方法画面を表示し、
前記端末側入力部は、
変化後乱数を用いて表示された変換方法画面に示された変換方法に従って変換された対応情報を受付対応情報として受け付け、
前記端末側再認証判断部は、
変化後対応情報と受付対応情報とを比較してユーザ再認証要求に対する認証の成否を判断することを特徴とする請求項７記載の端末装置。
【請求項９】
前記端末側記憶部は、
着脱可能な不揮発性メモリを含むことを特徴とする請求項２または４または６記載の端末装置。
【請求項１０】
前記原情報は、
ユーザの正当性を示すパスワードであることを特徴とする請求項１または３または５記載の認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザ認証に用いる端末装置とサーバ装置とから構成される認証システムに関するものである。
【背景技術】
【０００２】
ユーザ認証に使用する秘密情報を端末に記憶させた場合には、この端末を紛失した際や盗難に遭った際に、端末から秘密情報が漏洩し、この秘密情報を利用し本人に成りすまして不正に認証されることが懸念される。
【０００３】
この問題を防ぐ方法として、秘密情報を２つに分割し一方だけを端末に記憶し、これを認証の際に他に記憶されたもう一方の分割された秘密情報と合わせて、秘密情報が復元されるか否かでユーザ認証を行う方法がある。図３０は、例えば、特開２００２−２６９０４５に示された従来のユーザ認証方式である。図３０で、９０１はユーザ携帯装置、９０２はユーザ装置、９０３は認証センタである。本認証方式の例では、秘密情報である原情報［０１１１］を情報（１）［００１１］と情報（２）［０１０１］に分割している。そして、一方（認証情報（１））をユーザ携帯装置９０１に記憶させ、他方（認証情報（２））をユーザ装置９０２に記憶させている。また、原情報を認証センタ９０３に記憶させている。
次に動作について説明する。
ユーザ装置９０２は、ユーザ携帯装置９０１から情報（１）を受信すると、受信した情報（１）と自身が記憶している情報（２）を、所定の公開鍵ＰＫで暗号化する（『ＰＫ（情報（１））及び『ＰＫ（情報（２））』）。そして、情報（１）及び情報（２）を公開鍵ＰＫで暗号化した情報を認証センタ９０３に送信する。認証センタ９０３では、ユーザ装置９０２から情報を受信すると、ユーザ装置９０２に対する原情報、ユーザ装置９０２で使用した公開鍵ＰＫに対応する秘密鍵ＳＫを検索する。そして、受信した情報（『ＰＫ（情報（１））』及び『ＰＫ（情報（２））』）を、秘密鍵ＳＫで復号化して（『ＳＫ［ＰＫ（情報（１））］』及び『ＳＫ［ＰＫ（情報（２））］』）情報（１）及び情報（２）を得る。さらに、復号化した情報（１）及び情報（２）を所定のアルゴリズムで結合して情報（３）を形成する。本認証方式の例では、情報（１）と情報（２）をＯＲ処理する。情報（１）が正しいユーザ携帯装置９０１から送信されたものである場合には、情報（１）と情報（２）をＯＲ処理することによって、原情報［０１１１］が形成される。次いで、情報（３）と原情報を照合して本人確認を行う。分割方法は、図３０に示した例に限定されないが、認証センタ９０３において秘密情報の原情報が形成し、この情報を使って認証の成否を判断する。
【特許文献１】特開２００２−２６９０４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の方式によれば、端末を使用している利用者が登録している正規のユーザかどうかを認証する際に、分割した秘密情報を認証センタにおいて復元することが必要なため、認証センタにおいて秘密情報そのものが漏洩する危険性があるという問題点があった。また、秘密情報そのものが認証センタの外部に漏洩しなくても、認証センタの管理者が秘密情報の内容を参照することが可能であるため、利用者は管理者に見られる可能性があることを前提に秘密情報を設定することが必要であった。
【０００５】
この発明は上記のような問題点を解決するためになされたもので、ユーザの使用する端末の盗難や紛失の際にも、認証サーバに登録された秘密情報が不正に認証されることを防止するともに、認証サーバ側で認証に使用するパスワードや暗証番号などの秘密情報が漏洩することを防止する認証システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の認証システムは、
ユーザから認証要求を受け付ける端末装置と、前記端末装置から認証要求を受信して乱数を生成し生成した乱数を前記端末装置に送信することによりユーザの認証を行うサーバとを備えた認証システムにおいて、
前記端末装置は、
ユーザの所有する原情報に基づいて生成された第２認証情報を記憶する端末側記憶部と、
前記サーバが送信する乱数を受信する端末側受信部と、
原情報を受け付ける端末側入力部と、
前記端末側入力部の受け付けた原情報と前記端末側記憶部が記憶する第２認証情報とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
を備え、
前記サーバは、
ユーザの所有する原情報に基づいて生成された第１認証情報を記憶するサーバ側記憶部と、
乱数を生成するサーバ側乱数生成部と、
前記サーバ側乱数生成部が生成した乱数を前記端末装置へ送信するサーバ側送信部と、
前記サーバ側乱数生成部が生成した乱数と前記サーバ側記憶部の記憶する第１認証情報とを用いてユーザの認証に使用するサーバ側認証データを生成するサーバ側認証データ生成部と、
前記端末装置が送信する端末側認証データを受信するサーバ側受信部と、
前記サーバ側受信部が受信した端末側認証データと前記サーバ側認証データ生成部が生成したサーバ側認証データとを比較して認証の成否を判断するサーバ側認証判断部と
を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、端末装置の盗難や紛失が発生した際にも、端末装置からサーバ装置に登録した認証情報が漏洩することはない。また、サーバ装置に登録する認証情報は、ユーザ登録時に端末装置で生成した乱数を使って計算した数値であり、その認証情報だけではユーザのパスワードが何であるかは、サーバ装置の管理者も推測することができない。このため秘密の漏洩を防止することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１はこの発明の実施の形態１に係る認証システムの構成を示すブロック図である。認証システムは、端末装置１０１とサーバ装置１０９とから構成されている。端末装置１０１は、端末側通信部１０２、端末側表示部１０３、パスワード等の入力を受けつける端末側入力部１０４、乱数を生成する端末側乱数生成部１０５、後述の認証情報Ｓ１、Ｓ２を生成する端末側認証情報生成部１０６、端末側記憶部１０７、端末側認証データを生成する端末側認証データ生成部１０８とを備える。また、端末側通信部１０２は端末側送信部１０２１と端末側受信部１０２２を備える。サーバ装置１０９（認証装置）は、サーバ側通信部１１０、乱数を生成するサーバ側乱数生成部１１１、サーバ側認証情報記憶部１１２、サーバ側認証データを生成するサーバ側認証データ生成部１１３、端末側認証データとサーバ側認証データとを比較して判断するサーバ側認証判断部１１４とを備える。また、サーバ側通信部１１０はサーバ側送信部１１０１とサーバ側受信部１１０２を備える。
【０００９】
端末側記憶部１０７は、本実施の形態では不揮発性メモリからなり端末装置１０１から着脱することができる。サーバ側認証情報記憶部１１２は、本実施の形態ではハードディスク装置からなりユーザの認証情報をユーザＩＤと関連付けて記憶する。端末側乱数生成部１０５およびサーバ側乱数生成部１１１は、パスワードの文字数と同じ桁数の乱数を生成する。サーバ側乱数生成部１１１、サーバ側認証データ生成部１１３、サーバ側認証判断部１１４は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置１０９上にロードされＣＰＵ上で実行される。端末装置１０１の端末側通信部１０２とサーバ装置１０９のサーバ側通信部１１０は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
【００１０】
次に動作について説明する。まず、図２〜図４を用いてユーザ登録の際の動作について説明する。
【００１１】
図２は、端末装置１０１においてユーザ登録を行う際に実行される処理を示すフローチャートである。図３は、サーバ装置１０９におけるユーザ登録の際の処理を示すフローチャートである。また、図４は、ユーザ登録における端末装置１０１とサーバ装置１０９とのやり取りを示す図であり、図２と図３とを結合した図である。
【００１２】
図４を参照して端末装置１０１におけるユーザ登録を説明する。ユーザが端末装置１０１を使ってユーザ登録を行う場合に、端末側入力部１０４よりユーザＩＤとパスワード（原情報の一例）の入力を受付ける（Ｓ１０１）。次に、端末側認証情報生成部１０６は、端末側入力部１０４より受付けたパスワードをパスワードの文字数と同じ桁数の数字パスワードに変換する（Ｓ１０２）。この受付けたパスワードを数字パスワードへ変換する方法については後に詳しく説明する。次に、端末側乱数生成部１０５で乱数を生成し（Ｓ１０３）、端末側認証情報生成部１０６は、数字パスワードと乱数を使って認証情報Ｓ１（第１認証情報）と認証情報Ｓ２（第２認証情報）とを生成する（Ｓ１０４）。この認証情報Ｓ１と認証情報Ｓ２との生成については後述する。次に、サーバ装置１０９に対して端末側通信部１０２を介してユーザＩＤと認証情報Ｓ１を含む登録要求を送信する（Ｓ１０５）。この後、端末装置１０１は端末側通信部１０２を介して送信した登録要求に対する結果をサーバ装置１０９より受信し（Ｓ１０６）、端末側表示部１０３に受信した結果を表示する（Ｓ１０７）。次に、登録要求に対する結果が成功か否かを判別し（Ｓ１０８）、結果が登録成功の場合には、認証情報Ｓ２（第２認証情報）を端末側記憶部１０７に記憶（Ｓ１０９）し、ユーザ登録処理を終了する。一方、結果が登録失敗の場合には、Ｓ１０１からの登録処理を繰り返す。
【００１３】
次に図４を参照して、サーバ装置１０９におけるユーザ登録の動作を説明する。
【００１４】
端末装置１０１からユーザ登録要求を受信する（Ｓ２０１）と、サーバ装置１０９は、受信した登録要求に含まれるユーザＩＤと同じユーザＩＤがサーバ側認証情報記憶部１１２に登録されていないかを確認する（Ｓ２０２）。ユーザＩＤが登録されていない場合には、受信した登録要求に含まれる認証情報Ｓ１（第１認証情報）を登録要求に含まれるユーザＩＤと関連付けてサーバ側認証情報記憶部１１２に記憶し（Ｓ２０３）、端末装置１０１に対して登録の成功を返信する（Ｓ２０４）。
【００１５】
一方、Ｓ２０２でサーバ側認証情報記憶部１１２にユーザＩＤが既に登録されている場合には、端末装置１０１に対して登録の失敗を返信する（Ｓ２０５）。
【００１６】
次に、図５、図６を用いて、上記Ｓ１０２で述べた数字パスワードへの変換について説明する。図５は、アスキーコード表１３０を示す図である。図６は、アスキー文字列から成るパスワードを数字パスワードに変換するパスワード変換テーブル１４０を示す図である。端末側認証情報生成部１０６は、端末側入力部１０４が受け付けた８桁のパスワードを、８桁の数字から成る数字パスワードに変換する。本実施の形態では、端末側入力部１０４は、パスワードを８桁のアスキー文字列（数字、文字、記号を含む）で受付けることを想定しており、パスワード中のアルファベットの大文字と小文字を区別しない。具体的には、図５に示すようなアスキー文字列を、図６に示すパスワード変換テーブル１４０を用いることで、受け付けたパスワードの文字数と同じ桁数を持つ数字パスワードに変換することができる。例えば、パスワードを「Ｐａｓｓ＃９＠７」の８文字とした場合、図６の変換テーブルを使うことで、「６１９９１９８７」の８桁の数字パスワードに変換する。例えばアスキー文字列の「Ｐ」は図５のアスキーコード表により上位４ビットが「７」であり、下位４ビットが「０」である。この場合、図６のパスワード変換テーブル１４０により「７０」は数字パスワードでは「６」となる。同様にアスキー文字列の「ａ」は図５により上位４ビットが「６」であり、下位４ビットが「１」である。この場合、図６のパスワード変換テーブル１４０によれば「６１」は数字パスワードでは「１」となる。以下同様にしてアスキー文字列で受付けたパスワード「Ｐａｓｓ＃９＠７」は、端末側認証情報生成部１０６により、８桁の数字パスワード「６１９９１９８７」に変換される。
【００１７】
次に、上記Ｓ１０４で述べた認証情報Ｓ１と認証情報Ｓ２の生成について説明する。端末側認証情報生成部１０６は、変換した８桁の数字パスワードと、端末側乱数生成部１０５が生成した８桁の乱数とを使って、例えば、以下の計算式（式１）、（式２）とを用いて認証情報Ｓ１と認証情報Ｓ２とを生成する。
Ｓ１［ｉ］＝（１０＋ＰＷ［ｉ］−ＲＮ［ｉ］）％１０    （式１）
Ｓ２［ｉ］＝ＲＮ［ｉ］    （式２）
ここで、
Ｓ１［ｉ］は認証情報Ｓ１の左からｉ番目の数字を示す。
ＰＷ［ｉ］は数字パスワードの左からｉ番目の数字を示す。
ＲＮ［ｉ］は乱数の左からｉ番の数字を示す。
Ｓ２［ｉ］は認証情報Ｓ２の左からｉ番目の数字を示す。
「％」は割り算の商を求める演算を示す。
例えば、８桁の乱数が「４１２９３５４７」の場合に、先のパスワード「Ｐａｓｓ＃９＠７」に対して、
Ｓ１［１］＝（１０＋６−４）％１０＝２
Ｓ１［２］＝（１０＋１−１）％１０＝０
Ｓ１［３］＝（１０＋９−２）％１０＝７
Ｓ１［４］＝（１０＋９−９）％１０＝０
Ｓ１［５］＝（１０＋１−３）％１０＝８
Ｓ１［６］＝（１０＋９−５）％１０＝４
Ｓ１［７］＝（１０＋８−４）％１０＝４
Ｓ１［８］＝（１０＋７−７）％１０＝０
となり、
認証情報Ｓ１＝２０７０８４４０となる。
また、
認証情報Ｓ２（＝ＲＮ）＝４１２９３５４７となる。
【００１８】
次に、図７〜図９を用いて、ユーザ認証の際の端末装置１０１及びサーバ装置１０９のそれぞれの動作について説明する。図７は端末装置１０１においてユーザ認証を行う際に実行される処理を示すフローチャートである。図８はサーバ装置１０９においてユーザ認証を行う際に実行される処理を示すフローチャートである。図９は、図７と図８とを結合したフローチャートであり、端末装置１０１とサーバ装置１０９とのやりとりを示している。
【００１９】
まず、図９を参照して、ユーザ認証の際の端末装置１０１の動作について説明する。ユーザが端末装置１０１を使ってユーザ認証を行う場合に、端末側入力部１０４よりユーザＩＤとパスワード（原情報の一例）を受付ける（Ｓ３０１）。次に、サーバ装置１０９に対して端末側通信部１０２の端末側送信部１０２１を介してユーザＩＤを含む認証要求をサーバ装置１０９に送信する（Ｓ３０２）。この後、端末装置１０１は送信した認証要求に対する乱数を、サーバ装置１０９より受信する（Ｓ３０３）。次に、端末側認証データ生成部１０８は、端末側入力部１０４で受付けたパスワードと端末側記憶部１０７に記憶している認証情報Ｓ２により、認証情報Ｓ１を生成する（Ｓ３０４）。Ｓ３０４における具体的な認証情報Ｓ１の生成については後述する。次に、端末側認証データ生成部１０８は、認証情報Ｓ１（認証用データ）を使ってサーバ装置１０９から受信した乱数をハッシュしたハッシュ値を端末側認証データとして求め（Ｓ３０５）、求めたハッシュ値を端末側認証データとして端末側送信部１０２１を介してサーバ装置１０９に送信する（Ｓ３０６）。この後、端末装置１０１は送信した端末側認証データに対する認証結果を端末側受信部１０２２を介して受信し（Ｓ３０７）、受信した結果を端末側表示部１０３に表示する（Ｓ３０８）。
【００２０】
次に、図９を参照して、サーバ装置１０９におけるユーザ認証の動作を説明する。
【００２１】
サーバ装置１０９は、端末装置１０１から認証要求を受信する（Ｓ４０１）と、受信した認証要求に含まれるユーザＩＤと同じユーザＩＤがサーバ側認証情報記憶部１１２に登録されているかを確認する（Ｓ４０２）。ユーザＩＤがサーバ側認証情報記憶部１１２に登録されている場合には、ユーザＩＤと関連付けてサーバ側認証情報記憶部１１２に記憶された認証情報Ｓ１を取り出す（Ｓ４０３）。一方、サーバ側認証情報記憶部１１２にユーザＩＤが登録されていない場合には、認証の失敗を記録する（Ｓ４０４）。次に、サーバ側乱数生成部１１１において乱数を生成し（Ｓ４０５）、この乱数を端末装置１０１に対して送信する（Ｓ４０６）。この後、端末装置１０１から認証データを受信する（Ｓ４０７）と、認証の失敗が記録されているかを確認し（Ｓ４０８）、失敗が記録されていない場合には、サーバ側認証データ生成部１１３においてサーバ側認証情報記憶部１１２に記憶する認証情報Ｓ１を使って、端末装置１０１に送信した乱数をハッシュしたハッシュ値をサーバ側認証情報として求め（Ｓ４０９）、サーバ側認証判断部１１４でハッシュ値（サーバ側認証情報）と端末装置１０１から受信した端末側認証データとを比較し、これらの値が一致しているか否かで認証の成否を判断する（Ｓ４１０）。
Ｓ４１０において認証が成功した場合には、端末装置１０１に認証の成功を送信する（Ｓ４１１）。一方、Ｓ４０８において認証の失敗が記録されている場合およびＳ４１０においてサーバ側認証判断部１１４で計算したハッシュ値と端末装置１０１から受信した認証データが一致していない場合には、端末装置１０１に認証の失敗を送信する（Ｓ４１２）。
【００２２】
次に、Ｓ３０４で述べた認証情報Ｓ１の生成について説明する。端末装置１０１の端末側認証データ生成部１０８は、端末側入力部１０４で受け付けたパスワードから図６のパスワード変換テーブル１４０を使って得られる数字パスワードと、端末側記憶部１０７が記憶する認証データＳ２を使って、例えば、以下の（式３）を用い認証情報Ｓ１（認証用データ）を求める。
Ｓ１［ｉ］＝（１０＋ＰＷ［ｉ］−Ｓ２［ｉ］）％１０    （式３）
ここで、
Ｓ１［ｉ］は認証情報Ｓ１の左からｉ番目の数字を示す。
ＰＷ［ｉ］は数字パスワードの左からｉ番目の数字を示す。
Ｓ２［ｉ］は認証情報Ｓ２の左からｉ番目の数字を示す。
「％」は割り算の商を求める演算を示す。
たとえば、先の例と同じくパスワード「Ｐａｓｓ＃９＠７」に対して図５の変換テーブルを使うことで得られる８桁の数字パスワード「６１９９１９８７」と、認証情報Ｓ２＝「４１２９３５４７」については、
Ｓ１［１］＝（１０＋６−４）％１０＝２
Ｓ１［２］＝（１０＋１−１）％１０＝０
Ｓ１［３］＝（１０＋９−２）％１０＝７
Ｓ１［４］＝（１０＋９−９）％１０＝０
Ｓ１［５］＝（１０＋１−３）％１０＝８
Ｓ１［６］＝（１０＋９−５）％１０＝４
Ｓ１［７］＝（１０＋８−４）％１０＝４
Ｓ１［８］＝（１０＋７−７）％１０＝０
となり、正しいパスワードが端末側入力部１０４に入力された場合にサーバ装置１０９に登録されたものと同じ認証情報Ｓ１を求めることができる。
【００２３】
このようにＳ３０４において端末側認証データ生成部１０８は、端末側入力部１０４から入力したパスワードと、端末側記憶部１０７が記憶する認証データＳ２を使用して「認証情報Ｓ１」を生成する。この場合、端末側認証データ生成部１０８の生成する「認証情報Ｓ１」は、Ｓ２０３においてサーバ側認証情報記憶部１１２が記憶した「認証情報Ｓ１」に相当する情報であるが、両者は同一とは限らないのはもちろんである。すなわち、端末側入力部１０４に入力したパスワード（Ｓ３０１）がユーザ登録時に入力したパスワード（Ｓ１０１）と同じであれば、端末側認証データ生成部１０８の生成する「認証情報Ｓ１」は、サーバ側認証情報記憶部１１２の記憶する「認証情報Ｓ１」と同じ値となる。しかし、ユーザ認証時において端末側入力部１０４入力したパスワード（Ｓ３０１）がユーザ登録時（Ｓ１０１）に入力したパスワードと異なれば、両者は異なる値となる。このことは、実施の形態２（後述する図１７のＳ７０７）、及び実施の形態３（後述する図２６のＳ１１０８）についても同様である。
【００２４】
本実施の形態では、ユーザ登録を行う際に使用する端末装置とユーザ認証を行う際に使用する端末装置を同じものとして記述したが、これら２つの操作の際に使用する端末は２つの別の端末を使用することも可能である。この場合には、ユーザ登録を行った後に、使用した端末装置から認証情報Ｓ２を記憶した端末側記憶部１０７を含む不揮発性メモリを取り出し、認証を行う際に使用する端末装置に、この不揮発性メモリを挿入して使用することで、ユーザ登録を行った端末とは異なる端末においてユーザ認証を行うことが可能になる。
さらに、不揮発性メモリの内容をインターネットなどのネットワークを通じて、正規のユーザに送付し、ユーザ側で不揮発性メモリに内容をコピーしユーザの所有する端末装置を使用して認証することも可能である。このように、端末側記憶部１０７を含む不揮発性メモリを用いることで認証の利便性を向上することができる。
【００２５】
以上のように、端末装置１０１は、ユーザ登録時に生成した乱数を認証情報Ｓ２として記憶するだけでありパスワードそのものについての情報は全く記憶していないため、端末装置の盗難や紛失が発生した際にも、端末装置からサーバ装置に登録した認証情報が漏洩することはない。
【００２６】
また、サーバ装置に登録する認証情報Ｓ１は、ユーザ登録時に端末装置で生成した乱数を使って計算した数値であり、認証情報Ｓ１だけではユーザのパスワードが何であるかは、例えサーバ装置の管理者であっても推測することができないので、秘密の漏洩を防止することができる。
【００２７】
さらに、サーバ装置に登録する認証情報Ｓ１は、パスワードと乱数とを用いて計算により求めた値であるので、悪意の第三者にサーバ側認証情報記憶部１１２の中身を覗かれるような事故が起きた場合にも、ユーザはパスワードを新しいものに変えてこれを覚え直す労力は不要であり、再度ユーザ登録をやり直すだけで、パスワードは継続的に同じものを使うことが可能である。
【００２８】
さらに、端末装置の記憶部を１つの端末装置から別の端末装置に差し替えて使うことが可能な不揮発性メモリとした場合には、別の端末装置を使って認証を行う際にも、ユーザは同じ１つのパスワードでサーバ装置との認証を行うことが可能である。このため、不揮発性メモリ媒体を一種の物理トークンとして使うこともでき、また、不揮発性メモリ媒体の紛失や盗難が発生した場合には、ユーザ登録をやり直すだけで、物理トークンの再発行が可能になる。
【００２９】
実施の形態１に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対するユーザ認証を行う認証装置（サーバ装置）とを有する認証システムであって、前記端末装置は、前記認証装置との通信を行う端末側通信部とユーザのキー入力を受付ける端末側入力部と、乱数を生成する端末側乱数生成部と、端末側入力部から入力されたパスワードと端末側乱数生成部により生成された乱数から所定の演算により認証情報Ｓ１と認証情報Ｓ２の２つの認証情報を生成する端末側認証情報生成部と、認証情報Ｓ２を記憶する端末側記憶部と、パスワードと認証情報Ｓ２から認証情報Ｓ１を求めてさらにこの認証情報Ｓ１と乱数とから端末側認証データを生成する端末側認証データ生成部とを有し、ユーザ登録の際に、前記端末側入力部からのパスワードに関して前記端末側認証情報生成部より得られる認証情報Ｓ１を端末側通信部を介して前記認証装置に送信するとともに認証情報Ｓ２を前記端末側記憶部に記憶し、ユーザ認証の際に、前記端末側入力部からのパスワードと前記端末側記憶部に記憶した認証情報Ｓ２と前記端末側通信部を介して前記認証装置から受信した乱数から前記端末側認証データ生成部により生成される端末側認証データを前記端末側通信部を介して前記認証装置に送信し、前記認証装置は、前記端末装置との通信を行うサーバ側通信部と、乱数を生成するサーバ側乱数生成部と、
認証情報Ｓ１を記憶するサーバ側認証情報記憶部と、乱数と認証情報Ｓ１とから所定の演算によりサーバ側認証データを生成するサーバ側認証データ生成部と端末側認証データとサーバ側認証データとの２つの認証データが一致するか否かを判断するサーバ側認証判断部とを有し、ユーザ登録の際に、前記端末装置から受信した認証情報Ｓ１をサーバ側認証情報記憶部に記憶し、ユーザ認証の際に、前記サーバ側乱数生成部で生成した乱数を前記端末装置に送信し、これに対して前記端末装置から受信した端末側認証データと、前記サーバ側認証データ生成部により生成されるサーバ側認証データとが一致するか否かを前記サーバ側認証判断部により判断することで利用者認証の可否判断をすることを特徴とする。
【００３０】
実施の形態２．
実施の形態１では、端末装置に対して端末側入力部からパスワード文字を直接入力するものであった。これに対して実施の形態２は、例えば携帯電話のように端末装置の入力キーの種類が限られているような場合に、入力キーから直接パスワードを入力する代わりに、
画面の表示にしたがって数字パスワードを入力して認証を行う認証システムを示す。
【００３１】
図１０は、この発明の実施の形態２に係る認証システムの構成を示すブロック図である。構成要素は実施の形態１の構成を示す図１と同様である。実施の形態２に係る認証システムは、端末装置３０１とサーバ装置３０９で構成される。図１０において、端末装置３０１は、端末側通信部３０２、端末側表示部３０３、端末側入力部３０４、端末側乱数生成部３０５、端末側認証情報生成部３０６、端末側記憶部３０７、端末側認証データ生成部３０８とを備える。また、端末側通信部３０２は、端末側送信部３０２１と端末側受信部３０２２を備える。サーバ装置３０９（認証装置）は、サーバ側通信部３１０、サーバ側乱数生成部３１１、サーバ側認証情報記憶部３１２、サーバ側認証データ生成部３１３、サーバ側認証判断部３１４を備える。また、サーバ側通信部３１０は、サーバ側送信部３１０１と、サーバ側受信部３１０２を備える。
【００３２】
端末側記憶部３０７は、本実施の形態では不揮発性メモリからなり端末装置３０１から着脱することができる。サーバ側認証情報記憶部３１２は、本実施の形態ではハードディスク装置からなりユーザの認証情報Ｓ１をユーザＩＤと関連付けて記憶する。端末側乱数生成部３０５は、パスワードの文字数と同じ桁数の乱数を生成する。サーバ側乱数生成部３１１は、各桁の数字の間で重複のない１０桁の乱数を生成する。
【００３３】
サーバ側乱数生成部３１１、サーバ側認証データ生成部３１３、サーバ側認証判断部３１４は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置３０９上にロードされＣＰＵ上で実行される。端末装置３０１の端末側通信部３０２とサーバ装置３０９のサーバ側通信部３１０は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
【００３４】
次に、動作について説明する。まず、図１１、図１２、図１３を参照して端末装置３０１及びサーバ装置３０９におけるユーザ登録の際の動作について説明する。
【００３５】
図１１は、端末装置３０１においてユーザ登録を行う際に実行される処理を示すフローチャートである。図１２は、サーバ装置３０９におけるユーザ登録の際の処理を示すフローチャートである。また、図１３は、ユーザ登録における端末装置１０１とサーバ装置１０９とのやり取りを示す図であり、図１１と図１２とを結合した図である。
【００３６】
まず、図１３を参照して端末装置３０１におけるユーザ登録の過程を説明する。ユーザが端末装置３０１を使ってユーザ登録をする場合には、端末側入力部３０４よりユーザＩＤの入力を受付ける（Ｓ５０１）。次に、端末側表示部３０３に対してパスワード登録画面を表示する（Ｓ５０２）。このパスワード登録画面については後述する。このパスワード登録画面に対して端末側入力部３０４より数字パスワードの入力を受付ける（Ｓ５０３）。次に、端末側乱数生成部３０５で乱数を生成し（Ｓ５０４）、端末側認証情報生成部３０６はＳ５０３において受けつけた数字パスワードと、Ｓ５０４において端末側乱数生成部３０５が生成した乱数とを使って、認証情報Ｓ１（第１認証情報）と認証情報Ｓ２（第２認証情報）とを生成する（Ｓ５０５）。この認証情報Ｓ１認証情報Ｓ２の生成については後述する。次に、サーバ装置３０９に対して端末側送信部３０２１を介してユーザＩＤと認証情報Ｓ１とを含む登録要求を送信する（Ｓ５０６）。この後、端末装置３０１は端末側通信部３０２を介して送信した登録要求に対する結果をサーバ装置３０９より受信し（Ｓ５０７）、端末側表示部３０３に受信した登録要求に対する結果を表示する（Ｓ５０８）。次に、登録要求に対する認証結果が成功か否かを判別し（Ｓ５０９）、結果が登録成功の場合には、認証情報Ｓ２（第２認証情報）を端末側記憶部３０７に記憶し（Ｓ５１０）、ユーザ登録処理を終了する。一方、結果が登録失敗の場合には、Ｓ５０１からの登録処理を繰り返す。
【００３７】
次に、図１３を参照して、サーバ装置３０９におけるユーザ登録の処理を説明する。
【００３８】
端末装置３０１からユーザ登録要求を受信する（Ｓ６０１）と、サーバ装置３０９は、受信した登録要求に含まれるユーザＩＤと同じユーザＩＤがサーバ側認証情報記憶部３１２に登録されていないかを確認する（Ｓ６０２）。ユーザＩＤが登録されていない場合には、受信した登録要求に含まれる認証情報Ｓ１を認証要求に含まれるユーザＩＤと関連付けてサーバ側認証情報記憶部３１２に記憶し（Ｓ６０３）、端末装置３０１に対して登録の成功を返信する（Ｓ６０４）。
【００３９】
一方、Ｓ６０２においてユーザＩＤがサーバ側認証情報記憶部３１２に既に登録されている場合には、サーバ装置３０９は端末装置３０１に対して登録の失敗を返信する（Ｓ６０５）。
【００４０】
次に、図１４を用いて前述のＳ５０２で述べた端末側表示部３０３に表示するパスワード登録画面５０１について説明する。
【００４１】
図１４は、Ｓ５０３において数字パスワードを入力する際に端末装置３０１の端末側表示部３０３に表示されるパスワード登録画面５０１の例を示す図である。図１４において、
パスワード登録画面５０１には、パスワード文字配列部５０２、数字パスワード配列部５０３、入力フィールド５０４が表示される。パスワード登録画面５０１の表示にしたがって、ユーザ自身がパスワードを数字パスワードに変換して入力する。パスワード文字配列部５０２は、パスワードに使用する文字がグループ分けされて表示される。例えば、１列目が「１ＡＫＵ＃」のグループ、２列目が「２ＢＬＶ＄」のグループ等である。これらのグループ（列）と、数字パスワード配列部５０３に表示された「１２３４５６７８９０」とが対応付けられている。すなわち、１列目の「１ＡＫＵ＃」のグループは「１２３４５６７８９０」のうちの「１」と対応する。また、２列目の「２ＢＬＶ＄」は「１２３４５６７８９０」のうちの「２」に対応する。パスワード文字配列部５０２は、図６に示したパスワード変換テーブル１４０に基づいてパスワード文字配列部５０２の文字をグループ分けしている。例えば、１列目の「１ＡＫＵ＃」は、図６に示したパスワード変換テーブル１４０によれば、いずれも「１」に対応し、２列目の「２ＢＬＶ＄」はいずれも「２」に対応する。ユーザはパスワードの各文字について、パスワード文字配列部５０２の中からパスワードの各文字を検索し、検索したパスワードの文字が属するグループ（列）に対応する数字を、数字パスワード配列部５０３の「１２３４５６７８９０」中から選択して端末側入力部３０４に入力する。パスワードが「Ｐａｓｓ＃９＠７」であれば、「Ｐ」は左から６列目に属するので「６」を選択し、「ａ」は左から１列目に属するので「１」を選択する。このような対応によりパスワード「Ｐａｓｓ＃９＠７」は、数字パスワード「６１９９１９８７」に変換される。したがって、パスワード「Ｐａｓｓ＃９＠７」を図１４のパスワード登録画面５０１に対して入力する場合には、ユーザは８桁の数字パスワード「６１９９１９８７」を入力する。入力フィールド５０４は、入力された入力数値「６１９９１９８７」を「＊＊＊＊＊＊＊＊」と表示する。
【００４２】
次に、上記Ｓ５０５で述べた端末側認証情報生成部３０６による認証情報Ｓ１、認証情報Ｓ２の生成について説明する。端末装置３０１の端末側認証情報生成部３０６では、実施の形態１の端末側認証情報生成部１０６で使用する計算式と同じ式を用いて、端末側乱数生成部３０５で生成した乱数と端末側入力部３０４に対して入力される数字パスワードから認証情報Ｓ１と認証情報Ｓ２を生成することができる。たとえば、８桁の乱数が「４１２９３５４７」の場合に、先のパスワード「Ｐａｓｓ＃９＠７」に対して、
Ｓ１［１］＝（１０＋６−４）％１０＝２
Ｓ１［２］＝（１０＋１−１）％１０＝０
Ｓ１［３］＝（１０＋９−２）％１０＝７
Ｓ１［４］＝（１０＋９−９）％１０＝０
Ｓ１［５］＝（１０＋１−３）％１０＝８
Ｓ１［６］＝（１０＋９−５）％１０＝４
Ｓ１［７］＝（１０＋８−４）％１０＝４
Ｓ１［８］＝（１０＋７−７）％１０＝０
となり、認証情報Ｓ１＝２０７０８４４０となる。
また、認証情報Ｓ２（＝ＲＮ）＝４１２９３５４７となる。
【００４３】
次に、図１５〜図１７を用いてユーザ認証における端末装置３０１及びサーバ装置３０９のそれぞれの動作について説明する。図１５は端末装置３０１においてユーザ認証を行う際に実行される処理を示すフローチャートである。図１６はサーバ装置１０９においてユーザ認証を行う際に実行される処理を示すフローチャートである。図１７は、図１５と図１６とを結合したフローチャートであり、端末装置１０１とサーバ装置１０９とのやりとりを示している。
【００４４】
図１７を参照して端末装置３０１においてユーザ認証を行う際に実行される処理を説明する。
【００４５】
まず、ユーザが端末装置３０１を使ってユーザ認証を行う場合に、端末側入力部３０４より認証要求としてユーザＩＤの入力を受付ける（Ｓ７０１）。次に、サーバ装置３０９に対して端末側送信部３０２１を介してユーザＩＤを含む認証要求を送信する（Ｓ７０２）。この後、端末装置３０１は送信した認証要求に対して複数の表示用乱数をサーバ装置３０９より受信する（Ｓ７０３）。次に、受信した表示用乱数を順に１つづつ使って、図１８に示す認証画面６０１を端末側表示部３０３に表示する（Ｓ７０４）。なお、図１８に示す認証画面６０１については、後に詳しく説明する。後述する認証画面６０１に対するユーザからの応答値を端末側入力部３０４より受付ける（Ｓ７０５）。次に、サーバ装置３０９から受信した全ての表示用乱数について後述の認証画面６０１を端末側表示部３０３に表示したかをチェックし（Ｓ７０６）、まだ表示していない表示用乱数がある場合にはＳ７０４からの処理を繰り返す。一方、全ての表示用乱数について後述の認証画面６０１を表示した場合には、端末側認証データ生成部７０８において端末側入力部３０４で受付けた応答値と端末側記憶部３０７の記憶する認証情報Ｓ２とより認証情報Ｓ１を求める（Ｓ７０７）。次に、端末側認証データ生成部７０８において表示用乱数と認証情報Ｓ１から端末側認証データを生成する（Ｓ７０８）。生成した端末側認証データを端末側送信部３０２１を介してサーバ装置３０９に送信する（Ｓ７０９）。この後、端末装置３０１は送信した端末側認証データに対するサーバ装置３０９による認証結果を端末側受信部３０２２を介して受信し（Ｓ７１０）、受信した結果を端末側表示部３０３に表示する（Ｓ７１１）。
【００４６】
次に、図１７を参照してサーバ装置３０９におけるユーザ認証の動作を説明する。
【００４７】
サーバ装置３０９は、端末装置３０１から認証要求を受信する（Ｓ８０１）と、サーバ装置３０９は、受信した認証要求に含まれるユーザＩＤと同じユーザＩＤがサーバ側認証情報記憶部３１２に登録されているかどうかを確認する（Ｓ８０２）。ユーザＩＤがサーバ側認証情報記憶部３１２に登録されている場合には、サーバ装置３０９は、ユーザＩＤと関連付けてサーバ側認証情報記憶部３１２に記憶されている認証情報Ｓ１を取り出す（Ｓ８０３）。一方、サーバ側認証情報記憶部３１２にユーザＩＤが登録されていない場合には、サーバ装置３０９は、認証の失敗を記録する（Ｓ８０４）。次に、サーバ側乱数生成部３１１は、含まれる数字が重複しない１０桁の乱数を、表示用乱数として複数個生成する。本実施の形態では、表示用乱数として１０桁の乱数を８個生成する（Ｓ８０５）。これは、図１８の説明で後述するが、入力フィールド６０４が８桁であり、各桁に対して入力ごとに表示用乱数部６０３の表示用乱数を切り替えて表示するためである。サーバ装置３０９はこれら８個の表示用乱数をサーバ側送信部３１０１を介して端末装置３０１に送信する（Ｓ８０６）。この後、サーバ装置３０９は、端末装置３０１から端末側認証データを受信する（Ｓ８０７）と、サーバ装置３０９は、認証の失敗が記録されているかを確認し（Ｓ８０８）、サーバ装置３０９は、失敗が記録されていない場合には、サーバ側認証データ生成部３１３において認証情報Ｓ１を使って端末装置３０１に送信した表示用乱数と認証情報Ｓ１とからサーバ側認証データを生成し（Ｓ８０９）、サーバ側認証判断部３１４は、生成したサーバ側認証データと端末装置３０１から受信した端末側認証データとを比較し、これらの値が一致しているか否かで、認証の成否を判断する（Ｓ８１０）。Ｓ８１０において認証が成功した場合には、端末装置３０１に認証の成功を送信する（Ｓ８１１）。一方、Ｓ８０８において認証の失敗が記録されている場合およびＳ８１０においてサーバ側認証判断部３１４で計算した認証データと端末装置３０１から受信した認証データが一致していない場合には、端末装置３０１に認証の失敗を送信する（Ｓ８１２）。
【００４８】
次に、図１８を参照して、上記Ｓ７０４（図１７）の過程で述べた認証画面６０１（変換方法画面の一例）を説明する。認証画面６０１は、上記Ｓ７０４で述べたように、ユーザ認証の場合には、認証画面６０１が端末側表示部３０３に表示される。図１８において、認証画面６０１には、パスワード文字配列部６０２、表示用乱数部６０３、入力フィールド６０４が表示される。入力フィールド６０４への数値の入力方法は、図１４のパスワード登録画面５０１の場合と同様である。この入力フィールド６０４にはパスワードに対応する入力値（対応情報、あるいは応答値ともいう）を入力する。数値が入力されると、入力フィールド６０４には入力数値（対応情報）が「＊」で表示される。ユーザはパスワードの各文字について、パスワード文字配列部６０２の中から文字を検索し、表示用乱数部６０３の中から検索したパスワードの文字にある数字を入力することで、端末側入力部３０４から応答値を入力する。このように、認証画面６０１の構成は、パスワード登録画面５０１と類似であるが、表示用乱数部６０３の表示方法が異なる。すなわち、パスワード登録画面５０１では数字パスワード配列部５０３に表示された「１２３４５６７８９０」は固定であった。これに対して、認証画面６０１では、表示用乱数部６０３に表示される１０桁の表示用乱数の値は、入力フィールド６０４に左から数値が入力されるごとに変更される。つまり、サーバ装置３０９から受信した８個の表示用乱数が、入力フィールド６０４に左から数値が入力されるごとに表示される。更に具体的に説明すれば、入力フィールド６０４の一番左の桁に入力しようとする場合には、１つ目の表示用乱数が表示用乱数部６０３に表示されている。ユーザは、１つ目の表示用乱数をみて入力フィールド６０４の一番左の桁に入力する。次に、入力フィールド６０４の一番左の桁に入力されると、表示用乱数部６０３の表示は切り替わり、２つ目の表示用乱数が表示される。
図１８は、例えば表示用乱数部６０３の１つ目の表示用乱数を見て入力フィールド６０４の一番左の桁を入力した直後を示している。この場合、入力フィールド６０４の一番左の桁は「＊」を表示するとともに、表示用乱数部６０３の表示は、１つ目の表示用乱数から２つ目の別の表示用乱数である「８７９５１４０３６２」に切り替わる。
【００４９】
次に、上記Ｓ７０７で述べた認証情報Ｓ１の算出について詳しく説明する。端末装置３０１の端末側認証データ生成部７０８は、Ｓ７０７の処理において、端末側入力部３０４から受付けた応答値である数字パスワード（対応情報）と、端末側記憶部３０７の記憶する認証データＳ２（第２認証情報）とを使って、例えば、次の（式４）より、
（ＲＮ［ｉ］／１０１０−ｍ［ｉ］）％１０＝ＰＷ［ｉ］    （式４）
を満たす数ｍ［ｉ］を求める。そして、さらに以下の（式５）を用いることで、認証情報Ｓ１（認証用データ）を求めることができる。
Ｓ１［ｉ］＝（１０＋ｍ［ｉ］−Ｓ２［ｉ］）％１０  （式５）
ここで、
ＲＮ［ｉ］は、左からｉ番目の数字パスワードＰＷ［ｉ］を入力する際に認証画面に表示した表示用乱数を示す。
Ｓ１［ｉ］は、認証情報Ｓ１の左からｉ番目の数字を示す。
Ｓ２［ｉ］は、認証情報Ｓ２の左からｉ番目の数字を示す。
「／」は、割り算の商を求める演算を示す。
「％」は、割り算のあまりを求める演算を示す。
【００５０】
たとえば、図１８の認証画面６０１は、前述のように、具体的には応答値として２番目の数値パスワードを要求している画面である。パスワードが「Ｐａｓｓ＃９＠７」の場合に、２番目の表示用乱数であるＲＮ［２］＝８７９５１４０３６２に対する２番目のパスワード文字‘ａ’の正しい数値パスワードはＰＷ［２］＝８となり、先の式に当てはめると、
（８７９５１４０３６２／１０１０−ｍ［２］）％１０＝８
を満たす１０１０−ｍ［２］は１０９であり、
１０−ｍ［２］＝９
を満たすｍ［２］は、
ｍ［２］＝１
であり、さらに２番目の式に当てはめると、
Ｓ１［２］＝（１０＋ｍ［２］−Ｓ［２］）％１０  ＝  （１０＋１−１）％１０  ＝  ０
となり、Ｓ１［２］＝０（なお認証情報Ｓ１＝２０７０８４４０であり左から２桁目は０であるので一致している。）が求められる。
【００５１】
次にＳ７０８で述べた端末側認証データの生成について詳しく説明する。
端末装置３０１の端末側認証データ生成部３０８は、Ｓ７０８の処理において、Ｓ７０７で求めた認証情報Ｓ１（認証用データ）と表示用乱数から端末側認証データを生成する。具体的には、次の（式６）による。
Ｓ１［ｉ］＝（ＲＮ［ｉ］／１０１０−ｎ［ｉ］）％１０    （式６）
を満たすｎ［ｉ］を求めて用いることで端末側認証データを生成する。ここで、
Ｓ１［ｉ］は、認証情報Ｓ１の左からｉ番目の数字を示す。
ＲＮ［ｉ］は、ｉ番目の数字パスワードを入力する際に認証画面６０１に表示した表示用乱数を示す。
ｎ［ｉ］は、端末側認証データの左からｉ番目の数字を示す。
「／」は、割り算の商を求める演算を示す。
「％」は、割り算のあまりを求める演算を示す。
【００５２】
たとえば、先の２番目の数値パスワードの例を上記式にあてはめると、
Ｓ１［２］＝（８７９５１４０３６２／１０１０−ｎ［２］）％１０＝０
となり、この式を満たす１０１０−ｎ［２］は１０３であり、
１０−ｎ［２］＝３
を満たすｎ［２］は、
ｎ［２］＝７
であり、端末側認証データの左から２番目の数字として７が求まる。
【００５３】
サーバ装置３０９のサーバ側認証データ生成部３１３では、Ｓ８０９において、端末装置３０１のＳ７０８の処理と同じ処理を行うことで、表示用乱数と認証情報Ｓ１とによりサーバ側認証データを生成する。
【００５４】
本実施の形態では、ユーザ登録を行う際に使用する端末装置とユーザ認証を行う際に使用する端末装置を同じものとして記述したが、これら２つの操作の際に使用する端末は２つの別の端末を使用することも可能である。この場合には、ユーザ登録を行った後に使用した端末装置から、記憶部を含む不揮発性メモリを取り出し、認証を行う際に使用する端末装置にこの不揮発性メモリを挿入して使用することで、ユーザ登録を行った端末と別の端末でユーザ認証を行うことが可能になる。さらに、不揮発性メモリの内容をインターネットなどのネットワークを通じて、正規のユーザに送付し、ユーザ側で不揮発性メモリに内容をコピーしユーザの所有する端末装置を使用して認証することも可能である。
【００５５】
以上のように、本実施の形態では、実施の形態１の効果に加えて、さらに、認証のたびに毎回異なる複数の表示用乱数を使用し、これらに対して入力される応答値を用いて認証を行うため、パスワード文字を直接入力しないので、端末装置の入力キーの種類が限られた場合にも、認証の入力の際にキー入力を覗き見られることでキー入力からパスワードが漏洩することを防止しすることができる。
【００５６】
実施の形態２に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対するユーザ認証を行う認証装置（サーバ装置）とを有する認証システムであって、前記端末装置は、前記認証装置との通信を行う端末側通信部と、複数の表示用乱数を順に表示するとともに、パスワードを構成する記号と対応関係にある記号を含む複数の参照記号から構成される参照記号群を併せて表示する端末側表示部と、ユーザのキー入力を受付ける端末側入力部と、乱数を生成する端末側乱数生成部と、端末側入力部から入力されたパスワードと端末側乱数生成部で生成した乱数から所定の演算により認証情報Ｓ１と認証情報Ｓ２の２つの認証情報を生成する端末側認証情報生成部と、認証情報Ｓ２を記憶する端末側記憶部と、端末側表示部に表示した表示用乱数に対して端末側入力部から入力された応答値と認証情報Ｓ２とから認証情報Ｓ１を求めてさらにこの認証情報Ｓ１と乱数とから端末側認証データを生成する端末側認証データ生成部とを有し、ユーザ登録の際に、前記端末側入力部から入力されたパスワードに関して前記端末側認証情報生成部より得られる認証情報Ｓ１を端末側通信部を介して前記認証装置に送信するとともに認証情報Ｓ２を前記端末側記憶部に記憶し、ユーザ認証の際に、前記認証装置から複数の表示用乱数を受信し、参照記号群と併せて前記端末側表示部に順に表示して、これら乱数に対して入力された応答値と認証情報Ｓ２と乱数とから前記端末側認証データ生成部により生成される端末側認証データを前記端末側通信部を介して前記認証装置に送信し、前記認証装置は、前記端末装置との通信を行うサーバ側通信部と、複数の表示用乱数を生成するサーバ側乱数生成部と、認証情報Ｓ１を記憶するサーバ側認証情報記憶部と、複数の乱数と認証情報Ｓ１とから所定の演算によりサーバ側認証データを生成するサーバ側認証データ生成部と、端末側認証データとサーバ側認証データとの２つの認証データが一致するか否かを判断するサーバ側認証判断部とを有し、ユーザ登録の際に、前記端末装置から受信した認証情報Ｓ１をサーバ側認証情報記憶部に記憶し、ユーザ認証の際に、前記サーバ側乱数生成部で生成した複数の表示用乱数を前記端末装置に送信し、これに対して前記端末装置から受信した端末側認証データと前記サーバ側認証データ生成部により生成されるサーバ側認証データとが一致するか否かを前記サーバ側認証判断部により判断することで利用者認証の可否判断をすることを特徴とする。
【００５７】
実施の形態３．
実施の形態２では、パスワードの各文字ごと（入力フィールド６０４の各桁ごと）に認証画面６０１に表示用乱数を表示して応答値の入力を受け付けることにより認証を行うものであった。これに対して、実施の形態３は、パスワードの桁ごとに表示用乱数と背景用乱数（付加要素用乱数）の組を使用し、認証画面に表示用乱数を所定の背景パターン上に表示するとともに、パスワード候補のそれぞれの背景パターンを背景用乱数から決定してパスワード候補をそれぞれの背景パターン上に表示する実施形態を示す。背景用乱数については後述する。なお、本実施の形態では、パスワードには８桁の数字とアルファベット及び特殊文字を含む記号列のパスワードを使用し、サーバ装置への認証の際と端末装置への認証の際には、ともに８桁の入力数値を入力するものとする。また、後述する背景用乱数は、５個の１０桁の乱数からなる乱数配列とする。
【００５８】
また、本実施の形態では、サーバ装置がユーザ認証の判断をする場合に加えて、サーバ装置がユーザ認証の判断を行うのではなく端末装置がユーザ認証の判断を行う実施形態も説明する。
【００５９】
図１９は、この発明の実施の形態３に係る認証システムの構成を示すブロック図である。図１９において、
端末装置７０１は、端末側通信部７０２、端末側表示部７０３、端末側背景パターン決定部７０４、端末側入力部７０５、端末側乱数生成部７０６、端末側認証情報生成部７０７、端末側認証データ生成部７０８、端末側記憶部７０９、端末側乱数変化部７１０、及び端末側再認証判断部７１１を備える。また端末側通信部７０２は端末側送信部７０２１、端末側受信部７０２２を備える。サーバ装置７１３（認証装置）は、サーバ側通信部７１４、サーバ側乱数生成部７１５、はサーバ側認証情報記憶部７１６、サーバ側認証データ生成部７１７、及びサーバ側認証判断部７１８を備える。また、サーバ側通信部７１４は、サーバ側送信部７１４１、サーバ側受信部７１４２を備える。
【００６０】
また、端末側記憶部７０９と端末側乱数変化部７１０と端末側再認証判断部７１１は、本実施の形態ではＩＣカード７１２内に実装されており、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムはＩＣカード内のフラッシュメモリに格納され、ＩＣカード内のＣＰＵで実行される。なお、ＩＣカードは端末装置７０１から着脱することができる。サーバ側認証情報記憶部７１６は、本実施の形態ではハードディスク装置からなりユーザの認証情報をユーザＩＤと関連付けて記憶する。
【００６１】
端末側乱数生成部７０６は、パスワードの文字数と同じ桁数の乱数を生成する。サーバ側乱数生成部７１５は、各桁の数字の間で重複のない１０桁の乱数を生成する。サーバ側乱数生成部７１５、サーバ側認証データ生成部７１７、サーバ側認証判断部７１８は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置７１３上にロードされＣＰＵ上で実行される。
【００６２】
端末装置７０１の端末側通信部７０２とサーバ装置７１３のサーバ側通信部７１４は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
【００６３】
次に動作について説明する。まず、端末装置７０１及びサーバ装置７１３におけるユーザ登録の動作について説明する。
【００６４】
図２０、図２１、図２２を参照して説明する。図２０は、端末装置７０１においてユーザ登録を行う際に実行される処理を示すフローチャートである。図２１は、サーバ装置７１３におけるユーザ登録の際の処理を示すフローチャートである。また、図２２は、ユーザ登録における端末装置７０１とサーバ装置７１３とのやり取りを示す図であり、図２０と図２１とを結合した図である。
図２２を参照して、端末装置７０１のユーザ登録における動作を説明する。
【００６５】
まず、ユーザが端末装置７０１を使ってユーザ登録を行う場合に、端末側入力部７０５からユーザＩＤと、パスワード（原情報）の入力を受付ける（Ｓ９０１）。次に、端末側認証情報生成部７０７は、端末側入力部７０５から受け付けたパスワードを、パスワードの文字数と同じ桁数の２つの数字パスワードに変換する（Ｓ９０２）。この２つの数字パスワードにへの変換については後述する。端末側乱数生成部７０６は、乱数を生成し（Ｓ９０３）、端末側認証情報生成部７０７は、上記２つの数字パスワードと端末側乱数生成部７０６が生成した乱数を使って、認証情報Ｓ１（第１認証情報）と認証情報Ｓ２（第２認証情報）と認証情報Ｓ３（第３認証情報）を生成する（Ｓ９０４）。この認証情報Ｓ１、認証情報Ｓ２、及び認証情報Ｓ３の生成につては後述する。次に、端末装置７０１は、サーバ装置７１３に対して端末側通信部７０２を介してユーザＩＤと、認証情報Ｓ１と、認証情報Ｓ３とを含む登録要求を送信する（Ｓ９０５）。この後、端末装置７０１は、端末側送信部７０２１を介して送信した登録要求に対する結果をサーバ装置７１３より受信し（Ｓ９０６）、端末側表示部７０３は、受信した結果を表示する（Ｓ９０７）。次に、端末装置７０１は、登録要求に対する認証結果が成功か否かを判別し（Ｓ９０８）、結果が登録成功の場合には、認証情報Ｓ２（第２認証情報）を端末側記憶部７０９に記憶し（Ｓ９０９）、ユーザ登録処理を終了する。一方、結果が登録失敗の場合には、Ｓ９０１からの登録処理を繰り返す。
【００６６】
次に、図２２を用いて、サーバ装置７１３においてユーザ登録を行う際に実行される処理を説明する。
【００６７】
サーバ装置７１３は、端末装置７０１から登録要求を受信する（Ｓ１００１）と、サーバ装置７１３は、受信した要求に含まれるユーザＩＤと同じユーザＩＤがサーバ側認証情報記憶部７１６に登録されていないかを確認する（Ｓ１００２）。ユーザＩＤが登録されていない場合には、受信した登録要求に含まれる認証情報Ｓ１（第１認証情報）と、認証情報Ｓ３（第３認証情報）と、登録要求に含まれるユーザＩＤとを関連付けてサーバ側認証情報記憶部７１６に記憶し（Ｓ１００３）、サーバ装置７１３は、端末装置７０１に対して登録の成功を返信する（Ｓ１００４）。
【００６８】
一方、Ｓ１００２でサーバ側認証情報記憶部７１６にユーザＩＤが既に登録されている場合には、サーバ装置７１３は、端末装置７０１に対して登録の失敗を返信する（Ｓ１００５）。
【００６９】
次にＳ９０２で述べた２つの数字パスワードへの変換について詳しく説明する。端末装置７０１の端末側認証情報生成部７０７は、端末側入力部７０５から受付けたパスワード文字列を、例えば図６に示すパスワード変換テーブル１４０を用いることでパスワードの文字数と同じ桁数を持つ数字パスワードＡに変換することができる。さらに、図２３に示すパスワード変換テーブル７３０を用いることで、パスワードの文字列と同じ桁数を持つ数字パスワードＢに変換することができる。なお、本実施の形態では、端末側認証情報生成部７０７は、パスワードをアスキー文字列で受付け、パスワード中のアルファベットの大文字と小文字を区別しない例を示している。例えば、パスワードを「Ｐａｓｓ＃９＠７」の８文字とした場合、図６のパスワード変換テーブル１４０を使うことで、「６１９９１９８７」の８桁の数字パスワードＡに変換される。また、図２３のパスワード変換テーブル７３０を使うことで、「３２３３５１４１」の８桁の数字パスワードＢに変換される。
【００７０】
次に、上記Ｓ９０４で述べた端末側認証情報生成部７０７による認証情報Ｓ１、認証情報Ｓ２、認証情報Ｓ３の生成について詳しく説明する。端末装置７０１の端末側認証情報生成部７０７は、端末側乱数生成部７０６が生成した８桁の乱数と、８桁の数字パスワードＡとを使って、例えば、以下の（式７）、（式８）、（式９）を用いて認証情報Ｓ１と認証情報Ｓ２を生成することができる。
Ｓ１［ｉ］＝（１０＋ＰＷＡ［ｉ］−ＲＮ［ｉ］）％１０    （式７）
Ｓ２［ｉ］＝ＲＮ［ｉ］    （式８）
Ｓ３［ｉ］＝ＰＷＢ［ｉ］    （式９）
ここで、
Ｓ１［ｉ］は認証情報Ｓ１の左からｉ番目の数字を示す。
ＰＷＡ［ｉ］は数字パスワードＡの左からｉ番目の数字を示す。
ＲＮ［ｉ］は乱数の左からｉ番の数字を示す。
Ｓ２［ｉ］は認証情報Ｓ２の左からｉ番目の数字を示す。
Ｓ３［ｉ］は認証情報Ｓ３の左からｉ番目の数字を示す。
ＰＷＢ［ｉ］は数字パスワードＢの左からｉ番目の数字を示す。
「％」は割り算の商を求める演算を示す。
たとえば、８桁の乱数が「４１２９３５４７」の場合に、先のパスワード「Ｐａｓｓ＃９＠７」に対して、認証情報Ｓ１は、
Ｓ１＝２０７０８４４０となり、
認証情報Ｓ２とＳ３はそれぞれ、
Ｓ２（＝ＲＮ）＝４１２９３５４７、
Ｓ３＝３２３３５１４１となる。
【００７１】
次に、図２４〜図２６を用いてユーザ認証における端末装置７０１及びサーバ装置７１３のそれぞれの動作について説明する。図２４は端末装置７０１においてユーザ認証を行う際に実行される処理を示すフローチャートである。図２４においてＳ１１１７〜Ｓ１１２３、Ｓ１１２４は端末装置７０１がみずから認証判断する過程である。図２５はサーバ装置７１３においてユーザ認証を行う際に実行される処理を示すフローチャートである。図２６は、図２４と、図２５の一部を結合したフローチャートであり、端末装置１０１とサーバ装置１０９とのやりとりを示している。図２６は、図２４の過程のうち、前記の端末装置７０１がみずから認証判断する過程（Ｓ１１１７〜Ｓ１１２３、Ｓ１１２４）を省いて結合している。
【００７２】
最初に、サーバ装置７１３が認証の判断を行う場合における端末装置７０１の動作を説明する。次に、サーバ装置７１３が認証の判断を行う場合におけるサーバ装置７１３の動作を説明する。最後に、端末装置７０１が認証の判断を行う場合を説明する。
【００７３】
図２６を参照して、サーバ装置７１３が認証の判断を行う場合における端末装置７０１の動作を説明する。
まず、ユーザが端末装置７０１を使って認証を行う場合に、端末装置７０１は、端末側入力部７０５からユーザＩＤと、端末装置７０１への認証かサーバ装置７１３への認証かの認証の要求先を示す認証要求先情報（ユーザ再認証要求の一例）を含む認証要求を受け付ける（Ｓ１１０１）。次に、端末装置７０１は、受付けた認証要求に含まれる認証要求先情報を参照して、認証要求先が端末装置７０１に対するものであるか、サーバ装置７１３に対するものであるかをチェックする（Ｓ１１０２）。そして、認証要求がサーバ装置７１３に対するものである場合には、サーバ装置７１３に対して端末側送信部７０２１を介してユーザＩＤを含む認証要求を送信する（Ｓ１１０３）。この後、端末装置７０１は、端末側送信部７０２１を介して送信した認証要求に対する表示用乱数と背景用乱数配列とを含んだ乱数の組（以下、乱数組（複数の乱数の一例）ともいう）と認証情報Ｓ３（第３認証情報）とを、サーバ装置７１３から受信し（Ｓ１１０４）、受信した乱数組（複数の乱数）のセットの中から、端末側表示部７０３に表示用乱数を表示するとともに、背景用乱数配列に基づいて端末側背景パターン決定部７０４により決定された背景パターン上に、パスワード候補を表示する（Ｓ１１０５）。これらの表示については後述する図２７、図２８の説明で述べる。端末側入力部７０５は、乱数組を使って端末側表示部７０３に表示した表示用乱数に対して、ユーザが入力した入力数値（対応情報、あるいは応答値ともいう）を受け付ける（Ｓ１１０６）。端末装置７０１は、サーバ装置７１３から受信した全ての乱数組を使って、端末側表示部７０３に表示用乱数を表示したかをチェックし（Ｓ１１０７）、まだ使われていない乱数組がある場合には、Ｓ１１０５からの処理を繰り返す。一方、全ての乱数組（複数の乱数）を使って表示をした場合には、端末側認証データ生成部７０８において、入力数値（対応情報）と認証情報Ｓ２（第２認証情報）と認証情報Ｓ３（第３認証情報）とから認証情報Ｓ１（認証用データ）を求める（Ｓ１１０８）。次に、端末側認証データ生成部７０８は、認証情報Ｓ１（認証用データ）を使って表示用乱数の１番目の乱数をハッシュしたハッシュ値（端末側認証データの一例）を求める（Ｓ１１０９）。次に、端末装置７０１は、ハッシュ値を端末側認証データとして端末側送信部７０２１を介してサーバ装置７１３へ送信し（Ｓ１１１０）し、端末側受信部７０２２を介してサーバ装置７１３から認証結果を受信する（Ｓ１１１１）。端末装置７０１は、認証結果が認証成功かチェックする（Ｓ１１１２）。端末装置７０１は、認証が成功の場合には、認証情報Ｓ３を消去し（Ｓ１１１３）、認証に使用した乱数組とこれに対する入力数値を保存する（Ｓ１１１４）。この後、端末装置７０１は、認証の成功を端末側表示部７０３に表示する（Ｓ１１１５）。一方、Ｓ１１１２において、認証結果が失敗の場合には、端末装置７０１は、認証の失敗を端末側表示部７０３に結果を表示する（Ｓ１１１６）。
【００７４】
次に図２６を参照して、サーバ装置７１３において端末装置７０１から認証要求を受信した際に実行される処理を示す説明する。まず、端末装置７０１からユーザＩＤを含む認証要求を受信する（Ｓ１２０１）と、受信した認証要求に含まれるユーザＩＤがサーバ側認証情報記憶部７１６に登録されているかをチェックする（Ｓ１２０２）。サーバ側認証情報記憶部７１６上にユーザＩＤが登録されている場合には、ユーザＩＤに関連付けて記憶されている認証情報Ｓ１と認証情報Ｓ３を取り出す。（Ｓ１２０３）。一方、サーバ側認証情報記憶部７１６上にユーザＩＤが登録されていない場合には、認証の失敗をサーバ側認証判断部７１８に記憶する（Ｓ１２０４）。次に、サーバ側乱数生成部７１５において、ユーザの認証に必要な数の乱数組（表示用乱数と背景用乱数配列の組）を生成する（Ｓ１２０５）。実施の形態３のサーバ認証では後述のように８つの入力値により認証を行う。このため、１回の認証に表示用乱数として１０桁の乱数と背景用乱数配列として５個の１０桁の乱数を要素とする乱数配列との組を８組生成する。つまり、パスワードの桁ごとに、表示用乱数と背景用乱数配列の組を生成する。生成した乱数組と認証情報Ｓ３をサーバ側通信部７１４を介して端末装置７０１に送信する。詳細は図２７、図２８の説明で後述する（Ｓ１２０６）。この後、これに対して端末装置７０１から端末側認証データを受信し（Ｓ１２０７）、サーバ側認証判断部７１８に認証の失敗が記録されていないかをチェックする（Ｓ１２０８）。サーバ側認証判断部７１８に認証の失敗が記録されていない場合には、サーバ側認証データ生成部７１７により認証に用いるサーバ側認証データとして、認証情報Ｓ１を使って表示用乱数の１番目の乱数をハッシュしたハッシュ値を計算し（Ｓ１２０９）、受信した端末側認証データと比較して、両者が一致するかをチェックする（Ｓ１２１０）。Ｓ１２１０のチェックにおいて、端末装置７０１から受信した端末側認証データとサーバ側認証データ生成部７１７により計算したサーバ側認証データとが一致する場合には、端末装置７０１に対して認証結果として認証の成功を返信する（Ｓ１２１１）。また、Ｓ１２１０のチェックにおいて端末装置１５０１から受信した端末側認証データとサーバ側認証データ生成部７１７により計算したサーバ側認証データが一致しない場合には、端末装置７０１に対して認証結果としての認証の失敗を送信する（Ｓ１２１２）。また、Ｓ１２０８のチェックにおいてサーバ側認証判断部７１８に認証の失敗が記憶されている場合には、サーバ側認証判断部７１８に記憶している認証の失敗をクリアし、端末装置７０１に対して認証結果としての認証の失敗を送信する（Ｓ１２１２）。
【００７５】
次に、図２７を用いて、Ｓ１１０５で述べた認証画面８０１について説明する。図２７は、認証画面８０１を示す図である。図２７において、認証画面８０１（変換方法画面）には、背景用乱数配列に基づいて端末側背景パターン決定部７０４により決定された背景パターン上に数字とアルファベット及び特殊文字を表示したパスワード候補（参照記号群）を表示したパスワード候補表示部８０２と、固定の背景パターン上に表示用乱数を表示した乱数表示部８０３と、ユーザが乱数に対する入力数値（対応情報、あるいは応答値ともいう）を入力する入力フィールド８０４とが表示されている。入力フィールド８０４には、パスワードに対応して入力された入力数値（対応情報）を「＊」で表示する。
【００７６】
本実施の形態に係る認証画面８０１では、パスワード候補表示部８０２に含まれるそれぞれの記号（参照記号）には、付加要素として記号の背景に「背景パターン」を付加してパスワード候補を表示している。例えば、パスワード候補表示部８０２の１行目の「１２３４５６７８９０」のそれぞれについてみると、「１」には背景が付加されており、同様に「２」から「０」のすべてに背景が付加されている。この背景は１０種類であり、１列目の「１２３４５６７８９０」の各数字の背景を並べ代えてたものが、２列目の「ＡＢＣＤＥＦＧＨＩＪ」の背景となっている。すなわち、各列の背景は同じ１０種類の背景を並べ替えたものとなている。このようにパスワードを構成する一つ一つの文字の背景に付加されたパターンを「背景パターン」と呼ぶ。この１０種類の背景パターンは乱数表示部８０３にも表示される。パスワード候補表示部８０２の各記号に付加される背景パターンは、端末側背景パターン決定部７０４により各記号について決定される。また、各記号に付加される背景パターンは、表示用乱数ごとに決定されており、応答値の入力により表示用乱数の表示が切替わる際には、パスワード候補の各記号の背景パターンの表示も切替わる。
【００７７】
Ｓ１１０４においてサーバ装置７１３から乱数組を受信している。この乱数組を用いて、認証画面８０１が表示される。認証画面８０１では入力フィールド８０４は８桁ある。この入力フィールド８０４に１組の乱数組が対応している。
【００７８】
図２８にサーバ装置７１３が送信する乱数組と認証画面８０１の関係を示す。図２８では入力フィールド８０４には便宜的にアルファベットを付けて８０４ａ〜８０４ｈと表記している。図２８において、一番左の一桁目の入力フィールド８０４ａには図に示す乱数組Ａが対応する。また、入力フィールド８０４ｂには別の乱数組Ｂが対応する。乱数組は入力フィールド８０４ａ〜８０４ｈに対応して乱数組Ａ〜乱数組Ｈの８組がサーバ装置７１３から送信される（Ｓ１２０６）。１０桁の６つの乱数のうち、１行目が表示用乱数であり、乱数表示部８０３に表示される。そして、２行目〜６行目の乱数が背景用乱数配列である。背景用乱数配列の５行の各行の乱数がパスワード候補表示部８０２の背景パターンに対応している。すなわちパスワード候補表示部８０２の１列目の「１２３４５６７８９０」の背景には背景用乱数配列の１行目の「５１２４３９７８６０」が対応する。背景用乱数配列の各行における数字は背景パターンを示しており、数字が同一であれば背景パターンは同じとなっている。
【００７９】
入力フィールド８０４ａに数値が入力されると、入力フィールド８０４ｂに対応する別の乱数組Ｂに基づいて乱数表示部８０３に別の表示用乱数が表示されるとともに、パスワード候補表示部８０２のそれぞれ行の背景パターンが背景用乱数配列にしたがって並べかわる。
【００８０】
ユーザは入力する場合、パスワードを構成する８つの文字について、先頭の文字から順番に、パスワード候補表示部８０２と乱数表示部８０３を使って１桁の乱数（１桁の数字）を決定する。例えば、図２７の例において、これから応答値を入力しようとするパスワードの文字が「Ｅ」の場合には、まずパスワード候補表示部８０２の中からＥをさがし、次に、「Ｅ」の背景と同じ背景パターンを持つ乱数表示部８０３の中の数字「６」を応答値として選択する。ユーザは、パスワードの最後の桁についての応答値の入力がおわるまで、パスワードの各文字について、この入力処理を繰り返す。
【００８１】
なお、本実施の形態に係る認証画面８０１では、表示用乱数を表示する乱数表示部８０３の各桁の背景パターンは固定としている。しかし、パスワード候補表示部８０２と同様に、背景パターンの表示を切替えるようにしても構わない。
【００８２】
次に、Ｓ１１０５における背景パターンの表示について具体的に説明する。端末装置７０１の端末側記憶部７０９は、異なる背景パターンとして表示される１０種類の背景パターンコードを要素とする背景パターン配列Ｐａｔｅｒｎ［１０］を記憶部に記憶している。
（１）まず、端末側背景パターン決定部７０４は、この背景パターン配列を使ってＳ１１０５及びＳ１１１９において以下に示す計算式によりｉ番目のパスワードに対する背景用乱数配列ＢＧＲａｎｄ［ｉ］［５］の各桁の値を画面描画用パターンコードに変換する。
（２）そして、次に、認証画面８０１のパスワード候補表示部８０２の上からｍ行目左からｎ列目の背景として表示する。次の（式１０）による。
ＢＧＰａｔｅｒｎｍｎ＝Ｐａｔｅｒｎ［（ＢＧＲａｎｄ［ｉ］［ｍ−１］／１０１０−ｎ）％１０］    （式１０）
ここで、
「／」は割り算の商を求める演算、
「％」は割り算のあまりを求める演算をそれぞれ示す。
これをＢＧＲａｎｄ［ｉ］の全ての桁（１≦ｍ≦５，１≦ｎ≦１０）について繰り返す。また、認証画面８０１の乱数表示部８０３の固定の背景パターンとして左からｎ番目の背景として、Ｐａｔｅｒｎ［ｎ−１］を表示する。
さらに、これらの背景の上にパスワード候補の文字とｉ番目のパスワードに対する表示用乱数ＤｉｓｐＲａｎｄ［ｉ］の乱数を表示する。
なお、図２７では、
ＢＧＲａｎｄ［１］［５］＝［５１２４３９７８６０，２３５１８６９０４７，４７９０６１７５３８，９８７１５４３０２６，６４０３９７２８１５］、
ＤｉｓｐＲａｎｄ［１］＝２５７１０３４８６９
の場合の例を示している。
【００８３】
次に、Ｓ１１０８における認証情報Ｓ１の算出について説明する。端末装置７０１では、端末側認証データ生成部７０８において、端末側入力部７０５からの応答値と表示用乱数と背景用乱数配列と認証情報Ｓ２および認証情報Ｓ３とから、Ｓ１１０８において、認証情報Ｓ１を求める。
具体的には、まずｉ番目の応答値について、次の（式１１）を満たす値ｋを求める。
（ＲＮ［ｉ］／１０１０−ｋ）％１０＝Ｉｎ［ｉ］    （式１１）
ここで、
ＲＮ［ｉ］は、ｉ番目の表示用乱数を示す。
Ｉｎ［ｉ］はｉ番目の応答値（１桁）を示す。
「／」は割り算の商を求める演算を示す。
「％」は割り算の余りを求める演算を示す。
次に、表示用乱数と組になっている背景用乱数配列について、次の（式１２）を満たす値ｍを求める。
（ＢＧＲａｎｄ［Ｓ３［ｉ］］／１０１０−ｍ）％１０＝ｋ    （式１２）
ここで、
Ｓ３［ｉ］は認証情報Ｓ３の左からｉ番目の数字を示す。
ＢＧＲａｎｄ［ｌ］は背景用乱数配列のｌ番目の乱数を示す。
“／”は割り算の商を求める演算、“％”は割り算の余りを求める演算を示す。
さらに、以下の（式１３）によりＳ１が求まる。
Ｓ１［ｉ］＝（１０＋ｍ−Ｓ２［ｉ］）％１０    （式１３）
ここで、
Ｓ１［ｉ］は認証情報Ｓ１の左からｉ番目の数字を示す。
Ｓ２［ｉ］は認証情報Ｓ２の左からｉ番目の数字を示す。
「％」は割り算の余りを求める演算を示す。
【００８４】
また、実施の形態３では、サーバ装置７１３への認証が成功した際に、認証に使用した８組の乱数組（表示用乱数と背景用乱数配列の組）を端末装置７０１の端末側記憶部７０９に記憶する（Ｓ１１１４）。後に端末装置７０１への認証が要求された際に、Ｓ１１１８において、端末側乱数変化部７１０は、端末側記憶部７０９に記憶した表示用乱数と背景用乱数配列の変換を実行する。
【００８５】
一方、図２４に示すようにＳ１１０２において端末装置７０１は、受け付けた認証要求が自分（端末装置７０１）に対するものである場合には、端末側記憶部７０９に乱数組とこれに対する入力数値が記憶されているか（認証成功の場合にＳ１１１４において記憶したもの）をチェックする（Ｓ１１１７）。ここで、端末側記憶部７０９に乱数組とこれに対する入力数値とが記憶されていない場合には、端末装置７０１は、サーバ装置７１３に対して端末側送信部７０２１を介して、ユーザＩＤを含む認証要求を送信する（Ｓ１１０３）。以降前述したサーバ装置７１３による認証が行われる。
【００８６】
次に、端末装置７０１が認証の判断をする場合を説明する。図２４のＳ１１１７において、端末側記憶部７０９上に乱数組とこれに対する入力数値が記憶されている場合には（Ｓ１１１４で記憶された場合）、端末側乱数変化部７１０は、端末側記憶部７０９上のこれらの数値を変換し（変化させ）、変化後の表示用乱数及び変化後の背景用乱数配列（変化後乱数）から、新たな入力数値（変化後対応情報）を算出する。そして、端末側記憶部７０９に、乱数変化後の表示用乱数、乱数変化後の背景用乱数配列、新たな入力数値を記憶させる（Ｓ１１１８）。次に、端末側記憶部７０９が記憶している変換後の乱数組（乱数変化後の乱数組）のセットの中から、乱数組を１つ使って端末側表示部７０３に乱数変化後の表示用乱数を表示するとともに、乱数変化後の背景用乱数配列に基づいて端末側背景パターン決定部７０４により決定された背景パターン上にパスワード候補を表示する（Ｓ１１１９）。この表示は、図２７で説明した認証画面８０１と同様である。すなわち、変化後の乱数組を用いて図２７に示した認証画面８０１と同様の画面（変換方法画面）を表示し、つぎのように入力値（受付対応情報）を受け付ける。すなわち、乱数組を使って端末側表示部７０３に表示した表示用乱数に対して、ユーザが入力した入力数値（受付対応情報）を端末側入力部７０５から受付ける（Ｓ１１２０）。端末側記憶部７０９に記憶されている全ての乱数組を使って端末側表示部７０３に乱数を表示したかをチェックし（Ｓ１１２１）、まだ使われていない乱数組がある場合にはＳ１１１８からの処理を繰り返す。一方、全ての乱数組を使って表示をした場合には、端末側再認証判断部７１１は、端末側入力部７０５から受付けた全ての入力数値と、端末側記憶部７０９に記憶された全ての新たな入力数値とが一致するかをチェックし（Ｓ１１２２）、一致する場合には、端末側表示部７０３に認証の成功を表示し（Ｓ１１２３）、認証処理を終了する。一方、端末側入力部７０５から受け付けた入力数値と、端末側記憶部７０９が記憶する変化後の入力値とが一致しない場合には、端末側表示部７０３に認証の失敗を表示し（Ｓ１１２４）、認証処理を終了する。
【００８７】
なお、本実施の形態では、Ｓ１１１８において、乱数組と入力数値とを変換する（変化させる）こととしている。しかし、端末側記憶部７０９に記憶されている表示用乱数、背景用乱数配列、入力数値を変換することなくそのまま用いて、端末側入力部７０５から入力値（再認証対応情報）を受け付けて、端末側再認証判断部７１１が端末装置７０１に対するユーザ認証を行うようにしてもよい。
【００８８】
図２９は、Ｓ１１１８において、端末側乱数変化部７１０で実行される変換処理を示すフローチャートである。まず、端末側記憶部７０９から未変換の表示用乱数ＤｉｓｐＲａｎｄ［ｉ］と背景用乱数配列ＢＧＲａｎｄ［ｉ］［１０］と、これに対する入力数値Ａｎｓ［ｉ］の１組を取り出し（Ｓ１３０１）、選択された背景パターンの番号ｍとして次の（式１４）を満たすｍを求める（Ｓ１３０２）。ここで、入力数値Ａｎｓ［ｉ］は、Ｓ１１１４で端末側記憶部７０９に記憶された入力値（認証画面８０１の入力フィールドに入力され、Ｓ１１１４において端末側記憶部７０９に記憶された８桁の数値）のうち、先頭からｉ番目の応答値である。
（ＤｉｓｐＲａｎｄ［ｉ］／１０９−ｍ）％１０＝Ａｎｓ［ｉ］    （式１４）
次に、新しい表示用乱数ＤｉｓｐＲａｎｄ’［ｉ］として、１０桁の乱数で各桁の数字が重複のない乱数を生成する（Ｓ１３０３）。次に、次の認証時に入力を期待する入力数値Ａｎｓ’［ｉ］として１桁の乱数を生成する（Ｓ１３０４）。次に、次の認証で選択されることを期待する背景パターンの番号ｍ’として次の（式１５）を満たすｍ’を求める（Ｓ１３０５）。
（ＤｉｓｐＲａｎｄ’［ｉ］／１０９−ｍ’）％１０＝Ａｎｓ’［ｉ］    （式１５）
次に、次の認証で使用する背景用乱数配列ＢＧＲａｎｄ’［ｉ］の要素として１０桁の乱数で各桁の数字が重複のない乱数Ｒ’を生成する（Ｓ１３０６）。次に、新しく生成した背景用乱数配列の要素Ｒ’について要素Ｒ’の中のｍ’の数字の桁が、記憶していた背景用乱数配列ＢＧＲａｎｄ［ｉ］の要素Ｒの中のｍの数字の桁に一致するまで、次の（演算１）により、要素Ｒ’の数字を左に巡回させ更新する（Ｓ１３０７）。
（Ｒ％１０）×１０９＋Ｒ／１０    （演算１）
要素Ｒ’の中のｍ’の数値の桁が要素Ｒのｍの数値の桁に一致するかを確認するには、具体的には、まず、記憶していた背景用乱数配列ＢＧＲａｎｄ［ｉ］の１つの要素Ｒについて次の（式１６）を満たすｎを求める。
（Ｒ／１０ｎ）％１０＝ｍ    （式１６）
さらに、このｎについて次の（式１７）が成り立つかを確認する。
（Ｒ’／１０ｎ）％１０＝ｍ’    （式１７）
成り立たない場合には、以下の（演算２）により要素Ｒ’の数字を左に巡回させ更新する（Ｓ１３０７）。
（Ｒ’％１０）×１０９＋Ｒ’／１０    （演算２）
次に、次の端末装置７０１による認証で使用する背景用乱数配列ＢＧＲａｎｄ’［ｉ］の全ての要素を生成したかをチェックし、まだ全ての要素を生成していない場合には、Ｓ１３０６からの処理を繰り返す（Ｓ１３０８）。全ての要素を生成した場合には、変換済のデータとして新しく生成した表示用乱数ＤｉｓｐＲａｎｄ’［ｉ］と背景用乱数配列ＢＧＲａｎｄ’［ｉ］とこれらに対して期待する入力数値Ａｎｓ’［ｉ］の組を端末側記憶部７０９に記憶する（Ｓ１３０９）。次に、前回の認証で記憶した全ての乱数組について上記の変換を実施したかをチェックし（Ｓ１３１０）、全ての乱数組について変換処理を実施していれば終了し、まだ未変換のものがあればＳ１３０１からの処理を繰り返す。
【００８９】
本実施の形態では、Ｓ１１０９で述べたように、ユーザ認証を行う際にハッシュ値を生成する乱数として１番目の表示用乱数を使用したが、乱数としてはこれに限らず、認証要求に対してサーバ装置７１３から端末装置７０１に渡す乱数の中のいずれか、あるいはこれらを変換した乱数を使用することができる。
【００９０】
以上のように、実施の形態３に係る認証システムでは、背景パターンを用いてパスワードに相当する応答値を入力するので、パスワードの秘密漏洩を防止することができる。また、パスワードに相当する入力値は、背景パターンを見て入力するためユーザ認証における入力が容易である。
【００９１】
以上のように、実施の形態３に係る端末装置７０１は、サーバ装置との認証が成功した際に認証に使用した表示用乱数と背景用乱数配列とこれに対しての応答値を端末側記憶部７０９に記憶させることで端末装置７０１単体での再認証が可能となる。このためサーバ装置７１３の認証の判断を待つことなく端末装置７０１単体での再認証か可能となるので迅速にユーザの再認証を行うことができる。
【００９２】
以上のように、端末装置単体での再認証においては、端末側乱数変化部が端末側記憶部７０９に記憶された表示用乱数と背景用乱数配列とこれに対しての応答値を変化させたうえで認証を行うので、秘密の漏洩を防止することができる。
【００９３】
実施の形態３に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対するユーザ認証を行う認証装置（サーバ装置）とを有する認証システムであって、前記端末装置は、前記認証装置との通信を行う端末側通信部と、複数の表示用乱数を順に表示するとともに、パスワードを構成する記号と対応関係にある記号を含む複数の参照記号から構成される参照記号群を併せて表示可能であり、参照記号群を表示する場合に、表示用乱数の桁との対応関係を示す付加要素を各参照記号に付加した参照記号群を表示する端末側表示部と、付加要素用乱数から参照記号群が表示される際の各参照記号の付加要素を決定する端末側付加要素決定部と、ユーザのキー入力を受付ける端末側入力部と、乱数を生成する端末側乱数生成部と、端末側入力部から入力されたパスワードと端末側乱数生成部で生成した表示用乱数から所定の演算により認証情報Ｓ１と認証情報Ｓ２と認証情報Ｓ３との３つの認証情報を生成する端末側認証情報生成部と、認証情報Ｓ２を記憶する端末側記憶部と、表示部に表示用乱数と参照記号群を表示する際に使用した表示用乱数と付加要素用乱数とこれらに対する端末側入力部からの応答値と認証情報Ｓ２と認証情報Ｓ３とから認証情報Ｓ１を求めてさらにこの認証情報Ｓ１と表示用乱数から端末側認証データを生成する端末側認証データ生成部とを有し、ユーザ登録の際に、前記端末側入力部から入力されたパスワードに関して前記端末側認証情報生成部より得られる認証情報Ｓ１及び認証情報Ｓ３を端末側通信部を介して前記認証装置に送信するとともに認証情報Ｓ２を前記端末側記憶部に記憶し、
ユーザ認証の際に、前記認証装置から複数の表示用乱数と付加要素用乱数を受信し、表示用乱数の桁との対応関係を示す付加要素を付加要素用乱数に応じて各参照記号に付加した参照記号群を乱数と併せて前記端末側表示部に表示し、これら乱数に対して入力された応答値と認証情報Ｓ２と認証情報Ｓ３と表示用乱数と付加要素用乱数から前記端末側認証データ生成部により生成される端末側認証データを前記端末側通信部を介して前記認証装置に送信し、前記認証装置は、前記端末装置との通信を行うサーバ側通信部と、複数の乱数と乱数群を生成するサーバ側乱数生成部と、認証情報Ｓ１と認証情報Ｓ３とを記憶するサーバ側認証情報記憶部と、複数の表示用乱数と認証情報Ｓ１とから所定の演算により認証データを生成するサーバ側認証データ生成部と、端末側認証データとサーバ側認証データとの２つの認証データが一致するか否かを判断する認証判断部とを有し、ユーザ登録の際に、前記端末装置から受信した認証情報Ｓ１と認証情報Ｓ３とをサーバ側認証情報記憶部に記憶し、ユーザ認証の際に、前記サーバ側乱数生成部で生成した複数の表示用乱数と付加要素用乱数とサーバ側認証情報記憶部に記憶する認証情報Ｓ３とを前記端末装置に送信し、これに対して前記端末装置から受信した端末側認証データと前記サーバ側認証データ生成部により生成されるサーバ側認証データとが一致するか否かを前記サーバ側認証判断部により判断することで利用者認証の可否判断をすることを特徴とする。
【００９４】
実施の形態３に係る認証システムは、前記端末装置は、表示用乱数ごとに表示用乱数と表示用乱数に対応する付加要素用乱数と応答値との組を記憶する端末側記憶部と、端末側入力部より入力された応答値と端末側記憶部に記憶する応答値を用いてユーザの再認証の可否判断を行う端末側再認証判断部を有し、ユーザ登録の際に、前記端末側入力部から入力されたパスワードに関して前記端末側認証情報生成部より得られる認証情報Ｓ１と認証情報Ｓ３を端末側通信部を介して前記認証装置に送信するとともに認証情報Ｓ２を前記端末側記憶部に記憶し、ユーザ認証の際に、前記認証装置から認証情報Ｓ３と複数の乱数と乱数群を受信し、認証装置との認証が成功した場合に、認証情報Ｓ３を消去するとともに認証に使用した複数の表示用乱数を付加要素用乱数とこれらに対して入力された応答値との組みを端末側記憶部に記憶し、端末装置単体でユーザの再認証を行う際に、前記端末側記憶部に記憶された複数の表示用乱数と複数の付加要素用乱数を用いて、表示用乱数を順に表示するともに、前記端末側付加要素決定部により表示用乱数ごとに決定された各参照記号の付加要素を各参照記号に付加して参照記号群を表示し、前記端末側入力部から入力された応答値と、前記端末側記憶部に記憶された応答値とを前記端末側再認証判断部で比較してユーザの再認証の可否判断を行い、  前記認証装置は、認証情報Ｓ１と認証情報Ｓ３を記憶するサーバ側認証情報記憶部を有しユーザ登録の際に、前記端末装置から受信した認証情報Ｓ１と認証情報Ｓ３をサーバ側認証情報記憶部に記憶し、ユーザ認証の際に、前記サーバ側乱数生成部で生成した複数の表示用乱数と付加要素用乱数を認証情報Ｓ３とともに前記端末装置に送信することを特徴とする。
【００９５】
実施の形態３に係る認証システムは、前記端末装置において、前記端末側記憶部に記憶された複数の表示用乱数と複数の付加要素用乱数と応答値との組を用いて、すくなくとも一部の複数の表示用乱数と複数の付加要素用乱数について、それぞれの乱数の内容を変化させるとともに、乱数変化後の表示用乱数ごとに、ユーザ認証の可否判断に用いる認証値を算出する端末側乱数変化部と端末側入力部より入力された応答値と前記端末側乱数変化部により算出された認証値を用いてユーザ認証の可否判断を行う端末側再認証判断部とを有し、端末装置単体でのユーザの再認証を行う際に、端末装置単体でのユーザの再認証を行う際に、端末側乱数変化部で変化させた表示用乱数と付加要素用乱数と応答値の組を用いて再認証を行うこと特徴とする。
【００９６】
本実施の形態３に係る認証システムは、前記端末装置において、前記端末側表示部は、参照記号群を表示する場合に、付加要素として、乱数の桁との対応関係を示す背景パターンを各参照記号に付加して参照記号群を表示することが可能であり、前記認証装置において、前記サーバ側乱数生成部は、前記端末装置において各参照記号の背景パターンを決定する際に用いられる乱数をパスワードの桁ごとに付加要素用乱数として生成し、前記端末装置において、前記端末側付加要素決定部は、表示用乱数ごとに、それぞれの表示用乱数に対応づけられた付加要素用乱数を用いて、参照記号群が表示される際の各参照記号の背景パターンを決定し、前記端末側表示部は、前記端末側通信部により受信された複数の表示用乱数を順に表示するとともに、前記端末側付加要素決定部により表示用乱数ごとに決定された各参照記号の背景パターンを各参照記号に付加して参照記号群を表示することを特徴とする。
【００９７】
本実施の形態３に係る認証システムは、前記端末装置において、前記端末側記憶部が端末装置から着脱可能な不揮発性メモリからなることを特徴とする。
【００９８】
本実施の形態３に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対するユーザ認証を行う認証装置とを有する認証方式であって、前記端末装置は、ユーザ登録の際に、乱数を生成する乱数生成処理と、ユーザのパスワード入力を受付ける入力処理と、入力処理で入力されたパスワードと乱数生成処理により生成された乱数から所定の演算により認証情報Ｓ１と認証情報Ｓ２の２つの認証情報を生成する認証情報生成処理と、認証情報生成処理により得られる認証情報Ｓ１を前記認証装置に送信する送信処理と、認証情報Ｓ２を前記端末側記憶部に記憶する記憶処理を行い、ユーザ認証の際に、ユーザのパスワード入力を受付ける入力処理と、前記認証装置から乱数を受信する受信処理と、入力処理で受付けたパスワードと受信処理により受信した乱数から端末側認証データを生成する認証データ生成処理と、認証データ生成処理により生成した端末側認証データを前記認証装置に送信する送信処理を行い、前記認証装置は、ユーザ登録の際に、前記端末装置から認証情報Ｓ１を受信する受信処理と、受信処理で受信した認証情報Ｓ１を記憶する認証情報記憶処理を行い、ユーザ認証の際に、乱数を生成する乱数生成処理と、乱数生成処理で生成した乱数を前記端末装置に送信する送信処理と、送信した乱数に対して前記端末装置から端末側認証データを受信する受信処理と、認証データを生成する認証データ生成処理と、受信処理で受信した端末側認証データと認証データ生成処理により生成したサーバ側認証データとが一致するか否かをにより利用者認証の可否判断を行う認証判断処理を行うことを特徴とする。
【図面の簡単な説明】
【００９９】
【図１】実施の形態１に係る認証システムの構成を示すブロック図である。
【図２】実施の形態１に係る端末装置のユーザ登録時の動作を示すフローチャートである。
【図３】実施の形態１に係るサーバ装置のユーザ登録時の動作を示すフローチャートである。
【図４】実施の形態１に係る端末装置とサーバ装置とのやり取りを示すフローチャートである。
【図５】アスキーコード表の一部を示す図である。
【図６】実施の形態１に係るパスワード変換テーブルの例を示す図である。
【図７】実施の形態１に係る端末装置のユーザ認証時の動作を示すフローチャートである。
【図８】実施の形態１に係るサーバ装置のユーザ認証時の動作を示すフローチャートである。
【図９】実施の形態１に係る端末装置とサーバ装置とのユーザ認証時のやり取りを示すフローチャートである。
【図１０】実施の形態２に係る認証システムの構成を示すブロック図を示す。
【図１１】実施の形態２に係る端末装置のユーザ登録時の動作を示すフローチャートである。
【図１２】実施の形態２に係るサーバ装置のユーザ登録時の動作を示すフローチャートである。
【図１３】実施の形態２に係る端末装置とサーバ装置とのユーザ登録時のやり取りを示すフローチャートである。
【図１４】実施の形態２に係るパスワード登録画面を示す図である。
【図１５】実施の形態２に係る端末装置のユーザ認証時の動作を示すフローチャートである。
【図１６】実施の形態２に係るサーバ装置のユーザ認証時の動作を示すフローチャートである。
【図１７】実施の形態２に係る端末装置とサーバ装置とのユーザ認証時のやり取りを示すフローチャートである。
【図１８】実施の形態２に係る認証画面を示す図である。
【図１９】実施の形態３に係る認証システムの構成を示すブロック図である。
【図２０】実施の形態３に係る端末装置のユーザ登録時の動作を示すフローチャートである。
【図２１】実施の形態３に係るサーバ装置のユーザ登録時の動作を示すフローチャートである。
【図２２】実施の形態３に係る端末装置とサーバ装置とのユーザ登録時のやり取りを示すフローチャートである。
【図２３】実施の形態３に係るパスワード変換テーブルの例を示す図である。
【図２４】実施の形態３に係る端末装置のユーザ認証時の動作を示すフローチャートである。
【図２５】実施の形態３に係るサーバ装置のユーザ認証時の動作を示すフローチャートである。
【図２６】実施の形態３に係る端末装置とサーバ装置とのユーザ認証時のやり取りを示すフローチャートである。
【図２７】実施の形態３に係る認証画面を示す図である。
【図２８】実施の形態３に係る認証画面と乱数組との関係を示す図である。
【図２９】端末側乱数変化部の動作を示すフローチャートである。
【図３０】従来の認証方法を示す図である。
【符号の説明】
【０１００】
１０１  端末装置、１０２  端末側通信部、１０３  端末側表示部、１０４  端末側入力部、１０５  端末側乱数生成部、１０６  端末側認証情報生成部、１０７  端末側記憶部、１０８  端末側認証データ生成部、１０９  サーバ装置、１１０  サーバ側通信部、１１１  サーバ側乱数生成部、１１２  サーバ側認証情報記憶部、１１３  サーバ側認証データ生成部、１１４  サーバ側認証判断部、１３０  アスキーコード表示、１４０  パスワード変換テーブル、１０２１  端末側送信部、１０２２  端末側受信部、１１０１  サーバ側送信部、１１０２  サーバ側受信部、３０１  端末装置、３０２  端末側通信部、３０３  端末側表示部、３０４  端末側入力部、３０５  端末側乱数生成部、３０６  端末側認証情報生成部、３０７  端末側記憶部、３０８  端末側認証データ生成部、３０９  サーバ装置、３１０  サーバ側通信部、３１１  サーバ側乱数生成部、３１２  サーバ側認証情報記憶部、３１３  サーバ側認証データ生成部、３１４  サーバ側認証判断部、３０２１  端末側送信部、３０２２  端末側受信部、３１０１  サーバ側送信部、３１０２  サーバ側受信部、５０１  パスワード登録画面、５０２  パスワード文字配列部、５０３  数字パスワード配列部、５０４  入力フィールド、６０１  認証画面、６０２  パスワード文字配列部、６０３  表示用乱数部、６０４  入力フィールド、７０１  端末装置、７０２  端末側通信部、７０３  端末側表示部、７０４  端末側背景パターン決定部、７０５  端末側入力部、７０６  端末側乱数生成部、７０７  端末側認証情報生成部、７０８  端末側認証データ生成部、７０９  端末側記憶部、７１０  端末側乱数変化部、７１１  端末側再認証判断部、７１２  ＩＣカード、７１３  サーバ装置、７１４  サーバ側通信部、７１４１  サーバ側送信部、７１４２  サーバ側受信部、７１５  サーバ側乱数生成部、７１６  サーバ側認証情報記憶部、７１７  サーバ側認証データ生成部、７１８  サーバ側認証判断部、７３０  パスワード変換テーブル、７０２１  端末側送信部、７０２２  端末側受信部、７１４１  サーバ側送信部、７１４２  サーバ側受信部、８０１  認証画面、８０２  パスワード候補表示部、８０３  乱数表示部、８０４，８０４ａ，８０４ｂ，８０４ｃ，８０４ｄ，８０４ｅ，８０４ｆ，８０４ｇ，８０４ｈ  入力フィールド、９０１  ユーザ携帯装置、９０２  ユーザ装置、９０３  認証センタ。
【図１】
2005208996.tif 000003
【図２】
2005208996.tif 000004
【図３】
2005208996.tif 000005
【図４】
2005208996.tif 000006
【図５】
2005208996.tif 000007
【図６】
2005208996.tif 000008
【図７】
2005208996.tif 000009
【図８】
2005208996.tif 000010
【図９】
2005208996.tif 000011
【図１０】
2005208996.tif 000012
【図１１】
2005208996.tif 000013
【図１２】
2005208996.tif 000014
【図１３】
2005208996.tif 000015
【図１４】
2005208996.tif 000016
【図１５】
2005208996.tif 000017
【図１６】
2005208996.tif 000018
【図１７】
2005208996.tif 000019
【図１８】
2005208996.tif 000020
【図１９】
2005208996.tif 000021
【図２０】
2005208996.tif 000022
【図２１】
2005208996.tif 000023
【図２２】
2005208996.tif 000024
【図２３】
2005208996.tif 000025
【図２４】
2005208996.tif 000026
【図２５】
2005208996.tif 000027
【図２６】
2005208996.tif 000028
【図２７】
2005208996.tif 000029
【図２８】
2005208996.tif 000030
【図２９】
2005208996.tif 000031
【図３０】
2005208996.tif 000032