(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024074630
(43)【公開日】2024-05-31
(54)【発明の名称】情報処理装置および通信システム
(51)【国際特許分類】
H04L 41/0803 20220101AFI20240524BHJP
【FI】
H04L41/0803
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022185915
(22)【出願日】2022-11-21
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】畠中 一成
(57)【要約】
【課題】 遠隔で通信設定の変更を確実に実施できる情報処理装置および通信システムを提供する。
【解決手段】 実施形態によれば、情報処理装置は、通信部と制御部とを有する。通信部は、ネットワークを介して通信管理装置と通信する。制御部は、通信部により通信管理装置から通信部の設定の変更情報を受信した場合に通信部の設定を示す現在の設定情報を保持し、変更情報に基づく設定を適用した通信部による通信が成功すれば通信部の設定を変更情報に基づく設定に変更し、変更情報に基づく設定を適用した通信部による通信が成功しなければ通信部の設定を現在の設定情報に基づく設定とする。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ネットワーク通信を行う情報処理装置において、
前記ネットワークを介して通信管理装置と通信する通信部と、
前記通信部により前記通信管理装置から前記通信部の設定の変更情報を受信した場合に前記通信部の設定を示す現在の設定情報を保持し、前記通信部の設定を前記変更情報に基づいて変更し、前記変更情報に基づく設定を適用した通信部による前記通信管理装置との通信し、前記変更情報に基づく設定を適用した通信部による通信が成功しなければ前記通信部の設定を前記現在の設定情報に基づいて変更する制御部と、
を有する情報処理装置。
【請求項2】
前記制御部は、前記通信部の設定を前記変更情報に基づく設定に変更したあと、前記変更情報に基づく設定を適用した通信部による前記通信管理装置との通信を所定時間内で試行し、前記通信管理装置との所定時間内での通信が成功しなければ前記通信部を前記現在の設定情報に基づく設定とする、
請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、前記変更情報に基づく設定を適用した通信部による前記通信管理装置との通信が成功しなければ前記通信管理装置へ前記変更情報に基づく設定の変更に失敗した旨を通知する、
請求項1に記載の情報処理装置。
【請求項4】
さらに、前記通信部により前記通信管理装置からの前記変更情報を受信した場合の前記通信部の設定を示す現在の設定情報を保存する一時記憶部を有し、
前記制御部は、前記一時記憶部に現在の設定情報を保存した状態で前記通信部の設定を前記変更情報に基づいて変更し、前記変更情報に基づいて設定を変更した前記通信部による通信が成功しなければ前記一時記憶部が保存する現在の設定情報に基づいて前記通信部の設定を変更前の状態に戻す、
請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記制御部は、前記変更情報に基づいて設定を変更した前記通信部による前記通信管理装置との通信が成功した場合、又は、前記通信部の設定を前記現在の設定情報に基づいて変更した場合、前記一時記憶部が保存する現在の設定情報を削除する、
請求項4に記載の情報処理装置。
【請求項6】
前記制御部は、前記通信部により通信管理装置から受信した前記通信部の設定の変更情報に基づいて設定された仮想通信部を構築し、前記仮想通信部による前記通信管理装置との通信が成功した場合に前記仮想通信部の設定を前記通信部に反映する、
請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項7】
前記制御部は、前記仮想通信部の設定を前記通信部に反映した場合、又は、前記仮想通信部による前記通信管理装置との通信が成功しなかった場合、前記仮想通信部を削除する、
請求項6に記載の情報処理装置。
【請求項8】
情報処理装置と通信管理装置とを含む通信システムにおいて、
前記情報処理装置は、
ネットワークに接続する通信部と、
前記通信部により前記通信管理装置から前記通信部の設定の変更情報を受信した場合に前記通信部の設定を示す現在の設定情報を保持し、前記通信部の設定を前記変更情報に基づいて変更し、前記変更情報に基づく設定を適用した通信部による前記通信管理装置との通信し、前記変更情報に基づく設定を適用した通信部による通信が成功しなければ前記通信部の設定を前記現在の設定情報に基づいて変更する第1の制御部と、を有し、
前記通信管理装置は、
前記ネットワークを介して前記情報処理装置と通信するNW通信部と、
前記NW通信部により通信する前記情報処理装置に前記通信部の設定の変更情報を送信する第2の制御部と、を有する、
通信システム。
【請求項9】
前記通信管理装置は、さらに、前記情報処理装置における前記通信部の設定内容を示す通信設定情報を記憶する記憶部を有し、
前記通信管理装置の前記第2の制御部は、前記情報処理装置が前記通信部の設定を前記変更情報に基づく設定に変更した場合に前記記憶部に記憶する前記情報処理装置の前記通信部の通信設定情報を前記変更情報に基づいて更新する、
請求項8に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置および通信システムに関する。
【背景技術】
【0002】
近年、IoT技術を活用して様々なデバイスをネットワークにつなげるシステムが提案されている。例えば、工場、発電所あるいは鉄道などで運転や点検時の様々な稼働データを収集してAI(人工知能)にて分析することによって事前に故障の兆候などを検知する予防保全や設備の効率運用を実現するための通信システムが提案されている。
【0003】
このような通信システムを新たに構築するには、様々なデータをネットワーク経由で収集する必要があるために、既存の独自ネットワーク内で運用していたシステムをオープンなネットワークにつなげる必要性が生じることがある。既存の独自ネットワークで運用していたシステムをオープンなネットワークに接続する場合、不正なアクセスに対応するために、新たにオープンなネットワークに接続するデバイス自体にセキュリティ対策を組み込むことでセキュリティを強化することが考えられる。ただし、既に稼働している既存のデバイスに変更を加えることは、デバイス自体の取り替えなどの必要が生じるためコストや可用性の点で実現困難な場合が多い。
【0004】
従来、既存のデバイスに変更を加えずに通信経路の機密性および完全性を担保するために、既存のデバイスとネットワークとの間に接続される情報処理装置が開発されている。このような情報処理装置は、デバイスにおける通信の振る舞いを観察することによりデバイスへの攻撃やウイルス感染などを検知した場合に攻撃者の通信を遮断する機能を備えている。
【0005】
しかしながら、従来の情報処理装置は、ネットワーク越しでネットワーク設定を通信管理装置から変更することができない。そのため、従来の情報処理装置は、ネットワーク設定を変更するたびに現地に赴く必要があり、手間がかかっている。また、情報処理装置がネットワーク経由で管理システムから受信する設定情報によってネットワーク設定を変更すると、ネットワーク設定に不具合があれば、情報処理装置と管理システムとの通信が全くできなくなってしまうという問題がある。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、遠隔で通信設定の変更を確実に実施できる情報処理装置および通信システムを提供することである。
【課題を解決するための手段】
【0008】
実施形態によれば、情報処理装置は、通信部と制御部とを有する。通信部は、ネットワークを介して通信管理装置と通信する。制御部は、通信部により通信管理装置から通信部の設定の変更情報を受信した場合に通信部の設定を示す現在の設定情報を保持し、変更情報に基づく設定を適用した通信部による通信が成功すれば通信部の設定を変更情報に基づく設定に変更し、変更情報に基づく設定を適用した通信部による通信が成功しなければ通信部の設定を現在の設定情報に基づく設定とする。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る通信システムの構成例を示す図である。
【
図2】
図2は、実施形態に係る通信システムにおける情報処理装置の構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る情報処理装置に装着されるICカードの構成例を示すブロック図である。
【
図4】
図4は、実施形態に係る情報処理装置に装着されるICカードにおける機能の構成例としてのICカードのハードウェア構成例を示す図である。
【
図5】
図5は、実施形態に係る通信制御装置における認証部の構成例としてのCカードにおける機能構成例を示すブロック図である。
【
図6】
図6は、実施形態に係る通信システムにおけるIoTデバイス(端末装置)とサーバ装置との間における通信制御の流れを説明するためのシーケンスである。
【
図7】
図7は、実施形態に係る通信システムの情報処理装置による第1の設定変更処理を説明するためのフローチャートである。
【
図8】
図8は、実施形態に係る通信システムの情報処理装置による第2の設定変更処理の概要を説明するための図である。
【
図9】
図9は、実施形態に係る通信システムの情報処理装置による第2の設定変更処理を説明するためのフローチャートである。
【
図10】
図10は、実施形態に係る通信システムの他の構成例を説明するための図である。
【発明を実施するための形態】
【0010】
以下、実施形態について、図面を参照して説明する。
図1は、実施形態に係る情報処理装置13を有する通信システムの構成例を示す図である。
通信システム1は、IoTデバイス(端末装置)11(11)、サーバ装置12、情報処理装置13(13A、13B)、通信管理装置14、およびゲートウエイ17を備える。
図1に示す構成例においては、ゲートウエイ17およびネットワーク18をまとめてネットワークNWとも称するものとする。
【0011】
通信システム1において、各情報処理装置13は、既存の通信システムに接続されることが想定される。すなわち、各情報処理装置13は、IoTデバイス11、サーバ装置12、通信管理装置14、およびゲートウエイ17を備える既存のシステムにおいて
図1に示すような位置に接続される。
【0012】
各情報処理装置13は、既存のシステムを各装置の構成を変更せずに可用性を維持したままで通信システム1を構築するように設置される。情報処理装置13は、
図1に示すように、既存のシステムにおける通信経路に接続するための第1ポート(例えば、第1のLANポート)21と第2ポート(例えば、第2のLANポート)22とを備える。例えば、情報処理装置13は、第1ポート21Aをゲートウエイ17に接続し、第2ポート22AをIoTデバイス11に接続することにより、IoTデバイス11とゲートウエイ17との間に接続される。
【0013】
各IoTデバイス11は、それぞれに接続されるデバイス側の情報処理装置13Aを介してネットワークNWと接続する。サーバ装置12は、サーバ側の情報処理装置13Bを介してネットワークNWと接続する。すなわち、各IoTデバイス11とサーバ装置12とは、それぞれに接続された情報処理装置13およびネットワークNWなどを介して通信するように構成される。
【0014】
IoTデバイス11は、様々なデータを取得するデバイス(端末装置、クライアント端末)である。例えば、IoTデバイス11は、センサなどでデータを取得するデバイスであっても良いし、オペレータが入力するデータを取得するデバイスであっても良い。IoTデバイス11は、取得したなデータをサーバ装置12へ送信する。また、IoTデバイス11は、サーバ装置12の制御情報に応じて動作を制御する機能を有するものであっても良い。
【0015】
サーバ装置12は、IoTデバイス11が取得したデータを収集する。例えば、サーバ装置12は、各IoTデバイス11から収集したデータを管理したり分析したりする。また、サーバ装置12は、IoTデバイス11に対して制御情報を送信するようにしても良い。
【0016】
デバイス側の情報処理装置13Aは、IoTデバイス11とネットワークNWのゲートウエイ17との間に接続される。デバイス側の情報処理装置13Aは、それぞれネットワークNW側のインターフェース接続部としての第1ポート21Aとデバイス側のインターフェース接続部としての第2ポート22Aとを有する。第1ポート21Aおよび第2ポート22Aは、例えば、LANポートである。
図1に示す構成例において、第1ポート21Aには、ゲートウエイ17が接続され、第2ポート22Aには、それぞれIoTデバイス11Aが接続される。
【0017】
デバイス側の情報処理装置13Aは、IoTデバイス11とサーバ装置12との間の通信を仲介する。情報処理装置13Aは、IoTデバイス11によりサーバ装置12に対して送信されるデータを取得し、取得したデータをサーバ装置12に対して出力する。ここで、情報処理装置13Aは、サーバ装置12に対してデータを送信する際に、IoTデバイス11から取得したデータを暗号化し、暗号化したデータをサーバ装置12に対して送信する。
【0018】
また、情報処理装置13Aは、サーバ装置12によりIoTデバイス11に対して送信されるデータを取得し、取得したデータをIoTデバイス11に対して出力する。ここで、情報処理装置13Aが取得するデータは暗号化されたデータである。情報処理装置13Aは、IoTデバイス11にデータを出力する際に、サーバ装置12からサーバ側の情報処理装置13Bを介して取得したデータを復号し、復号したデータをIoTデバイス11に出力する。
【0019】
さらに、デバイス側の情報処理装置13Aは、ゲートウエイ17を介してデバイス側の他の情報処理装置13Aと通信可能な構成を備えるようにしても良い。この場合、デバイス側の各情報処理装置13Aは、それぞれに設定される通信許可設定に従ってデバイス側の他の情報処理装置13Aとの通信の可否が設定されるようにしても良い。
【0020】
サーバ側の情報処理装置13Bは、サーバ装置12とネットワークNWとの間に接続される。サーバ側の情報処理装置13Bは、ネットワークNW側のインターフェース接続部としての第1ポート21Bとサーバ側のインターフェース接続部としての第2ポート22Bとを有する。第1ポート21Bには、ネットワーク18が接続され、第2ポート22Bには、サーバ装置12が接続される。
【0021】
サーバ側の情報処理装置13Bは、各IoTデバイス11とサーバ装置12との間の通信を仲介する。サーバ側の情報処理装置13Bは、サーバ装置12によりIoTデバイス11に対して送信されるデータを取得し、取得したデータをIoTデバイス11に対して送信する。ここで、サーバ側の情報処理装置13Bは、IoTデバイス11に対してデータを送信する際に、サーバ装置12から取得したデータを暗号化し、暗号化したデータをIoTデバイス11に対して送信する。
【0022】
また、サーバ側の情報処理装置13Bは、IoTデバイス11によりサーバ装置12に対して送信されるデータを取得し、取得したデータをサーバ装置12に対して出力する。ここで、サーバ側の情報処理装置13Bが取得するデータは暗号化されたデータである。サーバ側の情報処理装置13Bは、サーバ装置12にデータを出力する際に、IoTデバイス11からデバイス側の情報処理装置13Aを介して取得したデータを復号し、復号したデータをサーバ装置12に出力する。
【0023】
各情報処理装置13(13A、13B)は、例えば、SSL(Secure Socket Layer)/TLS(Trans port Layer Security)のプロトコルによる暗号化を実行する。デバイス側の情報処理装置13Aおよびサーバ側の情報処理装置13Bは、例えば、SSL/TLSプロトコルを、HTTP(Hypertext Transfer Protocol)と組み合わせることで、HTTPに含まれるデータを暗号化し、安全性を向上させたHTTPS(HTTP Secure)に置き換える。
【0024】
なお、デバイス側の情報処理装置13Aおよびサーバ側の情報処理装置13Bが行うデータの暗号化は、HTTPをHTTPSとすることに限定されない。デバイス側の情報処理装置13Aおよびサーバ側の情報処理装置13Bは、SSL/TLSプロトコルを種々の通信プロトコルと組み合わせることにより、安全性を向上させたセキュアな通信プロトコルに置き換えてもよい。例えば、デバイス側の情報処理装置13Aおよびサーバ側の情報処理装置13Bは、FTP(File Transfer Protocol)をFTPS(FTP Secure)に置き換えてもよい。
【0025】
通信システム1において、デバイス側の情報処理装置13A又はサーバ側の情報処理装置13Bにより暗号化されたデータがネットワークNWに出力される。換言すると、通信システム1におけるネットワークNWを流れるデータは、暗号化されたデータである。このため、ネットワークNWで送受信されるデータに対し、外部から悪意をもってアクセスされデータが盗聴されてしまうような危険を回避し、安全性を向上させる。なお、ここでいうデータの盗聴とは、「データを盗み見る行為」又は「データを抜き取る行為」をいう。
【0026】
通信管理装置14は、デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとを用いた通信を管理するためのサーバ装置である。例えば、通信管理装置14は、プライベート認証局としても機能する。通信管理装置14は、各情報処理装置13に対し、クライアント証明書および秘密鍵を発行する。
【0027】
図1に示す構成例において、通信管理装置14は、情報処理装置13に装着するICカードに記憶するクライアント証明書および秘密鍵を発行する。デバイス側の情報処理装置13Aに認証部およびセキュアな記憶部を備えるICカードが装着される場合、通信管理装置14は、情報処理装置13Aに対してICカードに記憶させるクライアント証明書および秘密鍵をネットワークNWを介して送信する。
【0028】
また、通信管理装置14は、サーバ側の情報処理装置13Bに対して、サーバ証明書、および秘密鍵を発行する。サーバ側の情報処理装置13Bに認証部およびセキュアな記憶部を備えるICカードが装着される場合、通信管理装置14は、サーバ側の情報処理装置13Bに対してICカードに記憶させるサーバ証明書および秘密鍵をネットワークNWを介して送信する。クライアント証明書、サーバ証明書および秘密鍵のそれぞれは、デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとが暗号化通信を行う場合に用いる共通鍵(セッション鍵)を決定するために必要な情報である。
【0029】
ここで、IoTデバイス11およびサーバ装置12の例について説明する。
IoTデバイス11とサーバ装置12とは、例えば、社会インフラシステムを構築する構成要素(コンポーネント)である。社会インフラとは、道路交通網、発電設備、配送電設備、水処理設備、又はガス配給設備等などの社会基盤を整えるために必要な設備である。社会インフラシステムとは、例えば、社会インフラを監視し、状況の変化を把握し、その変化に対応することにより、社会インフラを安定的に動作させる仕組みである。
【0030】
具体例として、道路や公共設備などを映像で監視する監視システムである場合、IoTデバイス11は、道路の状況等を監視するために撮像された撮像データをネットワークNWを介して送信する装置(ネットワーク監視カメラ)であり、サーバ装置12は、IoTデバイス11により送信された撮像データをネットワークNWを介して受信する装置である。また、IoTデバイス11とサーバ装置12とは、発電設備や配送電設備における電力状況をモニタリングするシステムのコンポーネントであっても良い。また、IoTデバイス11とサーバ装置12とは、物流センタにおける配送状況を取得するシステムのコンポーネントであっても良い。また、IoTデバイス11とサーバ装置12とは、工場や研究機関における設備の稼働状況を取得するシステム等のコンポーネントであっても良い。
【0031】
なお、監視システムやモニタリングシステムなどの社会インフラシステムは、IoTデバイス11とサーバ装置12をコンポーネントとする通信システムの例であり、IoTデバイス11とサーバ装置12は、社会インフラシステムのコンポーネントに限定されるものではない。
【0032】
IoTデバイス11は、NW(ネットワーク)通信部、デバイス制御部およびデータ取得部を有する。NW通信部は、データ通信を行うための通信インターフェースである。NW通信部は、ネットワークを介して外部装置と通信可能とするイーサネット(登録商標)などの通信インターフェースである。言い換えると、IoTデバイス11は、NW通信部によりネットワークに接続される装置と通信可能な構成を備えるデバイスである。
【0033】
本実施形態に係る通信システム1においては、IoTデバイス11のNW通信部は、情報処理装置13に接続され、情報処理装置13を介してネットワークNWに接続されるサーバ装置12と通信する構成となっている。すなわち、本実施形態に係る通信システム1は、IoTデバイス11とサーバ装置12とがネットワークを介して通信可能に構成される既存のシステムに対して、後付でIoTデバイス11とネットワークNWとの間に情報処理装置13Aを接続し、サーバ装置12とネットワークNWとの間に情報処理装置13Bを接続することで構築できるシステムである。
【0034】
デバイス制御部は、例えば、CPUなどを含むプロセッサであり、IoTデバイス11を統括的に制御する。デバイス制御部は、例えば、サーバ装置12からの制御に従い、データ取得部によるデータの取得を開始又は停止させたり、データ取得部に対する動作設定などを実行したりする。データ取得部は、デバイス制御部の指示に従って動作することにより、データを取得し、取得したデータを制御部に出力する。デバイス制御部は、データ取得部で取得したデータをNW通信部により送信(出力)する。
【0035】
本実施形態に係る通信システム1においては、IoTデバイス11のNW通信部は、情報処理装置13に接続される。このため、各IoTデバイス11は、情報処理装置13を介してデータの入出力を行う。例えば、IoTデバイス11は、デバイス側の情報処理装置13A、ネットワークNW、および、サーバ側の情報処理装置13Bを介してサーバ装置12と通信する。
【0036】
サーバ装置12は、NW(ネットワーク)通信部、サーバ制御部およびデータ記憶部などを備える。NW通信部は、データ通信を行うための通信インターフェースである。NW通信部は、ネットワークを介して外部装置と通信可能とするイーサネット(登録商標)などの通信インターフェースである。言い換えると、サーバ装置12は、NW通信部によりネットワークに接続される装置と通信可能な構成を備える装置である。
【0037】
本実施形態に係る通信システム1においては、サーバ装置12のNW通信部は、情報処理装置13Bに接続され、情報処理装置13Bを介してネットワークNWに接続される機器と通信する構成となっている。すなわち、本実施形態に係る通信システム1は、IoTデバイス11とサーバ装置12とがネットワークを介して通信可能に構成される既存のシステムに対して、後付でサーバ装置12とネットワークとの間に情報処理装置13Bを接続することで構築できるシステムである。
【0038】
サーバ制御部は、例えば、CPUなどを含むプロセッサであり、サーバ装置を統括的に制御する。サーバ制御部は、例えば、NW通信部により各IoTデバイス11からデータを取得し、IoTデバイス11から取得したデータをデータ記憶部に記憶させる。データ記憶部は、サーバ制御部の指示に従い、IoTデバイス11から取得したデータを記憶する。また、サーバ制御部は、NW通信部により通信する各IoTデバイス11に動作指示などの制御命令を出力したりする。
【0039】
次に、IoTデバイス11とサーバ装置12との間の通信について説明する。
一般に、通信機能を有するIoTデバイス(クライアント端末、通信デバイス)とサーバ装置とが互いのNW通信部およびネットワークを介して接続された場合、IoTデバイスとサーバ装置との間の通信には、一般的な通信プロトコルであるHTTPが用いられることがある。この場合、通信デバイス又はサーバ装置によりネットワークに出力された暗号化されていない情報(いわゆる、平文)がネットワークを流れる。この場合、外部から悪意をもってネットワーク上のデータが取得されてしまうと、容易にデータが盗聴されたり、改ざんされたりする危険性がある。このような不正な攻撃に対する対策としては、通信デバイスがデータを暗号化してネットワークに出力させることが考えられる。
【0040】
しかしながら、既存のシステムに用いられている既存のIoTデバイス(クライアント端末)は、暗号化のための処理を行うだけの資源(リソース)を備えていないことが多い。例えば、IoTデバイスの一例としての監視カメラは、撮像データの圧縮や符号化を行うためのCPU等のプロセッサを備えるが、さらに暗号化のための処理を行うだけのリソースを備えていないことが多い。従って、既存のシステムにおいて、IoTデバイスがネットワークに出力するデータを暗号化させるためには、データを暗号化するためのプロセッサをさらにIoTデバイスに搭載させる必要があり、IoTデバイスのハードウェア構成の変更や置き換えが必要となることが考えられる。監視システム等の社会インフラシステムを構成するコンポーネントとしての既存のIoTデバイスは、ハードウェア構成を変更したり置き換えたりすることが容易にはできない。
【0041】
上述したような事情を鑑みると、既存のIoTデバイスに変更を加えることなく、IoTデバイスからのデータが暗号化されてネットワークNWに伝送されるように構成できる通信システムが望ましい。本実施形態に係る通信システム1は、既存のシステムにおける既存のIoTデバイスにハードウェア構成を変更したり既存のIoTデバイスを新たなIoTデバイスに置き換えたりすることなく、既存のIoTデバイスおよびサーバ装置に情報処理装置を接続することでデータを安全に伝送できるものである。
【0042】
すなわち、通信システム1において、IoTデバイス11とネットワークNWとの間に接続された情報処理装置13はIoTデバイス11がサーバ装置12宛に送信するデータを暗号化してネットワークNWに出力する。また、通信システム1において、サーバ装置12とネットワークNWとの間に接続されたサーバ側の情報処理装置13Bはサーバ装置12からのIoTデバイス11宛の制御データなどのデータを暗号化してネットワークNWに出力する。これにより、本実施形態に係る通信システム1によれば、IoTデバイス11およびサーバ装置12を変更することなく、ネットワークNWを流れるデータの安全性を向上できる。
【0043】
次に、実施形態に係る情報処理装置13(13A、13B)の構成について説明する。
図2は、
図1に示す情報処理装置13(13A、13B)の構成例を示すブロック図である。
図2に示すように、情報処理装置13(13A、13B)は、制御部30、第1通信部31、第2通信部32、リーダライタ33、ICカード34、および、記憶部35を備える。ここで、リーダライタ33、および、ICカード34は、「認証部」の一例である。認証部は、リーダライタ33およびICカード34で実現するものに限定されない。認証部は、制御部30が実現しても良いし、認証処理用の処理回路で実現しても良い。
【0044】
制御部30は、例えば、CPUなどを含むプロセッサを有する。制御部30は、情報処理装置13(13A、13B)を統括的に制御する。制御部30は、例えば、リーダライタ33を介して、ICカード34にコマンドを送信するとともに、ICカード34からレスポンスを受信する。また、制御部30は、ICカード34から受信したレスポンスに基づく情報を、第1通信部31を介して、他方の情報処理装置13(13A、13B)に送信する。また、制御部30は、第1通信部31を介して、他方の情報処理装置13(13A、13B)から受信した情報に基づいて、ICカード34にコマンドを送信する。
【0045】
記憶部35は、データを記憶する。記憶部35は、データの書き込むおよび書き換えが可能な記憶装置などにより構成される。記憶部35は、RAM(Random Access Memory)などの一時記憶部35aを有する。また、記憶部35は、データの書き換えが可能な不揮発性の記憶装置を含むものであっても良い。
【0046】
第1通信部31は、ネットワークNWを介して接続される各装置と通信するためのネットワーク通信部である。第1通信部31は、ネットワークNWに接続される第1ポート21(21A、21B)を備える。第1通信部31は、例えば、NIC(Network Interface Card)により構成される。例えば、情報処理装置13Aは、第1通信部31によりネットワークNWを介して、通信管理装置14と通信したり、サーバ側の情報処理装置13Bと通信したりする。
【0047】
具体的には、デバイス側の情報処理装置13Aの第1通信部31は、第1ポート21Aに接続されるゲートウエイ17からのデータを取得するとともに、サーバ装置12宛のデータを暗号化してゲートウエイ17を介してネットワーク18へ出力する。また、サーバ側の情報処理装置13Bの第1通信部31は、第1ポート21Bに接続されるネットワーク18からの暗号化されたデータを取得するとともに、取得したデータを復号してサーバ装置12へ出力する。
【0048】
第2通信部32は、端末装置としてのIoTデバイス11又はサーバ装置12と通信するためのデバイス通信部である。第2通信部32は、通信を実行する端末装置(IoTデバイス11、又はサーバ装置12)に接続される第2ポート22(22A、22B)を備える。例えば、第2通信部32は、NIC(Network Interface Card)により構成される。
【0049】
具体的には、デバイス側の情報処理装置13Aの第2通信部32は、第2ポート22Aに接続されるIoTデバイス11としてのカメラからの撮像データを取得するとともに、復号された制御データをIoTデバイス11に出力する。また、サーバ側の情報処理装置13Bの第2通信部32は、第2ポート22Bに接続されるサーバ装置12からの制御データを取得するとともに、復号された撮像データをサーバ装置12に出力する。
【0050】
また、本実施形態に係る情報処理装置13は、通信管理装置14による通信許可の設定が有効になったことが確認された後に、IoTデバイス11と第2通信部32とを通信可能な状態にするようにしても良い。すなわち、第1通信部31は、ネットワークNWを介して通信管理装置14と通信するためにリンクアップされる。第2通信部32は、第1通信部31がネットワークNWを介して通信管理装置14にリンクアップされ、当該情報処理装置13Aにおける通信許可の設定が有効となったことが確認された後、第2ポート22Aを介してIoTデバイス11にリンクアップされるようにしても良い。
【0051】
リーダライタ33は、ICカード34との間の通信を行う。リーダライタ33は、ICカード34の通信方式に対応するインターフェースを備える。ICカード34が接触式のICカードである場合、リーダライタ33は、
図2に示すように、ICカード34のコンタクト部に接続するインターフェースを備え、インターフェースを介してデータの送受信を行う。
【0052】
ICカード34は、例えば、プラスチックのカード基材に、ICモジュール40を実装して形成されている。ICカード34は、ICモジュール40とICモジュール40が埋め込まれたカード基材(本体)とを備える。
図2に示す構成例において、ICカード34は、情報処理装置13(13A、13B)のリーダライタ33に着脱可能に構成される。ICカード34は、リーダライタ33に装着された状態でコンタクト部41を介して情報処理装置13(13A、13B)と通信する。
【0053】
ICカード34は、例えば、情報処理装置13(13A、13B)が送信したコマンド(処理要求)をコンタクト部41を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。ICカード34は、コマンド処理の実行結果であるレスポンス(処理応答)を情報処理装置13(13A、13B)にコンタクト部41を介して送信する。
【0054】
ICモジュール40は、コンタクト部41とICチップ42とを備える。コンタクト部41は、ICカード34が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを情報処理装置13(13A、13B)から供給を受ける端子、および、情報処理装置13(13A、13B)と通信するためのシリアルデ―タ入出力端子(SIO端子)を有する。ICチップ42は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
【0055】
ここで、実施形態に係る情報処理装置13が備える認証部の構成例としてのICカード34のハードウェア構成について説明する。
図3は、
図2に示すICカード34のハードウェア構成例を示す図である。
ICカード34は、コンタクト部41とICチップ42とを備えたICモジュール40を有する。ICチップ42は、
図3に示すように、UART(Universal Asynchronous Recei ver Transmitter)43、CPU44と、ROM(Read Only Memory)45、RAM(Random Access Memory)46、および、EEPROM(登録商標)(Electrically Erasable Programmable ROM)47を備える。また、各構成(43から47)は、内部バスBSを介して接続されている。
【0056】
UART43は、上述したSIO端子を介して、情報処理装置13(13A、13B)とシリアルデータ通信を行う。UART43は、SIO端子を介して受信したシリアルデータ信号をパラレル変換したデータ(例えば、1バイトのデータ)を内部バスBSに出力する。また、UART43は、内部バスBSを介して取得したデータをシリアル変換して、SIO端子を介して情報処理装置13(13A、13B)に出力する。UART43は、例えば、SIO端子を介してコマンドを情報処理装置13(13A、13B)から受信する。また、UART43は、SIO端子を介してレスポンスを情報処理装置13(13A、13B)に送信する。
【0057】
CPU44は、ROM45又はEEPROM47に記憶されているプログラムを実行して、ICカード34の各種処理を行う。CPU44は、例えば、コンタクト部41を介して、UART43が受信したコマンドに応じたコマンド処理を実行する。
【0058】
ROM45は、例えば、マスクROMなどの不揮発性メモリであり、ICカード34の各種処理を実行するためのプログラム、およびコマンドテーブルなどのデータを記憶する。RAM46は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード34の各種処理を行う際に利用されるデータを一時記憶する。EEPROM47は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM47は、ICカード34が利用する各種データを記憶する。EEPROM47は、例えば、ICカード34を利用した各種サービス(アプリケーション)に使用される情報を記憶する。
【0059】
次に、実施形態に係る情報処理装置13における認証部の構成例としてのICカード34が備える機能について説明する。
図4は、
図3に示すICカード34の機能構成例を示すブロック図である。ICカード34は、通信部50と、制御部51と、記憶部54とを備える。ここで、
図4に示されるICカード34の各部は、
図3に示されるICカード34のハードウェアを用いて実現される。
【0060】
通信部50は、コンタクト部41を介して、情報処理装置13(13A、13B)との間でコマンドおよびレスポンスの送受信を行う。通信部50は、CPU44がROM45に記憶されているプログラムを実行することによりUART43を用いてデータの送受信を実行する機能である。通信部50は、所定の処理を要求するコマンド(処理要求)を情報処理装置13(13A、13B)から受信するとともに、コマンドに対するレスポンス(処理応答)を情報処理装置13(13A、13B)に送信する。通信部50は、UART43を介して情報処理装置13(13A、13B)から受信した受信データをRAM46に記憶させる。また、通信部50は、RAM46に記憶されている送信データを、UART43を介して情報処理装置13(13A、13B)に送信する。
【0061】
制御部51は、ICカード34の動作を制御する。制御部51は、CPU44とRAM45とROM46又はEEPROM47とにより実現される。制御部51は、コマンド処理部52および暗号化復号部53を備える。ここで、コマンド処理部52が行う処理は、「認証処理」の一例である。また、暗号化復号部53が行う処理は、「暗号化復号処理」の一例である。
【0062】
コマンド処理部52は、各種コマンド処理を実行する。コマンド処理部52は、例えば、後述するHTTPSリクエストを要求するコマンド処理として、SSL/TLSハンドシェイクを行う。SSL/TLSハンドシェイクでは、暗号化された通信に必要な鍵情報等の交換、および通信先の装置との相互認証を行う。ここで、相互認証とは、デバイスが側の情報処理装置13Aとサーバ側の情報処理装置13Bとが通信を行う前に、互いに正当に認証された装置であることを相互に確認する処理である。
【0063】
暗号化復号部53は、データを暗号化する処理、および暗号化されたデータを復号する処理を実行する。暗号化復号部53は、通信部50を介して取得した装置(IoTデバイス11又はサーバ装置12)により出力されたデータを暗号化する。また、暗号化復号部53は、通信部50を介して取得したネットワークNWからの暗号化されたデータを復号する。
【0064】
記憶部54は、データを記憶する。記憶部54は、制御部51の制御によってデータのリードおよびライトが実行されるEEPROM47により実現される。記憶部54は、証明書情報記憶部55と秘密情報記憶部56とを有する。証明書情報記憶部55は、通信管理装置14が発行した装置(IoTデバイス11又はサーバ装置12)に対する証明書を記憶する。具体的には、情報処理装置13に装着されるICカード34の証明書情報記憶部55には、クライアント証明書を示す情報が記憶される。また、サーバ側の情報処理装置13Bに装着されるICカード34の証明書情報記憶部55には、サーバ証明書を示す情報が記憶される。
【0065】
秘密情報記憶部56は、通信管理装置14が発行した装置(IoTデバイス11又はサーバ装置12)に対する秘密鍵を記憶する。具体的には、情報処理装置13に装着されるICカード34の秘密情報記憶部56には、情報処理装置13に対して発行された秘密鍵を示す情報が記憶される。また、サーバ側の情報処理装置13Bに装着されるICカード34の証明書情報記憶部55には、サーバ側の情報処理装置13Bに対して発行された秘密鍵を示す情報が記憶される。
【0066】
次に、実施形態に係る通信システム1における通信管理装置14の構成について説明する。
図5は、
図1に示す通信管理装置14の構成例を示すブロック図である。
通信管理装置14は、NW(ネットワーク)通信部60、制御部61、および、記憶部62を備える。
NW通信部60は、ネットワークNWに接続され、ネットワークNWを介して、情報処理装置13(13A、13B)と通信を行う。
【0067】
制御部61は、例えば、CPUなどのプロセッサとROMおよびRAMなどのシステムメモリとを含む。制御部61は、プロセッサがシステムメモリなどの記憶部に記憶したプログラムを実行することにより種々の処理を実現する。制御部61は、通信管理装置14を統括的に制御する。制御部61は、情報処理装置13と他の装置との通信に用いるセキュリティ情報を管理する。例えば、制御部61は、主に情報処理装置13(13A、13B)の正当性を認めるプライベート認証局として動作する。
図6に示す例において、制御部61は、プロセッサがプログラムを実行することにより、鍵生成部71、証明書発行部72、証明書更新部73、証明書管理部74および管理部75としての機能を実現するための処理を実行する。
【0068】
鍵生成部71は、例えば、情報処理装置13(13A、13B)からの認証申請に基づいて、後述する証明書に含まれる公開鍵に対応する秘密鍵の発行を行う。
【0069】
証明書発行部72は、例えば、情報処理装置13(13A、13B)からの認証申請に基づいて、情報処理装置13(13A、13B)の正当性を認める証明書の発行を行う。証明書には、例えば、公開鍵と情報処理装置13(13A、13B)の所有者を示す情報とが含まれる。
【0070】
証明書更新部73は、有効期限が渡過した証明書に対して新たな有効期限を設定することにより、証明書の更新を行う。証明書更新部73は、例えば、情報処理装置13(13A、13B)からの更新申請に基づいて、当該情報処理装置13(13A、13B)に対して発行した証明書の有効期限を延長させた証明書を発行し、発行した証明書を情報処理装置13(13A、13B)に対して送信する。発行した証明書を示す情報が情報処理装置13(13A、13B)により受信され、情報処理装置13(13A、13B)のICカード34の証明書情報記憶部55に記憶されることで、情報処理装置13(13A、13B)の証明書の有効期限が延長される。
【0071】
証明書管理部74は、既に発行済みの証明書に対する管理を行う。証明書管理部74は、例えば、情報処理装置13(13A、13B)に装着されたICカード34の改ざん、又は盗難等により相互認証において互いの正当性が証明されない場合に、情報処理装置13(13A、13B)に対して発行した証明書を無効化する処理を行う。
【0072】
また、証明書管理部74は、情報処理装置13(13A、13B)からの問い合わせに基づいて、情報処理装置13(13A、13B)、および他の通信装置に対して発行した証明書が証明書発行部72により発行されたものか否か応答するようにしてもよい。また、証明書管理部74は、定期的に、発行済みの証明書が正当な情報処理装置13(13A、13B)に使用されているかを確認するようにしてもよい。
【0073】
管理部75は、情報処理装置13(13A、13B)を管理する。例えば、管理部75は、情報処理装置13(13A、13B)が行う相互認証を、ネットワークNWを介して遠隔制御する。
記憶部62は、例えば、不揮発性の記憶装置で構成される。記憶部62は、鍵情報記憶部81、証明書情報記憶部82および通信設定記憶部83を備える。鍵情報記憶部81は、例えば既に発行済みの公開鍵や秘密鍵を示す情報を記憶する。証明書情報記憶部82は、例えば既に発行済みの証明書を示す情報を記憶する。鍵情報記憶部81と証明書情報記憶部82とは、例えば、鍵生成部71が秘密鍵を発行する際、証明書発行部72が証明書を発行する際などに参照される。また、鍵情報記憶部81には、鍵生成部71が発行した秘密鍵を示す情報が記憶される。また、証明書情報記憶部82には、証明書発行部72が発行した証明書を示す情報が記憶される。
【0074】
通信設定記憶部83は、情報処理装置13に適用(設定)する通信設定を示す通信設定情報を記憶する。通信設定記憶部83が記憶する情報処理装置13の通信設定情報には、端末装置としてのIoTデバイス11との通信の可否を指定する通信許可設定を含むようにしても良い。また、制御部61は、通信設定記憶部83に記憶する通信設定情報を情報処理装置13からの要求に応じて供給するようにしても良い。例えば、制御部61は、情報処理装置13が起動した場合に情報処理装置13へ通信設定情報を供給するようにしても良い。
【0075】
次に、通信システム1における情報処理装置13Aおよび13Bを介したIoTデバイス11とサーバ装置12との通信処理について説明する。
図6は、通信システム1が行う処理の一例を示すシーケンスチャートである。
【0076】
IoTデバイス11は、データ(IoTデバイスが検出したデータや撮像したデータなど)をサーバ装置12に送信する場合、まずサーバ装置12に対するHTTPリクエストを送信する(ステップS1)。IoTデバイス11が送信したHTTPリクエストは、デバイス側の情報処理装置13(13A)により取得される(ステップS2)。
【0077】
デバイス側の情報処理装置13は、IoTデバイス11により送信されたHTTPリクエストを取得すると、サーバ側の情報処理装置13Bに対して、HTTPSのリクエスト(ClientHello)を送信する(ステップS3)。これにより、デバイス側の情報処理装置13とサーバ側の情報処理装置13Bとの間のハンドシェイクが開始される(ステップS4)。
【0078】
具体的には、デバイス側の情報処理装置13が送信するClientHelloには、例えば、TLSのバージョン、および通信に用いる暗号方式やアルゴリズムのリストを示す情報が含まれる。サーバ側の情報処理装置13Bは、ClientHelloに対する応答として、デバイス側の情報処理装置13に対しHTTPSのレスポンス(ServerHello)を送信する。サーバ側の情報処理装置13Bが送信するServerHelloには、例えばClientHelloで提示された選択肢の中でサーバ装置12が選択した情報が含まれる。換言すると、デバイス側の情報処理装置13からの提示に対し、サーバ側の情報処理装置13Bが選択を行うことで、通信における具体的な暗号化アルゴリズムが決定される。
【0079】
そして、サーバ側の情報処理装置13Bは、暗号化通信に用いる共通鍵に必要な情報を送る。共通鍵に必要な情報には、例えば、サーバ装置12に対して発行された公開鍵とその証明書を示す情報、およびIoTデバイス11の公開鍵とその証明書を送ることを要求する情報が含まれる。デバイス側の情報処理装置13Aは、サーバ側の情報処理装置13Bに対して、自装置に対して発行された公開鍵とその証明書、および暗号化通信に用いる共通鍵に必要な情報を送る。
【0080】
デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとの間の相互認証は、例えば次のように行われる。デバイス側の情報処理装置13Aは、今までに受信したServerHello等から署名を生成し、サーバ側の情報処理装置13Bに送信する。サーバ側の情報処理装置13Bは、デバイス側の情報処理装置13Aから受信した署名をデバイス側の情報処理装置13から受信した証明書に基づいて検証する。サーバ側の情報処理装置13Bは、検証が成功すると、その証明書が間違いなくデバイス側の情報処理装置13Aのものであると判定する。また、サーバ側の情報処理装置13Bは、今までに受信したClientHello等から署名を生成し、デバイス側の情報処理装置13Aに送信する。デバイス側の情報処理装置13Aは、サーバ側の情報処理装置13Bから受信した署名を、サーバ側の情報処理装置13Bから受信した証明書に基づいて検証する。デバイス側の情報処理装置13Aは、検証が成功すると、その証明書が間違いなくサーバ側の情報処理装置13Bのものであると判定する。
【0081】
デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとの間の相互認証が正しく行われると、デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとは、それぞれ暗号化に用いる共通鍵を生成して交換する。
【0082】
サーバ側の情報処理装置13Bから送付されたサーバ装置12に対して発行された公開鍵とその証明書が、デバイス側の情報処理装置13Aに許容される証明書であれば、サーバ側の情報処理装置13Bは、デバイス側の情報処理装置13Aから送付された公開鍵とその証明書が、サーバ側の情報処理装置13Bに許容される証明書であれば、ハンドシェイクを終了する。
【0083】
サーバ側の情報処理装置13Bは、デバイス側の情報処理装置13Aとのハンドシェイクが確立されると、サーバ装置12に対し、HTTPリクエストを送信する(ステップS5)。HTTPリクエストは、ステップS1においてIoTデバイス11から送信されるHTTPリクエストである。
【0084】
サーバ側の情報処理装置13Bにより送信されたHTTPリクエストは、サーバ装置12により受信される(ステップS6)。このとき、サーバ装置12は、IoTデバイス11からHTTPリクエストが要求されたと認識する。このため、サーバ装置12は、IoTデバイス11に対しするHTTPレスポンスを応答する(ステップS7)。サーバ装置12が送信したHTTPレスポンスは、サーバ側の情報処理装置13Bにより取得される(ステップS8)。
【0085】
サーバ側の情報処理装置13Bは、取得したサーバ装置12からのHTTPレスポンスを、ステップS4のハンドシェイクにおいて決定された共通鍵を用いて暗号化する(ステップS9)。サーバ側の情報処理装置13Bにより暗号化されたHTTPレスポンスは、ネットワークNWを介してデバイス側の情報処理装置13Aに受信される(ステップS10)。デバイス側の情報処理装置13Aは、受信したHTTPレスポンスを、共通鍵を用いて復号する(ステップS11)。デバイス側の情報処理装置13Aにより復号されたHTTPレスポンスは、IoTデバイス11に取得される(ステップS12)。IoTデバイス11は、復号されたHTTPレスポンスを受信する(ステップS13)。このとき、IoTデバイス11は、サーバ装置12からHTTPレスポンスが応答されたと認識する。このため、IoTデバイス11は、サーバ装置12に対し、データを送信する(ステップS14)。
【0086】
IoTデバイス11が送信した撮像データは、デバイス側の情報処理装置13Aにより取得される(ステップS15)。デバイス側の情報処理装置13Aは、IoTデバイス11により送信されたデータを、共通鍵を用いて暗号化する(ステップS16)。デバイス側の情報処理装置13Aにより暗号化されたデータは、ネットワークNWを介してサーバ側の情報処理装置13Bに受信される(ステップS17)。
【0087】
サーバ側の情報処理装置13Bは、受信したデータを、共通鍵を用いて復号する(ステップS18)。サーバ側の情報処理装置13Bにより復号されたデータは、サーバ装置12にとり取得される(ステップS19)。サーバ装置12は、復号されたデータを受信する(ステップS20)。このとき、サーバ装置12は、IoTデバイス11からのデータを受信したと認識する。
【0088】
なお、上記フローチャートのステップS4において、デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとの間の相互認証が正しく行われなかった場合、デバイス側の情報処理装置13Aは、通信先との通信を許可しない。具体的には、デバイス側の情報処理装置13Aは、通信先から送信された情報をIoTデバイス11に出力しない。相互認証が正しく行われなかった場合、通信先がサーバ側の情報処理装置13Bに見せかけた不正な通信装置である可能性があるためである。この場合、デバイス側の情報処理装置13Aは、例えば、相互認証が正しく行われなかった場合の通信記録を通信管理装置14に送信するようにしてもよい。これより、通信管理装置14は相互認証が正しく行われなかった場合の通信記録を取得することができ、管理下にあるデバイス側の情報処理装置13Aに対する不正な通信のパターンや頻度を把握することで、ネットワークの異常を監視することができる。
【0089】
また、デバイス側の情報処理装置13Aは、上記フローチャートのステップS4において行われるハンドシェイクにおいて相互認証の代わりにIoTデバイス11に対する通信を許可する通信機器の情報を示す送信先リストに基づいて、通信先との通信を許可するか否かを判定するようにしてもよい。送信先リストに示される通信機器の情報は、例えばURL(Uniform Resource Locator)である。デバイス側の情報処理装置13Aの制御部30は、通信先のURLが送信先リストに登録されているURLである場合に当該通信先との通信を許可し、送信先リストに登録されていない場合には通信を許可しない。
【0090】
また、制御部30は、送信先リストを更新するようにしてもよい。制御部30は、例えば、一定期間にIoTデバイス11に対する通信を許可された通信先のURL、および許可されなかった通信先URLを記憶させる。そして、制御部30は、例えば、送信先リストに登録されたURLのうち、一定期間に通信が行われた通信先のURLを再度登録する等することにより送信先リストを更新する。あるいは、デバイス側の情報処理装置13は、一定期間に通信を許可された通信先URL、および許可されなかった通信先URLを通信管理装置14に送信するようにしてもよい。この場合、例えば、通信管理装置14は、デバイス側の情報処理装置13Aと通信を行った通信先URLに基づいて、送信先リストを更新するようにしてもよい。通信管理装置14により送信先リストが更新されることで、通信管理装置14が管理下にあるデバイス側の情報処理装置13Aと通信する通信機器を一括して管理することができる。
【0091】
また、デバイス側の情報処理装置13Aは、ステップS4において行われるハンドシェイクが確立した後にIoTデバイス11に対して送信された情報(例えば、ファームウェアの更新プログラム)の内容が正しいか否かの検証を行うようにしてもよい。例えば、デバイス側の情報処理装置13Aの制御部30は、ネットワークNWを介してIoTデバイス11のファームウェアの更新プログラムが送信された場合、検証用の鍵(検証鍵)を用いて検証する。この場合、通信管理装置14は、例えば、デバイス側の情報処理装置13Aおよびサーバ側の情報処理装置13Bそれぞれに検証鍵を送信するようにしてもよい。
【0092】
例えば、サーバ側の情報処理装置13Bは、IoTデバイス11へ送信する情報(平文)からハッシュ値を生成し、生成したハッシュ値を検証鍵で暗号化する。そして、サーバ側の情報処理装置13Bは、平文と暗号化したハッシュ値をさらに秘密鍵で暗号してIoTデバイス11へ送信する。また、デバイス側の情報処理装置13は共通鍵を用いて情報を復号化し、平文と暗号化されたハッシュ値とを取得する。
【0093】
また、デバイス側の情報処理装置13Aは、取得した平文からハッシュ値を生成するとともに、暗号化されたハッシュ値を検証鍵で復号する。デバイス側の情報処理装置13Aは、平文から生成したハッシュ値と、復号化したハッシュ値とが等しい値である場合、IoTデバイス11に対して送信された情報は正しい内容であると判定する。この場合、デバイス側の情報処理装置13Aは、復号した情報(平文)をIoTデバイス11に出力する。一方、デバイス側の情報処理装置13Aは、平文から生成したハッシュ値と復号化したハッシュ値が等しい値でない場合、IoTデバイス11に対して送信された情報は、サーバ装置12又はサーバ側の情報処理装置13Bに見せかけた不正な通信装置から送信された不正な情報である可能性があると判定する。この場合、デバイス側の情報処理装置13Aは、復号した情報(平文)をIoTデバイス11に出力しない。
【0094】
これにより、IoTデバイス11は、検証済みである正しい内容であることが検証された情報のみを受け取ることができる。また、通常、IoTデバイス11がファームウェアを更新する際の更新プログラムの内容が正しいか否かの判定を行うと考えられるが、IoTデバイス11に代わりサーバ側の情報処理装置13BがIoTデバイス11に対して送信された情報の内容を検証することにより、IoTデバイス11の処理負担を軽減させることが可能となる。
【0095】
以上説明したように、通信システム1は、IoTデバイス11とネットワークNWとの間に接続されるデバイス側の情報処理装置13Aと、サーバ装置12とネットワークNWとの間に接続されるサーバ側の情報処理装置13Bと、を備える。デバイス側の情報処理装置13Aは、IoTデバイス11からの情報を暗号化してネットワークNW経由でサーバ側の情報処理装置13Bへ送信し、ネットワークNWからの情報(情報処理装置13Bで暗号化されたサーバ装置12からの情報)を復号してIoTデバイス11へ送信する。サーバ側の情報処理装置13Bは、サーバ装置12からの情報を暗号化してネットワークNW経由でデバイス側の情報処理装置13へ送信し、ネットワークNWからの情報(デバイス側の情報処理装置13Aで暗号化されたIoTデバイスからの情報)を復号してサーバ装置12に送信する。
【0096】
これにより、通信システム1は、社会インフラシステムを変更することなく、社会インフラシステムの安全性を向上させることができる。IoTデバイス11からサーバ装置12に対して送信されたHTTPプロトコルのデータ(いわゆる平文)が、デバイス側の情報処理装置13により、例えば、SSL/TLSプロトコルと組み合わされて、安全性が向上されたHTTPSに置き換えられるためである。また、サーバ装置12かIoTデバイス11らに対して送信された制御データは、暗号化されるが、デバイス側の情報処理装置13により復号されて、IoTデバイス11に受信されるため、IoTデバイス11に復号させる処理を行わせる必要がなく、既存の装置を変更することなくそのまま利用することができる。
【0097】
また、通信システム1では、デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとが相互認証を行うため、いずれか一方方向のみの認証を行う場合よりも安全性を向上させることができる。一般的なクライアント端末とサーバ装置とにおいては、サーバ装置に対して不特定多数のクライアント端末が通信を行うため、当該不特定多数のクライアント端末に対して正当なクライアント証明書を発行して管理し続けることは現実的ではない。しかしながら、通信システムを適用する社会インフラシステムなどにおいては、IoTデバイス11とサーバ装置12との関係は明確に特定されている。このため、デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとが相互認証を行うことが可能であり、安全性を向上させることができる。
【0098】
一般に、クライアント証明書を有していないクライアント端末では、サーバ装置と通信を行うために、サーバ装置が発行したIDやパスワードの入力を求められることがある。このようなパスワード認証においては、安全性を維持するために、パスワードに対し文字と数字を組み合わせた長文の文字列が要求されたり、定期的なパスワードの変更等が求められたりすることがある。しかしながら、覚えなければならないパスワードが増えると、管理が面倒になってしまい、パスワードをメモに残したり、ウェブブラウザに記録させたりするなど、かえってパスワードが漏洩してしまう場合があった。
【0099】
これに対し、通信システム1では、デバイス側の情報処理装置13Aがクライアント(デバイス)証明書を有することにより、サーバ装置12との間で確実に相互認証を行うことができる。このため、パスワード認証が不要となる。このため、パスワードを入力する手間や定期的に変更して管理する手間がなくなり、ユーザの利便性が向上する。つまり、ユーザに負担をかけることなく安全性を維持することができる。
【0100】
また、クライアント証明書を有していないクライアント端末がIDやパスワードによる認証に基づいてサーバ装置と通信を行うシステムでは、IDとパスワードが正しく入力できてしまえば、だれでもサーバ装置と通信することができてしまう。このため、クライアント端末を不正に乗っ取り、サーバ装置へ不正にアクセスすることが可能となってしまう。例えば、不正に乗っ取られたサーバ装置によってクライアント端末の機能が制限され、解除するために身代金が要求されるといったランサムウェアに感染する可能性がある。
【0101】
これに対し、上述した通信システム1では、IoTデバイス11とサーバ装置12との間で、デバイス側の情報処理装置13Aとサーバ側の情報処理装置13Bとを介した相互認証が行われることにより、IoTデバイス11やサーバ装置12が不正に乗っ取られることがない。つまり、通信システム1では、ランサムウェアに対する対策も可能となる。
【0102】
また、例えば、ネットワーク内に管理者が不在の端末(野良デバイスともいう)がある場合、その端末が不正に乗っ取られることにより、その端末がマルウエア等の攻撃を行う不正な端末として利用されてしまう場合がある。これに対し、上述した通信システム1では、IoTデバイス11とサーバ装置12との間で、デバイス側の情報処理装置13A(13B、13C)とサーバ側の情報処理装置13Bとを介した相互認証が行われることにより、ネットワークNWの内部にある管理者が不在の端末が不正に乗っ取られて攻撃に利用された場合であっても、マルウエア等に感染することを防止することができる。
【0103】
また、上述した通信システム1では、サーバ装置12がサーバ側の情報処理装置13Bに接続されており、サーバ装置12の内部で認証処理を行わない。このため、サーバ装置12の内部で証明書等を保持する必要がなく、サーバ側の情報処理装置13Bに接続されたサーバ装置12が通信管理装置14の管理下であることが明確となる。サーバ装置12が既にサーバ側の情報処理装置13Bに相当する機能部を有している場合には、必ずしもサーバ装置12とネットワークNWとの間にサーバ側の情報処理装置13Bが物理的に接続される必要はない。この場合、サーバ装置12が元々有するサーバ側の情報処理装置13Bに相当する機能部により、デバイス側の情報処理装置13Aとの間の認証処理が行われる。
【0104】
また、通信システム1では、ICカード34において、相互認証と暗号化復号処理とのうち少なくともいずれか一方を行わせる。このため、情報処理装置13(13A、13B)の装置コストを抑制することができる。
【0105】
また、通信システム1においては、情報処理装置13(13A、13B)に装着されたICカード34が相互認証と暗号化復号処理とのうち少なくともいずれか一方の処理を行う例を説明したが、通信システム1は、相互認証および暗号化複合化処理を行う構成がICカードに限定されるものではない。また、上述したICカード34としては、秘密鍵およびクライアント証明書(あるいは、サーバ証明書)を記憶する記憶機能と、相互認証と暗号化復号処理とのうち少なくともいずれか一方を行う処理機能を有している機能部であればよく、例えば、ICチップが搭載されたSIMカードであってもよいし、カードの形態を採用しなくてもよい。
【0106】
また、通信システム1においては、情報処理装置13のICカード34は、情報処理装置13に対して着脱可能に装着される。これにより、通信システム1においては、ICカード34と情報処理装置13とが分離可能であるため、どちらか一方を交換する場合には、当該一方のデバイスを交換すればよい。例えば、ICカード34と情報処理装置13とが一体化された場合には、ICカード34に相当する部分を交換する場合には、情報処理装置13全体を交換しなければならないが、この場合と比較して、通信システム1では、情報処理装置13が有するICカード34等の特定の部分を交換する場合のメンテナンスコストを抑制することができる。
【0107】
また、通信システム1は、通信管理装置14をさらに備え、通信管理装置14は、情報処理装置13に装着されたICカード34に記憶させる秘密鍵、およびクライアント証明書を情報処理装置13に送信し、サーバ側の情報処理装置13Bに装着されたICカード34に記憶させる秘密鍵、およびサーバ証明書をサーバ側の情報処理装置13Bに送信する。これにより、通信システム1は、通信管理装置14により発行された正当な秘密鍵、証明書を用いて、ハンドシェイクを行い、共通鍵を決定することができ、上述した効果を奏する他、社会インフラシステムの安全性をさらに向上させることができる。
【0108】
なお、通信システム1の構成は、上述した例に限定されない。例えば、情報処理装置13は、処理の負荷に基づき、ハードウェアにより情報処理装置13の機能を実現するHSM(Hardware Security Module)を用いてもよい。つまり、情報処理装置13は、セキュアな処理が可能な限り、必ずしもICカードを装着する構成に限らず、上記情報処理装置13の機能を実現できるICチップやICモジュールを用いた構成としてもよい。
【0109】
また、通信システム1においては、SSL/TLSプロトコルを用いたセキュアな通信を常時行うようにしてもよいし、SSL/TLSプロトコルを用いた通信を行うか否かを選択可能にしてもよい。また、IoTデバイス11とサーバ装置12との間における双方向の通信のうち一方の方向の通信のみをSSL/TLSプロトコルを用いた通信としてもよい。また、SSL/TLSプロトコルを用いたセキュアな通信を常時行うようにしてもよいし、SSL/TLSプロトコルを用いた通信を行うか否かを選択可能にしてもよい。
【0110】
SSL/TLSプロトコルを用いた通信を常時行うようにすることで、情報処理装置13により認証された正当な情報処理装置13とは異なる装置からの通信を遮断することができる。このため、IoTデバイス11やサーバ装置12に対する不正なアクセスや、IoTデバイス11やサーバ装置12がマルウエアに感染することを抑止することができる。
【0111】
また、通信システム1においては、SSL/TLSプロトコルを用いた通信を常時行い、IoTデバイス11やサーバ装置12に対する不正なアクセスを記憶するようにしてもよい。この場合、通信管理装置14に不正なアクセスの記録が送信されるようにしてもよい。通信管理装置14は、不正なアクセスの有無を認識することができ、システム全体に対する大規模攻撃が開始される前の予兆の段階を検出して対策することが可能となる。
【0112】
また、通信システム1においては、情報処理装置13は、定期的に、自装置が接続されているIoTデバイス11又はサーバ装置12との接続が維持されているか否かを確認するようにしてもよい。この場合、通信管理装置14に接続状態を示す情報が送信されるようにしてもよい。通信管理装置14は、情報処理装置13から接続状態を示す情報が受信できない場合などには、情報処理装置13がIoTデバイス11又はサーバ装置12から切り離された判断し、当該切り離された情報処理装置13を無効とする。こうすることで通信管理装置14は、切り離された情報処理装置13が不正な装置に接続されてなりすましに悪用されることを抑制する。
【0113】
また、通信システム1においては、情報処理装置13に装着するICカード34に、CC(Common Criteria/ISO15408)認証を取得したセキュアエレメントと呼ばれる耐タンパ性の高いチップを搭載してもよい。このチップを用いて、秘密鍵や公開鍵を含む証明書を記憶させることにより、非常に高い安全性を維持することができる。
【0114】
また、通信システム1においては、サーバ装置12や通信管理装置14等から、情報処理装置13を介して、IoTデバイス11のプログラムを更新させるようにしてもよい。情報処理装置13を介してプログラムの更新(ファームウェアのアップデート)が行われることにより、安全にIoTデバイス11の機能を更新させることができる。このようにサーバ装置12からIoTデバイス11に対してファームウェアが送信される場合、サーバ装置12から送信されるファームウェアには、例えばサーバ側の情報処理装置13Bにより暗号化されたサーバ装置12の署名が付与される。この場合、IoTデバイス11では、情報処理装置13により署名が復号されることにより、送信されたファームウェアが間違いなくサーバ装置12から送信されたファームウェアであると判定することができる。これにより、あたかもサーバ装置12であるかのように装う不正な端末から、不正なファームウェアがIoTデバイス11に送信されてしまった場合であっても、IoTデバイス11に対し不正なファームウェアに基づく誤った更新がなされてしまうことを排除することができる。
【0115】
また、このように情報処理装置13を介して通信が行われることにより、サーバ装置12や通信管理装置14等からIoTデバイス11にファームウェアを安全に更新することができるため、作業員が複数のIoTデバイス11に対して物理的に各々のIoTデバイス11が設置されている場所まで移動してファームウェアのアップデート作業を行う場合と比較して、作業コストを低減させることも可能である。
【0116】
また、通信システム1においては、サーバ装置12や通信管理装置14等から、情報処理装置13を介して、IoTデバイス11の起動や停止を行ってもよい。情報処理装置13を介して起動や停止(リモートアクティベーション)が行われることにより、安全にIoTデバイス11の機能を更新させることができ、セキュアな遠隔制御を実現させることができる。
【0117】
また、通信システム1においては、IoTデバイス11、およびサーバ装置12が有線により通信する場合を例に説明したが、これに限定されることはない。IoTデバイス11、およびサーバ装置12のうち少なくともいずれかが無線LAN等により無線通信を行う装置であってもよい。例えば、IoTデバイス11が無線通信によりサーバ装置12と通信を行う場合、情報処理装置13は、無線による通信機能を有し、IoTデバイス11により送信されるデータを暗号化し、暗号化したデータを、無線通信によりサーバ装置12に送信する。
【0118】
上述した例では、通信システム1において、情報処理装置13がサーバ側の情報処理装置13Bと通信を行う例を説明したが、情報処理装置13の通信先はこれに限定されることはない。例えば、情報処理装置13Aは、情報処理装置13Bと通信を行ってもよい。情報処理装置13Aは、情報処理装置13Bから通信開始の合図を受信した場合、まず情報処理装置13Bとの間で相互認証を行い、情報処理装置13Bが正当な通信端末であることを確認する。そして、相互認証が正しく行われた場合、情報処理装置13Aは、情報処理装置13Bから受信した情報をIoTデバイス11に出力する。暗号を使用して送信データに認証子が付与されることにより、通信情報の改ざんの検出および送信者の特定が可能となる。
【0119】
以上のように、通信システム1においては、デバイス側の情報処理装置13とサーバ側の情報処理装置13Bとの通信、およびデバイス側の情報処理装置13同士の通信において、「正しい相手から」、「改ざんされていないデータを受け取る」ことを確実にすることができる。
【0120】
次に、実施形態に係る通信システム1における情報処理装置13の通信設定の変更処理について説明する。
実施形態に係る通信システム1において、情報処理装置13は、通信管理装置14から指示されるネットワーク設定(通信設定)情報に従って第1通信部31の設定を行う。通信管理装置14は、情報処理装置13のネットワーク設定(第1通信部の設定)を変更する場合、情報処理装置13へネットワーク設定の変更情報を供給する。情報処理装置13は、通信管理装置14からのネットワーク設定の変更情報に基づいて設定した通信部でのネットワーク通信を試みる。情報処理装置13は、ネットワーク設定の変更情報に基づく設定を適用した通信部での通信が成功した場合は第1通信部31にネットワーク設定の変更情報に基づく設定を適用し、ネットワーク設定の変更情報に基づく設定を適用した通信部での通信が失敗した場合は第1通信部31をネットワーク設定の変更情報を受信する前の設定に戻す。
【0121】
これにより、情報処理装置13は、通信管理装置14から供給されたネットワーク設定の変更情報に不具合がなければ第1通信部31の設定を通信管理装置14からの変更情報に従って変更でき、通信管理装置14から供給されたネットワーク設定の変更情報に不具合があれば通信管理装置からの変更情報による設定を適用せずに第1通信部31の設定を維持することができる。この結果、情報処理装置13は、通信管理装置14から供給されるネットワーク設定の変更情報に不具合となる要因が含まれる場合であっても正常なネットワーク通信が維持できる。
【0122】
以下、情報処理装置13が通信管理装置14から供給されたネットワーク設定の変更情報に対する設定変更処理(第1の設定変更処理および第2の設定変更処理)の例について説明する。
まず、実施形態に係る通信システム1において情報処理装置13が通信管理装置14からの指定に応じて通信設定を行う第1の設定変更処理について説明する。
図7は、実施形態に係る通信システム1における情報処理装置13による第1の設定変更処理を説明するためのフローチャートである。
例えば、通信システム1において、通信管理装置14は、管理者の操作などによって、情報処理装置13に適用すべきネットワーク設定の変更情報を取得する。通信管理装置14は、情報処理装置13に適用すべきネットワーク設定の変更情報を取得すると、対象となる情報処理装置13へネットワーク設定の変更を要求するネットワーク設定変更リクエストを送信する。
【0123】
情報処理装置13は、第1通信部31によりネットワークNW(ネットワーク18およびゲートウエイ17)を介して通信管理装置14と通信する。情報処理装置13の制御部30は、通信管理装置14が送信したネットワーク設定変更リクエストを第1通信部31により受信する(ステップS31)。ここで、ネット設定変更リクエストは、情報処理装置13の第1通信部31に対する通信設定の変更を要求するものであるものとする。
【0124】
情報処理装置13の制御部30は、通信管理装置14からのネットワーク設定変更リクエストを受信すると、第1通信部31に適用している現在のネットワーク設定(現在の第1通信部31の設定)を示す情報を現在の設定情報として一時記憶部35aに記憶する(ステップS32)。
【0125】
情報処理装置13の制御部30は、一時記憶部35aに第1通信部31の設定内容を示す現在の設定情報を記憶すると、ネットワーク設定を変更する準備が完了したことを示す情報を通信管理装置14に通知する(ステップS33)。
【0126】
通信管理装置14は、ネットワーク設定を変更する準備が完了した旨の通知を受信すると、当該情報処理装置13の第1通信部31に適用する通信設定情報としてのネットワーク設定情報(通信設定の変更情報)を送信する。ここで、ネットワーク設定の変更情報としては、例えば、IPアドレス、デフォルトゲートウエイ、サブネット、DNSサーバ、NTPサーバなどを変更することを指定する情報が含まれる。
【0127】
情報処理装置13の制御部30は、第1通信部31により通信管理装置14から送信されたネットワーク設定の変更情報を受信する(ステップS34)。制御部30は、通信管理装置14からのネットワーク設定の変更情報を受信すると、現在の設定情報を一時記憶部35aに保持したままで、第1通信部31の設定を通信管理装置14からのネットワーク設定の変更情報に基づく設定に変更(更新)する(ステップS35)。
【0128】
情報処理装置13の制御部30は、第1通信部31の設定の変更を実行すると、更新後の第1通信部31によるネットワーク通信を試行することにより、更新後の第1通信部31による正常なネットワーク通信が成功したか否かを判断する(ステップS36)。例えば、制御部30は、所定時間内で更新後の第1通信部31による通信管理装置14との通信を試行し、所定時間内に通信管理装置14との正常な通信が成功したか否かをチェックする。
【0129】
ただし、ネットワーク設定の変更情報に基づく設定を適用した更新後の第1通信部31による正常なネットワーク通信に成功したか否かを判断する手法は、特定の方式に限定されるものではない。例えば、情報処理装置13の制御部30は、更新後の第1通信部31を用いてHTTP又はHTTPSによる通信管理装置14との通信を試行することにより正常な通信に成功したか否かを判断するようにしても良い。また、制御部30は、更新後の第1通信部31を用いてICMP(Internet Control Message Protocol)による通信を試行することにより通信が成功したか否かを判断しても良い。
【0130】
情報処理装置13の制御部30は、第1通信部31による通信管理装置14との通信に成功した場合(ステップS36、YES)、通信管理装置14に第1通信部31におけるネットワーク設定の変更が成功した旨の通知を送信する(ステップS37)。
【0131】
また、第1通信部31による通信管理装置14との通信に失敗した場合(ステップS36、NO)、制御部30は、一時記憶部35aに記憶した現在の設定情報に基づいて第1通信部31の設定内容を変更前の状態に戻す(ステップS38)。制御部30は、第1通信部31の設定内容を変更前の状態に戻すと、通信管理装置14に対してネットワーク設定の変更が失敗した旨の通知を送信する(ステップS39)。
【0132】
情報処理装置13の制御部30は、ネットワーク設定の変更が成功した後、又は、ネットワーク設定の変更の失敗によって設定内容を変更前に戻した後、一時記憶部35aに記憶した通信設定情報を削除し(ステップS40)、一連の処理を終了する。
また、通信管理装置14は、ネットワーク設定の変更の成否に応じて情報処理装置13と端末装置としてのIoTデバイス11(又はサーバ装置12)との通信の可否を指定するようにしても良い。例えば、通信管理装置14は、情報処理装置13Aの第1通信部31Aにおける設定(ネットワーク設定)の変更が成功した場合に情報処理装置13Aの第2通信部32AによるIoTデバイス11との通信を許可し、情報処理装置13Aの第1通信部31Aにおける設定(ネットワーク設定)の変更が失敗した場合には情報処理装置13Aの第2通信部32AによるIoTデバイス11との通信を不可とするようにしても良い。
【0133】
以上のように、第1の設定変更処理を適用した通信システム1の情報処理装置は、通信管理装置からネットワーク設定の変更情報を受信した場合に第1通信部の現在の設定を示す現在の設定情報を一時記憶部に保存する。情報処理装置は、一時記憶部に現在の設定情報を保存した状態で、ネットワーク設定の変更情報に基づいて第1通信部の設定を変更(更新)する。情報処理装置は、更新後の第1通信部によるネットワーク通信を試行し、ネットワーク通信の成否を判断する。情報処理装置は、更新後の第1通信部によるネットワーク通信が成功した場合には通信管理装置へネットワーク設定の変更が成功したことを通知する。また、情報処理装置は、更新後の第1通信部によるネットワーク通信が失敗した場合には一時記憶部に保存した現在の設定情報に基づいて第1通信部の設定を更新前の状態に戻し、通信管理装置へネットワーク設定の変更が失敗したことを通知する。
【0134】
これにより、実施形態に係る情報処理装置は、ネットワークを介して通信する通信管理装置からのネットワーク設定の変更要求に応じて第1通信部の設定を変更できる。また、情報処理装置13は、第1通信部の設定の変更が失敗した場合には第1通信部の設定内容を変更前の設定に戻すことができる。この結果、情報処理装置は、遠隔で通信管理装置から指示される設定の変更情報に不備があっても第1通信部によるネットワーク通信が不通となることがなく、安全に設定の変更を実施できる。
【0135】
次に、実施形態に係る通信システム1における情報処理装置13の第2の設定変更処理について説明する。
図8は、実施形態に係る通信システム1における情報処理装置13による第2の設定変更処理を概略的に説明するための図である。第2の設定変更処理では、情報処理装置13は、
図8に示すように、第1通信部31(31A)に加えて仮想NIC31v(31Av)を設ける。仮想NIC31Avは、第1通信部31Aの代わりに、情報処理装置13とネットワークNW(ネットワーク18に接続された装置)との通信を行う仮想通信部である。
【0136】
情報処理装置13Aは、通信管理装置14から第1通信部31Aに対するネットワーク設定の変更情報を受信した場合、受信したネットワーク設定の変更情報に基づく設定を適用した仮想NIC31Avを構築する。情報処理装置13Aは、第1通信部31Aの通信設定を保持したままで(第1通信部31Aの設定を変更することなく)、仮想NIC31vを用いてネットワークNWを介して通信管理装置14との通信を試行する。
【0137】
情報処理装置13Aは、仮想NIC31Avによるネットワーク通信が成功すると、仮想NIC31Avに適用した通信設定を第1通信部31Aに適用する。これにより、情報処理装置13Aは、仮想NIC31Avを用いて正常なネットワーク通信を行うことが確認された通信設定を第1通信部31Aに適用することができ、通信設定の変更後も正常なネットワーク通信を確実に維持することができる。
【0138】
図9は、実施形態に係る通信システム1における情報処理装置13による第2の設定変更処理を説明するためのフローチャートである。
まず、通信システム1において、通信管理装置14は、情報処理装置13へネットワーク設定の変更を要求するネットワーク設定変更リクエストを送信する。情報処理装置13の制御部30は、第1通信部31によりネットワークNW(ネットワーク18およびゲートウエイ17)を介して通信管理装置14から送信されたネットワーク設定変更リクエストを受信する(ステップS51)。ネットワーク設定変更リクエストは、第1通信部31の設定の変更(更新)を要求するものとする。
【0139】
情報処理装置13の制御部30は、通信管理装置14からのネットワーク設定変更リクエストを受信すると、当該リクエストで変更が要求された通信部である第1通信部31として動作する仮想NIC31vを構築する準備を行う(ステップS52)。
【0140】
情報処理装置13の制御部30は、第1通信部31として動作する仮想NIC31vの準備が完了すると、ネットワーク設定を変更する準備が完了したことを示す情報を通信管理装置14に通知する(ステップS53)。
【0141】
通信管理装置14は、ネットワーク設定を変更する準備が完了した旨の通知を受信すると、当該情報処理装置13に適用する通信設定情報としてのネットワーク設定の変更情報を送信する。
情報処理装置13の制御部30は、第1通信部31により通信管理装置14から送信されたネットワーク設定の変更情報を受信する(ステップS54)。制御部30は、通信管理装置14からネットワーク設定の変更情報を受信すると、準備した仮想NIC31vに対して通信管理装置14からのネットワーク設定の変更情報に基づく設定を適用する(ステップS55)。
【0142】
情報処理装置13の制御部30は、ネットワーク設定の変更情報に基づく設定を適用した仮想NIC31vが完成すると、仮想NIC31vを用いてネットワーク通信を試行することによりネットワーク設定の変更情報に基づく設定を適用した通信部による正常なネットワーク通信が成功したか否かを判断する(ステップS56)。例えば、制御部30は、所定時間内での仮想NIC31vによる通信管理装置14との通信を試行し、所定時間内に通信管理装置14との正常な通信が成功したか否かをチェックする。また、ネットワーク設定の変更情報に基づく設定を適用した仮想NICが正常なネットワーク通信に成功したか否かを判断する手法は、特定の方式に限定されるものではない。
【0143】
情報処理装置13の制御部30は、仮想NIC31vを用いたネットワーク通信が正常に成功した場合(ステップS56、YES)、ネットワーク設定の変更が成功した旨の通知を通信管理装置14へ送信し(ステップS57)、第1通信部31に対して仮想NIC31vの設定を反映させる(ステップS58)。
【0144】
情報処理装置13の制御部30は、第1通信部31に対する仮想NICの設定の反映が完了すると、仮想NIC31vにおけるネットワーク設定を削除し(ステップS60)、ネットワーク設定の変更情報に基づく設定に変更された第1通信部31でネットワークNWと通信するように設定する。これにより、情報処理装置は、通信管理装置が指定する通信設定の変更(更新)の対象となる通信部に対して仮想NICで正当性が確認された設定を適用することができる。
【0145】
また、情報処理装置13の制御部30は、仮想NIC31vを用いたネットワーク通信が失敗した場合(ステップS56、NO)、ネットワーク設定の変更が失敗した旨の通知を通信管理装置14へ送信する(ステップS59)。仮想NIC31vでの通信が失敗した場合、制御部30は、仮想NIC31vの設定を削除し(ステップS60)、設定を変更していない第1通信部31でネットワークNWと通信する設定とする。これにより、情報処理装置13は、仮想NIC31vで正当性が確認できなかった設定を第1通信部31に適用することなく、第1通信部31を通信管理装置14からのネットワーク設定の変更情報を受信する前の状態で動作させることができる。
【0146】
以上のように、第2の設定変更処理を適用した通信システムの情報処理装置は、通信管理装置からネットワーク設定の変更情報を受信した場合に第1通信部として動作する変更情報に基づく設定を適用した仮想通信部を構築する。情報処理装置は、仮想通信部によるネットワーク通信を試行してネットワーク通信の成否を判断する。情報処理装置は、仮想通信部によるネットワーク通信が成功した場合には仮想通信部の設定内容を第1通信部に反映させ、ネットワーク設定の変更が成功したことを通信管理装置へ通知する。また、情報処理装置は、仮想通信部によるネットワーク通信が失敗した場合にはネットワーク設定の変更が失敗したことを通信管理装置へ通知し、仮想通信部を削除する。
【0147】
これにより、第2の設定変更処理を適用した情報処理装置は、ネットワークを介して通信する通信管理装置からのネットワーク設定の変更情報に基づく設定を適用した仮想通信部を用いてネットワーク設定の変更情報による設定が有効であるか否かを確認できる。また、情報処理装置は、仮想通信部によるネットワーク設定が失敗した場合には第1通信部の設定を変更することなく、ネットワーク設定の失敗を通信管理装置へ通知できる。この結果、情報処理装置は、遠隔で通信管理装置から指示される設定の変更情報に不備があっても第1通信部によるネットワーク通信が不通となることがなく、安全に設定の変更を実施できる。
【0148】
上述した実施形態では、
図1に示す通信システム1の構成例を前提として設定変更処理について説明したが、通信システム1の構成は、
図1に示す構成例に限らず、種々の変更がある。例えば、ゲートウエイ17に接続されるデバイス側の情報処理装置は、複数存在しても良い。また、デバイス側の情報処理装置は、第2通信部に接続されるIoTデバイスが変更されたり追加されたりされることもある。
【0149】
以下に、実施形態に係る通信システム1における種々の構成に応じて第1および第2の設定変更処理を適用する例について説明する。
図10は、通信管理装置14に対してデバイス側に複数の情報処理装置13(13A1、13A2)が存在する通信システム1の構成例を示す図である。
図10に示す構成例において、通信システム1は、ゲートウエイ17に対して複数の情報処理装置13A1、13A2が接続される。このよう構成において、通信管理装置14は、複数の情報処理装置13A1、13A2に対してそれぞれネットワーク設定の変更を要求することができる。
【0150】
ただし、
図10に示すような構成例では、1つのゲートウエイ17に接続する複数の情報処理装置13A1、13A2が同様な通信設定となることがある。通信管理装置14は、同様な通信設定となる複数の情報処理装置13A1、13A2に対して一斉に通信設定の変更を要求するようにしても良い。
【0151】
通信管理装置14は、複数の情報処理装置13A1、13A2に一斉に通信設定の変更を要求した場合、いずれか1つの情報処理装置からネットワーク設定の変更が失敗した旨の通知を受けると、他の情報処理装置に対するネットワーク設定の変更を中止するようにしても良い。また、通信管理装置14は、1つの情報処理装置13A1に対するネットワーク設定の変更が成功した後に、他の情報処理装置13A2に対して一斉にネットワーク設定の変更を実行させるようにしても良い。
【0152】
また、上述した第1および第2の設定変更処理の例では、ネットワークNWに接続する第1通信部31の設定を変更(更新)する処理について説明したが、IoTデバイス11に接続する第2通信部32についても上述した第1又は第2の設定変更処理による設定の変更を実施しても良い。例えば、通信システム1において、情報処理装置13は、第2通信部32に接続されるデバイスが変更されることがある。
図10に示す例では、情報処理装置13は、IoTデバイス11Aを接続していた第2通信部32にIoTデバイス11Cが接続されたことを示している。情報処理装置13は、第2通信部32に接続される端末装置としてのデバイス11が変更されると、第2通信部32の設定を変更する必要が生じることがある。
【0153】
通信管理装置14は、情報処理装置13における第2通信部32の通信設定情報も管理する。情報処理装置13は、通信管理装置14から第2通信部32に対する通信設定の変更の要求を受けた場合、第1又は第2の設定変更処理と同様な手順で第2通信部32の設定を変更しても良い。例えば、第1の設定変更処理の適用例として、情報処理装置13の制御部30は、通信管理装置14から第2通信部32に対する設定の変更情報を受信すると、第2通信部32の現在(変更前)の設定を示す情報(現在の設定情報)を一時記憶部35aに保存する。
【0154】
情報処理装置13の制御部30は、一時記憶部35aに元設定情報を保持した状態で、通信管理装置14からの変更情報で第2通信部32の設定を更新する。制御部30は、更新後の第2通信部32によるIoTデバイス11との通信が成功したら一時記憶部35aの現在の設定情報を削除し、更新後の第2通信部32によるIoTデバイス11との通信が失敗したら一時記憶部35aに保存した現在の設定情報に基づいて第2通信部32の設定を変更前の状態に戻す。これにより、情報処理装置13は、IoTデバイスに接続する第2通信部32に対しても通信管理装置14から指示される設定変更に応じた設定の変更を確実に実施することができる。
【0155】
また、第2の設定変更処理の適用例として、情報処理装置13の制御部30は、通信管理装置14から第2通信部32に対する設定の変更情報を受信すると、受信した変更情報に基づく設定を適用した第2通信部32として動作する仮想NICを構築する。制御部30は、仮想NICによるIoTデバイス11との通信が成功したら仮想NICの設定を第2通信部32に反映し、仮想NICによるIoTデバイス11との通信が失敗したら仮想NICを削除する。これにより、情報処理装置13は、端末装置としてのIoTデバイス11に接続する第2通信部32に対しても通信管理装置14からの変更要求に応じた設定の変更を確実に実施することができる。
【0156】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0157】
1…通信システム、11…IoTデバイス(端末装置)、12…サーバ装置、13(13A、13B)…情報処理装置、14…通信管理装置、17…ゲートウエイ、18…ネットワーク、NW…ネットワーク、21(21A、21B)…第1ポート、22(22A、22B)…第2ポート、30…制御部(第1の制御部)、31(31A(31A1、31A2)、31B)…第1通信部、32(32A、32B)…第2通信部、31v…仮想NIC(仮想通信部)、33…リーダライタ、34…ICカード、40…ICモジュール、41…コンタクト部、42…ICチップ、43…UART、44…CPU、45…ROM、46…RAM、47…EEPROM、60…NW通信部、61…制御部(第2の制御部)、62…記憶部。