JP6861739B2 - 組み込み装置及びファームウェア更新方法 - Google Patents
組み込み装置及びファームウェア更新方法 Download PDFInfo
- Publication number
- JP6861739B2 JP6861739B2 JP2018563980A JP2018563980A JP6861739B2 JP 6861739 B2 JP6861739 B2 JP 6861739B2 JP 2018563980 A JP2018563980 A JP 2018563980A JP 2018563980 A JP2018563980 A JP 2018563980A JP 6861739 B2 JP6861739 B2 JP 6861739B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- firmware
- application
- control unit
- tampered
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 44
- 238000012795 verification Methods 0.000 claims description 62
- 230000004913 activation Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 description 23
- 238000001994 activation Methods 0.000 description 12
- 230000005856 abnormality Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Description
前記更新用のファームウェアが前記ファームウェア格納部に書き込まれた後の前記組み込み装置の起動時に、前記ファームウェア検証部は、前記ファームウェア更新によって取得された前記更新用のOSのOS署名情報の検証を行い、
前記更新用のOSが改ざんされていないと判断された場合、前記起動制御部は前記更新用のOSを実行し、
前記更新用のOSが改ざんされていると判断された場合、前記起動制御部は使用するOSを前記ファームウェア更新の前に使用していた更新前のOSに切り替え、前記ファームウェア検証部は前記更新前のOSのOS署名情報の検証を行い、
前記更新前のOSのOS署名情報が改ざんされていないと判断された場合、前記起動制御部は前記更新前のOSを実行し、
前記更新前のOSのOS署名情報が改ざんされていると判断された場合、前記起動制御部は前記組み込み装置の起動動作を終了し、
前記起動制御部が前記更新用のOS又は前記更新前のOSを実行したときに、前記ファームウェア検証部は、前記更新用のアプリケーションのアプリケーション署名情報の検証を行い、
前記更新用のアプリケーションは改ざんされていないと判断された場合、前記起動制御部は前記更新用のアプリケーションを実行し、
前記更新用のアプリケーションは改ざんされていると判断された場合、前記起動制御部は使用するアプリケーションを前記更新前のアプリケーションに切り替え、前記ファームウェア検証部は前記更新前のアプリケーションのアプリケーション署名情報の検証を行い、
前記更新前のアプリケーションが改ざんされていないと判断された場合、前記起動制御部は前記更新前のアプリケーションを実行し、
前記更新前のアプリケーションが改ざんされていると判断された場合、前記更新用のアプリケーション及び前記更新前のアプリケーションを実行しないことを特徴としている。
前記更新用のファームウェアが前記ファームウェア格納部に書き込まれた後の前記組み込み装置の起動時に、前記ファームウェア検証部は、前記ファームウェア更新によって取得された前記更新用のOSのOS署名情報の検証を行い、
前記更新用のOSが改ざんされていないと判断された場合、前記起動制御部は前記更新用のOSを実行し、
前記更新用のOSが改ざんされていると判断された場合、前記起動制御部は使用するOSを前記ファームウェア更新の前に使用していた更新前のOSに切り替え、前記ファームウェア検証部は前記更新前のOSのOS署名情報の検証を行い、
前記更新前のOSのOS署名情報が改ざんされていないと判断された場合、前記起動制御部は前記更新前のOSを実行し、
前記更新前のOSのOS署名情報が改ざんされていると判断された場合、前記起動制御部は前記組み込み装置の起動動作を終了し、
前記起動制御部が前記更新用のOS又は前記更新前のOSを実行したときに、前記ファームウェア検証部は、前記更新用のアプリケーションのアプリケーション署名情報の検証を行い、
前記更新用のアプリケーションは改ざんされていないと判断された場合、前記起動制御部は前記更新用のアプリケーションを実行し、
前記更新用のアプリケーションは改ざんされていると判断された場合、前記起動制御部は使用するアプリケーションを前記更新前のアプリケーションに切り替え、前記ファームウェア検証部は前記更新前のアプリケーションのアプリケーション署名情報の検証を行い、
前記更新前のアプリケーションが改ざんされていないと判断された場合、前記起動制御部は前記更新前のアプリケーションを実行し、
前記更新前のアプリケーションが改ざんされていると判断された場合、前記更新用のアプリケーション及び前記更新前のアプリケーションを実行しないことを特徴としている。
《1−1》組み込み装置1
図1は、実施の形態1に係る組み込み装置1の構成を概略的に示すブロック図である。組み込み装置1は、実施の形態1に係るファームウェア更新方法を実施することができる装置である。図1に示されるように、組み込み装置1は、組み込み装置1の全体の動作を制御する装置制御部2と、イーサネット(登録商標)接続などによりネットワークと通信可能に接続される通信インタフェース部3と、ブートプログラム及びファームウェアに従う組み込み装置1の動作の制御を行う起動制御部4と、ファームウェアの更新を行うためのファームウェア更新制御部5と、ファームウェアの検証を行うためのファームウェア検証部6と、ファームウェア検証部6に備えられ、ファームウェアに検証に用いる証明書情報を格納するための証明書情報格納部61とを備えている。また、組み込み装置1は、不揮発性の半導体メモリなどで構成された記憶装置であるブートプログラム7aの格納部としてのブートROM(Read Only Memory)7と、半導体メモリ又はハードディスクドライブなどで構成された記憶装置であるファームウェア格納部8とを備えている。
図2は、実施の形態1に係る組み込み装置1が取得する更新用のファームウェア20のファイル構成の例を示す図である。図2に示されるように、ネットワークから通信インタフェース部3を通して取得される更新用のファームウェア20のファイルは、更新用のOS21と更新用のアプリケーション22とを有している。更新用のOS21は、OS署名情報21aを含み、更新用のアプリケーション22は、アプリケーション署名情報22aを含んでいる。
図3は、実施の形態1に係る組み込み装置1が更新用のファームウェア20のファイルを取得し、ファームウェア格納部8に格納されているファームウェアを更新用のファームウェア20に置き替える更新時の動作例を示すフローチャートである。
次に、組み込み装置1の起動処理について、図を参照して説明する。図4は、実施の形態1に係る組み込み装置1の起動処理の例を示す図である。一般的に、組み込み装置1では、図4に示されるように、ブートROM7から読み出されたブートプログラム31を最初に起動し、順次ブートプログラム31がファームウェア格納部8から読み出されたOS32を起動し、OS32がアプリケーション33を起動する。
以上に説明したように、実施の形態1に係る組み込み装置1及びファームウェア更新方法によれば、更新用のファームウェア20を取得した後、ファームウェア格納部8に格納する前に、ファームウェア検証部6によって更新用のファームウェア20の正当性の検証を行う(図3におけるステップS103,S106)。このため、更新用のファームウェア20が正当なプログラムでない場合には、ファームウェア20がファームウェア格納部8に格納されることはなく(図3におけるステップS110)、サービスの継続性を考慮しつつ、不正なファームウェアプログラムを動作させない制御が可能となる。
上記実施の形態1に係る組み込み装置1及びファームウェア更新方法では、図3に示されるように、更新用のファームウェア20のファイルを取得したときに行う正当性の確認処理において、OS署名情報21aの正当性の確認(ステップS103)とアプリケーション署名情報22aの正当性の確認(ステップS106)の両方を行う。しかし、一般に、アプリケーションのファイルサイズは、OSのファイルサイズより大きく、アプリケーションの正当性の確認処理に要する演算量は比較的大きく、処理時間は比較的長い。
Claims (2)
- OSとアプリケーションとを含むファームウェアを格納するファームウェア格納部と、
前記ファームウェア格納部から前記ファームウェアを読み込み、実行することで組み込み装置を起動する起動制御部と、
ネットワークを通して更新用のOSと更新用のアプリケーションとを含む更新用のファームウェアを取得する装置制御部と、
前記ファームウェア格納部に格納されている前記ファームウェアの正当性及び前記更新用のファームウェアの正当性を検証するファームウェア検証部と、
前記更新用のファームウェアを前記ファームウェア格納部に書き込むファームウェア更新を行うファームウェア更新制御部と
を備え、
前記更新用のファームウェアが前記ファームウェア格納部に書き込まれた後の前記組み込み装置の起動時に、前記ファームウェア検証部は、前記ファームウェア更新によって取得された前記更新用のOSのOS署名情報の検証を行い、
前記更新用のOSが改ざんされていないと判断された場合、前記起動制御部は前記更新用のOSを実行し、
前記更新用のOSが改ざんされていると判断された場合、前記起動制御部は使用するOSを前記ファームウェア更新の前に使用していた更新前のOSに切り替え、前記ファームウェア検証部は前記更新前のOSのOS署名情報の検証を行い、
前記更新前のOSのOS署名情報が改ざんされていないと判断された場合、前記起動制御部は前記更新前のOSを実行し、
前記更新前のOSのOS署名情報が改ざんされていると判断された場合、前記起動制御部は前記組み込み装置の起動動作を終了し、
前記起動制御部が前記更新用のOS又は前記更新前のOSを実行したときに、前記ファームウェア検証部は、前記更新用のアプリケーションのアプリケーション署名情報の検証を行い、
前記更新用のアプリケーションは改ざんされていないと判断された場合、前記起動制御部は前記更新用のアプリケーションを実行し、
前記更新用のアプリケーションは改ざんされていると判断された場合、前記起動制御部は使用するアプリケーションを前記更新前のアプリケーションに切り替え、前記ファームウェア検証部は前記更新前のアプリケーションのアプリケーション署名情報の検証を行い、
前記更新前のアプリケーションが改ざんされていないと判断された場合、前記起動制御部は前記更新前のアプリケーションを実行し、
前記更新前のアプリケーションが改ざんされていると判断された場合、前記更新用のアプリケーション及び前記更新前のアプリケーションを実行しない
ことを特徴とする組み込み装置。 - OSとアプリケーションとを含むファームウェアを格納するファームウェア格納部と、
前記ファームウェア格納部から前記ファームウェアを読み込み、実行することで組み込み装置を起動する起動制御部と、
ネットワークを通して更新用のOSと更新用のアプリケーションとを含む更新用のファームウェアを取得する装置制御部と、
前記ファームウェア格納部に格納されている前記ファームウェアの正当性及び前記更新用のファームウェアの正当性を検証するファームウェア検証部と、
前記更新用のファームウェアを前記ファームウェア格納部に書き込むファームウェア更新を行うファームウェア更新制御部と
を備えた組み込み装置によって実行される、ファームウェア更新方法であって、
前記更新用のファームウェアが前記ファームウェア格納部に書き込まれた後の前記組み込み装置の起動時に、前記ファームウェア検証部は、前記ファームウェア更新によって取得された前記更新用のOSのOS署名情報の検証を行い、
前記更新用のOSが改ざんされていないと判断された場合、前記起動制御部は前記更新用のOSを実行し、
前記更新用のOSが改ざんされていると判断された場合、前記起動制御部は使用するOSを前記ファームウェア更新の前に使用していた更新前のOSに切り替え、前記ファームウェア検証部は前記更新前のOSのOS署名情報の検証を行い、
前記更新前のOSのOS署名情報が改ざんされていないと判断された場合、前記起動制御部は前記更新前のOSを実行し、
前記更新前のOSのOS署名情報が改ざんされていると判断された場合、前記起動制御部は前記組み込み装置の起動動作を終了し、
前記起動制御部が前記更新用のOS又は前記更新前のOSを実行したときに、前記ファームウェア検証部は、前記更新用のアプリケーションのアプリケーション署名情報の検証を行い、
前記更新用のアプリケーションは改ざんされていないと判断された場合、前記起動制御部は前記更新用のアプリケーションを実行し、
前記更新用のアプリケーションは改ざんされていると判断された場合、前記起動制御部は使用するアプリケーションを前記更新前のアプリケーションに切り替え、前記ファームウェア検証部は前記更新前のアプリケーションのアプリケーション署名情報の検証を行い、
前記更新前のアプリケーションが改ざんされていないと判断された場合、前記起動制御部は前記更新前のアプリケーションを実行し、
前記更新前のアプリケーションが改ざんされていると判断された場合、前記更新用のアプリケーション及び前記更新前のアプリケーションを実行しない
ことを特徴とするファームウェア更新方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/002442 WO2018138789A1 (ja) | 2017-01-25 | 2017-01-25 | 組み込み装置及びファームウェア更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018138789A1 JPWO2018138789A1 (ja) | 2019-04-11 |
JP6861739B2 true JP6861739B2 (ja) | 2021-04-21 |
Family
ID=62977942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018563980A Active JP6861739B2 (ja) | 2017-01-25 | 2017-01-25 | 組み込み装置及びファームウェア更新方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6861739B2 (ja) |
WO (1) | WO2018138789A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737448B (zh) * | 2018-09-05 | 2023-08-11 | 杭州瑞彼加医疗科技有限公司 | 一种包含有微控制器的固件加密***及其固件保护和升级方法 |
JP7367471B2 (ja) * | 2019-11-07 | 2023-10-24 | 株式会社リコー | 情報処理装置、ファイル保証方法、及びファイル保証プログラム |
JP7320126B2 (ja) * | 2020-03-10 | 2023-08-02 | 日立Astemo株式会社 | 車両制御装置及び車両制御システム |
CN111831308A (zh) * | 2020-04-15 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 快充设备的固件更新方法、程序、快充设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089547B2 (en) * | 2002-09-13 | 2006-08-08 | International Business Machines Corporation | Firmware updating |
JP5116325B2 (ja) * | 2007-03-15 | 2013-01-09 | 株式会社リコー | 情報処理装置、ソフトウェア更新方法及び画像処理装置 |
US8589302B2 (en) * | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
JP2015022521A (ja) * | 2013-07-19 | 2015-02-02 | スパンション エルエルシー | セキュアブート方法、組み込み機器、セキュアブート装置およびセキュアブートプログラム |
JP6244759B2 (ja) * | 2013-09-10 | 2017-12-13 | 株式会社ソシオネクスト | セキュアブート方法、半導体装置、及び、セキュアブートプログラム |
-
2017
- 2017-01-25 JP JP2018563980A patent/JP6861739B2/ja active Active
- 2017-01-25 WO PCT/JP2017/002442 patent/WO2018138789A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2018138789A1 (ja) | 2018-08-02 |
JPWO2018138789A1 (ja) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6861739B2 (ja) | 組み込み装置及びファームウェア更新方法 | |
US8296579B2 (en) | System and method for updating a basic input/output system (BIOS) | |
US9864599B2 (en) | Firmware update method in two-chip solution for secure terminal | |
US8560823B1 (en) | Trusted modular firmware update using digital certificate | |
CN103718165B (zh) | Bios闪存攻击保护和通知 | |
KR101066779B1 (ko) | 컴퓨팅 장치의 보안 부팅 | |
US8239688B2 (en) | Securely recovering a computing device | |
JP5014726B2 (ja) | 無許可のブートローダの実行を防止することによって安全性を高めた実行環境 | |
JP5740646B2 (ja) | ソフトウェアのダウンロード方法 | |
TWI839587B (zh) | 用於管理軟體更新之方法及裝置,以及非暫時性電腦可讀儲存媒體 | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
JP2015036847A (ja) | 半導体装置 | |
TWI706274B (zh) | 容許透過復原代理器進行作業系統修復的運算裝置與非暫態電腦可讀儲存媒體 | |
TWI570591B (zh) | 允許測試金鑰用於bios安裝之技術 | |
JP2020160747A (ja) | 情報処理装置、その制御方法、及びプログラム | |
WO2020037613A1 (zh) | 嵌入式程序的安全升级方法、装置、设备及存储介质 | |
CN113127011A (zh) | 电子设备及电子设备的操作方法 | |
JP2016099837A (ja) | 情報処理装置、サーバ装置、情報処理システム、制御方法及びコンピュータプログラム | |
TW202001651A (zh) | 自動驗證方法與系統 | |
CN112148314A (zh) | 一种嵌入式***的镜像验证方法、装置、设备及存储介质 | |
CN113360914A (zh) | 一种bios更新的方法、***、设备及介质 | |
JP5465738B2 (ja) | システム・ファームウェアの更新方法およびコンピュータ | |
WO2021184712A1 (zh) | 一种软件升级方法及装置 | |
WO2021171906A1 (ja) | 情報処理装置、及びプログラム起動方法 | |
JP2011053984A (ja) | ファームウェア保護装置、そのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201016 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210302 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210330 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6861739 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |