JP2014170255A - Secure boot method - Google Patents
Secure boot method Download PDFInfo
- Publication number
- JP2014170255A JP2014170255A JP2011143910A JP2011143910A JP2014170255A JP 2014170255 A JP2014170255 A JP 2014170255A JP 2011143910 A JP2011143910 A JP 2011143910A JP 2011143910 A JP2011143910 A JP 2011143910A JP 2014170255 A JP2014170255 A JP 2014170255A
- Authority
- JP
- Japan
- Prior art keywords
- code
- ram
- initialization
- virtual machine
- initialization code
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、セキュアブートを実現するための方法およびシステムに関するものである。 The present invention relates to a method and system for realizing secure boot.
従来のセキュアブートとしては、システムをブートする前に初期化コードと仮想計算機コードを認証する方法があった(例えば、特許文献1参照)。図10と図11は、前記特許文献1に記載された従来のセキュアブートを実現するための方法を示すものである。
図10において、CPU1001は、ROM1002に記憶されたブートコード1005を実行する。ブートコード1005は、記憶装置1004に記憶された初期化コード1006の認証を行う。初期化コード1006の認証が失敗した場合は、ブートの停止を行う。初期化コード1006の認証が成功した場合は、初期化コード1006をRAM1003にロードして、ブートコード1005からRAM1003にロードされた初期化コード1006にジャンプし、初期化コード1006を実行する。次に、初期化コード1006は仮想計算機コード1012の認証を行う。仮想計算機コード1012の認証が失敗した場合は、ブートの停止を行う。仮想計算機コード1012の認証が成功した場合は、仮想計算機コード1012をRAM1003にロードして、RAM1003にロードされた仮想計算機コード1012にジャンプし、仮想計算機コード1012を実行する。
As a conventional secure boot, there is a method of authenticating an initialization code and a virtual machine code before booting the system (see, for example, Patent Document 1). 10 and 11 show a method for realizing the conventional secure boot described in Patent Document 1. FIG.
In FIG. 10, the
図11は、セキュアブートを実行することによって立ち上がったシステムのソフトウェア構成を示す図である。ハードウェア2005は、図10のCPU1001、ROM1002、RAM1003および記憶装置1004を含む。仮想計算機コード2006は、図10の仮想計算機コード1012と同一であり、ハイパーバイザとも呼ばれ、複数の異なるOSを並列に実行できるようにするプログラムである。OS2003は、Linuxなどの一般的なOSであり、OS2003の管理下でアプリ2001を実行する。また、秘匿性と完全性が確保されたセキュアモードにおいて、セキュアOS2004の管理下でセキュアアプリ2002を実行することが出来る。セキュアモードにおいて実行すべきプログラムとしては、DRM(Digital Rights Management)ソフトウェアなどがある。
FIG. 11 is a diagram illustrating a software configuration of a system that has been started up by executing secure boot. The
しかしながら、従来の構成では、初期化コード1006または仮想計算機コード1012が悪意のあるハッカーなどによって改竄されることにより、セキュアブートの信頼性低下が懸念される。例えば、記憶装置1004に記憶された初期化コード1006または仮想計算機コード1012の認証が成功したとしても、RAM1003にロードする前に、記憶装置1004に記憶された初期化コード1006または仮想計算機コード1012を改竄されることが懸念される。また、RAM1003にロードした初期化コード1006または仮想計算機コード1012が改竄されることも懸念される。
However, in the conventional configuration, the
本発明は、従来の課題を解決するもので、強固なセキュアブートを実現するための方法およびシステムを提供することを目的とする。 The present invention solves the conventional problems, and an object thereof is to provide a method and a system for realizing a strong secure boot.
上記課題を解決するための、請求項1に記載の発明は、ROMのブートコードを実行するステップと、初期化コードを検証するステップと、初期化コードをRAMにロードするステップと、前記初期化コードにジャンプして実行するステップとを有することを特徴とする方法である。
請求項2に記載の発明は、請求項1に記載の方法であって、前記初期化コードにジャンプして実行するステップより後に、前記RAMのセキュア領域を設定するステップと、仮想計算機制御コードを検証するステップと、前記仮想計算機制御コードを前記RAMのセキュア領域にロードするステップと、前記仮想計算機制御コードにジャンプして実行するステップとを有することを特徴とする方法である。
In order to solve the above-mentioned problem, the invention according to claim 1 includes a step of executing a boot code of the ROM, a step of verifying the initialization code, a step of loading the initialization code into the RAM, and the initialization And jumping to code to execute.
The invention according to claim 2 is the method according to claim 1, wherein after the step of jumping to the initialization code and executing, the step of setting a secure area of the RAM, and the virtual machine control code A method comprising: verifying; loading the virtual machine control code into a secure area of the RAM; and jumping to the virtual machine control code and executing the virtual machine control code.
請求項3に記載の発明は、ROMのブートコードを実行するステップと、RAMのセキュア領域を設定するステップと、初期化コードを検証するステップと、初期化コードを前記RAMのセキュア領域にロードするステップと、前記初期化コードにジャンプして実行するステップとを有することを特徴とする方法である。
請求項4に記載の発明は、前記初期化コードにジャンプして実行するステップより後に、前記RAMとは異なるRAMのセキュア領域を設定するステップと、仮想計算機制御コードを検証するステップと、前記仮想計算機制御コードを前記RAMとは異なるRAMのセキュア領域にロードするステップと、前記仮想計算機制御コードにジャンプして実行するステップとを有することを特徴とする方法である。
According to a third aspect of the present invention, the step of executing the ROM boot code, the step of setting the secure area of the RAM, the step of verifying the initialization code, and loading the initialization code into the secure area of the RAM And a step of jumping to the initialization code and executing the method.
According to a fourth aspect of the present invention, after the step of jumping to the initialization code and executing, a step of setting a secure area in a RAM different from the RAM, a step of verifying a virtual machine control code, and the virtual A method comprising: loading a computer control code into a secure area of a RAM different from the RAM; and jumping to the virtual computer control code and executing the computer control code.
請求項5に記載の発明は、請求項3に記載の方法であって、前記初期化コードにジャンプして実行するステップより後に、仮想計算機制御コードを検証するステップと、前記仮想計算機制御コードを前記RAMのセキュア領域にロードするステップと、前記仮想計算機制御コードにジャンプして実行するステップとを有することを特徴とする方法である。
請求項6に記載の発明は、前記初期化コードは暗号化されており、前記初期化コードにジャンプして実行するステップより前に、前記初期化コードを復号するステップを有することを特徴とする方法である。
The invention according to claim 5 is the method according to claim 3, wherein after the step of jumping to the initialization code and executing the virtual computer control code, the virtual computer control code is verified. The method includes a step of loading into a secure area of the RAM, and a step of jumping to the virtual machine control code and executing the code.
The invention according to claim 6 is characterized in that the initialization code is encrypted, and has a step of decrypting the initialization code before the step of jumping to the initialization code and executing it. Is the method.
請求項7に記載の発明は、前記仮想計算機制御コードは暗号化されており、前記仮想計算機制御コードにジャンプして実行するステップより前に、前記仮想計算機制御コードを復号するステップを有することを特徴とする方法である。
請求項8に記載の発明は、ROMのブートコードを実行するステップと、初期化コードを検証するステップと、初期化コードをRAMにロードするステップと、前記初期化コードにジャンプして実行するステップとを有することを特徴とするプログラムである。
The invention according to claim 7 includes the step of decrypting the virtual machine control code before the step of jumping to the virtual machine control code and executing the virtual machine control code, wherein the virtual machine control code is encrypted. It is a characteristic method.
The invention according to claim 8 includes a step of executing a boot code of the ROM, a step of verifying the initialization code, a step of loading the initialization code into the RAM, and a step of jumping to the initialization code and executing it The program characterized by having.
請求項9に記載の発明は、ROMのブートコードを実行するステップと、初期化コードを検証するステップと、初期化コードをRAMにロードするステップと、前記初期化コードにジャンプして実行するステップとを有することを特徴とする集積回路である。
請求項10に記載の発明は、ROMのブートコードを実行するステップと、初期化コードを検証するステップと、初期化コードをRAMにロードするステップと、前記初期化コードにジャンプして実行するステップとを有することを特徴とするシステムである。
The invention according to claim 9 includes a step of executing a boot code of the ROM, a step of verifying the initialization code, a step of loading the initialization code into the RAM, and a step of jumping to the initialization code and executing it And an integrated circuit.
The invention according to claim 10 includes a step of executing a boot code of the ROM, a step of verifying the initialization code, a step of loading the initialization code into the RAM, and a step of jumping to the initialization code and executing it It is a system characterized by having.
本発明によれば、仮想計算機コード1012を仮想計算機ハード1008と仮想計算機制御コード1009で実現し、あらかじめ初期化コード1006または仮想計算機制御コード1009を暗号化して記憶装置1004に保存しておく。また、セキュアブートのシーケンスにおいて、RAM1003のセキュア領域を設定し、初期化コード1006または仮想計算機制御コード1009を復号してRAM1003のセキュア領域にロードすることによって、悪意のあるハッカーなどによる意図した改竄が困難になる効果がある。
According to the present invention, the
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1におけるセキュアブートのブロック図であり、1001はCPU、1002はROM(Read Only Memory)、1003はRAM(Random Access Memory)、1004はハードディスクやフラッシュなどの記憶装置、1005はROM1002に記憶したブートコード、1006は記憶装置1004に記憶した初期化コード1006である。ブートコード1005は、システムがブートした際に最初に実行するソフトウェアである。初期化コード1006は、ブートコード1005から呼び出されるソフトウェアであり、ハードウェアの初期化などを実行するソフトウェアである。
Embodiments of the present invention will be described below with reference to the drawings.
(Embodiment 1)
FIG. 1 is a block diagram of secure boot according to the first embodiment of the present invention, in which 1001 is a CPU, 1002 is a ROM (Read Only Memory), 1003 is a RAM (Random Access Memory), and 1004 is a storage such as a hard disk or a flash memory. 1005 is a boot code stored in the
図6は、本発明の実施の形態1におけるセキュアブートの処理の流れを示すフローチャートである。システムがブートした際に、ステップS1001でROM1002のブートコード1005を実行する。ステップS1002でブートコード1005が記憶装置1004の暗号化された初期化コード1006を検証する。暗号の具体例として、AESアルゴリズムを用いる方法がある。また、検証の具体例として、例えばブートコード1005が暗号化された初期化コード1006のハッシュ値を計算し、あらかじめブートコード1005が保持しておいた期待ハッシュ値と比較し、ハッシュ値が同一であれば認証が成功したとみなす方法がある。ステップS1003で、暗号化された初期化コード1006が正しくない場合はステップS1008でブートを停止する。ステップS1003で、暗号化された初期化コード1006が正しい場合は、ステップS1004で暗号化された初期化コード1006を復号する。復号の具体例として、ブートコード1005の一部にAESプログラムと鍵を保持しておき、実行する方法がある。ステップS1005で、ブートコード1005が初期化コード1006をRAM1003にロードし、ステップS1006でブートコード1005がRAM1003の初期化コード1006にジャンプする。ステップS1007で初期化コード1006を実行し、ハードウェアの初期化などを行う。
FIG. 6 is a flowchart showing a flow of secure boot processing according to Embodiment 1 of the present invention. When the system boots, the
かかる構成によれば、あらかじめ初期化コード1006を暗号化して記憶装置1004に保存しておくことによって、悪意のあるハッカーなどによる意図した改竄が困難になる効果がある。記憶装置1004上の初期化コード1006は暗号化による秘匿性が確保される。なお、システムは必ずROM1002上のブートコード1005から起動するため、ブートコード1005の完全性が担保され、悪意のあるハッカーなどによる意図した改竄が困難になる効果がある。
According to such a configuration, by encrypting the
なお、本実施の形態において、検証方法としてハッシュを利用したが、例えばデジタル署名などコードの完全性を検証する方法であれば何でもよい。また、暗号化された初期化コード1006を検証しているが、初期化コード1006を復号してから検証してもよい。また、初期化コード1006が正しくない場合はステップS1008でブートを停止するが、ブートを停止しなくてもよいし、再ブートしてもよいし、初期化コード1006が正しくないことを示すフラグをレジスタに設定しておき、システムがブート後にレジスタを参照してからシステムを停止してもよい。また、暗号の具体例として、AESアルゴリズムを利用したが、秘匿性を向上させる方法であれば何でもよい。
In this embodiment, a hash is used as a verification method. However, any method may be used as long as it verifies the integrity of a code such as a digital signature. Further, although the
(実施の形態2)
図2は、本発明の実施の形態2におけるセキュアブートのブロック図である。図2において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
1007はハッシュ検証や暗復号処理を行う暗号エンジン、1008はハイパーバイザとも呼ばれ、複数の異なるOSを並列に実行できるようにするハードウェアである仮想計算機ハード、1009は仮想計算機ハード1008を制御するためのソフトウェアである仮想計算機制御コードである。
(Embodiment 2)
FIG. 2 is a block diagram of secure boot in the second embodiment of the present invention. In FIG. 2, the same components as those in FIG.
1007 is a cryptographic engine that performs hash verification and encryption / decryption processing, 1008 is also called a hypervisor, and is a virtual computer hardware that is hardware that enables a plurality of different OSs to be executed in parallel, and 1009 controls the
図9は、本発明の実施の形態2におけるセキュアブートを実行することによって立ち上がったシステムのソフトウェア構成を示す図である。図9において、図11と同じ構成要素については同じ符号を用い、説明を省略する。ハードウェア2005は、図2のCPU1001、ROM1002、RAM1003、記憶装置1004および暗号エンジン1007を含む。仮想計算機ハード2006は、図2の仮想計算機ハード1008に相当する。
FIG. 9 is a diagram showing a software configuration of a system that is started up by executing a secure boot in the second embodiment of the present invention. 9, the same components as those in FIG. 11 are denoted by the same reference numerals, and description thereof is omitted. The
図7は、本発明の実施の形態2におけるセキュアブートの処理の流れを示すフローチャートである。システムがブートした際に、ステップS2001でROM1002のブートコード1005を実行する。ステップS2002でブートコード1005が暗号エンジン1007を使って記憶装置1004の初期化コード1006を検証する。暗号エンジン1007は、例えば初期化コード1006に対する期待ハッシュ値を保持しており、初期化コード1006のハッシュ値を生成して比較することにより検証する。ステップS2003で、初期化コード1006が正しくない場合はステップS2013でブートを停止する。ステップS2003で、初期化コード1006が正しい場合は、ステップS2004でブートコード1005が初期化コード1006をRAM1003にロードする。ステップS2005でブートコード1005がRAM1003の初期化コード1006にジャンプする。ステップS2006で初期化コード1006を実行する。ステップS2007で初期化コード1006がRAM1003のセキュア領域を設定する。RAM1003には、特定のCPU、デバイス、OS、アプリが特定のアドレスにアクセス可能なように、RAMアクセス制限機能が付いており、例えばセキュアモードのセキュアアプリ2002とセキュアOS2004のみがアクセス可能なセキュア領域を設定することが出来る。具体的な設定方法として、例えばRAMアクセス制限機能が持つセキュア領域を設定可能な専用レジスタに、セキュア領域の先頭アドレスと末尾アドレスを設定する方法がある。ステップS2008で初期化コード1006が暗号エンジン1007を使って記憶装置1004の仮想計算機制御コード1009を検証する。ステップS2009で、仮想計算機制御コード1009が正しくない場合はステップS2013でブートを停止する。ステップS2009で、仮想計算機制御コード1009が正しい場合は、ステップS2010で、初期化コード1006が仮想計算機制御コード1009をRAM1003のセキュア領域にロードし、ステップS2011で初期化コード1006がRAM1003のセキュア領域の仮想計算機制御コード1009にジャンプする。ステップS2012で仮想計算機制御コード1009を実行し、仮想計算機ハード1008を動かす。
FIG. 7 is a flowchart showing a flow of secure boot processing according to Embodiment 2 of the present invention. When the system boots, the
かかる構成によれば、RAM1003のセキュア領域の設定し、仮想計算機制御コード1009をRAM1003のセキュア領域にロードすることによって、悪意のあるハッカーなどによる意図した改竄が困難になる効果がある。RAM1003上の仮想計算機制御コード1009は、セキュアモードのセキュアアプリ2002として動作し、秘匿性と完全性が確保される。
According to such a configuration, setting a secure area of the
なお、本実施の形態において、記憶装置1004上の初期化コード1006、仮想計算機制御コード1009は暗号化してもよく、その場合は実施の形態1と同様の復号処理が行われる。また、暗号エンジン1007でハッシュ検証や暗号処理を行ったが、ブートコード1005や初期化コード1006がソフトウェアで保持して実行してもよい。また、暗号エンジン1007が期待ハッシュ値を保持しているが、記憶装置1004に記憶してもよい。その場合、期待ハッシュ値を暗号化または署名付与してもよい。また、RAM1003はRAMアクセス制限機能が付いているとしたが、RAMアクセス制限機能をRAM1003とは独立させて、別の構成としてもよい。また、先頭アドレスと末尾アドレスでセキュア領域を設定しているが、先頭アドレスとサイズなど領域を設定できるパラメータであれば何でもよい。また、RAM1003のセキュア領域の設定は、仮想計算機制御コード1009をロードする前であれば、いつ行ってもよい。
In this embodiment, the
(実施の形態3)
図3は、本発明の実施の形態3におけるセキュアブートのブロック図である。図3において、図2と同じ構成要素については同じ符号を用い、説明を省略する。
1010は、CPU1001とは別のCPUである。1011は、RAM1003とは別のRAMである。
(Embodiment 3)
FIG. 3 is a block diagram of secure boot in the third embodiment of the present invention. 3, the same components as those in FIG. 2 are denoted by the same reference numerals, and description thereof is omitted.
図8は、本発明の実施の形態3におけるセキュアブートの処理の流れを示すフローチャートである。
システムがブートした際に、CPU1001がステップS3001でROM1002のブートコード1005を実行する。ステップS3002でブートコード1005がRAM1003のセキュア領域を設定する。ステップS3003でブートコード1005が暗号エンジン1007を使って記憶装置1004の暗号化された初期化コード1006を検証する。ステップS3004で、初期化コード1006が正しくない場合はステップS3016でブートを停止する。ステップS3004で、初期化コード1006が正しい場合は、ステップS3005でブートコード1005が暗号エンジン1007を使って初期化コード1006を復号する。ステップS3006で、ブートコード1005が初期化コード1006をRAM1003のセキュア領域にロードし、ステップS3007でブートコード1005がRAM1003のセキュア領域の初期化コード1006にジャンプする。ステップS3008で初期化コード1006を実行し、ステップS3009で初期化コード1006がRAM(別)1011のセキュア領域を設定する。ステップS3010で初期化コード1006が暗号エンジン1007を使って記憶装置1004の仮想計算機制御コード1009を検証する。ステップS3011で、仮想計算機制御コード1009が正しくない場合はステップS3016でブートを停止する。ステップS3011で、仮想計算機制御コード1009が正しい場合は、ステップS3012で、CPU1001がCPU(別)1010に制御を移し、ステップS3013で、初期化コード1006が仮想計算機制御コード1009をRAM(別)1011のセキュア領域にロードし、ステップS3014で初期化コード1006がRAM(別)1011のセキュア領域の仮想計算機制御コード1009にジャンプする。ステップS3015で仮想計算機制御コード1009を実行し、仮想計算機ハード1008を動かす。
FIG. 8 is a flowchart showing a flow of secure boot processing according to Embodiment 3 of the present invention.
When the system boots, the
かかる構成によれば、あらかじめ初期化コード1006または仮想計算機制御コード1009を暗号化して記憶装置1004に保存しておく。また、RAM1003またはRAM(別)1011のセキュア領域を設定し、初期化コード1006または仮想計算機制御コード1009を復号してRAM1003またはRAM(別)1011のセキュア領域にロードすることによって、悪意のあるハッカーなどによる意図した改竄が困難になる効果がある。
According to this configuration, the
なお、本実施の形態において、図4に示す通り、RAM1003に対して初期化コード1006をロードし、RAM(別)1011に対して仮想計算機制御コード1009をロードしているが、図5に示す通り、RAM1003に対して初期化コード1006と仮想計算機制御コード1009をロードしてもよい。また、ステップS3012で、CPU1001がCPU(別)1010に制御を移したが、制御を移すタイミングはいつ行ってもよく、制御を移さずに1つのCPUで処理を行ってもよい。また、CPU(別)1010の起動タイミングは、CPU1001がCPU(別)1010に制御を移す前であればいつでもよい。また、CPU(別)1010は1つとしたが、複数あってもよい。また、CPU1001とCPU(別)1010は同一製品でも、異なった製品でもよい。また、RAM1003とRAM(別)1011は同一製品でも、異なった製品でもよい。また、初期化コード1006をロードする前であれば、RAM1003のセキュア領域の設定はいつでもよい。また、仮想計算機制御コード1009をロードする前であれば、RAM
(別)1011のセキュア領域の設定はいつでもよい。
In this embodiment, as shown in FIG. 4, the
(Another) 1011 may be set at any time in the secure area.
本発明は、秘匿性と完全性が確保された強固なセキュアブートを実現するための方法およびシステムを提供できる点が有用である。
本発明が適応可能な機器の例として、パーソナルコンピュータ、テレビ、ビデオデッキ、ハードディスクレコーダー、携帯電話、カーナビゲーションシステム、固定電話、コピー機、タッチパネルつきモバイル端末、ゲーム機などが挙げられる。
The present invention is useful in that it can provide a method and a system for realizing a strong secure boot in which secrecy and integrity are ensured.
Examples of devices to which the present invention can be applied include personal computers, televisions, video decks, hard disk recorders, mobile phones, car navigation systems, landline phones, copy machines, mobile terminals with touch panels, and game machines.
1001 CPU
1002 ROM
1003 RAM
1004 記憶装置
1005 ブートコード
1006 初期化コード
1007 暗号エンジン
1008 仮想計算機ハード
1009 仮想計算機制御コード
1010 CPU(別)
1011 RAM(別)
1012 仮想計算機コード
1001 CPU
1002 ROM
1003 RAM
1004
1011 RAM (separate)
1012 Virtual computer code
Claims (10)
初期化コードを検証するステップと、
初期化コードをRAMにロードするステップと、
前記初期化コードにジャンプして実行するステップと
を有することを特徴とする方法。 Executing the ROM boot code;
Verifying the initialization code;
Loading initialization code into RAM;
Jumping to and executing the initialization code.
前記初期化コードにジャンプして実行するステップより後に、
前記RAMのセキュア領域を設定するステップと、
仮想計算機コードを検証するステップと、
前記仮想計算機コードを前記RAMのセキュア領域にロードするステップと、
前記仮想計算機コードにジャンプして実行するステップと、
を有することを特徴とする方法。 The method of claim 1, comprising:
After the step of jumping to the initialization code and executing it,
Setting a secure area of the RAM;
Verifying the virtual machine code;
Loading the virtual machine code into a secure area of the RAM;
Jumping to and executing the virtual machine code;
A method characterized by comprising:
RAMのセキュア領域を設定するステップと、
初期化コードを検証するステップと、
初期化コードを前記RAMのセキュア領域にロードするステップと、
前記初期化コードにジャンプして実行するステップと
を有することを特徴とする方法。 Executing the ROM boot code;
Setting a secure area in RAM;
Verifying the initialization code;
Loading initialization code into a secure area of the RAM;
Jumping to and executing the initialization code.
前記初期化コードにジャンプして実行するステップより後に、
前記RAMとは異なるRAMのセキュア領域を設定するステップと、
仮想計算機コードを検証するステップと、
前記仮想計算機コードを前記RAMとは異なるRAMのセキュア領域にロードするステップと、
前記仮想計算機コードにジャンプして実行するステップと、
を有することを特徴とする方法。 The method of claim 3, comprising:
After the step of jumping to the initialization code and executing it,
Setting a secure area in a RAM different from the RAM;
Verifying the virtual machine code;
Loading the virtual machine code into a secure area in a RAM different from the RAM;
Jumping to and executing the virtual machine code;
A method characterized by comprising:
前記初期化コードにジャンプして実行するステップより後に、
仮想計算機コードを検証するステップと、
前記仮想計算機コードを前記RAMのセキュア領域にロードするステップと、
前記仮想計算機コードにジャンプして実行するステップと、
を有することを特徴とする方法。 The method of claim 3, comprising:
After the step of jumping to the initialization code and executing it,
Verifying the virtual machine code;
Loading the virtual machine code into a secure area of the RAM;
Jumping to and executing the virtual machine code;
A method characterized by comprising:
前記初期化コードは暗号化されており、
前記初期化コードにジャンプして実行するステップより前に、
前記初期化コードを復号するステップを有することを特徴とする方法。 A method according to claims 1 to 5, comprising
The initialization code is encrypted;
Before jumping to the initialization code and executing it,
A method comprising the step of decoding the initialization code.
前記仮想計算機コードは暗号化されており、
前記仮想計算機コードにジャンプして実行するステップより前に、
前記仮想計算機コードを復号するステップを有することを特徴とする方法。 A method according to claims 1 to 6, comprising
The virtual machine code is encrypted,
Before the step of jumping to the virtual machine code and executing it,
A method comprising the step of decrypting the virtual machine code.
初期化コードを検証するステップと、
初期化コードをRAMにロードするステップと、
前記初期化コードにジャンプして実行するステップと
をコンピュータに実行させるためのプログラム。 Executing the ROM boot code;
Verifying the initialization code;
Loading initialization code into RAM;
A program for causing a computer to execute the step of jumping to the initialization code and executing the code.
初期化コードを検証する手段と、
初期化コードをRAMにロードする手段と、
前記初期化コードにジャンプして実行する手段と
を有することを特徴とする集積回路。 Means for executing ROM boot code;
Means for verifying the initialization code;
Means for loading initialization code into RAM;
Means for jumping to the initialization code and executing the integrated code.
初期化コードを検証する手段と、
初期化コードをRAMにロードする手段と、
前記初期化コードにジャンプして実行する手段と
を有することを特徴とするシステム。 Means for executing ROM boot code;
Means for verifying the initialization code;
Means for loading initialization code into RAM;
Means for jumping to and executing the initialization code.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011143910A JP2014170255A (en) | 2011-06-29 | 2011-06-29 | Secure boot method |
PCT/JP2012/003659 WO2013001721A1 (en) | 2011-06-29 | 2012-06-04 | Computer control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011143910A JP2014170255A (en) | 2011-06-29 | 2011-06-29 | Secure boot method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014170255A true JP2014170255A (en) | 2014-09-18 |
Family
ID=47423653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011143910A Withdrawn JP2014170255A (en) | 2011-06-29 | 2011-06-29 | Secure boot method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2014170255A (en) |
WO (1) | WO2013001721A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101745821B1 (en) * | 2016-03-23 | 2017-06-09 | 네이버 주식회사 | Method and system for secure booting |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6024821B2 (en) * | 2013-03-18 | 2016-11-16 | 富士通株式会社 | Terminal device, activation control method, and program |
JP5911835B2 (en) * | 2013-09-17 | 2016-04-27 | 株式会社東芝 | Information processing device |
US10936722B2 (en) * | 2018-04-18 | 2021-03-02 | Nuvoton Technology Corporation | Binding of TPM and root device |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3293760B2 (en) * | 1997-05-27 | 2002-06-17 | 株式会社エヌイーシー情報システムズ | Computer system with tamper detection function |
US6185678B1 (en) * | 1997-10-02 | 2001-02-06 | Trustees Of The University Of Pennsylvania | Secure and reliable bootstrap architecture |
FI114416B (en) * | 2001-06-15 | 2004-10-15 | Nokia Corp | Method for securing the electronic device, the backup system and the electronic device |
US6907522B2 (en) * | 2002-06-07 | 2005-06-14 | Microsoft Corporation | Use of hashing in a secure boot loader |
JP4501349B2 (en) * | 2003-03-13 | 2010-07-14 | ソニー株式会社 | System module execution device |
US7281103B2 (en) * | 2003-10-01 | 2007-10-09 | Kabushiki Kaisha Toshiba | Microcomputer with a security function for accessing a program storage memory |
JP2007310601A (en) * | 2006-05-18 | 2007-11-29 | Renesas Technology Corp | Microcomputer and method for protecting its software |
US20080126779A1 (en) * | 2006-09-19 | 2008-05-29 | Ned Smith | Methods and apparatus to perform secure boot |
US8510859B2 (en) * | 2006-09-26 | 2013-08-13 | Intel Corporation | Methods and arrangements to launch trusted, co-existing environments |
US8042190B2 (en) * | 2007-12-31 | 2011-10-18 | Intel Corporation | Pre-boot protected memory channel |
US8321931B2 (en) * | 2008-03-31 | 2012-11-27 | Intel Corporation | Method and apparatus for sequential hypervisor invocation |
-
2011
- 2011-06-29 JP JP2011143910A patent/JP2014170255A/en not_active Withdrawn
-
2012
- 2012-06-04 WO PCT/JP2012/003659 patent/WO2013001721A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101745821B1 (en) * | 2016-03-23 | 2017-06-09 | 네이버 주식회사 | Method and system for secure booting |
Also Published As
Publication number | Publication date |
---|---|
WO2013001721A1 (en) | 2013-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100792287B1 (en) | Method for security and the security apparatus thereof | |
USRE47364E1 (en) | Method and system for protecting against the execution of unauthorized software | |
EP2207121B1 (en) | Protecting content on virtualized client platforms | |
JP5670578B2 (en) | Method and apparatus including architecture for protecting sensitive code and data | |
US8214630B2 (en) | Method and apparatus for controlling enablement of JTAG interface | |
US10318765B2 (en) | Protecting critical data structures in an embedded hypervisor system | |
US8266707B2 (en) | Tamper resistant method, apparatus and system for secure portability of digital rights management-protected content | |
US20110044451A1 (en) | Information processing apparatus and falsification verification method | |
TW201319863A (en) | Method and system for preventing execution of malware | |
US20100241855A1 (en) | Systems and Methods for Secure Execution of Code Using a Hardware Protection Module | |
JP2014048725A (en) | Information processing device | |
JP4537940B2 (en) | Information processing apparatus and program execution control method | |
JP2014170255A (en) | Secure boot method | |
JP4754299B2 (en) | Information processing device | |
Noubir et al. | Trusted code execution on untrusted platforms using Intel SGX | |
US10771249B2 (en) | Apparatus and method for providing secure execution environment for mobile cloud | |
US9740837B2 (en) | Apparatus and method for preventing cloning of code | |
TWI675340B (en) | Application or driver verification method | |
CN111611551A (en) | Dynamic link library protection method and system based on state cryptographic algorithm | |
CN110210189A (en) | Software verification method, software and hardware binding method and its programming device | |
Miyanaga et al. | Accelerating Integrity Verification on Secure Processors by Promissory Hash | |
JP5355351B2 (en) | Computer | |
CN115033854A (en) | Data processing method and device, electronic equipment and storage medium | |
Liu et al. | A Lightweight Container Security Framework Adapted to the Power Cloud Platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20141007 |