(57)【要約】【課題】暗号化又は復号化に用いる情報を入力する際の負担が少なく、且つセキュリティ面で有利な構成を提供する。【解決手段】情報コード読取装置１（読取端末）は、当該読取端末で設定された複数の方向において各方向に当該読取端末が移動したことを検出可能な読取用移動方向検出部と、読取用移動方向検出部で複数検出された検出方向に基づいて、当該読取端末に対する移動動作を特定する読取用移動動作特定部と、生成端末の出力部で出力された情報コードが生成端末又は他の物体で示されているときに、当該情報コードを撮像可能な撮像部と、撮像部で撮像された情報コードの画像を解読可能に構成され、読取用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該情報コードに記録された暗号データを復号化する解読部とを有する。【選択図】図５
2014085923.tif 000002
【特許請求の範囲】
【請求項１】
情報コードを生成可能な生成端末と、当該生成端末と同一又は別の端末として構成される読取端末とを備えた情報コードシステムであって、
前記生成端末は、
当該生成端末で設定された複数の方向において各方向に当該生成端末が移動したことを検出可能な生成用移動方向検出部と、
前記生成用移動方向検出部で複数検出された検出方向に基づいて、当該生成端末に対する移動動作を特定する生成用移動動作特定部と、
前記生成用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該生成端末に記憶されたデータを暗号化し、その暗号化された暗号データを記録してなる前記情報コードを生成する情報コード生成部と、
前記情報コード生成部で生成された前記情報コードを出力する出力部と、
を有し、
前記読取端末は、
当該読取端末で設定された複数の方向において各方向に当該読取端末が移動したことを検出可能な読取用移動方向検出部と、
前記読取用移動方向検出部で複数検出された検出方向に基づいて、当該読取端末に対する移動動作を特定する読取用移動動作特定部と、
前記生成端末の前記出力部で出力された前記情報コードが前記生成端末又は他の物体で示されているときに、当該情報コードを撮像可能な撮像部と、
前記撮像部で撮像された前記情報コードの画像を解読可能に構成され、前記読取用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該情報コードに記録された前記暗号データを復号化する解読部と、
を有することを特徴とする情報コードシステム。
【請求項２】
前記生成用移動方向検出部は、前記生成端末において所定の基準軸方向をＸ軸方向とし、このＸ軸方向と直交する所定方向をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する方向をＺ軸方向としたときの、前記生成端末のＸ軸方向の移動、Ｙ軸方向の移動、Ｚ軸方向の移動を少なくとも検出可能に構成され、それらいずれかの方向への移動が検出されたことを条件としてその方向を当該生成端末での検出方向とし、
前記読取用移動方向検出部は、前記読取端末において所定の基準軸方向をＸ軸方向とし、このＸ軸方向と直交する所定方向をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する方向をＺ軸方向としたときの、前記読取端末のＸ軸方向の移動、Ｙ軸方向の移動、Ｚ軸方向の移動を少なくとも検出可能に構成され、それらいずれかの方向への移動が検出されたことを条件としてその方向を当該読取端末での検出方向とすることを特徴とする請求項１に記載の情報コードシステム。
【請求項３】
前記生成用移動動作特定部は、前記生成用移動方向検出部によって前記生成端末での検出方向が複数得られた場合に、それら複数の検出方向の組合せを特定し、
前記情報コード生成部は、前記生成用移動動作特定部によって特定された複数の検出方向の組合せを反映して暗号化キーを生成し、当該暗号化キーに基づいて前記暗号データを生成するように構成され、
前記読取用移動動作特定部は、前記読取用移動方向検出部によって前記読取端末での検出方向が複数得られた場合に、それら複数の検出方向の組合せを特定し、
前記解読部は、前記読取用移動動作特定部によって特定された複数の検出方向の組合せを反映して復号化キーを生成し、当該復号化キーを用いて前記情報コードに記録された前記暗号データを復号化することを特徴とする請求項１又は請求項２に記載の情報コードシステム。
【請求項４】
前記生成端末は、前記生成用移動方向検出部によって検出可能な複数の方向と、それら各方向に対応する数値とを対応付けた情報を記憶する生成用記憶部を備え、
前記生成用移動動作特定部は、前記生成用移動方向検出部で複数検出された検出方向の組合せを特定し、
前記情報コード生成部は、前記生成用移動動作特定部によって特定された検出方向の組合せを、前記生成用記憶部で各方向に対応付けられた数値にそれぞれ置換して前記暗号化キーを生成するように構成されており、
前記読取端末は、前記読取用移動方向検出部によって検出可能な複数の方向と、それら各方向に対応する数値とを対応付けた情報を記憶する読取用記憶部を備え、
前記読取用移動動作特定部は、前記読取用移動方向検出部で複数検出された検出方向の組合せを特定し、
前記解読部は、前記読取用移動動作特定部によって特定された検出方向の組合せを、前記読取用記憶部で各方向に対応付けられた数値にそれぞれ置換して前記復号化キーを生成するように構成されていることを特徴とする請求項１から請求項３のいずれか一項に記載の情報コードシステム。
【請求項５】
前記生成用移動方向検出部は、前記生成端末で設定された複数の方向において各方向での当該生成端末の移動量を検出可能とされており、それら複数の方向のいずれかの方向において当該生成端末の移動量が所定量を超えた場合に、当該いずれかの方向を当該生成端末での検出方向として検出し、
前記読取用移動方向検出部は、前記読取端末で設定された複数の方向において各方向での当該読取端末の移動量を検出可能とされており、それら複数の方向のいずれかの方向において当該読取端末の移動量が所定量を超えた場合に、当該いずれかの方向を当該読取端末での検出方向として検出することを特徴とする請求項１から請求項４のいずれか一項に記載の情報コードシステム。
【請求項６】
前記生成端末は、当該生成端末に対する所定の指示操作に応じて当該生成端末で検出可能となる複数の候補方向の中から前記生成用移動方向検出部で検出するべき方向を設定する生成側設定部を備えており、
前記読取端末は、当該読取端末に対する所定の指示操作に応じて当該読取端末で検出可能となる複数の候補方向の中から前記読取用移動方向検出部で検出するべき方向を設定する読取側設定部を備えていることを特徴とする請求項１から請求項５のいずれか一項に記載の情報コードシステム。
【請求項７】
前記生成端末の前記情報コード生成部は、前記生成用移動動作特定部によって特定された移動動作によって表わされる情報と、当該生成端末に記憶された生成側キー情報を基に、当該生成端末に記憶されたデータを暗号化し、その暗号化された暗号データを記録してなる前記情報コードを生成するように構成され、
前記読取端末の前記解読部は、前記生成用移動動作特定部によって特定された移動動作によって表わされる情報と、前記読取用移動動作特定部によって特定された移動動作によって表わされる情報とが対応し、且つ当該読取端末に記憶された読取側キー情報が前記生成側キー情報に対応する場合に、前記情報コードに記録された前記暗号データを復号化することを特徴とする請求項１から請求項６のいずれか一項に記載の情報コードシステム。
【請求項８】
前記生成端末の前記情報コード生成部は、前記生成用移動動作特定部によって特定された移動動作によって表わされる情報と、当該生成端末に記憶された生成側キー情報とに基づいて当該生成端末に記憶されたデータを暗号化する第１の暗号化方法と、前記生成側キー情報に基づいて当該生成端末に記憶されたデータを暗号化する第２の暗号化方法とを選択可能とされ、いずれかの暗号化方法によって暗号化された暗号データを記録するように構成され、
前記読取端末の前記解読部は、
前記情報コードに記録された前記情報コードの暗号化方法を判定する判定部を備え、
当該判定部によって前記第１の暗号化方法と判定される場合には、前記生成用移動動作特定部によって特定された移動動作によって表わされる情報と、前記読取用移動動作特定部によって特定された移動動作によって表わされる情報とが対応し、且つ当該読取端末に記憶された読取側キー情報が前記生成側キー情報に対応する場合に、前記情報コードに記録された前記暗号データを復号化し、
前記判定部によって前記第２の暗号化方法と判定される場合には、当該読取端末に記憶された前記読取側キー情報が前記生成側キー情報に対応する場合に前記情報コードに記録された前記暗号データを復号化することを特徴とする請求項１から請求項６のいずれか一項に記載の情報コードシステム。
【請求項９】
情報コードを生成可能な生成端末であって、
当該生成端末で設定された複数の方向において各方向に当該生成端末が移動したことを検出可能な生成用移動方向検出部と、
前記生成用移動方向検出部で複数検出された検出方向に基づいて、当該生成端末に対する移動動作を特定する生成用移動動作特定部と、
前記生成用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該生成端末に記憶されたデータを暗号化し、その暗号化された暗号データを記録してなる前記情報コードを生成する情報コード生成部と、
前記情報コード生成部で生成された前記情報コードを出力する出力部と、
を有することを特徴とする情報コードの生成端末。
【請求項１０】
暗号データが記録された情報コードを読取可能な読取端末であって、
当該読取端末で設定された複数の方向において各方向に当該読取端末が移動したことを検出可能な読取用移動方向検出部と、
前記読取用移動方向検出部で複数検出された検出方向に基づいて、当該読取端末に対する移動動作を特定する読取用移動動作特定部と、
前記情報コードを撮像可能な撮像部と、
前記撮像部で撮像された前記情報コードの画像を解読可能に構成され、前記読取用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該情報コードに記録された前記暗号データを復号化する解読部と、
を有することを特徴とする情報コードの読取端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報コードシステム、情報コードの生成端末、及び情報コードの読取端末に関するものである。
【背景技術】
【０００２】
現在、情報コードは様々な用途で用いられており、用途によっては、情報コードに記録されるデータを秘匿化すべき場合もありうる。このような用途では、情報コード内の一部を暗号化しておく方法が有効であり、このような技術としては特許文献１のようなものが提供されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２９９４２２号公報
【特許文献２】特開２０１１−３５８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１で開示されるようなセキュリティ性の高い情報コードは、コード生成時或いは解読時の暗号化キーの入力方法が問題となる。例えば、一般的なキー入力等の方法では、入力ボタンが容易に視認できたり、ボタン操作の痕跡などが残ってしまう虞があり、暗号化キーが漏洩してしまう懸念がある。
【０００５】
一方、情報コードの読取装置以外では、特許文献２のような技術も提供されている。この技術では、キー入力部によるキー入力と、モーションセンサによる姿勢検出とを併用し、暗証番号及び認証用の動作を入力するようにしている。しかしながら、このように入力を複雑に併用する技術は、入力時のユーザへの負担が大きくなり、操作性、利便性を大きく損ねるため、暗号化された情報コードの生成や解読に適用しにくいという問題がある。例えば、暗号化された情報コードを読み取る場面などでは、認証用の情報を入力するための操作だけでなく、情報コードを読み取る操作も行う必要があるため、認証用の情報を入力するための操作が複雑化すると解読までの操作が非常に煩雑化し、迅速かつスムーズな解読が求められる当該分野では非常に使いづらい構成となってしまう。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、暗号化又は復号化に用いる情報を入力する際の負担が少なく、且つセキュリティ面で有利な構成を有する情報コードシステム、生成端末、読取端末を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、情報コードを生成可能な生成端末と、当該生成端末と同一又は別の端末として構成される読取端末とを備えた情報コードシステムであって、
前記生成端末は、
当該生成端末で設定された複数の方向において各方向に当該生成端末が移動したことを検出可能な生成用移動方向検出部と、
前記生成用移動方向検出部で複数検出された検出方向に基づいて、当該生成端末に対する移動動作を特定する生成用移動動作特定部と、
前記生成用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該生成端末に記憶されたデータを暗号化し、その暗号化された暗号データを記録してなる前記情報コードを生成する情報コード生成部と、
前記情報コード生成部で生成された前記情報コードを出力する出力部と、
を有し、
前記読取端末は、
当該読取端末で設定された複数の方向において各方向に当該読取端末が移動したことを検出可能な読取用移動方向検出部と、
前記読取用移動方向検出部で複数検出された検出方向に基づいて、当該読取端末に対する移動動作を特定する読取用移動動作特定部と、
前記生成端末の前記出力部で出力された前記情報コードが前記生成端末又は他の物体で示されているときに、当該情報コードを撮像可能な撮像部と、
前記撮像部で撮像された前記情報コードの画像を解読可能に構成され、前記読取用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該情報コードに記録された前記暗号データを復号化する解読部と、
を有することを特徴とする。
【０００８】
第２の発明は、情報コードを生成可能な生成端末であって、
当該生成端末で設定された複数の方向において各方向に当該生成端末が移動したことを検出可能な生成用移動方向検出部と、
前記生成用移動方向検出部で複数検出された検出方向に基づいて、当該生成端末に対する移動動作を特定する生成用移動動作特定部と、
前記生成用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該生成端末に記憶されたデータを暗号化し、その暗号化された暗号データを記録してなる前記情報コードを生成する情報コード生成部と、
前記情報コード生成部で生成された前記情報コードを出力する出力部と、
を有することを特徴とする。
【０００９】
第３の発明は、暗号データが記録された情報コードを読取可能な読取端末であって、
当該読取端末で設定された複数の方向において各方向に当該読取端末が移動したことを検出可能な読取用移動方向検出部と、
前記読取用移動方向検出部で複数検出された検出方向に基づいて、当該読取端末に対する移動動作を特定する読取用移動動作特定部と、
前記情報コードを撮像可能な撮像部と、
前記撮像部で撮像された前記情報コードの画像を解読可能に構成され、前記読取用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該情報コードに記録された前記暗号データを復号化する解読部と、
を有することを特徴とする。
【発明の効果】
【００１０】
請求項１の発明によれば、生成端末での暗号化時に、生成端末の移動動作によって表される情報を基に暗号化を行うことができるため、キー入力を見られることによって情報が特定されることがなく（例えば、キーの押下順序とキーに明示された数字等を把握されることで暗号化に要する情報が特定されることがなく）、セキュリティ面で有利になる。また、複雑なキー入力作業を省略或いは抑制できるため、入力作業の負担軽減にも寄与する。
また、読取端末でも、復号化の際に複雑なキー入力作業を省略或いは抑制できるため読取作業の負担軽減を図ることができる。
【００１１】
請求項２の発明では、前記生成用移動方向検出部は、前記生成端末において所定の基準軸方向をＸ軸方向とし、このＸ軸方向と直交する所定方向をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する方向をＺ軸方向としたときの、前記生成端末のＸ軸方向の移動、Ｙ軸方向の移動、Ｚ軸方向の移動を少なくとも検出可能に構成され、それらいずれかの方向への移動が検出されたことを条件としてその方向を当該生成端末での検出方向とし、
前記読取用移動方向検出部は、前記読取端末において所定の基準軸方向をＸ軸方向とし、このＸ軸方向と直交する所定方向をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する方向をＺ軸方向としたときの、前記読取端末のＸ軸方向の移動、Ｙ軸方向の移動、Ｚ軸方向の移動を少なくとも検出可能に構成され、それらいずれかの方向への移動が検出されたことを条件としてその方向を当該読取端末での検出方向とする。
このように少なくとも３つの方向を検出可能とした上で、これらの方向の動作によって暗号化及び復号化を行う構成とすれば、操作パターンを多様化することができると共に、第三者が操作パターンを把握し難くすることができ、セキュリティ面でも一層有利になる。
【００１２】
請求項３の発明では、前記生成用移動動作特定部は、前記生成用移動方向検出部によって前記生成端末での検出方向が複数得られた場合に、それら複数の検出方向の組合せを特定し、前記情報コード生成部は、前記生成用移動動作特定部によって特定された複数の検出方向の組合せを反映して暗号化キーを生成し、当該暗号化キーに基づいて前記暗号データを生成するように構成され、前記読取用移動動作特定部は、前記読取用移動方向検出部によって前記読取端末での検出方向が複数得られた場合に、それら複数の検出方向の組合せを特定し、前記解読部は、前記読取用移動動作特定部によって特定された複数の検出方向の組合せを反映して復号化キーを生成し、当該復号化キーを用いて前記情報コードに記録された前記暗号データを復号化する。
この構成によれば、限られた数しか移動方向を検出できなくても、多数の移動動作が可能となり、暗号化及び復号化のバリエーションが増える。
【００１３】
請求項４の発明では、前記生成端末は、前記生成用移動方向検出部によって検出可能な複数の方向と、それら各方向に対応する数値とを対応付けた情報を記憶する生成用記憶部を備え、前記生成用移動動作特定部は、前記生成用移動方向検出部で複数検出された検出方向の組合せを特定し、前記情報コード生成部は、前記生成用移動動作特定部によって特定された検出方向の組合せを、前記生成用記憶部で各方向に対応付けられた数値にそれぞれ置換して前記暗号化キーを生成するように構成されており、前記読取端末は、前記読取用移動方向検出部によって検出可能な複数の方向と、それら各方向に対応する数値とを対応付けた情報を記憶する読取用記憶部を備え、前記読取用移動動作特定部は、前記読取用移動方向検出部で複数検出された検出方向の組合せを特定し、前記解読部は、前記読取用移動動作特定部によって特定された検出方向の組合せを、前記読取用記憶部で各方向に対応付けられた数値にそれぞれ置換して前記復号化キーを生成するように構成されている。
この構成では、復号化に必要な情報（暗号化キー）を情報コード内に記録する必要が無く、セキュリティ性が一層高まる。
【００１４】
請求項５の発明では、前記生成用移動方向検出部は、前記生成端末で設定された複数の方向において各方向での当該生成端末の移動量を検出可能とされており、それら複数の方向のいずれかの方向において当該生成端末の移動量が所定量を超えた場合に、当該いずれかの方向を当該生成端末での検出方向として検出し、前記読取用移動方向検出部は、前記読取端末で設定された複数の方向において各方向での当該読取端末の移動量を検出可能とされており、それら複数の方向のいずれかの方向において当該読取端末の移動量が所定量を超えた場合に、当該いずれかの方向を当該読取端末での検出方向として検出する。
この構成によれば、ユーザが所望の方向に移動させたときに意図しない方向（移動量が少ない方向）まで検出されてしまうことを防ぎやすくなる。従って、誤検出に起因するデコード不良等を効果的に抑制することができる。
【００１５】
請求項６の発明では、前記生成端末は、当該生成端末に対する所定の指示操作に応じて当該生成端末で検出可能となる複数の候補方向の中から前記生成用移動方向検出部で検出するべき方向を設定する生成側設定部を備えており、前記読取端末は、当該読取端末に対する所定の指示操作に応じて当該読取端末で検出可能となる複数の候補方向の中から前記読取用移動方向検出部で検出するべき方向を設定する読取側設定部を備えている。
この構成では、生成端末及び読取端末において、検出させる方向を任意に設定することができるため、より利便性が高まる。また、検出方向が任意のものとなるため、どの検出方向で認識されているかを第三者が把握し難く、セキュリティ面で一層有利になる。
【００１６】
請求項７の発明では、前記生成端末の前記情報コード生成部は、前記生成用移動動作特定部によって特定された移動動作によって表わされる情報と、当該生成端末に記憶された生成側キー情報を基に、当該生成端末に記憶されたデータを暗号化し、その暗号化された暗号データを記録してなる前記情報コードを生成するように構成され、前記読取端末の前記解読部は、前記生成用移動動作特定部によって特定された移動動作によって表わされる情報と、前記読取用移動動作特定部によって特定された移動動作によって表わされる情報とが対応し、且つ当該読取端末に記憶された読取側キー情報が前記生成側キー情報に対応する場合に、前記情報コードに記録された前記暗号データを復号化する。
このように移動動作同士が対応し、更に、読取側キー情報と生成側キー情報が対応する
ことを条件として復号化しうる構成とすれば、セキュリティ性が極めて高くなる。
【００１７】
請求項８の発明では、前記生成端末の前記情報コード生成部は、前記生成用移動動作特定部によって特定された移動動作によって表わされる情報と、当該生成端末に記憶された生成側キー情報とに基づいて当該生成端末に記憶されたデータを暗号化する第１の暗号化方法と、前記生成側キー情報に基づいて当該生成端末に記憶されたデータを暗号化する第２の暗号化方法とを選択可能とされ、いずれかの暗号化方法によって暗号化された暗号データを記録するように構成され、前記読取端末の前記解読部は、前記情報コードに記録された前記情報コードの暗号化方法を判定する判定部を備え、当該判定部によって前記第１の暗号化方法と判定される場合には、前記生成用移動動作特定部によって特定された移動動作によって表わされる情報と、前記読取用移動動作特定部によって特定された移動動作によって表わされる情報とが対応し、且つ当該読取端末に記憶された読取側キー情報が前記生成側キー情報に対応する場合に、前記情報コードに記録された前記暗号データを復号化し、前記判定部によって前記第２の暗号化方法と判定される場合には、当該読取端末に記憶された前記読取側キー情報が前記生成側キー情報に対応する場合に前記情報コードに記録された前記暗号データを復号化するように構成されている。
この構成では、移動動作及び生成側キー情報に基づく暗号化方法（第１の暗号化方法）と、移動動作に基づかない暗号化方法（第２の暗号化方法）とを使い分けることができる。移動動作を行わずに暗号化する場合には、生成側キー情報に基づいて暗号化を行うことで一定のセキュリティ性を確保することができる。また、移動動作をも加味して暗号化する場合には、移動動作と生成側キー情報が取得できなければ復号化を行えないため、セキュリティ面でより万全を期すことができる。
【００１８】
請求項９の発明によれば、請求項１と同様の効果を奏する生成端末を実現できる。
【００１９】
請求項１０の発明によれば、請求項１と同様の効果を奏する読取端末を実現できる。
【図面の簡単な説明】
【００２０】
【図１】図１は、第１実施形態に係る情報コード読取システムを構成する情報コード読取装置を概略的に示す図であり、図１（Ａ）は、その平面図であり、図１（Ｂ）はその側面図である。
【図２】図２は、図１の情報コード読取装置の電気的構成を例示するブロック図である。
【図３】図３は、図１の情報コード読取装置で規定された方向を説明する説明図である。
【図４】図４は、情報コード読取装置、情報コード、及び情報コードを付す対象物を説明する説明図である。
【図５】図５は、情報処理装置及び印刷装置の電気的構成を概略的に例示するブロック図である。
【図６】図６は、第１実施形態に係る情報コード読取システムで生成される情報コードを概念的に説明する説明図である。
【図７】図７（Ａ）は、図６の情報コードのデータ構成を例示する説明図であり、図７（Ｂ）は、公開領域に記録する開示データを例示する説明図であり、図７（Ｃ）は、非公開領域に記録する暗号データを例示する説明図である。
【図８】図８（Ａ）は、データの暗号化の流れを例示するフローチャートであり、図８（Ｂ）は、復号化の流れを例示するフローチャートである。
【図９】図９は、図８（Ａ）又は図８（Ｂ）における鍵データ入力処理の流れを例示するフローチャートである。
【図１０】図１０は、図９における移動方向検出処理の流れを例示するフローチャートである。
【図１１】図１１は、移動方向に対するデータの割り当てを説明する説明図である。
【図１２】図１２は、割り当てデータを増やす考え方を説明する説明図である。
【図１３】図１３は、検出方向と適用範囲との関係を説明する説明図である。
【図１４】図１４は、図１２、図１３のように割り当てデータを増やす場合の移動方向検出処理の流れを例示するフローチャートである。
【図１５】図１５は、第２実施形態における読取処理の流れを例示するフローチャートである。
【図１６】図１６は、図１５の読取処理における解読処理の流れを例示するフローチャートである。
【図１７】図１７は、第２実施形態における移動動作検出処理の流れを例示するフローチャートである。
【発明を実施するための形態】
【００２１】
[第１実施形態]
以下、本発明を具現化した第１実施形態について、図面を参照して説明する。
図１（Ａ），（Ｂ）に示す情報コード読取装置（以下、単に読取装置ともいう）１は、長手状の外観をなしており、その一端側のほぼ半分の領域が把持領域とされ、ユーザによって把持されつつ使用される構成をなしている。この情報コード読取装置１は、例えば、ユーザによって携帯されて様々な場所で用いられる携帯型の情報端末として構成されており、バーコードや二次元コードなどの情報コードを読み取る機能を有している。
【００２２】
図１（Ａ），（Ｂ）に示すように、情報コード読取装置１は、ＡＢＳ樹脂等の合成樹脂材料により形成される上側ケース１０ａおよび下側ケース１０ｂが組み付けられて構成される長手状の筐体１０によって外郭が形成されている。また、上側ケース１０ａには、所定の情報を入力する際に操作されるファンクションキーおよびテンキー等の操作スイッチ４２や、所定の情報を表示するための表示部（液晶表示器４６）等が配置されている。
【００２３】
図２に示すように、情報コード読取装置１は、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示器４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいはケース（図示略）内に内装されている。
【００２４】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、ケースに形成された読取口（図示略）を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒとしては、例えば、樹脂材料、金属材料等の様々な対象が考えられ、このような読取対象物Ｒに情報コードＣが印刷、ダイレクトマーキングなどによって形成されている。
【００２５】
情報コードＣは、ＱＲコード（登録商標）、データマトリックコード、マキシコード、その他の二次元コードなどであってもよく、バーコード等の一次元コードであってもよい。また、複数の情報コードが一度に撮像されて一括して読み取られてもよい。
【００２６】
受光センサ２３は、読取対象物Ｒや情報コードＣに照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２３は、結像レンズ２７を介して入射する入射光を受光面２３ａで受光可能に図略のプリント配線板に実装されている。なお、受光センサ２３は、「撮像部」の一例に相当し、１又は複数の情報コードを撮像可能に構成され、生成端末の出力部で出力された情報コードが当該生成端末又は他の物体で示されているときに、当該情報コードを撮像可能とされている。
【００２７】
フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ケースに形成された読取口（図示略）と結像レンズ２７との間に設けられている。これにより、反射光Ｌｒの波長相当を超える不要な光が受光センサ２３に入射することを抑制している。また、結像レンズ２７は、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとによって構成されており、本実施形態では、ケースに形成された読取口（図示略）に入射する反射光Ｌｒを集光し、受光センサ２３の受光面２３ａに情報コードＣのコード画像を結像するように構成されている。
【００２８】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、三軸センサ４３、液晶表示器４６、通信インタフェース４８等から構成されている。このマイコン系は、マイコン（情報処理装置）として機能し得る制御回路４０及びメモリ３５を中心として構成され、前述した光学系によって撮像された情報コードＣの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。
【００２９】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力され、当該メモリ３５の画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００３０】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００３１】
制御回路４０は、情報コード読取装置１を全体的に制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるものであり、情報処理機能を有している。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）が接続されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、三軸センサ４３、液晶表示器４６、通信インタフェース４８等が接続されている。また、通信インタフェース４８には、情報コード読取装置１の上位システムに相当するホストコンピュータＨＳＴなどを接続できるようになっている。
【００３２】
電源系は、電源スイッチ４１、電池４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、上述した各装置や各回路に、電池４９から供給される駆動電圧の導通や遮断が制御されている。なお、電池４９は、所定の直流電圧を発生可能な２次電池で、例えば、リチウムイオン電池等がこれに相当する。
【００３３】
また、情報コード読取装置１には、三軸センサ４３が設けられている。この三軸センサ４３は、公知の加速度センサなどによって構成され、本構成では情報コード読取装置１において互いに直交する所定の三方向のそれぞれの加速度を測定する構成をなしている。具体的には、図１に示すように、情報コード読取装置１の長手方向をＸ軸方向とし、情報コード読取装置１の厚さ方向（長手方向と直交する方向であり、表示部（液晶表示器４６）側の表面とその反対の裏面とが対向する方向）をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する幅方向をＺ軸方向としている。また、Ｘ軸方向の一方側（図１の例では液晶表示器４６側であり、Ｘ軸正側）が「上」側であり、これとは反対の他方側（Ｘ軸負側）が「下」側である。また、Ｚ軸方向の一方側（Ｚ軸正側）が「右」側であり、これとは
反対の他方側（Ｚ軸負側）が「左」側である。更に、Ｙ軸方向の一方側（液晶表示器４６によって表示する側であり、Ｙ軸正側）が「手前」側であり、これと反対の他方側（Ｙ軸負側）が「奥」側である（図３も参照）。なお、加速度を検出する方向はあくまで一例であり、各軸の方向はこの例に限られるものではない。
【００３４】
制御回路４０は、三軸センサ４３による各方向の検出値（Ｘ、Ｙ、Ｚ軸方向の各加速度）に基づき、公知の方法で、鉛直方向の向きと、情報コード読取装置１が移動している方向の向きを特定可能とされている。なお、三軸の加速度センサによって進行方向や鉛直方向を特定する技術は公知であるので詳細な省略するが、例えば、特開２００３−３０２４１９公報、特開２００７−３２５７２２公報などに示される方法のほか、公知の様々な方法を用いることができる。また、三軸センサ４３及び制御回路４０は、「移動方向検出部」の一例に相当し、当該読取装置において設定された複数の方向における各方向に当該読取装置が移動したことを検出するように機能する。即ち、設定されたＸ軸方向、Ｙ軸方向、Ｚ軸方向の加速度がそれぞれどの程度であるかを測定し、Ｘ軸方向、Ｙ軸方向、Ｚ軸方
向の移動速度や移動距離を測定できるようになっている。
【００３５】
（情報コード）
次に、情報コード及びその生成端末等について説明する。
図１に示す情報コード読取装置１或いはこれと同様のハードウェア構成をなす読取装置が生成端末として機能することになる。なお、情報コード読取装置１が、生成端末及び読取端末として機能する場合、この情報コード読取装置１によって「情報コードシステム」が実現されることになる。また、情報コード読取装置１が生成端末として機能し、同様の構成の他の端末が読取端末として機能する場合、情報コード読取装置１と他の端末とによって「情報コードシステム」が実現されることになる。以下の例では、図１の情報コード読取装置１が生成端末及び読取端末として機能する場合を代表例として説明する。
【００３６】
図４、図６には、一部領域を非公開領域Ｃｂ（暗号化キーに基づいて暗号化されたデータが記録される領域）とし、他の領域を公開領域Ｃａ（暗号化キーに基づく暗号化がなされていないデータが記録される領域）とする情報コード（一部非公開コード）Ｃを概念的に示している。図６のような情報コードＣの非公開領域Ｃｂに記録すべきデータ（暗号データ）は様々に考えられ、例えば、個人情報（氏名、生年月日、住所等）やその他の秘密にすべき情報（秘密情報）が挙げられる。
【００３７】
生成端末（ここでは情報コード読取装置１）で、図４，図６に例示されるような情報コードＣを生成する場合、非公開領域Ｃｂに記録すべきデータ（暗号化前の元データ）を予め生成端末（情報コード読取装置１）が取得する必要がある。このようなデータを生成端末に取得させる方法は様々な方法が挙げられる。例えば、生成端末の操作部（情報コード読取装置１の操作スイッチ４２等）を利用して入力する方法であってもよく、生成端末と通信可能な外部装置から生成端末にデータを送信する方法などであっても良い。また、公開領域に記録すべきデータも、生成端末の操作部（情報コード読取装置１の操作スイッチ４２等）を利用して入力されてもよく、生成端末と通信可能な外部装置から生成端末に送信されてもよい。
【００３８】
そして、生成端末において、コード化すべきデータ（公開領域に記録すべきデータ、及び非公開領域に記録すべきデータ）が用意された後には、非公開領域に記録すべきデータを暗号化する処理を行う。この処理は、例えば図８（Ａ）のような流れで行うことができ、まず、Ｓ１において暗号鍵入力要求を行う。この処理では、例えば、生成端末（ここでは情報コード読取装置１）の表示部などに暗号鍵の入力操作を促すメッセージを表示する。そして、Ｓ２では、図９のような流れで鍵データ入力処理を行う。図９の処理では、まず移動方向検出処理を行う（Ｓ２１）。Ｓ２１の処理は、具体的には、図１０のような流れで行われ、まず、各軸の移動累積値を０に初期化する（Ｓ３１）。そして、三軸センサ４３（３軸モーションセンサ）により、Ｘ、Ｙ、Ｚ軸の移動量を取得し（Ｓ３２）、取得した移動量を各軸の移動累積値に加算する（Ｓ３３）。そして、移動累積値が閾値（予め定められた所定値）を超えた軸があるか否かを判断し（Ｓ３４）、あればＳ３４でＹｅｓに進んで図１０の処理を終了し、なければＳ３４でＮｏに進んでＳ３２以降の処理を繰り返す。この構成では、Ｓ３２〜Ｓ３４の処理によって微小時間毎に各軸の移動量を計測すると共に、各軸の累積移動量（移動累積値）を算出しており、Ｓ３１によって初期化されてからいずれかの軸の累積移動量（移動累積値）が閾値に達するまで各軸の移動量を検出することになる。そして、Ｓ３１にて初期化された後、累積移動量（移動累積値）がもっとも早く閾値に達した軸が当該移動方向検出処理（Ｓ２１）での移動方向として検出されることになり、このような移動方向検出処理がＳ２３にてＹｅｓに進むまで（即ち、暗号鍵作成に必要なデータ数に達するまで）複数回繰り返されることになる。
【００３９】
本構成では、制御回路４０及び三軸センサ４３が「生成用移動方向検出部」の一例に相当し、当該生成端末で設定された複数の方向において各方向に当該生成端末が移動したことを検出可能とされており、生成端末において所定の基準軸方向をＸ軸方向とし、このＸ軸方向と直交する所定方向をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する方向をＺ軸方向としたときの、前記生成端末のＸ軸方向の移動、Ｙ軸方向の移動、Ｚ軸方向の移動を少なくとも検出可能に構成され、それらいずれかの方向への移動が検出されたことを条件としてその方向を当該生成端末での検出方向としている。具体的には、前記生成端末で設定された複数の方向において各方向での当該生成端末の移動量を検出可能とされており、それら複数の方向のいずれかの方向において当該生成端末の移動量が所定量を超えた場合に、当該いずれかの方向を当該生成端末での検出方向として検出する。
【００４０】
Ｓ２１の移動方向検出処理によって移動方向が検出された場合には、Ｓ２２においてその移動方向に対応した割り当てデータを保存する。例えば、本構成では、図１１のようの各移動方向（動作方向）に対応付けて割り当てデータの値が記録されており、Ｓ２２では、このような記録内容に基づき、直近のＳ２１で検出された移動方向に対応する割り当てデータの値を取得し、保存することになる。上述したように、Ｘ軸方向の一方側（図１の例では液晶表示器４６側であり、Ｘ軸正側）が「上」側であり、この「上」側には「０」のデータが割り当てられている。従って、Ｓ２１の移動方向検出処理によって検出された移動方向が「上」（Ｘ軸の正側）である場合、Ｓ２２では、「０」の値を保存することになる。同様に、Ｘ軸方向の他方側（Ｘ軸負側）が「下」側であり、この「下」側には「１」のデータが割り当てられ、Ｚ軸方向の一方側（Ｚ軸正側）が「右」側であり、この「右」側には「２」のデータが割り当てられ、Ｚ軸方向の他方側（Ｚ軸負側）が「左」側であり、この「左」側には「３」のデータが割り当てられ、Ｙ軸方向の一方側（液晶表示器４６によって表示する側であり、Ｙ軸正側）が「手前」側であり、この「手前」側には「４」のデータが割り当てられ、Ｙ軸方向の他方側（Ｙ軸負側）が「奥」側であり、この「奥」側には「が」のデータが割り当てられている。従って、Ｓ２１の移動方向検出処理によって検出された移動方向が「下」「右」「左」「手間」「奥」である場合、図１１のように対応するいずれかの値を保存することになる。
【００４１】
本構成では、例えばメモリ３５が「生成用記憶部」の一例に相当し、生成用移動方向検出部によって検出可能な複数の方向と、それら各方向に対応する数値とを対応付けた情報（図１１のような情報）を記憶するように機能する。
【００４２】
そして、Ｓ２２の処理の後には、Ｓ２２の処理で保存された割り当てデータの数（即ち、Ｓ２２の処理が実行された回数）が、暗号鍵作成に必要なデータ数（例えば予め決められた所定数）に達したか否かを判断する（Ｓ２３）。暗号鍵作成に必要なデータ数は予め定められた数（例えば、「４」「８」等）であり、Ｓ２２で保存された割り当てデータの数がこの数に達していればＳ２３にてＹｅｓに進んで図９の処理を終了する。逆に、達していなければＳ２３にてＮｏに進み、暗号鍵作成に必要なデータ数に達するまでＳ２１以降の処理を繰り返す。
【００４３】
本構成では、制御回路４０が「生成用移動動作特定部」の一例に相当し、生成用移動方向検出部で複数検出された検出方向に基づいて、当該生成端末に対する移動動作を特定するように機能し、具体的には、生成用移動方向検出部によって生成端末での検出方向が複数得られた場合に、それら複数の検出方向の組合せを特定するように機能する。
【００４４】
このように鍵データ入力処理が終わった後には、Ｓ３において暗号鍵を作成する（
Ｓ３）。具体的には、Ｓ２２にて順次生成された値を並べたデータを暗号鍵とする。例えば、Ｓ２３において、暗号鍵生成に必要なデータ数が「８」と定められている場合、Ｓ２２で順次保存された「８」個の数字を並べたデータを暗号鍵とする。そして、Ｓ３においてこのように生成された暗号鍵と、予め定められた暗号化アルゴリズムによって公知の暗号化処理を行い、暗号データを生成する（Ｓ４）。
【００４５】
図８（Ａ）の処理によって暗号データが生成された後には、その暗号データを非公開領域Ｃｂに記録し、暗号化されていないデータを公開領域Ｃａに記録する構成で情報コードＣを生成する。この公開領域Ｃａは、解読キーを有さない読取装置によっても読み取りが可能な領域として構成されており、第三者に開示して差し支えのない様々な開示データを含ませることができる。
【００４６】
一部領域を非公開領域（暗号化キーに対応する解読キーの取得を条件として読み取り可能な領域）とし、他の領域を公開領域（暗号化キーに対応する解読キーを用いずに読み取り可能な領域）とする情報コードの生成方法や生成される情報コードの具体的構成としては、例えば、特開２００９−９５４７公報、特開２００８−２９９４２２公報などに開示された技術などを好適に用いることができる。図７（Ａ）には、これら公報の技術を用いた場合の情報コードのデータ構成を例示しており、このうち、「開示コード」は、図７（Ｂ）のような各開示データ（公開すべきデータ）をＪＩＳの基本仕様（ＪＩＳＸ０５１０：２００４）に従って符号化したものである。また、「秘匿コード」は、図７（Ｃ）のような各暗号データ（図８（Ａ）の処理で生成された暗号データ）をＪＩＳの基本仕様（ＪＩＳＸ０５１０：２００４）に従って符号化したものである。
【００４７】
なお、特開２００９−９５４７公報、特開２００８−２９９４２２公報に示す方法では、非公開領域に記録される秘匿コード内に復号キーや復号キーを特定しうる復号キー検査データを含める例も示されているが、非公開領域内に復号キーや復号キー検査データを含ませないようにすることが望ましい。また、情報コードの生成方法や生成される情報コードの具体的構成はこの例に限られるものではなく、一部領域に暗号化データを記録し、他の領域に非暗号化データを記録した二次元コードを生成可能な方法であれば、これら公報に記載された方法以外の方法で生成されていてもよい。或いは、データ領域のデータを全て図８（Ａ）の処理で生成された暗号化データによって構成してもよい。
【００４８】
本構成では、制御回路４０が「情報コード生成部」の一例に相当し、生成用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該生成端末に記憶されたデータを暗号化し、その暗号化された暗号データを記録してなる情報コードを生成するように機能し、具体的には、生成用移動動作特定部によって特定された複数の検出方向の組合せを反映して暗号化キー（暗号鍵）を生成し、当該暗号化キーに基づいて暗号データを生成するように機能する。より具体的には、生成用移動動作特定部によって特定された検出方向の組合せを、生成用記憶部で各方向に対応付けられた数値にそれぞれ置換して暗号化キーを生成するように構成されている。
【００４９】
このように生成された情報コードＣは、生成端末で表示してもよく、例えば、図５のような外部装置８０に送信し、プリンタ８６などによって印刷するようにしてもよい。或いは、この外部装置８０や生成端末（情報コード読取装置２０）から他の携帯端末などに送信し、その携帯端末の表示部で表示させるようにしてもよい。なお、情報コード読取装置１が生成端末として機能する場合において当該生成端末で表示する場合、液晶表示器４６が「出力部」に相当し、情報コード生成部で生成された情報コードＣを出力するように機能する。また、外部装置８０や他の携帯端末に送信する場合、制御回路４０及び通信インタフェース４８が「出力部」の一例に相当する。また、生成端末（例えば、情報コード読取装置１）から送信された情報コードＣがプリンタ８６等によって印刷される場合、情報コードＣが印刷された印刷体或いはこれが付された物体が「他の物体」の一例に相当する。また、生成端末（例えば、情報コード読取装置１）から送信された情報コードＣが他の携帯端末に送信され、当該携帯端末の表示部で表示される場合、当該携帯端末が「他の物体」の一例に相当する。
【００５０】
（読取処理）
次に、読取処理について説明する。
読取端末は、後述する読取処理を実行して情報コードを読取可能であればよく、本構成では、生成端末と同一の端末、又は生成端末とは別の端末によって構成される読取端末により、例えば図８（Ｂ）のような流れで読取処理が行われる。なお、ここでは、情報コード読取装置１が生成端末及び読取端末として機能し、情報コード読取装置１によって図１０の読取処理が行われる例を代表例として説明する。
【００５１】
図８（Ｂ）の処理は、情報コードＣを撮像した後の解読処理を示すものであり、例えば読取端末（ここでは情報コード読取装置１）において情報コードＣが撮像されたことをトリガとして実行される処理である。なお、受光センサ２３は「撮像部」に相当し、生成端末の出力部で出力された情報コードＣが当該生成端末又は他の物体で示されているときに、当該情報コードＣを撮像可能とされている。
【００５２】
図８（Ｂ）の解読処理では、まず、復号鍵の入力要求を行う（Ｓ１１）。この処理では、例えば、読取端末（ここでは情報コード読取装置１）の表示部などに復号鍵の入力操作を促すメッセージを表示する。そして、鍵データ入力処理を行う（Ｓ１２）。この鍵データ入力処理は、図８（Ａ）のＳ２（即ち、図９、図１０）と同様の処理であり、図９、図１０と同様の流れで鍵データの入力処理を行う。
【００５３】
本構成では、図１０の処理を行い得る制御回路４０及び三軸センサ４３が「読取用移動方向検出部」の一例に相当し、上述の「生成用移動方向検出部」と同様に機能する。即ち、読取端末（情報コード読取装置１）で設定された複数の方向（Ｘ軸、Ｙ軸、Ｚ軸のそれぞれの正方向、負方向）において各方向に当該読取端末が移動したことを検出可能であり、当該読取端末において所定の基準軸方向をＸ軸方向とし、このＸ軸方向と直交する所定方向をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する方向をＺ軸方向としたときの、当該読取端末のＸ軸方向の移動、Ｙ軸方向の移動、Ｚ軸方向の移動を少なくとも検出可能に構成され、それらいずれかの方向への移動が検出されたことを条件としてその方向を当該読取端末での検出方向とするように機能する。より具体的には、読取端末（情報コード読取装置１）で設定された複数の方向において各方向での当該読取端末の移動量を検出可能とされており、それら複数の方向のいずれかの方向において当該読取端末の移動量が所定量を超えた場合に、当該いずれかの方向を当該読取端末での検出方向として検出する。
【００５４】
また、図９、図１０の処理を行い得る制御回路４０は、「読取用移動動作特定部」の一例に相当し、読取用移動方向検出部で複数検出された検出方向に基づいて、当該読取端末に対する移動動作を特定するように機能し、具体的には、読取用移動方向検出部によって当該読取端末での検出方向が複数得られた場合に、それら複数の検出方向の組合せを特定するように機能する。
【００５５】
また、読取端末（ここでは、情報コード読取装置１）において、生成端末と同様に図１１のようなデータがメモリ３５記憶されており、このメモリ３５は、「読取用記憶部」の一例に相当し、読取用移動方向検出部によって検出可能な複数の方向と、それら各方向に対応する数値とを対応付けた情報を記憶するように機能する。
【００５６】
そして、Ｓ１２の処理（図９、図１０の処理）の後には、Ｓ１２で得られた入力データから復号鍵を生成する（Ｓ１３）。このＳ１３の処理は、Ｓ３と同様であり、Ｓ２２にて順次生成された値を並べたデータを復号鍵とする。例えば、Ｓ２３において、暗号鍵生成に必要なデータ数が「８」と定められている場合、Ｓ２２で順次保存された「８」個の数字を並べたデータを復号鍵とする。そして、Ｓ１３においてこのように生成された復号鍵と、予め定められた復号化アルゴリズム（即ち、生成端末の暗号化アルゴリズムで生成された暗号を解読し得る復号化アルゴリズム）によって公知の復号化処理を行い、情報コードＣに記録された暗号データの解読を試みる（Ｓ１４）。なお、Ｓ１４の処理では、情報コードＣの非公開領域の暗号データを少なくとも解読するが、公開領域のデータはＳ１４で解読してもよく、例えばＳ１１の前に解読してもよい。そして、暗号鍵と復号鍵が一致していれば（即ち、Ｓ１４で解読を試みる情報コードＣの生成時に用いられた暗号鍵とＳ１３で生成された復号鍵が同一であれば）、Ｓ１５にてＹｅｓに進むことになり、情報コードＣの非公開領域に記録されが暗号データを解読した元データ（元の平文）を出力する（Ｓ１６）。この場合、情報コードＣに記録された暗号データの内容及び公開領域の内容を共に出力すればよい。逆に、暗号鍵（情報コードＣに記録される暗号データの暗号化に用いられた暗号鍵）とＳ１３で生成した復号鍵が一致していなければ、Ｓ１５にてＮｏに進み、エラー処理を行う（Ｓ１７）。このエラー処理では、エラーである旨の報知を行ってもよく、公開領域の情報のみを出力してもよい。
【００５７】
本構成では、制御回路４０が「解読部」の一例に相当し、撮像部で撮像された情報コードＣの画像を解読可能に構成され、読取用移動動作特定部によって特定された移動動作によって表わされる情報を基に、当該情報コードに記録された暗号データを復号化するように機能し、具体的には、読取用移動動作特定部によって特定された複数の検出方向の組合せを反映して復号化キー（復号鍵）を生成し、当該復号化キーを用いて情報コードＣに記録された暗号データを復号化するように機能する。より具体的には、読取用移動動作特定部によって特定された検出方向の組合せを、読取用記憶部で各方向に対応付けられた数値にそれぞれ置換して復号化キーを生成している。
【００５８】
（第１実施形態の主な効果）
本構成では、生成端末での暗号化時に、生成端末の移動動作によって表される情報を基に暗号化を行うことができるため、キー入力を見られることによって情報が特定されることがなく（例えば、キーの押下順序とキーに明示された数字等を把握されることで暗号化に要する情報が特定されることがなく）、セキュリティ面で有利になる。また、複雑なキー入力作業を省略或いは抑制できるため、入力作業の負担軽減にも寄与する。また、読取端末でも、復号化の際に複雑なキー入力作業を省略或いは抑制できるため読取作業の負担軽減を図ることができる。
【００５９】
また、生成用移動方向検出部は、生成端末において所定の基準軸方向をＸ軸方向とし、このＸ軸方向と直交する所定方向をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する方向をＺ軸方向としたときの、生成端末のＸ軸方向の移動、Ｙ軸方向の移動、Ｚ軸方向の移動を少なくとも検出可能に構成され、それらいずれかの方向への移動が検出されたことを条件としてその方向を当該生成端末での検出方向とし、読取用移動方向検出部は、読取端末において所定の基準軸方向をＸ軸方向とし、このＸ軸方向と直交する所定方向をＹ軸方向とし、これらＸ軸方向及びＹ軸方向と直交する方向をＺ軸方向としたときの、読取端末のＸ軸方向の移動、Ｙ軸方向の移動、Ｚ軸方向の移動を少なくとも検出可能に構成され、それらいずれかの方向への移動が検出されたことを条件としてその方向を当該読取端末での検出方向とする。このように少なくとも３つの方向を検出可能とした上で、これらの方向の動作によって暗号化及び復号化を行う構成とすれば、操作パターンを多様化することができると共に、第三者が操作パターンを把握し難くすることができ、セキュリティ面でも一層有利になる。
【００６０】
また、生成用移動動作特定部は、生成用移動方向検出部によって生成端末での検出方向が複数得られた場合に、それら複数の検出方向の組合せを特定し、情報コード生成部は、生成用移動動作特定部によって特定された複数の検出方向の組合せを反映して暗号化キーを生成し、当該暗号化キーに基づいて暗号データを生成するように構成され、読取用移動動作特定部は、読取用移動方向検出部によって読取端末での検出方向が複数得られた場合に、それら複数の検出方向の組合せを特定し、解読部は、読取用移動動作特定部によって特定された複数の検出方向の組合せを反映して復号化キーを生成し、当該復号化キーを用いて情報コードに記録された暗号データを復号化する。この構成によれば、限られた数しか移動方向を検出できなくても、多数の移動動作が可能となり、暗号化及び復号化のバリエーションが増える。
【００６１】
また、生成端末は、生成用移動方向検出部によって検出可能な複数の方向と、それら各方向に対応する数値とを対応付けた情報を記憶する生成用記憶部を備え、生成用移動動作特定部は、生成用移動方向検出部で複数検出された検出方向の組合せを特定し、情報コード生成部は、生成用移動動作特定部によって特定された検出方向の組合せを、生成用記憶部で各方向に対応付けられた数値にそれぞれ置換して暗号化キーを生成するように構成されている。そして、読取端末は、読取用移動方向検出部によって検出可能な複数の方向と、それら各方向に対応する数値とを対応付けた情報を記憶する読取用記憶部を備え、読取用移動動作特定部は、読取用移動方向検出部で複数検出された検出方向の組合せを特定し、解読部は、読取用移動動作特定部によって特定された検出方向の組合せを、読取用記憶部で各方向に対応付けられた数値にそれぞれ置換して復号化キーを生成するように構成されている。この構成では、復号化に必要な情報（暗号化キー）を情報コード内に記録する必要が無く、セキュリティ性が一層高まる。
【００６２】
更に、生成用移動方向検出部は、生成端末で設定された複数の方向において各方向での当該生成端末の移動量を検出可能とされており、それら複数の方向のいずれかの方向において当該生成端末の移動量が所定量を超えた場合に、当該いずれかの方向を当該生成端末での検出方向として検出するようになっている。また、読取用移動方向検出部は、読取端末で設定された複数の方向において各方向での当該読取端末の移動量を検出可能とされており、それら複数の方向のいずれかの方向において当該読取端末の移動量が所定量を超えた場合に、当該いずれかの方向を当該読取端末での検出方向として検出するようになっている。この構成によれば、ユーザが所望の方向に移動させたときに意図しない方向（移動量が少ない方向）まで検出されてしまうことを防ぎやすくなる。従って、誤検出に起因するデコード不良等を効果的に抑制することができる。
【００６３】
（第１実施形態の変更例）
次に、上記代表例を変更した変更例について図１２〜図１４を参照しつつ説明する。
この例では、図１２（Ａ）のように、三軸センサ４３によって計測可能な６方向だけでなく、更に計測方向を増やしており、図１２（Ｂ）のように、その増やされた１０の方向のそれぞれに値を割り当てている。
【００６４】
この例では、第１実施形態の代表例における「右」の方向を、「右上」、「右」、「右下」の３方向に増やしており、「左」の方向を、「左上」、「左」、「左下」の３方向に増やしている。具体的には、Ｘ軸の正方向の移動量が閾値に達した時点でのＹ軸方向の移動量に基づいて、右上、右、右下のいずれか選んでいる。具体的には、Ｚ軸の正方向の移動量が閾値（図１３（Ｂ）の例では、０．１１）に達した時点でのＸ軸方向の移動量が第１の範囲（例えば、０．０６〜０．１０）のときに「右上」が選ばれ、Ｚ軸の正方向の移動量が閾値に達した時点でのＸ軸方向の移動量が第２の範囲（例えば、―０．０６を超え、且つ０．０６未満）のときに「右」が選ばれ、Ｚ軸の正方向の移動量が閾値に達した時点でのＸ軸方向の移動量が第３の範囲（例えば、−０．１０〜―０．０６）のときに「右下」が選ばれる。また、「右上」は、Ｘ軸の正方向の移動量が閾値（例えば、０．１１）に達した時点でのＺ軸の範囲が所定範囲（例えば、０．０５〜０．１０）のときにも選ばれるようになっており、「右下」は、Ｘ軸の負方向の移動量が閾値（−０．１０）に達した時点でのＺ軸の範囲が所定範囲（例えば、０．０５〜０．１０）のときにも選ばれるようになっている。同様に、Ｚ軸の負方向の移動量が閾値（例えば、−０．１０）に達した時点でのＸ軸方向の移動量に基づいて、左上、左、左下のいずれか選んでおり、Ｘ軸方向の移動量が正の閾値又は負の閾値に達した時点でのＺ軸方向の移動量に基づいて左上、左、左下のいずれか選んでいる。
【００６５】
このような方法を用いる場合、図１４のような流れで移動方向を検出すればよい。この処理では、Ｓ４１〜Ｓ４４は、図１０のＳ３１〜Ｓ３４と同様であり、Ｓ４４において移動累積値が閾値を超えた軸があると判断された場合には、その時点でのＸ、Ｙ、Ｚ軸の座標（移動量）を取得し、取得したＸ軸、Ｙ軸、Ｚ軸の座標（移動量）と検出する移動方向の適用範囲座標を比較する（Ｓ４６）。即ち、本構成では、検出方向の候補とされる各方向において、Ｘ軸，Ｙ軸、Ｚ軸の移動量の条件（適用範囲）が定められており、Ｓ４６では、Ｓ４５で取得したＸ軸，Ｙ軸、Ｚ軸の座標（移動量）がいずれの検出方向の条件（適用範囲）に合致するかを調べ、Ｓ４７では、その比較結果において合致した方向（予め用意された複数の検出方向のいずれか）を移動方向を決定する（Ｓ４７）。
【００６６】
[第２実施形態]
次に、本発明の第２実施形態について説明する。
第２実施形態は、読取処理の具体的内容が第１実施形態と異なり、生成端末の内容や情報コードの内容などは第１実施形態と同様である。また、読取端末のハードウェア構成なども第１実施形態と同様である。よって、以下では読取端末で行われる読取処理を重点的に説明し、それ以外については第１実施形態と同様であるとして詳細な説明は省略する。
【００６７】
本構成でも、例えば情報コード読取装置１が読取端末として機能し、図１５のような流れで読取処理が行われる。この読取処理は、例えば電源投入や所定操作が行われることで実行される処理であり、まず、Ｓ５１において読取デバイスをオープン状態にする。その後、Ｓ５２において三軸モーション検出処理を開始する。三軸モーション検出処理は、例えば操作スイッチ４２の所定ボタンが押されるまでの期間、Ｓ５３にて実行されるものであり、例えば図１７の流れで行われる。
【００６８】
この処理では、図１７のように、情報コード読取装置１で設定されている上述の各軸（Ｘ軸、Ｙ軸、Ｚ軸：図１、図３等参照）の移動累積値（移動距離の累積した値）をそれぞれ０にするように初期化する（Ｓ８１）。そして、操作スイッチ４２の所定ボタン（スキャンボタン）が押されているか否かを判断し（Ｓ８２）、押されていなければＳ８２にてＮｏに進み、Ｓ８３以降の処理を行う。逆に、所定ボタン（スキャンボタン）が押されていればＳ８２にてＹｅｓに進み、図１７の処理を終了する。つまり、図１７の処理は、読取デバイスがオープン状態になり、三軸モーション検出処理が開始された後、所定ボタン（スキャンボタン）が押下されるまで実施されることになる。
【００６９】
また、本構成でも、装置の移動があったときに三軸センサ４３においてＸ軸、Ｙ軸、Ｚ軸のそれぞれの方向で移動量が検出されることになるが、その中で最も早く閾値に達した方向が検出方向となるのである。具体的には、Ｓ８２でＮｏに進む場合、三軸センサ４３で検出される各軸の加速度に基づいて各軸の移動量を各軸の移動累積値に加える処理を行う（Ｓ８３）。つまり、Ｓ８３では、Ｓ８１での初期化後における各軸の総移動量をそれぞれ計測し、その後、Ｓ８４では、それら各軸の総移動量（移動累積値）のいずれかが閾値を超えたか否かを判断する。なお、本構成では、各軸の移動閾値が定められており、Ｓ８４では、いずれかの軸の移動量（直近のＳ８１からの移動累積値）が閾値を超えたか否かを判断することになる。そして、移動累積値が閾値を超えた軸があればＳ８４にてＹｅｓに進み、メモリ３５における記憶領域（モーション記録バッファ）にその超えた時点での時間と、その超えた方向を記憶する（Ｓ８５）。例えば、各軸の閾値（移動閾値）がいずれも０．１０と定められた場合、Ｘ軸正方向の移動量が０．１０ｍに達して閾値を超え、他の軸の移動量はいずれも閾値以下となっていれば、Ｘ軸正方向（「上」）が閾値を超えた軸（方向）として検出され、その超えた時間と共に記録されることになる。
【００７０】
このように、図１７の処理では、所定ボタン（スキャンボタン）が押下されない間は、Ｓ８１において各軸の移動累積値を０に初期化する毎に、その初期化後、いずれかの軸の移動累積値が閾値（移動閾値）を超えるまで三軸センサ４３及び制御回路４０によって各軸（Ｘ軸、Ｙ軸、Ｚ軸）の移動量を計測し続け、いずれかの軸の移動量が閾値を超えた場合には、その超えた時間（例えば、図８１での最初の初期化時点からの経過時間）と超えた方向を対応付けて記録することになる。
【００７１】
Ｓ８５の後には、Ｓ８１に戻り、各軸の移動累積値（移動量）をそれぞれ０に初期化し、再びＳ８２以降の処理を繰り返すことになる。従って、操作スイッチ４２の所定ボタン（スキャンボタン）が押されるまでは、いずれかの軸の移動量が閾値に達する毎に、その達した時点での時間（例えば図１７の処理で最初にＳ８１の処理が行われてからの経過時間）と、その閾値に達した方向とが対応付けて書き込まれることになる。
【００７２】
一方、図１７において操作スイッチ４２の所定ボタン（スキャンボタン）が押されたと判断されると、Ｓ８２にてＹｅｓに進み、図１５においてＳ５４に進んで移動方向の検出処理を終了する（Ｓ５４）。そして、いずれかの移動動作（モーションコマンド）が入力されているか否かを判断する（Ｓ５５）。モーションコマンドが入力されていない場合（例えば、図１７の処理で所定数の方向が検出されていない場合等）、Ｓ５５にてＮｏに進み、公知の一般的な方法で情報コード（二次元バーコード等）を読み取る（Ｓ５９）。なお、本実施形態では、読取対象となる情報コードの撮像は、例えばＳ５２の前に行ってもよく、Ｓ５９の処理時点で行ってもよい。
【００７３】
一方、Ｓ５５でＹｅｓに進む場合、図１７の処理で得られたモーションコマンド（検出方向の組み合わせ）が登録されたコマンドであるか否かを判断する（Ｓ５６）。本構成では、複数種類の移動動作（モーションコマンド）がそれぞれ処理内容と対応付けてコマンドとして登録されており、Ｓ５６では、図１７の処理で記録された移動方向の組合せ（具体的には、例えば、予め設定された「所定時間（例えば、１ｓ）」内での移動方向（検出方向）の組合せ）が登録されたいずれかの移動動作に合致しているか否かを判断する。そして、図１７の処理で得られた移動方向（検出方向）の組合せが登録されたコマンドである場合、Ｓ５６にてＹｅｓに進み、そのコマンドに対応付けられた処理内容を適用し、Ｓ５９の読取処理を行う。なお、登録された各コマンドに対応する処理内容としては、例えば、複数の情報コードが撮像された場合に解読すべきコードを指定する内容（例えば、左上の情報コードのみを解読する等の内容）や、解読する順序を指定する内容（例えば、情報コードを上から順に解読する等の内容）などとすることができる。また、この構成では、登録されたコマンドが、例えば、第１コマンド（例えば、「上」「下」「右」「左」）、第２コマンド（例えば、「上」「下」「右」「奥」）、第３コマンド（例えば、「右」「左」「上」「下」）である場合には、図１７で得られたコマンドがこれらのコマンドである場合にはＳ５６にてＹｅｓに進み、そうでない場合にはＳ５６にてＮｏに進むことになる。
【００７４】
Ｓ５６の判断処理では、図１７の処理で記録された移動方向の組合せ（具体的には、所定時間内の移動方向の組合せ）が、登録されたいずれかのコマンド（移動動作）に合致していない場合にはＮｏに進み、そのコマンド（即ち、図１７で記録された移動方向（検出方向）の組み合わせ）を暗号鍵として保持する（Ｓ５７）。この場合は第１実施形態と同様であり、例えば図１１のような対応データに基づいて、各方向を数値に変換した数値データを暗号鍵として保持する。そして、この暗号鍵を適用し（Ｓ５８）、情報コード（例えば、第１実施形態で例示した情報コードＣ：図６、図７であり、Ｓ５２の前又はＳ５９において撮像されたもの）に記録された暗号データを解読する（Ｓ５９）。そして、Ｓ５９の後には、読み取りを終了するか否かを判断し、例えば所定時間内に所定の継続指示がなされた場合にはＳ５２に戻ってＳ５２以降の処理を繰り返す。そうでなければ、Ｓ６０でＹｅｓに進み、読み取りデバイスをクローズする処理を行う。この構成では、Ｓ５７で生成された復号鍵が、読取対象となる情報コードの暗号データを生成する際に用いた暗号鍵（例えば、読取対象が図８（Ａ）の処理で生成された情報コードＣである場合、Ｓ３で生成された暗号鍵）であり、当該読取端末で用いられる復号化アルゴリズムが当該暗号データの暗号化アルゴリズムに対応する場合に当該情報コードに記録された暗号データを解読できることとなる。
【００７５】
また、図１５におけるＳ５９の処理を、図１６のように行うことができる。
この図１６の処理では、Ｓ７１において公知の方法で情報コードの読み取りを試み（Ｓ７１）、その読み取った情報コードが特定種類の情報コード（予め規定された一部非公開コード）であるか否かを判断する（Ｓ７２）。具体的には、例えば図７（Ａ）のように終端子の後に所定の秘匿識別子が記録されているか否かを判断し、記録されていなければ、Ｓ７２にてＮｏに進み、公知の方法で情報コードを解読し、出力用データを生成する（Ｓ７８）。そして、そのデータを出力する（Ｓ７９）。
【００７６】
一方、Ｓ７１で読み取りを試みた情報コードが第１実施形態で例示したような情報コードＣであり、コード内に所定の秘匿識別子が記録されている場合には、Ｓ７２にてＹｅｓに進み、公開領域（暗号化されていないデータが記録された領域）を解読したデータを出力用データとして生成する（Ｓ７３）。更に、Ｓ７１で読み取りを試みた情報コードに移動動作による暗号鍵（モーションコマンド暗号鍵）が設定されているか否かを判断し、設定されていればＳ７４にてＹｅｓに進み、Ｓ５７で取得した暗号鍵（復号鍵）が、Ｓ７１で読み取りを試みた情報コードに記録された暗号データの暗号鍵と一致するか否かを判断する（Ｓ７５）。そして、Ｓ７５で一致しないと判断される場合には、Ｓ７５にてＮｏに進み、公開領域を解読したデータのみを出力する（Ｓ７９）。一方、Ｓ７５で一致すると判断される場合には、Ｓ７５にてＹｅｓに進み、情報コードの暗号データの生成に用いられたもう一つの暗号鍵と当該読取端末に予め記憶された暗号鍵（復号鍵）が一致するか否かを判断する（Ｓ７６）。そして、Ｓ７６で一致しないと判断される場合には、Ｓ７６にてＮｏに進み、公開領域を解読したデータのみを出力する（Ｓ７９）。Ｓ７６で一致すると判断される場合には、非公開領域を解読したデータ（読み取りを試みた情報コードに記録される暗号データを解読したデータ）を出力用データに連結し（Ｓ７７）、そのデータを出力する（Ｓ７９）。
【００７７】
なお、Ｓ７４の判断処理では、例えば、Ｓ７１で読み取りを試みた情報コード内の暗号化されていない領域に所定識別子（モーションコマンド暗号鍵の設定を示す、予め定められた識別子）が記録されているか否かを判断し、記録されている場合（即ち、秘匿識別子と所定識別子とが記録されている場合）にはＳ７４にてＹｅｓに進み、記録されていない場合（即ち、秘匿識別子のみが記録されている場合）にはＳ７４にてＮｏに進むようにすることができる。
【００７８】
なお、本構成の前提としては、例えば生成端末の情報コード生成部は、図８（Ａ）のような生成処理を行う際に、生成用移動動作特定部によって特定された移動動作によって表わされる情報（即ち、図８（Ａ）のＳ２の処理で生成されたデータ）と、当該生成端末に予め記憶されたデータ（生成側キー情報）とに基づいて暗号化すべき元データを所定の暗号化アルゴリズムによって暗号化する第１の暗号化方式と、当該生成端末に予め記憶されたデータ（生成側キー情報）からなる暗号化キーに基づいて暗号化すべき元データを所定の暗号化アルゴリズムによって暗号化する第２の暗号化方式とを選択できるように構成すればよい。
この具体例としては、例えば、図８（Ａ）の生成処理において、Ｓ１の暗号鍵入力要求に応じてＳ２の鍵データ入力処理が適切になされた場合（例えば、Ｓ２の処理開始後、所定時間内にＳ２３にてＹｅｓに進む場合等）には、当該生成端末に予め記憶されたデータ（生成側キー情報）を暗号化キーとして元データを暗号化し、更にその暗号化されたデータを、移動動作によって表わされる情報（即ち、Ｓ２の処理で生成されたデータ）を暗号化キーとして暗号化するように暗号データを生成すればよい。そして、このように第１の暗号化方式によって暗号データを生成し、これを記録した情報コードＣを生成する場合、情報コードＣにおいて当該暗号データを記録する領域以外の領域に上述の所定識別子を記録しておけばよい。このようにすれば、図１６の処理において、第１の暗号化方式で生成された暗号データが情報コードＣに記録されている場合、Ｓ７４にて所定識別子が検出されたときにＳ７５に進むことになり、図１７の処理で生成されたキー（モーションコマンドによる復号鍵）が、生成時に移動動作によって表わされた情報（即ち、Ｓ２の処理で生成されたデータ）と一致する場合にＳ７６に進むことになり、更に読取端末に予め記憶されているキー（読取側キー情報）が当該情報コードＣを生成した生成端末に予め記憶されているキー（生成側キー情報）と一致する場合に情報コードＣ内の暗号データ（非公開領域のデータ）が解読されることになる。この場合、解読された非公開領域のデータを出力用データに連結した上で（Ｓ７７）、出力用データを出力する。
【００７９】
また、Ｓ１の暗号鍵入力要求に応じてＳ２の鍵データ入力処理が適切になされない場合（例えば、Ｓ２の処理開始後、所定時間内にＳ２３にてＹｅｓに進まない場合等）には、上述の第２の暗号化方式によって元データを暗号化するような生成処理を行えばよい。即ち、この場合、当該生成端末に予め記憶されたデータ（生成側キー情報）を暗号化キーとして元データを暗号化し、このような暗号データを記録する形で情報コードＣを生成すればよい。この場合、情報コードＣは、秘匿識別子は有するが上述の所定識別子は有さないため、図１６のような読取処理を行う場合に、Ｓ７４ではＮｏに進むことになり、読取端末に予め記憶されているキー（読取側キー情報）が当該情報コードＣを生成した生成端末に予め記憶されているキー（生成側キー情報）と一致する場合に情報コード内の暗号データ（非公開領域のデータ）が解読されることになる（Ｓ７６Ｙｅｓ）。この場合も、解読された非公開領域のデータを出力用データに連結した上で（Ｓ７７）、出力用データを出力することになる（Ｓ７９）。
【００８０】
このようにすれば、ユーザがＳ２（図８（Ａ））にて適切な移動動作を行えば、Ｓ２で生成されたデータと予め生成端末に記憶された生成側キー情報とを反映したセキュリティ性の高い暗号化キーを用いて暗号データを生成することができ、ユーザがＳ２にて適切な移動動作を行わずとも、予め生成端末に記憶された生成側キー情報を暗号化キーとして暗号データを生成することができる。
【００８１】
このような具体例では、例えば情報コード読取装置１が生成端末として機能し、図８（Ａ）、図９、図１０の処理は、基本的に第１実施形態と同様に行うことができる。なお、図８（Ａ）の処理は基本的に第１実施形態と同様であり、例えばＳ２で適切なデータが得られなかった場合にのみ、Ｓ３では当該生成端末に記憶された生成側キー情報を暗号化キーとし、Ｓ４ではこれを基に当該生成端末に記憶されたデータ（元データ）を暗号化することになる。この場合、図８（Ａ）の処理を行い得る制御回路４０が「情報コード生成部」に相当し、生成用移動動作特定部によって特定された移動動作によって表わされる情報（即ち、図８（Ａ）のＳ２で生成されたデータ）と、当該生成端末に記憶された生成側キー情報を基に、当該生成端末に記憶されたデータ（即ち暗号化すべきデータとして用意された元データ）を暗号化し、その暗号化された暗号データを記録してなる情報コードＣを生成するように機能する。より具体的には、生成用移動動作特定部によって特定された移動動作によって表わされる情報（即ち、Ｓ２で生成された情報）と、当該生成端末に記憶された生成側キー情報とに基づいて当該生成端末に記憶されたデータ（暗号化をすべき元データ）を暗号化する第１の暗号化方法と、当該生成端末に記憶された生成側キー情報に基づいて当該生成端末に記憶されたデータ（元データ）を暗号化する第２の暗号化方法とを選択可能とされ、いずれかの暗号化方法によって暗号化された暗号データを情報コードＣに記録するように機能する。
【００８２】
また、情報コード読取装置１が読取端末として機能する場合、図１５〜図１７の処理を行い得る制御回路４０が「解読部」に相当し、生成用移動動作特定部によって特定された移動動作によって表わされる情報（即ち、Ｓ２で生成されたデータ）と、読取用移動動作特定部によって特定された移動動作によって表わされる情報（即ち、Ｓ５７で生成されたデータ）とが対応し、且つ当該読取端末に記憶された読取側キー情報が生成側キー情報に対応する場合に、情報コードＣに記録された暗号データを復号化するように機能する。具体的には、Ｓ７４のように、情報コードに記録された情報コードの暗号化方法を判定する判定部を備え、当該判定部によって第１の暗号化方法と判定される場合（即ち、Ｓ７４にてＹｅｓに進む場合）には、生成用移動動作特定部によって特定された移動動作によって表わされる情報と、読取用移動動作特定部によって特定された移動動作によって表わされる情報とが対応し、且つ当該読取端末に記憶された読取側キー情報が生成側キー情報に対応する場合に、情報コードに記録された暗号データを復号化し、判定部によって第２の暗号化方法と判定される場合（即ち、Ｓ７４にてＮｏに進む場合）には、当該読取端末に記憶された読取側キー情報が生成側キー情報に対応する場合に情報コードに記録された暗号データを復号化するように構成されている。
【００８３】
なお、ここでは、判定部による判定方法（即ち、Ｓ７４での判定方法）として、「所定識別子」が存在するか否かに基づいて判定する方法を例示したが、この例に限られない。例えば、読取用移動動作特定部によって特定された移動動作によって表わされる情報（即ち、Ｓ５７で生成されたデータ）を復号鍵として第１段階の解読を試み、解読が成功した場合には第１の暗号化方法と判定して読取側キー情報による解読を試み、解読が成功しなかった場合には第２の暗号化方法と判定して読取側キー情報による解読を試みるようにしてもよい。
【００８４】
また、第１暗号化方式は上述の例に限られるものではなく、例えば、生成用移動動作特定部によって特定された移動動作によって表わされる情報（即ち、図８（Ａ）のＳ２で生成されたデータ）と、生成端末に予め記憶された生成側キー情報とを並べたデータを暗号化キーとして暗号化するような方法であってもよい。この場合、Ｓ７４〜Ｓ７６の処理に代え、読取用移動動作特定部によって特定された移動動作によって表わされる情報（即ち、Ｓ５７で生成されたデータ）と読取側キー情報とを並べたデータを復号鍵として解読を試みる処理を行うようにし、解読が成功した場合にはその解読データを連結するよう出力用データを生成し、解読が成功しなかった場合には、読取側キー情報を復号鍵として解読を試みる処理を行い、この処理で解読した場合には、その解読データを連結するよう出力用データを生成すればよい。
【００８５】
本構成では、生成端末の情報コード生成部は、生成用移動動作特定部によって特定された移動動作によって表わされる情報と、当該生成端末に記憶された生成側キー情報を基に、当該生成端末に記憶されたデータを暗号化し、その暗号化された暗号データを記録してなる情報コードを生成するように構成され、読取端末の解読部は、生成用移動動作特定部によって特定された移動動作によって表わされる情報と、読取用移動動作特定部によって特定された移動動作によって表わされる情報とが対応し、且つ当該読取端末に記憶された読取側キー情報が生成側キー情報に対応する場合に、情報コードに記録された暗号データを復号化する。
このように移動動作同士が対応し、更に、読取側キー情報と生成側キー情報が対応する
ことを条件として復号化しうる構成とすれば、セキュリティ性が極めて高くなる。
【００８６】
また、生成端末の情報コード生成部は、生成用移動動作特定部によって特定された移動動作によって表わされる情報と、当該生成端末に記憶された生成側キー情報とに基づいて当該生成端末に記憶されたデータを暗号化する第１の暗号化方法と、生成側キー情報に基づいて当該生成端末に記憶されたデータを暗号化する第２の暗号化方法とを選択可能とされ、いずれかの暗号化方法によって暗号化された暗号データを記録するように構成され、読取端末の解読部は、情報コードに記録された情報コードの暗号化方法を判定する判定部を備え、当該判定部によって第１の暗号化方法と判定される場合には、生成用移動動作特定部によって特定された移動動作によって表わされる情報と、読取用移動動作特定部によって特定された移動動作によって表わされる情報とが対応し、且つ当該読取端末に記憶された読取側キー情報が生成側キー情報に対応する場合に、情報コードに記録された暗号データを復号化し、判定部によって第２の暗号化方法と判定される場合には、当該読取端末に記憶された読取側キー情報が生成側キー情報に対応する場合に情報コードに記録された暗号データを復号化するように構成されている。
この構成では、移動動作及び生成側キー情報に基づく暗号化方法（第１の暗号化方法）と、移動動作に基づかない暗号化方法（第２の暗号化方法）とを使い分けることができる。移動動作を行わずに暗号化する場合には、生成側キー情報に基づいて暗号化を行うことで一定のセキュリティ性を確保することができる。また、移動動作をも加味して暗号化する場合には、移動動作と生成側キー情報が取得できなければ復号化を行えないため、セキュリティ面でより万全を期すことができる。
【００８７】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００８８】
上記実施形態では、生成用移動方向検出部及び読取用移動方向検出部として、三軸の加速度センサを用いたが、端末において複数の移動方向を設定し、各移動方向の移動を検出し得るセンサであればよく、例えば六軸の加速度センサ等のセンサを用いてもよい。
【００８９】
上記実施形態では、予め用意された方向を全て検出方向の候補としていたが、生成端末及び読取端末において、任意に設定できるようにしてもよい。
例えば、第１実施形態のように情報コード読取装置１を生成端末として機能させ６方向（「上」「下」「右」「左」「手前」「奥」の検出を可能とした場合において、ユーザが操作部（操作スイッチ４２）を操作してよっていずれかの方向を指定できるようにし、その指定された方向の検出のみを有効とするように構成してもよい。この場合、例えば、ユーザが「上」「下」「右」「左」を指定した場合、Ｓ２１において「手前」「奥」が検出された際には、Ｓ２２をスキップするといった方法を用いることができる。或いは、「手前」「奥」の移動量の検出自体を行わないようにしてもよい。
この場合、ユーザからの指示入力を受け付ける制御回路４０、及びその情報（即ち、検出を有効とする方向）を記憶するメモリ３５が、「生成側設定部」の一例に相当し、生成端末に対する所定の指示操作に応じて当該生成端末で検出可能となる複数の候補方向の中から生成用移動方向検出部で検出するべき方向を設定するように機能する。
また、この場合、読取端末も同様であり、例えば、第１実施形態のように情報コード読取装置１を読取端末として機能させ６方向（「上」「下」「右」「左」「手前」「奥」の検出を可能とした場合において、ユーザが操作部（操作スイッチ４２）を操作してよっていずれかの方向を指定できるようにし、その指定された方向の検出のみを有効とするように構成すればよい。例えば、ユーザが「上」「下」「右」「左」を指定した場合、Ｓ２１において「手前」「奥」が検出された際には、Ｓ２２をスキップするといった方法を用いたり、或いは、「手前」「奥」の移動量の検出自体を行わないようにすればよい。
この構成では、ユーザからの指示入力を受け付ける制御回路４０、及びその情報（即ち、検出を有効とする方向）を記憶するメモリ３５が「読取側設定部」の一例に相当し、当該読取端末に対する所定の指示操作に応じて当該読取端末で検出可能となる複数の候補方向の中から読取用移動方向検出部で検出するべき方向を設定するように機能する。
この構成では、生成端末及び読取端末において、検出させる方向を任意に設定することができるため、より利便性が高まる。また、検出方向が任意のものとなるため、どの検出方向で認識されているかを第三者が把握し難く、セキュリティ面で一層有利になる。
【００９０】
上記実施形態では、上述したような特徴的な生成端末及び読取端末を備えた情報コードシステムを例示したが、上述の生成端末で生成された情報コードＣ（暗号データを含む情報コード）は、生成時に用いられた暗号鍵を何らかの方法で取得し得る正規の読取端末であれば、上述の読取端末以外の読取装置であっても読み取ることもできる。また、上述の生成端末以外の装置で生成された情報コード（暗号データを含む情報コード）であっても、その暗号データを解読し得る復号鍵を上述の読取端末で生成し、暗号データを解読することもできる。
【符号の説明】
【００９１】
１…情報コード読取装置（生成端末、読取端末）
２３…受光センサ（撮像部）
３５…メモリ（生成用記憶部、読取用記憶部）
４０…制御回路（読取部、生成用移動方向検出部、生成用移動動作特定部、情報コード生成部、出力部、読取用移動方向検出部、読取用移動動作特定部、解読部、生成側設定部、読取側設定部）
４２…操作スイッチ（操作部）
４３…三軸センサ（生成用移動方向検出部、読取用移動方向検出部）
Ｃ…情報コード
【図１】
2014085923.tif 000003
【図２】
2014085923.tif 000004
【図３】
2014085923.tif 000005
【図４】
2014085923.tif 000006
【図５】
2014085923.tif 000007
【図６】
2014085923.tif 000008
【図７】
2014085923.tif 000009
【図８】
2014085923.tif 000010
【図９】
2014085923.tif 000011
【図１０】
2014085923.tif 000012
【図１１】
2014085923.tif 000013
【図１２】
2014085923.tif 000014
【図１３】
2014085923.tif 000015
【図１４】
2014085923.tif 000016
【図１５】
2014085923.tif 000017
【図１６】
2014085923.tif 000018
【図１７】
2014085923.tif 000019