(57)【特許請求の範囲】
【請求項１】
バス幅に冗長性を持たせ冗長バスにダミーデータを挿入する第１の変調手段と、該第１の変調手段の出力側のバスの並び順をレイアウト及び／又は電気的スイッチにより変更する第２の変調手段とを設けたことを特徴とするインターフェース回路
【請求項２】
バスの並び順を変更されたバスを元の並び順に復元するレイアウト及び／又は電気的スイッチを具備する第１の復号手段と、該第１の復号手段の出力側のバス中からダミーデータが伝送されるバス線路を除去する第２の復号手段とを設けたことを特徴とするインターフェース回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第三者による不正行為に対する防御機能を備えたコンピュータシステムに係り、特にデータ信号や物理的な信号線接続に冗長性やランダムネスを付加したバスインターフェイス回路に関するものである。
【０００２】
【従来の技術】
従来のコンピュータデータバスにより伝送される情報は、図１１に示すように、論理空間において２M  で表される情報が、物理空間においてＭ＝Ｎ・Ｋが成り立つように、Ｎビット幅と時間軸上のＫビットで表されていた。
【０００３】
近年、ＩＣカードの応用分野が拡大しつつあるが、それにつれてＩＣカードのセキュリティの問題が重視されるようになってきた。ＩＣカード内に納められている機密情報を解読しようとした場合、プログラムコードやデータが容易に解読できると、この情報を元にして内部を解析し、機密情報を解読されるおそれがある。
【０００４】
【発明が解決しようとする課題】
図１１に示した従来のバス設計方針を踏襲した場合、プログラムコードやデータが順次バスを通過し、そのコードを読みとることで容易にプログラムを解読される可能性がある。
【０００５】
本発明は以上のような点に鑑みてなされたものであり、その目的は、バスを通過するプログラムコードやデータ等が読みとられた場合であっても、マイクロプロセッサの動作を解析されないようにしたバスインターフェイス回路を提供することである。
【０００６】
【課題を解決するための手段】
上記目的を達成するための第１の発明は、バス幅に冗長性を持たせ冗長バスにダミーデータを挿入する第１の変調手段と、該第１の変調手段の出力側のバスの並び順をレイアウト及び／又は電気的スイッチにより変更する第２の変調手段とを設けて構成した。
第２の発明は、バスの並び順を変更されたバスを元の並び順に復元するレイアウト及び／又は電気的スイッチを具備する第１の復号手段と、該第１の復号手段の出力側のバス中からダミーデータが伝送されるバス線路を除去する第２の復号手段とを設けて構成した。
【０００７】
【発明の実施の形態】
本発明のバスインターフェイス回路は、図１に示すように、論理空間において２M  で表される情報を、物理空間においてＭ≦Ｐ・Ｑが成立するよう、ビット幅をＰビットで、時間軸上をＱビットで表現する。そして、データ送信側では、ビット幅や時間軸上に冗長性を持たせて該冗長部分にダミーデータを挿入する変調手段を設け、データ受信側では冗長部分を非検出とすることによりダミーデータを除去して真のデータを取り出す復号手段を設けたものである。
【０００８】
この変調手段において真のデータに対して時間軸上にダミーデータが付加され、あるいはデータ位置が変化するため、仮にバスを通過するコードやデータ等がモニタされても、そのモニタ信号から元の信号を読みとることは困難となる。
【０００９】
［第１の実施の形態］
図２は本発明の第１の実施の形態のバスインターフェイス回路１００を示す図、図３はそのタイミングチャートである。このバスインターフェイス回路１００は、出力すべきデータの時間軸上にダミーデータを挿入して冗長性を持たせる変調回路１１０と、その冗長性をもったデータから元のデータを取り出す復号回路１２０と、ダミーデータを生成する疑似乱数発生器（ＬＦＳＲを使用する）１３０を具備する。変調回路１１０，復号回路１２０は双方向データバス１４０に接続されている。
【００１０】
変調回路１１０は、出力すべきデータDOUTを端子１５１から受けるＤＦＦ回路１１１、疑似乱数発生器１３０からの乱数データDRとＤＦＦ回路１１１からのデータDTを選択して切り替えるセレクタ回路１１２、出力を制御する３状態バッファ回路１１３を有する。セレクタ回路１１２はインバータ１２１１，ＸＯＲ回路１２１２，１２１３，ＡＮＤ回路１２１４，１２１５，ＯＲ回路１２１６からなり、出力選択端子１５２の出力選択信号OSによって切り替えを制御される。３状態バッファ回路１１３は出力をハイインピーダンスに制御するためのもので、出力制御端子１５３の出力制御信号OEによって制御される。１５４はクロックCKが入力するクロック端子である。
【００１１】
復号回路１２０は、クロック信号を遅延させる遅延回路１２１、遅延回路１２１からのクロックCK'と出力選択信号OSを入力するＸＮＯＲ回路１２２、そのＸＮＯＲ回路１２２から出力クロックMCKでデータバス１４０から伝送されてくる出力データを取り込むＤＦＦ回路１２３、データの取り込みを制御する３状態バッファ回路１２４を有する。１５５はデータ出力端子である。
【００１２】
さて、変調回路１１０において、データ信号DOUTが入力端子１５１からＤＦＦ回路１１１に取り込まれ、クロック信号CKに同期して信号DTとしてセレクタ回路１１２に入力する。また、ダミー信号は疑似乱数発生器１３０からクロックCKに同期して信号DRとしてセレクタ回路１１２に入力する。このとき、図３に示すように、端子１５２の出力選択信号OSがHighのときは、クロック信号CKのHigh、Lowに同期して、信号DT、信号DRの順でそれらの信号が交互にセレクタ回路１１２から出力される。また、出力選択信号OSがLowのときは、逆順で出力される。なお、セレクタ回路１１２のＸＯＲ回路をＸＮＯＲ回路に変更することで、ＸＯＲの場合とは逆順の出力信号を生成することも可能である。そして、セレクタ回路１１２の出力信号は、３状態バッファ回路１１３を通して、出力制御信号OEにより、バス１４０に変調信号MDOとして出力される。
【００１３】
復号回路１２０では、クロックCKの位相が遅延回路１２１でシフトされ、その遅延クロックと出力選択信号OSがＸＮＯＲ回路１２２に入力して、信号DTのみを取り込むための変調クロックMCKが作成される。３状態バッファ回路１２４が変調回路１１０の３状態バッファ回路１１３と同期して変調信号MDOの取り込みを行い、変調クロックMCKがＤＦＦ回路１２３に入力することによって、そこに入力した変調信号MDOから復号後データ信号DOUT'が出力端子１５５に取り出される。
【００１４】
図４は図２に示した変調回路１１０、復号回路１２０を用いてｎビットのバスインターフェイス回路２００を実現した場合を示す図である。１５１’は出力すべきｎビットデータDO〜Dn-1の入力する端子、１５２’は各変調回路１１０に入力する出力選択信号OS0〜OSn-1を入力する端子、１３５’は各復号回路１２０からのｎビットデータDO'〜Dn-1'を出力する端子である。ここでは、疑似乱数発生器１３０からのダミーデータDRが変調回路１１０に入力する。
【００１５】
［第２の実施の形態］
図５は本発明の第２の実施の形態のバスインターフェイス回路３００を示す図である。この実施の形態は、データ幅における冗長化と信号線路におけるランダム化を図ったものである。３１０は変調回路であって、レイアウトによって信号配線の物理的な位置変更を行うレイアウトブロック３１１と、電気的スイッチによって接続状態を切り替えるスイッチブロック３１２とを有する。
【００１６】
この構成により、レイアウトブロック３１１において接続を切り替え、スイッチブロック３１２においてスイッチを切り替えることで、入力端子３２０に入力するダミーデータを含む入力データがデータバス３３０を通過するときのデータラインの物理的な位置（データの並びの順）を変更することができる。
【００１７】
３４０は復号回路であって、変調回路３１０とは鏡面対称の構造をとる。すなわち、復号回路３４０のスイッチブロック３４２は変調回路３１０のスイッチブロック３１２と入出力を反対にした接続関係にし、レイアウトブロック３４１も変調回路３１０のレイアウトブロック３１１と入出力を反対にした接続関係にする。
【００１８】
この結果、復号回路３４０の出力端子３５０側には、入力端子３２０における並びと同じ順に並んだデータを取り出すことができる。なお、変調回路３１０のレイアウトブロック３１１とスイッチブロック３１２はいずれか一方のみであってもよく、また復号回路３４０のレイアウトブロック３４１とスイッチブロック３４２も復調回路３１０に対応させて、いずれか一方のみであってもよい。
【００１９】
次に、データ幅方向におけるランダム化を含めた場合について、詳しく説明する。データ幅ｍビットに対して、データバス幅をｎビット（但し、ｎ≧ｍ）に冗長化する場合の変調回路４１０を図６に示す。この変調回路４１０は、コネクション回路４１１、２ビットの複数のデコーダ４１２、ｎ−ｍビットの疑似乱数発生器４１３、信号線の接続状態を決めるデコード前信号を生成する２k-1ビット疑似乱数発生器（ＬＦＳＲ）４１４、疑似乱数を固定するためのＮＡＮＤ回路４１５を有する。４５１はｍビットのデータ入力端子、４５２はクロック端子、４５３はロック端子である。
【００２０】
図７はコネクション回路４１１の内部を示す回路である。このコネクション回路４１１は、レイアウトブロック４１１１と、複数のクロックドインバータ４１１２を有するスイッチブロック４１１３とを有する。
【００２１】
次に動作を説明する。ｍビットのデータがD1〜Dmとして端子４５１からコネクション回路４１１に入力し、n-mビット疑似乱数発生器４１３からもｎ−ｍビットのダミーデータR1〜Rn-mが入力する。この両方をあわせたｎビットのデータは、レイアウトブロック４１１１でレイアウト上の配線の接続位置がランダム且つ１対１に変えられる。このようにして接続位置を変えられた信号線は、４ビット単位にまとめられ、このまとめられたブロック内でスイッチブロック４１１３において、クロックドインバータ４１１２によってデータ信号の並び順が変えられ、データバスB1〜Bnに出力される。
【００２２】
単位ブロックの４ビットの信号配線の並びの順に１番目の信号線をSig1、２番目をSig2、３番目をSig3、４番目をSig4と名付けると、Sig1については４つのクロックドインバータによりデータバスB1,B2,B3,B4に接続され、その各々のクロックドインバータは信号φ11、φ12、φ13、φ14とその逆相信号により制御される。φの添字は、第１項が信号線Sig1の番号、第２項が出力データバスB1〜B4の番号であり、両添字でその２つを接続していることを示している。１つの信号線に接続されている４つのクロックドインバータの内の１つが活性化されるように制御信号φが入力される。また、同一ブロック中の１６個のクロックドインバータを制御する制御信号の添字の第２項が、等しい制御信号を入力とするクロックドインバータが同時に活性化しないよう制御信号が選ばれている。
【００２３】
図８はその制御信号φを生成する２ビットデコーダ４１２の詳細を示す図である。このデコーダ４１２は、インバータ４１２１，４１２２，ＮＡＮＤ回路４１２３〜４１２６から構成されている。ｎ＝２kの場合、デコーダ４１２は２k−２個が使用される。２k-1ビット疑似乱数発生器４１４から出力する２ビット信号S1,S2からデコードされた４つの信号は、その逆相信号と共に１６個のクロックドインバータを制御する。図８の出力信号φxyにおいて、ｘ＝１，ｙ＝１とした場合は、図７のSig1〜Sig４に相当する。疑似乱数発生器４１４にはクロックCKとロック信号LOのＮＡＮＤをとった信号がクロック信号として入力するので、ロック信号LOを入力することで疑似乱数発生器４１４の状態が固定され、デコーダ４１２の出力信号が固定され、コネクション回路４１１の電気的接続状態が固定される。
【００２４】
図９は上記した変調回路４１０に復号回路４２０を組み合わせたバスインターフェイス回路４００を示す図である。復号回路４２０のデコーダ４２２は変調回路４１０のデコーダ４１２と同じであり、変調回路４１０の疑似乱数発生器４１４の疑似乱数信号を入力する。コネクション回路４２１は変調回路４１０のコネクション回路４１１の入出力の関係を反対にしたものであり、図１０にその具体例を示した。データバスB1〜Bnに接続されるラインは、スイッチブロック４２１３を構成するクロックドインバータ４２１２のオン／オフにより接続状態を変更される。この信号は変調回路４１０のコネクション回路４１１とは入出力関係を反対にレイアウトしたレイアウトブロック４２１１を通り、出力端子４５４に出力される。以上により、変調回路４１０に入力して変調された信号が復号回路４２０で復元される。
【００２５】
【発明の効果】
以上から本発明によれば、プログラムコードやデータ等がバスを通して送られる際に、信号に冗長性、ランダムネスが付加されているため、仮にバスを通過する信号がモニタされたとしても、その信号の解析は困難であり、コンピュータシステム等の高度なセキュリティが期待できる。
【図面の簡単な説明】
【図１】  本発明のデータの論理空間から物理空間へのマッピングの概念の説明図である。
【図２】  本発明の第１の実施の形態のバスインターフェイス回路の基本構成を示すブロック図である。
【図３】  図１のバスインターフェイス回路の信号のタイミングチャートである。
【図４】  図１の構成をｎビットのバスに展開したときのバスインターフェイス回路の構成を示すブロック図である。
【図５】  本発明の第２の実施の形態のバスインターフェイス回路の基本構成を示すブロック図である。
【図６】  図５の構成をｎビットバスに展開した場合のバスインターフェイス回路の変調回路の構成を示すブロック図である。
【図７】  図６の変調回路のコネクション回路の具体的な回路図である。
【図８】  図６の変調回路のデコーダの回路図である。
【図９】  図６の変調回路およびそれに対応した復号回路からなるバスインターフェイス回路の全体のブロック図である。
【図１０】  図９に示した構成の内の復号回路のコネクション回路の回路図である。
【図１１】  従来のデータの論理空間から物理空間へのマッピングの概念の説明図である。
【符号の説明】
１００：バスインターフェイス回路、１１０：変調回路、１１１：ＤＦＦ回路、１１２：セレクタ回路、１１３：３状態バッファ回路、１２０：復号回路、１２１：遅延回路、１２２：ＸＮＯＲ回路、１２３：ＤＦＦ回路、１３０：疑似乱数発生器、１４０：バス、１５１：入力端子、１５２：出力選択制御端子、１５３：出力制御端子、１５４：クロック端子、１５５：出力端子
２００：バスインターフェイス回路
３００：バスインターフェイス回路、３１０：変調回路、３１１：レイアウトブロック、３１２：スイッチブロック、３２０：入力端子、３３０：バス、３４０：復号回路、３４１：スイッチブロック、３４２：レイアウトブロック、３５０：出力端子、
４００：バスインターフェイス回路、４１０：変調回路、４１１：コネクション回路、４１１１：レイアウトブロック、４１１２：クロックドインバータ、４１１３：スイッチブロック、４１２：デコーダ、４１３：n-mビットの疑似乱数発生器、４１４：２k-1ビットの疑似乱数発生器、４１５：ＮＡＮＤ回路、４２０：復号回路、４２１：コネクション回路、４２１１：レイアウトブロック、４２１２：クロックドインバータ、４２１３：スイッチブロック、４２２：デコーダ、４３０：バス、４５１：入力端子、４５２：クロック端子、４５３：ロック端子、４５４：出力端子
【図１】
0003716959.tif 000002
【図２】
0003716959.tif 000003
【図３】
0003716959.tif 000004
【図４】
0003716959.tif 000005
【図５】
0003716959.tif 000006
【図６】
0003716959.tif 000007
【図７】
0003716959.tif 000008
【図８】
0003716959.tif 000009
【図９】
0003716959.tif 000010
【図１０】
0003716959.tif 000011
【図１１】
0003716959.tif 000012