(57)【要約】【課題】秘匿性が高く、暗号化や復号の手間も少ない光学コードを提供する。【解決手段】秘匿情報Ｄを暗号化データＤｘに暗号化するとともに、暗号化データＤｘの復号に必要な復号鍵Ｘを開示対象者の公開鍵Ｐで暗号化復号鍵Ｘｐに暗号化し、暗号化データＤｘと、暗号化復号鍵Ｘｐと、公開鍵Ｐを特定可能な公開鍵情報とを光学コードに記憶する。かかる光学コードは、秘密鍵ｐを所持する開示対象者であれば、暗号化復号鍵Ｘｐを復号鍵Ｘに復号して、暗号化データＤｘを秘匿情報Ｄに容易に復号できる。【選択図】図３
2015213288.tif 000002
【特許請求の範囲】
【請求項１】
秘匿情報を暗号化した暗号化データと、
該暗号化データを前記秘匿情報に復号するための復号鍵を、公開鍵で暗号化した少なくとも１つの暗号化復号鍵と、
前記公開鍵を特定可能な公開鍵情報と
を記憶することを特徴とする光学コード。
【請求項２】
前記復号鍵は、前記秘匿情報の暗号化に用いられた共通鍵であることを特徴とする請求項１に記載の光学コード。
【請求項３】
前記秘匿情報は、共通の秘密鍵を所持しない複数の開示対象者に開示可能とするものであり、
各開示対象者が所持する秘密鍵と対をなす複数の公開鍵を用いて前記復号鍵を夫々暗号化した、複数の暗号化復号鍵を記憶しており、
前記公開鍵情報は、前記複数の暗号化復号鍵の生成に用いた公開鍵を、前記暗号化復号鍵毎に特定可能な情報であることを特徴とする請求項１又は請求項２に記載の光学コード。
【請求項４】
暗号化復号鍵の少なくとも１つは、前記復号鍵を複数の公開鍵で多重に暗号化したものであり、
前記公開鍵情報は、前記複数の公開鍵で多重に暗号化した暗号化復号鍵について、前記複数の公開鍵を特定可能な情報と、該複数の公開鍵を暗号化に用いた順番とを含むことを特徴とする請求項１乃至請求項３のいずれか１項に記載の光学コード。
【請求項５】
マトリクス状に配置されたモジュールが、４種類以上の色で配色されることにより、及び／又は、微細な領域に細分化されることにより、一つのモジュールに２ビット以上を記憶可能に構成された多値化二次元コードであることを特徴とする請求項１乃至請求項４のいずれか１項に記載の光学コード。
【請求項６】
各モジュールに記憶される２ビット以上のビット列の、同じ位置のビットの集合が、一つのモジュールに１ビットを記憶するデータ上の光学コードを表しており、
前記同じ位置のビットの集合が表すデータ上の複数の光学コードに、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵情報とが記憶されており、
前記暗号化データは、前記暗号化復号鍵及び前記公開鍵情報とは異なる前記データ上の光学コードに記憶されており、
前記暗号化データを記憶する前記データ上の光学コードは、前記秘匿情報を記憶するデータ上の光学コードを、所定の暗号化マスクパターンとＸＯＲ演算させてビットパターンの一部を反転させることにより前記秘匿情報を暗号化したものであり、
前記復号鍵は、前記暗号化マスクパターンを特定可能な情報であることを特徴とする請求項５に記載の光学コード。
【請求項７】
準備段階として、秘匿情報の受け手が、撮影機能を有する携帯通信端末で、秘密鍵と、該秘密鍵と対をなす公開鍵を生成し、該公開鍵を秘匿情報の受け手の識別情報と関連付けて、情報の送り手に開示するとともに、前記秘密鍵を前記携帯通信端末に記憶するステップと、
前記秘匿情報の送り手が、秘匿情報を暗号化して暗号化データを作成し、該暗号化データを前記秘匿情報に復号するための復号鍵を、前記公開鍵で暗号化して暗号化復号鍵を生成するステップと、
前記秘匿情報の送り手が、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵を特定可能な公開鍵情報とを記憶する光学コードを作成し、該光学コードを前記秘匿情報の受け手に開示するステップと、
前記秘匿情報の受け手が、前記携帯通信端末を用いて前記光学コードを読み取って、前記秘密鍵で前記暗号化復号鍵を前記復号鍵に復号し、該復号鍵で前記暗号化データを前記秘匿情報に復号するステップと
を備えることを特徴とする情報伝達方法。
【請求項８】
準備段階として、集団に属する各構成員に共通の秘密鍵と、該秘密鍵と対をなす公開鍵を通知するとともに、前記公開鍵を秘匿情報の送り手に開示するステップと、
前記秘匿情報の送り手が、前記集団に属する構成員を秘匿情報の受け手とする秘匿情報を暗号化して暗号化データを作成し、該暗号化データを前記秘匿情報に復号するための復号鍵を、前記公開鍵で暗号化して暗号化復号鍵を生成するステップと、
前記秘匿情報の送り手が、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵を特定可能な公開鍵情報とを記憶する光学コードを作成し、該光学コードを前記構成員に開示するステップと
を備えることを特徴とする情報伝達方法。
【請求項９】
所定の通信端末が、インターネットを介して被認証者の識別情報を含む情報を認証者のサーバに送信するステップと、
前記サーバが、受信した前記被認証者の識別情報に基づいて、該被認証者の携帯通信端末に記憶された秘密鍵と対をなす公開鍵を準備するステップと、
前記被認証者を認証するための認証情報を暗号化した暗号化データと、該暗号化データを復号するための復号鍵を前記公開鍵で暗号化した暗号化復号鍵と、該暗号化復号鍵の生成に用いた公開鍵を特定可能な公開鍵情報とを生成するステップと、
前記サーバが、前記所定の通信端末に、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵情報とを含む情報を、インターネットを介して送信するステップと、
前記所定の通信端末が、前記サーバから受信した前記情報に基づいて、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵情報とを記憶する光学コードを表示画面に表示するステップと、
前記被認証者の前記携帯通信端末が、前記表示画面に表示された前記光学コードを読み取って、前記秘密鍵で前記暗号化復号鍵を前記復号鍵に復号し、該復号鍵で前記暗号化データを前記認証情報に復号するステップと、
前記被認証者の前記携帯通信端末が、前記認証情報に基づいて、インターネットを介して前記サーバにアクセスして認証を行うステップと
を備えることを特徴とする認証方法。
【請求項１０】
前記被認証者の前記携帯通信端末は、該被認証者を識別可能な生体認証機能を備えていることを特徴とする請求項９に記載の認証方法。
【請求項１１】
前記認証者は、銀行であり、
前記被認証者は、該銀行の口座保有者であり、
前記所定の通信端末は、パソコンであることを特徴とする請求項９又は請求項１０に記載の認証方法。
【請求項１２】
前記認証者は、クレジットカード会社であり、
前記被認証者は、該クレジットカード会社のクレジットカードの会員であり、
前記所定の通信端末は、店舗のＰＯＳ端末であり、
前記被認証者の識別情報は、該被認証者のクレジットカード情報であることを特徴とする請求項９又は請求項１０に記載の認証方法。
【請求項１３】
前記認証者のサーバは、金券管理サーバであり、
前記被認証者は、記名式の金券の記名者であり、
前記所定の通信端末は、前記記名式の金券の確認用端末であることを特徴とする請求項９又は請求項１０に記載の認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、限られた者のみ読取可能な秘匿情報を含む光学コード、及び該光学コードを用いた情報伝達方法並びに認証方法に関する。
【背景技術】
【０００２】
一般的な光学コードは規格が統一されており、スマートフォンや携帯電話等を読取装置としてデータを読み取って、誰でも記録された内容を知り得るように構成されている。一方で、特別な権限を有する者のみに開示される秘匿情報を含む光学コードも提案されている（例えば、特許文献１）。特許文献１に記載の光学コードは、共通鍵で暗号化した秘匿情報を記憶させることにより、共通鍵を記憶しない光学コードリーダーでは秘匿情報を読み取れないようにしている。
【０００３】
また、発明者は、１つのモジュールに２ビット以上のデータを記憶可能とした多値化二次元コードを提案している。具体的には、モジュールを微細な領域（サブモジュール）に細分して、サブモジュール単位で配色してなる多値化二次元コードを提案している（例えば、特許文献２）。また、モジュールを４種類以上の色で配色した多値化二次元コードも提案している（例えば、非特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−９５４７号公報
【特許文献２】特開２０１４−８５７７７号公報
【非特許文献１】コンピュータセキュリティシンポジウム２０１２論文集ＣＤ  ３０９〜３１６頁  発行所：情報処理学会  ２０１２年１０月２３日発行
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記特許文献１に記載の光学コードでは、通常は、光学コードの作成者（秘匿情報の送り手）と、秘匿情報を開示する開示対象者（情報の受け手）とで共通鍵を共有し、同じ共通鍵を繰返し使用して、様々な情報を記憶する光学コードを作成し、情報伝達を行っている。ここで、かかる光学コードでは、光学コードの作成側と開示対象者とで共通鍵を受け渡す際に、第三者に漏洩するリスクがある。また、悪意の第三者が、総当たり攻撃によって秘匿情報の読取りに一度でも成功した場合、当該秘匿情報が漏洩するだけでなく、共通鍵の情報も漏洩してしまい、同じ共通鍵を用いて暗号化された全ての秘匿情報が漏洩するおそれがある。これに対して、秘匿情報の暗号化を、共通鍵に替えて公開鍵（非対称鍵）で暗号化することも提案されるが、公開鍵を用いると、暗号化や復号の手間が大きくなるという問題がある。
【０００６】
本発明はかかる現状に鑑みてなされたものであり、秘匿性が高く、かつ、暗号化や復号の手間も少ない光学コードの提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明は、秘匿情報を暗号化した暗号化データと、該暗号化データを前記秘匿情報に復号するための復号鍵を、公開鍵で暗号化した少なくとも１つの暗号化復号鍵と、前記公開鍵を特定可能な公開鍵情報とを記憶することを特徴とする光学コードである。ここで、公開鍵情報は、開示対象者の読取装置が公開鍵を特定可能な情報であればよく、公開鍵そのものを公開鍵情報に含めることもできる。
【０００８】
かかる光学コードは、暗号化復号鍵を暗号化した公開鍵と対をなす秘密鍵の所持者のみが、秘匿情報を読み取ることができるから、光学コードの作成者は、開示対象者の公開鍵を用いれば、当該開示対象者のみが読取可能な光学コードを作成できる。かかる構成では、作成者は開示対象者の公開鍵を入手すれば光学コードを作成可能であり、開示対象者は、自己の秘密鍵を作成者に知らせる必要がないため、秘匿情報の読取りに必要な秘密鍵が漏洩するおそれが低い。このため、本発明の光学コードは、従来構成に比べて優れた秘匿性を有している。
【０００９】
また、本発明の光学コードでは、秘匿情報を開示対象者の公開鍵で暗号化せず、秘匿情報の復号に必要な復号鍵のみを当該公開鍵で暗号化している。このため、本発明では、公開鍵を用いて暗号化するデータ量を最小限に抑えることができ、暗号化や復号を短時間で実行できる。
【００１０】
また、本発明では、読取装置が光学コードに記憶された公開鍵情報を読み取って、当該公開鍵情報で特定される公開鍵が、読取装置に記憶された秘密鍵と対をなすものであるか否かを判定することで、当該光学コードに記憶された秘匿情報を読取可能であるか否かを判定できる。このため、本発明の光学コードは、読取装置が試行錯誤することなく、読取可能か否かを容易に判定できるという利点がある。
【００１１】
また、本発明にあっては、暗号化データを復号するための復号鍵は、暗号化されて光学コードに記憶されるため、光学コード毎に異なる復号鍵を使用できる。このため、総当たり攻撃によって悪意の第三者が暗号化データの復号に成功して、当該光学コードに記憶された復号鍵を知り得た場合でも、その他の光学コードに記憶された秘匿情報が漏洩しないという利点がある。
【００１２】
本発明にあって、前記復号鍵は、前記秘匿情報の暗号化に用いられた共通鍵であることが提案される。
【００１３】
かかる構成にあっては、秘匿情報の暗号化に用いた暗号鍵を、そのまま復号鍵として使用できるため、光学コード作成時の手間を少なくできる。
【００１４】
また、本発明にあって、前記秘匿情報は、共通の秘密鍵を所持しない複数の開示対象者に開示可能とするものであり、各開示対象者が所持する秘密鍵と対をなす複数の公開鍵を用いて前記復号鍵を夫々暗号化した、複数の暗号化復号鍵を記憶しており、前記公開鍵情報は、前記複数の暗号化復号鍵の生成に用いた公開鍵を、前記暗号化復号鍵毎に特定可能な情報であることが提案される。
【００１５】
かかる構成にあっては、秘密鍵を共有しない複数の開示対象者が、各自の所持する秘密鍵を用いて光学コードに記憶された秘匿情報を読み取ることが可能となる。また、かかる光学コードは、秘匿情報を複数の開示対象者に開示可能としても、各開示対象者の所持する秘密鍵は、他の開示対象者に漏洩しないという利点がある。また、かかる光学コードには、複数の暗号化復号鍵が記憶されるものの、記憶する暗号化データは１つでよいため、データ量を大幅に増やすことなく複数の開示対象者に秘匿情報を開示できるという利点がある。また、各開示対象者は、公開鍵情報に基づいて、各自の所持する秘密鍵で、どの暗号化復号鍵を復号すべきかを知得できるから、短時間で秘匿情報を読み取ることができる。
【００１６】
また、本発明にあって、暗号化復号鍵の少なくとも１つは、前記復号鍵を複数の公開鍵で多重に暗号化したものであり、前記公開鍵情報は、前記複数の公開鍵で多重に暗号化した暗号化復号鍵について、前記複数の公開鍵を特定可能な情報と、該複数の公開鍵を暗号化に用いた順番とを含むことが提案される。
【００１７】
かかる構成にあっては、集団毎に異なる秘密鍵を所持する場合に、複数の集団に重複して属する者を、秘匿情報の開示対象者として選択可能となる。例えば、第一の集団と第二の集団に重複して属する者を開示対象者とする場合は、第一の集団の構成員のみが所持する秘密鍵と対をなす第一の公開鍵と、第二の集団の構成員のみが所持する秘密鍵と対をなす第二の公開鍵とで、二重に暗号化した暗号化復号鍵を生成する。かかる暗号化復号鍵の復号には、第一の集団の秘密鍵と、第二の集団の秘密鍵が必要であるため、第一の集団と第二の集団に重複して属する開示対象者のみが当該暗号化復号鍵を復号可能となる。また、かかる構成にあっては、公開鍵情報に、暗号化復号鍵の多重暗号化に用いた公開鍵の使用順序が含まれるため、当該暗号化復号鍵を、公開鍵の使用順序を試行錯誤することなく復号できる。
【００１８】
また、本発明の光学コードは、マトリクス状に配置されたモジュールが、４種類以上の色で配色されることにより、及び／又は、微細な領域に細分化されることにより、一つのモジュールに２ビット以上を記憶可能に構成された多値化二次元コードであることが提案される。
【００１９】
かかる構成にあっては、同一モジュール数の通常の二次元コードに比べて、多量のデータを記憶できるため、光学コードのサイズを大型化したり、暗号化データを記憶する領域を制限したりすることなく、公開鍵情報や暗号化復号鍵などのデータを記憶する領域を十分に確保できる。
【００２０】
また、本発明の光学コードを多値化二次元コードとした場合には、各モジュールに記憶される２ビット以上のビット列の、同じ位置のビットの集合が、一つのモジュールに１ビットを記憶するデータ上の光学コードを表しており、前記同じ位置のビットの集合が表すデータ上の複数の光学コードに、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵情報とが記憶されており、前記暗号化データは、前記暗号化復号鍵及び前記公開鍵情報とは異なる前記データ上の光学コードに記憶されており、前記暗号化データを記憶する前記データ上の光学コードは、前記秘匿情報を記憶するデータ上の光学コードを、所定の暗号化マスクパターンとＸＯＲ演算させてビットパターンの一部を反転させることにより前記秘匿情報を暗号化したものであり、前記復号鍵は、前記暗号化マスクパターンを特定可能な情報であることが提案される。
【００２１】
かかる構成にあっては、光学コードの生成時に行われる通常のマスク処理と同様のＸＯＲ演算によって秘匿情報の暗号化・復号が行われるため、個別の暗号化処理を行う場合に比べて、多値化二次元コードの生成時や読取時の手間を少なくできる。また、本発明の光学コードでは、総当たり攻撃に耐え得るほど多くの暗号化マスクパターンを生成できるため、十分な秘匿性を確保できる。
【００２２】
本発明の別の態様として、準備段階として、秘匿情報の受け手が、撮影機能を有する携帯通信端末で、秘密鍵と、該秘密鍵と対をなす公開鍵を生成し、該公開鍵を秘匿情報の受け手の識別情報と関連付けて、情報の送り手に開示するとともに、前記秘密鍵を前記携帯通信端末に記憶するステップと、前記秘匿情報の送り手が、秘匿情報を暗号化して暗号化データを作成し、該暗号化データを前記秘匿情報に復号するための復号鍵を、前記公開鍵で暗号化して暗号化復号鍵を生成するステップと、前記秘匿情報の送り手が、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵を特定可能な公開鍵情報とを記憶する光学コードを作成し、該光学コードを前記秘匿情報の受け手に開示するステップと、前記秘匿情報の受け手が、前記携帯通信端末を用いて前記光学コードを読み取って、前記秘密鍵で前記暗号化復号鍵を前記復号鍵に復号し、該復号鍵で前記暗号化データを前記秘匿情報に復号するステップとを備えることを特徴とする情報伝達方法が提案される。ここで、秘匿情報の送り手が、光学コードを開示する方法としては、光学コードを印刷した紙媒体を頒布するだけでなく、光学コードの画像をウェブサイトで閲覧可能としたり、電子メールで配信したりすることが含まれる。
【００２３】
かかる方法は、本発明の光学コードを介した情報伝達方法であるが、秘匿情報の受け手（開示対象者）は、秘密鍵の作成に用いた携帯通信端末を光学コードの読取りに使用するため、秘密鍵を外部に一切出力せずに、携帯通信端末内に留めておくことで、秘匿性を一層高めることができる。
【００２４】
また、本発明の別の態様として、準備段階として、集団に属する各構成員に共通の秘密鍵と、該秘密鍵と対をなす公開鍵を通知するとともに、前記公開鍵を秘匿情報の送り手に開示するステップと、前記秘匿情報の送り手が、前記集団に属する構成員を秘匿情報の受け手とする秘匿情報を暗号化して暗号化データを作成し、該暗号化データを前記秘匿情報に復号するための復号鍵を、前記公開鍵で暗号化して暗号化復号鍵を生成するステップと、前記秘匿情報の送り手が、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵を特定可能な公開鍵情報とを記憶する光学コードを作成し、該光学コードを前記構成員に開示するステップとを備えることを特徴とする情報伝達方法が提案される。
【００２５】
すなわち、かかる方法は、上記光学コード方法を介して、所要の集団の構成員に限定して秘匿情報を伝達する情報伝達方法である。かかる情報伝達方法は、上記光学コードを使用するため、秘匿性に優れたものとなる。
【００２６】
また、本発明の別の態様として、所定の通信端末が、インターネットを介して被認証者の識別情報を含む情報を認証者のサーバに送信するステップと、前記サーバが、受信した前記被認証者の識別情報に基づいて、該被認証者の携帯通信端末に記憶された秘密鍵と対をなす公開鍵を準備するステップと、前記被認証者を認証するための認証情報を暗号化した暗号化データと、該暗号化データを復号するための復号鍵を前記公開鍵で暗号化した暗号化復号鍵と、該暗号化復号鍵の生成に用いた公開鍵を特定可能な公開鍵情報とを生成するステップと、前記サーバが、前記所定の通信端末に、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵情報とを含む情報を、インターネットを介して送信するステップと、前記所定の通信端末が、前記サーバから受信した前記情報に基づいて、前記暗号化データと、前記暗号化復号鍵と、前記公開鍵情報とを記憶する光学コードを表示画面に表示するステップと、前記被認証者の前記携帯通信端末が、前記表示画面に表示された前記光学コードを読み取って、前記秘密鍵で前記暗号化復号鍵を前記復号鍵に復号し、該復号鍵で前記暗号化データを前記認証情報に復号するステップと、前記被認証者の前記携帯通信端末が、前記認証情報に基づいて、インターネットを介して前記サーバにアクセスして認証を行うステップとを備えることを特徴とする認証方法が提案される。
【００２７】
かかる認証方法にあっては、秘密鍵を記憶した被認証者の携帯通信端末を使用することで、被認証者がパスワード等の入力を行うことなく、認証を受けようとする者が被認証者本人であることを確認できる。
【００２８】
また、上記認証方法にあって、前記被認証者の前記携帯通信端末は、該被認証者を識別可能な生体認証機能を備えていることが提案される。かかる構成とすれば、悪意の第三者が被認証者の携帯通信端末を無断使用して、なりすまし行為をするのを、生体認証機能によって防ぐことが可能となる。
【００２９】
上記認証方法の具体例としては、前記認証者は、銀行であり、前記被認証者は、該銀行の口座保有者であり、前記所定の通信端末は、パソコン（パーソナルコンピュータ）であることが提案される。
【００３０】
従来では、銀行のオンライン取引では、パスワードの入力によって、通信端末を操作する取引者が口座保有者であることを確認しているが、かかる方法では、パスワードを入力する際に、パスワードが漏洩するおそれがある。これに対して、かかる構成にあっては、秘密鍵を漏洩させることなく本人確認を行うことができるから、従来よりも安全に本人認証を行うことが可能となる。
【００３１】
また、上記認証方法の別の例としては、前記認証者は、クレジットカード会社であり、前記被認証者は、該クレジットカード会社のクレジットカードの会員であり、前記所定の通信端末は、店舗のＰＯＳ端末であり、前記被認証者の識別情報は、該被認証者のクレジットカード情報であることが提案される。
【００３２】
従来は、店舗でクレジットカード決済を行う際に、署名やＰＩＮコードの入力によって本人確認を行っているが、署名は店員の照合が不十分である場合があり、ＰＩＮコードは入力時に漏洩のおそれがある。これに対して、かかる構成にあっては、秘密鍵を漏洩させることなく本人確認を行うことができるから、従来よりも安全に本人認証を行うことが可能となる。
【００３３】
また、上記認証方法の別の例としては、前記認証者のサーバは、金券管理サーバであり、前記被認証者は、記名式の金券の記名者であり、前記所定の通信端末は、前記記名式の金券の確認用端末であることが提案される。
【００３４】
かかる構成にあっては、入場券や株主優待券、商品券、トラベラーズチェックなどの各種金券にあって、使用者が記名者本人に限定されたものについて、使用者の本人確認を簡単かつ安全に行うことが可能となる。
【発明の効果】
【００３５】
以上に述べたように、本発明によれば、秘匿性が高く、かつ、暗号化や復号が容易な光学コードを提供でき、また、かかる光学コードを用いることで、秘匿性の高い情報伝達方法や認証方法を実現できる。
【図面の簡単な説明】
【００３６】
【図１】（ａ）は実施例１の光学コード１の概略図であり、（ｂ）は実施例１の光学コード１の各領域を機能別に模様分けして示す説明図である。
【図２】光学コード１による秘匿情報Ｄの伝達方法の概要を示す説明図である。
【図３】（ａ）は、光学コード１における暗号化手順を示す説明図であり、（ｂ）は、光学コード１における復号手順を示す説明図である。
【図４】光学コード１に記憶する格納データの構造を示す図表である。
【図５】光学コード１の生成手順を示すフローチャートである。
【図６】（ａ）は、光学コード１の読取用プログラムの機能を示すブロック図であり、（ｂ）は、公開鍵−秘密鍵リストの内容を示す図表である。
【図７】光学コード１の読取手順を示すフローチャートである。
【図８】実施例２の光学コード１ａによる秘匿情報Ｄの伝達方法の概要を示す説明図である。
【図９】（ａ）は、光学コード１ａにおける暗号化手順を示す説明図であり、（ｂ）は、開示対象者ＡＢが、光学コード１ａを復号する手順を示す説明図であり、（ｃ）は、開示対象者Ｃが、光学コード１ａを復号する手順を示す説明図である。
【図１０】光学コード１ａに記憶する格納データの構造を示す図表である。
【図１１】実施例３の認証システムにおける、公開鍵の登録手順を示す説明図である。
【図１２】実施例３の認証システムにおける、顧客の認証手順を示す説明図である。
【図１３】実施例４の認証システムにおける、会員の認証手順を示す説明図である。
【図１４】（ａ）は実施例２の多値化二次元コード２の概略図であり、（ｂ）は実施例２の多値化二次元コード２の各領域を機能別に模様分けして示す説明図である。
【図１５】１６種類の基準色の内容を示す図表である。
【図１６】多値化二次元コード２のデータ構造を示す概念図である。
【図１７】多値化二次元コード２に記憶するデータの構造を示す図表である。
【図１８】多値化二次元コード２の生成手順を示すフローチャートである。
【図１９】符号化処理の処理内容を示すフローチャートである。
【図２０】符号化テーブルの内容を示す図表である。
【図２１】多値化二次元コード２の読取手順を示すフローチャートである。
【発明を実施するための形態】
【００３７】
本発明の実施形態を、以下の実施例に従って説明する。
【実施例１】
【００３８】
本実施例の光学コード１は、ＱＲコード（登録商標）に本発明を適用したものであり、基本的な構成はＱＲコードと共通している。具体的には、図１（ａ）に示すように、光学コード１は、正方形のモジュール４を、縦横に２１個ずつマトリクス状に配置してなるものである。光学コード１のモジュール４は、明色（白色）に配色された明色モジュール４ａと、暗色（黒色）に配色された暗色モジュール４ｂとからなる。図１（ｂ）に示すように、光学コード１は、機能パターン７と符号化領域８とからなる。機能パターン７は、モジュール４の配色パターンが予め定められている領域であり、光学コード１の光学的読取りを補助する位置検出パターン１１、分離パターン１２、タイミングパターン１３などによって構成される。また、符号化領域８は、各モジュール４の配色パターンによってデータを記録する領域であり、データコード語及び誤り訂正コード語が記録されるデータコード領域１４と、形式情報及び型番情報を示すコードが配置される形式情報コード領域１５とによって構成される。これらの構成は、ＱＲコードのＪＩＳ規格（ＪＩＳ  Ｘ  ０５１０：２００４）に準拠したものであるため詳細な説明は省略する。
【００３９】
本実施例の光学コード１は、特定の個人Ｐを秘匿情報Ｄの開示対象者とする。図２に示すように、この光学コード１は、作成時に、開示対象者Ｐの所持する秘密鍵ｐと対をなす公開鍵Ｐを用いて暗号化することにより、開示対象者Ｐのみが光学コード１に記憶された秘匿情報Ｄを読み取り得るよう構成される。具体的には、図３（ａ）に示すように、ランダムに発生させた共通鍵Ｘを用いて秘匿情報Ｄを暗号化データＤｘに暗号化し、さらに、該共通鍵Ｘを開示対象者Ｐの公開鍵Ｐで暗号化復号鍵Ｘｐに暗号化して、暗号化データＤｘを暗号化復号鍵Ｘｐとともに光学コード１に記憶する。図３（ｂ）に示すように、開示対象者Ｐであれば、自己の所持する秘密鍵ｐで、暗号化復号鍵Ｘｐを共通鍵Ｘに復号できるため、光学コード１に記憶された暗号化データＤｘを秘匿情報Ｄに復号できる。
【００４０】
図４は、光学コード１のデータコード領域１４に記録される格納データの構造を示すものである。格納データは、実際のデータを記憶するデータ部と、データ部に含まれる各データの位置とサイズを示すインデックス部とで構成される。光学コード１のデータコード領域１４には、かかる格納データが符号化されて、訂正コード語が付与された状態で記録される。
【００４１】
データ部に記憶されるデータには、上述のように、秘匿情報Ｄを暗号化した暗号化データＤｘと、暗号化データＤｘの生成に使用した共通鍵Ｘを開示対象者Ｐの公開鍵Ｐで暗号化した暗号化復号鍵Ｘｐとが含まれる。共通鍵Ｘは、光学コード１の生成時にランダムに生成されるものであり、秘匿情報Ｄの暗号化と復号の両方に使用される。この共通鍵Ｘは、当該光学コード１でのみ使用され、他の光学コードで再利用されることはない。また、データ部に記憶されるデータには、暗号化復号鍵Ｘｐを暗号化した公開鍵Ｐを特定可能な公開鍵情報が含まれる。かかる公開鍵情報によれば、光学コード１の読取時に、当該公開鍵Ｐと対をなす秘密鍵ｐを所持しているか否かを確認するだけで、当該光学コード１を読取可能であるか否かを簡単に判別できる。なお、本実施例では、開示対象者Ｐの公開鍵Ｐそのものが、公開鍵情報として記憶される。
【００４２】
以下に、本実施例の光学コード１の生成方法を具体的に説明する。
上述のように、本実施例の光学コード１は、上記格納データをＱＲコードに記憶させたものであり、光学コード１の生成方法は、格納データを生成するステップと、該格納データを記憶するＱＲコードを生成するステップとからなる。なお、上述のように、光学コード１の生成には開示対象者Ｐの公開鍵Ｐが必要であるため、光学コード１の作成者は、光学コード１の作成に当たって、開示対象者Ｐの公開鍵Ｐを、本人または信頼できる第三者から入手する必要がある。
【００４３】
具体的には、光学コード１は、コンピュータ等が、図５に示すＳ１〜Ｓ８のステップを実行することで生成できる。以下、図５中の各ステップＳ１〜Ｓ８について説明する。
ステップＳ１：秘匿情報の準備
開示対象者Ｐにのみ開示する秘匿情報Ｄを準備する。
ステップＳ２：公開鍵の準備
開示対象者Ｐの公開鍵Ｐを準備する。開示対象者Ｐの公開鍵Ｐを記憶している場合は、記憶された当該公開鍵Ｐを読み出す。また、公開鍵Ｐを記憶していない場合は、信頼できる方法で公開鍵Ｐを入手する。可能であれば、使用する公開鍵Ｐが開示対象者Ｐのものであることを認証局で確認することが望ましい。
ステップＳ３：共通鍵の生成
秘匿情報Ｄの暗号化に使用する共通鍵Ｘを生成する。共通鍵Ｘは、当該秘匿情報Ｄの暗号化でのみ使用するものであり、ランダムに生成される。
ステップＳ４：暗号化データの生成
生成した共通鍵Ｘを用いて秘匿情報Ｄを暗号化データＤｘに暗号化する。
ステップＳ５：暗号化復号鍵の生成
暗号化データＤｘの生成に使用した共通鍵Ｘを、開示対象者Ｐの公開鍵Ｐを用いて暗号化して、暗号化復号鍵Ｘｐを生成する。
ステップＳ６：公開鍵情報の生成
暗号化に使用された公開鍵Ｐを読取装置が特定可能な公開鍵情報を生成する。本実施例では、公開鍵Ｐそのものを公開鍵情報として使用するため、かかるステップは必要ない。
ステップＳ７：格納データの生成
暗号化データＤｘと、暗号化復号鍵Ｘｐと、公開鍵情報とに、インデックス部を付与して、図４に示す格納データを生成する。
ステップＳ８：光学コードの作成
作成した格納データを記憶する光学コード１を生成する。かかるステップは、既存のＱＲコードの作成方法と同様であるため、詳細な説明は省略する。
【００４４】
上記方法によって作成された光学コード１は、紙に印刷したものを頒布・掲示・ＦＡＸしたり、画像を電子メールで送信したり、ウェブサイトに掲載したりすることによって、開示対象者Ｐが読取装置で読取可能な状態に開示することができる。なお、光学コード１に記憶された秘匿情報Ｄは、開示対象者Ｐ以外は読取不能であるため、光学コード１そのものは、開示対象者Ｐに開示するだけでなく、新聞や雑誌などに掲載して、非開示対象者も含めた形で広範に開示することもできる。
【００４５】
以下に、本実施例の光学コード１の読取方法を具体的に説明する。
本実施例の光学コード１は、読取用プログラムをインストールしたスマートフォン（携帯通信端末）を読取装置として用いることができる。読取用プログラムは、図６（ａ）に示すように、複数の機能を備えている。以下、読取用プログラムの各機能について説明する。
（１）公開鍵と秘密鍵の生成
光学コードの生成・読取に使用する公開鍵と秘密鍵のペアを生成する機能である。ここで作成した秘密鍵は、装置外に出力されることなく記憶される。
（２）公開鍵と秘密鍵のダウンロード
光学コードの生成・読取に使用する公開鍵と秘密鍵のペアを、スマートフォンの通信機能を介して外部からダウンロードする機能である。なお、公開鍵と秘密鍵のダウンロードは、秘密鍵が第三者に漏洩しないよう、安全な認証を行った上で実行される。
（３）公開鍵と秘密鍵の記憶
装置内で生成した、または装置外からダウンロードした公開鍵と秘密鍵のペアを公開鍵−秘密鍵リストに記憶する機能である。公開鍵−秘密鍵リストでは、図６（ｂ）に示すように、公開鍵と該公開鍵に対応する秘密鍵とが関連付けられて記憶される。この公開鍵−秘密鍵リストは、プログラム外からは参照不能で、かつ外部出力不能な状態に暗号化される。
（４）公開鍵の通知
公開鍵−秘密鍵リストに記憶された公開鍵を、スマートフォンの通信機能を介して他者に通知する機能である。装置内で生成した公開鍵は、かかる機能によって、光学コードの作成者が使用可能となる。
（５）光学コードの読取り
スマートフォンの撮影機能によって光学コードを撮影して、光学コードに記憶された格納データを読み取る機能である。かかる機能は、既存のＱＲコード読取用プログラムと同じである。
（６）秘匿情報の復号
格納データに記憶された公開鍵情報等に基づいて、秘匿情報Ｄの復号を行う機能である。詳細な復号手順は後述する。
【００４６】
本実施例の光学コード１は、上記スマートフォンで、図７に示す、Ｓ１１〜Ｓ１７のステップを経ることで読み取ることができる。以下、図７中の各ステップＳ１１〜Ｓ１７について説明する。
ステップＳ１１：光学コードの撮影
光学コード１をスマートフォンで撮影する。
ステップＳ１２：格納データの読取り
スマートフォンが、既存のＱＲコードの読取方法に則って、光学コード１に記憶された格納データを読み取る。かかるステップまでは、通常のＱＲコードの読取用プログラムで実現できる。
ステップＳ１３：データ部の読出し
スマートフォンが、インデックス部に記憶された情報を読み出し、公開鍵情報（公開鍵Ｐ）と、暗号化復号鍵Ｘｐと、暗号化データＤｘを抽出する。
ステップＳ１４：公開鍵−秘密鍵リストの確認
スマートフォンが、公開鍵情報に含まれる公開鍵Ｐが、公開鍵−秘密鍵リストに記憶されているか否かを判定する。公開鍵Ｐが公開鍵−秘密鍵リストに記憶されていないと判定した場合は、秘匿情報Ｄを読取不能であるため、その旨を表示画面に表示して、光学コード１の読取処理を途中終了する。公開鍵Ｐが公開鍵−秘密鍵リストに記憶されていると判定した場合は、ステップＳ１５の処理に進む。
ステップＳ１５：暗号化復号鍵の復号
スマートフォンが、公開鍵−秘密鍵リストから公開鍵Ｐと対をなす秘密鍵ｐを読み出して、当該秘密鍵ｐを用いて、暗号化復号鍵Ｘｐを共通鍵Ｘに復号する。
ステップＳ１６：暗号化データの復号
スマートフォンが、復号した共通鍵Ｘを用いて暗号化データＤｘを元の秘匿情報Ｄに復号する。
【００４７】
以上のように、本実施例の光学コード１に含まれる秘匿情報Ｄは、開示対象者Ｐの秘密鍵ｐを記憶する読取装置（スマートフォン）でのみ読取可能である。ここで、かかる光学コード１は、開示対象者Ｐの公開鍵Ｐさえ入手できれば生成可能であるから、当該開示対象者Ｐは、秘密鍵ｐを光学コード１の作成者に通知する必要がない。したがって、かかる光学コード１を介して情報伝達を行えば、従来構成に比べて情報漏洩のおそれを低減できる。
【００４８】
また、本実施例の光学コード１は、秘匿情報Ｄそのものを公開鍵Ｐで暗号化するのでなく、秘匿情報Ｄを暗号化した共通鍵Ｘを公開鍵Ｐで暗号化しているため、公開鍵方式による暗号化処理・復号処理を最小限に抑えることができ、光学コード１の作成時や読取時の処理が複雑にならないという利点がある。特に、本実施例では、秘匿情報Ｄの暗号化に共通鍵Ｘを用いているため、秘匿情報Ｄの暗号化に使用した共通鍵Ｘから暗号化復号鍵Ｘｐを容易に生成できるという利点がある。
【００４９】
また、本実施例の光学コード１には、暗号化復号鍵Ｘｐの暗号化に用いた公開鍵Ｐを特定するための公開鍵情報が含まれているため、光学コード１の読取時に、読取装置（スマートフォン）が、暗号化復号鍵Ｘｐの復号に必要な秘密鍵Ｐを記憶しているか否かを容易に判定でき、暗号化復号鍵Ｘｐの復号に際して試行錯誤をする必要がないという利点がある。
【００５０】
また、本実施例の光学コード１は、秘匿情報Ｄの暗号化に一度限りの共通鍵Ｘを使用しているため、総当たり攻撃によって、悪意の第三者が暗号化データＤｘの復号に成功した場合でも、開示対象者Ｐの秘密鍵ｐの秘密状態を確保でき、当該開示対象者Ｐに開示するその他の情報が漏洩するのを防止できる。
【実施例２】
【００５１】
本実施例の光学コード１ａは、実施例１の光学コード１の格納データを変更したものである。この光学コード１ａは、秘匿情報を複数の開示対象者に開示する場合に用いられる。具体的には、図８に示すように、本実施例の光学コード１ａは、集団Ａと集団Ｂの双方に重複して属する者（開示対象者ＡＢ）と、集団Ｃに属する者（開示対象者Ｃ）とを秘匿情報Ｄの開示対象者とする。具体的には、集団Ａ，Ｂ，Ｃの各構成員には、予め、夫々が属する集団Ａ〜Ｃの秘密鍵ａ，ｂ，ｃと、各秘密鍵ａ，ｂ，ｃと対をなす公開鍵Ａ，Ｂ，Ｃのペアが通知される。そして、本実施例の光学コード１ａでは、図９（ａ）に示すように、秘匿情報Ｄを暗号化データＤｘに暗号化するのに用いた共通鍵Ｘを、集団Ａの公開鍵Ａを用いて暗号化復号鍵Ｘａに暗号化し、さらに、暗号化復号鍵Ｘａを、集団Ｂの公開鍵Ｂを用いて暗号化復号鍵Ｘａｂに暗号化する。また、同じ共通鍵Ｘを、集団Ｃの公開鍵Ｃを用いて暗号化復号鍵Ｘｃに暗号化する。そして、暗号化データＤｘを２つの暗号化復号鍵Ｘａｂ，Ｘｃとともに光学コード１に記憶する。なお、秘匿情報Ｄの暗号化は、実施例１と同じである。図９（ｂ）に示すように、集団Ａと集団Ｂに重複して属する開示対象者ＡＢは、集団Ａの秘密鍵ａと集団Ｂの秘密鍵ｂとを用いて暗号化復号鍵Ｘａｂを共通鍵Ｘに復号できるため、光学コード１に記憶された暗号化データＤｘを秘匿情報Ｄに復号することができる。また、図９（ｃ）に示すように、集団Ｃに属する開示対象者Ｃは、集団Ｃの秘密鍵ｃを用いて暗号化復号鍵Ｘｃを共通鍵Ｘに復号できるため、光学コード１に記憶された暗号化データＤｘを秘匿情報Ｄに復号することができる。
【００５２】
図１０は、光学コード１ａの格納データのデータ構造である。本実施例では、データ部に２つの暗号化復号鍵Ｘａｂ，Ｘｃが記憶される。暗号化復号鍵Ｘａｂは、暗号化データＤｘを暗号化した共通鍵Ｘを、集団Ａの公開鍵Ａと集団Ｂの公開鍵Ｂとで二重に暗号化したものである。他方の暗号化復号鍵Ｘｃは、前記共通鍵Ｘを集団Ｃの公開鍵Ｃで暗号化したものである。
【００５３】
また、本実施例では、公開鍵情報に、２つの暗号化復号鍵Ｘａｂ，Ｘｃの生成に用いた３つの公開鍵Ａ，Ｂ，Ｃと、各公開鍵Ａ，Ｂ，Ｃと暗号化復号鍵Ｘａｂ，Ｘｃとを関連付ける演算情報とが含まれる。具体的には、演算情報には、暗号化復号鍵Ｘａｂが、２つの公開鍵Ａ，ＢをＡ→Ｂの順番で二重に暗号化したものであることを示す情報と、暗号化復号鍵Ｘｃが公開鍵Ｃで暗号化したものであることを示す情報とが含まれる。かかる公開鍵情報によれば、光学コード１ａの読取時に、読取装置が、当該公開鍵Ａ，Ｂ，Ｃと対をなす秘密鍵ａ，ｂ，ｃを記憶しているか否かを確認するだけで、当該光学コード１ａを読取可能であるか否かを簡単に判別できる。特に、公開鍵情報には、２つの暗号化復号鍵Ｘａｂ，Ｘｃの暗号化に用いた公開鍵Ａ，Ｂ，Ｃを、暗号化復号鍵Ｘａｂ，Ｘｃごとに特定可能な演算情報を含んでいるから、読取装置は、自己が所持する秘密鍵ａ〜ｃで、どちらの暗号化復号鍵Ｘａｂ，Ｘｃを復号できるのかを、試行錯誤することなく知得できる。また、演算情報には、二重に暗号化された暗号化復号鍵Ｘａｂについて、２つの公開鍵Ａ，Ｂを暗号化に用いた順番が含まれるため、光学コード１ａの読取時に、読取装置は、試行錯誤することなく、２つの秘密鍵ａ，ｂを適切な順番で使用して暗号化復号鍵Ｘａｂを復号できる。
【００５４】
かかる光学コード１ａは、紙に印刷したものを頒布・掲示・ＦＡＸしたり、画像を電子メールで送信したり、ウェブサイトに掲載したりすることによって、集団Ａ〜Ｃの各構成員が読取装置で読取可能な状態に開示すれば、秘匿情報Ｄを開示対象者に伝達することができる。なお、光学コード１ａに記憶された秘匿情報Ｄは、開示対象者以外は読取不能であるため、非開示対象者も含めた形で広範に開示できる。
【００５５】
本実施例の光学コード１ａは、上記実施例１で述べた、読取用プログラムをインストールしたスマートフォン（携帯通信端末）に読み取らせることができる。ここで、本実施例では、各集団Ａ〜Ｃの構成員に、夫々が属する集団Ａ〜Ｃの秘密鍵ａ〜ｃを共有させる形態をとるため、光学コード１ａで秘匿情報Ｄを伝達する準備段階として、各集団Ａ〜Ｃの構成員に、スマートフォンの読取用プログラムを用いて、各集団Ａ〜Ｃが運用するサーバから公開鍵Ａ〜Ｃと秘密鍵ａ〜ｃのペアをダウンロードさせて、スマートフォンの公開鍵−秘密鍵リスト（図６（ｂ）参照）に記憶させる手続きを行う。また、各集団Ａ〜Ｃの構成員に通知した公開鍵Ａ〜Ｃについては、光学コード１ａの作成者（秘匿情報の送り手）が使用できるように、信頼できるサーバから任意の者がダウンロードできる状態にする。なお、集団の秘密鍵を使用する際には、構成員が集団を脱退した場合等に備えて、スマートフォンの読取用プログラムが、所定の認証サーバにアクセスして、当該秘密鍵の使用の可否を確認するよう構成してもよい。すなわち、構成員に与えられた集団毎の識別ＩＤ（学生番号、社員番号や会員番号など）を認証サーバに送信し、有効な識別ＩＤであることが確認された場合にのみ、読取用プログラムが、当該秘匿情報の読取りを実行するよう構成する。この構成は、秘密鍵が集団を構成する者以外に漏洩した場合にも有効である。
【００５６】
このように、本実施例にあっては、秘匿情報Ｄの復号に必要な共通鍵Ｘを、異なる公開鍵Ａ，Ｂ，Ｃで暗号化した複数の暗号化復号鍵Ｘａｂ，Ｘｃを光学コード１ａに記憶させることで、所持する秘密鍵ａ，ｂ，ｃが相違する複数の開示対象者（開示対象者ＡＢと開示対象者Ｃ）を、秘匿情報Ｄの開示対象に設定することができる。また、本実施例の光学コード１ａは、集団Ａ〜Ｃの公開鍵Ａ〜Ｃを用いて作成するものであり、集団Ａ〜Ｃの秘密鍵ａ〜ｃは作成時に不要であるため、秘匿情報Ｄの復号に必要な秘密鍵ａ〜ｃが漏洩し難いという利点がある。また、かかる構成では、１つの光学コード１ａで複数の開示対象者に秘匿情報Ｄを開示しても、開示対象者は、夫々が所持する秘密鍵ａ，ｂ，ｃを、お互いに秘匿しておくことができる。また、かかる光学コード１ａは、開示対象者の数に関わらず、暗号化データＤｘを１つ記憶するだけでよいため、データ量が大きくなりにくいという利点もある。
【００５７】
また、本実施例の光学コード１ａは、集団Ａの構成員の公開鍵Ａと、集団Ｂの構成員の公開鍵Ｂとで、共通鍵Ｘを多重に暗号化した暗号化復号鍵Ｘａｂを記憶するため、複数の集団Ａ，Ｂに重複して属する者を、秘匿情報Ｄの開示対象者ＡＢとして設定できるという利点がある。
【００５８】
なお、上記実施例１，２では、秘匿情報を共通鍵で暗号化して、該共通鍵を暗号化したものを暗号化復号鍵として光学コードに記憶しているが、本発明にあっては、秘匿情報を暗号鍵で暗号化して、該暗号鍵に対応する復号鍵を暗号化したものを、暗号化復号鍵として光学コードに記憶してもよい。また、上記実施例１，２では、公開鍵情報として、公開鍵そのものを記憶しているが、本発明に係る公開鍵情報は、読取側で公開鍵を特定可能な情報であれば、公開鍵そのものを記憶する必要はない。
【実施例３】
【００５９】
次に、実施例１と同様の光学コード１を用いた認証システム及び認証方法について説明する。
本実施例の認証システムは、銀行のオンライン取引システムに組み込まれて、銀行の顧客（口座保有者）が、パソコン等の通信端末を用いてインターネット３０を介してオンライン取引をする際に、通信端末の操作者が口座名義人本人であることを確認するのに用いられる。具体的には、本認証システムは、図１２に示すように、銀行のＷＥＢサーバ２０と、顧客の公開鍵を記憶するデータベースサーバ２１と、顧客がオンライン取引に使用するパソコン２２と、顧客が所有するスマートフォン２３（被認証者の携帯通信端末）とを備えている。ＷＥＢサーバ２０と、パソコン２２と、スマートフォン２３とは夫々インターネット３０に接続されている。
【００６０】
ＷＥＢサーバ２０は、顧客の本人認証も含めて、オンライン取引全般の処理を行うものである。また、このＷＥＢサーバ２０は、実施例１の光学コード１を生成するためのプログラムを備えている。データベースサーバ２１は、口座番号などの顧客情報と関連付けて各顧客の公開鍵を記憶するものであり、ＷＥＢサーバ２０と接続されている。
【００６１】
パソコン２２は、汎用品であり、ブラウザを使用して、インターネット３０を介して銀行のＷＥＢサーバ２０にアクセスして、振込みなどのオンライン取引を実行可能に構成されたものである。かかるパソコン２２は、オンライン取引を行う顧客本人以外も使用する共用物であってもよい。
【００６２】
スマートフォン２３は、カメラ（撮影機能）と、インターネット３０に接続する通信機能と、生体認証機能とを備えている。また、かかるスマートフォン２３には、実施例１と同様の光学コードを介して認証手続を行うための、認証プログラムがインストールされる。この認証プログラムには、実施例１で述べた読取用プログラムが組み込まれている。
【００６３】
かかる認証システムでは、光学コードを用いた認証を行う準備段階として、銀行のデータベースサーバ２１に、顧客の公開鍵を登録する手続きが必要となる。具体的には、本実施例では、図１１の（１）〜（６）のステップを順次実行することにより、データベースサーバ２１に、顧客の公開鍵が登録される。（１）〜（６）の各ステップの詳細は下記の通りである。
（１）認証利用申込
顧客が、スマートフォン２３の認証プログラムを介して、銀行のＷＥＢサーバ２０にアクセスし、光学コードを介した認証の利用申込を行う。この時、スマートフォン２３からは、口座番号等の顧客情報が併せて送信される。
（２）認証用ＩＤ作成
ＷＥＢサーバ２０は、認証の利用申込を受信すると、当該顧客の認証用ＩＤを生成する。
（３）認証用ＩＤ通知
ＷＥＢサーバ２０は、顧客のスマートフォン２３に、生成した認証用ＩＤを送信する。
（４）秘密鍵と公開鍵の生成・記憶
スマートフォン２３の認証プログラムが、認証に用いる秘密鍵と公開鍵のペアを生成し、受信した認証用ＩＤとともに関連付けて公開鍵−秘密鍵リストに記憶する。上述のように、ここで生成された秘密鍵は、秘密鍵は、スマートフォン２３の外部に出力不能な状態で、かつ、認証プログラム以外からは参照不能な状態で記憶される。
（５）公開鍵の通知
スマートフォン２３の認証プログラムが、ＷＥＢサーバ２０に、認証用ＩＤと公開鍵とを送信する。
（６）認証用ＩＤと公開鍵の記憶
ＷＥＢサーバ２０が、顧客のスマートフォン２３から受信した認証用ＩＤと公開鍵を、当該顧客の口座番号等の顧客情報と関連付けてデータベースサーバ２１に記憶する。
【００６４】
本実施例の認証システムでは、図１２の（１）〜（１１）のステップを順次実行することにより、ＷＥＢサーバ２０が、パソコン２２の操作者が顧客本人であることを認証し、当該パソコン２２でのオンライン取引を許可する。
（１）〜（１１）の各ステップの詳細は下記の通りである。
（１）認証要求
顧客が、パソコン２２を操作して銀行のＷＥＢサーバ２０にアクセスし、前記認証用ＩＤを入力して光学コードを介した認証を要求する。
（２）公開鍵の読出し
認証要求を受信したＷＥＢサーバ２０が、データベースサーバ２１から、受信した認証用ＩＤに関連付けられた公開鍵や顧客情報を読み出す。
（３）認証情報の生成
ＷＥＢサーバ２０が、顧客の本人認証に使用する認証情報を生成する。認証情報には、ＷＥＢサーバ２０の認証用ウェブサイトのアドレスと、認証用のワンタイムパスワードを含んでいる。
（４）光学コードの生成
ＷＥＢサーバ２０が、前記公開鍵を用いて、前記認証情報を秘匿情報とする、実施例１と同様の光学コードを生成する。すなわち、この光学コードは、認証を要求した顧客のみを開示対象者とするものであり、光学コードに記憶された認証情報は、認証を要求した顧客の秘密鍵を記憶するスマートフォン２３のみで読み出すことができる。
（５）光学コードの送信
ＷＥＢサーバ２０が、認証要求を送信したパソコン２２に、光学コードの画像データを送信する。
（６）光学コードの表示
前記パソコン２２が、ＷＥＢサーバ２０から受信した情報に基づいて、表示画面に前記光学コードを表示するとともに、当該光学コードを読み取ってＷＥＢサーバ２０にアクセスするよう促すメッセージを表示画面に表示する。
（７）光学コードの読取り
顧客が、スマートフォン２３を操作し、前記認証プログラムによって、パソコン２２の表示画面に表示された光学コードを読み取る。
（８）認証情報に基づく認証手続
スマートフォン２３の認証プログラムが、実施例１で説明した読取方法と同様にして、秘密鍵を用いて光学コードに記憶された認証情報を復号し、当該認証情報に基づいて、認証用ウェブサイトにアクセスして、認証情報に含まれるワンタイムパスワードを送信する。
（９）認証
ＷＥＢサーバ２０が、認証用ウェブサイトにアクセスしたスマートフォン２３からワンタイムパスワードを受信した場合には、認証成功と判定する。一方、ワンタイムパスワードが正しくない場合や、パソコン２２に光学コードを送信してから一定時間以上、認証用ウェブサイトにアクセスされない場合は認証失敗と判定する。
（１０）認証結果の通知
ＷＥＢサーバ２０が、前記認証の結果をパソコン２２に送信して、当該結果を表示画面に表示させる。また、認証結果が「成功」である場合は、パソコン２２を介したオンライン取引を許可する。
（１１）オンライン取引
パソコン２２に通知された認証結果が「成功」である場合は、顧客が、当該パソコン２２を操作して、オンライン取引を開始する。
【００６５】
以上のように、本実施例の認証システムでは、顧客のスマートフォン２３を使用することで、パソコン２２にパスワード等を入力させることなく、当該パソコン２２の操作者が顧客本人であることを銀行側で認証できる。したがって、かかる認証システムを用いれば、パソコン２２のセキュリティが完全でない場合であっても、オンライン取引に際して、本人認証を安全かつ確実に行うことができる。
【００６６】
また、かかる認証システムでは、光学コードの読取りに必要な秘密鍵が、顧客のスマートフォン２３で生成されて、外部に出力されることがないため、顧客の秘密鍵が漏洩するおそれが低い。このため、かかる認証システムでは、ＷＥＢサーバ２０が生成した認証情報を、他に漏洩させることなく、開示対象者である顧客に確実に伝達できる。
【００６７】
また、かかる認証システムでは、スマートフォン２３は、生体認証機能を具備しているから、生体認証機能によって、スマートフォン２３を本人しか使用できないようにロックしておけば、第三者による悪用を防止できる。さらに言えば、スマートフォン２３は、顧客が日常的に携帯するものであるから、盗難・紛失の場合には、顧客は速やかに気づいて秘密鍵が悪用されないよう対応策をとることができる。
【実施例４】
【００６８】
本実施例は、実施例３の認証システム及び認証方法を一部変更したものである。本実施例の認証システムは、クレジットカードの決済システムに組み込まれて、店舗でクレジットカード決済をする際に、クレジットカードの所持者がカードの名義人であることを確認するのに用いられる。具体的には、本認証システムは、図１３に示すように、クレジットカード会社のＷＥＢサーバ２０ａと、クレジットカードの会員（以下、会員と略す。）の公開鍵を記憶するデータベースサーバ２１ａと、店舗に設置されたＰＯＳ端末２４と、クレジットカード２５と、会員が所有するスマートフォン２３とを備えている。ここで、ＷＥＢサーバ２０ａと、ＰＯＳ端末２４と、スマートフォン２３とは夫々インターネットに接続されている。
【００６９】
ＷＥＢサーバ２０ａは、クレジットカード会社に設置され、会員（被認証者）の本人認証も含めて、クレジットカード決済全般の処理を行うものである。ＷＥＢサーバ２０ａの認証機能は、後述するように上記実施例３のＷＥＢサーバ２０と略同様のものであり、本ＷＥＢサーバ２０ａも、実施例１の光学コード１を生成するためのプログラムを備えている。また、データベースサーバ２１ａは、カード番号などの会員情報と関連付けて各会員の公開鍵を記憶するものであり、ＷＥＢサーバ２０ａと接続されている。
【００７０】
ＰＯＳ端末２４は、スーパーマーケットやコンビニエンスストア等に設置されるものであり、クレジットカードに記録されたクレジットカード情報を磁気方式又は非接触方式で読み取り可能なカードリーダーを備えるとともに、光学コードを表示可能な汎用の表示画面を備えている。
【００７１】
スマートフォン２３は、実施例３の認証システムで用いられるものと略同じものである。また、クレジットカード２５は、既存の磁気カード又はＩＣカードからなるものである。これらについての詳細な説明は省略する。
【００７２】
かかる認証システムでは、光学コードを用いた認証を行う準備段階として、クレジットカード会社のデータベースサーバ２１ａに、光学コードを用いた認証を行う会員の公開鍵を登録する手続きが必要となる。この公開鍵の登録手続きは、実施例３の認証システム（図１１参照）と略同じであるため、詳細な説明は省略する。
【００７３】
かかる認証システム（決済システム）では、図１３の（１）〜（１３）のステップを順次実行することにより、ＷＥＢサーバ２０ａで会員の本人認証を行ってから決済を行う。（１）〜（１３）の各ステップの詳細は下記の通りである。
（１）クレジットカード情報の読取り
店舗の店員が、ＰＯＳ端末２４のカードリーダーを用いて、会員のクレジットカードに記憶されたカード情報を読み取る。
（２）決済要求
ＰＯＳ端末２４が、決済金額やカード情報などの決済に必要な情報をＷＥＢサーバ２０ａに送信するとともに、同ＷＥＢサーバ２０ａに光学コードを介した認証を要求する。
（３）公開鍵の読出し
認証要求を受信したＷＥＢサーバ２０ａが、データベースサーバ２１ａから、受信したカード情報に関連付けられた公開鍵や会員情報を読み出す。
（４）認証情報の生成
ＷＥＢサーバ２０ａが、会員の認証に使用する認証情報を生成する。認証情報は実施例３と同様である。
（５）光学コードの生成
ＷＥＢサーバ２０ａが、前記公開鍵を用いて、前記認証情報を秘匿情報とする光学コードを生成する。かかるステップは実施例３と同様である。
（６）光学コードの送信
ＷＥＢサーバ２０ａが、認証要求を送信したＰＯＳ端末２４に、光学コードの画像データを送信する。
（７）光学コードの表示
前記ＰＯＳ端末２４が、ＷＥＢサーバ２０ａから受信した情報に基づいて、表示画面に前記光学コードを表示するとともに、当該光学コードを読み取ってＷＥＢサーバ２０ａにアクセスするよう促すメッセージを表示画面に表示する。
（８）光学コードの読取り
会員が、スマートフォン２３を操作し、前記認証プログラムによって、ＰＯＳ端末２４の表示画面に表示された光学コードを読み取る。
（９）認証情報に基づく認証手続
スマートフォン２３が、秘密鍵を用いて光学コードに記憶された認証情報を復号し、当該認証情報に基づいて、認証用ウェブサイトにアクセスして、認証情報に含まれるワンタイムパスワードを送信する。かかるステップは実施例３と同様である。
（１０）認証
ＷＥＢサーバ２０ａが、認証用ウェブサイトにアクセスした端末からワンタイムパスワードを受信した場合には、認証成功と判定する。一方、ワンタイムパスワードが正しくない場合や、ＰＯＳ端末２４に光学コードを送信してから一定時間以上、認証用ウェブサイトにアクセスされない場合は認証失敗と判定する。
（１１）決済
ＷＥＢサーバ２０ａは、認証に成功した場合は、ＰＯＳ端末２４から送信された決済要求に従って決済を行う。
（１２）結果の通知
ＷＥＢサーバ２０ａは、認証と決済の結果をＰＯＳ端末２４に送信する。
（１３）結果の通知
ＰＯＳ端末２４が、ＷＥＢサーバ２０ａから受信した認証と決済の結果を表示画面に表示する。また、決済が完了した場合は、領収書やカード決済情報の控えを発行する。
【００７４】
以上のように、本実施例の認証システム（決済システム）によれば、会員（被認証者）のスマートフォン２３を使用することで、署名による照合やＰＩＮコードを入力することなくクレジットカード決済時に本人認証を行うことができるから、クレジットカード決済時に行われている従来の認証方法に比べて、安全かつ確実な本人認証が可能となる。
【００７５】
なお、実施例３，４の認証システム及び認証方法は、銀行のオンライン取引や、クレジットカード決済に利用するものであるが、本発明の認証システムや認証方法は、かかる用途に限らず、入場券や株主優待券、商品券、トラベラーズチェックなどの金券であって、使用者が記名者に限定された記名式のものについて、それらの使用時に記名者の本人確認を行う用途にも適用できる。この場合、被認証者は金券の記名者となり、パソコン２２やＰＯＳ端末２４に替えて金券の確認用端末が使用され、また、ＷＥＢサーバとして金券管理サーバが用いられることとなる。
【００７６】
また、実施例３，４の認証システム及び認証方法では、ＷＥＢサーバ２０，２０ａが光学コードの画像データを作成・送信して、パソコン２２やＰＯＳ端末２４が当該光学コードを表示画面に表示するよう構成されているが、かかる構成に替えて、ＷＥＢサーバ２０，２０ａが、光学コードに記憶する格納データを作成・送信し、当該格納データを受信したパソコン２２やＰＯＳ端末２４が、当該格納データを記憶する光学コードを生成して、表示画面に表示するようにしてもよい。格納データに含まれる暗号化データは、開示対象者の秘密鍵がなければ読取不能であるため、格納データそのものをパソコン２２やＰＯＳ端末２４に送信しても、情報が漏洩するおそれはない。
【実施例５】
【００７７】
本実施例は、本発明を、多値化二次元コードに適用したものである。
本実施例の多値化二次元コード２は、ＱＲコード（登録商標）と互換性を有するものである。具体的には、図１４（ａ）に示すように、多値化二次元コード２は、正方形のモジュール４を、縦横に２１個ずつマトリクス状に配置してなるものである。この多値化二次元コード２のモジュール４は、明色と暗色のみで構成されるものではないが、その基本構造は、ＱＲコードに準拠したものとなっている。すなわち、図１４（ｂ）に示すように、多値化二次元コード２は、ＱＲコードと同様に、機能パターン７と符号化領域８とからなる。そして、機能パターン７は、位置検出パターン１１、分離パターン１２、タイミングパターン１３などによって構成され、また、符号化領域８は、データコード領域１４と形式情報コード領域１５とによって構成される。そして、データコード領域１４は８個のモジュールからなるシンボル１６に区画されており、１つのシンボル１６の明暗パターンによって１つのデータコード語又は、リードソロモン符号である誤り訂正語が記録されるよう構成される。これらの構成は、実施例１の光学コード１と同じであり、また、ＱＲコードのＪＩＳ規格（ＪＩＳ  Ｘ  ０５１０：２００４）に準拠したものであるため詳細な説明は省略する。
【００７８】
モノクロ画像であるため図１４（ａ）では十分に表されていないが、多値化二次元コード２を構成する各モジュール４は、ＲＧＢ値の異なる複数種類の基準色のいずれかに配色される。図１５に示すように、本実施例では、基準色は１６種類存在し、各基準色に対して、２進数表記で００００から１１１１までの基準色コードが付されており、この４ビットの基準色コードが、各モジュール４に記録される４ビットのデータを表すよう構成される。このように、本実施例の多値化二次元コード２にあっては、符号化領域８の各モジュール４が１６種類の基準色で配色されるため、明暗二色の二次元コードでは１モジュール当たり１ビットの情報しか記録できないのに対し、本実施例の多値化二次元コード２では１モジュール当たり４ビットの情報を記録できる。すなわち、本実施例の多値化二次元コード２では、ＱＲコードの４倍の記憶密度が実現される。
【００７９】
本実施例の多値化二次元コード２は、各モジュール４が記憶する４ビットのデータ列を、同じ位置のビット毎の集合とすることで、４層のデータ領域を形成している。すなわち、１モジュール４に記録される４ビットのビット列のうち、最上位のビットが第一層のデータ領域を形成し、二番目のビットが第二層のデータ領域を形成し、三番目のビットが第三層のデータ領域を形成し、最終ビットが第四層のデータ領域を形成する。ここで、各層のデータ領域が記憶するデータは、１モジュールに「０」と「１」のいずれかを記憶するものであり、データ上のＱＲコードと同じである。すなわち、多値化二次元コード２は、図１６に示すように、データ上のＱＲコード３ａ，３ｂ，３ｃ，３ｄｙを４つ積層したデータ構造をなしている。かかるデータ上のＱＲコード３ａ，３ｂ，３ｃ，３ｄｙは、多値化二次元コード２ではと同じモジュール数であり、多値化二次元コード２のモジュール４の色は、４つのＱＲコード３ａ，３ｂ，３ｃ，３ｄｙの、同位置にあるモジュールの色を表す。例えば、ｍ行ｎ列のモジュールの色が、第一層のＱＲコード３ａで「１」（黒）、第二層のＱＲコード３ｂで「０」（白）、第三層のＱＲコード３ｃで「１」（黒）、第四層のＱＲコード３ｄｙで「０」（白）の場合、多値化二次元コード２のｍ行ｎ列のモジュールは、基準色コードが「１０１０」の色となる。
【００８０】
本実施例の多値化二次元コード２は、実施例１の光学コードと同様に、特定の個人Ｐを秘匿情報Ｄの開示対象者とするものであり、多値化二次元コード２には、秘匿情報Ｄを暗号化した暗号化データＤｙと、秘匿情報Ｄの暗号化に用いた共通鍵Ｙを公開鍵Ｐで暗号化した暗号化復号鍵Ｙｐと、公開鍵情報（公開鍵Ｐ）とが記憶される。そして、多値化二次元コード２に記憶される各データは、図１７に示すように、４層のＱＲコード３ａ，３ｂ，３ｃ，３ｄｙのデータコード領域に分けて記録される。具体的には、インデックス部のデータが第一層のＱＲコード３ａに、公開鍵情報が第二層のＱＲコード３ｂに、暗号化復号鍵Ｙｐが第三層のＱＲコード３ｃに、そして、暗号化データＤｙが第四層のＱＲコード３ｄｙに記録される。ここで、本実施例の多値化二次元コード２にあっては、暗号化データＤｙを記録する第四層のＱＲコード３ｄｙについては、暗号化マスクパターンを用いた秘匿情報Ｄの暗号化処理が行われている。暗号化処理については後述する。
【００８１】
以下に、上記多値化二次元コード２の生成方法について説明する。
図１８は、上記多値化二次元コード２を生成するフローチャートである。まず、ステップＳ１００では、多値化二次元コード２に記録すべき４セットのデータの準備を行う。４セットのデータとは、図１７に示すように、４層のＱＲコード３ａ，３ｂ，３ｃ，３ｄｙに記録する、インデックス部のデータと、公開鍵情報（公開鍵Ｐ）と、暗号化復号鍵Ｙｐと、秘匿情報Ｄである。なお、この段階では、秘匿情報Ｄは暗号化されていない。
【００８２】
次のステップＳ１１０では、通常のＱＲコードの生成手続に則って、４セットのデータを夫々記憶する４つのＱＲコード３ａ，３ｂ，３ｃ，３ｄのデータを生成する。なお、これらのデータ上のＱＲコード３ａ〜３ｄは、相互に重ね合わせて合成し得るように、全て同じバージョンのＱＲコードの規格で生成される。
【００８３】
次のステップＳ１２０では、秘匿情報Ｄを記録する第四層のＱＲコード３ｄのデータについて、暗号化マスクパターンを用いた暗号化マスク処理を実行し、秘匿情報Ｄが暗号化されたＱＲコード３ｄｙを生成する。すなわち、本実施例では、かかるＱＲコード３ｄｙが暗号化データＤｙに相当する。暗号化マスク処理については後述する。
【００８４】
ステップＳ１２０までの手続によって、インデックス部のデータを記録する第一層のＱＲコード３ａと、公開鍵情報（公開鍵Ｐ）を記録する第二層のＱＲコード３ｂと、暗号化復号鍵Ｙｐを記録する第三層のＱＲコード３ｃと、秘匿情報Ｄを記録する暗号化された第四層のＱＲコード３ｄｙのデータが得られる。これらのＱＲコード３ａ，３ｂ，３ｃ，３ｄｙについて、同じ位置のモジュールを重ねて夫々の色を合成し、上記多値化二次元コード２のモジュール４の配色パターンに変換するのがステップＳ２００の符号化処理である。
【００８５】
符号化処理Ｓ２００では、ＱＲコード３ａ，３ｂ，３ｃ，３ｄｙを合成することにより、多値化二次元コード２の各モジュール４の配色を決定する。具体的には、生成する多値化二次元コード２の一辺のモジュール数をＮとすると、多値化二次元コード２全体では、Ｎ２個のモジュール４が存在し、ＱＲコード３ａ，３ｂ，３ｃ，３ｄｙにも、Ｎ２個のモジュールの配色パターンが存在する。このＮ２個のモジュール４全てについての配色を１つずつ決定する。より具体的には、ＱＲコードの、縦のモジュールのインデックスをＩ，横のモジュールのインデックスをＪとすると、Ｉ＝１からＮ、Ｊ＝１からＮまでの組合せで全てのモジュールを表現できる。Ｉ，Ｊで示されるモジュールの色をＣ（Ｉ，Ｊ）で表現する。また、ＱＲコード３ａ，３ｂ，３ｃ，３ｄｙをＫで示すとすると、Ｃ（Ｉ，Ｊ，Ｋ）で示すことが可能となる。ここで、Ｋは０から３である。
【００８６】
図１９は、符号化処理の処理内容を示したフローチャートである。ステップＳ２１０では、ＩとＪで指定されるモジュール４について、それが機能パターン７を構成するモジュール４であるか否かを判定する。そして、機能パターン７を構成するモジュール４であると判定した場合は、ステップＳ２２０で、当該モジュール４の位置に基づいて配色を決定する。一方、符号化領域８を構成するモジュール４であると判定した場合は、次のステップＳ２３０でＱＲコード３ａ，３ｂ，３ｃ，３ｄｙの配色パターンを読み込む。具体的には、Ｃ（Ｉ，Ｊ，Ｋ）（Ｋは０から３）の配色データを読み込み、各モジュールが０か１（白か黒）かを識別する。次に、ステップＳ２４０では、ＱＲコード３ａ，３ｂ，３ｃ，３ｄｙの当該モジュールの配色パターンを結合する。具体的には、例えば白白黒白（００１０）のように、各層のＱＲコード３ａ，３ｂ，３ｃ，３ｄｙの当該モジュールの色の組合せを作る。この４ビットのビット列からなる色の組合せが、１個のモジュール４に記録する４層のデータの記録単位となる。次に、ステップＳ２５０では、モジュール４の配色を決定するための符号化テーブルの選択を行う。符号化テーブルは、図２０に示すように、前記色の組合せと当該モジュール４の基準色コードとを１対１に対応付けしたものである。そして、ステップＳ２６０では、選択した符号化テーブルを用いて、記録単位となる４つの色の組合せからモジュール４の配色を決定する。ステップＳ２７０では、すべてのモジュール４について、上記の処理が完了したかを判定し、すべてのモジュール４の処理が完了した場合は符号化処理を終了する。
【００８７】
このように、本実施例の多値化二次元コード２は、インデックス部のデータと、公開鍵情報（公開鍵Ｐ）と、暗号化復号鍵Ｙｐと、秘匿情報Ｄとを記録する４つのデータ上のＱＲコード３ａ，３ｂ，３ｃ，３ｄｙを生成し、それらのＱＲコード３ａ，３ｂ，３ｃ，３ｄｙを合成して多値化二次元コード２の配色を決定することによって生成される。
【００８８】
以下に、上記暗号化マスク処理について説明する。
暗号化マスク処理は、既存のＱＲコードで、モジュールの切出しを容易とするために実行されるマスク処理を、ランダムなマスクパターンで実行するものである。暗号化マスク処理では、ランダムに生成された２５６ビットの共通鍵Ｙから暗号化マスクパターンを生成し、当該マスクパターンを、秘匿情報Ｄを記録するＱＲコード３ｄのデータコード領域と重ねてＸＯＲ演算を行って、該データコード領域１４の一部モジュールの色を反転させる。具体的には、暗号化マスクパターンの「１（暗色）」と重なる箇所について、データコード領域のモジュールを「０（明色）」から「１（暗色）」、または「１（暗色）」から「０（明色）」に変換する。暗号化マスクパターンは、共通鍵Ｙのビットパターンを、処理対象のデータコード領域の形状と一致するようにマトリクス状に配列することで生成される。
【００８９】
本実施例では、暗号化マスク処理を行うＱＲコード３ｄは、データコード領域が、２０８ビット（８ビット×２６シンボル）であるため、共通鍵Ｙの先頭から２０８ビットを所定の順序でマトリクス状に配列することで暗号化マスクパターンが生成される。データコード領域１４が２５６ビット以上である場合は、共通鍵Ｙのビットパターンを繰り返し使用することで、暗号化マスクパターンを生成する。そして、本実施例では、暗号化マスクパターンを生成した共通鍵Ｙを、開示対象者Ｐの公開鍵Ｐで暗号化したものが暗号化復号鍵Ｙｐとして記憶される。
【００９０】
本実施例の多値化二次元コード２に記憶された秘匿情報Ｄは、読取用プログラムをインストールしたスマートフォン等を読取装置として用いて、図２１に示す、Ｓ３０１〜Ｓ３１０のステップを順次実行することで読み取ることができる。以下、図２１中の各ステップＳ３０１〜Ｓ３１０について説明する。
ステップＳ３０１：画像入力、画像抽出
多値化二次元コード２を含む画像を撮影し、多値化二次元コード２に含まれる機能パターン７を基に多値化二次元コード２を検出し、多値化二次元コード２の画像を抽出する。
ステップＳ３０２：モジュール色の識別
多値化二次元コード２の画像から、符号化領域８の各モジュール４の画像を切り出し、モジュール４が１６種類のどの基準色であるかを識別し、符号化領域８の全てのモジュール４の色データを得る。
ステップＳ３０３：色の復号
予め記憶された復号テーブルに基づいて、識別した各モジュール４の基準色を４ビットのデータ列に復号する。復号テーブルは、多値化二次元コード２の生成時に使用した符号化テーブル（図２０参照）と略同内容のものであり、かかる復号テーブルによって、各モジュール４の基準色コードは、黒黒白黒（１１０１）などの、モジュール単位で記録された４つの色の組合せ（４ビットのビット列）に変換される。
ステップＳ３０４：ＱＲコードデータの結合
モジュール４ごとに復号した４ビットのデータ列を同じ位置のビットごとに結合して、インデックス部のデータと、公開鍵情報（公開鍵Ｐ）と、暗号化復号鍵Ｙｐと、秘匿情報Ｄとを記録する４つのＱＲコード３ａ，３ｂ，３ｃ，３ｄｙのデータを得る。
ステップＳ３０５：非暗号化ＱＲコードの復号
暗号化マスク処理が施されていない３つのＱＲコード３ａ，３ｂ，３ｃに記憶されたインデックス部のデータと、公開鍵情報（公開鍵Ｐ）と、暗号化復号鍵Ｙｐを復号する。
ステップＳ３０６：公開鍵情報と暗号化復号鍵の読出し
インデックス部のデータに基づいて、公開鍵Ｐと暗号化復号鍵Ｙｐとを読み出す。
ステップＳ３０７：秘密鍵の保有の確認
公開鍵情報に含まれる公開鍵Ｐと対をなす秘密鍵ｐを公開鍵−秘密鍵リストに記憶しているか否かを判定する。秘密鍵ｐを保有していないと判定した場合は秘匿情報Ｄを読取不能であるため、その旨を表示画面に表示して、多値化二次元コード２の読取処理を途中終了する。秘密鍵ｐを保有していると判定した場合は、ステップＳ３０８の処理に進む。
ステップＳ３０８：暗号化復号鍵の復号
公開鍵Ｐと対をなす秘密鍵ｐを用いて、暗号化復号鍵Ｙｐを共通鍵Ｙに復号する。
ステップＳ３０９：暗号化マスク復号処理
復号した共通鍵ＹをＱＲコード３ｄｙのデータコード領域に合わせてマトリクス状に配置することで、多値化二次元コード２の生成時に使用した暗号化マスクパターンを生成する。そして、生成した暗号化マスクパターンを、ＱＲコード３ｄｙのデータコード領域と重ねてＸＯＲ演算を行う。かかる処理により、秘匿情報Ｄを記憶する元のＱＲコード３ｄが復元される。
ステップＳ３１０：秘匿情報の読出し
通常のＱＲコードの読取手順に従って、復元されたＱＲコード３ｄから秘匿情報Ｄを読み出す。
【００９１】
以上のように、本実施例は、本発明を多値化二次元コード２に適用したものであるから、同じモジュール数の実施例１の光学コード１に比べて多量のデータを記憶できる。したがって、公開鍵情報や暗号化復号鍵を比較的多く記憶する場合でも、光学コードを大型化することなく、秘匿情報を記憶する領域を確保できるという利点がある。
【００９２】
また、本実施例にあっては、秘匿情報Ｄを暗号化マスク処理によって暗号化しているため、実施例１の光学コード１に比べて、暗号化データが解読されにくいという利点がある。すなわち、暗号化マスクパターンは、共通鍵Ｙのランダムなビットパターンから生成されるため、ＱＲコード３ｄのデータコード領域の個々のモジュールの色が、暗号化マスクパターンとのＸＯＲ演算で反転する確率は１／２である。ＱＲコードには、８個のモジュールを訂正単位（シンボル）とする誤り訂正機能が組み込まれているが、暗号化マスク処理で、８個のモジュールの色が反転されず全て維持される確率は１／２５６であるから、暗号化マスク処理によって、平均９９％以上のシンボルは、少なくとも１個のモジュール４の色が反転することとなる。したがって、本実施例の多値化二次元コード２は、上記暗号化マスク復号処理をすることなく、暗号化されたＱＲコード３ｄｙのデータコード語の復号を試みた場合、略全てのシンボルで読み誤りが発生することとなる。ＱＲコードの誤り訂正機能は、最大の訂正能力の場合でも、全体の略３０％以上のシンボルに誤りが生じると訂正不能となるため、暗号化マスク復号処理を省いて、通常のＱＲコードと同様の読取方法を行った場合は、誤り訂正処理で訂正不能となって読取処理が途中終了することとなる。このように、暗号化マスク処理によれば、データコード領域１４を構成する略全てのシンボル１６で１個以上のモジュール４の色が反転するため、暗号化マスク処理による暗号化が、誤り訂正機能によって訂正されることはない。
【００９３】
また、上述のように、暗号化マスク復号処理をすることなく、既存のＱＲコードの読取方法で、暗号化されたＱＲコード３ｄｙの読取りを試みた場合、誤り訂正処理で誤り訂正機能を上回る誤りが検知されて、多値化二次元コード２の読取りが途中終了してしまう。従来の暗号化方法であれば、既存の二次元コードの読取方法で暗号化データが得られるため、汎用の暗号解読プログラムで暗号化データの復号を試みることができるが、本実施例では、暗号化マスク復号処理をしなければ、データを読み出すことができないため、汎用の暗号解読プログラムによる攻撃に強いという利点がある。
【００９４】
また、本実施例の多値化二次元コード２にあって、暗号化マスク処理で用いる暗号化マスクパターンは、２２０８通り存在する。これは総当たり攻撃によって正しい暗号化マスクパターンを適用される可能性は無視できるほど小さい。なお、多値化二次元コード２は、リードソロモン符号による誤り訂正機能を備えているため、完全に正しい暗号化マスクパターンでなくても、誤り訂正機能により復号できる場合があるが、２２０８通りの暗号化マスクパターンであれば、誤り訂正機能の影響を加味しても、十分な計量的安全性を確保できる。なお、本実施例は、データコード領域１４の容量が２０８ビットであるため、暗号化マスクパターンが２２０８通りであるが、共通鍵Ｙは２５６ビットであるため、データコード領域の容量が２５６ビット以上の二次元コードの場合は、２２５６通りの暗号化マスクパターンを適用できるため、計量的安全性はさらに高くなる。このように、本実施例の多値化二次元コード２は十分な秘匿性を有している。
【００９５】
また、上記多値化二次元コード２の読取処理では、誤り訂正処理をパスしてデータコード語が復号されるのは、リードソロモン符号の誤り訂正で誤りを検出しなかった場合と、検出した誤りを訂正できた場合である。ここで、本実施例の多値化二次元コード２に対して、共通鍵Ｙを順次試していく総当たり攻撃を行った場合、暗号化マスクパターンとは異なるマスクパターンを適用した場合でも、誤り訂正処理をパスして、元データと異なるデータが復号される場合が存在する。本実施例の多値化二次元コード２では、訂正能力を最も高く設定する場合でも、データコード領域１４に、２７２とおり（９シンボル＝７２ビット）のデータコード語を記録可能であるため、総当たり攻撃では、正しいデータ以外にも、２７２−１とおりのデータが復号される可能性がある。このように、本実施例の多値化二次元コード２では、共通鍵Ｙを順次試す総当たり攻撃を試みたとしても、誤ったデータが復号される可能性が非常に高いため、正しいデータが復号がなされる可能性が極めて低く、安全性が高い。この安全性は、正しい復号解を得るのに莫大な時間かかる計算量的安全性に基づくものではなく、パターンマスク手法の情報理論的安全性である。
【００９６】
なお、本発明の実施形態は、上記実施例の形態に限定されず適宜変更可能である。例えば、上記実施例の光学コード１は、最も一般的なＱＲコードに本発明を適用した例であるが、本発明はＱＲコード以外の光学コードにも適用可能である。また、上記実施例の多値化二次元コード２は、モジュールを多種類の基準色で配色したものであるが、本発明は、モジュールを微細な領域に細分して、サブモジュール単位で配色する多値化二次元コードにも適用できる。
【符号の説明】
【００９７】
１，１ａ  光学コード
２  多値化二次元コード
４  モジュール
４ａ 明色モジュール
４ｂ 暗色モジュール
１４  データコード領域
２０，２０ａ  ＷＥＢサーバ
２１，２１ａ  データベースサーバ
２２  パソコン
２３  スマートフォン
２４  ＰＯＳ端末
２５  クレジットカード
３０  インターネット
【図１】
2015213288.tif 000003
【図２】
2015213288.tif 000004
【図３】
2015213288.tif 000005
【図４】
2015213288.tif 000006
【図５】
2015213288.tif 000007
【図６】
2015213288.tif 000008
【図７】
2015213288.tif 000009
【図８】
2015213288.tif 000010
【図９】
2015213288.tif 000011
【図１０】
2015213288.tif 000012
【図１１】
2015213288.tif 000013
【図１２】
2015213288.tif 000014
【図１３】
2015213288.tif 000015
【図１４】
2015213288.tif 000016
【図１５】
2015213288.tif 000017
【図１６】
2015213288.tif 000018
【図１７】
2015213288.tif 000019
【図１８】
2015213288.tif 000020
【図１９】
2015213288.tif 000021
【図２０】
2015213288.tif 000022
【図２１】
2015213288.tif 000023