Nova Patents
JP4892018B2

Program execution device

Abstract

A program execution device capable of protecting a program against unauthorized analysis and alteration is provided. The program execution device includes an execution unit, a first protection unit, and a second protection unit. The execution unit executes a first program and a second program, and is connected with an external device that is capable of controlling the execution. The first protection unit disconnects the execution unit from the external device while the execution unit is executing the first program. The second protection unit protects the first program while the execution unit is executing the second program.

Term

Projected expiry 5 February 2029.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Projected expiry

9 claims: 5 independent, 4 dependent

  1. 1
    Multiple processesStatusAny of the processesBecome in a stateAn information processing device that stores a set of first program instructions including a program instruction for detecting tampering, a storage means for storing a second set of program instructions, and a memory protected from being observed by an external device. Program instructions included in the first set of program instructions using the protected memoryAt least part ofBy executing, it is determined whether or not at least a part of the second set of program instructions has been tampered with, and when it is determined that there is no tampering, the program instructions included in the second set of program instructions are executed. With the control unit、An interface that connects the control unit and the external device, A cutting means for disconnecting the control unit from the interface, A connecting means for connecting the control unit to the interface is provided. The first set of program instructions includes a disconnect command or a connection command to connect the control unit to the external device by disconnecting or connecting the control unit from the interface to the disconnecting means. The control unit further executes a program instruction included in the first set of program instructions.In the middleTo the aboveBy executing the disconnect command to cause the disconnecting means to disconnect the control unit from the interface, the state of the information processing apparatus can be changed.First, the contents of the memory are protected from observation by the external device.StatusWhen switching to and executing the program instructions included in the second set of program instructions,By causing the connection means to connect the control unit to the interface by executing the connection command.Second, the contents of the memory are not protected from observation by the external deviceStatusAn information processing device characterized by switching to. 複数の処理状態のうちいずれかの処理状態になる情報処理装置であって、 改竄の検出を行うプログラム命令を含む第1のプログラム命令の集合と、第2のプログラム命令の集合とを格納する格納手段と、 外部装置から観察できないよう保護されたメモリである保護メモリを用いて前記第1のプログラム命令の集合に含まれるプログラム命令の少なくとも一部を実行することにより、前記第2のプログラム命令の集合の少なくとも一部について改竄の有無を判断し、改竄が無いと判断された場合に、前記第2プログラム命令の集合に含まれるプログラム命令を実行する制御部と、前記制御部と前記外部装置とを接続するインターフェースと、 前記制御部を前記インターフェースと切断する切断手段と、 前記制御部を前記インターフェースと接続する接続手段とを備え、 前記第1のプログラム命令の集合は、前記切断手段に前記制御部を前記インターフェースから切断又は接続させることにより、前記制御部を前記外部装置と切断する切断命令又は接続する接続命令を含み、 前記制御部は、更に、 前記第1のプログラム命令の集合に含まれるプログラム命令を実行する最中に、前記切断命令の実行により前記切断手段に前記制御部を前記インターフェースから切断させることにより、前記情報処理装置の状態を前記メモリの内容が前記外部装置による観察から保護される第1状態へ切り替え、 前記第2のプログラム命令の集合に含まれるプログラム命令を実行する際に、前記接続命令の実行により前記接続手段に前記制御部を前記インターフェースに接続させることにより、前記メモリの内容が前記外部装置による観察から保護されない第2状態へ切り替える ことを特徴とする情報処理装置。
  2. 4
    The program instruction included in the first set of program instructions executed by the control unit calculates a hash value for at least a part of the second set of program instructions, and uses the calculated hash value as the second set. Claim 1 is characterized in that it is determined whether or not at least a part of the second set of program instructions has been tampered with by comparing at least a part of the set of program instructions of the above with a tampering detection value calculated in advance. The information processing device described in. 前記制御部によって実行された前記第1のプログラム命令の集合に含まれるプログラム命令は、前記第2のプログラム命令の集合の少なくとも一部についてハッシュ値を計算し、計算したハッシュ値を、前記第2のプログラム命令の集合の少なくとも一部について予め算出された改竄検出値と比較することにより、前記第2のプログラム命令の集合の少なくとも一部の改竄の有無を判断する ことを特徴とする請求項1に記載の情報処理装置。
  3. 7
    Multiple processesStatusAny of the processesBecome in a stateA secure processing method used in an information processing device, the information processing device stores a set of first program instructions including a program instruction for detecting tampering and a set of second program instructions. ,Furthermore, a control unit that executes the first program instruction and the second program instruction,An interface for connecting the control unit and an external device is provided. The secure processing method is A step of executing a program instruction for disconnecting the control unit from the interfaceA step of executing a program instruction for connecting the control unit to the interface, Program instructions included in the first set of program instructions using a protected memory, which is a memory protected so that it cannot be observed from an external device.At least part ofBy executing the step of determining whether or not at least a part of the second set of program instructions has been tampered with, and when it is determined that at least a part of the second set of program instructions has not been tampered with. , The step of executing the program instruction included in the second set of program instructions is included, and the program instruction included in the first set of program instructions is executed.In the middleToBy executing a program instruction that disconnects the control unit from the interface, the state of the information processing device can be changed.First, the contents of the memory are protected from observation by the external device.StatusWhen switching to and executing the program instructions included in the second set of program instructions,By executing a program instruction that connects the control unit to the interface.Second, the contents of the memory are not protected from observation by the external deviceStatusA secure processing method characterized by switching to. 複数の処理状態のうちいずれかの処理状態となる情報処理装置で用いられるセキュア処理方法であって、 前記情報処理装置は、改竄の検出を行うプログラム命令を含む第1のプログラム命令の集合と、第2のプログラム命令の集合とを格納しており、更に、第1のプログラム命令と第2のプログラム命令を実行する制御部と、当該制御部と外部装置とを接続するインターフェースとを供え、 前記セキュア処理方法は、 前記制御部を前記インターフェースから切断するプログラム命令を実行するステップと前記制御部を前記インターフェースと接続するプログラム命令を実行するステップと、 外部装置から観察できないよう保護されたメモリである保護メモリを用いて前記第1のプログラム命令の集合に含まれるプログラム命令の少なくとも一部を実行することにより、前記第2のプログラム命令の集合の少なくとも一部について改竄の有無を判断するステップと、 前記第2のプログラム命令の集合の少なくとも一部について改竄が無いと判断された場合に、前記第2プログラム命令の集合に含まれるプログラム命令を実行するステップとを含み、 前記第1のプログラム命令の集合に含まれるプログラム命令を実行する最中に、前記制御部を前記インターフェースから切断するプログラム命令を実行することにより、前記情報処理装置の状態を前記メモリの内容が前記外部装置による観察から保護される第1状態へ切り替え、 前記第2のプログラム命令の集合に含まれるプログラム命令を実行する際に、前記制御部を前記インターフェースと接続するプログラム命令を実行することにより、前記メモリの内容が前記外部装置による観察から保護されない第2状態へ切り替える ことを特徴とするセキュア処理方法。
  4. 8
    Multiple processesStatusAny of the processesBecome in a stateA computer program used in an information processing device, the information processing device stores a first set of program instructions including a program instruction for detecting tampering and a second set of program instructions.Furthermore, a control unit that executes the first program instruction and the second program instruction,An interface for connecting the control unit and an external device is provided.A program instruction that disconnects the control unit from the interface, andIt stores program instructions that connect the control unit to the interface. The computer program uses a protected memory, which is a memory protected from the information processing device so that it cannot be observed from an external device, and includes program instructions included in the first set of program instructions.At least part ofIs executed to determine whether or not at least a part of the second set of program instructions has been tampered with, and when it is determined that at least a part of the second set of program instructions has not been tampered with, the above The program instructions included in the second set of program instructions are executed, and the program instructions included in the first set of program instructions are executed.In the middleToA program instruction for disconnecting the control unit from the interface is executed to change the state of the information processing device.First, the contents of the memory are protected from observation by the external device.StatusWhen switching to and executing the program instructions included in the second set of program instructions,A program instruction for connecting the control unit to the interface is executed to change the state of the information processing device.Second, the contents of the memory are not protected from observation by the external deviceStatusA computer program characterized by switching to. 複数の処理状態のうちいずれかの処理状態となる情報処理装置で用いられるコンピュータプログラムであって、 前記情報処理装置は、改竄の検出を行うプログラム命令を含む第1のプログラム命令の集合と、第2のプログラム命令の集合とを格納しており、更に、第1のプログラム命令と第2のプログラム命令を実行する制御部と、当該制御部と外部装置とを接続するインターフェースとを供え、前記制御部を前記インターフェースから切断するプログラム命令と、前記制御部を前記インターフェースと接続するプログラム命令とを格納しており、 前記コンピュータプログラムは、前記情報処理装置に対して、 外部装置から観察できないように保護されたメモリである保護メモリを用いて前記第1のプログラム命令の集合に含まれるプログラム命令の少なくとも一部を実行することにより、前記第2のプログラム命令の集合の少なくとも一部について改竄の有無を判断させ、 前記第2のプログラム命令の集合の少なくとも一部について改竄が無いと判断された場合に、前記第2のプログラム命令の集合に含まれるプログラム命令を実行させ、 前記第1のプログラム命令の集合に含まれるプログラム命令を実行する最中に、前記制御部を前記インターフェースから切断するプログラム命令を実行させ、前記情報処理装置の状態を前記メモリの内容が前記外部装置による観察から保護される第1状態へ切り替え、 前記第2のプログラム命令の集合に含まれるプログラム命令を実行する際に、前記制御部を前記インターフェースと接続するプログラム命令を実行させ、前記情報処理装置の状態を前記メモリの内容が前記外部装置による観察から保護されない第2状態へ切り替える ことを特徴とするコンピュータプログラム。
  5. 9
    Multiple processesStatusAny of the processesBecome in a stateA computer-readable recording medium for recording a computer program used in an information processing device, wherein the information processing device includes a first set of program instructions including a program instruction for detecting tampering and a second set of program instructions. Stores a set of program instructionsFurthermore, a control unit that executes the first program instruction and the second program instruction,An interface for connecting the control unit and an external device is provided.A program instruction that disconnects the control unit from the interface, andIt stores program instructions that connect the control unit to the interface. The computer program uses a protected memory, which is a memory protected from the information processing device so that it cannot be observed from an external device, and includes program instructions included in the first set of program instructions.At least part ofIs executed to determine whether or not at least a part of the second set of program instructions has been tampered with, and when it is determined that at least a part of the second set of program instructions has not been tampered with, the above The program instructions included in the second set of program instructions are executed, and the program instructions included in the first set of program instructions are executed.In the middleToA program instruction for disconnecting the control unit from the interface is executed to change the processing state of the information processing device.First, the contents of the memory are protected from observation by the external device.StatusWhen switching to and executing the program instructions included in the second set of program instructions,A program instruction for connecting the control unit to the interface is executed.Second, the contents of the memory are not protected from observation by the external deviceStatusA recording medium characterized by switching to. 複数の処理状態のうちいずれかの処理状態となる情報処理装置で用いられるコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、 前記情報処理装置は、改竄の検出を行うプログラム命令を含む第1のプログラム命令の集合と、第2のプログラム命令の集合とを格納しており、更に、第1のプログラム命令と第2のプログラム命令を実行する制御部と、当該制御部と外部装置とを接続するインターフェースとを供え、前記制御部を前記インターフェースから切断するプログラム命令と、前記制御部を前記インターフェースと接続するプログラム命令とを格納しており、 前記コンピュータプログラムは、前記情報処理装置に対して、 外部装置から観察できないように保護されたメモリである保護メモリを用いて前記第1のプログラム命令の集合に含まれるプログラム命令の少なくとも一部を実行することにより、前記第2のプログラム命令の集合の少なくとも一部について改竄の有無を判断させ、 前記第2のプログラム命令の集合の少なくとも一部について改竄が無いと判断された場合に、前記第2のプログラム命令の集合に含まれるプログラム命令を実行させ、 前記第1のプログラム命令の集合に含まれるプログラム命令を実行する最中に、前記制御部を前記インターフェースから切断するプログラム命令を実行させ、前記情報処理装置の処理状態を前記メモリの内容が前記外部装置による観察から保護される第1状態へ切り替え、 前記第2のプログラム命令の集合に含まれるプログラム命令を実行する際に、前記制御部を前記インターフェースと接続するプログラム命令を実行させ、前記メモリの内容が前記外部装置による観察から保護されない第2状態へ切り替える ことを特徴とする記録媒体。