JP2005286661A - 処理装置及び処理方法 - Google Patents
処理装置及び処理方法 Download PDFInfo
- Publication number
- JP2005286661A JP2005286661A JP2004097087A JP2004097087A JP2005286661A JP 2005286661 A JP2005286661 A JP 2005286661A JP 2004097087 A JP2004097087 A JP 2004097087A JP 2004097087 A JP2004097087 A JP 2004097087A JP 2005286661 A JP2005286661 A JP 2005286661A
- Authority
- JP
- Japan
- Prior art keywords
- data
- function
- encryption
- decryption function
- decryption
- 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
- 238000003672 processing method Methods 0.000 title claims description 6
- 230000010354 integration Effects 0.000 claims abstract 3
- 230000006870 function Effects 0.000 claims description 237
- 238000000034 method Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 16
- 230000002441 reversible effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 240000004543 Vicia ervilia Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Abstract
【解決手段】データ取得部101で取得されたデータに対して、暗号化関数取得部102で取得された暗号化関数を、データ暗号化部103にて、適用して暗号化データを生成する。生成された暗号化データと、復号化関数取得部104で取得した復号化関数と、に基づいて、直接的には復号化関数を示す情報を含まない統合データを生成する。「直接的には復号化関数を示す情報を含まない」場合としては、例えば、復号化関数を暗号化して統合データに含ませる場合がある。
【選択図】 図1
Description
Pavol ▲C▼erve▲n▼著、"CRACKPROOF YOUR SOFTWARE"、NO STARCH PRESS、米国、2002年
図1は、本発明の実施形態1に係る処理装置の機能ブロック図を例示する。処理装置100は、データ取得部101と、暗号化関数取得部102と、データ暗号化部103と、復号化関数取得部104と、統合データ生成部105と、を有する。
図3は、本実施形態に係る処理装置の処理の流れ図を例示する。ステップS301において、データ取得部101などにより、データを取得する(データ取得ステップ)。ステップS302において、暗号化関数取得部102などにより、暗号化関数を取得する(暗号化関数取得ステップ)。ステップS303において、データ暗号化部103などにより、暗号化データを生成する(データ暗号化ステップ)。ステップS304において、復号化関数取得部104などにより、復号化関数を取得する(復号化関数取得ステップ)。ステップS305において、統合データ生成部105などにより、統合データを生成する(統合データ生成ステップ)。
本実施形態によれば、統合データには、直接的には復号化関数を示す情報が含まれないので、統合データに含まれる暗号化データの復号化を解析(リバースエンジニアリング)することが困難となり、権原無く復号化がされることを防止することができる。
本発明の実施形態2は、実施形態1において、暗号化関数取得部102で取得される暗号化関数は、暗号化前のデータと暗号化後のデータとのサイズが等しくなるようにした処理装置である。
本実施形態では、実施形態1の効果に加えて、データと暗号化データのサイズが等しいので、統合データを生成する際には、データが保持される領域を暗号化データが保持される領域として使用でき、処理装置の作業スペースを増加させないようにすることができる。例えば、図6に例示されるように、まず、データ602を統合データ601に含ませておき、次にデータを暗号化することにより暗号化データ603が統合データに含まれるようにすることができる。
図7は、本発明の実施形態3に係る処理装置の機能ブロック図を例示する。処理装置700は、データ取得部101と、暗号化関数取得部102と、データ暗号化部103と、復号化関数取得部104と、統合データ生成部105と、を有し、統合データ生成部105は、復号化関数暗号化手段701と、暗号化関数利用生成手段702と、を有する。したがって、本実施形態に係る処理装置700は、実施形態1または2に係る処理装置の統合データ生成部105が、復号化関数暗号化手段701と、暗号化関数利用生成手段702と、を有する構成となっている。
本実施形態により、実施形態1または2の効果に加え、統合データに暗号化復号化関数を含ませることができるので、所定の処理において、暗号化データを復号化する処理を簡略化できる。
本発明の実施形態4に係る処理装置は、実施形態3に係る処理装置を、復号化関数と暗号化復号化関数とは、サイズが等しくなるようにしたものである。実施形態2で説明したように、ストリーム暗号を用いたり、図4と図5とを用いて説明した暗号化方法を用いたり、復号化関数のサイズがブロック単位のサイズであれば、ブロック単位で暗号化を行なう暗号化関数を用いたりする。
本実施形態においては、実施形態3の効果に加え、復号化関数と暗号化復号化関数とのサイズが等しいので、所定の操作を行なう場合に、暗号化復号化関数の領域を復号化関数の領域として使用することができるで、作業スペースを増加させないようにすることができる。
本発明の実施形態5に係る処理装置は、実施形態1から4のいずれか一の実施形態に係る処理装置において、統合データがプログラムになるようにしたものであり、所定の操作とは、そのプログラムを実行することとしたものである。
本実施形態により、実施形態1から4のいずれかの実施形態の主な効果に加えて、統合データから直接、データを得ることが可能となる。
本発明の実施形態6に係る処理装置は、実施形態5の処理装置を、前記所定の操作により得られる前記復号化関数、及び、前記暗号化データを前記復号化関数に適用して得られるデータは、前記計算機の主記憶にのみ保持されるようにしたものである。「前記所定の操作」とは、統合データを実行することである。「前記復号化関数」とは、復号化関数取得部104で取得されたのと同じ復号化関数を意味する。「前記暗号化データ」とは、統合データが生成されるときの基となった暗号化データである。また、「前記計算機」とは、プログラムである統合データが実行される計算機を意味する。
本実施形態により、実施形態5の主な効果に加えて、復号化関数と、データと、が主記憶にのみ保持されるので、復号化関数やデータを入手することが困難となる。
本発明の実施形態7に係る処理装置は、実施形態5または6の処理装置において、データ取得部101で取得されるデータはプログラムである。また、前記統合データは、取得ステップと、データ取得ステップと、実行ステップと、を計算機に実行させるためのプログラムである。ここに、「前記統合データ」とは、統合データ生成部105で生成される統合データである。また、「取得ステップ」とは、前記復号化関数、及び、前記暗号化データを取得するステップである。「前記復号化関数」と「前記暗号化データ」は、前記統合データを生成する基となった復号化関数と暗号化データである。「データ取得ステップ」は、前記暗号化データを前記復号化関数に適用してデータを取得するステップである。「実行ステップ」とは、データ取得ステップで取得されたデータを実行するステップである。
本実施形態により、実施形態5または6の主な効果に加えて、プログラムを暗号化して統合データに含ませることにより、解析が困難な状態でプログラムを安全に配布することができる。
本発明の実施形態8に係る処理装置は、実施形態6または7に係る処理装置において、復号化関数が、統合データの実行される計算機内にデバッガが存在するかどうかを確認する機能を有するようにしたものである。デバッガが計算機に存在することにより、統合データの実行が解析されることを防止する目的を持つ。
本実施形態においては、実施形態6または7の主な効果に加えて、デバッガなどの存在する場合には、暗号化データの復号化を行なわないようにすることができるので、解析がされにくくすることができる。
101 データ取得部
102 暗号化関数取得部
103 データ暗号化部
104 復号化関数取得部
105 統合データ生成部
Claims (9)
- データを取得するデータ取得部と、
前記データ取得部で取得したデータを暗号化するための関数である暗号化関数を取得する暗号化関数取得部と、
前記暗号化関数取得部で取得された暗号化関数により、前記データ取得部で取得されたデータを暗号化して暗号化データを生成するデータ暗号化部と、
前記データ暗号化部により生成される暗号化データを復号化するための復号化関数を取得する復号化関数取得部と、
前記暗号化部により生成された暗号化データと、前記復号化関数取得部で取得された復号化関数と、に基づいて、直接的には前記復号化関数を示す情報を含まない統合データを生成する統合データ生成部と、
を有し、
前記統合データ生成部で生成された統合データは、所定の操作を加えることにより前記復号化関数、及び、前記暗号化データを取得可能に構成されている処理装置。 - 前記暗号化関数取得部で取得される暗号化関数は、暗号化前のデータと暗号化後のデータとのサイズが等しい請求項1に記載の処理装置。
- 前記統合データ生成部は、前記復号化関数を暗号化する復号化関数暗号化手段と、
前記復号化関数暗号化手段により暗号化された前記復号化関数である暗号化復号化関数に基づいて前記統合データを生成する暗号化関数利用生成手段と、
を有する請求項1または2に記載の処理装置。 - 前記復号化関数と前記暗号化復号化関数とはサイズが等しい請求項3に記載の処理装置。
- 前記統合データはプログラムであり、前記所定の操作は、前記統合データを計算機において実行する操作である請求項1から4のいずれか一に記載の処理装置。
- 前記所定の操作により得られる前記復号化関数、及び、前記暗号化データを前記復号化関数に適用して得られるデータは、前記計算機の主記憶にのみ保持される請求項5に記載の処理装置。
- 前記データ取得部で取得されるデータはプログラムであり、前記統合データは、前記復号化関数、及び、前記暗号化データを取得する取得ステップと、前記暗号化データを前記復号化関数に適用してデータを取得するデータ取得ステップと、前記データ取得ステップにより取得されたデータを実行する実行ステップと、を計算機に実行させるためのプログラムである請求項5または6に記載の処理装置。
- 前記復号化関数は、統合データが実行される計算機内にデバッガが存在するかどうかを確認する機能を有する請求項6または7に記載の処理装置。
- データを取得するデータ取得ステップと、
前記データ取得ステップで取得したデータを暗号化するための関数である暗号化関数を取得する暗号化関数取得ステップと、
前記暗号化関数取得ステップで取得された暗号化関数により、前記データ取得ステップで取得されたデータを暗号化して暗号化データを生成するデータ暗号化ステップと、
前記データ暗号化ステップにより生成される暗号化データを復号するための復号化関数を取得する復号化関数取得ステップと、
前記データ暗号化ステップにより生成された暗号化データと前記復号化関数取得ステップにより取得された復号化関数とに基づいて直接的には前記復号化関数を示す情報を含まない統合データを生成する統合データ生成ステップと、
を含む処理方法であって、
前記統合データ生成ステップで生成された統合データは、所定の操作を加えることにより前記復号化関数、及び、前記暗号化データを取得可能に構成されている処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004097087A JP4895068B2 (ja) | 2004-03-29 | 2004-03-29 | 処理装置及び処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004097087A JP4895068B2 (ja) | 2004-03-29 | 2004-03-29 | 処理装置及び処理方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011220461A Division JP5493235B2 (ja) | 2011-10-04 | 2011-10-04 | 処理装置及び処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005286661A true JP2005286661A (ja) | 2005-10-13 |
JP4895068B2 JP4895068B2 (ja) | 2012-03-14 |
Family
ID=35184586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004097087A Expired - Lifetime JP4895068B2 (ja) | 2004-03-29 | 2004-03-29 | 処理装置及び処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4895068B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011523103A (ja) * | 2008-06-11 | 2011-08-04 | マイクロソフト コーポレーション | 対称暗号を実行するための技法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0922352A (ja) * | 1995-07-07 | 1997-01-21 | Mitsubishi Electric Corp | 著作権管理装置 |
JPH09138827A (ja) * | 1995-11-15 | 1997-05-27 | Hitachi Ltd | ディジタル著作物流通システム |
JPH11258985A (ja) * | 1998-03-12 | 1999-09-24 | Nissin Electric Co Ltd | 暗号データの送付用ファイル生成装置、そのプログラムが記録された記録媒体、および、暗号データの送付用ファイルが格納された記録媒体 |
JPH11338993A (ja) * | 1998-05-29 | 1999-12-10 | Hitachi Ltd | Icカード |
JPH11344925A (ja) * | 1998-05-29 | 1999-12-14 | Nec Corp | 部分的暗号化装置及びコンピュータ可読記録媒体 |
-
2004
- 2004-03-29 JP JP2004097087A patent/JP4895068B2/ja not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0922352A (ja) * | 1995-07-07 | 1997-01-21 | Mitsubishi Electric Corp | 著作権管理装置 |
JPH09138827A (ja) * | 1995-11-15 | 1997-05-27 | Hitachi Ltd | ディジタル著作物流通システム |
JPH11258985A (ja) * | 1998-03-12 | 1999-09-24 | Nissin Electric Co Ltd | 暗号データの送付用ファイル生成装置、そのプログラムが記録された記録媒体、および、暗号データの送付用ファイルが格納された記録媒体 |
JPH11338993A (ja) * | 1998-05-29 | 1999-12-10 | Hitachi Ltd | Icカード |
JPH11344925A (ja) * | 1998-05-29 | 1999-12-14 | Nec Corp | 部分的暗号化装置及びコンピュータ可読記録媒体 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011523103A (ja) * | 2008-06-11 | 2011-08-04 | マイクロソフト コーポレーション | 対称暗号を実行するための技法 |
US8862893B2 (en) | 2008-06-11 | 2014-10-14 | Microsoft Corporation | Techniques for performing symmetric cryptography |
Also Published As
Publication number | Publication date |
---|---|
JP4895068B2 (ja) | 2012-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5726385B2 (ja) | プログラム検証装置、プログラム検証方法およびプログラム検証プログラム | |
KR101216995B1 (ko) | 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법 | |
WO2011134207A1 (zh) | 软件保护方法 | |
JP2005135265A (ja) | 情報処理装置 | |
JP2008306395A (ja) | 情報処理装置、情報処理方法 | |
CN109543433B (zh) | 软件开发工具包加密方法、装置、计算机和存储介质 | |
JP5988473B2 (ja) | モジュールの暗号化/復号化プログラム | |
JP4895068B2 (ja) | 処理装置及び処理方法 | |
JP4592337B2 (ja) | データ記憶装置 | |
JP5493235B2 (ja) | 処理装置及び処理方法 | |
JP5549810B2 (ja) | プログラム難読化装置、プログラム制御装置、プログラム難読化方法及びプログラム | |
JP2008005304A (ja) | 著作権保護システム、著作権保護装置及び映像処理装置 | |
CN107688729B (zh) | 基于可信主机的应用程序保护系统及方法 | |
JP2011123229A (ja) | プログラムコード暗号化装置及びプログラム | |
JP2010244261A (ja) | 情報処理装置、情報処理方法 | |
JP2002082732A (ja) | プログラムコードの不正改竄防止システム及びその方法並びにその制御プログラムを記録した記録媒体 | |
JP4897066B2 (ja) | 暗号化プログラム復号方法及び暗号化プログラム復号プログラム | |
JP2007026105A (ja) | ファイル管理装置、ファイル管理方法、及びファイル管理プログラム | |
JP5646382B2 (ja) | コンテンツ編集装置、コンテンツ編集方法及びコンテンツ編集プログラム | |
JP4502359B2 (ja) | 暗号化プログラム復号方法及び暗号化プログラム復号プログラム | |
JP2007328541A (ja) | 電子機器 | |
Mc Brearty et al. | Extracting Cryptographic Keys from. NET Applications | |
JP2004362077A (ja) | データ変換システム | |
JP6215468B2 (ja) | プログラム保護装置 | |
JP5136234B2 (ja) | 復号プログラム、復号装置、復号方法、及び暗号システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100506 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100708 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110331 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111004 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111011 |
|
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: 20111208 |
|
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: 20111214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4895068 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150106 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |