(57)【要約】  二次元コード認証装置は、自己認証型二次元コードを読み取ってＲＳビット列を取得した後、ＲＳビット列を用いてビット列ｃ’を誤りとして検出する。続いて、ＲＳビット列に含まれるビット列ｌと誤りとして検出したビット列ｃ’との排他的論理和を算出してビット列ｃ’を取得するとともに、ビット列ｃ’を暗号化に対応する方式で復号化してビット列ｍｄを取得する。そして、復号化したビット列ｍｄが、ＲＳビット列に含まれるビット列ｍと合致するか否か判別することにより、自己認証型二次元コードの認証を行う。
2014027424.tif 000002
【特許請求の範囲】
【請求項１】
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードを認証するための二次元コード認証装置であって、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記二次元コードを読み取って、前記訂正情報を取得する二次元コード読取手段と、
前記二次元コード読取手段によって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出手段と、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手段によって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記二次元コードの認証を行う二次元コード認証手段と、
を備えることを特徴とする二次元コード認証装置。
【請求項２】
前記二次元コード読取手段は、前記訂正領域の一部が、前記第１訂正ビット列と前記第２訂正ビット列を暗号化して得られた暗号ビット列との排他的論理和に置き換えられた前記二次元コードを読み取って、前記訂正情報を取得し、
前記二次元コード認証手段は、前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手段によって検出した誤りとの排他的論理和を前記暗号化に対応する方式で復号化して復号ビット列が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記二次元コードの認証を行う、
ことを特徴とする請求項１に記載の二次元コード認証装置。
【請求項３】
請求項１に記載の二次元コード認証装置で認証可能な二次元コードを生成する二次元コード生成装置であって、
前記訂正領域から前記第１訂正ビット列と前記第２訂正ビット列とを取得する訂正ビット列取得手段と、
前記訂正ビット列取得手段によって取得した前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を算出する排他的論理和算出手段と、
前記訂正領域の一部を、前記排他的論理和算出手段によって算出した排他的論理和に置換することにより、前記第２訂正ビット列を認証情報として埋め込んだ前記二次元コードを生成する二次元コード生成手段と、
を備えることを特徴とする二次元コード生成装置。
【請求項４】
請求項２に記載の二次元コード認証装置で認証可能な二次元コードを生成する二次元コード生成装置であって、
前記訂正領域から前記第１訂正ビット列と前記第２訂正ビット列とを取得する訂正ビット列取得手段と、
前記訂正ビット列取得手段によって取得した前記第２訂正ビット列を暗号化して前記暗号ビット列を生成する暗号ビット列生成手段と、
前記訂正ビット列取得手段によって取得した前記第１訂正ビット列と前記暗号ビット列生成手段によって生成した前記暗号ビット列との排他的論理和を算出する排他的論理和算出手段と、
前記訂正領域の一部を、前記排他的論理和算出手段によって算出した排他的論理和に置換することにより、前記暗号ビット列を認証情報として埋め込んだ前記二次元コードを生成する二次元コード生成手段と、
を備えることを特徴とする二次元コード生成装置。
【請求項５】
前記暗号ビット列生成手段は、前記第２訂正ビット列を非対称暗号化方式で暗号化する、
ことを特徴とする請求項４に記載の二次元コード生成装置。
【請求項６】
前記暗号ビット列生成手段は、前記第２訂正ビット列を楕円曲線暗号方式で暗号化する、
ことを特徴とする請求項５に記載の二次元コード生成装置。
【請求項７】
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードを認証するための二次元コード認証方法であって、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記二次元コードを読み取って、前記訂正情報を取得する二次元コード読取ステップと、
前記二次元コード読取ステップによって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出ステップと、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出ステップによって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記二次元コードの認証を行う二次元コード認証ステップと、
を備えることを特徴とする二次元コード認証方法。
【請求項８】
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードを認証するための二次元コード認証装置のコンピュータに、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記二次元コードを読み取って、前記訂正情報を取得する二次元コード読取手順と、
前記二次元コード読取手順によって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出手順と、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手順によって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記二次元コードの認証を行う二次元コード認証手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コード認証装置、二次元コード生成装置、二次元コード認証方法、及びプログラム、特に二次元コードの偽造を検出できる二次元コード認証装置、二次元コード生成装置、二次元コード認証方法、及びプログラムに関する。
【背景技術】
【０００２】
二次元コードの一種であるＱＲ（Quick Response）コード（登録商標）は、印刷物に機械可読な情報を埋め込むもので、昨今では、航空券に代表されるように、金銭的価値を持ったＱＲコードの利用が拡大している（例えば特許文献１参照）。【０００３】
なお、本明細書中に特許文献１の明細書、特許請求の範囲、図面全体を参考として取り込むものとする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１８３２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このため、ＱＲコードに代表される二次元コードの偽造を検出する技術の開発は、急務の課題となっている。【０００６】
本発明は、上記の課題を解決するためになされたものであり、二次元コードの偽造を検出できる二次元コード認証装置、二次元コード生成装置、二次元コード認証方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係る二次元コード認証装置は、
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードを認証するための二次元コード認証装置であって、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記二次元コードを読み取って、前記訂正情報を取得する二次元コード読取手段と、
前記二次元コード読取手段によって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出手段と、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手段によって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記二次元コードの認証を行う二次元コード認証手段と、
を備えることを特徴とする。【０００８】
また、上記の二次元コード認証装置において、
前記二次元コード読取手段は、前記訂正領域の一部が、前記第１訂正ビット列と前記第２訂正ビット列を暗号化して得られた暗号ビット列との排他的論理和に置き換えられた前記二次元コードを読み取って、前記訂正情報を取得し、
前記二次元コード認証手段は、前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手段によって検出した誤りとの排他的論理和を前記暗号化に対応する方式で復号化して復号ビット列が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記二次元コードの認証を行う、
ものであってもよい。【０００９】
上記目的を達成するため、本発明の第２の観点に係る二次元コード生成装置は、
請求項１に記載の二次元コード認証装置で認証可能な二次元コードを生成する二次元コード生成装置であって、
前記訂正領域から前記第１訂正ビット列と前記第２訂正ビット列とを取得する訂正ビット列取得手段と、
前記訂正ビット列取得手段によって取得した前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を算出する排他的論理和算出手段と、
前記訂正領域の一部を、前記排他的論理和算出手段によって算出した排他的論理和に置換することにより、前記第２訂正ビット列を認証情報として埋め込んだ前記二次元コードを生成する二次元コード生成手段と、
を備えることを特徴とする。【００１０】
上記目的を達成するため、本発明の第３の観点に係る二次元コード生成装置は、
請求項２に記載の二次元コード認証装置で認証可能な二次元コードを生成する二次元コード生成装置であって、
前記訂正領域から前記第１訂正ビット列と前記第２訂正ビット列とを取得する訂正ビット列取得手段と、
前記訂正ビット列取得手段によって取得した前記第２訂正ビット列を暗号化して前記暗号ビット列を生成する暗号ビット列生成手段と、
前記訂正ビット列取得手段によって取得した前記第１訂正ビット列と前記暗号ビット列生成手段によって生成した前記暗号ビット列との排他的論理和を算出する排他的論理和算出手段と、
前記訂正領域の一部を、前記排他的論理和算出手段によって算出した排他的論理和に置換することにより、前記暗号ビット列を認証情報として埋め込んだ前記二次元コードを生成する二次元コード生成手段と、
を備えることを特徴とする。【００１１】
上記の二次元コード生成装置において、
前記暗号ビット列生成手段は、前記第２訂正ビット列を非対称暗号化方式で暗号化する、
ものであってもよい。【００１２】
上記の二次元コード生成装置において、
前記暗号ビット列生成手段は、前記第２訂正ビット列を楕円曲線暗号方式で暗号化する、
ものであってもよい。【００１３】
上記目的を達成するため、本発明の第４の観点に係る二次元コード認証方法は、
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードを認証するための二次元コード認証方法であって、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記二次元コードを読み取って、前記訂正情報を取得する二次元コード読取ステップと、
前記二次元コード読取ステップによって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出ステップと、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出ステップによって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記二次元コードの認証を行う二次元コード認証ステップと、
を備えることを特徴とする。【００１４】
上記目的を達成するため、本発明の第５の観点に係るプログラムは、
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードを認証するための二次元コード認証装置のコンピュータに、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記二次元コードを読み取って、前記訂正情報を取得する二次元コード読取手順と、
前記二次元コード読取手順によって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出手順と、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手順によって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記二次元コードの認証を行う二次元コード認証手順と、
を実行させる。
【発明の効果】
【００１５】
本発明によれば、二次元コードの偽造を検出できる二次元コード認証装置、二次元コード生成装置、二次元コード認証方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】自己認証型二次元コード生成装置の構成例を示すブロック図である。
【図２】二次元コードの構成例を示す図である。
【図３】二次元コード認証装置の構成例を示すブロック図である。
【図４】自己認証型二次元コード生成処理の詳細を示すフローチャートである。
【図５】認証情報の埋込手順を説明するための模式図である。
【図６】二次元コード認証処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本発明の実施の形態を、図面を参照しながら詳細に説明する。
【００１８】
図１は、本実施の形態における自己認証型二次元コード生成装置の構成例を示すブロック図である。
【００１９】
自己認証型二次元コード生成装置１０は、埋込対象の二次元コード１００に認証情報を埋め込んで、自己認証型二次元コードを生成するもので、例えばＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、及びハードディスクドライブなどから構成される汎用コンピュータによって実現される。
【００２０】
図２は、本実施の形態における埋込対象の二次元コードの構成例を示す図である。
【００２１】
二次元コード１００は、いわゆるＱＲ（Quick Response）コード（登録商標、以下同様）の規格（ＪＩＳ  Ｘ  ０５１０）を満たすものであって、図２に示すように、３つの位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃ、情報コード記録領域１０６、タイミングセル１０８及びフォーマットコード１０９などを備えている。
【００２２】
３つの位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃは、矩形状をなす二次元コード１００の４つの頂点のうち、３つの頂点にそれぞれ配置されている。
【００２３】
タイミングセル１０８は、位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃ間に、白と黒とが交互に組み合わせられた直線状の基準パターンとして配置されている。このタイミングセル１０８は、各データセル位置の指標として用いられる。
【００２４】
フォーマットコード１０９は、位置決め用シンボル１０４Ａの近傍に配置されており、情報コード記録領域１０６内に記録された情報コードのフォーマットについて、予め規定されたバージョン情報を示すものである。二次元コード（ＱＲコード）の規格におけるバージョン情報は、１〜４０のバージョンと、各バージョンについて４つの誤り訂正レベルＬ，Ｍ，Ｑ，Ｈ（ＬからＨへと順に高くなる）と、の組み合わせで構成されている。
【００２５】
バージョン１〜４０は、主に、８ビットに対応した８つのセルで構成されるシンボルの総数に対応している。また、誤り訂正レベル（Ｌ，Ｍ，Ｑ，Ｈ）は、全シンボルのうち読取れないシンボルを許容する割合の高さ、すなわち許容欠損率の高さに対応している。それぞれのレベルの許容欠損率は、誤り訂正レベルＨが約３０％、誤り訂正レベルＱが約２５％、誤り訂正レベルＭが約１５％、誤り訂正レベルＬが約７％である。本実施の形態では、シンボルの総数が１３４のバージョン５で誤り訂正レベルＨの二次元コード１００を用いており、そのバージョン情報は、「５−Ｈ」と表される。なお、本発明はこれに限定されるものではなく、二次元コードのバージョン及び誤り訂正レベルは任意であり、バージョン１〜４０のいずれであってもよく、また誤り訂正レベルはＬ，Ｍ，Ｑ，Ｈのいずれであってもよい。
【００２６】
情報コード記録領域１０６は、光学的特性の異なる２種類のセル（白黒パターンを省略）から構成されており、情報コード（情報領域）Ｃｄとこれに対応するＲＳ（リード・ソロモン）コード（訂正領域）Ｃｅと、のコード対を含んでいる。情報コードは、所定の情報をコード化したもので、情報コードに含まれるセルの分布パターン（セルパターン）によって、所定の情報を表現している。また、ＲＳコードＣｅは、所定の情報をＲＳ（リード・ソロモン）を用いて符号化した訂正用情報をコード化したもので、ＲＳコードに含まれるセルパターンによって、誤りを訂正するための訂正用情報を表現している。
【００２７】
本実施の形態では、最適例としてＲＳ符号を用いて符号化するものを例示しているが、本発明はこれに限定されるものではなく、他の符号化方式であってもよい。例えばＢＣＨ符号などは本発明に好適に適用可能である。また、ゴレイ符号、アダマール符号、リード・マラー符号、低密度パリティ検査符号、ゴッパ符号や、ファイア符号、畳込み符号、ターボ符号、巡回ハミングとＲＳ符号との連接符なども本発明に適用可能である。
【００２８】
情報コード記録領域１０６は、情報コードＣｄを構成する４４個の情報シンボルと、ＲＳコードＣｅを構成する９０個のＲＳシンボルと、の計１３４個のシンボルからなっている。情報コード記録領域１０６は、４つのブロックＢ１〜Ｂ４に分けられており、このうち２つのブロックＢ１及びＢ２は、１１個の情報シンボルとこれに対応する２２個のＲＳシンボルとの計３３個のシンボルから構成され、残りの２つのブロックＢ３及びＢ４は、１１個の情報シンボルとこれに対応する２３個のＲＳシンボルとの計３４個のシンボルから構成されている。
【００２９】
図１に示す自己認証型二次元コード生成装置１０は、二次元コードデコード部１と、認証情報埋込部２と、自己認証型二次元コード生成部３と、を備えている。これら各部は、専用のハードウェア装置で構成してもよいし、或いはソフトウエアプログラムに基づく１または複数のプロセッサの機能として実現してもよい。
【００３０】
二次元コードデコード部１は、二次元コード１００をデコードして読み取るもので、二次元コード１００を取り込むＣＣＤ（Charge Coupled Device）などの受光素子を含んで構成されている。二次元コードデコード部１は、コード配置規則に従って二次元コード１００の各ブロックをデコードして行くことにより、各ブロックから１１個の情報シンボルからなる情報ビット列と２２又は２３個のＲＳシンボルからなるＲＳビット列とを取得する。
【００３１】
認証情報埋込部２は、二次元コードデコード部１で取得したＲＳシンボル列に認証情報を埋め込むものである。認証情報埋込部２は、各ブロックのＲＳビット列の予め定められた位置から１２個のＲＳシンボルを抽出する。次に、認証情報埋込部２は、抽出した１２個のＲＳシンボルのうちから、予め定められた６シンボルを選択し、全４ブロックで計２４個のＲＳシンボルからなるビット長１９２のビット列ｍ（第２訂正ビット列）を取得する。また、認証情報埋込部２は、各ブロックから抽出した１２個のＲＳシンボルのうちの残りの６シンボル、全４ブロックで計２４個のＲＳシンボルからなるビット長１９２のビット列ｌ（＝ｌ１＋ｌ２＋ｌ３＋ｌ４）（第１訂正ビット列）を取得する。
【００３２】
認証情報埋込部２は、ビット列ｍを楕円曲線暗号（ECC: Elliptic Curve Cryptography）や、ＲＳＡ（Rivest-Shamir-Adleman）、ＡＥＳ（Advanced Encryption Standard）−１９２などを用いて暗号化し、ビット列ｃ（暗号ビット列）を取得する。なお、楕円曲線暗号は、楕円曲線上の離散対数問題(ＥＣＤＬＰ)という数学の困難さに依存しており、ＥＣＤＬＰを効率的に解くアルゴリズムは現存しないことから、暗号的に強い。また、楕円曲線暗号では、ＲＳＡの１０２４ビットの鍵長の暗号強度を、僅か１６０ビットで実現でき、かつ処理に要する時間も短い。このため、楕円曲線暗号を用いて暗号化するのが最も好ましい。
【００３３】
本実施の形態では、最適例として、楕円曲線暗号を用いてビット列を暗号化するものを例示しているが、本発明はこれに限定されるものではなく、他の暗号化方式であってもよい。例えばＲＳＡ暗号やエルガマル暗号などの非対称暗号（公開鍵暗号）は、本発明に好適に適用可能である。また、ＡＥＳ暗号やＤＥＳ（Data Encryption Standard）暗号なども本発明に適用可能である。
【００３４】
認証情報埋込部２は、ビット列ｃをブロック数に合わせて４分割してビット列ｃｉ（ｉ＝１〜４）を生成し、これらと各ブロックから抽出した１２個のＲＳシンボルのうち、残りの６シンボルからなるビット列ｌｉ（ｉ＝１〜４）との排他的論理和をそれぞれ算出してビット列ｃｉ（ｉ＝１〜４）を生成する。そして、認証情報埋込部２は、ビット列ｌｉをそれぞれビット列ｃｉに置換することにより、ビット列ｃを認証情報として埋め込む。
【００３５】
自己認証型二次元コード生成部３は、情報ビット列と、認証情報埋込部２で認証情報が埋め込まれたＲＳビット列と、を元の二次元コード１００のコード配置規則に従って配置することにより、訂正領域に認証情報を埋め込んだ自己認証型二次元コード２００を生成する。このようにして生成した自己認証型二次元コード２００は、プリンタで印刷したりＬＣＤ（Liquid Crystal Display）に表示するなどして出力される。
【００３６】
図３は、本実施の形態における二次元コード認証装置の構成例を示すブロック図である。
【００３７】
二次元コード認証装置２０は、自己認証型二次元コード２００に埋め込まれた認証情報に基づいて、自己認証型二次元コード２００が改ざんされたものか否かを判別するもので、自己認証型二次元コード生成装置１０と同様に、ＣＰＵ、ＲＯＭ、ＲＡＭ、及びハードディスクドライブなどから構成される汎用コンピュータによって実現される。
【００３８】
二次元コード認証装置２０は、図３に示すように、二次元コードデコード部４と、誤り検出部５と、二次元コード認証部６と、を備えている。これら各部は、専用のハードウェア装置で構成してもよいし、或いはソフトウエアプログラムに基づく１または複数のプロセッサの機能として実現してもよい。
【００３９】
二次元コードデコード部４は、上記二次元コードデコード部１と同様に、自己認証型二次元コード２００をデコードして読み取るもので、自己認証型二次元コード２００を取り込むＣＣＤなどの受光素子を含んで構成されている。二次元コードデコード部４は、上述のコード配置規則に従って自己認証型二次元コード２００の各ブロックをデコードして行くことにより、各ブロックから１１個の情報シンボルからなる情報ビット列と２２又は２３個のＲＳシンボルからなるＲＳビット列とを取得する。
【００４０】
誤り検出部５は、自己認証型二次元コード２００のＲＳビット列（訂正用情報）を利用して、自己認証型二次元コード２００に含まれる誤りを検出するものである。本実施の形態において、誤り検出部５は、二次元コードデコード部４でデコードする前のデータと、二次元コードデコード部４でデコードした後のデータと、の排他的論理和を求めることにより、２４個のＲＳシンボルからなるビット列ｃ’を誤りとして検出する。
【００４１】
二次元コード認証部６は、二次元コードデコード部４で取得したＲＳビット列に含まれるビット列ｌ及びビット列ｍと、誤り検出部５で誤りとして検出したビット列ｃ’と、を利用して、自己認証型二次元コード２００の認証を行うことにより、自己認証型二次元コード２００が改ざんされているか否かの判別を行う。具体的に、二次元コード認証部６は、ＲＳビット列に含まれるビット列ｌと誤りとして検出したビット列ｃ’との排他的論理和を算出することにより、認証情報として埋め込まれたビット列ｃ’を取得する。
【００４２】
二次元コード認証部６は、認証情報埋込部２の暗号化に対応する復号キーを利用して、ビット列ｃ’を復号化することにより、ビット列ｍｄ（復号ビット列）を取得する。そして、二次元コード認証部６は、復号化したビット列ｍｄが、ＲＳビット列に含まれるビット列ｍと合致しているか否かを判別することにより、自己認証型二次元コード２００の認証を行う。
【００４３】
二次元コード認証部６は、認証の結果、両者が合致していれば、自己認証型二次元コード２００が改ざんされていないと判別し、両者が合致していなければ、自己認証型二次元コード２００が改ざんされたものと判別する。
【００４４】
次の上記構成を備える自己認証型二次元コード生成装置１０及び二次元コード認証装置２０の動作について、図面を参照しつつ説明する。
【００４５】
図４は、自己認証型二次元コード生成装置が実行する自己認証型二次元コード生成処理の詳細を示すフローチャートである。
【００４６】
自己認証型二次元コード生成装置１０は、二次元コードデコード部１が埋込対象の二次元コード１００を読み込んだことに応答して、図４に示す自己認証型二次元コード生成処理を開始する。自己認証型二次元コード生成処理において、自己認証型二次元コード生成装置１０は、まず、二次元コードデコード部１で、取り込んだ二次元コード１００の各ブロックを、所定のコード配置規則に従ってデコードして行くことにより、各ブロックから１１個の情報シンボルからなる情報ビット列と２２又は２３個のＲＳシンボルからなるＲＳビット列とを取得する（ステップＳ１）。
【００４７】
次に、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、各ブロックのＲＳビット列の予め定められた位置から１２個のＲＳシンボルを抽出する（ステップＳ２）。続いて、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、認証情報埋込部２は、抽出した１２個のＲＳシンボルのうちから、予め定められた６シンボルを選択し、全４ブロックで計２４個のＲＳシンボルからなるビット長１９２のビット列ｍを取得する（ステップＳ３）。
【００４８】
そして、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、ビット列ｍを楕円曲線暗号を用いて暗号化してビット列ｃを取得する（ステップＳ４）。続いて、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、ビット列ｃをブロック数に合わせて４分割してビット列ｃｉ（ｉ＝１〜４）を生成する（ステップＳ５）。続いて、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、ビット列ｃｉ（ｉ＝１〜４）と各ブロックから抽出した１２個のＲＳシンボルのうち、残りの６シンボルからなるビット列ｌｉ（ｉ＝１〜４）との排他的論理和をそれぞれ算出してビット列ｃｉ（ｉ＝１〜４）を生成する（ステップＳ６）。そして、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、例えば図５（Ａ）及び（Ｂ）に示すように、ビット列ｌｉをそれぞれビット列ｃｉに置換することにより、ビット列ｃを認証情報として埋め込む（ステップＳ７）。
【００４９】
続いて、自己認証型二次元コード生成装置１０は、自己認証型二次元コード生成部３で、情報ビット列と、認証情報埋込部２で認証情報が埋め込まれたＲＳビット列と、を元の二次元コード１００のコード配置規則に従って配置することにより、訂正領域に認証情報を埋め込んだ自己認証型二次元コード２００を生成して出力する（ステップＳ８）。
【００５０】
図６は、二次元コード認証装置が実行する二次元コード認証処理の詳細を示すフローチャートである。
【００５１】
二次元コード認証装置２０は、二次元コードデコード部４が自己認証型二次元コード２００を読み込んだことに応答して、図６に示す二次元コード認証処理を開始する。二次元コード認証処理において、二次元コード認証装置２０は、まず、二次元コードデコード部４で、取り込んだ自己認証型二次元コード２００の各ブロックを上述のコード配置規則に従ってデコードして行くことにより、各ブロックから１１個の情報シンボルからなる情報ビット列と２２又は２３個のＲＳシンボルからなるＲＳビット列とを取得する（ステップＳ１１）。
【００５２】
次に、二次元コード認証装置２０は、誤り検出部５で、二次元コードデコード部４でデコードする前のデータと、二次元コードデコード部４でデコードした後のデータと、の排他的論理和を求めることにより、２４個のＲＳシンボルからなるビット列ｃ’を誤りとして検出する（ステップＳ１２）。
【００５３】
続いて、二次元コード認証装置２０は、二次元コード認証部６で、ＲＳビット列に含まれるビット列ｌと誤りとして検出したビット列ｃ’との排他的論理和を算出することにより、認証情報として埋め込まれたビット列ｃ’を取得する（ステップＳ１３）。
【００５４】
また、二次元コード認証装置２０は、二次元コード認証部６で、認証情報埋込部２の暗号化に対応する復号キーを利用して、ビット列ｃ’を復号化することにより、ビット列ｍｄを取得する（ステップＳ１４）。
【００５５】
そして、二次元コード認証装置２０は、二次元コード認証部６で、復号化したビット列ｍｄが、ＲＳビット列に含まれるビット列ｍと合致しているか否かを判別することにより、自己認証型二次元コード２００の認証を行う（ステップＳ１５）。
【００５６】
二次元コード認証部６は、認証の結果、両者が合致していれば（ステップＳ１５；Ｙｅｓ）、自己認証型二次元コード２００が改ざんされていないと判別し（ステップＳ１６）、両者が合致していなければ（ステップＳ１５；Ｎｏ）、自己認証型二次元コード２００が改ざんされたものと判別する（ステップＳ１７）。
【００５７】
以上説明したように、本実施の形態における自己認証型二次元コード生成装置１０は、まず、二次元コードデコード部１で、所定の情報をセルの分布パターンによって表現する情報コードＣｄと、読取情報の誤りを訂正して所定の情報を取得するための訂正用情報をセルの分布パターンによって表現するＲＳコードＣｅと、を備える二次元コードを読み込む。
【００５８】
次に、自己認証型二次元コード生成装置１０は、認証情報埋込部２でＲＳコードＣｅからビット列ｌとビット列ｍとを生成するとともに、ビット列ｍを暗号化してビット列ｃを生成する。続いて、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、ビット列ｃを４分割したビット列ｃｉとビット列ｌｉとの排他的論理和をそれぞれ算出してビット列ｃｉを生成する。そして、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、ビット列ｌｉをビット列ｃｉに置き換えることにより、ビット列ｃを認証情報としてＲＳコードＣｅに埋め込む。
【００５９】
最後に、自己認証型二次元コード生成装置１０は、自己認証型二次元コード生成部３で、情報ビット列と、認証情報埋込部２で認証情報を埋め込んだＲＳビット列と、を含む自己認証型二次元コードを生成する。
【００６０】
一方、二次元コード認証装置２０は、二次元コードデコード部４で、自己認証型二次元コード２００を読み取ってＲＳビット列を取得した後、誤り検出部５で、ＲＳビット列を用いて、ビット列ｃ’を誤りとして検出する。
【００６１】
次に、二次元コード認証装置２０は、二次元コード認証部６で、ＲＳビット列に含まれるビット列ｌと誤りとして検出したビット列ｃ’との排他的論理和を算出して、認証情報として埋め込まれたビット列ｃ’を取得するとともに、ビット列ｃ’を暗号化に対応する方式で復号化してビット列ｍｄを取得する。そして、二次元コード認証装置２０は、二次元コード認証部６で、復号化したビット列ｍｄが、ＲＳビット列に含まれるビット列ｍと合致するか否か判別することにより、自己認証型二次元コード２００の認証を行う。
【００６２】
このように、本実施の形態における自己認証型二次元コード生成装置１０は、ＲＳコードＣｅの一部から生成されるビット列ｍを暗号化したビット列ｃと、ＲＳコードＣｅのうち上記一部とは異なる部分から生成されるビット列ｌと、の排他的論理和を求めてビット列ｃを取得し、ビット列ｌをビット列ｃに置き換えることで、ビット列ｃを認証情報としてＲＳコードＣｅに埋め込む。これにより、二次元コードが改ざんされた場合、二次元コード認証装置２０は、ビット列ｃとビット列ｌとの排他的論理和を誤りとして検出できなくなるため、二次元コードの偽造を検出することができる。
【００６３】
また、ＲＳコードＣｅに認証情報を埋め込むことにより、所定の情報を表現する情報コードＣｄに何ら変更を加える必要が無くなるため、二次元コードによって表現される情報のデータ量が削減されることを防止することができる。
【００６４】
さらに、ビット列ｍを暗号化したビット列ｃを認証情報としてＲＳコードＣｅに埋め込むため、二次元コードの偽造をより効果的に防止することができる。
【００６５】
なお、本発明は、上記実施の形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施の形態の変形態様について、説明する。
【００６６】
上記実施の形態において、自己認証型二次元コード生成装置１０は、ビット列ｍを暗号化してビット列ｃを生成し、ビット列ｃとビット列ｌとの排他的論理和を算出するものとして説明した。しかしながら、本発明はこれに限定されるものではなく、ビット列ｍを暗号化することなく、ビット列ｍとビット列ｌとの排他的論理和を算出してもよい。この場合、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、ビット列ｍを４分割したビット列ｍｉとビット列ｌｉとの排他的論理和をそれぞれ算出してビット列ｍｉを生成する。そして、自己認証型二次元コード生成装置１０は、認証情報埋込部２で、ビット列ｌｉをビット列ｍｉに置き換えることにより、ビット列ｍを認証情報としてＲＳコードＣｅに埋め込めばよい。
【００６７】
一方、二次元コード認証装置２０は、誤り検出部５で、ＲＳビット列を用いて、ビット列ｍ’を誤りとして検出する。次に、二次元コード認証装置２０は、二次元コード認証部６で、ＲＳビット列に含まれるビット列ｌと誤りとして検出したビット列ｍ’との排他的論理和を算出してビット列ｍ’を取得し、取得したビット列ｍ’が、ＲＳビット列に含まれるビット列ｍと合致するか否か判別することにより、自己認証型二次元コード２００の認証を行えばよい。
【００６８】
上記実施の形態では、二次元コード１００及び自己認証型二次元コードが白色のセルと黒色のセルとから構成されるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、汎用の二次元コードリーダによって“０”と認識される光学的特性の一又は複数の色と、“１”と認識される光学的特性の一又は複数の色と、を用いて所定の情報を表現するものであれば任意に適用可能であり、例えば二次元コードに視認可能なロゴマークを重ね合わせたロゴ付き二次元コードであってもよい。例えば、所定明度未満（汎用の二次元コードリーダによって“０”と認識される明度）のロゴマークに、所定明度以上（汎用の二次元コードリーダによって“１”と認識される明度）のセルを重ね合わせ、ロゴマークのうちセルが重ね合わされていない部分とセルとの分布パターンによって所定の情報を表現するものであってもよい（例えば特開２００７−２８７００４号公報参照）。あるいは、「ロゴマークのうち所定明度以上の部分には、所定明度未満のセルドットを重ね合わせる一方で、ロゴマークのうち所定明度未満の部分には、所定明度以上のセルドットを重ね合わせ、所定明度以上のセルドット及びロゴマークのうち所定明度以上の部分と、所定明度未満のセルドット及びロゴマークのうち所定明度未満の部分と、の分布パターンによって所定の情報を表現するものであってもよい（例えば特開２００８−１５６４２号公報参照）。なお、本明細書中に特開２００７−２８７００４号公報及び特開２００８−１５６４２号公報の明細書、特許請求の範囲、図面全体を参考として取り込むものとする。
【００６９】
上記実施の形態では、二次元コードとしてＱＲコード（登録商標）を例示して説明したが、本発明はこれに限定されるものではなく、二次元コードは、データマトリクス、アズテックコード、コードワン、アレイタグ、ボックス図形コード、マキシコード、ペリコード、ソフトストリップ、ＣＰコード、カルラコード、ウルトラコードなどといった他のマトリクス式の二次元コードであってもよい。あるいは、ＰＤＦ４１７、コード４９、コード１６ｋ、コーダブロックなどといった一次元バーコードを縦に積み重ねたスタック式の二次元コードであっても構わない。
【００７０】
また、上記実施の形態において、自己認証型二次元コード装置１０及び二次元コード認証装置２０のＣＰＵが実行するプログラムは、予めＲＯＭ等に記憶されるものとして説明したが、本発明はこれに限定されるものではなく、上述の処理を実行させるためのプログラムを、既存の汎用コンピュータに適用することで、上記実施の形態に係る自己認証型二次元コード装置１０及び二次元コード認証装置２０として機能させてもよい。
【００７１】
このようなプログラムの提供方法は任意であり、例えばコンピュータが読取可能な記録媒体（フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ等）に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【００７２】
さらに、上記の処理をＯＳとアプリケーションプログラムとの分担、又はＯＳとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板（ＢＢＳ：Bulletin Board System）に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【００７３】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明の一実施例を説明するためのものであり、本発明の範囲を限定するものではない。
【符号の説明】
【００７４】
１  二次元コードデコード部
２  認証情報埋込部
３  自己認証型二次元コード生成部
４  二次元コードデコード部
５  誤り検出部
６  二次元コード認証部
１０  自己認証型二次元コード生成装置
２０  二次元コード認証装置
１００  二次元コード
２００  自己認証型二次元コード
【図１】
2014027424.tif 000003
【図２】
2014027424.tif 000004
【図３】
2014027424.tif 000005
【図４】
2014027424.tif 000006
【図５】
2014027424.tif 000007
【図６】
2014027424.tif 000008
【手続補正書】
【提出日】平成27年2月16日(2015.2.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するため、本発明の第１の観点に係る二次元コード認証装置は、
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードに基づいて生成された自己認証型二次元コードを認証するための二次元コード認証装置であって、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記自己認証型二次元コードを読み取って、前記訂正情報を取得する二次元コード読取手段と、
前記二次元コード読取手段によって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出手段と、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手段によって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記自己認証型二次元コードの認証を行う二次元コード認証手段と、
を備えることを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
また、上記の二次元コード認証装置において、
前記二次元コード読取手段は、前記訂正領域の一部が、前記第１訂正ビット列と前記第２訂正ビット列を暗号化して得られた暗号ビット列との排他的論理和に置き換えられた前記自己認証型二次元コードを読み取って、前記訂正情報を取得し、
前記二次元コード認証手段は、前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手段によって検出した誤りとの排他的論理和を前記暗号化に対応する方式で復号化して復号ビット列が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記自己認証型二次元コードの認証を行う、
ものであってもよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上記目的を達成するため、本発明の第２の観点に係る二次元コード生成装置は、
請求項１に記載の二次元コード認証装置で認証可能な前記自己認証型二次元コードを生成する二次元コード生成装置であって、
前記訂正領域から前記第１訂正ビット列と前記第２訂正ビット列とを取得する訂正ビット列取得手段と、
前記訂正ビット列取得手段によって取得した前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を算出する排他的論理和算出手段と、
前記訂正領域の一部を、前記排他的論理和算出手段によって算出した排他的論理和を認証情報として埋め込んだ前記自己認証型二次元コードを生成する二次元コード生成手段と、
を備えることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記目的を達成するため、本発明の第３の観点に係る二次元コード生成装置は、
請求項２に記載の二次元コード認証装置で認証可能な前記自己認証型二次元コードを生成する二次元コード生成装置であって、
前記訂正領域から前記第１訂正ビット列と前記第２訂正ビット列とを取得する訂正ビット列取得手段と、
前記訂正ビット列取得手段によって取得した前記第２訂正ビット列を暗号化して前記暗号ビット列を生成する暗号ビット列生成手段と、
前記訂正ビット列取得手段によって取得した前記第１訂正ビット列と前記暗号ビット列生成手段によって生成した前記暗号ビット列との排他的論理和を算出する排他的論理和算出手段と、
前記訂正領域の一部を、前記排他的論理和算出手段によって算出した排他的論理和に置換することにより、前記暗号ビット列を認証情報として埋め込んだ前記自己認証型二次元コードを生成する二次元コード生成手段と、
を備えることを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
上記目的を達成するため、本発明の第４の観点に係る二次元コード認証方法は、
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードに基づいて生成された自己認証型二次元コードを認証するための二次元コード認証方法であって、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記自己認証型二次元コードを読み取って、前記訂正情報を取得する二次元コード読取ステップと、
前記二次元コード読取ステップによって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出ステップと、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出ステップによって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記自己認証型二次元コードの認証を行う二次元コード認証ステップと、
を備えることを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
上記目的を達成するため、本発明の第５の観点に係るプログラムは、
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードに基づいて生成された自己認証型二次元コードを認証するための二次元コード認証装置のコンビュータに、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記自己認証型二次元コードを読み取って、前記訂正情報を取得する二次元コード読取手順と、
前記二次元コード読取手順によって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出手順と、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手順によって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記自己認証型二次元コードの認証を行う二次元コード認証手順と、
を実行させる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
誤り検出部５は、自己認証型二次元コード２００のＲＳビット列（訂正用情報）を利用して、自己認証型二次元コード２００に含まれる誤りを検出するものである。本実施の形態において、誤り検出部５は、２４個のＲＳシンボルからなるビット列ｃ’を誤りとして検出する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
次に、二次元コード認証装置２０は、誤り検出部５で、２４個のＲＳシンボルからなるビット列ｃ’を誤りとして検出する（ステップＳ１２）。
【手続補正９】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードに基づいて生成された自己認証型二次元コードを認証するための二次元コード認証装置であって、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記自己認証型二次元コードを読み取って、前記訂正情報を取得する二次元コード読取手段と、
前記二次元コード読取手段によって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出手段と、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手段によって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記自己認証型二次元コードの認証を行う二次元コード認証手段と、
を備えることを特徴とする二次元コード認証装置。
【請求項２】
前記二次元コード読取手段は、前記訂正領域の一部が、前記第１訂正ビット列と前記第２訂正ビット列を暗号化して得られた暗号ビット列との排他的論理和に置き換えられた前記自己認証型二次元コードを読み取って、前記訂正情報を取得し、
前記二次元コード認証手段は、前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手段によって検出した誤りとの排他的論理和を前記暗号化に対応する方式で復号化して復号ビット列が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記自己認証型二次元コードの認証を行う、
ことを特徴とする請求項１に記載の二次元コード認証装置。
【請求項３】
請求項１に記載の二次元コード認証装置で認証可能な前記自己認証型二次元コードを生成する二次元コード生成装置であって、
前記訂正領域から前記第１訂正ビット列と前記第２訂正ビット列とを取得する訂正ビット列取得手段と、
前記訂正ビット列取得手段によって取得した前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を算出する排他的論理和算出手段と、
前記訂正領域の一部を、前記排他的論理和算出手段によって算出した排他的論理和を認証情報として埋め込んだ前記自己認証型二次元コードを生成する二次元コード生成手段と、
を備えることを特徴とする二次元コード生成装置。
【請求項４】
請求項２に記載の二次元コード認証装置で認証可能な前記自己認証型二次元コードを生成する二次元コード生成装置であって、
前記訂正領域から前記第１訂正ビット列と前記第２訂正ビット列とを取得する訂正ビット列取得手段と、
前記訂正ビット列取得手段によって取得した前記第２訂正ビット列を暗号化して前記暗号ビット列を生成する暗号ビット列生成手段と、
前記訂正ビット列取得手段によって取得した前記第１訂正ビット列と前記暗号ビット列生成手段によって生成した前記暗号ビット列との排他的論理和を算出する排他的論理和算出手段と、
前記訂正領域の一部を、前記排他的論理和算出手段によって算出した排他的論理和に置換することにより、前記暗号ビット列を認証情報として埋め込んだ前記自己認証型二次元コードを生成する二次元コード生成手段と、
を備えることを特徴とする二次元コード生成装置。
【請求項５】
前記暗号ビット列生成手段は、前記第２訂正ビット列を非対称暗号化方式で暗号化する、
ことを特徴とする請求項４に記載の二次元コード生成装置。
【請求項６】
前記暗号ビット列生成手段は、前記第２訂正ビット列を楕円曲線暗号方式で暗号化する、
ことを特徴とする請求項４に記載の二次元コード生成装置。
【請求項７】
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードに基づいて生成された自己認証型二次元コードを認証するための二次元コード認証方法であって、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記自己認証型二次元コードを読み取って、前記訂正情報を取得する二次元コード読取ステップと、
前記二次元コード読取ステップによって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出ステップと、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出ステップによって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記自己認証型二次元コードの認証を行う二次元コード認証ステップと、
を備えることを特徴とする二次元コード認証方法。
【請求項８】
所定の情報をセルの分布パターンによって表現する情報領域と、誤りを訂正するための訂正情報をセルの分布パターンによって表現する訂正領域と、を備える二次元コードに基づいて生成された自己認証型二次元コードを認証するための二次元コード認証装置のコンビュータに、
前記訂正領域の一部が、該一部から生成された第１訂正ビット列と該訂正領域のうち該一部とは異なる部分から生成された第２訂正ビット列との排他的論理和に置き換えられた前記自己認証型二次元コードを読み取って、前記訂正情報を取得する二次元コード読取手順と、
前記二次元コード読取手順によって取得した前記訂正情報を用いて、前記第１訂正ビット列と前記第２訂正ビット列との排他的論理和を誤りとして検出する誤り検出手順と、
前記訂正情報に含まれる前記第１訂正ビット列と前記誤り検出手順によって検出した誤りとの排他的論理和が、該訂正情報に含まれる前記第２訂正ビット列と合致するか否か判別することにより、前記自己認証型二次元コードの認証を行う二次元コード認証手順と、
を実行させるためのプ口グラム。
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2014027424.tif 000009
【国際調査報告】
2014027424.tif 000010
2014027424.tif 000011
2014027424.tif 000012
2014027424.tif 000013