JP2022062877A - 情報処理装置および情報処理方法 - Google Patents
情報処理装置および情報処理方法 Download PDFInfo
- Publication number
- JP2022062877A JP2022062877A JP2020171053A JP2020171053A JP2022062877A JP 2022062877 A JP2022062877 A JP 2022062877A JP 2020171053 A JP2020171053 A JP 2020171053A JP 2020171053 A JP2020171053 A JP 2020171053A JP 2022062877 A JP2022062877 A JP 2022062877A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- memory
- information
- authentication
- stored
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 51
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims description 92
- 230000008569 process Effects 0.000 claims description 84
- 238000012545 processing Methods 0.000 claims description 36
- 230000003362 replicative effect Effects 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000008439 repair process Effects 0.000 description 8
- 230000004913 activation Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Abstract
【解決手段】コンピュータシステムで用いられるファームウェアと、有効化されたファームウェアに対する第1の認証情報と、無効化されたファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリと、複製されたデータセットを記憶する第2のメモリと、コントローラと、を備え、コントローラは、ファームウェアの更新状態を示す更新状態情報を記憶し、更新状態情報がファームウェアの更新の未完了を示し、第1のメモリに記憶されたファームウェアに対する第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する第2の認証情報を用いた認証に成功するとき、第1のメモリに記憶されたファームウェアを第2のメモリに複製し、更新状態情報を更新の完了を示す情報に更新する。
【選択図】図1
Description
図1は、本実施形態に係る情報処理装置10の概要を示す説明図である。
本実施形態に係る情報処理装置10は、PCH11、ROM12、EC14、バススイッチ16およびROM17を備える。
EC(Embedded Controller)14は、ファームウェアの更新状態を示す更新状態情報を記憶し、記憶された更新状態情報がファームウェアの更新(アップデート(update))が未完了であることを示し、ROM12に記憶されたファームウェアに対して第1の認証情報を用いた認証処理に失敗し、かつ、当該ファームウェアに対する第2の認証情報を用いた認証に成功するとき、ROM12に記憶されたファームウェアをROM17に複製して記憶する(バックアップ(backup))。その後、EC14は、その時点における更新状態情報を、ファームウェアの更新の完了であることを示すものに更新する。
EC14は、PCH11およびROM17とそれぞれeSPIバスを用いて接続され、各種のデータを入出力可能とする。EC14とROM17との間ではプライベートSPIパス(PVT SPI path)が形成されている。
データセットSPI_BAKにおいて、*印は、複製によりバックアップされたプログラムまたはデータであることを示す。
また、データセットSPI_BAKには、EC14の処理に用いられるファームウェア(FW3)と、その複製(FW3*)も含まれる。なお、以下の説明では、EC14の処理に用いられるファームウェアをECFWと呼ぶこともある。
図2は、本実施形態に係る情報処理装置10のハードウェア構成例を示すブロック図である。情報処理装置10は、PCH11、ROM12、17、バススイッチ16、システムメモリ131、LCD133、HDD135、EC14およびキーボード151を含んで構成される。
PCH11は、各種のデータの入出力を制御し、CPU111の機能を支援するチップセットである。PCH11は、CPU111、GPU113、メモリコントローラ115およびI/Oコントローラ117を備える。
これらのデバイスのうち、CPU111、GPU113、メモリコントローラ115およびシステムメモリ131は、システムデバイスSDに相当する。システムデバイスSDは、情報処理装置10としての機能の発揮に要するコンピュータシステム(つまり、ホストシステム)を構成する主たるデバイスである。
メモリコントローラ115は、自部に接続される各種のメモリとのインタフェースを備える。メモリコントローラ115は、例えば、ROM12、システムメモリ131およびHDD135のそれぞれとの間で各種のデータを入出力する。
なお、ROM12は、他のデバイスのファームウェアと共用されるシェアドフラッシュ(shared flash)として機能してもよい。つまり、ROM12には、PCH11に接続される他のデバイス、例えば、EC14における処理に用いられるファームウェアが記憶されうる。
LCD(Liquid Crystal Display;液晶ディスプレイ)133は、GPU113から入力される表示データに基づく表示情報を表示する。表示情報は、画像、文字、記号、図形のいずれかまたはこれらの組み合わせを含む。
HDD(Hard Disk Drive)135は、各種のプログラムやデータを保存する補助記憶装置である。保存されるプログラムには、OS、デバイスドライバ、サービス/ユーティリティ(以下、ユーティリティ)、アプリケーションプログラム(以下、アプリ)などが含まれる。HDD135は、電気的に書き換え可能な不揮発性メモリである。
出荷後において、CPU141は、ブート処理に先立ち、ロック状態としたファームウェアFW1_LK.binに対して、ロック解除状態のファームウェアFW1.binの電子署名を用いて認証処理を行うと、ロック状態としたファームウェアFW1_LK.binが、たとえ真正であっても、認証に失敗してしまう。これは、ロック状態のファームウェアFW1_LK.binは、ロック解除状態のファームウェアFW1.binとは異なるコードで表現されるためである。
図4に例示されるように、遅くとも製造終了時において、製造業者は、ロック解除状態のファームウェアFW1.binに対して上記の認証情報生成方式を用いて第1の認証情報Sig1を生成する。第1の認証情報には、ロック解除状態のファームウェアFW1.binに対する第1の電子署名と、第1の電子署名の生成に用いられた秘密鍵に対応する公開鍵が含まれる。その後、製造業者は、ロック解除状態にあるファームウェアFW1.binをロックする。第1の電子署名は、出荷後においてロック解除状態のファームウェアFW1.binに対する認証処理に用いられる。
出荷後において、CPU141は、ロック状態としたファームウェアFW1_LK.binに対して、第2の電子署名を用いて認証処理を行うことで、真正なファームウェアFW1_LK.binに対する認証を成功させることができる。
図5に示す例では、製造業者は、製造終了前にロック解除状態としたファームウェアFW1.binを含むデータセットSPI_MAINをROM12に記憶し、データセットSPI_MAINを複製してデータセットSPI_BAKとしてROM17に記憶する。そして、製造業者は、ファームウェアFW1.binをロックし、ロック状態としたファームウェアFW1_LK.binに置き換えてROM12に記憶する。製造終了後において、データセットSPI_BAK内にはロック解除状態としたファームウェアFW1.binが残される。
製造終了後において、データセットSPI_MAINにロック状態のファームウェアFW1_LK.bin、そのロック状態のファームウェアFW1_LK.binに対する第2の認証情報Sig2を含むが、データセットSPI_BAKにロック解除状態のファームウェアFW1.binとそのロック解除状態のファームウェアFW1.binに対する第1の認証情報Sig1を含む場合には、情報フラグFW1_MFG_DONEは、値としてFALSEをとる。
バックアップ後において、データセットSPI_MAIN、SPI_BAKのそれぞれにロック状態のファームウェアFW1_LK.binとロック状態のファームウェアFW1_LK.binに対する第2の認証情報Sig2を含む場合には、情報フラグFW1_MFG_DONEは、値としてTRUEをとる。
情報フラグFW1_MFG_DONEの設定値が、TRUEをとる場合、CPU141は、ROM12に記憶されたファームウェアのバックアップが完了したものであると判定できる。CPU141は、ROM12に記憶された第2の認証情報Sig2を用いてファームウェアに対して認証処理を行う。CPU141は、第2の認証情報Sig2を用いた認証に成功する場合には、ホストシステムのCPU111に対し認証後のファームウェアを用いたブート処理を可能とすることができる。CPU141は、CPU111に対してブート処理を開始させるとき、ブート処理の開始を示す制御信号をCPU111に出力する。
まず、CPU141は、ROM12に記憶された第1の認証情報Sig1を用いてROM12に記憶されたファームウェアに対して認証処理を行う。CPU141は、第1の認証情報Sig1を用いた認証に成功する場合には、ROM12に記憶されたロック解除状態のファームウェアが真正であると判定することができる。CPU111は、CPU141による認証後のファームウェアを用いたブート処理を可能とすることができる。
(ステップS102)EC14のCPU141は、情報フラグFW1_MFG_DONEの設定値が、TRUEであるか否かを判定する。設定値がTRUEである場合(ステップS102 YES)、ステップS104の処理に進む。設定値がFALSEである場合(ステップS102 NO)、ステップS112の処理に進む。
(ステップS106)CPU141は、認証処理に成功する場合(ステップS106 YES)、ステップS110の処理に進む。CPU141は、認証処理に失敗する場合(ステップS106 NO)、ステップS108の処理に進む。
(ステップS108)CPU141は、認証対象としたファームウェアが破損されたと判定し、ROM12に記憶されたファームウェアを修復する。その後、ステップS110の処理に進む。
(ステップS110)CPU141は、ROM12に記憶されたファームウェアを用いてPCH11のCPU111に対してブート処理を実行させる。その後、図7に示す処理を終了する。
(ステップS114)CPU141は、認証処理に成功する場合(ステップS114 YES)、ステップS110の処理に進む。CPU141は、認証処理に失敗する場合(ステップS114 NO)、ステップS116の処理に進む。
(ステップS118)CPU141は、認証処理に成功する場合(ステップS118 YES)、ステップS120の処理に進む。CPU141は、認証処理に失敗する場合(ステップS118 NO)、ステップS124の処理に進む。
(ステップS122)CPU141は、情報フラグFW1_MFG_DONEの設定値を、TRUEに変更する。その後、ステップS110の処理に進む。
(ステップS124)CPU141は、ROM12に記憶されたファームウェアが破損したと判定し、ROM12に記憶されたファームウェアを修復する。その後、ステップS110の処理に進む。
この構成により、コントローラは、第1のメモリに記憶されたファームウェアが真正な状態で更新されたことを判定することができる。第1のメモリに記憶されたファームウェアを第2のメモリにバックアップすることで、出荷後におけるファームウェアの更新を許容しながら、情報セキュリティを確保することができる。
この構成により、コントローラは、第1のメモリに記憶されたファームウェアが破損したことを判定することができる。第2のメモリに記憶されたファームウェアを第1のメモリに複製することで、ファームウェアを用いた処理を回復させることができる。
この構成により、コントローラは、第1のメモリに記憶されたファームウェアが真正な状態で有効化されたことを判定することができる。第1のメモリに記憶されたファームウェアを用いた処理をコンピュータシステムに対して実行させることで、可用性を維持することができる。
この構成により、コントローラは、コントローラは、第1のメモリに記憶されたファームウェアが破損されたことを判定することができる。第2のメモリに記憶されたファームウェアを第1のメモリに複製することで、ファームウェアを用いた処理を回復させることができる。
この構成により、コントローラは、第1のメモリに記憶されたファームウェアが真正な状態で有効化されたことを判定することができる。第1のメモリに記憶されたファームウェアを用いた処理をコンピュータシステムに対して実行させることで、可用性を維持することができる。
この構成により、コンピュータシステムまたはコンピュータシステムに接続される各種デバイスから第2のメモリに記憶されたファームウェアに対する操作が回避される。そのため、第2のメモリに記憶されたファームウェアに対する保護が図られる。
上記の説明では、情報処理装置10が主にノートPCである場合を例にしたが、これには限られない。情報処理装置10は、デスクトップPC、タブレット端末、スマートフォン、などのいずれの形態で実現されてもよい。
PCH11にI/Oコントローラが含まれていれば、PCH11においてCPU111とメモリコントローラ115が省略され、それぞれPCH11とは別体であってもよい。GPU113も、PCH11とは別体であってもよい。
Claims (7)
- ファームウェアを用いた処理を実行可能なコンピュータシステムを備える情報処理装置であって、
前記ファームウェアと、有効化された前記ファームウェアに対する第1の認証情報と、無効化された前記ファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリと、
複製された前記データセットを記憶する第2のメモリと、
コントローラと、を備え、
前記コントローラは、
前記ファームウェアの更新状態を示す更新状態情報を記憶し、
前記更新状態情報が前記ファームウェアの更新の未完了を示し、
前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、前記第1のメモリに記憶されたファームウェアを前記第2のメモリに複製し、
前記更新状態情報を前記更新の完了を示す情報に更新する
情報処理装置。 - 前記コントローラは、
前記更新状態情報が前記更新の未完了を示し、
前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、当該ファームウェアに対する前記第2の認証情報を用いた認証に失敗するとき、
前記第2のメモリに記憶されたファームウェアを前記第1のメモリに複製する
請求項1に記載の情報処理装置。 - 前記コントローラは、
前記更新状態情報が前記更新の未完了を示し、
前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に成功するとき、
前記第1のメモリに記憶されたファームウェアを用いた処理を前記コンピュータシステムに実行させる
請求項1または請求項2に記載の情報処理装置。 - 前記コントローラは、
前記更新状態情報が前記更新の完了を示し、
前記第1のメモリに記憶されたファームウェアに対する前記第2の認証情報を用いた認証に失敗するとき、
前記第2のメモリに記憶されたファームウェアを前記第1のメモリに複製する
請求項1から請求項3のいずれか一項に記載の情報処理装置。 - 前記コントローラは、
前記更新状態情報が前記更新の完了を示すとき、
前記第1のメモリに記憶されたファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、
前記第1のメモリに記憶されたファームウェアを用いた処理を前記コンピュータシステムに実行させる
請求項1から請求項4のいずれか一項に記載の情報処理装置。 - 前記第2のメモリは、前記コントローラからアクセス可能とし、前記コンピュータシステムからのアクセスが制限されている
請求項1から請求項5のいずれか一項に記載の情報処理装置。 - ファームウェアを用いた処理を実行可能なコンピュータシステムと、
前記ファームウェアと、有効化された前記ファームウェアに対する第1の認証情報と、無効化された前記ファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリと、
複製された前記データセットを記憶する第2のメモリと、
コントローラと、を備える情報処理装置における情報処理方法であって、
前記コントローラに記憶され、前記ファームウェアの更新状態を示す更新状態情報が前記前記ファームウェアの更新の未完了を示し、前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、前記第1のメモリに記憶されたファームウェアを前記第2のメモリに複製する第1のステップと、
前記更新状態情報を前記更新の完了を示す情報に更新する第2のステップと、を有する
情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020171053A JP7011697B1 (ja) | 2020-10-09 | 2020-10-09 | 情報処理装置および情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020171053A JP7011697B1 (ja) | 2020-10-09 | 2020-10-09 | 情報処理装置および情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7011697B1 JP7011697B1 (ja) | 2022-01-27 |
JP2022062877A true JP2022062877A (ja) | 2022-04-21 |
Family
ID=80683259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020171053A Active JP7011697B1 (ja) | 2020-10-09 | 2020-10-09 | 情報処理装置および情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7011697B1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008504592A (ja) * | 2004-06-21 | 2008-02-14 | モトローラ・インコーポレイテッド | 安全なデータ・バックアップおよび再生 |
JP2015222474A (ja) * | 2014-05-22 | 2015-12-10 | レノボ・シンガポール・プライベート・リミテッド | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ |
US20160055113A1 (en) * | 2013-04-23 | 2016-02-25 | Hewlett-Packard Development Company, L.P. | Redundant System Boot Code in a Secondary Non-Volatile Memory |
JP2016143126A (ja) * | 2015-01-30 | 2016-08-08 | 京セラドキュメントソリューションズ株式会社 | 電子機器、バックアップ先決定プログラムおよびバックアッププログラム |
JP2017017464A (ja) * | 2015-06-30 | 2017-01-19 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置及びアプリケーションプログラムのバックアップ・レストア方法 |
-
2020
- 2020-10-09 JP JP2020171053A patent/JP7011697B1/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008504592A (ja) * | 2004-06-21 | 2008-02-14 | モトローラ・インコーポレイテッド | 安全なデータ・バックアップおよび再生 |
US20160055113A1 (en) * | 2013-04-23 | 2016-02-25 | Hewlett-Packard Development Company, L.P. | Redundant System Boot Code in a Secondary Non-Volatile Memory |
JP2015222474A (ja) * | 2014-05-22 | 2015-12-10 | レノボ・シンガポール・プライベート・リミテッド | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ |
JP2016143126A (ja) * | 2015-01-30 | 2016-08-08 | 京セラドキュメントソリューションズ株式会社 | 電子機器、バックアップ先決定プログラムおよびバックアッププログラム |
JP2017017464A (ja) * | 2015-06-30 | 2017-01-19 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置及びアプリケーションプログラムのバックアップ・レストア方法 |
Also Published As
Publication number | Publication date |
---|---|
JP7011697B1 (ja) | 2022-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8438377B2 (en) | Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data | |
US10225426B2 (en) | Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium | |
US9880908B2 (en) | Recovering from compromised system boot code | |
EP3076324B1 (en) | Information processing apparatus and method of controlling the apparatus | |
JP2007257197A (ja) | 起動検証機能を有する情報処理装置 | |
JP2016025616A (ja) | ディスク・ドライブが記憶するデータを保護する方法および携帯式コンピュータ | |
JP5689429B2 (ja) | 認証装置、および、認証方法 | |
JP2015222474A (ja) | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ | |
US11392701B2 (en) | Information processing apparatus and method for controlling the same | |
CN114064130B (zh) | 具有双重安全启动的自动驾驶系统 | |
TWI760752B (zh) | 應用加速驗證映像檔方法的系統 | |
JP2020160747A (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP2021117928A (ja) | 情報処理装置とその起動方法 | |
JP7011697B1 (ja) | 情報処理装置および情報処理方法 | |
US11947948B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2021140601A (ja) | 情報処理装置、その制御方法、及びプログラム | |
US11971991B2 (en) | Information processing apparatus, control method for controlling the same and storage medium | |
JP6918994B2 (ja) | 情報処理装置および情報処理方法 | |
US20230103698A1 (en) | Information processing apparatus and control method therefor | |
US11928217B2 (en) | Information processing apparatus, control method of information processing apparatus, and storage medium | |
JP7341376B2 (ja) | 情報処理装置、情報処理方法、及び、情報処理プログラム | |
US20230129942A1 (en) | Method for locking a rewritable non-volatile memory and electronic device implementing said method | |
JP2022182837A (ja) | 情報処理装置、及びその制御方法 | |
US20230273798A1 (en) | Information processing apparatus and method for controlling information processing apparatus | |
US10657268B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium to verify validity of backup data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211118 |
|
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: 20211221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7011697 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |