(57)【特許請求の範囲】
【請求項１】
複数の二次元コードそれぞれを画像化して二次元コードシンボルそれぞれを配置指示通りに配置させて画面に表示する表示装置、および、前記画面に配置された複数の前記二次元コードシンボルを、ユーザに操作されて所定の数（ｍ）だけ読み取り、前記所定の数（ｍ）の読取データを連ねた連結情報を生成する二次元コード読取装置とネットワークを介して接続され、前記表示装置から受信したユーザＩＤに基づき前記ユーザに係る前記複数の二次元コードおよびそれらの配置位置を示す配置指示データを前記表示装置に送信し、前記二次元コード読取装置から受信した前記連結情報を用いてユーザ認証を行う認証サーバであって、
ユーザを識別するユーザＩＤと、前記二次元コードシンボルの配置位置を示す読取パターンと、前記ユーザＩＤごとに異なる秘密コードとを対応付けて予め記憶する記憶手段と、
乱数を発生させる乱数発生手段と、
前記表示装置から送信された前記ユーザＩＤと対応して前記記憶手段に記憶された前記秘密コードを、前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記所定の数（ｍ）のユーザ二次元コードを生成するとともに、前記乱数発生手段から乱数を取得して少なくとも１つの乱数の列を生成し、前記乱数の列を前記乱数の列毎に前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードを生成する二次元コード生成手段と、
前記表示装置から送信された前記ユーザＩＤに基づく前記読取パターンを前記記憶手段から取得し、前記読取パターンで示される配置位置に沿って、前記ユーザ二次元コードそれぞれを配置させる指示と、前記ダミー二次元コードそれぞれを前記配置位置以外の位置に配置させる指示とを含む前記配置指示データを生成する二次元コード配置指定手段と、
前記所定の数（ｍ）のユーザ二次元コードおよび前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードからなる前記複数の二次元コードと、前記配置指示データとを、前記表示装置へ送信させる二次元コード出力手段と、
前記二次元コード読取装置から送信された連結情報と合致する前記記憶手段に記憶された秘密コードがあるか否かでユーザ認証に成功したか否かを判別する認証手段と
を備えることを特徴とする認証サーバ。
【請求項２】
前記二次元コード生成手段が前記秘密コードを前記所定の数（ｍ）に分割する前に、前記秘密コードを所定の暗号化方式で暗号化し、前記乱数の列毎に前記所定の数（ｍ）に分割する前に、前記乱数の列を前記所定の暗号化方式で暗号化する暗号化手段を備えるとともに、
前記認証手段は、前記二次元コード読取装置から送信された連結情報を前記所定の暗号化方式に対応した復号方式で復号する連結情報復号手段と
をさらに備えることを特徴とする請求項１に記載された認証サーバ。
【請求項３】
現在時刻を出力する時刻出力手段をさらに備え、
前記暗号化手段は、前記時刻出力手段から取得した時刻情報を含めて前記秘密コードを暗号化し、
前記認証手段は、
前記連結情報復号手段により復号後の前記連結情報から、時刻情報と秘密データとを分離する情報分離手段と、
前記時刻出力手段から現在時刻を取得し、前記分離した時刻情報の時刻から前記現在時刻までの時間が所定の時間内であるか否かの第１のユーザ認証を行い、さらに、前記分離した秘密データと合致する秘密コードが前記記憶手段に記憶されているか否かの第２のユーザ認証を行う二段階認証手段と
を備えることを特徴とする請求項２に記載された認証サーバ。
【請求項４】
前記二次元コード配置指定手段は、前記ユーザ二次元コードおよび前記ダミー二次元コードを二次元マトリクス状に配置させる指示を、前記配置指示データに加えることを特徴とする請求項１ないし請求項３のいずれか１項に記載された認証サーバ。
【請求項５】
前記二次元コード配置指定手段は、前記ユーザ二次元コードまたは前記ダミー二次元コードを複製し、前記配置指示データの生成の際に、複製した複製ユーザ二次元コードまたは複製ダミー二次元コードを、前記配置位置以外の位置に配置させる指示を、前記配置指示データに加えることを特徴とする請求項１ないし請求項４のいずれか１項に記載された認証サーバ。
【請求項６】
前記二次元コード配置指定手段は、画面表示１回につき、１個の前記ユーザ二次元コードおよび少なくとも１個の前記ダミー二次元コードを配置させる指示と、前記所定の数（ｍ）の画面遷移を行わせる指示とを、前記配置指示データに加えることを特徴とする請求項１ないし請求項５のいずれか１項に記載された認証サーバ。
【請求項７】
複数の二次元コードそれぞれを画像化して二次元コードシンボルそれぞれを配置指示通りに配置させて画面に表示する表示装置、および、前記画面に配置された複数の前記二次元コードシンボルを、ユーザに操作されて所定の数（ｍ）だけ読み取り、前記所定の数（ｍ）の読取データを連ねた連結情報を生成する二次元コード読取装置とネットワークを介して接続され、前記表示装置から受信したユーザＩＤに基づき前記ユーザに係る前記複数の二次元コードおよびそれらの配置位置を示す配置指示データを前記表示装置に送信し、前記二次元コード読取装置から受信した前記連結情報を用いてユーザ認証を行うために、データの送受信を行う通信手段と、ユーザを識別するユーザＩＤと、前記二次元コードシンボルの配置位置を示す読取パターンと、前記ユーザＩＤごとに異なる秘密コードとを対応付けて予め記憶する記憶手段を備える認証サーバのコンピュータを、
乱数を発生させる乱数発生手段、
前記表示装置から送信されたユーザＩＤと対応して前記記憶手段に記憶された前記秘密コードを前記記憶手段から取得し、当該秘密コードを所定の暗号化方式で暗号化して暗号化ユーザデータを生成するとともに、前記乱数発生手段から乱数を取得して少なくとも１つの乱数の列を生成し、前記乱数の列を前記乱数の列毎に前記所定の暗号化方式で暗号化して暗号化ダミーデータを生成する暗号化手段、
前記暗号化ユーザデータを前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記所定の数（ｍ）のユーザ二次元コードを生成するとともに、前記暗号化ダミーデータを、前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードを生成する二次元コード生成手段、
前記表示装置から送信された前記ユーザＩＤに基づく前記読取パターンを前記記憶手段から取得し、前記読取パターンで示される配置位置に沿って、前記ユーザ二次元コードそれぞれを配置させる指示と、前記ダミー二次元コードそれぞれを前記配置位置以外の位置に配置させる指示とを含む前記配置指示データを生成する二次元コード配置指定手段、
前記所定の数（ｍ）のユーザ二次元コードおよび前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードからなる前記複数の二次元コードと、前記配置指示データとを、前記表示装置へ前記通信手段に送信させる二次元コード出力手段および、
前記二次元コード読取装置から送信された連結情報を前記所定の暗号化方式に対応した復号方式で復号して秘密データを取得し、その秘密データと合致する前記記憶手段に記憶された秘密コードがあるか否かでユーザ認証に成功したか否かを判別する認証手段、
として機能させるためのユーザ認証プログラム。
【請求項８】
ユーザ認証を行う認証サーバと、画像を画面に表示する入力表示装置と、二次元コード読取装置とからなる認証システムであって、
前記入力表示装置は、
ユーザからユーザＩＤが入力される入力手段と、
前記認証サーバとデータの送受信を行う通信手段と、
二次元コードを二次元コードシンボルに画像変換して、配置指示に沿って複数の当該二次元コードシンボルを画面に配置して表示させる表示手段とを備え、
前記二次元コード読取装置は、
前記ユーザからの操作を受け付ける操作手段と、
前記ユーザに操作されて、前記入力表示装置の画面に表示された二次元コードシンボルを読み取って所定の数（ｍ）の読取データを取得する二次元コード読取手段と、
前記所定の数（ｍ）の前記読取データを連結して連結情報を生成する連結情報生成手段と、
前記認証サーバにデータを送信する送信手段とを備え、
前記認証サーバは、
前記入力表示装置とデータの送受信を行うとともに、前記二次元コード読取装置からデータを受信する通信手段と、
前記ユーザを識別するユーザＩＤと、前記二次元コードシンボルの配置位置を示す読取パターンと、前記ユーザＩＤごとに異なる秘密コードとを対応付けて予め記憶する記憶手段と、
乱数を発生させる乱数発生手段と、
前記入力表示装置から送信されたユーザＩＤと対応して前記記憶手段に記憶された前記秘密コードを取得し、当該秘密コードを所定の暗号化方式で暗号化して、暗号化ユーザデータを生成するとともに、前記乱数発生手段から乱数を取得して少なくとも１つの乱数の列を生成し、前記乱数の列を前記乱数の列毎に前記所定の暗号化方式で暗号化して暗号化ダミーデータを生成する暗号化手段と、
前記暗号化ユーザデータを前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記所定の数（ｍ）のユーザ二次元コードを生成するとともに、前記暗号化ダミーデータを前記暗号化ダミーデータ毎に前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードを生成する二次元コード生成手段と、
前記入力表示装置から送信された前記ユーザＩＤに基づく前記読取パターンを前記記憶手段から取得し、前記読取パターンで示される配置位置に沿って、前記ユーザ二次元コードそれぞれを配置させる指示と、前記ダミー二次元コードそれぞれを前記配置位置以外の位置に配置させる指示とを含む配置指示データを生成する二次元コード配置指定手段と、
前記所定の数（ｍ）のユーザ二次元コードおよび前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードからなる前記複数の二次元コードと、前記配置指示データとを、前記入力表示装置へ送信させる二次元コード出力手段と、
前記二次元コード読取装置から送信された連結情報を前記所定の暗号化方式に対応した復号方式で復号して秘密データを取得し、その秘密データと合致する前記記憶手段に記憶された秘密コードがあるか否かでユーザ認証に成功したか否かを判別する認証手段とを備える
ことを特徴とする認証システム。
【請求項９】
前記入力表示装置は、
前記表示手段が、複数の擬似二次元コードシンボルを配置して、選択可能に画面に表示させ、
前記ユーザにより前記入力手段を介して前記擬似二次元コードシンボルが選択されることで、前記擬似二次元コードシンボルの配置位置を読取パターンとして取得する読取パターン取得手段を備え、
前記認証サーバは、
前記入力表示装置から送信された前記ユーザＩＤおよび前記読取パターンを取得し、それらを含む秘密コードを生成する秘密コード生成手段と、
前記ユーザＩＤと、前記読取パターンと、前記秘密コードとを対応付けて前記記憶手段に記憶させるユーザ登録手段とをさらに備える
ことを特徴とする請求項８に記載された認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証サーバ、認証プログラムおよび認証システムに関し、特に、ユーザ認証を行う認証サーバと、認証サーバと通信可能に接続する入力表示装置と、認証サーバと通信可能に接続する二次元コード読取装置とを備える認証システムに関する。
【背景技術】
【０００２】
現在、放送と通信の連携時代を迎え、放送分野でも通信を利用した多様なサービスが求められている。こうした背景の中、テレビを介して通信を利用した個人向けサービスが検討されている。この個人向けサービスを提供するために、テレビを利用する利用者に合わせてテレビ自身が内部設定を変更する、つまり、テレビが利用者それぞれに特化したスタイルに変わる必要がある。よって、個人向けサービスを提供するためには、利用者を特定する認証技術が必要である。
現在広く普及している認証技術として、利用者を特定するＩＤ（IDentification）およびパスワードの両方を用いる認証方式がある。
【０００３】
特許文献１のマトリクス認証方式は、ＩＤおよびパスワードを用いる認証方式の１つである。利用者のＩＤと対応付けられて認証サーバ側に記憶されるパスワードは、秘密にするべき情報であり、利用者が覚えておくべき情報である。特許文献１のマトリクス認証方式は、このパスワード（秘密にするべき情報）を利用者が覚えやすくすること、および高いセキュリティ強度（安全性）を確保することを目的としている。
この特許文献１のマトリクス認証方式では、（１）ユーザは、乱数表の読み取り方法（各欄の読み取り順序）を秘密情報（パスワード）として、認証サーバに事前に登録しておく。（２）ユーザは、認証時に提示される乱数表の数字を、事前に登録した読み取り方法で読み取って覚える。（３）ユーザは覚えた数字を入力し、この数字列を入力パスワードとして認証サーバに伝える。（４）認証サーバは、ユーザから伝えられた数字列（入力パスワード）と、提示した乱数表をそのユーザに登録された秘密情報（乱数表の読み取り方法）で読み取った結果の数字列（判定パスワード）とが一致するか否かを認証する。
【０００４】
この特許文献１のマトリクス認証方式では、（２）の手順において、例えば、乱数表全体をＶの字に読み取るなど、視覚的な覚え方ができるので、一般的なパスワード入力方法よりも直観的に覚えることができる。
また、特許文献１のマトリクス認証方式では、ユーザが乱数表の読み取り方法を覚えるため、数字列をワンタイムパスワードとしての利用が可能である。すなわち、認証で使用する乱数表を毎回違うものにし、各乱数表は１度きりの認証でしか使えないようにすることで、たとえ（３）の手順でユーザが入力した数字列を盗まれたとしても、次回はその数字列は入力パスワードとして有効ではなくなる。よって、高いセキュリティ強度を確保することができる。また、仮に提示された乱数表も同時に盗まれたとしても、乱数表には同じ数字がいくつかの欄にあるため、ユーザが入力した数字列から、必ずしも秘密情報である乱数表の読み取り方法（読み取り順序）が判明する訳ではない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０９０２５１号
【特許文献２】特開２０１０−６１４６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のマトリクス認証方式では、（３）の手順でユーザが手入力する都合上、入力パスワードとしては１０〜２０桁程度の長さの数字列が用いられることが予想される。この程度の長さの数字列（入力パスワード）では、認証サーバが全数探索攻撃をされたときに、認証サーバに事前に登録された秘密情報（乱数表の読み取り方法）であるパスワードが盗まれるリスクが高いという問題点がある。
【０００７】
また、セキュリティ強度を上げるために数字列（入力パスワード）の長さを増やす場合、単にユーザの手間が増えるだけでなく、数字列の入力作業において、ユーザは、乱数表を見て、特定位置の数字を一時的に覚えて、入力欄に数字を入力するという視線の移動を伴うため、読み取りミスや記憶違いなどの人為的なミスが発生する確率が高くなってしまうという問題点もある。
【０００８】
本発明は、以上のような問題点を鑑みてなされたものであり、ＱＲコード（登録商標）などの二次元コードを用いることで、従来のマトリクス認証方式よりも、パスワードを入力する手間を軽減すると共に、より高いセキュリティ強度の認証方式をもつ認証サーバ、認証プログラムおよび認証システムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明の請求項１に記載の認証サーバは、複数の二次元コードそれぞれを画像化して二次元コードシンボルそれぞれを配置指示通りに配置させて画面に表示する表示装置、および、前記画面に配置された複数の前記二次元コードシンボルを、ユーザに操作されて所定の数（ｍ）だけ読み取り、前記所定の数（ｍ）の読取データを連ねた連結情報を生成する二次元コード読取装置とネットワークを介して接続され、前記表示装置から受信したユーザＩＤに基づき前記ユーザに係る前記複数の二次元コードおよびそれらの配置位置を示す配置指示データを前記表示装置に送信し、前記二次元コード読取装置から受信した前記連結情報を用いてユーザ認証を行う認証サーバであって、記憶手段と、乱数発生手段と、二次元コード生成手段と、二次元コード配置指定手段と、二次元コード出力手段と、認証手段とを備える。
【００１０】
かかる構成によれば、認証サーバは、記憶手段に、ユーザを識別するユーザＩＤと、前記二次元コードシンボルの配置位置を示す読取パターンと、前記ユーザＩＤごとに異なる秘密コードとが対応付けて予め記憶され、乱数発生手段によって、乱数を発生させる。そして、二次元コード生成手段によって、前記表示装置から送信された前記ユーザＩＤと対応して前記記憶手段に記憶された前記秘密コードを、前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記所定の数（ｍ）のユーザ二次元コードを生成するとともに、前記乱数発生手段から乱数を取得して少なくとも１つの乱数の列を生成し、前記乱数の列を前記乱数の列毎に前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードを生成する。続いて、二次元コード配置指定手段によって、前記表示装置から送信された前記ユーザＩＤに基づく前記読取パターンを前記記憶手段から取得し、前記読取パターンで示される配置位置に沿って、前記ユーザ二次元コードそれぞれを配置させる指示と、前記ダミー二次元コードそれぞれを前記配置位置以外の位置に配置させる指示とを含む前記配置指示データを生成する。さらに、二次元コード出力手段によって、前記所定の数（ｍ）のユーザ二次元コードおよび前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードからなる前記複数の二次元コードと、前記配置指示データとを、前記表示装置へ送信させる。次に、認証手段によって、前記二次元コード読取装置から送信された連結情報と合致する前記記憶手段に記憶された秘密コードがあるか否かでユーザ認証を行う。
これによって、ユーザが二次元コード読取装置を操作して、ｍ個の二次元コードシンボルそれぞれを正しい位置（記憶手段に記憶された配置位置と同じ）で読み取らなければ、二次元コード読取装置から送信される読取データを連ねた連結情報は、認証サーバにおいて二次元コード化する前のデータ（秘密データ）と一部のデータが異なることになる。そのため、認証サーバの認証手段において、ユーザ認証がＮＧとなる。一方、ｍ個の二次元コードそれぞれを正しい位置で読み取ることで、連結情報は、認証サーバにおいて二次元コード化する前のデータ（秘密データ）と合致するため、認証サーバの認証手段において、ユーザ認証がＯＫとなる。
【００１１】
また、請求項２に記載の認証サーバは、請求項１に記載された認証サーバにおいて、前記二次元コード生成手段が前記秘密コードを前記所定の数（ｍ）に分割する前に、前記秘密コードを所定の暗号化方式で暗号化し、前記乱数の列毎に前記所定の数（ｍ）に分割する前に、前記乱数の列を前記所定の暗号化方式で暗号化する暗号化手段を備えるとともに、前記認証手段は、前記二次元コード読取装置から送信された連結情報を前記所定の暗号化方式に対応した復号方式で復号する連結情報復号手段とをさらに備える。
【００１２】
これによって、認証サーバは、表示装置に送信する秘密データを暗号化してからｍ個に分割して二次元コード化する。つまり、暗号化した秘密データを表示装置に送信する。そして、二次元コード読取装置により、ｍ個の二次元コードシンボルそれぞれを正しい位置で読み取ることで得られる連結情報は、暗号化された秘密データである。この暗号化された秘密データを認証サーバに送信する。
【００１３】
また、請求項３に記載の認証サーバは、請求項２に記載された認証サーバにおいて、現在時刻を出力する時刻出力手段をさらに備え、前記暗号化手段が、前記時刻出力手段から取得した時刻情報を含めて前記秘密コードを暗号化し、前記認証手段が、前記連結情報復号手段により復号後の前記連結情報から、時刻情報と秘密データとを分離する情報分離手段と、前記時刻出力手段から現在時刻を取得し、前記分離した時刻情報の時刻から前記現在時刻までの時間が所定の時間内であるか否かの第１のユーザ認証を行い、さらに、前記分離した秘密データと合致する秘密コードが前記記憶手段に記憶されているか否かの第２のユーザ認証を行う二段階認証手段とを備える。
【００１４】
かかる構成によれば、認証サーバは、二次元コードを表示装置に送信した時刻（時刻情報の時刻）と、二次元コード読取装置から連結情報を受信した時刻（現在時刻）とで時間認証を行う。時刻情報の時刻から現在時刻までの時間が所定の時間を越えていれば、認証ＮＧとなる。
【００１５】
また、請求項４に記載の認証サーバは、請求項１ないし請求項３のいずれか１項に記載された認証サーバにおいて、前記二次元コード配置指定手段が、前記ユーザ二次元コードおよび前記ダミー二次元コードを二次元マトリクス状に配置させる指示を、前記配置指示データに加えることを特徴とする。
【００１６】
かかる構成によれば、表示装置にユーザ二次元コードおよびダミー二次元コードを二次元マトリクス状に配置させる指示を送信するため、表示装置の画面には、前記所定の数（ｍ）のユーザ二次元コードおよび前記所定の数（ｍ）のダミー二次元コードからなる複数の二次元コードが二次元マトリクス状に表示される。
【００１７】
また、請求項５に記載の認証サーバは、請求項１ないし請求項４のいずれか１項に記載された認証サーバにおいて、前記二次元コード配置指定手段が、前記ユーザ二次元コードまたは前記ダミー二次元コードを複製して、複製した複製ユーザ二次元コードまたは複製ダミー二次元コードを、前記配置位置以外の位置に配置させる指示を、前記配置指示データに加えることを特徴とする。
【００１８】
かかる構成によれば、ユーザ二次元コードを複製して、複数のユーザ二次元コードを１画面上に表示させることになるため、みかけ上、『読取パターン』が複数できることになる。しかしながら、ユーザＩＤ、二次元コード、（二次元コードを画像化した）二次元コードシンボルの配置位置、および二次元コード読取装置から認証サーバに送信される連結情報のうち、それらすべてが盗聴などにより盗まれたとしても、そのユーザＩＤに対応する『読取パターン』を一意に特定することが難しくなるため、セキュリティ強度をより高めることができる。
【００１９】
また、請求項６に記載の認証サーバは、請求項１ないし請求項５のいずれか１項に記載された認証サーバにおいて、前記二次元コード配置指定手段が、画面表示１回につき、１個の前記ユーザ二次元コードおよび少なくとも１個の前記ダミー二次元コードを配置させる指示と、前記所定の数（ｍ）の画面遷移を行わせる指示とを、前記配置指示データに加えることを特徴とする。
【００２０】
かかる構成によれば、配置指示データを受信した表示装置では、画面遷移回数分の画面（ｍ画面）が生成され、その１画面につき、１個のユーザ二次元コードと、少なくとも１個のダミー二次元コードとが配置されて表示される。これにより、１画面上に表示される二次元コードシンボルの数を減らすことができる。
【００２１】
また、請求項７に記載のユーザ認証プログラムは、複数の二次元コードそれぞれを画像化して二次元コードシンボルそれぞれを配置指示通りに配置させて画面に表示する表示装置、および、前記画面に配置された複数の前記二次元コードシンボルを、ユーザに操作されて所定の数（ｍ）だけ読み取り、前記所定の数（ｍ）の読取データを連ねた連結情報を生成する二次元コード読取装置とネットワークを介して接続され、前記表示装置から受信したユーザＩＤに基づき前記ユーザに係る前記複数の二次元コードおよびそれらの配置位置を示す配置指示データを前記表示装置に送信し、前記二次元コード読取装置から受信した前記連結情報を用いてユーザ認証を行うために、データの送受信を行う通信手段と、ユーザを識別するユーザＩＤと、前記二次元コードシンボルの配置位置を示す読取パターンと、前記ユーザＩＤごとに異なる秘密コードとを対応付けて予め記憶する記憶手段を備える認証サーバのコンピュータを、乱数発生手段、暗号化手段、二次元コード生成手段、二次元コード配置指定手段、二次元コード出力手段および、認証手段、として機能させることを特徴とする。
【００２２】
かかる構成によれば、ユーザ認証プログラムは、乱数発生手段によって、乱数を発生させ、暗号化手段によって、前記表示装置から送信された前記ユーザＩＤと対応して前記記憶手段に記憶された前記秘密コードを前記記憶手段から取得し、当該秘密コードを所定の暗号化方式で暗号化して暗号化ユーザデータを生成するとともに、前記乱数発生手段から乱数を取得して少なくとも１つの乱数の列を生成し、前記乱数の列を前記乱数の列毎に前記所定の暗号化方式で暗号化して暗号化ダミーデータを生成する。二次元コード生成手段によって、前記暗号化ユーザデータを前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記所定の数（ｍ）のユーザ二次元コードを生成するとともに、前記暗号化ダミーデータを、前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードを生成する。続いて、二次元コード配置指定手段によって、前記表示装置から送信された前記ユーザＩＤに基づく前記読取パターンを前記記憶手段から取得し、前記読取パターンで示される配置位置に沿って、前記ユーザ二次元コードそれぞれを配置させる指示と、前記ダミー二次元コードそれぞれを前記配置位置以外の位置に配置させる指示とを含む前記配置指示データを生成する。さらに、二次元コード出力手段によって、前記所定の数（ｍ）のユーザ二次元コードおよび前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードからなる前記複数の二次元コードと、前記配置指示データとを、前記表示装置へ前記通信手段に送信させる。次に、認証手段によって、前記二次元コード読取装置から送信された連結情報を前記所定の暗号化方式に対応した復号方式で復号して秘密データを取得し、その秘密データと合致する前記記憶手段に記憶された秘密コードがあるか否かでユーザ認証に成功したか否かを判別する。
【００２３】
また、請求項８に記載の認証システムは、ユーザ認証を行う認証サーバと、画像を画面に表示する入力表示装置と、二次元コード読取装置とからなる認証システムであって、前記入力表示装置が、入力手段と、通信手段と、表示手段とを備え、前記二次元コード読取装置が、操作手段と、連結情報生成手段と、送信手段とを備え、前記認証サーバが、通信手段と、記憶手段と、乱数発生手段と、暗号化手段と、二次元コード生成手段と、二次元コード配置指定手段と、二次元コード出力手段と、認証手段とを備えることとした。
【００２４】
かかる構成によれば、認証システムにおいて、前記入力表示装置は、入力手段によって、ユーザからユーザＩＤが入力される、通信手段によって、前記認証サーバとデータの送受信を行い、表示手段によって、二次元コードを二次元コードシンボルに画像変換して、配置指示に沿って複数の当該二次元コードシンボルを画面に配置して表示させる。
また、認証システムにおいて、前記二次元コード読取装置は、操作手段によって、前記ユーザからの操作を受け付け、二次元コード読取手段によって、前記ユーザに操作されて、前記入力表示装置の画面に表示された二次元コードシンボルを読み取って所定の数（ｍ）の読取データを取得する。そして、連結情報生成手段によって、前記所定の数（ｍ）の前記読取データを連結して連結情報を生成し、送信手段によって、前記認証サーバにデータを送信する。
【００２５】
また、認証システムにおいて、前記認証サーバは、記憶手段に、前記ユーザを識別するユーザＩＤと、前記二次元コードシンボルの配置位置を示す読取パターンと、前記ユーザＩＤごとに異なる秘密コードとの３つを対応付けて予め記憶する。また、通信手段によって、前記入力表示装置とデータの送受信を行うとともに、前記二次元コード読取装置からデータを受信する。そして、乱数発生手段によって、乱数を発生させ、暗号化手段によって、前記入力表示装置から送信されたユーザＩＤと対応して前記記憶手段に記憶された前記秘密コードを取得し、当該秘密コードを所定の暗号化方式で暗号化して、暗号化ユーザデータを生成するとともに、前記乱数発生手段から乱数を取得して少なくとも１つの乱数の列を生成し、前記乱数の列を前記乱数の列毎に前記所定の暗号化方式で暗号化して暗号化ダミーデータを生成する。そして、二次元コード生成手段によって、前記暗号化ユーザデータを前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記暗号化ダミーデータ毎に前記所定の数（ｍ）のユーザ二次元コードを生成するとともに、前記暗号化ダミーデータを、前記所定の数（ｍ）に分割してそれぞれを二次元コード化し、前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードを生成する。続いて、二次元コード配置指定手段によって、前記入力表示装置から送信された前記ユーザＩＤに基づく前記読取パターンを前記記憶手段から取得し、前記読取パターンの配置位置に沿って、前記ユーザ二次元コードそれぞれを配置させる指示と、前記ダミー二次元コードそれぞれを前記配置位置以外の位置に配置させる指示とを含む配置指示データを生成する。さらに、二次元コード出力手段によって、前記所定の数（ｍ）のユーザ二次元コードおよび前記生成した乱数の列の列数に前記所定の数（ｍ）を乗算した数のダミー二次元コードからなる前記複数の二次元コードと、前記配置指示データとを、前記入力表示装置へ送信させる。次に、認証手段によって、前記二次元コード読取装置から送信された連結情報を前記所定の暗号化方式に対応した復号方式で復号して秘密データを取得し、その秘密データと合致する前記記憶手段に記憶された秘密コードがあるか否かでユーザ認証に成功したか否かを判別する。
【００２６】
また、請求項９に記載の認証システムは、請求項８に記載された認証システムにおいて、前記入力表示装置が、第２の表示手段と、読取パターン取得手段を備え、前記認証サーバが、秘密コード生成手段と、ユーザ登録手段とを備えることとした。
【００２７】
かかる構成によれば、認証システムにおいて、前記入力表示装置は、前記表示手段によって、複数の擬似二次元コードシンボルを配置して、選択可能に画面に表示させ、読取パターン取得手段によって、前記ユーザにより前記入力手段を介して所定の数（ｍ）の前記擬似二次元コードシンボルが選択されることで、前記擬似二次元コードシンボルの所定の数（ｍ）の配置位置を読取パターンとして取得する。
そして、認証システムにおいて、前記認証サーバは、秘密コード生成手段によって、前記入力表示装置から送信された前記ユーザＩＤおよび前記読取パターンを取得し、それらを含む秘密コードを生成し、ユーザ登録手段によって、前記ユーザＩＤと、前記読取パターンと、前記秘密コードとを対応付けて前記記憶手段に記憶させる。
【発明の効果】
【００２８】
本発明は、以下に示す優れた効果を奏するものである。
請求項１、請求項７または請求項８に記載の発明によれば、認証の対象である秘密データを二次元コード化する。この二次元コードには数Ｋｂｙｔｅまでのデータを入力できるため、秘密データをｍ個に分割して二次元コード化することで、ｍ×１００桁以上の秘密データをパスワードとして利用できるため、セキュリティ強度を高くすることができる。
かかる構成によれば、ユーザは、読み取るべきｍ個の二次元コードシンボルそれぞれの正しい位置だけを覚えればよいため、パスワードを入力する手間を軽減すると共に、記憶違いなどの人為的なミスが発生する確率を低減することができる。
【００２９】
また、例えば、二次元コード読取装置にＣＣＤ（Charge Coupled Device）カメラを備える携帯電話を用いることで、ユーザは、携帯電話の画面に表示された１つ１つの二次元コードシンボルをワンクリックで撮影（読み取る）する。この操作においてユーザが携帯電話の画面から視線を移動することはないため、読み取りミスや記憶違いなどの人為的なミスが発生する確率を低減することができる。
【００３０】
請求項２に記載の発明によれば、秘密コードを暗号化するため、ネットワーク上では、暗号化された秘密データの送受信を行うことになる。これにより、セキュリティ強度の高い認証サーバを提供することができる。
【００３１】
請求項３に記載の発明によれば、認証サーバは、時間認証を行うため、表示装置に送信した二次元コードを有効期限付きワンタイムパスワードとすることができ、セキュリティ強度を高めることができる。
【００３２】
請求項４に記載の発明によれば、表示装置の画面に、複数の二次元コードシンボルが二次元マトリクス状に表示されるため、ユーザは、正しい位置（記憶手段に記憶された配置位置と同じ）を覚えるときに、視覚的な覚え方ができる。そのため、ユーザに対して、パスワードを入力する手間を軽減すると共に、記憶違いなどの人為的なミスが発生する確率を低減することができる。
【００３３】
請求項５に記載の発明によれば、みかけ上、『読取パターン』が複数できることになるが、ユーザＩＤ、二次元コード、（二次元コードを画像化した）二次元コードシンボルの配置位置、二次元コード読取装置から認証サーバに送信される連結情報のうち、それらすべてが盗聴などにより盗まれたとしても、そのユーザＩＤに対応する『読取パターン』を一意に特定することができないため、セキュリティ強度をより高めることができる。
【００３４】
請求項６に記載の発明によれば、画面表示１回につきそれぞれ１個ずつ配置させるため、１画面上に表示される二次元コードシンボルの数を減らすことができる。これにより、マトリクスのサイズを小さくすることができ、それにより表示スペースが得られるため、二次元コードシンボルが読み取りやすくなる。そして、表示スペースや表示スペースに起因するユーザビリティの制約から解放することができる。
【図面の簡単な説明】
【００３５】
【図１】第１の実施形態に係る認証システムを示す図である。
【図２】第１の実施形態に係る認証サーバのブロック図である。
【図３】第１の実施形態に係る入力表示装置に配列表示された二次元コードシンボルの一例を示す図である。
【図４】第１の実施形態に係る認証サーバのユーザＤＢに記憶されるデータの一例を示す図である。
【図５】（ａ）ユーザデータ［Ｄｕ］、（ｂ）暗号化ユーザデータ［ｃＤｕ］、（ｃ）アドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］、（ｄ）分割データ［ｄｉｖ＊ｕ］、（ｅ）特定の文字列［＆］が付与された分割データ［ｄｉｖ＊ｕ］、（ｆ）ユーザ二次元コード［ＱＲ＊ｕ］を示す図である。
【図６】第１の実施形態に係る認証システムにおいて、入力表示装置と認証サーバとの間で行われるユーザ登録処理動作のタイムチャートである。
【図７】第１の実施形態に係る認証サーバの二次元コード配置処理動作のフローチャートである。
【図８】図７に続く第１の実施形態に係る認証サーバの二次元コード配置処理動作のフローチャートである。
【図９】第１の実施形態に係る認証サーバのユーザ認証実行処理動作のフローチャートである。
【図１０】第２の実施形態に係る認証サーバのブロック図である。
【発明を実施するための形態】
【００３６】
《第１の実施形態》
次に、第１の実施形態について、適宜、図面を参照しながら詳細に説明する。なお、各図は、本発明について概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００３７】
１．システム構成
認証システム１００は、図１に示すように、認証サーバ１と、入力表示装置２と、通信機能付き二次元コード読取装置３と、それらを通信可能に接続するネットワーク４とを含んで構成されている。なお、本実施形態では、二次元コードとしてＱＲコード（登録商標）を採用した。
【００３８】
（認証サーバ１）
認証サーバ１は、ユーザ認証を行うための一連のデータを分割して複数の二次元コードを生成し、生成した複数の二次元コードとそれらの配置位置とを入力表示装置２に送信（出力）する機能と、二次元コード読取装置３から受信（入力）した、読み取られた二次元コード（読取データ）が連結された連結情報に基づき、ユーザ認証を行う機能とを有する装置である。
詳細は後記するが、認証サーバ１は、入力表示装置２および二次元コード読取装置３と通信可能に接続する通信入出力手段１０と、データを記憶する記憶手段２０と、ユーザ登録処理を行う登録手段３０と、登録されたユーザに係る情報から二次元コードを生成して配置する二次元コード生成配置手段４０と、ユーザ認証を行う認証手段５０とを備える。
【００３９】
（入力表示装置２）
入力表示装置２は、二次元コード読取装置３が読み取り可能なように、かつ、ユーザが視認可能なように二次元コードを二次元コードシンボルに画像変換して、配置指示に沿って複数の二次元コードシンボルを画面に配置して表示する手段（表示手段）と、ユーザからデータが入力される手段（入力手段）と、認証サーバ１とデータの送受信を行う手段（通信手段）とを備える装置である。詳細は後記する。
この入力表示装置２は、ＣＰＵ（Central Processing Unit）などの演算装置と、メモリやハードディスクなどの記憶装置と、マウスやキーボードなどの外部から情報の入力を検出する入力装置と、外部との各種情報の送受信を行うインターフェース装置と、ＬＣＤ（Liquid Crystal Display）などの表示装置を備えたコンピュータと、このコンピュータにインストールされたプログラムとから構成される。
【００４０】
入力表示装置２は、ユーザから入力された指示に応じて、ユーザ登録画面またはユーザ認証画面を表示する。
＜ユーザ登録画面＞
入力表示装置２は、ユーザ登録画面を表示してユーザＩＤの入力を促し、ユーザＩＤを入力させる。
次に、入力表示装置２は、画面にｎ×ｍ個の擬似二次元コードシンボルのボタン（擬似ボタン）をｎ行ｍ列で配列表示させるとともに、押下したボタンの位置（読取パターン）がパスワードとなることをユーザに表示告知し、所定の決まりに従って、所定の数（ｍ）のボタンを押下することをユーザに促す。ここで、擬似二次元コードシンボルのボタンをｎ行ｍ列で配列表示させることは、入力表示装置２が備える記憶部（不図示）に予め擬似ボタン配置位置情報として記憶されている。ここで、擬似ボタン配置位置情報は、後記する二次元コード配置指定手段４５が生成する配置位置情報に係る情報であり、ｎ×ｍ個の擬似ボタンをｎ行ｍ列のマトリクス状に配置するなどの情報である。
【００４１】
例えば、図３に示すように、入力表示装置２の画面には、擬似的な二次元コードシンボルのボタン（擬似ボタン）が４×４のマトリクス状に配置されて表示されている。ここで所定の決まりとは、各列から１つの擬似ボタンを選択することである。ユーザ登録を行うユーザによって、第一列目（Ａ列）の第１行目、第二列目（Ｂ列）の第３行目、第三列目（Ｃ列）の第４行目、第四列目（Ｄ列）の第１行目の擬似ボタンが選択された場合、二次元コード読取パターン入力手段１３は、読取パターンとして、（１，３，４，１）を取得する。
そして、入力表示装置２は、入力されたユーザＩＤと、読取パターンとをユーザ登録要求を認証サーバ１に送信する。これにより、認証サーバ１に読取パターンが入力される。
【００４２】
＜ユーザ認証画面＞
入力表示装置２は、ユーザ認証画面を表示してユーザＩＤの入力を促し、入力されたユーザＩＤとともにユーザ認証要求を認証サーバ１に送信する。
その後、入力表示装置２は、後記するように認証サーバ１（二次元コード生成配置手段４０）から、『ｎ×ｍ個の二次元コード［ＱＲ］』および『二次元コードシンボルの配置位置情報』を受信する。ここで［  ］は符号であり、その符号がついた名称のものがデータの列であることを示している。
そして、入力表示装置２は、二次元コード読取装置３が読み取り可能なように、かつ、ユーザが視認可能なように、『二次元コードシンボルの配置位置情報』に沿って、『ｎ×ｍ個の二次元コード［ＱＲ］』を画面上に配置する。
これにより、図３に示すように、入力表示装置２の画面に二次元コードシンボル（ＱＲコード（登録商標））が配列表示される。
【００４３】
ここで、図１の説明に戻る。
（二次元コード読取装置３）
二次元コード読取装置３は、ユーザにより操作される手段（操作手段）と、入力表示装置２に表示された二次元コードシンボルを読み取って二次元コードを解読して、読取データを取得する手段（二次元コード読取手段）と、各二次元コードを解読した読取データを連結して連結読取データ（連結情報）を生成する手段（連結情報生成手段）と、その連結読取データから送信先（認証サーバ１）のアドレスを抽出して連結読取データ（連結情報）を認証サーバ１に送信する手段（送信手段）とを備える装置である。詳細は後記する。
この二次元コード読取装置３は、例えば、ＣＣＤ（Charge Coupled Device）カメラを備える二次元コードを読み取り可能な携帯電話やスマートフォンなどである。ＣＰＵ（Central Processing Unit）などの演算装置と、メモリやハードディスクなどの記憶装置と、ボタンやタッチパネルなどの外部から情報の入力を検出する入力装置と、外部との各種情報の送受信を行うインターフェース装置と、ＬＣＤ（Liquid Crystal Display）などの表示装置と、二次元コードシンボルを読み取るＣＣＤイメージセンサなどの画像処理装置とを備えたコンピュータと、このコンピュータにインストールされたプログラムとから構成される。
【００４４】
認証時にユーザは、自身が登録時に入力表示装置２に表示されたユーザ登録画面にて、擬似二次元コードシンボルのボタン（擬似ボタン）を押下した位置（読取パターン）を思い出して、入力表示装置２の画面上に配置された二次元コードシンボルを二次元コード読取装置３に読み取らせる。
これにより、二次元コード読取装置３は、二次元コードシンボルを読み取って二次元コードを解読して、読取データを取得する。ここで、二次元コードシンボルはＱＲコードであるため、読取データにはＱＲコード生成時の情報が含まれている。本実施形態の読取データには、一連のデータを分割して、それぞれの分割データからＱＲコードを生成したときの情報が含まれており、データの総分割数や、分割後の先頭ＱＲコードから割り振られた順番（シンボル列指示子）などが含まれている。読取データに含まれる情報についての詳細は後記する。
そして、二次元コード読取装置３は、解読後の読取データから得られるシンボル列指示子（分割後の先頭ＱＲコードから割り振られた順番）に基づき、順番に読取データを連結して連結読取データ（連結情報）を生成する。ここで、連結読取データの先頭には、ネットワーク４を介して認証サーバ１と接続可能なように、認証サーバ１のアドレス（ここでは、ＵＲＬ（Uniform Resource Locator））があれば、そのアドレスを抽出し、連結読取データ（連結情報）を認証サーバ１に送信する。
ここで、二次元コード読取装置３は、認証サーバ１のアドレスを予め記憶しておき、そのアドレスを用いて、連結読取データ（連結情報）を認証サーバ１に送信してもよい。
【００４５】
（ネットワーク４）
ネットワーク４は、認証サーバ１と入力表示装置２とを通信可能に接続し、さらに、認証サーバ１と二次元コード読取装置３とを通信可能に接続する通信回線であり、例えばＥｔｈｅｒｎｅｔ（登録商標）やＷｉ−Ｆｉ（登録商標）などである。このネットワーク４を介することで、各装置間にて、ＩＰ（Internet Protocol）などの通信プロトコルに従ってデータのやり取りを行うことができる。
【００４６】
２．システムの動作概要
ここで、認証システム１００によって行われる第１の実施形態に係るユーザ認証について簡単に説明する。
まず、認証サーバ１の記憶手段２０には、ユーザを特定する「ユーザＩＤ」と、そのユーザが二次元コードの配置位置を設定した「読取パターン」と、ユーザＩＤおよび読取パターンを含めて関数処理した「秘密コード」との３つのデータが対応付けられて記憶されている。
認証サーバ１の二次元コード生成配置手段４０は、秘密コードを暗号化したデータを所定の数に分割し、分割データ［ｄｉｖ＊ｕ］（詳細は後記する（図５（ｄ））それぞれを二次元コード化（符号化）して、ユーザ二次元コード［ＱＲ＊ｕ］（詳細は後記する（図５（ｆ））を生成する。ここで、二次元コード生成配置手段４０は、分割データ［ｄｉｖ＊ｕ］からＱＲコードを生成するため、この生成されたユーザ二次元コード［ＱＲ＊ｕ］はＱＲコードである。そのため、ＱＲコード化されたユーザ二次元コード［ＱＲ＊ｕ］には、ＱＲコードにするデータ（分割データ［ｄｉｖ＊ｕ］）を基にして生成された共通の情報（パリティデータ）が割り振られ、順番（シンボル列指示子）や分割数などの情報が含まれる。さらに、二次元コード生成配置手段４０は、乱数の列を暗号化したデータも所定の数に分割し、分割データ［ｄｉｖ＊ｄ］それぞれを二次元コード化（符号化）して、ダミー二次元コード［ＱＲ＊ｄ］を生成する。
そして、二次元コード生成配置手段４０は、生成したユーザ二次元コード［ＱＲ＊ｕ］およびダミー二次元コード［ＱＲ＊ｄ］と、ユーザ二次元コード［ＱＲ＊ｕ］を読取パターンに沿った位置に配置させ、それ以外の位置にダミー二次元コード［ＱＲ＊ｄ］を配置させる配置位置情報（配置指示データ）とを、入力表示装置２に出力する。
【００４７】
入力表示装置２は、ユーザ二次元コード［ＱＲ＊ｕ］およびダミー二次元コード［ＱＲ＊ｄ］と配置位置情報（配置指示データ）とを受信して、配置位置情報に従って、それら二次元コードを画像化した二次元コードシンボルを画面上に配置する。これにより、画面に二次元コードシンボルが配置されて表示される。
ユーザは、自身が登録した読取パターンを思い出して、入力表示装置２の画面に配置された二次元コードシンボルを、二次元コード読取装置３に読み取らせる。
【００４８】
二次元コード読取装置３は、二次元コードシンボルを読み取って、二次元コードを解読して分割データを取得する。このとき、ユーザが正しく読取パターン通りに読み取っていれば、ユーザ二次元コード［ＱＲ＊ｕ］を解読した分割データ［ｄｉｖ＊ｕ］を取得することになる。これら分割データ［ｄｉｖ＊ｕ］を連結して連結読取データ（連結情報）を生成して、この連結読取データ（連結情報）を認証サーバ１に送信する。
【００４９】
認証サーバ１の認証手段５０は、二次元コード読取装置３から連結読取データ（連結情報）を受信して、連結読取データ（連結情報）を復号して、復号データから秘密コードを取得する。認証手段５０は、この秘密コードが、記憶手段２０に記憶された秘密コードと一致するか否かの比較を行う。一致する秘密コードがあれば、認証されたこと（認証ＯＫ）となる。
以上で、第１の実施形態に係るユーザ認証についての簡単な説明を終了する。
【００５０】
３．各部の詳細
《認証サーバ１》
図２を用いて、認証サーバ１が備える各部の詳細について説明する。
《通信入出力手段１０》
通信入出力手段１０は、ネットワーク４を介して接続する入力表示装置２および二次元コード読取装置３とデータの送受信を行い、データを認証サーバ１に入力する手段である。この通信入出力手段１０は、通信手段１１と、ユーザＩＤ入力手段１２と、二次元コード読取パターン入力手段１３と、連結情報入力手段１４とを備える。
【００５１】
（通信手段１１）
通信手段１１は、ネットワーク４を介して接続する入力表示装置２や二次元コード読取装置３などの他の機器から送信されたデータを受信するインターフェースである。また、他の機器へデータを送信するインターフェースである。
【００５２】
（ユーザＩＤ入力手段１２）
ユーザＩＤ入力手段１２は、通信手段１１が受信した、入力表示装置２からの送信データから「ユーザＩＤ」を取得する手段である。これにより、認証サーバ１にユーザＩＤが入力される。ここで、ユーザＩＤ入力手段１２は、ユーザ登録要求とともに取得したユーザＩＤであれば、後記する秘密コード生成手段３１に出力する。また、ユーザ認証要求とともに取得したユーザＩＤであれば、後記するユーザＤＢ２１および後記する二次元コード配置指定手段４５に出力する。
【００５３】
（二次元コード読取パターン入力手段１３）
二次元コード読取パターン入力手段１３は、入力表示装置２から送信され、通信手段１１が受信したデータから「読取パターン」（二次元コードの配置位置を所定のルールに従って符号化したもの）を取得する手段である。
【００５４】
（連結情報入力手段１４）
連結情報入力手段１４は、二次元コード読取装置３から送信され、通信手段１１が受信した連結読取データから連結情報を抽出する手段である。
例えば、ユーザが操作する二次元コード読取装置３により、正しい読取パターンで二次元コードシンボルが読み取られていれば、連結情報入力手段１４は、通信手段１１が受信した連結読取データから連結情報を取得する。これにより、認証サーバ１に、連結情報が入力されたこととなる。
そして、連結情報入力手段１４は、抽出した連結情報を後記する連結情報復号手段５１に出力する。
【００５５】
《記憶手段２０》
記憶手段２０は、データやプログラムを記憶する手段であり、例えば、ＨＤ（Hard Disc）、ＲＡＭ（Random Access Memory）、光ディスクなどの記憶手段である。記憶手段２０は、ユーザＤＢ２１を備えている。
【００５６】
（ユーザＤＢ２１）
ユーザＤＢ２１は、ユーザを特定する「ユーザＩＤ」と、そのユーザが設定した二次元コードの配置位置を示す「読取パターン」と、ユーザＩＤおよび読取パターンを含めて関数処理した「秘密コード」との３つのデータを対応付けて記憶する手段である。ユーザＤＢ２１は、例えば、図４に示すように、ユーザＩＤ「Ｈａｒｕｔｏ」が、読取パターン（１，３，４，１）と、秘密コード「０ｘＦＡ０３９ＣＤＣ・・・」と対応付けて記憶されている。
さらに、ユーザＤＢ２１は、ユーザＩＤ入力手段１２から「ユーザＩＤ」を取得したときに、その「ユーザＩＤ」と対応付けられて記憶された「秘密コード」を、後記する暗号化手段４３に出力する機能を備えている。
【００５７】
《登録手段３０》
登録手段３０は、ユーザ登録処理を行う手段であり、当該ユーザ登録処理を行うことで、ユーザＤＢ２１に「ユーザＩＤ」と「読取パターン」と「秘密コード」との３つのデータを対応付けて記憶させる。この登録手段３０は、秘密コード生成手段３１と、ユーザ登録手段３２とを備える。
【００５８】
（秘密コード生成手段３１）
秘密コード生成手段３１は、ユーザＩＤ入力手段１２に入力されたユーザＩＤと、二次元コード読取パターン入力手段１３に入力された読取パターンとから、一方向性関数を用いて秘密コードを生成する手段である。
【００５９】
（ユーザ登録手段３２）
ユーザ登録手段３２は、ユーザＩＤと、読取パターンと、生成された秘密コードとの３つを関連付けて、ユーザＤＢ２１（データベース）に記憶させる手段である。
【００６０】
《二次元コード生成配置手段４０》
二次元コード生成配置手段４０は、二次元コード配置処理を行う手段であり、当該二次元コード配置処理を行うことで、ユーザ二次元コード［ＱＲ＊ｕ］およびダミー二次元コード［ＱＲ＊ｄ］とで構成されるｎ×ｍ個の二次元コード［ＱＲ］と、二次元コード［ＱＲ］の配置位置情報とを生成する。この二次元コード生成配置手段４０は、乱数発生手段４１と、時刻出力手段４２と、暗号化手段４３と、二次元コード生成手段４４と、二次元コード配置指定手段４５と、二次元コード出力手段４６とを備える。
【００６１】
（乱数発生手段４１）
乱数発生手段４１は、乱数を発生させる手段である。乱数発生手段４１は、一般的な乱数生成アルゴリズムを用いて乱数を発生させる。この乱数は、数字や文字またはそれらの組み合わせである。
（時刻出力手段４２）
時刻出力手段４２は、動作時の時刻（現在の時刻）を取得する手段である。
【００６２】
（暗号化手段４３）
暗号化手段４３は、１個のユーザデータ［Ｄｕ］と、ｎ−１個のダミーデータ［Ｄｄ］とを生成して、それぞれを暗号化して、さらにそれぞれの前にアドレス［ＵＲＬ］を付加する手段である。これにより、１個の［ＵＲＬ＊ｃＤｕ］と、ｎ−１個の［ＵＲＬ＊ｃＤｄ］が生成される。
このアドレス［ＵＲＬ］は、二次元コード読取装置３がネットワーク４を介して認証サーバ１に接続可能となるアドレスであり、例えば、インターネット上のサーバの位置を識別する情報であるＵＲＬや、メールアドレスでもよい。
この“ｎ”という数字は、図３に示す入力表示装置２の表示画面にマトリクス状に表示される二次元コードシンボルの行数（ｎ）を示している。
【００６３】
まず、暗号化手段４３は、ユーザＤＢ２１から「秘密コード」を取得する。これは、ユーザＩＤ入力手段１２がユーザ認証要求とともに取得した「ユーザＩＤ」をユーザＤＢ２１に出力したことにより、ユーザＤＢ２１が、その「ユーザＩＤ」と対応付けられて記憶された「秘密コード」を暗号化手段４３へと出力する。これにより、暗号化手段４３がユーザＤＢ２１から「秘密コード」を取得することができる。
さらに、暗号化手段４３は、時刻出力手段４２から現在の時刻情報を取得する。
そして、暗号化手段４３は、ユーザＤＢ２１から取得した「秘密コード」と時刻出力手段４２から取得した「時刻情報」とを連結して、ユーザデータ［Ｄｕ］を生成する（図５（ａ））。図では、「時刻情報」が「秘密コード」の先に連結されているが、「秘密コード」の後であっても構わない。
【００６４】
また、暗号化手段４３は、乱数発生手段４１から乱数を取得し、この乱数を羅列したダミーデータ［Ｄｄ］を生成する。この処理を、所定の回数（ｎ−１回）繰り返して、暗号化手段４３は、ｎ−１個のダミーデータ［Ｄｄ］を生成する。ここで、ｎ＝４であれば、３つのダミーデータ［Ｄｄ１］、［Ｄｄ２］、［Ｄｄ３］が生成される。
【００６５】
暗号化手段４３は、１個のユーザデータ［Ｄｕ］と、ｎ−１個のダミーデータ［Ｄｄ］とをそれぞれ暗号化して、１個の暗号化ユーザデータ［ｃＤｕ］と、ｎ−１個の暗号化ダミーデータ［ｃＤｄ］とを生成する。ここで、ｎ＝４であれば、暗号化ユーザデータ［ｃＤｕ］と、３つの暗号化ダミーデータ［ｃＤｄ１］、［ｃＤｄ２］、［ｃＤｄ３］が生成される（図５（ｂ））。
ここで、暗号化方式を特定する必要はないが、例えばＡＥＳ（Advanced Encryption Standard）などの共通鍵暗号を用いてもよい。
【００６６】
暗号化手段４３は、生成した１個の暗号化ユーザデータ［ｃＤｕ］と、ｎ−１個の暗号化ダミーデータ［ｃＤｄ］とのそれぞれのデータの先頭に、二次元コード読取装置３がネットワーク４を介して認証サーバ１に接続可能となるアドレス［ＵＲＬ］を付加する。これにより、１個のアドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］と、ｎ−１個のアドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ］が生成される。ここで、ｎ＝４であれば、１個のアドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］と、３個のアドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ１］、［ＵＲＬ＊ｃＤｄ２］、［ＵＲＬ＊ｃＤｄ３］が生成される（図５（ｃ））。
【００６７】
最後に、暗号化手段４３は、例えば、１個のアドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］と、ｎ−１個のアドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ］とを二次元コード生成手段４４に出力する。
【００６８】
（二次元コード生成手段４４）
二次元コード生成手段４４は、データをｍ個に分割して、分割後のデータの列の末尾に特定の文字列［＆］を付与して、二次元コード化する手段である。
この“ｍ”という数字は、図３に示す入力表示装置２の表示画面にマトリクス状に表示される二次元コードシンボルの列数（ｍ）を示している。
【００６９】
ここで、二次元コード生成手段４４は、分割後のデータの列の末尾に特定の文字列［＆］を付与する。例えば、本実施形態では、特定の文字列［＆］をアンダーバー（ _ ）を２つ連続させた“ __ ”とする。この場合、ＵＲＬの文字列にこの特定の文字列［＆］を付与すると、“ __ ”を含むＵＲＬとして認識されてしまい、認証サーバ１にアクセスすることができない。そのため、ＵＲＬの文字列を分割する場合には、この特定の文字列［＆］を付与しない。これにより、二次元コード読取装置３が、分割された２つのＵＲＬの文字列を連結させたときに、認証サーバ１に接続可能となるＵＲＬの文字列を取得することができる。また、特定の文字列［＆］は、アンダーバー（ _ ）である必要はなく、任意の文字列でも構わない。
【００７０】
まず、二次元コード生成手段４４は、暗号化手段４３から取得したアドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］を、ｍ個に分割する。これにより、ｍ個の分割データ［ｄｉｖ＊ｕ］が生成される。ここで、ｍ＝４であれば、４個の分割データ［ｄｉｖ１＊ｕ］、［ｄｉｖ２＊ｕ］、［ｄｉｖ３＊ｕ］、［ｄｉｖ４＊ｕ］が生成される（図５（ｄ））。
そして、二次元コード生成手段４４は、分割後のデータの列の末尾に特定の文字列［＆］を付与する。これにより、ｍ＝４であれば、［ｄｉｖ１＊ｕ］［＆］、［ｄｉｖ２＊ｕ］［＆］、［ｄｉｖ３＊ｕ］［＆］、［ｄｉｖ４＊ｕ］［＆］が生成される（図５（ｅ））。
次に、二次元コード生成手段４４は、特定の文字列［＆］を付与したこれらのデータを二次元コード化して、ｍ個のユーザ二次元コード［ＱＲ＊ｕ］を生成する。これにより、ｍ＝４であれば、［ｄｉｖ１＊ｕ］［＆］からは［ＱＲ１＊ｕ］を生成し、［ｄｉｖ２＊ｕ］［＆］からは［ＱＲ２＊ｕ］を生成し、［ｄｉｖ３＊ｕ］［＆］からは［ＱＲ３＊ｕ］を生成し、［ｄｉｖ４＊ｕ］［＆］からは［ＱＲ４＊ｕ］を生成する（図５（ｆ））。
【００７１】
同様に、二次元コード生成手段４４は、ｎ−１個のアドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ］それぞれを、ｍ個に分割する。分割後のデータの列の末尾に特定の文字列［＆］を付与して、これらのデータを二次元コード化して、（ｎ−１）×ｍ個のダミー二次元コード［ＱＲ＊ｄ］を生成する。
【００７２】
ここで、ｍ＝４であれば、二次元コード生成手段４４は、アドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ１］、［ＵＲＬ＊ｃＤｄ２］、［ＵＲＬ＊ｃＤｄ３］それぞれを４個（ｍ個）に分割して、アドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ１］からは、［ＱＲ１＊ｄ１］、［ＱＲ２＊ｄ１］、［ＱＲ３＊ｄ１］、［ＱＲ４＊ｄ１］を生成する。さらに、アドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ２］からは、［ＱＲ１＊ｄ２］、［ＱＲ２＊ｄ２］、［ＱＲ３＊ｄ２］、［ＱＲ４＊ｄ２］を生成する。そして、アドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ３］からは、［ＱＲ１＊ｄ３］、［ＱＲ２＊ｄ３］、［ＱＲ３＊ｄ３］、［ＱＲ４＊ｄ３］を生成する。以上により、（ｎ−１）×ｍ個、つまり１２個のダミー二次元コード［ＱＲ＊ｄ］が生成される。
【００７３】
二次元コード生成手段４４は、分割により複数の二次元コード（ＱＲコード（登録商標））を生成する際、特開２０１０−６１４６８号公報（特許文献２）の方法を用いることで、任意のＱＲコード（登録商標）の構造的連接読み取り（連続的に複数のＱＲコード（登録商標）の画像（二次元コードシンボル）を読み取り、各ＱＲコード（登録商標）を解読した読取データを連結すること）が可能となる。
【００７４】
例えば、二次元コード生成配置手段４０は、アドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］（図５（ｃ））を分割して複数のユーザ二次元コード［ＱＲ＊ｕ］（ＱＲコード（登録商標））（図５（ｆ））を生成する際に、データの総分割数（ｍ）や、分割後の先頭ＱＲコードから割り振られた順番（シンボル列指示子）などの情報を含めて、ユーザ二次元コード［ＱＲ１＊ｕ］、［ＱＲ２＊ｕ］、［ＱＲ３＊ｕ］、［ＱＲ４＊ｕ］を生成する。つまり、［ＱＲ１＊ｕ］には「総分割数＝４」および「順番（シンボル列指示子）＝１」の情報が含まれている。
また、二次元コード生成配置手段４０は、ＱＲコード（登録商標）にするデータ、つまり、特定の文字列［＆］を付与した分割データ［ｄｉｖ＊ｕ］［＆］を基にして生成された共通の情報（パリティデータ）が割り振られている。これにより、当該ＱＲコードを読み取る二次元コード読取装置３は、解読後のＱＲコードに含まれるパリティデータが同じものだけを順番に連結することで、間違いなくもとのデータを復元できる。このパリティデータは、ＱＲコード（登録商標）にするデータをバイトごとにＸＯＲ（排他的論理和）をとった８ビットの符号である。
【００７５】
最後に、二次元コード生成手段４４は、ｍ個のユーザ二次元コード［ＱＲ＊ｕ］と、（ｎ−１）×ｍ個のダミー二次元コード［ＱＲ＊ｄ］との全部でｎ×ｍ個の二次元コードを、二次元コード配置指定手段４５に出力する。
【００７６】
（二次元コード配置指定手段４５）
二次元コード配置指定手段４５は、入力表示装置２の表示画面における、二次元コードシンボルの配置位置を指定する手段である。
まず、二次元コード配置指定手段４５は、ユーザＩＤ入力手段１２からユーザＩＤを取得し、このユーザＩＤに対応する「読取パターン」をユーザＤＢ２１から取得する。
また、二次元コード生成手段４４から、１組（ｍ個）のユーザ二次元コード［ＱＲ＊ｕ］および（ｎ−１）組（（ｎ−１）×ｍ個）のダミー二次元コード［ＱＲ＊ｄ］で構成されるｎ×ｍ個の二次元コード［ＱＲ］を取得する。
【００７７】
そして、二次元コード配置指定手段４５は、図３に示す入力表示装置２の表示画面のように、ｎ行ｍ列のマトリクス状に二次元コードシンボルを配置させるために、二次元コード［ＱＲ］の配置位置を指定する。このとき、まず、ｍ個のユーザ二次元コード［ＱＲ＊ｕ］を「読取パターン」に沿った位置に配置し、それ以外の位置に（ｎ−１）×ｍ個のダミー二次元コード［ＱＲ＊ｄ］を配置するように指定する。そして、この二次元コードの配置位置を指定する配置位置情報（配置指示データ）を生成する。
【００７８】
二次元コード配置指定手段４５は、最後に、二次元コード生成手段４４から取得したユーザ二次元コード［ＱＲ＊ｕ］およびダミー二次元コード［ＱＲ＊ｄ］で構成されるｎ×ｍ個の二次元コード［ＱＲ］と、これら二次元コードの配置位置を指定する配置位置情報とを、二次元コード出力手段４６に出力する。
【００７９】
ここで、二次元コード配置指定手段４５が、入力表示装置２に４×４のマトリクス状に二次元コードシンボルを配置させる配置位置情報を生成する例を示す（適宜、図３を参照）。
二次元コード配置指定手段４５は、二次元コード生成手段４４から、４つで１組のユーザ二次元コード［ＱＲ＊ｕ］；［ＱＲ１＊ｕ］、［ＱＲ２＊ｕ］、［ＱＲ３＊ｕ］、［ＱＲ４＊ｕ］と、４つで１組のダミー二次元コード［ＱＲ＊ｄ］が３組（［ＱＲ＊ｄ１］、［ＱＲ＊ｄ２］、［ＱＲ＊ｄ３］）で全１２個のダミー二次元コード［ＱＲ＊ｄ１］（［ＱＲ１＊ｄ１］、［ＱＲ２＊ｄ１］、［ＱＲ３＊ｄ１］、［ＱＲ４＊ｄ１］），［ＱＲ＊ｄ２］（［ＱＲ１＊ｄ２］、［ＱＲ２＊ｄ２］、［ＱＲ３＊ｄ２］、［ＱＲ４＊ｄ２］），［ＱＲ＊ｄ３］（［ＱＲ１＊ｄ３］、［ＱＲ２＊ｄ３］、［ＱＲ３＊ｄ３］、［ＱＲ４＊ｄ３］）とを取得する。
【００８０】
そして、二次元コード配置指定手段４５は、ユーザＤＢ２１から取得した「読取パターン」が（１，３，４，１）である場合に、二次元コード配置指定手段４５は、１組のユーザ二次元コード［ＱＲ＊ｕ］を、４×４のマトリクス状の位置のうち「読取パターン」に沿った位置に、［ＱＲ１＊ｕ］を第一列第１行目、［ＱＲ２＊ｕ］を第二列第３行目、［ＱＲ３＊ｕ］を第三列第４行目、［ＱＲ４＊ｕ］を第四列第１行目の位置に配置するように指定する。
同様に、３組全１２個のダミー二次元コード［ＱＲ＊ｄ］を、４×４のマトリクス状に配置する。このとき、１組のユーザ二次元コードが配置された位置以外の位置に、全１２個のダミー二次元コードを配置するように指定する。例えば、第一列目には、［ＱＲ１＊ｄ１］を第一列第２行目、［ＱＲ１＊ｄ３］を第一列第３行目、［ＱＲ１＊ｄ２］を第一列第４行目の位置に配置するように指定し、第二列目には、［ＱＲ２＊ｄ２］を第二列第１行目、［ＱＲ２＊ｄ３］を第二列第２行目、［ＱＲ２＊ｄ１］を第二列第４行目の位置に配置するように指定する。
【００８１】
（二次元コード出力手段４６）
二次元コード出力手段４６は、二次元コード配置指定手段４５から『ｎ×ｍ個の二次元コード［ＱＲ］』と『二次元コードシンボルの配置位置情報』とを取得し、これらを通信手段１１が入力表示装置２に送信するように送信データを生成する。
【００８２】
《認証手段５０》
認証手段５０は、連結情報復号手段５１と、情報分離手段５２と、二段階認証手段５３とを備える。
（連結情報復号手段５１）
連結情報復号手段５１は、連結情報入力手段１４から取得した連結情報から、特定の文字列を除去して一連のデータ（連続データ）にし、その一連のデータ（連続データ）を復号する手段である。
【００８３】
連結情報復号手段５１は、連結情報入力手段１４から連結情報を取得し、この連結情報から特定の文字列［＆］を除去して文字列が一続きとなった連続データにする。この特定の文字列［＆］は、二次元コード生成手段４４に付与されたものである。
【００８４】
例えば、ユーザが操作する二次元コード読取装置３により、正しい読取パターンで二次元コードシンボルが読み取られていれば、連結情報復号手段５１は、連結情報入力手段１４から連結情報として、［ｄｉｖ１Ａ＊ｕ］［＆］［ｄｉｖ２＊ｕ］［＆］［ｄｉｖ３＊ｕ］［＆］［ｄｉｖ４＊ｕ］［＆］を取得する。この連結情報から［＆］を除去して連続データ［ｄｉｖ１Ａ＊ｕ］［ｄｉｖ２＊ｕ］［ｄｉｖ３＊ｕ］［ｄｉｖ４＊ｕ］を取得する。この連続データは、二次元コード生成手段４４によりｍ個に分割される前の、暗号化ユーザデータ［ｃＤｕ］である。ここで、［ｄｉｖ１Ａ＊ｕ］とは、図５（ｄ）に示す分割データ［ｄｉｖ１＊ｕ］からアドレス［ＵＲＬ］を除去したデータである。
【００８５】
そして、連結情報復号手段５１は、連続データを復号する。この復号方式は、暗号化手段４３で行われた暗号化方式に対応するものとする。
例えば、ユーザが操作する二次元コード読取装置３により、正しい読取パターンで二次元コードシンボルが読み取られていれば、連結情報復号手段５１は、暗号化ユーザデータ［ｃＤｕ］を復号して、ユーザデータ［Ｄｕ］を取得する。
このユーザデータ［Ｄｕ］を、連結情報復号手段５１は、情報分離手段５２に出力する。
【００８６】
（情報分離手段５２）
情報分離手段５２は、連結情報復号手段５１から取得したデータを分離して、「時刻部分の情報」と「被認証部分の情報」とを取得する手段である。情報分離手段５２は、取得した時刻部分の情報と、被認証部分の情報とを二段階認証手段５３に出力する。
ここで、正しい読取パターンで二次元コードシンボルが読み取られていれば、連結情報復号手段５１から情報分離手段５２はユーザデータ［Ｄｕ］を取得する。このユーザデータ［Ｄｕ］を分離して、「時刻情報が埋め込まれている領域」の時刻部分の情報と、「秘密コードが埋め込まれている領域」の被認証部分の情報とを取得する。この時刻部分の情報が、暗号化手段４３が時刻出力手段４２から取得した「時刻情報」であり、被認証部分の情報が、暗号化手段４３がユーザＤＢ２１から取得した「秘密コード」である。
【００８７】
（二段階認証手段５３）
二段階認証手段５３は、「時刻部分の情報」の時間内判定（第１判定）と、「被認証部分の情報」のユーザ認証判定（第２判定）とを行う手段である。そして、認証結果を通信手段１１を介して出力する。出力先は二次元コード読取装置３および／または入力表示装置２とする。
【００８８】
二段階認証手段５３は、情報分離手段５２から「時刻部分の情報」と「被認証部分の情報」とを取得し、時間内判定を行う。
（時間内判定）
二段階認証手段５３は、時刻出力手段４２から現在時刻を取得して、「時刻部分の情報」から「現在時刻」までの時間が所定の有効時間内であるか否かの第１判定を行う。
ここで「時刻部分の情報」が時刻の情報でなければ、第１判定ＮＧと判定される。また、有効時間を超えていれば、第１判定ＮＧと判定される。一方、有効時間内であれば、第１判定ＯＫと判定される。第１判定ＯＫであれば、次に認証判定を行う。
例えば、正しい読取パターンで二次元コードシンボルが読み取られていれば、「時刻部分の情報」は、暗号化手段４３が時刻出力手段４２から取得した「時刻情報」である。二段階認証手段５３は、この「時刻部分の情報」（「時刻情報」）から「現在時刻」までの時間が所定の有効時間内であるか否かを判定する。
【００８９】
（ユーザ認証判定）
次に、二段階認証手段５３は、「被認証部分の情報」がユーザＤＢ２１に記憶されている「秘密コード」と一致するか否かの第２判定を行う。
例えば、正しい読取パターンで二次元コードシンボルが読み取られていれば、「被認証部分の情報」は、暗号化手段４３がユーザＤＢ２１から取得した「秘密コード」である。二段階認証手段５３は、この「被認証部分の情報」が、ユーザＤＢ２１に記憶されている「秘密コード」と一致するか否かを判定する。このとき、一致する「秘密コード」があれば、認証ＯＫと判定される。一方、一致する「秘密コード」がなければ、認証ＮＧと判定される。
【００９０】
４．ユーザ認証処理
本実施形態では、ユーザ認証を次の３つの処理で実現している。
（１）ユーザ登録処理
（２）二次元コード配置処理
（３）ユーザ認証実行処理
【００９１】
ユーザは、最初に、入力表示装置２に表示されたユーザ登録画面の指示に従って、ユーザ登録（ユーザ登録処理）を行う。その後、ユーザが入力表示装置２に表示されたユーザ認証の指示に従ってユーザ認証を行うたびに、二次元コード配置処理に続けてユーザ認証実行処理が行われる。以下、それぞれの処理について説明する。
【００９２】
（１）ユーザ登録処理
次に、図６を参照して、認証システム１００の認証サーバ１と入力表示装置２との間で行われるユーザ登録処理動作について説明する（適宜、図１ないし図３を参照）。
【００９３】
まず、入力表示装置２は、ユーザ登録画面を表示する（ステップＳ１０１）。ユーザはそのユーザＩＤ入力画面に表示された指示に従ってユーザＩＤを入力する（ステップＳ１０２）。そして、入力表示装置２は、入力されたユーザＩＤを含むユーザ登録要求データを認証サーバ１に送信する（ステップＳ１０３）。
【００９４】
認証サーバ１の通信手段１１は、入力表示装置２からユーザ登録要求データを受信する。ユーザＩＤ入力手段１２は受信したユーザ登録要求データからユーザＩＤ（登録ユーザＩＤ）を取得する（ステップＳ１０４）。これにより、ユーザＩＤが認証サーバ１に入力されたことになる。このとき、認証サーバ１は、ユーザＤＢ２１に同一のユーザＩＤが既に登録されていないかを確認してもよい。
【００９５】
ユーザＩＤが入力された入力表示装置２は、次に、二次元コードに似た擬似的なシンボル（擬似二次元コードシンボル）を所定の配列で配置された画面を表示する（ステップＳ１０５）。このシンボルはボタンであって選択入力可能であり、ユーザは所定の決まりに従って、所定の数（ｍ）のシンボル（擬似二次元コードシンボル）を選択する（ステップＳ１０６）。これにより、入力表示装置２は、選択された各シンボルの配置位置からなる『読取パターン』を生成する（ステップＳ１０７）。
【００９６】
以下、ステップＳ１０７にて、入力表示装置２は（１，３，４，１）の読取パターンを生成したとする。この読取パターンを、入力表示装置２は認証サーバ１に送信する（ステップＳ１０８）。
【００９７】
認証サーバ１の通信手段１１は、入力表示装置２が送信したデータを受信し、二次元コード読取パターン入力手段１３がデータから読取パターンを取得する（ステップＳ１０９）ことで、読取パターンが認証サーバに入力されたことになる。このとき、（１，３，４，１）の読取パターンが入力される。
【００９８】
秘密コード生成手段３１は、ユーザＩＤ入力手段１２からユーザＩＤを取得し、二次元コード読取パターン入力手段１３から読取パターンを取得する。秘密コード生成手段３１は、ユーザＩＤと読取パターンとから一方向性関数を用いて秘密コードを生成する（ステップＳ１１０）。次に、秘密コード生成手段３１は、ユーザＩＤと、読取パターンと、秘密コードとの３つのデータをユーザ登録手段３２に出力する。
【００９９】
ユーザ登録手段３２は、秘密コード生成手段３１から取得したユーザＩＤと、読取パターンと、秘密コードとの３つのデータを関連付けて、ユーザＤＢ２１に記憶させる（ステップＳ１１１）。以上で、認証システム１００は、ユーザ登録処理動作を終了する。
【０１００】
（２）二次元コード配置処理
次に、図７および図８を参照して、認証サーバ１の二次元コード配置処理動作について説明する（適宜、図１ないし図６を参照）。
【０１０１】
まず、入力表示装置２は、ユーザ認証画面を表示し、ユーザはユーザＩＤを入力する。入力表示装置２は、入力されたユーザＩＤを含むユーザ認証要求データを認証サーバ１に送信する。これは、図６のステップＳ１０１〜Ｓ１０３と同様の処理であるため、ここでは説明を省略する。
【０１０２】
認証サーバ１の通信手段１１は、入力表示装置２からユーザ認証要求データを受信する。ユーザＩＤ入力手段１２は受信したユーザ認証要求データからユーザＩＤを取得する（ステップＳ２０１）。これにより、ユーザＩＤが認証サーバ１に入力されたことになる。ユーザＩＤ入力手段１２は、ユーザＤＢ２１を参照して、取得したユーザＩＤと関連付けられた秘密コードを取得して（ステップＳ２０２）、暗号化手段４３に提供する。
【０１０３】
暗号化手段４３は、時刻出力手段４２から現在時刻を示す時刻情報を取得する（ステップＳ２０３）。暗号化手段４３は、秘密コードと時刻情報とを連結して、ユーザデータ［Ｄｕ］を生成し（ステップＳ２０４）（図５（ａ））、ユーザデータ［Ｄｕ］を暗号化して暗号化ユーザデータ［ｃＤｕ］を生成する（ステップＳ２０５）（図５（ｂ））。
【０１０４】
次に、暗号化手段４３は、乱数発生手段４１に乱数を発生させて、乱数発生手段４１から乱数を取得し、乱数の列（ダミーデータ［Ｄｄ］）を生成する（ステップＳ２０６）。生成した乱数の列を暗号化して暗号化ダミーデータ［ｃＤｄ］（［ｃＤｄ１］）を生成する（ステップＳ２０７）。そして、生成した暗号化ダミーデータ［ｃＤｄ］の数が所定の数（ｎ−１）となったか否かを判定する（［ｃＤｄ］の数＝所定の数（ｎ−１）？）（ステップＳ２０８）。暗号化ダミーデータ［ｃＤｄ］の数が所定の数（ｎ−１）未満（［ｃＤｄ］の数＜所定の数（ｎ−１））であれば（ステップＳ２０８，Ｎｏ）、ステップＳ２０６の処理を再び行い、暗号化ダミーデータ［ｃＤｄ］（［ｃＤｄ２］）を生成する。
【０１０５】
一方、暗号化ダミーデータ［ｃＤｄ］の数が所定の数（ｎ−１）（［ｃＤｄ］の数＝所定の数（ｎ−１））であれば（ステップＳ２０８，Ｙｅｓ）、暗号化手段４３は、ステップＳ２０９を実行する。
この時点で、暗号化手段４３により、暗号化ユーザデータ［ｃＤｕ］と、ｎ−１個の暗号化ダミーデータ［ｃＤｄ］（［ｃＤｄ１］，［ｃＤｄ２］，・・・，［ｃＤｄ（ｎ−１）］）とが生成される。
【０１０６】
次に、暗号化手段４３は、（記憶手段２０に記憶された）認証サーバ１にアクセスするためのアドレス［ＵＲＬ］を取得する（ステップＳ２０９）。
そして、ステップＳ２０５で暗号化した暗号化ユーザデータ［ｃＤｕ］の前に、取得したアドレス［ＵＲＬ］を連結して、アドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］を生成する（ステップＳ２１０）（図５（ｃ））。
さらに、暗号化手段４３は、ステップＳ２０７で乱数の列（ダミーデータ［Ｄｄ］）を暗号化した暗号化ダミーデータ［ｃＤｄ］（［ｃＤｄ１］，［ｃＤｄ２］，・・・，［ｃＤｄ（ｎ−１）］）それぞれの前にも、取得したアドレス［ＵＲＬ］を連結して、ｎ−１個のアドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ］（［ＵＲＬ＊ｃＤｄ１］，［ＵＲＬ＊ｃＤｄ２］，・・・，［ＵＲＬ＊ｃＤｄ（ｎ−１）］）を生成する（ステップＳ２１１）。暗号化手段４３は、これらアドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］およびｎ−１個のアドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ］を二次元コード生成手段４４に出力する。
【０１０７】
二次元コード生成手段４４は、アドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］を所定の数（ｍ）に分割する（ステップＳ２１２，図８）。これにより、ｍ個の分割データ［ｄｉｖ＊ｕ］が生成される（図５（ｄ））。そして、二次元コード生成手段４４は、分割後のデータの列の末尾に特定の文字列［＆］を付与する。ｍ＝４であれば、［ｄｉｖ１＊ｕ］［＆］、［ｄｉｖ２＊ｕ］［＆］、［ｄｉｖ３＊ｕ］［＆］、［ｄｉｖ４＊ｕ］［＆］が生成される（図５（ｅ））。
そして、これらのｍ個に分割されたデータをそれぞれ二次元コード化して、ｍ個のユーザ二次元コード［ＱＲ＊ｕ］を生成する（ステップＳ２１３）（図５（ｆ））。
【０１０８】
同様に、二次元コード生成手段４４は、ｎ−１個のアドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ］それぞれを所定の数（ｍ）に分割する（ステップＳ２１４）。これにより、分割後のデータの列の末尾に特定の文字列［＆］を付与して、これらのデータを二次元コード化して、（ｎ−１）×ｍ個の二次元コード［ＱＲ＊ｄ］を生成する（ステップＳ２１５）。
以上のステップＳ２１２〜ステップＳ２１５の処理により、ｎ×ｍ個の二次元コード［ＱＲ］が生成される。
【０１０９】
二次元コード配置指定手段４５は、ユーザＩＤ入力手段１２からユーザＩＤを取得し、そのユーザＩＤに対応する読取パターンをユーザＤＢ２１から取得する（ステップＳ２１６）。
次に、二次元コード配置指定手段４５は、入力表示装置２の画面上にて、読取パターンに沿って、アドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］の二次元コードシンボルが表示されるように、アドレス付暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］のｍ個のユーザ二次元コード［ＱＲ＊ｕ］と、アドレス付暗号化ダミーデータ［ＵＲＬ＊ｃＤｄ］（［ＵＲＬ＊ｃＤｄ１］，［ＵＲＬ＊ｃＤｄ２］，・・・，［ＵＲＬ＊ｃＤｄ（ｎ−１）］）の（ｎ−１）×ｍ個のダミー二次元コード［ＱＲ＊ｄ］とを、入力表示装置２の画面に配置させる配置位置情報を生成する（ステップＳ２１７）。
【０１１０】
二次元コード出力手段４６は、ｎ×ｍ個の二次元コード［ＱＲ］（ユーザ二次元コード［ＱＲ＊ｕ］およびダミー二次元コード［ＱＲ＊ｄ］）と、それら二次元コードの配置位置情報とを、通信手段１１が入力表示装置２に送信するように送信データを生成する（ステップＳ２１８）。これにより、認証サーバ１（通信手段１１）は送信データを入力表示装置２に送信する。そして、認証サーバ１は、二次元コード配置処理を終了する。
【０１１１】
《入力表示装置２の二次元コードシンボル配置処理》
その後、入力表示装置２は、認証サーバ１から送信データを受信し、ｎ×ｍ個の二次元コード［ＱＲ］（ユーザ二次元コード［ＱＲ＊ｕ］およびダミー二次元コード［ＱＲ＊ｄ］）と、それら二次元コードの配置位置情報とを取得する。
次に、入力表示装置２は、ｎ×ｍ個の二次元コード［ＱＲ］それぞれを画像化して二次元コードシンボルにする。そして、ｍ個のユーザ二次元コード［ＱＲ＊ｕ］を画像化した二次元コードシンボルそれぞれと、（ｎ−１）×ｍ個のダミー二次元コード［ＱＲ＊ｄ］を画像化した二次元コードシンボルそれぞれとを、配置位置情報に基づき配置させて画面に表示する。
【０１１２】
《二次元コード読取装置３の連結情報送信処理》
その後、ユーザに操作されて、二次元コード読取装置３は、入力表示装置２の画面上に表示された二次元コードシンボルを読み取る。
これにより、二次元コード読取装置３は、二次元コードシンボルを読み取って二次元コードを解読して、読取データを取得する。そして、その読取データから得られるシンボル列指示子に基づき、順番に読取データを連結して連結読取データ（連結情報）を生成する。さらに、読取データから送信先（認証サーバ１）のアドレス［ＵＲＬ］を抽出し、アドレス［ＵＲＬ］を使って認証サーバ１とネットワーク４を介して接続して、連結読取データ（連結情報）を認証サーバ１に送信する。
【０１１３】
（３）ユーザ認証実行処理
次に、図９を参照して、認証サーバ１のユーザ認証実行処理動作について説明する（適宜、図１ないし図５を参照）。
【０１１４】
連結情報入力手段１４は二次元コード読取装置３から連結読取データを受信し、連結読取データから連結情報を抽出する（ステップＳ３０１）。ここで、正しい読取パターンで二次元コードシンボルが読み取られていれば、抽出された連結情報は、連結読取データからアドレス［ＵＲＬ］が除去された［ｄｉｖ１Ａ＊ｕ］［＆］［ｄｉｖ２＊ｕ］［＆］［ｄｉｖ３＊ｕ］［＆］［ｄｉｖ４＊ｕ］［＆］を取得する。
【０１１５】
連結情報復号手段５１は、連結情報入力手段１４から連結情報（［ｄｉｖ１Ａ＊ｕ］［＆］［ｄｉｖ２＊ｕ］［＆］［ｄｉｖ３＊ｕ］［＆］［ｄｉｖ４＊ｕ］［＆］）を取得し、この連結情報から特定の文字列［＆］を除去して連続データを取得する（ステップＳ３０２）。ここで、正しい読取パターンで二次元コードシンボルが読み取られていれば、取得した連続データは、［ｄｉｖ１Ａ＊ｕ］［ｄｉｖ２＊ｕ］［ｄｉｖ３＊ｕ］［ｄｉｖ４＊ｕ］であり、二次元コード生成手段４４によりｍ個に分割される前の、暗号化ユーザデータ［ｃＤｕ］である。
【０１１６】
そして、連結情報復号手段５１は、連続データ（暗号化データ）を復号し（ステップＳ３０３）、復号データを情報分離手段５２に出力する。ここで、正しい読取パターンで二次元コードシンボルが読み取られていれば、連結情報復号手段５１は、暗号化ユーザデータ［ｃＤｕ］を復号する。この復号データは、ユーザデータ［Ｄｕ］である。
【０１１７】
情報分離手段５２は、連結情報復号手段５１から取得した復号データを分離して、「時刻部分の情報」と「被認証部分の情報」とを取得する（ステップＳ３０４）。そして、取得した「時刻部分の情報」と、「被認証部分の情報」とを二段階認証手段５３に出力する。ここで、正しい読取パターンで二次元コードシンボルが読み取られていれば、情報分離手段５２は、ユーザデータ［Ｄｕ］を分離して、「時刻情報が埋め込まれている領域」の時刻部分の情報と、「秘密コードが埋め込まれている領域」の被認証部分の情報とを取得する。この「時刻部分の情報」が、暗号化手段４３が時刻出力手段４２から取得した「時刻情報」であり、「被認証部分の情報」が、暗号化手段４３がユーザＤＢ２１から取得した「秘密コード」である。
【０１１８】
二段階認証手段５３は、情報分離手段５２から「時刻部分の情報」と「被認証部分の情報」とを取得し、まず、時間内判定を行う。
二段階認証手段５３は、時刻出力手段４２から現在時刻を取得して（ステップＳ３０５）、「時刻部分の情報」から「現在時刻」までの時間が所定の有効時間内であるか否かの第１判定を行う（ステップＳ３０６）。
ここで有効時間を超えていれば（ステップＳ３０６，Ｎｏ）、認証ＮＧと判定される（ステップＳ３０７）。また、「時刻部分の情報」が時刻の情報でなくても、認証ＮＧと判定される。
【０１１９】
一方、有効時間内であれば（ステップＳ３０６，Ｙｅｓ）、第１判定ＯＫと判定し、次の認証判定を行う。
ここで、「時刻部分の情報」は、暗号化手段４３が時刻出力手段４２から取得した「時刻情報」である。二段階認証手段５３は、第１判定にて、この「時刻部分の情報」（「時刻情報」）から「現在時刻」までの時間が所定の有効時間内であるか否かを判定する。
【０１２０】
次に、二段階認証手段５３は、「被認証部分の情報」がユーザＤＢ２１に記憶されている「秘密コード」と一致するか否かの第２判定を行う（ステップＳ３０８）。
この処理にて、「被認証部分の情報」は、暗号化手段４３がユーザＤＢ２１から取得した「秘密コード」である。
【０１２１】
一致する「秘密コード」がなければ（ステップＳ３０８，Ｎｏ）、認証ＮＧと判定する（ステップＳ３０７）。
一方、一致する「秘密コード」があれば（ステップＳ３０８，Ｙｅｓ）、第２判定ＯＫと判定し、そして認証ＯＫと判定する（ステップＳ３０９）。
そして、二段階認証手段５３は、認証結果を通信手段１１を介して、二次元コード読取装置３に送信し（ステップＳ３１０）、すべての処理を終了する。
【０１２２】
（第２の実施形態）
第１の実施形態では、二次元コード配置指定手段４５は、入力表示装置２の画面サイズを考慮して、ｎ×ｍ個の二次元コードシンボルすべてが１画面に収まるように、ｎ（行）×ｍ（列）のマトリクス状に配置させている。そのため、二次元コードシンボルの読取パターンはｎm（ｎのｍ乗）通りとなる。この「読取パターン」の数はセキュリティ強度に影響し、悪意を持ったユーザ（攻撃者）が二次元コードシンボルをランダムに読み取る全数探索攻撃を行った場合、１／ｎmの確率で攻撃が成功してしまう。そのため、セキュリティ強度を高めるためには、入力表示装置２の解像度や表示スペース、ユーザビリティなどを考慮した上で、ｍおよびｎの数値はできるだけ大きい値を設定することが望ましい。
【０１２３】
そこで、第２の実施形態に係る認証サーバ１は、第１の実施形態に係る認証サーバ１の二次元コード配置指定手段４５の機能が異なるだけなので図示を省略し、図１を参照して説明する。以下では便宜的にこれを二次元コード配置指定手段４５Ａと表記する。
二次元コード配置指定手段４５Ａは、二次元コード［ＱＲ］を所定数のグループに分け、各グループの二次元コードシンボルをそれぞれ１つの画面に表示させる配置位置情報を生成する。このとき、分割後の先頭の二次元コード［ＱＲ］からの順番（シンボル列指示子の番号）が同じ二次元コード［ＱＲ］を同一グループとする。これにより、入力表示装置２の画面を遷移させると、各画面には１つのグループの二次元コードシンボルが、例えばマトリクス状に配置されて表示されることとなる。この場合、画面ごとに１つの二次元コードシンボルを読み取ることになり、秘密コードとしてユーザＤＢ２１に記録される読取パターンとしては、画面ごとに１つの相対的な位置関係を示す（マトリクス状に並べる例では、各画面において読み取るべき二次元コードシンボル（ユーザ二次元コード［ＱＲ＊ｕ］）が第何列目の第何行に配置されているのかを示す）。ユーザによる入力表示装置２の操作により画面遷移が行われる。例えば、ｍ個のユーザ二次元コード［ＱＲ＊ｕ］と、（ｎ−１）×ｍ個のダミー二次元コード［ＱＲ＊ｄ］とは、各画面にｎ個の二次元コードシンボルが並び、全ｍ画面を遷移させて二次元コードシンボルを１つずつ読み取ることになる。このときのセキュリティ強度は第１の実施形態と同様（ｎm通りの読取パターン）である。
【０１２４】
このように、入力表示装置２に表示させることにより、二次元コードシンボルを入力表示装置２の１つの画面では画面サイズの関係で表示できる二次元コードシンボルの数に限りがあったが、画面遷移を行わせることにより、画面上に表示できる二次元コードシンボルの限界数を増やすことができるため、さらにセキュリティ強度を高めることができる。ここで、第１の実施形態では、ｎ×ｍ個の二次元コードシンボルを１画面上にマトリクス状に入力表示装置２に表示させていた。この第２の実施形態によれば、二次元コードシンボルを複数の画面に渡って表示させることで、１画面上に表示される二次元コードシンボルの数はｎ×ｍ個からｎ個に減るためマトリクスの全体のサイズが小さくなり、それにより互いの二次元コードシンボル間にスペースが得られるため、１つ１つの二次元コードシンボルが読み取りやすくなる。また、マトリクスの全体のサイズが小さくなるため、１つ１つの二次元コードシンボルのサイズを大きくすることもできる。これは、入力表示装置２の画面で表示されるときのサイズを指定する指示を、認証サーバ１が配置位置情報とともに入力表示装置２に送信すればよい。これにより、表示スペースや表示スペースに起因するユーザビリティの制約から解放される。
【０１２５】
（第３の実施形態）
第１の実施形態および第２の実施形態の認証サーバ１によれば、分割数をｍとすると、ｎ×ｍ個の二次元コードを生成するために、（ｎ−１）組の乱数の列を用いた。この方法では、攻撃者がユーザＩＤ、二次元コードシンボル、二次元コードシンボルの配置位置情報および二次元コード読取装置３から認証サーバ１に送信される連結読取データ（連結情報）が盗聴などにより盗まれる場合がある。この場合、そのユーザＩＤに対応する『読取パターン』が一意に特定することができるため、セキュリティホールとなる可能性がある。
【０１２６】
そこで、第３の実施形態に係る認証サーバ１Ａは、図１０に示すように、第１の実施形態に係る認証サーバ１の二次元コード配置指定手段４５の代わりに、二次元コード複製配置指定手段４７を備える点が、認証サーバと異なっている。他の構成は同様なので、説明を便宜的に省略する。
二次元コード複製配置指定手段４７は、二次元コードを複製して、入力表示装置２に複製した二次元コードを画像化した二次元コードシンボルを配置させて表示させる。このとき、二次元コード複製配置指定手段４７が複製する二次元コードは、ユーザ二次元コードであってもよいし、ダミー二次元コードであってもよいし、これら双方であってもよい。これにより、二次元コード、二次元コードシンボルの配置位置情報および連結情報から『読取パターン』を特定不可能にする。具体的には、認証サーバ１は二次元コード［ＱＲ］を複製し、ユーザＤＢ２１から取得した「読取パターン」（配置位置）と重複しない任意の場所に配置するように指定する。これにより、入力表示装置２の画面上に表示される二次元コードシンボルの全部または一部が重複した状態となる。つまり、『読取パターン』以外の、配置位置の二次元コードシンボルを読み取ったときにも、同じパターンができることになる。
これにより、みかけ上、『読取パターン』が複数できることになるが、二次元コードシンボルを読み取る数（分割する数（ｍ））を増やすことで、『読取パターン』と同一となる確率を減らすことができるため、セキュリティ強度を著しく下げることはない。むしろ、攻撃者により、ユーザＩＤ、二次元コードシンボル、二次元コードシンボルの配置位置情報、二次元コード読取装置３から認証サーバ１Ａに送信される連結読取データ（連結情報）のうち、それらすべてが盗聴などにより盗まれたとしても、そのユーザＩＤに対応する『読取パターン』を一意に特定することができないため、セキュリティ強度をより高めることができる。
【０１２７】
以上、本発明の各実施形態について説明したが、本発明は、これらの実施形態には限定されない。例えば、連結情報入力手段１４が受信した連結読取データにアドレス［ＵＲＬ］が含まれているが、二次元コード読取装置３が、連結読取データからアドレス［ＵＲＬ］を抽出した際に、連結読取データからアドレス［ＵＲＬ］を削除してもよい。
【０１２８】
また、各実施形態において、認証サーバ１（１Ａ）は、二次元コード読取装置３がネットワーク４を介して認証サーバ１に接続可能となるアドレス［ＵＲＬ］を連結したデータ（図５（ｃ）のアドレス付き暗号化ユーザデータ［ＵＲＬ＊ｃＤｕ］）を二次元コード化し、ユーザ二次元コード［ＱＲ＊ｕ］を含む送信データを入力表示装置２に送信しているが、アドレス［ＵＲＬ］を連結しなくてもよい。この場合、二次元コード読取装置３がネットワーク４を介して認証サーバ１（１Ａ）に接続可能となるアドレス［ＵＲＬ］を予め記憶しておけばよい。
これにより、入力表示装置２の画面に表示された複数の二次元コードシンボルを、二次元コード読取装置３が正しい読取パターンで読み取って生成した連結読取データには、アドレス［ＵＲＬ］が含まれていない。しかし、二次元コード読取装置３は、記憶されたアドレス［ＵＲＬ］を使って、連結読取データを認証サーバ１（１Ａ）に送信すればよい。
また、アドレス［ＵＲＬ］は、メールアドレスであってもよいし、二次元コード読取装置３がネットワーク４を介して認証サーバ１に接続可能となり、連結読取データを送信できる情報であれば構わない。
【０１２９】
本実施形態では、４（ｎ）×４（ｍ）のマトリクス状に二次元コードシンボルを配置させるため、暗号化手段４３が生成する乱数の列の数（＝生成するダミー二次元コードの数）（ｎ）を３にしたが、この数（ｎ）は、４×４のマトリクス状に配置するときに生成する最大値であり、３未満であってもよい。
これは、特許文献１の乱数表と同様に、４分割されたユーザ二次元コード［ＱＲ＊ｕ］（［ＱＲ１＊ｕ］、［ＱＲ２＊ｕ］、［ＱＲ３＊ｕ］、［ＱＲ４＊ｕ］）が配置された後の、残りの１２箇所の位置に、４分割されたユーザ二次元コード［ＱＲ＊ｕ］（［ＱＲ１＊ｕ］、［ＱＲ２＊ｕ］、［ＱＲ３＊ｕ］、［ＱＲ４＊ｕ］）を複製した複製二次元コードを配置しても構わないし、二次元コード複製配置指定手段４７がダミー二次元コードを複製して、複製したダミー二次元コードを別の位置に配置しても構わないためである。
【符号の説明】
【０１３０】
１      認証サーバ
２      入力表示装置
３      二次元コード読取装置
４      ネットワーク
１０    通信入出力手段
１１    通信手段
１２    ユーザＩＤ入力手段
１３    二次元コード読取パターン入力手段
１４    連結情報入力手段
２０    記憶手段
２１    ユーザＤＢ
３０    登録手段
３１    秘密コード生成手段
３２    ユーザ登録手段
４０    二次元コード生成配置手段
４１    乱数発生手段
４２    時刻出力手段
４３    暗号化手段
４４    二次元コード生成手段
４５    二次元コード配置指定手段
４６    二次元コード出力手段
４７    二次元コード複製配置指定手段
５０    認証手段
５１    連結情報復号手段
５２    情報分離手段
５３    二段階認証手段
１００  認証システム
【図１】
0005542075.tif 000002
【図２】
0005542075.tif 000003
【図３】
0005542075.tif 000004
【図４】
0005542075.tif 000005
【図５】
0005542075.tif 000006
【図６】
0005542075.tif 000007
【図７】
0005542075.tif 000008
【図８】
0005542075.tif 000009
【図９】
0005542075.tif 000010
【図１０】
0005542075.tif 000011