JP4544739B2 - 不正な侵入を防ぐ方法および装置 - Google Patents

不正な侵入を防ぐ方法および装置 Download PDF

Info

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
Application number
JP2000511282A
Other languages
English (en)
Other versions
JP2001516908A (ja
JP2001516908A5 (ja
Inventor
ナードーン,ジョセフ・エム
マンゴールド,リチャード・ピイ
プフォテンハウアー,ジョディ・エル
シッピィ,キース・エル
オークスミス,デイビッド・ダブリュ
マリスツェウスキイ,リチャード・エル
グラウンク,ゲイリー・エル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2001516908A publication Critical patent/JP2001516908A/ja
Publication of JP2001516908A5 publication Critical patent/JP2001516908A5/ja
Application granted granted Critical
Publication of JP4544739B2 publication Critical patent/JP4544739B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time 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

【0001】
(関連出願)
本願は、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)

  1. 複数のオブファスケイトなプログラミング命令の実行が覗かれているかどうかを検証するように設計されたプログラミング命令の複数のオブファスケイト・セル(106)を記憶している記憶媒体を備える耐侵犯部分(104)であって、前記検証が第1と第2の覗き防止手段によって実行される、耐侵犯部分(104)と、そして
    非耐侵犯部分(102)をスキャンすることおよび前記非耐侵犯部分(102)の第1の署名を計算することによって前記複数のオブファスケイト・セル(106)により検証されるように、前記耐侵犯部分(104)に結合された非耐侵犯部分(102)
    から構成され、
    前記耐侵犯部分(104)と非耐侵犯部分(102)は共にプログラミング命令を実行するための実行ユニットを形成する、
    耐侵犯モジュール(100)装置。
  2. 耐侵犯モジュール(100)の耐侵犯部分(104)において、プログラミング命令の複数のオブファスケイト・セル(106)を実行するステップと、
    前記耐侵犯部分(104)の前記複数のオブファスケイト・セルの前記実行が覗かれていることを、プログラミング命令の前記複数のオブファスケイト・セル(106)によって、検証するステップであって、その検証が第1と第2の覗き防止手段によって実行されるステップと、
    プログラミング命令の前記複数のオブファスケイト・セル(106)により、前記耐侵犯部分(104)に結合された非耐侵犯部分(102)を、すなわち、前記オブファスケイト・セルの前記実行が侵入者により生じさせられていることを、検証するステップであって、前記非耐侵犯部分(102)をスキャンすることおよび前記非耐侵犯部分の署名を計算することにより前記検証が実行されるステップと、そして
    前記実行が前記侵入者によって生成じさせられているかまたは覗かれていることが検証された場合に、前記オブファスケイト・セルの前記実行を終了するステップと
    を含む方法。
  3. プログラミング命令の前記オブファスケイト・セル(106)が、シングル・ステップ実行をサポートするモードで実行されているかどうかを判定するステップと、そして
    前記実行がシングル・ステップ実行をサポートするモードで実行されていることが検証された場合に、前記複数のオブファスケイト・セルの前記実行を終了するステップと
    を含むことを特徴とする請求項2に記載の方法。
  4. プログラミング命令の複数のオブファスケイト・セルは経過した実行時間の長さがしきい値を超えたかどうかを検証するように設計されていることを特徴とする請求項1に記載の耐侵犯モジュール(100)装置。
  5. 前記耐侵犯モジュール(100)の前記耐侵犯部分で実行する前記複数のオブファスケイト・セルによって前記耐侵犯モジュール(100)内からのタイマ値を記憶するステップと、
    前記耐侵犯モジュール(100)の前記耐侵犯部分で実行する前記複数のオブファスケイト・セルによって前記タイマ値に基づいて経過した実行時間の長さがしきい値を超えているかどうかを検証するステップと、そして
    前記経過した実行時間の長さがしきい値を超えていることが検証された場合に、前記複数のオブファスケイト・セルの実行を終了するステップと
    を含むことを特徴とする請求項2に記載の方法。
  6. 前記第1の覗き防止手段は前記プログラミング命令のシングル・ステップ実行モードを判定し、そして
    前記第2の覗き防止手段は前記プログラミング命令の経過した実行時間がしきい値を超えたことを検証する、
    ことを特徴とする請求項1に記載の耐侵犯モジュール(100)装置。
  7. 前記第1の覗き防止手段はプログラム命令の前記実行している第1の複数のオブファスケイト・セルのシングル・ステップ実行モードを判定し、そして
    前記第2の覗き防止手段はプログラム命令の前記実行している第2の複数のオブファスケイト・セルの経過した実行時間がしきい値を超えたことを検証する、
    ことを特徴とする請求項2に記載の方法。
  8. プログラミング命令の前記複数のオブファスケイト・セルが前記非耐侵犯部分(102)に対する第2署名であって前記非耐侵犯部分(102)にあらかじめ記憶された署名である第2の署名を取り出すことを特徴とする請求項に記載の耐侵犯モジュール(100)装置
  9. プログラミング命令の前記複数のオブファスケイト・セルが前記第1の署名を前記第2の署名と比較することを特徴とする請求項8に記載の耐侵犯モジュール(100)装置
JP2000511282A 1997-09-05 1998-07-17 不正な侵入を防ぐ方法および装置 Expired - Lifetime JP4544739B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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