JP2018169729A - 組み込み機器、組み込み機器システム及び組み込み機器の起動方法 - Google Patents

組み込み機器、組み込み機器システム及び組み込み機器の起動方法 Download PDF

Info

Publication number
JP2018169729A
JP2018169729A JP2017065569A JP2017065569A JP2018169729A JP 2018169729 A JP2018169729 A JP 2018169729A JP 2017065569 A JP2017065569 A JP 2017065569A JP 2017065569 A JP2017065569 A JP 2017065569A JP 2018169729 A JP2018169729 A JP 2018169729A
Authority
JP
Japan
Prior art keywords
software
embedded
storage unit
gateway device
embedded software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017065569A
Other languages
English (en)
Inventor
幸治 松原
Koji Matsubara
幸治 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2017065569A priority Critical patent/JP2018169729A/ja
Publication of JP2018169729A publication Critical patent/JP2018169729A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】悪意のある第三者が、組み込み機器に記憶されたファームウェアを不正に取得して改ざんすることにより、組み込み機器の起動時に改ざんされたファームウェアで動作してしまう虞がある。
【解決手段】組み込み機器が、起動の都度にネットワークを介して外部装置であるサーバ11aから第1の組み込みソフトウェアを取得して記憶させる揮発性記憶部104を備えて、第1の組み込みソフトウェアが記憶された揮発性記憶部104の記憶領域をマウント処理して第1の組み込みソフトウェアを実行可能な状態とする。
【選択図】図1

Description

本発明は、ネットワークに接続された組み込み機器、組み込み機器システム及び組み込み機器の起動方法に関する。
従来の組み込み機器は、機器の用途である主機能を実行するソフトウェアを含むファームウェアをフラッシュメモリ等の不揮発性記憶部に記憶させ、揮発性記憶部に展開して主機能のソフトウェアを起動及び実行させることで動作する。そして、組み込み機器の主機能を変更する必要が生じた場合には、変更した主機能のソフトウェアを含むファームウェアを不揮発性記憶部に再び記憶させることで容易に対応が可能である。
しかしながら、このような組み込み機器は、悪意のある第三者がファームウェアを不正に改ざんして更新をしてしまうと、例えば、当該組み込み機器を利用するユーザーがインターネット接続を行った際に、ユーザーの個人情報をインターネットに流出させてしまう等、意図しない動作を引き起こす虞がある。
上述の問題に対し、従来技術の組み込み機器では、起動に伴って不揮発性記憶部に記憶されたファームウェアの正当性を確認することが行われる(例えば、特許文献1を参照)。
上記の従来技術では、組み込み機器の不揮発性記憶部に記憶させるファームウェアを、複数の分割ファームウェアに分割してランダムな大きさのダミーデータを間に挿入したデータ部と、分割数などの分割ファームウェアに関する情報を格納したヘッダ部とを含むように構成したことにより、組み込み機器は起動のタイミングで記憶されたファームウェアの正当性を確認することができるため、改ざんされたファームウェアで動作を開始することを回避する効果が得られる。
特開2016−177526号公報
しかしながら、悪意のある第三者が組み込み機器のファームウェアを不正に取得し解析することによって、組み込み機器のファームウェアが従来技術の内容を踏まえて改ざんする可能性がある。つまり、組み込み機器のファームウェアが正当性を確保しつつ改ざんされてしまう虞がある。
本発明は、上記の問題を解決するためのものであり、組み込みソフトウェアが改ざんされた状態で動作する可能性を低減させることができる組み込み機器を提供することを目的とする。
本発明は、起動の都度にネットワークを介して外部装置から第1の組み込みソフトウェアをダウンロードする通信ソフトウェアと、通信ソフトウェアでダウンロードされた第1の組み込みソフトウェアを取得する基本ソフトウェアとを記憶するための不揮発性記憶部と、基本ソフトウェアで取得された第1の組み込みソフトウェアを記憶するための揮発性記憶部とを備え、基本ソフトウェアは、第1の組み込みソフトウェアが記憶された揮発性記憶部の記憶領域をマウント処理して第1の組み込みソフトウェアを実行可能な状態とする組み込み機器である。
本発明によれば、組み込み機器が、起動の都度にネットワークを介して外部装置から組み込みソフトウェアを取得し実行させるように構成したので、組み込みソフトウェアが改ざんされた状態で機器を動作させる可能性を低減させる効果が得られる。
本発明の実施の形態1における、組み込み機器システムの構成を説明するためのシステム構成図である。 ゲートウェイ装置がサーバから組み込みソフトウェアを取得して実行可能な状態とするまでの処理を示すフローチャート図である。 ゲートウェイ装置の起動直後の内部処理を説明するための模式図である。 ゲートウェイ装置が取得した組み込みソフトウェアを揮発性記憶部に書き込む内部処理を説明するための模式図である。 ゲートウェイ装置が取得した組み込みソフトウェアを実行可能な状態とする内部処理を説明するための模式図である。 本発明の実施の形態2における、組み込み機器システムの構成を説明するためのシステム構成図である。 ゲートウェイ装置の配下に監視カメラがツリー状に接続する構成を示すネットワーク構成図である。 ゲートウェイ装置の配下に監視カメラが直列接続する構成を示すネットワーク構成図である。 本発明の実施の形態3における、組み込み機器システムの構成を説明するためのシステム構成図である。 ゲートウェイ装置の内部処理を説明するための模式図である。
実施の形態1.
図1は、本発明の実施の形態1における、組み込み機器システムの構成を説明するためのシステム構成図である。組み込み機器システムは、ゲートウェイ装置10a及びサーバ11aで構成される。
ゲートウェイ装置10aは、インターネット12aに接続した組み込み機器である。
サーバ11aは、インターネット12a上に設置された種々の情報処理を行う外部装置であり、悪意のある第三者からの不正なアクセスに対するセキュリティが確保された状態にある。
インターネット12aは、ゲートウェイ装置10a及びサーバ11a間の通信が行われるネットワークであり、ゲートウェイ装置10a及びサーバ11a間の通信のセキュリティが確保されているものとする。
なお、インターネット12aは、広域ネットワーク、イントラネットワーク、又はローカルネットワークなど、いずれのネットワーク形態であっても良いが、ゲートウェイ装置10aは、サーバ11aほどにセキュリティが確保されておらず、悪意のある第三者から不正にアクセスされる可能性がある前提のもと、ここではインターネットとして説明する。
図1に示すように、ゲートウェイ装置10aは、不揮発性記憶部100及び揮発性記憶部104を備える。
不揮発性記憶部100は、ファームウェア101を記憶するための、例えばフラッシュメモリ等の不揮発性の記憶装置である。そして、ファームウェア101は、基本ソフトウェア102及び通信ソフトウェア103を含む。なお、実施の形態1では、組み込み機器の起動とともにファームウェア101を実行させるブートローダ(Bootloader)についての説明は省略する。
基本ソフトウェア102は、OS(Operating System)に相当する、装置の用途とは直接に関わりのない汎用的なソフトウェアであり、ゲートウェイ装置10aの主機能を実行するソフトウェア及びハードウェアの管理及び制御を行う機能を有する。
通信ソフトウェア103は、サーバ11aとの間で通信を行うソフトウェアであり、基本ソフトウェア102の制御のもと、指定された記憶領域間の種々の情報及びデータの送受信を行う。
揮発性記憶部104は、実行させるソフトウェアを実行可能な状態に展開して記憶するための、例えばSRAM(Static Random Access Memory)等の揮発性の記憶装置である。なお、本実施の形態では、不揮発性記憶部100はコンピュータシステムとしての補助記憶、揮発性記憶部104はコンピュータシステムとしての主記憶として動作するものとする。また、不揮発性記憶部100及び揮発性記憶部104はそれぞれ、複数の不揮発性の記憶装置及び複数の揮発性の記憶装置によって構成されていても良い。
また、図1に示すサーバ11aは、ソフトウェア格納部110及び識別部112を備える。
ソフトウェア格納部110は、ゲートウェイ装置10aにダウンロードしてゲートウェイ装置10aを動作させる第1の組み込みソフトウェアとしての組み込みソフトウェア111を格納している。なお、組み込みソフトウェア111は、ソフトウェアコンポーネントのように、特定処理をなす機能を分割したもの又は複数組み合わさり特定処理をなす機能単位に相当するものであっても良く、そのような場合には、組み込みソフトウェア111をゲートウェイ装置10aがダウンロードするソフトウェアコンポーネントの1つと見做して、複数の組み込みソフトウェア111(つまり、複数のソフトウェアコンポーネント)を複数回に分けてダウンロードするようにしても良いし、組み込みソフトウェア111をゲートウェイ装置10aがダウンロードするソフトウェアコンポーネントをまとめたものと見做して、1つの組み込みソフトウェア111(つまり、複数のソフトウェアコンポーネントのまとまり)をダウンロードするようにしても良い。
また、ソフトウェア格納部110には、複数種類のゲートウェイ装置10aをそれぞれ実行させる複数種類の組み込みソフトウェア111が格納されていても良い。格納された組み込みソフトウェア111は、ゲートウェイ装置10aから受信する識別情報と予め対応付けられて、識別情報をもとに検索及び取得が行えるように管理されている。
識別部112は、ゲートウェイ装置10aから受信する識別情報に基づき、正当なゲートウェイ装置10aを識別し、ソフトウェア格納部110から対応する組み込みソフトウェア111を検索して当該ゲートウェイ装置10aに対して送信する。
ところで、第三者の不正なアクセスによって改ざんされる可能性を低減させるため、基本ソフトウェア102は、通信ソフトウェア103を用いてインターネット12a上に設置されたサーバ11aから組み込みソフトウェア111をダウンロードし、実行可能な状態である組み込みソフトウェア105として揮発性記憶部104に記憶させるための最低限の機能のみを有するのが望ましい。
ここで、図1のC1は、サーバ11aのソフトウェア格納部110に格納された組み込みソフトウェア111をゲートウェイ装置10aの揮発性記憶部104にダウンロードすることを示す。
図2は、ゲートウェイ装置10aがサーバ11aから組み込みソフトウェア111を取得して組み込みソフトウェア105として実行可能な状態とするまでの処理を示すフローチャート図である。以下、図2を用いて、起動後のゲートウェイ装置10aにおいて実行可能な組み込みソフトウェア105を得るまでの処理の流れを説明する。
まず、電源を投入して開始する時点では、ゲートウェイ装置10aの不揮発性記憶部100にはファームウェア101が記憶されているが、揮発性記憶部104には組み込みソフトウェア105は記憶されていない。
処理S21で電源を投入すると、ゲートウェイ装置10aが起動される。このとき、不揮発性記憶部100のファームウェア101が実行され、基本ソフトウェア102及び通信ソフトウェア103が処理を開始する。
処理S22では、ゲートウェイ装置10aの基本ソフトウェア102が、主記憶である揮発性記憶部104の一部の記憶領域をマウント処理して、仮想的なファイルシステムとして認識できるようにする。なお、基本ソフトウェア102がマウント処理を行うのと並行して、通信ソフトウェア103はサーバ11aとの通信を確立させる。
処理S23では、ゲートウェイ装置10aの基本ソフトウェア102が、通信ソフトウェア103の通信を用いて、サーバ11aに対して識別情報を送信する。
識別情報とは、ゲートウェイ装置10aのファームウェア101のSUM値(Checksum)及び装置固有データを示す情報であり、さらに装置固有データとは、例えばMACアドレス又は製造番号などの装置を一意に特定する情報である。なお、識別情報は予め不揮発性記憶部100に記憶されており、基本ソフトウェア102が処理を開始する時点で取得するようにしても良い。
処理S24では、サーバ11aの識別部112が、ゲートウェイ装置10aから受信した識別情報に基づき、ゲートウェイ装置10aの識別を行う。
サーバ11aの識別部112は、識別情報から得られるファームウェア101のSUM値を確認することでファームウェアの正当性の有無を判定するとともに、装置固有データを確認することでゲートウェイ装置10aが組み込みソフトウェア111の正当な送信対象であるかどうかを判定する。つまり、サーバ11aは、改ざんされていない正当なゲートウェイ装置10aを識別するにあたり、受信した識別情報に基づき、ゲートウェイ装置10aに記憶されたファームウェア101のSUM値が正当であり、かつ、ゲートウェイ装置10aの装置固有データにより組み込みソフトウェア111の正当な送信対象であることの判定を行っている。
処理S25では、処理S24の結果、ゲートウェイ装置10aが正当な装置であると識別できる場合は、ソフトウェア格納部110に格納された組み込みソフトウェア111からゲートウェイ装置10aを実行させるものを検索し、処理S26に進む。また、ゲートウェイ装置10aが正当な装置であると識別できない場合は、処理S29に進む。
処理S26では、サーバ11aの識別部112が、識別情報に基づき識別したゲートウェイ装置10aを実行させる組み込みソフトウェア111をゲートウェイ装置10aに送信する。
処理S27では、ゲートウェイ装置10aの基本ソフトウェア102の制御のもと、通信ソフトウェア103がダウンロードした組み込みソフトウェア111を、処理S22で認識できるようにした揮発性記憶部104のファイルシステムに書き込む。
処理S28では、ゲートウェイ装置10aの基本ソフトウェア102は、組み込みソフトウェア111を書き込んだ揮発性記憶部104の一部の記憶領域をマウント処理することによって、当該記憶領域を組み込みソフトウェア105の実行領域として認識する。このようにして実行可能な状態として揮発性記憶部104に記憶された組み込みソフトウェア105を得る。そして処理を終了する。
以上のようにして、ゲートウェイ装置10aの通信ソフトウェア103は、起動の都度にインターネット12aを介して組み込みソフトウェア111をサーバ11aからダウンロードし、基本ソフトウェア102は、ダウンロードした組み込みソフトウェア111が記憶された揮発性記憶部104の一部の記憶領域をマウント処理して実行可能な状態の組み込みソフトウェア105とする。
一方、処理S25で対象となるゲートウェイ装置10aを識別できなかった場合は処理S29に進むこととなるが、処理S29では、サーバ11aの識別部112が、ゲートウェイ装置10aに対して、識別不可である旨を示す通知情報“識別不可”を通知する。“識別不可”の通知情報を受信したゲートウェイ装置10aの基本ソフトウェア102は、再度、サーバ11aに対して識別情報の送信を試みても良いし、不正に改ざんされた可能性があるため、装置の動作を停止させたり、図示しない管理システムに状況の通知を行ったりしても良い。
次に、図2のフローチャートを実行するゲートウェイ装置10aの内部処理について、図3〜5を用いてさらに詳細に説明する。
図3は、ゲートウェイ装置10aの起動直後の内部処理を説明するための模式図である。
また、図4は、ゲートウェイ装置10aが取得した組み込みソフトウェア111を揮発性記憶部104に書き込む内部処理を説明するための模式図である。
また、図5は、ゲートウェイ装置10aが取得した組み込みソフトウェア111を組み込みソフトウェア105として実行可能な状態とする内部処理を説明するための模式図である。
図3の処理S31は、図2の処理S21に相当する内部処理であり、起動後のゲートウェイ装置10aが、不揮発性記憶部100に記憶したファームウェア101に含まれる基本ソフトウェア102及び通信ソフトウェア103を主記憶である揮発性記憶部104に展開し、実行可能な状態とする。なお、基本ソフトウェア102及び通信ソフトウェア103は、装置の起動に伴って実行可能な状態となることを前提に説明するので、不揮発性記憶部100に記憶された状態と、揮発性記憶部104に展開され実行可能となった状態とを同じ符号を用いて表す。
図3の処理S32は、図2の処理S22に相当する内部処理であり、ゲートウェイ装置10aの基本ソフトウェア102が、主記憶である揮発性記憶部104の一部の記憶領域を仮想的なファイルシステム120として認識するためのマウント処理を示す。このようにすることで、基本ソフトウェア102は揮発性記憶部104の一部の記憶領域を、例えば、仮想的に構築されるRAMディスクのようにソフトウェアで実現される補助記憶として認識し、データの書き込み及び読み込みが行えるようになる。
図4の処理S41は、図2の処理S23に相当する内部処理であり、ゲートウェイ装置10aの通信ソフトウェア103が、基本ソフトウェア102の制御のもと、サーバ11aに対して識別情報を送信する処理を示す。
サーバ11aの識別部112は、受信した識別情報に基づき、ゲートウェイ装置10aを識別するとともにソフトウェア格納部110から対応する組み込みソフトウェア111を検索して、ゲートウェイ装置10aに送信する。このときのサーバ11aの処理は、図2の処理S24〜26に相当する。
図4の処理S42は、図2の処理S27に相当する内部処理であり、ゲートウェイ装置10aの通信ソフトウェア103は、サーバ11aから組み込みソフトウェア111をダウンロードすると、基本ソフトウェア102の制御のもと、当該組み込みソフトウェア111をファイルシステム120に書き込む。記憶領域121は、組み込みソフトウェア111をファイルシステム120に書き込んだ状態を示す。
なお、処理S42における組み込みソフトウェア111のダウンロード速度とファイルシステム120への書き込み速度との差分については、例えばゲートウェイ装置10aの受信バッファ106を用いて調整すれば良い。
図5の処理S51は、図2の処理S28に相当する内部処理であり、ゲートウェイ装置10aの基本ソフトウェア102が、組み込みソフトウェア111の書き込みが完了した記憶領域121をマウント処理する。
処理S51で基本ソフトウェア102がマウント処理することによって、記憶領域121はそれまで補助記憶として認識されていたところ、実行可能な組み込みソフトウェア105を記憶した揮発性記憶部104の一部、つまり、組み込みソフトウェア105の実行領域として再認識されるようになる。つまり、ゲートウェイ装置10aは、上記の過程を経て揮発性記憶部104上に実行可能な組み込みソフトウェア105を得る。
上述したように、基本ソフトウェア102は、組み込みソフトウェア111を取得し実行させるための最低限の機能のみを有していれば良く、組み込みソフトウェア111を実行させた後に必要となるその他の機能は、組み込みソフトウェア111とともにサーバ11aから取得し実行させれば良い。しかしながら、装置の起動時点で実行させたい内容に応じて、基本ソフトウェア102には上述した最低限の機能以外のものをさらに、前もって含めておいても良い。
また、通信ソフトウェア103についても同様に、組み込みソフトウェア111をダウンロードするための最低限の機能を有していれば良く、装置が動作してから必要となる他の機能は、組み込みソフトウェア111とともにサーバ11aから取得し実行させることも可能である。
このように、不揮発性記憶部100に記憶させたファームウェア101には、装置の主機能を実行する組み込みソフトウェア111を取得するための必要最低限の機能のみを含め、取得した組み込みソフトウェア111を直接に揮発性記憶部104に書き込んで実行可能な状態とするようにしたので、ゲートウェイ装置10aの改ざん対象となるソフトウェアを最小限に留めて、ソフトウェアが改ざんされた状態でゲートウェイ装置10aを動作させる可能性を従来よりも低減させることが可能となる。このことは、ゲートウェイ装置10aのセキュリティに関わる堅牢性をさらに向上させる効果がある。
なお、揮発性記憶部104には極力ソフトウェアを保持させずに、揮発性記憶部104に保持させるようにしたのは、不揮発性記憶部100に静的に記憶された実行可能な状態ではないソフトウェアよりも、揮発性記憶部104に動的に記憶された実行可能な状態のソフトウェアの方が改ざんが困難であることを前提としている。
さらに、装置の起動のタイミングだけではなく、ゲートウェイ装置10aが定期的又は所定の条件のもとで、サーバ11aに対して識別情報を送信したり、識別情報とは別に定義される管理情報をサーバ11aとの間で送受信したりすることで、ゲートウェイ装置10aのソフトウェアが改ざんされた場合に、サーバ11aがゲートウェイ装置10aの通常とは異なる動作を検出して再起動又は動作停止させたり、図示しない管理システムに状況の通知を行ったりして、より確実にゲートウェイ装置10aのセキュリティを確保するとともに早期に対処することが可能となる。
以上に説明したように、本発明の実施の形態1によれば、ゲートウェイ装置10aの不揮発性記憶部100に記憶された基本ソフトウェア102及び通信ソフトウェア103が、装置の起動の都度に、セキュアなネットワークを介してセキュリティが確保されたサーバ11aから組み込みソフトウェア111を取得し実行させるように構成したので、常に正当な組み込みソフトウェア105を実行させることが可能となり、その結果として、組み込みソフトウェア105が改ざんされた状態でゲートウェイ装置10aを動作させる可能性を低減させる効果が得られる。
また、実施の形態1によれば、ゲートウェイ装置10aの主機能を実行する組み込みソフトウェア105を不揮発性記憶部100から切り離すように構成しており、一般に、不揮発性記憶部100に記憶されたソフトウェアに比べて、揮発性記憶部104に記憶されたソフトウェアは改ざんが困難であることから、組み込みソフトウェア105を改ざんされる可能性を低減させる効果が得られる。
また、実施の形態1によれば、ゲートウェイ装置10aの起動に伴い必ず組み込みソフトウェア111を取得して実行させるように構成したことで、仮にゲートウェイ装置10aの揮発性記憶部104に記憶した組み込みソフトウェア105が改ざんされて制御不能となっても、装置の再起動によって再び正当な組み込みソフトウェア105を取得して正常動作に復帰する効果が得られる。
また、実施の形態1によれば、サーバ11a側で、ゲートウェイ装置10aのソフトウェアを管理するように構成したことで、例えば、ゲートウェイ装置10aの主機能を変更させたり、ゲートウェイ装置10aに新たなハードウェアを実装させたりする場合であっても、適宜カスタマイズした組み込みソフトウェア111を複数の装置に一括でダウンロードさせ主機能の変更に対応させたり、OSのバージョンアップを行う場合であっても、既存の組み込みソフトウェア105に適した設定を行ったうえで一括でダウンロードさせバージョンアップ作業を完了させたり等、従来よりもゲートウェイ装置10aの拡張性及び保守性を向上させる効果が得られる。
実施の形態2.
実施の形態1では、ゲートウェイ装置10aがサーバ11aと接続し、装置の起動の都度にサーバ11aから主機能を実行させる組み込みソフトウェア111を取得することを行った。実施の形態2では、ゲートウェイ装置10bが配下に接続した監視カメラ13aの主機能を実行させる組み込みソフトウェア113を取得することを行う。それ以外は実施の形態1と同様である。
図6は、本発明の実施の形態2における、組み込み機器システムの構成を説明するためのシステム構成図である。組み込み機器システムは、ゲートウェイ装置10b、監視カメラ13a、及びサーバ11bで構成される。図6において、実施の形態1の図1に示す構成と共通する部分については説明を省略する。
監視カメラ13aは、ゲートウェイ装置10bにローカルネットワーク12bで接続した、ゲートウェイ装置10bとは別の組み込み機器である。
サーバ11b、ゲートウェイ装置10b及び監視カメラ13aは、インターネット12a及びローカルネットワーク12bを介して、多段接続、つまり数珠繋ぎとなっており、通常は監視カメラ13aからサーバ11bへの通信は行わないものとする。しかしながら、例えばゲートウェイ装置10bが通常の動作とは異なる状況において、監視カメラ13aからサーバ11bに直接に通信を行えるようにしても良い。
なお、ローカルネットワーク12bは、イントラネットワーク、広域ネットワーク、又はインターネットなど、いずれのネットワーク形態であっても良いが、ゲートウェイ装置10bが集約するネットワークという前提のもと、ここではローカルネットワークとして説明する。
また、図6に示すサーバ11bのソフトウェア格納部110には、ゲートウェイ装置10bを実行させる第1の組み込みソフトウェアとしての組み込みソフトウェア111及び監視カメラ13aを実行させる第2の組み込みソフトウェアとしての組み込みソフトウェア113が格納されている。
サーバ11bの識別部112は、ゲートウェイ装置10bから送信される識別情報に基づきゲートウェイ装置10bを識別して、ソフトウェア格納部110から対応する組み込みソフトウェア111及び113を検索してゲートウェイ装置10bに対して送信する。
このとき、識別部112が、ゲートウェイ装置10bの配下に監視カメラ13aが接続しており、組み込みソフトウェア113も併せてゲートウェイ装置10bに送信する必要があると判断するために、例えば、ゲートウェイ装置10bが送信する識別情報に配下に接続する監視カメラ13aに関する情報を含めたり、実施の形態1において、ゲートウェイ装置10bが定期的又は所定の条件のもとでサーバ11bとの間で識別情報又は管理情報の送受信を行ったのと同様に、ゲートウェイ装置10b及び監視カメラ13aの間で上記の情報の送受信を行うとともに、ゲートウェイ装置10bが当該情報をサーバ11bに通知したり、サーバ11bにネットワーク上の装置構成の情報を予め設定しておいたりすることが考えられる。
サーバ11bから組み込みソフトウェア111及び113をダウンロードしたゲートウェイ装置10bは、例えば、揮発性記憶部104に監視カメラ13a向けの組み込みソフトウェア113を組み込みソフトウェア107として一旦保持しておく。そして、監視カメラ13aの起動に伴って送信される識別情報に基づき、サーバ11bの識別部112と同様にして、監視カメラ13aが正当な装置であるかを識別し、正当な装置と識別した場合に、監視カメラ13aに対して組み込みソフトウェア107を送信する。つまり、ゲートウェイ装置10bは監視カメラ13aに対してサーバ11bのように振る舞う。
ここで、図6のC1は、図1のC1と同様である。また、図6のC2aは、サーバ11bのソフトウェア格納部110に格納された組み込みソフトウェア113をゲートウェイ装置10bの揮発性記憶部104にダウンロードすることを示す。また、図6のC2bは、ゲートウェイ装置10bの揮発性記憶部104に記憶させた組み込みソフトウェア107を監視カメラ13aの揮発性記憶部144にダウンロードすることを示す。
その後、ゲートウェイ装置10bが実行可能な組み込みソフトウェア105を得る手順は実施の形態1と同様である。また、監視カメラ13aは、ゲートウェイ装置10bと同様の手順で、揮発性記憶部144に実行可能な組み込みソフトウェア145を得る。
ところで、ゲートウェイ装置10bは、監視カメラ13aに送信した組み込みソフトウェア107を送信後も削除せずに保持しておき、監視カメラ13aに改めて組み込みソフトウェア107を送信する機会に備えておいても良い。このようにすることで、サーバ11bが停止していたり、サーバ11bとの間の通信が途絶えたりした場合であっても、ゲートウェイ装置10bが動作しており監視カメラ13aと通信できる状態であれば、監視カメラ13aは、サーバ11bを意識することなく起動して組み込みソフトウェア107を取得し、実行可能な組み込みソフトウェア145とすることで装置の動作を開始することが可能となる。つまり、監視カメラ13aの稼動をサーバ11bの稼動状態から独立させる効果が得られる。
また、ゲートウェイ装置10bは、配下に接続した複数種類の監視カメラ13aそれぞれを実行させる複数種類の組み込みソフトウェア113をサーバ11bから取得して、監視カメラ13aごとに適宜送信するようにしても良い。
上記のように、監視カメラ13aはゲートウェイ装置10bが集約するローカルネットワーク12bにおいて管理及び制御されるため、悪意のある第三者が監視カメラ13aに不正にアクセスするには、ゲートウェイ装置10bを経由する必要がある。そのため、ゲートウェイ装置10bのセキュリティを十分に確保することで、監視カメラ13aをセキュアな状態とすることが可能となる。このことは、例えば、悪意のある第三者が、ゲートウェイ装置10bを経由して監視カメラ13aに不正にアクセスすることができたとしても、不正なアクセスを検出したゲートウェイ装置10bが、監視カメラ13aを再起動させたり動作を停止させたりすることで、監視カメラ13aに異常動作を生じさせないようにすることができる。
図7は、ゲートウェイ装置10bの配下に監視カメラ13a〜13cがツリー状に接続する構成を示すネットワーク構成図である。
このようにネットワークを構成すると、ゲートウェイ装置10bは監視カメラ13a〜13cに個別に組み込みソフトウェア107を送信することになる。このことは、監視カメラ13a〜13cを動作させる各々の組み込みソフトウェア145が同一であるか異なるかに依存せず行うことになる。
図8は、ゲートウェイ装置10bの配下に監視カメラ13a,13b及び13cが直列接続する構成を示すネットワーク構成図である。
このようにネットワークを構成すると、監視カメラ13a〜13cを動作させる各々の組み込みソフトウェア145が異なる場合には、ゲートウェイ装置10bは、サーバ11bから監視カメラ13a〜13cのそれぞれを実行させる組み込みソフトウェア113を取得するとともに、揮発性記憶部104に組み込みソフトウェア107として記憶させる。そして、ゲートウェイ装置10bは、監視カメラ13aに対し監視カメラ13a〜13cのそれぞれを実行させる組み込みソフトウェア107(ここでは、それぞれ組み込みソフトウェア107a〜107cとする)を送信し、監視カメラ13aは、監視カメラ13bに対し監視カメラ13b及び13cの各々を実行させる組み込みソフトウェア107b及び107cを送信し、監視カメラ13bは、監視カメラ13cに対し監視カメラ13cを実行させる組み込みソフトウェア107cを送信することになる。
また、監視カメラ13a〜13cを動作させる各々の組み込みソフトウェア145が同一である場合には、ゲートウェイ装置10bは監視カメラ13aに対し監視カメラ13aを実行させる組み込みソフトウェア107を送信するだけで、監視カメラ13aは取得した組み込みソフトウェア107を揮発性記憶部144に記憶させるとともに、配下の監視カメラ13bに組み込みソフトウェア107を送信し、監視カメラ13bは、同様にして、取得した組み込みソフトウェア107を揮発性記憶部144に記憶させるとともに、配下の監視カメラ13cに送信し、監視カメラ13cは取得した組み込みソフトウェア107を揮発性記憶部144に記憶させる、という具合に監視カメラ13a〜13cを簡易な方法で動作させることが可能となる。
このように、監視カメラ13a〜13cを実行させる組み込みソフトウェア107の内容に応じてローカルネットワーク12bを構成することで、監視カメラ13a〜13cに効率的に組み込みソフトウェア107を送信して動作を開始させることが可能となる。さらに、ゲートウェイ装置10bの処理負荷及びローカルネットワーク12bの通信負荷を軽減させることが可能となる。
以上に説明したように、本発明の実施の形態2によれば、インターネット12aにはゲートウェイ装置10bが接続し、その配下のローカルネットワーク12bに監視カメラ13aが接続するように構成したので、悪意のある第三者が監視カメラ13a〜13cに不正にアクセスするためには、ゲートウェイ装置10bを経由することとなる。その結果として、ゲートウェイ装置10bのセキュリティを確保することで、配下の監視カメラ13a〜13cをセキュアな状態とする効果が得られる。
また、実施の形態2によれば、ゲートウェイ装置10bが、配下に接続した監視カメラ13a〜13cに送信する組み込みソフトウェア107を取得した後に保持し続けるように構成したので、サーバ11bと通信をしなくとも監視カメラ13a〜13cに対して組み込みソフトウェア107を送信することが可能となる。その結果として、複数ある監視カメラ13a〜13cのそれぞれに組み込みソフトウェア107を送信するためにサーバ11bを起動させる必要がなくなり、サーバ11bを意識することなく監視カメラ13a〜13cを動作させる効果が得られる。
また、実施の形態2によれば、配下に監視カメラ13aを接続したゲートウェイ装置10bが、サーバ11bから当該監視カメラ13aに送信する組み込みソフトウェア113を併せて取得するように構成したので、ゲートウェイ装置10bの配下に同一種類の監視カメラ13aが複数接続している場合に、サーバ11bから当該監視カメラ13aを実行させる1つの組み込みソフトウェア113を取得することで、複数の監視カメラ13aに対して組み込みソフトウェア107を送信することが可能となる。その結果として、サーバ11bがゲートウェイ装置10b及び複数の監視カメラ13aと個々に接続して組み込みソフトウェア111及び113を送信するよりも、サーバ11bの処理負荷及びインターネット12aの通信負荷を軽減する効果が得られる。
さらに、ゲートウェイ装置10bの配下にある同一種類の複数の監視カメラ13aが直列に接続することで、ゲートウェイ装置10bが複数の監視カメラ13aに組み込みソフトウェア107を送信する処理負荷及びローカルネットワーク12bの通信負荷を軽減させる効果が得られる。
実施の形態3.
実施の形態1では、ゲートウェイ装置10aが主機能を実行する組み込みソフトウェア111をサーバ11aから取得して装置を動作させた。実施の形態3では、主機能を実行する組み込みソフトウェア111と併せて検出基本ソフトウェア191を取得し装置を動作させる。それ以外は実施の形態1と同様である。
図9は、本発明の実施の形態3における、組み込み機器システムの構成を説明するためのシステム構成図である。組み込み機器システムは、ゲートウェイ装置10c及びサーバ11cで構成される。図9において、実施の形態1の図1に示す構成と共通する部分については説明を省略する。
図9に示すサーバ11cのソフトウェア格納部110には、ゲートウェイ装置10cを実行させる第1の組み込みソフトウェアとしての組み込みソフトウェア111及び検出基本ソフトウェア191を含む組み込みソフトウェア群192を格納している。
サーバ11cの識別部112は、ゲートウェイ装置10cから受信した識別情報に基づき、ゲートウェイ装置10cを識別し、ソフトウェア格納部110から対応する組み込みソフトウェア群192を検索してゲートウェイ装置10cに対して送信する。
ゲートウェイ装置10cは、ダウンロードした組み込みソフトウェア群192を主記憶である揮発性記憶部104に一旦記憶させて、記憶させた組み込みソフトウェア群192に含まれる組み込みソフトウェア111及び検出基本ソフトウェア191を取得した後、実施の形態1と同様にして、組み込みソフトウェア105及び検出基本ソフトウェア190として実行可能な状態とする。
検出基本ソフトウェア190は、稼動中のゲートウェイ装置10cを管理及び制御する基本ソフトウェア102が扱う機能と同等の機能を有しており、基本ソフトウェア102が装置の稼動中に行う処理を協調して実行する。検出基本ソフトウェア190が協調処理を行う目的は、基本ソフトウェア102及び組み込みソフトウェア105の改ざんによる不正な処理を検出することにある。そのため、稼働中のゲートウェイ装置10cで実行される基本ソフトウェア102が有する全ての機能を、検出基本ソフトウェア190が必ずしも有していなくとも良い。
なお、図9のC3は、サーバ11cのソフトウェア格納部110に格納された組み込みソフトウェア群192をゲートウェイ装置10cの揮発性記憶部104にダウンロードすることを示す。
図10は、ゲートウェイ装置10cの内部処理を説明するための模式図である。実施の形態1の図1に示される構成と符号が同じものについては同様であるため、説明を省略する。
図10において、正常な組み込みソフトウェア1000a及び改ざんされた組み込みソフトウェア1000bは、いずれもサーバ11cから取得して実行させた組み込みソフトウェアである。
ここで、正常な組み込みソフトウェア1000aが、ゲートウェイ装置10cが備える記憶装置1001からデータ1002aを正当に取得してインターネット12aに送信することを考える。
正常な組み込みソフトウェア1000aは、基本ソフトウェア102及び検出基本ソフトウェア190が協調処理することを前提に設計されており、記憶装置1001からデータ1002aを取得する際に、基本ソフトウェア102のAPI_DB1003a及び検出基本ソフトウェア190のAPI_DB1003bの双方のAPI(Application Programming Interface)をコールする。そして、正常な組み込みソフトウェア1000aは、データ1002aを取得した後、基本ソフトウェア102のAPI_send1004a及び検出基本ソフトウェア190のAPI_send1004bの双方のAPIをコールして、データ1002aを通信ソフトウェア103に引渡す。
このようにして、基本ソフトウェア102及び検出基本ソフトウェア190が協調処理をしながら記憶装置1001から通信ソフトウェア103にデータ1002aの受け渡しが行われると、データ1002aはインターネット12aに正常に送信される。
一方で、改ざんされた組み込みソフトウェア1000bが、ゲートウェイ装置10cの記憶装置1001からデータ1002bを不正に取得してインターネット12aに送信することを考える。
改ざんされた組み込みソフトウェア1000bは、基本ソフトウェア102及び検出基本ソフトウェア190を協調処理させる必要があることを知らずに改ざんをされたため、記憶装置1001からデータ1002bを取得する際に、基本ソフトウェア102のAPI_DB1003aのAPIのみをコールする。そして、改ざんされた組み込みソフトウェア1000bは、データ1002bを取得した後、基本ソフトウェア102のAPI_send1004aのAPIのみをコールして、データ1002bを通信ソフトウェア103に引渡す。
このようにして、基本ソフトウェア102及び検出基本ソフトウェア190が協調処理をせずに、記憶装置1001から通信ソフトウェア103にデータ1002bの受け渡しが行われると、検出基本ソフトウェア190はこのときの異常なデータ1002bの受け渡し処理を検出する。
異常な処理を検出した検出基本ソフトウェア190は、データ1002bをインターネット12aに送信させることなく、ゲートウェイ装置10cの動作を停止させたり、図示しない管理システムに装置情報の通知を行ったり、装置の再起動を行って正当な組み込みソフトウェア111を取得し、改ざんされた組み込みソフトウェア1000bを除去したりする。
上記とは反対に、基本ソフトウェア102が、検出基本ソフトウェア190との協調処理を通じて、検出基本ソフトウェア190の異常な処理を検出することも可能である。
上記は、基本ソフトウェア102及び検出基本ソフトウェア190の協調処理の一例であり、不揮発性記憶部100及び揮発性記憶部104に記憶されたOS相当の2つのソフトウェアが、相互に監視を行いながら種々の装置データ及び制御情報を多重制御することによって、改ざんされたことによる異常な処理を検出できるようにするものである。つまり、このことは、検出基本ソフトウェア190が改ざんされた組み込みソフトウェア1000bを検出することに繋がる。
以上に説明したように、本発明の実施の形態3によれば、ゲートウェイ装置10cの不揮発性記憶部100に予め記憶された基本ソフトウェア102及びサーバ11cから取得して揮発性記憶部104に記憶された検出基本ソフトウェア190が協調処理を行いつつ、処理の異常を検出するように構成したので、ゲートウェイ装置10cの組み込みソフトウェア105が改ざんされたことを検出することが可能となる。その結果として、ゲートウェイ装置10cのセキュリティにおける堅牢性をより向上させる効果が得られる。
なお、実施の形態1〜3において、ゲートウェイ装置10a〜10cのその他の組み込み機器として、例えばホームゲートウェイ又はネットワークレコーダ等が考えられる。また、監視カメラ13a〜13cのその他の組み込み機器として、例えば情報端末、ネットワーク家電機器、又はマルチメディア機器等が考えられる。
10a,10b,10c ゲートウェイ装置
11a,11b,11c サーバ
12a インターネット
12b ローカルネットワーク
13a,13b,13c 監視カメラ
100 不揮発性記憶部
101 ファームウェア
102 基本ソフトウェア
103 通信ソフトウェア
104,144 揮発性記憶部
105,107,111,113,145 組み込みソフトウェア
190,191 検出基本ソフトウェア

Claims (5)

  1. 起動の都度にネットワークを介して外部装置から第1の組み込みソフトウェアをダウンロードする通信ソフトウェアと、前記通信ソフトウェアでダウンロードされた前記第1の組み込みソフトウェアを取得する基本ソフトウェアと、を記憶するための不揮発性記憶部と、
    前記基本ソフトウェアで取得された前記第1の組み込みソフトウェアを記憶するための揮発性記憶部と、
    を備え、
    前記基本ソフトウェアは、前記第1の組み込みソフトウェアが記憶された前記揮発性記憶部の記憶領域をマウント処理して前記第1の組み込みソフトウェアを実行可能な状態とする、
    組み込み機器。
  2. 前記基本ソフトウェアは、自機器の配下に接続する別の組み込み機器を実行させる第2の組み込みソフトウェアを前記ネットワークを介して前記外部装置から取得し、取得した前記第2の組み込みソフトウェアを前記別の組み込み機器に送信する、
    請求項1に記載の組み込み機器。
  3. 前記基本ソフトウェアは、前記外部装置から検出基本ソフトウェアをさらに取得して、前記揮発性記憶部に記憶させるとともに、マウント処理して実行可能な状態とし、
    実行可能な状態の前記検出基本ソフトウェアは、前記基本ソフトウェアとの協調処理に基づき、改ざんされた前記第1の組み込みソフトウェアを検出する、
    請求項1又は2に記載の組み込み機器。
  4. 請求項1に記載の組み込み機器と、
    請求項1に記載の外部装置と、
    を備え、
    前記外部装置は、前記組み込み機器の前記第1の組み込みソフトウェアを格納するソフトウェア格納領域、及び、前記ネットワークを介して前記組み込み機器から受信した識別情報に基づき前記組み込み機器を識別し、前記ソフトウェア格納領域に格納された前記組み込み機器を実行させる前記第1の組み込みソフトウェアを前記組み込み機器に送信する識別部、を有する、
    組み込み機器システム。
  5. 起動時にネットワークを介して外部装置に識別情報を送信する情報送信工程と、
    前記情報送信工程で送信した前記識別情報と対応する組み込みソフトウェアを前記外部装置からダウンロードするダウンロード工程と、
    前記ダウンロード工程でダウンロードした前記組み込みソフトウェアを揮発性記憶部に記憶させる記憶工程と、
    前記記憶工程で記憶させた前記揮発性記憶部の記憶領域をマウント処理して、前記組み込みソフトウェアを実行可能な状態とするマウント工程と、
    を有する組み込み機器の起動方法。
JP2017065569A 2017-03-29 2017-03-29 組み込み機器、組み込み機器システム及び組み込み機器の起動方法 Pending JP2018169729A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017065569A JP2018169729A (ja) 2017-03-29 2017-03-29 組み込み機器、組み込み機器システム及び組み込み機器の起動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017065569A JP2018169729A (ja) 2017-03-29 2017-03-29 組み込み機器、組み込み機器システム及び組み込み機器の起動方法

Publications (1)

Publication Number Publication Date
JP2018169729A true JP2018169729A (ja) 2018-11-01

Family

ID=64018761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017065569A Pending JP2018169729A (ja) 2017-03-29 2017-03-29 組み込み機器、組み込み機器システム及び組み込み機器の起動方法

Country Status (1)

Country Link
JP (1) JP2018169729A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909316A (zh) * 2019-11-14 2020-03-24 武汉正维电子技术有限公司 一种单片机软件的加密保护方法及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909316A (zh) * 2019-11-14 2020-03-24 武汉正维电子技术有限公司 一种单片机软件的加密保护方法及存储介质
CN110909316B (zh) * 2019-11-14 2023-05-09 武汉正维电子技术有限公司 一种单片机软件的加密保护方法及存储介质

Similar Documents

Publication Publication Date Title
US11221838B2 (en) Hot update method, operating system, terminal device, system, and computer-readable storage medium for a system process
US7991988B2 (en) Communication device and firmware update method thereof
CN108121559B (zh) 配置文件推送方法、服务器及存储介质
US20110283274A1 (en) Firmware image update and management
US9817975B2 (en) Method for logging firmware attack event and system therefor
US20170308705A1 (en) System, device and method for anti-rollback protection of over-the-air updated device images
CN107038085B (zh) 一种客户端应用的修复方法、装置及系统
JP6585072B2 (ja) 不揮発性メモリ又はセキュア素子へのデータの読み込みを安全に行うこと
US20140020096A1 (en) System to profile application software
CN101807152B (zh) 自我验证选择只读存储器的基本输出入系统及其验证方法
US9390259B2 (en) Method for activating an operating system in a security module
CN107526593B (zh) 基于动态链接库的bmc功能定制方法
CN110225078B (zh) 一种应用服务更新方法、系统及终端设备
TW201621647A (zh) 作業系統更新方法
WO2021036917A1 (zh) 物联网设备中的系统升级方法、装置、设备及存储介质
CN113703813A (zh) 内核升级方法、装置、设备及计算机可读存储介质
CN114282225A (zh) 漏洞防御方法、装置、计算机设备
CN111198703A (zh) 一种版本升级方法、系统、设备以及介质
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
WO2018166322A1 (zh) 系统分区的修复方法及装置
JP2018169729A (ja) 組み込み機器、組み込み機器システム及び組み込み機器の起動方法
CN104573496A (zh) 一种禁止启动项启动的方法和装置
US11755741B2 (en) Trusted boot-loader authentication
US10572166B1 (en) Firmware download for a solid state storage card
CN109428936B (zh) App的升级方法、装置、系统、电子设备及存储介质