JP5415531B2 - 安全なメモリ管理システム及び方法 - Google Patents

安全なメモリ管理システム及び方法 Download PDF

Info

Publication number
JP5415531B2
JP5415531B2 JP2011514064A JP2011514064A JP5415531B2 JP 5415531 B2 JP5415531 B2 JP 5415531B2 JP 2011514064 A JP2011514064 A JP 2011514064A JP 2011514064 A JP2011514064 A JP 2011514064A JP 5415531 B2 JP5415531 B2 JP 5415531B2
Authority
JP
Japan
Prior art keywords
segment
memory
processor
access
module
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
JP2011514064A
Other languages
English (en)
Other versions
JP2011525653A (ja
Inventor
グレモ,ファビアン
ゴーニャ,クリストフ
ベロッキオ,マルク
フックス,パスカル
Original Assignee
ナグラビジョン エス アー
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41137881&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5415531(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from EP08158870A external-priority patent/EP2138946A1/en
Application filed by ナグラビジョン エス アー filed Critical ナグラビジョン エス アー
Publication of JP2011525653A publication Critical patent/JP2011525653A/ja
Application granted granted Critical
Publication of JP5415531B2 publication Critical patent/JP5415531B2/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/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
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Circuits Of Receivers In General (AREA)
  • Communication Control (AREA)

Description

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

Claims (14)

  1. 少なくとも1つの記憶装置(SD)と、少なくとも1つのメモリモジュール(MM)と、少なくとも1つのプロセッサ(CP)と、を備えるデータ処理システムであって、前記記憶装置(SD)はデータの少なくとも1つのセグメント並びに前記セグメントに関連したアクセス及び認証データを有するデータ処理システムにおいて、それは、前記プロセッサ(CP)と前記メモリモジュール(MM)との間に接続されるメモリ・アクセス・コントローラ(RA)と、前記プロセッサ(CP)、前記メモリモジュール(MM)、前記記憶装置(SD)、及び前記メモリ・アクセス・コントローラ(RA)に接続される安全なメモリ管理モジュール(SMM)と、を備え、前記安全なメモリ管理モジュール(SMM)は、前記記憶装置(SD)に記憶されるセグメントのために前記プロセッサ(CP)から要求を受け取る手段を備え、前記セグメントは少なくとも1つのアクセス条件及びそれに関連する少なくとも1つの認証データを有し、前記安全なメモリ管理モジュール(SMM)は更に、前記要求されたセグメントを前記記憶装置(SD)から前記メモリモジュール(MM)にロードする手段と、前記認証データを用いて前記アクセス条件を認証する手段と、前記アクセス条件を用いて前記メモリ・アクセス・コントローラ(RA)を構成する手段と、を備え、前記メモリ・アクセス・コントローラ(RA)は、前記プロセッサ(CP)からプロセッサ状態を検出する手段と、前記アクセス条件をプロセッサ状態と比較する手段と、を有し、前記メモリ・アクセス・コントローラ(RA)は、前記比較の結果に従って前記メモリモジュール(MM)への前記アクセスを許容するか又は妨げる手段を有することを特徴とするデータ処理システム。
  2. 前記セグメントが完全性数値を更に含み、及び前記安全なメモリ管理モジュール(SMM)が、前記セグメントのデータに基づいて前記完全性数値を算出された完全性数値と比較することによって、前記セグメントの完全性を検査する手段を含む請求項1記載のデータ処理システム。
  3. 前記アクセス条件が、前記プロセッサ(CP)により要求されるアクセスのタイプに従って前記メモリ・アクセス・コントローラ(RA)で決定される前記メモリモジュール(MM)から命令を読み出すか又は書き込むための、或いはそれを実行するための条件を規定する請求項1又は2のいずれか1項に記載のデータ処理システム。
  4. 前記アクセス条件が複数のセットのアクセス・データを含み、前記プロセッサ(CP)がプロセッサモードを前記メモリ・アクセス・コントローラ(RA)に伝え、前記メモリ・アクセス・コントローラ(RA)は前記受け取ったプロセッサモードに基づいてアクセス・データの前記セットを選択する請求項1〜3のいずれか1項に記載のデータ処理システム。
  5. データ処理システムにおいてデジタル情報を記憶装置(SD)からメモリモジュール(MM)に確実にロードする方法において、前記データ処理システムは、少なくとも1つの記憶装置(SD)と、少なくとも1つのメモリモジュール(MM)と、少なくとも1つのプロセッサ(CP)と、を備え、前記データ処理システムは更に、前記プロセッサ(CP)と前記メモリモジュール(MM)との間に接続されるメモリ・アクセス・コントローラ・モジュール(RA)と、前記プロセッサ(CP)、前記メモリモジュール(MM)、前記記憶装置(SD)、及び前記メモリ・アクセス・コントローラ(RA)に接続される安全なメモリ管理モジュール(SMM)と、を備える方法であって、
    前記安全なメモリ管理モジュール(SMM)によって、デジタル情報を求める前記プロセッサ(CP)からの要求を受け取る段階と、
    前記要求されたデジタル情報を含むセグメントを前記記憶装置(SD)に位置付けする段階と、
    前記セグメントに関連するアクセス条件及び認証データのセットを抽出する段階と、
    前記認証データによって前記アクセス条件を認証する段階と、
    前記位置付けたセグメントを収容するために前記メモリモジュール(MM)の適当な領域を決定する段階と、
    前記位置付けたセグメントを前記メモリモジュール(MM)の前記決定された領域にロードする段階と、
    前記抽出されたアクセス条件を用いて前記メモリ・アクセス・コントローラ・モジュール(RA)を構成する段階と、
    を含む方法。
  6. デジタル情報の前記セグメントに関連する完全性数値を抽出する段階と、
    デジタル情報の前記セグメントのための完全性数値を算出する段階と、
    前記抽出された完全性数値を前記算出された完全性数値と比較することによって、デジタル情報の前記セグメントの前記完全性を確認する段階と、
    を更に含むことを特徴とする請求項5記載の方法。
  7. 前記記憶装置(SD)が高信頼ではない環境にあり、前記メモリモジュール(MM)が高信頼の環境にあることを特徴とする請求項5又は6のいずれか1項に記載の方法。
  8. マッピング・スキームが用いられ、それによって仮想アドレスが物理アドレスに関連し、前記仮想アドレスはデジタル情報を参照するために前記プロセッサにより使用されるアドレスであり、前記物理アドレスは、前記デジタル情報が記憶される前記メモリモジュール(MM)の位置のアドレスであることを特徴とする請求項5〜7のいずれか1項に記載の方法。
  9. 前記仮想アドレスと前記物理アドレスとの関係が、前記メモリモジュール(MM)のロードに続いて少なくとも一回変更されることを特徴とする請求項8記載の方法。
  10. 前記記憶装置のデジタル情報の前記セグメントが暗号化されたフォーマットであり、前記方法が更に、
    デジタル情報の前記セグメントに関するセグメントキーを抽出する段階と、
    前記抽出されたセグメントキーを用いて前記デジタル情報の前記セグメントを解読する段階と、
    を含むことを特徴とする請求項5〜9のいずれか1項に記載の方法。
  11. デジタル情報の前記セグメントが、前記メモリモジュール(MM)へロードする前にキーによって暗号化されることを特徴とする請求項5〜10のいずれか1項に記載の方法。
  12. 前記暗号化キーが前記安全なメモリ管理モジュール(SMM)で発生する乱数に基づくことを特徴とする請求項11記載の方法。
  13. 前記暗号化キーが前記デジタル情報が記憶される前記メモリモジュール(MM)の位置のアドレスである物理アドレスに基づくことを特徴とする請求項11記載の方法。
  14. 前記メモリモジュール(MM)が揮発性メモリであることを特徴とする請求項5〜13のいずれか1項に記載の方法。
JP2011514064A 2008-06-24 2009-06-23 安全なメモリ管理システム及び方法 Active JP5415531B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP08158870.9 2008-06-24
EP08158870A EP2138946A1 (en) 2008-06-24 2008-06-24 Secure memory management system
EP08161479 2008-07-30
EP08161479.4 2008-07-30
PCT/EP2009/057830 WO2009156402A1 (en) 2008-06-24 2009-06-23 Secure memory management system and method

Publications (2)

Publication Number Publication Date
JP2011525653A JP2011525653A (ja) 2011-09-22
JP5415531B2 true JP5415531B2 (ja) 2014-02-12

Family

ID=41137881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011514064A Active JP5415531B2 (ja) 2008-06-24 2009-06-23 安全なメモリ管理システム及び方法

Country Status (10)

Country Link
US (1) US8489836B2 (ja)
EP (1) EP2310976B1 (ja)
JP (1) JP5415531B2 (ja)
KR (1) KR101567620B1 (ja)
CN (1) CN102077204B (ja)
AT (1) ATE532143T1 (ja)
BR (1) BRPI0915412A2 (ja)
CA (1) CA2728445C (ja)
MX (1) MX2010014464A (ja)
WO (1) WO2009156402A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102355495B (zh) * 2011-09-27 2014-01-22 中国联合网络通信集团有限公司 数据处理方法、装置和***
WO2013004854A2 (en) * 2012-09-26 2013-01-10 Nxp B.V. Processing system
KR102017828B1 (ko) * 2012-10-19 2019-09-03 삼성전자 주식회사 보안 관리 유닛, 상기 보안 관리 유닛을 포함하는 호스트 컨트롤러 인터페이스, 상기 호스트 컨트롤러 인터페이스의 동작 방법, 및 상기 호스트 컨트롤러 인터페이스를 포함하는 장치들
WO2014185893A1 (en) * 2013-05-14 2014-11-20 Hewlett-Packard Development Company, L.P. Detection of a security event
KR102167393B1 (ko) * 2013-08-16 2020-10-19 삼성전자 주식회사 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법
US10089498B2 (en) 2013-10-31 2018-10-02 Hewlett Packard Enterprise Development Lp Memory integrity checking
KR102213665B1 (ko) * 2014-08-01 2021-02-09 삼성전자주식회사 인증 프로그램을 갖는 메모리 카드, 그것을 포함하는 스토리지 시스템, 및 그것의 동작 방법
ES2924347T3 (es) * 2015-03-26 2022-10-06 Nagravision Sa Método y sistema para buscar al menos un dato específico en una unidad de usuario
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
CN110598412B (zh) * 2018-06-12 2021-12-14 杨力祥 将权力信息隔离并依托它进行权力检查的方法及计算装置
CN109726566B (zh) * 2018-11-22 2021-03-09 成都海光集成电路设计有限公司 基于安全内存加密技术的加密***和加密方法
CN109710373B (zh) * 2018-11-22 2021-02-12 海光信息技术股份有限公司 实现内存与外部存储器交换功能的方法和装置、安全处理器
EP3663957A1 (en) * 2018-12-03 2020-06-10 Nagravision S.A. Remote enforcement of device memory
CN111914284B (zh) * 2020-09-30 2021-03-19 杭州未名信科科技有限公司 操作***中进程地址空间隔离保护方法、装置及设备

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237615A (en) * 1982-05-20 1993-08-17 The United States Of America As Represented By The National Security Agency Multiple independent binary bit stream generator
US4680700A (en) 1983-12-07 1987-07-14 International Business Machines Corporation Virtual memory address translation mechanism with combined hash address table and inverted page table
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6336187B1 (en) * 1998-06-12 2002-01-01 International Business Machines Corp. Storage system with data-dependent security
US6339815B1 (en) 1998-08-14 2002-01-15 Silicon Storage Technology, Inc. Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space
EP1124350A1 (en) * 1999-08-20 2001-08-16 Sony Corporation Information transmission system and method, drive device and access method, information recording medium, device and method for producing recording medium
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
TW548940B (en) 1999-11-29 2003-08-21 Gen Instrument Corp Generation of a mathematically constrained key using a one-way function
AU785421B2 (en) * 2000-01-21 2007-05-03 Sony Corporation Data authentication system
JP4226760B2 (ja) * 2000-05-08 2009-02-18 株式会社東芝 マイクロプロセッサ、これを用いたマルチタスク実行方法、およびマルチレッド実行方法
JP2004510367A (ja) 2000-09-15 2004-04-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 暗号化キーとしてのデータ塊アドレスによる保護
FR2822971A1 (fr) 2001-04-03 2002-10-04 St Microelectronics Sa Systeme et procede de controle d'acces a des donnees protegees stockees dans une memoire
US6851040B2 (en) 2001-08-15 2005-02-01 Transmeta Corporation Method and apparatus for improving segmented memory addressing
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US6851056B2 (en) 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
US7043616B1 (en) 2002-04-18 2006-05-09 Advanced Micro Devices, Inc. Method of controlling access to model specific registers of a microprocessor
DE60322366D1 (de) * 2002-04-18 2008-09-04 Advanced Micro Devices Inc Rechnersystem mit einem für einen sicheren ausführungsmodus geeigneten cpu und einem sicherheitsdienst-prozessor die über einen gesicherten kommunikationsweg miteinander verbunden sind
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US20060036830A1 (en) 2004-07-31 2006-02-16 Dinechin Christophe De Method for monitoring access to virtual memory pages
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
JP4551231B2 (ja) * 2005-01-31 2010-09-22 日本電信電話株式会社 プログラム実行保護システム、プログラム実行保護方法
US20060218425A1 (en) 2005-02-25 2006-09-28 Zhimin Ding Integrated microcontroller and memory with secure interface between system program and user operating system and application
DE102006035610B4 (de) * 2006-07-31 2012-10-11 Infineon Technologies Ag Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung
US20080072070A1 (en) * 2006-08-29 2008-03-20 General Dynamics C4 Systems, Inc. Secure virtual RAM
CN101034378A (zh) * 2007-04-27 2007-09-12 吴晓栋 一种实现处理器及其计算机***信息处理环境高度安全与可信的方法
US8156322B2 (en) * 2007-11-12 2012-04-10 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules

Also Published As

Publication number Publication date
WO2009156402A1 (en) 2009-12-30
EP2310976A1 (en) 2011-04-20
EP2310976B1 (en) 2011-11-02
KR20110034612A (ko) 2011-04-05
CA2728445C (en) 2017-01-24
CN102077204B (zh) 2013-06-12
CN102077204A (zh) 2011-05-25
JP2011525653A (ja) 2011-09-22
CA2728445A1 (en) 2009-12-30
KR101567620B1 (ko) 2015-11-20
BRPI0915412A2 (pt) 2016-09-06
MX2010014464A (es) 2011-02-22
ATE532143T1 (de) 2011-11-15
US20090319741A1 (en) 2009-12-24
US8489836B2 (en) 2013-07-16

Similar Documents

Publication Publication Date Title
JP5415531B2 (ja) 安全なメモリ管理システム及び方法
CN107851160B (zh) 用于在isa控制下进行多个共存可信执行环境的可信i/o的技术
US8656146B2 (en) Computer system comprising a secure boot mechanism
EP3326105B1 (en) Technologies for secure programming of a cryptographic engine for secure i/o
JP5114617B2 (ja) 秘密鍵を保護する、セキュア端末、プログラム、および方法
US9514305B2 (en) Code pointer authentication for hardware flow control
US8954696B2 (en) Secure memory management system and method
TWI567580B (zh) 用於防止惡意軟體執行的方法與系統
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
TW201535145A (zh) 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
US20140006805A1 (en) Protecting Secret State from Memory Attacks
CN107743625B (zh) 由受控制的加密密钥管理进行的软件模块的分离
US9262631B2 (en) Embedded device and control method thereof
CN108334754B (zh) 嵌入式***程序的加密解密方法及***
US9256756B2 (en) Method of encryption and decryption for shared library in open operating system
US11270003B2 (en) Semiconductor device including secure patchable ROM and patch method thereof
JP4791250B2 (ja) マイクロコンピュータおよびそのソフトウェア改竄防止方法
US11188321B2 (en) Processing device and software execution control method
CN112434286A (zh) 动态库的调用方法、装置、电子装置和存储介质
EP3440586B1 (en) Method for write-protecting boot code if boot sequence integrity check fails
US20080120510A1 (en) System and method for permitting end user to decide what algorithm should be used to archive secure applications
EP2138946A1 (en) Secure memory management system
CN106355085B (zh) 一种可信应用运行安全控制方法
CN115033854A (zh) 一种数据处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131011

TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131113

R150 Certificate of patent or registration of utility model

Ref document number: 5415531

Country of ref document: JP

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