以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(システム全体構成)
図1に、本発明の実施の形態における全体構成例を示す。本発明の実施の形態における構成は、各種のIoTデバイスを収容するIoTネットワークシステムである。図1には、従来からある通常のセキュリティレベルの通信システムと、重要インフラや重要生活機器を安全に接続できるセキュリティレベルの高い通信システムが示されており、本発明の実施の形態に係る通信システムは、セキュリティレベルの高いほうの通信システムである。
通常のセキュリティレベルの通信システムは、例えば脆弱性テスト未受検のIoTデバイス10、従来のネットワーク20(例:一般的なインターネット)、及び従来のクラウド30からなる。
一方、本発明の実施の形態に係る通信システムは、脆弱性テストに合格したセキュアIoTデバイス300、セキュアゲートウェイ100、ネットワーク安全管理システム400、セキュアゲートウェイ200、クラウド安全管理システム500を備える。また、当該通信システムにおいて、セキュアゲートウェイ100、ネットワーク安全管理システム400、及びセキュアゲートウェイ200は、安全なネットワーク600(以降、ネットワーク600)に接続され、セキュアゲートウェイ200とクラウド安全管理システム500は、安全なクラウド700(以降、クラウド700)に接続される。また、セキュアIoTデバイス300とセキュアゲートウェイ100との間は、有線又は無線によるLAN(Local Area Netwok)で接続される。
なお、ネットワーク600は、例えば、当該ネットワークにおける通信が、通信事業者独自の公開されていない通信手順及び/又は暗号化方式を使用して行われるような安全なネットワークである。ただし、ネットワーク600はこれに限られない。また、クラウド700は、例えば、当該クラウドにおける通信が、通信事業者独自の公開されていない通信手順及び/又は暗号化方式を使用して行われるようなクラウドである。ただし、クラウド700はこれに限られない。
本発明の実施の形態に係る通信システム(すなわち、セキュリティレベルの高い系統のネットワーク)に接続できるIoTデバイスは、図1に示されるとおり、脆弱性テストに合格したセキュリティレベルの高いセキュアIoTデバイス300であり、脆弱性テストに合格していない通常のIoTデバイス10は、当該通信システムに接続できない。このような接続拒否は、ネットワーク安全管理システム400の指示に基づくセキュアゲートウェイ100のアクセス制御により実現される。
図1には、各層の提供主体(IoT安全管理者750、通信事業者800、クラウド事業者900)が示されているが、これは一例に過ぎす、各層の提供主体は図示されたもの以外であってもよい。
また、図1には、セキュアIoTデバイス300、セキュアゲートウェイ100、セキュアゲートウェイ200、クラウド700がそれぞれ1つずつ示されているが、実際にはそれぞれ複数備えられる。図1は、複数の内の例を示しており、以下で説明する動作については、複数の装置のそれぞれにおいて実行されるものである。
本発明の実施の形態においては、各IoTデバイスのセキュリティレベル(脆弱性スコア)の判定及び登録は、通信事業者が認定する第三者機関(安全基準検定事業者)以外が実施できず、その情報を直接参照できるのは、その第三者機関が認める通信事業者のみとすることが想定される。
以下、本発明の実施の形態における通信システムを構成する各装置の機能構成例、動作概要を説明する。以下で説明する各機能部の動作は一例であり、各機能部の動作の詳細については、後にシーケンス図を参照して説明する。
なお、「セキュアゲートウェイ」が、IoTデバイス側のものか、それともクラウド側のものかを分かり易くするために、以下の説明において、IoTデバイス側のセキュアゲートウェイ100を端末側ゲートウェイ100と呼び、クラウド側のセキュアゲートウェイ200をクラウド側ゲートウェイ200と呼ぶ。ただし、端末側かクラウド側かを特定しない場合にはセキュアゲートウェイと呼ぶ。また、通常の(セキュアでない)IoTデバイスとセキュアIoTデバイスとを総称する場合には、「IoTデバイス」と呼ぶ。
(端末側ゲートウェイ100)
端末側ゲートウェイ100は、有線又は無線によりセキュアIoTデバイス300と通信するとともに、ネットワーク600を介してネットワーク安全管理システム400と通信を行う装置である。また、端末側ゲートウェイ100は、セキュアIoTデバイス300と、ネットワーク600との間で送受信されるパケットの中継を行う。また、端末側ゲートウェイ100は、配下のセキュアIoTデバイス300からのアクセスの制御を行う。
図2に、端末側ゲートウェイ100の機能構成図を示す。図2に示すように、端末側ゲートウェイ100は、通信部110、情報格納部120、製品情報取得部130、異常検知部140、及び制御部150を有する。
通信部110は、セキュアIoTデバイス100側及びネットワーク600側における通信(具体的には、パケットの送受信)を行う。通信部110は、無線通信機能と有線通信機能の両方を含み、無線による通信と有線による通信のどちらも実行することができる。情報格納部120は、各種の情報を格納する。
製品情報取得部130は、LANに接続されるIoTデバイスを自動的に認識し、認識したIoTデバイスから製品情報を取得し、取得した製品情報を通信部110を介してネットワーク安全管理システム400に通知する。
異常検知部140は、端末側ゲートウェイ100に接続されるセキュアIoTデバイス300から送信されるパケット、及び/又は、ネットワーク600から受信するセキュアIoTデバイス300宛てのパケットを解析し、異常検知を実施し、異常を検知した場合に異常に関する情報を通信部110を介してネットワーク安全管理システム400に通知する。制御部150は、ネットワーク安全管理システム400から各種のコマンドを通信部110を介して受信し、コマンドに応じた処理を実行する。
(クラウド側ゲートウェイ200)
クラウド側ゲートウェイ200は、ネットワーク600と、クラウド700との間でパケットの中継を行う装置である。
図3に、クラウド側ゲートウェイ200の機能構成図を示す。図3に示すように、クラウド側ゲートウェイ200は、通信部210、情報格納部220、及び制御部230を有する。
通信部210は、ネットワーク600側及びクラウド700側における通信(具体的には、パケットの送受信)を行う。通信部210は、無線通信機能と有線通信機能の両方を含み、無線による通信と有線による通信のどちらも実行することができる。
また、通信部210は、通信事業者が定める通信手順及びデータ形式を用いて、ネットワーク安全管理システム400との間の通信を実行するとともに、通信事業者が定める通信手順及びデータ形式を用いて、予め登録されたクラウド安全管理システム500との間の通信を実行する機能を含む。情報格納部220は各種の情報を格納する。なお、通信事業者が定める通信手順及びデータ形式は、固定的で不変なものではなく、例えば、暗号がハッカーによって破られた場合等に備えて、当該IoTシステムの運用開始後も通信事業者によって変更することが可能である。
制御部230は、通信部210により受信されるパケットのヘッダ等を調べることで、ノンセキュアな通信(例:端末側ゲートウェイ100を経由しない、送信元を特定できない通信)を識別し、当該通信を通信部210に遮断させる。
(セキュアIoTデバイス300)
セキュアIoTデバイス300は、例えばセンサやアクチュエータ等のデータを通信するIoT機器である。本発明の実施の形態においては、セキュアIoTデバイス300は、セキュリティの脆弱性を突いた攻撃を受ける可能性のある装置(例:プログラムを実行することにより動作する装置)であることを想定しているが、これに限られるわけではない。
また、セキュアIoTデバイス300は、単一のIoT機器に限らず、例えば自動車のように、複数のセンサやアクチュエータや機器を並列にまたは階層的に接続して搭載した装置であってもよい。この場合、自動車の部品である複数のセンサやアクチュエータや機器の各々もセキュアIoTデバイス300に該当する。
図4に、セキュアIoTデバイス300の機能構成図を示す。図4に示すように、セキュアIoTデバイス300は、通信部310、属性情報格納部320、ログ格納部330、異常検知部340、状態管理部350、制御部360を有する。なお、図4は、セキュアIoTデバイス300において、本発明の実施の形態に関わる機能のみを示しており、センサ機能等は示していない。
通信部310は、端末側ゲートウェイ100との間で通信(具体的には、パケットの送受信)を行う。
属性情報格納部320は、自身のセキュリティ脆弱性テスト判定結果を含む属性情報を格納する。なお、本発明の実施の形態では、セキュリティ脆弱性テスト判定結果は、脆弱性スコアである。当該属性情報格納部320は、例えば、セキュアIoTデバイス300におけるメモリにより実現されるが、当該属性情報格納部320に相当するメモリの領域は、ユーザによって読み出しや書き込みができないように防護することが可能であり、耐タンパ性を有する。
ログ格納部330は、セキュアIoTデバイス300自身の処理動作のログ、及び通信のログを格納する。
異常検知部340は、セキュアIoTデバイス300自身の処理動作、及び通信状態を常時監視し、異常を検知した場合に、例えば、通信事業者が定める通信手順で、端末側ゲートウェイ100に対して、検知した異常に関する情報(異常の発生源、種類、発生時刻等)を送信する。異常検知部340は、例えば、cron等の常駐プログラムで実現される。
状態管理部350は、セキュアIoTデバイス300自身の電源ON/OFF、リブート、動作モード、通信モード、ソフトウェアバージョン、設定パラメータ、脆弱性テスト結果スコア等を常時監視し、それらのうちのいずれかの変更を検知した場合に、例えば通信事業者が定める通信手順で、端末側ゲートウェイ100に対して、その情報(変更された項目とその値)を送信する。状態管理部350は、例えば、cron等の常駐プログラムで実現される。
制御部360は、通信事業者が定める通信手順で端末側ゲートウェイ100から要求を受けた場合に、属性情報格納部320に格納された属性情報を読み出し、当該属性情報を通信事業者が定める通信手順で送信する。また、制御部360は、通信事業者が定める通信手順で端末側ゲートウェイ100から要求を受けた場合に、ログ格納部330に格納されたログを読み出し、当該ログを通信事業者が定める通信手順で送信する。
(ネットワーク安全管理システム400)
ネットワーク安全管理システム400は、端末側ゲートウェイ100、ネットワーク600を構成するネットワーク機器、クラウド側ゲートウェイ200等から情報を収集し、収集した情報に基づいて、セキュリティ管理のための種々の判定及び制御を行う装置である。ネットワーク安全管理システム400は、1つの装置(コンピュータ)であってもよいし、複数の装置の集合体であってもよい。また、ネットワーク安全管理システム400を「制御装置」と呼んでもよい。
図5に、ネットワーク安全管理システム400の機能構成図を示す。図5に示すように、ネットワーク安全管理システム400は、通信部410、認証部420、情報格納部430、情報取得部440、脆弱性判定部450、異常処理部460、制御部470を有する。
通信部410は、ネットワーク600との間でパケットの送受信を行う。認証部420は、セキュアゲートウェイの認証を行う。
情報格納部430は、端末側ゲートウェイ100、クラウド側ゲートウェイ200、セキュアIoTデバイス300、ネットワーク600等から収集された情報を格納する。情報取得部440は、端末側ゲートウェイ100、クラウド側ゲートウェイ200、セキュアIoTデバイス300、ネットワーク600等から情報を収集する。
脆弱性判定部450は、端末側ゲートウェイ100、クラウド側ゲートウェイ200、セキュアIoTデバイス300のそれぞれの装置について、セキュリティ脆弱性テスト判定結果の値(脆弱性スコア)に基づいて、当該装置が、当該IoTシステムの利用目的や提供条件や利用者の要求等に応じて通信事業者により予め定められたセキュリティレベルに達しているかどうかを判定する。また、脆弱性判定部450は、端末側ゲートウェイ100、クラウド側ゲートウェイ200、セキュアIoTデバイス300、ネットワーク600等から収集された異常検知の情報に基づいて、当該装置のリスクレベルの判定を行い、当該装置が通信事業者により予め定められたセキュリティレベルに達しているかどうかを判定する基準(例:当該装置のリスクレベルを表すパラメータの値)及び判定結果を随時変更可能とする機能も含む。
異常処理部460は、異常を検知した場合に、異常に応じた処理(データ解析、異常原因解消処理等)を実行する。また、異常処理部460は、ネットワーク600内を流れるパケットを監視することにより、異常検知を行うこともできる。また、制御部470は、種々のコマンド送信、他システムへの情報送信等を行う。
(クラウド安全管理システム500)
クラウド安全管理システム500は、ネットワーク安全管理システム400等から受信する情報等に基づいて、クラウド側でのセキュリティ管理のための種々の判定及び制御を行う装置である。クラウド安全管理システム500は、1つの装置(コンピュータ)であってもよいし、複数の装置の集合体であってもよい。
図6に、クラウド安全管理システム500の機能構成図を示す。図6に示すように、クラウド安全管理システム500は、通信部510、情報格納部520、制御部530を有する。
通信部510は、クラウド700を構成するネットワークとの間でパケットの送受信を行う。特に、通信部510は、通信事業者が定める通信手順により、ネットワーク安全管理システム400からの異常発生通知の情報を受信する。情報格納部520は、ネットワーク安全管理システム400から受信した情報等を格納する。
制御部530には、アプリケーションの種類や当該IoTシステムの利用目的、提供条件、利用者の要求等に応じて、IoTネットワークシステムに求めるセキュリティレベルが設定されている。制御部530は、設定されているセキュリティレベルと、異常発生通知の内容(セキュリティリスクレベル、対象範囲等)に応じて、異常が発生したネットワークとのIoTデータの通信の遮断、クラウド上のハードウェア(VM)やソフトウェアの動作モードの変更、クラウド上のハードウェア(VM)やソフトウェアの動作の停止/再開等を実行する。
また、制御部530は、クラウド700内の異常(マルウェア感染、設定ミスや不具合による異常通信等)を検知する機能も有しており、当該異常を検知した際に、異常の種類や発生箇所、復旧予定時刻等を、通信事業者のネットワーク安全管理システム400に通知する。
なお、前述したように、クラウドとして複数のクラウドが存在し、各クラウドは、クラウド独自のアプリケーションを提供する。クラウド安全管理システム500は、これら複数のクラウドを管理し、各クラウドのアプリケーションの種類や当該IoTシステムの利用目的、提供条件、利用者の要求等に応じたセキュリティレベルに基づく制御を実行する。
(ハードウェア構成例)
上述した各装置(端末側ゲートウェイ100、クラウド側ゲートウェイ200、セキュアIoTデバイス300、ネットワーク安全管理システム400、クラウド安全管理システム500)はいずれも、コンピュータに、本発明の実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、当該装置が有する機能は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図7は、上記装置のハードウェア構成例を示す図である。図7の装置は、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、及び入力装置1007等を有する。なお、端末側ゲートウェイ100、クラウド側ゲートウェイ200、及びセキュアIoTデバイス300においては、表示装置1006及び入力装置1007を備えないこととしてもよい。
当該装置での処理を実現するプログラムは、例えば、CD−ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。
表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
(通信システムの動作例)
以下、上述した構成を備える通信システムの動作例をシーケンス図(図8〜図10)を参照して説明する。以下の説明において、図2〜図6で説明した各装置の機能部の名称を適宜使用する。
図8を参照して初期接続時の動作例を説明する。なお、ここでは図8の動作を初期接続時の動作として説明しているが、初期接続の後の運用中の状態でも図8の動作(例えば、脆弱性スコアの取得、及び、脆弱性スコアに基づくアクセス判定、アクセス制御)が行われることとしてもよい。
例えば、端末側ゲートウェイ100がネットワーク600に接続されると、端末側ゲートウェイ100の通信部110は、自身の認証情報(例:ID、パスワード、型番等の属性情報)をネットワーク安全管理システム400に送信する(S101)。
ネットワーク安全管理システム400の情報格納部430には、上記認証情報を含む契約者情報あるいはゲートウェイ情報が格納されている。ネットワーク安全管理システム400の認証部420は、端末側ゲートウェイ100から受信した認証情報と、情報格納部430に格納されている情報とを照合することにより、端末側ゲートウェイ100を認証し、端末側ゲートウェイ100のネットワーク600への接続可否を判断する(S102)。ここでは、認証に成功し、接続が許可されたものとする。
端末側ゲートウェイ100には、有線又は無線のLANによりセキュアIoTデバイス300が接続される。
セキュアIoTデバイス300は、自身の属性情報(例:製造責任者、製品名、型番、バージョン、製造ロット番号、設定パラメータ値、動作モード、動作状態、セキュリティ脆弱性テスト判定結果、セキュリティ脆弱性テスト実施者及び受検者等)をユーザが書き込みできない領域である属性情報格納部320に保持している。
なお、端末側ゲートウェイ100(クラウド側ゲートウェイ200も同様)においても、自身の属性情報(例:製造責任者、製品名、型番、バージョン、製造ロット番号、設定パラメータ値、動作モード、動作状態、セキュリティ脆弱性テスト判定結果、セキュリティ脆弱性テスト実施者及び受検者等)をユーザが読み書きできない領域(情報格納部120における一部の領域)に保持している。
上記のセキュリティ脆弱性テスト判定結果について説明する。本発明の実施の形態では、各セキュアIoTデバイス(端末側ゲートウェイ100、クラウド側ゲートウェイ200も同様)は、第三者機関(例:ドイツのテュフ、米国のULのような安全認証機関)によってその脆弱性(セキュリティの脆弱性、安全性)のテストが行われることを想定している。脆弱性についてのテスト項目は、例えば、ソフトウェアとハードウェアのそれぞれについて複数あり、第三者機関による各テスト項目のテストにより、各テスト項目についての脆弱性スコアが付けられる。また、各テスト項目のテスト結果に基づき、セキュアIoTデバイスの総合的な脆弱性スコアが決定されてもよい。以下、「脆弱性スコア」といった場合、特に断らない限り、各テスト項目に該当する複数の脆弱性スコアと、総合的な脆弱性スコアの両方の意味を含む総称であるとする。また、「脆弱性スコア」は、数値であってもよいし、合否判定結果を表す情報(例:NG、OK)であってもよいし、その他の形態の情報であってもよい。
第三者機関によって決定されたセキュアIoTデバイス300の脆弱性スコアは、例えば第三者機関により、第三者機関によって定められた手順で、ユーザが書き込みできない領域である属性情報格納部320に暗号化された状態で書き込まれる。
脆弱性スコアは、例えば、セキュアIoTデバイス(物理的な装置)を、第三者機関の場所に持っていくことにより、脆弱性のテストが行われ、その結果が書き込まれることとしてもよいし、セキュアIoTデバイスは本来の場所にあり、遠隔で(ネットワーク経由で)、第三者機関から書き込まれることとしてもよい。遠隔の場合、例えば、セキュアIoTデバイスのソフトウェアコンフィギュレーション情報、ハードウェアコンフィギュレーション情報等が第三者機関に送信され、第三者機関において脆弱性スコアが決定され、セキュアIoTデバイスに書き込まれる。
端末側ゲートウェイ100の製品情報取得部120は、端末側ゲートウェイ100に接続されるセキュアIoTデバイス300の製品情報(前述した属性情報であり、製造責任者、製品名、型番、バージョン、製造ロット番号、設定パラメータ値、動作モード、動作状態、セキュリティ脆弱性テスト判定結果、セキュリティ脆弱性テスト実施者及び受検者等)をセキュアIoTデバイス300からLANを経由して自動的に取得し、情報格納部120に保持する(S103)。ここでは、取得の過程で要求が端末側ゲートウェイ100の製品情報取得部120からセキュアIoTデバイス300に通信事業者が定める通信手順で送られ、セキュアIoTデバイス300の制御部360は、通信事業者が定める通信手順で製品情報を送信する。
ネットワーク安全管理システム400の情報取得部440(制御部470でもよい)は、端末側ゲートウェイ100に対して通信事業者が定める手順で情報リクエストのコマンドを送信する(S104)。当該コマンドを受信した端末側ゲートウェイ100において、制御部150は、当該コマンドに基づいて、端末側ゲートウェイ100自身の情報(製造責任者、製品名、型番、バージョン、製造ロット番号、設定パラメータ値、動作モード、動作状態、セキュリティ脆弱性テスト判定結果等)と、端末側ゲートウェイ100に接続されているセキュアIoTデバイス300の情報(製造責任者、製品名、型番、バージョン、製造ロット番号、設定パラメータ値、動作モード、動作状態、セキュリティ脆弱性テスト判定結果等)を、通信事業者が定める通信手順と暗号化方式により、ネットワーク安全管理システム400に送信する(S105)。
ネットワーク安全管理システム400の情報取得部440は、端末側ゲートウェイ100から上記の情報を受信し、受信した情報を情報格納部430に格納(登録)する(S106)。
なお、本発明の実施の形態において、セキュアゲートウェイとネットワーク安全管理システム400との間の通信手順は、サイバー戦争時等における各国の通信安全保障のため、全ての階層を標準化して全ての通信事業者に公開するのではなく、国際標準のフレームワークの上に、各国・地域又は各通信事業者が定める独自の方式(暗号化方式、コマンドパラメータ値等)を載せて、各国・地域又は各通信事業者の独自の非公開の通信手順とすることが想定される。また、セキュアゲートウェイ内の通信モジュールを、国・地域別に異なる仕様にし非公開とすることで、他国の通信事業者やクラウド事業者等からの干渉や介入を防ぐことができる。ただし、このように通信手順等を定めることは一例である。
続いて、ネットワーク安全管理システム400の脆弱性判定部450は、端末側ゲートウェイ100から取得したセキュアIoTデバイス300の脆弱性スコアと、端末側ゲートウェイ100の脆弱性スコアのそれぞれを情報格納部430から読み出す。そして、脆弱性判定部450は、端末側ゲートウェイ100とセキュアIoTデバイス300のぞれぞれについて、脆弱性スコアに基づいて、通信事業者が定めるセキュリティレベルに達しているかどうかを判定する(S107)。その判定を行う際、当該IoTシステム上のサイバー攻撃の発生状況等に応じて当該端末側ゲートウェイ100及び当該セキュアIoTデバイス300のリスクレベルを見直して再設定することも可能とするために、端末側ゲートウェイ100の異常検知部140から通知される異常発生情報等を判定基準のパラメータとして用いてもよい。例えば、端末側ゲートウェイ100の異常検知部140から通知される異常発生情報の直近所定時間内の総件数がある閾値以上である場合に、脆弱性判定の基準を厳しくすることが考えられる。例えば、脆弱性スコアが大きいほど脆弱であることを示す場合において、異常発生がほとんどない状態では、脆弱性スコアがX以下で通信OKと判定し、異常発生が多い状態では、脆弱性スコアがY(YはXより小さい)以下で通信OKと判定する。なお、端末側ゲートウェイ100とセキュアIoTデバイス300の両方についての判定を行ってもよいし、端末側ゲートウェイ100及びセキュアIoTデバイス300のうちの1つについての判定を行ってもよい。
端末側ゲートウェイ100とセキュアIoTデバイス300のぞれぞれについて、判定の結果、合格であれば、通信OKの判定フラグを、失格であれば通信NGの判定フラグを、ネットワーク安全管理システム400の情報格納部430、及び、端末側ゲートウェイ10の中の情報格納部120に書き込む(S108)。なお、この判定フラグの書き込み処理は、一度しか実施できないものではなく、例えば、通信異常検知部140から通知される異常発生情報等に基づいて脆弱性判定部450が判定結果を変更した場合等に判定フラグを修正し、その修正履歴を保持しておくことも可能である。
一例として、脆弱性スコアが大きいほど脆弱であることを示す場合において、特定のセキュアIoTデバイス300の総合的な脆弱性スコアが所定の閾値以上である場合に、脆弱性判定部450は、当該セキュアIoTデバイス300をネットワーク600にアクセスさせないと判定し、セキュアIoTデバイス300についての通信NGの判定フラグ(アクセス制御指示)を端末側ゲートウェイ100に送信する。この指示を受けた端末側ゲートウェイ100の制御部150は、セキュアIoTデバイス300から送信されたパケットを拒否する等のアクセス制御を実行する。
また、自動車のように、複数のセキュアIoTデバイスを備える装置の場合には、例えば、自動車全体の総合的な脆弱性スコアと、自動車を構成する各セキュアIoTデバイスの総合的な脆弱性スコアとが、ネットワーク安全管理システム400の情報格納部430において階層的に管理される。そして、例えば、脆弱性判定部450は、自動車全体の総合的な脆弱性スコアが閾値未満で安全であると判定しても、自動車を構成する特定のセキュアIoTデバイスの総合的な脆弱性スコアが閾値以上である場合には、当該セキュアIoTデバイスの脆弱性を突いた自動車全体の制御系への攻撃の可能性があると判断し、当該自動車によるネットワーク600へのアクセスを不可とする指示を端末側ゲートウェイ100に送信する。
なお、上記の方法でアクセス制御を行うことは一例に過ぎない。例えば、下記の方法でアクセス制御を行うこととしてもよい。以下、アクセス制御についての変形例1、変形例2を説明する。
変形例1では、例えばネットワーク600上に、製品情報と脆弱性スコアとの対応関係を保持するサーバが備えられる。あるいは、セキュアIoTデバイスの種別やメーカ毎に、製品情報と脆弱性スコアとの対応関係を保持するサーバが備えられることとしてもよい。これらのサーバを情報サーバと呼ぶ。ここでの製品情報は、例えば、製造責任者、製品名、型番、バージョン、製造ロット番号、設定パラメータ値、動作モード、動作状態、ソフトウェアコンフィギュレーション情報、ハードウェアコンフィギュレーション情報等のうちのいずれか1つ又はいずれか複数である。また、変形例1では、セキュアIoTデバイス300内には脆弱性スコアを含まない製品情報が格納されていることを想定している。
変形例1において、端末側ゲートウェイ100の製品情報取得部130は、図8のS103と同様に、製品情報をセキュアIoTデバイス300から取得する。そして、図8のS104、S105と同様に、当該製品情報はネットワーク安全管理システム400に送信される。
そして、ネットワーク安全管理システム400の脆弱性判定部450は、端末側ゲートウェイ100から受信した上記製品情報を情報サーバに送信することにより、当該製品情報を持つセキュアIoTデバイス300の脆弱性スコアを問い合わせる。脆弱性判定部450は、情報サーバから脆弱性スコアを受信し、当該脆弱性スコアに基づきセキュアIoTデバイス300のセキュリティレベルの判定を行い、アクセス制御を実行する。判定とアクセス制御については図8のS107、S108において既に説明したとおりである。
次に、変形例2を説明する。変形例2では、ネットワーク安全管理システム400の情報格納部430に、製品情報と脆弱性スコアとの対応関係が保持される。ここでの製品情報は変形例1と同様であり、例えば、製造責任者、製品名、型番、バージョン、製造ロット番号、設定パラメータ値、動作モード、動作状態、ソフトウェアコンフィギュレーション情報、ハードウェアコンフィギュレーション情報等のうちのいずれか1つ又はいずれか複数である。また、変形例2でも、セキュアIoTデバイス300内には脆弱性スコアを含まない製品情報が格納されていることを想定している。
変形例2において、端末側ゲートウェイ100の製品情報取得部130は、図8のS103と同様に、製品情報をセキュアIoTデバイス300から取得する。そして、図8のS104、S105と同様に、当該製品情報はネットワーク安全管理システム400に送信される。
そして、ネットワーク安全管理システム400の脆弱性判定部450は、端末側ゲートウェイ100から受信した上記製品情報と、情報格納部430に格納された対応関係とに基づいて、セキュアIoTデバイス300の脆弱性スコアを取得する。脆弱性判定部450は、当該脆弱性スコアに基づきセキュアIoTデバイス300のセキュリティレベルの判定を行い、アクセス制御を実行する。判定とアクセス制御については図8のS107、S108において既に説明したとおりである。
次に、通信状態における通信システムの動作例を図9のシーケンス図を参照して説明する。
セキュアIoTデバイス300は、順次パケットを送信する(S201)。端末側ゲートウェイ100における異常検知部140は、セキュアIoTデバイス300から受信したパケットを解析し、例えば、ホワイトリスト、機械学習、アノマリ検知等の技術を使用して異常検知を実施する(S202)。異常が検知された場合、異常検知部140は、ネットワーク安全管理システム400へ、通信事業者が定める通信手順と暗号化方式を用いて異常に関する情報(例:種類、発生時刻等)を通知する(S203)。なお、当該通知動作とともに、あるいは、当該通知動作とは別に、異常検知部140は、セキュアIoTデバイス300自身により検知された異常の情報をセキュアIoTデバイス300から取得し、当該異常検知情報をS203においてネットワーク安全管理システム400に通知してもよい。
ネットワーク安全管理システム400の異常処理部460は、端末側ゲートウェイ100から送信される異常検知情報を受信し、当該異常検知情報を情報格納部430に書き込む。そして、異常処理部460は、当該異常検知情報に基づいて、端末側ゲートウェイ100のリスクレベルを判定する。例えば、異常処理部460は、例えば、異常の種類、異常発生総件数、異常発生開始日時等に基づきリスクレベルを判定する(S204)。
より具体的には、例えば、異常処理部460は、特定のセキュアIoTデバイス300における、特定の種類の異常の発生件数が所定の閾値以上であることを検知した場合に、当該セキュアIoTデバイス300のリスクレベルを高い値に設定する。また、例えば、端末側ゲートウェイ100配下のセキュアIoTデバイス全体の異常発生件数が所定の閾値以上である場合に、当該端末側ゲートウェイ100のリスクレベルを高い値に設定する。
異常処理部460(制御部470でもよい)は、判定したリスクレベルに応じて(例:リスクレベルの値がある閾値以上である場合に)、端末側ゲートウェイ100に対し、特定のセキュアIoTデバイス300との通信(送信/受信)、あるいは、全てのセキュアIoTデバイスとの通信(送信/受信)を一時停止するコマンドを、通信事業者が定める通信手順により送信するとともに、通信事業者のネットワーク安全管理者にその情報を通知する(S205)。
上記のコマンドを受信した端末側ゲートウェイ100において、制御部150が、コマンドに基づき、特定のセキュアIoTデバイス300等との通信の一時停止(一時的な遮断)等のアクセス制御を実行する。
ネットワーク安全管理システム400の異常処理部460は、ネットワーク600内を流れるパケットを監視して、ネットワークの異常判定(図9でのS204)を行う機能も有する。
例えば、異常処理部460は、異常な通信として、DDoS攻撃、悪性サイトへの通信、端末側ゲートウェイ100(あるいはクラウド側ゲートウェイ200)に不正侵入を試みる通信等を検知する。例えば、異常処理部460は、端末側ゲートウェイ100についての異常を検知すると、ネットワーク安全管理システム400の情報格納部430における、端末側ゲートウェイ100の通信OKフラグをNGに書き換える。そして、異常処理部460は、端末側ゲートウェイ100に対し、IoTデータの通信を一時停止するコマンドを送信し、通信事業者のネットワーク安全管理者にその情報を通知する(例:図9のS205)。ただし、この場合、セキュアゲートウェイとネットワーク安全管理システム400との間の暗号通信チャネルは遮断しない。
ネットワーク安全管理システム400の制御部470は、セキュアIoTデバイス300等の異常を検知した(通知された)場合において、端末側ゲートウェイ100に対して、配下のセキュアIoTデバイス300及び端末側ゲートウェイ100のログ(例:通信ログ、動作ログ)、及び設定情報等の送信を要求するコマンドを送信する(S206)。
端末側ゲートウェイ100の制御部150は、当該コマンドに基づき、セキュアIoTデバイス300に対してログ等の要求を通信事業者が定める通信手順で送信する(S207)。
セキュアIoTデバイス300における制御部360は、自身が行った動作及び通信のログを、通信事業者が定める形式で、ユーザ(例:システム安全管理責任者)が設定する任意の期間分、ユーザが指定する領域(ログ格納部330)に記録している。そして、制御部360は、上記の要求を端末側ゲートウェイ100から受信すると、記録したログ、及び設定情報等を端末側ゲートウェイ100に送信する(S208)。
また、端末側ゲートウェイ100の制御部150は、自身が行った動作及び通信のログを情報格納部120に記録している。端末側ゲートウェイ100の制御部150は、S208でセキュアIoTデバイス300から受信した情報(ログ、設定情報等)と、自身の情報(ログ、設定情報等)をネットワーク安全管理システム400に送信する(S209)。また、端末側ゲートウェイ100の制御部150は、修復/交換されたセキュアIoTデバイスの最新情報を収集し、当該情報をネットワーク安全管理システム400に送信することとしてもよい。
上記の情報を受信したネットワーク安全管理システム400において、異常処理部460が、受信した情報を解析して、異常発生箇所・異常発生原因を推定し、通信事業者のネットワーク安全管理者に通知する(S210)。
その後、例えば、ネットワーク安全管理システム400は、通信事業者のネットワーク安全管理者から異常解消に関する指示を受信する。ネットワーク安全管理システム400の異常処理部460は、通信事業者のネットワーク安全管理者からの指示に基づき、異常の原因を解消するための手段(例:セキュアIoTデバイスのソフトウェアバージョンアップ、設定パラメータ変更、強制終了等)を実施するコマンドとデータを端末側ゲートウェイ100に対して送信する(S211)。
端末側ゲートウェイ100の制御部150は、受信したコマンドを実行することにより、上述した手段を実行し(S212)、実行結果を取得し(S213)、それをネットワーク安全管理システム400に送信する(S214)。ネットワーク安全管理システム400の異常処理部460は、当該実行結果を確認する(S215)。例えば、端末側ゲートウェイ100の制御部150は、異常の原因が解消されたことを示す情報(例:第三者機関による脆弱性テストで安全性が確認された最新バージョンのソフトウェアへのバージョンアップにより、脆弱性スコアが改善されたことを示す情報)を端末側ゲートウェイ100から受信した場合には、ネットワーク安全管理システム400内の情報格納部430に最新情報を追記し、該当の装置(例:セキュアIoTデバイス300)の通信NGフラグを通信OKに変更する。
なお、ネットワーク安全管理システム400における上述した各機能を通信事業者の内部又は外部の者に悪用されることを防ぐために、当該各機能を、通信事業者が管理するネットワーク設備オペレーションシステム(例:SD−WAN/SD−LANのトラフィック制御、通信経路変更、セキュリティ機能配置等を司るオーケストレーター等)からのみ操作できる通信事業者社内専用API等の形で提供することとしてもよい。
次に、クラウド安全管理システム500に関わる動作例を図10を参照して説明する。クライド安全管理システム500は、通信事業者が定める通信手順により、ネットワーク安全管理システム400からの異常発生通知の情報を受信し、情報格納部520に格納する(S301)。
情報格納部520には、クラウド毎に、当該クラウドのアプリケーションの種類や当該IoTシステムの利用目的、提供条件、利用者の要求等に応じて、IoTネットワークシステムにおいて求められるセキュリティレベルが格納されている。
クラウド安全管理システム500の制御部530は、ネットワーク安全管理システム400から受信する異常発生通知の情報に基づいて、その内容(セキュリティリスクレベル、対象範囲等)に応じて、IoTデータの通信の遮断、クラウド上のハードウェア(VM)やソフトウェアの動作モードの変更、動作停止(異常が終了した場合は再開)等を実行する。
例えば、クラウド安全管理システム500の制御部530は、異常発生通知の内容により、IoTネットワークシステムのセキュリティレベルが、特定のクラウド(例:図1のクラウド700)が必要とするセキュリティレベルよりも低下したことを検知すると、当該クラウド700と、ネットワーク600との間の通信を遮断する通信制御コマンドをクラウド側ゲートウェイ200に送信し、通信を遮断させる(図10のS302)。この通信を遮断させる処理は、完全に自動で実施してもよいし、人(例:クラウド安全管理者等)が判断した上で手動により通信制御コマンドを送信するようにしてもよい。
また、制御部530は、クラウド内の異常(マルウェア感染、設定ミスや不具合による異常通信等)を検知する機能を有しており、当該異常を検知した場合には、異常の種類や発生箇所、復旧予定時刻等を、通信事業者のネットワーク安全管理システム400に通知する(S303)。
(実施の形態の効果等)
本発明の実施の形態に係る技術により、IoTのネットワークを管理する通信事業者が、つながるデバイスの種類やソフトウェアのバージョン、セキュリティ脆弱性テストの合否(脆弱性スコア)、改ざんやすり替えの有無、異常の発生状況等をネットワーク上で一元的に集中管理し、サイバー攻撃などによる異常や障がいが発生した場合の被害を最小化することが可能である。また、これらの情報を各国の通信事業者およびクラウドサービス事業者の間で共有することで、セキュリティリスクの高い「野良IoT端末」(セキュリティ脆弱性テストを受けておらず、ソフトウェアのバージョンが不明で、管理者が不明確の端末)を排除し、第三者機関によって一定の安全性が認定されたハードウェアとソフトウェアで構成される、重要インフラ/重要生活機器向けのセキュアなIoTネットワーク&クラウドサービスを提供することが可能になる。
それにより、例えば、ライフラインにかかわる重要な設備をつなぐIoTのセキュリティマネジメントにかかる社会的なコストを低減することができ、国際的なサイバーテロによる被害や激甚災害等有事の際に世界各国の通信事業者が異常の発生箇所や原因や対処方法に関する情報を迅速に共有し応急措置と復旧にかかる時間を短縮して、IoTシステムの停止による産業界の事業機会損失や生活者の生活水準低下の影響を抑制することが可能となる。
また、IoTシステムを構成するハードウェアとソフトウェアの安全性(セキュリティ脆弱性)のレベル(第三者機関による認定テストの合否結果やスコア)を、ベンダーやSI事業者やクラウド事業者やユーザーやテロリストによって上書き・改ざんされることなく、第三者機関と、各国政府によって特別な権限を与えられた通信事業者のみによって管理・共有することが可能となり、各国の国家安全保障や国防のレベルを高めることができる。
また、IoTを構成するハード・ソフトの製造責任者・製品名・型番・バージョン・製造ロット番号・設定パラメータ値等を、例えば各種デバイスのICチップ上の上書き不能なセキュア領域や、ソフトウェアモジュールに組み込む暗号化データ格納領域などに、非公開の(安全認証機関と通信事業者だけが知っている)通信手順と暗号方式で読み書きして一元的に管理することができるため、改ざんやなりすまし等による撹乱のリスクを最小限に抑えることができる。
すなわち、本発明の実施の形態により、重要インフラや重要生活機器につながるIoTシステムのセキュリティ管理にかかる社会全体のコストを軽減することができる。また、サイバーテロ発生時に、各国の政府(警察・軍)が自国の通信事業者に対して非常時の応急措置(安全性が確認できないハード/ソフトからの通信遮断など)や、被害箇所の特定、原因の解析、犯人の追跡、復旧などを指示命令すれば、それらの対応を迅速に行うことができるため、サイバー攻撃による社会的な被害を最小限に抑えることができる。また、一般的に通信事業者は、国防上の観点や社会の安定性確保の観点から、各国の法律によって管理・規制され事業活動の内容が国民に開示されているため、本発明の仕組みを通信事業者が管理することにより、本発明の仕組みが、国民が知らない間に特定の営利企業や犯罪集団などの手に渡り、重要インフラや重要生活機器の安全が脅かされてしまうリスクを抑制することができる。
(実施の形態のまとめ)
以上、説明したように、本発明の実施の形態によれば、端末とネットワークとの間のゲートウェイと、制御装置とを備える通信システムであって、前記制御装置は、前記端末の脆弱性スコアに基づいて、前記端末の前記ネットワークへのアクセス可否を判定し、前記ゲートウェイは、前記判定の結果に基づいて、前記端末からのアクセスの制御を実行することを特徴とする通信システムが提供される。
前記脆弱性スコアは、例えば、前記端末から取得された情報、又は、前記端末の製品情報と脆弱性スコアとの対応関係に基づき取得された情報である。また、前記ゲートウェイは、前記端末における異常に関する情報を前記制御装置に通知し、前記制御装置は、前記異常に関する情報に基づいて、前記ゲートウェイに対し、前記端末からのアクセスの制御を実行させることとしてもよい。
また、本発明の実施の形態によれば、端末とネットワークとの間のゲートウェイと、制御装置とを備える通信システムにおいて実行される通信制御方法であって、前記制御装置が、前記端末の脆弱性スコアに基づいて、前記端末の前記ネットワークへのアクセス可否を判定するステップと、前記ゲートウェイが、前記判定の結果に基づいて、前記端末からのアクセスの制御を実行するステップとを備えることを特徴とする通信制御方法が提供される。
また、本発明の実施の形態によれば、端末とネットワークとの間のゲートウェイと、制御装置とを備える通信システムにおける前記制御装置であって、前記端末から取得された脆弱性スコア、又は、前記端末の製品情報と脆弱性スコアとの対応関係に基づき取得された脆弱性スコアに基づいて、前記端末の前記ネットワークへのアクセス可否を判定する手段と、前記判定の結果に基づいて、前記ゲートウェイに対して、前記端末からのアクセスの制御を指示する手段とを備えることを特徴とする制御装置が提供される。
また、本発明の実施の形態によれば、端末とネットワークとの間のゲートウェイと、制御装置とを備える通信システムにおける前記ゲートウェイであって、前記端末から製品情報を取得し、当該製品情報を前記制御装置に送信する手段と、前記製品情報を用いて前記制御装置において実行されたアクセス可否判定に基づいて、前記制御装置から前記端末からのアクセスの制御の指示を受信し、当該指示に応じて、前記端末からのアクセスの制御を実行する手段とを備えることを特徴とするゲートウェイが提供される。
また、本発明の実施の形態によれば、コンピュータを、前記制御装置における各手段として機能させるためのプログラムが提供され、コンピュータを、前記ゲートウェイにおける各手段として機能させるためのプログラムが提供される。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。