JP2017108293A - Semiconductor integrated circuit device and data processing apparatus - Google Patents
Semiconductor integrated circuit device and data processing apparatus Download PDFInfo
- 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
Links
Images
Abstract
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の暗号鍵セットの復号鍵を使って暗号化されたプログラムを復号して実行する。これにより、プログラムの秘匿性は担保される。
特許文献1について本発明者が検討した結果、以下のような新たな課題があることがわかった。
As a result of examination of the
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.
実施の形態について詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。 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の構成例を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration example of an
データ処理装置100は、LSI1と、LSI1と電気的に接続される不揮発性メモリ20と備える。LSI1は、暗号演算回路の一例である暗号エンジン10と、秘密データを使用する回路の一例であるCPU(Central Processing Unit)30と、外付けされる不揮発性メモリ20とのインターフェース回路31とを有する。暗号エンジン10は、第1暗号鍵15を用いた復号演算処理12と、LSI1に固有のデバイス固有鍵である第2暗号鍵16を用いた暗号化演算処理14及び復号演算処理11とを実行可能である。
The
活性化処理において、入力される第1暗号鍵15を用いて暗号化された秘密データ22に対して、暗号エンジン10は第1暗号鍵15を用いて復号演算処理12を行って、内部に平文の秘密データ22を復元した後、デバイス固有鍵16を用いて暗号化演算処理14を行って、インターフェース回路31を介して不揮発性メモリ20に書き込む。
In the activation process, the
その後の通常処理では、LSI1は、デバイス固有鍵16を用いて暗号化された秘密データ21を不揮発性メモリ20からインターフェース回路31を介して読み込み、暗号エンジン10によってデバイス固有鍵16を使った復号演算処理11を行ってCPU30に供給する。
In the subsequent normal processing, the
これにより、半導体集積回路装置(LSI)1に固有のデバイス固有鍵16で暗号化された秘密データ21を、その秘密データが格納される不揮発性メモリ20がLSI1に接続された後に書き込む、活性化処理を行なうことができ、当該不揮発性メモリ20の管理に要する負荷を軽減することができる。また、不揮発性メモリ20への秘密データを暗号化するために、デバイス固有鍵16を読み出す必要がなく、デバイス固有鍵16は一切読み出されることがないような構成を採用することができるので、セキュリティが著しく強化される。
Thereby, the
デバイス固有鍵16は、LSI1に固有である。例えば、LSI1の出荷段階で外部から入力される種データに基づいて生成され、或いは、LSI1の製造ばらつきを反映する物理的パラメータから生成される。後者の場合、例えば、物理的に複製不可能な関数(PUF:Physically Unclonable Function)を利用して生成されてもよい。デバイス固有鍵16はLSI1に固有であるが故に、セキュリティ性能が極めて高い。特に、PUFを利用して物理的に複製不可能とすることにより、LSI1自体を複製された場合であっても、暗号化された顧客秘密データを復号することができないように構成することができる。
The device unique key 16 is unique to the
デバイス固有鍵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
本願の代表的な実施の形態においては、外付けされる不揮発性メモリ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
デバイス固有鍵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
暗号化と復号のあるアルゴリズムは任意であり、例えば、共通鍵暗号方式でも公開鍵暗号方式でもよい。公開鍵暗号方式のように、暗号化と復号に使用する鍵が異なる場合には、一対であればよい。即ち、暗号化処理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
〔実施形態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
図2は、実施形態2に係るLSI1及びそのLSI1と不揮発性メモリ20を備えるデータ処理装置100の構成例を示すブロック図である。
FIG. 2 is a block diagram illustrating a configuration example of the
データ処理装置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
顧客秘密データ51は、顧客秘密データ管理装置50において、上記インストール鍵15と同じ共通鍵(または対応する公開鍵)であるインストール鍵54を使って暗号化処理52を施され、インストール鍵で暗号化された顧客秘密データ22が生成される。インストール鍵で暗号化された顧客秘密データ22は、フラッシュメモリ20に書き込まれる。顧客秘密データ22が書き込まれたフラッシュメモリ20とマイクロコントローラ1は、組み立て工程において、例えばデータ処理装置100に搭載されるプリント基板上に実装されることによって、電気的に接続される。その後、活性化処理が行われる。
The customer
活性化処理において、インストール鍵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
その後の通常動作では、マイクロコントローラ1は、インターフェース回路31を介してフラッシュメモリ20から顧客秘密データ21を読み込み、暗号エンジンン10においてデバイス固有鍵16を使った復号演算処理11を施した後に、CPU30に供給する。
In the subsequent normal operation, the
これにより、マイクロコントローラ1の個体に固有のデバイス固有鍵16で暗号化された秘密データ21を、その秘密データが格納されるフラッシュメモリ20がマイクロコントローラ1に接続された後に書き込む、活性化処理を行なうことができ、当該フラッシュメモリ20の管理に要する負荷を軽減することができる。また、フラッシュメモリ20への秘密データを暗号化するために、デバイス固有鍵16を読み出す必要がなく、デバイス固有鍵16は一切読み出されることがないような構成を採用することができるので、セキュリティが著しく強化される。
As a result, the activation process of writing the
データ処理装置100の動作についてさらに詳しく説明する。
The operation of the
図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
図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
このように、インストール鍵で暗号化された顧客秘密データ22を、フラッシュメモリ20に書き込んで、データ処理装置100の製造工程の1つである組立て工程に配送することにより、配送過程における顧客秘密データを暗号化された状態にして、保護することができる。さらに、活性化処理においては通常動作でも使用されるインターフェース回路31を介して顧客秘密データ22がマイクロコントローラ1に読み込まれ、同じ、インターフェース回路31を介してフラッシュメモリ20に書き戻されるため、活性化処理にのみ使用するようなインターフェースをマイクロコントローラ1に追加する必要がない。
Thus, the customer
なお、特に制限されるものではないが、インストール鍵15とデバイス固有鍵16をそれぞれ共通鍵暗号方式の共通鍵とすることにより、暗号演算回路10による暗号化と復号の演算負荷が抑えられる。
Although not particularly limited, by using the
図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
顧客サーバー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
データ処理装置100の工場70では、インストール鍵を使って暗号化された顧客秘密データ22を、フラッシュメモリ20に書き込み、マイクロコントローラ1と接続する組み立て工程を行う。マイクロコントローラ1は、インストール鍵15とデバイス固有鍵16とを有する暗号エンジン10を備えており、上述したように活性化処理を終えた後には、フラッシュメモリ20上のインストール鍵で暗号化された顧客秘密データ22を消去してもよい。
In the
これにより、フラッシュメモリ20の記憶領域が解放されて利用可能となり、合せて、セキュリティが強化される。顧客秘密データ管理装置50側でも管理されている共通鍵であるインストール鍵で暗号化された顧客秘密データ22は、外部に知られていないデバイス固有鍵16で暗号化された顧客秘密データ21と比較して安全性が劣るところ、組立て後の不揮発性メモリに格納されているのが、安全性の高い顧客秘密データ21のみとなるからである。
Thereby, the storage area of the
なお、暗号化された顧客秘密データ22のフラッシュメモリ20への書き込みは、図示される例の他、セキュリティサイト60で実施され、或いは、他のサイト、例えば不揮発性メモリの製造工場で実施されても良い。
The encrypted customer
また、記録媒体62、64、66は、上で例示したCDの他、DVD(Digital Versatile Disc;登録商標)、ブルーレイディスク(Blue-Ray Disc;登録商標)、USB(Universal Serial Bus)メモリ等の半導体メモリであってもよい。また、これらの有体物に限られず、インターネットなどのネットワーク上のパケットを含む、有線/無線を問わない通信媒体などの無体物であってもよい。
The
顧客秘密データは、例えば顧客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
組み立て工場での活性化処理では、図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
LSI1は、上で例示したマイクロコントローラ1のように、プログラムを実行することができるプロセッサであって、外部に接続されるフラッシュメモリ20に対する書込みを行うためのインターフェース回路31を備えるとよい。
The
図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
図10と図11に示されるデータ処理装置100はどちらも、マイクロコントローラ1とデータフラッシュメモリ20とコードフラッシュメモリ40とが、マイクロコントローラ1が有するフラッシュメモリインターフェース31に接続される外部バス43に接続されている。
In both of the
図10に例示されるマイクロコントローラ1は、CPU30、暗号エンジン10、インストール鍵(共通鍵)15、デバイス固有鍵16、フラッシュメモリインターフェース31、乱数発生器32、タイマ33、RAM34、及び、周辺モジュール39を有し、主な機能ブロックは内部バス36を介してCPU30に電気的に接続されている。インストール鍵(共通鍵)15とデバイス固有鍵16は、暗号エンジン10に直接接続され、CPU30を始めとして、暗号エンジン10以外の機能モジュールからアクセスすることができないように構成されることによって、耐タンパ性が担保されている。インストール鍵(共通鍵)15とデバイス固有鍵16は、暗号エンジン10に内蔵されていても良い。
The
データフラッシュメモリ20には、活性化処理前にはインストール鍵で暗号化された顧客データ22が格納され、活性化処理の後にはデバイス固有鍵16で暗号化された顧客秘密データ21が格納される。コードフラッシュメモリ40には、活性化プログラム41と他の一般のプログラム42が格納されている。
The
活性化処理を実行するために、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
図11に例示されるデータ処理装置100は、マイクロコントローラ1がさらにROM35を内蔵する点で図10に例示されるマイクロコントローラ1と異なり、活性化プログラム41が外付けのコードフラッシュメモリ40に代えて内蔵ROM35に格納されている点で異なるが、他の構成は同様であるので説明を省略する。活性化処理を実行するためには、CPU30は内蔵ROM35に格納されている活性化プログラム41を実行する点で上述の図10の動作とは相違するが、活性化プログラム41によって実行される活性化処理の内容自体は上述と同様であるので説明は省略する。
The
図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
〔実施形態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
図12は、実施形態3に係るデータ処理装置100に顧客秘密データをインストールする処理全体の概要を模式的に示す説明図である。
FIG. 12 is an explanatory diagram schematically showing an overview of the entire process of installing customer secret data in the
顧客秘密データ管理装置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
鍵活性化処理では、マイクロコントローラ1は、まず、フラッシュメモリ20からインストール鍵で暗号化された一時鍵24を読み込んで、内部に保持するインストール鍵15を使って復号し、平文の一時鍵を得る。マイクロコントローラ1は、次にフラッシュメモリ20から一時鍵で暗号化された顧客秘密データ23を読み込んで、復号された一時鍵を使って復号する。マイクロコントローラ1は、復号された顧客秘密データを、デバイス固有鍵16を使って暗号化して、フラッシュメモリ20に書き込む。フラッシュメモリ20に書き込まれた顧客秘密データは、デバイス固有鍵で暗号化された顧客秘密データ21であり、マイクロコントローラ1は、これを使用するときは、フラッシュメモリ20から読み込んで、デバイス固有鍵で復号する。実施形態2と同様に、フラッシュメモリ20上の一時鍵で暗号化された顧客秘密データ23とインストール鍵で暗号化された一時鍵24は、活性化処理を終えた後には消去されてもよい。
In the key activation process, the
これにより、一時鍵(Temp key)をマイクロコントローラ1に予め保持させておく必要がなく、顧客秘密データ管理装置50において自由に設定し変更することができる。例えば、暗号化された秘密データの仕向け先ごとに個別に設定することができる。また、頻繁に変更することができる。
Thereby, it is not necessary to hold a temporary key (Temp key) in the
図13は、本実施形態3に係るLSI1及びそのLSI1と不揮発性メモリ20を備えるデータ処理装置100の構成例を示すブロック図である。
FIG. 13 is a block diagram illustrating a configuration example of the
データ処理装置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
顧客秘密データ管理装置50において、顧客秘密データ51は、上記一時鍵17と同じ共通鍵である一時鍵55を使って暗号化処理52を施され、一時鍵で暗号化された顧客秘密データ23が生成される。このときに暗号化に使われた一時鍵は、上記インストール鍵17と同じ共通鍵であるインストール鍵54を使って暗号化処理53を施され、インストール鍵で暗号化された一時鍵24が生成される。一時鍵で暗号化された顧客秘密データ23とインストール鍵で暗号化された一時鍵24とは、フラッシュメモリ20に書き込まれる。顧客秘密データ23と一時鍵24が書き込まれたフラッシュメモリ20とマイクロコントローラ1は、組み立て工程において、例えばデータ処理装置100に搭載されるプリント基板上に実装されることによって、電気的に接続され、その後、活性化処理が行われる。
In the customer secret
活性化処理において、インストール鍵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
その後の通常動作では、マイクロコントローラ1は、インターフェース回路31を介してフラッシュメモリ20から顧客秘密データ21を読み込み、暗号エンジンン10においてデバイス固有鍵16を使った復号演算処理11を施した後に、CPU30に供給する。
In the subsequent normal operation, the
これにより、実施形態2と同様に、マイクロコントローラ1の個体に固有のデバイス固有鍵16で暗号化された秘密データ21を、その秘密データが格納されるフラッシュメモリ20がマイクロコントローラ1に接続された後に書き込む、活性化処理を行なうことができ、当該フラッシュメモリ20の管理に要する負荷を軽減することができる。また、フラッシュメモリ20への秘密データを暗号化するために、デバイス固有鍵16を読み出す必要がなく、デバイス固有鍵16は一切読み出されることがないような構成を採用することができるので、セキュリティが著しく強化される点でも同様である。さらに、一時鍵は活性化処理を終わった後は消去されてもよい。これにより、フラッシュメモリ20上の一時鍵で暗号化された顧客秘密データ23が消去されない場合であっても、これを復号するための一時鍵がデータ処理装置100内に存在しなくなるので、安全性が高まる。
Thus, as in the second embodiment, the
図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
組み立て工場での活性化処理では、図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
LSI1は、上で例示したマイクロコントローラ1のように、プログラムを実行することができるプロセッサであって、外部に接続されるフラッシュメモリ20に対する書込みを行うためのインターフェース回路31を備えるとよい。
The
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。 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
暗号方式としては、主に例示した共通鍵暗号方式に代えて公開鍵暗号方式を採用してもよい。公開鍵暗号方式を採用する場合には、暗号化のために使用する公開鍵と復号のために使用する秘密鍵を一対の組とすればよい。例えば、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
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
16 Device unique key 17 Temp Key
20 Nonvolatile memory (Flash memory)
21 Customer Secret Data Encrypted with
31
35 ROM
36
41
55 Temp Key
60
70 Data
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暗号鍵と前記第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.
前記暗号演算回路は、前記第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.
前記不揮発性メモリ上の前記第1データは、読み出された後に消去される、
半導体集積回路装置。 In claim 3,
The first data on the nonvolatile memory is erased after being read.
Semiconductor integrated circuit device.
前記半導体集積回路装置は、前記第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.
暗号化されている前記第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.
前記不揮発性メモリ上の前記第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.
前記インターフェース回路には、活性化プログラムを格納するプログラムメモリをさらに接続可能であり、
前記半導体集積回路装置は、前記プログラムメモリをアクセスして前記活性化プログラムを実行することによって、前記活性化処理を実行する、
半導体集積回路装置。 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.
前記半導体集積回路装置は、活性化プログラムを格納するオンチップメモリをさら備え、前記オンチップメモリをアクセスして前記活性化プログラムを実行することによって、前記活性化処理を実行する、
半導体集積回路装置。 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.
前記半導体集積回路装置は、前記第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.
前記半導体集積回路装置は、前記不揮発性メモリ上の前記第1データを読み出された後に消去する、
データ処理装置。 In claim 11,
The semiconductor integrated circuit device erases the first data on the nonvolatile memory after being read.
Data processing device.
前記不揮発性メモリは、第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.
前記半導体集積回路装置は、前記不揮発性メモリ上の前記第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.
前記半導体集積回路装置には、活性化プログラムを格納するプログラムメモリがさらに接続され、
前記半導体集積回路装置は、前記プログラムメモリをアクセスして前記活性化プログラムを実行することによって、前記活性化処理を実行する、
データ処理装置。 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.
前記半導体集積回路装置は、活性化プログラムを格納するオンチップメモリをさら備え、前記オンチップメモリをアクセスして前記活性化プログラムを実行することによって、前記活性化処理を実行する、
データ処理装置。 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.
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)
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)
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 |
-
2015
- 2015-12-10 JP JP2015240790A patent/JP2017108293A/en active Pending
Patent Citations (6)
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)
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 |