JP2008003774A - Microcomputer - Google Patents

Microcomputer Download PDF

Info

Publication number
JP2008003774A
JP2008003774A JP2006171426A JP2006171426A JP2008003774A JP 2008003774 A JP2008003774 A JP 2008003774A JP 2006171426 A JP2006171426 A JP 2006171426A JP 2006171426 A JP2006171426 A JP 2006171426A JP 2008003774 A JP2008003774 A JP 2008003774A
Authority
JP
Japan
Prior art keywords
microcomputer
software
public key
decryption
encryption
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.)
Withdrawn
Application number
JP2006171426A
Other languages
Japanese (ja)
Inventor
Takeshi Oriki
健 大力
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.)
Toshiba Corp
Kioxia Systems Co Ltd
Original Assignee
Toshiba Corp
Toshiba Memory Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Memory Systems Co Ltd filed Critical Toshiba Corp
Priority to JP2006171426A priority Critical patent/JP2008003774A/en
Publication of JP2008003774A publication Critical patent/JP2008003774A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a microcomputer which easily keeps an encryption key and a decryption key secret and has a high security level. <P>SOLUTION: A microcomputer 1 includes a secret key storage part 11 for storing a secret key pairing with a public key in a public key encryption system, a decryption part 12 for decrypting input data by using the secret key read out from the secret key storage part 11, and a nonvolatile memory 13 for storing data decrypted by a decryption part 12. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、マイクロコンピュータに関し、特に暗号化されたソフトウェアが書き込まれるマイクロコンピュータに関する。   The present invention relates to a microcomputer, and more particularly to a microcomputer in which encrypted software is written.

内蔵の書き換え可能な不揮発性記憶手段にソフトウェアを格納するマイクロコンピュータでは、マイクロコンピュータに対するソフトウェアの書き込みがEPROMライターなどの書き込み装置を用いて行なわれる。   In a microcomputer that stores software in a built-in rewritable nonvolatile storage means, software is written to the microcomputer by using a writing device such as an EPROM writer.

このソフトウェアの書き込みを第三者に委託する場合もあり、書き込み時のソフトウェアの不正読み出しを防止するため、ソフトウェアを暗号化した上でマイクロコンピュータへ書き込むことが行なわれる(例えば、特許文献1参照。)。   In some cases, the writing of the software is outsourced to a third party, and in order to prevent unauthorized reading of the software at the time of writing, the software is encrypted and written to the microcomputer (for example, see Patent Document 1). ).

このようなソフトウェアの暗号化を行う場合、暗号鍵を用いて暗号化することが行なわれる。そこで、マイクロコンピュータには、その暗号鍵に対応する復号鍵および復号手段を備え、暗号化されて入力されたソフトウェアをマイクロコンピュータ内部で復号することが行なわれる。   When such software is encrypted, encryption is performed using an encryption key. Therefore, the microcomputer is provided with a decryption key and decryption means corresponding to the encryption key, and the software inputted after encryption is decrypted inside the microcomputer.

ソフトウェアを暗号化することにより、不正読み出しに対するソフトウェアのセキュリティは向上するが、そのセキュリティを保つためには、暗号鍵および復号鍵の機密を保持することが重要である。特に、汎用的なマイクロコンピュータは多くのユーザに使用されるため、暗号鍵および復号鍵の機密が保持しやすく、かつセキュリティレベルが高いことが望まれる。
特開平8−185361号公報 (第3ページ、図1)
Encrypting the software improves the security of the software against unauthorized reading, but it is important to maintain the confidentiality of the encryption key and the decryption key in order to maintain the security. In particular, since a general-purpose microcomputer is used by many users, it is desirable that the encryption key and the decryption key be kept secret and that the security level be high.
JP-A-8-185361 (3rd page, FIG. 1)

そこで、本発明の目的は、暗号鍵および復号鍵の機密が保持しやすく、かつセキュリティレベルの高いマイクロコンピュータを提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a microcomputer having a high security level in which the encryption key and the decryption key are kept secret.

本発明の一態様によれば、公開鍵暗号方式の公開鍵と対になる秘密鍵を格納する秘密鍵格納手段と、入力されたデータを前記秘密鍵格納手段から読み出した前記秘密鍵を用いて復号する復号手段と、前記復号手段により復号されたデータを格納する不揮発性記憶手段とを有することを特徴とするマイクロコンピュータが提供される。   According to one aspect of the present invention, a secret key storage unit that stores a secret key that is paired with a public key of a public key cryptosystem, and the secret key that is obtained by reading input data from the secret key storage unit There is provided a microcomputer characterized by having decoding means for decoding and non-volatile storage means for storing data decoded by the decoding means.

また、本発明の別の一態様によれば、公開鍵暗号方式の公開鍵を格納する公開鍵格納手段と、前記公開鍵と対になる秘密鍵を格納する秘密鍵格納手段と、入力されたデータを前記秘密鍵格納手段から読み出した前記秘密鍵を用いて復号する復号手段と、前記復号手段により復号されたデータを格納する不揮発性記憶手段と、前記不揮発性記憶手段に格納された前記復号手段により復号されたデータを前記公開鍵格納手段から読み出した前記公開鍵を用いて暗号化する暗号化手段とを有することを特徴とするマイクロコンピュータが提供される。   According to another aspect of the present invention, a public key storage unit that stores a public key of a public key cryptosystem, a secret key storage unit that stores a secret key that is paired with the public key, and an input Decryption means for decrypting data using the secret key read from the secret key storage means, nonvolatile storage means for storing data decrypted by the decryption means, and the decryption stored in the nonvolatile storage means There is provided a microcomputer characterized by having encryption means for encrypting data decrypted by the means using the public key read from the public key storage means.

本発明によれば、ソフトウェアを暗号化してマイクロコンピュータに書き込むので、マイクロコンピュータへの書き込み時にソフトウェアが不正に読み出されることを防止することができる。このとき、公開鍵を暗号鍵として使用するので、マイクロコンピュータの使用者は暗号鍵の保管に煩わされることがない。また、暗号化されたソフトウェアに対する復号鍵を秘密鍵としてマイクロコンピュータの内部に格納するので、暗号化されたソフトウェアの復号が困難であり、ソフトウェアの不正なコピーなどによる知的財産権の侵害を防止することができる。   According to the present invention, since the software is encrypted and written to the microcomputer, it is possible to prevent the software from being read illegally when writing to the microcomputer. At this time, since the public key is used as the encryption key, the microcomputer user is not bothered by storing the encryption key. In addition, since the decryption key for the encrypted software is stored inside the microcomputer as a secret key, it is difficult to decrypt the encrypted software, preventing infringement of intellectual property rights due to unauthorized copying of the software, etc. can do.

以下、本発明の実施例を図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の実施例1に係るマイクロコンピュータの構成の例を示すブロック図である。   FIG. 1 is a block diagram illustrating an example of a configuration of a microcomputer according to the first embodiment of the invention.

本実施例のマイクロコンピュータ1は、公開鍵暗号方式の公開鍵と対になる秘密鍵を格納する秘密鍵格納部11と、入力されたデータを秘密鍵格納部11から読み出した秘密鍵を用いて復号する復号部12と、復号部12により復号されたデータを格納する不揮発性メモリ13と、復号動作制御用の制御プログラムを格納するブートROM14とを有する。   The microcomputer 1 of this embodiment uses a secret key storage unit 11 that stores a secret key that is paired with a public key of the public key cryptosystem, and a secret key that is read from the secret key storage unit 11 of input data. It has a decoding unit 12 for decoding, a nonvolatile memory 13 for storing data decoded by the decoding unit 12, and a boot ROM 14 for storing a control program for controlling the decoding operation.

また、マイクロコンピュータ1は、外部とのデータのインターフェースを行うI/F(インターフェース)部61と、制御プログラムにもとづいて復号動作を制御するCPU62と、I/F部61を介して外部から入力されたデータを一時的に記憶するRAM63と、各ブロックが接続され、ブロック間相互でデータが伝送される内部バス64とを有する。   Further, the microcomputer 1 is input from the outside through the I / F (interface) unit 61 that interfaces data with the outside, the CPU 62 that controls the decoding operation based on the control program, and the I / F unit 61. RAM 63 for temporarily storing the data, and an internal bus 64 to which each block is connected and data is transmitted between the blocks.

このマイクロコンピュータ1へソフトウェアを書き込むときは、PC(パーソナルコンピュータ)100で公開鍵を用いて暗号化した上で書き込み装置200によりI/F部61へ入力する。   When writing software to the microcomputer 1, the software is encrypted using a public key by a PC (personal computer) 100 and input to the I / F unit 61 by the writing device 200.

ここで、公開鍵は、例えば、マイクロコンピュータ1を製造した半導体製造メーカにより作成され、マイクロコンピュータ1の使用者に公開されているものである。一方、この公開鍵で暗号化されたデータを復号するための復号鍵は、秘密鍵として、マイクロコンピュータ1の製造時に秘密鍵格納部11に格納されている。また、暗号化プログラムも半導体製造メーカにより提供され、これに対する復号回路が復号部12に搭載されている。   Here, the public key is created by, for example, a semiconductor manufacturer that manufactured the microcomputer 1 and is disclosed to the user of the microcomputer 1. On the other hand, a decryption key for decrypting data encrypted with the public key is stored as a secret key in the secret key storage unit 11 when the microcomputer 1 is manufactured. An encryption program is also provided by the semiconductor manufacturer, and a decryption circuit for the encryption program is mounted in the decryption unit 12.

次に、本実施例のマイクロコンピュータ1へのソフトウェアの書き込み動作について説明する。   Next, a software writing operation to the microcomputer 1 of this embodiment will be described.

ソフトウェアの書き込みを行う場合、まず、PC100上で、公開鍵および暗号プログラムを用いてソフトウェアを暗号化する。次に、暗号化されたソフトウェアを書き込み装置200へ送信する。書き込み装置200は、受信した暗号化されたソフトウェアをマイクロコンピュータ1のI/F部61へ入力する。   When writing software, first, the software is encrypted on the PC 100 using a public key and an encryption program. Next, the encrypted software is transmitted to the writing device 200. The writing device 200 inputs the received encrypted software to the I / F unit 61 of the microcomputer 1.

このとき、マイクロコンピュータ1は、CPU62が、ブートROM14から制御プログラムを読み出し、暗号化されたソフトウェアの復号処理を開始する。   At this time, in the microcomputer 1, the CPU 62 reads out the control program from the boot ROM 14 and starts decrypting the encrypted software.

書き込み装置200から暗号化されたソフトウェアがI/F部61へ入力されると、制御プログラムの制御により、マイクロコンピュータ1は、暗号化されたソフトウェアを内部バス64を介してRAM63へ送り、RAM63に一時記憶する。   When the encrypted software is input from the writing device 200 to the I / F unit 61, the microcomputer 1 sends the encrypted software to the RAM 63 via the internal bus 64 under the control of the control program. Memorize temporarily.

続いて、制御プログラムの制御により、復号部12が、RAM63から暗号化されたソフトウェアを読み出し、秘密鍵格納部11から読み出した秘密鍵を用いて復号する。   Subsequently, under the control of the control program, the decryption unit 12 reads the encrypted software from the RAM 63 and decrypts it using the secret key read from the secret key storage unit 11.

復号が終了すると、制御プログラムの制御により、復号されたソフトウェアは、内部バス64を介して不揮発性メモリ13へ送られ、不揮発性メモリ13に書き込まれる。   When the decryption is completed, the decrypted software is sent to the nonvolatile memory 13 via the internal bus 64 and written to the nonvolatile memory 13 under the control of the control program.

上述の一連の動作により、暗号化されて入力されたソフトウェアは、復号されて不揮発性メモリ13に格納される。   The software input after being encrypted by the above-described series of operations is decrypted and stored in the nonvolatile memory 13.

このような本実施例によれば、ソフトウェアは暗号化されてマイクロコンピュータに書き込まれるので、マイクロコンピュータへの書き込み時にソフトウェアが不正に読み出されることを防止することができる。このとき、公開鍵が暗号鍵として使用されるので、マイクロコンピュータの使用者は暗号鍵を保管する必要がない。また、復号用の秘密鍵をハードウェアとしてマイクロコンピュータの内部に格納するので、秘密鍵の解析が困難である。そのため、暗号化されたソフトウェアの復号が困難であり、ソフトウェアの不正なコピーなどによる知的財産権の侵害を防止することができる。   According to this embodiment, since the software is encrypted and written to the microcomputer, it is possible to prevent the software from being read illegally when writing to the microcomputer. At this time, since the public key is used as the encryption key, the microcomputer user does not need to store the encryption key. Also, since the decryption secret key is stored as hardware inside the microcomputer, it is difficult to analyze the secret key. Therefore, it is difficult to decrypt the encrypted software, and it is possible to prevent infringement of intellectual property rights due to an illegal copy of the software.

図2は、本発明の実施例2に係るマイクロコンピュータの構成の例を示すブロック図である。   FIG. 2 is a block diagram illustrating an example of a configuration of a microcomputer according to the second embodiment of the present invention.

本実施例のマイクロコンピュータ2が実施例1のマイクロコンピュータ1と異なる点は、ハードウェアとしての秘密鍵格納部11と復号部12とを有さないことである。その代わり、ソフトウェアとしての秘密鍵と復号プログラムをブートROM24に格納している。   The microcomputer 2 of the present embodiment is different from the microcomputer 1 of the first embodiment in that it does not have the secret key storage unit 11 and the decryption unit 12 as hardware. Instead, a secret key as software and a decryption program are stored in the boot ROM 24.

また、ブートROM24には、復号動作制御用の制御プログラムが格納されており、この制御プログラムが、秘密鍵や復号プログラムの読み出しの制御、および一連の復号動作の制御を行う。なお、図2において、図1に示した機能ブロックと同一の機能を有するブロックには図1と同一の符号を付し、ここではその詳細な説明を省略する。   The boot ROM 24 stores a control program for controlling the decryption operation, and this control program controls the reading of the secret key and the decryption program and the series of decryption operations. 2, blocks having the same functions as the functional blocks shown in FIG. 1 are denoted by the same reference numerals as those in FIG. 1, and detailed description thereof is omitted here.

本実施例においても、公開鍵は、例えば、マイクロコンピュータ2を製造した半導体製造メーカにより作成され、マイクロコンピュータ2の使用者に公開されているものである。また、この公開鍵で暗号化されたデータを復号するための復号鍵が、秘密鍵として、マイクロコンピュータ2の製造時にブートROM24に格納される。同じく、暗号化プログラムもマイクロコンピュータ2の製造時にブートROM24に格納される。   Also in this embodiment, the public key is created by, for example, a semiconductor manufacturer that manufactured the microcomputer 2 and is disclosed to the user of the microcomputer 2. Further, a decryption key for decrypting data encrypted with the public key is stored in the boot ROM 24 as a secret key when the microcomputer 2 is manufactured. Similarly, the encryption program is also stored in the boot ROM 24 when the microcomputer 2 is manufactured.

次に、本実施例のマイクロコンピュータ2へのソフトウェアの書き込み動作について説明する。   Next, the software writing operation to the microcomputer 2 of this embodiment will be described.

本実施例においても、ソフトウェアの書き込みを行う場合、まず、PC100上で、公開鍵および暗号プログラムを用いてソフトウェアを暗号化する。次に、暗号化されたソフトウェアを書き込み装置200へ送信する。書き込み装置200は、受信した暗号化されたソフトウェアをマイクロコンピュータ2のI/F部61へ入力する。   Also in this embodiment, when software is written, the software is first encrypted on the PC 100 using a public key and an encryption program. Next, the encrypted software is transmitted to the writing device 200. The writing device 200 inputs the received encrypted software to the I / F unit 61 of the microcomputer 2.

このとき、マイクロコンピュータ2は、CPU51が、ブートROM24から制御プログラムを読み出し、暗号化されたソフトウェアの復号処理を開始する。   At this time, in the microcomputer 2, the CPU 51 reads the control program from the boot ROM 24 and starts decrypting the encrypted software.

書き込み装置200から暗号化されたソフトウェアがI/F部61へ入力されると、制御プログラムの制御により、マイクロコンピュータ2は、暗号化されたソフトウェアを内部バス64を介してRAM63へ送り、RAM63に一時記憶する。   When the encrypted software is input from the writing device 200 to the I / F unit 61, the microcomputer 2 sends the encrypted software to the RAM 63 via the internal bus 64 under the control of the control program. Memorize temporarily.

続いて、制御プログラムの制御により、ブートROM24から復号プログラムおよび秘密鍵が読み出される。復号プログラムは、RAM63から暗号化されたソフトウェアを読み出し、ブートROM24からから読み出された秘密鍵を用いて復号する。   Subsequently, the decryption program and the secret key are read from the boot ROM 24 under the control of the control program. The decryption program reads the encrypted software from the RAM 63 and decrypts it using the secret key read from the boot ROM 24.

復号が終了すると、制御プログラムの制御により、復号されたソフトウェアは、内部バス64を介して不揮発性メモリ13へ送られ、不揮発性メモリ13に書き込まれる。   When the decryption is completed, the decrypted software is sent to the nonvolatile memory 13 via the internal bus 64 and written to the nonvolatile memory 13 under the control of the control program.

上述の一連の動作により、暗号化されて入力されたソフトウェアは、復号されて不揮発性メモリ13に格納される。   The software input after being encrypted by the above-described series of operations is decrypted and stored in the nonvolatile memory 13.

このような本実施例によれば、秘密鍵および復号プログラムをソフトウェアとして内蔵することにより、ハードウェアとしての秘密鍵格納部および復号部を有さないマイクロコンピュータであっても、公開鍵で暗号化されたソフトウェアの書き込みに対処することができる。   According to the present embodiment, by incorporating the secret key and the decryption program as software, even a microcomputer that does not have the secret key storage unit and the decryption unit as hardware can be encrypted with the public key. Can deal with written software.

図3は、本発明の実施例3に係るマイクロコンピュータの構成の例を示すブロック図である。   FIG. 3 is a block diagram illustrating an example of a configuration of a microcomputer according to the third embodiment of the invention.

本実施例のマイクロコンピュータ3は、復号動作が制御プログラムにより制御されていた実施例1のマイクロコンピュータ1とは異なり、復号動作が、連続して自動的に実行される。   Unlike the microcomputer 1 of the first embodiment in which the decoding operation is controlled by the control program, the decoding operation of the microcomputer 3 of this embodiment is automatically executed continuously.

そのために、本実施例のマイクロコンピュータ3は、復号処理専用のI/F部31と、I/F部31に直結された復号部32と、復号部32から出力された復号結果を不揮発性メモリ13へ書き込む書き込み制御部33とを有する。   For this purpose, the microcomputer 3 according to the present embodiment includes an I / F unit 31 dedicated for decoding processing, a decoding unit 32 directly connected to the I / F unit 31, and a decoding result output from the decoding unit 32 in a nonvolatile memory. 13 and a write control unit 33 for writing to 13.

なお、図3において、図1に示した機能ブロックと同一の機能を有するブロックには図1と同一の符号を付し、ここではその詳細な説明を省略する。   3, blocks having the same functions as the functional blocks shown in FIG. 1 are denoted by the same reference numerals as those in FIG. 1, and detailed description thereof is omitted here.

本実施例における暗号化されたソフトウェアの書き込みにおいては、書き込み装置200からI/F部31へ暗号化されたソフトウェアが入力されると、暗号化されたソフトウェアは、直ちに復号部32へ送られる。復号部32は、秘密鍵格納部11から読み出した秘密鍵を用いて暗号化されたソフトウェアを復号する。復号されたソフトウェアは、書き込み制御部33へ送られ、書き込み制御部33により不揮発性メモリ13に書き込まれる。   In the writing of the encrypted software in the present embodiment, when the encrypted software is input from the writing device 200 to the I / F unit 31, the encrypted software is immediately sent to the decryption unit 32. The decryption unit 32 decrypts the encrypted software using the secret key read from the secret key storage unit 11. The decrypted software is sent to the write control unit 33 and written into the nonvolatile memory 13 by the write control unit 33.

このような本実施例によれば、復号処理が総て専用回路で実行されるので実行速度が速く、復号処理に要する時間を短くすることができる。   According to the present embodiment as described above, since the decoding process is entirely executed by the dedicated circuit, the execution speed is high and the time required for the decoding process can be shortened.

マイクロコンピュータへデータの書き込みを行ったときに、その書き込みが正しく行われたかどうかの検証を行ないたい場合がある。そのため、一般に、書き込み装置200は、書き込み検証機能を備えている。書き込み装置200における書き込み検証は、マイクロコンピュータへ一旦書き込んだデータをマイクロコンピュータから読み返し、そのデータが元の入力データと一致するかどうかを比較することにより行なわれる。   When data is written to a microcomputer, there is a case where it is desired to verify whether the data has been written correctly. Therefore, in general, the writing device 200 has a write verification function. Write verification in the writing device 200 is performed by reading back data once written to the microcomputer from the microcomputer and comparing whether the data matches the original input data.

そこで、本実施例のマイクロコンピュータは、このような書き込み装置200の書き込み検証機能を利用して、暗号化されたソフトウェアの書き込みが正しく行われたかどうかの検証を可能とするものである。   Therefore, the microcomputer according to the present embodiment uses the write verification function of the writing device 200 to verify whether the encrypted software has been written correctly.

図4は、本発明の実施例4に係るマイクロコンピュータの構成の例を示すブロック図である。   FIG. 4 is a block diagram showing an example of the configuration of a microcomputer according to Embodiment 4 of the present invention.

本実施例のマイクロコンピュータ4は、実施例3のマイクロコンピュータ3に、さらに、読み出し制御部42と、暗号化部43と、公開鍵格納部44とを追加したものである。また、書き込み装置200とのデータのインターフェースを双方向に行なうI/F部41を備える。   The microcomputer 4 of this embodiment is obtained by adding a read control unit 42, an encryption unit 43, and a public key storage unit 44 to the microcomputer 3 of the third embodiment. In addition, an I / F unit 41 that bidirectionally interfaces data with the writing device 200 is provided.

なお、図4において、図3に示した機能ブロックと同一の機能を有するブロックには図3と同一の符号を付し、ここではその詳細な説明を省略する。   In FIG. 4, blocks having the same functions as those shown in FIG. 3 are denoted by the same reference numerals as those in FIG. 3, and detailed description thereof is omitted here.

読み出し制御部42は、書き込み装置200から書き込み検証の要求があったときに、不揮発性メモリ13に格納されている復号されたソフトウェアを読み出し、暗号化部43へ送る。   When there is a write verification request from the writing device 200, the read control unit 42 reads the decrypted software stored in the nonvolatile memory 13 and sends it to the encryption unit 43.

暗号化部43は、PC100における暗号化にて使用される暗号化アルゴリズムと同じ暗号化アルゴリズムを用いて暗号化を実行する。   The encryption unit 43 performs encryption using the same encryption algorithm as that used for encryption in the PC 100.

公開鍵格納部44には、PC100における暗号化にて使用される公開鍵と同じ公開鍵が格納されている。   The public key storage unit 44 stores the same public key as that used for encryption in the PC 100.

本実施例における、I/F部41への暗号化されたソフトウェアの入力から不揮発性メモリ13への復号されたソフトウェアの書き込みに至る一連の復号動作は、実施例3と同じであるので、ここではその説明を省略する。   In this embodiment, a series of decryption operations from the input of the encrypted software to the I / F unit 41 to the writing of the decrypted software to the nonvolatile memory 13 is the same as that of the third embodiment. Then, the explanation is omitted.

本実施例のマイクロコンピュータ4に対して書き込み装置200から書き込み検証の要求があった場合、不揮発性メモリ13へ格納された復号されたソフトウェアは、読み出し制御部42により不揮発性メモリ13から読み出され、暗号化部43へ送られる。   When there is a write verification request from the writing device 200 to the microcomputer 4 of this embodiment, the decrypted software stored in the nonvolatile memory 13 is read from the nonvolatile memory 13 by the read control unit 42. To the encryption unit 43.

暗号化部43は、送られてきた復号されたソフトウェアに対して、公開鍵格納部44から読み出した公開鍵を用いて暗号化する。   The encryption unit 43 encrypts the sent decrypted software using the public key read from the public key storage unit 44.

暗号化されたソフトウェアは、I/F部41を介して書き込み装置200へ出力される。このとき、書き込み装置200による書き込みが正常に行なわれていれば、I/F部41から出力される暗号化されたソフトウェアは、マイクロコンピュータ4へ入力した元の暗号化されたソフトウェアと同一のはずである。   The encrypted software is output to the writing device 200 via the I / F unit 41. At this time, if writing by the writing device 200 is performed normally, the encrypted software output from the I / F unit 41 should be the same as the original encrypted software input to the microcomputer 4. It is.

そこで、書き込み装置200の書き込み検証機能を利用して、両者の比較を行なえば、マイクロコンピュータ4に対して暗号化されたソフトウェアの書き込みが正しく行われたかどうかを検証することができる。   Thus, by comparing the two using the write verification function of the writing device 200, it is possible to verify whether the encrypted software has been correctly written in the microcomputer 4.

このような本実施例によれば、不揮発性メモリに格納されている復号されたソフトウェアを再度暗号化して出力することができるので、マイクロコンピュータに対するソフトウェアの書き込みが正しく行なわれたかどうかの検証を行うことができる。   According to this embodiment, since the decrypted software stored in the nonvolatile memory can be encrypted again and output, it is verified whether the software has been correctly written to the microcomputer. be able to.

図5は、本発明の実施例5に係るマイクロコンピュータの構成の例を示すブロック図である。本実施例のマイクロコンピュータ5は、基本的に図2に示した実施例2のマイクロコンピュータ2と同じ構成を有する。そこで、図5において、図2に示した機能ブロックと同一の機能を有するブロックには図2と同一の符号を付し、ここではその詳細な説明を省略する。   FIG. 5 is a block diagram showing an example of the configuration of a microcomputer according to Embodiment 5 of the present invention. The microcomputer 5 of the present embodiment basically has the same configuration as the microcomputer 2 of the embodiment 2 shown in FIG. Therefore, in FIG. 5, blocks having the same functions as the functional blocks shown in FIG. 2 are denoted by the same reference numerals as those in FIG. 2, and detailed description thereof is omitted here.

本実施例のマイクロコンピュータ5が実施例2のマイクロコンピュータ2と異なる点は、書き込み装置200とのインターフェースが双方向に行なえるI/F部51を有する点と、ブートROM54が、制御プログラム、復号プログラム、秘密鍵のほかに、暗号化プログラムと公開鍵を格納する点である。   The microcomputer 5 of the present embodiment is different from the microcomputer 2 of the second embodiment in that it has an I / F unit 51 that can be bidirectionally interfaced with the writing device 200, and that the boot ROM 54 has a control program and a decoding program. In addition to the program and private key, the encryption program and public key are stored.

この暗号化プログラムと公開鍵を用いて、本実施例のマイクロコンピュータ5も実施例4のマイクロコンピュータ4と同様、不揮発性メモリ13に格納されている復号化されたソフトウェアに対して再度暗号化を実行し、I/F部51を介して書き込み装置200へ出力することができる。   Using this encryption program and public key, the microcomputer 5 of the present embodiment also encrypts the decrypted software stored in the non-volatile memory 13 again, similarly to the microcomputer 4 of the fourth embodiment. It can be executed and output to the writing device 200 via the I / F unit 51.

すなわち、本実施例のマイクロコンピュータ5に対して書き込み装置200から書き込み検証の要求があった場合、CPU62がブートROM54に格納されている制御プログラムを読み出し、復号されたソフトウェアの暗号化処理を開始する。   That is, when there is a write verification request from the writing device 200 to the microcomputer 5 of this embodiment, the CPU 62 reads the control program stored in the boot ROM 54 and starts the decryption process of the decrypted software. .

暗号化が開始されると、制御プログラムの制御により、マイクロコンピュータ1は、復号されたソフトウェアを不揮発性メモリ13から読み出し、内部バス64を介してRAM63へ送り、RAM63に一時記憶する。   When encryption is started, the microcomputer 1 reads the decrypted software from the nonvolatile memory 13, sends it to the RAM 63 via the internal bus 64, and temporarily stores it in the RAM 63 under the control of the control program.

続いて、制御プログラムの制御により、ブートROM54から暗号化プログラムおよび公開鍵が読み出される。暗号化プログラムは、RAM63から復号されたソフトウェアを読み出し、ブートROM54からから読み出された公開鍵を用いて暗号化する。   Subsequently, the encryption program and the public key are read from the boot ROM 54 under the control of the control program. The encryption program reads the decrypted software from the RAM 63 and encrypts it using the public key read from the boot ROM 54.

暗号化が終了すると、制御プログラムの制御により、暗号化されたソフトウェアは、内部バス64を介してI/F部51へ送られ、書き込み装置200へ出力される。   When the encryption is completed, the encrypted software is sent to the I / F unit 51 via the internal bus 64 and output to the writing device 200 under the control of the control program.

これにより、本実施例のマイクロコンピュータ5においても、実施例4と同様、書き込み装置200の書き込み検証機能を利用して、マイクロコンピュータ5に対して暗号化されたソフトウェアの書き込みが正しく行われたかどうかを検証することができる。   Thereby, also in the microcomputer 5 of the present embodiment, whether or not the encrypted software has been correctly written in the microcomputer 5 using the write verification function of the writing device 200 as in the fourth embodiment. Can be verified.

このような本実施例によれば、秘密鍵および復号プログラムのほかに公開鍵および暗号化プログラムをソフトウェアとして内蔵することにより、ハードウェアとしての秘密鍵格納部、復号部、公開鍵格納部および暗号化部を有さないマイクロコンピュータであっても、公開鍵で暗号化されたソフトウェアの書き込みを行うことができるとともに、書き込んだソフトウェアを暗号化されたソフトウェアとして出力することができる。   According to such a present embodiment, by incorporating a public key and an encryption program as software in addition to a secret key and a decryption program, a secret key storage unit, a decryption unit, a public key storage unit, and a cipher as hardware Even a microcomputer that does not have an encryption unit can write software encrypted with a public key, and can output the written software as encrypted software.

また、公開鍵、暗号化プログラム、秘密鍵および復号プログラムをソフトウェアとして内蔵するので、マイクロコンピュータを製造した半導体製造メーカは、公開鍵および秘密鍵の変更、あるいは暗号化アルゴリズムの変更を随時行うことができる。これにより、マイクロコンピュータのセキュリティをより高めることが可能である。   In addition, since the public key, encryption program, secret key, and decryption program are built in as software, the semiconductor manufacturer that manufactured the microcomputer can change the public key and secret key, or change the encryption algorithm at any time. it can. Thereby, the security of the microcomputer can be further increased.

図6は、本発明の実施例6に係るマイクロコンピュータの構成の例を示すブロック図である。   FIG. 6 is a block diagram showing an example of the configuration of a microcomputer according to Embodiment 6 of the present invention.

本実施例のマイクロコンピュータ6も、実施例5のマイクロコンピュータ5と同様、不揮発性メモリ13に格納されている復号化されたソフトウェアに対して再度暗号化を実行し、I/F部51を介して書き込み装置200へ出力する。   Similarly to the microcomputer 5 of the fifth embodiment, the microcomputer 6 of the present embodiment again encrypts the decrypted software stored in the nonvolatile memory 13 and passes through the I / F unit 51. To the writing device 200.

本実施例のマイクロコンピュータ6が実施例5のマイクロコンピュータ5と異なる点は、復号化および暗号化をハードウェアで実行する点である。そのために、本実施例のマイクロコンピュータ6は、秘密鍵格納部11と、復号部12と、公開鍵格納部44と、暗号化部73とを有する。また、ブートROM54の代わりに、ブートROM74を有する。   The microcomputer 6 of the present embodiment is different from the microcomputer 5 of the fifth embodiment in that decryption and encryption are executed by hardware. For this purpose, the microcomputer 6 of this embodiment includes a secret key storage unit 11, a decryption unit 12, a public key storage unit 44, and an encryption unit 73. Further, a boot ROM 74 is provided instead of the boot ROM 54.

秘密鍵格納部11と復号部12は、図1に示した同一符号のブロックと同じ機能を有するものであり、公開鍵格納部44は、図4に示した同一符号のブロックと同じ機能を有するものであるので、ここではその説明を省略する。   The secret key storage unit 11 and the decryption unit 12 have the same function as the block with the same code shown in FIG. 1, and the public key storage unit 44 has the same function as the block with the same code shown in FIG. Since it is a thing, the description is abbreviate | omitted here.

ブートROM74は、復号動作制御用の制御プログラムおよび暗号化動作制御用の制御プログラムを格納する。   The boot ROM 74 stores a control program for controlling the decryption operation and a control program for controlling the encryption operation.

本実施例の暗号化部73は、内部バス64と双方向のデータの伝送を行う点が実施例4の暗号化部43と異なるが、機能的には暗号化部43と同様、PC100における暗号化にて使用される暗号化アルゴリズムと同じ暗号化アルゴリズムを用いて暗号化を実行する。   The encryption unit 73 of the present embodiment is different from the encryption unit 43 of the fourth embodiment in that bidirectional data transmission is performed with the internal bus 64, but functionally, the encryption in the PC 100 is similar to the encryption unit 43. Encryption is performed using the same encryption algorithm as that used in encryption.

本実施例においても、不揮発性メモリ13に格納されている復号化されたソフトウェアに対して、暗号化部73により再度暗号化を実行し、I/F部51を介して書き込み装置200へ出力することができる。   Also in this embodiment, the decrypted software stored in the nonvolatile memory 13 is encrypted again by the encryption unit 73 and output to the writing device 200 via the I / F unit 51. be able to.

これにより、本実施例のマイクロコンピュータ6においても、実施例5と同様、書き込み装置200の書き込み検証機能を利用して、マイクロコンピュータ6に対して暗号化されたソフトウェアの書き込みが正しく行われたかどうかを検証することができる。   Thereby, also in the microcomputer 6 of the present embodiment, whether or not the encrypted software has been correctly written in the microcomputer 6 using the write verification function of the writing device 200 as in the fifth embodiment. Can be verified.

このような本実施例によれば、復号化および暗号化をハードウェアで実行することにより、書き込み装置による書き込み検証を高速に実行することができる。   According to the present embodiment, by performing decryption and encryption with hardware, write verification by the writing device can be performed at high speed.

本発明の実施例1に係るマイクロコンピュータの構成の例を示すブロック図。1 is a block diagram showing an example of the configuration of a microcomputer according to Embodiment 1 of the present invention. 本発明の実施例2に係るマイクロコンピュータの構成の例を示すブロック図。FIG. 5 is a block diagram illustrating an example of a configuration of a microcomputer according to a second embodiment of the invention. 本発明の実施例3に係るマイクロコンピュータの構成の例を示すブロック図。FIG. 9 is a block diagram showing an example of the configuration of a microcomputer according to a third embodiment of the invention. 本発明の実施例4に係るマイクロコンピュータの構成の例を示すブロック図。FIG. 9 is a block diagram showing an example of the configuration of a microcomputer according to a fourth embodiment of the invention. 本発明の実施例5に係るマイクロコンピュータの構成の例を示すブロック図。FIG. 9 is a block diagram showing an example of the configuration of a microcomputer according to a fifth embodiment of the invention. 本発明の実施例6に係るマイクロコンピュータの構成の例を示すブロック図。FIG. 9 is a block diagram showing an example of the configuration of a microcomputer according to Embodiment 6 of the present invention.

符号の説明Explanation of symbols

1〜6 マイクロコンピュータ
11 秘密鍵格納部
12、32 復号部
13 不揮発性メモリ
14、24、54、74 ブートROM
31、41、51、61 I/F部
33 書き込み制御部
42 読み出し制御部
43、73 暗号化部
44 公開鍵格納部
62 CPU
63 RAM
64 内部バス
1-6 Microcomputer 11 Secret key storage unit 12, 32 Decryption unit 13 Non-volatile memory 14, 24, 54, 74 Boot ROM
31, 41, 51, 61 I / F unit 33 Write control unit 42 Read control unit 43, 73 Encryption unit 44 Public key storage unit 62 CPU
63 RAM
64 Internal bus

Claims (5)

公開鍵暗号方式の公開鍵と対になる秘密鍵を格納する秘密鍵格納手段と、
入力されたデータを前記秘密鍵格納手段から読み出した前記秘密鍵を用いて復号する復号手段と、
前記復号手段により復号されたデータを格納する不揮発性記憶手段と
を有することを特徴とするマイクロコンピュータ。
A secret key storage means for storing a secret key paired with a public key of a public key cryptosystem;
Decryption means for decrypting input data using the secret key read from the secret key storage means;
A microcomputer having nonvolatile storage means for storing data decoded by the decoding means.
前記復号手段へ入力されるデータが前記公開鍵により暗号化されたソフトウェアであることを特徴とする請求項1に記載のマイクロコンピュータ。   2. The microcomputer according to claim 1, wherein data input to the decryption means is software encrypted with the public key. 公開鍵暗号方式の公開鍵を格納する公開鍵格納手段と、
前記公開鍵と対になる秘密鍵を格納する秘密鍵格納手段と、
入力されたデータを前記秘密鍵格納手段から読み出した前記秘密鍵を用いて復号する復号手段と、
前記復号手段により復号されたデータを格納する不揮発性記憶手段と、
前記不揮発性記憶手段に格納された前記復号手段により復号されたデータを前記公開鍵格納手段から読み出した前記公開鍵を用いて暗号化する暗号化手段と
を有することを特徴とするマイクロコンピュータ。
Public key storage means for storing the public key of the public key cryptosystem;
Secret key storage means for storing a secret key paired with the public key;
Decryption means for decrypting input data using the secret key read from the secret key storage means;
Nonvolatile storage means for storing data decoded by the decoding means;
A microcomputer having encryption means for encrypting data decrypted by the decryption means stored in the nonvolatile storage means, using the public key read from the public key storage means.
前記復号手段へ入力されるデータが前記公開鍵により暗号化されたソフトウェアであることを特徴とする請求項3に記載のマイクロコンピュータ。   4. The microcomputer according to claim 3, wherein data input to the decryption means is software encrypted with the public key. 前記復号手段へ入力されるデータと前記暗号化手段から出力されるデータとを比較することにより前記不揮発性記憶手段に正しくデータが書き込まれていることを検証することが可能であることを特徴とする請求項3に記載のマイクロコンピュータ。   It is possible to verify that data is correctly written in the nonvolatile storage means by comparing data input to the decryption means and data output from the encryption means The microcomputer according to claim 3.
JP2006171426A 2006-06-21 2006-06-21 Microcomputer Withdrawn JP2008003774A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006171426A JP2008003774A (en) 2006-06-21 2006-06-21 Microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006171426A JP2008003774A (en) 2006-06-21 2006-06-21 Microcomputer

Publications (1)

Publication Number Publication Date
JP2008003774A true JP2008003774A (en) 2008-01-10

Family

ID=39008112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006171426A Withdrawn JP2008003774A (en) 2006-06-21 2006-06-21 Microcomputer

Country Status (1)

Country Link
JP (1) JP2008003774A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049559A (en) * 2008-08-22 2010-03-04 Toshiba Corp Storage device and recording and reproducing system
JP2013101442A (en) * 2011-11-08 2013-05-23 Renesas Electronics Corp Microcomputer and data processing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049559A (en) * 2008-08-22 2010-03-04 Toshiba Corp Storage device and recording and reproducing system
JP2013101442A (en) * 2011-11-08 2013-05-23 Renesas Electronics Corp Microcomputer and data processing apparatus

Similar Documents

Publication Publication Date Title
KR100792287B1 (en) Method for security and the security apparatus thereof
JP4099039B2 (en) Program update method
JP4865694B2 (en) Processor device
KR101303278B1 (en) FPGA apparatus and method for protecting bitstream
JP2007304847A (en) Memory device
US20050263977A1 (en) Method of preventing firmware piracy
US7975141B2 (en) Method of sharing bus key and apparatus therefor
JP4119882B2 (en) Memory information protection system, memory information protection method, and semiconductor memory
JP2008009717A (en) Information processing terminal and content writing system
JP2008287488A (en) Data distributing and preserving unit
WO2006118101A1 (en) Confidential information processing host device and confidential information processing method
JPWO2006046484A1 (en) Authentication method
JP2007282064A (en) Device and method for processing data, storage medium and program
US20080285748A1 (en) Method for generating secret key in computer device and obtaining the encrypting and decrypting key
JP2008003774A (en) Microcomputer
JP4592337B2 (en) Data storage
JP2007193800A (en) Device and method for improving security level of card authentication system
CN113343215A (en) Embedded software authorization and authentication method and electronic equipment
JP2008005304A (en) Copyright protection system, copyright protection device and video processor
US20080019506A1 (en) Encryption/Decryption Apparatus, System and Method
JP2015211383A (en) Encryption processing device, encryption processing system, and encryption processing method
JP2011066926A (en) System and method for preventing leakage of data
JP4474267B2 (en) Cryptographic processing device
JP2006351160A (en) Computer system and disk drive
JP2007019795A (en) Device controller

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090210

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090901