(57)【要約】  複合二次元バーコード生成装置は、二次元バーコード用情報生成手段（１）がデータ情報を生成し、鍵動鍵生成手段（３）が鍵情報を生成し、ダイジェスト値算出手段（４）がデータ情報と前記鍵についてハッシュ演算でダイジェスト値を計算し、二次元バーコードデータ手段（５）がダイジェスト値とデータ情報とで変換用情報を構成し、二次元バーコード図形作成手段（６）がそれを二次元バーコードに変換し、ドットマトリクス図形生成手段（７）が鍵情報に対応したドットマトリクスを二次元バーコードの外側或は内部に生成し、ドットマトリクスは二次元バーコードの位置決めパターンで位置決めし二次元バーコードの誤りは訂正レベル以下とする。
2020516092.tif 000002
【特許請求の範囲】
【請求項１】
複合二次元バーコード生成装置であって、二次元バーコード用情報生成手段（１）、鍵情報生成手段（３）、ダイジェスト値算出手段（４）、二次元バーコードデータ手段（５）、二次元バーコード図形作成手段（６）、ドットマトリクス図形生成手段（７）を有し、
前記二次元バーコード用情報生成手段（１）は、二次元バーコードに格納される二次元バーコード情報を生成し、
前記鍵情報生成手段（３）はダイジェスト値を計算するための鍵を生成し、
前記ダイジェスト値算出手段（４）は、ハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて、前記二次元バーコード情報と前記鍵についてダイジェスト値を計算し、
前記二次元バーコードデータ手段（５）は、前記ダイジェスト値と前記二次元バーコード情報とを組み合わせし、バーコード変換用情報とし、
前記二次元バーコード図形作成手段（６）は、前記二次元バーコード変換用情報を二次元バーコードに変換して、二次元バーコード図形を生成し、
前記ドットマトリクス図形生成手段（７）は、前記鍵情報に対応したドットマトリクス（１００）を生成し、前記ドットマトリクス（１００）は前記二次元バーコード（３０）の位置決めパターン（３１）により位置決めされるとともに、前記二次元バーコード（３０）の外側、または少なくとも一部が前記二次元バーコード（３０）内部で生成されるとともに、前記二次元バーコード（３０）と重複した部分を前記ドットマトリクス（１００）に変え、前記二次元バーコード（３０）の前記ドットマトリクス（１００）による誤りと前記二次元バーコード（３０）自身の誤りの和が前記二次元バーコード（３０）の誤り訂正レベル以下となるように設定されることを特徴とする複合二次元バーコード生成装置。
【請求項２】
請求項１に記載の複合二次元バーコード生成装置において、
前記ドットマトリクス図形生成手段（７）は、前記ドットマトリクス（１００）の生成に際し、前記鍵情報に対して冗長化処理を行い、生成される前記ドットマトリクス（１００）に誤り訂正機能を持たせるとともに、誤り訂正レベルを前記二次元バーコードの誤り訂正レベルと同様または相違することを特徴とする複合二次元バーコード生成装置。
【請求項３】
請求項２に記載の複合二次元バーコード生成装置において、
固定鍵を生成する鍵記憶手段（２）を設け、前記固定鍵を共用鍵とし、前記鍵情報生成手段（３）が生成する鍵を秘密鍵とし、前記共用鍵と秘密鍵との組み合わせを前記鍵として、前記ダイジェスト値算出手段（４）が前記ダイジェスト値を算出し、前記ドットマトリクス図形生成手段（７）は前記秘密鍵について前記ドットマトリクス（１００）を生成することを特徴とする複合二次元バーコード生成装置。
【請求項４】
請求項３に記載の複合二次元バーコード生成装置において、
前記鍵情報生成手段（３）がランダムに前記鍵を生成し、前記ドットマトリクス図形生成手段（７）は前記ドットマトリクスを生成する際に、位置検知用のドットマトリクス位置決めパターン（５１）を生成することを特徴とする複合二次元バーコード生成装置。
【請求項５】
請求項１から４のいずれか１つに記載の複合二次元バーコード生成装置において、
前記ダイジェスト値算出手段（４）が前記ダイジェスト値する算出するアルゴリズムは、ＣＲＣ８、ＣＲＣ１６、ＣＲＣ３２、ＭＤ２、ＭＤ４、ＭＤ５、ＳＨＡ１、ＳＨＡ２５６、ＳＨＡ３８４、ＳＨＡ５１２、ＲＩＰＥＭＤ、ＰＡＮＡＭＡ、ＴＩＧＥＲ、およびＡＤＬＥＲ３２アルゴリズムのうちのいずれかであることを特徴とする請求項１から４のいずれかに記載の複合二次元バーコード生成装置。  
【請求項６】
複合二次元バーコード生成装置であって、二次元バーコード用情報生成手段（１）、鍵情報記憶手段（３）、ダイジェスト値算出手段（４）、二次元バーコードデータ手段（５）、二次元バーコード図形作成手段（６）とを有し、
前記二次元バーコード用情報生成手段（１）は、二次元バーコードに格納される二次元バーコード情報を生成し、
前記鍵情報生成手段（３）はダイジェスト値を計算するための鍵を生成し、
前記ダイジェスト値算出手段（４）は、ハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて、前記二次元バーコード情報と前記鍵についてダイジェスト値を計算し、
前記二次元バーコードデータ手段（５）は、前記ダイジェスト値情報と前記鍵情報と前記二次元バーコード情報とを組み合わせ、バーコード変換用情報とし、
前記二次元バーコード図形作成手段（６）は、前記バーコード変換用情報を二次元バーコードに変換し、二次元バーコード図形を生成することを特徴とする複合二次元バーコード生成装置。
【請求項７】
複合二次元バーコード生成方法であって、
ステップ１において、二次元バーコードに格納される二次元バーコード情報を生成し、
ステップ２において、ダイジェスト値を計算するための鍵を生成し、
ステップ４において、ハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて、前記二次元バーコード情報と前記鍵についてダイジェスト値を計算し、
ステップ５において、前記ダイジェスト値と前記二次元バーコード情報とを組み合わせし、バーコード変換用情報とし、
ステップ６において、前記バーコード変換用情報を二次元バーコードに変換し、二次元バーコード図形を生成し、
ステップ７において、前記二次元バーコード（３０）の位置決めパターン（３１）により前記ドットマトリクス（１００）の設定領域を決定し、前記設定領域が前記二次元バーコード（３０）の外側、または少なくとも一部が前記二次元バーコード（３０）内部で生成されるとともに、前記二次元バーコード（３０）と重複した部分を前記ドットマトリクス（１００）に変え、前記二次元バーコード（３０）の前記ドットマトリクス（１００）による誤りと前記二次元バーコード（３０）自身の誤りの和が前記二次元バーコード（３０）の誤り訂正レベル以下となるように設定され、
ステップ８において、前記設定領域において、前記鍵情報に対応した前記ドットマトリクス（１００）を生成することを特徴とする複合二次元バーコード生成方法。
【請求項８】
ステップＳ８においては、前記ドットマトリクス（１００）の生成に際し、前記鍵情報に対して冗長化処理を行い、生成される前記ドットマトリクス（１００）に誤り訂正機能を持たせるとともに、誤り訂正レベルを前記二次元バーコードの誤り訂正レベルと同じにまたは相違させることを特徴とする請求項７に記載される複合二次元バーコード生成方法。
【請求項９】
固定鍵を生成するステップＳ３をさらに備え、前記固定鍵を共用鍵とし、前記ステップＳ２で生成する鍵を秘密鍵とし、前記共用鍵と秘密鍵との組み合わせを前記鍵として、前記ステップＳ４において前記ダイジェスト値を算出し、前記ステップ８においては、前記秘密鍵について前記ドットマトリクス（１００）を生成することを特徴とする請求項８記載の複合二次元バーコード生成方法。
【請求項１０】
前記ステップ３においては、前記鍵をランダムに生成することを特徴とする請求項９に記載の複合二次元バーコード生成方法。
【請求項１１】
前記ドットマトリクスを生成する際に、位置検知用のドットマトリクス位置決めパターン（５１）を生成することを特徴とする請求項１０に記載の複合二次元バーコード生成方法。
【請求項１２】
前記ステップＳ４においては、前記ダイジェスト値する算出するアルゴリズムは、ＣＲＣ８、ＣＲＣ１６、ＣＲＣ３２、ＭＤ２、ＭＤ４、ＭＤ５、ＳＨＡ１、ＳＨＡ２５６、ＳＨＡ３８４、ＳＨＡ５１２、ＲＩＰＥＭＤ、ＰＡＮＡＭＡ、ＴＩＧＥＲ、およびＡＤＬＥＲ３２アルゴリズムのいずれかであることを特徴とする請求項１から４のいずれかに記載の複合二次元バーコード生成方法。
【請求項１３】
複合二次元バーコードの情報を読み取る複合二次元バーコード読取装置であって、前記複合二次元バーコードは、二次元バーコードとドットマトリクスからなり、前記二次元バーコードに二次元バーコード情報とダイジェスト値情報が含まれ、前記ドットマトリクスには鍵情報が含まれ、前記ダイジェスト値はハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用い、前記二次元バーコード情報と前記鍵情報について算出したダイジェスト値であり、
図形取得手段（１１）、二次元バーコード復号手段（１２）、ドットマトリクス復号手段（１３）、ダイジェスト値算出手段（１５）、正真性検証手段（１６）、表示手段（１７）とを含み、
前記図形取得手段（１１）は、複合二次元バーコード図形を取得し、
前記二次元バーコード復号手段（１２）は、前記二次元バーコードについて復号して、前記二次元バーコード情報と前記ダイジェスト値情報を得、
前記ドットマトリクス復号手段（１３）は、前記複合二次元バーコードに含まれる前記ドットマトリクスについて復号し、前記鍵情報を得、
前記ダイジェスト算出手段（１５）は、前記二次元バーコードからの前記二次元バーコード情報と前記鍵情報の組み合わせについて、前記複合二次元バーコードにある前記ダイジェスト値の算出と同じアルゴリズムで、ダイジェスト値を算出し、
前記正真性検証手段（１６）は、前記算出されたダイジェスト値と前記複合二次元バーコードにある前記ダイジェスト値とを比較し、情報が一致するか否かを判断し、
前記表示手段（１７）は、前記正真性検証手段（１６）の判断結果により、検証が通過か否かを表示または対応動作を行うことを特徴とする請求項１３記載の複合二次元バーコード読取装置。
【請求項１４】
前記複合二次元バーコードに含まれるダイジェスト値情報の算出に共用鍵と秘密鍵とからなる鍵が用いられ、前記秘密鍵情報は前記ドットマトリクスに含まれ、
前記複合二次元バーコード読取装置には、共用鍵記憶手段（１４）を有し、
前記ダイジェスト算出手段（１５）は、二次元バーコードの復号で得られた二次元バーコード情報と、共用鍵記憶手段（１４）からの共用鍵とドットマトリクス（１００）の復号で得られた秘密鍵とを組み合わせし、その組み合わせ情報について、前記複合二次元バーコードにある前記ダイジェスト値の算出と同じアルゴリズムで、ダイジェスト値を算出することを特徴とする請求項１３記載の複合二次元バーコード読取装置。
【請求項１５】
複合二次元バーコードの情報を読み取る複合二次元バーコード読取方法であって、前記複合二次元バーコードは二次元バーコードとドットマトリクスからなり、前記二次元バーコードに二次元バーコード情報とダイジェスト値情報が含まれ、前記ドットマトリクスには鍵情報が含まれ、前記ダイジェスト値はハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用い、前記二次元バーコード情報と前記鍵情報について算出したダイジェスト値であり、
ステップＳ１００において、複合二次元バーコード図形を取得し、
ステップＳ１１０において、前記二次元バーコード復号手段（１２）は、前記二次元バーコードを復号し、前記二次元バーコード情報と前記ダイジェスト値情報を得、
ステップＳ１２０において、前記複合二次元バーコードに含まれる前記ドットマトリクスを復号することにより前記鍵情報を得、
ステップＳ１４０において、前記ダイジェスト値算出手段（１５）は、前記二次元バーコードからの前記二次元バーコード情報と前記鍵情報とを組み合わせし、その組み合わせについて、前記複合二次元バーコードにある前記ダイジェスト値の算出と同じアルゴリズムで、ダイジェスト値を算出し、
ステップＳ１５０において、前記算出されたダイジェスト値と前記複合二次元バーコードにある前記ダイジェスト値とを比較し、
ステップＳ１６０において、情報が一致するか否かを判断し、
ステップＳ１７０において、情報が一致したことにより、検証が通過した表示または対応する動作を行い、
ステップＳ１８０において、情報が一致しないことにより、検証が通過しない表示または対応する動作を行うことを特徴とする複合二次元バーコード読取方法。
【請求項１６】
前記複合二次元バーコードに含まれる鍵は、共用鍵と秘密鍵とからなり、前記秘密鍵情報は前記ドットマトリクスに含まれ、
さらに、ステップ１３０を備え、
ステップ１２０においては、前記複合二次元バーコードに含まれるドットマトリクス（１００）を復号することにより前記秘密鍵を得、
ステップ１３０においては、記憶されている共用鍵を入力し、
ステップ１４０においては、二次元バーコードの復号で得られたデータ情報と鍵情報とを組み合わせし、その組み合わせ情報について、二次元バーコードにおけるダイジェストと同じアルゴリズムでダイジェスト値を算出することを特徴とする請求項１５記載の複合二次元バーコード読取方法。
【請求項１７】
複合二次元バーコードであって、二次元バーコード（３０）とドットマトリクス（１００）からなり、前記ドットマトリクス（１００）の少なくとも一部が前記二次元バーコード（３０）内部に位置するとともに、位置決めパターン（３１）を遮蔽しないものとし、前記二次元バーコード（３０）とは図形上において関連づけられ、前記二次元バーコード（３０）の前記ドットマトリックス（１００）による誤りと前記二次元バーコード（３０）自身の誤りの和が前記二次元バーコード（３０）の誤り訂正レベル以下となるように設定され、前記二次元バーコード（３０）にデータ情報とダイジェスト値情報が含まれ、前記ドットマトリクス（１００）には、前記ダイジェスト値を計算する際の鍵情報が含まれ、前記ダイジェスト値情報は前記鍵情報と二次元バーコード情報についてハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて算出されるものであることを特徴とする複合二次元バーコード。
【請求項１８】
複合二次元バーコードであって、二次元バーコード（３０）とドットマトリクス（１００）からなり、前記ドットマトリクス（１００）が前記二次元バーコード（３０）の外側に設定されるとともに、前記二次元バーコード（３０）の位置決めパターン（３１）により位置決定され、前記二次元バーコード（３０）とは図形上において関連づけられ、前記二次元バーコード（３０）に二次元バーコード情報とダイジェスト値情報が含まれ、前記ドットマトリクス（１００）には、前記ダイジェスト値を計算する際の鍵情報が含まれ、前記ダイジェスト値情報は前記鍵情報とデータ情報についてハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて算出されるものであることを特徴とする複合二次元バーコード。
【請求項１９】
前記ドットマトリクス（１００）は、単列または複数列の形をとり、前記二次元バーコード（３０）内に配置または二次元バーコード（３０）の少なくとも一辺に配置することを特徴とする請求項１７または１８記載の複合二次元バーコード。
【請求項２０】
前記ドットマトリクス（１００）における濃い色ドットは円点または文字、図形で構成され、隣接する濃い色ドットの間には隙間が設けられ、画像処理効率と視覚効果の向上を図ることを特徴とする請求項１７または１８記載の複合二次元バーコード。  
【請求項２１】
ドットマトリクス（１００）内のドットの形状、大きさ、間隔および位置は、二次元バーコード（３０）内のセルの形状、大きさ、間隔、位置と一致し、視覚上において周辺の二次元バーコード（３０）と一致させていることを特徴とする請求項１７または１８に記載の複合二次元バーコード。
【請求項２２】
複合二次元バーコードの電子証書媒体としての適用であり、前記複合二次元バーコードは請求項１７〜２１のいずれかの１つに記載された複合二次元バーコードであることを特徴とする電子証書媒体。
【請求項２３】
前記電子証書は電子ライセンス類のものであることを特徴とする請求項２１に記載の電子証書媒体。
【請求項２４】
前記電子証書は電子身分証明書であることを特徴とする請求項２１に記載の電子証書媒体。
【請求項２５】
前記電子証書は電子注文類のものであることを特徴とする請求項２１に記載の電子証書媒体。
【請求項２６】
前記電子証書は電子口座類のものであることを特徴とする請求項２１に記載の電子証書媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合二次元バーコード、複合二次元バーコードを電子ライセンス、電子身分、電子注文、電子口座などの電子証書の媒体としての適用、複合二次元バーコードの生成、読取装置および方法にかかり、特に二次元バーコードに含まれる情報の正真性に関する。
【背景技術】
【０００２】
電子ビジネスの発展に伴い、紙のライセンス文書が徐々に電子ライセンスに取って代わりつつある。二次元バーコードのもつ大情報量と誤り訂正機能を利用し、商業営業許可書の副本情報を二次元バーコードに格納することにより、商業営業許可書の紙副本の代わりに二次元バーコードを使用することができ、利便性が大幅に向上する。また、保管、携帯、遠距離送付も容易になり、画像入力装置や光電走査装置があれば自動的に読み取ることができる。この際、情報に正真性の担保があれば面倒な検証作業を省くことができ、電子ビジネスの発展がより有利になる。
【０００３】
二次元バーコードは、複製が容易であり、情報の改ざんもしやすいため、（格納された）営業許可書情報について、通常、真偽を検証するためのサービスも同時に提供される。ユーザはネットワークを介して認証サーバに接続し、検証用の情報をサーバに送信し、予めサーバに記憶されている情報と比較して、営業許可書の真偽、情報が本物かの判断を行う。
【０００４】
二次元バーコードの真偽を判定する方法としては、特許文献１（中国特許公開番号１０３６４６３３３）において公開されたものがある。ここでは、紙の地紋を用いて判定を行う。紙の地紋を利用した偽造防止技術は、電子ライセンスで広く使用されている。その原理は、紙に二次元バーコードを印刷し、紙の地紋のランダムさを利用し、その地紋を標識として二次元バーコードと関連付けて、検証サーバに保存し、検証時には、二次元バーコードの読取情報を送信し、検証サーバにおいて対応する地紋画像が検索され、登録した地紋と一致すれば二次元バーコードが本物であると判定される。しかしながら、この技術には以下のような問題があった。
（１）サーバの情報を利用する必要があるため、ネットワークのない環境では利用できず、使用できる範囲がかなり限られる。
（２）二次元バーコードの検証は紙（地紋）を利用して間接的に行うから、紙の地紋を破損させなければ、サーバを騙して不正を働くことが可能である。例えば、二次元バーコードの誤り訂正機能を用いて、元の二次元バーコードにおいて地紋のない部分のセルの色を調整することにより二次元バーコードの情報を偽造し、サーバを誤判断させることができる。すなわち、特許文献１の技術では、二次元バーコードに格納した情報自体が本物であることを検証できない。
（３）二次元バーコードを紙に印刷し、紙の地紋をスキャンし、画像処理により地紋特徴を抽出し、二次元バーコードと関連付けてサーバに保存する必要があるため、全体の処理が煩雑で効率が悪い。またペーパレスでの使用が実現できない。
【０００５】
特許文献２（中国特許公開番号：ＣＮ１０２２７０２２９４）にはバーコードを用いた偽造防止技術が開示されている。バーコードに鍵情報を記録し、この鍵を使って二次元バーコードの一部情報について、鍵を使って暗号化にし隠し情報とし、明文情報を不完全なものとした。検証時には、バーコードに格納した鍵を使って二次元バーコードの隠し情報を復号し、隠し情報と明文情報が完全な情報を構成することができれば、二次元バーコードは本物であると判断する。この技術はネットワークを必要としないため、使用できる範囲と利便性が向上する一方、内容から２つの情報の関連性を判断するため、客観的な基準がなく、特に営業許可書類のものでは、例えば資本金項目で“０”を多数加えても、内容に関連性が変わった（関連性なし）と判断するには困難を伴う。信頼性について保証が得られないものである。
【０００６】
以上のように従来の偽造防止技術では、二次元バーコードの情報の改ざんについて、完全に防ぐことができない。例えば、二次元バーコード情報全体を暗号化することで偽造の危険性を低減させることはできるが、専用の読み取り装置のみ復号できるが、電子ライセンスなどの証明書類には適用できない。
【発明の概要】
【０００７】
本発明は、上記従来技術の問題点を解決し、ネットワークを必要とせず、二次元バーコード情報が本物であることを判別できる技術の提供を目的とする。
【０００８】
第１本発明は、複合二次元バーコード生成装置であって、二次元バーコード用情報生成手段（１）、鍵情報生成手段（３）、ダイジェスト値算出手段（４）、二次元バーコードデータ手段（５）、二次元バーコード図形作成手段（６）、ドットマトリクス図形生成手段（７）を有し、
前記二次元バーコード用情報生成手段（１）は、二次元バーコードに格納される二次元バーコード情報を生成し、
前記鍵情報生成手段（３）はダイジェスト値を計算するための鍵を生成し、
前記ダイジェスト値算出手段（４）は、ハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて、前記二次元バーコード情報と前記鍵についてダイジェスト値を計算し、
前記二次元バーコードデータ手段（５）は、前記ダイジェスト値と前記二次元バーコード情報とを組み合わせし、バーコード変換用情報とし、
前記二次元バーコード図形作成手段（６）は、前記二次元バーコード変換用情報を二次元バーコードに変換して、二次元バーコード図形を生成し、
前記ドットマトリクス図形生成手段（７）は、前記鍵情報に対応したドットマトリクス（１００）を生成し、前記ドットマトリクス（１００）は前記二次元バーコード（３０）の位置決めパターン（３１）により位置決めされるとともに、前記二次元バーコード（３０）の外側、または少なくとも一部が前記二次元バーコード（３０）内部で生成されるとともに、前記二次元バーコード（３０）と重複した部分を前記ドットマトリクス（１００）に変え、前記二次元バーコード（３０）の前記ドットマトリクス（１００）による誤りと前記二次元バーコード（３０）自身の誤りの和が前記二次元バーコード（３０）の誤り訂正レベル以下となるように設定されることを特徴とする複合二次元バーコード生成装置。
【０００９】
前記ドットマトリクス図形生成手段（７）は、前記ドットマトリクス（１００）の生成に際し、前記鍵情報に対して冗長化処理を行い、生成される前記ドットマトリクス（１００）に誤り訂正機能を持たせるとともに、誤り訂正レベルを前記二次元バーコードの誤り訂正レベルと同じにまたは相違させることが望ましい。
【００１０】
固定鍵を生成する鍵記憶手段（２）を設け、前記固定鍵を共用鍵とし、前記鍵情報生成手段（３）が生成する鍵を秘密鍵とし、前記共用鍵と秘密鍵との組み合わせを前記鍵として、前記ダイジェスト値算出手段（４）が前記ダイジェスト値を算出し、前記ドットマトリクス図形生成手段（７）は前記秘密鍵について前記ドットマトリクス（１００）を生成することが望ましい。
【００１１】
前記鍵情報生成手段（３）がランダムに前記鍵を生成し、前記ドットマトリクス図形生成手段（７）は前記ドットマトリクスを生成する際に、位置検知用のドットマトリクス位置決めパターン（５１）を生成することが望ましい。
【００１２】
前記ダイジェスト値算出手段（４）が前記ダイジェスト値する算出するアルゴリズムは、ＣＲＣ８、ＣＲＣ１６、ＣＲＣ３２、ＭＤ２、ＭＤ４、ＭＤ５、ＳＨＡ１、ＳＨＡ２５６、ＳＨＡ３８４、ＳＨＡ５１２、ＲＩＰＥＭＤ、ＰＡＮＡＭＡ、ＴＩＧＥＲ、およびＡＤＬＥＲ３２アルゴリズムのうちのいずれかであることが望ましい。
【００１３】
第２の発明は、複合二次元バーコード生成装置であって、二次元バーコード用情報生成手段（１）、鍵情報記憶手段（３）、ダイジェスト値算出手段（４）、二次元バーコードデータ手段（５）、二次元バーコード図形作成手段（６）とを有し、
前記二次元バーコード用情報生成手段（１）は、二次元バーコードに格納される二次元バーコード情報を生成し、
前記鍵情報生成手段（３）はダイジェスト値を計算するための鍵を生成し、
前記ダイジェスト値算出手段（４）は、ハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて、前記二次元バーコード情報と前記鍵についてダイジェスト値を計算し、
前記二次元バーコードデータ手段（５）は、前記ダイジェスト値情報と前記鍵情報と前記二次元バーコード情報とを組み合わせ、バーコード変換用情報とし、
前記二次元バーコード図形作成手段（６）は、前記バーコード変換用情報を二次元バーコードに変換し、二次元バーコード図形を生成することを特徴とする複合二次元バーコード生成装置。
【００１４】
第３の発明は、複合二次元バーコード生成方法であって、
ステップ１において、二次元バーコードに格納される二次元バーコード情報を生成し、
ステップ２において、ダイジェスト値を計算するための鍵を生成し、
ステップ４において、ハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて、前記二次元バーコード情報と前記鍵についてダイジェスト値を計算し、
ステップ５において、前記ダイジェスト値と前記二次元バーコード情報とを組み合わせし、バーコード変換用情報とし、
ステップ６において、前記バーコード変換用情報を二次元バーコードに変換し、二次元バーコード図形を生成し、
ステップ７において、前記二次元バーコード（３０）の位置決めパターン（３１）により前記ドットマトリクス（１００）の設定領域を決定し、前記設定領域が前記二次元バーコード（３０）の外側、または少なくとも一部が前記二次元バーコード（３０）内部で生成されるとともに、前記二次元バーコード（３０）と重複した部分を前記ドットマトリクス（１００）に変え、前記二次元バーコード（３０）の前記ドットマトリクス（１００）による誤りと前記二次元バーコード（３０）自身の誤りの和が前記二次元バーコード（３０）の誤り訂正レベル以下となるように設定され、
ステップ８において、前記設定領域において、前記鍵情報に対応した前記ドットマトリクス（１００）を生成することを特徴とする複合二次元バーコード生成方法。
【００１５】
ステップＳ８においては、前記ドットマトリクス（１００）の生成に際し、前記鍵情報に対して冗長化処理を行い、生成される前記ドットマトリクス（１００）に誤り訂正機能を持たせるとともに、誤り訂正レベルを前記二次元バーコードの誤り訂正レベルと同様または相違することが望ましい。
【００１６】
固定鍵を生成するステップＳ３をさらに備え、前記固定鍵を共用鍵とし、前記ステップＳ２で生成する鍵を秘密鍵とし、前記共用鍵と秘密鍵との組み合わせを前記鍵として、前記ステップＳ４において前記ダイジェスト値を算出し、前記ステップ８においては、前記秘密鍵について前記ドットマトリクス（１００）を生成することが望ましい。
【００１７】
前記ステップ３においては、前記鍵をランダムに生成することが望ましい。
【００１８】
前記ドットマトリクスを生成する際に、位置検知用のドットマトリクス位置決めパターン（５１）を生成することが望ましい。
【００１９】
前記ステップＳ４においては、前記ダイジェスト値する算出するアルゴリズムは、ＣＲＣ８、ＣＲＣ１６、ＣＲＣ３２、ＭＤ２、ＭＤ４、ＭＤ５、ＳＨＡ１、ＳＨＡ２５６、ＳＨＡ３８４、ＳＨＡ５１２、ＲＩＰＥＭＤ、ＰＡＮＡＭＡ、ＴＩＧＥＲ、およびＡＤＬＥＲ３２アルゴリズムのいずれかであることが望ましい。
【００２０】
第４の発明は、複合二次元バーコードの情報を読み取る複合二次元バーコード読取装置であって、前記複合二次元バーコードは、二次元バーコードとドットマトリクスからなり、前記二次元バーコードに二次元バーコード情報とダイジェスト値情報が含まれ、前記ドットマトリクスには鍵情報が含まれ、前記ダイジェスト値はハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用い、前記二次元バーコード情報と前記鍵情報について算出したダイジェスト値であり、
図形取得手段（１１）、二次元バーコード復号手段（１２）、ドットマトリクス復号手段（１３）、ダイジェスト値算出手段（１５）、正真性検証手段（１６）、表示手段（１７）とを含み、
前記図形取得手段（１１）は、複合二次元バーコード図形を取得し、
前記二次元バーコード復号手段（１２）は、前記二次元バーコードについて復号して、前記二次元バーコード情報と前記ダイジェスト値情報を得、
前記ドットマトリクス復号手段（１３）は、前記複合二次元バーコードに含まれる前記ドットマトリクスについて復号し、前記鍵情報を得、
前記ダイジェスト算出手段（１５）は、前記二次元バーコードからの前記二次元バーコード情報と前記鍵情報の組み合わせについて、前記複合二次元バーコードにある前記ダイジェスト値の算出と同じアルゴリズムで、ダイジェスト値を算出し、
前記正真性検証手段（１６）は、前記算出されたダイジェスト値と前記複合二次元バーコードにある前記ダイジェスト値とを比較し、情報が一致するか否かを判断し、
前記表示手段（１７）は、前記正真性検証手段（１６）の判断結果により、検証が通過か否かを表示または対応動作を行うことを特徴とする請求項１３記載の複合二次元バーコード読取装置。
【００２１】
前記複合二次元バーコードに含まれるダイジェスト値情報の算出に共用鍵と秘密鍵とからなる鍵が用いられ、前記秘密鍵情報は前記ドットマトリクスに含まれ、
前記複合二次元バーコード読取装置には、共用鍵記憶手段（１４）を有し、
前記ダイジェスト算出手段（１５）は、二次元バーコードの復号で得られた二次元バーコード情報と、共用鍵記憶手段（１４）からの共用鍵とドットマトリクス（１００）の復号で得られた秘密鍵とを組み合わせし、その組み合わせ情報について、前記複合二次元バーコードにある前記ダイジェスト値の算出と同じアルゴリズムで、ダイジェスト値を算出することが望ましい。
【００２２】
第５の発明は、複合二次元バーコードの情報を読み取る複合二次元バーコード読取方法であって、前記複合二次元バーコードは二次元バーコードとドットマトリクスからなり、前記二次元バーコードに二次元バーコード情報とダイジェスト値情報が含まれ、前記ドットマトリクスには鍵情報が含まれ、前記ダイジェスト値はハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用い、前記二次元バーコード情報と前記鍵情報について算出したダイジェスト値であり、
ステップＳ１００において、複合二次元バーコード図形を取得し、
ステップＳ１１０において、前記二次元バーコード復号手段（１２）は、前記二次元バーコードを復号し、前記二次元バーコード情報と前記ダイジェスト値情報を得、
ステップＳ１２０において、前記複合二次元バーコードに含まれる前記ドットマトリクスを復号することにより前記鍵情報を得、
ステップＳ１４０において、前記ダイジェスト値算出手段（１５）は、前記二次元バーコードからの前記二次元バーコード情報と前記鍵情報とを組み合わせし、その組み合わせについて、前記複合二次元バーコードにある前記ダイジェスト値の算出と同じアルゴリズムで、ダイジェスト値を算出し、
ステップＳ１５０において、前記算出されたダイジェスト値と前記複合二次元バーコードにある前記ダイジェスト値とを比較し、
ステップＳ１６０において、情報が一致するか否かを判断し、
ステップＳ１７０において、情報が一致したことにより、検証が通過した表示または対応する動作を行い、
ステップＳ１８０において、情報が一致しないことにより、検証が通過しない表示または対応する動作を行うことを特徴とする複合二次元バーコード読取方法。
【００２３】
前記複合二次元バーコードに含まれる鍵は、共用鍵と秘密鍵とからなり、前記秘密鍵情報は前記ドットマトリクスに含まれ、
さらに、ステップ１３０を備え、
ステップ１２０においては、前記複合二次元バーコードに含まれるドットマトリクス（１００）を復号することにより前記秘密鍵を得、
ステップ１３０においては、記憶されている共用鍵を入力し、
ステップ１４０においては、二次元バーコードの復号で得られたデータ情報と鍵情報とを組み合わせし、その組み合わせ情報について、二次元バーコードにおけるダイジェストと同じアルゴリズムでダイジェスト値を算出することが望ましい。
【００２４】
第５の発明は、複合二次元バーコードであって、二次元バーコード（３０）とドットマトリクス（１００）からなり、前記ドットマトリクス（１００）の少なくとも一部が前記二次元バーコード（３０）内部に位置するとともに、位置決めパターン（３１）を遮蔽しないものとし、前記二次元バーコード（３０）とは図形上において関連づけられ、前記二次元バーコード（３０）の前記ドットマトリックス（１００）による誤りと前記二次元バーコード（３０）自身の誤りの和が前記二次元バーコード（３０）の誤り訂正レベル以下となるように設定され、前記二次元バーコード（３０）にデータ情報とダイジェスト値情報が含まれ、前記ドットマトリクス（１００）には、前記ダイジェスト値を計算する際の鍵情報が含まれ、前記ダイジェスト値情報は前記鍵情報と二次元バーコード情報についてハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて算出されるものであることを特徴とする複合二次元バーコード。
【００２５】
第６の発明は、複合二次元バーコードであって、二次元バーコード（３０）とドットマトリクス（１００）からなり、前記ドットマトリクス（１００）が前記二次元バーコード（３０）の外側に設定されるとともに、前記二次元バーコード（３０）の位置決めパターン（３１）により位置決定され、前記二次元バーコード（３０）とは図形上において関連づけられ、前記二次元バーコード（３０）に二次元バーコード情報とダイジェスト値情報が含まれ、前記ドットマトリクス（１００）には、前記ダイジェスト値を計算する際の鍵情報が含まれ、前記ダイジェスト値情報は前記鍵情報とデータ情報についてハッシュアルゴリズムまたは一方向メッセージダイジェストアルゴリズムを用いて算出されるものであることを特徴とする複合二次元バーコード。
【００２６】
前記ドットマトリクス（１００）は、単列または複数列の形をとり、前記二次元バーコード（３０）内に配置または二次元バーコード（３０）の少なくとも一辺に配置することが望ましい。
【００２７】
前記ドットマトリクス（１００）における濃い色ドットは円点または文字、図形で構成され、隣接する濃い色ドットの間には隙間が設けられ、画像処理効率と視覚効果の向上を図ることが望ましい。  
【００２８】
ドットマトリクス（１００）内のドットの形状、大きさ、間隔および位置は、二次元バーコード（３０）内のセルの形状、大きさ、間隔、位置と一致し、視覚上において周辺の二次元バーコード（３０）と一致させていることが望ましい。
【００２９】
第７の発明は複合二次元バーコードの電子証書媒体としての適用であり、前記複合二次元バーコードは請求項１７〜２１のいずれかの１つに記載された複合二次元バーコードであることを特徴とする電子証書媒体。
前記電子証書は電子ライセンス類のものであることが可能である。
前記電子証書は電子身分証明書であることが可能である。
前記電子証書は電子注文類のものであることが可能である。
前記電子証書は電子口座類のものであることが可能である。
【発明の効果】
【００３０】
本発明にかかる複合二次元バーコード生成装置および方法では、簡単、低コストで複合二次元バーコードを生成することができる。
本発明にかかる複合二次元バーコード読取装置および方法は、簡単、低コストで複合二次元バーコードを読み取ることができる。
本発明は、二次元バーコードに格納したデータ情報の正真性（真実性）を直接に検証することができ、間接的に検証する従来技術と比較して、高い信頼性が得られ、情報の忠実性を高めることができる。
【図面の簡単な説明】
【００３１】
【図１】複合二次元バーコードの構成説明図である（ドットマトリクスが二次元バーコード内部配置）。
【図２】図１の複合二次元バーコードの変形例の説明図である。
【図３】図１の複合二次元バーコードの変形例の説明図である。
【図４】図１の複合二次元バーコードの他の変形例の説明図である（多辺単列のドットマトリクス）。
【図５】図４の複合二次元バーコードの変形例の説明図である。
【図６】図４の複合二次元バーコードの変形例の説明図である。
【図７】位置決め機構を持つ複合二次元バーコードの説明図である。
【図８】複合二次元バーコード生成装置のブロック図である。
【図９】複合二次元バーコード生成方法のフローチャートである。
【図１０】二次元バーコードを生成するための説明図である。
【図１１】ドットマトリクスを生成するための説明図である。
【図１２】複合二次元バーコード読取装置の説明図である。
【図１３】複合二次元バーコード読取方法を説明するフローチャートである。
【発明を実施するための形態】
【００３２】
以下、本発明の実施形態について説明する。以下実施形態として記載さされた実施例は例示的に示すものであり、本発明の範囲を限定するものではない。
【００３３】
まず、本発明にかかる複合二次元バーコードについて説明する。
【００３４】
実施形態１
図１は複合二次元バーコードの構成説明図である。図１に示すように、複合二次元バーコードは、二次元バーコード３０（以下、二次元バーコードと称す）とドットマトリクス１００の２部分から構成される。ドットマトリクス１００の設定領域４０は、二次元バーコード３０の右下（位置を特定するためのパターンのない場所）に設定され、その両側が二次元バーコード３０の３つの位置決めパターン３１によって位置決めされ、二次元バーコード３０と図形上において関連付けされている。
【００３５】
本実施形態において、矩形設定領域４０は４×１６の区域に分割され、情報記録に使用される。濃い色のドットマトリクス１００と淡い部分とで二進法情報を表す二つの状態を構成する。濃い色の円点と大きさが対応する淡い部分がそれぞれ一ビットの情報を表し、ドットマトリクス１００において、隣り合う濃い円点の間に隙間を設け、互いに繋がっていないようにしたので、画像処理する際に効率を高めることができるとともに、視覚的に良い効果が得られる。ドットマトリクス１００の（ドット）形状が二次元バーコード３０の矩形セル形状と異なるため、複合二次元バーコードであることを識別する識別機能を果たす。
【００３６】
ドットマトリクス１００の設定領域４０の大きさは、二次元バーコード３０の誤り訂正レベル（誤り訂正能力）を参照して設定される。すなわち、二次元バーコード３０に対するドットマトリクス１００の面積が、二次元バーコード３０の誤り訂正レベルが大きいほど、ドットマトリクス１００の設定領域４０を大きく設定する。ドットマトリクス１００による誤りと（ドットマトリクス１００以外の影響を受けて）二次元バーコード３０自身由来の誤りの合計が誤り訂正レベル以下とすることにより、二次元バーコードの復号に影響を与えず済むとともに、ドットマトリクス１００の面積を大きく設定することができる。二次元バーコードの誤りはドットマトリクス１００の大きさによるだけでなく、ドットマトリクス１００に格納された情報（ドットの配列）も誤りに影響を与えるため、格納される情報によって、誤りが訂正レベルを超え、読取ができなくなることを防ぐため、訂正レベルを参照してドットマトリクスの面積を設定するとき、一定の安全余地を残す。安全余地は、例えばテストを行って決定する。例えば、二次元バーコードに格納されるデータ情報（セル分布）に応じて、極端な状況で設定可能な設定領域の上限値を決定し、その上限値に基づいて設定領域４０の大きさを設定することができる。あるいは、本発明者の発明である（中国）公開番号ＣＮ１０１６１５２５８Ｂ（出願番号：２００８１０１１５７４８．０）を参照することができ、ここでは詳細な説明を省略する。
【００３７】
設定領域４０の縦横比や形状は任意に設定可能である。また、ドットマトリクス１００の一部を二次元バーコード３０の画像区域の外側に配置することもできる。この場合、ドットマトリクス１００の情報量を大きくすることができる。
【００３８】
設定領域４０の大きさと誤り訂正レベルとを関連づけることにより、複合二次元バーコードを作成するとき、二次元バーコード３０の誤り訂正レベルに応じて自動的に設定領域４０の大きさを設定することができる。また、読み取る時には二次元バーコード３０の仕様や誤り訂正レベルなどのパラメータを用いて、ドットマトリクス１００の読み出し領域を識別することができ、情報処理が容易になる。
【００３９】
ドットマトリクス１００のドットは、濃い色の円点ではなく、一つのドットとして識別できる文字や他の図形を用いることもできる。ドットマトリクス１００（ドット）と二次元バーコード３０（セル）とは、同じサイズおよび同じ形状のものを用いることができる。
【００４０】
本実施形態では、複合二次元バーコードは電子ライセンスに適用される。二次元バーコード３０は、（中国）国家標準（ＧＢ／Ｔ１８２８４−２０００）のＱＲコードを使用する。したがって、標準に合致する作成装置および読取装置であれば、二次元バーコード３０を作成または読取することができる。二次元バーコード３０に電子ライセンスの副本情報およびダイジェスト値が格納される。ドットマトリクス１００にはダイジェスト値を計算する際の鍵情報が格納される。二次元バーコード３０（ＱＲコード）と同様に、ドットマトリクス１００に格納される情報もリードソロモン符号で符号化され、誤りに対する復元能力を持たせている。ダイジェスト値は、電子ライセンスの副本情報と鍵情報についてＭＤ５アルゴリズムを用いて算出される。
【００４１】
ＭＤ５（ハッシュアルゴリズム）などは、情報が同じであれば、算出されるダイジェスト値が同じである特性を持つため、二次元バーコード３０に格納される情報と元の管理機構から、格納された情報が一致しなければ、算出されるダイジェスト値がライセンスの副本を発行した当初のダイジェスト値が異なるため、二次元バーコードに格納されるライセンスの副本情報に改ざんがあるか否かを検証でき、電子ライセンス情報が本物であることを保証することができる。
【００４２】
以上は、本発明の複合二次元バーコードの構成と電子ライセンスとしての適用である。以上から分かるように、二次元バーコード３０の内部にドットマトリクス１００を追加することにより、ドットマトリクス１００の特別な構造により、複合二次元バーコードが電子ライセンスであることを視覚的に識別することができる。画像入力装置や光電走査装置で複合二次元バーコードを読み取るとき、二次元バーコードの位置決めパターン３１を用いて、ドットマトリクス１００の設定領域４０の位置を確定し、ドットマトリクス１００を読み取る範囲を確定することができる。ドットマトリクス１００を復号して得られる鍵情報と二次元バーコード３０を復号して得られる電子ライセンスの副本情報とをＭＤ５アルゴリズムによって算出されたダイジェスト値と、二次元バーコード３０を復号して得られるダイジェスト値とを比較することにより、電子ライセンスの副本情報が本物か否かを判定することができる。そのプロセスにはネットワークとサーバを必要としないため、使用範囲が広がる。
【００４３】
図２は図１の変形例であり、図２において、ドットマトリクス１００の設定領域４０は楕円形に設定される点で（図１と）相違するが、他は同じである。
【００４４】
図３は図１の変形例であり、図３において、ドットマトリクス１００の設定領域は、異なる場所に設定される領域４０ａ、４０ｂから構成されており、領域４０ａ、４０ｂの形状が異なるが、他の構成は同じである。
【００４５】
実施形態２
以下、他の複合二次元バーコードの構成について説明する。
【００４６】
図４は、複合二次元バーコードの他の構成の説明図であり、図１と異なるのは、ドットマトリクス１００の設定領域５０が５０ａ、５０ｂ、５０ｃ、５０ｄで構成され、それぞれ二次元バーコード３０側辺の外側に設定される。ドットマトリクス１００（全体）は単列多辺の構造を有する。図１の構成と同様に、設定領域５０ａ、５０ｂ、５０ｃ、５０ｄは、二次元バーコード３０の位置決めパターン３１によって位置決めされており、側辺から離間している。設定領域５０の大きさは、二次元バーコード３０の大きさに対応付けられている。（外側にある）ドットマトリクス１００は、二次元バーコード３０の復号に影響を与えないため、設定領域５０の範囲と二次元バーコード３０の誤り訂正レベルとは関連付けないことができ、より大きな情報量を設定することができる。なお、設定領域５０は、二次元バーコード図形の周囲の空白領域を利用することもできる。
【００４７】
図５は図４の変形例であり、図４においてドットマトリクス１００は４つの設定領域となっているが、それが図５のように二つの設定領域に変更された。各設定領域には２列のドットマトリクス１００を有している。ドットマトリクスの総情報量は図４と同様である。
【００４８】
図６は図４の変形例であり、図４においてドットマトリクス１００は４つの設定領域となっているが、図６のようにそれがすべて右側に移して１つの纏まったドットマトリクス１００となっている。他の構成は図４と同様である。
【００４９】
図７は、図４の変形例であり、図７においてドットマトリクス１００の外側に３つのドット位置決めパターン５１が設けられており、それぞれが二次元バーコード３０の３つの位置パターン３１の外側に位置している。ドットマトリクス１００の位置および範囲は、３つのドット位置決めパターン５１によって決定される。ドット位置決めパターン５１は、特定の形状を有し、画像入力装置または電子写真走査装置によって読み取ることができる。ドット位置決めパターン５１は、走査範囲の決定を容易にするだけでなく、複合二次元バーコードの範囲を示す機能も果たす。
【００５０】
以下、本発明の二次元バーコード生成装置および方法について説明する。
【００５１】
図８は、複合二次元バーコード生成装置の構成を示すブロック図である。図８に示すように、複合二次元バーコード生成装置は、二次元バーコード用情報生成手段１、鍵記憶手段２、動的鍵生成手段３、ダイジェスト値算出手段４、二次元バーコードデータ手段５、二次元バーコード図形生成手段６、ドットマトリクス図形生成手段７を備える。
【００５２】
二次元バーコード用情報生成手段１はダイジェスト値算出手段４と二次元バーコードデータ手段５と接続し、鍵記憶手段２はダイジェスト値算出手段４と接続し、動的鍵生成手段３はダイジェスト値算出手段４とドットマトリクス生成手段７とを接続する。また、ダイジェスト値算出手段４は二次元バーコードデータ手段５に接続し、二次元バーコードデータ手段５は二次元バーコード図形生成手段６に接続し、二次元バーコード図形生成手段６はドットマトリクス図形生成手段７に接続している。
【００５３】
二次元バーコード用情報生成手段１は、二次元バーコードに符号されるデータ情報を生成するものであり、本実施形態では、二次元バーコードが電子ライセンスとして使用するものとし、二次元バーコードに符号化される情報は電子ライセンスの副本情報である。データ情報は、二次元バーコードデータ手段５およびダイジェスト値算出手段４に入力される。
【００５４】
鍵記憶部２は、固定鍵を記憶するものであり、本実施形態では固定鍵は、全ての企業で共通に使う共用鍵であり、ダイジェスト値算出手段４に入力される。
【００５５】
動的鍵生成手段３は各企業（電子ライセンス）独自の鍵を生成し、その鍵がランダムに生成することができ、生成された鍵は秘密鍵としてダイジェスト値算出手段４に入力される。
【００５６】
ダイジェスト算出手段４は、電子ライセンスの副本情報、共用鍵情報、および秘密鍵情報に基づいて、ＭＤ５アルゴリズムによりダイジェスト値を算出し、算出されるダイジェスト値情報が二次元バーコードデータ手段５に入力される。
【００５７】
二次元バーコードデータ手段５は、電子ライセンスの副本情報とダイジェスト値情報とを組み合わせる。組み合わせる際に、特殊符号を用いてダイジェスト値情報であることの印しを付ける。特殊符号である印しを付けることにより、読み取る時、特殊符号によってダイジェスト値を表示するか否かを選択できる。
【００５８】
二次元バーコード図形生成手段６は、バーコード変換用データに従って図１０に示すようなＱＲコードを生成する。生成したＱＲコード（図形）はドットマトリクス図形生成手段７に入力される。
【００５９】
ドットマトリクス図形生成手段７は、ＱＲコード内の位置決めパターン３１を用いて、図１１に示すようにドットマトリクス１００の設定領域５０ａ、５０ｂ、５０ｃ、５０ｄを決定するとともに、各設定領域に秘密鍵情報に対応するドットマトリクス１００を生成する。秘密鍵は暗号化されてドットマトリクス１００に格納される。
【００６０】
図９は、複合二次元バーコードの生成方法を説明するフローチャートである。
【００６１】
以下、図８の装置と具体的なデータ（架空のデータ）を用いて、本発明の複合二次元バーコードの生成方法を説明する。
【００６２】
ステップＳ１において、ビジネス電子ライセンスの副本情報を二次元バーコード用情報生成手段１に入力し、二次元バーコードを生成するためのデータ情報を生成する。
ビジネス電子ライセンスの副本情報は以下の通りである。
社会共通信用コード：８１２１０１０８ＭＡ００３ＪＱＧＯＷ
名称：北京ロケット技術有限公司
業種：有限責任会社（自然人による投資または）
住所：北京、海淀区、北四環中路１００号、航空ビル３０２０室
代表：張三
資本金：１５０万元
設立日：２０１５年１１月２日
営業期間：２０１５年１１月２日から２０３５年１１月１日まで
業務範囲：技術開発、技術振興、技術相談、技術サービス、技術移転、ソフトウェア開発、ソフトウェアコンサルティング。
【００６３】
ステップＳ２において、動的鍵生成手段３がランダムに鍵としてのｍｆｕｗ４ａｌｙ６ｊを生成し、生成された鍵がビジネス電子ライセンスの秘密鍵として使用され、二次元バーコードが異なれば秘密鍵も異なる。
【００６４】
ステップＳ３において、鍵記憶手段２が企業管理機関の共用鍵であるａｌｋ３ｐ３ｂｖ８４２３１ｊ６ｇを読み込み、共用鍵はすべての企業について共通であり、ビジネス電子ライセンスが変わっても変わることはない。
【００６５】
ステップＳ４において、ダイジェスト値算出手段４は、上記ビジネス電子ライセンスの副本情報、共用鍵ａｌｋ３ｐ３ｂｖ８４２３１ｊ６ｇ、および秘密鍵ｍｆｕｗ４ａｌｙ６ｊの組み合わせについて、ＭＤ５アルゴリズムを用いて、ダイジェスト値としてのＹ９ｍ７ｃＤＢｗｃｖ７ＫＬＣｏｙ４５ｉ＋ｎＡ＝＝を算出する。
【００６６】
ステップＳ５において、二次元バーコードデータ手段５は、上記ビジネス電子ライセンス副本のデータ情報とダイジェスト値情報であるＹ９ｍ７ｃＤＢｗｃｖ７ＫＬＣｏｙ４５ｉ＋ｎＡ＝＝を組み合わせて、バーコード変換用データを作成する。なお、組み合わせる際、特殊符号を用いて、ダイジェスト値情報であるＹ９ｍ７ｃＤＢｗｃｖ７ＫＬＣｏｙ４５ｉ＋ｎＡ＝に印しをつけて識別を行う。
【００６７】
ステップＳ６において、二次元バーコード図形生成手段６は、図１０に示すようにＱＲコードを生成する。生成二次元バーコード３０は標準バーコードであり、かつ情報は明文情報であるため、通常の画像認識装置や光学式画像認識装置で自動的に読み取ることができる。
【００６８】
ステップＳ７において、ドットマトリクス図形生成手段７は、ＱＲコード３０にある位置決めパターン３１を用いて、予め設定された条件に従ってドットマトリクスの設定領域を決定する。設定領域は図１１に示すように、二次元バーコード３０の各辺の外側に設定領域５０ａ、５０ｂ、５０ｃ、５０ｄを設定し、ドットマトリクス１００の形成に供する。
【００６９】
ステップ８において、ドットマトリクス図形生成手段７は、秘密鍵情報にしたがって、設定領域に図１１に示すドットマトリクス１００を生成する。ドットマトリクス１００の生成に際して、冗長化処理を行い、ドットマトリクス１００の情報に誤り訂正機能を持たせる。誤り訂正レベルは、二次元バーコード３０の誤り訂正レベルと同じでも異なってもよい。
【００７０】
以上、本発明の複合二次元バーコードの生成装置および生成方法について説明したが、以上のように、既存の二次元バーコード生成装置および生成方法に基づいて共用鍵および秘密鍵の機能を追加するようにし、共用鍵および秘密鍵とビジネス電子ライセンスの副本情報との組み合わせについて、ＭＤ５アルゴリズムによってダイジェスト値を算出し、ダイジェスト値情報およびビジネス電子ライセンスの副本情報を二次元バーコード３０に格納し、秘密鍵情報をドットマトリクス１００に格納する。これにより、真偽検証機能を有する複合二次元バーコードが得られる。二次元バーコード内の情報は暗号化されていないため、通常の画像入力（識別装置）装置や光電走査装置を用いて自動的に読み取る（識別）ことができる。専用の読取装置が不要のため、使い勝手が向上する。ドットマトリクス読取装置とダイジェスト値演算装置を設けた専用識別装置では、二次元バーコードを復号して得られた情報と秘密鍵情報と共用鍵情報を用いて、ダイジェスト値を算出することができる。算出されたダイジェストと二次元バーコードの復号で得られたダイジェスト値と一致すれば、二次元バーコード内に格納した情報は本物の電子ライセンスの副本情報であることを判断することができる。ネットワークを依存しないで二次元バーコードが本物か否かを検証することができる。暗号化しなくても、ビジネス電子ライセンスの副本情報が偽造または改ざんされるのを防ぐことができる。
【００７１】
以下、本発明の読取装置および方法について説明する。
【００７２】
図１２は、複合二次元バーコード読取装置の構成を示すブロック図である。図１２に示すように、二次元バーコード読取装置は、図形取得手段１１、二次元バーコード復号手段１２、ドットマトリクス復号手段１３、共用鍵記憶手段１４、ダイジェスト値算出手段１５、正真性検証手段１６、表示手段１７を有する。
【００７３】
図形取得手段１１は、二次元バーコード復号手段１２およびドットマトリクス復号手段１３と接続される。ドットマトリクス復号手段１３、共用鍵記憶手段１４、二次元バーコード復号手段１２はダイジェスト値算出手段１５に接続される。二次元バーコード復号手段１２は正真性検証手段１６、表示手段１７と接続され、正真性検証手段１６は表示手段１７と接続されている。
【００７４】
図形取得手段１１は、複合二次元バーコードの画像を取得するように構成されている。
【００７５】
二次元バーコード復号手段１２は、複合二次元バーコード内の二次元バーコード３０の情報について復号するように構成されている。
【００７６】
ドットマトリクス復号手段１３は、複合二次元バーコード内のドットマトリクスの情報について復号するように構成されている。
【００７７】
共用鍵記憶部１４は、共用鍵を記憶するように構成されており、本実施形態では、企業管理機構に保管される鍵であるａｌｋ３ｐ３ｂｖ８４２３１ｊ６ｇが記憶されている。
【００７８】
ダイジェスト値算出手段１５は、二次元バーコードの複号による情報と共用鍵および秘密鍵を用いてＭＤ５アルゴリズムによりダイジェスト値を算出するように構成されている。
【００７９】
正真性確認手段１６は、計算されたダイジェスト値情報と二次元バーコード３０の復号で得られたダイジェスト値情報とを比較して、２つの情報が一致すか否かを判断するように構成される。
【００８０】
表示手段１７は、二次元バーコードの複号で得られる情報を表示するように構成される。同時に、正真性検証手段１６の検証結果に応じて、検証が通過したか否かの情報を表示する。
【００８１】
以下、図１２の装置を例として、本発明の複合二次元バーコードの読み取り方法を説明する。
【００８２】
図１３は、複合二次元バーコード読取方法のフローチャートである。
【００８３】
ステップＳ１００において、図形取得手段１１により複合二次元バーコードの画像を取得する。
【００８４】
ステップＳ１１０において、二次元バーコード復号手段１２は、複合二次元バーコード内の二次元バーコード３０について復号して電子ライセンスの副本情報を取得する。この情報は検証の対象である。
【００８５】
ステップＳ１２０において、ドットマトリクス復号手段１３、複合二次元バーコード内のドットマトリクス１００について復号して秘密鍵情報を得る。
【００８６】
ステップＳ１３０において、共用鍵記憶手段１４から予め格納されている企業管理の共用鍵であるａｌｋ３ｐ３ｂｖ８４２３１ｊ６ｇを入力する。
【００８７】
ステップＳ１４０において、ダイジェスト値算出手段１５は、検証すべき電子ライセンスの副本情報、共用鍵および秘密鍵について、ＭＤ５アルゴリズムによってダイジェスト値を算出する。
【００８８】
ステップＳ１５０において、正真性検証手段１６は、算出したダイジェスト値情報と、二次元バーコード３０の復号で得られたダイジェスト値情報とを比較する。
【００８９】
ステップＳ１６０において、正真性検証手段１６は、２つの情報が一致するか否かを判断し、一致する場合はステップＳ１７０に進み、一致しない場合はステップＳ１８０に進む。
【００９０】
ステップＳ１７０においては、表示手段１７は、ビジネス電子ライセンスの副本情報を表示し、検証結果に応じて、情報に改ざんがなく、検証を通過した旨を表示する。
【００９１】
ステップＳ１８０では、表示部１７は、ビジネス電子ライセンスの副本情報を表示し、検証結果に応じて、情報に改ざんがあり、検証を通過しない旨を表示する。
【００９２】
したがって、表示された結果により、利用者は表示されたビジネス電子ライセンスの副本情報が本物か否かを知ることができる。情報に改ざんがある限り、秘密鍵と共用鍵が同じであっても、ダイジェスト値情報は変更されるから、ビジネス電子ライセンスの副本情報について高い信頼性を確保することができる。
【００９３】
例えば、ビジネス電子ライセンスの副本情報について、事業範囲の最後にある句点を削除した場合、この小さな変更はサーバ内の情報と比較して識別することは困難であろう。しかし、ＭＤ５アルゴリズムを使用してダイジェスト値を計算すると、
同じ共用鍵であるａｌｋ３ｐ３ｂｖ８４２３１ｊ６ｇ、
同じ秘密鍵であるｍｆｕｗ４ａｌｙ６ｊ、
を使用しても、計算されたダイジェスト値はＪＭ４ｕｇＲｖＤｚＥａａｕＰｅＲＱｗｗＴｑＡ＝＝である。
【００９４】
本来のダイジェスト値であるＹ９ｍ７ｃＤＢｗｃｖ７ＫＬＣｏｙ４５ｉ＋ｎＡ＝＝に対して、変化が生じる。したがって、いかなる内容の変更があっても、ダイジェスト値に（大きな）変化が現れ、変更を検出することができる。二次元バーコードを電子ライセンスに適用した場合の信頼性を確保することができる。
【００９５】
以上のように本発明の複合二次元バーコード読取装置および方法について説明したが、上記から明らかなように、既存の二次元バーコード読取装置に共用鍵記憶手段、ダイジェスト値算出手段、比較手段を追加さえずれば、専用の読取装置として使用することができる。ネットワークまたはサーバを利用することなく、ビジネス電子ライセンスの副本情報の正真性を確認することができる。
【００９６】
また、ビジネス電子ライセンスの副本情報は明文であるから、既存の画像入力装置または光電走査装置を用いて自動的に読み取りすることができ、複合二次元バーコードを既存の二次元バーコードに置き換えて使用することができ、使用するハードルが下がり、コストの削減につながる。
【００９７】
上記は本発明の具体的な一実施形態にすぎず、本発明の趣旨の範囲内で任意の変更を加えることができる。本実施形態では、ビジネス電子ライセンスを例にとって説明したが、複合二次元バーコードの適用対象は電子ライセンスに限らず、他の電子証書や請求書であってもよく、情報に正真性が要求されるものでなら何でも良い。
【００９８】
本実施形態では、共用鍵と秘密鍵で鍵を構成しているが、共用鍵は必須ではなく省略してもよく、効果は変わらない。ダイジェスト値を算出するものとして、実施形態ではＭＤ５アルゴリズムを使用したが、他のハッシュ（ＨＡＳＨ）アルゴリズム、例えばＣＲＣ８、ＣＲＣ１６、ＣＲＣ３２、ＭＤ２、ＭＤ４、ＭＤ５、ＳＨＡ１、ＳＨＡ２５６、ＳＨＡ３８４、ＳＨＡ５１２、ＲＩＰＥＭＤ、ＰＡＮＡＭＡ、ＴＩＧＥＲ、ＡＤＬＥＲ３２などを用いてダイジェスト値を算出することもできる。
【００９９】
変形例
図１〜図３において、ドットマトリクス１００の濃色ドットは、二次元バーコード３０における矩形セルの形状と形状が異なるが、変形例では、ドットマトリクス１００のドットの形状、大きさ、ピッチおよび位置は、二次元バーコード３０におけるセルの形状、大きさ、ピッチおよび位置と同じである。このため、ドットマトリクス１００のドットは二次元バーコード３０のセルと視覚的に一致するので、ドットマトリクス１００の図形を二次元バーコード３０に埋め込んで隠すことができる。
【０１００】
二次元バーコード３０を生成時、ドットマトリクス１００を埋め込むための余白部分を予め生成しておくこともでき、余白部分にセルが存在しないため、余白部分に埋め込む際にドットマトリクス１００がセルを遮ることはなく、二次元バーコード３０の読み取りに誤りを生じさせることはない。ドットマトリクス１００による誤りを二次元バーコード３０の誤り訂正機能で訂正するものに比べて、二次元バーコード３０の誤り訂正レベルを下げ、復号演算速度を上げることができる。
【０１０１】
具体的な実施形態においては、ビジネス電子ライセンスを例として、電子証書の媒体に複合二次元バーコードを適用したことを説明したが、ビジネス電子ライセンスに限定されず、偽造防止する必要なものなら、使用可能である。例えば電子ライセンス類文書、電子身分類文書、電子注文類文書、電子口座類文書などが含まれる。本実施形態では、二次元バーコード情報の検証結果について、表示する説明したが、それをトリガ信号として用いることもできる。
【０１０２】
複合二次元バーコードにおける二次元バーコード３０としては、ＱＲコードだけでなく、任意の形態の二次元バーコードを用いることができる。上記実施形態および変形例では、ドットマトリクスをもった複合二次元バーコードについて説明したが、ドットマトリクスを設けずに秘密鍵を直接二次元バーコードに組み込んでもよい。すなわち、図８の構成について、鍵記憶部２およびドットマトリクス図形生成手段７を省略し、動的鍵生成手段３生成の鍵情報を二次元バーコードデータ５に出力し、二次元バーコード図形生成手段６により二次元バーコードを生成することができる。これに対応して、図１２の複合二次元バーコード読取装置において、ドットマトリクス復号手段１３と共用鍵記憶手段を省略することになる。
【０１０３】
まとめると、本発明の技術的思想の範囲内であれば、様々な変形処理が可能であり、この場合、情報の改ざん防止や情報の信頼性の確保に同じ効果が得られる。
【図１】
2020516092.tif 000003
【図２】
2020516092.tif 000004
【図３】
2020516092.tif 000005
【図４】
2020516092.tif 000006
【図５】
2020516092.tif 000007
【図６】
2020516092.tif 000008
【図７】
2020516092.tif 000009
【図８】
2020516092.tif 000010
【図９】
2020516092.tif 000011
【図１０】
2020516092.tif 000012
【図１１】
2020516092.tif 000013
【図１２】
2020516092.tif 000014
【図１３】
2020516092.tif 000015
【国際調査報告】
2020516092.tif 000016
2020516092.tif 000017
2020516092.tif 000018
2020516092.tif 000019