JP2001516908A - 不正な侵入を防ぐ方法および装置 - Google Patents
不正な侵入を防ぐ方法および装置Info
- Publication number
- JP2001516908A JP2001516908A JP2000511282A JP2000511282A JP2001516908A JP 2001516908 A JP2001516908 A JP 2001516908A JP 2000511282 A JP2000511282 A JP 2000511282A JP 2000511282 A JP2000511282 A JP 2000511282A JP 2001516908 A JP2001516908 A JP 2001516908A
- Authority
- JP
- Japan
- Prior art keywords
- programming instructions
- execution
- obscure
- obfuscated
- designed
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000008569 process Effects 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 claims description 8
- 208000008918 voyeurism Diseases 0.000 description 15
- 238000012795 verification Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 8
- 230000002265 prevention Effects 0.000 description 8
- 244000144985 peep Species 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000035945 sensitivity Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000004891 communication Methods 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
- 230000008859 change Effects 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
- 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
- 230000004044 response Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
Description
t Methods and Apparatusと題する米国特許出願第08
/662679号、および1997年8月6日に出願されたCell Arra
y Providing Non−Presistent Secret St
orage Through A Mutation Cycleと題する米国
特許出願(番号未指定)(Express Mail EM531554811
US)の一部継続出願である。
は、耐侵犯性の(tamper resistant:不正なアクセスを防止する)方法および装
置に関する。
それらの動作の基本的な整合性を仮定する、または少なくとも検証する必要があ
る。暗号化および解読の技術など、いくつかのセキュリティ手法が当技術分野で
既知であるが、残念ながら、これらのアプリケーションおよびセキュリティ手法
はオープンかつアクセス可能なアーキテクチャを有するシステムに実装され、そ
のアーキテクチャは、セキュリティ手法を含むハードウェアおよびソフトウェア
が両方とも敵意のあるユーザまたは悪意のあるプログラムによって覗かれ、かつ
改竄されるので、これらのセキュリティ手法が容易に損なわれる可能性がある。
、セキュリティ措置を利用しても、基本的には安全でないプラットフォームであ
る。しかし、オープンであることおよびアクセス可能であることは、これらのシ
ステムが成功する一因となるいくつかの利点をもたらす。したがって、根本的に
安全でないこれらのプラットフォームで、それらがオープンでありアクセス可能
であってもなおソフトウェアの実行を実質的に覗き不可能または改竄不可能にす
る技術が必要とされている。
ログラミング命令の実行が覗かれているかどうかを自己検証するために、いくつ
かのオブファスケイトなプログラミング命令を備える。
・ステップ実行をサポートするモードで動作しているかどうかを判定するために
、いくつかのオブファスケイトなプログラミング命令を備える。
検証するために、いくつかのオブファスケイトなプログラミング命令を備える。
ング命令が第1と第2の耐侵入技術をそれぞれ実装し、第1と第2のグループの
プログラミング命令は、第1と第2の耐侵入技術に対応する第1と第2のキー値
のために記憶位置を共有する。
ないものとする。同じ参照符は同じエレメントを指すものとする。
発明の態様の一部だけで実施することも、全ての態様で実施することもできるこ
とは、当業者には明らかであろう。説明のために、特定の数、材料、および構成
を記載して、本発明が完全に理解されるようにする。ただし、こうした特定の詳
細を用いずに本発明を実施することができることも当業者には明らかであろう。
その他、本発明を分かりにくくしないように、周知の機構は省略または簡略化し
てある。
一般に利用する方法と矛盾しないデータ、フラグ、ビット、値、文字、ストリン
グ、数などの用語を使用して、コンピュータ・システムが実行する動作の用語で
表される。これらの量が、コンピュータ・システムの機械的構成要素および電気
的構成要素を介して記憶し、転送し、結合し、またその他の方法で操作される電
気信号、磁気信号、または光信号の形態となることは、当業者なら理解するであ
ろう。ここで、コンピュータ・システムという用語は、独立型、付属型、または
組み込まれた汎用および専用のデータ処理用の機械やシステムなどを含む。
な動作について順に述べるが、説明の順序は、これらの動作が必ず順序、特に提
示の順序に従うことを意味するものではないと解釈されたい。
ュールの一実施形態を図示するブロック図が示してある。図示のように、例示的
な耐侵犯モジュール100は、非耐侵犯部分102、および耐侵犯部分104を
含む。図示の実施形態では、2つの部分は互いにリンクされ、単一の実行可能な
モジュールを形成する。本願では、モジュールという用語は、各部分間の排他的
通信を容易にする、様々な部分の間の構造的関係を意味する一般的な意味で使用
する。
2は、例示的な耐侵犯モジュール100の様々な感知不能サービスを実施する、
いくつかの平文のプログラミング命令を含み、耐侵犯部分104は、例示的な耐
侵犯モジュール100の様々な感知可能サービスを実施するプログラミング命令
の平文セルおよびオブファスケイト・セル106の様々なグループを含む。感知
可能サービスまたは多数の感知可能サービスを実施するセルのグループはそれぞ
れ、少なくとも1つの平文セル106を含む。簡単に言うと、サービスに関連し
たシークレットは時間的かつ空間的に分散され、オブファスケイトになる。サー
ビスをオブファスケイトにするために利用されるオブファスケイト・セルの数は
、サービスまたは感度によって決まる。一般に、利用されるオブファスケイト・
セルの数が多くなるほど、このオブファスケイトさを「解読」することはより困
難になる。より詳細な説明については、特許出願第08/662679号を参照
されたい。
択されたグループは、例示的な耐侵犯モジュール100が侵入も、覗かれもされ
ていないことを動作中に検証するために、いくつかの耐侵犯手段を組み込んでい
る。こうした耐侵犯手段を利用するグループの数、ならびに利用される耐侵犯手
段の頻度および数も、サービスまたは感度によって決まる。以下でより詳細に述
べるように、これらの耐侵犯手段は、いくつかの整合性手段、およびいくつかの
覗き防止手段を含む。整合性手段は、実行時および始動時の間に非耐侵犯部分1
02の整合性を検証する第1の整合性手段と、あるグループの平文セルおよびオ
ブファスケイト・セルの呼出しが侵入者から生じていないことを検証する第2の
整合性手段とを含む。覗き防止手段は、プロセッサが実行するモジュール100
が、シングル・ステップ実行をサポートするモードで動作していないことを検証
する第1の覗き防止手段と、経過した実行時間が正常な、覗かれていない実行と
矛盾しないことを検証する第2の覗き防止手段とを含む。
は始動時の動作の流れを示し、図3は実行時中の動作の流れを示す。図2に示す
ように、図示の実施形態では、始動時に、この第1の整合性手段を組み込んだセ
ルのグループ(GOC)は、ブロック108で、非耐侵犯部分102を走査し、
非耐侵犯部分102についての署名を計算する。図示の実施形態では、次にブロ
ック110で、GOCは、非耐侵犯部分102についての事前に記憶しておいた
署名を取り出す。次いで、ブロック112〜114で、GOCは2つの署名を比
較して、生成された署名を検証する。生成された署名がうまく検証された場合、
すなわち非耐侵犯部分102が修正されていない場合には、ブロック116で、
GOCは、検証依存動作をスキップせずに始動プロセスを継続させ、そうでない
場合には、ブロック118でGOCは検証依存動作をスキップして始動プロセス
を継続させる。検証依存動作の一例は、いくつかの感知可能サービスを伝達する
のに必要なシークレットを準備することに関連した動作である。
第1の整合性手段を組み込んだGOCは、ブロック120で、非耐侵犯部分10
2の次の部分を走査し、非耐侵犯部分102についての署名を増分的に計算する
。次いでブロック122で、GOCはこの増分的に計算している署名を更新する
。次にブロック124で、GOCは、非耐侵犯部分102の末端に達したかどう
かを検査する。末端に達している場合にはプロセスは終了し、そうでない場合に
は、プロセスはブロック126に続く。
おいた署名を取り出す。次いでブロック128〜130で、GOCは2つの署名
を比較して、生成された署名を検証する。生成された署名がうまく検証された場
合、すなわち非耐侵犯部分102が修正されていない場合には、GOCは、モジ
ュール100の実行を継続させ、そうでない場合には、ブロック132で、GO
Cはモジュール100の実行を終了させる。モジュールの終了は、当技術分野で
既知の任意数の方法で行うことができる。アプリケーションによっては、非耐侵
犯部分の整合性が検証で不合格になった点からさらに下流側で、モジュールを停
止させることが好ましいこともある。
間にわたって増分的に実施される。増分的にな手法は、性能に鋭敏なサービスに
特に有用であることを当業者なら理解するであろう。実行ランで利用される検証
チェック期間の数は、サービスまたは感度によって決まる。
に、図示の実施形態では、この第2の整合性手段を組み込んだGOCは、ブロッ
ク134で、その呼出しについての復帰アドレスを取り出す。図示の実施形態で
は、ブロック136で、GOCは、その復帰アドレスがモジュール100のアド
レス空間内にあるかどうかを判定する。その復帰アドレスがモジュール100の
アドレス空間内にある場合、すなわちその呼出しが侵入者から生じたものでない
場合には、ブロック138でGOCはモジュール100の実行を継続させ、そう
でない場合には、ブロック140でGOCはモジュール100の実行を終了させ
る。同様に、モジュールの終了は、当技術分野で既知の任意数の方法で行うこと
ができる。アプリケーションによっては、侵入が検出された点からさらに下流側
で、モジュールを停止させることが好ましいこともある。
ン中の事前に選択した時点で、図示の実施形態では、ブロック142で、この第
1の覗き防止手段を組み込んだGOCは、プロセッサ実行モードの状態変数を取
り出す。図示の実施形態では、ブロック144で、GOCは、この状態変数が、
シングル・ステップ実行をサポートする実行モード、例えばデバッグ・モードを
示すかどうかを判定する。状態変数がシングル・ステップ実行をサポートしない
実行モードを示す場合、すなわちモジュール100の実行が覗かれていない場合
には、ブロック146で、GOCはモジュール100の実行を継続させ、そうで
ない場合には、GOCは、ブロック148で、モジュール100の実行を終了さ
せる。同様に、モジュールの終了は、当技術分野で既知の任意数の方法で行うこ
とができる。アプリケーションによっては、覗きが検出された点からさらに下流
側で、モジュールを停止させることが好ましいこともある。プロセッサの実行モ
ードを検査する回数およびその実行ラン中の正確な時点は、サービスまたは感度
によって決まる。
ン中の事前に選択した時点で、図示の実施形態では、ブロック150で、この第
2の覗き防止手段を組み込んだGOCは、プロセッサが実行するモジュール10
0からタイマの値を取り出し、取り出したタイマの値(タイムスタンプ)を記録
する。次いで、ブロック152で、GOCは、それが提供するように設計された
通常サービスを引き続き実行する。事前に選択した後の時点で、GOCは、ブロ
ック154〜156で、最後のタイムスタンプからの経過した実行時間の長さを
検査し、経過した実行時間の長さが所定しきい値を超えているかどうかを判定す
る。経過した実行時間が所定しきい値を超えない場合、すなわちモジュール10
0の実行が(例えば中断点を設定することによって)覗かれていない場合には、
ブロック158で、GOCはモジュール100の実行を継続させ、そうでない場
合には、ブロック160で、GOCはモジュール100の実行を終了させる。同
様に、モジュールの終了は、当技術分野で既知の任意数の方法で行うことができ
る。アプリケーションによっては、覗きが検出された点からさらに下流側で、モ
ジュールを停止させることが好ましいこともある。最後のタイムスタンプからの
経過した実行時間の長さを検査する回数およびその実行ラン中の正確な時点は、
サービスまたは感度によって決まる。
る。図示のように、様々な耐侵犯手段に、例えばメモリ中でそれらに関連するキ
ー値について共通の記憶位置を共有させることによって、様々な耐侵犯手段を相
互結合する。図示の実施形態では、GOCは、シークレットを取り出すためのキ
ーを記憶位置168の一部分162に記憶し、モジュール100の実行が覗かれ
ているかどうかを判定するためのタイムスタンプを、部分162を除く記憶位置
168に記憶する。経過した実行時間を決定する際には、GOCは、部分162
より上位のビットのみを利用する。さらに、GOCは、低位のビット164をシ
ード(seed)として使用して、認証プロセスで利用される疑似乱数を生成す
る。したがって、侵入者がこの経過実行時間の検査手段を無効にする(defe
at)ためにタイムスタンプを修正しようと試みた場合には、それにより、認証
プロセスならびにシークレットを取り出そうとする任意の試みが失敗することに
なる。同様に、侵入者が認証プロセスを無効にするために、疑似乱数を生成する
シードを修正しようと試みた場合には、それにより、経過実行時間の検査ならび
にシークレットを取り出そうとする任意の試みが失敗することになる。
耐侵犯プレーヤの一実施形態を示している。図示のように、図示の実施形態では
、耐侵犯プレーヤ170は、非耐侵犯性の構成要素171および耐侵犯デコーダ
172を含む。非耐侵犯性の構成要素171は、エンド・ユーザ・インタフェー
スなどの広範な汎用サービス構成要素を表すものとする。これらの汎用サービス
構成要素は、当技術分野で既知のいくつかの様々な技術のいずれか1つを使用し
て実施される、いくつかの様々なサービスのいずれか1つを用意することができ
る。耐侵犯デコーダ172は、スクランブルされた圧縮コンテンツを受信し、そ
れに応答してこのコンテンツをスクランブル解除および圧縮解除し、例えばYU
VビデオやAC3音声などのコンテンツを提供するのに適した信号を出力する。
、178、および180と、非耐侵犯部分175に対する署名173とを含む。
非耐侵犯部分175は平文のプログラミング命令で構成され、耐侵犯部分174
、176、178、および180は、プログラミング命令の平文セルおよびオブ
ファスケイト・セルの複数のグループで構成される。非耐侵犯部分175、なら
びに署名173も含めた耐侵犯部分174、176、178、および180は、
それらの部分の間の排他的通信を容易にする構造的関係になっている。図示の実
施形態では、この2つの部分は、単一の実行可能なモジュールとして互いにリン
クされている。
び180のサービスを選択的に呼び出し、プレーヤ170およびスクランブルさ
れたコンテンツの提供側デバイスに相互に認証させることも含めて、スクランブ
ルされたコンテンツのスクランブル解除を実施する。非耐侵犯部分175は、ス
クランブル解除済みの圧縮コンテンツを圧縮解除して、上述の出力信号を生成す
る。署名173は、前述の始動時および実行時の整合性検証を容易にするために
、所定位置に事前に記憶されている。
ルされたコンテンツを受信し、それに応答してこのスクランブルされたコンテン
ツをスクランブル解除し、デコーダ172の非耐侵犯部分のためにスクランブル
解除済みのコンテンツを生成する耐侵犯性デスクランブラ174を含む。一実施
形態では、耐侵犯性デスクランブラ174は、耐侵犯性シークレット・ホルダ1
80から取り出したシークレット・キーを利用して、スクランブルされたコンテ
ンツをスクランブル解除する。利用するシークレット・キーの数およびこれらの
キーの性質はアプリケーションによって決まるが、それらは本発明を理解するの
に必須ではない。耐侵犯性デスクランブラ174は、プログラミング命令の平文
セルおよびオブファスケイト・セルのグループで構成される。一実施形態では、
コアとなるスクランブル解除サービスは、平文セル中に配設され、性能の向上を
もたらす。一実施形態では、GOCは、上述の侵入者の検出による整合性手段、
およびシングル・ステップ実行モードの検出による覗き防止手段を備える。一実
施形態では、GOCは、経過した実行時間の検出による覗き防止手段も備える。
一実施形態では、GOCは、複数の経過した実行時間の検出による覗き防止手段
を備える。一実施形態では、経過した実行時間の検出による覗き防止手段は、ス
クランブルされたコンテンツのスクランブル解除に関連するシークレットキーを
取り出すプロセス、ならびにプレーヤ170およびスクランブルされたコンテン
ツの提供側デバイスを相互に認証する認証プロセスとも相互結合される。
ルされたコンテンツの提供側デバイスに対して耐侵犯プレーヤ170を認証し、
耐侵犯プレーヤ170に対してスクランブルされたコンテンツの提供側デバイス
を認証するための耐侵犯性認証装置176も含む。一実施形態では、耐侵犯性認
証装置176は、耐侵犯性シークレット・ホルダ180から取り出したシークレ
ット・キーを利用して、認証プロセスを行う。利用されるシークレット・キーの
数およびそれらのキーの性質はアプリケーションによって決まるが、それらは本
発明を理解するのに必須ではない。一実施形態では、耐侵犯性認証装置176は
、プログラミング命令の平文セルおよびオブファスケイト・セルのグループで構
成される。一実施形態では、GOCは上述の侵入者の検出による整合性手段、お
よびシングル・ステップ実行モードの検出による覗き防止手段を備える。一実施
形態では、GOCは、経過した実行時間の検出による覗き防止手段も備える。一
実施形態では、GOCは、複数の経過した実行時間の検出による覗き防止手段を
備える。一実施形態では、経過した実行時間の検出による覗き防止手段は、スク
ランブルされたコンテンツのスクランブル解除に関連するシークレット・キーを
取り出すプロセス、ならびにプレーヤ170およびスクランブルされたコンテン
ツの提供側デバイスを相互に認証する認証プロセスとも相互結合される。
また実行時中にデコーダ172の非耐侵犯部分を整合性検証するための耐侵犯性
整合性検証装置178も含む。一実施形態では、耐侵犯性整合性検証装置178
は、プレーヤ170およびスクランブルされたコンテンツの提供側デバイスを相
互に認証するために利用されるシークレット・キーをシークレット・ホルダ18
0に与える。利用されるシークレット・キーの数およびそれらのキーの性質はア
プリケーションによって決まるが、それらは本発明を理解するのに必須ではない
。一実施形態では、耐侵犯性整合性検証装置178は、プログラミング命令の平
文セルおよびオブファスケイト・セルのグループで構成される。一実施形態では
、GOCはシングル・ステップ実行モードの検出による覗き防止手段を備える。
一実施形態では、GOCは、経過した実行時間の検出による覗き防止手段も備え
る。一実施形態では、GOCは、複数の経過した実行時間の検出による覗き防止
手段を備える。一実施形態では、経過した実行時間の検出による覗き防止手段は
、スクランブルされたコンテンツのスクランブル解除に関連するシークレット・
キーを取り出すプロセス、ならびにプレーヤ170およびスクランブルされたコ
ンテンツの提供側デバイスを相互に認証する認証プロセスとも相互結合される。
サービスは、スクランブルされたコンテンツのスクランブル解除に関連するシー
クレットを記憶する耐侵犯性シークレット・ホルダ180を含む。シークレット
・ホルダ180は、スクランブルされたコンテンツの提供側デバイスに対して耐
侵犯プレーヤ170を認証し、耐侵犯プレーヤ170に対してスクランブルされ
たコンテンツの提供側デバイスを認証する認証プロセスに関連するシークレット
も記憶する。一実施形態では、耐侵犯性シークレット・ホルダ180は、プログ
ラミング命令の平文セルおよびオブファスケイト・セルのグループによって、特
許出願(番号未指定)(Express Mail EM531554811U
S)に記載のセル・アレイの形態で構成される。一実施形態では、GOCは、上
述の侵入者の検出による整合性手段、およびシングル・ステップ実行モードの検
出による覗き防止手段を備える。一実施形態では、GOCは、経過した実行時間
の検出による覗き防止手段も備える。一実施形態では、GOCは、複数の経過し
た実行時間の検出による覗き防止手段を備える。
て受信した場合でも、コンテンツがスクランブルされた形態で「オープン」バス
を介してプレーヤ170に提供されるので、そのコンテンツは保護される。さら
に、スクランブルされたコンテンツのスクランブル解除に関連するシークレット
、およびスクランブル解除を実行するプログラミング命令が、侵入および覗きか
ら保護される。それにもかかわらず、コアとなるスクランブル解除サービスなど
の性能に敏感な動作に負担がかからない。最後に、耐侵犯サービス、すなわちデ
スクランブラ174や認証装置176などは携帯可能性が高く、任意数のデコー
ダ実装とリンクすることができる。
示している。図示のように、図示の実施形態では、コンピュータ・システム20
0は、プロセッサ202、プロセッサ・バス206、高性能入出力バス210、
および標準入出力バス220を含む。プロセッサ・バス206と高性能入出力バ
ス210はホスト・ブリッジ208によってブリッジされ、入出力バス210と
212は入出力バス・ブリッジ212によってブリッジされる。プロセッサ・バ
ス206にはキャッシュ204が結合される。高性能入出力バス210にはシス
テム・メモリ214およびビデオ・メモリ216が結合され、ビデオ・メモリに
はビデオ・ディスプレイ218が結合される。標準入出力バス220には、ディ
スク・ドライブ222と、キーボードおよびポインティング・デバイス224と
、DVD−ROM226とが結合される。
には、ディスク・ドライブ222およびシステム・メモリ214は、プロセッサ
202によって実行されるとき、本発明の耐侵犯性アプリケーションの永久およ
びワーキング・コピーを記憶するために使用される。永久コピーは、工場でディ
スク・ドライブ222に事前にロードしておくことも、配布媒体(図示せず)か
らロードすることも、オンライン/ネットワークの配布ソース(図示せず)から
ダウンロードすることもできる。これらのエレメントの構成は既知である。当技
術分野で既知のこれらのエレメントのいくつかの実装のいずれか1つを使用して
、コンピュータ・システム200を形成することができる。
構成のコンピュータ・システムを利用して、本発明を実施することもできる。
発明が上述の実施形態に限定されないことを当業者なら理解するであろう。本発
明は、添付の特許請求の範囲の趣旨および範囲内で、修正および改変を加えて実
施することができる。したがって、この説明は本発明を限定するものではなく、
例示するものとしてみなされたい。
ック図である。
。
示すブロック図である。
レーヤの一実施形態を示すブロック図である。
ック図である。
Claims (32)
- 【請求項1】 複数のオブファスケイトなプログラミング命令の実行が覗か
れているかどうかを自己検証するように設計された複数のオブファスケイトなプ
ログラミング命令を記憶している記憶媒体と、 記憶媒体に結合された、プログラミング命令を実行するための実行ユニットと
を含む装置。 - 【請求項2】 複数のオブファスケイトなプログラミング命令が、この装置
がオブファスケイトなプログラミング命令のシングル・ステップ実行をサポート
するモードで操作されているかどうかを判定するように設計されたオブファスケ
イトなプログラミング命令を含む請求項1に記載の装置。 - 【請求項3】 複数のオブファスケイトなプログラミング命令が、前記シン
グル・ステップ実行をサポートするかどうかの判定を実行するためにこの装置の
状態変数にアクセスするよう設計されたオブファスケイトなプログラミング命令
を含む請求項2に記載の装置。 - 【請求項4】 複数のオブファスケイトなプログラミング命令が、経過した
実行時間の長さがしきい値を超えたかどうかを検証するように設計されたオブフ
ァスケイトなプログラミング命令を含む請求項1に記載の装置。 - 【請求項5】 複数のオブファスケイトなプログラミング命令が、記録され
たタイムスタンプに基づいて経過した実行時間の長さを計算するように設計され
たオブファスケイトなプログラミング命令をさらに含む請求項4に記載の装置。 - 【請求項6】 複数のオブファスケイトなプログラミング命令が、この装置
のタイマの現在の値を取り出し、この取り出した現在のタイマの値を記録タイム
スタンプとして記憶するように設計されたオブファスケイトなプログラミング命
令をさらに含む請求項5に記載の装置。 - 【請求項7】 取り出した現在のタイマの値を記録タイムスタンプとして記
憶するように設計されたオブファスケイトなプログラミング命令が、この取り出
した現在の値を、少なくとも1つのその他の耐侵入技術と共有する記憶位置に記
憶する請求項6に記載の装置。 - 【請求項8】 a)複数のオブファスケイトなプログラミング命令を実行す
るステップと、 b)実行が覗かれていないことを、この複数のオブファスケイトなプログラミ
ング命令によって自己検証するステップと、 c)(b)で実行が覗かれていることが検証された場合に、前記(a)の実行
を終了するステップと を含む方法。 - 【請求項9】 (b)が、複数のオブファスケイトなプログラミング命令が
、それらがシングル・ステップ実行をサポートするモードで実行されているかど
うかを判定するステップを含む請求項8に記載の方法。 - 【請求項10】 (b)が、前記のシングル・ステップ実行をサポートする
かどうかの判定を行うために、複数のオブファスケイトなプログラミング命令が
状態変数にアクセスするステップを含む請求項9に記載の方法。 - 【請求項11】 (b)が、複数のオブファスケイトなプログラミング命令
が経過した実行時間の長さがしきい値を超えたかどうかを検証するステップを含
む請求項8に記載の方法。 - 【請求項12】 (b)が、記録されたタイムスタンプに基づいて、経過し
た実行時間の長さを計算するステップを含む請求項11に記載の方法。 - 【請求項13】 (b)が、タイマの現在の値を取り出し、この取り出した
現在のタイマの値を記録タイムスタンプとして記憶するステップをさらに含む請
求項12に記載の方法。 - 【請求項14】 (b)が、取り出した現在の値を、別の耐侵入技術と共有
する記憶位置に記憶することを含む請求項13に記載の方法。 - 【請求項15】 その装置がオブファスケイトなプログラミング命令のシン
グル・ステップ実行をサポートするモードで操作されているかどうかを判定する
ように設計された複数のオブファスケイトなプログラミング命令を記憶している
記憶媒体と、 記憶媒体に結合された、プログラミング命令を実行するための実行ユニットと
を含む装置。 - 【請求項16】 複数のオブファスケイトなプログラミング命令が、前記シ
ングル・ステップ実行をサポートするかどうかの判定を実行するためにこの装置
の状態変数にアクセスするよう設計されたオブファスケイトなプログラミング命
令を含む請求項15に記載の装置。 - 【請求項17】 a)複数のオブファスケイトなプログラミング命令を実行
するステップと、 b)オブファスケイトなプログラミング命令が、シングル・ステップ実行をサ
ポートするモードで実行されているかどうかを判定するステップと、 c)(b)で実行がシングル・ステップ実行をサポートするモードで実行され
ていることが検証された場合に、前記(a)の実行を終了するステップと を含む方法。 - 【請求項18】 (b)が、前記のシングル・ステップ実行をサポートする
かどうかの判定を行うために、複数のオブファスケイトなプログラミング命令が
状態変数にアクセスするステップを含む請求項17に記載の方法。 - 【請求項19】 経過した実行時間の長さがしきい値を超えたかどうかを検
証するように設計された複数のオブファスケイトなプログラミング命令を記憶し
ている記憶媒体と、 記憶媒体に結合された、プログラミング命令を実行するための実行ユニットと
を含む装置。 - 【請求項20】 複数のオブファスケイトなプログラミング命令が、記録さ
れたタイムスタンプに基づいて経過した実行時間の長さを計算するように設計さ
れたオブファスケイトなプログラミング命令をさらに含む請求項19に記載の装
置。 - 【請求項21】 複数のオブファスケイトなプログラミング命令が、この装
置のタイマの現在の値を取り出し、この取り出した現在のタイマの値を記録タイ
ムスタンプとして記憶するように設計されたオブファスケイトなプログラミング
命令をさらに含む請求項20に記載の装置。 - 【請求項22】 取り出した現在のタイマの値を記録タイムスタンプとして
記憶するように設計されたオブファスケイトなプログラミング命令が、この取り
出した現在の値を、少なくとも1つのその他の耐侵入技術と共有する記憶位置に
記憶する請求項21に記載の装置。 - 【請求項23】 a)複数のオブファスケイトなプログラミング命令を実行
するステップと、 b)経過した実行時間の長さがしきい値を超えているかどうかを検証するステ
ップと、 c)(b)で実行が覗かれていることが検証された場合に、前記(a)の実行
を終了するステップと を含む方法。 - 【請求項24】 (b)が、記録されたタイムスタンプに基づいて、経過し
た実行時間の長さを計算するステップを含む請求項23に記載の方法。 - 【請求項25】 (b)が、タイマの現在の値を取り出し、この取り出した
現在のタイマの値を記録タイムスタンプとして記憶するステップをさらに含む請
求項24に記載の方法。 - 【請求項26】 (b)が、取り出した現在の値を、別の耐侵入技術と共有
する記憶位置に記憶するステップを含む請求項25に記載の方法。 - 【請求項27】 第1と第2の耐侵入技術をそれぞれ実施するように設計さ
れた第1と第2の複数のオブファスケイトなプログラミング命令を記憶している
記憶媒体であって、第1と第2の複数のプログラミング命令が、第1と第2の耐
侵入技術に対応する第1と第2のキー値の記憶位置を共有する記憶媒体と、 記憶媒体に結合された、プログラミング命令を実行する実行ユニットと を含む装置。 - 【請求項28】 第1の複数のオブファスケイトなプログラミング命令が、
キーをベースとしたシークレット取出し技術を実施するように設計され、第2の
複数のオブファスケイトなプログラミング命令が、経過した実行時間の長さがし
きい値を超えていないことを検証するように設計される請求項27に記載の装置
。 - 【請求項29】 記憶媒体がさらに、第3の耐侵入技術を実施するように設
計された第3の複数のオブファスケイトなプログラミング命令を記憶しており、
この第3の複数のオブファスケイトなプログラミング命令も、第3の耐侵入技術
に対応する第3のキー値のために同じ記憶位置を共有する請求項27に記載の装
置。 - 【請求項30】 第1の複数のオブファスケイトなプログラミング命令が、
キーをベースとしたシークレット取出し技術を実施するように設計され、第2の
複数のオブファスケイトなプログラミング命令が、経過した実行時間の長さがし
きい値を超えていないことを検証するように設計され、第3の複数のオブファス
ケイトなプログラミング命令が、認証プロセスを実施するように設計される請求
項29に記載の装置。 - 【請求項31】 a)第1の複数のオブファスケイトなプログラミング命令
を実行し、第1の耐侵入技術に対応する第1のキー値を共有記憶位置に記憶する
ことも含めて第1の耐侵入技術を実施すること、および b)第2の複数のオブファスケイトなプログラミング命令を実行し、第2の耐
侵入技術に対応する第2のキー値を同じ共有記憶位置に記憶することも含めて第
2の耐侵入技術を実施すること を含む方法。 - 【請求項32】 (c)第3の複数のオブファスケイトなプログラミング命
令を実行し、第3の耐侵入技術に対応する第3のキー値を同じ共有記憶位置に記
憶することも含めて第3の耐侵入技術を実施することをさらに含む請求項31に
記載の方法。
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 true JP2001516908A (ja) | 2001-10-02 |
JP2001516908A5 JP2001516908A5 (ja) | 2006-01-05 |
JP4544739B2 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007055169A1 (ja) * | 2005-11-09 | 2007-05-18 | Nec Corporation | 通信端末装置、サーバ端末装置、それらを用いる通信システム |
JP2010039891A (ja) * | 2008-08-07 | 2010-02-18 | Nec Corp | 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム |
JP2010507873A (ja) * | 2006-10-27 | 2010-03-11 | キョウセラ ワイヤレス コープ. | 物理的にセキュア化されていないソフトウェアエレメントのためのセキュリティ |
Families Citing this family (109)
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 |
US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log |
US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution |
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 |
US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode |
US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus |
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 |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6678825B1 (en) | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
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 |
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 |
EP2267626B8 (en) * | 2001-03-28 | 2016-11-30 | NDS Limited | 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 |
US20050097342A1 (en) * | 2001-05-21 | 2005-05-05 | Cyberscan Technology, Inc. | Trusted watchdog method and apparatus for securing program execution |
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 |
EP1795993B1 (en) * | 2002-07-30 | 2018-02-28 | Fujitsu Limited | Method and apparatus for reproducing information using a security module |
WO2004023313A1 (en) | 2002-09-04 | 2004-03-18 | Fraunhofer Crcg, Inc. | 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 |
US7900017B2 (en) | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
US20040128345A1 (en) * | 2002-12-27 | 2004-07-01 | Robinson Scott H. | Dynamic service registry |
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 |
US7353499B2 (en) * | 2003-09-25 | 2008-04-01 | Sun Microsystems, Inc. | Multiple instruction dispatch tables for application program obfuscation |
US8220058B2 (en) * | 2003-09-25 | 2012-07-10 | Oracle America, Inc. | Rendering and encryption engine for application program obfuscation |
US7415618B2 (en) * | 2003-09-25 | 2008-08-19 | Sun Microsystems, Inc. | Permutation of opcode values 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 |
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 |
US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
TWI484769B (zh) * | 2006-05-09 | 2015-05-11 | 內數位科技公司 | 無線裝置安全時間功能 |
US7818799B2 (en) * | 2006-05-30 | 2010-10-19 | Microsoft Corporation | Tamper response mechanism |
US8286138B2 (en) * | 2007-01-30 | 2012-10-09 | Microsoft Corporation | Multi-threaded detection of a game software debugger |
US20110047630A1 (en) * | 2007-02-09 | 2011-02-24 | Agency For Science, Technology And Research | 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 |
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 | 동양대학교 산학협력단 | 시간정보 왜곡보정이 가능한 타임스탬프를 이용한 데이터 숨김방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS619740A (ja) * | 1984-06-26 | 1986-01-17 | Matsushita Electric Ind Co Ltd | プログラムの領域はみ出し検出装置 |
JPH0855023A (ja) * | 1994-07-25 | 1996-02-27 | Motorola Inc | データ処理システムおよびその方法 |
WO1997004394A1 (en) * | 1995-07-14 | 1997-02-06 | Christopher Nathan Drake | Computer software authentication, protection, and security system |
WO1997048203A1 (en) * | 1996-06-13 | 1997-12-18 | Intel Corporation | Tamper resistant methods and apparatus |
Family Cites Families (30)
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 |
GB2163577B (en) * | 1984-08-23 | 1988-01-13 | Nat Res Dev | 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 |
ES2041712T3 (es) | 1987-03-04 | 1993-12-01 | Siemens Nixdorf Informationssysteme Ag | Sistema de intercambio de datos. |
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 |
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 |
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 |
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 KR KR10-2000-7002387A patent/KR100405574B1/ko not_active IP Right Cessation
- 1998-07-17 KR KR10-2003-7012888A patent/KR20030085086A/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 EP EP98935776A patent/EP1020049A4/en not_active Withdrawn
- 1998-07-17 JP JP2000511282A patent/JP4544739B2/ja not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS619740A (ja) * | 1984-06-26 | 1986-01-17 | Matsushita Electric Ind Co Ltd | プログラムの領域はみ出し検出装置 |
JPH0855023A (ja) * | 1994-07-25 | 1996-02-27 | Motorola Inc | データ処理システムおよびその方法 |
WO1997004394A1 (en) * | 1995-07-14 | 1997-02-06 | Christopher Nathan Drake | Computer software authentication, protection, and security system |
WO1997048203A1 (en) * | 1996-06-13 | 1997-12-18 | Intel Corporation | Tamper resistant methods and apparatus |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007055169A1 (ja) * | 2005-11-09 | 2007-05-18 | Nec Corporation | 通信端末装置、サーバ端末装置、それらを用いる通信システム |
US8112623B2 (en) | 2005-11-09 | 2012-02-07 | Nec Corporation | Communication terminal apparatus, server terminal apparatus, and communication system using the same |
JP4978896B2 (ja) * | 2005-11-09 | 2012-07-18 | 日本電気株式会社 | 通信端末装置、サーバ端末装置、それらを用いる通信システム |
JP2010507873A (ja) * | 2006-10-27 | 2010-03-11 | キョウセラ ワイヤレス コープ. | 物理的にセキュア化されていないソフトウェアエレメントのためのセキュリティ |
JP2010039891A (ja) * | 2008-08-07 | 2010-02-18 | Nec Corp | 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
KR20010023733A (ko) | 2001-03-26 |
US6205550B1 (en) | 2001-03-20 |
KR20030085086A (ko) | 2003-11-01 |
AU8495798A (en) | 1999-03-29 |
EP1020049A1 (en) | 2000-07-19 |
EP1020049A4 (en) | 2000-10-11 |
JP4544739B2 (ja) | 2010-09-15 |
KR100405574B1 (ko) | 2003-11-14 |
WO1999013613A1 (en) | 1999-03-18 |
KR20030085085A (ko) | 2003-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001516908A (ja) | 不正な侵入を防ぐ方法および装置 | |
US6178509B1 (en) | Tamper resistant methods and apparatus | |
US6175925B1 (en) | Tamper resistant player for scrambled contents | |
JP3363379B2 (ja) | 安全な記憶領域内のアプリケーション・データを保護する方法及び装置 | |
US7765406B2 (en) | System, computer program and method for a crytographic system using volatile allocation of a superkey | |
KR100851631B1 (ko) | 보안 모드 제어 메모리 | |
US6253324B1 (en) | Server verification of requesting clients | |
JP4739644B2 (ja) | 悪質コード検出方法 | |
US9043615B2 (en) | Method and apparatus for a trust processor | |
KR100851623B1 (ko) | 암호 코프로세서를 포함하는 장치 | |
US8949989B2 (en) | Auditing a device | |
US7930537B2 (en) | Architecture for encrypted application installation | |
US8769675B2 (en) | Clock roll forward detection | |
EP1449048B1 (en) | Method, system, device and computer program for mutual authentication and content protection | |
US20060253714A1 (en) | Information processor, tamper-proof method, and tamper-proof program | |
US20090199017A1 (en) | One time settable tamper resistant software repository | |
JP2004140715A (ja) | 電子文書管理方法及びシステム | |
CN117610083A (zh) | 文件校验方法、装置、电子设备及计算机存储介质 |
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 |