(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-27
(45)【発行日】2025-01-14
(54)【発明の名称】検知システム、検知方法、および検知プログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20250106BHJP
【FI】
G06F21/55 380
(21)【出願番号】P 2022026842
(22)【出願日】2022-02-24
【審査請求日】2024-02-27
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】石原 大移紀
(72)【発明者】
【氏名】中西 福友
(72)【発明者】
【氏名】青木 慧
(72)【発明者】
【氏名】春木 洋美
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2011-155323(JP,A)
【文献】特開2001-078008(JP,A)
【文献】特開2019-175434(JP,A)
【文献】米国特許出願公開第2012/0066764(US,A1)
【文献】特開2003-348318(JP,A)
【文献】特開2020-135073(JP,A)
【文献】SANCHEZ et al.,Detection of replay attacks in cyber-physical systems using a frequency-based signature,Journal of the Franklin Institute,2019年02月12日,Volume 356, Issue 5,pp. 2798-2824,[online], [retrieved on 2020.03.31], Retrieved from the Internet: <URL: https://doi.org/10.1016/j.jfranklin.2019.01.005>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
THE ACM DIGITAL LIBRARY
(57)【特許請求の範囲】
【請求項1】
第1情報処理装置と、前記第1情報処理装置に通信可能に接続された第2情報処理装置と、を備えた検知システムであって、
前記第1情報処理装置は、
センサによる対象の観測値を取得する取得部と、
経時変化し且つ前記センサの分解能未満の第1ノイズ値を出力する第1ノイズ出力部と、
前記第1ノイズ値と前記観測値とを統合した統合値を出力する統合部と、
前記統合値を前記第2情報処理装置に送信する送信部と、
を備え、
前記第2情報処理装置は、
前記第1情報処理装置から受信した前記統合値を前記観測値と前記第1ノイズ値とに分離する分離部と、
前記第1ノイズ値である第2ノイズ値を出力する第2ノイズ出力部と、
前記第1ノイズ値と前記第2ノイズ値との空間距離に基づいて、前記統合値がリプレイアタックであるか否かを検知する検知部と、
を備え
、
前記第1ノイズ出力部は、
非線形に経時変化し且つ特定の値の範囲内で非周期に変動する第1ノイズ出力値を出力する第1ノイズモデル部と、
前記第1ノイズ出力値を前記センサの分解能未満に縮小した前記第1ノイズ値を出力する第1スケーリング部と、
を有し、
前記第2ノイズ出力部は、
前記第1ノイズ出力値である第2ノイズ出力値を出力する第2ノイズモデル部と、
前記第2ノイズ出力値を前記第1ノイズ値の縮小率に縮小した前記第2ノイズ値を出力する第2スケーリング部と、
を有する、
検知システム。
【請求項2】
前記検知部は、
前記空間距離が閾値より大きい場合、前記統合値をリプレイアタックとして検知する、
請求項1に記載の検知システム。
【請求項3】
前記第1情報処理装置は、
互いに異なる前記第1ノイズ値を出力する複数の前記第1ノイズ出力部と、
複数の前記第1ノイズ出力部の内の1つを予め定められた選択規則に沿って選択し、選択した前記第1ノイズ出力部から出力された前記第1ノイズ値を前記統合部へ出力する第1選択部と、
を有する第1出力部を備え、
前記第2情報処理装置は、
複数の前記第1ノイズ出力部である複数の前記第2ノイズ出力部と、
前記選択規則に基づいて、前記第1選択部によって選択された前記第1ノイズ出力部を、複数の前記第2ノイズ出力部の内の選択した前記第2ノイズ出力部として選択し、選択した前記第2ノイズ出力部から出力された前記第2ノイズ値を前記検知部へ出力する第2選択部と、
を有する第2出力部を備える、
請求項1
または請求項
2に記載の検知システム。
【請求項4】
前記第1情報処理装置は、
前記第1ノイズ出力部から出力された前記第1ノイズ値に乱数を付加し、前記統合部へ出力する乱数生成部、
を更に備え、
前記第2情報処理装置の前記検知部は、
乱数を付加された前記第1ノイズ値と前記第2ノイズ値との空間距離が、前記乱数に応じた閾値より大きい場合、前記統合値をリプレイアタックとして検知する、
請求項1~請求項
3の何れか1項に記載の検知システム。
【請求項5】
第1情報処理装置と、前記第1情報処理装置に通信可能に接続された第2情報処理装置と、を備えた検知システムで実行される検知プログラムであって、
センサによる対象の観測値を取得する取得ステップと、
経時変化し且つ前記センサの分解能未満の第1ノイズ値を出力する第1ノイズ出力ステップと、
前記第1ノイズ値と前記観測値とを統合した統合値を出力する統合ステップと、
前記統合値を前記第2情報処理装置に送信する送信ステップと、
前記第1情報処理装置から受信した前記統合値を前記観測値と前記第1ノイズ値とに分離する分離ステップと、
前記第1ノイズ値である第2ノイズ値を出力する第2ノイズ出力ステップと、
前記第1ノイズ値と前記第2ノイズ値との空間距離に基づいて、前記統合値がリプレイアタックであるか否かを検知する検知ステップと、
を含
み、
前記第1ノイズ出力ステップは、
非線形に経時変化し且つ特定の値の範囲内で非周期に変動する第1ノイズ出力値を出力する第1ノイズモデルステップと、
前記第1ノイズ出力値を前記センサの分解能未満に縮小した前記第1ノイズ値を出力する第1スケーリングステップと、
を含み、
前記第2ノイズ出力ステップは、
前記第1ノイズ出力値である第2ノイズ出力値を出力する第2ノイズモデルステップと、
前記第2ノイズ出力値を前記第1ノイズ値の縮小率に縮小した前記第2ノイズ値を出力する第2スケーリングステップと、
を含む、
検知プログラム。
【請求項6】
第1情報処理装置と、前記第1情報処理装置に通信可能に接続された第2情報処理装置と、を備えた検知システムで実行される検知方法であって、
センサによる対象の観測値を取得する取得ステップと、
経時変化し且つ前記センサの分解能未満の第1ノイズ値を出力する第1ノイズ出力ステップと、
前記第1ノイズ値と前記観測値とを統合した統合値を出力する統合ステップと、
前記統合値を前記第2情報処理装置に送信する送信ステップと、
前記第1情報処理装置から受信した前記統合値を前記観測値と前記第1ノイズ値とに分離する分離ステップと、
前記第1ノイズ値である第2ノイズ値を出力する第2ノイズ出力ステップと、
前記第1ノイズ値と前記第2ノイズ値との空間距離に基づいて、前記統合値がリプレイアタックであるか否かを検知する検知ステップと、
を含
み、
前記第1ノイズ出力ステップは、
非線形に経時変化し且つ特定の値の範囲内で非周期に変動する第1ノイズ出力値を出力する第1ノイズモデルステップと、
前記第1ノイズ出力値を前記センサの分解能未満に縮小した前記第1ノイズ値を出力する第1スケーリングステップと、
を含み、
前記第2ノイズ出力ステップは、
前記第1ノイズ出力値である第2ノイズ出力値を出力する第2ノイズモデルステップと、
前記第2ノイズ出力値を前記第1ノイズ値の縮小率に縮小した前記第2ノイズ値を出力する第2スケーリングステップと、
を含む、
検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、検知システム、検知方法、および検知プログラムに関する。
【背景技術】
【0002】
ネットワークに接続された情報処理装置に対する脅威として、リプレイアタックが知られている。
【0003】
情報処理装置に対する脅威を検知する技術として、例えば、通信レイヤに対してDPC(Dirty Paper Coding)により鍵を付加する技術が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、適用対象が特定の無線通信プロトコルに限定され、有線通信や特定のシステム独自の通信プロトコルを用いた通信に対するリプレイアタックを検知することは困難であった。すなわち、従来技術では、通信プロトコルに拘わらずリプレイアタックを検知することは困難であった。
【0006】
本発明が解決しようとする課題は、通信プロトコルに拘わらずリプレイアタックを検知することができる、検知システム、検知方法、および検知プログラムを提供することである。
【課題を解決するための手段】
【0007】
実施形態の検知システムは、第1情報処理装置と、前記第1情報処理装置に通信可能に接続された第2情報処理装置と、を備える。前記第1情報処理装置は、センサによる対象の観測値を取得する取得部と、経時変化し且つ前記センサの分解能未満の第1ノイズ値を出力する第1ノイズ出力部と、前記第1ノイズ値と前記観測値とを統合した統合値を出力する統合部と、前記統合値を前記第2情報処理装置に送信する送信部と、を備える。前記第2情報処理装置は、前記第1情報処理装置から受信した前記統合値を前記観測値と前記第1ノイズ値とに分離する分離部と、前記第1ノイズ値である第2ノイズ値を出力する第2ノイズ出力部と、前記第1ノイズ値と前記第2ノイズ値との空間距離に基づいて、前記統合値がリプレイアタックであるか否かを検知する検知部と、を備える。前記第1ノイズ出力部は、非線形に経時変化し且つ特定の値の範囲内で非周期に変動する第1ノイズ出力値を出力する第1ノイズモデル部と、前記第1ノイズ出力値を前記センサの分解能未満に縮小した前記第1ノイズ値を出力する第1スケーリング部と、を有し、前記第2ノイズ出力部は、前記第1ノイズ出力値である第2ノイズ出力値を出力する第2ノイズモデル部と、前記第2ノイズ出力値を前記第1ノイズ値の縮小率に縮小した前記第2ノイズ値を出力する第2スケーリング部と、を有する。
【図面の簡単な説明】
【0008】
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、本実施形態の検知システム、検知方法、および検知プログラムを詳細に説明する。
【0010】
なお、以下の各実施形態における説明において、同一の符号が付されている部分は実質的に同一の機能を有しており、重複部分については適宜説明を省略する。
【0011】
(第1の実施形態)
図1は、本実施形態の検知システム1の一例の模式図である。
【0012】
検知システム1は、検知システム1へのリプレイアタックを検知するシステムである。
【0013】
検知システム1は、制御装置10と、監視装置20と、を備える。制御装置10と監視装置20とは、ネットワーク等を介して通信可能に接続されている。
【0014】
制御装置10は、第1情報処理装置の一例である。監視装置20は、第2情報処理装置の一例である。
【0015】
第1情報処理装置と第2情報処理装置とは、ネットワーク等を介して通信可能に接続された情報処理装置である。第1情報処理装置は、各種のデータや信号の送信元の情報処理装置の一例である。第2情報処理装置は、第1情報処理装置から各種のデータや信号を受信する情報処理装置の一例である。なお、第1情報処理装置と第2情報処理装置との通信に用いられる通信プロトコルは、任意の通信プロトコルであればよく限定されない。
【0016】
本実施形態では、第1情報処理装置が制御装置10であり、第2情報処理装置が監視装置20である形態を一例として説明する。制御装置10は、センサ30による観測値に基づいてセンサ30の搭載された部材などの制御を実行する情報処理装置である。監視装置20は、制御装置10を監視する情報処理装置である。
【0017】
センサ30は、対象を観測する観測装置である。
【0018】
対象とは、センサ30による観測対象である。対象は、例えば、センサ30の設置された環境である。センサ30の設置された環境は、例えば、センサ30の設置された部材の内界環境、センサ30の設置された部材の外界環境、などである。センサ30の設置された部材は、例えば、車両、および製造機械などの駆動装置、建物等の建造物、などである。
【0019】
センサ30は、対象を観測し、対象の観測結果である観測値を制御装置10へ出力する。例えば、センサ30は、センサ30の設置された環境の温度、湿度、気圧、等を検知する。また、例えば、センサ30は、センサ30の設置された部材の駆動に関する情報を検知する。駆動に関する情報は、例えば、速度、加速度、等である。また、例えば、センサ30は、駆動装置等の対象から出力された各種の信号を受信することで該信号を検知する。そして、センサ30は、これらの検知結果を、対象の観測結果である観測値として制御装置10へ出力する。
【0020】
図2は、本実施形態の検知システム1の機能的構成の一例を示す図である。
【0021】
制御装置10は、取得部10Aと、第1ノイズ出力部10Bと、統合部10Cと、送信部10Dと、を備える。
【0022】
取得部10A、第1ノイズ出力部10B、統合部10C、および送信部10Dは、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0023】
取得部10Aは、センサ30による対象の観測値を取得する。センサ30と制御装置10とはデータまたは信号を授受可能に接続されている。取得部10Aは、センサ30から取得した観測値を統合部10Cへ出力する。
【0024】
第1ノイズ出力部10Bは、第1ノイズ値を出力する。
【0025】
第1ノイズ値は、経時変化し且つセンサ30の分解能未満の値のノイズである。また、第1ノイズ値は、経時変化し且つセンサ30の分解能未満であって、更に、予め定められた固定小数点以下の値であってもよい。固定小数点によって表される小数点が置かれる桁は、該小数点によって表される第1ノイズ値が、センサ30の分解能未満となる桁であればよい。
【0026】
なお、制御装置10に複数のセンサ30が接続され、取得部10Aが複数のセンサ30の各々から観測値を取得する場合がある。この場合、第1ノイズ値は、制御装置10に接続された複数のセンサ30の内、最も分解能の高いセンサ30の分解能未満の値であればよい。すなわち、本実施形態では、センサ30の分解能とは、制御装置10に接続された1または複数のセンサ30の内、最も分解能の高いセンサ30の分解能を表すものとする。
【0027】
第1ノイズ出力部10Bは、上記条件を満たす第1ノイズ値を順次生成し、統合部10Cへ出力する。
【0028】
第1ノイズ出力部10Bは、上記条件を満たす第1ノイズ値を順次生成し出力するアルゴリズムを実行する、プログラムまたは回路によって構成される。
【0029】
第1ノイズ値を順次生成し出力するアルゴリズムを実行するプログラムは、予め作成され、第1ノイズ出力部10Bとして予め制御装置10に搭載されていればよい。
【0030】
第1ノイズ値を順次生成する回路には、例えば、PUF(Physical Unclonable Function)が挙げられる。PUFとしては、例えば、Arbiter PUFが挙げられる。Arbiter PUFの出力は2進数である。このため、第1ノイズ出力部10BとしてArbiter PUFを用いる場合には、第1ノイズ出力部10BJは、Arbiter PUFの出力を10進数に変換し、第1ノイズ値として統合部10Cへ出力してもよい。また、この2進数から10進数への変換処理は、統合部10Cで行ってもよい。
【0031】
なお、第1ノイズ出力部10Bは、上記条件を満たし、且つ、正の値の第1ノイズ値を出力する。このため、ノイズを順次生成し出力するアルゴリズムを実行するプログラムまたは回路が、負の値の第1ノイズ値を生成した場合、第1ノイズ出力部10Bは、生成した負の値の第1ノイズ値の絶対値を出力することで、正の値の第1ノイズ値を出力すればよい。詳細には、ノイズを順次生成するアルゴリズムが状態方程式と出力方程式とで構成されている場合を想定する。この場合に、第1ノイズ出力部10Bは、出力方程式に対して絶対値をとることで正の第1ノイズ値を出力すればよい。また、例えば、ノイズを順次生成するアルゴリズムが、線形回帰モデルなどの1つの方程式で構成されている場合を想定する。この場合、第1ノイズ出力部10Bは、該方程式の出力値の絶対値をとることで、正の第1ノイズ値を出力すればよい。
【0032】
統合部10Cは、取得部10Aから入力された観測値と、第1ノイズ出力部10Bから入力された第1ノイズ値と、を統合した統合値を送信部10Dへ出力する。
【0033】
例えば、統合部10Cは、取得部10Aから入力された観測値と第1ノイズ出力部10Bから入力された第1ノイズ値とを加算することで、これらの値を統合し、加算結果である統合値を送信部10Dへ出力する。
【0034】
具体的には、あるタイミングにおいて、取得部10Aから統合部10Cへ観測値”25.43”が出力され、第1ノイズ出力部10Bから統合部10Cへ第1ノイズ値”0.00542”が出力された場面を想定する。この場合、統合部10Cは、これらの値の加算値である”25.43542”を、統合値として送信部10Dへ出力する。
【0035】
送信部10Dは、統合部10Cから入力された統合値を、ネットワーク等を介して監視装置20へ送信する。このため、制御装置10は、観測値に第1ノイズ値を付加した統合値を、監視装置20へ順次送信することとなる。
【0036】
次に、監視装置20について説明する。
【0037】
監視装置20は、分離部20Aと、第2ノイズ出力部20Bと、検知部20Cと、監視部20Dと、を備える。
【0038】
分離部20Aは、制御装置10から受信した統合値を、観測値と第1ノイズ値とに分離する。
【0039】
例えば、分離部20Aは、センサ30の分解能を用いた床関数により、統合値を観測値と第1ノイズ値とに分離する。具体的には、分離部20Aは、下記式(1)および式(2)を用いて、統合値を観測値と第1ノイズ値とに分離する。
【0040】
【0041】
式(1)および式(2)中、tは、ステップ数、すなわち経過時間を表す。ys(t)は、ステップtにおいて出力される観測値を表す。式(1)中、γgは、センサ30の分解能を表す。式(1)および式(2)中、w(t)は、ステップtにおいて出力される統合値を表す。式(1)の右辺は、実数”γg
-1・w(t)”の床関数を表す。式(2)中、yn1(t)は、ステップtにおいて出力される第1ノイズ値を表す。
【0042】
分離部20Aは、センサ30の分解能である上記γgを予め記憶し、統合値の分離に用いればよい。分離部20Aは、統合値を分離した第1ノイズ値を検知部20Cへ出力し、観測値を監視部20Dへ出力する。
【0043】
第2ノイズ出力部20Bは、第1ノイズ値である第2ノイズ値を検知部20Cへ出力する。
【0044】
第2ノイズ値は、第1ノイズ値と同じ値である。詳細には、第2ノイズ値は、第1ノイズ値と同様に、経時変化し且つセンサ30の分解能未満の値のノイズである。
【0045】
第2ノイズ出力部20Bは、制御装置10から分離部20Aに入力された統合値に含まれる第1ノイズ値と同じ値の第2ノイズ値を検知部20Cへ出力するように、予め調整されている。
【0046】
第2ノイズ出力部20Bは、上記条件を満たす第2ノイズ値を順次生成し、検知部20Cへ出力する。
【0047】
第2ノイズ出力部20Bは、例えば、第1ノイズ出力部10Bと同じプログラムまたは回路から構成される。なお、第1ノイズ出力部10Bとして、第1ノイズ値を生成する回路であるArbiter PUFを用いる場合には、第2ノイズ出力部20Bには、該Arbiter PUFの数理モデルを適用すればよい。PUFは、ICチップ固有のID(identification)を有するため、制御装置10と監視装置20とで同一のPUFを適用することが困難なためである。このため、機械学習等を用いた公知の方法により、第1ノイズ出力部10Bとして搭載されたArbiter PUFの数理モデルを予め生成し、第2ノイズ出力部20Bとして監視装置20に予め搭載すればよい。
【0048】
検知部20Cは、分離部20Aから入力された第1ノイズ値と、第2ノイズ出力部20Bから入力された第2ノイズ値と、の空間距離に基づいて、制御装置10から受信した統合値がリプレイアタックであるか否かを検知する。
【0049】
詳細には、検知部20Cは、第1ノイズ値と第2ノイズ値との空間距離が閾値より大きい場合、統合値をリプレイアタックとして検知する。
【0050】
具体的には、例えば、検知部20Cは、式(3)および式(4)を用いて、リプレイアタックを検知する。
【0051】
【0052】
式(3)および式(4)中、tは、ステップ数、すなわち経過時間を表す。yn1(t)は、ステップtにおいて出力される第1ノイズ値を表す。yn2(t)は、ステップtにおいて出力される第2ノイズ値を表す。
【0053】
上述したように、第2ノイズ出力部20Bは、制御装置10から分離部20Aに入力された統合値に含まれる第1ノイズ値と同じ値の第2ノイズ値を出力するように、予め調整されている。このため、検知システム1がリプレイアタックを受けていない場合には、分離部20Aから検知部20Cへ入力される第1ノイズ値と、第2ノイズ出力部20Bから検知部20Cへ入力される第2ノイズ値と、は同じ値となる。
【0054】
そこで、本実施形態では、リプレイアタックの有無の判断に用いる閾値として、”0”を用いる。そして、検知部20Cは、上記式(3)によって表される、分離部20Aから入力された第1ノイズ値と第2ノイズ出力部20Bから入力された第2ノイズ値との空間距離である差分の絶対値が、閾値である“0”より大きいか否かを判断する(式(4)参照)。検知部20Cは、該空間距離である差分の絶対値が閾値“0”より大きい場合、制御装置10から受信した統合値がリプレイアタックであると検知する。一方、検知部20Cは、該空間距離である差分の絶対値が閾値“0”以下である場合、制御装置10から受信した統合値がリプレイアタックではないと検知する。そして、検知部20Cは、検知結果を監視部20Dへ出力する。
【0055】
なお、上述したように、第1ノイズ出力部10Bは、経時変化し且つセンサ30の分解能未満の値の第1ノイズ値を出力する。また、第2ノイズ出力部20Bは、第1ノイズ値を第2ノイズ値として出力する。これらの第1ノイズ値および第2ノイズ値は、上述したように、経時変化し且つセンサ30の分解能未満の値のノイズである。
【0056】
本実施形態では、更に、これらの第1ノイズ値および第2ノイズ値は、時間経過に応じて発散する値であることが好ましい。すなわち、本実施形態では、第1ノイズ出力部10Bおよび第2ノイズ出力部20Bは、極限で有限値に近づかず、無限大または振動した値となる発散性を有する第1ノイズ値および第2ノイズ値をそれぞれ出力することが好ましい。
【0057】
例えば、第1ノイズ値および第2ノイズ値が、時間経過に応じて収束する値である場合を想定する。すなわち、第1ノイズ出力部10Bおよび第2ノイズ出力部20Bが、収束性を有する第1ノイズ値および第2ノイズ値をそれぞれ出力する場合を想定する。この場合、検知部20Cは、上記式(3)および式(4)を用いたリプレイアタックの検知が困難となる場合がある。例えば、第1ノイズ出力部10Bおよび第2ノイズ出力部20Bの各々から出力される第1ノイズ値および第2ノイズ値が収束した後の一定期間に記録された統合値を用いた、リプレイアタックがなされた場面を想定する。この場合、該リプレイアタックに含まれる第1ノイズ値と、第2ノイズ出力部20Bから出力された第2ノイズ値と、の値が一致する場合があるためである。
【0058】
一方、第1ノイズ値および第2ノイズ値が、発散性を有する値である場合を想定する。すなわち、第1ノイズ出力部10Bおよび第2ノイズ出力部20Bが、発散性を有する第1ノイズ値および第2ノイズ値をそれぞれ出力する場合を想定する。この場合、何れの一定期間に記録された統合値を用いたリプレイアタックがなされた場合であっても、リプレイアタックに含まれる第1ノイズ値と、第2ノイズ出力部20Bから出力された第2ノイズ値と、の値は不一致となる。このため、第1ノイズ出力部10Bおよび第2ノイズ出力部20Bの各々から出力される第1ノイズ値および第2ノイズ値は、発散性を有する値であることが好ましい。該第1ノイズ値および該第2ノイズ値が発散性を有する値である場合、検知部20Cは、上記式(3)および式(4)を用いてリプレイアタックを高精度に検知することができる。
【0059】
監視部20Dは、分離部20Aから入力された観測値と、検知部20Cから入力された検知結果と、を用いて、監視処理を実行する。
【0060】
例えば、監視部20Dは、検知部20Cから入力された検知結果がリプレイアタックの検知を表す場合、リプレイアタックに対する予め定めた攻撃対応処理などを実行する。攻撃対応処理は、予め定めればよい。例えば、監視部20Dは、ネットワークからの遮断、感染経路の特定、復旧、復元、などの公知の攻撃対応処理を実行すればよい。
【0061】
一方、監視部20Dは、検知部20Cから入力された検知結果がリプレイアタックの非検知を表す場合、分離部20Aから入力された観測値を用いて、予め定めた監視処理等を実行すればよい。
【0062】
次に、制御装置10で実行される情報処理の流れの一例を説明する。
【0063】
図3は、制御装置10で実行される情報処理の流れの一例を示すフローチャートである。
【0064】
第1ノイズ出力部10Bが第1ノイズ値を統合部10Cへ出力する(ステップS100)。取得部10Aは、センサ30から観測値を取得し、統合部10Cへ出力する(ステップS102)。
【0065】
統合部10Cは、取得部10Aから入力された観測値と、第1ノイズ出力部10Bから入力された第1ノイズ値と、を統合した統合値を送信部10Dへ出力する(ステップS104)。送信部10Dは、統合部10Cから入力された統合値を監視装置20へ送信する(ステップS106)。そして、本ルーチンを終了する。
【0066】
次に、監視装置20で実行される情報処理の流れの一例を説明する。
【0067】
図4は、監視装置20で実行される情報処理の流れの一例を示すフローチャートである。
【0068】
分離部20Aは、制御装置10から統合値を受信する(ステップS200)。分離部20Aは、ステップS200で受信した統合値を観測値と第1ノイズ値とに分離する(ステップS202)。
【0069】
第2ノイズ出力部20Bは、第2ノイズ値を検知部20Cへ出力する(ステップS204)。上述したように、第2ノイズ出力部20Bは、ステップS200で受信した統合値に含まれる第1ノイズ値と同じ値の第2ノイズ値を検知部20Cへ出力するように、予め調整されている。
【0070】
検知部20Cは、ステップS202で分離された第1ノイズ値と、ステップS204によって第2ノイズ出力部20Bから入力された第2ノイズ値と、の空間距離の絶対値が、閾値である“0”より大きいか否かを判断する(ステップS206)。
【0071】
ステップS206で肯定判断すると(ステップS206:Yes)、検知部20Cは、リプレイアタックの検知を表す検知結果を監視部20Dへ出力する(ステップS208)。リプレイアタックの検知を表す検知結果を入力された監視部20Dは、リプレイアタックに対する予め定めた攻撃対応処理などを実行する(ステップS210)。そして、本ルーチンを終了する。
【0072】
一方、ステップS206で否定判断すると(ステップS206:No)、ステップS212へ進む。ステップS212では、検知部20Cは、リプレイアタックの非検知を表す検知結果を監視部20Dへ出力する(ステップS212)。リプレイアタックの非検知を表す検知結果を入力された監視部20Dは、ステップS202で分離された観測値を用いて、予め定めた監視処理等を実行する(ステップS214)。そして、本ルーチンを終了する。
【0073】
以上説明したように、本実施形態の検知システム1は、制御装置10と、制御装置10に通信可能に接続された監視装置20と、を備える。制御装置10は、取得部10Aと、第1ノイズ出力部10Bと、統合部10Cと、送信部10Dと、を備える。取得部10Aは、センサ30による対象の観測値を取得する。第1ノイズ出力部10Bは、経時変化し且つセンサ30の分解能未満の第1ノイズ値を出力する。統合部10Cは、第1ノイズ値と観測値とを統合した統合値を出力する。送信部10Dは、統合値を監視装置20に送信する。監視装置20は、分離部20Aと、第2ノイズ出力部20Bと、検知部20Cと、を備える。分離部20Aは、制御装置10から受信した統合値を観測値と第1ノイズ値とに分離する。第2ノイズ出力部20Bは、第1ノイズ値である第2ノイズ値を出力する。検知部20Cは、第1ノイズ値と第2ノイズ値との空間距離に基づいて、統合値がリプレイアタックであるか否かを検知する。
【0074】
このように、本実施形態の検知システム1では、制御装置10は、第1ノイズ値と観測値とを統合した統合値を監視装置20へ送信する。監視装置20は、制御装置10から受信した統合値を観測値と第1ノイズ値とに分離する。そして、監視装置20は、分離した第1ノイズ値と第2ノイズ出力部20Bから入力された第2ノイズ値との空間距離に基づいて、制御装置10から受信した統合値がリプレイアタックであるか否かを検知する。
【0075】
すなわち、本実施形態の検知システム1では、制御装置10で観測値に付加された第1ノイズ値と、監視装置20で生成された第2ノイズ値と、を用いて統合値がリプレイアタックであるか否かを検知する。
【0076】
このため、本実施形態の検知システム1では、制御装置10と監視装置20との通信プロトコルに拘わらず、監視装置20が制御装置10から受信した統合値がリプレイアタックであるか否かを検知することができる。
【0077】
従って、本実施形態の検知システム1では、通信プロトコルに拘わらずリプレイアタックを検知することができる。
【0078】
また、本実施形態の検知システム1では、上記効果に加えて、検知システム1のセキュリティ向上を図ることができる。
【0079】
また、従来技術では、DPC(Dirty Paper Coding)を用いてリプレイアタックを検知する技術が開示されている。DPCの計算は複雑であることが知られており、DPCを用いる事で、装置の処理負荷が増大する場合があった。
【0080】
一方、本実施形態の検知システム1では、DPCを用いず、第1ノイズ値および第2ノイズ値を用いて、統合値がリプレイアタックであるか否かを検知する。
【0081】
このため、本実施形態の検知システム1は、上記効果に加えて、低処理負荷でリプレイアタックを検知することができる。
【0082】
(第2の実施形態)
本実施形態では、第1の実施形態とは異なる方法で、第1ノイズ値および第2ノイズ値を生成する形態を説明する。
【0083】
図5は、本実施形態の検知システム1Bの機能的構成の一例を示す図である。
【0084】
検知システム1Bは、制御装置11と、監視装置21と、を備える。制御装置11と監視装置21とは、ネットワーク等を介して通信可能に接続されている。制御装置11は、1または複数のセンサ30と通信可能に接続されている。検知システム1Bは、制御装置10に替えて制御装置11を備え、監視装置20に替えて監視装置21を備える点以外は、上記実施形態の検知システム1と同様の構成である。
【0085】
制御装置11は、取得部10Aと、第1ノイズ出力部11Bと、統合部10Cと、送信部10Dと、を備える。制御装置11は、制御装置10における第1ノイズ出力部10Bに替えて、第1ノイズ出力部11Bを備える。
【0086】
第1ノイズ出力部11Bは、上記実施形態の第1ノイズ出力部10Bと同様に、第1ノイズ値を出力する。
【0087】
ここで、上記実施形態では、第1ノイズ値および第2ノイズ値が、経時変化し且つセンサ30の分解能未満の値であることを説明した。また、上記実施形態では、第1ノイズ値および第2ノイズ値が、時間経過に応じて発散する値、すなわち、発散性を有する値であることが好ましい事を説明した。
【0088】
しかし、第1ノイズ出力部10Bおよび第2ノイズ出力部20Bの各々が、発散性を有する第1ノイズ値および第2ノイズ値をそれぞれ出力する場合、これらの値の生成および出力を長時間継続して行うことで、出力される第1ノイズ値および第2ノイズ値の各々がセンサ30の分解能以上に達する場合がある。
【0089】
そこで、本実施形態の第1ノイズ出力部11Bは、第1ノイズモデル部11Eと、第1スケーリング部11Fと、を備える。
【0090】
第1ノイズモデル部11Eは、非線形に経時変化し且つ特定の値の範囲内で非周期に変動する第1ノイズ出力値を出力する。
【0091】
第1ノイズ出力値は、収束性を有さず、非線形に経時変化し、且つ特定の値の範囲内で非周期に変動する値である。すなわち、第1ノイズ出力値は、収束性、および発散性の双方を有さず、非線形に変化し、且つ、特定の値の範囲内で非周期に変動する値である。
【0092】
第1ノイズモデル部11Eは、上記条件を満たす第1ノイズ出力値を順次生成し、第1スケーリング部11Fへ出力する。第1ノイズモデル部11Eには、上記条件を満たす第1ノイズ出力値を順次生成し出力するアルゴリズムを実行する、プログラムまたは回路によって構成される。
【0093】
第1ノイズ出力値を順次生成し出力するアルゴリズムを実行するプログラムは、予め作成され、第1ノイズモデル部11Eとして予め制御装置10に搭載されていればよい。
【0094】
第1ノイズ出力値を順次生成し出力するアルゴリズムを実行するプログラムには、例えば、非周期性の関数を用いたプログラムを用いればよい。非周期性の関数とは、sin関数、cos関数のような周期性を示さない関数である。非周期性とは、平衡点へ収束しないこと、および、周期軌道をもたないこと、等を表す。
【0095】
例えば、第1ノイズ出力値を順次生成し出力するアルゴリズムを実行するプログラムには、カオス写像を用いたプログラムが挙げられる。カオス写像は、初期値鋭敏性、非周期性を有するアルゴリズムである。初期値鋭敏性とは、同じ系であってもごくわずかな初期値の誤差により、ステップ数(すなわち時間経過)と共に出力差が大きくなる性質を表す。
【0096】
カオス写像の一例としては、ロジスティクス写像、テント写像、ベルヌーイ写像、エノン写像、等が挙げられる。
【0097】
第1ノイズモデル部11Eは、生成した第1ノイズ出力値を第1スケーリング部11Fへ出力する。
【0098】
第1スケーリング部11Fは、第1ノイズモデル部11Eから入力された第1ノイズ出力値を、センサ30の分解能未満に縮小した第1ノイズ値を出力する。
【0099】
上述したように、第1ノイズモデル部11Eは、収束性を有さず、非線形に経時変化し、且つ特定の値の範囲内で非周期に変動する値である第1ノイズ出力値を第1スケーリング部11Fへ出力する。このため、第1ノイズモデル部11Eから出力される第1ノイズ出力値は、時間経過に応じてセンサ30の分解能以上の値となる場合がある。
【0100】
そこで、第1スケーリング部11Fは、第1ノイズモデル部11Eから入力された第1ノイズ出力値を、センサ30の分解能未満に縮小する。そして、第1スケーリング部11Fは、縮小後の第1ノイズ出力値である第1ノイズ値を統合部10Cへ出力する。
【0101】
例えば、第1ノイズモデル部11Eが、ロジスティクス写像を用いたプログラムである場合を想定する。ロジスティクス写像は、下記式(5)で表される。
【0102】
【0103】
式(5)中、tは、ステップ数、すなわち経過時間を表す。aはパラメータである。xは、第1ノイズ出力値である。ロジティクス写像を用いる場合には、xは、値“0”から値“1”の範囲内で非周期に変動する。x(t+1)は、ステップt+1、すなわち今回、第1ノイズモデル部11Eが出力する第1ノイズ出力値を表す。x(t)は、ステップt、すなわち前回、第1ノイズモデル部11Eが出力した第1ノイズ出力値を表す。
【0104】
第1ノイズモデル部11Eがロジスティクス写像を用いたプログラムである場合、第1ノイズモデル部11Eから出力される第1ノイズ出力値は、非線形に経時変化し、且つ特定の値の範囲内である値“0”から値“1”の範囲内で非周期に変動する値となる。しかし、第1ノイズモデル部11Eから出力される第1ノイズ出力値は、時間経過に応じてセンサ30の分解能以上の値となる場合がある。
【0105】
上記第1の実施形態で説明したように、統合部10Cに入力される第1ノイズ値は、センサ30の分解能未満である必要がある。そこで、第1スケーリング部11Fは、第1ノイズモデル部11Eから出力された第1ノイズ出力値を、センサ30の分解能未満に縮小(スケーリング)する。具体的には、第1スケーリング部11Fは、下記式(6)により、第1ノイズ出力値をセンサ30の分解能未満に縮小することで、第1ノイズ値を算出する。
【0106】
【0107】
式(6)中、γは縮小率である。第1スケーリング部11Fは、γを予め記憶し、第1ノイズ出力値の縮小に用いればよい。x(t)は、上記式(5)と同様の意味である。y(t)は、ステップtにおいて出力される第1ノイズ値を表す。
【0108】
制御装置11に含まれる取得部10A、統合部10C、および送信部10Dは、上記実施形態の制御装置10と同様である。
【0109】
次に、監視装置21について説明する。
【0110】
監視装置21は、分離部20Aと、第2ノイズ出力部21Bと、検知部20Cと、監視部20Dと、を備える。監視装置21は、監視装置20における第2ノイズ出力部20Bに替えて第2ノイズ出力部21Bを備える。
【0111】
第2ノイズ出力部21Bは、第2ノイズモデル部21Eと、第2スケーリング部21Fと、を有する。
【0112】
第2ノイズモデル部21Eは、第1ノイズ出力値である第2ノイズ出力値を第2スケーリング部21Fへ出力する。第2スケーリング部21Fは、第2ノイズ出力値を第1ノイズ値の縮小率に縮小した第2ノイズ値を検知部20Cへ出力する。
【0113】
第2ノイズモデル部21Eは、制御装置11から分離部20Aに入力され統合値に含まれる第1ノイズ値の、第1スケーリング部11Fによるスケーリング前の値である第1ノイズ出力値と、同じ値の第2ノイズ出力値を第2スケーリング部21Fへ出力するように、予め調整されている。
【0114】
第2ノイズモデル部21Eは、上記条件を満たす第2ノイズ出力値を順次生成し、第2スケーリング部21Fへ出力する。
【0115】
第2ノイズモデル部21Eは、例えば、第1ノイズモデル部11Eと同じプログラムまたは回路から構成される。なお、第1ノイズモデル部11Eとして、第1ノイズ出力値を生成する回路であるArbiter PUFを用いる場合には、第2ノイズモデル部21Eには、該Arbiter PUFの数理モデルを適用すればよい。例えば、機械学習等を用いた公知の方法により、第1ノイズモデル部11Eとして搭載されたArbiter PUFの数理モデルを予め生成し、第2ノイズモデル部21Eとして監視装置21に搭載すればよい。
【0116】
第1ノイズモデル部11Eがロジスティクス写像を用いたプログラムである場合には、第2ノイズモデル部21Eは、同じプログラムを用いて第2ノイズ出力値を生成するプログラムであればよい。この場合、上記式(5)中、x(t+1)は、ステップt+1、すなわち今回、第2ノイズモデル部21Eが出力する第2ノイズ出力値を表し、x(t)は、ステップt+1、すなわち前回第2ノイズモデル部21Eが出力した第2ノイズ出力値を表す。
【0117】
第2ノイズモデル部21Eは、生成した第2ノイズ出力値を第2スケーリング部21Fへ出力する。
【0118】
第2スケーリング部21Fは、第2ノイズモデル部21Eから入力された第2ノイズ出力値を、第1スケーリング部11Fと同じ縮小率で縮小した第2ノイズ値を生成し、検知部20Cへ出力する。第2スケーリング部21Fは、第1スケーリング部11Fと同様に、上記式(6)を用いて第2ノイズ値を生成すればよい。第2スケーリング部21Fは、第1スケーリング部11Fで用いる縮小率であるγを予め記憶し、上記式(6)を用いて第2ノイズ値を生成すればよい。この場合、上記式(6)中、y(t)は、ステップtにおいて出力される第2ノイズ値を表す。
【0119】
監視装置21に含まれる分離部20A、検知部20C、および監視部20Dは、上記実施形態の監視装置20と同様である。
【0120】
次に、制御装置11で実行される情報処理の流れの一例を説明する。
【0121】
図6は、制御装置11で実行される情報処理の流れの一例を示すフローチャートである。
【0122】
第1ノイズモデル部11Eが第1ノイズ出力値を第1スケーリング部11Fへ出力する(ステップS300)。第1スケーリング部11Fは、第1ノイズモデル部11Eから入力された第1ノイズ出力値をセンサ30の分解能未満に縮小した第1ノイズ値を、統合部10Cへ出力する(ステップ302)。
【0123】
取得部10Aは、センサ30から観測値を取得する(ステップS304)。
【0124】
統合部10Cは、取得部10Aから入力された観測値と、第1ノイズ出力部11Bから入力された第1ノイズ値と、を統合した統合値を送信部10Dへ出力する(ステップS306)。送信部10Dは、統合部10Cから入力された統合値を監視装置21へ送信する(ステップS308)。そして、本ルーチンを終了する。
【0125】
次に、監視装置21で実行される情報処理の流れの一例を説明する。
【0126】
図7は、監視装置21で実行される情報処理の流れの一例を示すフローチャートである。
【0127】
分離部20Aは、制御装置10から統合値を受信する(ステップS400)。分離部20Aは、ステップS400で受信した統合値を観測値と第1ノイズ値とに分離する(ステップS402)。
【0128】
第2ノイズモデル部21Eは、第2ノイズ出力値を第2スケーリング部21Fへ出力する(ステップS404)。第2スケーリング部21Fは、第2ノイズモデル部21Eから入力された第2ノイズ出力値を第1ノイズ値と同じ縮小率で縮小した第2ノイズ値を、検知部20Cへ出力する(ステップS406)。
【0129】
検知部20Cは、ステップS402で分離された第1ノイズ値と、ステップS406によって第2ノイズ出力部21Bから入力された第2ノイズ値と、の空間距離の絶対値が、閾値である“0”より大きいか否かを判断する(ステップS408)。
【0130】
ステップS408で肯定判断すると(ステップS408:Yes)、検知部20Cは、リプレイアタックの検知を表す検知結果を監視部20Dへ出力する(ステップS410)。リプレイアタックの検知を表す検知結果を入力された監視部20Dは、リプレイアタックに対する予め定めた攻撃対応処理などを実行する(ステップS412)。そして、本ルーチンを終了する。
【0131】
一方、ステップS408で否定判断すると(ステップS408:No)、ステップS414へ進む。ステップS414では、検知部20Cは、リプレイアタックの非検知を表す検知結果を監視部20Dへ出力する(ステップS414)。リプレイアタックの非検知を表す検知結果を入力された監視部20Dは、ステップS402で分離された観測値を用いて、予め定めた監視処理等を実行する(ステップS416)。そして、本ルーチンを終了する。
【0132】
以上説明したように、本実施形態の検知システム1Bでは、制御装置11の第1ノイズ出力部11Bが、第1ノイズモデル部11Eと第1スケーリング部11Fとを有する。また、監視装置21の第2ノイズ出力部21Bが、第2ノイズモデル部21Eと第2スケーリング部21Fとを有する。
【0133】
第1ノイズモデル部11Eは、非線形に経時変化し且つ特定の値の範囲内で非周期に変動する第1ノイズ出力値を出力する。第1スケーリング部11Fは、第1ノイズ出力値をセンサ30の分解能未満に縮小した第1ノイズ値を出力する。第2ノイズモデル部21Eは、第1ノイズ出力値である第2ノイズ出力値を出力する。第2スケーリング部21Fは、第2ノイズ出力値を第1ノイズ値の縮小率に縮小した第2ノイズ値を出力する。
【0134】
第1ノイズモデル部11Eおよび第2ノイズモデル部21Eの各々から出力される第1ノイズ出力値および第2ノイズ出力値は、非線形に経時変化し、且つ特定の値の範囲内で非周期に変動する値である。
【0135】
ここで、第1ノイズモデル部11Eおよび第2ノイズモデル部21Eの各々から出力される第1ノイズ出力値および第2ノイズ出力値として、周期性を有する値を用いた場合を想定する。また、制御装置11および監視装置21が、それぞれ、第1スケーリング部11Fおよび第2スケーリング部21Fを備えない構成である場合を想定する。
【0136】
この場合、制御装置11から監視装置21へ順次送信される統合値の時系列データから機械学習等を利用することで、周期性を有するノイズ生成に用いるアルゴリズムが推定される場合がある。
【0137】
一方、本実施形態の検知システム1Bでは、第1ノイズモデル部11Eおよび第2ノイズモデル部21Eの各々が、非線形に経時変化し且つ特定の値の範囲内で非周期に変動する値である、第1ノイズ出力値および第2ノイズ出力値をそれぞれ出力する。
【0138】
このため、本実施形態の検知システム1Bでは、制御装置11から監視装置21へ送信された統合値に含まれる第1ノイズ出力値の生成に用いたアルゴリズムが推定されることを抑制することができる。このため、本実施形態の検知システム1Bでは、上記実施形態の効果に加えて、リプレイアタックを高精度に検知することができる。
【0139】
なお、第1ノイズモデル部11Eおよび第2ノイズモデル部21Eの各々から出力される第1ノイズ出力値および第2ノイズ出力値は、時間経過に応じてセンサ30の分解能以上の値となる場合がある。
【0140】
一方、本実施形態の検知システム1Bでは、第1スケーリング部11Fが、第1ノイズモデル部11Eから出力された第1ノイズ出力値をセンサ30の分解能未満に縮小し、第1ノイズ値として出力する。また、第2スケーリング部21Fは、第2ノイズモデル部21Eから出力された第2ノイズ出力値を、該第1ノイズ値への縮小率に縮小した第2ノイズ値を出力する。
【0141】
このため、統合部10Cおよび検知部20Cの各々に出力される第1ノイズ値および第2ノイズ値の各々が、センサ30の分解能以上の値となることを抑制することができる。
【0142】
よって、監視装置21の検知部20Cは、分離部20Aから入力された第1ノイズ値と、第2ノイズ出力部21Bから入力された第2ノイズ値と、の空間距離が閾値より大きいか否かを判断することで、統合値がリプレイアタックであるか否かを容易に検知することができる。
【0143】
従って、本実施形態の検知システム1Bは、上記実施形態の効果に加えて、リプレイアタックを高精度に検知することができる。また、本実施形態の1Bは、第1ノイズモデル部11Eおよび第2ノイズモデル部21Eで生成された第1ノイズ出力値および第2ノイズ出力値の各々がセンサ30の分解能以上の値となった場合も、リプレイアタックを容易に検知することができる。
【0144】
(第3の実施形態)
本実施形態では、制御装置および監視装置の各々が、複数のノイズ出力部を備える形態を説明する。
【0145】
図8は、本実施形態の検知システム1Cの機能的構成の一例を示す図である。
【0146】
検知システム1Cは、制御装置13と、監視装置23と、を備える。制御装置13と監視装置23とは、ネットワーク等を介して通信可能に接続されている。制御装置13は、1または複数のセンサ30と通信可能に接続されている。検知システム1Cは、制御装置10に替えて制御装置13を備え、監視装置20に替えて監視装置23を備える点以外は、上記実施形態の検知システム1と同様の構成である。
【0147】
制御装置13は、取得部10Aと、第1出力部13Eと、統合部10Cと、送信部10Dと、を備える。制御装置13は、制御装置10における第1ノイズ出力部10Bに替えて、第1出力部13Eを備える。
【0148】
第1出力部13Eは、上記実施形態の第1ノイズ出力部10Bと同様に、第1ノイズ値を出力する。
【0149】
本実施形態の第1出力部13Eは、複数の第1ノイズ出力部13Bと、第1選択部13Fと、を有する。
【0150】
図8には、第1出力部13Eが、第1ノイズ出力部13B1~第1ノイズ出力部13Bmのm個の第1ノイズ出力部13Bを含む形態を示す。mは、2以上の整数である。
【0151】
複数の第1ノイズ出力部13Bは、互いに異なる第1ノイズ値を出力する。すなわち、複数の第1ノイズ出力部13Bは、第1ノイズ値を出力するためのアルゴリズムの少なくとも一部が異なる。複数の第1ノイズ出力部13Bは、例えば、上記実施形態における第1ノイズ出力部10B、および第1ノイズ出力部11Bを含む。
【0152】
第1出力部13Eに含まれる複数の第1ノイズ出力部13Bの各々には、各々を一意に識別するための識別情報(以下、IDと称する)が予め付加されている。
【0153】
第1選択部13Fは、複数の第1ノイズ出力部13Bの内の1つを予め定められた選択規則に沿って選択し、選択した第1ノイズ出力部13Bから出力された第1ノイズ値を、統合部10Cへ出力する。
【0154】
第1選択部13Fは、複数の第1ノイズ出力部13Bの各々のIDの内の1つを選択することで、選択したIDに識別される第1ノイズ出力部13Bを選択する。第1選択部13Fは、乱数ではなく、IDを一意に決定可能なアルゴリズムを用いて、1つの第1ノイズ出力部13BのIDを選択する。
【0155】
詳細には、例えば、第1選択部13Fは、下記式(7)を用いて、複数の第1ノイズ出力部13Bの内の1つの第1ノイズ出力部13BのIDを選択する。
【0156】
【0157】
式(7)中、xselector(t+1)は、ステップt+1、すなわち、今回第1選択部13Fが選択する第1ノイズ出力部13BのIDを表す。式(7)中、xselector(t)は、前回、すなわちステップtにおいて第1選択部13Fが選択した第1ノイズ出力部13BのIDを表す。nは、第1ノイズ出力部13Bの個数を表す整数である。IDには、例えば、0からn-1の値を定める。この場合、上記mの最大値が、n-1に一致する値となる。bは、パラメータであり非負数である。modは、MOD関数を表す。
【0158】
第1選択部13Fは、上記式(7)を用いて、複数の第1ノイズ出力部13Bの内の1つの第1ノイズ出力部13BのIDを選択する。
【0159】
なお、第1選択部13Fは、ステップごとに前回選択したIDから1つ番号をずらしたIDを選択することで、複数の第1ノイズ出力部13Bの内の1つの第1ノイズ出力部13BのIDを選択してもよい。
【0160】
第1選択部13Fは、選択したIDによって識別される1つの第1ノイズ出力部13Bを選択する。そして、第1選択部13Fは、選択した第1ノイズ出力部13Bから出力された第1ノイズ値を、統合部10Cへ出力する。
【0161】
制御装置12に含まれる取得部10A、統合部10C、および送信部10Dは、上記実施形態の制御装置10と同様である。
【0162】
監視装置23は、分離部20Aと、第2出力部23Eと、検知部20Cと、監視部20Dと、を備える。監視装置23は、監視装置20における第2ノイズ出力部20Bに替えて第2出力部23Eを備える。
【0163】
第2出力部23Eは、複数の第1ノイズ出力部13Bである複数の第2ノイズ出力部23Bを備える。すなわち、第2出力部23Eは、第1出力部13Eに設けられている複数の第1ノイズ出力部13Bの各々と同一の、複数の第2ノイズ出力部23Bを備える。
【0164】
すなわち、第2出力部23Eは、第2ノイズ出力部23B1~第2ノイズ出力部23Bmのm個の第2ノイズ出力部23Bを含む。これらの複数の第2ノイズ出力部23B1~第2ノイズ出力部23Bmは、第1出力部13Eの第1ノイズ出力部13B1~第2ノイズ出力部23Bmとそれぞれ同一である。
【0165】
そして、複数の第2ノイズ出力部23B1~第2ノイズ出力部23Bmは、それぞれ、対応する第2ノイズ出力部23B1~第2ノイズ出力部23Bmと同じ第1ノイズ値を第2ノイズ値として出力する。
【0166】
このため、複数の第2ノイズ出力部23Bは、互いにに異なる第2ノイズ値を出力する。すなわち、複数の第2ノイズ出力部23Bは、第2ノイズ値を出力するためのアルゴリズムの少なくとも一部が異なる。複数の第2ノイズ出力部23Bは、例えば、上記実施形態における第2ノイズ出力部20B、および第2ノイズ出力部21Bを含む。
【0167】
複数の第1ノイズ出力部13Bと同様に、第2出力部23Eに含まれる複数の第2ノイズ出力部23Bの各々には、各々を一意に識別するためのIDが予め付加されている。複数の第2ノイズ出力部23Bの各々には、対応する複数の第1ノイズ出力部13Bの各々に付加されているIDと同一のIDがそれぞれ付加されている。
【0168】
第2選択部23Fは、第1選択部13Fで用いられている選択規則と同一の選択規則に沿って、複数の第2ノイズ出力部23Bの内の1つを選択する。すなわち、第2選択部23Fは、第1出力部13Eに含まれる複数の第1ノイズ出力部13Bの内、制御装置13から分離部20Aに入力された統合値に含まれる第1ノイズ値を出力した第1ノイズ出力部13Bに対応する第2ノイズ出力部23B1を選択するように、予め調整されている。
【0169】
そして、第2選択部23Fは、選択した第1ノイズ出力部13Bから出力された第2ノイズ値を、検知部20Cへ出力する。このため、第2出力部23Eは、制御装置13から分離部20Aに入力された統合値に含まれる第1ノイズ値と、同じ値の第2ノイズ値を検知部20Cへ出力するように、予め調整されている。
【0170】
監視装置23に含まれる分離部20A、検知部20C、および監視部20Dは、上記実施形態の監視装置20と同様である。
【0171】
次に、制御装置13で実行される情報処理の流れの一例を説明する。
【0172】
図9は、制御装置13で実行される情報処理の流れの一例を示すフローチャートである。
【0173】
第1出力部13Eに含まれる複数の第1ノイズ出力部13Bの各々が第1ノイズ値を第1選択部13Fへ出力する(ステップS500)。第1選択部13Fは、予め定められた選択規則に沿って、複数の第1ノイズ出力部13Bの内の1つを選択する(ステップS502)。第1選択部13Fは、選択した1つの第1ノイズ出力部13Bから入力された第1ノイズ値を、統合部10Cへ出力する(ステップS504)。
【0174】
取得部10Aは、センサ30から観測値を取得する(ステップS506)。
【0175】
統合部10Cは、取得部10Aから入力された観測値と、第1選択部13Fから入力された第1ノイズ値と、を統合した統合値を送信部10Dへ出力する(ステップS508)。送信部10Dは、統合部10Cから入力された統合値を監視装置21へ送信する(ステップS510)。そして、本ルーチンを終了する。
【0176】
次に、監視装置23で実行される情報処理の流れの一例を説明する。
【0177】
図10は、監視装置23で実行される情報処理の流れの一例を示すフローチャートである。
【0178】
分離部20Aは、制御装置13から統合値を受信する(ステップS600)。分離部20Aは、ステップS600で受信した統合値を観測値と第1ノイズ値とに分離する(ステップS602)。
【0179】
第2出力部23Eに含まれる複数の第2ノイズ出力部23Bの各々が第2ノイズ値を第2選択部23Fへ出力する(ステップS604)。第2選択部23Fは、予め定められた選択規則に沿って、複数の第2ノイズ出力部23Bの内の1つを選択する(ステップS606)。第2選択部23Fは、第1選択部13Fで選択された第1ノイズ出力部13Bと同じ第2ノイズ出力部23Bを選択する。第2選択部23Fは、選択した1つの第2ノイズ出力部23Bから入力された第2ノイズ値を、検知部20Cへ出力する(ステップS608)。
【0180】
検知部20Cは、ステップS602で分離された第1ノイズ値と、ステップS608によって第2選択部23Fから入力された第2ノイズ値と、の空間距離の絶対値が、閾値である“0”より大きいか否かを判断する(ステップS610)。
【0181】
ステップS610で肯定判断すると(ステップS610:Yes)、検知部20Cは、リプレイアタックの検知を表す検知結果を監視部20Dへ出力する(ステップS612)。リプレイアタックの検知を表す検知結果を入力された監視部20Dは、リプレイアタックに対する予め定めた攻撃対応処理などを実行する(ステップS614)。そして、本ルーチンを終了する。
【0182】
一方、ステップS610で否定判断すると(ステップS610:No)、ステップS616へ進む。ステップS616では、検知部20Cは、リプレイアタックの非検知を表す検知結果を監視部20Dへ出力する(ステップS616)。リプレイアタックの非検知を表す検知結果を入力された監視部20Dは、ステップS612で分離された観測値を用いて、予め定めた監視処理等を実行する(ステップS618)。そして、本ルーチンを終了する。
【0183】
以上説明したように、本実施形態の検知システム1Cでは、制御装置13の第1出力部13Eが、互いに異なる第1ノイズ値を出力する複数の第1ノイズ出力部13Bと、第1選択部13Fと、を有する。第1選択部13Fは、複数の第1ノイズ出力部13Bの内の1つを予め定められた選択規則に沿って選択し、選択した第1ノイズ出力部13Bから出力された第1ノイズ値を統合部10Cへ出力する。
【0184】
また、監視装置23の第2出力部23Eは、複数の第1ノイズ出力部13Bである複数の第2ノイズ出力部23Bと、第2選択部23Fと、を備える。第2選択部23Fは、選択規則に基づいて、第1選択部13Fによって選択された第1ノイズ出力部13Bを、複数の第2ノイズ出力部23Bの内の選択した第2ノイズ出力部23Bとして選択し、選択した第2ノイズ出力部23Bから出力された第2ノイズ値を検知部20Cへ出力する。
【0185】
このように、本実施形態の検知システム1Cでは、制御装置13および監視装置23の各々で複数のノイズ出力部(第1ノイズ出力部13B、第2ノイズ出力部23B)を用いる。そして、本実施形態の検知システム1Cでは、ステップごとに、異なるノイズ出力部から出力されたノイズ値(第1ノイズ値、第2ノイズ値)を用いて、統合値の送信およびリプレイアタックの検知を行う。
【0186】
ここで、制御装置13から監視装置23へ順次送信される統合値の時系列データから機械学習等を利用することで、ノイズ生成に用いるアルゴリズムが推定される場合がある。
【0187】
一方、本実施形態の検知システム1Cでは、制御装置13および監視装置23の各々を複数のノイズ出力部を備えた構成とし、ステップごとに異なるノイズ出力部から出力されたノイズ値を用いて、統合値の送信およびリプレイアタックの検知を行う。
【0188】
このため、本実施形態の検知システム1Cでは、制御装置13から監視装置23へ送信された統合値に含まれる第1ノイズ値の生成に用いたアルゴリズムが推定されることを抑制することができる。このため、本実施形態の検知システム1Cでは、上記実施形態の効果に加えて、リプレイアタックを高精度に検知することができる。
【0189】
(第4の実施形態)
本実施形態では、第1ノイズ出力部から出力された第1ノイズ値に乱数を付加する形態を説明する。
【0190】
図11は、本実施形態の検知システム1Dの機能的構成の一例を示す図である。
【0191】
検知システム1Dは、制御装置15と、監視装置25と、を備える。制御装置15と監視装置25とは、ネットワーク等を介して通信可能に接続されている。制御装置15は、1または複数のセンサ30と通信可能に接続されている。検知システム1Dは、制御装置10に替えて制御装置15を備え、監視装置20に替えて監視装置25を備える点以外は、上記実施形態の検知システム1と同様の構成である。
【0192】
制御装置15は、取得部10Aと、第1ノイズ出力部10Bと、統合部10Cと、送信部10Dと、乱数生成部15Eと、を備える。制御装置13は、制御装置10の構成に、更に乱数生成部15Eを備える。
【0193】
乱数生成部15Eは、第1ノイズ出力部10Bから出力された第1ノイズ値に乱数を付加し、統合部10Cへ出力する。
【0194】
乱数生成部15Eは、予め定められた下限値と上限値との間の任意の値を、乱数としてステップごとに生成する。そして、乱数生成部15Eは、第1ノイズ出力部10Bから入力された第1ノイズ値に生成した乱数を付加し、統合部10Cへ出力する。
【0195】
制御装置12に含まれる取得部10A、統合部10C、および送信部10Dは、上記実施形態の制御装置10と同様である。統合部10Cおよび送信部10Dは、第1ノイズ値として、乱数生成部15Eによって乱数を付加された第1ノイズ値を用いる点以外は、上記実施形態と同様にして、統合値を生成し監視装置25へ送信する。すなわち、本実施形態では、制御装置15から監視装置25へ、観測値と、乱数を付加された第1ノイズ値と、の統合値が送信される。
【0196】
監視装置25は、分離部20Aと、第2ノイズ出力部20Bと、検知部25Cと、監視部20Dと、を備える。監視装置25は、監視装置20における検知部20Cに替えて検知部25Cを備える。
【0197】
検知部25Cは、分離部20Aから入力された、乱数を付加された第1ノイズ値と、第2ノイズ出力部20Bから入力された第2ノイズ値と、の空間距離が、乱数に応じた閾値より大きい場合、制御装置15から受信した統合値をリプレイアタックとして検知する。
【0198】
すなわち、本実施形態では、検知部25Cは、リプレイアタックの検知に用いる閾値として、乱数生成部15Eで付加された乱数に応じた値を用いる。詳細には、検知部25Cは、乱数生成部15Eによって付加される乱数の下限値の絶対値および上限値の絶対値の内の最大値を、閾値として用いる。
【0199】
具体的には、検知部25Cは、下記式(8)によって表される閾値を、リプレイアタックの検知に用いる。そして、検知部25Cは、式(9)を満たす場合、統合値をリプレイアタックとして検知する。
【0200】
【0201】
式(8)および式(9)中、γupperは、乱数生成部15Eによって付加される乱数の上限値を表す。γlowerは、乱数生成部15Eによって付加される乱数の下限値を表す。γthredは、リプレイアタックの検知に用いる閾値を表す。yn1(t)は、分離部20Aから検知部25Cへ出力された、乱数を付加された第1ノイズ値を表す。yn2(t)は、第2ノイズ出力部20Bから検知部25Cへ出力された第2ノイズ値を表す。maxはMAX関数である。
【0202】
上記式(8)および式(9)に示すように、本実施形態では、リプレイアタックの有無の判断に用いる閾値として、乱数生成部15Eによって付加される乱数の下限値の絶対値および上限値の絶対値の内の最大値を用いる。但し、この閾値は、第1ノイズ値および第2ノイズ値の各々として取りうる値の絶対値の最小値より小さい値となるように、乱数生成部15Eで生成される乱数の範囲が予め調整されているものとする。
【0203】
そして、検知部25Cは、分離部20Aから入力された、乱数を付加された第1ノイズ値と、第2ノイズ出力部20Bから入力された第2ノイズ値との空間距離である差分の絶対値が、該閾値より大きいか否かを判断する。検知部25Cは、該空間距離である差分の絶対値が該閾値より大きい場合、制御装置15から受信した統合値がリプレイアタックであると検知する。一方、検知部25Cは、該空間距離である差分の絶対値が該閾値以下である場合、制御装置15から受信した統合値がリプレイアタックではないと検知する。そして、検知部25Cは、検知結果を監視部20Dへ出力する。
【0204】
次に、制御装置15で実行される情報処理の流れの一例を説明する。
【0205】
図12は、制御装置15で実行される情報処理の流れの一例を示すフローチャートである。
【0206】
第1ノイズ出力部10Bが第1ノイズ値を乱数生成部15Eへ出力する(ステップS700)。乱数生成部15Eは、第1ノイズ出力部10Bから入力された第1ノイズ値に乱数を付加し、統合部10Cへ出力する(ステップS702)。
【0207】
取得部10Aは、センサ30から観測値を取得する(ステップS704)。
【0208】
統合部10Cは、取得部10Aから入力された観測値と、乱数生成部15Eから入力された乱数を付加された第1ノイズ値と、を統合した統合値を送信部10Dへ出力する(ステップS706)。送信部10Dは、統合部10Cから入力された統合値を監視装置25へ送信する(ステップS708)。そして、本ルーチンを終了する。
【0209】
次に、監視装置25で実行される情報処理の流れの一例を説明する。
【0210】
図13は、監視装置25で実行される情報処理の流れの一例を示すフローチャートである。
【0211】
分離部20Aは、制御装置10から統合値を受信する(ステップS800)。分離部20Aは、ステップS800で受信した統合値を、観測値と、乱数を付加された第1ノイズ値とに分離する(ステップS802)。
【0212】
第2ノイズ出力部20Bは、第2ノイズ値を検知部25Cへ出力する(ステップS804)。
【0213】
検知部25Cは、ステップS802で分離された、乱数を付加された第1ノイズ値と、ステップS804によって第2ノイズ出力部20Bから入力された第2ノイズ値と、の空間距離の絶対値が、閾値より大きいか否かを判断する(ステップS806)。ステップS806では、閾値として、乱数生成部15Eによって付加される乱数の下限値の絶対値および上限値の絶対値の内の最大値を用いる。
【0214】
ステップS806で肯定判断すると(ステップS806:Yes)、検知部25Cは、リプレイアタックの検知を表す検知結果を監視部20Dへ出力する(ステップS808)。リプレイアタックの検知を表す検知結果を入力された監視部20Dは、リプレイアタックに対する予め定めた攻撃対応処理などを実行する(ステップS810)。そして、本ルーチンを終了する。
【0215】
一方、ステップS806で否定判断すると(ステップS806:No)、ステップS812へ進む。ステップS812では、検知部25Cは、リプレイアタックの非検知を表す検知結果を監視部20Dへ出力する(ステップS812)。リプレイアタックの非検知を表す検知結果を入力された監視部20Dは、ステップS802で分離された観測値を用いて、予め定めた監視処理等を実行する(ステップS814)。そして、本ルーチンを終了する。
【0216】
以上説明したように、本実施形態の検知システム1Dでは、乱数生成部15Eが、第1ノイズ出力部10Bから出力された第1ノイズ値に乱数を付加し、統合部10Cへ出力する。そして、統合部10Cおよび送信部10Dは、乱数を付加された第1ノイズ値と、観測値と、の統合値を監視装置25へ送信する。
【0217】
ここで、制御装置15から監視装置25へ順次送信される統合値の時系列データから機械学習等を利用することで、ノイズ生成に用いるアルゴリズムが推定される場合がある。
【0218】
一方、本実施形態の検知システム1Dは、乱数を付加した第1ノイズ値と、第1ノイズ値と、の統合値を監視装置25へ送信する。
【0219】
このため、本実施形態の検知システム1Dでは、制御装置15から監視装置25へ送信された統合値に含まれる第1ノイズ値の生成に用いたアルゴリズムが推定されることを抑制することができる。このため、本実施形態の検知システム1Dでは、上記実施形態の効果に加えて、リプレイアタックを高精度に検知することができる。
【0220】
また、本実施形態の検知システム1Dは、上記第3の実施形態の検知システム1Cに比べて、制御装置15および監視装置25の各々で、1つの第1ノイズ出力部10Bおよび第2ノイズ出力部20Bのそれぞれでノイズ値(第1ノイズ値、第2ノイズ値)を生成する。このため、本実施形態の検知システム1Dは、計算負荷軽減を図り、且つ、リプレイアタックを高精度に検知することができる。
【0221】
次に、上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25のハードウェア構成の一例を説明する。
【0222】
図14は、上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25の一例のハードウェア構成図である。
【0223】
上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25は、CPU(Central Processing Unit)90Bなどの制御装置と、ROM(Read Only Memory)90CやRAM(Random Access Memory)90DやHDD(ハードディスクドライブ)90Eなどの記憶装置と、各種機器とのインターフェースであるI/F部90Aと、各部を接続するバス90Fとを備えており、通常のコンピュータを利用したハードウェア構成となっている。
【0224】
上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25では、CPU90Bが、ROM90CからプログラムをRAM90D上に読み出して実行することにより、上記各部がコンピュータ上で実現される。
【0225】
なお、上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25で実行される上記各処理を実行するためのプログラムは、HDD90Eに記憶されていてもよい。また、上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25で実行される上記各処理を実行するためのプログラムは、ROM90Cに予め組み込まれて提供されていてもよい。
【0226】
また、上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD(Digital Versatile Disc)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施形態の制御装置10、制御装置11、制御装置15、監視装置20、監視装置21、および監視装置25で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【0227】
なお、上記には、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0228】
例えば、上記実施形態では、第1情報処理装置が、制御装置10、制御装置11、制御装置13、または制御装置15である形態を一例として説明した。また、上記実施形態では、第2情報処理装置が、監視装置20、監視装置21、監視装置23、または監視装置25である形態を一例として説明した。
【0229】
しかし、第1情報処理装置および第2情報処理装置は、ネットワーク等を介して通信可能に接続された情報処理装置であればよく、制御装置および監視装置に限定されない。例えば、第1情報処理装置がクライアントサーバシステムのクライアントとして機能し、第2情報処理装置がサーバとして機能する形態であってもよい。
【符号の説明】
【0230】
1、1B、1C、1D 検知システム
10、11、13、15 制御装置
20、21、23、25 監視装置
10A 取得部
10B、11B、13B 第1ノイズ出力部
10C 統合部
10D 送信部
11E 第1ノイズモデル部
11F 第1スケーリング部
13E 第1出力部
15E 乱数生成部
20A 分離部
20B、21B、23B 第2ノイズ出力部
21E 第2ノイズモデル部
21F 第2スケーリング部
23E 第2出力部
20C、25C 検知部