JP3642533B2 - Program card and computer using the same - Google Patents

Program card and computer using the same Download PDF

Info

Publication number
JP3642533B2
JP3642533B2 JP08706394A JP8706394A JP3642533B2 JP 3642533 B2 JP3642533 B2 JP 3642533B2 JP 08706394 A JP08706394 A JP 08706394A JP 8706394 A JP8706394 A JP 8706394A JP 3642533 B2 JP3642533 B2 JP 3642533B2
Authority
JP
Japan
Prior art keywords
program
address value
program information
instruction
card
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.)
Expired - Fee Related
Application number
JP08706394A
Other languages
Japanese (ja)
Other versions
JPH07295802A (en
Inventor
直志 内平
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP08706394A priority Critical patent/JP3642533B2/en
Publication of JPH07295802A publication Critical patent/JPH07295802A/en
Application granted granted Critical
Publication of JP3642533B2 publication Critical patent/JP3642533B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

【0001】
【産業上の利用分野】
この発明は、プログラムカード及びこれを用いた計算機に関するものである。
【0002】
【従来の技術】
近年、集積回路(LSI,VLSI等を含む。以下「IC等」という)に対する集積化技術の発達はめざましく、カートリッジ又は薄型のカード(以下「カード等」という)内にROM型又はRAM型のIC等を設け、これに計算の手順を示すプログラムと計算データとを(以下「プログラム情報」という)記憶させることにより、容易に着脱可能な計算機の主記憶装置や補助記憶装置(以下「記憶装置」という)として利用することが一般的となっている。
【0003】
ところで、このIC等に記憶されるプログラム情報等は、2進数で表現されており、このプログラム情報は、一括して計算機内のメインメモリに読み込まれる。そして、このメインメモリから計算機の中央処理装置(以下「CPU」という)が逐次読み出しながら、その内容を解釈して命令を実行する。このように、プログラム情報を計算機の記憶装置の中に読み込んで、それを逐次読み出しながら、解釈実行していく計算機をノイマン(Neumann )型計算機と呼ばれている。
【0004】
しかしながら、上記ノイマン型計算機における従来の着脱可能な記憶装置では、計算機本体のCPUとの間で所定の信号線を介してプログラム情報の通信を行う必要がある。従って、この信号線を介してあたかもCPUがプログラム情報を読み出すのと同じように、ユーザはプログラム解読装置によりプログラム情報を読み出してプログラム情報の解読を行うことが可能である。このことは、たとえIC化されていても、プログラム情報を信号線を介して通信する限り、プログラム情報の解読が可能であることを意味し、莫大な開発費をかけて生産したプログラム情報を、第三者による不正な複製又は改造から保護することが困難であった。
【0005】
【発明が解決しようとする課題】
上記ノイマン型計算機における従来の着脱可能な記憶装置では、計算機本体のCPUとの間で所定の信号線を介してプログラム情報の通信を行う必要がある。従って、この信号線を介してあたかもCPUがプログラム情報を読み出すのと同じように、ユーザはプログラム解読装置によりプログラム情報を読み出してプログラム情報の解読を行うことが可能である。このことは、たとえIC化されていても、プログラム情報を信号線を介して通信する限り、プログラム情報の解読が可能であることを意味し、莫大な開発費をかけて生産したプログラム情報を、第三者による不正な複製又は改造等から保護することが困難であった。
そこで、本発明は、プログラム情報の不正な複製又は改造等を困難とする記憶装置及びこれを用いた計算機を提供するものである。
【0006】
【課題を解決するための手段】
第1発明のうち請求項1に係る発明は、アドレスの付された単位記憶セル群にプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、前記計算機本体から送出される前記アドレスを示すアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と、この手段により読出されたプログラム情報を前記計算機本体に送出する手段とを備えたプログラムカードである。
【0007】
ここで、プログラムカード内の単位記憶セル群は、以下の実施例中、プログラム記憶装置に対応する。そして、外部からのアドレス指定信号(アドレス値)及び読み出し/書き込み信号により、アドレス指定信号の示すアドレスの割り当てられた単位記憶セルからプログラム情報を読み出し、また、単位記憶セルに書き込むことができる
また、第1発明のうち請求項2に係る発明は、アドレスの付された単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、前記プログラムカードは、前記アドレスを示すアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と、この手段により読出されたプログラム情報を前記計算機本体に送出する手段とを備え、前記計算機本体は、前記アドレス値を保持するアドレス値保持手段と、この手段に保持されたアドレス値を前記プログラムカードのプログラム情報読出し手段に送出するアドレス値送出手段と、前記プログラム情報送出手段から送出されたプログラム情報に基づいて命令制御を実行する命令制御実行手段とを備えたプログラムカード及びこれを用いた計算機である。
【0008】
第2発明のうち請求項3に係る発明は、アドレスの付された単位記憶セル群にプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、前記計算機本体から送出された前記アドレスを示すアドレス値を、所定の暗号キーに基づいて復号化する復号化手段と、この手段により復号化されたアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と、この手段により読出されたプログラム情報のうち、命令コード部とアドレスオペランド部とを識別する手段と、この手段により識別されたアドレスオペランド部を、所定の暗号キーに基づいて暗号化する暗号化手段と、前記命令コード部及び前記暗号化手段により暗号化されたアドレスオペランド部を前記計算機本体に送出するプログラム情報送出手段とを備えたプログラムカードである。
【0009】
また、第2発明のうち請求項4に係る発明は、アドレスの付された単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、前記プログラムカードは、前記アドレスを示すアドレス値を所定の暗号キーに基づいて復号化する復号化手段と、この手段により復号化されたアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出手段と、この手段により読出されたプログラム情報のうち、命令コード部とアドレスオペランド部とを識別する手段と、この手段により識別されたアドレスオペランド部を、所定の暗号キーに基づいて暗号化する暗号化手段と、前記命令コード部及び前記暗号化手段により暗号化されたアドレスオペランド部を前記計算機本体に送出するプログラム情報送出手段とを備え、前記計算機本体は、前記アドレス値を保持するアドレス値保持手段と、この手段に保持されたアドレス値を前記プログラムカードのプログラム情報読出し手段に送出するアドレス値送出手段と、前記プログラム情報送出手段により送出された命令コード部及び暗号化されたアドレスオペランド部に基づいて命令制御を実行する命令制御実行手段とを備えたプログラムカード及びこれを用いた計算機である。
【0010】
第3発明のうち請求項5に係る発明は、アドレスの付された単位記憶セル群にプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、前記アドレスを示すアドレス値を保持するアドレス値保持手段と、この手段に保持されたアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出手段と、この手段により読出されたプログラム情報が所定の条件を満たす場合に、前記アドレス値保持手段に保持されているアドレス値を変更するアドレス値変更手段と、前記プログラム情報読出手段により読出されたプログラム情報を前記計算機本体に送出するプログラム情報送出手段とを備えたプログラムカードである。
【0011】
また、第3発明のうち請求項6に係る発明は、アドレスの付された単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、前記プログラムカードは、前記アドレスを示すアドレス値を保持するアドレス値保持手段と、この手段に保持されたアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出手段と、この手段により読出されたプログラム情報が所定の条件を満たす場合に、前記アドレス値保持手段に保持されているアドレス値を変更するアドレス値変更手段と、前記プログラム情報読出手段により読出されたプログラム情報を前記計算機本体に送出するプログラム情報送出手段とを備え、前記計算機本体は、前記プログラム情報送出手段により送出されたプログラム情報に基づいて命令制御を実行する命令制御実行手段とを備えたプログラムカード及びこれを用いた計算機である。
【0012】
【作用】
第1発明によれば、プログラム情報を格納したプログラム記憶装置と機械語命令読み出し装置とをプログラムカード内に設けて、1ステップずつ計算機本体に機械語命令を送出する。これによって、全プログラム情報を計算機の主記憶装置にロードする必要がなくなる。
【0013】
第2発明によれば、プログラムカード内に暗号化装置、暗号キー発生装置及び復号化装置を設け、プログラムカウンタの内容を暗号化装置により暗号化する。ここで、生成される暗号キーは毎回変化するので、もとのアドレス値が同じであっても毎回異なる暗号化されたアドレス値になる。従って、外部からはプログラム上のどの場所に戻ったのかがわからなくなり、プログラムの実行制御を外部から隠ぺいすることができる。
【0014】
第3発明によれば、プログラムカウンタ及びこのプログラムカウンタの内容を制御するプログラムカウンタ計算装置をプログラムカード内に設けているので、プログラムの実行制御が計算機本体と完全に分離されることになる。これにより、通常のプログラムカウンタの更新及び実行制御命令に基づくプログラムカウンタの更新をプログラムカード内で行うので、JUMP命令等によりプログラムを実行する場合にも実行制御を完全に隠ぺいすることができるようになる。
【0015】
【実施例】
以下、図面を参照しながら本発明の一実施例について説明する。
図1は、本発明に係るプログラムカード及びこれを用いた計算機の適用対象を示す図である。同図に示すように、本発明は、プログラム情報が記憶されたプログラムカード1をプログラムカードリーダ2に装着することにより計算機本体3からアクセス可能とし、該プログラム情報に従ってプログラムを実行するものに関するものである。
【0016】
ここで、プログラムカード1は、内部に設けられたROMやRAM、EEPROM等の集積回路によりプログラム情報を記憶することが可能ないわゆるICカードであり、カード型のみならずカートリッジ型のものも含まれるものとする。また、このプログラムカード1は、外部ケースにより内部の集積回路が保護されているが、外部ケースを開封するとICカードの内容が消失するような構造になっている方が好ましい。
【0017】
また、プログラムカードリーダ2は、プログラムカード1を着脱することができ、装着されたプログラムカード1内に記憶されたプログラム情報を読出し、また、計算機本体3からのプログラム情報を書込む場合の入出力装置の役目を果たしている。
【0018】
計算機本体3は、キーボートやディスプレイ、補助記憶装置、主記憶装置、中央処理装置等から構成され、通常の計算機の機能を備えているものとし、本発明ではそれに加え、プログラムカードリーダ2を介して後述するプログラムカード1とアクセスするための機能を備えている。
[第1発明]
図2は、第1発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図である。
【0019】
本発明は、プログラムカード内にプログラム情報を記憶し、計算機本体からの読み出し要求により、プログラムカード内に格納されたプログラム情報をその都度計算機本体に送出する
即ち、同図において、命令制御装置201は、プログラムカウンタ(PC)202の内容(アドレス値)をプログラムリーダ2を介してプログラムカード1内の機械語命令読み出し装置203に送出する。機械語命令読み出し装置203は、アドレス値に従ってプログラム記憶装置204から機械語命令を読み出し、これをプログラムリーダ2を介して計算機本体3の命令解釈実行装置205に送出する。命令解釈実行装置は、この機械語命令を解釈し、その結果に基づいて命令の実行を行い、必要であれば主記憶装置206をアクセスする。
【0020】
以上のような本発明に係るプログラムカード及びこれを用いた計算機の構成をさらに詳述する。
図3は、第1発明に係るプログラムカード及びこれを用いた計算機の構成を示す詳細図である。
【0021】
同図において、計算機本体に設けられている演算装置(ALU)301は、Lバス及びRバスで与えられたデータに対し演算指定により指定された演算を行って、演算結果をOバスに出力する。
【0022】
条件コードレジスタ(CCR)302は、演算装置301で行われた演算結果の状態(例えば、N,Z,V,C)を後述する命令制御装置201からの指定によりセットすることができる。
【0023】
アキュムレータレジスタ(ACC)303は、いわゆる作業用レジスタであり、Oバスから取り込んだデータをLバスに出力することができる。
上述したプログラムカウンタ202は、命令制御装置201からの指令により、そのアドレス値を1増加することができるようになっている。プログラムカウンタ202の内容は、Lバス及びA1 バスに出力することができるようになっている。
【0024】
主記憶番地レジスタ(MAR)304、読み出し用データレジスタ(RDR)305、書き込み用データレジスタ(WDR)306は、それぞれ主記憶装置の読み書きに使われる。
【0025】
命令レジスタ(IR)307は、命令コード部とオペランド部とから構成される機械語命令をセットすることができ、命令コード部は命令制御装置201に、オペランド部はLバスに送出される。
【0026】
命令制御装置201は、命令コード部や条件コードレジスタ302の内容により、上記各レジスタから各バスへの出力、各バスから各レジスタへの入力、演算の指定、主記憶装置206の読み書き制御等を行うことができる。このための制御信号線は、命令制御装置201から各レジスタに配線されているが、ここでは省略する。
【0027】
一方、プログラムカード内に設けられている機械語命令読み出し装置203は、計算機本体に設けられたプログラムカウンタ202からアドレス値を取り込み、これをプログラム記憶装置204に送出する。同時に、機械語命令読み出し装置203は、そのアドレス値を受けることによって、読み出し信号線308aを読み出し状態(例えば、「H」)に、選択信号線309aをアクティブ(例えば、「L」)にして、プログラム記憶装置204からデータを読み出し、これを計算機本体の命令レジスタ307に送出する。
【0028】
以上のように構成された本発明に係るプログラムカーと及びこれを用いた計算機は、以下のように動作する。
即ち、命令制御装置201は、まずプログラムカウンタ202の内容をA1 バスに出力する。A1 バスに出力されたアドレス値は、プログラムカードリーダ(図示せず)を介して命令読み出し装置203に送出される。命令読み出し装置203は、プログラムカウンタ202からのアドレス値をプログラム記憶装置204に送出するとともに、読み出し信号線308aを「H」に、選択信号線309bをアクティブにする。そして、プログラム記憶装置読み出し時間だけ待った後、つまり、読み出されたデータが命令読み出し装置203に取り込まれるであろう時間後に、これを取り込む。さらに命令読み出し装置203は、読み出されたデータをプログラムカードリーダを介して命令レジスタ307に送出し、命令レジスタ307はこれを取り込む。この動作は、通常の計算機でいう命令フェッチに相当する。命令フェッチの後、次の命令の実行へ移る準備としてプログラムカウンタ202の内容を1増加させる。
【0029】
命令レジスタ307は、取り込まれたデータのうち命令コード部を命令制御装置201に送出することにより、命令制御装置201ではその命令コードを解釈し、その結果に従って動作を行う。
【0030】
例えば、命令レジスタに取り込まれたデータがLOAD命令であるとする。すると命令制御装置201は、命令レジスタ307のオペランド部をRバスに出力し、Lバスには何も出力せずに、演算指定を加算にする。これによってLバスのデータはそのままOバスに出力されるので、このデータを主記憶番地レジスタ304に取り込む。
【0031】
次に、主記憶番地レジスタ5の内容をA2 バスに出力し、読み出し信号線308bを「H」に選択信号線309bをアクティブにして主記憶装置206を読む。これによって主記憶番地レジスタ304の内容、つまりLOAD命令のオペランド部で示された値に従って主記憶装置から読み出される。この動作は、通常の計算機でいうオペランドフェッチに相当する。そして、記憶装置の読み出し時間だけ待った後、Dバス上に読み出されたデータを読み出し用データレジスタ305に取り込む。
【0032】
次に、読み出し用データレジスタ305の内容をRバスに出力し、Lバスには何も出力せずに、演算指定を加算にする。この結果、Rバス上のデータはそのままOバスに出力されるので、Oバス上のデータをアキュムレータレジスタ303に取り込む。また、演算装置の演算結果の状態のうちの「N」と「Z」に対応する部分を条件コードレジスタ302に取り込む。この動作は、命令実行に相当する。
【0033】
このようにしてLOAD命令の実行が完了するので、命令制御装置201は、命令フェッチ、オペランドフェッチ、命令実行を繰り返す。
なお、本実施例においては、LOAD命令のみ示したが、主記憶装置206に書込む命令であるSTORE命令や実行順序を制御するJUMP命令においても同様に動作する。
【0034】
以上のように、第1の発明によれば、プログラム情報を格納したプログラム記憶装置311と機械語命令読み出し装置とをプログラムカード内に設けて、1ステップずつ計算機本体に機械語命令を送出しているので、全プログラム情報を計算機の主記憶装置にロードする必要がなくなる。従って、ユーザは、プログラム情報の特定の実行系列については把握することができるが、たかだか1回の実行では全ての命令が実行されず、プログラム全体がどのようになっているかを容易に解読することができない。
[第2発明]
図4は、第2発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図である。
【0035】
本発明は、プログラムカード内に格納されたプログラム情報を特定の実行系列に対しても解読を困難とすべく、第1発明に対しさらに暗号化・復号化に関する構成を加えている。なお、第1発明と同じものに対しては、同じ符号を付している。
【0036】
即ち、同図において、プログラムカウンタ202からの内容をプログラムリーダ2を介してプログラムカード1内の復号化装置401に送出する。ここで、プログラムカウンタ202の内容は、後述する暗号化装置402により暗号化されたアドレス値X(Xは任意のビット数)とインデックス値C(Cは任意のビット数)とから構成されており、これを「(X,C)」と表すこととする。
【0037】
復号化装置401では、暗号化されたアドレス値Xを復号化し、この復号化された値xにインデックス値Cを加えた値を本来のアドレス値として、機械語命令読み出し装置203に送出する。機械語命令読み出し装置203は、このアドレス値に従ってプログラム記憶装置204から機械語命令を読み出し、これを暗号化装置402に送出する。
【0038】
暗号化装置402では、機械語命令のうちオペランド部の値を暗号キー発生装置403により生成された暗号キーに従って暗号化した後、この暗号化されたアドレス値X’をプログラムリーダ2を介して計算機本体3の命令解釈実行装置205に送出する。
【0039】
命令解釈実行装置205は、この機械語命令を解釈し、その結果に基づいて命令の実行を行い、必要であれば主記憶装置206をアクセスする。また、本発明では、命令解釈実行装置205によって実行制御命令(例えば、JUMP命令等)であると解釈された場合には、オペランド部に記述されている暗号化されたアドレス値X’をプログラムカウンタ202に新たにセットする。これに対して、実行制御命令以外の命令(例えば、LOAD命令等)の場合には、プログラムカウンタ202の内容のインデックス値を1つ増やす。
【0040】
例えば、プログラムの実行アドレスを図5(a)に示すプログラムに従って説明する。即ち、同図(a)に示すプログラムは、メモリM2の内容にメモリM3の内容を乗じた値をメモリM1の内容とするプログラムである。今、メモリM3の内容が「2」の場合、プログラムカウンタ202の内容は同図(b)のようになる。つまり、S5やS9のJUMP命令(BLE、JMP)を解釈実行する際に、オペランド部に記述されたアドレス値「S10」や「S2」が暗号化されるので、外部からはプログラム上のどの場所に戻ったのかがわからなくなる。これによって、S2乃至S9のループ構造が隠ぺいすることができ、プログラムの解読画より一層困難なものとなる。
【0051】
【発明の効果】
以上のように、第1発明によれば、プログラム情報を格納したプログラム記憶装置と機械語命令読み出し装置とをプログラムカード内に設けて、1ステップずつ計算機本体に機械語命令を送出しているので、全プログラム情報を計算機の主記憶装置にロードする必要がなくなる。従って、ユーザは、プログラム情報の特定の実行系列については把握することができるが、たかだか1回の実行では全ての命令が実行されず、プログラム全体がどのようになっているかを容易に解読することができなくなる。
【0052】
第2発明によれば、実行制御命令であるJUMP命令等を解釈実行する際に、オペランド部に記述されたアドレス値が暗号化されるので、外部からはプログラム上のどの場所に戻ったのかがわからなくなる。これによって、プログラムのループ構造が隠ぺいすることができ、プログラムの解読画より一層困難なものとなる。
【0053】
第3発明によれば、通常のプログラムカウンタの更新及び実行制御命令に基づくプログラムカウンタの更新をプログラムカード内で行うので、実行制御命令であるJUMP命令等によりプログラムを実行する場合にも実行制御を完全に隠ぺいすることができるようになる。
【図面の簡単な説明】
【図1】 本発明に係るプログラムカード及びこれを用いた計算機の適用対象を示す図。
【図2】 第1発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図。
【図3】 第1発明に係るプログラムカード及びこれを用いた計算機の構成を示す詳細図。
【図4】 第2発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図。
【図5】 実行制御を説明するためのプログラムを示す図。
【図6】 第3発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図。
【図7】 第3発明に係るプログラムカード及びこれを用いた計算機の構成を示す詳細図。
【符号の説明】
1…プログラムカード
2…プログラムカードリーダ
3…計算機本体
201…命令制御装置
202…プログラムカウンタ
203…機械語命令読みだし装置
204…プログラム記憶装置
205…命令解釈実行装置
206…主記憶装置
[0001]
[Industrial application fields]
The present invention relates to a program card and a computer using the program card.
[0002]
[Prior art]
In recent years, the integration technology for integrated circuits (including LSI, VLSI, etc., hereinafter referred to as “ICs”) has been remarkably developed. Etc., and a program and calculation data (hereinafter referred to as “program information”) indicating a calculation procedure are stored therein, thereby easily detachable computer main storage device or auxiliary storage device (hereinafter referred to as “storage device”). It has become common to use as
[0003]
By the way, the program information and the like stored in the IC and the like are expressed in binary numbers, and the program information is collectively read into the main memory in the computer. Then, the central processing unit (hereinafter referred to as “CPU”) of the computer sequentially reads from the main memory, interprets the contents and executes the instructions. A computer that reads program information into a storage device of a computer and interprets it while sequentially reading it is called a Neumann computer.
[0004]
However, in the conventional removable storage device in the Neumann computer, it is necessary to communicate program information with a CPU of the computer main body via a predetermined signal line. Therefore, the user can read out the program information by the program decoding device and decode the program information as if the CPU read out the program information through the signal line. This means that program information can be decoded as long as the program information is communicated via a signal line even if it is integrated into an IC. It was difficult to protect against unauthorized duplication or modification by a third party.
[0005]
[Problems to be solved by the invention]
In the conventional removable storage device in the Neumann computer, it is necessary to communicate program information with a CPU of the computer main body via a predetermined signal line. Therefore, the user can read out the program information by the program decoding device and decode the program information as if the CPU read out the program information through the signal line. This means that program information can be decoded as long as the program information is communicated via a signal line even if it is integrated into an IC. It was difficult to protect against unauthorized duplication or modification by a third party.
Therefore, the present invention provides a storage device that makes it difficult to illegally copy or remodel program information, and a computer using the same.
[0006]
[Means for Solving the Problems]
The invention according to claim 1 of the first invention is a program card in which program information is stored in an addressed unit storage cell group, and the program information is read out via a predetermined interface in response to a command from the computer main body. A program information reading means for reading program information from the unit storage cell in accordance with an address value indicating the address sent from the computer main body, and means for sending the program information read by the means to the computer main body. It is a program card provided.
[0007]
Here, the unit storage cell group in the program card corresponds to a program storage device in the following embodiments. The program information can be read from the unit storage cell to which the address indicated by the address specification signal is assigned and written to the unit storage cell by an external address specification signal (address value) and a read / write signal. The invention according to claim 2 of the first invention is the program card storing the program information in the unit storage cell group to which the address is attached, and the program information stored in the program card is read out through a predetermined interface. A program card comprising a computer main body for interpreting and executing and a computer using the program card, wherein the program card reads program information from the unit memory cell in accordance with an address value indicating the address; , Program read by this means Means for sending information to the computer main body, the computer main body sending address value holding means for holding the address value, and sending the address value held in this means to the program information reading means of the program card. A program card comprising an address value sending means and an instruction control execution means for executing command control based on the program information sent from the program information sending means, and a computer using the program card.
[0008]
The invention according to claim 3 of the second invention is a program card in which program information is stored in an addressed unit storage cell group, and the program information is read out via a predetermined interface in response to a command from the computer main body. And decrypting the address value indicating the address sent from the computer main body based on a predetermined encryption key, and the program information from the unit memory cell according to the address value decrypted by the means Program information reading means for reading, means for identifying an instruction code portion and an address operand portion of the program information read by this means, and an address operand portion identified by this means based on a predetermined encryption key Encryption means for encrypting, and the instruction code part and the encryption means The Goka address operand portion is a program card with program information sending means for sending to said computer main body.
[0009]
According to a fourth aspect of the second invention, a program card storing program information in an addressed unit storage cell group and the program information stored in the program card via a predetermined interface are provided. A program card having a computer main body for reading, interpreting and executing, and a computer using the program card, wherein the program card decrypts an address value indicating the address based on a predetermined encryption key And program information reading means for reading program information from the unit memory cell according to the address value decoded by the means, and an instruction code portion and an address operand portion of the program information read by the means are identified. Means and an address operand part identified by the means are connected to a predetermined encryption key. Encryption means for encrypting based on the command code, and program information sending means for sending the instruction code part and the address operand part encrypted by the encryption means to the computer main body, the computer main body comprising the address An address value holding means for holding a value, an address value sending means for sending the address value held in this means to the program information reading means of the program card, and an instruction code part and a cipher sent by the program information sending means And a computer using the program card including instruction control execution means for executing instruction control based on the converted address operand part.
[0010]
The invention according to claim 5 of the third invention is a program card in which program information is stored in an addressed unit storage cell group, and the program information is read out via a predetermined interface in response to a command from the computer main body. The address value holding means for holding the address value indicating the address, the program information reading means for reading the program information from the unit memory cell according to the address value held in the means, and the program information read by the means , The address value changing means for changing the address value held in the address value holding means, and the program information for sending the program information read by the program information reading means to the computer main body A program card comprising sending means.
[0011]
The invention according to claim 6 of the third invention is a program card storing program information in a unit storage cell group to which an address is attached, and the program information stored in the program card via a predetermined interface. A program card having a computer main body for reading, interpreting and executing, and a computer using the program card, the program card being held in the address value holding means for holding an address value indicating the address, and the means Program information reading means for reading program information from the unit memory cell according to the address value, and when the program information read by the means satisfies a predetermined condition, the address value held in the address value holding means is Address value changing means to be changed and read by the program information reading means Program information sending means for sending the program information to the computer main body, and the computer main body comprises instruction control execution means for executing command control based on the program information sent by the program information sending means. A program card and a computer using the program card.
[0012]
[Action]
According to the first invention, the program storage device storing the program information and the machine language command reading device are provided in the program card, and the machine language command is sent to the computer main body step by step. This eliminates the need to load all program information into the main memory of the computer.
[0013]
According to the second invention, the encryption device, the encryption key generation device, and the decryption device are provided in the program card, and the contents of the program counter are encrypted by the encryption device. Here, since the generated encryption key changes every time, even if the original address value is the same, it becomes a different encrypted address value every time. Therefore, it is not possible to know where the program has returned from the outside, and the execution control of the program can be hidden from the outside.
[0014]
According to the third invention, since the program counter and the program counter calculation device for controlling the contents of the program counter are provided in the program card, the program execution control is completely separated from the computer main body. As a result, the normal program counter update and the update of the program counter based on the execution control instruction are performed in the program card, so that the execution control can be completely hidden even when the program is executed by the JUMP instruction or the like. Become.
[0015]
【Example】
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing an application target of a program card according to the present invention and a computer using the program card. As shown in the figure, the present invention relates to an apparatus for making a computer card 3 accessible by attaching a program card 1 storing program information to a program card reader 2 and executing a program according to the program information. is there.
[0016]
Here, the program card 1 is a so-called IC card capable of storing program information by an integrated circuit such as a ROM, RAM, or EEPROM provided therein, and includes not only a card type but also a cartridge type. Shall. The program card 1 has a structure in which the internal integrated circuit is protected by the outer case, but the structure of the IC card is lost when the outer case is opened.
[0017]
The program card reader 2 can be attached to and detached from the program card 1, reads program information stored in the installed program card 1, and inputs / outputs when writing program information from the computer main body 3. It plays the role of a device.
[0018]
The computer main body 3 is composed of a keyboard, a display, an auxiliary storage device, a main storage device, a central processing unit, and the like, and has a function of a normal computer. In the present invention, in addition to that, via the program card reader 2 A function for accessing a program card 1 to be described later is provided.
[First invention]
FIG. 2 is a conceptual diagram showing the configuration of the program card according to the first invention and a computer using the program card.
[0019]
The present invention stores program information in a program card, and sends the program information stored in the program card to the computer main body each time a read request is received from the computer main body. That is, in FIG. The contents (address value) of the program counter (PC) 202 are sent to the machine language instruction reading device 203 in the program card 1 via the program reader 2. The machine language instruction reading device 203 reads a machine language instruction from the program storage device 204 according to the address value, and sends it to the instruction interpretation execution device 205 of the computer main body 3 via the program reader 2. The instruction interpretation execution device interprets the machine language instruction, executes the instruction based on the result, and accesses the main storage device 206 if necessary.
[0020]
The configuration of the program card according to the present invention as described above and a computer using the program card will be further described in detail.
FIG. 3 is a detailed view showing the configuration of the program card according to the first invention and a computer using the program card.
[0021]
In the figure, an arithmetic unit (ALU) 301 provided in the computer main body performs an operation designated by the operation designation on the data given by the L bus and the R bus, and outputs the operation result to the O bus. .
[0022]
The condition code register (CCR) 302 can set the state (for example, N, Z, V, C) of the result of the operation performed by the operation device 301 by designation from the instruction control device 201 described later.
[0023]
The accumulator register (ACC) 303 is a so-called working register, and can output data fetched from the O bus to the L bus.
The program counter 202 described above can increase its address value by 1 in response to a command from the instruction control device 201. The contents of the program counter 202 can be output to the L bus and the A1 bus.
[0024]
A main storage address register (MAR) 304, a read data register (RDR) 305, and a write data register (WDR) 306 are used for reading and writing of the main storage device.
[0025]
The instruction register (IR) 307 can set a machine language instruction composed of an instruction code part and an operand part. The instruction code part is sent to the instruction control unit 201 and the operand part is sent to the L bus.
[0026]
The instruction control unit 201 performs output from each register to each bus, input from each bus to each register, designation of calculation, read / write control of the main storage device 206, etc. according to the contents of the instruction code part and the condition code register 302. It can be carried out. A control signal line for this purpose is wired from the instruction control device 201 to each register, but is omitted here.
[0027]
On the other hand, the machine language instruction reading device 203 provided in the program card takes in the address value from the program counter 202 provided in the computer main body and sends it to the program storage device 204. At the same time, by receiving the address value, the machine language instruction reading device 203 sets the read signal line 308a to the read state (for example, “H”) and the select signal line 309a to be active (for example, “L”). Data is read from the program storage device 204 and sent to the instruction register 307 of the computer main body.
[0028]
The program car according to the present invention configured as described above and the computer using the same operate as follows.
That is, the instruction control device 201 first outputs the contents of the program counter 202 to the A1 bus. The address value output to the A1 bus is sent to the instruction reading device 203 via a program card reader (not shown). The instruction reading device 203 sends the address value from the program counter 202 to the program storage device 204 and activates the read signal line 308a to “H” and the selection signal line 309b. Then, after waiting for the program storage device reading time, that is, after the time when the read data will be taken into the instruction reading device 203, it is taken in. Further, the instruction reading device 203 sends the read data to the instruction register 307 via the program card reader, and the instruction register 307 takes in the data. This operation corresponds to instruction fetching in a normal computer. After the instruction fetch, the contents of the program counter 202 are incremented by 1 in preparation for moving to the next instruction.
[0029]
The instruction register 307 transmits an instruction code portion of the fetched data to the instruction control device 201, so that the instruction control device 201 interprets the instruction code and performs an operation according to the result.
[0030]
For example, assume that the data fetched into the instruction register is a LOAD instruction. Then, the instruction control device 201 outputs the operand part of the instruction register 307 to the R bus, does not output anything to the L bus, and adds the operation designation. As a result, the data on the L bus is output to the O bus as it is, and this data is taken into the main memory address register 304.
[0031]
Next, the contents of the main memory address register 5 are output to the A 2 bus, the read signal line 308b is set to “H”, and the selection signal line 309b is activated to read the main memory device 206. As a result, the data is read from the main memory according to the contents of the main memory address register 304, that is, the value indicated by the operand part of the LOAD instruction. This operation corresponds to operand fetch in a normal computer. Then, after waiting for the read time of the storage device, the data read on the D bus is taken into the read data register 305.
[0032]
Next, the contents of the read data register 305 are output to the R bus, nothing is output to the L bus, and the operation designation is added. As a result, since the data on the R bus is output to the O bus as it is, the data on the O bus is taken into the accumulator register 303. Further, the portion corresponding to “N” and “Z” in the state of the operation result of the operation device is taken into the condition code register 302. This operation corresponds to instruction execution.
[0033]
Since the execution of the LOAD instruction is completed in this way, the instruction control device 201 repeats instruction fetch, operand fetch, and instruction execution.
In this embodiment, only the LOAD instruction is shown, but a STORE instruction that is an instruction to be written in the main storage device 206 and a JUMP instruction that controls the execution order also operate in the same manner.
[0034]
As described above, according to the first invention, the program storage device 311 storing the program information and the machine language instruction reading device are provided in the program card, and the machine language instructions are sent to the computer main body step by step. This eliminates the need to load all program information into the main memory of the computer. Therefore, the user can grasp the specific execution sequence of the program information, but it is easy to decipher what the entire program looks like, as not all instructions are executed at most once. I can't.
[Second invention]
FIG. 4 is a conceptual diagram showing the configuration of a program card according to the second invention and a computer using the program card.
[0035]
The present invention further adds a configuration related to encryption / decryption to the first invention in order to make it difficult to decrypt the program information stored in the program card even for a specific execution sequence. In addition, the same code | symbol is attached | subjected about the same thing as 1st invention.
[0036]
That is, in the figure, the content from the program counter 202 is sent to the decryption device 401 in the program card 1 via the program reader 2. Here, the contents of the program counter 202 are composed of an address value X (X is an arbitrary number of bits) and an index value C (C is an arbitrary number of bits) encrypted by an encryption device 402 described later. This is expressed as “(X, C)”.
[0037]
The decryption device 401 decrypts the encrypted address value X, and sends a value obtained by adding the index value C to the decrypted value x to the machine language instruction reading device 203 as an original address value. The machine language instruction reading device 203 reads a machine language instruction from the program storage device 204 according to the address value, and sends it to the encryption device 402.
[0038]
The encryption device 402 encrypts the value of the operand part of the machine language instruction in accordance with the encryption key generated by the encryption key generation device 403, and then uses the program reader 2 to calculate the encrypted address value X ′. It is sent to the instruction interpretation execution device 205 of the main body 3.
[0039]
The instruction interpretation execution device 205 interprets the machine language instruction, executes the instruction based on the result, and accesses the main storage device 206 if necessary. Also, in the present invention, when the instruction interpretation execution unit 205 interprets an execution control instruction (for example, a JUMP instruction), the encrypted address value X ′ described in the operand part is used as the program counter. 202 is set anew. On the other hand, in the case of an instruction other than the execution control instruction (for example, a LOAD instruction), the index value of the contents of the program counter 202 is increased by one.
[0040]
For example, the execution address of the program will be described according to the program shown in FIG. That is, the program shown in FIG. 5A is a program in which the content of the memory M1 is obtained by multiplying the content of the memory M2 by the content of the memory M3. If the contents of the memory M3 are “2”, the contents of the program counter 202 are as shown in FIG. That is, when interpreting and executing the JUMP instruction (BLE, JMP) of S5 or S9, the address value “S10” or “S2” described in the operand part is encrypted, so that any location on the program from the outside I don't know how I returned to As a result, the loop structure of S2 to S9 can be concealed, which is more difficult than the decoded image of the program.
[0051]
【The invention's effect】
As described above, according to the first invention, the program storage device storing the program information and the machine language instruction reading device are provided in the program card, and the machine language instructions are sent to the computer main body step by step. This eliminates the need to load all program information into the main memory of the computer. Therefore, the user can grasp the specific execution sequence of the program information, but it is easy to decipher how the entire program is, because not all instructions are executed in one execution at most. Can not be.
[0052]
According to the second invention, when interpreting and executing a JUMP instruction or the like which is an execution control instruction, the address value described in the operand part is encrypted. become unable to know. As a result, the loop structure of the program can be concealed, which is more difficult than the decoded picture of the program.
[0053]
According to the third invention, normal program counter updating and program counter updating based on execution control instructions are performed in the program card. Therefore, even when a program is executed by a JUMP instruction or the like as an execution control instruction, execution control is performed. Can be completely hidden.
[Brief description of the drawings]
FIG. 1 is a diagram showing an application target of a program card according to the present invention and a computer using the program card.
FIG. 2 is a conceptual diagram showing the configuration of a program card according to the first invention and a computer using the program card.
FIG. 3 is a detailed view showing the configuration of a program card according to the first invention and a computer using the program card.
FIG. 4 is a conceptual diagram showing the configuration of a program card according to a second invention and a computer using the program card.
FIG. 5 is a diagram showing a program for explaining execution control.
FIG. 6 is a conceptual diagram showing the configuration of a program card according to a third invention and a computer using the program card.
FIG. 7 is a detailed view showing the configuration of a program card according to a third invention and a computer using the program card.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Program card 2 ... Program card reader 3 ... Computer main body 201 ... Command control apparatus 202 ... Program counter 203 ... Machine language command reading device 204 ... Program storage device 205 ... Command interpretation execution device 206 ... Main memory device

Claims (4)

1ステップのプログラム情報が記憶されアドレスの付された単位記憶セルからなる単位記憶セル群にプログラムを構成する機械語命令からなるプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、
前記計算機本体から送出された前記アドレスを示すアドレス値を、所定の暗号キーに基づいて復号化する復号化手段と、
この手段により復号化されたアドレス値に対応する前記単位記憶セルからプログラム情報を1ステップずつ読出すプログラム情報読出し手段と、
この手段により読出されたプログラム情報のうち、命令コード部とアドレス値とを識別する手段と、
この手段により識別された命令コードが実行制御命令の場合にアドレス値を、所定の暗号キーに基づいて暗号化する暗号化手段と、
前記命令コード部及び前記暗号化手段により暗号化されたアドレス値を前記計算機本体に送出するプログラム情報送出手段とを備えたことを特徴とするプログラムカード。
Program information consisting of machine language instructions constituting a program is stored in a unit memory cell group consisting of unit memory cells in which one-step program information is stored and addressed, and through a predetermined interface in response to a command from the computer main body. In the program card from which the program information is read,
Decryption means for decrypting an address value indicating the address sent from the computer main body based on a predetermined encryption key;
Program information reading means for reading program information step by step from the unit storage cell corresponding to the address value decoded by the means;
Of the program information read by the means, means for identifying the instruction code portion and the address value;
Encryption means for encrypting an address value based on a predetermined encryption key when the instruction code identified by the means is an execution control instruction ;
A program card comprising: a program information sending means for sending an address value encrypted by the instruction code part and the encryption means to the computer main body.
1ステップのプログラム情報が記憶されアドレスの付された単位記憶セルからなるアドレスの付されたプログラムを構成する機械語命令列からなる単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、
前記プログラムカードは、
前記アドレスを示すアドレス値を所定の暗号キーに基づいて復号化する復号化手段と、
この手段により復号化されたアドレス値に対応する前記単位記憶セルからプログラム情報を1ステップずつ読出すプログラム情報読出手段と、
この手段により読出されたプログラム情報のうち、命令コード部とアドレス値とを識別する手段と、
この手段により識別された命令コードが実行制御命令の場合にアドレス値を、所定の暗号キーに基づいて暗号化する暗号化手段と、
前記命令コード部及び前記暗号化手段により暗号化されたアドレス値を前記計算機本体に送出するプログラム情報送出手段とを備え、
前記計算機本体は、
前記アドレス値を保持するアドレス値保持手段と、
この手段に保持されたアドレス値を前記プログラムカードのプログラム情報読出し手段に送出するアドレス値送出手段と、
前記プログラム情報送出手段により送出された命令コード部及び暗号化されたアドレス値に基づいて命令制御を実行する命令制御実行手段とを備えたことを特徴とするプログラムカードを用いた計算機。
A program card storing program information in a unit memory cell group comprising machine language instruction sequences constituting an addressed program comprising unit memory cells to which program information of one step is stored and addressed, and the program card A program card including a computer main body for reading, interpreting and executing the program information stored in the computer via a predetermined interface, and a computer using the program card,
The program card is
Decryption means for decrypting an address value indicating the address based on a predetermined encryption key;
Program information reading means for reading program information step by step from the unit storage cell corresponding to the address value decoded by the means;
Of the program information read by the means, means for identifying the instruction code portion and the address value;
Encryption means for encrypting an address value based on a predetermined encryption key when the instruction code identified by the means is an execution control instruction ;
Program information sending means for sending the instruction code part and the address value encrypted by the encryption means to the computer main body,
The computer body is
Address value holding means for holding the address value;
Address value sending means for sending the address value held in this means to the program information reading means of the program card;
A computer using a program card, comprising: an instruction code portion sent by the program information sending means; and an instruction control execution means for executing instruction control based on an encrypted address value.
1ステップのプログラム情報が記憶されアドレスの付された単位記憶セルからなる単位記憶セル群にプログラムを構成する機械語命令からなるプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて:Program information consisting of machine language instructions constituting a program is stored in a unit memory cell group consisting of unit memory cells in which one-step program information is stored and addressed. In the program card from which the program information is read:
前記計算機本体から送出された前記アドレスを示すアドレス値とこのアドレス値との相対位置を示すインデックス値とを受け取り、所定の暗号キーに基づいて前記アドレス値を復号化する復号化手段と;Decryption means for receiving an address value indicating the address sent from the computer main body and an index value indicating a relative position of the address value, and decrypting the address value based on a predetermined encryption key;
この復号化手段により復号化されたアドレス値と前記インデックス値から計算されるアドレスに対応する前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と;Program information reading means for reading program information from the unit memory cell corresponding to an address calculated from the address value decoded by the decoding means and the index value;
この手段により読出されたプログラム情報のうち、命令コード部とアドレス値とを識別する手段と;Means for identifying an instruction code portion and an address value in the program information read by the means;
この手段により識別された命令コードが実行制御命令の場合にアドレス値を、所定の暗号キーに基づいて暗号化する暗号化手段と、Encryption means for encrypting an address value based on a predetermined encryption key when the instruction code identified by the means is an execution control instruction;
前記命令コード部及び前記暗号化手段により暗号化されたアドレス値を前記計算機本体に送出するプログラム情報送出手段とを備えたことを特徴とするプログラムカード。A program card comprising: a program information sending means for sending an address value encrypted by the instruction code part and the encryption means to the computer main body.
1ステップのプログラム情報が記憶されアドレスの付された単位記憶セルからなるアドレスの付されたプログラムを構成する機械語命令列からなる単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって:A program card storing program information in a unit memory cell group comprising machine language instruction sequences constituting an addressed program comprising unit memory cells to which program information of one step is stored and addressed, and the program card A program card including a computer main body that reads, interprets, and executes program information stored in the computer via a predetermined interface and a computer using the program card
前記プログラムカードは、The program card is
前記計算機本体から送出された前記アドレスを示すアドレス値とこのアドレス値との相対位置を示すインデックス値とを受け取り、所定の暗号キーに基づいて前記アドレス値を復号化する復号化手段と;Decryption means for receiving an address value indicating the address sent from the computer main body and an index value indicating a relative position of the address value, and decrypting the address value based on a predetermined encryption key;
前記復号化手段により復号化されたアドレス値と前記インデックス値から計算されるアドレスに対応する前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と;Program information reading means for reading program information from the unit memory cell corresponding to an address calculated from the address value decoded by the decoding means and the index value;
この手段により読出されたプログラム情報のうち、命令コード部とアドレス値とを識別する手段と;Means for identifying an instruction code portion and an address value in the program information read by the means;
この手段により識別された命令コードが実行制御命令の場合にアドレス値を、所定の暗号キーに基づいて暗号化する暗号化手段と;Encryption means for encrypting an address value based on a predetermined encryption key when the instruction code identified by the means is an execution control instruction;
前記命令コード部及び前記暗号化手段により暗号化されたアドレス値を前記計算機本体に送出するプログラム情報送出手段とを備え、Program information sending means for sending the instruction code part and the address value encrypted by the encryption means to the computer main body,
前記計算機本体は、The computer body is
前記アドレス値を保持するアドレス値保持手段と;Address value holding means for holding the address value;
前記アドレス値とこのアドレス値との相対位置を示すインデックス値とを前記プログラムカードのプログラム情報読み出し手段に送出するアドレス値送出手段と;Address value sending means for sending the address value and an index value indicating a relative position of the address value to the program information reading means of the program card;
前記プログラム情報送出手段により送出された命令コード部及び暗号化されたアドレス値に基づいて命令制御を実行する命令制御実行手段とを備えたことを特徴とするプログラムカードを用いた計算機。A computer using a program card, comprising: an instruction code portion sent by the program information sending means; and an instruction control execution means for executing instruction control based on an encrypted address value.
JP08706394A 1994-04-26 1994-04-26 Program card and computer using the same Expired - Fee Related JP3642533B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08706394A JP3642533B2 (en) 1994-04-26 1994-04-26 Program card and computer using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08706394A JP3642533B2 (en) 1994-04-26 1994-04-26 Program card and computer using the same

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004279924A Division JP2005122723A (en) 2004-09-27 2004-09-27 Program card and computer using the same

Publications (2)

Publication Number Publication Date
JPH07295802A JPH07295802A (en) 1995-11-10
JP3642533B2 true JP3642533B2 (en) 2005-04-27

Family

ID=13904488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08706394A Expired - Fee Related JP3642533B2 (en) 1994-04-26 1994-04-26 Program card and computer using the same

Country Status (1)

Country Link
JP (1) JP3642533B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4556277B2 (en) * 1999-03-30 2010-10-06 ソニー株式会社 Information processing apparatus and method, information processing system, and program storage medium
US8156343B2 (en) * 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
CN100424611C (en) 2005-07-28 2008-10-08 国际商业机器公司 Method and central processing unit for processing encryption software
JP2008033457A (en) * 2006-07-26 2008-02-14 Internatl Business Mach Corp <Ibm> Method and central processing unit for processing encrypted software

Also Published As

Publication number Publication date
JPH07295802A (en) 1995-11-10

Similar Documents

Publication Publication Date Title
US6158004A (en) Information storage medium and security method thereof
US7065215B2 (en) Microprocessor with program and data protection function under multi-task environment
US9471513B2 (en) Cache structure for a computer system providing support for secure objects
US7107459B2 (en) Secure CPU and memory management unit with cryptographic extensions
US8261048B2 (en) Optional function multi-function instruction in an emulated computing environment
US5237616A (en) Secure computer system having privileged and unprivileged memories
US5301231A (en) User defined function facility
US8191155B2 (en) Microprocessor
US7707645B2 (en) Microprocessor
US9280675B2 (en) Encrypting and storing confidential data
JPH08305558A (en) Ciphering program arithmetic unit
US20050105738A1 (en) On-chip multi-core type tamper resistant microprocessor
JPH06112937A (en) System and method for data processing
JP2005521942A (en) System and method for providing domain granular, hardware controlled memory encryption
US7409251B2 (en) Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium
EP1717723A1 (en) Improved virtual machine or hardware processor for IC-card portable electronic devices
JP4591163B2 (en) Bus access control device
JP2723231B2 (en) Software rights management control method
JP2007310601A (en) Microcomputer and method for protecting its software
JP2005216027A (en) Encryption device, encryption system therewith, decryption device and semiconductor system therewith
JP3642533B2 (en) Program card and computer using the same
JP4047281B2 (en) How to synchronize cache memory with main memory
JPH1079000A (en) Program writable ic card
US8171311B2 (en) Transferring data values via a data bus or storing data values using a selectable representation
JP2005122723A (en) Program card and computer using the same

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090204

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees