(57)【要約】      （修正有）【課題】ユーザ側のホスト機器とＦＰＧＡボードにより制御される被制御機器との間のシステム制御データ通信において、システム制御の安全性を向上させる、悪意者によって解析されにくい暗号化データ通信方式を提供する。【解決手段】ＦＰＧＡボードは、ＦＰＧＡの構成を書き換え可能なＦＰＧＡから独立したコンフィグレータを備え、ホスト機器は、ＦＰＧＡ上にＩＰコアとしてデコーダを実装するための構成情報データを含むコンフィグレーションデータを送信可能なアプリケーションソフトウェアを有し、コンフィグレータは、アプリケーションソフトウェアから受信したコンフィグレーションデータに基づき任意のタイミングでＦＰＧＡ上にデコーダを実装可能とし、デコーダの認証により、ＦＰＧＡとホスト機器との間の制御データの復号又は暗号化を行う。【選択図】図１
2015211295.tif 000002
【特許請求の範囲】
【請求項１】
制御対象機器を制御可能なＦＰＧＡデバイスと外部のホスト機器との間の暗号化データ通信方式において、
前記ＦＰＧＡデバイスは、ＦＰＧＡの構成を書き換え可能なＦＰＧＡから独立したコンフィグレータを備え、
前記ホスト機器は、ＦＰＧＡ上にＩＰコアとしてデコーダを実装するための構成情報データを含むコンフィグレーションデータを送信可能なアプリケーションソフトウェアを有し、
前記コンフィグレータは、アプリケーションソフトウェアから受信したコンフィグレーションデータに基づき任意のタイミングでＦＰＧＡ上にデコーダを実装可能とし、
前記デコーダの認証により、ＦＰＧＡとホスト機器との間の制御データの復号又は暗号化を行うことを特徴とする暗号化データ通信方式。
【請求項２】
制御対象機器を制御可能なＦＰＧＡデバイスと外部のホスト機器との間の暗号化データ通信方式において、
前記ＦＰＧＡデバイスは、ＦＰＧＡの構成を書き換え可能なＦＰＧＡから独立した第２のデコーダを実装したコンフィグレータを備え、
前記ホスト機器は、ＦＰＧＡ上にＩＰコアとして第１のデコーダを実装するための構成情報データを含むコンフィグレーションデータを送信可能なアプリケーションソフトウェアを有し、
前記コンフィグレータは、アプリケーションソフトウェアから受信したコンフィグレーションデータに基づいて、任意のタイミングでＦＰＧＡ上に第１のデコーダを実装可能とし、
前記第１のデコーダと第２のデコーダの双方の認証により、ＦＰＧＡとホスト機器との間の制御データの復号又は暗号化を行うことを特徴とする暗号化データ通信方式。
【請求項３】
外部のホスト機器上のアプリケーションソフトウェアとの間の暗号化データ通信により制御対象機器を制御可能なＦＰＧＡと、該ＦＰＧＡから独立したプログラマブルデバイス、マイコン、専用の回路のいずれかからなるコンフィグレータと、ＦＰＧＡ上にＩＰコアとして実装されるデコーダとからなるＦＰＧＡデバイスであって、
前記コンフィグレータは、アプリケーションソフトウェアから受信したデコーダの構成情報データを含むコンフィグレーションデータに基づいて任意のタイミングでＦＰＧＡ上にデコーダを実装可能とし、
前記デコーダの認証により、ＦＰＧＡとホスト機器との間の制御データの復号又は暗号化を行うように構成したことを特徴とするＦＰＧＡデバイス。
【請求項４】
外部のホスト機器上のアプリケーションソフトウェアとの間の暗号化データ通信により制御対象機器を制御可能なＦＰＧＡと、該ＦＰＧＡから独立したプログラマブルデバイス、マイコン、専用の回路のいずれかからなるコンフィグレータと、前記ＦＰＧＡ上にＩＰコアとして実装される第１のデコーダと、前記コンフィグレータ上に予め実装された第２のデコーダとからなるＦＰＧＡデバイスであって、
前記コンフィグレータは、アプリケーションソフトウェアから受信した第１のデコーダの構成情報データを含むコンフィグレーションデータに基づいて、任意のタイミングでＦＰＧＡ上に第１のデコーダを実装可能とし、
前記第１のデコーダと第２のデコーダの双方の認証により、ＦＰＧＡとホスト機器との間の制御データの復号又は暗号化を行うことを特徴とするＦＰＧＡデバイス。
【請求項５】
請求項３に記載のＦＰＧＡデバイスとの通信により、
前記ＦＰＧＡ上にＩＰコアとして前記デコーダを実装可能とすることを特徴とする、外部のホスト機器上で動作可能なアプリケーションソフトウェア。
【請求項６】
請求項４に記載のＦＰＧＡデバイスとの通信により、
前記ＦＰＧＡ上にＩＰコアとして前記第１のデコーダを実装可能とすることを特徴とする、
外部のホスト機器上で動作可能なアプリケーションソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）により制御可能な被制御機器を、ユーザ側のホスト機器との暗号化された制御データの通信により制御する場合における暗号化データ通信方式に係り、具体的には、ユーザモードにおけるホスト機器と被制御機器上に組み込まれたＦＰＧＡボードとのデータ通信の暗号化及び復号を可能とするようにＦＰＧＡを再構成するコンフィグレーション及び制御データの通信方式に関する。
【背景技術】
【０００２】
ＦＰＧＡは、チップ上に集積させた多数の論理ブロックと配線領域とからなり、複数の論理ブロックを組み合わせて接続することにより、任意の論理回路（ＩＰコア）を構成可能とする、いわゆるプログラマブル・デバイスである。現状では、多くの機器がマイコン等で制御される電子制御組み込みシステムとなっているが、固定的な物理的回路からなるマイコンが実装時点の設計仕様上の制御しか行えないのに対し、ＦＰＧＡは外部から入力する回路構成データによりＩＰコアを書き換えて（コンフィグレーション）論理回路を再構成できるため、柔軟なシステム制御が可能となる。
【０００３】
ＦＰＧＡの物理的構成はＳＲＡＭベースであり、電源が絶たれた際にＩＰコアは初期化されてしまうため、一般的には、ＦＰＧＡを実装したデバイス（以下「ＦＰＧＡボード」という）上に回路構成情報（コンフィグレーションデータ）を保持するための専用ＲＯＭを設け、電源投入の都度、専用ＲＯＭに格納されたコンフィグレーションデータをＦＰＧＡに書き込むコンフィグレーションを行っている。具体的なコンフィグレーションは、ＦＰＧＡボード上の専用ＲＯＭ自体を物理的に交換する方法のほか、図１に示すように、（１）コンフィグレーションモードにおいて、ＰＣ等のコンフィグレーション用機器をＵＳＢその他の通信線を介してＦＰＧＡボードに接続し、ＰＣ等からコンフィグレーションデータをＦＰＧＡボードに送信（以下「コンフィグレーションデータストリーム」という）して専用ＲＯＭ上のコンフィグレーションデータを書き換えている。そして、（２）ユーザ側のホスト機器から被制御機器を制御するユーザモードにおいては、ＦＰＧＡボードへの電源投入の都度、専用ＲＯＭから読み出された最新のコンフィグレーションデータによりＦＰＧＡの再構成を行い、ホスト機器とＦＰＧＡとの間でシステム制御データ（以下「アップデータストリーム」という）の通信を行うことでＦＰＧＡが被制御機器を制御する。なお、ＦＰＧＡの高集積化に対応すべく、たとえば特許文献１、２に記載のような効率的なコンフィグレーション方式の提案がなされている。
【特許文献１】特開２００８−５２３８９号公開公報
【特許文献１】特開２０１０−２７１９６２号公開公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方、外部からのシステム制御データの通信は、悪意者に通信経路上で傍受・解析されることによるシステムの破壊や乗っ取り等のリスクがあるため、一般的に暗号化データ通信が採用されている。かかる双方向通信データの暗号化・復号化のロジックは、ホスト機器側と被制御機器側の双方に実装されるが、セキュリティ上の観点からは定期的に変更されることが望ましい。しかし、前述の通り、被制御機器のシステムがＦＰＧＡにより制御される場合、ＦＰＧＡの反復的なコンフィグレーションの必要性から、長期間にわたり同じ暗号化・復号化のロジックを使用することになるため、悪意者にシステム制御データの傍受及び暗号解析のための時間的余裕を与えてしまうという問題があった。
【０００５】
また、専用ＲＯＭにコンフィグレーションデータを格納する従来の方式では、前述の通り、コンフィグレーションデータの書き換えを専用ＲＯＭの交換やＰＣの接続といった物理的手法により行うため、コンフィグレーションはＦＰＧＡボード側の運用に依存することとなる。そのため、被制御機器が多数にわたる場合などには、確実な更新を行うことが難しいだけでなく、セキュリティホールなどのシステム上の脆弱性が長期間そのままになってしまう危険性がある。さらに、悪意者がＦＰＧＡボードに物理的にアクセスして、専用ＲＯＭを直接解析した場合には、暗号化ロジック自体も把握されるという問題があった。
【０００６】
本発明は、かかる問題を踏まえ、ユーザ側のホスト機器とＦＰＧＡボードにより制御される被制御機器との間のシステム制御データ通信において、悪意者によってシステム構成データが解析されにくく、暗号化ロジックの秘匿も強固な暗号化データ通信方式を提供し、システム制御の安全性を向上させることを課題とするものである。
【課題を解決するための手段】
【０００７】
前記の課題を解決するために、本発明の請求項１に記載した暗号化データ通信方式は、被制御機器を制御可能なＦＰＧＡボードと外部のホスト機器との間で、暗号化されたシステム制御データ及びＦＰＧＡボード上のＦＰＧＡを動的に再構成するためのコンフィグレーションデータを送受信するための通信方式であって、前記ＦＰＧＡボードは、ＦＰＧＡの構成を書き換え可能なコンフィグレータを備え、前記ホスト機器は、ＦＰＧＡ上にＩＰコアとしてデコーダを実装するための構成情報データを含むコンフィグレーションデータを送信可能なアプリケーションソフトウェアを有するものとし、前記コンフィグレータは、アプリケーションソフトウェアから受信したコンフィグレーションデータに基づき任意のタイミングでＦＰＧＡ上にデコーダを実装可能とするように構成することによって、前記デコーダが有する暗号ロジックにより認証を行うことにより、ＦＰＧＡとホスト機器との間のシステム制御データの復号又は暗号化を行うことを特徴とする。
【０００８】
なお、前記コンフィグレータは、ＦＰＧＡボード上にＦＰＧＡ本体とは独立して実装される処理回路であって、ホスト機器から送られてくるパケットデータからコンフィグレーションデータを識別してモード設定やステータスの取得を行うほか、ＦＰＧＡ側へのコンフィグレーションデータストリームの送信、アップデータストリームの送信を行う。なお、コンフィグレータは、別個のＦＰＧＡあるいはＣＰＬＤのようなプログラマブル・デバイスのほか、マイコンや、専用の物理的回路のいずれであってもよい。
【０００９】
本発明では、ユーザ側のホスト機器上で動作する専用のアプリケーションソフトウェアが、被制御機器との間で暗号化されたアップデータストリームの通信を行うユーザモードに入る前に、ＦＰＧＡボードにコンフィグレーションデータを送信してＦＰＧＡの構成を書き換えるコンフィグレーションモードを実行する。コンフィグレーションデータは、被制御機器の制御目的に応じてＦＰＧＡ上に形成する論理回路の構成データとともに、アップデータストリームの暗号化・復号化のためのデコーダ（解読器）をＦＰＧＡ上に構成するデコーダ構成情報データを含むものとし、ＦＰＧＡボード上においてＦＰＧＡ本体から独立して設けてなるコンフィグレータが、該デコーダ構成情報に基づきＦＰＧＡ上にデコーダの論理回路をＩＰコアとして実装する。なお、デコーダの暗号化ロジックは、ホスト機器との間で予め取り決めたものであればよいため、共通鍵暗号方式・秘密鍵暗号方式のいずれの方式でも自由に選択することができる。
【００１０】
ユーザモードに移行後は、コンフィグレータがホスト機器とＦＰＧＡとの間に入って暗号化されたアップスデータストリームの中継を行い、ＦＰＧＡ上のデコーダがこれを認証して復号化を行うことで、ホスト機器による被制御機器の制御が行われる。逆に、ＦＰＧＡ側からホスト機器へレスポンスデータを送信する場合には、やはりデコーダがこれを暗号化する。また、ＦＰＧＡを動作中に再構成する動的コンフィグレーションを行う場合にも、コンフィグレータがホスト機器からのコンフィグレーションデータストリームを中継して、任意のタイミングでＦＰＧＡのコンフィグレーションを行う。
【００１１】
かかる構成によれば、物理的な構成を有するコンフィグレータ自体はコンフィグレーションデータを保持することがなく、ホスト機器とデコーダとの間で送受信される暗号化ロジックにも直接関与しないため、悪意者がコンフィグレータを解析しても暗号化されたアップデータストリームを解析することはできない。また、ＦＰＧＡ自体もコンフィグレーションの都度その構成を変化させるとともに、ＦＰＧＡの電源が絶たれた場合には当然にその構成も初期化されてデコーダも共に消去されるため、ＦＰＧＡを解析しても暗号化ロジックを解析できない。さらに、コンフィグレーションデータは、そのビット配列から元の回路を推測することが極めて困難であるから、悪意者が、ホスト機器からコンフィグレータに送信されるコンフィグレーションデータストリームを不正に傍受しても、ＦＰＧＡの構成情報やデコーダの暗号化ロジックを解読されるリスクは極めて低い。
【００１２】
なお、ホスト機器とコンフィグレータとは、ＦＰＧＡボード上の外部通信インターフェイスで接続可能であるが、通信の方式自体は、ＵＳＢ、ＩＥＥＥ１３９４、Ｅｔｈｅｎｅｔ、有線又は無線の電話回線網、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、特定省電力無線等のいずれかの回線を使用可能であり、送受信におけるデータの時系列が保証されている回線であれば特に限定されない。
【００１３】
本発明は、さらに、次のように構成することもできる。すなわち、請求項２に記載した暗号化データ通信方式におけるＦＰＧＡボードは、ＦＰＧＡの構成を書き換え可能なＦＰＧＡから独立したプログラマブルデバイス、マイコン、専用の回路のいずれかからなる予め第２のデコーダを実装したコンフィグレータを備え、前記ホスト機器は、ＦＰＧＡ上にＩＰコアとして第１のデコーダを実装するための構成情報データを含むコンフィグレーションデータを送信可能なアプリケーションソフトウェアを有するものとし、前記コンフィグレータは、アプリケーションソフトウェアから受信したコンフィグレーションデータに基づいて、任意のタイミングでＦＰＧＡ上に第１のデコーダを実装可能に構成することによって、前記第１のデコーダと第２のデコーダの双方の認証により、ＦＰＧＡとホスト機器との間のシステム制御データの復号又は暗号化を行うことを特徴とするものである。
【００１４】
かかる構成では、前記デコーダは、対をなす第１と第２の二つのデコーダに分割されており、ユーザ側のホスト機器上で動作する専用のアプリケーションソフトウェアは、コンフィグレーションモードにおいて、それぞれのデコーダの構成情報データを含むコンフィグレーションデータを生成してＦＰＧＡボードに送信可能とする。
【００１５】
コンフィグレーションデータを受信したコンフィグレータは、第１のデコーダの構成情報を格納し、ＦＰＧＡ上に第１のデコーダをＩＰコアとして実装させるるとともに、自らが実装する第２のデコーダとの通信を可能とする。この場合、暗号化ロジックのアルゴリズムは２つのデコーダの通信により二段階で実行されて認証が成立する。ユーザモードでは、ホスト機器からの暗号化されたアップデータストリームを受信したコンフィグレータの第２のデコーダとＦＰＧＡ上の第１のデコーダの両者での認証が成立した場合にのみＦＰＧＡで処理され、認証が成立しない場合はアップデータストリームの通信はブロックされる。２つに分割されたデコーダの構成情報データの解析は、１つのデコーダの場合よりもさらに難易度が高くなるため、仮に、悪意者によって通信経路上でコンフィグレーションデータが不正に入手されたとしても、暗号ロジックの解析は不可能に近く、アップデータストリームの通信を、より秘匿性の高いものとすることができる。
【発明の効果】
【００１６】
本発明によれば、ユーザ側のホスト機器とＦＰＧＡボードにより制御される被制御機器との間のシステム制御データ通信において、悪意者によって解析されにくい暗号化データ通信方式が実現可能となり、システム制御の安全性を向上させることができる。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明を実施するための形態について、図面を参照して説明する。
【００１８】
（第１実施形態）
図２は、請求項１に記載の発明を実施するための、本発明の第１実施形態に係る暗号化データ通信方式における機器の構成を示す構成図である。
【００１９】
ホスト機器１０は、ＰＣ等のコンピュータに限らず、後述のアプリケーションソフトウェア３０が動作し、外部のＦＰＧＡボードとのデータ通信が可能なスマートフォン等のモバイル機器でもよい。ホスト機器１０にはアプリケーションソフトウェア３０がインストールされており、ホスト機器１０の通信インターフェイス１１と被制御機器側２０の通信インターフェイス２１を介してＦＰＧＡボード５０と通信可能に構成する。ホスト機器１０をスマートフォンとする場合は、通信は、携帯データ通信用の各種規格はもとより、無線ＬＡＮやＷｉＭＡＸ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等で、パケットデータ通信により行うことが可能である。ユーザは、デコーダの構成情報データ４１を含むコンフィグレーションデータ４０を、予めアプリケーションソフトウェア３０のライブラリ３１に記憶させておく。
【００２０】
本実施形態では、ＦＰＧＡボード５０は、ボード上にＣＰＬＤからなるコンフィグレータ６０と、ＦＰＧＡ７０とを備える。また、コンフィグレータ６０は、少なくとも、パケットの送受の順番を維持した通信が可能なＦＩＦＯインターフェイス６１、ＦＰＧＡとのアップデータストリーム通信用のＦＰＧＡインターフェイス６２、コンフィグレーション用のＣｏｎｆｉｇインターフェイス６３とを備えるものとする。ＦＰＧＡ７０は、コンフィグレーションされることにより、その論理ブロック上に所定の論理回路であるＩＰ７１とともにデコーダ８０を有するＣＰＬＤインターフェイス７２をＩＰコアとして構成可能とする。
【００２１】
図３は、本実施形態におけるホスト機器１０、コンフィグレータ６０、ＦＰＧＡ７０の相互間でのデータの通信及び処理手順を示すシーケンス図であり、図４は、アプリケーションソフトウェア３０における処理手順を示すアルゴリズムである。
【００２２】
ホスト機器１０とＦＰＧＡボード２０との接続が確立した後、ホスト機１０のアプリケーションソフトウェア３０（以下、特記しない限り、便宜上「ホスト機器１０」と記す）がコンフィグレータ６０に対してＦＰＧＡボードのＩＤを問合わせ、コンフィグレータ６０が返したＩＤが正当な通信対象であるＦＰＧＡボードのものであるかどうかを、予めライブラリ３１上に記憶させたＩＤリスト（図示せず）と照合し、ＩＤが既知のものであった場合のみ通信を開始し、そうでない場合は警告等のエラー発生処理を行う。
【００２３】
コンフィグレーションモードでは、まず、ホスト機器１０がコンフィグレーションモードへの遷移要求指示を送信し、コンフィグレータ６０がこれをコンフィグレーション準備指示としてＦＰＧＡ７０へと転送することで、コンフィグレーションセットアップを開始させる。ＦＰＧＡ７０は、セットアップが完了したらコンフィグレータ６０を中継してコンフィグレーション準備応答をホスト機器１０に送信し、コンフィグレーション待機状態に入る。この間、ホスト機器１０はＦＰＧＡ７０のコンフィグレーション準備状況を確認する状態問合せを行い、ＦＰＧＡ７０になんらかの障害があってセットアップが完了できない場合は、コンフィグレータ６０がこれを通知し、ホスト機器１０では警告等のエラー発生処理を行う。
【００２４】
コンフィグレーション準備応答を受けたホスト機器１０は、コンフィグレータ６０を中継してＦＰＧＡ７０にコンフィグレーション開始指示を送信し、ＦＰＧＡ７０はコンフィグレータ６０を中継してホスト機器１０にコンフィグレーション開始応答を送信してコンフィグレーション待機状態に入る。この間も、ホスト機器１０はコンフィグレーション開始可能かどうかを確認する状態問合せを行い、ＦＰＧＡ７０になんらかの障害があればコンフィグレータ６０がこれを通知し、ホスト機器１０では警告等のエラー発生処理を行う。
【００２５】
コンフィグレーション開始応答を受けたホスト機器１０は、ライブラリ３１内のデコーダの構成情報データ４１を含むコンフィグレーションデータ４０をコンフィグレータ６０に送信する。コンフィグレータ６０はコンフィグレーションデータ４０をＦＰＧＡ７０に送信し、ＦＰＧＡ７０の論理ブロック上にＩＰコアとして所定の論理回路を構成させるとともに、デコーダ８０を有するＣＰＬＤインターフェイス７２もＩＰコアとして構成させるコンフィグレーションを実行する。この間、ホスト機器１０はコンフィグレーションの実行状態をコンフィグレータ６０に問合せ、ＦＰＧＡ７０からコンフィグレーション完了応答を得た場合はこれをホスト機器１０に送信し、コンフィグレーションになんらかの問題があればコンフィグレータ６０がこれを通知し、ホスト機器１０では警告等のエラー発生処理を行う。なお、コンフィグレーションが完了したＦＰＧＡ７０は、所定の論理回路をユーザモードへの遷移待機状態となり、コンフィグレータ６０からのリセット解除を待つ。
【００２６】
その後、ユーザが被制御機器２０の制御を開始する際には、ホスト機器１０からコンフィグレータ６０へユーザモードへの遷移要求を送信し、これを受けたコンフィグレータ６０はＦＰＧＡ７０へリセット解除を送信することでユーザモードに入り、ＦＰＧＡ７０上のデコーダ８０が作動開始する。その後は、ホスト機器１０から送信される暗号化されたアップデータストリームをコンフィグレータ６０が中継してコンフィグレータ６０へと送信し、インターフェイス７２を介して受信されたシステム制御情報をデコーダ８０が復号化してＦＰＧＡ７０上のＩＰ７２による被制御機器２０の制御が行われる。また、ＩＰ７２からのレスポンスデータはデコーダ８０が暗号化し、コンフィグレータ６０を中継してホスト機器１０へと送信される。
【００２７】
（第２実施形態）
図５は、請求項２に記載の発明を実施するための、本発明の第２実施形態に係る暗号化データ通信方式における機器の構成を示す構成図である。
【００２８】
本実施形態では、アプリケーションソフトウェア３０のライブラリ３１に記憶させたコンフィグレーションデータ４０は、第１のデコーダの構成情報データ４２を含むものであり、コンフィグレータ６０上のＦＰＧＡインターフェイス６２には予め第２のデコーダが固定的な回路として実装されている点で異なるが、ホスト機器１０及び被制御機器２０側のＦＰＧＡボード５０の物理的構成は第１実施形態と同様である。
【００２９】
コンフィグレーションモードにおいて、コンフィグレーションデータ４０に含まれる第１のデコーダの構成情報データに基づき、ＦＰＧＡ７０のＣＰＬＤインターフェイス７２には第１のデコーダ８１がＩＰコアとして構成される。ユーザモードにおける通信及び情報処理のシーケンスも第１実施形態と同様であるが、暗号化されたアップデータストリームを復号化するための暗号化ロジックのアルゴリズムは、２つのデコーダの通信によって二段階で実行される。そのため、コンフィグレーションにより両デコーダが適正に実装されている場合にのみ認証が行われ、両デコーダでの認証が成立しない場合はアップデータストリームの通信はブロックされる。
【００３０】
かかる構成によれば、仮に、悪意者がＦＰＧＡボード５０を入手し、コンフィグレータ６０を解析して第２のデコーダ８２の構成を把握したとしても、第１のデコーダ８１はコンフィグレーションが完了するまでＦＰＧＡ７０上には存在しないから、完全な暗号化アルゴリズムを解析することはできず、アップストリームデータの暗号の秘匿性が守られる。また、悪意者がコンフィグレーションデータを通信経路上で傍受して解析できたとしても、第２のデコーダ８２の構成情報は含まれていないため、やはり完全な暗号化アルゴリズムを入手することはできない。
【００３１】
なお、本第２実施形態では、コンフィグレータ６０を独立したＦＰＧＡやＣＰＬＤ等のプログラマブル・デバイスとするとともに、アプリケーションソフトウェア３０から送信するコンフィグレーションデータ４０に第１のデコーダ８１と第２のデコーダ８２の両方の構成情報データを含めておき、コンフィグレーションモードにおいては、コンフィグレータ６０に、ＦＰＧＡ７０のＣＰＬＤインターフェイス７２に第１のデコーダ８１を構成させるとともに、自らの論理セル上にＩＰコアとして第２のデコーダ８２を構成するようにすることも可能である。かかる構成では、悪意者がＦＰＧＡボード５０を入手したとしても、コンフィグレーションが完了するまでは、それ自体には第１、第２のいずれのデコーダも存在しないため、暗号化ロジックのアルゴリズムが漏洩する可能性がない。また、悪意者がコンフィグレーションデータを通信経路上で傍受したとしても、前述の通り、そのビット配列から両デコーダの回路構成を推測することは極めて困難であり、遠隔コンフィグレーションでは、ユーザが頻繁に暗号化アルゴリズムを変更することも容易であるから、暗号化したアップデータストリームの秘匿性を高い水準で維持することができる。
【００３２】
以上、本発明に係る暗号化データ通信方式及びＦＰＧＡボードの構成について詳細に説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的思想の範囲内において改良又は変更が可能であり、それらは本発明の技術的範囲に属するものである。
【産業上の利用可能性】
【００３３】
本発明に係る暗号化データ通信方式及びＦＰＧＡボードによれば、ユーザ側のホスト機器とＦＰＧＡにより制御される各種の被制御機器との間のシステム制御データ通信のセキュリティの向上を図ることができる。
【図面の簡単な説明】
【００３４】
【図１】一般的なＦＰＧＡ制御機器のコンフィグレーション及び通信の方法を示す概念図
【図２】第１実施形態に係る暗号化データ通信方式における機器の構成図
【図３】第１実施形態に係る暗号化データ通信方式の処理手順のシーケンス図
【図４】第１実施形態に係る暗号化データ通信方式におけるアプリケーションソフトウェアのアルゴリズム
【図５】第２実施形態に係る暗号化データ通信方式における機器の構成図
【符号の説明】
【００３５】
１０      ホスト機器
１１      通信インターフェイス
２０      被制御機器
２１      通信インターフェイス
３０      アプリケーションソフトウェア
３１      ライブラリ
４０      コンフィグレーションデータ
４１      コンフィグレータの構成情報データ
５０      ＦＰＧＡボード
６０      コンフィグレータ（ＣＰＬＤ）
６１      ＦＩＦＯインターフェイス
６２      ＦＰＧＡインターフェイス
６３      Ｃｏｎｆｉｇインターフェイス
７０      ＦＰＧＡ
７１      ＩＰ（論理回路）
７２      ＣＰＬＤインターフェイス
８０      デコーダ（第１実施形態：ＩＰコア）
８１      第１のデコーダ（第２実施形態：ＩＰコア）
８２      第２のデコーダ（第２実施形態：固定回路）
【図１】
2015211295.tif 000003
【図２】
2015211295.tif 000004
【図３】
2015211295.tif 000005
【図４】
2015211295.tif 000006
【図５】
2015211295.tif 000007