JP2002073190A - プログラム変換装置、及び、プログラム変換方法 - Google Patents

プログラム変換装置、及び、プログラム変換方法

Info

Publication number
JP2002073190A
JP2002073190A JP2000267778A JP2000267778A JP2002073190A JP 2002073190 A JP2002073190 A JP 2002073190A JP 2000267778 A JP2000267778 A JP 2000267778A JP 2000267778 A JP2000267778 A JP 2000267778A JP 2002073190 A JP2002073190 A JP 2002073190A
Authority
JP
Japan
Prior art keywords
program
instruction
conversion
converted
cpu
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
JP2000267778A
Other languages
English (en)
Other versions
JP4663859B2 (ja
Inventor
Takashi Suyama
剛史 須山
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.)
Funai Electric Co Ltd
Original Assignee
Funai Electric Co Ltd
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 Funai Electric Co Ltd filed Critical Funai Electric Co Ltd
Priority to JP2000267778A priority Critical patent/JP4663859B2/ja
Publication of JP2002073190A publication Critical patent/JP2002073190A/ja
Application granted granted Critical
Publication of JP4663859B2 publication Critical patent/JP4663859B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 プログラムの内容を秘匿できるだけでなく、
CPUによる実行を制限できるプログラム変換装置、及
びプログラム変換方法を提供する。 【解決手段】 ROM12は、ソースプログラム22と
変換テーブル3とを記憶する。変換テーブル3には、ソ
ースプログラム22に含まれる実行命令のうち変換すべ
き命令と、変換処理の内容とを任意に指定できる。そし
て、CPU11は、変換テーブル3に設定された変換処
理の内容にしたがって、ソースプログラム22含まれる
実行命令のうちの変換すべき命令を所定の命令に変換す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム変換装
置及びプログラム変換方法に係り、詳細には、プログラ
ム中の特定の命令を他の命令に変換するプログラム変換
装置及びプログラム変換方法に関する。
【0002】
【従来の技術】従来より、プログラムの内容を秘匿する
ものとして、様々な技術が提案されている。例えば、特
開平4−184629号公報には、主記憶装置に暗号化
されて格納された機械語プログラムを復号化装置により
復号化し、復号化されたプログラムによる演算を中央演
算装置が実行し、中央演算装置の演算結果を暗号化装置
により再び暗号化して主記憶装置に書き込むことができ
る電子計算機が開示されている。
【0003】また、特開平2−297626号公報に
は、記憶装置には暗号化されたプログラムをそのまま格
納し、プログラム実行手段により暗号化プログラムの命
令を実行する場合には、暗号化プログラム解読手段によ
って暗号化プログラムの命令をプログラム実行手段で実
行可能な形に変換できるプログラム及びデータの内容秘
匿方式が開示されている。
【0004】更に、特開平1−321519号公報に
は、予め設定した変換データに従って命令コード(機械
語)を変換する機能を有することで、固有の命令コード
を持つことができるマイクロプロセッサが開示されてい
る。
【0005】
【発明が解決しようとする課題】上記のような技術によ
れば、プログラムが格納されている記憶装置が参照され
ても、プログラムの内容を秘匿できる。しかしながら、
上記従来の技術では、CPU(Central Processing Uni
t)の実行内容を制限することができなかった。
【0006】本発明の課題は、プログラムの内容を秘匿
できるだけでなく、CPUによる実行を制限できるプロ
グラム変換装置、及びプログラム変換方法を提供するこ
とである。
【0007】
【課題を解決するための手段】本発明は、このような課
題を達成するために、次のような特徴を備えている。な
お、次に示す手段の説明中、括弧書きにより実施の形態
に対応する構成を1例として例示する。符号等は、後述
する図面参照符号等である。
【0008】請求項1記載の発明は、複数の実行命令を
含むプログラム(例えば、図1に示すソースプログラム
22)を変換するプログラム変換装置(1)において、
前記プログラムに含まれる実行命令のうち変換すべき命
令と、変換処理の内容とが対応づけて設定された鍵情報
(例えば、図1に示す変換テーブル3)を記憶する記憶
手段(例えば、図1に示すROM12)と、この記憶手
段に記憶された鍵情報に基づいて前記プログラムを変換
する変換手段(例えば、図1に示すCPU11)と、を
備えることを特徴とする。
【0009】請求項1記載の発明によれば、記憶手段
は、複数の実行命令を含むプログラムに含まれる実行命
令のうち変換すべき命令と、変換処理の内容とが対応づ
けて設定された鍵情報を記憶する。そして、変換手段
は、鍵情報に設定された変換処理の内容にしたがって、
前記プログラム含まれる実行命令のうちの変換すべき命
令を変換する。
【0010】これにより、鍵情報を的確に設定すれば、
変換前のプログラムの内容を、変換後のプログラムの内
容と全く無関係にできる。従って、実質的にプログラム
の内容を秘匿できる。
【0011】また、鍵情報として、プログラム含まれる
実行命令のうち変換したい命令と、変換後の命令とを任
意に指定できる。従って、プログラムの任意の一部のみ
或いは全部を、必要に応じて所望の命令に変換できると
いう利便性がある。
【0012】更に、例えば、CPUその他の実行手段に
変換後のプログラムを実行させるようにすれば、たとえ
第三者によって変換前のプログラムが参照されても、C
PU等の処理内容を秘匿できる。
【0013】更に、変換手段はプログラムに含まれる命
令そのものを別の命令に変換するので、当該プログラム
変換装置によれば、鍵情報の設定内容に応じて、CPU
による実行内容を適宜制限できる。
【0014】請求項2記載の発明は、請求項1記載のプ
ログラム変換装置において、前記記憶手段が記憶する鍵
情報には、前記プログラム中の実行命令を、処理を何も
実行しない命令(例えば、図2(c)に示す変換後プロ
グラム42中のNOP命令)に変換するための処理内容
が設定されていることを特徴とする。
【0015】請求項2記載の発明によれば、記憶手段が
記憶する鍵情報には、プログラム中の実行命令を、処理
を何も実行しない命令に変換するための処理内容が設定
されている。そして、変換手段は記憶手段に記憶された
鍵情報に基づいて、前記プログラムに含まれる命令のう
ちの変換すべき命令を、処理を何も実行しない命令に変
換する。
【0016】これにより、たとえ元のプログラムにバグ
や不適切な命令等があったとしても、その部分の命令の
実行を必要に応じて回避できる。従って、変換後のプロ
グラムを実行する装置の信頼性向上に寄与できる。
【0017】また、例えば、同一のシステムプログラム
等を、複数の異なる装置に設定しても、各々の装置の側
において、実行したくない命令を適宜回避できるので、
システムプログラム等の再利用が可能となる。
【0018】請求項3記載の発明は、請求項1又は2記
載のプログラム変換装置において、前記変換手段は、前
記プログラム中の実行命令のアドレスを演算処理するこ
とで前記プログラムを変換するものであり、前記記憶手
段が記憶する鍵情報には、前記プログラムにおける変換
すべき実行命令の位置(例えば、図2(b)に示す行番
号31)と、該実行命令のアドレスから減算すべき値
(例えば、図2(b)に示すキーアドレス32)とが対
応づけて設定されていることを特徴とする。
【0019】請求項3記載の発明によれば、前記記憶手
段が記憶する鍵情報には、前記プログラムにおける変換
すべき実行命令の位置と、該実行命令のアドレスから減
算すべき値とが対応づけて設定されている。そして、前
記変換手段は、前記プログラムを変換する過程で、前記
プログラム中の実行命令のアドレスを演算処理する。
【0020】即ち、鍵情報には、前記プログラムにおけ
る変換すべき実行命令の位置を設定できる。従って、例
えば、プログラムの行番号を指定することで、容易且つ
確実に変換すべき部分を指定できる。また、変換手段
は、アドレスの演算処理を通じてプログラムを変換する
ので迅速且つ確実に変換処理が実行される。
【0021】請求項4記載の発明は、複数の実行命令を
含むプログラム(例えば、図1に示すソースプログラム
22)を、当該プログラムに含まれる実行命令のうち変
換すべき実行命令と、変換処理の内容とが対応づけて設
定された鍵情報(例えば、図2に示す変換テーブル3)
に基づいて変換するプログラム変換方法であって、前記
鍵情報には、前記プログラム中の実行命令を、処理を何
も実行しない命令(例えば、図2(c)に示すNOP命
令)に変換するための処理内容が設定されていること、
を特徴とする。
【0022】請求項4記載の発明によれば、複数の実行
命令を含むプログラムを、鍵情報に基づいて変換する。
鍵情報には、当該プログラムに含まれる実行命令のうち
変換すべき実行命令と、変換処理の内容とが対応づけて
設定されている。ここで、変換処理には、所望の命令
を、何も処理を実行しない命令に変換する処理が含まれ
る。
【0023】これにより、鍵情報を的確に設定すれば、
変換前のプログラムの内容を、変換後のプログラムの内
容と全く無関係にできる。従って、実質的にプログラム
の内容を秘匿できる。更に、例えば、CPUその他の実
行手段に変換後のプログラムを実行させるようにすれ
ば、たとえ第三者によって変換前のプログラムが参照さ
れても、CPU等の処理内容を秘匿できる。
【0024】また、プログラム含まれる実行命令のうち
変換したい命令と、変換後の命令とを鍵情報として任意
に指定できる。従って、プログラムの任意の一部のみ或
いは全部を変換できるという利便性がある。
【0025】更に、変換手段はプログラムに含まれる命
令そのものを別の命令に変換するので、当該プログラム
変換装置によれば、鍵情報の設定内容に応じて、CPU
による実行を適宜制限できる。
【0026】更に、仮に元のプログラムにバグや不適切
な命令等があったとしても、その部分の命令の実行を必
要に応じて回避できる。従って、変換後のプログラムを
実行する装置の信頼性向上に寄与できる。更に、例え
ば、同一のシステムプログラム等を、複数の異なる装置
に設定しても、各々の装置の側において、実行したくな
い命令を適宜回避できるので、システムプログラム等の
再利用が可能となる。
【0027】
【発明の実施の形態】以下、図1及び図2を参照して本
発明に係るプログラム変換装置の実施の形態を詳細に説
明する。
【0028】図1は、プログラム変換装置の内部構成を
示すブロック図である。図1に示す様に、プログラム変
換装置1は、CPU(Central Processing Unit)1
1、ROM(Read Only Memory)12、RAM(Random
Access Memory)13、入力部14、及び出力部15等
の各部を備える。また、上記各構成要素は、バス16に
より接続され、互いにデータや制御信号等を送受する。
【0029】CPU11は、ROM12に格納されてい
るシステムプログラムに応じた処理を実行する。特に、
CPU11は、後述するプログラム変換処理を実行する
と共に、変換後のアセンブラ言語プログラムをアセンブ
ルする。そして、CPU11は、アセンブルにより生成
された機械語をRAM13に展開する。そして、CPU
11は、RAM13に展開した機械語を逐次読込み、そ
の機械語の命令に応じた処理を実行する。
【0030】ROM12は、読み出し専用の記憶装置で
ある。このROM12は、当該プログラム変換装置1に
対応するシステムプログラムの他、後述する変換テーブ
ル3及びアセンブラ言語のソースプログラム22を予め
記憶する。これら、変換テーブル3及びソースプログラ
ム22は、ROM12からの強制的な読み出しで破壊さ
せる機能をもたせるのが好ましい。
【0031】RAM13は、随時、読み出し及び書き込
みが可能な記憶装置である。このRAM13は、プログ
ラムやデータなどの一時的な格納領域となるワークメモ
リ13aを含む。ワークメモリ13aには、CPU11
によって変換されたソースプログラム(以下、「変換後
プログラム」と記す。)に対応する機械語が展開され
る。
【0032】入力部14はアセンブラ言語のソースプロ
グラムやそのプログラムに係るデータ等を入力するため
のインターフェースである。また、出力部13は、当該
プログラム変換装置1の処理結果を外部装置(図示略)
に出力するためのインターフェースである。
【0033】次に、図2(a)〜(c)を参照してプロ
グラム変換装置1の処理について説明する。図2は、プ
ログラム変換装置1の処理態様を説明する為の図であ
る。
【0034】図2(a)は、アセンブラ言語による一連
のソースプログラムの行番号21と、該ソースプログラ
ムの内容22と、該ソースプログラムの各々の命令がR
OM12内の何所に格納されているかを特定するアドレ
ス(番地)23との対応関係を模式的に示す図である。
尚、一連のソースプログラム22及びアドレス23は、
177,178,及び179行目を除いて図示を省略して
いる。
【0035】この図2(a)を参照すると、ソースプロ
グラム22において177行目のNOP命令は、ROM
12の0x20番地に格納されている。また、178行
目のMOV命令は、0x34番地に格納されている。更
に、179行目のADD命令は、0x56番地に格納さ
れている。
【0036】ここで、NOP(No OPeration)命令は、
CPU11に何も処理を実行させない命令である。MO
V(Move)命令はデータ転送命令である。ADD(Ad
d)命令は加算命令である。尚、上記の命令は説明の都
合上、例示したにすぎず、ソースプログラム22に含ま
れる命令は、アセンブラ言語の命令であれば種別を問わ
ない。
【0037】図2(b)は、予めROM12に格納され
ている変換テーブル3を模式的に示す概念図である。こ
の変換テーブル3の内容は、予め任意に指定できる。こ
の変換テーブル3には、ソースプログラム22に含まれ
る変換すべき命令の行番号31(177,178,及び1
79行目)と、キーアドレス32とが対応付けて格納さ
れている。
【0038】キーアドレス32には、変換後の命令のア
ドレスを基準とした場合における変換すべき各々の命令
の相対アドレスを格納する。本実施例のプログラム変換
処理においてCPU11は、ソースプログラム22にお
ける177,178,及び179行目の命令をすべてNO
P命令に変換する。従って、キーアドレス32には、N
OP命令のアドレスを基準とした場合における177,
178,及び179行目の命令の相対アドレスを格納す
る。
【0039】従って、変換テーブル3において、ソース
プログラム22の177行目のNOP命令に対応するキ
ーアドレス32は、0000となる。また、変換テーブ
ル3を参照すると、NOP命令のアドレスに対するMO
V命令(178行目)の相対アドレスは0x10であ
る。更に、NOP命令のアドレスに対するADD命令
(179行目)の相対アドレスは0x36である。
【0040】図2(c)は、CPU11によるプログラ
ム変換処理によって生成された変換後プログラムの行番
号41と、該変換後プログラムの内容42と、該変換後
プログラムの命令のアドレス43との対応関係を模式的
に示す図である。尚、図2において、変換後プログラム
の行番号41と、変換テーブル3に格納されている行番
号31と、ソースプログラムの行番号21とは対応して
いる。
【0041】CPU11は、この変換後プログラム42
を先ずアセンブルする。そして、CPU11はアセンブ
ルして生成した機械語をRAM13に展開する。そし
て、CPU11は当該機械語を逐次読込み、その機械語
の命令に応じた処理を実行する。
【0042】以下、CPU11が実行するプログラム変
換処理について説明する。先ず、CPU11は、ROM
12からソースプログラム22を読込む過程で、変換テ
ーブル3を参照し、変換すべき命令の行番号を特定す
る。即ち、CPU11は、変換テーブル3を参照し、ソ
ースプログラム22において変換すべき部分を、17
7,178,179行目に特定する。
【0043】次に、CPU11はソースプログラム22
の内、変換すべき命令のアドレス23から、それぞれに
対応するキーアドレス32を減算する。そして、CPU
11は変換すべき命令(NOP命令、MOV命令、及び
ADD命令)を、減算結果のアドレスに格納されている
命令(NOP命令)に置き換える。
【0044】具体的に説明すると、ソースプログラム2
2の177行目のNOP命令は、0x24番地に格納さ
れている。変換テーブル3を参照すると、177行目の
命令に対応するキーアドレスは0000なので、CPU
11は、0x24から0000を減算する。そして、C
PU11は、減算結果である0x24番地に格納されて
いる命令、即ちNOP命令を変換後の命令とする。
【0045】また、ソースプログラム22の178行目
のMOV命令は、0x34番地に格納されている。変換
テーブル3を参照すると、178行目の命令に対応する
キーアドレスは0x10なので、CPU11は、0x3
4から0x10を減算する。そして、CPU11はMO
V命令を、減算結果である0x24番地に格納されてい
る命令、即ちNOP命令に置き換える。これにより、M
OV命令がNOP命令に変換される。
【0046】更に、ソースプログラム22の179行目
のADD命令は、0x56番地に格納されている。変換
テーブル3を参照すると、179行目の命令に対応する
キーアドレスは0x36なので、CPU11は、0x5
6から0x34を減算する。そして、CPU11はAD
D命令を、減算結果である0x24番地に格納されてい
る命令、即ちNOP命令に置き換える。これにより、A
DD命令がNOP命令に変換される。
【0047】上記の様な手順で、CPU11は、ソース
プログラム22の一部であるNOP命令、MOV命令及
びADD命令を全てNOP命令に変換する。但し、上記
の処理態様では、予めNOP命令のアドレスを基準アド
レスとしたので、実質的にソースプログラム22の17
7行目のNOP命令は変換されない。
【0048】最後に、CPU11は、ソースプログラム
22の一部を変換した変換後プログラム42をアセンブ
ルする。そして、CPU11はアセンブルして生成した
機械語をRAM13に展開し、その機械語の命令に応じ
た処理を実行する。
【0049】以上説明したように、本実施形態のプログ
ラム変換装置1によれば、CPU11はROM12に格
納されたソースプログラム22を読込む過程で、ユーザ
が任意に指定可能な変換テーブル3を参照し、変換すべ
き命令を特定する。そして、CPU11はソースプログ
ラム22に含まれる変換すべき命令のアドレス23か
ら、それぞれに対応するキーアドレス32を減算する。
【0050】そして、CPU11は、変換すべき命令
を、減算結果のアドレスに格納されている命令に変換す
る。最後にCPU11は、変換したプログラムに対応す
る機械語の命令に応じた処理を逐次実行する。
【0051】これにより、変換テーブル3を的確に指定
すれば、アセンブラ言語で記述されたソースプログラム
22に含まれる任意の命令をNOP命令に変換できる。
従って、たとえソースプログラムに誤りがあったとして
も、その誤りの部分の実行を回避できるので、CPU1
1が誤動作することを防げる。
【0052】また、例えば、同一のシステムプログラム
(ソースプログラム)を、類似の構成要素を備えた異な
る装置の記憶部に格納しても、各々の装置ごとに専用の
変換テーブルを用意するだけで、夫々の装置の側で、的
確なシステムプログラムを実行できる。従って、システ
ムプログラムの再利用が可能となる。
【0053】更に、指定する変換テーブル3の内容に応
じて、ソースプログラム22の一部のみを所望の命令に
変換することもできるし、ソースプログラム22の全部
を所望の命令に変換することもできる。たとえソースプ
ログラム22の一部のみを変換したとしても、第三者は
どの部分を変換するのか不明なので、実質的にCPU1
1の処理内容を秘匿できる。
【0054】更に、ROM12に格納されているソース
プログラム22は、CPU11が実行する実際の動作を
反映したものではない為、たとえROM12のソースプ
ログラム22を参照されても、CPU11の処理内容を
秘匿できる。
【0055】更に、変換テーブル3を用意することによ
り、ソースプログラム22と変換後プログラム42と
は、1対1に対応付けられるので、変換後プログラム4
2から、ソースプログラム22を再生できる。その場合
は、変換後プログラム42のアドレス43の各々と、そ
れに対応するキーアドレス32とを加算して得られるア
ドレスに格納されている命令を参照する。
【0056】更に、ROM12に格納されているソース
プログラム22と変換テーブル3とについては、強制的
な読み出しに対して内容を破壊させるようにすれば、い
っそうプログラムの機密保護に寄与できる。
【0057】尚、本実施の形態における記述内容は、本
発明に係るプログラム変換装置の好適な一例であり、本
発明はこれに限定されるものではない。
【0058】例えば、プログラム変換処理において、ソ
ースプログラム22の177〜179行目は、NOP命
令に限らず、任意のアセンブラ言語の命令に変換でき
る。また、ソースプログラム22の177〜179行目
は、同一の命令に限らず、夫々異なる命令に変換でき
る。但し、その場合は、所定の命令に応じた変換テーブ
ルを予め用意する。
【0059】また、ソースプログラム22において、変
換する部分は177〜179行目に限らず、ソースプロ
グラムの任意の一部分又は全部を変換できることは勿論
である。従って、ソースプログラムの一部分又は全部が
もともとNOP命令で与えられても、CPUは、変換テ
ーブルを参照することで、それらNOP命令を所定の命
令に復元できる。この場合は、実質的にソースプログラ
ムそのものを暗号化できる。
【0060】更に、RAM13には、ソースプログラム
22に対応する機械語のみを展開するようにしてもよ
い。この場合は、CPU11が該機械語をフェッチし実
行する際に変換テーブルを参照して、CPU11の内部
で機械語を変換する。これにより、たとえ実行中にRA
M13を参照されてもCPU11の処理内容を秘匿でき
る。但し、上記の場合変換テーブルには、機械語プログ
ラムの変換すべき命令の位置と、変換後の機械語命令の
アドレスとを対応づけて格納する。
【0061】更に、図2(b)に示す変換テーブル3に
は、説明の都合上、ソースプログラム22の行番号31
を格納したが、変換テーブルは、ソースプログラムにお
ける変換すべき命令と、そのキーアドレス32とを対応
付ける内容であればよい。
【0062】従って、例えば、変換テーブル3には、変
換すべき命令を含むプログラムのファイル名などをヘッ
ダ情報として格納するようにしてもよい。また、入力部
14を介して、変換テーブル3及びソースプログラム2
2の内容を書きかえることができるようにしてもよい。
この場合は、ROM12は、EPROM(Erasable and
Programmable ROM)で構成するのが好ましい。
【0063】更に、当該プログラム変換装置は、ワンチ
ップで構成してもよいし、各々の構成要素を半導体集積
回路により別々に構成してもよい。また、CPU11は
CMOS(Complementory Metal Oxide Semiconducto
r)等でLSI(Large Scale Integration)化されたM
PU(MicroProcessing Unit)を含む。
【0064】更に、ROM12としては、MROM(Ma
sk ROM)、PROM(ProgrammableROM)、EPROM
(Erasable and Programmable ROM)、EEPROM(E
lectrically Erasable and Programmable ROM)など種
別を問わない。また、RAM13としても、DRAM
(Dynamic RAM)、SRAM(Static RAM)の種別を問
わない。
【0065】その他、プログラム変換装置1の細部構
成、及び動作に関しても、本発明の趣旨を逸脱すること
のない範囲で適宜に変更可能であることは勿論である。
【0066】
【発明の効果】請求項1記載の発明によれば、鍵情報を
的確に設定することで変換前のプログラムの内容を、変
換後のプログラムの内容と全く無関係にできる。従っ
て、実質的にプログラムの内容を秘匿できる。特に、C
PUその他の実行手段に変換後のプログラムを実行させ
るようにすれば、たとえ第三者によって変換前のプログ
ラムが参照されても、CPU等の処理内容を秘匿でき
る。
【0067】更に、変換手段はプログラムに含まれる命
令そのものを別の命令に変換するので、当該プログラム
変換装置によれば、鍵情報の設定内容に応じて、CPU
による実行を適宜制限できる。また、プログラム含まれ
る実行命令のうち変換したい命令と、変換後の命令とを
鍵情報として任意に指定できる。従って、プログラムの
任意の一部のみ或いは全部を変換できるという利便性が
ある。
【0068】請求項2記載の発明によれば、たとえ元の
プログラムにバグや不適切な命令等があったとしても、
その部分の命令の実行を必要に応じて回避できる。従っ
て、変換後のプログラムを実行する装置の信頼性向上に
寄与できる。また、例えば、同一のシステムプログラム
等を、複数の異なる装置に設定しても、各々の装置の側
において、実行したくない命令を適宜回避できるので、
システムプログラム等の再利用が可能となる。
【0069】請求項3記載の発明によれば、鍵情報には
前記プログラムにおける変換すべき実行命令の位置を設
定できる。従って、例えば、プログラムの行番号を指定
することで、容易且つ確実に変換すべき部分を指定でき
る。また、変換手段は、アドレスの演算処理を通じてプ
ログラムを変換するので迅速且つ確実に変換処理が実行
される。
【0070】請求項4記載の発明によれば、鍵情報を的
確に設定することで変換前のプログラムの内容を、変換
後のプログラムの内容と全く無関係にできる。従って、
実質的にプログラムの内容を秘匿できる。更に、変換手
段はプログラムに含まれる命令そのものを別の命令に変
換するので、当該プログラム変換装置によれば、鍵情報
の設定内容に応じて、CPUによる実行を適宜制限でき
る。
【0071】更に、たとえ元のプログラムにバグや不適
切な命令等があったとしても、その部分の命令の実行を
必要に応じて回避できる。従って、変換後のプログラム
を実行する装置の信頼性向上に寄与できる。また、例え
ば、同一のシステムプログラム等を、複数の異なる装置
に設定しても、各々の装置の側において、実行したくな
い命令を適宜回避できるので、システムプログラム等の
再利用が可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態によるプログラム変換装置
の内部構成を示すブロック図である。
【図2】図1に示すプログラム変換装置1の処理態様を
説明する為の図であり、(a)はソースプログラムを模
式的に示す図、(b)は変換テーブルを模式的に示す
図、(c)は変換後プログラムを模式的に示す図であ
る。
【符号の説明】
1 プログラム変換装置 11 CPU 12 ROM 13 RAM 13a ワークメモリ 14 入力部 15 出力部 16 バス 21,31,41 行番号 22 ソースプログラム 23 ソースプログラムのアドレス 3 変換テーブル 32 キーアドレス 42 変換後プログラム 43 変換後プログラムのアドレス

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】複数の実行命令を含むプログラムを変換す
    るプログラム変換装置において、 前記プログラムに含まれる実行命令のうち変換すべき命
    令と、変換処理の内容とが対応づけて設定された鍵情報
    を記憶する記憶手段と、 この記憶手段に記憶された鍵情報に基づいて前記プログ
    ラムを変換する変換手段と、 を備えることを特徴とするプログラム変換装置。
  2. 【請求項2】前記記憶手段が記憶する鍵情報には、前記
    プログラム中の実行命令を、処理を何も実行しない命令
    に変換するための処理内容が設定されていることを特徴
    とする請求項1記載のプログラム変換装置。
  3. 【請求項3】前記変換手段は、前記プログラム中の実行
    命令のアドレスを演算処理することで前記プログラムを
    変換するものであり、 前記記憶手段が記憶する鍵情報には、前記プログラムに
    おける変換すべき実行命令の位置と、該実行命令のアド
    レスから減算すべき値とが対応づけて設定されているこ
    とを特徴とする請求項1または2記載のプログラム変換
    装置。
  4. 【請求項4】複数の実行命令を含むプログラムを、当該
    プログラムに含まれる実行命令のうち変換すべき実行命
    令と、変換処理の内容とが対応づけて設定された鍵情報
    に基づいて変換するプログラム変換方法であって、 前記鍵情報には、前記プログラム中の実行命令を、処理
    を何も実行しない命令に変換するための処理内容が設定
    されていること、 を特徴とするプログラム変換方法。
JP2000267778A 2000-09-04 2000-09-04 プログラム変換装置 Expired - Fee Related JP4663859B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000267778A JP4663859B2 (ja) 2000-09-04 2000-09-04 プログラム変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000267778A JP4663859B2 (ja) 2000-09-04 2000-09-04 プログラム変換装置

Publications (2)

Publication Number Publication Date
JP2002073190A true JP2002073190A (ja) 2002-03-12
JP4663859B2 JP4663859B2 (ja) 2011-04-06

Family

ID=18754644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000267778A Expired - Fee Related JP4663859B2 (ja) 2000-09-04 2000-09-04 プログラム変換装置

Country Status (1)

Country Link
JP (1) JP4663859B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014125639A1 (ja) * 2013-02-18 2014-08-21 三菱電機株式会社 制御プログラム管理装置及びコントローラ装置及び制御システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63279322A (ja) * 1987-05-12 1988-11-16 Nec Corp プログラム不正利用防止方式
JPH04311225A (ja) * 1991-04-09 1992-11-04 Nec Eng Ltd マイクロプロセッサ命令実行方式
JPH0612506A (ja) * 1992-05-15 1994-01-21 Nec Corp マイクロプロセッサ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63279322A (ja) * 1987-05-12 1988-11-16 Nec Corp プログラム不正利用防止方式
JPH04311225A (ja) * 1991-04-09 1992-11-04 Nec Eng Ltd マイクロプロセッサ命令実行方式
JPH0612506A (ja) * 1992-05-15 1994-01-21 Nec Corp マイクロプロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014125639A1 (ja) * 2013-02-18 2014-08-21 三菱電機株式会社 制御プログラム管理装置及びコントローラ装置及び制御システム

Also Published As

Publication number Publication date
JP4663859B2 (ja) 2011-04-06

Similar Documents

Publication Publication Date Title
CN109598107B (zh) 一种基于应用安装包文件的代码转换方法及装置
WO2011134207A1 (zh) 软件保护方法
JP4758904B2 (ja) 機密情報処理方法
JP4074620B2 (ja) メモリ管理ユニット
JP4670585B2 (ja) 設定装置および方法、並びにプログラム
JP7443433B2 (ja) 不揮発性メモリデバイス内部からの保護された通信
JP4591163B2 (ja) バスアクセス制御装置
JP2004054834A (ja) プログラム開発方法、プログラム開発支援装置およびプログラム実装方法
JP4119882B2 (ja) メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ
CN110209105B (zh) 数据的处理方法、控制***及控制装置
JP4663859B2 (ja) プログラム変換装置
JP2000235523A (ja) 電子式データ処理用回路装置
TW201918925A (zh) 資料存取裝置及方法
JP2005165493A (ja) シェアードコンピュータ、その制御プログラム、および記録媒体
US7227946B2 (en) Automated permutation method and apparatus
JP2005202663A (ja) 制御用プログラム,コンパイラおよび変換プログラム
JP7123001B2 (ja) 記録システム
JPH05173892A (ja) ファイルロード方式
US20010034838A1 (en) Control program, device including the control program, method for creating the control program, and method for operating the control program
CN118368623A (zh) 一种蓝牙协议栈软件的管理方法、装置、设备及存储介质
JPH06195268A (ja) Icメモリカード及びそのデータ保護方法及び装置
JP2000224160A (ja) Icカードセキュリティインタフェース提供方法及びシステム及びicカードセキュリティインタフェース提供プログラムを格納した記憶媒体
JP2001265459A (ja) 制御プログラム、制御プログラムを含むデバイス、制御プログラムの作成方法、および、制御プログラムの動作方法
JP2017108293A (ja) 半導体集積回路装置およびデータ処理装置
JP2023114517A (ja) プログラム更新装置およびプログラム更新方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101125

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees