JP2006091967A - Information processor and debugging device - Google Patents

Information processor and debugging device Download PDF

Info

Publication number
JP2006091967A
JP2006091967A JP2004273056A JP2004273056A JP2006091967A JP 2006091967 A JP2006091967 A JP 2006091967A JP 2004273056 A JP2004273056 A JP 2004273056A JP 2004273056 A JP2004273056 A JP 2004273056A JP 2006091967 A JP2006091967 A JP 2006091967A
Authority
JP
Japan
Prior art keywords
program
unit
common key
encrypted
task
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
JP2004273056A
Other languages
Japanese (ja)
Inventor
Takao Yamamoto
崇夫 山本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004273056A priority Critical patent/JP2006091967A/en
Publication of JP2006091967A publication Critical patent/JP2006091967A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor for decoding and executing an encrypted program by storing cryptographic key information associated with a task to be executed by a microprocessor, and rewriting the cryptographic key information by a task switching program at the time of switching the task. <P>SOLUTION: This information processor is provided with a secret key holding part 5 for holding a secret key, an encrypted common key holding part 3 for holding a common key encrypted by a cryptographic key corresponding to the secret key corresponding to at least one task, a common key decoding part 4 for decoding the common key as an input by the secret key, an instruction decoding part 6 for decoding the program of the task by using the decoded common key when the common key corresponding to the task for performing instruction fetch 2 is held in the encrypted common holding part 3 and an instruction executing part 1 for fetching 2 and executing the program of the task from the instruction decoding part 6. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、情報処理装置およびデバッグ装置に関し、特に、暗号化されたプログラムを他のプログラムから秘匿しながら実行するマイクロプロセッサ、および、そのマイクロプロセッサのプログラム開発時のデバッグ装置に関する。   The present invention relates to an information processing apparatus and a debugging apparatus, and more particularly, to a microprocessor that executes an encrypted program while keeping it secret from other programs, and a debugging apparatus during program development of the microprocessor.

従来のマイクロプロセッサは、暗号化されたプログラムの暗号鍵を、暗号化されたプログラムのアドレス情報と関連づけ、アドレス変換装置に、その暗号鍵に関する情報をアドレスと関連づけて保持し、マイクロプロセッサが該プログラムを実行する際の命令フェッチ時に、そのプログラムのアドレスに関連づけられた暗号鍵を用いて、暗号化されたプログラムを復号している(例えば、特許文献1参照)。
また、暗号化されたプログラムを復号して実行するマイクロプロセッサのデバッグ装置としては、デバッグ通信路上に復号されたプログラムが流れるのを防ぐために、デバッグ対象のプログラムをデバッグのために暗号化し、デバッグ装置において復号する方法がある。(例えば、特許文献2参照)。
特開2001−230770号公報 特開2003−140763号公報
The conventional microprocessor associates the encryption key of the encrypted program with the address information of the encrypted program, holds the information related to the encryption key in the address translation device in association with the address, and the microprocessor stores the program. At the time of instruction fetch when executing the program, the encrypted program is decrypted using the encryption key associated with the address of the program (see, for example, Patent Document 1).
In addition, as a debugging device for a microprocessor that decrypts and executes an encrypted program, the debugging target device is encrypted for debugging in order to prevent the decrypted program from flowing on the debugging communication path. There is a method for decoding. (For example, refer to Patent Document 2).
JP 2001-230770 A JP 2003-140763 A

しかしながら、上記従来の情報処理装置の構成では、プログラムのアドレスに関連づけた暗号鍵を用いて暗号化されたプログラムを復号して実行するため、アドレス変換装置にアドレス変換情報の他に暗号鍵情報を記憶させ、マイクロプロセッサがフェッチする命令のアドレスに対応する暗号鍵を用いてプログラムを復号させる必要があるので、アドレス変換手段を必要とし、コストを増加してしまうという課題がある。   However, in the configuration of the conventional information processing apparatus, since the encrypted program is decrypted and executed using the encryption key associated with the program address, the encryption key information is transmitted to the address conversion apparatus in addition to the address conversion information. Since it is necessary to decrypt the program by using the encryption key corresponding to the address of the instruction to be stored and fetched by the microprocessor, there is a problem that the address conversion means is required and the cost is increased.

また、上記従来のデバッグ装置の構成でも、デバッグ対象のプログラムをデバッグのためにデバッグ用の暗号手段を用いて暗号化しているため、同様にコストを増加してしまうという課題がある。   Further, even in the configuration of the above-described conventional debugging device, the program to be debugged is encrypted by using the encryption means for debugging for debugging, so that there is a problem that the cost similarly increases.

本発明は、上記のような従来の問題点を解決するためになされたもので、復号のためのアドレス変換手段、デバッグのための暗号手段を必要とせずに、タスク毎に異なる暗号鍵を用いて複数の暗号化されたプログラムを実行することのできる、ローコストの情報処理装置、及びデバッグ装置を提供することを目的とする。   The present invention has been made to solve the conventional problems as described above, and uses different encryption keys for each task without requiring address conversion means for decryption and encryption means for debugging. Another object of the present invention is to provide a low-cost information processing apparatus and debugging apparatus that can execute a plurality of encrypted programs.

上記の課題を解決するために、本発明は、マイクロプロセッサが実行するタスクに関連づけた暗号鍵情報を記憶し、タスクの切替え時に、その暗号鍵情報をタスク切替えプログラムにより書き換えることによって、暗号化されたプログラムを復号して実行する構成としている。   In order to solve the above problems, the present invention stores encryption key information associated with a task executed by a microprocessor, and is encrypted by rewriting the encryption key information by a task switching program at the time of task switching. The program is decrypted and executed.

具体的には、本発明の請求項1に記載の情報処理装置は、秘密鍵を保持する秘密鍵保持部と、上記秘密鍵に対応する公開鍵によって暗号化された共通鍵を少なくとも一つのタスクに対応して保持する暗号化共通鍵保持部と、上記暗号化共通鍵保持部に保持された暗号化された共通鍵を入力とし、上記秘密鍵によって復号する共通鍵復号部と、命令フェッチを行なうタスクに対応する上記共通鍵が上記暗号化共通鍵保持部に保持されている場合に、上記復号された共通鍵を用いて該タスクのプログラムを復号する命令復号部と、上記命令復号部から上記タスクのプログラムをフェッチして実行する命令実行部とを備えたことを特徴とするものである。
これにより、タスク毎に異なる暗号鍵を用いて暗号化されたプログラムを実行することができる。
Specifically, the information processing apparatus according to claim 1 of the present invention includes a secret key holding unit that holds a secret key and a common key encrypted with a public key corresponding to the secret key in at least one task. An encryption common key holding unit held corresponding to the encrypted common key, an encrypted common key held in the encryption common key holding unit, and a common key decryption unit for decrypting with the secret key; When the common key corresponding to the task to be performed is held in the encrypted common key holding unit, an instruction decryption unit that decrypts the program of the task using the decrypted common key, and the instruction decryption unit An instruction execution unit that fetches and executes the program of the task is provided.
This makes it possible to execute a program encrypted using a different encryption key for each task.

また、本発明の請求項2に記載の情報処理装置は、請求項1に記載の情報処理装置において、少なくとも上記命令実行部がタスク切替えを行なうプログラムを実行するスーパーバイザ状態を有し、上記スーパーバイザ状態であるときには、上記復号部は、上記プログラムの復号を行わないことを特徴とするものである。
これにより、通常タスク切替を行なうプログラムを実行するスーパーバイザモードではプログラムを暗号化せずに実行することができる。
An information processing apparatus according to claim 2 of the present invention is the information processing apparatus according to claim 1, wherein at least the instruction execution unit has a supervisor state for executing a program for switching tasks, and the supervisor state In this case, the decoding unit does not decode the program.
As a result, in the supervisor mode for executing the program for performing normal task switching, the program can be executed without being encrypted.

本発明の請求項3に記載の情報処理装置は、請求項1又は請求項2に記載の情報処理装置において、複数のタスクの共通鍵をそれぞれに保持する複数の上記暗号化共通鍵保持部と、実行するタスクのタスク番号を保持する第1のタスク識別部と、を備え、上記第1のタスク識別部は、上記タスク番号を基に上記複数の暗号化共通鍵保持部から一つの暗号化共通鍵保持部を選択し、上記共通鍵復号部は、上記選択された暗号化共通鍵保持部に保持されている共通鍵を入力とし、上記秘密鍵によって復号することを特徴とするものである。
これにより、タスク番号を用いて対応する暗号化共通鍵保持部に保持されている共通鍵を用いることができるので、タスク切替時に暗号化共通鍵保持部に共通鍵を再設定する必要がなくなる。
The information processing device according to claim 3 of the present invention is the information processing device according to claim 1 or 2, wherein the plurality of encrypted common key holding units respectively holding the common keys of a plurality of tasks; A first task identification unit that holds a task number of a task to be executed, and the first task identification unit performs one encryption from the plurality of encrypted common key holding units based on the task number A common key holding unit is selected, and the common key decrypting unit receives the common key held in the selected encrypted common key holding unit and decrypts it with the secret key. .
As a result, since the common key held in the corresponding encrypted common key holding unit using the task number can be used, there is no need to reset the common key in the encrypted common key holding unit at the time of task switching.

本発明の請求項4に記載の情報処理装置は、請求項3に記載の情報処理装置において、上記複数のタスクのプロセッサ状態情報を保持する複数のコンテキストと、実行中のタスクのタスク番号を上記第1のタスク識別部に設定するコンテキスト切替え部とを備え、上記複数の暗号化共通鍵保持部は、上記複数のタスクのそれぞれのコンテキストであり、上記複数のタスクは、上記コンテキストを上記コンテキスト切替え部により切替えながら実行することを特徴とするものである。
これにより、暗号化共通鍵保持部に共通鍵を再設定せずに、複数の暗号化されたプログラムを切替えながら復号し、実行することができる。
The information processing apparatus according to claim 4 of the present invention is the information processing apparatus according to claim 3, wherein the plurality of contexts holding the processor state information of the plurality of tasks and the task number of the task being executed are A context switching unit that is set in a first task identification unit, wherein the plurality of encrypted common key holding units are contexts of the plurality of tasks, and the plurality of tasks switch the context to the context. It is characterized by being executed while being switched by a unit.
Accordingly, a plurality of encrypted programs can be decrypted and executed while switching without resetting the common key in the encrypted common key holding unit.

本発明の請求項5に記載の情報処理装置は、請求項3に記載の情報処理装置において、上記命令復号部によって復号されたプログラムを格納するプログラム記憶部と、上記プログラム記憶部へのプログラムの転送を制御するプログラム転送部と、上記プログラム転送部によってプログラムを転送する場合、該プログラムに対応するタスク番号を保持して上記複数の暗号化共通鍵保持部から一つの共通鍵を選択する第2のタスク識別部とを備え、上記命令実行部は、上記プログラム記憶部からプログラムをフェッチして実行することを特徴とするものである。
これにより、1つのタスクを実行しながら他のタスクの暗号化されたプログラムを復号転送することができる。
An information processing apparatus according to claim 5 of the present invention is the information processing apparatus according to claim 3, wherein a program storage unit that stores a program decoded by the instruction decoding unit, and a program stored in the program storage unit A program transfer unit for controlling transfer and a program transfer unit configured to transfer a program by the program transfer unit, and to select one common key from the plurality of encrypted common key storage units by holding a task number corresponding to the program The instruction execution unit fetches and executes a program from the program storage unit.
This makes it possible to decrypt and transfer an encrypted program of another task while executing one task.

本発明の請求項6に記載の情報処理装置は、請求項3に記載の情報処理装置において、上記命令復号部によって復号されたプログラムを格納するキャッシュメモリと、上記キャッシュメモリへのプログラムの転送を制御するキャッシュコントローラとからなる命令キャッシュを備え、上記命令実行部は、上記命令キャッシュからプログラムをフェッチして実行することを特徴とするものである。
これにより、プログラム記憶部として命令キャッシュを用いて、暗号化されたプログラムを命令キャッシュにフェッチする際に復号することができるため、1つのタスクを実行しながら他のタスクの暗号化されたプログラムを復号転送することができる。
An information processing apparatus according to a sixth aspect of the present invention is the information processing apparatus according to the third aspect, wherein a cache memory storing the program decoded by the instruction decoding unit and a transfer of the program to the cache memory are performed. An instruction cache including a cache controller to be controlled is provided, and the instruction execution unit fetches and executes a program from the instruction cache.
As a result, the instruction cache is used as the program storage unit, and the encrypted program can be decrypted when fetched into the instruction cache. Therefore, the encrypted program of the other task is executed while executing one task. Decryption transfer is possible.

本発明の請求項7に記載の情報処理装置は、請求項5に記載の情報処理装置において、上記プログラム転送部によってプログラムを上記プログラム記憶部に転送する際に上記共通鍵復号部に入力する共通鍵を格納する別途の暗号化共通鍵格納部をさらに備え、上記プログラム記憶部は、上記暗号化されたプログラムのアドレス空間と別のアドレス空間に配置され、上記プログラム転送部は、プログラム転送命令によって明示的に起動されることを特徴とするものである。
これにより、外部メモリから、メモリのアドレスが異なる内蔵メモリへのプログラム転送の場合においても、1つのタスクを実行しながら他のタスクの暗号化されたプログラムを復号転送することができる。
The information processing apparatus according to claim 7 of the present invention is the information processing apparatus according to claim 5, wherein the common information input to the common key decryption unit when the program transfer unit transfers the program to the program storage unit. A separate encrypted common key storage unit for storing the key, wherein the program storage unit is arranged in an address space different from the address space of the encrypted program, and the program transfer unit is configured to execute a program transfer command It is characterized by being explicitly activated.
As a result, even in the case of program transfer from the external memory to the built-in memory having a different memory address, the encrypted program of the other task can be decrypted and transferred while executing one task.

また、本発明の請求項8に記載のデバッグ装置は、請求項1に記載の情報処理装置と組み合わせて用いられるデバッグ装置であって、上記暗号化されたプログラムの格納アドレス情報と、対応する上記共通鍵とを格納するデバッグ情報保持部と、上記暗号化されたプログラムの格納アドレス情報、及び対応する上記復号された共通鍵を用いて、上記情報処理装置から読み出した暗号化プログラムを復号して命令表示を行なう命令表示部とを備えたことを特徴とするものである。
これにより、暗号化されたプログラムの開発においてデバッグを行なうことができる。
A debugging device according to an eighth aspect of the present invention is a debugging device used in combination with the information processing device according to the first aspect, wherein the encrypted program storage address information corresponds to the above-mentioned information. Using the debug information holding unit for storing the common key, the storage address information of the encrypted program, and the corresponding decrypted common key, the encrypted program read from the information processing apparatus is decrypted. An instruction display unit for displaying an instruction is provided.
Thereby, debugging can be performed in the development of the encrypted program.

本発明の請求項9に記載のデバッグ装置は、請求項8に記載のデバッグ装置において、上記復号されたプログラムにブレイクポイント命令を埋め込み、上記共通鍵によって暗号化を行ない、該暗号化されたプログラムを上記情報処理装置の該プログラムが格納されていた場所に書き込む暗号部を備えたことを特徴とするものである。
これにより、ブレイクポイントを簡単に設定し又は増やして暗号化されたプログラムのデバッグを行なうことができる。
The debugging device according to claim 9 of the present invention is the debugging device according to claim 8, wherein the decrypted program is embedded with a breakpoint instruction, encrypted with the common key, and the encrypted program. The information processing apparatus includes an encryption unit that writes the program in a location where the program is stored.
As a result, the encrypted program can be debugged by simply setting or increasing breakpoints.

本発明の請求項1に係る情報処理装置によれば、実行するタスクに関連づけた共通鍵を暗号化共通鍵保持部に記憶し、タスクの切替え時に、その共通鍵を書き換えるようにしたので、タスク毎の暗号鍵を用いて暗号化されたプログラムを実行することができるという効果がある。   According to the information processing apparatus of the first aspect of the present invention, the common key associated with the task to be executed is stored in the encryption common key holding unit, and the common key is rewritten when the task is switched. There is an effect that an encrypted program can be executed using each encryption key.

本発明の請求項2に係る情報処理装置によれば、スーパーバイザモードを設定して該モードでは復号を行わないようにしたので、スーパーバイザモードでタスク切替を行なうプログラムを暗号化せずに、それ以外のタスクとして、暗号化されたプログラムを実行することにより、タスク毎の暗号鍵の設定を、スーパーバイザモードで動作するプログラムにより簡単に行うことができるという効果がある。   According to the information processing apparatus according to claim 2 of the present invention, since the supervisor mode is set so that the decryption is not performed in the supervisor mode, the program for performing the task switching in the supervisor mode is not encrypted, and other than that By executing the encrypted program as the task, it is possible to easily set the encryption key for each task by the program operating in the supervisor mode.

本発明の請求項3に係る情報処理装置によれば、複数の暗号化共通鍵保持部と、実行するタスク番号により上記暗号化共通鍵保持部を選択するタスク識別部とを備えるようにしたので、複数のタスクに対する暗号鍵を再設定せずに切替えることが可能となるので、切替えにかかる時間を短縮できるという効果がある。   According to the information processing apparatus according to claim 3 of the present invention, the information processing apparatus includes a plurality of encryption common key holding units and a task identification unit that selects the encryption common key holding unit according to a task number to be executed. Since it is possible to switch without resetting encryption keys for a plurality of tasks, there is an effect that the time required for switching can be shortened.

本発明の請求項4に係る情報処理装置によれば、複数のタスクのコンテキストを切替えながら実行する情報処理装置においても、複数のタスクに対する暗号鍵を再設定せずに切替えることが可能となるので、切替えにかかる時間を短縮でき、さらに低コストで暗号化されたプログラムを実行することができるという効果がある。   According to the information processing apparatus according to claim 4 of the present invention, even in an information processing apparatus that executes while switching the context of a plurality of tasks, it is possible to switch without resetting encryption keys for the plurality of tasks. The time required for switching can be shortened, and the encrypted program can be executed at a lower cost.

本発明の請求項5に係る情報処理装置によれば、内蔵メモリを用いた情報処理装置においても、復号されたプログラムを内蔵のプログラム記憶部に保持することにより、タスク毎に異なる暗号鍵を用いて暗号化されたプログラムを実行することができる以外に、命令実行の時間を短縮することができるという効果がある。   According to the information processing apparatus according to claim 5 of the present invention, even in the information processing apparatus using the built-in memory, a different encryption key is used for each task by holding the decrypted program in the built-in program storage unit. In addition to being able to execute the encrypted program, the instruction execution time can be shortened.

本発明の請求項6に係る情報処理装置によれば、命令キャッシュを用いた情報処理装置においても、復号されたプログラムをキャッシュメモリに保持することにより、タスク毎に異なる暗号鍵を用いて暗号化されたプログラムを実行することができる以外に、命令実行の時間を短縮することができるという効果がある。   According to the information processing apparatus according to claim 6 of the present invention, even in the information processing apparatus using the instruction cache, the decrypted program is stored in the cache memory, thereby encrypting using a different encryption key for each task. In addition to executing the programmed program, there is an effect that the time for executing the instruction can be shortened.

本発明の請求項7に係る情報処理装置によれば、外部メモリから、メモリのアドレスが異なる内蔵メモリへのプログラム転送の場合においても、命令実行の時間を短縮しながら少ないコストで暗号化されたプログラムを実行することができるという効果がある。   According to the information processing apparatus of the seventh aspect of the present invention, even in the case of program transfer from an external memory to a built-in memory having a different memory address, encryption is performed at a low cost while shortening the instruction execution time. There is an effect that the program can be executed.

本発明の請求項8に係るデバッグ装置によれば、暗号化されたプログラムの格納アドレス情報と、対応する上記共通鍵とを格納するデバッグ情報保持部と、上記暗号化されたプログラムの格納アドレス情報、及び対応する上記復号された共通鍵を用いて、上記情報処理装置から読み出した暗号化プログラムを復号して命令表示を行なう命令表示部とを備えるようにしたので、タスク毎に異なる暗号鍵を用いて暗号化されたプログラムを実行する際に、暗号化されたプログラムの命令表示を行なうことによりプログラムのデバッグを少ないコストで行なうことができるという効果がある。   According to the debugging apparatus of the eighth aspect of the present invention, the debug information holding unit that stores the storage address information of the encrypted program and the corresponding common key, and the storage address information of the encrypted program And a command display unit that displays the command by decrypting the encrypted program read from the information processing apparatus using the corresponding decrypted common key, and therefore, a different encryption key for each task. When an encrypted program is executed, the program can be debugged at a low cost by displaying the instructions of the encrypted program.

本発明の請求項9に係るデバッグ装置によれば、暗号化されているプログラムにブレイクポイント命令を埋め込む暗号部を備えるようにしたので、暗号化されたプログラムにブレイクポイント命令を挿入して、プログラムにブレイクポイントを設定することにより、コストの高いハードウェアによるブレイクポイントの設定を必要とせずにプログラムのデバッグを行なうことができるという効果がある。   According to the debugging apparatus of the ninth aspect of the present invention, since the encryption unit for embedding the breakpoint instruction in the encrypted program is provided, the breakpoint instruction is inserted into the encrypted program, and the program By setting breakpoints in the program, it is possible to debug a program without requiring breakpoints to be set by expensive hardware.

以下、本発明の実施の形態を図面を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(実施の形態1)
図1は、本発明の実施の形態1に係る情報処理装置の概略構成を示すブロック図である。同図に示すように、本実施の形態1による情報処理装置は、命令を実行する命令実行部1と、命令を読み出して命令実行部1に供給する命令フェッチ部2と、共通鍵を保持する暗号化共通鍵保持部3と、秘密鍵保持部5に保持されている秘密鍵を用いて暗号化共通鍵保持部3が保持する共通鍵を復号する共通鍵復号部4と、秘密鍵を保持する秘密鍵保持部5と、命令フェッチを行なうタスクに対応する共通鍵が暗号化共通鍵保持部3に保持されている場合に、上記復号された共通鍵を用いて該命令を復号し命令フェッチ部2に転送する命令復号部6と、命令およびデータを記憶する記憶部7とによって構成される。
(Embodiment 1)
FIG. 1 is a block diagram showing a schematic configuration of the information processing apparatus according to Embodiment 1 of the present invention. As shown in the figure, the information processing apparatus according to the first embodiment holds an instruction execution unit 1 that executes an instruction, an instruction fetch unit 2 that reads an instruction and supplies the instruction to the instruction execution unit 1, and a common key. Encrypted common key holding unit 3, common key decrypting unit 4 for decrypting the common key held by the encrypted common key holding unit 3 using the secret key held in the secret key holding unit 5, and holding the secret key When the common key corresponding to the task that performs the instruction fetch and the secret key holding unit 5 that is to be fetched is held in the encrypted common key holding unit 3, the decrypted common key is used to decrypt the instruction and fetch the instruction The instruction decoding unit 6 for transferring to the unit 2 and a storage unit 7 for storing instructions and data.

ここで、秘密鍵保持部5は、あらかじめ決まった秘密鍵を保持する。暗号化共通鍵保持部3は、共通鍵を保持する他に、共通鍵を保持しているか否かという情報を、命令実行部1の命令実行によって設定される。また、暗号化共通鍵保持部3は、リセットによって共通鍵を保持していない状態に設定される。さらに、共通鍵が設定されていないときは、命令復号部6は、復号処理を行わずに記憶部7から読み出された命令をそのまま命令フェッチ部2に転送する。   Here, the secret key holding unit 5 holds a predetermined secret key. In addition to holding the common key, the encrypted common key holding unit 3 sets information on whether or not the common key is held by instruction execution of the instruction execution unit 1. Further, the encrypted common key holding unit 3 is set to a state in which the common key is not held by reset. Further, when the common key is not set, the instruction decryption unit 6 transfers the instruction read from the storage unit 7 as it is to the instruction fetch unit 2 without performing the decryption process.

記憶部7には、ブートプログラムと、タスク毎のプログラムが格納されている。各タスクに対応するプログラムは、それぞれの共通鍵によって暗号化されている。また、ブートプログラムは、タスクに対応するプログラムの格納アドレスと、そのプログラムが暗号化されているか否か、暗号化されている場合の共通鍵をタスク毎に保持している。ここで、共通鍵は、秘密鍵保持部5に保持されている秘密鍵に対応する公開鍵を用いて暗号化したものである。   The storage unit 7 stores a boot program and a program for each task. The program corresponding to each task is encrypted with each common key. The boot program holds a storage address of a program corresponding to a task, whether or not the program is encrypted, and a common key when the program is encrypted for each task. Here, the common key is encrypted using a public key corresponding to the secret key held in the secret key holding unit 5.

次に、上記のように構成されている本実施の形態1に係る情報処理装置の動作を、図2のフローチャートを参照しながら説明する。   Next, the operation of the information processing apparatus according to the first embodiment configured as described above will be described with reference to the flowchart of FIG.

ステップS1では、命令実行部1は、リセットを行った後、ブートプログラムを実行する。
ステップS2では、まず、記憶部7からブートプログラムを読み出す。この時は、リセット後であって、暗号化共通鍵保持部3は、共通鍵を保持していない状態に初期化されているため、ブートプログラムは、復号処理されずに、そのまま実行される。
具体的には、ブートプログラムは、ステップS3〜S6の手順でタスクを実行する。
In step S1, the instruction execution unit 1 executes the boot program after resetting.
In step S <b> 2, first, the boot program is read from the storage unit 7. At this time, after resetting, the encrypted common key holding unit 3 is initialized to a state in which the common key is not held, so that the boot program is executed as it is without being decrypted.
Specifically, the boot program executes a task in the procedure of steps S3 to S6.

ステップS3では、命令実行部のリクエストに基づいてブートプログラムの保持した内容より実行するタスクを決定する。
ステップS4では、実行するタスクのプログラムが暗号化されているか否かを調べる。暗号化されている場合はステップS5へ、されていない場合はステップS6へ進む。
In step S3, a task to be executed is determined from the contents held in the boot program based on the request from the instruction execution unit.
In step S4, it is checked whether or not the program of the task to be executed is encrypted. If it is encrypted, the process proceeds to step S5. If not, the process proceeds to step S6.

ステップS5では:ブートプログラムに保持されている該実行するタスクの共通鍵を、暗号化共通鍵保持部3に設定し、暗号化共通鍵保持部3が共通鍵を保持している状態に設定し、その後ステップS6へ進む。
ステップS6では、タスクの開始アドレスへプログラム制御を移す。
In step S5: the common key of the task to be executed held in the boot program is set in the encrypted common key holding unit 3, and the encrypted common key holding unit 3 is set in the state holding the common key. Then, the process proceeds to step S6.
In step S6, program control is transferred to the task start address.

このように、本実施の形態1による情報処理装置では、秘密鍵を保持する秘密鍵保持部と、秘密鍵に対応する公開鍵によって暗号化された共通鍵をタスクに対応して保持する暗号化共通鍵保持部と、暗号化共通鍵保持部に保持された暗号化された共通鍵を秘密鍵によって復号する共通鍵復号部と、命令フェッチを行なうタスクに対する共通鍵が暗号化共通鍵保持部に保持されている場合に、復号された共通鍵によってプログラムを復号する命令復号部とを備え、命令復号部によって復号されたプログラムを実行することにより、タスク毎に異なる暗号鍵を用いて暗号化されたプログラムを実行することができる。   As described above, in the information processing apparatus according to the first embodiment, the secret key holding unit that holds the secret key, and the encryption that holds the common key encrypted by the public key corresponding to the secret key corresponding to the task. The common key holding unit, the common key decrypting unit that decrypts the encrypted common key held in the encrypted common key holding unit with the secret key, and the common key for the task performing the instruction fetch are in the encrypted common key holding unit And a command decryption unit that decrypts the program using the decrypted common key, and is encrypted using a different encryption key for each task by executing the program decrypted by the command decryption unit. Program can be executed.

(実施の形態2)
本発明の実施の形態2による情報処理装置は、上記実施の形態1による情報処理装置における、異なるタスクを実行する場合はリセットから始まる必要があるという課題を改善したものであり、以下、図面を用いて説明する。
(Embodiment 2)
The information processing apparatus according to the second embodiment of the present invention improves the problem that the information processing apparatus according to the first embodiment needs to start from a reset when performing different tasks. It explains using.

図3は、本発明の実施の形態2による情報処理装置の概略構成を示すブロック図である。図3に示すように、本実施の形態2による情報処理装置は、上記実施の形態1とは、少なくとも命令実行部1の実行状態が、タスク切替えを行なうプログラムを実行するスーパーバイザ状態であることを示すスーパーバイザ状態表示部101が追加されている点においてのみ異なっており、その他の構成要素は、上記実施の形態1の情報処理装置(図1)と同様で、同一符号を付しており、その説明を省略する。   FIG. 3 is a block diagram showing a schematic configuration of the information processing apparatus according to the second embodiment of the present invention. As shown in FIG. 3, the information processing apparatus according to the second embodiment is different from the first embodiment in that at least the execution state of the instruction execution unit 1 is a supervisor state for executing a program for switching tasks. The only difference is that a supervisor status display unit 101 is added. Other components are the same as those in the information processing apparatus (FIG. 1) of the first embodiment, and are denoted by the same reference numerals. Description is omitted.

ここでは、スーパーバイザ状態表示部101はその状態情報を、暗号化共通鍵保持部3に入力し、暗号化共通鍵保持部3は、スーパーバイザ状態表示部101がスーパーバイザ状態を示している時には共通鍵を保持していない状態と等価な動作を行なうように構成されている。   Here, the supervisor status display unit 101 inputs the status information to the encrypted common key holding unit 3, and the encrypted common key holding unit 3 receives the common key when the supervisor status display unit 101 indicates the supervisor status. It is configured to perform an operation equivalent to the state of not holding.

次に、上記のように構成されている本実施の形態2による情報処理装置の動作を、図4のフローチャートを参照しながら説明する。
ステップS1では、命令実行部1は、リセットを行った後、ブートプログラムを実行する。同時に、命令実行部1の実行状態は、スーパーバイザ状態に遷移する。
Next, the operation of the information processing apparatus according to the second embodiment configured as described above will be described with reference to the flowchart of FIG.
In step S1, the instruction execution unit 1 executes the boot program after resetting. At the same time, the execution state of the instruction execution unit 1 transitions to the supervisor state.

ステップS2では、まず、記憶部7からブートプログラムを読み出す。この時は、リセット後であって、スーパーバイザ状態表示部101は、スーパーバイザ状態であることを示し、暗号化共通鍵保持部3は、共通鍵を保持していない状態と等価な動作をするので、ブートプログラムは、復号処理されずに、そのまま実行される。
具体的には、ブートプログラムは、ステップS3〜S6の手順でタスクを実行する。
In step S <b> 2, first, the boot program is read from the storage unit 7. At this time, after resetting, the supervisor state display unit 101 indicates the supervisor state, and the encrypted common key holding unit 3 performs an operation equivalent to a state in which the common key is not held. The boot program is executed as it is without being decrypted.
Specifically, the boot program executes a task in the procedure of steps S3 to S6.

ステップS3では、命令実行部のリクエストに基づいてブートプログラムの保持した内容より実行するタスクを決定する。
ステップS4では、実行するタスクのプログラムが暗号化されているか否かを調べる。暗号化されている場合はステップS5へ、されていない場合はステップS6へ進む。
ステップS5では:ブートプログラムに保持されている該実行するタスクの共通鍵を、暗号化共通鍵保持部3に設定し、暗号化共通鍵保持部3が共通鍵を保持している状態に設定し、その後ステップS6へ進む。
In step S3, a task to be executed is determined from the contents held in the boot program based on the request from the instruction execution unit.
In step S4, it is checked whether or not the program of the task to be executed is encrypted. If it is encrypted, the process proceeds to step S5. If not, the process proceeds to step S6.
In step S5: the common key of the task to be executed held in the boot program is set in the encrypted common key holding unit 3, and the encrypted common key holding unit 3 is set in the state holding the common key. Then, the process proceeds to step S6.

ステップS6では、タスクの開始アドレスへプログラム制御を移す。それと同時に、命令実行部1の実行状態は、スーパーバイザ状態から非スーパーバイザ状態へ遷移する。   In step S6, program control is transferred to the task start address. At the same time, the execution state of the instruction execution unit 1 transitions from the supervisor state to the non-supervisor state.

また、非スーパバイザ状態でプログラムを実行中に、割り込みを受け付けると、スーパバイザ状態へ遷移し、ブートプログラム内の割り込みベクタへ制御を移す。割り込み処理から、再度割り込まれたタスクへ制御を移す場合は、割り込みによって中断されたアドレスに制御を移すとともに非スーパバイザ状態へ遷移するよう制御する。これは、一般に行なわれる割り込み処理と同等である。ただし、タスク切替を行なって割り込み処理から復帰する場合は、タスクを起動する上述の手順により暗号化共通鍵保持部3にタスクの共通鍵を再設定する必要がある。   If an interrupt is accepted while the program is being executed in the non-supervisor state, the state is changed to the supervisor state, and control is transferred to the interrupt vector in the boot program. When the control is transferred from the interrupt process to the interrupted task again, the control is transferred to the address interrupted by the interrupt and the control is shifted to the non-supervisor state. This is equivalent to a commonly performed interrupt process. However, when task switching is performed to return from interrupt processing, it is necessary to reset the task common key in the encrypted common key holding unit 3 by the above-described procedure for starting the task.

なお、ここでは、タスクの開始アドレスは、タスク起動時においては、タスクのエントリアドレスであるが、タスクの復帰時には、割り込み時に退避された復帰アドレスである。   Here, the task start address is the entry address of the task when the task is activated, but is the return address saved at the time of interruption when the task is returned.

このように、本実施の形態2による情報処理装置では、上記実施の形態1による情報処理装置のCPU100にスーパーバイザ状態表示部101を追加するようにしたので、上記実施の形態1と同様な効果を得られるほか、スーパーバイザ状態表示部101がスーパーバイザ状態を示している時に、暗号化共通鍵保持部3に共通鍵が保持されていない時と同じ動作を行うことにより、タスク毎の暗号鍵の設定を、スーパーバイザモードで動作するプログラムとして簡単に実行することができ、リセットすることなしにタスク毎に異なる共通鍵を用いて暗号化されたプログラムを実行することができる。   As described above, in the information processing apparatus according to the second embodiment, the supervisor state display unit 101 is added to the CPU 100 of the information processing apparatus according to the first embodiment. Therefore, the same effect as that of the first embodiment can be obtained. In addition, when the supervisor state display unit 101 indicates the supervisor state, the same operation as when the common key is not held in the encrypted common key holding unit 3 is performed, thereby setting the encryption key for each task. It can be easily executed as a program that operates in the supervisor mode, and an encrypted program using a common key that is different for each task can be executed without resetting.

(実施の形態3)
本発明の実施の形態3による情報処理装置は、上記実施の形態2による情報処理装置での、タスク切替の際に暗号化共通鍵保持部の内容を更新する必要があるため、暗号化共通鍵保持部の情報量が大きい場合はタスク切替の時間がかかるという課題を改善したものであり、以下、図面を用いて説明する。
(Embodiment 3)
The information processing apparatus according to the third embodiment of the present invention needs to update the contents of the encrypted common key holding unit at the time of task switching in the information processing apparatus according to the second embodiment. This is an improvement of the problem that it takes time for task switching when the amount of information in the holding unit is large, and will be described below with reference to the drawings.

図5は、本発明の実施の形態3による情報処理装置の概略構成を示すブロック図であり、図において図3と同一符号は同一又は相当部分である。図5に示すように、本実施の形態3による情報処理装置は、複数の暗号化共通鍵保持部31、32、33と、命令実行部1で実行中のタスクの識別番号を保持する第1のタスク識別部102とを備え、第1のタスク識別部102の内容により複数の暗号化共通鍵保持部31、32、33から一つの共通鍵が選択され共通鍵復号部4に入力されるように構成されている。その他の構成は、上記の実施の形態2による情報処理装置(図3)と同様で、同一又は相当部分に同一符号を付して、その説明を省略する。   FIG. 5 is a block diagram showing a schematic configuration of the information processing apparatus according to Embodiment 3 of the present invention. In the figure, the same reference numerals as those in FIG. 3 denote the same or corresponding parts. As shown in FIG. 5, the information processing apparatus according to the third embodiment has a plurality of encrypted common key holding units 31, 32, and 33, and a first holding an identification number of a task being executed by the instruction execution unit 1. A common key is selected from the plurality of encrypted common key holding units 31, 32, and 33 according to the contents of the first task identification unit 102 and input to the common key decryption unit 4. It is configured. Other configurations are the same as those of the information processing apparatus (FIG. 3) according to the second embodiment described above, and the same or corresponding parts are denoted by the same reference numerals and description thereof is omitted.

次に、上記のように構成されている本実施の形態3による情報処理装置の動作を、図6のフローチャートを参照しながら説明する。
ステップS1では、命令実行部1は、リセットを行った後、ブートプログラムを実行する。同時に、命令実行部1の実行状態は、スーパーバイザ状態に遷移する。
Next, the operation of the information processing apparatus according to the third embodiment configured as described above will be described with reference to the flowchart of FIG.
In step S1, the instruction execution unit 1 executes the boot program after resetting. At the same time, the execution state of the instruction execution unit 1 transitions to the supervisor state.

ステップS2では、まず、記憶部7からブートプログラムを読み出す。この時は、リセット後であって、スーパーバイザ状態表示部101は、スーパーバイザ状態であることを示し、暗号化共通鍵保持部3は、共通鍵を保持していない状態と等価な動作をするので、ブートプログラムは、復号処理されずに、そのまま実行される。
具体的には、ブートプログラムは、ステップS3〜S7の手順でタスクを実行する。
In step S <b> 2, first, the boot program is read from the storage unit 7. At this time, after resetting, the supervisor state display unit 101 indicates the supervisor state, and the encrypted common key holding unit 3 performs an operation equivalent to a state in which the common key is not held. The boot program is executed as it is without being decrypted.
Specifically, the boot program executes a task in the procedure of steps S3 to S7.

ステップS3では、命令実行部のリクエストに基づいてブートプログラムの保持した内容より実行しようとする複数のタスク、及びそれぞれのタスクに対して、タスク番号を決定する。   In step S3, a task number is determined for a plurality of tasks to be executed from the contents held in the boot program based on the request of the instruction execution unit, and for each task.

ステップS4では、上記複数のタスクのプログラムが暗号化されているか否かを調べる。暗号化されている場合はそれぞれのタスクの共通鍵を、暗号化共通鍵保持部31、32、33の中からステップS3で決定したタスク番号に対応するものに設定する。さらに、対応する暗号化共通鍵部を、共通鍵を保持している状態に設定する。   In step S4, it is checked whether the programs of the plurality of tasks are encrypted. If it is encrypted, the common key of each task is set to the one corresponding to the task number determined in step S3 from among the encrypted common key holding units 31, 32, 33. Further, the corresponding encrypted common key part is set to a state where the common key is held.

ステップS5、S6では、複数のタスクの中から実行するタスクを決定し、そのタスク番号をタスク識別部102に設定する。
ステップS7では、タスクの開始アドレスへプログラム制御を移す。それと同時に、命令実行部1の実行状態は、スーパーバイザ状態から非スーパーバイザ状態へ遷移する。
In steps S5 and S6, a task to be executed is determined from a plurality of tasks, and the task number is set in the task identification unit 102.
In step S7, program control is transferred to the task start address. At the same time, the execution state of the instruction execution unit 1 transitions from the supervisor state to the non-supervisor state.

但し、タスク切替時には、タスクの共通鍵が複数の暗号化共通鍵保持部31、32、33の中に設定されている場合は、その暗号化共通鍵保持部を選択するタスク番号をタスク識別手段102に再設定し、そのタスクの開始アドレスに制御を移すよう制御する。   However, at the time of task switching, if the task common key is set in the plurality of encrypted common key holding units 31, 32, 33, the task identification unit selects the task number for selecting the encrypted common key holding unit. The control is reset to 102 and control is transferred to the start address of the task.

このように、本実施の形態3による情報処理装置では、上記の実施の形態2の情報処理装置の構成に、複数の暗号化共通鍵保持部31、32、33と、命令実行部1で実行中のタスクの識別番号を保持する第1のタスク識別部102とを追加するようにしたので、上記実施の形態2と同様な効果を得られる以外に、第1のタスク識別部102の内容により複数の暗号化共通鍵保持部31、32、33から一つの共通鍵を選択して共通鍵復号部4に入力することにより、共通鍵の情報量が大きい場合、暗号化共通鍵保持部に共通鍵を更新することなく、タスク番号のみを更新することでタスク切替の際タスク毎に異なる共通鍵を用いて暗号化されたプログラムを実行することができ、タスク切替えの時間を短縮できるという効果を得ることができる。   Thus, in the information processing apparatus according to the third embodiment, the configuration of the information processing apparatus according to the second embodiment is executed by the plurality of encrypted common key holding units 31, 32, and 33 and the instruction execution unit 1. Since the first task identification unit 102 that holds the identification number of the middle task is added, the same effect as that of the second embodiment can be obtained. When the common key information amount is large by selecting one common key from the plurality of encrypted common key holding units 31, 32 and 33 and inputting it to the common key decrypting unit 4, the common key holding unit shares By updating only the task number without updating the key, it is possible to execute an encrypted program using a common key that is different for each task when switching tasks, and the task switching time can be shortened. Can get That.

(実施の形態4)
本発明の実施の形態4による情報処理装置は、上記実施の形態3による情報処理装置における、タスク切替の際に、コンテキストの退避、復帰を行なう必要があるためにタスク切替の時間がかかるという課題を改善したものであり、以下、図面を用いて説明する。
(Embodiment 4)
The information processing apparatus according to the fourth embodiment of the present invention has a problem that it takes time for task switching because it is necessary to save and restore context when switching tasks in the information processing apparatus according to the third embodiment. This will be described below with reference to the drawings.

図7は、本発明の実施の形態4による情報処理装置の概略構成を示すブロック図であり、図において図5と同一の符号は同一又は相当部分である。図7に示すように、本実施の形態4による情報処理装置は、CPU100に複数のタスクのそれぞれに対応する複数のレジスタ11、つまり複数のコンテキストと、実行中のタスクのタスク番号を第1のタスク識別部102に設定するコンテキスト切替え部12とを備え、コンテキスト切替え部12により複数のコンテキストを切替えながら複数のコンテキストを実行するように構成されている。その他の構成は、上記の実施の形態3の情報処理装置(図5)と同様で、同一又は相当部分には同一符号を付して、その説明を省略する。   FIG. 7 is a block diagram showing a schematic configuration of the information processing apparatus according to Embodiment 4 of the present invention. In the figure, the same reference numerals as those in FIG. 5 denote the same or corresponding parts. As shown in FIG. 7, the information processing apparatus according to the fourth embodiment has the CPU 100 set a plurality of registers 11 corresponding to each of a plurality of tasks, that is, a plurality of contexts, and a task number of a task being executed as a first. A context switching unit 12 that is set in the task identification unit 102, and the context switching unit 12 is configured to execute a plurality of contexts while switching the plurality of contexts. Other configurations are the same as those of the information processing apparatus (FIG. 5) of the third embodiment described above, and the same or corresponding parts are denoted by the same reference numerals and description thereof is omitted.

次に、上記のように構成されている本実施の形態4による情報処理装置の動作を説明する。
本実施の形態4による情報処理装置では、プロセッサをある状態に復帰する際に用いられるプロセッサ状態情報をレジスタ11に保持し、タスク切替の時に、コンテキスト切替え部12により、第1のタスク識別部102に保持されているタスク番号を実行中のタスク番号に切替えることによって、複数のレジスタ、及び複数のタスクのコンテキストでもある複数の暗号化共通鍵保持部を切替える。これにより、その実行中のタスクに対応する共通鍵が複数の暗号化共通鍵保持部31、32、33から選択され、共通鍵復号部4によって復号される。なお、本実施の形態4による情報処理装置のその他の動作は、上記の実施の形態3の情報処理装置と同様であり、ここでは省略する。
Next, the operation of the information processing apparatus according to the fourth embodiment configured as described above will be described.
In the information processing apparatus according to the fourth embodiment, the processor state information used when returning the processor to a certain state is held in the register 11, and the task switching unit 12 performs the first task identification unit 102 at the time of task switching. By switching the task number held in step 1 to the task number being executed, the plurality of registers and the plurality of encrypted common key holding units that are also the contexts of the plurality of tasks are switched. As a result, a common key corresponding to the task being executed is selected from the plurality of encrypted common key holding units 31, 32, and 33, and decrypted by the common key decryption unit 4. The other operations of the information processing apparatus according to the fourth embodiment are the same as those of the information processing apparatus according to the third embodiment, and are omitted here.

このように、本実施の形態4による情報処理装置では、上記の実施の形態3の情報処理装置の構成に、複数のタスクにそれぞれ対応する複数のレジスタ11と、実行中のタスクの番号を第1のタスク識別部102に設定するコンテキスト切替え部12とをCPU100に追加し、コンテキスト切替え部により複数のレジスタ、暗号化共通鍵保持部を切替えながら複数のタスクを実行するようにしたので、上記の実施の形態3と同様に暗号化共通鍵保持部の共通鍵を更新することなく、タスク番号のみを更新することでタスク切替の際タスク毎に異なる共通鍵を用いて暗号化されたプログラムを実行することができ、さらに、タスク切替の際に、コンテキストの退避、復帰を行わずに済むため、タスク切替えにかかる時間を一層短縮することができる。   As described above, in the information processing apparatus according to the fourth embodiment, the configuration of the information processing apparatus according to the third embodiment is configured such that the plurality of registers 11 respectively corresponding to the plurality of tasks and the number of the task being executed are Since the context switching unit 12 to be set in one task identification unit 102 is added to the CPU 100 and the plurality of registers and the encrypted common key holding unit are switched by the context switching unit, a plurality of tasks are executed. As in the third embodiment, the program encrypted using the common key that is different for each task is executed at the time of task switching by updating only the task number without updating the common key of the encrypted common key holding unit. In addition, since it is not necessary to save and restore context when switching tasks, the time required for task switching can be further reduced. Kill.

(実施の形態5)
本発明の実施の形態5による情報処理装置は、上記実施の形態3による情報処理装置における、命令フェッチが、記憶部7に対して行なわれ、さらに命令復号部6による復号処理に時間がかかるという課題を改善したものであり、以下、図面を用いて説明する。
(Embodiment 5)
In the information processing apparatus according to the fifth embodiment of the present invention, the instruction fetch is performed on the storage unit 7 in the information processing apparatus according to the third embodiment, and the decoding process by the instruction decoding unit 6 takes time. This problem is improved and will be described below with reference to the drawings.

図8は、本発明の実施の形態5による情報処理装置の概略構成を示すブロック図であり、図において図5と同一符号は同一又は相当部分である。図8に示すように、本実施の形態5による情報処理装置は、記憶部7から読み出され、命令復号部6により復号されたプログラムを格納するプログラム記憶部8と、記憶部7からプログラム記憶部8への命令復号部6を経由するプログラムの転送を制御するプログラム転送部9と、プログラム転送部9によってプログラムを転送する時に複数の暗号化共通鍵保持部31、32、33から一つの共通鍵を選択するための第2のタスク識別部103とを新たに備えている。その他の構成は、上記の実施の形態3の情報処理装置(図5)と同様で、同一又は相当部分には同一符号を付して、その説明を省略する。   FIG. 8 is a block diagram showing a schematic configuration of the information processing apparatus according to Embodiment 5 of the present invention. In the figure, the same reference numerals as those in FIG. 5 denote the same or corresponding parts. As shown in FIG. 8, the information processing apparatus according to the fifth embodiment includes a program storage unit 8 for storing a program read from the storage unit 7 and decoded by the instruction decoding unit 6, and a program storage from the storage unit 7. A program transfer unit 9 that controls the transfer of the program to the unit 8 via the instruction decryption unit 6, and one common from the plurality of encrypted common key holding units 31, 32, 33 when the program transfer unit 9 transfers the program A second task identification unit 103 for selecting a key is newly provided. Other configurations are the same as those of the information processing apparatus (FIG. 5) of the third embodiment described above, and the same or corresponding parts are denoted by the same reference numerals and description thereof is omitted.

次に、上記のように構成されている本実施の形態5による情報処理装置の動作を説明する。なお、ここでは、上記実施の形態3による情報処理装置の動作と異なる部分を中心に説明する。
本実施の形態5では、命令フェッチ部2がプログラム記憶部8を経由せずに記憶部7からプログラムを読み出す場合は、複数の暗号化共通鍵保持部31、32、33は、スーパーバイザ状態101および第1のタスク識別部102を選択し入力として動作する。つまり、上記実施の形態3の情報処理装置と同様の動作を行なう。
Next, the operation of the information processing apparatus according to the fifth embodiment configured as described above will be described. Here, the description will focus on parts that differ from the operation of the information processing apparatus according to the third embodiment.
In the fifth embodiment, when the instruction fetch unit 2 reads a program from the storage unit 7 without going through the program storage unit 8, the plurality of encrypted common key holding units 31, 32, and 33 The first task identification unit 102 is selected and operates as an input. That is, the same operation as the information processing apparatus of the third embodiment is performed.

命令フェッチ部2がプログラム記憶部8からプログラムを読み出す場合は、装置の動作は2段階に分かれて行われる。第1段階では、プログラム転送部9は、記憶部7から命令復号部6を通してプログラム記憶部8へプログラムの転送を行ない、その際、複数の暗号化共通部31、32、33は、第2のタスク識別部103を選択し入力として動作する。第2段階では、命令フェッチ部2は、プログラム記憶部8からプログラムを読み出して実行し、その際、プログラムは、既に命令復号部6によって復号されているので、復号せずに直接実行する。このため、CPU100が実行中のタスクと異なるタスクのプログラムの転送を行なうことが可能となる。   When the instruction fetch unit 2 reads a program from the program storage unit 8, the operation of the apparatus is performed in two stages. In the first stage, the program transfer unit 9 transfers the program from the storage unit 7 to the program storage unit 8 through the instruction decryption unit 6, and at this time, the plurality of encryption common units 31, 32, and 33 The task identification unit 103 is selected and operates as an input. In the second stage, the instruction fetch unit 2 reads the program from the program storage unit 8 and executes it. At this time, since the program has already been decoded by the instruction decoding unit 6, it is directly executed without decoding. Therefore, it is possible to transfer a program of a task different from the task being executed by the CPU 100.

なお、命令フェッチ部2が記憶部7から命令の読み出しを行なうか、プログラム記憶部8から命令の読み出しを行なうかは、例えばプログラムのアドレスにより区別することができる。   Whether the instruction fetch unit 2 reads an instruction from the storage unit 7 or reads an instruction from the program storage unit 8 can be distinguished by, for example, a program address.

また、第2のタスク識別部103の設定と、プログラム転送部9の設定および起動は、CPU100のプログラム実行によって行なうことができるが、本発明はこれを限定するものではなく、外部のホストCPUがこれらの設定および起動を行なっても良い。   The setting of the second task identification unit 103 and the setting and activation of the program transfer unit 9 can be performed by executing a program of the CPU 100. However, the present invention is not limited to this, and an external host CPU These settings and activation may be performed.

また、プログラム転送部9によってプログラムをプログラム記憶部8に転送する際に共通鍵を格納する別途の暗号化共通鍵格納部を備え、プログラム記憶部8を記憶部7のアドレス空間とは別のアドレス空間に配置し、プログラム転送部9をプログラム転送命令によって明示的に起動するように構成する場合、外部メモリから、メモリのアドレスが異なる内蔵メモリへのプログラム転送であっても、同様な効果を得られ、少ないコストで暗号化されたプログラムを実行することができる。   The program transfer unit 9 includes a separate encrypted common key storage unit that stores a common key when the program is transferred to the program storage unit 8. The program storage unit 8 has an address different from the address space of the storage unit 7. When it is arranged in a space and the program transfer unit 9 is configured to be explicitly activated by a program transfer instruction, the same effect can be obtained even when the program is transferred from an external memory to a built-in memory having a different memory address. Therefore, the encrypted program can be executed at a low cost.

また、図9に示すように、命令フェッチ部2が記憶部7から読み出したプログラムを命令復号部6によって復号し、そのプログラムを命令キャッシュ400のキャッシュメモリに格納する構成とすることも可能である。   Further, as shown in FIG. 9, it is possible to adopt a configuration in which the instruction fetch unit 2 decodes the program read from the storage unit 7 by the instruction decoding unit 6 and stores the program in the cache memory of the instruction cache 400. .

さらに、図9に示す命令キャッシュ400を用いた構成と、図8に示すプログラム記憶部8を用いた構成を組み合わせた構成をとることも可能である。   Furthermore, it is possible to adopt a configuration in which the configuration using the instruction cache 400 shown in FIG. 9 and the configuration using the program storage unit 8 shown in FIG. 8 are combined.

なお、プログラム格納部8および命令キャッシュ400は、命令フェッチ部2からの読み出しのみに対して許可するものなので、暗号化プログラムの秘密性が堅牢であることは明かである。   Since the program storage unit 8 and the instruction cache 400 permit only reading from the instruction fetch unit 2, it is clear that the confidentiality of the encrypted program is robust.

このように、本実施の形態5による情報処理装置では、復号されたプログラムを格納するプログラム記憶部8と、上記復号されたプログラムの転送を制御するプログラム転送部9と、上記転送を行う際複数の暗号化共通鍵保持部より1つの共通鍵を選択する第2のタスク識別部103とを備え、命令が暗号化されている場合、予め復号してプログラム記憶部8に格納することにより、命令を実行する際、CPU100は、復号されたプログラムをプログラム記憶部8から読み出して即座に実行できるので、プログラムの実行が速くなるという効果がある。   As described above, in the information processing apparatus according to the fifth embodiment, the program storage unit 8 that stores the decrypted program, the program transfer unit 9 that controls the transfer of the decrypted program, and a plurality of units when performing the transfer. And a second task identification unit 103 for selecting one common key from the encrypted common key holding unit, and when the command is encrypted, the command is decrypted and stored in the program storage unit 8 to Since the CPU 100 can read the decrypted program from the program storage unit 8 and execute it immediately, there is an effect that the execution of the program becomes faster.

また、命令キャッシュ400を備え、復号されたプログラムをキャッシュメモリに保持させる構成とするようにしても、同様に、命令が暗号化されている場合、予め復号してキャッシュメモリに格納することにより、命令を実行する際、CPU100は、復号されたプログラムをキャッシュメモリから読み出して即座に実行できるので、プログラムの実行が速くなるという効果がある。   Further, even if the instruction cache 400 is provided and the decrypted program is held in the cache memory, similarly, if the instruction is encrypted, it is decrypted in advance and stored in the cache memory. When executing the instruction, the CPU 100 can read the decrypted program from the cache memory and execute it immediately, so that the execution of the program is accelerated.

(実施の形態6)
図10は、本実施の形態6によるデバッグ装置の概略構成を示すブロック図である。
図10において、情報処理装置200は、上述の実施の形態1で説明した動作を行なうものである。さらに、301は、情報処理装置200から読み出した、プログラムデバッグのために停止したプログラムアドレス、302は、情報処理装置200の中の暗号化されたプログラムを保持する記憶部からの読み出し、303は、デバッグする対象のプログラムを表示する命令表示部、304は、デバッグするプログラムの格納アドレス情報と、そのプログラムの格納アドレスに格納されているプログラムの共通鍵情報を含むデバッグ情報保持部である。
(Embodiment 6)
FIG. 10 is a block diagram showing a schematic configuration of the debugging device according to the sixth embodiment.
In FIG. 10, the information processing apparatus 200 performs the operation described in the first embodiment. Further, 301 is a program address read from the information processing apparatus 200 and stopped for program debugging, 302 is read from a storage unit that holds an encrypted program in the information processing apparatus 200, and 303 is An instruction display unit 304 for displaying a program to be debugged is a debug information holding unit including storage address information of a program to be debugged and common key information of the program stored at the storage address of the program.

次に、上記のように構成されている本実施の形態6によるデバッグ装置の動作を説明する。
命令表示部303は、デバッグのために停止したプログラムの停止アドレス301を入力とし、停止アドレス301が、デバッグ情報保持部304に格納されているプログラムの格納アドレスの示す範囲内にあるかどうかを判定する。
Next, the operation of the debugging device according to the sixth embodiment configured as described above will be described.
The instruction display unit 303 receives the stop address 301 of the program stopped for debugging, and determines whether the stop address 301 is within the range indicated by the storage address of the program stored in the debug information holding unit 304 To do.

上記範囲内に、該当するプログラム格納アドレス情報がない場合は、命令表示部303は、情報処理装置200から停止アドレス301、およびその周辺のプログラムを含む読み出し302を新たに読み出して保持し、必要に応じて逆アセンブルなどの処理を行なって表示する。また、該当するプログラム格納アドレス情報がある場合は、情報処理装置200からの停止アドレス301、およびその周辺のプログラムを含む読み出し302を該命令表示部303の中より取り出し、該当の格納アドレス情報に対応する共通鍵情報を用いて、暗号化された上記の停止アドレス301周辺のプログラムを復号し、必要に応じて逆アセンブルなどの処理を行なって表示する。   If there is no corresponding program storage address information within the above range, the instruction display unit 303 newly reads and holds the stop address 301 and the read 302 including the peripheral program from the information processing apparatus 200, and makes it necessary. In response, display such as disassembly is performed. If there is corresponding program storage address information, the stop address 301 from the information processing apparatus 200 and the read 302 including the peripheral program are extracted from the instruction display unit 303 and correspond to the corresponding storage address information. By using the common key information, the encrypted program around the stop address 301 is decrypted, and if necessary, processing such as disassembly is performed and displayed.

このように、本実施の形態6によるデバッグ装置では、デバッグする対象のプログラムを表示する命令表示部303と、デバッグするプログラムの格納アドレス情報、及びその格納アドレスに格納されているプログラムの共通鍵情報を保持するデバッグ情報保持部304とを備え、暗号化されたプログラムの格納アドレス、及びその対応する共通鍵情報を予めデバッグ装置のデバッグ情報保持部304に設定するようにしたので、暗号化されたプログラムを復号化することが可能となり、これにより、プログラムを正しく表示し、プログラムをデバッグすることができる。   As described above, in the debugging device according to the sixth embodiment, the instruction display unit 303 that displays the program to be debugged, the storage address information of the program to be debugged, and the common key information of the program stored at the storage address The debug information holding unit 304 that holds the encrypted program storage address and the corresponding common key information are set in advance in the debug information holding unit 304 of the debugging device. It is possible to decrypt the program, thereby displaying the program correctly and debugging the program.

(実施の形態7)
本発明の実施の形態7によるデバッグ装置は、上記実施の形態6によるデバッグ装置に対して、暗号化されたプログラムに対してブレイクポイント命令を埋め込めるようにしたものであり、以下、図面を用いて説明する。
(Embodiment 7)
The debugging device according to the seventh embodiment of the present invention is such that a breakpoint instruction can be embedded in an encrypted program with respect to the debugging device according to the sixth embodiment. I will explain.

図11は、本実施の形態7によるデバッグ装置の概略構成を示すブロック図である。
図11に示すように、本実施の形態7によるデバッグ装置は、上記実施の形態6とは、情報処理装置200の中のプログラム格納部にプログラムを書き込む暗号部305を新たに備えた点において異なり、その他の構成要素は、上記実施の形態6にかかるデバッグ装置(図10)と同様で、同一符号を付しており、その説明を省略する。
FIG. 11 is a block diagram showing a schematic configuration of the debugging device according to the seventh embodiment.
As shown in FIG. 11, the debugging device according to the seventh embodiment is different from the sixth embodiment in that an encryption unit 305 that writes a program in a program storage unit in the information processing apparatus 200 is newly provided. The other components are the same as those of the debugging device (FIG. 10) according to the sixth embodiment, and are denoted by the same reference numerals, and the description thereof is omitted.

次に、上記のように構成されている本実施の形態7によるデバッグ装置の動作を説明する。なお、ここでは、上記実施の形態6によるデバッグ装置の動作と異なる部分を中心に説明を行う。   Next, the operation of the debugging device according to the seventh embodiment configured as described above will be described. Here, the description will focus on parts that are different from the operation of the debugging device according to the sixth embodiment.

デバッグのためにブレイクポイント命令を埋め込むアドレスが、デバッグ情報保持部304に格納されているプログラムの格納アドレスの示す範囲内にあるかどうかを判定する。   It is determined whether the address at which the breakpoint instruction is embedded for debugging is within the range indicated by the storage address of the program stored in the debug information holding unit 304.

該当するプログラム格納アドレス情報がない場合は、暗号部305は出力線306を介して、情報処理装置の中のプログラム格納部に対しそのアドレスにブレイクポイント命令を書き込む。また、該当するプログラム格納アドレス情報がある場合は、該当の格納アドレス情報に対応する共通鍵情報を用いてブレイクポイント命令を暗号化し、出力線306を介して上記プログラム格納部に対しそのアドレスに書き込む。   If there is no corresponding program storage address information, the encryption unit 305 writes a breakpoint command at the address to the program storage unit in the information processing apparatus via the output line 306. If there is corresponding program storage address information, the breakpoint command is encrypted using the common key information corresponding to the corresponding storage address information, and written to the program storage unit via the output line 306 at that address. .

このように、本実施の形態7によるデバッグ装置では、上記実施の形態6のデバッグ装置の構成に、ブレイクポイント命令を情報処理装置の中のプログラム格納部に埋め込む暗号部305を追加するようにしたので、暗号化されたプログラムの格納アドレスと、その共通鍵情報がデバッグ装置に設定してある場合は、正しくブレイクポイント命令を書き込むことが可能となり、高価なハードウェアによるブレイクポイント部なしにプログラムのデバッグを可能にすることができる。   As described above, in the debugging device according to the seventh embodiment, the encryption unit 305 that embeds the breakpoint instruction in the program storage unit in the information processing device is added to the configuration of the debugging device of the sixth embodiment. Therefore, if the storage address of the encrypted program and its common key information are set in the debug device, it is possible to write a breakpoint instruction correctly, and the program can be written without expensive hardware breakpoints. Debugging can be enabled.

本発明にかかる情報処理装置は、タスク毎の暗号鍵を用いて複数の暗号化されたプログラムを実行する機能を有し、著作権保護の必要なディジタル情報の処理装置として有用である。   The information processing apparatus according to the present invention has a function of executing a plurality of encrypted programs using an encryption key for each task, and is useful as a digital information processing apparatus that requires copyright protection.

実施の形態1による情報処理装置の概略構成を示すブロック図である。1 is a block diagram illustrating a schematic configuration of an information processing apparatus according to Embodiment 1. FIG. 上記実施の形態1の情報処理装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the information processing apparatus of the said Embodiment 1. FIG. 実施の形態2による情報処理装置の概略構成を示すブロック図である。6 is a block diagram illustrating a schematic configuration of an information processing apparatus according to Embodiment 2. FIG. 上記実施の形態2の情報処理装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the information processing apparatus of the said Embodiment 2. FIG. 実施の形態3による情報処理装置の概略構成を示すブロック図である。FIG. 10 is a block diagram illustrating a schematic configuration of an information processing device according to a third embodiment. 上記実施の形態3の情報処理装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the information processing apparatus of the said Embodiment 3. FIG. 実施の形態4による情報処理装置の概略構成を示すブロック図である。FIG. 10 is a block diagram illustrating a schematic configuration of an information processing device according to a fourth embodiment. 実施の形態5による情報処理装置の概略構成を示すブロック図である。FIG. 10 is a block diagram illustrating a schematic configuration of an information processing device according to a fifth embodiment. 実施の形態5による情報処理装置の他の概略構成を示すブロック図である。FIG. 10 is a block diagram showing another schematic configuration of the information processing apparatus according to the fifth embodiment. 実施の形態6によるデバッグ装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the debugging apparatus by Embodiment 6. FIG. 実施の形態7によるデバッグ装置の概略構成を示すブロック図である。FIG. 20 is a block diagram illustrating a schematic configuration of a debugging device according to a seventh embodiment.

符号の説明Explanation of symbols

1 命令実行部
2 命令フェッチ部
3、31、32、33、300 暗号化共通鍵保持部
4 共通鍵復号部
5 秘密鍵保持部
6 命令復号部
7 記憶部
8 プログラム記憶部
11 レジスタ
12 コンテキスト切替部
100 CPU
101 スーパーバイザ状態
102 第1のタスク識別部
103 第2のタスク識別部
303 命令表示部
304 デバッグ情報保持部
305 暗号部
400 命令キャッシュ
DESCRIPTION OF SYMBOLS 1 Instruction execution part 2 Instruction fetch part 3, 31, 32, 33, 300 Encryption common key holding part 4 Common key decryption part 5 Secret key holding part 6 Instruction decryption part 7 Storage part 8 Program storage part 11 Register 12 Context switching part 100 CPU
101 Supervisor State 102 First Task Identification Unit 103 Second Task Identification Unit 303 Instruction Display Unit 304 Debug Information Holding Unit 305 Encryption Unit 400 Instruction Cache

Claims (9)

秘密鍵を保持する秘密鍵保持部と、
上記秘密鍵に対応する公開鍵によって暗号化された共通鍵を少なくとも一つのタスクに対応して保持する暗号化共通鍵保持部と、
上記暗号化共通鍵保持部に保持された暗号化された共通鍵を入力とし、上記秘密鍵によって復号する共通鍵復号部と、
命令フェッチを行なうタスクに対応する上記共通鍵が上記暗号化共通鍵保持部に保持されている場合に、上記復号された共通鍵を用いて該タスクのプログラムを復号する命令復号部と、
上記命令復号部から上記タスクのプログラムをフェッチして実行する命令実行部と、を備えた、
ことを特徴とする情報処理装置。
A secret key holding unit for holding a secret key;
An encrypted common key holding unit that holds a common key encrypted with a public key corresponding to the secret key, corresponding to at least one task;
A common key decryption unit that receives an encrypted common key held in the encrypted common key holding unit as input and decrypts it with the secret key;
An instruction decryption unit that decrypts a program of the task using the decrypted common key when the common key corresponding to the task performing the instruction fetch is held in the encrypted common key holding unit;
An instruction execution unit that fetches and executes the program of the task from the instruction decoding unit,
An information processing apparatus characterized by that.
請求項1に記載の情報処理装置において、
少なくとも上記命令実行部がタスク切替えを行なうプログラムを実行するスーパーバイザ状態を有し、
上記スーパーバイザ状態であるときには、上記復号部は、上記プログラムの復号を行わない、
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
At least the instruction execution unit has a supervisor state for executing a program for switching tasks,
When in the supervisor state, the decoding unit does not decode the program.
An information processing apparatus characterized by that.
請求項1又は請求項2に記載の情報処理装置において、
複数のタスクの共通鍵をそれぞれに保持する複数の上記暗号化共通鍵保持部と、
実行するタスクのタスク番号を保持する第1のタスク識別部と、を備え、
上記第1のタスク識別部は、上記タスク番号を基に上記複数の暗号化共通鍵保持部から一つの暗号化共通鍵保持部を選択し、
上記共通鍵復号部は、上記選択された暗号化共通鍵保持部に保持されている共通鍵を入力とし、上記秘密鍵によって復号する、
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 1 or 2,
A plurality of the above-mentioned encrypted common key holding units each holding a common key of a plurality of tasks;
A first task identification unit that holds a task number of a task to be executed,
The first task identification unit selects one encrypted common key holding unit from the plurality of encrypted common key holding units based on the task number,
The common key decryption unit receives the common key held in the selected encrypted common key holding unit, and decrypts with the secret key.
An information processing apparatus characterized by that.
請求項3に記載の情報処理装置において、
上記複数のタスクのプロセッサ状態情報を保持する複数のコンテキストと、
実行中のタスクのタスク番号を上記第1のタスク識別部に設定するコンテキスト切替え部と、を備え、
上記複数の暗号化共通鍵保持部は、上記複数のタスクのそれぞれのコンテキストであり、
上記複数のタスクは、上記コンテキストを上記コンテキスト切替え部により切替えながら実行する、
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 3.
A plurality of contexts holding processor state information of the plurality of tasks;
A context switching unit that sets the task number of the task being executed in the first task identification unit,
The plurality of encrypted common key holding units are contexts of the plurality of tasks,
The plurality of tasks are executed while the context is switched by the context switching unit.
An information processing apparatus characterized by that.
請求項3に記載の情報処理装置において、
上記命令復号部によって復号されたプログラムを格納するプログラム記憶部と、
上記プログラム記憶部へのプログラムの転送を制御するプログラム転送部と、
上記プログラム転送部によってプログラムを転送する場合、該プログラムに対応するタスク番号を保持して上記複数の暗号化共通鍵保持部から一つの共通鍵を選択する第2のタスク識別部と、を備え、
上記命令実行部は、上記プログラム記憶部からプログラムをフェッチして実行する、
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 3.
A program storage unit for storing the program decoded by the instruction decoding unit;
A program transfer unit for controlling transfer of the program to the program storage unit;
A second task identification unit that holds a task number corresponding to the program and selects one common key from the plurality of encrypted common key holding units when transferring the program by the program transfer unit;
The instruction execution unit fetches and executes a program from the program storage unit.
An information processing apparatus characterized by that.
請求項3に記載の情報処理装置において、
上記命令復号部によって復号されたプログラムを格納するキャッシュメモリと、上記キャッシュメモリへのプログラムの転送を制御するキャッシュコントローラとからなる命令キャッシュを備え、
上記命令実行部は、上記命令キャッシュからプログラムをフェッチして実行する、
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 3.
An instruction cache comprising a cache memory for storing a program decoded by the instruction decoding unit, and a cache controller for controlling transfer of the program to the cache memory;
The instruction execution unit fetches and executes a program from the instruction cache;
An information processing apparatus characterized by that.
請求項5に記載の情報処理装置において、
上記プログラム転送部によってプログラムを上記プログラム記憶部に転送する際に上記共通鍵復号部に入力する共通鍵を格納する別途の暗号化共通鍵格納部をさらに備え、
上記プログラム記憶部は、上記暗号化されたプログラムのアドレス空間と別のアドレス空間に配置され、
上記プログラム転送部は、プログラム転送命令によって明示的に起動される、
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 5,
A separate encrypted common key storage unit that stores a common key to be input to the common key decryption unit when the program transfer unit transfers the program to the program storage unit;
The program storage unit is arranged in an address space different from the address space of the encrypted program,
The program transfer unit is explicitly activated by a program transfer instruction.
An information processing apparatus characterized by that.
請求項1に記載の情報処理装置と組み合わせて用いられるデバッグ装置であって、
上記暗号化されたプログラムの格納アドレス情報と、対応する上記共通鍵とを格納するデバッグ情報保持部と、
上記暗号化されたプログラムの格納アドレス情報、及び対応する上記復号された共通鍵を用いて、上記情報処理装置から読み出した暗号化プログラムを復号して命令表示を行なう命令表示部と、を備えた、
ことを特徴とするデバッグ装置。
A debugging device used in combination with the information processing device according to claim 1,
A debug information holding unit for storing the storage address information of the encrypted program and the corresponding common key;
A command display unit that decrypts the encrypted program read from the information processing device and displays a command using the storage address information of the encrypted program and the corresponding decrypted common key. ,
A debugging device characterized by that.
請求項8に記載のデバッグ装置において、
上記復号されたプログラムにブレイクポイント命令を埋め込み、上記共通鍵によって暗号化を行ない、該暗号化されたプログラムを上記情報処理装置の該プログラムが格納されていた場所に書き込む暗号部を備えた、
ことを特徴とするデバッグ装置。
The debugging device according to claim 8, wherein
An encryption unit that embeds a breakpoint instruction in the decrypted program, performs encryption with the common key, and writes the encrypted program to the location where the program of the information processing apparatus was stored;
A debugging device characterized by that.
JP2004273056A 2004-09-21 2004-09-21 Information processor and debugging device Pending JP2006091967A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004273056A JP2006091967A (en) 2004-09-21 2004-09-21 Information processor and debugging device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004273056A JP2006091967A (en) 2004-09-21 2004-09-21 Information processor and debugging device

Publications (1)

Publication Number Publication Date
JP2006091967A true JP2006091967A (en) 2006-04-06

Family

ID=36232922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004273056A Pending JP2006091967A (en) 2004-09-21 2004-09-21 Information processor and debugging device

Country Status (1)

Country Link
JP (1) JP2006091967A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528511A (en) * 2007-05-23 2010-08-19 シーメンス アクチエンゲゼルシヤフト Software encryption method, software decryption method, software encryption device, and software decryption device
KR101785540B1 (en) 2016-03-09 2017-11-15 한양대학교 산학협력단 Emulation method and apparatus for processing request for non-deterministic hardware interrupt

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528511A (en) * 2007-05-23 2010-08-19 シーメンス アクチエンゲゼルシヤフト Software encryption method, software decryption method, software encryption device, and software decryption device
KR101785540B1 (en) 2016-03-09 2017-11-15 한양대학교 산학협력단 Emulation method and apparatus for processing request for non-deterministic hardware interrupt

Similar Documents

Publication Publication Date Title
EP3682362B1 (en) Call path dependent authentication
US7065215B2 (en) Microprocessor with program and data protection function under multi-task environment
TWI531968B (en) Encryption method and microprocessor with a decryption capability and microprocessor operating method and computer program product
KR100550593B1 (en) A microprocessor
JPWO2006126686A1 (en) Data processing device
JP4680876B2 (en) Information processing apparatus and instruction fetch control method
JP2013542498A (en) Debugging data processing equipment
JP2009163741A (en) Data processing apparatus including data processor processing data in secure mode and non-secure mode, and data processing method
US9116741B2 (en) Computer program product, and information processing apparatus and method
EP2270707B1 (en) Loading secure code into a memory
CN105843776A (en) Microprocessor and method for safely executing instruction therein
JPH08185361A (en) Semiconductor integrated circuit device
JP2006091967A (en) Information processor and debugging device
JP3642533B2 (en) Program card and computer using the same
JP6672341B2 (en) Protection of virtual machine state information
JP4309726B2 (en) Microprocessor
JP2008140124A (en) Data processor
JP2011150457A (en) Information processing apparatus and memory access control method
JP2014119953A (en) Computer and interrupt service routine execution method
JP2002229776A (en) Data processor for executing multiple sets of instructions
JP2011081429A (en) System and method for concealing program
JP2007122547A (en) Program implementation method and shared memory type multicore processor
JP2005122723A (en) Program card and computer using the same
JPS6029846A (en) Execution state control system of information processor
JP2020525957A (en) Contextual data management