(57)【要約】【課題】内部ネットワークに接続されたデバイスの安全性を確保することができる通信装置等を提供する。【解決手段】通信装置１は、第１実行領域と、該第１実行領域からのアクセスが制限された第２実行領域とを一時記憶領域に展開する展開部と、前記第２実行領域に、通信接続が許可される内部ネットワークのデバイス又は外部ネットワークの装置を示す接続テーブルを格納する格納部と、接続先への通信接続の要求を接続元から受け付ける受付部と、前記通信接続の要求を受け付けた場合、前記接続元又は接続先の情報を前記第１実行領域から前記第２実行領域に入力する入力部と、前記第２実行領域において、前記接続テーブルを参照して、前記通信接続を許可するか否かを判定する判定部と、前記通信接続を許可すると前記第２実行領域で判定された場合、前記第１実行領域において前記接続元及び接続先の間の通信を中継する処理を実行する通信処理部とを備える。【選択図】図１
2020141284.tif 000002
【特許請求の範囲】
【請求項１】
外部ネットワークに接続された装置と、前記外部ネットワークから遮断された内部ネットワークに接続されたデバイスとの間の通信を中継する通信装置であって、
通信中継に関する処理を実行する第１実行領域と、該第１実行領域からのアクセスが制限された第２実行領域とを一時記憶領域に展開する展開部と、
前記第２実行領域に、通信接続が許可される前記デバイス又は装置を示す接続テーブルを格納する格納部と、
接続先への通信接続の要求を接続元から受け付ける受付部と、
前記通信接続の要求を受け付けた場合、前記接続元又は接続先の情報を前記第１実行領域から前記第２実行領域に入力する入力部と、
前記第２実行領域において、前記接続テーブルを参照して、前記通信接続を許可するか否かを判定する判定部と、
前記通信接続を許可すると前記第２実行領域で判定された場合、前記第１実行領域において前記接続元及び接続先の間の通信を中継する処理を実行する通信処理部と
を備えることを特徴とする通信装置。
【請求項２】
前記格納部は、前記接続元、及び該接続元との間の通信接続が許可される前記接続先とを対応付けた前記接続テーブルを格納する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記受付部は、前記外部ネットワークを介して、前記デバイスから前記装置への前記通信接続の要求を受け付ける
ことを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記受付部は、前記内部ネットワークを介して、前記装置から前記装置への前記通信接続の要求を受け付ける
ことを特徴とする請求項１又は２に記載の通信装置。
【請求項５】
前記通信接続を許可しないと前記第２実行領域で判定された場合、判定結果を前記接続元に通知する通知部を備える
ことを特徴とする請求項１〜４のいずれか１項に記載の通信装置。
【請求項６】
前記入力部は、前記第１実行領域及び第２実行領域の間のアクセスを制御する共有実行領域を介して、前記接続元又は接続先の情報を前記第２実行領域に入力する
ことを特徴とする請求項１〜５のいずれか１項に記載の通信装置。
【請求項７】
前記格納部は、前記第１実行領域で実行する正規のプログラムを表す参照値を前記第２実行領域に格納し、
前記受付部は、前記接続テーブルの更新要求を受け付け、
前記更新要求を受け付けた場合、前記第１実行領域で実行中のプログラムを表す検証値を算出する算出部と、
前記第２実行領域において、前記検証値と前記参照値とを照合することで前記接続テーブルの更新の可否を判定する第２判定部と
を備えることを特徴とする請求項１〜６のいずれか１項に記載の通信装置。
【請求項８】
前記更新要求を受け付けた場合、前記第１実行領域において、前記更新要求の要求元の認証を行う認証部と、
前記要求元の認証に成功した場合、前記第２判定部は前記接続テーブルの更新の可否を判定する
ことを特徴とする請求項７に記載の通信装置。
【請求項９】
外部ネットワークに接続された装置と、前記外部ネットワークから遮断された内部ネットワークに接続されたデバイスとの間の通信を中継する通信装置に、
通信中継に関する処理を実行する第１実行領域と、該第１実行領域からのアクセスが制限された第２実行領域とを一時記憶領域に展開し、
前記第２実行領域に、通信接続が許可される前記デバイス又は装置を示す接続テーブルを格納し、
接続先への通信接続の要求を接続元から受け付け、
前記通信接続の要求を受け付けた場合、前記接続元又は接続先の情報を前記第１実行領域から前記第２実行領域に入力し、
前記第２実行領域において、前記接続テーブルを参照して、前記通信接続を許可するか否かを判定し、
前記通信接続を許可すると前記第２実行領域で判定された場合、前記接続元及び接続先の間の通信を中継する
処理を実行させることを特徴とするプログラム。
【請求項１０】
外部ネットワークに接続された装置と、前記外部ネットワークから遮断された内部ネットワークに接続されたデバイスとの間の通信を中継する通信装置に、
通信中継に関する処理を実行する第１実行領域と、該第１実行領域からのアクセスが制限された第２実行領域とを一時記憶領域に展開し、
前記第２実行領域に、通信接続が許可される前記デバイス又は装置を示す接続テーブルを格納し、
接続先への通信接続の要求を接続元から受け付け、
前記通信接続の要求を受け付けた場合、前記接続元又は接続先の情報を前記第１実行領域から前記第２実行領域に入力し、
前記第２実行領域において、前記接続テーブルを参照して、前記通信接続を許可するか否かを判定し、
前記通信接続を許可すると前記第２実行領域で判定された場合、前記接続元及び接続先の間の通信を中継する
処理を実行させることを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、プログラム及び通信方法に関する。
【背景技術】
【０００２】
ＩｏＴ（Internet of Things）に代表されるように、種々のデバイスがインターネット等の公衆通信網に接続されることによるセキュリティ上のリスクが懸念されている。例えば特許文献１では、ＬＡＮ（Local Area Network）に接続された複数の機器が、外部ネットワークに接続されたサーバと通信する場合、セキュリティ上の信頼度に応じて旗艦機器を定め、旗艦機器のみがサーバと通信を行う機器通信方法等が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−７８３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に係る発明はＬＡＮ内の機器が相互に通信を行って互いの信頼度を確認するため、例えば高信頼度の機器になりすますことで他の機器からデータを搾取するような事態も想定され、セキュリティ対策が十分とは言い難い。
【０００５】
一つの側面では、内部ネットワークに接続されたデバイスの安全性を確保することができる通信装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの側面では、通信装置は、外部ネットワークに接続された装置と、前記外部ネットワークから遮断された内部ネットワークに接続されたデバイスとの間の通信を中継する通信装置であって、通信中継に関する処理を実行する第１実行領域と、該第１実行領域からのアクセスが制限された第２実行領域とを一時記憶領域に展開する展開部と、前記第２実行領域に、通信接続が許可される前記デバイス又は装置を示す接続テーブルを格納する格納部と、接続先への通信接続の要求を接続元から受け付ける受付部と、前記通信接続の要求を受け付けた場合、前記接続元又は接続先の情報を前記第１実行領域から前記第２実行領域に入力する入力部と、前記第２実行領域において、前記接続テーブルを参照して、前記通信接続を許可するか否かを判定する判定部と、前記通信接続を許可すると前記第２実行領域で判定された場合、前記第１実行領域において前記接続元及び接続先の間の通信を中継する処理を実行する通信処理部とを備えることを特徴とする。
【発明の効果】
【０００７】
一つの側面では、内部ネットワークに接続されたデバイスの安全性を確保することができる。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成例を示す模式図である。
【図２】ゲートウェイの構成例を示すブロック図である。
【図３】接続テーブルのレコードレイアウトの一例を示す説明図である。
【図４】ゲートウェイの機能構成例を示す機能ブロック図である。
【図５】デバイスからサーバへの通信接続処理の動作手順を示す説明図である。
【図６】サーバからデバイスへの通信接続処理の動作手順を示す説明図である。
【図７】ゲートウェイが実行する処理手順の一例を示すフローチャートである。
【図８】実施の形態２に係るゲートウェイの機能構成例を示す機能ブロック図である。
【図９】実施の形態２に係るゲートウェイの動作手順を示す説明図である。
【図１０】実施の形態２に係るゲートウェイが実行する処理手順の一例を示すフローチャートである。
【図１１】上述した形態のゲートウェイの動作を示す機能ブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
（実施の形態１）
図１は、通信システムの構成例を示す模式図である。本実施の形態では、接続可能な機器が制限された内部ネットワークと、インターネット等の公衆通信網である外部ネットワークとの間の通信をゲートウェイ１が中継する通信システムについて説明する。通信システムは、ゲートウェイ１、複数のデバイス２、及び一又は複数のサーバ３を含む。ゲートウェイ１及びサーバ３は、外部ネットワークであるネットワークＮを介して通信接続されている。
【００１０】
ゲートウェイ１はルータ等の通信装置であり、内部ネットワークに接続された各デバイス２と、外部ネットワークに接続されたサーバ３との間の通信を中継する。内部ネットワークは、例えばスマートホームに係るネットワークであり、ユーザの自宅に在るデバイス２が接続されたローカルネットワークである。
【００１１】
なお、内部ネットワークは、接続されるデバイス２が制限され、外部ネットワーク（ネットワークＮ）から遮断されたネットワークであればよく、例えばオフィス内に構築された社内ＬＡＮ等であってもよい。また、内部ネットワークはＬＡＮ等のように物理的に通信範囲が制限されたネットワークに限定されず、例えばＶＰＮ（Virtual Private Network）等のように、ネットワークＮ（外部ネットワーク）上の仮想的に構築された内部ネットワークであってもよい。
【００１２】
ゲートウェイ１は、通信接続を許可するデバイス２及びサーバ３を定めたホワイトリスト（接続テーブル）を保持しており、デバイス２又はサーバ３から通信接続要求を受け付けた場合、ホワイトリストを参照して接続の可否を判定し、接続を許可した場合は両者の通信を中継する。本実施の形態ではゲートウェイ１は、後述するように、ＴＥＥ（Trusted Environment Execution）等の技術を用いて安全性を高めたセキュア領域（第２実行領域）を自装置内部に仮想的に構築し、セキュア領域にホワイトリストを格納して判定処理を行うことで、セキュリティ上の安全性を確保する。
【００１３】
デバイス２は所謂ＩｏＴ機器であり、例えばスマート家電、監視カメラ等であり得るが、その内容は特に限定されない。各デバイス２は、外部ネットワークに接続されたサーバ３と通信を行いながら、各々所定の動作を行う。
【００１４】
サーバ３は、デバイス２との間で通信を行ってＩｏＴサービスを提供するサーバ装置である。なお、デバイス２と通信を行う外部ネットワーク上の装置はサーバ装置に限定されず、例えばパーソナルコンピュータ等、その他の装置であってもよい。サーバ３は、ゲートウェイ１を介してデバイス２との間でデータの送受信を行う。
【００１５】
図２は、ゲートウェイ１の構成例を示すブロック図である。ゲートウェイ１は、制御部１１、主記憶部１２、通信部１３、補助記憶部１４を備える。
制御部１１はゲートウェイ１の動作を制御するＳｏＣ（System on Chip）であり、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）、ＧＰＵ（Graphics Processing Unit）等の演算処理装置である。なお、制御部１１は単一のプロセッサであってもよく、複数のプロセッサから構成されてもよい。制御部１１は補助記憶部１４に記憶されているプログラムＰを読み出して実行することにより、ゲートウェイ１に係る種々の情報処理を行う。主記憶部１２は、ＲＡＭ（Random Access Memory）等の一時記憶領域であり、制御部１１が演算処理を実行するために必要なデータを一時的に記憶する。通信部１３は、通信に関する処理を行うための通信モジュールであり、データの送受信を行う。
【００１６】
補助記憶部１４はＲＯＭ（Read Only Memory）等の不揮発性メモリであり、デバイス２が処理動作を行う上で必要なプログラムＰ及びその他のデータを記憶している。なお、補助記憶部１４はＳｏＣ（制御部１１）内部の専用メモリであってもよく、制御部１１に接続された外部メモリであってもよい。補助記憶部１４は、リッチＯＳ（Operating System）２１、リッチアプリケーション２２、セキュアＯＳ３１、セキュアアプリケーション３２、接続テーブル３３を記憶している。リッチＯＳ２１及びリッチアプリケーション２２は、ゲートウェイ１の一般的、汎用的な処理を行うためのＯＳ及びアプリケーションとして動作するソフトウェア（プログラム）である。セキュアＯＳ３１及びセキュアアプリケーション３２は、リッチＯＳ２１及びリッチアプリケーション２２が動作する実行領域からのアクセスが制限されたセキュア領域で動作するソフトウェアであって、セキュア領域におけるＯＳ及びアプリケーションとして動作するソフトウェアである。接続テーブル３３は、通信接続を許可するデバイス２及びサーバ３を定めたホワイトリストであり、内部ネットワークのデバイス２と、当該デバイス２との間の通信接続が許可されるサーバ３とを対応付けて格納したテーブルである。
【００１７】
なお、ゲートウェイ１は外部のネットワークＮを介して他のコンピュータからプログラムＰをダウンロードし、補助記憶部１４に記憶しても良い。また、ゲートウェイ１は、半導体メモリ等の記録媒体１ａを読み取る読取部を備え、記録媒体１ａからプログラムＰを読み取って実行するようにしてもよい。
【００１８】
また、本実施の形態では制御部１１がＳｏＣであるものとして説明するが、制御部１１はＳｏＣに限定されず、ゲートウェイ１を動作させるプロセッサであれば良い。
【００１９】
図３は、接続テーブル３３のレコードレイアウトの一例を示す説明図である。接続テーブル３３は、デバイス列、サーバ列を含む。デバイス列は、内部ネットワークに接続されたデバイス２であって、外部ネットワークへの接続を許可するデバイス２に関する情報を記憶している。デバイス列には、例えばデバイス２を識別するためのデバイスＩＤ、デバイス２のＩＰアドレス等が記憶されている。サーバ列は、デバイスＩＤと対応付けて、デバイス２との間の通信が許可されるサーバ３に関する情報を記憶している。サーバ列には、例えばサーバ３を識別するためのサーバＩＤ、サーバ３のＩＰアドレス等が記憶されている。
【００２０】
図４は、ゲートウェイ１の機能構成例を示す機能ブロック図である。図４では、ゲートウェイ１内部でソフトウェア（ＯＳ、アプリケーション等）を実行する領域が、ＲＥＥ（Rich Execution Environment）等と呼ばれる通常領域２０と、ＴＥＥ等と呼ばれるセキュア領域３０とに仮想的に分離されている様子を図示している。ゲートウェイ１の制御部１１は、プログラムＰを読み出して実行することで、通常領域２０及びセキュア領域３０を一時記憶領域（主記憶部１２）に展開する。
【００２１】
通常領域２０は、広く一般的に利用されているリッチＯＳ２１の実行領域であり、セキュア領域３０へのアクセスが制限される以外に、特段の機能制約がない実行領域である。リッチＯＳ２１は、通常領域２０においてＯＳの機能を果たすソフトウェアであり、リッチアプリケーション２２からの要求に応じて各種ＯＳ機能を提供する。ゲートウェイ１は、リッチＯＳ２１上でリッチアプリケーション２２を実行することで、通信中継機能を含むゲートウェイ１の一般的、汎用的な処理を実行する。
【００２２】
セキュア領域３０は、セキュリティ機能を隔離する目的で、同一のＳｏＣ上で通常領域２０とは別に提供される独立した実行領域である。セキュア領域３０は、通常領域２０からのアクセスが制限されており、実行可能な機能も限定されている。なお、セキュア領域３０は、ＴＥＥのような称呼に限定されるものではなく、通常領域２０と分離され、セキュリティ上より安全な実行領域であれば、どのような称呼の領域であってもよい。ゲートウェイ１は、セキュリティ上保護すべきソフトウェア及びデータをセキュア領域３０に配置すると共に、通常領域２０及びゲートウェイ１の外部からのアクセスを制限することで、安全性を確保する。
【００２３】
上述のように、通常領域２０からセキュア領域３０にはアクセスできないように制限されており、通常領域２０からはセキュア領域３０の存在を認識できない。通常領域２０からセキュア領域３０で実行する処理を呼び出すためには、通常領域２０とセキュア領域３０との間のアクセスを制御するハイパーバイザ４０（共有実行領域）を経由しなければならない。
【００２４】
セキュアＯＳ３１は、セキュア領域３０においてＯＳの機能を果たすソフトウェアであり、セキュアアプリケーション３２からの要求に応じて、セキュリティ機能を中心としたＯＳ機能を提供する。ゲートウェイ１は、セキュアＯＳ３１上でセキュアアプリケーション３２を実行することで、セキュリティ上重要な処理を実行する。
【００２５】
本実施の形態では、ゲートウェイ１を介しての通信接続が許可されるデバイス２及びサーバ３を規定した接続テーブル３３がセキュア領域３０に格納されている。デバイス２又はサーバ３から通信接続の要求を受け付け、両者の通信を中継する場合、ゲートウェイ１は接続元及び接続先の情報をセキュア領域３０に入力し、通信接続を許可するか否か、セキュア領域３０において判定する。通常領域２０とはソフトウェア上分離されたセキュア領域３０において判定を行うことで、セキュリティ上の安全性を確保する。
【００２６】
図５は、デバイス２からサーバ３への通信接続処理の動作手順を示す説明図である。図５ではゲートウェイ１が、内部ネットワークのデバイス２から通信接続の要求を受け付けて、外部ネットワークのサーバ３との間の通信を中継する際の処理手順を図示してある。図５に基づき、本実施の形態の概要を説明する。
【００２７】
上述の如く、ゲートウェイ１の制御部１１は、通常領域２０及びセキュア領域３０を主記憶部１２に展開してある。デバイス２から接続要求を受け付けた場合、当該接続要求はまず、通常領域２０に入力される。制御部１１は、通常領域２０に接続要求が入力された場合、ハイパーバイザ４０を介して接続元（デバイス２）及び接続先（サーバ３）の情報をセキュア領域３０に入力し、通信接続を許可すべきか否か、判定依頼を行う。セキュア領域３０に入力する接続元及び接続先の情報は、例えば接続元及び接続先それぞれのＩＰアドレス、あるいは接続元及び接続先それぞれのＩＤ（デバイスＩＤ及びサーバＩＤ）等である。
【００２８】
セキュア領域３０に判定依頼が入力された場合、制御部１１は、セキュア領域３０に格納してある接続テーブル３３を参照して、通信接続を許可すべきか否かをセキュア領域３０で判定する。具体的には、制御部１１は、通常領域２０から入力された接続元及び接続先の対応関係を接続テーブル３３（ホワイトリスト）と照合し、通信接続を要求されている接続元及び接続先の対応関係が接続テーブル３３で規定する対応関係と一致するか否かを判定する。制御部１１はハイパーバイザ４０を介して、セキュア領域３０から通常領域２０に判定結果を入力（通知）する。
【００２９】
制御部１１は、セキュア領域３０から入力された判定結果に応じて処理を分岐する。例えば制御部１１は、通信接続を許可しないと判定された場合、所定のエラー通知を接続元であるデバイス２に送信する。エラー通知を受信した場合、デバイス２は、エラー通知に応じた所定の処理を行う。エラー通知に応じた処理は、例えば再接続要求、ユーザへの通知、通信切断等であるが、その処理内容は特に限定されない。
【００３０】
また、本実施の形態では通信接続が許可されなかった場合にエラー通知を行うものとするが、本実施の形態はこれに限定されるものではなく、例えば接続元への通知も行わず、その後の処理を停止するようにしてもよい。この場合でも、本実施の形態と同様の効果を奏する。
【００３１】
通信接続を許可すると判定された場合、制御部１１は、通信接続が許可された旨をデバイス２に通知する。当該通知を受けて、デバイス２は改めてゲートウェイ１にアクセスし、通信接続を行う。デバイス２からの通信接続を受け付けた場合、ゲートウェイ１の制御部１１は通常領域２０において通信中継に関する処理を実行し、外部ネットワーク上のサーバ３との間の通信路を確立し、両者の通信を中継する。
【００３２】
図６は、サーバ３からデバイス２への通信接続処理の動作手順を示す説明図である。図５では内部ネットワークのデバイス２から外部ネットワークのサーバ３に接続する場合について説明したが、外部ネットワークのサーバ３から内部ネットワークのデバイス２に接続するようにしてもよい。具体的には図６に示すように、ゲートウェイ１はネットワークＮを介してサーバ３から接続要求を受け付け、セキュア領域３０に判定依頼を入力する。ゲートウェイ１はセキュア領域３０において通信接続の可否を判定し、判定結果に応じてサーバ３からデバイス２への通信接続を中継する。
【００３３】
上記の処理内容は図５で説明した処理と接続元及び接続先の対応関係が逆になっただけであるため、本実施の形態では図示のみを行い、詳細な説明は省略する。
【００３４】
以上より、ゲートウェイ１は通常領域２０とは異なるセキュア領域３０において通信接続の可否を判定する。通常領域２０から認識（アクセス）困難なセキュア領域３０で一連の判定処理を行うことで、判定処理を行う上での安全性を適切に確保することができる。また、セキュア領域３０はソフトウェア上実現される仮想的な領域であるため、セキュアエレメント等のハードウェアを搭載する必要がなく、セキュリティ機能を実装するための実装面積を削減することができる。
【００３５】
図７は、ゲートウェイ１が実行する処理手順の一例を示すフローチャートである。図７に基づき、ゲートウェイ１が実行する処理内容について説明する。
ゲートウェイ１の制御部１１は、内部ネットワークに接続されたデバイス２、又は外部ネットワークに接続されたサーバ３から、相手方（サーバ３又はデバイス２）への通信接続要求を受け付ける（ステップＳ１１）。接続要求を受け付けた場合、制御部１１は、接続元であるデバイス２又はサーバ３の情報と、接続先であるサーバ３又はデバイス２の情報とを、ハイパーバイザ４０（共有実行領域）を介して通常領域２０（第１実行領域）からセキュア領域３０（第２実行領域）に入力する（ステップＳ１２）。
【００３６】
制御部１１は、セキュア領域３０に予め格納してある接続テーブル３３を参照して、通信接続を許可するか否かを判定する（ステップＳ１３）。接続テーブル３３は、ゲートウェイ１を介しての通信接続が許可されるデバイス２及びサーバ３を規定するホワイトリストであって、内部ネットワークのデバイス２、及び当該デバイス２との間の通信接続が許可されるサーバ３とを対応付けて規定するテーブルである。制御部１１は、接続元及び接続先が接続テーブル３３で規定された対応関係と合致するか否かを判定することで、通信接続を許可するか否かを判定する。制御部１１はハイパーバイザ４０を介して、判定結果をセキュア領域３０から通常領域２０に入力する（ステップＳ１４）。
【００３７】
制御部１１は、セキュア領域３０から入力された判定結果を参照して、通信接続が許可されたか否かを判定する（ステップＳ１５）。通信接続が許可されたと判定した場合（Ｓ１５：ＹＥＳ）、制御部１１は、通信接続を許可する旨を接続元に通知する（ステップＳ１６）。通知後、制御部１１は接続元から改めて通信接続を受け付ける（ステップＳ１７）。制御部１１は、接続元及び接続先の間の通信路を確立し、両者の通信を中継する（ステップＳ１８）。制御部１１は一連の処理を終了する。
【００３８】
通信接続が許可されなかったと判定した場合（Ｓ１５：ＮＯ）、制御部１１は接続元にエラー通知を送信し（ステップＳ１９）、一連の処理を終了する。
【００３９】
なお、上記ではデバイス２及びサーバ３の正しい対応関係が接続テーブル３３に規定されているものとして説明したが、本実施の形態はこれに限定されるものではない。例えば接続テーブル３３には、ゲートウェイ１を介しての通信接続が許可されるデバイス２及びサーバ３が規定されるのみで、その対応関係まで規定せずともよい。あるいは、接続テーブル３３にはデバイス２及びサーバ３の双方ではなく、通信接続を許可するデバイス２又はサーバ３のいずれか一方のみが規定されていてもよい。すなわち、ゲートウェイ１は接続テーブル３３を参照して通信接続の可否を判定可能であればよく、接続テーブル３３のレコード内容は上記に限定されない。
【００４０】
以上より、本実施の形態１によれば、通信中継に関する処理を実行する通常領域２０とはソフトウェア上分離したセキュア領域３０において、内部ネットワークのデバイス２と、外部ネットワークのサーバ３との間の通信接続の可否を判定する。これにより、内部ネットワークに接続されたデバイスの安全性を確保することができる。
【００４１】
また、本実施の形態１によれば、正しい接続元及び接続先の対応関係を規定する接続テーブル３３を用いることで、通信接続の可否を適切に判定することができる。
【００４２】
また、本実施の形態１によれば、内部ネットワークから外部ネットワークへの通信接続、及び外部ネットワークから内部ネットワークへの通信接続の双方ともセキュリティ上の安全性を適切に確保することができる。
【００４３】
また、本実施の形態１によれば、接続元に対してエラー通知を行うことで、通信接続が許可されなかった場合に接続元で適宜に処理を行うことができる。
【００４４】
また、本実施の形態１によれば、ハイパーバイザ４０により通常領域２０とセキュア領域３０との間のアクセスを制御することで、通信接続時の安全性をより適切に確保することができる。
【００４５】
（実施の形態２）
本実施の形態では、内部ネットワークに接続するデバイス２を新たに設定すべく、接続テーブル３３を更新する形態について述べる。なお、実施の形態１と重複する内容については同一の符号を付して説明を省略する。
図８は、実施の形態２に係るゲートウェイ１の機能構成例を示す機能ブロック図である。本実施の形態に係るゲートウェイ１は、通常領域２０に認証用データ２３を、セキュア領域３０にハッシュ値３４をそれぞれ格納してある。
【００４６】
例えばゲートウェイ１は、スマートフォン、パーソナルコンピュータ等の所定の端末４から、内部ネットワーク（スマートホーム）に新たに接続するデバイス２の設定登録を受け付ける。認証用データ２３は、例えばパスワード等のデータであり、設定要求の要求元である端末４の認証を行うためのデータである。
【００４７】
ハッシュ値３４は、通常領域２０で動作するリッチＯＳ２１、リッチアプリケーション２２等が正規のプログラムであるか否かを判定するための参照値であり、リッチＯＳ２１、リッチアプリケーション２２等のプログラムをハッシュ化したハッシュ値である。端末４からデバイス２の設定要求を受け付けた場合、ゲートウェイ１はセキュア領域３０において、通常領域２０で動作しているプログラムが正規のプログラムであるか否か、検証を行う。具体的には、ゲートウェイ１は通常領域２０側のプログラムのハッシュ値を算出し、算出したハッシュ値を予め格納してあるハッシュ値３４と照合することで、正規のプログラムからの設定要求であるか否かを判定する。
【００４８】
図９は、実施の形態２に係るゲートウェイ１の動作手順を示す説明図である。図９に基づき、本実施の形態の概要を説明する。
ゲートウェイ１は、端末４からデバイス２の設定要求を受け付ける。当該設定要求は、例えば新たに設定するデバイス２の情報（例えばＩＰアドレス、デバイスＩＤ等）と、当該デバイス２との間の通信接続を許可するサーバ３の情報（例えばＩＰアドレス、サーバＩＤ等）とを含む。端末４から設定要求を受け付けた場合、当該設定要求はまず、通常領域２０に入力される。
【００４９】
設定要求を受け付けた場合、ゲートウェイ１の制御部１１は通常領域２０において、要求元である端末４の認証を行う。例えば制御部１１は、端末４からユーザが入力したパスワードを取得し、認証用データ２３を参照して認証を行う。
【００５０】
認証に成功した場合、制御部１１は通常領域２０において、リッチＯＳ２１、リッチアプリケーション２２等、通常領域２０で実行中のプログラムのハッシュ値（検証値）を算出する。そして制御部１１は、ハイパーバイザ４０を介してハッシュ値を通常領域２０からセキュア領域３０に入力し、ハッシュ値に基づく判定処理を行うよう依頼する。
【００５１】
なお、本実施の形態では通常領域２０においてハッシュ値を演算するものとして説明するが、ハッシュ値の演算をセキュア領域３０において行ってもよい。
【００５２】
通常領域２０から判定依頼が入力された場合、制御部１１はセキュア領域３０において、通常領域２０から入力されたハッシュ値と、通常領域２０側で動作する正規のプログラムのハッシュ値３４とを照合する。これにより制御部１１は、例えば外部からの攻撃によってリッチＯＳ２１、リッチアプリケーション２２等の改竄などが行われていないかを確認し、正当な設定要求であるか否かを判定する。
【００５３】
制御部１１は、判定結果に応じて処理を分岐する。具体的には、制御部１１は、ハッシュ値が一致し、デバイス２の設定登録を許可すると判定した場合、通常領域２０から、新たに設定するデバイス２の情報と、当該デバイス２との間の通信接続を許可するサーバ３の情報とを取得する。制御部１１は、当該デバイス２及びサーバ３の情報を互いに対応付けて接続テーブル３３に格納し、接続テーブル３３を更新する。これにより、制御部１１はデバイス２の設定登録を完了する。
【００５４】
一方で、設定登録の要求元である端末４の認証に失敗した場合、あるいはハッシュ値が一致しなかった場合、制御部１１は端末４に所定のエラー通知を送信する。これにより、不正なデバイス２の設定登録を防ぎ、セキュリティ上の安全性を確保することができる。
【００５５】
図１０は、実施の形態２に係るゲートウェイ１が実行する処理手順の一例を示すフローチャートである。
ゲートウェイ１の制御部１１は、内部ネットワークのデバイス２を設定する設定要求を端末４から受け付ける（ステップＳ２０１）。設定要求は、例えば内部ネットワークに新たに接続するデバイス２の情報と、当該デバイス２への通信接続を許可するサーバ３の情報とを含む。設定要求を受け付けた場合、制御部１１は通常領域２０において、要求元である端末４の認証を行う（ステップＳ２０２）。制御部１１は、認証に成功したか否かを判定する（ステップＳ２０３）。
【００５６】
認証に成功したと判定した場合（Ｓ２０３：ＹＥＳ）、制御部１１は、通常領域２０で実行中のプログラム（リッチＯＳ２１、リッチアプリケーション２２等）のハッシュ値を算出する（ステップＳ２０４）。制御部１１はハイパーバイザ４０を介して、算出したハッシュ値を通常領域２０からセキュア領域３０に入力する（ステップＳ２０５）。
【００５７】
制御部１１は、通常領域２０から入力されたハッシュ値を、セキュア領域３０に予め格納してあるハッシュ値３４と照合する（ステップＳ２０６）。制御部１１は、両者が一致したか否かを判定する（ステップＳ２０７）。一致したと判定した場合（Ｓ２０７：ＹＥＳ）、制御部１１は、新たに設定するデバイス２及びサーバ３を互いに対応付けて接続テーブル３３に格納することで、接続テーブル３３を更新する（ステップＳ２０８）。これにより制御部１１は、デバイス２の設定登録を完了する。
【００５８】
ステップＳ２０８の処理を実行後、又はステップＳ２０３若しくはステップＳ２０７でＮＯの場合、制御部１１は一連の処理を終了する。
【００５９】
なお、上記では新たにデバイス２を設定登録する場合について説明したが、本実施の形態はこれに限定されるものではなく、既に設定登録してあるデバイス２の削除、あるいは通信接続相手であるサーバ３の新規設定登録、変更、削除等に上記の形態を応用してもよい。すなわち、ゲートウェイ１は、接続テーブル３３の更新要求を受け付け、更新要求元の認証及びハッシュ値の照合を行って更新の可否を判定し、接続テーブル３３を更新可能であればよく、その処理内容は新規のデバイス２の設定登録に限定されない。
【００６０】
また、上記では通常領域で実行中のプログラムが正規のプログラムであるか否かを判定するための値としてハッシュ値を用いたが、本実施の形態はこれに限定されるものではない。例えばゲートウェイ１は、公開鍵暗号等を用いてハッシュ値からさらに電子署名の署名値を算出し、署名値を検証することで判定を行うようにしてもよい。また、例えばゲートウェイ１は、プログラム（ソースコード）自体のハッシュ値ではなく、プログラムに付随する識別子（ＩＤ）のハッシュ値を計算するなどしてもよい。すなわち、ゲートウェイ１は通常領域２０で実行中のプログラムを表す検証値を算出し、実行中のプログラムを表す検証用の参照値と照合可能であればよく、そのアルゴリズムは特に限定されない。
【００６１】
以上より、本実施の形態２によれば、セキュリティ上の安全性を確保しつつ、接続テーブル３３を更新することができる。
【００６２】
また、本実施の形態２によれば、セキュア領域３０における判定処理の前に通常領域２０において要求元（端末４）の認証を行うことで、安全性をより適切に確保することができる。
【００６３】
（実施の形態３）
図１１は、上述した形態のゲートウェイ１の動作を示す機能ブロック図である。制御部１１がプログラムＰを実行することにより、ゲートウェイ１は以下のように動作する。
展開部１１１は、通信中継に関する処理を実行する第１実行領域と、該第１実行領域からのアクセスが制限された第２実行領域とを一時記憶領域に展開する。格納部１１２は、前記第２実行領域に、通信接続が許可されるデバイス又は装置を示す接続テーブルを格納する。受付部１１３は、接続先への通信接続の要求を接続元から受け付ける。入力部１１４は、前記通信接続の要求を受け付けた場合、前記接続元又は接続先の情報を前記第１実行領域から前記第２実行領域に入力する。判定部１１５は、前記第２実行領域において、前記接続テーブルを参照して、前記通信接続を許可するか否かを判定する。通信処理部１１６は、前記通信接続を許可すると前記第２実行領域で判定された場合、前記第１実行領域において前記接続元及び接続先の間の通信を中継する処理を実行する。
【００６４】
本実施の形態３は以上の如きであり、その他は実施の形態１及び２と同様であるので、対応する部分には同一の符号を付してその詳細な説明を省略する。
【００６５】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６６】
１    ゲートウェイ（通信装置）
１１  制御部
１２  主記憶部
１３  通信部
１４  補助記憶部
Ｐ    プログラム
２１  リッチＯＳ
２２  リッチアプリケーション
３１  セキュアＯＳ
３２  セキュアアプリケーション
３３  接続テーブル
２    デバイス
３    サーバ
４    端末
【図１】
2020141284.tif 000003
【図２】
2020141284.tif 000004
【図３】
2020141284.tif 000005
【図４】
2020141284.tif 000006
【図５】
2020141284.tif 000007
【図６】
2020141284.tif 000008
【図７】
2020141284.tif 000009
【図８】
2020141284.tif 000010
【図９】
2020141284.tif 000011
【図１０】
2020141284.tif 000012
【図１１】
2020141284.tif 000013