JPH03168831A - Program secrecy device - Google Patents

Program secrecy device

Info

Publication number
JPH03168831A
JPH03168831A JP1310055A JP31005589A JPH03168831A JP H03168831 A JPH03168831 A JP H03168831A JP 1310055 A JP1310055 A JP 1310055A JP 31005589 A JP31005589 A JP 31005589A JP H03168831 A JPH03168831 A JP H03168831A
Authority
JP
Japan
Prior art keywords
data
address
scrambler
memory
scramble
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
JP1310055A
Other languages
Japanese (ja)
Inventor
Hideaki Matsushita
松下 秀明
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 JP1310055A priority Critical patent/JPH03168831A/en
Publication of JPH03168831A publication Critical patent/JPH03168831A/en
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

PURPOSE:To prevent a developed program from being analyzed and utilized with other persons by scrambling/descrampling the address I/O and data I/O of a microprocessor with a scramble pattern stored in a scramble data memory. CONSTITUTION:A pattern for making addresses and data to be inputted/ outputted to/from a CPU 10 secret is fixedly stored in the scramble data memory 13. An address scrambler 11 scrambles in address outputted from the CPU 10 in accordance with the contents of the memory 13 and a data scrambler 12 scrambles the I/O data of the CPU 10 in accordance with the contents of the memory 13. Consequently, probability capable of easily analyzing and utilizing a developed program by a third person can be removed.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、電子回路に関し,特に、マイクロプロセッサ
を使用した装置におけるプログラムの秘匿に関する. 従来の技術 従来、この種の装置のプログラムは、秘匿がまったくか
けられていない構戒となっていた.発明が解決しようと
する課題 上述した従来のマイクロプロセッサを使用したプログラ
ムは秘匿がかけられない構成となっているので、開発し
たプログラムが、他人に容易に解析、利用されてしまう
可能性があり、又或いは、ROMに書き込まれたプログ
ラムをコピーし、全く同じハードウエアを準備すれば、
容易に複製装置が作られてしまうという欠点がある. 本発明は従来の上記実情に鑑みてなされたものであり、
従って本発明の目的は、従来の技術に内在する上記諸欠
点を解消することを可能とした新規なプログラム秘匿装
置を提供することにある.課題を解決するための手段 上記目的を達戒する為に、本発明に係るプログラム秘匿
方式は、プログラムを実行するCPUとアドレス、デー
タバスに対して秘匿をかけるパターンを記憶しておくス
クランブルデータメモリと、アドレスに対して該スクラ
ンブルデータメモリの内容に従いスクランブルをかける
アドレススクランブラと、入出力データに対して前記ス
クランブルデータメモリの内容によりスクランブル又は
ディスクランブルをかけるデータスクランブラとを備え
て構戒される. 実施例 実施例 次に、本発明をその好ましい一実施例について図面を参
照して具体的に説明する. 第1図は本発明の一実施例を示すブロックflItj.
図である. 第1図を参照するに、マイクロプロセッサ1は、CPU
 10と、アドレススクランブラ11と、データスクラ
ンブラ12と、スクランブルデータメモリl3とから楕
戒され、外部メモリ2と信号線101102により接続
されている. CPU 10は、マイクロプロセッサの中枢部位であり
、外部メモリ2に蓄積されているプログラムを読み出し
て、解析実行を行う部位である.スクランブルデータメ
モリ13は、CPUIOから入出力されるアドレス及び
データに秘匿をかけるパターンを固定的に記憶させてお
くメモリである.アドレススクランブラ11は、CPU
 10から出力されるアドレスに対して、スクランブル
データメモリ13に従い、スクランブルをかける部位で
ある.データスクランブラ12は、CPUI Oの入出
力データに間して、スクランブルデータメモリ13に従
い、スクランブルをかける部位である. 外部メモリ2は、マイクロプロセッサを動作させるため
のプログラムを収容しておく為のメモリである. 次に、本実施例の動作を説明する. データスクランブラ12は、CPUIOからデータ線1
02を介して伝送されたデータに信号線105によるデ
ータに基いてスクランブルを行い、そのデータは、デー
タ線103を介して外部メモリ2に伝送され、アドレス
スクランブラ11によりスクランブルをかけられてアド
レス線101により入力されたアドレスに書き込まれる
. CPUIOは、仕事を実行するために、外部メモリ2に
記憶されているプログラムを読み出すのにアドレス線1
00にアドレスを出力する.スクランブルデータメモリ
13では、アドレスに従い信号線104及び信号線10
5からスクランブルパターンを出力する.アドレススク
ランブラ11では、アドレス線100と信号線104か
らのデータにより、アドレスを秘匿する為にスクランブ
ルを行いアドレス線101に出力する. 外部メモリ2は、入力されたアドレスにより、対応する
プログラムのデータをデータ線103より出力する. データスクランブラ12では、データ線103と信号線
105により入カデータの秘匿を解き、CPU10に対
して正しいプログラムをデータ線102にて伝送する. このようにして、マイクロプロセッサ1の外部の信号線
101及び103では、正しいプログラムをモニタする
ことが不可能となっている.アドレススクランブラ11
,データスクランブラ12は、例えばROM 、あるい
はアドレスまたはデータの順序を入れ替えるか、アドレ
スまたはデータを反転させる動作をする演算回路によっ
て楕戒され、スクランブルデータメモリ13は例えばR
OMあるいはRAMにより構成される. 発明の効果 以上説明したように、本発明によれば、マイクロプロセ
ッサのアドレス出力とデータ入出力に対して、スクラン
ブルデータメモリに記憶させたスクランブルパターンに
て、スクランブル.ディスクランブルを行うことで、外
部メモリのROM等に書き込まれたプログラムの解析、
利1用を他人にはでき無くさせ、又マイクロプロセッサ
全体が、同一のスクランブルパターンが書き込まれたも
のでないと正常動作しない為に、他人には複製装置を製
作できなくさせる効果が得られる.
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to electronic circuits, and particularly to concealment of programs in devices using microprocessors. Conventional technology In the past, the programs for this type of device were kept completely confidential. Problems to be Solved by the Invention Since programs using the above-mentioned conventional microprocessors cannot be kept confidential, there is a possibility that the developed programs can be easily analyzed and used by others. Alternatively, if you copy the program written to ROM and prepare exactly the same hardware,
The disadvantage is that a copying device can be easily created. The present invention has been made in view of the above-mentioned conventional situation,
Accordingly, an object of the present invention is to provide a novel program concealment device that makes it possible to eliminate the above-mentioned drawbacks inherent in the conventional technology. Means for Solving the Problems In order to achieve the above object, the program concealment method according to the present invention uses a scrambled data memory that stores a pattern for concealing the CPU, address, and data bus that executes the program. and an address scrambler that scrambles addresses according to the contents of the scramble data memory, and a data scrambler that scrambles or descrambles input/output data according to the contents of the scramble data memory. Ru. Embodiment Next, a preferred embodiment of the present invention will be specifically explained with reference to the drawings. FIG. 1 shows a block flItj. showing an embodiment of the present invention.
This is a diagram. Referring to FIG. 1, a microprocessor 1 includes a CPU
10, address scrambler 11, data scrambler 12, and scramble data memory l3, and is connected to external memory 2 by signal line 101102. The CPU 10 is a central part of the microprocessor, and is a part that reads programs stored in the external memory 2 and executes analysis. The scramble data memory 13 is a memory that permanently stores a pattern for concealing addresses and data input and output from the CPUIO. The address scrambler 11 is a CPU
This is a part that scrambles the address output from 10 according to the scramble data memory 13. The data scrambler 12 is a part that scrambles the input/output data of the CPUI O according to the scramble data memory 13. The external memory 2 is a memory for storing programs for operating the microprocessor. Next, the operation of this embodiment will be explained. The data scrambler 12 runs from the CPUIO to the data line 1.
02 is scrambled based on the data on the signal line 105, and the data is transmitted to the external memory 2 via the data line 103, scrambled by the address scrambler 11, and sent to the address line. 101 is written to the address input. CPUIO uses address line 1 to read programs stored in external memory 2 in order to perform work.
Output the address to 00. In the scramble data memory 13, the signal line 104 and the signal line 10
Output the scramble pattern from 5. The address scrambler 11 scrambles the data from the address line 100 and the signal line 104 to keep the address confidential and outputs it to the address line 101. The external memory 2 outputs program data corresponding to the input address from the data line 103. The data scrambler 12 decrypts the input data through the data line 103 and the signal line 105, and transmits the correct program to the CPU 10 through the data line 102. In this way, it is impossible to monitor the correct program using the signal lines 101 and 103 external to the microprocessor 1. address scrambler 11
, the data scrambler 12 is scrambled by, for example, a ROM or an arithmetic circuit that operates to rearrange the order of addresses or data or invert addresses or data, and the scramble data memory 13 is, for example, a ROM.
It is composed of OM or RAM. Effects of the Invention As explained above, according to the present invention, address output and data input/output of a microprocessor are scrambled using a scramble pattern stored in a scramble data memory. By descrambling, you can analyze programs written in external memory such as ROM,
This has the effect of making it impossible for others to use the copying device, and since the entire microprocessor will not operate properly unless the same scrambling pattern is written, it is possible to prevent others from producing a copying device.

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

第1図は本発明に係るプログラム秘匿装置の一実施例を
示すブロック構戒図である. 1・・・マイクロプロセッサ、2・・・外部メモリ、1
0・・・CPU . 11・・・アドレススクランブラ
、12・・・データスクランブラ、13・・・スクラン
ブルデータメモリ、100 . 101・・・アドレス
線、102 、103・・・データ線、104. 10
5・・・信号線
FIG. 1 is a block diagram showing an embodiment of the program concealment device according to the present invention. 1...Microprocessor, 2...External memory, 1
0...CPU. 11...Address scrambler, 12...Data scrambler, 13...Scramble data memory, 100. 101... Address line, 102, 103... Data line, 104. 10
5...Signal line

Claims (3)

【特許請求の範囲】[Claims] (1)、プログラムを実行するCPUと、アドレス、デ
ータバスに対して秘匿をかけるパターンを記憶しておく
スクランブルデータメモリと、アドレスに対して該スク
ランブルデータメモリの内容によりスクランブルをかけ
るアドレススクランブラと、入出力データに対して前記
スクランブルデータメモリの内容によりスクランブル又
はディスクランブルをかけるデータスクランブラとを有
することを特徴としたプログラム秘匿装置。
(1) A CPU that executes a program, a scramble data memory that stores patterns for concealing addresses and data buses, and an address scrambler that scrambles addresses according to the contents of the scramble data memory. and a data scrambler that scrambles or descrambles input/output data according to the contents of the scramble data memory.
(2)、前記アドレススクランブラ及び前記データスク
ランブラをROMまたは演算回路により構成したことを
更に特徴とする請求項(1)に記載のプログラム秘匿装
置。
(2) The program concealment device according to claim (1), further characterized in that the address scrambler and the data scrambler are constructed from a ROM or an arithmetic circuit.
(3)、前記スクランブルデータメモリをROMまたは
RAMにより構成したことを更に特徴とする請求項(1
)または(2)に記載のプログラム秘匿装置。
(3) Claim (1) further characterized in that the scramble data memory is constituted by a ROM or a RAM.
) or the program concealment device described in (2).
JP1310055A 1989-11-29 1989-11-29 Program secrecy device Pending JPH03168831A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1310055A JPH03168831A (en) 1989-11-29 1989-11-29 Program secrecy device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1310055A JPH03168831A (en) 1989-11-29 1989-11-29 Program secrecy device

Publications (1)

Publication Number Publication Date
JPH03168831A true JPH03168831A (en) 1991-07-22

Family

ID=18000623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1310055A Pending JPH03168831A (en) 1989-11-29 1989-11-29 Program secrecy device

Country Status (1)

Country Link
JP (1) JPH03168831A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295893A (en) * 1994-04-28 1995-11-10 Nec Corp Device and method for reading in memory information of microrprocessor
JP2003500786A (en) * 1999-05-12 2003-01-07 ギーゼッケ ウント デフリエント ゲーエムベーハー Memory array with address scrambling function

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295893A (en) * 1994-04-28 1995-11-10 Nec Corp Device and method for reading in memory information of microrprocessor
JP2003500786A (en) * 1999-05-12 2003-01-07 ギーゼッケ ウント デフリエント ゲーエムベーハー Memory array with address scrambling function

Similar Documents

Publication Publication Date Title
KR930008041B1 (en) Microcontroller
EP0961193A3 (en) Secure computing device
US5406624A (en) Data processor systems
TW302455B (en)
CN100390760C (en) Semiconductor device and electronic apparatus
JPS6016779B2 (en) Block unit encryption device
JPH11316714A (en) Integrated circuit and smart card provided with the same
WO1981002351A1 (en) Digital computer
JP2004519111A (en) Field programmable gate array with program encryption
CA2071648A1 (en) Data-processing system
JP2003521053A (en) Microprocessor system including encryption
GR3031238T3 (en) Device for processing data packets
JPH09282156A (en) Program protection device and program protection method
TW556084B (en) Data processing device
JPH03168831A (en) Program secrecy device
JP2002185447A (en) Secret data processor and its electronic components
JPS63197293A (en) Ic card issuing system
JP4229330B2 (en) Cryptographic program generation device and cryptographic program generation method
JPH01270191A (en) Memory card
JPS6419449A (en) Ciphering and protecting system for file data
JPS6313210B2 (en)
JPH11167526A (en) Memory read and write method and device
JPS6278644A (en) Password storage
Torrubia et al. Information security in multiprocessor systems based on the x86 architecture
JPS62107352A (en) Encipherment rom device