JP2017108293A - Semiconductor integrated circuit device and data processing apparatus - Google Patents

Semiconductor integrated circuit device and data processing apparatus Download PDF

Info

Publication number
JP2017108293A
JP2017108293A JP2015240790A JP2015240790A JP2017108293A JP 2017108293 A JP2017108293 A JP 2017108293A JP 2015240790 A JP2015240790 A JP 2015240790A JP 2015240790 A JP2015240790 A JP 2015240790A JP 2017108293 A JP2017108293 A JP 2017108293A
Authority
JP
Japan
Prior art keywords
encryption key
data
key
encrypted
semiconductor integrated
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.)
Pending
Application number
JP2015240790A
Other languages
Japanese (ja)
Inventor
浅利 信介
Shinsuke Asari
信介 浅利
束 余保
Tsukasa Yoho
束 余保
宮内 成典
Shigenori Miyauchi
成典 宮内
幸治 大坂
Koji Osaka
幸治 大坂
裕貴 朝倉
Yuki Asakura
裕貴 朝倉
茂 古田
Shigeru Furuta
茂 古田
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2015240790A priority Critical patent/JP2017108293A/en
Publication of JP2017108293A publication Critical patent/JP2017108293A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce the load required for managing a nonvolatile memory for storing secret data that are encrypted by a device specific key of a connected LSI.SOLUTION: The present invention relates to an LSI comprising: a cryptographic arithmetic circuit holding a device specific key and a common key and capable of executing encryption/decryption using the device specific key and decryption using the common key; and an interface between a processor that is an example of a circuit to use the secret data, and an external nonvolatile memory. The LSI is configured as follows. Namely, when the LSI and the nonvolatile memory are connected, the cryptographic arithmetic circuit performs activation processing by which data encrypted using the common key are decrypted using the common key and the data are then encrypted using the device specific key and written into the nonvolatile memory. After the activation processing, the encrypted data are read out of the nonvolatile memory, and the data are decrypted using the device specific key and supplied to the processor by the cryptographic arithmetic circuit.SELECTED DRAWING: Figure 1

Description

本発明は、半導体集積回路装置およびデータ処理装置に関し、特に、使用するデータが暗号化され格納された不揮発性メモリが接続される半導体集積回路装置およびそれらを備えるデータ処理装置に好適に利用できるものである。   The present invention relates to a semiconductor integrated circuit device and a data processing device, and more particularly to a semiconductor integrated circuit device to which a nonvolatile memory in which data to be used is encrypted and stored is connected, and a data processing device including them. It is.

マイクロコントローラなどのLSI(Large Scale Integrated circuit)で利用されるデータ(プログラムコードを含む)の秘匿性を担保するためには、そのデータを暗号化してそのLSIに接続される不揮発性メモリに格納しておき、LSIは暗号化されたデータを読み出して復号してから利用する。   In order to ensure the confidentiality of data (including program code) used in LSIs (Large Scale Integrated circuits) such as microcontrollers, the data is encrypted and stored in a non-volatile memory connected to the LSI. The LSI reads the encrypted data and decrypts it before use.

特許文献1には、予め暗号化されたプログラムを読み込み、それを復号して実行する、プログラム処理系を備えるシステムが開示されている。このシステムは、暗号化を行う送信側と、復号してプログラム処理を行なう受信側とを備える。送信側では第1の暗号鍵セットのうちの暗号鍵を使ってプログラムを暗号化し、第2の暗号鍵セットの暗号鍵を使って第1の暗号鍵セットの復号鍵を暗号化して受信側に供給する。受信側は第2の暗号鍵セットの復号鍵を使って第1の暗号鍵セットの復号鍵を復号し、復号された第1の暗号鍵セットの復号鍵を使って暗号化されたプログラムを復号して実行する。これにより、プログラムの秘匿性は担保される。   Patent Document 1 discloses a system including a program processing system that reads a previously encrypted program, decrypts the program, and executes the program. This system includes a transmission side that performs encryption and a reception side that performs decryption and program processing. On the transmission side, the program is encrypted using the encryption key of the first encryption key set, and the decryption key of the first encryption key set is encrypted using the encryption key of the second encryption key set. Supply. The receiving side decrypts the decryption key of the first encryption key set using the decryption key of the second encryption key set, and decrypts the encrypted program using the decryption key of the decrypted first encryption key set And run. Thereby, the confidentiality of a program is ensured.

特開2005−275694号公報JP 2005-275694 A

特許文献1について本発明者が検討した結果、以下のような新たな課題があることがわかった。   As a result of examination of the patent document 1 by the present inventors, it has been found that there are the following new problems.

LSIで利用されるデータの秘匿性を担保するためには、当該LSIに固有の暗号鍵、所謂デバイス固有鍵を使用すると、極めて高い安全性を担保することができる。デバイス固有鍵は、そのLSIが出荷されるときに外部から書き込まれるか、或いは、内部で生成されて保持される。LSIで利用されるデータを外付けされる不揮発性メモリに格納する場合には、そのデータをそのLSIに固有のデバイス固有鍵を使って暗号化することにより、暗号化されたデータを他のデバイスでは復号することができないので、データの秘匿性を担保することができる。   In order to ensure the confidentiality of data used in an LSI, extremely high security can be ensured by using an encryption key unique to the LSI, a so-called device unique key. The device unique key is written from the outside when the LSI is shipped, or is generated and held internally. When data used in an LSI is stored in an external non-volatile memory, the encrypted data is encrypted with another device by using a device unique key unique to the LSI. In this case, since the data cannot be decrypted, the confidentiality of the data can be ensured.

そのためには、LSIでの復号処理に使われるデバイス固有鍵と同じ共通鍵または対応する暗号鍵(公開鍵)を使って、不揮発性メモリに書き込むデータを暗号化する必要がある。即ち、不揮発性メモリに書き込むデータを、接続されるLSIに固有のデバイス固有鍵で復号することができるように暗号化するためには、接続されるLSIが個体として特定されている必要がある。したがって、1個のLSIに固有のデバイス固有鍵を使用するLSIと、そのLSIで使用するために当該LSIに固有のデバイス固有鍵で暗号化されたデータを格納された不揮発性メモリとは、暗号化されたデータが生成されてから、互いに対応するLSIと不揮発性メモリとが実装されて接続されるまでの間、一対で管理される必要がある。   For this purpose, it is necessary to encrypt the data to be written in the nonvolatile memory using the same common key as the device unique key used for the decryption processing in the LSI or the corresponding encryption key (public key). That is, in order to encrypt data to be written in the nonvolatile memory so that it can be decrypted with a device unique key unique to the connected LSI, the connected LSI needs to be specified as an individual. Therefore, an LSI that uses a device unique key unique to one LSI and a non-volatile memory that stores data encrypted with a device unique key unique to that LSI for use in that LSI are encrypted. It is necessary to manage one pair from the generation of the converted data until the LSI and the non-volatile memory corresponding to each other are mounted and connected.

ところが、データを暗号化し不揮発性メモリへの書込みを行う業者と、LSIと不揮発性メモリを1つの装置に実装する業者が、LSIの製造業者と異なる場合が多い。そのような場合には、デバイス固有鍵の管理と不揮発性メモリの管理が極めて煩雑となり、管理負担が著しく重くなるという問題があることがわかった。   However, there are many cases where a vendor that encrypts data and writes the data in the nonvolatile memory and a vendor that mounts the LSI and the nonvolatile memory in one device are different from the LSI manufacturer. In such a case, it has been found that the management of the device unique key and the management of the non-volatile memory become extremely complicated, and the management burden becomes extremely heavy.

このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。   Means for solving such problems will be described below, but other problems and novel features will become apparent from the description of the present specification and the accompanying drawings.

一実施の形態によれば、下記の通りである。   According to one embodiment, it is as follows.

すなわち、暗号演算回路と、秘密データを使用する回路と、外付けされる不揮発性メモリとのインターフェース回路とを有する半導体集積回路装置(LSI)であって、以下のように構成される。   That is, a semiconductor integrated circuit device (LSI) having a cryptographic operation circuit, a circuit that uses secret data, and an interface circuit with an external nonvolatile memory is configured as follows.

暗号演算回路は、第1暗号鍵を用いた復号と、当該半導体集積回路装置自身に固有のデバイス固有鍵である第2暗号鍵を用いた暗号化及び復号と、を実行可能である。   The cryptographic operation circuit can execute decryption using the first encryption key and encryption and decryption using the second encryption key that is a device unique key unique to the semiconductor integrated circuit device itself.

LSIと不揮発性メモリが接続されたときに、暗号演算回路は、第1暗号鍵またはそれと対をなす暗号鍵を用いて暗号化されている秘密データを、その第1暗号鍵を用いて復号した後に、デバイス固有鍵である第2暗号鍵を用いて暗号化して、インターフェースを介して不揮発性メモリに書き込む、活性化処理を行なう。   When the LSI and the non-volatile memory are connected, the cryptographic operation circuit decrypts the secret data encrypted using the first encryption key or the encryption key paired with the first encryption key using the first encryption key. Thereafter, an activation process is performed in which the second encryption key, which is a device unique key, is encrypted and written to the nonvolatile memory via the interface.

活性化処理の後、インターフェース回路を介して不揮発性メモリから暗号化された秘密データを読出し、暗号演算回路は、デバイス固有鍵である第2暗号鍵またはそれと対をなす復号鍵を用いて復号して秘密データを使用する回路に供給する。   After the activation process, the secret data encrypted from the non-volatile memory is read out through the interface circuit, and the cryptographic operation circuit decrypts it using the second encryption key which is a device unique key or a decryption key paired therewith. And supply it to the circuit that uses the secret data.

前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。   The effect obtained by the one embodiment will be briefly described as follows.

すなわち、半導体集積回路装置(LSI)に固有のデバイス固有鍵(第2暗号鍵)で暗号化された秘密データを、その秘密データが格納される不揮発性メモリがLSIに接続された後に書き込むことができ、当該不揮発性メモリの管理に要する負荷を軽減することができる。   That is, the secret data encrypted with the device unique key (second encryption key) unique to the semiconductor integrated circuit device (LSI) is written after the nonvolatile memory storing the secret data is connected to the LSI. It is possible to reduce the load required for management of the nonvolatile memory.

図1は、代表的な一実施の形態(実施形態1)に係るLSI及びそのLSIと不揮発性メモリを備えるデータ処理装置の構成例を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration example of an LSI according to a typical embodiment (Embodiment 1) and a data processing apparatus including the LSI and a nonvolatile memory. 図2は、実施形態2に係るLSI及びそのLSIと不揮発性メモリを備えるデータ処理装置の構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of an LSI according to the second embodiment and a data processing apparatus including the LSI and a nonvolatile memory. 図3は、実施形態2に係るデータ処理装置における活性化処理(セキュリティサイト側)の一例を示すフローチャートである。FIG. 3 is a flowchart showing an example of the activation process (security site side) in the data processing apparatus according to the second embodiment. 図4は、実施形態2に係るデータ処理装置における活性化処理(組み立て工場側)の一例を示すフローチャートである。FIG. 4 is a flowchart illustrating an example of the activation process (on the assembly factory side) in the data processing apparatus according to the second embodiment. 図5は、実施形態2に係るデータ処理装置に顧客秘密データをインストールする処理全体の概要を模式的に示す説明図である。FIG. 5 is an explanatory diagram schematically showing an overview of the entire process of installing customer secret data in the data processing apparatus according to the second embodiment. 図6は、実施形態2に係るデータ処理装置に顧客秘密データをインストールする処理全体の中の顧客サーバー側処理の一例を示すフローチャートである。FIG. 6 is a flowchart illustrating an example of a customer server-side process in the entire process of installing customer secret data in the data processing apparatus according to the second embodiment. 図7は、実施形態2に係るデータ処理装置に顧客秘密データをインストールする処理全体の中のセキュリティサイト側処理の一例を示すフローチャートである。FIG. 7 is a flowchart illustrating an example of a security site side process in the entire process of installing customer secret data in the data processing apparatus according to the second embodiment. 図8は、実施形態2に係るデータ処理装置に顧客秘密データをインストールする処理全体の中の書き込み処理の一例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of a writing process in the entire process of installing customer secret data in the data processing apparatus according to the second embodiment. 図9は、実施形態2に係るデータ処理装置に顧客秘密データをインストールする処理全体の中の活性化処理の一例を示すフローチャートである。FIG. 9 is a flowchart illustrating an example of an activation process in the entire process of installing customer secret data in the data processing apparatus according to the second embodiment. 図10は、実施形態2に係るデータ処理装置のハードウェアの一構成例を示すブロック図である。FIG. 10 is a block diagram illustrating a configuration example of hardware of the data processing apparatus according to the second embodiment. 図11は、実施形態2に係るデータ処理装置のハードウェアの別の構成例を示すブロック図である。FIG. 11 is a block diagram illustrating another configuration example of hardware of the data processing device according to the second embodiment. 図12は、実施形態3に係るデータ処理装置に顧客秘密データをインストールする処理全体の概要を模式的に示す説明図である。FIG. 12 is an explanatory diagram schematically showing an overview of the entire process of installing customer secret data in the data processing apparatus according to the third embodiment. 図13は、実施形態3に係るLSI及びそのLSIと不揮発性メモリを備えるデータ処理装置の構成例を示すブロック図である。FIG. 13 is a block diagram illustrating a configuration example of an LSI according to the third embodiment and a data processing apparatus including the LSI and a nonvolatile memory. 図14は、実施形態3に係るデータ処理装置に顧客秘密データをインストールする処理全体の中のセキュリティサイト側処理の一例を示すフローチャートである。FIG. 14 is a flowchart illustrating an example of a security site side process in the entire process of installing customer secret data in the data processing apparatus according to the third embodiment. 図15は、実施形態3に係るデータ処理装置に顧客秘密データをインストールする処理全体の中の書き込み処理の一例を示すフローチャートである。FIG. 15 is a flowchart illustrating an example of a writing process in the entire process of installing customer secret data in the data processing apparatus according to the third embodiment. 図16は、実施形態3に係るデータ処理装置に顧客秘密データをインストールする処理全体の中の活性化処理の一例を示すフローチャートである。FIG. 16 is a flowchart illustrating an example of an activation process in the entire process of installing customer secret data in the data processing apparatus according to the third embodiment.

実施の形態について詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。   Embodiments will be described in detail. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiments for carrying out the invention, and the repetitive description thereof will be omitted.

〔実施形態1〕
図1は、代表的な一実施の形態に係るLSI1及びそのLSI1と不揮発性メモリ20を備えるデータ処理装置100の構成例を示すブロック図である。
Embodiment 1
FIG. 1 is a block diagram illustrating a configuration example of an LSI 1 and a data processing apparatus 100 including the LSI 1 and a nonvolatile memory 20 according to a typical embodiment.

データ処理装置100は、LSI1と、LSI1と電気的に接続される不揮発性メモリ20と備える。LSI1は、暗号演算回路の一例である暗号エンジン10と、秘密データを使用する回路の一例であるCPU(Central Processing Unit)30と、外付けされる不揮発性メモリ20とのインターフェース回路31とを有する。暗号エンジン10は、第1暗号鍵15を用いた復号演算処理12と、LSI1に固有のデバイス固有鍵である第2暗号鍵16を用いた暗号化演算処理14及び復号演算処理11とを実行可能である。   The data processing apparatus 100 includes an LSI 1 and a nonvolatile memory 20 that is electrically connected to the LSI 1. The LSI 1 includes a cryptographic engine 10 that is an example of a cryptographic operation circuit, a CPU (Central Processing Unit) 30 that is an example of a circuit that uses secret data, and an interface circuit 31 with an external nonvolatile memory 20. . The cryptographic engine 10 can execute a decryption operation process 12 using the first encryption key 15, and an encryption operation process 14 and a decryption operation process 11 using the second encryption key 16 that is a device unique key unique to the LSI 1. It is.

活性化処理において、入力される第1暗号鍵15を用いて暗号化された秘密データ22に対して、暗号エンジン10は第1暗号鍵15を用いて復号演算処理12を行って、内部に平文の秘密データ22を復元した後、デバイス固有鍵16を用いて暗号化演算処理14を行って、インターフェース回路31を介して不揮発性メモリ20に書き込む。   In the activation process, the cryptographic engine 10 performs the decryption calculation process 12 using the first encryption key 15 on the secret data 22 encrypted using the input first encryption key 15, and the plain text is internally stored. After the secret data 22 is restored, the cryptographic operation processing 14 is performed using the device unique key 16 and is written into the nonvolatile memory 20 via the interface circuit 31.

その後の通常処理では、LSI1は、デバイス固有鍵16を用いて暗号化された秘密データ21を不揮発性メモリ20からインターフェース回路31を介して読み込み、暗号エンジン10によってデバイス固有鍵16を使った復号演算処理11を行ってCPU30に供給する。   In the subsequent normal processing, the LSI 1 reads the secret data 21 encrypted using the device unique key 16 from the nonvolatile memory 20 via the interface circuit 31, and the decryption operation using the device unique key 16 is performed by the cryptographic engine 10. Processing 11 is performed and supplied to the CPU 30.

これにより、半導体集積回路装置(LSI)1に固有のデバイス固有鍵16で暗号化された秘密データ21を、その秘密データが格納される不揮発性メモリ20がLSI1に接続された後に書き込む、活性化処理を行なうことができ、当該不揮発性メモリ20の管理に要する負荷を軽減することができる。また、不揮発性メモリ20への秘密データを暗号化するために、デバイス固有鍵16を読み出す必要がなく、デバイス固有鍵16は一切読み出されることがないような構成を採用することができるので、セキュリティが著しく強化される。   Thereby, the secret data 21 encrypted with the device unique key 16 unique to the semiconductor integrated circuit device (LSI) 1 is written after the nonvolatile memory 20 storing the secret data is connected to the LSI 1. Processing can be performed, and the load required for management of the nonvolatile memory 20 can be reduced. In addition, in order to encrypt the secret data to the non-volatile memory 20, it is not necessary to read the device unique key 16, and a configuration in which the device unique key 16 is not read at all can be adopted. Is significantly strengthened.

デバイス固有鍵16は、LSI1に固有である。例えば、LSI1の出荷段階で外部から入力される種データに基づいて生成され、或いは、LSI1の製造ばらつきを反映する物理的パラメータから生成される。後者の場合、例えば、物理的に複製不可能な関数(PUF:Physically Unclonable Function)を利用して生成されてもよい。デバイス固有鍵16はLSI1に固有であるが故に、セキュリティ性能が極めて高い。特に、PUFを利用して物理的に複製不可能とすることにより、LSI1自体を複製された場合であっても、暗号化された顧客秘密データを復号することができないように構成することができる。   The device unique key 16 is unique to the LSI 1. For example, it is generated based on seed data input from the outside at the shipping stage of the LSI 1, or is generated from a physical parameter that reflects manufacturing variations of the LSI 1. In the latter case, for example, the function may be generated using a physically non-replicatable function (PUF). Since the device unique key 16 is unique to the LSI 1, the security performance is extremely high. In particular, by making the copy impossible physically using the PUF, even if the LSI 1 itself is copied, the encrypted customer secret data cannot be decrypted. .

デバイス固有鍵16によってこのような高いセキュリティ性能を提供するためには、そのデバイス固有鍵16が第三者に知られないように、厳格に管理する必要がある。LSI1の外部に読み出さないことが最も高いセキュリティ状態となる。しかしながら、秘密のデータを不揮発性メモリに書き込むに当たり、そのデバイス固有鍵16で暗号化するためには、その値を知っている必要がある。また、デバイス固有鍵16で暗号化された秘密データが書込まれた不揮発性メモリ20は、そのデバイス固有鍵16を持つLSI1に接続されなければならないので、個体単位で1:1に対応付けされて管理される必要がある。通常は型名のLSIに接続される不揮発性メモリは型名が規定されるに留まり、個体ごとの1:1に対応付けられた管理は必要がない。例えば故障した個体は良品の個体によって代替される。したがって、デバイス固有鍵16を使って暗号化された秘密データが書込まれた後の不揮発性メモリ20は、接続されるLSI1が個体で対応付けられてしまうので、個体レベルでの1:1の管理が必要とされ、管理負担が極めて重くなる。   In order to provide such high security performance by the device unique key 16, it is necessary to strictly manage the device unique key 16 so that the device unique key 16 is not known to a third party. The highest security state is that data is not read out of the LSI 1. However, when the secret data is written in the nonvolatile memory, it is necessary to know the value in order to encrypt it with the device unique key 16. Further, since the non-volatile memory 20 in which the secret data encrypted with the device unique key 16 is written must be connected to the LSI 1 having the device unique key 16, it is associated with 1: 1 for each individual unit. Need to be managed. Normally, the nonvolatile memory connected to the LSI of the type name is only defined with the type name, and management associated with 1: 1 for each individual is not necessary. For example, a failed individual is replaced by a good individual. Therefore, in the nonvolatile memory 20 after the secret data encrypted using the device unique key 16 is written, the LSI 1 to be connected is associated with each individual, so that the 1: 1 level at the individual level is 1: 1. Management is required, and the management burden becomes extremely heavy.

本願の代表的な実施の形態においては、外付けされる不揮発性メモリ20に書き込まれるデータを暗号化するのは、その不揮発性メモリ20に接続されるLSI1自身であるから、当然にデバイス固有鍵16の値を知っており、暗号化することができる。さらにLSI1の外部で暗号化するわけではないので、デバイス固有鍵16を外部に読み出す必要がない。また、LSI1に接続される不揮発性メモリ20は、組立てられた段階までは、デバイス固有鍵16を使って暗号化されたデータを格納しているわけではないため、上述のような個体レベルでの1:1の管理は不要である。   In the typical embodiment of the present application, since the data written in the external nonvolatile memory 20 is encrypted by the LSI 1 itself connected to the nonvolatile memory 20, naturally the device unique key Knows the value of 16 and can be encrypted. Further, since encryption is not performed outside the LSI 1, it is not necessary to read the device unique key 16 to the outside. In addition, since the nonvolatile memory 20 connected to the LSI 1 does not store data encrypted using the device unique key 16 until it is assembled, the nonvolatile memory 20 at the individual level as described above is stored. 1: 1 management is not required.

デバイス固有鍵16を使って暗号化される前のデータの、LSI1への入力方法は任意である。何らかの暗号鍵(図1の第1暗号鍵)で暗号化された状態で入力され、LSI1の内部で復号されるのが望ましい。LSI1と不揮発性メモリ20を接続する組み立て工程が、十分に高いセキュリティで管理される工場等である場合には、暗号化せずに平文で入力され、LSI1内での復号演算処理12が省略されてもよい。一方、図1に示すように、第1暗号鍵で暗号化された顧客秘密データ22が入力され、LSI1の内部で第1暗号鍵15による復号演算処理15を行うように構成することにより、顧客秘密データはLSI1の外部には読み出されることがないため、安全性が高い。   The method of inputting the data before being encrypted using the device unique key 16 to the LSI 1 is arbitrary. It is desirable that the data is input in an encrypted state with some encryption key (the first encryption key in FIG. 1) and decrypted inside the LSI 1. When the assembly process for connecting the LSI 1 and the nonvolatile memory 20 is a factory or the like managed with sufficiently high security, it is input in plain text without encryption, and the decryption calculation processing 12 in the LSI 1 is omitted. May be. On the other hand, as shown in FIG. 1, the customer secret data 22 encrypted with the first encryption key is input, and the decryption calculation processing 15 with the first encryption key 15 is performed inside the LSI 1. Since the secret data is not read outside the LSI 1, the security is high.

暗号化と復号のあるアルゴリズムは任意であり、例えば、共通鍵暗号方式でも公開鍵暗号方式でもよい。公開鍵暗号方式のように、暗号化と復号に使用する鍵が異なる場合には、一対であればよい。即ち、暗号化処理14はデバイス固有鍵16の公開鍵で行い、復号演算処理11は対応する秘密鍵で行えば良い。図1は同じ鍵が使用されるように図示されているが、上述のように変更されてもよい。なお、図1において、暗号エンジン内には、暗号化処理14と復号演算処理11、12がブロックとして図示されているが、実際のハードウェアは、それらの処理をプログラマブルに実行可能なプロセッサ形式で実装されても良い。図1には、復号された顧客秘密データがCPU30に入力される例が示されているが、他の機能モジュールに変更されても良い。LSI1は、顧客秘密データを利用する任意の半導体集積回路装置であり、例えばマイクロコントローラ(或いはマイクロプロセッサ、どちらも「マイコン」と略する場合がある)、システムLSI(SOC:System On-a-Chip)である。また、信号の流れを示す矢印は、1ビットまたは複数ビットのディジタル信号配線によって実現されるが、ベクトル表示は省略する。本願で参照する他の図についても同様である。   Algorithms with encryption and decryption are arbitrary, and may be, for example, a common key encryption method or a public key encryption method. If the keys used for encryption and decryption are different as in the public key cryptosystem, a pair may be used. That is, the encryption process 14 may be performed with the public key of the device unique key 16, and the decryption calculation process 11 may be performed with the corresponding secret key. Although FIG. 1 is illustrated as using the same key, it may be modified as described above. In FIG. 1, the encryption engine 14 and the decryption calculation processes 11 and 12 are shown as blocks in the encryption engine. However, the actual hardware is in a processor format that can execute these processes in a programmable manner. May be implemented. Although FIG. 1 shows an example in which the decrypted customer secret data is input to the CPU 30, it may be changed to another functional module. The LSI 1 is an arbitrary semiconductor integrated circuit device that uses customer secret data. For example, a microcontroller (or a microprocessor, both of which may be abbreviated as “microcomputer”), a system LSI (SOC: System On-a-Chip). ). An arrow indicating a signal flow is realized by 1-bit or multi-bit digital signal wiring, but vector display is omitted. The same applies to other drawings referred to in the present application.

〔実施形態2〕
本実施形態2は、第1暗号鍵として共通鍵が採用され、当該共通鍵をLSI1内に保持するとともに、同じ共通鍵を使って暗号化された顧客秘密データ22が、組立て工程でLSI1と接続される前の不揮発性メモリ20に予め書き込まれる、実施の形態である。第1暗号鍵をインストール鍵と呼ぶ。
[Embodiment 2]
In the second embodiment, a common key is adopted as the first encryption key, the common key is held in the LSI 1, and the customer secret data 22 encrypted using the same common key is connected to the LSI 1 in the assembly process. This is an embodiment in which data is written in advance in the nonvolatile memory 20 before being performed. The first encryption key is called an installation key.

図2は、実施形態2に係るLSI1及びそのLSI1と不揮発性メモリ20を備えるデータ処理装置100の構成例を示すブロック図である。   FIG. 2 is a block diagram illustrating a configuration example of the LSI 1 according to the second embodiment and the data processing apparatus 100 including the LSI 1 and the nonvolatile memory 20.

データ処理装置100は、LSI1の一例であるマイクロコントローラ1と、マイクロコントローラ1と電気的に接続される不揮発性メモリ20の一例であるフラッシュメモリ20と備える。マイクロコントローラ1は、暗号エンジン10とCPU30とインターフェース回路31とを有する。暗号エンジン10は、インストール鍵15とデバイス固有鍵16とを保持し、インストール鍵15を用いた復号演算処理12と、デバイス固有鍵16を用いた暗号化演算処理14及び復号演算処理11とを実行可能である。暗号エンジン10は、例えば、暗号演算処理に特有の特殊な演算を実行可能な演算回路と、演算の中間データを一時的に保持するレジスタと、全体の処理手順を制御するシーケンスコントローラとを備えて構成することができ、当該シーケンスコントローラに与える処理のシーケンスは、プログラマブルとすることができる。即ち、1つの暗号エンジン10には、インストール鍵15を用いた復号演算処理12を実行するシーケンスプログラムと、デバイス固有鍵16を用いた暗号化演算処理14を実行するシーケンスプログラムと、デバイス固有鍵16を用いた復号演算処理11を実行するシーケンスプログラムとを、随時選択可能な形で保持しておくことができる。   The data processing apparatus 100 includes a microcontroller 1 that is an example of an LSI 1 and a flash memory 20 that is an example of a nonvolatile memory 20 that is electrically connected to the microcontroller 1. The microcontroller 1 includes a cryptographic engine 10, a CPU 30, and an interface circuit 31. The cryptographic engine 10 holds an installation key 15 and a device unique key 16, and executes a decryption operation process 12 using the installation key 15, and an encryption operation process 14 and a decryption operation process 11 using the device unique key 16. Is possible. The cryptographic engine 10 includes, for example, an arithmetic circuit capable of executing special arithmetic operations specific to cryptographic arithmetic processing, a register that temporarily stores intermediate data of arithmetic operations, and a sequence controller that controls the entire processing procedure. The sequence of processing that can be configured and applied to the sequence controller can be programmable. That is, one cryptographic engine 10 includes a sequence program for executing the decryption calculation process 12 using the installation key 15, a sequence program for executing the encryption calculation process 14 using the device unique key 16, and the device unique key 16 It is possible to hold a sequence program that executes the decoding calculation process 11 using the above in a form that can be selected at any time.

顧客秘密データ51は、顧客秘密データ管理装置50において、上記インストール鍵15と同じ共通鍵(または対応する公開鍵)であるインストール鍵54を使って暗号化処理52を施され、インストール鍵で暗号化された顧客秘密データ22が生成される。インストール鍵で暗号化された顧客秘密データ22は、フラッシュメモリ20に書き込まれる。顧客秘密データ22が書き込まれたフラッシュメモリ20とマイクロコントローラ1は、組み立て工程において、例えばデータ処理装置100に搭載されるプリント基板上に実装されることによって、電気的に接続される。その後、活性化処理が行われる。   The customer secret data 51 is encrypted in the customer secret data management device 50 using the install key 54 that is the same common key (or corresponding public key) as the install key 15 and encrypted with the install key. The customer secret data 22 is generated. The customer secret data 22 encrypted with the installation key is written into the flash memory 20. In the assembly process, the flash memory 20 in which the customer secret data 22 is written and the microcontroller 1 are electrically connected, for example, by being mounted on a printed board mounted on the data processing apparatus 100. Thereafter, an activation process is performed.

活性化処理において、インストール鍵15と同じ共通鍵であるインストール鍵54を使って暗号化された顧客秘密データ22を、フラッシュメモリ20から読み出し、インターフェース回路31を介して暗号エンジン10に読み込む。暗号エンジン10は、読み込んだ顧客秘密データ22に対して、内部に保持するインストール鍵15を使った復号演算処理12を施して、平文の顧客秘密データに戻し、それに対して、同じく内部に保持するデバイス固有鍵16を使った暗号化演算処理14を施して、インターフェース回路31を介してフラッシュメモリ20上に、デバイス固有鍵で暗号化された顧客秘密データ21として書き戻す。この活性化処理は、例えばデータ処理装置100の製造工程のうち、マイクロコントローラ1とフラッシュメモリ20の組み立て工程において、マイクロコントローラ1とフラッシュメモリ20が電気的に接続された後に実施される。   In the activation process, the customer secret data 22 encrypted using the installation key 54 that is the same common key as the installation key 15 is read from the flash memory 20 and read into the cryptographic engine 10 via the interface circuit 31. The cryptographic engine 10 performs decryption operation processing 12 using the installation key 15 held inside the read customer secret data 22 to return it to plaintext customer secret data, which is also held internally. The encryption calculation process 14 using the device unique key 16 is performed, and it is written back as the customer secret data 21 encrypted with the device unique key onto the flash memory 20 via the interface circuit 31. This activation process is performed after the microcontroller 1 and the flash memory 20 are electrically connected in the assembly process of the microcontroller 1 and the flash memory 20 in the manufacturing process of the data processing apparatus 100, for example.

その後の通常動作では、マイクロコントローラ1は、インターフェース回路31を介してフラッシュメモリ20から顧客秘密データ21を読み込み、暗号エンジンン10においてデバイス固有鍵16を使った復号演算処理11を施した後に、CPU30に供給する。   In the subsequent normal operation, the microcontroller 1 reads the customer secret data 21 from the flash memory 20 via the interface circuit 31, and after performing the decryption calculation process 11 using the device unique key 16 in the cryptographic engine 10, the CPU 30 To supply.

これにより、マイクロコントローラ1の個体に固有のデバイス固有鍵16で暗号化された秘密データ21を、その秘密データが格納されるフラッシュメモリ20がマイクロコントローラ1に接続された後に書き込む、活性化処理を行なうことができ、当該フラッシュメモリ20の管理に要する負荷を軽減することができる。また、フラッシュメモリ20への秘密データを暗号化するために、デバイス固有鍵16を読み出す必要がなく、デバイス固有鍵16は一切読み出されることがないような構成を採用することができるので、セキュリティが著しく強化される。   As a result, the activation process of writing the secret data 21 encrypted with the device unique key 16 unique to the individual microcontroller 1 after the flash memory 20 storing the secret data is connected to the microcontroller 1 is performed. This can be done, and the load required for managing the flash memory 20 can be reduced. Further, in order to encrypt the secret data to the flash memory 20, it is not necessary to read the device unique key 16, and a configuration in which the device unique key 16 is not read at all can be adopted. Remarkably strengthened.

データ処理装置100の動作についてさらに詳しく説明する。   The operation of the data processing apparatus 100 will be described in more detail.

図3と図4は、本実施形態2に係るデータ処理装置における活性化処理の、セキュリティサイト側と組み立て工場側での一例をそれぞれ示すフローチャートである。   3 and 4 are flowcharts showing examples of the activation process in the data processing apparatus according to the second embodiment on the security site side and the assembly factory side, respectively.

図3に示される、セキュリティサイト側の顧客秘密データ管理装置50では、顧客から暗号化された状態で送られてくる顧客秘密データを復号化する(S01)。次に、復号された顧客秘密データをインストール鍵(共通鍵)54で暗号化する(S02)。暗号化した顧客秘密データを外付けのフラッシュメモリ20に書き込み(S03)、組み立て工場に配送する(S04)。   The customer secret data management device 50 on the security site shown in FIG. 3 decrypts the customer secret data sent from the customer in an encrypted state (S01). Next, the decrypted customer secret data is encrypted with the installation key (common key) 54 (S02). The encrypted customer secret data is written in the external flash memory 20 (S03) and delivered to the assembly factory (S04).

図4に示される、組み立て工場側では、配送されてきたフラッシュメモリ20とマイクロコントローラ1を接続する、組み立て工程を行う(S05)。組み立てが完了した後に電源を供給して、インストール鍵(共通鍵)で暗号化された顧客秘密データ22をマイクロコントローラ1に読み出し(S06)、読み出した顧客秘密データ22をマイクロコントローラ1が内部に保持するインストール鍵(共通鍵)15を使って復号化する(S07)。マイクロコントローラ1は、復号化によって平文に戻った顧客秘密データを、自身に固有のデバイス固有鍵15を使って暗号化し(S08)、デバイス固有鍵15で暗号化された顧客秘密データ21をフラッシュメモリ20に書き込む(S09)。   The assembly factory side shown in FIG. 4 performs an assembly process for connecting the delivered flash memory 20 and the microcontroller 1 (S05). After the assembly is completed, power is supplied, and the customer secret data 22 encrypted with the installation key (common key) is read into the microcontroller 1 (S06), and the microcontroller 1 holds the read customer secret data 22 inside. The installation key (common key) 15 to be decrypted is used (S07). The microcontroller 1 encrypts the customer secret data returned to the plain text by the decryption using the device unique key 15 unique to itself (S08), and stores the customer secret data 21 encrypted with the device unique key 15 in the flash memory. 20 is written (S09).

このように、インストール鍵で暗号化された顧客秘密データ22を、フラッシュメモリ20に書き込んで、データ処理装置100の製造工程の1つである組立て工程に配送することにより、配送過程における顧客秘密データを暗号化された状態にして、保護することができる。さらに、活性化処理においては通常動作でも使用されるインターフェース回路31を介して顧客秘密データ22がマイクロコントローラ1に読み込まれ、同じ、インターフェース回路31を介してフラッシュメモリ20に書き戻されるため、活性化処理にのみ使用するようなインターフェースをマイクロコントローラ1に追加する必要がない。   Thus, the customer secret data 22 encrypted with the installation key is written in the flash memory 20 and delivered to the assembly process which is one of the manufacturing processes of the data processing apparatus 100, whereby the customer secret data in the delivery process is obtained. Can be protected in an encrypted state. Further, in the activation process, the customer secret data 22 is read into the microcontroller 1 through the interface circuit 31 that is also used in the normal operation and written back to the flash memory 20 through the same interface circuit 31. There is no need to add an interface to the microcontroller 1 that is used only for processing.

なお、特に制限されるものではないが、インストール鍵15とデバイス固有鍵16をそれぞれ共通鍵暗号方式の共通鍵とすることにより、暗号演算回路10による暗号化と復号の演算負荷が抑えられる。   Although not particularly limited, by using the installation key 15 and the device unique key 16 as a common key for the common key encryption method, the computation load of encryption and decryption by the cryptographic operation circuit 10 can be suppressed.

図5は、データ処理装置100に顧客秘密データをインストールして活性化する処理全体の概要を模式的に示す説明図である。   FIG. 5 is an explanatory diagram schematically showing an overview of the entire process for installing and activating customer secret data in the data processing apparatus 100.

顧客サーバー61と、例えばマイクロコントローラ1を製造・販売する半導体メーカが管理するセキュリティサイト60と、データ処理装置100の工場70とが存在するものとして説明する。セキュリティサイト60は、顧客によって管理され、或いは、顧客または半導体メーカから委託された管理者によって管理されても良いが、ファイアウォールなどによってデータが漏洩することなく秘密の状態に守られているサイトをいう。顧客秘密データは、暗号化された状態でCD(Compact Disc)等の記憶媒体62に格納されて、顧客サーバー61からセキュリティサイト60に配送される。セキュリティサイト60ではデータサーバー63に送られてきた顧客秘密データを記憶して管理し、データ処理装置100へのインストールが要求されると、その顧客秘密データを活性化前顧客秘密データ生成サーバー65へ送る。このとき顧客秘密データは記憶媒体64に保持された状態で伝送されるが、セキュリティサイト内であるから、暗号化等による保護は必ずしも必要がない。活性化前顧客秘密データ生成サーバー65では、インストール鍵54を使って暗号化された後、記憶媒体66に保持された状態でデータ処理装置100の工場70へ配送される。   Description will be made assuming that there is a customer server 61, a security site 60 managed by a semiconductor manufacturer that manufactures and sells the microcontroller 1, for example, and a factory 70 of the data processing apparatus 100. The security site 60 may be managed by a customer, or may be managed by an administrator entrusted by a customer or a semiconductor manufacturer, but refers to a site that is protected in a secret state without leakage of data by a firewall or the like. . The customer secret data is stored in an encrypted state in a storage medium 62 such as a CD (Compact Disc) and delivered from the customer server 61 to the security site 60. The security site 60 stores and manages the customer secret data sent to the data server 63. When installation on the data processing apparatus 100 is requested, the customer secret data is sent to the pre-activation customer secret data generation server 65. send. At this time, the customer secret data is transmitted while being held in the storage medium 64, but since it is in the security site, protection by encryption or the like is not necessarily required. The customer secret data generation server 65 before activation is encrypted using the installation key 54 and then delivered to the factory 70 of the data processing apparatus 100 while being held in the storage medium 66.

データ処理装置100の工場70では、インストール鍵を使って暗号化された顧客秘密データ22を、フラッシュメモリ20に書き込み、マイクロコントローラ1と接続する組み立て工程を行う。マイクロコントローラ1は、インストール鍵15とデバイス固有鍵16とを有する暗号エンジン10を備えており、上述したように活性化処理を終えた後には、フラッシュメモリ20上のインストール鍵で暗号化された顧客秘密データ22を消去してもよい。   In the factory 70 of the data processing apparatus 100, the customer secret data 22 encrypted using the installation key is written in the flash memory 20, and an assembly process for connecting to the microcontroller 1 is performed. The microcontroller 1 includes a cryptographic engine 10 having an installation key 15 and a device unique key 16, and after the activation process is completed as described above, the customer encrypted with the installation key on the flash memory 20. The secret data 22 may be deleted.

これにより、フラッシュメモリ20の記憶領域が解放されて利用可能となり、合せて、セキュリティが強化される。顧客秘密データ管理装置50側でも管理されている共通鍵であるインストール鍵で暗号化された顧客秘密データ22は、外部に知られていないデバイス固有鍵16で暗号化された顧客秘密データ21と比較して安全性が劣るところ、組立て後の不揮発性メモリに格納されているのが、安全性の高い顧客秘密データ21のみとなるからである。   Thereby, the storage area of the flash memory 20 is released and can be used, and security is enhanced. The customer secret data 22 encrypted with the installation key, which is a common key managed by the customer secret data management apparatus 50, is compared with the customer secret data 21 encrypted with the device unique key 16 that is not known to the outside. The reason why the security is inferior is that only the customer secret data 21 with high safety is stored in the non-volatile memory after assembly.

なお、暗号化された顧客秘密データ22のフラッシュメモリ20への書き込みは、図示される例の他、セキュリティサイト60で実施され、或いは、他のサイト、例えば不揮発性メモリの製造工場で実施されても良い。   The encrypted customer secret data 22 is written to the flash memory 20 in addition to the example shown in FIG. 2 at the security site 60 or at another site, for example, a non-volatile memory manufacturing factory. Also good.

また、記録媒体62、64、66は、上で例示したCDの他、DVD(Digital Versatile Disc;登録商標)、ブルーレイディスク(Blue-Ray Disc;登録商標)、USB(Universal Serial Bus)メモリ等の半導体メモリであってもよい。また、これらの有体物に限られず、インターネットなどのネットワーク上のパケットを含む、有線/無線を問わない通信媒体などの無体物であってもよい。   The recording media 62, 64, and 66 are not only the CDs exemplified above, but also DVD (Digital Versatile Disc; registered trademark), Blu-ray Disc (registered trademark), USB (Universal Serial Bus) memory, etc. It may be a semiconductor memory. Moreover, it is not limited to these tangible objects, but may be an intangible object such as a wired / wireless communication medium including a packet on a network such as the Internet.

顧客秘密データは、例えば顧客1人1人の個人情報などの個別のデータであってもよい。その場合には、複数の顧客の秘密データは束の状態で供給され、1単位ごとにインストールされることとなる。顧客の秘密データは、アプリケーションで使用される暗号や署名における暗号鍵や証明書の鍵データであることが多いため、顧客秘密データの束は「鍵束」と呼ばれる場合がある。なお、この鍵束は、それを守るための暗号化処理に用いる、インストール鍵、デバイス固有鍵、後述の一時鍵などの暗号鍵とは区別される。   The customer secret data may be individual data such as personal information of each customer. In that case, secret data of a plurality of customers is supplied in a bundled state, and is installed for each unit. Since the customer secret data is often the encryption key used in the application, the encryption key in the signature, or the key data of the certificate, the bundle of customer secret data is sometimes called a “key bundle”. This key bundle is distinguished from encryption keys such as an installation key, a device unique key, and a temporary key described later, which are used for encryption processing for protecting the key bundle.

図6〜図9は、本実施形態2に係るデータ処理装置に顧客秘密データ束(鍵束)をインストールする処理全体の流れの一例を示すフローチャートである。図6には顧客サーバー側での処理、図7にはセキュリティサイト側での処理、図8には書き込み処理、図9には活性化処理が、それぞれ例示されている。   6 to 9 are flowcharts showing an example of the flow of the entire process for installing the customer secret data bundle (key bundle) in the data processing apparatus according to the second embodiment. FIG. 6 illustrates processing on the customer server side, FIG. 7 illustrates processing on the security site side, FIG. 8 illustrates writing processing, and FIG. 9 illustrates activation processing.

顧客サーバー側では、図6に示すように、顧客秘密データを作成し(S11)、暗号化して(S12)、セキュリティサイトへ配送する(S13)。   On the customer server side, as shown in FIG. 6, customer secret data is created (S11), encrypted (S12), and delivered to the security site (S13).

セキュリティサイトでは、図7に示すように、顧客秘密データを復号化し(S14)、1単位の顧客秘密データをインストール鍵(共通鍵)で暗号化する(S15)。顧客秘密データが必要数分暗号化されるまでこれを繰り返す(S15,S16)ことによって暗号化された顧客秘密データの束が生成される。暗号化された顧客秘密データの束は、CD等のメディア(記憶媒体)に書き込まれ(S17)、外付けのフラッシュメモリの組み立て工場に向けて配送される(S18)。   In the security site, as shown in FIG. 7, the customer secret data is decrypted (S14), and one unit of the customer secret data is encrypted with the installation key (common key) (S15). This is repeated until the required number of customer secret data is encrypted (S15, S16), thereby generating a bundle of encrypted customer secret data. The bundle of encrypted customer secret data is written on a medium (storage medium) such as a CD (S17), and delivered to an assembly factory for an external flash memory (S18).

組み立て工場での書き込み処理では、図8に示すように、暗号化した顧客秘密データを1単位ごとにフラッシュメモリ20に書き込み(S19)、フラッシュメモリ20とマイクロコントローラ1を接続する組み立て工程を行う(S20)。   In the writing process at the assembly factory, as shown in FIG. 8, the encrypted customer secret data is written into the flash memory 20 for each unit (S19), and an assembly process for connecting the flash memory 20 and the microcontroller 1 is performed (S19). S20).

組み立て工場での活性化処理では、図9に示すように、インストール鍵(共通鍵)で暗号化された顧客秘密データ22をフラッシュメモリ20から読み出し(S21)、内部に保持するインストール鍵(共通鍵)15で復号化する(S22)。復号されて平文となった顧客秘密データを、デバイス固有鍵16で暗号化し(S23)、暗号化された顧客秘密データをフラッシュメモリ20に書き込む(S24)。   In the activation process at the assembly factory, as shown in FIG. 9, the customer secret data 22 encrypted with the installation key (common key) is read from the flash memory 20 (S21), and the installation key (common key) held inside is stored. ) 15 for decryption (S22). The customer secret data decrypted and converted into plain text is encrypted with the device unique key 16 (S23), and the encrypted customer secret data is written in the flash memory 20 (S24).

LSI1は、上で例示したマイクロコントローラ1のように、プログラムを実行することができるプロセッサであって、外部に接続されるフラッシュメモリ20に対する書込みを行うためのインターフェース回路31を備えるとよい。   The LSI 1 is a processor that can execute a program, like the microcontroller 1 exemplified above, and may include an interface circuit 31 for writing to the flash memory 20 connected to the outside.

図10と図11は、データ処理装置100のハードウェアの一構成例と別の構成例をそれぞれ示すブロック図である。   FIG. 10 and FIG. 11 are block diagrams respectively showing one configuration example and another configuration example of the hardware of the data processing apparatus 100.

図10と図11に示されるデータ処理装置100はどちらも、マイクロコントローラ1とデータフラッシュメモリ20とコードフラッシュメモリ40とが、マイクロコントローラ1が有するフラッシュメモリインターフェース31に接続される外部バス43に接続されている。   In both of the data processing devices 100 shown in FIGS. 10 and 11, the microcontroller 1, the data flash memory 20, and the code flash memory 40 are connected to an external bus 43 that is connected to a flash memory interface 31 of the microcontroller 1. Has been.

図10に例示されるマイクロコントローラ1は、CPU30、暗号エンジン10、インストール鍵(共通鍵)15、デバイス固有鍵16、フラッシュメモリインターフェース31、乱数発生器32、タイマ33、RAM34、及び、周辺モジュール39を有し、主な機能ブロックは内部バス36を介してCPU30に電気的に接続されている。インストール鍵(共通鍵)15とデバイス固有鍵16は、暗号エンジン10に直接接続され、CPU30を始めとして、暗号エンジン10以外の機能モジュールからアクセスすることができないように構成されることによって、耐タンパ性が担保されている。インストール鍵(共通鍵)15とデバイス固有鍵16は、暗号エンジン10に内蔵されていても良い。   The microcontroller 1 illustrated in FIG. 10 includes a CPU 30, a cryptographic engine 10, an installation key (common key) 15, a device unique key 16, a flash memory interface 31, a random number generator 32, a timer 33, a RAM 34, and a peripheral module 39. The main functional blocks are electrically connected to the CPU 30 via the internal bus 36. The installation key (common key) 15 and the device unique key 16 are directly connected to the cryptographic engine 10 and are configured so that they cannot be accessed from a functional module other than the cryptographic engine 10 such as the CPU 30. Sex is guaranteed. The installation key (common key) 15 and the device unique key 16 may be built in the cryptographic engine 10.

データフラッシュメモリ20には、活性化処理前にはインストール鍵で暗号化された顧客データ22が格納され、活性化処理の後にはデバイス固有鍵16で暗号化された顧客秘密データ21が格納される。コードフラッシュメモリ40には、活性化プログラム41と他の一般のプログラム42が格納されている。   The data flash memory 20 stores customer data 22 encrypted with an installation key before the activation process, and stores customer secret data 21 encrypted with the device unique key 16 after the activation process. . The code flash memory 40 stores an activation program 41 and other general programs 42.

活性化処理を実行するために、CPU30は、フラッシュメモリインターフェース31を介してコードフラッシュメモリ40にアクセスして活性化プログラム41を実行する。活性化プログラム41を実行することによって、データフラッシュメモリ20からインストール鍵で暗号化された秘密データ22を読出し、上述の各処理を、主に暗号エンジン10に実行させることによって、顧客秘密データをデバイス固有鍵16で暗号化し、CPU30からフラッシュメモリインターフェース31を介してデータフラッシュメモリ20に書き込む。これにより、データフラッシュメモリ20には、接続されるマイクロコントローラ1に固有のデバイス固有鍵で暗号化された顧客秘密データ21が格納されることとなる。インストール鍵で暗号化された顧客秘密データ22は、その後データフラッシュメモリ20から消去されてもよい。   In order to execute the activation process, the CPU 30 accesses the code flash memory 40 via the flash memory interface 31 and executes the activation program 41. By executing the activation program 41, the secret data 22 encrypted with the installation key is read from the data flash memory 20, and the above-described processes are mainly executed by the encryption engine 10, whereby the customer secret data is stored in the device. The data is encrypted with the unique key 16 and written from the CPU 30 to the data flash memory 20 via the flash memory interface 31. As a result, the customer secret data 21 encrypted with the device unique key unique to the connected microcontroller 1 is stored in the data flash memory 20. The customer secret data 22 encrypted with the installation key may be subsequently deleted from the data flash memory 20.

図11に例示されるデータ処理装置100は、マイクロコントローラ1がさらにROM35を内蔵する点で図10に例示されるマイクロコントローラ1と異なり、活性化プログラム41が外付けのコードフラッシュメモリ40に代えて内蔵ROM35に格納されている点で異なるが、他の構成は同様であるので説明を省略する。活性化処理を実行するためには、CPU30は内蔵ROM35に格納されている活性化プログラム41を実行する点で上述の図10の動作とは相違するが、活性化プログラム41によって実行される活性化処理の内容自体は上述と同様であるので説明は省略する。   The data processing apparatus 100 illustrated in FIG. 11 differs from the microcontroller 1 illustrated in FIG. 10 in that the microcontroller 1 further incorporates a ROM 35, and the activation program 41 is replaced with the external code flash memory 40. Although different in that it is stored in the built-in ROM 35, the other configurations are the same, so the description thereof is omitted. In order to execute the activation process, the CPU 30 is different from the operation of FIG. 10 described above in that the activation program 41 stored in the built-in ROM 35 is executed. Since the content of the processing itself is the same as described above, the description thereof is omitted.

図10と図11に示したハードウェア構成は一例に過ぎず、他の構成に変更することは任意である。例えば、RAM34やROM35、フラッシュメモリインターフェース31は、CPU30に直接接続されるのではなく、バス36に接続される構成に変更してもよい。CPU30に加えてさらに複数のCPUが搭載されたマルチプロセッサに変更してもよく、バス36やRAM34などのメモリは階層化されてもよい。   The hardware configurations shown in FIGS. 10 and 11 are merely examples, and changing to other configurations is arbitrary. For example, the RAM 34, the ROM 35, and the flash memory interface 31 may be changed to be connected to the bus 36 instead of being directly connected to the CPU 30. In addition to the CPU 30, it may be changed to a multiprocessor equipped with a plurality of CPUs, and memories such as the bus 36 and the RAM 34 may be hierarchized.

〔実施形態3〕
本実施形態3は、LSI1内に保持するインストール鍵とは別の暗号鍵を使って秘密データを暗号化した上で、不揮発性メモリに書き込むなどしてLSI1に供給する。この時の別の暗号鍵を一時鍵(Temp key)と呼ぶこととし、一時鍵もインストール鍵を使って暗号化し、不揮発性メモリに書き込むなどしてLSI1に供給する。LSI1は、まず、内部に保持するインストール鍵を使って供給された一時鍵を復号し、次に、復号された一時鍵を使って秘密データを復号する。
[Embodiment 3]
In the third embodiment, the secret data is encrypted using an encryption key different from the installation key held in the LSI 1 and then supplied to the LSI 1 by writing it in a nonvolatile memory. Another encryption key at this time is referred to as a temporary key (Temp key), and the temporary key is also encrypted by using the installation key and supplied to the LSI 1 by writing it in a nonvolatile memory. The LSI 1 first decrypts the supplied temporary key using the installation key held inside, and then decrypts the secret data using the decrypted temporary key.

図12は、実施形態3に係るデータ処理装置100に顧客秘密データをインストールする処理全体の概要を模式的に示す説明図である。   FIG. 12 is an explanatory diagram schematically showing an overview of the entire process of installing customer secret data in the data processing apparatus 100 according to the third embodiment.

顧客秘密データ管理装置50において、顧客秘密データ51は一時鍵(Temp key)55を使って暗号化処理52を施され、一時鍵で暗号化された顧客秘密データ23が生成される。一時鍵55自体は、LSI1が内部に保持するインストール鍵15と同じ共通鍵であるインストール鍵54を使って暗号化処理52を施され、インストール鍵で暗号化された一時鍵24が生成される。図5に示した例と同様に、この顧客秘密データ管理装置50もセキュリティサイト60におけるデータサーバー63と活性化前顧客秘密データ生成サーバー65として構成されても良い。一時鍵で暗号化された顧客秘密データ23とインストール鍵で暗号化された一時鍵24は、記憶媒体66に保持された状態で不揮発性メモリの書き込み工程に配送され、不揮発性メモリ20に書き込まれる。不揮発性メモリ20の好適な一例はフラッシュメモリ20である。フラッシュメモリ20は、データ処理装置100の組み立て工程でマイクロコントローラ1と接続される。マイクロコントローラ1は、実施形態2と同様に、インストール鍵15とデバイス固有鍵16とを保持しているが、一時鍵は保持していない。組み立て工程では、マイクロコントローラ1とフラッシュメモリ20とを接続した後、鍵活性化処理を行なう。   In the customer secret data management device 50, the customer secret data 51 is subjected to an encryption process 52 using a temporary key 55, and the customer secret data 23 encrypted with the temporary key is generated. The temporary key 55 itself is subjected to an encryption process 52 using an installation key 54 that is the same common key as the installation key 15 held in the LSI 1, and the temporary key 24 encrypted with the installation key is generated. Similarly to the example shown in FIG. 5, this customer secret data management device 50 may also be configured as a data server 63 in the security site 60 and a customer secret data generation server 65 before activation. The customer secret data 23 encrypted with the temporary key and the temporary key 24 encrypted with the installation key are delivered to the nonvolatile memory writing process while being held in the storage medium 66 and written into the nonvolatile memory 20. . A suitable example of the nonvolatile memory 20 is the flash memory 20. The flash memory 20 is connected to the microcontroller 1 in the assembly process of the data processing apparatus 100. The microcontroller 1 holds the installation key 15 and the device unique key 16 as in the second embodiment, but does not hold the temporary key. In the assembly process, after the microcontroller 1 and the flash memory 20 are connected, a key activation process is performed.

鍵活性化処理では、マイクロコントローラ1は、まず、フラッシュメモリ20からインストール鍵で暗号化された一時鍵24を読み込んで、内部に保持するインストール鍵15を使って復号し、平文の一時鍵を得る。マイクロコントローラ1は、次にフラッシュメモリ20から一時鍵で暗号化された顧客秘密データ23を読み込んで、復号された一時鍵を使って復号する。マイクロコントローラ1は、復号された顧客秘密データを、デバイス固有鍵16を使って暗号化して、フラッシュメモリ20に書き込む。フラッシュメモリ20に書き込まれた顧客秘密データは、デバイス固有鍵で暗号化された顧客秘密データ21であり、マイクロコントローラ1は、これを使用するときは、フラッシュメモリ20から読み込んで、デバイス固有鍵で復号する。実施形態2と同様に、フラッシュメモリ20上の一時鍵で暗号化された顧客秘密データ23とインストール鍵で暗号化された一時鍵24は、活性化処理を終えた後には消去されてもよい。   In the key activation process, the microcontroller 1 first reads the temporary key 24 encrypted with the installation key from the flash memory 20 and decrypts it using the installation key 15 held inside to obtain a plaintext temporary key. . Next, the microcontroller 1 reads the customer secret data 23 encrypted with the temporary key from the flash memory 20 and decrypts it using the decrypted temporary key. The microcontroller 1 encrypts the decrypted customer secret data using the device unique key 16 and writes it into the flash memory 20. The customer secret data written in the flash memory 20 is customer secret data 21 encrypted with the device unique key. When the microcontroller 1 uses this data, it reads from the flash memory 20 and uses the device unique key. Decrypt. Similar to the second embodiment, the customer secret data 23 encrypted with the temporary key on the flash memory 20 and the temporary key 24 encrypted with the installation key may be deleted after the activation process is completed.

これにより、一時鍵(Temp key)をマイクロコントローラ1に予め保持させておく必要がなく、顧客秘密データ管理装置50において自由に設定し変更することができる。例えば、暗号化された秘密データの仕向け先ごとに個別に設定することができる。また、頻繁に変更することができる。   Thereby, it is not necessary to hold a temporary key (Temp key) in the microcontroller 1 in advance, and the customer secret data management device 50 can freely set and change the temporary key. For example, it can be set individually for each destination of encrypted secret data. It can also be changed frequently.

図13は、本実施形態3に係るLSI1及びそのLSI1と不揮発性メモリ20を備えるデータ処理装置100の構成例を示すブロック図である。   FIG. 13 is a block diagram illustrating a configuration example of the LSI 1 according to the third embodiment and the data processing apparatus 100 including the LSI 1 and the nonvolatile memory 20.

データ処理装置100は、LSI1の一例であるマイクロコントローラ1と、マイクロコントローラ1と電気的に接続される不揮発性メモリ20の一例であるフラッシュメモリ20と備える。マイクロコントローラ1は、暗号エンジン10とCPU30とインターフェース回路31とを有する。暗号エンジン10は、インストール鍵15とデバイス固有鍵16とを保持し、図2に示した実施形態2の暗号エンジンと同様に、インストール鍵15を用いた復号演算処理13と、デバイス固有鍵16を用いた暗号化演算処理14及び復号演算処理11とを実行可能である。実施形態2の暗号エンジンとは異なり、復号演算処理13で復号された一時鍵17を一時的に保持することができ、これを使った復号演算処理12を実行することができる。一時鍵17は、例えば、暗号エンジン10が有するレジスタに一時的に保持される。   The data processing apparatus 100 includes a microcontroller 1 that is an example of an LSI 1 and a flash memory 20 that is an example of a nonvolatile memory 20 that is electrically connected to the microcontroller 1. The microcontroller 1 includes a cryptographic engine 10, a CPU 30, and an interface circuit 31. The cryptographic engine 10 holds the installation key 15 and the device unique key 16, and, similarly to the cryptographic engine of the second embodiment shown in FIG. The encryption calculation process 14 and the decryption calculation process 11 used can be executed. Unlike the cryptographic engine of the second embodiment, the temporary key 17 decrypted by the decryption calculation process 13 can be temporarily held, and the decryption calculation process 12 using this can be executed. The temporary key 17 is temporarily held in a register included in the cryptographic engine 10, for example.

顧客秘密データ管理装置50において、顧客秘密データ51は、上記一時鍵17と同じ共通鍵である一時鍵55を使って暗号化処理52を施され、一時鍵で暗号化された顧客秘密データ23が生成される。このときに暗号化に使われた一時鍵は、上記インストール鍵17と同じ共通鍵であるインストール鍵54を使って暗号化処理53を施され、インストール鍵で暗号化された一時鍵24が生成される。一時鍵で暗号化された顧客秘密データ23とインストール鍵で暗号化された一時鍵24とは、フラッシュメモリ20に書き込まれる。顧客秘密データ23と一時鍵24が書き込まれたフラッシュメモリ20とマイクロコントローラ1は、組み立て工程において、例えばデータ処理装置100に搭載されるプリント基板上に実装されることによって、電気的に接続され、その後、活性化処理が行われる。   In the customer secret data management apparatus 50, the customer secret data 51 is subjected to encryption processing 52 using the temporary key 55 which is the same common key as the temporary key 17, and the customer secret data 23 encrypted with the temporary key is obtained. Generated. At this time, the temporary key used for encryption is subjected to encryption processing 53 using the installation key 54 which is the same common key as the installation key 17, and the temporary key 24 encrypted with the installation key is generated. The The customer secret data 23 encrypted with the temporary key and the temporary key 24 encrypted with the installation key are written into the flash memory 20. The flash memory 20 and the microcontroller 1 in which the customer secret data 23 and the temporary key 24 are written are electrically connected by being mounted on, for example, a printed board mounted on the data processing apparatus 100 in the assembly process. Thereafter, an activation process is performed.

活性化処理において、インストール鍵15と同じ共通鍵であるインストール鍵54を使って暗号化された一時鍵24を、フラッシュメモリ20から読み出し、インターフェース回路31を介して暗号エンジン10に読み込む。暗号エンジン10は、読み込んだ一時鍵24に対して、内部に保持するインストール鍵15を使った復号演算処理13を施して、平文の一時鍵17に戻して一時的にレジスタ等に保持する。次に、一時鍵15と同じ共通鍵である一時鍵55を使って暗号化された顧客秘密データ23を、フラッシュメモリ20から読み出し、インターフェース回路31を介して暗号エンジン10に読み込み、暗号エンジン10に一時的に保持されている平文の一時鍵17を使って復号演算処理12を施す。復号された顧客秘密データに対して、内部に保持するデバイス固有鍵16を使った暗号化演算処理14を施して、インターフェース回路31を介してフラッシュメモリ20上に、デバイス固有鍵で暗号化された顧客秘密データ21として書き戻す。この活性化処理は、例えばデータ処理装置100の製造工程のうち、マイクロコントローラ1とフラッシュメモリ20を電気的に接続する組み立て工程において、実施される。   In the activation process, the temporary key 24 encrypted using the installation key 54 that is the same common key as the installation key 15 is read from the flash memory 20 and read into the cryptographic engine 10 via the interface circuit 31. The cryptographic engine 10 performs a decryption calculation process 13 using the installation key 15 held inside the read temporary key 24, returns it to the plaintext temporary key 17, and temporarily holds it in a register or the like. Next, the customer secret data 23 encrypted using the temporary key 55, which is the same common key as the temporary key 15, is read from the flash memory 20, read into the cryptographic engine 10 via the interface circuit 31, and stored in the cryptographic engine 10. Decryption calculation processing 12 is performed using a temporarily stored plaintext temporary key 17. The decrypted customer secret data is subjected to the encryption calculation process 14 using the device unique key 16 held inside, and encrypted on the flash memory 20 via the interface circuit 31 with the device unique key. Write back as customer secret data 21. This activation process is performed, for example, in an assembly process for electrically connecting the microcontroller 1 and the flash memory 20 in the manufacturing process of the data processing apparatus 100.

その後の通常動作では、マイクロコントローラ1は、インターフェース回路31を介してフラッシュメモリ20から顧客秘密データ21を読み込み、暗号エンジンン10においてデバイス固有鍵16を使った復号演算処理11を施した後に、CPU30に供給する。   In the subsequent normal operation, the microcontroller 1 reads the customer secret data 21 from the flash memory 20 via the interface circuit 31, and after performing the decryption calculation process 11 using the device unique key 16 in the cryptographic engine 10, the CPU 30 To supply.

これにより、実施形態2と同様に、マイクロコントローラ1の個体に固有のデバイス固有鍵16で暗号化された秘密データ21を、その秘密データが格納されるフラッシュメモリ20がマイクロコントローラ1に接続された後に書き込む、活性化処理を行なうことができ、当該フラッシュメモリ20の管理に要する負荷を軽減することができる。また、フラッシュメモリ20への秘密データを暗号化するために、デバイス固有鍵16を読み出す必要がなく、デバイス固有鍵16は一切読み出されることがないような構成を採用することができるので、セキュリティが著しく強化される点でも同様である。さらに、一時鍵は活性化処理を終わった後は消去されてもよい。これにより、フラッシュメモリ20上の一時鍵で暗号化された顧客秘密データ23が消去されない場合であっても、これを復号するための一時鍵がデータ処理装置100内に存在しなくなるので、安全性が高まる。   Thus, as in the second embodiment, the secret data 21 encrypted with the device unique key 16 unique to the individual microcontroller 1 and the flash memory 20 in which the secret data is stored are connected to the microcontroller 1. Activation processing to be written later can be performed, and the load required for managing the flash memory 20 can be reduced. Further, in order to encrypt the secret data to the flash memory 20, it is not necessary to read the device unique key 16, and a configuration in which the device unique key 16 is not read at all can be adopted. The same applies to the point that it is significantly strengthened. Furthermore, the temporary key may be deleted after the activation process is completed. As a result, even if the customer secret data 23 encrypted with the temporary key on the flash memory 20 is not erased, the temporary key for decrypting this data does not exist in the data processing apparatus 100. Will increase.

図14〜図16は、本実施形態3に係るデータ処理装置に顧客秘密データ束をインストールする処理全体の流れの一例を示すフローチャートである。図14にはセキュリティサイト側での処理、図15には書き込み処理、図16には活性化処理が、それぞれ例示されている。   14 to 16 are flowcharts showing an example of the flow of the entire process for installing the customer secret data bundle in the data processing apparatus according to the third embodiment. FIG. 14 illustrates the processing on the security site side, FIG. 15 illustrates the writing processing, and FIG. 16 illustrates the activation processing.

セキュリティサイトでは、図14に示すように、一時鍵を生成し(S30)、1単位の顧客秘密データを作成した一時鍵で暗号化する(S31)とともに、当該一時鍵をインストール鍵(共通鍵)で暗号化する(S32)。その後次の顧客秘密データの有無を判定し(S33)、まだ暗号化されていない顧客秘密データがあるときはステップS31に戻って暗号化処理を繰り返す。顧客秘密データの暗号化をすべて完了した時には、ステップS34に進む。このステップS31からステップS33の繰り返しループによって、暗号化された顧客秘密データの束と暗号化された一時鍵が生成される。一時鍵で暗号化された顧客秘密データの束とインストール鍵で暗号化された一時鍵は、CD等のメディア(記憶媒体)に書き込まれ(S34)、外付けのフラッシュメモリの組み立て工場に向けて配送される(S35)。   As shown in FIG. 14, the security site generates a temporary key (S30), encrypts one unit of customer secret data with the created temporary key (S31), and uses the temporary key as an installation key (common key). (S32). Thereafter, the presence / absence of the next customer secret data is determined (S33). If there is customer secret data that has not been encrypted yet, the process returns to step S31 to repeat the encryption process. When all the encryption of the customer secret data is completed, the process proceeds to step S34. Through the repeated loop from step S31 to step S33, a bundle of encrypted customer secret data and an encrypted temporary key are generated. The bundle of customer secret data encrypted with the temporary key and the temporary key encrypted with the installation key are written to a medium (storage medium) such as a CD (S34) and directed to the assembly factory of the external flash memory. Delivered (S35).

組み立て工場での書き込み処理では、図15に示すように、一時鍵で暗号化された顧客秘密データを1単位とインストール鍵で暗号化された一時鍵とをフラッシュメモリ20に書き込み(S36)、フラッシュメモリ20とマイクロコントローラ1を接続する組み立て工程を行う(S37)。   In the writing process at the assembly factory, as shown in FIG. 15, one unit of customer secret data encrypted with the temporary key and the temporary key encrypted with the installation key are written in the flash memory 20 (S36), An assembly process for connecting the memory 20 and the microcontroller 1 is performed (S37).

組み立て工場での活性化処理では、図16に示すように、インストール鍵(共通鍵)で暗号化された一時鍵24をフラッシュメモリ20から読み出し(S38)、マイクロコントローラ1の内部に保持するインストール鍵(共通鍵)15で復号化する(S39)。次に、一時鍵で暗号化された顧客秘密データ23をフラッシュメモリ20から読み出し(S40)、ステップS38で復号されて平文となった一時鍵を使って復号化する(S41)。復号されて平文となった顧客秘密データを、デバイス固有鍵16で暗号化し(S42)、暗号化された顧客秘密データをフラッシュメモリ20に書き込む(S43)。   In the activation process at the assembly factory, as shown in FIG. 16, the temporary key 24 encrypted with the installation key (common key) is read from the flash memory 20 (S38), and the installation key held inside the microcontroller 1 is stored. Decrypt with (common key) 15 (S39). Next, the customer secret data 23 encrypted with the temporary key is read from the flash memory 20 (S40), and decrypted using the temporary key decrypted in step S38 and converted into plain text (S41). The customer secret data decrypted and converted into plain text is encrypted with the device unique key 16 (S42), and the encrypted customer secret data is written to the flash memory 20 (S43).

LSI1は、上で例示したマイクロコントローラ1のように、プログラムを実行することができるプロセッサであって、外部に接続されるフラッシュメモリ20に対する書込みを行うためのインターフェース回路31を備えるとよい。   The LSI 1 is a processor that can execute a program, like the microcontroller 1 exemplified above, and may include an interface circuit 31 for writing to the flash memory 20 connected to the outside.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.

例えば、図1、2、13に例示したLSI1またはマイクロコントローラ1に搭載される暗号エンジン10は、ハードウェアを使って実現されても、ソフトウェアを使って実現されてもよい。例えばCPU30で実行されるソフトウェアを使って実現される場合には、図10、図11に例示されるようなハードウェアの暗号エンジン10は不要となる。この場合であっても、暗号演算の一部を高速に実行可能なアクセラレータを備えて、ソフトウェアを使って実現され暗号エンジン10の機能の一部を実行させるように、ソフトウェアとハードウェアを協調動作させるように構成してもよい。   For example, the cryptographic engine 10 mounted on the LSI 1 or the microcontroller 1 illustrated in FIGS. 1, 2, and 13 may be realized using hardware or software. For example, when implemented using software executed by the CPU 30, the hardware cryptographic engine 10 illustrated in FIGS. 10 and 11 is not necessary. Even in this case, the software and the hardware are cooperatively operated so that an accelerator capable of executing a part of the cryptographic operation at high speed is provided, and a part of the function of the cryptographic engine 10 realized by software is executed. You may comprise.

暗号方式としては、主に例示した共通鍵暗号方式に代えて公開鍵暗号方式を採用してもよい。公開鍵暗号方式を採用する場合には、暗号化のために使用する公開鍵と復号のために使用する秘密鍵を一対の組とすればよい。例えば、LSI1の内部ではデバイス固有の一対の公開鍵と秘密鍵の組を保持して、活性化処理では顧客秘密データを公開鍵で暗号化して不揮発性メモリに書き込み、活性化後の通常処理では対応する秘密鍵を使って、平文の顧客秘密データに復号して利用すればよい。他の暗号方式を採用する場合も同様である。   As the encryption method, a public key encryption method may be adopted instead of the common key encryption method exemplified above. When the public key cryptosystem is adopted, a public key used for encryption and a secret key used for decryption may be paired. For example, inside the LSI 1, a pair of device-specific public key and private key is held, and in the activation process, the customer secret data is encrypted with the public key and written to the nonvolatile memory. In the normal process after activation, Using the corresponding private key, the plaintext customer secret data can be decrypted and used. The same applies when other encryption methods are adopted.

1 半導体集積回路装置(LSI;マイクロコントローラ、SOC等)
10 暗号エンジン
11、12、13 復号部
14 暗号化部
15 インストール鍵(共通鍵;Shared Key)
16 デバイス固有鍵
17 一時鍵(Temp Key)
20 不揮発性メモリ(Flashメモリ)
21 デバイス固有鍵で暗号化された顧客秘密データ
22 インストール鍵で暗号化された顧客秘密データ
23 一時鍵で暗号化された顧客秘密データ
24 インストール鍵で暗号化された一時鍵
30 CPU
31 インターフェース
32 乱数発生器
33 タイマ
34 RAM
35 ROM
36 バス
39 周辺モジュール
40 不揮発性メモリ(Flashメモリ)
41 活性化プログラム
42 一般のプログラム
43 外部バス
50 顧客秘密データ管理装置
51 顧客秘密データ
52、53 暗号化部
54 インストール鍵(共通鍵;Shared Key)
55 一時鍵(Temp Key)
60 セキュリティサイト
61 顧客サーバー
63 データサーバー
65 活性化前顧客秘密データ生成サーバー
62、64、66 記憶媒体(CD等)
70 データ処理装置の工場
100 データ処理装置
1 Semiconductor integrated circuit device (LSI; microcontroller, SOC, etc.)
10 Cryptographic engine 11, 12, 13 Decryption unit 14 Encryption unit 15 Installation key (shared key)
16 Device unique key 17 Temp Key
20 Nonvolatile memory (Flash memory)
21 Customer Secret Data Encrypted with Device Unique Key 22 Customer Secret Data Encrypted with Installation Key 23 Customer Secret Data Encrypted with Temporary Key 24 Temporary Key Encrypted with Installation Key 30 CPU
31 Interface 32 Random number generator 33 Timer 34 RAM
35 ROM
36 Bus 39 Peripheral module 40 Non-volatile memory (Flash memory)
41 Activation Program 42 General Program 43 External Bus 50 Customer Secret Data Management Device 51 Customer Secret Data 52, 53 Encryption Unit 54 Installation Key (Common Key)
55 Temp Key
60 Security site 61 Customer server 63 Data server 65 Customer secret data generation server 62, 64, 66 before activation Storage medium (CD, etc.)
70 Data processing equipment factory 100 Data processing equipment

Claims (16)

暗号演算回路と、秘密データを使用する回路と、外付けされる不揮発性メモリとのインターフェース回路とを有する半導体集積回路装置であって、
前記暗号演算回路は、第1暗号鍵を用いた復号と、前記半導体集積回路装置に固有のデバイス固有鍵である第2暗号鍵を用いた暗号化及び復号とを実行可能であり、
前記暗号演算回路は、前記第1暗号鍵または前記第1暗号鍵と対をなす暗号鍵を用いて暗号化されている第1データを、前記第1暗号鍵を用いて復号した後に、前記第2暗号鍵を用いて暗号化して第2データとして、前記インターフェースを介して前記不揮発性メモリに書き込む活性化処理を実行可能であり、
前記暗号演算回路は、前記第2データを、前記インターフェース回路を介して読出し、前記第2暗号鍵または前記第2暗号鍵と対をなす復号鍵を用いて復号して前記秘密データを使用する回路に供給可能である、
半導体集積回路装置。
A semiconductor integrated circuit device having a cryptographic operation circuit, a circuit using secret data, and an interface circuit with an external nonvolatile memory,
The cryptographic operation circuit is capable of executing decryption using a first encryption key and encryption and decryption using a second encryption key that is a device unique key unique to the semiconductor integrated circuit device,
The cryptographic operation circuit decrypts the first data encrypted using the first encryption key or the encryption key paired with the first encryption key using the first encryption key, and An activation process can be performed in which the data is encrypted using the two encryption keys and written to the nonvolatile memory as the second data via the interface;
The cryptographic operation circuit reads the second data through the interface circuit, decrypts the second data using the second encryption key or a decryption key paired with the second encryption key, and uses the secret data Can be supplied,
Semiconductor integrated circuit device.
請求項1において、前記第1暗号鍵と前記第2暗号鍵は、それぞれ共通鍵暗号方式による共通鍵であり、
前記半導体集積回路装置は、前記第1暗号鍵と前記第2暗号鍵とを保持し、
前記暗号演算回路は、前記第1暗号鍵を用いて暗号化されている第1データを、前記第1暗号鍵を用いて復号した後に、前記第2暗号鍵を用いて暗号化して第2データとし、
前記暗号演算回路は、前記不揮発性メモリから読み出された前記第2データを、前記第2暗号鍵を用いて復号する、
半導体集積回路装置。
In claim 1, the first encryption key and the second encryption key are each a common key by a common key encryption method,
The semiconductor integrated circuit device holds the first encryption key and the second encryption key,
The cryptographic operation circuit decrypts the first data encrypted using the first encryption key using the first encryption key, and then encrypts the second data using the second encryption key. age,
The cryptographic operation circuit decrypts the second data read from the nonvolatile memory using the second encryption key;
Semiconductor integrated circuit device.
請求項2において、前記第1データは前記不揮発性メモリに格納されており、
前記暗号演算回路は、前記第1データを、前記インターフェースを介して前記不揮発性メモリから読み出す、
半導体集積回路装置。
In claim 2, the first data is stored in the nonvolatile memory,
The cryptographic operation circuit reads the first data from the nonvolatile memory via the interface.
Semiconductor integrated circuit device.
請求項3において、
前記不揮発性メモリ上の前記第1データは、読み出された後に消去される、
半導体集積回路装置。
In claim 3,
The first data on the nonvolatile memory is erased after being read.
Semiconductor integrated circuit device.
請求項1において、
前記半導体集積回路装置は、前記第2暗号鍵と第3暗号鍵とを保持し、
前記第1暗号鍵と前記第2暗号鍵は、それぞれ共通鍵暗号方式による共通鍵であり、
前記暗号演算回路は、さらに前記第3暗号鍵を用いた復号を実行可能であり、
前記暗号演算回路は、前記第3暗号鍵で暗号化されている前記第1暗号鍵を、前記第3暗号鍵を用いて復号した後に、前記第1暗号鍵を用いて暗号化されている第1データを、復号された前記第1暗号鍵を用いて復号した後に、前記第2暗号鍵を用いて暗号化して第2データとし、
前記暗号演算回路は、前記不揮発性メモリから読み出された前記第2データを、前記第2暗号鍵を用いて復号する、
半導体集積回路装置。
In claim 1,
The semiconductor integrated circuit device holds the second encryption key and the third encryption key,
The first encryption key and the second encryption key are each a common key by a common key cryptosystem,
The cryptographic operation circuit can further perform decryption using the third encryption key,
The cryptographic operation circuit decrypts the first encryption key encrypted with the third encryption key using the third encryption key, and then encrypts the first encryption key using the first encryption key. 1 data is decrypted using the decrypted first encryption key, and then encrypted using the second encryption key to obtain second data,
The cryptographic operation circuit decrypts the second data read from the nonvolatile memory using the second encryption key;
Semiconductor integrated circuit device.
請求項5において、前記第1暗号鍵を用いて暗号化されている前記第1データと前記第3暗号鍵で暗号化されている前記第1暗号鍵は、前記不揮発性メモリに格納されており、
暗号化されている前記第1暗号鍵と暗号化されている前記第1データとを、前記インターフェースを介して前記不揮発性メモリから読み出す、
半導体集積回路装置。
6. The nonvolatile memory according to claim 5, wherein the first data encrypted using the first encryption key and the first encryption key encrypted using the third encryption key are stored in the nonvolatile memory. ,
Reading the encrypted first encryption key and the encrypted first data from the nonvolatile memory via the interface;
Semiconductor integrated circuit device.
請求項6において、
前記不揮発性メモリ上の前記第1データと前記第1暗号鍵は、読み出された後に消去される、
半導体集積回路装置。
In claim 6,
The first data and the first encryption key on the nonvolatile memory are erased after being read.
Semiconductor integrated circuit device.
請求項1において、
前記インターフェース回路には、活性化プログラムを格納するプログラムメモリをさらに接続可能であり、
前記半導体集積回路装置は、前記プログラムメモリをアクセスして前記活性化プログラムを実行することによって、前記活性化処理を実行する、
半導体集積回路装置。
In claim 1,
A program memory storing an activation program can be further connected to the interface circuit,
The semiconductor integrated circuit device executes the activation process by accessing the program memory and executing the activation program;
Semiconductor integrated circuit device.
請求項1において、
前記半導体集積回路装置は、活性化プログラムを格納するオンチップメモリをさら備え、前記オンチップメモリをアクセスして前記活性化プログラムを実行することによって、前記活性化処理を実行する、
半導体集積回路装置。
In claim 1,
The semiconductor integrated circuit device further includes an on-chip memory for storing an activation program, and executes the activation process by accessing the on-chip memory and executing the activation program.
Semiconductor integrated circuit device.
暗号演算回路と秘密データを使用する回路とを有する半導体集積回路装置と、前記半導体集積回路装置と電気的に接続される不揮発性メモリと備え、
前記不揮発性メモリは、第1暗号鍵を用いて暗号化されている第1データを保持し、
前記半導体集積回路装置は、前記暗号演算回路によって、前記第1暗号鍵または前記第1暗号鍵と対をなす復号鍵を用いて復号した後に、前記半導体集積回路装置に固有のデバイス固有鍵である第2暗号鍵を用いて暗号化して第2データとして、前記不揮発性メモリに書き込む活性化処理を実行可能であり、
前記活性化処理後、前記半導体集積回路装置は、前記第2データを前記不揮発性メモリから読出し、前記暗号演算回路によって、前記第2暗号鍵または前記第2暗号鍵と対をなす復号鍵を用いて復号して、前記秘密データを使用する回路に供給可能である、
データ処理装置。
A semiconductor integrated circuit device having a cryptographic operation circuit and a circuit using secret data, and a nonvolatile memory electrically connected to the semiconductor integrated circuit device,
The non-volatile memory holds first data encrypted using a first encryption key,
The semiconductor integrated circuit device is a device unique key unique to the semiconductor integrated circuit device after being decrypted by the cryptographic operation circuit using the first encryption key or a decryption key paired with the first encryption key. It is possible to execute an activation process in which the second data is encrypted using the second encryption key and written to the nonvolatile memory as second data,
After the activation process, the semiconductor integrated circuit device reads the second data from the nonvolatile memory, and uses the decryption key paired with the second encryption key or the second encryption key by the cryptographic operation circuit. Can be decrypted and supplied to a circuit that uses the secret data.
Data processing device.
請求項10において、前記第1暗号鍵と前記第2暗号鍵は、それぞれ共通鍵暗号方式による共通鍵であり、
前記半導体集積回路装置は、前記第1暗号鍵と前記第2暗号鍵とを保持し、
前記暗号演算回路は、前記第1暗号鍵を用いて暗号化されている第1データを、前記第1暗号鍵を用いて復号した後に、前記第2暗号鍵を用いて暗号化して第2データとし、
前記暗号演算回路は、前記不揮発性メモリから読み出された前記第2データを、前記第2暗号鍵を用いて復号する、
データ処理装置。
In Claim 10, said 1st encryption key and said 2nd encryption key are common keys by a common key encryption method, respectively,
The semiconductor integrated circuit device holds the first encryption key and the second encryption key,
The cryptographic operation circuit decrypts the first data encrypted using the first encryption key using the first encryption key, and then encrypts the second data using the second encryption key. age,
The cryptographic operation circuit decrypts the second data read from the nonvolatile memory using the second encryption key;
Data processing device.
請求項11において、
前記半導体集積回路装置は、前記不揮発性メモリ上の前記第1データを読み出された後に消去する、
データ処理装置。
In claim 11,
The semiconductor integrated circuit device erases the first data on the nonvolatile memory after being read.
Data processing device.
請求項10において、
前記不揮発性メモリは、第3暗号鍵で暗号化されている第1暗号鍵をさらに保持し、
前記第1暗号鍵と前記第2暗号鍵と前記第3暗号鍵は、それぞれ共通鍵暗号方式による共通鍵であり、
前記半導体集積回路装置は、前記第2暗号鍵と前記第3暗号鍵とを保持し、
前記活性化処理において、前記半導体集積回路装置は、暗号化されている前記第1暗号鍵を前記不揮発性メモリから読み出して前記暗号演算回路に前記第3暗号鍵を用いて復号させ、暗号化されている第1データを読み出して、前記復号された前記第1暗号鍵を用いて前記暗号演算回路に復号させた後に、前記暗号演算回路に前記第2暗号鍵を用いて暗号化させて第2データとし、
前記活性化処理後、前記半導体集積回路装置は、前記不揮発性メモリから読み出した前記第2データを、前記暗号演算回路によって前記第2暗号鍵を用いて復号させる、
データ処理装置。
In claim 10,
The non-volatile memory further holds a first encryption key encrypted with a third encryption key;
The first encryption key, the second encryption key, and the third encryption key are common keys by a common key encryption method,
The semiconductor integrated circuit device holds the second encryption key and the third encryption key,
In the activation process, the semiconductor integrated circuit device reads the encrypted first encryption key from the non-volatile memory, causes the cryptographic operation circuit to decrypt it using the third encryption key, and encrypts it. Second data is read out and decrypted by the cryptographic operation circuit using the decrypted first encryption key, and then encrypted by the encryption operation circuit using the second encryption key. Data and
After the activation process, the semiconductor integrated circuit device causes the cryptographic operation circuit to decrypt the second data read from the nonvolatile memory using the second cryptographic key,
Data processing device.
請求項13において、
前記半導体集積回路装置は、前記不揮発性メモリ上の前記第1データと前記第1暗号鍵を、読み出した後に消去する、
データ処理装置。
In claim 13,
The semiconductor integrated circuit device erases the first data and the first encryption key on the nonvolatile memory after reading them.
Data processing device.
請求項10において、
前記半導体集積回路装置には、活性化プログラムを格納するプログラムメモリがさらに接続され、
前記半導体集積回路装置は、前記プログラムメモリをアクセスして前記活性化プログラムを実行することによって、前記活性化処理を実行する、
データ処理装置。
In claim 10,
A program memory for storing an activation program is further connected to the semiconductor integrated circuit device,
The semiconductor integrated circuit device executes the activation process by accessing the program memory and executing the activation program;
Data processing device.
請求項10において、
前記半導体集積回路装置は、活性化プログラムを格納するオンチップメモリをさら備え、前記オンチップメモリをアクセスして前記活性化プログラムを実行することによって、前記活性化処理を実行する、
データ処理装置。
In claim 10,
The semiconductor integrated circuit device further includes an on-chip memory for storing an activation program, and executes the activation process by accessing the on-chip memory and executing the activation program.
Data processing device.
JP2015240790A 2015-12-10 2015-12-10 Semiconductor integrated circuit device and data processing apparatus Pending JP2017108293A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015240790A JP2017108293A (en) 2015-12-10 2015-12-10 Semiconductor integrated circuit device and data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015240790A JP2017108293A (en) 2015-12-10 2015-12-10 Semiconductor integrated circuit device and data processing apparatus

Publications (1)

Publication Number Publication Date
JP2017108293A true JP2017108293A (en) 2017-06-15

Family

ID=59061079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015240790A Pending JP2017108293A (en) 2015-12-10 2015-12-10 Semiconductor integrated circuit device and data processing apparatus

Country Status (1)

Country Link
JP (1) JP2017108293A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020039527A1 (en) * 2018-08-22 2020-02-27 日本電気株式会社 Signature processing apparatus, signature processing method, signature processing system, and computer-readable recording medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096666A (en) * 2002-09-04 2004-03-25 Matsushita Electric Ind Co Ltd Semiconductor device having encryption part, semiconductor device having external interface, and contents reproducing method
JP2004164491A (en) * 2002-11-15 2004-06-10 Matsushita Electric Ind Co Ltd Method for updating program and server
JP2006079449A (en) * 2004-09-10 2006-03-23 Canon Inc Storage medium access control method
JP2007179317A (en) * 2005-12-28 2007-07-12 Nec Electronics Corp Microcomputer, program writing method to microcomputer, and writing processing system
JP2008102618A (en) * 2006-10-17 2008-05-01 Toshiba Corp Electronic equipment and firmware protecting method
JP2015012409A (en) * 2013-06-28 2015-01-19 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096666A (en) * 2002-09-04 2004-03-25 Matsushita Electric Ind Co Ltd Semiconductor device having encryption part, semiconductor device having external interface, and contents reproducing method
JP2004164491A (en) * 2002-11-15 2004-06-10 Matsushita Electric Ind Co Ltd Method for updating program and server
JP2006079449A (en) * 2004-09-10 2006-03-23 Canon Inc Storage medium access control method
JP2007179317A (en) * 2005-12-28 2007-07-12 Nec Electronics Corp Microcomputer, program writing method to microcomputer, and writing processing system
JP2008102618A (en) * 2006-10-17 2008-05-01 Toshiba Corp Electronic equipment and firmware protecting method
JP2015012409A (en) * 2013-06-28 2015-01-19 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020039527A1 (en) * 2018-08-22 2020-02-27 日本電気株式会社 Signature processing apparatus, signature processing method, signature processing system, and computer-readable recording medium
JPWO2020039527A1 (en) * 2018-08-22 2021-05-13 日本電気株式会社 Signature processing device, signature processing method, signature processing system, and program
JP7070689B2 (en) 2018-08-22 2022-05-18 日本電気株式会社 Signature processing device, signature processing method, signature processing system, and program

Similar Documents

Publication Publication Date Title
US9602282B2 (en) Secure software and hardware association technique
CN108932297B (en) Data query method, data sharing method, device and equipment
CN107750363B (en) Securing communications with hardware accelerators to increase workflow security
US10263770B2 (en) Data protection in a storage system using external secrets
US8543838B1 (en) Cryptographic module with secure processor
TW202009778A (en) Firmware upgrade method and device
KR101712784B1 (en) System and method for key management for issuer security domain using global platform specifications
US8014530B2 (en) Method and apparatus for authenticated, recoverable key distribution with no database secrets
JP5275432B2 (en) Storage medium, host device, memory device, and system
JP5275482B2 (en) Storage medium, host device, memory device, and system
JP4616345B2 (en) A method for directly distributing a certification private key to a device using a distribution CD
US20150095652A1 (en) Encryption and decryption processing method, apparatus, and device
JP2017157018A (en) Information processing device, information processing method, information processing program, and trusted platform module
KR102573943B1 (en) Personalize your integrated circuit
CN116011041B (en) Key management method, data protection method, system, chip and computer equipment
US11734394B2 (en) Distributed license encryption and distribution
US20210240833A1 (en) Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain
US20190123900A1 (en) Rekeying keys for encrypted data in nonvolatile memories
JP2017108293A (en) Semiconductor integrated circuit device and data processing apparatus
JP6898921B2 (en) Lifecycle state encryption management
US11720717B2 (en) System memory information protection with a controller
JP2019121955A (en) Semiconductor device and generating method of encryption key
JP2019121884A (en) Integrated circuit, control device, information distribution method, and information distribution system
JP6203532B2 (en) Semiconductor memory device and data processing system
CN114006695B (en) Hard disk data protection method and device, trusted platform chip and electronic equipment

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190716