JPH02297626A - System for masking contents of program and data - Google Patents

System for masking contents of program and data

Info

Publication number
JPH02297626A
JPH02297626A JP1118898A JP11889889A JPH02297626A JP H02297626 A JPH02297626 A JP H02297626A JP 1118898 A JP1118898 A JP 1118898A JP 11889889 A JP11889889 A JP 11889889A JP H02297626 A JPH02297626 A JP H02297626A
Authority
JP
Japan
Prior art keywords
program
data
encrypted
buffer
instruction
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
Application number
JP1118898A
Other languages
Japanese (ja)
Inventor
Shigeya Matsuo
篤弥 松尾
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 JP1118898A priority Critical patent/JPH02297626A/en
Publication of JPH02297626A publication Critical patent/JPH02297626A/en
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

PURPOSE:To mask the content of a program even when a memory device is referred during the execution of the program by converting the instruction of an enciphering program to a form feasible with a program execution means by an enciphering program decoding means. CONSTITUTION:When a user starts up a program execution start means 4, the program execution start means 4, after setting an enciphering supply program 1 as the enciphering program 6, starts up the program execution means 12. The program execution means 12 takes out the instruction from the enciphering program 6 set on the memory device 5, and after setting it on an instruction decoding buffer 13, starts up the enciphering program decoding means 14. The enciphering program decoding means 14 decodes the instruction set at the instruction decoding buffer 13, and converts it to the form feasible with the program execution means 12, and sets it on the instruction decoding buffer 13. In such a way, it is possible to mask the contents of the program 1 and data 7.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラム及びプログラムの実行中に記憶装置
に設定するデータの内容を隠蔽することができるプログ
ラム及びデータの内容隠蔽方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a program and data content hiding method that can hide the content of a program and data set in a storage device during execution of the program.

〔従来の技術〕[Conventional technology]

従来より、プログラムの内容を隠蔽するため、プログラ
ムライブラリ等に格納しておくプログラムを暗号化して
おくということが行なわれているが、暗号化されたプロ
グラムを実行する場合、従来は暗号化されたプログラム
を解読した後、利用者システムの記憶装置にロードする
ようにしている。また、プログラムの実行中にデータを
記憶装置に設定することが必要になった場合は、データ
をそのまま記憶装置に設定するようにしている。
Conventionally, programs stored in program libraries etc. have been encrypted in order to hide the program contents, but when running an encrypted program, conventionally After the program is decoded, it is loaded into the storage device of the user's system. Furthermore, if it becomes necessary to set data in the storage device during execution of a program, the data is set in the storage device as is.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

従来は上述したように、プログラムを実行する際、暗号
化されたプログラムを解読した後、記憶装置にロードす
るようにしており、また、プログラムの実行中にデータ
を記憶装置に設定することが必要になった場合、データ
をそのまま記憶装置に設定するようにしているため、プ
ログラムの実行中に記憶装置が参照された場合、プログ
ラム及びデータの内容を隠蔽することができないという
問題があった。
Conventionally, as mentioned above, when executing a program, the encrypted program is decrypted and then loaded into the storage device, and it is also necessary to set data to the storage device while the program is running. In this case, since the data is set in the storage device as is, there is a problem that if the storage device is referenced while the program is being executed, the contents of the program and data cannot be hidden.

本発明の目的はプログラムの実行時に記憶装置が参照さ
れても、プログラム及びデータの内容を隠蔽できるよう
にすることにある。
An object of the present invention is to make it possible to hide the contents of the program and data even if the storage device is referenced when the program is executed.

〔課題を解決するための手段〕[Means to solve the problem]

本発明は上記目的を達成するため、 暗号化された暗号化プログラムを実行するシステムに於
いて、 中央処理装置と、 該中央処理装置で実行する暗号化プログラムが設定され
る記憶装置と、 該記憶装置に前記中央処理装置が実行する暗号化プログ
ラムを設定すると共に、前記中央処理装置に対して暗号
化プログラムの実行を指示するプログラム実行開始手段
とを含み、 前記中央処理装置は、 命令解読バフフッと、 該命令解読バッファに設定された暗号化プログラムを解
読し、解読結果を前記命令解読バッファに設定する暗号
化プログラム解読手段と、データバッファと、 該データバッファに設定されたデータを暗号化して前記
記憶装置に設定するデータ暗号化手段と、前記記憶装置
に設定された暗号化データを解読して解読結果を前記デ
ータバッファに設定する暗号化データ解読手段と、 前記プログラム実行開始手段からの指示に応答して前記
記憶手段に設定されている暗号化プログラムの命令を前
記命令解読バッファに設定した後、前記暗号化プログラ
ム解読手段を起動し、前記暗号化プログラム解読手段に
よって解読され、前記命令解読バッファに設定された命
令が前記記憶装置にデータを設定する命令である場合は
前記データバッファにデータを設定して前記データ暗号
化手段を起動させ、前記記憶手段からデータを人力する
命令である場合は前記暗号化データ解読手段を起動させ
、前記暗号化データ解読手段により前記データバッファ
に設定されたデータを入力するプログラム実行手段とを
含んでいる。
In order to achieve the above object, the present invention provides a system for executing an encrypted encryption program, which includes: a central processing unit; a storage device in which an encryption program to be executed by the central processing unit is set; and the storage. a program execution start means for setting an encrypted program to be executed by the central processing unit in the device and instructing the central processing unit to execute the encrypted program; , an encrypted program decryption means for decrypting the encrypted program set in the instruction decoding buffer and setting the decryption result in the instruction decoding buffer; a data buffer; data encryption means for setting in the storage device; encrypted data decryption means for decrypting the encrypted data set in the storage device and setting the decryption result in the data buffer; In response, the instructions of the encrypted program set in the storage means are set in the instruction decoding buffer, and then the encrypted program decoding means is started, and the encrypted program is decoded by the encrypted program decoding means, and the instructions are read in the instruction decoding buffer. If the command set in is a command to set data in the storage device, set the data in the data buffer and start the data encryption means, and if it is a command to manually input data from the storage means. and program execution means for activating the encrypted data decryption means and inputting data set in the data buffer by the encrypted data decryption means.

〔作 用〕[For production]

プログラム実行開始手段は中央処理装置に暗号化プログ
ラムを実行させる場合、暗号化プログラムを記憶装置に
設定すると共に、中央処理装置に設けられているプログ
ラム実行手段にプログラムの実行開始を指示する。プロ
グラム実行手段はこの指示に応答して記憶装置に設定さ
れている暗号化プログラムの命令をデータバッファに設
定し、その後、暗号化プログラム解読手段を起動させる
When causing the central processing unit to execute the encrypted program, the program execution starting means sets the encrypted program in the storage device and instructs the program execution means provided in the central processing unit to start executing the program. In response to this instruction, the program execution means sets the command of the encrypted program set in the storage device in the data buffer, and then activates the encrypted program decryption means.

暗号化プログラム解読手段は起動がかけられると、命令
解読バッファに設定されている暗号化プログラムの命令
を解読して命令解読バッファに設定し、プログラム実行
手段は暗号化プログラム解読手段によって解読され、命
令解読バッファに設定された命令を実行する。命令解読
バッファに設定された命令が記憶装置にデータを設定す
る命令である場合には、プログラム実行手段はデータバ
ッファにデータを設定した後、データ暗号化手段を起動
する。データ暗号化手段は起動されることにより、プロ
グラム実行手段がデータバッファに設定したデータを暗
号化して記憶装置に設定する。また、命令解読バッファ
に設定された命令が記憶装置に設定されているデータを
入力する命令である場合にはプログラム実行手段は暗号
化データ解読手段を起動する。暗号化データ解読手段は
起動されることにより記憶装置に設定されているデータ
を入力し、解読してデータバッファに設定する。プログ
ラム実行手段は暗号化データ解読手段がデータバッファ
に設定した解読済みのデータを入力する。
When activated, the encrypted program decoding means decodes the encrypted program command set in the instruction decoding buffer and sets it in the instruction decoding buffer, and the program execution means is decoded by the encrypted program decoding means and reads the instructions. Execute the instructions set in the decoding buffer. If the instruction set in the instruction decoding buffer is an instruction to set data in the storage device, the program execution means sets the data in the data buffer and then activates the data encryption means. When activated, the data encryption means encrypts the data set in the data buffer by the program execution means and sets it in the storage device. Furthermore, if the instruction set in the instruction decoding buffer is an instruction to input data set in the storage device, the program execution means activates the encrypted data decoding means. When activated, the encrypted data decryption means inputs data set in the storage device, decrypts it, and sets it in the data buffer. The program execution means inputs the decrypted data set in the data buffer by the encrypted data decryption means.

〔実施例〕〔Example〕

次に本発明の実施例について図面を参照して詳細に説明
する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.

第1図は本発明の実施例のブロック図であり、内容が暗
号化された暗号化供給プログラム1を実行する利用者シ
ステム(情報処理装置)3はプログラム実行開始手段4
と、記憶装置5と、中央処理装置8とから構成されてお
り、中央処理装置f8は暗号化データ解読手段9と、デ
ータ暗号化手段lOと、データバッファ11と、プログ
ラム実行手段12と、命令解読バッファ13と、暗号化
プログラム解読手段14とを含んでいる。
FIG. 1 is a block diagram of an embodiment of the present invention, in which a user system (information processing device) 3 that executes an encrypted supply program 1 whose contents are encrypted is a program execution starting means 4.
, a storage device 5, and a central processing unit 8, and the central processing unit f8 includes an encrypted data decryption means 9, a data encryption means IO, a data buffer 11, a program execution means 12, and an instruction It includes a decryption buffer 13 and an encrypted program decryption means 14.

次に本実施例の動作を説明する。Next, the operation of this embodiment will be explained.

暗号化供給プログラム1を利用者システム3で実行する
場合、利用者2はプログラム実行開始手段4を起動する
。プログラム実行開始手段4は起動がかけられることに
より、暗号化供給プログラムlを記憶装置5上に暗号化
プログラム6として設定し、その後プログラム実行手段
12を起動する。
When executing the encrypted supply program 1 on the user system 3, the user 2 starts the program execution starting means 4. When activated, the program execution starting means 4 sets the encrypted supply program 1 as the encrypted program 6 on the storage device 5, and then starts the program executing means 12.

プログラム実行手段12は記憶装置5上に設定されてい
る暗号化プログラム6から命令を取り出して命令解読バ
ッファ13に設定した後、暗号化プログラム解読手段1
4を起動する。暗号化プログラム解読手段14は起動が
かけられることにより、命令解読バッファ13に設定さ
れている命令を解読してプログラム実行手段12で実行
可能な形に変換し、命令解読バッファ13に設定する。
The program execution means 12 extracts an instruction from the encrypted program 6 set on the storage device 5 and sets it in the instruction decoding buffer 13, and then the encrypted program decoding means 1
Start 4. When activated, the encrypted program decoding means 14 decodes the command set in the command decoding buffer 13, converts it into a form executable by the program execution means 12, and sets it in the command decoding buffer 13.

プログラム実行手段12は命令解読バッファ13に実行
可能な形に変換された命令が設定されると、その命令を
実行する。その際、実行する命令が記憶装置5にデータ
を設定するものである場合はデータバッファ11にデー
タを設定した後、データの設定位置を指定してデータ暗
号化手段10を起動する。これにより、データ暗号化手
段10はデータバッファ11に設定されたデータを暗号
化し、暗号化した内容を記憶装置5の指定された位置に
暗号化データ7として設定する。また、実行する命令が
記憶装置5からデータを入力するものである場合は、デ
ータの設定位置を指定して暗号化データ解読手段9を起
動する。暗号化データ解読手段9は起動がかけられるこ
とにより、記憶装置5の指定された位置から暗号化デー
タ7を入力し、人力した内容を解読して解読結果をデー
タバッファ11に設定する。プログラム実行手段12は
データバッファ11に解読済みのデータが設定されるこ
とにより、そのデータを入力する。
When an instruction converted into an executable form is set in the instruction decoding buffer 13, the program execution means 12 executes the instruction. At this time, if the command to be executed is to set data in the storage device 5, the data is set in the data buffer 11, the data setting position is specified, and the data encryption means 10 is activated. Thereby, the data encryption means 10 encrypts the data set in the data buffer 11, and sets the encrypted contents in the designated location of the storage device 5 as encrypted data 7. Furthermore, if the command to be executed is to input data from the storage device 5, the encrypted data decryption means 9 is activated by specifying the data setting position. When the encrypted data decryption means 9 is activated, it inputs the encrypted data 7 from a designated location in the storage device 5, decrypts the manually input contents, and sets the decryption result in the data buffer 11. When the decoded data is set in the data buffer 11, the program execution means 12 inputs the data.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明は、記憶装置には暗号化プ
ログラムをそのまま設定し、プログラム実行手段により
暗号化プログラムの命令を実行する場合には暗号化プロ
グラム解読手段によって暗号化プログラムの命令をプロ
グラム実行手段で実行可能な形に変換するようにしたも
のであるので、プログラムの実行中に記憶装置が参照さ
れても、プログラムの内容を隠蔽することができる効果
がある。また、更に、本発明はプログラムの実行中に記
憶装置にデータを設定することが必要な場合、データ暗
号化手段を用いてデータを暗号化した後に記憶装置に設
定するようにしたものであるので、プログラムの実行中
に記憶装置が参照されても、データの内容を躇蔽するこ
とができる効果がある。
As explained above, in the present invention, an encrypted program is set in the storage device as it is, and when the program execution means executes the instructions of the encrypted program, the encrypted program decryption means is used to program the instructions of the encrypted program. Since the program is converted into a format executable by the execution means, it is possible to hide the contents of the program even if the storage device is referenced while the program is being executed. Furthermore, according to the present invention, when it is necessary to set data in the storage device during program execution, the data is encrypted using a data encryption means and then set in the storage device. This has the effect that even if the storage device is referenced during program execution, the contents of the data can be hidden.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の実施例のブロック図である。 図に於いて、 1・・・暗号化供給プログラム 2・・・利用者 3・・・利用者システム 4・・・プログラム実行開始手段 5・・・記憶装置 6・・・暗号化プログラム 7・・・暗号化データ 8・・・中央処理装置 9・・・暗号化データ解読手段 10・・・データ暗号化手段 11・・・データバッファ 12・・・プログラム実行手段 13・・・命令解読バッファ FIG. 1 is a block diagram of an embodiment of the invention. In the figure, 1... Encryption supply program 2...User 3...User system 4...Program execution start means 5...Storage device 6...Encryption program 7... Encrypted data 8...Central processing unit 9...Encrypted data decryption means 10...Data encryption means 11...Data buffer 12...Program execution means 13...Instruction decoding buffer

Claims (1)

【特許請求の範囲】 暗号化された暗号化プログラムを実行するシステムに於
いて、 中央処理装置と、 該中央処理装置で実行する暗号化プログラムが設定され
る記憶装置と、 該記憶装置に前記中央処理装置が実行する暗号化プログ
ラムを設定すると共に、前記中央処理装置に対して暗号
化プログラムの実行を指示するプログラム実行開始手段
とを含み、 前記中央処理装置は、 命令解読バッファと、 該命令解読バッファに設定された暗号化プログラムを解
読し、解読結果を前記命令解読バッファに設定する暗号
化プログラム解読手段と、 データバッファと、 該データバッファに設定されたデータを暗号化して前記
記憶装置に設定するデータ暗号化手段と、前記記憶装置
に設定された暗号化データを解読して解読結果を前記デ
ータバッファに設定する暗号化データ解読手段と、 前記プログラム実行開始手段からの指示に応答して前記
記憶手段に設定されている暗号化プログラムの命令を前
記命令解読バッファに設定した後、前記暗号化プログラ
ム解読手段を起動し、前記暗号化プログラム解読手段に
よって解読され、前記命令解読バッファに設定された命
令が前記記憶装置にデータを設定する命令である場合は
前記データバッファにデータを設定して前記データ暗号
化手段を起動させ、前記記憶手段からデータを入力する
命令である場合は前記暗号化データ解読手段を起動させ
、前記暗号化データ解読手段により前記データバッファ
に設定されたデータを入力するプログラム実行手段とを
含むことを特徴とするプログラム及びデータの内容隠蔽
方式。
[Scope of Claim] A system for executing an encrypted program, comprising: a central processing unit; a storage device in which an encrypted program to be executed by the central processing unit is set; program execution start means for setting an encrypted program to be executed by a processing unit and instructing the central processing unit to execute the encrypted program; the central processing unit includes: an instruction decoding buffer; and a command decoding buffer. an encrypted program decryption unit that decrypts an encrypted program set in a buffer and sets the decryption result in the instruction decoding buffer; a data buffer; and a data buffer that encrypts the data set in the data buffer and sets it in the storage device. data encryption means for decrypting the encrypted data set in the storage device and setting the decryption result in the data buffer; After setting the instructions of the encrypted program set in the storage means in the instruction decoding buffer, the encrypted program decoding means is activated, and the encrypted program decrypting means decrypts the instructions and sets them in the instruction decoding buffer. If the instruction is an instruction to set data in the storage device, the data is set in the data buffer and the data encryption means is started; if the instruction is an instruction to input data from the storage device, the encrypted data is 1. A program and data content hiding method, comprising program execution means for activating a decryption means and inputting data set in the data buffer by the encrypted data decryption means.
JP1118898A 1989-05-12 1989-05-12 System for masking contents of program and data Pending JPH02297626A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1118898A JPH02297626A (en) 1989-05-12 1989-05-12 System for masking contents of program and data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1118898A JPH02297626A (en) 1989-05-12 1989-05-12 System for masking contents of program and data

Publications (1)

Publication Number Publication Date
JPH02297626A true JPH02297626A (en) 1990-12-10

Family

ID=14747898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1118898A Pending JPH02297626A (en) 1989-05-12 1989-05-12 System for masking contents of program and data

Country Status (1)

Country Link
JP (1) JPH02297626A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632024A (en) * 1993-06-08 1997-05-20 Hitachi, Ltd. Microcomputer executing compressed program and generating compressed branch addresses
WO2000057278A1 (en) * 1999-03-19 2000-09-28 Hitachi, Ltd. Information processing device
US7131133B1 (en) 1996-09-18 2006-10-31 Kabushiki Kaisha Toshiba Access control method and information utilization apparatus
WO2014125639A1 (en) * 2013-02-18 2014-08-21 三菱電機株式会社 Control program management apparatus, controller apparatus, and control system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632024A (en) * 1993-06-08 1997-05-20 Hitachi, Ltd. Microcomputer executing compressed program and generating compressed branch addresses
US7131133B1 (en) 1996-09-18 2006-10-31 Kabushiki Kaisha Toshiba Access control method and information utilization apparatus
WO2000057278A1 (en) * 1999-03-19 2000-09-28 Hitachi, Ltd. Information processing device
WO2000057290A1 (en) * 1999-03-19 2000-09-28 Hitachi, Ltd. Information processor
US7082539B1 (en) 1999-03-19 2006-07-25 Hitachi, Ltd. Information processing apparatus
WO2014125639A1 (en) * 2013-02-18 2014-08-21 三菱電機株式会社 Control program management apparatus, controller apparatus, and control system

Similar Documents

Publication Publication Date Title
JPH08305558A (en) Ciphering program arithmetic unit
WO2004072891A3 (en) System and method for regulating execution of computer software
JPH02297626A (en) System for masking contents of program and data
JPS6113232B2 (en)
JPH08185361A (en) Semiconductor integrated circuit device
JP2001318768A (en) Entertainment device, component therefor, method for loading digital information with entertainment device and computer program
WO2013042409A1 (en) Module encryption/decryption program
JP2696219B2 (en) Information protection method
WO2016095506A1 (en) Ciphertext data decryption method, system and computer storage medium
KR100391932B1 (en) Method for protecting digital data through real-time system api controller without modifying application program
JPH02128221A (en) Central processing unit with function for concealing content of program
CN101458756A (en) File real time decrypting method
JP2002305515A5 (en)
JPS58184608A (en) Numerical control system
JPS6358538A (en) Software protecting system
JPH01195505A (en) Numerical controller
JPH02120901A (en) Programmable controller
JPS6278644A (en) Password storage
JPH06332781A (en) File controlling method
JP5829959B2 (en) Information processing apparatus and program
JPS61195427A (en) Program identifier
JPH05151092A (en) Data protection device
JPS6145548Y2 (en)
JPS647355U (en)
KR20090096769A (en) A method for real-time program decryption using a separate process which interacts with the execution process