JP2002082732A - プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体 - Google Patents

プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体

Info

Publication number
JP2002082732A
JP2002082732A JP2000269460A JP2000269460A JP2002082732A JP 2002082732 A JP2002082732 A JP 2002082732A JP 2000269460 A JP2000269460 A JP 2000269460A JP 2000269460 A JP2000269460 A JP 2000269460A JP 2002082732 A JP2002082732 A JP 2002082732A
Authority
JP
Japan
Prior art keywords
program
program code
encryption key
encryption
encrypted
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.)
Pending
Application number
JP2000269460A
Other languages
English (en)
Inventor
Takuya Morishita
卓也 森下
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000269460A priority Critical patent/JP2002082732A/ja
Priority to US09/942,994 priority patent/US20020029344A1/en
Publication of JP2002082732A publication Critical patent/JP2002082732A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/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
    • 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/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 暗号化されたプログラムコードを高速に実行
可能なプログラムコードの不正改竄防止システムを提供
する。 【解決手段】 高速暗号解除手段16はデータ処理装置
1の実行時に、データ処理装置1の初期化時に実行され
る暗号解除手段14と同様に、暗号鍵算出手段12が算
出した暗号鍵を使用して暗号化されたプログラムコード
の暗号を解除するが、暗号解除手段14よりも高速に暗
号解除を実行する。不正操作検出手段15はソフトウェ
アデバッガ等によってプログラムコードの動作が解析さ
れていないかどうかを検出する。データ処理装置1は不
正操作検出手段15がプログラムコードの解析が行われ
ていると判定した場合、以降の処理で暗号化されたプロ
グラムコードを使用せずに暗号化されたダミープログラ
ムを使用するかあるいは処理を中止する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラムコードの
不正改竄防止システム及びその方法並びにその制御プロ
グラムを記録した記録媒体に関し、特にプログラムコー
ドに対して暗号化を施してその不正改竄を防止するシス
テムに関する。
【0002】
【従来の技術】従来、プログラムコードの不正改竄防止
システムとしては、特開2000−122861号公報
に開示されたシステムがある。この不正改竄防止システ
ムは、図4に示すように、プログラム制御によって動作
するデータ処理装置3と、ファイル装置4とから構成さ
れている。
【0003】データ処理装置3は非暗号プログラム読込
み手段31と、暗号鍵算出手段32と、暗号化プログラ
ム読込み手段33と、暗号解除手段34とからなり、フ
ァイル装置4は非暗号プログラム記憶手段41と、暗号
化プログラム記憶手段42とからなる。
【0004】上記のプログラムコードの不正改竄防止シ
ステムにおいて、非暗号プログラム記憶手段41には暗
号化されていないプログラムコードが格納され、暗号化
プログラム記憶手段42には暗号化されたプログラムコ
ード#1〜#nが複数のブロック#1〜#nにそれぞれ
分割されて格納されている。これらは非暗号プログラム
記憶手段41に格納された暗号化されていないプログラ
ムコード、暗号化されたブロック#1〜#nの順に、デ
ータ処理装置3に読込まれるものとする。
【0005】非暗号プログラム読込み手段31は非暗号
プログラム記憶手段41から図示せぬ主記憶上に暗号化
されていないプログラムコードを読込む。暗号鍵算出手
段32はこの主記憶上にあるプログラムコードの一方向
関数(ハッシュ関数等)を使用し、読込まれる暗号化さ
れたプログラムコードブロックを平文化するための暗号
鍵を生成する。
【0006】暗号化プログラム読込み手段33は暗号化
プログラム記憶手段42から主記憶上に次に実行する暗
号化されたプログラムコードを読込む。暗号解除手段3
4は暗号鍵算出手段32で算出された暗号鍵を使用し、
暗号化されたプログラムコードの暗号を解除する。
【0007】
【発明が解決しようとする課題】上述した従来のプログ
ラムコードの不正改竄防止システムでは、上記のような
プログラムコードの暗号解除処理を繰り返すため、暗号
化が施されたプログラムコードを実行する際の実行速度
が、プログラムコードに暗号化を施さない場合と比較し
て遅くなるという問題がある。
【0008】また、従来のプログラムコードの不正改竄
防止システムでは、ソフトウェアデバッガ等のプログラ
ムコードを実行しながら解析する手段に対して対策を行
っていないため、プログラムコードの暗号を解除する際
に使用する暗号鍵を不正な方法で使用者に取得される可
能性があるという問題がある。
【0009】そこで、本発明の目的は上記の問題点を解
消し、暗号化されたプログラムコードを高速に実行する
ことができるプログラムコードの不正改竄防止システム
及びその方法並びにその制御プログラムを記録した記録
媒体を提供することにある。
【0010】また、本発明の他の目的は、プログラムコ
ードの暗号を解除する際に使用する暗号鍵を不正な方法
で使用者に取得される可能性を低くすることができるプ
ログラムコードの不正改竄防止システム及びその方法並
びにその制御プログラムを記録した記録媒体を提供する
ことにある。
【0011】
【課題を解決するための手段】本発明によるプログラム
コードの不正改竄防止システムは、読込まれる暗号化プ
ログラムを平文化するための暗号鍵を生成する暗号鍵算
出手段と、前記暗号鍵算出手段で算出された暗号鍵を使
用して前記暗号化プログラムの暗号を解除する暗号解除
手段とを含むプログラムコードの不正改竄防止システム
であって、前記暗号鍵算出手段が算出した暗号鍵を使用
して前記暗号化プログラムの暗号を解除しかつ前記暗号
解除手段よりも高速に暗号解除を実行する高速暗号解除
手段を備え、自システムの初期化処理時に前記暗号解除
手段で前記暗号化プログラムの暗号を解除し、自システ
ムの実行処理時に前記高速暗号解除手段で前記暗号化プ
ログラムの暗号を解除するようにしている。
【0012】本発明による他のプログラムコードの不正
改竄防止システムは、上記の構成のほかに、少なくとも
ソフトウェアデバッガによってプログラムコードの動作
を解析する不正操作が行われていないかどうかを検出す
る不正操作検出手段を具備している。
【0013】本発明によるプログラムコードの不正改竄
防止方法は、読込まれる暗号化プログラムを平文化する
ための暗号鍵を生成する暗号鍵算出手段と、前記暗号鍵
算出手段で算出された暗号鍵を使用して前記暗号化プロ
グラムの暗号を解除する暗号解除手段とを含むプログラ
ムコードの不正改竄防止システムの不正改竄防止方法で
あって、自システムの初期化処理時に前記暗号解除手段
で前記暗号化プログラムの暗号を解除するステップと、
自システムの実行処理時に前記暗号鍵算出手段が算出し
た暗号鍵を使用して前記暗号化プログラムの暗号を解除
しかつ前記暗号解除手段よりも高速に暗号解除を実行す
る高速暗号解除手段で前記暗号化プログラムの暗号を解
除するステップとを備えている。
【0014】本発明による他のプログラムコードの不正
改竄防止方法は、上記のステップのほかに、少なくとも
ソフトウェアデバッガによってプログラムコードの動作
を解析する不正操作が行われていないかどうかを検出す
るステップを具備している。
【0015】本発明によるプログラムコードの不正改竄
防止制御プログラムを記録した記録媒体は、読込まれる
暗号化プログラムを平文化するための暗号鍵を生成する
暗号鍵算出手段と、前記暗号鍵算出手段で算出された暗
号鍵を使用して前記暗号化プログラムの暗号を解除する
暗号解除手段とを含むプログラムコードの不正改竄防止
システムの不正改竄防止制御プログラムを記録した記録
媒体であって、前記不正改竄防止制御プログラムは前記
暗号化プログラムを実行するデータ処理装置に、自装置
の初期化処理時に前記暗号解除手段で前記暗号化プログ
ラムの暗号を解除させ、自装置の実行処理時に前記暗号
鍵算出手段が算出した暗号鍵を使用して前記暗号化プロ
グラムの暗号を解除しかつ前記暗号解除手段よりも高速
に暗号解除を実行する高速暗号解除手段で前記暗号化プ
ログラムの暗号を解除させている。
【0016】本発明による他のプログラムコードの不正
改竄防止制御プログラムを記録した記録媒体は、上記の
動作のほかに、前記不正改竄防止制御プログラムは前記
データ処理装置に、少なくともソフトウェアデバッガに
よってプログラムコードの動作を解析する不正操作が行
われていないかどうかを検出させている。
【0017】すなわち、本発明のプログラムコードの不
正改竄防止システムは、暗号化されたプログラムコード
を高速に実行し、さらにソフトウェアデバッガ等による
解析を困難にすることが可能な構成を提供するものであ
る。
【0018】より具体的に、本発明のプログラムコード
の不正改竄防止システムでは、暗号解除手段と同様に、
暗号鍵算出手段が算出した暗号鍵を使用して暗号化され
たプログラムコードの暗号を解除するが、暗号解除手段
よりも高速に暗号解除を実行する高速暗号解除手段と、
ソフトウェアデバッガ等によってプログラムコードの動
作が解析されていないかどうかを検出する不正操作検出
手段とを有している。
【0019】本発明のプログラムコードの不正改竄防止
システムでは、不正操作検出手段がプログラムコードの
解析が行われていると判定した場合、以降の処理で暗号
化されたプログラムコードを使用せずに暗号化されたダ
ミープログラムを使用するかあるいは処理を中止する。
【0020】このように動作させることで、本発明のプ
ログラムコードの不正改竄防止システムでは、暗号化さ
れたプログラムコードを高速に実行し、さらにソフトウ
ェアデバッガ等による解析を困難にすることができる構
成を可能にする。
【0021】
【発明の実施の形態】次に、本発明の一実施例について
図面を参照して説明する。図1は本発明の一実施例によ
るプログラムコードの不正改竄防止システムの構成を示
すブロック図である。図1において、プログラムコード
の不正改竄防止システムはプログラム制御によって動作
するデータ処理装置1と、ファイル装置2とから構成さ
れている。
【0022】データ処理装置1は非暗号プログラム読込
み手段11と、暗号鍵算出手段12と、暗号化プログラ
ム読込み手段13と、暗号解除手段14と、不正操作検
出手段15と、高速暗号解除手段16とから構成されて
いる。また、ファイル装置2は非暗号プログラム記憶手
段21と、暗号化プログラム記憶手段22とから構成さ
れている。
【0023】ファイル装置2において、非暗号プログラ
ム記憶手段21には暗号化されていないプログラムコー
ド(以下、非暗号プログラムとする)が格納され、暗号
化プログラム記憶手段22には暗号化されたプログラム
コード(以下、暗号化プログラムとする)#1〜#nが
複数のブロック#1〜#nにそれぞれ分割されて格納さ
れている。これらは非暗号プログラム、ブロック#1〜
#nの暗号化プログラムの順に、データ処理装置1に読
込まれるものとする。
【0024】また、暗号化プログラム記憶手段22の各
ブロック#1〜#nは予め一つ前に実行されるプログラ
ムコードから暗号鍵算出手段12が算出した暗号鍵で暗
号化されている。さらに、暗号化プログラム記憶手段2
2の全ブロック#1〜#nはまとめて予め非暗号プログ
ラム記憶手段21に格納されたプログラムコードから暗
号鍵算出手段12が算出した暗号鍵で暗号化されてい
る。
【0025】暗号化プログラム記憶手段22には暗号化
されたダミープログラムコード(以下、暗号化ダミープ
ログラムとする)も格納されている。暗号化ダミープロ
グラムは実行しても意味の無いプログラムコードであ
り、本来実行されるプログラムコードと同様に、複数の
ブロック#1〜#nに分割されて格納されている。
【0026】非暗号プログラム読込み手段11は非暗号
プログラム記憶手段21から図示せぬ主記憶上に非暗号
プログラムを読込む。暗号鍵算出手段12はこの主記憶
上にあるプログラムコードの一方向関数(ハッシュ関数
等)を使用し、読込まれる暗号化プログラムを平文化す
るための暗号鍵を生成する。
【0027】暗号化プログラム読込み手段13は暗号化
プログラム記憶手段22から主記憶上に次に実行する暗
号化プログラムを読込む。暗号解除手段14は暗号鍵算
出手段12で算出された暗号鍵を使用し、暗号化プログ
ラムの暗号を解除する。
【0028】不正操作検出手段15はソフトウェアデバ
ッガ等によってプログラムコードの動作が解析されてい
ないかどうかを検出する。高速暗号解除手段16は、暗
号解除手段14と同様に、暗号鍵算出手段12で算出さ
れた暗号鍵を使用し、暗号化プログラムの暗号を解除す
るが、暗号解除手段14より高速に暗号解除を実行する
ようになっている。
【0029】図2は本発明の一実施例によるプログラム
コードの不正改竄防止システムの初期化時の動作を示す
フローチャートであり、図3は本発明の一実施例による
プログラムコードの不正改竄防止システムの実行時の動
作を示すフローチャートである。これら図1〜図3を参
照して本発明の一実施例によるプログラムコードの不正
改竄防止システム全体の動作について説明する。尚、図
2及び図3に示す動作はデター処理装置1が図示せぬ制
御メモリに記録されたプログラムを実行することで実現
され、制御メモリとしてはROM(リードオンリメモ
リ)やフロッピディスク等が使用可能である。
【0030】本発明の一実施例によるプログラムコード
の不正改竄防止システムの動作は大きく分けて初期化時
の動作と実行時の動作とに分かれている。初期化時の動
作は図2に、実行時の動作は図3にそれぞれ示されてい
る。初期化時の処理は一度しか実行されないが、実行時
の処理は暗号化プログラムの実行を必要とする毎に実行
される。
【0031】まず、データ処理装置1の初期化時におい
て、非暗号プログラム読込み手段11は非暗号プログラ
ム記憶手段21から非暗号プログラムを主記憶上に読込
み、プログラムコードの実行を開始する(図2ステップ
S1)。通常、この処理はオペレーティングシステムの
プログラム実行機構(図示せず)で管理されている。
【0032】不正操作検出手段15はソフトウェアデバ
ッガ等によってプログラムコードの動作が解析されてい
ないかどうかを検出する(図2ステップS2)。動作解
析等の不正操作が行われていない場合、暗号鍵算出手段
102は非暗号プログラム読込み手段11が主記憶上に
読込んだプログラムコードをハッシュ関数等の一方向関
数で変換し、暗号鍵を生成する(図2ステップS3)。
【0033】暗号化プログラム読込み手段13は暗号化
プログラム記憶手段22から主記憶上に暗号化プログラ
ムの全ブロックを読込む(図2ステップS4)。暗号解
除手段14は暗号鍵算出手段12で算出された暗号鍵を
使用し、暗号化プログラムの暗号を解除する(図2ステ
ップS5)。但し、この段階では暗号化プログラムの暗
号は全て解除されず、後に各ブロック毎に高速暗号解除
手段16で再度暗号を解除する必要がある。不正操作が
行われていない場合の初期化時の処理は以上で終了す
る。
【0034】不正操作が行われている場合、暗号鍵算出
手段12は非暗号プログラム読込み手段11が主記憶上
に読込んだプログラムコードをハッシュ関数等の一方向
関数で変換し、暗号化ダミープログラムの暗号を解除す
る暗号鍵を生成する(図2ステップS6)。
【0035】暗号化プログラム読込み手段13は暗号化
プログラム記憶手段22から主記憶上に暗号化ダミープ
ログラムの全ブロックを読込む(図2ステップS7)。
暗号解除手段14は暗号鍵算出手段12で算出された暗
号鍵を使用し、暗号化ダミープログラムの暗号を解除す
る(図2ステップS8)。但し、この段階では暗号化ダ
ミープログラムの暗号は全て解除されず、後に各ブロッ
ク毎に高速暗号解除手段16で再度暗号を解除する必要
がある。
【0036】しかしながら、この暗号解除で得られるプ
ログラムコードはダミーコードのため、実際に実行され
るはずの処理は一切行われない。不正操作が行われてい
た場合の初期化時の処理は以上で終了する。
【0037】一方、データ処理装置1の実行時におい
て、不正操作検出手段15はソフトウェアデバッガ等に
よってプログラムコードの動作が解析されていないかど
うかを検出する(図3ステップS11)。データ処理装
置1は不正操作が行われている場合、その実行時の処理
を終了する。
【0038】動作解析等の不正操作が行われていない場
合、高速暗号解除手段16は暗号化プログラムを1ブロ
ック主記憶上で複写する(図3ステップS12)。高速
暗号解除手段16は複写された主記憶上の暗号化プログ
ラムを暗号鍵算出手段12で算出された暗号鍵を使用し
て暗号を解除する(図3ステップS13)。
【0039】この時、高速暗号解除手段16による暗号
解除は暗号解除手段14よりも高速に実行される。高速
な暗号解除としては、例えば暗号鍵長を短くしたり、あ
るいはラウンド数を減らしたりすることで容易に実現可
能である。
【0040】暗号鍵算出手段12は暗号解除されたプロ
グラムコードのハッシュ値を算出し、これを次回の暗号
解除時の暗号鍵とする(図3ステップS14)。この後
に、データ処理装置1は現在主記憶上にある暗号が解除
されたプログラムコードを実行する(図3ステップS1
5)。この処理の中では不正コピーの判定等が行われ
る。
【0041】続いて、データ処理装置1は現在主記憶上
にある暗号が解除されたプログラムコードを破棄する
(図3ステップS16)。データ処理装置1は暗号化プ
ログラム記憶手段22内の全てのブロックのプログラム
コードについて上記の処理が行われたかどうかを判定し
(図3ステップS17)、全てのブロックのプログラム
コードについて処理が実行されていれば処理を終了し、
全てのブロックのプログラムコードについて処理が実行
されていなければステップS11に戻って処理が続行さ
れる。
【0042】このように、暗号化処理を一度しか実行し
ない初期化処理と複数回実行される実行処理とに分離
し、実行処理に使用する暗号解除アルゴリズムに高速な
ものを使用することによって、暗号化プログラムを高速
に実行することができる。
【0043】また、ソフトウェアデバッガ等のプログラ
ムコードを実行しながら動作を解析する手段を検出した
時にその後の動作を変えることによって、正しい暗号鍵
を得ることを困難にすることができるので、プログラム
コードの暗号を解除する際に使用する暗号鍵を不正な方
法で使用者に取得される可能性を低くすることができ
る。
【0044】
【発明の効果】以上説明したように本発明のプログラム
コードの不正改竄防止システムによれば、読込まれる暗
号化プログラムを平文化するための暗号鍵を生成する暗
号鍵算出手段と、暗号鍵算出手段で算出された暗号鍵を
使用して暗号化プログラムの暗号を解除する暗号解除手
段とを含むプログラムコードの不正改竄防止システムに
おいて、自システムの初期化処理時に暗号解除手段で暗
号化プログラムの暗号を解除し、自システムの実行処理
時に暗号鍵算出手段が算出した暗号鍵を使用して暗号化
プログラムの暗号を解除しかつ暗号解除手段よりも高速
に暗号解除を実行する高速暗号解除手段で暗号化プログ
ラムの暗号を解除することによって、暗号化されたプロ
グラムコードを高速に実行することができるという効果
がある。
【0045】また、本発明の他のプログラムコードの不
正改竄防止システムによれば、少なくともソフトウェア
デバッガによってプログラムコードの動作を解析する不
正操作が行われていないかどうかを検出することによっ
て、プログラムコードの暗号を解除する際に使用する暗
号鍵を不正な方法で使用者に取得される可能性を低くす
ることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるプログラムコードの不
正改竄防止システムの構成を示すブロック図である。
【図2】本発明の一実施例によるプログラムコードの不
正改竄防止システムの初期化時の動作を示すフローチャ
ートである。
【図3】本発明の一実施例によるプログラムコードの不
正改竄防止システムの実行時の動作を示すフローチャー
トである。
【図4】従来例によるプログラムコードの不正改竄防止
システムの構成を示すブロック図である。
【符号の説明】
1 データ処理装置 2 ファイル装置 11 非暗号プログラム読込み手段 12 暗号鍵算出手段 13 暗号化プログラム読込み手段 14 暗号解除手段 15 不正操作検出手段 16 高速暗号解除手段 21 非暗号プログラム記憶手段 22 暗号化プログラム記憶手段

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 読込まれる暗号化プログラムを平文化す
    るための暗号鍵を生成する暗号鍵算出手段と、前記暗号
    鍵算出手段で算出された暗号鍵を使用して前記暗号化プ
    ログラムの暗号を解除する暗号解除手段とを含むプログ
    ラムコードの不正改竄防止システムであって、前記暗号
    鍵算出手段が算出した暗号鍵を使用して前記暗号化プロ
    グラムの暗号を解除しかつ前記暗号解除手段よりも高速
    に暗号解除を実行する高速暗号解除手段を有し、自シス
    テムの初期化処理時に前記暗号解除手段で前記暗号化プ
    ログラムの暗号を解除し、自システムの実行処理時に前
    記高速暗号解除手段で前記暗号化プログラムの暗号を解
    除するようにしたことを特徴とするプログラムコードの
    不正改竄防止システム。
  2. 【請求項2】 少なくともソフトウェアデバッガによっ
    てプログラムコードの動作を解析する不正操作が行われ
    ていないかどうかを検出する不正操作検出手段を含むこ
    とを特徴とする請求項1記載のプログラムコードの不正
    改竄防止システム。
  3. 【請求項3】 前記暗号化プログラムは、実行しても意
    味の無い暗号化されたダミープログラムコードを含むこ
    と特徴とする請求項1または請求項2記載のプログラム
    コードの不正改竄防止システム。
  4. 【請求項4】 前記不正操作検出手段が前記不正操作を
    検出した時に前記ダミープログラムコードの暗号を解除
    するようにしたこと特徴とする請求項3記載のプログラ
    ムコードの不正改竄防止システム。
  5. 【請求項5】 前記不正操作検出手段が前記不正操作を
    検出した時に前記暗号化プログラムの暗号解除処理を中
    止するようにしたこと特徴とする請求項3または請求項
    4記載のプログラムコードの不正改竄防止システム。
  6. 【請求項6】 読込まれる暗号化プログラムを平文化す
    るための暗号鍵を生成する暗号鍵算出手段と、前記暗号
    鍵算出手段で算出された暗号鍵を使用して前記暗号化プ
    ログラムの暗号を解除する暗号解除手段とを含むプログ
    ラムコードの不正改竄防止システムの不正改竄防止方法
    であって、自システムの初期化処理時に前記暗号解除手
    段で前記暗号化プログラムの暗号を解除するステップ
    と、自システムの実行処理時に前記暗号鍵算出手段が算
    出した暗号鍵を使用して前記暗号化プログラムの暗号を
    解除しかつ前記暗号解除手段よりも高速に暗号解除を実
    行する高速暗号解除手段で前記暗号化プログラムの暗号
    を解除するステップとを有することを特徴とするプログ
    ラムコードの不正改竄防止方法。
  7. 【請求項7】 少なくともソフトウェアデバッガによっ
    てプログラムコードの動作を解析する不正操作が行われ
    ていないかどうかを検出するステップを含むことを特徴
    とする請求項6記載のプログラムコードの不正改竄防止
    方法。
  8. 【請求項8】 前記暗号化プログラムは、実行しても意
    味の無い暗号化されたダミープログラムコードを含むこ
    と特徴とする請求項6または請求項7記載のプログラム
    コードの不正改竄防止方法。
  9. 【請求項9】 前記不正操作が行われていないかどうか
    を検出するステップが前記不正操作を検出した時に前記
    ダミープログラムコードの暗号を解除するようにしたこ
    と特徴とする請求項8記載のプログラムコードの不正改
    竄防止方法。
  10. 【請求項10】 前記不正操作が行われていないかどう
    かを検出するステップが前記不正操作を検出した時に前
    記暗号化プログラムの暗号解除処理を中止するようにし
    たこと特徴とする請求項8または請求項9記載のプログ
    ラムコードの不正改竄防止方法。
  11. 【請求項11】 読込まれる暗号化プログラムを平文化
    するための暗号鍵を生成する暗号鍵算出手段と、前記暗
    号鍵算出手段で算出された暗号鍵を使用して前記暗号化
    プログラムの暗号を解除する暗号解除手段とを含むプロ
    グラムコードの不正改竄防止システムの不正改竄防止制
    御プログラムを記録した記録媒体であって、前記不正改
    竄防止制御プログラムは前記暗号化プログラムを実行す
    るデータ処理装置に、自装置の初期化処理時に前記暗号
    解除手段で前記暗号化プログラムの暗号を解除させ、自
    装置の実行処理時に前記暗号鍵算出手段が算出した暗号
    鍵を使用して前記暗号化プログラムの暗号を解除しかつ
    前記暗号解除手段よりも高速に暗号解除を実行する高速
    暗号解除手段で前記暗号化プログラムの暗号を解除させ
    ることを特徴とするプログラムコードの不正改竄防止制
    御プログラムを記録した記録媒体。
  12. 【請求項12】 前記不正改竄防止制御プログラムは前
    記データ処理装置に、少なくともソフトウェアデバッガ
    によってプログラムコードの動作を解析する不正操作が
    行われていないかどうかを検出させることを特徴とする
    請求項11記載のプログラムコードの不正改竄防止制御
    プログラムを記録した記録媒体。
  13. 【請求項13】 前記不正改竄防止制御プログラムは前
    記データ処理装置に、前記不正操作が行われていないか
    どうかを検出させる際に、前記不正操作が検出された時
    に前記暗号化プログラムに含まれかつ実行しても意味の
    無い暗号化されたダミープログラムコードの暗号を解除
    させること特徴とする請求項12記載のプログラムコー
    ドの不正改竄防止制御プログラムを記録した記録媒体。
  14. 【請求項14】 前記不正改竄防止制御プログラムは前
    記データ処理装置に、前記不正操作が行われていないか
    どうかを検出させる際に、前記不正操作が検出された時
    に前記暗号化プログラムの暗号解除処理を中止させるこ
    と特徴とする請求項12または請求項13記載のプログ
    ラムコードの不正改竄防止制御プログラムを記録した記
    録媒体。
JP2000269460A 2000-09-06 2000-09-06 プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体 Pending JP2002082732A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000269460A JP2002082732A (ja) 2000-09-06 2000-09-06 プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体
US09/942,994 US20020029344A1 (en) 2000-09-06 2001-08-31 System and method for decrypting encrypted computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000269460A JP2002082732A (ja) 2000-09-06 2000-09-06 プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2002082732A true JP2002082732A (ja) 2002-03-22

Family

ID=18756062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000269460A Pending JP2002082732A (ja) 2000-09-06 2000-09-06 プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US20020029344A1 (ja)
JP (1) JP2002082732A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193132A (ja) * 2008-02-12 2009-08-27 Rohm Co Ltd 情報処理システム、カートリッジ、および、情報処理端末
JP2009541825A (ja) * 2006-06-21 2009-11-26 ヴィーブ−システムズ アクチエンゲゼルシャフト 侵入検出のための方法と装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168562A1 (en) * 2005-02-25 2008-07-10 Tomoyuki Haga Secure Processing Device and Secure Processing System
US9274979B2 (en) * 2013-11-27 2016-03-01 Nvidia Corporation System, method, and computer program product for optimizing data encryption and decryption by implementing asymmetric AES-CBC channels
US10169251B1 (en) * 2015-12-10 2019-01-01 Massachusetts Institute Of Technology Limted execution of software on a processor

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095854B1 (en) * 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
CN1912885B (zh) * 1995-02-13 2010-12-22 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的***和方法
JPH09233066A (ja) * 1996-02-23 1997-09-05 Sony Corp 暗号化/解読化方法および装置
JP3746098B2 (ja) * 1996-02-28 2006-02-15 株式会社日立製作所 データの暗号化装置
US6141698A (en) * 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6009176A (en) * 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
US6459792B2 (en) * 1997-04-23 2002-10-01 Matsushita Electric Industrial Co., Ltd. Block cipher using key data merged with an intermediate block generated from a previous block
US6704866B1 (en) * 1997-07-11 2004-03-09 Cisco Technology, Inc. Compression and encryption protocol for controlling data flow in a network
JPH11109856A (ja) * 1997-09-30 1999-04-23 Matsushita Electric Ind Co Ltd 復号装置
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
ES2270494T3 (es) * 1998-09-01 2007-04-01 Irdeto Access B.V. Sistema de comunicacion de datos.
KR100331863B1 (ko) * 1998-11-03 2002-05-09 서평원 네트워크암호화장치및방법
US6490353B1 (en) * 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
JP3679936B2 (ja) * 1998-11-27 2005-08-03 東芝ソリューション株式会社 暗復号装置及び記憶媒体
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US6775772B1 (en) * 1999-10-12 2004-08-10 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure low-overhead browser connections from a client to a server using a trusted third party
US6978367B1 (en) * 1999-10-21 2005-12-20 International Business Machines Corporation Selective data encryption using style sheet processing for decryption by a client proxy

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009541825A (ja) * 2006-06-21 2009-11-26 ヴィーブ−システムズ アクチエンゲゼルシャフト 侵入検出のための方法と装置
JP2009193132A (ja) * 2008-02-12 2009-08-27 Rohm Co Ltd 情報処理システム、カートリッジ、および、情報処理端末

Also Published As

Publication number Publication date
US20020029344A1 (en) 2002-03-07

Similar Documents

Publication Publication Date Title
US7472285B2 (en) Apparatus and method for memory encryption with reduced decryption latency
JP3481470B2 (ja) データ等の不正改竄防止システム及びそれと併用される暗号化装置
KR101216995B1 (ko) 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법
EP1612988A1 (en) Apparatus and/or method for encryption and/or decryption for multimedia data
US20040177257A1 (en) Data processing device and data processing method
US9137015B2 (en) Protection scheme for AACS keys
JP2009501470A (ja) マルチメディア・データの保護
JPH09270785A (ja) 情報処理装置
KR101458479B1 (ko) 세션상태정보의 암호화 및 복호화 방법
JP3239842B2 (ja) ソフトウェアの不正利用防止システム
KR20130020861A (ko) 자가암호화를 이용한 소프트웨어 변조방지 방법
JP2002244989A (ja) デバイスドライバ作動方法
JP2000330783A (ja) ソフトウェア不正コピー防止システムおよびソフト不正コピー防止プログラムを記録した記録媒体
JP2002082732A (ja) プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体
JPWO2006046484A1 (ja) 認証方法
JP2011123229A (ja) プログラムコード暗号化装置及びプログラム
CN113343215A (zh) 嵌入式软件的授权和认证方法及电子设备
JPS6358538A (ja) ソフトウエア保護方式
JP4791971B2 (ja) データ再生方法及びデータ処理装置
JP4895068B2 (ja) 処理装置及び処理方法
JP7063628B2 (ja) 暗号化装置、暗号化方法およびプログラム
JP4604523B2 (ja) データの移管方法およびデータの保管装置
JP4474267B2 (ja) 暗号処理装置
JPH1055273A (ja) ソフトウェア保護装置
JP5493235B2 (ja) 処理装置及び処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060815