JP2001318786A - プログラム構築方法及びそのプログラムの実行方法 - Google Patents

プログラム構築方法及びそのプログラムの実行方法

Info

Publication number
JP2001318786A
JP2001318786A JP2000136549A JP2000136549A JP2001318786A JP 2001318786 A JP2001318786 A JP 2001318786A JP 2000136549 A JP2000136549 A JP 2000136549A JP 2000136549 A JP2000136549 A JP 2000136549A JP 2001318786 A JP2001318786 A JP 2001318786A
Authority
JP
Japan
Prior art keywords
program
code
programs
processing
codes
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
Application number
JP2000136549A
Other languages
English (en)
Other versions
JP4186381B2 (ja
Inventor
Takashi Sato
隆士 佐藤
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 JP2000136549A priority Critical patent/JP4186381B2/ja
Priority to US09/846,833 priority patent/US6934850B2/en
Publication of JP2001318786A publication Critical patent/JP2001318786A/ja
Application granted granted Critical
Publication of JP4186381B2 publication Critical patent/JP4186381B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Abstract

(57)【要約】 【課題】 ソフトウェアデバッガによる動的なソフトウ
ェア解析を不可能にすることが可能なプログラム構築方
法を提供する。 【解決手段】 プログラム10は暗号化コード11,1
3,15と、暗号化コード12,14,16の解除コー
ド12a,14a,16aと、復号処理コード30とを
含んでおり、プログラム20は暗号化コード12,1
4,16と、暗号化コード11,13,15の解除コー
ド11a,13a,15aと、復号処理コード31とを
含んでいる。暗号化コード11〜16はそれぞれ任意の
処理コードを暗号化したコードであり、どれも復号処理
コード30及び復号処理コード31で復号しなければ元
の処理を行う処理コードに戻らない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラム構築方法
及びそのプログラムの実行方法に関し、特にソフトウェ
アの動的な解析を阻止するための技術に関する。
【0002】
【従来の技術】従来、ソフトウェアに関する不正利用へ
の対抗技術としては、例えば「逆解析や改変からソフト
を守る−タンパレジスタントソフトウェア技術−」(1
998年1月、日経エレクトロニクス通巻706号,p
p.209〜220)に記載されているように、第三者
が秘密性の高いプログラムを解析し、不正利用すること
を防ぐために用いられている。
【0003】その中でも、実行中のプログラムに対して
ソフトウェアデバッガ等を用いることによって接触し、
プログラムを一文ずつ実行させて、その挙動を調べるや
りかたは、完全な回避方法のない強力な解析手段であ
る。
【0004】上記の文献に記載されている不正利用への
対抗技術における動的な解析への対抗手段について説明
する。その構成を図8に示す。この図8において、プロ
グラム10,20は不正利用への対抗技術を適用して保
護するべきプログラムであり、プログラム60は不正利
用への対抗技術のために用意した監視プログラムであ
る。尚、プログラム10,20,60は自分自身の改ざ
んを検出する改ざん検出コード32をそれぞれ含んでい
る。
【0005】これらの認証について説明する。プログラ
ム10とプログラム60とはディジタル署名による通信
プロトコルによって互いの改ざん検出コード32を認証
する。その際、改ざん検出コード32が壊れたり、改ざ
んされている場合にはそこで処理を終了する。
【0006】プログラム20とプログラム60とはディ
ジタル署名による通信プロトコルによって互いの改ざん
検出コード33を認証する。その際、改ざん検出コード
32が壊れたり、改ざんされている場合にはそこで処理
を終了する。
【0007】これらの方法によって、改ざん検出コード
32が動的な解析を検出した場合には処理を中断するこ
とができる。また、2つの組と相互に認証を行うこと
で、通信プロトコルのメッセージを模倣してなりすます
第三者のプログラムにも対応することができる。
【0008】
【発明が解決しようとする課題】上述した従来のソフト
ウェアに関する不正利用への対抗技術では、ソフトウェ
アデバッガによる解析でトレースのみを行っている場
合、改ざん検出コードがプログラムの改ざんを検出する
のみであるので、デバッガ側がプログラムのどこかを改
ざんしなくてはその改ざんを検出することができないと
いう問題がある。
【0009】そこで、本発明の目的は上記の問題点を解
消し、ソフトウェアデバッガによる動的なソフトウェア
解析を不可能にすることができるプログラム構築方法及
びそのプログラムの実行方法を提供することにある。
【0010】
【課題を解決するための手段】本発明によるプログラム
構築方法は、各々対応する処理コードを暗号化した暗号
化コードをその実行時に相互に解除する第1及び第2の
プログラムで構築している。
【0011】本発明によるプログラム実行方法は、第1
及び第2のプログラムの実行時に前記第1及び第2のプ
ログラム各々に対応する処理コードを暗号化した暗号化
コードを相互に解除するようにしている。
【0012】すなわち、本発明のプログラム構築方法
は、2つのプログラムがそれぞれ暗号化したプログラム
コードを持ち、実行時に暗号化したプログラムコードを
相互に解除していくことで、ソフトウェアデバッガによ
るプログラムの動的な解析を妨ぐことができるように構
築している。
【0013】より具体的に、本発明のプログラム構築方
法では、第1のプログラムが全体の処理動作において奇
数の順序で実行される暗号化コードを含み、第2のプロ
グラムが全体の処理動作において偶数の順序で実行され
る暗号化コードを含んでいる。第1及び第2のプログラ
ムにおいては各々の暗号化コードを互いに交互に実行す
るように組まれている。暗号化コードはどれも第1及び
第2のプログラムの両方で復号しないと元のコードに戻
らないようにしておく。
【0014】第1及び第2のプログラムは起動される
と、まず1番目の暗号化コードを復号し、第1のプログ
ラムはその復号されたコードを実行する。次に、第1及
び第2のプログラムは2番目の暗号化コードを復号し、
第2のプログラムはその復号されたコードを実行する。
【0015】上記の処理を繰り返すことで、ソフトウェ
アデバッガによって第1のプログラムに動的な解析が行
われた場合、暗号化コードが完全に復号されなくなり、
それを実行しようとした第2のプログラムは不正なコー
ドを実行したことによって終了し、以後の暗号化コード
が完全に復号されなくなった第1のプログラムも終了す
ることになる。
【0016】本発明では、ソフトウェアデバッガが起動
しているひとつのプログラムしか解析することができな
い点と、動的な解析が通常にプログラムが実行されるよ
りも時間がかかるという点の2つの特徴を利用してい
る。これによって、不正な動的解析を妨げる構造が可能
となる。
【0017】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して説明する。図1は本発明の一実施例による
プログラムの構造を示す図である。図1において、プロ
グラム10は暗号化コード11,13,15と、暗号化
コード12,14,16の解除コード12a,14a,
16aと、復号処理コード30とを含んでおり、プログ
ラム20は暗号化コード12,14,16と、暗号化コ
ード11,13,15の解除コード11a,13a,1
5aと、復号処理コード31とを含んでいる。
【0018】図2は図1の暗号化をする前のプログラム
を示す図である。図2において、暗号化コード11〜1
6はそれぞれ任意の処理コード1〜6を暗号化したコー
ドであり、どれも復号処理コード30及び復号処理コー
ド31で復号しなければ元の処理を行う処理コード1〜
6に戻らない。
【0019】その場合、復号処理コード30は解除コー
ド12a,14a,16aでプログラム20の暗号化コ
ード12,14,16の解除を行い、復号処理コード3
1は解除コード11a,13a,15aでプログラム1
0の暗号化コード11,13,15の解除を行う。
【0020】図3は図1のプログラムが実行される順番
を示す図である。図3においては、プログラム10,2
0で時間的にそれぞれ暗号化コード11,12,13,
14,15,16の順番で実行するように構成されてい
ることを示している。
【0021】異なるプログラムにおいて順番に実行され
る暗号化コードを構築するには、システムタイマ等の同
期機構を利用してプログラムを構築する方法や、初期設
定処理、画面描画処理、終了処理等の実行される順番が
決まっている処理に、暗号化コードを組込む等の方法が
あるが、ソフトウェアデバッガによる解析で停止をしな
い仕組みでなければならない。実際にはシステムタイマ
等を用いた時間によるウェイトが望ましい。
【0022】図4は図1のプログラムが正しく動作して
いる場合を示す図であり、図5は図1のプログラムの動
作を示すフローチャートである。これら図1と図4と図
5とを参照して本発明の一実施例の全体の動作について
説明する。
【0023】まず、プログラム10とプログラム20と
が起動されると、復号処理コード30による解除と、解
除コード11aを用いた復号処理コード31による解除
とによって暗号化コード11の暗号が解除されて処理コ
ード1となる(図5ステップS1,S11)。
【0024】この時、暗号解除を待つ側はウェイト機構
で待機する(図5ステップS2)。このウェイト機構は
並立して動作する2つのプログラム10,20におい
て、同期をとるためのルーチンである。プログラム20
による暗号化コード11の解除が行われるまで、予め算
出した時間だけ待機する。その算出時間がすぎると、暗
号化解除の有無にかかわらず、次のステップを実行す
る。
【0025】この後に、プログラム10によって処理コ
ード1が実行される(図5ステップS3)。続いて、解
除コード12aを用いた復号処理コード30による解除
と復号処理コード31の解除とによって暗号化コード1
2が解除されて処理コード2となる(図5ステップS
4,S12)。
【0026】この時、暗号解除を待つ側はウェイト機構
で待機し(図5ステップS13)、その後に、プログラ
ム20によって処理コード2が実行される(図5ステッ
プS14)。続いて、復号処理コード30による解除
と、解除コード13aを用いた復号処理コード31によ
る解除とによって暗号化コード13が解除されて処理コ
ード3となる(図5ステップS5,S15)。
【0027】この時、暗号解除を待つ側はウェイト機構
で待機し(図5ステップS6)、その後に、プログラム
10によって処理コード3が実行される(図5ステップ
S7)。続いて、解除コード14aを用いた復号処理コ
ード30による解除と復号処理コード31による解除と
によって暗号化コード14が解除されて処理コード4と
なる(図5ステップS8,S16)。
【0028】この時、暗号解除を待つ側はウェイト機構
で待機し(図5ステップS17)、その後に、プログラ
ム20によって処理コード4が実行される。というよう
に、プログラム10,20の処理が続けられていく。
【0029】この手続きによって、プログラム10とプ
ログラム20とのどちらかがデバッガ(図示せず)によ
って動的なデバッグが行われても、これらプログラム1
0,20の解析を防ぐことができる。
【0030】図6は図1のプログラムが動的にデバッグ
されている場合を示す図である。図6においては、例え
ばプログラム20が実行中にデバッガ40によって動的
に解析されそうになった場合を示している。
【0031】この場合、プログラム10とプログラム2
0とが起動されて処理を始めると、復号処理コード3
0,31によって暗号化コード11が解除されて処理コ
ード1になり、プログラム10によって処理コード1が
実行される。
【0032】デバッガ40によってプログラム20はデ
バッグされると、プログラム20の実行は一時停止する
か、デバッガ40の使用者によってステップ実行され、
ゆっくりとした処理速度になる。
【0033】復号処理コード30によって暗号化コード
12は一部の暗号が解除されるとともに(不完全な処理
コード2)、復号処理コード30によって暗号化コード
13も一部の暗号が解除される(不完全な処理コード
3)。プログラム10によって不完全な処理コード3が
実行されると、不正な処理を行ったとして、オペレーテ
ィングシステムによってプログラム10が終了させられ
る。
【0034】復号処理コード31によって不完全な処理
コード2は処理コード2になり、プログラム20はその
処理コード2を実行する。また、復号処理コード31に
よって暗号化コード14は一部の暗号が解除され(不完
全な処理コード4)、プログラム20によってその不完
全な処理コード4が実行されると、不正な処理を行った
として、オペレーティングシステムによってプログラム
20が終了させられる。
【0035】上記のように、プログラム20がデバッガ
40のデバッグによって、処理の流れが図3の流れより
も遅れると、プログラム10は一部しか解除されない処
理コードを実行し、不正な処理によって終了する。それ
によって、プログラム20も一部しか解除されない処理
コードを実行し、不正な処理によって終了する。デバッ
ガ40の解析もそこで終了することになる。
【0036】このように、2つのプログラム10,20
が互いのプログラムに対して、段階的に暗号解除処理を
行うことで、どちらのプログラムがデバッグされても、
暗号解除処理の手順がずれて、不正な処理によって終了
するという構造を持つことによって、ソフトウェアデバ
ッガ40による動的なソフトウェア解析を不可能にする
ことができる。
【0037】尚、上記の説明では2個のプログラム1
0,20について述べているが、それらのプログラムは
2個ではなく、N個(Nは3以上の整数)でもかまわな
い。その場合、プログラムをN個に増やすと、プログラ
ム10とプログラム20とが相互の暗号解除を行い、プ
ログラムN−1とプログラムNとが相互の暗号解除を行
い、プログラムNとプログラム10とが相互の暗号解除
を行うという形になる。これによって、全体的にさらに
解析しにくいプログラムとなる。
【0038】また、図1及び図2において、復号処理コ
ード30,31は処理コード1〜6に含めてもかまわな
い。このように、任意の処理コード1〜6に復号処理コ
ード30,31を含めると、第三者による解析の危険を
さらに減らすことができる。
【0039】さらに、図5に示すフローチャートにおい
て、ウェイト機構は時間による待機以外にも、第三のプ
ログラムによる同期処理でもかまわない。この場合、こ
のプログラムはプログラム10とプログラム20とに暗
号解除を許可するメッセージを順番に送信する。例え
ば、ステップS11の終了を確認したら、ステップS2
で待機しているプログラム10にウェイト終了のメッセ
ージを送信する。
【0040】この方法を使用した場合にも、ウェイト機
構に、一定時間メッセージを受信しなかったら、次のス
テップに進む処理を入れることで、第三のプログラムへ
の動的な解析に対抗することができる。
【0041】図7は本発明の他の実施例によるプログラ
ムの構造を示す図である。図7において、本発明の他の
実施例によるプログラム10,20にはそれぞれ復号処
理コード30,31を含んでおり、相互に解除する暗号
化コード11〜13はプログラム10,20上ではな
く、別に配設した共有領域50上にある。
【0042】図7に示すように、プログラム10、20
は共有領域50にある暗号化コード11〜13を解除
し、それぞれの処理コードを実行していく。オペレーテ
ィングシステムの仕様で相手のプログラム上の暗号化コ
ードの書き換えが困難な場合には、この方法によって上
記と同様の効果が得られる。
【0043】
【発明の効果】以上説明したように本発明によれば、各
々対応する処理コードを暗号化した暗号化コードをその
実行時に相互に解除する第1及び第2のプログラムで構
築することによって、ソフトウェアデバッガによる動的
なソフトウェア解析を不可能にすることができるという
効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるプログラムの構造を示
す図である。
【図2】図1の暗号化をする前のプログラムを示す図で
ある。
【図3】図1のプログラムが実行される順番を示す図で
ある。
【図4】図1のプログラムが正しく動作している場合を
示す図である。
【図5】図1のプログラムの動作を示すフローチャート
である。
【図6】図1のプログラムが動的にデバッグされている
場合を示す図である。
【図7】本発明の他の実施例によるプログラムの構造を
示す図である。
【図8】従来の動的解析防止方法を示す図である。
【符号の説明】
1〜6 処理コード 11〜16 暗号化コード 11a,12a,13a,14a,15a,16a 解
除コード 10,20 プログラム 30,31 復号処理コード 40 デバッガ 50 共有領域

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 各々対応する処理コードを暗号化した暗
    号化コードをその実行時に相互に解除する第1及び第2
    のプログラムで構築したことを特徴とするプログラム構
    築方法。
  2. 【請求項2】 前記第1及び第2のプログラム各々は、
    前記暗号化コードと前記暗号化コードを解除する復号処
    理コードとを持つよう構築したことを特徴とする請求項
    1記載のプログラム構築方法。
  3. 【請求項3】 前記第1のプログラムは、全体の処理動
    作において奇数の順序で実行される暗号化コードを含
    み、 前記第2のプログラムは、前記全体の処理動作において
    偶数の順序で実行される暗号化コードを含むことを特徴
    とする請求項2記載のプログラム構築方法。
  4. 【請求項4】 前記第1及び第2のプログラム各々は、
    前記暗号化コードを解除する復号処理コードを持ち、 前記暗号化コードは、前記第1及び第2のプログラム各
    々の共有領域に含むよう構築したことを特徴とする請求
    項1記載のプログラム構築方法。
  5. 【請求項5】 前記復号処理コードは、前記処理コード
    に含むよう構築したことを特徴とする請求項1から請求
    項4のいずれか記載のプログラム構築方法。
  6. 【請求項6】 前記第1及び第2のプログラム各々にお
    いて暗号解除を待つ側は、予め算出した算出時間だけ待
    機し、前記算出時間が経過すると前記暗号解除の有無に
    かかわらず次の処理を実行するよう構築したことを特徴
    とする請求項1から請求項5のいずれか記載のプログラ
    ム構築方法。
  7. 【請求項7】 前記第1及び第2のプログラム各々は、
    ソフトウェアデバッガによる動的な解析で前記暗号化コ
    ードの相互解除に遅れが生じた時に異常終了するよう構
    築したことを特徴とする請求項1から請求項6のいずれ
    か記載のプログラム構築方法。
  8. 【請求項8】 前記暗号化コードは、前記第1及び第2
    のプログラムの両方で復号しないと元の処理コードに戻
    らないよう構築したことを特徴とする請求項1から請求
    項7のいずれか記載のプログラム構築方法。
  9. 【請求項9】 前記第1及び第2のプログラムの起動時
    に前記第1及び第2のプログラムによって1番目の暗号
    化コードを復号してから前記第1のプログラムによって
    その復号された1番目の処理コードを実行し、前記第1
    及び第2のプログラムによって2番目の暗号化コードを
    復号してから前記第2のプログラムによってその復号さ
    れた2番目の処理コードを実行するよう構築したことを
    特徴とする請求項1から請求項8のいずれか記載のプロ
    グラム構築方法。
  10. 【請求項10】 第1及び第2のプログラムの実行時に
    前記第1及び第2のプログラム各々に対応する処理コー
    ドを暗号化した暗号化コードを相互に解除するようにし
    たことを特徴とするプログラム実行方法。
  11. 【請求項11】 前記第1及び第2のプログラム各々
    は、前記暗号化コードと前記暗号化コードを解除する復
    号処理コードとを持つようにしたことを特徴とする請求
    項10記載のプログラム実行方法。
  12. 【請求項12】 前記第1のプログラムは、全体の処理
    動作において奇数の順序で実行される暗号化コードを含
    み、 前記第2のプログラムは、前記全体の処理動作において
    偶数の順序で実行される暗号化コードを含むようにした
    ことを特徴とする請求項11記載のプログラム実行方
    法。
  13. 【請求項13】 前記第1及び第2のプログラム各々
    は、前記暗号化コードを解除する復号処理コードを持
    ち、 前記暗号化コードは、前記第1及び第2のプログラム各
    々の共有領域に含むようにしたことを特徴とする請求項
    10記載のプログラム実行方法。
  14. 【請求項14】 前記復号処理コードは、前記処理コー
    ドに含むようにしたことを特徴とする請求項10から請
    求項13のいずれか記載のプログラム実行方法。
  15. 【請求項15】 前記第1及び第2のプログラム各々に
    おいて暗号解除を待つ側は、予め算出した算出時間だけ
    待機し、前記算出時間が経過すると前記暗号解除の有無
    にかかわらず次の処理を実行するよう構築したことを特
    徴とする請求項10から請求項14のいずれか記載のプ
    ログラム実行方法。
  16. 【請求項16】 前記第1及び第2のプログラムは、ソ
    フトウェアデバッガによる動的な解析で前記暗号化コー
    ドの相互解除に遅れが生じた時に異常終了するようにし
    たことを特徴とする請求項10から請求項15のいずれ
    か記載のプログラム実行方法。
  17. 【請求項17】 前記暗号化コードは、前記第1及び第
    2のプログラムの両方で復号しないと元の処理コードに
    戻らないようにしたことを特徴とする請求項10から請
    求項16のいずれか記載のプログラム実行方法。
  18. 【請求項18】 前記第1及び第2のプログラムの起動
    時に前記第1及び第2のプログラムによって1番目の暗
    号化コードを復号してから前記第1のプログラムによっ
    てその復号された1番目の処理コードを実行し、前記第
    1及び第2のプログラムによって2番目の暗号化コード
    を復号してから前記第2のプログラムによってその復号
    された2番目の処理コードを実行するようにしたことを
    特徴とする請求項10から請求項17のいずれか記載の
    プログラム実行方法。
JP2000136549A 2000-05-10 2000-05-10 プログラムを格納する記録媒体及びその実行方法 Expired - Fee Related JP4186381B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000136549A JP4186381B2 (ja) 2000-05-10 2000-05-10 プログラムを格納する記録媒体及びその実行方法
US09/846,833 US6934850B2 (en) 2000-05-10 2001-05-01 Program creation method and program execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000136549A JP4186381B2 (ja) 2000-05-10 2000-05-10 プログラムを格納する記録媒体及びその実行方法

Publications (2)

Publication Number Publication Date
JP2001318786A true JP2001318786A (ja) 2001-11-16
JP4186381B2 JP4186381B2 (ja) 2008-11-26

Family

ID=18644475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000136549A Expired - Fee Related JP4186381B2 (ja) 2000-05-10 2000-05-10 プログラムを格納する記録媒体及びその実行方法

Country Status (2)

Country Link
US (1) US6934850B2 (ja)
JP (1) JP4186381B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094728A (ja) * 2005-09-28 2007-04-12 Digital Electronics Corp 情報処理装置、情報処理システム、プログラムおよび記録媒体
JP2011523103A (ja) * 2008-06-11 2011-08-04 マイクロソフト コーポレーション 対称暗号を実行するための技法
JP2012014197A (ja) * 2011-10-04 2012-01-19 Hyper Tec:Kk 処理装置及び処理方法
JP2016167662A (ja) * 2015-03-09 2016-09-15 Kddi株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293587A (ja) * 1999-04-09 2000-10-20 Sony Corp 情報処理装置および方法、管理装置および方法、並びに提供媒体
US7346896B2 (en) * 2002-04-22 2008-03-18 Sun Microsystems, Inc. Slowing network connection for application optimization
EP1603001B1 (en) * 2002-08-01 2007-10-31 Matsushita Electric Industrial Co., Ltd. Apparatusses and methods for decrypting blocks of data and locating the decrypted blocks of data in memory space used for execution
US20040064712A1 (en) * 2002-09-27 2004-04-01 Intel Corporation Systems and methods for protecting media content
US7426634B2 (en) * 2003-04-22 2008-09-16 Intruguard Devices, Inc. Method and apparatus for rate based denial of service attack detection and prevention
US7500108B2 (en) 2004-03-01 2009-03-03 Microsoft Corporation Metered execution of code
JP2006339988A (ja) * 2005-06-01 2006-12-14 Sony Corp ストリーム制御装置、ストリーム暗号化/復号化装置、および、ストリーム暗号化/復号化方法
EP2831787B1 (en) 2012-03-30 2020-07-08 Irdeto B.V. Method and system for preventing and detecting security threats
US9172721B2 (en) 2013-07-16 2015-10-27 Fortinet, Inc. Scalable inline behavioral DDOS attack mitigation
US9973528B2 (en) 2015-12-21 2018-05-15 Fortinet, Inc. Two-stage hash based logic for application layer distributed denial of service (DDoS) attack attribution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58116571A (ja) * 1981-12-29 1983-07-11 富士通株式会社 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ
US6205550B1 (en) * 1996-06-13 2001-03-20 Intel Corporation Tamper resistant methods and apparatus
US5892899A (en) * 1996-06-13 1999-04-06 Intel Corporation Tamper resistant methods and apparatus
US6049613A (en) * 1997-03-07 2000-04-11 Jakobsson; Markus Method and apparatus for encrypting, decrypting, and providing privacy for data values
US6772419B1 (en) * 1997-09-12 2004-08-03 Hitachi, Ltd. Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094728A (ja) * 2005-09-28 2007-04-12 Digital Electronics Corp 情報処理装置、情報処理システム、プログラムおよび記録媒体
JP4727366B2 (ja) * 2005-09-28 2011-07-20 株式会社デジタル 情報処理装置、情報処理システム、プログラムおよび記録媒体
JP2011523103A (ja) * 2008-06-11 2011-08-04 マイクロソフト コーポレーション 対称暗号を実行するための技法
US8862893B2 (en) 2008-06-11 2014-10-14 Microsoft Corporation Techniques for performing symmetric cryptography
JP2012014197A (ja) * 2011-10-04 2012-01-19 Hyper Tec:Kk 処理装置及び処理方法
JP2016167662A (ja) * 2015-03-09 2016-09-15 Kddi株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
US6934850B2 (en) 2005-08-23
US20010042209A1 (en) 2001-11-15
JP4186381B2 (ja) 2008-11-26

Similar Documents

Publication Publication Date Title
JP2001318786A (ja) プログラム構築方法及びそのプログラムの実行方法
JP4451884B2 (ja) コンピュータ保安装置、コンピュータ保安方法、及び記録媒体
CN100452075C (zh) 软件保护装置数据传输过程的安全控制方法及其设备
US8972730B2 (en) System and method of using a signed GUID
CN1909447B (zh) 使用动态加密算法进行网络数据通讯的方法
CN113268715A (zh) 软件加密方法、装置、设备及存储介质
US5974550A (en) Method for strongly authenticating another process in a different address space
JP2008047085A (ja) Usbデバイスを用いるデータ保安システム、装置及び方法
CN101163044A (zh) 信息安全设备的远程升级方法及系统
WO2017193750A1 (zh) 一种防止拷贝攻击的处理方法、服务器及客户端
WO2007071755A1 (en) Secure system-on-chip
JP2005157930A (ja) 機密情報処理システムおよびlsi
JPH11328032A (ja) ソフトウェアの不正利用防止システム
CN114244522A (zh) 信息保护方法、装置、电子设备及计算机可读存储介质
CN103237011B (zh) 数字内容加密传送方法以及服务器端
CN109145533B (zh) 一种使用随机密码保护代码的方法及装置
CN107886007B (zh) 一种异常购票行为处理方法及装置
JP2002244989A (ja) デバイスドライバ作動方法
US7636838B2 (en) Method and system for handling operation of multiple devices within a single system-on-chip (SoC) integrated circuit (IC)
WO2006046484A1 (ja) 認証方法
JP2011130003A (ja) 暗号化画像復号システム及び暗号化画像復号方法
CN2886687Y (zh) 具有数据传输过程安全控制的软件保护装置
Gallery et al. Conditional access in mobile systems: Securing the application
CN112016055A (zh) 基于硬件特征的软件授权激活码生成方法和系统
JP2002082732A (ja) プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130919

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees