JP2005523519A - 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能 - Google Patents

要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能 Download PDF

Info

Publication number
JP2005523519A
JP2005523519A JP2003586762A JP2003586762A JP2005523519A JP 2005523519 A JP2005523519 A JP 2005523519A JP 2003586762 A JP2003586762 A JP 2003586762A JP 2003586762 A JP2003586762 A JP 2003586762A JP 2005523519 A JP2005523519 A JP 2005523519A
Authority
JP
Japan
Prior art keywords
data
master
request
access
whitening
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.)
Granted
Application number
JP2003586762A
Other languages
English (en)
Other versions
JP4299679B2 (ja
Inventor
エヴァンズ、エドワード、ケイ
フォスター、エリック、エム
フランクリン、デニス、イー
ホール、ウイリアム、イー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005523519A publication Critical patent/JP2005523519A/ja
Application granted granted Critical
Publication of JP4299679B2 publication Critical patent/JP4299679B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • 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/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • 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
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Bus Control (AREA)

Abstract

【課題】 統合システムのためのアクセス制御機能を提供する。
【解決手段】 システム内の要求元マスタのマスタIDおよびデータのアドレスに基づいてデータ・アクセスを決定する。アクセス制御機能は、例えば、バス制御論理と1つ以上のスレーブとの間のデータ転送経路内に挿入することができる。データに対するアクセスを許可するか否かを決定することに加えて、アクセス制御機能は、データの要求を開始する特定の機能マスタのデータ認証レベルに依存して、データの暗号化および復号を選択的に実施することによって、更にアクセスを限定することができる。

Description

本発明は、一般に、統合システム内でのデータ要求処理およびデータ転送に関し、更に具体的には、統合システム内で要求元マスタのマスタIDおよびデータのアドレスに基づいて、データ・アクセスを許可、拒否、または限定する、統合システムのためのアクセス制御機能に関する。
今日、一般的に、複数の機能が単一のシステム・チップ上に統合されている。複数の個別のコンポーネントを単一のチップ上に統合するためのアーキテクチャを最初に規定する場合、メモリを含む外部デバイスに対するアクセスが問題となり得る。例えば、MPEGビデオ・デコーダ・システムは、多くの場合、様々なデータ・エリアのための外部メモリ、またはフレーム・バッファなどのバッファを用いる。この外部メモリは、従来、DRAMまたはSDRAM技術のいずれかを用いて実施されている。
当技術分野において、オフ・チップ・デバイスにアクセスするために、2つの手法が通常用いられている。第1の手法では、各オン・チップ機能ユニットは、この特定のユニットに専用のデータ・バスを介して、必要な外部デバイスに対してアクセスする。この手法は、局所的には外部デバイスを効率的にアクセスするが、統合システム内でグローバルに最適とは言えない。例えば、各機能はそれ自身の外部メモリ・エリアに完全なアクセスを有するが、統合システムの機能間ではアクセスを共有しない。このため、多くの場合、システムのあるメモリ・エリアから別のメモリ・エリアへのデータ転送が必要である。これは、明らかに、データ転送の数を増し、共有メモリ・システムに比べてシステム全体の性能を低下させる場合がある。
別の手法は、統合システム内で単一の共通バスを用い、これによってシステムの1つ以上の機能ユニットは単一のポートを介して外部デバイスと通信を行うことができる。メモリ等のリソースの共有は可能であるが、この手法に伴う1つの欠点は、統合システムにおけるコンテンツまたは他の機密データに対するアクセスの制御に関する。例えば、統合設計において大きな共通メモリ・プールを用いる場合、転送デマルチプレクサによってセット・トップ・ボックスのデコーダに供給される圧縮データ等、保護されたメモリ空間に対する不正アクセスを防ぐことが難しくなる。これは、特に、プログラミング・インタフェースがオープンであり、外部開発が推奨されるシステムに当てはまる。機能マスタの各々はメモリ空間にアクセスすることが可能でなければならず、アクセスが信頼性のあるマスタからであるか、または外部要求、例えば信頼できないまたはオープン・マスタを介して来たものかを区別することができない。
上述のことに鑑み、当技術分野において、統合システムのための改善したアクセス制御手法に対する要望がある。更に具体的には、機能マスタおよびスレーブ・デバイス間に存在し、アクセスを更に限定する(例えばデータ暗号化およびデータ復号を導入する)ことができる、または場合によっては防止することができるアクセス制御機能に対する要望がある。
複数の機能マスタを有する統合システムのためのデータ・アクセス方法を提供することによって、従来技術の欠点は克服され、追加の利点が提供される。この複数の機能マスタは、複数のマスタIDを有する。この方法は、複数の機能マスタのうち要求元マスタからのデータの要求を受信するステップと、この要求に応答して、要求元マスタのマスタIDおよびデータのアドレスに基づいて、データに対するアクセスを許可、拒否、または限定するか否かを決定するステップと、を含む。
改善した態様では、この方法は、複数の機能マスタに異なるレベルのデータ・アクセスを提供するステップと、要求が読み取り要求か書き込み要求かを決定するステップとを含む。要求が読み取り要求である場合、この方法は、データに対するアクセスを拒否するか、データを普通文で渡すか、またはデータを復号するかを決定するステップを含むことができる。要求が書き込み要求である場合、この方法は、データの転送を拒否するか、データを普通文で渡すか、またはデータを暗号化するかを決定するステップを含むことができる。一実施形態では、要求は、統合システムのバス制御論理から受信した許可されたマスタ要求であり、この方法は、統合システムのバス制御論理と少なくとも1つのスレーブとの間のデータ・フローにおいて実施される。更に具体的には、この方法は、統合システムのバス間ブリッジ内または統合システムの機密メモリ・サブシステム内等で実施することができる。
また、本明細書中で、上述の方法に対応するシステムおよびコンピュータ・プログラム・プロダクトについて説明し、特許を請求する。
好都合なことに、ここで提供されるのは、統合システム内でデータ・アクセスを限定するためのアクセス制御機能である。制御機能は、特にシステムが機能マスタとスレーブ・デバイスとの間の共通バス構造を用いる場合、統合システムの機能マスタとスレーブ・デバイスとの間のデータ・フロー内に存在することができる。制御機能は、例えば、要求元マスタのマスタIDおよび要求されたデータのアドレスに基づいて、アクセスを許可するか、拒否するか、または更に限定することができる。この制御手法は、機能に基づいてメモリをオープン・スペースおよび機密スペースに分離する1つの方法として、データに対する(例えば異なるメモリ領域に対する)異なる機能アクセスを選択的に可能とする能力を提供する。更に、制御機能は、データをメモリに送信する際に、データ・ブロックを暗号化するための技法を提供する。これによって、単にデータのブロックを他のメモリ位置または他のデバイスに再配置することによって、システムのセキュリティが損なわれることを防ぐ。
本発明の技法によって、更に別の機能および利点が実現される。本発明の他の実施形態および態様は、本明細書で詳細に説明され、特許請求される本発明の一部と見なされる。
本発明として見なされる主題は、具体的に、特許請求の範囲に示され、明確に特許請求される。本発明の前述およびその他の目的、機能、および利点は、添付図面に関連付けた以下の詳細な説明から明らかになる。
図1は、複数の内部機能マスタ1101、1102、1103、・・・110nを有する従来の統合デバイスを、全体的に100で示す。マスタ1101は、プロセッサとして図示し、プロセッサ・コア112およびメモリ管理ユニット114を有する。内部マスタ1101、1102、1103、・・・110nは、この例では、共有バスのバス制御論理130を含むメモリ・サブシステム120に接続する。バス制御130は、メモリ・サブシステム内に図示するが、代替的にサブシステム120の外側に存在することも可能であることは、当業者には理解されるであろう。
バス制御ユニット130は、統合デバイスにおいてスレーブに対する要求を調整し整理する。例えば、第1のスレーブは、外部バス・コントローラ140でもよく、これは、オープン・メモリ部155を有するフラッシュ・メモリ等の外部不揮発性メモリ150に接続されている。第2のスレーブであるメモリ・コントローラ160は、SDRAMまたはDRAM等の外部揮発性メモリ170に接続する。メモリ170は、オープン・メモリ部175を含む。一般に、メモリ・コストを最小限に抑えるため、更に機能間のデータ転送を容易にするために、機能は、この統合設計において共通のメモリ・プールを共有する。このため、全ての内部マスタは、不揮発性メモリおよび揮発性メモリの双方に対して等しいアクセスを有し、双方のストレージ空間はオープンと示され、これはデータ・アクセスに制限が加えられないことを意味する。
通常、不揮発性メモリは永続的なストレージのために用いられ、電源を切ってもデータは保持されなければならない。このメモリは、ブート・コード、オペレーティング・システムおよびドライバ等のオペレーティング・コード、ならびに任意の永続データ構造を含み得る。揮発性メモリは、セッション指向ストレージのために用いられ、一般に、アプリケーション・データおよび他のマスタのデータ構造を含む。揮発性メモリは不揮発性メモリよりも高速であるので、統合デバイスが動作している場合、オペレーティング・コードを揮発性メモリに移動させ、そこから命令を実行するのが一般的である。
図2は、図1のバス制御ユニット130によって用いられるようなバス制御アーキテクチャを示す。このアーキテクチャによって、複数の機能マスタ1101、・・・110nは、共通の共有バスを介して、複数のスレーブ2001、・・・200nと通信を行うことができる。このバス・アーキテクチャの一例は、ニューヨーク州アーモンクのInternationalBusiness Machines Corporationによって販売されるCoreConnectアーキテクチャのプロセッサ・ローカル・バス(PLB)である。
アーキテクチャ内のマスタは、各々、一意のマスタIDを有し、これは、バス制御機能210のアービタ220に送信される要求信号の一部を構成する。複数の要求を提示する場合、アービタ220は、適切なマスタを(バス優先度に基づいて)選択し、そのマスタに承認を送り返す。また、アービタ220は、許可された要求を、追加の必要情報すなわちデータ・アドレス情報および制御情報と共に、スレーブに伝搬する。一例として、制御情報は、データがマスタからスレーブに書き込まれるか、またはスレーブからマスタに読み取られるかを示す読み取り/書き込み制御信号を含み得る。データ・アドレス信号はマルチプレクサ230を通過し、一方、制御信号はマルチプレクサ240を通過するが、その双方はバス制御ユニット210内に図示されている。同様に、書き込まれるデータは、マスタからスレーブに、マルチプレクサ250を介して渡され、スレーブを介して読み取られるデータは、バス制御210内のマルチプレクサ260を介して、マスタに戻される。更に、マルチプレクサ270は、マスタに戻すスレーブからの制御信号を多重化する。これらの制御信号は、例えば、ステータスまたは承認信号を含み得る。アドレスに基づいて許可されたマスタ要求の宛先とされるスレーブは、従来のように、適切な情報でマスタに応答する。
更なる背景として、図3は、図1に示すマスタ1101等のプロセッサ・マスタのためのメモリ管理ユニット114の一例を示す。ユニット114は、プロセッサ・マスタのプロセッサ・コアからバーチャル・アドレス要求を受信する。プロセッサは、一般に、所与の時点で、別個のコード・スレッドとしていくつかのプロセスを実行することができ、バーチャル・アドレスを用いることによって外部要求を分離し、それにより各プロセスをそれ自身の隔離されたメモリ空間において実行することができる。しかしながら、実際には、全てのプログラムは共通のアドレス空間を用いるので、要求をバス制御ユニットに提示する前にアドレスをリマップしなければならない。このリマップは、メモリ管理ユニット114によって実行される。
図3に示すように、バーチャル・アドレス要求の上位アドレス・ビットは、最初に、オペレーティング・システムによって構成されたテーブルに対して比較される。このテーブルには、可能な上位アドレス・ビットの組み合わせまたはタグ値、次いで、上位アドレス・ビットを置換するために用いられる置換アドレスがリストされている。各エントリごとに、ページ・サイズまたはリマップ領域のサイズ、および規定のプロセスについて可能であるアクセスのタイプも示す。また、これは、要求をキャッシュに格納可能か等、他の属性もリストすることができる。これらのパラメータは、制御情報として、バス制御ユニットに対する要求と共に送信される。
図1ないし3に提示したような典型的なシステムでは、いくつかのセキュリティのリスクがあることに留意すべきである。すなわち、
・プロセッサの挙動は、オペレーティング・コードまたはデータ構造を変更することによって制御される可能性があり、内部データまたは動作が悪影響を受ける場合がある。
・場合によっては、通信コントローラ等、内部マスタは、外部ソースによって制御される可能性があり、メモリを共有しているので、これを用いて内部コードまたはデータに悪影響を与える場合がある。
・ソフトウエア開発において用いられるデバッグおよび開発ツールを用いて、プロセッサの挙動を変更または監視することができる。
・メモリを共有しているので、所与のマスタは、別の内部マスタの動作を意図せずに損なうかまたは悪影響を及ぼす場合がある。
ここで提示する上述のセキュリティ・リスクに対する解決策は、バス制御とスレーブ・デバイスとの間のデータ経路内に配置したアクセス制御機能を提供することを伴う。このアクセス制御機能は、(一実施形態では)機能マスタをスレーブ・デバイスに接続する内部バスの特性を用いて、安全な制御情報集合に基づいて、アクセスのための各要求を更に限定することができ、所望の場合には防止することができる。好都合なことに、このアクセス制御機能は、マスタがデータ要求を行い、データを格納するアクセスを区別する能力を提供し、次いで、それに従ってアクセスを許可もしくは制限し、またはアクセスを限定する。
図4は、本発明の態様に従った、アクセス制御機能440を含むシステムの一実施形態を全体として400で示す。システム400は、この場合も、複数の機能マスタ4101、・・・410nを含み、これらは、バス制御430を介して、1つ以上のスレーブ4201・・・420nと通信を行う。しかしながら、この場合、アクセス制御機能440は、バス制御430とスレーブ4201・・・420nとの間のデータ経路に介在する。また、図2からのバス制御アーキテクチャの信号の簡略化図も示す。
バス制御ユニットにより制御を許可されたマスタからの要求は、要求されたアドレスおよび関連する制御(読み取りまたは書き込み等)とともに、アクセス制御機能440に送信される。ユニット440は、アクセス・テーブル450を用いて、要求されたアドレス、マスタID、読み取りまたは書き込みインジケータを、そのマスタに許可されたアクセス機能の定義と比較する。所与の要求は、ブロックされる(終了される)か、普通文で許可されるか、または暗号化/復号によって許可されるかのいずれかとすることができる。要求された転送が許可可能である場合、バス信号をスレーブに伝搬し、アクセス・テーブルに基づいて要求に関連したアクセス・パラメータ460を、暗号化/復号エンジン470に送信する。すなわち、暗号化/復号が適用可能である場合である。暗号化/復号エンジンを用いて、データを所与のスレーブに転送する際に書き込みデータを暗号化し、または、以下で更に説明するように、関連アクセス・パラメータを用いて所与のスレーブからデータを戻す際に、読み取りデータを復号することができる。
図5は、図4のアクセス制御機能440によって使用可能なアクセス・テーブル450の1つの詳細な例を示す。図2のメモリ管理ユニットと同様であるが、目的は異なり、バス制御ユニットからの許可された要求について実アドレスの上位アドレス・ビットを、許可可能なエントリまたはタグのリストと比較する。各タグごとに、可能な置換アドレス、置換アドレスに対するリマッピングが可能であるか否か、タグに関連するセグメントのサイズ、および全エントリを有効と見なせるか否か等、追加の情報または属性がリストされている。更に、所与のテーブル・エントリは、読み取りまたは書き込み権限をマスタID番号でリストする別のルックアップ・テーブルを指し示す。この機構を用いて、バス制御ユニットからの所与の要求を、規定の上位アドレス、マスタID、および読み取りまたは書き込みインジケータにと比較することにより、その要求のアクセス・レベルに達する。更に、テーブル比較の結果に基づいて、その要求を、アクセス・パラメータ集合に関連付けることができる。
図6は、アクセス制御ユニットによって規定することができるこれらのアクセス・パラメータ460の一例を示す。所与の要求について、以下のパラメータを暗号化/復号ユニット470(図4)に渡すことができる。
・任意の暗号動作のために用いられるキー集合のインデクス・ナンバーを含むキー集合ポインタ461。キー集合の数は、一般に、テーブル・エントリの数よりもはるかに少ないので、いくつかのエントリは所与のキー集合を共有する場合があることに留意すべきである。
・任意に規定した値であって、同じメモリを用いて暗号化コードまたはデータの所与のブロックを以前のものから区別するために用いられるバージョン・ナンバー462。バージョン・ナンバーは、暗号プロセスの一部として用いられる(以下で更に説明するように)ので、新しいバージョン・ナンバーに変更すると、以前のナンバーに基づいた領域の古いコンテンツの復号はうまくいかない。これを用いて、データ・ブロックを保護または使用不可能とすることができる。
・暗号ホワイトニング(以下で説明する)におけるパラメータとして用いられるホワイトニング・アドレス463。このアドレスは、スレーブに提示される外部アドレスと異なるものであっても、同じものであってもよい。状況によっては、所与のアドレスにデータ・ブロックを送信できると好都合であるが、データ・ブロックは別個のアドレスに暗号的に結合されるので、後にこれを読み取る場合、規定の別個のアドレスに再配置することができる。
アクセス・パラメータのキー集合ポインタ461は、図6に示すような所与のキー集合を示し、この構造は以下のように規定することができる。
・暗号プロセスで用いるキー(複数でもよい)465。これらは、セッションを通して用いられる永続キーまたは所与のセッションについてのみ用いられる動的キーとすることができる。
・暗号アルゴリズムがどのように動作するかを規定するアルゴリズム・パラメータ466。これらのパラメータの例には、アルゴリズムの強度、更には特定のアルゴリズム選択が挙げられる。
・所与のデバイスのために特に規定されるシークレット・ナンバーであるホワイトニング変数467。これは、他のデバイスへのコードおよびデータの再配置、ならびに、外部アドレス空間内での全体的な再配置の複雑化を防ぐ。
ホワイトニングは、パターン依存性を除去する手段として暗号化されるデータに変数を追加する方法であり、例えば、C.Jutraによる、「Encryption Modes With Almost Free Message Integrity」と題する論文、Proc. Eurocrypt2001、529〜544ページ、LNCS2045に記載されている。図7は、暗号化/復号プロセス470(図4)において、ホワイトニングのために用いる変数をどのように発生可能であるかの一例を示す。この例では、3つのパラメータを数学的に組み合わせて、好ましくは処理中のデータ・ブロック・サイズと同じビット長である最終的な値を生成する。これらのパラメータは、アクセス・パラメータ(図6)に規定されるようなホワイトニング・アドレス463およびバージョン・ナンバー462、ならびに、キー集合(図6)に規定されるようなホワイトニング変数467である。結果として得られるホワイトニング値はアドレス依存型であり、これは、バージョン・ナンバーによる、時間依存型のカスタム化を提供する。
図8は、本発明の一態様に従った、アクセス制御機能の暗号化/復号ユニット470の動作の一例を示す。図示のように、アクセス・パラメータによって3つのパラメータがユニット470に渡される。これらのパラメータは、例えば図7のプロセスによって規定されたホワイトニング値、キー集合からのキー(複数でもよい)465(図6)、およびアルゴリズム・パラメータ466(図6)を含む。これらのパラメータをまとめて用いて、暗号化または復号機能の動作を制御する。
書き込み動作では、バス・マスタからの普通文の書き込みデータが暗号化/復号ユニットに入り、最初に、第1の動作(471)においてホワイトニング値と結合され、次いで暗号化され(472)、そして最後に再びホワイトニング値と2回目の結合をされる(473)。次いで、暗号化された書き込みデータは、バス・スレーブに提示される。データと混合するためホワイトニング値を用いる暗号プロセスは、当業者によって容易に実施することができる。
読み取り動作では、読み取りデータがバス・スレーブから暗号化/復号ユニットに入り、書き込みデータとは逆の方法で処理される。すなわち、書き込みおよび読み取りプロセスは対称的である。更に具体的には、最初にホワイトニング値を用いて、暗号化読み取りデータを混合解除し(474)、その後、復号を行い(475)、その復号に続いて(476)、復号プロセスの間、暗号化の層は単に逆にされる。
図9および10は、ここで開示するようなアクセス制御機能を用いた例示的なシステムを示す。最初に図9を参照すると、機密ブリッジ930内に、統合デバイス900の内部バス制御920と内部バス制御950との間に、アクセス制御ユニット940が示されている。図示のように、第1のバス925に対する複数のマスタ9101、9102、9103、・・・910nは、共通バス制御920によって結合される要求を有する。次いで、調整された要求はスレーブに渡される。その1つは通常のスレーブ・ユニット915nであり、他のものは、アクセス制御ユニット940を含む機密ブリッジ930のスレーブ・インタフェースである。アクセス制御ユニットは、要求が許可可能であるか否かを決定し、許可可能である場合、バス2 955上のそのマスタ・インタフェースを用いて、マスタとして要求を再生成する。機密ブリッジに加えて、バス2上の別個のマスタ965nも図示している。バス2 955のバス制御ユニット950は、2つのマスタ間を調整し、図示のように、許可された要求を、スレーブ9601、9602、9603、・・・960nに選択的に転送する。
この実施において、マスタ9101、9102、9103、・・・910nは、アクセス制御ユニットを呼び出すことなく、バス1 925上のスレーブ915nに要求を送信可能であることに留意すべきである。同じことは、バス2 955上のマスタ965nおよびスレーブ9601、9602、9603、・・・960nにも当てはまる。しかしながら、2つのバス間のいかなる要求も、機密ブリッジ930のアクセス制御ユニット940によって支配される。
図10は、本発明の原理に従ったアクセス制御機能を用いた統合デバイス1000の代替的な例を示す。この実施では、アクセス制御機能1040は、バス制御ユニット1030とスレーブ・デバイス1050および1070との間に挿入され、それらは全て、機密メモリ・サブシステム1020内に示されている。代替的な実施形態として、バス制御ユニット1030は、機密メモリ・サブシステム・ユニットの外部にあることができる。スレーブが、外部バス・コントローラ1050およびメモリ・コントローラ1070として明示的に図示されている点で、この図は図4の実施形態を拡張したものである。この状況において、バス制御ユニット、アクセス制御ユニット、および外部コントローラの組み合わせが、機密メモリ・サブシステム1020を形成する。この結果、不揮発性メモリ1060および揮発性メモリ1080として規定される外部アドレス空間は、オープン・エリア1062および機密エリア1064、ならびにオープン・エリア1082および機密エリア1084にそれぞれ更に分割することができる。この使用において、「機密(セキュア)」というのは、マスタ10101、10102、10203、・・・1010nが、アクセス制御ユニット1040において規定されるような空間にのみアクセス可能であることを意味する。
更に別の変形として、先に論じた暗号化および復号機能を、セット・トップ・ボックス設計等に一般的に統合されるもののようなDMAコントローラに含ませることができる。そうすると、各転送によって遅延が加わるようなアクセス制御クロス・バーから暗号化および復号論理が除去される。DMAコントローラは、あるロケーションから別のロケーションにデータ・ブロックを移動するようにホスト・プロセッサによってプログラムされ得る。これは、メモリ間転送を含む。統合システムはメモリを保護するように規定され、マスタ1は読み取り保護メモリにのみアクセスし、マスタ2は書き込み保護メモリにアクセスすると仮定する。また、この例では、マスタ2がアクセスする必要がある普通文データが保護されたメモリにあるが、そのデータは暗号化しなければならない(すなわち、マスタ2はスクランブルされたデータのみを見ることができる)と仮定する。DMAコントローラは、保護されたメモリからオープン・メモリにデータを移動し、次いで所与のブロック例えば64バイトの転送を開始するようにプログラムすることができる。このブロックはバーストで読み取られ、内部でバッファされ、次いでバーストで書き込まれる。設計においてセットアップされた内部バス構造コーディングに従って保護メモリを読み取ることは許されているが、この場合、DMAコントローラ内に暗号化エンジンが含まれる。DMAコントローラは、各ブロックをバーストでオープン・メモリに書き込む前に、宛先アドレス・パラメータに基づいて、各ブロックを自動的に暗号化する。このように、あるロケーションから別のロケーションへと転送しながら、全ての暗号化および復号をDMAコントローラにバッファされたデータ上で実行可能であるが、読み取りおよび書き込みは別個のバス動作であるので、作業が実行されている間バスは機能停止されない。この手法は、上述のように、普通文データの可視性を選択したマスタに制限する機能を維持する。
当業者は、上述の考察から、ここで提示する制御技法は、機能マスタがメモリ要求を行っているアクセスを区別し、次いで機密制御情報集合に基づいてアクセスを許可または制限する機能を提供することを認識するであろう。提供される制御機能は、どの機能マスタがアクセスを要求しているかを区別し、データ・アクセス・テーブルに含まれる情報に基づいてそのアクセスを限定する。制御機能は、機能マスタを例えばメモリ・コントローラまたは他のスレーブ・デバイスに接続する共有内部バスの特徴を用いて、各アクセスを更に限定し、場合によっては防止することができる。
本発明は、例えばコンピュータ可用媒体を有する製造物(例えば1つ以上のコンピュータ・プログラム・プロダクト)に含ませることができる。この媒体は、例えば、本発明の機能を提供し容易にするコンピュータ可読プログラム・コード手段を具現化している。製造物は、コンピュータ・システムの一部として含ませるか、または別個に販売することができる。
更に、機械によって読み取り可能で、機械によって実行可能な命令の少なくとも1つのプログラムを明確に具現化して本発明の機能を実行する少なくとも1つのプログラム・ストレージ・デバイスを提供することができる。
ここで示したフロー図は、単なる例である。本発明の精神から逸脱することなく、ここに記載したこれらの図またはステップ(または動作)に多くの変更を行うことができる。例えば、ステップを異なる順序で実行可能であり、または、ステップを、追加、削除、もしくは変更することができる。これらの変形は全て、特許請求する本発明の一部として見なされる。
好適な実施形態について本明細書で詳細に図示し記載したが、本発明の精神から逸脱することなく、様々な変更、追加、置換等を実行可能であり、従って、これらは、特許請求の範囲に規定される本発明の範囲内にあると見なされることは、当業者には明らかであろう。
メモリ・サブシステムを介した共通メモリ・アクセスを用いた典型的な統合デバイスの一例を示す。 統合システム内でマスタIDを用いる一例を示し、マスタIDはバス制御アービタによって用いられてバス・アクセスを許可または拒否する。 例えば図1の統合デバイス例においてマスタ#1によって用いられる典型的なメモリ管理ユニット機能の一例を示す。 本発明の一態様による、データ・アクセス制御機能を用いた統合デバイスの一例を示す。 本発明の一態様による、図4のデータ・アクセス制御機能が用いるアクセス・テーブルの一例を示す。 本発明の一態様による、例えば図4のデータ・アクセス制御機能の暗号化/復号サブ機能が用いる図5のアクセス・テーブルから得たアクセス・パラメータの一例を示す。 本発明の一態様による、ホワイトニング値を導出するための手法の一例を示す。 本発明の一態様による、転送データを選択的に暗号化および復号する際のアクセス・パラメータおよびホワイトニング値の使用の一例を示す。 本発明の一態様による、統合デバイスのバス間ブリッジ内で実施されるアクセス制御機能の一実施形態を示す。 本発明の一態様による、統合デバイスの機密メモリ・サブシステム内で実施されるアクセス制御機能の別の実施形態を示す。

Claims (29)

  1. 複数のマスタIDを有する複数の機能マスタを有する統合システムのためのデータ・アクセス方法であって、
    前記複数の機能マスタの要求元マスタからデータの要求を受信するステップと、
    前記要求に応答して、前記要求元マスタのマスタIDおよび前記データのアドレスに基づいて、前記データに対するアクセスを許可するか、拒否するか、または限定するかを決定するステップと、
    を備える、方法。
  2. 前記要求は、前記統合システムのバス制御論理から受信した許可されたマスタ要求を含み、前記方法は、前記統合システムのバス制御論理と少なくとも1つのスレーブとの間のデータ・フローにおいて実施される、請求項1に記載の方法。
  3. 前記複数の機能マスタに異なるレベルのデータ・アクセスを提供するステップを更に備える、請求項1に記載の方法。
  4. 前記決定するステップは、前記要求元マスタについてのデータ・アクセス・レベルを決定するステップと、前記データに対するアクセスを許可するか、拒否するか、または限定するかを決定する際に、前記データ・アクセス・レベルを用いるステップと、を更に備える、請求項3に記載の方法。
  5. 前記決定するステップは、前記要求が読み取り要求か書き込み要求かを決定し、読み取り要求の場合、データに対するアクセスを拒否するか、データを普通文で渡すか、またはデータを復号するかを決定し、書き込み要求の場合、データの転送を拒否するか、データを普通文で渡すか、またはデータを暗号化するかを決定するステップを更に備える、請求項4に記載の方法。
  6. 前記決定するステップは、前記要求が読み取り要求か書き込み要求かを決定し、アクセスが許可される場合、読み取り要求の場合はデータを復号するか否か、書き込み要求の場合はデータを暗号化するか否かを決定するステップを更に備え、前記決定は部分的に前記要求元マスタのマスタIDに基づく、請求項1に記載の方法。
  7. 前記決定するステップは、要求元バス・マスタのマスタIDおよびデータのアドレスに基づいてデータに対するアクセスを許可するか否かを決定する際にデータ・アクセス・テーブルを用いるステップを備え、前記データ・アクセス・テーブルは前記要求元バス・マスタについてのアクセス・レベルを含む、請求項6に記載の方法。
  8. データを復号または暗号化する際に用いるアクセス・テーブル・パラメータを決定するステップを更に備え、前記アクセス・テーブル・パラメータは、キー集合ポインタ、バージョン・ナンバー、およびホワイトニング・アドレスを含む、請求項7に記載の方法。
  9. 前記キー集合ポインタはキー集合を指し示し、前記キー集合は、キー値、暗号化/復号パラメータ、およびホワイトニング変数を含み、前記キー値および前記ホワイトニング変数は、前記キー集合に関連した全てのデータに用いられる機密ナンバーである、請求項8に記載の方法。
  10. 要求が書き込み要求である場合、データに対して暗号化プロセスを選択的に実行するステップを更に備え、前記暗号化プロセスは、普通文の書き込みデータにホワイトニングを実行するステップと、ホワイトニングの結果を暗号化するステップと、暗号化した結果を更にホワイトニングするステップとを備え、更に、前記要求が読み取り要求である場合、暗号化読み取りデータに対して復号プロセスを選択的に実行するステップを備え、前記復号プロセスは、前記暗号化読み取りデータのホワイトニングを解除するステップと、ホワイトニング解除の結果を復号するステップと、復号した結果を更にホワイトニング解除して、要求元マスタに転送するための普通文データを得るステップとを含む、請求項8に記載の方法。
  11. 前記ホワイトニングおよびホワイトニング解除のステップは、ホワイトニング値を得るステップを備え、前記ホワイトニング値を得るステップは、前記アクセス・テーブル・パラメータのホワイトニング・アドレス、バージョン・ナンバー、およびホワイトニング変数を結合してホワイトニング値を得るステップを備える、請求項10に記載の方法。
  12. 前記結合するステップは、ホワイトニング値のサイズをデータのブロック・サイズに一致させるステップを備える、請求項11に記載の方法。
  13. 前記統合システムのバス間ブリッジ内で前記方法を実施するステップを更に備え、前記要求元マスタは、前記統合システムの第1のバスに結合され、前記バス間ブリッジを介して少なくとも1つのスレーブと通信を行い、前記少なくとも1つのスレーブは第2のバスを介して前記バス間ブリッジに結合されている、請求項1に記載の方法。
  14. 前記統合システムのメモリ・サブシステム内で前記方法を実施するステップを更に備え、前記データは、オープンな揮発性メモリ、機密揮発性メモリ、オープンな不揮発性メモリ、または機密不揮発性メモリの少なくとも1つに存在する、請求項1に記載の方法。
  15. 複数のマスタIDを有する複数の機能マスタを有する統合システムのためのデータ・アクセス・システムであって、
    前記複数の機能マスタの要求元マスタからデータの要求を受信するための手段と、
    前記受信するための手段による前記要求の受信に応答して、前記要求元マスタのマスタIDおよび前記データのアドレスに基づいて、前記データに対するアクセスを許可するか、拒否するか、または限定するかを決定するための手段と、
    を備える、システム。
  16. 前記要求は、前記統合システムのバス制御論理から受信した許可されたマスタ要求を備え、前記システムは、前記統合システムのバス制御論理と少なくとも1つのスレーブとの間のデータ・フローにおいて実施される、請求項15に記載のシステム。
  17. 前記複数の機能マスタに異なるレベルのデータ・アクセスを提供するための手段を更に備える、請求項15に記載のシステム。
  18. 前記決定するための手段は、前記要求元マスタについてのデータ・アクセス・レベルを決定するための手段と、データに対するアクセスを許可するか、拒否するか、または限定するかを決定する際に、前記データ・アクセス・レベルを用いるための手段と、を更に備える、請求項17に記載のシステム。
  19. 前記用いるための手段は、要求が読み取り要求か書き込み要求かを決定し、読み取り要求の場合、データに対するアクセスを拒否するか、データを普通文で渡すか、またはデータを復号するかを決定し、書き込み要求の場合、データの転送を拒否するか、データを普通文で渡すか、またはデータを暗号化するかを決定するための手段を更に備える、請求項18に記載のシステム。
  20. 前記決定するための手段は、要求が読み取り要求か書き込み要求かを決定し、アクセスが許可される場合、読み取り要求の場合はデータを復号するか否か、書き込み要求の場合はデータを暗号化するか否かを決定するための手段を更に備え、前記決定は部分的に前記要求元マスタのマスタIDに基づく、請求項15に記載のシステム。
  21. 前記決定するための手段は、前記要求元バス・マスタのマスタIDおよびデータのアドレスに基づいて前記データに対するアクセスを許可するか否かを決定する際にデータ・アクセス・テーブルを用いるための手段を備え、前記データ・アクセス・テーブルは前記要求元バス・マスタについてのアクセス・レベルを含む、請求項20に記載のシステム。
  22. データを復号または暗号化する際に用いるアクセス・テーブル・パラメータを決定するための手段を更に備え、前記アクセス・テーブル・パラメータは、キー集合ポインタ、バージョン・ナンバー、およびホワイトニング・アドレスを含む、請求項21に記載のシステム。
  23. 前記キー集合ポインタはキー集合を指し示し、前記キー集合は、キー値、暗号化/復号パラメータ、およびホワイトニング変数を備え、前記キー値および前記ホワイトニング変数は、前記キー集合に関連した全てのデータに用いられる機密ナンバーである、請求項22に記載のシステム。
  24. 要求が書き込み要求である場合、データに対して暗号化プロセスを選択的に実行するための手段を更に備え、前記暗号化プロセスは、普通文の書き込みデータにホワイトニングを実行するステップと、前記ホワイトニングの結果を暗号化するステップと、暗号化した結果を更にホワイトニングするステップとを備え、更に、要求が読み取り要求である場合、暗号化読み取りデータに対して復号プロセスを選択的に実行するための手段を備え、前記復号プロセスは、前記暗号化読み取りデータのホワイトニングを解除するステップと、ホワイトニング解除の結果を復号するステップと、復号した結果を更にホワイトニング解除して、前記要求元マスタに転送するための普通文データを得るステップとを含む、請求項22に記載のシステム。
  25. ホワイトニング値を得るための手段を更に備え、前記ホワイトニング値を得るための手段は、前記アクセス・テーブル・パラメータのホワイトニング・アドレス、バージョン・ナンバー、およびホワイトニング変数を結合してホワイトニング値を得るための手段を備える、請求項24に記載のシステム。
  26. 前記結合するための手段は、ホワイトニング値のサイズをデータのブロック・サイズに一致させるための手段を備える、請求項25に記載のシステム。
  27. 前記システムは前記統合システムのバス間ブリッジ内で実施され、前記要求元マスタは、前記統合システムの第1のバスに結合され、前記バス間ブリッジを介して少なくとも1つのスレーブと通信を行い、前記少なくとも1つのスレーブは第2のバスを介して前記バス間ブリッジに結合されている、請求項15に記載のシステム。
  28. 前記システムは前記統合システムのメモリ・サブシステム内で実施され、データは、オープンな揮発性メモリ、機密揮発性メモリ、オープンな不揮発性メモリ、または機密不揮発性メモリの少なくとも1つに存在する、請求項15に記載のシステム。
  29. 機械によって読み取り可能で、前記機械によって実行可能な命令の少なくとも1つのプログラムを明確に具現化して、複数のマスタIDを有する複数の機能マスタを有する統合システムのためのデータ・アクセス方法を実行する少なくとも1つのプログラム・ストレージ・デバイスであって、前記方法は、
    前記複数の機能マスタの要求元マスタからデータの要求を受信するステップと、
    前記要求に応答して、前記要求元マスタのマスタIDおよび前記データのアドレスに基づいて、前記データに対するアクセスを許可するか、拒否するか、または限定するかを決定するステップと、
    を備える、プログラム・ストレージ・デバイス。
JP2003586762A 2002-04-18 2003-04-16 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能 Expired - Lifetime JP4299679B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/125,527 US6851056B2 (en) 2002-04-18 2002-04-18 Control function employing a requesting master id and a data address to qualify data access within an integrated system
PCT/US2003/011906 WO2003090086A1 (en) 2002-04-18 2003-04-16 Control function based on requesting master id and a data address within an integrated system

Publications (2)

Publication Number Publication Date
JP2005523519A true JP2005523519A (ja) 2005-08-04
JP4299679B2 JP4299679B2 (ja) 2009-07-22

Family

ID=29214801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003586762A Expired - Lifetime JP4299679B2 (ja) 2002-04-18 2003-04-16 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能

Country Status (7)

Country Link
US (1) US6851056B2 (ja)
EP (1) EP1499976A4 (ja)
JP (1) JP4299679B2 (ja)
KR (1) KR100629069B1 (ja)
CN (1) CN1331056C (ja)
AU (1) AU2003230960A1 (ja)
WO (1) WO2003090086A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065851A (ja) * 2004-08-27 2006-03-09 Microsoft Corp アドレスビットを使用してアドレス空間におけるデータのセキュリティ属性を通知するシステムおよび方法
JP2007102468A (ja) * 2005-10-04 2007-04-19 Seiko Epson Corp Dma転送回路及びdmaコントローラ
JP2008171232A (ja) * 2007-01-12 2008-07-24 Renesas Technology Corp データ処理装置及び半導体集積回路
JP2009523280A (ja) * 2006-01-13 2009-06-18 フリースケール セミコンダクター インコーポレイテッド プロテクションシステム及びその動作方法
JP2010015560A (ja) * 2008-07-02 2010-01-21 Internatl Business Mach Corp <Ibm> システム・オン・チップ内でデータ要求を経路指定する方法、装置及びコンピュータ・プログラム
JP2010152527A (ja) * 2008-12-24 2010-07-08 Sony Computer Entertainment Inc ユーザレベルdmaとメモリアクセス管理を提供する方法と装置
JP4756562B2 (ja) * 2006-02-22 2011-08-24 株式会社ソニー・コンピュータエンタテインメント 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
JP2015528596A (ja) * 2012-08-10 2015-09-28 クアルコム,インコーポレイテッド 選択的ramスクランブリングのための方法およびデバイス

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW508494B (en) * 2001-03-28 2002-11-01 Shansun Technology Company Data protection device capable of self-defining address arrangement sequence in protection area of storage device
JP2002353978A (ja) * 2001-05-25 2002-12-06 Pioneer Electronic Corp 主局又は従局機能を有する無線通信端末
US7124228B2 (en) * 2001-07-10 2006-10-17 Sun Microsystems, Inc. Bus communication architecture, in particular for multicomputing systems
US7277972B2 (en) * 2002-03-08 2007-10-02 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
US7958374B2 (en) 2002-03-19 2011-06-07 Shansun Technology Company Digital information protecting method and apparatus, and computer accessible recording medium
US9081725B2 (en) 2002-03-19 2015-07-14 Shansun Technology Company Digital information protecting method and apparatus, and computer accessible recording medium
US7539680B2 (en) * 2002-05-10 2009-05-26 Lsi Corporation Revision control for database of evolved design
US8335915B2 (en) * 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
US7526595B2 (en) * 2002-07-25 2009-04-28 International Business Machines Corporation Data path master/slave data processing device apparatus and method
US7434264B2 (en) * 2003-03-07 2008-10-07 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
JP2005250833A (ja) * 2004-03-04 2005-09-15 Nec Electronics Corp バスシステム及びアクセス制御方法
US7213092B2 (en) * 2004-06-08 2007-05-01 Arm Limited Write response signalling within a communication bus
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US8145816B2 (en) * 2004-09-15 2012-03-27 Intel Corporation System and method for deadlock free bus protection of resources during search execution
JP4587756B2 (ja) * 2004-09-21 2010-11-24 ルネサスエレクトロニクス株式会社 半導体集積回路装置
JP4501156B2 (ja) * 2004-10-28 2010-07-14 日本電気株式会社 機密モードに応じたアクセスフォルダ切り替え方法、プログラム、及びコンピュータシステム
US7904943B2 (en) * 2004-12-28 2011-03-08 O'connor Dennis M Secure controller for block oriented storage
US7412579B2 (en) * 2004-12-30 2008-08-12 O'connor Dennis M Secure memory controller
JP4738068B2 (ja) * 2005-06-17 2011-08-03 富士通セミコンダクター株式会社 プロセッサ及びシステム
US7406711B2 (en) * 2005-09-02 2008-07-29 Motorola, Inc. Method and apparatus for enforcing independence of processors on a single IC
US8898452B2 (en) * 2005-09-08 2014-11-25 Netapp, Inc. Protocol translation
US7730327B2 (en) * 2005-09-09 2010-06-01 Netapp, Inc. Managing the encryption of data
KR100866951B1 (ko) 2005-10-28 2008-11-05 삼성전자주식회사 메모리에 저장된 데이터를 보호할 수 있는 프로그래머블프로세서 및 방법
US8001591B2 (en) * 2006-01-31 2011-08-16 Freescale Semiconductor, Inc. Distributed resource access protection
US8171307B1 (en) 2006-05-26 2012-05-01 Netapp, Inc. Background encryption of disks in a large cluster
GB0615392D0 (en) * 2006-08-03 2006-09-13 Wivenhoe Technology Ltd Pseudo random number circuitry
US8397083B1 (en) 2006-08-23 2013-03-12 Netapp, Inc. System and method for efficiently deleting a file from secure storage served by a storage system
US8181011B1 (en) 2006-08-23 2012-05-15 Netapp, Inc. iSCSI name forwarding technique
US20080077749A1 (en) * 2006-09-22 2008-03-27 Daniel Scott Cohen Access control of memory space in microprocessor systems
US7995759B1 (en) 2006-09-28 2011-08-09 Netapp, Inc. System and method for parallel compression of a single data stream
US8245050B1 (en) 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
US8042155B1 (en) 2006-09-29 2011-10-18 Netapp, Inc. System and method for generating a single use password based on a challenge/response protocol
US8190905B1 (en) 2006-09-29 2012-05-29 Netapp, Inc. Authorizing administrative operations using a split knowledge protocol
US8122196B2 (en) * 2006-10-30 2012-02-21 Netapp, Inc. System and procedure for rapid decompression and/or decryption of securely stored data
DE102006054025A1 (de) * 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Datenspeichervorrichtung mit Zusatzfunktion
US7984306B1 (en) * 2006-11-28 2011-07-19 Netapp, Inc. System and method for reducing processing latency in a security appliance
US8607046B1 (en) 2007-04-23 2013-12-10 Netapp, Inc. System and method for signing a message to provide one-time approval to a plurality of parties
US8611542B1 (en) 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
JP4940033B2 (ja) * 2007-06-29 2012-05-30 パナソニック株式会社 計算機システム、計算機システムの制御方法および携帯電話機
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
JP2009116378A (ja) * 2007-11-01 2009-05-28 Renesas Technology Corp 半導体装置
US8300823B2 (en) * 2008-01-28 2012-10-30 Netapp, Inc. Encryption and compression of data for storage
CA2728445C (en) * 2008-06-24 2017-01-24 Nagravision S.A. Secure memory management system and method
US8954696B2 (en) 2008-06-24 2015-02-10 Nagravision S.A. Secure memory management system and method
US10255463B2 (en) 2008-11-17 2019-04-09 International Business Machines Corporation Secure computer architecture
US10452844B2 (en) * 2008-11-26 2019-10-22 International Business Machines Corporation Protecting isolated secret data of integrated circuit devices
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US9444757B2 (en) 2009-04-27 2016-09-13 Intel Corporation Dynamic configuration of processing modules in a network communications processor architecture
US8489791B2 (en) * 2010-03-12 2013-07-16 Lsi Corporation Processor bus bridge security feature for network processors or the like
US8949500B2 (en) 2011-08-08 2015-02-03 Lsi Corporation Non-blocking processor bus bridge for network processors or the like
US8694755B1 (en) * 2010-03-17 2014-04-08 Ambarella, Inc. Virtual memory management for real-time embedded devices
JP6343448B2 (ja) 2010-07-27 2018-06-13 メソ スケール テクノロジーズ エルエルシー 消耗品データ管理
KR20120035716A (ko) * 2010-10-06 2012-04-16 주식회사 유니듀 부팅 장치 및 그 방법
KR20120037785A (ko) * 2010-10-12 2012-04-20 삼성전자주식회사 부하 균형을 유지하는 시스템 온 칩 및 그것의 부하 균형 유지 방법
IL210169A0 (en) * 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
FR2989800B1 (fr) * 2012-04-18 2014-11-21 Schneider Electric Ind Sas Systeme de gestion d'applications securisees et non securisees sur un meme microcontroleur
KR102017828B1 (ko) 2012-10-19 2019-09-03 삼성전자 주식회사 보안 관리 유닛, 상기 보안 관리 유닛을 포함하는 호스트 컨트롤러 인터페이스, 상기 호스트 컨트롤러 인터페이스의 동작 방법, 및 상기 호스트 컨트롤러 인터페이스를 포함하는 장치들
WO2014177905A1 (en) 2013-04-30 2014-11-06 Freescale Semiconductor, Inc. Device having a security module
US9607177B2 (en) * 2013-09-30 2017-03-28 Qualcomm Incorporated Method for securing content in dynamically allocated memory using different domain-specific keys
CN104899175A (zh) * 2014-03-04 2015-09-09 深圳市中兴微电子技术有限公司 一种基于片内总线协议的安全访问控制方法和装置
DE102016222691A1 (de) * 2015-12-15 2017-06-22 Continental Teves Ag & Co. Ohg Mikrocontrollersystem und Verfahren zur Kontrolle von Speicherzugriffen in einem Mikrocontrollersystem
FR3067486B1 (fr) * 2017-06-09 2021-08-27 Cryptosense Procede de detection non intrusif des failles de securite d'un programme informatique
US20190196967A1 (en) * 2017-12-27 2019-06-27 Samsung Electronics Co., Ltd. Device including access controller, system on chip and system including the same
GB201806465D0 (en) 2018-04-20 2018-06-06 Nordic Semiconductor Asa Memory-access controll
EP3572962B1 (en) * 2018-05-25 2020-12-16 Secure-IC SAS Multi-master security circuit
GB201810659D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure-Aware Bus System
GB201810662D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Access On A Secure-Aware Bus System
GB201810653D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure peripheral interconnect
US11941131B1 (en) * 2020-12-31 2024-03-26 Meta Platforms Technologies, Llc Isolation of secrets from an operating system
US11556394B2 (en) 2021-05-14 2023-01-17 Nxp B.V. System and method for controlling access to shared resource in system-on-chips

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168396A (en) 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4465901A (en) 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
US4847902A (en) * 1984-02-10 1989-07-11 Prime Computer, Inc. Digital computer system for executing encrypted programs
US6822553B1 (en) 1985-10-16 2004-11-23 Ge Interlogix, Inc. Secure entry system with radio reprogramming
US4920483A (en) 1985-11-15 1990-04-24 Data General Corporation A computer memory for accessing any word-sized group of contiguous bits
US4797853A (en) 1985-11-15 1989-01-10 Unisys Corporation Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing
US5144659A (en) 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
GB2255260B (en) 1991-04-24 1995-06-14 Mars Inc Transaction systems
US5367695A (en) * 1991-09-27 1994-11-22 Sun Microsystems, Inc. Bus-to-bus interface for preventing data incoherence in a multiple processor computer system
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5918007A (en) 1992-05-27 1999-06-29 International Business Machines Corporation Trusted personal computer system with limited accessibility
US5440713A (en) 1992-05-29 1995-08-08 Industrial Technology Research Institute M-way N-port paged-interleaved memory system
US5603081A (en) 1993-11-01 1997-02-11 Telefonaktiebolaget Lm Ericsson Method for communicating in a wireless communication system
WO1994016509A1 (en) 1992-12-30 1994-07-21 Telstra Corporation Limited A method and apparatus for generating a cipher stream
US5561817A (en) 1993-08-16 1996-10-01 Thermo King Corporation Method of securely controlling direct memory access (DMA) of a shared memory by a DMA device on an expansion board
US5841868A (en) 1993-09-21 1998-11-24 Helbig, Sr.; Walter Allen Trusted computer system
US5491827A (en) 1994-01-14 1996-02-13 Bull Hn Information Systems Inc. Secure application card for sharing application data and procedures among a plurality of microprocessors
US5544255A (en) 1994-08-31 1996-08-06 Peripheral Vision Limited Method and system for the capture, storage, transport and authentication of handwritten signatures
US5893921A (en) 1995-02-10 1999-04-13 International Business Machines Corporation Method for maintaining memory coherency in a computer system having a cache utilizing snoop address injection during a read transaction by a dual memory bus controller
US5757915A (en) 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
DE19536169A1 (de) 1995-09-29 1997-04-03 Ibm Multifunktionale Chipkarte
US5943483A (en) * 1995-12-11 1999-08-24 Lsi Logic Corporation Method and apparatus for controlling access to a bus in a data processing system
US5933616A (en) * 1995-12-11 1999-08-03 Dell Usa, L.P. Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
US5809230A (en) 1996-01-16 1998-09-15 Mclellan Software International, Llc System and method for controlling access to personal computer system resources
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
JPH10177560A (ja) * 1996-12-17 1998-06-30 Ricoh Co Ltd 記憶装置
US5887131A (en) * 1996-12-31 1999-03-23 Compaq Computer Corporation Method for controlling access to a computer system by utilizing an external device containing a hash value representation of a user password
DE19708616C2 (de) 1997-03-03 1999-09-02 Siemens Ag Elektronische Datenverarbeitungseinrichtung und -system
GB2325061B (en) 1997-04-30 2001-06-06 Advanced Risc Mach Ltd Memory access protection
US5935247A (en) 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US6438666B2 (en) * 1997-09-26 2002-08-20 Hughes Electronics Corporation Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US6098133A (en) * 1997-11-28 2000-08-01 Motorola, Inc. Secure bus arbiter interconnect arrangement
US6023510A (en) 1997-12-24 2000-02-08 Philips Electronics North America Corporation Method of secure anonymous query by electronic messages transported via a public network and method of response
US6230269B1 (en) 1998-03-04 2001-05-08 Microsoft Corporation Distributed authentication system and method
US6226742B1 (en) 1998-04-20 2001-05-01 Microsoft Corporation Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message
US6182142B1 (en) 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6311255B1 (en) 1999-04-29 2001-10-30 International Business Machines Corporation System and method for selectively restricting access to memory for bus attached unit IDs
US6490642B1 (en) * 1999-08-12 2002-12-03 Mips Technologies, Inc. Locked read/write on separate address/data bus using write barrier
US7058179B1 (en) * 2000-03-29 2006-06-06 Sony Corporation Method and system for a secure high bandwidth bus in a transceiver device
KR100716950B1 (ko) * 2000-08-11 2007-05-10 삼성전자주식회사 버스 시스템
US7277972B2 (en) * 2002-03-08 2007-10-02 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065851A (ja) * 2004-08-27 2006-03-09 Microsoft Corp アドレスビットを使用してアドレス空間におけるデータのセキュリティ属性を通知するシステムおよび方法
JP2007102468A (ja) * 2005-10-04 2007-04-19 Seiko Epson Corp Dma転送回路及びdmaコントローラ
JP4671034B2 (ja) * 2005-10-04 2011-04-13 セイコーエプソン株式会社 Dma転送回路及びdmaコントローラ
JP2009523280A (ja) * 2006-01-13 2009-06-18 フリースケール セミコンダクター インコーポレイテッド プロテクションシステム及びその動作方法
JP4756562B2 (ja) * 2006-02-22 2011-08-24 株式会社ソニー・コンピュータエンタテインメント 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
JP2011181089A (ja) * 2006-02-22 2011-09-15 Sony Computer Entertainment Inc 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
JP2008171232A (ja) * 2007-01-12 2008-07-24 Renesas Technology Corp データ処理装置及び半導体集積回路
JP2010015560A (ja) * 2008-07-02 2010-01-21 Internatl Business Mach Corp <Ibm> システム・オン・チップ内でデータ要求を経路指定する方法、装置及びコンピュータ・プログラム
JP2010152527A (ja) * 2008-12-24 2010-07-08 Sony Computer Entertainment Inc ユーザレベルdmaとメモリアクセス管理を提供する方法と装置
JP2015528596A (ja) * 2012-08-10 2015-09-28 クアルコム,インコーポレイテッド 選択的ramスクランブリングのための方法およびデバイス

Also Published As

Publication number Publication date
AU2003230960A1 (en) 2003-11-03
KR100629069B1 (ko) 2006-09-26
EP1499976A1 (en) 2005-01-26
JP4299679B2 (ja) 2009-07-22
CN1331056C (zh) 2007-08-08
CN1647046A (zh) 2005-07-27
EP1499976A4 (en) 2008-01-23
US20030200451A1 (en) 2003-10-23
KR20040101364A (ko) 2004-12-02
WO2003090086A1 (en) 2003-10-30
US6851056B2 (en) 2005-02-01

Similar Documents

Publication Publication Date Title
JP4299679B2 (ja) 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能
KR101224322B1 (ko) 마이크로제어기 내의 데이터 보안 처리를 위한 방법, 장치 및 집적 회로
US5224166A (en) System for seamless processing of encrypted and non-encrypted data and instructions
US8781127B2 (en) Device with privileged memory and applications thereof
EP3053089B1 (en) Method for securing content using different domain-specific keys
US7457891B2 (en) DMA controller connected to master and slave device wherein a rank is used for judging data transfer permissibility
KR100678927B1 (ko) 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치
US20140164793A1 (en) Cryptographic information association to memory regions
TWI809026B (zh) 用於在一加密系統中管理密碼密鑰之一集合的積體電路(ic)系統、用於一積體電路(ic)系統之方法及非暫時性電腦可讀媒體
US10482039B2 (en) Method and device for protecting dynamic random access memory
US11748493B2 (en) Secure asset management system
US20060156413A1 (en) Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device
TWI797353B (zh) 動態密碼密鑰擴展之電路、方法及系統
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
US20220198074A1 (en) Secure Transient Buffer Management
US8707054B2 (en) Establishing a secure memory path in a unitary memory architecture
US20230208821A1 (en) Method and device for protecting and managing keys

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20080722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080826

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090407

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

R150 Certificate of patent or registration of utility model

Ref document number: 4299679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140424

Year of fee payment: 5

EXPY Cancellation because of completion of term