[go: up one dir, main page]

JPH11282756A - Secret data management method - Google Patents

Secret data management method

Info

Publication number
JPH11282756A
JPH11282756A JP10103957A JP10395798A JPH11282756A JP H11282756 A JPH11282756 A JP H11282756A JP 10103957 A JP10103957 A JP 10103957A JP 10395798 A JP10395798 A JP 10395798A JP H11282756 A JPH11282756 A JP H11282756A
Authority
JP
Japan
Prior art keywords
data
secret
memory
stored
application software
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.)
Withdrawn
Application number
JP10103957A
Other languages
Japanese (ja)
Inventor
Toshinari Suematsu
俊成 末松
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.)
Nakamichi Corp
Original Assignee
Nakamichi 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 Nakamichi Corp filed Critical Nakamichi Corp
Priority to JP10103957A priority Critical patent/JPH11282756A/en
Publication of JPH11282756A publication Critical patent/JPH11282756A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable an illegal action to software to be prevented by managing secret data of a computer and also to smoothly process its maintenance. SOLUTION: In a signal processing means such as a micro processor having a secret memory 5 so as to hold secret data, reading of the secret data written in this secret memory to outside is completely prohibited and it is decided whether these secret data match reference data to be compared with these secret data. And further, when the secret data is updated or erased, the data which is the same to the object data has to be provided. Also, by storing a password in accordance with the secrete data, this password becomes a substitute for an address of the secret data.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、記録するデ−タの
機密性を高めるためのメモリのデ−タ管理方法に関し、
特にコンピュ−タの秘密デ−タを管理することにより、
ソフトウエアに対する不正行為を防止可能とし、且つこ
れ等秘密デ−タの保管を円滑に処理する管理方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data management method for a memory for enhancing the confidentiality of data to be recorded.
In particular, by managing the secret data of the computer,
The present invention relates to a management method capable of preventing software misconduct and smoothly processing the storage of such secret data.

【0002】[0002]

【従来の技術】従来、この種の秘密デ−タの管理方法と
しては、ハ−ドディスクの不良セクタの管理システムを
利用し、仮想の不良セクタにこの秘密デ−タを保管する
方法などがあった。
2. Description of the Related Art Conventionally, as this kind of secret data management method, there is a method of using a management system for bad sectors on a hard disk and storing this secret data in virtual bad sectors. there were.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、このよ
うなデ−タ管理方法においては、専門的知識を有する人
であれば、これ等の秘密デ−タを改ざんすることが可能
であるため、もっと安全性の高いスシテムを構築する必
要があった。
However, in such a data management method, it is possible for a person having specialized knowledge to falsify such secret data. It was necessary to build a highly secure system.

【0004】[0004]

【課題を解決するための手段】秘密デ−タを保持するた
めの秘密メモリを有するマイクロプロセッサなどの信号
処理手段において、この秘密メモリに書き込まれた秘密
デ−タの外への読み出しを一切禁止し、この秘密デ−タ
と比較する参照デ−タとが一致するかを判定する。
In signal processing means such as a microprocessor having a secret memory for holding secret data, reading out of the secret data written in the secret memory is completely prohibited. Then, it is determined whether or not the secret data matches the reference data to be compared.

【0005】更に、この秘密デ−タを更新又は消去する
際には、対象の秘密デ−タと同一のデ−タを用意して初
めて可能とする。また、パスワ−ド等の識別コ−ドを秘
密デ−タに対応して保存することにより、この識別コ−
ドが秘密デ−タのアドレスの代用となる。
Further, when this secret data is updated or erased, it becomes possible only when the same data as the target secret data is prepared. Also, by storing an identification code such as a password in correspondence with secret data, the identification code can be stored.
Is a substitute for the address of the secret data.

【0006】更に、実行するアプリケ−ションソフトに
対応して設定されたパスワ−ド等の識別コ−ドを保持
し、前記アプリケ−ションソフトの実行が終了する毎に
生成される秘密値を該アプリケ−ションソフトの関連フ
ァイルに書き込んで外部メモリに保存すると同時に、前
記識別コ−ドによって識別可能に前記秘密メモリに保存
し、再度前記アプリケ−ションソフトを実行する際には
前記両秘密値を照合する。
[0006] Further, it holds an identification code such as a password set corresponding to the application software to be executed, and stores a secret value generated each time the execution of the application software ends. At the same time as writing to the relevant file of the application software and storing it in the external memory, it is also stored in the secret memory so as to be identifiable by the identification code. Collate.

【0007】[0007]

【発明の実施の形態】図1は、本発明の一実施例を示す
構成図で、図中1は、暗号化機能を有するマイクロプロ
セッサ(以下CMPと称す)であり、1チップで構成さ
れている。この中の2は中央演算処理装置(以下CPU
と称す)を示し、3は制御ユニットを示す。この制御ユ
ニット3は、CPU2からの指令信号s1を入力して、
スクランブル符号発生器6の動作のオン、オフを指令す
る動作指令信号s2と暗号処理器7の暗号化/復号化機
能の実行、停止の各動作を指令する動作指令信号s3と
をそれぞれ出力する。
FIG. 1 is a block diagram showing an embodiment of the present invention. In FIG. 1, reference numeral 1 denotes a microprocessor (hereinafter referred to as CMP) having an encryption function, which is constituted by one chip. I have. Two of them are central processing units (hereinafter referred to as CPUs).
3) indicates a control unit. The control unit 3 receives a command signal s1 from the CPU 2 and
An operation command signal s2 for instructing the operation of the scramble code generator 6 to be turned on and off, and an operation command signal s3 for instructing the encryption / decryption function of the encryption processor 7 to execute and stop, respectively, are output.

【0008】このCMP1は、固有の秘密鍵Ksmpを所
有する。これは内蔵の保管レジスタ10に保管され、後
述するごとくこの秘密鍵に対応する公開鍵Kpmpで作業
鍵Ksfを暗号化したパ−ミットコ−ドを復号部9で復号
化するための鍵となる。この秘密鍵Ksmpは、CMPの
製造元のみが知るもので、CMPの外に現れないように
されてユ−ザ−等の第3者が知ることは出来ず、逆に公
開鍵Kpmpは、CMPの入手時にユ−ザ−に知らされて
全ての人が知り得るものである。ここで復号化された作
業鍵Ksfは、保管レジスタ8に保管される。
[0008] This CMP1 has a unique secret key Ksmp. This is stored in a built-in storage register 10 and serves as a key for the decryption unit 9 to decrypt the permit code obtained by encrypting the work key Ksf with the public key Kpmp corresponding to the secret key as described later. This secret key Ksmp is known only by the manufacturer of the CMP, and is not allowed to appear outside the CMP and cannot be known by a third party such as a user. Conversely, the public key Kpmp is The information is notified to the user at the time of acquisition and can be known by all. The work key Ksf decrypted here is stored in the storage register 8.

【0009】CMP1につながるアドレスバス16とデ
−タバス12は、I/Oバス20を介してメインメモリ
21、ハ−ドディスク22、CD−ROM23、フロッ
ピディスク24の各ドライブ、及びモデム25の各入出
力ポ−トにつながっている。
An address bus 16 and a data bus 12 connected to the CMP 1 are connected via an I / O bus 20 to a main memory 21, a hard disk 22, a CD-ROM 23, a floppy disk 24, and a modem 25. Connected to input / output port.

【0010】一方CMP1内部において、アドレスバス
16は、CPU2のアドレスポ−ト18、制御ユニット
3、オフセットレジスタ4、及びスクランブル符号発生
器6につながり、デ−タバス12は、暗号処理器7、加
算回路11を介してCPU2のデ−タポ−ト17につな
がっている。
On the other hand, inside the CMP 1, the address bus 16 is connected to the address port 18 of the CPU 2, the control unit 3, the offset register 4, and the scramble code generator 6, and the data bus 12 is connected to the encryption processor 7, It is connected to a data port 17 of the CPU 2 via a circuit 11.

【0011】オフセットレジスタ4は、CPU2から出
力される取り込み信号s4を受信し、後述するようにC
PU2がメインメモリ21との間で読み書きする際のデ
−タの先頭位置を示す先頭アドレスデ−タを取り込んで
メモリし、この先頭アドレスデ−タをスクランブル符号
発生器6に出力する。スクランブル符号発生器6は、後
述するようにこの先頭アドレスデ−タとアドレスバス1
6から入力するアドレスデ−タをもとに生成したスクラ
ンブル符号F(Re)を信号経路13を介して加算器11に
出力する。
The offset register 4 receives the fetched signal s4 output from the CPU 2, and outputs
The PU 2 fetches and stores head address data indicating the head position of data when reading and writing data from and to the main memory 21, and outputs the head address data to the scramble code generator 6. The scramble code generator 6 stores the start address data and the address bus 1 as described later.
The scramble code F (Re) generated on the basis of the address data inputted from 6 is output to the adder 11 via the signal path 13.

【0012】加算器11は、このスクランブル符号F(R
e)とデ−タ経路14,15の一方のデ−タ経路から入力
するデ−タの排他論理和演算を行い、その結果を他方の
デ−タ経路に出力することによりこれ等のデ−タのスク
ランブルとデスクランブルを実行する。
The adder 11 receives the scramble code F (R
e) and an exclusive OR operation of the data input from one of the data paths 14 and 15 is performed, and the result is output to the other data path. Perform data scramble and descramble.

【0013】ここで、図1の各部で、デ−タに対して行
う暗号化、復号化、及びデ−タスクランブルの各内容に
ついて更に説明する。ここで使用される共通鍵方式と公
開鍵方式の2つの暗号化方式は一般的なものであり、そ
の詳細な説明は省略するが、本文で用いるそれらの記述
方法について説明する。
Here, the contents of encryption, decryption, and de-task ramble performed on data in each section of FIG. 1 will be further described. The two encryption schemes used here, the common key scheme and the public key scheme, are general, and detailed descriptions thereof will be omitted, but their description methods used in the text will be described.

【0014】共通鍵方式では、デ−タDを暗号化すると
きに秘密鍵Kabを用い、これによって暗号化されたデ−
タをEab(D)と標記する。この場合、秘密鍵Kabがあ
れば、Eab(D)と記述された暗号化デ−タを復号化し
て再びデ−タDを取り出すことができる。
In the common key system, a secret key Kab is used when encrypting data D, and the data encrypted by this is used.
Are labeled Eab (D). In this case, if there is a secret key Kab, the encrypted data described as Eab (D) can be decrypted and the data D can be extracted again.

【0015】一方、公開鍵方式では、デ−タDを暗号化
するときに、公にされた公開鍵Kpabを用いて行ない、
これによって暗号化された暗号化デ−タをEpab(D)
と標記する。この場合、この暗号化デ−タの解読はこの
公開鍵Kpabに対応する秘密鍵Ksabによってのみ行なう
ことが出来る。
On the other hand, in the public key system, data D is encrypted using a public key Kpab,
The encrypted data thus encrypted is transmitted to Epab (D).
It is labeled. In this case, the decryption of the encrypted data can be performed only by the secret key Ksab corresponding to the public key Kpab.

【0016】即ち、共通鍵方式では、一つの秘密鍵Kab
によってデ−タの暗号化と復号化を行なうが、公開鍵方
式では、公にする公開鍵Kpabではデ−タの暗号化のみ
が可能であって、その復号化には秘密鍵Ksabを用いて
行なう。
That is, in the common key system, one secret key Kab
The data is encrypted and decrypted by the public key method. In the public key method, only the data can be encrypted with the public key Kpab which is made public, and the private key Ksab is used for the decryption. Do.

【0017】次に、アドレスによって行なわれるデ−タ
スクランブルについて、その一例を示す本実施例の原理
を説明する。簡単のため、デ−タDが記憶手段に書き込
まれる際には1バイト単位で行なわれ、各単位毎にアド
レスAdを対応させて処理するものとする。また暗号化
スクランブルされるデ−タは、メインメモリ21内の連
続した領域におかれ、この一連の連続するデ−タの集合
をデ−タ群と呼ぶことにする。1つのプログラムやデ−
タは、通常1つ以上のデ−タ群で構成されるが、スクラ
ンブルは、デ−タ群毎に処理される。
Next, the principle of the present embodiment showing an example of a de-task ramble performed by an address will be described. For simplicity, it is assumed that when data D is written to the storage means, it is performed in units of one byte, and processing is performed in correspondence with the address Ad for each unit. The data to be encrypted and scrambled is placed in a continuous area in the main memory 21, and a set of this series of continuous data is called a data group. One program or data
The data is usually composed of one or more data groups, but scrambling is processed for each data group.

【0018】以降では説明を簡単にするため、プログラ
ムやデ−タは、1デ−タ群で構成されるものと仮定す
る。そこで、デ−タ群DXを1バイトデ−タのデ−タ
列、D1,D2……DNの集合として標記し、アドレス群A
dXをこれ等の各1バイトデ−タに対応して付されるア
ドレスAd1,Ad2……AdNの集合として標記する。
Hereinafter, for the sake of simplicity, it is assumed that programs and data are composed of one data group. Therefore, the data group DX is denoted as a set of data strings of 1-byte data, D1, D2,.
dX is denoted as a set of addresses Ad1, Ad2,..., AdN assigned to these 1-byte data.

【0019】従って、この連続デ−タの各アドレスAdi
(i=1,2,……N)は、その先頭アドレスをToとし(通常
はTo=Ad1)、この先頭アドレスからの相対位置を示
す相対アドレスをReiとしたとき、Adi=To+Reiと
して表せる。図1のオフセットレジスタ4は、この先頭
アドレスToをメモリするものである。
Therefore, each address Adi of the continuous data
(I = 1, 2,... N) can be expressed as Adi = To + Rei, where To is the start address (usually To = Ad1) and Rei is the relative address indicating the relative position from this start address. The offset register 4 in FIG. 1 stores the start address To.

【0020】一方、スクランブル符号発生器6は、逐次
入力するアドレスAdiと先頭アドレスToとからこの相
対アドレスReiを算出し、この値に1対1で対応する
も、規則性を示さない1バイトのスクランブル符号F(R
ei)を発生する。このようにして生成されるスクランブ
ル符号の集合をF(ReX)と標記する。加算器11は、デ
−タ経路14,15の内、一方から逐次入力する1バイ
トのデ−タと、このデ−タのアドレスに対応して入力す
るスクランブル符号F(Rei)との排他論理和デ−タを他
方のデ−タ経路に出力する。
On the other hand, the scramble code generator 6 calculates the relative address Rei from the sequentially input address Adi and the start address To, and corresponds to this value on a one-to-one basis. Scramble code F (R
ei). The set of scramble codes generated in this way is denoted as F (ReX). The adder 11 performs an exclusive logic operation on 1-byte data sequentially input from one of the data paths 14 and 15 and a scramble code F (Rei) input corresponding to the address of the data. The sum data is output to the other data path.

【0021】従って、例えば、CPU2から出力される
デ−タD1がメインメモリ21にメモリされる時の一過
程を説明すると、この時にデ−タD1、例えば(1001000
1)が出力されると共に、このデ−タの番地を指定するア
ドレスAd1が出力される。加算器11は、このデ−タを
入力すると共に、この時の指定アドレスから算出された
相対アドレスRe1に対応して発生したスクランブル符号
F(Re1)、例えば(11001100)を入力し、これ等の排他論
理和(01011101)を暗号処理器7に出力する。
Therefore, for example, a process when the data D1 output from the CPU 2 is stored in the main memory 21 will be described. At this time, the data D1, for example, (1001000)
1) is output, and an address Ad1 specifying the address of this data is output. The adder 11 receives the data and the scramble code F (Re1) generated corresponding to the relative address Re1 calculated from the designated address at this time, for example, (11001100). The exclusive OR (01011101) is output to the cryptographic processor 7.

【0022】このように、デ−タDiとスクランブル符
号F(Rei)との排他論理和によってスクランブルされた
デ−タを(Di(+)F(Rei))と記述して図1中に示す。従
って、この図からもわかるように、デ−タ経路14はス
クランブルされたデ−タの経路となる。
The data scrambled by the exclusive OR of the data Di and the scramble code F (Rei) is described in FIG. 1 as (Di (+) F (Rei)). . Therefore, as can be seen from this figure, the data path 14 is a path for scrambled data.

【0023】次に、スクランブルされたデ−タを解除す
る例として、CPU2が上記したデ−タD1を読み込む
時の一過程を考えてみる。この時、このデ−タD1を読
み出すためのデ−タとして上記アドレスAd1が出力さ
れ、これに伴ってスクランブル符号F(Re1)がスクラン
ブル符号発生器6から出力されことが理解される。
Next, as an example of releasing the scrambled data, consider a process when the CPU 2 reads the data D1. At this time, it is understood that the address Ad1 is output as data for reading out the data D1, and the scrambling code F (Re1) is output from the scrambling code generator 6 accordingly.

【0024】従って加算器11は、この時デ−タ経路1
4に表れるスクランブルされた(D1(+)F(Re1))のデ−
タ列(01011101)とスクランブル符号F(Re1)のデ−タ列
(11001100)との排他論理和(10010001)、即ちデスクラン
ブルされる前の元のデ−タD1をCPU2に出力する。
Accordingly, the adder 11 at this time outputs the data path 1
The data of the scrambled (D1 (+) F (Re1)) appearing in FIG.
Data sequence of data sequence (01011101) and scramble code F (Re1)
The exclusive OR (10010001) with (11001100), that is, the original data D1 before descrambling is output to the CPU 2.

【0025】このように、加算器11は、デ−タD1と
これに対応するスクランブル符号F(Re1)との排他論理
和をとってスクランブルされたデ−タ(D1(+)F(Re1))
を形成し、逆にこのデ−タ(D1(+)F(Re1))とスクラン
ブル符号F(Re1)との排他論理和をとってデスクランブ
ルされる前の元のデ−タD1を生じるべく動作すること
が理解される。
As described above, the adder 11 takes the exclusive OR of the data D1 and the corresponding scramble code F (Re1) and scrambles the data (D1 (+) F (Re1)). )
To obtain the original data D1 before descrambling by taking the exclusive OR of this data (D1 (+) F (Re1)) and the scramble code F (Re1). It is understood to work.

【0026】次に、図2の実行準備フロ−に従って、暗
号化され更にスクランブルされたアプリケ−ションソフ
トを入手し、その実行に際してCPU2内への読み込み
を可能にするまでの準備過程について主に説明する。こ
の時のアプリケ−ションソフトをデ−タ群DapXで示す
と、上記した如くこのデ−タ群DapXに対応して生成さ
れるスクランブル符号F(ReX)でスクランブルされ、共
通鍵方式の作業鍵Ksf2で暗号化されたアプリケ−ショ
ンソフトは、Esf2(DapX(+)F(ReX))で示され
る。
Next, a description will be given mainly of a preparation process until the encrypted and scrambled application software is obtained in accordance with the execution preparation flow of FIG. I do. The application software at this time is represented by a data group DapX. As described above, the application software is scrambled by the scramble code F (ReX) generated corresponding to the data group DapX, and the work key Ksf2 of the common key system is used. The application software encrypted by is represented by Esf2 (DapX (+) F (ReX)).

【0027】尚、この作業鍵Ksf2は、前記した共通鍵
方式の秘密鍵に相当するものであるが、公開鍵方式の秘
密鍵と区別するために以後作業鍵と称すことにする。ま
た、ここで設定される作業鍵Ksf2は、このアプリケ−
ションソフト供給元がこのソフト専用に用意するもの
で、この作業鍵Ksf2で他のアプリケ−ションソフトを
解読することは出来ない。
The work key Ksf2 corresponds to the secret key of the above-mentioned common key system, but is hereinafter referred to as a work key to distinguish it from the secret key of the public key system. The work key Ksf2 set here is the same as the application key.
The application key is provided exclusively by the application software supplier, and the work key Ksf2 cannot be used to decrypt other application software.

【0028】この暗号化されたアプリケ−ションソフト
Esf2(DapX(+)F(ReX))は、図10に示すように
後述するパ−ミットコ−ドを管理するための暗号化され
ていない起動処理プログラムと一対にされた配給ソフト
としてソフト供給元から供給される。
As shown in FIG. 10, the encrypted application software Esf2 (DapX (+) F (ReX)) is an unencrypted start-up process for managing a permit code to be described later. It is supplied from the software supplier as distribution software paired with the program.

【0029】図示しない入力手段により所望のアプリケ
−ションソフトの実行指令を受けると(ステップ1)、
CPU2は、先ずスクランブル符号発生器6の出力を停
止すると共に、暗号処理器7の復号機能を停止するため
の指令信号s1を出力する(ステップ2)。そして次の
ステップ3で、この配給ソフトがメインメモリ21にロ
−ドされ、更に起動処理プログラムがCPU2に読み込
まれて実行される。
When an execution command for a desired application software is received by input means (not shown) (step 1),
First, the CPU 2 stops the output of the scramble code generator 6 and outputs a command signal s1 for stopping the decryption function of the encryption processor 7 (step 2). Then, in the next step 3, the distribution software is loaded into the main memory 21, and the startup processing program is read and executed by the CPU 2.

【0030】この暗号化されたアプリケ−ションソフト
Esf2(DapX(+)F(ReX))がメインメモリにロ−ド
される際に、メインメモリ21に指定される先頭アドレ
スToはその管理状況によって変わるが、前記したよう
にそれに続くアドレスは連続的に指定されるため、この
時の先頭アドレスToからの相対位置を示す相対アドレ
ス群は、スクランブル時に用いられた相対アドレス群R
eXと同じデ−タとなる。
When the encrypted application software Esf2 (DapX (+) F (ReX)) is loaded into the main memory, the top address To specified in the main memory 21 depends on the management status. However, as described above, the subsequent addresses are continuously specified, and the relative address group indicating the relative position from the start address To at this time is the relative address group R used at the time of scrambling.
The data is the same as eX.

【0031】この配給ソフトの供給手段としてはハ−ド
ディスク22、CD−ROM23、フロッピ−ディスク
24及び、モデム25等による方法が考えられるが、そ
の方法は一般的に行なわれている方法を採用できるた
め、ここでその詳しい説明は省略する。
As means for supplying the distribution software, a method using a hard disk 22, a CD-ROM 23, a floppy disk 24, a modem 25 and the like can be considered, and the method used is a commonly used method. The detailed description is omitted here.

【0032】続くステップ4から10のステップは、い
ま実行された起動処理プログラムに従って実行され、次
のステップ4では、この暗号化アプリケ−ションソフト
専用の作業鍵Ksf2を公開鍵Kpmpで暗号化したパ−ミ
ットコ−ドEpmp(Ksf2)がハ−ドディスク22に既
にメモリされているかを確認する。この公開鍵Kpmp
は、上記したように図1のCMP1固有の秘密鍵Ksmp
に対応するもので、この秘密鍵Ksmpのみによって復号
することが可能となる。
The following steps 4 to 10 are executed in accordance with the currently executed start-up processing program. In the next step 4, the work key Ksf2 dedicated to the encrypted application software is encrypted with the public key Kpmp. Check whether the mit code Epmp (Ksf2) is already stored in the hard disk 22. This public key Kpmp
Is the secret key Ksmp unique to the CMP1 shown in FIG.
And it is possible to decrypt only with this secret key Ksmp.

【0033】従って、この場合のパ−ミットコ−ドEpm
p(Ksf2)は、公開鍵で作業鍵を暗号化したものであ
り、アプリケ−ションソフト供給元が、CMP1のユ−
ザ−から公開鍵Kpmpを入手して作成する。ステップ4
でこのパ−ミットコ−ドの存在が確認できないと、CM
P1のユ−ザ−は何らかの方法でソフト供給元からこれ
を入手し(ステップ5)、このアプリケ−ションソフト
の専用ファイルにパ−ミットコ−ドを入力し、ハ−ドデ
ィスク22にこれを保存する(ステップ6)。この様に
パ−ミットコ−ドの入力保存は、通常は暗号化されたア
プリケ−ションソフトと対になったこの起動処理プログ
ラムによって行なわれる。
Therefore, in this case, the permit code Epm
p (Ksf2) is the work key encrypted with the public key, and the application software supplier supplies the CMP1
A public key Kpmp is obtained from the user and created. Step 4
If the permission code cannot be confirmed,
The user of P1 obtains this from the software supplier in some way (step 5), inputs the permit code into a dedicated file of the application software, and saves it on the hard disk 22. (Step 6). In this way, the input and storage of the permit code are normally performed by this activation processing program paired with the encrypted application software.

【0034】次に、パ−ミットコ−ドEpmp(Ksf2)
の存在を確認するとこれを読み込み(ステップ7)、内
蔵の保管レジスタ10に保管している秘密鍵Ksmpでこ
れを復号化して得た作業鍵Ksf2を保管レジスタ8に保
管する(ステップ9)。
Next, the permit code Epmp (Ksf2)
Is confirmed (step 7), and the work key Ksf2 obtained by decrypting this with the secret key Ksmp stored in the built-in storage register 10 is stored in the storage register 8 (step 9).

【0035】次にCPU2は、スクランブル符号発生器
6の出力を再開し、暗号処理器7の暗号化/復号化機能
を起動するための指令信号s1を出力する(ステップ1
0)。そしてステップ11に至り、必要に応じてこのメ
インメモリ21に保管された暗号化されたアプリケ−シ
ョンソフトEsf2(DapX(+)F(ReX))がCPU2へ
読み込まれて実行される。
Next, the CPU 2 restarts the output of the scramble code generator 6, and outputs a command signal s1 for activating the encryption / decryption function of the encryption processor 7 (step 1).
0). Then, the process proceeds to step 11, where the encrypted application software Esf2 (DapX (+) F (ReX)) stored in the main memory 21 is read into the CPU 2 and executed as necessary.

【0036】従って、この時この暗号化されたアプリケ
−ションソフトEsf2(DapX(+)F(ReX))は、暗号
処理器7によって作業鍵Ksf2で復号化されて(DapX
(+)F(ReX))となる。また上記のごとく、この時のア
ドレスデ−タから生成されるスクランブル符号はF(Re
X)であり、加算器11は、これ等の排他論理和を行な
ってデスクランブルされたアプリケ−ションソフトDap
XをCPU2のデ−タポ−ト17に出力する。
Therefore, at this time, the encrypted application software Esf2 (DapX (+) F (ReX)) is decrypted by the encryption processor 7 with the work key Ksf2 (DapX
(+) F (ReX)). As described above, the scramble code generated from the address data at this time is F (Re
X), and the adder 11 performs an exclusive OR operation on the application software and the descrambled application software Dap
X is output to the data port 17 of the CPU 2.

【0037】以上のようにして、アドレススクランブル
と暗号化されたアプリケ−ションソフトがCPU2に読
み込まれる。このようにして暗号化されたアプリケ−シ
ョンソフトとパ−ミットコ−ドの組合せにより、下記の
長所をあげることができる。
As described above, the application software having the address scrambled and encrypted is read into the CPU 2. The following advantages can be obtained by combining the application software and the permit code encrypted in this manner.

【0038】長所1.ソフト供給元は、供給するソフト
を所定のCMPでのみ利用させることが出来る。CMP
の秘密鍵Ksmpがその外部に現れることがなく、ユ−ザ
−を含む第3者によってチェック出来ないため。2.暗
号化されたアプリケ−ションソフトをCD−ROM等の
複製可能な媒体により市場に出すことができる。同種の
アプリケ−ションソフトは、同じ作業鍵で暗号化される
ため。3.異種のアプリケ−ションソフトは、それぞれ
専用の作業鍵で暗号化されなければならないが、アプリ
ケ−ションソフトの種類だけ異なる作業鍵を用意すれば
よい。
Advantages 1. The software supplier can use the supplied software only by a predetermined CMP. CMP
Because the private key Ksmp of the third party does not appear outside thereof and cannot be checked by a third party including a user. 2. The encrypted application software can be put on the market on a copyable medium such as a CD-ROM. Because the same kind of application software is encrypted with the same work key. 3. Different kinds of application software must be encrypted with dedicated work keys, but work keys that differ only by the type of application software may be prepared.

【0039】次に、ユ−ザ−によって作成され、一旦メ
インメモリ21に保存したデ−タを、暗号化して再度メ
インメモリ21に保存しなおす過程を図3のフロ−チャ
−トを用いて説明する。この場合、このデ−タを作成す
る段階では、デ−タの暗号化は行なわれないものとす
る。
Next, the process of encrypting the data created by the user and once stored in the main memory 21 and storing it again in the main memory 21 will be described with reference to the flowchart of FIG. explain. In this case, it is assumed that the data is not encrypted at the stage of creating the data.

【0040】このプログラムが起動すると、上記したよ
うにユ−ザ−によって作成されたデ−タ群DsXが暗号
化されないままメインメモリ21に保管される(ステッ
プ21)。次にCPU2は、キ−ボ−ド等の入力手段
(図示せず)から入力するユ−ザ−からの指示に基づい
てこのデ−タ群DsXを共通鍵方式で暗号化するための
作業鍵Kusrを決定し(ステップ22)、これを保管レ
ジスタ8に出力して保管する。
When this program is started, the data group DsX created by the user as described above is stored in the main memory 21 without being encrypted (step 21). Next, the CPU 2 operates a work key for encrypting the data group DsX by a common key system based on an instruction from a user input from input means (not shown) such as a keyboard. Kusr is determined (step 22), and this is output to the storage register 8 and stored.

【0041】次にCPU2は、メインメモリ21のデ−
タ群DsXを読み込むために、スクランブル符号発生器
6の出力を停止すると共に、暗号処理器7の機能を一時
停止すための指令信号s1を出力する(ステップ2
5)。この時デ−タ群DsXはそのままCPU2に読み
込まれるが1バイト毎にアドレス指定されて読み込まれ
(ステップ26)、この段階では最初の1バイト分のデ
−タDs1がCPU2に読み込まれる。尚、デ−タ群Ds
Xは、1バイトデ−タDs1,Ds2,……DsNの集合として
標記する。
Next, the CPU 2 stores the data in the main memory 21.
In order to read the data group DsX, the output of the scramble code generator 6 is stopped, and the command signal s1 for temporarily stopping the function of the encryption processor 7 is output (step 2).
5). At this time, the data group DsX is read by the CPU 2 as it is, but is read by addressing one byte at a time (step 26). At this stage, the first byte of data Ds1 is read by the CPU 2. Note that the data group Ds
X is denoted as a set of 1-byte data Ds1, Ds2,... DsN.

【0042】次にCPU2は、スクランブル符号発生器
6の出力を再開し、暗号処理器7の復号化機能を起動す
るための指令信号s1を出力する(ステップ27)。こ
の状態でCPU2は、取り込んだ1バイト分のデ−タD
s1を再度メインメモリ21に書き込む。
Next, the CPU 2 restarts the output of the scramble code generator 6 and outputs a command signal s1 for activating the decryption function of the encryption processor 7 (step 27). In this state, the CPU 2 reads the data D for one byte.
s1 is written into the main memory 21 again.

【0043】この書き込み過程で、先ずこのデ−タの番
地を指定するアドレスに対応してスクランブル符号発生
器6から出力されるスクランブル符号F(Re1)と、この
デ−タDs1との排他論理和(Ds1(+)F(Re1))によるア
ドレススクランブルが行なわれ、これがデ−タ経路14
に現れる(ステップ28)。尚、スクランブル符号F(R
e1)は、上記したデ−タ群DsXの各1バイトデ−タに対
応して生成されるスクランブル符号F(Re1),F(Re2),…
…F(ReN)の1番目に相当し、これ等の集合をF(ReX)
と標記する。
In the writing process, first, the exclusive OR of the scramble code F (Re1) output from the scramble code generator 6 corresponding to the address designating the address of the data and the data Ds1 is obtained. (Ds1 (+) F (Re1)) is used for address scrambling,
(Step 28). Note that the scramble code F (R
e1) is a scramble code F (Re1), F (Re2),... generated corresponding to each one-byte data of the data group DsX.
... corresponds to the first of F (ReN), and these sets are referred to as F (ReX)
It is labeled.

【0044】更にこのデ−タ(Ds1(+)F(Re1))は、暗
号処理器7によって作業鍵Kusrで暗号化され(ステップ
28)、Eusr(Ds1(+)F(Re1))の状態でメインメモリ
21に書き込まれる。次に、再びステップ24に戻っ
て、暗号化するデ−タ群DsXが終了するまで1バイト
づつ同様の暗号化処理が繰り返される。
Further, this data (Ds1 (+) F (Re1)) is encrypted by the encryption processor 7 with the working key Kusr (step 28), and the state of Eusr (Ds1 (+) F (Re1)) is obtained. Is written to the main memory 21. Next, returning to step 24, the same encryption processing is repeated one byte at a time until the data group DsX to be encrypted ends.

【0045】そして、処理するデ−タDsXがなくなっ
た段階でステップ30に至り、スクランブル符号発生器
6の出力停止と、暗号処理器7の暗号化機能停止のため
の指令信号s1を出力する。そしてこのメインメモリ2
1に書き込まれた暗号化されたデ−タを、HD,FD等
の補助記憶装置に保存して(ステップ31)このプログ
ラムを終了する。
When there is no more data DsX to be processed, the process proceeds to step 30, where a command signal s1 for stopping the output of the scramble code generator 6 and stopping the encryption function of the encryption processor 7 is output. And this main memory 2
The encrypted data written in 1 is stored in an auxiliary storage device such as an HD or FD (step 31), and this program is terminated.

【0046】尚、CPU2のデ−タポ−ト17部にキャ
ッシュメモリ26を設けると、入出力するデ−タをため
ることができ、暗号化処理効率を上げることが出来る。
即ち、ステップ26で複数バイト、例えば100バイト
分のデ−タを連続して読み込み、ステップ28でこの1
00バイト分のデ−タを連続してスクランブル及び暗号
化することによって、ステップ25とステップ27の各
機能の切り換え行程をその分省略することが出来る。
If the cache memory 26 is provided in the data port 17 of the CPU 2, data to be input and output can be stored, and the encryption processing efficiency can be improved.
That is, in step 26, data of a plurality of bytes, for example, 100 bytes, is continuously read.
By successively scrambling and encrypting the data of 00 bytes, the switching process of each function of step 25 and step 27 can be omitted correspondingly.

【0047】上記の例では、ユ−ザ−が作成したデ−タ
を暗号化する行程を説明したが、前記したアプリケ−シ
ョンソフト提供元が、暗号化プログラムを作成する場合
も同様の行程で処理することが出来る。アプリケ−ショ
ンソフトを暗号化する場合には、作成したアプリケ−シ
ョンソフトをデ−タ群DapXとしてメインメモリ21に
一旦保管し、共通鍵方式の秘密鍵として作業鍵Ksf2を
設定し、上記した図3のフロ−に従って処理すれば、前
記した暗号化されたアプリケ−ションソフトEsf2(D
apX(+)F(ReX))を補助記憶装置に保管することが出
来る。
In the above example, the process of encrypting the data created by the user has been described. However, the same process is used when the application software provider creates the encryption program. Can be processed. When encrypting the application software, the created application software is temporarily stored in the main memory 21 as a data group DapX, and the work key Ksf2 is set as a secret key of the common key system. 3, the encrypted application software Esf2 (D
apX (+) F (ReX)) can be stored in the auxiliary storage device.

【0048】また上記の実施例の場合、ステップ2で一
旦デ−タをメインメモリに作成し、その後暗号化処理を
行なうケ−スを示したが、デ−タを作成する過程で直接
暗号化してメモリに出力する方法も考えられる。この場
合、作成したデ−タをメインメモリに出力する際に、そ
の過程で1バイト毎にデ−タのアドレススクランブルと
暗号化を行ない、メインメモリに保存するように構成す
ればよい。
In the case of the above embodiment, the case where the data is once created in the main memory in step 2 and then the encryption process is performed has been described. However, the data is directly encrypted in the process of creating the data. Output to memory. In this case, when the created data is output to the main memory, the data may be scrambled and encrypted for each byte in the process and stored in the main memory.

【0049】また前記実施例では、オフセットレジスタ
4にアドレス群の先頭アドレスをメモリするように説明
したが、これに限定されるものではなく、相対アドレス
Reiを導き出せる基準値であればよい。
In the above-described embodiment, the start address of the group of addresses is described as being stored in the offset register 4. However, the present invention is not limited to this. Any reference value may be used as long as the relative address Rei can be derived.

【0050】次に、CMP1内に設けられた秘密メモリ
5の働きについて説明する。このため、ソフト供給元に
よってその稼働時間が管理されたアプリケ−ションソフ
トを、例えば図4乃至図7の各フロ−チャ−トに従って
CD−ROM23から取り込み、実行する場合を例に説
明する。
Next, the operation of the secret memory 5 provided in the CMP 1 will be described. For this reason, an example will be described in which application software whose operating time is managed by a software supplier is loaded from the CD-ROM 23 and executed according to, for example, the respective flowcharts of FIGS.

【0051】これ等のフロ−チャ−トの説明の前に、理
解を容易にするために秘密メモリ5の働きについて、そ
の要点を先ず説明する。図9は、秘密メモリ5に保存さ
れるデ−タの内容を示すが、ここには、CMP1が実行
するn種類のアプリケ−ションソフトに1対1で対応す
るパスワ−ドPwが保存される。
Before describing these flowcharts, the essential points of the operation of the secret memory 5 will be described first to facilitate understanding. FIG. 9 shows the contents of the data stored in the secret memory 5, where the password Pw corresponding to the n kinds of application software executed by the CMP 1 on a one-to-one basis is stored. .

【0052】このパスワ−ドPwは、秘密メモリ5内で
唯一の値であればどのような値でも良く、後述する図4
のインスト−ルフロ−のステップ75では、生成される
乱数によって決定される例を示す。この様にして決定さ
れるパスワ−ドPwは、秘密メモリ5内に保存されると
共に、インスト−ル実行中のアプリケ−ションソフトの
環境設定ファイルにも保存され、後述する図5の実行フ
ロ−のステップ47で秘密値Nraの照合を行なう際に利
用される。
The password Pw may be any value as long as it is the only value in the secret memory 5, and will be described later with reference to FIG.
In the step 75 of the installation flow, an example is shown in which it is determined by the generated random numbers. The password Pw determined in this manner is stored in the secret memory 5 and also in the environment setting file of the application software during the installation, and the execution flow of FIG. Is used when the secret value Nra is collated in step 47 of FIG.

【0053】この秘密値Nraは、同じく図6の実行フロ
−のステップ57でアプリケ−ションソフトの実行が終
了する毎に任意に発生される乱数などによって更新さ
れ、稼働可能時間を示す残量時間Treと共に実行中のア
プリケ−ションソフトの時間デ−タファイルDdat(Dd
at=Tre+Nra')としてハ−ドディスク22に保存さ
れる(ステップ59)。更に、ここで更新された秘密値
Nra'は、ステップ60で秘密メモリ5内に確保された
実行中のアプリケ−ションソフトに対応するパスワ−ド
Pwによって同メモリ内で識別される秘密値Nraに上書
きされる。尚、図5、6に示す実行フロ−内において、
秘密値の更新前後を区別するために、更新前の秘密値を
Nraで、また更新後の秘密値をNra'としてそれぞれを
示す。
The secret value Nra is also updated by a random number or the like arbitrarily generated each time the execution of the application software is completed in step 57 of the execution flow of FIG. Time data file Ddat (Dd
at = Tre + Nra ') is stored in the hard disk 22 (step 59). Further, the secret value Nra 'updated here is converted into the secret value Nra identified in the memory by the password Pw corresponding to the running application software secured in the secret memory 5 in step 60. Will be overwritten. In the execution flows shown in FIGS.
In order to distinguish before and after the update of the secret value, the secret value before the update is indicated by Nra, and the secret value after the update is indicated by Nra '.

【0054】このステップ60での秘密値の更新に際し
ては、後述するように安全性を高めるために秘密メモリ
5の更新前の秘密値Nraによる照合が行なわれる。よっ
て、更新時には(Pw,Nra,Nra')が用意され、パス
ワ−ドPwによって識別された秘密メモリ5内のNraと
照合のために用意したNraとが一致した場合のみ、新し
い秘密値Nra'によって書換が行なわれる。このように
してユ−ザ−等の第3者によるNraの安易な変更を防止
する。
When the secret value is updated in step 60, the secret value Nra before the update of the secret memory 5 is collated in order to enhance security, as will be described later. Therefore, (Pw, Nra, Nra ') is prepared at the time of updating, and a new secret value Nra' is obtained only when Nra in the secret memory 5 identified by the password Pw matches Nra prepared for collation. Is rewritten. In this way, a simple change of Nra by a third party such as a user is prevented.

【0055】以上の様に秘密値Nraを秘密メモリ5に保
管すると共に、時間デ−タファイルDdatとしてハ−ド
ディスク22内に保存し、このアプリケ−ションソフト
が実行される毎にこれ等を照合することによって、ハ−
ドディスク22に保管されている時間デ−タファイルD
datが第3者によって改ざんされていないかをチェック
することができる。
As described above, the secret value Nra is stored in the secret memory 5 and also stored in the hard disk 22 as the time data file Ddat, and these are collated each time the application software is executed. By doing,
Time data file D stored on the hard disk 22
You can check if dat has been tampered with by a third party.

【0056】例えばユ−ザ−が、残量時間Treが十分残
っている段階で時間デ−タファイルDdatをコピ−して
予め別途確保しておき、このアプリケ−ションソフトが
実行されて残量時間が僅かになった段階で、ハ−ドディ
スク22に保存される時間デ−タファイルDdatと置き
換えたとする。しかしながらこの場合、この置き換えら
れた時間デ−タファイルの秘密値と秘密メモリ5に保存
してある秘密値を照合することによって、このデ−タが
正規のデ−タでないことが判明する。なぜならば、この
場合の両者の秘密値Nraは、生成されたタイミングが異
なるため、当然異なった値となっているからである。
For example, the user copies the time data file Ddat and reserves it separately in advance when the remaining time Tre is sufficient, and executes this application software to execute the remaining time. It is assumed that the time data file Ddat stored in the hard disk 22 is replaced at the stage when the number becomes small. However, in this case, by comparing the secret value of the replaced time data file with the secret value stored in the secret memory 5, it is determined that the data is not legitimate data. This is because the secret values Nra of both cases in this case are naturally different values because the generated timings are different.

【0057】以上の記載から理解されるように、秘密メ
モリ5内のデ−タは、ユ−ザ−を含め第3者によって操
作出来ないようにすることが好ましい。従って、CMP
1の外部に秘密メモリ5のデ−タが出力されないように
構成される必要がある。
As understood from the above description, it is preferable that the data in the secret memory 5 cannot be operated by a third party including the user. Therefore, CMP
1 must be configured so that the data in the secret memory 5 is not output to the outside.

【0058】図4乃至図7の各フロ−チャ−トは、上記
したように、不正なデ−タの改ざんを防ぐべく、秘密メ
モリ5を使って実施される秘密デ−タ管理方法の全体の
手順を示すもので、以下その流れを順に説明する。
Each of the flowcharts shown in FIGS. 4 to 7 shows the entirety of the secret data management method implemented using the secret memory 5 in order to prevent unauthorized data tampering. The procedure will be described below.

【0059】先ず、所望のアプリケ−ションソフトを入
手してハ−ドディスク22にインスト−ルし、更に必要
な諸環境を初期設定するまでの流れを図4のインスト−
ルフロ−に従って説明する。所望のアプリケ−ションソ
フトの入手方法は種々考えられるが、このソフトが入っ
たCD−ROMを所定のル−トで入手し(ステップ7
1)、インスト−ルする例を記述する。尚、このインス
ト−ルフロ−は、アプリケ−ションソフトに付随するセ
ットアッププログラムファイルに基づいて実行されるも
のである。
First, the flow from obtaining desired application software to installing it on the hard disk 22 and further initializing necessary environments is shown in FIG.
This will be described in accordance with the flow chart. Various methods of obtaining desired application software are conceivable, but a CD-ROM containing this software is obtained at a predetermined route (step 7).
1) An example of installation will be described. Note that this installation flow is executed based on a setup program file attached to the application software.

【0060】この場合、このCD−ROM23がCD−
ROMドライブにセットされ、図示しない入力手段によ
ってインスト−ルの指示を受けると、そのアプリケ−シ
ョンソフトがハ−ドディスク22にインスト−ルされる
(ステップ72)。他のインスト−ル例として、アプリ
ケ−ションソフトをモデム25を介してダウンロ−ド
し、ハ−ドディスク22にインスト−ルするようにして
もよい。
In this case, the CD-ROM 23 is
When it is set in the ROM drive and an installation instruction is received by input means (not shown), the application software is installed on the hard disk 22 (step 72). As another installation example, application software may be downloaded via the modem 25 and installed on the hard disk 22.

【0061】但し、この時インスト−ルされたアプリケ
−ションソフトDexeXは、前記した方法でスクランブ
ル符号F(ReX)によるアドレススクランブルと作業鍵
Ksf3による暗号化が行なわれ、Esf3(DexeX(+)F
(ReX))の状態でハ−ドディスクに保存されているもの
とする。
However, the application software DexeX installed at this time is subjected to address scrambling by the scrambling code F (ReX) and encryption by the work key Ksf3 by the above-described method, and Esf3 (DexeX (+) F).
(ReX)) is stored on the hard disk.

【0062】そして次のステップ73では、作業鍵Ksf
3を確保し、保管レジスタ8にこれを保管する。そのた
め、このステップでは、図2のフロ−のステップ5から
ステップ9で説明したように所定の手順でソフト供給元
から入手したパ−ミットコ−ドEpmp(Ksf3)をハ−
ドディスク22に保管し、復号部9で復号化する作業が
含まれる。
In the next step 73, the work key Ksf
3 is secured and stored in the storage register 8. Therefore, in this step, as described in steps 5 to 9 of the flow of FIG. 2, the permit code Epmp (Ksf3) obtained from the software supplier in a predetermined procedure is hard-coded.
In this case, the data is stored in the hard disk 22 and decrypted by the decryption unit 9.

【0063】そして次のステップ74では、スクランブ
ル符号発生器6の出力を開始し、暗号処理器7の暗号化
/復号化機能を起動するための指令信号s1を出力す
る。これにより、後述するステップ82で両機能がオフ
とされるまで、CMP1とメインメモリ21等の外部記
憶装置との間で入出力するデ−タはすべて暗号化された
ものとなる。
At the next step 74, the output of the scramble code generator 6 is started, and the command signal s1 for activating the encryption / decryption function of the encryption processor 7 is output. As a result, all data input and output between the CMP 1 and an external storage device such as the main memory 21 are encrypted until both functions are turned off in step 82 described later.

【0064】次のステップ75では、前記したようにこ
のアプリケ−ションソフトに1対1で対応するパスワ−
ドPw3を生成すべく乱数を発生させ、まだ秘密メモリ
5内に存在しない数値であることを確認して確定し、同
メモリ内にこれを確保する。そして、インスト−ルされ
たアプリケ−ションソフトDexeXの環境設定ファイル
Acfg3を作成し、この中に生成したパスワ−ドPw3
を書き込んでハ−ドディスク22に保存する(ステップ
76)。
In the next step 75, as described above, the password corresponding to this application software on a one-to-one basis.
A random number is generated to generate the password Pw3, and it is confirmed and confirmed that the numerical value does not yet exist in the secret memory 5, and is secured in the same memory. Then, an environment setting file Acfg3 of the installed application software DexeX is created, and the password Pw3 generated therein is created.
Is written and stored in the hard disk 22 (step 76).

【0065】次に、このアプリケ−ションソフトの稼働
可能な残量時間Treをゼロとし(ステップ77)、乱数
を発生させて秘密値Nraを生成する(ステップ78)。そ
して残量時間Treと秘密値Nraとからなる時間デ−タフ
ァイルDdat(Ddat=Tre+Nra)を作成し、ハ−ドデ
ィスク22にこれを保存する(ステップ79、80)。
尚、この時作成される時間デ−タファイルDdatは、
必要に応じて一旦メインメモリ21に保存されるが、こ
の際のデ−タは当然暗号化され、且つスクランブルされ
たデ−タとして保存される。
Next, the operable remaining time Tre of the application software is set to zero (step 77), and a random number is generated to generate a secret value Nra (step 78). Then, a time data file Ddat (Ddat = Tre + Nra) including the remaining time Tre and the secret value Nra is created and stored in the hard disk 22 (steps 79 and 80).
The time data file Ddat created at this time is
If necessary, the data is temporarily stored in the main memory 21. The data at this time is, of course, encrypted and stored as scrambled data.

【0066】また、この時生成した秘密値Nraは、図9
に示すように秘密メモリ5内に確保されたパスワ−ドP
w3に対応してこれに保存され(ステップ81)、この
パスワ−ドPw3によって照合などの操作が可能とされ
る。そして、ステップ82でスクランブル符号発生器6
の出力と、暗号処理器7の暗号化/復号化機能と停止し
てこのフロ−を終了する。
The secret value Nra generated at this time is
The password P secured in the secret memory 5 as shown in FIG.
This password is stored in correspondence with w3 (step 81), and the password Pw3 enables operations such as collation. Then, in step 82, the scramble code generator 6
And stops the encryption / decryption function of the encryption processor 7 and terminates this flow.

【0067】以上のステップによって所望のアプリケ−
ションソフトDexeXが暗号化された状態でハ−ドディ
スク22にインスト−ルされ、更に必要な諸環境が初期
設定されたことになる。
By the above steps, a desired application
The optional software DexeX is installed on the hard disk 22 in an encrypted state, and necessary various environments are initialized.

【0068】次に、所望のアプリケ−ションソフトを実
行する場合の手順について、図5,6の実行フロ−チャ
−トを参照しながら説明する。説明を容易にするため、
ここで実行するアプリケ−ションソフトを、上記の説明
でインスト−ルされたDexeXとする。
Next, the procedure for executing the desired application software will be described with reference to the execution flowcharts of FIGS. For ease of explanation,
The application software executed here is DexeX installed in the above description.

【0069】ステップ41でこのアプリケ−ションソフ
トが実行されると、このソフトの読み込みが行なわれる
(ステップ42)。このステップ42の行程は、前記し
た図2の示すフロ−チャ−トのステップ2からステップ
10の行程に対応するもので、既に説明したように暗号
化スクランブルされたアプリケ−ションソフトEsf3
(DexeX(+)F(ReX))がメインメモリ21にロ−ドさ
れると共に、パ−ミットコ−ドEpmp(Ksf3)が復号
され、作業鍵Ksf3が保管レジスタ8に保管される。
When the application software is executed in step 41, the software is read (step 42). The step 42 corresponds to the steps 2 to 10 of the flowchart shown in FIG. 2, and the application software Esf3 encrypted and scrambled as described above.
(DexeX (+) F (ReX)) is loaded into the main memory 21, the permit code Epmp (Ksf3) is decrypted, and the work key Ksf3 is stored in the storage register 8.

【0070】更に、スクランブル符号発生器6の出力を
開始し、暗号処理器7の暗号化/復号化機能を起動する
ための指令信号s1を出力する。これにより、後述する
ステップ49で両機能がオフとされるまで、CMP1と
メインメモリ21等の外部記憶装置との間で入出力する
デ−タはすべて暗号化されたものとなる。
Further, the output of the scramble code generator 6 is started, and a command signal s1 for activating the encryption / decryption function of the encryption processor 7 is output. As a result, all data input and output between the CMP 1 and an external storage device such as the main memory 21 are encrypted until both functions are turned off in step 49 described later.

【0071】尚、図2で説明したように、この暗号化ス
クランブルされたアプリケ−ションソフトEsf3(Dex
eX(+)F(ReX))には前記した起動処理プログラムが添
付されているものとする。また今回は、図4のフロ−に
基づくインスト−ル時にパ−ミットコ−ドの保管が行な
われるので、結果的に図2中の起動処理プログラムによ
るステップ4からステップ6の行程を省略できる。
As described with reference to FIG. 2, the encrypted and scrambled application software Esf3 (Dex
eX (+) F (ReX)) is assumed to have the above-described activation processing program attached thereto. Also, in this case, since the permit code is stored at the time of installation based on the flow of FIG. 4, the steps from step 4 to step 6 by the activation processing program in FIG. 2 can be omitted as a result.

【0072】そして、このソフトの環境設定ファイルA
cfg3を読み出し、この中にパスワ−ドPwがあるか確
認する(ステップ43)。このケ−スでは、パスワ−ド
Pw3が存在するのでステップ44に至るが、もし存在
しない場合、このソフトのインスト−ル時にエラ−が生
じてパスワ−ドが生成されなかったことを意味するの
で、このことを図示しない表示手段で表示して再インス
ト−ルの指令を出し(ステップ45,46)、更にステ
ップ49でスクランブル符号発生器6の出力と暗号処理
器7の機能とを停止した後、待機状態に戻る。
Then, the environment setting file A of this software
The cfg3 is read, and it is confirmed whether or not the password Pw is present therein (step 43). In this case, the process proceeds to step 44 because the password Pw3 exists, but if it does not exist, it means that an error has occurred during the installation of this software and no password was generated. This is displayed on display means (not shown), and a re-installation command is issued (steps 45 and 46). In step 49, the output of the scramble code generator 6 and the function of the encryption processor 7 are stopped. And return to the standby state.

【0073】次にステップ44でこのアプリケ−ション
ソフトの時間デ−タファイルDdat(Ddat=Tre+Nr
a)が読み出される。この時、当然作業鍵Ksf3による
復号化とアドレスによるデスクランブルが行なわれる。
尚、この時読み出される暗号化された時間デ−タファイ
ルDdatは、必要に応じてメインメモリ21にそのまま
の形で保管される。
Next, at step 44, the time data file Ddat (Ddat = Tre + Nr) of the application software
a) is read. At this time, of course, decryption using the work key Ksf3 and descrambling using the address are performed.
The encrypted time data file Ddat read at this time is stored in the main memory 21 as it is, if necessary.

【0074】次に、秘密メモリ5内の秘密値Nraと時間
デ−タファイルDdatの秘密値との照合が行なわれる
(ステップ47)。今は、上記図4のインスト−ルフロ
−の説明でインスト−ルされたアプリケ−ションソフト
DexeXの秘密値が照合されるため、この時間デ−タフ
ァイルDdatが何らかの方法で改ざんされないかぎりこ
れら2つの秘密値は一致し、ステップ50に移行するこ
とが理解される。
Next, the secret value Nra in the secret memory 5 is compared with the secret value in the time data file Ddat (step 47). Now, since the secret value of the application software DexeX installed in the description of the installation flow of FIG. 4 is collated, these two secret data are not altered unless this time data file Ddat is falsified by any method. It will be appreciated that the values match and go to step 50.

【0075】もしここで、前記したような時間デ−タフ
ァイルDdatの置き換えが行なわれていると、当然これ
ら2つの秘密値が異なるためステップ48に移行し、後
述する処理が行なわれる。
If the time data file Ddat has been replaced as described above, the process goes to step 48 because these two secret values are different, and the process described later is performed.

【0076】ステップ50乃至ステップ53は、アプリ
ケ−ションソフトDexeXを実行処理すると同時に残量
時間を監視するフロ−になっている。即ち、ステップ5
0では実行時間を計測して逐次残量時間を更新し、ステ
ップ51では残量時間がゼロになったかを監視し、更に
ステップ53ではこの実行の停止指令が入ったかどうか
を監視する。
Steps 50 to 53 execute a process of executing the application software DexeX and monitor the remaining time at the same time. That is, step 5
At 0, the execution time is measured and the remaining time is successively updated. At step 51, it is monitored whether the remaining time has become zero. At step 53, it is monitored whether a stop command of this execution has been input.

【0077】また、このステップ52では、必要に応じ
て順次メインメモリ21にロ−ドされたアプリケ−ショ
ンソフトEsf3(DexeX(+)F(ReX))がCPU2へ読
み込まれるが、その際には前記した復号化、及びデスク
ランブルが逐次実行される。
In this step 52, the application software Esf3 (DexeX (+) F (ReX)) sequentially loaded into the main memory 21 is read into the CPU 2 as required. The above-described decoding and descrambling are sequentially performed.

【0078】この実行中に残量時間がゼロになるとステ
ップ51でこれを判定し、一旦ソフト処理を終了した後
(ステップ54)、図示しない表示手段によって例えば
「残量時間がありません。」等の表示を行なって(ステ
ップ55)、後述するようにソフト供給元に残量時間の
追加を申請するプログラムに入る(ステップ56)。今
は、インスト−ルされたばかりのアプリケ−ションソフ
トDexeXの例を想定して記述しているので残量時間が
ゼロになっており、当然このル−トをたどる。
If the remaining time becomes zero during this execution, this is determined in step 51, and once the software processing is terminated (step 54), the display means (not shown) displays, for example, "no remaining time". A display is made (step 55), and a program for applying for addition of the remaining time to the software supplier is entered as described later (step 56). At this time, since the description is made on the assumption that the application software DexeX has just been installed, the remaining time is zero, and this route is naturally followed.

【0079】このステップ56の残量時間追加申請プロ
グラムは、図7に示すフロ−チャ−トに示す手順によっ
て行なわれる。即ちユ−ザ−は、残量時間がなくなって
暗号化された状態の時間デ−タファイルDdatを何等か
の方法でソフト供給元に届ける(ステップ91)。その
方法は種々考えられるが、例えばモデム25を介して行
なわれるインタ−ネットなどのパソコン通信によって行
なってもよい。
The remaining time addition application program in step 56 is performed according to a procedure shown in a flowchart shown in FIG. That is, the user sends the encrypted time data file Ddat to the software supplier by any method (step 91). Although various methods are conceivable, the method may be performed by a personal computer communication such as the Internet performed through the modem 25, for example.

【0080】一方、ソフト供給元では、このファイルの
復号化とデスクランブルを行なってデ−タを復元し、こ
のDdat(Ddat=Tre+Nra)の残量時間Treの追加補
充を行なう(ステップ92)。その補充量は、ユ−ザ−
の依頼に応じて決定されるが、対価の補充料金の支払に
ついては別途行なわれるものとし、ここでの説明は省略
する。
On the other hand, the software supplier decrypts the file and descrambles the data to restore the data, and additionally supplements the remaining time Tre of Ddat (Ddat = Tre + Nra) (step 92). The amount of replenishment is
Is determined in response to the request, but the payment of the replenishment fee for the compensation is separately performed, and the description thereof is omitted here.

【0081】ソフト供給元では、この残量時間Treの補
充を行なった後、一緒に送られてきた秘密値と共に、再
びアドレススクランブルと作業鍵Ksf3による暗号化を
行なった後ユ−ザ−に返信する(ステップ93)。この
方法も、パソコン通信を介して行なってもよいし、フロ
ッピィディスクに納めて郵送するようにしてもよい。
After the supplement of the remaining time Tre, the software supplier re-encrypts the address with the secret value sent together with the address scramble and the work key Ksf3 and returns it to the user. (Step 93). This method may be performed via personal computer communication, or may be stored in a floppy disk and mailed.

【0082】ユ−ザ−は、この時間補充された時間デ−
タファイルを再度入手し、前のデ−タファイルと置き換
える如くこれをハ−ドディスク22に保存し(ステップ
94)、この残量時間追加申請のフロ−を終了する。従
って、この時のDdat(Ddat=Tre+Nra)において、
残量時間Treは所定量補充されているものの、秘密値N
raは、秘密メモリ5に保存されている秘密値と同じまま
であることが理解される。
The user inputs the time data supplemented during this time.
The data file is obtained again and stored in the hard disk 22 so as to replace the previous data file (step 94), and the flow of the remaining time addition application is completed. Accordingly, in Ddat (Ddat = Tre + Nra) at this time,
Although the remaining time Tre is replenished by a predetermined amount, the secret value N
It is understood that ra remains the same as the secret value stored in the secret memory 5.

【0083】ユ−ザ−は、このアプリケ−ションソフト
DexeXを引き続いて実行したい場合、再度図5の実行
フロ−のステップ41に戻らなければならない。然し乍
ら今回は、残量時間が所定量補充されているので、ステ
ップ41で実行が指令されると、ステップ50乃至ステ
ップ53のフロ−が繰り返されて、アプリケ−ションソ
フトDexeXの実行状態が継続されることになる。
If the user wants to continue to execute the application software DexeX, the user must return to step 41 of the execution flow of FIG. 5 again. However, in this case, since the remaining time has been replenished by a predetermined amount, when execution is instructed in step 41, the flow of steps 50 to 53 is repeated, and the execution state of the application software DexeX is continued. Will be.

【0084】そして、残量時間Treがゼロとなる前に、
ユ−ザ−によるソフト処理終了の指令を受けると、次の
ステップ57に至る。このステップ57では、乱数を発
生して秘密値Nra'を更新し、その後この更新した秘密
値Nra'とこの時のソフトの実行時間が差し引かれた残
量時間Treとを対にして新たな時間デ−タファイルDda
t(Ddat=Tre+Nra')を作成する(ステップ5
8)。尚、この時作成されたデ−タDdatは、必要に応
じて一旦メインメモリ21に保存されるが、この際のデ
−タは当然暗号化され、スクランブルされたデ−タとし
て保存される。
Then, before the remaining time Tre becomes zero,
When the user receives an instruction to end the software processing, the process proceeds to the next step 57. In this step 57, a random number is generated to update the secret value Nra '. Thereafter, the updated secret value Nra' is paired with the remaining time Tre from which the execution time of the software at this time has been subtracted to form a new time. Data file Dda
t (Ddat = Tre + Nra ') is created (step 5)
8). The data Ddat created at this time is temporarily stored in the main memory 21 as necessary, but the data at this time is naturally encrypted and stored as scrambled data.

【0085】そしてこれをハ−ドディスク22に保存さ
れている更新前の時間デ−タファイルに代えて保存する
(ステップ59)と共に、更新された秘密値Nra'を、
秘密メモリ5内に確保されたパスワ−ドPw3によって
識別可能に同メモリ内に保持されている更新前の秘密値
に代えて保存する(ステップ60)。
This is stored in place of the pre-update time data file stored in the hard disk 22 (step 59), and the updated secret value Nra 'is
The secret value is stored in the secret memory 5 in place of the pre-updated secret value that can be identified by the password Pw3 secured in the secret memory 5 (step 60).

【0086】この時、前記した更新前の秘密値Nraの照
合が行なわれる。図11に示すフロ−チャ−トは、ステ
ップ60内で行なわれるこの照合動作の流れを示すもの
で、ステップ60−1では秘密メモリ5内の秘密値Nra
と照合のために別途用意されたNraとが合致するかをチ
ェックする。これ等が合致する場合はステップ60−2
で上記したデ−タの更新が行なわれ、合致しない場合
は、ステップ60−3に至って、図示しない表示手段に
よって、「不正が行なわれました。」等の表示を行な
い、図5のBへ戻るように構成しても良い。
At this time, the above-mentioned collation of the secret value Nra before the update is performed. The flowchart shown in FIG. 11 shows the flow of this collation operation performed in step 60. In step 60-1, the secret value Nra in the secret memory 5 is set.
And whether Nra separately prepared for collation matches. If these match, step 60-2
If the data is updated as described above and the data does not match, the process proceeds to step 60-3, in which a display means (not shown) displays "Illegal." It may be configured to return.

【0087】そして再度このアプリケ−ションソフトD
exe3が実行されると、上記した各ステップを経てステ
ップ47に至り、ここで秘密値が照合される。この時、
秘密メモリから読み出した秘密値とハ−ドディスク22
から読み出された秘密値とは一致するはずであるが、も
し、ユ−ザ−によって前記したようなデ−タの改ざんが
あるとこれ等は一致しない。この時はステップ48に至
って「不正行為が行なわれました。」等のメッセ−ジを
表示し、実行を中止すべくステップ49を経由して待機
状態に戻る。
Then, again, the application software D
When exe3 is executed, the process proceeds to step 47 via the above-described steps, where the secret value is collated. At this time,
Secret value read from secret memory and hard disk 22
Should be the same as the secret value read from, but if the data has been tampered with by the user, they will not match. At this time, the process proceeds to step 48 to display a message such as "illegal act" and returns to the standby state via step 49 to stop the execution.

【0088】一方、このアプリケ−ションソフトDexe
Xの使用を中止し、アンインスト−ルする場合には、こ
のソフトに設定されたパスワ−ドPw3と秘密値Nraを
秘密メモリ5から消去する必要がある。これを行なわな
いと同メモリ内に不要な秘密値が蓄積されることにな
る。またこの消去作業はアンインスト−ル時のみに、ま
たハ−ドディスク22にパスワ−ドが存在する段階で行
なわれる必要があるため、例えば、図8に示すフロ−に
従って行なわれる。
On the other hand, this application software Dexe
When the use of X is stopped and the software is uninstalled, it is necessary to erase the password Pw3 and the secret value Nra set in the software from the secret memory 5. If this is not done, unnecessary secret values will be stored in the same memory. This erasing operation needs to be performed only at the time of uninstallation and at the stage where the password is present on the hard disk 22, so that the erasing operation is performed, for example, according to the flow shown in FIG.

【0089】即ち、図示しない入力手段によってアンイ
ンスト−ルの指示を受けると、ステップ101に至り、
先ずパスワ−ドと秘密値の消去が行なわれる。この際に
も、安全性を高めるために前記したような秘密値Nraに
よる照合が行なわれる。このために(Pw3,Nra)が
用意され、パスワ−ドPw3によって識別された秘密メ
モリ5内のNraと照合のために用意したNraとが一致し
た場合にのみこのアプリケ−ションソフトDexeXに対
応するパスワ−ドPw3と秘密値Nraとが同時に消去さ
れる。そしてこの消去が終了した後、アプリケ−ション
ソフトDexeX自体のアンインスト−ルが実行される
(ステップ102)。
That is, when an uninstallation instruction is received by an input means (not shown), the process proceeds to step 101, and
First, the password and the secret value are deleted. Also at this time, collation with the secret value Nra as described above is performed to enhance security. For this purpose, (Pw3, Nra) is prepared, and only when Nra in the secret memory 5 identified by the password Pw3 matches Nra prepared for collation, it corresponds to this application software DexeX. The password Pw3 and the secret value Nra are deleted at the same time. After the erasure is completed, the application software DexeX itself is uninstalled (step 102).

【0090】次に、本発明の他の実施例について説明す
る。図14は、秘密メモリ部51がCMP50の外にあ
って独立して存在する場合を示し、その他の前記した図
1と同じ機能を有する構成要素については、同符号を付
してその説明を省略する。図1に対する図14の構成上
の違いは、CMP1内部にあった秘密メモリがその外部
の秘密メモリ部51に照合手段52と共に独立して設け
られた点であり、全体的な機能は全く同じである。
Next, another embodiment of the present invention will be described. FIG. 14 shows a case in which the secret memory unit 51 exists outside the CMP 50 and exists independently. The other components having the same functions as those in FIG. I do. 14 is different from FIG. 1 in that the secret memory inside the CMP 1 is provided independently in the secret memory unit 51 outside the CMP 1 together with the matching means 52, and the overall function is exactly the same. is there.

【0091】一方、図1に対する図14の部分的な機能
の相違点は、図1の構成では秘密メモリ5の内部デ−タ
がCMP1の外部に出力されないように構成されている
のに対し、図14の構成では秘密メモリ部51の内部デ
−タがその外部に出力されないように構成される点であ
る。
On the other hand, the partial function of FIG. 14 differs from that of FIG. 1 in that the internal data of the secret memory 5 is not output to the outside of the CMP 1 in the configuration of FIG. 14 is that the internal data of the secret memory unit 51 is not output to the outside.

【0092】従って、図1の構成のCMP1内に設けら
れた秘密メモリの働きについて、図4乃至図7のフロ−
チャ−トを参照して説明したが、図14構成のCMP5
0外に設けられた秘密メモリ部51についても、これ等
のフロ−チャ−トに従って同様の作業が実行できる。し
かしながら、図5のステップ47、図11のステップ6
1−1、及び図8のステップ101の各ステップで行な
われる照合作業は、秘密メモリ部51内部の照合手段5
2で行なわれ、YES,NOの結果のみが出力されるように構
成されている。
Accordingly, the operation of the secret memory provided in the CMP 1 having the configuration of FIG. 1 will be described with reference to the flow charts of FIGS.
The description has been given with reference to the chart.
The same operation can be performed for the secret memory unit 51 provided outside the area according to these flowcharts. However, step 47 in FIG. 5 and step 6 in FIG.
1-1 and the collation work performed in each step of step 101 in FIG.
2, and only the result of YES or NO is output.

【0093】次に、本発明の他の実施例について説明す
る。図12は、本発明の他の実施例を示す構成図で、前
記した図1と同じ機能を有する構成要素については、同
符号を付してその説明を省略し、図1の構成及び動作と
異なる部分について重点的に説明する。
Next, another embodiment of the present invention will be described. FIG. 12 is a configuration diagram showing another embodiment of the present invention. Components having the same functions as those in FIG. 1 described above are denoted by the same reference numerals, and the description thereof will be omitted. The different parts will be emphasized.

【0094】この実施例の場合、暗号化されアドレスス
クランブルされたデ−タDを前記した標記方法に従って
標記すると、Escri(D)となる(i=1,2,3……N)。但し
この秘密鍵Kscriは、Kscri=Ksf(+)F(Rei)というこ
とになる。即ち、このデ−タDに用意される作業鍵Ksf
と逐次生成されるスクランブル符号F(Rei)との排他論
理和符号によってデ−タDを暗号化したものとなる。
In this embodiment, when the encrypted and address-scrambled data D is marked according to the above-mentioned marking method, it becomes Escri (D) (i = 1, 2, 3,... N). However, the secret key Kscri is Kscri = Ksf (+) F (Rei). That is, the work key Ksf prepared for the data D
The data D is encrypted by an exclusive OR code of the data D and the scramble code F (Rei) generated sequentially.

【0095】このようにして暗号化されたアプリケ−シ
ョンソフトを図12のCMPによって復号化する過程を
説明する。いま、このアプリケ−ションソフトの1バイ
ト単位のデ−タ群D1,D2……DNの集合をDXと記述
し、これに対応して生成されるスクランブル符号群F
(Re1),F(Re2)……F(ReN)の集合をF(ReX)と記
述し、この暗号化されたアプリケ−ションソフトをEsc
r(DX)と記述する。但し、Kscr=Ksf(+)F(ReX)
である。
The process of decrypting the application software thus encrypted by the CMP shown in FIG. 12 will be described. Now, a set of 1-byte data groups D1, D2... DN of the application software is described as DX, and a scramble code group F generated corresponding to this is described.
(Re1), F (Re2)... A set of F (ReN) is described as F (ReX), and this encrypted application software is referred to as Esc.
Described as r (DX). However, Kscr = Ksf (+) F (ReX)
It is.

【0096】従って、いま最初の1バイトのデ−タD1
を復号する過程を記述すると、この時デ−タバス12に
は、暗号化されたデ−タEscr1(D1)が現れ、スクラ
ンブル符号発生器6からはF(Re1)が出力される。従っ
てこの時の暗号処理器7は、作業鍵Ksfとスクランブル
符号F(Re1)の排他論理和符号Ksf(+)F(Re1)によって
デ−タEscr1(D1)を復号することになるため、暗号
化した時と同じ鍵でこれを復号化して得たデ−タD1を
CPU2に出力することが出来る。以下同様にして、全
ての暗号化されたデ−タ群を順次復号化してCPU2に
送る。
Therefore, the first one byte of data D1
At this time, the encrypted data Escr1 (D1) appears on the data bus 12 and the scramble code generator 6 outputs F (Re1). Accordingly, at this time, the encryption processor 7 decrypts the data Escr1 (D1) with the exclusive OR code Ksf (+) F (Re1) of the work key Ksf and the scramble code F (Re1). The data D1 obtained by decrypting the data with the same key as when the data is decrypted can be output to the CPU 2. Similarly, all the encrypted data groups are sequentially decrypted and sent to the CPU 2 in the same manner.

【0097】先に、図1に示す構成のCMP1による、
アプリケ−ションソフトの入手、及びその実行に際して
のCPU2内への読み込み過程について、図2のフロ−
チャ−トを参照しながら説明したが、図12構成のCM
P30もこのフロ−チャ−トに従って同様の作業が実行
できる。但し、ステップ11の復号方法が上記した説明
に基づいて実行されるところが異なる。
First, the CMP 1 having the configuration shown in FIG.
FIG. 2 is a flow chart showing the process of obtaining application software and reading it into the CPU 2 when executing the application software.
Although described with reference to the chart, FIG.
P30 can perform the same operation according to this flowchart. However, the difference is that the decoding method of step 11 is executed based on the above description.

【0098】また、ユ−ザ−によって作成され、一旦メ
インメモリ21に保存したデ−タを、図1の構成のCM
Pによって暗号化して再度メインメモリに保存しなおす
過程を図3のフロ−チャ−トを参照して説明したが、図
12構成のCMP30もこのフロ−チャ−トに従って同
様の作業が実行できる。但し、ステップ28の暗号化方
法が異なり、排他論理和符号(Kusr(+)F(ReX))によ
ってデ−タ群DXを逐次暗号化するものとなる。
The data created by the user and once stored in the main memory 21 is stored in the CM having the configuration shown in FIG.
The process of encrypting with P and saving it again in the main memory has been described with reference to the flowchart of FIG. 3, but the CMP 30 having the configuration of FIG. 12 can perform the same operation according to this flowchart. However, the encryption method in step 28 is different, and the data group DX is sequentially encrypted by an exclusive OR code (Kusr (+) F (ReX)).

【0099】更に、図1の構成のCMP1内に設けられ
た秘密メモリの働きについて、図4乃至図7のフロ−チ
ャ−トを参照して説明したが、図12構成のCMP30
内に設けられた秘密メモリ5についても、これ等のフロ
−チャ−トに従って同様の作業が実行できる。但し、フ
ロ−で実行されるデ−タの暗号化又は復号化の方法が図
1のCMP1と異り、上記したように排他論理和符号
(Kusr(+)F(ReX))を作業鍵として行なわれる。
Further, the operation of the secret memory provided in the CMP 1 having the configuration shown in FIG. 1 has been described with reference to the flowcharts shown in FIGS.
The same operation can be performed for the secret memory 5 provided therein according to these flowcharts. However, the method of encrypting or decrypting data executed in the flow is different from the method of CMP1 in FIG. 1, and the exclusive OR code (Kusr (+) F (ReX)) is used as the working key as described above. Done.

【0100】次に、本発明の他の実施例について説明す
る。図13は、本発明の他の実施例を示す構成図で、前
記した図1と同じ機能を有する構成要素については、同
符号を付してその説明を省略し、図1の構成及び動作と
異なる部分について重点的に説明する。
Next, another embodiment of the present invention will be described. FIG. 13 is a configuration diagram showing another embodiment of the present invention. Components having the same functions as those in FIG. 1 described above are denoted by the same reference numerals, and the description thereof will be omitted. The different parts will be emphasized.

【0101】この実施例の場合、暗号化されアドレスス
クランブルされたデ−タDを前記した標記方法に従って
標記すると、Esss(D(+)F(Re))となる。但しこの作
業鍵Ksssは、Ksss=Essp(Kusr)ということになる。
即ち暗号部41は、CPU2からユ−ザ−によって設定
される作業鍵Kusrを入力し、保管レジスタ10が保管
しているこのCMP40に固有の秘密鍵Ksspでこれを
暗号化した前記作業鍵Ksssを生成し、これを保管レジ
スタ8に出力する。
In the case of this embodiment, when the encrypted and address-scrambled data D is described according to the above-mentioned notation method, it becomes Esss (D (+) F (Re)). However, this work key Ksss is Ksss = Essp (Kusr).
That is, the encryption unit 41 inputs the work key Kusr set by the user from the CPU 2 and encrypts the work key Ksss obtained by encrypting it with the secret key Kssp unique to the CMP 40 stored in the storage register 10. And outputs it to the storage register 8.

【0102】暗号処理部7は、この保管レジスタ8に保
管された作業鍵Ksssでアドレススクランブルされたデ
−タ(D(+)F(Re))を暗号化し、この暗号化したデ−
タEsss(D(+)F(Re))をデ−タバス12を介してメイ
ンメモリ21等の外部メモリに出力する。
The encryption processing section 7 encrypts the data (D (+) F (Re)) scrambled with the work key Ksss stored in the storage register 8, and encrypts the encrypted data.
The data Esss (D (+) F (Re)) is output via the data bus 12 to an external memory such as the main memory 21.

【0103】このようにして暗号化されたデ−タを図1
3のCMPによって復号化する過程を説明する。いま、
デ−タの1バイト単位のデ−タ群D1,D2……DNの集
合をDXと記述し、これに対応して生成されるスクラン
ブル符号群F(Re1),F(Re2)……F(ReN)の集合をF
(ReX)と記述し、このスクランブル暗号化されたデ−
タをEsss(DX(+)F(ReX))と記述する。但し、Kss
s=Essp(Kusr)である。
The data thus encrypted is shown in FIG.
3 will be described. Now
A set of data groups D1, D2... DN in units of 1 byte of data is described as DX, and scramble code groups F (Re1), F (Re2). ReN) is a set of F
(ReX) and the scrambled encrypted data
Is described as Esss (DX (+) F (ReX)). However, Kss
s = Essp (Kusr).

【0104】従って、いま最初の1バイトのデ−タD1
を復号する過程を記述すると、この時デ−タバス12に
は、暗号化されたデ−タEsss(D1(+)F(Re1))が現
れ、スクランブル符号発生器6からはF(Re1)が出力さ
れる。従って暗号処理器7は、この時作業鍵Ksssでデ
−タEsss(D1(+)F(Re1))を復号化した(D1(+)F(R
e1))を加算器11に出力し、加算器11はF(Re1)でこ
れをデスクランブルして得たデ−タD1をCPU2に出
力することが出来る。以下同様にして、全ての暗号化さ
れたデ−タ群を順次復号化してCPU2に送る。
Therefore, the first one byte of data D1
At this time, the encrypted data Esss (D1 (+) F (Re1)) appears on the data bus 12 and the scramble code generator 6 outputs F (Re1). Is output. Therefore, the encryption processor 7 decrypts the data Esss (D1 (+) F (Re1)) with the work key Ksss at this time (D1 (+) F (R)
e1)) is output to the adder 11, and the adder 11 can output data D1 obtained by descrambling F (Re1) to the CPU 2. Similarly, all the encrypted data groups are sequentially decrypted and sent to the CPU 2 in the same manner.

【0105】また、ユ−ザ−によって作成され、一旦メ
インメモリ21に保存したデ−タを、図1の構成のCM
Pによって暗号化して再度メインメモリに保存しなおす
過程を図3のフロ−チャ−トを参照して説明したが、図
13構成のCMPもこのフロ−チャ−トに従って同様の
作業が実行できる。但し、ステップ23では作業鍵Kss
s=Essp(Kusr)を保管レジスタ8に保管する必要があ
り、このため前記した暗号部41よる作業鍵Kusrの暗
号化が行なわれる。
The data created by the user and once stored in the main memory 21 is stored in the CM having the configuration shown in FIG.
The process of encrypting with P and saving it again in the main memory has been described with reference to the flowchart of FIG. 3, but the CMP of FIG. 13 can perform the same operation according to this flowchart. However, in step 23, the work key Kss
It is necessary to store s = Essp (Kusr) in the storage register 8, and therefore, the encryption of the working key Kusr by the encryption unit 41 is performed.

【0106】従って、この図13に構成されたCMP4
0によって暗号化されたデ−タは、この暗号化したCM
Pのみによって復号化されることが理解される。更に、
作業鍵Ksssが二重鍵の構成を有するため、暗号化する
デ−タ群ごとに作業鍵を変えることができるために鍵自
体が解読されにくくなり、デ−タの氾濫を防ぐと共にそ
の機密性を高めることが出来る。
Therefore, the CMP4 shown in FIG.
0, the data encrypted with this encrypted CM
It is understood that decoding is performed only by P. Furthermore,
Since the work key Ksss has a double key configuration, the work key can be changed for each data group to be encrypted, so that the key itself is difficult to be decrypted, which prevents data flooding and protects confidentiality. Can be increased.

【0107】次に、本発明の他の実施例について説明す
る。図15は、本発明の他の実施例を示す構成図で、前
記した図1と同じ機能を有する構成要素については、同
符号を付してその説明を省略し、図1の構成及び動作と
異なる部分について重点的に説明する。
Next, another embodiment of the present invention will be described. FIG. 15 is a configuration diagram showing another embodiment of the present invention. Components having the same functions as those in FIG. 1 described above are denoted by the same reference numerals, and description thereof will be omitted. The different parts will be emphasized.

【0108】この実施例の場合、作業鍵の保管レジスタ
8を複数P個有する保管レジスタ部61を設け、これ等
の各保管レジスタに異なる作業鍵Ksfi(i=1,2,……P)を
それぞれ保管可能とする。この保管レジスタ部61は、
復号部9から出力される作業鍵を保管するレジスタの選
択、及び暗号処理部7に出力する作業鍵の選択を、制御
ユニット3から出力される鍵選択信号s5によって実行
できるように構成されている。
In the case of this embodiment, a storage register unit 61 having a plurality of P work key storage registers 8 is provided, and a different work key Ksfi (i = 1, 2,... P) is stored in each of these storage registers. Each can be stored. This storage register section 61
The configuration is such that the selection of the register for storing the work key output from the decryption unit 9 and the selection of the work key output to the encryption processing unit 7 can be executed by the key selection signal s5 output from the control unit 3. .

【0109】また、オフセットレジスタ部62には、前
記したデ−タ群の先頭アドレスを保管するための複数P
個のオフセットレジスタ4が、異なる先頭アドレスToi
(i=1,2,……P)をそれぞれ保管可能に設けられ、制御ユ
ニット3から出力される先頭アドレス選択信号s6によ
って、先頭アドレスToiの保存、及び読み出しの対象と
なるレジスタが選択可能に構成されている。
The offset register 62 stores a plurality of Ps for storing the head address of the data group.
Offset registers 4 have different start addresses Toi
(i = 1, 2,... P) are provided so as to be able to be stored, respectively, and the start address selection signal s6 output from the control unit 3 makes it possible to select a register for storing and reading the start address Toi. It is configured.

【0110】次にこのような構成のCMP60の動作に
ついて説明する。今、前記した図2の実行準備フロ−が
実行され、そのステップ3の段階でメインメモリ21に
ロ−ドされたソフトが図17に示すようにM個のプログ
ラムから構成され、それぞれが異なる作業鍵Ksfj(j=
1,2,……M、M≦P)で暗号化されているものとする。
Next, the operation of the CMP 60 having such a configuration will be described. Now, the execution preparation flow of FIG. 2 is executed, and the software loaded into the main memory 21 in the step 3 is composed of M programs as shown in FIG. Key Ksfj (j =
1, 2,..., M, M ≦ P).

【0111】また各プログラムは、前記したようにそれ
ぞれ所定単位のデ−タの集合であるデ−タ群で構成さ
れ、各デ−タ群の先頭アドレスをToj(j=1,2,……M)
と記す。 この場合の各作業鍵Ksfjは、各プログラム
を管理するソフト供給元が前記したパ−ミットコ−ドと
して供給するため、図2の実行準備フロ−のステップ4
からステップ9までのステップが図1のCMP1と異な
る。
As described above, each program is composed of a data group which is a set of data in a predetermined unit, and the start address of each data group is set to Toj (j = 1, 2,...). M)
It is written. In this case, each work key Ksfj is supplied by the software supplier managing each program as the above-mentioned permit code.
Steps 9 to 9 are different from the CMP1 of FIG.

【0112】即ち、ステップ4からステップ6までで、
パ−ミットコ−ドの存在の確認、入手、保存の各行程を
実施するが、今このパ−ミットコ−ドがM個必要となる
ため、この各行程もM回繰り返すように構成される。更
に、ステップ7からステップ9までの行程で、パ−ミッ
トコ−ドを読み込み、それを復号し、生成した作業鍵を
レジスタに保存するが、ここでもこの各行程をM回繰り
返すように構成される。
That is, in steps 4 to 6,
The steps of confirming, obtaining, and storing the existence of the permit code are performed. However, since M pieces of this permit code are required now, each step is configured to be repeated M times. Further, in the steps from step 7 to step 9, the permit code is read, decrypted, and the generated work key is stored in the register. Again, this process is repeated M times. .

【0113】この時逐次生成される作業鍵Ksfjが、C
PUから出力される指令信号s1に基づいて制御ユニッ
ト3から出力される鍵選択信号s5によって選択された
1からMまでの各保管レジスタ8にそれぞれ保管され
る。
The work key Ksfj generated at this time is
It is stored in each of the storage registers 8 from 1 to M selected by the key selection signal s5 output from the control unit 3 based on the command signal s1 output from the PU.

【0114】更にステップ11で、必要に応じてメイン
メモリ21に保管された各プログラムがCPU2に読み
込まれて実行される際には、それぞれのプログラムの作
業鍵Ksfjを保管するレジスタが選択され読み出され、
暗号処理器7に供給される。これと共に、読み出される
プログラムに対応する先頭アドレスがCPUから出力さ
れる指令信号s1に基づいて制御ユニット3から出力さ
れるアドレス選択信号s6によって選択される。そして
選択された先頭アドレスTojがスクランブル符号発生器
6に出力され、前記したアドレススクランブルが各プロ
グラム毎に実行される。尚、iとjとが対応して管理さ
れることにより、各プログラムとこれを実行する際に読
み出される各作業鍵、及び各先頭アドレスとの対応関係
が維持される。
Further, in step 11, when each program stored in the main memory 21 is read and executed by the CPU 2 as necessary, a register for storing the work key Ksfj of each program is selected and read. And
It is supplied to the encryption processor 7. At the same time, the head address corresponding to the program to be read is selected by the address selection signal s6 output from the control unit 3 based on the command signal s1 output from the CPU. Then, the selected start address Toj is output to the scramble code generator 6, and the above-described address scramble is executed for each program. By managing i and j in a corresponding manner, the correspondence relationship between each program, each work key read at the time of executing the program, and each head address is maintained.

【0115】次に、本発明の他の実施例について説明す
る。図16は、本発明の他の実施例を示す構成図で、前
記した図1と同じ機能を有する構成要素については、同
符号を付してその説明を省略し、図1の構成及び動作と
異なる部分について重点的に説明する。
Next, another embodiment of the present invention will be described. FIG. 16 is a configuration diagram showing another embodiment of the present invention. Components having the same functions as those in FIG. 1 described above are denoted by the same reference numerals, and the description thereof will be omitted. The different parts will be emphasized.

【0116】この実施例の場合、復号部72と保管レジ
スタ73とからなる多重鍵生成部71が追加構成され
る。そして保管レジスタ73は、このCMP70に固有
の秘密鍵Ksmppを保管し、復号部72は前記した公開鍵
Kpmpに対応する秘密鍵Ksmpを、秘密鍵Ksmppに対応す
る公開鍵Kpmppで暗号化したEpmpp(Ksmp)を得て秘
密鍵Ksmppで復号化し、生成した秘密鍵Ksmpを保管レ
ジスタ10に出力する。
In the case of this embodiment, a multiple key generation unit 71 including a decryption unit 72 and a storage register 73 is additionally provided. The storage register 73 stores the secret key Ksmpp unique to the CMP 70, and the decryption unit 72 encrypts the secret key Ksmp corresponding to the public key Kpmp with the public key Kpmpp corresponding to the secret key Ksmpp. Ksmp) is obtained and decrypted with the secret key Ksmpp, and the generated secret key Ksmp is output to the storage register 10.

【0117】このように構成することにより、CMP7
0にとって、一対の公開鍵Kpmpと秘密鍵Ksmpとがすで
に登録された固有のものではなく、例えばCMP70の
供給元から別途これ等の鍵を入手して設定することが出
来るなど、種々の態様を可能とするものとなる。
With this configuration, the CMP7
0, a pair of public key Kpmp and secret key Ksmp are not already registered unique ones, and for example, these keys can be separately obtained and set from a CMP 70 supply source. It will be possible.

【0118】[0118]

【発明の効果】本発明によれば、信号処理手段から秘密
デ−タを出力することなく、別途用意した参照デ−タが
所定の秘密デ−タと同一のものか判断でき、また秘密デ
−タの更新又は消去が、その秘密デ−タを知らない者に
よって実行できないため、実行時間が管理されるアプリ
ケ−ションソフトの残量時間などの機密情報を、この秘
密デ−タと一緒に外部メモリに保存した場合、この機密
情報が不正に改ざんされたか否かを高い信頼性の下にチ
ェックすることが出来る。
According to the present invention, it is possible to determine whether reference data prepared separately is the same as predetermined secret data without outputting secret data from the signal processing means. Since the update or deletion of the data cannot be executed by a person who does not know the secret data, confidential information such as the remaining time of the application software whose execution time is managed is stored together with the secret data. When stored in an external memory, it can be checked with high reliability whether this confidential information has been tampered with.

【0119】また、パスワ−ド等の識別コ−ドをこの秘
密デ−タに対応して秘密メモリに記憶することにより、
この識別コ−ドが秘密デ−タのアドレスの代用とるなた
め、ユ−ザ−等の第3者による安易な、また不正なデ−
タの変更を防止できる。
By storing an identification code such as a password in a secret memory in correspondence with the secret data,
Since this identification code does not substitute for the address of the secret data, it is easy and illegal for a third party such as a user.
Data can be prevented from being changed.

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

【図1】本発明の一実施例を示す構成図FIG. 1 is a configuration diagram showing one embodiment of the present invention.

【図2】本発明の動作説明に供するフロ−チャ−トFIG. 2 is a flowchart for explaining the operation of the present invention;

【図3】本発明の動作説明に供するフロ−チャ−トFIG. 3 is a flowchart for explaining the operation of the present invention;

【図4】本発明の動作説明に供するフロ−チャ−トFIG. 4 is a flowchart for explaining the operation of the present invention;

【図5】本発明の動作説明に供するフロ−チャ−トFIG. 5 is a flowchart for explaining the operation of the present invention;

【図6】本発明の動作説明に供するフロ−チャ−トFIG. 6 is a flowchart for explaining the operation of the present invention;

【図7】本発明の動作説明に供するフロ−チャ−トFIG. 7 is a flowchart for explaining the operation of the present invention;

【図8】本発明の動作説明に供するフロ−チャ−トFIG. 8 is a flowchart for explaining the operation of the present invention;

【図9】本発明の動作説明に供する秘密メモリの説明図FIG. 9 is an explanatory diagram of a secret memory used for explaining the operation of the present invention.

【図10】本発明の動作説明に供するアプリケ−ション
ソフトの構成図
FIG. 10 is a configuration diagram of application software for explaining the operation of the present invention.

【図11】本発明の動作説明に供するフロ−チャ−トFIG. 11 is a flowchart for explaining the operation of the present invention;

【図12】本発明の他の一実施例を示す構成図FIG. 12 is a configuration diagram showing another embodiment of the present invention.

【図13】本発明の他の一実施例を示す構成図FIG. 13 is a configuration diagram showing another embodiment of the present invention.

【図14】本発明の他の一実施例を示す構成図FIG. 14 is a configuration diagram showing another embodiment of the present invention.

【図15】本発明の他の一実施例を示す構成図FIG. 15 is a configuration diagram showing another embodiment of the present invention.

【図16】本発明の他の一実施例を示す構成図FIG. 16 is a configuration diagram showing another embodiment of the present invention.

【図17】本発明の動作説明に供するメインメモリの説
明図
FIG. 17 is an explanatory diagram of a main memory used for describing the operation of the present invention;

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

1 CMP 2 CPU 3 制御ユニット 4 オフセットレジスタ 5 秘密メモリ 6 スクランブル符号発生器 7 暗号処理器 8 保管レジスタ 9 復号部 10 保管レジスタ 11 加算器 21 メインメモリ 22 ハ−ドディスク 23 CD−ROM 24 フロッピディスク 25 モデム 26 キャッシュメモリ 30 CMP 40 CMP 41 暗号部 50 CMP 51 秘密メモリ部 52 照合手段 60 CMP 61 保管レジスタ部 70 CMP 71 多重鍵生成部 Reference Signs List 1 CMP 2 CPU 3 Control unit 4 Offset register 5 Secret memory 6 Scramble code generator 7 Cryptographic processor 8 Storage register 9 Decoding unit 10 Storage register 11 Adder 21 Main memory 22 Hard disk 23 CD-ROM 24 Floppy disk 25 Modem 26 cache memory 30 CMP 40 CMP 41 encryption unit 50 CMP 51 secret memory unit 52 verification unit 60 CMP 61 storage register unit 70 CMP 71 multiple key generation unit

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】秘密デ−タを保存するための秘密メモリを
有する信号処理手段において、該秘密メモリに書き込ま
れた前記秘密デ−タの前記信号処理手段外への読み出し
を禁止し、参照デ−タを得て該参照デ−タと前記秘密デ
−タとの一致を判定することを特徴とする秘密デ−タ管
理方法。
In a signal processing means having a secret memory for storing secret data, reading of the secret data written in the secret memory out of the signal processing means is prohibited, and reference data is stored. A secret data management method comprising: obtaining data and determining whether the reference data matches the secret data.
【請求項2】秘密デ−タを保存するための秘密メモリを
有する信号処理手段において、該秘密メモリに書き込ま
れた前記秘密デ−タの前記信号処理手段外への読み出し
を禁止し、記録済み領域の所望のデ−タを書換える際に
は、別途該所望のデ−タに対応する参照デ−タと更新デ
−タとを得て、前記所望のデ−タと前記参照デ−タとが
一致したとき、前記所望のデ−タと前記更新デ−タとの
書換えを実行するようにしたことを特徴とする秘密デ−
タ管理方法。
2. A signal processing means having a secret memory for storing secret data, wherein reading of the secret data written in the secret memory out of the signal processing means is prohibited, and the recorded data is stored in the signal processing means. When rewriting desired data in an area, reference data and update data corresponding to the desired data are separately obtained, and the desired data and the reference data are obtained. Rewriting between the desired data and the update data when the secret data matches the secret data.
Data management method.
【請求項3】秘密デ−タを保存するための秘密メモリを
有する信号処理手段において、該秘密メモリに書き込ま
れた前記秘密デ−タの前記信号処理手段外への読み出し
を禁止し、記録済み領域の所望のデ−タを消去する際に
は、別途該所望のデ−タに対応する参照デ−タを得て、
前記所望のデ−タと前記参照デ−タとが一致したとき、
前記所望のデ−タの消去を実行するようにしたことを特
徴とする秘密デ−タ管理方法。
3. A signal processing means having a secret memory for storing secret data, wherein reading of the secret data written in the secret memory out of the signal processing means is prohibited, and the signal is recorded. When erasing desired data in an area, reference data corresponding to the desired data is separately obtained,
When the desired data and the reference data match,
A method of managing secret data, wherein the desired data is erased.
【請求項4】マイクロプロセッサ内に秘密メモリを有
し、該秘密メモリに実行するアプリケ−ションソフトに
対応して設定された識別コ−ドを保存し、前記アプリケ
−ションソフトの実行が終了する毎に生成される秘密値
を該アプリケ−ションソフトの関連ファイルに書き込ん
で外部メモリに保存すると共に、前記識別コ−ドによっ
て識別可能に前記秘密メモリに保存し、再度前記アプリ
ケ−ションソフトを実行する際にはそれぞれ保存された
前記両秘密値を照合するようにしたことを特徴とする秘
密デ−タ管理方法。
4. A secret memory in a microprocessor, wherein an identification code set corresponding to application software to be executed is stored in the secret memory, and the execution of the application software is completed. The secret value generated each time is written to a file related to the application software and stored in an external memory, and also stored in the secret memory so that it can be identified by the identification code, and the application software is executed again. A secret data management method for comparing the stored secret values.
【請求項5】秘密デ−タを保存するための秘密メモリに
おいて、該秘密メモリは前記秘密デ−タに識別コ−ドを
対応して保存し、前記秘密デ−タを記録または再生する
場合には、前記メモリ内に保存された前記識別コ−ドに
基づいて前記秘密デ−タを選択することを特徴とする秘
密デ−タ管理方法。
5. A secret memory for storing secret data, wherein said secret memory stores an identification code corresponding to said secret data and records or reproduces said secret data. And (c) selecting the secret data based on the identification code stored in the memory.
JP10103957A 1998-03-31 1998-03-31 Secret data management method Withdrawn JPH11282756A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10103957A JPH11282756A (en) 1998-03-31 1998-03-31 Secret data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10103957A JPH11282756A (en) 1998-03-31 1998-03-31 Secret data management method

Publications (1)

Publication Number Publication Date
JPH11282756A true JPH11282756A (en) 1999-10-15

Family

ID=14367890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10103957A Withdrawn JPH11282756A (en) 1998-03-31 1998-03-31 Secret data management method

Country Status (1)

Country Link
JP (1) JPH11282756A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107193A1 (en) * 2002-06-14 2003-12-24 松下電器産業株式会社 Semiconductor integrated circuit device, data storage verification device, and data storage verification method
US7065215B2 (en) 2000-10-31 2006-06-20 Kabushiki Kaisha Toshiba Microprocessor with program and data protection function under multi-task environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065215B2 (en) 2000-10-31 2006-06-20 Kabushiki Kaisha Toshiba Microprocessor with program and data protection function under multi-task environment
US7673152B2 (en) 2000-10-31 2010-03-02 Kabushiki Kaisha Toshiba Microprocessor with program and data protection function under multi-task environment
WO2003107193A1 (en) * 2002-06-14 2003-12-24 松下電器産業株式会社 Semiconductor integrated circuit device, data storage verification device, and data storage verification method

Similar Documents

Publication Publication Date Title
US7831841B2 (en) Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method
JP4099039B2 (en) Program update method
US8190912B2 (en) Program development method, program development supporting system, and program installation method
US6363486B1 (en) Method of controlling usage of software components
US7975151B2 (en) Decryption key table access control on ASIC or ASSP
JP3444227B2 (en) How to prevent unauthorized use of software
JPH11282667A (en) Microprocessor having cipher processing function of multiple key system
CN113343215A (en) Embedded software authorization and authentication method and electronic equipment
JP5332004B2 (en) Electronic device and its unauthorized use prevention method
JPH11282756A (en) Secret data management method
JPH11282669A (en) Data processing circuit
JP4676547B2 (en) Semiconductor device and boot method thereof
JP4580024B2 (en) Content playback method
JP4336690B2 (en) Semiconductor device having external interface
JP4580030B2 (en) Secure device
JP2007272923A5 (en)
JP2007272923A (en) server
JP2007249996A (en) Program development support apparatus and program implementation method
JP2010033613A (en) Information processor

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050607