JP2013097539A - Control device and control program illegal reading prevention method - Google Patents
Control device and control program illegal reading prevention method Download PDFInfo
- Publication number
- JP2013097539A JP2013097539A JP2011239231A JP2011239231A JP2013097539A JP 2013097539 A JP2013097539 A JP 2013097539A JP 2011239231 A JP2011239231 A JP 2011239231A JP 2011239231 A JP2011239231 A JP 2011239231A JP 2013097539 A JP2013097539 A JP 2013097539A
- Authority
- JP
- Japan
- Prior art keywords
- control program
- storage area
- control
- processor
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
本発明は、制御装置および制御プログラム不正読み出し防止方法に関する。 The present invention relates to a control device and a control program unauthorized read prevention method.
従来、産業用・商用あるいは民生用の機器には、その動作制御を行うためにプログラム式の制御装置が利用されている。このような制御装置は、機器に必要な制御動作を記述した制御プログラムを実行する小型コンピュータシステムを基本として構成される。
制御装置に利用されるシステムでは、制御プログラムを実行する中央演算ユニット(CPU)を含むプロセッサとして、組込用のマイクロコントローラ(MCU)あるいは汎用のマイクロプロセッサ(MPU)が利用される。そして、前述したプロセッサ(MCU,MPU)とともに、プロセッサの主記憶領域となる読み出し書き込み可能なランダムアクセスメモリ(RAM)と、制御プログラムを格納しておく不揮発性の外部記憶領域としての読み出し専用メモリ(ROM)とが設置される。一部のプロセッサ(MCU,MPU)では、一つのパッケージにROMおよびRAMが一体に組み込まれる。
2. Description of the Related Art Conventionally, a programmable control device is used for industrial / commercial or consumer equipment in order to control its operation. Such a control apparatus is configured based on a small computer system that executes a control program describing a control operation necessary for the device.
In a system used for a control device, an embedded microcontroller (MCU) or a general-purpose microprocessor (MPU) is used as a processor including a central processing unit (CPU) that executes a control program. Along with the processors (MCU, MPU) described above, a read / write random access memory (RAM) serving as a main storage area of the processor and a read-only memory (non-volatile external storage area for storing a control program) ROM). In some processors (MCU, MPU), a ROM and a RAM are integrated into one package.
近年、組込用の制御装置における制御プログラムの不正使用が問題になっており、このような不正使用に対する耐性(耐タンパ性)の確保が要求されている。
制御装置における制御プログラムの不正使用としては、例えばI)制御プログラムを不正に読み出し、そのコピーを他の制御装置で不正に使用すること(違法コピー)、II)読み出した制御プログラムを解析し(リバースエンジニアリング)、コピーそのものではないがプログラムの盗用を行うこと、III)読み出した制御プログラムを書き換え、元の制御装置に戻してその動作をユーザの都合よく改変すること(遊技機の不正改造)等が顕著である。
In recent years, unauthorized use of a control program in a built-in control device has become a problem, and it is required to ensure resistance to such unauthorized use (tamper resistance).
Examples of unauthorized use of the control program in the control device include: I) illegally reading out the control program and illegally using the copy in other control devices (illegal copy); II) analyzing the read control program (reverse) Engineering), stealing a program that is not the copy itself, III) rewriting the read control program, returning it to the original control device and modifying its operation for the user's convenience (illegal modification of the gaming machine), etc. It is remarkable.
このうち、遊技機の不正改造に対しては、元の制御プログラムに対する改変を検出することで、改変された制御プログラムに基づく制御装置の動作を停止させる技術が提案されている(特許文献1〜4)。
しかし、このような技術では、不正改造された制御プログラムの実行を防止できても、制御プログラムのコピーあるいは盗用を防止することができず、制御プログラムの不正利用を確実に防止するために、おおもとの不正読み出し行為自体の防止が要求されている。
Among these, a technique for stopping the operation of the control device based on the modified control program by detecting a modification to the original control program has been proposed for unauthorized modification of the gaming machine (
However, with such a technology, even if the execution of a tampered control program can be prevented, the control program cannot be copied or stolen. There is a demand for prevention of the original illegal reading act itself.
ここで、制御プログラムの不正読み出し防止については、いわゆるデータの暗号化技術が周知である。
このような暗号化技術は、組込用の制御装置においても利用されており、例えばROM内に格納しておく制御プログラムを予め暗号化しておき、暗号化済の制御プログラムを動作に先立って復号化してRAM上に展開し、復号化されたRAM上の制御プログラムに基づいてプロセッサが制御動作を行うことがなされている(特許文献5〜7)。
特許文献5〜7では、制御プログラムの暗号解読を行うための復号化プログラムを、プロセッサ内に記憶させることで、ROM内に格納された暗号化制御プログラムだけを読み出しても、その後の解析等の利用ができないようにしている。
Here, a so-called data encryption technique is well known for preventing unauthorized reading of a control program.
Such an encryption technique is also used in a built-in control device. For example, a control program stored in a ROM is encrypted in advance, and the encrypted control program is decrypted prior to operation. In this case, a processor performs a control operation based on a decoded control program on the RAM (Patent Documents 5 to 7).
In patent documents 5-7, even if only the encryption control program stored in ROM is read by memorize | storing in a processor the decryption program for performing decryption of a control program, subsequent analysis etc. The use is prohibited.
ところで、特許文献5〜7の技術を利用しても、復号化プログラムがプロセッサから不正に読み出されてしまうと、この復号化プログラムを利用してROMに格納された暗号化制御プログラムを復号化されてしまうことになる。
そこで、制御装置として利用するMCU等にセキュリティ保持用の専用ハードウェアを設け、プロセッサ内に記憶された復号化プログラムの不正読み出しを防止する技術が提案されている(特許文献8)。
By the way, even if the techniques of Patent Documents 5 to 7 are used, if the decryption program is illegally read from the processor, the decryption program is used to decrypt the encryption control program stored in the ROM. It will be done.
Thus, a technique has been proposed in which dedicated hardware for security maintenance is provided in an MCU or the like used as a control device to prevent unauthorized reading of a decryption program stored in the processor (Patent Document 8).
しかし、特許文献8のようなセキュリティ機能を、専用ハードウェアとしてプロセッサに追加することは、プロセッサないしこれを組み込んだ制御装置の製造コスト上昇に繋がる。また、復号化プログラムの変更のつど、プロセッサの回路および製造プロセスの変更が必要であり、コストだけでなく製品納期に影響する可能性があった。 However, adding the security function as in Patent Document 8 to the processor as dedicated hardware leads to an increase in the manufacturing cost of the processor or a control device incorporating the processor. Further, every time the decryption program is changed, it is necessary to change the processor circuit and the manufacturing process, which may affect not only the cost but also the product delivery date.
本発明の目的は、製造コストを低減できかつ復号化プログラムの変更が容易な制御装置および制御プログラム不正読み出し防止方法を提供することにある。 An object of the present invention is to provide a control device and a control program unauthorized read prevention method that can reduce the manufacturing cost and can easily change the decoding program.
本発明の制御装置は、制御プログラムに基づいて制御対象を制御するプロセッサと、前記制御プログラムを記憶する外部記憶領域とを有する制御装置であって、
前記プロセッサは、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有し、
前記制御プログラムは暗号化された状態で前記外部記憶領域に記憶され、
前記制御プログラムを復号化するための復号化ルーチンが前記内部記憶領域に記憶されていることを特徴とする。
The control device of the present invention is a control device having a processor that controls a control target based on a control program, and an external storage area that stores the control program,
The processor has an internal storage area that is writable from the outside and can be set to a read-inhibited state,
The control program is stored in the external storage area in an encrypted state,
A decoding routine for decoding the control program is stored in the internal storage area.
このような本発明においては、予め外部記憶領域に暗号化した制御プログラムを書き込んでおくとともに、内部記憶領域に復号化ルーチンを書き込んでおく。
動作にあたって、プロセッサは、内部記憶領域内の復号化ルーチンを参照し、この復号化ルーチンを用いて外部記憶領域内の暗号化済制御プログラムを読み出して復号化し、主記憶領域上などに復号化された制御プログラムを展開する。そして、プロセッサは、復号化された制御プログラムに基づいて動作を行い、制御装置としての制御動作を開始する。
なお、前述した動作を行うために、プロセッサの起動プログラム(IPL,ブートローダ)に、内部記憶領域内の復号化ルーチンを用いて外部記憶領域内の暗号化済制御プログラムを復号化し、復号化された制御プログラムに基づいて制御を行うように記述しておくとよい。この場合、制御装置を起動すると、プロセッサがIPLに基づいて動作を行うことで、上記動作が実現される。
In the present invention, an encrypted control program is written in the external storage area in advance, and a decryption routine is written in the internal storage area.
In operation, the processor refers to the decryption routine in the internal storage area, reads the decrypted control program in the external storage area using this decryption routine, decrypts it, and decrypts it on the main storage area or the like. Expand the control program. Then, the processor performs an operation based on the decoded control program, and starts a control operation as a control device.
In order to perform the above-described operation, the encrypted control program in the external storage area is decrypted and decrypted in the processor startup program (IPL, boot loader) using the decryption routine in the internal storage area. It may be described that control is performed based on a control program. In this case, when the control device is activated, the above operation is realized by the processor performing an operation based on the IPL.
このように、本発明では、外部記憶領域の制御プログラムは暗号化されているため、例え読み出されても解読することができず、不正読み出しに対して保護される。
暗号化された制御プログラムの復号化には、内部記憶領域に記憶された復号化ルーチンが必要である。内部記憶領域は、製造時等に復号化ルーチンを書き込まれた後、外部読み出し禁止状態とされる。この状態では、プロセッサが制御プログラムの復号化を行う処理以外、外部読み出しができない。従って、復号化ルーチンの不正読み出しが防止され、復号化ルーチンによる制御プログラムの不正な復号化を防止することができる。
とくに、本発明では、セキュリティ機能つきの内部記憶領域に復号化ルーチンを格納するため、暗号化された制御プログラムに関して高い防護性能が得られる。
As described above, in the present invention, since the control program for the external storage area is encrypted, it cannot be decrypted even if it is read, and is protected against unauthorized reading.
Decryption of the encrypted control program requires a decryption routine stored in the internal storage area. The internal storage area is set in an external reading prohibited state after a decryption routine is written at the time of manufacture or the like. In this state, external reading is not possible except for processing in which the processor decrypts the control program. Therefore, unauthorized reading of the decryption routine is prevented, and unauthorized decryption of the control program by the decryption routine can be prevented.
In particular, in the present invention, since the decryption routine is stored in the internal storage area with the security function, high protection performance can be obtained with respect to the encrypted control program.
さらに、本発明では、制御プログラムは外部記憶領域に格納されるので、外部記憶領域を拡張することで大きな制御プログラムにも対応できる。つまり、内部記憶領域に制御プログラムを格納しようとすると問題となるプログラムサイズの制限を受けることがない。
以上により、本発明では、不正読み出しに対して強力な保護が得られるとともに、例えばセキュリティ機能つき不揮発性メモリ内蔵のプロセッサ等の市販品を用いることで、本発明の構成を容易に実現することができる。
従って、専用ハードウェアを利用した場合のようなコスト上昇が避けられるとともに、復号化ルーチンが変更された場合でも、内部記憶領域の書き換えを行えばよく、プロセッサの回路および製造プロセスの変更のような煩雑な対応が必要ないため、コストおよび製造納期の問題を回避できる。
Further, in the present invention, since the control program is stored in the external storage area, it is possible to cope with a large control program by expanding the external storage area. That is, there is no limitation on the program size that causes a problem when the control program is stored in the internal storage area.
As described above, according to the present invention, strong protection against unauthorized reading can be obtained, and the configuration of the present invention can be easily realized by using a commercially available product such as a processor with a built-in nonvolatile memory with a security function. it can.
Therefore, an increase in cost as in the case of using dedicated hardware can be avoided, and even when the decoding routine is changed, the internal storage area can be rewritten, such as a change in the processor circuit and manufacturing process. Since complicated measures are not required, problems of cost and production delivery can be avoided.
本発明の制御装置は、前記プロセッサとして、制御プログラムに基づいて制御対象を制御する主プロセッサと、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有する補助プロセッサと、を備えることが望ましい。
このような本発明の構成は、次のように言い換えることができる。
本発明の制御装置は、制御プログラムに基づいて制御対象を制御する主プロセッサと、前記制御プログラムを記憶する外部記憶領域と、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有する補助プロセッサと、を有し、
前記制御プログラムは暗号化された状態で前記外部記憶領域に記憶され、
前記制御プログラムを復号化するための復号化ルーチンが前記内部記憶領域に記憶されている。
The control device of the present invention includes, as the processor, a main processor that controls a control target based on a control program, and an auxiliary processor that has an internal storage area that is writable from the outside and can be set to a read-inhibited state. desirable.
Such a configuration of the present invention can be rephrased as follows.
The control device according to the present invention includes a main processor that controls a control target based on a control program, an external storage area that stores the control program, and an auxiliary storage area that is writable from outside and can be set in a read-inhibited state. A processor, and
The control program is stored in the external storage area in an encrypted state,
A decoding routine for decoding the control program is stored in the internal storage area.
本発明において、補助プロセッサおよびその内部記憶領域については、先に本発明で用いることができるプロセッサとして説明した通り、セキュリティ機能つき不揮発性メモリ内蔵のプロセッサ等の市販品を用いることができる。一方、主プロセッサは、外部記憶領域つまり制御プログラムを記憶するROMおよび主記憶領域となるRAM等とともに、既存のマイクロコントローラ等の制御装置を構成するものであればよい。
つまり、本発明の構成は、主プロセッサおよび外部記憶領域を有する既存の制御装置に、復号化用の補助プロセッサを追加した構成ということができる。
In the present invention, as described for the auxiliary processor and its internal storage area as a processor that can be used in the present invention, commercially available products such as a processor with a built-in nonvolatile memory with a security function can be used. On the other hand, the main processor only needs to constitute a control device such as an existing microcontroller together with an external storage area, that is, a ROM storing a control program and a RAM serving as a main storage area.
That is, the configuration of the present invention can be said to be a configuration in which an auxiliary processor for decoding is added to an existing control device having a main processor and an external storage area.
このような本発明においては、予め外部記憶領域に暗号化した制御プログラムを書き込んでおくとともに、補助プロセッサの内部記憶領域に復号化ルーチンを書き込んでおく。
補助プロセッサは、内部記憶領域内の復号化ルーチンを参照し、この復号化ルーチンを用いて外部記憶領域内の暗号化済制御プログラムを読み出して復号化し、主記憶領域上などに復号化された制御プログラムを展開する。主プロセッサは、復号化された制御プログラムに基づいて動作を行い、制御装置としての制御動作を開始する。
In the present invention, an encrypted control program is written in the external storage area in advance, and a decryption routine is written in the internal storage area of the auxiliary processor.
The auxiliary processor refers to the decryption routine in the internal storage area, uses this decryption routine to read and decrypt the encrypted control program in the external storage area, and decrypts the control on the main storage area etc. Deploy the program. The main processor performs an operation based on the decoded control program, and starts a control operation as a control device.
なお、主プロセッサの起動プログラム(IPL,ブートローダ)には、起動後に補助プロセッサに制御を移し、補助プロセッサから制御が戻された際には復号化された制御プログラムに基づいて主プロセッサが動作するように記述しておくとよい。また、補助プロセッサの起動プログラム(IPL,ブートローダ)には、起動された後、内部記憶領域内の復号化ルーチンを用いて外部記憶領域内の暗号化済制御プログラムを復号化し、その後に主プロセッサに制御を戻すように記述しておくとよい。この場合、制御装置を起動すると、主プロセッサは、IPLに基づいて補助プロセッサを起動し、補助プロセッサが制御プログラムの復号化を行う。復号化の後、補助プロセッサは主プロセッサに制御を戻し、主プロセッサが復号化された制御プログラムに基づいて動作する。 Note that the main processor startup program (IPL, boot loader) transfers control to the auxiliary processor after startup, and when the control is returned from the auxiliary processor, the main processor operates based on the decoded control program. It is good to describe in. Further, the auxiliary processor startup program (IPL, boot loader), after being started, decrypts the encrypted control program in the external storage area by using the decryption routine in the internal storage area, and then sends it to the main processor. It should be described so that control is returned. In this case, when the control device is activated, the main processor activates the auxiliary processor based on the IPL, and the auxiliary processor decodes the control program. After decoding, the auxiliary processor returns control to the main processor, and the main processor operates based on the decoded control program.
このような本発明によれば、主プロセッサと補助プロセッサとが協働すること、つまり主プロセッサにより起動と制御動作を行い、補助プロセッサにより復号化を行うという分担により、前述した本発明の制御装置(プロセッサが単独のもの)と同様な作用効果を奏することができる。
さらに、本発明では、主プロセッサによる起動および制御動作に対し、復号化の機能を補助プロセッサに分離することができる。このため、主プロセッサと外部記憶領域を有する既存の制御装置に、本発明に基づくセキュリティ機能つき内部記憶領域を有する補助プロセッサを付加することで、本発明の制御装置を構成することができる。
従って、既存の制御装置に、本発明の補助プロセッサを追加することで、本発明の制御装置を容易に実現できるとともに、既に稼働状態にある制御装置に対しても、本発明の補助プロセッサを追加することで、本発明の制御装置とすることができ、本発明の適用範囲を拡大することができる。
According to the present invention as described above, the main processor and the auxiliary processor cooperate with each other, that is, the start and control operations are performed by the main processor, and the decoding is performed by the auxiliary processor. It is possible to achieve the same effects as (with a single processor).
Furthermore, in the present invention, the decoding function can be separated into the auxiliary processor for the activation and control operations by the main processor. For this reason, the control apparatus of the present invention can be configured by adding an auxiliary processor having an internal storage area with a security function based on the present invention to an existing control apparatus having a main processor and an external storage area.
Therefore, by adding the auxiliary processor of the present invention to the existing control device, the control device of the present invention can be easily realized, and the auxiliary processor of the present invention is also added to the control device already in operation. By doing so, it can be set as the control apparatus of this invention, and the application range of this invention can be expanded.
本発明の制御プログラム不正読み出し防止方法は、制御プログラムに基づいて制御対象を制御するプロセッサと、前記制御プログラムを記憶する外部記憶領域とを有する制御装置の制御プログラム不正読み出し防止方法であって、
前記プロセッサとして、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有するものを用い、前記制御プログラムを暗号化した状態で前記外部記憶領域に記憶し、前記制御プログラムを復号化するための復号化ルーチンを前記内部記憶領域に記憶しておく準備工程と、
前記制御装置を起動した際に、前記プロセッサが、前記内部記憶領域内の前記復号化ルーチンを参照し、前記復号化ルーチンを用いて前記外部記憶領域内の前記制御プログラムを復号化する復号化工程と、
復号化された前記制御プログラムに基づいて前記プロセッサが前記制御装置としての制御動作を行う稼働工程と、を有することを特徴とする。
このような本発明の方法によれば、前述した本発明の制御装置(プロセッサが単独のもの)で説明した通りの作用効果を得ることができる。
The control program unauthorized read prevention method of the present invention is a control program unauthorized read prevention method for a control device having a processor that controls a control target based on a control program and an external storage area that stores the control program,
In order to use the processor having an internal storage area writable from the outside and set to a read-inhibited state, store the control program in an encrypted state in the external storage area, and decrypt the control program A preparation step for storing the decryption routine in the internal storage area;
A decoding step in which the processor refers to the decoding routine in the internal storage area and decodes the control program in the external storage area using the decoding routine when the control device is activated. When,
And an operation step in which the processor performs a control operation as the control device based on the decrypted control program.
According to the method of the present invention as described above, it is possible to obtain the operation and effects as described in the above-described control device of the present invention (with a single processor).
本発明の制御プログラム不正読み出し防止方法において、前記プロセッサとして、制御プログラムに基づいて前記制御対象を制御する主プロセッサと、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有する補助プロセッサと、を用いることが望ましい。
このような本発明の方法は、次のように言い換えることができる。
本発明の制御プログラム不正読み出し防止方法は、制御プログラムに基づいて制御対象を制御するプロセッサと、前記制御プログラムを記憶する外部記憶領域とを有する制御装置の制御プログラム不正読み出し防止方法であって、
前記プロセッサとして、前記制御プログラムに基づいて前記制御対象を制御する主プロセッサと、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有する補助プロセッサと、を用い、前記制御プログラムを暗号化した状態で前記外部記憶領域に記憶し、前記制御プログラムを復号化するための復号化ルーチンを前記内部記憶領域に記憶しておく準備工程と、
前記制御装置を起動した際に、前記プロセッサが、前記内部記憶領域内の前記復号化ルーチンを参照し、前記復号化ルーチンを用いて前記外部記憶領域内の前記制御プログラムを復号化する復号化工程と、
復号化された前記制御プログラムに基づいて前記プロセッサが前記制御装置としての制御動作を行う稼働工程と、を有するものである。
このような本発明の方法によれば、前述した本発明の制御装置(主プロセッサと補助プロセッサを用いるもの)で説明した通りの作用効果を得ることができる。
In the control program unauthorized read prevention method of the present invention, as the processor, a main processor that controls the control object based on a control program, and an auxiliary processor having an internal storage area that can be written from outside and set to a read-inhibited state, It is desirable to use.
Such a method of the present invention can be rephrased as follows.
The control program unauthorized read prevention method of the present invention is a control program unauthorized read prevention method for a control device having a processor that controls a control target based on a control program and an external storage area that stores the control program,
The control program is encrypted by using, as the processor, a main processor that controls the control target based on the control program, and an auxiliary processor that has an internal storage area that is writable externally and can be set in a read-inhibited state. Stored in the external storage area in a state of being prepared, and storing a decoding routine for decoding the control program in the internal storage area;
A decoding step in which the processor refers to the decoding routine in the internal storage area and decodes the control program in the external storage area using the decoding routine when the control device is activated. When,
An operation step in which the processor performs a control operation as the control device based on the decoded control program.
According to such a method of the present invention, it is possible to obtain the operation and effects as described in the above-described control device of the present invention (using a main processor and an auxiliary processor).
以下、本発明の実施形態を図面に基づいて説明する。
〔第1実施形態〕
図1および図2には、本発明の第1実施形態が示されている。
図1において、本実施形態の制御装置1は、機器類に組み込まれてこの機器類の図示しない動作部分の動作制御を行うための組込用制御システムである。
制御装置1は、システムバス2に接続されたROM3、RAM4およびMCU5を備えている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
1 and 2 show a first embodiment of the present invention.
In FIG. 1, a
The
ROM3は、読み出し専用メモリ素子で構成された外部記憶領域であり、システムバス2を介してMCU5から随時記憶内容の読み出しが可能である。
RAM4は、読み出しおよび書き込み可能なメモリ素子で構成され、MCU5の主記憶領域として配置されており、システムバス2を介してMCU5から随時記憶内容の読み出しあるいは書き込みが可能である。
MCU5は、組込用のマイクロコントローラで構成されたプロセッサであり、パッケージ内部にCPU6およびFROM7を有する。
The ROM 3 is an external storage area configured by a read-only memory element, and stored contents can be read from the MCU 5 as needed via the
The RAM 4 is constituted by a memory element that can be read and written, and is arranged as a main storage area of the MCU 5, and can read or write stored contents from the MCU 5 at any time via the
The MCU 5 is a processor composed of an embedded microcontroller, and has a
具体的に、MCU5は、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有するプロセッサであり、例えば一つの集積回路パッケージに、中央演算ユニット(CPU)と、内部記憶領域としての書き換え可能な不揮発性メモリ(例えばEPROM、PROM、フラッシュROM等)とを有し、さらに不揮発性メモリに対する外部からの読み出しを禁止するセキュリティ機能を有するものが利用できる。
このような不揮発性メモリに対するセキュリティ機能は、CPUの制御により行うことができ、内部メモリあるいは外部メモリに指定された特定アドレスの情報を参照する方式、予め定められたプロテクトコードにより認証を行う方式が採用できる。さらに、回路テスト用のJTAGと呼ばれるインターフェースを用いたハードウェアによる書き込み禁止モード切替を利用することもできる。
Specifically, the MCU 5 is a processor having an internal storage area that is writable from the outside and can be set in a read-inhibited state. For example, the central processing unit (CPU) and the internal storage area are rewritten in one integrated circuit package. A non-volatile memory (for example, EPROM, PROM, flash ROM, etc.) that can be used, and a non-volatile memory that has a security function for prohibiting external reading from the outside can be used.
Such a security function for the non-volatile memory can be performed under the control of the CPU, and there are a method of referring to information of a specific address designated in the internal memory or the external memory, and a method of performing authentication using a predetermined protect code. Can be adopted. Furthermore, it is also possible to use write inhibit mode switching by hardware using an interface called JTAG for circuit testing.
このようなプロセッサにおいて、同一パッケージ内のCPUからは、読み出し禁止状態の設定に拘わらず不揮発性メモリ内のデータを読み出せるものとする。すなわち、不揮発性メモリのセキュリティ機能が有効で、外部からの不揮発性メモリの読み出しが禁止された状態であっても、CPUは読み出し禁止状態を解除することなしに不揮発性メモリ内のデータを読み出せるものとする。
このようなセキュリティ機能つき不揮発性メモリを有するプロセッサは、市販されている組込用マイクロコントローラ(MCU)あるいはマイクロプロセッサ(MPU)製品から選択することができる。
具体的には、セキュリティ機能つきフラッシュROMを内蔵したマイクロコントローラとして、株式会社東芝製TMP91シリーズ、米国テキサスインスツルメンツ製MSP430シリーズ等がある。
In such a processor, it is assumed that data in the nonvolatile memory can be read from a CPU in the same package regardless of the setting of the read prohibition state. That is, even when the security function of the nonvolatile memory is effective and reading of the nonvolatile memory from the outside is prohibited, the CPU can read the data in the nonvolatile memory without releasing the reading prohibited state. Shall.
A processor having such a nonvolatile memory with a security function can be selected from a commercially available embedded microcontroller (MCU) or microprocessor (MPU) product.
Specifically, as a microcontroller incorporating a flash ROM with a security function, there are TMP91 series manufactured by Toshiba Corporation, MSP430 series manufactured by Texas Instruments, USA, and the like.
前述の通り、MCU5は、CPU6およびFROM7を有する。
CPU6は、既存のマイクロプロセッサ等に設置される中央処理ユニットであり、システムバス2を介して外部記憶領域であるROM3の内容を読み出しが可能であり、主記憶領域であるRAM4に対して情報の読み出しあるいは書き込みが可能である。
CPU6には、IPL61が配置されている。
IPL61は、起動時の動作を定めるいわゆるブートローダであり、CPU6が起動された際には、先ずIPL61が読み込まれ、その内容に従って動作が行われる。
本実施形態において、IPL61には、起動された際にCPU6は必要な初期化を行った後、後述するFROM7のIPL71に従うことを指定するプログラムが設定されている。
As described above, the MCU 5 includes the
The
An
The
In the present embodiment, the
FROM7は、MCU5の内部記憶領域として配置されたセキュリティ機能付のフラッシュROMであり、同じMCU5内にあるCPU6からは、随時記憶内容の読み出しが可能であり、必要に応じて記憶内容の書き込みが可能である。
FROM7は、セキュリティ機能付とされており、CPU6からの制御信号により読み出し禁止状態の設定および解除が可能である。
読み出し禁止状態が設定されている場合、FROM7に対する外部からの読み出しあるいは書き込みは一切遮断される。
読み出し禁止状態が解除されている場合、FROM7に対する外部からの読み出しは許可されるが、書き込みは遮断される。
従って、読み出し禁止状態を設定することで、FROM7に記憶された内容が保護され、外部からの不正読み出しが防止される。
The FROM 7 is a flash ROM with a security function that is arranged as an internal storage area of the MCU 5. The
The FROM 7 has a security function, and can set and cancel the read prohibition state by a control signal from the
When the reading prohibition state is set, reading from or writing to the FROM 7 from the outside is completely blocked.
When the reading prohibition state is cancelled, external reading from the FROM 7 is permitted, but writing is blocked.
Therefore, by setting the reading prohibition state, the contents stored in the FROM 7 are protected, and unauthorized reading from the outside is prevented.
本実施形態の制御装置1においては、前述したFROM7およびROM3に、制御装置1としての動作に必要なプログラム等が格納される。
ROM3には、暗号化済制御プログラム31が格納される。暗号化済制御プログラム31は、MCU5が制御装置1としての制御動作を行うための制御プログラムを、所定の暗号化ルールで暗号化したものである。
FROM7には、IPL71および復号化ルーチン72が配置されている。
In the
The ROM 3 stores an
In the
IPL71は、起動時の動作を定めるいわゆるブートローダであり、前述したIPL61と同様なものである。
本実施形態において、IPL71には、復号化ルーチン72を起動してROM3内の暗号化済制御プログラム31の復号化を実行し、復号化が済んだら復号化した制御プログラムを実行することを指定したプログラムが設定されている。
復号化ルーチン72は、CPU6により実行され、ROM3に格納されている暗号化済制御プログラム31を読み出し、所定の暗号化ルールに基づいて暗号化を解除して復号化するものであり、復号化された内容を制御プログラム41としてRAM4に書き込むように設定されている。
The
In this embodiment, the
The
本実施形態においては、以上に述べた制御装置1を準備し、前述したFROM7およびROM3に必要なプログラム等を格納しておき(準備工程)、MCU5を起動することで、制御プログラムの復号化(復号化工程)およびこれに基づく制御動作(稼働工程)までの一連の処理を実行することができ、制御プログラムの不正読み出しを防止することができる。
In the present embodiment, the
図2において、準備工程として、制御装置1を準備したら、ROM3に暗号化済制御プログラム31を格納するとともに、FROM7に復号化ルーチン72を格納する(手順S11)。
準備ができたら、制御装置1のMCU5を起動する。MCU5において、起動されるとCPU6がIPL61を読み込み、その内容に基づいてMCU5および制御装置1の初期化動作を実行する(処理S12)。
In FIG. 2, when the
When ready, the MCU 5 of the
初期化動作ができたら、CPU6は、IPL71に従ってFROM7内のIPL71を読み込み、その内容に基づいて復号化処理を開始する(処理S13)。
CPU6は、IPL71に従って、FROM7に復号化ルーチン72を読み込み、この復号化ルーチン72に従って復号化処理を実行する。復号化処理では、ROM3から暗号化済制御プログラム31を読み出し、復号化ルーチン72に従って復号化を行い(処理S14)、復号化した制御プログラム41をRAM4に書き込む(処理S15)。
これらにより復号化工程が行われる。
When the initialization operation is completed, the
The
The decoding process is performed by these.
復号化工程の後、CPU6はIPL71に従ってRAM4内の制御プログラム41を読み込み、この制御プログラム41に従って制御装置1としての制御動作を開始する(処理S16)。
これにより稼働工程が行われる。
After the decryption step, the
Thereby, an operation process is performed.
このような本実施形態によれば、外部記憶領域であるROM3内の暗号化済制御プログラム31は暗号化されており、例え読み出されても解読することができず、不正読み出しに対して保護される。
暗号化済制御プログラム31の復号化には、内部記憶領域であるFROM7に記憶された復号化ルーチン72が必要である。内部記憶領域であるFROM7は、製造時等に復号化ルーチン72を書き込まれた後、外部読み出し禁止状態とされる。この状態では、プロセッサであるMCU5のCPU6が暗号化済制御プログラム31の復号化を行う処理以外、外部読み出しができない。従って、復号化ルーチン72の不正読み出しが防止され、復号化ルーチン72による暗号化済制御プログラム31の不正な復号化を防止することができる。
According to the present embodiment as described above, the
Decryption of the
とくに、本実施形態では、セキュリティ機能つきの内部記憶領域としてFROM7を用い、ここに復号化ルーチン72を格納するため、暗号化済制御プログラム31に関して高い防護性能が得られる。
他の技術として、暗号化された制御プログラムおよびこれを復号化する復号化ルーチンを外部記憶領域に格納しておき、セキュリティ機能つきの内部記憶領域にパスワードを保存しておき、このパスワードの照合等により認証が得られたら復号化ルーチンで制御プログラムを復号化する、といった保護も考えられる。
しかし、このようなパスワード保護等は実用上短いコードあるいは文字列とされ、比較的容易に解除することができる。従って、認証さえ通過できれば、復号化ルーチン自体は保護されておらず、制御プログラムの復号化が容易に行われてしまう可能性がある。
これに対し、本実施形態では、復号化ルーチン72自体をセキュリティ機能つきの内部記憶領域であるFROM7に格納するため、そのルーチン全体を読み出すことは困難であり、これにより暗号化済制御プログラム31に関して高い防護性能が得られる。
In particular, in the present embodiment, since the
As another technique, an encrypted control program and a decryption routine for decrypting the encrypted control program are stored in an external storage area, and a password is stored in an internal storage area with a security function. It can be considered that the control program is decrypted by the decryption routine when the authentication is obtained.
However, such password protection is practically a short code or character string and can be released relatively easily. Therefore, as long as authentication can pass, the decryption routine itself is not protected, and the control program may be easily decrypted.
On the other hand, in this embodiment, since the
さらに、本実施形態では、暗号化済制御プログラム31は外部記憶領域であるROM3に格納されるので、ROM3を拡張することで大きな暗号化済制御プログラム31にも対応できる。つまり、内部記憶領域であるFROM7に暗号化済制御プログラム31を格納しようとすると問題となるプログラムサイズの制限を受けることがない。
以上により、本実施形態では、不正読み出しに対して強力な保護が得られるとともに、プロセッサであるMCU5としてセキュリティ機能つきフラッシュROM内蔵の市販品を用いることで、制御装置1の構成を容易に実現することができる。
従って、MCU5にセキュリティ機能のための専用ハードウェアを構成する場合のようなコスト上昇が避けられるとともに、復号化ルーチン72が変更された場合でも、FROM7の書き換えを行えばよく、プロセッサの回路および製造プロセスの変更のような煩雑な対応が必要ないため、コストおよび製造納期の問題を回避できる。
Furthermore, in this embodiment, since the
As described above, in the present embodiment, strong protection against unauthorized reading is obtained, and the configuration of the
Therefore, an increase in cost as in the case where dedicated hardware for the security function is configured in the MCU 5 can be avoided, and even when the
さらに、本実施形態では、FROM7にIPL71を設置し、復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みまでをIPL71内に記述することができる。このようなIPL7を用いることで、CPU6のIPL61ではIPL71へのジャンプを指示するだけでよくなり、復号化に関する処理が増えてもIPL6のプログラムサイズに制約されることを回避できる。
Furthermore, in the present embodiment, the
〔第2実施形態〕
図3および図4には、本発明の第2実施形態が示されている。
図3において、本実施形態の制御装置1Aは、前述した第1実施形態の制御装置1(図1参照)と略同様な構成を有する。このため、共通の要素に関しては同じ符号を用いて重複する説明は省略する。
本実施形態の制御装置1Aと前述した第1実施形態の制御装置1との相違点は、復号化動作を指示するIPLの設置場所である。
[Second Embodiment]
3 and 4 show a second embodiment of the present invention.
In FIG. 3, the
The difference between the
第1実施形態の制御装置1では、MCU5のFROM7にIPL71を設置し、ここに復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みまでをIPL71内に記述していた。
これに対し、本実施形態の制御装置1Aでは、FROM7にはIPLがなく、復号化ルーチン72だけが格納されている。一方、ROM3には、暗号化済制御プログラム31とともに、IPL32が設置され、ここに復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みの指示が記述されている。
In the
On the other hand, in the
本実施形態においては、以上に述べた制御装置1Aを準備し、前述したFROM7およびROM3に必要なプログラム等を格納しておき(準備工程)、MCU5を起動することで、制御プログラムの復号化(復号化工程)およびこれに基づく制御動作(稼働工程)までの一連の処理を実行することができ、制御プログラムの不正読み出しを防止することができる。
これらの各工程は、前述した第1実施形態と同様であり、具体的に、図4に示す本実施形態における処理S21〜S26は、前述した第1実施形態の処理S11〜S16(図2参照)と同様である。
ただし、前述したIPL32の設置場所の変更に伴い、本実施形態における処理S23ではROM3内のIPL32に基づいて復号化に移行しており、前記第1実施形態の処理S13のFROM7内のIPL71の参照と異なる。
In the present embodiment, the
These steps are the same as those in the first embodiment described above. Specifically, the processes S21 to S26 in the present embodiment shown in FIG. 4 are the processes S11 to S16 in the first embodiment described above (see FIG. 2). ).
However, in accordance with the change in the installation location of the IPL 32 described above, in the processing S23 in the present embodiment, the process shifts to decoding based on the IPL 32 in the ROM 3, and the
このような本実施形態によれば、制御プログラムの不正読み出し防止、製造コストの低減、復号化プログラムの変更の容易性について、前述した第1実施形態と同様の効果が得られる。
さらに、本実施形態では、復号化に関する処理を記述したIPL32がROM3内に設置されるため、セキュリティ機能を有するFROM7の記憶領域を空けることができ、復号化ルーチン72のサイズを拡張することができる。
一方、IPL32に記述される復号化に関する処理は、それ自体守秘性を要するものではなく、ROM3に格納しても何ら問題はない。
According to the present embodiment, the same effects as those of the first embodiment described above can be obtained with respect to prevention of unauthorized reading of the control program, reduction in manufacturing cost, and ease of changing the decryption program.
Furthermore, in this embodiment, since the IPL 32 describing the processing related to decryption is installed in the ROM 3, the storage area of the FROM 7 having the security function can be freed, and the size of the
On the other hand, the decryption process described in the IPL 32 does not require confidentiality in itself, and there is no problem even if it is stored in the ROM 3.
〔第3実施形態〕
図5および図6には、本発明の第3実施形態が示されている。
図5において、本実施形態の制御装置1Bは、前述した第1実施形態の制御装置1(図1参照)と略同様な構成(ROM3、RAM4、FROM7)を有する。このため、共通の要素に関しては同じ符号を用いて重複する説明は省略する。
本実施形態の制御装置1Bと前述した第1実施形態の制御装置1との相違点は、プロセッサの構成である。
[Third Embodiment]
5 and 6 show a third embodiment of the present invention.
In FIG. 5, the
The difference between the
すなわち、前記第1実施形態(図1参照)では、プロセッサであるMCU5が一つであり、そこにCPU6およびFROM7が含まれていた。そして、MCU5が起動された際、CPU6はIPL61を参照してFROM7内のIPL71に飛び、IPL71に従って復号化ルーチン72による復号化を実行していた。
これに対し、本実施形態(図5参照)では、プロセッサとして、主プロセッサである主MCU5Aと、補助プロセッサである補助MCU5Bとが設置されている。
That is, in the first embodiment (see FIG. 1), there is one MCU 5 as a processor, and the
On the other hand, in the present embodiment (see FIG. 5), a
主MCU5Aは、内部にCPU6Aを有し、CPU6AにはIPL61Aが設置されている。
補助MCU5Bは、内部にCPU6BおよびFROM7を有し、FROM7にはIPL71および復号化ルーチン72が格納されている。
本実施形態では、主MCU5Aを起動すると、CPU6AはIPL61Aを参照し、補助MCU5BのFROM7内のIPL71に飛び、IPL71に従って復号化ルーチン72による復号化を実行する。
The
The
In this embodiment, when the
詳細には、主MCU5AのCPU6Aは、IPL61Aのプログラムに基づいて補助MCU5BのCPU6Bに制御を渡し、CPU6BがFROM7内のIPL71に基づいて、復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みまでを実行する。
主MCU5AのCPU6Aは、前述した復号化処理の間待機状態にあり、復号化処理が完了してCPU6Bから制御が戻された際に、復号化されたRAM4内の制御プログラム41に基づいて制御動作を実行する。
Specifically, the
The
本実施形態においては、以上に述べた制御装置1Bを準備し、前述したFROM7およびROM3に必要なプログラム等を格納しておき(準備工程)、主MCU5Aを起動することで、制御プログラムの復号化(復号化工程)およびこれに基づく制御動作(稼働工程)までの一連の処理を実行することができ、制御プログラムの不正読み出しを防止することができる。
これらの各工程は、前述した第1実施形態と同様であり、具体的に、図6に示す本実施形態における処理S31〜S36は、前述した第1実施形態の処理S11〜S16(図2参照)と同様である。
ただし、前述した通りプロセッサが主MCU5Aと補助MCU5Bの二つで構成され、各処理は二つのプロセッサで分担して実行される。
In the present embodiment, the
These steps are the same as those in the first embodiment described above. Specifically, the processes S31 to S36 in the present embodiment shown in FIG. 6 are the processes S11 to S16 in the first embodiment described above (see FIG. 2). ).
However, as described above, the processor is composed of the
図6において、準備工程として、制御装置1Bを準備したら、ROM3に暗号化済制御プログラム31を格納するとともに、補助MCU5BのFROM7に復号化ルーチン72を格納する(処理S31)。
準備ができたら、制御装置1Bの主MCU5Aを起動する。主MCU5Aにおいて、CPU6AがIPL61Aを読み込み、その内容に基づいて主MCU5A、補助MCU5Bおよび制御装置1Bの初期化動作を実行する(処理S32)。
In FIG. 6, when the
When ready, the
初期化動作ができたら、CPU6Aは、IPL61Aに従って補助MCU5BのCPU6Bに制御を渡し、CPU5BはFROM7内のIPL71を読み込み、その内容に基づいて復号化処理を開始する(処理S33)。
補助MCU5Bにおいて、CPU6Bは、IPL71に従って、FROM7に復号化ルーチン72を読み込み、この復号化ルーチン72に従って復号化処理を実行する。復号化処理では、ROM3から暗号化済制御プログラム31を読み出し、復号化ルーチン72に従って復号化を行い(処理S34)、復号化した制御プログラム41をRAM4に書き込む(処理S35)。
これらにより復号化工程が行われる。
When the initialization operation is completed, the
In the auxiliary MCU 5 </ b> B, the
The decoding process is performed by these.
復号化工程の後、CPU6Bから主MCU5AのCPU6Aに制御が戻され、CPU6AはIPL61Aに従ってRAM4内の制御プログラム41を読み込み、この制御プログラム41に従って制御装置1Bとしての制御動作を開始する(処理S36)。
これにより稼働工程が行われる。
After the decryption step, the control is returned from the
Thereby, an operation process is performed.
このような本実施形態によれば、制御プログラムの不正読み出し防止、製造コストの低減、復号化プログラムの変更の容易性について、前述した第1実施形態と同様の効果が得られる。
さらに、本実施形態では、プロセッサとして、主プロセッサである主MCU5Aと、補助プロセッサである補助MCU5Bとを用いることで、次のような効果が得られる。
According to the present embodiment, the same effects as those of the first embodiment described above can be obtained with respect to prevention of unauthorized reading of the control program, reduction in manufacturing cost, and ease of changing the decryption program.
Furthermore, in this embodiment, the following effects can be obtained by using the
主プロセッサである主MCU5Aは、復号化処理の前の制御装置1Bの初期化処理および復号化処理が完了した後の制御動作を実行するものとされる。
補助プロセッサである補助MCU5Bは、復号化処理を専ら実行するものである。特に、補助MCU5BのFROM7には、復号化ルーチン72とともに、復号化処理を記述したIPL71が設置されており、復号化処理の一切が補助MCU5Bにまとめられている。
つまり、主MCU5Aとしては、不正読み出し防止機能がない既存の制御装置のMCU等をそのまま利用することができ、起動時のIPLを書き換える程度の変更だけで本実施形態の主MCU5Aとして利用することができる。
そして、補助MCU5Bは、復号化処理の一切がまとめられているため、既存の制御装置に追加することで、本実施形態の制御装置1Bを構成することができる。
The
The
That is, as the
Since the
このように、本実施形態のような主プロセッサおよび補助プロセッサを用いる構成とすることで、既存の制御装置を利用して本発明を容易に実施できるとともに、既存の制御装置を本発明のセキュリティ機能つきの制御装置とする場合に、既存のMCUを取り替える等の煩雑な改造作業を行う必要を解消することができる。 As described above, by adopting the configuration using the main processor and the auxiliary processor as in the present embodiment, the present invention can be easily implemented using the existing control device, and the existing control device is used as the security function of the present invention. In the case of a control device with a deadline, it is possible to eliminate the need for complicated modification work such as replacing an existing MCU.
〔第4実施形態〕
図7および図8には、本発明の第4実施形態が示されている。
図7において、本実施形態の制御装置1Cは、前述した第3実施形態の制御装置1B(図5参照)と略同様な構成を有し、多くの要素が第1実施形態(図1参照)と共通である。このため、共通の要素に関しては同じ符号を用いて重複する説明は省略する。
本実施形態の制御装置1Cと前述した第3実施形態の制御装置1Bとの相違点は、復号化動作を指示するIPLの設置場所である。この相違点は、前述した第1実施形態に対する第2実施形態の相違点と同様である。
[Fourth Embodiment]
7 and 8 show a fourth embodiment of the present invention.
In FIG. 7, the
The difference between the control device 1C of the present embodiment and the
第3実施形態の制御装置1Bでは、補助MCU5BのFROM7にIPL71を設置し、ここに復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みまでをIPL71内に記述していた。
これに対し、本実施形態の制御装置1Cでは、FROM7にはIPLがなく、復号化ルーチン72だけが格納されている。一方、ROM3には、暗号化済制御プログラム31とともに、IPL32が設置され、ここに復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みの指示が記述されている。
In the
On the other hand, in the control device 1C of the present embodiment, the FROM 7 has no IPL, and stores only the
本実施形態においては、以上に述べた制御装置1Cを準備し、前述したFROM7およびROM3に必要なプログラム等を格納しておき(準備工程)、主MCU5Aを起動することで、制御プログラムの復号化(復号化工程)およびこれに基づく制御動作(稼働工程)までの一連の処理を実行することができ、制御プログラムの不正読み出しを防止することができる。
これらの各工程は、前述した第3実施形態と同様であり、具体的に、図8に示す本実施形態における処理S41〜S46は、前述した第3実施形態の処理S31〜S36(図6参照)と同様である。
ただし、前述したIPL32の設置場所の変更に伴い、本実施形態における処理S43ではROM3内のIPL32に基づいて復号化に移行しており、前記第3実施形態の処理S33のFROM7内のIPL71の参照と異なる。
In the present embodiment, the control device 1C described above is prepared, the necessary programs and the like are stored in the above-described FROM 7 and ROM 3 (preparation step), and the
These steps are the same as those in the third embodiment described above. Specifically, the processes S41 to S46 in the present embodiment shown in FIG. 8 are the processes S31 to S36 in the third embodiment described above (see FIG. 6). ).
However, with the change in the installation location of the IPL 32 described above, in the process S43 in the present embodiment, the process shifts to decoding based on the IPL 32 in the ROM 3, and the
このような本実施形態によれば、制御プログラムの不正読み出し防止、製造コストの低減、復号化プログラムの変更の容易性について、前述した第1実施形態と同様の効果が得られる。
さらに、本実施形態では、復号化に関する処理を記述したIPL32がROM3内に設置されるため、セキュリティ機能を有するFROM7の記憶領域を空けることができ、復号化ルーチン72のサイズを拡張することができる。
一方、IPL32に記述される復号化に関する処理は、それ自体守秘性を要するものではなく、ROM3に格納しても何ら問題はない。
According to the present embodiment, the same effects as those of the first embodiment described above can be obtained with respect to prevention of unauthorized reading of the control program, reduction in manufacturing cost, and ease of changing the decryption program.
Furthermore, in this embodiment, since the IPL 32 describing the processing related to decryption is installed in the ROM 3, the storage area of the FROM 7 having the security function can be freed, and the size of the
On the other hand, the decryption process described in the IPL 32 does not require confidentiality in itself, and there is no problem even if it is stored in the ROM 3.
〔他の実施形態〕
本発明は、前述した各実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
前記各実施形態では、ROM3およびRAM4を、プロセッサであるMCU5,主MCU5A,補助MCU5Bと別個に設置したが、これらのプロセッサに組み込まれるものとしてもよい。
例えば、第1実施形態および第2実施形態において、MCU5としてROM,RAMを含むワンチップMCUを用いてもよい。あるいは、第3実施形態および第4実施形態において、主MCU5AとしてROM,RAMを含むワンチップMCUを用いてもよい。
[Other Embodiments]
The present invention is not limited to the above-described embodiments, and modifications and the like within a scope that can achieve the object of the present invention are included in the present invention.
In the above embodiments, the ROM 3 and the RAM 4 are installed separately from the MCU 5, the
For example, in the first embodiment and the second embodiment, a one-chip MCU including a ROM and a RAM may be used as the MCU 5. Alternatively, in the third and fourth embodiments, a one-chip MCU including a ROM and a RAM may be used as the
前記各実施形態では、セキュリティ機能を有する内部記憶領域としてフラッシュメモリであるFROM7を用いたが、フラッシュメモリに限らず他の構成によるEPROMを用いてもよい。また、セキュリティ機能(読み出し禁止およびその解除)を実現する方式は、既存の技術を適宜利用すればよく、例えば、内部メモリあるいは外部メモリに指定された特定アドレスの情報を参照する方式、予め定められたプロテクトコードにより認証を行う方式等が採用できる。 In each of the embodiments, the FROM 7 which is a flash memory is used as an internal storage area having a security function. However, the invention is not limited to the flash memory, and an EPROM having another configuration may be used. In addition, as a method for realizing the security function (read prohibition and cancellation thereof), an existing technique may be used as appropriate. A method of performing authentication by using a protection code can be adopted.
1,1A,1B,1C…制御装置
2…システムバス
31…暗号化済制御プログラム
41…制御プログラム
5…MCU
5A…主MCU
5B…補助MCU
6,6A,6B…CPU
61,61A…IPL
7…FROM
71…IPL
72…復号化ルーチン
1, 1A, 1B, 1C ...
5A ... Main MCU
5B ... Auxiliary MCU
6,6A, 6B ... CPU
61, 61A ... IPL
7 ... FROM
71 ... IPL
72: Decoding routine
Claims (4)
前記プロセッサは、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有し、
前記制御プログラムは暗号化された状態で前記外部記憶領域に記憶され、
前記制御プログラムを復号化するための復号化ルーチンが前記内部記憶領域に記憶されていることを特徴とする制御装置。 A control device having a processor for controlling a control object based on a control program, and an external storage area for storing the control program,
The processor has an internal storage area that is writable from the outside and can be set to a read-inhibited state,
The control program is stored in the external storage area in an encrypted state,
A control apparatus, wherein a decoding routine for decoding the control program is stored in the internal storage area.
前記プロセッサとして、制御プログラムに基づいて制御対象を制御する主プロセッサと、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有する補助プロセッサと、を備えることを特徴とする制御装置。 The control device according to claim 1,
A control apparatus comprising: a main processor that controls a control target based on a control program; and an auxiliary processor that has an internal storage area that is writable externally and can be set in a read-inhibited state.
前記プロセッサとして、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有するものを用い、前記制御プログラムを暗号化した状態で前記外部記憶領域に記憶し、前記制御プログラムを復号化するための復号化ルーチンを前記内部記憶領域に記憶しておく準備工程と、
前記制御装置を起動した際に、前記プロセッサが、前記内部記憶領域内の前記復号化ルーチンを参照し、前記復号化ルーチンを用いて前記外部記憶領域内の前記制御プログラムを復号化する復号化工程と、
復号化された前記制御プログラムに基づいて前記プロセッサが前記制御装置としての制御動作を行う稼働工程と、を有することを特徴とする制御プログラム不正読み出し防止方法。 A control program unauthorized read prevention method for a control device having a processor for controlling a control object based on a control program and an external storage area for storing the control program,
In order to use the processor having an internal storage area writable from the outside and set to a read-inhibited state, store the control program in an encrypted state in the external storage area, and decrypt the control program A preparation step for storing the decryption routine in the internal storage area;
A decoding step in which the processor refers to the decoding routine in the internal storage area and decodes the control program in the external storage area using the decoding routine when the control device is activated. When,
A control program unauthorized reading prevention method comprising: an operation step in which the processor performs a control operation as the control device based on the decrypted control program.
前記プロセッサとして、制御プログラムに基づいて前記制御対象を制御する主プロセッサと、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有する補助プロセッサと、を用いることを特徴とする制御プログラム不正読み出し防止方法。 In the control program unauthorized read prevention method according to claim 3,
A control program fraud that uses a main processor that controls the control target based on a control program and an auxiliary processor having an internal storage area that can be written from outside and set to a read-inhibited state as the processor Read prevention method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011239231A JP2013097539A (en) | 2011-10-31 | 2011-10-31 | Control device and control program illegal reading prevention method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011239231A JP2013097539A (en) | 2011-10-31 | 2011-10-31 | Control device and control program illegal reading prevention method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013097539A true JP2013097539A (en) | 2013-05-20 |
Family
ID=48619429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011239231A Pending JP2013097539A (en) | 2011-10-31 | 2011-10-31 | Control device and control program illegal reading prevention method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013097539A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3373084A1 (en) * | 2017-03-10 | 2018-09-12 | Siemens Aktiengesellschaft | Method for operating one control device, and control device with a protected mode of operation |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03257572A (en) * | 1990-03-08 | 1991-11-18 | Oki Electric Ind Co Ltd | Multiprocessor system |
JPH08185361A (en) * | 1994-12-28 | 1996-07-16 | Hitachi Ltd | Semiconductor integrated circuit device |
JP2001096040A (en) * | 1999-10-01 | 2001-04-10 | Samii Kk | Game machine and verification device |
JP2002149493A (en) * | 2000-11-09 | 2002-05-24 | Denso Corp | Data processor with security function |
JP2004152123A (en) * | 2002-10-31 | 2004-05-27 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit device, and method and system for delivering program |
JP2004280678A (en) * | 2003-03-18 | 2004-10-07 | Sony Corp | Data processor and data processing method |
JP2005251017A (en) * | 2004-03-05 | 2005-09-15 | Sharp Corp | Semiconductor device and electronic device |
JP2009104380A (en) * | 2007-10-23 | 2009-05-14 | Ihi Corp | Device and method for preventing unauthorized use of robot |
-
2011
- 2011-10-31 JP JP2011239231A patent/JP2013097539A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03257572A (en) * | 1990-03-08 | 1991-11-18 | Oki Electric Ind Co Ltd | Multiprocessor system |
JPH08185361A (en) * | 1994-12-28 | 1996-07-16 | Hitachi Ltd | Semiconductor integrated circuit device |
JP2001096040A (en) * | 1999-10-01 | 2001-04-10 | Samii Kk | Game machine and verification device |
JP2002149493A (en) * | 2000-11-09 | 2002-05-24 | Denso Corp | Data processor with security function |
JP2004152123A (en) * | 2002-10-31 | 2004-05-27 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit device, and method and system for delivering program |
JP2004280678A (en) * | 2003-03-18 | 2004-10-07 | Sony Corp | Data processor and data processing method |
JP2005251017A (en) * | 2004-03-05 | 2005-09-15 | Sharp Corp | Semiconductor device and electronic device |
JP2009104380A (en) * | 2007-10-23 | 2009-05-14 | Ihi Corp | Device and method for preventing unauthorized use of robot |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3373084A1 (en) * | 2017-03-10 | 2018-09-12 | Siemens Aktiengesellschaft | Method for operating one control device, and control device with a protected mode of operation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5911835B2 (en) | Information processing device | |
EP1126356B1 (en) | Tamper resistant microprocessor | |
JP6129702B2 (en) | Information processing apparatus, information processing system, and program | |
US10354073B2 (en) | Information processor device verifying software and method of controlling information processor device | |
JP4989543B2 (en) | Security control in data processing system based on memory domain | |
JP5114617B2 (en) | Secure terminal, program, and method for protecting private key | |
TWI567580B (en) | Method and system for preventing execution of malware | |
CN102592083B (en) | Storage protecting controller and method for improving safety of SOC (system on chip) | |
US7930743B2 (en) | Information processing system, information processing method, information processing program, computer readable medium and computer data signal | |
US20070266214A1 (en) | Computer system having memory protection function | |
EP3238070B1 (en) | Memory protection with non-readable pages | |
KR20190085387A (en) | Semiconductor device and method for operating semiconductor device | |
JP2010186386A (en) | Processor | |
JP2009025907A (en) | Semiconductor integrated circuit device and signal processing method therefor | |
JP2013097539A (en) | Control device and control program illegal reading prevention method | |
US9740837B2 (en) | Apparatus and method for preventing cloning of code | |
JP6652669B2 (en) | Information processing apparatus and information processing apparatus control method | |
JP6017287B2 (en) | Control method and information processing apparatus | |
JP5776480B2 (en) | Information processing apparatus, validity verification method, validity verification program | |
JP2007052481A (en) | Lsi for ic card | |
JP2009043036A (en) | Information protection system and information protection system for compact flash disk | |
JP4676547B2 (en) | Semiconductor device and boot method thereof | |
JP2010282499A (en) | Computer system, information protection method, and program | |
JP4580024B2 (en) | Content playback method | |
JP5103668B2 (en) | Semiconductor memory and information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140903 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160412 |