JP6719789B2 - Cryptographic processing system, cryptographic processing method, and cryptographic processing program - Google Patents

Cryptographic processing system, cryptographic processing method, and cryptographic processing program Download PDF

Info

Publication number
JP6719789B2
JP6719789B2 JP2019127351A JP2019127351A JP6719789B2 JP 6719789 B2 JP6719789 B2 JP 6719789B2 JP 2019127351 A JP2019127351 A JP 2019127351A JP 2019127351 A JP2019127351 A JP 2019127351A JP 6719789 B2 JP6719789 B2 JP 6719789B2
Authority
JP
Japan
Prior art keywords
key
information processing
developer
unit
processing device
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.)
Active
Application number
JP2019127351A
Other languages
Japanese (ja)
Other versions
JP2019165518A (en
Inventor
優佑 星月
優佑 星月
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.)
Axell Corp
Original Assignee
Axell Corp
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 Axell Corp filed Critical Axell Corp
Priority to JP2019127351A priority Critical patent/JP6719789B2/en
Publication of JP2019165518A publication Critical patent/JP2019165518A/en
Application granted granted Critical
Publication of JP6719789B2 publication Critical patent/JP6719789B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、データを暗号化及び復号する技術に関する。 The present invention relates to a technique for encrypting and decrypting data.

パチンコやスロットなどの遊技機で用いられる画像処理装置では、画像データやプログラムデータなど(以下、データともいう。)を暗号化した暗号化データを記憶装置に格納しておき、遊技の進行に応じて、暗号化データを復号して利用する技術が知られている。 In an image processing device used in a gaming machine such as a pachinko machine or a slot, encrypted data obtained by encrypting image data, program data, etc. (hereinafter, also referred to as data) is stored in a storage device, and is stored as a game progresses. Then, a technique for decrypting and using encrypted data is known.

パチンコやスロットなどの遊技機において、暗号化データを復号して利用する技術は、データを改ざんし、不正な方法で出玉を獲得する、いわゆるゴト行為を防止するために重要な技術である。 In a gaming machine such as a pachinko machine or a slot, a technology of decrypting and using encrypted data is an important technology for preventing so-called goto action, in which the data is falsified and a payout is obtained by an illegal method.

関連する他の技術として、データROMには、複数の断片画像データであって、それぞれが圧縮符号化され、そして全体が、共通鍵方式に基づき、共通鍵KCで暗号化された暗号化画像データEPDと、その共通鍵KCを、公開鍵方式に基づき、公開鍵KPで暗号化することにより得られた暗号化共通鍵EKCとが格納される。RSA方式復号部は、データROMから暗号化共通鍵EKCを読み込み、RSA公開鍵方式に基づき、公開鍵KPに対応する秘密鍵KSにより、その暗号化共通鍵EKCを復号して共通鍵KCを得、それを共通鍵方式復号部へ送る。データバス制御部は、共通鍵方式復号部に対して、データROMからの暗号化画像データEPDの読込みとその復号を指示すると共に、その復号された画像データPDをデコーダに送る(例えば、特許文献1)。 As another related technology, a plurality of pieces of fragment image data are compressed and encoded in a data ROM, and the whole is encrypted image data encrypted by a common key KC based on a common key method. The EPD and the encrypted common key EKC obtained by encrypting the common key KC with the public key KP are stored. The RSA decryption unit reads the encrypted common key EKC from the data ROM, and decrypts the encrypted common key EKC with the secret key KS corresponding to the public key KP based on the RSA public key system to obtain the common key KC. , And sends it to the common key decryption unit. The data bus control unit instructs the common key method decryption unit to read the encrypted image data EPD from the data ROM and to decrypt the decrypted image data EPD, and sends the decrypted image data PD to the decoder (for example, Patent Document 1). 1).

特開2013−223599JP, 2013-223599, A

前述した暗号化技術では、例えば、公開鍵KPを含むデータの開発環境を第三者が手に入れると、新規に共通鍵KCを設定することにより、データROMの全面書き換えを行うことが可能となるので、データの改ざんによる不正行為を防止できないことがある。
本発明は、一側面として、データの改ざんによる不正行為を防止する技術を提供する。
In the above-described encryption technology, for example, when a third party obtains a development environment for data including the public key KP, it is possible to completely rewrite the data ROM by newly setting the common key KC. Therefore, it may not be possible to prevent fraudulent acts due to falsification of data.
The present invention, as one aspect, provides a technique for preventing fraudulent acts due to falsification of data.

本明細書で開示する暗号処理システムのひとつに、第1情報処理装置と、第2情報処理装置と、第3情報処理装置とを備える暗号処理システムがある。データ作成プログラムと第3情報処理装置とを提供する設計元で用いられる第1情報処理装置は、第1生成部と、第1作成部と、第1処理部とを備える。第1生成部は、設計元が設定した開発元を識別する開発元識別子を用いて第1秘密鍵を生成する。第1作成部は、第1秘密鍵を用いて第1公開鍵を作成する。第1処理部は、第1公開鍵をデータ作成プログラムに付与する処理を実行する。
設計元から提供されるデータ作成プログラムを実行することにより動作する、開発元で用いられる第2情報処理装置は、取得部と、第2作成部と、暗号化部と、第2処理部とを備える。取得部は、データ作成プログラムに付与された第1公開鍵と、開発元が設定した第2秘密鍵とを取得する。第2作成部は、第1公開鍵と第2秘密鍵とを用いた共通鍵の作成と、第2秘密鍵を用いた第2公開鍵の作成とを実行する。暗号化部は、データ作成プログラムで作成されたデータを、共通鍵を用いて暗号化する。第2処理部は、第2作成部により作成された第2公開鍵と、暗号化部により暗号化された暗号化データとを第3情報処理装置に接続される記憶装置に記憶する処理を実行する。
顧客に提供される第3情報処理装置は、記憶部と、接続部と、第2生成部と、第3作成部と、復号部とを備える。記憶部は、設計元で設定された開発元識別子を記憶する。接続部は、記憶装置と接続される。第2生成部は、記憶部に記憶された開発元識別子を用いて第1秘密鍵を生成する。第3作成部は、記憶装置に記憶された第2公開鍵と、生成部により生成された第1秘密鍵とを用いて共通鍵を作成する。復号部は、共通鍵を用いて記憶装置に記憶された暗号化データを復号する。
One of the cryptographic processing systems disclosed in this specification is a cryptographic processing system including a first information processing device, a second information processing device, and a third information processing device. The first information processing apparatus used by the designer who provides the data creation program and the third information processing apparatus includes a first generation unit, a first creation unit, and a first processing unit. The first generation unit generates the first secret key using the developer identifier that identifies the developer set by the designer. The first creation unit creates a first public key using the first secret key. The first processing unit executes a process of adding the first public key to the data creation program.
The second information processing device used by the developer, which operates by executing the data creation program provided by the designer, includes an acquisition unit, a second creation unit, an encryption unit, and a second processing unit. Prepare The acquisition unit acquires the first public key given to the data creation program and the second secret key set by the developer. The second creation unit creates a common key using the first public key and the second secret key, and creates a second public key using the second secret key. The encryption unit encrypts the data created by the data creation program using the common key. The second processing unit executes a process of storing the second public key created by the second creating unit and the encrypted data encrypted by the encryption unit in a storage device connected to the third information processing device. To do.
The third information processing device provided to the customer includes a storage unit, a connection unit, a second generation unit, a third creation unit, and a decryption unit. The storage unit stores the developer identifier set by the designer. The connection unit is connected to the storage device. The second generation unit generates the first secret key using the developer identifier stored in the storage unit. The third creation unit creates a common key using the second public key stored in the storage device and the first secret key generated by the generation unit. The decryption unit decrypts the encrypted data stored in the storage device using the common key.

1実施態様によれば、データの改ざんによる不正行為を防止することができる。 According to one embodiment, it is possible to prevent fraudulent acts due to falsification of data.

暗号処理システムの一実施例を示す図である。It is a figure which shows one Example of a cryptographic processing system. 開発元識別子を用いた暗号処理システムの一実施例を示す図である。It is a figure which shows one Example of the encryption processing system using a developer identifier. 秘密鍵Pの生成処理を示す図である。It is a figure which shows the production|generation process of the private key P. 公開鍵Aと開発元IDとの対応関係の説明図である。It is explanatory drawing of the correspondence of public key A and developer ID. 暗号処理システムの一実施例を示すブロック図である。It is a block diagram which shows one Example of a cryptographic processing system. 第1情報処理装置における処理を示すフローチャートである。It is a flowchart which shows the process in a 1st information processing apparatus. 秘密鍵Pを作成する処理を示すフローチャートである。7 is a flowchart showing a process of creating a secret key P. 第2情報処理装置における処理を示すフローチャートである。It is a flowchart which shows the process in a 2nd information processing apparatus. 第3情報処理装置における処理を示すフローチャートである。It is a flowchart which shows the process in a 3rd information processing apparatus. コンピュータ装置の一実施例を示すブロック図である。FIG. 3 is a block diagram showing an example of a computer device.

[実施形態]
実施形態の暗号処理システムについて説明する。
図1は、暗号処理システム300の一実施例を示す図である。
暗号処理システム300は、第4情報処理装置4と、第5情報処理装置5と、第6情報処理装置6とを含む。
[Embodiment]
The cryptographic processing system of the embodiment will be described.
FIG. 1 is a diagram showing an embodiment of a cryptographic processing system 300.
The cryptographic processing system 300 includes a fourth information processing device 4, a fifth information processing device 5, and a sixth information processing device 6.

第4情報処理装置4は、例えば、第6情報処理装置6の設計及び製造を行なう会社(以下、設計元ともいう。)で用いられるコンピュータ装置である。第5情報処理装置5は、例えば、設計元から提供されたデータ作成プログラム(以下、開発環境ともいう。)を用いて、画像データやプログラムデータなどの開発を行なう会社(以下、開発元ともいう。)で用いられるコンピュータ装置である。第6情報処理装置6は、例えば、パチンコ、スロット及びゲーム機などの遊技機で用いられる画像処理装置である。以下の説明において、設計元の処理は、第4情報処理装置4を用いて処理されるものである。また、開発元の処理は、第5情報処理装置5を用いて処理されるものである。なお、第6情報処理装置6は、遊技機などに用いられる画像処理装置の他、例えば、パソコン、輸送機器、ゲーム機、及びVR(Virtual Reality)装置などに用いられる各種情報処理装置でもよい。 The fourth information processing device 4 is, for example, a computer device used in a company that designs and manufactures the sixth information processing device 6 (hereinafter, also referred to as a designer). The fifth information processing device 5 uses, for example, a data creation program (hereinafter, also referred to as a development environment) provided by a designer to develop image data, program data, etc. (hereinafter, also referred to as a developer). Is a computer device used in. The sixth information processing device 6 is, for example, an image processing device used in a gaming machine such as a pachinko machine, a slot, and a game machine. In the following description, the process performed by the designer is performed using the fourth information processing device 4. The processing of the developer is processed by using the fifth information processing device 5. The sixth information processing device 6 may be an image processing device used in a game machine or the like, and may be various information processing devices used in, for example, a personal computer, a transportation device, a game machine, a VR (Virtual Reality) device, or the like.

パチンコやスロットなどの遊技機で用いられる画像処理装置において、データの改ざんによる不正行為を防止するため、暗号処理において、Diffie−Hellman(以下、DHともいう。)鍵交換を用いる技術が知られている。暗号処理とは、鍵作成処理と、暗号化処理と、復号処理とを含むものとする。以下の説明では、一例として、第6情報処理装置6は、遊技機に用いられる画像処理装置であるものとして説明する。 In an image processing device used in a game machine such as a pachinko machine or a slot, a technique of using Diffie-Hellman (hereinafter, also referred to as DH) key exchange in encryption processing is known in order to prevent fraudulent acts by falsifying data. There is. The encryption process includes a key creation process, an encryption process, and a decryption process. In the following description, as an example, the sixth information processing device 6 will be described as an image processing device used in a gaming machine.

具体的には、設計元は、DH鍵交換を行うための生成元gと、素数nとを設定し、開発元と共有する。また、設計元は、設定した素数nを第6情報処理装置6にハードワイヤード(以下、結線論理ともいう。)で記憶する。さらに、設計元は、任意の乱数などを用いて秘密鍵pを生成し、第6情報処理装置6にハードワイヤードで秘密鍵pを記憶する。 Specifically, the designer sets the generator g for performing the DH key exchange and the prime number n, and shares it with the developer. In addition, the design source stores the set prime number n in the sixth information processing device 6 by hard wiring (hereinafter, also referred to as connection logic). Furthermore, the design source generates the secret key p using an arbitrary random number or the like, and stores the secret key p in the sixth information processing device 6 by hard wiring.

設計元は、生成元gと、秘密鍵pと、素数nとを下記式(1)に代入して、公開鍵aを作成する。そして、設計元は、作成した公開鍵aを開発元に提供する(S501)。具体的には、設計元は、開発元に提供するデータ作成プログラムに公開鍵aを含ませることにより、公開鍵aを開発元に提供する。
公開鍵a=g^p mod n・・・(1)
The design source creates the public key a by substituting the generator g, the secret key p, and the prime number n into the following equation (1). Then, the designer provides the created public key a to the developer (S501). Specifically, the designer provides the public key a to the developer by including the public key a in the data creation program provided to the developer.
Public key a=g ^p mod n (1)

また、開発元は、乱数などを用いて秘密鍵sを生成し、生成元g、秘密鍵sと、素数nとを下記式(2)に代入して、公開鍵bを作成する。そして、開発元は、作成した公開鍵bを第6情報処理装置6に含まれる記憶装置に格納する(S502)。
公開鍵b=g^s mod n・・・(2)
さらに、開発元は、公開鍵aと、秘密鍵sと、素数nとを下記式(3)に代入して、共通鍵dhを作成する(S503)。
共通鍵dh=a^s mod n・・・(3)
Further, the developer generates a secret key s by using a random number or the like, and substitutes the generator g, the secret key s, and the prime number n into the following equation (2) to generate the public key b. Then, the developer stores the created public key b in the storage device included in the sixth information processing device 6 (S502).
Public key b=g ^s mod n (2)
Further, the developer substitutes the public key a, the secret key s, and the prime number n into the following formula (3) to create the common key dh (S503).
Common key dh=a ^s mod n (3)

開発元は、共通鍵dhを用いて、開発元が作成した画像データやプログラムデータなどを暗号化する。そして、開発元は、暗号化した暗号化データを第6情報処理装置6の記憶装置に格納する(S504)。 The developer uses the common key dh to encrypt image data, program data, etc. created by the developer. Then, the developer stores the encrypted data that has been encrypted in the storage device of the sixth information processing device 6 (S504).

第6情報処理装置6は、起動時に、第6情報処理装置6に含まれる記憶装置から公開鍵bを読み出し、さらに、ハードワイヤードで記憶された秘密鍵pと、素数nとを読み出し、下記式(4)に代入して、共通鍵dhを作成する(S505)。
共通鍵dh=b^p mod n・・・(4)
第6情報処理装置6は、遊技の進行に応じて、記憶装置から暗号化データを読み出し、生成した共通鍵dhを用いて暗号化データを復号する(S506)。
上述のように、暗号処理システム300において、開発元は、秘密鍵sを秘密にすることにより、データの改ざんによる不正行為を防止することができる。
At startup, the sixth information processing device 6 reads the public key b from the storage device included in the sixth information processing device 6, and further reads the secret key p and the prime number n stored by hardwired, Substituting into (4), the common key dh is created (S505).
Common key dh=b ^p mod n (4)
The sixth information processing device 6 reads the encrypted data from the storage device according to the progress of the game and decrypts the encrypted data using the generated common key dh (S506).
As described above, in the cryptographic processing system 300, the developer can prevent fraudulent acts due to falsification of data by keeping the secret key s secret.

しかし、暗号処理システム300では、公開鍵aが1種類であるため、設計元から各開発元に公開鍵aを含む共通の開発環境が提供される。したがって、暗号処理システム300において、公開鍵aを含む開発環境が第三者に手に入れられたとき、第三者によるデータの改ざんを防止できないことがある。 However, in the cryptographic processing system 300, since there is only one type of public key a, the designer provides each developer with a common development environment including the public key a. Therefore, in the cryptographic processing system 300, when a development environment including the public key a is obtained by a third party, it may not be possible to prevent data tampering by the third party.

具他的には、公開鍵aを含む開発環境を第三者が手に入れ、第三者が任意に秘密鍵saを設定し、任意の秘密鍵saを用いて公開鍵baと、共通鍵dhaとを作成する。また、第三者は、共通鍵dhaを用いて改ざん目的で作成したデータを暗号化した不正な暗号化データを作成する。さらに、第三者は、作成した不正な公開鍵baと、不正な暗号化データとを記憶した不正な記憶装置を作成する。そして、第三者は、第6情報処理装置6に含まれる記憶装置と、作成した不正な記憶装置とを差し替える。すると、第6情報処理装置6は、改ざんされたデータを復号してそのデータに従った処理を実行することになる。したがって、暗号処理システム300では、データの改ざんによる不正行為を防止することができないことがある。 In other words, a third party obtains the development environment including the public key a, the third party arbitrarily sets the secret key sa, and the public key ba and the common key sa are used by using the arbitrary secret key sa. Create dha and. Further, the third party creates unauthorized encrypted data by encrypting the data created for falsification using the common key dha. Further, the third party creates an unauthorized storage device that stores the created unauthorized public key ba and the unauthorized encrypted data. Then, the third party replaces the storage device included in the sixth information processing device 6 with the created unauthorized storage device. Then, the sixth information processing device 6 decodes the falsified data and executes the process according to the data. Therefore, the cryptographic processing system 300 may not be able to prevent fraudulent acts due to falsification of data.

図2は、開発元識別子を用いた暗号処理システムの一実施例を示す図である。
図2を参照して、データを作成する開発元を識別する開発元識別子(以下、開発元IDともいう。)を用いた暗号処理システム100の一実施例を説明する。具体的には、データの改ざんによる不正行為を防止するために、各開発元に、各開発元を識別する開発元IDを用いて作成された公開鍵A(第1公開鍵)を含む、開発環境を提供するというものである。
FIG. 2 is a diagram showing an embodiment of a cryptographic processing system using a developer identifier.
An embodiment of the cryptographic processing system 100 using a developer identifier (hereinafter, also referred to as a developer ID) for identifying a developer who creates data will be described with reference to FIG. Specifically, in order to prevent fraudulent acts due to falsification of data, each developer includes a public key A (first public key) created using a developer ID that identifies each developer. It is to provide the environment.

暗号処理システム100は、第1情報処理装置1(以下、鍵作成装置ともいう。)と、第2情報処理装置2(以下、暗号化装置ともいう。)と、第3情報処理装置3(以下、復号装置ともいう。)とを含む。 The cryptographic processing system 100 includes a first information processing device 1 (hereinafter also referred to as a key generation device), a second information processing device 2 (hereinafter also referred to as an encryption device), and a third information processing device 3 (hereinafter referred to as a “information processing device”). , And decoding device).

第1情報処理装置1は、設計元で用いられるコンピュータ装置である。第2情報処理装置2は、開発元で用いられるコンピュータ装置である。第3情報処理装置3は、例えば、復号装置を含む画像処理装置である。以下の説明において、設計元の処理は、第1情報処理装置1を用いて処理されるものである。また、開発元の処理は、第2情報処理装置2を用いて処理されるものである。なお、第3情報処理装置3は、遊技機などに用いられる画像処理装置の他、例えば、復号装置を含む、パソコン、輸送機器、ゲーム機、及びVR装置などに用いられる各種情報処理装置でもよい。 The first information processing device 1 is a computer device used by the designer. The second information processing device 2 is a computer device used by the developer. The third information processing device 3 is, for example, an image processing device including a decoding device. In the following description, the design source process is performed using the first information processing device 1. Further, the processing of the developer is processed by using the second information processing device 2. The third information processing device 3 may be, for example, an image processing device used for a game machine or the like, and various information processing devices used for a personal computer, a transportation device, a game machine, a VR device, or the like, including a decoding device. ..

設計元は、DH鍵交換を行うための生成元G(第1設定値)と、素数N(第2設定値)とを設定し、開発元と共有する。さらに、設計元は、マスターキー(第3設定値)と、開発元IDとを設定し、第3情報処理装置3に設定したマスターキーと、開発元IDと、素数Nとをハードワイヤードで記憶する。 The designer sets a generator G (first set value) for performing DH key exchange and a prime number N (second set value) and shares it with the developer. Further, the designer sets the master key (third setting value) and the developer ID, and stores the master key set in the third information processing device 3, the developer ID, and the prime number N by hardwired. To do.

より具体的には、マスターキーと、素数Nとは、第3情報処理装置3に含まれる集積回路上の配線やヒューズを用いた第1結線論理(以下、第1数値記憶部ともいう。)を用いて記憶される。また、開発元IDは、第3情報処理装置3に含まれる集積回路を実装する基板上の第2結線論理(以下、第2数値記憶部ともいう。)を用いて記憶される。 More specifically, the master key and the prime number N are the first connection logic (hereinafter, also referred to as the first numerical value storage unit) using the wiring and the fuse on the integrated circuit included in the third information processing device 3. Is stored using. The developer ID is stored using the second connection logic (hereinafter, also referred to as the second numerical value storage unit) on the board on which the integrated circuit included in the third information processing device 3 is mounted.

第3情報処理装置3に含まれる集積回路は、例えば、電源とグランドとの間にプルアップ抵抗と、ヒューズとを直列に接続し、かつプルアップ抵抗と、ヒューズとの間に出力線を接続した1以上の選択回路を有する第1結線論理を含む。このとき、プルアップ抵抗は電源側に接続され、ヒューズはグランド側に接続される。 In the integrated circuit included in the third information processing device 3, for example, a pull-up resistor and a fuse are connected in series between the power supply and the ground, and an output line is connected between the pull-up resistor and the fuse. A first connection logic having one or more select circuits described above. At this time, the pull-up resistor is connected to the power supply side and the fuse is connected to the ground side.

設計元は、集積回路をパッケージングする前の段階で、第1結線論理に含まれる各選択回路のヒューズ部分に高電圧をかけてヒューズを焼き切る、またはそのままにするという選択をする。これにより、設計元は、第1結線論理に含まれる各出力線からの出力のHレベルと、Lレベルとを切り替えて第1結線論理に、マスターキーと、素数Nとの値を記憶する。 Before designing the integrated circuit, the designer makes a selection such that a high voltage is applied to the fuse portion of each selection circuit included in the first connection logic to blow out the fuse, or the fuse is left as it is. As a result, the design source switches the H level and L level of the output from each output line included in the first connection logic and stores the values of the master key and the prime number N in the first connection logic.

第3情報処理装置3は、集積回路上の第1結線論理からの出力を検出し、マスターキーと、素数Nとを読み出す。上記の第1結線論理の構成は一例であり、例えば、プルダウン抵抗を用いる構成やアンチヒューズを用いる構成などの、他の構成を用いてもよい。また、マスターキーと、素数Nとは、EPROM (Erasable Programmable Read Only Memory)や、電子ヒューズ(eFuse)を用いて記憶されてもよい。 The third information processing device 3 detects the output from the first connection logic on the integrated circuit and reads the master key and the prime number N. The above configuration of the first connection logic is an example, and other configurations such as a configuration using a pull-down resistor and a configuration using an antifuse may be used. The master key and the prime number N may be stored using an EPROM (Erasable Programmable Read Only Memory) or an electronic fuse (eFuse).

第3情報処理装置3に含まれる集積回路を実装する基板は、例えば、電源とグランドとの間の接続と開放とを切り替える2本のピンと、グランド側のピンとグランドとの間に接続されるプルダウン抵抗と、グランド側のピンとプルダウン抵抗との間に接続される出力線とを備えた1以上の選択回路を有する第2結線論理を含む。 The substrate on which the integrated circuit included in the third information processing device 3 is mounted is, for example, two pins that switch connection and opening between a power supply and a ground, and a pull-down connected between a ground-side pin and the ground. Included is second wire logic having one or more select circuits with a resistor and an output line connected between a pin on the ground side and a pull-down resistor.

設計元は、ピンヘッダを基板上に配置して、第2結線論理に含まれる各選択回路の2本のピンにジャンパを刺す、または刺さないという選択をする。これにより、設計元は、第2結線論理に含まれる各出力線からの出力のHレベルと、Lレベルとを切り替えて第2結線論理に、開発元IDの値を記憶する。 The designing source arranges the pin header on the board and selects whether or not to insert the jumper into or out of the two pins of each selection circuit included in the second connection logic. As a result, the designer switches the output from each output line included in the second connection logic between the H level and the L level and stores the value of the developer ID in the second connection logic.

第3情報処理装置3は、基板上の第2結線論理からの出力を検出し、開発元IDを読み出す。上記の第2結線論理の構成は一例であり、例えば、第2結線論理に含まれる選択回路の2本のピンを配線により接続する構成、ディップスイッチを用いる構成、出力線に電源またはグランドを直接接続する構成などの、他の構成を用いてもよい。
なお、マスターキーと、開発元IDと、素数Nとは、それぞれ、第1結線論理及び第2結線論理のいずれか、または両方を適宜選択して記憶されてもよい。
以下の説明では、第1結線論理及び第2結線論理のことを、単に記憶部または記憶装置ともいう。
The third information processing device 3 detects the output from the second connection logic on the board and reads the developer ID. The above-described configuration of the second connection logic is an example, and for example, a configuration in which two pins of a selection circuit included in the second connection logic are connected by wiring, a configuration using a DIP switch, a power supply or a ground directly to an output line is used. Other configurations such as a connection configuration may be used.
The master key, the developer ID, and the prime number N may be stored by appropriately selecting one or both of the first connection logic and the second connection logic.
In the following description, the first connection logic and the second connection logic are also simply referred to as a storage unit or a storage device.

図3は、秘密鍵Pの生成処理を示す図である。
図3を参照して、秘密鍵P(第1秘密鍵)の生成処理を説明する。
設計元は、カウンタから出力される指定数の各カウント値と、設定したマスターキーとをそれぞれ組み合わせた組合値Cを生成する。また、設計元は、開発元IDを暗号鍵として用いて、生成した複数の組合値Cをそれぞれ暗号化処理する。さらに、設計元は、暗号化処理をした指定数の暗号化組合値CCを連結して秘密鍵Pを作成する(S601)。
FIG. 3 is a diagram showing a process of generating the secret key P.
The process of generating the secret key P (first secret key) will be described with reference to FIG.
The designer generates a combination value C by combining each of the specified number of count values output from the counter and the set master key. In addition, the designer uses the developer ID as an encryption key to encrypt each of the generated combination values C. Further, the designer creates the secret key P by concatenating the specified number of encrypted combination values CC that have been encrypted (S601).

図2を参照して説明する。
設計元は、生成元Gと、秘密鍵Pと、素数Nとを下記式(5)に代入して、公開鍵Aを作成する。そして、設計元は、作成した公開鍵Aを含む、開発環境を開発元に提供する(S602)。
公開鍵A=G^P mod N・・・(5)
This will be described with reference to FIG.
The design source creates the public key A by substituting the generator G, the secret key P, and the prime number N into the following equation (5). Then, the designer provides the development environment including the created public key A to the developer (S602).
Public key A=G ^P mod N (5)

また、開発元は、乱数などを用いて秘密鍵Sを生成し、生成元G、秘密鍵Sと、素数Nとを下記式(6)に代入して、公開鍵Bを作成する。そして、開発元は、作成した公開鍵Bを第3情報処理装置3に含まれる記憶装置に格納する(S603)。
公開鍵B=G^S mod N・・・(6)
さらに、開発元は、公開鍵Aと、秘密鍵Sと、素数Nとを下記式(7)に代入して、共通鍵DH(共通鍵)を作成する(S604)。
共通鍵DH=A^S mod N・・・(7)
In addition, the developer creates a secret key S using a random number or the like, and substitutes the generator G, the secret key S, and the prime number N into the following formula (6) to create the public key B. Then, the developer stores the created public key B in the storage device included in the third information processing device 3 (S603).
Public key B=G ^S mod N (6)
Furthermore, the developer substitutes the public key A, the secret key S, and the prime number N into the following equation (7) to create a common key DH (common key) (S604).
Common key DH=A ^S mod N (7)

そして、開発元は、共通鍵DHを用いて、開発元が作成した画像データやプログラムデータなどを暗号化する。そして、開発元は、暗号化した暗号化データを第3情報処理装置3の記憶装置に格納する(S605)。 Then, the developer uses the common key DH to encrypt the image data, program data, etc. created by the developer. Then, the developer stores the encrypted data that has been encrypted in the storage device of the third information processing device 3 (S605).

図3を参照して説明する。
第3情報処理装置3は、起動時に、カウンタから出力される指定数の各カウント値と、設定したマスターキーとをそれぞれ組み合わせた組合値Cを生成する。また、第3情報処理装置3は、開発元IDを暗号鍵に用いて、生成した複数の組合値Cをそれぞれ暗号化処理する。さらに、第3情報処理装置3は、暗号化処理をした指定数の暗号化組合値CCを連結して秘密鍵Pを作成する(S606)。
This will be described with reference to FIG.
The third information processing device 3 generates a combination value C, which is a combination of the specified number of count values output from the counter and the set master key, when activated. In addition, the third information processing device 3 uses the developer ID as an encryption key to encrypt each of the generated combination values C. Further, the third information processing device 3 creates the secret key P by concatenating the designated number of encrypted combination values CC that have been encrypted (S606).

図2を参照して説明する。
そして、第3情報処理装置3は、記憶装置から公開鍵Bと、素数Nとを読み出し、読み出した公開鍵Bと、素数Nと、作成した秘密鍵Pとを下記式(8)に代入して、共通鍵DHを作成する(S607)。
共通鍵DH=B^P mod N・・・(8)
第3情報処理装置3は、遊技の進行に応じて、記憶装置から暗号化データを読み出し、生成した共通鍵DHを用いて暗号化データを復号する(S608)。
以上により、暗号処理システム100において、開発元は、秘密鍵Sを秘密にすることにより、データの改ざんによる不正行為を防止することができる。
This will be described with reference to FIG.
Then, the third information processing device 3 reads the public key B and the prime number N from the storage device, and substitutes the read public key B, the prime number N, and the created secret key P into the following formula (8). Then, the common key DH is created (S607).
Common key DH=B ^P mod N (8)
The third information processing device 3 reads the encrypted data from the storage device according to the progress of the game, and decrypts the encrypted data using the generated common key DH (S608).
As described above, in the cryptographic processing system 100, the developer can prevent the fraudulent act due to the falsification of the data by keeping the secret key S secret.

図4は、公開鍵Aと顧客IDとの対応関係の説明図である。
図4を参照して、公開鍵Aと顧客IDとの対応関係を説明する。
暗号処理システム100では、第1情報処理装置1と第3情報処理装置3とで秘密鍵Pを生成するとき、互いに開発元IDを用いるので、開発元IDと公開鍵Aとの間に対応関係が生じる。これにより、第3情報処理装置3は、第2結線論理に記憶された開発元IDに対応する公開鍵Aではない、他の公開鍵を用いて作成された共通鍵で暗号化データを復号したとき、破損した画像データや起動できないプログラムデータを出力することになる。このとき、第3情報処理装置3は、まともに動作しなくなる。
FIG. 4 is an explanatory diagram of a correspondence relationship between the public key A and the customer ID.
The correspondence relationship between the public key A and the customer ID will be described with reference to FIG.
In the cryptographic processing system 100, when the secret key P is generated by the first information processing apparatus 1 and the third information processing apparatus 3, the developer IDs are used by each other, so that the corresponding relationship between the developer ID and the public key A. Occurs. As a result, the third information processing device 3 decrypts the encrypted data with the common key created using another public key other than the public key A corresponding to the developer ID stored in the second connection logic. At this time, damaged image data or program data that cannot be started will be output. At this time, the third information processing device 3 does not operate properly.

また、暗号処理システム100では、設計元は、開発元IDに対応する公開鍵Aを含む開発環境と、開発元IDを記憶している第3情報処理装置3とを各開発元に提供する。よって、第三者は、第3情報処理装置3に対応する公開鍵Aを含む開発環境を手に入れることが困難である。したがって、第三者は、データを改ざんし、改ざんしたデータを記憶した不正な記憶装置を第3情報処理装置3の記憶装置と差し替えても、第3情報処理装置3にまともにデータを出力させることができない。以上により、第3情報処理装置3は、データの改ざんによる不正行為を防止することができる。 In addition, in the cryptographic processing system 100, the designer provides the developer with a development environment including the public key A corresponding to the developer ID and the third information processing device 3 that stores the developer ID. Therefore, it is difficult for a third party to obtain a development environment including the public key A corresponding to the third information processing device 3. Therefore, even if the third party falsifies the data and replaces the unauthorized storage device storing the falsified data with the storage device of the third information processing device 3, the third information processing device 3 outputs the data properly. I can't. As described above, the third information processing device 3 can prevent fraudulent acts due to falsification of data.

図5は、暗号処理システムの一実施例を示すブロック図である。
図5を参照して、第1情報処理装置1(鍵作成装置)と、第2情報処理装置2(暗号化装置)と、第3情報処理装置3(復号装置)とを含む暗号化システム100についてさらに説明する。第1情報処理装置1と、第2情報処理装置2と、第3情報処理装置3とは、例えば、後述するコンピュータ装置200である。
FIG. 5 is a block diagram showing an embodiment of the cryptographic processing system.
With reference to FIG. 5, an encryption system 100 including a first information processing device 1 (key generation device), a second information processing device 2 (encryption device), and a third information processing device 3 (decryption device). Will be further described. The first information processing device 1, the second information processing device 2, and the third information processing device 3 are, for example, a computer device 200 described later.

第1情報処理装置は、例えば、設計元で使用されるコンピュータ装置である。また、第2情報処理装置は、例えば、開発元で使用されるコンピュータ装置であり、設計元から提供される、開発元を識別する開発元IDに対応する公開鍵Aを含むデータ作成プログラムを実行する。第3情報処理装置3は、設計元で設計及び製造され、開発元に提供されるコンピュータ装置であり、例えば、パチンコやスロットなどの遊技機に用いられる画像処理装置である。データ作成プログラムは、第3情報処理装置3の記憶装置に格納するデータを作成するためのプログラムである。 The first information processing device is, for example, a computer device used by the designer. The second information processing device is, for example, a computer device used by a developer and executes a data creation program including a public key A corresponding to a developer ID for identifying the developer, which is provided by the designer. To do. The third information processing device 3 is a computer device designed and manufactured by a designer and provided to a developer, and is, for example, an image processing device used for a game machine such as a pachinko machine or a slot. The data creation program is a program for creating data to be stored in the storage device of the third information processing device 3.

暗号化システム100では、DH鍵交換が用いられる。設計元は、DH鍵交換を行うための生成元Gと、素数Nとを設定する。そして、設計元と、開発元との間で生成元Gと、素数Nとを予め共有する。さらに、設計元は、第3情報処理装置の第2記憶部50に第3情報処理装置3の提供先である開発元の開発元IDと、素数Nと、マスターキーとを格納する。 The encryption system 100 uses DH key exchange. The designer sets a generator G for performing DH key exchange and a prime number N. Then, the generator G and the prime number N are shared in advance between the design source and the development source. Further, the designer stores the developer ID of the developer who is the destination of the third information processing device 3, the prime number N, and the master key in the second storage unit 50 of the third information processing device.

第1情報処理装置1は、第1制御部10を含む。第1制御部10は、第1取得部11と、第1カウント部12と、第1生成部13と、第1作成部14とを含む。 The first information processing device 1 includes a first control unit 10. The first control unit 10 includes a first acquisition unit 11, a first counting unit 12, a first generation unit 13, and a first creation unit 14.

第1取得部11は、生成元Gと、素数Nと、マスターキーと、開発元IDとを取得する。第1取得部11は、例えば、設計元からの入力を受け付けることにより、生成元Gと、素数Nと、マスターキーと、開発元IDとを取得する。生成元Gと、素数Nと、マスターキーと、開発元IDとは、例えば、設計元で任意に設定される値である。生成元Gと素数Nとは、DH鍵交換で用いられる値である。マスターキーは、例えば、設計元が任意に設定し、秘密にされる値である。開発元IDは、例えば、設計元が第3情報処理装置3の提供先の開発元それぞれに任意に振り分ける識別子である。 The first acquisition unit 11 acquires a generator G, a prime number N, a master key, and a developer ID. The first acquisition unit 11 acquires the generator G, the prime number N, the master key, and the developer ID by receiving an input from the designer, for example. The generator G, the prime number N, the master key, and the developer ID are, for example, values arbitrarily set by the designer. The generator G and the prime number N are values used in DH key exchange. The master key is, for example, a value that is set by a designer and kept secret. The developer ID is, for example, an identifier arbitrarily assigned by the designer to each developer who provides the third information processing device 3.

そして、第1取得部11は、第1生成部13に、マスターキーと、開発元IDとを出力する。さらに、第1取得部11は、第1作成部14に、生成元Gと、素数Nとを出力する。
第1カウント部12は、値をカウントし、指定数Dのカウント値を第1生成部13に出力する。指定数Dは、例えば、開発元により指定される。
Then, the first acquisition unit 11 outputs the master key and the developer ID to the first generation unit 13. Further, the first acquisition unit 11 outputs the generator G and the prime number N to the first creation unit 14.
The first count unit 12 counts the values and outputs the count value of the designated number D to the first generation unit 13. The designated number D is designated by the developer, for example.

指定数Dは、秘密鍵Pのビット数を暗号化組合値CCのビット数で除算した数である。すなわち、指定数Dは、例えば、カウント値とマスターキーとを組み合わせた暗号化組合値CCのビット数Lと、秘密鍵Pのビット数Mとを下記式(9)に代入して得られる値である。
指定数D=M/L・・・(9)
The designated number D is the number of bits of the secret key P divided by the number of bits of the encrypted combination value CC. That is, the designated number D is a value obtained by, for example, substituting the bit number L of the encrypted combination value CC obtained by combining the count value and the master key and the bit number M of the secret key P into the following formula (9). Is.
Designated number D=M/L (9)

具体的には、第1カウント部12は、例えば、暗号化組合値CCが128bitであり、秘密鍵Pのビット数が2048bitであるとき、指定数D=16となるので、0〜15までカウントし、16個のカウント値を出力する。なお、第1カウント部12は、指定数D個の異なる値のカウント値を出力してもよい。指定数が16のとき、第1カウント部12は、16個の異なる値のカウント値を出力してもよい。
第1生成部13は、開発元IDを用いて秘密鍵Pを生成する。
Specifically, for example, when the encryption combination value CC is 128 bits and the number of bits of the secret key P is 2048 bits, the first counting unit 12 counts from 0 to 15 because the designated number D=16. Then, 16 count values are output. The first counting unit 12 may output the count value of the specified number D different values. When the designated number is 16, the first counting unit 12 may output 16 different count values.
The first generator 13 uses the developer ID to generate the secret key P.

第1生成部13は、一例として、図3に示すように、第1カウント部12でカウントされた各カウント値と、マスターキーとを組み合わせて指定数の組合値Cを生成する。そして、第1生成部13は、開発元IDを暗号鍵に用いて、生成した各組合値Cを暗号化処理し、暗号化処理をした指定数の暗号化組合値CCを連結して秘密鍵Pを生成する。第1生成部13は、第1作成部14に、生成した秘密鍵Pを出力する。 As an example, the first generation unit 13 generates a specified number of combination values C by combining each count value counted by the first counting unit 12 and the master key, as shown in FIG. Then, the first generation unit 13 uses the developer ID as an encryption key to perform encryption processing on each generated combination value C, concatenates the specified number of encrypted combination values CC that have been subjected to the encryption processing, and concatenates the secret key. Generate P. The first generation unit 13 outputs the generated secret key P to the first generation unit 14.

組合値Cは、例えば、マスターキーと、カウント値との論理和でもよい。また、組合値Cは、例えば、マスターキーと、カウント値との加算や論理積でもよいし、連結でもよい。 The combination value C may be, for example, the logical sum of the master key and the count value. Further, the combination value C may be, for example, an addition or a logical product of the master key and the count value, or may be a connection.

また、暗号化処理は、例えば、DES(Data ENcryptioN StaNdard)、やAES(AdvaNced ENcryptioN StaNdard)などの任意のブロック暗号処理を用いてもよい。 Further, the encryption process may use an arbitrary block cipher process such as DES (Data ENcryptionN StaNard), AES (AdvaNced ENcryptionN StaNard), or the like.

第1作成部14は、秘密鍵Pで生成元Gをべき乗した値を、素数Nで除算した余りである公開鍵Aを作成する。より具体的には、第1作成部14は、第1取得部11から入力された生成元G及び素数Nと、第1生成部13から入力された秘密鍵Pとを式(5)に代入して、公開鍵Aを作成する。そして、第1作成部14は、公開鍵Aを開発元に提供する。第1作成部14は、例えば、公開鍵Aを、データ作成プログラムに組み込んでもよい。これにより、開発元には、第2情報処理装置2でデータ作成プログラムを実行したとき、公開鍵Aが提供される。すなわち、第1作成部14は、各開発元で異なる開発元IDを用いて生成した秘密鍵Pを生成し、生成した秘密鍵Pを用いて公開鍵Aを作成し、各開発元に異なる公開鍵Aを提供する。 The first preparation unit 14 prepares a public key A which is a remainder obtained by dividing a value obtained by raising the generator G by the secret key P to the power of N. More specifically, the first creation unit 14 substitutes the generator G and the prime number N input from the first acquisition unit 11 and the secret key P input from the first generation unit 13 into the equation (5). Then, the public key A is created. Then, the first creating unit 14 provides the public key A to the developer. The first creation unit 14 may incorporate the public key A into the data creation program, for example. Thereby, the public key A is provided to the developer when the data creation program is executed by the second information processing device 2. That is, the first creating unit 14 creates a private key P that is created by using a different developer ID at each developer, creates a public key A by using the created private key P, and publishes differently to each developer. Provide key A.

第2情報処理装置2は、第2制御部20と、第1記憶部30とを含む。第2制御部20は、第2取得部21と、第2作成部22と、暗号化部23とを含む。第1記憶部30は、第1設定情報31と、第1鍵情報32とを記憶する。
第1設定情報31は、開発元と共有する生成元Gと、素数Nとを含む。第1鍵情報32は、公開鍵Aを含む。
The second information processing device 2 includes a second control unit 20 and a first storage unit 30. The second control unit 20 includes a second acquisition unit 21, a second creation unit 22, and an encryption unit 23. The first storage unit 30 stores the first setting information 31 and the first key information 32.
The first setting information 31 includes a generator G shared with the developer and a prime number N. The first key information 32 includes the public key A.

第2取得部21は、公開鍵Aと開発元が任意に設定した秘密鍵S(第2秘密鍵)を取得する。そして、第2取得部21は、第2作成部22に、秘密鍵Sを出力する。また、第2取得部21は、秘密鍵Sを第1鍵情報32に格納してもよい。 The second acquisition unit 21 acquires the public key A and the secret key S (second secret key) arbitrarily set by the developer. Then, the second acquisition unit 21 outputs the secret key S to the second creation unit 22. Further, the second acquisition unit 21 may store the secret key S in the first key information 32.

第2取得部21は、例えば、第2情報処理装置2で実行されるデータ作成プログラムに組み込まれた公開鍵Aを取得する。そして、第2取得部21は、公開鍵Aを第1鍵情報32に格納する。 The second acquisition unit 21 acquires, for example, the public key A incorporated in the data creation program executed by the second information processing device 2. Then, the second acquisition unit 21 stores the public key A in the first key information 32.

第2作成部22は、生成元Gを秘密鍵Sでべき乗した値を素数Nで除算した余りである公開鍵B(第2公開鍵)を作成する。具体的には、第2作成部22は、第1記憶部30から読み出した生成元G及び素数Nと、第2取得部21から入力された秘密鍵Sとを式(6)に代入して、公開鍵Bを作成する。そして、第2作成部22は、作成した公開鍵Bを、第3情報処理装置3に接続される記憶装置に格納する。第3情報処理装置3が画像処理装置であるとき、公開鍵Bは、例えば、CGROMの先頭の領域に格納されてもよい。 The second creation unit 22 creates a public key B (second public key) that is a remainder that is obtained by dividing the value of the generator G raised to the power of the secret key S by the prime number N. Specifically, the second creation unit 22 substitutes the generator G and the prime number N read from the first storage unit 30 and the secret key S input from the second acquisition unit 21 into the equation (6). , Public key B is created. Then, the second creation unit 22 stores the created public key B in the storage device connected to the third information processing device 3. When the third information processing device 3 is an image processing device, the public key B may be stored in the top area of the CGROM, for example.

第2作成部22は、公開鍵Aを秘密鍵Sでべき乗した値を、素数Nで除算した余りである共通鍵DHを作成する。具体的には、第2作成部22は、第1記憶部30から読み出した素数N及び公開鍵Aと、第2取得部21から入力された秘密鍵Sとを式(7)に代入して、共通鍵DHを作成する。 The second creating unit 22 creates a common key DH that is a remainder obtained by dividing a value obtained by raising the public key A by the secret key S by the prime number N. Specifically, the second creation unit 22 substitutes the prime number N and the public key A read from the first storage unit 30 and the secret key S input from the second acquisition unit 21 into the equation (7). , Create a common key DH.

暗号化部23は、第2作成部22で作成された共通鍵DHを用いて、開発元が第2情報処理装置2でデータ作成プログラムを実行することにより作成したデータを暗号化する。そして、暗号化部23は、暗号化データを第3情報処理装置3の第2記憶部50に格納する。また、暗号化処理は、復号部44の復号処理と対応した処理であればよく、例えば、DES(Data Encryption Standard)、またはAES(Advanced Encryption Standard)などの任意の暗号処理を用いてもよい。 The encryption unit 23 uses the common key DH created by the second creation unit 22 to encrypt the data created by the developer executing the data creation program in the second information processing device 2. Then, the encryption unit 23 stores the encrypted data in the second storage unit 50 of the third information processing device 3. Further, the encryption process may be a process corresponding to the decryption process of the decryption unit 44, and for example, an arbitrary encryption process such as DES (Data Encryption Standard) or AES (Advanced Encryption Standard) may be used.

第3情報処理装置3は、第3制御部40と、第2記憶部50とを含む。第3制御部40は、第2カウント部41と、第2生成部42と、第3作成部43と、復号部44とを含む。第2記憶部50は、第2設定情報51と、第2鍵情報52と、識別情報53と、データ情報54とを記憶する。 The third information processing device 3 includes a third control unit 40 and a second storage unit 50. The third control unit 40 includes a second counting unit 41, a second generating unit 42, a third creating unit 43, and a decoding unit 44. The second storage unit 50 stores the second setting information 51, the second key information 52, the identification information 53, and the data information 54.

第2設定情報51は、マスターキーと、素数Nとを含む。第2鍵情報52は、公開鍵Bを含む。識別情報53は、開発元IDを含む。データ情報54は、暗号化データを含む。 The second setting information 51 includes a master key and a prime number N. The second key information 52 includes the public key B. The identification information 53 includes a developer ID. The data information 54 includes encrypted data.

第2記憶部50は、例えば、集積回路上の第1結線論理を用いて数値を記憶する第1数値記憶部を含む。さらに、第2記憶部50は、例えば、集積回路を実装する基板上の第2結線路理を用いて数値を記憶する第2数値記憶部を含む。そして、マスターキーと、素数Nとは、第1数値記憶部に記憶されてもよい。開発元IDは、第2数値記憶部に記憶されてもよい。なお、マスターキーと、開発元IDと、素数Nとは、それぞれ、第1数値記憶部及び第2数値記憶部のいずれか、または両方を適宜選択して記憶されてもよい。 The second storage unit 50 includes, for example, a first numerical value storage unit that stores numerical values using the first connection logic on the integrated circuit. Further, the second storage unit 50 includes, for example, a second numerical value storage unit that stores a numerical value by using the second connection circuit on the board on which the integrated circuit is mounted. Then, the master key and the prime number N may be stored in the first numerical value storage unit. The developer ID may be stored in the second numerical value storage unit. The master key, the developer ID, and the prime number N may be stored by appropriately selecting one or both of the first numerical value storage unit and the second numerical value storage unit.

第2カウント部41は、値をカウントし、指定数Dのカウント値を第2生成部42に出力する。第2カウント部41のカウント処理は、第1カウント部12と同様のカウント処理であり、第1カウント部12と同じ値のカウント値を出力するものである。
第2生成部42は、開発元IDを用いて秘密鍵Pを生成する。
The second counting unit 41 counts the values and outputs the count value of the designated number D to the second generating unit 42. The counting process of the second counting unit 41 is the same counting process as that of the first counting unit 12, and outputs the same count value as that of the first counting unit 12.
The second generation unit 42 uses the developer ID to generate the secret key P.

第2生成部42は、一例として、図3に示すように、第2カウント部41でカウントされた各カウント値と、マスターキーとを組み合わせて指定数の組合値Cを生成する。そして、第2生成部42は、開発元IDを暗号鍵に用いて、生成した各組合値Cを暗号化処理し、暗号化処理をした指定数の暗号化組合値CCを連結して秘密鍵Pを生成する。第2生成部42は、第2作成部22に、生成した秘密鍵Pを出力する。第2生成部42の生成処理は、第1生成部13と同様の生成処理であり、第1生成部13と同じ秘密鍵Pを出力するものである。 As an example, the second generation unit 42 generates a specified number of combination values C by combining each count value counted by the second count unit 41 and the master key, as shown in FIG. Then, the second generation unit 42 uses the developer ID as an encryption key to encrypt each combination value C that has been generated, concatenates the specified number of encrypted combination values CC that have been encrypted, and concatenates the secret key. Generate P. The second generation unit 42 outputs the generated secret key P to the second generation unit 22. The generation process of the second generation unit 42 is the same as the generation process of the first generation unit 13, and outputs the same secret key P as that of the first generation unit 13.

第3作成部43は、第2生成部42から入力された秘密鍵Pで公開鍵Bをべき乗した値を、素数Nで除算した余りである共通鍵DHを作成する。具体的には、第3生成部43は、秘密鍵Pと、公開鍵Bと、素数Nとを式(8)に代入して、共通鍵DHを作成する。 The third creating unit 43 creates a common key DH that is a remainder obtained by dividing a value obtained by raising the public key B by the secret key P input from the second generating unit 42 by a prime number N. Specifically, the third generation unit 43 substitutes the secret key P, the public key B, and the prime number N into the equation (8) to create the common key DH.

復号部44は、共通鍵DHを用いて、第2記憶部50に格納されている暗号化データを復号する。また、復号処理は、暗号化部23の暗号化処理と対応した処理であればよく、例えば、DESまたはAESなどの任意の暗号処理を用いてもよい。 The decryption unit 44 uses the common key DH to decrypt the encrypted data stored in the second storage unit 50. Further, the decryption process may be any process corresponding to the encryption process of the encryption unit 23, and for example, an arbitrary encryption process such as DES or AES may be used.

上記の説明では、第1生成部13と第2生成部42とは、マスターキーとカウンタ値とを用いて生成した複数の組合値Cを、開発元IDを暗号鍵として用いてそれぞれ暗号化処理をする。そして、第1生成部13と第2生成部42とは、複数の組合値Cを暗号化して生成した複数の暗号化組合値CCを連結して、秘密鍵Pを作成するものとして説明したが、これに限定されるものではない。 In the above description, the first generation unit 13 and the second generation unit 42 respectively perform the encryption process using the combination ID C generated using the master key and the counter value, using the developer ID as the encryption key. do. The first generation unit 13 and the second generation unit 42 have been described as generating the secret key P by concatenating the plurality of encrypted combination values CC generated by encrypting the plurality of combination values C. , But is not limited to this.

第1生成部13と第2生成部42とは、開発元IDを用いて、任意の方法で秘密鍵Pを生成してもよい。具体的には、第1生成部13と第2生成部42とは、例えば、開発元IDと、マスターキーとを暗号鍵として用いて暗号化処理をして秘密鍵Pを生成してもよい。また、第1生成部13と第2生成部42とは、例えば、開発元IDとカウンタ値とを用いて複数の組合値C2を生成し、マスターキーを暗号鍵として用いてそれぞれ暗号化処理をした複数の暗号化組合値CC2を生成してもよい。そして、第1生成部13と第2生成部42とは、複数の暗号化組合値CC2を連結して秘密鍵Pを作成してもよい。 The first generation unit 13 and the second generation unit 42 may generate the secret key P by any method using the developer ID. Specifically, the first generation unit 13 and the second generation unit 42 may generate the secret key P by performing an encryption process using, for example, the developer ID and the master key as an encryption key. .. In addition, the first generation unit 13 and the second generation unit 42 generate a plurality of combination values C2 using, for example, the developer ID and the counter value, and perform encryption processing using the master key as an encryption key. A plurality of encrypted combination values CC2 may be generated. Then, the first generation unit 13 and the second generation unit 42 may concatenate the plurality of encrypted combination values CC2 to generate the secret key P.

また、第1生成部13と第2生成部42とは、擬似乱数生成器を含み、擬似乱数生成器に開発元IDを入力して秘密鍵Pを生成してもよい。すなわち、秘密鍵Pは、擬似乱数生成器を用いて生成されてもよい。擬似乱数生成器は、暗号論的擬似乱数生成器(CSPRNG)でもよい。 The first generation unit 13 and the second generation unit 42 may include a pseudo random number generator, and the developer ID may be input to the pseudo random number generator to generate the secret key P. That is, the secret key P may be generated using a pseudo random number generator. The pseudo-random number generator may be a cryptographical pseudo-random number generator (CSPRNG).

なお、CSPRNGとは、Cryptographically Secure Pseudo RaNdom Number GeNeratorの略であり、暗号技術での利用に適した特性を持つ暗号論的擬似乱数生成器のことである。 Note that CSPRNG is an abbreviation for Cryptographically Secure Pseudo RaNdom Number GeNerator, and is a cryptographic pseudo-random number generator having characteristics suitable for use in cryptography.

図6は、第1情報処理装置における処理を示すフローチャートである。
図6を参照して、第1情報処理装置における処理を説明する。
第1取得部11は、マスターキーと、開発元IDとを取得したか否かを判定する(S101)。そして、第1取得部11は、マスターキーと、開発元IDとを取得していないとき(S101でNo)、S101の処理を繰り返し実行する。
第1取得部11は、マスターキーと、開発元IDとを取得したとき(S101にてYes)、第1生成部13に、マスターキーと、開発元IDとを出力する。
FIG. 6 is a flowchart showing a process in the first information processing device.
Processing in the first information processing apparatus will be described with reference to FIG.
The first acquisition unit 11 determines whether the master key and the developer ID have been acquired (S101). Then, when the master key and the developer ID are not acquired (No in S101), the first acquisition unit 11 repeatedly executes the process of S101.
When the first acquisition unit 11 acquires the master key and the developer ID (Yes in S101), the first acquisition unit 11 outputs the master key and the developer ID to the first generator 13.

第1生成部13は、第1取得部11から入力されたマスターキーと、開発元IDとを取得すると、秘密鍵Pを生成する(S102)。そして、第1生成部13は、秘密鍵Pを第1作成部14に出力する。 Upon acquiring the master key input from the first acquisition unit 11 and the developer ID, the first generation unit 13 generates the private key P (S102). Then, the first generation unit 13 outputs the secret key P to the first creation unit 14.

図7は、秘密鍵Pを作成する処理を示すフローチャートである。
図7を参照して、S102における秘密鍵Pを作成する処理を説明する。
第1生成部13は、第1カウント部12からカウント値が入力されたか否かを判定する(S201)。第1生成部13は、第1カウント部12からカウント値が入力されていないとき(S201にてNo)、S201の処理を繰り返し実行する。
FIG. 7 is a flowchart showing the process of creating the secret key P.
The process of creating the secret key P in S102 will be described with reference to FIG.
The first generation unit 13 determines whether the count value is input from the first counting unit 12 (S201). When the count value is not input from the first counting unit 12 (No in S201), the first generating unit 13 repeatedly executes the process of S201.

第1生成部13は、第1カウント部12からカウント値が入力されたとき(S201にてYes)、第1カウント部12でカウントされたカウント値と、マスターキーとを組み合わせて組合値Cを生成する(S202)。
第1生成部13は、開発元IDを暗号鍵に用いて、生成した組合値Cを暗号化処理し、暗号化組合値CCを生成する(S203)。
When the count value is input from the first count unit 12 (Yes in S201), the first generation unit 13 combines the count value counted by the first count unit 12 and the master key to obtain the combination value C. It is generated (S202).
The first generation unit 13 uses the developer ID as an encryption key to encrypt the generated combination value C and generates an encrypted combination value CC (S203).

第1生成部13は、入力されたカウント値の数(以下、カウント数ともいう。)が指定数Dであるか否かを判定する(S204)。第1生成部13は、カウント数が指定数Dでないとき(S204にてNo)、S201の処理を実行する。これ以降の処理では、S201において、第1生成部13は、前回までに入力されたカウント値と異なるカウント値が入力されたか否かを判定する。そして、第1生成部13は、前回までに取得したカウント値と異なるカウント値が入力されたとき、S202の処理を実行する。第1生成部13は、例えば、第1カウント部12によりカウント値がインクリメントされている場合には、S201において、0、1、2、3・・・の順で指定数Dの異なるカウント値が入力されるまでS201〜S204の処理を繰り返し実行する。 The first generation unit 13 determines whether the number of input count values (hereinafter, also referred to as a count number) is the designated number D (S204). When the count number is not the designated number D (No in S204), the first generation unit 13 executes the process of S201. In the subsequent processing, in S201, the first generation unit 13 determines whether or not a count value different from the count value input so far is input. Then, when the count value different from the count value acquired up to the previous time is input, the first generation unit 13 executes the process of S202. For example, when the count value is incremented by the first counting unit 12, the first generating unit 13 determines that the designated number D of different count values is 0, 1, 2, 3,... In this order in S201. The processes of S201 to S204 are repeatedly executed until input.

第1生成部13は、カウント数が指定数Dのとき(S204にてYes)、S203において生成された指定数の暗号化組合値CCを連結させて秘密鍵Pを生成する(S205)。 When the count number is the designated number D (Yes in S204), the first generation unit 13 concatenates the designated number of encrypted combination values CC generated in S203 to generate the secret key P (S205).

そして、第1生成部13は、第1カウント部12のカウント値をリセットする(S206)。第1生成部13は、例えば、第1カウント部12によりによりカウント値がインクリメントされている場合には、S206において、カウント部(第1カウント部12または第2カウント部41)のカウント値を0にする。 Then, the first generation unit 13 resets the count value of the first counting unit 12 (S206). For example, when the count value is incremented by the first count unit 12, the first generation unit 13 sets the count value of the count unit (the first count unit 12 or the second count unit 41) to 0 in S206. To

図6を参照して説明する。
第1取得部11は、生成元Gと、素数Nとを取得したか否かを判定する(S103)。第1取得部11は、生成元Gと、素数Nとを取得していないとき(S103にてNo)、S103の処理を繰り返し実行する。
第1取得部11は、生成元Gと、素数Nとを取得したとき(S103にてYes)、第1作成部14に生成元Gと、素数Nとを出力する。
This will be described with reference to FIG.
The first acquisition unit 11 determines whether the generator G and the prime number N have been acquired (S103). When the generator G and the prime number N are not acquired (No in S103), the first acquisition unit 11 repeatedly executes the process of S103.
When acquiring the generator G and the prime number N (Yes in S103), the first acquisition unit 11 outputs the generator G and the prime number N to the first creation unit 14.

第1作成部14は、第1取得部11から入力された生成元G及び素数Nと、第1生成部13から入力された秘密鍵Pとを式(5)に代入し、公開鍵Aを作成する(S104)。
そして、第1作成部14は、公開鍵Aをデータ作成プログラムに組み込む(S105)。
The first creation unit 14 substitutes the generator G and the prime number N input from the first acquisition unit 11 and the secret key P input from the first generation unit 13 into the equation (5) to obtain the public key A. Create (S104).
Then, the first creation unit 14 incorporates the public key A into the data creation program (S105).

上述の説明では、S102において、マスターキーとカウンタ値とを用いて生成した複数の組合値Cを、開発元IDを暗号鍵として用いて暗号化処理し、暗号化組合値CCを連結して秘密鍵Pを作成する処理を説明したが、これに限定されるものではない。S102では、開発元IDを用いて、任意の方法で秘密鍵Pを生成してもよい。また、S102では、擬似乱数生成器に開発元IDを入力して秘密鍵Pを生成してもよい。すなわち、秘密鍵Pは、擬似乱数生成器を用いて生成されてもよい。 In the above description, in S102, the plurality of combination values C generated using the master key and the counter value are encrypted using the developer ID as an encryption key, and the encrypted combination value CC is concatenated to keep the secret. Although the process of creating the key P has been described, the present invention is not limited to this. In S102, the developer ID may be used to generate the secret key P by an arbitrary method. Further, in S102, the developer ID may be input to the pseudo random number generator to generate the secret key P. That is, the secret key P may be generated using a pseudo random number generator.

図8は、第2情報処理装置における処理を示すフローチャートである。
図8を参照して、第2情報処理装置における処理を説明する。
以下の説明では、第2情報処理装置2にデータ作成プログラムがインストールされ、データ作成プログラムに組み込まれている公開鍵Aは、第2取得部21により取得され、第1記憶部30に格納されているものとする。
FIG. 8 is a flowchart showing the processing in the second information processing device.
Processing in the second information processing apparatus will be described with reference to FIG.
In the following description, the data creation program is installed in the second information processing device 2, and the public key A incorporated in the data creation program is acquired by the second acquisition unit 21 and stored in the first storage unit 30. Be present.

第2取得部21は、秘密鍵Sを取得したか否かを判定する(S301)。そして、第2取得部21は、秘密鍵Sを取得していないとき(S301でNo)、S301の処理を繰り返し実行する。
第2取得部21は、秘密鍵Sを取得したとき(S301にてYes)、第2作成部22に秘密鍵Sを出力する。
The second acquisition unit 21 determines whether or not the secret key S has been acquired (S301). Then, when the secret key S has not been acquired (No in S301), the second acquisition unit 21 repeatedly executes the process of S301.
When acquiring the private key S (Yes in S301), the second acquisition unit 21 outputs the private key S to the second creation unit 22.

第2作成部22は、秘密鍵Sが入力されると、秘密鍵Sと、第1記憶部30に格納されている生成元Gと、素数Nとを式(6)に代入し、公開鍵Bを作成する(S302)。 When the secret key S is input, the second creating unit 22 substitutes the secret key S, the generator G stored in the first storage unit 30, and the prime number N into the equation (6) to obtain the public key. B is created (S302).

さらに、第2作成部22は、第2取得部21から秘密鍵Sが入力されると、秘密鍵Sと、素数Nと、第1記憶部30に格納されている公開鍵Aとを式(7)に代入し、共通鍵DHを作成する(S303)。
そして、第2作成部22は、第3情報処理装置3の第2記憶部50に公開鍵Bを格納する(S304)。
暗号化部23は、第2作成部22で作成された共通鍵DHを用いて、開発元が作成したデータを暗号化する(S305)。
そして、暗号化部23は、暗号化データを第3情報処理装置3の第2記憶部50に格納する(S306)。
Further, when the secret key S is input from the second acquisition unit 21, the second creation unit 22 calculates the secret key S, the prime number N, and the public key A stored in the first storage unit 30 using the formula ( 7), and the common key DH is created (S303).
Then, the second creation unit 22 stores the public key B in the second storage unit 50 of the third information processing device 3 (S304).
The encryption unit 23 uses the common key DH created by the second creation unit 22 to encrypt the data created by the developer (S305).
Then, the encryption unit 23 stores the encrypted data in the second storage unit 50 of the third information processing device 3 (S306).

図9は、第3情報処理装置における処理を示すフローチャートである。
図9を参照して、第3情報処理装置3における処理を説明する。
以下の説明では、第2情報処理装置2で作成された公開鍵Bは、第2記憶部50に格納されているものとする。
第2生成部42は、例えば、第3情報処理装置3が起動されたとき、第2記憶部50に格納されているマスターキーと、開発元IDと、第2カウント部41のカウント値とを用いて、秘密鍵Pを作成する(S401)。第2生成部42の秘密鍵Pの作成処理は、図3を用いて説明した第1生成部13の秘密鍵Pの作成処理と同様であるため説明を省略する。
FIG. 9 is a flowchart showing processing in the third information processing device.
Processing in the third information processing device 3 will be described with reference to FIG. 9.
In the following description, the public key B created by the second information processing device 2 is assumed to be stored in the second storage unit 50.
For example, when the third information processing device 3 is activated, the second generation unit 42 stores the master key stored in the second storage unit 50, the developer ID, and the count value of the second count unit 41. The private key P is created by using it (S401). The process of creating the secret key P of the second generator 42 is the same as the process of creating the secret key P of the first generator 13 described with reference to FIG.

第3作成部43は、第2生成部42で作成された秘密鍵Pと、第2記憶部50に格納されている素数Nと、公開鍵Bとを式(8)に代入して、共通鍵DHを作成する(S402)。
復号部44は、共通鍵DHを用いて、第2記憶部50に格納されている暗号化データを復号する(S403)。
The third creation unit 43 substitutes the secret key P created by the second generation unit 42, the prime number N stored in the second storage unit 50, and the public key B into the equation (8) to obtain the common value. The key DH is created (S402).
The decryption unit 44 decrypts the encrypted data stored in the second storage unit 50 using the common key DH (S403).

上述の説明では、S401において、マスターキーとカウンタ値とを用いて生成した複数の組合値Cを、開発元IDを暗号鍵として用いて暗号化処理し、暗号化組合値CCを連結して秘密鍵Pを作成する処理を説明したが、これに限定されるものではない。S401では、開発元IDを用いて、任意の方法で秘密鍵Pを生成してもよい。また、S401では、擬似乱数生成器に開発元IDを入力して秘密鍵Pを生成してもよい。すなわち、秘密鍵Pは、擬似乱数生成器を用いて生成されてもよい。 In the above description, in S401, a plurality of combination values C generated using the master key and the counter value are encrypted by using the developer ID as an encryption key, and the encrypted combination value CC is concatenated to keep secret. Although the process of creating the key P has been described, the present invention is not limited to this. In S401, the developer ID may be used to generate the secret key P by an arbitrary method. Further, in S401, the developer ID may be input to the pseudo random number generator to generate the secret key P. That is, the secret key P may be generated using a pseudo random number generator.

図10は、コンピュータ装置の一実施例を示すブロック図である。
図10を参照して、コンピュータ装置200の構成について説明する。
図10において、コンピュータ装置200は、制御回路201と、記憶装置202と、読書装置203と、記録媒体204と、通信インターフェイス205と、入出力インターフェイス206と、入力装置207と、表示装置208と、結線論理209とを含む。また、通信インターフェイス205は、ネットワーク210と接続される。そして、各構成要素は、バス211により接続される。第1情報処理装置1と、第2情報処理装置2と、第3情報処理装置3とは、それぞれコンピュータ装置200に記載の構成要素の一部または全てを適宜選択して構成することができる。
FIG. 10 is a block diagram showing an embodiment of a computer device.
The configuration of the computer device 200 will be described with reference to FIG.
In FIG. 10, the computer device 200 includes a control circuit 201, a storage device 202, a reading device 203, a recording medium 204, a communication interface 205, an input/output interface 206, an input device 207, a display device 208, And connection logic 209. The communication interface 205 is also connected to the network 210. Then, each component is connected by a bus 211. The first information processing device 1, the second information processing device 2, and the third information processing device 3 can be configured by appropriately selecting some or all of the components described in the computer device 200.

制御回路201は、コンピュータ装置200全体の制御をする。そして、制御回路201は、例えば、CPU(Central Processing Unit)、マルチコアCPU、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)などのプロセッサである。そして、制御回路201は、例えば、図5において、第1制御部10、第2制御部20、及び第3制御部40として機能する。 The control circuit 201 controls the entire computer device 200. The control circuit 201 is, for example, a processor such as a CPU (Central Processing Unit), a multi-core CPU, an FPGA (Field Programmable Gate Array), and a PLD (Programmable Logic Device). Then, the control circuit 201 functions as the first control unit 10, the second control unit 20, and the third control unit 40 in FIG. 5, for example.

記憶装置202は、各種データを記憶する。そして、記憶装置202は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)などのメモリや、HD(Hard Disk)などである。記憶装置202は、例えば、図5において、第1記憶部30と、第2記憶部50として機能する。そして、記憶装置202は、第1記憶部30として機能するとき、図5に示す、第1設定情報31と、第1鍵情報32とを記憶してもよい。また、記憶装置202は、第2記憶部50として機能するとき、図5に示す、第2設定情報51と、第2鍵情報52と、識別情報53と、データ情報54とを記憶しても良い。 The storage device 202 stores various data. The storage device 202 is, for example, a memory such as a ROM (Read Only Memory) and a RAM (Random Access Memory) or an HD (Hard Disk). The storage device 202 functions as the first storage unit 30 and the second storage unit 50 in FIG. 5, for example. When the storage device 202 functions as the first storage unit 30, the storage device 202 may store the first setting information 31 and the first key information 32 shown in FIG. Further, when the storage device 202 functions as the second storage unit 50, it may store the second setting information 51, the second key information 52, the identification information 53, and the data information 54 shown in FIG. good.

また、ROMは、ブートプログラムなどのプログラムを記憶している。RAMは、制御回路201のワークエリアとして使用される。HDは、OS、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。 Further, the ROM stores a program such as a boot program. The RAM is used as a work area for the control circuit 201. The HD stores an OS, application programs, programs such as firmware, and various data.

第1情報処理装置1の記憶装置202は、制御回路201を、第1取得部11と、第1カウント部12と、第1生成部13と、第1作成部14として機能させる鍵作成プログラムを記憶してもよい。また、第2情報処理装置2の記憶装置202は、第2取得部21と、第2作成部22と、暗号化部23として機能させる暗号化プログラムと、データ作成プログラムとを記憶してもよい。さらに、第3情報処理装置3の記憶装置202は、第2カウント部41と、第2生成部42と、第3作成部43と、復号部44として機能させる復号プログラムを記憶してもよい。また、第1情報処理装置1〜第3情報処理装置3の記憶装置202は、制御回路201を、第1制御部10と、第2制御部20と、第3制御部40として機能させる暗号処理プログラムを記憶してもよい。 The storage device 202 of the first information processing device 1 stores a key generation program that causes the control circuit 201 to function as the first acquisition unit 11, the first counting unit 12, the first generation unit 13, and the first generation unit 14. May be stored. Further, the storage device 202 of the second information processing device 2 may store the second acquisition unit 21, the second creation unit 22, the encryption program that functions as the encryption unit 23, and the data creation program. .. Furthermore, the storage device 202 of the third information processing device 3 may store a second count unit 41, a second generation unit 42, a third creation unit 43, and a decoding program that functions as the decoding unit 44. The storage device 202 of each of the first to third information processing devices 1 to 3 causes the control circuit 201 to function as the first control unit 10, the second control unit 20, and the third control unit 40. The program may be stored.

情報処理装置1〜情報処理装置3は、暗号処理をするとき、記憶装置202に記憶されたプログラムをRAMに読み出す。RAMに読み出されたプログラムを制御回路201で実行することにより、情報処理装置1〜情報処理装置3は、それぞれ取得処理と、カウント処理と、生成処理と、作成処理と、暗号化処理と、復号処理との1以上を含む暗号処理を実行する。 When performing the encryption process, the information processing device 1 to the information processing device 3 read the program stored in the storage device 202 into the RAM. By executing the program read in the RAM by the control circuit 201, each of the information processing device 1 to the information processing device 3 has an acquisition process, a count process, a generation process, a creation process, an encryption process, and An encryption process including one or more of the decryption process is executed.

なお、上述の各プログラムは、制御回路201が通信インターフェイス205を介してアクセス可能であれば、ネットワーク210上のサーバが有する記憶装置に記憶されていても良い。 Each program described above may be stored in a storage device included in a server on the network 210 as long as the control circuit 201 can access the communication interface 205.

読書装置203は、制御回路201に制御され、着脱可能な記録媒体204のデータのリード/ライトを行なう。そして、読書装置203は、例えば、FDD(Floppy Disk Drive)、CDD(Compact Disc Drive)、DVDD(Digital Versatile Disk Drive)、BDD(Blu−ray(登録商標) Disk Drive)およびUSB(Universal Serial Bus)などである。 The reading device 203 is controlled by the control circuit 201 and reads/writes data from/in the removable recording medium 204. The reading device 203 includes, for example, an FDD (Floppy Disk Drive), a CDD (Compact Disc Drive), a DVDD (Digital Versatile Disk Drive), a BDD (Blu-ray (registered trademark) Disk Diver Usive (USB), and a USB (USB)). And so on.

記録媒体204は、各種データを保存する。記録媒体204は、例えば、鍵作成プログラム、暗号化プログラム、復号プログラム、及び暗号処理プログラムのいずれか1以上を記憶する。さらに、記録媒体204は、図5に示す、第1設定情報31と、第1鍵情報32と、第2設定情報51と、第2鍵情報52と、識別情報53と、データ情報54とを記憶しても良い。 The recording medium 204 stores various data. The recording medium 204 stores, for example, one or more of a key creation program, an encryption program, a decryption program, and an encryption processing program. Further, the recording medium 204 includes the first setting information 31, the first key information 32, the second setting information 51, the second key information 52, the identification information 53, and the data information 54 shown in FIG. You may remember.

そして、記録媒体204は、読書装置203を介してバス211に接続され、制御回路201が読書装置203を制御することにより、データのリード/ライトが行なわれる。また、記録媒体204は、例えば、SDメモリーカード(SD Memory Card)、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu−ray(登録商標) Disk)、およびフラッシュメモリなどの非一時的記録媒体である。 Then, the recording medium 204 is connected to the bus 211 via the reading device 203, and the control circuit 201 controls the reading device 203 to read/write data. The recording medium 204 is, for example, an SD memory card (SD Memory Card), an FD (Floppy Disk), a CD (Compact Disc), a DVD (Digital Versatile Disk), a BD (Blu-ray (registered trademark) Disk), and It is a non-transitory recording medium such as a flash memory.

通信インターフェイス205は、ネットワーク210を介してコンピュータ装置200と他の装置とを通信可能に接続する。また、通信インターフェイス205は、無線LANの機能を有するインターフェイス、および近距離無線通信機能を有するインターフェイスを含んでも良い。そして、無線LANインターフェイスは、例えば、無線LAN規格として、Wi−Fi(登録商標)をサポートしても良い。近距離無線インターフェイスは、例えば、近距離無線通信規格として、Bluetooth(登録商標)をサポートしても良い。LANは、Local Area Networkの略である。 The communication interface 205 communicatively connects the computer device 200 and another device via the network 210. The communication interface 205 may include an interface having a wireless LAN function and an interface having a short-range wireless communication function. The wireless LAN interface may support Wi-Fi (registered trademark) as a wireless LAN standard, for example. The short-range wireless interface may support, for example, Bluetooth (registered trademark) as a short-range wireless communication standard. LAN is an abbreviation for Local Area Network.

入出力インターフェイス206は、例えば、キーボード、マウス、およびタッチパネルなどの入力装置207と接続され、接続された入力装置207から各種情報を示す信号が入力されると、バス211を介して入力された信号を制御回路201に出力する。また、入出力インターフェイス206は、制御回路201から出力された各種情報を示す信号がバス211を介して入力されると、接続された各種装置にその信号を出力する。入出力インターフェイス206は、例えば、ユーザによる生成元G、素数N、マスターキー、開発元ID及び秘密鍵Sの入力を受け付けても良い。入出力インターフェイス206は、制御回路201と共に動作することにより、例えば、図5において、第1取得部11、及び第2取得部21として機能する。
表示装置208は、各種情報を表示する。表示装置208は、タッチパネルでの入力を受け付けるための情報を表示しても良い。
The input/output interface 206 is connected to, for example, an input device 207 such as a keyboard, a mouse, and a touch panel. When a signal indicating various types of information is input from the connected input device 207, a signal input via the bus 211. Is output to the control circuit 201. Further, when the signal indicating various information output from the control circuit 201 is input via the bus 211, the input/output interface 206 outputs the signal to various connected devices. The input/output interface 206 may receive, for example, the input of the generator G, the prime number N, the master key, the developer ID, and the secret key S by the user. The input/output interface 206 functions as the first acquisition unit 11 and the second acquisition unit 21 in FIG. 5, for example, by operating together with the control circuit 201.
The display device 208 displays various information. The display device 208 may display information for accepting an input on the touch panel.

結線論理209は、例えば、ハードワイヤードで形成された論理メモリである。そして、結線論理209は、例えば、第3情報処理装置3に備えられ、素数Nと、マスターキーと、開発元IDとを格納する。結線論理209は、例えば、図5において、第2記憶部50に含まれる第1数値記憶部及び第2数値記憶部として機能する。素数Nと、マスターキーとは、例えば、第1数値記憶部に記憶される。また、開発元IDは、例えば、第2数値記憶部に記憶される。
ネットワーク210は、例えば、LAN、無線通信、またはインターネットなどであり、コンピュータ装置200と他の装置を通信接続する。
The connection logic 209 is, for example, a hard-wired logic memory. The connection logic 209 is provided in, for example, the third information processing device 3, and stores the prime number N, the master key, and the developer ID. The connection logic 209 functions, for example, in FIG. 5 as a first numerical value storage section and a second numerical value storage section included in the second storage section 50. The prime number N and the master key are stored in, for example, the first numerical value storage unit. The developer ID is stored in, for example, the second numerical value storage unit.
The network 210 is, for example, a LAN, wireless communication, or the Internet, and communicatively connects the computer device 200 and another device.

以上のように、鍵作成装置(第1情報処理装置1)及び復号装置(第3情報処理装置3)は、DH鍵交換において、開発元IDを用いて秘密鍵Pを生成する。また、鍵作成装置は、生成した秘密鍵Pを用いて、公開鍵Aを作成する。これにより、復号装置は、復号装置にハードワイヤードで記憶している開発元IDに対応する公開鍵Aではない、他の公開鍵を用いて作成された共通鍵で暗号化データを復号したとき、破損した画像データや起動できないプログラムデータを出力することになる。このとき、復号装置は、画像データやプログラムデータをまともに、表示及び実行できなくなる。暗号処理システム100では、設計元は、開発元IDに対応する公開鍵Aを含む開発環境と、開発元IDを記憶している復号装置とを各開発元に提供する。よって、第三者は、復号装置に対応する公開鍵Aを含む開発環境を手に入れることが困難である。したがって、第三者は、データを改ざんし、改ざんしたデータを記憶した不正な記憶装置を復号装置の記憶装置と差し替えても、復号装置にまともにデータを出力させることができない。以上により、鍵作成装置及び復号装置は、データの改ざんによる不正行為を防止することができる。 As described above, the key generation device (first information processing device 1) and the decryption device (third information processing device 3) generate the private key P using the developer ID in the DH key exchange. The key creation device also creates a public key A using the generated private key P. As a result, when the decryption device decrypts the encrypted data with the common key created using another public key, which is not the public key A corresponding to the developer ID stored in the decryption device as hardwired, Damaged image data and program data that cannot be started will be output. At this time, the decoding device cannot display and execute the image data and the program data properly. In the cryptographic processing system 100, the designer provides each developer with a development environment including the public key A corresponding to the developer ID, and a decryption device that stores the developer ID. Therefore, it is difficult for a third party to obtain a development environment including the public key A corresponding to the decryption device. Therefore, even if the third party falsifies the data and replaces the unauthorized storage device storing the falsified data with the storage device of the decryption device, the third party cannot cause the decryption device to properly output the data. As described above, the key generation device and the decryption device can prevent fraudulent acts due to falsification of data.

実施形態の鍵作成装置及び復号装置は、開発元IDと、マスターキーとを用いて秘密鍵Pを生成する。これにより、第三者は、マスターキーと、開発元IDとを知らないと、鍵作成装置及び復号装置で秘密鍵Pを生成するために使用されている暗号化アルゴリズムを知ったとしても、秘密鍵Pを生成することができない。したがって、鍵作成装置及び復号装置は、データの改ざんによる不正行為を防止することができる。 The key generation device and the decryption device according to the embodiment generate the secret key P using the developer ID and the master key. By this, if the third party does not know the master key and the developer ID, the secret is generated even if the third party knows the encryption algorithm used for generating the secret key P in the key generation device and the decryption device. The key P cannot be generated. Therefore, the key generation device and the decryption device can prevent fraudulent acts due to falsification of data.

実施形態の鍵作成装置及び復号装置は、暗号論的擬似乱数生成器(CSPRNG)を含み、暗号論的擬似乱数生成器を用いて秘密鍵Pを生成する。したがって、鍵作成装置及び復号装置は、暗号論的に適した秘密鍵Pを生成することができる。 The key generation device and the decryption device of the embodiment include a cryptographic pseudo-random number generator (CSPRNG), and generate the secret key P using the cryptographic pseudo-random number generator. Therefore, the key generation device and the decryption device can generate the secret key P that is cryptographically suitable.

鍵作成装置及び復号装置は、例えば、マスターキーと指定数の各カウント値とを組み合わせた指定数の組合値Cを、それぞれ暗号化処理した暗号化組合値CCを連結することにより秘密鍵Pを作成している。また、安全なブロック暗号アルゴリズムを用いたCTRモードで、平文とXORする前のデータはCSPRNGと呼んで差し支えない性質を持つことがわかっている。したがって、鍵作成装置及び復号装置は、暗号論的に適した秘密鍵Pを生成することができる。 The key creation device and the decryption device, for example, concatenate the specified number of combination values C obtained by combining the master key and the specified number of count values with each other, and concatenate the encrypted combination value CC to obtain the secret key P. Creating. Further, in the CTR mode using a secure block cipher algorithm, it is known that the data before XORing with plaintext has a property called CSPRNG. Therefore, the key generation device and the decryption device can generate the secret key P that is cryptographically suitable.

実施形態の鍵作成装置及び復号装置は、カウンタにより、秘密鍵Pのビット数を暗号化組合値CCのビット数で除算した指定数Dをカウントし、そのカウント値とマスターキーとを組み合わせた指定数Dの組合値Cを用いて暗号化組合値CCを生成する。そして、鍵作成装置及び復号装置は、指定数の暗号化組合値CCを連結することで秘密鍵Pを生成している。これにより、復号装置は、ハードワイヤードでの記憶が困難である長いビット数の秘密鍵Pに代えて、短いビット数であるマスターキー、開発元IDと、素数Nとをハードワイヤードで記憶すればよいため、製造コストを削減することができる。 In the key generation device and the decryption device of the embodiment, the counter counts a designated number D obtained by dividing the number of bits of the secret key P by the number of bits of the encrypted combination value CC, and designates a combination of the count value and the master key. The encrypted combination value CC is generated using the combination value C of the number D. Then, the key generation device and the decryption device generate the secret key P by concatenating the specified number of encrypted combination values CC. As a result, the decryption apparatus may store the master key, the developer ID, and the prime number N, which are short bit numbers, in a hard wired manner, instead of the secret key P having a long bit number, which is difficult to store in a hard wired manner. Since it is good, the manufacturing cost can be reduced.

実施形態の復号装置は、マスターキー及び素数Nを、復号装置に含まれる集積回路上の第1結線論理を用いて数値を記憶する。集積回路は、マスターキー及び素数Nを記憶したあとにパッケージングされるので、第三者による、マスターキーの取得を困難にしている。したがって、復号装置は、データの改ざんによる不正行為を防止することができる。 The decryption device of the embodiment stores the master key and the prime number N by using the first connection logic on the integrated circuit included in the decryption device. Since the integrated circuit is packaged after storing the master key and the prime number N, it is difficult for a third party to obtain the master key. Therefore, the decryption device can prevent fraudulent acts due to falsification of data.

実施形態の復号装置は、復号装置に含まれる集積回路を実装する基板上の第2結線論理を用いて数値を記憶する。基板は、筐体の内部に固定されているので、開発元IDを得るために基板の配線を確認しようとするとき、筐体を開いて確認する必要がある。これにより、復号装置は、第三者による、開発元IDの取得を困難にしている。したがって、復号装置は、開発元IDの不正な書き換えを抑制することができる。 The decoding device of the embodiment stores the numerical value by using the second connection logic on the board on which the integrated circuit included in the decoding device is mounted. Since the board is fixed inside the housing, it is necessary to open the housing to check the wiring of the board to obtain the developer ID. As a result, the decryption device makes it difficult for a third party to obtain the developer ID. Therefore, the decryption device can prevent unauthorized rewriting of the developer ID.

実施形態の復号装置は、マスターキー及び素数Nを、第1結線論理に記憶し、開発元IDを、第2結線論理で記憶する。マスターキー及び素数Nは、集積回路内の第1結線論理に記憶されるので低コストである。また、開発元IDは、ビット数が多くある必要がないので、基板上の第2結線論理に記憶しても低コストを実現できる。これにより、復号装置は、ビット数の多いマスターキー及び素数Nを集積回路内の配線によるハードワイヤードで設定し、ビット数の少ない開発者IDを実装面積の大きな基板上のヒューズ又はピンにより設定して実装面積を小さくすることができる。 The decryption device according to the embodiment stores the master key and the prime number N in the first connection logic, and stores the developer ID in the second connection logic. The master key and prime number N are low cost because they are stored in the first wire logic in the integrated circuit. Further, since the developer ID does not need to have a large number of bits, low cost can be realized even if it is stored in the second connection logic on the board. As a result, the decryption device sets the master key having a large number of bits and the prime number N by hard-wiring by wiring in the integrated circuit, and sets the developer ID having a small number of bits by a fuse or pin on a board having a large mounting area. The mounting area can be reduced.

実施形態の復号装置は、開発元IDを、基板上の第2結線論理に記憶する。第2結線論理は、例えば、基板上でピンの短絡と開放とを選択することで、開発元IDを設定する構成にすることができる。これにより、復号装置は、設計元から開発元へ基板を提供する際の、開発元IDの設定を容易にすることができる。 The decoding device of the embodiment stores the developer ID in the second connection logic on the board. The second connection logic can be configured to set the developer ID, for example, by selecting shorting and opening of the pin on the board. Thereby, the decoding device can easily set the developer ID when the board is provided from the designer to the developer.

実施形態の暗号化装置は、開発元IDを用いて生成された秘密鍵Pを用いて作成された公開鍵Aと、秘密鍵Sとを取得する。そして、暗号化装置は、公開鍵Aと、秘密鍵Sとを用いて共通鍵DHを作成し、作成した共通鍵DHでデータを暗号化した暗号化データを復号装置の記憶装置に格納する。これにより、暗号化装置は、公開鍵Aに対応する開発元IDを格納した復号装置のみに、暗号化データから元のデータを復号させることができる。したがって、暗号化装置は、データの改ざんによる不正行為を防止することができる。 The encryption device of the embodiment acquires the public key A and the secret key S created by using the secret key P generated by using the developer ID. Then, the encryption device creates the common key DH using the public key A and the secret key S, and stores the encrypted data obtained by encrypting the data with the created common key DH in the storage device of the decryption device. As a result, the encryption device can cause only the decryption device that stores the developer ID corresponding to the public key A to decrypt the original data from the encrypted data. Therefore, the encryption device can prevent fraudulent acts due to falsification of data.

なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。 It should be noted that the present embodiment is not limited to the above-described embodiments, and various configurations or embodiments can be adopted without departing from the gist of the present embodiment.

1 第1情報処理装置
2 第2情報処理装置
3 第3情報処理装置
10 第1制御部
20 第2制御部
30 第1記憶部
40 第3制御部
50 第2記憶部
100、300 暗号処理システム
200 コンピュータ装置
201 制御回路
202 記憶装置
203 読書装置
204 記録媒体
205 通信I/F
206 入出力I/F
207 入力装置
208 表示装置
209 結線論理
210 ネットワーク
211 バス






1 1st information processing apparatus 2 2nd information processing apparatus 3 3rd information processing apparatus 10 1st control part 20 2nd control part 30 1st storage part 40 3rd control part 50 2nd storage part 100,300 Cryptographic processing system 200 Computer device 201 Control circuit 202 Storage device 203 Reading device 204 Recording medium 205 Communication I/F
206 Input/output I/F
207 Input device 208 Display device 209 Connection logic 210 Network 211 Bus






Claims (9)

第1情報処理装置と、第2情報処理装置と、第3情報処理装置とを備える暗号処理システムであって、
データ作成プログラムと前記第3情報処理装置とを提供する設計元で用いられる前記第1情報処理装置は、
前記設計元が設定した開発元を識別する開発元識別子を用いて第1秘密鍵を生成する第1生成部と、
前記第1秘密鍵を用いて第1公開鍵を作成する第1作成部と、
前記第1公開鍵を前記データ作成プログラムに付与する処理を実行する第1処理部と、
を備え、
前記設計元から提供される前記データ作成プログラムを実行する、前記開発元で用いられる前記第2情報処理装置は、
前記データ作成プログラムに付与された第1公開鍵と、前記開発元が設定した第2秘密鍵とを取得する取得部と、
前記第1公開鍵と前記第2秘密鍵とを用いた共通鍵の作成と、前記第2秘密鍵を用いた第2公開鍵の作成とを実行する第2作成部と、
前記データ作成プログラムで作成されたデータを、前記共通鍵を用いて暗号化する暗号化部と、
前記第2作成部により作成された前記第2公開鍵と、前記暗号化部により暗号化された暗号化データとを前記第3情報処理装置に接続される記憶装置に記憶する処理を実行する第2処理部と、
を備え、
客に提供される前記第3情報処理装置は、
前記設計元で設定された前記開発元識別子を記憶する記憶部と、
前記記憶装置と接続される接続部と、
前記記憶部に記憶された前記開発元識別子を用いて前記第1秘密鍵を生成する第2生成部と、
前記記憶装置に記憶された前記第2公開鍵と、前記生成部により生成された前記第1秘密鍵とを用いて前記共通鍵を作成する第3作成部と、
前記共通鍵を用いて前記記憶装置に記憶された前記暗号化データを復号する復号部と、
を備えることを特徴とする暗号処理システム。
A cryptographic processing system including a first information processing device, a second information processing device, and a third information processing device,
The first information processing device used by the designer who provides the data creation program and the third information processing device,
A first generator for generating a first secret key using a developer identifier identifying the open Hatsumoto said design source is set,
A first creating unit that creates a first public key using the first secret key;
A first processing unit that executes a process of adding the first public key to the data creation program;
Equipped with
The second information processing device used by the developer, which executes the data creation program provided by the designer,
An acquisition unit that acquires the first public key given to the data creation program and the second secret key set by the developer.
A second creating unit that creates a common key using the first public key and the second secret key and a second public key using the second secret key;
An encryption unit that encrypts the data created by the data creation program using the common key;
Executing a process of storing the second public key created by the second creating unit and the encrypted data encrypted by the encrypting unit in a storage device connected to the third information processing device; 2 processing units,
Equipped with
Wherein is provided to customers third information processing apparatus,
A storage unit that stores the developer identifier set by the designer,
A connection unit connected to the storage device;
A second generation unit that generates the first secret key using the developer identifier stored in the storage unit;
A third creating unit that creates the common key using the second public key stored in the storage device and the first secret key generated by the generating unit;
A decryption unit that decrypts the encrypted data stored in the storage device using the common key;
A cryptographic processing system comprising:
前記第3情報処理装置は、
前記第1公開鍵が付与された前記データ作成プログラムとともに、前記設計元から前記開発元へ提供され、前記記憶装置とともに前記開発元から前記顧客に提供される情報処理装置である
ことを特徴とする請求項1に記載の暗号処理システム。
The third information processing device,
An information processing apparatus that is provided from the design source to the developer together with the data creation program to which the first public key is added, and is provided to the customer from the developer together with the storage device. The cryptographic processing system according to claim 1.
前記第1生成部は、
前記設計元で設定したマスターキーと、前記開発元識別子とを用いて前記第1秘密鍵を生成し、
前記記憶部は、さらに、
前記設計元で設定された前記マスターキーを記憶し、
前記第2生成部は、
前記記憶部に記憶されている前記マスターキーと、前記開発元識別子とを用いて前記第1秘密鍵を生成する
ことを特徴とする請求項1または2に記載の暗号処理システム。
The first generation unit,
Generating the first secret key using the master key set by the designer and the developer identifier;
The storage unit further includes
Memorize the master key set in the design source,
The second generator is
The cryptographic processing system according to claim 1, wherein the first secret key is generated using the master key stored in the storage unit and the developer identifier.
前記第1生成部は、
前記開発元識別子を暗号鍵に用いて前記マスターキーを含む値を暗号化することにより前記第1秘密鍵を生成し、
前記第2生成部は、
前記第1生成部と同じ暗号化処理を用いて前記第1秘密鍵を生成する
ことを特徴とする請求項3に記載の暗号処理システム。
The first generation unit,
Generating the first secret key by encrypting a value including the master key using the developer identifier as an encryption key,
The second generator is
The cryptographic processing system according to claim 3, wherein the first secret key is generated using the same encryption processing as that of the first generation unit.
前記記憶部は、
耐タンパ性を有する記憶領域を有し、
前記第1処理部は、
前記開発者識別子を、前記耐タンパ性を有する記憶領域に記憶する
ことを特徴とする請求項1から4のいずれか一つに記載の暗号処理システム。
The storage unit is
It has a memory area with tamper resistance,
The first processing unit,
The encryption processing system according to any one of claims 1 to 4, wherein the developer identifier is stored in the storage area having tamper resistance.
前記記憶部は、
耐タンパ性を有する記憶領域を有し、
前記第1処理部は、
前記マスターキーと前記開発者識別子とを前記耐タンパ性を有する記憶領域に記憶する
ことを特徴とする請求項3または4に記載の暗号処理システム。
The storage unit is
It has a memory area with tamper resistance,
The first processing unit,
The cryptographic processing system according to claim 3, wherein the master key and the developer identifier are stored in the tamper-resistant storage area.
前記第3情報処理装置は、
前記顧客が有する遊技機で用いられる画像処理装置であり、
前記第1情報処理装置は、
前記画像処理装置を設計する前記設計元で用いられるコンピュータ装置であり、
前記第2情報処理装置は、
前記開発元で用いられる前記記憶装置に記憶する暗号化データを生成するコンピュータ装置である
ことを特徴とする請求項1から6のいずれか一つに記載の暗号処理システム。
The third information processing device,
An image processing device used in the game machine owned by the customer,
The first information processing device,
A computer device used in the design source for designing the image processing device,
The second information processing device,
The encryption processing system according to claim 1, wherein the encryption processing system is a computer device that generates encrypted data to be stored in the storage device used by the developer.
第1情報処理装置と、第2情報処理装置と、第3情報処理装置とを備える暗号処理システムにより実行される暗号処理方法であって、
データ作成プログラムと前記第3情報処理装置とを提供する設計元で用いられる前記第1情報処理装置は、
前記設計元が設定した開発元を識別する開発元識別子を用いて第1秘密鍵を生成し、
前記第1秘密鍵を用いて第1公開鍵を作成し、
前記第1公開鍵を前記データ作成プログラムに付与し、
前記設計元から提供される前記データ作成プログラムを実行する、前記開発元で用いられる前記第2情報処理装置は、
前記データ作成プログラムに付与された第1公開鍵と、前記開発元が設定した第2秘密鍵とを取得し、
前記第1公開鍵と前記第2秘密鍵とを用いた共通鍵の作成と、前記第2秘密鍵を用いた第2公開鍵の作成とを実行し、
前記データ作成プログラムで作成されたデータを、前記共通鍵を用いて暗号化し、
前記作成した前記第2公開鍵と、前記暗号化した暗号化データとを前記第3情報処理装置に接続される記憶装置に記憶し、
前記設計元で設定された前記開発元識別子を記憶する記憶部と、前記記憶装置と接続される接続部とを備える、顧客に提供される前記第3情報処理装置は、
前記記憶部に記憶された前記開発元識別子を用いて前記第1秘密鍵を生成し、
前記記憶装置に記憶された前記第2公開鍵と、前記生成した前記第1秘密鍵とを用いて前記共通鍵を作成し、
前記共通鍵を用いて前記記憶装置に記憶された前記暗号化データを復号する
ことを特徴とする暗号処理方法。
A cryptographic processing method executed by a cryptographic processing system including a first information processing device, a second information processing device, and a third information processing device,
The first information processing device used by the designer who provides the data creation program and the third information processing device,
It generates the first secret key using the developer identifier identifying the open Hatsumoto said design source is set,
Creating a first public key using the first private key,
Assigning the first public key to the data creation program,
The second information processing device used by the developer, which executes the data creation program provided by the designer,
Obtaining a first public key given to the data creation program and a second secret key set by the developer,
Creating a common key using the first public key and the second secret key and creating a second public key using the second secret key;
The data created by the data creation program is encrypted using the common key,
Storing the created second public key and the encrypted encrypted data in a storage device connected to the third information processing device;
A storage unit that stores the developer identifier set by the design source and a connection portion connected to the storage device, the third information processing apparatus to be provided to customers is
Generating the first secret key using the developer identifier stored in the storage unit,
Creating the common key using the second public key stored in the storage device and the generated first secret key;
An encryption processing method, comprising: decrypting the encrypted data stored in the storage device using the common key.
第1情報処理装置のプロセッサと、第2情報処理装置のプロセッサと、第3情報処理装置のプロセッサとに実行させる暗号処理プログラムであって、
データ作成プログラムと前記第3情報処理装置とを提供する設計元で用いられる前記第1情報処理装置のプロセッサに、
前記設計元が設定した開発元を識別する開発元識別子を用いて第1秘密鍵を生成し、
前記第1秘密鍵を用いて第1公開鍵を作成し、
前記第1公開鍵を前記データ作成プログラムに付与する
処理を実行させ、
前記設計元から提供される前記データ作成プログラムを実行する、前記開発元で用いられる前記第2情報処理装置のプロセッサに、
前記データ作成プログラムに付与された第1公開鍵と、前記開発元が設定した第2秘密鍵とを取得し、
前記第1公開鍵と前記第2秘密鍵とを用いた共通鍵の作成と、前記第2秘密鍵を用いた第2公開鍵の作成とを実行し、
前記データ作成プログラムで作成されたデータを、前記共通鍵を用いて暗号化し、
前記作成した前記第2公開鍵と、前記暗号化した暗号化データとを前記第3情報処理装置に接続される記憶装置に記憶する
処理を実行させ、
前記設計元で設定された前記開発元識別子を記憶する記憶部と、前記記憶装置と接続される接続部とを備える、顧客に提供される前記第3情報処理装置のプロセッサに、
前記記憶部に記憶された前記開発元識別子を用いて前記第1秘密鍵を生成し、
前記記憶装置に記憶された前記第2公開鍵と、前記生成した前記第1秘密鍵とを用いて前記共通鍵を作成し、
前記共通鍵を用いて前記記憶装置に記憶された前記暗号化データを復号する
処理を実行させることを特徴とする暗号処理プログラム。
A cryptographic processing program executed by the processor of the first information processing device, the processor of the second information processing device, and the processor of the third information processing device,
In the processor of the first information processing device used by the designer who provides the data creation program and the third information processing device,
It generates the first secret key using the developer identifier identifying the open Hatsumoto said design source is set,
Creating a first public key using the first private key,
Execute a process of assigning the first public key to the data creation program,
A processor of the second information processing device used by the developer, which executes the data creation program provided by the designer,
Obtaining a first public key given to the data creation program and a second secret key set by the developer,
Creating a common key using the first public key and the second secret key, and creating a second public key using the second secret key,
The data created by the data creation program is encrypted using the common key,
A process of storing the created second public key and the encrypted data in a storage device connected to the third information processing device,
A storage unit that stores the developer identifier set by the design source and a connection portion connected to the storage device, the processor of the third information processing apparatus that is provided to the customer,
Generating the first secret key using the developer identifier stored in the storage unit,
Creating the common key using the second public key stored in the storage device and the generated first secret key;
A cryptographic processing program for executing a process of decrypting the encrypted data stored in the storage device using the common key.
JP2019127351A 2019-07-09 2019-07-09 Cryptographic processing system, cryptographic processing method, and cryptographic processing program Active JP6719789B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019127351A JP6719789B2 (en) 2019-07-09 2019-07-09 Cryptographic processing system, cryptographic processing method, and cryptographic processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019127351A JP6719789B2 (en) 2019-07-09 2019-07-09 Cryptographic processing system, cryptographic processing method, and cryptographic processing program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017066804A Division JP2018170642A (en) 2017-03-30 2017-03-30 Decryption device, key generation device, encryption device, encryption processing system, decryption method, and decryption program

Publications (2)

Publication Number Publication Date
JP2019165518A JP2019165518A (en) 2019-09-26
JP6719789B2 true JP6719789B2 (en) 2020-07-08

Family

ID=68066248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019127351A Active JP6719789B2 (en) 2019-07-09 2019-07-09 Cryptographic processing system, cryptographic processing method, and cryptographic processing program

Country Status (1)

Country Link
JP (1) JP6719789B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2956709B2 (en) * 1990-11-26 1999-10-04 松下電器産業 株式会社 Public key generation method and apparatus
US7835520B2 (en) * 2003-02-20 2010-11-16 Zoran Corporation Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders
US7602910B2 (en) * 2004-11-17 2009-10-13 Microsoft Corporation Password protection
JP2013223599A (en) * 2012-04-20 2013-10-31 Akuseru:Kk Image information processing device and image information processing method
JP6503242B2 (en) * 2015-06-26 2019-04-17 ルネサスエレクトロニクス株式会社 Apparatus, system and method for providing data security and program for causing a computer to execute the method

Also Published As

Publication number Publication date
JP2019165518A (en) 2019-09-26

Similar Documents

Publication Publication Date Title
JP6538908B2 (en) Security system using entropy bit
US9686248B2 (en) Secure shared key sharing systems and methods
TWI483139B (en) Secure key storage using physically unclonable functions
JP5984625B2 (en) Semiconductor device and encryption key writing method
JP5339237B2 (en) Encryption key generation using stored input value and stored count value
CN103003824B (en) Storage device and the method for the content file of Partial encryption are provided to main process equipment
KR101546204B1 (en) Host device, semiconductor memory device, and authentication method
US8769312B2 (en) Tampering monitoring system, protection control module, and detection module
JP5411282B2 (en) Information processing apparatus, management apparatus, illegal module detection system, illegal module detection method, recording medium recording illegal module detection program, management method, recording medium recording management program, and integrated circuit
JP5793709B2 (en) Key implementation system
US10771062B1 (en) Systems and methods for enhancing confidentiality via logic gate encryption
CN103562922A (en) Establishing unique key during chip manufacturing
CN101448127B (en) Secure information storage system and method
CN103718185A (en) Authenticator, authenticatee and authentication method
WO2020075396A1 (en) Inference device, inference method, and inference program
JP4372061B2 (en) Confidential information implementation system and LSI
KR20180022800A (en) Security programming of secret data
JP6719789B2 (en) Cryptographic processing system, cryptographic processing method, and cryptographic processing program
CN110932853A (en) Key management device and key management method based on trusted module
JP2018170642A (en) Decryption device, key generation device, encryption device, encryption processing system, decryption method, and decryption program
CN106529322A (en) Automatic storage security
TWI592828B (en) En/decryption device of portable storage device and en/decryption method of the same
JP6717730B2 (en) Terminal device, key providing system, key providing method, and computer program
WO2021240542A1 (en) Systems and methods for tabulation of data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200513

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: 20200609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200610

R150 Certificate of patent or registration of utility model

Ref document number: 6719789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250