JP4606339B2 - セキュアなプロセッサの処理の移行を実施する方法および装置 - Google Patents

セキュアなプロセッサの処理の移行を実施する方法および装置 Download PDF

Info

Publication number
JP4606339B2
JP4606339B2 JP2006024773A JP2006024773A JP4606339B2 JP 4606339 B2 JP4606339 B2 JP 4606339B2 JP 2006024773 A JP2006024773 A JP 2006024773A JP 2006024773 A JP2006024773 A JP 2006024773A JP 4606339 B2 JP4606339 B2 JP 4606339B2
Authority
JP
Japan
Prior art keywords
processor
content
local memory
main memory
program
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.)
Expired - Fee Related
Application number
JP2006024773A
Other languages
English (en)
Other versions
JP2006221634A (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.)
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 JP2006221634A publication Critical patent/JP2006221634A/ja
Application granted granted Critical
Publication of JP4606339B2 publication Critical patent/JP4606339B2/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • 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
    • 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • 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/2105Dual mode as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

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

Description

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

Claims (16)

  1. 自身に関連付けられたローカルメモリを有するプロセッサ複数個と、メインメモリと、記憶媒体とを含むマルチプロセッサシステム内の処理方法であって、各前記プロセッサは、前記ローカルメモリ内での使用を目的として前記メインメモリからデータを読み出すことができるよう、前記メインメモリに動作可能に接続されうるものであり、
    当該方法は、複数個のプロセッサのうちの一つのプロセッサが、
    前記一つのプロセッサ以外の他のプロセッサから開始されたところの前記一つのプロセッサに関連づけられた前記ローカルメモリ内に保存されたデータの読み出しまたは書き込みの要求は受け付けないが、前記一つのプロセッサから開始したところの前記メインメモリから前記一つのプロセッサに関連づけられた前記ローカルメモリへのデータの転送、および前記一つのプロセッサに関連づけられた前記ローカルメモリから前記メインメモリへのデータ転送は受け付けるセキュアな動作モードに入るステップと、
    前記記憶媒体から復号化プログラムを読み出し、前記一つのプロセッサのローカルメモリ内に保存するステップと、
    前記メインメモリから暗号化された認証プログラムを読み出し、前記一つのプロセッサのローカルメモリ内に保存するステップと、
    前記復号化プログラムを用いて、前記暗号化された認証プログラムを復号化するステップと、
    前記複数個のプロセッサのうちの他のプロセッサに前記認証プログラムを転送するステップと、
    を含むことを特徴とする処理方法。
  2. 前記他のプロセッサが、
    秘密鍵と公開鍵のペアのうちの秘密鍵を用いて暗号化されたコンテンツを前記メインメモリから読み出し、前記他のプロセッサのローカルメモリ内に取り込むステップと、
    前記認証プログラムを用いて前記コンテンツを認証するステップと、
    をさらに含むことを特徴とする請求項に記載の処理方法。
  3. 前記他のプロセッサが、前記認証プログラムと、前記秘密鍵と公開鍵のペアのうちの公開鍵とを用いて、前記暗号化されたコンテンツを復号化するステップをさらに含むことを特徴とする請求項に記載の処理方法。
  4. 前記他のプロセッサが、復号化した前記コンテンツに対してハッシュ関数を実行することでハッシュ結果を生成し、さらにそのハッシュ結果と予め定められたハッシュ値とを比較することによって、前記コンテンツが真正であることを確認するステップをさらに含むことを特徴とする請求項に記載の処理方法。
  5. 前記他のプロセッサが、前記コンテンツが真正である場合、前記コンテンツを実行するステップをさらに含むことを特徴とする請求項に記載の処理方法。
  6. 複数のプロセッサと、メインメモリと、復号化プログラムを有する記憶媒体とを含む装置であって、前記複数のプロセッサのうちの一つのプロセッサは、自身に関連付けられたローカルメモリを有し、さらに、前記メインメモリに動作可能に接続されるとともに、前記ローカルメモリ内での使用を目的として前記メインメモリから少なくともあるデータを読み出すことを要求可能であり、
    前記一つのプロセッサは、
    前記一つのプロセッサ以外の他のプロセッサから開始されたところの、前記一つのプロセッサに関連づけられた前記ローカルメモリ内に保存されたデータの読み出しまたは書き込みの要求は受け付けないが、前記一つのプロセッサから開始したところの前記メインメモリから前記一つのプロセッサに関連づけられた前記ローカルメモリへのデータの転送、および前記一つのプロセッサに関連づけられた前記ローカルメモリから前記メインメモリへのデータ転送は受け付けるセキュアな動作モードに入る機能と、
    前記記憶媒体から復号化プログラムを読み出し、前記一つのプロセッサのローカルメモリ内に保存する機能と、
    前記メインメモリから暗号化された認証プログラムを読み出し、前記一つのプロセッサのローカルメモリ内に保存する機能と、
    前記復号化プログラムを用いて、前記暗号化された認証プログラムを復号化する機能と、
    前記複数のプロセッサのうちの他のプロセッサに前記認証プログラムを転送する機能と、
    を有することを特徴とする装置。
  7. 前記他のプロセッサは、
    秘密鍵と公開鍵のペアのうちの秘密鍵を用いて暗号化されたコンテンツを前記メインメモリから読み出し、前記他のプロセッサのローカルメモリ内に取り込む機能と、
    前記認証プログラムを用いて前記コンテンツを認証する機能と、
    を有することを特徴とする請求項に記載の装置。
  8. 前記他のプロセッサは、前記認証プログラムと、前記秘密鍵と公開鍵のペアのうちの公開鍵とを用いて、前記暗号化されたコンテンツを復号化する機能をさらに有することを特徴とする請求項に記載の装置。
  9. 前記他のプロセッサは、復号化した前記コンテンツに対してハッシュ関数を実行することでハッシュ結果を生成し、さらにそのハッシュ結果と予め定められたハッシュ値とを比較することによって、前記コンテンツが真正であることを確認する機能をさらに有することを特徴とする請求項に記載の装置。
  10. 前記他のプロセッサは、前記コンテンツが真正である場合、前記コンテンツを実行する機能をさらに有することを特徴とする請求項に記載の装置。
  11. 複数のプロセッサとメインメモリと、記憶媒体とを含む処理システムであって各前記プロセッサは、自身に関連付けられたローカルメモリを有するとともに、前記ローカルメモリ内での使用を目的として前記メインメモリからデータを読み出すことができるよう、前記メインメモリに動作可能に接続されうるものであるマルチプロセッサシステムによる動作の実行を可能にする少なくとも一つのソフトウエアプログラムであって、前記プロセッサは、前記ローカルメモリ内での使用を目的として前記メインメモリからデータを読み出すことができるよう、前記メインメモリに動作可能に接続されうるものであり、
    前記動作は、前記プロセッサが、
    前記複数のプロセッサのうちの一つのプロセッサから開始したところの前記メインメモリから前記一つのプロセッサに関連づけられた前記ローカルメモリへのデータの転送、および前記一つのプロセッサに関連づけられた前記ローカルメモリから前記メインメモリへのデータ転送は受け付けるが、前記複数のプロセッサのうちの一つのプロセッサ以外の他のプロセッサから開始されたところの、前記一つのプロセッサに関連づけられた前記ローカルメモリ内に保存されたデータの読み出しまたは書き込みの要求は受け付けないセキュアな動作モードに入るステップと、
    前記記憶媒体から復号化プログラムを読み出し、前記プロセッサのローカルメモリ内に保存するステップと、
    前記メインメモリから暗号化された認証プログラムを読み出し、前記プロセッサのローカルメモリ内に保存するステップと、
    前記復号化プログラムを用いて、前記暗号化された認証プログラムを復号化するステップと、
    復号化した前記認証プログラムを実行するステップと、
    複数のプロセッサのうちの一つのプロセッサが、前記認証プログラムを複数のプロセッサのうちの他のプロセッサに転送するステップを含むことを特徴とするソフトウエアプログラム。
  12. 前記他のプロセッサが、
    秘密鍵と公開鍵のペアのうちの秘密鍵を用いて暗号化されたコンテンツを前記メインメモリから読み出し、前記他のプロセッサのローカルメモリ内に取り込むステップと、
    前記認証プログラムを用いて前記コンテンツを認証するステップと、
    をさらに含むことを特徴とする請求項11に記載のソフトウエアプログラム。
  13. 前記他のプロセッサが、前記認証プログラムと、前記秘密鍵と公開鍵のペアのうちの公開鍵とを用いて、前記暗号化されたコンテンツを復号化するステップをさらに含むことを特徴とする請求項12に記載のソフトウエアプログラム。
  14. 前記他のプロセッサが、復号化した前記コンテンツに対してハッシュ関数を実行することでハッシュ結果を生成し、さらにそのハッシュ結果と予め定められたハッシュ値とを比較することによって、前記コンテンツが真正であることを確認するステップをさらに含むことを特徴とする請求項13に記載のソフトウエアプログラム。
  15. 前記他のプロセッサが、前記コンテンツが真正である場合、前記コンテンツを実行するステップをさらに含むことを特徴とする請求項14に記載のソフトウエアプログラム。
  16. 請求項11から請求項15のいずれかのソフトウエアプログラムを格納する記録媒体。
JP2006024773A 2005-02-07 2006-02-01 セキュアなプロセッサの処理の移行を実施する方法および装置 Expired - Fee Related JP4606339B2 (ja)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2006221634A JP2006221634A (ja) 2006-08-24
JP4606339B2 true JP4606339B2 (ja) 2011-01-05

Family

ID=36603712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006024773A Expired - Fee Related JP4606339B2 (ja) 2005-02-07 2006-02-01 セキュアなプロセッサの処理の移行を実施する方法および装置

Country Status (3)

Country Link
US (1) US8185748B2 (ja)
JP (1) JP4606339B2 (ja)
WO (1) WO2006082988A2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457960B2 (en) * 2004-11-30 2008-11-25 Analog Devices, Inc. Programmable processor supporting secure mode
JP4885473B2 (ja) * 2005-04-19 2012-02-29 株式会社ユニバーサルエンターテインメント 遊技機および遊技用情報の認証取込装置並びに遊技用情報の取込装置
JP2006296671A (ja) * 2005-04-19 2006-11-02 Aruze Corp 遊技機および遊技用情報の認証取込装置並びに遊技用情報の取込装置
JP4943665B2 (ja) * 2005-04-25 2012-05-30 株式会社ユニバーサルエンターテインメント 遊技機および遊技用情報の認証取込装置並びに遊技用情報の取込装置
JP4937525B2 (ja) * 2005-04-25 2012-05-23 株式会社ユニバーサルエンターテインメント 遊技機および遊技用情報の認証取込装置並びに遊技用情報の取込装置
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US20080141042A1 (en) * 2006-12-11 2008-06-12 Phison Electronics Corp. Memory card and security method therefor
US8181038B2 (en) * 2007-04-11 2012-05-15 Cyberlink Corp. Systems and methods for executing encrypted programs
US7827326B2 (en) * 2007-11-26 2010-11-02 Alcatel-Lucent Usa Inc. Method and apparatus for delegation of secure operating mode access privilege from processor to peripheral
WO2009111405A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on a trusted cache
KR101239012B1 (ko) * 2008-03-04 2013-03-11 애플 인크. 적어도 하나의 설치된 프로파일에 기초하여 소프트웨어 코드의 실행을 인가하는 시스템 및 방법
US20090247124A1 (en) * 2008-03-04 2009-10-01 Apple Inc. Provisioning mobile devices based on a carrier profile
US20090228868A1 (en) * 2008-03-04 2009-09-10 Max Drukman Batch configuration of multiple target devices
CN102016864A (zh) * 2008-03-04 2011-04-13 苹果公司 在安全操作环境中为软件开发者管理代码权利
AU2009222009B2 (en) * 2008-03-04 2013-02-07 Apple Inc. System and method of authorizing execution of software code in a device based on entitlements granted to a carrier
CN102016865A (zh) * 2008-03-04 2011-04-13 苹果公司 基于可用权利来授权执行软件代码的系统和方法
US20090228704A1 (en) * 2008-03-04 2009-09-10 Apple Inc. Providing developer access in secure operating environments
JP5183517B2 (ja) * 2009-02-05 2013-04-17 三菱電機株式会社 情報処理装置及びプログラム
US8356184B1 (en) 2009-06-25 2013-01-15 Western Digital Technologies, Inc. Data storage device comprising a secure processor for maintaining plaintext access to an LBA table
US8904189B1 (en) 2010-07-15 2014-12-02 The Research Foundation For The State University Of New York System and method for validating program execution at run-time using control flow signatures
US8904190B2 (en) * 2010-10-20 2014-12-02 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting sensitive code and data
US8914876B2 (en) 2011-05-05 2014-12-16 Ebay Inc. System and method for transaction security enhancement
US9305142B1 (en) 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
US9170957B2 (en) 2013-08-29 2015-10-27 Qualcomm Incorporated Distributed dynamic memory management unit (MMU)-based secure inter-processor communication
JP6129702B2 (ja) * 2013-09-24 2017-05-17 株式会社東芝 情報処理装置、情報処理システム、プログラム
US11269986B2 (en) 2018-10-26 2022-03-08 STMicroelectronics (Grand Ouest) SAS Method for authenticating a program and corresponding integrated circuit
EP3822836A1 (en) * 2019-11-12 2021-05-19 Koninklijke Philips N.V. Device and method for secure communication

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282155A (ja) * 1996-04-10 1997-10-31 Nippon Telegr & Teleph Corp <Ntt> 暗号認証機能の装備方法
JP2002169787A (ja) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd 複数のプロセッサ部を含む半導体装置
JP2002287978A (ja) * 2000-11-22 2002-10-04 Microsoft Corp コンピュータにおいてコードを安全に初期化するための方法およびシステム
JP2002351850A (ja) * 2001-03-22 2002-12-06 Sony Computer Entertainment Inc プロセッサでのデータ処理方法及びデータ処理システム
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
WO2004099981A1 (ja) * 2003-05-09 2004-11-18 Fujitsu Limited プログラムのロード方法、ロードプログラムおよびマルチプロセッサ

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379342A (en) 1993-01-07 1995-01-03 International Business Machines Corp. Method and apparatus for providing enhanced data verification in a computer system
US5491788A (en) 1993-09-10 1996-02-13 Compaq Computer Corp. Method of booting a multiprocessor computer where execution is transferring from a first processor to a second processor based on the first processor having had a critical error
US5615263A (en) * 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US6052780A (en) * 1996-09-12 2000-04-18 Open Security Solutions, Llc Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US6185678B1 (en) * 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6378072B1 (en) 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6526491B2 (en) 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
DE10131575A1 (de) 2001-07-02 2003-01-16 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
EP1276033B1 (de) 2001-07-10 2012-03-14 Trident Microsystems (Far East) Ltd. Speichereinrichtung mit Datenschutz in einem Prozessor
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
JP3866597B2 (ja) 2002-03-20 2007-01-10 株式会社東芝 内部メモリ型耐タンパプロセッサおよび秘密保護方法
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US6715085B2 (en) 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP4234380B2 (ja) 2002-09-10 2009-03-04 日鉱金属株式会社 粉末冶金用金属粉末及び鉄系焼結体
US20040064457A1 (en) * 2002-09-27 2004-04-01 Zimmer Vincent J. Mechanism for providing both a secure and attested boot
JP2004227143A (ja) 2003-01-21 2004-08-12 Pioneer Electronic Corp 情報処理装置および情報処理方法
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
JP2004334789A (ja) 2003-05-12 2004-11-25 Canon Inc 情報処理装置及び情報処理方法
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282155A (ja) * 1996-04-10 1997-10-31 Nippon Telegr & Teleph Corp <Ntt> 暗号認証機能の装備方法
JP2002287978A (ja) * 2000-11-22 2002-10-04 Microsoft Corp コンピュータにおいてコードを安全に初期化するための方法およびシステム
JP2002169787A (ja) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd 複数のプロセッサ部を含む半導体装置
JP2002351850A (ja) * 2001-03-22 2002-12-06 Sony Computer Entertainment Inc プロセッサでのデータ処理方法及びデータ処理システム
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
WO2004099981A1 (ja) * 2003-05-09 2004-11-18 Fujitsu Limited プログラムのロード方法、ロードプログラムおよびマルチプロセッサ

Also Published As

Publication number Publication date
JP2006221634A (ja) 2006-08-24
US20060177068A1 (en) 2006-08-10
US8185748B2 (en) 2012-05-22
WO2006082988A3 (en) 2007-02-01
WO2006082988A2 (en) 2006-08-10

Similar Documents

Publication Publication Date Title
JP4606339B2 (ja) セキュアなプロセッサの処理の移行を実施する方法および装置
JP4522372B2 (ja) プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
JP4489030B2 (ja) プロセッサ内にセキュアな起動シーケンスを提供する方法および装置
JP4601557B2 (ja) マルチプロセッサシステムにおいてプロセッサのセキュアな連携を行う方法および装置
KR100924043B1 (ko) 보안 데이터 프로세싱 및 전송을 위한 방법들 및 장치들
JP5532291B2 (ja) プロセッサのバーチャルマシン内で機密コンテンツをセキュアに処理するための方法及び装置
US8001390B2 (en) Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode
US8060716B2 (en) Information processing device for securely processing data that needs to be protected using a secure memory
US20140115343A1 (en) Information processor, method for verifying authenticity of computer program, and computer program product
US20070180271A1 (en) Apparatus and method for providing key security in a secure processor
US9208292B2 (en) Entering a secured computing environment using multiple authenticated code modules
US20060190733A1 (en) Methods and apparatus for resource management in a processor
US20150205732A1 (en) Seamlessly encrypting memory regions to protect against hardware-based attacks
US8245307B1 (en) Providing secure access to a secret
US7636441B2 (en) Method for secure key exchange
US11722467B2 (en) Secured communication from within non-volatile memory device
US8065526B2 (en) Methods and apparatus for content control using processor resource management
US11824977B2 (en) Data processing system and method
Shimizu et al. Cell Broadband Engine™ processor security architecture and digital content protection
WO2021044578A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2001325101A (ja) 情報処理装置、及びコントロールモジュール

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

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

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4606339

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

Year of fee payment: 3

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101124

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20110412

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