(57)【特許請求の範囲】
【請求項１】
認証ごとに使い捨てるワンタイムパスワードにより認証の成否判断を行う認証装置に対して送信されるワンタイムパスワードを生成するパスワード生成装置において、
前記認証装置が認証の成否判断を行うために用いる認証データを生成するために用いられる乱数と前記認証データを暗号化して前記認証装置が記憶する復号鍵で復号化される暗号データを生成するために用いられる暗号鍵とを記憶する記憶部と、
前記記憶部が記憶する乱数を用いて新たな乱数を生成し、前記記憶部に記憶させる乱数生成部と、
入力データを入力するパスワード入力部と、
前記乱数生成部が生成した乱数と前記パスワード入力部が入力した入力データとを用いて前記認証データを生成し、前記記憶部が記憶する暗号鍵を用いて前記認証データを暗号化し、前記認証データを暗号化して生成した暗号データを用いて第１のワンタイムパスワードと第２のワンタイムパスワードとを生成するパスワード生成部と、
前記パスワード生成部が生成した第１のワンタイムパスワードと第２のワンタイムパスワードとを表示するパスワード表示部とを有することを特徴とするパスワード生成装置。
【請求項２】
前記パスワード生成装置は、さらに、
前記乱数生成部が生成した乱数と前記パスワード入力部が入力した入力データとを用いて、前記認証装置が記憶するパスワード文字列を構成する文字を含むパスワード候補文字の外観を設定する外観設定部を有し、
前記パスワード表示部は、
前記外観設定部が設定した外観を備えるパスワード候補文字を表示することを特徴とする請求項１に記載のパスワード生成装置。
【請求項３】
前記パスワード生成装置は、さらに、
ユーザの生体情報を読み取る生体情報読取部を有し、
前記パスワード入力部は、
前記入力データとして、前記生体情報読取部が読み取ったユーザの生体情報を入力することを特徴とする請求項１に記載のパスワード生成装置。
【請求項４】
前記パスワード入力部は、
前記入力データとして、前記認証装置が記憶する暗証番号を入力することを特徴とする請求項１に記載のパスワード生成装置。
【請求項５】
前記記憶部は、
前記暗号鍵として、前記認証装置が記憶する公開鍵と対になる秘密鍵を記憶することを特徴とする請求項１に記載のパスワード生成装置。
【請求項６】
前記記憶部は、
前記暗号鍵として、前記認証装置が記憶する秘密鍵と対になる公開鍵を記憶することを特徴とする請求項１に記載のパスワード生成装置。
【請求項７】
前記記憶部は、
前記暗号鍵として、前記認証装置が記憶する共通鍵と同一の共通鍵を記憶することを特徴とする請求項１に記載のパスワード生成装置。
【請求項８】
前記パスワード生成装置は、さらに、
ユーザを識別するユーザ識別情報（ユーザＩＤ）と前記パスワード表示部に表示された第１のワンタイムパスワード及び第２のワンタイムパスワードとの入力をユーザに要求する認証画面を表示する端末表示部と、
前記ユーザＩＤと前記第１のワンタイムパスワードと前記第２のワンタイムパスワードとを入力する端末入力部と、
前記認証装置に前記端末入力部が入力したユーザＩＤと第１のワンタイムパスワードと第２のワンタイムパスワードとを送信する端末通信部とを有することを特徴とする請求項１に記載のパスワード生成装置。
【請求項９】
認証ごとに使い捨てるワンタイムパスワードにより認証の成否判断を行う認証装置に対して送信されるワンタイムパスワードを生成するパスワード生成装置に挿入され、前記パスワード生成装置とデータの授受を行う集積回路（ＩＣ）カードにおいて、
前記認証装置が認証の成否判断を行うために用いる認証データを生成するために用いられる乱数と前記認証データを暗号化して前記認証装置が記憶する復号鍵で復号化される暗号データを生成するために用いられる暗号鍵とを記憶する記憶部と、
前記記憶部が記憶する乱数を用いて新たな乱数を生成し、前記記憶部に記憶させる乱数生成部と、
前記乱数生成部が生成した乱数と前記パスワード生成装置が入力した入力データとを用いて前記認証データを生成し、前記記憶部が記憶する暗号鍵を用いて前記認証データを暗号化し、前記認証データを暗号化して生成した暗号データを用いて第１のワンタイムパスワードと第２のワンタイムパスワードとを生成するパスワード生成部とを有することを特徴とするＩＣカード。
【請求項１０】
前記ＩＣカードは、さらに、
前記乱数生成部が生成した乱数と前記パスワード生成装置が入力した入力データとを用いて、前記認証装置が記憶するパスワード文字列を構成する文字を含むパスワード候補文字の外観を設定し、設定した外観を備えるパスワード候補文字を前記パスワード生成装置に表示させる外観設定部を有することを特徴とする請求項９に記載のＩＣカード。
【請求項１１】
認証ごとに使い捨てるワンタイムパスワードを生成するパスワード生成装置が生成したワンタイムパスワードを送信する端末装置が送信したワンタイムパスワードにより認証の成否判断を行う認証装置において、
前記端末装置からユーザを識別するユーザ識別情報（ユーザＩＤ）と前記パスワード生成装置が生成した第１のワンタイムパスワードとを受信し、前記端末装置に第２のワンタイムパスワードを要求する要求データを送信し、前記端末装置から前記パスワード生成装置が生成した第２のワンタイムパスワードを受信する認証通信部と、
前記パスワード生成装置が生成した認証データを照合するために用いられる暗証データと前記認証データから取得される乱数と前記パスワード生成装置が記憶する暗号鍵で暗号化された暗号データを復号化するために用いられる復号鍵とを前記ユーザＩＤに対応付けて記憶する管理部と、
前記認証通信部が受信した第１のワンタイムパスワードと第２のワンタイムパスワードとを用いて前記暗号データを取得し、前記管理部が記憶する復号鍵を用いて前記暗号データを復号化し、前記暗号データを復号化して取得した認証データと前記管理部が記憶する乱数とを用いて前記パスワード生成装置が入力した入力データを復元する入力値復元部と、
前記入力値復元部が復元した入力データと前記管理部が記憶する暗証データとを照合して認証の成否判断を行う認証判定部とを有することを特徴とする認証装置。
【請求項１２】
前記管理部は、
前記暗証データとして、前記パスワード生成装置が入力する暗証番号を記憶することを特徴とする請求項１１に記載の認証装置。
【請求項１３】
前記管理部は、
前記復号鍵として、前記パスワード生成装置が記憶する秘密鍵と対になる公開鍵を記憶することを特徴とする請求項１１に記載の認証装置。
【請求項１４】
前記管理部は、
前記復号鍵として、前記パスワード生成装置が記憶する公開鍵と対になる秘密鍵を記憶することを特徴とする請求項１１に記載の認証装置。
【請求項１５】
前記管理部は、
前記復号鍵として、前記パスワード生成装置が記憶する共通鍵と同一の共通鍵を記憶することを特徴とする請求項１１に記載の認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワード生成装置及びＩＣカード及び認証装置に関するものである。
【背景技術】
【０００２】
ユーザや端末装置に対して、ネットワークリソースの使用やコンピュータシステムの内部リソースへのアクセス等を許可する際に、再利用できないワンタイムパスワードを使った認証が行われている。従来のワンタイムパスワードを生成するパスワード生成装置（ワンタイムパスワード生成装置）は、認証を行う認証装置の時計と同期した同ワンタイムパスワード生成装置内の時計、又は認証装置から送られる時刻依存値を基にワンタイムパスワードを生成し、これを用いて個人や端末装置の認証を行っていた（例えば、特許文献１）。
【特許文献１】特開平１１−３０３３号公報（第１４−２３頁、第５図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に公開されている従来のワンタイムパスワード生成装置は、このワンタイムパスワード生成装置が生成したワンタイムパスワードを認証装置に送ることでユーザが使用しているワンタイムパスワード生成装置が正規のものであることを示すが、ワンタイムパスワード生成装置と認証装置には時々刻々変化する時刻依存値を生成する時刻依存値生成器がそれぞれ必要であり、これらを常に駆動させるための電池もしくは電源が必要である。さらにワンタイムパスワードを生成する際にはこれら２つの時刻依存値生成器の間で時刻の同期が取れている必要がある。このため、定期的にこれら時刻依存値生成器の間で時刻同期処理が必要である。また、特許文献１には従来技術として、時刻依存値生成器を用いず認証装置との通信により取得した乱数を用いてワンタイムパスワードを生成する方法も記載されているが、通信を行うためにワンタイムパスワード生成装置と認証装置が接続されていなければならないと指摘されている。【０００４】
本発明は、ワンタイムパスワード生成装置が、定期的な時刻同期処理が必要である時刻依存値生成器を用いず、また、認証装置と接続されていなくても、ワンタイムパスワードを生成し安全に認証を行うことを目的とする。
【課題を解決するための手段】
【０００５】
本発明のパスワード生成装置は、
認証ごとに使い捨てるワンタイムパスワードにより認証の成否判断を行う認証装置に対して送信されるワンタイムパスワードを生成するパスワード生成装置において、
前記認証装置が認証の成否判断を行うために用いる認証データを生成するために用いられる乱数と前記認証データを暗号化して前記認証装置が記憶する復号鍵で復号化される暗号データを生成するために用いられる暗号鍵とを記憶する記憶部と、
前記記憶部が記憶する乱数を用いて新たな乱数を生成し、前記記憶部に記憶させる乱数生成部と、
入力データを入力するパスワード入力部と、
前記乱数生成部が生成した乱数と前記パスワード入力部が入力した入力データとを用いて前記認証データを生成し、前記記憶部が記憶する暗号鍵を用いて前記認証データを暗号化し、前記認証データを暗号化して生成した暗号データを用いて第１のワンタイムパスワードと第２のワンタイムパスワードとを生成するパスワード生成部と、
前記パスワード生成部が生成した第１のワンタイムパスワードと第２のワンタイムパスワードとを表示するパスワード表示部とを有することを特徴とする。【０００６】
前記パスワード生成装置は、さらに、
前記乱数生成部が生成した乱数と前記パスワード入力部が入力した入力データとを用いて、前記認証装置が記憶するパスワード文字列を構成する文字を含むパスワード候補文字の外観を設定する外観設定部を有し、
前記パスワード表示部は、
前記外観設定部が設定した外観を備えるパスワード候補文字を表示することを特徴とする。【０００７】
前記パスワード生成装置は、さらに、
ユーザの生体情報を読み取る生体情報読取部を有し、
前記パスワード入力部は、
前記入力データとして、前記生体情報読取部が読み取ったユーザの生体情報を入力することを特徴とする。【０００８】
前記パスワード入力部は、
前記入力データとして、前記認証装置が記憶する暗証番号を入力することを特徴とする。【０００９】
前記記憶部は、
前記暗号鍵として、前記認証装置が記憶する公開鍵と対になる秘密鍵を記憶することを特徴とする。【００１０】
前記記憶部は、
前記暗号鍵として、前記認証装置が記憶する秘密鍵と対になる公開鍵を記憶することを特徴とする。【００１１】
前記記憶部は、
前記暗号鍵として、前記認証装置が記憶する共通鍵と同一の共通鍵を記憶することを特徴とする。【００１２】
前記パスワード生成装置は、さらに、
ユーザを識別するユーザ識別情報（ユーザＩＤ）と前記パスワード表示部に表示された第１のワンタイムパスワード及び第２のワンタイムパスワードとの入力をユーザに要求する認証画面を表示する端末表示部と、
前記ユーザＩＤと前記第１のワンタイムパスワードと前記第２のワンタイムパスワードとを入力する端末入力部と、
前記認証装置に前記端末入力部が入力したユーザＩＤと第１のワンタイムパスワードと第２のワンタイムパスワードとを送信する端末通信部とを有することを特徴とする。【００１３】
本発明の集積回路（ＩＣ）カードは、
認証ごとに使い捨てるワンタイムパスワードにより認証の成否判断を行う認証装置に対して送信されるワンタイムパスワードを生成するパスワード生成装置に挿入され、前記パスワード生成装置とデータの授受を行うＩＣカードにおいて、
前記認証装置が認証の成否判断を行うために用いる認証データを生成するために用いられる乱数と前記認証データを暗号化して前記認証装置が記憶する復号鍵で復号化される暗号データを生成するために用いられる暗号鍵とを記憶する記憶部と、
前記記憶部が記憶する乱数を用いて新たな乱数を生成し、前記記憶部に記憶させる乱数生成部と、
前記乱数生成部が生成した乱数と前記パスワード生成装置が入力した入力データとを用いて前記認証データを生成し、前記記憶部が記憶する暗号鍵を用いて前記認証データを暗号化し、前記認証データを暗号化して生成した暗号データを用いて第１のワンタイムパスワードと第２のワンタイムパスワードとを生成するパスワード生成部とを有することを特徴とする。【００１４】
前記ＩＣカードは、さらに、
前記乱数生成部が生成した乱数と前記パスワード生成装置が入力した入力データとを用いて、前記認証装置が記憶するパスワード文字列を構成する文字を含むパスワード候補文字の外観を設定し、設定した外観を備えるパスワード候補文字を前記パスワード生成装置に表示させる外観設定部を有することを特徴とする。【００１５】
本発明の認証装置は、
認証ごとに使い捨てるワンタイムパスワードを生成するパスワード生成装置が生成したワンタイムパスワードを送信する端末装置が送信したワンタイムパスワードにより認証の成否判断を行う認証装置において、
前記端末装置からユーザを識別するユーザ識別情報（ユーザＩＤ）と前記パスワード生成装置が生成した第１のワンタイムパスワードとを受信し、前記端末装置に第２のワンタイムパスワードを要求する要求データを送信し、前記端末装置から前記パスワード生成装置が生成した第２のワンタイムパスワードを受信する認証通信部と、
前記パスワード生成装置が生成した認証データを照合するために用いられる暗証データと前記認証データから取得される乱数と前記パスワード生成装置が記憶する暗号鍵で暗号化された暗号データを復号化するために用いられる復号鍵とを前記ユーザＩＤに対応付けて記憶する管理部と、
前記認証通信部が受信した第１のワンタイムパスワードと第２のワンタイムパスワードとを用いて前記暗号データを取得し、前記管理部が記憶する復号鍵を用いて前記暗号データを復号化し、前記暗号データを復号化して取得した認証データと前記管理部が記憶する乱数とを用いて前記パスワード生成装置が入力した入力データを復元する入力値復元部と、
前記入力値復元部が復元した入力データと前記管理部が記憶する暗証データとを照合して認証の成否判断を行う認証判定部とを有することを特徴とする。【００１６】
前記管理部は、
前記暗証データとして、前記パスワード生成装置が入力する暗証番号を記憶することを特徴とする。【００１７】
前記管理部は、
前記復号鍵として、前記パスワード生成装置が記憶する秘密鍵と対になる公開鍵を記憶することを特徴とする。【００１８】
前記管理部は、
前記復号鍵として、前記パスワード生成装置が記憶する公開鍵と対になる秘密鍵を記憶することを特徴とする。【００１９】
前記管理部は、
前記復号鍵として、前記パスワード生成装置が記憶する共通鍵と同一の共通鍵を記憶することを特徴とする。
【発明の効果】
【００２０】
本発明により、ワンタイムパスワード生成装置が、定期的な時刻同期処理が必要である時刻依存値生成器を用いず、また、認証装置と接続されていなくても、ワンタイムパスワードを生成し安全に認証を行うことが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図に基づいて説明する。なお、下記実施の形態１から実施の形態３において、認証処理に用いるパスワード文字の外観は、パスワード文字の背景色とする。パスワード文字の外観とは、各文字及びその周辺部分の視覚的な特徴のことであり、文字の背景色を利用する以外にも、例えば、フォントの種類や大きさ、文字の描画色、文字の背景の模様、文字を囲う図形の種類等を用いることが可能である。【００２２】
下記実施の形態１から実施の形態３に係るパスワード生成装置は認証が行われる度に毎回異なるワンタイムパスワードを生成することとし、このパスワード生成装置をワンタイムパスワード生成装置と呼ぶ。また、実施の形態１から実施の形態３に係る認証装置は端末装置に認証サービスを提供することとし、この認証装置をサーバ装置と呼ぶ。【００２３】
実施の形態１．
図１は本実施の形態に係る認証システムの構成を示すブロック図である。【００２４】
記憶部１０４と外観設定部１０５とパスワード生成部１０６と乱数生成部１０７は本実施の形態ではＩＣ（集積回路）カード１０８内に実装されており、具体的には、記憶部１０４はＩＣカード１０８内のフラッシュメモリ上に割り当てられた領域である。また、外観設定部１０５とパスワード生成部１０６と乱数生成部１０７はプログラムで実現されるものであり、前記フラッシュメモリに格納され、ＩＣカード１０８内のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で実行される。なお、ＩＣカード１０８はワンタイムパスワード生成装置１０１から着脱することができる。【００２５】
記憶部１０４は、ユーザに固有の秘密鍵とハッシュ鍵Ａとハッシュ鍵Ｂをあらかじめ保持し、最後にワンタイムパスワードを生成したときに使用した乱数を記憶する。ここで、秘密鍵は、ユーザに固有の公開鍵と対になり、秘密鍵で暗号化したデータは対になる公開鍵のみで復号化でき、公開鍵で暗号化したデータは対になる秘密鍵のみで復号化できるものとする。また、ハッシュ鍵Ａとハッシュ鍵Ｂの２つのハッシュ鍵は、それぞれハッシュ関数を実装し、ハッシュ鍵でデータを暗号化するとハッシュ値を生成するものとする。以下では、ハッシュ鍵で暗号化することを「ハッシュする」といい、ハッシュすることで生成したハッシュ値を「ハッシュした値」という。【００２６】
乱数生成部１０７は、記憶部１０４に記憶された乱数にハッシュ鍵Ａ又はハッシュ鍵Ｂを用いてハッシュした値を生成する。【００２７】
外観設定部１０５は、パスワード表示部１０２に表示するパスワードの背景色を設定する。【００２８】
管理部１１６は、本実施の形態ではハードディスク装置からなり、ユーザのパスワードとユーザに固有の公開鍵とハッシュ鍵Ａとハッシュ鍵Ｂと認証失敗の許容回数Ｗを、それぞれユーザＩＤと関連付けてあらかじめ保持する。また、第１のワンタイムパスワードと最後に認証に成功したときに使用した乱数をユーザＩＤと関連付けて記憶する。【００２９】
入力値復元部１１４、認証判定部１１５は、本実施の形態では具体的にはプログラムで実現されるものであり、これらのプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスク等に格納され、これからサーバ装置１１３上にロードされ、サーバ装置１１３のＣＰＵ上で実行される。【００３０】
端末装置１０９の端末通信部１１２とサーバ装置１１３の認証通信部１１７は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、あるいはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）等のネットワーク１１８を介して接続される。ネットワーク１１８は、単一のネットワークであっても良いし、種類の異なる複数のネットワークが相互に接続されたものであっても良い。例えば、ここで使用されるネットワークとして、無線通信を用いたネットワークと有線通信を用いたネットワークとを接続したものや、プライベートネットワークとインターネットとを接続したもの等、種々の異なるネットワークが相互接続されたものを用いることができる。【００３１】
パスワード配列Ｐは、パスワード文字列に使用できる文字をワンタイムパスワード生成装置１０１のパスワード表示部１０２に表示する際の文字の並びを示しており、以下に示すようにｉ行ｊ列に表示する文字のＡＳＣＩＩコードを格納したものである。【００３２】
【数１】
0004523944.tif 000002
【００３３】
色変換テーブルＣは、パスワード配列Ｐをワンタイムパスワード生成装置１０１のパスワード表示部１０２に表示する際の背景色を示しており、以下に示すように、０から９までの数値に対応する背景色の色指定コードを６桁の１６進数（各２桁がＲＧＢの各数値に対応する）で格納するものである。【００３４】
【数２】
0004523944.tif 000003
【００３５】
なお、本実施の形態では、パスワード文字列の長さを８として説明するが、長さはこれに限定するものではない。また、パスワード候補文字として、７行１０列のパスワード配列を用いるが、同様に配列の大きさはこれに限定するものではない。【００３６】
管理部１１６は、パスワード配列Ｐと色変換テーブルＣをあらかじめ格納する。【００３７】
次に、本実施の形態における認証システムの動作について説明する。【００３８】
まず、ワンタイムパスワードを生成する際のワンタイムパスワード生成装置１０１の動作について説明する。【００３９】
図２は、ワンタイムパスワード生成装置１０１においてワンタイムパスワードを生成する際に実行される処理を示すフローチャートである。【００４０】
ユーザがワンタイムパスワード生成装置１０１を使ってワンタイムパスワードを生成するとき、まず、パスワード生成部１０６が、ユーザからの応答値を格納するための認証データ配列ｈ［８］とｖ［８］の要素を０に初期化し、水平移動量記憶変数ｍと垂直移動量記憶変数ｎと内部カウンタｓをそれぞれ０に初期化する（Ｓ１０１）。【００４１】
次に、乱数生成部１０７が、記憶部１０４に記憶された乱数とハッシュ鍵Ａを取得し、この乱数をハッシュ鍵Ａでハッシュした値を新たな乱数として記憶部１０４に記憶する（Ｓ１０２）。さらに、記憶部１０４に記憶されたハッシュ鍵Ｂを取得し、ステップＳ１０２で新たに生成した乱数をハッシュ鍵Ｂで１回から７回まで繰り返しハッシュして生成した７つの乱数の上位各１０桁を乱数配列Ｒ［ｉ｜（０≦ｉ≦６）］のＲ［０］からＲ［６］までの値として記録する（Ｓ１０３）。【００４２】
この後、外観設定部１０５は、パスワード配列Ｐの各行各列について、乱数配列Ｒの値と２つの移動量記憶変数ｍとｎの値と色変換テーブルＣから、所定の演算により色指定コードを求める。パスワード表示部１０２は、求められた色指定コードにより指定される背景色の上にパスワード候補文字を描画したワンタイムパスワード生成画面を表示する（Ｓ１０４）。背景色の色指定コードを求める演算の詳細は、後で説明する。【００４３】
パスワード表示部１０２に文字として表示した背景色のパスワード文字配列に対して、ユーザのキー入力をパスワード入力部１０３より受け付ける（Ｓ１０５）。キー入力を受け付けると、入力されたキーの種別を判定する（Ｓ１０６）。【００４４】
入力されたキーの種別が選択キーの場合には、移動量記憶変数ｍとｎの値を、それぞれ認証データ配列ｈ［ｓ］とｖ［ｓ］の値として記憶した後、内部カウンタｓの値に１を加算する（Ｓ１０７）。次に、内部カウンタｓの値が７より大きいかをチェックし（Ｓ１０８）、７以下の場合にはステップＳ１０４からの処理を繰り返す。【００４５】
入力されたキーの種別が左への移動キー（左向き矢印）であった場合には、水平移動量記憶変数ｍから１を減算する（Ｓ１０９）。次に、水平移動量記憶変数ｍの値が０より小さくないかをチェックし（Ｓ１１０）、０より小さな値の場合にはｍに１０を加算し（Ｓ１１１）、ステップＳ１０４からの処理を繰り返す。【００４６】
入力されたキーの種別が右への移動キー（右向き矢印）であった場合には、水平移動量記憶変数ｍに１を加算する（Ｓ１１２）。次に、水平移動量記憶変数ｍの値が９より大きくないかをチェックし（Ｓ１１３）、９より大きな値の場合にはｍから１０を減算し（Ｓ１１４）、ステップＳ１０４からの処理を繰り返す。【００４７】
入力されたキーの種別が上への移動キー（上向き矢印）であった場合には、垂直移動量記憶変数ｎから１を減算する（Ｓ１１５）。次に、垂直移動量記憶変数ｎの値が０より小さくないかをチェックし（Ｓ１１６）、０より小さな値の場合にはｎに７を加算し（Ｓ１１７）、ステップＳ１０４からの処理を繰り返す。【００４８】
入力されたキーの種別が下への移動キー（下向き矢印）であった場合には、垂直移動量記憶変数ｎに１を加算する（Ｓ１１８）。次に、垂直移動量記憶変数ｎの値が６より大きくないかをチェックし（Ｓ１１９）、６より大きな値の場合にはｎから７を減算し（Ｓ１２０）、ステップＳ１０４からの処理を繰り返す。【００４９】
入力されたキーの種別が、選択キーと移動キー（矢印）のいずれのキーでもない場合には、ステップＳ１０４からの処理を繰り返す。【００５０】
ステップＳ１０８で内部カウンタｓの値が７より大きい場合には、認証データ配列ｖ［ｓ］とｈ［ｓ］を、ｖ［ｓ］の値が８ビットの１６進数の上位４ビット、ｈ［ｓ］の値が８ビットの１６進数の下位４ビットとなるように８桁の１６進数に変換し、これを記憶部１０４に記憶された秘密鍵により暗号化した数値を認証値として生成する。さらに、この認証値を、例えば最初の４桁と最後の４桁に分割し、第１のワンタイムパスワードと第２のワンタイムパスワードを生成する（Ｓ１２１）。【００５１】
次に、パスワード表示部１０２にステップＳ１２１で生成した第１のワンタイムパスワードを表示する（Ｓ１２２）。そして、ユーザのキー入力をパスワード入力部１０３より受け付ける（Ｓ１２３）。キー入力を受け付けると、入力されたキーの種別を判定する（Ｓ１２４）。【００５２】
入力されたキーの種別が右への移動キー（右向き矢印）であった場合には、パスワード表示部１０２に第２のワンタイムパスワードを表示した後（Ｓ１２５）、ワンタイムパスワード生成処理を終了する。【００５３】
入力されたキーの種別が左への移動キー（左向き矢印）であった場合には、ワンタイムパスワード生成処理を終了する。【００５４】
入力されたキーの種別が、左右への移動キー（左矢印と右矢印）のいずれのキーでもない場合には、ステップＳ１２３からの処理を繰り返す。【００５５】
なお、本実施の形態では、パスワード表示処理の継続を指示するために右への移動キー（右向き矢印）を、パスワード表示処理の中止を指示するために左への移動キー（左向き矢印）を用いているが、それぞれの指示に別のキーを割り当てることも可能である。【００５６】
次に、図３を参照して、図２のステップＳ１０４の詳細動作を説明する。【００５７】
まず、変数ｘとｙをそれぞれ１に初期化する（Ｓ２０１）。次に、変数ｙの値が７以下の値であるかチェックする（Ｓ２０２）。ここで、変数ｙの値が７以下の場合には、変数ｘの値が１０以下の値であるかチェックする（Ｓ２０３）。変数ｘの値が１０以下の場合には、次の（１）式を使って画面の上からｙ行、左からｘ列の位置のパスワード候補文字に設定する背景色の色指定コードＤ（ｘ，ｙ）を求める（Ｓ２０４）。（１）式において、ｍとｎはそれぞれ図２における水平移動量記憶変数と垂直移動量記憶変数を示す。【００５８】
【数３】
0004523944.tif 000004
【００５９】
次に、画面の左上からｙ行目ｘ列目に、パスワード配列Ｐ［ｙ−１，ｘ−１］の文字コードで指定される文字を色指定コードＤ（ｘ，ｙ）の背景色で表示する（Ｓ２０５）。次に、変数ｘを１加算し（Ｓ２０６）、ステップＳ２０３からの処理を繰り返す。【００６０】
一方、ステップＳ２０３で、変数ｘの値が１０より大きい場合には、変数ｘに１をセットし、変数ｙを１加算し（Ｓ２０７）、ステップＳ２０２からの処理を繰り返す。【００６１】
ステップＳ２０２において、変数ｙの値が７より大きな値の場合は処理を終了する。【００６２】
次に、サーバ装置１１３の認証を受ける際の端末装置１０９の動作について説明する。【００６３】
図４は、端末装置１０９において、ワンタイムパスワード生成装置１０１で生成したワンタイムパスワードを使ってサーバ装置１１３の認証を受ける際に実行される処理を示すフローチャートである。【００６４】
まず、ユーザが端末装置１０９を使って認証を受ける場合、端末表示部１１１にユーザＩＤと第１のワンタイムパスワードの入力を促す認証画面を表示する（Ｓ３０１）。【００６５】
次に、端末入力部１１０よりユーザＩＤと第１のワンタイムパスワードの入力を受け付ける（Ｓ３０２）。【００６６】
この後、端末通信部１１２を介してユーザＩＤと第１のワンタイムパスワードを含む認証要求をサーバ装置１１３に対して送信する（Ｓ３０３）。そして、この認証要求に対してサーバ装置１１３から送られてくる認証結果を受信し（Ｓ３０４）、端末表示部１１１にステップＳ３０４で受信した認証結果を表示する（Ｓ３０５）。【００６７】
続いて、上記と同様に、端末表示部１１１にユーザＩＤと第２のワンタイムパスワードの入力を促す認証画面を表示する（Ｓ３０６）。【００６８】
次に、端末入力部１１０よりユーザＩＤと第２のワンタイムパスワードの入力を受け付ける（Ｓ３０７）。【００６９】
この後、端末通信部１１２を介してユーザＩＤと第２のワンタイムパスワードを含む認証要求をサーバ装置１１３に対して送信する（Ｓ３０８）。そして、この認証要求に対してサーバ装置１１３から送られてくる認証結果を受信し（Ｓ３０９）、端末表示部１１１にステップＳ３０４で受信した認証結果を表示し（Ｓ３１０）、認証処理を終了する。【００７０】
次に、サーバ装置１１３において端末装置１０９からユーザＩＤとワンタイムパスワードを含む認証要求を受信した際に実行される処理について説明する。【００７１】
図５は、サーバ装置１１３において端末装置１０９から認証要求を受信した際に実行される処理を示すフローチャートである。【００７２】
まず、端末装置１０９からユーザＩＤと第１のワンタイムパスワードを含む認証要求を受信する（Ｓ５０１）と、受信した認証要求に含まれているユーザＩＤが管理部１１６に登録されているかをチェックする（Ｓ５０２）。【００７３】
管理部１１６にユーザＩＤが登録されている場合には、ステップＳ４０１で受信した第１のワンタイムパスワードが管理部１１６に記憶されている第１のワンタイムパスワードと同一でないかをチェックする（Ｓ４０３）。第１のワンタイムパスワードが同一でないか、まだ管理部１１６に第１のワンタイムパスワードが記憶されていない場合には、ステップＳ４０１で受信した第１のワンタイムパスワードを管理部１１６にユーザＩＤと関連付けて記憶し（Ｓ４０４）、認証通信部１１７を介して、第２のワンタイムパスワードの要求を認証結果として端末装置１０９に送信する（Ｓ４０５）。【００７４】
一方、ステップＳ４０２においてユーザＩＤが管理部１１６に登録されていない場合には、認証の失敗を一時的に記憶し（Ｓ４０６）、ステップＳ４０５からの処理を実行する。また、ステップＳ４０３においてステップＳ４０１で受信した第１のワンタイムパスワードが管理部１１６に記憶されている第１のワンタイムパスワードと同一の場合にも、ステップＳ４０６で認証の失敗を記憶した後、ステップＳ４０５からの処理を実行する。【００７５】
次に、端末装置１０９から認証要求を受信する（Ｓ４０７）と、認証要求に第２のワンタイムパスワードが含まれているかをチェックする（Ｓ４０８）。認証要求に第２のワンタイムパスワードが含まれている場合には、認証の失敗が記憶されていないかをチェックする（Ｓ４０９）。認証の失敗が記憶されていない場合には、認証判定部１１５が認証判定を行い（Ｓ４１０）、認証通信部１１７を介して認証結果を端末装置１０９に送信し（Ｓ４１１）、処理を終了する。ステップＳ４１０の認証判定処理の詳細は、後で説明する。【００７６】
一方、ステップＳ４０８において認証要求に第２のワンタイムパスワードが含まれていない場合には、認証通信部１１７を介して認証の失敗を認証結果として端末装置１０９に送信した後（Ｓ４１２）、処理を終了する。また、ステップＳ４０９において、認証の失敗が記憶されている場合にも、ステップＳ４１２において認証の失敗を送信した後に処理を終了する。【００７７】
次に、図６を参照して、図５のステップＳ４１０での認証判定処理の詳細動作を説明する。【００７８】
まず、入力値復元部１１４が、受信したワンタイムパスワードから認証データ配列ｖ［８］とｈ［８］を復元する。具体的には、ステップＳ４０４で管理部１１６に記憶した第１のワンタイムパスワードとステップＳ４０８で受信した第２のワンタイムパスワードを結合した認証値を、管理部１１６より取り出した公開鍵で復号化して８桁の１６進数を生成し、各桁の上位４ビットをｖ［８］の要素に、下位４ビットをｈ［８］の要素にセットすることで、ワンタイムパスワードから認証データ配列ｖ［８］とｈ［８］を復元する（Ｓ５０１）。【００７９】
次に、変数ｗを１に（Ｓ５０２）、変数ｓを１に初期化する（Ｓ５０３）。そして、管理部１１６に記憶された乱数とハッシュ鍵Ａを取得し、この乱数をハッシュ鍵Ａでｗ回ハッシュした値を一時的に記憶するとともに、この値を管理部１１６に記憶されたハッシュ鍵Ｂで１回から７回まで繰り返しハッシュして生成した７つの乱数の上位各１０桁を乱数配列Ｒ１［ｉ｜（０≦ｉ≦６）］のＲ１［０］からＲ１［６］までの値として記録する（Ｓ５０４）。【００８０】
次に、パスワードのｓ番目の文字について、パスワード配列Ｐ内の位置ｉ、ｊを求める（Ｓ５０５）。パスワード配列Ｐ内の位置は、図７に示す変換テーブルを使って求めることができる。具体的には、図７の変換テーブルに対しあるパスワード文字のＡＳＣＩＩコードの上位４ビットと下位４ビットにより一意に求まる値ｔを用いて、パスワード配列Ｐ内の位置ｉとｊが求められる。このとき、ｉはｔを１０で割った場合の商、ｊはｔを１０で割った場合の余りとなる。【００８１】
次に、ｉとｊと認証データ配列の要素ｈ［ｓ］とｖ［ｓ］とから、次の（２）式を使ってｓ文字目のパスワード文字の背景色として選択された色指定コードＥ（ｓ）を求める（Ｓ５０６）。【００８２】
【数４】
0004523944.tif 000005
【００８３】
次に、変数ｓが１に等しいかをチェックする（Ｓ５０７）。変数ｓが１の場合には、ステップＳ５０４からの処理を繰り返す。変数ｓが１以外の場合には、Ｅ（ｓ）とＥ（ｓ−１）の色コードが一致するかをチェックする（Ｓ５０８）。色コードが一致する場合には、変数ｓが８より小さいかをチェックする（Ｓ５０９）。変数ｓが８より小さい場合には変数ｓに１を加算し（Ｓ５１０）、ステップＳ５０４からの処理を繰り返す。ステップＳ５０９においてｓが８以上の場合には、認証を成功とし（Ｓ５１１）、ステップＳ５０４で一時的に記憶した乱数を管理部１１６に記憶してから認証判定処理を終了する。【００８４】
一方、ステップＳ５０８のチェックにおいて色コードが一致しない場合には、変数ｗに１を加算し（Ｓ５１２）、変数ｗが管理部１１６に記憶された認証失敗の許容回数Ｗより大きいかをチェックする（Ｓ５１３）。ステップＳ５１３においてｗがＷよりも大きい場合には、認証を失敗とし（Ｓ５１４）、認証判定処理を終了する。一方、ステップＳ５１３においてｗがＷよりも大きくない場合には、ステップＳ５０３からの処理を繰り返す。【００８５】
図８は、端末装置１０９でユーザからの認証要求を受け付ける際に、端末表示部１１１が表示する認証画面である。【００８６】
ユーザは認証を受ける際に、端末入力部１１０より認証画面２０１のユーザＩＤ入力フィールド２０２にユーザＩＤを入力し、ワンタイムパスワード入力フィールド２０３にワンタイムパスワード生成装置１０１により生成した第１のワンタイムパスワード又は第２のワンタイムパスワードを入力し、実行ボタン２０４を押下することで、ステップＳ３０３及びステップＳ３０８においてサーバ装置１１３に対して認証要求を送るために必要なユーザＩＤと第１のワンタイムパスワード及び第２のワンタイムパスワードが受け付けられる。【００８７】
図９は、ワンタイムパスワード生成装置１０１でステップＳ１０６においてユーザからのキー入力を受け付ける際に、パスワード表示部１０２が表示するワンタイムパスワード生成画面３０１である。【００８８】
ユーザは、ワンタイムパスワード生成画面３０１上で、自身の記憶するパスワードの最初の文字から順にパスワード配列３０２の中の文字を見つけ出し、背景を移動キーで操作して、パスワード文字の背景色が、ユーザが最初に選択キーを押した際の、最初のパスワード文字の背景色と同じになったときに選択キーを押下するという操作を繰り返すことで、ワンタイムパスワードの生成操作を行う。【００８９】
このように、パスワードの背景色を合わせるだけでパスワードそのものを入力せずにワンタイムパスワードの生成を行うので、たとえ第三者がワンタイムパスワード生成操作を盗み見ることができても、利用者がどの文字の背景色を合わせているかが分からないため、本人に成りすまして正しいワンタイムパスワードを生成することを防ぐことができる。【００９０】
また、ユーザが記憶する認証のためのデータとして、広く普及している従来の文字と数字等からなるパスワードを用いることができるため、ユーザにとってはワンタイムパスワード認証を導入する際に新たに特殊な形式のデータを憶える負担が無く、セキュリティを維持するためにパスワードの更新を行う時の負荷も小さい。このため、高いセキュリティを保持した認証が行える。【００９１】
図１０は、ワンタイムパスワード生成装置１０１でステップＳ１２２においてユーザに対して第１のワンタイムパスワードを表示する際に、パスワード表示部１０２が表示する第１のワンタイムパスワード表示画面である。ユーザは第１のワンタイムパスワード表示画面４０１から読み取った第１のワンタイムパスワードを、ステップＳ３０２において端末装置１０９の端末入力部１１０を介して入力し、サーバ装置１１３に送信する。【００９２】
図１１は、ワンタイムパスワード生成装置１０１でステップＳ１２５においてユーザに対して第２のワンタイムパスワードを表示する際に、パスワード表示部１０２が表示する第２のワンタイムパスワード表示画面である。ユーザは第２のワンタイムパスワード表示画面５０１から読み取った第２のワンタイムパスワードを、ステップＳ３０７において端末装置１０９の端末入力部１１０を介して入力し、サーバ装置１１３に送信する。【００９３】
このように、ワンタイムパスワード生成装置１０１が生成するワンタイムパスワードを第１のワンタイムパスワードと第２のワンタイムパスワードの２つに分割し、第１のワンタイムパスワードをサーバ装置１１３に送信した後に、サーバ装置１１３からの要求に応じて第２のワンタイムパスワードを表示するようにすることで、定期的な時刻同期処理が必要である時刻依存値生成器を用いず、また、ワンタイムパスワード生成装置１０１がサーバ装置１１３と接続されていなくても、ワンタイムパスワードを生成し安全に認証を行うことができる。【００９４】
本実施の形態では、ワンタイムパスワードの生成操作において、ユーザが最初に選択キーを押した際の、最初のパスワード文字の背景色に残りのパスワード文字の背景色を合わせるようにしたが、正規のパスワードとともに正規のパスワード文字の背景色をサーバ装置１１３に登録し、全てのパスワード文字の背景色をサーバ装置１１３で照合するような形態も可能である。【００９５】
また、本実施の形態では、ワンタイムパスワード生成画面３０１にパスワード配列だけを表示したが、何回選択キーを押したかを分かりやすくするために、パスワード配列の下等に選択キーが押されるたびに、‘＊’等の文字を並べて表示してもよい。【００９６】
本実施の形態では、ワンタイムパスワード生成装置１０１でワンタイムパスワードを生成する際に、暗号鍵としてユーザの秘密鍵を用い、サーバ装置１１３で復号鍵としてユーザの公開鍵を用いているが、暗号化鍵にサーバ装置１１３の公開鍵を用い、復号化鍵にサーバ装置１１３の秘密鍵を用いてもよい。また、暗号化鍵と復号化鍵の両方に共通鍵を用いることもできる。【００９７】
また、本実施の形態では、ワンタイムパスワード生成装置１０１と端末装置１０９とが別々の機器からなるが、端末装置１０９にワンタイムパスワード生成装置１０１と同等のワンタイムパスワード生成を行う機能を実装しても同様の効果が得られる。【００９８】
実施の形態２．
実施の形態１では、ユーザが方向キーを操作してパスワード文字の背景色を特定の色に合わせることで認証のためのワンタイムパスワードを生成するが、本実施の形態では、ユーザが数字キーを操作して暗証番号を入力することで認証のためのワンタイムパスワードを生成する。【００９９】
図１２は本実施の形態に係る認証システムの構成を示すブロック図である。【０１００】
記憶部６０４とパスワード生成部６０６と乱数生成部６０７は本実施の形態ではＩＣカード６０８内に実装されており、具体的には、記憶部６０４はＩＣカード６０８内のフラッシュメモリ上に割り当てられた領域である。また、パスワード生成部６０６と乱数生成部６０７はプログラムで実現されるものであり、前記フラッシュメモリに格納され、ＩＣカード６０８内のＣＰＵで実行される。なお、ＩＣカード６０８はワンタイムパスワード生成装置６０１から着脱することができる。【０１０１】
記憶部６０４は、ユーザに固有の秘密鍵とハッシュ鍵をあらかじめ保持し、最後にワンタイムパスワードを生成したときに使用した乱数を記憶する。【０１０２】
乱数生成部６０７は、記憶部６０４に記憶された乱数にハッシュ鍵を用いてハッシュした値を生成する。【０１０３】
管理部６１６は、本実施の形態ではハードディスク装置からなり、ユーザの暗証番号とユーザに固有の公開鍵とハッシュ鍵と認証失敗の許容回数Ｗを、それぞれユーザＩＤと関連付けてあらかじめ保持する。また、第１のワンタイムパスワードと最後に認証に成功したときに使用した乱数をユーザＩＤと関連付けて記憶する。【０１０４】
なお、本実施の形態では、暗証番号の長さを４として説明するが、長さはこれに限定するものではない。【０１０５】
入力値復元部６１４、認証判定部６１５は、本実施の形態では具体的にはプログラムで実現されるものであり、これらのプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスク等に格納され、これからサーバ装置６１３上にロードされ、サーバ装置６１３のＣＰＵ上で実行される。【０１０６】
端末装置６０９の端末通信部６１２とサーバ装置６１３の認証通信部６１７は、ＬＡＮ、インターネット、あるいはＩＳＤＮ等のＷＡＮ等のネットワーク６１８を介して接続される。ネットワーク６１８は、単一のネットワークであっても良いし、種類の異なる複数のネットワークが相互に接続されたものであっても良い。例えば、ここで使用されるネットワークとして、無線通信を用いたネットワークと有線通信を用いたネットワークとを接続したものや、プライベートネットワークとインターネットとを接続したもの等、種々の異なるネットワークが相互接続されたものを用いることができる。【０１０７】
次に、本実施の形態における認証システムの動作について説明する。【０１０８】
まず、ワンタイムパスワードを生成する際のワンタイムパスワード生成装置６０１の動作について説明する。【０１０９】
図１３は、ワンタイムパスワード生成装置６０１においてワンタイムパスワードを生成する際に実行される処理を示すフローチャートである。【０１１０】
ユーザがワンタイムパスワード生成装置６０１を使ってワンタイムパスワードを生成するとき、まず、パスワード生成部６０６が、ユーザの暗証番号を受け付けるための暗証番号用変数ａと、内部カウンタｓをそれぞれ０に初期化する（Ｓ７０１）。【０１１１】
次に、乱数生成部６０７が、記憶部６０４に記憶された乱数とハッシュ鍵を取得し、この乱数をハッシュ鍵でハッシュした値を新たな乱数として記憶部６０４に記憶する（Ｓ７０２）。【０１１２】
パスワード表示部６０２は、ユーザに暗証番号の入力を要求する暗証番号入力画面を表示する（Ｓ７０３）。【０１１３】
暗証番号入力画面に対して、ユーザのキー入力をパスワード入力部６０３より受け付ける（Ｓ７０４）。キー入力を受け付けると、入力されたキーの種別を判定する（Ｓ７０５）。【０１１４】
入力されたキーの種別が数字キーの場合には、暗証番号用変数ａを、ａの値を１０倍してこれにキー入力された数字を加算したものに更新し、内部カウンタｓの値に１を加算する（Ｓ７０６）。次に、内部カウンタｓの値が３より大きいかをチェックし（Ｓ７０７）、３以下の場合にはステップＳ７０４からの処理を繰り返す。【０１１５】
入力されたキーの種別が、数字キー以外のキーの場合には、ステップＳ７０４からの処理を繰り返す。【０１１６】
ステップＳ７０７で内部カウンタｓの値が３より大きい場合には、ステップＳ７０２で生成した乱数を１００００倍したものにステップＳ７０６で更新した暗証番号用変数ａの値を加算したものを記憶部６０４に記憶する秘密鍵を使って暗号化した数値を認証値として生成する。さらに、この認証値を、２つに分割し、第１のワンタイムパスワードと第２のワンタイムパスワードを生成する（Ｓ７０８）。【０１１７】
次に、パスワード表示部６０２にステップＳ７０８で生成した第１のワンタイムパスワードを表示する（Ｓ７０９）。そして、ユーザのキー入力をパスワード入力部６０３より受け付ける（Ｓ７１０）。キー入力を受け付けると、入力されたキーの種別を判定する（Ｓ７１１）。【０１１８】
入力されたキーの種別が右への移動キー（右向き矢印）であった場合には、パスワード表示部６０２に第２のワンタイムパスワードを表示した後（Ｓ７１２）、ワンタイムパスワード生成処理を終了する。【０１１９】
入力されたキーの種別が左への移動キー（左向き矢印）であった場合には、ワンタイムパスワード生成処理を終了する。【０１２０】
入力されたキーの種別が、左右への移動キー（左矢印と右矢印）のいずれのキーでもない場合には、ステップＳ７１０からの処理を繰り返す。【０１２１】
なお、本実施の形態では、パスワード表示処理の継続を指示するために右への移動キー（右向き矢印）を、パスワード表示処理の中止を指示するために左への移動キー（左向き矢印）を用いているが、それぞれの指示に別のキーを割り当てることも可能である。【０１２２】
端末装置６０９において、ワンタイムパスワード生成装置６０１で生成したワンタイムパスワードを使ってサーバ装置６１３の認証を受ける際には、実施の形態１の図４で示したものと同様の処理が実行される。【０１２３】
また、サーバ装置６１３において端末装置６０９から認証要求を受信した際には、実施の形態１の図５で示したものと同様の処理が実行される。ただし、図５のステップＳ４１０で行う認証判定の処理では、ステップＳ４０４で管理部６１６に記憶した第１のワンタイムパスワードとステップＳ４０７で受信した第２のワンタイムパスワードを結合した認証値を、管理部６１６から取り出した公開鍵で復号化した数値の下位４桁が、管理部６１６に記憶する暗証番号と一致するか否かで認証の成否を判定する。【０１２４】
このように、ワンタイムパスワード生成装置６０１が生成するワンタイムパスワードを第１のワンタイムパスワードと第２のワンタイムパスワードの２つに分割し、第１のワンタイムパスワードをサーバ装置６１３に送信した後に、サーバ装置６１３からの要求に応じて第２のワンタイムパスワードを表示するようにすることで、定期的な時刻同期処理が必要である時刻依存値生成器を用いず、また、ワンタイムパスワード生成装置６０１がサーバ装置６１３と接続されていなくても、ワンタイムパスワードを生成し安全に認証を行うことができる。【０１２５】
本実施の形態では、ユーザを特定する情報として４桁の数字からなる暗証番号を用いた例を示したが、暗証番号に代えてパスワードを用いても同様の効果が得られる。【０１２６】
また、本実施の形態では、ワンタイムパスワード生成装置６０１と端末装置６０９とが別々の機器からなるが、端末装置６０９にワンタイムパスワード生成装置６０１と同等のワンタイムパスワード生成を行う機能を実装しても同様の効果が得られる。【０１２７】
実施の形態３．
実施の形態２では、ユーザが記憶する情報を用いて、ワンタイムパスワード生成装置を使用するユーザを特定するが、本実施の形態では、ユーザの生体情報を使ってワンタイムパスワードを生成する。以下では、生体情報の例として指紋情報を用いる。【０１２８】
図１４は本実施の形態に係る認証システムの構成を示すブロック図である。【０１２９】
記憶部７０４とパスワード生成部７０６と乱数生成部７０７は本実施の形態ではＩＣカード７０８内に実装されており、具体的には、記憶部７０４はＩＣカード７０８内のフラッシュメモリ上に割り当てられた領域である。また、パスワード生成部７０６と乱数生成部７０７はプログラムで実現されるものであり、前記フラッシュメモリに格納され、ＩＣカード７０８内のＣＰＵで実行される。なお、ＩＣカード７０８はワンタイムパスワード生成装置７０１から着脱することができる。【０１３０】
記憶部７０４は、ユーザに固有の秘密鍵とハッシュ鍵をあらかじめ保持し、最後にワンタイムパスワードを生成したときに使用した乱数を記憶する。【０１３１】
乱数生成部７０７は、記憶部７０４に記憶された乱数にハッシュ鍵を用いてハッシュした値を生成する。【０１３２】
生体情報読取部７１９は、ユーザの指紋を読み取り、読み取ったユーザの指紋の特徴を抽出してバイナリデータに変換した指紋情報をパスワード入力部７０３に提供する。パスワード入力部７０３は、提供された指紋情報を実施の形態２の暗証番号と同様に入力データとして扱う。【０１３３】
管理部７１６は、本実施の形態ではハードディスク装置からなり、ユーザの指紋情報とユーザに固有の公開鍵とハッシュ鍵と認証失敗の許容回数Ｗを、それぞれユーザＩＤと関連付けてあらかじめ保持する。また、第１のワンタイムパスワードと最後に認証に成功したときに使用した乱数をユーザＩＤと関連付けて記憶する。【０１３４】
入力値復元部７１４、認証判定部７１５は、本実施の形態では具体的にはプログラムで実現されるものであり、これらのプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスク等に格納され、これからサーバ装置７１３上にロードされ、サーバ装置７１３のＣＰＵ上で実行される。【０１３５】
端末装置７０９の端末通信部７１２とサーバ装置７１３の認証通信部７１７は、ＬＡＮ、インターネット、あるいはＩＳＤＮ等のＷＡＮ等のネットワーク７１８を介して接続される。ネットワーク７１８は、単一のネットワークであっても良いし、種類の異なる複数のネットワークが相互に接続されたものであっても良い。例えば、ここで使用されるネットワークとして、無線通信を用いたネットワークと有線通信を用いたネットワークとを接続したものや、プライベートネットワークとインターネットとを接続したもの等、種々の異なるネットワークが相互接続されたものを用いることができる。【０１３６】
本実施の形態は、個人を特定する情報として実施の形態２で示した暗証番号を指紋情報に置き換えたものであり、本実施の形態に係る認証システムの基本的な動作は実施の形態２と同様である。【０１３７】
なお、指紋情報は暗証番号に比べてサイズが大きくなる場合もあり、ワンタイムパスワード生成装置７０１において乱数と指紋情報を結合した認証値を暗号化する際に、認証値のサイズが暗号化のブロックサイズより大きくなってしまうことがある。このような場合は、乱数と指紋情報を結合したデータの大きさが暗号化のブロックサイズより小さくなるように、乱数のデータと指紋情報のデータを同数に分割し、図１５に示すように、分割した乱数と指紋情報のデータを１つずつ結合して、さらにその結合したデータを連結したものを認証値として用いることもできる。【０１３８】
このように、ワンタイムパスワード生成装置７０１が利用者の生体情報を用いて生成するワンタイムパスワードを第１のワンタイムパスワードと第２のワンタイムパスワードの２つに分割し、第１のワンタイムパスワードをサーバ装置７１３に送信した後に、サーバ装置７１３からの要求に応じて第２のワンタイムパスワードを表示するようにすることで、定期的な時刻同期処理が必要である時刻依存値生成器を用いず、また、ワンタイムパスワード生成装置７０１がサーバ装置７１３と接続されていなくても、ワンタイムパスワードを生成し安全に認証を行うことができる。【０１３９】
本実施の形態では、ワンタイムパスワード生成装置７０１と端末装置７０９とが別々の機器からなるが、端末装置７０９にワンタイムパスワード生成装置７０１と同等のワンタイムパスワード生成を行う機能を実装しても同様の効果が得られる。【０１４０】
前述した各実施の形態で、ワンタイムパスワード生成装置１０１、端末装置１０９、サーバ装置１１３、ワンタイムパスワード生成装置６０１、端末装置６０９、サーバ装置６１３、ワンタイムパスワード生成装置７０１、端末装置７０９、サーバ装置７１３、ワンタイムパスワード生成装置６０１、端末装置６０９、サーバ装置６１３、ワンタイムパスワード生成装置７０１、端末装置７０９、サーバ装置７１３は、コンピュータで実現できるものである。
図示していないが、ワンタイムパスワード生成装置１０１、端末装置１０９、サーバ装置１１３、ワンタイムパスワード生成装置６０１、端末装置６０９、サーバ装置６１３、ワンタイムパスワード生成装置７０１、端末装置７０９、サーバ装置７１３は、プログラムを実行するＣＰＵを備えている。【０１４１】
例えば、ＣＰＵは、バスを介して、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信ボード、表示装置、Ｋ／Ｂ（キーボード）、マウス、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（コンパクトディスクドライブ）、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。
ＲＡＭは、揮発性メモリの一例である。ＲＯＭ、ＦＤＤ、ＣＤＤ、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
前述した各実施の形態のワンタイムパスワード生成装置１０１、端末装置１０９、サーバ装置１１３、ワンタイムパスワード生成装置６０１、端末装置６０９、サーバ装置６１３、ワンタイムパスワード生成装置７０１、端末装置７０９、サーバ装置７１３が扱うデータや情報は、記憶装置あるいは記憶部に保存され、ワンタイムパスワード生成装置１０１、端末装置１０９、サーバ装置１１３、ワンタイムパスワード生成装置６０１、端末装置６０９、サーバ装置６１３、ワンタイムパスワード生成装置７０１、端末装置７０９、サーバ装置７１３の各部により、記録され読み出されるものである。【０１４２】
また、通信ボードは、例えば、ＬＡＮ、インターネット、あるいはＩＳＤＮ等のＷＡＮに接続されている。【０１４３】
磁気ディスク装置には、オペレーティングシステム（ＯＳ）、ウィンドウシステム、プログラム群、ファイル群（データベース）が記憶されている。
プログラム群は、ＣＰＵ、ＯＳ、ウィンドウシステムにより実行される。【０１４４】
上記ワンタイムパスワード生成装置１０１、端末装置１０９、サーバ装置１１３、ワンタイムパスワード生成装置６０１、端末装置６０９、サーバ装置６１３、ワンタイムパスワード生成装置７０１、端末装置７０９、サーバ装置７１３の各部は、一部あるいはすべてコンピュータで動作可能なプログラムにより構成しても構わない。あるいは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアあるいは、ハードウェアあるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。【０１４５】
上記プログラム群には、実施の形態の説明において「〜部」として説明した処理をＣＰＵに実行させるプログラムが記憶される。これらのプログラムは、例えば、Ｃ言語やＨＴＭＬやＳＧＭＬやＸＭＬ等のコンピュータ言語により作成される。【０１４６】
また、上記プログラムは、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記憶され、ＣＰＵにより読み出され実行される。【０１４７】
以上のように、実施の形態１から３で説明した認証システムは、
ユーザが端末装置からネットワークを介して認証装置との間で認証を行う際に認証の度に毎回異なるワンタイムパスワードを生成するワンタイムパスワード生成装置を用いて認証を行う認証システムであって、
前記ワンタイムパスワード生成装置は、
暗号鍵を記憶する記憶部と、
乱数を生成する乱数生成部と、
ユーザからの入力を受け付ける入力部と、
前記乱数生成部が生成した乱数と前記入力部からの入力値とを結合した値を前記記憶部に記憶する暗号鍵を使って暗号化した認証値を生成し、認証値を２つに分割して第１のワンタイムパスワードと第２のワンタイムパスワードとを生成するワンタイムパスワード生成部と、
前記入力部からの入力に応じて前記第１のワンタイムパスワードと前記第２のワンタイムパスワードを順次表示する表示部とを有し、
前記端末装置は、
認証要求画面と結果を表示する端末表示部と、
キーからの入力を受け付ける端末入力部と、
前記端末入力部から入力されたユーザＩＤとワンタイムパスワードを前記認証装置に送信し認証結果を受信する端末通信部とを有し、
前記認証装置は、
前記端末装置よりユーザＩＤとワンタイムパスワードを受信し結果を送信する認証通信部と、
ユーザＩＤとあわせて、復号鍵と正規のユーザを判定するための認証データとを記憶する管理部と、
前記認証通信部が前記端末装置からユーザＩＤと第１のワンタイムパスワードを受信した際にはユーザＩＤとあわせて第１のパスワードを記憶するとともに前記認証通信部を介して前記端末装置に結果として第２のワンタイムパスワードの要求を送信し、前記認証通信部が前記端末装置から第２のワンタイムパスワードを受信した際には、第１のパスワードと第２のパスワードを結合して認証値を生成し、さらに前記認証値を前記復号鍵で復号した値から前記ワンタイムパスワード生成装置において前記入力部から入力された入力値を取り出す入力値復元部と、
前記入力値復元部から得られた入力値と前記管理部に記憶する前記認証データとが一致するか否かによりユーザ認証の成否判定を行い、前記端末装置に対して前記認証通信部を介して認証結果を送信する認証判定部とを有することを特徴とする。【０１４８】
前記認証システムは、
前記ワンタイムパスワード生成装置の暗号鍵と前記認証装置の復号鍵に共通鍵を使用することを特徴とする。【０１４９】
前記認証システムは、
前記ワンタイムパスワード生成装置の暗号鍵に前記認証装置の公開鍵を使用し、前記認証装置の復号鍵に前記認証装置の秘密鍵を使用することを特徴とする。【０１５０】
前記認証システムは、
前記ワンタイムパスワード生成装置の暗号鍵に前記ワンタイムパスワード装置の秘密鍵を使用し、前記認証装置の復号鍵に前ワンタイムパスワード生成装置の秘密鍵を使用することを特徴とする。【０１５１】
前記認証システムは、
前記ワンタイムパスワード生成装置の前記端末入力部から入力される入力値と前記認証装置の前記管理部に記憶される認証データが暗証番号であることを特徴とする。【０１５２】
前記認証システムは、
前記ワンタイムパスワード生成装置の前記端末入力部から入力される入力値と前記認証装置の前記管理部に記憶される認証データがパスワード文字列であることを特徴とする。【０１５３】
前記認証システムは、
前記ワンタイムパスワード生成装置の前記端末入力部から入力される入力値と前記認証装置の前記管理部に記憶される認証データが指紋などの生体情報であることを特徴とする。【０１５４】
前記ワンタイムパスワード生成装置はさらに、
前記乱数生成部により生成された乱数と前記入力部より入力された入力値とを基にパスワード候補文字の外観を設定する外観設定部とを有し、
前記表示部は、前記外観設定部により設定された外観のパスワード候補文字と、前記入力部からの入力に応じて前記第１のワンタイムパスワードと前記第２のワンタイムパスワードを順次表示し、
前記入力値復元部は、前記入力部から入力された入力値とともに前記乱数生成部で生成された乱数を取り出し、
前記認証判定部は、前記ユーザＩＤとあわせて記憶されたパスワード文字列と前記入力値復元部で取り出した前記入力値及び前記乱数とを用いて所定の演算を行い、ユーザ認証の成否判定を行うことを特徴とする。【０１５５】
また、実施の形態１から３で説明したワンタイムパスワード生成装置は、
ユーザが端末装置を使って認証装置との認証を行う際に使用するワンタイムパスワードを生成するワンタイムパスワード生成装置であって、
暗号鍵を記憶する記憶部と、
乱数を生成する乱数生成部と、
ユーザからの入力を受け付ける入力部と、
前記乱数生成部が生成した乱数と前記入力部からの入力値とを結合した値を前記記憶部に記憶する暗号鍵を使って暗号化した認証値を生成し、認証値を２つに分割して第１のワンタイムパスワードと第２のワンタイムパスワードとを生成するワンタイムパスワード生成部と、
前記入力部からの入力に応じて前記第１のワンタイムパスワードと前記第２のワンタイムパスワードを順次表示する表示部とを有することを特徴とする。【０１５６】
前記ワンタイムパスワード生成装置は、
前記ワンタイムパスワード生成装置の暗号鍵に共通鍵を使用することを特徴とする。【０１５７】
前記ワンタイムパスワード生成装置は、
前記ワンタイムパスワード生成装置の暗号鍵に前記認証装置の公開鍵を使用することを特徴とする。【０１５８】
前記ワンタイムパスワード生成装置は、
前記ワンタイムパスワード生成装置の暗号鍵に前記ワンタイムパスワード装置の秘密鍵を使用することを特徴とする。【０１５９】
前記ワンタイムパスワード生成装置は、
前記ワンタイムパスワード生成装置の前記端末入力部から入力される入力値が暗証番号であることを特徴とする。【０１６０】
前記ワンタイムパスワード生成装置は、
前記ワンタイムパスワード生成装置の前記端末入力部から入力される入力値とがパスワード文字列であることを特徴とする。【０１６１】
前記ワンタイムパスワード生成装置は、
前記ワンタイムパスワード生成装置の前記端末入力部から入力される入力値が指紋などの生体情報であることを特徴とする。【０１６２】
また、実施の形態１から３で説明したＩＣカードは、
ユーザが端末装置からネットワークを介して認証装置との間で認証を行う際に認証の度に毎回異なるワンタイムパスワードを生成するワンタイムパスワード生成装置に挿入して使用され、前記ワンタイムパスワード生成装置とのデータの授受を行うＩＣカードであって、
暗号鍵を記憶する記憶部と、
乱数を生成する乱数生成部と、
前記乱数生成部が生成した乱数と前記ワンタイムパスワード生成装置の入力部からの入力値とを結合した値を前記記憶部に記憶する暗号鍵を使って暗号化した認証値を生成し、認証値を２つに分割して第１のワンタイムパスワードと第２のワンタイムパスワードとを生成し前記ワンタイムパスワード生成装置へ提供するワンタイムパスワード生成部とを有することを特徴とする。【０１６３】
前記ＩＣカードはさらに、
前記乱数生成部により生成された乱数と前記ワンタイムパスワード生成装置の入力部より入力された入力値とを基にパスワード候補文字の外観を設定し前記ワンタイムパスワード生成装置へ提供する外観設定部を有することを特徴とする。【０１６４】
また、実施の形態１から３で説明した認証装置は、
ワンタイムパスワード生成装置が生成するワンタイムパスワードに基づきユーザが利用する端末装置と通信を行ってユーザに対する認証を行う認証装置であって、
前記端末装置よりユーザＩＤとワンタイムパスワードを受信し結果を送信する認証通信部と、
ユーザＩＤとあわせて、復号鍵と正規のユーザを判定するための認証データとを記憶する管理部と、
前記認証通信部が前記端末装置からユーザＩＤと第１のワンタイムパスワードを受信した際にはユーザＩＤとあわせて第１のパスワードを記憶するとともに前記認証通信部を介して前記端末装置に結果として第２のワンタイムパスワードの要求を送信し、前記認証通信部が前記端末装置から第２のワンタイムパスワードを受信した際には、第１のパスワードと第２のパスワードを結合して認証値を生成し、さらに前記認証値を前記復号鍵で復号した値から前記ワンタイムパスワード生成装置において前記入力部から入力された入力値を取り出す入力値復元部と、
前記入力値復元部から得られた入力値と前記管理部に記憶する前記認証データとが一致するか否かによりユーザ認証の成否判定を行い、前記端末装置に対して前記認証通信部を介して認証結果を送信する認証判定部とを有することを特徴とする。【０１６５】
前記認証装置は、
前記認証装置の復号鍵に共通鍵を使用することを特徴とする。【０１６６】
前記認証装置は、
前記認証装置の復号鍵に前記認証装置の秘密鍵を使用することを特徴とする。【０１６７】
前記認証装置は、
前記認証装置の復号鍵に前ワンタイムパスワード生成装置の秘密鍵を使用することを特徴とする。【０１６８】
前記認証装置は、
前記認証装置の前記管理部に記憶される認証データが暗証番号であることを特徴とする。【０１６９】
前記認証装置は、
前記認証装置の前記管理部に記憶される認証データがパスワード文字列であることを特徴とする。【０１７０】
前記認証装置は、
前記認証装置の前記管理部に記憶される認証データが指紋などの生体情報であることを特徴とする。【０１７１】
また、実施の形態１から３で説明した認証方法は、
ユーザが利用する端末装置と認証の際に毎回異なるワンタイムパスワード生成装置と、前記端末装置と通信を行ってユーザに対する認証を行う認証装置とを用いる認証方法であって、
前記ワンタイムパスワード生成装置は、
乱数を生成する乱数生成処理と、
ユーザからの入力を受け付ける入力処理と、
前記乱数生成部が生成した乱数と前記入力部からの入力値とを結合した値を暗号鍵を使って暗号化した認証値を生成し、認証値を２つに分割して第１のワンタイムパスワードと第２のワンタイムパスワードとを生成するワンタイムパスワード生成処理と、
前記入力部からの入力に応じて前記第１のワンタイムパスワードと前記第２のワンタイムパスワードを順次表示する表示処理とを行い、
前記端末装置は、
認証要求画面を表示する認証画面表示処理と、
前記認証要求画面に対してユーザから入力されるユーザＩＤと第１のワンタイムパスワード及び第２のワンタイムパスワードを受け付ける認証入力処理と、
前記認証入力処理で入力されたユーザＩＤと第１のワンタイムパスワード及び第２のワンタイムパスワードを前記認証装置に送信し認証結果を受信する認証要求処理と、
認証の結果を表示する認証結果表示処理とを行い、
前記認証装置は、
前記端末装置より送信された前記認証要求を受信する認証要求受信処理と、
前記認証要求受信処理により前記端末装置から受信した認証要求に含まれるユーザＩＤと第１のワンタイムパスワード及び第２のワンタイムパスワードについて、第１のワンタイムパスワードと第２のワンタイムパスワードを結合して認証値を生成し、さらに前記認証値を復号鍵を使って復号した値から前記ワンタイムパスワード生成装置において前記入力部から入力された入力値を復元する入力値復元処理と、
前記入力値復元処理において得られた入力値がユーザの認証データと一致するか否かによりユーザ認証の成否判定を行う認証判定処理とを行うことを特徴とする。【０１７２】
前記ワンタイムパスワード生成装置はさらに、
前記乱数生成処理により生成された乱数と前記入力処理により入力された入力値とを基にパスワード候補文字の外観を設定する外観設定処理を行うことを特徴とする。
【図面の簡単な説明】
【０１７３】
【図１】実施の形態１に係る認証システムの構成を示すブロック図。
【図２】実施の形態１に係るパスワード生成装置のパスワード生成処理の動作を示すフローチャート。
【図３】実施の形態１における図２のＳ１０４の詳細な動作を示すフローチャート。
【図４】実施の形態１に係る端末装置の認証処理の動作を示すフローチャート。
【図５】実施の形態１に係る認証装置の認証処理の動作を示すフローチャート。
【図６】実施の形態１における図５のＳ４１０の詳細な動作を示すフローチャート。
【図７】コード変換テーブル。
【図８】実施の形態１に係る端末装置に表示される認証画面。
【図９】実施の形態１に係るパスワード生成装置に表示されるパスワード生成画面。
【図１０】実施の形態１に係るパスワード生成装置に表示される第１のパスワード表示画面。
【図１１】実施の形態１に係るパスワード生成装置に表示される第２のパスワード表示画面。
【図１２】実施の形態２に係る認証システムの構成を示すブロック図。
【図１３】実施の形態２に係るパスワード生成装置のパスワード生成処理の動作を示すフローチャート。
【図１４】実施の形態３に係る認証システムの構成を示すブロック図。
【図１５】実施の形態３に係るパスワード生成装置がパスワード生成時に作成する認証値の例。
【符号の説明】
【０１７４】
１０１，６０１，７０１  ワンタイムパスワード生成装置、１０２，６０２，７０２  パスワード表示部、１０３，６０３，７０３  パスワード入力部、１０４，６０４，７０４  記憶部、１０５  外観設定部、１０６，６０６，７０６  パスワード生成部、１０７，６０７，７０７  乱数生成部、１０８，６０８，７０８  ＩＣカード、１０９，６０９，７０９  端末装置、１１０，６１０，７１０  端末入力部、１１１，６１１，７１１  端末表示部、１１２，６１２，７１２  端末通信部、１１３，６１３，７１３  サーバ装置、１１４，６１４，７１４  入力値復元部、１１５，６１５，７１５  認証判定部、１１６，６１６，７１６  管理部、１１７，６１７，７１７  認証通信部、１１８，６１８，７１８  ネットワーク、２０１  認証画面、２０２  ユーザＩＤ入力フィールド、２０３  ワンタイムパスワード入力フィールド、２０４  実行ボタン、３０１  ワンタイムパスワード生成画面、３０２  パスワード配列、４０１  第１のワンタイムパスワード表示画面、５０１  第２のワンタイムパスワード表示画面、７１９  生体情報読取部。
【図１】
0004523944.tif 000006
【図２】
0004523944.tif 000007
【図３】
0004523944.tif 000008
【図４】
0004523944.tif 000009
【図５】
0004523944.tif 000010
【図６】
0004523944.tif 000011
【図７】
0004523944.tif 000012
【図８】
0004523944.tif 000013
【図９】
0004523944.tif 000014
【図１０】
0004523944.tif 000015
【図１１】
0004523944.tif 000016
【図１２】
0004523944.tif 000017
【図１３】
0004523944.tif 000018
【図１４】
0004523944.tif 000019
【図１５】
0004523944.tif 000020