[go: up one dir, main page]

JP2006221633A - マルチプロセッサシステムにおいてプロセッサのセキュアな連携を行う方法および装置 - Google Patents

マルチプロセッサシステムにおいてプロセッサのセキュアな連携を行う方法および装置 Download PDF

Info

Publication number
JP2006221633A
JP2006221633A JP2006024772A JP2006024772A JP2006221633A JP 2006221633 A JP2006221633 A JP 2006221633A JP 2006024772 A JP2006024772 A JP 2006024772A JP 2006024772 A JP2006024772 A JP 2006024772A JP 2006221633 A JP2006221633 A JP 2006221633A
Authority
JP
Japan
Prior art keywords
processor
processors
data
main
access
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
JP2006024772A
Other languages
English (en)
Other versions
JP4601557B2 (ja
Inventor
Akiyuki Hatakeyama
明之 畠山
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of JP2006221633A publication Critical patent/JP2006221633A/ja
Application granted granted Critical
Publication of JP4601557B2 publication Critical patent/JP4601557B2/ja
Expired - Fee Related 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F21/575Secure boot
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】メインプロセッサの管理機能の効果が低減する問題がある。
【解決手段】メインメモリ106に動作可能に接続されるとともに、それぞれがローカルメモリに関連付けられた複数のプロセッサと、プロセッサによる、メインメモリ106内のデータおよびプロセッサ内のデータに対するアクセスを制御可能な少なくとも一つのメインプロセッサ102Eと、を含むマルチプロセッサシステムにおける方法および装置を提供する。その方法および装置は、少なくとも一つのプロセッサ102Aがセキュアな動作モードに入り、メインプロセッサ102Eを用いて、複数のプロセッサのうちの前記少なくとも一つのプロセッサ102A以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサ102Cに関連付けられたデータに対して、前記少なくとも一つのプロセッサ102以外の他のプロセッサがアクセスすることを禁止する。
【選択図】図2

Description

本発明は、マルチプロセッサシステムにおける一以上のプロセッサ間でのセキュアな連携を容易にする方法および装置に関する。
最先端のコンピュータアプリケーションがますます複雑になり、処理システム(プロセッサシステム)に対する需要は絶えず増大しているため、近年、より速いコンピュータによる処理データスループットについて強い要望がある。そうした中、特にグラフィックスアプリケーションは、望ましい視覚結果を実現するために、比較的短い時間内で膨大な数のデータアクセス、データ計算、およびデータ操作を必要とし、処理システムに対する要求は最も高い。リアルタイムのマルチメディアアプリケーションもまた、処理システムに対する高い要求は高い。実際に、このようなアプリケーションは毎秒何千メガビットものデータ処理という非常に高速な処理を必要とする。
いくつかの処理システムは一つのプロセッサを用いて高速な処理速度を実現する一方、他の処理システムはマルチプロセッサアーキテクチャを用いて実装される。マルチプロセッサシステムにおいて、複数のサブプロセッサは並列に(少なくとも協調して)動作し、所望の処理結果を達成できる。マルチプロセッサシステム内でモジュラー構造を用いることも考えられる。なお、この構造において、計算モジュールには、(インターネットなどの)ブロードバンドネットワークを介してアクセスでき、その計算モジュールは多くのユーザ間で共有できる。このモジュラー構造についての詳細は、米国特許第6526491号に記載される。
なお、プロセッサシステムがネットワークを介して使用されるとき、あるいは共有資源の一部分であるときに問題が生じる。特に、プロセッサとそれに関連するハードウエア、ソフトウエア、データおよびそれらと同様のものは、意図的なハッキング、ウイルスやそれらと同様のものなどの外部要因にさらされやすい。他の問題として、実行前における、ある方法での認証がなされていない、起動ソフトウエアや、オペレーティングシステムソフトウエアや、アプリケーションソフトウエアやコンテンツ(データ)によりもたらされうる不正やあからさまな悪意が挙げられる。あいにく、ソフトウエアアプリケーション(あるいは、他の種類のデジタルコンテンツ)の従来の実行過程では、メモリからソフトウエアを読み出すこと、さらにプロセッサを用いてそのソフトウエアを実行することが指示される。たとえ、ソフトウエアを実行する処理システムにいくつかの種類のセキュリティ対策を施しても、そのソフトウエアが改ざんされる、あるいは、そのソフトウエアに対する実行権限がそもそも与えられていない場合もある。したがって、以降に施される任意のセキュリティ対策は十分に信頼性の高い(trusted;信頼のおける)ものにはなるとは限らず、さらに無駄になる(usurped)可能性もある。
マルチプロセッサの状況において、そのシステム内の「セキュア(secure)」なプロセッサをあるモードにすることが考慮されてきた。そのモードでは、他のプロセッサにより開始されたところの、セキュアなプロセッサとの間でのデータ転送に対する要求は受け付けないが、セキュアなプロセッサにより開始されたそのデータ転送は受け付ける。このように、セキュアなプロセッサ内の処理環境は、機密性の高いオペレーションを実行してくれるものと考えられる。このセキュリティアプローチは、マルチプロセッサシステム内のプロセッサが完全に独立(autonomous)しているときに十分に機能する一方、そのシステム内の一以上のプロセッサが、セキュアなプロセッサ内のデータが要求される処理を管理または監視しようとするときに問題が生じる。
例えば、マルチプロセッサシステムにおいて、複数のプロセッサのうちの一つのプロセッサ(例えば、メインプロセッサ)による処理の移行を可能にするため、そのメインプロセッサが、他のプロセッサ(サブプロセッサ)上で実行されるアプリケーションプログラムおよびデータを監視するのが好ましい場合がある。例えば、メインプロセッサが、あるサブプロセッサから他のサブプロセッサにタスクを移行したり、複数のサブプロセッサ間でデータを配分したり、あるサブプロセッサ内のタスクの実行を中止したりすることなどを所望する場合がある。メインプロセッサはさらに、サブプロセッサの、任意のローカルメモリ、ハードウエアレジスタまたは他の構成要素内のデータを取得しようとする場合がある。なお、あるプロセッサがセキュアなモードであれば、メインプロセッサはそのデータにアクセスすることが許可されない場合があり、その結果、望ましくない結果として、メインプロセッサの管理機能の効果が低減する場合がある。
本発明の目的は、マルチプロセッサシステム内において、プロセッサ間のセキュアな連携関係(collaborative relationship)を可能にするセキュリティ対策を与える新規の方法および装置を提供することにある。
本発明の一以上の態様によれば、セキュアなプロセッサとアンセキュアなプロセッサとの間において協力的でありながら一部独立(isolated;分離)した関係を確立する方法で、メインプロセッサはシステムのメモリ空間(memory space)を制御できる。
この点に関連して、そのシステムのプロセッサ群のうち少なくとも一つのプロセッサの中にセキュアな処理環境を確立するのが好ましい。セキュアな処理環境の確立には、外部から開始された、セキュアなプロセッサに対するデータアクセスリクエストに応答しない状態の呼び出しが含まれる。すなわち、セキュアなプロセッサは、データに対するどの外部のリクエスト(例えば、ローカルメモリまたはレジスタ上のコンテンツを読み出すというリクエスト)にも応じない。したがって、プロセッサがセキュアなモードに入る場合、信頼性の高い環境を形成する。
ここで、このプロセスには、セキュアな起動処理の呼び出しも含まれる。このセキュアな起動処理では、セキュアなプロセッサ(および可能であればそのシステムの他のプロセッサ)の起動コードが最初に認証され、その後、その起動コードの使用によりそのプロセッサが起動される。さらに、セキュアな動作モードに入れば、オペレーティングシステムソフトウエア、アプリケーションプログラムおよびコンテンツの認証も実行できる。ここで、本明細書で用いられる、「コンテンツ」および「データ」は、任意の種類のプログラムコード、アプリケーションプログラム、システムレベルのソフトウエア、任意の種類のデータ、データストリームなどを含むものと広く解釈される。
上述したように、セキュアなプロセッサと必ずしもセキュアな動作モードであるとは限らない一以上の別のプロセッサとの間で、セキュアな連携関係を確立するといった方法で、メインプロセッサはそのシステムのメモリ空間を制御できる。例えば、そのメインプロセッサは、あるプロセッサにより開始されるそのようなデータの転送先および転送元を制御できる。この制御は、マルチプロセッサシステム(そのシステムでは、各プロセッサは、共有メモリ内のある定義された作業領域「サンドボックス」を有する)の共有メモリに適用されうる。一般的に、各プロセッサは、共有メモリの自身による使用に制限を課すことができる一方、他のプロセッサはいずれのサンドボックスからのデータを少なくともコピーできる。なお、メインプロセッサは、どのプロセッサがどのサンドボックスにアクセスできるかを制御できる。メインプロセッサによるそのシステムのメモリ空間の制御方法についてのさらなる詳細は米国特許第6526491号に開示される。
メインプロセッサによるセキュアなプロセッサおよびアンセキュアなプロセッサの調整を通じて、連携関係を実現できる。例えば、そのメインプロセッサは、第2のプロセッサ(アンセキュアなプロセッサ)が、第1のプロセッサ(セキュアなプロセッサ)に関連付けられたメモリ空間にアクセスすることを許可できる。一方、そのメインプロセッサは、任意の他のプロセッサが、その第2のプロセッサに関連付けられたメモリ空間にアクセスすることを禁止できる。このように、第2のプロセッサは、第1のプロセッサとの間で独立した関係を形成する。そのセキュアなプロセッサは、そのシステムの他のプロセッサによる機密データおよび非機密データに対するアクセスを懸念することなく、そのアンセキュアなプロセッサとの間で、それらデータを共有できる。実際、そのシステムの他のプロセッサは、第2のプロセッサに関連付けられたメモリ空間にアクセスすることはできない。
この連携により、そのメインプロセッサは、(例えば、そのオペレーティングシステムを通じて)第2のプロセッサ(第1のプロセッサのデータを含みうる)のデータにアクセスできる。これにより、そのメインプロセッサによるタスクの移行や、データの配分や、タスクの実行の中止が可能になる。さらなる実施の形態によれば、2以上のプロセッサのそれぞれがセキュアなプロセッサとの間で独立した関係を形成することを可能にするため、2以上のプロセッサのそれぞれとセキュアなプロセッサとの間で機密データを共有できる。
本発明に係る一以上の実施の形態に係る装置は、メインメモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有し、それぞれがローカルメモリ内での使用を目的としてメインメモリから少なくともあるデータを要求できる複数のプロセッサと、その複数のプロセッサによる、そのメインメモリ内およびその複数のプロセッサ内のデータに対するアクセスを制御できる少なくとも一つのメインプロセッサと、を備える。複数のプロセッサのうちの少なくとも一つのプロセッサは、その複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、メインプロセッサによるアクセス制御に従うことを条件に、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入る機能を有するのが好ましい。メインプロセッサは、その複数のプロセッサのうちの少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられたデータに対して、その少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止する機能を有するのが好ましい。
本発明に係る一以上の別の実施の形態に係る装置は、複数のサンドボックスを有するメインメモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有し、それぞれがローカルメモリ内での使用を目的として前記メインメモリから少なくともあるデータを要求でき、さらにそれぞれが1以上のサンドボックスに関連付けられる複数のプロセッサと、その複数のプロセッサによる、それぞれのサンドボックス内のデータに対するアクセスを許可または禁止すること、および、複数のプロセッサによる、その複数のプロセッサ内のデータに対するアクセスを制御することのうち少なくとも一つを実施可能な少なくとも一つのメインプロセッサと、を備える。その複数のプロセッサのうちの少なくとも一つのプロセッサは、その複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、メインプロセッサによるアクセス制御に従うことを条件に、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入る機能を有するのが好ましい。メインプロセッサは、その複数のプロセッサのうちのその少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサのサンドボックスに対して、少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止する機能と、その複数のプロセッサのうちのその少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられたデータに対して、その少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止する機能と、のうち少なくとも一つを有するのが好ましい。
本発明に係る一以上の別の実施の形態に係る方法は、複数のプロセッサのうちの少なくとも一つのプロセッサ内において、その複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、そのメインプロセッサによるアクセス制御に従うことを条件に、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入るステップと、その複数のプロセッサのうちの少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられたデータに対して、その少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止するステップと、を含む。その方法はまた、少なくとも一つの別のプロセッサによる、少なくとも一つのプロセッサに関連付けられた、共有メモリ内のデータに対するアクセスを許可するステップを含んでもよい。
本発明の上記以外の態様、特徴、および利点などは、添付図面とともに以下の詳細な説明により当業者には明確に理解される。
本発明の様々な実施の形態を示すために、現在のところ好適である図面を例示として添付するが、本発明は図面と同一の構成および手段に限定するものではない。
図において同一の符号は同一の要素を示すものとする。図1は、実施の形態に係る1以上の態様の実施に適したプロセッサシステム100を示す。簡潔および明確にするために、図1の構成図を参照し装置100を用いて説明するが、同一の主旨を有する様々な態様の方法にその説明を簡単に適用できるのは言うまでもない。装置100は、バス108を介して接続された、ローカルメモリ104A〜102Dに関連付けられた複数のプロセッサ102A〜102Dとメインメモリ(すなわち共有メモリ)とを含むのが好ましい。4つのプロセッサ102を例として示すが、本発明の主旨および範囲を逸脱しない限り、いかなる数のプロセッサを用いてもよい。
プロセッサ102のそれぞれの構成は同一であってもよいし、異なってもよい。そのプロセッサ102は、システムメモリ106からのデータの要求を可能にし、そのデータを操作することで所望の結果への達成を可能にする任意の既知の技術を用いて実装されてもよい。例えば、プロセッサ102はソフトウエアおよび/またはファームウエアを実行可能な、標準マイクロプロセッサや分散型のマイクロプロセッサなどの任意の既知のマイクロプロセッサを用いることで実装されてもよい。例として、プロセッサ102は、ピクセルデータなどのデータを要求し操作できるグラフィックプロセッサであってもよい。なお、そのピクセルデータには、グレースケール情報や、カラー情報や、テクスチャデータや、ポリゴン情報や、ビデオフレーム情報などが含まれる。
システム100の一つ以上のプロセッサ102は、メイン(または管理)プロセッサとして機能する。そのメインプロセッサは他のプロセッサによるデータの処理のスケジューリングと調整を行うことができる。
システムメモリ106は、メモリインタフェース回路(図示せず)を通じてプロセッサ102に接続されるダイナミックランダムアクセスメモリ(DRAM)であるのが好ましい。そのシステムメモリ106は、好適にはダイナミックランダムアクセスメモリだが、スタティックランダムアクセスメモリ(SRAM)、磁気ランダムアクセスメモリ(MRAM)、光学メモリ、またはホログラフィックメモリ等の他の手段を用いて実装してもよい。
それぞれのプロセッサ102は好適には、プロセッサコアと、そのコアに関連付けられた、プログラムを実行するためのローカルメモリ104とを含む。これらの構成要素は共通の半導体基板上に一体的に設けられるか、あるいは、設計者の意図により分離されて設けられてもよい。プロセッサコアは好適には、パイプライン処理を用いて実装される。なお、パイプライン処理においては、パイプライン型の方法で論理命令が処理される。そのパイプラインは命令が処理される任意の数のステージに分割されるが、一般的には、一つ以上の命令をフェッチするステージ、その命令をデコードするステージ、命令間の依存性をチェックするステージ、その命令を出力するステージ、その命令を実行するステージを有する。この点に関連して、そのプロセッサコアには、命令バッファ、命令デコード回路、依存性チェック回路、命令出力回路、および実行段階が含まれる。
ここで、ローカルメモリ104は、それぞれのプロセッサ102と同一チップ上に設けられるのが好ましい。なお、ローカルメモリ104は、ハードウェアキャッシュメモリではないことが好ましく、ローカルメモリ104には、ハードウェアキャッシュメモリ機能を実現するための、チップ内蔵またはチップ外に設けられたハードウェアキャッシュ回路、キャッシュレジスタ、キャッシュメモリコントローラなどが無いことが好ましい。他の実施の形態では、ローカルメモリ104はキャッシュメモリおよび/または付加的なキャッシュメモリであってもよい。チップ上の実装面積はしばしば限られているので、ローカルメモリ104のサイズは、共有メモリ106のサイズより遥かに小さい。プロセッサ102は、プログラムの実行とデータの操作のために、バス108を介してシステムメモリ106からそれぞれのローカルメモリ104にデータ(プログラムデータを含みうる)をコピーするためのデータアクセスリクエストを提供することが好ましい。データアクセスを容易にするメカニズムとして、例えばダイレクト・メモリ・アクセス(DMA)技術など、任意の既知の技術を用いてもよい。
プロセッサ102およびローカルメモリ104は、一つの共通の集積回路として一体化されるのが好ましい。したがって、本明細書では、これらの要素を「プロセッサ102」と呼んでもよい。他の実施の形態では、記憶媒体もまた、その一以上の他の要素とともに、一つの共通の集積回路として一体化されてもよい。
ここで、図1の装置100を参照し、本発明の一以上の態様に係る装置100により実施される処理ステップの機能および流れを、図2および図3に示す。動作200において、一以上のプロセッサ102(例えば、プロセッサ102A)は、セキュアな動作モードに入ることができるのが好ましい。このセキュアな動作モードでは、セキュアなプロセッサ102Aのローカルメモリ104(あるいは、任意の他のメモリデバイス、レジスタなど)内に保存されたデータに対する要求はいずれも受け付けられない。従って、機密性の高いオペレーションを実行するための信頼性の高い環境を保証できる。セキュアなモードであるにもかかわらず、セキュアなプロセッサ102Aは、システムメモリ106からローカルメモリ104Aへのデータ転送を要求できる。あるいは、ローカルメモリ104Aからシステムメモリ106へのデータ転送を要求できる。さらに、セキュアな動作モードである間は、セキュアなプロセッサ102Aは、自身が転送元であるか転送先であるかにかかわらず、信頼性の高い環境との間でのデータ転送を開始できる。
本発明に係る一以上の他の実施の形態によれば、セキュアなプロセッサ102Aを、セキュアな方法で起動できる。そのセキュアな方法では、最初に起動コードが認証され、その後、起動が許可される。これにより、セキュアなプロセッサ102Aがセキュアな動作モード200に入るときに、よりレベルの高いセキュリティを保証できる。セキュアな起動処理に関するさらなる詳細は、米国特許出願第60/650,754号と同日に米国特許商標庁に出願された「プロセッサ内でセキュアな起動シーケンスを提供する方法および装置」と題する米国特許出願第60/650,506号(代理人番号545/10、整理番号:SC04028US00)内に記載される。
例えば、その文献によれば、暗号化された起動コードをバスに接続されたセキュアな記憶媒体から読み出し、その暗号化された起動コードをプロセッサに関連付けられたローカルメモリ内に保存する。さらに、プロセッサの信頼のおける復号化機能を用いて暗号化された起動コードを復号化することにより、起動コードが真正であることを確認し、ローカルメモリから取得した起動コードを用いてプロセッサを起動する。
本実施の形態に関連して、プロセッサ群102のうちの一つ、例えばプロセッサ102Eは、メインプロセッサとして機能するのが好ましい。メインプロセッサ102Eが、例えば、他のプロセッサ102上で実行されるアプリケーションプログラムおよびデータを監視することにより、そのメインプロセッサ102Eによる処理の移行が可能になる。このような処理の移行には、一つのプロセッサ102から他のプロセッサ102へのタスクの移行や、複数のプロセッサ102間でのデータの配分などが含まれる。これに関連して、メインプロセッサ102Eは、任意のプロセッサ102内、例えば、任意のプロセッサのローカルメモリ104内、任意のプロセッサのハードウエア内などにあるデータを取得しようとする。セキュアなプロセッサ102Aは、外部のエンティティ(entity;主体)からのデータの要求は受け付けないため(折れた矢印で示す)、メインプロセッサ102Eは、プロセッサ102Aのローカルメモリ104Aからデータを取得できない。同様に、他のプロセッサ、例えばプロセッサ102Bおよびプロセッサ102Dによるデータアクセスリクエストは、セキュアなプロセッサ102Aによっては受け付けられない。
また、メインプロセッサ102Eは(他のプロセッサ102がセキュアなモードでない限りにおいては)、他のプロセッサ102による、メインメモリ106およびその他のプロセッサ102内のデータに対するアクセスを制御するのが好ましい。例えば、メインメモリは複数のサンドボックス106A〜106Dを含みうる。ここでは、プロセッサ102A〜102Dはそれぞれ、サンドボックス106A〜106Dに関連付けられる。各サンドボックス106A〜106Dは、メインメモリ106のある領域を画定し、特定のプロセッサ102または1組のプロセッサ102は、その領域を越えて、データの読み出しや書き込みを行うことはできない。メインプロセッサ102Eは、どのプロセッサ102がどのサンドボックス、あるいはどのサンドボックス群106A〜106Dに対して、データの読み出しや書き込みを実行できるかを制御できるのが好ましい。このテーマについて様々な変形例があることは当業者にとって明らかである。一般的な出発点として、例えば、任意のプロセッサはすべてのサンドボックスのデータを少なくとも読み出し可能ではあるが、一方、プロセッサ102のそれぞれに、メインメモリ106内のそれぞれ一つのサンドボックスを関連付け、そのサンドボックス内においてデータの読み出しや書き込みが実行されることとしてもよい。なお、他の構成では、それぞれのプロセッサ102によるデータの読み出しや書き込みの対象が、メインメモリ106内の特定のサンドボックスのみに制限されることを要求できる。
動作202において、メインプロセッサ102Eは、別のプロセッサ、例えばプロセッサ102Cのデータに対するアクセスを禁止(排除)するのが好ましい。これは、任意の他のプロセッサ(プロセッサ102Aを含んでもよいし、含まなくてもよい)による、その別のプロセッサ102Cに関連付けられたサンドボックス106Cに対するデータの読み出しや書き込みを防止することを伴ってもよい。セキュアなプロセッサ102Aがこの情報(プロセッサ102Cのデータに対するアクセスが禁止されていること)を把握していると想定すれば、セキュアなプロセッサ102Aとその別のプロセッサ102Cとの間で特別な関係を確立できる。すなわち、これらのプロセッサはお互いに連携し、セキュリティを害することなくそれらプロセッサ間でデータの受け渡しを実行できる。例えば、セキュアなプロセッサ102Aは、別のプロセッサ102Cに機密性の高いデータを伝送し、あるいは伝送以外の方法で提供することで、サンドボックス106C内にそのデータを保存できる。すなわち、他のプロセッサ102Bおよびプロセッサ102Dのいずれも、メインプロセッサ102Eにより確立された制御により、サンドボックス106C内のそのようなデータにアクセスすることは不可能である。他に、またはさらに、動作204では、例えば、セキュアなプロセッサ102Aおよび別のプロセッサ102C間の任意のデータ伝送が暗号化されることを保証することによって、セキュアなプロセッサ102Aおよび別のプロセッサ102C間でセキュアなセッションを確立できる。
動作206では、別のプロセッサ102Cは、セキュアなプロセッサ102Aにより与えられた、セキュアなプロセッサ102Aの状態を示すデータを把握できる。メインプロセッサ102Eは、サンドボックス106Cを適切に制御し、そのサンドボックス106Cにアクセスすることで、この状態情報を入手できる。したがって、メインプロセッサ102Eは、プロセッサ間でタスクを移行したり、プロセッサ間でデータを配分したりするなどの管理機能の実行にあたり、セキュアなプロセッサ102Aを含めた任意の数のプロセッサ102における処理の状態を把握できる。ここで、そのセキュアなプロセッサ102Aは外部のデバイスからのデータリクエストを受け付けないため、セキュアなプロセッサ102Aおよび別のプロセッサ102C間の連携なしに、そのセキュアなプロセッサ102Aに関する状態情報を容易に取得することはできない。
動作208では、別のプロセッサ102Cは、メインプロセッサ102Eの制御に応じて、サンドボックス106A内に含まれる、セキュアなプロセッサ102Aに関連付けられたデータにアクセスできる。したがって、別のプロセッサ102Cは、セキュアなプロセッサ102Aに関連したデータを取得することにより、自身のサンドボックス106C内でそのデータを操作(使用)し、および/または自身のサンドボックス106C内にそのデータを保存できる。
ここで、メインプロセッサ102Eにより実行される、メインメモリ106のサンドボックスに対するデータアクセスに関する制御は、装置100の「メモリ空間」を制御することで実現できる。そのメモリ空間を、メインメモリ106のみを包含するものとして定義することができるし、あるいは、それぞれのプロセッサ102のローカルメモリ104、ハードウエアレジスタなどを含むものとして広く定義することもできる。したがって、メインプロセッサ102Eによるデータアクセス制御を、各プロセッサ102のローカルメモリ104、ハードウエアレジスタなどを含む、より大きなメモリ空間にまで拡張できる。
本発明に係る少なくとも一つの別の態様によれば、上述した方法および装置は、例えば、図に示す適切なハードウエアを用いて実現できる。そのようなハードウエアは任意の既知の技術を用いて実装できる。なお、その既知の技術として、例えば、標準のデジタル回路、ソフトウエアおよび/またはファームウエアプログラムを実行できる任意の既知のプロセッサ、プログラム可能な読み出し専用メモリ群(PROM群)、プログラム可能なアレイ論理デバイス群(PAL群)などの一以上のプログラム可能なデジタルデバイスまたはシステムが挙げられる。さらに図内の装置は、ある機能ブロックに分割されて示されているが、そのようなブロックは別々の回路で実装でき、および/または、一以上の機能ユニットに結合させることができる。さらに、本発明に係る様々な態様は、適切な記憶メディアや(フレキシブルディスク、メモリチップなどの)持ち運び可能な、および/または配布のためのメディア上に保存可能なソフトウエアおよび/またはファームウエアプログラムにより実装される。
ここでは本発明の具体例について説明したが、これらの実施例は単に本発明の趣旨と応用を示すものである。したがって、請求項により定義された本発明の主旨および範囲から逸脱しないかぎり、上述した実施形態に対して様々な変更を加えることができる。
実施の形態の1つ以上の態様に係る2以上のサブプロセッサを有するマルチプロセッサシステムの構成を示す図である。 実施の形態の1つ以上の態様に係る図1のマルチプロセッサシステムの構成要素間における関連性についてのフローおよび機能を示す図である。 実施の形態の1つ以上の態様に係る図1の処理システムにより実行されうる処理ステップの流れを示す図である。
符号の説明
100 装置,プロセッサシステム、 102 プロセッサ、 102A セキュアなプロセッサ、 102E メインプロセッサ、 104 ローカルメモリ、 106 共有メモリ,システムメモリ,メインメモリ、 106A〜106D サンドボックス。

Claims (23)

  1. メインメモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有し、それぞれが前記ローカルメモリ内での使用を目的として前記メインメモリから少なくともあるデータを要求できる複数のプロセッサと、
    前記複数のプロセッサによる、前記メインメモリ内および前記複数のプロセッサ内のデータに対するアクセスを制御できる少なくとも一つのメインプロセッサと、
    を備え、
    前記複数のプロセッサのうちの少なくとも一つのプロセッサは、前記複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、前記メインプロセッサによる前記アクセス制御に従うことを条件に、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入る機能を有し、
    前記メインプロセッサは、前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられたデータに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止する機能を有することを特徴とする装置。
  2. 前記メインメモリは、前記複数のプロセッサのそれぞれに対応して、プロセッサごとに少なくとも一つのサンドボックスを備え、前記メインプロセッサは、前記複数のプロセッサによる、それぞれの前記サンドボックス内のデータに対するアクセスを許可または禁止する機能を有することを特徴とする請求項1に記載の装置。
  3. 前記メインプロセッサは、前記複数のプロセッサによる、前記複数のプロセッサのそれぞれが有するローカルメモリ内のデータに対するアクセスを許可または禁止する機能を有することを特徴とする請求項1または2に記載の装置。
  4. 前記少なくとも一つのプロセッサおよび前記少なくとも一つの別のプロセッサは、これら両者の間で転送されるデータを暗号化できるセキュアなセッションに入る機能を有することを特徴とする請求項1から3のいずれかに記載の装置。
  5. 前記メインプロセッサは、前記セキュアな動作モード中の前記少なくとも一つのプロセッサ以外のすべてのプロセッサ内のデータを監視する機能を有することを特徴とする請求項1から4のいずれかに記載の装置。
  6. 前記セキュアな動作モード中の前記少なくとも一つのプロセッサは、前記少なくとも一つの別のプロセッサにデータを送信する機能を有し、前記少なくとも一つの別のプロセッサは、当該装置の処理能力を管理するために前記メインプロセッサにより使用されうる情報がアクセスされたときに、その情報を提供することを特徴とする請求項5に記載の装置。
  7. 複数のサンドボックスを有するメインメモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有し、それぞれが前記ローカルメモリ内での使用を目的として前記メインメモリから少なくともあるデータを要求でき、さらにそれぞれが1以上の前記サンドボックスに関連付けられる複数のプロセッサと、
    前記複数のプロセッサによる、それぞれの前記サンドボックス内のデータに対するアクセスを許可または禁止すること、および、前記複数のプロセッサによる、前記複数のプロセッサ内のデータに対するアクセスを制御することのうち少なくとも一つを実施可能な少なくとも一つのメインプロセッサと、
    を備え、
    前記複数のプロセッサのうちの少なくとも一つのプロセッサは、前記複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、前記メインプロセッサによるアクセス制御に従うことを条件に、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入る機能を有し、
    前記メインプロセッサは、前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサのサンドボックスに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止する機能と、
    前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられたデータに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止する機能と、
    のうち少なくとも一つを有することを特徴とする装置。
  8. 前記メインプロセッサは、
    前記複数のプロセッサによる、前記複数のプロセッサのそれぞれが有するローカルメモリ内のデータに対するアクセスを許可または禁止する機能と、
    前記少なくとも一つのプロセッサ以外の他のプロセッサによる、前記少なくとも一つの別のプロセッサのローカルメモリに対するアクセスを禁止する機能と、
    のうち少なくとも一つをさらに有することを特徴とする請求項7に記載の装置。
  9. メインメモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有する複数のプロセッサと、前記複数のプロセッサによる、前記メインメモリ内および前記複数のプロセッサ内のデータに対するアクセスを制御できる少なくとも一つのメインプロセッサとを備えるマルチプロセッサシステムにおいて、
    当該方法は、
    前記複数のプロセッサのうちの少なくとも一つのプロセッサ内において、前記複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、前記メインプロセッサによるアクセス制御に従うことを条件に、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入るステップと、
    前記メインプロセッサを用いて、前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられたデータに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止するステップと、
    を含むことを特徴とする方法。
  10. 前記メインメモリは、記複数のプロセッサのそれぞれに対応して、プロセッサごとに少なくとも一つのサンドボックスを備え、
    当該方法は、前記メインプロセッサを用いて、前記複数のプロセッサによる、前記サンドボックス内のデータに対するアクセスを許可または禁止するステップをさらに含むことを特徴とする請求項9に記載の方法。
  11. 前記少なくとも一つのプロセッサ以外の他のプロセッサによる、前記少なくとも一つの別のプロセッサのサンドボックスの少なくとも一つに対するアクセスを禁止するステップをさらに含むことを特徴とする請求項10に記載の方法。
  12. 前記メインプロセッサを用いて、前記複数のプロセッサによる、前記複数のプロセッサのそれぞれが有するローカルメモリ内のデータに対するアクセスを許可または禁止するステップをさらに含むことを特徴とする請求項10または11に記載の方法。
  13. 前記少なくとも一つのプロセッサ以外の他のプロセッサによる、前記少なくとも一つの別のプロセッサのサンドボックスに対するアクセスを禁止するステップと、
    前記少なくとも一つのプロセッサ以外の他のプロセッサによる、前記少なくとも一つの別のプロセッサのローカルメモリに対するアクセスを禁止するステップと、
    のうち少なくとも一つのステップをさらに含むことを特徴とする請求項10から12のいずれかに記載の方法。
  14. 前記メインプロセッサを用いて、前記複数のプロセッサによる、前記複数のプロセッサのそれぞれが有するローカルメモリ内のデータに対するアクセスを許可または禁止するステップをさらに含むことを特徴とする請求項9に記載の方法。
  15. 前記少なくとも一つのプロセッサ以外の他のプロセッサによる、前記少なくとも一つの別のプロセッサのローカルメモリに対するアクセスを禁止するステップをさらに含むことを特徴とする請求項14に記載の方法。
  16. 前記少なくとも一つのプロセッサおよび前記少なくとも一つの別のプロセッサ間に、これら両者の間で転送されるデータを暗号化できるセキュアなセッションを確立するステップをさらに含むことを特徴とする請求項9に記載の方法。
  17. 前記メインプロセッサを用いて、前記セキュアな動作モード中の前記少なくとも一つのプロセッサ以外のすべてのプロセッサ内のデータを監視するステップをさらに含むことを特徴とする請求項9に記載の方法。
  18. 装置の処理能力を管理するために前記メインプロセッサにより使用されうる情報がアクセスされたときにその情報を提供する前記少なくとも一つの別のプロセッサに、前記少なくとも一つのプロセッサからデータを送信するステップをさらに含むことを特徴とする請求項17に記載の方法。
  19. 共有メモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有する複数のプロセッサを備えるマルチプロセッサシステムにおいて、
    当該方法は、
    前記複数のプロセッサのうちの少なくとも一つのプロセッサ内において、前記複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入るステップと、
    前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられた、前記共有メモリ内のデータに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止するステップと、
    前記少なくとも一つの別のプロセッサによる、前記少なくとも一つのプロセッサに関連付けられた、前記共有メモリ内のデータに対するアクセスを許可するステップと、
    を含むことを特徴とする方法。
  20. メインメモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有する複数のプロセッサと、前記複数のプロセッサによる前記メインメモリ内および前記複数のプロセッサ内のデータに対するアクセスを制御できる少なくとも一つのメインプロセッサとを備えるマルチプロセッサシステムの一部をなすプロセッサに動作を実行せしめるソフトウエアプログラムを含む記憶媒体であって、
    当該動作は、
    前記複数のプロセッサのうちの少なくとも一つのプロセッサ内において、前記複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、前記メインプロセッサによるアクセス制御に従うことを条件に、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入るステップと、
    前記メインプロセッサを用いて、前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられたデータに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止するステップと、
    を含むことを特徴とする記録媒体。
  21. 共有メモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有する複数のプロセッサを備えるマルチプロセッサシステムの一部をなすプロセッサに動作を実行せしめるソフトウエアプログラムを含む記憶媒体であって、
    当該動作は、
    前記複数のプロセッサのうちの少なくとも一つのプロセッサ内において、前記複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入るステップと、
    前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられた、前記共有メモリ内のデータに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止するステップと、
    前記少なくとも一つの別のプロセッサによる、前記少なくとも一つのプロセッサに関連付けられた、前記共有メモリ内のデータに対するアクセスを許可するステップと、
    を含むことを特徴とする記録媒体。
  22. メインメモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有する複数のプロセッサと、前記複数のプロセッサによる前記メインメモリ内および前記複数のプロセッサ内のデータに対するアクセスを制御できる少なくとも一つのメインプロセッサとを備えるマルチプロセッサシステムの一部をなすプロセッサに動作を実行せしめるソフトウエアプログラムであって、
    当該動作は、
    前記複数のプロセッサのうちの少なくとも一つのプロセッサ内において、前記複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、前記メインプロセッサによるアクセス制御に従うことを条件に、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入るステップと、
    前記メインプロセッサを用いて、前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられたデータに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止するステップと、
    を含むことを特徴とするプログラム。
  23. 共有メモリに動作可能に接続されるとともに、それぞれが自身に関連付けられたローカルメモリを有する複数のプロセッサを備えるマルチプロセッサシステムの一部をなすプロセッサに動作を実行せしめるソフトウエアプログラムであって、
    当該動作は、
    前記複数のプロセッサのうちの少なくとも一つのプロセッサ内において、前記複数のプロセッサのうちの他のプロセッサにより開始されたところの、当該少なくとも一つのプロセッサ自身との間でのデータ転送に対する要求は受け付けないが、当該少なくとも一つのプロセッサ自身により開始されたところのそのデータ転送は受け付けるセキュアな動作モードに入るステップと、
    前記複数のプロセッサのうちの前記少なくとも一つのプロセッサ以外の他のプロセッサとは異なる少なくとも一つの別のプロセッサに関連付けられた、前記共有メモリ内のデータに対して、前記少なくとも一つのプロセッサ以外の他のプロセッサがアクセスすることを禁止するステップと、
    前記少なくとも一つの別のプロセッサによる、前記少なくとも一つのプロセッサに関連付けられた、前記共有メモリ内のデータに対するアクセスを許可するステップと、
    を含むことを特徴とするプログラム。
JP2006024772A 2005-02-07 2006-02-01 マルチプロセッサシステムにおいてプロセッサのセキュアな連携を行う方法および装置 Expired - Fee Related JP4601557B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US65075405P 2005-02-07 2005-02-07

Publications (2)

Publication Number Publication Date
JP2006221633A true JP2006221633A (ja) 2006-08-24
JP4601557B2 JP4601557B2 (ja) 2010-12-22

Family

ID=36283935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006024772A Expired - Fee Related JP4601557B2 (ja) 2005-02-07 2006-02-01 マルチプロセッサシステムにおいてプロセッサのセキュアな連携を行う方法および装置

Country Status (3)

Country Link
US (1) US8145902B2 (ja)
JP (1) JP4601557B2 (ja)
WO (1) WO2006082990A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102694A (ja) * 2008-10-22 2010-05-06 Internatl Business Mach Corp <Ibm> 高スレッド化ネットワーク・オン・ア・チップ・プロセッサにおけるスループットをユーザが損なうのを防止するためのセキュリティ方法
JP2017519281A (ja) * 2014-06-25 2017-07-13 インテル・コーポレーション ハードウェア構成レポーティング用の装置、ハードウェア構成アービトレーションの方法、プログラム、機械可読記録媒体、及び、ハードウェア構成アービトレーション用の装置
KR20180027332A (ko) * 2016-09-06 2018-03-14 애플 인크. 디바이스의 독립적인 프로세서들을 통한 데이터 검증

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437546B2 (en) * 2005-08-03 2008-10-14 Intel Corporation Multiple, cooperating operating systems (OS) platform system and method
US8060716B2 (en) 2006-12-22 2011-11-15 Panasonic Corporation Information processing device for securely processing data that needs to be protected using a secure memory
US8255988B2 (en) * 2007-03-28 2012-08-28 Microsoft Corporation Direct peripheral communication for restricted mode operation
US20090210422A1 (en) * 2008-02-15 2009-08-20 Microsoft Corporation Secure Database Access
US9069965B2 (en) 2008-08-26 2015-06-30 Dell Products L.P. System and method for secure information handling system flash memory access
US8499351B1 (en) * 2009-12-17 2013-07-30 Mcafee, Inc. Isolated security monitoring system
WO2013035235A1 (ja) * 2011-09-08 2013-03-14 パナソニック株式会社 計算機システム、計算機システム制御方法、計算機システム制御プログラム、及び集積回路
JP5831178B2 (ja) * 2011-11-30 2015-12-09 株式会社リコー 情報処理装置、情報処理装置の起動制御方法
US9171170B2 (en) * 2012-08-17 2015-10-27 Broadcom Corporation Data and key separation using a secure central processing unit
EP2923279B1 (en) 2012-11-21 2016-11-02 Coherent Logix Incorporated Processing system with interspersed processors; dma-fifo
US20150278512A1 (en) * 2014-03-28 2015-10-01 Intel Corporation Virtualization based intra-block workload isolation
JP2017187963A (ja) * 2016-04-07 2017-10-12 ルネサスエレクトロニクス株式会社 電子機器およびシステム
US10317888B2 (en) 2017-03-01 2019-06-11 PLETHORA IloT, S.L. Device and system including multiple devices for supervision and control of machines in industrial installation
JP6912421B2 (ja) * 2018-06-01 2021-08-04 ファナック株式会社 制御装置
DE102021108151A1 (de) 2021-03-31 2022-10-06 Bayerische Motoren Werke Aktiengesellschaft System mit einem isolierten kommunikationskanal zum ausführen eines programmcodes
CN115905099A (zh) * 2022-11-25 2023-04-04 上海兆芯集成电路有限公司 同构双计算系统的处理器和同构双计算系统的操作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837682A (en) * 1987-04-07 1989-06-06 Glen Culler & Associates Bus arbitration system and method
JP2002287978A (ja) * 2000-11-22 2002-10-04 Microsoft Corp コンピュータにおいてコードを安全に初期化するための方法およびシステム
JP2002351850A (ja) * 2001-03-22 2002-12-06 Sony Computer Entertainment Inc プロセッサでのデータ処理方法及びデータ処理システム
WO2004099981A1 (ja) * 2003-05-09 2004-11-18 Fujitsu Limited プログラムのロード方法、ロードプログラムおよびマルチプロセッサ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051366B1 (en) * 2000-06-21 2006-05-23 Microsoft Corporation Evidence-based security policy manager
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US7475257B2 (en) * 2003-09-25 2009-01-06 International Business Machines Corporation System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data
GB2414573B (en) * 2004-05-26 2007-08-08 Advanced Risc Mach Ltd Control of access to a shared resource in a data processing apparatus
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837682A (en) * 1987-04-07 1989-06-06 Glen Culler & Associates Bus arbitration system and method
JP2002287978A (ja) * 2000-11-22 2002-10-04 Microsoft Corp コンピュータにおいてコードを安全に初期化するための方法およびシステム
JP2002351850A (ja) * 2001-03-22 2002-12-06 Sony Computer Entertainment Inc プロセッサでのデータ処理方法及びデータ処理システム
WO2004099981A1 (ja) * 2003-05-09 2004-11-18 Fujitsu Limited プログラムのロード方法、ロードプログラムおよびマルチプロセッサ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102694A (ja) * 2008-10-22 2010-05-06 Internatl Business Mach Corp <Ibm> 高スレッド化ネットワーク・オン・ア・チップ・プロセッサにおけるスループットをユーザが損なうのを防止するためのセキュリティ方法
JP2017519281A (ja) * 2014-06-25 2017-07-13 インテル・コーポレーション ハードウェア構成レポーティング用の装置、ハードウェア構成アービトレーションの方法、プログラム、機械可読記録媒体、及び、ハードウェア構成アービトレーション用の装置
KR20180027332A (ko) * 2016-09-06 2018-03-14 애플 인크. 디바이스의 독립적인 프로세서들을 통한 데이터 검증
KR102039219B1 (ko) 2016-09-06 2019-10-31 애플 인크. 디바이스의 독립적인 프로세서들을 통한 데이터 검증
US11025644B2 (en) 2016-09-06 2021-06-01 Apple Inc. Data verification via independent processors of a device

Also Published As

Publication number Publication date
US20060179487A1 (en) 2006-08-10
JP4601557B2 (ja) 2010-12-22
US8145902B2 (en) 2012-03-27
WO2006082990A1 (en) 2006-08-10

Similar Documents

Publication Publication Date Title
JP4601557B2 (ja) マルチプロセッサシステムにおいてプロセッサのセキュアな連携を行う方法および装置
JP4606339B2 (ja) セキュアなプロセッサの処理の移行を実施する方法および装置
JP4489030B2 (ja) プロセッサ内にセキュアな起動シーケンスを提供する方法および装置
JP4522372B2 (ja) プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
KR100924043B1 (ko) 보안 데이터 프로세싱 및 전송을 위한 방법들 및 장치들
US8873747B2 (en) Key management using security enclave processor
US9047471B2 (en) Security enclave processor boot control
EP1768033A1 (en) Operating a cell processor over a network
US20140089617A1 (en) Trust Zone Support in System on a Chip Having Security Enclave Processor
US20140089682A1 (en) Security Enclave Processor for a System on a Chip
JP2010503909A (ja) メモリ・アクセス安全性管理
JPS63124151A (ja) 論理的に安全なプロセツサ・システム
JP2006221629A (ja) プロセッサのリソース管理によるコンテンツ制御方法および装置
US20150205732A1 (en) Seamlessly encrypting memory regions to protect against hardware-based attacks
US20240394359A1 (en) Method and Apparatus for Providing A Secure GPU Execution Environment via A Process of Static Validation
JP4471937B2 (ja) プロセッサのリソース管理によるコンテンツ制御方法および装置
JP2004272816A (ja) マルチタスク実行システム及びマルチタスク実行方法
JP4972692B2 (ja) Dma制御装置およびデータ転送方法
JP2007109053A (ja) バスアクセス制御装置
CN114003869A (zh) 提高保护多内容处理效率的系统及方法
US7770046B2 (en) Management of time information within a plurality of execution spaces
Shimizu et al. Cell Broadband Engine™ processor security architecture and digital content protection
JP2009175774A (ja) Dma制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090914

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100819

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100908

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

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

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4601557

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

LAPS Cancellation because of no payment of annual fees