JPH04268924A - 逆アセンブル保護方法 - Google Patents
逆アセンブル保護方法Info
- Publication number
- JPH04268924A JPH04268924A JP3053272A JP5327291A JPH04268924A JP H04268924 A JPH04268924 A JP H04268924A JP 3053272 A JP3053272 A JP 3053272A JP 5327291 A JP5327291 A JP 5327291A JP H04268924 A JPH04268924 A JP H04268924A
- Authority
- JP
- Japan
- Prior art keywords
- module
- encrypted
- memory
- load module
- object module
- 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
Links
- 238000000034 method Methods 0.000 title claims description 5
- 230000015654 memory Effects 0.000 claims abstract description 23
- 238000011068 loading method Methods 0.000 claims description 5
- 230000010365 information processing Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002401 inhibitory effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、情報処理装置における
処理の内容の機密保護に係り、特にオブジェクトプログ
ラム中の情報を開示できない部分に対し、不用意な逆ア
センブルから保護する方法に関する。
処理の内容の機密保護に係り、特にオブジェクトプログ
ラム中の情報を開示できない部分に対し、不用意な逆ア
センブルから保護する方法に関する。
【0002】
【従来の技術】パーソナルコンピュータやワークステー
ションなどにおいて利用者が自分でプログラムを作成す
る場合、システム提供のアセンブリライブラリとリンク
をとってオブジェクトを作成することが多い。また、利
用者がそのプログラムをデバッグする際に、逆アセンブ
ルにより、プログラムの動きを機械語レベルで追跡する
ことがある。この場合、システム提供のアセンブリライ
ブラリの中には、処理の内容に守秘義務を要し、逆アセ
ンブルしてはいけないものがある。
ションなどにおいて利用者が自分でプログラムを作成す
る場合、システム提供のアセンブリライブラリとリンク
をとってオブジェクトを作成することが多い。また、利
用者がそのプログラムをデバッグする際に、逆アセンブ
ルにより、プログラムの動きを機械語レベルで追跡する
ことがある。この場合、システム提供のアセンブリライ
ブラリの中には、処理の内容に守秘義務を要し、逆アセ
ンブルしてはいけないものがある。
【0003】従来、逆アセンブラを抑止する手法として
は、オブジェクトモジュールの先頭にマジックナンバと
いう番号を埋め込み、あらかじめ逆アセンブラと取り決
めた番号と異なる場合、逆アセンブルを不可能とする方
法が知られている。なお、この種のものに関連する公知
文献としては、例えば特開昭58−65470号公報な
どが挙げられる。
は、オブジェクトモジュールの先頭にマジックナンバと
いう番号を埋め込み、あらかじめ逆アセンブラと取り決
めた番号と異なる場合、逆アセンブルを不可能とする方
法が知られている。なお、この種のものに関連する公知
文献としては、例えば特開昭58−65470号公報な
どが挙げられる。
【0004】
【発明が解決しようとする課題】上記従来技術は、オブ
ジェクトモジュールの内部情報の保護を目的としたもの
でなく、オブジェクトモジュールが当該逆アセンブル手
段が対象とするCPUのものかどうかを判別するための
ものであり、また、オブジェクトモジュールを部分的に
逆アセンブルできないようにすることができないため、
オブジェクトモジュールの必要な部分の情報が得らない
問題があった。さらに、マジックナンバの書き換え、ま
たは、マジックナンバの取り決めのない逆アセンブラの
使用により、簡単にオブジェクトモジュールを逆アセン
ブルできてしまうという問題点があった。
ジェクトモジュールの内部情報の保護を目的としたもの
でなく、オブジェクトモジュールが当該逆アセンブル手
段が対象とするCPUのものかどうかを判別するための
ものであり、また、オブジェクトモジュールを部分的に
逆アセンブルできないようにすることができないため、
オブジェクトモジュールの必要な部分の情報が得らない
問題があった。さらに、マジックナンバの書き換え、ま
たは、マジックナンバの取り決めのない逆アセンブラの
使用により、簡単にオブジェクトモジュールを逆アセン
ブルできてしまうという問題点があった。
【0005】本発明はオブジェクトモジュールを部分的
に逆アセンブルから保護することを目的とする。
に逆アセンブルから保護することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、書き換え可能で不揮発な外部記憶装置に
保持されたロードモジュールをメモリにロードし、プロ
グラムを実行する情報処理装置において、機密保守を要
するオブジェクトモジュールを暗号化し、該暗号化オブ
ジェクトモジュールと他のオブジェクトモジュールとを
リンケージしてロードモジュールを生成して外部記憶装
置に保持すると共に、ロードモジュールをメモリへロー
ドする際、暗号化部分を復号してメモリの特定ブロック
へロードすることを特徴とするものである。
に、本発明は、書き換え可能で不揮発な外部記憶装置に
保持されたロードモジュールをメモリにロードし、プロ
グラムを実行する情報処理装置において、機密保守を要
するオブジェクトモジュールを暗号化し、該暗号化オブ
ジェクトモジュールと他のオブジェクトモジュールとを
リンケージしてロードモジュールを生成して外部記憶装
置に保持すると共に、ロードモジュールをメモリへロー
ドする際、暗号化部分を復号してメモリの特定ブロック
へロードすることを特徴とするものである。
【0007】オブジェクトの内容に守秘義務が課せられ
ているオブジェクトモジュールを暗号化し、該暗号化オ
ブジェクトモジュールと通常の暗号化されていないオブ
ジェクトモジュールとをリンケージするため、リンケー
ジエディタの前処理部で暗号化オブジェクトを復号化し
、後処理で再び暗号化する。このようにして生成された
ロードモジュールに対し逆アセンブラをかけた場合、公
開部は通常通り逆アセンブルできるが、非公開部は暗号
化されているため、逆アセンブルできない。
ているオブジェクトモジュールを暗号化し、該暗号化オ
ブジェクトモジュールと通常の暗号化されていないオブ
ジェクトモジュールとをリンケージするため、リンケー
ジエディタの前処理部で暗号化オブジェクトを復号化し
、後処理で再び暗号化する。このようにして生成された
ロードモジュールに対し逆アセンブラをかけた場合、公
開部は通常通り逆アセンブルできるが、非公開部は暗号
化されているため、逆アセンブルできない。
【0008】また、このロードモジュールをメモリへロ
ードする際、暗号化部分はメモリの特別なブロックへロ
ードする。このブロックを、CPUから命令語としての
読出は許可するが、データとしての読出は禁止すること
により、利用者がデバッグ目的で命令を読み出して逆ア
センブル表示することから防止される。
ードする際、暗号化部分はメモリの特別なブロックへロ
ードする。このブロックを、CPUから命令語としての
読出は許可するが、データとしての読出は禁止すること
により、利用者がデバッグ目的で命令を読み出して逆ア
センブル表示することから防止される。
【0009】
【実施例】図1は本発明の一実施例の全体構成図を示す
。ロードモジュール11は書き換え可能で不揮発な外部
記憶装置に保持され、プログラムの実行の際、ローダ4
でメモリ3へロードされ、メモリ管理部2を介してCP
U1で実行される。このロードモジュール11の一部は
暗号化されており、ローダ4でメモリ3へロードする時
、該暗号化分がローダ4の復号化部7で復号され、メモ
リ管理部2が管理する特別なブロックへロードされる。 このブロックはメモリ管理部2により、CPU1から命
令語としての読み込みを許可し、データとしての読み込
みは禁止するように制御される。これにより、デバッガ
等が実行中のメモリ3から、暗号化部分の命令を読み込
んで逆アセンブル表示することから防止できる。
。ロードモジュール11は書き換え可能で不揮発な外部
記憶装置に保持され、プログラムの実行の際、ローダ4
でメモリ3へロードされ、メモリ管理部2を介してCP
U1で実行される。このロードモジュール11の一部は
暗号化されており、ローダ4でメモリ3へロードする時
、該暗号化分がローダ4の復号化部7で復号され、メモ
リ管理部2が管理する特別なブロックへロードされる。 このブロックはメモリ管理部2により、CPU1から命
令語としての読み込みを許可し、データとしての読み込
みは禁止するように制御される。これにより、デバッガ
等が実行中のメモリ3から、暗号化部分の命令を読み込
んで逆アセンブル表示することから防止できる。
【0010】以下、ロードモジュール11の生成及びそ
れを実行する際のロード方法について詳述する。
れを実行する際のロード方法について詳述する。
【0011】まず、オブジェクトの内容に守秘義務が課
せられているオブジェクトモジュール8を暗号化装置6
により暗号化し、暗号化オブジェクトモジュール9とし
て本情報処理装置の利用者へ提供する。その際、暗号化
装置6は、当該オブジェクトモジュール9が暗号化され
ていることを示す識別子と管理情報をモジュールの先頭
に付加する。
せられているオブジェクトモジュール8を暗号化装置6
により暗号化し、暗号化オブジェクトモジュール9とし
て本情報処理装置の利用者へ提供する。その際、暗号化
装置6は、当該オブジェクトモジュール9が暗号化され
ていることを示す識別子と管理情報をモジュールの先頭
に付加する。
【0012】図2は、暗号化オブジェクトモジュール9
の先頭に付加される管理情報の形式を示したもので、管
理情報は暗号化されたブロックの開始アドレスと終了ア
ドレス及び、暗号化の手法を示す識別子から構成される
。
の先頭に付加される管理情報の形式を示したもので、管
理情報は暗号化されたブロックの開始アドレスと終了ア
ドレス及び、暗号化の手法を示す識別子から構成される
。
【0013】次に、暗号化オブジェクトモジュール9と
通常の暗号化されていないオブジェクトモジュール(非
暗号化オブジェクトモジュール)10とをリンケージエ
ディタ5でリンケージしてロードモジュール11を生成
する。
通常の暗号化されていないオブジェクトモジュール(非
暗号化オブジェクトモジュール)10とをリンケージエ
ディタ5でリンケージしてロードモジュール11を生成
する。
【0014】図3はリンケージエディタ5の構成例を示
したものである。即ち、暗号化オブジェクトモジュール
9はその識別子により復号化部12を通して復号化され
てからリンケージエディタ部13へ渡され、通常の非暗
号化オブジェクトモジュール10はそのままリンケージ
エディタ部13へ渡される。リンケージエディタ部13
は両オブジェクトをリンケージ処理するが、このとき、
非暗号化部分と暗号化されていた部分を、メモリ管理部
2によって管理される別々の管理ブロック単位にそれぞ
れアドレスを割り当てる。その後、暗号化されていた部
分は、暗号化部14で再び暗号化され、ロードモジュー
ル11が生成される。これにより、ロードモジュールに
対し逆アセンブラをかけても、公開部は通常通り逆アセ
ンブルでき、非公開部は暗号化されているため、逆アセ
ンブラをかけることはできない。
したものである。即ち、暗号化オブジェクトモジュール
9はその識別子により復号化部12を通して復号化され
てからリンケージエディタ部13へ渡され、通常の非暗
号化オブジェクトモジュール10はそのままリンケージ
エディタ部13へ渡される。リンケージエディタ部13
は両オブジェクトをリンケージ処理するが、このとき、
非暗号化部分と暗号化されていた部分を、メモリ管理部
2によって管理される別々の管理ブロック単位にそれぞ
れアドレスを割り当てる。その後、暗号化されていた部
分は、暗号化部14で再び暗号化され、ロードモジュー
ル11が生成される。これにより、ロードモジュールに
対し逆アセンブラをかけても、公開部は通常通り逆アセ
ンブルでき、非公開部は暗号化されているため、逆アセ
ンブラをかけることはできない。
【0015】プログラムの実行の際、このロードモジュ
ール11がローダ4によりメモリ3へロードされる。図
4はロードモジュール11とメモリ3の対応を示したも
のである。ローダ4は、ロードモジュール11の識別子
15により暗号化されているロードモジュールであるこ
とを認識すると、管理情報16を読み込み、非暗号部分
17はそのまま、暗号化部分18は復号化部7を通して
復号化し、メモリ3へロードする。このとき、暗号化部
分18はメモリ管理部2が管理する特別なブロックへロ
ードされる。
ール11がローダ4によりメモリ3へロードされる。図
4はロードモジュール11とメモリ3の対応を示したも
のである。ローダ4は、ロードモジュール11の識別子
15により暗号化されているロードモジュールであるこ
とを認識すると、管理情報16を読み込み、非暗号部分
17はそのまま、暗号化部分18は復号化部7を通して
復号化し、メモリ3へロードする。このとき、暗号化部
分18はメモリ管理部2が管理する特別なブロックへロ
ードされる。
【0016】
【発明の効果】本発明によれば、オブジェクトコードの
内容に守秘義務が課せられているオブェクトと利用者が
作成したオブェクトが混在するロードモジュールを、利
用者がデバッグの目的などで逆アセンブルする際に、守
秘義務が課せられている所は不用意な逆アセンブルから
ガードし、利用者が作成した部分は従来通り逆アセンブ
ルできるという効果がある。また、既存の逆アセンブル
ツールを従来通り使用できるという効果もある。
内容に守秘義務が課せられているオブェクトと利用者が
作成したオブェクトが混在するロードモジュールを、利
用者がデバッグの目的などで逆アセンブルする際に、守
秘義務が課せられている所は不用意な逆アセンブルから
ガードし、利用者が作成した部分は従来通り逆アセンブ
ルできるという効果がある。また、既存の逆アセンブル
ツールを従来通り使用できるという効果もある。
【図1】本発明の一実施例の全体構成図を示す。
【図2】ロードモジュールの暗号化部分を管理する管理
情報の形式例を示す。
情報の形式例を示す。
【図3】リンケージエディタの構成例を示す。
【図4】ロードモジュールとメモリの対応を示す。
1 CPU
2 メモリ管理部
3 メモリ
4 ローダ
5 リンケージエディタ
6 暗号化装置
7 復号化部
11 ロードモジュール
18 暗号化部分
Claims (1)
- 【請求項1】 外部記憶装置に保持されたロードモジ
ュールをメモリにロードし、プログラムを実行する情報
処理装置において、機密保守を要するオブジェクトモジ
ュールを暗号化し、該暗号化オブジェクトモジュールと
他のオブジェクトモジュールとをリンケージしてロード
モジュールを生成して外部記憶装置に保持すると共に、
ロードモジュールをメモリへロードする際、暗号化部分
を復号してメモリの特定ブロックへロードすることを特
徴とする逆アセンブル保護方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3053272A JPH04268924A (ja) | 1991-02-25 | 1991-02-25 | 逆アセンブル保護方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3053272A JPH04268924A (ja) | 1991-02-25 | 1991-02-25 | 逆アセンブル保護方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04268924A true JPH04268924A (ja) | 1992-09-24 |
Family
ID=12938106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3053272A Pending JPH04268924A (ja) | 1991-02-25 | 1991-02-25 | 逆アセンブル保護方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04268924A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996034334A1 (fr) * | 1995-04-27 | 1996-10-31 | Casio Computer Co., Ltd. | Dispositif pour l'execution d'un programme chiffre |
US7290137B2 (en) | 2000-08-15 | 2007-10-30 | Sony Computer Entertainment Inc. | Information processing apparatus, executable module generating method, and storage medium |
-
1991
- 1991-02-25 JP JP3053272A patent/JPH04268924A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996034334A1 (fr) * | 1995-04-27 | 1996-10-31 | Casio Computer Co., Ltd. | Dispositif pour l'execution d'un programme chiffre |
AU690840B2 (en) * | 1995-04-27 | 1998-04-30 | Casio Computer Co., Ltd. | Device for executing enciphered program |
US5982887A (en) * | 1995-04-27 | 1999-11-09 | Casio Computer Co., Ltd. | Encrypted program executing apparatus |
US7290137B2 (en) | 2000-08-15 | 2007-10-30 | Sony Computer Entertainment Inc. | Information processing apparatus, executable module generating method, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3627384B2 (ja) | ソフトウェアの保護機能付き情報処理装置及びソフトウェアの保護機能付き情報処理方法 | |
Best | Preventing software piracy with crypto-microprocessors | |
US4562305A (en) | Software cryptographic apparatus and method | |
EP0583140B1 (en) | System for seamless processing of encrypted and non-encrypted data and instructions | |
US20030188187A1 (en) | Obfuscated source program, source program conversion method and apparatus, and source conversion program | |
EP1596269A2 (en) | A system and method for rendering selective presentation of documents | |
KR950029930A (ko) | 화일 액세스 보안유지 방법 및 장치 | |
CA2543572A1 (en) | Tamper-resistant trusted virtual machine | |
TW200405164A (en) | Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method | |
JPH09134311A (ja) | 機密保護システム | |
CN101957903A (zh) | 一种保护类文件的方法和装置 | |
EP0008033B1 (en) | Microprocessor for executing enciphered programs | |
EP2028579B1 (en) | Information processing apparatus and method for installing an encrypted program in a key implemented system | |
JP2002132364A (ja) | プログラムを内部解析から保護する方法、コンピュータ読み取り可能な記録媒体及びプログラムの配布方法 | |
JP3982531B2 (ja) | ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法 | |
US7508938B1 (en) | Method and apparatus for generating and using a tamper-resistant encryption key | |
JP3982530B2 (ja) | ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法 | |
JPH04268924A (ja) | 逆アセンブル保護方法 | |
CN115168873A (zh) | 基于c++语言的软件防破解方法 | |
JP2696219B2 (ja) | 情報保護方法 | |
JP2009253490A (ja) | メモリシステムの暗号化方式 | |
JP2007226276A (ja) | デバッグ許可装置システム | |
JPH04310128A (ja) | 逆アセンブル保護方法 | |
JPS6358538A (ja) | ソフトウエア保護方式 | |
JPS6313209B2 (ja) |