Nothing Special   »   [go: up one dir, main page]

JP2013097539A - Control device and control program illegal reading prevention method - Google Patents

Control device and control program illegal reading prevention method Download PDF

Info

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
Application number
JP2011239231A
Other languages
Japanese (ja)
Inventor
Masayoshi Yamagata
正意 山縣
Hirato Sonobe
平人 園部
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.)
Mitutoyo Corp
Mitsutoyo Kiko Co Ltd
Original Assignee
Mitutoyo Corp
Mitsutoyo Kiko 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 Mitutoyo Corp, Mitsutoyo Kiko Co Ltd filed Critical Mitutoyo Corp
Priority to JP2011239231A priority Critical patent/JP2013097539A/en
Publication of JP2013097539A publication Critical patent/JP2013097539A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a control device and a control program illegal reading prevention method for reducing manufacturing costs, and for easily changing a decryption program.SOLUTION: A control device 1 includes: a processor 5 for controlling a control object on the basis of a control program 31; and an external storage area 3 for storing the control program 31. The processor 5 includes an internal storage area 7 which can be set to a writable state and reading inhibition state from the outside. The control program 31 is stored in the external storage area 3 in an encrypted state, and a decryption routine 72 for decrypting the control program 31 is stored in the internal storage area 7.

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 (Patent Documents 1 to 3). 4).
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).

特許第2620020号公報Japanese Patent No. 2620020 特許第2975522号公報Japanese Patent No. 2975522 特許第3495409号公報Japanese Patent No. 3495409 特許第4027738号公報Japanese Patent No. 4027738 特開平10−228374号公報Japanese Patent Laid-Open No. 10-228374 特開平8−305558号公報JP-A-8-305558 特開2003−162341号公報JP 2003-162341 A 特開2000−29790号公報JP 2000-29790 A

しかし、特許文献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実施形態の制御装置を示すブロック図。The block diagram which shows the control apparatus of 1st Embodiment of this invention. 前記第1実施形態の処理を示すフローチャート。The flowchart which shows the process of the said 1st Embodiment. 本発明の第2実施形態の制御装置を示すブロック図。The block diagram which shows the control apparatus of 2nd Embodiment of this invention. 前記第2実施形態の処理を示すフローチャート。The flowchart which shows the process of the said 2nd Embodiment. 本発明の第3実施形態の制御装置を示すブロック図。The block diagram which shows the control apparatus of 3rd Embodiment of this invention. 前記第3実施形態の処理を示すフローチャート。The flowchart which shows the process of the said 3rd Embodiment. 本発明の第4実施形態の制御装置を示すブロック図。The block diagram which shows the control apparatus of 4th Embodiment of this invention. 前記第4実施形態の処理を示すフローチャート。The flowchart which shows the process of the said 4th Embodiment.

以下、本発明の実施形態を図面に基づいて説明する。
〔第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 control device 1 according to the present embodiment is an embedded control system that is incorporated in equipment and performs operation control of an operation portion (not shown) of the equipment.
The control device 1 includes a ROM 3, a RAM 4 and an MCU 5 connected to the system bus 2.

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 system bus 2.
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 system bus 2.
The MCU 5 is a processor composed of an embedded microcontroller, and has a CPU 6 and a FROM 7 inside the package.

具体的に、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 CPU 6 and the FROM 7.
The CPU 6 is a central processing unit installed in an existing microprocessor or the like. The CPU 6 can read the contents of the ROM 3 as an external storage area via the system bus 2 and can store information on the RAM 4 as a main storage area. Reading or writing is possible.
An IPL 61 is disposed in the CPU 6.
The IPL 61 is a so-called boot loader that determines an operation at the time of activation. When the CPU 6 is activated, the IPL 61 is first read and the operation is performed according to the contents.
In the present embodiment, the IPL 61 is set with a program that specifies that the CPU 6 performs necessary initialization when it is started and then follows the IPL 71 of the FROM 7 described later.

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 CPU 6 in the same MCU 5 can read the stored contents at any time, and can write the stored contents as necessary. It is.
The FROM 7 has a security function, and can set and cancel the read prohibition state by a control signal from the CPU 6.
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 control device 1 of the present embodiment, programs and the like necessary for the operation as the control device 1 are stored in the above-described FROM 7 and ROM 3.
The ROM 3 stores an encrypted control program 31. The encrypted control program 31 is obtained by encrypting a control program for the MCU 5 to perform a control operation as the control device 1 using a predetermined encryption rule.
In the FROM 7, an IPL 71 and a decryption routine 72 are arranged.

IPL71は、起動時の動作を定めるいわゆるブートローダであり、前述したIPL61と同様なものである。
本実施形態において、IPL71には、復号化ルーチン72を起動してROM3内の暗号化済制御プログラム31の復号化を実行し、復号化が済んだら復号化した制御プログラムを実行することを指定したプログラムが設定されている。
復号化ルーチン72は、CPU6により実行され、ROM3に格納されている暗号化済制御プログラム31を読み出し、所定の暗号化ルールに基づいて暗号化を解除して復号化するものであり、復号化された内容を制御プログラム41としてRAM4に書き込むように設定されている。
The IPL 71 is a so-called boot loader that determines the operation at startup, and is the same as the IPL 61 described above.
In this embodiment, the IPL 71 is designated to start the decryption routine 72 to execute the decryption of the encrypted control program 31 in the ROM 3 and to execute the decrypted control program after the decryption is completed. The program is set.
The decryption routine 72 is executed by the CPU 6, reads the encrypted control program 31 stored in the ROM 3, decrypts it based on a predetermined encryption rule, and decrypts it. The contents are set to be written in the RAM 4 as the control program 41.

本実施形態においては、以上に述べた制御装置1を準備し、前述したFROM7およびROM3に必要なプログラム等を格納しておき(準備工程)、MCU5を起動することで、制御プログラムの復号化(復号化工程)およびこれに基づく制御動作(稼働工程)までの一連の処理を実行することができ、制御プログラムの不正読み出しを防止することができる。   In the present embodiment, the control device 1 described above is prepared, the necessary programs and the like are stored in the above-described FROM 7 and ROM 3 (preparation process), and the MCU 5 is activated to decrypt the control program ( A series of processes up to the decoding process) and the control operation (operation process) based on this can be executed, and unauthorized reading of the control program can be prevented.

図2において、準備工程として、制御装置1を準備したら、ROM3に暗号化済制御プログラム31を格納するとともに、FROM7に復号化ルーチン72を格納する(手順S11)。
準備ができたら、制御装置1のMCU5を起動する。MCU5において、起動されるとCPU6がIPL61を読み込み、その内容に基づいてMCU5および制御装置1の初期化動作を実行する(処理S12)。
In FIG. 2, when the control device 1 is prepared as a preparation step, the encrypted control program 31 is stored in the ROM 3 and the decryption routine 72 is stored in the FROM 7 (step S11).
When ready, the MCU 5 of the control device 1 is activated. When the MCU 5 is activated, the CPU 6 reads the IPL 61 and executes the initialization operation of the MCU 5 and the control device 1 based on the contents (processing S12).

初期化動作ができたら、CPU6は、IPL71に従ってFROM7内のIPL71を読み込み、その内容に基づいて復号化処理を開始する(処理S13)。
CPU6は、IPL71に従って、FROM7に復号化ルーチン72を読み込み、この復号化ルーチン72に従って復号化処理を実行する。復号化処理では、ROM3から暗号化済制御プログラム31を読み出し、復号化ルーチン72に従って復号化を行い(処理S14)、復号化した制御プログラム41をRAM4に書き込む(処理S15)。
これらにより復号化工程が行われる。
When the initialization operation is completed, the CPU 6 reads the IPL 71 in the FROM 7 in accordance with the IPL 71, and starts the decrypting process based on the content (processing S13).
The CPU 6 reads the decoding routine 72 into the FROM 7 according to the IPL 71, and executes the decoding process according to the decoding routine 72. In the decryption process, the encrypted control program 31 is read from the ROM 3, decrypted according to the decryption routine 72 (process S14), and the decrypted control program 41 is written in the RAM 4 (process S15).
The decoding process is performed by these.

復号化工程の後、CPU6はIPL71に従ってRAM4内の制御プログラム41を読み込み、この制御プログラム41に従って制御装置1としての制御動作を開始する(処理S16)。
これにより稼働工程が行われる。
After the decryption step, the CPU 6 reads the control program 41 in the RAM 4 according to the IPL 71, and starts the control operation as the control device 1 according to the control program 41 (processing S16).
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 encrypted control program 31 in the ROM 3 that is the external storage area is encrypted and cannot be decrypted even if it is read out, and is protected against unauthorized reading. Is done.
Decryption of the encrypted control program 31 requires a decryption routine 72 stored in the FROM 7 which is an internal storage area. The FROM 7 serving as an internal storage area is set in an external reading prohibited state after the decryption routine 72 is written at the time of manufacture or the like. In this state, external reading is not possible except for the process in which the CPU 6 of the MCU 5, which is the processor, decrypts the encrypted control program 31. Therefore, unauthorized reading of the decryption routine 72 is prevented, and unauthorized decryption of the encrypted control program 31 by the decryption routine 72 can be prevented.

とくに、本実施形態では、セキュリティ機能つきの内部記憶領域としてFROM7を用い、ここに復号化ルーチン72を格納するため、暗号化済制御プログラム31に関して高い防護性能が得られる。
他の技術として、暗号化された制御プログラムおよびこれを復号化する復号化ルーチンを外部記憶領域に格納しておき、セキュリティ機能つきの内部記憶領域にパスワードを保存しておき、このパスワードの照合等により認証が得られたら復号化ルーチンで制御プログラムを復号化する、といった保護も考えられる。
しかし、このようなパスワード保護等は実用上短いコードあるいは文字列とされ、比較的容易に解除することができる。従って、認証さえ通過できれば、復号化ルーチン自体は保護されておらず、制御プログラムの復号化が容易に行われてしまう可能性がある。
これに対し、本実施形態では、復号化ルーチン72自体をセキュリティ機能つきの内部記憶領域であるFROM7に格納するため、そのルーチン全体を読み出すことは困難であり、これにより暗号化済制御プログラム31に関して高い防護性能が得られる。
In particular, in the present embodiment, since the FROM 7 is used as an internal storage area with a security function and the decryption routine 72 is stored therein, a high protection performance can be obtained with respect to the encrypted control program 31.
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 decryption routine 72 itself is stored in the FROM 7 which is an internal storage area with a security function, it is difficult to read out the entire routine, which is high with respect to the encrypted control program 31. Protective performance is obtained.

さらに、本実施形態では、暗号化済制御プログラム31は外部記憶領域であるROM3に格納されるので、ROM3を拡張することで大きな暗号化済制御プログラム31にも対応できる。つまり、内部記憶領域であるFROM7に暗号化済制御プログラム31を格納しようとすると問題となるプログラムサイズの制限を受けることがない。
以上により、本実施形態では、不正読み出しに対して強力な保護が得られるとともに、プロセッサであるMCU5としてセキュリティ機能つきフラッシュROM内蔵の市販品を用いることで、制御装置1の構成を容易に実現することができる。
従って、MCU5にセキュリティ機能のための専用ハードウェアを構成する場合のようなコスト上昇が避けられるとともに、復号化ルーチン72が変更された場合でも、FROM7の書き換えを行えばよく、プロセッサの回路および製造プロセスの変更のような煩雑な対応が必要ないため、コストおよび製造納期の問題を回避できる。
Furthermore, in this embodiment, since the encrypted control program 31 is stored in the ROM 3 that is an external storage area, it is possible to cope with a large encrypted control program 31 by expanding the ROM 3. That is, there is no limitation on the program size that causes a problem when the encrypted control program 31 is stored in the FROM 7 as the internal storage area.
As described above, in the present embodiment, strong protection against unauthorized reading is obtained, and the configuration of the control device 1 is easily realized by using a commercially available flash ROM with a security function as the MCU 5 as a processor. be able to.
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 decoding routine 72 is changed, the FROM 7 can be rewritten, and the processor circuit and manufacturing can be performed. Since complicated measures such as process changes are not necessary, problems of cost and production delivery can be avoided.

さらに、本実施形態では、FROM7にIPL71を設置し、復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みまでをIPL71内に記述することができる。このようなIPL7を用いることで、CPU6のIPL61ではIPL71へのジャンプを指示するだけでよくなり、復号化に関する処理が増えてもIPL6のプログラムサイズに制約されることを回避できる。   Furthermore, in the present embodiment, the IPL 71 is installed in the FROM 7 and the processes from starting the decryption routine 72 to decrypting the encrypted control program 31 and writing the decrypted control program 41 to the RAM 4 are described in the IPL 71. Can do. By using such IPL7, it is only necessary to instruct the IPL 61 of the CPU 6 to jump to the IPL 71, and it is possible to avoid being restricted by the program size of the IPL 6 even if the processing related to decoding increases.

〔第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 control device 1 </ b> A of the present embodiment has substantially the same configuration as the control device 1 (see FIG. 1) of the first embodiment described above. For this reason, the description which overlaps using the same code | symbol regarding a common element is abbreviate | omitted.
The difference between the control device 1A of the present embodiment and the control device 1 of the first embodiment described above is the installation location of the IPL that instructs the decoding operation.

第1実施形態の制御装置1では、MCU5のFROM7にIPL71を設置し、ここに復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みまでをIPL71内に記述していた。
これに対し、本実施形態の制御装置1Aでは、FROM7にはIPLがなく、復号化ルーチン72だけが格納されている。一方、ROM3には、暗号化済制御プログラム31とともに、IPL32が設置され、ここに復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みの指示が記述されている。
In the control device 1 according to the first embodiment, the IPL 71 is installed in the FROM 7 of the MCU 5, from starting the decryption routine 72 to decrypting the encrypted control program 31 and writing the decrypted control program 41 to the RAM 4. Was described in IPL71.
On the other hand, in the control apparatus 1A of the present embodiment, the FROM 7 has no IPL and stores only the decryption routine 72. On the other hand, the ROM 3 is provided with the IPL 32 together with the encrypted control program 31, and the decryption of the encrypted control program 31 from the activation of the decryption routine 72 and the writing of the decrypted control program 41 to the RAM 4 are performed here. Instructions are described.

本実施形態においては、以上に述べた制御装置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 control device 1A described above is prepared, the necessary programs and the like are stored in the above-described FROM 7 and ROM 3 (preparation process), and the MCU 5 is activated to decrypt the control program ( A series of processes up to the decoding process) and the control operation (operation process) based on this can be executed, and unauthorized reading of the control program can be prevented.
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 IPL 71 in the FROM 7 in the processing S13 in the first embodiment is referred to. And different.

このような本実施形態によれば、制御プログラムの不正読み出し防止、製造コストの低減、復号化プログラムの変更の容易性について、前述した第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 decryption routine 72 can be expanded. .
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 control device 1B of the present embodiment has a configuration (ROM 3, RAM 4, FROM 7) substantially similar to the control device 1 (see FIG. 1) of the first embodiment described above. For this reason, the description which overlaps using the same code | symbol regarding a common element is abbreviate | omitted.
The difference between the control device 1B of the present embodiment and the control device 1 of the first embodiment described above is the configuration of the processor.

すなわち、前記第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 CPU 6 and FROM 7 are included therein. When the MCU 5 is activated, the CPU 6 refers to the IPL 61, jumps to the IPL 71 in the FROM 7, and executes the decoding by the decoding routine 72 according to the IPL 71.
On the other hand, in the present embodiment (see FIG. 5), a main MCU 5A that is a main processor and an auxiliary MCU 5B that is an auxiliary processor are installed as processors.

主MCU5Aは、内部にCPU6Aを有し、CPU6AにはIPL61Aが設置されている。
補助MCU5Bは、内部にCPU6BおよびFROM7を有し、FROM7にはIPL71および復号化ルーチン72が格納されている。
本実施形態では、主MCU5Aを起動すると、CPU6AはIPL61Aを参照し、補助MCU5BのFROM7内のIPL71に飛び、IPL71に従って復号化ルーチン72による復号化を実行する。
The main MCU 5A has a CPU 6A inside, and an IPL 61A is installed in the CPU 6A.
The auxiliary MCU 5B has a CPU 6B and a FROM 7 therein, and an IPL 71 and a decoding routine 72 are stored in the FROM 7.
In this embodiment, when the main MCU 5A is activated, the CPU 6A refers to the IPL 61A, jumps to the IPL 71 in the FROM 7 of the auxiliary MCU 5B, and executes the decoding by the decoding routine 72 according to the IPL 71.

詳細には、主MCU5AのCPU6Aは、IPL61Aのプログラムに基づいて補助MCU5BのCPU6Bに制御を渡し、CPU6BがFROM7内のIPL71に基づいて、復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みまでを実行する。
主MCU5AのCPU6Aは、前述した復号化処理の間待機状態にあり、復号化処理が完了してCPU6Bから制御が戻された際に、復号化されたRAM4内の制御プログラム41に基づいて制御動作を実行する。
Specifically, the CPU 6A of the main MCU 5A passes control to the CPU 6B of the auxiliary MCU 5B based on the program of the IPL 61A. The process up to writing the decrypted control program 41 into the RAM 4 is executed.
The CPU 6A of the main MCU 5A is in a standby state during the above-described decoding process, and when the decoding process is completed and control is returned from the CPU 6B, a control operation is performed based on the control program 41 in the decoded RAM 4 Execute.

本実施形態においては、以上に述べた制御装置1Bを準備し、前述したFROM7およびROM3に必要なプログラム等を格納しておき(準備工程)、主MCU5Aを起動することで、制御プログラムの復号化(復号化工程)およびこれに基づく制御動作(稼働工程)までの一連の処理を実行することができ、制御プログラムの不正読み出しを防止することができる。
これらの各工程は、前述した第1実施形態と同様であり、具体的に、図6に示す本実施形態における処理S31〜S36は、前述した第1実施形態の処理S11〜S16(図2参照)と同様である。
ただし、前述した通りプロセッサが主MCU5Aと補助MCU5Bの二つで構成され、各処理は二つのプロセッサで分担して実行される。
In the present embodiment, the control device 1B 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 main MCU 5A is activated to decode the control program. A series of processes up to (decoding process) and control operation (operation process) based on this can be executed, and unauthorized reading of the control program can be prevented.
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 main MCU 5A and the auxiliary MCU 5B, and each processing is executed by being shared by the two processors.

図6において、準備工程として、制御装置1Bを準備したら、ROM3に暗号化済制御プログラム31を格納するとともに、補助MCU5BのFROM7に復号化ルーチン72を格納する(処理S31)。
準備ができたら、制御装置1Bの主MCU5Aを起動する。主MCU5Aにおいて、CPU6AがIPL61Aを読み込み、その内容に基づいて主MCU5A、補助MCU5Bおよび制御装置1Bの初期化動作を実行する(処理S32)。
In FIG. 6, when the control device 1B is prepared as a preparation step, the encrypted control program 31 is stored in the ROM 3, and the decryption routine 72 is stored in the FROM 7 of the auxiliary MCU 5B (processing S31).
When ready, the main MCU 5A of the control device 1B is activated. In the main MCU 5A, the CPU 6A reads the IPL 61A, and executes initialization operations of the main MCU 5A, the auxiliary MCU 5B, and the control device 1B based on the contents (processing S32).

初期化動作ができたら、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 CPU 6A transfers control to the CPU 6B of the auxiliary MCU 5B according to the IPL 61A, and the CPU 5B reads the IPL 71 in the FROM 7 and starts the decoding process based on the content (process S33).
In the auxiliary MCU 5 </ b> B, the CPU 6 </ b> B reads the decoding routine 72 into the FROM 7 according to the IPL 71, and executes the decoding process according to the decoding routine 72. In the decryption process, the encrypted control program 31 is read from the ROM 3, decrypted according to the decryption routine 72 (process S34), and the decrypted control program 41 is written in the RAM 4 (process S35).
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 CPU 6B to the CPU 6A of the main MCU 5A, and the CPU 6A reads the control program 41 in the RAM 4 according to the IPL 61A, and starts the control operation as the control device 1B according to the control program 41 (process S36). .
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 main MCU 5A as the main processor and the auxiliary MCU 5B as the auxiliary processor as the processors.

主プロセッサである主MCU5Aは、復号化処理の前の制御装置1Bの初期化処理および復号化処理が完了した後の制御動作を実行するものとされる。
補助プロセッサである補助MCU5Bは、復号化処理を専ら実行するものである。特に、補助MCU5BのFROM7には、復号化ルーチン72とともに、復号化処理を記述したIPL71が設置されており、復号化処理の一切が補助MCU5Bにまとめられている。
つまり、主MCU5Aとしては、不正読み出し防止機能がない既存の制御装置のMCU等をそのまま利用することができ、起動時のIPLを書き換える程度の変更だけで本実施形態の主MCU5Aとして利用することができる。
そして、補助MCU5Bは、復号化処理の一切がまとめられているため、既存の制御装置に追加することで、本実施形態の制御装置1Bを構成することができる。
The main MCU 5A, which is the main processor, executes control operations after the initialization process and the decoding process of the control device 1B before the decoding process are completed.
The auxiliary MCU 5B, which is an auxiliary processor, executes the decoding process exclusively. In particular, the FROM 7 of the auxiliary MCU 5B is provided with the IPL 71 describing the decoding process together with the decoding routine 72, and all the decoding processes are collected in the auxiliary MCU 5B.
That is, as the main MCU 5A, an MCU of an existing control device that does not have an illegal read prevention function can be used as it is, and can be used as the main MCU 5A of the present embodiment only by changing the IPL at the time of activation. it can.
Since the auxiliary MCU 5B collects all the decoding processes, it can be added to an existing control device to configure the control device 1B of the present embodiment.

このように、本実施形態のような主プロセッサおよび補助プロセッサを用いる構成とすることで、既存の制御装置を利用して本発明を容易に実施できるとともに、既存の制御装置を本発明のセキュリティ機能つきの制御装置とする場合に、既存の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 control device 1 </ b> C of this embodiment has substantially the same configuration as the control device 1 </ b> B (see FIG. 5) of the third embodiment described above, and many elements are in the first embodiment (see FIG. 1). And in common. For this reason, the description which overlaps using the same code | symbol regarding a common element is abbreviate | omitted.
The difference between the control device 1C of the present embodiment and the control device 1B of the third embodiment described above is the installation location of the IPL that instructs the decoding operation. This difference is the same as the difference of the second embodiment with respect to the first embodiment described above.

第3実施形態の制御装置1Bでは、補助MCU5BのFROM7にIPL71を設置し、ここに復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みまでをIPL71内に記述していた。
これに対し、本実施形態の制御装置1Cでは、FROM7にはIPLがなく、復号化ルーチン72だけが格納されている。一方、ROM3には、暗号化済制御プログラム31とともに、IPL32が設置され、ここに復号化ルーチン72の起動から暗号化済制御プログラム31の復号化、復号化した制御プログラム41のRAM4への書き込みの指示が記述されている。
In the control device 1B according to the third embodiment, the IPL 71 is installed in the FROM 7 of the auxiliary MCU 5B, where the decryption routine 72 is started, the encrypted control program 31 is decrypted, and the decrypted control program 41 is written to the RAM 4. Up to this point was described in the IPL 71.
On the other hand, in the control device 1C of the present embodiment, the FROM 7 has no IPL, and stores only the decoding routine 72. On the other hand, the ROM 3 is provided with the IPL 32 together with the encrypted control program 31, and the decryption of the encrypted control program 31 from the activation of the decryption routine 72 and the writing of the decrypted control program 41 to the RAM 4 are performed here. Instructions are described.

本実施形態においては、以上に述べた制御装置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 main MCU 5A is activated to decode the control program. A series of processes up to (decoding process) and control operation (operation process) based on this can be executed, and unauthorized reading of the control program can be prevented.
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 IPL 71 in the FROM 7 in the process S33 in the third embodiment is referred to. And different.

このような本実施形態によれば、制御プログラムの不正読み出し防止、製造コストの低減、復号化プログラムの変更の容易性について、前述した第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 decryption routine 72 can be expanded. .
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 main MCU 5A, and the auxiliary MCU 5B, which are processors, but may be incorporated into these processors.
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 main MCU 5A.

前記各実施形態では、セキュリティ機能を有する内部記憶領域としてフラッシュメモリである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 ... control device 2 ... system bus 31 ... encrypted control program 41 ... control program 5 ... MCU
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.
請求項1に記載した制御装置において、
前記プロセッサとして、制御プログラムに基づいて制御対象を制御する主プロセッサと、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有する補助プロセッサと、を備えることを特徴とする制御装置。
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.
請求項3に記載した制御プログラム不正読み出し防止方法において、
前記プロセッサとして、制御プログラムに基づいて前記制御対象を制御する主プロセッサと、外部から書き込み可能かつ読み出し禁止状態に設定可能な内部記憶領域を有する補助プロセッサと、を用いることを特徴とする制御プログラム不正読み出し防止方法。
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.
JP2011239231A 2011-10-31 2011-10-31 Control device and control program illegal reading prevention method Pending JP2013097539A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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