[go: up one dir, main page]

JP4925422B2 - データ処理装置内コンテンツへのアクセス管理 - Google Patents

データ処理装置内コンテンツへのアクセス管理 Download PDF

Info

Publication number
JP4925422B2
JP4925422B2 JP2006212773A JP2006212773A JP4925422B2 JP 4925422 B2 JP4925422 B2 JP 4925422B2 JP 2006212773 A JP2006212773 A JP 2006212773A JP 2006212773 A JP2006212773 A JP 2006212773A JP 4925422 B2 JP4925422 B2 JP 4925422B2
Authority
JP
Japan
Prior art keywords
secure
read
content
area
range
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
JP2006212773A
Other languages
English (en)
Other versions
JP2007249933A (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
Application filed by エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2007249933A publication Critical patent/JP2007249933A/ja
Application granted granted Critical
Publication of JP4925422B2 publication Critical patent/JP4925422B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/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; CALCULATING OR 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; CALCULATING OR 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode

Landscapes

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

Description

本発明はデータ処理装置内コンテンツへのアクセス管理技術に関するものである。
データ処理装置は典型的に1つまたは複数の装置、例えば中央処理装置(CPU)、直接メモリアクセス(DMA)エンジン、ハードウェア加速器、など処理操作手順を実行するための装置を含む。操作の手順を定めるプログラム・コードおよび/またはその様な処理操作を実行する際に要求されるデータは、典型的にデータ処理装置のメモリ内に記憶されている。用語「コンテンツ」は此処では、その様なコードを実行する際に必要とされるプログラム・コードおよび/またはデータを集合的に特定するために用いられている。
コンテンツを保護する必要が有る場合、そのようなデータを格納するために、読み取り専用記憶装置、例えば読み取り専用メモリ(ROM)、またはロック可能フラッシュ素子を用意することが知られている。ロック可能フラッシュ素子の様なロック可能素子では、読み取り専用が要求されるコンテンツは、フラッシュ素子の中に初期のプログラム時点で格納され、その後ハードウェア機構を用いてそのコンテンツを素子の中にロックし、その時点から書き込み可能ではなく読み取り専用となる。
その様な手法を使用する典型的な例はコンピュータ・ファイル・システムの記憶装置であって、此処ではオペレーティング・システムが信頼できる基盤設備であるとの前提の下に、その読み取り専用保護がオペレーティング・システムによって制御されている。
その様な読み取り専用記憶素子はコンテンツの保護は提供するが、通常アクセスが比較的遅く、これはデータ処理装置の動作速度に大きな影響を与えかねない。更に、これらはそのコンテンツへのアクセス方法に関して柔軟性に欠けているが、それは後でそのコンテンツを変更できないためである。
上記の手法は、そこに格納されているコンテンツの保護を提供するメモリ素子が読み取り専用であるという性質に依存している。これに代わる手法として、コンテンツへのより素早いアクセスが要求される所では、CPUで必要とされるコンテンツについて書き込み可能メモリ素子の中に格納し、次にCPUに関連するメモリ管理装置(MMU:Memory Management Unit)を用いてメモリの或る部分のみ読み取りを許すが書き込めないようにすることが知られており、これはMMUがアクセス可能なページ・テーブルで定義される。この処理過程はオペレーティング・システムで制御されるので、これもまたオペレーティング・システムが信頼できる基盤設備であるとの前提上に成り立っている。
従来オペレーティング・システム開発者の典型的な仕事は、1つのアプリケーションの安全確保データがそのオペレーティング・システムの制御下で実行中の他のアプリケーションからアクセス出来ないように保証する十分な安全保証を、オペレーティング・システムが提供することを保証することであった。しかしながらシステムが複雑になるに従い、一般的にオペレーティング・システムはより大きくまた更に複雑になる傾向にあり、その様な状況の中でオペレーティング・システムの中で十分な安全を保証することが益々難しくなりつつある。オペレーティング・システム安全確保への依存度を軽減する方法を探るために、データ処理装置の中に安全確保領域および非安全確保領域が具備されているシステムを用意することが知られており、これらの領域は安全確保をハードウェアのレベルで取り扱うための機構を具備している。その様なシステムは例えば、米国特許出願番号10/714,561号に記述されており、その内容は此処に挙げることで参照されている。その様なシステムの中で、非安全確保および安全確保領域は事実上別の世界を構築しており、安全確保領域はハードウェアによる強制的な境界によって他の実行空間から分離された信頼できる実行空間を提供し、同様に非安全確保領域は信頼性の低い実行空間を提供している。
この様な手法は安全確保コンテンツが、安全確保領域内で動作する装置でのみアクセスできるような方法で格納できるようにしているが、未だ問題もあり、非安全確保領域から或る非安全確保コンテンツに対してアクセスを提供する一方で、そのコンテンツが非安全確保領域内で実行されるアプリケーションによって修正変更できないことを保証する必要がある。典型的に、今まではその様なコンテンツを先に説明した読み取り専用記憶素子、例えば1回プログラム可能素子、またはロック可能フラッシュ素子のようなロック可能メモリ素子、の中に格納することによって保護することが可能であった。しかしながら先に述べたように、これは前記の性能上および柔軟性の点で問題がある。
第1の特徴から見ると、本発明は安全確保領域と非安全確保領域とを有するデータ処理装置を提供しており、安全確保領域内でデータ処理装置の複数の装置は非安全確保領域内ではアクセスできない安全確保コンテンツへのアクセスを有する、このデータ処理装置は:メモリ内に格納されているコンテンツへのアクセスを求める際に、前記安全確保領域または前記非安全確保領域のいずれかに属するメモリアクセス要求を発するように動作可能な少なくとも1つの装置と;前記少なくとも1つの装置から要求されたコンテンツを格納するように動作可能で、コンテンツが安全確保領域内の前記複数の少なくとも1つの装置群の1つにより実行される安全確保タスクの制御下にその中に格納される、少なくとも1つの読み取り専用範囲を有する書き込み可能メモリと;そして、少なくとも1つの読み取り専用範囲内のコンテンツへのアクセスを求めるメモリアクセス要求を受け取り、そのメモリアクセス要求が前記非安全確保領域に属し、前記少なくとも1つの読み取り専用範囲へのコンテンツの書き込みを求めている場合は、少なくとも1つの読み取り専用範囲へのアクセスを防止するように動作可能な保護ロジックを含む。
本発明によれば、データ処理装置は安全確保領域と非安全確保領域とを有し、非安全確保領域アクセス権に対して読み取り専用である、少なくとも1つの読み取り専用範囲を有する書き込み可能メモリが具備されている。コンテンツはこの様な読み取り専用メモリの中に、安全確保領域内のデータ処理装置の1つの装置で実行される安全確保タスクの制御下に格納される。次に、保護ロジックを使用して、読み取り専用範囲内のコンテンツへのアクセスを求めるメモリアクセス要求が非安全確保領域に属し、その読み取り専用範囲へコンテンツの書き込みを求めている場合には、少なくとも1つの読み取り専用範囲へのアクセスを防止している。
この様な手法を採ることにより、装置には非安全確保領域から、書き込み可能メモリ内に格納されているコンテンツへの読み取り専用アクセスを与えることが可能であり、従って更に素早くアクセスすることが可能で、従来型読み取り専用メモリ素子が使用されている場合よりも、典型的により少ない電力消費を実現できる。保護ロジックは読み取り専用範囲内の全てのコンテンツが非安全確保領域から書き込むことができないように保証する一方で、書き込み可能メモリの読み取り専用範囲内に格納されているコンテンツの完全性は確保されるが、それは読み取り専用範囲内へ安全確保領域内の装置で実行される安全確保タスクによってのみ格納されるからである。
従って、コンテンツを書き込み可能メモリの中に格納することによる、速度、電力および柔軟性の利点がそのコンテンツの完全性を損なうことなく実現されるが、それは非安全確保領域から修正変更することができないからである。
データ処理装置はハードウェアで支えられた安全確保領域との切替機能を有する装置を含むので、動作時間の一部を安全確保領域内での実行に費やし、その動作時間の一部を非安全確保領域内での実行に費やすことができる。これに代わって、またはこれに加えて、データ処理装置は1つの領域または別の領域内でのみしか実行できない装置を含むことも可能であり、従って1つの実施例ではデータ処理装置は安全確保領域内で実行可能な1つまたは複数の装置および、非安全確保領域内で実行可能な1つまたは複数の別の装置を含む場合がある。
書き込み可能メモリは単一のメモリ素子で構成されていても良いし、または集合的に書き込み可能メモリを形成する複数の個別のメモリ素子を含む場合もある。
読み取り専用方式で非安全確保領域からアクセス可能な非安全確保コンテンツを格納することに加えて、読み取り専用範囲はまたその中に何らかの安全確保コンテンツをも格納することができる。その様な事例の場合、前述の米国特許出願第10/714,561号に記載の既知の機構を用いて、その様な安全確保コンテンツが非安全確保領域からアクセス(書き込みまたは読み取りアクセス)できないように保証できる。
保護ロジックは少なくとも1つの読み取り専用範囲へのアクセス要求を、色々な方法で監視するように構成される。しかしながら1つの実施例において、データ処理装置は更に装置バスを含み、その上に少なくとも1つの装置が前記メモリアクセス要求を発するように動作可能であり、書き込み可能メモリがその装置バスに保護ロジック経由で結合されている。従って、書き込み可能メモリの少なくとも1つの読み取り専用範囲への全てのアクセスは、保護ロジックを通して回送される。
関連するメモリアクセス要求を発することにより、メモリ内に格納されているコンテンツへアクセスするデータ処理装置の1つまたは複数の装置は、種々の形式をとることができる。1つの実施例において、複数の少なくとも1つの装置群の少なくとも1つは、非安全確保領域内のモードである少なくとも1つの非安全確保モードと、安全確保領域内のモードである、少なくとも1つの安全確保モードを含む、複数のモードで動作可能である;そして少なくとも1つの読み取り専用範囲内のコンテンツの格納を制御するために使用される安全確保タスクは予め定められた安全確保モードで実行される。従って、安全確保領域および非安全確保領域は、ハードウェアで強制された境界によって分離された別々の実行空間を提供する一方で、その様な装置に対して異なる動作モード、例えば使用者モード、特権モードなどを与えることも可能である。1つの実施例において、その様な1つの装置はCPUである。その様な複数の動作モードは典型的に、その様な装置が特定の領域内で実行される際に適用可能なオペレーティング・システムによって制御される。その様な実施例において、少なくとも1つの読み取り専用範囲内にコンテンツを格納する安全確保タスクは、例えば安全確保特権モードの様な予め定められた安全確保モードで実行される。
1つの実施例において、多元安全確保領域可能装置が存在する。その様な実施例において、保護ロジックはその様な多元安全確保領域可能装置の1つのみが、コンテンツを少なくとも1つの読み取り専用範囲内に格納することを許すように構成されている。特に、保護ロジックは特定のCPU ID、処理ID、または動作状態(例えば安全確保特権モード)、またはそれらの組み合わせを使用する装置のみが、読み取り専用範囲への書き込みアクセスを持つことを許可するように許されている。
1つの実施例においては、非安全確保領域内で前記複数の少なくとも1つの装置群の少なくとも1つが、非安全確保オペレーティング・システムの制御下に動作可能であり、前記安全確保領域内で前記複数の少なくとも1つの装置群の少なくとも1つが、安全確保オペレーティング・システムの制御下に動作可能である。従ってその様な実施例においては、その装置内で異なるオペレーティング・システムが、その装置が実行される領域に依存して使用される。安全確保オペレーティング・システムは典型的に非安全確保オペレーティング・システムよりも著しく小さく、ある種の安全確保機能を制御するために提供される安全確保カーネルと見ることができる。
安全確保タスクを使用し、コンテンツを読み取り専用範囲内に格納することを制御する方法は多数存在する。1つの実施例において、安全確保タスクはブート時に使用されてコンテンツを読み取り専用範囲内に格納させている。その様な1つの実施例において、ブート処理に続いて、その少なくとも1つの読み取り専用範囲内のコンテンツはその後変更されないと見なされている。
1つの特定の実施例において、コンテンツは前記少なくとも1つの装置によって、非安全確保領域内で実行されるべきプログラム・コードを含み、前記安全確保タスクはそのプログラム・コードを少なくとも1つの読み取り専用範囲の中に格納装置から、ブート処理中に書き込ませるように動作可能である。典型的にそこからプログラム・コードが転送される記憶装置は書き込み可能メモリと比較すると比較的低速の記憶装置であり、従って安全確保タスクにより実行されるこの処理に続いて、そのプログラム・コードは書き込み可能メモリの読み取り専用範囲へのアクセスを通して、より高速にアクセス可能である。更に、このプログラム・コードは非安全確保領域から修正変更できないが、それは保護ロジックが非安全確保領域からの全てのアクセスを読み取り専用アクセスであると、保証しているからである。
1つの実施例において、安全確保タスクは更にそのプログラム・コードに対する検証処理を実行するように動作可能である。これにより安全確保タスクが安全確保領域内でそのプログラム・コードが書き込み可能メモリの読み取り専用範囲内に格納される前に、プログラム・コードの完全性を検証するように実行可能であり、従って非安全確保領域からそのコンテンツへの事前アクセスが可能である。この検証処理は種々の形式があり、例えば標準ブロック署名チェック手法を用いてプログラム・コードの完全性を検証することを含む。その様な検証処理の結果、そのプログラム・コードが正当であり、改竄されていないこと、すなわちそれが非安全確保領域からアクセスされるのに正統なコードであると示された場合のみ、そのプログラム・コードは書き込み可能メモリの少なくとも1つの読み取り専用範囲内に格納される。
1つの実施例において非安全確保タスク、すなわち非安全確保領域内の装置で実行されるタスクに対して、少なくとも1つの読み取り専用範囲内に格納されているコンテンツの変更を求める正当な理由は無いと見なされている。しかしながら、これに代わる別の実施例では非安全確保タスクがその様なコンテンツの更新を要求する正当な理由が有ると見なされており、従ってその非安全確保タスクが実行されている装置は、対応するメモリアクセス要求にトラップを掛け、そのメモリアクセス要求がその安全確保タスクにより処理されるように構成することが可能である。その上で非安全確保タスクが実行される装置の型式に依存して、これは実際にはそのメモリアクセス要求を、安全確保領域で動作可能な別の装置に転送することを含んだり、またはこれに代わって、同一装置を非安全確保領域から安全確保領域へ遷移させることを含み、その後安全確保タスクがその装置の上で実行できる。この様な手法により、非安全確保タスクが読み取り専用範囲内のコンテンツの変更を起こさせることが可能であるが、全てのその様なコンテンツの更新は実際は安全確保タスクで実行されるので、そのコンテンツの完全性は確保されている。
1つの特定の実施例において、安全確保タスクはメモリアクセス要求が安全確保コンテンツへのアクセスを要求していないかをチェックするために検証処理を実行するように動作可能であり、安全確保コンテンツへのアクセス要求が無い場合、メモリアクセス要求を発するように動作可能である。その様な手法により、安全確保タスクは、非安全確保タスクが修正変更を許可されていないコンテンツの変更を求めることが無いように、メモリアクセス要求を進めることを認める前に保証できる。
書き込み可能メモリは種々の形式を取りうる。1つの実施例において、複数の少なくとも1つの読み取り専用範囲の1つには、安全確保領域内で実行されるコードによって制御可能な周辺装置が具備されている。従って、周辺装置は安全確保領域から制御される一方で、読み取り専用アクセスは非安全確保領域から周辺装置に対して与えられ、例えばデータの読み取りを可能とする。考えられる例は、読み取り専用露出ページ・テーブルを備えたイーサネット(登録商標)装置またはシステム・レベルMMU装置である。
安全確保領域および非安全確保領域を有するデータ処理装置内で効率的に使用することが、一般的に困難なメモリ素子の1つのタイプはフラッシュメモリ素子である。多くのメモリ素子に関して、それらのメモリ素子に対して発行されたアドレスが非安全確保領域からアクセスされるように要求された安全確保データであるか監視可能であって、それはメモリのどの領域が安全確保データを含み、どの領域が非安全確保データを含んでいるか既知であるからであるが、その様な手法はフラッシュメモリ素子の書き込み動作に関しては簡単に使用することができない、それはフラッシュメモリ素子内でアクセスされるアドレスはそのフラッシュメモリ素子に対して発行された書き込みアクセス要求のフォーマットから容易には推論できないためである。読み取りアクセスに対しては、アクセスされるアドレスは典型的に判別可能であり、従って安全確保コンテンツへの読み取りアクセスが、その様なアクセスが安全確保領域に属する場合にのみ行われることを許すように監視することが可能である。しかしながら、その様なチェックを書き込み動作に対して行えないがために安全確保上の問題が生じる。
実際、フラッシュメモリ素子に接続されているバスは典型的にアドレスチャンネルとデータチャンネルとを有するが、アドレスチャンネルはまたフラッシュメモリ素子に対するフラッシュ命令(例えばブロック消去、コピー、書き込みなど)を発するためにも使用される。これらのフラッシュ命令は、自身ではアドレスを指定しない。従って、これらのフラッシュ命令が発せられる時点で、フラッシュメモリの外部にある保護ロジックが、どのコンテンツがフラッシュメモリ素子内でアクセスされるように要求されているか、信頼性高く識別することは不可能である。更に、それらのアドレスがその後に識別された際に、フラッシュ素子内の特定セグメントを識別するセグメント識別子を参照して識別されるであろうが、これもまたフラッシュ素子の外部にある保護ロジックにより容易に分かるものではない。これらの理由により、安全確保領域および非安全確保領域を有するデータ処理装置内でのフラッシュメモリ素子の使用は常に安全上の問題を生じるが、それはフラッシュ命令が非安全確保領域から出されることが可能であり、これらの命令がデータをフラッシュメモリ内の安全確保領域から非安全確保領域にコピーするために使用され、その結果非安全確保領域から安全確保領域へのアクセスを許すからである。
しかしながら本発明の実施例によれば、書き込み可能メモリはフラッシュメモリ素子を含み、また少なくとも1つの読み取り専用範囲は全フラッシュメモリ素子を含み、これにより非安全確保領域内の前記少なくとも1つの装置により実行されるタスクである非安全確保タスクはフラッシュメモリ素子内のコンテンツを読むことのみが可能である。先に述べたように、既存の機構が、非安全確保領域からの読み取りアクセスが読み取り専用範囲内の全ての安全確保コンテンツへのアクセスを許されないように保証することが可能である。従って保護ロジックが、非安全確保領域からの全てのアクセスがフラッシュメモリ素子内のコンテンツの読み取りのみができるように保証し、また読み取り専用範囲内に格納されているコンテンツが安全確保領域内で実行される安全確保タスクにより制御されるのであれば、先のフラッシュメモリ素子に関する潜在的安全上の問題は軽減され、これによりその様なフラッシュメモリ素子を安全確保領域と非安全確保領域とを有するデータ処理装置内で、正当性および完全性を損ねることなく使用することを可能とする。
1つの実施例において、各々のメモリアクセス要求はそのメモリアクセス要求が安全確保領域に属するか、非安全確保領域に属するかを識別することに関連する領域信号を有し、保護ロジックはそのメモリアクセス要求が非安全確保領域に属するか否かを判別するために領域信号を参照するように動作可能である。1つの実施例において領域信号は、ハードウェアレベルで実行され、従ってその装置自身が安全確保領域内で動作している場合にのみ、そのメモリアクセス要求が安全確保領域に属することを示すように設定できる。従って、その装置上で実行されている不良アプリケーションが領域信号の設定を改竄することは不可能である。
書き込み可能メモリ内の少なくとも1つの読み取り専用範囲は、種々のやり方で構築できる。しかしながら、1つの実施例において、少なくとも1つの読み取り専用範囲は安全確保領域内の安全確保タスクによって定義可能であり、これにより読み取り専用範囲はその安全確保タスクの制御下でのみ構築できることが保証される。この安全確保タスクはコンテンツを定義された読み取り専用範囲の中に格納することを制御するために使用される安全確保タスクと同一であっても無くても構わない。
第2の特徴から見ると、本発明は安全確保領域と非安全確保領域とを有するデータ処理装置に対するメモリロジックを提供しており、安全確保領域内でデータ処理装置の装置は非安全確保領域内ではアクセスできない安全確保コンテンツへのアクセスを有し、データ処理装置は前記安全確保領域または前記非安全確保領域のいずれかに属するメモリアクセス要求を発生するために、メモリロジック内に格納されているコンテンツへのアクセスを求める際に動作可能な少なくとも1つの装置を有し、このメモリロジックは:少なくとも1つの装置より要求されたコンテンツを格納するように動作可能で、そのコンテンツが安全確保領域内の前記少なくとも1つの装置群の1つで実行される1つのタスクである安全確保タスクの制御下でそこに格納される少なくとも1つの読み取り専用範囲を有する、書き込み可能メモリと;少なくとも1つの読み取り専用範囲内のコンテンツへのアクセスを求めるメモリアクセス要求を受け取り、そのメモリアクセス要求が前記非安全確保領域に属し、かつ前記少なくとも1つの読み取り専用範囲へのコンテンツへの書き込みを求めるものである場合、少なくとも1つの読み取り専用範囲へのアクセスを防止するように動作可能な保護ロジック、を含む。
第3の特徴から見ると、本発明は安全確保領域と非安全確保領域とを有するデータ処理装置内のコンテンツへのアクセスを管理するための方法を提供しており、安全確保領域内でデータ処理装置の装置は非安全確保領域内ではアクセスできない安全確保コンテンツへのアクセスを有し、この方法は:書き込み可能メモリ内に少なくとも1つの読み取り専用範囲を用意し;コンテンツを安全確保領域内の装置で実行される安全確保タスクの制御下に、少なくとも1つの読み取り専用範囲内に格納し;少なくとも1つの読み取り専用範囲内のコンテンツへのアクセスを求めるメモリアクセス要求が発せられた際に、そのメモリアクセス要求が前記非安全確保領域に属し、かつ前記少なくとも1つの読み取り専用範囲へのコンテンツの書き込みを求めるもので有る場合、それを防止する、以上のステップを含む。
本発明を更に詳細に、例としてのみ示す添付図に図示された実施例を参照して説明する。
図1は本発明の1つの実施例に基づくデータ処理装置のブロック図である。図1に示されるように、データ処理装置は複数のマスタ装置20,30を含み、これらはバス構造70を介して、マスタ装置20,30でアクセスするためのコンテンツを格納するために使用される複数のメモリ素子50,60と接続されている。マスタ装置20,30は、例えばCPU,DMAエンジン、データエンジンの様なハードウェア加速ロジックなど、種々の形式を取り得る。更に、図1ではバス構造70は単純なバスとして示されているが、実際にはそこに接続されている種々の装置の間で信号を転送するための複数の接続パスを提供するための相互接続ロジックを形成する。
メモリ素子50,60内のコンテンツにアクセスするために、トランザクションはバス構造70上で実施される。トランザクションは典型的にマスタ装置20,30から所望のスレイブ装置、この例ではメモリ素子50,60の1つへのアドレス転送と、マスタ装置とスレイブ装置間の1つまたは複数のデータ転送から構成される。書き込みトランザクションに関して、これらのデータ転送はマスタ装置からスレイブ装置へ通され、一方読み取りトランザクションに関してこれらのデータ転送はメモリ装置からマスタ装置へ通される。
メモリ保護ユニット(MPU)40がメモリ素子50,60内のコンテンツへのアクセスを保護するために具備されており、そのコンテンツがそのコンテンツへのアクセス権を与えられていないアプリケーションでアクセスされないように保証することを目的としている。
1つの実施例において、データ処理装置10は、安全確保領域と非安全確保領域とを有し、安全確保領域はハードウェアで強化された境界によって他の実行空間から分離された信頼された実行空間を提供する。従って、信頼された実行空間で取り扱われるコンテンツは非安全確保領域から、または実際に全ての信頼されない実行空間から、アクセスできない安全確保コンテンツとして取り扱うことが可能である。従って安全確保および非安全確保領域は、事実上別の世界を構築することによって、安全保証をハードウェアレベルで取り扱うための機構を提供し、これは安全確保領域に属する安全確保コンテンツが、非安全確保領域で実行される全てのアプリケーションからアクセスできないことを保証できる。
メモリ素子50,60は1つまたは複数の安全確保範囲が安全確保コンテンツをその中に格納するように定義され、1つまたは複数の非安全確範囲がその中に非安全確保コンテンツを格納するように定義されるように構成できる。MPU40は、トランザクションを発生させるメモリアクセス要求が非安全確保領域に属するマスタ装置から発せられた際に、安全確保メモリ範囲へのアクセスが生じないように、メモリ素子50,60へのアクセスを警備するように構成できる。その様なMPUは先に説明した米国特許出願番号10/714,561号に記載されている。
しかしながら、その様な手法は安全確保コンテンツが安全確保領域内で動作する装置によってのみアクセス可能な方法で格納されるように保証できるが、更に別の問題が存在し、それは非安全確保領域から或る非安全確保コンテンツへのアクセスを提供する一方で、そのコンテンツが非安全確保領域で動作するアプリケーションによって修正変更できないように保証することである。典型的に、今までその様なコンテンツを読み取り専用記憶素子の中に格納することによってのみ保護することが可能であった、従ってその様なコンテンツを修正変更から保護する記憶素子自身のハードウェア構成に依存している。
しかしながら、此処にこれから説明するように、本発明の1つの実施例では、少なくとも1つのメモリ素子50,60が、その中に読み取り専用範囲を定義できる書き込み可能メモリ素子である。従って、コンテンツはこの読み取り専用範囲の中に、安全確保領域内の1つのマスタ装置20,30により実行される安全確保タスクの制御下に格納される。これにより読み取り専用範囲は安全確保領域からのみ書き込めることが保証され、そのコンテンツを書き込む責任のある安全確保タスクは、そのコンテンツをメモリ素子に格納する前に適切な検証処理を実行できる。加えて、MPU40には追加機能が具備されており、メモリアクセス要求が書き込み可能素子の読み取り専用範囲内のコンテンツへのアクセスを求めている場合、そのメモリアクセス要求が非安全確保領域に属し、読み取り専用範囲へコンテンツの書き込みを求めるもので有る場合、MPU40がその読み取り専用範囲へのアクセスを阻止するようにできる。MPU40はメモリ素子に関連しているので、その様な保護はバス構造70に接続された異なるマスタ装置上で不良アプリケーションを実行させて騙されることは無いが、それはMPU40が更に非安全確保領域からの、読み取り専用範囲への全ての書き込みアクセスの試みを阻止することを保証しているからである。
この処理については図2を参照して更に詳しく説明する。図2に示されるように、1つまたは複数の信頼された操作110が安全確保領域内のマスタ装置20,30上で実行されるが、加えて1つまたは複数の信頼されていないアプリケーション100が非安全確保領域内のマスタ装置20,30上で実行される。1つの実施例において、マスタ装置20,30は常に安全確保領域内で実行され、信頼された操作110を実行するように構成されている一方、別のマスタ装置を非安全確保領域内で単独で使用して、信頼されていないアプリケーション100を実行する。しかしながら、これに代わって、1つまたは複数のマスタ装置20,30に、安全確保領域と非安全確保領域との間で遷移できる内部機能を持つ場合もあり、これによってそれらの時間の一部を安全確保領域内で信頼された操作110を実行するために消費し、その残りの時間を非安全確保領域内で信頼されていないアプリケーション100のために使用することができる。安全確保領域と非安全確保領域との間を遷移する機能を有するプロセッサは先に述べた米国特許出願第10/714,561号に記載されている。
図2に示されるように、データ処理装置はRAMメモリ120を有し、此処で使用されるように用語RAMメモリは、通常読み取りおよび書き込みアクセスを有するメモリを参照するように使用されており、これは従来型RAM素子、NORまたはNAND フラッシュメモリ素子、FeRAM素子、EEPROM素子などを含む。RAMメモリ120はメモリ素子50,60の1つで形成されることも、またはデータ処理装置内部の複数のメモリ素子にまたがることも可能である。
本発明の1つの実施例によれば、1つまたは複数の読み取り専用(RO)範囲をRAMメモリ内に定義することが可能であり、これらの範囲は典型的に信頼された操作110によって定義され、また此処では安全確保タスクと呼ぶ。図2において、簡略化する目的で単一のRO範囲124が、読み取り/書き込み範囲であるRAMメモリ120の残りの部分122と共に示されている。
RAMメモリ120へのアクセスは読み取り専用RAM(RORAM)アクセス制御ブリッジ130で制御されており、これは1つの実施例の中で図1に示されるMPU40の一部を形成する。特に、図2のライン150で示されるように、信頼された操作110の制御の下、コンテンツはRO範囲124の中にシステムの別の場所に具備されている低速記憶装置140(この低速記憶装置は安全が確保されているかまたは安全確保範囲を有する)から格納される。この低速記憶装置は例えば、フラッシュ素子であり、コードまたはデータの形式で信頼できるコンテンツを格納するように構成される。更に、ローディング手順の一部として、信頼された操作110はRO範囲124内に格納を許される前に、コンテンツの何らかの検証処理を実施するように構成される。
コンテンツがRO範囲124の中に、信頼された操作110の制御下に格納されると、矢印160、170で示されるように、RORAMアクセス制御ブリッジ130は、信頼されていないアプリケーション100がRAMメモリ120の読み取り/書き込み範囲122への読み取りおよび/または書き込みアクセスを有する一方で、その様な信頼されていないアプリケーション100はRO範囲124内に格納されているコンテンツへは、読み取りアクセスのみを与えるように保証する。
図3は、本発明の1つの実施例に基づく、MPU40のRORAMアクセス制御ブリッジ130で実施される処理を図示する流れ図であって、RAMメモリ120内に格納されているコンテンツに対する、コンテンツ保護制御を提供する。ステップ200において、トランザクションが発生したか否かが判定される。トランザクションが発生すると、ステップ210において、そのトランザクションが書き込みトランザクションであるか否か判定される。書き込みトランザクションでない場合は、読み取りトランザクションであり、処理はステップ220へ進み、此処で標準MPU範囲チェック処理手順が実施され、これは例えば先に説明した米国特許出願第10/714,561号に記載されている。典型的に、その様な処理手順を用いて、メモリアクセス要求が非安全確保領域に属する装置で発生されたものである場合、安全確保メモリ内の安全確保コンテンツへのアクセスが許されないように保証する。
ステップ220で実施されるチェックに続いて、ステップ230において、そのトランザクションが許されるか否かを、実施されたチェックに基づき判定し、許される場合処理はステップ270へ進み、此処でそのトランザクションは処理を許され、従ってRAMメモリ120がアクセスされる。これに代わって、ステップ230でそのトランザクションが許されないと判定された場合、そのトランザクションはステップ260で停止される。
ステップ210に戻って、そのトランザクションが書き込みトランザクションと判定されると、ステップ240において、そのトランザクションがメモリのRO範囲に対して行われるか否かが判定される。行われない場合、処理はステップ220に分岐し、此処で通常の範囲チェック処理手順が行われる。しかしながら、そのトランザクションがRO範囲124に対するものである場合、ステップ250において、そのトランザクションが安全確保領域に属するか否かが判定される。そこに属する場合、そのトランザクションはステップ270で続行が許される。典型的に、この事例では全てのMPU範囲チェックを実施する必要が無いが、それは典型的に全てのコンテンツが安全確保領域からアクセスを許されているためである。しかしながら、これに代わる実施例において、その様な範囲チェックが適切であると考えられた場合、ステップ250でその書き込みトランザクションが安全確保領域に属すると判定される場合には、処理は直接ステップ270へ行く代わりにステップ220へ進むはずである。
ステップ250において、書き込みトランザクションが安全確保領域に属さないと判定される場合、本発明のこの実施例によれば、処理はステップ260へ進み、そのトランザクションは停止される。これは図2に図示される機能を保証しており、此処で非安全確保領域からのRO範囲124への書き込みトランザクションは許されない。
1つの実施例において、低速記憶装置140からRO範囲124へのコンテンツのローディング処理は、図2に図示されるようにブート時に一度のみ行われ、その後RO範囲に格納されているコンテンツは変更されない。しかしながら、これに代わって信頼された操作110を周期的にRO範囲124内のコンテンツを変更するように構成できる。更に、実施例によっては信頼されていないアプリケーション100がRO範囲124内に格納されているコンテンツの幾つかを変更したいと望む正当な理由が存在する。先に図2および図3を参照して説明した手法を適用する際に、信頼されていないアプリケーション100が直接その様な更新を実施できないことは理解されよう、それはRORAMアクセス制御ブリッジ130がその様な更新を阻止するからである。
しかしながら、1つの実施例において、信頼されていないアプリケーションが図4に図式的に説明された処理手順を用いてその様な更新を行うことができる。図4に示されるように、ステップ300において、非安全確保領域内で実行されるプログラム・コードが読み取り専用範囲124内のコンテンツへアクセスするためのトランザクションの発行を望む場合、ステップ300でそのトランザクションが読み取り専用範囲への書き込みトランザクションであるか否かの判定が行われる。読み取り専用範囲への書き込みトランザクションでない場合は、読み取りトランザクションがステップ310で発生される。これは図2のライン170で示されるように、そのコンテンツが読み取り専用範囲124から関連する信頼されていないアプリケーション100へ読み出される。
しかしながら、ステップ300でそのトランザクションが書き込みトランザクションと判定されると、そのトランザクションはステップ320でソフトウェアによってトラップされる。典型的に、書き込みトランザクションが読み取り専用範囲への書き込みを求めていることの判定は、MMUまたは同様のものにより、アクセスされようとしている個別のアドレスが読み取り専用範囲であるか否かを記述するページ・テーブル記述子を参照して行われる。もしも読み取り専用範囲である場合、これは発生される例外となりステップ320でそのトランザクションをトラップする。
例外処理ルーチンが実行されると、これは非安全確保領域から安全確保領域へのトランザクションを引き起こす。このトランザクションはそのマスタ装置がいずれの領域でも動作可能な場合は同一マスタ装置内で発生し、またはこれに代わって、非安全確保領域内で実行する装置から安全確保領域内で実行できる異なる装置への遷移を含む。ひとたび安全確保領域への遷移が行われると、ステップ330において、安全確保特権モードに入り、その後ステップ340で検証処理が書き込みトランザクションに対して実施され、そのトランザクションの発生が許されるべきかの吟味がなされる。その様な検証処理は、例えばメモリマップを参照して非安全確保アプリケーションが安全確保メモリへのアクセスを求めていないことを確認したり、例えば命令の型式の様なその他の関連要素を考慮することを含む。
検証がひとたび行われると、次にステップ350で検証結果に基づいて、そのトランザクションの続行が許されるべきか否か判定される。許されない場合は、ステップ360で停止され、その後ステップ370で非安全確保領域内の非安全確保モードに再度入る。この時点で処理はステップ300に戻ることができる。
ステップ350でトランザクションが許されると判定されると、ステップ380でそのトランザクションは実行されるが、これは非安全確保領域から発せられるトランザクションとしてではなく、代わりに安全確保領域から安全確保特権モードで実行される処理によって発せられる。その結果、この書き込みトランザクションはRORAMアクセス制御ブリッジ130からは、信頼された操作110から発せられたものと見られ、従って実行が許される。その後、処理はステップ370に戻ることができて、此処で非安全確保領域内の非安全確保モードに再び入り、その後元の非安全確保プログラム・コードの実行が継続される。
上述の実施例によれば、信頼されていないアプリケーションを実行するシステムは、書き込み可能メモリ素子の中に、信頼されていないアプリケーションから直接変更することはできないが、信頼されていないアプリケーションが読み取りアクセスすることはできる、完全性が検証されたコンテンツを含むように構成された1つのメモリ範囲を持つことができる。これは、読み取り専用範囲内のコンテンツに対して、そのコンテンツの安全性に害を与えることなく高速でかつ電力効率の良いアクセスを可能とする。更に、説明したように読み取り専用範囲内に格納されているコンテンツの設定および完全性の検証は、安全確保領域内で実行される信頼された操作、すなわちソフトウェアおよび/またはハードウェア攻撃に対してオープンでない操作によって実行される。加えて、読み取り専用範囲へのアクセスの管理は、メモリに関連したアクセス制御機構により、個別のメモリアクセス要求が関係している領域に対する知識に基づいて実行される。
典型的に、この知識はバス構造70上を領域信号によって送信され、これはそのメモリアクセス要求が安全確保領域に属するかまたは非安全確保領域に属するかを識別する。好適に、領域信号はハードウェアレベルで発せられるので、それ自身が安全確保領域内で実行することが可能であると検証された装置で実行されるアプリケーションのみによって発することが可能である。従って、領域信号の設定の改竄を意図している装置上で実行される不良アプリケーションでは不可能であるが、それは不良アプリケーションは非安全確保領域内でのみ実行されるからである。1つの特定の実施例では、装置は領域信号をバス上に出力するための予め定められたピンを有し、デフォルトではその領域信号はその装置が非安全確保領域上で動作するものと示すように設定されている。
その様な手法の利点は種々の条件の中で実現できる。例えば、1つの実施例において、信頼性の保証されない環境の中で、コード・セグメントの完全性を担保するために使用できる。典型的な現行システムの1つの大きな問題は、非安全確保領域用に使用されるオペレーティング・システム・コードが巨大であり、従って性能およびスピードの理由からRAMから実行される必要があるが、RAMは本質的に修正可能である点である。これと対照的にそのコードを代わってROMの中に配置すると完全性は確保できるが、変更できないこと並びに一般的にかなり遅いという欠点がある。しかしながらコードがROMからRAMへコピーされると、これは速度は改善するが通常は完全性の担保は失う。本発明の実施例を通してこの問題は解決されるが、それはコードがRAM内に配置できるにもかかわらず完全性も担保できるためであり、それはそのコードがRAMの中に安全確保領域内で動作する安全確保タスクの制御下でのみロード可能であって、その後非安全確保領域からそのコードへは読み取り専用アクセスのみが提供されるからである。
従って、読み取り専用メモリ技術はその速度の点において、読み取り/書き込みメモリ技術に後れを取るが、本発明の実施例は読み取り/書き込み技術の改善された速度を備えた、読み取り専用メモリ技術のアクセス制御を提供する。更に、読み取り専用技術の持つ柔軟性の無さも軽減されており、それは本発明の実施例を通してコンテンツを読み取り/書き込みメモリの中に格納することが可能であり、その読み取り/書き込みメモリは信頼性の保証されていないアプリケーションからは読み取り専用であることを保証されるが、必要に応じて安全確保領域内で実行される信頼された操作から周期的に変更できるものである。
本発明の実施例は全てのメモリまたはメモリ・マップ・システムに適用できる。アクセス制御はメモリに関連するアクセス制御ブリッジで管理され、バス・マスタ・レベルでは管理されないことを考えると、別のバス・マスタを用いて読み取り専用範囲内のコンテンツを修正変更しようとすることによる、保護機構の全ての迂回を防止する。特に、本発明の実施例の機構は、どのバス・マスタが要求を出したかに関わらず、非安全確保領域から読み取り専用範囲への如何なる書き込みアクセスも許さないことを保証している。更に、読み取り専用メモリ範囲内のコンテンツは非安全確保実行空間から、読み取り専用範囲の制御へのアクセスを許すコーディング上の不備によって変更することはできないが、それはその制御が何処か別の場所、すなわちメモリに関連するアクセス制御ブリッジ130から提供されるメモリアクセス保護手法を通して行われるからである。
更に、本発明の実施例の技術は既存技術にもかなり容易に適用可能であり、それは一般的にこの技術の特長を入れるために信頼性が保証されていないオペレーティング・システム・コードを大きく書き直す必要が無いからである。必要なことは単に、読み取り専用メモリ範囲から実行される全てのオペレーティング・システム・コードが、今回読み取り専用と宣言されたメモリ空間内部のメモリ・コンテンツを変更できることを期待しないことである。
ソフトウェア完全性検証は一般的に「必要に応じて」ベース(これはシステムにスポット的な負荷となる)または、バックグラウンドの定周期プログラム(これはチェックの隙間で攻撃に対して脆弱)のいずれかで実施される。しかしながら、本発明の実施例によれば、コードの信憑性はそれが信頼された動作によって読み取り専用メモリ内にロードされる際にチェックされるので、更にテストする必要がない。
1つの実施例において、RORAM領域は信頼性の保証されないオペレーティング・システムのコア機能を含み、これはその動作の完全性を検証するために使用する全てのコード、および通常RAMメモリ内にロードされるコードを含む。1つの実施例において、このRORAMのコンテンツはブート時点の後は変更されないが、先に説明したようにオペレーティング・システムが、変更を行う信頼性の保証されたコードを要求するシステムが存在する場合もある。しかしながら、図4を参照して説明したように、その様な変更は典型的には信頼されたコードがその検証手順を、行われた全ての変更に対して繰り返した後にのみ発生する。加えて、その変更を手際よく行うためには、ある量の「ハンドシェイク」が要求され、従って非安全確保領域内で実行されるコードの全ての不正操作が避けられる。
本発明の1つの特定の実施例を図1から4を参照して説明してきたが、多数の変形が本発明の範囲から逸脱することなく行えることは理解されよう。先に説明したように、書き込み可能メモリは複数のRORAM範囲を有するように定義される。更に、重複するRORAM範囲が、1つまたは複数の異なるその様なRORAM範囲の書き込み制御を有する異なる信頼されたコードで定義される。
更に、幾つかの実施例において、そのコンテンツをRORAM範囲の中にロードするために使用された信頼されるコードは、ブート処理の重要段階の間のみ信頼されるものと考えられる。この段階の後、RORAM範囲への更なる修正変更は行われず、また全てのアクセスは読み取り専用と考えられる。
この変形として、信頼性が保証されていないオペレーティング・システム初期化処理ルーチンは信頼に足るものと考えられるが、それらはチェックされたものであり、そのシステムは未だ閉じているからである。「閉じた」環境は全ての操作が信頼に足る発生源から来たものとして検証されているものである。完全に閉じたオペレーティング・システム環境は認証されたコードのみを実行する。PCキーボードをスキャンするチップ内のコードは閉じた環境である。開かれたオペレーティング・システムは任意の発生源からダウンロードされたコードを実行する。WINDOWS(登録商標)PCは開かれた環境である。開かれたオペレーティング・システムはその寿命の中のある時点では閉じていると考えられる、すなわち開始してはいるが外部で生成されたコードの実行を許す前の段階が存在し、その時点でこれは閉じた環境として未だ信頼に足るものである。その様なオペレーティング・システム初期化コードはメモリをRAMとして使用して実行し、ひとたび完了すると、安全確保領域は続いて(しかも此処でのみ)読み取り専用範囲を指定して、その時点から読み取り専用範囲内に格納されたコンテンツが非安全確保領域から書き込まれないように保証する。
RORAM範囲を含むメモリ素子は種々の形式を取りうる。1つの実施例において、それは信頼されたコードは制御できるが、信頼されていないオペレーティング・システムはデータの読み取りのみに使用する、周辺装置である。考えられる例は、読み取り専用露出ページ・テーブルを具備した、イーサネット(登録商標)装置またはシステム・レベルMMU装置である。
1つの実施例において、RORAM範囲を含むメモリ素子は低速メモリ、例えばフラッシュメモリであって、これは信頼されたコードは制御できるが、通常のオペレーティング・システム・コードはデータに対する読み取り専用用途のみを有するものである。これでもまだ十分な利益を与えるが、それはデータの完全性が先に説明したアクセス制御機構を通して維持されるからである。
1つの実施例において、RORAM範囲は、低速記憶素子から転送されるコードまたはデータが、信頼に足る完全性を有すると感じられる場合は、ブロック署名チェックを実行することなくコンテンツをロードされる。
1つの実施例において、バス・マスタ周辺機器はコンテンツをRORAM範囲の中にロードするためにDMA様技術を使用するように設計されている。その様な装置はソースの完全性が本質的に信頼できない場合、ブロック署名チェックを使用する。
RORAM範囲の構成は種々の形式を取りうる。実際、1つの実施例において、RORAMの区分けは、メモリ・ページ単位で適用されている。
1つの実施例において、コンテンツを読み取り専用範囲の中にロードした後、信頼されていない実行を再開する前に、信頼された操作が付加的にRAMメモリ120の読み取り/書き込み範囲122内のコンテンツに対してチェックを実施するように構成されている。これは非安全確保オペレーティング・システムに対して必要な変更を少なくするが、それはオペレーティング・システムはメモリ操作を実施するために安全確保領域を呼び出すことが無く、1度何らかの操作が完了するときに安全確保領域を呼び出す必要が有るだけである。
先に説明したように、個別のメモリ素子はその中に定義された1つまたは複数の読み取り専用範囲を有するか、または実際いずれかの素子、例えばフラッシュ,FeRAM,EEPROM型素子などに対しては全「RAM」素子アドレス範囲に対してRORAM範囲として指定するのが適切であろう。
メモリ素子50,60の1つがフラッシュメモリ素子であり、フラッシュメモリ素子の全アドレス範囲がRORAM範囲として指定されている、1つの特定の実施例を次に図5および6を参照して説明する。図5は典型的なフラッシュメモリ400の中に見られる構成要素を図示する図である。特に、フラッシュメモリ400は典型的に、多数のメモリ区分410を含むメモリ配列で構成され、それらのメモリ区分への読み取りおよび書き込みはフラッシュメモリ400内の状態マシン420で制御されている。フラッシュメモリ素子の型式に依存して、制御、アドレスおよびデータ信号の幾つかは状態マシンとメモリ配列に並行して供給される。
今まで安全確保領域と非安全確保領域とを有するデータ処理装置の中でフラッシュメモリ素子を効率的に使用することは困難であった。これは書き込みアクセスに対してフラッシュメモリ素子内でアクセスされるアドレスを、フラッシュメモリ素子に対して発行されるアクセス要求のフォーマットから容易に推論することができないためである。特に、フラッシュ命令(ブロック消去、コピー、書き込みなど)は初期書き込み転送で表され、これらのフラッシュ命令はそれら自身でアドレスを指定しないからである。従って、命令シーケンスは多数の読み取りおよび書き込み転送から構成され、その命令が実行されている間は他の読み取りまたは書き込みを行ってはならない。
図6は図5の状態マシン420がその様なフラッシュ命令を取り扱っている際の動作を図示する。図6に示されるように、ステップ500において、状態マシンはそのアイドル状態にあり、第1命令を受け取るとステップ510に進む。第1命令が実行されると、その結果としてその第1命令が、読み取りトランザクションの読み取り命令であるかまたは、それに代わって何か別のトランザクションの第1命令を形成する書き込み命令であるかが判定される。従って、ステップ520において、第1命令が読み取りトランザクションを示しているか否かの判定が行われ、示している場合読み取り転送がステップ530で実施され、その後状態マシンはアイドル状態500に戻る。
しかしながら、第1命令が代わって書き込み命令の場合、処理はステップ540に進み、此処で制御、アドレスおよびデータ・パス上の信号が次に受け取られる命令に対して調べられ、どの型式のトランザクションが実行されるかの判定がなされる。特に、実行される1つのトランザクションに対して、多数の命令が発効される必要がある。1例として、フラッシュメモリへのデータの書き込みは、第1書き込み命令を発生させるのに続いて、第2書き込み命令を発生し、この第2書き込み命令は転送されるデータ語を指定する。同様に、書き込みトランザクションが完了したか否かを判定するために使用される、状態読み取りトランザクションの実行は、書き込み命令に続いて読み取り命令の発行を含む。第2命令の性質を評価するために、制御、アドレスおよびデータ信号がステップ540で分析される必要がある。
その様な分析に続いて、ステップ550において、第2命令が状態読み取り命令と判定されると、処理はステップ560に進み、此処で読み取り転送が行われ、データが、書き込みトランザクションの状態を示す、状態レジスタのコンテンツに転送される。その後、処理はステップ500でアイドル状態に戻る。
ステップ550において、命令が状態読み取り命令では無いと判定されると、ステップ570において、その命令が書き込まれるべきデータ値を指定する書き込み命令であるか否かの判定がなされる。書き込まれるべきデータ値を指定する書き込み命令である場合、書き込み転送が580で実施されて、データ語がメモリ配列410の中に書き込まれ、その後処理はアイドル状態500に戻る。後続のデータ語は追加の書き込み命令を発行することにより書き込むことができる。
判定ボックス590で図式的に示されるように、更に多数の命令が第2命令で指定されることは理解されよう。
書き込みフラッシュ命令が発行された時点で、フラッシュメモリ素子の外側のMPUが、どのコンテンツがアクセス要求されているか確実に識別することは困難であり、その後アドレスがアドレス・バス上で識別された際にも、これらは区分識別子を参照して識別されるであろうが、これもまたMPU40で容易に理解することはできない。その結果として、既知のシステムの中で、書き込みフラッシュ命令を非安全確保領域から提出し、これらの命令を用いてフラッシュメモリ内の安全確保範囲から非安全確保範囲へデータをコピーし、これにより非安全確保領域から安全確保領域へのアクセスを許すことが可能であろう。
しかしながら、本発明の上記の技術を使用することで、その様な問題は軽減されるが、それはフラッシュメモリ素子が、非安全確保領域内で実行されるアプリケーションはその中のコンテンツに対して読み取り専用のみである読み取り専用範囲を具備するように構築できるからである。その様な読み取りアクセスに対して、既知の機構を用いて読み取り専用範囲内の全ての安全確保コンテンツが非安全確保領域からアクセスされないようにすることが可能である。加えて、安全確保領域内の少なくとも幾つかの安全確保タスクに対して、読み取りおよび書き込みアクセスをその範囲内に許可し、その安全確保タスクの制御下にそのコンテンツの更新を認めることが可能である。本発明の実施例の先に説明した技術のおかげで、非安全確保領域からのアプリケーションで発せられた全ての書き込みトランザクションがRORAMアクセス制御ブリッジ130により停止されることが理解されよう。
1つの実施例において、RORAM範囲内のコンテンツの更新を許された安全確保タスクは安全確保特権モードで実行される。その様な実施例において、非安全確保領域から発せられる全ての書き込みトランザクションに加えて、安全確保領域内の操作の非特権モードで発せられた全ての書き込みトランザクションもまた、アクセス制御ブリッジ130で阻止されるようにシステムを構築することが可能である。
1つの実施例において、コンテンツをフラッシュメモリのRORAM範囲の中にロードするために使用される信頼された操作は、安全確保特権再入不能機能である。その様な機能はキー/セマフォで管理されて、その機能は読み取り専用範囲へのアクセスを有する一方で、その他の全ての機能は同時に読み取り専用範囲へのアクセスができないように保証される。
図4を参照して先に説明した処理を用いて、フラッシュメモリへの書き込みを必要とする非安全確保領域内で実行されるプログラムが、フラッシュメモリへ書き込まれた関連するコンテンツを求める安全確保フラッシュ命令機能をコールし、その安全確保フラッシュ命令機能がそこに提示される全ての命令の安全性をそれらの命令で指定されたトランザクションの続行を許す前にチェックすることが可能である。その様な手法はフラッシュメモリを非安全確保フラッシュ命令攻撃から保護し、一方で非安全確保領域内で実行されるアプリケーションに対してフラッシュメモリへアクセスするための技術をも提供している。
本発明の特定の実施例を此処に説明してきたが、本発明がこれらに制限されるものでないことは明らかであり、多くの修正変更並びに追加が本発明の範囲内で行える。例えば、添付の関連する特許請求項の特徴を種々に組み合わせることも、本発明の範囲から逸脱することなく独立した特許請求項の特徴を用いて行うことができよう。
図1は本発明の1つの実施例に基づくデータ処理装置のブロック図である。 図2は本発明の1つの実施例に基づく書き込み可能メモリ素子内の、読み取り専用範囲へのアクセスの管理を図式的に示す図である。 図3は本発明の1つの実施例に基づく、図1のメモリ保護ユニットで実行される処理を図式的に示す流れ図である。 図4は非安全確保領域内で実行されるコードから読み取り専用範囲へ発せられた書き込み処理が、本発明の1つの実施例に基づき如何にして取り扱われるかを図式的に示す流れ図である。 図5は本発明の1つの実施例が適用可能なフラッシュメモリ素子の構造を図式的に示す図である。 図6は図5の状態マシンの動作を図式的に示す図である。
符号の説明
10 データ処理装置
20、30 マスタ装置
40 MPU
50,60 メモリ素子
70 バス構造
100 信頼されていないアプリケーション
110 信頼された操作
120 RAMメモリ
122 読み取り/書き込み範囲
124 読み取り専用範囲
130 RORAMアクセス制御ブリッジ
140 低速記憶装置
400 フラッシュメモリ
410 メモリ配列
420 状態マシン

Claims (19)

  1. 安全確保領域と非安全確保領域とを有するデータ処理装置であって、前記安全確保領域内で前記データ処理装置の複数の装置は前記非安全確保領域内ではアクセスできない安全確保コンテンツへのアクセスを有し、
    メモリ内に格納されているコンテンツへのアクセスを求める際に、前記安全確保領域または前記非安全確保領域のいずれかに属するメモリアクセス要求を発するように動作可能な少なくとも1つの装置と、
    前記少なくとも1つの装置から要求されたコンテンツを格納するように動作可能で、コンテンツが前記安全確保領域内の前記複数の少なくとも1つの装置群の1つにより実行される安全確保タスクの制御下にその中に格納される、少なくとも1つの読み取り専用範囲を有する書き込み可能メモリと、
    前記少なくとも1つの読み取り専用範囲内のコンテンツへのアクセスを求めるメモリアクセス要求を受け取り、該メモリアクセス要求が前記非安全確保領域に属し、前記少なくとも1つの読み取り専用範囲へのコンテンツの書き込みを求めている場合は、少なくとも1つの読み取り専用範囲へのアクセスを防止するように動作可能な保護ロジックと、
    を含
    前記非安全確保領域内の前記少なくとも1つの装置で実行されるタスクである、非安全確保タスクが前記少なくとも1つの読み取り専用範囲内のコンテンツへの書き込みを望む場合、前記非安全確保タスクが実行される前記少なくとも1つの装置が、対応するメモリアクセス要求をトラップし、該メモリアクセス要求を前記安全確保タスクで取り扱わせるように動作可能である、前記データ処理装置。
  2. 請求項1記載のデータ処理装置であって更に、
    装置バスであって、前記少なくとも1つの装置が該装置バスの上に前記メモリアクセス要求を発するように動作可能な前記装置バスと、
    該装置バスに保護ロジックを介して接続されている書き込み可能メモリと、
    を含む、前記データ処理装置。
  3. 請求項1記載のデータ処理装置において、
    前記少なくとも1つの装置群の少なくとも1つが、前記非安全確保領域内のモードである少なくとも1つの非安全確保モードと、前記安全確保領域内のモードである少なくとも1つの安全確保モードを含む、複数のモードで動作可能であり、
    前記少なくとも1つの読み取り専用範囲内へのコンテンツの格納を制御するために使用される前記安全確保タスクが予め定められた安全確保モードで実行される、
    前記データ処理装置。
  4. 請求項3記載のデータ処理装置において、前記非安全確保領域内で前記少なくとも1つの装置群の前記少なくとも1つは、非安全確保オペレーティング・システムの制御下に動作可能であり、前記安全確保領域内で前記少なくとも1つの装置群の前記少なくとも1つは、安全確保オペレーティング・システムの制御下に動作可能である、前記データ処理装置。
  5. 請求項1記載のデータ処理装置において、前記安全確保タスクがブート処理中に、少なくとも1つの読み取り専用範囲内へのコンテンツの格納を制御するように動作可能な、前記データ処理装置。
  6. 請求項5記載のデータ処理装置において、前記コンテンツは前記非安全確保領域内の前記少なくとも1つの装置で実行されるプログラム・コードを含み、前記安全確保タスクは該プログラム・コードが前記少なくとも1つの読み取り専用範囲内に、前記ブート処理中に記憶装置から書き込まれるように動作可能な、前記データ処理装置。
  7. 請求項6記載のデータ処理装置において、前記安全確保タスクが更に前記プログラム・コードの完全性を検証する検証処理を行わせるように動作可能な、前記データ処理装置。
  8. 請求項記載のデータ処理装置において、前記安全確保タスクが、前記メモリアクセス要求が安全確保コンテンツへのアクセスを求めていないことをチェックするための検証処理を実行するように動作可能であり、提供された安全確保コンテンツへのアクセスが求められていない場合、メモリアクセス要求を発行するように動作可能な、前記データ処理装置。
  9. 請求項1記載のデータ処理装置において、前記書き込み可能メモリが複数のメモリ素子で形成されている、前記データ処理装置。
  10. 請求項1記載のデータ処理装置において、前記少なくとも1つの読み取り専用範囲の1つが、前記安全確保領域内で実行されるコードにより制御可能な周辺装置内に具備されている、前記データ処理装置。
  11. 請求項1記載のデータ処理装置において、前記書き込み可能メモリがフラッシュメモリ素子を含み、前記少なくとも1つの読み取り専用範囲が前記フラッシュメモリ素子全体を含み、これにより前記非安全確保領域内の前記少なくとも1つの装置で実行されるタスクである、非安全確保タスクが前記フラッシュメモリ素子内のコンテンツの読み取りのみが可能な、前記データ処理装置。
  12. 請求項11記載のデータ処理装置において、各々のメモリアクセス要求が、該メモリアクセス要求が安全確保領域に属するか非安全確保領域に属するか識別するための、そこに関連した領域信号を有し、保護ロジックが前記領域信号を参照して前記メモリアクセス要求が前記非安全確保領域に属するか否かの判定を行うように動作可能な、前記データ処理装置。
  13. 請求項1記載のデータ処理装置において、各々の読み取り専用範囲が安全確保領域内の前記安全確保タスクによって定義されている、前記データ処理装置。
  14. 請求項1記載のデータ処理装置において、前記コンテンツが前記少なくとも1つの読み取り専用範囲内に前記安全確保タスクにより格納されている、前記データ処理装置。
  15. 請求項1記載のデータ処理装置であって、更に前記安全確保領域内の前記少なくとも1つの装置の1つで実行される信頼されたタスクを含み、該信頼されたタスクが前記書き込み可能メモリの少なくとも1つの範囲の中にコンテンツを書き込むように動作可能であり、その後前記安全確保タスクが前記少なくとも1つの範囲を前記少なくとも1つの読み取り専用範囲と定義することにより、前記少なくとも1つの読み取り専用範囲へのコンテンツの格納を制御するように動作可能である、前記データ処理装置。
  16. 請求項15記載のデータ処理装置において、前記信頼されたタスクが動作の或る特定段階でのみ信頼されている、前記データ処理装置。
  17. 安全確保領域と非安全確保領域とを有するデータ処理装置に対するメモリロジックであって、前記安全確保領域内で前記データ処理装置の複数の装置は前記非安全確保領域内ではアクセスできない安全確保コンテンツへのアクセスを有し、前記データ処理装置は前記安全確保領域または前記非安全確保領域のいずれかに属するメモリアクセス要求を発生するために、メモリロジック内に格納されているコンテンツへのアクセスを求める際に動作可能な少なくとも1つの装置を有し、
    該少なくとも1つの装置より要求されたコンテンツを格納するように動作可能で、そのコンテンツが安全確保領域内の前記少なくとも1つの装置群の1つで実行される1つのタスクである安全確保タスクの制御下でそこに格納される少なくとも1つの読み取り専用範囲を有する、書き込み可能メモリと、
    前記少なくとも1つの読み取り専用範囲内のコンテンツへのアクセスを求めるメモリアクセス要求を受け取り、該メモリアクセス要求が前記非安全確保領域に属し、かつ前記少なくとも1つの読み取り専用範囲へのコンテンツへの書き込みを求めるものである場合、少なくとも1つの読み取り専用範囲へのアクセスを防止するように動作可能な保護ロジックと、
    を含
    前記非安全確保領域内の前記少なくとも1つの装置で実行されるタスクである、非安全確保タスクが前記少なくとも1つの読み取り専用範囲内のコンテンツへの書き込みを望む場合、前記非安全確保タスクが実行される前記少なくとも1つの装置の装置が、対応するメモリアクセス要求をトラップし、該メモリアクセス要求を前記安全確保タスクで取り扱わせるように動作可能である、前記メモリロジック。
  18. 安全確保領域と非安全確保領域とを有するデータ処理装置であって、前記安全確保領域内で前記データ処理装置の複数の装置は前記非安全確保領域内ではアクセスできない前記安全確保コンテンツへのアクセスを有し、
    メモリ装置内に格納されているコンテンツへのアクセスを求める際に、前記安全確保領域または前記非安全確保領域のいずれかに属するメモリアクセス要求を発生するための少なくとも1つの装置と、
    少なくとも1つの装置で要求されたコンテンツを格納するための書き込み可能メモリ装置であって、そのコンテンツが安全確保領域内の前記少なくとも1つの装置の1つで実行されるタスクである、安全確保タスクの制御下にそこに格納される少なくとも1つの読み取り専用範囲を有する、書き込み可能メモリ装置と、
    前記少なくとも1つの読み取り専用範囲内のコンテンツへのアクセスを求める、メモリアクセス要求を受け取り、該メモリアクセス要求が前記非安全確保領域に属し、かつ前記少なくとも1つの読み取り専用範囲へのコンテンツの書き込みを求めている場合に、前記アクセスを阻止するための保護装置と、
    を含
    前記非安全確保領域内の前記少なくとも1つの装置で実行されるタスクである、非安全確保タスクが前記少なくとも1つの読み取り専用範囲内のコンテンツへの書き込みを望む場合、前記非安全確保タスクが実行される前記少なくとも1つの装置が、対応するメモリアクセス要求をトラップし、該メモリアクセス要求を前記安全確保タスクで取り扱わせるように動作可能である、前記とデータ処理装置。
  19. 安全確保領域と非安全確保領域とを有し、安全確保領域内でデータ処理装置の複数の装置は前記非安全確保領域内ではアクセスできない安全確保コンテンツへのアクセスを有する、データ処理装置内のコンテンツへのアクセス管理方法であって、
    書き込み可能メモリ内に少なくとも1つの読み取り専用範囲を用意することと、
    前記少なくとも1つの読み取り専用範囲内に、前記安全確保領域内の装置で実行されるタスクである安全確保タスクの制御下にコンテンツを格納することと、
    前記少なくとも1つの読み取り専用範囲内のコンテンツへのアクセスを求めるメモリアクセス要求が発せられた際に、該メモリアクセス要求が前記非安全確保領域に属し、かつ前記読み取り専用範囲のコンテンツへの書き込みを求めている場合に、前記少なくとも1つの読み取り専用範囲へのアクセスを阻止することと、
    を含
    前記非安全確保領域内の前記少なくとも1つの装置で実行されるタスクである、非安全確保タスクが前記少なくとも1つの読み取り専用範囲内のコンテンツへの書き込みを望む場合、前記非安全確保タスクが実行される前記少なくとも1つの装置が、対応するメモリアクセス要求をトラップし、該メモリアクセス要求を前記安全確保タスクで取り扱わせるように動作可能である、前記方法。
JP2006212773A 2006-03-16 2006-08-04 データ処理装置内コンテンツへのアクセス管理 Active JP4925422B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/376,733 2006-03-16
US11/376,733 US9158941B2 (en) 2006-03-16 2006-03-16 Managing access to content in a data processing apparatus

Publications (2)

Publication Number Publication Date
JP2007249933A JP2007249933A (ja) 2007-09-27
JP4925422B2 true JP4925422B2 (ja) 2012-04-25

Family

ID=36590073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006212773A Active JP4925422B2 (ja) 2006-03-16 2006-08-04 データ処理装置内コンテンツへのアクセス管理

Country Status (3)

Country Link
US (1) US9158941B2 (ja)
JP (1) JP4925422B2 (ja)
GB (1) GB2436378B (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631152B1 (en) * 2005-11-28 2009-12-08 Nvidia Corporation Determining memory flush states for selective heterogeneous memory flushes
US9158941B2 (en) 2006-03-16 2015-10-13 Arm Limited Managing access to content in a data processing apparatus
JP4203514B2 (ja) * 2006-06-28 2009-01-07 シャープ株式会社 プログラム実行制御回路、コンピュータシステム、及び、icカード
US7987351B2 (en) * 2006-10-06 2011-07-26 Broadcom Corporation Method and system for enhanced boot protection
GB2455744B (en) * 2007-12-19 2012-03-14 Advanced Risc Mach Ltd Hardware driven processor state storage prior to entering a low power mode
US8775824B2 (en) * 2008-01-02 2014-07-08 Arm Limited Protecting the security of secure data sent from a central processor for processing by a further processing device
GB2470008B (en) * 2009-05-05 2014-01-29 Egress Software Technologies L Secure user access to data
US8561183B2 (en) 2009-07-31 2013-10-15 Google Inc. Native code module security for arm instruction set architectures
US20120036308A1 (en) * 2010-08-06 2012-02-09 Swanson Robert C Supporting a secure readable memory region for pre-boot and secure mode operations
US8819766B2 (en) * 2010-12-10 2014-08-26 International Business Machines Corporation Domain-based isolation and access control on dynamic objects
US8925089B2 (en) 2011-03-29 2014-12-30 Mcafee, Inc. System and method for below-operating system modification of malicious code on an electronic device
US8966629B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for below-operating system trapping of driver loading and unloading
US8813227B2 (en) 2011-03-29 2014-08-19 Mcafee, Inc. System and method for below-operating system regulation and control of self-modifying code
US8959638B2 (en) 2011-03-29 2015-02-17 Mcafee, Inc. System and method for below-operating system trapping and securing of interdriver communication
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
US9032525B2 (en) 2011-03-29 2015-05-12 Mcafee, Inc. System and method for below-operating system trapping of driver filter attachment
US8966624B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for securing an input/output path of an application against malware with a below-operating system security agent
US9038176B2 (en) 2011-03-31 2015-05-19 Mcafee, Inc. System and method for below-operating system trapping and securing loading of code into memory
US9087199B2 (en) 2011-03-31 2015-07-21 Mcafee, Inc. System and method for providing a secured operating system execution environment
US8863283B2 (en) 2011-03-31 2014-10-14 Mcafee, Inc. System and method for securing access to system calls
US9262246B2 (en) * 2011-03-31 2016-02-16 Mcafee, Inc. System and method for securing memory and storage of an electronic device with a below-operating system security agent
TWI559167B (zh) * 2011-11-04 2016-11-21 系微股份有限公司 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法
US9075751B2 (en) * 2012-08-09 2015-07-07 Intel Corporation Secure data protection with improved read-only memory locking during system pre-boot
KR101954733B1 (ko) 2012-10-26 2019-03-06 삼성전자주식회사 보안 콘텐츠를 처리하는 시스템 온 칩 및 그것을 포함하는 모바일 장치
CN104104786B (zh) * 2013-04-12 2016-09-28 中国银联股份有限公司 一种对外接载体持续供电的方法和终端设备
GB2515047B (en) * 2013-06-12 2021-02-10 Advanced Risc Mach Ltd Security protection of software libraries in a data processing apparatus
KR20150070890A (ko) * 2013-12-17 2015-06-25 삼성전자주식회사 파일 처리 방법 및 이를 지원하는 전자 장치
KR102218202B1 (ko) 2014-08-01 2021-02-23 삼성전자주식회사 반도체 장치
EP3811264A4 (en) * 2018-06-24 2022-03-02 Hex Five Security, Inc. CONFIGURATION, ENFORCEMENT AND MONITORING THE SEPARATION OF TRUSTED EXECUTION ENVIRONMENTS
CN110874495B (zh) * 2018-08-31 2024-02-27 深圳市安信达存储技术有限公司 一种基于自动锁定写保护功能的固态硬盘及防篡改方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6943900B2 (en) * 2000-09-15 2005-09-13 Timbre Technologies, Inc. Generation of a library of periodic grating diffraction signals
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US7127579B2 (en) * 2002-03-26 2006-10-24 Intel Corporation Hardened extended firmware interface framework
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US20040088513A1 (en) 2002-10-30 2004-05-06 Biessener David W. Controller for partition-level security and backup
EP1563388A2 (en) 2002-11-18 2005-08-17 ARM Limited Secure memory for protecting against malicious programs
US7149862B2 (en) 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
US7117284B2 (en) 2002-11-18 2006-10-03 Arm Limited Vectored interrupt control within a system having a secure domain and a non-secure domain
GB2396034B (en) 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
GB2396930B (en) * 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
CN100347731C (zh) * 2003-01-31 2007-11-07 松下电器产业株式会社 半导体存储卡及对其进行控制的程序
US7328126B2 (en) * 2003-09-12 2008-02-05 Tokyo Electron Limited Method and system of diagnosing a processing system using adaptive multivariate analysis
US7178015B2 (en) * 2004-01-12 2007-02-13 Hewlett-Packard Development Company, L.P. Security measures in a partitionable computing system
DE102004009497B3 (de) * 2004-02-27 2005-06-30 Infineon Technologies Ag Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
US7581252B2 (en) * 2004-07-20 2009-08-25 Lenovo (Singapore) Pte. Ltd. Storage conversion for anti-virus speed-up
KR100654446B1 (ko) * 2004-12-09 2006-12-06 삼성전자주식회사 보안 부팅 장치 및 방법
US20060143411A1 (en) * 2004-12-23 2006-06-29 O'connor Dennis M Techniques to manage partition physical memory
US8161524B2 (en) * 2005-01-13 2012-04-17 Samsung Electronics Co., Ltd. Method and portable storage device for allocating secure area in insecure area
US8245000B2 (en) * 2005-05-20 2012-08-14 Stec, Inc. System and method for managing security of a memory device
US7730545B2 (en) * 2005-05-23 2010-06-01 Arm Limited Test access control for secure integrated circuits
US7845005B2 (en) 2006-02-07 2010-11-30 International Business Machines Corporation Method for preventing malicious software installation on an internet-connected computer
US9158941B2 (en) 2006-03-16 2015-10-13 Arm Limited Managing access to content in a data processing apparatus
US8190885B2 (en) * 2006-12-21 2012-05-29 Spansion Llc Non-volatile memory sub-system integrated with security for storing near field transactions

Also Published As

Publication number Publication date
GB2436378B (en) 2010-10-27
US20070220276A1 (en) 2007-09-20
US9158941B2 (en) 2015-10-13
GB0608533D0 (en) 2006-06-07
GB2436378A (en) 2007-09-26
JP2007249933A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4925422B2 (ja) データ処理装置内コンテンツへのアクセス管理
US11580264B2 (en) Systems and methods for controlling access to secure debugging and profiling features of a computer system
JP4785808B2 (ja) データ処理装置およびシステム制御レジスタ保護方法
CN101965570B (zh) 具有安全启动机制的计算机系统
US12248562B2 (en) Domain transition disable configuration parameter
US7774758B2 (en) Systems and methods for secure debugging and profiling of a computer system
US9633213B2 (en) Secure emulation logic between page attribute table and test interface
TWI874556B (zh) 用於控制對一組記憶體映射的控制暫存器的存取的設備及方法
TWI868250B (zh) 用於模式間的調用分支指令的裝置、資料處理方法、電腦程式及電腦可讀儲存媒體
US11989425B2 (en) Apparatus and method for controlling access to a set of memory mapped control registers
US20240004804A1 (en) Method for managing access rights of memory regions and corresponding system on chip
CN119096231A (zh) 存储器管理
CN117992949A (zh) 基于ARMv7-M架构的多核嵌入式系统的沙箱系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110822

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

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

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4925422

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