(57)【特許請求の範囲】
【請求項１】
少なくとも１つの記憶装置（ＳＤ）と、少なくとも１つのメモリモジュール（ＭＭ）と、少なくとも１つのプロセッサ（ＣＰ）と、を備えるデータ処理システムであって、前記記憶装置（ＳＤ）はデータの少なくとも１つのセグメント並びに前記セグメントに関連したアクセス及び認証データを有するデータ処理システムにおいて、それは、前記プロセッサ（ＣＰ）と前記メモリモジュール（ＭＭ）との間に接続されるメモリ・アクセス・コントローラ（ＲＡ）と、前記プロセッサ（ＣＰ）、前記メモリモジュール（ＭＭ）、前記記憶装置（ＳＤ）、及び前記メモリ・アクセス・コントローラ（ＲＡ）に接続される安全なメモリ管理モジュール（ＳＭＭ）と、を備え、前記安全なメモリ管理モジュール（ＳＭＭ）は、前記記憶装置（ＳＤ）に記憶されるセグメントのために前記プロセッサ（ＣＰ）から要求を受け取る手段を備え、前記セグメントは少なくとも１つのアクセス条件及びそれに関連する少なくとも１つの認証データを有し、前記安全なメモリ管理モジュール（ＳＭＭ）は更に、前記要求されたセグメントを前記記憶装置（ＳＤ）から前記メモリモジュール（ＭＭ）にロードする手段と、前記認証データを用いて前記アクセス条件を認証する手段と、前記アクセス条件を用いて前記メモリ・アクセス・コントローラ（ＲＡ）を構成する手段と、を備え、前記メモリ・アクセス・コントローラ（ＲＡ）は、前記プロセッサ（ＣＰ）からプロセッサ状態を検出する手段と、前記アクセス条件をプロセッサ状態と比較する手段と、を有し、前記メモリ・アクセス・コントローラ（ＲＡ）は、前記比較の結果に従って前記メモリモジュール（ＭＭ）への前記アクセスを許容するか又は妨げる手段を有することを特徴とするデータ処理システム。
【請求項２】
前記セグメントが完全性数値を更に含み、及び前記安全なメモリ管理モジュール（ＳＭＭ）が、前記セグメントのデータに基づいて前記完全性数値を算出された完全性数値と比較することによって、前記セグメントの完全性を検査する手段を含む請求項１記載のデータ処理システム。
【請求項３】
前記アクセス条件が、前記プロセッサ（ＣＰ）により要求されるアクセスのタイプに従って前記メモリ・アクセス・コントローラ（ＲＡ）で決定される前記メモリモジュール（ＭＭ）から命令を読み出すか又は書き込むための、或いはそれを実行するための条件を規定する請求項１又は２のいずれか１項に記載のデータ処理システム。
【請求項４】
前記アクセス条件が複数のセットのアクセス・データを含み、前記プロセッサ（ＣＰ）がプロセッサモードを前記メモリ・アクセス・コントローラ（ＲＡ）に伝え、前記メモリ・アクセス・コントローラ（ＲＡ）は前記受け取ったプロセッサモードに基づいてアクセス・データの前記セットを選択する請求項１〜３のいずれか１項に記載のデータ処理システム。
【請求項５】
データ処理システムにおいてデジタル情報を記憶装置（ＳＤ）からメモリモジュール（ＭＭ）に確実にロードする方法において、前記データ処理システムは、少なくとも１つの記憶装置（ＳＤ）と、少なくとも１つのメモリモジュール（ＭＭ）と、少なくとも１つのプロセッサ（ＣＰ）と、を備え、前記データ処理システムは更に、前記プロセッサ（ＣＰ）と前記メモリモジュール（ＭＭ）との間に接続されるメモリ・アクセス・コントローラ・モジュール（ＲＡ）と、前記プロセッサ（ＣＰ）、前記メモリモジュール（ＭＭ）、前記記憶装置（ＳＤ）、及び前記メモリ・アクセス・コントローラ（ＲＡ）に接続される安全なメモリ管理モジュール（ＳＭＭ）と、を備える方法であって、
前記安全なメモリ管理モジュール（ＳＭＭ）によって、デジタル情報を求める前記プロセッサ（ＣＰ）からの要求を受け取る段階と、
前記要求されたデジタル情報を含むセグメントを前記記憶装置（ＳＤ）に位置付けする段階と、
前記セグメントに関連するアクセス条件及び認証データのセットを抽出する段階と、
前記認証データによって前記アクセス条件を認証する段階と、
前記位置付けたセグメントを収容するために前記メモリモジュール（ＭＭ）の適当な領域を決定する段階と、
前記位置付けたセグメントを前記メモリモジュール（ＭＭ）の前記決定された領域にロードする段階と、
前記抽出されたアクセス条件を用いて前記メモリ・アクセス・コントローラ・モジュール（ＲＡ）を構成する段階と、
を含む方法。
【請求項６】
デジタル情報の前記セグメントに関連する完全性数値を抽出する段階と、
デジタル情報の前記セグメントのための完全性数値を算出する段階と、
前記抽出された完全性数値を前記算出された完全性数値と比較することによって、デジタル情報の前記セグメントの前記完全性を確認する段階と、
を更に含むことを特徴とする請求項５記載の方法。
【請求項７】
前記記憶装置（ＳＤ）が高信頼ではない環境にあり、前記メモリモジュール（ＭＭ）が高信頼の環境にあることを特徴とする請求項５又は６のいずれか１項に記載の方法。
【請求項８】
マッピング・スキームが用いられ、それによって仮想アドレスが物理アドレスに関連し、前記仮想アドレスはデジタル情報を参照するために前記プロセッサにより使用されるアドレスであり、前記物理アドレスは、前記デジタル情報が記憶される前記メモリモジュール（ＭＭ）の位置のアドレスであることを特徴とする請求項５〜７のいずれか１項に記載の方法。
【請求項９】
前記仮想アドレスと前記物理アドレスとの関係が、前記メモリモジュール（ＭＭ）のロードに続いて少なくとも一回変更されることを特徴とする請求項８記載の方法。
【請求項１０】
前記記憶装置のデジタル情報の前記セグメントが暗号化されたフォーマットであり、前記方法が更に、
デジタル情報の前記セグメントに関するセグメントキーを抽出する段階と、
前記抽出されたセグメントキーを用いて前記デジタル情報の前記セグメントを解読する段階と、
を含むことを特徴とする請求項５〜９のいずれか１項に記載の方法。
【請求項１１】
デジタル情報の前記セグメントが、前記メモリモジュール（ＭＭ）へロードする前にキーによって暗号化されることを特徴とする請求項５〜１０のいずれか１項に記載の方法。
【請求項１２】
前記暗号化キーが前記安全なメモリ管理モジュール（ＳＭＭ）で発生する乱数に基づくことを特徴とする請求項１１記載の方法。
【請求項１３】
前記暗号化キーが前記デジタル情報が記憶される前記メモリモジュール（ＭＭ）の位置のアドレスである物理アドレスに基づくことを特徴とする請求項１１記載の方法。
【請求項１４】
前記メモリモジュール（ＭＭ）が揮発性メモリであることを特徴とする請求項５〜１３のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、データ又はアプリケーションの揮発性ワーキングメモリへの安全なローディングを保証する際の、又は１つのアプリケーションが別のアプリケーションを対象としたデータ又はコードを変更することができないように並行アプリケーションを相互に分離する際のコンピュータ安全保護の領域に関する。
【背景技術】
【０００２】
データ処理システムは、ハードウェア資源、例えば処理ユニット（ＣＰＵ）、揮発性メモリ（ＲＡＭ）、及び不揮発性メモリ（ＲＯＭ）を含むことができる。データ処理システムは、少なくとも１つのオペレーティングシステムの制御下において動作することができ、１つ或いは複数のソフトウェア資源又はアプリケーションに従ってルーチンを実行できる。アプリケーションは不揮発性メモリに記憶され、実行することを必要とするときに、揮発性メモリにロードされる。アプリケーションの実行中に、前記アプリケーションによって必要とされるデータ又はアプリケーションにより生成されるデータは、不揮発性又は揮発性メモリに記憶されるか、或いは１つのメモリから別のメモリに転送されてもよい。
【０００３】
無線接続性を含む、データ処理システムのための複数の接続性オプションの出現により、及び移動データ処理システムの使用の多大な増加とともに、これらのシステムを悪意のある攻撃から保護する必要はますます重要になった。悪意のある攻撃は、システムの起動を妨げること、オペレーティングシステムを変更すること、あるアプリケーションにより生成されるか又は利用されるデータを傍受及び／又は修正することを目的とする可能性がある。
【０００４】
実際、現在、データ処理システムをそれらの保全性に関する不正な操作及び攻撃から保護することが必要要件になった。この種の悪意のある攻撃は、データ処理システムのオペレーティングシステムを支配するか、又はユーザの認識又は承認なしにデータ処理システムの通常の処理シーケンスを妨げるように設計されたソフトウェアの形で到来することがある。この種のソフトウェアは破壊工作ソフトとして一般に知られている。データ処理システムにおける破壊工作ソフトの存在は、通常修復するのが困難であり、完全なシステム故障に、又はシステムに対する回復不能な損害さえにもつながる可能性がある。
【０００５】
コンピュータウイルス、ワーム、トロイの木馬、スパイウェア等は、破壊工作ソフトのすべて異なるタイプである。いろいろなタイプの破壊工作ソフトは、さまざまな方法で、例えば、別のアプリケーション用であったデータを傍受することによって、又はパスワード又は秘密に保たれるはずである他の情報を盗むためにキーストロークをモニタし、データを変更するか又は変えるか、或いはファイルを破損し、プログラムを変更し、それを破損させるか、又はユーザによって本来意図されなかったある機能を実行させることによって、処理システムを攻撃する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
破壊工作ソフトの攻撃と戦うためのシステムが存在し、通常メモリ管理ユニットを特徴とし、それはシステムのＣＰＵによって設定可能である。ＣＰＵが悪意のあるユーザから攻撃を受ける場合は、安全保護はこのように損なわれる。最新のＣＰＵにより呈される複雑さのため、この種の攻撃の可能性を最小にするために必要とされる付加的な安全保護機能は、この種の機能を実行するのに必要な余分のオンチップ・リアル・エステートに関して著しいコスト増大をもたらし、計算オーバヘッドをもたらし、その結果動作速度を悪化させる。また、典型的なＣＰＵの複雑さのため、この種の変更態様は許容レベルの信頼を有する高水準の安全保護を提供することができない。従って、データ処理システムのメモリへの、又はそれからのデータ又はアプリケーションのローディング又はアンローディングの安全な管理を提供する経済的でサイズ効率の良い解決案を有することが望ましい。
【課題を解決するための手段】
【０００７】
本発明は、少なくとも１つの記憶装置（ＳＤ）と、少なくとも１つのメモリモジュール（ＭＭ）と、少なくとも１つのプロセッサ（ＣＰ）と、を備えるデータ処理システムにおいて、デジタル情報を記憶装置からメモリモジュールに確実にロードするためのシステム及び方法を記載し、前記記憶装置（ＳＤ）はデータの少なくとも１つのセグメント並びにセグメントに関するアクセス及び認証データを有し、データ処理システムは、プロセッサ（ＣＰ）とメモリモジュール（ＭＭ）との間に接続されるメモリ・アクセス・コントローラ（ＲＡ）と、プロセッサ（ＣＰ）、メモリモジュール（ＭＭ）、記憶装置（ＳＤ）、及びメモリ・アクセス・コントローラ（ＲＡ）に接続される安全なメモリ管理モジュール（ＳＭＭ）と、を備えることを特徴とし、前記安全なメモリ管理モジュール（ＳＭＭ）は記憶装置（ＳＤ）に記憶されるセグメントのためにプロセッサ（ＣＰ）から要求を受け取る手段を備え、前記セグメントはそれに関連する認証データの少なくとも１つのアクセス条件及び少なくとも１つのセグメントを有し、前記安全なメモリ管理モジュール（ＳＭＭ）は、要求されたセグメントを記憶装置（ＳＤ）からメモリモジュール（ＭＭ）へロードする手段と、認証データを用いてアクセス条件を認証する手段と、アクセス条件を用いてメモリ・アクセス・コントローラ（ＲＡ）を構成する手段と、を更に備え、前記メモリ・アクセス・コントローラ（ＲＡ）は、プロセッサ（ＣＰ）からプロセッサ状態を検出する手段と、アクセス条件をプロセッサ状態と比較する手段と、を有し、メモリ・アクセス・コントローラ（ＲＡ）は、比較の結果に従ってメモリモジュール（ＭＭ）へのアクセスを許容するか又は妨げる手段を有する。
【０００８】
データを記憶装置からメモリモジュールに確実にロードする本発明において使用する方法は、次の段階を含む。
安全なメモリ管理モジュール（ＳＭＭ）によって、デジタル情報を求めるプロセッサ（ＣＰ）からの要求を受け取る段階と、
要求されたデジタル情報を含むセグメントを記憶装置（ＳＤ）に位置付ける段階と、
前記セグメントに関する一組のアクセス条件及び認証データを抽出する段階と、
認証データでアクセス条件を認証する段階と、
前記位置付けられたセグメントを収容するためにメモリモジュール（ＭＭ）に適当な領域を決定する段階と、
前記位置付けられたセグメントを前記メモリモジュール（ＭＭ）の決定された領域にロードする段階と、
前記抽出されたアクセス条件を用いてメモリ・アクセス・コントローラ・モジュール（ＲＡ）を構成する段階。
【０００９】
本発明は、従って、メモリモジュール（ＭＭ）にロードしてメモリ・アクセス・コントローラ（ＲＡ）を構成するために、プロセッサ（ＣＰ）と安全なメモリ管理モジュール（ＳＭＭ）に接続したメモリモジュール（ＭＭ）との間のファイアウォールとしての機能を果たすメモリ・アクセス・コントローラ（ＲＡ）を使用する。安全なメモリ管理モジュール（ＳＭＭ）がロード及び記憶等のコマンドの減少したセットを有する簡単なアーキテクチャであり、従って前記ＣＰＵがメモリ・アクセス・コントローラ・モジュールを構成する役割を果たした場合のＣＰＵより攻撃を受けにくいので、これはシステムに高水準の安全保護をもたらす。
【００１０】
本発明を添付の図面に関連して読むと、本発明は以下の好ましい実施形態の詳細な説明を参照して最も良く理解される。
【図面の簡単な説明】
【００１１】
【図１】プロセッサ（ＣＰ）、メモリモジュール（ＭＭ）、記憶装置（ＳＤ）、メモリ・アクセス・コントローラ・モジュール（ＲＡ）、及び安全なメモリ管理モジュール（ＳＭＭ）を含むデータ処理システムを示す。
【発明を実施するための形態】
【００１２】
最新のデータ処理システムは、通常、メモリをたくさん使う。この事実は、オンチップ・メモリが高価である可能性があるという事実と相まって、多くのデータ処理システムにおけるかなりの量のオフチップ記憶装置に依存する必要性につながる。安全保護が重要な場合には、従って、オフチップ又は高信頼ではない環境とオンチップ又は高信頼の環境との間のデータの転送を確実にできることが必要である。加えて、最新のＣＰＵ（プロセッサ）のかなりの複雑さに伴って、必要な高水準の安全保護を維持すると共に、必要な目的を達成することが可能であるようにプロセッサを変更することは容易でないし、それはオンチップ・リアル・エステートの点から見て安価でない。従って、メモリ・アクセスに関連したタスクを処理するために、限定された数のコマンド、例えばロード及び記憶を用いて専用のハードウェアを有することが望ましい。
【００１３】
本発明は、データ処理システム内に、記憶装置からメモリモジュールへのデジタル情報の確実なローディングのための手段を設けるためのハードウェアソルーション及び方法を記載する。一般に、記憶装置は高信頼でない環境にあり、メモリモジュールは高信頼の環境にある。本発明は高信頼の環境と高信頼でない環境との間のインタフェースを提供し、デジタル情報へのアクセスのための要求は、それを通過しなければならない。本発明は、メモリモジュールに記憶されたデータに対する必要なアクセス権を有するプロセッサが、一旦それがロードされるならばメモリの必要な部分に実際にアクセスするようにインタフェースを構成するための手段を含む。記憶装置は、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＯＭ、ハードディスク、外部サーバ、又は他のこの種の記憶手段という形をとることができる。メモリモジュールは、通常、ランダム・アクセス・メモリ（ＲＡＭ）、即ち揮発性メモリという形をとる。この文書のコンテキストにおいて、用語「デジタル情報」は、メモリモジュールにロードされる可能性があるデータ、例えば実行コードによって発生するか又は実行コードによって使われる実行コード又は情報を記述するために用いる。
【００１４】
本発明の安全なメモリ管理システムは、少なくともプロセッサ（ＣＰ）、メモリモジュール（ＭＭ）、及び記憶装置（ＳＤ）を備えるデータ処理システム（図１）に組み込まれて、一方でプロセッサ（ＣＰ）とメモリモジュール（ＭＭ）との間に、他方でプロセッサ（ＣＰ）と記憶装置（ＳＤ）との間に接続される安全なメモリ管理モジュール（ＳＭＭ）として公知の専用ハードウェアを含み、安全なメモリ管理モジュール（ＳＭＭ）の目的は、プロセッサ（ＣＰ）とメモリモジュール（ＭＭ）との間の通信を管理すること、及び記憶装置（ＳＤ）とメモリモジュール（ＭＭ）との間でデジタル情報を転送する、即ちメモリモジュール（ＭＭ）にロードしたり、アンロードしたりすることである。安全なメモリ管理システムは、更に、プロセッサ（ＣＰ）とメモリモジュール（ＭＭ）との間に配置されるメモリ・アクセス・コントローラ・モジュール（ＲＡ）として公知の専用ハードウェアを含む。メモリ・アクセス・コントローラ・モジュール（ＲＡ）は、プロセッサ（ＣＰ）とメモリモジュール（ＭＭ）との間のファイアウォールとして作用する。記憶装置（ＳＤ）に記憶されるデジタル情報にはそれに関連した一組のアクセス条件があり、それはデジタル情報とともに記憶される。安全なメモリ管理モジュール（ＳＭＭ）は、プロセッサ（ＣＰ）が適正なアクセス権を有するならば、ロードされたメモリモジュール（ＭＭ）の部分への正しいアクセスを前記プロセッサ（ＣＰ）に与えるようにメモリ・アクセス・コントローラ（ＲＡ）を構成する。このように安全なメモリ管理モジュール（ＳＭＭ）は、メモリモジュール（ＭＭ）が安全なままであることを確実にするために、メモリ・アクセス・コントローラ・モジュール（ＲＡ）と共に機能する。
【００１５】
本発明において、セグメンテーションとして知られる規定が使用され、即ちデジタル情報がセグメントに記憶される。セグメンテーション規定は、メモリモジュールに記憶されるデジタル情報のためにだけでなく、記憶装置に記憶されるデジタル情報のためにも使われる。セグメントは数ブロックの所定の数のバイトを含むデジタル情報から構成される。例えば、デジタル情報の１ブロックは長さ３２バイトであるかもしれない。各セグメントは、それと関連した一組の属性、例えば、セグメント識別番号、セグメントに含まれるデータの種類、セグメントの長さ、セグメントのアドレス、デジタル署名、例えばセグメントの内容の一方向性関数のような完全性数値、どの処理がセグメントへのリード・アクセス又はライト・アクセス又は実行アクセスを有することができるかについて記述している条件権利のセットを有する。これらの属性は、セグメントに付加されて共に記憶されるセグメントヘッダに記録される。図１は、２種類の異なるセグメント、即ち、実行コードを含むコードセグメント（ＣＳ）及びアプリケーションにより用いられるか又はアプリケーションによって発生することがあり得るデジタル情報を含むデータセグメント（ＤＳ）を示す。
【００１６】
プロセッサ（ＣＰ）により現在用いられているデジタル情報は、メモリモジュール（ＭＭ）に保持される。プロセッサ（ＣＰ）がメモリモジュール（ＭＭ）に現在無いデジタル情報へのアクセスを必要とするとき、プロセッサ（ＣＰ）は必要なデジタル情報を求めて要求を安全なメモリ管理モジュール（ＳＭＭ）に送信する。プロセッサ（ＣＰ）から要求を受け取ると、安全なメモリ管理モジュール（ＳＭＭ）はそのセグメント、又は要求されたデジタル情報を含む複数のセグメントの位置を決め、アクセス条件、デジタル署名、及びセグメント完全性数値を含む、いくつかの情報をセグメントヘッダから得る。安全なメモリ管理モジュール（ＳＭＭ）は、所定の暗号手法に従ってデジタル署名を確認することによってセグメントの認証を実行する。安全なメモリ管理モジュール（ＳＭＭ）は、完全性数値、例えばセグメントの内容の一方向性関数を算出し、算出した完全性数値をセグメントヘッダから抽出される完全性数値と比較することによってセグメントの完全性チェックを実行する。安全なメモリ管理モジュール（ＳＭＭ）は、位置付けられたセグメントを収容できるメモリモジュール（ＭＭ）の適当な領域を決定し、前記セグメントをメモリモジュール（ＭＭ）の決定された領域にロードし、前記領域は複数のアドレス指定可能なメモリモジュール位置を含む。本発明の一実施形態において、完全性チェックは、メモリモジュール（ＭＭ）にロードする間に、ブロックごとに又はセグメントごとにオンザフライで行うことができる。本発明の別の実施形態において、完全性チェックはロードされた後にメモリモジュール（ＭＭ）において行うことができる。必要なアクセス権を有するプロセッサがロードしたデータへの必要なアクセスをできるように、安全なメモリ管理モジュール（ＳＭＭ）はメモリ・アクセス・コントローラ（ＲＡ）も構成する。
【００１７】
一般に、データ処理システムはメモリ・マッピングを行う手段も含み、それによって前記ブロック又はセグメントが仮想アドレスと異なるメモリモジュール（ＭＭ）の物理アドレスに記憶されると共に、デジタル情報のブロック又はセグメントは仮想アドレスを用いてプロセッサによってアクセスされる。セグメントヘッダは更にセグメントの仮想アドレスを含んでいてもよい。デジタル情報がメモリモジュールの利用できる空間にロードされるときに、マッピングは、仮想アドレスと情報がロードされた物理アドレスの間との連係を反映するために更新される。本発明の一実施形態において、このメモリ・マッピングはメモリモジュール（ＭＭ）の連続したロードの間で変化する可能性がある。
【００１８】
本発明の別の実施形態において、記憶装置のデジタル情報は暗号化されたフォーマットであることが好ましい。この場合、セグメントヘッダは、セグメントを解読するためのセグメントキーを更に含む。セグメントキーは、メモリモジュール（ＭＭ）にロードする前に、デジタル情報を解読するために用いるキーによって、安全なメモリ管理モジュール（ＳＭＭ）及びセグメントヘッダから抽出されることが好ましい。
【００１９】
メモリ・アクセス・コントローラ（ＲＡ）はセグメント記述子（ＳＤＥＳ）を含む。セグメント記述子は、メモリモジュールにロードされたデジタル情報の各セグメントに対応するセグメントヘッダの一部を保持する。各セグメントがロードされるとき、安全なメモリ管理モジュールは、セグメントヘッダからそのセグメントへのアクセス条件を抽出し、認証し、前記プロセッサが適当なアクセス権があると想定すれば、プロセッサがメモリモジュールの対応するセグメントにアクセスすることができるような方法で、セグメント記述子のアクセス条件を更新する。セグメント記述子が更新されるまで、プロセッサはデジタル情報がロードされているメモリモジュールの部分へアクセスすることができない。いくつかの異なるオペレーティングシステムにわたる互換性を可能にするために、セグメント記述子は「ＥＬＦ」形式（実行可能な連係形式）であってもよく、それは、実行可能形式、目的コード、ライブラリ等のための標準ファイル形式である。
【００２０】
セグメント記述子は、どのタイプのアクセスがプロセッサによって可能になるかについて指定する。例えば、その領域に書き込むいかなる試みも承認されないのに対して、アドレスの特定の範囲だけが読出しモードでアクセス可能である。この種の情報はセグメント記述子で示される。同様に、プロセッサが書き込むか又は消去できる領域はセグメント記述子で示される。プロセッサが保持実行可能形式として示される領域から命令を取り出すことが可能であるために実行する権利を有することを必要とする（又は、特定の処理ｉｄｓが特定の機能を実行する権利がある）ように、セグメント記述子は実行可能ルーチン又は機能を保持する領域を示すこともできる。
【００２１】
データ及びアドレスバスと関係なく、周辺機器からの、又はそれに対する転送は、アクセス・タイプを規定する制御ライン（読出し／書込み）により制御される。他のラインは、実行コードが取り出される（実行モード）かどうか、又はプロセッサがメモリにデータの読み書きをしているかどうかを決定するために用いることができる。
【００２２】
セグメントに付加されるアクセス条件の１つの実施例は、読取り、書込み、又は実行モードの条件を規定する。
【００２３】
別の実施形態によれば、アクセス条件はプロセッサのモードと関連して規定される。
【００２４】
プロセッサが特定のデータにアクセスする権利があるかないかは、そのデータが位置付けられるセグメントに付加された関連するアクセス条件に依存し、それがそのデータを要求する時にプロセッサが動作しているモードで、例えば、プロセッサはユーザ・モード又はスーパー・ユーザ・モードであることがあり得る。動作モードは、通常、プロセッサと関連した状態又はモード・レジスタのビットにより示される。プロセッサがいかなる特定の時間にも動作するモードは、関連したレジスタの状態を点検することにより確認できる。このレジスタは、プロセッサのモードを決定できるメモリ・アクセス・コントローラによって通信ラインに接続できる。このモードは、メインバスを経由してレジスタ値を転送することによって、メモリ・アクセス・コントローラに伝えることもできる。プロセッサが一つのデータを要求する時のプロセッサの動作モードに応じて、アクセスは、プロセッサの動作モードとセグメント記述子に保持される関連するアクセス条件に従ってそのデータによって必要とされるモードとの間の比較の結果に従って、認可されるか又は否認されることもできる。同様に、どの処理がデータの特定のセグメントにアクセスする権利があるかについて示すために、処理識別子（処理ｉｄ）が、プロセッサモードと同様の方法で、どのように使用可能であるか想像することは容易である。
【００２５】
メモリ・アクセス・コントローラの役割は、その場合、プロセッサモードの値を受け取って、このモードをセグメントに付加されるアクセス条件の内容と比較することである。
【００２６】
本発明の更なる実施形態において、データのセグメントはそれに関連したアクセス条件の複数のセットを有することができ、セットの各々はプロセッサ動作の特定のモードに関係する。プロセッサが複数のアクセス条件があるセグメントのデータへのアクセスを要求するとき、メモリ・アクセス・コントローラ（ＲＡ）はプロセッサが動作しているモードに関連するアクセス条件のセットを適用する。プロセッサモードは、アクセス条件のセットを規定し、その時プロセッサのタイプ（読取り／書込み／実行）がそのデータへのアクセスを規定するために用いられる。
【００２７】
従って、セグメントに付加されるアクセス条件は、プロセッサがセグメントにアクセスするために必要とするモードを規定し、状態は要求されるアクセスのタイプ及びプロセッサの動作モードを含む。
【００２８】
本発明の更なる実施形態において、デジタル情報をメモリモジュールに記憶する前に、簡単な暗号化を、それに使うことができる。第１実施形態によれば、暗号化キーは安全なメモリ管理モジュールによって発生する乱数に基づく。システムの電源が入るたびに新しいキーが発生するように、この数はシステムを初期化している間に発生できる。セグメントのデジタル情報はこのキーによって暗号化されて、キーはそのセグメントに対応するセグメント記述子に配置される。セグメントがアップロードされるたびに、ランダムキーは代わりとして発生できる。デジタル情報は、次に、プロセッサがその情報を要求する時にメモリ・アクセス・コントローラにより解読される。本発明の更に別の実施形態において、暗号化キーは、デジタル情報がロードされる物理アドレス（メモリモジュールの実際のアドレス）の関数であり得る（即ち、物理アドレスの一方向性関数を算出する）。
【００２９】
メモリモジュールにロードされるデジタル情報の安全を確実にするだけでなく、メモリモジュールのローディングに関連したすべての機能は安全なメモリ管理モジュールに委任されるので、本発明はまた、メモリモジュールがロードされている間に、プロセッサが他のタスクを完了するのを可能にする。最新のプロセッサに組み込まれる高水準の複雑さについては、本発明は、これらの機能をすでに複雑なプロセッサに含もうとすることによるよりもむしろ、メモリ・アクセス・コントローラ（ＲＡ）と安全なメモリ管理モジュール（ＳＭＭ）との組合せにより表される専用ハードウェアシステムにより処理される記載したメモリ管理機能を有することによる高水準の安全保護を保証するという利点を提供する。
【図１】
0005415531.tif 000002