近年、あらゆる産業でサイバーセキュリティ対策が進められています。自動車業界でも、各社においてUNR-155、ISO/SAE 21434への対策が進められていますが、dSPACE Japanでは、単に法規やガイドラインに沿った対策を進めるだけでなく、より先進的なサイバーセキュリティ対策にも取り組んでいます。今回はその一部である、国立大学法人電気通信大学小木曽研究室と進めている暗号化制御技術[※1]の共同研究について紹介します。
暗号化制御とは
暗号技術と制御技術を組み合わせることによって、制御系全体をよりセキュアにする技術です。暗号化制御を利用することにより、通信路および制御パラメータの暗号化、制御データの改ざん検知などが可能となります。図 1で示すように、一般的な暗号化通信の場合、オペレータ、コントローラ、プラントの各間における通信路において、暗号化と復号化を繰り返しますが、暗号化制御では、オペレータからの指令値を暗号化した後、制御対象(プラント)の直前で復号化を行うまで、制御パラメータも含めてすべての通信路を暗号化することができます。また、オペレータ、コントローラ、プラントが保持している暗号化/復号化鍵は定期的に更新されるため、暗号化/復号化鍵が漏洩した場合にも、一定程度の耐性を持っています。
Matlab/Simulinkでの検証
暗号化制御の秘匿・改ざん検知機能などの確認をするため、Matlab®/Simulink®に構築した速度制御系PIDブロックに暗号化制御を適用したブロックを構成しました。暗号化/復号化の鍵の長さは、Simulinkで扱える最大の整数値である64bit級の素数を使って構成しています。暗号化制御は、暗号部(指令)、秘密計算部、復号部、暗号部(帰還)の4つのブロックで構成され復号部、暗号部(帰還)は、制御対象の直前・直後に配置し、また暗号部(指令)、秘密計算部は、物理的に離れた場所に配置されます。4つのブロックの各々の通信路はつねに暗号化され、暗号化された制御パラメータと秘密計算部で暗号文同士の計算を行うことによって、暗号化制御はセキュアな制御器を提供します。
Real-Time Processing Unitへの実装
なるべく予想される実際の実装形態に近づけるため、2台のReal-Time Processing Unit(RT-PC)を用意し、一方のRT-PCに暗号部(指令)と秘密計算部を実装し、もう一方のRT-PCに秘密計算部、暗号部(帰還)、自動車用燃費モデルを実装しました。また、2つのRT-PCはEthernetにて繋がれており、暗号化制御の通信路の代わりとなっています。
この検証環境を使用して、自動車燃費モデル(車両モデル)を制御対象とし、車速パターンWLTC Class3bを指令値として、走行シミュレーション行いました。車両モデルは、暗号化制御ロジックのよって制御され、車速パターンを追従しますが、暗号化制御を適用しても、制御器として機能していることが分かります(図 4)。通信路上においては、車両モデルの車速Feedbackは、1~2×1019までのランダムな値に暗号化されますが、車速パターンなども含めて、通信路上のデータが秘匿されていることを確認しました(図 5)。
図4:暗号化制御による車両モデル制御結果
図5:暗号化されたFeedback、平文のFeedback
今後の研究について
現在使用している64bitの鍵長をさらに多くするための研究を進めています。鍵長を大きくするとセキュリティ強度は上がりますが、計算量が増大します。そこで、計算をより早く行うためにFPGAへの実装および計算アルゴリズムの研究、また同時に暗号化制御の適用可能な制御対象の調査を進めます。
引用文献
※1 K. Kogiso and T.Fujita, "Cyber-security enhancement of networked control systems using homomorphic encryption," IEEE Conference on Decision and Control, pp. 6836–6843, 2015.