JP5469254B2 - プロセッサスワップ無しという条件を検出するメカニズムおよびブート中の高速バスキャリブレーションの修正変更 - Google Patents

プロセッサスワップ無しという条件を検出するメカニズムおよびブート中の高速バスキャリブレーションの修正変更 Download PDF

Info

Publication number
JP5469254B2
JP5469254B2 JP2012542020A JP2012542020A JP5469254B2 JP 5469254 B2 JP5469254 B2 JP 5469254B2 JP 2012542020 A JP2012542020 A JP 2012542020A JP 2012542020 A JP2012542020 A JP 2012542020A JP 5469254 B2 JP5469254 B2 JP 5469254B2
Authority
JP
Japan
Prior art keywords
identifier
previous
bootup
processor
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.)
Active
Application number
JP2012542020A
Other languages
English (en)
Other versions
JP2013512526A (ja
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2013512526A publication Critical patent/JP2013512526A/ja
Application granted granted Critical
Publication of JP5469254B2 publication Critical patent/JP5469254B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

本発明の実施形態は、高周波バスキャリブレーション方法に関する。より具体的には、本発明の実施形態は、プロセッサまたはプロセッサコアがホストプラットフォームから削除されたか否かを判断するメカニズム、および、この判断結果に基づきブート中に行われる高周波チャネルキャリブレーションの修正変更に関する。
パーソナルコンピュータおよびサーバの分野では、競争力を維持するためにはさまざまなワークロードの種類にわたって毎年20−40%の性能ゲインが必要とされるのが一般的である。さまざまなメカニズムを用いてこの水準の性能ゲインを実現している。例えば、コアカウントを増やしたり、メモリサイズ/帯域幅/レイテンシを改善したりしている。メモリの改善は通常、ダイナミックランダムアクセスメモリ(DRAM)の高速化、ダブルデータレート(DDR)バスの高周波数化、デュアルインラインメモリモジュール(DIMM)のキャパシティの大型化、チャネル当たりのDIMM数の増加、および、その他の最適化として現れる。同様に、マルチソケットシステムの性能を改善するためには、プロセッサ間のインターコネクトを高速化および改良する必要がある。
DDR速度の高速化およびDIMMカウントの増加を実現するためには、DRAMチャネルを慎重に最適な信号品質およびバスタイミングに調整する必要がある。この調整処理は、ベーシック・インプット/アウトプットシステム(BIOS)によってブートアップ中に実行され、一般的には「DDRトレーニング」と呼ばれる。DDRトレーニングの多くのステップは、実施に時間がかかる。例えば、さまざまなストローブ信号のセンタリング、クロストークの削除、および、基準電圧キャリブレーションなどのステップである。このようなキャリブレーションステップは、DRAMコントローラおよびDIMMに適用される最適なDDRタイミングパラメータを導出するために用いられる。このプログラミングは、メモリにアクセスする前に実行される。これは、上記のパラメータは、動作中に更新すると、メモリトラフィックを乱してしまうためである。
パラメータが最適な値でない場合、ビットエラーレートが高くなり、システム動作が不安定化してしまうことが多い。上記のような複雑なキャリブレーションステップを実行すると、ブート時間が長くなってしまう。現在のDDR−4方法では、高速化および低電圧化を実現するべく、DDRデバイス毎に複数のパラメータにわたってキャリブレーションを行うことが必要となっている。このため、これらのプラットフォームにおけるメモリトレーニングプロセスが増加してしまう場合がある。
本発明の実施形態は、本発明を制限するものではなく本発明を例示するものとして添付図面に図示されている。添付図面では、同様の参照番号は同様の構成要素を示している。
プロセッサ識別子をセキュアに決定するメカニズムが設けられている電子システムの一実施形態を示すブロック図である。 ブート処理がプロセッサ識別子に基づいてブート処理の一環としてメモリチャネルキャリブレーションを実行するか否かを判断する一実施形態を説明するためのフローチャートである。 ブート中にプロセッサ識別子が変更されたか否かを、当該識別子を汎用ソフトウェアに公開することなく、判断するプロセスの一実施形態を説明するためのフローチャートである。 インテル社のマネジビリティ・エンジン(Manageability Engine)を用いてセキュアにプロセッサ識別子を決定するメカニズムが設けられている電子システムの一実施形態を示すブロック図である。 マネジビリティ・エンジン(Manageability Engine)を用いてプロセッサ識別子を比較する方法の一実施形態を示すフローチャートである。
以下に記載する説明では、具体的且つ詳細な内容を数多く記載する。しかし、本発明の実施形態は、以下に記載する具体的且つ詳細な内容を採用することなく実施し得る。また、公知の回路、構造および方法は、以下の説明の理解の妨げにならないように、詳細な図示を省略している。
「ビデオ待機時間」は、使いやすさを示す重要なメトリックである。電源が入ってから10秒以内にプラットフォームがビデオを提示しない場合、ユーザはプラットフォームが故障していると考える場合がある。このため、プラットフォーム製造業者は大抵、ビデオ待機時間を10秒未満とすることを要件にしている。システムがより複雑になると、この要件を満たすことがより困難になってしまう場合がある。本明細書では、BIOSがDDRトレーニングステップの一部または全てを大半のブートサイクルから削除してビデオ待機時間メトリックを改善する方法を説明する。
DDRトレーニングパラメータは、メモリDIMM、プロセッサ、および、DRAMチャネルの電気特性の関数である。トレーニングステップは、前回のブート以降DIMMおよびプロセッサがマザーボード上で変更されていないとBIOSが判断すると、省略することができる。メモリDIMMは、追跡管理のためにシリアルナンバーを含む必要があり、大半のマザーボードは、ワイヤード・フォー・マネジメント(WfM)グローバル一意識別子(GUID)等のシリアルナンバーを持つ。一部のプラットフォームは、メモリチャネルパスに追加で構成要素(例えば、バッファ)またはカードを配置するとしてよい。コネクタに差し込まれる構成要素またはメモリカードもまた、シリアルナンバーを持つことができる。この結果、BIOSは、メモリDIMM、バッファおよびマザーボードおよびメモリカードを追跡管理することができる。
しかし、多くのプロセッサには、BIOSによる当該プロセッサの追跡を可能とするメカニズムが無い。例えば、プロセッサが製造時の追跡管理用にシリアルナンバーを持っていたとしても、このシリアルナンバーは通常、プライバシー/セキュリティ上の問題でBIOSには公開されない。本明細書では、プライバシー/セキュリティ上の要件を満たしつつBIOSがプロセッサのシリアルナンバーを利用できるようになる方法を説明する。一部のシステムは、プライバシーに関して同様の要件を持つ構成要素を他にも備えるとしてよく、本明細書で提案する方法はこれらの構成要素についても拡大して適用され得る。
動作について説明すると、プロセッサスワップはまれであるが、検出メカニズムが存在しない場合、BIOSは最悪の場合を仮定して動作する必要があり、システムがブートされる度にキャリブレーション手順を実行しなければならない。このため、本明細書で説明する検出メカニズムによって、BIOSは、大半のブート処理についてDDRトレーニングを省略することができ、ブート時間およびビデオ待機時間を短縮することができるとしてよい。
一実施形態によると、プロセッサ識別メカニズムでは、インテル(商標)社のトラステッド・エグゼキューション・テクノロジ(Trusted eXecution Technology:TXT)ACモジュール(ACM)およびインテル(商標)社のTXTハードウェアを用いて、ホストプラットフォームのプロセッサのシリアルナンバーを決定する。ACMは、製造業者(例えば、インテル(商標)社)が供給し暗号化方式で署名するバイナリモジュールである。プロセッサは、起動前に、チップセットに埋め込まれた公共鍵を用いてACMを認証する。ACMは、プロセッサキャッシュの内部から実行され、実行中は修正変更およびスヌープに対して保護される。
ACMは、BIOSまたは普通のソフトウェアよりも高い特権を持ち、プロセッサマイクロコードの論理拡張と見なすことができる。プロセッサマイクロコードは、プロセッサがACモードであるか否かを検出する機能を持つ。現時点において、プロセッサマイクロコードはこの機能を用いて、TXT特権処理(例えば、メモリアンロック)をマシンステートレジスタ(MSR)インターフェースを介してACMに公開する。本明細書で説明するメカニズムは、プロセッサのシリアルナンバー情報をACMのみに公開するACM限定MSR(例えば、PSN_ACM_MSR)を利用する。一実施形態によると、通常のソフトウェアがMSRを読み出してプロセッサのシリアルナンバーにアクセスしようと試みると、プロセッサマイクロコードは、一般保護違反(GPF)を生成する。
一実施形態によると、トラステッド・プラットフォーム・モジュール(TPM)を利用するとしてよい。TPMは、暗号処理用の不揮発性(NV)ストレージとなる。TPMは、マザーボード上にハンダ付けするので、プラットフォームに物理的に結合される。TPMは、「ローカリティ」として知られている特権レベルを複数サポートしている。ACMは、ローカリティ3へのアクセスを持つ。BIOSおよびホストオペレーティングシステム(OS)を含む普通のソフトウェアは、このローカリティへのアクセスを持たない。
現時点において、ACMは、ローカリティ3のNVストレージを利用して、BIOSおよびOSから保護する必要があるパラメータを格納している。本明細書で説明するように、ACMは、ローカリティ3のNVストレージのMSRを読み出すことによって取得されるプロセッサのシリアルナンバーを格納することができる。ACMは、BIOSが呼び出すMatchCPU()関数を提供する。この関数が呼び出されると、ACMは、例えば、PSN_ACM_MSRを用いてCPU MSRを読み出して、TPMのNVメモリ内に格納されているシリアルナンバーと比較することができる。シリアルナンバーが一致すれば、ACMはプロセッサスワップが発生していない旨を示すべく「成功」と応答する。
マルチプロセッサ(MP)システムでは、BIOSはこの手順をプロセッサ毎に繰り返し実行するとしてよい。比較はACMが実行するので、シリアルナンバーは、ACMを呼び出すソフトウェアには公開されない。このため、多くのプライバシー/セキュリティガイドラインの要件を満たしている。BIOSは、この処理によってプロセッサおよびDIMMが前回のキャリブレーションプロセスから変更されていないと判断できれば、DDRキャリブレーションプロセスを省略することができる。
本明細書で説明するメカニズムは、これ以外にも用途があるとしてよい。高速接続処理(例えば、クイック・パス・インターコネクト(Quick Path Interconnect:QPI)も、ブート時間および/またはビデオ待機時間に悪影響を及ぼす可能性がある同様のトレーニングステップを必要とするとしてよい。DDRトレーニングと同様、QPIトレーニングパラメータは、マザーボードおよびプロセッサおよびインターコネクトの端部に応じて決まる。本明細書で説明するメカニズムは、プロセッサに変更がないシステムについてQPIキャリブレーションステップを低減または省略するべく、BIOSによって利用され得る。
サーバプラットフォームでは、プラットフォームソフトウェアは、例えば、故障履歴に基づいて、プロセッサに含まれる1以上のプロセッサコアをディセーブルすることができる。このようなプロセッサを新しいプロセッサと交換すると、プラットフォームソフトウェアは、置換後のプロセッサコアをイネーブルし直すものと考えられる。本明細書で説明する方法は、プロセッサコアが交換された場合にその旨を決定するべく利用されるとしてよい。これらのメカニズムの他の利用方法についても記載する。
図1は、ACMを用いてプロセッサ識別子の変更を検出するが、当該プロセッサ識別子を汎用ソフトウェアに公開しないメカニズムが設けられている電子システムの一実施形態を示すブロック図である。図1に示す例が備えるプロセッサは2つであるが、本明細書で説明する方法は、単一プロセッサシステムおよび3個以上のプロセッサを備えるシステムにも等しく適用可能である。一実施形態によると、電子システム100の非メモリ素子(つまり、プロセッサ、チップセット、TPM、BIOS)は、インテル・コーポレーション社製のものである。別の実施形態では、インテル・アーキテクチャに準拠した構成要素を利用するとしてよい。さらに他の実施形態によると、プロセッサ識別子を保護するプロセッサを利用するとしてよい。
BIOS120は、リセット条件または電源オン条件に応じて、初期化処理またはブートアップ処理を開始するとしてよい。ブートアップ処理は多くの機能を含むが、その1つにメモリチャネルのキャリブレーションがある。一実施形態によると、プロセッサ160および180は、TXTまたは同様のレベルのセキュリティをサポートする。プロセッサ160および180は、チップセット130を介して、BIOS120およびトラステッド・プラットフォーム・モジュール(TPM)140に結合されている。一実施形態によると、プロセッサ180は、プロセッサ160を介してチップセット130に結合されている。プロセッサ160およびプロセッサ180は、様々な相互接続プロトコル、例えば、QPIで相互接続されるとしてよい。
電子システム100では、プロセッサ160は、ダイナミックランダムアクセスメモリ(DRAM)172、174、176および178に結合されており、プロセッサ180は、DRAM192、194、196および198に結合されている。一実施形態によると、プロセッサ160および180と、DRAM172、174、176、178、192、194、196および198との間のチャネルは、ダブルデータレート(DDR)であり、どの世代のDDRメモリチャネルであってもよい(例えば、DDR1、DDR2、DDR3、DDR4)。
一実施形態によると、ブート処理の一環として、BIOS120からチップセット130を介してプロセッサ160へと実行のためにACMを移動させる。一実施形態によると、ACM実行は、プロセッサ160のTXT環境内で行われる。ACMの実行が進むにつれて、ACMは、プロセッサ160および/またはプロセッサ180の識別子(例えば、シリアルナンバー)を決定するとしてよい。一実施形態によると、ACMのプロセッサ識別子要求は、TXT環境内で行われ、ACM限定レジスタに識別子を返答するように要求する。この結果、識別子は、セキュアなTXT環境内にとどまり、汎用ソフトウェアから守られた状態が維持される。
一実施形態によると、プロセッサ160とTPM140との間のチップセット130を介したチャネルは保護されている。TPM140は、前回のブート処理からプロセッサ識別子のコピーを格納しているとしてよい。TPM140が格納しているコピーは、現在のブート処理で比較対象として利用されるとしてよい。一実施形態によると、比較のためにプロセッサ識別子を伝達するべく、TPM140内のローカリティ3の格納位置に対して保護チャネルが設けられている。一実施形態によると、保護チャネルは、プロセッサ160が実行するマイクロコードによって開閉される。
比較結果は、ACMおよびBIOS120によって、メモリチャネルキャリブレーション処理を含むブートアップ全行程を実行するか否かを判断するために利用される。つまり、プロセッサ識別子が一致すれば、ACMおよび/またはBIOS120は、メモリチャネルキャリブレーション処理を省略するとしてよい。プロセッサ識別子が一致しない場合には、新しいプロセッサ識別子がTPM140に格納されており、メモリチャネルキャリブレーション処理を実行するとしてよい。
プロセッサ識別子はこれ以外に、プロセッサ160とプロセッサ180との間の相互接続に関して利用されるとしてよい。プロセッサ160および180の両方のプロセッサ識別子が前回のブートアップ時のものと一致すれば、リンク150および155のキャリブレーションが省略されるとしてよい。プロセッサ160またはプロセッサ180の一方のプロセッサ識別子が前回のブートアップ時のものと一致しない場合、キャリブレーションリンク150および155を実行するとしてよい。
図2は、ブート処理がプロセッサ識別子に基づいてブート処理の一環としてメモリチャネルキャリブレーションを実行するか否かを判断する一実施形態を説明するためのフローチャートである。図2のブート処理は、図1のシステム等のシステムに適用されるとしてよい。
200において、システムの電源を入れる。205において、電源オン条件に応じて、システムのBIOSがシステムの制御を得る。上述したように、BIOSは、ホストシステムのブートアップ処理を管理する。210において、プラットフォーム識別子を決定する。プラットフォーム識別子は、セキュアな識別子ではなく、関連技術分野で公知の任意の方法を用いて決定することができる。
220において、各メモリ素子の識別子を決定する。一実施形態によると、各DRAMチップが持つ識別子は、セキュアではない。メモリ識別子は、関連技術分野で公知の任意の方法を用いて決定することができる。225において、システムはこの後、収集した識別子が前回格納された識別子と一致するか否かを判断することができる。
225において識別子が一致しない場合、250において、次回のブート処理のためにメモリ識別子を不揮発性メモリに保存する。255において、メモリキャリブレーションを全行程にわたって実行する。260においてメモリキャリブレーションパラメータを保存して、270においてブート処理を継続して行う。
225において識別子が一致すると、230においてプロセッサ識別子整合を呼び出す。プロセッサ識別子の取得および整合を行う方法の一実施形態を、図3を参照しつつ説明する。235においてプロセッサ識別子整合が成功すると、240において格納されているメモリキャリブレーションパラメータが利用される。235においてプロセッサ識別子整合が失敗すると、255においてメモリキャリブレーションが実行される。260においてメモリキャリブレーションパラメータを保存して、270においてブート処理を継続して行う。
図3は、プロセッサ識別子をセキュアに決定する処理の一実施形態を説明するためのフローチャートである。図3の処理は、TXT命令を用いてBIOSによって呼び出すことができる。当該TXT命令は、保護された環境の内部でACMを起動するようマイクロコードに指示する。300において、ACMの実行からの呼び出しに応じて、プロセッサ識別子をセキュアに読み出す。一実施形態によると、この処理は、プロセッサ識別子を取得して、プロセッサのシリアルナンバー情報をACMのみに公開するACM限定マシンの特定のレジスタ、つまり、MSR(例えば、PSN_ACM_MSR)を利用するセキュアマイクロコード処理によって実現されるとしてよい。
310において、前回のブート時のプロセッサ識別子を、汎用ソフトウェアから保護されているメモリから読み出す。一実施形態によると、前回のプロセッサ識別子をTPM内のローカリティ3の不揮発性メモリに格納する。別の実施形態によると、他のセキュアなメカニズムを用いてプロセッサ識別子を格納するとしてよい。320において、現在のブート処理のプロセッサ識別子を、格納されているプロセッサ識別子と比較する。
320においてプロセッサ識別子が一致すると、330において呼び出し元の関数に「成功」と返答される。320においてプロセッサ識別子が一致しない場合、340において新しいプロセッサ識別子をセキュアストレージに保存する。一実施形態によると、プロセッサ識別子をローカリティ3の不揮発性ストレージに格納する。350において、呼び出し元の関数に「失敗」と返答する。いずれの場合でも、BIOSの一部である呼び出し元の関数は、実際のプロセッサ識別子について知ることはない。
図4は、インテル社のマネジビリティ・エンジン(Manageability Engine)を用いてセキュアにプロセッサ識別子を決定するメカニズムが設けられている電子システムの一実施形態を示すブロック図である。TXTをサポートしていないプラットフォームまたはTPMを備えていないプラットフォームは、代替例であるこのME方式を利用することによって恩恵を被る。一実施形態によると、MEは、製造者(例えば、インテル・コーポレーション社)が供給し、暗号方式で署名したファームウェアを実行する。
リセット条件または電源オン条件に応じて、BIOS420は、初期化処理またはブートアップ処理を開始するとしてよい。ブートアップ処理は多くの機能を含むが、その1つにメモリチャネルのキャリブレーションがある。一実施形態によると、プロセッサ460および480は、TXTまたは同様のレベルのセキュリティをサポートする。プロセッサ460および480は、ME435を含むチップセット430を介してBIOS420に結合している。一実施形態によると、プロセッサ480は、プロセッサ460を介してチップセット430に結合されている。プロセッサ460およびプロセッサ480は、様々な相互接続プラットフォーム、例えば、QPIと相互接続するとしてよい。
電子システム400では、プロセッサ460は、ダイナミックランダムアクセスメモリ(DRAM)472、474、476および478に結合されており、プロセッサ480は、DRAM492、494、496および498に結合されている。一実施形態によると、プロセッサ460および480と、DRAM472、474、476、478、492、494、496および498との間のチャネルは、ダブルデータレート(DDR)であり、どの世代のDDRメモリチャネルであってもよい(例えば、DDR1、DDR2、DDR3、DDR4)。
一実施形態によると、チップセット430は、起動前に、チップセット430に埋め込まれた公共鍵を用いてMEファームウェア435を認証する。別の実施形態では、MEファームウェア435は別の方法で認証を行うとしてよい。一実施形態によると、MEファームウェアは、チップセット430内のME実行環境で実行され、ホストソフトウェアによる修正変更およびスヌープから保護される。一実施形態によると、MEファームウェア435は、チップセット430を介してプロセッサ460までのセキュアパスを持っており、当該セキュアパスを利用してプロセッサ識別子、PSNを取得する。
一実施形態によると、MEサブシステムは、乱数生成器を含む。MEファームウェア435は、この乱数生成器を用いて乱数Rを生成することができる。MEファームウェア435は、RおよびPSNのハッシュであるHを算出することができる。一実施形態によると、H=Hush(R、PSN)であり、ハッシュ関数は、標準的なアルゴリズム、例えば、SHA−2を表す。MEファームウェア435は、RおよびHを不揮発性メモリに格納する。一実施形態によると、PSNは不揮発性メモリに直接格納されるわけではない。ソフトウェアは、不揮発性メモリの内容を読み出して、RおよびHを決定することができる。しかし、ハッシュ関数は一方向の関数であるので、RおよびHに基づいてPSNを算出する演算は不可能である。
一実施形態によると、MEファームウェア435は、BIOS420が呼び出すMatchCPU()コマンドを実装する。このコマンドが呼び出されると、MEファームウェア435は、セキュアインターフェースを用いてプロセッサ識別子を読み出し、不揮発性メモリからRを読み出し、H1=Hush(R,PSN)を算出することができる。
MEファームウェア435は、H1と、不揮発性メモリに格納されているハッシュであるHとを比較することができる。ハッシュ関数は、コリジョンが無い。このため、ハッシュ(R,PSN1)=Hush(R,PSN2)ということは、PSN1=PSN2を意味する。このため、H1=Hは、シリアルナンバーが変わっていないことを意味する。マルチプロセッサシステムでは、BIOS420は、各プロセッサについてこの手順を繰り返し実行することができる。比較処理はMEファームウェア435によって実行されるので、プロセッサ識別子はソフトウェアに公開されず、プライバシーおよびセキュリティのガイドラインの要件は満たされる。
プロセッサ識別子はこれ以外にも、プロセッサ460とプロセッサ480との間の相互接続に利用されるとしてよい。プロセッサ460およびプロセッサ480の両方のプロセッサ識別子が前回のブートアップ時のものと一致すれば、リンク450および455のキャリブレーションを省略することができる。プロセッサ460またはプロセッサ480の一方のプロセッサ識別子が前回のブートアップ時のものと一致しなければ、リンク450および455のキャリブレーションが実行されるとしてよい。
図5は、マネジビリティ・エンジンを利用してプロセッサ識別子を比較する方法の一実施形態を説明するためのフローチャートである。510において、呼び出しに応じて、セキュアインターフェースを用いてプロセッサ識別子を決定する。520において、RおよびHの値をメモリから取得する。530において、ハッシュ値であるH1は、Rの現在値およびプロセッサ識別子PSNを用いて決定する。
540において、算出されたハッシュ値であるH1を、格納されているハッシュ値であるHと比較する。540においてHおよびH1が等しい場合、550において「成功」指標を返送する。540において算出されたハッシュ値であるH1およびHが等しくない場合、560において算出された値であるH1をセキュアメモリに格納する。570において、「失敗」指標を返送する。
本明細書において「一実施形態」または「ある実施形態」という記載は、当該実施形態に関連付けて説明する特定の特徴、構造または特性が本発明の少なくとも一実施形態に含まれていることを意味する。本明細書において「一実施形態において」という記載は繰り返し見られるが、必ずしも全てが同じ実施形態を意味するものではない。
幾つかの実施形態を挙げて本発明を説明してきたが、当業者であれば、本発明は説明した実施形態に限定されず、請求項の意図および範囲内で変形および変更して実施し得るものと認められたい。このため上述した説明は、本発明を限定するものではなく例示するものと考えられたい。

Claims (19)

  1. 電源オン条件に応じて、ホスト電子システムに含まれる複数のメモリデバイスの識別子を決定する段階と、
    前記識別子が前回のブートアップの識別子に一致しない場合、メモリチャネルキャリブレーションを実行する段階と、
    前記識別子が前記前回のブートアップの識別子に一致する場合、セキュア処理で、前記ホスト電子システムの1以上のプロセッサの識別子を決定する段階と、
    前記複数のメモリデバイスの識別子および前記1以上のプロセッサの識別子が前回のブート処理のメモリ識別子および前記前回のブート処理のプロセッサ識別子に一致する場合、メモリチャネルをキャリブレーションすることなくブート処理を完了する段階と
    を備える方法。
  2. 前記ホスト電子システムのマザーボードの識別子を決定する段階と、
    前記複数のメモリデバイスの識別子または前記マザーボードの識別子が前回のブートアップの対応する識別子に一致しない場合、メモリチャネルキャリブレーションを実行する段階と
    をさらに備える請求項1に記載の方法。
  3. 前記ホスト電子システムのマザーボードの識別子を決定する段階は、前記マザーボードのシリアルナンバーを決定する段階を有する請求項に記載の方法。
  4. 前記電源オン条件に応じて、前記ホスト電子システムに含まれる前記複数のメモリデバイスの識別子を決定する段階は、前記ホスト電子システムに含まれるダイナミックランダムアクセスメモリ(DRAM)集積回路毎にシリアルナンバーを決定する段階を有する請求項1から3のいずれか一項に記載の方法。
  5. 前記ホスト電子システムの前記1以上のプロセッサの識別子が、前記前回のブートアップの識別子に一致するか否かを、前記識別子を汎用ソフトウェアに公開することなく決定する段階は、
    保護コンテクスト内で前記1以上のプロセッサの識別子を取得する保護関数を呼び出す段階と、
    前記保護コンテクスト内で、取得された前記識別子を、保護メモリ位置に格納されている前記前回のブートアップの1以上のプロセッサの識別子と比較する段階と、
    前記取得された識別子と前記前回のブートアップの1以上のプロセッサの識別子が一致する場合、成功指標を返送する段階と、
    前記取得された識別子と前記前回のブートアップの1以上のプロセッサの識別子が一致しない場合、失敗指標を返送する段階と
    を有する請求項1から4のいずれか一項に記載の方法。
  6. 前記保護関数を呼び出して1以上のプロセッサの識別子の変更を検出する段階は、
    ACMコンテクスト内で前記識別子を読み出して、前記識別子を保護レジスタに返送するAC Module(ACM)関数を呼び出す段階と、
    前記保護レジスタに格納されている前記識別子を前記ホスト電子システム内のセキュアモジュール内の保護メモリ位置に格納されている前記前回のブートの前記識別子と比較する段階と
    を有し、
    前記保護レジスタに格納されている前記識別子および前記前回のブートアップの前記識別子は、保護チャネルを介して送信され、
    前記保護レジスタに格納されている前記識別子および前記前回のブートアップの前記識別子は、汎用環境には決して公開されない請求項5に記載の方法。
  7. 前記保護関数を呼び出して、前記1以上のプロセッサの識別子を取得する段階は、
    保護環境内で前記識別子を読み出す段階と、
    前記識別子のハッシュ値を生成する段階と、
    前記前回のブートアップの識別子のハッシュ値を取得する段階と、
    決して汎用環境に公開されない前記識別子のハッシュ値と決して汎用環境に公開されない前記前回のブートアップの識別子のハッシュ値とを比較する段階と
    を含む請求項5又は6に記載の方法。
  8. ホスト電子システムの1以上の構成要素に、
    電源オン条件に応じて、前記ホスト電子システムに含まれる複数のメモリデバイスの識別子を決定する段階と、
    前記識別子が前回のブートアップの識別子に一致しない場合、メモリチャネルキャリブレーションを実行する段階と、
    セキュア処理で、前記ホスト電子システムの1以上のプロセッサの識別子が前記前回のブートアップの識別子に一致するか否かを判断する段階と、
    前記複数のメモリデバイスの識別子および前記1以上のプロセッサの識別子が前回のブート処理のメモリ識別子および前記前回のブート処理のメモリ識別子に一致する場合、メモリチャネルをキャリブレーションすることなくブート処理を完了する段階と
    を実行させるためのプログラム。
  9. 前記ホスト電子システムのマザーボードの識別子を決定する段階と、
    前記複数のメモリデバイスの識別子および前記マザーボードの識別子が前回のブートアップの対応する識別子に一致しない場合、メモリチャネルキャリブレーションを実行する段階と
    をさらに実行させる請求項8に記載のプログラム。
  10. 前記ホスト電子システムのマザーボードのシリアルナンバーを決定する段階をさらに実行させる請求項8又は9に記載のプログラム。
  11. 前記電源オン条件に応じて、前記ホスト電子システムに含まれる前記複数のメモリデバイスの識別子を決定する段階は、前記ホスト電子システムに含まれるダイナミックランダムアクセスメモリ(DRAM)集積回路毎にシリアルナンバーを決定する段階を含む請求項8から10のいずれか一項に記載のプログラム。
  12. 前記識別子が前記前回のブートアップの識別子に一致する場合、前記セキュア処理で、前記ホスト電子システムの前記1以上のプロセッサの識別子を判断する段階は、
    保護コンテクスト内で前記1以上のプロセッサの識別子を取得するセキュア関数を呼び出す段階と、
    前記保護コンテクスト内で、取得された前記識別子を、保護メモリ位置に格納されている前記前回のブートアップの1以上のプロセッサの識別子と比較する段階と、
    前記取得された識別子が前記前回のブートアップの1以上のプロセッサの識別子と一致する場合、成功指標を返送する段階と、
    前記取得された識別子が前記前回のブートアップの1以上のプロセッサの識別子と一致しない場合、失敗指標を返送する段階と
    を含む請求項8から11のいずれか一項に記載のプログラム。
  13. 前記1以上のプロセッサの識別子を取得する前記セキュア関数を呼び出す段階は、
    前記識別子を読み出して、前記識別子を保護レジスタに返送するAC Module(ACM)関数を呼び出す段階と、
    前記保護レジスタに格納されている前記識別子を前記ホスト電子システム内のセキュアモジュール内の保護メモリ位置に格納されている前記前回のブートアップの識別子と比較する段階と
    を含み、
    前記保護レジスタに格納されている前記識別子および前記前回のブートアップの識別子は、セキュアチャネルを介して送信され、
    前記保護レジスタに格納されている前記識別子および前記前回のブートアップの識別子は、汎用環境には決して公開されない請求項12に記載のプログラム。
  14. 前記1以上のプロセッサの識別子を取得する前記セキュア関数を呼び出す段階は、
    セキュア環境内で前記識別子を読み出す段階と、
    前記識別子のハッシュ値を生成する段階と、
    前記前回のブートアップの識別子のハッシュ値を取得する段階と、
    決して汎用環境に公開されない前記識別子のハッシュ値と決して汎用環境に公開されない前記前回のブートアップの識別子のハッシュ値を比較する段階と
    を含む請求項12又は13に記載のプログラム。
  15. メモリチャネルキャリブレーション処理を選択的に実行するプロセッサと、
    対応するメモリチャネルを介して前記プロセッサに結合されている1以上のメモリデバイスと、
    前記プロセッサに結合されているチップセットと、
    前記チップセットに結合されているベーシック・インプット/アウトプット・システム(BIOS)と
    を備え、
    前記BIOSは、
    今回のブート処理を開始する電源オン条件に応じて、ホスト電子システムに含まれる複数のメモリデバイスの識別子を決定し、
    前記識別子が前回のブートアップの識別子に一致しない場合、前記プロセッサにメモリチャネルキャリブレーション処理を実行させ、
    前記識別子が前記前回のブートアップの識別子に一致する場合、セキュア処理で、前記プロセッサの識別子を決定し、
    前記複数のメモリデバイスの識別子および前記1以上のプロセッサの識別子が前回のブート処理のメモリ識別子および前記前回のブート処理のプロセッサ識別子に一致する場合、メモリチャネルをキャリブレーションすることなく前記今回のブート処理を完了するシステム。
  16. 前記BIOSはさらに、
    前記システムのマザーボードの識別子を決定し、
    前記複数のメモリデバイスの識別子または前記マザーボードの識別子が前回のブートアップの対応する識別子に一致しない場合、メモリチャネルキャリブレーションを実行する請求項15に記載のシステム。
  17. 前記プロセッサの識別子が、前記前回のブートアップの識別子に一致するか否かを、前記プロセッサの識別子および前記前回のブートアップの識別子を汎用ソフトウェアに公開することなく判断することは、
    保護コンテクスト内で前記プロセッサの識別子を取得する保護関数を呼び出すことと、
    前記保護コンテクスト内で、取得された前記識別子を、保護メモリ位置に格納されている前記前回のブートアップの前記プロセッサの識別子と比較することと、
    前記取得された識別子と前記前回のブートアップの前記プロセッサの識別子が一致する場合、成功指標を返送することと、
    前記取得された識別子と前記前回のブートアップの前記プロセッサの識別子が一致しない場合、失敗指標を返送することと
    を含む請求項15又は16に記載のシステム。
  18. 前記保護関数を呼び出して前記プロセッサの識別子の変更を検出することは、
    ACMコンテクスト内で前記識別子を読み出して、前記識別子を保護レジスタに返送するAC Module(ACM)関数を呼び出すことと、
    前記保護レジスタに格納されている識別子を前記ホスト電子システム内のセキュアモジュール内の保護メモリ位置に格納されている前記前回のブートアップの識別子と比較することと
    を含み、
    前記保護レジスタに格納されている識別子および前記前回のブートアップの識別子は、保護チャネルを介して送信され、
    前記保護レジスタに格納されている識別子および前記前回のブートアップの識別子は、汎用環境には決して公開されない請求項17に記載のシステム。
  19. 前記保護関数を呼び出して、前記プロセッサの識別子の変更を検出することは、
    保護環境内で前記識別子を読み出すことと、
    前記識別子のハッシュ値を生成することと、
    前記前回のブートアップの識別子のハッシュ値を取得する段階と、
    前記識別子のハッシュ値と前記前回のブートアップの識別子のハッシュ値を比較する段階と
    を含み、
    前記識別子および前記前回のブートアップの識別子は、決して汎用環境に公開されない請求項17又は18に記載のシステム。
JP2012542020A 2009-12-21 2010-11-04 プロセッサスワップ無しという条件を検出するメカニズムおよびブート中の高速バスキャリブレーションの修正変更 Active JP5469254B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/643,108 US8843732B2 (en) 2009-12-21 2009-12-21 Mechanism for detecting a no-processor swap condition and modification of high speed bus calibration during boot
US12/643,108 2009-12-21
PCT/US2010/055454 WO2011084224A2 (en) 2009-12-21 2010-11-04 Mechanism for detecting a no-processor swap condition and modification of high speed bus calibration during boot

Publications (2)

Publication Number Publication Date
JP2013512526A JP2013512526A (ja) 2013-04-11
JP5469254B2 true JP5469254B2 (ja) 2014-04-16

Family

ID=44152797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012542020A Active JP5469254B2 (ja) 2009-12-21 2010-11-04 プロセッサスワップ無しという条件を検出するメカニズムおよびブート中の高速バスキャリブレーションの修正変更

Country Status (4)

Country Link
US (1) US8843732B2 (ja)
EP (2) EP3037975B1 (ja)
JP (1) JP5469254B2 (ja)
WO (1) WO2011084224A2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177281B2 (en) * 2010-03-18 2015-11-03 United Parcel Service Of America, Inc. Systems and methods for a secure shipping label
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
DE102011010627A1 (de) * 2011-02-08 2012-08-09 Giesecke & Devrient Gmbh Verfahren zur Programmierung eines Mobilendgeräte-Chips
US8850155B2 (en) * 2011-12-19 2014-09-30 Advanced Micro Devices, Inc. DDR 2D Vref training
US20140089573A1 (en) * 2012-09-24 2014-03-27 Palsamy Sakthikumar Method for accessing memory devices prior to bus training
US9348604B2 (en) * 2013-04-24 2016-05-24 Dell Products L.P. System and method for inventory collection optimization by selective binding of the pre-boot drivers
US9548867B2 (en) * 2013-11-26 2017-01-17 Rockwell Automation Technologies, Inc. Method and apparatus for secure distribution of embedded firmware
US9448950B2 (en) 2013-12-24 2016-09-20 Intel Corporation Using authenticated manifests to enable external certification of multi-processor platforms
US10552170B2 (en) * 2015-04-17 2020-02-04 Summit Imaging, Inc. System and method for activating a medical device using secured and unsecured utilities
US20170269947A1 (en) * 2016-03-21 2017-09-21 Wal-Mart Stores, Inc. Custom kiosk
US10114952B2 (en) * 2016-03-30 2018-10-30 Mcafee, Llc System, apparatus and method for performing secure memory training and management in a trusted environment
US10969960B2 (en) * 2016-09-01 2021-04-06 Samsung Electronics Co., Ltd. Storage device and host for the same
US12001676B2 (en) 2016-09-01 2024-06-04 Samsung Electronics Co., Ltd. Storage device and host for the same
KR102704901B1 (ko) * 2016-09-01 2024-09-09 삼성전자주식회사 스토리지 장치 및 이의 호스트
DE102016219730A1 (de) * 2016-10-11 2018-04-12 Siemens Aktiengesellschaft Basisboard, Prozessor-Modul und Verfahren zur Authentifizierung eines Prozessor-Moduls
US10346177B2 (en) 2016-12-14 2019-07-09 Intel Corporation Boot process with parallel memory initialization
US10546156B2 (en) 2017-01-19 2020-01-28 Intel Corporation MRC training in FPGA-in-memory-controller
US10474473B2 (en) * 2017-04-11 2019-11-12 Intel Corporation Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
CN107179911B (zh) * 2017-05-19 2020-08-18 苏州浪潮智能科技有限公司 一种重启管理引擎的方法和设备
WO2019061227A1 (en) * 2017-09-29 2019-04-04 Intel Corporation FIRST PRIMING WITH A MEMORY CHANNEL
US11036267B2 (en) * 2019-02-26 2021-06-15 Microsoft Technology Licensing, Llc Field replaceable touch display module
US20220197679A1 (en) * 2020-12-18 2022-06-23 Advanced Micro Devices (Shanghai) Co., Ltd. Modifying device status in single virtual function mode
TW202336590A (zh) * 2022-03-07 2023-09-16 愛爾蘭商鳳凰科技Emea有限公司 在開機前環境中為用戶端電腦系統提供bios特徵之技術

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032257A (en) * 1997-08-29 2000-02-29 Compaq Computer Corporation Hardware theft-protection architecture
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7237121B2 (en) 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US20030084307A1 (en) 2001-10-30 2003-05-01 Schwartz Jeffrey D. Secure boot device selection method and system
JP2005234872A (ja) * 2004-02-19 2005-09-02 Seiko Epson Corp コンピュータ、コンピュータ起動方法、biosプログラムおよび情報記憶媒体
US20060047939A1 (en) * 2004-09-01 2006-03-02 International Business Machines Corporation Method and apparatus for initializing multiple processors residing in an integrated circuit
US8756390B2 (en) * 2005-12-05 2014-06-17 International Business Machines Corporation Methods and apparatuses for protecting data on mass storage devices
CN100437502C (zh) * 2005-12-30 2008-11-26 联想(北京)有限公司 基于安全芯片的防病毒方法
US7519803B2 (en) * 2006-02-08 2009-04-14 Dell Products L.P. Build-to-order embedded operating system partition
US8037291B2 (en) * 2007-01-29 2011-10-11 Hewlett-Packard Development Company, L.P. Master boot record management
JP2008293468A (ja) * 2007-04-26 2008-12-04 Oki Electric Ind Co Ltd マザーボードの製造方法
JP4871806B2 (ja) * 2007-07-23 2012-02-08 東芝テック株式会社 データ処理装置
US8370718B2 (en) 2009-04-08 2013-02-05 Stmicroelectronics S.R.L. Method for identifying a flash memory device and related hosting device

Also Published As

Publication number Publication date
US20110154006A1 (en) 2011-06-23
JP2013512526A (ja) 2013-04-11
EP2517112A2 (en) 2012-10-31
EP3037975A1 (en) 2016-06-29
WO2011084224A3 (en) 2011-09-29
EP2517112B1 (en) 2016-01-13
US8843732B2 (en) 2014-09-23
EP3037975B1 (en) 2019-12-25
WO2011084224A2 (en) 2011-07-14
EP2517112A4 (en) 2014-08-06

Similar Documents

Publication Publication Date Title
JP5469254B2 (ja) プロセッサスワップ無しという条件を検出するメカニズムおよびブート中の高速バスキャリブレーションの修正変更
KR101343704B1 (ko) 공유된 비휘발성 메모리 아키텍쳐
US8065509B2 (en) Persistent security system and method
US10747883B2 (en) Collated multi-image check in system-on-chips
US9202015B2 (en) Entering a secured computing environment using multiple authenticated code modules
KR20160146955A (ko) 인증된 변수의 관리
US9886408B2 (en) Data access protection for computer systems
US10474473B2 (en) Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
US7783918B2 (en) Data protection method of storage device
US12013946B2 (en) Baseboard memory controller (BMC) reliability availability and serviceability (RAS) driver firmware update via basic input/output system (BIOS) update release
US20180314530A2 (en) Providing a trustworthy indication of the current state of a multi-processor data processing apparatus
US20130124845A1 (en) Embedded device and control method thereof
EP3757838A1 (en) Warm boot attack mitigations for non-volatile memory modules
US10725845B2 (en) Methods of operating memory system
US11914472B2 (en) Use of CXL expansion memory for metadata offload
US11966748B2 (en) Dynamic boot configuration
JP6494143B2 (ja) 装置、方法、集積回路、プログラム、及び有形のコンピュータ可読記憶媒体
US11269637B2 (en) Validating machine-readable instructions using an iterative validation process
JP2009271597A (ja) プロセッサ
JP6316370B2 (ja) 装置、方法、集積回路、プログラム、及び有形のコンピュータ可読記憶媒体
JP2024068626A (ja) チップのセキュアブート制御方法、装置、電子機器及び記憶媒体
CN117632280A (zh) 安全启动过程
JP2011013949A (ja) データ処理装置、データ処理方法、およびデータ処理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131001

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131030

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: 20131203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140130

R150 Certificate of patent or registration of utility model

Ref document number: 5469254

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250