(57)【要約】【課題】悪意のある第三者が、組み込み機器に記憶されたファームウェアを不正に取得して改ざんすることにより、組み込み機器の起動時に改ざんされたファームウェアで動作してしまう虞がある。【解決手段】組み込み機器が、起動の都度にネットワークを介して外部装置であるサーバ１１ａから第１の組み込みソフトウェアを取得して記憶させる揮発性記憶部１０４を備えて、第１の組み込みソフトウェアが記憶された揮発性記憶部１０４の記憶領域をマウント処理して第１の組み込みソフトウェアを実行可能な状態とする。【選択図】図１
2018169729.tif 000002
【特許請求の範囲】
【請求項１】
起動の都度にネットワークを介して外部装置から第１の組み込みソフトウェアをダウンロードする通信ソフトウェアと、前記通信ソフトウェアでダウンロードされた前記第１の組み込みソフトウェアを取得する基本ソフトウェアと、を記憶するための不揮発性記憶部と、
前記基本ソフトウェアで取得された前記第１の組み込みソフトウェアを記憶するための揮発性記憶部と、
を備え、
前記基本ソフトウェアは、前記第１の組み込みソフトウェアが記憶された前記揮発性記憶部の記憶領域をマウント処理して前記第１の組み込みソフトウェアを実行可能な状態とする、
組み込み機器。
【請求項２】
前記基本ソフトウェアは、自機器の配下に接続する別の組み込み機器を実行させる第２の組み込みソフトウェアを前記ネットワークを介して前記外部装置から取得し、取得した前記第２の組み込みソフトウェアを前記別の組み込み機器に送信する、
請求項１に記載の組み込み機器。
【請求項３】
前記基本ソフトウェアは、前記外部装置から検出基本ソフトウェアをさらに取得して、前記揮発性記憶部に記憶させるとともに、マウント処理して実行可能な状態とし、
実行可能な状態の前記検出基本ソフトウェアは、前記基本ソフトウェアとの協調処理に基づき、改ざんされた前記第１の組み込みソフトウェアを検出する、
請求項１又は２に記載の組み込み機器。
【請求項４】
請求項１に記載の組み込み機器と、
請求項１に記載の外部装置と、
を備え、
前記外部装置は、前記組み込み機器の前記第１の組み込みソフトウェアを格納するソフトウェア格納領域、及び、前記ネットワークを介して前記組み込み機器から受信した識別情報に基づき前記組み込み機器を識別し、前記ソフトウェア格納領域に格納された前記組み込み機器を実行させる前記第１の組み込みソフトウェアを前記組み込み機器に送信する識別部、を有する、
組み込み機器システム。
【請求項５】
起動時にネットワークを介して外部装置に識別情報を送信する情報送信工程と、
前記情報送信工程で送信した前記識別情報と対応する組み込みソフトウェアを前記外部装置からダウンロードするダウンロード工程と、
前記ダウンロード工程でダウンロードした前記組み込みソフトウェアを揮発性記憶部に記憶させる記憶工程と、
前記記憶工程で記憶させた前記揮発性記憶部の記憶領域をマウント処理して、前記組み込みソフトウェアを実行可能な状態とするマウント工程と、
を有する組み込み機器の起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された組み込み機器、組み込み機器システム及び組み込み機器の起動方法に関する。
【背景技術】
【０００２】
従来の組み込み機器は、機器の用途である主機能を実行するソフトウェアを含むファームウェアをフラッシュメモリ等の不揮発性記憶部に記憶させ、揮発性記憶部に展開して主機能のソフトウェアを起動及び実行させることで動作する。そして、組み込み機器の主機能を変更する必要が生じた場合には、変更した主機能のソフトウェアを含むファームウェアを不揮発性記憶部に再び記憶させることで容易に対応が可能である。
【０００３】
しかしながら、このような組み込み機器は、悪意のある第三者がファームウェアを不正に改ざんして更新をしてしまうと、例えば、当該組み込み機器を利用するユーザーがインターネット接続を行った際に、ユーザーの個人情報をインターネットに流出させてしまう等、意図しない動作を引き起こす虞がある。
【０００４】
上述の問題に対し、従来技術の組み込み機器では、起動に伴って不揮発性記憶部に記憶されたファームウェアの正当性を確認することが行われる（例えば、特許文献１を参照）。
【０００５】
上記の従来技術では、組み込み機器の不揮発性記憶部に記憶させるファームウェアを、複数の分割ファームウェアに分割してランダムな大きさのダミーデータを間に挿入したデータ部と、分割数などの分割ファームウェアに関する情報を格納したヘッダ部とを含むように構成したことにより、組み込み機器は起動のタイミングで記憶されたファームウェアの正当性を確認することができるため、改ざんされたファームウェアで動作を開始することを回避する効果が得られる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−１７７５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、悪意のある第三者が組み込み機器のファームウェアを不正に取得し解析することによって、組み込み機器のファームウェアが従来技術の内容を踏まえて改ざんする可能性がある。つまり、組み込み機器のファームウェアが正当性を確保しつつ改ざんされてしまう虞がある。
【０００８】
本発明は、上記の問題を解決するためのものであり、組み込みソフトウェアが改ざんされた状態で動作する可能性を低減させることができる組み込み機器を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、起動の都度にネットワークを介して外部装置から第１の組み込みソフトウェアをダウンロードする通信ソフトウェアと、通信ソフトウェアでダウンロードされた第１の組み込みソフトウェアを取得する基本ソフトウェアとを記憶するための不揮発性記憶部と、基本ソフトウェアで取得された第１の組み込みソフトウェアを記憶するための揮発性記憶部とを備え、基本ソフトウェアは、第１の組み込みソフトウェアが記憶された揮発性記憶部の記憶領域をマウント処理して第１の組み込みソフトウェアを実行可能な状態とする組み込み機器である。
【発明の効果】
【００１０】
本発明によれば、組み込み機器が、起動の都度にネットワークを介して外部装置から組み込みソフトウェアを取得し実行させるように構成したので、組み込みソフトウェアが改ざんされた状態で機器を動作させる可能性を低減させる効果が得られる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１における、組み込み機器システムの構成を説明するためのシステム構成図である。
【図２】ゲートウェイ装置がサーバから組み込みソフトウェアを取得して実行可能な状態とするまでの処理を示すフローチャート図である。
【図３】ゲートウェイ装置の起動直後の内部処理を説明するための模式図である。
【図４】ゲートウェイ装置が取得した組み込みソフトウェアを揮発性記憶部に書き込む内部処理を説明するための模式図である。
【図５】ゲートウェイ装置が取得した組み込みソフトウェアを実行可能な状態とする内部処理を説明するための模式図である。
【図６】本発明の実施の形態２における、組み込み機器システムの構成を説明するためのシステム構成図である。
【図７】ゲートウェイ装置の配下に監視カメラがツリー状に接続する構成を示すネットワーク構成図である。
【図８】ゲートウェイ装置の配下に監視カメラが直列接続する構成を示すネットワーク構成図である。
【図９】本発明の実施の形態３における、組み込み機器システムの構成を説明するためのシステム構成図である。
【図１０】ゲートウェイ装置の内部処理を説明するための模式図である。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、本発明の実施の形態１における、組み込み機器システムの構成を説明するためのシステム構成図である。組み込み機器システムは、ゲートウェイ装置１０ａ及びサーバ１１ａで構成される。
【００１３】
ゲートウェイ装置１０ａは、インターネット１２ａに接続した組み込み機器である。
【００１４】
サーバ１１ａは、インターネット１２ａ上に設置された種々の情報処理を行う外部装置であり、悪意のある第三者からの不正なアクセスに対するセキュリティが確保された状態にある。
【００１５】
インターネット１２ａは、ゲートウェイ装置１０ａ及びサーバ１１ａ間の通信が行われるネットワークであり、ゲートウェイ装置１０ａ及びサーバ１１ａ間の通信のセキュリティが確保されているものとする。
【００１６】
なお、インターネット１２ａは、広域ネットワーク、イントラネットワーク、又はローカルネットワークなど、いずれのネットワーク形態であっても良いが、ゲートウェイ装置１０ａは、サーバ１１ａほどにセキュリティが確保されておらず、悪意のある第三者から不正にアクセスされる可能性がある前提のもと、ここではインターネットとして説明する。
【００１７】
図１に示すように、ゲートウェイ装置１０ａは、不揮発性記憶部１００及び揮発性記憶部１０４を備える。
【００１８】
不揮発性記憶部１００は、ファームウェア１０１を記憶するための、例えばフラッシュメモリ等の不揮発性の記憶装置である。そして、ファームウェア１０１は、基本ソフトウェア１０２及び通信ソフトウェア１０３を含む。なお、実施の形態１では、組み込み機器の起動とともにファームウェア１０１を実行させるブートローダ（Ｂｏｏｔｌｏａｄｅｒ）についての説明は省略する。
【００１９】
基本ソフトウェア１０２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に相当する、装置の用途とは直接に関わりのない汎用的なソフトウェアであり、ゲートウェイ装置１０ａの主機能を実行するソフトウェア及びハードウェアの管理及び制御を行う機能を有する。
【００２０】
通信ソフトウェア１０３は、サーバ１１ａとの間で通信を行うソフトウェアであり、基本ソフトウェア１０２の制御のもと、指定された記憶領域間の種々の情報及びデータの送受信を行う。
【００２１】
揮発性記憶部１０４は、実行させるソフトウェアを実行可能な状態に展開して記憶するための、例えばＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶装置である。なお、本実施の形態では、不揮発性記憶部１００はコンピュータシステムとしての補助記憶、揮発性記憶部１０４はコンピュータシステムとしての主記憶として動作するものとする。また、不揮発性記憶部１００及び揮発性記憶部１０４はそれぞれ、複数の不揮発性の記憶装置及び複数の揮発性の記憶装置によって構成されていても良い。
【００２２】
また、図１に示すサーバ１１ａは、ソフトウェア格納部１１０及び識別部１１２を備える。
【００２３】
ソフトウェア格納部１１０は、ゲートウェイ装置１０ａにダウンロードしてゲートウェイ装置１０ａを動作させる第１の組み込みソフトウェアとしての組み込みソフトウェア１１１を格納している。なお、組み込みソフトウェア１１１は、ソフトウェアコンポーネントのように、特定処理をなす機能を分割したもの又は複数組み合わさり特定処理をなす機能単位に相当するものであっても良く、そのような場合には、組み込みソフトウェア１１１をゲートウェイ装置１０ａがダウンロードするソフトウェアコンポーネントの１つと見做して、複数の組み込みソフトウェア１１１（つまり、複数のソフトウェアコンポーネント）を複数回に分けてダウンロードするようにしても良いし、組み込みソフトウェア１１１をゲートウェイ装置１０ａがダウンロードするソフトウェアコンポーネントをまとめたものと見做して、１つの組み込みソフトウェア１１１（つまり、複数のソフトウェアコンポーネントのまとまり）をダウンロードするようにしても良い。
【００２４】
また、ソフトウェア格納部１１０には、複数種類のゲートウェイ装置１０ａをそれぞれ実行させる複数種類の組み込みソフトウェア１１１が格納されていても良い。格納された組み込みソフトウェア１１１は、ゲートウェイ装置１０ａから受信する識別情報と予め対応付けられて、識別情報をもとに検索及び取得が行えるように管理されている。
【００２５】
識別部１１２は、ゲートウェイ装置１０ａから受信する識別情報に基づき、正当なゲートウェイ装置１０ａを識別し、ソフトウェア格納部１１０から対応する組み込みソフトウェア１１１を検索して当該ゲートウェイ装置１０ａに対して送信する。
【００２６】
ところで、第三者の不正なアクセスによって改ざんされる可能性を低減させるため、基本ソフトウェア１０２は、通信ソフトウェア１０３を用いてインターネット１２ａ上に設置されたサーバ１１ａから組み込みソフトウェア１１１をダウンロードし、実行可能な状態である組み込みソフトウェア１０５として揮発性記憶部１０４に記憶させるための最低限の機能のみを有するのが望ましい。
ここで、図１のＣ１は、サーバ１１ａのソフトウェア格納部１１０に格納された組み込みソフトウェア１１１をゲートウェイ装置１０ａの揮発性記憶部１０４にダウンロードすることを示す。
【００２７】
図２は、ゲートウェイ装置１０ａがサーバ１１ａから組み込みソフトウェア１１１を取得して組み込みソフトウェア１０５として実行可能な状態とするまでの処理を示すフローチャート図である。以下、図２を用いて、起動後のゲートウェイ装置１０ａにおいて実行可能な組み込みソフトウェア１０５を得るまでの処理の流れを説明する。
【００２８】
まず、電源を投入して開始する時点では、ゲートウェイ装置１０ａの不揮発性記憶部１００にはファームウェア１０１が記憶されているが、揮発性記憶部１０４には組み込みソフトウェア１０５は記憶されていない。
【００２９】
処理Ｓ２１で電源を投入すると、ゲートウェイ装置１０ａが起動される。このとき、不揮発性記憶部１００のファームウェア１０１が実行され、基本ソフトウェア１０２及び通信ソフトウェア１０３が処理を開始する。
【００３０】
処理Ｓ２２では、ゲートウェイ装置１０ａの基本ソフトウェア１０２が、主記憶である揮発性記憶部１０４の一部の記憶領域をマウント処理して、仮想的なファイルシステムとして認識できるようにする。なお、基本ソフトウェア１０２がマウント処理を行うのと並行して、通信ソフトウェア１０３はサーバ１１ａとの通信を確立させる。
【００３１】
処理Ｓ２３では、ゲートウェイ装置１０ａの基本ソフトウェア１０２が、通信ソフトウェア１０３の通信を用いて、サーバ１１ａに対して識別情報を送信する。
【００３２】
識別情報とは、ゲートウェイ装置１０ａのファームウェア１０１のＳＵＭ値（Ｃｈｅｃｋｓｕｍ）及び装置固有データを示す情報であり、さらに装置固有データとは、例えばＭＡＣアドレス又は製造番号などの装置を一意に特定する情報である。なお、識別情報は予め不揮発性記憶部１００に記憶されており、基本ソフトウェア１０２が処理を開始する時点で取得するようにしても良い。
【００３３】
処理Ｓ２４では、サーバ１１ａの識別部１１２が、ゲートウェイ装置１０ａから受信した識別情報に基づき、ゲートウェイ装置１０ａの識別を行う。
【００３４】
サーバ１１ａの識別部１１２は、識別情報から得られるファームウェア１０１のＳＵＭ値を確認することでファームウェアの正当性の有無を判定するとともに、装置固有データを確認することでゲートウェイ装置１０ａが組み込みソフトウェア１１１の正当な送信対象であるかどうかを判定する。つまり、サーバ１１ａは、改ざんされていない正当なゲートウェイ装置１０ａを識別するにあたり、受信した識別情報に基づき、ゲートウェイ装置１０ａに記憶されたファームウェア１０１のＳＵＭ値が正当であり、かつ、ゲートウェイ装置１０ａの装置固有データにより組み込みソフトウェア１１１の正当な送信対象であることの判定を行っている。
【００３５】
処理Ｓ２５では、処理Ｓ２４の結果、ゲートウェイ装置１０ａが正当な装置であると識別できる場合は、ソフトウェア格納部１１０に格納された組み込みソフトウェア１１１からゲートウェイ装置１０ａを実行させるものを検索し、処理Ｓ２６に進む。また、ゲートウェイ装置１０ａが正当な装置であると識別できない場合は、処理Ｓ２９に進む。
【００３６】
処理Ｓ２６では、サーバ１１ａの識別部１１２が、識別情報に基づき識別したゲートウェイ装置１０ａを実行させる組み込みソフトウェア１１１をゲートウェイ装置１０ａに送信する。
【００３７】
処理Ｓ２７では、ゲートウェイ装置１０ａの基本ソフトウェア１０２の制御のもと、通信ソフトウェア１０３がダウンロードした組み込みソフトウェア１１１を、処理Ｓ２２で認識できるようにした揮発性記憶部１０４のファイルシステムに書き込む。
【００３８】
処理Ｓ２８では、ゲートウェイ装置１０ａの基本ソフトウェア１０２は、組み込みソフトウェア１１１を書き込んだ揮発性記憶部１０４の一部の記憶領域をマウント処理することによって、当該記憶領域を組み込みソフトウェア１０５の実行領域として認識する。このようにして実行可能な状態として揮発性記憶部１０４に記憶された組み込みソフトウェア１０５を得る。そして処理を終了する。
【００３９】
以上のようにして、ゲートウェイ装置１０ａの通信ソフトウェア１０３は、起動の都度にインターネット１２ａを介して組み込みソフトウェア１１１をサーバ１１ａからダウンロードし、基本ソフトウェア１０２は、ダウンロードした組み込みソフトウェア１１１が記憶された揮発性記憶部１０４の一部の記憶領域をマウント処理して実行可能な状態の組み込みソフトウェア１０５とする。
【００４０】
一方、処理Ｓ２５で対象となるゲートウェイ装置１０ａを識別できなかった場合は処理Ｓ２９に進むこととなるが、処理Ｓ２９では、サーバ１１ａの識別部１１２が、ゲートウェイ装置１０ａに対して、識別不可である旨を示す通知情報“識別不可”を通知する。“識別不可”の通知情報を受信したゲートウェイ装置１０ａの基本ソフトウェア１０２は、再度、サーバ１１ａに対して識別情報の送信を試みても良いし、不正に改ざんされた可能性があるため、装置の動作を停止させたり、図示しない管理システムに状況の通知を行ったりしても良い。
【００４１】
次に、図２のフローチャートを実行するゲートウェイ装置１０ａの内部処理について、図３〜５を用いてさらに詳細に説明する。
【００４２】
図３は、ゲートウェイ装置１０ａの起動直後の内部処理を説明するための模式図である。
【００４３】
また、図４は、ゲートウェイ装置１０ａが取得した組み込みソフトウェア１１１を揮発性記憶部１０４に書き込む内部処理を説明するための模式図である。
【００４４】
また、図５は、ゲートウェイ装置１０ａが取得した組み込みソフトウェア１１１を組み込みソフトウェア１０５として実行可能な状態とする内部処理を説明するための模式図である。
【００４５】
図３の処理Ｓ３１は、図２の処理Ｓ２１に相当する内部処理であり、起動後のゲートウェイ装置１０ａが、不揮発性記憶部１００に記憶したファームウェア１０１に含まれる基本ソフトウェア１０２及び通信ソフトウェア１０３を主記憶である揮発性記憶部１０４に展開し、実行可能な状態とする。なお、基本ソフトウェア１０２及び通信ソフトウェア１０３は、装置の起動に伴って実行可能な状態となることを前提に説明するので、不揮発性記憶部１００に記憶された状態と、揮発性記憶部１０４に展開され実行可能となった状態とを同じ符号を用いて表す。
【００４６】
図３の処理Ｓ３２は、図２の処理Ｓ２２に相当する内部処理であり、ゲートウェイ装置１０ａの基本ソフトウェア１０２が、主記憶である揮発性記憶部１０４の一部の記憶領域を仮想的なファイルシステム１２０として認識するためのマウント処理を示す。このようにすることで、基本ソフトウェア１０２は揮発性記憶部１０４の一部の記憶領域を、例えば、仮想的に構築されるＲＡＭディスクのようにソフトウェアで実現される補助記憶として認識し、データの書き込み及び読み込みが行えるようになる。
【００４７】
図４の処理Ｓ４１は、図２の処理Ｓ２３に相当する内部処理であり、ゲートウェイ装置１０ａの通信ソフトウェア１０３が、基本ソフトウェア１０２の制御のもと、サーバ１１ａに対して識別情報を送信する処理を示す。
【００４８】
サーバ１１ａの識別部１１２は、受信した識別情報に基づき、ゲートウェイ装置１０ａを識別するとともにソフトウェア格納部１１０から対応する組み込みソフトウェア１１１を検索して、ゲートウェイ装置１０ａに送信する。このときのサーバ１１ａの処理は、図２の処理Ｓ２４〜２６に相当する。
【００４９】
図４の処理Ｓ４２は、図２の処理Ｓ２７に相当する内部処理であり、ゲートウェイ装置１０ａの通信ソフトウェア１０３は、サーバ１１ａから組み込みソフトウェア１１１をダウンロードすると、基本ソフトウェア１０２の制御のもと、当該組み込みソフトウェア１１１をファイルシステム１２０に書き込む。記憶領域１２１は、組み込みソフトウェア１１１をファイルシステム１２０に書き込んだ状態を示す。
【００５０】
なお、処理Ｓ４２における組み込みソフトウェア１１１のダウンロード速度とファイルシステム１２０への書き込み速度との差分については、例えばゲートウェイ装置１０ａの受信バッファ１０６を用いて調整すれば良い。
【００５１】
図５の処理Ｓ５１は、図２の処理Ｓ２８に相当する内部処理であり、ゲートウェイ装置１０ａの基本ソフトウェア１０２が、組み込みソフトウェア１１１の書き込みが完了した記憶領域１２１をマウント処理する。
【００５２】
処理Ｓ５１で基本ソフトウェア１０２がマウント処理することによって、記憶領域１２１はそれまで補助記憶として認識されていたところ、実行可能な組み込みソフトウェア１０５を記憶した揮発性記憶部１０４の一部、つまり、組み込みソフトウェア１０５の実行領域として再認識されるようになる。つまり、ゲートウェイ装置１０ａは、上記の過程を経て揮発性記憶部１０４上に実行可能な組み込みソフトウェア１０５を得る。
【００５３】
上述したように、基本ソフトウェア１０２は、組み込みソフトウェア１１１を取得し実行させるための最低限の機能のみを有していれば良く、組み込みソフトウェア１１１を実行させた後に必要となるその他の機能は、組み込みソフトウェア１１１とともにサーバ１１ａから取得し実行させれば良い。しかしながら、装置の起動時点で実行させたい内容に応じて、基本ソフトウェア１０２には上述した最低限の機能以外のものをさらに、前もって含めておいても良い。
【００５４】
また、通信ソフトウェア１０３についても同様に、組み込みソフトウェア１１１をダウンロードするための最低限の機能を有していれば良く、装置が動作してから必要となる他の機能は、組み込みソフトウェア１１１とともにサーバ１１ａから取得し実行させることも可能である。
【００５５】
このように、不揮発性記憶部１００に記憶させたファームウェア１０１には、装置の主機能を実行する組み込みソフトウェア１１１を取得するための必要最低限の機能のみを含め、取得した組み込みソフトウェア１１１を直接に揮発性記憶部１０４に書き込んで実行可能な状態とするようにしたので、ゲートウェイ装置１０ａの改ざん対象となるソフトウェアを最小限に留めて、ソフトウェアが改ざんされた状態でゲートウェイ装置１０ａを動作させる可能性を従来よりも低減させることが可能となる。このことは、ゲートウェイ装置１０ａのセキュリティに関わる堅牢性をさらに向上させる効果がある。
【００５６】
なお、揮発性記憶部１０４には極力ソフトウェアを保持させずに、揮発性記憶部１０４に保持させるようにしたのは、不揮発性記憶部１００に静的に記憶された実行可能な状態ではないソフトウェアよりも、揮発性記憶部１０４に動的に記憶された実行可能な状態のソフトウェアの方が改ざんが困難であることを前提としている。
【００５７】
さらに、装置の起動のタイミングだけではなく、ゲートウェイ装置１０ａが定期的又は所定の条件のもとで、サーバ１１ａに対して識別情報を送信したり、識別情報とは別に定義される管理情報をサーバ１１ａとの間で送受信したりすることで、ゲートウェイ装置１０ａのソフトウェアが改ざんされた場合に、サーバ１１ａがゲートウェイ装置１０ａの通常とは異なる動作を検出して再起動又は動作停止させたり、図示しない管理システムに状況の通知を行ったりして、より確実にゲートウェイ装置１０ａのセキュリティを確保するとともに早期に対処することが可能となる。
【００５８】
以上に説明したように、本発明の実施の形態１によれば、ゲートウェイ装置１０ａの不揮発性記憶部１００に記憶された基本ソフトウェア１０２及び通信ソフトウェア１０３が、装置の起動の都度に、セキュアなネットワークを介してセキュリティが確保されたサーバ１１ａから組み込みソフトウェア１１１を取得し実行させるように構成したので、常に正当な組み込みソフトウェア１０５を実行させることが可能となり、その結果として、組み込みソフトウェア１０５が改ざんされた状態でゲートウェイ装置１０ａを動作させる可能性を低減させる効果が得られる。
【００５９】
また、実施の形態１によれば、ゲートウェイ装置１０ａの主機能を実行する組み込みソフトウェア１０５を不揮発性記憶部１００から切り離すように構成しており、一般に、不揮発性記憶部１００に記憶されたソフトウェアに比べて、揮発性記憶部１０４に記憶されたソフトウェアは改ざんが困難であることから、組み込みソフトウェア１０５を改ざんされる可能性を低減させる効果が得られる。
【００６０】
また、実施の形態１によれば、ゲートウェイ装置１０ａの起動に伴い必ず組み込みソフトウェア１１１を取得して実行させるように構成したことで、仮にゲートウェイ装置１０ａの揮発性記憶部１０４に記憶した組み込みソフトウェア１０５が改ざんされて制御不能となっても、装置の再起動によって再び正当な組み込みソフトウェア１０５を取得して正常動作に復帰する効果が得られる。
【００６１】
また、実施の形態１によれば、サーバ１１ａ側で、ゲートウェイ装置１０ａのソフトウェアを管理するように構成したことで、例えば、ゲートウェイ装置１０ａの主機能を変更させたり、ゲートウェイ装置１０ａに新たなハードウェアを実装させたりする場合であっても、適宜カスタマイズした組み込みソフトウェア１１１を複数の装置に一括でダウンロードさせ主機能の変更に対応させたり、ＯＳのバージョンアップを行う場合であっても、既存の組み込みソフトウェア１０５に適した設定を行ったうえで一括でダウンロードさせバージョンアップ作業を完了させたり等、従来よりもゲートウェイ装置１０ａの拡張性及び保守性を向上させる効果が得られる。
【００６２】
実施の形態２．
実施の形態１では、ゲートウェイ装置１０ａがサーバ１１ａと接続し、装置の起動の都度にサーバ１１ａから主機能を実行させる組み込みソフトウェア１１１を取得することを行った。実施の形態２では、ゲートウェイ装置１０ｂが配下に接続した監視カメラ１３ａの主機能を実行させる組み込みソフトウェア１１３を取得することを行う。それ以外は実施の形態１と同様である。
【００６３】
図６は、本発明の実施の形態２における、組み込み機器システムの構成を説明するためのシステム構成図である。組み込み機器システムは、ゲートウェイ装置１０ｂ、監視カメラ１３ａ、及びサーバ１１ｂで構成される。図６において、実施の形態１の図１に示す構成と共通する部分については説明を省略する。
【００６４】
監視カメラ１３ａは、ゲートウェイ装置１０ｂにローカルネットワーク１２ｂで接続した、ゲートウェイ装置１０ｂとは別の組み込み機器である。
【００６５】
サーバ１１ｂ、ゲートウェイ装置１０ｂ及び監視カメラ１３ａは、インターネット１２ａ及びローカルネットワーク１２ｂを介して、多段接続、つまり数珠繋ぎとなっており、通常は監視カメラ１３ａからサーバ１１ｂへの通信は行わないものとする。しかしながら、例えばゲートウェイ装置１０ｂが通常の動作とは異なる状況において、監視カメラ１３ａからサーバ１１ｂに直接に通信を行えるようにしても良い。
【００６６】
なお、ローカルネットワーク１２ｂは、イントラネットワーク、広域ネットワーク、又はインターネットなど、いずれのネットワーク形態であっても良いが、ゲートウェイ装置１０ｂが集約するネットワークという前提のもと、ここではローカルネットワークとして説明する。
【００６７】
また、図６に示すサーバ１１ｂのソフトウェア格納部１１０には、ゲートウェイ装置１０ｂを実行させる第１の組み込みソフトウェアとしての組み込みソフトウェア１１１及び監視カメラ１３ａを実行させる第２の組み込みソフトウェアとしての組み込みソフトウェア１１３が格納されている。
【００６８】
サーバ１１ｂの識別部１１２は、ゲートウェイ装置１０ｂから送信される識別情報に基づきゲートウェイ装置１０ｂを識別して、ソフトウェア格納部１１０から対応する組み込みソフトウェア１１１及び１１３を検索してゲートウェイ装置１０ｂに対して送信する。
【００６９】
このとき、識別部１１２が、ゲートウェイ装置１０ｂの配下に監視カメラ１３ａが接続しており、組み込みソフトウェア１１３も併せてゲートウェイ装置１０ｂに送信する必要があると判断するために、例えば、ゲートウェイ装置１０ｂが送信する識別情報に配下に接続する監視カメラ１３ａに関する情報を含めたり、実施の形態１において、ゲートウェイ装置１０ｂが定期的又は所定の条件のもとでサーバ１１ｂとの間で識別情報又は管理情報の送受信を行ったのと同様に、ゲートウェイ装置１０ｂ及び監視カメラ１３ａの間で上記の情報の送受信を行うとともに、ゲートウェイ装置１０ｂが当該情報をサーバ１１ｂに通知したり、サーバ１１ｂにネットワーク上の装置構成の情報を予め設定しておいたりすることが考えられる。
【００７０】
サーバ１１ｂから組み込みソフトウェア１１１及び１１３をダウンロードしたゲートウェイ装置１０ｂは、例えば、揮発性記憶部１０４に監視カメラ１３ａ向けの組み込みソフトウェア１１３を組み込みソフトウェア１０７として一旦保持しておく。そして、監視カメラ１３ａの起動に伴って送信される識別情報に基づき、サーバ１１ｂの識別部１１２と同様にして、監視カメラ１３ａが正当な装置であるかを識別し、正当な装置と識別した場合に、監視カメラ１３ａに対して組み込みソフトウェア１０７を送信する。つまり、ゲートウェイ装置１０ｂは監視カメラ１３ａに対してサーバ１１ｂのように振る舞う。
【００７１】
ここで、図６のＣ１は、図１のＣ１と同様である。また、図６のＣ２ａは、サーバ１１ｂのソフトウェア格納部１１０に格納された組み込みソフトウェア１１３をゲートウェイ装置１０ｂの揮発性記憶部１０４にダウンロードすることを示す。また、図６のＣ２ｂは、ゲートウェイ装置１０ｂの揮発性記憶部１０４に記憶させた組み込みソフトウェア１０７を監視カメラ１３ａの揮発性記憶部１４４にダウンロードすることを示す。
【００７２】
その後、ゲートウェイ装置１０ｂが実行可能な組み込みソフトウェア１０５を得る手順は実施の形態１と同様である。また、監視カメラ１３ａは、ゲートウェイ装置１０ｂと同様の手順で、揮発性記憶部１４４に実行可能な組み込みソフトウェア１４５を得る。
【００７３】
ところで、ゲートウェイ装置１０ｂは、監視カメラ１３ａに送信した組み込みソフトウェア１０７を送信後も削除せずに保持しておき、監視カメラ１３ａに改めて組み込みソフトウェア１０７を送信する機会に備えておいても良い。このようにすることで、サーバ１１ｂが停止していたり、サーバ１１ｂとの間の通信が途絶えたりした場合であっても、ゲートウェイ装置１０ｂが動作しており監視カメラ１３ａと通信できる状態であれば、監視カメラ１３ａは、サーバ１１ｂを意識することなく起動して組み込みソフトウェア１０７を取得し、実行可能な組み込みソフトウェア１４５とすることで装置の動作を開始することが可能となる。つまり、監視カメラ１３ａの稼動をサーバ１１ｂの稼動状態から独立させる効果が得られる。
【００７４】
また、ゲートウェイ装置１０ｂは、配下に接続した複数種類の監視カメラ１３ａそれぞれを実行させる複数種類の組み込みソフトウェア１１３をサーバ１１ｂから取得して、監視カメラ１３ａごとに適宜送信するようにしても良い。
【００７５】
上記のように、監視カメラ１３ａはゲートウェイ装置１０ｂが集約するローカルネットワーク１２ｂにおいて管理及び制御されるため、悪意のある第三者が監視カメラ１３ａに不正にアクセスするには、ゲートウェイ装置１０ｂを経由する必要がある。そのため、ゲートウェイ装置１０ｂのセキュリティを十分に確保することで、監視カメラ１３ａをセキュアな状態とすることが可能となる。このことは、例えば、悪意のある第三者が、ゲートウェイ装置１０ｂを経由して監視カメラ１３ａに不正にアクセスすることができたとしても、不正なアクセスを検出したゲートウェイ装置１０ｂが、監視カメラ１３ａを再起動させたり動作を停止させたりすることで、監視カメラ１３ａに異常動作を生じさせないようにすることができる。
【００７６】
図７は、ゲートウェイ装置１０ｂの配下に監視カメラ１３ａ〜１３ｃがツリー状に接続する構成を示すネットワーク構成図である。
【００７７】
このようにネットワークを構成すると、ゲートウェイ装置１０ｂは監視カメラ１３ａ〜１３ｃに個別に組み込みソフトウェア１０７を送信することになる。このことは、監視カメラ１３ａ〜１３ｃを動作させる各々の組み込みソフトウェア１４５が同一であるか異なるかに依存せず行うことになる。
【００７８】
図８は、ゲートウェイ装置１０ｂの配下に監視カメラ１３ａ，１３ｂ及び１３ｃが直列接続する構成を示すネットワーク構成図である。
【００７９】
このようにネットワークを構成すると、監視カメラ１３ａ〜１３ｃを動作させる各々の組み込みソフトウェア１４５が異なる場合には、ゲートウェイ装置１０ｂは、サーバ１１ｂから監視カメラ１３ａ〜１３ｃのそれぞれを実行させる組み込みソフトウェア１１３を取得するとともに、揮発性記憶部１０４に組み込みソフトウェア１０７として記憶させる。そして、ゲートウェイ装置１０ｂは、監視カメラ１３ａに対し監視カメラ１３ａ〜１３ｃのそれぞれを実行させる組み込みソフトウェア１０７（ここでは、それぞれ組み込みソフトウェア１０７ａ〜１０７ｃとする）を送信し、監視カメラ１３ａは、監視カメラ１３ｂに対し監視カメラ１３ｂ及び１３ｃの各々を実行させる組み込みソフトウェア１０７ｂ及び１０７ｃを送信し、監視カメラ１３ｂは、監視カメラ１３ｃに対し監視カメラ１３ｃを実行させる組み込みソフトウェア１０７ｃを送信することになる。
【００８０】
また、監視カメラ１３ａ〜１３ｃを動作させる各々の組み込みソフトウェア１４５が同一である場合には、ゲートウェイ装置１０ｂは監視カメラ１３ａに対し監視カメラ１３ａを実行させる組み込みソフトウェア１０７を送信するだけで、監視カメラ１３ａは取得した組み込みソフトウェア１０７を揮発性記憶部１４４に記憶させるとともに、配下の監視カメラ１３ｂに組み込みソフトウェア１０７を送信し、監視カメラ１３ｂは、同様にして、取得した組み込みソフトウェア１０７を揮発性記憶部１４４に記憶させるとともに、配下の監視カメラ１３ｃに送信し、監視カメラ１３ｃは取得した組み込みソフトウェア１０７を揮発性記憶部１４４に記憶させる、という具合に監視カメラ１３ａ〜１３ｃを簡易な方法で動作させることが可能となる。
【００８１】
このように、監視カメラ１３ａ〜１３ｃを実行させる組み込みソフトウェア１０７の内容に応じてローカルネットワーク１２ｂを構成することで、監視カメラ１３ａ〜１３ｃに効率的に組み込みソフトウェア１０７を送信して動作を開始させることが可能となる。さらに、ゲートウェイ装置１０ｂの処理負荷及びローカルネットワーク１２ｂの通信負荷を軽減させることが可能となる。
【００８２】
以上に説明したように、本発明の実施の形態２によれば、インターネット１２ａにはゲートウェイ装置１０ｂが接続し、その配下のローカルネットワーク１２ｂに監視カメラ１３ａが接続するように構成したので、悪意のある第三者が監視カメラ１３ａ〜１３ｃに不正にアクセスするためには、ゲートウェイ装置１０ｂを経由することとなる。その結果として、ゲートウェイ装置１０ｂのセキュリティを確保することで、配下の監視カメラ１３ａ〜１３ｃをセキュアな状態とする効果が得られる。
【００８３】
また、実施の形態２によれば、ゲートウェイ装置１０ｂが、配下に接続した監視カメラ１３ａ〜１３ｃに送信する組み込みソフトウェア１０７を取得した後に保持し続けるように構成したので、サーバ１１ｂと通信をしなくとも監視カメラ１３ａ〜１３ｃに対して組み込みソフトウェア１０７を送信することが可能となる。その結果として、複数ある監視カメラ１３ａ〜１３ｃのそれぞれに組み込みソフトウェア１０７を送信するためにサーバ１１ｂを起動させる必要がなくなり、サーバ１１ｂを意識することなく監視カメラ１３ａ〜１３ｃを動作させる効果が得られる。
【００８４】
また、実施の形態２によれば、配下に監視カメラ１３ａを接続したゲートウェイ装置１０ｂが、サーバ１１ｂから当該監視カメラ１３ａに送信する組み込みソフトウェア１１３を併せて取得するように構成したので、ゲートウェイ装置１０ｂの配下に同一種類の監視カメラ１３ａが複数接続している場合に、サーバ１１ｂから当該監視カメラ１３ａを実行させる１つの組み込みソフトウェア１１３を取得することで、複数の監視カメラ１３ａに対して組み込みソフトウェア１０７を送信することが可能となる。その結果として、サーバ１１ｂがゲートウェイ装置１０ｂ及び複数の監視カメラ１３ａと個々に接続して組み込みソフトウェア１１１及び１１３を送信するよりも、サーバ１１ｂの処理負荷及びインターネット１２ａの通信負荷を軽減する効果が得られる。
さらに、ゲートウェイ装置１０ｂの配下にある同一種類の複数の監視カメラ１３ａが直列に接続することで、ゲートウェイ装置１０ｂが複数の監視カメラ１３ａに組み込みソフトウェア１０７を送信する処理負荷及びローカルネットワーク１２ｂの通信負荷を軽減させる効果が得られる。
【００８５】
実施の形態３．
実施の形態１では、ゲートウェイ装置１０ａが主機能を実行する組み込みソフトウェア１１１をサーバ１１ａから取得して装置を動作させた。実施の形態３では、主機能を実行する組み込みソフトウェア１１１と併せて検出基本ソフトウェア１９１を取得し装置を動作させる。それ以外は実施の形態１と同様である。
【００８６】
図９は、本発明の実施の形態３における、組み込み機器システムの構成を説明するためのシステム構成図である。組み込み機器システムは、ゲートウェイ装置１０ｃ及びサーバ１１ｃで構成される。図９において、実施の形態１の図１に示す構成と共通する部分については説明を省略する。
【００８７】
図９に示すサーバ１１ｃのソフトウェア格納部１１０には、ゲートウェイ装置１０ｃを実行させる第１の組み込みソフトウェアとしての組み込みソフトウェア１１１及び検出基本ソフトウェア１９１を含む組み込みソフトウェア群１９２を格納している。
【００８８】
サーバ１１ｃの識別部１１２は、ゲートウェイ装置１０ｃから受信した識別情報に基づき、ゲートウェイ装置１０ｃを識別し、ソフトウェア格納部１１０から対応する組み込みソフトウェア群１９２を検索してゲートウェイ装置１０ｃに対して送信する。
【００８９】
ゲートウェイ装置１０ｃは、ダウンロードした組み込みソフトウェア群１９２を主記憶である揮発性記憶部１０４に一旦記憶させて、記憶させた組み込みソフトウェア群１９２に含まれる組み込みソフトウェア１１１及び検出基本ソフトウェア１９１を取得した後、実施の形態１と同様にして、組み込みソフトウェア１０５及び検出基本ソフトウェア１９０として実行可能な状態とする。
【００９０】
検出基本ソフトウェア１９０は、稼動中のゲートウェイ装置１０ｃを管理及び制御する基本ソフトウェア１０２が扱う機能と同等の機能を有しており、基本ソフトウェア１０２が装置の稼動中に行う処理を協調して実行する。検出基本ソフトウェア１９０が協調処理を行う目的は、基本ソフトウェア１０２及び組み込みソフトウェア１０５の改ざんによる不正な処理を検出することにある。そのため、稼働中のゲートウェイ装置１０ｃで実行される基本ソフトウェア１０２が有する全ての機能を、検出基本ソフトウェア１９０が必ずしも有していなくとも良い。
【００９１】
なお、図９のＣ３は、サーバ１１ｃのソフトウェア格納部１１０に格納された組み込みソフトウェア群１９２をゲートウェイ装置１０ｃの揮発性記憶部１０４にダウンロードすることを示す。
【００９２】
図１０は、ゲートウェイ装置１０ｃの内部処理を説明するための模式図である。実施の形態１の図１に示される構成と符号が同じものについては同様であるため、説明を省略する。
【００９３】
図１０において、正常な組み込みソフトウェア１０００ａ及び改ざんされた組み込みソフトウェア１０００ｂは、いずれもサーバ１１ｃから取得して実行させた組み込みソフトウェアである。
【００９４】
ここで、正常な組み込みソフトウェア１０００ａが、ゲートウェイ装置１０ｃが備える記憶装置１００１からデータ１００２ａを正当に取得してインターネット１２ａに送信することを考える。
【００９５】
正常な組み込みソフトウェア１０００ａは、基本ソフトウェア１０２及び検出基本ソフトウェア１９０が協調処理することを前提に設計されており、記憶装置１００１からデータ１００２ａを取得する際に、基本ソフトウェア１０２のＡＰＩ_ＤＢ１００３ａ及び検出基本ソフトウェア１９０のＡＰＩ_ＤＢ１００３ｂの双方のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）をコールする。そして、正常な組み込みソフトウェア１０００ａは、データ１００２ａを取得した後、基本ソフトウェア１０２のＡＰＩ_ｓｅｎｄ１００４ａ及び検出基本ソフトウェア１９０のＡＰＩ_ｓｅｎｄ１００４ｂの双方のＡＰＩをコールして、データ１００２ａを通信ソフトウェア１０３に引渡す。
【００９６】
このようにして、基本ソフトウェア１０２及び検出基本ソフトウェア１９０が協調処理をしながら記憶装置１００１から通信ソフトウェア１０３にデータ１００２ａの受け渡しが行われると、データ１００２ａはインターネット１２ａに正常に送信される。
【００９７】
一方で、改ざんされた組み込みソフトウェア１０００ｂが、ゲートウェイ装置１０ｃの記憶装置１００１からデータ１００２ｂを不正に取得してインターネット１２ａに送信することを考える。
【００９８】
改ざんされた組み込みソフトウェア１０００ｂは、基本ソフトウェア１０２及び検出基本ソフトウェア１９０を協調処理させる必要があることを知らずに改ざんをされたため、記憶装置１００１からデータ１００２ｂを取得する際に、基本ソフトウェア１０２のＡＰＩ_ＤＢ１００３ａのＡＰＩのみをコールする。そして、改ざんされた組み込みソフトウェア１０００ｂは、データ１００２ｂを取得した後、基本ソフトウェア１０２のＡＰＩ_ｓｅｎｄ１００４ａのＡＰＩのみをコールして、データ１００２ｂを通信ソフトウェア１０３に引渡す。
【００９９】
このようにして、基本ソフトウェア１０２及び検出基本ソフトウェア１９０が協調処理をせずに、記憶装置１００１から通信ソフトウェア１０３にデータ１００２ｂの受け渡しが行われると、検出基本ソフトウェア１９０はこのときの異常なデータ１００２ｂの受け渡し処理を検出する。
【０１００】
異常な処理を検出した検出基本ソフトウェア１９０は、データ１００２ｂをインターネット１２ａに送信させることなく、ゲートウェイ装置１０ｃの動作を停止させたり、図示しない管理システムに装置情報の通知を行ったり、装置の再起動を行って正当な組み込みソフトウェア１１１を取得し、改ざんされた組み込みソフトウェア１０００ｂを除去したりする。
【０１０１】
上記とは反対に、基本ソフトウェア１０２が、検出基本ソフトウェア１９０との協調処理を通じて、検出基本ソフトウェア１９０の異常な処理を検出することも可能である。
【０１０２】
上記は、基本ソフトウェア１０２及び検出基本ソフトウェア１９０の協調処理の一例であり、不揮発性記憶部１００及び揮発性記憶部１０４に記憶されたＯＳ相当の２つのソフトウェアが、相互に監視を行いながら種々の装置データ及び制御情報を多重制御することによって、改ざんされたことによる異常な処理を検出できるようにするものである。つまり、このことは、検出基本ソフトウェア１９０が改ざんされた組み込みソフトウェア１０００ｂを検出することに繋がる。
【０１０３】
以上に説明したように、本発明の実施の形態３によれば、ゲートウェイ装置１０ｃの不揮発性記憶部１００に予め記憶された基本ソフトウェア１０２及びサーバ１１ｃから取得して揮発性記憶部１０４に記憶された検出基本ソフトウェア１９０が協調処理を行いつつ、処理の異常を検出するように構成したので、ゲートウェイ装置１０ｃの組み込みソフトウェア１０５が改ざんされたことを検出することが可能となる。その結果として、ゲートウェイ装置１０ｃのセキュリティにおける堅牢性をより向上させる効果が得られる。
【０１０４】
なお、実施の形態１〜３において、ゲートウェイ装置１０ａ〜１０ｃのその他の組み込み機器として、例えばホームゲートウェイ又はネットワークレコーダ等が考えられる。また、監視カメラ１３ａ〜１３ｃのその他の組み込み機器として、例えば情報端末、ネットワーク家電機器、又はマルチメディア機器等が考えられる。
【符号の説明】
【０１０５】
１０ａ，１０ｂ，１０ｃ  ゲートウェイ装置
１１ａ，１１ｂ，１１ｃ  サーバ
１２ａ  インターネット
１２ｂ  ローカルネットワーク
１３ａ，１３ｂ，１３ｃ  監視カメラ
１００  不揮発性記憶部
１０１  ファームウェア
１０２  基本ソフトウェア
１０３  通信ソフトウェア
１０４，１４４  揮発性記憶部
１０５，１０７，１１１，１１３，１４５  組み込みソフトウェア
１９０，１９１  検出基本ソフトウェア
【図１】
2018169729.tif 000003
【図２】
2018169729.tif 000004
【図３】
2018169729.tif 000005
【図４】
2018169729.tif 000006
【図５】
2018169729.tif 000007
【図６】
2018169729.tif 000008
【図７】
2018169729.tif 000009
【図８】
2018169729.tif 000010
【図９】
2018169729.tif 000011
【図１０】
2018169729.tif 000012