JP4767129B2 - OS switching device and OS switching method - Google Patents

OS switching device and OS switching method Download PDF

Info

Publication number
JP4767129B2
JP4767129B2 JP2006222233A JP2006222233A JP4767129B2 JP 4767129 B2 JP4767129 B2 JP 4767129B2 JP 2006222233 A JP2006222233 A JP 2006222233A JP 2006222233 A JP2006222233 A JP 2006222233A JP 4767129 B2 JP4767129 B2 JP 4767129B2
Authority
JP
Japan
Prior art keywords
unit
secret
switching
switching device
memory
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.)
Expired - Fee Related
Application number
JP2006222233A
Other languages
Japanese (ja)
Other versions
JP2008046887A (en
Inventor
智尋 中川
雄 稲村
悠利 江口
賢 太田
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2006222233A priority Critical patent/JP4767129B2/en
Publication of JP2008046887A publication Critical patent/JP2008046887A/en
Application granted granted Critical
Publication of JP4767129B2 publication Critical patent/JP4767129B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、OS切替装置及びOS切替方法に関する。   The present invention relates to an OS switching device and an OS switching method.

従来、単一のコードをユーザレベル(保護モード)における実行部分と、カーネルレベル(非保護モード)の実行部分とに分離する技術が提案されている(例えば、特許文献1参照。)。この技術では、クリティカルなコードをカーネルの例外ハンドラにおいて実行することにより、クリティカルコードの実行をデバッガから隠蔽してコードの難読化を図る。
US 2003/0093685 A1
Conventionally, a technique for separating a single code into an execution part at the user level (protection mode) and an execution part at the kernel level (non-protection mode) has been proposed (see, for example, Patent Document 1). In this technique, critical code is obfuscated from the debugger by executing critical code in a kernel exception handler, thereby obfuscating the code.
US 2003/0093685 A1

しかしながら、上記の特許文献1では、単一のOS内においてユーザランドにおける実行プロセスがカーネル内のコードを読み出すことを防止する機能に効果が限定されており、複数のOSが動作するマルチOS環境において他のOSへの攻撃を防止することができない。   However, in the above Patent Document 1, the effect is limited to the function of preventing execution processes in the userland from reading the code in the kernel within a single OS, and in a multi-OS environment in which multiple OSs operate. Attacks on other operating systems cannot be prevented.

そこで、本発明は、上記の課題に鑑み、マルチOS環境において、一方のOSから他方のOSへの機密情報の読出しや改竄の攻撃を防御するOS切替装置及びOS切替方法を提供することを目的とする。   Therefore, in view of the above problems, the present invention has an object to provide an OS switching device and an OS switching method that protect against attacks of reading confidential information and falsification from one OS to another OS in a multi-OS environment. And

上記目的を達成するため、本発明の第1の特徴は、OSを停止するOS停止部と、OSの実行を再開するOS起動部とを含む複数のOSと、該複数のOSを切替えて動作させるOS切替部とを備えるOS切替装置であって、(a)例外処理を実施する例外処理部と、(b)セキュリティ機能の実現に用いるシークレットを生成するシークレット生成部と、(c)例外処理部内に実装され、シークレットの演算を実行するシークレット演算部とを備えるOS切替装置であることを要旨とする。   In order to achieve the above object, a first feature of the present invention is that a plurality of OSs including an OS stop unit that stops an OS and an OS start unit that restarts execution of the OS, and the plurality of OSs are switched to operate. An OS switching device comprising: an OS switching unit for executing: (a) an exception processing unit that performs exception processing; (b) a secret generation unit that generates a secret used to implement a security function; and (c) exception processing. The gist of the invention is that the OS switching device includes a secret calculation unit that is mounted in the unit and executes a secret calculation.

第1の特徴に係るOS切替装置によると、マルチOS環境において、一方のOSから他方のOSへの機密情報の読出しや改竄の攻撃を防御することができる。   According to the OS switching device according to the first feature, in a multi-OS environment, it is possible to prevent an attack of reading confidential information from one OS or the other OS and falsification.

又、第1の特徴に係るOS切替装置において、OSは、機密情報を格納する機密情報保持部と、該機密情報保持部に格納した機密情報の暗号化および復号を行う暗号化・復号部とを備え、シークレット演算部において演算されたシークレットを用いて、暗号化・復号部が利用する暗号鍵を生成する鍵生成部を更に備えてもよい。   In the OS switching device according to the first feature, the OS includes a confidential information holding unit that stores confidential information, and an encryption / decryption unit that encrypts and decrypts the confidential information stored in the confidential information holding unit. And a key generation unit that generates an encryption key to be used by the encryption / decryption unit using the secret calculated by the secret calculation unit.

このOS切替装置によると、OS内に保持したシークレット生成部においてシークレット(擬似乱数データ)を生成する際に、OSの例外処理部においてシークレットに演算を実施することにより、攻撃OSによる再現が困難なシークレットを生成することができる。   According to this OS switching device, when generating a secret (pseudo random number data) in the secret generation unit held in the OS, it is difficult to reproduce by the attacking OS by performing an operation on the secret in the exception processing unit of the OS A secret can be generated.

又、第1の特徴に係るOS切替装置において、OSは、データあるいはコードの完全性を検証する完全性検証部を更に備えてもよい。   In the OS switching device according to the first feature, the OS may further include an integrity verification unit that verifies the integrity of data or code.

このOS切替装置によると、データあるいはコードの完全性を更に高めることができる。   According to this OS switching device, the integrity of data or code can be further improved.

又、上記のOS切替装置において、OS切替部は、機密情報を格納する機密情報保持部と、該機密情報保持部に格納した機密情報の暗号化および復号を行う暗号化・復号部とを備え、シークレット演算部において演算されたシークレットを用いて、暗号化・復号部が利用する暗号鍵を生成する鍵生成部を更に備えてもよい。   In the OS switching device, the OS switching unit includes a confidential information holding unit that stores confidential information, and an encryption / decryption unit that encrypts and decrypts the confidential information stored in the confidential information holding unit. Further, a key generation unit that generates an encryption key used by the encryption / decryption unit using the secret calculated by the secret calculation unit may be further provided.

このOS切替装置によると、OS切替部内に保持したシークレット生成部においてシークレット(擬似乱数データ)を生成する際に、OS切替部の例外処理部においてシークレットに演算を実施することにより、攻撃OSによる再現が困難なシークレットを生成することができる。   According to this OS switching device, when the secret (pseudo random number data) is generated in the secret generation unit held in the OS switching unit, it is reproduced by the attacking OS by performing an operation on the secret in the exception processing unit of the OS switching unit Can generate a difficult secret.

又、上記のOS切替装置において、OS切替部は、データあるいはコードの完全性を検証する完全性検証部を更に備えてもよい。   In the OS switching device, the OS switching unit may further include an integrity verification unit that verifies the integrity of data or code.

このOS切替装置によると、データあるいはコードの完全性を更に高めることができる。   According to this OS switching device, the integrity of data or code can be further improved.

又、上記のOS切替装置において、シークレット生成部をメモリの仮想アドレス空間に複数マップする複製メモリ管理部を更に備えてもよい。   The OS switching device may further include a duplicate memory management unit that maps a plurality of secret generation units to the virtual address space of the memory.

このOS切替装置によると、シークレット生成時に利用する元データを仮想メモリ上の複数の場所にマッピングし、特定のレジスタから離れた場所を指定することにより、シークレットの再生をさらに困難にすることができる。   According to this OS switching device, it is possible to make the reproduction of the secret more difficult by mapping the original data used when generating the secret to a plurality of locations on the virtual memory and specifying the location away from the specific register. .

又、上記のOS切替装置において、シークレット生成部がシークレットを生成するためのデータを取得する場合、絶対メモリアドレスを利用してデータを指定する絶対メモリアドレス管理部を更に備えてもよい。   The OS switching device may further include an absolute memory address management unit that specifies data using an absolute memory address when the secret generation unit acquires data for generating a secret.

このOS切替装置によると、シークレット生成用の元データを仮想メモリ上のエイリアスを用いて指定することにより、シークレットの再現を更に困難にし、安全性をより向上させることができる。   According to this OS switching device, by specifying the original data for generating the secret using the alias on the virtual memory, the reproduction of the secret can be made more difficult and the safety can be further improved.

又、第1の特徴に係るOS切替装置は、データおよびコードを保存する読取専用記憶部を更に備えてもよい。   The OS switching device according to the first feature may further include a read-only storage unit that stores data and codes.

このOS切替装置によると、ROMよりシークレットの生成や暗号化の処理を実施することにより、改竄の攻撃を未然に防止することができる。   According to this OS switching device, it is possible to prevent tampering attacks by executing secret generation and encryption processing from ROM.

又、第1の特徴に係るOS切替装置は、改竄を検出し、正規の状態に復旧する障害復旧部を更に備えてもよい。   The OS switching device according to the first feature may further include a failure recovery unit that detects falsification and recovers to a normal state.

このOS切替装置によると、改竄や障害を検知した場合にROMから復旧することにより、攻撃OSによる読出しだけではなく、改竄の攻撃に対しても耐性を高めることができる。   According to this OS switching device, by recovering from the ROM when a tampering or failure is detected, it is possible to increase resistance against not only reading by the attacking OS but also a tampering attack.

又、上記のOS切替装置において、OSは、OS切替部の完全性を検証する完全性検証部を更に備えてもよい。   In the OS switching device, the OS may further include an integrity verification unit that verifies the integrity of the OS switching unit.

このOS切替装置によると、OS切替部の完全性を更に高めることができる。   This OS switching device can further enhance the integrity of the OS switching unit.

又、上記のOS切替装置において、OS切替部は、OSの完全性を検証する完全性検証部を更に備えてもよい。   In the OS switching device, the OS switching unit may further include an integrity verification unit that verifies the integrity of the OS.

このOS切替装置によると、OSの完全性を更に高めることができる。   This OS switching device can further enhance the integrity of the OS.

又、第1の特徴に係るOS切替装置は、シークレット演算部において演算されたシークレットを用いて、ハードウェアアシスト難読化を実施するハードウェアアシスト難読化部を更に備えてもよい。   The OS switching device according to the first feature may further include a hardware assist obfuscation unit that performs hardware assist obfuscation using the secret calculated by the secret calculation unit.

このOS切替装置によると、ハードウェアアシスト難読化に、攻撃OSが再生困難なシークレットを利用することにより、安全性を更に高めることができる。   According to this OS switching device, the security can be further improved by using a secret that is difficult for the attacking OS to reproduce for hardware-assisted obfuscation.

本発明の第2の特徴は、複数のOSと、該複数のOSを切替えて動作させるOS切替部とを備えるOS切替装置において、1のOSから他のOSへ制御を切替えるOS切替方法であって、(a)セキュリティ機能の実現に用いるシークレットを生成するステップと、(b)例外処理を実施する例外処理部において、シークレットの演算を実行するステップと、(c)演算されたシークレットを用いて、機密情報あるいはOS内のメモリ全体の暗号化を行うステップとを含むOS切替方法であることを要旨とする。   A second feature of the present invention is an OS switching method for switching control from one OS to another OS in an OS switching device including a plurality of OSs and an OS switching unit that switches and operates the plurality of OSs. (A) generating a secret used for realizing the security function; (b) executing an operation of the secret in the exception processing unit that performs the exception processing; and (c) using the calculated secret. The gist of the present invention is an OS switching method including the step of encrypting confidential information or the entire memory in the OS.

第2の特徴に係るOS切替方法によると、マルチOS環境において、一方のOSから他方のOSへの機密情報の読出しや改竄の攻撃を防御することができる。   According to the OS switching method according to the second feature, in a multi-OS environment, it is possible to prevent an attack of reading confidential information or falsification from one OS to the other OS.

本発明によると、マルチOS環境において、一方のOSから他方のOSへの機密情報の読出しや改竄の攻撃を防御するOS切替装置及びOS切替方法を提供することができる。   According to the present invention, it is possible to provide an OS switching device and an OS switching method that protect against attacks of reading confidential information from one OS to the other OS and tampering in a multi-OS environment.

次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。   Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, it should be noted that the drawings are schematic.

(OS切替装置)
まず、本実施形態に係るOS切替装置について、図1及び図2を用いて説明する。
(OS switching device)
First, the OS switching device according to the present embodiment will be described with reference to FIGS. 1 and 2.

図1は、暗号化等のモジュールをOS内に実装する場合のOS切替装置の機能的構成を示すブロック図である。   FIG. 1 is a block diagram showing a functional configuration of an OS switching device when a module such as encryption is installed in the OS.

OS切替装置は、OS切替部100と、OS200、300とから構成される。   The OS switching device includes an OS switching unit 100 and OSs 200 and 300.

OS200、300は、OSをサスペンド状態にするためのOS停止部201、301と、OSをサスペンド状態から稼動状態に復帰させるためのOS起動部202、302を保持する。   The OSs 200 and 300 hold OS stop units 201 and 301 for setting the OS in a suspended state and OS starting units 202 and 302 for returning the OS from a suspended state to an operating state.

OS200は、更に、例外処理部210と、メモリ管理部220と、シークレット生成部212と、鍵生成部213と、暗号化・復号部214と、完全性検証部215と、読取専用記憶部216と、障害復旧部217と、情報保持部230とを備える。   The OS 200 further includes an exception processing unit 210, a memory management unit 220, a secret generation unit 212, a key generation unit 213, an encryption / decryption unit 214, an integrity verification unit 215, and a read-only storage unit 216. A failure recovery unit 217 and an information holding unit 230.

例外処理部210は、カーネル内において例外処理を実施する。例外処理部210は、シークレット演算部211をその内部に実装する。例外処理部210内に実装されたシークレット演算部211は、シークレットへの演算を実施する。   The exception processing unit 210 performs exception processing in the kernel. The exception processing unit 210 mounts a secret calculation unit 211 therein. The secret calculation unit 211 implemented in the exception processing unit 210 performs a calculation on the secret.

メモリ管理部220は、カーネル内において物理メモリと論理メモリの対応を管理する。メモリ管理部220は、複製メモリ管理部221と絶対メモリアドレス管理部222とを備える。複製メモリ管理部221は、シークレット生成部212において利用するシークレットを生成するためのデータを仮想メモリ上の複数の場所にマッピングする。絶対メモリアドレス管理部222は、シークレット生成部212においてシークレットの生成に利用するデータを仮想メモリ上の絶対アドレスにより指定するためにデータの絶対メモリアドレスを管理する。   The memory management unit 220 manages the correspondence between physical memory and logical memory in the kernel. The memory management unit 220 includes a duplicate memory management unit 221 and an absolute memory address management unit 222. The duplicate memory management unit 221 maps data for generating a secret used in the secret generation unit 212 to a plurality of locations on the virtual memory. The absolute memory address management unit 222 manages the absolute memory address of the data so that the secret generation unit 212 designates the data used to generate the secret by the absolute address on the virtual memory.

シークレット生成部212は、シークレット演算部211の演算機能を用いてシークレットを生成する。   The secret generation unit 212 generates a secret using the calculation function of the secret calculation unit 211.

鍵生成部213は、シークレット生成部212の出力結果として得られたシークレットを用いて暗号化・復号用の鍵を生成する。   The key generation unit 213 generates an encryption / decryption key using the secret obtained as an output result of the secret generation unit 212.

暗号化・復号部214は、鍵生成部213で得られた鍵を利用して暗号化および復号を実施する。   The encryption / decryption unit 214 performs encryption and decryption using the key obtained by the key generation unit 213.

完全性検証部215は、シークレット生成部212で得られたシークレットを用いて完全性検証用のデータを作成・保持し、完全性の検証を実施する。   The integrity verification unit 215 creates and holds data for integrity verification using the secret obtained by the secret generation unit 212, and performs integrity verification.

読取専用記憶部216は、OS内のデータやコードを保存する。   The read-only storage unit 216 stores data and codes in the OS.

障害復旧部217は、完全性検証部215の検証結果として改竄や障害が検知された場合に復旧を実施する。   The failure recovery unit 217 performs recovery when falsification or failure is detected as the verification result of the integrity verification unit 215.

情報保持部230は、OS200のカーネルおよびユーザランドのプログラムの用いるデータやコードを保持する。情報保持部230は、機密情報保持部231を備える。機密情報保持部231は、読出しや改竄を防止することが必要な機密情報を保持する。   The information holding unit 230 holds data and codes used by the OS 200 kernel and userland programs. The information holding unit 230 includes a confidential information holding unit 231. The confidential information holding unit 231 holds confidential information that needs to be prevented from being read or falsified.

又、図示していないが、OS200は、シークレット演算部211において演算されたシークレットを用いて、ハードウェアアシスト難読化を実施するハードウェアアシスト難読化部を更に備えてもよい。   Although not shown, the OS 200 may further include a hardware assist obfuscation unit that performs hardware assist obfuscation using the secret calculated by the secret calculation unit 211.

例外処理部210は、カーネル内の例外処理を意味しており、ページフォールトやゼロ除算等の例外に対する処理を実施する例外ハンドラ関数である。シークレット演算部211を例外処理部210内に実装することでOS300からの解析が困難になる。シークレット生成部212においてシークレットを生成する際に、例外処理部210の例外ハンドラが呼び出されるようにするため、例えば、メモリ管理部220内のTLB(Translation Look-aside Buffer)のエントリをOS200に制御が移る際に消去する。これにより、シークレット生成部212においてシークレットを生成する際に、必ず例外処理部210内のシークレット演算部211が実行される。しかし、OS300からシークレットの再現を試みる場合、コードを単純に実行するだけでは例外処理が発生せず、シークレット演算部211が呼び出されないため、正しい暗号化・復号鍵を入手することができない。シークレット生成部212においてシークレットを生成するための元のデータとして、例えば、シークレットを生成する関数自身の仮想メモリ上のアドレス、この関数からの戻りアドレス、擬似乱数を用いることができる。一般的に、関数の戻りアドレスはスタックポインタから1ワード分小さいメモリアドレスを指定することで取得する。この処理をそのまま実装する代わりに、仮想メモリ上に関数の戻りアドレスへのエイリアスをメモリ管理部220内のTLBエントリとして追加する。エイリアスは関数の戻りアドレスと同じ物理メモリを指すように仮想メモリと物理メモリのマッピングを行ったメモリ1ページ分のエントリである。関数の戻りアドレスを指定する際に、エイリアスされた仮想アドレスで指定することにより、関数の戻りアドレスを利用していることが明示的に示されなくなり、OS300においてシークレットを再生することが困難となる。このための前提として、OS停止部201における動作が決定的となるようにOS200を実装することにより、メモリ管理部220内の仮想メモリのスタックの状態はOSのサスペンド処理時に常に同じ状態とすることが必要である。   The exception processing unit 210 means exception processing in the kernel, and is an exception handler function that performs processing for exceptions such as page faults and division by zero. By installing the secret calculation unit 211 in the exception processing unit 210, analysis from the OS 300 becomes difficult. When the secret generation unit 212 generates a secret, an exception handler of the exception processing unit 210 is called. For example, a TLB (Translation Look-aside Buffer) entry in the memory management unit 220 is controlled by the OS 200. Erase when moving. Thereby, when the secret generation unit 212 generates a secret, the secret calculation unit 211 in the exception processing unit 210 is always executed. However, when attempting to reproduce the secret from the OS 300, simply executing the code does not cause exception processing, and the secret calculation unit 211 is not called, and thus the correct encryption / decryption key cannot be obtained. As the original data for generating a secret in the secret generation unit 212, for example, an address on the virtual memory of the function itself that generates the secret, a return address from this function, and a pseudo-random number can be used. In general, the return address of a function is obtained by specifying a memory address one word smaller from the stack pointer. Instead of implementing this processing as it is, an alias to the return address of the function is added as a TLB entry in the memory management unit 220 on the virtual memory. An alias is an entry for one page of memory in which virtual memory and physical memory are mapped so as to point to the same physical memory as the return address of the function. When specifying the return address of the function, by specifying the aliased virtual address, it is not explicitly indicated that the return address of the function is used, and it becomes difficult to reproduce the secret in the OS 300. . As a premise for this, by mounting the OS 200 so that the operation in the OS stop unit 201 becomes decisive, the state of the virtual memory stack in the memory management unit 220 is always the same during the OS suspend process. is required.

図2は、暗号化等のモジュールをOS切替部へ実装する場合のOS切替装置の機能的構成を示すブロック図である。   FIG. 2 is a block diagram showing a functional configuration of the OS switching device when a module such as encryption is installed in the OS switching unit.

OS切替装置は、図1に示したものと同じ機能の各モジュールから構成される。図1に示したOS切替装置と異なる点として、OS700(図1のOS200)に入っていた多くの機能がOS切替部600に含まれている。   The OS switching device is composed of modules having the same functions as those shown in FIG. A different point from the OS switching device shown in FIG. 1 is that the OS switching unit 600 includes many functions included in the OS 700 (OS 200 in FIG. 1).

OS切替部600は、例外処理部710、シークレット演算部711、シークレット生成部712、鍵生成部713、暗号化・復号部714、完全性検証部715、読取専用記憶部716、障害復旧部717、メモリ管理部720、複製メモリ管理部721、絶対メモリアドレス管理部722から構成される。   The OS switching unit 600 includes an exception processing unit 710, a secret calculation unit 711, a secret generation unit 712, a key generation unit 713, an encryption / decryption unit 714, an integrity verification unit 715, a read-only storage unit 716, a failure recovery unit 717, The memory management unit 720 includes a duplicate memory management unit 721 and an absolute memory address management unit 722.

OS切替部600に配置された各機能、OS切替処理部601、例外処理部710、シークレット演算部711、シークレット生成部712、鍵生成部713、暗号化・復号部714、完全性検証部715、読取専用記憶部716、障害復旧部717、メモリ管理部720、複製メモリ管理部721、絶対メモリアドレス管理部722は、図1に示す各機能、OS切替処理部101、例外処理部210、シークレット演算部211、シークレット生成部212、鍵生成部213、暗号化・復号部214、完全性検証部215、読取専用記憶部216、障害復旧部217、メモリ管理部220、複製メモリ管理部221、絶対メモリアドレス管理部222と同様であるので、ここでは説明を省略する。   Each function arranged in the OS switching unit 600, an OS switching processing unit 601, an exception processing unit 710, a secret calculation unit 711, a secret generation unit 712, a key generation unit 713, an encryption / decryption unit 714, an integrity verification unit 715, The read-only storage unit 716, the failure recovery unit 717, the memory management unit 720, the duplicate memory management unit 721, and the absolute memory address management unit 722 have the functions, OS switching processing unit 101, exception processing unit 210, secret calculation shown in FIG. Unit 211, secret generation unit 212, key generation unit 213, encryption / decryption unit 214, integrity verification unit 215, read-only storage unit 216, failure recovery unit 217, memory management unit 220, duplicate memory management unit 221, absolute memory Since it is the same as that of the address management unit 222, the description is omitted here.

又、OS700に配置された各機能、OS停止部701、OS起動部702、情報保持部730、機密情報保持部731は、図1に示す各機能、OS停止部201、OS起動部202、情報保持部230、機密情報保持部231と同様であるので、ここでは説明を省略する。   Also, each function arranged in the OS 700, the OS stop unit 701, the OS start unit 702, the information holding unit 730, and the confidential information holding unit 731 are the functions, OS stop unit 201, OS start unit 202, information Since it is the same as the holding unit 230 and the confidential information holding unit 231, description thereof is omitted here.

更に、OS800に配置された各機能、OS停止部801、OS起動部802は、図1に示す各機能、OS停止部301、OS起動部302と同様であるので、ここでは説明を省略する。   Furthermore, each function, OS stop unit 801, and OS start unit 802 arranged in the OS 800 are the same as each function, OS stop unit 301, and OS start unit 302 shown in FIG.

(OS切替方法)
次に、本実施形態に係るOS切替方法について説明する。
(OS switching method)
Next, the OS switching method according to the present embodiment will be described.

図3及び図4は、図1に示すOS切替装置におけるOS切替時のフローチャートである。   3 and 4 are flowcharts at the time of OS switching in the OS switching device shown in FIG.

図3は、OS停止部201においてOSのサスペンド処理を開始した際の暗号化の手順を示し、図4は、OS起動部202においてOSの起動処理を開始した際の完全性検証・復号の手順を示している。   FIG. 3 shows an encryption procedure when the OS suspension unit 201 starts the OS suspend process, and FIG. 4 shows an integrity verification / decryption procedure when the OS startup unit 202 starts the OS startup process. Is shown.

図3において、OS停止部201がOS切替の処理を開始すると(ステップ100)、シークレット生成部212は、暗号化の鍵の種となるシークレットを生成する(ステップ101)。   In FIG. 3, when the OS stop unit 201 starts the OS switching process (step 100), the secret generation unit 212 generates a secret that is a seed of an encryption key (step 101).

次に、シークレット生成時に必ず呼び出されるようにあらかじめ設定された例外処理部210内において、シークレット演算部211がシークレットに演算を施し(ステップ102)、鍵生成部213は、最終的に得られたシークレットを利用して暗号化鍵を生成する。   Next, in the exception processing unit 210 set in advance so as to be called when a secret is generated, the secret calculation unit 211 performs an operation on the secret (step 102), and the key generation unit 213 determines the finally obtained secret. Generate an encryption key using.

次に、暗号化・復号部214は、得られた暗号鍵を利用してOS内のクリティカルなデータやコード、あるいはOS全体の暗号化を実施する(ステップ103)。OS全体を暗号化する際には、単純に排他的論理和を算出するような簡易な暗号化を利用して計算時間を短縮する方法をとってもよい。   Next, the encryption / decryption unit 214 encrypts critical data and code in the OS or the entire OS using the obtained encryption key (step 103). When encrypting the entire OS, a method of shortening the calculation time by using simple encryption that simply calculates an exclusive OR may be used.

次に、完全性検証部215は、暗号化したデータに対する完全性検証データを生成し(ステップ104)、OS切替処理部101は、OSの切替を実施する(ステップ105)。   Next, the integrity verification unit 215 generates integrity verification data for the encrypted data (step 104), and the OS switching processing unit 101 performs OS switching (step 105).

次に、他のOSの動作が完了し、元のOSに制御が戻る際の処理手順を図4を用いて説明する。   Next, a processing procedure when the operation of another OS is completed and control returns to the original OS will be described with reference to FIG.

まず、元のOSを起動するため、OS起動部202がOS切替の処理を開始すると(ステップ106)、シークレット生成部212は、復号の鍵の種となるシークレットを生成する(ステップ107)。   First, in order to start the original OS, when the OS startup unit 202 starts OS switching processing (step 106), the secret generation unit 212 generates a secret that is a seed for decryption (step 107).

次に、シークレット生成時に例外処理部210において、シークレット演算部211がシークレットの演算を実施し、暗号化の際と同じシークレットを再生する(ステップ108)。   Next, at the time of generating a secret, in the exception processing unit 210, the secret calculation unit 211 performs a secret calculation and reproduces the same secret as that used for encryption (step 108).

次に、完全性検証部215は、ステップ104で生成した完全性検証用のデータを利用してクリティカルなコードやデータ、あるいはメモリ全体の完全性を検証し(ステップ109)、問題がなければ、暗号化・復号部214は、復号を実施する(ステップ110)。完全性の検証に失敗し、改竄や障害の可能性がある場合、障害復旧部217は、ROM等より復旧の処理を実施する(ステップ112)。   Next, the integrity verification unit 215 verifies the integrity of the critical code or data or the entire memory using the integrity verification data generated in step 104 (step 109). The encryption / decryption unit 214 performs decryption (step 110). If the integrity verification fails and there is a possibility of falsification or failure, the failure recovery unit 217 performs recovery processing from the ROM or the like (step 112).

そして、正しい状態に復号あるいは復旧を完了すると、OS切替処理部101は、OSの切替を実施して元のOSを起動し処理を完了する(ステップ111)。   When the decryption or restoration is completed in the correct state, the OS switching processing unit 101 switches the OS, starts the original OS, and completes the process (step 111).

図5及び図6は、図2に示すOS切替装置におけるOS切替時のフローチャートである。処理内容は基本的に図3及び図4に示した手順と同様であり、これらの処理をOS切替部内で実施する点が異なっている。   5 and 6 are flowcharts at the time of OS switching in the OS switching device shown in FIG. The processing contents are basically the same as the procedures shown in FIG. 3 and FIG. 4, and are different in that these processes are performed in the OS switching unit.

図5は、OS停止部701においてOSのサスペンド処理を開始した際の暗号化の手順を示し、図6は、OS起動部702においてOSの起動処理を開始した際の完全性検証・復号の手順を示している。   FIG. 5 shows an encryption procedure when the OS suspension unit 701 starts the OS suspend process, and FIG. 6 shows an integrity verification / decryption procedure when the OS startup unit 702 starts the OS startup process. Is shown.

図5において、OS停止部701がOS切替の処理を開始すると(ステップ200)、シークレット生成部712は、暗号化の鍵の種となるシークレットを生成する(ステップ201)。   In FIG. 5, when the OS stop unit 701 starts the OS switching process (step 200), the secret generation unit 712 generates a secret that serves as an encryption key seed (step 201).

次に、シークレット生成時に必ず呼び出されるようにあらかじめ設定された例外処理部710内において、シークレット演算部711がシークレットに演算を施し(ステップ202)、鍵生成部213は、最終的に得られたシークレットを利用して暗号化鍵を生成する。   Next, in the exception processing unit 710 set in advance so as to be surely called when a secret is generated, the secret calculation unit 711 performs an operation on the secret (step 202), and the key generation unit 213 determines the finally obtained secret. Generate an encryption key using.

次に、暗号化・復号部214は、得られた暗号鍵を利用してOS内のクリティカルなデータやコード、あるいはOS全体の暗号化を実施する(ステップ203)。OS全体を暗号化する際には、単純に排他的論理和を算出するような簡易な暗号化を利用して計算時間を短縮する方法をとってもよい。   Next, the encryption / decryption unit 214 encrypts critical data and code in the OS or the entire OS using the obtained encryption key (step 203). When encrypting the entire OS, a method of shortening the calculation time by using simple encryption that simply calculates an exclusive OR may be used.

次に、完全性検証部715は、暗号化したデータに対する完全性検証データを生成し(ステップ204)、OS切替処理部601は、OSの切替を実施し、別ドメインのOSを起動する(ステップ205)。   Next, the integrity verification unit 715 generates integrity verification data for the encrypted data (step 204), and the OS switching processing unit 601 switches the OS and starts an OS in another domain (step 204). 205).

次に、他のOSの動作が完了し、元のOSに制御が戻る際の処理手順を図6を用いて説明する。   Next, a processing procedure when the operation of another OS is completed and control returns to the original OS will be described with reference to FIG.

まず、元のOSを起動するため、OS起動部702がOS切替の処理を開始すると(ステップ206)、シークレット生成部712は、復号の鍵の種となるシークレットを生成する(ステップ207)。   First, when the OS activation unit 702 starts OS switching processing to activate the original OS (step 206), the secret generation unit 712 generates a secret that serves as a key for decryption (step 207).

次に、シークレット生成時に例外処理部710において、シークレット演算部711がシークレットの演算を実施し、暗号化の際と同じシークレットを再生する(ステップ208)。   Next, at the time of generating a secret, in the exception processing unit 710, the secret calculation unit 711 performs a secret calculation and reproduces the same secret as that used for encryption (step 208).

次に、完全性検証部715は、ステップ204で生成した完全性検証用のデータを利用してクリティカルなコードやデータ、あるいはメモリ全体の完全性を検証し(ステップ209)、問題がなければ、暗号化・復号部714は、復号を実施する(ステップ210)。完全性の検証に失敗し、改竄や障害の可能性がある場合、障害復旧部717は、ROM等より復旧の処理を実施する(ステップ212)。   Next, the integrity verification unit 715 verifies the integrity of the critical code or data or the entire memory using the integrity verification data generated in step 204 (step 209). The encryption / decryption unit 714 performs decryption (step 210). If the integrity verification fails and there is a possibility of falsification or failure, the failure recovery unit 717 performs recovery processing from the ROM or the like (step 212).

そして、正しい状態に復号あるいは復旧を完了すると、OS切替処理部601は、OSの切替を実施して、別ドメインOSを起動し、処理を完了する(ステップ211)。   When the decryption or restoration is completed in the correct state, the OS switching processing unit 601 switches the OS, starts another domain OS, and completes the process (step 211).

(作用及び効果)
本実施形態では、二つ以上のOSがSwitcher方式により適宜切替えられつつ、通常通りの特権モードで動作するようなMulti-OS 環境を想定している。
(Function and effect)
In the present embodiment, a Multi-OS environment is assumed in which two or more OSs are appropriately switched by the Switcher method and operate in a normal privilege mode.

本実施形態に係るOS切替装置及びOS切替方法では、攻撃OSの実行時に正しく動作しない擬似乱数生成器(Blackbox PRNG)を実現する。中断状態に移行させられるOS領域中の重要情報保存部分に対して、当該PRNGから生成した擬似乱数データにより、暗号化・完全性保証データ付加等の処理を適用することで、その後実行状態に移行させられるOSからの攻撃に対処することが可能となる。即ち、本実施形態に係るOS切替装置及びOS切替方法によると、暗号化や完全性に利用するシークレットをカーネルの例外処理において実施することにより、攻撃OSによるシークレットの再生を困難とすることができる。又、シークレットの種として利用する戻りアドレスのメモリをエイリアンすることにより、シークレットの再生を困難とすることができる。   In the OS switching device and the OS switching method according to the present embodiment, a pseudo random number generator (Blackbox PRNG) that does not operate correctly when an attacking OS is executed is realized. By applying processing such as encryption / integrity assurance data addition to the important information storage part in the OS area that is transferred to the suspended state, using pseudo-random data generated from the PRNG It is possible to cope with attacks from the operating system. That is, according to the OS switching device and the OS switching method according to the present embodiment, it is possible to make it difficult to reproduce the secret by the attacking OS by executing the secret used for encryption and integrity in the exception processing of the kernel. . Further, by reproducing the memory of the return address used as the secret seed, it becomes difficult to reproduce the secret.

又、本実施形態に係るOS切替装置において、OSは、機密情報を格納する機密情報保持部と、機密情報保持部に格納した機密情報の暗号化および復号を行う暗号化・復号部とを備え、シークレット演算部において演算されたシークレットを用いて、暗号化・復号部が利用する暗号鍵を生成する鍵生成部を備える。このため、OS内に保持したシークレット生成部においてシークレット(擬似乱数データ)を生成する際に、OSの例外処理部においてシークレットに演算を実施することにより、攻撃OSによる再現が困難なシークレットを生成することができる。   In the OS switching device according to the present embodiment, the OS includes a confidential information holding unit that stores confidential information, and an encryption / decryption unit that encrypts and decrypts the confidential information stored in the confidential information holding unit. And a key generation unit that generates an encryption key to be used by the encryption / decryption unit using the secret calculated by the secret calculation unit. For this reason, when generating secrets (pseudo-random data) in the secret generator stored in the OS, the secret is calculated in the exception processing unit of the OS, thereby generating a secret that is difficult to reproduce by the attacking OS. be able to.

又、OSは、データあるいはコードの完全性を検証する完全性検証部を備える。このため、データあるいはコードの完全性を更に高めることができる。   The OS also includes an integrity verification unit that verifies the integrity of data or code. For this reason, the integrity of data or code can be further enhanced.

又、OS切替部は、機密情報を格納する機密情報保持部と、該機密情報保持部に格納した機密情報の暗号化および復号を行う暗号化・復号部とを備え、シークレット演算部において演算されたシークレットを用いて、暗号化・復号部が利用する暗号鍵を生成する鍵生成部を備える。このため、OS切替部内に保持したシークレット生成部においてシークレット(擬似乱数データ)を生成する際に、OS切替部の例外処理部においてシークレットに演算を実施することにより、攻撃OSによる再現が困難なシークレットを生成することができる。   The OS switching unit includes a confidential information holding unit that stores confidential information, and an encryption / decryption unit that encrypts and decrypts the confidential information stored in the confidential information holding unit, and is calculated in the secret calculation unit. And a key generation unit that generates an encryption key used by the encryption / decryption unit using the secret. For this reason, when secret (pseudo random number data) is generated in the secret generator stored in the OS switching unit, the secret is calculated in the exception processing unit of the OS switching unit, which is difficult to reproduce by the attacking OS. Can be generated.

又、OS切替部は、データあるいはコードの完全性を検証する完全性検証部を備える。このため、データあるいはコードの完全性を更に高めることができる。   The OS switching unit includes an integrity verification unit that verifies the integrity of data or code. For this reason, the integrity of data or code can be further enhanced.

又、OS切替装置は、シークレット生成部をメモリの仮想アドレス空間に複数マップする複製メモリ管理部を備える。このため、シークレット生成時に利用する元データを仮想メモリ上の複数の場所にマッピングし、特定のレジスタから離れた場所を指定することにより、シークレットの再生をさらに困難にすることができる。   The OS switching device also includes a duplicate memory management unit that maps a plurality of secret generation units to the virtual address space of the memory. For this reason, it is possible to make the reproduction of the secret more difficult by mapping the original data used when generating the secret to a plurality of locations on the virtual memory and specifying a location away from the specific register.

又、OS切替装置は、シークレット生成部がシークレットを生成するためのデータを取得する場合、絶対メモリアドレスを利用してデータを指定する絶対メモリアドレス管理部を備える。このため、シークレット生成用の元データを仮想メモリ上のエイリアスを用いて指定することにより、シークレットの再現を更に困難にし、安全性をより向上させることができる。   Further, the OS switching device includes an absolute memory address management unit that specifies data using an absolute memory address when the secret generation unit acquires data for generating a secret. For this reason, by specifying the original data for generating the secret using an alias on the virtual memory, it is possible to make the reproduction of the secret more difficult and further improve the safety.

又、OS切替装置は、データおよびコードを保存する読取専用記憶部を備える。このため、ROMよりシークレットの生成や暗号化の処理を実施することにより、改竄の攻撃を未然に防止することができる。   The OS switching device also includes a read-only storage unit that stores data and codes. For this reason, it is possible to prevent tampering attacks by executing secret generation and encryption processing from the ROM.

又、OS切替装置は、改竄を検出し、正規の状態に復旧する障害復旧部を備える。このため、改竄や障害を検知した場合にROMから復旧することにより、攻撃OSによる読出しだけではなく、改竄の攻撃に対しても耐性を高めることができる。   In addition, the OS switching device includes a failure recovery unit that detects falsification and recovers to a normal state. For this reason, by recovering from the ROM when tampering or failure is detected, it is possible to increase resistance against not only reading by the attacking OS but also tampering attacks.

又、OSは、OS切替部の完全性を検証する完全性検証部を備える。このため、OS切替部の完全性を更に高めることができる。   The OS also includes an integrity verification unit that verifies the integrity of the OS switching unit. For this reason, the integrity of the OS switching unit can be further enhanced.

又、OS切替部は、OSの完全性を検証する完全性検証部を備える。このため、OSの完全性を更に高めることができる。   The OS switching unit includes an integrity verification unit that verifies the integrity of the OS. This can further improve the integrity of the OS.

又、OS切替装置は、ハードウェアアシスト難読化を実施するハードウェアアシスト難読化部を備える。このため、ハードウェアアシスト難読化に、攻撃OSが再生困難なシークレットを利用することにより、安全性を更に高めることができる。   In addition, the OS switching device includes a hardware assist obfuscation unit that performs hardware assist obfuscation. For this reason, the security can be further improved by using a secret that is difficult for the attacking OS to reproduce for hardware-assisted obfuscation.

(その他の実施の形態)
本発明は上記の実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
(Other embodiments)
Although the present invention has been described according to the above-described embodiments, it should not be understood that the descriptions and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.

例えば、図1及び図2において、OSが2つであるOS切替装置について説明したが、OSの数はこれに限らず、3以上のOSを切替える装置に本発明を適用してもよいことは勿論である。   For example, in FIGS. 1 and 2, the OS switching device having two OSs has been described. However, the number of OSs is not limited to this, and the present invention may be applied to devices that switch three or more OSs. Of course.

このように、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。   As described above, the present invention naturally includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.

本実施形態に係るOS切替装置を示す機能ブロック図である(その1)。It is a functional block diagram which shows the OS switching device which concerns on this embodiment (the 1). 本実施形態に係るOS切替装置を示す機能ブロック図である(その2)。It is a functional block diagram which shows the OS switching device which concerns on this embodiment (the 2). 本実施形態に係るOS切替方法を示すフローチャートである(その1)。It is a flowchart which shows the OS switching method which concerns on this embodiment (the 1). 本実施形態に係るOS切替方法を示すフローチャートである(その2)。It is a flowchart which shows the OS switching method which concerns on this embodiment (the 2). 本実施形態に係るOS切替方法を示すフローチャートである(その3)。It is a flowchart which shows the OS switching method which concerns on this embodiment (the 3). 本実施形態に係るOS切替方法を示すフローチャートである(その4)。It is a flowchart which shows the OS switching method which concerns on this embodiment (the 4).

符号の説明Explanation of symbols

100、600…OS切替部
101、601…OS切替処理部
200、300、700、800…OS
201、301、701、801…OS停止部
202、302、702,802…OS起動部
210、710…例外処理部
211、711…シークレット演算部
212、712…シークレット生成部
213、713…鍵生成部
214、714…暗号化・復号部
215、715…完全性検証部
216、716…読取専用記憶部
217、717…障害復旧部
220、720…メモリ管理部
221、721…複製メモリ管理部
222、722…絶対メモリアドレス管理部
230、730…情報保持部
231、731…機密情報保持部
100, 600 ... OS switching unit 101, 601 ... OS switching processing unit 200, 300, 700, 800 ... OS
201, 301, 701, 801 ... OS stop unit 202, 302, 702, 802 ... OS activation unit 210, 710 ... Exception processing unit 211, 711 ... Secret calculation unit 212, 712 ... Secret generation unit 213, 713 ... Key generation unit 214, 714 ... encryption / decryption unit 215, 715 ... integrity verification unit 216, 716 ... read-only storage unit 217, 717 ... failure recovery unit 220, 720 ... memory management unit 221, 721 ... duplicate memory management unit 222, 722 ... Absolute memory address management unit 230, 730 ... Information holding unit 231, 731 ... Confidential information holding unit

Claims (7)

OSを停止するOS停止部と、OSの実行を再開するOS起動部とを含む複数のOS切替えて動作させるOS切替装置であって、
例外処理を実施する例外処理部と、
セキュリティ機能の実現に用いるシークレットを生成するシークレット生成部と、
前記例外処理部内に実装され、前記シークレットの演算を実行するシークレット演算部と
機密情報を格納する機密情報保持部と、
前記機密情報保持部に格納した前記機密情報の暗号化および復号を行う暗号化・復号部と、
前記シークレット演算部において演算された前記シークレットを用いて、前記暗号化・復号部が利用する暗号鍵を生成する鍵生成部と、
前記シークレット生成部において用いる前記シークレットを生成するためのデータを仮想メモリ上の複数の場所にマッピングするメモリ管理部と
を備え、
前記例外処理部は、前記シークレット生成部において前記シークレットを生成する際に、前記例外処理部の例外ハンドラが呼び出されるようにするため、前記メモリ管理部内のエントリを、他のOSに制御が移る際に消去し、
前記シークレットを生成する関数の戻りアドレスは、前記仮想メモリ上に前記関数の戻りアドレスへのエイリアスを前記メモリ管理部内のエントリとして追加したものであり、
前記エイリアスは、前記関数の戻りアドレスと同じ物理メモリを指すように前記仮想メモリと前記物理メモリのマッピングを行ったエントリであることを特徴とするOS切替装置。
An OS switching device for switching and operating a plurality of OSs including an OS stopping unit that stops an OS and an OS starting unit that resumes execution of the OS,
An exception handling unit that performs exception handling;
A secret generator for generating a secret used to realize the security function;
Is mounted on the exception processing section, and secret computing unit for executing operations on the secret,
A confidential information holding unit for storing confidential information;
An encryption / decryption unit that encrypts and decrypts the confidential information stored in the confidential information holding unit;
A key generation unit that generates an encryption key to be used by the encryption / decryption unit using the secret calculated by the secret calculation unit;
A memory management unit for mapping data for generating the secret used in the secret generation unit to a plurality of locations on a virtual memory;
With
The exception processing unit is configured to transfer an entry in the memory management unit to another OS so that the exception handler of the exception processing unit is called when the secret is generated in the secret generation unit. Erase
The return address of the function that generates the secret is obtained by adding an alias to the return address of the function on the virtual memory as an entry in the memory management unit,
The OS switching apparatus , wherein the alias is an entry in which the virtual memory and the physical memory are mapped so as to point to the same physical memory as a return address of the function .
前記データあるいはコードの完全性を検証する完全性検証部を更に備えることを特徴とする請求項に記載のOS切替装置。 OS switching device according to claim 1, characterized in that the integrity of further comprising a verification unit for verifying the integrity of the data or code. 前記データおよびコードを保存する読取専用記憶部を更に備えることを特徴とする請求項に記載のOS切替装置。 The OS switching device according to claim 1 , further comprising a read-only storage unit that stores the data and code. 改竄を検出し、正規の状態に復旧する障害復旧部を更に備えることを特徴とする請求項に記載のOS切替装置。 The OS switching device according to claim 3 , further comprising a failure recovery unit that detects falsification and recovers to a normal state. 記OSの完全性を検証する完全性検証部を更に備えることを特徴とする請求項に記載のOS切替装置。 OS switching device according to claim 4, characterized in that it comprises the integrity verification unit for verifying the integrity of the previous SL OS further. 前記シークレット演算部において演算されたシークレットを用いて、ハードウェアアシスト難読化を実施するハードウェアアシスト難読化部を更に備えることを特徴とする請求項1〜のいずれか1項に記載のOS切替装置。 The OS switching according to any one of claims 1 to 5 , further comprising a hardware-assisted obfuscation unit that performs hardware-assisted obfuscation using the secret calculated by the secret calculation unit. apparatus. 複数のOSと、該複数のOSを切替えて動作させ1のOSから他のOSへ制御を切替えるOS切替方法であって、
セキュリティ機能の実現に用いるシークレットを生成するステップと、
前記シークレットの演算を実行するステップと、
格納した機密情報の暗号化および復号を行うステップと、
演算された前記シークレットを用いて、前記暗号化および復号を行うステップにおいて利用される暗号鍵を生成するステップと、
メモリ管理部を用いて、前記シークレットを生成するためのデータを仮想メモリ上の複数の場所にマッピングするステップと
を含み、
前記シークレットを生成するステップでは、前記シークレットを生成する際に、前記例外処理部の例外ハンドラが呼び出されるようにするため、前記メモリ管理部内のエントリを、他のOSに制御が移る際に消去し、
前記シークレットを生成する関数の戻りアドレスは、前記仮想メモリ上に前記関数の戻りアドレスへのエイリアスを前記メモリ管理部内のエントリとして追加したものであり、
前記エイリアスは、前記関数の戻りアドレスと同じ物理メモリを指すように前記仮想メモリと前記物理メモリのマッピングを行ったエントリであることを特徴とするOS切替方法。
A plurality of OS, is operated by switching an OS in the plurality of, an OS switching method for switching the control from one OS to another OS,
Generating a secret used to realize the security function ;
And performing an operation to the secret,
Encrypting and decrypting stored confidential information;
Generating an encryption key used in the step of performing the encryption and decryption using the calculated secret;
Mapping data for generating the secret to a plurality of locations on the virtual memory using a memory management unit;
Including
In the step of generating a secret, an entry in the memory management unit is deleted when control is transferred to another OS so that an exception handler of the exception processing unit is called when the secret is generated. ,
The return address of the function that generates the secret is obtained by adding an alias to the return address of the function on the virtual memory as an entry in the memory management unit,
The OS switching method , wherein the alias is an entry in which the virtual memory and the physical memory are mapped so as to point to the same physical memory as the return address of the function .
JP2006222233A 2006-08-17 2006-08-17 OS switching device and OS switching method Expired - Fee Related JP4767129B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006222233A JP4767129B2 (en) 2006-08-17 2006-08-17 OS switching device and OS switching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006222233A JP4767129B2 (en) 2006-08-17 2006-08-17 OS switching device and OS switching method

Publications (2)

Publication Number Publication Date
JP2008046887A JP2008046887A (en) 2008-02-28
JP4767129B2 true JP4767129B2 (en) 2011-09-07

Family

ID=39180574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006222233A Expired - Fee Related JP4767129B2 (en) 2006-08-17 2006-08-17 OS switching device and OS switching method

Country Status (1)

Country Link
JP (1) JP4767129B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484452B2 (en) 2008-03-14 2013-07-09 Mitsubishi Electric Corporation Multi-operating system (OS) booting apparatus, multi-OS booting program, recording medium, and multi-OS booting method
WO2013125160A1 (en) 2012-02-22 2013-08-29 パナソニック株式会社 Virtual computer control device and virtual computer control method
GB2508895A (en) * 2012-12-14 2014-06-18 Ibm Bootloader for booting a computer into a second operating system that is hidden from a first host operating system
JP6466476B2 (en) * 2014-03-19 2019-02-06 インテル コーポレイション Access isolation for multi-operating system devices
US10032029B2 (en) * 2014-07-14 2018-07-24 Lenovo (Singapore) Pte. Ltd. Verifying integrity of backup file in a multiple operating system environment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4098478B2 (en) * 2001-01-31 2008-06-11 株式会社東芝 Microprocessor
JP2003051819A (en) * 2001-08-08 2003-02-21 Toshiba Corp Microprocessor
US6996698B2 (en) * 2003-05-12 2006-02-07 International Business Machines Corporation Blocking processing restrictions based on addresses
JP4629416B2 (en) * 2003-11-28 2011-02-09 パナソニック株式会社 Data processing device

Also Published As

Publication number Publication date
JP2008046887A (en) 2008-02-28

Similar Documents

Publication Publication Date Title
Kwong et al. Rambleed: Reading bits in memory without accessing them
CN111052115B (en) Data processing apparatus and method of authentication depending on call path
KR101054318B1 (en) Computer-readable media recording information processing systems and programs
JP5537742B2 (en) Method and apparatus including architecture for protecting multi-user sensitive code and data
US9672384B2 (en) Secure processor and a program for a secure processor
US11003781B2 (en) Root key processing method and associated device
JP3881942B2 (en) Semiconductor device having encryption unit
US20040003273A1 (en) Sleep protection
CN107526974B (en) Information password protection device and method
WO2008145602A1 (en) Updateable secure kernel extensions
CN102150391A (en) System and method for providing secure access to system memory
JP4767129B2 (en) OS switching device and OS switching method
JP2020528608A5 (en)
US20170046280A1 (en) Data processing device and method for protecting a data processing device against attacks
JP2021519564A (en) Secure computer system
JP2007310688A (en) Microcomputer and software tampering prevention method thereof
EP2028579B1 (en) Information processing apparatus and method for installing an encrypted program in a key implemented system
CN107563226B (en) Memory controller, processor module and key updating method
Gelbart et al. CODESSEAL: Compiler/FPGA approach to secure applications
JP7077872B2 (en) Information processing equipment, information processing methods, and programs
JP4120702B2 (en) Information processing system and program
CN113536331B (en) Data security for memory and computing systems
US20240176638A1 (en) Register protection for confidential computing environment
JP2018526720A (en) Protecting virtual machine state information
Li Understanding and Exploiting Design Flaws of AMD Secure Encrypted Virtualization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110607

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110614

R150 Certificate of patent or registration of utility model

Ref document number: 4767129

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees