Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4695082B2 - メモリをクリアするように形成されるメモリコントローラを含む、高信頼実行環境を採用するコンピュータシステム - Google Patents
[go: Go Back, main page]

JP4695082B2 - メモリをクリアするように形成されるメモリコントローラを含む、高信頼実行環境を採用するコンピュータシステム - Google Patents

メモリをクリアするように形成されるメモリコントローラを含む、高信頼実行環境を採用するコンピュータシステム Download PDF

Info

Publication number
JP4695082B2
JP4695082B2 JP2006525317A JP2006525317A JP4695082B2 JP 4695082 B2 JP4695082 B2 JP 4695082B2 JP 2006525317 A JP2006525317 A JP 2006525317A JP 2006525317 A JP2006525317 A JP 2006525317A JP 4695082 B2 JP4695082 B2 JP 4695082B2
Authority
JP
Japan
Prior art keywords
memory
processor
memory controller
clear
data
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 - Lifetime
Application number
JP2006525317A
Other languages
English (en)
Other versions
JP2007504553A (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2007504553A publication Critical patent/JP2007504553A/ja
Application granted granted Critical
Publication of JP4695082B2 publication Critical patent/JP4695082B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

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

Description

本発明は、コンピュータシステムに関し、より詳しくは、コンピュータシステムのメモリに記憶されているデータを不正アクセスから保護するための高信頼実行モードを採用したコンピュータシステムに関する。
最近のコンピュータシステムは、人々の生活スタイルを大きく変えている。特に、x86アーキテクチャを採用するマイクロプロセッサを含むシステムプラットフォームにおいては特にそれが当てはまる。ユーザ自らがインストールすることのできるサードパーティ製の無数の周辺装置やアプリケーションに対してx86ベースのシステムが開放されていることによって、ハードウェアおよびソフトウェアベンダの広範な市場が実現され、競合、革新、そして進化を促進してきた。
品質および性能が向上し続けるデジタルコミュニケーション/メディアシステムとして上記プラットフォームが幅広く使用されていることが、そのような進化の例である。インターネットとも相俟って、これらのシステムプラットフォームは、デジタルコンテンツの大量配信(mass distribution)を明らかに激変させており、世界中のラジオ局、新聞およびリアルタイムの天気情報へのオンデマンドのアクセスや、オンラインバンキングおよびオンラインショッピング、オーディオおよびビデオベースのエンタテインメントを可能にしている。
x86プラットホームはオープンアーキテクチャなので、通常デバイスはそのデバイスにアクセスするためにカーネルモードで動作するベンダから供給されるドライバを有し、ある種のソフトウェアアプリケーションはカーネルモードコンポーネントを含んでいる。したがって、オープンアーキテクチャは数々の利点を有しており、あるアプリケーションが他のアプリケーションと偶発的に干渉することに対してすでに大規模な保護(プロテクション)を提供してはいるものの、現在のアーキテクチャとしての保護メカニズムは、この環境において望ましくない不正操作にさらされる可能性がある。
x86アーキテクチャを採用するマイクロプロセッサを含むコンピュータシステムは、アプリケーションがお互いに干渉し合わないように保護するようにして設計された機能を有する。例えば、x86ベースのオペレーティングシステムは、複数のアプリケーションが互いに分離された環境であって、クリティカルなオペレーティングシステムのコードやデータがアプリケーションから分離された環境を提供するため、x86プロテクトモードのアーキテクチャの有する次の2つの機能、すなわち、1)ページ化された仮想メモリ(Paged Virtual Memory)および2)実行特権レベル(Execution Privilege Level)、に依存している。
ページ化された仮想メモリのおかげで、オペレーティングシステム(OS)は、各アプリケーションに対して独立した仮想アドレス空間を定義して、一組のアドレス変換テーブルを介して物理メモリの個々のページを仮想アドレス空間のそれぞれに選択的にマッピングすることもできる。
これにより、各アプリケーションは、コードおよびデータのための物理メモリ上に他のアプリケーションからはアクセスし得ない当該アプリケーション専用のスペースを有する。
また、仮想メモリメカニズムによれば、OSは物理メモリのページを複数の仮想アドレス空間に選択的にマッピングすることもできるし、かかるページを仮想空間内において選択的に読み出し専用(リードオンリー)として指定することも可能である。この共有マッピング能力のおかげで、OSカーネル自体のコピーが各アプリケーションのアドレス空間内に常駐することが可能になり、同様に、周辺装置のアクセスポートおよび関連するデバイスドライバルーチンの共有マッピングも可能であろう。このようにして、ロスの多いアドレス空間の切り替えを必要とせずに、アプリケーションにOSサービスへの効率的なアクセスを提供している。しかし、アドレス空間のOS部分は、OSコードによる変更が可能でなければならないシステムデータ領域を必然的に含んでおり、それは現時点においてもアプリケーションコードから保護されていなければならない。リードオンリー指定はかかる領域に対して適切な保護を提供することができない場合がある。
さらに、x86アーキテクチャは、4つの特権レベル、0から3を定義しており、これらはOSによりコード領域に割り当てられ、コードセグメントのディスクリプタ(記述子)内に保存される。一般的には、現在実行されているコードまたはプロシージャの特権レベルは、現行特権レベル(CPL)として記憶される。したがって、この特権レベルは通常、CPL0からCPL3と呼ばれる。これらの特権レベルを用いることにより、ある種のシステムリソースは適切なレベルで実行されているコードからのみアクセス可能となる。ページ化された仮想メモリアーキテクチャは、仮想メモリのページへのアクセスを特権レベルによって制限できるようにする。4種の特権レベルが定義されているが、ページ化された仮想メモリアーキテクチャはCPL1やCPL2をCPL0と区別しないことから、主流となっているオペレーティングシステムにおいては通常、CPL0とCPL3レベルのみが用いられる。
CPL0は一般にカーネルモードと呼ばれ、最も高い特権レベルである。一方、CPL3は一般にユーザモードと呼ばれ、最も低い特権レベルである。OSコードおよびデータには通常CPL0に割り当てられ、アプリケーションコードおよびデータにはCPL3に割り当てられる。CPL0実行特権は、リードオンリー保護に優先せず、2つの属性は互いに独立している。コードセグメントのディスクリプタを用いて、これらのレベルを割り当てている。
このメモリ保護に加えて、仮想メモリ動作を制御するものを含む、すべてのプロセッサ制御レジスタは、アーキテクチャの定義では、CPL0においてのみアクセス可能である。
さらに、あるセグメントから他のセグメントに実行を切り替え、これによって特権レベルを変更するためには、一般的に、特別な制御転送命令が必要とされる。これらの命令により、OSはかかる制御転送の対象をOSにより制御されるコード中の特定のエントリポイントに限定することができるようになる。したがって、アプリケーションは、OSに制御を渡すことなしに特権レベルを変更することはできない。
相互のアドレス空間の分離、およびOSメモリのアプリケーションからの分離は、仮想メモリのアドレス変換テーブルの内容によって完全に制御することができる。このアドレス変換テーブルは、あるアプリケーションのメモリを他のアプリケーションのメモリから分離する仮想対物理ページマッピングを定義し、さらに共有ライブラリとOSを保護するリードオンリー属性および特権レベル属性をも定義する。アドレス変換テーブルそれ自体はメモリ上に存在し得るデータ構造であり、それらを共有OSメモリ領域にマッピングし、それらに対するアクセスをカーネルモードコードに制限する変換エントリを含んでいる。
この既存の保護メカニズムはアプリケーションおよびオペレーティングシステムに対して適切な保護を提供しているように見える。うまく動作しているシステム(例えば、オペレーティングシステムによってこれらのメカニズムの適用を修正する、これらのメカニズムを制御するOSコードの動作を修正する、および、カーネルモードで動作する他のすべてのコードがこれと干渉しない。)においてはそのとおりである。
しかしながら、典型的なx86ベースのシステムは、かかる大量のカーネルモードのコードを含んでいる。これらのカーネルモードのコードは、OSベンダからだけではなく、多くの独立したソースから提供されるものであり、それが偶発的なものにしろそうでないにしろ、そのような干渉が発生しないことを保証できる者は誰もいない。
このことは、物理メモリのコンテンツにおいて特にあてはまる。例えば、メモリ中に与えられたロケーションのコンテンツがアプリケーションによってもう必要でない場合、そのロケーションの割り当ては一般的に取り消される。しかしながら、そのロケーションに記憶された実際のデータは、まだそのままであり得る。
ユーザが実行しているオペレーションのタイプや稼働中のソフトウェアアプリケーションのタイプによって、コンピュータシステム内に記憶されている情報またはコンピュータシステム上で実行されている情報は、外部からのアクセスに対して脆弱になり得る。したがって、セキュリティを改善し、x86アーキテクチャのシステムのそのようなアクセスに対する脆弱性をできる限り小さくすることが望ましい。
高信頼実行環境を採用するとともにメモリをクリア(clear memory)するように構成されるコンピュータシステムについてのさまざまな実施形態が開示される。
ある実施形態においては、このコンピュータシステムは、セキュアオペレーティングシステムコードセグメントを実行することにより、セキュア実行モードで動作し得るプロセッサを含んでいる。
このコンピュータシステムはまた、データを記憶する複数のロケーションを含むシステムメモリを含んでいる。このコンピュータシステムはさらに、システムメモリに接続されたメモリコントローラを含んでいる。
このメモリコントローラは、プロセッサのリセットに応じて動作可能(イネーブル)とされると、システムメモリの複数のロケーションにわたりプログラムされたデータを選択的にクリアすることができる。
ある特定の実施形態においては、このメモリコントローラは、リセットの前に、サスペンド・トゥ・ラム(STR)(Suspend To RAM)状態にあるかどうか決定することができる。
このメモリコントローラはさらに、リセットの前にプロセッサがSTR状態にないとの判断に応じて、データをクリアすることができる。
本発明については、様々な変形および置換が可能であるが、特定の実施形態を例示のために図示し、本明細書において詳細に説明する。しかしながら、この特定の実施形態に関する図および説明は、開示した特定の形態に本発明を限定することを意図したものではなく、むしろ反対に、添付の特許請求の範囲に定義される本発明の技術的範囲内に属する変形例、均等物および代替物のすべてを含むことを意図したものである。
<セキュアコンピューティングプラットフォームの概要>
高信頼コンピューティングによれば、コンピュータシステム(例えば、パーソナルコンピュータ(PC))のユーザは、当該ユーザのプライバシーを攻撃から保護しつつ、電子マネーや動画をダウンロードするといったような新しい活動に参加することが可能となる。
高信頼コンピューティング環境の一部となるためには、例えば、PCそれ自体も、ユーザおよび銀行、コンテンツプロバイダといった外部組織の双方から信頼されなければならない。
高信頼PCを構成するのに必要な主要要素には、高信頼処理環境、プラットフォーム特有のシークレット、暗号処理、セキュアな記憶装置、およびセキュリティカーネル(SK)と呼ばれるセキュア・オペレーティングシステム・コードセグメントが含まれる。これらの要素を実装する構成ブロックについて、以下に詳細に説明する。
x86命令を実行するように構成されたプロセッサは、一般的に、ページ化された仮想メモリや特権実行モードを提供する保護モードのようなアーキテクチャ上の機能と、これらの機能を制御する制御レジスタセットを含んでいる。
これらの制御レジスタとページテーブルへのアクセスを制御することによって、コンピュータシステム内のプログラムコードやデータに対する不正アクセスに対する保護を追加することができる。
したがって、このようなプロセッサに対する一組のアーキテクチャ拡張を追加し、それに対応するサポートソフトウェアを提供することによって、この保護を提供することができる。
プロセッサに対する全体的なセキュリティ強化は、セキュア実行モード(SEM)と呼ばれる。このセキュア実行モード(SEM)はプロセッサに付加された新しい動作モードであり、外部からの不正操作を受けることなく、セキュリティカーネルが動作する高信頼動作環境を構築するものである。
したがって、SEMで動作可能なプロセッサは、SEMによって動作可能とされると、例えば、高信頼実行(TX)の動作モードなどのSEM動作モードをサポートする。
この高信頼実行モードは、実行されているソフトウェアの種類およびその特権レベルに応じて、ノーマルユーザモードおよびノーマルカーネルモードに加えて、セキュアユーザモードおよびセキュアカーネルモードで動作するSEM機能付きプロセッサを含んでいてもよい。
この環境内で実行されるソフトウェアおよびハードウェアメモリアクセス(例えば、ダイレクトメモリアクセス(DMA))からのみアクセス可能な保護されたメモリ領域を形成するためのメカニズムも提供される。
この新しい高信頼実行環境(TX)は、ユーザ環境とカーネル環境とを分離するために使用される従来のノーマル/保護モード(Ring3/Ring0)メカニズムに少し似ている。
したがって、SEM実行可能なCPUは、上記のTXモードを生成し、実行するハードウェアメカニズムを備えている。
最新のACPI(Advanced Configuration and Power Interface)仕様の修正が、様々なシステムの動作状態およびスリープ状態を定義することが注目されている。
このようなスリープ状態の1つは、サスペンド・トゥ・ラム(STR)状態とも呼ばれることのあるS3状態である。このS3状態は、システムメモリを除いたすべてのシステムコンテキストが失われる、ロー・ウェイクアップ・レイテンシ・スリープ状態(low wakeup latency sleep state )として定義される。
S3状態に入る際、ほとんどのシステムデバイスの電源が落とされる。しかしながら、システムメモリをサポートするメモリコントローラのようなデバイスには、電力が部分的に供給され得る。
ACPIシステム管理は、その大部分において、高信頼コンピューティングおよび高信頼環境に影響を及ぼさない。しかしながら、あるS状態から他のS状態に移行することは、何らかの関連性を有している。
例えば上述のように、プロセッサがリセットさらた場合、高信頼環境を初期化するプロセスの一部は、物理メモリのコンテンツをクリアする。
しかしながら、システムがS3状態である場合、メモリはクリアされるべきではない。同様に、例えばシステムが、S4状態のような他のスリープ状態に置かれる場合、高信頼メモリの中にある秘密保護されたものを、ハードディスク上に保護されていない状態で記憶することはできない。
<高信頼コンピューティングプラットホームを採用したコンピュータシステム>
図1は、高信頼コンピューティングプラットホームを採用したコンピュータシステムの一実施形態のブロック図である。
コンピュータシステム10は、SEMプロセッサ100AおよびSEMプロセッサ100Bと呼ばれるSEMを実行可能な2つのプロセッサを含む。SEMプロセッサ100Aはプロセッサバス105を介してSEMプロセッサ100Bに接続される。
さらにコンピュータシステム10は、SEMプロセッサ100Aに接続されるシステムメモリ110Aと、SEMプロセッサ100Bに接続されるシステムメモリ110Bとを含む。SEMプロセッサ100Aはシステムバス125を介してI/Oインターフェイス120に接続される。
I/Oインターフェイス120は、ペリフェラルバス145を介して記憶装置140および周辺装置150に接続される。I/Oインターフェイス120はさらに、ペリフェラルバス135を介してSSP130に接続される。
他の実施形態では、ペリフェラルバス135の代わりに、点線で示すようにSSP130をペリフェラルバス145に接続してもよい。
ここで2つのSEMプロセッサを示しているものの、他の実施形態では異なる数のSEMプロセッサを用いてもよいことに注意すべきである。
さらに、同一の参照番号と一つの参照符号で示す要素は、単にその参照符号だけで参照することもあることに注意してもらいたい。例えば、SEMプロセッサ100Aを、場合によっては、単にSEMプロセッサ100と呼ぶこともある。
ある実施形態の一例においては、プロセッサバス105は、HyperTransport(商標)仕様に準拠する、高速ポイント間(point-to-point)リンクを形成することができる同期(coherent)リンク205である。
例えば、システムバス125もまた、HyperTransport(商標)I/O仕様と互換性を有する高速ポイント間リンクであり得る。
このような実施形態においては、SEMプロセッサ100Aは、非同期リンク225に接続し、同期リンク205においてSEMプロセッサ100AとSEMプロセッサ100Bとの間でメッセージを伝達するための統合ホストブリッジロジック(図示しない)を含んでいてもよい。
しかしながら、システムバス125が例えばフロントサイドバス(FSB)のような種類のものである他の実施形態も考え得ることに注意すべきである。
例示の実施形態では、SEMプロセッサ100AおよびSEMプロセッサ100Bはそれぞれ、システムメモリ110Aおよび110Bに接続するための統合メモリコントローラ101Aおよび101Bを含んでいる。
他の実施形態においては、I/Oインタフェース120が1つ以上のメモリコントローラとホストブリッジを含んでもよいことに注意すべきである。かかる実施形態においては、システムメモリ110はI/Oインタフェース120に接続されていてもよい。
SEMプロセッサ100は、x86アーキテクチャを採用するプロセッサの一例である。例えば、ある実施形態では、SEMプロセッサ100は、アドバンスト・マイクロ・ディバイシズ社のAthlon(登録商標)プロセッサであってもよい。そのために、SEMプロセッサ100は、システムメモリ110または記憶装置140に記憶されるx86命令を実行するように構成されている。例示の実施形態では、SEMプロセッサ100は、メモリコントローラ101中にセキュリティハードウェア(図示しない)を含み、SEMにより動作可能にされたときに、例えば、図1において説明した高信頼動作(TX)モードのようなSEM動作モードに対するサポートを提供する。
システムメモリ110は、SEMプロセッサ100により頻繁に使用されるプログラム命令およびデータを記憶するように構成されている。典型的なシステム構成では、記憶装置140は、そのようなプログラム命令やデータを永続的に記憶するために用いることができ、SEMプロセッサ100がそのデータやプログラムコードを必要とする際に、それはシステムメモリ110に転送される。SEM動作モードに対する追加のサポートがセキュリティカーネルにより提供される。それは、例えばSEMプロセッサ100の動作時に、システムメモリ110の外部でOSと連携して実行することができる。
さらに、システムメモリ110は、高信頼部分および無信頼部分とに区切ることができる。このセキュリティカーネルは、システムメモリ110の高信頼部分に常駐する。上述したように、システムメモリ110には通常ページ化された仮想メモリを使用してアクセスする。そのような構成においては、システムメモリ110には、個々のページ単位で、またはひとかたまりのメモリ単位でアクセス可能である。このページ化機能は、一般的にはOSのメモリ管理機能によって処理される。
さらに、メモリロケーションは割り当てられ、またその割り当てが取り消されることから、メモリロケーションの割り当てが取り消された状態であってもデータはアクセス可能となるようにしてもよい。
ある実施形態においては、システムメモリ110は、ダイナミックランダムアクセスメモリ(DRAM)技術、または例えばシンクロナスDRAM(SDRAM)のような利用可能なDRAM関連技術の一つに実装される複数のメモリチップを用いて実現可能である。DRAMチップは通常、エッジコネクタを有する小さい回路基板上に搭載され、この基板がマザーボード上のソケットコネクタに挿入される。この基板の仕様によって、それらは、シングルインラインメモリモジュールまたはデュアルインラインメモリモジュール(それぞれSIMMまたはDIMM)と呼ばれる。
システムメモリ110は、例えばメモリ拡張を可能にするメモリモジュールを複数バンクを含み得る。
上述したように、記憶装置140はプログラムコードおよびデータを記憶することができる。
ある実施形態では、記憶装置140は、ハードディスクドライブまたは複数のハードディスクドライブからなるバンクであるが、例えばCD−ROMドライブ、フロッピディスクドライブ、およびテープドライブのような他の大量記憶装置を含む他の実施形態も考え得る。
周辺装置150は、例えばモデム、ビデオキャプチャ装置、その他の汎用入出力装置などの、どのような周辺装置であってもよい。別の実施形態では、周辺装置の数は異なっていてもよいことに注意すべきである。
I/Oインタフェース120は、通常のシステム動作において、異なるペリフェラルバスとSEMプロセッサ100Aおよび100Bとの間におけるトランザクションに対して、バス制御および変換機能を提供するように構成することができる。
ある実施形態では、I/Oインタフェース120はノースブリッジに関連する機能を実行することができるバスブリッジ(図示しない)を含む。例えば、ペリフェラルバス145は、PCI(peripheral component interconnect)バスであってもよく、ペリフェラルバス135はLPC(low pin count)バスであってもよい。さらに、バスブリッジ121は、セキュア初期化の際にSEMプロセッサ100とSSP130との間でスプーフィング不可能な通信を可能にするセキュリティ機構(図示しない)を提供するように構成することができる。
一般的にセキュリティカーネル初期化命令(SKINIT)は、例えばSEMプロセッサ100AおよびSEMプロセッサ100BなどのSEM実行可能プロセッサ上で実行される。ある実施形態においては、SKINIT命令は、初期化、データ転送、そしてジャンプといった3つの実行フェーズを含む。
この初期化フェーズの際、SEMプロセッサ100Aの状態はリセットされ、すべてのマイクロコードのパッチがクリアされる。
さらに、以下に詳述するように、SEMプロセッサに統合された、またはSEMプロセッサ外部のメモリコントローラ101Aおよび101Bは、リセットのようなあるシステム条件に応じて、システムメモリ110のメモリチップの物理的なコンテンツを上書きするように構成されるロジック(図2には示されない)を含み得る。
図2は、メモリコントローラの一実施形態のブロック図を示す。
メモリコントローラ301は、メモリクリア状態ビット記憶装置325と、メモリクリアユニット310とに接続される制御ロジック315を含む。
メモリコントローラ301は、例えば図1のシステムメモリ110のようなシステムメモリに接続され得る。
メモリコントローラ301は、リセットまたは起動がサスペンド・トゥ・ラム(STR)に関するものでない限り、当該リセットまたは起動シーケンスに応じてシステムメモリ110のメモリチップの物理的コンテンツをクリアするように構成されてもよい。
ここに使用されるように、メモリチップのコンテンツをクリアすることは、システムメモリのメモリチップ内に記憶されるデータを上書きすること、したがって使用不可になることを示す。
ある実施形態においては、メモリコントローラ301は、それがアクセスするようにプログラムされたシステムメモリ中のすべてのロケーションに0のロジック値を書くことにより、メモリチップのコンテンツをクリアする。
他の実施形態においては、メモリコントローラ301は、それがアクセスするようにプログラムされたシステムメモリ中ですべてのロケーションに1のロジック値を書くことにより、メモリチップのコンテンツをクリアする。
さらに他の実施形態においては、メモリコントローラ301は、システムメモリ110に何か他のデータパターンを書くことにより、メモリチップのコンテンツをクリアし、以前にそこに記憶されたデータをすべて使用不可にする。このような実施形態においては、このデータパターンはランダムに生成される。
ある実施形態では、メモリコントローラ301は図1のメモリコントローラ101のようなSEMプロセッサ100内に統合されており、他の実施形態では、メモリコントローラ301はSEMプロセッサ100の外部にあることが注目される。後者の場合のメモリコントローラ301は、例えば図1のI/Oコントローラ120のようなブリッジユニットの一部であり得る。
例示の実施形態においては、制御ロジック315は、コンフィギュレーションおよび制御レジスタ316と、プラットフォーム・キャパビリティ・レジスタ320とを含んでいる。
コンフィギュレーションおよび制御レジスタ316は、アドレス指定可能メモリのサイズをプログラムするソフトウェアアクセス可能レジスタを含む。
例えば初期化の際、BIOSは、コンフィギュレーションおよび制御レジスタ316をプログラムすることによって、動作可能なシステムメモリのサイズを決定し、続いて、その動作可能なメモリにアクセスするようにメモリコントローラ301をプログラムする。
さらに、コンフィギュレーションおよび制御レジスタ316は、DRAMEビットを意味する、DRAM(dynamic random access memory)イネーブルビットを含み得る。
ある実施形態においては、DRAMEビットは、リセットにより、0のロジック値にセットされる。またこのDRAMEビットは、例えばメモリコントローラ301のプログラムにおける最後のステップとして、BIOSのようなソフトウェアによって1のロジック値にセットされる。
このメモリコントローラが動作不可(ディゼーブル)になるか切断される場合にも、ハードウェアはこのビットをクリアする。
セットされた場合、DRAMEビットはメモリコントローラ301を動作不可な状態から動作可能な状態に移行する。
さらに、コンフィギュレーションおよび制御レジスタ316は、DStatビットを意味する、DRAMステータスビットを含み得る。
ある実施形態の一例においては、DStatビットはソフトウェア側から見えない。このビットの0から1への移行は、メモリクリア動作が完了したことを示す。このメモリクリア動作が完了した際、このビットは制御ロジック315中のハードウェアによって1にセットされる。
DRAMEビットがクリアされる場合、DStatビットはクリアされ得る。例えば、DRAMEの値が真(true)であり、かつメモリクリアユニット310がメモリクリア動作中でない場合、DStat=1である。
例示の実施形態においては、メモリクリアユニット310は、メモリコントローラ301が動作不可な状態から動作可能な状態に移行し、メモリクリアユニット310が動作可能である場合に、コンフィギュレーションレジスタ316にプログラムされているシステムメモリの領域をクリアするように構成されている。
例えば、ある実施形態の一例においては、メモリクリアユニット310は、メモリクリア動作をする際、システムメモリに書き込まれるデータを生成するためのロジックを含んでいる。
例示の実施形態においては、プラットフォーム・セキュリティ・キャパビリティ・レジスタ320は、MCDを示すメモリクリア動作不可ビットを含んでいる。
以下に詳細に記載するように、このMCDビットはメモリクリアユニット310を動作可能または動作不可に構成することができ、これによりシステムメモリをクリアすることを可能または不可能にする。
ある実施形態の一例においては、プラットフォーム・セキュリティ・キャパビリティ・レジスタ320は、メモリコントローラ301に関連する位置座標空間に位置するソフトウェア側から見えないアクセス・プロテクション・レジスタである。
MCDビットは高信頼ソフトウェア側からのみ見える可能性があることが注目される。アドレシングは、新しいキャパビリティポインタ(0Fh)に基づく。このMCDビットは、直接メモリアクセス排他ベクトル(direct memory access exclusion vector)(DEV)制御レジスタの1ビットであり得る。
ある実施形態においては、MCDビットがロジック1にセットされる場合、メモリクリアユニット310は動作不可になる。また、MCDビットがロジック0にセットされる場合、メモリクリアユニット310は動作可能になる。
さらに、メモリが使用可能でない場合には、このMCDビットは書き込みできない可能性がある。
ある実施形態においては、システム電源は落とされるが、システムメモリのメモリチップに電力が供給され続ける場合(例えばS3状態)には常に、MCDビットの状態が維持され得ることが注目される。
ビット状態情報を維持するために、MCDビットは関連するサスペンド・トゥ・ラム(STR)ビットを有し得る。このビットは状態を維持し、MCDビットに関してマスタスレーブ配置で実行してもよい。
ある実施形態では、起動時にSTRビットの状態はMCDビット中にコピーされる。したがって、STRビットは、電源を落とす際にシステムメモリのコンテンツが保存されたかどうかを示す。
このSTRビットはソフトウェア側から見えないようにしてもよいし、リセットによってクリアされないようにしてもよい。
ある実施形態においては、システム電源が落とされるが、システムメモリのメモリチップには電力が供給され続ける場合(例えばS3状態)には常に、STRビットは状態を維持する。
一旦メモリコントローラ301が動作可能になれば、高信頼ソフトウェアは、S3状態に入る前にMCDビットをセットすることにより、間接的にSTRビットをセットすることができる。
電源を落とす前に、MCDビットの状態はSTRビットにコピーされる。このSTRビットは、DRAMEビットがセットされることになる際(例えば、メモリクリア動作がその状態を評価した後)、自動的にクリアされる。
例示の実施形態においては、このSTRビットはメモリクリア状態ビット記憶装置325中に含まれ得る。
例示の実施形態においては、メモリクリア状態ビット記憶装置325はさらに、以前にクリアされたメモリビットを含んでいる。
これらのビットは、前のメモリクリア動作によってクリアされた複数のメモリ部分の目印を記憶し得る。これらのビットはソフトウェア側から見えないようにしてもよいし、リセットによってクリアされないようにしてもよい。
ある実施形態においては、システム電源が落とされるが、システムメモリのメモリチップには電力が供給され続ける場合(例えばS3状態)には常に、以前にクリアされたメモリビットは状態を維持する。
メモリクリア動作が実行される毎に、以前にクリアされたメモリビットがリロードされ得る。
ある実施形態では、制御ロジック315は、以前にクリアされたメモリビット内に記憶された状態について、メモリコントローラ301に予めプログラムされているシステムメモリの現在のサイズをチェックすることができる。
ミスマッチがある場合、メモリクリアユニット310は無条件に上述したようなシステムメモリをクリアする。例えば、不正なBIOSまたはBIOSエミュレーションソフトウェアは、安全なメモリにアクセスしようとして、以前にアクセスおよびクリアされたメモリの領域よりも小さい領域にアクセスするように、メモリコントローラ310をプログラムするおそれがある。
したがって、ミスマッチが検出された場合、以前にクリアされたメモリ範囲の全体がクリアされる。
ある実施形態の一例では、以前にクリアされたメモリビットは、最後のメモリクリア動作によってクリアされたメモリの最も高い64Mバイトブロックの上位アドレスビットを記憶するように実装されるが、他の実施形態が考えられる。
ある実施形態においては、システム電源が落とされるが、システムメモリのメモリチップには電力が供給され続ける場合(例えばS3状態)には常に状態を保持するメモリクリア状態ビット記憶装置325のビットは、(点線で示すように)メモリコントローラを収容するデバイスのI/Oパッドリング中に実装された状態記憶素子に記憶される。
図3の説明とともに以下に詳述するように、リセットした後、メモリコントローラ301の制御ロジック315は、これらの状態記憶素子にアクセスすることができる。
ある種のシステムパワーダウン状態(例えばS3状態)中である場合でさえ、電源はあるデバイス(例えばRAMのような揮発性記憶装置)に残り続けるからである。
これらの状態記憶素子は、パワーダウンおよびその後のパワーアップシーケンスを通じてそれらの状態を保持する。
図3は、高信頼コンピューティング・プラットフォームのメモリコントローラの一実施形態の動作について記載するフローチャートである。
図2および図3に示すように、システムがリセットされたところから開始する(ステップ400)。
このリセットに応じて、BIOSは様々なシステムレベルのセットアップと、コンフィギュレーションタスクを実行する。例えばBIOSは、メモリコントローラ301を形成することによってシステムメモリを動作可能にしなければならない。
特定のシステムを実装することによって、BIOSは、システムメモリの物理的なサイズを決定すべく、1つ以上のメモリテストを実行する。
一旦利用できるメモリが決定された場合、ある実施形態の一例においては、BIOSは利用可能なメモリの現在のサイズでメモリコントローラ301の1つ以上のコンフィギュレーションレジスタ316をプログラムする(ステップ405)。
一旦メモリコントローラがプログラムされると、BIOSはDRAMEビットをセットすることによりメモリコントローラ301を動作可能にする(ステップ410)。
その後、メモリコントローラ301は動作不可状態から動作可能状態に移行する。制御ロジック315により、このSTRビットはMCDビットにコピーされる(ステップ415)。
この動作不可状態から動作可能状態への移行に応じて、制御ロジック315は、リセットの前に、S3状態(例えばサスペンド・トゥ・ラム)にあったかどうかを判断するためにMCDビットを読み出す(ステップ420)。
システムがS3状態でなかった場合(例えばMCDビットがクリアされている)、制御ロジック315はコンフィギュレーションレジスタ316に記憶された値からメモリサイズを決定する(ステップ430)。
制御ロジック315は、現在のプログラムされたメモリサイズ内にあるすべてのロケーションのメモリクリア動作を実行するように、メモリクリアユニット310に通知する(ステップ435)。
クリアされるメモリのサイズは、以前にクリアされたメモリビット中に保存される(ステップ440)。
ステップ425で、システムがS3状態(例えばMCDビットがセットされている)であったと制御ロジック315により判断された場合、制御ロジック315は、コンフィギュレーションレジスタ316に記憶された値から現在プログラムされたメモリサイズを決定し、メモリクリア状態ビット記憶装置325の以前にクリアされたメモリビット内に記憶された値を読み出すことによって、以前にクリアされたメモリビットを決定する(ステップ445)。
制御ロジック315は、現在プログラムされたメモリサイズを、以前にクリアされたメモリサイズと比較する(ステップ450)。
サイズミスマッチがある場合(ステップ455:Y)、制御ロジック315は、メモリクリア状態ビット記憶装置325の以前にクリアされたメモリビット内に記憶された値によって示されるような、以前のメモリクリア動作中でクリアされたすべてのロケーションのメモリクリア動作を実行するように、メモリクリアユニット310に通知する(ステップ460)。
クリアされるメモリのサイズは、以前にクリアされたメモリビット中に保存される(ステップ440)。
ある実施形態においては、MCDビットが評価された後にSTRビットがクリアされ得る。このクリアにより、リセットされた場合にメモリクリア動作ができるようになる。
再度ステップ455において、現在プログラムされたメモリサイズが以前にクリアされたメモリサイズと同じである場合(ステップ455:N)、メモリクリアユニット310がセットされたMCDビットにより動作不可状態となるので、メモリクリア動作は実行されないことになる(ステップ460)。
さらに、上述しように、一旦メモリコントローラ301が動作可能になると、MCDビットは、S3状態に入る前に高信頼ソフトウェアによってセットされ得る。これにより、リセットしてもメモリクリア動作ができないようになる。
上記実施形態は、かなり詳細に説明しているが、これまでの開示を完全に理解した当業者にとっては様々な変形または変更が可能になることは明らかである。添付の特許請求の範囲はすべてのそのような変形例または変更例を包含するように解釈されることを意図したものである。
本発明は一般に、コンピュータシステムに適用可能である。
高信頼コンピューティングプラットフォームを採用するコンピュータシステムの一実施形態を示すブロック図。 高信頼コンピューティングプラットフォームを採用するコンピュータシステムのメモリコントローラの一実施形態を示すブロック図。 高信頼コンピューティングプラットフォームを採用するコンピュータシステムのメモリコントローラの一実施形態の動作を示すフローチャート。

Claims (5)

  1. セキュアオペレーティングシステムコードセグメントを実行することにより、セキュア実行モードで動作するように構成されるプロセッサ(100A)と、
    前記プロセッサに接続され、データを記憶する複数のロケーションを含むシステムメモリ(110A)と、
    前記システムメモリに接続され、システムリセットに応じて動作可能とされると、前記システムメモリの前記複数のロケーションのプログラムされた範囲におけるメモリクリア動作を使用して、前記データを選択的にクリアするように構成されるメモリコントローラ(101A)と、を含んでおり、
    前記メモリコントローラはさらに、前記システムリセットの前に前記プロセッサがサスペンド・トゥ・ラム状態にあったと判断するとともに、前記以前のメモリクリア動作においてクリアされた前記複数のロケーションの前記プログラムされた範囲のサイズと現在のプログラムされたメモリサイズとが同一でないと判断するのに応じて、前記メモリクリア動作を使用して、前記データをクリアするように構成される、
    コンピュータシステム(10)。
  2. 前記メモリコントローラはさらに、前記リセットの前に前記プロセッサがサスペンド・トゥ・ラム状態になかったと判断するのに応じて、前記メモリクリア動作を使用して、前記データをクリアするように構成される、請求項1記載のコンピュータシステム。
  3. 前記メモリコントローラは、前記プロセッサが前記リセットの前にサスペンド・トゥ・ラム状態だったかどうかを示すビットを記憶するように構成される記憶装置(325)を含む、請求項1記載のコンピュータシステム。
  4. プロセッサ(100A)と、前記プロセッサ(100A)に接続されたシステムメモリ(110A)と、前記システムメモリ(110A)に接続されたメモリコントローラ(101A)とを含むコンピュータシステム(10)において、前記プロセッサ(100A)が、セキュリティ初期設定命令実行することにより、セキュア実行モードにおいて初期化され前記プロセッサ(100A)が、前記セキュア実行モードで動作すべくセキュアオペレーティングシステムコードセグメント実行するステップと、
    前記メモリコントローラ(101A)が、前記システムメモリ(110A)の複数のロケーション内にデータを記憶させるステップと、
    前記メモリコントローラ(101A)が、システムリセットに応じて、前記システムメモリの前記複数のロケーションのプログラムされた範囲におけるメモリクリア動作を使用して、前記データを選択的にクリアするステップと、を含んでおり、
    前記データを選択的にクリアするステップは、前記メモリコントローラ(101A)が、前記以前のメモリクリア動作においてクリアされた前記複数のロケーションの前記プログラムされた範囲のサイズと現在のプログラムされたメモリサイズとが同一でないと判断するとともに、前記システムリセットの前に、前記プロセッサがサスペンド・トゥ・ラム状態にあったとの判断に応じて、前記メモリクリア動作を使用して、前記データをクリアするステップを含む、
    方法。
  5. 前記メモリコントローラ(101A)が、前記システムリセットの前に前記プロセッサがサスペンド・トゥ・ラム状態だったかどうかを決定するステップをさらに含む、請求項記載の方法。
JP2006525317A 2003-09-04 2004-06-04 メモリをクリアするように形成されるメモリコントローラを含む、高信頼実行環境を採用するコンピュータシステム Expired - Lifetime JP4695082B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/654,734 US7210009B2 (en) 2003-09-04 2003-09-04 Computer system employing a trusted execution environment including a memory controller configured to clear memory
US10/654,734 2003-09-04
PCT/US2004/018043 WO2005026954A1 (en) 2003-09-04 2004-06-04 A computer system employing a trusted execution environment including a memory controller configured to clear memory

Publications (2)

Publication Number Publication Date
JP2007504553A JP2007504553A (ja) 2007-03-01
JP4695082B2 true JP4695082B2 (ja) 2011-06-08

Family

ID=34225999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006525317A Expired - Lifetime JP4695082B2 (ja) 2003-09-04 2004-06-04 メモリをクリアするように形成されるメモリコントローラを含む、高信頼実行環境を採用するコンピュータシステム

Country Status (8)

Country Link
US (1) US7210009B2 (ja)
JP (1) JP4695082B2 (ja)
KR (1) KR101093124B1 (ja)
CN (1) CN100416501C (ja)
DE (1) DE112004001605B4 (ja)
GB (1) GB2422228B (ja)
TW (1) TWI349230B (ja)
WO (1) WO2005026954A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765381B2 (en) * 2003-04-04 2010-07-27 Oracle America, Inc. Multi-node system in which home memory subsystem stores global to local address translation information for replicating nodes
US7228400B2 (en) * 2003-12-31 2007-06-05 Intel Corporation Control of multiply mapped memory locations
US7380069B2 (en) * 2004-11-19 2008-05-27 Marvell International Technology Ltd. Method and apparatus for DMA-generated memory write-back
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
US20070192826A1 (en) * 2006-02-14 2007-08-16 Microsoft Corporation I/O-based enforcement of multi-level computer operating modes
US8060744B2 (en) * 2006-03-23 2011-11-15 Harris Corporation Computer architecture for an electronic device providing single-level secure access to multi-level secure file system
US8127145B2 (en) * 2006-03-23 2012-02-28 Harris Corporation Computer architecture for an electronic device providing a secure file system
US8041947B2 (en) * 2006-03-23 2011-10-18 Harris Corporation Computer architecture for an electronic device providing SLS access to MLS file system with trusted loading and protection of program execution memory
US7979714B2 (en) * 2006-06-02 2011-07-12 Harris Corporation Authentication and access control device
US7877558B2 (en) * 2007-08-13 2011-01-25 Advanced Micro Devices, Inc. Memory controller prioritization scheme
US7757039B2 (en) * 2007-09-18 2010-07-13 Nikos Kaburlasos DRAM selective self refresh
US7937449B1 (en) * 2007-10-08 2011-05-03 Empirix, Inc. System and method for enabling network stack processes in user mode and kernel mode to access kernel memory locations
US20090144332A1 (en) * 2007-11-29 2009-06-04 Wallace Paul Montgomery Sideband access based method and apparatus for determining software integrity
US8250354B2 (en) * 2007-11-29 2012-08-21 GlobalFoundries, Inc. Method and apparatus for making a processor sideband interface adhere to secure mode restrictions
CN101493877B (zh) * 2008-01-22 2012-12-19 联想(北京)有限公司 数据处理方法及系统
US9274573B2 (en) 2008-02-07 2016-03-01 Analog Devices, Inc. Method and apparatus for hardware reset protection
US8117642B2 (en) * 2008-03-21 2012-02-14 Freescale Semiconductor, Inc. Computing device with entry authentication into trusted execution environment and method therefor
US7831816B2 (en) * 2008-05-30 2010-11-09 Globalfoundries Inc. Non-destructive sideband reading of processor state information
JP5286943B2 (ja) * 2008-05-30 2013-09-11 富士通株式会社 メモリクリア機構
FR2934697B1 (fr) * 2008-07-29 2010-09-10 Thales Sa Procede et systeme permettant de securiser un logiciel
US20100138597A1 (en) * 2008-11-28 2010-06-03 Kabushiki Kaisha Toshiba Information Processing System, System Controller, and Memory Control Method
US8880854B2 (en) * 2009-02-11 2014-11-04 Via Technologies, Inc. Out-of-order execution microprocessor that speculatively executes dependent memory access instructions by predicting no value change by older instructions that load a segment register
EP2270708A1 (en) * 2009-06-29 2011-01-05 Thomson Licensing Data security in solid state memory
WO2011018414A2 (en) * 2009-08-14 2011-02-17 Intrinsic Id B.V. Physically unclonable function with tamper prevention and anti-aging system
US20120036308A1 (en) * 2010-08-06 2012-02-09 Swanson Robert C Supporting a secure readable memory region for pre-boot and secure mode operations
US8458486B2 (en) * 2010-10-13 2013-06-04 International Business Machines Corporation Problem-based account generation
GB2511957B (en) * 2011-11-22 2015-02-11 Mips Tech Inc Processor with kernel mode access to user space virtual addresses
TWI464746B (zh) * 2012-03-30 2014-12-11 Wistron Corp 記憶體之清除電路
CN103368928B (zh) * 2012-04-11 2018-04-27 富泰华工业(深圳)有限公司 帐号密码重置系统及方法
US9043632B2 (en) 2012-09-25 2015-05-26 Apple Inc. Security enclave processor power control
US9047471B2 (en) 2012-09-25 2015-06-02 Apple Inc. Security enclave processor boot control
US8832465B2 (en) 2012-09-25 2014-09-09 Apple Inc. Security enclave processor for a system on a chip
US8775757B2 (en) 2012-09-25 2014-07-08 Apple Inc. Trust zone support in system on a chip having security enclave processor
US8873747B2 (en) 2012-09-25 2014-10-28 Apple Inc. Key management using security enclave processor
US20150089245A1 (en) * 2013-09-26 2015-03-26 Asher M. Altman Data storage in persistent memory
US9594927B2 (en) * 2014-09-10 2017-03-14 Intel Corporation Providing a trusted execution environment using a processor
US9547778B1 (en) 2014-09-26 2017-01-17 Apple Inc. Secure public key acceleration
US10127406B2 (en) * 2015-03-23 2018-11-13 Intel Corporation Digital rights management playback glitch avoidance
CN105630351A (zh) * 2015-12-23 2016-06-01 深圳市嘉兰图设计股份有限公司 具有一键清理后台程序功能的按键系统
US10884952B2 (en) * 2016-09-30 2021-01-05 Intel Corporation Enforcing memory operand types using protection keys
US10353858B2 (en) * 2017-12-18 2019-07-16 GM Global Technology Operations LLC System and method for managing system memory integrity in suspended electronic control units
US11681965B2 (en) * 2019-10-25 2023-06-20 Georgetown University Specialized computing environment for co-analysis of proprietary data
EP4579561A3 (en) 2022-12-30 2025-07-09 Google Llc Secure workflows that enhance data security using sandboxes hosted by trusted execution environments
DE102023207909A1 (de) * 2023-08-17 2025-02-20 Continental Automotive Technologies GmbH Computerimplementiertes Verfahren zum Verbessern der Datensicherheit in einer Rechenvorrichtung

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US200402A (en) * 1878-02-19 Improvement in toy money-boxes
US200405A (en) * 1878-02-19 Improvement in feed-water regulators
JPS62169218A (ja) * 1986-01-17 1987-07-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 情報処理システムのアプリケ−シヨン中断再開装置
AU640181B2 (en) * 1989-12-26 1993-08-19 Digital Equipment Corporation Method for securing terminal and terminal apparatus for use with the method
JPH07219885A (ja) * 1994-02-04 1995-08-18 Canon Inc 情報処理システム及び電子機器及び制御方法
JP3393521B2 (ja) * 1995-10-19 2003-04-07 日本電信電話株式会社 端末プログラム改ざん検出方法、および情報センタ
JPH09128232A (ja) * 1995-11-01 1997-05-16 Fujitsu Ltd プログラム正常性確認装置
JP3715711B2 (ja) * 1996-04-19 2005-11-16 キヤノン株式会社 画像処理装置及びその画像処理方法
US5987604A (en) 1997-10-07 1999-11-16 Phoenix Technologies, Ltd. Method and apparatus for providing execution of system management mode services in virtual mode
US6327652B1 (en) 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6243831B1 (en) * 1998-10-31 2001-06-05 Compaq Computer Corporation Computer system with power loss protection mechanism
US6175454B1 (en) 1999-01-13 2001-01-16 Behere Corporation Panoramic imaging arrangement
US6367022B1 (en) 1999-07-14 2002-04-02 Visteon Global Technologies, Inc. Power management fault strategy for automotive multimedia system
JP2001202289A (ja) * 2000-01-18 2001-07-27 Casio Comput Co Ltd セキュリティ管理方法およびそのプログラム記録媒体
US6938164B1 (en) 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
US6546472B2 (en) * 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
JP2002323939A (ja) * 2001-04-25 2002-11-08 Casio Comput Co Ltd 起動処理制御装置
JP2003037719A (ja) * 2001-05-17 2003-02-07 Sharp Corp 画像処理装置
US6854046B1 (en) 2001-08-03 2005-02-08 Tensilica, Inc. Configurable memory management unit
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US6922783B2 (en) * 2002-01-16 2005-07-26 Hewlett-Packard Development Company, L.P. Method and apparatus for conserving power on a multiprocessor integrated circuit
US20030154392A1 (en) * 2002-02-11 2003-08-14 Lewis Timothy A. Secure system firmware using interrupt generation on attempts to modify shadow RAM attributes
US7058768B2 (en) 2002-04-17 2006-06-06 Microsoft Corporation Memory isolation through address translation data edit control
US6986006B2 (en) 2002-04-17 2006-01-10 Microsoft Corporation Page granular curtained memory via mapping control
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US6925627B1 (en) * 2002-12-20 2005-08-02 Conexant Systems, Inc. Method and apparatus for power routing in an integrated circuit
US7284136B2 (en) * 2003-01-23 2007-10-16 Intel Corporation Methods and apparatus for implementing a secure resume

Also Published As

Publication number Publication date
US7210009B2 (en) 2007-04-24
US20050055524A1 (en) 2005-03-10
GB2422228B (en) 2007-02-14
WO2005026954A1 (en) 2005-03-24
CN100416501C (zh) 2008-09-03
JP2007504553A (ja) 2007-03-01
CN1846195A (zh) 2006-10-11
KR101093124B1 (ko) 2011-12-13
GB2422228A (en) 2006-07-19
DE112004001605B4 (de) 2010-05-06
TWI349230B (en) 2011-09-21
TW200527293A (en) 2005-08-16
DE112004001605T5 (de) 2006-07-06
KR20060061832A (ko) 2006-06-08
GB0604581D0 (en) 2006-04-19

Similar Documents

Publication Publication Date Title
JP4695082B2 (ja) メモリをクリアするように形成されるメモリコントローラを含む、高信頼実行環境を採用するコンピュータシステム
KR100987507B1 (ko) 보안 서비스 프로세서로의 접속을 위한 버스 브리지를포함하는 컴퓨터 시스템
US7165135B1 (en) Method and apparatus for controlling interrupts in a secure execution mode-capable processor
US7603551B2 (en) Initialization of a computer system including a secure execution mode-capable processor
US7496966B1 (en) Method and apparatus for controlling operation of a secure execution mode-capable processor in system management mode
US7130951B1 (en) Method for selectively disabling interrupts on a secure execution mode-capable processor
US7721341B2 (en) Method and system for allowing code to be securely initialized in a computer
EP1495401B1 (en) Initialization of a computer system including a secure execution mode-capable processor
US7146477B1 (en) Mechanism for selectively blocking peripheral device accesses to system memory
JP3982687B2 (ja) 分離実行環境での複数の分離メモリへのアクセスの制御
US6775734B2 (en) Memory access using system management interrupt and associated computer system
US20060184717A1 (en) Integrated circuit capable of flash memory storage management
JP3556309B2 (ja) コンピュータシステムおよびそのシステムで使用されるi/o制御装置
JPH1165922A (ja) パーソナルコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070529

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100825

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20100902

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101222

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

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

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

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4695082

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

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

EXPY Cancellation because of completion of term