JPH11191065A - マイクロプロセッサを用いたシステムのランダム化方法およびその装置 - Google Patents
マイクロプロセッサを用いたシステムのランダム化方法およびその装置Info
- Publication number
- JPH11191065A JPH11191065A JP9367296A JP36729697A JPH11191065A JP H11191065 A JPH11191065 A JP H11191065A JP 9367296 A JP9367296 A JP 9367296A JP 36729697 A JP36729697 A JP 36729697A JP H11191065 A JPH11191065 A JP H11191065A
- Authority
- JP
- Japan
- Prior art keywords
- microprocessor
- program
- randomizing
- randomized
- key
- 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
Links
Abstract
プログラムとを読み取られ、解析されたとしても、現用
のマイクロプロセッサとは異なるマイクロプロセッサと
現用のプログラムとは異なるプログラムとで構成される
システムであって、現用のシステムと同じ機能を果たす
システムを容易かつ迅速に生成することができるシステ
ムを提供することを目的とするものである。 【解決手段】 マイクロプロセッサをランダム化してラ
ンダム化マイクロプロセッサを作成し、プログラムをラ
ンダム化してランダム化プログラムを作成し、ランダム
化マイクロプロセッサの作成とランダム化プログラムの
作成とを繰り返し、ランダム化マイクロプロセッサとラ
ンダム化プログラムとによって構成されるランダム化シ
ステムは、マイクロプロセッサとプログラムとによって
構成されるシステムと同じ機能を実現するシステムであ
る。
Description
クロプロセッサとプログラムとによって構成されるシス
テムに関するものである。
ステムの従来の設計法を示すフローチャートである。
する場合、通常、図9に示す手順で設計される。まず、
LSIの仕様に基づいて機能設計、論理設計を行う(S
41〜S43)。機能設計する場合、近年は、Hard
ware Description Language
(HDL)を用い、LSIの動作を機能記述し、機能シ
ミュレータを用い、仕様を満足していることの検証を行
う。次に、論理合成ツールを用い、機能記述に基づい
て、ゲートレベルのネットリストを生成する(S4
4)。なお、「ネットリスト」は、セルライブラリに含
まれているNAND、NOR、フリップフロップ等、単
純な論理機能を持つセルについて、それらの相互の接続
関係を記述したものである。このネットリストが生成さ
れると、ネットリスト、遅延ライブラリ等を用いて論理
シミュレーションを行い、動作の検証を行う。そして、
上記ネットリストを用いて、配置配線ツールを用い、レ
イアウト設計を行い(S45)、マスクパタンを作成す
る(S46)。このデータに基づいて、マスクを作成
し、LSIを製造する(S47)。
ステム10で使用するプログラム40を作成する場合、
FortranやC言語等の高級言語で記述を行い(S
51)、この記述をコンパイルし(S52)、マイクロ
プロセッサ20で実行可能な機械語のプログラム40を
作成し、この作成されたプログラム40がメモリ30に
格納される。
ッサ20とプログラム40とを用いてシステム10を構
成する。通常、マイクロプロセッサ20とメモリ30と
を、データバスとアドレスバスとによって接続し、上記
作成されたプログラム40をローダ等によってメモリ3
0にロードし、このメモリ30をマイクロプロセッサ2
0がアクセスしながら命令を実行し、システム10の機
能を実現する。
ると、その機能記述、ネットリスト、マスクパタンのそ
れぞれは、通常、1種類のみが存在する。これと同様
に、1つの高級言語を用いて記述されたプログラムをコ
ンパイルして作成されるプログラム40は、ただ1種類
のみが存在する。
分野が拡大しつつあり、これに伴って、ICカードのセ
キュリティが重視されるようになっている。通常、IC
カードにはマイクロプロセッサと、メモリ上にロードさ
れたプログラムとが搭載されているが、上記のように、
同一の機能を有する複数のICカードにおいて、マイク
ロプロセッサ20が1種類であり、また、メモリ30上
のプログラム40も1種類であるので、マイクロプロセ
ッサ20の論理構造とメモリ30上のプログラム40と
を第三者に解読されると、解読されたICカードと同種
のICカードの機能をその第三者に解読される可能性が
高い。
とメモリ30上のプログラム40とが第三者に解読され
たことが判明された場合、現用のマイクロプロセッサを
用いた現用システムを、現用のマイクロプロセッサとは
異なる種類のマイクロプロセッサを用いた新たなシステ
ムに切り替えることが考えられ、このように新たなシス
テムに切り替える場合、解読されたシステムと同じ機能
を実現するためには、新しいマイクロプロセッサで実現
可能なプログラムを新規に開発する必要がある。一般
に、プログラムを新たに開発するには長い期間が必要で
あり、またバグが混入する可能性もあり、プログラムを
別途開発することは、非常に困難であるという問題があ
る。
とによって構成されるICカード等のシステムにおい
て、そのシステムを即刻変更することは困難であるとい
う問題がある。
プロセッサとプログラムとを読み取られ、解析されたと
しても、現用のマイクロプロセッサとは異なるマイクロ
プロセッサと現用のプログラムとは異なるプログラムと
で構成されるシステムであって、現用のシステムと同じ
機能を果たすシステムを容易かつ迅速に生成することが
できるマイクロプロセッサを用いたシステムのランダム
化方法およびその装置を提供することを目的とするもの
である。
セッサと、上記マイクロプロセッサにおいて実行可能な
プログラムとによって構成されるシステムにおいて、上
記マイクロプロセッサをランダム化してランダム化マイ
クロプロセッサを作成し、上記プログラムをランダム化
してランダム化プログラムを作成し、上記ランダム化マ
イクロプロセッサの作成と上記ランダム化プログラムの
作成とを繰り返し、上記ランダム化マイクロプロセッサ
と上記ランダム化プログラムとによって構成されるラン
ダム化システムは、上記マイクロプロセッサと上記プロ
グラムとによって構成される上記システムと同じ機能を
実現するシステムである。
実施例であるマイクロプロセッサを用いたシステムをラ
ンダム化する方法の説明図であり、システムを構成する
マイクロプロセッサ、プログラムをランダム化する方法
の概念を示す図である。
サとメモリとを用いて構成され、メモリ上にはマイクロ
プロセッサ用のプログラムがロードされている。
60を用いてマイクロプロセッサの内部論理を変更す
る。所定の鍵60A を用いて、マイクロプロセッサ20
をランダム化したものが、ランダム化マイクロプロセッ
サ20A であり、鍵60A とは異なる鍵60B を用い
て、マイクロプロセッサ20をランダム化したものが、
ランダム化マイクロプロセッサ20B である。鍵60
C 、60D を用いて、マイクロプロセッサ20をランダ
ム化したものが、それぞれランダム化マイクロプロセッ
サ20C 、20D である。
てプログラム40を変更するものでもある。鍵60A を
用いて、プログラム40をランダム化すれば、ランダム
化プログラム40A を得ることができ、鍵60A とは異
なる鍵60B を用いて、プログラム40をランダム化す
れば、ランダム化プログラム40B を得ることができ
る。鍵60C 、60D を用いて、プログラム40をラン
ダム化したものが、それぞれランダム化プログラム40
C 、40D である。
化する場合に使用する鍵と、プログラム40をランダム
化する場合に使用する鍵とは、互いに同一のものでもよ
く、また、互いに異なるものでもよい。
ンダム化マイクロプロセッサ20Aとランダム化プログ
ラム40A とを組み合わせて構成されたランダム化シス
テム10A は、マイクロプロセッサ20とプログラム4
0とによって構成されるシステム10(ランダム化する
前のシステム)と同じ機能を実現するものであり、ま
た、ランダム化マイクロプロセッサ20B とランダム化
プログラム40B とを組み合わせて構成したランダム化
システム10B は、マイクロプロセッサ20とプログラ
ム40とによって構成されるシステム10と同じ機能を
実現するものである。ただし、ランダム化マイクロプロ
セッサ20A とランダム化マイクロプロセッサ20B と
は、互いに異なるハードウェアであり、ランダム化プロ
グラム40A とランダム化プログラム40B とは、互い
に異なるプログラムである。つまり、ランダム化プログ
ラム40A と40B との間では、各命令そのものは同じ
であるが、各命令を配列してある順番が異なる。上記と
同様に、ランダム化システム10C 、10D は、システ
ム10と同じ機能を実現するものである。
る。
セッサ中に設けられる疑似乱数発生器70を示す図であ
る。
るマイクロプロセッサに設けられ、プログラムカウンタ
に相当するものであり、この疑似乱数発生器70を変化
させることによって、発生される疑似乱数の数列が異な
り、変化された疑似乱数発生器70を含むマイクロプロ
セッサがランダム化マイクロプロセッサに変化するもの
である。
Feedback Shift Register)で構成され、この場合、4
つのDフリップフロップFF1〜FF4が直列に接続さ
れ、3つの論理回路E1、E2、E3と、接続点C0、
C1、C2、C3とが設けられ、鍵60(図3において
詳述する)に応じて、接続点C0、C1、C2、C3の
接続の有無、論理回路E1、E2、E3の種類が定ま
る。また、DフリップフロップFF1、FF2、FF
3、FF4のそれぞれから信号Q4、Q3、Q2、Q1
が出力され、信号Q4、Q3、Q2、Q1が4ビットの
アドレスとして使用され、この4ビットのアドレスが疑
似乱数である。
60の例としての鍵60A 、60B、60C の具体例を
示す図である。
にセットされ、接続点C1、C2、C3のそれぞれを指
定する鍵60が「1」であれば、その接続点が接続状態
にセットされ、鍵60が「0」であれば、その接続点は
非接続状態にセットされる。また、論理回路E1、E
2、E3のそれぞれを指定する鍵60が「1」であれ
ば、EXNORにセットされ、論理回路E1、E2、E
3のそれぞれを指定する鍵60が「0」であれば、EX
ORにセットされる。
鍵60A を使用して生成されたランダム化マイクロプロ
セッサ20A 中の疑似乱数発生器70A と、疑似乱数発
生器70A によって発生されるアドレスとを示す図であ
る。
接続点C0、C3のみを接続し、論理回路E1をEXN
OR回路にセットし、論理回路E2、E3をEXOR回
路にセットする鍵である。ここで、接続点C1、C2が
接続されないので、論理回路E1であるEXNOR回路
が短絡され、論理回路E2であるEXOR回路が短絡さ
れる。そして、この疑似乱数発生器70A によれば、ク
ロックCL1、CL2、CL3、……が発生すると、ア
ドレス「0001」、「1000」、「1100」、…
…が出力される。
60C に基づいてLFSRのネットリストを作成し、図
示しない論理シミュレータに渡すと、疑似乱数発生器が
作成され、この疑似乱数発生器をアドレスカウンタとし
て使用するランダム化マイクロプロセッサ20A 〜20
D が作成される(つまり、鍵鍵60A 、60B 、60C
を、ランダマイザ50中の第1のランダマイザに入力す
ると、ランダム化マイクロプロセッサ20A 〜20D が
作成される)。
するアドレスに従って命令の配列を変える。この作成さ
れた疑似乱数発生器が出力するアドレスに従って命令の
配列を変えるものが、第2のランダマイザである。たと
えば、図4(2)に着目し、Q4、Q3、Q2、Q1が
4ビットのアドレスとして使用される場合、クロックC
L1で発生するアドレス「0001」に命令OP1を対
応させ、クロックCL2で発生するアドレス「100
0」に命令OP2を対応させ、クロックCL3で発生す
るアドレス「1100」に命令OP3を対応させ、クロ
ックCL4で発生するアドレス「1111」に命令OP
4を対応させ、……のようにする。
2、CL3、CL4、……が発生すると、それぞれ、命
令OP1、OP2、OP3、OP4、……というよう
に、システム10において発生する命令の順序と同じ順
序で命令が発生する。つまり、ランダム化マイクロプロ
セッサ20A とランダム化プログラム40A とによって
構成されるランダム化システム10A の機能と、マイク
ロプロセッサ20とプログラム40とによって構成され
るシステム10の機能とが同じになる。
鍵60B を使用して生成されたランダム化マイクロプロ
セッサ20B 中の疑似乱数発生器70B と、疑似乱数発
生器70B によって発生されるアドレスとを示す図であ
る。
接続点C0、C3のみを接続し、論理回路E1をEXO
R回路にセットし、論理回路E2、E3をEXNOR回
路にセットする鍵である。ここで、接続点C1、C2が
接続されないので、論理回路E1であるEXOR回路が
短絡され、論理回路E2であるEXNOR回路が短絡さ
れる。そして、この疑似乱数発生器70B によれば、ク
ロックCL1、CL2、CL3、……が発生すると、ア
ドレス「0000」、「0100」、「1100」、…
…が出力される。これらのアドレス「0000」、「0
100」、「1100」、……は、鍵60A を使用して
生成されたランダム化マイクロプロセッサ20A 中の疑
似乱数発生器70A が発生したアドレス「0001」、
「1000」、「1100」、……とは異なる。
鍵60C を使用して生成されたランダム化マイクロプロ
セッサ20C 中の疑似乱数発生器70C と、疑似乱数発
生器70C によって発生されるアドレスとを示す図であ
る。
接続点C0、C1のみを接続し、論理回路E1、E3を
EXOR回路にセットし、論理回路E2をEXNOR回
路にセットする鍵である。ここで、接続点C2、C3が
接続されないので、論理回路E2であるEXNOR回路
が短絡され、論理回路E3であるEXOR回路が短絡さ
れる。そして、この疑似乱数発生器70C によれば、ク
ロックCL1、CL2、CL3、……が発生すると、ア
ドレス「0001」、「1000」、「1010」、…
…が出力される。これらのアドレス「0001」、「1
000」、「1010」、……は、鍵60A を使用して
生成されたランダム化マイクロプロセッサ20A 中の疑
似乱数発生器70A が発生したアドレス「0001」、
「1000」、「1100」、……とは異なる。
(Linear Feedback Shift Register)の構成を変更する
ことによって、プログラムカウンタに相当する疑似乱数
発生回路が発生するアドレスを異ならせるものであり、
ランダム化マイクロプロセッサのネットリストを生成す
るものである。
合、ランダマイザ50は、各ランダム化マイクロプロセ
ッサ毎に、LFSRが発生するアドレスの順に、プログ
ラムを構成する命令をメモリに格納するものであり、ま
たは、上記順にメモリに格納できるように、プログラム
を入れ替えるものである。なお、この場合、プログラム
のプログラムカウンタをLFSRで構成しておくことが
前提である。
A 〜60D を用いることによって、互いに異なるランダ
ム化マイクロプロセッサ20A 〜20D 、互いに異なる
ランダム化プログラム40A 〜40D を作成することが
できるにも関わらず、それぞれを組み合わせると同じ機
能のシステムを構築することができる。したがって、た
とえ、所定のランダム化マイクロプロセッサ20とラン
ダム化プログラム40とによって構成されるランダム化
システム10が解読された場合、異なる鍵から生成され
た異なるランダム化マイクロプロセッサ20A とランダ
ム化プログラム40A とからなるシステム10A に置き
換えることによって、ハードウェア、ソフトウェア的に
は、それまでとは異なっているにも関わらず、ランダム
化システム10と同じ機能を実現することができる。し
たがって、ハードウェア、ソフトウェアの新規開発期
間、コストを殆どかけずに、新しいシステムに置き換え
ることができる。これによって、ICカードの内容を解
読されても、その被害を最小限に抑えることができる。
ダム化プログラム40が実際には解読されていなくて
も、これらマイクロプロセッサ20またはランダム化プ
ログラム40を解読するのに要するであろう期間よりも
十分に短い期間を周期として、マイクロプロセッサ20
を他のマイクロプロセッサ20A に変更するとともに、
プログラム40を他のプログラム40A に変更すれば、
マイクロプロセッサ20とランダム化プログラム40と
によって構成されるシステム10が解読されたときに
は、マイクロプロセッサ20A とプログラム40A とに
よって構成されるシステム10A が使用されており、解
読した結果は無効となり、被害を被ることはなくなる。
してマイクロプロセッサが用いるLFSRの構造を定義
するものであり、LFSRが発生する疑似乱数列は、L
FSRの構造に依存する。したがって、ランダム化プロ
グラムは、与えられた鍵60からLFSRの構造を決定
し、このLFSRが発生する疑似乱数列を求める。この
疑似乱数列に従って、プログラムの内容を、メモリのど
の番地に格納するかを決定する。鍵60によって定義さ
れているLFSRの動作をシミュレーションし、その順
に命令を並び替えるものである。
であるマイクロプロセッサを用いたシステムのランダム
化方法を示す図である。
の中では、論理設計が終了した(S1、S2)時点のネ
ットリスト(S3)に対してランダム化を行い(S
4)、ランダム化ネットリストS5A 、S5B 、S5C
を生成する。それぞれのランダム化ネットリストS5A
〜S5C を用いてレイアウト設計を行い(S6A 〜S6
C)、マスクパタンを製造し(S7A 〜S7C S8A 〜
S8C )、ランダム化マイクロプロセッサ20A 、20
B 、20C を作成する。プログラムについては、高級言
語で記述されたソースプログラムをコンパイルし、この
コンパイルされたプログラムをランダマイザ50でラン
ダム化し(S14)、ランダム化プログラム40A 、4
0B 、40C が作成される。
ンダム化を行った例であるが、機能設計によって生成さ
れる機能記述についてランダム化を行い、このようにし
て作成されたランダム化機能記述RFDA 、RFDB 、
RFDC のそれぞれについて論理設計、レイアウトを行
い、ランダム化マイクロプロセッサを作成するようにし
てもよい。また、レイアウトについてランダム化を行
い、ランダム化マスクパタンを用いてランダム化マイク
ロプロセッサを作成するようにしてもよい。
ロプロセッサを用いたシステムのランダム化方法を示す
図である。
ステムのランダム化方法において、プログラムのランダ
ム化方法は、図7で示したシステムのランダム化方法に
おけるプログラムのランダム化方法と同じである。
ステムのランダム化方法において、マイクロプロセッサ
の中のランダム化する部分を、予めFPGA(Field Pr
ogramable Gate Array)によって構成しておく。
(S3)のうちで、FPGAで実現する部分のみランダ
マイザ50によってランダム化する。このランダム化結
果から、FPGAのプログラムを作成する。ランダム化
マイクロプロセッサ20A に対してはFPGAプログラ
ム40A を使用し、ランダム化マイクロプロセッサ20
B に対してはFPGAプログラム40B を使用し、ラン
ダム化マイクロプロセッサ20C に対してはFPGAプ
ログラム40C を使用する。これらFPGAプログラム
40A 〜40C を、マイクロプロセッサのFPGA部分
にロードすることによって、ランダム化マイクロプロセ
ッサ20A 、20B 、20C を作成することができる。
ム化する場合、ランダマイザ50は、LFSRの構成を
変更するものであり、これによって、プログラムカウン
タが発生するアドレスが異なり、ランダム化マイクロプ
ロセッサのネットリストを生成することができる。ま
た、LFSRのフィードバック部をFPGA化している
場合には、そのプログラムデータを生成する。
near Feedback Shift Register)の構成を変更すること
によって、プログラムカウンタに相当する疑似乱数発生
回路が発生するアドレスを異ならせるものであり、LF
SRのフィードバック部をFPGA化している場合は、
そのプログラムデータを生成するものである。
20とソフトウェア40とに対してランダマイズを行っ
ているが、ランダム化マイクロプロセッサ(たとえば2
0A)とランダム化プログラム(たとえば40A )とに
よって構成されるランダム化システム(たとえば10
A )は、マイクロプロセッサ20とソフトウェア40と
によって構成されるシステム10と同一の機能を実現す
ることができるので、たとえ、所定のランダム化マイク
ロプロセッサ(たとえば20A )と所定のランダム化プ
ログラム(たとえば40A )とが解析されたとしても、
その時点で、異なる鍵データを用いたランダム化マイク
ロプロセッサ(たとえば20B )とランダム化プログラ
ム(たとえば40B )とに切り替えることによって、シ
ステムを構成するランダム化マイクロプロセッサとラン
ダム化ソフトウェアは、既に内容が解析されたランダム
化マイクロプロセッサとランダム化プログラムと全く異
なるものとなるので、解析によって得られた情報は無効
となる。
と、マイクロプロセッサと、上記マイクロプロセッサに
おいて実行可能なプログラムとによって構成されるシス
テムにおいて、上記マイクロプロセッサをランダム化し
てランダム化マイクロプロセッサを作成する第1のラン
ダマイザと、上記第1のランダマイザに所定のランダム
化マイクロプロセッサを作成させる第1の鍵と、上記プ
ログラムをランダム化してランダム化プログラムを作成
する第2のランダマイザと、上記第2のランダマイザに
所定のランダム化プログラムを作成させる第2の鍵とを
有し、上記ランダム化マイクロプロセッサと上記ランダ
ム化プログラムとによって構成されるランダム化システ
ムは、上記マイクロプロセッサと上記プログラムとによ
って構成される上記システムと同じ機能を実現するシス
テムであるマイクロプロセッサを用いたランダム化シス
テムである。
マイクロプロセッサとプログラムとを読み取られ、解析
されたとしても、現用のシステムと同じ機能を果たすシ
ステムであって、現用のマイクロプロセッサとは異なる
マイクロプロセッサと、現用のプログラムとは異なるプ
ログラムとを容易に生成することができ、したがって、
システムを構成するマイクロプロセッサ、プログラムを
迅速に変更することによってハードウェア、ソフトウェ
ア的には異なっても、現用のシステムと同じ機能を有す
るシステムを迅速、安価に生成することができるという
効果を奏する。
用いたシステムをランダム化する方法の説明図であり、
システムを構成するマイクロプロセッサ、プログラムを
ランダム化する方法の概念を示す図である。
けられる疑似乱数発生器70を示す図である。
ての鍵60A 、60B 、60Cの具体例を示す図であ
る。
用して生成されたランダム化マイクロプロセッサ20A
中の疑似乱数発生器70A と、疑似乱数発生器70A に
よって発生されるアドレスとを示す図である。
用して生成されたランダム化マイクロプロセッサ20B
中の疑似乱数発生器70B と、疑似乱数発生器70B に
よって発生されるアドレスとを示す図である。
用して生成されたランダム化マイクロプロセッサ20C
中の疑似乱数発生器70C と、疑似乱数発生器70C に
よって発生されるアドレスとを示す図である。
ロプロセッサを用いたシステムのランダム化方法を示す
図である。
を用いたシステムのランダム化方法を示す図である。
設計法を示すフローチャートである。
化システム、 20A 〜20D …ランダム化マイクロプロセッサ、 40A 〜40D …ランダム化プログラム、 50…ランダマイザ、 60、60A 〜60C …鍵、 70A 〜70C …疑似乱数発生器。
Claims (6)
- 【請求項1】 マイクロプロセッサと、上記マイクロプ
ロセッサにおいて実行可能なプログラムとによって構成
されるシステムにおいて、 上記マイクロプロセッサをランダム化してランダム化マ
イクロプロセッサを作成するランダム化マイクロプロセ
ッサ作成段階と;上記プログラムをランダム化してラン
ダム化プログラムを作成するランダム化プログラム作成
段階と;上記ランダム化マイクロプロセッサ作成段階と
上記ランダム化プログラム作成段階とを繰り返す繰り返
し段階と;を有し、上記ランダム化マイクロプロセッサ
と上記ランダム化プログラムとによって構成されるラン
ダム化システムは、上記マイクロプロセッサと上記プロ
グラムとによって構成される上記システムと同じ機能を
実現するシステムであることを特徴とするマイクロプロ
セッサを用いたシステムのランダム化方法。 - 【請求項2】 請求項1において、 上記ランダム化マイクロプロセッサ作成段階は、出力す
べきアドレスの順番がランダム化されているマイクロプ
ロセッサを作成する段階であり、 上記ランダム化プログラム作成段階は、命令の順序がラ
ンダム化されているプログラムを作成する段階であるこ
とを特徴とするマイクロプロセッサを用いたシステムの
ランダム化方法。 - 【請求項3】 マイクロプロセッサと、上記マイクロプ
ロセッサにおいて実行可能なプログラムとによって構成
されるシステムにおいて、 上記マイクロプロセッサをランダム化してランダム化マ
イクロプロセッサを作成する第1のランダマイザと;上
記第1のランダマイザに所定のランダム化マイクロプロ
セッサを作成させる第1の鍵と;上記プログラムをラン
ダム化してランダム化プログラムを作成する第2のラン
ダマイザと;上記第2のランダマイザに所定のランダム
化プログラムを作成させる第2の鍵と;を有し、上記ラ
ンダム化マイクロプロセッサと上記ランダム化プログラ
ムとによって構成されるランダム化システムは、上記マ
イクロプロセッサと上記プログラムとによって構成され
る上記システムと同じ機能を実現するシステムであるこ
とを特徴とするマイクロプロセッサを用いたランダム化
システム。 - 【請求項4】 請求項3において、 互いに異なる複数の上記第1の鍵のうちの1つの鍵が上
記第1のランダマイザに入力されることによって生成さ
れるランダム化マイクロプロセッサと、上記互いに異な
る複数の上記第1の鍵のうちの他の鍵が上記第1のラン
ダマイザに入力されることによって生成されるランダム
化マイクロプロセッサとは異なり、 互いに異なる複数の上記第2の鍵のうちの1つの鍵が上
記第2のランダマイザに入力されることによって生成さ
れるランダム化プログラムと、上記互いに異なる複数の
上記第2の鍵のうちの他の鍵が上記第2のランダマイザ
に入力されることによって生成されるランダム化プログ
ラムとは異なり、 同一の鍵を上記第1のランダマイザと上記第2のランダ
マイザとに入力して生成されるランダム化マイクロプロ
セッサとランダム化プログラムとによって構成されるラ
ンダム化システムの機能は、上記マイクロプロセッサと
上記プログラムとによって構成される上記システムの機
能と同じであることを特徴とするマイクロプロセッサを
用いたランダム化システム。 - 【請求項5】 請求項3において、 上記第1のランダマイザは、LFSRにおけるEXOR
回路の配置位置、個数を設定する手段であり、 上記第2のランダマイザは、上記第1のランダマイザが
出力するアドレスに応じて、プログラムを構成する各命
令の配列を代える手段であることを特徴とするマイクロ
プロセッサを用いたランダム化システム。 - 【請求項6】 請求項3において、 上記ランダム化マイクロプロセッサは、FPGAである
ことを特徴とするマイクロプロセッサを用いたランダム
化システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9367296A JPH11191065A (ja) | 1997-12-25 | 1997-12-25 | マイクロプロセッサを用いたシステムのランダム化方法およびその装置 |
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 |
---|---|---|---|
JP9367296A JPH11191065A (ja) | 1997-12-25 | 1997-12-25 | マイクロプロセッサを用いたシステムのランダム化方法およびその装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11191065A true JPH11191065A (ja) | 1999-07-13 |
Family
ID=18488968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9367296A Pending JPH11191065A (ja) | 1997-12-25 | 1997-12-25 | マイクロプロセッサを用いたシステムのランダム化方法およびその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11191065A (ja) |
-
1997
- 1997-12-25 JP JP9367296A patent/JPH11191065A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cheng et al. | A partial scan method for sequential circuits with feedback | |
US5831866A (en) | Method and apparatus for removing timing hazards in a circuit design | |
US20060242385A1 (en) | Dynamically reconfigurable processor | |
Fallah et al. | Functional vector generation for HDL models using linear programming and 3-satisfiability | |
Ghosh et al. | A fast and low cost testing technique for core-based system-on-chip | |
Gschwind et al. | FPGA prototyping of a RISC processor core for embedded applications | |
US6301553B1 (en) | Method and apparatus for removing timing hazards in a circuit design | |
EP1964266B1 (en) | A method for multi-cycle clock gating | |
Slobodová et al. | A flexible formal verification framework for industrial scale validation | |
Devadas | Delay test generation for synchronous sequential circuits | |
Sklyarov | Reconfigurable models of finite state machines and their implementation in FPGAs | |
Bhandari et al. | Exploring eFPGA-based redaction for IP protection | |
Hulgaard et al. | Equivalence checking of combinational circuits using boolean expression diagrams | |
Pundir et al. | Secure high-level synthesis: Challenges and solutions | |
Wagner | Hardware verification | |
Sidhu et al. | Genetic programming using self-reconfigurable FPGAs | |
US20110154062A1 (en) | Protection of electronic systems from unauthorized access and hardware piracy | |
Jiang et al. | PyH2: Using PyMTL3 to create productive and open-source hardware testing methodologies | |
US7213220B2 (en) | Method for verification of gate level netlists using colored bits | |
Monahan et al. | Symbolic modeling and evaluation of data paths | |
Kishinevsky et al. | Partial-scan delay fault testing of asynchronous circuits | |
KR20070097051A (ko) | 동적으로 재구성 가능한 프로세서 | |
Drechsler | Verification of multi-valued logic networks | |
JPH11191065A (ja) | マイクロプロセッサを用いたシステムのランダム化方法およびその装置 | |
Golubcovs et al. | STG-based resynthesis for balsa circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040727 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040827 |