(57)【特許請求の範囲】
【請求項１】
光学的にコード化された光学的情報を記録した情報コードをデコードする読取手段と、
暗号化された被暗号化データを復号できる復号鍵を用いてこの被暗号化データを解読する暗号解読手段と、
有線または無線による電気通信回線を介してホストコンピュータと情報通信可能な情報通信手段と、情報処理手段と、を備え、
前記情報処理手段は、
前記被暗号化データに関する一の暗証情報を前記ホストコンピュータから前記情報通信手段により取得する第１処理；
前記光学的情報として他の暗証情報を記録した第１の情報コードから前記読取手段によりこの他の暗証情報をデコードする第２処理；
前記第１処理により取得された前記一の暗証情報と前記第２処理によりデコードされた前記他の暗証情報とが一致するか否かを判断する第３処理；
前記第３処理により前記一の暗証情報と前記他の暗証情報とが一致すると判断された場合、前記光学的情報として前記被暗号化データを記録した第２の情報コードから前記読取手段により前記被暗号化データをデコードする第４処理；
前記第４処理によりデコードされた前記被暗号化データを前記復号鍵を用いて前記暗号解読手段により解読する第５処理；
を行うことを特徴とする光学的情報読取装置。
【請求項２】
前記情報処理手段は、前記一の暗証情報と前記他の暗証情報とが一致しない場合、
当該光学的情報読取装置が備える前記復号鍵を消去もしくは無効にし、または前記暗号解読手段の機能を失わせる第６処理を行うことを特徴とする請求項１記載の光学的情報読取装置。
【請求項３】
前記一の暗証情報が暗号化された暗号化暗証情報である場合、前記情報処理手段は、
前記第３処理の前処理として、
前記暗号化暗証情報を復号できる暗証情報復号鍵を用いて前記暗号化暗証情報を解読する第３’処理を行うことを特徴とする請求項１または２記載の光学的情報読取装置。
【請求項４】
前記暗号化暗証情報は、前記ホストコンピュータから前記情報通信手段により取得するごとに異なる使い捨て復号鍵を用いなければ解読できないものであり、
前記情報処理手段は、前記使い捨て復号鍵に対応した前記暗証情報復号鍵を生成する第７処理を行うことを特徴とする請求項３記載の光学的情報読取装置。
【請求項５】
前記情報処理手段は、前記第７処理として、
前記暗号化暗証情報が前記ホストコンピュータから当該光学的情報読取装置に送られる回数に関する情報に基づいて前記暗証情報復号鍵を生成すること特徴とする請求項４記載の光学的情報読取装置。
【請求項６】
前記情報処理手段は、前記第７処理として、
前記暗号化暗証情報が前記ホストコンピュータから当該光学的情報読取装置に送られる時間に関する情報に基づいて前記暗証情報復号鍵を生成することを特徴とする請求項４記載の光学的情報読取装置。
【請求項７】
前記暗号解読手段が複数存在し、これら複数の暗号解読手段に対応して前記復号鍵が複数存在する場合、前記情報処理手段は、
前記第５処理の前処理として、
前記複数の暗号解読手段から一の暗号解読手段を特定可能な暗号解読情報を記録した第３の情報コードから前記読取手段により前記暗号解読情報をデコードする第５’処理を行うことを特徴とする請求項１〜６のいずれか一項に記載の光学的情報読取装置。
【請求項８】
前記暗号解読情報は、前記他の暗証情報が記録されている前記第１の情報コードに記録されており、前記第１の情報コードと前記第３の情報コードとは同じ情報コードであることを特徴とする請求項７記載の光学的情報読取装置。
【請求項９】
自己を特定可能な固有識別情報を有する請求項１記載の光学的情報読取装置と、前記一の暗証情報を送るべき光学的情報読取装置が有する前記固有識別情報を登録した登録装置情報を備えるホストコンピュータと、を含む光学的情報読取システムであって、
前記ホストコンピュータは、
前記光学的情報読取装置または前記光学的情報読取装置以外の他の光学的情報読取装置から、前記固有識別情報を取得する第Ｈ１処理と、
前記第Ｈ１処理により取得した前記固有識別情報が前記登録装置情報に登録されているものであるか否かを判断する第Ｈ２処理と、
前記第Ｈ２処理により前記固有識別情報が前記登録装置情報に登録されているものであると判断した場合、前記一の暗証情報を当該光学的情報読取装置に送り、前記固有識別情報が前記登録装置情報に登録されているものでないと判断した場合、前記一の暗証情報を当該光学的情報読取装置に送らない第Ｈ３処理と、を行い、
前記光学的情報読取装置は、前記情報処理手段により、
前記第Ｈ１処理前に前記固有識別情報を前記ホストコンピュータに送る第Ｔ１処理と、
前記第Ｈ３処理後に前記第１処理として前記一の暗証情報を前記ホストコンピュータから取得する第Ｔ２処理と、を行うことを特徴とする光学的情報読取システム。
【請求項１０】
前記ホストコンピュータのホスト側情報処理手段は、前記第Ｈ３処理として、
前記第Ｈ２処理により前記固有識別情報が前記登録装置情報に登録されているものでないと判断した場合、前記一の暗証情報を当該光学的情報読取装置に送ることなく、当該光学的情報読取装置に対し当該光学的情報読取装置が備える前記復号鍵を消去もしくは無効にすること、または前記暗号解読手段の機能を失わせることを要求する消失コマンドを前記光学的情報読取装置に送り、
前記光学的情報読取装置は、前記情報処理手段により、
前記ホストコンピュータから前記消失コマンドを取得した場合、前記復号鍵を消去もしくは無効にし、または前記暗号解読手段の機能を失わせる第Ｔ３処理を行うことを特徴とする請求項９記載の光学的情報読取システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化された情報コードをデコードする光学的情報読取装置および光学的情報読取システムに関するものである。
【背景技術】
【０００２】
暗号化された情報コードをデコードする光学的情報読取装置または光学的情報読取システムとして、例えば、下記特許文献１に開示される「認証システムおよびコード作成装置および２次元コード」がある。
【０００３】
この開示技術では、パスワードを公開鍵（暗号鍵）で暗号化したものを二次元コードとして作成し、それを、認証処理を行う処理装置（以下「認証処理装置」という。）に接続された読取装置で読み取る一方で、別途、当該処理装置に入力されたパスワードを先の公開鍵で暗号化することにより、両者が一致するか否かによって、カード等の二次元コード以外の装置を必要とすることなく個人認証を可能にしている。
【特許文献１】特開２００５−１５９５２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、近年、情報通信ネットワーク技術の進展等によって、ＱＲコードリーダ等の二次元コードの読取装置は、有線、無線を問わずに複雑に構成された通信ネットワークに何らかのかたちで接続されていることが多い。
【０００５】
このため、読取装置で読み取った暗号鍵が秘密鍵でそれを認証処理装置に送るというような構成を採る場合には、読取装置と認証処理装置を接続するネットワーク上で第三者に傍受される可能性が皆無とは言えないことから、情報セキュリティの点で安全性が脅かされ得るという問題がある。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、情報セキュリティ上の安全性を向上し得る光学的情報読取装置および光学的情報読取システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、特許請求の範囲に記載の請求項１の光学的情報読取装置では、光学的にコード化された光学的情報を記録した情報コードをデコードする読取手段と、暗号化された被暗号化データを復号できる復号鍵を用いてこの被暗号化データを解読する暗号解読手段と、有線または無線による電気通信回線を介してホストコンピュータと情報通信可能な情報通信手段と、情報処理手段と、を備え、前記情報処理手段は、前記被暗号化データに関する一の暗証情報を前記ホストコンピュータから前記情報通信手段により取得する第１処理；前記光学的情報として他の暗証情報を記録した第１の情報コードから前記読取手段によりこの他の暗証情報をデコードする第２処理；前記第１処理により取得された前記一の暗証情報と前記第２処理によりデコードされた前記他の暗証情報とが一致するか否かを判断する第３処理；前記第３処理により前記一の暗証情報と前記他の暗証情報とが一致すると判断された場合、前記光学的情報として前記被暗号化データを記録した第２の情報コードから前記読取手段により前記被暗号化データをデコードする第４処理；前記第４処理によりデコードされた前記被暗号化データを前記復号鍵を用いて前記暗号解読手段により解読する第５処理；を行うことを技術的特徴とする。
【０００８】
特許請求の範囲に記載の請求項２の光学的情報読取装置では、請求項１記載の光学的情報読取装置において、前記情報処理手段は、前記一の暗証情報と前記他の暗証情報とが一致しない場合、当該光学的情報読取装置が備える前記復号鍵を消去もしくは無効にし、または前記暗号解読手段の機能を失わせる第６処理を行うことを技術的特徴とする。
【０００９】
特許請求の範囲に記載の請求項３の光学的情報読取装置では、請求項１または２記載の光学的情報読取装置において、前記一の暗証情報が暗号化された暗号化暗証情報である場合、前記情報処理手段は、前記第３処理の前処理として、前記暗号化暗証情報を復号できる暗証情報復号鍵を用いて前記暗号化暗証情報を解読する第３’処理を行うことを技術的特徴とする。
【００１０】
特許請求の範囲に記載の請求項４の光学的情報読取装置では、請求項３記載の光学的情報読取装置において、前記暗号化暗証情報は、前記ホストコンピュータから前記情報通信手段により取得するごとに異なる使い捨て復号鍵を用いなければ解読できないものであり、前記情報処理手段は、前記使い捨て復号鍵に対応した前記暗証情報復号鍵を生成する第７処理を行うことを技術的特徴とする。
【００１１】
特許請求の範囲に記載の請求項５の光学的情報読取装置では、請求項４載の光学的情報読取装置において、前記情報処理手段は、前記第７処理として、前記暗号化暗証情報が前記ホストコンピュータから当該光学的情報読取装置に送られる回数に関する情報に基づいて前記暗証情報復号鍵を生成することを技術的特徴とする。
【００１２】
特許請求の範囲に記載の請求項６の光学的情報読取装置では、請求項４載の光学的情報読取装置において、前記情報処理手段は、前記第７処理として、前記暗号化暗証情報が前記ホストコンピュータから当該光学的情報読取装置に送られる時間に関する情報に基づいて前記暗証情報復号鍵を生成することを技術的特徴とする。
【００１３】
特許請求の範囲に記載の請求項７の光学的情報読取装置では、請求項１〜６のいずれか一項に記載の光学的情報読取装置において、前記暗号解読手段が複数存在し、これら複数の暗号解読手段に対応して前記復号鍵が複数存在する場合、前記情報処理手段は、前記第５処理の前処理として、前記複数の暗号解読手段から一の暗号解読手段を特定可能な暗号解読情報を記録した第３の情報コードから前記読取手段により前記暗号解読情報をデコードする第５’処理を行うことを技術的特徴とする。
【００１４】
特許請求の範囲に記載の請求項８の光学的情報読取装置では、請求項７載の光学的情報読取装置において、前記暗号解読情報は、前記他の暗証情報が記録されている前記第１の情報コードに記録されており、前記第１の情報コードと前記第３の情報コードとは同じ情報コードであることを技術的特徴とする。
【００１５】
上記目的を達成するため、特許請求の範囲に記載の請求項９の光学的情報読取システムでは、自己を特定可能な固有識別情報を有する請求項１記載の光学的情報読取装置と、前記一の暗証情報を送るべき光学的情報読取装置が有する前記固有識別情報を登録した登録装置情報を備えるホストコンピュータと、を含む光学的情報読取システムであって、前記ホストコンピュータは、前記光学的情報読取装置または前記光学的情報読取装置以外の他の光学的情報読取装置から、前記固有識別情報を取得する第Ｈ１処理と、前記第Ｈ１処理により取得した前記固有識別情報が前記登録装置情報に登録されているものであるか否かを判断する第Ｈ２処理と、前記第Ｈ２処理により前記固有識別情報が前記登録装置情報に登録されているものであると判断した場合、前記一の暗証情報を当該光学的情報読取装置に送り、前記固有識別情報が前記登録装置情報に登録されているものでないと判断した場合、前記一の暗証情報を当該光学的情報読取装置に送らない第Ｈ３処理と、を行い、前記光学的情報読取装置は、前記情報処理手段により、前記第Ｈ１処理前に前記固有識別情報を前記ホストコンピュータに送る第Ｔ１処理と、前記第Ｈ３処理後に前記第１処理として前記一の暗証情報を前記ホストコンピュータから取得する第Ｔ２処理と、を行うことを技術的特徴とする。
【００１６】
特許請求の範囲に記載の請求項１０の光学的情報読取システムでは、請求項９記載の光学的情報読取システムにおいて、前記ホストコンピュータのホスト側情報処理手段は、前記第Ｈ３処理として、前記第Ｈ２処理により前記固有識別情報が前記登録装置情報に登録されているものでないと判断した場合、前記一の暗証情報を当該光学的情報読取装置に送ることなく、当該光学的情報読取装置に対し当該光学的情報読取装置が備える前記復号鍵を消去もしくは無効にすること、または前記暗号解読手段の機能を失わせることを要求する消失コマンドを前記光学的情報読取装置に送り、前記光学的情報読取装置は、前記情報処理手段により、前記ホストコンピュータから前記消失コマンドを取得した場合、前記復号鍵を消去もしくは無効にし、または前記暗号解読手段の機能を失わせる第Ｔ３処理を行うことを技術的特徴とする。
【発明の効果】
【００１７】
請求項１の発明では、情報処理手段は、第１処理により、被暗号化データに関する一の暗証情報をホストコンピュータから情報通信手段により取得し、第２処理により、光学的情報として他の暗証情報を記録した第１の情報コードから読取手段によりこの他の暗証情報をデコードする。そして、第３処理により、第１処理により取得された一の暗証情報と第２処理によりデコードされた他の暗証情報とが一致するか否かを判断し、一の暗証情報と他の暗証情報とが一致すると判断された場合、光学的情報として被暗号化データを記録した第２の情報コードから読取手段により被暗号化データを第４処理によりデコードし、第５処理により、このデコードされた被暗号化データを復号鍵を用いて暗号解読手段により解読する。これにより、たとえ第三者に電気通信回線上で一の暗証情報を傍受されたとしても、この一の暗証情報だけでは被暗号化データをデコードすることはできない。即ち、電気通信回線を介して第三者が一の暗証情報を不正入手したとしても、この一の暗証情報は、被暗号化データをデコード可能な復号鍵ではないため、第三者は被暗号化データをデコードすることができない。なお、復号鍵自体は当該光学的情報読取装置が備えている。したがって、電気通信回線を介した復号鍵の受け渡しがないので、情報セキュリティ上の安全性を向上させることができる。
【００１８】
請求項２の発明では、情報処理手段は、第６処理により、一の暗証情報と他の暗証情報とが一致しない場合、当該光学的情報読取装置が備える復号鍵を消去もしくは無効にし、または暗号解読手段の機能を失わせる。これにより、例えば、第三者が当該光学的情報読取装置を不正に入手し、当該光学的情報読取装置を操作した結果、一の暗証情報と他の暗証情報とが一致しない場合には、当該光学的情報読取装置が備える復号鍵を消去等するので、第三者の悪用による被暗号化データのデコードを防止できる。したがって、情報セキュリティ上の安全性を一層向上させることができる。
【００１９】
請求項３の発明では、一の暗証情報は、暗号化暗証情報として暗号化されているので、たとえ第三者に電気通信回線上で暗号化暗証情報を傍受されたとしても、この暗号化暗証情報だけでは一の暗証情報を得ることは困難になる。これにより、第三者にとっては、他の暗証情報と一致させる一の暗証情報の特定が極めて難しくするため、情報セキュリティ上の安全性をより一層向上させることができる。
【００２０】
請求項４の発明では、暗号化暗証情報は、ホストコンピュータから情報通信手段により取得するごとに異なる使い捨て復号鍵を用いなければ解読できないものであるので、たとえ第三者に電気通信回線上で暗号化暗証情報を傍受されたとしても、この暗号化暗証情報は当該通信時以外には全く無用のものになる。これにより、第三者にとっては、他の暗証情報と一致させる一の暗証情報の事実上不可能になるため、情報セキュリティ上の安全性を格段に向上させることができる。
【００２１】
なお、異なる使い捨て復号鍵の例としては、請求項５の発明のように、暗号化暗証情報がホストコンピュータから当該光学的情報読取装置に送られる回数に関する情報に基づいて暗証情報復号鍵を生成するものであったり、請求項６の発明のように、暗号化暗証情報がホストコンピュータから当該光学的情報読取装置に送られる時間に関する情報に基づいて暗証情報復号鍵を生成するものが挙げられる。
【００２２】
請求項７の発明では、暗号解読手段が複数存在し、これら複数の暗号解読手段に対応して復号鍵が複数存在し、これを特定可能な暗号解読情報は第３の情報コードに記録されている。これにより、例えば、第三者の操作によって、他の暗証情報と一致する一の暗証情報が偶然に特定されたとしても、第３の情報コードを読み取らない限り、複数の暗号解読手段から一の暗号解読手段を特定できないため、この一の暗証情報だけでは被暗号化データをデコードすることはできない。したがって、たとえ、一の暗証情報が偶然に特定されたとしても、第三者の悪用による被暗号化データのデコードを防止できるので、情報セキュリティ上の安全性をより格段に向上させることができる。
【００２３】
請求項８の発明では、暗号解読情報は、他の暗証情報が記録されている第１の情報コードに記録されており、第１の情報コードと第３の情報コードとは同じ情報コードであることから、暗号を解読するのに必要となる情報コードの数を減らすことができるので、情報コードの管理を簡易にすることができる。
【００２４】
請求項９の発明では、ホストコンピュータは、第Ｈ１処理により、光学的情報読取装置または光学的情報読取装置以外の他の光学的情報読取装置から、固有識別情報を取得し、取得した固有識別情報が登録装置情報に登録されているものであるか否かを第Ｈ２処理により判断する。そして、第Ｈ２処理により固有識別情報が登録装置情報に登録されているものであると判断した場合、第Ｈ３処理により一の暗証情報を当該光学的情報読取装置に送り、固有識別情報が登録装置情報に登録されているものでないと判断した場合、第Ｈ３処理により一の暗証情報を当該光学的情報読取装置に送らない。また、光学的情報読取装置は、第Ｔ１処理により、ホストコンピュータによる第Ｈ１処理前に固有識別情報をホストコンピュータに送り、第Ｔ２処理により、ホストコンピュータによる第Ｈ３処理後に第１処理として一の暗証情報をホストコンピュータから取得する。
【００２５】
これにより、光学的情報読取装置がホストコンピュータに送った固有識別情報が、ホストコンピュータの登録装置情報に登録されている場合に限り、当該光学的情報読取装置に対して一の暗証情報を送ることから、固有識別情報を持たない他の光学的情報読取装置や登録装置情報に登録されていない固有識別情報を持つ他の光学的情報読取装置から、一の暗証情報を送る要求があっても、ホストコンピュータは、このような他の光学的情報読取装置には一の暗証情報を送ることがない。これに対し、当該他の光学的情報読取装置は、たとえ被暗号化データをデコードできる復号鍵を備えていても、第１処理により、ホストコンピュータから一の暗証情報を取得することができないため、第４処理により、復号鍵を用いて被暗号化データを解読するができない。つまり、ホストコンピュータに登録されていない光学的情報読取装置には、要求があっても一の暗証情報を送らないので、例えば、当該光学的情報読取装置が盗難や紛失等により失われることがあっても、その光学的情報読取装置の登録をホストコンピュータで抹消することによって、それを取得した第三者が不正に被暗号化データを解読することを防止できる。したがって、情報セキュリティ上の安全性を向上させることができる。
【００２６】
請求項１０の発明では、ホストコンピュータは、第Ｈ３処理として、第Ｈ２処理により固有識別情報が登録装置情報に登録されているものでないと判断した場合、一の暗証情報を当該光学的情報読取装置に送ることなく、当該光学的情報読取装置に対し当該光学的情報読取装置が備える復号鍵を消去もしくは無効にすること、または暗号解読手段の機能を失わせることを要求する消失コマンドを光学的情報読取装置に送り、光学的情報読取装置は、第Ｔ３処理により、ホストコンピュータから消失コマンドを取得した場合、復号鍵を消去もしくは無効にし、または暗号解読手段の機能を失わせる。これにより、ホストコンピュータに登録されていない他の光学的情報読取装置に対しては当該光学的情報読取装置が備える復号鍵を消去等することを命令する消失コマンドを送る一方で、この消失コマンドを取得した当該光学的情報読取装置は復号鍵を消去等するので、第三者の悪用による被暗号化データのデコードを防止できる。したがって、情報セキュリティ上の安全性を一層向上させることができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の光学的情報読取装置および光学的情報読取システムの実施形態について図を参照して説明する。なお、以下説明する実施形態では、光学的にコード化された光学的情報を記録した情報コードの例として、ＱＲコードを挙げるが、本発明に係る情報コードはこれに限られることはなく、例えば、バーコード（ＪＡＮコード、ＩＴＦコード等）、データマトリックスコード、マキシコード、ＣＰコード、ＰＤＦ４１７、ＲＳＳコンポジット等にも適用することができる。
【００２８】
まず、光学的情報読取システムの一実施形態として、ＱＲコードの読み取りシステム（以下「ＱＲコード読取システム」という。）の概要を図１を参照して説明する。なお、図１(A) には暗証用ＱＲコードを読み取る暗証用コード読取ステップの例、図１(B) には暗号化ＱＲコードを読み取る暗号化コード読取ステップの例、がそれぞれ図示されている。
【００２９】
図１に示すように、ＱＲコード読取システムは、ホストコンピュータ１０、ＱＲコードリーダ２０、暗証用ＱＲコードＱａ等から構成されている。ホストコンピュータ１０およびＱＲコードリーダ２０の構成は後に詳細に述べることとし、ここでは本システムによるＱＲコードの読み取り手順の概要を説明する。
【００３０】
(1) 暗証用コード読取ステップ
図１(A) に示すように、ＱＲコードリーダ２０では、まず電源が投入されると、自動的に通信回線１００を介してホストコンピュータ１０から暗証データαを取得する処理が行われる。この暗証データαは、ＱＲコードリーダ２０が読み取り対象としている暗号化された暗号化ＱＲコードＱｂに関する暗証情報で、暗号化ＱＲコードＱｂをデコードする前に必要となる、いわばパスワードに相当するものである。
【００３１】
次に、ＱＲコードリーダ２０の操作者によって、暗証用ＱＲコードＱａの読み取り操作が行われると、ＱＲコードリーダ２０は暗証用ＱＲコードＱａを読み取ってデコードし、照合データα’を取得する処理が行われる。この照合データα’は、ホストコンピュータ１０から取得した暗証データαと同じもので照合用の暗証データである。照合データα’が取得されると、暗証データαと照合データα’とが一致するか否かを判断する処理が行われ、暗証データαと照合データα’とが一致すると判断した場合には、次の(2) 暗号化コード読取ステップが行われる。なお、本実施形態では、ホストコンピュータ１０から暗証データαを取得し、暗証用ＱＲコードＱａから照合データα’を読み取るように構成したが、これをは逆に、ホストコンピュータ１０から照合データα’を取得し、暗証用ＱＲコードＱａから暗証データαを読み取るように構成しても良い。
【００３２】
(2) 暗号化コード読取ステップ
そして、図１(B) に示すように、ＱＲコードリーダ２０’では、暗証データαと照合データα’とが一致する場合には、暗号化ＱＲコードＱｂを読み取ってデコードし、さらにＱＲコードリーダ２０’が備える復号鍵を用いてこのデコードされた暗号データβ’を解読して平文データβを生成する処理が行われた後、解読された平文データβが通信回線１００を介してホストコンピュータ１０に出力される。
【００３３】
なお、ＱＲコードリーダ２０により(1) の暗証用コード読取ステップで、暗証データαと照合データα’とが一致しないと判断された場合には、(2) の暗号化コード読取ステップを行うことなく、例えば、後述のように復号鍵等の消去を行うように構成される。また、(2) において、ＱＲコードリーダ２０が複数の暗号化方式に対応して複数の復号鍵を備える場合には、デコードした暗号化ＱＲコードＱｂの暗号化方式を特定可能な型数データγを、型特定ＱＲコードＱｃから読み取り得るようにＱＲコードリーダ２０”を構成しても良い。これらの具体例については、後で詳述する。
【００３４】
ここで、ＱＲコードの構成概要を図２を参照して説明し、前述した暗証用ＱＲコードＱａ、暗号化ＱＲコードＱｂおよび型特定ＱＲコードＱｃの具体的な構成例を図３を参照して説明する。なお、図２には、１型のＱＲコードの構成例、図３には、ＱＲコードのデータフォーマットがそれぞれ図示されている。
【００３５】
図２に示すように、ＱＲコードの基本仕様（日本工業規格；ＪＩＳ  Ｘ  ０５１０：２００４、以下これを単に「ＪＩＳ規格」という。）に基づく１型のＱＲコードでは、１辺が２１セル（モジュール）の正方形状に構成されており、その三隅にはファインダパターンＦＰが、またこのファインダパターンＦＰの間にはタイミングパターンＴＰが形成されている。そして、これらを除いたコード領域には、８個のセルを４行２列に配置したブロックとして構成されるデータパターンＤＰが２６ブロック（Ａ０〜Ａ２５）分、ＪＩＳ規格に従って配置されている。
【００３６】
なお、データパターンＤＰには、データコードワード用と誤り訂正コードワード用とがあり、例えば、１型のＱＲコードでは、Ａ０〜Ａ１９がデータコードワードに、Ａ２０〜Ａ２５が誤り訂正コードワードに、それぞれ割り当てられている。また、ＱＲコードの周囲には、ファインダパターンＦＰの輪郭や存在をＱＲコードリーダ２０が認識する必要から、４セル幅（４個分の単位モジュール）のクワイエットゾーンが確保されている。
【００３７】
このように構成されるＱＲコードには、図３に示すようなデータフォーマットを持つデータがコード化される。例えば、図３(A) に示すように、通常仕様のＱＲコードの場合には、先頭のＡ０から、データコードワード（Ａ０〜Ａ１９）として、モード識別子、文字数、開示データおよび終端子がその順番に配置されて、誤り訂正コードが誤り訂正コードワード（Ａ２０〜Ａ２５）として配置される。そして、終端子と誤り訂正コードとの間に隙間ができる場合には、その隙間に埋め草コードが配置される。なお、開示データとは、秘密にすることなく、第三者に開示するデータのことである。
【００３８】
これに対し、第三者に対して秘密にその存在を隠しておきたいデータ（以下「秘匿データ」という。）の場合には、例えば、図３(B) に示すデータフォーマットでＱＲコードにコード化される。即ち、先頭のＡ０にデータの末尾を示す終端子を配置することで、当該ＱＲコードには開示データがコード化されていないことを表す一方で、終端子の後に本来埋め草コードが配置される領域に、照合データや秘匿データ等の秘匿情報が配置される旨を示す秘匿識別子を配置し、さらにその後に、種別識別子、秘匿情報、埋め草コード、誤り訂正コードの順番でそれぞれを配置する。
【００３９】
これにより、後述するように、このような特殊なデータフォーマットを認識可能に構成されるＱＲコードリーダ２０では、秘匿識別子の後に配置される、種別識別子および秘匿情報を読み取ることが可能となり、そうでない通常仕様のＱＲコードリーダでは、終端子以降は埋め草コードと誤り訂正コードの存在しか認識しないため、秘匿情報を読み取ることがない。つまり、通常仕様のＱＲコードリーダに対しては、秘匿情報の存在を隠しておくことができる。
【００４０】
このような秘匿情報には、例えば、前述した照合データα’、暗号データβ’、型数データγがあり、データの種類によりデータフォーマットが異なる。例えば、前述した照合データα’をコード化して暗証用ＱＲコードＱａを構成する場合には、図３(C) に示すように、図３(B) に示す秘匿情報の部分が照合データα’とそのデータ長の情報とにより構成される。
【００４１】
また、前述した暗号データβ’をコード化して暗号化ＱＲコードＱｂを構成する場合には、図３(D) に示すように、図３(B) に示す秘匿情報の部分が秘匿データ(1)，秘匿データ(2)，秘匿データ(3)，…とそのデータ長の情報とにより構成される。同様に、前述した型数データγをコード化して型特定ＱＲコードＱｃを構成する場合には、図３(E) に示すように、当該秘匿情報の部分が秘匿定数とデータ長の情報とにより構成される。
【００４２】
なお、秘匿情報の部分が、照合データα’、暗号データβ’または型数データγのいずれに該当するかは、図３(B) に示す種別識別子によって定められている。本実施形態の場合、例えば、種別識別子が「０」の場合には照合データα’、「１」の場合には暗号データβ’、「２」の場合には型数データγに設定されている。
【００４３】
ここで、図３(B) に示す秘匿データ(1) 等の暗号化方式の具体的な例について図４を参照して説明する。なお、図４には、暗号化方式の例として、転置テーブルを用いる例（図４(A) ）、所定値と排他的論理和の論理演算を行う例（図４(B) ）、変換テーブルを用いる例（図４(C) ）、所定ビットの循環シフトを用いる例（図４(D) ）が図示されている。
【００４４】
例えば、秘匿データ(1) 等を暗号化する方式として、図４(A) に示すように、転置テーブルを用いる。この例では、ビットb0をビットb4に、ビットb1をビットb7に、ビットb2をビットb1に、ビットb3をビットb6に、ビットb4をビットb2に、ビットb5をビットb0に、ビットb6をビットb3に、ビットb7をビットb5に、それぞれのビットを並び替える。これにより、例えば図４(A) に示すように、０１１０１００１ｂ（６９ｈ（ｂは２進数表記を表す記号、ｈは１６進数表記を表す記号））が入力されると、１１１０１０００ｂ（Ｄ８ｈ）に変換されて出力される。なお、この例では、転置テーブルが暗号鍵および復号鍵となり、転置テーブルに従ってビットを並び替える復号プログラムが暗号解読手段となる。
【００４５】
また、図４(B) に示すように、所定値を排他的論理和（exclusive or）をとることによって、暗号化する。この例では、所定値として１００１００１１ｂ（９３ｈ）を設定しこれと入力される０１１０１００１ｂ（６９ｈ）とを排他的論理和をとる論理演算を行うことで、１１１１１０１０ｂ（ＦＡｈ）に変換されて出力される。なお、この例では、所定値が暗号鍵および復号鍵となり、所定値と排他的論理和の論理演算を行う復号プログラムが暗号解読手段となる。
【００４６】
さらに、図４(C) に示すように、４ビット単位で他の値に変換する変換テーブルを用いる。この例では、図４(C) に示すような変換テーブル（０ｈ→Ｅｈ，１ｈ→４ｈ，２ｈ→Ｄｈ，３ｈ→１ｈ，４ｈ→２ｈ，５ｈ→Ｆｈ，６ｈ→Ｂｈ，７ｈ→８ｈ，８ｈ→３ｈ，９ｈ→Ａｈ，Ａｈ→６ｈ，Ｂｈ→Ｃｈ，Ｃｈ→５ｈ，Ｄｈ→９ｈ，Ｅｈ→０ｈ，Ｆｈ→７ｈ）を用いることで、０１１０１００１ｂ（６９ｈ）が入力されると、１０１１１０１０ｂ（ＢＡｈ）に変換されて出力される。なお、この例では、変換テーブルが暗号鍵および復号鍵となり、変換テーブルに従って４ビット単位で他の値に変換する復号プログラムが暗号解読手段となる。
【００４７】
さらにまた、図４(D) に示すように、最小位ビット（ＬＳＢ）方向にｎビット循環シフトするビットローテーションを用いる。図４(D) に示す例では、４ビット循環シフトするため、例えば、０１１０１００１ｂ（６９ｈ）が入力されると、１００１０１１０ｂ（９６ｈ）に変換されて出力される。なお、循環シフトとは、ＬＳＢ方向にシフトする場合、ＬＳＢから溢れ出たビット情報がそのまま最上位ビット（ＬＳＢ）に戻って入力されるビットの移動方式をいう。なお、この例では、シフトするビット数ｎとシフトの方向が暗号鍵および復号鍵となり、このようなｎビットの循環シフト処理を行う復号プログラムが暗号解読手段となる。
【００４８】
次に、図１を参照して説明したＱＲコード読取システムを構成するホストコンピュータ１０の構成を図５を参照して、またＱＲコードリーダ２０を図６を参照して、それぞれ説明する。なお、ＱＲコードリーダ２０は、本発明の光学的情報読取の一実施形態でもある。また、図５には、ホストコンピュータ１０の構成例を示すブロック図、図６には、ＱＲコードリーダ２０の構成例を示すブロック図、がそれぞれ図示されている。
【００４９】
図５に示すように、ホストコンピュータ１０は、主に、ＣＰＵ１１、メモリ１２、ハードディスク１３、外部記憶装置１４、キーボード１５、ポインティングデバイス１６、液晶表示装置１７、スピーカ１８、通信インタフェース１９等により構成されており、例えば、パーソナルコンピュータがこれに相当する。
【００５０】
このホストコンピュータ１０は、ＣＰＵ１１を中心に構成されており、後述するホスト処理は、ハードディスク１３に格納されたホスト処理プログラムがメモリ１２にロードされることによってＣＰＵ１１が当該処理を逐次実行することにより行われる。なお、このハードディスク１３には、当該ホストコンピュータ１０が通信を予定しているＱＲコードリーダ２０が有する個別ＩＤの一覧もテーブル形式やリスト形式で格納している。また、外部記憶装置１４は、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等がこれに相当する。
【００５１】
また、キーボード１５やポインティングデバイス（マウスや静電パッド）１６等の入力装置は、外部からデータや情報あるいは操作コマンドを入力するために用いられ、液晶表示装置１７やスピーカ１８は、ＣＰＵ１１による情報処理の結果を画像または音声により外部に出力するために用いられる。
【００５２】
さらに、通信インタフェース１９は、通信回線１００を介してＱＲコードリーダ２０にデータ通信可能に接続するために用いられ、例えば、ＲＳ２３２ＣやＵＳＢ等による有線あるいは無線ＬＡＮ、ブルートゥースやＩｒＤＡ等の無線や光を情報通信媒体とする。
【００５３】
一方、ＱＲコードリーダ２０は、図６に示すように、主に、照明光源２１、受光センサ２３、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示器４６等のマイコン系と、電源スイッチ４１、バッテリ４９等の電源系と、から構成されている。なお、これらは図略のプリント配線板に実装あるいは図略のハウジング内に内装されており、ハードウェア的には一般仕様のＱＲコードリーダと同様に構成されている。
【００５４】
光学系は、照明光源２１、受光センサ２３、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、図略のケースの読取口を介してラベルＰに向けて照明光Ｌｆを照射可能に構成されている。このラベルＰには、前述した暗証用ＱＲコードＱａ等が印刷されている。
【００５５】
受光センサ２３は、ラベルＰや暗証用ＱＲコードＱａ等に照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。受光センサ２３は、結像レンズ２７を介して入射する入射光をこの受光面２３ａで受光可能に図略のプリント配線板に実装されている。
【００５６】
結像レンズ２７は、外部から読取口を介して入射する入射光を集光して受光センサ２３の受光面２３ａに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【００５７】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示器４６、通信インタフェース４８等から構成されている。このマイコン系は、マイコンとして機能し得る制御回路４０およびメモリ３５と中心に構成される。
【００５８】
光学系の受光センサ２３から出力される画像信号は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データは、メモリ３５に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００５９】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域等も確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な読取プログラム、復号プログラムや復号鍵、あるいは照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００６０】
制御回路４０は、ＱＲコードリーダ２０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなり、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置と接続可能に構成されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示器４６、通信インタフェース４８等が接続されている。
【００６１】
通信インタフェース４８は、前述したホストコンピュータ１０と通信回線１００を介してデータ通信可能に構成されており、ホストコンピュータ１０側の通信インタフェース１９に合わせて、例えば、ＲＳ２３２ＣやＵＳＢ等による有線通信あるいは無線ＬＡＮ、ブルートゥース等の無線通信、あるいはＩｒＤＡ等の光通信を可能に構成されている。
【００６２】
これにより、例えば、電源スイッチ４１や操作スイッチ４２の監視や管理、またインジケータとして機能するＬＥＤ４３の点灯・消灯、ビープ音やアラーム音を発生可能なブザー４４の鳴動のオンオフ、さらには読み取った暗号化ＱＲコードＱｂによるコード内容を画面表示可能な液晶表示器４６の画面制御や通信インタフェース４８の通信制御等を可能にしている。
【００６３】
電源系は、電源スイッチ４１、バッテリ４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、上述した各装置や各回路に、バッテリ４９から供給される駆動電圧の導通や遮断が制御されている。なお、バッテリ４９は、所定の直流電圧を発生可能な二次電池で、例えば、リチウムイオン電池等がこれに相当する。また、バッテリ４９によることなく、例えば、通信インタフェース４８を介して接続されるホストコンピュータ１０から電力供給を受ける構成を採る場合もあり、この場合には当該バッテリ４９は不要となる。
【００６４】
このようにＱＲコードリーダ２０を構成することによって、例えば、電源スイッチ４１がオンされて所定の自己診断処理等が正常終了し、ＱＲコードＱの読み取りが可能な状態になると、照明光Ｌｆの発光を指示する操作スイッチ４２（例えばトリガースイッチ）の入力を受け付ける。これにより、操作者がトリガースイッチを引いてオンにすることで、制御回路４０が同期信号を基準に照明光源２１に発光信号を出力するので、当該発光信号を受けた照明光源２１は、ＬＥＤを発光させて照明光Ｌｆを照射する。
【００６５】
すると、暗証用ＱＲコードＱａ等に照射された照明光Ｌｆが反射し、その反射光Ｌｒが読取口を介して結像レンズ２７に入射するため、受光センサ２３の受光面２３ａには、暗証用ＱＲコードＱａ等の像が結像される。これにより、暗証用ＱＲコードＱａ等の像が受光センサ２３を露光するため、上述したマイコン系によって画像処理された当該暗証用ＱＲコードＱａ等の画像データが、メモリ３５の画像データ蓄積領域を介して、後述する読取処理に渡される。
【００６６】
ここで、これまで説明してきたＱＲコード読取システムの流れを図７〜図１１に基づいて説明する。まず、ホストコンピュータ１０側のホスト処理の第１例として、図７を参照して説明する。なお、このホスト処理は、前述したホストコンピュータ１０を構成するＣＰＵ１１により実行される。
【００６７】
図７に示すように、ホスト処理では、ホスト処理プログラムの起動直後、所定の初期化処理を経た後、まずステップＳ１００によりＱＲコードリーダ２０と通信リンクを確立する処理が行われる。この処理は、ホストコンピュータ１０の通信インタフェース１９とＱＲコードリーダ２０の通信インタフェース４８とによる所定の通信プロトコルに基づいて行われる。
【００６８】
次のステップＳ１２１では、ＱＲコードリーダ２０に対して前述した暗証データαを送信する処理が行われる。暗証用ＱＲコードＱａは、暗号化ＱＲコードＱｂをデコードする前に必要となる、いわばパスワードに相当するものであるため、ＱＲコードリーダ２０がまだ暗証データαを取得していない場合には、このステップＳ１２１により、当該ＱＲコードリーダ２０に暗証データαを渡す。
【００６９】
そして、これ以後、ステップＳ１２３により、ＱＲコードリーダ２０から平文データβまたは暗号データβ’等のデコードデータを受信するまで待つ。即ち、ステップＳ１２３によりデコードデータを受信したか否かを判断し、受信していなければ（Ｓ１２３；Ｎｏ）、受信するまで（Ｓ１２３；Ｙｅｓ）当該ステップＳ１２３をループする。なお、このループ処理は、図略の割り込み処理によって中止可能に構成されている。
【００７０】
続いて、ＱＲコードリーダ２０側の読取処理の第１例を、図８を参照して説明する。なお、図８に基づいて説明するＱＲコードリーダ２０の読取処理は、暗証用ＱＲコードＱａ、暗号化ＱＲコードＱｂおよび通常仕様のＱＲコードのいずれも読取可能な仕様に設定されているものとする。また、この読取処理は、前述したＱＲコードリーダ２０を構成する制御回路４０により実行される。
【００７１】
図８に示すように、当該読取処理は、ＱＲコードリーダ２０の電源投入されると、ハードウェアを初期化する所定の初期化処理の後、読取プログラムが起動されて、まずステップＳ２００により、ホストコンピュータ１０と通信リンクを確立する処理が行われる。この処理は、前述したホストコンピュータ１０のステップＳ１００に対応するもので、これと同様に、ホストコンピュータ１０の通信インタフェース１９とＱＲコードリーダ２０の通信インタフェース４８とによる所定の通信プロトコルに基づいて行われる。
【００７２】
続くステップＳ２０４では、暗証データαを取得済みか否かを判断する処理が行われる。この処理では、前述したように、パスワードに相当する暗証データαをホストコンピュータ１０から取得しているか否かを判断するもので、もしこれを取得していなければ（Ｓ２０４；Ｎｏ）、続くステップＳ２０５により、前述したホスト処理のステップＳ１２１に呼応してホストコンピュータ１０から暗証データαを取得する。一方、暗証データαを既に取得していれば（Ｓ２０４；Ｙｅｓ）、ステップＳ２０５をスキップしてステップＳ２０６に処理を移行する。
【００７３】
ステップＳ２０５では、ＱＲコードを読み取る処理が行われる。そして、続くステップＳ２０７により、読み取ったＱＲコードを画像解析する処理が行われる。この処理は、図２を参照して説明したＱＲコードのデータパターンＤＰの先頭部分にあたるデータコードワードのＡ０〜Ａ９相当のブロック構成を画像解析する。
【００７４】
ステップＳ２０９では、ＱＲコードのタイプを判断する処理が行われる。即ち、ステップＳ２０７による解析処理によって、データコードワードのＡ０〜Ａ２相当のビットパターンが判明しているので、これにより当該部分のデータがモード識別子であるのか（図３(A) に示すデータフォーマットのもの）、それとも終端子であるのか（図３(B) に示すデータフォーマットのもの）を識別することによって、モード識別子であれば読み取ったＱＲコードが通常仕様のものであると判断できるので（Ｓ２０９；通常タイプ）、この場合にはステップＳ２３１に処理を移行する。
【００７５】
これに対し、データコードワードのＡ０〜Ａ２相当が、終端子と秘匿識別子であれば読み取ったＱＲコードが秘匿情報を有するものと判断できるので、さらにその次のＡ３相当から種別識別子を識別して、当該ＱＲコードが暗証用ＱＲコードＱａまたは暗号化ＱＲコードＱｂのいずれであるかを判断する。例えば、先の例では、種別識別子が「０」であれば暗証用ＱＲコードＱａであると判断（Ｓ２０９；暗証タイプ）してステップＳ２１１に処理を移行し、また種別識別子が「１」であれば暗号化ＱＲコードＱｂであると判断（Ｓ２０９；暗号タイプ）してステップＳ２２１に処理を移行する。
【００７６】
ステップＳ２１１，Ｓ２１３，Ｓ２１５は、読み取ったＱＲコードが暗証用ＱＲコードＱａである場合に行われる処理で、ステップＳ２１１により当該暗証用ＱＲコードＱａをデコードして照合データα’を得た後、ステップＳ２１３によりこの照合データα’がホストコンピュータ１０から取得した暗証データαと一致するか否かを判断する。そして、一致すれば（Ｓ２１３；Ｙｅｓ）、ステップＳ２１５により暗証データαと照合データα’とが一致したことをメモリ３５等に記憶して本読取処理を終了する。また、一致しなければ（Ｓ２１３；Ｎｏ）、ステップＳ２９３に処理を移行する。
【００７７】
これに対し、ステップＳ２２１，Ｓ２２３，Ｓ２２５は、読み取ったＱＲコードが暗号化ＱＲコードＱｂである場合に行われる処理で、ステップＳ２１３により既に判断した暗証データαと照合データα’との一致があったか否かをステップＳ２２１により行う。そして、既に一致している場合には（Ｓ２２１；Ｙｅｓ）、続くステップＳ２２３により今回読み取った暗号化ＱＲコードＱｂをデコードして暗号データβ’を得た後、これを予めメモリ３５等に記憶している復号鍵を用いて解読して平文データβを生成する。また、一致しなければ（Ｓ２２１；Ｎｏ）、ステップＳ２９３に処理を移行する。
【００７８】
なお、このステップＳ２２５による暗号の解読は、図４を参照して説明した暗号化の逆を辿る情報処理を行うことにより可能となる。それぞれの復号鍵と復号プログラム（解読手段）については前述したとおりである。
【００７９】
一方、ステップＳ２３１は、読み取ったＱＲコードが通常仕様のものである場合に行われる処理で、ＱＲコードをＪＩＳ規格に従ってデコードする。
【００８０】
ステップＳ２９１では、ステップＳ２２５により解読された平文データβまたはステップＳ２３１によりデータコードしたデコードデータを通信インタフェース４８を介してホストコンピュータ１０に送信する処理が行われる。なお、この送信処理は、前述したホスト処理のステップＳ１２３に呼応するものである。
【００８１】
ステップＳ２９３は、ステップＳ２１３やＳ２２１の判断処理により、暗証データαと照合データα’とが一致しなかった場合に行われる処理で、本実施形態では、メモリ３５に記憶された復号プログラムを消去する。これにより、例えば、第三者がＱＲコードリーダ２０を不正に入手し、当該ＱＲコードリーダ２０を操作した結果、暗証データαと照合データα’とが一致しない場合には、当該ＱＲコードリーダ２０が備える復号プログラムが消去されるので、このような第三者の悪用による暗号化ＱＲコードＱｂのデコードを防止できる。
【００８２】
なお、本実施形態では、ステップＳ２９３により復号プログラムを消去するように構成したが、メモリ３５に記憶されている復号鍵を消去するように構成しても良く、これによっても第三者の悪用による暗号化ＱＲコードＱｂのデコードを防止できる。
【００８３】
このようにＱＲコードリーダ２０では、制御回路４０等による読取処理により、暗号化ＱＲコードＱｂに関する暗証データαをホストコンピュータ１０から通信回線１００を介して通信インタフェース４８により取得し（Ｓ２０５）、照合データα’を記録した暗証用ＱＲコードＱａからこの照合データα’をデコードする（Ｓ２１１）。そして、Ｓ２０５により取得された暗証データαとステップＳ２１１によりデコードされた照合データα’とが一致するか否かを判断し（Ｓ２１３）、暗証データαと照合データα’とが一致すると判断された場合（Ｓ２２１；Ｙｅｓ、）、暗号データβ’を記録した暗号化ＱＲコードＱｂから暗号データβ’をデコードし（Ｓ２２３）、このデコードされた暗号データβ’を復号鍵を用いて解読して平文データβを生成する（Ｓ２２５）。
【００８４】
これにより、たとえ第三者に通信回線１００上で暗証データαを傍受され不正取得されたとしても、この暗証データαだけでは暗号データβ’をデコードすることはできない。即ち、通信回線１００を介してホストコンピュータ１０から取得する暗証データαでは、暗号データβ’をデコード可能な復号鍵ではないため、当該第三者は、暗号データβ’をデコードすることができない。なお、復号鍵は前述したようにメモリ３５に予め記憶されている。したがって、通信回線１００を介した復号鍵の受け渡しがないので、情報セキュリティ上の安全性を向上させることができる。
【００８５】
なお、上述した実施形態に係るＱＲコードリーダ２０では、ホストコンピュータ１０から取得する暗証データαは、暗号化されていないが、これを別の暗号鍵（暗証情報復号鍵）を用いて暗号化して暗号化暗証データ（暗号化暗証情報）としても良い。この場合、図８に示す読取処理においては、例えば、ステップＳ２０５よりも後でステップＳ２２１よりも前に暗号化暗証データ（暗号化暗証情報）を解読する処理ステップ（第３’ステップ）を設ける。これにより、第三者にとっては、照合データα’と一致させる暗証データαの特定が極めて難しくなるため、情報セキュリティ上の安全性をより一層向上させることができる。
【００８６】
また、このような暗号化暗証データ（暗号化暗証情報）を復号する復号鍵をワンタイムキー（使い捨て復号鍵）とし、この鍵を、ホストコンピュータ１０からＱＲコードリーダ２０に暗証データαが送信される回数または時刻（時間）に基づいて異なったものを生成するようにＱＲコードリーダ２０の読取処理を構成することで、たとえ第三者に通信回線１００上で暗号化暗証データ（暗号化暗証情報）を傍受されたとしても、この暗号化暗証データは当該通信時以外には全く無用のものになる。これにより、第三者にとっては、照合データα’と一致する暗証データαを取得することが事実上不可能になるため、情報セキュリティ上の安全性を格段に向上させることができる。
【００８７】
次に、ホストコンピュータ１０側で行われるホスト処理の他の例として、ホスト処理の第２例を図９に基づいて説明する。なお、このホスト処理も、前述したホストコンピュータ１０を構成するＣＰＵ１１により実行されるもので、既に図７を参照して説明した第１例の処理ステップと実質的に同一の処理ステップには同一符号を付して説明を省略する。
【００８８】
図９に示すように、ステップＳ１００によりＱＲコードリーダ２０と通信リンクを確立した後、当該通信リンクを確立したＱＲコードリーダ２０に対して、ステップＳ１０１により個別ＩＤを要求または受信する処理を行う。この個別ＩＤは、ＱＲコードリーダ２０を個々に特定可能な固有識別情報で、例えば、通信ネットワークにおいて各ノードを識別するために設定されているネットワーク機器等のハードウェアに固有の物理アドレス（ＭＡＣアドレス；Media Access Control address）等である。
【００８９】
続くステップＳ１０３では、ステップＳ１０１により個別ＩＤをＱＲコードリーダ２０から受信したか否かを判断する処理が行われ、もし受信していない場合には（Ｓ１０３；Ｎｏ）、再度ステップＳ１０１に戻って個別ＩＤの受信を待つ。これに対し、個別ＩＤを受信している場合には（Ｓ１０３；Ｙｅｓ）、ステップＳ１０５に処理を移行する。
【００９０】
ステップＳ１０５では、ステップＳ１０１により受信した個別ＩＤを、予め登録されているＩＤと比較する処理が行われる。即ち、前述したように、ホストコンピュータ１０のハードディスク１３には、当該ホストコンピュータ１０と通信を予定しているＱＲコードリーダ２０が有する個別ＩＤがテーブル形式やリスト形式の一覧として格納されているので、この一覧テーブルを検索することにより、ステップＳ１０１により受信した個別ＩＤがこの一覧テーブルに存在する（登録されている）か否か、つまり当該ホストコンピュータ１０と通信することを予定しているものであるか否かを調べる。
【００９１】
そして、ステップＳ１０７により当該個別ＩＤが登録されているか否かを判断し、登録されていると判断された場合には当該ＱＲコードリーダ２０は当該ホストコンピュータ１０と通信を予定しているＱＲコードリーダであることになるので（Ｓ１０７；Ｙｅｓ）、ステップＳ１２１によりＱＲコードリーダ２０に暗証データαを送信する。これに対し、ステップＳ１０７により当該個別ＩＤが登録されていると判断されない、つまり登録されていない場合には、当該ＱＲコードリーダ２０は当該ホストコンピュータ１０と通信を予定していない他のＱＲコードリーダであることになるので（Ｓ１０７；Ｎｏ）、このようなＱＲコードリーダ２０には暗証データαを送信することなく、ステップＳ１３１により処理を移行する。
【００９２】
ステップＳ１３１では、復号プログラムを消去するコマンドをＱＲコードリーダ２０に対して送信する処理が行われる。この処理は、ステップＳ１００により通信リンクを確立したＱＲコードリーダ２０が当該ホストコンピュータ１０では通信を予定していない他のＱＲコードリーダであるとステップＳ１０７により判断した場合に行われる処理で、暗号化ＱＲコードＱｂを復号可能な復号プログラムを自ら消去するように命令する消去コマンドを、このようなＱＲコードリーダ２０に送信する。なお、ステップＳ１３１では、復号鍵を消去するコマンドをＱＲコードリーダ２０に対して送信しても良い。
【００９３】
これにより、このコマンドを受信したＱＲコードリーダ２０は、前述したステップＳ２９３と同様に、ＱＲコードリーダ２０は、当該ＱＲコードリーダ２０のメモリ３５に記憶された復号プログラム（または復号鍵）を消去する。このため、例えば、第三者がＱＲコードリーダ２０を不正に入手し、当該ＱＲコードリーダ２０を操作して不正にホストコンピュータ１０に接続したとしても、このように個別ＩＤがホストコンピュータ１０に登録されていない場合（またはシステム稼働当初は登録されていても盗難により個別ＩＤの一覧テーブルから当該ＱＲコードリーダ２０の個別ＩＤが削除されていた場合）には、当該ＱＲコードリーダ２０が備える復号プログラム（または復号鍵）が消去されるので、このような第三者の悪用による暗号化ＱＲコードＱｂのデコードを防止できる。
【００９４】
続いて、ＱＲコードリーダ２０側の読取処理の第２例を、図１０を参照して説明する。なお、この読取処理も、前述したＱＲコードリーダ２０を構成する制御回路４０により実行されるもので、既に図８を参照して説明した第１例の処理ステップと実質的に同一の処理ステップには同一符号を付して説明を省略する。
【００９５】
図１０に示すように、ステップＳ２００によりホストコンピュータ１０と通信リンクを確立した後、当該通信リンクを確立したホストコンピュータ１０から個別ＩＤ要求を受信しているか否かを判断する処理を行う。この処理は、前述したホストコンピュータ１０側のステップＳ１０１に呼応するものである。
【００９６】
ステップＳ２０１により個別ＩＤ要求を受信したと判断すると（２０１；Ｙｅｓ）、ステップＳ２０２によりＱＲコードリーダ２０（自己）が有する個別ＩＤを当該ホストコンピュータ１０に送信する処理が行われる。例えば、個別ＩＤとして、当該ＱＲコードリーダ２０の製造時にＥＥＰＲＯＭ等に書き込まれているＭＡＣアドレスを当該ホストコンピュータ１０に送信する。
【００９７】
続くステップＳ２０３では、消去コマンドを受信したか否かを判断する処理が行われる。即ち、ステップＳ２０２によりホストコンピュータ１０に送信した個別ＩＤが当該ホストコンピュータ１０の個別ＩＤの一覧テーブルに登録されていない場合には、前述したように当該ホストコンピュータ１０から復号プログラム等の消去コマンドが送信されてくることから（図９に示すＳ１３１）、これを受信したときには（Ｓ２０３；Ｙｅｓ）、ステップＳ２９３に処理を移行して、前述したように、メモリ３５に記憶された復号プログラムを消去する処理を行う。
【００９８】
これに対し、相当時間待っても、このような消去コマンドを受信しないときには（Ｓ２０３；Ｎｏ）、続くステップＳ２０４により、暗証データαを取得したか否かを判断する処理が行われる。これ以降は、既に図８を参照して説明しているものと同様に処理が順次行われる。
【００９９】
なお、ＱＲコードリーダ２０側の読取処理の第２例おいて、図１０に示す破線内の各処理を、図１１に示す各処理に置き換えて構成しても良い。即ち、図１(B) に示すＱＲコードリーダ２０”のように、型特定ＱＲコードＱｃを読み取ることにより、ステップＳ２０７によるＱＲコードの解析の結果、ＱＲコードのタイプが型数タイプの場合（図１１に示すＳ２０９；型数タイプ）、ステップＳ２４１により特定の暗号化方式の復号プログラムを特定可能な型数データγを当該型特定ＱＲコードＱｃをデコードして取得し、さらにステップＳ２４３により型数データγを記憶する。
【０１００】
これにより、その後にステップＳ２２３によるデコード可能な特定の復号プログラムを、当該ＱＲコードリーダ２０”が有する複数の復号プログラムの中から特定することができるので、例えば、当該ＱＲコードリーダ２０”が第三者に操作されて、照合データα’に一致する暗証データα（または暗証データαに一致する照合データα’）が偶然に特定されたとしても、型特定ＱＲコードＱｃを読み取らない限り、複数の復号プログラムの中から特定の復号プログラムを特定できないため、暗証データα（または照合データα’）だけでは暗号化された暗号データβ’をデコードすることはできない。したがって、たとえ、暗証データα（または照合データα’）が偶然に特定されたとしても、第三者の悪用による暗号データβ’のデコードを防止できるので、情報セキュリティ上の安全性をより格段に向上させることができる。
【０１０１】
以上説明したように、本実施形態に係るＱＲコード読取システムでは、ホストコンピュータ１０は、ＱＲコードリーダ２０またはＱＲコードリーダ２０以外の他のＱＲコードリーダから、個別ＩＤを取得し（Ｓ１０１）、取得した個別ＩＤがハードディスク１３に格納された個別ＩＤの一覧テーブル等に登録されているものであるか否かを判断する（Ｓ１０５、Ｓ１０７）。そして、個別ＩＤが個別ＩＤの一覧テーブル等に登録されているものであると判断した場合（Ｓ１０７；Ｙｅｓ）、暗証データαを当該ＱＲコードリーダ２０に送り、個別ＩＤが個別ＩＤの一覧テーブル等に登録されているものでないと判断した場合（Ｓ１０７；Ｎｏ）、暗証データαを当該ＱＲコードリーダに送らない。また、ＱＲコードリーダ２０は、ホストコンピュータ１０によるステップＳ１０１の処理前に個別ＩＤをホストコンピュータ１０に送り（Ｓ２０２）、ホストコンピュータ１０によるステップＳ１０７の処理後に暗証データαをホストコンピュータ１０から取得する（Ｓ２０５）。
【０１０２】
これにより、ＱＲコードリーダ２０がホストコンピュータ１０に送った個別ＩＤが、ホストコンピュータ１０の個別ＩＤの一覧テーブル等に登録されている場合に限り、当該ＱＲコードリーダ２０に対して暗証データαを送ることから、個別ＩＤを持たない他のＱＲコードリーダや個別ＩＤの一覧テーブル等に登録されていない個別ＩＤを持つ他のＱＲコードリーダから、暗証データαを送る要求があっても、ホストコンピュータ１０は、このような他のＱＲコードリーダには暗証データαを送ることがない。
【０１０３】
これに対し、このような他のＱＲコードリーダは、たとえ暗号データβ’をデコードできる復号鍵を備えていても、ホストコンピュータ１０から暗号データβ’を取得することができないため、復号鍵を用いて暗号データβ’を解読するができない。つまり、ホストコンピュータ１０に登録されていないＱＲコードリーダには、要求があっても暗号データβ’を送らないので、例えば、当該ＱＲコードリーダ２０が盗難や紛失等により失われることがあっても、そのＱＲコードリーダ２０の登録をホストコンピュータ１０で抹消することによって、それを取得した第三者が不正に暗号データβ’を解読することを防止できる。したがって、情報セキュリティ上の安全性を向上させることができる。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施形態に係るＱＲコード読取システムを示す説明図で、図１(A) は暗証用ＱＲコードを読み取る暗証用コード読取ステップの例、図１(B) は暗号化ＱＲコードを読み取る暗号化コード読取ステップの例、である。
【図２】１型のＱＲコードの構成例を示す説明図である。
【図３】本実施形態のＱＲコードリーダにより読み取られるＱＲコードのデータフォーマットを示す説明図で、図３(A) は通常仕様のＱＲコードの例、図３(B) は秘匿仕様のＱＲコードの例、図３(C) は暗証用ＱＲコードの例、図３(D) は暗号化ＱＲコードの例、図３(E) は型特定ＱＲコードの例、である。
【図４】暗号化方式の例を示す説明図で、図４(A) は転置テーブルを用いる例、図４(B) は所定値と排他的論理和をとる例、図４(C) は変換テーブルを用いる例、図４(D) は所定ビットの循環シフトを用いる例、である。
【図５】本実施形態のＱＲコード読取システムを構成するホストコンピュータの構成例を示すブロック図である。
【図６】本実施形態のＱＲコード読取システムを構成するＱＲコードリーダの構成例を示すブロック図である。
【図７】本実施形態のホストコンピュータにより実行されるホスト処理（第１例）の流れを示すフローチャートである。
【図８】本実施形態のＱＲコードリーダにより実行される読取処理（第１例）の流れを示すフローチャートである。
【図９】本実施形態のホストコンピュータにより実行されるホスト処理（第２例）の流れを示すフローチャートである。
【図１０】本実施形態のＱＲコードリーダにより実行される読取処理（第２例）の流れを示すフローチャートである。
【図１１】図１０に示す破線枠内の他の構成例を示すフローチャートである。
【符号の説明】
【０１０５】
１０…ホストコンピュータ
１１…ＣＰＵ
１２…メモリ
１３…ハードディスク
１９…通信インタフェース
２０…ＱＲコードリーダ（光学的情報読取装置）
２１…照明光源（読取手段）
２２…結像レンズ（読取手段）
２３…受光センサ（読取手段）
３１…増幅回路（読取手段）
３３…Ａ／Ｄ変換回路（読取手段）
３５…メモリ（読取手段、情報処理手段）
３６…アドレス発生回路（読取手段）
３８…同期信号発生回路（読取手段）
４０…制御回路（読取手段、情報処理手段）
４８…通信インタフェース（情報通信手段）
１００…通信回線（電気通信回線）
Ｑａ…暗証用ＱＲコード（情報コード、第１の情報コード）
Ｑｂ…暗号化ＱＲコード（情報コード、第２の情報コード）
Ｑｃ…型特定ＱＲコード（情報コード、第３の情報コード）
α…暗証データ（一の暗証情報）
α’…照合データ（他の暗証情報）
β…平文データ（解読されたデータ）
β’…暗号データ（被暗号化データ）
γ…型数データ（暗号解読情報）
Ｓ２０５（第１処理、第Ｔ２処理）、Ｓ２１１（第２処理）、Ｓ２１３（第３処理）、Ｓ２２１（第３処理）、Ｓ２２３（第４処理）、Ｓ２２５（第５処理）、Ｓ２４１（第５’処理）、Ｓ２９３（第６処理、第Ｔ３処理）、Ｓ１０１（第Ｈ１処理）、Ｓ１０５（第Ｈ２処理）、Ｓ１０７（第Ｈ２処理）、Ｓ１０７（第Ｈ３処理）、Ｓ１２１（第Ｈ３処理）、Ｓ１３１（第Ｈ３処理）、Ｓ２０２（第Ｔ１処理）
【図１】
0004951743.tif 000002
【図２】
0004951743.tif 000003
【図３】
0004951743.tif 000004
【図４】
0004951743.tif 000005
【図５】
0004951743.tif 000006
【図６】
0004951743.tif 000007
【図７】
0004951743.tif 000008
【図８】
0004951743.tif 000009
【図９】
0004951743.tif 000010
【図１０】
0004951743.tif 000011
【図１１】
0004951743.tif 000012