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