JP3642533B2 - プログラムカード及びこれを用いた計算機 - Google Patents
プログラムカード及びこれを用いた計算機 Download PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
【産業上の利用分野】
この発明は、プログラムカード及びこれを用いた計算機に関するものである。
【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…主記憶装置
Claims (4)
- 1ステップのプログラム情報が記憶されアドレスの付された単位記憶セルからなる単位記憶セル群にプログラムを構成する機械語命令からなるプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、
前記計算機本体から送出された前記アドレスを示すアドレス値を、所定の暗号キーに基づいて復号化する復号化手段と、
この手段により復号化されたアドレス値に対応する前記単位記憶セルからプログラム情報を1ステップずつ読出すプログラム情報読出し手段と、
この手段により読出されたプログラム情報のうち、命令コード部とアドレス値とを識別する手段と、
この手段により識別された命令コードが実行制御命令の場合にアドレス値を、所定の暗号キーに基づいて暗号化する暗号化手段と、
前記命令コード部及び前記暗号化手段により暗号化されたアドレス値を前記計算機本体に送出するプログラム情報送出手段とを備えたことを特徴とするプログラムカード。 - 1ステップのプログラム情報が記憶されアドレスの付された単位記憶セルからなるアドレスの付されたプログラムを構成する機械語命令列からなる単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、
前記プログラムカードは、
前記アドレスを示すアドレス値を所定の暗号キーに基づいて復号化する復号化手段と、
この手段により復号化されたアドレス値に対応する前記単位記憶セルからプログラム情報を1ステップずつ読出すプログラム情報読出手段と、
この手段により読出されたプログラム情報のうち、命令コード部とアドレス値とを識別する手段と、
この手段により識別された命令コードが実行制御命令の場合にアドレス値を、所定の暗号キーに基づいて暗号化する暗号化手段と、
前記命令コード部及び前記暗号化手段により暗号化されたアドレス値を前記計算機本体に送出するプログラム情報送出手段とを備え、
前記計算機本体は、
前記アドレス値を保持するアドレス値保持手段と、
この手段に保持されたアドレス値を前記プログラムカードのプログラム情報読出し手段に送出するアドレス値送出手段と、
前記プログラム情報送出手段により送出された命令コード部及び暗号化されたアドレス値に基づいて命令制御を実行する命令制御実行手段とを備えたことを特徴とするプログラムカードを用いた計算機。 - 1ステップのプログラム情報が記憶されアドレスの付された単位記憶セルからなる単位記憶セル群にプログラムを構成する機械語命令からなるプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて:
前記計算機本体から送出された前記アドレスを示すアドレス値とこのアドレス値との相対位置を示すインデックス値とを受け取り、所定の暗号キーに基づいて前記アドレス値を復号化する復号化手段と;
この復号化手段により復号化されたアドレス値と前記インデックス値から計算されるアドレスに対応する前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と;
この手段により読出されたプログラム情報のうち、命令コード部とアドレス値とを識別する手段と;
この手段により識別された命令コードが実行制御命令の場合にアドレス値を、所定の暗号キーに基づいて暗号化する暗号化手段と、
前記命令コード部及び前記暗号化手段により暗号化されたアドレス値を前記計算機本体に送出するプログラム情報送出手段とを備えたことを特徴とするプログラムカード。 - 1ステップのプログラム情報が記憶されアドレスの付された単位記憶セルからなるアドレスの付されたプログラムを構成する機械語命令列からなる単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって:
前記プログラムカードは、
前記計算機本体から送出された前記アドレスを示すアドレス値とこのアドレス値との相対位置を示すインデックス値とを受け取り、所定の暗号キーに基づいて前記アドレス値を復号化する復号化手段と;
前記復号化手段により復号化されたアドレス値と前記インデックス値から計算されるアドレスに対応する前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と;
この手段により読出されたプログラム情報のうち、命令コード部とアドレス値とを識別する手段と;
この手段により識別された命令コードが実行制御命令の場合にアドレス値を、所定の暗号キーに基づいて暗号化する暗号化手段と;
前記命令コード部及び前記暗号化手段により暗号化されたアドレス値を前記計算機本体に送出するプログラム情報送出手段とを備え、
前記計算機本体は、
前記アドレス値を保持するアドレス値保持手段と;
前記アドレス値とこのアドレス値との相対位置を示すインデックス値とを前記プログラムカードのプログラム情報読み出し手段に送出するアドレス値送出手段と;
前記プログラム情報送出手段により送出された命令コード部及び暗号化されたアドレス値に基づいて命令制御を実行する命令制御実行手段とを備えたことを特徴とするプログラムカードを用いた計算機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08706394A JP3642533B2 (ja) | 1994-04-26 | 1994-04-26 | プログラムカード及びこれを用いた計算機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08706394A JP3642533B2 (ja) | 1994-04-26 | 1994-04-26 | プログラムカード及びこれを用いた計算機 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004279924A Division JP2005122723A (ja) | 2004-09-27 | 2004-09-27 | プログラムカード及びこれを用いた計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07295802A JPH07295802A (ja) | 1995-11-10 |
JP3642533B2 true JP3642533B2 (ja) | 2005-04-27 |
Family
ID=13904488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08706394A Expired - Fee Related JP3642533B2 (ja) | 1994-04-26 | 1994-04-26 | プログラムカード及びこれを用いた計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3642533B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4556277B2 (ja) * | 1999-03-30 | 2010-10-06 | ソニー株式会社 | 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体 |
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 (zh) | 2005-07-28 | 2008-10-08 | 国际商业机器公司 | 用于处理加密软件的方法和中央处理单元 |
JP2008033457A (ja) * | 2006-07-26 | 2008-02-14 | Internatl Business Mach Corp <Ibm> | 暗号化ソフトウェアを処理する方法及び中央処理装置 |
-
1994
- 1994-04-26 JP JP08706394A patent/JP3642533B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07295802A (ja) | 1995-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7673152B2 (en) | Microprocessor with program and data protection function under multi-task environment | |
US6158004A (en) | Information storage medium and security method thereof | |
US9298894B2 (en) | Cache structure for a computer system providing support for secure objects | |
US7107459B2 (en) | Secure CPU and memory management unit with cryptographic extensions | |
US9424055B2 (en) | Multi-function instruction that determines whether functions are installed on a system | |
US5237616A (en) | Secure computer system having privileged and unprivileged memories | |
US5301231A (en) | User defined function facility | |
US9280675B2 (en) | Encrypting and storing confidential data | |
JPH08305558A (ja) | 暗号化プログラム演算装置 | |
US20050105738A1 (en) | On-chip multi-core type tamper resistant microprocessor | |
US8191155B2 (en) | Microprocessor | |
JPH06112937A (ja) | データ処理システム及び方法 | |
JP2005521942A (ja) | 領域粒状、ハードウェア制御メモリ暗号化を提供するシステムおよび方法 | |
US7707645B2 (en) | Microprocessor | |
EP1886244A1 (en) | Improved virtual machine or hardware processor for ic-card portable electronic devices | |
JP2005515542A (ja) | 対応するコンピュータプログラム及び対応するコンピュータにより読み出し可能な記憶媒体と共にコントローラアーキテクチャにおけるnvメモリに書き込むための装置及び方法 | |
JP2723231B2 (ja) | ソフトウェア権利管理制御方法 | |
JP3642533B2 (ja) | プログラムカード及びこれを用いた計算機 | |
JP4047281B2 (ja) | キャッシュメモリをメインメモリに同期させる方法 | |
JPH1079000A (ja) | プログラム書き込み可能なicカード | |
JP4591163B2 (ja) | バスアクセス制御装置 | |
US8171311B2 (en) | Transferring data values via a data bus or storing data values using a selectable representation | |
JP2005122723A (ja) | プログラムカード及びこれを用いた計算機 | |
JP4309726B2 (ja) | マイクロプロセッサ | |
JP2002215459A (ja) | ディジタル回路 |
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 |