JP2000056964A - マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体 - Google Patents

マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体

Info

Publication number
JP2000056964A
JP2000056964A JP10236424A JP23642498A JP2000056964A JP 2000056964 A JP2000056964 A JP 2000056964A JP 10236424 A JP10236424 A JP 10236424A JP 23642498 A JP23642498 A JP 23642498A JP 2000056964 A JP2000056964 A JP 2000056964A
Authority
JP
Japan
Prior art keywords
bit
microprocessor
input
memory
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10236424A
Other languages
English (en)
Inventor
Masami Urano
正美 浦野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP10236424A priority Critical patent/JP2000056964A/ja
Priority to EP98310514A priority patent/EP0929040A3/en
Priority to US09/219,953 priority patent/US6526511B1/en
Publication of JP2000056964A publication Critical patent/JP2000056964A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 プログラムを読み取られても、マイクロプロ
セッサの動作を解析されないように、メモリ上およびバ
ス上のプログラムの解析が困難であるマイクロプロセッ
サシステム、マイクロプロセッサ動作解析防止方法およ
びマイクロプロセッサ動作解析防止プログラムを記録し
た記録媒体を提供するものである。 【解決手段】 マイクロプロセッサと、上記マイクロプ
ロセッサで実行可能なプログラム等を保存するメモリ
と、上記マイクロプロセッサと上記メモリとを接続する
アドレスバスとデータバスとによって構成されているマ
イクロプロセッサシステムにおいて、上記マイクロプロ
セッサが処理するプログラム等と、上記メモリに格納さ
れている上記プログラム等とが、各ワードにおける少な
くとも1つのビット同士の間で、その値が互いに反転さ
れているものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ICカード等に用
いるマイクロプロセッサに関するものである。
【0002】
【従来の技術】図12は、従来のマイクロプロセッサシ
ステムMSの構成の一例を示す図である。
【0003】ここでは、8ビットのマイクロプロセッサ
であるZ80を例にとって説明するが、さらに多ビット
のマイクロプロセッサを使用した場合も、上記の場合と
同様に考えることができる。
【0004】従来のマイクロプロセッサシステムMS
は、マイクロプロセッサ4とメモリ1とによって構成さ
れ、マイクロプロセッサ4のアドレスバス端子とメモリ
1のアドレスバス端子とがアドレスバスによって接続さ
れ、マイクロプロセッサ4のデータバス端子4tとメモ
リ1のデータバス端子1tとがデータバス2によって接
続されている。
【0005】図13は、上記従来例におけるマイクロプ
ロセッサのデータバス端子4tと、メモリ1のデータバ
ス端子1tとの接続状態を示す図である。
【0006】上記従来例において、マイクロプロセッサ
4側のデータバス2のMSBの配線D7とメモリ1側の
データバスのMSBの配線D7とが接続されている。配
線D6、D5、…D0のそれぞれも、上記と同様に、同
じビット順同士が接続されている。
【0007】図14は、従来例におけるメモリ1の内容
を示す図である。
【0008】マイクロプロセッサ4が実行するプログラ
ムは、図14に示すように、メモリ1中に保存され、こ
こでは、8ビットマイクロプロセッサ4であるZ80を
例にとって説明するが、他のマイクロプロセッサでも、
上記と同様である。
【0009】ここに示した例では、0番地に16進数で
31(00110001)(以下、16進数で示す)、
1番地にFF、2番地に7F、3番地に06等が格納さ
れている。また、4番地以降にも、上記と同様に、プロ
グラムが格納されている。これらは、Z80の機械語で
は、LDSP,7FFF、LDB,11等を示してい
る。
【0010】マイクロプロセッサ4がリセット信号によ
ってリセットされ、次にリセットが解除されると、マイ
クロプロセッサ4は、0をアドレスバスに出力する。こ
の値をアドレスとしてメモリ1は、その0番地の内容3
1をデータバス2に出力すると、マイクロプロセッサ4
は、そのデータを内部に取り込んでデコードし、さらに
オペランドを取得するために、2、3を順次アドレスバ
スに出力し、それぞれの番地の内容FF、7Fをメモリ
から読み出す。
【0011】マイクロプロセッサ4は、これらの読み出
されたデータをLD SP,7FFFという命令である
と解釈し、自分自身のSPに7FFFを設定する。その
後、次の命令を取得するために、4をアドレスバスに出
力し、メモリ1の4番地の内容06を読み出す。以上の
ようにして、マイクロプロセッサ4は順次アドレスを出
力し、メモリ1の該当する番地の内容を読み出して命令
を実行していく。
【0012】上記のように、従来のマイクロプロセッサ
4では、データバス2を介して、メモリ1の内容を順次
読み出し、その値をマイクロプロセッサ4の内部で解釈
し、そのデータに対応する命令を順次実行する。プログ
ラム自体は、実行する順番で、メモリ1上に格納されて
いる。また、各番地には、プログラムの各ステップの命
令コードが格納され、メモリ1のMSB側(ここではビ
ット7とする)に命令コードのMSB(ビット7)が格
納され、メモリ1のビット6には命令コードのビット6
が格納され、同様に、LSBまで順番に格納されてい
る。
【0013】ところで、近年ICカードの応用分野が拡
大しつつあるが、これにつれてICカードのセキュリテ
ィの問題が重視されている。ICカード内に納められて
いる機密情報を解読しようとする場合、マイクロプロセ
ッサ4の論理回路、プログラムを容易に解読することが
できると、この情報に基づいて、マイクロプロセッサ4
の内部を解析し、機密情報が解読される可能性がある。
【0014】
【発明が解決しようとする課題】従来のマイクロプロセ
ッサ4のように、プログラムがメモリ1上に順番に、か
つ各ワード内でもビット順に格納されている場合、該当
するメモリセルのデータを順番に読み取ることによって
プログラムが容易に解読される可能性がある。
【0015】また、上記のように、プログラムはメモリ
1からデータバス2を介してマイクロプロセッサ4に送
られ、この場合、メモリ1のデータを解析しなくても、
データバス2を観測することによって、プログラムを順
次読み取ることができ、これをもとに動作を容易に解析
される可能性がある。
【0016】本発明は、プログラムを読み取られても、
マイクロプロセッサの動作を解析されないように、メモ
リ上およびバス上のプログラムの解析が困難であるマイ
クロプロセッサシステム、マイクロプロセッサ動作解析
防止方法およびマイクロプロセッサ動作解析防止プログ
ラムを記録した記録媒体を提供するものである。
【0017】
【課題を解決するための手段】本発明は、マイクロプロ
セッサと、上記マイクロプロセッサで実行可能なプログ
ラム等を保存するメモリと、上記マイクロプロセッサと
上記メモリとを接続するアドレスバスとデータバスとに
よって構成されているマイクロプロセッサシステムにお
いて、上記マイクロプロセッサが処理するプログラム等
と、上記メモリに格納されている上記プログラム等と
が、各ワードにおける少なくとも1つのビット同士の間
で、その値が互いに反転されているものである。
【0018】
【発明の実施の形態および実施例】図1は、本発明の第
1の実施例であるマイクロプロセッサシステムMS1を
示す図である。
【0019】マイクロプロセッサシステムMS1は、基
本的には、従来のマイクロプロセッサシステムMSと同
じであるが、マイクロプロセッサ40のマイクロプロセ
ッサコア40cと、マイクロプロセッサ40のデータバ
ス端子40tとの間に、ビット反転ブロック30を有す
る点が、従来のマイクロプロセッサシステムMSと異な
る点である。
【0020】メモリ10は、従来例におけるメモリ1と
同じであり、データバス20の各ビットの端子がメモリ
10のデータバス端子10tの同じビットの端子に接続
されている。また、マイクロプロセッサ40とメモリ1
0とのアドレスバスの端子は、互いに同じビット順で接
続されている。
【0021】図2は、上記実施例におけるビット反転ブ
ロック30のビット反転状態を具体的に示す図であり、
データバス20の接続を各ビットに分けて示す図であ
る。
【0022】図2に示す例では、ビット反転ブロック3
0の中で、データバス20のデータを反転するものであ
り、ビット7、ビット4、ビット3、ビット2のデータ
が反転されている。
【0023】なお、図2では、一種類の接続法を例とし
て示しているが、マイクロプロセッサ40のデータバス
20の各ビットとメモリ10のデータバス20の各ビッ
トとを1:1で接続し、所定のビットについて信号を反
転するものであれば、図2に示す接続法以外の接続法を
採用するようにしてもよい。
【0024】図3は、上記実施例において、メモリ10
に格納すべきデータの一例を示す図である。
【0025】この場合、マイクロプロセッサ40とメモ
リ10との間で、データバス20のビット7、4、3、
2のデータの値が反転するので、従来例における命令コ
ードと同じ命令コードをメモリ10に格納したとして
も、マイクロプロセッサ40は正常に動作しない。
【0026】たとえば、従来例と同じに、0番地に31
(00110001)を格納したとしても、ビット順入
れ替えブロックでデータは入れ替えられ、マイクロプロ
セッサ40のデータバス端子40tでは、AD(101
101)になり、マイクロプロセッサ40はこれをXO
RLという命令と解釈してしまう。したがって、上記の
場合、正常に動作させるには、命令コードの所定のビッ
ト位置の値を反転させてからメモリ10に格納しておく
必要がある。
【0027】図14に示した従来例と同様の動作をさせ
る場合には、0番地に格納するデータはAD、1番地に
格納するデータは63、2番地に格納するデータはE
3、以下、各番地に9A、8D、92、BE、9F、5
9、49のデータを格納しておく必要がある。
【0028】図4は、上記実施例におけるビット反転ブ
ロック30の構成法の一例を具体的に示す図である。
【0029】通常であれば、双方向バッファ50〜57
の出力端子(O)と入力端子(I)とを介して、マイク
ロプロセッサ40のデータバス端子40tが、マイクロ
プロセッサコア40cの各ビット毎の入力端子と出力端
子とに接続され、双方向バッファ50〜57の入出力端
子(IO)を、マイクロプロセッサ40のデータバス端
子40tとして、外部データバス20に接続する。
【0030】ところで、上記実施例では、ビットを反転
させるビット位置のマイクロプロセッサコア40cと双
方向バッファ50〜57の端子との間に、ビット反転ブ
ロック30として、入出力双方にインバータを挿入し、
これによって、ビット反転を行っている。
【0031】図5は、上記実施例において、ビット反転
ブロック30の代わりに設けられているビット反転ブロ
ック31の構成法を示す図である。
【0032】図5に示す例では、ビットを反転させるビ
ット位置に設けられている入出力バッファ52、53、
54、57と、反転機能付の入出力バッファ52a、5
3a、54a、57aとを入れ換えることによって、ビ
ット反転を行う。
【0033】図6は、上記実施例において、ビット反転
ブロック30の代わりに設けられているビット反転ブロ
ック32の構成法を示す図である。
【0034】ビット反転ブロック32は、インバータの
代りに、XORゲートの一方の入力と出力を接続したゲ
ートを使用し、反転させるビット(双方向バッファ5
2、53、54、57に対応するビット)において、X
ORゲートの他方の入力をハイレベルとし、反転させな
いビットにおいて、XORゲートの他方の入力をロウレ
ベルとしたブロックである。
【0035】また、XORゲートの代わりに、XNOR
ゲートを使用するようにしてもよく、この場合には、反
転させるビットにおいて、XNORゲートの上記他方の
入力をロウレベルとし、反転させないビットにおいて、
XNORゲートの上記他方の入力をハイレベルにするこ
とによって、XORゲートを使用した場合と同様な機能
を実現することができる。
【0036】図7は、図6に示すビット反転ブロック3
2で直接ハイレベルまたはロウレベルレベルとしていた
XORの他方の入力を、制御用フリップフロップ回路5
8で保持する例を示す図である。
【0037】この場合、制御用フリップフロップ回路5
8に保持されている値を変更することによって、当該ビ
ットの反転/非反転を切り換えることができる。
【0038】また、図7で示した例では、制御用フリッ
プフロップ回路58を用いているが、制御用フリップフ
ロップ回路58の代わりに、DRAM、SRAM、EP
ROM、EEPORM、ROM、FeRAM等のメモリ
の所定のビットからの信号線を直接入力するようにして
もよい。
【0039】図8は、本発明の第2の実施例であるマイ
クロプロセッサシステムMS2を示すブロック図であ
る。
【0040】マイクロプロセッサシステムMS2は、マ
イクロプロセッサコア43cとデータバス20との間
に、ビット反転ブロック33を設け、メモリコア11c
とデータバス20との間に、ビット反転ブロック34を
設けたものである。もちろん、メモリコア11cとデー
タバス20との間にのみ、ビット反転ブロックを配置す
ることも可能であるが、この場合、データバス20上に
は、反転してメモリ11上に保存されていたビットが、
正しく反転され(従来例と同じ状態になり)、バス20
上に出力されるので、メモリ11内部の解読に対しては
上記と同様の効果を奏するが、データバス20上のデー
タの解読を防ぐことはできない。
【0041】図9は、マイクロプロセッサシステムMS
2において、ビット毎に、ビットの反転状況を説明する
図である。
【0042】図9に示す例は、図3で示したデータと同
じデータをメモリ11に保存している場合の例を示すも
のである。ここで、マイクロプロセッサ43の内部に配
置されるビット反転ブロック33では、ビット7、6、
3、1のデータが反転され、メモリ11の内部に配置さ
れているビット反転ブロック34では、ビット6、4、
2、1が反転されている。
【0043】この2つのビット反転ブロック33、34
によって、結果的に、マイクロプロセッサコア43cと
メモリコア11cとの間では、ビット7、4、3、2が
反転されるので、図2に示す場合と同じビットを反転す
ることになり、メモリ11に格納されるデータは、図3
に示すデータと同じデータである。
【0044】もちろん、このビット以外にも、ビット反
転ブロック33ではビット5、3、1を反転し、ビット
反転ブロック34ではビット7、5、4、2、1を反転
すれば、結果的にはビット7、4、3、2が反転するの
で、図9に示す場合と同様のビット反転を実現すること
ができる。
【0045】上記のように、メモリ11のワード内で、
反転するビット位置が決まっていたとしても、各反転ブ
ロック33、34内でビット反転するビット位置は必ず
しも一種類ではない。また、各ブロックの適切な位置の
ビットを反転することによって、メモリ11のワード内
で任意のビット位置を反転させることができる。
【0046】図10は、上記実施例において、メモリ1
0、11に格納されるビット反転プログラムPの作成法
の一例を示す図である。
【0047】プログラムP1は、従来のマイクロプロセ
ッサ4で動作可能なプログラムであり、プログラムP2
は、上記実施例におけるマイクロプロセッサ40〜43
で動作可能なプログラムであり、プログラムPは、プロ
グラムP1をプログラムP2に変換するビット反転プロ
グラムである。つまり、マイクロプロセッサ40〜43
が処理するデータまたはプログラムと、メモリ10、1
1に格納されているデータまたはプログラムとが、各ワ
ードにおける少なくとも1つのビット同士の間で、その
値を互いに反転させるビット反転プログラムPによっ
て、元のプログラムP1からプログラムP2を作成す
る。このビット反転プログラムPを格納するマスクRO
M61を作成し、このマスクROM61をマイクロプロ
セッサ40〜43と接続する。
【0048】また、ROMライタを用い、上記反転後の
プログラムP2をEPROM62やEEPROM63に
書き込み、これを上記実施例のマイクロプロセッサ40
〜43と接続するようにしてもよい。
【0049】さらに、上記反転後のプログラムP2を読
込可能なローダープログラム、またはマイクロプロセッ
サ40〜43で動作しているローダープログラムを使用
し、上記反転後のプログラムP2をRAMに読み込め
ば、上記反転後のプログラムP2を実行することができ
る。さらに、ローダープログラムまたはモニタプログラ
ムがビット反転機能を備えたものであれば、元のプログ
ラムP1を直接反転し、この反転後のプログラムP2を
RAMにロードし、マイクロプロセッサ40〜43で実
行させるようにしてもよい。
【0050】図11は、上記実施例において、ビット反
転プログラムPによるビット反転動作を示すフローチャ
ートである。
【0051】上記ビット反転プログラムPは、所定の記
録媒体に記録され、この記録されたビット反転プログラ
ムPを、マイクロプロセッサ40〜43とは異なるコン
ピュータで実行するものである。上記所定の記録媒体と
して、図10に示すマスクROM61、EPROM6
2、EEPROM63等と、図示しないFD、CD−R
OM等との2種類が考えられる。
【0052】まず、ビット反転前のプログラムである元
のプログラムP1を1バイトを読み込み(S1)、読み
込んだ1バイトの中でビット反転を行う(S2)。ここ
では、図2に示すビット反転ブロック30におけるビッ
ト反転と同じ順で反転する場合を示してある。すなわ
ち、ビット7のデータを反転し、ビット6のデータを反
転せず、ビット5のデータを反転せず、ビット4のデー
タを反転し、、ビット3のデータを反転し、ビット2の
データを反転し、ビット1のデータを反転せず、ビット
0のデータを反転せず、これによって、新しいデータを
1バイト作成する。次に、このデータを書き出し(S
3)、ファイル全体の処理が終わっていなければ(S
4)、さらに1バイトのデータについて、上記と同様の
処理(S1〜S3)を実行する。
【0053】上記実施例において、ビット反転プログラ
ムPの代わりに、ローダーまたはモニタプログラムを使
用するようにしてもよい。
【0054】つまり、上記マスクROM61、EPRO
M62、EEPROM63等と、図示しないFD、CD
−ROM等は、ビット反転前のデータまたはプログラム
を所定バイト、読み込む読み込み手順と、上記読み込ん
だ所定バイトの中でビットを反転させるビット反転手順
と、上記ビット反転が行われたデータまたはプログラム
を書き出す書き出し手順とをコンピュータに実行させる
マイクロプロセッサ動作解析防止プログラムが記録され
ているコンピュータ読み取り可能な記録媒体の例であ
る。
【0055】上記実施例によれば、マイクロプロセッサ
が処理するデータの各ビットの値と、メモリに格納され
ているデー夕の各ビットの値とが、少なくとも1ビット
反転しているので、たとえメモリまたはバスでプログラ
ムが読み取られたとしても、その解析を行うことは困難
である。
【0056】
【発明の効果】本発明によれば、メモリの内容またはバ
ス上のデータを読み取られたとしてもプログラムを解析
することは困難であり、ICカード等のプロセッサのセ
キュリティを向上されることができるという効果を奏す
る。
【図面の簡単な説明】
【図1】本発明の第1の実施例であるマイクロプロセッ
サシステムMS1を示す図である。
【図2】上記実施例におけるビット反転ブロック30の
ビット反転状態を具体的に示す図であり、データバス2
0の接続を各ビットに分けて示す図である。
【図3】上記実施例においてメモリ10に格納すべきデ
ータの一例を示す図である。
【図4】上記実施例におけるビット反転ブロック30の
構成法の一例を具体的に示す図である。
【図5】上記実施例において、ビット反転ブロック30
の代わりに設けられているビット反転ブロック31の構
成法を示す図である。
【図6】上記実施例において、ビット反転ブロック30
の代わりに設けられているビット反転ブロック32の構
成法を示す図である。
【図7】図6に示すビット反転ブロック32で直接ハイ
レベルまたはロウレベルレベルとしていたXORの他方
の入力を、制御用フリップフロップ回路58で保持する
ようにした例を示す図である。
【図8】本発明の第2の実施例であるマイクロプロセッ
サシステムMS2を示すブロック図である。
【図9】マイクロプロセッサシステムMS2において、
ビット毎に、ビットの反転状況を説明する図である。
【図10】上記実施例において、メモリ10、11に格
納されるビット反転プログラムPの作成法の一例を示す
図である。
【図11】上記実施例において、ビット反転プログラム
Pによるビット反転動作を示すフローチャートである。
【図12】従来のマイクロプロセッサシステムMSの構
成の一例を示す図である。
【図13】上記従来例におけるマイクロプロセッサのデ
ータバス端子4tと、メモリ1のデータバス端子1tと
の接続状態を示す図である。
【図14】従来例におけるメモリ1の内容を示す図であ
る。
【符号の説明】
MS1、MS2…マイクロプロセッサシステム、 20…データバス20、 30〜34…ビット反転ブロック、 40〜43…マイクロプロセッサ、 40t〜43t…マイクロプロセッサのデータバス20
端子、 40c〜43c…マイクロプロセッサコア、 10c、11c…メモリコア、 10t〜13t…メモリのデータバス20端子。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサと、上記マイクロプ
    ロセッサで実行可能なプログラム、データのうちの少な
    くとも一方を保存するメモリと、上記マイクロプロセッ
    サと上記メモリとを接続するアドレスバスとデータバス
    とによって構成されているマイクロプロセッサシステム
    において、 上記マイクロプロセッサが処理する上記データまたは上
    記プログラムと、上記メモリに格納されている上記デー
    タまたは上記プログラムとが、各ワードにおける少なく
    とも1つのビット同士の間で、その値が互いに反転され
    ていることを特徴とするマイクロプロセッサ動作解析防
    止方法。
  2. 【請求項2】 請求項1において、 上記反転されているビットのビット位置は、上記ビット
    反転される前のビット位置と一致していることを特徴と
    するマイクロプロセッサ動作解析防止方法。
  3. 【請求項3】 マイクロプロセッサと、上記マイクロプ
    ロセッサで実行可能なプログラム、データのうちの少な
    くとも一方を保存するメモリと、上記マイクロプロセッ
    サと上記メモリとを接続するアドレスバスとデータバス
    とによって構成されているマイクロプロセッサシステム
    において、 上記マイクロプロセッサのデータバス端子とデータバス
    との間、または、上記メモリのデータバス端子とメモリ
    コアのデータバス端子との間に、ビットを反転させるビ
    ット反転手段を有し、 上記ビット反転手段によって、上記マイクロプロセッサ
    が処理するデータの各ビットと、上記メモリに格納され
    ているデータの各ビットの値とが、少なくとも1ビット
    反転されていることを特徴とするマイクロプロセッサシ
    ステム。
  4. 【請求項4】 請求項3において、 上記ビット反転手段は、上記マイクロプロセッサに設け
    られている入出力バッファのうちで、所定のデータバス
    のビットに接続されている入出力バッファの入力と出力
    とに接続されているインバータであることを特徴とする
    マイクロプロセッサシステム。
  5. 【請求項5】 請求項3において、 上記ビット反転手段は、上記マイクロプロセッサに設け
    られている入出力バッファのうちで、所定のデータバス
    のビットに接続する入出力バッファが反転機能付きであ
    ることを特徴とするマイクロプロセッサシステム。
  6. 【請求項6】 請求項3において、 上記ビット反転手段は、上記マイクロプロセッサに設け
    られている入出力バッファのうちで、所定のデータバス
    のビットに接続されている入出力バッファの入力と出力
    とに、それぞれ個別に一方の入力が接続されている2入
    力XORゲートであり、 上記2入力XORゲートの他方の入力が、ビット反転の
    制御信号としてハイレベルに設定されていることによっ
    て、上記所定のデータバスのビットを反転し、一方、上
    記2入力XORゲートの他方の入力が、ビット反転の制
    御信号としてロウレベルに設定されていることによっ
    て、上記所定のデータバスのビットを反転しないことを
    特徴とするマイクロプロセッサシステム。
  7. 【請求項7】 請求項3において、 上記ビット反転手段は、上記マイクロプロセッサに設け
    られている入出力バッファのうちで、所定のデータバス
    のビットに接続されている入出力バッファの入力と出力
    とに、それぞれ個別に一方の入力が接続されている2入
    力XNORゲートであり、 上記2入力XNORゲートの他方の入力が、ビット反転
    の制御信号としてロウレベルに設定されていることによ
    って、上記所定のデータバスのビットを反転し、一方、
    上記2入力XNORゲートの他方の入力が、ビット反転
    の制御信号としてハイレベルに設定されていることによ
    って、上記所定のデータバスのビットを反転しないこと
    を特徴とするマイクロプロセッサシステム。
  8. 【請求項8】 請求項6または請求項7において、 上記ビット反転の制御信号は、所定のフリップフロップ
    またはメモリの所定のビットに保存されていることを特
    徴とするマイクロプロセッサシステム。
  9. 【請求項9】 請求項3において、 上記メモリに格納されている上記プログラムまたは上記
    データは、上記所定のビット位置のデータを反転させる
    ことができるプログラムによって生成されたものか、ま
    たは上記所定のビット位置のデータを反転させる機能を
    持つプログラムによって上記メモリ上にロードされたも
    のであることを特徴とするマイクロプロセッサシステ
    ム。
  10. 【請求項10】 マイクロプロセッサと、上記マイクロ
    プロセッサで実行可能なプログラム、データのうちの少
    なくとも一方を保存するメモリと、上記マイクロプロセ
    ッサと上記メモリとを接続するアドレスバスとデータバ
    スとによって構成されているマイクロプロセッサシステ
    ムにおいて、 ワード内の所定のビットの値が反転されているプログラ
    ムまたはデータを、上記メモリに格納させることを特徴
    とするマイクロプロセッサシステム。
  11. 【請求項11】 ビット反転前のデータまたはプログラ
    ムを所定バイト、読み込む読み込み手順と;上記読み込
    んだ所定バイトの中でビット反転させるビット反転手順
    と;上記ビット反転されたデータまたはプログラムを書
    き出す書き出し手順と;をコンピュータに実行させるマ
    イクロプロセッサ動作解析防止プログラムが記録されて
    いるコンピュータ読み取り可能な記録媒体。
JP10236424A 1997-12-25 1998-08-07 マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体 Pending JP2000056964A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10236424A JP2000056964A (ja) 1998-08-07 1998-08-07 マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体
EP98310514A EP0929040A3 (en) 1997-12-25 1998-12-21 Microprocessor with data randomizing
US09/219,953 US6526511B1 (en) 1997-12-25 1998-12-23 Apparatus and method for modifying microprocessor system at random and maintaining equivalent functionality in spite of modification, and the same microprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10236424A JP2000056964A (ja) 1998-08-07 1998-08-07 マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2000056964A true JP2000056964A (ja) 2000-02-25

Family

ID=17000559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10236424A Pending JP2000056964A (ja) 1997-12-25 1998-08-07 マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2000056964A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005085188A (ja) * 2003-09-11 2005-03-31 Fujitsu Ltd プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005085188A (ja) * 2003-09-11 2005-03-31 Fujitsu Ltd プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置
JP4568489B2 (ja) * 2003-09-11 2010-10-27 富士通株式会社 プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置

Similar Documents

Publication Publication Date Title
US4764959A (en) Single-chip microcomputer with encryptable function on program memory
US7805758B2 (en) Information processing apparatus
JP2005515542A (ja) 対応するコンピュータプログラム及び対応するコンピュータにより読み出し可能な記憶媒体と共にコントローラアーキテクチャにおけるnvメモリに書き込むための装置及び方法
JP4574994B2 (ja) メモリ外付けマイコン
JPS63293637A (ja) デ−タ保護用マイコン
JPH1139158A (ja) 実行プログラムの保護方法およびその装置
JPH0827730B2 (ja) シングルチップマイクロコンピュータ及びそのテスト方法
JP2006146608A (ja) メモリ情報保護システムおよびメモリ情報の保護方法
JPH0765139A (ja) Icメモリカード
JP2000056964A (ja) マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体
JPS6029980B2 (ja) テスト・モ−ド設定機能をもつワンチツプ・マイクロ・コンピユ−タ
US5828859A (en) Method and apparatus for setting the status mode of a central processing unit
JP2000029790A (ja) データセキュリティシステム
JP3931593B2 (ja) データ書込回路
JP2000056963A (ja) マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体
CN110309080B (zh) 一种提高缓存数据装载速度的方法
JPS5928300A (ja) 半導体装置
JPH0475137A (ja) データ処理装置
JP4546127B2 (ja) マイクロコントローラ
JP5494389B2 (ja) 電子制御装置
JPH06195268A (ja) Icメモリカード及びそのデータ保護方法及び装置
JPS58184608A (ja) 数値制御装置
JPS642177Y2 (ja)
CN113312307A (zh) 片上系统及其数据处理方法、中央处理器
JPS62236054A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040521