[go: up one dir, main page]

JPH052478A - Program protecting system - Google Patents

Program protecting system

Info

Publication number
JPH052478A
JPH052478A JP3153630A JP15363091A JPH052478A JP H052478 A JPH052478 A JP H052478A JP 3153630 A JP3153630 A JP 3153630A JP 15363091 A JP15363091 A JP 15363091A JP H052478 A JPH052478 A JP H052478A
Authority
JP
Japan
Prior art keywords
circuit
serial
address
cipher
data
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
JP3153630A
Other languages
Japanese (ja)
Inventor
Hiromitsu Moriwaki
宏光 森脇
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 JP3153630A priority Critical patent/JPH052478A/en
Publication of JPH052478A publication Critical patent/JPH052478A/en
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

PURPOSE:To make it unable to start a CPU even when the third party produces the duplicated product and to protect a copyright by building the same cipher ROM in both CPU and program memory. CONSTITUTION:An address preparing circuit 13, after a system is started, prepares an arbitrary address A and it is inputted into a serial address transmitting circuit 15 and a cipher ROM 14. The cipher ROM 14 outputs corresponding cipher data D1 to a comparing circuit 17. On the other hand, the address A from the transmitting circuit 15 is received by a serial address receiving circuit 24 and inputted to a cipher ROM 22. At the cipher ROM 22, corresponding cipher data D2 are outputted to a serial cipher transmitting circuit 23. Here, the cipher data D2 are serially converted and transmitted to a serial cipher receiving circuit 16 as cipher data D2S. At the cipher receiving circuit 16, the cipher data D2S are re-converted and inputted to the comparing circuit 17 as the cipher data D2. At the comparing circuit 17, cipher data D1 and D2 are compared, and at the time of non-coincidence, the starting of the program is stopped.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はプログラム保護システム
に関し、特にCPUを用いるデータ処理システムのプロ
グラムの複製を防止するプログラム保護システムに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program protection system, and more particularly to a program protection system for preventing duplication of programs of a data processing system using a CPU.

【0002】[0002]

【従来の技術】従来のプログラム保護システムにおける
プログラムメモリの複製の防止技術は、プログラムメモ
リを複数のプログラムブロックに分割することにより、
プログラムメモリの先頭がどのプログラムブロックにあ
るのかわからないようにしていた。
2. Description of the Related Art A conventional technique for preventing program memory duplication in a program protection system is to divide a program memory into a plurality of program blocks.
I didn't know which program block was at the beginning of the program memory.

【0003】[0003]

【発明が解決しようとする課題】上述した従来のプログ
ラム保護システムは、CPUとプログラムメモリのイン
タフェースを解読することは容易であるという欠点があ
った。また、プログラムメモリの内容は、ROMライタ
等により容易に解読することができ、したがって、容易
に複製をつくることができるという欠点があった。
The conventional program protection system described above has a drawback in that it is easy to decode the interface between the CPU and the program memory. Further, the contents of the program memory can be easily decoded by a ROM writer or the like, and therefore, there is a drawback that a copy can be easily made.

【0004】[0004]

【課題を解決するための手段】本発明のプログラム保護
システムは、第一の暗号データを格納した第一の記憶回
路を有する中央演算ユニットと、前記暗号データと同一
の第二の暗号データを格納した第二の記憶回路を有しプ
ログラムを格納したプログラムメモリと、前記第一およ
び第二の記憶回路から前記第一および第二の暗号データ
を読出すアドレスを発生するアドレス発生回路と、前記
第一および第二の記憶回路からそれぞれ読出した前記第
一および第二の暗号データを比較する比較回路と、前記
アドレスをシリアルデータのシリアルアドレスに変換す
る第一のパラレルシリアル変換回路と、前記シリアルア
ドレスをパラレルデータの前記アドレスに再変換する第
一のシリアルパラレル変換回路と、前記第一および第二
のいずれか一方の暗号データをシリアルデータのシリア
ル暗号データに変換する第二のパラレルシリアル変換回
路と、前記シリアル暗号データをパラレルデータの前記
暗号データに再変換する第二のシリアルパラレル変換回
路と、前記中央演算ユニットと前記プログラムメモリと
を有するデータ処理システムの前記第一および第二の暗
号データの処理と通常処理とを切替え制御する制御回路
とを備えて構成されている。
A program protection system of the present invention stores a central processing unit having a first memory circuit storing first encrypted data and a second encrypted data identical to the encrypted data. A program memory having a second storage circuit for storing a program, an address generation circuit for generating an address for reading the first and second encrypted data from the first and second storage circuits, and A comparison circuit for comparing the first and second encrypted data read from the first and second storage circuits, a first parallel-serial conversion circuit for converting the address into a serial address of serial data, and the serial address To a first serial-parallel conversion circuit for re-converting to the address of parallel data, and one of the first and second A second parallel-serial conversion circuit that converts serial data to serial encrypted data of serial data; a second serial-parallel conversion circuit that reconverts the serial encrypted data to the encrypted data of parallel data; and the central processing unit. The data processing system having the program memory includes a control circuit for controlling switching between processing of the first and second encrypted data and normal processing.

【0005】[0005]

【実施例】次に、本発明の実施例について図面を参照し
て説明する。
Embodiments of the present invention will now be described with reference to the drawings.

【0006】図1は、本発明のプログラム保護システム
の一実施例を示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of the program protection system of the present invention.

【0007】本実施例のプログラム保護システムは、図
1に示すように、CPU1と、プログラムメモリ2と、
アドレスデコード回路3を備えて構成されている。
As shown in FIG. 1, the program protection system of this embodiment includes a CPU 1, a program memory 2, and
The address decoding circuit 3 is provided.

【0008】図2は、CPU1の構成を示す回路図であ
る。CPU1は、CPUコア11と、制御回路12と、
アドレス発生回路13と、暗号ROM14と、シリアル
アドレス送信回路15と、シリアル暗号受信回路16
と、比較器17とを備えて構成されている。
FIG. 2 is a circuit diagram showing the configuration of the CPU 1. The CPU 1 includes a CPU core 11, a control circuit 12,
Address generation circuit 13, encryption ROM 14, serial address transmission circuit 15, serial encryption reception circuit 16
And a comparator 17.

【0009】CPUコア11は、従来のCPUと同一の
機能を有する。制御回路12は、CPUコア11のリセ
ット信号を制御するための回路である。アドレス発生回
路13は、システムの起動後、00〜FFHまでの任意
のアドレスAを発生し出力する機能を有する。暗号RO
M14は、アドレス発生回路13より出力されるアドレ
スAに対応する暗号データD1を出力する。比較回路1
7は、2つの入力信号を比較して一致したら一致信号C
を出力する。
The CPU core 11 has the same function as a conventional CPU. The control circuit 12 is a circuit for controlling the reset signal of the CPU core 11. The address generation circuit 13 has a function of generating and outputting an arbitrary address A from 00 to FFH after the system is activated. Code RO
M14 outputs the encrypted data D1 corresponding to the address A output from the address generation circuit 13. Comparison circuit 1
7 is a coincidence signal C when two input signals are compared and coincident with each other.
Is output.

【0010】シリアルアドレス送信回路15は、アドレ
スAをパラレルシリアル変換してシリアルアドレスAS
として送信するための回路であり、バッファ151と、
シフトレジスタ152と、スタートビット付加回路15
3と、クロック生成回路154とを有して構成されてい
る。
The serial address transmission circuit 15 converts the address A from parallel to serial and converts the serial address AS.
And a buffer 151,
Shift register 152 and start bit addition circuit 15
3 and a clock generation circuit 154.

【0011】シリアル暗号受信回路16は、受信したシ
リアル暗号データD2Sをシリアルパラレル変換して、
もとのパラレルの暗号データD2を再構成するための回
路であり、バッファ161と、シフトレジスタ162
と、スタートビット検出回路163と、クロック生成回
路164とを有して構成されている。
The serial cipher receiving circuit 16 converts the received serial cipher data D2S into serial parallel data,
A circuit for reconstructing the original parallel encrypted data D2, which includes a buffer 161 and a shift register 162.
And a start bit detection circuit 163 and a clock generation circuit 164.

【0012】図3は、プログラムメモリ2の構成を示す
回路図である。プログラムメモリ2は、メモリコア21
と、暗号ROM22と、シリアル暗号送信回路23と、
シリアルアドレス受信回路24とを備えて構成されてい
る。
FIG. 3 is a circuit diagram showing the configuration of the program memory 2. The program memory 2 has a memory core 21.
An encryption ROM 22, a serial encryption transmission circuit 23,
And a serial address receiving circuit 24.

【0013】メモリコア21は、プログラムが記憶され
ている従来と同様のメモリである。暗号ROM22は、
CPU1の暗号ROM14と同様のものであり、入力さ
れるアドレスに対応する暗号データD2を出力する。
The memory core 21 is a conventional memory in which programs are stored. The encryption ROM 22 is
It is similar to the encryption ROM 14 of the CPU 1 and outputs the encryption data D2 corresponding to the input address.

【0014】シリアル暗号送信回路23は、暗号D2を
パラレルシリアル変換してシリアル暗号データD2Sと
して送信するための回路であり、バッファ231と、シ
フトレジスタ232と、スタートビット付加回路233
と、クロック生成回路234とを有して構成されてい
る。
The serial cipher transmission circuit 23 is a circuit for converting the cipher D2 into parallel-serial data and transmitting it as serial cipher data D2S, and includes a buffer 231, a shift register 232, and a start bit addition circuit 233.
And a clock generation circuit 234.

【0015】シリアルアドレス受信回路24は、受信し
たシリアルアドレスASをシリアルパラレル変換して、
もとのパラレルのアドレスAを再構成するための回路で
あり、バッファ241と、シフトレジスタ242と、ス
タートビット検出回路243と、クロック生成回路24
4とを有して構成されている。
The serial address receiving circuit 24 performs serial-parallel conversion on the received serial address AS,
A circuit for reconstructing the original parallel address A, including a buffer 241, a shift register 242, a start bit detection circuit 243, and a clock generation circuit 24.
4 and are configured.

【0016】アドレスデコード回路3は、CPU1から
のアドレスAをデコードしてプログラムメモリ2のチッ
プセレクト信号CSを生成する。
The address decoding circuit 3 decodes the address A from the CPU 1 to generate a chip select signal CS for the program memory 2.

【0017】次に、本実施例の動作について説明する。Next, the operation of this embodiment will be described.

【0018】図4は、図1〜図3で示す本実施例の回路
のタイムチャ―トである。
FIG. 4 is a time chart of the circuit of this embodiment shown in FIGS.

【0019】電源投入後、リセット信号RSがハイレベ
ルからローレベルに、すなわち、CPU1の制御回路1
2の端子RSがローレベルに変化すると、制御回路12
は端子STをローレベル、つまり、ステータス信号ST
をローレベルとする。この結果、CPUコア11は、ス
テータス信号STがローレベルとなることによりリセッ
ト状態となる。アドレス発生回路13は、リセット信号
RSがローレベルの期間にアドレス00〜FFHまでの
任意のアドレスAを発生する。そして、リセット信号R
Sがハイレベルの期間にそのレベル状態を保持する。こ
のアドレスAは、シリアルアドレス送信回路15のバッ
ファ151と、暗号RO14の端子A0〜A7に入力さ
れる。暗号RO14は、端子A0〜A7のデータに対応
した00〜FFHの範囲の暗号データD1を比較回路1
7に対して出力する。
After the power is turned on, the reset signal RS changes from the high level to the low level, that is, the control circuit 1 of the CPU 1.
When the terminal RS of 2 changes to low level, the control circuit 12
Is the terminal ST at a low level, that is, the status signal ST
Is a low level. As a result, the CPU core 11 enters a reset state when the status signal ST goes low. The address generation circuit 13 generates an arbitrary address A from addresses 00 to FFH while the reset signal RS is at a low level. Then, the reset signal R
The state of the level is maintained while S is at the high level. The address A is input to the buffer 151 of the serial address transmission circuit 15 and the terminals A0 to A7 of the encryption RO14. The cipher RO14 compares the cipher data D1 in the range of 00 to FFH corresponding to the data of the terminals A0 to A7 with the comparison circuit 1.
Output to 7.

【0020】一方、比較回路17のもう一方の入力であ
るシリアル暗号受信回路16のバッファ161は、電源
投入直後はデータFFHを出力しているため両入力が一
致することはないので、比較回路17の出力はローレベ
ルとなっている。また、バッファ151に入力されたア
ドレスAは、ラッチおよび保持され、そのまま出力して
シフトレジスタ152に入力される。
On the other hand, since the buffer 161 of the serial cipher reception circuit 16 which is the other input of the comparison circuit 17 outputs the data FFH immediately after the power is turned on, the two inputs do not match, so the comparison circuit 17 Output is low level. The address A input to the buffer 151 is latched and held, and is output as it is and input to the shift register 152.

【0021】次に、リセット信号RSがローレベルから
ハイレベルになると、シリアルアドレス送信回路15の
クロック生成回路154はリセットされ、クロック生成
回路154に入力されるシステムクロックCKのパルス
数をカウントする。そして、そのパルスの8カウントご
とに送信クロックCTKを出力する。
Next, when the reset signal RS changes from low level to high level, the clock generation circuit 154 of the serial address transmission circuit 15 is reset and counts the number of pulses of the system clock CK input to the clock generation circuit 154. Then, the transmission clock CTK is output every eight counts of the pulse.

【0022】ここで、シフトレジスタ152は、送信ク
ロックCTKのレベルが電源投入後における最初のハイ
レベルからローレベルへのレベル変化のときにはシフト
動作を行なわない。ハイレベルからローレベルへのレベ
ル変化の2回目以降は、送信クロックのレベルがハイレ
ベルからローレベルへのレベル変化ごとに端子SOか
ら、入力のアドレスAをパラレルシリアル変換したシリ
アルアドレスASを出力する。
Here, the shift register 152 does not perform the shift operation when the level of the transmission clock CTK changes from the first high level to the low level after the power is turned on. After the second level change from the high level to the low level, the serial address AS obtained by performing parallel-serial conversion of the input address A is output from the terminal SO every time the level of the transmission clock changes from the high level to the low level. ..

【0023】スタートビット付加回路153は、送信ク
ロックCTKのレベルが電源投入後における最初のハイ
レベルからローレベルへのレベル変化のときには、端子
OUT出力をローレベルとし、ハイレベルからローレベ
ルへのレベル変化の2回目以降は、送信クロックCTK
のレベルがハイレベルからローレベルへのレベル変化ご
とに端子IN入力のレベル状態をラッチして、端子OU
T出力を端子IN入力と同一のレベル状態にする。そし
て、ハイレベルからローレベルへのレベル変化の10回
目以降は端子OUT出力をハイレベルに保持する。以上
の動作により、CPU1からアドレス発生回路13が生
成したアドレスAはシリアルアドレスASとしてプログ
ラムメモリ2に入力される。
The start bit adding circuit 153 sets the terminal OUT output to the low level when the level of the transmission clock CTK changes from the high level to the low level for the first time after the power is turned on, and changes the level from the high level to the low level. After the second change, the transmission clock CTK
The level state of the terminal IN input is latched every time the level changes from high level to low level, and the terminal OU
The T output is set to the same level state as the terminal IN input. The terminal OUT output is held at the high level after the tenth level change from the high level to the low level. By the above operation, the address A generated by the address generation circuit 13 from the CPU 1 is input to the program memory 2 as the serial address AS.

【0024】次に、入力されたシリアルアドレスAS
は、プログラムメモリ2のシリアルアドレス受信回路2
4のスタートビット検出回路243の端子INに入力さ
れる。スタートビット検出回路243は、端子INの入
力がハイレベルからローレベルに変化すると端子Qの出
力であるスタートビット検出信号SDをローレベルから
ハイレベルに遷移させる。スタートビット検出回路24
3は、クロック生成回路244からの受信クロックCR
Kの1パルスが入力されるまでに端子INのレベル状態
がハイレベルに戻るとスタートビット検出信号SDをロ
ーレベルに戻すことにより、クロック生成回路244に
対しシステムクロックCKのカウント動作の停止を指示
する。そして、10個目の受信クロックCRKが入力さ
れた時点で、スタートビット検出信号SDをローレベル
に設定する。
Next, the input serial address AS
Is the serial address receiving circuit 2 of the program memory 2.
4 is input to the terminal IN of the start bit detection circuit 243. The start bit detection circuit 243 changes the start bit detection signal SD, which is the output of the terminal Q, from the low level to the high level when the input of the terminal IN changes from the high level to the low level. Start bit detection circuit 24
3 is a reception clock CR from the clock generation circuit 244
When the level state of the terminal IN returns to the high level before one pulse of K is input, the start bit detection signal SD is returned to the low level to instruct the clock generation circuit 244 to stop the counting operation of the system clock CK. To do. Then, when the tenth reception clock CRK is input, the start bit detection signal SD is set to the low level.

【0025】クロック生成回路244は、端子TR1が
ハイレベルの期間中に入力されるシステムクロックCK
のパルス数をカウントする。パルス数を8カウントした
時点で、受信クロックCRKとしてシステムクロックC
Kの一周期と同一の幅のパルスを一個出力する。以降、
システムクロックCKのパルス数の16カウントごとに
同様のパルスを発生する。
The clock generation circuit 244 receives the system clock CK input while the terminal TR1 is at the high level.
Count the number of pulses. When the number of pulses is counted to 8, the system clock C is used as the reception clock CRK.
One pulse having the same width as one cycle of K is output. Or later,
A similar pulse is generated every 16 counts of the number of pulses of the system clock CK.

【0026】スタートビット検出回路243は、クロッ
ク生成回路244が発生する受信クロックCRKが入力
されるごとに、端子INに入力されるシリアルアドレス
ASのレベル状態をラッチして端子OUTに伝達する。
The start bit detection circuit 243 latches the level state of the serial address AS input to the terminal IN and transmits it to the terminal OUT every time the reception clock CRK generated by the clock generation circuit 244 is input.

【0027】同時にシフトレジスタ242は、受信クロ
ックCRKが入力されるごとに端子SIに入力されてい
るシリアルアドレスASをシフトさせ、シリアルパラレ
ル変換を行ない、パラレルデータに再変換されたアドレ
スAを出力する。シフトレジスタ242が、シリアルア
ドレスASからパラレルのアドレスAへの再変換を完了
する時点、すなわち、クロック生成回路244が受信ク
ロックCRKの9個目のパルスを出力したときは、端子
SHにシステムクロックCKの一周期と同一の幅のスト
ップパルスSPを一個出力して、このストップパルスS
Pをバッファ241の端子Cに入力する。バッファ24
1はこのストップパルスSPが入力された時点で入力さ
れるパラレルデータであるアドレスAをラッチし、保持
して暗号ROM22に出力する。
At the same time, the shift register 242 shifts the serial address AS input to the terminal SI every time the reception clock CRK is input, performs serial-parallel conversion, and outputs the address A reconverted to parallel data. .. At the time when the shift register 242 completes the conversion from the serial address AS to the parallel address A, that is, when the clock generation circuit 244 outputs the ninth pulse of the reception clock CRK, the system clock CK is output to the terminal SH. One stop pulse SP with the same width as one cycle is output, and this stop pulse S
P is input to the terminal C of the buffer 241. Buffer 24
1 latches the address A, which is parallel data input at the time when this stop pulse SP is input, holds it, and outputs it to the encryption ROM 22.

【0028】暗号ROM22においては、シリアルアド
レス受信回路24のバッファ241の端子DOが出力す
るCPU1から送られてきたアドレスAが端子A0〜A
7に入力される。そして、このアドレスAに対応する暗
号データD2を端子D0〜D7に出力する。この暗号デ
ータD2は、シリアル暗号送信回路23のバッファ23
1と、シフトレジスタ232と、スタートビット付加回
路233と、クロック生成回路234とにより、前述の
CPU1のシリアルアドレス送信回路15と同様の動作
でシリアル変換されて、シリアル暗号データD2Sとし
てCPU1に送信する。
In the encryption ROM 22, the address A sent from the CPU 1 output from the terminal DO of the buffer 241 of the serial address receiving circuit 24 is the terminals A0 to A.
Input to 7. Then, the encrypted data D2 corresponding to the address A is output to the terminals D0 to D7. The encrypted data D2 is stored in the buffer 23 of the serial cipher transmission circuit 23.
1, the shift register 232, the start bit addition circuit 233, and the clock generation circuit 234 perform serial conversion by the same operation as the serial address transmission circuit 15 of the CPU 1 described above, and transmit the serial encrypted data D2S to the CPU 1. ..

【0029】CPU1では、このシリアル暗号データD
2Sをシリアル暗号受信回路16により受信し、その構
成要素であるバッファ161と、シフトレジスタ162
と、スタートビット付加回路163と、クロック生成回
路164とにより、前述のプログラムメモリ2のシリア
ルアドレス受信回路24と同様の動作でシリアルパラレ
ル再変換して、パラレルの暗号データD2として比較回
路17に入力する。
In the CPU 1, this serial encrypted data D
2S is received by the serial cipher reception circuit 16, and the buffer 161 and the shift register 162, which are its constituent elements, are received.
Then, the start bit adding circuit 163 and the clock generating circuit 164 perform serial / parallel reconversion by the same operation as the serial address receiving circuit 24 of the program memory 2 described above, and input to the comparison circuit 17 as parallel encrypted data D2. To do.

【0030】比較回路17は、前述のように、一方の端
子に暗号ROM14からの暗号データD1が印加され、
他の一方の端子にはシリアル暗号受信回路16からの暗
号データD2が印加されており、2つの入力信号D1,
D2を比較して一致したらハイレベルの一致信号Cを出
力し制御回路12の端子CMPに入力する。
As described above, the comparison circuit 17 receives the encryption data D1 from the encryption ROM 14 at one terminal,
The cipher data D2 from the serial cipher receiving circuit 16 is applied to the other terminal, and the two input signals D1 and
When D2 is compared and coincident, a coincidence signal C of high level is output and input to the terminal CMP of the control circuit 12.

【0031】制御回路12は、端子CMPがハイレベル
になると、端子STからのステータス信号STをハイレ
ベルとすることによりCPUコア11のリセット動作を
解除する。
When the terminal CMP becomes high level, the control circuit 12 releases the reset operation of the CPU core 11 by setting the status signal ST from the terminal ST to high level.

【0032】もし、両方の暗号データD1,D2を比較
して不一致であったならば、ステータス信号STはロー
レベルを保持し、プログラムを起動させないようにす
る。
If both cipher data D1 and D2 are compared and they do not match, the status signal ST holds the low level and the program is not started.

【0033】以上説明したように本実施例は、CPUと
プログラムメモリの双方に同一の暗号ROMを内臓する
ことによって、第三者がプログラムメモリの内容をRO
Mライタで読取って複製品を作ってもCPUを起動する
ことができず、設計者の著作権を保護できるという利点
がある。
As described above, in the present embodiment, the same encryption ROM is built in both the CPU and the program memory so that a third person can change the contents of the program memory to the RO.
There is an advantage that the CPU cannot be started even if the copy is read by the M writer to make a duplicate, and the designer's copyright can be protected.

【0034】次に、本発明の第二の実施例について説明
する。
Next, a second embodiment of the present invention will be described.

【0035】図5,図6は、本発明の第二の実施例を示
すCPUおよびプログラムメモリののブロック図であ
る。
5 and 6 are block diagrams of a CPU and a program memory showing a second embodiment of the present invention.

【0036】本実施例の前述の第一の実施例に対する相
違点は、図1において、CPU1に代ってCPU4に、
プログラムメモリ2に代ってプログラムメモリ5になる
とともに、CPU1側にあったアドレス発生回路および
比較回路がプログラムメモリ5側に移るとともに、プロ
グラムメモリ5にゲート回路57が付加されたことであ
る。これに関連して、シリアル暗号データD2Sおよび
シリアルアドレスASのシリアル転送の方向が反対にな
っている。その他の構成要素については第一の実施例と
共通であり、本実施例に直接間連するもの以外は冗長と
ならないよう説明を省略する。
The difference of this embodiment from the above-mentioned first embodiment is that in FIG.
This means that the program memory 5 is replaced with the program memory 5, the address generation circuit and the comparison circuit on the CPU 1 side are moved to the program memory 5 side, and the gate circuit 57 is added to the program memory 5. In this regard, the serial transfer directions of the serial encrypted data D2S and the serial address AS are opposite. The other components are the same as those in the first embodiment, and the description thereof will be omitted so as not to be redundant except those directly connected to this embodiment.

【0037】図5において、本実施例のCPU4は、第
一の実施例と同様のCPUコア41と、暗号ROM44
とに加えて、第一の実施例のプログラムメモリ2から移
されたシリアル暗号送信回路42と、シリアルアドレス
受信回路43とを備えて構成されている。
In FIG. 5, the CPU 4 of this embodiment has a CPU core 41 similar to that of the first embodiment and an encryption ROM 44.
In addition to the above, it is configured to include a serial cipher transmission circuit 42 transferred from the program memory 2 of the first embodiment and a serial address reception circuit 43.

【0038】図6において、本実施例のプログラムメモ
リ5は、第一の実施例と同様のメモリコア51と、暗号
ROM52とに加えて、第一の実施例のCPU1から移
されたアドレス発生回路53と、シリアルアドレス送信
回路54と、シリアル暗号受信回路55と、比較回路5
6と、さらに新規に付加されたゲート回路57とを備え
て構成されている。
In FIG. 6, the program memory 5 of this embodiment has a memory core 51 similar to that of the first embodiment, an encryption ROM 52, and an address generation circuit transferred from the CPU 1 of the first embodiment. 53, a serial address transmission circuit 54, a serial cipher reception circuit 55, and a comparison circuit 5
6 and a newly added gate circuit 57.

【0039】次に、本実施例の動作について説明する。Next, the operation of this embodiment will be described.

【0040】プログラムメモリ5のゲート回路57は、
リセット端子RSTの入力がローレベルの期間は、ステ
ータス端子STをローレベルに、アドレス端子AO0〜
AO7、データ端子DO0〜DO7、チップセレクト端
子CSO、リード端子RDOのそれぞれをハイインピー
ダンス状態とする。リセット端子RSTの入力がローレ
ベルからハイレベルになると、比較信号端子CMPにハ
イレベル入力が印加されるまではそのままの状態を保持
する。比較信号端子CMPにハイレベル入力が印加され
ると、アドレス端子AI0〜AI7とAO0〜AO7、
データ端子DI0〜DI7とDO0〜DO7、チップセ
レクト端子CSIとCSO、リード端子RDIとRDO
のそれぞれの間を内部で接続する。
The gate circuit 57 of the program memory 5 is
While the input of the reset terminal RST is low level, the status terminal ST is set to low level and the address terminals AO0 to
The AO7, the data terminals DO0 to DO7, the chip select terminal CSO, and the read terminal RDO are set to the high impedance state. When the input of the reset terminal RST changes from the low level to the high level, the state is maintained as it is until the high level input is applied to the comparison signal terminal CMP. When a high level input is applied to the comparison signal terminal CMP, the address terminals AI0 to AI7 and AO0 to AO7,
Data terminals DI0 to DI7 and DO0 to DO7, chip select terminals CSI and CSO, read terminals RDI and RDO
Internally connect between each.

【0041】本実施例では、プログラムメモリ5からシ
リアルアドレスASをCPU4に転送し、CPU4にお
いて、アドレスAにシリアルパラレル変換を行なって暗
号ROM44から暗号データD1を読出し、これをシリ
アル暗号データD1Sとしてプログラムメモリ5に転送
し、シリアルパラレル変換を行なって暗号データD1に
再変換し、比較回路56にて暗号ROM52からの暗号
データD2と比較するという基本動作は、シリアル暗号
データD1SおよびシリアルアドレスASのシリアル転
送の方向が反対になっているほかは前述の第一の実施例
と同様である。
In this embodiment, the serial address AS is transferred from the program memory 5 to the CPU 4, and the CPU 4 performs serial-parallel conversion on the address A to read the cipher data D1 from the cipher ROM 44 and program it as the serial cipher data D1S. The basic operation of transferring to the memory 5, performing serial-parallel conversion and re-converting into the encrypted data D1 and comparing with the encrypted data D2 from the encrypted ROM 52 in the comparison circuit 56 is performed by serially encrypting the serial encrypted data D1S and the serial address AS. It is the same as the above-described first embodiment except that the transfer direction is opposite.

【0042】比較回路56において、暗号データD1,
D2の比較結果一致したらハイレベルの一致信号Cを出
力しゲート回路57の端子CMPに入力する。ゲート回
路57は、外部からのアドレスA、データD、メモリリ
ード信号R、チップセレクト信号CSをメモリコア51
に接続する。
In the comparison circuit 56, the encrypted data D1,
When the comparison result of D2 is coincident, the coincidence signal C of high level is output and input to the terminal CMP of the gate circuit 57. The gate circuit 57 receives an external address A, data D, a memory read signal R, and a chip select signal CS from the memory core 51.
Connect to.

【0043】暗号データD1,D2の比較結果不一致な
らば、ゲート回路57は、外部からのアドレスA、デー
タD、メモリリード信号R、チップセレクト信号CSを
メモリコア51に接続しない。
If the comparison result of the encrypted data D1 and D2 does not match, the gate circuit 57 does not connect the address A, the data D, the memory read signal R, and the chip select signal CS from the outside to the memory core 51.

【0044】前述の第一の実施例では、プログラムメモ
リの暗号ROMの内容がROMライタにより容易に読取
れるのに対して、本実施例では、プログラムメモリ内で
暗号データの比較を行なうため、読取ることができず、
したがって、プログラムメモリの複製も作らせないとい
う利点がある。
In the first embodiment described above, the contents of the cipher ROM of the program memory can be easily read by the ROM writer, whereas in the present embodiment, the cipher data is read because the cipher data is compared in the program memory. I can't
Therefore, there is an advantage that the copy of the program memory is not made.

【0045】[0045]

【発明の効果】以上説明したように、本発明のプログラ
ム保護システムは、CPUおよびプログラムメモリの双
方に暗号ROMを備え、アドレス発生回路と、比較回路
と、暗号データとアドレスをシリアル転送するシリアル
暗号送信回路と、シリアル暗号受信回路と、シリアルア
ドレス送信回路と、シリアルアドレス受信回路と、それ
らを制御する制御回路とを備えることにより、第三者に
よるシステムの複製が作られることを防止できるという
効果がある。
As described above, the program protection system of the present invention includes the encryption ROM in both the CPU and the program memory, the address generation circuit, the comparison circuit, the serial encryption for serially transferring the encrypted data and the address. By providing the transmission circuit, the serial cipher reception circuit, the serial address transmission circuit, the serial address reception circuit, and the control circuit that controls them, it is possible to prevent a system from being copied by a third party. There is.

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

【図1】本発明のプログラム保護システムの第一の実施
例を示すブロック図である。
FIG. 1 is a block diagram showing a first embodiment of a program protection system of the present invention.

【図2】図1に示したCPUの構成の一例を示すブロッ
ク図である。
FIG. 2 is a block diagram showing an example of a configuration of a CPU shown in FIG.

【図3】図1に示したプログラムメモリの構成の一例を
示すブロック図である。
3 is a block diagram showing an example of a configuration of a program memory shown in FIG.

【図4】本実施例のプログラム保護システムにおける動
作の一例を示すフローチャートである。
FIG. 4 is a flowchart showing an example of an operation in the program protection system of this embodiment.

【図5】本発明のプログラム保護システムの第二の実施
例のCPUの構成を示すブロック図である。
FIG. 5 is a block diagram showing a configuration of a CPU of a second embodiment of the program protection system of the present invention.

【図6】本発明のプログラム保護システムの第二の実施
例のプログラムメモリの構成を示すブロック図である。
FIG. 6 is a block diagram showing a configuration of a program memory of a second embodiment of the program protection system of the present invention.

【符号の説明】[Explanation of symbols]

1,4 CPU 2,5 プログラムメモリ 3 アドレスデコード回路 11,41 CPUコア 12 制御回路 13,53 アドレス発生回路 14,22,44,52 暗号ROM 15,54 シリアルアドレス送信回路 16,55 シリアル暗号受信回路 17,56 比較回路 21,51 メモリコア 23,42 シリアル暗号送信回路 24,43 シリアルアドレス受信回路 57 ゲート回路 151,161,231,241 バッファ 152,162,232,242 シフトレジスタ 153,233 スタートビット付加回路 163,243 スタートビット検出回路 154,234,164,244 クロック生成回路 1,4 CPU 2,5 Program memory 3 Address decoding circuit 11,41 CPU core 12 Control circuit 13,53 Address generation circuit 14, 22, 44, 52 Cryptographic ROM 15, 54 Serial address transmitting circuit 16,55 Serial cryptographic receiving circuit 17,56 Comparison circuit 21,51 Memory core 23,42 Serial cipher transmission circuit 24,43 Serial address reception circuit 57 Gate circuit 151,161,231,241 Buffer 152,162,232,242 Shift register 153,233 Start bit addition Circuit 163, 243 Start bit detection circuit 154, 234, 164, 244 Clock generation circuit

Claims (1)

【特許請求の範囲】 【請求項1】 第一の暗号データを格納した第一の記憶
回路を有する中央演算ユニットと、前記暗号データと同
一の第二の暗号データを格納した第二の記憶回路を有し
プログラムを格納したプログラムメモリと、前記第一お
よび第二の記憶回路から前記第一および第二の暗号デー
タを読出すアドレスを発生するアドレス発生回路と、前
記第一および第二の記憶回路からそれぞれ読出した前記
第一および第二の暗号データを比較する比較回路と、前
記アドレスをシリアルデータのシリアルアドレスに変換
する第一のパラレルシリアル変換回路と、前記シリアル
アドレスをパラレルデータの前記アドレスに再変換する
第一のシリアルパラレル変換回路と、前記第一および第
二のいずれか一方の暗号データをシリアルデータのシリ
アル暗号データに変換する第二のパラレルシリアル変換
回路と、前記シリアル暗号データをパラレルデータの前
記暗号データに再変換する第二のシリアルパラレル変換
回路と、前記中央演算ユニットと前記プログラムメモリ
とを有するデータ処理システムの前記第一および第二の
暗号データの処理と通常処理とを切替え制御する制御回
路とを備えることを特徴とするプログラム保護システ
ム。
Claims: What is claimed is: 1. A central processing unit having a first memory circuit storing first encrypted data, and a second memory circuit storing second encrypted data identical to the encrypted data. A program memory storing a program, an address generation circuit for generating an address for reading the first and second encrypted data from the first and second storage circuits, and the first and second storages. A comparison circuit for comparing the first and second encrypted data read from the circuit, a first parallel-serial conversion circuit for converting the address into a serial address of serial data, and the serial address for the address of parallel data And the first serial / parallel conversion circuit for re-converting the encrypted data into one of the first and second encrypted data. A second parallel-to-serial conversion circuit for converting into encrypted data, a second serial-to-parallel conversion circuit for re-converting the serial encrypted data into the encrypted data of parallel data, the central processing unit and the program memory. A program protection system comprising: a control circuit for controlling switching between processing of the first and second encrypted data and normal processing of the data processing system.
JP3153630A 1991-06-26 1991-06-26 Program protecting system Pending JPH052478A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3153630A JPH052478A (en) 1991-06-26 1991-06-26 Program protecting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3153630A JPH052478A (en) 1991-06-26 1991-06-26 Program protecting system

Publications (1)

Publication Number Publication Date
JPH052478A true JPH052478A (en) 1993-01-08

Family

ID=15566705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3153630A Pending JPH052478A (en) 1991-06-26 1991-06-26 Program protecting system

Country Status (1)

Country Link
JP (1) JPH052478A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569371B2 (en) 2014-06-13 2017-02-14 Samsung Electronics Co., Ltd. Memory device, memory system, and operating method of memory system
CN110231794A (en) * 2019-07-09 2019-09-13 四川米众网络科技股份有限公司 Serial communication controller based on safe cpu chip

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569371B2 (en) 2014-06-13 2017-02-14 Samsung Electronics Co., Ltd. Memory device, memory system, and operating method of memory system
CN110231794A (en) * 2019-07-09 2019-09-13 四川米众网络科技股份有限公司 Serial communication controller based on safe cpu chip

Similar Documents

Publication Publication Date Title
US5995629A (en) Encoding device
TWI490880B (en) Data bus inversion apparatus, systems, and methods
US5355412A (en) Identifying secret data messages in a one-direction multipoint network
EP0694237B1 (en) Data transfer system
JPH0324107B2 (en)
JPS6016779B2 (en) Block unit encryption device
JPS6014353B2 (en) digital signature device
WO1984001867A1 (en) Method and apparatus for transmitting and receiving data messages
SE447774B (en) CODING AND DECODING DEVICE WITH ZERO DISPARITY AND DIGITAL COMMUNICATION SYSTEM INCLUDING THESE CODING AND DECODING DEVICES
JPH01503028A (en) Encryption and decryption equipment
JPH052478A (en) Program protecting system
CN101231620B (en) Security architecture and method for non-volatile memory
JPH02179046A (en) Signal encoding system
JPH0548017B2 (en)
US20070076863A1 (en) Device and method for communication with the aid of an encrypted code table
EP3654576B1 (en) Computer-implemented method for error-correction-encoding and encrypting of a file
JPS61154331A (en) Data converter
KR920001575B1 (en) Ciphering and deciphering device
JPH0773286B2 (en) Data transmission method
EP1683031B1 (en) Method and apparatus for maintaining data density for derived clocking
JPS58213544A (en) Communication control and processing device
Jyothi et al. Implementation of low complex and high secured SPI communication system for multipurpose applications
SU1172060A1 (en) Device for decoding double-current frequency-shift keyed signals
JPS626380B2 (en)
JPS63308432A (en) Sequence generating method