JP2018182398A - 情報処理装置、機器、機器管理システム及び情報処理方法 - Google Patents

情報処理装置、機器、機器管理システム及び情報処理方法 Download PDF

Info

Publication number
JP2018182398A
JP2018182398A JP2017074789A JP2017074789A JP2018182398A JP 2018182398 A JP2018182398 A JP 2018182398A JP 2017074789 A JP2017074789 A JP 2017074789A JP 2017074789 A JP2017074789 A JP 2017074789A JP 2018182398 A JP2018182398 A JP 2018182398A
Authority
JP
Japan
Prior art keywords
program
difference
encryption
difference information
information
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.)
Withdrawn
Application number
JP2017074789A
Other languages
English (en)
Inventor
清水 良昭
Yoshiaki Shimizu
良昭 清水
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2017074789A priority Critical patent/JP2018182398A/ja
Publication of JP2018182398A publication Critical patent/JP2018182398A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】不正なプログラム更新を防止する情報処理装置、機器、機器管理システム及び情報処理方法を提供する。【解決手段】第1のプログラムを有する機器20と接続され、該第1のプログラムを第2のプログラムに更新させる情報処理装置10であって、第1のプログラムと、第2のプログラムとの差分を示す差分情報を作成する差分作成手段101と、第1のプログラムに基づいて、暗号化に用いる暗号化鍵を作成する暗号化鍵作成手段102と、暗号化鍵作成手段により作成された暗号化鍵を用いて、差分作成手段により作成された差分情報を暗号化して、該暗号化後の差分情報を作成する暗号化手段104と、暗号化手段により作成された暗号化後の差分情報を機器に送信する送信手段と、を有する。【選択図】図4

Description

本発明は、情報処理装置、機器、機器管理システム及び情報処理方法に関する。
例えばスマートメータ、自動販売機、携帯電話、カーナビゲーション端末等の様々な組み込み機器が知られている。組み込み機器では、例えばセキュリティの向上等のために製品出荷後に、ファームウェア等のプログラムの更新が行われることがある。
組み込み機器に搭載されているプログラムの更新について、更新前のプログラムと、更新後のプログラムとの差分情報を用いて、更新前のプログラムを更新する技術が知られている(例えば特許文献1参照)。
特開2008−41112号公報
しかしながら、ファームウェア等のプログラム更新の仕組みを悪用して、例えば、製品出荷後の組込み機器に不正なファームウェアが書き込まれてしまう等のセキュリティ上の脅威が懸念される。
ここで、組み込み機器に搭載されるCPU(Central Processing Unit)は、一般に、処理能力が高くない場合がある。したがって、例えば、公開鍵暗号方式に基づくデジタル署名等、差分情報の改ざんを防止する技術を用いることが困難な場合がある。
本発明の一実施形態は、上記の点に鑑みてなされたものであり、不正なプログラム更新を防止することを目的とする。
上記目的を達成するため、本発明の一実施形態は、第1のプログラムを有する機器と接続され、該第1のプログラムを第2のプログラムに更新させる情報処理装置であって、前記第1のプログラムと、前記第2のプログラムとの差分を示す差分情報を作成する差分作成手段と、前記第1のプログラムに基づいて、暗号化に用いる暗号化鍵を作成する暗号化鍵作成手段と、前記暗号化鍵作成手段により作成された前記暗号化鍵を用いて、前記差分作成手段により作成された前記差分情報を暗号化して、該暗号化後の差分情報を作成する暗号化手段と、前記暗号化手段により作成された前記暗号化後の差分情報を前記機器に送信する送信手段と、を有する。
本発明の一実施形態によれば、不正なプログラム更新を防止することができる。
第一の実施形態に係る機器管理システムのシステム構成の一例を示す図である。 第一の実施形態に係る機器管理装置のハードウェア構成の一例を示す図である。 第一の実施形態に係る機器のハードウェア構成の一例を示す図である。 第一の実施形態に係る機器管理システムの機能構成の一例を示す図である。 第一の実施形態に係る機器管理装置における差分情報の作成から送信までの処理の一例を示すフローチャートである。 第一の実施形態に係る機器が差分情報によりファームウェアを更新する処理の一例を示すフローチャートである。 第二の実施形態に係る機器管理システムの機能構成の一例を示す図である。 第二の実施形態に係る機器管理装置における差分情報の作成から送信までの処理の一例を示すフローチャートである。 第二の実施形態に係る機器が差分情報によりファームウェアを更新する処理の一例を示すフローチャートである。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
[第一の実施形態]
<システム構成>
まず、本実施形態に係る機器管理システム1のシステム構成について、図1を参照しながら説明する。図1は、本実施形態に係る機器管理システム1のシステム構成の一例を示す図である。
図1に示すように、本実施形態に係る機器管理システム1は、機器管理装置10と、1以上の機器20とを有し、例えばインターネットや電話回線網等のネットワークNを介して通信可能に接続されている。なお、機器管理装置10と機器20とは、例えばBluetooth(登録商標)等の近距離無線通信を用いて通信可能に接続されていても良い。
機器管理装置10は、機器20が有するファームウェア等のプログラムを管理する情報処理装置である。機器管理装置10は、差分提供処理部100と、ファームウェア記憶部110とを有する。
ファームウェア記憶部110は、更新前のファームウェア(以降、「旧ファームウェア」と表す。)310と、更新後のファームウェア(以降、「新ファームウェア」と表す。)320とを記憶する。
また、差分提供処理部100は、旧ファームウェア310と新ファームウェア320との差分を示す差分情報を認証付き暗号(AE:Authenticated Encryption又はAEAD:Authenticated Encryption with Associated Data)の手法により暗号化する。そして、差分提供処理部100は、当該暗号化後の差分情報(後述する暗号化済み差分情報及び認証タグ)を機器20に提供する。このとき、差分提供処理部100は、旧ファームウェア310に基づき暗号化鍵を作成した上で、当該暗号鍵を用いて差分情報を暗号化する。なお、認証タグは、メッセージ認証符号(MAC:Message Authentication Code)とも称され、暗号化後の差分情報の完全性(すなわち、当該暗号化後の差分情報が改ざん等されていないこと)を検証するための情報である。
機器20は、例えばスマートメータ、自動販売機、携帯電話、カーナビゲーション端末等の組み込み機器である。機器20は、差分更新処理部200と、旧ファームウェア310とを有する。
差分更新処理部200は、機器管理装置10から提供された暗号化済み差分情報及び認証タグを、認証付き暗号の手法により復号した上で、復号された差分情報と、旧ファームウェア310とに基づいて、当該旧ファームウェア310を更新する。このとき、差分更新処理部200は、機器20が有する旧ファームウェア310に基づき復号鍵を作成した上で、当該復号鍵を用いて暗号化済み差分情報を復号する。
このように、本実施形態に係る機器管理システム1では、機器管理装置10が、認証付き暗号の手法を用いて、旧ファームウェア310と新ファームウェア320との差分を機器20に提供する。これにより、本実施形態に係る機器管理システム1では、例えば、不正なファームウェアが機器20に書き込まれてしまうような事態(すなわち、不正なファームウェアの更新が行われてしまうような事態)を防止することができる。
また、このとき、本実施形態に係る機器管理システム1では、機器管理装置10が有する旧ファームウェア310に基づいて暗号化鍵を作成すると共に、機器20が有する旧ファームウェア310に基づいて復号鍵を作成する。これにより、本実施形態に係る機器管理システム1では、機器管理装置10及び機器20は、それぞれ暗号化鍵及び復号鍵を管理しておく必要がない。更に、本実施形態に係る機器管理システム1では、旧ファームウェア310の更新が行われる度に、暗号化鍵及び復号鍵も更新することができる。
なお、本実施形態は、機器20が有するファームウェアを更新する場合について説明するが、これに限られず、機器20が有する種々のプログラムを更新する場合についても同様に適用することができる。
<ハードウェア構成>
次に、本実施形態に係る機器管理装置10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係る機器管理装置10のハードウェア構成の一例を示す図である。
図2に示すように、本実施形態に係る機器管理装置10は、入力装置601と、表示装置602と、外部I/F603と、RAM(Random Access Memory)604とを有する。また、本実施形態に係る機器管理装置10は、ROM(Read Only Memory)605と、CPU606と、通信I/F607と、記憶装置608と有する。これら各ハードウェアは、バス609により相互に通信可能に接続されている。
入力装置601は、キーボードやマウス、タッチパネル等を含み、ユーザが各種の操作を行うのに用いられる。表示装置602は、ディスプレイ等を含み、機器管理装置10による処理結果を表示する。なお、機器管理装置10は、入力装置601及び表示装置602のうちの少なくとも一方を有していなくても良い。
外部I/F603は、外部装置とのインタフェースである。外部装置には、記録媒体603a等がある。機器管理装置10は、外部I/F603を介して、記録媒体603aの読み取りや書き込みを行うことができる。
記録媒体603aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
RAM604は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM605は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM605には、例えば、機器管理装置10の起動時に実行されるBIOS(Basic Input/Output System)、OS(Operating System)設定及びネットワーク設定等のプログラムやデータが格納されている。
CPU606は、ROM605や記憶装置608等からプログラムやデータをRAM604上に読み出し、処理を実行することで、機器管理装置10全体の制御や機能を実現する演算装置である。
通信I/F607は、機器管理装置10をネットワークNに接続するためのインタフェースである。機器管理装置10は、通信I/F607を介して、旧ファームウェア310と新ファームウェア320との差分を認証付き暗号の手法により暗号化した差分情報(すなわち、暗号化済み差分情報及び認証タグ)を機器20に送信することができる。
記憶装置608は、例えば、HDD(Hard Disk Drive)等であり、プログラムやデータを格納している不揮発性のメモリである。記憶装置608に格納されるプログラムやデータには、機器管理装置10の基本ソフトウェアであるOS、差分提供処理部100を実現するプログラム、旧ファームウェア310及び新ファームウェア320等がある。
なお、機器管理装置10は、記憶装置608として、例えば、記憶媒体としてフラッシュメモリを用いるドライブ装置(ソリッドステートドライブ:SSD)を利用するものであっても良い。
本実施形態に係る機器管理装置10は、図2に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
次に、本実施形態に係る機器20のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係る機器20のハードウェア構成の一例を示す図である。
図3に示すように、本実施形態に係る機器20は、外部I/F701と、RAM702と、CPU703と、フラッシュROM704と、通信I/F705とを有する。これら各ハードウェアは、バス706により相互に通信可能に接続されている。
外部I/F701は、外部装置とのインタフェースである。外部装置には、記録媒体701a等がある。機器20は、外部I/F701を介して、記録媒体701aの読み取りや書き込みを行うことができる。記録媒体701aには、例えば、SDメモリカードやUSBメモリカード等がある。
RAM702は、プログラムやデータを一時保持する揮発性の半導体メモリである。CPU703は、フラッシュROM704からプログラムやデータをRAM702上に読み出し、処理を実行することで、機器20全体の制御や機能を実現する演算装置である。
フラッシュROM704は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。フラッシュROM704には、例えば、旧ファームウェア310、差分更新処理部200を実現するプログラム等が格納されている。
通信I/F705は、機器20をネットワークNに接続するためのインタフェースである。機器20は、通信I/F705を介して、暗号化済み差分情報及び認証タグを機器管理装置10から受信することができる。
本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
<機能構成>
次に、本実施形態に係る機器管理システム1の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る機器管理システム1の機能構成の一例を示す図である。
図4に示すように、本実施形態に係る機器管理装置10の差分提供処理部100は、差分抽出部101と、鍵生成部102と、圧縮部103と、暗号化部104と、通信部105とを有する。なお、差分提供処理部100は、機器管理装置10にインストールされた1以上のプログラムが、CPU606に実行させる処理により実現される。
差分抽出部101は、ファームウェア記憶部110に記憶されている旧ファームウェア310と新ファームウェア320との差分を抽出して、抽出した差分を示す差分情報410を作成する。
鍵生成部102は、所定のアルゴリズムを用いて、ファームウェア記憶部110に記憶されている旧ファームウェア310から暗号化鍵420を作成する。
圧縮部103は、所定の圧縮方式を用いて、差分抽出部101により作成された差分情報410を圧縮(データ圧縮)して、圧縮差分情報430を作成する。
暗号化部104は、鍵生成部102により作成された暗号化鍵420を用いた認証付き暗号の手法により、圧縮部103により作成された圧縮差分情報430を暗号化して、暗号化済み圧縮差分情報440と認証タグ450とを作成する。
認証付き暗号の手法には、例えば、EtM(Encrypt-then-MAC)やE&M(Encrypt-and-MAC)等が挙げられる。
EtMでは、暗号化部104は、暗号化鍵420を用いて圧縮差分情報430を暗号化して、暗号化済み圧縮差分情報440を作成する。そして、暗号化部104は、所定のハッシュ関数と暗号化鍵420とを用いて、暗号化済み圧縮差分情報440のハッシュ値を算出して、算出したハッシュ値を認証タグ450とする。
E&Mでは、暗号化部104は、暗号化鍵420を用いて圧縮差分情報430を暗号化して、暗号化済み圧縮差分情報440を作成する。そして、暗号化部104は、所定のハッシュ関数と暗号化鍵420とを用いて、圧縮差分情報430のハッシュ値を算出して、算出したハッシュ値を認証タグ450とする。
なお、暗号化部104は、認証付き暗号の手法として、MtE(MAC-then-Encrypt)を用いても良い。ただし、この場合、暗号化部104は、圧縮差分情報430と、当該圧縮差分情報430から作成した認証タグとを連結した上で暗号化して、暗号化済み圧縮差分情報440を作成する。
通信部105は、暗号化部104により作成された暗号化済み圧縮差分情報440と認証タグ450とを機器20に送信する。
図4に示すように、本実施形態に係る機器20の差分更新処理部200は、通信部201と、鍵生成部202と、復号部203と、通知部204と、解凍部205と、生成部206と、更新部207とを有する。なお、差分更新処理部200は、機器20にインストールされた1以上のプログラムが、CPU703に実行させる処理により実現される。
通信部201は、暗号化済み圧縮差分情報440と認証タグ450とを機器管理装置10から受信する。
鍵生成部202は、機器管理装置10の鍵生成部102と同一のアルゴリズムを用いて、機器20が有する旧ファームウェア310(すなわち、機器20のフラッシュROM704に格納されている旧ファームウェア310)から復号鍵460を作成する。
復号部203は、鍵生成部202により作成された復号鍵460を用いた認証付き暗号の手法により、通信部201により受信された暗号化済み圧縮差分情報440を復号して、圧縮差分情報470を作成する。
また、復号部203は、通信部201により受信された認証タグ450を検証する。すなわち、復号部203は、例えば、当該圧縮差分情報470から認証タグを作成した上で、作成した認証タグと、認証タグ450とが一致するか否かにより、認証タグ450の検証結果が正当又は不当のいずれであるかを判定する。
なお、復号部203は、機器管理装置10の暗号化部104と同一の認証付き暗号の手法を用いて、暗号化済み圧縮差分情報440の復号と認証タグ450の検証とを行う。
通知部204は、復号部203による認証タグ450の検証結果が不当(すなわち、復号部203が作成した認証タグと、通信部201が受信した認証タグ450とが一致しない)場合、旧ファームウェア310の更新失敗を通知する。
解凍部205は、復号部203による認証タグ450の検証結果が正当(すなわち、復号部203が作成した認証タグと、通信部201が受信した認証タグ450とが一致する)場合、圧縮差分情報470を解凍(データ解凍)して、差分情報480を作成する。なお、解凍部205は、機器管理装置10の圧縮部103と同一の圧縮方式を用いて、圧縮差分情報470を解凍する。
生成部206は、解凍部205により作成された差分情報480と、機器20が有する旧ファームウェア310とから新ファームウェア330を作成する。すなわち、生成部206は、例えば、差分情報480を旧ファームウェア310に追加することにより、新ファームウェア330を作成する。このように作成された新ファームウェア330は、機器管理装置10のファームウェア記憶部110に記憶されている新ファームウェア320と同一のプログラムとなる。
更新部207は、フラッシュROM704に記憶されている旧ファームウェア310を、生成部206により作成された新ファームウェア330に更新する。これにより、機器20が有する旧ファームウェア310が新ファームウェア330に更新される。
<処理の詳細>
次に、本実施形態に係る機器管理システム1の処理の詳細について説明する。
≪機器管理装置10における差分情報の作成から送信までの処理≫
以降では、機器管理装置10における差分情報410の作成から機器20への送信までの処理について、図5を参照しながら説明する。図5は、本実施形態に係る機器管理装置10における差分情報410の作成から送信までの処理の一例を示すフローチャートである。なお、図5に示す処理は、ファームウェアの更新要求を機器20から受信した場合に実行されても良いし、所定のタイミング(例えば、新ファームウェア320がファームウェア記憶部110に記憶されたタイミング等)に実行されても良い。
まず、差分抽出部101は、ファームウェア記憶部110に記憶されている旧ファームウェア310と新ファームウェア320との差分を抽出して、抽出した差分を示す差分情報410を作成する(ステップS501)。差分抽出部101は、例えば、Linux(登録商標)のBidiffコマンドを用いることで、旧ファームウェア310と新ファームウェア320との差分を示す差分情報410を作成することができる。なお、差分抽出部101は、LinuxのBdiffコマンドに限られず、2つのバイナリファイルの差分を出力する種々の手法を用いることができる。
なお、旧ファームウェア310及び新ファームウェア320が複数のモジュールで構成されている場合、差分抽出部101は、差分があるモジュールの差分情報を作成しても良い。例えば、旧ファームウェア310が「モジュールA」及び「モジュールB」、新ファームウェアが「モジュールA」及び「モジュールC」で構成されている場合、差分抽出部101は、モジュールBとモジュールCとの差分情報を作成しても良い。この場合、差分抽出部101により作成される差分情報には、例えば、当該差分情報が旧ファームウェア310のいずれのモジュールに対する差分であるかを示す情報(例えば、モジュールID等)が含まれる。
次に、鍵生成部102は、所定のアルゴリズムを用いて、ファームウェア記憶部110に記憶されている旧ファームウェア310から暗号化鍵420を作成する(ステップS502)。すなわち、鍵生成部102は、例えば、旧ファームウェア310のバイナリデータを当該アルゴリズムに入力することで、当該アルゴリズムの出力として暗号化鍵420を作成する。鍵生成部102は、例えば、128ビット乃至256ビットの暗号化鍵420を作成すれば良い。なお、所定のアルゴリズムには、例えば、所定のハッシュ関数等を用いることができる。また、鍵生成部102は、当該旧ファームウェア310自体を暗号化鍵420としても良い。
次に、圧縮部103は、所定の圧縮方式を用いて、上記のステップS501で作成された差分情報410を圧縮(データ圧縮)して、圧縮差分情報430を作成する(ステップS503)。圧縮部103は、例えば、Linuxのbzip2コマンドを用いることで、当該差分情報410を圧縮して、圧縮差分情報430を作成することができる。なお、圧縮部103は、Linuxのbzip2コマンドに限られず、種々の圧縮方式(例えば、bzip、gzip、ZIP、7z、RAR、LHA等)を用いることができる。
次に、暗号化部104は、上記のステップS502で作成された暗号化鍵420を用いた認証付き暗号の手法により、上記のステップS503で作成された圧縮差分情報430を暗号化して、暗号化済み圧縮差分情報440と認証タグ450とを作成する(ステップS504)。
次に、通信部105は、上記のステップS504で作成された暗号化済み圧縮差分情報440と認証タグ450とを機器20に送信する(ステップS505)。
以上により、本実施形態に係る機器管理システム1では、機器管理装置10で作成された暗号化済み圧縮差分情報440及び認証タグ450が機器20に送信される。
なお、図5のステップS503の処理は行わなくても良い。すなわち、ステップS504において、暗号化部104は、暗号化鍵420を用いた認証付き暗号の手法により、差分情報410を暗号化して、暗号化済み差分情報と認証タグとを作成しても良い。ただし、図5のステップS503の処理を行うことで、機器管理装置10と機器20との間におけるデータ通信量を削減することができる。
≪機器20が差分情報によりファームウェアを更新する処理≫
以降では、機器20が差分情報480により旧ファームウェア310を更新する処理について、図6を参照しながら説明する。図6は、本実施形態に係る機器20が差分情報480によりファームウェアを更新する処理の一例を示すフローチャートである。
まず、通信部201は、暗号化済み圧縮差分情報440と認証タグ450とを機器管理装置10から受信する(ステップS601)。
次に、鍵生成部202は、機器管理装置10の鍵生成部102と同一のアルゴリズムを用いて、機器20が有する旧ファームウェア310から復号鍵460を作成する(ステップS602)。
なお、ステップS602以降の処理は、例えば、上記のステップS601で暗号化済み圧縮差分情報440及び認証タグ450が受信された後、所定のタイミング(例えば、夜間やユーザが設定した時刻等)で実行が開始されても良い。
次に、復号部203は、上記のステップS602で作成された復号鍵460を用いた認証付き暗号の手法により、上記のステップS601で受信された暗号化済み圧縮差分情報440を復号して、圧縮差分情報470を作成する(ステップS603)。
次に、復号部203は、上記のステップS601で受信された認証タグ450を検証する(ステップS604)。すなわち、復号部203は、例えば、上記のステップS603で作成された圧縮差分情報470から認証タグを作成した上で、作成した認証タグと、認証タグ450とが一致するか否かにより、認証タグ450の検証結果が正当又は不当のいずれであるかを判定する。
ステップS604において、検証結果が正当であると判定された場合、解凍部205は、上記のステップS603で作成された圧縮差分情報470を解凍(データ解凍)して、差分情報480を作成する(ステップS605)。
次に、生成部206は、上記のステップS605で作成された差分情報480と、機器20が有する旧ファームウェア310とから新ファームウェア330を作成する(ステップS606)。すなわち、生成部206は、例えば、差分情報480を旧ファームウェア310に追加することにより、新ファームウェア330を作成する。生成部206は、例えば、LinuxのBupdateコマンドを用いることで、差分情報480を旧ファームウェア310に追加して、新ファームウェア330を作成することができる。このように作成された新ファームウェア330は、機器管理装置10のファームウェア記憶部110に記憶されている新ファームウェア320と同一のプログラムとなる。
なお、生成部206は、LinuxのBupdateコマンドに限られず、あるバイナリデータ(差分情報480)を他のバイナリデータ(旧ファームウェア310)に追加する種々の手法を用いることができる。
次に、更新部207は、フラッシュROM704に記憶されている旧ファームウェア310を、生成部206により作成された新ファームウェア330に更新する(ステップS607)。これにより、機器20が有する旧ファームウェア310が新ファームウェア330に更新される。
一方、ステップS604において、検証結果が不当である(正当でない)と判定された場合、通知部204は、旧ファームウェア310の更新失敗を通知する(ステップS608)。通知部204は、例えば、LED(Light Emitting Diode)ランプを点灯させる、ブザー音を発する等により、旧ファームウェア310の更新失敗を通知すれば良い。また、通知部204は、所定のメールアドレス宛に更新失敗を示すメールを送信することにより、旧ファームウェア310の更新失敗を通知しても良い。
以上により、本実施形態に係る機器管理システム1では、機器20は、機器管理装置10から受信した暗号化済み圧縮差分情報440及び認証タグ450に基づいて、旧ファームウェア310を新ファームウェア330に更新することができる。これにより、本実施形態に係る機器管理システム1では、例えば、不正なファームウェアが機器20に書き込まれてしまうような事態(すなわち、不正なファームウェアの更新が行われてしまうような事態)を防止することができる。
また、本実施形態に係る機器管理システム1では、機器管理装置10が有する旧ファームウェア310に基づいて暗号化鍵420が作成される共に、機器20が有する旧ファームウェア310に基づいて復号鍵460が作成される。このため、本実施形態に係る機器管理システム1では、機器管理装置10及び機器20は、それぞれ暗号化鍵420及び復号鍵460を管理しておく必要がない(すなわち、記憶装置608やフラッシュROM704にそれぞれ暗号化鍵420や復号鍵460を記憶させておく必要がない。)。したがって、本実施形態に係る機器管理システム1では、暗号化鍵420や復号鍵460の漏洩も防止することができる。
更に、本実施形態に係る機器管理システム1では、旧ファームウェア310に基づいて暗号化鍵420及び復号鍵460が作成されるため、旧ファームウェア310の更新が行われる度に、暗号化鍵420及び復号鍵460も更新することができる。したがって、本実施形態に係る機器管理システム1では、万が一、暗号化鍵420や復号鍵460が漏洩した場合であっても、旧ファームウェア310の更新により、その後、不正なファームウェアが機器20に書き込まれてしまうような事態を防止することができる。なお、旧ファームウェア310が更新された後は、暗号化鍵420及び復号鍵460の情報を直ちに削除し、機器管理システム1に記憶させておかないようにすることが望ましい。
[第二の実施形態]
次に、第二の実施形態について説明する。第二の実施形態では、機器管理装置10のファームウェア記憶部110に記憶されている新ファームウェア320から算出したハッシュ値と、機器20の生成部206により作成された新ファームウェア330から算出したハッシュ値とが一致するか否かを検証する。これにより、第二の実施形態では、機器管理装置10のファームウェア記憶部110に記憶されている新ファームウェア320と、機器20の生成部206により作成された新ファームウェア330との同一性を確認することができる。
したがって、例えば、新ファームウェア320とは異なる新ファームウェア330(すなわち、不正なファームウェア)が機器20に書き込まれてしまう事態を、第一の実施形態よりも高い精度で防止することができる。
なお、第二の実施形態では、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第一の実施形態と同一の符号を用いて、その説明を省略する。
<機能構成>
まず、本実施形態に係る機器管理システム1の機能構成について、図7を参照しながら説明する。図7は、本実施形態に係る機器管理システム1の機能構成の一例を示す図である。
図7に示すように、本実施形態に係る機器管理装置10の差分提供処理部100は、更に、ハッシュ部106を有する。ハッシュ部106は、所定のハッシュ関数を用いて、ファームウェア記憶部110に記憶されている新ファームウェア320からハッシュ値510を作成する。
また、本実施形態に係る通信部105は、暗号化部104により作成された暗号化済み圧縮差分情報440と認証タグ450とに加えて、ハッシュ部106により作成されたハッシュ値510も機器20に送信する。このとき、通信部105は、例えば、圧縮差分情報440と認証タグ450とを機器20に送信した後、ハッシュ値510を当該機器20に送信する。
図7に示すように、本実施形態に係る機器20の差分更新処理部200は、更に、ハッシュ部208と、検証部209とを有する。
本実施形態に係る通信部201は、暗号化済み圧縮差分情報440と認証タグ450とに加えて、ハッシュ値510も機器管理装置10から受信する。
ハッシュ部208は、機器管理装置10のハッシュ部106と同一のハッシュ関数を用いて、生成部206により作成された新ファームウェア330からハッシュ値520を作成する。
検証部209は、ハッシュ部208により作成されたハッシュ値520を検証する。すなわち、検証部209は、ハッシュ部208により作成されたハッシュ値520と、通信部201により受信されたハッシュ値510とが一致するか否かにより、当該ハッシュ値520の検証結果が正当又は不当のいずれであるかを判定する。
<処理の詳細>
次に、本実施形態に係る機器管理システム1の処理の詳細について説明する。
≪機器管理装置10における差分情報の作成から送信までの処理≫
以降では、機器管理装置10における差分情報410の作成から機器20への送信までの処理について、図8を参照しながら説明する。図8は、本実施形態に係る機器管理装置10における差分情報410の作成から送信までの処理の一例を示すフローチャートである。なお、図8のステップS801〜ステップS805の処理は、図5のステップS501〜ステップS505の処理と同様であるため、その説明を省略する。
ステップS805に続いて、ハッシュ部106は、所定のハッシュ関数を用いて、ファームウェア記憶部110に記憶されている新ファームウェア320からハッシュ値510を作成する(ステップS806)。
次に、通信部105は、上記のステップS806で作成されたハッシュ値510を、ステップS805で圧縮差分情報440と認証タグ450とを送信した機器20と同一の機器20に送信する(ステップS807)。このように、通信部105は、圧縮差分情報440及び認証タグ450と、ハッシュ値510とを別々に機器20に送信することで、例えば、第三者により通信が盗聴された場合等において、圧縮差分情報440、認証タグ450及びハッシュ値510のいずれもが窃取されてしまうリスクを低減することができる。
以上により、本実施形態に係る機器管理システム1では、機器管理装置10で作成された暗号化済み圧縮差分情報440及び認証タグ450に加えて、新ファームウェア320から作成されたハッシュ値510が機器20に送信される。
≪機器20が差分情報によりファームウェアを更新する処理≫
以降では、機器20が差分情報480により旧ファームウェア310を更新する処理について、図9を参照しながら説明する。図9は、本実施形態に係る機器20が差分情報480によりファームウェアを更新する処理の一例を示すフローチャートである。なお、図9のステップS902〜ステップS906の処理は、図6のステップS602〜S606の処理と同様であるため、その説明を省略する。
まず、通信部201は、暗号化済み圧縮差分情報440と、認証タグ450と、ハッシュ値510とを機器管理装置10から受信する(ステップS901)。このとき、通信部201は、例えば、暗号化済み圧縮差分情報440と認証タグ450とを機器管理装置10から受信した後、ハッシュ値510を当該機器管理装置10から受信する。
ステップS906に続いて、ハッシュ部208は、機器管理装置10のハッシュ部106と同一のハッシュ関数を用いて、生成部206により作成された新ファームウェア330からハッシュ値520を作成する(ステップS907)。
次に、検証部209は、上記のステップS907で作成されたハッシュ値520を検証する(ステップS908)。すなわち、検証部209は、上記のステップS907で作成されたハッシュ値520と、ステップS901で受信されたハッシュ値510とが一致するか否かにより、当該ハッシュ値520の検証結果が正当又は不当のいずれであるかを判定する。
ステップS908において、検証結果が正当であると判定された場合、更新部207は、フラッシュROM704に記憶されている旧ファームウェア310を、生成部206により作成された新ファームウェア330に更新する(ステップS909)。これにより、機器20が有する旧ファームウェア310が新ファームウェア330に更新される。
ステップS904において、復号部203による検証結果が不当であると判定された場合、又は、ステップS908において、検証部209による検証結果が不当であると判定された場合、通知部204は、旧ファームウェア310の更新失敗を通知する(ステップS910)。なお、通知部204は、図6のステップS608と同様の方法を用いて、旧ファームウェア310の更新失敗を通知すれば良い。
以上により、本実施形態に係る機器管理システム1では、機器20は、新ファームウェア330から作成されたハッシュ値520と、機器管理装置10から受信したハッシュ値510との同一性を検証する。これにより、本実施形態に係る機器管理システム1では、機器管理装置10のファームウェア記憶部110に記憶されている新ファームウェア320と、機器20の生成部206により作成された新ファームウェア330との同一性を確認することができる。したがって、本実施形態に係る機器管理システム1によれば、例えば、新ファームウェア320とは異なる新ファームウェア330(すなわち、不正なファームウェア)が機器20に書き込まれてしまう事態を、第一の実施形態よりも高い精度で防止することができる。
第一の実施形態では、悪意をもった第三者が暗号化済み圧縮差分情報440をネットワーク上で傍受しても当該第三者はデータ内容を解読することはできないが、例えば、認証付き暗号化の手法としてEtMが用いられており、当該第三者が、EtMで用いられる所定のハッシュ関数と暗号化鍵420とを入手していた場合、ネットワーク上で傍受した暗号化済み圧縮差分情報440を改ざんすることができてしまう。この場合、当該第三者は、改ざんした暗号化済み圧縮差分情報のハッシュ値を算出して、算出したハッシュ値を認証タグとすることが可能となり、この認証タグの検証結果が正当となってしまう。
一方で、第二の実施形態では、ハッシュ部208により新ファームウェアからハッシュ値が生成される。このため、上記のように、例えば、悪意をもった第三者が、改ざんした暗号化済み圧縮差分情報のハッシュ値を算出して、算出したハッシュ値を認証タグとしても、ハッシュ部208で生成したハッシュ値により、検証部209による検証結果は不当となる。このように、第二の実施形態では、悪意をもった第三者により暗号化済み圧縮差分情報440が傍受されたとしても、不正なファームウェアの書き込みを防止することができる。
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 機器管理システム
10 機器管理装置
20 機器
100 差分提供処理部
101 差分抽出部
102 鍵生成部
103 圧縮部
104 暗号化部
105 通信部
200 差分更新処理部
201 通信部
202 鍵生成部
203 復号部
204 通知部
205 解凍部
206 生成部
207 更新部

Claims (14)

  1. 第1のプログラムを有する機器と接続され、該第1のプログラムを第2のプログラムに更新させる情報処理装置であって、
    前記第1のプログラムと、前記第2のプログラムとの差分を示す差分情報を作成する差分作成手段と、
    前記第1のプログラムに基づいて、暗号化に用いる暗号化鍵を作成する暗号化鍵作成手段と、
    前記暗号化鍵作成手段により作成された前記暗号化鍵を用いて、前記差分作成手段により作成された前記差分情報を暗号化して、該暗号化後の差分情報を作成する暗号化手段と、
    前記暗号化手段により作成された前記暗号化後の差分情報を前記機器に送信する送信手段と、
    を有する情報処理装置。
  2. 前記暗号化手段は、
    更に、前記暗号化後の差分情報の完全性を検証するための認証タグを作成し、
    前記送信手段は、
    更に、前記認証タグを前記機器に送信する、請求項1に記載の情報処理装置。
  3. 所定のハッシュ関数を用いて、前記第2のプログラムのハッシュ値を算出するハッシュ値算出手段を有し、
    前記送信手段は、
    更に、前記ハッシュ値算出手段により算出された前記ハッシュ値を前記機器に送信する、請求項1又は2に記載の情報処理装置。
  4. 前記暗号化鍵作成手段は、
    前記第1のプログラムのバイナリデータを所定のアルゴリズムに入力して、該アルゴリズムの出力として得られる前記暗号化鍵を作成する、請求項1乃至3の何れか一項に記載の情報処理装置。
  5. 所定の圧縮方式を用いて、前記差分作成手段により作成された前記差分情報を圧縮した圧縮差分情報を作成する圧縮手段を有し、
    前記暗号化手段は、
    前記暗号化鍵を用いて、前記圧縮手段により作成された前記圧縮差分情報を暗号化して、該暗号化後の圧縮差分情報を作成し、
    前記送信手段は、
    前記暗号化後の圧縮差分情報を前記機器に送信する、請求項1乃至4の何れか一項に記載の情報処理装置。
  6. 第1のプログラムを有する機器であって、該第1のプログラムを更新した第2のプログラムを有する情報処理装置と接続される機器において、
    前記第1のプログラムと前記第2のプログラムとの差分が暗号化された暗号化済み差分情報を前記情報処理装置から受信する受信手段と、
    前記第1のプログラムに基づき、復号に用いる復号鍵を作成する復号鍵作成手段と、
    前記復号鍵作成手段により作成された前記復号鍵を用いて、前記暗号化済み差分情報を復号して、前記差分を示す差分情報を作成する復号手段と、
    前記復号手段により前記差分情報と、前記第1のプログラムに基づき、前記第2のプログラムを作成するプログラム作成手段と、
    前記プログラム作成手段により作成された前記第2のプログラムで前記第1のプログラムを更新する更新手段と、
    を有する機器。
  7. 前記受信手段は、
    更に、前記暗号化済み差分情報の完全性を検証するための第1の認証タグを前記情報処理装置から受信し、
    前記復号手段は、
    前記暗号化済み差分情報から第2の認証タグを作成し、作成した該第2の認証タグと、前記復号鍵と、前記第1の認証タグとを用いて、認証付き暗号により前記暗号化済み差分情報を復号する、請求項6に記載の機器。
  8. 所定のハッシュ関数を用いて、前記プログラム作成手段により作成された前記第2のプログラムの第1のハッシュ値を算出するハッシュ値算出手段を有し、
    前記受信手段は、
    更に、前記情報処理装置が有する前記第2のプログラムから算出された第2のハッシュ値を受信し、
    前記更新手段は、
    前記第1のハッシュ値と前記第2のハッシュ値とが一致する場合、前記第2のプログラムで前記第1のプログラムを更新する、請求項6又は7に記載の機器。
  9. 前記復号手段は、
    前記第1のプログラムのバイナリデータを所定のアルゴリズムに入力して、該アルゴリズムの出力として得られる前記復号鍵を作成する、請求項6又は8に記載の機器。
  10. 前記復号手段は、
    前記受信手段が前記暗号化済み差分情報を受信した後に、前記復号鍵を作成し、
    前記復号鍵作成手段は、
    前記プログラム作成手段が前記第1のプログラムを更新した場合、前記復号鍵を削除する、請求項6乃至9の何れか一項に記載の機器。
  11. 所定の圧縮方式を用いてデータ圧縮された情報を解凍する解凍手段を有し、
    前記受信手段は、
    前記第1のプログラムと前記第2のプログラムとの差分が所定の圧縮方式を用いて圧縮及び前記暗号化された暗号化済み圧縮差分情報を前記情報処理装置から受信し、
    前記復号手段は、
    前記暗号化済み圧縮差分情報を復号して、前記差分が前記圧縮方式を用いて圧縮された情報を示す圧縮差分情報を作成し、
    前記解凍手段は、
    前記圧縮方式を用いて、前記復号手段により作成された前記圧縮差分情報を解凍して、前記差分を示す差分情報を作成し、
    前記プログラム作成手段は、
    前記解凍手段により作成された前記差分情報と、前記第1のプログラムに基づき、前記第2のプログラムを作成する、請求項6乃至10の何れか一項に記載の機器。
  12. 第1のプログラムを有する機器と、該第1のプログラムを第2のプログラムに更新させる情報処理装置とを有する機器管理システムであって、
    前記情報処理装置は、
    前記第1のプログラムと、前記第2のプログラムとの差分を示す差分情報を作成する差分作成手段と、
    前記第1のプログラムに基づいて、暗号化に用いる暗号化鍵を作成する暗号化鍵作成手段と、
    前記暗号化鍵作成手段により作成された前記暗号化鍵を用いて、前記差分作成手段により作成された前記差分情報を暗号化して、該暗号化後の差分情報を作成する暗号化手段と、
    前記暗号化手段により作成された前記暗号化後の差分情報を前記機器に送信する送信手段と、を有し、
    前記機器は、
    前記暗号化後の差分情報を前記情報処理装置から受信する受信手段と、
    前記第1のプログラムに基づき、復号に用いる復号鍵を作成する復号鍵作成手段と、
    前記復号鍵作成手段により作成された前記復号鍵を用いて、前記暗号化後の差分情報を復号して、前記差分を示す差分情報を作成する復号手段と、
    前記復号手段により前記差分情報と、前記第1のプログラムに基づき、前記第2のプログラムを作成するプログラム作成手段と、
    前記プログラム作成手段により作成された前記第2のプログラムで前記第1のプログラムを更新する更新手段と、
    を有する機器管理システム。
  13. 第1のプログラムを有する機器と接続され、該第1のプログラムを第2のプログラムに更新させる情報処理装置に用いられる情報処理方法であって、
    前記第1のプログラムと、前記第2のプログラムとの差分を示す差分情報を作成する差分作成手順と、
    前記第1のプログラムに基づいて、認証付き暗号に用いる暗号化鍵を作成する暗号化鍵作成手順と、
    前記暗号化鍵作成手順により作成された前記暗号化鍵を用いて、前記差分作成手順により作成された前記差分情報を前記認証付き暗号により暗号化して、該暗号化後の差分情報と、該暗号化後の差分情報の完全性を検証するための認証タグとを作成する暗号化手順と、
    前記暗号化手順により作成された前記暗号化後の差分情報と、前記認証タグとを前記機器に送信する送信手順と、
    を有する情報処理方法。
  14. 第1のプログラムを有する機器であって、該第1のプログラムを更新した第2のプログラムを有する情報処理装置と接続される機器に用いられる情報処理方法であって、
    前記第1のプログラムと前記第2のプログラムとの差分が認証付き暗号により暗号化された暗号化済み差分情報と、該暗号化済み差分情報の完全性を検証するための認証タグとを前記情報処理装置から受信する受信手順と、
    前記第1のプログラムに基づき、前記認証付き暗号に用いる復号鍵を作成する復号鍵作成手順と、
    前記復号鍵作成手順により作成された前記復号鍵と、前記受信手順により受信された前記認証タグとを用いて、前記暗号化済み差分情報を前記認証付き暗号により復号して、前記差分を示す差分情報を作成する復号手順と、
    前記復号手順により前記差分情報と、前記第1のプログラムに基づき、前記第2のプログラムを作成するプログラム作成手順と、
    前記プログラム作成手順により作成された前記第2のプログラムで前記第1のプログラムを更新する更新手順と、
    を有する情報処理方法。
JP2017074789A 2017-04-04 2017-04-04 情報処理装置、機器、機器管理システム及び情報処理方法 Withdrawn JP2018182398A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017074789A JP2018182398A (ja) 2017-04-04 2017-04-04 情報処理装置、機器、機器管理システム及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017074789A JP2018182398A (ja) 2017-04-04 2017-04-04 情報処理装置、機器、機器管理システム及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2018182398A true JP2018182398A (ja) 2018-11-15

Family

ID=64276132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017074789A Withdrawn JP2018182398A (ja) 2017-04-04 2017-04-04 情報処理装置、機器、機器管理システム及び情報処理方法

Country Status (1)

Country Link
JP (1) JP2018182398A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2591244A (en) * 2020-01-21 2021-07-28 Arm Ip Ltd Electronic device manufacture and content provision

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956402A (en) * 1997-03-07 1999-09-21 At&T Corp. Passwordless secure and efficient remote data update
JP2013142994A (ja) * 2012-01-10 2013-07-22 Clarion Co Ltd 情報配信方法、情報配信システムおよび車載端末
JP2013239989A (ja) * 2012-05-17 2013-11-28 Sony Computer Entertainment Inc 情報処理装置、データ生成方法、情報処理方法、および情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956402A (en) * 1997-03-07 1999-09-21 At&T Corp. Passwordless secure and efficient remote data update
JP2013142994A (ja) * 2012-01-10 2013-07-22 Clarion Co Ltd 情報配信方法、情報配信システムおよび車載端末
JP2013239989A (ja) * 2012-05-17 2013-11-28 Sony Computer Entertainment Inc 情報処理装置、データ生成方法、情報処理方法、および情報処理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2591244A (en) * 2020-01-21 2021-07-28 Arm Ip Ltd Electronic device manufacture and content provision
WO2021148766A1 (en) * 2020-01-21 2021-07-29 Arm Ip Limited Electronic device manufacture and content provision
GB2591244B (en) * 2020-01-21 2022-03-09 Arm Ip Ltd Electronic device manufacture and content provision

Similar Documents

Publication Publication Date Title
KR101608510B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
US10110411B2 (en) Device programming with system generation
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US9311487B2 (en) Tampering monitoring system, management device, protection control module, and detection module
TWI567579B (zh) 用於對硬體裝置提供金鑰的方法和設備
KR20210061426A (ko) 이중 암호화된 시크릿 부분의 서브세트를 사용하여 시크릿의 어셈블리를 허용하는 이중 암호화된 시크릿 부분
US8769312B2 (en) Tampering monitoring system, protection control module, and detection module
CN102156843B (zh) 数据加密方法与系统以及数据解密方法
CN111316596B (zh) 具有身份验证的加密芯片
JP6146476B2 (ja) 情報処理装置及び情報処理方法
US20120213370A1 (en) Secure management and personalization of unique code signing keys
CN113545021B (zh) 预先授权设备的注册
KR102282788B1 (ko) 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템
CN103605927A (zh) 一种基于嵌入式Linux系统实现加密和解密方法
JP2018182398A (ja) 情報処理装置、機器、機器管理システム及び情報処理方法
CN103532712A (zh) 数字媒体文件保护方法、系统及客户端
JP6792191B2 (ja) 情報送信方法、情報処理方法、プログラム、復号方法、プログラム
CN101355424A (zh) 一种手持设备数据安全迁移的方法
JP6717730B2 (ja) 端末装置、鍵提供システム、鍵提供方法及びコンピュータプログラム
JP6723958B2 (ja) 暗号化データ生成装置、復号データ生成装置、追加データ付き認証暗号システム、その方法、及びプログラム
KR101810946B1 (ko) 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법
CN117828551A (zh) 软件产品的许可证检测方法、装置及介质
JP5180264B2 (ja) 装置鍵
CN104954139A (zh) 密码机

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20210419