(57)【特許請求の範囲】
【請求項１】
透かしを埋め込む画像が同一の静止画像データから構成され、時間の経過に伴い変化する透かし動画像データが電子透かしとして埋め込まれている、
ことを特徴とする透かし入り二次元コード。
【請求項２】
離散ウェーブレット変換又は離散コサイン変換の３次元の周波数解析を利用して、埋込対象の二次元コードの周波数成分に、前記透かし動画像データを構成する各フレーム画像データや符号データを埋め込んで行き、該周波数成分に該各フレーム画像データや該符号データが埋め込まれた前記二次元コードからなる動画像データとして生成される、
ことを特徴とする請求項１に記載の透かし入り二次元コード。
【請求項３】
擬似三次元離散コサイン変換を利用して、埋込対象の各フレームの二次元コードの特定周波数成分における時系列係数データを一次元離散コサイン変換することで得られるＡＣ係数データ及び／又はＤＣ係数データに、前記透かし動画像データを構成する符号データを埋め込んで行き、該ＡＣ係数データ及び／又はＤＣ係数データに該符号データが埋め込まれた前記二次元コードからなる動画像データとして生成される、
ことを特徴とする請求項１に記載の透かし入り二次元コード。
【請求項４】
前記透かし動画像データは、所定規則に従って生成されるワンタイムパスワードである、
ことを特徴とする請求項１乃至３のいずれか１項に記載の透かし入り二次元コード。
【請求項５】
所定の規則に従って、動画像データとしての第１ワンタイムパスワードを生成し、該第１ワンタイムパスワードを含む動画像データとしての二次元コードを表示する端末装置と、
前記端末装置に表示される前記二次元コードから、前記第１ワンタイムパスワードを取得するワンタイムパスワード取得手段と、前記所定の規則に従って動画像データとしての第２ワンタイムパスワードを生成する第２ワンタイムパスワード生成手段と、前記第１ワンタイムパスワードと前記第２ワンタイムパスワードとが合致するか否かを判別することにより、認証を行う認証手段と、を備える認証装置と、
を具備する認証システム。
【請求項６】
前記端末装置は、前記所定の規則のうちの第１規則に従って、現在の時刻に基づく動画像データとしての第１時刻同期ワンタイムパスワードを前記第１ワンタイムパスワードとして生成し、該第１時刻同期ワンタイムパスワードを含む動画像データとしての時刻同期二次元コードを表示し、
前記ワンタイムパスワード取得手段は、前記端末装置に表示されている前記時刻同期二次元コードから、前記第１時刻同期ワンタイムパスワードを取得し、
前記第２ワンタイムパスワード生成手段は、前記第１規則に従って、現在の時刻に基づく動画像データとしての第２時刻同期ワンタイムパスワードを前記第２ワンタイムパスワードとして生成し、
前記認証手段は、前記第１時刻同期ワンタイムパスワードと前記第２時刻同期ワンタイムパスワードとが合致するか否かを判別することにより、認証を行う第１認証手段を含む、
ことを特徴とする請求項５に記載の認証システム。
【請求項７】
前記認証装置は、
前記第１認証手段によって前記第１時刻同期ワンタイムパスワードと前記第２時刻同期ワンタイムパスワードとが合致しないと判別した場合、チャレンジ符号を含むチャレンジ二次元コードを生成するチャレンジ二次元コード生成手段と、
前記チャレンジ二次元コードを表示するチャレンジ二次元コード表示手段と、
を更に備え、
前記端末装置は、前記所定の規則のうちの第２規則に従って、前記認証装置に表示される前記チャレンジ二次元コードから取得した前記チャレンジ符号に対応する第１レスポンス符号を前記第１ワンタイムパスワードとして生成し、該第１レスポンス符号を含むレスポンス二次元コードを表示し、
前記ワンタイムパスワード取得手段は、前記端末装置に表示されている前記レスポンス二次元コードから、前記第１レスポンス符号を取得し、
前記第２ワンタイムパスワード生成手段は、前記第２規則に従って、前記チャレンジ符号に対応する第２レスポンス符号を前記第２ワンタイムパスワードとして生成し、
前記認証手段は、前記第１レスポンス符号と前記第２レスポンス符号とが合致するか否かを判別することにより、認証を行う第２認証手段を含む、
ことを特徴とする請求項６に記載の認証システム。
【請求項８】
前記端末装置は、透かし動画像データが電子透かしとして埋め込まれた透かし入り二次元コードを表示し、
前記認証装置は、前記端末装置に表示される前記透かし入り二次元コードから前記透かし動画像データを抽出できたか否かを判別することにより、認証を行う抽出判別手段をさらに備え、
前記端末装置は、前記抽出判別手段によって前記透かし動画像データを抽出できなかったと判別された場合、前記第１時刻同期ワンタイムパスワードを生成する、
ことを特徴とする請求項６又は７に記載の認証システム。
【請求項９】
前記二次元コードには、前記第１ワンタイムパスワードが電子透かしとして埋め込まれ、
前記ワンタイムパスワード取得手段は、前記端末装置に表示される前記二次元コードから、電子透かしとして埋め込まれている前記第１ワンタイムパスワードを取得する、
ことを特徴とする請求項５乃至８のいずれか１項に記載の認証システム。
【請求項１０】
前記第１ワンタイムパスワードは、定期的に更新される、
ことを特徴とする請求項５乃至９のいずれか１項に記載の認証システム。
【請求項１１】
チャレンジ符号を含むチャレンジ二次元コードを生成するチャレンジ二次元コード生成手段と、前記チャレンジ二次元コードを表示するチャレンジ二次元コード表示手段と、を備える認証装置と、
所定の規則に従って、前記認証装置に表示される前記チャレンジ二次元コードから取得した前記チャレンジ符号に対応する第１レスポンス符号を生成し、該第１レスポンス符号を含むレスポンス二次元コードを表示する端末装置と、
を具備し、
前記認証装置は、
前記端末装置に表示されている前記レスポンス二次元コードから、前記第１レスポンス符号を取得するレスポンス符号取得手段と、
前記所定の規則に従って、前記チャレンジ符号に対応する第２レスポンス符号を生成するレスポンス符号生成手段と、
前記第１レスポンス符号と前記第２レスポンス符号とが合致するか否かを判別することにより、認証を行う認証手段と、
を更に備える認証システム。
【請求項１２】
前記端末装置は、透かしデータが電子透かしとして埋め込まれた透かし入り二次元コードを表示し、
前記認証装置は、前記端末装置に表示される前記透かし入り二次元コードから前記透かしデータを抽出できたか否かを判別することにより、認証を行う抽出判別手段をさらに備え、
前記チャレンジ二次元コード生成手段は、前記抽出判別手段によって前記透かしデータを抽出できなかったと判別した場合、前記チャレンジ二次元コードを生成する、
ことを特徴とする請求項１１に記載の認証システム。
【請求項１３】
前記透かし入り二次元コードには、時間の経過に伴い変化する前記透かし動画像データが電子透かしとして埋め込まれている、
ことを特徴とする請求項８又は１２に記載の認証システム。
【請求項１４】
時間の経過に伴い変化する透かし動画像データが電子透かしとして埋め込まれている透かし入り二次元コードから、該透かし動画像データを抽出できたか否かを判別することにより、認証を行う、
ことを特徴とする認証方法。
【請求項１５】
端末装置が、所定の規則に従って、動画像データとしての第１ワンタイムパスワードを生成するステップと、
前記端末装置が、該第１ワンタイムパスワードを含む動画像データとしての二次元コードを表示するステップと、
認証装置が、前記端末装置に表示される前記二次元コードから、前記第１ワンタイムパスワードを取得するワンタイムパスワード取得ステップと、
前記認証装置が、前記所定の規則に従って動画像データとしての第２ワンタイムパスワードを生成する第２ワンタイムパスワード生成ステップと、
前記認証装置が、前記第１ワンタイムパスワードと前記第２ワンタイムパスワードとが合致するか否かを判別することにより、認証を行う認証ステップと、
を備える認証方法。
【請求項１６】
認証装置が、チャレンジ符号を含むチャレンジ二次元コードを生成するチャレンジ二次元コード生成ステップと、
前記認証装置が、前記チャレンジ二次元コードを表示するチャレンジ二次元コード表示ステップと、
端末装置が、所定の規則に従って、前記認証装置に表示される前記チャレンジ二次元コードから取得した前記チャレンジ符号に対応する第１レスポンス符号を生成するステップと、
前記端末装置が、該第１レスポンス符号を含むレスポンス二次元コードを表示するステップと、
前記認証装置が、前記端末装置に表示されている前記レスポンス二次元コードから、前記第１レスポンス符号を取得するレスポンス符号取得ステップと、
前記認証装置が、前記所定の規則に従って、前記チャレンジ符号に対応する第２レスポンス符号を生成するレスポンス符号生成ステップと、
前記認証装置が、前記第１レスポンス符号と前記第２レスポンス符号とが合致するか否かを判別することにより、認証を行う認証ステップと、
を備える認証方法。
【請求項１７】
認証装置のコンピュータに、
所定の規則に従って、動画像データとしての第１ワンタイムパスワードを生成し、該第１ワンタイムパスワードを含む動画像データとしての二次元コードを表示する端末装置に表示される前記二次元コードから、前記第１ワンタイムパスワードを取得するワンタイムパスワード取得手順と、
前記所定の規則に従って動画像データとしての第２ワンタイムパスワードを生成する第２ワンタイムパスワード生成手順と、
前記第１ワンタイムパスワードと前記第２ワンタイムパスワードとが合致するか否かを判別することにより、認証を行う認証手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、透かし入り二次元コード、認証システム、認証方法、及びプログラムに関し、特に、適切に認証を行うことができる透かし入り二次元コード、認証システム、認証方法、及びプログラムに関する。
【背景技術】
【０００２】
二次元コードの一種であるＱＲ（Quick Response）コード（登録商標）は、印刷物に機械可読な情報を埋め込むもので、昨今では、航空券やチケットに代表されるように、金銭的価値を持ったＱＲコード（登録商標）の利用が拡大している（例えば特許文献１参照）。このため、ＱＲコード（登録商標）に代表される二次元コードの偽造や複製を検知する方式の開発は、急務の課題となっている。
【０００３】
上記の課題を解決するものとして、二次元コードの原画像をＲＧＢの各色成分に分離した後、Ｒ，Ｇ，Ｂの色別に離散ウェーブレット変換を施して、ＬＬ成分、ＬＨ成分、ＨＬ成分、及びＨＨ成分といった周波数成分に分解する。そして、ウェーブレット係数の値（係数値）がＬＨ成分及びＨＬ成分に比べて小さいＨＨ成分のみに透かし情報を埋め込んで、透かし情報入り二次元コードを生成する技術が開発された（例えば特許文献２参照）。
【０００４】
特許文献２に記載された技術では、複写されていない正規の透かし情報入り二次元コードのＨＨ成分から、透かし情報以外の情報がノイズとして現れて透かし情報が失われることを防止することができる。これに対して、濃淡表現方法が相違する複写機で複写された（不正コピーされた）非正規の透かし情報入り二次元コードのＨＨ成分には、透かし情報以外の情報が非常に強く現れるため、透かし情報が失われる。これにより、二次元コードの複製を検知することが可能となる。
【０００５】
なお、本明細書中に特許文献１及び２の明細書、特許請求の範囲、図面全体を参考として取り込むものとする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３１８３２８号公報
【特許文献２】ＷＯ２０１０／１４０６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、携帯電話等の端末装置のディスプレイ等の表示部に表示される二次元コードについては、特許文献２に記載された技術の有効性が不明であるため、端末装置の表示部に表示される二次元コードを使用して行われる認証が適切に行われない虞があった。
【０００８】
本発明は、上記の課題を解決するためになされたものであり、適切に認証を行うことができる透かし入り二次元コード、認証システム、認証方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、本発明の第１の観点に係る透かし入り二次元コードは、
透かしを埋め込む画像（カバー画像）が同一の静止画像データから構成され、時間の経過に伴い変化する透かし動画像データが電子透かしとして埋め込まれている、
ことを特徴とする。
【００１０】
上記の透かし入り二次元コードにおいて、
離散ウェーブレット変換又は離散コサイン変換の３次元の周波数解析を利用して、埋込対象の二次元コードの周波数成分に、前記透かし動画像データを構成する各フレーム画像データや符号データを埋め込んで行き、該周波数成分に該各フレーム画像データや該符号データが埋め込まれた前記二次元コードからなる動画像データとして生成される、
ようにしてもよい。
【００１１】
上記の透かし入り二次元コードにおいて、
擬似三次元離散コサイン変換を利用して、埋込対象の各フレームの二次元コードの特定周波数成分における時系列係数データを一次元離散コサイン変換することで得られるＡＣ係数データ及び／又はＤＣ係数データに、前記透かし動画像データを構成する符号データを埋め込んで行き、該ＡＣ係数データ及び／又はＤＣ係数データに該符号データが埋め込まれた前記二次元コードからなる動画像データとして生成される、
ようにしてもよい。
【００１２】
上記の透かし入り二次元コードにおいて、
前記透かし動画像データは、所定規則に従って生成されるワンタイムパスワードである、
ようにしてもよい。
【００１３】
上記の目的を達成するため、本発明の第２の観点に係る認証システムは、
所定の規則に従って、動画像データとしての第１ワンタイムパスワードを生成し、該第１ワンタイムパスワードを含む動画像データとしての二次元コードを表示する端末装置と、
前記端末装置に表示される前記二次元コードから、前記第１ワンタイムパスワードを取得するワンタイムパスワード取得手段と、前記所定の規則に従って動画像データとしての第２ワンタイムパスワードを生成する第２ワンタイムパスワード生成手段と、前記第１ワンタイムパスワードと前記第２ワンタイムパスワードとが合致するか否かを判別することにより、認証を行う認証手段と、を備える認証装置と、
を具備する。
【００１４】
上記の認証システムにおいて、
前記端末装置は、前記所定の規則のうちの第１規則に従って、現在の時刻に基づく動画像データとしての第１時刻同期ワンタイムパスワードを前記第１ワンタイムパスワードとして生成し、該第１時刻同期ワンタイムパスワードを含む動画像データとしての時刻同期二次元コードを表示し、
前記ワンタイムパスワード取得手段は、前記端末装置に表示されている前記時刻同期二次元コードから、前記第１時刻同期ワンタイムパスワードを取得し、
前記第２ワンタイムパスワード生成手段は、前記第１規則に従って、現在の時刻に基づく動画像データとしての第２時刻同期ワンタイムパスワードを前記第２ワンタイムパスワードとして生成し、
前記認証手段は、前記第１時刻同期ワンタイムパスワードと前記第２時刻同期ワンタイムパスワードとが合致するか否かを判別することにより、認証を行う第１認証手段を含む、
ようにしてもよい。
【００１５】
上記の認証システムにおいて、
前記認証装置は、
前記第１認証手段によって前記第１時刻同期ワンタイムパスワードと前記第２時刻同期ワンタイムパスワードとが合致しないと判別した場合、チャレンジ符号を含むチャレンジ二次元コードを生成するチャレンジ二次元コード生成手段と、
前記チャレンジ二次元コードを表示するチャレンジ二次元コード表示手段と、
を更に備え、
前記端末装置は、前記所定の規則のうちの第２規則に従って、前記認証装置に表示される前記チャレンジ二次元コードから取得した前記チャレンジ符号に対応する第１レスポンス符号を前記第１ワンタイムパスワードとして生成し、該第１レスポンス符号を含むレスポンス二次元コードを表示し、
前記ワンタイムパスワード取得手段は、前記端末装置に表示されている前記レスポンス二次元コードから、前記第１レスポンス符号を取得し、
前記第２ワンタイムパスワード生成手段は、前記第２規則に従って、前記チャレンジ符号に対応する第２レスポンス符号を前記第２ワンタイムパスワードとして生成し、
前記認証手段は、前記第１レスポンス符号と前記第２レスポンス符号とが合致するか否かを判別することにより、認証を行う第２認証手段を含む、
ようにしてもよい。
【００１６】
上記の認証システムにおいて、
前記端末装置は、透かし動画像データが電子透かしとして埋め込まれた透かし入り二次元コードを表示し、
前記認証装置は、前記端末装置に表示される前記透かし入り二次元コードから前記透かし動画像データを抽出できたか否かを判別することにより、認証を行う抽出判別手段をさらに備え、
前記端末装置は、前記抽出判別手段によって前記透かし動画像データを抽出できなかったと判別された場合、前記第１時刻同期ワンタイムパスワードを生成する、
ようにしてもよい。
【００１７】
上記の認証システムにおいて、
前記二次元コードには、前記第１ワンタイムパスワードが電子透かしとして埋め込まれ、
前記ワンタイムパスワード取得手段は、前記端末装置に表示される前記二次元コードから、電子透かしとして埋め込まれている前記第１ワンタイムパスワードを取得する、
ようにしてもよい。
【００１８】
上記の認証システムにおいて、
前記第１ワンタイムパスワードは、定期的に更新される、
ようにしてもよい。
【００１９】
上記の目的を達成するため、本発明の第３の観点に係る認証システムは、
チャレンジ符号を含むチャレンジ二次元コードを生成するチャレンジ二次元コード生成手段と、前記チャレンジ二次元コードを表示するチャレンジ二次元コード表示手段と、を備える認証装置と、
所定の規則に従って、前記認証装置に表示される前記チャレンジ二次元コードから取得した前記チャレンジ符号に対応する第１レスポンス符号を生成し、該第１レスポンス符号を含むレスポンス二次元コードを表示する端末装置と、
を具備し、
前記認証装置は、
前記端末装置に表示されている前記レスポンス二次元コードから、前記第１レスポンス符号を取得するレスポンス符号取得手段と、
前記所定の規則に従って、前記チャレンジ符号に対応する第２レスポンス符号を生成するレスポンス符号生成手段と、
前記第１レスポンス符号と前記第２レスポンス符号とが合致するか否かを判別することにより、認証を行う認証手段と、
を更に備える。
【００２０】
上記の認証システムにおいて、
前記端末装置は、透かしデータが電子透かしとして埋め込まれた透かし入り二次元コードを表示し、
前記認証装置は、前記端末装置に表示される前記透かし入り二次元コードから前記透かしデータを抽出できたか否かを判別することにより、認証を行う抽出判別手段をさらに備え、
前記チャレンジ二次元コード生成手段は、前記抽出判別手段によって前記透かしデータを抽出できなかったと判別した場合、前記チャレンジ二次元コードを生成する、
ようにしてもよい。
【００２１】
上記の認証システムにおいて、
前記透かし入り二次元コードには、時間の経過に伴い変化する前記透かし動画像データが電子透かしとして埋め込まれている、
ようにしてもよい。
【００２２】
上記の目的を達成するため、本発明の第４の観点に係る認証方法は、
時間の経過に伴い変化する透かし動画像データが電子透かしとして埋め込まれている透かし入り二次元コードから、該透かし動画像データを抽出できたか否かを判別することにより、認証を行う、
ことを特徴とする。
【００２３】
上記の目的を達成するため、本発明の第５の観点に係る認証方法は、
端末装置が、所定の規則に従って、動画像データとしての第１ワンタイムパスワードを生成するステップと、
前記端末装置が、該第１ワンタイムパスワードを含む動画像データとしての二次元コードを表示するステップと、
認証装置が、前記端末装置に表示される前記二次元コードから、前記第１ワンタイムパスワードを取得するワンタイムパスワード取得ステップと、
前記認証装置が、前記所定の規則に従って動画像データとしての第２ワンタイムパスワードを生成する第２ワンタイムパスワード生成ステップと、
前記認証装置が、前記第１ワンタイムパスワードと前記第２ワンタイムパスワードとが合致するか否かを判別することにより、認証を行う認証ステップと、
を備える。
【００２４】
上記の目的を達成するため、本発明の第６の観点に係る認証方法は、
認証装置が、チャレンジ符号を含むチャレンジ二次元コードを生成するチャレンジ二次元コード生成ステップと、
前記認証装置が、前記チャレンジ二次元コードを表示するチャレンジ二次元コード表示ステップと、
端末装置が、所定の規則に従って、前記認証装置に表示される前記チャレンジ二次元コードから取得した前記チャレンジ符号に対応する第１レスポンス符号を生成するステップと、
前記端末装置が、該第１レスポンス符号を含むレスポンス二次元コードを表示するステップと、
前記認証装置が、前記端末装置に表示されている前記レスポンス二次元コードから、前記第１レスポンス符号を取得するレスポンス符号取得ステップと、
前記認証装置が、前記所定の規則に従って、前記チャレンジ符号に対応する第２レスポンス符号を生成するレスポンス符号生成ステップと、
前記認証装置が、前記第１レスポンス符号と前記第２レスポンス符号とが合致するか否かを判別することにより、認証を行う認証ステップと、
を備える。
【００２５】
上記の目的を達成するため、本発明の第７の観点に係るプログラムは、
認証装置のコンピュータに、
所定の規則に従って、動画像データとしての第１ワンタイムパスワードを生成し、該第１ワンタイムパスワードを含む動画像データとしての二次元コードを表示する端末装置に表示される前記二次元コードから、前記第１ワンタイムパスワードを取得するワンタイムパスワード取得手順と、
前記所定の規則に従って動画像データとしての第２ワンタイムパスワードを生成する第２ワンタイムパスワード生成手順と、
前記第１ワンタイムパスワードと前記第２ワンタイムパスワードとが合致するか否かを判別することにより、認証を行う認証手順と、
を実行させる。
【発明の効果】
【００２６】
本発明によれば、適切に認証を行うことができる透かし入り二次元コード、認証システム、認証方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】認証システムの構成例を示すブロック図である。
【図２】端末装置の構成例を示すブロック図である。
【図３】（ａ）は、ロゴ付き二次元コードの一例を示す平面図であり、（ｂ）は、二次元コードの一例を示す平面図である。
【図４】電子透かし画像の一例を示す平面図である。
【図５】認証装置の構成例を示すブロック図である。
【図６】第１実施形態における認証処理の詳細を示すフローチャートである。
【図７】第１実施形態における認証処理の詳細を示すフローチャートである。
【図８】第２実施形態における認証処理の詳細を示すフローチャートである。
【図９】第３実施形態における認証処理の詳細を示すフローチャートである。
【図１０】第３実施形態における認証処理の詳細を示すフローチャートである。
【図１１】第４実施形態における認証処理の詳細を示すフローチャートである。
【図１２】第４実施形態における認証処理の詳細を示すフローチャートである。
【図１３】第４実施形態における認証処理の詳細を示すフローチャートである。
【図１４】二次元コード評価システムの構成例を示す図である。
【図１５】変形例における端末装置の制御部の機能構成を示すブロック図である。
【図１６】二次元コード評価処理の詳細を示すフローチャートである。
【図１７】二次元コード評価処理の詳細を示すフローチャートである。
【図１８】最適解と、対応する基底関数と、を例示する図である。
【図１９】透かし入り二次元コードと、透かし入り二次元コードの撮影結果と、複製二次元コードの撮影結果と、を例示する図である。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態について説明する。
［第１実施形態］
【００２９】
まず、本発明の第１実施形態に係る認証システムの構成について、図面を参照しつつ説明する。
【００３０】
図１は、認証システムの構成例を示す図である。
【００３１】
認証システム１は、図１に示すように、端末装置１０と、認証装置２０と、を備えている。
【００３２】
図２は、端末装置の構成例を示すブロック図である。
【００３３】
端末装置１０は、例えば携帯電話や、スマートフォン、タブレットコンピュータ等から構成され、図２に示すように、表示部１１と、撮像部１２と、操作部１３と、記憶部１４と、制御部１５と、を備えている。
【００３４】
表示部１１は、例えばＬＣＤ（Liquid Crystal Display）等から構成され、制御部１５によって生成した透かし入り二次元コードやレスポンス二次元コード等を表示する。なお、透かし入り二次元コードやレスポンス二次元コードは、端末装置１０の特性に応じて、補正されて表示部１１に表示される。
【００３５】
撮像部１２は、例えばＣＣＤ（Charge-Coupled Device）等の撮像素子から構成され、図５に示す認証装置２０の表示部２２に表示されるチャレンジ符号を示すチャレンジ二次元コード等を撮像する。
【００３６】
操作部１３は、ユーザによって操作されるもので、例えばタッチパネル等から構成されている。ユーザは、操作部１３を操作して、透かし入り二次元コードの生成を指示したり、図５に示す認証装置２０の表示部２２に表示されるチャレンジ二次元コードの読取を指示したりする。
【００３７】
記憶部１４は、例えばフラッシュメモリ等の不揮発性メモリから構成され、透かし入り二次元コードやレスポンス二次元コードを生成するためのアプリケーションプログラム等がインストールされている。
【００３８】
また、記憶部１４には、例えば端末装置１０のユーザを識別するためのアカウントＩＤ（Identification）が記憶されている。
【００３９】
制御部１５は、例えばＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）等から構成され、ＣＰＵが、ＲＡＭをワークメモリとして用い、ＲＯＭや記憶部１４等に記憶されている各種プログラムを適宜実行することによって、端末装置１０の各部の動作を制御する。
【００４０】
本実施形態において、制御部１５は、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、例えば記憶部１４に記憶されているアカウントＩＤを示す埋込対象のロゴ付き二次元コード３０の周波数成分に、透かしデータを電子透かしとして埋め込んで、透かし入り二次元コードを生成し、表示部１１に表示する。
【００４１】
図３（ａ）は、ロゴ付き二次元コードの一例を示す平面図であり、図３（ｂ）は、二次元コードの一例を示す平面図である。
【００４２】
ロゴ付き二次元コード３０は、例えば表示部１１に表示される静止画像等であって、図３（ａ）に示すように、例えばＱＲ（Quick Response）コード（登録商標）等の汎用の二次元コード３１と、ユーザがその内容を視認可能なロゴと、を重ね合わせて形成されている。
【００４３】
二次元コード３１は、図３（ｂ）に示すように、特定比率の正方形を組み合わせた３つの位置決めシンボル３２ａ、３２ｂ、及び３２ｃを備え、この位置決めシンボル３２ａ、３２ｂ、及び３２ｃ間に、例えば複数の正方形のセルがマトリクス状に配置されている。
【００４４】
二次元コード３１では、複数のセルのうち、所定明度未満のセル（この例では黒色のセル）と、所定明度以上のセル（この例では白色のセル）と、の分布パターンによって、アカウントＩＤが示されている。
【００４５】
そして、図３（ａ）に示すロゴ付き二次元コード３０は、例えばおたまじゃくしを視認可能に表現するロゴのうち所定明度以上の領域に、所定明度未満の円形のセル（この例では黒色のセル）を重ね合わせる一方で、ロゴのうち所定明度未満の領域に、所定明度以上の円形のセル（この例では白色のセル）を重ね合わせて形成される。
【００４６】
ロゴ付き二次元コード３０では、ロゴのうち所定明度未満の領域及び所定明度未満のセルと、ロゴのうち所定明度以上の領域及び所定明度以上のセルと、の分布パターンによって、アカウントＩＤが示されている。
【００４７】
なお、ロゴ付き二次元コード３０が示す情報は、任意であり、搭乗券やチケット等といった金銭的価値を有するものであってもよいし、ＵＲＬ（Uniform Resource Locator ）等であってもよい。また、ロゴ付き二次元コード３０におけるセルの形状は、任意であり、本実施形態のように、円形であってもよいし、多角形や星形等であってもよい。
【００４８】
ロゴ付き二次元コード３０の周波数成分に、透かしデータを電子透かしとして埋め込む方式の例としては、階調値を直接操作する実空間手法、離散フーリエ変換（Discrete Fourier Transform、ＤＦＴ）を利用する方式（大西，岡，松井，“PN系列による画像への透かし署名法”，1997年暗号と情報セキュリティシンポジウム講演論文集，SCIS'97-26B，1997）の他に、離散ウェーブレット変換（Discrete Wavelet Transform，ＤＷＴ）を利用する方式（石塚，坂井，櫻井，“ウェーブレット変換を用いた電子透かし技術の安全性と信頼性に関する実験的考察”，1997年暗号と情報セキュリティシンポジウム講演論文集，SCIS'97-26D，1997）、（井上，宮崎，山本，桂，“ウェーブレット変換に基づくデジタル・ウォーターマーク−画像圧縮，変換処理に対するロバスト性について−”，1998年暗号と情報セキュリティシンポジウム講演論文集，SCIS'98-3.2.A，1998）や、離散コサイン変換（Discrete Cosine Transform，ＤＣＴ）を利用する方式（中村，小川，高嶋，“デジタル画像の著作権保護のための周波数領域における電子透かし方式”，1997年暗号と情報セキュリティシンポジウム講演論文集，SCIS'97-26A，1997）等が挙げられる。なお、本明細書中に上記の文献を参考として取り込むものとする。
【００４９】
離散ウェーブレット変換を利用して、ロゴ付き二次元コード３０の周波数成分に、時間変化を伴わない（時間の経過に伴って変化しない）透かしデータを電子透かしとして埋め込む場合、図２に示す制御部１５は、図３（ａ）に示すロゴ付き二次元コード３０をＲＧＢの各成分に分割（ＲＧＢ分解）した後、Ｒ，Ｇ，Ｂの色別に離散ウェーブレット変換を施すことにより、ロゴ付き二次元コード３０をＬＬ成分、ＬＨ成分、ＨＬ成分、及びＨＨ成分といった周波数成分に分解（帯域分割）する。
【００５０】
離散ウェーブレット変換を利用することによって得られる周波数成分は、二次元のデータとなるため、画像データと同様に扱うことができ、また、ロゴ付き二次元コード３０に電子透かしとして埋め込まれる透かしデータも画像データと考えることができる。例えば、図４（ａ）に示す１モジュールのサイズが一辺数ピクセルの二次元コードから構成される透かし静止画像データ３３に合わせて、図３（ａ）に示すロゴ付き二次元コード３０の位置決めシンボル３２ａ、３２ｂ、及び３２ｃ等の黒色の画像領域の周波数成分を増分或いは減分させることにより、ロゴ付き二次元コード３０に透かし静止画像データ３３を電子透かしとして埋め込む。
【００５１】
図２に示す制御部１５は、各周波数成分に逆離散ウェーブレット変換（Inverse Discrete Wavelet Transform，ＩＤＷＴ）を施した後、ＲＧＢの各成分の統合（ＲＧＢ統合）を行って、透かし入り二次元コードを生成する。このような離散ウェーブレット変換を利用して生成した透かし入り二次元コードでは、透かし静止画像データ３３を強く埋め込むと、電子透かしが見えてくることとなる。
【００５２】
一方、離散コサイン変換（より具体的には二次元離散コサイン変換）を利用して、ロゴ付き二次元コード３０の周波数成分に、時間変化を伴わない透かしデータを電子透かしとして埋め込む場合、図２に示す制御部１５は、図３（ａ）に示すロゴ付き二次元コード３０のカラーモードをＲＧＢ信号からＹＩＱ信号に変換し、Ｉ，Ｑの色差情報を１／４に間引いた後、ＹＩＱの各チャネルの画像を８×８画素のブロック単位に分け、ブロックごとに二次元離散コサイン変換を施すことにより、周波数成分を求める。
【００５３】
二次元離散コサイン変換を利用することによって得られる周波数成分は、二次元のデータではあるが、画像全体（またはブロック全体）の周波数成分であるため、画像データとは異なり一次元のデータと考えた方がよいようなものとなり、ロゴ付き二次元コード３０に電子透かしとして埋め込まれる透かしデータも一次元の符号データとなる。なお、一次元の透かしデータ（透かし符号データ）を二次元状に配置することで、図４（ｂ）に示すような、１モジュールサイズが一辺１ピクセルの二次元コードから構成される透かし静止画像データ３４のように考えることもできる。
【００５４】
制御部１５は、周波数成分の各要素を量子化行列で割ることにより、高周波成分の多くの情報をカットして０が並ぶようにする。そして、制御部１５は、周波数成分の係数データ（二次元ＤＣＴ係数データ）をＤＣ（Direct Current）係数データとＡＣ（Alternating Current）係数データとに分けて、各ブロックの所定番目（特定周波数帯）のＤＣ係数データを、透かし符号データに合わせて、０または１に置き換えることにより、ロゴ付き二次元コード３０に、透かし符号データ（時間変化を伴わない透かし符号データ）を電子透かしとして埋め込む。
【００５５】
本実施形態において、透かし符号データは、上述したように、特定周波数帯のＤＣ係数データに埋め込まれる。８×８画素のブロックのうちの、１箇所のブロックがＡＣ係数データに相当し、その他６３箇所のブロックがＤＣ係数データに相当する。従来の一般的で頑健な電子透かしの埋込技術では、ＡＣ成分データに透かし符号データを埋め込むが、本実施形態では、複数のＤＣ成分データに透かし符号データを分散して埋め込んでいる。どのＤＣ成分データにどのような強さで透かし符号データを埋め込むかは、最適化により決定すればよい。なお、ＡＣ成分データに透かし符号データを弱く埋め込んでもよい。
【００５６】
続いて、制御部１５は、ＤＣ成分はハフマン符号化あるいは算術圧縮により、またＡＣ成分はランレングス符号化及びハフマン符号化により、それぞれ別々に圧縮する。
【００５７】
そして、制御部１５は、二次元ＤＣＴ係数データを逆量子化した後、逆二次元離散コサイン変換（Inverse Discrete Cosine Transform，ＩＤＣＴ）を施してＹＩＱ信号を求め、ＹＩＱ信号をＲＧＢ信号に逆変換することにより、透かし入り二次元コードを生成する。このような二次元離散コサイン変換を利用して生成した透かし入り二次元コードでは、透かし符号データを強く埋め込んでも画像全体が劣化するだけで、電子透かしが見えてくることはない。
【００５８】
これに対して、離散ウェーブレット変換を利用して、ロゴ付き二次元コード３０の周波数成分に、時間変化を伴う（時間の経過に伴って変化する）透かしデータを電子透かしとして埋め込む場合、制御部１５は、同一のロゴ付き二次元コード３０の周波数成分のそれぞれに、透かし動画像データを構成する各フレーム画像データを一つずつ埋め込んで行く。ここで、透かし動画像データの各フレーム画像データは、透かし静止画像データ３３と同様に、１モジュールのサイズが一辺数ピクセルの二次元コードから構成されている。そして、制御部１５は、透かし動画像データの各フレーム画像データが埋め込まれた複数のロゴ付き二次元コード３０をフレーム画像データとする動画像データを、電子透かしが時間変化する透かし入り二次元コードの動画像データとして生成する。なお、このようにして生成された透かし入り二次元コードは、同一のロゴ付き二次元コード３０の静止画像データが用いられているため、表示部１１に表示された場合、一見すると静止画像に見えるが、実際には電子透かしが微少に時間変化する動画像データとなる。
【００５９】
一方、離散コサイン変換（より具体的には擬似三次元離散コサイン変換）を利用して、ロゴ付き二次元コード３０の周波数成分に、時間変化を伴う透かしデータを電子透かしとして埋め込む場合、制御部１５は、同一のロゴ付き二次元コード３０から構成される動画像データの各フレーム画像データのそれぞれに、上述のような二次元離散コサイン変換を施して、同一のＤＣＴ係数データを複数生成する。また、制御部１５は、時系列方向に、埋込対象の各フレームのロゴ付き二次元コード３０の特定周波数帯におけるＤＣＴ係数データ（時系列係数データ）に対して一次元離散コサイン変換を施す。そして、制御部１５は、複数のＤＣ係数データおよびＡＣ係数データのそれぞれに、時間変化を伴う透かしデータ（時間変化を伴う透かし符号データ）を構成する複数種類の透かし符号データを電子透かしとして埋め込んで行くことにより、電子透かしが時間変化する透かし入り二次元コードを生成する。なお、このようにして生成された透かし入り二次元コードも、同一のロゴ付き二次元コード３０の静止画像データが用いられているため、表示部１１に表示された場合、一見すると静止画像に見えるが、実際には電子透かしが微少に時間変化する動画像データとなる。
【００６０】
擬似三次元離散コサイン変換については、HUANG, Hui-Yu; YANG, Cheng-Han; HSU, Wen-Hsing. Video Watermarking Algorithm Based on Pseudo 3D DCT and Quantization Index Modulation. In: MVA. 2009. p. 207-210.等にその詳細が記載されている。なお、本明細書中にこの文献を参考として取り込むものとする。
【００６１】
なお、電子透かしが時間変化する透かし入り二次元コードは動画像データとなることから、その領域内又は領域外には、透かし入り二次元コードの各フレーム画像データを識別するためのフレームＩＤを示す同期用パターンが追加されてもよい。同期用パターンは、例えば位置決めシンボル３２ａ、３２ｂ、及び３２ｃ等に追加され、電子透かしとともに時間変化するパターンとなっている。
【００６２】
また、三次元擬似離散コサイン変換のほか，三次元離散コサイン変換や三次元離散ウェーブレット変換等、任意の三次元周波数変換を利用して電子透かしを埋め込んでもよい。具体的には、三次元離散ウェーブレット変換や三次元離散コサイン変換など、３次元の周波数解析（三次元周波数変換）を利用して、埋込対象のロゴ付き二次元コード３０の周波数成分に、透かし動画像データを構成する各フレーム画像データを埋め込んで行く。そして、周波数成分に各フレーム画像データが埋め込まれたロゴ付き二次元コード３０からなる動画像データとして透かし入り二次元コードが生成されてもよい。
【００６３】
本実施形態において、制御部１５は、離散ウェーブレット変換を利用して、ロゴ付き二次元コード３０の周波数成分に、透かし動画像データを電子透かしとして埋め込むことにより、電子透かしが時間変化する透かし入り二次元コードを生成する。
【００６４】
また、制御部１５は、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、チャレンジ・レスポンス方式に従って、ワンタイムパスワード（レスポンス符号）を生成する。 具体的に、制御部１５は、撮像部１２において撮像して得られたチャレンジ二次元コードの静止画像データから、チャレンジ二次元コードが示すチャレンジ符号を読み取る。続いて、制御部１５は、所定のアルゴリズム（第２規則）に従って、読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成してレスポンス符号を生成する。
【００６５】
そして、制御部１５は、複数のセルのうち、所定明度未満のセル（例えば黒色のセル）と、所定明度以上のセル（例えば白色のセル）と、の分布パターンによって、レスポンス符号を示すレスポンス二次元コードを生成し、表示部１１に表示する。
【００６６】
図５は、認証装置の構成例を示すブロック図である。
【００６７】
認証装置２０は、例えば汎用の二次元コードリーダ等から構成され、図５に示すように、撮像部２１と、表示部２２と、記憶部２３と、制御部２４と、を備えている。なお、認証装置２０は、端末装置１０と同様に、例えば携帯電話や、スマートフォン、タブレットコンピュータ等から構成されてもよい。
【００６８】
撮像部２１は、例えばＣＣＤ等の撮像素子から構成され、図２に示す端末装置１０の表示部１１に表示される透かし入り二次元コードやレスポンス二次元コード等を撮像する。
【００６９】
表示部２２は、例えばＬＣＤ等から構成され、制御部２４によって生成したチャレンジ二次元コード等を表示する。
【００７０】
記憶部２３は、例えばハードディスクドライブ等から構成され、透かし入り二次元コードを認証したり、チャレンジ二次元コードを生成したり、チャレンジ・レスポンス方式のワンタイムパスワード認証（チャレンジ・レスポンス認証）を実行したりするためのアプリケーションプログラム等がインストールされている。
【００７１】
また、記憶部２３には、透かし入り二次元コードに電子透かしとして埋め込まれている透かし静止画像データ３３や、透かし動画像データ、透かし符号データ等の透かしデータが記憶されている。本実施形態では、透かし入り二次元コードに電子透かしとして透かし動画像データが埋め込まれているため、記憶部２３には、透かし動画像データが記憶されている。
【００７２】
さらに、記憶部２３は、アカウントＩＤを記憶するアカウントＤＢ（Data Base）２３０を備えている。
【００７３】
制御部２４は、例えばＣＰＵ、ＲＯＭ、及びＲＡＭ等から構成され、ＣＰＵが、ＲＡＭをワークメモリとして用い、ＲＯＭや記憶部２３等に記憶されている各種プログラムを適宜実行することによって、認証装置２０の各部の動作を制御する。また、ＲＡＭには、ランダムな数値列（乱数）を発生するランダムカウンタ等が設けられている。
【００７４】
制御部２４は、記憶部２３に記憶されているアプリケーションプログラムを実行することにより、撮像部２１において撮像して得られた透かし入り二次元コードの静止画像データや動画像データから、記憶部２３に記憶されている電子透かしと合致する電子透かしを抽出できたか否かを判別することにより、透かし入り二次元コードの真偽判定（認証）を行う。
【００７５】
透かし入り二次元コードに電子透かしとして透かし静止画像データ３３が埋め込まれている場合、制御部２４は、撮像部２１において撮像した透かし入り二次元コードをＲＧＢの各成分に分割（ＲＧＢ分解）した後、Ｒ，Ｇ，Ｂの色別に離散ウェーブレット変換を施すことにより、透かし入り二次元コードをＬＬ成分、ＬＨ成分、ＨＬ成分、及びＨＨ成分といった周波数成分に分解（帯域分割）する。そして、制御部２４は、周波数成分を正規化して、記憶部２３に記憶されている透かし静止画像データ３３と合致する透かし静止画像データ３３を抽出できたか否かを判別することにより、透かし入り二次元コードの認証を行う。
【００７６】
一方、透かし入り二次元コードに電子透かしとして、時間変化を伴わない透かし符号データが埋め込まれている場合、制御部２４は、撮像部２１において撮像した透かし入り二次元コードのカラーモードをＲＧＢ信号からＹＩＱ信号に変換し、Ｉ，Ｑの色差情報を１／４に間引いた後、ＹＩＱの各チャネルの画像を８×８画素のブロック単位に分け、ブロックごとに二次元離散コサイン変換を施すことにより、周波数成分を求める。そして、制御部２４は、周波数成分を正規化して、記憶部２３に記憶されている時間変化を伴わない透かし符号データと合致する時間変化を伴わない透かし符号データを抽出できたか否かを判別することにより、透かし入り二次元コードの認証を行う。
【００７７】
これに対して、透かし入り二次元コードに電子透かしとして透かし動画像データが埋め込まれている場合、制御部２４は、透かし入り二次元コードの各フレーム画像データのそれぞれに、上述のような離散ウェーブレット変換を施して行くこと等により、記憶部２３に記憶されている透かし動画像データと合致する透かし動画像データを抽出できたか否かを判別することにより、透かし入り二次元コードの認証を行う。
【００７８】
一方、透かし入り二次元コードに電子透かしとして、時間変化を伴う透かし符号データが埋め込まれている場合、制御部２４は、透かし入り二次元コードに擬似三次元離散コサイン変換を施すこと等により、記憶部２３に記憶されている時間変化を伴う透かし符号データと合致する時間変化を伴う透かし符号データを抽出できたか否かを判別することにより、透かし入り二次元コードの認証を行う。
【００７９】
なお、本実施形態において、透かし入り二次元コードには、上述したように、電子透かしとして透かし動画像データが埋め込まれているので、制御部２４は、離散ウェーブレット変換を利用して、透かし入り二次元コードの動画像データから、記憶部２３に記憶されている透かし動画像データと合致する透かし動画像データを抽出できたか否かを判別することにより、透かし入り二次元コードの認証を行う。
【００８０】
具体的に、透かし入り二次元コードをキャプチャして複製した場合、透かし入り二次元コードのスクリーンショットは、静止画像データとなるため、制御部２４は、透かし入り二次元コードのスクリーンショットから、透かし動画像データを抽出できず、透かし入り二次元コードの認証に失敗する。
【００８１】
また、透かし入り二次元コードのスクリーンキャプチャは、フレームレート（３０ｆｐｓ）の動画像データとなるが、透かし入り二次元コードに埋め込まれた透かし動画像データを正確にキャプチャすることは困難となる。このため、制御部２４は、透かし入り二次元コードのスクリーンキャプチャから、記憶部２３に記憶されている透かし動画像データと合致する透かし動画像データを抽出できず、透かし入り二次元コードの認証に失敗する。
【００８２】
これに対して、透かし入り二次元コードが真正のものである場合、すなわち複製したものでない場合、制御部２４は、透かし入り二次元コードの動画像データから、記憶部２３に記憶されている透かし動画像データと合致する透かし動画像データを抽出できるため、透かし入り二次元コードの認証に成功する。
【００８３】
このように、制御部２４は、透かし入り二次元コードの動画像データから、記憶部２３に記憶されている透かし動画像データと合致する透かし動画像データを抽出できれば、透かし入り二次元コードが真正のものであるとして、透かし入り二次元コードの認証に成功したものと判別する。これに対して、制御部２４は、透かし入り二次元コードの動画像データから、記憶部２３に記憶されている透かし動画像データと合致する透かし動画像データを抽出できなければ、透かし入り二次元コードが複製されたものであるとして、透かし入り二次元コードの認証に失敗したものと判別する。
【００８４】
もっとも、透かし入り二次元コードが真正のものであっても、端末装置１０の表示部１１の画面表示方式や解像度等が一般的でない、或いは特殊な保護フィルムを貼っている等、例外的な特性を持つこと等、何等かの理由で透かし入り二次元コードの真偽判定（認証）に失敗してしまうことがある。
【００８５】
そこで、制御部２４は、透かし入り二次元コードの認証に失敗した場合、チャレンジ・レスポンス認証を行う。具体的に、制御部２４は、ランダムカウンタから乱数を抽出し、乱数が示す数値列をチャレンジ符号として示すチャレンジ二次元コードを生成し、表示部２２に表示する。なお、チャレンジ二次元コードは、複数のセルのうち、所定明度未満のセル（例えば黒色のセル）と、所定明度以上のセル（例えば白色のセル）と、の分布パターンによって、チャレンジ符号を示している。
【００８６】
続いて、制御部２４は、端末装置１０と同様のアルゴリズム（第２規則）に従って、チャレンジ二次元コードが示すチャレンジ符号と、撮像部２１において撮像した透かし入り二次元コードが示すアカウントＩＤと、を合成して、端末装置１０において生成されたレスポンス符号と同様のレスポンス符号を生成する。
【００８７】
そして、制御部２４は、生成したレスポンス符号と、撮像部２１において撮像したレスポンス二次元コードが示すレスポンス符号と、を比較し、合致していれば認証に成功したものと判別し、合致していなければ認証に失敗したものと判別する。
【００８８】
次に、上記の構成を備える認証システムの動作について、図面を参照しつつ説明する。
【００８９】
ユーザは、端末装置１０の表示部１１に表示されている透かし入り二次元コードを、認証装置２０の撮像部２１に翳す。そして、認証装置２０では、制御部２４が、撮像部２１において透かし入り二次元コードを撮像したことに応答して、記憶部２３に記憶されているアプリケーションプログラムを実行することにより、認証処理を開始する。
【００９０】
図６及び図７は、第１実施形態における認証処理の詳細を示すフローチャートである。
【００９１】
まず、認証装置２０では、図６に示すように、制御部２４が、撮像部２１において撮像して得られた透かし入り二次元コードの動画像データから、記憶部２３に記憶されている透かし動画像データと合致する透かし動画像データを抽出できたか否かを判別することにより、透かし入り二次元コードの真偽判定（認証）を行う（ステップＳ１）。
【００９２】
ここで、制御部２４は、透かし動画像データを抽出できなかったと判別した場合（ステップＳ１；Ｎｏ）、透かし入り二次元コードの認証に失敗したとして、ランダムカウンタから乱数を抽出し、乱数が示す数値列をチャレンジ符号として示すチャレンジ二次元コードを生成する（ステップＳ２）。
【００９３】
また、制御部２４は、所定のアルゴリズムに従って、ステップＳ２の処理において生成したチャレンジ二次元コードが示すチャレンジ符号と、撮像部２１において撮像した透かし入り二次元コードが示すアカウントＩＤと、を合成してレスポンス符号を生成する（ステップＳ３）。
【００９４】
そして、制御部２４は、ステップＳ２の処理において生成したチャレンジ二次元コードを表示部２２に表示する（ステップＳ４）。
【００９５】
一方、端末装置１０では、制御部１５が、ユーザによる操作部１３の操作によって、認証装置２０の表示部２２に表示されているチャレンジ二次元コードの読取が指示されるまで（ステップＳ５；Ｎｏ）、ループして待つ。
【００９６】
そして、制御部１５は、チャレンジ二次元コードの読取が指示されたことに応答して（ステップＳ５；Ｙｅｓ）、撮像部１２においてチャレンジ二次元コードを撮像する（ステップＳ６）。
【００９７】
次に、制御部１５は、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、撮像部１２において撮像して得られたチャレンジ二次元コードの静止画像データから、チャレンジ二次元コードが示すチャレンジ符号を読み取る（ステップＳ７）。
【００９８】
続いて、制御部１５は、認証装置２０と同様のアルゴリズムに従って、ステップＳ７の処理において読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成して、認証装置２０において生成されたレスポンス符号と同様のレスポンス符号を生成する（ステップＳ８）。
【００９９】
そして、制御部１５は、レスポンス符号を示すレスポンス二次元コードを生成し（ステップＳ９）、表示部１１に表示する（ステップＳ１０）。
【０１００】
その後、ユーザは、端末装置１０の表示部１１に表示されているレスポンス二次元コードを認証装置２０の撮像部２１に翳す。
【０１０１】
一方、認証装置２０では、図７に示すように、制御部２４が、撮像部２１においてレスポンス二次元コードを撮像したことに応答して（ステップＳ１１）、ステップＳ３の処理において生成したレスポンス符号と、レスポンス二次元コードが示すレスポンス符号と、を比較する（ステップＳ１２）。
【０１０２】
そして、制御部２４は、ステップＳ１２の処理においてレスポンス符号が合致していない場合（ステップＳ１３；Ｙｅｓ）、認証に失敗したものと判別する（ステップＳ１４）。
【０１０３】
これに対して、制御部２４は、ステップＳ１の処理において透かし動画像データを抽出できた場合や（ステップＳ１；Ｎｏ）、ステップＳ１２の処理においてレスポンス符号が合致している場合（ステップＳ１３；Ｙｅｓ）、認証に成功したものと判別する（ステップＳ１５）。
【０１０４】
以上説明したように、第１実施形態に係る認証システム１によれば、時間の経過に伴い変化する透かしデータ（透かし動画像データ）が電子透かしとして埋め込まれている透かし入り二次元コードから、透かし動画像データを抽出できたか否かを判別することにより、透かし入り二次元コードを適切に認証することができる。
【０１０５】
また、端末装置１０の表示部１１の画面表示方式や解像度等が一般的でない、或いは特殊な保護フィルムを貼っている等、例外的な特性を持つこと等、何等かの理由で透かし入り二次元コードの真偽判定（認証）を行えない場合でも、チャレンジ・レスポンス認証を行うことにより、多少のユーザの手間は増えるが、実用上問題なく認証を行うことができる。
［第２実施形態］
【０１０６】
次に、本発明の第２実施形態に係る認証システムの構成について説明する。なお、上記の第１実施形態に係る認証システム１と同様の構成については、その説明を省略する。
【０１０７】
記憶部１４には、端末装置１０をトークンとして機能させるとともに、時刻同期二次元コードを生成させるためのアプリケーションプログラム等がインストールされている。
【０１０８】
制御部１５は、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、端末装置１０をトークンとして機能させ、時刻同期方式に従って、ワンタイムパスワードを生成する。具体的に、制御部１５は、所定のアルゴリズム（第１規則）に従って、現在の時刻に基づき、６桁の数値列から構成されるワンタイムパスワードを算出（生成）する。ワンタイムパスワードは、定期的（例えば６０秒毎）に再度算出されて更新される。なお、ワンタイムパスワードの更新頻度は、任意に設定及び変更可能であり、例えば３０秒毎に更新されるものであってもよい。
【０１０９】
また、制御部１５は、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてワンタイムパスワードを埋め込んで、時刻同期二次元コードを生成し、表示部１１に表示する。そして、制御部１５は、ワンタイムパスワードが更新される毎に、電子透かしとして更新後のワンタイムパスワードを埋め込んで、時刻同期二次元コードも更新し、表示部１１に表示する。
【０１１０】
すなわち、時刻同期二次元コードでは、ロゴ付き二次元コード３０の周波数成分に電子透かしとして埋め込まれるワンタイムパスワードが６０秒毎に更新される。このようにして生成した時刻同期二次元コードは、同一のロゴ付き二次元コード３０の静止画像データが用いられているため、表示部１１に表示された場合、一見すると静止画像に見えるが、実際には電子透かしとして埋め込まれているワンタイムパスワードが動画像データ等となるため、動画像データとなる。時刻同期二次元コードのフレームレートは、ワンタイムパスワードの更新頻度によって異なってくるが、通常の動画像データのフレームレート（３０〜６０ｆｐｓ）と比較すると低いものとなる。
【０１１１】
なお、本実施形態では、時刻同期二次元コードが定期的に更新されるものとして説明したが、本発明はこれに限定されるものではなく、例えばユーザによる操作部１３の操作によって時刻同期二次元コードの生成が指示されたことに応答して、逐一生成されるものであってもよい。このようにして生成した時刻同期二次元コードは、ロゴ付き二次元コード３０のみならず、電子透かしとして埋め込まれるワンタイムパスワードも静止画像データ等となるため、静止画像データとなる。
【０１１２】
撮像部２１は、図２に示す端末装置１０の表示部１１に表示される時刻同期二次元コード等を撮像する。
【０１１３】
記憶部２３は、時刻同期方式のワンタイムパスワード認証を実行するためのアプリケーションプログラム等がインストールされている。
【０１１４】
制御部２４は、記憶部２３に記憶されているアプリケーションプログラムを実行することにより、時刻同期方式のワンタイムパスワード認証を行う。具体的に、制御部２４は、撮像部２１において撮像した時刻同期二次元コードの動画像から、電子透かしとして埋め込まれているワンタイムパスワードを抽出（取得）するとともに、端末装置１０と同様のアルゴリズムに従って、現在の時刻に基づき、ワンタイムパスワードを算出（生成）する。
【０１１５】
そして、制御部２４は、抽出したワンタイムパスワードと、算出したワンタイムパスワードと、を比較し、合致していれば認証に成功したとものと判別し、合致していなければ認証に失敗したものと判別する。
【０１１６】
なお、第２実施形態に係る認証システム１では、チャレンジ・レスポンス認証が行われないため、認証装置２０は、表示部２２を備えなくてもよい。
【０１１７】
次に、上記の構成を備える認証システムの動作について、図面を参照しつつ説明する。
【０１１８】
図８は、第２実施形態における認証処理の詳細を示すフローチャートである。
【０１１９】
まず、端末装置１０では、図８に示すように、制御部１５が、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、所定のアルゴリズムに従って、現在の時刻に基づき、６桁の数値列から構成されるワンタイムパスワードを算出する（ステップＳ２１）。
【０１２０】
次に、制御部１５は、アカウントＩＤに示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてワンタイムパスワードを埋め込んで、時刻同期二次元コードを生成し（ステップＳ２２）、表示部１１に表示する（ステップＳ２３）。
【０１２１】
その後、ユーザは、端末装置１０の表示部１１に表示されている時刻同期二次元コードを、認証装置２０の撮像部２１に翳す。
【０１２２】
一方、端末装置２０では、制御部２４が、撮像部２１において時刻同期二次元コードを撮像したことに応答して（ステップＳ２４）、記憶部２３に記憶されているアプリケーションプログラムを実行することにより、撮像部２１において撮像した時刻同期二次元コードの動画像から、電子透かしとして埋め込まれているワンタイムパスワードを抽出する（ステップＳ２５）。
【０１２３】
次に、制御部２４は、端末装置１０と同様のアルゴリズムに従って、現在の時刻に基づき、ワンタイムパスワードを算出する（ステップＳ２６）。
【０１２４】
続いて、制御部２４は、ステップＳ２５の処理において抽出したワンタイムパスワードと、ステップＳ２６の処理において算出したワンタイムパスワードと、を比較する（ステップＳ２７）。
【０１２５】
そして、制御部２４は、ステップＳ２７の処理においてワンタイムパスワードが合致していないと判別した場合（ステップＳ２８；Ｎｏ）、認証に失敗したものと判別する一方で（ステップＳ２９）、ワンタイムパスワードが合致している場合（ステップＳ２８；Ｙｅｓ）、認証に成功したものと判別する（ステップＳ３０）。
【０１２６】
以上説明したように、第２実施形態に係る認証システム１では、時刻同期方式のワンタイムパスワード認証を行うことにより、端末装置１０と認証装置２０との間で時刻の同期が取れている必要はあるが、端末装置１０のユーザが、第１実施形態に係る認証システム１のように、認証装置２０の表示部２２に表示されたチャレンジ二次元コードを撮像するための操作を行うことなく、簡易且つ適切に認証を行うことができる。
［第３実施形態］
【０１２７】
次に、本発明の第３実施形態に係る認証システムの構成について説明する。なお、上記の第１及び第２実施形態に係る認証システム１と同様の構成については、その説明を省略する。
【０１２８】
本実施形態において、記憶部１４には、レスポンス二次元コードを生成させるためのアプリケーションプログラム等がインストールされている。
【０１２９】
制御部１５は、撮像部１２において撮像したチャレンジ二次元コードの静止画像から、チャレンジ二次元コードが示すチャレンジ符号を読み取る。続いて、制御部１５は、所定のアルゴリズムに従って、読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成してレスポンス符号を生成する。
【０１３０】
そして、制御部１５は、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてレスポンス符号を埋め込んで、レスポンス二次元コードを生成し、表示部１１に表示する。本実施形態において、電子透かしとして埋め込まれるレスポンス符号は、時間変化を伴わない静止画像データや符号データであるが、時間変化を伴う動画像データや符号データであってもよい。
【０１３１】
撮像部２１は、図２に示す端末装置１０の表示部１１に表示されるレスポンス二次元コード等を撮像する。
【０１３２】
記憶部２３は、チャレンジ二次元コードを生成したり、チャレンジ・レスポンス認証を行ったりするためのアプリケーションプログラム等がインストールされている。
【０１３３】
制御部２４は、記憶部２３に記憶されているアプリケーションプログラムを実行することにより、チャレンジ・レスポンス認証を行う。具体的に、制御部２４は、ランダムカウンタから乱数を抽出し、乱数が示す数値列をチャレンジ符号として示すチャレンジ二次元コードを生成して表示部２２に表示する。
【０１３４】
また、制御部２４は、定期的（例えば６０秒毎）にランダムカウンタから乱数を抽出し、乱数が示す数値列をチャレンジ符号として示すチャレンジ二次元コードを生成して更新する。なお、チャレンジ二次元コードの更新頻度は、任意に設定及び変更可能であり、例えば３０秒毎に更新されるものであってもよい。このため、チャレンジ二次元コードは、動画像となる。チャレンジ二次元コードのフレームレートは、その更新頻度によって異なってくるが、通常の動画像データのフレームレート（３０〜６０ｆｐｓ）と比較すると低いものとなる。
【０１３５】
なお、本実施形態では、チャレンジ二次元コードが定期的に更新されるものとして説明したが、本発明はこれに限定されるものではなく、例えば認証装置２０が備える汎用のセンサ等によって端末装置１０のユーザを検知したことに応答して、逐一生成される静止画像データであってもよい。
【０１３６】
また、制御部２４は、端末装置１０と同様のアルゴリズムに従って、チャレンジ二次元コードが示すチャレンジ符号と、撮像部２１において撮像したレスポンス二次元コードが示すアカウントＩＤと、を合成して、端末装置１０において生成されたレスポンス符号と同様のレスポンス符号を生成する。
【０１３７】
制御部２４は、撮像部２１において撮像したレスポンス二次元コードの静止画像から、電子透かしとして埋め込まれているレスポンス符号を抽出する。そして、制御部２４は、生成したレスポンス符号と、抽出したレスポンス符号と、を比較し、合致していれば認証に成功したものと判別し、合致していなければ認証に失敗したものと判別する。
【０１３８】
次に、上記の構成を備える認証システムの動作について、図面を参照しつつ説明する。
【０１３９】
図９及び図１０は、第３実施形態における認証処理の詳細を示すフローチャートである。
【０１４０】
まず、認証装置２０では、図９に示すように、制御部２４が、記憶部２３に記憶されているアプリケーションプログラムを実行することにより、ランダムカウンタから乱数を抽出し、乱数が示す数値列をチャレンジ符号として示すチャレンジ二次元コードを生成し（ステップＳ３１）、表示部２２に表示する（ステップＳ３２）。
【０１４１】
一方、端末装置１０では、制御部１５が、ユーザによる操作部１３の操作によって、認証装置２０の表示部２２に表示されたチャレンジ二次元コードの読取が指示されるまで（ステップＳ３３；Ｎｏ）、ループして待つ。
【０１４２】
そして、制御部１５は、チャレンジ二次元コードの読取が指示されたことに応答して（ステップＳ３３；Ｙｅｓ）、撮像部１２においてチャレンジ二次元コードを撮像する（ステップＳ３４）。
【０１４３】
次に、制御部１５は、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、撮像部１２において撮像して得られたチャレンジ二次元コードの静止画像データから、チャレンジ二次元コードが示すチャレンジ符号を読み取る（ステップＳ３５）。
【０１４４】
続いて、制御部１５は、所定のアルゴリズムに従って、ステップＳ３５の処理において読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成してレスポンス符号を生成する（ステップＳ３６）。
【０１４５】
そして、制御部１５は、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてレスポンス符号を埋め込んで、レスポンス二次元コードを生成し（ステップＳ３７）、表示部１１に表示する（ステップＳ３８）。
【０１４６】
その後、ユーザは、端末装置１０の表示部１１に表示されているレスポンス二次元コードを、認証装置２０の撮像部２１に翳す。
【０１４７】
そして、認証装置２０では、図１０に示すように、制御部２４が、撮像部２１においてレスポンス二次元コードを撮像したことに応答して（ステップＳ３９）、端末装置１０と同様のアルゴリズムに従って、ステップＳ３１の処理において生成したチャレンジ二次元コードが示すチャレンジ符号と、撮像部２１において撮像したレスポンス二次元コードが示すアカウントＩＤと、を合成して、端末装置１０において生成されたレスポンス符号と同様のレスポンス符号を生成する（ステップＳ４０）。
【０１４８】
また、制御部２４は、撮像部２１において撮像して得られたレスポンス二次元コードの静止画像データから、電子透かしとして埋め込まれているレスポンス符号を抽出する（ステップＳ４１）。
【０１４９】
続いて、制御部２４は、ステップＳ４０の処理において生成したレスポンス符号と、ステップＳ４１の処理において抽出したレスポンス符号と、を比較する（ステップＳ４２）。
【０１５０】
そして、制御部２４は、ステップＳ４２の処理においてレスポンス符号が合致していない場合（ステップＳ４３；Ｎｏ）、認証に失敗したものと判別する一方で（ステップＳ４４）、レスポンス符号が合致している場合（ステップＳ４３；Ｙｅｓ）、認証に成功したものと判別する（ステップＳ４５）。
【０１５１】
以上説明したように、第３実施形態に係る認証システム１では、端末装置１０のユーザが、チャレンジ・レスポンス認証を行うことにより、一度認証装置２０の表示部２２に表示されたチャレンジ二次元コードを撮像するための操作を行う必要はあるが、端末装置１０と認証装置２０との間で時刻の同期が取れていなくても適切に認証を行うことができる。
［第４実施形態］
【０１５２】
次に、本発明の第４実施形態に係る認証システムの構成について説明する。なお、上記の第１〜第３実施形態に係る認証システム１と同様の構成については、その説明を省略する。
【０１５３】
本実施形態において、記憶部１４には、端末装置１０をトークンとして機能させるとともに、時刻同期二次元コードやレスポンス二次元コードを生成させるためのアプリケーションプログラム等がインストールされている。
【０１５４】
制御部１５は、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、端末装置１０をトークンとして機能させ、時刻同期方式に従って、ワンタイムパスワードを生成する。具体的に、制御部１５は、所定のアルゴリズムに従って、現在の時刻に基づき、６桁の数値列から構成されるワンタイムパスワードを算出する。ワンタイムパスワードは、定期的（例えば６０秒毎）に再度算出されて更新される。
【０１５５】
また、制御部１５は、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてワンタイムパスワードを埋め込んで、時刻同期二次元コードを生成し、表示部１１に表示する。そして、制御部１５は、ワンタイムパスワードが更新される毎に、電子透かしとして更新後のワンタイムパスワードを埋め込んで、時刻同期二次元コードも更新し、表示部１１に表示する。
【０１５６】
また、制御部１５は、撮像部１２において撮像して得られたチャレンジ二次元コードの静止画像データから、チャレンジ二次元コードが示すチャレンジ符号を読み取る。続いて、制御部１５は、所定のアルゴリズムに従って、読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成してレスポンス符号を生成する。
【０１５７】
そして、制御部１５は、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてレスポンス符号を埋め込んで、レスポンス二次元コードを生成し、表示部１１に表示する。
【０１５８】
撮像部２１は、図２に示す端末装置１０の表示部１１に表示される時刻同期二次元コードやレスポンス二次元コード等を撮像する。
【０１５９】
記憶部２３は、時刻同期方式のワンタイムパスワード認証を行ったり、チャレンジ二次元コードを生成したり、チャレンジ・レスポンス認証を行ったりするためのアプリケーションプログラム等がインストールされている。
【０１６０】
制御部２４は、記憶部２３に記憶されているアプリケーションプログラムを実行することにより、時刻同期方式のワンタイムパスワード認証を行う。具体的に、制御部２４は、撮像部２１において撮像して得られた時刻同期二次元コードの動画像データから、電子透かしとして埋め込まれているワンタイムパスワードを抽出するとともに、端末装置１０と同様のアルゴリズムに従って、現在の時刻に基づき、ワンタイムパスワードを算出する。
【０１６１】
そして、制御部２４は、抽出したワンタイムパスワードと、算出したワンタイムパスワードと、を比較し、合致していれば認証に成功したと判別し、合致していなければ認証に失敗したと判別する。
【０１６２】
このような時刻同期二次元コードの認証を行う場合には、端末装置１０と認証装置２０との間で時刻の同期が取れている必要がある。
【０１６３】
制御部２４は、端末装置１０と認証装置２０との間で時刻がずれていて、時刻同期二次元コードの認証に失敗した場合、チャレンジ・レスポンス認証を行う。具体的に、制御部２４は、ランダムカウンタから乱数を抽出し、乱数が示す数値列をチャレンジ符号として示すチャレンジ二次元コードを生成して表示部２２に表示する。
【０１６４】
また、制御部２４は、端末装置１０と同様のアルゴリズムに従って、チャレンジ二次元コードが示すチャレンジ符号と、撮像部２１において撮像したレスポンス二次元コードが示すアカウントＩＤと、を合成して、端末装置１０において生成されたレスポンス符号と同様のレスポンス符号を生成する。
【０１６５】
制御部２４は、撮像部２１において撮像して得られたレスポンス二次元コードの静止画像データから、電子透かしとして埋め込まれているレスポンス符号を抽出する。そして、制御部２４は、生成したレスポンス符号と、抽出したレスポンス符号と、を比較し、合致していれば認証に成功したものと判別し、合致していなければ認証に失敗したものと判別する。
【０１６６】
次に、上記の構成を備える認証システムの動作について、図面を参照しつつ説明する。
【０１６７】
図１１、図１２、及び図１３は、第４実施形態における認証処理の詳細を示すフローチャートである。
【０１６８】
まず、端末装置１０では、図１１に示すように、制御部１５が、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、所定のアルゴリズムに従って、現在の時刻に基づき、６桁の数値列から構成されるワンタイムパスワードを算出する（ステップＳ５１）。
【０１６９】
次に、制御部１５は、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてワンタイムパスワードを埋め込んで、時刻同期二次元コードを生成し（ステップＳ５２）、表示部１１に表示する（ステップＳ５３）。
【０１７０】
その後、ユーザは。端末装置１０の表示部１１に表示されている時刻同期二次元コードを、認証装置２０の撮像部２１に翳す。
【０１７１】
一方、端末装置２０では、制御部２４が、撮像部２１において時刻同期二次元コードを撮像したことに応答して（ステップＳ５４）、記憶部２３に記憶されているアプリケーションプログラムを実行することにより、撮像部２１において撮像して得られた時刻同期二次元コードの動画像データから、電子透かしとして埋め込まれているワンタイムパスワードを抽出する（ステップＳ５５）。
【０１７２】
次に、制御部２４は、端末装置１０と同様のアルゴリズムに従って、現在の時刻に基づき、ワンタイムパスワードを算出する（ステップＳ５６）。
【０１７３】
続いて、制御部２４は、ステップＳ５５の処理において抽出したワンタイムパスワードと、ステップＳ５６の処理において算出したワンタイムパスワードと、を比較する（ステップＳ５７）。
【０１７４】
そして、制御部２４は、ステップＳ５７の処理においてワンタイムパスワードが合致していないと判別した場合（ステップＳ５８；Ｎｏ）、時刻同期二次元コードの認証に失敗したものとして、ランダムカウンタから乱数を抽出し、乱数が示す数値列をチャレンジ符号として示すチャレンジ二次元コードを生成し（ステップＳ５９）、表示部２２に表示する（ステップＳ６０）。
【０１７５】
一方、端末装置１０では、図１２に示すように、制御部１５が、ユーザによる操作部１３の操作によって、認証装置２０の表示部２２に表示されるチャレンジ二次元コードの読取が指示されるまで（ステップＳ６１；Ｎｏ）、ループして待つ。
【０１７６】
そして、制御部１５は、チャレンジ二次元コードの読取が指示されたことに応答して（ステップＳ６１；Ｙｅｓ）、撮像部１２においてチャレンジ二次元コードを撮像する（ステップＳ６２）。
【０１７７】
次に、制御部１５は、記憶部１４に記憶されているアプリケーションプログラムを実行することにより、撮像部１２において撮像して得られたチャレンジ二次元コードの静止画像データから、チャレンジ二次元コードが示すチャレンジ符号を読み取る（ステップＳ６３）。
【０１７８】
続いて、制御部１５は、所定のアルゴリズムに従って、ステップＳ６３の処理において読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成してレスポンス符号を生成する（ステップＳ６４）。
【０１７９】
そして、制御部１５は、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてレスポンス符号を埋め込んで、レスポンス二次元コードを生成し（ステップＳ６５）、表示部１１に表示する（ステップＳ６６）。
【０１８０】
その後、ユーザは、端末装置１０の表示部１１に表示されているレスポンス二次元コードを、認証装置２０の撮像部２１に翳す。
【０１８１】
そして、認証装置２０では、図１３に示すように、制御部２４が、撮像部２１においてレスポンス二次元コードを撮像したことに応答して（ステップＳ６７）、端末装置１０と同様のアルゴリズムに従って、ステップＳ５９の処理において生成したチャレンジ二次元コードが示すチャレンジ符号と、撮像部２１において撮像したレスポンス二次元コードが示すアカウントＩＤと、を合成して、端末装置１０において生成されたレスポンス符号と同様のレスポンス符号を生成する（ステップＳ６８）。
【０１８２】
また、制御部２４は、撮像部２１において撮像して得られたレスポンス二次元コードの静止画像データから、電子透かしとして埋め込まれているレスポンス符号を抽出する（ステップＳ６９）。
【０１８３】
続いて、制御部２４は、ステップＳ６８の処理において生成したレスポンス符号と、ステップＳ６９の処理において抽出した電子透かしが示すレスポンス符号と、を比較する（ステップＳ７０）。
【０１８４】
そして、制御部２４は、ステップＳ７０の処理においてレスポンス符号が合致していない場合（ステップＳ７１；Ｎｏ）、認証に失敗したものと判別する（ステップＳ７２）。
【０１８５】
これに対して、制御部２４は、ステップＳ５７の処理においてワンタイムパスワードが合致している場合や（ステップＳ５８；Ｙｅｓ）、ステップＳ７０の処理においてレスポンス符号が合致している場合（ステップＳ７０；Ｙｅｓ）、認証に成功したものと判別する（ステップＳ７３）。
【０１８６】
以上説明したように、第４実施形態に係る認証システム１では、時刻同期方式のワンタイムパスワード認証を行うことにより、端末装置１０と認証装置２０との間で時刻の同期が取れていれば、端末装置１０のユーザが、第１及び第３実施形態に係る認証システム１のように、認証装置２０の表示部２２に表示されたチャレンジ二次元コードを撮像するための操作を行うことなく、適切に認証を行うことができる。
【０１８７】
これに対して、端末装置１０と認証装置２０との間で時刻の同期が取れていなければ、チャレンジ・レスポンス認証を行うことにより、端末装置１０のユーザが、一度認証装置２０の表示部２２に表示されたチャレンジ二次元コードを撮像するための操作を行う必要はあるが、適切に認証は行うことができる。
【０１８８】
このため、第４実施形態に係る認証システム１では、第２実施形態に係る認証システム１と、第３実施形態に係る認証システム１と、のお互いの決定を解消できる。
【０１８９】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。
【０１９０】
上記第１実施形態において、擬似三次元離散コサイン変換を利用して、ロゴ付き二次元コード３０の周波数成分に、時間変化を伴う透かしデータを電子透かしとして埋め込む場合、半脆弱な動画像型電子透かしを実現するために、下記の二次元コード評価システムを用いて、電子透かしを、どの周波数帯にどの程度の埋込み強度で埋め込むかを最適化により決定してもよい。なお、この最適化による決定については、ＷＯ２０１５／００１９０８等にその詳細が記載されている。
【０１９１】
図１４は、二次元コード評価システムの構成例を示す図である。
【０１９２】
二次元コード評価システムは、図１４に示すように、端末装置１０と、二次元コード複製装置２０３と、二次元コード撮影装置２０５と、を備え、端末装置１０と二次元コード撮影装置２０５とは、無線通信回線又は有線通信回線を介して接続されている。
【０１９３】
本変形例において、端末装置１０の制御部１５は、擬似三次元離散コサイン変換を利用して、ロゴ付き二次元コード３０の周波数成分に、時間変化を伴う透かしデータを電子透かしとして埋め込む。その際、制御部１５は、例えば確率的最適化アルゴリズムの一つである自己適応型差分進化法（ＪＡＤＥ）を利用して、電子透かしを、複数の周波数帯のうち、どの周波数帯にどの程度の埋込み強度で埋め込むかを決定するために、周波数帯の選択及び埋込み強度の調整を自動的に行う。なお、自己適応型差分進化法（ＪＡＤＥ）については、JADE: Adaptive Differential Evolution With Optional External Archive (Published in: Evolutionary Computation, IEEE Transactions on (Volume: 13,?Issue: 5), Pages: 945 - 958, Issue Date: Oct. 2009）等にその詳細が記載されている。
【０１９４】
具体的に、制御部１５は、処理時間短縮のため、まず、同一のロゴ付き二次元コード３０から構成される動画像データの各フレーム画像データのそれぞれに、二次元離散コサイン変換を適用し、次に、得られた各周波数帯において時系列方向の一次元離散コサイン変換を行うことで、周波数成分を得る。そして、制御部１５は、二次元離散コサイン変換で得られる複数の周波数帯のうちから選択した周波数帯に、時間変化を伴う透かしデータを埋込み強度を調整して電子透かしとして埋め込んで、透かし入り二次元コードを生成する。
【０１９５】
二次元コード撮影装置２０３は、携帯電話や、スマートフォン、タブレットコンピュータ等から構成され、少なくとも、端末装置１０の表示部１１に表示された透かし入り二次元コードを撮影可能なカメラ機能と、当該カメラ機能により撮影された透かし入り二次元コードを表示可能なＴＦＴ液晶ディスプレイと、を備えている。
【０１９６】
二次元コード複製装置２０３は、端末装置１０と同一機種の携帯電話や、スマートフォン、タブレットコンピュータ等から構成することが好ましいが、機能面で一定の一致性があれば、二次元コード複製装置２０３をどのような携帯電話で構成してもよい。また、透かし入り二次元コードを表示可能なディスプレイと、端末装置１０の表示部１１に表示された透かし入り二次元コードを撮影可能なカメラ機能と、を備える装置であれば、携帯電話や、スマートフォン、タブレットコンピュータ等に限らず、二次元コード複製装置２０３に適用することができる。
【０１９７】
二次元コード複製装置２０３は、端末装置１０の表示部１１において表示される透かし入り二次元コードを撮影することにより複製した透かし入り二次元コード（以下、複製二次元コードと称す）を生成し、表示する。また、二次元コード複製装置２０３は、複製二次元コードだけではなく、端末装置１０の表示部１１において表示されるべき透かし入り二次元コードを表示する。
【０１９８】
二次元コード撮影装置２０５は、二次元コード複製装置２０３において交互に表示される透かし入り二次元コードと複製二次元コードとを撮影する。
【０１９９】
本変形例において、制御装置１０の制御部１５は、二次元コード撮影装置２０５において撮影された透かし入り二次元コードと複製二次元コードとから電子透かしを抽出し、それらの抽出率の差分を算出する。そして、制御部１５は、算出された差分を評価値として用いて、生成した透かし入り二次元コードを評価する。
【０２００】
制御部１５は、電子透かしが埋め込まれる周波数帯の選択、及び電子透かしの埋込み強度の調整等といった電子透かしの設計と、かかる設計の電子透かしが埋め込まれた透かし入り二次元コードの評価と、を例えば１２０世代分繰り返して最適化を行い、電子透かしを、どの周波数帯にどの程度の埋込み強度で埋め込むかを決定する。
【０２０１】
図１５は、端末装置の制御部の機能構成を示すブロック図である。
【０２０２】
制御部１５は、図１５に示すように、差分算出部１００１と、解候補探索部１００２と、二次元コード生成部１００３と、を備えている。
【０２０３】
差分算出部１００１は、二次元コード撮影装置２０５において撮影された透かし入り二次元コードと複製二次元コードとから電子透かしを抽出し、それらの抽出率の差分を算出する。
【０２０４】
解候補探索部１００２は、差分算出部１００１により算出された差分（評価値）を最大化するように、電子透かしが埋め込まれる周波数帯、及び電子透かしの埋込み強度のパラメータの組合せである解候補の探索を行う。即ち、本変形例では、想定し得る差分（評価値）の閾値を設定し、解候補探索部１００２は、差分算出部１００１により算出される差分（評価値）が閾値以上となるまで、解候補の探索（透かし入り二次元コードの生成）を行う。差分（評価値）が閾値以上となる解候補が見つかった場合、当該解候補が最適解として決定される。
【０２０５】
また、他の解候補の探索方法として、まず、解候補探索部１００２は、解候補の初期集団を、パラメータをランダムに決定することで生成し、全解候補を評価する。次に、解候補探索部１００２は、各解候補の評価値及び最適化アルゴリズムに従って、次の集団の解候補を生成する。例えば、遺伝的アルゴリズムを用いる場合であれば、２つの解候補の組み合わせをランダム又は評価値に基づくルーレット選択により復元抽出又は非復元抽出する。
【０２０６】
次に、解候補探索部１００２は、抽出された２つの解候補（親個体）に対して交叉と呼ばれるようなパラメータの値組の一部を交換する操作を適用することで新たな２つの解候補（子個体）を生成する。解候補探索部１００２は、交叉により生成された解候補に対して、突然変異、即ちパラメータ組の一部をある一定確率でランダムに変更する操作を行うこともある。また、解候補探索部１００２は、子個体を次の集団に無条件で加えることもあれば、親個体の方が優れる場合は子個体を捨てて親個体を次の集団に加えることもある。
【０２０７】
解候補探索部１００２は、一定回数又は解候補集団内の最良個体の評価値が一定回数の間改善されない状態に収束するまで、解候補の探索を行う。探索終了後、解候補探索部１００２は、最も評価値が高く（最大化され）、パラメータの値組が互いに類似しない複数の解候補組を出力とすることもある。この場合、ユーザにより最終的な解候補が選択される。
【０２０８】
二次元コード生成部１００３は、解候補探索部１００２により解候補が探索される度に、当該解候補に基づいて、電子透かしを生成するとともに、当該電子透かしを埋め込んだ透かし入り二次元コードを生成し、表示部１１に表示する。
【０２０９】
このように、本変形例においては、二次元コード複製装置２０３において交互に表示される透かし入り二次元コードと複製二次元コードとからそれぞれ抽出される電子透かしの一致性の差分である評価値を最大化することにより、端末装置１０の表示部１１に表示される透かし入り二次元コードが撮影により複製された場合、複製されたことを確実に識別することが可能な透かし入り二次元コードを生成することが可能となる。
【０２１０】
なお、差分（評価値）を最大化する手法は、例えば、一定回数の探索処理により得られた解候補のうち、最も差分（評価値）が高い解候補を最適解として決定するようにしてもよく、特に限定すべきものではない。
【０２１１】
なお、解候補には、電子透かしが埋め込まれる周波数帯、及び電子透かしの埋込み強度等からなるパラメータの他に、電子透かしを埋め込む対象となるロゴ付き二次元コード３０を構成する際のパラメータ（例えば、ロゴ付き二次元コード３０の型番、色、モジュールパターン及び階調等）、電子透かしの種類や電子透かしを構成する際のパラメータ、及び、電子透かしをロゴ付き二次元コード３０に埋め込む際の方法（例えば、ウェーブレット変換、離散コサイン変換等）やパラメータ（例えば、マザーウェーブレット等）等が含まれてもよい。
【０２１２】
また、上述した解候補に、端末装置１０及び二次元コード複製装置２０３の補正パラメータ（例えば、色、輝度、ガンマ値、ぼかし等）が加えられてもよい。
【０２１３】
この場合、二次元コード生成部１００３は、電子透かしが埋め込まれた透かし入り二次元コードを生成する。表示部１１は、補正パラメータを設定して、二次元コード生成部１００３により生成された透かし入り二次元コードを表示する。二次元コード複製装置２０３は、端末装置１０の表示部１１において表示される二次元コードを撮影することにより複製二次元コードを生成し、補正パラメータを設定して表示する。二次元コード撮影装置２０５は、二次元コード複製装置２０３において交互に表示される透かし入り二次元コードと複製二次元コードとを撮影する。
【０２１４】
差分算出部１００１は、二次元コード撮影装置２０５において撮影された透かし入り二次元コードと複製二次元コードとから電子透かしを抽出し、その抽出結果から端末装置１０及び二次元コード複製装置２０３に上述の補正パラメータを再調整させる。以上の処理が所定の回数（例えば、５回）繰り返された後、差分算出部１００１は、図１４で説明したように抽出率の差分を算出する。
【０２１５】
そして、制御部１５は、差分算出部１００１において算出された差分を評価値として用いて、生成した二次元コードを評価する。このように、端末装置１０及び二次元コード複製装置２０３の特性に応じた補正を加えて画像データを表示することで、より安定的に透かし入り二次元コードの真贋判定を行うことが可能となる。
【０２１６】
次に、本変形例に係る二次元コード評価システムの処理の流れについて説明する。
【０２１７】
図１６及び図１７は、二次元コード評価処理の詳細を示すフローチャートである。
【０２１８】
端末装置１０において、二次元コード生成部１００３は、図１６に示すように、電子透かしが埋め込まれた透かし入り二次元コードを生成する（ステップＳ１０１）。二次元コード生成部１００３は、ステップＳ１０１にて生成した透かし入り二次元コードを表示部１１に表示する（ステップＳ１０２）。
【０２１９】
二次元コード複製装置２０３は、端末装置１０の表示部１１にて表示される透かし入り二次元コードを撮影することにより複製二次元コードを生成する（ステップＳ１３１）。二次元コード複製装置２０３は、端末装置１０の表示部１１において表示されるべき透かし入り二次元コードと、ステップＳ１３１にて生成した複製二次元コードと、を交互に表示する（ステップＳ１３２）。
【０２２０】
二次元コード撮影装置２０５は、二次元コード複製装置２０３において交互に表示されるすかし入り二次元コードと複製二次元コードとを撮影する（ステップＳ１５１）。二次元コード撮影装置２０５は、撮影した透かし入り二次元コードと複製二次元コードとを端末装置１０に対して送信する（ステップＳ１５２）。
【０２２１】
端末装置１０において、差分算出部１００１は、図１７に示すように、二次元コード撮影装置２０５から透かし入り二次元コードと複製二次元コードとを受信する（ステップＳ１０３）。差分算出部１００１は、ステップＳ１０３で受信した透かし入り二次元コードと複製二次元コードとの差分を算出する（ステップＳ１０４）。
【０２２２】
解候補探索部１００２は、ステップＳ１０４にて算出した差分である評価値が閾値以上であるか否かを判定する（ステップＳ１０５）。なお、ステップＳ１０５における解候補の探索アルゴリズムとしては、勾配法、ニュートン法、共役勾配法、最小二乗法、タブー探索、焼き純し法等の端点探索法のほか、遺伝的アルゴリズム、蟻コロニー最適化、差分進化法、粒子群最適化等の多点探索、及び、それらのアルゴリズムのハイブリッド法を利用することができる。
【０２２３】
解候補探索部１００２は、評価値が閾値未満である場合（ステップＳ１０５；Ｎｏ）、他の解候補を探索する（ステップＳ１０６）。ステップＳ１０６の後、処理はステップＳ１０１に戻り、二次元コード生成部１００３は、当該他の解候補に基づいて、透かし入り二次元コードを新たに生成する。一方、評価値が閾値以上である場合には（ステップＳ１０５；Ｙｅｓ）、現在の解候補（電子透かしが埋め込まれる周波数帯、及び電子透かしの埋込み強度のパラメータの組合せ）を最適解として決定する（ステップＳ１０７）。
【０２２４】
図１８は、最適解と、対応する基底関数と、を例示する図である。
【０２２５】
最適解では、図１８に示すように、低周波成分（上段左側）や中周波成分だけでなく、垂直方向の高周波成分（下段中央）の多くも使って電子透かしが埋め込まれ、所望の半脆弱性を実現できたことが判る。
【０２２６】
図１９は、透かし入り二次元コードと、透かし入り二次元コードの撮影結果と、複製二次元コードの撮影結果と、を例示する図である。
【０２２７】
複製二次元コードの撮影結果では、図１９に示すように、第３及び第８フレーム画像データに埋め込まれた電子透かしが破壊されていることが確認できる。これにより、認証装置２０は、透かし入り二次元コードが複製されたことを確実に識別することができる。
【０２２８】
上記第１実施形態において、透かし入り二次元コードは、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に電子透かしを埋め込むことで生成されるものとして説明したが、本発明はこれに限定されるものではなく、透かし入り二次元コードは、アカウントＩＤを示す汎用の二次元コードの周波数成分に電子透かしを埋め込むことで生成されるものであってもよい。
【０２２９】
上記第１実施形態では、透かし入り二次元コードの真偽判定（認証）に失敗した場合、チャレンジ・レスポンス認証が行われるのとして説明した。しかしながら、本発明はこれに限定されるものではなく、透かし入り二次元コードの認証に失敗した場合、時刻同期方式のワンタイムパスワード認証が行われるものであってもよい。具体的に、認証装置２０では、制御部２４が、透かし動画像データを抽出できなかったと判別した場合、透かし入り二次元コードの認証に失敗した旨を表示し、撮像部２１において時刻同期二次元コードが撮像されるまで、ループして待てばよい。その後、端末装置１０では、制御部１５が、ユーザによる操作部１３の操作によって時刻同期二次元コードの生成が指示されたことに応答して、図８に示すステップＳ２１〜Ｓ２３の処理を実行し、端末装置２０では、制御部２４が、撮像部２１において時刻同期二次元コードを撮像したことに応答して、ステップＳ２４〜Ｓ３０の処理を実行すればよい。また、透かし入り二次元コードの真偽判定（認証）に失敗した場合には、時刻同期方式のワンタイムパスワード認証を行い、時刻同期方式のワンタイムパスワード認証にも失敗した場合には、さらにチャレンジ・レスポンス認証を行うものであってもよい。あるいは、透かし入り二次元コードの認証のみを行い、時刻同期方式のワンタイムパスワード認証やチャレンジ・レスポンス認証を行わないものであってもよい。
【０２３０】
上記第１実施形態において、端末装置１０では、制御部１５が、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、透かし動画像データを電子透かしとして埋め込んで、透かし入り二次元コードを生成するものとして説明した。しかしながら、本発明はこれに限定されるものではなく、制御部１５は、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、アカウントＩＤに対応するパスワードを示す透かしデータを電子透かしとして埋め込んで、透かし入り二次元コードを生成するものであってもよい。この場合、認証装置２０では、記憶部２３のアカウントＤＢ２３０にアカウントＩＤとパスワードとを対応付けて記憶しておく。認証処理では、制御部２４が、撮像部２１において撮像した透かし入り二次元コードが示すアカウントＩＤに対応するパスワードをアカウントＤＢ２３０から検出する。そして、制御部２４は、撮像部２１において撮像して得られた透かし入り二次元コードの静止画像データから、アカウントＤＢ２３０から検出したパスワードと合致するパスワードを示す透かしデータを抽出できたか否かを判別することにより、透かし入り二次元コードの真偽判定（認証）を行うようにすればよい。
【０２３１】
上記第１実施形態において、制御部１５は、複数のセルのうち、所定明度未満のセル（例えば黒色のセル）と、所定明度以上のセル（例えば白色のセル）と、の分布パターンによって、レスポンス符号を示すレスポンス二次元コードを生成するものとして説明した。しかしながら、本発明はこれに限定されるものではなく、単純にチャレンジ符号に対応するレスポンス符号の後ろにアカウントＩＤを付与してレスポンス二次元コードを生成してもよい。
【０２３２】
上記第１実施形態において、レスポンス二次元コードは、複数のセルのうち、所定明度未満のセル（例えば黒色のセル）と、所定明度以上のセル（例えば白色のセル）と、の分布パターンによって、レスポンス符号を示す汎用の二次元コードから構成されるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、レスポンス二次元コードは、ロゴ付き二次元コード３０と同様に、ロゴのうち所定明度未満の領域及び所定明度未満のセルと、ロゴのうち所定明度以上の領域及び所定明度以上のセルと、の分布パターンによって、レスポンス符号を示すロゴ付き二次元コードから構成されるものであってもよい。また、レスポンス二次元コードは、例えばアカウントＩＤを示す汎用の二次元コード或いはロゴ付き二次元コードの周波数成分に、電子透かしとしてレスポンス符号を埋め込んで生成されるものであってもよい。
【０２３３】
上記第１実施形態において、認証装置１０では、制御部１５が、所定のアルゴリズムに従って、読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成してレスポンス符号を生成するものとして説明した。しかしながら、本発明はこれに限定されるものではなく、制御部１５は、所定のアルゴリズムに従って、読み取ったチャレンジ符号と、アカウントＩＤに対応するパスワードと、を合成してレスポンス符号を生成するものであってもよい。この場合、認証装置２０では、記憶部２３のアカウントＤＢ２３０にアカウントＩＤとパスワードとを対応付けて記憶しておく。また、認証処理では、制御部２４が、撮像部２１において撮像した透かし入り二次元コードが示すアカウントＩＤに対応するパスワードをアカウントＤＢ２３０から検出する。続いて、制御部２４は、所定のアルゴリズムに従って、チャレンジ二次元コードが示すチャレンジ符号と、アカウントＤＢ２３０から検出したパスワードと、を合成してレスポンス符号を生成する。そして、制御部２４は、生成したレスポンス符号と、撮像部２１において撮像したレスポンス二次元コードが示すレスポンス符号と、を比較して合致するか否かを判別することにより、チャレンジ・レスポンス認証を行うようにすればよい。
【０２３４】
また、制御部１５は、アカウントＩＤを示す汎用の二次元コード或いはロゴ付き二次元コードの周波数成分に、レスポンス符号を電子透かしとして埋め込んで、レスポンス二次元コードを生成してもよい。この場合、認証装置２０では、記憶部２３のアカウントＤＢ２３０にアカウントＩＤとパスワードとを対応付けて記憶しておく。また、認証処理では、制御部２４が、撮像部２１において撮像したレスポンス二次元コードが示すアカウントＩＤに対応するパスワードをアカウントＤＢ２３０から検出する。続いて、制御部２４は、所定のアルゴリズムに従って、チャレンジ二次元コードが示すチャレンジ符号と、アカウントＤＢ２３０から検出したパスワードと、を合成してレスポンス符号を生成する。そして、制御部２４は、撮像部２１において撮像して得られたレスポンス二次元コードの静止画像データから、生成したレスポンス符号と合致するレスポンス符号を抽出できたか否かを判別することにより、チャレンジ・レスポンス認証を行うようにすればよい。
【０２３５】
上記第３実施形態において、認証装置１０では、制御部１５が、所定のアルゴリズムに従って、読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成してレスポンス符号を生成するものとして説明した。しかしながら、本発明はこれに限定されるものではなく、制御部１５は、所定のアルゴリズムに従って、読み取ったチャレンジ符号と、アカウントＩＤに対応するパスワードと、を合成してレスポンス符号を生成するものであってもよい。この場合、認証装置２０では、記憶部２３のアカウントＤＢ２３０にアカウントＩＤとパスワードとを対応付けて記憶しておく。また、認証処理では、制御部２４が、撮像部２１において撮像した時刻同期型二次元コード或いはレスポンス二次元コードが示すアカウントＩＤに対応するパスワードをアカウントＤＢ２３０から検出する。続いて、制御部２４は、所定のアルゴリズムに従って、チャレンジ二次元コードが示すチャレンジ符号と、アカウントＤＢ２３０から検出したパスワードと、を合成してレスポンス符号を生成する。そして、制御部２４は、撮像部２１において撮像して得られたレスポンス二次元コードの静止画像データから、生成したレスポンス符号と合致するレスポンス符号を抽出できたか否かを判別することにより、チャレンジ・レスポンス認証を行うようにすればよい。
【０２３６】
上記第４実施形態において、認証装置１０では、制御部１５が、所定のアルゴリズムに従って、読み取ったチャレンジ符号と、記憶部１４に記憶されているアカウントＩＤと、を合成してレスポンス符号を生成するものとして説明した。しかしながら、本発明はこれに限定されるものではなく、制御部１５は、所定のアルゴリズムに従って、読み取ったチャレンジ符号と、アカウントＩＤに対応するパスワードと、を合成してレスポンス符号を生成するものであってもよい。この場合、認証装置２０では、記憶部２３のアカウントＤＢ２３０にアカウントＩＤとパスワードとを対応付けて記憶しておく。また、認証処理では、制御部２４が、撮像部２１において撮像したレスポンス二次元コードが示すアカウントＩＤに対応するパスワードをアカウントＤＢ２３０から検出する。続いて、制御部２４は、所定のアルゴリズムに従って、チャレンジ二次元コードが示すチャレンジ符号と、アカウントＤＢ２３０から検出したパスワードと、を合成してレスポンス符号を生成する。そして、制御部２４は、撮像部２１において撮像して得られたレスポンス二次元コードの静止画像データから、生成したレスポンス符号と合致するレスポンス符号を抽出できたか否かを判別することにより、チャレンジ・レスポンス認証を行うようにすればよい。
【０２３７】
上記第１、第３、及び第４実施形態において、チャレンジ二次元コードは、複数のセルのうち、所定明度未満のセル（例えば黒色のセル）と、所定明度以上のセル（例えば白色のセル）と、の分布パターンによって、チャレンジ符号を示す汎用の二次元コードから構成されるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、チャレンジ二次元コードは、ロゴ付き二次元コード３０と同様に、ロゴのうち所定明度未満の領域及び所定明度未満のセルと、ロゴのうち所定明度以上の領域及び所定明度以上のセルと、の分布パターンによって、チャレンジ符号を示すロゴ付き二次元コードから構成されるものであってもよい。また、チャレンジ二次元コードは、例えばアカウントＩＤを示す汎用の二次元コード或いはロゴ付き二次元コードに、電子透かしとしてチャレンジ符号を埋め込んで生成されるものであってもよい。
【０２３８】
上記第１、第３、及び第４実施形態において、撮像部１２は、端末装置１０のうち、表示部１１とは反対の面に設けられたメインカメラと、表示部１１と同一の面に設けられたフロントカメラと、を備え、チャレンジ・レスポンス認証を行う場合には、フロントカメラを利用して、チャレンジ二次元コードを撮像すればよい。このようにすれば、メインカメラを利用する場合とは異なり、端末装置１０を反転させることなく、端末装置１０の表示部１１とフロントカメラとが設けられた面を、認証装置２０の撮像部２１に翳すだけで、チャレンジ・レスポンス認証を行うことができるため、高速に認証を行うことができる。また，何らかの理由で途中で認証の失敗があった場合でも、チャレンジ・レスポンス認証を容易に繰り返し行うことができる。
【０２３９】
上記第２及び第４実施形態において、時刻同期二次元コードは、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてワンタイムパスワードを埋め込んで生成されるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、時刻同期二次元コードは、アカウントＩＤを示す汎用の二次元コードの周波数成分に、電子透かしとしてワンタイムパスワードを埋め込んで生成されるものであってもよい。また、時刻同期二次元コードは、ロゴのうち所定明度未満の領域及び所定明度未満のセルと、ロゴのうち所定明度以上の領域及び所定明度以上のセルと、の分布パターンによって、ワンタイムパスワードを示すものであってもよい。或いは、時刻同期二次元コードは、複数のセルのうち、所定明度未満のセル（例えば黒色のセル）と、所定明度以上のセル（例えば白色のセル）と、の分布パターンによって、ワンタイムパスワードを示すものであってもよい。この場合、時刻同期二次元コードは、例えばワンタイムパスワードを示す汎用の二次元コード或いはロゴ付き二次元コードの周波数成分に、電子透かしとしてアカウントＩＤを埋め込んで生成されるものであってもよい。
【０２４０】
上記第３及び第４実施形態において、レスポンス二次元コードは、アカウントＩＤを示すロゴ付き二次元コード３０の周波数成分に、電子透かしとしてレスポンス符号を埋め込んで生成されるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、レスポンス二次元コードは、アカウントＩＤを示す汎用の二次元コードの周波数成分に、電子透かしとしてレスポンス符号を埋め込むことで生成されるものであってもよい。また、レスポンス二次元コードは、ロゴのうち所定明度未満の領域及び所定明度未満のセルと、ロゴのうち所定明度以上の領域及び所定明度以上のセルと、の分布パターンによって、レスポンス符号を示すものであってもよい。或いは、レスポンス二次元コードは、複数のセルのうち、所定明度未満のセル（例えば黒色のセル）と、所定明度以上のセル（例えば白色のセル）と、の分布パターンによって、レスポンス符号を示すものであってもよい。この場合、レスポンス二次元コードは、汎用の二次元コード或いはロゴ付き二次元コードの周波数成分に、電子透かしとしてアカウントＩＤを埋め込んで生成されるものであってもよい。
【０２４１】
上記第１乃至第４実施形態では、埋込対象のロゴ付き二次元コード３０が静止画像データであるものとして説明したが、本発明はこれに限定されるものではなく、埋込対象のロゴ付き二次元コード３０は、例えば特開２０１２−１４６６２公報、ＷＯ２００９／０７２３６３公報、及びＷＯ２０１０／０９７９８９公報に記載されているように、動画像データであってもよい。この場合、電子透かしとして埋め込まれる透かしデータは、時間変化を伴うものであってもよいし、時間変化を伴わないものであってもよい。動画像データに電子透かしを埋め込む技術は、例えばＷＯ２００７／０１５４５２公報等に記載されている。なお、本明細書中に特開２０１２−１４６６２公報、ＷＯ２００９／０７２３６３公報、ＷＯ２０１０／０９７９８９公報、及びＷＯ２００７／０１５４５２公報の明細書、特許請求の範囲、図面全体を参考として取り込むものとする。
【０２４２】
上記第１乃至第４実施形態では、埋込対象のロゴ付き二次元コード３０が、ロゴマークのうち所定明度以上の部分には、所定明度未満のセルドットを重ね合わせる一方で、ロゴマークのうち所定明度未満の部分には、所定明度以上のセルドットを重ね合わせ、所定明度以上のセルドット及びロゴマークのうち所定明度以上の部分と、所定明度未満のセルドット及びロゴマークのうち所定明度未満の部分と、の分布パターンによって、アカウントＩＤを示すものとして説明した（例えば特開２００８−１５６４２号公報参照）。しかしながら、本発明はこれに限定されるものではなく、汎用の二次元コードリーダによって“０”と認識される光学的特性の一又は複数の色と、“１”と認識される光学的特性の一又は複数の色と、を用いて所定の情報を表現するものであれば任意に適用可能である。例えば所定明度未満（汎用の二次元コードリーダによって“０”と認識される明度）のロゴマークに、所定明度以上（汎用の二次元コードリーダによって“１”と認識される明度）のセルを重ね合わせ、ロゴマークのうちセルが重ね合わされていない部分とセルとの分布パターンによって、アカウントＩＤを示すものであってもよい（例えば特開２００７−２８７００４号公報参照）。なお、本明細書中に特開２００７−２８７００４号公報及び特開２００８−１５６４２号公報の明細書、特許請求の範囲、図面全体を参考として取り込むものとする。
【０２４３】
上記第１乃至第４実施形態では、二次元コードとしてＱＲコード（登録商標）を例示して説明したが、本発明はこれに限定されるものではなく、二次元コードは、データマトリクス、アズテックコード、コードワン、アレイタグ、ボックス図形コード、マキシコード、ペリコード、ソフトストリップ、ＣＰコード、カルラコード、ウルトラコードなどといった他のマトリクス式の二次元コードであってもよい。あるいは、ＰＤＦ４１７、コード４９、コード１６ｋ、コーダブロックなどといった一次元バーコードを縦に積み重ねたスタック式の二次元コードであっても構わない。
【０２４４】
上記第１乃至第４実施形態において、制御部１５のＣＰＵが実行するプログラムは、予めＲＯＭや記憶部１４等に記憶されているものとして説明した。また、制御部２４のＣＰＵが実行するプログラムは、予めＲＯＭや記憶部２３等に記憶されているものとして説明した。しかしながら、本発明はこれに限定されず、上述の処理を実行させるためのプログラムを、既存のスマートフォンや、タブレット、パーソナルコンピュータなどの汎用端末装置や、フレームワーク、ワークステーション等に適用することで、上記第１乃至第４実施形態に係る端末装置１０や認証装置２０として機能させてもよい。
【０２４５】
このようなプログラムの提供方法は任意であり、例えばコンピュータが読取可能な記録媒体（フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ等）に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【０２４６】
また、上記の処理をＯＳ（Operating System）とアプリケーションプログラムとの分担、又はＯＳとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板（ＢＢＳ：Bulletin Board System）に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【０２４７】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明の一実施例を説明するためのものであり、本発明の範囲を限定するものではない。
【符号の説明】
【０２４８】
１  認証システム
１０  端末装置
１１  表示部
１２  撮像部
１３  操作部
１４  記憶部
１５  制御部
２０  認証装置
２１  撮像部
２２  表示部
２３  記憶部
２４  制御部
３０  ロゴ付き二次元コード
３１  二次元コード
３３  透かし静止画像データ
３４  透かし静止画像データ
２３０  アカウントＤＢ
【図１】
0006512706.tif 000002
【図２】
0006512706.tif 000003
【図３】
0006512706.tif 000004
【図４】
0006512706.tif 000005
【図５】
0006512706.tif 000006
【図６】
0006512706.tif 000007
【図７】
0006512706.tif 000008
【図８】
0006512706.tif 000009
【図９】
0006512706.tif 000010
【図１０】
0006512706.tif 000011
【図１１】
0006512706.tif 000012
【図１２】
0006512706.tif 000013
【図１３】
0006512706.tif 000014
【図１４】
0006512706.tif 000015
【図１５】
0006512706.tif 000016
【図１６】
0006512706.tif 000017
【図１７】
0006512706.tif 000018
【図１８】
0006512706.tif 000019
【図１９】
0006512706.tif 000020