JPH11184690A - 暗号復元を行う翻訳装置およびその方法 - Google Patents
暗号復元を行う翻訳装置およびその方法Info
- Publication number
- JPH11184690A JPH11184690A JP9355668A JP35566897A JPH11184690A JP H11184690 A JPH11184690 A JP H11184690A JP 9355668 A JP9355668 A JP 9355668A JP 35566897 A JP35566897 A JP 35566897A JP H11184690 A JPH11184690 A JP H11184690A
- Authority
- JP
- Japan
- Prior art keywords
- information
- translation
- encrypted
- unit
- input
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
者に過大な負荷を課すことなく、かつ安全に、ユーザに
提供することが課題である。 【解決手段】 暗号化されたソースファイル24(暗号
化データ)がコンパイラのフロントエンド11に入力さ
れると、読込み部21は、それを一定単位毎に復号部2
2に渡し、復号部22は、渡された部分を復号化して元
のソースデータを部分的に復元する。解析部23は、復
元された部分から順に中間テキスト25に変換し、バッ
クエンド12は、中間テキスト25から実行可能プログ
ラムを生成する。
Description
暗号化されているソースファイル等の情報を翻訳する翻
訳装置およびその方法に関する。
用したソフトウェアの分散開発等が盛んになり、それに
伴って情報を隠蔽するための暗号に関する技術も多くな
ってきている。例えば、開発者Aから開発者Bに、ある
情報Iをネットワーク等を利用して伝達したい場合、A
が情報Iを暗号化し、それをネットワークを介して転送
し、Bが受信した情報を復元するという技術が広く使用
されている。
ている処理Pのために使用したいが、処理Pの外部(オ
ペレータ等)に対しては、情報Iの内容を隠蔽したいよ
うな場合がある。例えば、情報Iに相当する新製品のプ
ログラムソースを、関係者以外の人も使用できるような
環境上でコンパイルする必要がある場合が、これに相当
する。このような場合、ソースファイルを暗号化してB
に転送しても、コンパイルの前にそれを復号化してしま
うと、それが他に洩れる可能性があり、ソースファイル
の内容を完全に隠蔽することはできない。
供者Aと情報受取り者B以外の第三者に対して情報を隠
蔽することを意図している。例えば、特開平7−162
409に記載された「データ転送方法」では、暗号化デ
ータの復号化処理を行うモジュールを、一定時間毎に変
更して再コンパイルし、そのオブジェクトコードを暗号
化データのユーザに転送する。これにより、第三者が暗
号化データを復号化することが困難になる。
者に対する防衛策であって、暗号化データを受け取る側
は、復号化モジュールのオブジェクトコード(復号鍵を
含む)を用いて、暗号化前の情報を簡単に取り出すこと
ができる。
する場合、受け取り側で暗号復元のコマンドC1と既存
のコンパイラコマンドC2とをつなげて実行すれば、ソ
ースファイルをコンパイルして、オブジェクトコード
(実行可能モジュール)を生成することができる。しか
し、コマンドC1とC2をただ単につなげて使用するだ
けでは、OS(オペレーションシステム)やそのコマン
ドに精通しているエンジニアにとって、コマンドC1の
実行結果を取り出すことは容易であり、ソースファイル
の内容を受け取り側に対して隠蔽することは困難であ
る。
のデータ転送方法ではソース情報が洩れる可能性がある
ことから、ソフトウェアの提供者は、コンパイル後の実
行可能モジュールをユーザに配布している。そして、ユ
ーザのシステムにおいては、与えられた実行可能モジュ
ールを直接操作することによって、ソフトウェアのカス
タマイズを行っている。
ションを含む元の実行可能モジュールの一部分を使用し
ているに過ぎず、配布される実行可能モジュールには、
ユーザにとって不要な部分も多く含まれている。このた
め、必要以上に大きなサイズの実行可能モジュールをシ
ステムに実装しなければならないという問題がある。
タマイズした実行可能モジュールを用意し、それを配布
することも考えられるが、ユーザの数が増大すると提供
者の作業が煩雑になり、過大な負荷が生じる。
フトウェアを、提供者に過大な負荷を課すことなく、か
つ安全に、ユーザに提供することのできる翻訳装置およ
びその方法を提供することである。
置の原理図である。図1の翻訳装置は、入力手段1、復
元手段2、翻訳手段3、および出力手段4を備える。
は、暗号化情報を複数の部分に分割して入力し、復元手
段2は、その暗号化情報の各部分毎に元の情報を復元す
る。そして、翻訳手段3は、元の情報を翻訳し、出力手
段4は、翻訳結果を出力する。
されたソースファイルであり、復元手段2は、それを復
号化して、暗号化前のソースファイルを復元し、翻訳手
段3は、復元されたソースファイルをコンパイルして実
行可能モジュールを生成する。
度に全部復号化するのではなく、分割された各部分毎に
少しずつ復号化する。そして、翻訳手段3は、復元され
た各部分毎に元の情報を翻訳する。
分毎に復元されるのみであり、その全体が一度に再現さ
れることはない。したがって、翻訳装置のユーザが元の
情報の全体を得ることは困難になり、元の情報の機密を
保持したまま、翻訳することが可能になる。
アを、簡単かつ安全に、ユーザに提供することができ、
ユーザのシステム上で翻訳のオプションを指定して、翻
訳結果をカスタマイズすることが可能になる。
手段1は、暗号化情報を入力し、翻訳手段3は、その暗
号化情報から元の情報を復元する処理を翻訳処理の内部
で行い、元の情報を外部に与えることなく翻訳する。そ
して、出力手段4は、翻訳結果を出力する。
化してから翻訳するのではなく、翻訳処理の内部で復号
化を行う。このとき、翻訳手段3は、復元処理と翻訳処
理が融合した処理を行って、暗号化情報から翻訳結果を
生成する。
手段3の内部で復元されるのみであり、それが翻訳装置
の外部に洩れることはない。したがって、翻訳装置のユ
ーザが元の情報を得ることは困難になり、元の情報の機
密を保持したまま、翻訳することが可能になる。
アを、簡単かつ安全に、ユーザに提供することができ、
ユーザのシステム上で翻訳のオプションを指定して、翻
訳結果をカスタマイズすることが可能になる。
2の読込み部21に対応し、復元手段2は図2の復号部
22に対応し、翻訳手段3は図2の解析部23およびバ
ックエンド12に対応し、出力手段4は図2のバックエ
ンド12に対応する。
明の実施の形態を詳細に説明する。ソフトウェアをユー
ザのコンピュータシステム上でカスタマイズするために
は、ソースファイルの情報をユーザに安全に配布し、ユ
ーザの希望に応じた翻訳(コンパイル)を行うことが必
要になる。この場合、ソースファイルを何らかの方法で
暗号化して配布することが望ましい。
ている受け取り側であっても、ある処理(または装置)
の外からは、元の情報を取り出すことができないように
する必要があり、ソースファイルの復号化機能は、コン
パイル処理(または装置)内に含まれることが望まし
い。本発明は、このような要望に答えるものであり、産
業上の利用分野は広い。
成図である。図2のコンパイラは、フロントエンド11
とバックエンド12から構成され、フロントエンド11
は、読込み部21、復号部22、および解析部23を含
む。
ソースファイル)を読み込むと、復号部22は、一定の
単位毎に暗号を復元し、解析部23に入力する。そし
て、復号部22に保持されている復元情報は、解析部2
3に入力された後に、自動的に破棄される。解析部23
は、入力された情報から順に、トークン解析(字句解
析)、構文解析、意味解析等の解析処理を行う。そし
て、復号部22および解析部23は、暗号化データ24
の入力がなくなるまで、同様の処理を繰り返す。
ントエンド11から中間言語のプログラムである中間テ
キスト25が出力されると、バックエンド12は、それ
に基づいて、最適化およびコード生成を行う。
た暗号化ソースファイルは、復号部22により、決めら
れた最小単位ごとに復号化される。この復号化処理はコ
ンパイラの内部処理であり、所定の単位を復号化した
ら、その情報は直ちに破棄されるため、たとえユーザが
復号鍵を保持していても、復号化されたソースファイル
全体の情報をコンパイラの外部から得ることはできな
い。
の流れを示している。図3において、読込み部21は、
暗号化ソースファイル24を一定単位毎に暗号化データ
バッファ31に入力し、復号部22は、暗号化データバ
ッファ31のデータを復号化して、非暗号化データバッ
ファ32に入力する。暗号化データバッファ31および
非暗号化データバッファ32は、メモリ上に設けられ
る。
ッファ32のデータを順に解析して、メモリ上に中間テ
キスト25を生成し、バックエンド12は、中間テキス
ト25から実行可能ファイル33を生成する。
(コンパイル処理)のフローチャートである。まず、読
込み部21は、与えられた入力データ41が暗号化デー
タかどうかを、入力データ41のファイルが持っている
マジックナンバーで判定する(ステップS1)。それが
暗号化データであった場合は、あらかじめ定められたバ
イト数Nだけ暗号化データバッファ31に入力する。復
号部22は、暗号化データバッファ31に入力されたデ
ータからソースデータを復元して、非暗号化データバッ
ファ32に転送する(ステップS2)。
ファ32からソースデータを読み込み、読み込んだ部分
だけを解析して、中間テキスト25に展開し(ステップ
S3)、読込み部21は、入力データ41が終了したか
どうかを判定する(ステップS4)。読込み部21によ
るNバイト転送と、復号部22による復元処理と、解析
部23による解析処理は、入力データ41がなくなるま
で繰り返される。
ファ31および非暗号化データバッファ32のデータ
は、常に、新たな入力データによって上書きされて消去
される。したがって、非暗号化データバッファ32にソ
ースファイルの全体が再現されることはない。そして、
入力データ41がなくなったとき、自動的に、入力全体
に相当する中間テキスト25が生成される。
ソースファイルであり、ステップS1において暗号化さ
れていない場合は、読込み部21は、入力全体を非暗号
化データバッファ32に転送し、解析部23は、それを
中間テキスト25に変換する。この場合、一回の転送で
入力データ41がなくなることになる。
くなれば、バックエンド12は、生成された中間テキス
ト25を最適化し(ステップS5)、レジスタ割り付
け、命令スケジューリングを経て、コード生成を行う
(ステップS6)。そして、図3の実行可能ファイル3
3に対応するオブジェクトプログラム42(実行可能プ
ログラム)を出力する。
びS4で行われる処理の一例を示すフローチャートであ
る。例えば、ソースファイルの提供者側において、次の
ような16バイトのオリジナルデータが、data1と
いうファイルに格納されているとする。 ABCDEFGHIJKLMNOP このデータを暗号化して、data2というファイルに
格納すると、その内容は次のようになる。 BCDEFGHIJKLMNOPQ ここでは、シーザ暗号を用いているが、他の暗号を用い
てもよい。ファイルdata2が暗号化ソースファイル
24としてコンパイラに入力されると、まず、読込み部
21は、そのファイルを開き(ステップS11)、4バ
イト分の暗号化データを暗号化データバッファ31に読
み込む(ステップS12)。上述の例では、最初の4バ
イトである“BCDE”が暗号化データバッファ31に
読み込まれる。
復号化し、非暗号化データバッファ32に転送する(ス
テップS13)。ここでは、“BCDE”が復号化され
て、オリジナルデータである“ABCD”が非暗号化デ
ータバッファ32に転送される。
ファ32のデータに対して、トークン解析を行い、トー
クンが認識されると、順次、中間テキスト25に変換す
る(ステップS14)。ここでは、データ“ABCD”
のトークン解析が行われる。
S14の処理は、暗号化ソースファイル24のデータが
なくなるまで繰り返される(ステップS15)。暗号化
ソースファイル24のデータがなくなると、フロントエ
ンドの処理が終了し、読込み部21は、そのファイルを
閉じる。
ータバッファ32のデータは次々に消去されるため、オ
リジナルデータ“ABCDEFGHIJKLMNOP”
の全体が再現されることはない。したがって、その機密
を保持しながら翻訳処理を行うことが可能になる。
析処理の他の例を示すフローチャートである。ここで
は、解析部23がソースファイルの文字を読み込むと
き、ソースファイルが暗号化されているかどうか、つま
り、復号部22を経由するかどうかによって、入力の要
求先が異なってくる。暗号化されたソースファイルの場
合は、解析部23は、復号部22からの出力を保持する
非暗号化データバッファ32から文字を読み込み、暗号
化されていないソースファイルの場合は、ソースファイ
ル自身から直接文字を読み込む。
化ソースファイルかどうかを判定し(ステップS2
1)、それが非暗号化ソースファイルであれば、ファイ
ルを開く(ステップS22)。このとき、ファイルポイ
ンタFpは、ファイルの先頭を指している。
イルかどうかを判定し(ステップS23)、それが暗号
化ソースファイルであれば、非暗号化データバッファ3
2から1文字読み込み(ステップS24)、そのバッフ
ァが空かどうかを判定する(ステップS25)。
ば、復号部22を起動して、暗号化ソースファイルの一
部を復元させ(ステップS26)、ステップS24以降
の処理を繰り返す。非暗号化データバッファ32が空で
なければ、これまでに読み込んだ文字列のトークン解析
を行い(ステップS27)、ステップS23以降の処理
を繰り返す。
非暗号化ソースファイルであれば、ポインタFpが指す
位置から1文字読み込み(ステップS28)、ステップ
S27以降の処理を行う。このとき、ポインタFpは、
次の文字の位置に設定される。
イルが暗号化されている場合は、非暗号化データバッフ
ァ32から文字が読み取られ、バッファ内の文字がなく
なる度に復号部22が起動される。したがって、所定の
バイト数以上のソースデータが非暗号化データバッファ
32上に再現されることはない。
理として、例えば、共通鍵や公開鍵をコンパイラの外部
に復号鍵として保持するような公知の仕組みを使用する
ことができる。しかし、実際には、暗号アルゴリズムを
独自に持たない限り、転送情報が別の復号装置によって
復号化されてしまう可能性が高い。
その鍵とコンパイラの復号化アルゴリズムを利用して、
他の任意の入力データを暗号化することもでき、コンパ
イラが目的外に使用されてしまうという危険性もある。
したがって、コンパイラをある目的だけに限定して使用
したいような場合は、この方法は好ましくない。
に持つことによって、特定のソースファイルをコンパイ
ルする以外の目的にコンパイラが使用されることを防止
する。
例を示している。図7において、ソースファイル(SR
C)を送信する暗号化側は、暗号化装置51と暗号化装
置52を備え、復元側のコンパイラは、内部復元装置5
3と復元装置54を持っている。暗号化装置51と内部
復元装置53には、それぞれ、共通鍵CFがバイナリコ
ードとして埋め込まれており、外部からは見えないよう
になっている。暗号アルゴリズムとしては、例えば、D
ES(Data Encryption Standard)が用いられる。
通鍵CT1を使用して、ソースファイルを暗号化し、暗
号化ソースファイルを生成する。また、暗号化装置51
は、内部に持っている共通鍵CFを使用して、共通鍵C
T1を暗号化し、暗号化共通鍵CT2を生成する。暗号
化ソースファイルとCT2は、暗号化側から復元側に転
送される。
と、内部に持っている共通鍵CFを使用して、CT2か
ら共通鍵CT1を復元し、復元装置54に渡す。復元装
置54は、共通鍵CT1を使用して、暗号化ソースファ
イルを復号化し、ソースファイルを復元する。
つという方法を用いているが、必ずしもこれに限定する
必要はない。また、ソースファイル全体を暗号化して転
送する代わりに、ソースファイルを複数の部分に分割し
て、各部分をそれぞれ暗号化して転送することもでき
る。この場合、コンパイラにおける復元単位を分割単位
として用いると便利である。さらに、共通鍵システムの
みに限らず、公開鍵システムでも同じような処理を行う
ことができる。
構成例を示しており、図9は、その復号化の構成例を示
している。ここでは、共通鍵システムであるDESと公
開鍵システムであるRSA(Rivest-Shamir-Adleman )
を組み合わせて使用し、RSAの秘密鍵/公開鍵の組は
2組使用する。
は、ソースコード(SC)を、共通鍵C1を使用してD
ESにより暗号化し、暗号化ソースコード(ESC)を
生成する。また、エンコーダ62は、秘密鍵Isを使用
して、RSAにより共通鍵C1を暗号化し、暗号化共通
鍵C2を生成し、さらに、公開鍵Fpを使用して、RS
AによりC2を暗号化し、暗号化共通鍵C3を生成す
る。暗号化ソースコードとC3は、暗号化側から復元側
に転送される。
C3を受け取ると、内部に埋め込まれている秘密鍵Fs
を使用して、RSAによりC3からC2を復元し、内部
バッファに格納する。デコーダ63は、さらに、公開鍵
Ipを使用して、RSAによりC2からC1を復元し、
内部バッファに格納する。次に、デコーダ64は、復元
された共通鍵C1を使用して、暗号化ソースコードを復
号化し、ソースコードを復元する。
よりコンパイルされて、オブジェクトコード(ネイティ
ブコード)に変換される。実際には、ソースコードの復
元は一定単位毎に行われるため、デコーダ64は、コン
パイラ65のフロントエンドから繰り返し呼び出される
ことになる。
号化側の秘密鍵Is、暗号化側の公開鍵Ip、復元側の
秘密鍵Fs、復元側の公開鍵Fpの5個の鍵が用いられ
ている。このうち、IsとIp、FpとFsが、RSA
の暗号鍵と復号鍵の組になっており、公開鍵Ipはあら
かじめ暗号化側から復元側に配布されている。このよう
な方法によれば、同じ暗号化ソースコードを複数のユー
ザに配布する場合、ユーザ毎に異なるIsとIpの組を
用いることで、暗号の安全性を向上させることができ
る。
ことにより、ユーザのシステムにおいて、提供者から配
布されるアプリケーションをカスタマイズし、アプリケ
ーションサイズの縮小化を図ることが可能になる。
信先B(ユーザ)は、それぞれ独立したシステムであ
り、発信元Aは、複数の情報を持ち、その一部または全
部を暗号化して、受信先Bのシステムに送り、そこで翻
訳が行われるものとする。このような処理によれば、発
信元Aが保持するソースの機密が保たれたまま、受信先
Bにおいて、それを利用した独自のカスタマイズを行う
ことができる。
一例を示している。図10において、提供者Aは、暗号
化されたソース71、プロファイル情報72、コンパイ
ラ73等をパックして、パッケージ74をユーザBに送
る。プロファイル情報とは、処理の分岐確率やサブルー
チンの指定(関数呼出しの飛び先)を含む、プログラム
の最適化のための情報である。
ジ74をメモリ上に展開し、ユーザの指示に従ってカス
タマイズを行う。このとき、コンパイラ73は、指示に
従ってソース71、プロファイル情報72等を処理し、
カスタマイズされた実行可能モジュール76を生成す
る。なお、コンパイラ73がすでにユーザBのシステム
に存在する場合は、パッケージ74から除かれる。
ートである。まず、提供者Aのシステムは、暗号化され
たソース71、プロファイル情報72、コンパイラ73
等のカスタマイズに必要な情報と、カスタマイズ手続き
指示ファイルとを、あらかじめ決められたフォーマット
/名前に従って、パックする(ステップS31)。そし
て、パッケージ74を、ネットワークまたはCD−RO
M(compact disk read only memory )等の記録媒体を
介して、ユーザBに転送する。
5がパッケージ74をメモリ上のワーク領域に展開し
(ステップS32)、ユーザBは、カスタマイズ手続き
指示ファイルにより表示されるシステムメニューに従っ
て、翻訳オプションを指定する(ステップS33)。こ
こでは、例えば、次のようなオプションが選択される。
選択 (a)用途1:用途1に対応するプロファイル情報ファ
イルを利用する。 (b)用途2:用途2に対応するプロファイル情報ファ
イルを利用する。
イルを利用する。 2.最適化オプションの選択 (a)O1:生成されるオブジェクトコード(バイナリ
コード)の大きさをできるだけ小さくする。 (b)O2:実行スピードを一定以上に保ちながら、生
成されるオブジェクトコードの大きさを小さくする。 (c)O3:実行スピードをできるだけ速くする。
数選択可能) LIB1,LIB2,LIB3,... そして、インストーラ75は、これらの選択入力とシス
テムのアーキテクチャ情報(中央処理装置情報/メモリ
サイズ等)から、ユーザに適したコンパイラオプション
情報77を生成する。このオプション情報77には、コ
ンパイラ73に対するコマンド等が記述されている。
77を使用して、図4の翻訳処理を行い、ソース71か
ら実行可能モジュール76を生成する(ステップS3
4)。こうして生成された実行可能モジュール76は、
カスタマイズ時の指定に従って最適化されているため、
ユーザBにとっては必要最小限の大きさになっている。
展開されたソース71等のデータを消去し、さらに、メ
ンテナンスの予定がないか、またはワーク領域が少ない
場合には、コンパイラ73も消去して(ステップS3
5)、処理を終了する。
対応する暗号化パッチファイルを送り、カスタマイズ手
続き指示ファイルにパッチの展開指示を記述することに
よって、同様の手順でソフトウェアのメンテナンスも行
うことができる。この場合、主としてバイナリパッチが
用いられる。また、情報発信元でパスワード設定の機能
を組み込んでおけば、カスタマイズ時に、その機能を有
効にするかどうかを指定することも可能である。
のコンパイル処理のみに限らず、ある言語で記述された
情報を別の言語に変換する任意の翻訳処理に適用するこ
とができる。例えば、英語の文書を日本語に翻訳した
り、あるプログラミング言語で書かれたプログラムを他
の言語に変換したりする処理が、これに相当する。
は、例えば、図12に示すような情報処理装置(コンピ
ュータ)を用いて構成することができる。図12の情報
処理装置は、CPU(中央処理装置)81、メモリ8
2、入力装置83、出力装置84、外部記憶装置85、
媒体駆動装置86、およびネットワーク接続装置87を
備え、それらはバス88により互いに接続されている。
ラムとデータが格納される。メモリ82としては、例え
ばROM(read only memory)、RAM(random acces
s memory)等が用いられる。CPU81は、メモリ82
を利用してプログラムを実行することにより、必要な処
理を行う。
インティングデバイス、タッチパネル等であり、オペレ
ータからの指示や情報の入力に用いられる。出力装置8
4は、例えば、ディスプレイやプリンタ等であり、オペ
レータへの問い合わせや処理結果等の出力に用いられ
る。
ク装置、光ディスク装置、光磁気ディスク(magneto-op
tical disk)装置等である。この外部記憶装置85に、
上述のプログラムとデータを保存しておき、必要に応じ
て、それらをメモリ82にロードして使用することもで
きる。
駆動し、その記録内容にアクセスする。可搬記録媒体8
9としては、メモリカード、フロッピーディスク、CD
−ROM、光ディスク、光磁気ディスク等、任意のコン
ピュータ読み取り可能な記録媒体が用いられる。この可
搬記録媒体89は、提供者からユーザに情報を配布する
ために用いられる。また、可搬記録媒体89に上述のプ
ログラムとデータを格納しておき、必要に応じて、それ
らをメモリ82にロードして使用することもできる。
cal area network)等の任意のネットワーク(回線)を
介して提供者またはユーザの装置と通信し、通信に伴う
データ変換を行う。これにより、提供者からユーザに情
報を転送することができる。また、必要に応じて、上述
のプログラムとデータを外部の装置から受け取り、それ
らをメモリ82にロードして使用することもできる。
ラムとデータを供給することのできるコンピュータ読み
取り可能な記録媒体を示している。可搬記録媒体89や
外部のデータベース90に保存されたプログラムとデー
タは、メモリ82にロードされる。そして、CPU81
は、そのデータを用いてそのプログラムを実行し、必要
な処理を行う。
処理と融合させることにより、バリエーションのあるソ
フトウェアを、簡単かつ安全に、ユーザに提供すること
ができる。したがって、ユーザのシステムにおいて、提
供者から配布されるアプリケーションをカスタマイズす
ることが可能になり、アプリケーションのサイズが縮小
される。
Claims (15)
- 【請求項1】 暗号化情報を複数の部分に分割して入力
する入力手段と、 前記暗号化情報の各部分毎に元の情報を復元する復元手
段と、 前記元の情報を翻訳する翻訳手段と、 翻訳結果を出力する出力手段とを備えることを特徴とす
る翻訳装置。 - 【請求項2】 前記復元手段は、前記暗号化情報を保持
する暗号化情報バッファを含み、該暗号化情報バッファ
に格納された情報を復号化し、前記入力手段は、前記暗
号化情報を一定単位毎に該暗号化情報バッファに入力す
ることを特徴とする請求項1記載の翻訳装置。 - 【請求項3】 前記復元手段は、前記元の情報を保持す
る非暗号化情報バッファを含み、前記翻訳手段が該非暗
号化情報バッファの情報を翻訳すると、翻訳済の元の情
報を消去することを特徴とする請求項1記載の翻訳装
置。 - 【請求項4】 前記入力手段は、入力情報が暗号化され
ているかどうかを判定する判定手段を含み、該入力情報
が暗号化されているとき、該入力情報を前記暗号化情報
として前記復元手段に与えることを特徴とする請求項1
記載の翻訳装置。 - 【請求項5】 前記入力情報が暗号化されていないと
き、前記入力手段は、該入力情報を前記元の情報として
前記翻訳手段に与えることを特徴とする請求項4記載の
翻訳装置。 - 【請求項6】 前記復元手段は、前記暗号化情報を復号
化するための鍵情報の少なくとも一部を、内部に埋め込
まれた情報として保持し、該鍵情報を用いて前記元の情
報を復元することを特徴とする請求項1記載の翻訳装
置。 - 【請求項7】 前記翻訳手段による翻訳のオプションを
指定して、前記翻訳結果をカスタマイズするカスタマイ
ズ手段をさらに備えることを特徴とする請求項1記載の
翻訳装置。 - 【請求項8】 前記入力手段は、暗号化ソースを前記暗
号化情報として分割して入力し、前記復元手段は、該暗
号化ソースの各部分毎に元のソースを復元し、前記翻訳
手段は、元のソースの各部分毎に中間テキストを生成
し、該中間テキストから実行可能プログラムを生成する
ことを特徴とする請求項1記載の翻訳装置。 - 【請求項9】 暗号化情報を入力する入力手段と、 前記暗号化情報から元の情報を復元する処理を翻訳処理
の内部で行い、該元の情報を外部に与えることなく翻訳
する翻訳手段と、 翻訳結果を出力する出力手段とを備えることを特徴とす
る翻訳装置。 - 【請求項10】 入力情報を翻訳する翻訳手段と、 前記翻訳手段による翻訳のオプションを指定して、翻訳
結果をカスタマイズするカスタマイズ手段と、 前記翻訳結果を出力する出力手段とを備えることを特徴
とする翻訳装置。 - 【請求項11】 前記カスタマイズ手段は、前記オプシ
ョンをユーザに選択させるためのメニュー情報を表示
し、選択されたオプションに基づく翻訳を前記翻訳手段
に指示することを特徴とする請求項10記載の翻訳装
置。 - 【請求項12】 暗号化情報を複数の部分に分割して入
力する機能と、 前記暗号化情報の各部分毎に元の情報を復元する機能
と、 前記元の情報を翻訳する機能と、 翻訳結果を出力する機能とをコンピュータに実現させる
ためのプログラムを記録したコンピュータ読み取り可能
な記録媒体。 - 【請求項13】 入力情報を翻訳する機能と、 翻訳のオプションを指定して、翻訳結果をカスタマイズ
する機能と、 前記翻訳結果を出力する機能とをコンピュータに実現さ
せるためのプログラムを記録したコンピュータ読み取り
可能な記録媒体。 - 【請求項14】 暗号化情報を複数の部分に分割して、
各部分毎に元の情報を復元し、 復元された部分毎に前記元の情報を翻訳することを特徴
とする翻訳方法。 - 【請求項15】 入力情報の翻訳のオプションを指定し
て、翻訳結果をカスタマイズすることを特徴とする翻訳
方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35566897A JP4027482B2 (ja) | 1997-12-24 | 1997-12-24 | 暗号復元を行う翻訳装置およびその方法 |
US09/088,678 US6795921B2 (en) | 1997-12-24 | 1998-06-02 | Apparatus and method for translating with decoding function |
DE69818414T DE69818414T2 (de) | 1997-12-24 | 1998-06-18 | Gerät und Verfahren zum Übersetzen mit einer Dekodierfunktion |
EP03009827A EP1338963A3 (en) | 1997-12-24 | 1998-06-18 | Packing a source file, a compiler and profile data, transferring and expanding the package, and compiling the source file |
EP98304824A EP0926595B1 (en) | 1997-12-24 | 1998-06-18 | Apparatus and method for translating with decoding function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35566897A JP4027482B2 (ja) | 1997-12-24 | 1997-12-24 | 暗号復元を行う翻訳装置およびその方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006248590A Division JP2007012090A (ja) | 2006-09-13 | 2006-09-13 | ソースファイルを提供するシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11184690A true JPH11184690A (ja) | 1999-07-09 |
JP4027482B2 JP4027482B2 (ja) | 2007-12-26 |
Family
ID=18445165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35566897A Expired - Fee Related JP4027482B2 (ja) | 1997-12-24 | 1997-12-24 | 暗号復元を行う翻訳装置およびその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6795921B2 (ja) |
EP (2) | EP0926595B1 (ja) |
JP (1) | JP4027482B2 (ja) |
DE (1) | DE69818414T2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001134337A (ja) * | 1999-08-05 | 2001-05-18 | Canon Inc | 暗号解読コンパイラ |
US7877595B2 (en) | 2004-03-23 | 2011-01-25 | Harris Corporation | Modular cryptographic device and related methods |
US9075913B2 (en) | 2012-02-27 | 2015-07-07 | Qualcomm Incorporated | Validation of applications for graphics processing unit |
WO2017183087A1 (ja) * | 2016-04-18 | 2017-10-26 | 三菱電機株式会社 | 復号装置、復号コンパイル方法及び復号コンパイルプログラム |
JP2019113886A (ja) * | 2017-12-20 | 2019-07-11 | 大日本印刷株式会社 | 初期設定方法、セキュアエレメント、デバイス及びプログラム |
CN114995830A (zh) * | 2022-08-03 | 2022-09-02 | 浙江口碑网络技术有限公司 | 一种代码编译方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4027482B2 (ja) * | 1997-12-24 | 2007-12-26 | 富士通株式会社 | 暗号復元を行う翻訳装置およびその方法 |
US20080244695A1 (en) * | 2000-06-01 | 2008-10-02 | Jong-Sung Lee | Total system for preventing information outflow from inside |
AU2001258905A1 (en) * | 2000-06-01 | 2001-12-11 | Safa Soft Co. Ltd | Total system for preventing information outflow from inside |
JP3712366B2 (ja) * | 2000-08-15 | 2005-11-02 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理システム、実行可能モジュール生成方法および記憶媒体 |
US20020157010A1 (en) * | 2001-04-24 | 2002-10-24 | International Business Machines Corporation | Secure system and method for updating a protected partition of a hard drive |
US7823139B2 (en) * | 2003-07-19 | 2010-10-26 | Bea Systems, Inc. | Method and system for translating programming languages |
JP2005056413A (ja) * | 2003-08-01 | 2005-03-03 | Stmicroelectronics Sa | 複数の同じ計算の保護 |
US7664755B2 (en) * | 2005-08-24 | 2010-02-16 | International Business Machines Corporation | User prompt for loading sound in a computer resource |
KR100922862B1 (ko) * | 2007-11-14 | 2009-10-20 | 성균관대학교산학협력단 | 명령어의 부호화를 통한 시스템 보안방법 |
CN101980160B (zh) * | 2010-10-28 | 2013-02-13 | 飞天诚信科技股份有限公司 | 一种.net程序加密后的执行方法 |
KR102063966B1 (ko) | 2015-10-21 | 2020-01-09 | 엘에스산전 주식회사 | Plc 명령어 컴파일 최적화 방법 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276881A (en) * | 1990-06-25 | 1994-01-04 | Hewlett-Packard Company | ANDF producer using the HPcode-Plus compiler intermediate language |
US5280613A (en) * | 1990-06-25 | 1994-01-18 | Hewlett-Packard Company | ANDF installer using the HPcode-Plus compiler intermediate language |
US5339419A (en) * | 1990-06-25 | 1994-08-16 | Hewlett-Packard Company | ANDF compiler using the HPcode-plus compiler intermediate language |
CA2061298C (en) * | 1992-02-17 | 1996-12-03 | Douglas J. Mortson | Method for detecting critical failures during the building of complex computer programs from source code parts |
US5481708A (en) * | 1992-06-05 | 1996-01-02 | Borland International, Inc. | System and methods for optimizing object-oriented compilations |
JP3280449B2 (ja) * | 1993-03-01 | 2002-05-13 | 富士通株式会社 | コンパイル装置 |
JP3015238B2 (ja) | 1993-12-07 | 2000-03-06 | 日立ソフトウエアエンジニアリング株式会社 | データ転送方法 |
US5680622A (en) * | 1994-06-30 | 1997-10-21 | Borland International, Inc. | System and methods for quickly detecting shareability of symbol and type information in header files |
US5835771A (en) * | 1995-06-07 | 1998-11-10 | Rogue Wave Software, Inc. | Method and apparatus for generating inline code using template metaprograms |
US6125186A (en) * | 1996-11-28 | 2000-09-26 | Fujitsu Limited | Encryption communication system using an agent and a storage medium for storing that agent |
GB2321375B (en) * | 1997-01-21 | 2002-02-27 | Fujitsu Ltd | Data encoding method and apparatus and data decoding method and apparatus |
EP0864969A1 (en) * | 1997-03-14 | 1998-09-16 | Alcatel | A method to provide a software package and a provider station and a user station realising the method |
US6078744A (en) * | 1997-08-01 | 2000-06-20 | Sun Microsystems | Method and apparatus for improving compiler performance during subsequent compilations of a source program |
JP4027482B2 (ja) * | 1997-12-24 | 2007-12-26 | 富士通株式会社 | 暗号復元を行う翻訳装置およびその方法 |
US6121903A (en) * | 1998-01-27 | 2000-09-19 | Infit Communications Ltd. | On-the-fly data re-compression |
US5945933A (en) * | 1998-01-27 | 1999-08-31 | Infit Ltd. | Adaptive packet compression apparatus and method |
GB9909362D0 (en) * | 1999-04-23 | 1999-06-16 | Pace Micro Tech Plc | Memory database system for encrypted progarmme material |
US6684389B1 (en) * | 1999-08-05 | 2004-01-27 | Canon Kabushiki Kaisha | Compiler that decrypts encrypted source code |
JP4067757B2 (ja) * | 2000-10-31 | 2008-03-26 | 株式会社東芝 | プログラム配布システム |
-
1997
- 1997-12-24 JP JP35566897A patent/JP4027482B2/ja not_active Expired - Fee Related
-
1998
- 1998-06-02 US US09/088,678 patent/US6795921B2/en not_active Expired - Fee Related
- 1998-06-18 EP EP98304824A patent/EP0926595B1/en not_active Expired - Lifetime
- 1998-06-18 EP EP03009827A patent/EP1338963A3/en not_active Withdrawn
- 1998-06-18 DE DE69818414T patent/DE69818414T2/de not_active Expired - Lifetime
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001134337A (ja) * | 1999-08-05 | 2001-05-18 | Canon Inc | 暗号解読コンパイラ |
US7877595B2 (en) | 2004-03-23 | 2011-01-25 | Harris Corporation | Modular cryptographic device and related methods |
US9075913B2 (en) | 2012-02-27 | 2015-07-07 | Qualcomm Incorporated | Validation of applications for graphics processing unit |
WO2017183087A1 (ja) * | 2016-04-18 | 2017-10-26 | 三菱電機株式会社 | 復号装置、復号コンパイル方法及び復号コンパイルプログラム |
WO2017183357A1 (ja) * | 2016-04-18 | 2017-10-26 | 三菱電機株式会社 | 復号装置、復号コンパイル方法及び復号コンパイルプログラム |
JP2019113886A (ja) * | 2017-12-20 | 2019-07-11 | 大日本印刷株式会社 | 初期設定方法、セキュアエレメント、デバイス及びプログラム |
CN114995830A (zh) * | 2022-08-03 | 2022-09-02 | 浙江口碑网络技术有限公司 | 一种代码编译方法及装置 |
CN114995830B (zh) * | 2022-08-03 | 2022-11-11 | 浙江口碑网络技术有限公司 | 一种代码编译方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US6795921B2 (en) | 2004-09-21 |
JP4027482B2 (ja) | 2007-12-26 |
US20010039651A1 (en) | 2001-11-08 |
EP0926595A3 (en) | 2002-01-02 |
DE69818414D1 (de) | 2003-10-30 |
EP1338963A2 (en) | 2003-08-27 |
EP1338963A3 (en) | 2003-09-03 |
EP0926595B1 (en) | 2003-09-24 |
EP0926595A2 (en) | 1999-06-30 |
DE69818414T2 (de) | 2004-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4027482B2 (ja) | 暗号復元を行う翻訳装置およびその方法 | |
US6178243B1 (en) | User-controlled document processing | |
US7685596B1 (en) | Deploying and distributing of applications and software components | |
JP2001134337A (ja) | 暗号解読コンパイラ | |
JPH10301773A (ja) | 情報処理装置および情報処理方法、並びに記録媒体 | |
WO2008147147A2 (en) | Text security method | |
JPH10301772A (ja) | 情報処理装置および情報処理方法、並びに記録媒体 | |
JPWO2006129641A1 (ja) | コンピュータシステム及びプログラム生成装置 | |
KR100352782B1 (ko) | 소프트웨어 암호화 방법, 소프트웨어 암호화 시스템 및 소프트웨어 복호화 시스템 | |
KR102673882B1 (ko) | 데이터 암호화 방법 및 장치, 데이터 복호화 방법 및 장치 | |
CN107871066B (zh) | 基于安卓系统的代码编译方法及装置 | |
CN114547558B (zh) | 授权方法、授权控制方法及装置、设备和介质 | |
JPH11282667A (ja) | 多重鍵方式の暗号処理機能を有するマイクロプロセッサ | |
KR20190060179A (ko) | 공통 중간 언어를 위한 보안 제공 장치와 방법, 및 보안 실행 장치와 방법 | |
JP2001092718A (ja) | セキュリティ管理システム、記憶媒体アクセス方法、データ配布装置、及び携帯端末装置 | |
KR100943318B1 (ko) | 클립보드 보안방법 | |
JPH08286904A (ja) | ソフトウエア暗号化・復号化方法、ソフトウエア暗号化システムおよびソフトウエア復号化システム | |
US6373947B1 (en) | Document processing | |
US20050102508A1 (en) | Method, computer readable storage, and system to provide security printing using a printer driver | |
JP2007012090A (ja) | ソースファイルを提供するシステム | |
JP2008135893A (ja) | 使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム | |
CN113360859B (zh) | 基于Python解释器的加密文件安全控制方法和装置 | |
KR102326100B1 (ko) | 안전한 안드로이드 앱 생성 및 안드로이드 플랫폼에서의 앱 설치/실행을 위한 시스템 및 방법 | |
JPH11353172A (ja) | インタプリタ言語で記述されたプログラムの記録媒体 | |
JPH1055273A (ja) | ソフトウェア保護装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060718 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060913 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061222 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070110 |
|
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: 20071009 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071010 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
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: 20101019 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |