JP2005508039A - 目標セキュリティを決定する物理アドレスベースのセキュリティのための方法および装置 - Google Patents
目標セキュリティを決定する物理アドレスベースのセキュリティのための方法および装置 Download PDFInfo
- Publication number
- JP2005508039A JP2005508039A JP2003540771A JP2003540771A JP2005508039A JP 2005508039 A JP2005508039 A JP 2005508039A JP 2003540771 A JP2003540771 A JP 2003540771A JP 2003540771 A JP2003540771 A JP 2003540771A JP 2005508039 A JP2005508039 A JP 2005508039A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- security level
- segment
- access
- security
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2113—Multi-level security, e.g. mandatory access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Description
【0001】
本発明は一般にコンピュータシステムのオペレーションに関し、さらに詳細には、セキュアなメモリアクセスを提供するための物理アドレスベースのセキュリティ手法を実行するための方法および装置に関する。
【背景技術】
【0002】
コンピュータまたはコンピュータシステムは今日の産業用および家庭用の数多くのアプリケーションにおいて重要な要素である。製造システム、電力システム、製品配送システム、文書システム等々のような数多くのシステムがプロセッサを使用するコンピュータシステム上で動作している。これらのプロセッサは様々な試験を実行し、相互に影響しあう複数のソフトウェアプログラムを実行する。しばしば、入出力装置はプロセッサおよびソフトウェアプログラムのオペレーションの操作を許可する。プロセッサのオペレーションの際には、特定のソフトウェア構造(つまり、ソフトウェアオブジェクト、サブルーチン、スタンドアローンプログラムなど)が制御可能であり、他のソフトウェア構造に対して優先度を与えることができるようにする、標準レベルのセキュリティが望ましい。許可されていないまたは不注意なプロセッサによるアクセスまたはオペレーションを防止するために、特定のソフトウェア構造および特定のプロセッサ機能へのアクセスはしばしば制限される。現在のコンピュータアーキテクチャには仮想メモリを利用する仕組みが含まれている。仮想メモリの仕組みでは、コンピュータシステム内の物理メモリに常駐するいくつかのシステム定義テーブルを用いる。通常、これらのシステムテーブル内のエントリーは予め決定されており、特定のソフトウェア構造へのアクセスを制限する予約セクションを含んでいる。
【0003】
コンピュータシステムはシングルタスクの装置から、マルチタスクの装置へと進化してきた。コンピュータシステムは、多くのタスクを実行し、それらのリソース(資源)利用を監督するオペレーティングシステムを採用する。一般的に、あるユーザがプロセスを起動する(つまり、ワードプロセッサなどのアプリケーションプログラムを開く)とき、オペレーティングシステムは特定のコンピュータ資源(つまり、メモリの一部)をそのタスクによる利用のために割り当てる。しかしながら、多くのコンピュータ資源は、このような方法では割り当てることができず、または割り当てられない。例えば、プリンタドライバは複数のタスクによって頻繁に使用される。従って、オペレーティングシステムは通常そのような共有の資源に関係するタスクに対してアクセス権およびプロトコルを定める。このようなオペレーティングシステムの努力のおかげで、コンピュータシステムは効率的な方法で複数のタスクを同時に実行できるのである。
【0004】
そのようなコンピュータ環境の一つの重要な見地は「セキュリティ(安全性、安全保障)」である。マルチタスクのコンピュータシステムは、ユーザプロセスからそれらのオペレーティングシステムを守り、複数のプロセスを相互に守るためにセキュリティおよびプロテクションサービスを採用する。プロテクションがない場合、異常なプログラムがオペレーティングシステムまたは他のプロセスに属するメモリ空間内のプログラムコードやデータを、意図的にではなくとも破壊することが可能となる。少なくともこの文脈においては、セキュリティは、例えそれが意図的な悪意のある行為を防止することを予期させるものであるとしても、意図的な悪意のある行為を阻止することまで含むものではない。
【0005】
x86プロセッサのような多くのプロセッサは、特権(privilege)レベルのような、複数のセキュリティレベルを提供する。図1に、複数のセキュリティレベルの代表例を示す。図1の逆ピラミッド型の構造は、4つのレベルのセキュリティ(特権)レベル0、レベル1、レベル2およびレベル3を示す。オペレーティングシステムには、レベル0などの基本特権レベルが与えられている。セキュリティレベル0によって与えられる特権は、特定のソフトウェア構造に対して、レベル1−3などの後続のセキュリティレベルによって提供されるアクセスを取得することを許可する。もしあるソフトウェア構造がセキュリティレベル2の特権しか許可されていないときは、その特定のソフトウェア構造は、特権レベル2または3が与えられたオペレーションに対するアクセスおよび制御しか持たない。多くの場合、マイクロソフトウィンドウズ(登録商標)のような数多く出回っているオペレーティングシステムは、複数の特権レベルの機能を完全には利用していない。いくつかのソフトウェアオペレーティングシステムは、レベル0とレベル3のような、2つの特権レベルしか使用していない。
【0006】
オペレーティングシステムサービスおよびすべてのドライバがセキュリティレベル0で動作するとき、ユーザアプリケーションプログラムはセキュリティレベル3で実行されうる。このことが、コンピュータシステムを様々なセキュリティ上のリスクにさらしうる。ほとんどのドライバは、セキュリティレベル0の最大特権レベルで動作しているので、すべてのコンピュータ資源にアクセスを持つので、とりわけそれが当てはまる。従って、モデム装置などの、コンピュータシステム内のある装置を制御するドライバへの許可されないアクセスが、システム破壊をもたらすモデムの許可されない動作を生じさせる可能性がある。さらに、システムメモリへの不許可アクセスが、重要なデータおよびソフトウェアプログラムの消失を引き起こす可能性がある。
【0007】
本発明は、上述の一以上の問題を克服し、または少なくともそれらの問題の影響を低減することを目的とする。
【発明の開示】
【発明の概要】
【0008】
本発明の一態様において、仮想メモリアクセスを実行する方法が提供される。ソフトウェアオブジェクトが実行される。ソフトウェアオブジェクトに対するセキュリティレベルが確立される。複数のセキュリティレベルのうちの少なくとも一つを用いたマルチテーブル・メモリアクセスが実行される。オブジェクトの機能が実行される。
【0009】
本発明の他の態様において、仮想メモリアクセスを実行する装置が提供される。本発明の装置は、バスに結合されたプロセッサと、少なくとも一つのソフトウェアオブジェクトをプロセッサに結合する手段と、メモリユニットと、バスおよびメモリユニットに結合されたメモリアクセスインターフェイスとを備え、このメモリアクセスインターフェイスは、ソフトウェアオブジェクトを実行するプロセッサに応答して、少なくとも一つのセキュリティレベルに基づいて、メモリユニットの少なくとも一部に対するマルチレベルテーブルメモリアクセスをプロセッサに提供する。
【発明を実施するための最良の形態】
【0010】
添付の図面とともに以下の説明を参照することによって、本発明を理解することができるであろう。図面中、類似の参照符号は類似の要素を示す。
本発明は様々な変形や代替形態をとることが可能であるが、その特定の実施形態を例示のために図示し、以下で詳細に説明する。しかしながら、本明細書中の特定実施形態についての説明は、開示された特定の形態に本発明を限定しようとするものではなく、むしろ反対に添付の特許請求の範囲に定義された発明の精神および範囲に入る、すべての変形例、均等物、および代替物を含めようとするものである、ことを理解してもらいたい。
【0011】
本発明の例示となる実施形態を以下に説明する。明確にするために、本明細書では現実の実施物の特徴をすべて説明することはしない。そのような実際の実施形態の開発においては、開発者の特定の目的を達成するために、常に様々な実施形態に応じた決定を行わなければならないことが理解できるであろう。そのような目的の例としては、実施形態毎に変化する、システムに関係する順守事項であったり、ビジネス上の制約事項であったりする。さらに、そのような開発努力がたとえ複雑で時間のかかるものであったとしても、本発明の開示による利益を享受する当業者にとっては、日常的な仕事に過ぎない。
【0012】
図1に、セキュリティアクセスシステムを用いたメモリアクセスを提供する本発明の実施形態を示す。本発明の実施形態は、コンピュータシステムの一以上のプロセッサによって開始されたメモリアクセスの間、セキュリティを提供するための複数(マルチプル)メモリアクセステーブルシステムを提供する。本発明の実施形態はまた、1次仮想メモリアクセステーブルおよび2次メモリアクセステーブルを利用した仮想メモリアクセスシステムを提供し、それによってメモリアクセスの際のセキュリティが高くなる。
【0013】
図2に、本発明に従ったシステム200の一実施形態を示す。システム200は処理装置210と、キーボード230、マウス240、入力ペン250などの複数の入出力装置と、モニタなどの表示装置220とを備える。一実施形態において、本発明によって開示されるセキュリティレベルシステムは、処理装置210に存在する。入出力装置230,240,250の一つからの入力が、処理装置210内の1以上のソフトウェア構造(オペレーティングシステムを含む)の実行を開始させる。次に、システム200内のメモリがアクセスされて、処理装置210内の様々なソフトウェア構造が実行される。本発明の実施形態は、システム200にプログラムされた所定のセキュリティエントリーに基づいて、1以上のソフトウェア構造によって開始されたメモリアクセスを制限する。
【0014】
図3は、本発明に従った処理装置210の一実施形態の簡略化ブロック図である。一実施形態である処理装置210は、プロセッサ310と、メモリアクセスインターフェイス320と、メモリユニット340と、ソフトウェアオブジェクトまたはソフトウェア構造のようなプログラマブルオブジェクト350とを有する。プロセッサ310は、複数のプロセッサ(図示せず)を含む、マイクロプロセッサとすることができる。メモリ装置340は、磁気テープメモリ、フラッシュメモリ、ランダムアクセスメモリ、半導体チップ上に配置されたメモリ等のような物理メモリを含む、物理メモリセクション345を有する。半導体チップ上に配置されるメモリは、シンクロナス・ダイナミック・ランダム・アクセスメモリ(SDRAM)、ダブルレート・ダイナミック・ランダム・アクセス・メモリ(DDRAM)等の、様々な形態のなかから任意の形態をとることができる。プロセッサ310は、システムメモリ・アクセスインターフェイス320を介して、メモリユニットと通信する。一実施形態において、メモリアクセスインターフェイス320は従来型の構造を持ち、メモリ装置340にメモリアドレスとロジック信号を供給して、所望のメモリトランザクションの特性を与える。
【0015】
一実施形態において、プロセッサ310はホストバス315に結合される。プロセッサ310はホストバス315を介して、メモリアクセスインターフェイス320およびオブジェクト350と通信する。メモリアクセスインターフェイス320はホストバス315およびメモリユニット340に結合される。プロセッサ310はまた、周辺装置との通信に用いられる1次バス325に結合される。一実施形態において、1次バス325はPCI(peripheral component interconnect)バスである(PCI仕様書、Rev.2.1を参照)。表示装置220を駆動するビデオコントローラ(図示せず)およびその他の装置(つまり、PCI装置)は1次バス325に結合される。コンピュータシステム200は、2次PCIバス(図示せず)のようなその他のバス、または当業者に既知のその他の周辺装置(図示せず)を含んでもよい。
【0016】
プロセッサ310は、オブジェクト350からの命令をもとに、複数のコンピュータ処理オペレーションを実行する。オブジェクト350は、プロセッサ310に複数の機能を実行させるソフトウェア構造を含む。さらに、オペレーティングシステムのような、オブジェクト350の複数のサブセクション、マイクロソフトワード(登録商標)のようなユーザインターフェイス・ソフトウェアシステムなどは同時に存在して、プロセッサ310内でオペレーションを実行することができる。本発明の実施形態はプロセッサ310にセキュリティレベルアクセスと特権を与える。
【0017】
オブジェクト350から提供されたソフトウェアコードの実行に応答して、1以上のオブジェクト350の開始によって起動されたタスクを実行するために、プロセッサ310は1以上のメモリアクセスを実行する。プロセッサ310によって実行されるメモリアクセスは、実行(execution)コードの記憶のためのメモリ位置へのアクセスと、記憶されたメモリ位置からデータを取得するためのメモリアクセスとを含む。しばしば、特定のメモリ位置に記憶された特定のデータに対するアクセスが、選択されたいくつかのオブジェクト350の一つによって制限される。本発明の実施形態は、システム200内の特定メモリ位置へのアクセスを制限する、マルチテーブルセキュリティアクセスを提供する。プロセッサ310は、メモリアクセスインターフェイス320を介して、メモリアクセスを実行する。メモリアクセスインターフェイス320はメモリ装置340に対するアクセスを提供する。メモリ装置340は、物理メモリ345と、仮想メモリ342とを含む(すなわち、物理メモリは、本発明の開示による利益を得た当業者に知られている仮想メモリ技術を用いて組織されている)。本発明の少なくとも一つの実施形態において、マルチテーブル仮想メモリアクセスプロトコルが提供される。
【0018】
図4は、本発明に従ったメモリアクセスインターフェイス320の一実施形態のブロック図である。一実施形態において、メモリアクセスインターフェイス320は、仮想メモリアクセステーブル410と、2次テーブル430とを含む。本発明の実施形態は、仮想メモリシステムを用いたメモリアクセスの実行を提供する。本発明の実施形態において用いられる仮想メモリシステムは、マルチレベルテーブルアドレッシング機構(すなわち、2次テーブル430とともに仮想メモリアクセステーブル410を用いる)を使用して、仮想メモリアドレスにアクセスする。所望の物理メモリ位置を示すのに、仮想メモリアドレスがプロセッサ310によって使用される。
【0019】
仮想メモリアドレスを定義するのに、システム200は仮想メモリアクセステーブル410を、2次テーブル430のような、少なくとも一つの他のテーブルとの組み合わせで用いる。仮想メモリアクセステーブル410および2次アクセステーブル430は物理メモリアドレスに繋がる仮想メモリアドレス(リニアアドレス)を変換するのに使用される。物理メモリアドレスは、物理メモリ345内のメモリ位置を指し示す。本発明の実施形態によって提供されるマルチレベルメモリテーブルシステムは、2次テーブル430が仮想メモリアクセステーブル410のセクション全体を定義することを可能にする。ある場合には、2次テーブル430は、仮想メモリアクセステーブル410には存在していない可能性のある仮想メモリアドレスの一部を定義する。2次テーブル430は、仮想メモリアクセステーブル410によって生成される仮想メモリアドレスをもとにして、物理メモリ位置をさらに定義するための精密調整装置として用いることができる。これによって、より正確な、そして高速な仮想メモリアドレスの定義ができるようになる。
【0020】
一実施形態において、図3に示すように、複数のサブセットテーブルをそのなかに含む2次テーブル430が、物理メモリ340またはシステム200のメインメモリ(図示せず)に記憶される。保証されていない(unsecured)または未証明の(unverified)ソフトウェア構造またはオブジェクト350が2次テーブル430へのアクセスを得ることを防ぐために、2次テーブル430は高いセキュリティレベルで記憶される。一実施形態において、プロセッサ310は、あるオブジェクト350から送られた命令に基づいて、物理メモリ345のある位置に対するアクセスを要求する。プロセッサ310からのメモリアクセス要求に応答して、メモリアクセスインターフェイス320は仮想メモリアクセステーブル310に仮想メモリアドレスを生成するように指示する。仮想メモリアドレスは、2次テーブル430によって、さらに規定される。次に、仮想メモリアドレスは仮想メモリ342内の位置を指し示す。次に、プロセッサ310は仮想メモリ位置に対するアクセスを要求する。仮想メモリ位置は次に物理メモリ345内の対応する位置を決定するために用いられる。
【0021】
プロセッサ310によって実行されるメモリアクセスを実行するための一実施形態を、図5A、図5Bに図示し、以下で説明する。図5Aに、データプロセッサまたはコンピュータシステム内にセキュリティレベル属性を記憶し、読み出すためのメモリシステム500の一実施形態を示す。一実施形態において、メモリシステム500はシステム200の処理装置210内に統合される。メモリシステム500は、メモリにアクセスするのに仮想アドレス指定構造を使用するデータプロセッサ(図示せず)において便利である。例えば、メモリシステム500は、x86タイプのマイクロプロセッサに実装されているページングの仕組みのような、ページングの仕組みを用いてメモリのアドレス指定を行うときに、プロセッサ310によって使用される。一実施形態において、x86システムでは、一つのメモリページは4Kバイトのメモリを含む。さらに、メモリシステム500は、ページレベルで適切なセキュリティレベル属性を割り当てる、プロセッサ310の特定のアプリケーションをもたらす。
【0022】
メモリシステム500は、x86タイプのマイクロプロセッサのページング装置によって受信されうる仮想、リニア、中間(intermediate)アドレスとは対照的に、ページ部510とオフセット部520とから構成される物理アドレス553を受信する。一実施形態において、ページ部510のデータは適切なメモリページをアドレスし、オフセット部520のデータは選択されたページ部510内の特定のオフセットメモリ位置をアドレスする。メモリシステム500は、x86タイプのマイクロプロセッサ内のページング装置(図示せず)によって生成されるような、物理アドレス553を受信する。
【0023】
一般的に拡張セキュリティ属性テーブル(extended security attributes table; ESAT)と呼ばれる、マルチレベル・ルックアップテーブル530は物理アドレスのページ部510を受信する。マルチレベル・ルックアップテーブル530は、メモリの各ページに関係するセキュリティ属性を記憶する。すなわち、各ページは、そのページに関連づけられた、特定のセキュリティレベル属性を有する。一実施形態において、ページに関連づけられたセキュリティ属性はマルチレベル・ルックアップテーブル530に記憶される。例えば、各ページに関連づけられたセキュリティ属性は、ルックダウン(look down)、セキュリティコンテクスト(security context)ID、ライトウェイトコールゲート(lightweight call gate)、リードイネーブル(read enable)、ライトイネーブル(write enable)、エグゼキュート(execute)、エクスターナル・マスターライト・イネーブル(external master write enable)、エクスターナル・マスターリード・イネーブル(external master read enable)、エンクリプトメモリ(encrypt memory)、セキュリティ・インストラクション・イネーブルド(security instructions enabled)などを含む。これらの属性の多くは、本明細書の開示の利益を得た当業者には既知のものである。
【0024】
一実施形態において、マルチレベル・ルックアップ・テーブル530はシステム200のシステムメモリ(図示せず)に配置されている。代替の実施形態においては、マルチレベル・ルックアップ・テーブル530は、システム200を使用するマイクロプロセッサを含むプロセッサ310に統合される。従って、マルチレベル・ルックアップ・テーブル530が動作可能な速度は、少なくとも部分的には、システムメモリの速度に依存する。システムメモリの速度は、プロセッサ310の速度に比較すると、通常は相対的に遅い。従って、マルチレベル・ルックアップ・テーブル530を使用してセキュリティ属性を読み出すプロセスは、システム200の全体としての動作を遅くする。セキュリティ属性を見つけて、読み出すのに必要な時間を短縮するために、マルチレベル・ルックアップ・テーブル530に並列にキャッシュ540が実装される。キャッシュ540は、プロセッサ310と同じ半導体ダイ上に配置することもできるし(すなわち、キャッシュとプロセッサ310とが一つの半導体チップ上に集積される)、プロセッサダイの外に配置することもできる。一般的には、キャッシュ540の速度は、マルチレベル・ルックアップ・テーブル530の速度よりも実質的に速い。キャッシュ540は、ページのより小さなサブセットおよびマルチレベル・ルックアップ・テーブル530内に含まれるそれらのセキュリティ属性を含む。従って、キャッシュ540に記憶されたページについては、セキュリティ属性を読み出す動作が実質的に強化される。
【0025】
図5Bに、メモリ内のあるページに関連づけられたセキュリティ属性を記憶し、読み出すのに使用されるマルチレベル・ルックアップ・テーブル530の一実施形態を示す。マルチレベル・ルックアップ・テーブル530は、一般にESATディレクトリと呼ばれる第1テーブル550、および一般にESATと呼ばれる第2テーブル552を含む。通常、第1テーブル550は、複数のESAT552についての開始アドレスのディレクトリを含み、その中には各ページのセキュリティ属性が記憶される。ここで説明した実施形態では、メモリ全体をマップするのに単一のESATディレクトリ550が使用される。
【0026】
最高次ビットを含み、一般にディレクトリ(DIR)554と呼ばれる、物理アドレス553の第1部分は、第1テーブル550へのポインタとして使われる。物理アドレス553はまた、アドレスされているテーブル550,552を特定することができる、テーブルデータ570を含む部分を有する。物理アドレス553はさらにテーブル550,552内に、特定のエントリー560,580へとつながる、オフセット520を含む。第1テーブル550は、システムメモリ内の基準アドレス555に配置されている。物理アドレス553のDIR部分554が基準アドレス555に加えられてエントリー560を特定し、それは第2テーブル552のなかの一つの適切なアドレスの基準アドレスを指す。一実施形態において、複数の第2テーブル552をマルチレベル・ルックアップ・テーブル530内に配置することができる。通常、第1テーブル550のエントリー560のそれぞれは、第2テーブル552内の複数のアドレスのうちの一つの開始アドレスを指す。すなわち、各エントリー555は独自の別々のESAT552を指し示すことができる。
【0027】
一実施形態においては、第1テーブル550および複数の第2テーブルのそれぞれは、物理メモリ345の1ページを占有する。従って、ページングがイネーブルにされた、x86タイプのマイクロプロセッサ内の従来型メモリ管理装置が、必要に応じてシステムメモリに対してテーブル550,552をスワップによって出し入れすることができる。つまり、テーブル550,552のマルチレベル構成によって、メモリシステム500を正しく動作させるために、テーブル552のすべてが物理メモリ345に同時に配置する必要がない。もし、物理メモリ内に現在配置されていないテーブル552の一つが、第1テーブル550のあるエントリー560によって要求されたとすると、x86マイクロプロセッサの従来型メモリ管理装置(図示せず)が、ハードディスクドライブなどの主記憶からそのページを読み出し、システムメモリ内のアクセス可能な場所に要求されたページ552を記憶する。このテーブル550,552の1ページサイジングが、マルチレベル・ルックアップ・テーブル530を記憶するのに必要なシステムメモリの量を減らし、テーブル550,552を使用してメモリにアクセスするのに必要なメモリスワップの回数を減らす。
【0028】
一実施形態において、各ページのサイズは4Kバイトであり、システムメモリの合計は16Mバイトである。従って、おおよそ4000のESATテーブル552が1ページ内に配置される。一実施形態では、4000のESATテーブル552のそれぞれは、4000セットのセキュリティ属性を包含することができる。さらに、ESATディレクトリ550は4000のESATテーブル552のそれぞれについての開始アドレスを含む。第1テーブル550のエントリー560は、適切な第2テーブル552の基準アドレスを指し示す。適切な第2テーブル552内の好適なエントリー580が、物理アドレス553の第2部分552(テーブル部)をエントリー560に含まれる基準アドレス555に加えることによって特定される。一実施形態において、エントリー580は、物理メモリ345内の特定されたページに関連づけられた所定のセキュリティ属性を含む。図5A、図5Bに示されたマルチテーブル構成は例示のための実施形態であって、この開示の利益を得た当業者であれば、本発明に従った様々なマルチテーブル構成を実現することができるであろう。
【0029】
図6は、本発明の一実施形態に従った方法の流れ図である。システム200によってオブジェクト350が開始される(ブロック610)。特定のソフトウェアプログラム(例えば、マイクロソフトワード(登録商標))などのオブジェクト350が、マウス240などの入出力装置のアクティべーションによって開始される。オブジェクト350がシステム200によって開始されると、プロセッサ310はオブジェクト350によって供給されたコードを実行する(ブロック620)。次に、システム200は、オブジェクト350についての所定のセキュリティレベルに基づいてセキュリティレベルを確立する(ブロック630)。次に、システム200はマルチテーブルメモリ/リソースアクセスを実行する(ブロック640)。システム200によって実行される、このマルチテーブルメモリ/リソースアクセスについては、以下で詳細に説明する。確立されたセキュリティレベルおよびシステム200によって実行されるマルチレベルメモリ/リソースアクセスに基づいて、次にオブジェクト350の機能が実行される。オブジェクト350の機能には、文書作成、無線モデムなどのモデムによって開始される通信の実行などが含まれる(ブロック650)。
【0030】
図7は、図6のブロック640で説明した、マルチテーブル・メモリ/リソースアクセスを実行する一実施形態の流れ図である。システム200は、2次テーブル設定機能を実行する(ブロック710)。2次テーブルの設定には、2次テーブル430におけるセキュリティレベルデータの設定および/または更新が含まれる。2次テーブル430は、仮想メモリアクセステーブル410内の複数のセクションを定義するために使用することができる。2次テーブル430は、仮想メモリアクセステーブル410からは消えている、テーブルエントリー(例えば、図5Bの560,580)のセクション全体に関連するデータを含むことができる。
【0031】
一実施形態においては、システム200は物理メモリ345をページに分割して、プロセッサ310はページに基づいて物理メモリ345にアクセスする。一実施形態では、ページは、x86プロセッサと互換性をもつように、4Kバイトのメモリセクションに定義される。仮想メモリアクセステーブル410および2次テーブル430は、テーブル410,430へのインデックスを含む。これらのインデックスは、物理メモリ345の特定部分を示すのに用いられる、物理アドレス553を計算するのに使用可能である。プロセッサ310によって実行される、テーブル410,430を用いたメモリへのアクセスについては、以下でさらに詳しく説明する。
【0032】
システム200が2次テーブル430を設定すると、システム200はプロセッサ310からのメモリアクセス要求をチェックする(ブロック720)。プロセッサ310からのメモリアクセス要求は、通常、オブジェクト350から促される。いくつかのオブジェクト350は、それらのタスク、例えばモデムを介した通信の開始、特定の文書に関するデータの読み込みなどを実行するのに、大規模なメモリアクセスを必要とする。システム200は、メモリアクセス要求が受信されたかどうかを決定する(ブロック730)。システムがメモリアクセス要求が受信されていないと決定したとき、システム200は、図7のブロック730からブロック720へ戻る経路によって示されるように、メモリアクセス要求のチェックを継続する。
【0033】
システム200がメモリアクセスが要求されたと決定したとき、システム200は、本発明の一実施形態に従って、マルチレベルテーブルアクセスを実行する(ブロック740)。このシステムによって実行されるマルチレベルテーブルアクセスのさらに詳細な説明を以下で行う。システムがブロック740で説明したマルチテーブルアクセスを実行すると、次にシステム200はマルチレベル・テーブルアクセスに応答して、適切なメモリアクセスを許可する(ブロック750)。すなわち、システム200は、メモリ要求をプロセッサ310に要求することを促したオブジェクト350に、プロセッサ310によって要求された物理メモリ345のアクセスを実際に獲得することを許可する。
【0034】
図8に、図7のブロック710に示された、2次テーブル430を設定する方法の一実施形態を示す。システム200は物理メモリ345を複数のセグメントに分割する。これらのセグメントはしばしばメモリページと呼ばれる。一実施形態においては、セグメント/ページは、4キロバイトに相当するメモリに分割される(ブロック810)。一実施形態においては、物理メモリ345の4Kバイトセグメントへの分割は、この開示の利益を得た当業者に既知のハードウェアプロセスによって実行することが可能である。代替の実施形態においては、物理メモリ345のセグメントへの分割は、この開示の利益を得た当業者に既知のソフトウェア技術を用いて実行可能である。
【0035】
システム200はどのセグメントを2次テーブル430から削除する(省く)かを決定し、削除機能を実行する(ブロック820)。2次テーブル430から削除されたセグメントは、デフォルトのセキュリティレベルを割り当てることが可能なメモリページである。削除されたセグメントは、ブロードレベルまたはローレベルのセキュリティレベルを割り当てることが可能なメモリページを含む。従って、システム200は、削除されたセグメントにデフォルトのセキュリティレベルを割り当てる(ブロック830)。削除されたセグメントには最も低いセキュリティレベルが割り当てられるので、削除されたセグメントは事実上、プロセッサ310にメモリへのアクセスを促す任意のソフトウェアオブジェクト350からアクセスされうる。
【0036】
次に、システム200は、物理メモリ345内の削除されなかったセグメント/ページのそれぞれに対応する、セキュリティレベルを割り当てる(ブロック840)。システム200は、プロセッサ310を介した特定のオブジェクト350による予想されるアクセスに基づいて、メモリページにセキュリティレベルを割り当てる。システム200は、削除されていないセグメント/ページに適切なセキュリティレベルを割り当てる一方で、処理装置210内の特定のハードウェア装置および他のメモリ位置を保護する。
【0037】
セキュリティレベルが割り当てられると、システム200は特定のセグメント/ページを仮想メモリ342に対して関係付ける(ブロック850)。仮想メモリアドレスは、特定のセキュリティレベルに基づいて、特定の物理メモリセグメント345を指し示すことができる。次に、システム200は、仮想メモリ342の物理メモリ345のセグメントに対する関係(correlation)を利用して、マルチレベル2次テーブル430を作成する(ブロック860)。一実施形態では、メモリリソースを節約するために、2次テーブル430内の特定のスペースが削除される。上述したように、削除されたメモリ位置にはデフォルトのセキュリティレベル(通常は最低のセキュリティレベル)が割り当てられる。
【0038】
図9に、図7のブロック740で示した、マルチレベル・テーブルアクセス・プロセスを実行する一実施形態を示す。メモリアクセス要求を受信した後、システム200は、要求されたメモリアクセスに応答して、2次テーブル内のセキュリティレベルを決定する(ブロック910)。システム200は、プロセッサ310内でソフトウェアの実行を開始したオブジェクト350のタイプに関するプロセッサ310に対する指示に応答して、メモリアクセスに基づいて、2次テーブル430内のセキュリティレベルを決定する。特定のソフトウェアオブジェクト350は、メモリ内の特定の重要データへのアクセス、および/または処理装置310内の入出力装置へのアクセスを許可する、より高いレベルのセキュリティアクセスを必要とする。例えば、データの通信転送を必要とするソフトウェアオブジェクト350は、処理装置310からの重要データにアクセスするために、高いセキュリティレベルをクリアする必要がある。対象的に、マイクロソフトワード(登録商標)などのデータプロセッサ機能を実行するソフトウェアオブジェクト350は、そのタスクを実行するのに、低いレベルのセキュリティをクリアすればよい。
【0039】
次に、システム200は、メモリアクセス要求を開始した、ソフトウェアオブジェクト350の実行セキュリティレベル(execution security level)およびメモリアクセスの対象となるページのセキュリティレベルを審査する(ブロック920)。プロセッサ310は、現在実行しているソフトウェアオブジェクト350のセキュリティレベルと、メモリアクセスの対象となるページのセキュリティレベルとを、それらが合致するかどうか(つまり、要求されたメモリアクセスを許可するかどうか)を決定するために比較する。これによって、物理メモリ345内の特定の重要データへのアクセスが許可されない特定のソフトウェアが、特定のメモリ位置にアクセスしたり、制御したりすることを防止する。次に、システム200は、適切なセキュリティレベルを、ソフトウェアオブジェクト350によって開始された特定のアクセス要求に対して関係付ける(ブロック930)。
【0040】
次に、システム200は、2次テーブルアドレスを、物理メモリ345内の位置に対応する仮想メモリ342に関係付ける。システム200は物理メモリ345の位置を特定し、適切なセキュリティレベルを物理メモリページに関係付ける(ブロック950)。一実施形態において、メモリアクセスインターフェイス320は、仮想メモリ342の追跡および仮想メモリ342と物理メモリ345内の位置との関係付けを実行する。
【0041】
図10は、図9のブロック910に示すように、プロセッサ310のメモリアクセス要求に応答して、2次テーブル430内のセキュリティレベルを決定する一実施形態を示す。システム200は、仮想メモリアクセステーブル410からのメモリアクセス要求に応答して、物理アドレス553を決定する(ブロック1010)。次に、システム200が、ソフトウェアオブジェクト350に応答して、プロセッサ310によって現在実行されているメモリセグメント/ページの位置を、物理アドレス553をもとに特定する(ブロック1020)。ソフトウェアオブジェクト350に基づいたコードを実行しているとき、システム200はプロセッサ310が実行をしているページのセキュリティレベルを判定する。それによって、現在のセキュリティレベルを決定することができる。従って、システム200はセキュリティレベルを決定するのに、メモリセグメント/ページを効率的に使用する(ブロック1040)。次に、システム200は、決定されたセキュリティレベルをプロセッサ310に送り、正当なメモリアクセスを実行する(ブロック1030)。図10に示したステップを完了すると、図9のブロック910に示されたように、2次テーブル内のセキュリティレベルを決定するステップは実質的に完了する。
【0042】
図11に、図7のブロック750に説明した、適切なメモリアクセスを実行するためのステップの一実施形態の流れ図を示す。システム200は、特定のメモリアクセス要求に対応するセキュリティレベルをチェックする(ブロック1110)。セキュリティレベルは、プロセッサ310によって実行されている特定のソフトウェアオブジェクト350に基づいて、特定のメモリ要求に関係付けることができる。次に、システム200はメモリ/リソースへのアクセスを許可するのに十分なセキュリティレベルかどうかを判定する(ブロック1120)。システム200は、セキュリティレベルの認可が、プロセッサ310から要求されているメモリアクセスを許可し、特定のメモリ位置へのアクセス得るのに適当かどうかをチェックする。
【0043】
システム200が、プロセッサ310からの特定のメモリアクセス要求に基づいて、メモリ/リソースアクセスを許可するには、セキュリティレベルが十分高くないと判定したときは、システム200は要求されたメモリ/リソースアクセスを拒否する(ブロック1140)。システム200が、要求されたメモリ/リソースアクセスを許可するのに、セキュリティレベルは十分足りていると判定したときは、システム200は、プロセッサ310またはソフトウェアオブジェクト350に対し、物理メモリ345内の特定のメモリ位置へのアクセスを獲得するのを許可する(ブロック1130)。図11に示したステップを完了すると、図7のブロック750に示されたように、適切なメモリアクセスを許可するプロセスは実質的に完了する。本発明によって教示される原理は、他のタイプの自動化フレームワークにも採用することができる。
【0044】
上述の特定の実施形態は例示の目的のためだけのものであり、本明細書の教示の利益を得た当業者には明らかなように、異なってはいるが、均等なやり方で、本発明を変形し、実施することが可能である。さらに、添付の特許請求の範囲に記載した以外に、ここに開示した構造または設計の細部にまで限定することを意図していない。従って、上述の特定実施形態は変更され、または変形されうるが、そのような変形物のすべては本発明の範囲および精神の範囲内であると考えられることは明白である。従って、保護が求められる範囲は、添付の特許請求の範囲に記載される。
【図面の簡単な説明】
【0045】
【図1】コンピュータシステムのセキュアアクセスのための複数の特権レベルを表した図。
【図2】本発明の一実施形態に従って用いることが可能なコンピュータシステムのブロック図。
【図3】本発明の一実施形態に従った、図2に示された処理装置のさらに詳細なブロック図。
【図4】本発明の一実施形態に従った、図3に示したメモリアクセスインターフェイスのさらに詳細なブロック図。
【図5A】図1ないし4に示されたプロセッサによって実行されたメモリアクセスのブロック図。
【図5B】図1ないし4に示されたプロセッサによって実行されたメモリアクセスのブロック図。
【図6】本発明の一実施形態に従った、セキュリティ構造を用いたメモリアクセスを実行する方法の流れ図。
【図7】本発明の一実施形態に従った、図6に示したマルチテーブル・メモリアクセスを実行する方法の流れ図。
【図8】本発明の一実施形態に従った、図7で説明した2次テーブルを設定する方法の流れ図。
【図9】本発明の一実施形態に従った、図7で説明したマルチレベル・テーブルアクセスを実行する方法の流れ図。
【図10】本発明の一実施形態に従った、図9で説明した2次テーブル内のセキュリティレベルを決定する方法の流れ図。
【図11】本発明の一実施形態に従った、図7で説明したマルチレベル・テーブルアクセスに応答した、適切なメモリアクセスを促進する方法の流れ図。
Claims (10)
- ソフトウェアオブジェクト(350)を実行するステップと、
前記ソフトウェアオブジェクト(350)についてのセキュリティレベルを確立するステップと、
前記セキュリティレベルのうちの少なくとも一つを使用してマルチテーブル・メモリアクセスを実行するステップと、
前記オブジェクト(350)の前記機能を実行するステップとを含む方法。 - 前記ソフトウェアオブジェクト(350)についてのセキュリティレベルを確立するステップは、メモリの少なくとも一部のメモリアクセスに関するセキュリティレベルを割り当てるステップをさらに含む、請求項1記載の方法。
- 前記セキュリティレベルのうちの少なくとも一つを使用してマルチテーブル・メモリアクセスを実行するステップは、さらに
2次テーブル(430)を確立するステップと、
前記ソフトウェアオブジェクト(350)の実行に基づいて、メモリアクセス要求を受信するステップと、
前記メモリアクセス要求に基づいて、前記2次テーブル(430)および少なくとも一つの仮想メモリテーブル(410)を用いて、マルチレベル・テーブルアクセスを実行するステップと、
前記マルチレベル・テーブルアクセスに基づいて、メモリの一部にアクセスするステップとを含む、請求項1記載の方法。 - 前記2次テーブル(430)を確立するステップはさらに、
物理メモリ(345)を複数のセグメントに分割するステップと、
前記2次テーブル(430)から削除する少なくとも一つの前記セグメントおよび削除されない少なくとも一つの前記セグメントを決定するステップと、
前記削除されたセグメントにデフォルトのセキュリティレベルを割り当てるステップと、
前記削除されないセグメントにあるセキュリティレベルを割り当てるステップと、
少なくとも一つの割り当てられたセグメントを仮想メモリ位置に関係付けるステップとを含む、請求項4記載の方法。 - 前記メモリアクセス要求に基づいて、マルチレベル・テーブルアクセスを実行するステップは、さらに
前記2次テーブル(430)内のセグメントに対応する少なくとも一つのセキュリティレベルを決定するステップと、
前記オブジェクト(350)の実行に応答して、実行セキュリティレベルと現在アクセスされているセグメントに係るセキュリティレベルの間の整合を検証するステップと、
前記実行セキュリティレベルと前記現在アクセスされているセグメントに係るセキュリティレベルの間の整合に応答して、前記2次テーブル(430)に基づいて仮想メモリアドレスを決定するステップと、
前記仮想メモリアドレスに対応する物理メモリ位置を特定するステップとを含む、請求項4記載の方法。 - 前記2次テーブル(430)内のセグメントに対応する少なくとも一つのセキュリティレベルを決定するステップは、
前記仮想メモリテーブル(410)から物理アドレス(553)を決定するステップと、
前記物理アドレス(553)に基づいて、実行されているセグメントを判定するステップと、
前記実行されているセグメントを判定するステップに基づいて、現在のセキュリティレベルを定義するステップとを含む、請求項6記載の方法。 - 仮想メモリアクセスを実行する装置であって、
バス(315)に結合されたプロセッサ(310)と、
少なくとも一つのソフトウェアオブジェクト(350)を前記プロセッサ(310)に結合するための手段と、
メモリ装置(340)と、
前記バス(315)および前記メモリ装置(340)に結合され、少なくとも一つのセキュリティレベルに基づいて、前記ソフトウェアオブジェクト(350)を実行している前記プロセッサ(310)に応答して、前記プロセッサ(310)に前記メモリ装置(340)の少なくとも一部についてのマルチレベル・テーブルメモリアクセスを提供するメモリアクセスインターフェイス(315)とを備える装置。 - 前記メモリアクセスインターフェイス(315)は、2次テーブル(430)に結合された仮想メモリアクセステーブル(410)を含み、前記メモリアクセスインターフェイス(315)は、セキュリティレベルに基づいて前記メモリ装置(340)の少なくとも一部にアクセスするために、仮想メモリアドレス指定の仕組みを提供する、請求項13記載の装置。
- コンピュータによって実行されたときに、ある方法を実行する命令を記憶した、コンピュータ読み取り可能なプログラム記録媒体であって、当該方法は、
ソフトウェアオブジェクト(350)を実行するステップと、
前記ソフトウェアオブジェクト(350)についてのセキュリティレベルを確立するステップと、
2次テーブル(430)を確立するステップと、
前記ソフトウェアオブジェクト(350)の実行に基づいて、メモリアクセス要求を受信するステップと、
前記2次テーブル(430)内のセグメントに対応する少なくとも一つのセキュリティレベルを決定するステップと、
前記ソフトウェアオブジェクト(350)の実行に応答して、実行セキュリティレベルと現在アクセスされているセグメントに係るセキュリティレベルの間の整合を検証するステップと、
前記実行セキュリティレベルと前記現在アクセスされているセグメントに係るセキュリティレベルの間の整合に応答して、前記2次テーブル(430)に基づいて仮想メモリアドレスを決定するステップと、
前記仮想メモリアドレスに対応する物理メモリ位置を特定するステップと、
前記物理メモリ位置の特定に基づいて、メモリの一部にアクセスするステップと、
前記セキュリティレベルのうちの少なくとも一つを使用してマルチテーブル・メモリアクセスを実行するステップと、
前記オブジェクト(350)の前記機能を実行するステップとを含む、コンピュータ読み取り可能なプログラム記録媒体。 - コンピュータによって実行されたときに、請求項17記載の方法を実行する命令を記憶した、コンピュータ読み取り可能なプログラム記録媒体であって、
前記2次テーブル(430)内のセグメントに対応する少なくとも一つのセキュリティレベルを決定するステップは、
前記仮想メモリテーブル(410)から物理アドレス(553)を決定するステップと、
前記物理アドレス(553)に基づいて、実行されているセグメントを判定するステップと、
前記実行されているセグメントを判定するステップに基づいて、現在のセキュリティレベルを定義するステップとを含む、コンピュータ読み取り可能なプログラム記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/999,881 US20040064723A1 (en) | 2001-10-31 | 2001-10-31 | Method and apparatus for physical address-based security to determine target security |
PCT/US2002/025401 WO2003038573A2 (en) | 2001-10-31 | 2002-08-09 | Method and apparatus for physical address-based security to determine target security |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005508039A true JP2005508039A (ja) | 2005-03-24 |
Family
ID=25546734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003540771A Pending JP2005508039A (ja) | 2001-10-31 | 2002-08-09 | 目標セキュリティを決定する物理アドレスベースのセキュリティのための方法および装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20040064723A1 (ja) |
EP (1) | EP1440373B1 (ja) |
JP (1) | JP2005508039A (ja) |
KR (1) | KR100931706B1 (ja) |
CN (1) | CN100424659C (ja) |
AU (1) | AU2002324662A1 (ja) |
DE (1) | DE60237909D1 (ja) |
TW (1) | TW589530B (ja) |
WO (1) | WO2003038573A2 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707409B2 (en) * | 2002-04-30 | 2010-04-27 | Kt Corporation | Method and system for authenticating software |
US6785790B1 (en) * | 2002-05-29 | 2004-08-31 | Advanced Micro Devices, Inc. | Method and apparatus for storing and retrieving security attributes |
US7103914B2 (en) * | 2002-06-17 | 2006-09-05 | Bae Systems Information Technology Llc | Trusted computer system |
US20060090136A1 (en) * | 2004-10-01 | 2006-04-27 | Microsoft Corporation | Methods and apparatus for implementing a virtualized computer system |
CN101513008B (zh) * | 2006-07-31 | 2012-09-19 | 意大利电信股份公司 | 在电信终端上实现安全性的系统 |
EP2449469B1 (en) * | 2009-06-29 | 2019-04-03 | Hewlett-Packard Enterprise Development LP | Hypervisor-based management of local and remote virtual memory pages |
US9465946B2 (en) | 2012-06-01 | 2016-10-11 | Intel Corporation | Identification and execution of subsets of a plurality of instructions in a more secure execution environment |
US8812873B2 (en) | 2012-09-26 | 2014-08-19 | Intel Corporation | Secure execution of a computer program using binary translators |
KR102017828B1 (ko) * | 2012-10-19 | 2019-09-03 | 삼성전자 주식회사 | 보안 관리 유닛, 상기 보안 관리 유닛을 포함하는 호스트 컨트롤러 인터페이스, 상기 호스트 컨트롤러 인터페이스의 동작 방법, 및 상기 호스트 컨트롤러 인터페이스를 포함하는 장치들 |
US9389793B2 (en) | 2014-03-06 | 2016-07-12 | Freescale Semiconductor, Inc. | Trusted execution and access protection for embedded memory |
DE102014212018A1 (de) * | 2014-06-23 | 2015-12-24 | Continental Teves Ag & Co. Ohg | Verfahren und Schaltkreis zur Vermeidung von Speicherschutzverletzungen |
US9594929B2 (en) * | 2014-08-11 | 2017-03-14 | Honeywell International Inc. | Open architecture security methods and systems |
US9703623B2 (en) * | 2014-11-11 | 2017-07-11 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Adjusting the use of a chip/socket having a damaged pin |
JP6838223B2 (ja) * | 2016-11-02 | 2021-03-03 | 日立Astemo株式会社 | 車両制御装置 |
CN107562514B (zh) * | 2017-08-03 | 2020-11-24 | 致象尔微电子科技(上海)有限公司 | 一种物理内存访问控制与隔离方法 |
CN107562515B (zh) * | 2017-08-04 | 2021-09-07 | 海光信息技术股份有限公司 | 一种在虚拟化技术中管理内存的方法 |
CN107516052B (zh) * | 2017-08-14 | 2020-11-13 | 海光信息技术有限公司 | 一种内存访问隔离方法 |
US10956084B2 (en) * | 2018-05-04 | 2021-03-23 | International Business Machines Corporation | Drive utilization in multi-tiered systems with read-intensive flash |
US11087028B2 (en) * | 2018-09-04 | 2021-08-10 | International Business Machines Corporation | Multi-layered data security in mobile personal computing devices |
CN112528345A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 通信方法、装置、计算机可读存储介质和芯片 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4300192A (en) * | 1974-04-18 | 1981-11-10 | Honeywell Information Systems Inc. | Method and means for storing and accessing information in a shared access multiprogrammed data processing system |
US4104721A (en) * | 1976-12-30 | 1978-08-01 | International Business Machines Corporation | Hierarchical security mechanism for dynamically assigning security levels to object programs |
US5293597A (en) * | 1987-03-09 | 1994-03-08 | At&T Bell Laboratories | Concurrent context memory management unit |
JPH01175057A (ja) * | 1987-12-28 | 1989-07-11 | Toshiba Corp | セキュリティの動的管理方法 |
US4926476A (en) * | 1989-02-03 | 1990-05-15 | Motorola, Inc. | Method and apparatus for secure execution of untrusted software |
US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
US5627987A (en) * | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
US5802590A (en) * | 1994-12-13 | 1998-09-01 | Microsoft Corporation | Method and system for providing secure access to computer resources |
US5940590A (en) * | 1997-05-31 | 1999-08-17 | International Business Machines Corporation | System and method for securing computer-executable program code using task gates |
US6775779B1 (en) * | 1999-04-06 | 2004-08-10 | Microsoft Corporation | Hierarchical trusted code for content protection in computers |
GB2356469B (en) * | 1999-11-17 | 2001-12-12 | Motorola Ltd | Portable data carrier memory management system and method |
US6477612B1 (en) * | 2000-02-08 | 2002-11-05 | Microsoft Corporation | Providing access to physical memory allocated to a process by selectively mapping pages of the physical memory with virtual memory allocated to the process |
JP4522548B2 (ja) * | 2000-03-10 | 2010-08-11 | 富士通フロンテック株式会社 | アクセス監視装置及びアクセス監視方法 |
CN1289968A (zh) * | 2000-11-17 | 2001-04-04 | 后健慈 | 控制内存记忆页存取属性的方法及其架构 |
US6694457B2 (en) * | 2001-03-06 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | System and method for monitoring execution of privileged instructions |
US6823433B1 (en) * | 2001-11-13 | 2004-11-23 | Advanced Micro Devices, Inc. | Memory management system and method for providing physical address based memory access security |
-
2001
- 2001-10-31 US US09/999,881 patent/US20040064723A1/en not_active Abandoned
-
2002
- 2002-08-09 WO PCT/US2002/025401 patent/WO2003038573A2/en active Application Filing
- 2002-08-09 EP EP02759319A patent/EP1440373B1/en not_active Expired - Lifetime
- 2002-08-09 AU AU2002324662A patent/AU2002324662A1/en not_active Abandoned
- 2002-08-09 JP JP2003540771A patent/JP2005508039A/ja active Pending
- 2002-08-09 CN CNB028217306A patent/CN100424659C/zh not_active Expired - Fee Related
- 2002-08-09 KR KR1020047006650A patent/KR100931706B1/ko not_active IP Right Cessation
- 2002-08-09 DE DE60237909T patent/DE60237909D1/de not_active Expired - Lifetime
- 2002-10-14 TW TW091123543A patent/TW589530B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
AU2002324662A1 (en) | 2003-05-12 |
WO2003038573A3 (en) | 2003-12-24 |
EP1440373A2 (en) | 2004-07-28 |
KR100931706B1 (ko) | 2009-12-14 |
TW589530B (en) | 2004-06-01 |
KR20050018630A (ko) | 2005-02-23 |
EP1440373B1 (en) | 2010-10-06 |
CN100424659C (zh) | 2008-10-08 |
DE60237909D1 (de) | 2010-11-18 |
WO2003038573A2 (en) | 2003-05-08 |
CN1578946A (zh) | 2005-02-09 |
US20040064723A1 (en) | 2004-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005508039A (ja) | 目標セキュリティを決定する物理アドレスベースのセキュリティのための方法および装置 | |
JP5234794B2 (ja) | データ処理装置および処理回路上で実行される仮想機械によるセキュア・メモリへのアクセス制御方法 | |
US7631160B2 (en) | Method and apparatus for securing portions of memory | |
US10564997B2 (en) | Computing system for securely executing a secure application in a rich execution environment | |
US7975117B2 (en) | Enforcing isolation among plural operating systems | |
US7594042B2 (en) | Effective caching mechanism with comparator coupled to programmable registers to store plurality of thresholds in order to determine when to throttle memory requests | |
KR101000543B1 (ko) | 데이터 프로세서의 보안을 개선하기 위한 방법 및 장치 | |
US6725345B2 (en) | Object-oriented program with a memory accessing function | |
KR100941743B1 (ko) | 타겟 보안을 이용한 입력/출력 디바이스들의 다중-테이블액세싱을 위한 방법 및 장치 | |
US6532487B1 (en) | Method and system for managing semaphores in an object-oriented multi-tasking computer system | |
US20200201691A1 (en) | Enhanced message control banks | |
KR101535792B1 (ko) | 운영체제 구성 장치 및 방법 | |
US7389427B1 (en) | Mechanism to secure computer output from software attack using isolated execution | |
KR100939328B1 (ko) | 보안민감명령들의 제한실행을 위한 방법 및 장치 | |
US20190286327A1 (en) | Memory Objects | |
US7299467B2 (en) | Method and system for minimizing memory access latency in a computer system | |
US7698522B1 (en) | Method and apparatus for linear address based page level security scheme to determine current security context | |
CN112580023B (zh) | 影子栈管理方法及装置、介质、设备 | |
CN116909955A (zh) | 从块装置引导的方法及设备 | |
CN116167102A (zh) | 用于管理片上系统中的存储器的方法 | |
JP2002535745A (ja) | セキュリティクリティカル機能をデータ処理するシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090120 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090127 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090220 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090227 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090323 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090330 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090421 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100412 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100421 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100506 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20100528 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |