JP4544739B2 - 不正な侵入を防ぐ方法および装置 - Google Patents
不正な侵入を防ぐ方法および装置 Download PDFInfo
- Publication number
- JP4544739B2 JP4544739B2 JP2000511282A JP2000511282A JP4544739B2 JP 4544739 B2 JP4544739 B2 JP 4544739B2 JP 2000511282 A JP2000511282 A JP 2000511282A JP 2000511282 A JP2000511282 A JP 2000511282A JP 4544739 B2 JP4544739 B2 JP 4544739B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- cells
- module
- artifact
- violation
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 31
- 244000144985 peep Species 0.000 claims description 29
- 230000002265 prevention Effects 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 13
- 208000008918 voyeurism Diseases 0.000 claims description 5
- 230000003628 erosive effect Effects 0.000 claims 3
- 230000008569 process Effects 0.000 description 15
- 238000001514 detection method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000035945 sensitivity Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/79—Protecting 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2135—Metering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2151—Time stamp
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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Description
(関連出願)
本願は、1996年6月13日に出願されたTamper Resistant Methods and Apparatusと題する米国特許出願第08/662679号、および1997年8月6日に出願されたCell Array Providing Non−Presistent Secret Storage Through A Mutation Cycleと題する米国特許出願(番号未指定)(Express Mail EM531554811US)の一部継続出願である。
【0002】
(発明の背景)
1.発明の分野
本発明は、システム・セキュリティの分野に関する。さらに詳細には、本発明は、耐侵犯性の(tamper resistant:不正なアクセスを防止する)方法および装置に関する。
【0003】
2.背景情報
多くのアプリケーション、例えば金融取引や無人認可、コンテンツ管理では、それらの動作の基本的な整合性を仮定する、または少なくとも検証する必要がある。暗号化および解読の技術など、いくつかのセキュリティ手法が当技術分野で既知であるが、残念ながら、これらのアプリケーションおよびセキュリティ手法はオープンかつアクセス可能なアーキテクチャを有するシステムに実装され、そのアーキテクチャは、セキュリティ手法を含むハードウェアおよびソフトウェアが両方とも敵意のあるユーザまたは悪意のあるプログラムによって覗かれ、かつ改竄されるので、これらのセキュリティ手法が容易に損なわれる可能性がある。
【0004】
このように、オープンかつアクセス可能なアーキテクチャに基づくシステムは、セキュリティ措置を利用しても、基本的には安全でないプラットフォームである。しかし、オープンであることおよびアクセス可能であることは、これらのシステムが成功する一因となるいくつかの利点をもたらす。したがって、根本的に安全でないこれらのプラットフォームで、それらがオープンでありアクセス可能であってもなおソフトウェアの実行を実質的に覗き不可能または改竄不可能にする技術が必要とされている。
【0005】
(発明の概要)
1つの装置では、オブファスケイト(obfuscated:分かりにくくさせた)なプログラミング命令の実行が覗かれているかどうかを自己検証するために、いくつかのオブファスケイトなプログラミング命令を備える。
【0006】
別の装置では、この装置がオブファスケイトなプログラミング命令のシングル・ステップ実行をサポートするモードで動作しているかどうかを判定するために、いくつかのオブファスケイトなプログラミング命令を備える。
【0007】
さらに別の装置では、経過した実行時間の長さがしきい値を超えたかどうかを検証するために、いくつかのオブファスケイトなプログラミング命令を備える。
【0008】
さらに別の装置では、第1と第2のグループのオブファスケイトなプログラミング命令が第1と第2の耐侵入技術をそれぞれ実装し、第1と第2のグループのプログラミング命令は、第1と第2の耐侵入技術に対応する第1と第2のキー値のために記憶位置を共有する。
【0009】
添付の図面に示す実施形態によって本発明について述べるが、これに限定されないものとする。同じ参照符は同じエレメントを指すものとする。
【0010】
(発明の詳細な説明)
以下の記述では、本発明の様々な態様について述べる。ただし、本発明は、本発明の態様の一部だけで実施することも、全ての態様で実施することもできることは、当業者には明らかであろう。説明のために、特定の数、材料、および構成を記載して、本発明が完全に理解されるようにする。ただし、こうした特定の詳細を用いずに本発明を実施することができることも当業者には明らかであろう。その他、本発明を分かりにくくしないように、周知の機構は省略または簡略化してある。
【0011】
記述の一部は、当業者がその他の当業者に自分の仕事の中身を伝達するために一般に利用する方法と矛盾しないデータ、フラグ、ビット、値、文字、ストリング、数などの用語を使用して、コンピュータ・システムが実行する動作の用語で表される。これらの量が、コンピュータ・システムの機械的構成要素および電気的構成要素を介して記憶し、転送し、結合し、またその他の方法で操作される電気信号、磁気信号、または光信号の形態となることは、当業者なら理解するであろう。ここで、コンピュータ・システムという用語は、独立型、付属型、または組み込まれた汎用および専用のデータ処理用の機械やシステムなどを含む。
【0012】
本発明を理解するのに最も有用なかたちで、複数の別個のステップとして様々な動作について順に述べるが、説明の順序は、これらの動作が必ず順序、特に提示の順序に従うことを意味するものではないと解釈されたい。
【0013】
次に図1を参照すると、本発明の様々な教示を組み込んだ例示的な耐侵犯モジュールの一実施形態を図示するブロック図が示してある。図示のように、例示的な耐侵犯モジュール100は、非耐侵犯部分102、および耐侵犯部分104を含む。図示の実施形態では、2つの部分は互いにリンクされ、単一の実行可能なモジュールを形成する。本願では、モジュールという用語は、各部分間の排他的通信を容易にする、様々な部分の間の構造的関係を意味する一般的な意味で使用する。
【0014】
特許出願第08/662679号に記載されているように、非耐侵犯部分102は、例示的な耐侵犯モジュール100の様々な感知不能サービスを実施する、いくつかの平文のプログラミング命令を含み、耐侵犯部分104は、例示的な耐侵犯モジュール100の様々な感知可能サービスを実施するプログラミング命令の平文セルおよびオブファスケイト・セル106の様々なグループを含む。感知可能サービスまたは多数の感知可能サービスを実施するセルのグループはそれぞれ、少なくとも1つの平文セル106を含む。簡単に言うと、サービスに関連したシークレットは時間的かつ空間的に分散され、オブファスケイトになる。サービスをオブファスケイトにするために利用されるオブファスケイト・セルの数は、サービスまたは感度によって決まる。一般に、利用されるオブファスケイト・セルの数が多くなるほど、このオブファスケイトさを「解読」することはより困難になる。より詳細な説明については、特許出願第08/662679号を参照されたい。
【0015】
さらに、本発明によれば、平文セルおよびオブファスケイト・セル106の選択されたグループは、例示的な耐侵犯モジュール100が侵入も、覗かれもされていないことを動作中に検証するために、いくつかの耐侵犯手段を組み込んでいる。こうした耐侵犯手段を利用するグループの数、ならびに利用される耐侵犯手段の頻度および数も、サービスまたは感度によって決まる。以下でより詳細に述べるように、これらの耐侵犯手段は、いくつかの整合性手段、およびいくつかの覗き防止手段を含む。整合性手段は、実行時および始動時の間に非耐侵犯部分102の整合性を検証する第1の整合性手段と、あるグループの平文セルおよびオブファスケイト・セルの呼出しが侵入者から生じていないことを検証する第2の整合性手段とを含む。覗き防止手段は、プロセッサが実行するモジュール100が、シングル・ステップ実行をサポートするモードで動作していないことを検証する第1の覗き防止手段と、経過した実行時間が正常な、覗かれていない実行と矛盾しないことを検証する第2の覗き防止手段とを含む。
【0016】
図2〜3は、第1の整合性手段の動作の流れの一実施形態を示している。図2は始動時の動作の流れを示し、図3は実行時中の動作の流れを示す。図2に示すように、図示の実施形態では、始動時に、この第1の整合性手段を組み込んだセルのグループ(GOC)は、ブロック108で、非耐侵犯部分102を走査し、非耐侵犯部分102についての署名を計算する。図示の実施形態では、次にブロック110で、GOCは、非耐侵犯部分102についての事前に記憶しておいた署名を取り出す。次いで、ブロック112〜114で、GOCは2つの署名を比較して、生成された署名を検証する。生成された署名がうまく検証された場合、すなわち非耐侵犯部分102が修正されていない場合には、ブロック116で、GOCは、検証依存動作をスキップせずに始動プロセスを継続させ、そうでない場合には、ブロック118でGOCは検証依存動作をスキップして始動プロセスを継続させる。検証依存動作の一例は、いくつかの感知可能サービスを伝達するのに必要なシークレットを準備することに関連した動作である。
【0017】
図3に示すように、図示の実施形態では、実行時中の検証チェック時に、この第1の整合性手段を組み込んだGOCは、ブロック120で、非耐侵犯部分102の次の部分を走査し、非耐侵犯部分102についての署名を増分的に計算する。次いでブロック122で、GOCはこの増分的に計算している署名を更新する。次にブロック124で、GOCは、非耐侵犯部分102の末端に達したかどうかを検査する。末端に達している場合にはプロセスは終了し、そうでない場合には、プロセスはブロック126に続く。
【0018】
ブロック126で、GOCは、非耐侵犯部分102についての事前に記憶しておいた署名を取り出す。次いでブロック128〜130で、GOCは2つの署名を比較して、生成された署名を検証する。生成された署名がうまく検証された場合、すなわち非耐侵犯部分102が修正されていない場合には、GOCは、モジュール100の実行を継続させ、そうでない場合には、ブロック132で、GOCはモジュール100の実行を終了させる。モジュールの終了は、当技術分野で既知の任意数の方法で行うことができる。アプリケーションによっては、非耐侵犯部分の整合性が検証で不合格になった点からさらに下流側で、モジュールを停止させることが好ましいこともある。
【0019】
換言すれば、実行時の整合性検査は、実行ラン中のいくつかの検証チェック期間にわたって増分的に実施される。増分的にな手法は、性能に鋭敏なサービスに特に有用であることを当業者なら理解するであろう。実行ランで利用される検証チェック期間の数は、サービスまたは感度によって決まる。
【0020】
図4は、第2の整合性手段の動作の流れの一実施形態を示している。呼出し時に、図示の実施形態では、この第2の整合性手段を組み込んだGOCは、ブロック134で、その呼出しについての復帰アドレスを取り出す。図示の実施形態では、ブロック136で、GOCは、その復帰アドレスがモジュール100のアドレス空間内にあるかどうかを判定する。その復帰アドレスがモジュール100のアドレス空間内にある場合、すなわちその呼出しが侵入者から生じたものでない場合には、ブロック138でGOCはモジュール100の実行を継続させ、そうでない場合には、ブロック140でGOCはモジュール100の実行を終了させる。同様に、モジュールの終了は、当技術分野で既知の任意数の方法で行うことができる。アプリケーションによっては、侵入が検出された点からさらに下流側で、モジュールを停止させることが好ましいこともある。
【0021】
図5は、第1の覗き防止手段の動作の流れの一実施形態を示している。実行ラン中の事前に選択した時点で、図示の実施形態では、ブロック142で、この第1の覗き防止手段を組み込んだGOCは、プロセッサ実行モードの状態変数を取り出す。図示の実施形態では、ブロック144で、GOCは、この状態変数が、シングル・ステップ実行をサポートする実行モード、例えばデバッグ・モードを示すかどうかを判定する。状態変数がシングル・ステップ実行をサポートしない実行モードを示す場合、すなわちモジュール100の実行が覗かれていない場合には、ブロック146で、GOCはモジュール100の実行を継続させ、そうでない場合には、GOCは、ブロック148で、モジュール100の実行を終了させる。同様に、モジュールの終了は、当技術分野で既知の任意数の方法で行うことができる。アプリケーションによっては、覗きが検出された点からさらに下流側で、モジュールを停止させることが好ましいこともある。プロセッサの実行モードを検査する回数およびその実行ラン中の正確な時点は、サービスまたは感度によって決まる。
【0022】
図6は、第2の覗き防止手段の動作の流れの一実施形態を示している。実行ラン中の事前に選択した時点で、図示の実施形態では、ブロック150で、この第2の覗き防止手段を組み込んだGOCは、プロセッサが実行するモジュール100からタイマの値を取り出し、取り出したタイマの値(タイムスタンプ)を記録する。次いで、ブロック152で、GOCは、それが提供するように設計された通常サービスを引き続き実行する。事前に選択した後の時点で、GOCは、ブロック154〜156で、最後のタイムスタンプからの経過した実行時間の長さを検査し、経過した実行時間の長さが所定しきい値を超えているかどうかを判定する。経過した実行時間が所定しきい値を超えない場合、すなわちモジュール100の実行が(例えば中断点を設定することによって)覗かれていない場合には、ブロック158で、GOCはモジュール100の実行を継続させ、そうでない場合には、ブロック160で、GOCはモジュール100の実行を終了させる。同様に、モジュールの終了は、当技術分野で既知の任意数の方法で行うことができる。アプリケーションによっては、覗きが検出された点からさらに下流側で、モジュールを停止させることが好ましいこともある。最後のタイムスタンプからの経過した実行時間の長さを検査する回数およびその実行ラン中の正確な時点は、サービスまたは感度によって決まる。
【0023】
図7は、耐侵犯手段を相互に結合するための結合技術の一実施形態を示している。図示のように、様々な耐侵犯手段に、例えばメモリ中でそれらに関連するキー値について共通の記憶位置を共有させることによって、様々な耐侵犯手段を相互結合する。図示の実施形態では、GOCは、シークレットを取り出すためのキーを記憶位置168の一部分162に記憶し、モジュール100の実行が覗かれているかどうかを判定するためのタイムスタンプを、部分162を除く記憶位置168に記憶する。経過した実行時間を決定する際には、GOCは、部分162より上位のビットのみを利用する。さらに、GOCは、低位のビット164をシード(seed)として使用して、認証プロセスで利用される疑似乱数を生成する。したがって、侵入者がこの経過実行時間の検査手段を無効にする(defeat)ためにタイムスタンプを修正しようと試みた場合には、それにより、認証プロセスならびにシークレットを取り出そうとする任意の試みが失敗することになる。同様に、侵入者が認証プロセスを無効にするために、疑似乱数を生成するシードを修正しようと試みた場合には、それにより、経過実行時間の検査ならびにシークレットを取り出そうとする任意の試みが失敗することになる。
【0024】
図8は、スクランブルされたコンテンツに本発明の耐侵犯性の教示を適用する耐侵犯プレーヤの一実施形態を示している。図示のように、図示の実施形態では、耐侵犯プレーヤ170は、非耐侵犯性の構成要素171および耐侵犯デコーダ172を含む。非耐侵犯性の構成要素171は、エンド・ユーザ・インタフェースなどの広範な汎用サービス構成要素を表すものとする。これらの汎用サービス構成要素は、当技術分野で既知のいくつかの様々な技術のいずれか1つを使用して実施される、いくつかの様々なサービスのいずれか1つを用意することができる。耐侵犯デコーダ172は、スクランブルされた圧縮コンテンツを受信し、それに応答してこのコンテンツをスクランブル解除および圧縮解除し、例えばYUVビデオやAC3音声などのコンテンツを提供するのに適した信号を出力する。
【0025】
耐侵犯デコーダ172は、非耐侵犯部分175と、耐侵犯部分174、176、178、および180と、非耐侵犯部分175に対する署名173とを含む。非耐侵犯部分175は平文のプログラミング命令で構成され、耐侵犯部分174、176、178、および180は、プログラミング命令の平文セルおよびオブファスケイト・セルの複数のグループで構成される。非耐侵犯部分175、ならびに署名173も含めた耐侵犯部分174、176、178、および180は、それらの部分の間の排他的通信を容易にする構造的関係になっている。図示の実施形態では、この2つの部分は、単一の実行可能なモジュールとして互いにリンクされている。
【0026】
非耐侵犯部分175は、統合された耐侵犯部分174、176、178、および180のサービスを選択的に呼び出し、プレーヤ170およびスクランブルされたコンテンツの提供側デバイスに相互に認証させることも含めて、スクランブルされたコンテンツのスクランブル解除を実施する。非耐侵犯部分175は、スクランブル解除済みの圧縮コンテンツを圧縮解除して、上述の出力信号を生成する。署名173は、前述の始動時および実行時の整合性検証を容易にするために、所定位置に事前に記憶されている。
【0027】
図示の実施形態では、耐侵犯デコーダ172の耐侵犯サービスは、スクランブルされたコンテンツを受信し、それに応答してこのスクランブルされたコンテンツをスクランブル解除し、デコーダ172の非耐侵犯部分のためにスクランブル解除済みのコンテンツを生成する耐侵犯性デスクランブラ174を含む。一実施形態では、耐侵犯性デスクランブラ174は、耐侵犯性シークレット・ホルダ180から取り出したシークレット・キーを利用して、スクランブルされたコンテンツをスクランブル解除する。利用するシークレット・キーの数およびこれらのキーの性質はアプリケーションによって決まるが、それらは本発明を理解するのに必須ではない。耐侵犯性デスクランブラ174は、プログラミング命令の平文セルおよびオブファスケイト・セルのグループで構成される。一実施形態では、コアとなるスクランブル解除サービスは、平文セル中に配設され、性能の向上をもたらす。一実施形態では、GOCは、上述の侵入者の検出による整合性手段、およびシングル・ステップ実行モードの検出による覗き防止手段を備える。一実施形態では、GOCは、経過した実行時間の検出による覗き防止手段も備える。一実施形態では、GOCは、複数の経過した実行時間の検出による覗き防止手段を備える。一実施形態では、経過した実行時間の検出による覗き防止手段は、スクランブルされたコンテンツのスクランブル解除に関連するシークレットキーを取り出すプロセス、ならびにプレーヤ170およびスクランブルされたコンテンツの提供側デバイスを相互に認証する認証プロセスとも相互結合される。
【0028】
図示の実施形態では、耐侵犯デコーダ172の耐侵犯サービスは、スクランブルされたコンテンツの提供側デバイスに対して耐侵犯プレーヤ170を認証し、耐侵犯プレーヤ170に対してスクランブルされたコンテンツの提供側デバイスを認証するための耐侵犯性認証装置176も含む。一実施形態では、耐侵犯性認証装置176は、耐侵犯性シークレット・ホルダ180から取り出したシークレット・キーを利用して、認証プロセスを行う。利用されるシークレット・キーの数およびそれらのキーの性質はアプリケーションによって決まるが、それらは本発明を理解するのに必須ではない。一実施形態では、耐侵犯性認証装置176は、プログラミング命令の平文セルおよびオブファスケイト・セルのグループで構成される。一実施形態では、GOCは上述の侵入者の検出による整合性手段、およびシングル・ステップ実行モードの検出による覗き防止手段を備える。一実施形態では、GOCは、経過した実行時間の検出による覗き防止手段も備える。一実施形態では、GOCは、複数の経過した実行時間の検出による覗き防止手段を備える。一実施形態では、経過した実行時間の検出による覗き防止手段は、スクランブルされたコンテンツのスクランブル解除に関連するシークレット・キーを取り出すプロセス、ならびにプレーヤ170およびスクランブルされたコンテンツの提供側デバイスを相互に認証する認証プロセスとも相互結合される。
【0029】
図示の実施形態では、耐侵犯デコーダ172の耐侵犯サービスは、始動時に、また実行時中にデコーダ172の非耐侵犯部分を整合性検証するための耐侵犯性整合性検証装置178も含む。一実施形態では、耐侵犯性整合性検証装置178は、プレーヤ170およびスクランブルされたコンテンツの提供側デバイスを相互に認証するために利用されるシークレット・キーをシークレット・ホルダ180に与える。利用されるシークレット・キーの数およびそれらのキーの性質はアプリケーションによって決まるが、それらは本発明を理解するのに必須ではない。一実施形態では、耐侵犯性整合性検証装置178は、プログラミング命令の平文セルおよびオブファスケイト・セルのグループで構成される。一実施形態では、GOCはシングル・ステップ実行モードの検出による覗き防止手段を備える。一実施形態では、GOCは、経過した実行時間の検出による覗き防止手段も備える。一実施形態では、GOCは、複数の経過した実行時間の検出による覗き防止手段を備える。一実施形態では、経過した実行時間の検出による覗き防止手段は、スクランブルされたコンテンツのスクランブル解除に関連するシークレット・キーを取り出すプロセス、ならびにプレーヤ170およびスクランブルされたコンテンツの提供側デバイスを相互に認証する認証プロセスとも相互結合される。
【0030】
最後に、前述のように、図示の実施形態では、耐侵犯デコーダ172の耐侵犯サービスは、スクランブルされたコンテンツのスクランブル解除に関連するシークレットを記憶する耐侵犯性シークレット・ホルダ180を含む。シークレット・ホルダ180は、スクランブルされたコンテンツの提供側デバイスに対して耐侵犯プレーヤ170を認証し、耐侵犯プレーヤ170に対してスクランブルされたコンテンツの提供側デバイスを認証する認証プロセスに関連するシークレットも記憶する。一実施形態では、耐侵犯性シークレット・ホルダ180は、プログラミング命令の平文セルおよびオブファスケイト・セルのグループによって、特許出願(番号未指定)(Express Mail EM531554811US)に記載のセル・アレイの形態で構成される。一実施形態では、GOCは、上述の侵入者の検出による整合性手段、およびシングル・ステップ実行モードの検出による覗き防止手段を備える。一実施形態では、GOCは、経過した実行時間の検出による覗き防止手段も備える。一実施形態では、GOCは、複数の経過した実行時間の検出による覗き防止手段を備える。
【0031】
このように、プレーヤ170がそのコンテンツ入力を「オープン」バスを介して受信した場合でも、コンテンツがスクランブルされた形態で「オープン」バスを介してプレーヤ170に提供されるので、そのコンテンツは保護される。さらに、スクランブルされたコンテンツのスクランブル解除に関連するシークレット、およびスクランブル解除を実行するプログラミング命令が、侵入および覗きから保護される。それにもかかわらず、コアとなるスクランブル解除サービスなどの性能に敏感な動作に負担がかからない。最後に、耐侵犯サービス、すなわちデスクランブラ174や認証装置176などは携帯可能性が高く、任意数のデコーダ実装とリンクすることができる。
【0032】
図9は、本発明を実施するのに適したコンピュータ・システムの一実施形態を示している。図示のように、図示の実施形態では、コンピュータ・システム200は、プロセッサ202、プロセッサ・バス206、高性能入出力バス210、および標準入出力バス220を含む。プロセッサ・バス206と高性能入出力バス210はホスト・ブリッジ208によってブリッジされ、入出力バス210と212は入出力バス・ブリッジ212によってブリッジされる。プロセッサ・バス206にはキャッシュ204が結合される。高性能入出力バス210にはシステム・メモリ214およびビデオ・メモリ216が結合され、ビデオ・メモリにはビデオ・ディスプレイ218が結合される。標準入出力バス220には、ディスク・ドライブ222と、キーボードおよびポインティング・デバイス224と、DVD−ROM226とが結合される。
【0033】
これらのエレメントは、当技術分野で既知の従来通りの機能を実行する。詳細には、ディスク・ドライブ222およびシステム・メモリ214は、プロセッサ202によって実行されるとき、本発明の耐侵犯性アプリケーションの永久およびワーキング・コピーを記憶するために使用される。永久コピーは、工場でディスク・ドライブ222に事前にロードしておくことも、配布媒体(図示せず)からロードすることも、オンライン/ネットワークの配布ソース(図示せず)からダウンロードすることもできる。これらのエレメントの構成は既知である。当技術分野で既知のこれらのエレメントのいくつかの実装のいずれか1つを使用して、コンピュータ・システム200を形成することができる。
【0034】
言うまでもなく、代替アーキテクチャのコンピュータ・システムも含めた代替構成のコンピュータ・システムを利用して、本発明を実施することもできる。
【0035】
全体として、上記の例示的な実施形態に関連して本発明について述べたが、本発明が上述の実施形態に限定されないことを当業者なら理解するであろう。本発明は、添付の特許請求の範囲の趣旨および範囲内で、修正および改変を加えて実施することができる。したがって、この説明は本発明を限定するものではなく、例示するものとしてみなされたい。
【0036】
以上、様々な耐侵犯性の方法および装置について述べた。
【図面の簡単な説明】
【図1】 本発明の様々な教示を組み込んだ例示的な耐侵犯モジュールの概要を示すブロック図である。
【図2】 本発明の整合性検証の始動時の動作の流れの一実施形態を示す流れ図である。
【図3】 本発明の整合性検証の実行時中の動作の流れの一実施形態を示す流れ図である。
【図4】 本発明の侵入者検出方法の動作の流れの一実施形態を示す流れ図である。
【図5】 本発明の2つの覗き検出方法の動作の流れの一実施形態を示す流れ図である。
【図6】 本発明の2つの覗き検出方法の動作の流れの一実施形態を示す流れ図である。
【図7】 様々な耐侵犯性の方法を相互結合するための本発明の結合技術の一実施形態を示すブロック図である。
【図8】 本発明の教示を組み込んだ、スクランブルされたコンテンツのための耐侵犯プレーヤの一実施形態を示すブロック図である。
【図9】 本発明を実施するのに適したコンピュータ・システムの一実施形態を示すブロック図である。
Claims (9)
- 複数のオブファスケイトなプログラミング命令の実行が覗かれているかどうかを検証するように設計されたプログラミング命令の複数のオブファスケイト・セル(106)を記憶している記憶媒体を備える耐侵犯部分(104)であって、前記検証が第1と第2の覗き防止手段によって実行される、耐侵犯部分(104)と、そして
非耐侵犯部分(102)をスキャンすることおよび前記非耐侵犯部分(102)の第1の署名を計算することによって前記複数のオブファスケイト・セル(106)により検証されるように、前記耐侵犯部分(104)に結合された非耐侵犯部分(102)と
から構成され、
前記耐侵犯部分(104)と非耐侵犯部分(102)は共にプログラミング命令を実行するための実行ユニットを形成する、
耐侵犯モジュール(100)装置。 - 耐侵犯モジュール(100)の耐侵犯部分(104)において、プログラミング命令の複数のオブファスケイト・セル(106)を実行するステップと、
前記耐侵犯部分(104)の前記複数のオブファスケイト・セルの前記実行が覗かれていることを、プログラミング命令の前記複数のオブファスケイト・セル(106)によって、検証するステップであって、その検証が第1と第2の覗き防止手段によって実行されるステップと、
プログラミング命令の前記複数のオブファスケイト・セル(106)により、前記耐侵犯部分(104)に結合された非耐侵犯部分(102)を、すなわち、前記オブファスケイト・セルの前記実行が侵入者により生じさせられていることを、検証するステップであって、前記非耐侵犯部分(102)をスキャンすることおよび前記非耐侵犯部分の署名を計算することにより前記検証が実行されるステップと、そして
前記実行が前記侵入者によって生成じさせられているかまたは覗かれていることが検証された場合に、前記オブファスケイト・セルの前記実行を終了するステップと
を含む方法。 - プログラミング命令の前記オブファスケイト・セル(106)が、シングル・ステップ実行をサポートするモードで実行されているかどうかを判定するステップと、そして
前記実行がシングル・ステップ実行をサポートするモードで実行されていることが検証された場合に、前記複数のオブファスケイト・セルの前記実行を終了するステップと
を含むことを特徴とする請求項2に記載の方法。 - プログラミング命令の複数のオブファスケイト・セルは経過した実行時間の長さがしきい値を超えたかどうかを検証するように設計されていることを特徴とする請求項1に記載の耐侵犯モジュール(100)装置。
- 前記耐侵犯モジュール(100)の前記耐侵犯部分で実行する前記複数のオブファスケイト・セルによって、前記耐侵犯モジュール(100)内からのタイマ値を記憶するステップと、
前記耐侵犯モジュール(100)の前記耐侵犯部分で実行する前記複数のオブファスケイト・セルによって、前記タイマ値に基づいて経過した実行時間の長さがしきい値を超えているかどうかを検証するステップと、そして
前記経過した実行時間の長さがしきい値を超えていることが検証された場合に、前記複数のオブファスケイト・セルの実行を終了するステップと
を含むことを特徴とする請求項2に記載の方法。 - 前記第1の覗き防止手段は前記プログラミング命令のシングル・ステップ実行モードを判定し、そして
前記第2の覗き防止手段は前記プログラミング命令の経過した実行時間がしきい値を超えたことを検証する、
ことを特徴とする請求項1に記載の耐侵犯モジュール(100)装置。 - 前記第1の覗き防止手段はプログラム命令の前記実行している第1の複数のオブファスケイト・セルのシングル・ステップ実行モードを判定し、そして
前記第2の覗き防止手段はプログラム命令の前記実行している第2の複数のオブファスケイト・セルの経過した実行時間がしきい値を超えたことを検証する、
ことを特徴とする請求項2に記載の方法。 - プログラミング命令の前記複数のオブファスケイト・セルが前記非耐侵犯部分(102)に対する第2署名であって前記非耐侵犯部分(102)にあらかじめ記憶された署名である第2の署名を取り出すことを特徴とする請求項1に記載の耐侵犯モジュール(100)装置
- プログラミング命令の前記複数のオブファスケイト・セルが前記第1の署名を前記第2の署名と比較することを特徴とする請求項8に記載の耐侵犯モジュール(100)装置
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/924,740 US6205550B1 (en) | 1996-06-13 | 1997-09-05 | Tamper resistant methods and apparatus |
US08/924,740 | 1997-09-05 | ||
PCT/US1998/014858 WO1999013613A1 (en) | 1997-09-05 | 1998-07-17 | Tamper resistant methods and apparatus |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001516908A JP2001516908A (ja) | 2001-10-02 |
JP2001516908A5 JP2001516908A5 (ja) | 2006-01-05 |
JP4544739B2 true JP4544739B2 (ja) | 2010-09-15 |
Family
ID=25450647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000511282A Expired - Lifetime JP4544739B2 (ja) | 1997-09-05 | 1998-07-17 | 不正な侵入を防ぐ方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6205550B1 (ja) |
EP (1) | EP1020049A4 (ja) |
JP (1) | JP4544739B2 (ja) |
KR (3) | KR20030085085A (ja) |
AU (1) | AU8495798A (ja) |
WO (1) | WO1999013613A1 (ja) |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253323B1 (en) | 1996-11-01 | 2001-06-26 | Intel Corporation | Object-based digital signatures |
US6542610B2 (en) | 1997-01-30 | 2003-04-01 | Intel Corporation | Content protection for digital transmission systems |
US6957341B2 (en) * | 1998-05-14 | 2005-10-18 | Purdue Research Foundation | Method and system for secure computational outsourcing and disguise |
US6941463B1 (en) | 1998-05-14 | 2005-09-06 | Purdue Research Foundation | Secure computational outsourcing techniques |
US6324646B1 (en) * | 1998-09-11 | 2001-11-27 | International Business Machines Corporation | Method and system for securing confidential data in a computer network |
WO2000055962A2 (en) | 1999-03-15 | 2000-09-21 | Sony Electronics, Inc. | Electronic media system, method and device |
US7421586B2 (en) | 1999-05-12 | 2008-09-02 | Fraunhofer Gesselschaft | Protecting mobile code against malicious hosts |
WO2000072112A2 (en) * | 1999-05-12 | 2000-11-30 | Fraunhofer Crcg, Inc. | Obfuscation of executable code |
US7430670B1 (en) * | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
US7287166B1 (en) | 1999-09-03 | 2007-10-23 | Purdue Research Foundation | Guards for application in software tamperproofing |
US7757097B2 (en) * | 1999-09-03 | 2010-07-13 | Purdue Research Foundation | Method and system for tamperproofing software |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode |
US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment |
US6934817B2 (en) * | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US7194634B2 (en) | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus |
US6678825B1 (en) | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6957332B1 (en) * | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
US6760441B1 (en) | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
US6754815B1 (en) | 2000-03-31 | 2004-06-22 | Intel Corporation | Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set |
US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log |
US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus |
US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution |
US7000119B1 (en) | 2000-04-20 | 2006-02-14 | Realnetworks, Inc. | Instruction/data protection employing derived obscuring instruction/data |
JP4186381B2 (ja) * | 2000-05-10 | 2008-11-26 | 日本電気株式会社 | プログラムを格納する記録媒体及びその実行方法 |
US7065652B1 (en) * | 2000-06-21 | 2006-06-20 | Aladdin Knowledge Systems, Ltd. | System for obfuscating computer code upon disassembly |
US6976162B1 (en) * | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
US7793111B1 (en) * | 2000-09-28 | 2010-09-07 | Intel Corporation | Mechanism to handle events in a machine with isolated execution |
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US7818808B1 (en) | 2000-12-27 | 2010-10-19 | Intel Corporation | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
IL157854A0 (en) * | 2001-03-28 | 2004-03-28 | Digital rights management system and method | |
US20020144121A1 (en) * | 2001-03-30 | 2002-10-03 | Ellison Carl M. | Checking file integrity using signature generated in isolated execution |
US7096497B2 (en) * | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network |
US7979740B2 (en) * | 2001-05-21 | 2011-07-12 | Mudalla Technology, Inc. | Gaming machine having game play suspension and resumption features using biometrically-based authentication and method of operating same |
US7478266B2 (en) * | 2001-05-21 | 2009-01-13 | Mudalla Technology, Inc. | Method and apparatus for fast transaction commit over unreliable networks |
US8515773B2 (en) | 2001-08-01 | 2013-08-20 | Sony Corporation | System and method for enabling distribution and brokering of content information |
US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
US7631196B2 (en) * | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US6782477B2 (en) * | 2002-04-16 | 2004-08-24 | Song Computer Entertainment America Inc. | Method and system for using tamperproof hardware to provide copy protection and online security |
US6820177B2 (en) | 2002-06-12 | 2004-11-16 | Intel Corporation | Protected configuration space in a protected environment |
US7142674B2 (en) * | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange |
EP1795992B1 (en) * | 2002-07-30 | 2018-01-24 | Fujitsu Limited | Method and apparatus for reproducing information using a security module |
EP1546892B1 (en) | 2002-09-04 | 2017-03-29 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Protecting mobile code against malicious hosts cross references to related applications |
FR2845494B1 (fr) * | 2002-10-04 | 2005-08-19 | Canal Plus Technologies | Logiciel et procede d'authentification de celui-ci |
US7165181B2 (en) * | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
US7149900B2 (en) * | 2002-12-12 | 2006-12-12 | Intel Corporation | Method of defending software from debugger attacks |
US7318235B2 (en) * | 2002-12-16 | 2008-01-08 | Intel Corporation | Attestation using both fixed token and portable token |
US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
US20040128345A1 (en) * | 2002-12-27 | 2004-07-01 | Robinson Scott H. | Dynamic service registry |
US7900017B2 (en) | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
US20040128465A1 (en) * | 2002-12-30 | 2004-07-01 | Lee Micheil J. | Configurable memory bus width |
US7584354B2 (en) | 2003-01-31 | 2009-09-01 | Intel Corporation | Implementing portable content protection to secure secrets |
JP4338989B2 (ja) * | 2003-02-20 | 2009-10-07 | パナソニック株式会社 | メモリデバイス |
US8510571B1 (en) | 2003-03-24 | 2013-08-13 | Hoi Chang | System and method for inserting security mechanisms into a software program |
KR100568228B1 (ko) * | 2003-05-20 | 2006-04-07 | 삼성전자주식회사 | 고유번호를 이용한 프로그램 탬퍼 방지 방법과 난독처리된 프로그램 업그레이드 방법, 상기 방법을 위한 장치 |
US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
US20050044292A1 (en) * | 2003-08-19 | 2005-02-24 | Mckeen Francis X. | Method and apparatus to retain system control when a buffer overflow attack occurs |
US7366914B2 (en) * | 2003-08-29 | 2008-04-29 | Intel Corporation | Source code transformation based on program operators |
US7739521B2 (en) * | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
US7610611B2 (en) * | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder |
US8220058B2 (en) * | 2003-09-25 | 2012-07-10 | Oracle America, Inc. | Rendering and encryption engine for application program obfuscation |
US7353499B2 (en) * | 2003-09-25 | 2008-04-01 | Sun Microsystems, Inc. | Multiple instruction dispatch tables for application program obfuscation |
US7363620B2 (en) * | 2003-09-25 | 2008-04-22 | Sun Microsystems, Inc. | Non-linear execution of application program instructions for application program obfuscation |
US20050069138A1 (en) * | 2003-09-25 | 2005-03-31 | Sun Microsystems, Inc., A Delaware Corporation | Application program obfuscation |
US7424620B2 (en) * | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
US7415618B2 (en) * | 2003-09-25 | 2008-08-19 | Sun Microsystems, Inc. | Permutation of opcode values for application program obfuscation |
US20050080934A1 (en) | 2003-09-30 | 2005-04-14 | Cota-Robles Erik C. | Invalidating translation lookaside buffer entries in a virtual machine (VM) system |
US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US7636844B2 (en) * | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device |
US20050108171A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform |
US20050108534A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Providing services to an open platform implementing subscriber identity module (SIM) capabilities |
US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority |
US20050152539A1 (en) * | 2004-01-12 | 2005-07-14 | Brickell Ernie F. | Method of protecting cryptographic operations from side channel attacks |
US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
US20050216920A1 (en) * | 2004-03-24 | 2005-09-29 | Vijay Tewari | Use of a virtual machine to emulate a hardware device |
US7356735B2 (en) * | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
US7620949B2 (en) | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
US20050288056A1 (en) * | 2004-06-29 | 2005-12-29 | Bajikar Sundeep M | System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module |
US7305592B2 (en) * | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment |
US7840962B2 (en) * | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time |
US20060075441A1 (en) * | 2004-10-06 | 2006-04-06 | Sony Corporation | Method and system for a personal video recorder comprising multiple removable storage/tuner units |
US8768844B2 (en) * | 2004-10-06 | 2014-07-01 | Sony Corporation | Method and system for content sharing and authentication between multiple devices |
US8146078B2 (en) * | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment |
US8924728B2 (en) * | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
US7571263B2 (en) * | 2004-12-02 | 2009-08-04 | Hitachi Global Storage Technologies Netherlands B.V. | Apparatus and method for monitoring data storage device for usage and warranty |
US20060137016A1 (en) * | 2004-12-20 | 2006-06-22 | Dany Margalit | Method for blocking unauthorized use of a software application |
US20060136705A1 (en) * | 2004-12-21 | 2006-06-22 | Motorola, Inc. | Multiple stage software verification |
US8533777B2 (en) | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
US7395405B2 (en) * | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
JP4810846B2 (ja) * | 2005-03-15 | 2011-11-09 | 富士ゼロックス株式会社 | プログラムデータの不正利用を阻止するプログラム |
US7620987B2 (en) * | 2005-08-12 | 2009-11-17 | Microsoft Corporation | Obfuscating computer code to prevent an attack |
US7809957B2 (en) | 2005-09-29 | 2010-10-05 | Intel Corporation | Trusted platform module for generating sealed data |
WO2007055169A1 (ja) * | 2005-11-09 | 2007-05-18 | Nec Corporation | 通信端末装置、サーバ端末装置、それらを用いる通信システム |
US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
KR20140109513A (ko) | 2006-05-09 | 2014-09-15 | 인터디지탈 테크날러지 코포레이션 | 무선 장치에 대한 안전 시간 기능 |
US7818799B2 (en) * | 2006-05-30 | 2010-10-19 | Microsoft Corporation | Tamper response mechanism |
US20080104704A1 (en) * | 2006-10-27 | 2008-05-01 | Ravikumar Mohandas | Security for physically unsecured software elements |
US8286138B2 (en) * | 2007-01-30 | 2012-10-09 | Microsoft Corporation | Multi-threaded detection of a game software debugger |
EP2118866A1 (en) * | 2007-02-09 | 2009-11-18 | Agency for Science, Technology and Research | A method and system for tamper proofing a system of interconnected electronic devices |
US8010773B2 (en) * | 2008-06-24 | 2011-08-30 | Microsoft Corporation | Hardware constrained software execution |
JP2010039891A (ja) * | 2008-08-07 | 2010-02-18 | Nec Corp | 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム |
KR101272028B1 (ko) * | 2011-08-18 | 2013-06-07 | 정지혜 | 해킹 여부 정보를 제공하는 통신 단말기 및 그 제어방법과, 그 통신 단말기를 포함하는 해킹 방지 시스템 및 그 제어방법 |
US8831217B2 (en) | 2012-04-10 | 2014-09-09 | Western Digital Technologies, Inc. | Digital rights management system and methods for accessing content from an intelligent storage |
US8914634B2 (en) | 2012-04-10 | 2014-12-16 | Western Digital Technologies, Inc. | Digital rights management system transfer of content and distribution |
US9792439B2 (en) | 2012-09-19 | 2017-10-17 | Nxp B.V. | Method and system for securely updating firmware in a computing device |
DE102014203095A1 (de) * | 2014-02-20 | 2015-08-20 | Rohde & Schwarz Gmbh & Co. Kg | Funkgerät-System und Verfahren mit Zeitparameter-Auswertung |
US10079686B2 (en) | 2015-07-29 | 2018-09-18 | International Business Machines Corporation | Privacy-preserving attribute-based credentials |
KR101977008B1 (ko) * | 2019-01-07 | 2019-05-09 | 동양대학교 산학협력단 | 시간정보 왜곡보정이 가능한 타임스탬프를 이용한 데이터 숨김방법 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4262329A (en) * | 1978-03-27 | 1981-04-14 | Computation Planning, Inc. | Security system for data processing |
US4723284A (en) * | 1983-02-14 | 1988-02-02 | Prime Computer, Inc. | Authentication system |
US4947430A (en) | 1987-11-23 | 1990-08-07 | David Chaum | Undeniable signature systems |
US4926480A (en) | 1983-08-22 | 1990-05-15 | David Chaum | Card-computer moderated systems |
US4847902A (en) | 1984-02-10 | 1989-07-11 | Prime Computer, Inc. | Digital computer system for executing encrypted programs |
JPS619740A (ja) * | 1984-06-26 | 1986-01-17 | Matsushita Electric Ind Co Ltd | プログラムの領域はみ出し検出装置 |
EP0175487A3 (en) * | 1984-08-23 | 1989-03-08 | Btg International Limited | Software protection device |
GB2197506A (en) * | 1986-10-27 | 1988-05-18 | Burr Brown Ltd | Providing and handling break points in a software monitor |
US5224160A (en) * | 1987-02-23 | 1993-06-29 | Siemens Nixdorf Informationssysteme Ag | Process for securing and for checking the integrity of the secured programs |
EP0281058B1 (de) | 1987-03-04 | 1993-02-03 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Datenaustauschsystem |
US5347579A (en) | 1989-07-05 | 1994-09-13 | Blandford Robert R | Personal computer diary |
US5136643A (en) * | 1989-10-13 | 1992-08-04 | Fischer Addison M | Public/key date-time notary facility |
US5081675A (en) | 1989-11-13 | 1992-01-14 | Kitti Kittirutsunetorn | System for protection of software in memory against unauthorized use |
US5267312A (en) | 1990-08-06 | 1993-11-30 | Nec Home Electronics, Ltd. | Audio signal cryptographic system |
US5265164A (en) | 1991-10-31 | 1993-11-23 | International Business Machines Corporation | Cryptographic facility environment backup/restore and replication in a public key cryptosystem |
US5421006A (en) | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5359659A (en) * | 1992-06-19 | 1994-10-25 | Doren Rosenthal | Method for securing software against corruption by computer viruses |
US5343527A (en) | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
US5469507A (en) * | 1994-03-01 | 1995-11-21 | International Business Machines Corporation | Secure communication and computation in an insecure environment |
US5483649A (en) * | 1994-07-01 | 1996-01-09 | Ybm Technologies, Inc. | Personal computer security system |
US5535276A (en) * | 1994-11-09 | 1996-07-09 | Bell Atlantic Network Services, Inc. | Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography |
JPH0855023A (ja) * | 1994-07-25 | 1996-02-27 | Motorola Inc | データ処理システムおよびその方法 |
US5684875A (en) | 1994-10-21 | 1997-11-04 | Ellenberger; Hans | Method and apparatus for detecting a computer virus on a computer |
US5668874A (en) * | 1995-02-28 | 1997-09-16 | Lucent Technologies Inc. | Identification card verification system and method |
US5559960A (en) | 1995-04-21 | 1996-09-24 | Lettvin; Jonathan D. | Software anti-virus facility |
US5652793A (en) | 1995-05-08 | 1997-07-29 | Nvidia Corporation | Method and apparatus for authenticating the use of software |
US5768382A (en) | 1995-11-22 | 1998-06-16 | Walker Asset Management Limited Partnership | Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols |
WO1997004394A1 (en) * | 1995-07-14 | 1997-02-06 | Christopher Nathan Drake | Computer software authentication, protection, and security system |
US6006328A (en) * | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
US5638446A (en) | 1995-08-28 | 1997-06-10 | Bell Communications Research, Inc. | Method for the secure distribution of electronic files in a distributed environment |
US5822431A (en) * | 1996-01-19 | 1998-10-13 | General Instrument Corporation Of Delaware | Virtual authentication network for secure processors |
US6049609A (en) | 1997-08-06 | 2000-04-11 | Intel Corporation | Cell array providing non-persistent secret storage through a mutation cycle |
US5892899A (en) * | 1996-06-13 | 1999-04-06 | Intel Corporation | Tamper resistant methods and apparatus |
US5966306A (en) * | 1997-07-07 | 1999-10-12 | Motorola Inc. | Method for verifying protocol conformance of an electrical interface |
-
1997
- 1997-09-05 US US08/924,740 patent/US6205550B1/en not_active Expired - Lifetime
-
1998
- 1998-07-17 KR KR10-2003-7012887A patent/KR20030085085A/ko not_active Application Discontinuation
- 1998-07-17 AU AU84957/98A patent/AU8495798A/en not_active Abandoned
- 1998-07-17 WO PCT/US1998/014858 patent/WO1999013613A1/en not_active Application Discontinuation
- 1998-07-17 KR KR10-2003-7012888A patent/KR20030085086A/ko not_active Application Discontinuation
- 1998-07-17 KR KR10-2000-7002387A patent/KR100405574B1/ko not_active IP Right Cessation
- 1998-07-17 JP JP2000511282A patent/JP4544739B2/ja not_active Expired - Lifetime
- 1998-07-17 EP EP98935776A patent/EP1020049A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1020049A1 (en) | 2000-07-19 |
AU8495798A (en) | 1999-03-29 |
KR100405574B1 (ko) | 2003-11-14 |
WO1999013613A1 (en) | 1999-03-18 |
KR20010023733A (ko) | 2001-03-26 |
KR20030085085A (ko) | 2003-11-01 |
EP1020049A4 (en) | 2000-10-11 |
JP2001516908A (ja) | 2001-10-02 |
KR20030085086A (ko) | 2003-11-01 |
US6205550B1 (en) | 2001-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4544739B2 (ja) | 不正な侵入を防ぐ方法および装置 | |
KR100482775B1 (ko) | 위조방지 방법 및 장치 | |
KR100479681B1 (ko) | 스크램블된 콘텐츠를 위한 위조방지 플레이어 | |
US6006328A (en) | Computer software authentication, protection, and security system | |
US7707429B2 (en) | System and method to proactively detect software tampering | |
Aucsmith | Tamper resistant software: An implementation | |
US6334118B1 (en) | Software rental system and method for renting software | |
AU2010201896B2 (en) | Secure read-write storage device | |
US8769675B2 (en) | Clock roll forward detection | |
WO2000017731A1 (en) | Volatile key apparatus for safeguarding confidential data stored in a computer system memory | |
CN101894224A (zh) | 保护客户端平台上的内容 | |
EP1603000A2 (en) | Information processor, method, and program for preventing tampering | |
EP1639425A1 (en) | Trusted peripheral mechanism | |
WO2005045557A2 (en) | The secure attention instruction central processing unit and system architecture | |
EP1000482B1 (en) | Cell array providing non-persistent secret storage through a mutation cycle | |
AU725098B2 (en) | Computer software authentication, protection, and security system | |
Grand | Authentication tokens: balancing the security risks with business requirements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050719 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090609 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100223 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100521 |
|
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: 20100622 |
|
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: 20100629 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130709 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
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 |
|
EXPY | Cancellation because of completion of term |