JP2020144796A - Optical code, optical code generation method and program therefor, and optical code read method and program therefor - Google Patents

Optical code, optical code generation method and program therefor, and optical code read method and program therefor Download PDF

Info

Publication number
JP2020144796A
JP2020144796A JP2019042938A JP2019042938A JP2020144796A JP 2020144796 A JP2020144796 A JP 2020144796A JP 2019042938 A JP2019042938 A JP 2019042938A JP 2019042938 A JP2019042938 A JP 2019042938A JP 2020144796 A JP2020144796 A JP 2020144796A
Authority
JP
Japan
Prior art keywords
information
layer
user
encryption
layers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019042938A
Other languages
Japanese (ja)
Other versions
JP6617302B1 (en
Inventor
富久 西島
Tomihisa Nishijima
富久 西島
賢志 平岩
Kenji Hiraiwa
賢志 平岩
大浦 哲生
Tetsuo Oura
哲生 大浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
It Doraku Res Lab Ltd
IT DORAKU RESEARCH LAB Ltd
Original Assignee
It Doraku Res Lab Ltd
IT DORAKU RESEARCH LAB Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by It Doraku Res Lab Ltd, IT DORAKU RESEARCH LAB Ltd filed Critical It Doraku Res Lab Ltd
Priority to JP2019042938A priority Critical patent/JP6617302B1/en
Application granted granted Critical
Publication of JP6617302B1 publication Critical patent/JP6617302B1/en
Publication of JP2020144796A publication Critical patent/JP2020144796A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide an optical code enabling access to recorded information to be controlled, user by user.SOLUTION: A plurality of modules U which are regularly arranged each represent N-bit information. Overall information that the plurality of modules U represent is divided into N layers (L0,L1, ...), and N-bit information that one module U represents has one bit included in each of the N layers. The N layers include one or more user layers corresponding to one or more users, one to one, and one or more encryption layers including encrypted secret information. One user layer corresponding to one user includes a user ID for identifying the one user and at least one piece of layer information encrypted with a cipher key that the one user has. The one piece of layer information includes a layer ID for identifying one encryption layer and decryption information for decrypting the encrypted secret information included in the one encryption layer.SELECTED DRAWING: Figure 4

Description

本発明は、光学的に読み取り可能な情報を表す光学コード、光学コードの生成方法とそのプログラム、並びに、光学コードの読み取り方法とそのプログラムに関するものである。 The present invention relates to an optical code representing optically readable information, a method for generating an optical code and a program thereof, and a method for reading an optical code and a program thereof.

光学的に読み取り可能な情報を表す光学コードとして、バーコードなどの一次元コードやQRコード(登録商標)などの二次元コードが知られている。また、近年では、白と黒の色のみからなる従来の二次元コードとの互換性を保ちつつ、白と黒の他に複数種類の色を用いることによって記憶容量を大幅に増大させたカラー二次元コードが実用化されている(例えば下記の特許文献1を参照)。 As an optical code representing optically readable information, a one-dimensional code such as a bar code and a two-dimensional code such as a QR code (registered trademark) are known. Further, in recent years, while maintaining compatibility with a conventional two-dimensional code consisting of only white and black colors, the storage capacity has been greatly increased by using a plurality of types of colors in addition to white and black. A dimensional code has been put into practical use (see, for example, Patent Document 1 below).

特開2018−81658号公報JP-A-2018-81658

上述したカラー二次元コードのように記憶容量の大きな光学コードは、商品等の流通履歴を管理するトレーサビリティの分野への応用が期待される。しかしながら、トレーサビリティの分野において光学コードを使用する場合、光学コードに記録される情報へのアクセスを、流通の各段階において任意に制限できることが好ましい。例えば、仲卸業者や小売店において参照される品質管理用の詳細な情報は、多くの場合、末端の消費者に開示する必要がない。また、流通履歴に関する情報の中には、セキュリティ等の観点から、流通の段階に応じてアクセスを制限することが好ましいものもある。 An optical code having a large storage capacity such as the color two-dimensional code described above is expected to be applied to the field of traceability for managing the distribution history of products and the like. However, when an optical cord is used in the field of traceability, it is preferable that access to the information recorded on the optical cord can be arbitrarily restricted at each stage of distribution. For example, detailed quality control information referenced by wholesalers and retailers often does not need to be disclosed to end consumers. In addition, some information on the distribution history preferably restricts access according to the stage of distribution from the viewpoint of security and the like.

本発明はかかる事情に鑑みてなされたものであり、その目的は、記録される情報へのアクセスをユーザ毎に制御することが可能な光学コード、光学コードの生成方法及びプログラム、並びに、光学コードの読み取り方法及びプログラムを提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is an optical code capable of controlling access to recorded information for each user, an optical code generation method and program, and an optical code. Is to provide a reading method and a program.

本発明の第1の観点に係る光学コードは、規則的に配置された複数のモジュールによって光学的に読み取り可能な情報を表す光学コードであって、前記複数のモジュールの各々は、光学的に読み取り可能なNビット(Nは2以上の整数を示す。)の情報を表しており、前記複数のモジュールが表す全体の情報は、N個の階層に分かれており、1つの前記モジュールが表す前記Nビットの情報は、前記N個の階層の各々に1ビットずつ含まれており、前記N個の階層は、1以上のユーザと一対一に対応する1以上のユーザ層と、暗号化された秘匿情報を含む1以上の暗号化層とを含み、1の前記ユーザに対応する1つの前記ユーザ層は、前記1のユーザを識別するためのユーザIDと、前記1のユーザが所有する暗号鍵により暗号化された少なくとも1つ階層情報とを含み、1つの前記階層情報は、1つの前記暗号化層を識別するための階層IDと、前記1つの暗号化層に含まれる前記暗号化された秘匿情報を復号するための復号情報とを含む。 The optical code according to the first aspect of the present invention is an optical code representing information optically readable by a plurality of regularly arranged modules, and each of the plurality of modules is optically read. The information of possible N bits (N represents an integer of 2 or more) is represented, and the entire information represented by the plurality of modules is divided into N layers, and the N represented by one module. Bit information is contained in each of the N layers, one bit at a time, and the N layers include one or more user layers having a one-to-one correspondence with one or more users and encrypted concealment. One user layer corresponding to one user, including one or more encryption layers containing information, is provided by a user ID for identifying the user and an encryption key owned by the user. The layered information includes at least one encrypted layered information, and one layered information includes a layered ID for identifying the one layered encryption layer and the encrypted concealment included in the one layered encryption layer. Includes decryption information for decoding information.

本発明の第2の観点に係る光学コード生成方法は、上記第1の観点に係る光学コードを生成する光学コード生成方法であって、前記N個の階層に記録する情報をそれぞれ取得する情報取得工程と、前記情報取得工程において取得した情報に基づいて、前記複数のモジュールの各々に与える光学的な構成を判定するモジュール構成判定工程とを有し、前記情報取得工程は、前記1以上の暗号化層と一対一に対応する1以上の前記復号情報を生成する工程と、前記1以上のユーザ層に記録する情報を取得する工程と、前記1以上の暗号化層に記録する情報を取得する工程とを含み、1つの前記ユーザ層に記録する情報を取得する工程は、少なくとも1つの前記暗号化層に対応する少なくとも1つの前記階層情報を、前記少なくとも1つの暗号化層を識別するための少なくとも1つの前記階層IDと、前記少なくとも1つの暗号化層に対応する少なくとも1つの前記復号情報とに基づいて生成する工程と、生成した前記少なくとも1つの階層情報を、1つの前記ユーザIDに関連付けられた前記暗号鍵により暗号化する工程と、暗号化した前記少なくとも1つの階層情報と、前記1つのユーザIDとを、前記1つのユーザ層に記録する情報として取得する工程とを含み、1つの前記暗号化層に記録する情報を取得する工程は、1つの前記暗号化層に記録する情報として、前記秘匿情報を取得する工程と、取得した前記秘匿情報を、前記1つの暗号化層に対応する前記復号情報によって復号し得るように暗号化する工程とを含む。 The optical code generation method according to the second aspect of the present invention is an optical code generation method for generating an optical code according to the first aspect, and information acquisition for acquiring information to be recorded in each of the N layers. It has a step and a module configuration determination step of determining an optical configuration given to each of the plurality of modules based on the information acquired in the information acquisition step, and the information acquisition step is the one or more ciphers. A step of generating one or more of the decryption information corresponding to one-to-one with the encryption layer, a step of acquiring information to be recorded in the one or more user layers, and acquisition of information to be recorded in the one or more encryption layers. The step of acquiring the information to be recorded in one of the user layers, including the step, is for identifying at least one of the layered information corresponding to at least one of the encrypted layers and identifying the at least one encrypted layer. A step of generating based on at least one layer ID and at least one decryption information corresponding to the at least one encryption layer, and the generated at least one layer information are associated with one user ID. One including a step of encrypting with the encrypted key and a step of acquiring the encrypted at least one hierarchical information and the one user ID as information to be recorded in the one user layer. The step of acquiring the information to be recorded in the encryption layer corresponds to the step of acquiring the confidential information and the acquired confidential information corresponding to the one encryption layer as the information to be recorded in the encryption layer. It includes a step of encrypting so that it can be decrypted by the decryption information.

本発明の第3の観点に係るプログラムは、上記第2の観点に係る光学コード生成方法をコンピュータに実行させるためのプログラムである。 The program according to the third aspect of the present invention is a program for causing a computer to execute the optical code generation method according to the second aspect.

本発明の第4の観点に係る光学コード読み取り方法は、上記第1の観点に係る光学コードが表す情報を読み取る光学コード読み取り方法であって、前記複数のモジュールを含む画像から、前記複数のモジュールの各々が表す前記Nビットの情報を読み取る工程と、前記複数のモジュールの各々が表す前記Nビットの情報に基づいて、前記N個の階層に含まれた情報をそれぞれ取得する工程と、前記1以上のユーザ層から、1つの前記ユーザIDが含まれた1つの前記ユーザ層を特定する工程と、特定した前記1つのユーザ層に含まれる前記暗号化された少なくとも1つの階層情報を、前記1つのユーザIDに関連付けられた前記暗号鍵に基づいて復号する工程と、復号した前記少なくとも1つの階層情報に基づいて、少なくとも1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程とを有し、1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程は、復号した1つの前記階層情報に含まれる前記階層IDに基づいて、1つの前記暗号化層を特定する工程と、特定した前記1つの暗号化層に含まれる前記秘匿情報を、前記復号した1つの階層情報に含まれる前記復号情報に基づいて復号する工程とを含む。 The optical code reading method according to the fourth aspect of the present invention is an optical code reading method for reading the information represented by the optical code according to the first aspect, and the plurality of modules are obtained from an image including the plurality of modules. The step of reading the N-bit information represented by each of the above, the step of acquiring the information contained in the N layers based on the N-bit information represented by each of the plurality of modules, and the above 1 From the above user layers, the step of specifying one user layer including one user ID and the encrypted at least one layer information included in the specified user layer are described in the above 1 It includes a step of decrypting based on the encryption key associated with one user ID and a step of decrypting the confidential information included in at least one encryption layer based on the decrypted at least one layer information. The step of decrypting the confidential information included in one encryption layer is specified as a step of specifying one encryption layer based on the layer ID included in the decrypted one layer information. This includes a step of decrypting the confidential information contained in the one encrypted layer based on the decrypted information included in the decrypted one layer information.

本発明の第5の観点に係るプログラムは、上記第4の観点に係る光学コード読み取り方法をコンピュータに実行させるためのプログラムである。 The program according to the fifth aspect of the present invention is a program for causing a computer to execute the optical code reading method according to the fourth aspect.

本発明によれば、記録される情報へのアクセスをユーザ毎に制御することが可能な光学コード、光学コードの生成方法及びプログラム、並びに、光学コードの読み取り方法及びプログラムを提供できる。 According to the present invention, it is possible to provide an optical code, a method and a program for generating an optical code, and a method and a program for reading the optical code, which can control access to recorded information for each user.

図1A及び図1Bは、光学コードの一例を示す図である。1A and 1B are diagrams showing an example of an optical cord. 図2A〜図2Eは、本実施形態に係る光学コードにおけるモジュールの構成例を示す図である。2A to 2E are diagrams showing a configuration example of a module in the optical cord according to the present embodiment. 図3は、第1の実施形態に係る光学コードにおける情報の階層構造の一例を示す図である。FIG. 3 is a diagram showing an example of a hierarchical structure of information in the optical code according to the first embodiment. 図4は、第1の実施形態に係る光学コードにおいて各階層に含まれる情報の例を示す図である。FIG. 4 is a diagram showing an example of information included in each layer in the optical code according to the first embodiment. 図5は、光学コードの生成処理や読み取り処理を実行する情報処理装置の一例を示す図である。FIG. 5 is a diagram showing an example of an information processing device that executes an optical code generation process and a reading process. 図6は、第1の実施形態に係る光学コードの生成処理の一例を説明するためのフローチャートである。FIG. 6 is a flowchart for explaining an example of the optical code generation process according to the first embodiment. 図7は、ユーザ層に記録する情報を取得する処理の一例を説明するためのフローチャートである。FIG. 7 is a flowchart for explaining an example of a process of acquiring information to be recorded in the user layer. 図8は、暗号化層に記録する情報を取得する処理の一例を説明するためのフローチャートである。FIG. 8 is a flowchart for explaining an example of a process of acquiring information to be recorded in the encryption layer. 図9は、暗号化層に含まれる秘匿情報を暗号化する処理の一例を説明するためのフローチャートである。FIG. 9 is a flowchart for explaining an example of a process of encrypting the confidential information included in the encryption layer. 図10は、第1の実施形態に係る光学コードの読み取り処理の一例を説明するためのフローチャートである。FIG. 10 is a flowchart for explaining an example of the optical code reading process according to the first embodiment. 図11は、暗号化層に含まれる秘匿情報を復号する処理の一例を説明するためのフローチャートである。FIG. 11 is a flowchart for explaining an example of a process of decrypting the confidential information included in the encryption layer. 図12は、第2の実施形態に係る光学コードにおいて各階層に含まれる情報の例を示す図である。FIG. 12 is a diagram showing an example of information included in each layer in the optical code according to the second embodiment. 図13は、第2の実施形態に係る光学コードの生成処理の一例を説明するためのフローチャートである。FIG. 13 is a flowchart for explaining an example of the optical code generation process according to the second embodiment. 図14は、共通層に記録する情報を取得する処理の一例を説明するためのフローチャートである。FIG. 14 is a flowchart for explaining an example of the process of acquiring the information to be recorded in the common layer. 図15は、ユーザ層に記録する情報を取得する処理の一例を説明するためのフローチャートである。FIG. 15 is a flowchart for explaining an example of a process of acquiring information to be recorded in the user layer. 図16は、ユーザ層に含まれる情報を暗号化する処理の一例を説明するためのフローチャートである。FIG. 16 is a flowchart for explaining an example of a process of encrypting information included in the user layer. 図17は、第2の実施形態に係る光学コードの読み取り処理の一例を説明するためのフローチャートである。FIG. 17 is a flowchart for explaining an example of the optical code reading process according to the second embodiment. 図18は、第3の実施形態に係る光学コードにおける情報の階層構造の一例を示す図である。FIG. 18 is a diagram showing an example of a hierarchical structure of information in the optical code according to the third embodiment. 図19は、第3の実施形態に係る光学コードにおいて各階層に含まれる情報の例を示す図である。FIG. 19 is a diagram showing an example of information included in each layer in the optical code according to the third embodiment. 図20は、第3の実施形態に係る光学コードの生成処理の一例を説明するためのフローチャートである。FIG. 20 is a flowchart for explaining an example of the optical code generation process according to the third embodiment. 図21は、共通層に記録する情報を取得する処理の一例を説明するためのフローチャートである。FIG. 21 is a flowchart for explaining an example of the process of acquiring the information to be recorded in the common layer. 図22は、暗号化層に含まれる秘匿情報を暗号化する処理の一例を説明するためのフローチャートである。FIG. 22 is a flowchart for explaining an example of a process of encrypting the confidential information included in the encryption layer. 図23は、第3の実施形態に係る光学コードの読み取り処理の一例を説明するためのフローチャートである。FIG. 23 is a flowchart for explaining an example of the optical code reading process according to the third embodiment. 図24は、第4の実施形態に係る光学コードにおける情報の階層構造の一例を示す図である。FIG. 24 is a diagram showing an example of a hierarchical structure of information in the optical code according to the fourth embodiment. 図25は、パリティ層を説明するための図である。FIG. 25 is a diagram for explaining a parity layer. 図26は、第4の実施形態に係る光学コードの生成処理の一例を説明するためのフローチャートである。FIG. 26 is a flowchart for explaining an example of the optical code generation process according to the fourth embodiment. 図27は、第4の実施形態に係る光学コードの読み取り処理の一例を説明するためのフローチャートである。FIG. 27 is a flowchart for explaining an example of the optical code reading process according to the fourth embodiment.

<第1の実施形態>
以下、本発明の実施形態に係る光学コードについて図面を参照しながら説明する。本実施形態に係る光学コードは、規則的に配置された複数のモジュールUによって光学的に読み取り可能な情報を表しており、図1Aはその一例を示す。図1Aに示すモジュールUの配置パターンは、既存の二次元コードの1つであるQRコード(登録商標)と同じである。なお図1Aの例において、各モジュールUは黒又は白の四角い領域で表されているが、後述するように、各モジュールUは黒と白の他に複数の色で着色されている。
<First Embodiment>
Hereinafter, the optical cord according to the embodiment of the present invention will be described with reference to the drawings. The optical cord according to the present embodiment represents information that can be optically read by a plurality of regularly arranged modules U, and FIG. 1A shows an example thereof. The arrangement pattern of the module U shown in FIG. 1A is the same as the QR code (registered trademark), which is one of the existing two-dimensional codes. In the example of FIG. 1A, each module U is represented by a black or white square region, but as will be described later, each module U is colored with a plurality of colors in addition to black and white.

図1Bは、図1Aに示す光学コードにおいて各モジュールUの位置を特定する際に使用される機能パターンを抜き出して示したものである。図1Bの例における機能パターンは、3つの位置検出要素P1からなるファインダーパターンと、アライメントパターンP2と、タイミングパターンP3を含む。これらの機能パターンは、光学コードに記録される情報に依らない一定の形状と色を持つように構成される。なお、図1Bの“F”で示した領域には、誤り訂正レベルやマスク処理パターンなどに関する形式情報が記録される。 FIG. 1B extracts and shows a functional pattern used when specifying the position of each module U in the optical cord shown in FIG. 1A. The functional pattern in the example of FIG. 1B includes a finder pattern composed of three position detection elements P1, an alignment pattern P2, and a timing pattern P3. These functional patterns are configured to have a constant shape and color that does not depend on the information recorded in the optical code. In the area indicated by “F” in FIG. 1B, format information regarding an error correction level, a mask processing pattern, and the like is recorded.

図2A〜図2Dは、本実施形態に係る光学コードにおけるモジュールUの光学的な構成の例を示す図である。1つのモジュールUは、光学的に読み取り可能な複数ビットの情報を表すように構成される。図2A〜図2Dの例において、1つのモジュールUは複数の領域に区分される。モジュールUを区分する各領域には、複数種類の色の中から選択された1つの色が着色される。図2Aに示すモジュールは2つの領域に区分され、図2Bに示すモジュールUは3つの領域に区分され、図2Cに示すモジュールUは5つの領域に区分され、図2Dに示すモジュールUは9つの領域に区分される。 2A to 2D are diagrams showing an example of the optical configuration of the module U in the optical cord according to the present embodiment. One module U is configured to represent a plurality of optically readable bits of information. In the example of FIGS. 2A to 2D, one module U is divided into a plurality of regions. Each region that divides the module U is colored with one color selected from a plurality of types of colors. The module shown in FIG. 2A is divided into two regions, the module U shown in FIG. 2B is divided into three regions, the module U shown in FIG. 2C is divided into five regions, and the module U shown in FIG. 2D is nine. It is divided into areas.

モジュールUを区分する複数の領域における中央の正方形の領域は、既存のQRコード(登録商標)として読み取ることができるように、白又は黒のいずれかに着色される。この中央の領域を囲む周囲の領域は、図2Eに示すように、4種類の色の中から選択された1つの色に着色される。中央の領域が「白」の場合、周囲の領域はそれぞれ「白」「緑」「黄」「淡い青」のいずれか1つに着色される。中央の領域が「黒」の場合、周囲の領域はそれぞれ「ピンク」「赤」「藍」「黒」のいずれか1つに着色される。 The central square area in the plurality of areas dividing the module U is colored either white or black so that it can be read as an existing QR code®. As shown in FIG. 2E, the surrounding area surrounding this central area is colored with one color selected from four kinds of colors. When the central area is "white", the surrounding areas are colored in one of "white", "green", "yellow", and "pale blue", respectively. When the central area is "black", the surrounding areas are colored in one of "pink", "red", "indigo", and "black", respectively.

モジュールUを区分する各領域に対して選択的に与えられる色の数は、各領域が表す情報の大きさに相当する。すなわち、「白」又は「黒」に着色される中央の領域は1ビットの情報を表し、4種類の色の中から選択された1つの色に着色される周囲の領域は2ビットの情報を表す。従って、図2Aに示すモジュールUは3ビットの情報を表し、図2Bに示すモジュールUは5ビットの情報を表し、図2Cに示すモジュールUは9ビットの情報を表し、図2Dに示すモジュールUは17ビットの情報を表す。 The number of colors selectively given to each region that divides the module U corresponds to the magnitude of the information represented by each region. That is, the central area colored in "white" or "black" represents 1-bit information, and the surrounding area colored in one color selected from the four types of colors represents 2-bit information. Represent. Therefore, module U shown in FIG. 2A represents 3 bits of information, module U shown in FIG. 2B represents 5 bits of information, module U shown in FIG. 2C represents 9 bits of information, and module U shown in FIG. 2D. Represents 17 bits of information.

なお、図2A〜図2Dの例では、各モジュールUを複数の領域に区分しているが、本実施形態の他の例では、各モジュールUを単一の領域としてもよい。この場合、各モジュールUに与える色の種類を4以上とすることにより、各モジュールUが表す情報を2ビット以上にすることができる。 In the examples of FIGS. 2A to 2D, each module U is divided into a plurality of regions, but in another example of the present embodiment, each module U may be a single region. In this case, by setting the type of color given to each module U to 4 or more, the information represented by each module U can be set to 2 bits or more.

本実施形態では、個々のモジュールUがNビットの情報を表すものとした場合、複数のモジュールUが表す全体の情報は、N個の階層に分かれる。この場合、1つのモジュールUが表すNビットの情報は、N個の階層の各々に1ビットずつ含まれる。すなわち、1つのモジュールUが表すN個のビットデータは、互いに異なる階層に含まれる。 In the present embodiment, assuming that each module U represents N-bit information, the entire information represented by the plurality of modules U is divided into N layers. In this case, the N-bit information represented by one module U is included in each of the N layers, one bit at a time. That is, the N bit data represented by one module U are included in different layers.

図3は、第1の実施形態に係る光学コードにおける情報の階層構造の一例を示す図である。各モジュールUが図2Dに示すような構成によって17ビットの情報を表す場合、光学コードに含まれる情報は、図3に示すような17個の階層(L0〜L16)に分かれる。図3の例において、階層L0が互換層であり、階層L1が共通層であり、階層L2〜L5がユーザ層であり、階層L6〜L16が暗号化層である。 FIG. 3 is a diagram showing an example of a hierarchical structure of information in the optical code according to the first embodiment. When each module U represents 17-bit information by the configuration shown in FIG. 2D, the information contained in the optical code is divided into 17 layers (L0 to L16) as shown in FIG. In the example of FIG. 3, layer L0 is a compatibility layer, layer L1 is a common layer, layers L2 to L5 are user layers, and layers L6 to L16 are encryption layers.

互換層(L0)は、既存のQRコード(登録商標)として読み取ることが可能な情報を含む。互換層(L0)は、例えば図2A〜図2Dに示すモジュールUの中央の領域(白又は黒)が表す1ビットの情報の集合である。 The compatibility layer (L0) contains information that can be read as an existing QR code (registered trademark). The compatibility layer (L0) is, for example, a set of 1-bit information represented by the central region (white or black) of the module U shown in FIGS. 2A to 2D.

共通層(L1)は、互換層(L0)以外の各階層(以下、「追加層」と記す場合がある。)における情報の記録形式に関する情報が格納された共通ヘッダを含む。共通ヘッダには、例えば、情報の記録形式を指定する識別子や、情報へのアクセス権限を持ったユーザの数、暗号方式を指定する情報、圧縮方式を指定する情報などが格納される。 The common layer (L1) includes a common header in which information regarding a recording format of information in each layer other than the compatibility layer (L0) (hereinafter, may be referred to as “additional layer”) is stored. In the common header, for example, an identifier that specifies a recording format of information, the number of users who have access authority to the information, information that specifies an encryption method, information that specifies a compression method, and the like are stored.

ユーザ層(L2〜L5)は、暗号化層(L6〜L16)に含まれる秘匿情報へのアクセス権限が与えられたユーザと一対一に対応する階層であり、図3の例では、4名のユーザに対して4つのユーザ層L2〜L5が一対一に対応する。すなわち、秘匿情報へのアクセス権限が与えられたユーザ毎に1つのユーザ層が割り当てられる。 The user layer (L2 to L5) is a layer having a one-to-one correspondence with a user who is given access authority to the confidential information contained in the encryption layer (L6 to L16). In the example of FIG. 3, four people are used. There is a one-to-one correspondence between the four user layers L2 to L5 with respect to the user. That is, one user layer is assigned to each user who is given the access authority to the confidential information.

図4は、第1の実施形態に係る光学コードにおいて追加層に含まれる情報の例を示す図である。図4に示すように、1名のユーザに対応する1つのユーザ層は、その1名のユーザを識別するためのユーザIDと、その1名のユーザが所有する暗号鍵により暗号化された少なくとも1つ階層情報を含む。図4の例では、ユーザID「Alice」のユーザに対応するユーザ層(L2)には、当該ユーザが所有する暗号鍵により暗号化された2つの階層情報が含まれている。また、ユーザID「Bob」のユーザに対応するユーザ層(L3)には、当該ユーザが所有する暗号鍵により暗号化された1つの階層情報が含まれている。 FIG. 4 is a diagram showing an example of information contained in the additional layer in the optical cord according to the first embodiment. As shown in FIG. 4, one user layer corresponding to one user is encrypted with at least a user ID for identifying the one user and an encryption key owned by the one user. Includes one hierarchical information. In the example of FIG. 4, the user layer (L2) corresponding to the user with the user ID “Alice” includes two layer information encrypted by the encryption key owned by the user. Further, the user layer (L3) corresponding to the user with the user ID "Bob" includes one layer information encrypted by the encryption key owned by the user.

1つの階層情報は、1つの暗号化層を識別するための階層IDと、その1つの暗号化層に含まれる暗号化された秘匿情報を復号するための復号情報とを含む。例えばユーザID「Alice」のユーザに対応するユーザ層(L2)に含まれる一方の階層情報は、暗号化層(L6)を示す階層IDと、暗号化層(L6)に含まれる秘匿情報を復号するための復号情報を含む。また、ユーザ情報(L2)に含まれる他方の階層情報は、暗号化層(L8)を示す階層IDと、暗号化層(L8)に含まれる秘匿情報を復号するための復号情報を含む。従って、ユーザID「Alice」のユーザは、ユーザ層(L2)に含まれる2つの階層情報をそれぞれ自身の暗号鍵で復号することにより、暗号化層(L6)に含まれる秘匿情報と暗号化層(L8)に含まれる秘匿情報とをそれぞれ読み出すことが可能となる。 One layer information includes a layer ID for identifying one encryption layer and decryption information for decrypting the encrypted confidential information contained in the one encryption layer. For example, one of the hierarchical information included in the user layer (L2) corresponding to the user with the user ID "Alice" decrypts the hierarchical ID indicating the encryption layer (L6) and the confidential information included in the encryption layer (L6). Includes decryption information to do. Further, the other hierarchical information included in the user information (L2) includes a hierarchical ID indicating the encryption layer (L8) and decryption information for decrypting the confidential information included in the encryption layer (L8). Therefore, the user with the user ID "Alice" decrypts the two layers of information included in the user layer (L2) with their own encryption keys, thereby decrypting the confidential information and the encryption layer included in the encryption layer (L6). It is possible to read out the confidential information included in (L8).

図5は、本実施形態に係る光学コードの生成処理や読み取り処理を実行する情報処理装置1の構成の一例を示す図である。図5に示す情報処理装置1は、例えばパーソナルコンピュータやスマートホンなどの汎用的に使用される装置であり、通信部10と、入力部20と、表示部30と、撮像部40と、記憶部50と、処理部60を有する。 FIG. 5 is a diagram showing an example of a configuration of an information processing device 1 that executes an optical code generation process and a reading process according to the present embodiment. The information processing device 1 shown in FIG. 5 is a device that is generally used, such as a personal computer or a smart phone, and includes a communication unit 10, an input unit 20, a display unit 30, an imaging unit 40, and a storage unit. It has 50 and a processing unit 60.

通信部10は、LANやインターネット等のネットワークを介して他の種々の装置(スマートホン、プリンタなど)と通信を行うための装置であり、所定の通信規格に従って通信を行う通信回路を含む。 The communication unit 10 is a device for communicating with various other devices (smartphones, printers, etc.) via a network such as LAN or the Internet, and includes a communication circuit that communicates according to a predetermined communication standard.

入力部20は、情報処理装置1に操作コマンドやデータを入力するための装置であり、例えばキーボード、マウス、タッチパッド、タッチパネルなどのユーザインタフェースに関わる装置や、記録媒体(光ディスク、ICタグ、USBメモリなど)の読み取り装置を含む。 The input unit 20 is a device for inputting operation commands and data to the information processing device 1, and is a device related to a user interface such as a keyboard, a mouse, a touch pad, and a touch panel, and a recording medium (optical disk, IC tag, USB). Includes readers (such as memory).

表示部30は、情報処理装置1のユーザに対して画像や文字などの情報を表示するための装置であり、例えば液晶ディスプレイや有機ELディスプレイなどの表示装置を含む。 The display unit 30 is a device for displaying information such as images and characters to the user of the information processing device 1, and includes a display device such as a liquid crystal display or an organic EL display.

撮像部40は、光学コードの画像を撮像する装置であり、例えばCMOSセンサなどの撮像素子と光学系を含んで構成される。 The image pickup unit 40 is a device that captures an image of an optical code, and includes an image pickup element such as a CMOS sensor and an optical system.

処理部60は、情報処理装置1の全体的な処理を司る装置であり、記憶部50に格納されたプログラム51の命令コードに従って処理を実行する1以上のコンピュータや、特定の処理を実行する専用のハードウェア(FPGA、ASICなど)を含む。 The processing unit 60 is a device that controls the overall processing of the information processing device 1, and includes one or more computers that execute processing according to the instruction code of the program 51 stored in the storage unit 50, or a dedicated device that executes specific processing. Includes hardware (FPGA, ASIC, etc.).

記憶部50は、処理部60における1以上のコンピュータに読み込まれて実行されるプログラム51や、処理部60の処理過程で一時的に保存されるデータを記憶する。記憶部50は、例えばハードディスク装置や、フラッシュメモリ、光記録媒体、DRAM、SRAMなどの記憶装置を含む。なお、プログラム51は、光ディスクなどの非一時的な記録媒体に記録されたものでもよく、その場合、入力部20の読み取り装置において読み取られたプログラム51を記憶部50に格納してもよい。 The storage unit 50 stores a program 51 that is read and executed by one or more computers in the processing unit 60, and data that is temporarily stored in the processing process of the processing unit 60. The storage unit 50 includes, for example, a hard disk device and a storage device such as a flash memory, an optical recording medium, a DRAM, and an SRAM. The program 51 may be recorded on a non-temporary recording medium such as an optical disk. In this case, the program 51 read by the reading device of the input unit 20 may be stored in the storage unit 50.

次に、第1の実施形態に係る光学コードの生成処理と読み取り処理について、図6〜図11を参照して説明する。これらの処理の少なくとも一部は、例えば図5に示す情報処理装置1において実行される。ここでは一例として、光学コードにおける情報が図3及び図4に示す階層構造を持つものとする。 Next, the optical code generation process and the reading process according to the first embodiment will be described with reference to FIGS. 6 to 11. At least a part of these processes is executed in, for example, the information processing apparatus 1 shown in FIG. Here, as an example, it is assumed that the information in the optical code has the hierarchical structure shown in FIGS. 3 and 4.

図6は、第1の実施形態に係る光学コードの生成処理の一例を説明するためのフローチャートである。 FIG. 6 is a flowchart for explaining an example of the optical code generation process according to the first embodiment.

処理部60は、互換層(L0)に記録する情報を取得する(ST100)。例えば処理部60は、表示部30の画面の表示に従って入力部20のユーザインタフェース装置により入力された情報や、ネットワーク上のサーバ等との通信によって通信部10から入力された情報を、互換層(L0)に記録する情報として取得し、記憶部50に格納する。 The processing unit 60 acquires information to be recorded in the compatibility layer (L0) (ST100). For example, the processing unit 60 converts the information input by the user interface device of the input unit 20 according to the display on the screen of the display unit 30 and the information input from the communication unit 10 by communication with a server or the like on the network into a compatibility layer ( It is acquired as information to be recorded in L0) and stored in the storage unit 50.

また処理部60は、共通層(L1)に記録する情報として、共通ヘッダを取得する(ST105)。例えば処理部60は、入力部20のユーザインタフェース装置により入力された情報に基づいて共通ヘッダを生成し、共通層(L1)に記録する情報として記憶部50に格納する。 Further, the processing unit 60 acquires a common header as information to be recorded in the common layer (L1) (ST105). For example, the processing unit 60 generates a common header based on the information input by the user interface device of the input unit 20, and stores it in the storage unit 50 as information to be recorded in the common layer (L1).

次に処理部60は、1以上の暗号化層(図3の例では階層L6〜L16)と一対一に対応する1以上の復号情報(図3の例では11個)を生成する(ST110)。例えば処理部60は、それぞれランダムなデータとして復号情報を生成する。なお、暗号化層の数はユーザ層の数(すなわちユーザの数)に応じて変化するため、処理部60は、共通ヘッダに含まれるユーザ数の情報に応じてユーザ層の数及び暗号化層の数を把握し、暗号化層の数を復号情報の数とする。 Next, the processing unit 60 generates one or more decryption information (11 in the example of FIG. 3) corresponding to one or more encryption layers (layers L6 to L16 in the example of FIG. 3) (ST110). .. For example, the processing unit 60 generates decoding information as random data. Since the number of encryption layers changes according to the number of user layers (that is, the number of users), the processing unit 60 determines the number of user layers and the encryption layer according to the information on the number of users included in the common header. The number of encryption layers is used as the number of decryption information.

各暗号化層の復号情報が得られると、処理部60は、1以上のユーザ層(図3の例では階層L2〜L5)の各々に記録する情報を取得する(ST115)。例えば処理部60は、1つのユーザ層に記録する情報を取得する場合、少なくとも1つの階層情報(階層ID及び復号情報)を生成し、生成した少なくとも1つの階層情報を暗号鍵により暗号化し、暗号化した少なくとも1つの階層情報とユーザIDとを、この1つのユーザ層に記録する情報として記憶部50に格納する。 When the decryption information of each encryption layer is obtained, the processing unit 60 acquires the information to be recorded in each of one or more user layers (layers L2 to L5 in the example of FIG. 3) (ST115). For example, when the processing unit 60 acquires information to be recorded in one user layer, it generates at least one layer information (layer ID and decryption information), encrypts the generated at least one layer information with an encryption key, and encrypts the information. At least one layered information and a user ID are stored in the storage unit 50 as information to be recorded in this one user layer.

図7は、ユーザ層に記録する情報を取得する処理(ST115:図6)の一例を説明するためのフローチャートである。 FIG. 7 is a flowchart for explaining an example of a process (ST115: FIG. 6) for acquiring information to be recorded in the user layer.

まず処理部60は、アクセス権限を与える1以上のユーザ(図3の例では4名)に対応した1以上のユーザIDの中から、1つのユーザIDを選択する(ST200)。 First, the processing unit 60 selects one user ID from one or more user IDs corresponding to one or more users (four in the example of FIG. 3) to which access authority is given (ST200).

次に処理部60は、少なくとも1つの暗号化層に対応した少なくとも1つの階層情報を生成する(ST205)。この「少なくとも1つの暗号化層」は、選択中のユーザIDを持つユーザが秘匿情報へアクセスすることを許容する暗号化層を示す。処理部60は、「少なくとも1つの暗号化層」を識別するための「少なくとも1つの階層ID」と、「少なくとも1つの暗号化層」に対応して生成した「少なくとも1つの復号情報」(ST110:図6)とに基づいて、少なくとも1つの階層情報を生成する。個々の階層情報には、図4に示すように、1つの階層IDと1つの復号情報が含まれる。 Next, the processing unit 60 generates at least one hierarchical information corresponding to at least one encryption layer (ST205). This "at least one encryption layer" indicates an encryption layer that allows a user having the selected user ID to access the confidential information. The processing unit 60 has "at least one layer ID" for identifying "at least one encryption layer" and "at least one decryption information" (ST110) generated corresponding to "at least one encryption layer". : At least one hierarchical information is generated based on FIG. 6). As shown in FIG. 4, each layer information includes one layer ID and one decryption information.

処理部60は、ステップST205で生成した少なくとも1つの階層情報を、選択中のユーザIDに関連付けた暗号鍵に基づいて暗号化する(ST210)。この暗号鍵は、例えば通信部10や入力部20において入力され、ユーザIDと関連付けて記憶部50に格納されている。 The processing unit 60 encrypts at least one hierarchical information generated in step ST205 based on the encryption key associated with the selected user ID (ST210). This encryption key is input in, for example, the communication unit 10 or the input unit 20, and is stored in the storage unit 50 in association with the user ID.

処理部60は、例えば、階層情報を構成する複数のビットの各々に対して排他的論理和の演算を施すことにより、階層情報を暗号化する。この場合、階層情報の暗号化に用いられる暗号鍵は、階層情報を構成する複数ビットにおける各ビットの値を反転させるか否か指定する情報(ビット列)である。 The processing unit 60 encrypts the hierarchical information by, for example, performing an exclusive OR operation on each of the plurality of bits constituting the hierarchical information. In this case, the encryption key used for encrypting the hierarchical information is information (bit string) that specifies whether or not to invert the value of each bit in the plurality of bits constituting the hierarchical information.

処理部60は、ステップST210において暗号化した少なくとも1つの階層情報と、選択中のユーザIDとを、1つのユーザ層に記録する情報として取得し、記憶部50に格納する(ST215)。 The processing unit 60 acquires at least one layered information encrypted in step ST210 and the selected user ID as information to be recorded in one user layer, and stores it in the storage unit 50 (ST215).

ステップST215において1つのユーザ層に記録する情報を取得すると、処理部60は、未だ選択していない他のユーザIDがある場合(ST220のYes)、他の1つのユーザIDを選択して(ST225)、ステップST205以降の処理を繰り返す。処理部60は、全てのユーザIDについてステップST205〜ST215を実行すると(ST220のNo)、図7のフローチャートの処理を終了する。 When the information to be recorded in one user layer is acquired in step ST215, the processing unit 60 selects another user ID (ST225) when there is another user ID that has not yet been selected (Yes in ST220). ), The processing after step ST205 is repeated. When the processing unit 60 executes steps ST205 to ST215 for all user IDs (No of ST220), the processing unit 60 ends the processing of the flowchart of FIG. 7.

図6に戻る。
処理部60は、1以上の暗号化層(図3の例では階層L6〜L16)に記録する情報を取得する(ST120)。例えば処理部60は、通信部10や入力部20において入力された情報を、1以上の暗号化層に記録する情報として取得する。
Return to FIG.
The processing unit 60 acquires information to be recorded in one or more encryption layers (layers L6 to L16 in the example of FIG. 3) (ST120). For example, the processing unit 60 acquires the information input by the communication unit 10 and the input unit 20 as information to be recorded in one or more encryption layers.

図8は、暗号化層に記録する情報を取得する処理(ST120:図6)の一例を説明するためのフローチャートである。 FIG. 8 is a flowchart for explaining an example of a process (ST120: FIG. 6) for acquiring information to be recorded in the encryption layer.

まず処理部60は、1以上の暗号化層(図3の例では階層L6〜L16)の中から、1つの暗号化層を選択する(ST300)。 First, the processing unit 60 selects one encryption layer from one or more encryption layers (layers L6 to L16 in the example of FIG. 3) (ST300).

次に処理部60は、選択中の暗号化層に記録する情報として秘匿情報を取得する(ST305)。例えば処理部60は、表示部30の画面の表示に従って入力部20のユーザインタフェース装置により入力された情報や、ネットワーク上のサーバ等との通信によって通信部10から入力された情報を、選択中の暗号化層に記録する情報として取得し、記憶部50に格納する。 Next, the processing unit 60 acquires confidential information as information to be recorded in the selected encryption layer (ST305). For example, the processing unit 60 is selecting information input by the user interface device of the input unit 20 according to the display on the screen of the display unit 30 or information input from the communication unit 10 by communication with a server or the like on the network. It is acquired as information to be recorded in the encryption layer and stored in the storage unit 50.

ステップST305において1つの暗号化層に記録する秘匿情報を取得すると、処理部60は、未だ選択していない他の暗号化層がある場合(ST310のYes)、他の1つの暗号化層を選択して(ST315)、ステップST305以降の処理を繰り返す。処理部60は、全ての暗号化層についてステップST305を実行すると(ST310のNo)、図8のフローチャートの処理を終了する。 When the confidential information to be recorded in one encryption layer is acquired in step ST305, the processing unit 60 selects the other encryption layer when there is another encryption layer that has not yet been selected (Yes in ST310). Then (ST315), the processes after step ST305 are repeated. When step ST305 is executed for all the encryption layers (No in ST310), the processing unit 60 ends the processing of the flowchart of FIG.

再び図6に戻る。
処理部60は、ステップST100〜ST120によって各階層(L0〜L16)に記録する情報を取得すると、各階層に含まれる情報を所定の光学コードの生成形式に従って変換する(ST125)。例えば処理部60は、各階層に含まれる情報をQRコード(登録商標)の形式に則った情報に変換し、記憶部50に格納する。これにより、各階層に含まれる情報は、QRコード(登録商標)と等価な情報になる。
Return to FIG. 6 again.
When the processing unit 60 acquires the information to be recorded in each layer (L0 to L16) in steps ST100 to ST120, the processing unit 60 converts the information included in each layer according to a predetermined optical code generation format (ST125). For example, the processing unit 60 converts the information included in each layer into information conforming to the format of the QR code (registered trademark) and stores it in the storage unit 50. As a result, the information included in each layer becomes information equivalent to the QR code (registered trademark).

次に処理部60は、1以上の暗号化層(図3の例では階層L6〜L16)に含まれる情報をそれぞれ暗号化する(ST135)。 Next, the processing unit 60 encrypts the information contained in one or more encryption layers (layers L6 to L16 in the example of FIG. 3) (ST135).

図9は、暗号化層に含まれる秘匿情報を暗号化する処理(ST135:図6)の一例を説明するためのフローチャートである。 FIG. 9 is a flowchart for explaining an example of a process (ST135: FIG. 6) for encrypting confidential information included in the encryption layer.

まず処理部60は、1以上の暗号化層(図3の例では階層L6〜L16)の中から、1つの暗号化層を選択する(ST400)。 First, the processing unit 60 selects one encryption layer from one or more encryption layers (layers L6 to L16 in the example of FIG. 3) (ST400).

次に処理部60は、選択中の暗号化層に含まれる秘匿情報を、この暗号化層に対応する復号情報(ST110:図6)によって復号し得るように暗号化する(ST405)。例えば処理部60は、秘匿情報を構成する複数のビットの各々に対して排他的論理和の演算を施すことにより、秘匿情報を暗号化する。この場合、秘匿情報の暗号化に用いられる暗号鍵は、秘匿情報を構成する複数ビットにおける各ビットの値を反転させるか否か指定する情報(ビット列)である。 Next, the processing unit 60 encrypts the confidential information contained in the selected encryption layer so that it can be decrypted by the decryption information (ST110: FIG. 6) corresponding to this encryption layer (ST405). For example, the processing unit 60 encrypts the secret information by performing an exclusive OR operation on each of the plurality of bits constituting the secret information. In this case, the encryption key used for encrypting the confidential information is information (bit string) that specifies whether or not to invert the value of each bit in the plurality of bits constituting the confidential information.

ステップST405において1つの暗号化層に含まれる秘匿情報を暗号化すると、処理部60は、未だ選択していない他の暗号化層がある場合(ST410のYes)、他の1つの暗号化層を選択して(ST415)、ステップST405以降の処理を繰り返す。処理部60は、全ての暗号化層についてステップST405を実行すると(ST410のNo)、図9のフローチャートの処理を終了する。 When the confidential information contained in one encryption layer is encrypted in step ST405, the processing unit 60 sets the other encryption layer when there is another encryption layer that has not yet been selected (Yes in ST410). It is selected (ST415), and the processing after step ST405 is repeated. When step ST405 is executed for all the encryption layers (No in ST410), the processing unit 60 ends the processing of the flowchart of FIG.

各暗号化層に含まれる秘匿情報を暗号化すると、処理部60は、ステップST100〜ST135の処理によって取得された各階層の情報に基づいて、複数のモジュールUの各々に与える光学的な構成を判定する(ST145)。例えば処理部60は、追加層(L1〜L16)に含まれる情報がそれぞれ得られると、追加層(L1〜L16)に含まれる情報をモジュールU毎に結合することにより、各モジュールUが表す16ビットの情報を取得する。処理部60は、この16ビットの情報から、図2Eに示すような変換テーブルに従って、モジュールUを構成する各領域の色を判定する。 When the confidential information contained in each encryption layer is encrypted, the processing unit 60 provides an optical configuration to each of the plurality of modules U based on the information of each layer acquired by the processing of steps ST100 to ST135. Judgment (ST145). For example, when the processing unit 60 obtains the information contained in the additional layers (L1 to L16), the processing unit 60 combines the information contained in the additional layers (L1 to L16) for each module U, so that each module U represents 16 Get bit information. From this 16-bit information, the processing unit 60 determines the color of each region constituting the module U according to the conversion table as shown in FIG. 2E.

例えば、図2Dに示すモジュールUを図2Eの表に当てはめた場合、モジュールUが表す16ビットの情報の中で階層L1に含まれるビットが「1」、階層L2に含まれるビットが「0」であるとすると、処理部60は、モジュールUの右上隅の領域に与えられる色を「黄」又は「藍」と判定する。ここで、処理部60は、階層L0が「白」の場合(階層L0に含まれるビットが「0」の場合)、右上隅の領域を「黄」と判定し、階層L0が「黒」の場合(階層L0に含まれるビットが「1」の場合)、右上隅の領域を「藍」と判定する。 For example, when the module U shown in FIG. 2D is applied to the table of FIG. 2E, the bits included in the layer L1 are “1” and the bits included in the layer L2 are “0” in the 16-bit information represented by the module U. If this is the case, the processing unit 60 determines that the color given to the region in the upper right corner of the module U is "yellow" or "indigo". Here, when the layer L0 is "white" (when the bit included in the layer L0 is "0"), the processing unit 60 determines that the area in the upper right corner is "yellow", and the layer L0 is "black". In the case (when the bit included in the layer L0 is "1"), the area in the upper right corner is determined to be "indigo".

図10は、第1の実施形態に係る光学コードの読み取り処理の一例を説明するためのフローチャートである。ここでは、図4における特定のユーザ(ユーザID「Alice」)が秘匿情報を読み出す場合を例に挙げながら、光学コードの読み取り処理を説明する。 FIG. 10 is a flowchart for explaining an example of the optical code reading process according to the first embodiment. Here, the optical code reading process will be described by taking as an example the case where a specific user (user ID “Alice”) in FIG. 4 reads the confidential information.

処理部60は、撮像部40などにおいて撮像された画像から、各モジュールUが表す情報を読み取る(ST500)。例えば処理部60は、画像に含まれる機能パターン(位置検出要素P1、アライメントパターンP2、タイミングパターンP3)に基づいて、画像中における各モジュールの位置を特定し、各モジュール内の各領域における色を判定する。処理部60は、各モジュール内の各領域の色を判定した結果から、各モジュールの中央の領域が表す1ビットの情報(階層L0)を取得するとともに、図2Eに示すような変換テーブルに従って、各モジュールUの中央以外の領域が表す16ビットの情報(階層L1〜L16)を取得する。 The processing unit 60 reads the information represented by each module U from the image captured by the imaging unit 40 or the like (ST500). For example, the processing unit 60 identifies the position of each module in the image based on the functional patterns (position detection element P1, alignment pattern P2, timing pattern P3) included in the image, and determines the color in each region in each module. judge. The processing unit 60 acquires 1-bit information (layer L0) represented by the central area of each module from the result of determining the color of each area in each module, and according to a conversion table as shown in FIG. 2E. 16-bit information (layers L1 to L16) represented by an area other than the center of each module U is acquired.

次に処理部60は、複数のモジュールUが表す情報(中央の領域が表す1ビットの情報、中央以外の領域が表す16ビットの情報)に基づいて、階層L0〜L16に含まれる情報をそれぞれ取得する(ST505)。 Next, the processing unit 60 sets the information contained in the layers L0 to L16 based on the information represented by the plurality of modules U (1-bit information represented by the central region and 16-bit information represented by the region other than the center). Acquire (ST505).

処理部60は、階層L0〜L16に含まれる情報がそれぞれ得られると、暗号化層以外の各階層に含まれる情報を、所定の光学コードの読み取り形式に従って変換する(ST515)。例えば処理部60は、各階層に含まれる情報をQRコード(登録商標)の情報として数字や文字などに変換し、記憶部50に格納する。例えば処理部60は、共通層の共通ヘッダに格納される情報から暗号化層以外の階層(ユーザ層)を特定し、特定したユーザ層の情報をQRコード(登録商標)の情報として文字等に変換する。 When the information contained in the layers L0 to L16 is obtained, the processing unit 60 converts the information contained in each layer other than the encryption layer according to a predetermined optical code reading format (ST515). For example, the processing unit 60 converts the information included in each layer into numbers and characters as QR code (registered trademark) information and stores it in the storage unit 50. For example, the processing unit 60 identifies a layer (user layer) other than the encryption layer from the information stored in the common header of the common layer, and converts the information of the specified user layer into characters or the like as QR code (registered trademark) information. Convert.

処理部60は、ステップST515において文字等に変換された1以上のユーザ層(階層L2〜L5)から、1つのユーザID(「Alice」)が含まれた1つのユーザ層(図4の例では階層L2)を特定する(ST520)。 The processing unit 60 has one user layer (in the example of FIG. 4) including one user ID (“Alice”) from one or more user layers (layers L2 to L5) converted into characters or the like in step ST515. Hierarchy L2) is specified (ST520).

処理部60は、ステップST520で特定した1つのユーザ層(階層L2)に含まれる暗号化された少なくとも1つの階層情報(図4の例では2つの階層情報)を、1つのユーザID(「Alice」)に関連付けられた暗号鍵に基づいて復号する(ST525)。例えば処理部60は、暗号鍵のビット列と階層情報のビット列との排他的論理和を演算することにより、暗号化された階層情報を復号する。 The processing unit 60 uses at least one encrypted layer information (two layer information in the example of FIG. 4) included in one user layer (layer L2) specified in step ST520 as one user ID (“Alice”). Decryption based on the encryption key associated with (ST525). For example, the processing unit 60 decrypts the encrypted hierarchical information by calculating the exclusive OR of the bit string of the encryption key and the bit string of the hierarchical information.

処理部60は、ステップST525で少なくとも1つの階層情報(図4の例では2つの階層情報)を復号すると、復号した少なくとも1つの階層情報に基づいて、少なくとも1つの暗号化階層(図4の例では階層L6及びL8)に含まれる秘匿情報を復号する(ST530)。 When the processing unit 60 decrypts at least one layer information (two layer information in the example of FIG. 4) in step ST525, the processing unit 60 decrypts at least one encryption layer (example of FIG. 4) based on the decrypted at least one layer information. Then, the confidential information contained in the layers L6 and L8) is decrypted (ST530).

図11は、暗号化層に含まれる秘匿情報を復号する処理(ST530:図10)の一例を説明するためのフローチャートである。 FIG. 11 is a flowchart for explaining an example of a process (ST530: FIG. 10) for decrypting confidential information included in the encryption layer.

まず処理部60は、ステップST530で復号した1以上の階層情報(図4の例では2つの階層情報)の中から、1つの階層情報を選択する(ST600)。 First, the processing unit 60 selects one layer information from one or more layer information (two layer information in the example of FIG. 4) decoded in step ST530 (ST600).

次に処理部60は、選択中の階層情報に含まれる階層IDに基づいて、1つの暗号化層を特定する(ST605)。 Next, the processing unit 60 identifies one encryption layer based on the layer ID included in the selected layer information (ST605).

処理部60は、ステップST605で特定した1つの暗号化層に含まれる秘匿情報を、選択中の階層情報に含まれる復号情報に基づいて復号する(ST610)。例えば処理部60は、復号情報に基づいて得られるビット列と秘匿情報のビット列との排他的論理和を演算することにより、暗号化された秘匿情報を復号する。 The processing unit 60 decrypts the confidential information included in one encryption layer specified in step ST605 based on the decryption information included in the selected hierarchical information (ST610). For example, the processing unit 60 decodes the encrypted secret information by calculating the exclusive OR of the bit string obtained based on the decryption information and the bit string of the secret information.

ステップST610において秘匿情報を復号すると、処理部60は、未だ選択していない他の階層情報がある場合(ST615のYes)、他の1つの階層情報を選択して(ST620)、ステップST605以降の処理を繰り返す。処理部60は、全ての階層情報についてステップST605〜ST610を実行すると(ST615のNo)、図11のフローチャートの処理を終了する。 When the confidential information is decoded in step ST610, the processing unit 60 selects another hierarchical information (ST620) when there is other hierarchical information that has not yet been selected (Yes in ST615), and after step ST605. Repeat the process. When the processing unit 60 executes steps ST605 to ST610 for all the hierarchical information (No of ST615), the processing unit 60 ends the processing of the flowchart of FIG.

ステップST535において各暗号化層の秘匿情報を復号すると、処理部60は、秘匿情報を復号した暗号化層に含まれる情報を、QRコード(登録商標)などの所定の光学コードの読み取り形式に従って変換する(ST535)。これにより、処理部60は、復号された秘匿情報を数字や文字などに変換する。 When the confidential information of each encryption layer is decrypted in step ST535, the processing unit 60 converts the information contained in the encrypted layer from which the confidential information is decrypted according to a predetermined optical code reading format such as a QR code (registered trademark). (ST535). As a result, the processing unit 60 converts the decoded confidential information into numbers, characters, and the like.

以上説明したように、本実施形態によれば、ユーザ毎に割り当てられたユーザ層には、ユーザが所有する暗号鍵により暗号化された階層情報が記録されており、その暗号化された階層情報には、暗号化層に記録された秘匿情報を復号するための復号情報が含まれている。これにより、暗号化層に記録される秘匿情報へのアクセス(秘匿情報の復号の許可又は禁止)をユーザ毎に制御することができる。 As described above, according to the present embodiment, the hierarchical information encrypted by the encryption key owned by the user is recorded in the user layer assigned to each user, and the encrypted hierarchical information is recorded. Contains decryption information for decrypting the confidential information recorded in the encryption layer. As a result, access to the confidential information recorded in the encryption layer (permission or prohibition of decryption of the confidential information) can be controlled for each user.

また、本実施形態によれば、複数のモジュールUの各々から1ビットずつ集めた情報である階層を単位として、各ユーザのアクセスが許可又は禁止され、階層ごとに情報の暗号化が行われる。そのため、各モジュールUの各ビットがどの階層に含まれるかが未知である場合、階層(暗号化層)に含まれる秘匿情報を読み出すことが極めて困難となる。従って、モジュールUや階層の数を大きくするほど、暗号の耐性を高くすることができる。 Further, according to the present embodiment, access of each user is permitted or prohibited in units of layers that are information collected bit by bit from each of the plurality of modules U, and information is encrypted for each layer. Therefore, when it is unknown in which layer each bit of each module U is included, it becomes extremely difficult to read the confidential information contained in the layer (encryption layer). Therefore, the larger the number of modules U and layers, the higher the cipher resistance.

<第2の実施形態>
次に、本発明の第2の実施形態について説明する。第2の実施形態に係る光学コードは、上述した第1の実施形態に係る光学コードにおいて共通層及びユーザ層に含まれる情報を変更したものであり、他の構成は第1の実施形態に係る光学コードと概ね同じである。以下では、第1の実施形態に係る光学コードとの相違点を中心に説明する。
<Second embodiment>
Next, a second embodiment of the present invention will be described. The optical cord according to the second embodiment is obtained by changing the information included in the common layer and the user layer in the optical cord according to the first embodiment described above, and the other configurations relate to the first embodiment. It is almost the same as the optical cord. Hereinafter, the differences from the optical cord according to the first embodiment will be mainly described.

図12は、第2の実施形態に係る光学コードにおいて追加層(L1,L2,…)に含まれる情報の例を示す図である。 FIG. 12 is a diagram showing an example of information contained in additional layers (L1, L2, ...) In the optical cord according to the second embodiment.

共通層(L1)は、共通ヘッダを含むとともに、1以上のユーザと一対一に対応した1以上のユーザ情報を含む。図12の例において、共通層(L1)は、2名のユーザに対応した2つのユーザ情報を含んでいる。 The common layer (L1) includes a common header and includes one or more user information having a one-to-one correspondence with one or more users. In the example of FIG. 12, the common layer (L1) includes two user information corresponding to two users.

1名のユーザに対応する1つのユーザ情報は、図12に示すように、その1名のユーザを識別するためのユーザIDと、その1名のユーザに対応する1つのユーザ層を識別するための階層IDを含む。図12の例において、ユーザID「Alice」のユーザに対応するユーザ情報は、ユーザID「Alice」と、当該ユーザに対応するユーザ層(L2)の階層IDを含む。また、ユーザID「Bob」のユーザに対応するユーザ情報は、ユーザID「Bob」と、当該ユーザに対応するユーザ層(L3)の階層IDを含む。 As shown in FIG. 12, one user information corresponding to one user is for identifying a user ID for identifying the one user and one user group corresponding to the one user. Includes the hierarchical ID of. In the example of FIG. 12, the user information corresponding to the user with the user ID "Alice" includes the user ID "Alice" and the hierarchical ID of the user layer (L2) corresponding to the user. Further, the user information corresponding to the user of the user ID "Bob" includes the user ID "Bob" and the hierarchical ID of the user layer (L3) corresponding to the user.

ユーザ層は、秘匿情報へのアクセス権限が与えられたユーザと一対一に対応する階層である。図12の例では、2名のユーザ(「Alice」、「Bob」)と2つのユーザ層L2及びL3とが一対一に対応する。すなわち、秘匿情報へのアクセス権限が与えられたユーザ毎に1つのユーザ層が割り当てられる。 The user layer is a layer that has a one-to-one correspondence with a user who is given access authority to confidential information. In the example of FIG. 12, two users (“Alice”, “Bob”) and two user layers L2 and L3 have a one-to-one correspondence. That is, one user layer is assigned to each user who is given the access authority to the confidential information.

1名のユーザに対応する1つのユーザ層は、その1名のユーザが所有する暗号鍵により暗号化された少なくとも1つの階層情報を含む。図4の例では、ユーザID「Alice」のユーザに対応するユーザ層(L2)には、当該ユーザが所有する暗号鍵により暗号化された2つの階層情報が含まれている。また、ユーザID「Bob」のユーザに対応するユーザ層(L3)には、当該ユーザが所有する暗号鍵により暗号化された1つの階層情報が含まれている。階層情報に含まれる情報は、第1の実施形態に係る光学コード(図4)と同様である。 One user layer corresponding to one user includes at least one layer information encrypted by an encryption key owned by the one user. In the example of FIG. 4, the user layer (L2) corresponding to the user with the user ID “Alice” includes two layer information encrypted by the encryption key owned by the user. Further, the user layer (L3) corresponding to the user with the user ID "Bob" includes one layer information encrypted by the encryption key owned by the user. The information included in the hierarchical information is the same as that of the optical code (FIG. 4) according to the first embodiment.

次に、第2の実施形態に係る光学コードの生成処理と読み取り処理について、図13〜図17を参照して説明する。これらの処理の少なくとも一部は、例えば図1に示す情報処理装置1において実行される。ここでは一例として、光学コードにおける情報が図12に示す階層構造を持つものとする。 Next, the optical code generation process and the reading process according to the second embodiment will be described with reference to FIGS. 13 to 17. At least a part of these processes is executed in, for example, the information processing apparatus 1 shown in FIG. Here, as an example, it is assumed that the information in the optical code has a hierarchical structure shown in FIG.

図13は、第2の実施形態に係る光学コードの生成処理の一例を説明するためのフローチャートである。図13に示すフローチャートは、図6に示すフローチャートにおけるステップST105、ST115をそれぞれステップST105A,ST115Aに変更するとともに、ステップST130を追加したものであり、他のステップは概ね図6に示すフローチャートと同じである。 FIG. 13 is a flowchart for explaining an example of the optical code generation process according to the second embodiment. The flowchart shown in FIG. 13 is obtained by changing steps ST105 and ST115 in the flowchart shown in FIG. 6 to steps ST105A and ST115A, respectively, and adding step ST130, and the other steps are substantially the same as the flowchart shown in FIG. is there.

処理部60は、図6に示すフローチャートと同様に、互換層(L0)に記録する情報を取得する(ST100)。 The processing unit 60 acquires information to be recorded in the compatibility layer (L0) as in the flowchart shown in FIG. 6 (ST100).

また処理部60は、共通層(L1)に記録する情報として、共通ヘッダとユーザ情報を取得する(ST105A)。例えば処理部60は、図14のフローチャートにおいて示すように、入力部20のユーザインタフェース装置などによって入力された情報に基づいて、共通ヘッダを生成するとともに(ST700)、各ユーザのユーザ情報を生成する(ST705)。処理部60は、生成した共通ヘッダとユーザ情報を、共通層に記録する情報として取得し、記憶部50に格納する(ST710)。 Further, the processing unit 60 acquires a common header and user information as information to be recorded in the common layer (L1) (ST105A). For example, as shown in the flowchart of FIG. 14, the processing unit 60 generates a common header based on the information input by the user interface device of the input unit 20 (ST700), and also generates user information of each user. (ST705). The processing unit 60 acquires the generated common header and user information as information to be recorded in the common layer, and stores the generated common header and user information in the storage unit 50 (ST710).

次に処理部60は、図6に示すフローチャートと同様に、1以上の暗号化層(図12の例では階層L6〜L8)と一対一に対応する1以上の復号情報(図12の例では3個)を生成する(ST110)。 Next, the processing unit 60 has one or more decryption information (in the example of FIG. 12) having a one-to-one correspondence with one or more encryption layers (layers L6 to L8 in the example of FIG. 12), as in the flowchart shown in FIG. 3) are generated (ST110).

各暗号化層の復号情報が得られると、処理部60は、1以上のユーザ層(図12の例では階層L2及びL3)の各々に記録する情報を取得する(ST115A)。例えば処理部60は、1つのユーザ層に記録する情報を取得する場合、1つのユーザ情報に含まれる階層IDに基づいて1つのユーザ層を特定し、少なくとも1つの階層情報(階層ID及び復号情報)を生成し、生成した少なくとも1つの階層情報を、特定した1つのユーザ層に記録する情報として取得して、記憶部50に格納する。 When the decryption information of each encryption layer is obtained, the processing unit 60 acquires the information to be recorded in each of one or more user layers (layers L2 and L3 in the example of FIG. 12) (ST115A). For example, when the processing unit 60 acquires information to be recorded in one user layer, the processing unit 60 identifies one user layer based on the layer ID included in the one user information, and at least one layer information (layer ID and decryption information). ) Is generated, and the generated at least one hierarchical information is acquired as information to be recorded in one specified user layer, and stored in the storage unit 50.

図15は、ユーザ層に記録する情報を取得する処理(ST115A:図13)の一例を説明するためのフローチャートである。 FIG. 15 is a flowchart for explaining an example of a process (ST115A: FIG. 13) for acquiring information to be recorded in the user layer.

まず処理部60は、アクセス権限を与える1以上のユーザ(図12の例では2名)に対応した1以上のユーザ情報の中から、1つのユーザ情報を選択する(ST800)。 First, the processing unit 60 selects one user information from one or more user information corresponding to one or more users (two in the example of FIG. 12) to which access authority is given (ST800).

次に処理部60は、選択中のユーザ情報に含まれる階層IDに基づいて、1つのユーザ層を特定する(ST805)。 Next, the processing unit 60 identifies one user layer based on the layer ID included in the selected user information (ST805).

また処理部60は、少なくとも1つの暗号化層に対応した少なくとも1つの階層情報を生成する(ST810)。この「少なくとも1つの暗号化層」は、選択中のユーザ情報に含まれるユーザIDを持ったユーザが秘匿情報へアクセスすることを許容する暗号化層を示す。処理部60は、「少なくとも1つの暗号化層」を識別するための「少なくとも1つの階層ID」と、「少なくとも1つの暗号化層」に対応して生成した「少なくとも1つの復号情報」(ST110:図13)とに基づいて、少なくとも1つの階層情報を生成する。個々の階層情報には、図12に示すように、1つの階層IDと1つの復号情報が含まれる。 Further, the processing unit 60 generates at least one layer information corresponding to at least one encryption layer (ST810). This "at least one encryption layer" indicates an encryption layer that allows a user having a user ID included in the selected user information to access the confidential information. The processing unit 60 has "at least one layer ID" for identifying "at least one encryption layer" and "at least one decryption information" (ST110) generated corresponding to "at least one encryption layer". : At least one hierarchical information is generated based on FIG. 13). As shown in FIG. 12, each layer information includes one layer ID and one decryption information.

処理部60は、ステップST810において生成した少なくとも1つの階層情報を、ステップST805で特定した1つのユーザ層に記録する情報として取得し、記憶部50に格納する(ST815)。 The processing unit 60 acquires at least one hierarchical information generated in step ST810 as information to be recorded in one user layer specified in step ST805, and stores it in the storage unit 50 (ST815).

ステップST815において1つのユーザ層に記録する情報を取得すると、処理部60は、未だ選択していない他のユーザ情報がある場合(ST820のYes)、他の1つのユーザ情報を選択して(ST825)、ステップST805以降の処理を繰り返す。処理部60は、全てのユーザ情報についてステップST805〜ST815を実行すると(ST820のNo)、図15のフローチャートの処理を終了する。 When the information to be recorded in one user layer is acquired in step ST815, the processing unit 60 selects the other user information (ST825) when there is other user information that has not yet been selected (Yes in ST820). ), The processing after step ST805 is repeated. When the processing unit 60 executes steps ST805 to ST815 for all the user information (No of ST820), the processing unit 60 ends the processing of the flowchart of FIG.

図13に戻る。
処理部60は、図6に示すフローチャートと同様に、1以上の暗号化層(図12の例では階層L6〜L8)に記録する情報を取得する(ST120)。
Return to FIG.
Similar to the flowchart shown in FIG. 6, the processing unit 60 acquires information to be recorded in one or more encryption layers (layers L6 to L8 in the example of FIG. 12) (ST120).

処理部60は、ステップST100〜ST120によって各階層に記録する情報を取得すると、図6に示すフローチャートと同様に、各階層に含まれる情報を所定の光学コードの生成形式に従って変換する(ST125)。 When the processing unit 60 acquires the information to be recorded in each layer in steps ST100 to ST120, the processing unit 60 converts the information included in each layer according to a predetermined optical code generation format, as in the flowchart shown in FIG. 6 (ST125).

次に処理部60は、1以上のユーザ層(図12の例では階層L2及びL3)の各々に含まれる階層情報を暗号化する(ST130)。例えば処理部60は、1つのユーザ層に含まれる情報を暗号化する場合、1つのユーザ情報に含まれる階層IDに基づいて1つのユーザ層を特定し、特定したユーザ層に含まれる階層情報を、この1つのユーザ情報に含まれるユーザIDに関連付けられた暗号鍵によって暗号化する。 Next, the processing unit 60 encrypts the hierarchical information included in each of one or more user layers (layers L2 and L3 in the example of FIG. 12) (ST130). For example, when the processing unit 60 encrypts the information included in one user layer, the processing unit 60 identifies one user layer based on the hierarchical ID included in the one user layer, and obtains the hierarchical information included in the specified user layer. , It is encrypted by the encryption key associated with the user ID included in this one user information.

図16は、ユーザ層に含まれる情報を暗号化する処理(ST130:図13)の一例を説明するためのフローチャートである。 FIG. 16 is a flowchart for explaining an example of a process (ST130: FIG. 13) for encrypting information included in the user layer.

まず処理部60は、アクセス権限を与える1以上のユーザ(図12の例では2名)に対応した1以上のユーザ情報の中から、1つのユーザ情報を選択する(ST900)。 First, the processing unit 60 selects one user information from one or more user information corresponding to one or more users (two in the example of FIG. 12) to be given access authority (ST900).

次に処理部60は、選択中のユーザ情報に含まれる階層IDに基づいて、1つのユーザ層を特定する(ST905)。 Next, the processing unit 60 identifies one user layer based on the layer ID included in the selected user information (ST905).

処理部60は、ステップST905で特定したユーザ層に含まれる階層情報を、選択中のユーザ情報に含まれるユーザIDに関連付けられた暗号鍵に基づいて暗号化する(ST910)。この暗号鍵は、例えば通信部10や入力部20において入力され、ユーザIDと関連付けて記憶部50に格納されている。処理部60は、例えば、階層情報を構成する複数のビットの各々に対して排他的論理和の演算を施すことにより、階層情報を暗号化する。この場合、階層情報の暗号化に用いられる暗号鍵は、階層情報を構成する複数ビットにおける各ビットの値を反転させるか否か指定する情報(ビット列)である。 The processing unit 60 encrypts the hierarchical information included in the user layer identified in step ST905 based on the encryption key associated with the user ID included in the selected user information (ST910). This encryption key is input in, for example, the communication unit 10 or the input unit 20, and is stored in the storage unit 50 in association with the user ID. The processing unit 60 encrypts the hierarchical information by, for example, performing an exclusive OR operation on each of the plurality of bits constituting the hierarchical information. In this case, the encryption key used for encrypting the hierarchical information is information (bit string) that specifies whether or not to invert the value of each bit in the plurality of bits constituting the hierarchical information.

ステップST910において1つのユーザ層に含まれる階層情報を暗号化すると、処理部60は、未だ選択していない他のユーザ情報がある場合(ST915のYes)、他の1つのユーザ情報を選択して(ST920)、ステップST905以降の処理を繰り返す。処理部60は、全てのユーザ情報についてステップST905〜ST910を実行すると(ST915のNo)、図16のフローチャートの処理を終了する。 When the hierarchical information included in one user layer is encrypted in step ST910, the processing unit 60 selects the other user information when there is other user information that has not yet been selected (Yes in ST915). (ST920), the processing after step ST905 is repeated. When the processing unit 60 executes steps ST905 to ST910 for all the user information (No of ST915), the processing unit 60 ends the processing of the flowchart of FIG.

再び図13に戻る。
処理部60は、図6に示すフローチャートと同様に、1以上の暗号化層(図12の例では階層L6〜L8)に含まれる情報をそれぞれ暗号化する(ST135)。各暗号化層に含まれる秘匿情報を暗号化すると、処理部60は、ステップST100〜ST135の処理によって取得された各階層の情報に基づいて、複数のモジュールUの各々に与える光学的な構成を判定する(ST145)。
Return to FIG. 13 again.
Similar to the flowchart shown in FIG. 6, the processing unit 60 encrypts the information contained in one or more encryption layers (layers L6 to L8 in the example of FIG. 12) (ST135). When the confidential information contained in each encryption layer is encrypted, the processing unit 60 provides an optical configuration to each of the plurality of modules U based on the information of each layer acquired by the processing of steps ST100 to ST135. Judgment (ST145).

図17は、第2の実施形態に係る光学コードの読み取り処理の一例を説明するためのフローチャートである。ここでは、図12における特定のユーザ(ユーザID「Alice」)が秘匿情報を読み出す場合を例に挙げながら、光学コードの読み取り処理を説明する。 FIG. 17 is a flowchart for explaining an example of the optical code reading process according to the second embodiment. Here, the optical code reading process will be described by taking as an example a case where a specific user (user ID “Alice”) in FIG. 12 reads the confidential information.

処理部60は、図10に示すフローチャートと同様に、撮像部40などにおいて撮像された画像から各モジュールUが表す情報を読み取り(ST500)、読み取った複数のモジュールUが表す情報に基づいて、各階層(L0,L1,…)に含まれる情報を取得する(ST505)。 Similar to the flowchart shown in FIG. 10, the processing unit 60 reads the information represented by each module U from the image captured by the imaging unit 40 or the like (ST500), and based on the information represented by the plurality of read modules U, each Acquire the information included in the hierarchy (L0, L1, ...) (ST505).

処理部60は、各階層(L0,L1,…)に含まれる情報がそれぞれ得られると、暗号化層及びユーザ層以外の各階層に含まれる情報を、QRコード(登録商標)などの所定の光学コードの読み取り形式に従って文字等に変換し、記憶部50に格納する(ST515A)。 When the processing unit 60 obtains the information contained in each layer (L0, L1, ...), The processing unit 60 transfers the information contained in each layer other than the encryption layer and the user layer to a predetermined QR code (registered trademark) or the like. It is converted into characters or the like according to the reading format of the optical code and stored in the storage unit 50 (ST515A).

処理部60は、共通層(L1)に含まれる1以上のユーザ情報(図12の例では2つのユーザ情報)から、1つのユーザID(「Alice」)が含まれた1つのユーザ情報を特定する(ST545)。 The processing unit 60 identifies one user information including one user ID (“Alice”) from one or more user information (two user information in the example of FIG. 12) included in the common layer (L1). (ST545).

処理部60は、ステップST545で特定した1つのユーザ情報に含まれる階層IDから、1つのユーザ層(図12の例では階層L2)を特定する(ST550)。 The processing unit 60 identifies one user layer (layer L2 in the example of FIG. 12) from the layer ID included in the one user information specified in step ST545 (ST550).

処理部60は、ステップST550で特定した1つのユーザ層(階層L2)に含まれる暗号化された少なくとも1つの階層情報(図12の例では2つの階層情報)を、1つのユーザID(「Alice」)に関連付けられた暗号鍵に基づいて復号する(ST555)。例えば処理部60は、暗号鍵のビット列と階層情報のビット列との排他的論理和を演算することにより、暗号化された階層情報を復号する。 The processing unit 60 converts at least one encrypted hierarchical information (two hierarchical information in the example of FIG. 12) included in one user layer (layer L2) specified in step ST550 into one user ID (“Alice”). Decryption based on the encryption key associated with (ST555). For example, the processing unit 60 decrypts the encrypted hierarchical information by calculating the exclusive OR of the bit string of the encryption key and the bit string of the hierarchical information.

処理部60は、ステップST550で特定され、ステップST555で復号処理が施されたユーザ層の情報を、QRコード(登録商標)などの所定の光学コードの読み取り形式に従って文字等に変換する(ST560)。 The processing unit 60 converts the information of the user layer identified in step ST550 and subjected to the decoding process in step ST555 into characters or the like according to a predetermined optical code reading format such as a QR code (registered trademark) (ST560). ..

処理部60は、ステップST560で少なくとも1つの階層情報(図12の例では2つの階層情報)が文字等に変換されると、変換されたこれらの階層情報に基づいて、少なくとも1つの暗号化階層(図12の例では階層L6及びL8)に含まれる秘匿情報を復号する(ST565)。階層情報に基づいて暗号化階層の秘匿情報を復号する処理は、既に説明した図11のフローチャートの処理と同様である。 When at least one layer information (two layer information in the example of FIG. 12) is converted into characters or the like in step ST560, the processing unit 60 has at least one encryption layer based on the converted layer information. (In the example of FIG. 12, the confidential information contained in the layers L6 and L8) is decrypted (ST565). The process of decrypting the confidential information of the encryption layer based on the layer information is the same as the process of the flowchart of FIG. 11 described above.

ステップST565において各暗号化層の秘匿情報を復号すると、処理部60は、秘匿情報を復号した暗号化層に含まれる情報を、QRコード(登録商標)などの所定の光学コードの読み取り形式に従って変換する(ST570)。これにより、処理部60は、復号された秘匿情報を数字や文字などに変換する。 When the confidential information of each encryption layer is decrypted in step ST565, the processing unit 60 converts the information contained in the encrypted layer from which the confidential information is decrypted according to a predetermined optical code reading format such as a QR code (registered trademark). (ST570). As a result, the processing unit 60 converts the decoded confidential information into numbers, characters, and the like.

以上説明したように、本実施形態においても、ユーザ毎に割り当てられたユーザ層には、ユーザが所有する暗号鍵により暗号化された階層情報が記録されており、その暗号化された階層情報には、暗号化層に記録された秘匿情報を復号するための復号情報が含まれている。従って、第1の実施形態と同様に、暗号化層に記録される秘匿情報へのアクセスをユーザ毎に制御することが可能である。 As described above, also in the present embodiment, the hierarchical information encrypted by the encryption key owned by the user is recorded in the user layer assigned to each user, and the encrypted hierarchical information is recorded. Includes decryption information for decrypting the confidential information recorded in the encryption layer. Therefore, as in the first embodiment, it is possible to control access to the confidential information recorded in the encryption layer for each user.

<第3の実施形態>
次に、本発明の第3の実施形態について説明する。第3の実施形態に係る光学コードでは、上述した各実施形態におけるユーザ層が省略されており、暗号化層に含まれる秘匿情報がユーザの所有する暗号鍵によって暗号化される。
<Third embodiment>
Next, a third embodiment of the present invention will be described. In the optical code according to the third embodiment, the user layer in each of the above-described embodiments is omitted, and the confidential information included in the encryption layer is encrypted by the encryption key owned by the user.

図18は、第3の実施形態に係る光学コードにおける情報の階層構造の一例を示す図である。図18に示す階層構造は、図3と同様な17個の階層(L0〜L16)に分かれている。図18の例において、階層L0が互換層であり、階層L1が共通層であり、階層L2〜L16が暗号化層である。 FIG. 18 is a diagram showing an example of a hierarchical structure of information in the optical code according to the third embodiment. The hierarchical structure shown in FIG. 18 is divided into 17 layers (L0 to L16) similar to those in FIG. In the example of FIG. 18, layer L0 is a compatibility layer, layer L1 is a common layer, and layers L2 to L16 are encryption layers.

互換層(L0)は、図3と同様に、既存のQRコード(登録商標)として読み取ることが可能な情報を含む。 The compatibility layer (L0) contains information that can be read as an existing QR code (registered trademark), as in FIG.

共通層(L1)は、上述した各実施形態と同様な共通ヘッダを含むとともに、1以上のユーザと一対一に対応する1以上のユーザ情報を含む。ユーザ情報には、暗号化層の階層IDとユーザIDが含まれる。 The common layer (L1) includes a common header similar to each of the above-described embodiments, and includes one or more user information having a one-to-one correspondence with one or more users. The user information includes a layer ID and a user ID of the encryption layer.

暗号化層(L2〜L16)は、上述したユーザ情報によって、1以上のユーザと一対一に対応づけられている。1のユーザに対応する1つの暗号化層は、この1のユーザが所有する暗号鍵によって暗号化された秘匿情報を含む。 The encryption layer (L2 to L16) is associated with one or more users on a one-to-one basis by the above-mentioned user information. One encryption layer corresponding to one user includes confidential information encrypted by the encryption key owned by the one user.

図19は、第3の実施形態に係る光学コードにおいて追加層(L1,L2,…)に含まれる情報の例を示す図である。 FIG. 19 is a diagram showing an example of information contained in additional layers (L1, L2, ...) In the optical cord according to the third embodiment.

図19の例において、共通層(L1)は2名のユーザに対応した2つのユーザ情報を含んでいる。1名のユーザに対応する1つのユーザ情報は、図19に示すように、その1名のユーザを識別するためのユーザIDと、その1名のユーザに対応する1つの暗号化層を識別するための階層IDを含む。図19の例において、ユーザID「Alice」のユーザに対応するユーザ情報は、ユーザID「Alice」と、当該ユーザに対応する暗号化層(L6)の階層IDを含む。また、ユーザID「Bob」のユーザに対応するユーザ情報は、ユーザID「Bob」と、当該ユーザに対応する暗号化層(L7)の階層IDを含む。 In the example of FIG. 19, the common layer (L1) includes two user information corresponding to two users. As shown in FIG. 19, one user information corresponding to one user identifies a user ID for identifying the one user and one encryption layer corresponding to the one user. Includes a hierarchical ID for In the example of FIG. 19, the user information corresponding to the user with the user ID "Alice" includes the user ID "Alice" and the layer ID of the encryption layer (L6) corresponding to the user. Further, the user information corresponding to the user of the user ID "Bob" includes the user ID "Bob" and the layer ID of the encryption layer (L7) corresponding to the user.

1つのユーザ情報に含まれる1つの階層IDと1つユーザIDは、この階層IDに対応する1つの暗号化層に含まれた秘匿情報が、このユーザIDに対応するユーザの暗号鍵によって暗号化されていることを示す。図19の例では、ユーザID「Alice」のユーザが所有する暗号鍵によって階層L6の暗号化層に含まれた秘匿情報が暗号化され、ユーザID「Bob」のユーザが所有する暗号鍵によって階層L7の暗号化層に含まれた秘匿情報が暗号化されている。 In one layer ID and one user ID included in one user information, the confidential information contained in one encryption layer corresponding to this layer ID is encrypted by the encryption key of the user corresponding to this user ID. Indicates that it has been done. In the example of FIG. 19, the confidential information contained in the encryption layer of the layer L6 is encrypted by the encryption key owned by the user of the user ID "Alice", and the layer is encrypted by the encryption key owned by the user of the user ID "Bob". The confidential information contained in the encryption layer of L7 is encrypted.

図20は、第3の実施形態に係る光学コードの生成処理の一例を説明するためのフローチャートである。 FIG. 20 is a flowchart for explaining an example of the optical code generation process according to the third embodiment.

処理部60は、図6に示すフローチャートと同様に、互換層(L0)に記録する情報を取得する(ST100)。 The processing unit 60 acquires information to be recorded in the compatibility layer (L0) as in the flowchart shown in FIG. 6 (ST100).

また処理部60は、共通層(L1)に記録する情報として、共通ヘッダとユーザ情報を取得する(ST105B)。例えば処理部60は、図21のフローチャートにおいて示すように、入力部20のユーザインタフェース装置などによって入力された情報に基づいて、共通ヘッダを生成するとともに(ST700)、各ユーザのユーザ情報を生成する(ST705A)。このユーザ情報には、暗号化層の階層IDとユーザIDが含まれる。処理部60は、生成した共通ヘッダとユーザ情報を、共通層に記録する情報として取得し、処理部60に格納する(ST710)。 Further, the processing unit 60 acquires a common header and user information as information to be recorded in the common layer (L1) (ST105B). For example, as shown in the flowchart of FIG. 21, the processing unit 60 generates a common header based on the information input by the user interface device of the input unit 20 (ST700), and also generates user information of each user. (ST705A). This user information includes a layer ID and a user ID of the encryption layer. The processing unit 60 acquires the generated common header and user information as information to be recorded in the common layer, and stores the generated common header and user information in the processing unit 60 (ST710).

また処理部60は、図6に示すフローチャートと同様に、各暗号化層に記録する情報を取得する(ST120)。 Further, the processing unit 60 acquires the information to be recorded in each encryption layer as in the flowchart shown in FIG. 6 (ST120).

処理部60は、ステップST100〜ST120によって各階層に記録する情報を取得すると、図6に示すフローチャートと同様に、各階層に含まれる情報を所定の光学コードの生成形式に従って変換する(ST125)。 When the processing unit 60 acquires the information to be recorded in each layer in steps ST100 to ST120, the processing unit 60 converts the information included in each layer according to a predetermined optical code generation format, as in the flowchart shown in FIG. 6 (ST125).

次に処理部60は、各暗号化層に含まれる秘匿情報を暗号化する(ST135B)。例えば処理部60は、1つの暗号化層に記録された秘匿情報を暗号化する場合、1つの暗号化層を識別するための階層IDが含まれたユーザ情報に基づいて、1つのユーザIDに関連付けられた暗号鍵を取得し、当該1つの暗号化層に含まれる秘匿情報を、当該取得した暗号鍵によって暗号化する。 Next, the processing unit 60 encrypts the confidential information contained in each encryption layer (ST135B). For example, when the processing unit 60 encrypts the confidential information recorded in one encryption layer, the processing unit 60 converts the confidential information into one user ID based on the user information including the layer ID for identifying the one encryption layer. The associated encryption key is acquired, and the confidential information contained in the one encryption layer is encrypted by the acquired encryption key.

図22は、暗号化層に含まれる秘匿情報を暗号化する処理(ST135B:図20)の一例を説明するためのフローチャートである。 FIG. 22 is a flowchart for explaining an example of a process (ST135B: FIG. 20) for encrypting confidential information included in the encryption layer.

まず処理部60は、秘匿情報が含まれた複数の暗号化層の中から1つの暗号化層を選択する(ST1000)。 First, the processing unit 60 selects one encryption layer from a plurality of encryption layers including confidential information (ST1000).

次に処理部60は、選択中の暗号化層に対応する階層IDが含まれたユーザ情報に基づいて、1つのユーザIDに関連付けられた暗号鍵を取得する(ST1005)。この暗号鍵は、例えば通信部10や入力部20において入力され、ユーザIDと関連付けて記憶部50に格納されている。処理部60は、例えば、階層情報を構成する複数のビットの各々に対して排他的論理和の演算を施すことにより、階層情報を暗号化する。この場合、階層情報の暗号化に用いられる暗号鍵は、階層情報を構成する複数ビットにおける各ビットの値を反転させるか否か指定する情報(ビット列)である。 Next, the processing unit 60 acquires an encryption key associated with one user ID based on the user information including the layer ID corresponding to the selected encryption layer (ST1005). This encryption key is input in, for example, the communication unit 10 or the input unit 20, and is stored in the storage unit 50 in association with the user ID. The processing unit 60 encrypts the hierarchical information by, for example, performing an exclusive OR operation on each of the plurality of bits constituting the hierarchical information. In this case, the encryption key used for encrypting the hierarchical information is information (bit string) that specifies whether or not to invert the value of each bit in the plurality of bits constituting the hierarchical information.

処理部60は、選択中の暗号化層に含まれる秘匿情報を、ステップST1005で取得した暗号鍵に基づいて暗号化する(ST1010)。 The processing unit 60 encrypts the confidential information contained in the selected encryption layer based on the encryption key acquired in step ST1005 (ST1010).

ステップST1010において1つの暗号化層に含まれる秘匿情報を暗号化すると、処理部60は、未だ選択していない他の暗号化層がある場合(ST1015のYes)、他の1つの暗号化層を選択して(ST1020)、ステップST1005以降の処理を繰り返す。処理部60は、全ての暗号化層についてステップST1005〜ST1010を実行すると(ST1015のNo)、図22のフローチャートの処理を終了する。 When the confidential information contained in one encryption layer is encrypted in step ST1010, the processing unit 60 sets the other encryption layer when there is another encryption layer that has not yet been selected (Yes in ST1015). It is selected (ST1020), and the processing after step ST1005 is repeated. When the processing unit 60 executes steps ST1005 to ST1010 for all the encryption layers (No of ST1015), the processing unit 60 ends the processing of the flowchart of FIG.

各暗号化層に含まれる秘匿情報を暗号化すると、処理部60は、ステップST100〜ST135Bの処理によって取得された各階層の情報に基づいて、複数のモジュールUの各々に与える光学的な構成を判定する(ST145)。 When the confidential information contained in each encryption layer is encrypted, the processing unit 60 provides an optical configuration to each of the plurality of modules U based on the information of each layer acquired by the processing of steps ST100 to ST135B. Judgment (ST145).

図23は、第3の実施形態に係る光学コードの読み取り処理の一例を説明するためのフローチャートである。ここでは、図19における特定のユーザ(ユーザID「Alice」)が秘匿情報を読み出す場合を例に挙げながら、光学コードの読み取り処理を説明する。 FIG. 23 is a flowchart for explaining an example of the optical code reading process according to the third embodiment. Here, the optical code reading process will be described by taking as an example the case where a specific user (user ID “Alice”) in FIG. 19 reads the confidential information.

処理部60は、図10のフローチャートと同様に、撮像部40などにおいて撮像された画像から、各モジュールUが表す情報を読み取り(ST500)、読み取った複数のモジュールUが表す情報に基づいて、各階層(L0,L1,…)に含まれる情報を取得する(ST505)。 Similar to the flowchart of FIG. 10, the processing unit 60 reads the information represented by each module U from the image captured by the imaging unit 40 or the like (ST500), and based on the information represented by the plurality of read modules U, each Acquire the information included in the hierarchy (L0, L1, ...) (ST505).

処理部60は、各階層(L0,L1,…)に含まれる情報がそれぞれ得られると、暗号化層以外の各階層に含まれる情報を、QRコード(登録商標)などの所定の光学コードの読み取り形式に従って文字等に変換し、記憶部50に格納する(ST515)。 When the processing unit 60 obtains the information contained in each layer (L0, L1, ...), The processing unit 60 transfers the information contained in each layer other than the encryption layer to a predetermined optical code such as a QR code (registered trademark). It is converted into characters or the like according to the reading format and stored in the storage unit 50 (ST515).

処理部60は、共通層(L1)に含まれる1以上のユーザ情報(図19の例では2つのユーザ情報)から、1つのユーザID(「Alice」)が含まれた1つのユーザ情報を特定する(ST545A)。 The processing unit 60 identifies one user information including one user ID (“Alice”) from one or more user information (two user information in the example of FIG. 19) included in the common layer (L1). (ST545A).

処理部60は、ステップST545Aにおいて特定したユーザ情報に含まれる階層IDに基づいて、1つの暗号化層を特定する(ST580)。 The processing unit 60 identifies one encryption layer based on the layer ID included in the user information specified in step ST545A (ST580).

処理部60は、ステップST580において特定した暗号化層に含まれる秘匿情報を、1つのユーザID(「Alice」)に関連付けられた暗号鍵に基づいて復号する(ST585)。 The processing unit 60 decrypts the confidential information contained in the encryption layer specified in step ST580 based on the encryption key associated with one user ID (“Alice”) (ST585).

ステップST585において1つの暗号化層の秘匿情報を復号すると、処理部60は、この暗号化層に含まれる情報を、QRコード(登録商標)などの所定の光学コードの読み取り形式に従って変換する(ST590)。これにより、処理部60は、復号された秘匿情報を数字や文字などに変換する。 When the confidential information of one encryption layer is decrypted in step ST585, the processing unit 60 converts the information contained in the encryption layer according to a predetermined optical code reading format such as a QR code (registered trademark) (ST590). ). As a result, the processing unit 60 converts the decoded confidential information into numbers, characters, and the like.

以上説明したように、本実施形態によれば、ユーザと暗号化層とを一対一に対応付けるユーザ情報が共通層に含まれており、1つの暗号化層に含まれた秘匿情報は、その1つの暗号化層に対応する1のユーザが所有した暗号鍵によって暗号化されている。従って、本実施形態においても、上述した各実施形態と同様に、暗号化層に記録される秘匿情報へのアクセスをユーザ毎に制御することが可能である。 As described above, according to the present embodiment, the user information that associates the user with the encryption layer on a one-to-one basis is included in the common layer, and the confidential information contained in one encryption layer is the 1st. It is encrypted by an encryption key owned by one user corresponding to one encryption layer. Therefore, also in the present embodiment, it is possible to control access to the confidential information recorded in the encryption layer for each user, as in each of the above-described embodiments.

<第4の実施形態>
次に、本発明の第4の実施形態について説明する。本実施形態は、上述した各実施形態に係る光学コードの階層構造において、各モジュールUに記録される情報や、階層内の各ブロックに記録される情報のパリティを検査できるようにしたものである。
<Fourth Embodiment>
Next, a fourth embodiment of the present invention will be described. In this embodiment, in the hierarchical structure of the optical cord according to each of the above-described embodiments, the parity of the information recorded in each module U and the information recorded in each block in the hierarchy can be inspected. ..

図24は、第4の実施形態に係る光学コードにおける情報の階層構造の一例を示す図である。図24に示す階層構造は、図3に示す階層構造における階層L13〜L16をパリティ検査用の階層(以下、個々の階層を区別せずにパリティ層と記す場合がある。)に置き換えたものである。 FIG. 24 is a diagram showing an example of a hierarchical structure of information in the optical code according to the fourth embodiment. In the hierarchical structure shown in FIG. 24, the layers L13 to L16 in the hierarchical structure shown in FIG. 3 are replaced with layers for parity inspection (hereinafter, individual layers may be referred to as parity layers without distinction). is there.

本実施形態において、光学コードを構成する複数のモジュールUは、それぞれM個のモジュールUからなる複数のブロックに区分される。1つの階層(L0〜L16)に含まれる情報は、この複数のブロックと一対一に対応した複数のコード語を含む。1つのブロックに対応する1つのコード語は、1つのブロックを構成するM個のモジュールと一対一に対応したMビットの情報を含む。例えばQRコード(登録商標)の場合、コード語は8ビットであり、1つのブロックを構成するモジュールUの個数は8である。QRコード(登録商標)では、記録する情報が8ビットのコード語(データコード語)に変換されており、このコード語を基本単位として、リードソロモン符号による誤り訂正コード語が生成される。以下では一例として、M=8とする。 In the present embodiment, the plurality of modules U constituting the optical cord are divided into a plurality of blocks each consisting of M modules U. The information contained in one layer (L0 to L16) includes a plurality of code words having a one-to-one correspondence with the plurality of blocks. One code word corresponding to one block includes information of M bits corresponding to one-to-one with M modules constituting one block. For example, in the case of a QR code (registered trademark), the code word is 8 bits, and the number of modules U constituting one block is 8. In the QR code (registered trademark), the information to be recorded is converted into an 8-bit code word (data code word), and an error correction code word using a Reed-Solomon code is generated using this code word as a basic unit. In the following, as an example, M = 8.

図24の例において、階層L13及びL14は第1パリティ層であり、階層L15及びL16は第2パリティ層である。 In the example of FIG. 24, the layers L13 and L14 are the first parity layers, and the layers L15 and L16 are the second parity layers.

第1パリティ層は、光学コードの複数のブロックと一対一に対応する複数の第1パリティ情報を含む。1つのブロックに対応する1つの第1パリティ情報は、1つのブロックを構成する8個のモジュールと一対一に対応した8個の第1パリティビットPB1を含む。1つの第1パリティビットPB1は、この1つの第1パリティビットPB1に対応する1つのモジュールUが表すNビットの情報(図24の例では17ビット)のうちのKビット(N>K>1)についてのパリティビットである。 The first parity layer contains a plurality of first parity information having a one-to-one correspondence with a plurality of blocks of the optical code. One first parity information corresponding to one block includes eight modules constituting one block and eight first parity bits PB1 corresponding to one-to-one. One first parity bit PB1 is K bit (N> K> 1 of N bit information (17 bits in the example of FIG. 24) represented by one module U corresponding to this one first parity bit PB1. ) Is a parity bit.

第2パリティ層は、光学コードの複数のブロックと一対一に対応する複数の第2パリティ情報を含む。複数の第2パリティ情報の各々は、上述したKビットの情報(第1パリティビットPB1によってパリティの検査が行われる情報)を含んだK個の階層と一対一に対応するK個の第2パリティビットPB2を含む。1つのブロックに対応する1つの第2パリティ情報に含まれる1つの第2パリティビットは、この1つのブロックに対応する1つのコード語であって、この1つの第2パリティビットに対応する1つの階層に属した当該1つのコード語に含まれる8ビットの情報についてのパリティビットである。 The second parity layer contains a plurality of second parity information having a one-to-one correspondence with a plurality of blocks of the optical code. Each of the plurality of second parity information has K second parity corresponding to one-to-one with K layers including the above-mentioned K bit information (information in which parity is checked by the first parity bit PB1). Includes bit PB2. One second parity bit included in one second parity information corresponding to one block is one code word corresponding to this one block, and one corresponding to this one second parity bit. It is a parity bit for 8-bit information included in the one code word belonging to the hierarchy.

図25は、パリティ層を説明するための図である。図25における「BIT1」〜「BIT8」は、1つのコード語を構成する8つのビットを示しており、それぞれ1つのブロックに属する8個のモジュールUに対応する。階層を表す「L1」,「L2」…の下に並んだ8つの数字(「1」又は「0」)は、1つの階層に属する1つのコード語における各ビットの値を示す。 FIG. 25 is a diagram for explaining a parity layer. “BIT1” to “BIT8” in FIG. 25 indicate eight bits constituting one code word, and each corresponds to eight modules U belonging to one block. The eight numbers ("1" or "0") arranged under "L1", "L2" ... Representing the hierarchy indicate the value of each bit in one code word belonging to one hierarchy.

「L13」の下に並んだ8つの数字は、それぞれ第1パリティビットPB1の値を示す。この8つの第1パリティビットPB1の集まりが、1つの第1パリティ情報を構成する。 The eight numbers arranged under "L13" indicate the value of the first parity bit PB1, respectively. A collection of eight first parity bits PB1 constitutes one first parity information.

1つの第1パリティビットPB1は、その左側に並んだ6つの数字(1つのモジュールUが表す17ビットの情報中の6ビット)に含まれる「1」の個数が偶数である場合に「0」となり、この個数が奇数である場合に「1」となる。 One first parity bit PB1 is "0" when the number of "1" contained in the six numbers (6 bits in the 17-bit information represented by one module U) arranged on the left side thereof is an even number. And when this number is an odd number, it becomes "1".

6つの階層(L1,L3,L5,L7,L9,L11)に属する6つのコード語(それぞれ8ビット)の下側に配置された6つの数字(「1」又は「0」)は、それぞれ1つの第2パリティビットPB2を示す。この6つの第2パリティビットPB2は、1つの第2パリティ情報に含まれる。6つの階層(L1,L3,L5,L7,L9,L11)は、上述した第1パリティビットPB1によってパリティの検査が行われる6ビットの情報を含んだ6つの階層である。6つの第2パリティビットPB2は、この6つの階層(L1,L3,L5,L7,L9,L11)と一対一に対応する。 The six numbers (“1” or “0”) placed below the six code words (8 bits each) belonging to the six layers (L1, L3, L5, L7, L9, L11) are 1 respectively. Two second parity bits PB2 are shown. The six second parity bits PB2 are included in one second parity information. The six layers (L1, L3, L5, L7, L9, L11) are six layers including 6-bit information in which the parity is checked by the first parity bit PB1 described above. The six second parity bits PB2 have a one-to-one correspondence with the six layers (L1, L3, L5, L7, L9, L11).

1つの第2パリティビットPB2は、その上側に並んだ8つの数字(1つのコード語に含まれる8ビット)に含まれる「1」の個数が偶数である場合に「0」となり、この個数が奇数である場合に「1」となる。 One second parity bit PB2 becomes "0" when the number of "1" contained in the eight numbers (8 bits included in one code word) arranged above it is an even number, and this number becomes "0". If it is an odd number, it becomes "1".

「L13」の下に並んだ8つの第1パリティビットPB1(第1パリティ情報)の下側に記載される数字(「1」又は「0」)は、第3パリティビットPB3の値を示す。第3パリティビットPB3は、第1パリティ情報についてのパリティビットである。第2パリティ情報は、上述した6つの第2パリティビットPB2に加えて、第3パリティビットPB3を更に含む。すなわち、1つのブロックに対応する1つの第2パリティ情報は、1つのブロックに対応する1つの第1パリティ情報(8個の第1パリティビットPB1からなる8ビットの情報)についての第3パリティビットPB3を含む。 The number (“1” or “0”) written below the eight first parity bits PB1 (first parity information) arranged under “L13” indicates the value of the third parity bit PB3. The third parity bit PB3 is a parity bit for the first parity information. The second parity information further includes a third parity bit PB3 in addition to the six second parity bits PB2 described above. That is, one second parity information corresponding to one block is a third parity bit for one first parity information (8-bit information consisting of eight first parity bits PB1) corresponding to one block. Includes PB3.

第3パリティビットPB3は、その上側に並んだ8つの数字(第1パリティ情報の8ビット)に含まれる「1」の個数が偶数である場合に「0」となり、この個数が奇数である場合に「1」となる。 The third parity bit PB3 becomes "0" when the number of "1" contained in the eight numbers (8 bits of the first parity information) arranged above it is an even number, and when this number is an odd number. It becomes "1".

6つの第2パリティビットPB2と1つの第3パリティビットPB3は、図25において点線で示すように、階層L15の1つのコード語に対応した8ビットの領域に配置される。 The six second parity bits PB2 and the one third parity bit PB3 are arranged in an 8-bit area corresponding to one code word in the layer L15, as shown by a dotted line in FIG. 25.

第2パリティ情報は、図25において示すように、第4パリティビットPB4を更に含む。第4パリティビットPB4は、第2パリティ情報に含まれる6つの第2パリティビットPB2と1つの第3パリティビットPB3とからなる7ビットの情報についてのパリティビットである。第4パリティビットPB4は、この7ビットの情報(「L15」の下に並ぶ7つの数字)に含まれる「1」の個数が偶数である場合に「0」となり、この個数が奇数である場合に「1」となる。 The second parity information further includes a fourth parity bit PB4, as shown in FIG. The fourth parity bit PB4 is a parity bit for 7-bit information including six second parity bits PB2 and one third parity bit PB3 included in the second parity information. The fourth parity bit PB4 becomes "0" when the number of "1" contained in the 7-bit information (seven numbers arranged under "L15") is even, and when this number is odd. Becomes "1".

なお、階層L14の第1パリティ層と階層L16の第2パリティ層は、図24における階層L1,L3,L5,L7,L9,L11をそれぞれ階層L2,L4,L6,L8,L10,L12に置き換えたものである。 In the first parity layer of the layer L14 and the second parity layer of the layer L16, the layers L1, L3, L5, L7, L9, and L11 in FIG. 24 are replaced with layers L2, L4, L6, L8, L10, and L12, respectively. It is a thing.

図26は、第4の実施形態に係る光学コードの生成処理の一例を説明するためのフローチャートである。図26に示すフローチャートは、図6に示すフローチャートのステップST135とステップST145の間にステップST140を追加したものである。 FIG. 26 is a flowchart for explaining an example of the optical code generation process according to the fourth embodiment. The flowchart shown in FIG. 26 is obtained by adding step ST140 between steps ST135 and ST145 of the flowchart shown in FIG.

処理部60は、ステップST100〜ST135の処理によって各階層に記録する情報が生成され、各暗号化層の秘匿情報が暗号化された後、階層L13,L14にそれぞれ第1パリティ層を作成し、階層L15及びL16にそれぞれ第2パリティ層を作成する(ST140)。処理部60は、これらのパリティ層を作成した後、ステップST100〜ST140の処理によって取得された各階層の情報に基づいて、複数のモジュールUの各々に与える光学的な構成を判定する(ST145)。 The processing unit 60 generates information to be recorded in each layer by the processing of steps ST100 to ST135, encrypts the confidential information of each encryption layer, and then creates a first parity layer in each of the layers L13 and L14. A second parity layer is created in each of the layers L15 and L16 (ST140). After creating these parity layers, the processing unit 60 determines the optical configuration to be given to each of the plurality of modules U based on the information of each layer acquired by the processing of steps ST100 to ST140 (ST145). ..

図27は、第4の実施形態に係る光学コードの読み取り処理の一例を説明するためのフローチャートである。図27に示すフローチャートは、図10に示すフローチャートのステップST505とステップST515の間にステップST510を追加したものである。 FIG. 27 is a flowchart for explaining an example of the optical code reading process according to the fourth embodiment. The flowchart shown in FIG. 27 is obtained by adding step ST510 between steps ST505 and ST515 of the flowchart shown in FIG.

処理部60は、ステップST505において各階層に含まれる情報をそれぞれ取得すると、階層L0〜L12の情報に基づいて算出される各パリティビット(PB1〜PB3)の値と、パリティ層(L13〜L16)に記録されている各パリティビット(PB1〜PB3)の値とを照合する。照合の結果、不一致のパリティビット(PB1〜PB3)が見つかった場合、処理部60は、そのパリティビットに関してエラーが発生していると判定する。また、1つのみの第1パリティビットPB1に関連して1以上の第2パリティビットPB2に不一致が生じている場合や、1つのみの第2パリティビットPB2に関連して1以上の第1パリティビットPB1に不一致が生じている場合、処理部60は、該当するエラー箇所のビット値を反転させることにより、エラーを訂正する(ST510)。 When the processing unit 60 acquires the information included in each layer in step ST505, the value of each parity bit (PB1 to PB3) calculated based on the information in layers L0 to L12 and the parity layer (L13 to L16). The value of each parity bit (PB1 to PB3) recorded in is collated. If a mismatched parity bit (PB1 to PB3) is found as a result of the collation, the processing unit 60 determines that an error has occurred with respect to the parity bit. Further, when there is a mismatch in one or more second parity bits PB2 in relation to only one first parity bit PB1, or one or more first in relation to only one second parity bit PB2. When a mismatch occurs in the parity bit PB1, the processing unit 60 corrects the error by inverting the bit value of the corresponding error portion (ST510).

以上説明したように、本実施形態によれば、個々のモジュールUにおいて発生したエラーを第1パリティビットPB1によって検出可能であり、また、個々のコード語において発生したエラーを第2パリティビットPB2によって検出可能である。また、第1パリティビットPB1と第2パリティビットPB2を両方参照することにより、1つのモジュールUに関連して発生したエラーや1つの階層に関連して発生したエラーを、ブロック単位(コード語単位)で訂正することが可能である。 As described above, according to the present embodiment, the error generated in each module U can be detected by the first parity bit PB1, and the error generated in each code word can be detected by the second parity bit PB2. It is detectable. Further, by referring to both the first parity bit PB1 and the second parity bit PB2, an error generated in relation to one module U or an error generated in relation to one layer can be displayed in block units (code word units). ) Can be corrected.

なお、本発明は上述した実施形態にのみ限定されるものではなく、種々のバリエーションを含んでいる。 The present invention is not limited to the above-described embodiments, but includes various variations.

例えば、上述した実施形態では、複数のモジュールUがQRコード(登録商標)に準じた形式で配置される例を挙げた、本発明はこの例に限定されない。すなわち、本発明は二次元コードに限定されるものではなく、各モジュールにおいて複数ビットの情報を表すことが可能な他の様々な光学コード(カラーバーコードなど)にも広く適用可能である。 For example, in the above-described embodiment, the present invention is not limited to this example, in which a plurality of modules U are arranged in a format conforming to a QR code (registered trademark). That is, the present invention is not limited to the two-dimensional code, and can be widely applied to various other optical codes (color bar code, etc.) capable of expressing a plurality of bits of information in each module.

以下、本開示の技術に関連する付記を記載する。 The following are additional notes related to the technology of the present disclosure.

[付記1]
規則的に配置された複数のモジュールによって光学的に読み取り可能な情報を表す光学コードであって、
前記複数のモジュールの各々は、光学的に読み取り可能なNビット(Nは2以上の整数を示す。)の情報を表しており、
前記複数のモジュールが表す全体の情報は、N個の階層に分かれており、
1つの前記モジュールが表す前記Nビットの情報は、前記N個の階層の各々に1ビットずつ含まれており、
前記N個の階層は、
1以上のユーザと一対一に対応する1以上のユーザ層と、
暗号化された秘匿情報を含む1以上の暗号化層とを含み、
1の前記ユーザに対応する1つの前記ユーザ層は、
前記1のユーザを識別するためのユーザIDと、
前記1のユーザが所有する暗号鍵により暗号化された少なくとも1つ階層情報とを含み、
1つの前記階層情報は、
1つの前記暗号化層を識別するための階層IDと、
前記1つの暗号化層に含まれる前記暗号化された秘匿情報を復号するための復号情報とを含む、
光学コード。
[Appendix 1]
An optical code that represents information that is optically readable by multiple regularly arranged modules.
Each of the plurality of modules represents optically readable N-bit information (N represents an integer of 2 or more).
The entire information represented by the plurality of modules is divided into N layers.
The N-bit information represented by one module is included in each of the N layers, one bit at a time.
The N layers are
One or more user groups that have a one-to-one correspondence with one or more users,
Includes one or more encryption layers containing encrypted confidential information,
One said user layer corresponding to one said user
A user ID for identifying the user of 1 and
Includes at least one hierarchical information encrypted by the encryption key owned by the one user.
One said hierarchical information
A layer ID for identifying one of the encryption layers and
Includes decryption information for decrypting the encrypted confidential information included in the one encryption layer.
Optical cord.

[付記2]
規則的に配置された複数のモジュールによって光学的に読み取り可能な情報を表す光学コードであって、
前記複数のモジュールの各々は、光学的に読み取り可能なNビット(Nは3以上の整数を示す。)の情報を表しており、
前記複数のモジュールが表す全体の情報は、N個の階層に分かれており、
1つの前記モジュールが表す前記Nビットの情報は、前記N個の階層の各々に1ビットずつ含まれており、
前記N個の階層は、
1以上のユーザと一対一に対応する1以上のユーザ情報を含んだ共通層と、
前記1以上のユーザと一対一に対応する1以上のユーザ層と、
暗号化された秘匿情報を含む1以上の暗号化層とを含み、
1の前記ユーザに対応する1つの前記ユーザ情報は、
前記1のユーザを識別するためのユーザIDと、
前記1のユーザに対応する1の前記ユーザ層を識別するための階層IDとを含み、
1の前記ユーザに対応する1つの前記ユーザ層は、
前記1のユーザが所有する暗号鍵により暗号化された少なくとも1つの階層情報を含み、
1つの前記階層情報は、
1つの前記暗号化層を識別するための階層IDと、
前記1つの暗号化層に含まれる前記暗号化された秘匿情報を復号するための復号情報とを含む、
光学コード。
[Appendix 2]
An optical code that represents information that is optically readable by multiple regularly arranged modules.
Each of the plurality of modules represents optically readable N-bit information (N represents an integer of 3 or more).
The entire information represented by the plurality of modules is divided into N layers.
The N-bit information represented by one module is included in each of the N layers, one bit at a time.
The N layers are
A common layer containing one or more user information that has a one-to-one correspondence with one or more users,
One or more user groups that have a one-to-one correspondence with the one or more users,
Includes one or more encryption layers containing encrypted confidential information,
One said user information corresponding to one said user
A user ID for identifying the user of 1 and
The layer ID for identifying the user layer of 1 corresponding to the user of 1 is included.
One said user layer corresponding to one said user
Contains at least one hierarchical information encrypted with an encryption key owned by the one user.
One said hierarchical information
A layer ID for identifying one of the encryption layers and
Includes decryption information for decrypting the encrypted confidential information included in the one encryption layer.
Optical cord.

[付記3]
前記暗号鍵は、前記階層情報を構成する複数ビットにおける各ビットの値を反転させるか否か指定する情報である、
付記1又は2に記載の光学コード。
[Appendix 3]
The encryption key is information that specifies whether or not to invert the value of each bit in a plurality of bits constituting the hierarchical information.
The optical cord according to Appendix 1 or 2.

[付記4]
前記復号情報は、前記暗号化された前記秘匿情報を構成する複数のビットにおける各ビットの値を反転させるか否か指定する情報である、
付記1〜3のいずれか一項に記載の光学コード。
[Appendix 4]
The decryption information is information that specifies whether or not to invert the value of each bit in a plurality of bits constituting the encrypted secret information.
The optical cord according to any one of Appendix 1 to 3.

[付記5]
規則的に配置された複数のモジュールによって光学的に読み取り可能な情報を表す光学コードであって、
前記複数のモジュールの各々は、光学的に読み取り可能なNビット(Nは2以上の整数を示す。)の情報を表しており、
前記複数のモジュールが表す全体の情報は、N個の階層に分かれており、
1つの前記モジュールが表す前記Nビットの情報は、前記N個の階層の各々に1ビットずつ含まれており、
前記N個の階層は、
1以上のユーザと一対一に対応する1以上のユーザ情報を含んだ共通層と、
前記1以上のユーザと一対一に対応する1以上の暗号化層とを含み、
1つの前記ユーザ情報は、
1の前記ユーザを識別するためのユーザIDと、
前記1のユーザに対応する1つの前記暗号化層を識別するための階層IDとを含み、
1つの前記暗号化層は、
1の前記ユーザが所有する暗号鍵により暗号化された秘匿情報を含む、
光学コード。
[Appendix 5]
An optical code that represents information that is optically readable by multiple regularly arranged modules.
Each of the plurality of modules represents optically readable N-bit information (N represents an integer of 2 or more).
The entire information represented by the plurality of modules is divided into N layers.
The N-bit information represented by one module is included in each of the N layers, one bit at a time.
The N layers are
A common layer containing one or more user information that has a one-to-one correspondence with one or more users,
It includes the one or more users and one or more encryption layers corresponding to one-to-one.
One said user information is
A user ID for identifying the user in 1 and
Includes a layer ID for identifying the one encryption layer corresponding to the one user.
One of the encryption layers is
1. Includes confidential information encrypted by the encryption key owned by the user.
Optical cord.

[付記6]
前記秘匿情報を構成する複数のビットは、前記複数のモジュールの少なくとも一部と一対一に対応しており、
前記暗号鍵は、前記秘匿情報を構成する複数ビットにおける各ビットの値を反転させるか否か指定する情報である、
付記5に記載の光学コード。
[Appendix 6]
The plurality of bits constituting the confidential information have a one-to-one correspondence with at least a part of the plurality of modules.
The encryption key is information that specifies whether or not to invert the value of each bit in the plurality of bits constituting the confidential information.
The optical cord according to Appendix 5.

[付記7]
前記複数のモジュールの少なくとも一部は、それぞれM個のモジュールからなる複数のブロックに区分されており、
前記複数の階層は、第1パリティ層を含み、
前記第1パリティ層は、前記複数のブロックと一対一に対応する複数の第1パリティ情報を含み、
1つの前記ブロックに対応する1つの前記第1パリティ情報は、前記1つのブロックを構成する前記M個のモジュールと一対一に対応するM個の第1パリティビットを含み、
1つの前記第1パリティビットは、前記1つの第1パリティビットに対応する1つの前記モジュールが表す前記Nビットの情報のうちのKビット(Kは1より大きくNより小さい整数を示す。)の情報についてのパリティビットである、
付記1〜6のいずれか一項に記載の光学コード。
[Appendix 7]
At least a part of the plurality of modules is divided into a plurality of blocks each consisting of M modules.
The plurality of layers include a first parity layer.
The first parity layer includes a plurality of first parity information having a one-to-one correspondence with the plurality of blocks.
One said first parity bit corresponding to one said block includes M first parity bits corresponding to one-to-one with the M modules constituting the one block.
One said first parity bit is a K bit (K indicates an integer greater than 1 and less than N) of the information of the N bits represented by the one module corresponding to the one first parity bit. Parity bit for information,
The optical cord according to any one of Appendix 1 to 6.

[付記8]
前記複数の階層の各々は、前記複数のブロックと一対一に対応する複数のコード語を含んでおり、
1つの前記ブロックに対応する1つの前記コード語は、前記1つのブロックを構成する前記M個のモジュールと一対一に対応するMビットの情報を含み、
前記複数の階層は、第2パリティ層を含み、
前記第2パリティ層は、前記複数のブロックと一対一に対応する複数の第2パリティ情報を含み、
前記複数の第2パリティ情報の各々は、前記Kビットの情報を含むK個の階層と一対一に対応するK個の第2パリティビットを含んでおり、
1つの前記ブロックに対応する1つの前記第2パリティ情報に含まれる1つの前記第2パリティビットは、前記1つのブロックに対応する1つの前記コード語であって、前記1つの第2パリティビットに対応する1つの前記階層に属した当該1つのコード語に含まれる前記Mビットの情報についてのパリティビットである、
付記7に記載の光学コード。
[Appendix 8]
Each of the plurality of layers contains a plurality of code words having a one-to-one correspondence with the plurality of blocks.
One code word corresponding to one block includes information of M bits corresponding to one-to-one with the M modules constituting the one block.
The plurality of layers include a second parity layer.
The second parity layer includes a plurality of second parity information having a one-to-one correspondence with the plurality of blocks.
Each of the plurality of second parity information includes K second parity bits having a one-to-one correspondence with K layers including the K bit information.
One said second parity bit included in one said second parity information corresponding to one said block is one said code word corresponding to said one block, and is included in the said one second parity bit. It is a parity bit for the information of the M bit included in the one code word belonging to the corresponding one layer.
The optical cord according to Appendix 7.

[付記9]
1つの前記ブロックに対応する1つの前記第2パリティ情報は、前記1つのブロックに対応する1つの前記第1パリティ情報に含まれる前記M個の第1パリティビットからなるMビットの情報についての第3パリティビットを更に含む、
付記8に記載の光学コード。
[Appendix 9]
The one second parity information corresponding to the one block is the information of the M bit composed of the M first parity bits included in the one first parity information corresponding to the one block. 3 Parity bits further included,
The optical cord according to Appendix 8.

[付記10]
1つの前記第2パリティ情報は、前記1つの第2パリティ情報に含まれる前記K個の第2パリティビットと前記第3パリティビットとからなる(K+1)ビットの情報についての第4パリティビットを更に含む、
付記9に記載の光学コード。
[Appendix 10]
The one second parity information further includes a fourth parity bit for information of (K + 1) bits including the K second parity bits and the third parity bit included in the one second parity information. Including,
The optical cord according to Appendix 9.

[付記11]
付記1に記載の光学コードを生成する光学コード生成方法であって、
前記N個の階層に記録する情報をそれぞれ取得する情報取得工程と、
前記情報取得工程において取得した情報に基づいて、前記複数のモジュールの各々に与える光学的な構成を判定するモジュール構成判定工程とを有し、
前記情報取得工程は、
前記1以上の暗号化層と一対一に対応する1以上の前記復号情報を生成する工程と、
前記1以上のユーザ層に記録する情報を取得する工程と、
前記1以上の暗号化層に記録する情報を取得する工程とを含み、
1つの前記ユーザ層に記録する情報を取得する工程は、
少なくとも1つの前記暗号化層に対応する少なくとも1つの前記階層情報を、前記少なくとも1つの暗号化層を識別するための少なくとも1つの前記階層IDと、前記少なくとも1つの暗号化層に対応する少なくとも1つの前記復号情報とに基づいて生成する工程と、
生成した前記少なくとも1つの階層情報を、1つの前記ユーザIDに関連付けられた前記暗号鍵により暗号化する工程と、
暗号化した前記少なくとも1つの階層情報と、前記1つのユーザIDとを、前記1つのユーザ層に記録する情報として取得する工程とを含み、
1つの前記暗号化層に記録する情報を取得する工程は、
1つの前記暗号化層に記録する情報として、前記秘匿情報を取得する工程と、
取得した前記秘匿情報を、前記1つの暗号化層に対応する前記復号情報によって復号し得るように暗号化する工程とを含む、
光学コード生成方法。
[Appendix 11]
The optical code generation method for generating the optical code according to Appendix 1.
An information acquisition process for acquiring information to be recorded in each of the N layers, and
It has a module configuration determination step of determining an optical configuration given to each of the plurality of modules based on the information acquired in the information acquisition step.
The information acquisition process is
A step of generating one or more decryption information having a one-to-one correspondence with the one or more encryption layers,
The process of acquiring information to be recorded in one or more user groups, and
Including the step of acquiring the information to be recorded in the one or more encryption layers.
The step of acquiring the information to be recorded in one user layer is
At least one layer information corresponding to at least one encryption layer, at least one layer ID for identifying the at least one encryption layer, and at least one corresponding to the at least one encryption layer. A process of generating based on the above-mentioned decryption information and
A step of encrypting the generated at least one hierarchical information with the encryption key associated with the user ID, and
The process includes a step of acquiring the encrypted at least one hierarchical information and the one user ID as information to be recorded in the one user layer.
The step of acquiring the information to be recorded in one of the encryption layers is
As information to be recorded in one of the encryption layers, a process of acquiring the confidential information and
A step of encrypting the acquired confidential information so that it can be decrypted by the decryption information corresponding to the one encryption layer.
Optical code generation method.

[付記12]
付記2に記載の光学コードを生成する光学コード生成方法であって、
前記N個の階層に記録する情報をそれぞれ取得する情報取得工程と、
前記情報取得工程において取得した情報に基づいて、前記複数のモジュールの各々に与える光学的な構成を判定するモジュール構成判定工程とを有し、
前記情報取得工程は、
前記1以上の暗号化層と一対一に対応する1以上の前記復号情報を生成する工程と、
前記共通層に記録する情報を取得する工程と、
前記1以上のユーザ層に記録する情報を取得する工程と、
前記1以上の暗号化層に記録する情報を取得する工程とを含み、
前記共通層に記録する情報を取得する工程は、
前記1以上のユーザに対応する前記1以上のユーザ情報を生成する工程と、
生成した前記1以上のユーザ情報を、前記共通層に記録する情報として取得する工程とを含み、
1つの前記ユーザ層に記録する情報を取得する工程は、
1つの前記ユーザ情報に含まれる前記階層IDに基づいて、前記1つのユーザ層を特定する工程と、
少なくとも1つの前記暗号化層に対応する少なくとも1つの前記階層情報を、前記少なくとも1つの暗号化層を識別するための少なくとも1つの前記階層IDと、前記少なくとも1つの暗号化層に対応する少なくとも1つの前記復号情報とに基づいて生成する工程と、
生成した前記少なくとも1つの前記階層情報を、特定した前記1つのユーザ層に記録する情報として取得する工程と、
取得した前記少なくとも1つの前記階層情報を、前記1のユーザ情報に含まれる前記ユーザIDに関連付けられた前記暗号鍵により暗号化する工程とを含み、
1つの前記暗号化層に記録する情報を取得する工程は、
1つの前記暗号化層に記録する情報として、前記秘匿情報を取得する工程と、
取得した前記秘匿情報を、前記1つの暗号化層に対応する前記復号情報によって復号し得るように暗号化する工程とを含む、
光学コード生成方法。
[Appendix 12]
An optical code generation method for generating the optical code described in Appendix 2.
An information acquisition process for acquiring information to be recorded in each of the N layers, and
It has a module configuration determination step of determining an optical configuration given to each of the plurality of modules based on the information acquired in the information acquisition step.
The information acquisition process is
A step of generating one or more decryption information having a one-to-one correspondence with the one or more encryption layers,
The process of acquiring the information to be recorded in the common layer and
The process of acquiring information to be recorded in one or more user groups, and
Including the step of acquiring the information to be recorded in the one or more encryption layers.
The step of acquiring the information to be recorded in the common layer is
A step of generating the one or more user information corresponding to the one or more users, and
Including a step of acquiring the generated one or more user information as information to be recorded in the common layer.
The step of acquiring the information to be recorded in one user layer is
A step of identifying the one user layer based on the layer ID included in the one user information, and
At least one layer information corresponding to at least one encryption layer, at least one layer ID for identifying the at least one encryption layer, and at least one corresponding to the at least one encryption layer. A process of generating based on the above-mentioned decryption information and
A step of acquiring at least one of the generated hierarchical information as information to be recorded in the specified one user layer, and
The step of encrypting the acquired at least one of the hierarchical information with the encryption key associated with the user ID included in the user information of 1 is included.
The step of acquiring the information to be recorded in one of the encryption layers is
As information to be recorded in one of the encryption layers, a process of acquiring the confidential information and
A step of encrypting the acquired confidential information so that it can be decrypted by the decryption information corresponding to the one encryption layer.
Optical code generation method.

[付記13]
付記5に記載の光学コードを生成する光学コード生成方法であって、
前記N個の階層に記録する情報をそれぞれ取得する情報取得工程と、
前記情報取得工程において取得した情報に基づいて、前記複数のモジュールの各々に与える光学的な構成を判定するモジュール構成判定工程とを有し、
前記情報取得工程は、
前記共通層に記録する情報を取得する工程と、
前記1以上の暗号化層に記録する情報を取得する工程とを含み、
前記共通層に記録する情報を取得する工程は、
前記1以上のユーザに対応する前記1以上のユーザ情報を生成する工程と、
生成した前記1以上のユーザ情報を、前記共通層に記録する情報として取得する工程とを含み、
1つの前記暗号化層に記録する情報を取得する工程は、
前記1つの暗号化層に記録する情報として、前記秘匿情報を取得する工程と、
前記1つの暗号化層を識別するための前記階層IDが含まれた前記ユーザ情報に基づいて、1つの前記ユーザIDに関連づけられた前記暗号鍵を取得する工程と、
取得した前記秘匿情報を、取得した前記暗号鍵により暗号化する工程とを含む、
光学コード生成方法。
[Appendix 13]
The optical code generation method for generating the optical code according to Appendix 5.
An information acquisition process for acquiring information to be recorded in each of the N layers, and
It has a module configuration determination step of determining an optical configuration given to each of the plurality of modules based on the information acquired in the information acquisition step.
The information acquisition process is
The process of acquiring the information to be recorded in the common layer and
Including the step of acquiring the information to be recorded in the one or more encryption layers.
The step of acquiring the information to be recorded in the common layer is
A step of generating the one or more user information corresponding to the one or more users, and
Including a step of acquiring the generated one or more user information as information to be recorded in the common layer.
The step of acquiring the information to be recorded in one of the encryption layers is
As the information to be recorded in the one encryption layer, the process of acquiring the confidential information and
A step of acquiring the encryption key associated with one user ID based on the user information including the layer ID for identifying the one encryption layer.
Including a step of encrypting the acquired confidential information with the acquired encryption key.
Optical code generation method.

[付記14]
前記光学的な構成は、前記モジュールの全体に与える色に関する構成、又は、前記モジュールを区分する複数の領域の各々に与える色に関する構成である、
付記11〜13のいずれか一項に記載の光学コード生成方法。
[Appendix 14]
The optical configuration is a configuration relating to a color given to the entire module, or a configuration relating to a color given to each of a plurality of regions for dividing the module.
The optical code generation method according to any one of Supplementary note 11 to 13.

[付記15]
付記11〜14のいずれか一項に記載の光学コード生成方法をコンピュータに実行させるためのプログラム。
[Appendix 15]
A program for causing a computer to execute the optical code generation method according to any one of Supplementary note 11 to 14.

[付記16]
付記1に記載の光学コードが表す情報を読み取る光学コード読み取り方法であって、
前記複数のモジュールを含む画像から、前記複数のモジュールの各々が表す前記Nビットの情報を読み取る工程と、
前記複数のモジュールの各々が表す前記Nビットの情報に基づいて、前記N個の階層に含まれた情報をそれぞれ取得する工程と、
前記1以上のユーザ層から、1つの前記ユーザIDが含まれた1つの前記ユーザ層を特定する工程と、
特定した前記1つのユーザ層に含まれる前記暗号化された少なくとも1つの階層情報を、前記1つのユーザIDに関連付けられた前記暗号鍵に基づいて復号する工程と、
復号した前記少なくとも1つの階層情報に基づいて、少なくとも1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程とを有し、
1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程は、
復号した1つの前記階層情報に含まれる前記階層IDに基づいて、1つの前記暗号化層を特定する工程と、
特定した前記1つの暗号化層に含まれる前記秘匿情報を、前記復号した1つの階層情報に含まれる前記復号情報に基づいて復号する工程とを含む、
光学コード読み取り方法。
[Appendix 16]
An optical code reading method for reading the information represented by the optical code described in Appendix 1.
A step of reading the N-bit information represented by each of the plurality of modules from the image including the plurality of modules, and
A process of acquiring information contained in each of the N layers based on the information of the N bits represented by each of the plurality of modules, and a step of acquiring the information contained in each of the N layers.
A step of identifying one user layer including one user ID from the one or more user layers, and
A step of decrypting at least one encrypted layer information included in the specified one user layer based on the encryption key associated with the one user ID.
It has a step of decrypting the confidential information included in at least one encryption layer based on the decrypted at least one layer information.
The step of decrypting the confidential information included in one of the encryption layers is
A step of identifying one encryption layer based on the layer ID included in the decrypted layer information, and
A step of decrypting the secret information included in the specified one encryption layer based on the decryption information included in the decrypted one layer information is included.
Optical code reading method.

[付記17]
付記2に記載の光学コードが表す情報を読み取る光学コード読み取り方法であって、
前記複数のモジュールを含む画像から、前記複数のモジュールの各々が表す前記Nビットの情報を読み取る工程と、
前記複数のモジュールの各々が表す前記Nビットの情報に基づいて、前記N個の階層に含まれた情報をそれぞれ取得する工程と、
前記共通層に含まれる前記1以上のユーザ情報から、1つの前記ユーザIDが含まれた1つの前記ユーザ情報を特定する工程と、
特定した前記1つのユーザ情報に含まれる前記階層IDから、1つの前記ユーザ層を特定する工程と、
特定した前記1つのユーザ層に含まれる前記暗号化された少なくとも1つの階層情報を、前記1つのユーザIDに関連付けられた前記暗号鍵に基づいて復号する工程と、
復号した前記少なくとも1つの階層情報に基づいて、少なくとも1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程とを有し、
1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程は、
復号した1つの前記階層情報に含まれる前記階層IDに基づいて、1つの前記暗号化層を特定する工程と、
特定した前記1つの暗号化層に含まれる前記秘匿情報を、前記復号した1つの階層情報に含まれる前記復号情報に基づいて復号する工程とを含む、
光学コード読み取り方法。
[Appendix 17]
An optical code reading method for reading the information represented by the optical code described in Appendix 2.
A step of reading the N-bit information represented by each of the plurality of modules from the image including the plurality of modules, and
A process of acquiring information contained in each of the N layers based on the information of the N bits represented by each of the plurality of modules, and a step of acquiring the information contained in each of the N layers.
A step of identifying one user information including one user ID from the one or more user information included in the common layer, and
A step of specifying one user layer from the layer ID included in the specified one user information, and
A step of decrypting at least one encrypted layer information included in the specified one user layer based on the encryption key associated with the one user ID.
It has a step of decrypting the confidential information included in at least one encryption layer based on the decrypted at least one layer information.
The step of decrypting the confidential information included in one of the encryption layers is
A step of identifying one encryption layer based on the layer ID included in the decrypted layer information, and
A step of decrypting the secret information included in the specified one encryption layer based on the decryption information included in the decrypted one layer information is included.
Optical code reading method.

[付記18]
付記5に記載の光学コードが表す情報を読み取る光学コード読み取り方法であって、
前記複数のモジュールを含む画像から、前記複数のモジュールの各々が表す前記Nビットの情報を読み取る工程と、
前記複数のモジュールの各々が表す前記Nビットの情報に基づいて、前記N個の階層に含まれた情報をそれぞれ取得する工程と、
前記共通層に含まれる前記1以上のユーザ情報から、1つの前記ユーザIDが含まれた1つの前記ユーザ情報を特定する工程と、
特定した前記1つのユーザ情報に含まれる前記階層IDに基づいて、1つの前記暗号化層を特定する工程と、
特定した前記1つの暗号化層に含まれる前記秘匿情報を、前記1つのユーザIDに関連付けられた前記暗号鍵に基づいて復号する工程と
を有する光学コード読み取り方法。
[Appendix 18]
An optical code reading method for reading the information represented by the optical code described in Appendix 5.
A step of reading the N-bit information represented by each of the plurality of modules from the image including the plurality of modules, and
A process of acquiring information contained in each of the N layers based on the information of the N bits represented by each of the plurality of modules, and a step of acquiring the information contained in each of the N layers.
A step of identifying one user information including one user ID from the one or more user information included in the common layer, and
A step of specifying one encryption layer based on the layer ID included in the identified user information, and
An optical code reading method comprising a step of decrypting the confidential information contained in the specified one encryption layer based on the encryption key associated with the one user ID.

[付記19]
付記16〜18のいずれか一項に記載の光学コード読み取り方法をコンピュータに実行させるためのプログラム。
[Appendix 19]
A program for causing a computer to execute the optical code reading method according to any one of Appendix 16 to 18.

1…情報処理装置、10…通信部、20…入力部、30…表示部、40…撮像部、50…記憶部、51…プログラム、60…処理部、U…モジュール、L0〜L16…階層、PB1…第1パリティビット、PB2…第2パリティビット、PB3…第3パリティビット、PB4…第4パリティビット
1 ... Information processing device, 10 ... Communication unit, 20 ... Input unit, 30 ... Display unit, 40 ... Imaging unit, 50 ... Storage unit, 51 ... Program, 60 ... Processing unit, U ... Module, L0 to L16 ... Hierarchy, PB1 ... 1st parity bit, PB2 ... 2nd parity bit, PB3 ... 3rd parity bit, PB4 ... 4th parity bit

Claims (19)

規則的に配置された複数のモジュールによって光学的に読み取り可能な情報を表す光学コードであって、
前記複数のモジュールの各々は、光学的に読み取り可能なNビット(Nは2以上の整数を示す。)の情報を表しており、
前記複数のモジュールが表す全体の情報は、N個の階層に分かれており、
1つの前記モジュールが表す前記Nビットの情報は、前記N個の階層の各々に1ビットずつ含まれており、
前記N個の階層は、
1以上のユーザと一対一に対応する1以上のユーザ層と、
暗号化された秘匿情報を含む1以上の暗号化層とを含み、
1の前記ユーザに対応する1つの前記ユーザ層は、
前記1のユーザを識別するためのユーザIDと、
前記1のユーザが所有する暗号鍵により暗号化された少なくとも1つ階層情報とを含み、
1つの前記階層情報は、
1つの前記暗号化層を識別するための階層IDと、
前記1つの暗号化層に含まれる前記暗号化された秘匿情報を復号するための復号情報とを含む、
光学コード。
An optical code that represents information that is optically readable by multiple regularly arranged modules.
Each of the plurality of modules represents optically readable N-bit information (N represents an integer of 2 or more).
The entire information represented by the plurality of modules is divided into N layers.
The N-bit information represented by one module is included in each of the N layers, one bit at a time.
The N layers are
One or more user groups that have a one-to-one correspondence with one or more users,
Includes one or more encryption layers containing encrypted confidential information,
One said user layer corresponding to one said user
A user ID for identifying the user of 1 and
Includes at least one hierarchical information encrypted by the encryption key owned by the one user.
One said hierarchical information
A layer ID for identifying one of the encryption layers and
Includes decryption information for decrypting the encrypted confidential information included in the one encryption layer.
Optical cord.
規則的に配置された複数のモジュールによって光学的に読み取り可能な情報を表す光学コードであって、
前記複数のモジュールの各々は、光学的に読み取り可能なNビット(Nは3以上の整数を示す。)の情報を表しており、
前記複数のモジュールが表す全体の情報は、N個の階層に分かれており、
1つの前記モジュールが表す前記Nビットの情報は、前記N個の階層の各々に1ビットずつ含まれており、
前記N個の階層は、
1以上のユーザと一対一に対応する1以上のユーザ情報を含んだ共通層と、
前記1以上のユーザと一対一に対応する1以上のユーザ層と、
暗号化された秘匿情報を含む1以上の暗号化層とを含み、
1の前記ユーザに対応する1つの前記ユーザ情報は、
前記1のユーザを識別するためのユーザIDと、
前記1のユーザに対応する1の前記ユーザ層を識別するための階層IDとを含み、
1の前記ユーザに対応する1つの前記ユーザ層は、
前記1のユーザが所有する暗号鍵により暗号化された少なくとも1つの階層情報を含み、
1つの前記階層情報は、
1つの前記暗号化層を識別するための階層IDと、
前記1つの暗号化層に含まれる前記暗号化された秘匿情報を復号するための復号情報とを含む、
光学コード。
An optical code that represents information that is optically readable by multiple regularly arranged modules.
Each of the plurality of modules represents optically readable N-bit information (N represents an integer of 3 or more).
The entire information represented by the plurality of modules is divided into N layers.
The N-bit information represented by one module is included in each of the N layers, one bit at a time.
The N layers are
A common layer containing one or more user information that has a one-to-one correspondence with one or more users,
One or more user groups that have a one-to-one correspondence with the one or more users,
Includes one or more encryption layers containing encrypted confidential information,
One said user information corresponding to one said user
A user ID for identifying the user of 1 and
The layer ID for identifying the user layer of 1 corresponding to the user of 1 is included.
One said user layer corresponding to one said user
Contains at least one hierarchical information encrypted with an encryption key owned by the one user.
One said hierarchical information
A layer ID for identifying one of the encryption layers and
Includes decryption information for decrypting the encrypted confidential information included in the one encryption layer.
Optical cord.
前記暗号鍵は、前記階層情報を構成する複数ビットにおける各ビットの値を反転させるか否か指定する情報である、
請求項1又は2に記載の光学コード。
The encryption key is information that specifies whether or not to invert the value of each bit in a plurality of bits constituting the hierarchical information.
The optical cord according to claim 1 or 2.
前記復号情報は、前記暗号化された前記秘匿情報を構成する複数のビットにおける各ビットの値を反転させるか否か指定する情報である、
請求項1〜3のいずれか一項に記載の光学コード。
The decryption information is information that specifies whether or not to invert the value of each bit in a plurality of bits constituting the encrypted secret information.
The optical cord according to any one of claims 1 to 3.
規則的に配置された複数のモジュールによって光学的に読み取り可能な情報を表す光学コードであって、
前記複数のモジュールの各々は、光学的に読み取り可能なNビット(Nは2以上の整数を示す。)の情報を表しており、
前記複数のモジュールが表す全体の情報は、N個の階層に分かれており、
1つの前記モジュールが表す前記Nビットの情報は、前記N個の階層の各々に1ビットずつ含まれており、
前記N個の階層は、
1以上のユーザと一対一に対応する1以上のユーザ情報を含んだ共通層と、
前記1以上のユーザと一対一に対応する1以上の暗号化層とを含み、
1つの前記ユーザ情報は、
1の前記ユーザを識別するためのユーザIDと、
前記1のユーザに対応する1つの前記暗号化層を識別するための階層IDとを含み、
1つの前記暗号化層は、
1の前記ユーザが所有する暗号鍵により暗号化された秘匿情報を含む、
光学コード。
An optical code that represents information that is optically readable by multiple regularly arranged modules.
Each of the plurality of modules represents optically readable N-bit information (N represents an integer of 2 or more).
The entire information represented by the plurality of modules is divided into N layers.
The N-bit information represented by one module is included in each of the N layers, one bit at a time.
The N layers are
A common layer containing one or more user information that has a one-to-one correspondence with one or more users,
It includes the one or more users and one or more encryption layers corresponding to one-to-one.
One said user information is
A user ID for identifying the user in 1 and
Includes a layer ID for identifying the one encryption layer corresponding to the one user.
One of the encryption layers is
1. Includes confidential information encrypted by the encryption key owned by the user.
Optical cord.
前記秘匿情報を構成する複数のビットは、前記複数のモジュールの少なくとも一部と一対一に対応しており、
前記暗号鍵は、前記秘匿情報を構成する複数ビットにおける各ビットの値を反転させるか否か指定する情報である、
請求項5に記載の光学コード。
The plurality of bits constituting the confidential information have a one-to-one correspondence with at least a part of the plurality of modules.
The encryption key is information that specifies whether or not to invert the value of each bit in the plurality of bits constituting the confidential information.
The optical cord according to claim 5.
前記複数のモジュールの少なくとも一部は、それぞれM個のモジュールからなる複数のブロックに区分されており、
前記複数の階層は、第1パリティ層を含み、
前記第1パリティ層は、前記複数のブロックと一対一に対応する複数の第1パリティ情報を含み、
1つの前記ブロックに対応する1つの前記第1パリティ情報は、前記1つのブロックを構成する前記M個のモジュールと一対一に対応するM個の第1パリティビットを含み、
1つの前記第1パリティビットは、前記1つの第1パリティビットに対応する1つの前記モジュールが表す前記Nビットの情報のうちのKビット(Kは1より大きくNより小さい整数を示す。)の情報についてのパリティビットである、
請求項1〜6のいずれか一項に記載の光学コード。
At least a part of the plurality of modules is divided into a plurality of blocks each consisting of M modules.
The plurality of layers include a first parity layer.
The first parity layer includes a plurality of first parity information having a one-to-one correspondence with the plurality of blocks.
One said first parity bit corresponding to one said block includes M first parity bits corresponding to one-to-one with the M modules constituting the one block.
One said first parity bit is a K bit (K indicates an integer greater than 1 and less than N) of the information of the N bits represented by the one module corresponding to the one first parity bit. Parity bit for information,
The optical cord according to any one of claims 1 to 6.
前記複数の階層の各々は、前記複数のブロックと一対一に対応する複数のコード語を含んでおり、
1つの前記ブロックに対応する1つの前記コード語は、前記1つのブロックを構成する前記M個のモジュールと一対一に対応するMビットの情報を含み、
前記複数の階層は、第2パリティ層を含み、
前記第2パリティ層は、前記複数のブロックと一対一に対応する複数の第2パリティ情報を含み、
前記複数の第2パリティ情報の各々は、前記Kビットの情報を含むK個の階層と一対一に対応するK個の第2パリティビットを含んでおり、
1つの前記ブロックに対応する1つの前記第2パリティ情報に含まれる1つの前記第2パリティビットは、前記1つのブロックに対応する1つの前記コード語であって、前記1つの第2パリティビットに対応する1つの前記階層に属した当該1つのコード語に含まれる前記Mビットの情報についてのパリティビットである、
請求項7に記載の光学コード。
Each of the plurality of layers contains a plurality of code words having a one-to-one correspondence with the plurality of blocks.
One code word corresponding to one block includes information of M bits corresponding to one-to-one with the M modules constituting the one block.
The plurality of layers include a second parity layer.
The second parity layer includes a plurality of second parity information having a one-to-one correspondence with the plurality of blocks.
Each of the plurality of second parity information includes K second parity bits having a one-to-one correspondence with K layers including the K bit information.
One said second parity bit included in one said second parity information corresponding to one said block is one said code word corresponding to said one block, and is included in the said one second parity bit. It is a parity bit for the information of the M bit included in the one code word belonging to the corresponding one layer.
The optical cord according to claim 7.
1つの前記ブロックに対応する1つの前記第2パリティ情報は、前記1つのブロックに対応する1つの前記第1パリティ情報に含まれる前記M個の第1パリティビットからなるMビットの情報についての第3パリティビットを更に含む、
請求項8に記載の光学コード。
The one second parity information corresponding to the one block is the information of the M bit composed of the M first parity bits included in the one first parity information corresponding to the one block. 3 Parity bits further included,
The optical cord according to claim 8.
1つの前記第2パリティ情報は、前記1つの第2パリティ情報に含まれる前記K個の第2パリティビットと前記第3パリティビットとからなる(K+1)ビットの情報についての第4パリティビットを更に含む、
請求項9に記載の光学コード。
The one second parity information further includes a fourth parity bit for information of (K + 1) bits including the K second parity bits and the third parity bit included in the one second parity information. Including,
The optical cord according to claim 9.
請求項1に記載の光学コードを生成する光学コード生成方法であって、
前記N個の階層に記録する情報をそれぞれ取得する情報取得工程と、
前記情報取得工程において取得した情報に基づいて、前記複数のモジュールの各々に与える光学的な構成を判定するモジュール構成判定工程とを有し、
前記情報取得工程は、
前記1以上の暗号化層と一対一に対応する1以上の前記復号情報を生成する工程と、
前記1以上のユーザ層に記録する情報を取得する工程と、
前記1以上の暗号化層に記録する情報を取得する工程とを含み、
1つの前記ユーザ層に記録する情報を取得する工程は、
少なくとも1つの前記暗号化層に対応する少なくとも1つの前記階層情報を、前記少なくとも1つの暗号化層を識別するための少なくとも1つの前記階層IDと、前記少なくとも1つの暗号化層に対応する少なくとも1つの前記復号情報とに基づいて生成する工程と、
生成した前記少なくとも1つの階層情報を、1つの前記ユーザIDに関連付けられた前記暗号鍵により暗号化する工程と、
暗号化した前記少なくとも1つの階層情報と、前記1つのユーザIDとを、前記1つのユーザ層に記録する情報として取得する工程とを含み、
1つの前記暗号化層に記録する情報を取得する工程は、
1つの前記暗号化層に記録する情報として、前記秘匿情報を取得する工程と、
取得した前記秘匿情報を、前記1つの暗号化層に対応する前記復号情報によって復号し得るように暗号化する工程とを含む、
光学コード生成方法。
The optical code generation method for generating the optical code according to claim 1.
An information acquisition process for acquiring information to be recorded in each of the N layers, and
It has a module configuration determination step of determining an optical configuration given to each of the plurality of modules based on the information acquired in the information acquisition step.
The information acquisition process is
A step of generating one or more decryption information having a one-to-one correspondence with the one or more encryption layers,
The process of acquiring information to be recorded in one or more user groups, and
Including the step of acquiring the information to be recorded in the one or more encryption layers.
The step of acquiring the information to be recorded in one user layer is
At least one layer information corresponding to at least one encryption layer, at least one layer ID for identifying the at least one encryption layer, and at least one corresponding to the at least one encryption layer. A process of generating based on the above-mentioned decryption information and
A step of encrypting the generated at least one hierarchical information with the encryption key associated with the user ID, and
The process includes a step of acquiring the encrypted at least one hierarchical information and the one user ID as information to be recorded in the one user layer.
The step of acquiring the information to be recorded in one of the encryption layers is
As information to be recorded in one of the encryption layers, a process of acquiring the confidential information and
A step of encrypting the acquired confidential information so that it can be decrypted by the decryption information corresponding to the one encryption layer.
Optical code generation method.
請求項2に記載の光学コードを生成する光学コード生成方法であって、
前記N個の階層に記録する情報をそれぞれ取得する情報取得工程と、
前記情報取得工程において取得した情報に基づいて、前記複数のモジュールの各々に与える光学的な構成を判定するモジュール構成判定工程とを有し、
前記情報取得工程は、
前記1以上の暗号化層と一対一に対応する1以上の前記復号情報を生成する工程と、
前記共通層に記録する情報を取得する工程と、
前記1以上のユーザ層に記録する情報を取得する工程と、
前記1以上の暗号化層に記録する情報を取得する工程とを含み、
前記共通層に記録する情報を取得する工程は、
前記1以上のユーザに対応する前記1以上のユーザ情報を生成する工程と、
生成した前記1以上のユーザ情報を、前記共通層に記録する情報として取得する工程とを含み、
1つの前記ユーザ層に記録する情報を取得する工程は、
1つの前記ユーザ情報に含まれる前記階層IDに基づいて、前記1つのユーザ層を特定する工程と、
少なくとも1つの前記暗号化層に対応する少なくとも1つの前記階層情報を、前記少なくとも1つの暗号化層を識別するための少なくとも1つの前記階層IDと、前記少なくとも1つの暗号化層に対応する少なくとも1つの前記復号情報とに基づいて生成する工程と、
生成した前記少なくとも1つの前記階層情報を、特定した前記1つのユーザ層に記録する情報として取得する工程と、
取得した前記少なくとも1つの前記階層情報を、前記1のユーザ情報に含まれる前記ユーザIDに関連付けられた前記暗号鍵により暗号化する工程とを含み、
1つの前記暗号化層に記録する情報を取得する工程は、
1つの前記暗号化層に記録する情報として、前記秘匿情報を取得する工程と、
取得した前記秘匿情報を、前記1つの暗号化層に対応する前記復号情報によって復号し得るように暗号化する工程とを含む、
光学コード生成方法。
The optical code generation method for generating the optical code according to claim 2.
An information acquisition process for acquiring information to be recorded in each of the N layers, and
It has a module configuration determination step of determining an optical configuration given to each of the plurality of modules based on the information acquired in the information acquisition step.
The information acquisition process is
A step of generating one or more decryption information having a one-to-one correspondence with the one or more encryption layers,
The process of acquiring the information to be recorded in the common layer and
The process of acquiring information to be recorded in one or more user groups, and
Including the step of acquiring the information to be recorded in the one or more encryption layers.
The step of acquiring the information to be recorded in the common layer is
A step of generating the one or more user information corresponding to the one or more users, and
Including a step of acquiring the generated one or more user information as information to be recorded in the common layer.
The step of acquiring the information to be recorded in one user layer is
A step of identifying the one user layer based on the layer ID included in the one user information, and
At least one layer information corresponding to at least one encryption layer, at least one layer ID for identifying the at least one encryption layer, and at least one corresponding to the at least one encryption layer. A process of generating based on the above-mentioned decryption information and
A step of acquiring at least one of the generated hierarchical information as information to be recorded in the specified one user layer, and
The step of encrypting the acquired at least one of the hierarchical information with the encryption key associated with the user ID included in the user information of 1 is included.
The step of acquiring the information to be recorded in one of the encryption layers is
As information to be recorded in one of the encryption layers, a process of acquiring the confidential information and
A step of encrypting the acquired confidential information so that it can be decrypted by the decryption information corresponding to the one encryption layer.
Optical code generation method.
請求項5に記載の光学コードを生成する光学コード生成方法であって、
前記N個の階層に記録する情報をそれぞれ取得する情報取得工程と、
前記情報取得工程において取得した情報に基づいて、前記複数のモジュールの各々に与える光学的な構成を判定するモジュール構成判定工程とを有し、
前記情報取得工程は、
前記共通層に記録する情報を取得する工程と、
前記1以上の暗号化層に記録する情報を取得する工程とを含み、
前記共通層に記録する情報を取得する工程は、
前記1以上のユーザに対応する前記1以上のユーザ情報を生成する工程と、
生成した前記1以上のユーザ情報を、前記共通層に記録する情報として取得する工程とを含み、
1つの前記暗号化層に記録する情報を取得する工程は、
前記1つの暗号化層に記録する情報として、前記秘匿情報を取得する工程と、
前記1つの暗号化層を識別するための前記階層IDが含まれた前記ユーザ情報に基づいて、1つの前記ユーザIDに関連づけられた前記暗号鍵を取得する工程と、
取得した前記秘匿情報を、取得した前記暗号鍵により暗号化する工程とを含む、
光学コード生成方法。
The optical code generation method for generating the optical code according to claim 5.
An information acquisition process for acquiring information to be recorded in each of the N layers, and
It has a module configuration determination step of determining an optical configuration given to each of the plurality of modules based on the information acquired in the information acquisition step.
The information acquisition process is
The process of acquiring the information to be recorded in the common layer and
Including the step of acquiring the information to be recorded in the one or more encryption layers.
The step of acquiring the information to be recorded in the common layer is
A step of generating the one or more user information corresponding to the one or more users, and
Including a step of acquiring the generated one or more user information as information to be recorded in the common layer.
The step of acquiring the information to be recorded in one of the encryption layers is
As the information to be recorded in the one encryption layer, the process of acquiring the confidential information and
A step of acquiring the encryption key associated with one user ID based on the user information including the layer ID for identifying the one encryption layer.
Including a step of encrypting the acquired confidential information with the acquired encryption key.
Optical code generation method.
前記光学的な構成は、前記モジュールの全体に与える色に関する構成、又は、前記モジュールを区分する複数の領域の各々に与える色に関する構成である、
請求項11〜13のいずれか一項に記載の光学コード生成方法。
The optical configuration is a configuration relating to a color given to the entire module, or a configuration relating to a color given to each of a plurality of regions for dividing the module.
The optical code generation method according to any one of claims 11 to 13.
請求項11〜14のいずれか一項に記載の光学コード生成方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the optical code generation method according to any one of claims 11 to 14. 請求項1に記載の光学コードが表す情報を読み取る光学コード読み取り方法であって、
前記複数のモジュールを含む画像から、前記複数のモジュールの各々が表す前記Nビットの情報を読み取る工程と、
前記複数のモジュールの各々が表す前記Nビットの情報に基づいて、前記N個の階層に含まれた情報をそれぞれ取得する工程と、
前記1以上のユーザ層から、1つの前記ユーザIDが含まれた1つの前記ユーザ層を特定する工程と、
特定した前記1つのユーザ層に含まれる前記暗号化された少なくとも1つの階層情報を、前記1つのユーザIDに関連付けられた前記暗号鍵に基づいて復号する工程と、
復号した前記少なくとも1つの階層情報に基づいて、少なくとも1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程とを有し、
1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程は、
復号した1つの前記階層情報に含まれる前記階層IDに基づいて、1つの前記暗号化層を特定する工程と、
特定した前記1つの暗号化層に含まれる前記秘匿情報を、前記復号した1つの階層情報に含まれる前記復号情報に基づいて復号する工程とを含む、
光学コード読み取り方法。
An optical code reading method for reading the information represented by the optical code according to claim 1.
A step of reading the N-bit information represented by each of the plurality of modules from the image including the plurality of modules, and
A process of acquiring information contained in each of the N layers based on the information of the N bits represented by each of the plurality of modules, and a step of acquiring the information contained in each of the N layers.
A step of identifying one user layer including one user ID from the one or more user layers, and
A step of decrypting at least one encrypted layer information included in the specified one user layer based on the encryption key associated with the one user ID.
It has a step of decrypting the confidential information included in at least one encryption layer based on the decrypted at least one layer information.
The step of decrypting the confidential information included in one of the encryption layers is
A step of identifying one encryption layer based on the layer ID included in the decrypted layer information, and
A step of decrypting the secret information included in the specified one encryption layer based on the decryption information included in the decrypted one layer information is included.
Optical code reading method.
請求項2に記載の光学コードが表す情報を読み取る光学コード読み取り方法であって、
前記複数のモジュールを含む画像から、前記複数のモジュールの各々が表す前記Nビットの情報を読み取る工程と、
前記複数のモジュールの各々が表す前記Nビットの情報に基づいて、前記N個の階層に含まれた情報をそれぞれ取得する工程と、
前記共通層に含まれる前記1以上のユーザ情報から、1つの前記ユーザIDが含まれた1つの前記ユーザ情報を特定する工程と、
特定した前記1つのユーザ情報に含まれる前記階層IDから、1つの前記ユーザ層を特定する工程と、
特定した前記1つのユーザ層に含まれる前記暗号化された少なくとも1つの階層情報を、前記1つのユーザIDに関連付けられた前記暗号鍵に基づいて復号する工程と、
復号した前記少なくとも1つの階層情報に基づいて、少なくとも1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程とを有し、
1つの前記暗号化階層に含まれる前記秘匿情報を復号する工程は、
復号した1つの前記階層情報に含まれる前記階層IDに基づいて、1つの前記暗号化層を特定する工程と、
特定した前記1つの暗号化層に含まれる前記秘匿情報を、前記復号した1つの階層情報に含まれる前記復号情報に基づいて復号する工程とを含む、
光学コード読み取り方法。
An optical code reading method for reading the information represented by the optical code according to claim 2.
A step of reading the N-bit information represented by each of the plurality of modules from the image including the plurality of modules, and
A process of acquiring information contained in each of the N layers based on the information of the N bits represented by each of the plurality of modules, and a step of acquiring the information contained in each of the N layers.
A step of identifying one user information including one user ID from the one or more user information included in the common layer, and
A step of specifying one user layer from the layer ID included in the specified one user information, and
A step of decrypting at least one encrypted layer information included in the specified one user layer based on the encryption key associated with the one user ID.
It has a step of decrypting the confidential information included in at least one encryption layer based on the decrypted at least one layer information.
The step of decrypting the confidential information included in one of the encryption layers is
A step of identifying one encryption layer based on the layer ID included in the decrypted layer information, and
A step of decrypting the secret information included in the specified one encryption layer based on the decryption information included in the decrypted one layer information is included.
Optical code reading method.
請求項5に記載の光学コードが表す情報を読み取る光学コード読み取り方法であって、
前記複数のモジュールを含む画像から、前記複数のモジュールの各々が表す前記Nビットの情報を読み取る工程と、
前記複数のモジュールの各々が表す前記Nビットの情報に基づいて、前記N個の階層に含まれた情報をそれぞれ取得する工程と、
前記共通層に含まれる前記1以上のユーザ情報から、1つの前記ユーザIDが含まれた1つの前記ユーザ情報を特定する工程と、
特定した前記1つのユーザ情報に含まれる前記階層IDに基づいて、1つの前記暗号化層を特定する工程と、
特定した前記1つの暗号化層に含まれる前記秘匿情報を、前記1つのユーザIDに関連付けられた前記暗号鍵に基づいて復号する工程と
を有する光学コード読み取り方法。
An optical code reading method for reading the information represented by the optical code according to claim 5.
A step of reading the N-bit information represented by each of the plurality of modules from the image including the plurality of modules, and
A process of acquiring information contained in each of the N layers based on the information of the N bits represented by each of the plurality of modules, and a step of acquiring the information contained in each of the N layers.
A step of identifying one user information including one user ID from the one or more user information included in the common layer, and
A step of specifying one encryption layer based on the layer ID included in the identified user information, and
An optical code reading method comprising a step of decrypting the confidential information contained in the specified one encryption layer based on the encryption key associated with the one user ID.
請求項16〜18のいずれか一項に記載の光学コード読み取り方法をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute the optical code reading method according to any one of claims 16 to 18.
JP2019042938A 2019-03-08 2019-03-08 Optical code, optical code generation method and program thereof, and optical code reading method and program thereof Active JP6617302B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019042938A JP6617302B1 (en) 2019-03-08 2019-03-08 Optical code, optical code generation method and program thereof, and optical code reading method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019042938A JP6617302B1 (en) 2019-03-08 2019-03-08 Optical code, optical code generation method and program thereof, and optical code reading method and program thereof

Publications (2)

Publication Number Publication Date
JP6617302B1 JP6617302B1 (en) 2019-12-11
JP2020144796A true JP2020144796A (en) 2020-09-10

Family

ID=68836084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019042938A Active JP6617302B1 (en) 2019-03-08 2019-03-08 Optical code, optical code generation method and program thereof, and optical code reading method and program thereof

Country Status (1)

Country Link
JP (1) JP6617302B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230080525A (en) * 2021-11-30 2023-06-07 한국전자기술연구원 Security QR code using hologram

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015213288A (en) * 2014-04-14 2015-11-26 株式会社テララコード研究所 Optical code, information transmission method, and authentication method
JP2018081658A (en) * 2016-11-16 2018-05-24 株式会社It働楽研究所 Business card and business card management system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015213288A (en) * 2014-04-14 2015-11-26 株式会社テララコード研究所 Optical code, information transmission method, and authentication method
JP2018081658A (en) * 2016-11-16 2018-05-24 株式会社It働楽研究所 Business card and business card management system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230080525A (en) * 2021-11-30 2023-06-07 한국전자기술연구원 Security QR code using hologram
WO2023101033A1 (en) * 2021-11-30 2023-06-08 한국전자기술연구원 Security qr code using hologram
KR102574747B1 (en) * 2021-11-30 2023-09-06 한국전자기술연구원 Security QR code using hologram

Also Published As

Publication number Publication date
JP6617302B1 (en) 2019-12-11

Similar Documents

Publication Publication Date Title
US20230360165A1 (en) Method and apparatus for protecting digital photos from alteration
CN107610038B (en) Watermark display method, device and system
US11042791B2 (en) Method and apparatus for generating and reading composite two-dimensional code
JP4999751B2 (en) Data sharing techniques
CN101529888B (en) Image encryption/decryption device, and method
CN105825257A (en) Information hiding and hidden information extraction method based on two-dimensional barcode and information hiding and hidden information extraction system thereof
CN1615464A (en) Secure data input dialogue using visual cryptography
KR20100005146A (en) Image encyption device, image decyption device, method, and program
US9563830B2 (en) Incremental information object with an embedded information region
KR102055625B1 (en) Authentication server device, program, and authentication method
US11727524B2 (en) System and method for encoding and authenticating a digital image
CN105976005A (en) Two-dimensional code encrypting method, two-dimensional code generating device and two-dimensional code scanning device
Wang et al. 2D barcodes for visual cryptography
US20180144434A1 (en) Model anti-collusion watermark
KR20170023805A (en) Method for mobile terminal to transmit authentication password and method for acquiring authentication password
JP2007241328A (en) Program, information storage medium, two-dimensional code generation system, image generation system and printed matter
JP2007206762A (en) Communication method and communication device using two-dimensional code
JP2009135890A (en) Encryption apparatus, decryption apparatus, and cryptography system
CN1946123A (en) Image processing apparatus, control method therefor, and computer-readable storage medium
JP6149749B2 (en) Information processing apparatus, information processing system, and program
JP6617302B1 (en) Optical code, optical code generation method and program thereof, and optical code reading method and program thereof
CN104573781B (en) A kind of Quick Response Code encoding and decoding method
JP2016167115A (en) Information code reading system
US20150363681A1 (en) Progressive barcode
JP5077439B2 (en) Image encryption device / decryption device, image encryption method / decryption method, image encryption program / decryption program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190716

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190716

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191015

R150 Certificate of patent or registration of utility model

Ref document number: 6617302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250