• 検索結果がありません。

つながる世界の開発指針 実証実験報告書 ~ 異常の早期発見 波及防止技術の一例 ~ 2016 年 5 月 11 日

N/A
N/A
Protected

Academic year: 2021

シェア "つながる世界の開発指針 実証実験報告書 ~ 異常の早期発見 波及防止技術の一例 ~ 2016 年 5 月 11 日"

Copied!
25
0
0

読み込み中.... (全文を見る)

全文

(1)

「つながる世界の開発指針」 実証実験報告書

~異常の早期発見・波及防止技術の一例~

(2)

2

目次

1. 背景 ... 3 2. 実証実験の目的 ... 4 3. 実証実験の体制と役割 ... 4 4. 実験環境... 5 4.1. 場所 ... 5 4.2. システム構成 ... 5 4.3. システムの動作概要 ... 7 5. 障害の波及防止対策に関する実証実験 ... 9 5.1. 想定する異常発生のリスク ... 9 5.2. ロボットの動作異常の早期検知・波及防止の方法 ... 10 5.2.1. 対処方法の検討 ... 10 5.2.2. 対処方法の実装 ... 11 5.2.3. 実装方式の性能設計 ... 12 5.3. 実証実験の内容 ... 13 5.4. 評価 ... 14 5.4.1. ロボットの指示パラメーターの異常検知と波及防止の評価 ... 15 5.4.2. 異常の検知から波及防止までの性能の評価 ... 16 5.4.3. 異常検知と波及防止の対処の負荷の評価 ... 17 5.4.4. 異常検知と波及防止の対処のコスト評価 ... 17 5.4.5. 今後の課題 ... 18 6. 相互接続時の信用確認に関する実証実験 ... 19 6.1. 想定する異常発生のリスク ... 19 6.2. ロボットの信用確認の方法 ... 19 6.2.1. 対処方法の検討 ... 19 6.2.2. 対処方法の実装 ... 19 6.3. 実証実験の内容 ... 20 6.4. 評価 ... 22 6.4.1. ロボットの信用確認の評価 ... 22 6.4.2. 今後の課題 ... 24 7. おわりに ... 25 謝辞 ... 25

(3)

3

1. 背景

IPA では、IoT 時代を踏まえ、安全・安心が確保された信頼できる製品を開発するための開発指 針「つながる世界の開発指針1」を策定した。開発指針では、つながることによって事故やインシデ ントなどが引き起こされるリスクを未然に防ぐことを主眼に、指針毎にポイント、解説、対策例につい て記載している。開発指針策定において、対策例の中には、すでに確立して広く普及しているもの と、まだ確立しておらずあまり普及していない対策があることが見えてきた。そのような未確立の技 術の一部の実現性や有効性について実験システムを構築し、検証・評価を行うこととした。 IoT における代表的な活動の一つとしてドイツの Industrie4.0 がある。そこでは工場などの生産 現場における革新が狙いとされている。今回、実証実験をするにあたり、Industrie4.0 と親和性の高 い FA (Factory Automation) 分野を実証実験の対象とし、ロボット工業会の ORiN 協議会、機械振 興協会と共同で実施することとした。FA の分野は、従来、閉じたシステムであったが、IoT の流れが FA システムにも広がりつつある。IoT になると、様々な機器やシステム、さらにサービスがネットワー クに接続され、それにより工場における生産活動の高度化が見込まれる。その一方で、様々な機 器がつながる際に品質の低い機器がつながれたり、また、そのような機器の障害が生産活動に広 範囲に波及したりするリスクが高まる。本実証実験では、そのようなリスクに対して、工場におけるセ ル生産システムを想定し、機器の障害が他の機器やシステム全体に波及することを防止する対策 や品質の低い機器がつながることの防止についての検証・評価を実施した。 1 つながる世界の開発指針検討 WG が作成した IoT 製品向け開発指針。 http://www.ipa.go.jp/sec/reports/20160324.html

(4)

4

2. 実証実験の目的

FA システムの世界でも接続される機器の機能、機種やベンダーのバリエーションが増え、開発 指針で示しているIoT ならではのリスクが増加している。一方、FA システムは、従来は比較的閉じ たシステムであったことから上記リスクの対策はそれほど行われておらず、特に、開発指針の以下 の指針は今まであまり考慮されてこなかったと考えられる。 [指針9] つながる相手に迷惑をかけない設計をする ① IoT コンポーネントの異常を検知できる設計を検討する。 ② 異常を検知したときの適切な振る舞いを検討する。 [指針 11] 不特定の相手とつなげられても安全・安心を確保できる設計をする ① IoT コンポーネントがつながる相手やつながる状況に応じてつなぎ方を判断できる設 計を検討する。 今回の実証実験では、FA の実験システムに対して上記指針の対策技術を適用し、実現性と効 果を確認することとした。

3. 実証実験の体制と役割

FA システムを使った実証実験を行うにあたり、工業用ロボットなどの実験資材や制御用のソフトウ ェアが必要となる。そこで、日本ロボット工業会の ORiN 協議会、機械振興協会と協議し、実証実 験システムの環境を整備した。 実証実験の体制と役割を以下に示す。 表 1 体制と役割 独立行政法人情報処理推進機 構 代表窓口 実証実験の仕様決定、評価と報告書作成 実証実験テーマの選定 実証実験システムの仕様とシナリオの作成 実証実験の評価と報告書作成 ORiN2協議会 ORiN を使った実験システムへの実験機能の追加 実証実験用プログラムをORiN の機能を使って開発 実証実験システムの運用・調整 一般財団法人 機械振興協会 実験環境の提供 技術研究所(東久留米) 実験設備の調整 実験内容・方法の提案 *2 http://www.orin.jp/

ORiN(Open Resource interface for the Network)とは、工場内の各種機器に対して、メー カ、機種の違いを超えて統一的なアクセス手段と表現方法を提供する通信インタフェースであ り、産業用機器をアプリケーションプログラムから制御するための標準インタフェースの1つ。 ORiN 自体はアプリケーションと各機器との間のインタフェースを規定するものであるが、これを 実装したミドルウェアが市販されており、実証実験ではそれを利用した。

(5)

5

4. 実験環境

4.1. 場所

実証実験は、機械振興協会 技術研究所の実験室で行った。

4.2. システム構成

実証実験システムは、ORiN 協議会が展示会用に作成したセル連携デモンストレーションシ ステムを流用した。 実証実験システムの構成と各PC・機器の役割を以下に示す。 図 1 実証実験システムの構成 表 2 実証実験システムを構成するPC,機器とその役割 機器・PC 役割 ① セルコントロール PC 各機器(PLC、ロボット、NC)に指令を送ることで設備動作シーケンスを統括 的に管理する。 ② 単軸ロボット, PLC NJ501 前工程が終わった製造物を6軸ロボットがつかむ位置まで移動する。 NC での加工が完了して6軸ロボットが移動してきた製造物を次工程の位置 に移動する。 ③ 六軸ロボット, VP-624 単軸ロボットが移動してきた製造物を NC が加工できる正確な位置にもって いく。 NC での加工が完了した製造物を単軸ロボットのスライダーに移動する。 ④ NC SYSTEM-18i-M 六軸ロボットから渡された製造物を加工する。 今回の実験システムでは、製造物を実際に加工せず、シミュレータを使う。 ⑤ SCADA(Joy watcher Suite) 実行 PC 設備動作に関する情報を可視化(2D)する SCADA アプリが動作する。

⑥ シミュレータ(Vmech)実行 PC 設備動作に関する情報を可視化(3D)する SCADA アプリが動作する。

(6)

6 上記各 PC の仕様は以下。

PC : Lenovo

CPU Intel® Celeron® M CPU 410 @ 1.46GHz RAM 1.99 GB 物理アドレス拡張

OS : Microsoft Windows XP Professional Version 2002 Service Pack 3

各 PC にインストールしているソフトは以下。 Microsoft Visual Studio 2012

ORiN 2 SDK セルコントロールPCのソフトウェア構成を以下に示す。 表 3 セルコントロールPCのソフトウェア構成 セルコントロールアプリ ORiN のインタフェースを使って接続する各機器(単軸ロボット、六 軸ロボット、NC)に工程毎の動作指示を行うアプリケーションプログ ラム。 Cao SQL 各機器で収集したデータを上位のアプリケーションに標準的なイ ンタフェース(SQL)でアクセス可能とするミドルウェア ORiN アプリケーションから機器のドライバ機能を実行するための標準イ ンタフェースを実装したミドルウェア 各種プロバイダ 各機器の固有のドライバインタフェースを ORiN の標準インタフェ ースで扱えるようにするためのプラグインモジュール 図1のシステム構成は、今回の実証実験での対策を適用する前のものである。 実証実験で評価する対策を適用するために、上記システムに以下の監視用PC を追加した。 表 4 監視用 PC のソフトウェア構成 システム制御アプリ 機器の起動と停止を行う。 実証実験アプリ ORiN のインタフェースを使って設備を構成する各機器から情報を 定期的に取得し、異常検知と停止を行う。停止はシステム制御ア プリを使って行う。 ORiN アプリケーションからシステム固有のデータ・インタフェースをアク セス・実行するための標準インタフェースを実装したミドルウェア Cao SQL プロバイダ セルコントロール PC で(Cao SQL により)収集した情報を1つのマ シンで集約して扱うための機能

(7)

7

4.3. システムの動作概要

実証実験システムでの各機器の動作の流れを図 2 に示す。 図 2 実験システムでの動作の流れ セルコントロール PC はシステム全体のシーケンス動作を統括的に行う。各機器にはコマンド 番号に応じた動作が予め定義(プログラミング)されており、セルコントロールPCからのコマンド 番号実行要求に応じて様々な規定の動作が行われる。 以下に実証実験システムでの動作の流れを示す。 ① 単軸ロボットが前工程が終わった製造物を六軸ロボットまで移動する。 ② 移動されてきた製造物を NC で加工するために、六軸ロボットが単軸ロボットのスライ ダー上の製造物をつかみ、NC の正確な位置に移動する。 ③ NC で製造物の立体加工を行う。 ④ 立体加工が完了した製造物を次工程に移動するために、六軸ロボットが製造物をつ かみ、単軸ロボットのスライダー上に置く。 ⑤ 単軸ロボットが製造物を次工程の場所に移動する。

(8)

8 一般に、図2で示したような FA システムでは、単一の製造物ではなく複数の製造物の製造が 可能であり、セルコントロール PC のアプリケーションは、製造物の仕様に応じた工程を実行する ように各機器を制御する。つまり、製造物とその工程毎にセルコントロールアプリが指示パラメー ターなどを切り替えて動作することになる。セルコントロールアプリからロボットや NC へ送る指示 パラメーターの運用は、製造物の切り替えに合わせて行われる必要がある。 図 3 機器へ送る指示パラメーターの切り替え

(9)

9

5. 障害の波及防止対策に関する実証実験

5.1. 想定する異常発生のリスク

FA システムでは、ロボットや NC での異常の影響がそれらの異常な動きや製造物の破損等を 通じて他の機器に波及する場合がある。この異常波及の形態では、機器や製造物に物理的な 悪影響を及ぼし、システムが大きな損害を受ける可能性がある。このロボットや NC の異常な動 作を引き起こす誤りや攻撃の1つとして、指示パラメーターへの誤った値の設定や値の改竄が考 えられる。 図 4 指示パラメーターの異常の影響 また、ロボットや NC の機能増加や接続仕様の標準化により、指示パラメーターについて以下の リスクの増加が予想される。 ・ 指示パラメーターの運用ミス ある製造物で指定すべき指示パラメーターを誤って別の製造物の処理で指定して しまう、等。 ・ 指示パラメーターを扱うアプリケーションの脆弱性の増加 標準化された接続仕様の利用により、アプリケーションのリバースエンジニアリングの 容易性が増し、悪意を持った第三者による指示パラメーターの値の改竄、等のリスク が増加。 上記リスクに対して、指示パラメーターの異常を早期に検知して影響が波及するのを防止する ための対策を検討した。

(10)

10

5.2. ロボットの動作異常の早期検知・波及防止の方法

5.2.1. 対処方法の検討 実証実験システムで使用した FA システムでは、製造物の種類毎に機器は必ず同じ動作をす るように指示される。従って、各機器について、一連の指示パラメーターの並びが一定周期で繰 り返されることになる。この特徴を活かして、指示パラメーターの検査方法として以下の方式を検 討した。 ① 指示パラメーターの正しい値のパターンを前もって記録しておく。 ② 機器が受け付けた指示パラメーターを適切な時間間隔で監視する。 採取した指示パラメーターが①で記録したパターンに存在しなければ異常と認識し、 コンソールにアラートを出力してロボットを安全に停止する。 実証実験システムでは、製造物毎に各機器での指示パラメーターの正しい値のパターンが決 まっている。 図 5 各機器の指示パラメーター 各機器の正しい指示パラメーターのパターンの例を以下に示す。 表 5 各機器の正しい指示パラメーターのパターン

(11)

11 上記の正しい指示パラメーターのパターンを使って指示パラメーターを検査する方式を以下 に示す。 表 6 指示パラメーターの検査の方式 機器 製造物 確認方法 単軸ロボット 製造物1の場合 指示パラメーターが 1-1-1, 1-1-2 の中になければ異常 製造物2の場合 指示パラメーターが 1-2-1, 1-2-2 の中になければ異常 六軸ロボット 製造物1の場合 指示パラメーターが 2-1-1, 2-1-2 の中になければ異常 製造物2の場合 指示パラメーターが 2-2-1, 2-2-2 の中になければ異常 NC 製造物1の場合 指示パラメーターが 3-1-1 でなければ異常 製造物2の場合 指示パラメーターが 3-2-1 でなければ異常 実証実験では、六軸ロボット[以降「ロボット」]について上記方式の監視を行った。 5.2.2. 対処方法の実装 実証実験システムの中に新たにロボットを監視するための監視用 PC を追加し、そこで上記の 監視方式を実装した実証実験アプリ(ログ作成用、監視用)を動作させることとした。 図 6 指示パラメーターの異常検知と波及防止の方式 実証実験で使用したロボットでは、セルコントロール PC から受信して次に実行するために内 部に保持している指示パラメーターの値を、外部から ORiN の機能を使ってポーリングしながら 取得できるようになっている。ロボットが実行する直前の指示パラメーターの値が監視対象として 適切であり、監視用 PC 上で動作させる実証実験アプリはこの機能を使って指示パラメーターの 値を監視するように実装した。(具体的には、セルコントロール PC が上記 ORiN の機能を使って ポーリングしながら取得した指示パラメーターの値を、監視用 PC 上の実証実験アプリが適切な 時間間隔で監視する。)

(12)

12 実証実験アプリは、正しい指示パラメーターのリストを格納した比較用ログファイルを作成する “ログ作成用”と、ロボットが実行しようとしている指示パラメーターの異常を監視する“監視用”の 2つを作成した。各実証実験アプリで実装した処理を以下に記載する。 L:実証実験アプリ(ログ作成用) ロボットの指示パラメーターの一連の正解値を格納した比較用ログファイルを作成する。 L-1 ORiN の機能を経由してロボットから指示パラメーターを取得 L-2 取得した指示パラメーターを比較用ログファイルに格納 D:実証実験アプリ(監視用) 動作中のロボットが受けた指示パラメーターを監視し、異常検知の際はロボットを停止す る。 D-1 ORiN の機能を経由してロボットから指示パラメーターを取得 D-2 取得した指示パラメーターが比較用ログファイルの中に存在するか確認 D-3 指示パラメーターが比較用ログファイルになければ異常と認識し、コンソールにアラ ートを表示し、ロボットを安全に停止する。 5.2.3. 実装方式の性能設計 ロボットのアームが動作するときの速度は最大約 40 cm/sec である。また、ロボットのアームが 製造物や他の機器に影響を与える移動距離の最小値は 10 cm であるとする。この場合、指示パ ラメーターの異常を検知してからロボットのアームが 10cm 動く前にロボットを停止することが波 及防止の要件となる。 この要件を満たすためには、少なくとも1/4 秒間に1回の割合で指示パラメーターの値を確認 しなくてはならない。実際には、実証実験アプリ(監視用)が指示パラメーターを監視するときの 時間間隔をマージンをとって 1/5 秒間 (200 msec) とした。また、セルコントロール PC が ORiN の機能を使ってロボットの中から指示パラメーターを取得するときの時間間隔は、実証実験アプ リ(監視用)による 200 msec に1回の監視を確実なものにするために、1回の監視につき8回取得 するように設定した(200 msec / 8 = 25 msec)。

(13)

13

図 7 指示パラメーターの監視の頻度(時間間隔)

5.3. 実証実験の内容

実証実験の手順を以下に示す。

(14)

14 (1) 正常時の動作確認と比較用ログファイルの準備 ① 実証実験アプリ(ログ取得用)を起動し、比較用ログファイルを作成する。 既に比較用ログファイルが存在する場合はそのファイルを削除してから実証実験アプリ (ログ取得用)を起動する。 ② 実証実験用の FA システムを起動する。 動作中のロボットの全ての動きが正しいことが確認できたらこの実証実験アプリを停止して 比較用ログファイルの作成を終了する。 ロボットの動作が正しくなかった場合は、システムを正しく動作するように対処した上で、比 較用ログファイルを削除し、再度アプリケーションを起動して比較用ログファイルを作成しなお す。 (2) 監視機能を起動せずに異常状態を発生させる ① 実証実験用の FA システムを起動する。 ② 指示パラメーターに異常が発生したことを想定して、指示パラメーターがロボットに渡さ れる前にその値を誤った値に更新する。 ③ 製造物が次の機器に渡される前に想定していない場所で落ちてしまうことを確認する。 (3) 監視機能を起動してから異常状態を発生させる ① 実証実験アプリ(監視用)を起動する。 ② 実証実験用の FA システムを起動する。 ③ 指示パラメーターに異常が発生したことを想定して、指示パラメーターがロボットに渡さ れる前にその値を誤った値に更新する。 ④ ロボットが想定外の場所で製造物を落としてしまう前に、実証実験アプリ(監視用)が異 常を検知したことを示すアラートを表示し、ロボットを安全に停止させることを確認する。

5.4. 評価

評価項目とその結果の参照先を以下に示す。 表 7 障害の波及防止対策の評価項目 評価項目 評価結果参照先 ロボットの指示パラメーターの異常を検知し、 異常が波及する前に防止できること 5.4.1 異常の検知から防止までの性能要件を満たし ていること 5.4.2 ロボットを制御する各 PC (監視用 PC、セルコ ントロールPC) の本来機能に影響しない程 度の負荷で実現できること 5.4.3 リーズナブルなコストで実現できること 5.4.4

(15)

15 5.4.1. ロボットの指示パラメーターの異常検知と波及防止の評価 まず、正常時の動作確認と作成した比較用ログファイルの内容の確認を行った。正常時に比 較用ログファイルに格納した指示パラメーターの値を以下に示す。 図 9 正常に動作したときのロボットが受信した指示パラメーターのリスト 次に、指示パラメーターの値を誤った値で更新したとき、製造物が次の機器に渡される前に 想定していない場所で落ちてしまうことを確認した。 図 10 製造物破損につながるロボットの異常な動作

(16)

16 最後に、実証実験アプリ(監視用)を起動した場合、指示パラメーターの値を誤った値で更新 したとき、実証実験アプリがアラートを表示し、製造物が落ちる前にロボットが停止したことを確認 した。(10 回実行して 10 回とも成功した。) 図 11 ロボットの指示パラメーター異常の検知と波及防止 5.4.2. 異常の検知から波及防止までの性能の評価 次にロボットが実行する指示パラメーターの値を誤った値で更新したとき、ロボットがその指 示パラメーターを実行して 1cm~2cm 動作して停止することを確認した。 実験前は、監視用 PC の実証実験アプリ(監視用)が指示パラメーターを取得する時間間隔 を 250msec ではなくマージンをとって 200msec に設定しているため、ロボットのアームの移動 速度から、アームが平均 4 cm(最大 8cm)程度動いてから停止すると予想した。実際には、ロ ボットが指示パラメーターを受けてから、動作開始するまで遅延があり、その間に監視アプリで 異常を検出するため予定より早く停止されていた。 停止するまでのロボットのアームの移動距離 1cm~2cm 成功率 10/10

(17)

17 5.4.3. 異常検知と波及防止の対処の負荷の評価 セルコントロール PC でのロボットコントローラーからの指示パラメーター取得処理は、セルコ ントロール PC の CPU 負荷を上げることになる。増加した負荷の状況を以下に示す。 表 8 監視処理追加時の PC 負荷 CPU 使用率 ページファイル使用量 ネットワーク負荷率 セルコントロールアプ リ起動中 (監視機能なし) 88 % 0 KB 0.13~0.2 Mbyte / sec セルコントロールアプ リ起動中 (監視機能あり) 93 % 0 KB 0.13~0.2 Mbyte / sec 今回の監視機能を動作させたとき、セルコントロール PC の CPU 使用率は 5%上がった。一 方、メモリ使用量の増加とネットワーク使用量の増加はほとんど目立たない程度であった。 結果として、実験システムの構成では、今回の指示パラメーターの異常監視の処理がセルコ ントロール PC の動作に問題を発生させるほどの負荷をかけないことが検証された。 なお、監視用 PC でも CPU 負荷が上がるはずだが、負荷が非常に小さく、Windows の監視 機能では確認できないほどであった。 5.4.4. 異常検知と波及防止の対処のコスト評価 今回実装した異常監視方式での開発規模を以下に示す。 表 9 異常監視方式の開発規模 PC 対応内容 対応種別 開発規模 工数 セルコン ト ロ ー ル PC ORiN のロボット固有接続ライブラリ のパラメ ーター設定 ・ロボットの内部データの参照頻度 パ ラ メ ー タ ー設定 - 監 視 用 PC 実証実験アプリ [ログ作成用] ・指示パラメーターの正解値を格納した比較 用ログファイルを作成 [監視用] ・指示パラメーターを定期的に監視して異常 検出時はアラートを表示し、ロボットを停止 プ ロ グ ラ ム 開発 0.8kstep3 0.2 人月 今回の方式はロボット内部のデータを外部からポーリングしながら参照する方式であり、開発 規模自体はそれほど大きくはない。また、ロボット内部の処理、並びにロボットを制御するセルコ ントロールPC 上のアプリケーションに対して修正を加える必要がなく、既存機能に対して外付け で実装可能である。従って、システムの本来機能への影響調査、品質検証のための工数も小さ いと考える。 3実証実験では、ロボットのデータ異常の検知と異常の波及抑止を行う処理のみを実装した。セキ ュリティの脅威への対応については、課題として 5.4.5 で記載。

(18)

18 ロボットの動作の異常を検知して影響を抑止する方式としては、他にロボットの動作の異常を センサーで検知する方式がある。しかし、ロボットに渡される指示データの数値レベルでの異常 をセンサーにより検出しようとすると非常に精度の高いものが必要となる。また、同時に監視が必 要なロボットが複数ある場合、センサーもその台数に応じて増やす必要が出てくる。 表 10 異常検知の方式の比較 異常検知の方式 構成要素 同時動作ロボットの台 数が増えた場合 実 証 実 験 の 方式 ロボットが受け付けた指示パラ メーターの値の監視 ソフト 監視プログラム 実行する監視プログラ ムの多重度が増加 センサーを使 った方式(ライ トカーテン等) センサーによりロボットの一部 が異常領域にはいったかどうか を検出 ハード センサー センサーの数が増加 1.0 人月の人件費が 100 万円とするならば、実証実験での対策費用は 20 万円であり、監視 対象のロボットが増えてもこの費用は増加しない。一方、センサーで同様の異常検知を実現する 場合は、ロボット1台毎にセンサーの値段 50 万円から 100 万円追加となる。(センサーのカタロ グ値から推定) よって、本実証実験での方式の方がセンサーを利用する方式と較べて低いコストで実装可能 と言える。 5.4.5. 今後の課題 実際のシステムでの実装にあたっては、以下の検討が必要である。 (1) 異常の監視対象の拡大 実証実験ではロボットの指示パラメーターの値の周期性に着目して、指示パラメーターの 値が正しいパターンに入っているかどうかを確認する方式を適用した。個々の機器が受信す る指示パラメーターの順番の正しさやシステム内の全ての機器に跨っての指示パラメーター の順番の正しさについて確認する方式を組み合わせることにより、更に効果的な異常の検知 と波及防止を期待できる。 (2) 監視対象データの信頼性保証 機器の外部からは参照のみ可能な領域にある監視対象データ自体は信頼性がほぼ保証 されるが、それを参照するプログラムは監視用 PC 上で動作し、悪意を持った第三者に以下 の攻撃を受ける可能性がある。 ・PC のメモリ上に展開された監視対象データの改竄 ・PC上の監視制御プログラムの異常検知処理あるいは処理結果の改竄 上記の問題に対しては以下の対処が考えられる。 ・監視対象データの電子署名、あるいは HMAC4等を適用した改竄チェック ・PC上で動作する監視制御プログラムの耐タンパー性の強化5 なお、これらの対策は機器内部の処理、監視制御 PC の処理に性能上の影響があり、その大 きさを見極めた上で実装方式を検討する必要がある。

4 Hash based Message Authentication Code

(19)

19

6. 相互接続時の信用確認に関する実証実験

6.1. 想定する異常発生のリスク

従来の FA システムでは既知のベンダーの機器を利用するのがほとんどであり、品質をほぼ信 頼できるベンダーの機器のみを接続していた。ところが、各機器のアプリケーション向けのインタ フェースの共通化を目的とした ORiN などが現れ、その仕様を実装したミドルウェアも公開されて いる。ORiN を導入したシステムでは ORiN 準拠のインタフェースに従った機器であれば接続可 能となる。従って、接続する機器の選択範囲が広がり、システムとしてのソリューションの幅も広が ることになるが、反面、実績が少なく信頼性が低い機器が接続される可能性が増加する。これに より、安全に関わる事故や故障率の増加、システム稼働時間への悪影響が懸念される。 実証実験では、ロボットの信用を示す情報[以降「品質情報群」 : 信用を示す情報には、セキ ュリティレベル、品質保証の情報、稼働率などが考えられ、総じて品質に関する情報と捉えてい る]を確認した上でロボットを接続する方式を実装し、その効果を検証した。

6.2. ロボットの信用確認の方法

6.2.1. 対処方法の検討 上記のように、接続可能な機器が増えることによるリスクへの対策として、品質情報群をロボット に組込み、その情報の内容を確認してからロボットとの接続を判断する方式を考えた。 本来、ロボットの信用を示す情報である品質情報群をあらかじめ業界やシステム毎に定め、その ロボットが合致しているかどうかを認定する仕組みが必要である。しかしながら、今回の実証実験で は、認定する仕組みまでは踏み込まず、なんらかの品質情報群をロボットに埋め込み可能になっ たことを前提としている。すなわち、品質情報群の内容は実験用の値を作成して使うこととした。 6.2.2. 対処方法の実装 (1) ロボットへの品質情報群の埋め込み ロボットの品質情報群はそのロボット固有の情報として取得できる必要がある。新しいロボット では固有の情報はロボットの内部に格納可能だが、古いロボットでは、ロボットの内部に情報を 格納できるようになっていない。ORiN では、ロボット固有の情報を埋め込めるエリアを用意してい るため、今回の実証実験では、それを利用することにした。 (2) ロボットの品質情報群の確認 実証実験では、セルコントロールアプリの中のロボットとのコネクションを確立する部分に以下 の機能を追加した。 ① コネクション確立前にロボットの品質情報群を取得する。 ② 取得した品質情報群が想定した値であればコネクションを確立する。 ③ 品質情報群が想定した値でなければコンソールにエラーを表示し、ロボットとのコネ クションを確立せずにエラーで終了する。 上述のように、実証実験では実験用の品質情報群を使用し、品質情報群が信用できるもので あるかまでは確認していない。実験用の品質情報群の判定方法を以下に記載する。 ① ロボットのハードから得た識別情報(製造元、機種情報、製造番号等)が、ロボット固

(20)

20 有の情報を埋め込むエリアに格納されている品質情報群と一致しているかどうかを確 認。一致していなければエラー。 ② 品質情報群が要求を満たした値であるかチェックして、想定した値でなければエラー。

6.3. 実証実験の内容

実証実験では、品質情報群を確認する処理をセルコントロールアプリに組込み、ロボット固有 の情報を埋め込むエリアに品質情報群があるケースとないケースで結果を確認した。 (1)品質情報群を持たないロボットを接続したケース 実験手順を以下に示す。 図 12 品質情報群を持たないロボットを接続 セルコントロールアプリが、ロボットとのコネクションを確立する前に、ロボットの品質情報群 がロボットにも ORiN のロボット固有の情報を埋め込むエリアにも存在しないことを確認し、 エラーを出力してコネクションの確立を中止することを確かめる。

(21)

21 (2)品質情報群を持ったロボットを接続したケース 実験手順を以下に示す。 図 13 品質情報群を持つロボットを接続 品質情報群の確認処理を実装するにあたり、まず接続するロボットの品質情報群を作成し、 ロボット固有の情報を埋め込むエリアに組み込む。 図 14 ロボットの品質情報群を作成

(22)

22 図 15 ロボットの品質情報群を登録 セルコントロールアプリがロボットとのコネクション確立前に品質情報群を確認し、その結果 が正常であったことをログとコンソールで確認する。

6.4. 評価

6.4.1. ロボットの信用確認の評価 (1)品質情報群を持たないロボットを接続したケース セルコントロールアプリが、ロボットとのコネクションを確立する前に、ロボットの品質情報群が ロボットにも ORiN のロボット固有の情報を埋め込むエリアにも存在しないことを確認し、エラ ーを出力して、コネクションの確立を中止することが確認できた。

(23)

23

図 16 品質情報群の確認結果がエラーのケース (2)品質情報群を持ったロボットを接続したケース

セルコントロールアプリがロボットとのコネクション確立前に品質情報群を確認し、その結果 が正常であったことをログとコンソールで確認できた。

(24)

24 図 17 品質情報群の確認結果が正常のケース 6.4.2. 今後の課題 実証実験では、品質情報群として実験用に作成したものを使った。実際のシステムで品質 情報群を運用するにあたっては、その内容と運用方法について以下の検討が必要である。 (1)品質情報群の構造 メタ情報の記述方法 汎用部分と機器/システム固有部分 (2)認定方法 認定機関の識別方法 品質情報群の認定方法(デジタル証明書発行等)、真正性の保証方法 また、品質情報群を悪意をもった機器ベンダーによる他社の機器のなりすましへの対策 が必要である。 (3)品質情報群と機器固有のライブラリとの対応関係の保証 機器固有のライブラリの中の品質情報群の抜き取りや改竄への対策 (4)品質情報群と機器との対応関係の保証 アプリケーションがある機器の品質情報群を検証した後で別の機器に接続して しまうような状況の抑止 これらの対策の検討を課題としてあげておく。

(25)

25

7. おわりに

FA システムにも IoT の流れが広がりつつある中で、今まで十分に対応されてこなかったリスクへ の対策が必要になってくることを想定し、「つながる世界の開発指針」の[指針9]と[指針11]を適用 し、実現性と有効性について評価を行った。その結果、[指針9]の対策では、実際のシステムでの 性能要件に耐えうる方式で異常の波及防止の対策を実装できることを確認した。また、実際のシス テムで実装するにあたって必要となる課題として、異常検知と波及防止のスピードを更に高めるた めの対策と監視対象データの信頼性を保証するための対策の必要性を示した。[指針11]の対策 では、接続する機器の信用確認の方法の簡単な実装例を示し、実際のシステムに適用するにあた って対策が必要となるセキュリティ上の課題を示した。 今後は、今回の実証実験での結果と課題を踏まえ、FA の分野以外や複数の分野の IoT システ ムの連携において、対策検討とその実証を進めていく予定である。 ソフトウェア設計での安心・安全のための対策についてそれを検討して実装した例を示すことは、 対策案の検討の有効性と方向を確認する上で重要である。本実証実験での結果が「つながる世界 の開発指針」の活用の一助となり、IoT システムの安全・安心の向上に寄与することを期待したい。

謝辞

本実証実験にあたり、ご協力いただいた皆様に心から謝意を表する。 IPA 関係者一同 ORiN 協議会 関係者一同 機械振興協会 関係者一同

図  7  指示パラメーターの監視の頻度(時間間隔)
図  16  品質情報群の確認結果がエラーのケース

参照

関連したドキュメント

医学部附属病院は1月10日,医療事故防止に 関する研修会の一環として,東京電力株式会社

データベースには,1900 年以降に発生した 2 万 2 千件以上の世界中の大規模災 害の情報がある

第2 この指導指針が対象とする開発行為は、東京における自然の保護と回復に関する条例(平成12年東 京都条例第 216 号。以下「条例」という。)第 47

本報告書は、日本財団の 2016

次に、ニホンジカの捕獲に係る特例については、狩猟期間を、通常の11月15日~2月15日

バーチャルパワープラント構築実証事業のうち、「B.高度制御型ディマンドリスポンス実

バーチャルパワープラント構築実証事業のうち、 「B.高度制御型ディマンドリスポンス実

バーチャルパワープラント構築実証事業のうち、 「B.高度制御型ディマンドリスポンス実