(57)【要約】【課題】基板上での波形モニタリングを防止し、ハードウェア的観点からのセキュリティを設定することで、第三者の不正な複製を防止する。【解決手段】デバイス間（プログラマブルデバイス１-不揮発性デバイス２間）に容量検出回路３を設けることで、波形観測機器の入力容量を検出させ、デバイス間（プログラマブルデバイス１-不揮発性デバイス２間）のデータ信号そのものを停止させ、波形観測を出来なくさせる。【選択図】図４
2015207131.tif 000002
【特許請求の範囲】
【請求項１】
外部からプログラムデータを書き込むことによって機能のプログラムが可能なプログラマブルデバイスとそのデバイスのプログラムデータを保持している不揮発性デバイスで構成されている回路において、前記プログラマブルデバイスと不揮発性デバイス間の通信配線上の容量を検出する容量検出回路を設けたことを特徴とする制御装置。
【請求項２】
前記容量検出回路の検出結果が通信完了及び通信開始を示す配線、もしくはそのいずれかに接続されることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記容量検出回路の検出結果が通信用クロック配線及び通信用データ配線、もしくはそのいずれかに接続されることを特徴とする請求項１に記載の制御装置。
【請求項４】
前記容量検出回路の検出結果を通信用データを遮断させる回路に接続することを特徴とする請求項１に記載の制御装置。
【請求項５】
前記容量検出回路の検出結果を前記通信用データ配線もしくは前記通信用データを遮断させる回路に接続し、前記通信用データを停止もしくは前記プログラマブルデバイスを停止状態にさせることを特徴とする請求項３または４に記載の制御装置。
【請求項６】
前記容量検出回路の検出結果をダミーデータと正規データを切り替える回路に接続し、通信用データを前記正規データ以外のデータにすることを特徴とする請求項１に記載の制御装置。
【請求項７】
前記容量検出回路の検出結果を通信を行うための重要設定端子を切り替える回路に接続し、通信用データを停止もしくは前記プログラマブルデバイスを停止状態にさせることを特徴とする請求項１に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、特に、デバイス間の波形観測を防止することで、不正な複製や情報流出を防止し、プログラマブルデバイスの回路データのセキュリティ効果を高める制御装置に関する。
【背景技術】
【０００２】
ロジック回路を再設定可能なプログラマブルデバイスにおいて、再設定可能という特性上、そのロジック回路データが第三者に読まれてしまった場合、容易に不正な複製品が作成されたり、データが解析されたりすることで技術情報が流出する恐れがある。それらを防止するため、そのロジック回路データを保護する方法として、ロジック回路データを暗号化し、回路の復元を不能にする方法やＩＤコードを設定してコードが一致しなければ読出し不能にするなどの方法が知られている。
【０００３】
これらの方法は、主にソフトウェア処理によって行われるもので、デバイスに入力するデータそのものに対して実施されるため、第三者が不正にデータを復元したり、読み出して解析するような行為に対しては、非常に高いセキュリティ対策となる。
【０００４】
しかしながら、ハードウェア上で考慮した場合、多くのデバイスはプログラマブルロジックデバイス単体で動作するものが少ない。例えばＦＰＧＡ（Ｆｉｅｌｄ Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）のようなデバイスの場合、外部にデータ格納が可能な不揮発性デバイスが存在し、動作開始時に同デバイスの内部データをロードすることで、回路データをＦＰＧＡに書き込む。この場合、上記の暗号化された回路データやＩＤコードが設定された回路データは、外部の不揮発性デバイスにコンフィグレーションデータとして格納されるため、どうしてもＦＰＧＡと不揮発性デバイス間の信号配線が基板上に必要となる。その際に、この基板上の信号配線をオシロスコープ等で波形をモニタリングされた場合、どのような回路データなのかが読み取られてしまう恐れがある。もしくは、回路データを完全に復元出来なくても、同じ波形を生成すれば、ＦＰＧＡとして動作させることは十分に可能となり、第三者の不正な複製を可能にしてしまう恐れがある。
【０００５】
ＦＰＧＡの回路情報のコピーを防止する方法は幾つか提案されてきている。例えば特許文献１では、ＦＰＧＡへの回路構成データの転送を制御することにより、回路構成データをＦＰＧＡ内に転送すべきか否かについての判定を行なう方法が提案されている。
【０００６】
また、特許文献２では、装置起動時に小さな容量のＦＰＧＡ回路配置データを使用して通信インターフェイスを構成し、その通信インターフェイスを使用して他のモジュールの回路配置データをダウンロードすること、及び、外部からのアクセス可能なメモリにそれらの回路配置データを残さない方法が提案されている。
【０００７】
さらに、特許文献３では、不正アクセスを検出した場合にはＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ Ｌｏｇｉｃ Ｄｅｖｉｃｅ）、ＦＰＧＡなどのプログラマブルデバイスとフラッシュメモリなどの不揮発性デバイスを破壊する、すなわち外部から読み取れないようにする方法が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１６３５２２号公報
【特許文献２】特開２００４−３２６１４３号公報
【特許文献３】特開２００９−１１００７７号公報
【非特許文献】
【０００９】
【非特許文献１】アルテラ社資料：Ｃｙｃｌｏｎｅ４ Ｄｅｖｉｃｅ Ｈａｎｄｂｏｏｋ, Ｖｏｌｕｍｅ １
【非特許文献２】ザイリンクス社 Ｓｐａｒｔａｎ６ ＦＰＧＡ コンフィグレーションガイド ＵＧ３８０
【発明の概要】
【発明が解決しようとする課題】
【００１０】
まず図１に従来の装置全体のブロック図を示す。図２に従来に装置のフローチャートを示す。
【００１１】
従来技術は、一般的な方法であり非特許文献１および非特許文献２にて主に結線情報が記載されており、ｗｅｂ上に公開されている。
【００１２】
プログラマブルデバイス１のような回路データを外部の不揮発性デバイス２に格納することを必要とするデバイスにおいて、回路データの保護もしくは同じ機能を持ったデバイスの不正な複製を防止するためには、少なくともソフトウェア的な観点とハードウェア的な観点でセキュリティを設定する必要がある。その理由は、例えばソフトウェア上にて回路の暗号化を行い設定した場合、回路が読み出された場合でも、暗号解除キーが不明であれば、回路の復元が出来ないため技術情報の流出を防ぐことが出来る。また、ＩＤコードを設定した場合、ＩＤコードが不明であれば、回路の読出しが不能になるので、こちらも技術情報の流出を防ぐこと出来、且つ複製の防止も可能になる。
【００１３】
しかしながら、ハードウェア上でデバイス間（プログラマブルデバイス１-不揮発性デバイス２間）の信号を波形観測された場合、その波形は回路データそのものになるので、暗号化やＩＤコードを設定していても、その情報が含まれた状態でデータが取得されてしまう。波形からデータをデコードすることは容易ではないが、同じ波形を生成することは容易にできるため、同じ機能を持ったデバイスが複製されてしまう恐れがある。
【００１４】
ハードウェアの観点から、このような課題を解決するものとして、例えば、特許文献１や特許文献２のようなセキュリティ向上技術が開示されている。
【００１５】
しかし、いずれの場合も、プログラマブルデバイス部と他デバイスが接続されており、その接続配線から波形取得された場合は、容易に不正複製に繋がる恐れがある。
【００１６】
本発明は、デバイス間の波形観測を防止することで、不正な複製や情報流出を防止し、プログラマブルデバイスの回路データのセキュリティ効果を高めることを目的としている。
【課題を解決するための手段】
【００１７】
本発明では、ハードウェア的な観点からデバイス間（プログラマブルデバイス-不揮発性デバイス間）に容量検出回路を設けることで、波形観測機器の入力容量を検出させ、デバイス間（プログラマブルデバイス-不揮発性デバイス間）のデータ信号そのものを停止させ、波形観測を出来なくさせることによりセキュリティを向上させることを特徴としている、
【図面の簡単な説明】
【００１８】
【図１】従来技術での構成図である。
【図２】従来技術でのフローチャートである。
【図３】本発明に係る実施例１における制御装置の容量検出を実施した場合のフローチャートである。
【図４】本発明に係る実施例１における制御装置の容量検出回路を接続した詳細構成図である。
【図５】本発明に係る実施例１における制御装置の容量検出回路と検出フラグ、及び通信用データ線遮断回路を不揮発性デバイス内に収めた構成図である。
【図６】本発明に係る実施例２における制御装置の容量検出回路と検出フラグ、及び通信用データ線遮断回路と検出線を不揮発性デバイス内に収めた構成図である。
【図７】本発明に係る実施例２における制御装置の容量検出回路と検出フラグ、ダミーデータ発生回路及び正規データ発生回路出力とダミーデータ発生回路出力とを切り替える回路を不揮発性デバイスに収めた構成図である。
【図８】本発明に係る実施例２における制御装置の容量検出回路を重要設定端子に接続した構成図である。
【図９】本発明に係る実施例２における制御装置の通信用データ線１６の立ち上がり時拡大波形である。
【発明を実施するための形態】
【実施例１】
【００１９】
図４は、本発明の実施例１に係る制御装置全体のブロック図である。以下本発明の構成について説明する。
【００２０】
本発明に関する構成は、ＩＣ内部の回路を自在に書き換えることが可能なプログラマブルデバイス１と、その回路データを保持している不揮発性デバイス２を備え、プログラマブルデバイス１と不揮発性デバイス２とを通信用クロック線１７と通信用データ線１６で接続されている配線に対して、配線容量の変動を検出する容量検出回路３を有し、且つ通信用データ線１６もしくは通信用クロック線１７の配線を遮断できる信号を生成可能な回路を具備する。
【００２１】
プログラマブルデバイス１と不揮発性デバイス２が通信用クロック線１７と通信用データ線１６で接続された回路を搭載したプリント基板において、通信用データ線１６に配線容量を検出するための容量検出回路３が接続されている。プログラマブルデバイス１に接続されたダウンロード開始Ｅｎａｂｌｅ４とダウンロード完了Ｅｎａｂｌｅ５は、プログラマブルデバイス内の動作を表す信号であり、ダウンロードを実行する上で重要な設定端子である（以下これらダウンロード開始Ｅｎａｂｌｅ４とダウンロード完了Ｅｎａｂｌｅ５を重要設定端子とする）。また容量検出回路３は、具体的な数値を検出するためのものではなく、オシロスコープ６などの波形観測装置によって波形観測されることで、通信用データ線１６の容量に変動があった場合に対してのみ動作を行う。通信用データ線１６に対して容量の変動が見られた場合、通信用データ線１６の接続をスイッチ２４等で遮断することで通信を停止させる。もしくは、通信用クロック線１７に対して容量検出回路３と接続遮断スイッチを設けてもクロックが停止するので、通信を停止させることが出来る。よって、通信用クロック線１７、あるいは通信用データ線１６と通信用クロック線１７に配線容量を検出するための容量検出回路３を接続した場合も、通信用データ線１６に接続した場合と同様の動作をさせることができる。
【００２２】
プログラマブルデバイス１と不揮発性デバイス２は、外部からの電源が供給されると、まずコンフィグレーションデータをダウンロードするためにダウンロード開始Ｅｎａｂｌｅ４がＯＮになり、不揮発性デバイス２からプログラマブルデバイス１へのコンフィグレーションのダウンロードが開始される。この時、通信用データ線１６の容量変動が見られた場合、容量検出回路３が動作してスイッチ２４が通信用データ線１６を遮断するため、ダウンロードが停止し、回路データを読み取られることを防止することが出来る。
【００２３】
回路データが読み取られる可能性がある状態は、ダウンロード開始Ｅｎａｂｌｅ４が、ＯＮ状態からダウンロード完了Ｅｎａｂｌｅ５がＯＮになるまでの期間である。ダウンロード完了Ｅｎａｂｌｅ５は、ダウンロードが最後まで実施され、回路が確定するまでＯＦＦ状態なっている。ダウンロード完了Ｅｎａｂｌｅ５がＯＮになっていれば、プログラマブルデバイス１と不揮発性デバイス２との通信を行わないため、回路データが読み取られる可能性はない。そのため、ダウンロード開始Ｅｎａｂｌｅ４もしくはダウンロード完了Ｅｎａｂｌｅ５に対して容量検出回路３の出力を接続させてコントロールすることで、強制的にダウンロード開始Ｅｎａｂｌｅ４をＯＦＦにしたり、ダウンロード完了Ｅｎａｂｌｅ５をＯＮにすることで通信を停止させることが可能となり、通信用データ線１６もしくは通信用クロック線１７の接続を遮断した場合の効果と同様な効果を得ることが出来る。
【００２４】
ここで本発明では、このコンフィグレーションデータの通信配線上に容量検出回路３を設けることを特徴としているため、当該容量検出回路に着目し、以下説明を進める。
【００２５】
容量検出回路３は、オシロスコープ６のような波形観測機器によって観測する場合、プローブを必要とするため、そのプローブの入力容量の検出に使用する。例えば、信号の立ち上がり時間の変化を検出する方法を一例として以下に説明する。
【００２６】
図４では、容量検出回路３の一例を示している。この図と図９を用いて容量検出方法を説明する。
【００２７】
通信配線には、プリント基板のＧＮＤ配線や金属フレームとの間に寄生容量が発生している。波形観測機器等のプローブが接触した場合、波形観測機器がＧＮＤへ接地しているため、プローブと配線との間に静電容量が発生する。この容量を検出するために、まず信号の立ち上がり時間について２つのスレッショルド電圧とＭＰＵ１８に対する検出精度となるスレッショルド時間を決定する。図９は通信用データ線１６の電圧立ち上がり波形部を拡大したものである。通信用データ線１６に対して容量が変化した場合、正常な波形２０に対して容量が増加することで立ち上がり時間が遅延する（以下、容量負荷時波形２１とする）。この時、２つのコンパレータ１９に対するスレッショルド電圧をＶ１、Ｖ２とし、その時の時間をそれぞれ正常な波形２０に対してＴ１、Ｔ３、容量負荷時波形２１に対してＴ２、Ｔ４とする。常に正常な波形２０であればＴ１とＴ２は等しく、Ｔ３とＴ４は等しい。しかしながら容量負荷時波形２１の場合、Ｔ１とＴ２、Ｔ３とＴ４で遅延が発生する。この時間を利用して、「Ｔ３−Ｔ１」と「Ｔ４−Ｔ２」をＭＰＵ１８で計測することで、容量が負荷されているかどうか判定することが出来る。ＭＰＵ１８にて判定された結果は検出フラグとして出力させる。検出フラグはそのまま通信用データ線１６を遮断するためのスイッチ２４等に接続することで、容量検出時に通信用データ線１６の接続を解除し通信を停止させる。
【００２８】
図３は、プローブの容量を検出した場合における本発明の制御装置の動作フローチャートの一例である。以下にその動作を説明する。
【００２９】
まず、電源供給源をＯＮにする（Ｓ００１）とプログラマブルデバイス１は一旦停止状態となる（Ｓ００２）。プログラマブルデバイス１は、ダウンロード開始Ｅｎａｂｌｅ４をＯＮ状態に遷移することで初期状態となる（Ｓ００３）。不揮発性デバイス２は、ダウンロード開始Ｅｎａｂｌｅ４の状態を受信することで、データ送信を開始する（Ｓ００４）が、不揮発性デバイス２の接続状態（Ｓ００７）によっては、プログラマブルデバイス１は初期状態（Ｓ００３）にて停止する。不揮発性デバイス２がデータ送信を開始（Ｓ００４）し始めてから、プログラマブルデバイス１が送信されたデータをチェックする（Ｓ００８）までに、通信用データ線１６に対して容量の変化を検出した場合、容量検出回路３によって通信用データ線１６もしくは通信用クロック線１７を停止（Ｓ００９）させ、プログラマブルデバイス１を停止状態（Ｓ００２）に遷移させる。この時、通信用データ線１６の容量変化を検出している状態であれば、通信用データ線１６は常に停止状態（Ｓ００９）となり、プログラマブルデバイス１としては何も動作しない。但し、プログラマブルデバイス１を停止状態（Ｓ００２）にせず、通信用データ線１６を停止するたけでも効果があり、途中から送信データを再開してもプログラマブルデバイス１で送信されたデータをチェックする際にＮＧとなり、初期状態に遷移する（Ｓ００３）。通信用データ線１６に対して容量の変化を検出出来なければ、プログラマブルデバイス１は動作状態に遷移し（Ｓ００５）、以降電源供給源がＯＦＦもしくは、外部からダウンロード開始Ｅｎａｂｌｅ４がＯＮ状態に遷移しない限り、データ送信は実施されないため、回路データを読み取られる可能性はない。
【００３０】
以上説明した容量検出回路を設けることで、プログラマブルデバイス１のような回路データを外部の不揮発性デバイス２に格納することを必要とするデバイスに対して、ハードウェア的観点からによるセキュリティ設定を得ることが可能となる。また、従来からのロジック回路データを暗号化し、回路の復元を不能にする方法や、ＩＤコードを設定してコードが一致しなければ読出し不能にする方法を併用することで、より強固なセキュリティを設定することが可能となる。
【００３１】
本発明ではハードウェア上にセキュリティシステムを設けることで、従来よりも高いセキュリティを提供することが出来る。
【実施例２】
【００３２】
前述した実施例の容量検出回路については、プリント基板上に実装された状態にて説明したが、例えば、プログラマブルデバイス内部や外部デバイス内部に同様構成を持つことでセキュリティを高めることが出来る。
【００３３】
図５〜図７に不揮発性デバイス内部に容量検出回路を内包した構成例を示す。以下に説明する。
【００３４】
まず、図５は、図４に示したような容量検出回路３を不揮発性デバイス１１の内部に内包した場合である。不揮発性デバイス１１内に収めることで、容量検出回路３のみを容易に外すことを困難にさせることができる。
【００３５】
図６は、通信用データ線１６の容量を検出するための検出線２３を不揮発性デバイス２２の内部に収める。それによって、検出線２３を切断されることによる容量検出回路３の動作不能状態を回避させ、確実に容量検出回路３を動作させることが出来る。動作不能状態とは、容量を検出するための検出線２３が切断されることで、図９に示したような立ち上がり状態の変化が起きなくなり、容量を検出することが出来なくなる状態を指す。
【００３６】
図７は、図４に示したような容量検出回路３を不揮発性デバイス１２内に内包し、且つ容量が検出された場合に正規データ発生回路８の出力信号とダミーデータを発生させるダミーデータ発生回路７の出力信号とを切替器２５により切り替える。それによって、観測される波形は、ダミーデータとなるため、正規データの情報は保護することができる。ダミーデータは、例えばデータ容量に応じたランダムデータや、あるいは例えば回路動作に必要となる認定パラメータをダミーデータと切り替えるようにすれば、必要なデータ量の削減を実施することも出来る。
【００３７】
また図８には、容量検出回路を重要設定端子に接続した構成例を示す。図４に示したような容量検出回路３によって容量が検出された場合、主に重要設定端子としてプログラマブルデバイス１に存在するダウンロード完了Ｅｎａｂｌｅ５もしくはダウンロード開始Ｅｎａｂｌｅ４のいずれか一方または両方の信号をスイッチ２６でＯＦＦすることで、プログラマブルデバイス１を停止状態にさせ、通信波形を停止させる。もしくは図５に示した不揮発性デバイス１１や図６に示した不揮発性デバイス２２、図７に示した不揮発性デバイス１２のように、不揮発性デバイス１５に、ダウンロード完了Ｅｎａｂｌｅ５もしくはダウンロード開始Ｅｎａｂｌｅ４のいずれか一方または両方の信号を内包し、プログラマブルデバイス１に接続させれば、容量検出回路３を不揮発性デバイス１５内部に納めることも出来る。
【００３８】
（発明の背景）
近年では、ＦＰＧＡなどのように汎用性が高く、且つＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）に比べ短期間で開発が可能なデバイスが増え始めており、使用する機会も増えつつある。そういったメリットがある一方で、回路データなどを第三者が容易に抜き出すことも可能なため、技術情報が流出してしまうリスクも多大に存在する。そういったリスクを少しでも低減させる必要性は非常に重要である。
【００３９】
（発明の利用が考えられる分野）
プログラマブルデバイスと外部デバイスで構成する各種基板、各種表示装置に利用することが可能である。
【符号の説明】
【００４０】
１  プログラマブルデバイス
２  不揮発性デバイス
３  容量検出回路
４  ダウンロード開始Ｅｎａｂｌｅ
５  ダウンロード完了Ｅｎａｂｌｅ
６  オシロスコープ
７  ダミーデータ発生回路
８  正規データ発生回路
１１  不揮発性デバイス
１２  不揮発性デバイス
１５  不揮発性デバイス
１６  通信用データ線
１７  通信用クロック線
１８  ＭＰＵ
１９  コンパレータ
２０  波形
２１  容量負荷時波形
２２  不揮発性デバイス
２３  検出線
２４、２６  スイッチ
２５  切替器
【図１】
2015207131.tif 000003
【図２】
2015207131.tif 000004
【図３】
2015207131.tif 000005
【図４】
2015207131.tif 000006
【図５】
2015207131.tif 000007
【図６】
2015207131.tif 000008
【図７】
2015207131.tif 000009
【図８】
2015207131.tif 000010
【図９】
2015207131.tif 000011