JP2022062877A - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

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
Application number
JP2020171053A
Other languages
English (en)
Other versions
JP7011697B1 (ja
Inventor
克 馬
Te Ma
健 佐々木
Takeshi Sasaki
勇作 森重
Yusaku Morishige
方舸 孫
Fang Ge Sun
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte 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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2020171053A priority Critical patent/JP7011697B1/ja
Application granted granted Critical
Publication of JP7011697B1 publication Critical patent/JP7011697B1/ja
Publication of JP2022062877A publication Critical patent/JP2022062877A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

Figure 2022062877000001
【課題】出荷後におけるファームウェアの更新を許容しながら、情報セキュリティを確保する。
【解決手段】コンピュータシステムで用いられるファームウェアと、有効化されたファームウェアに対する第1の認証情報と、無効化されたファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリと、複製されたデータセットを記憶する第2のメモリと、コントローラと、を備え、コントローラは、ファームウェアの更新状態を示す更新状態情報を記憶し、更新状態情報がファームウェアの更新の未完了を示し、第1のメモリに記憶されたファームウェアに対する第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する第2の認証情報を用いた認証に成功するとき、第1のメモリに記憶されたファームウェアを第2のメモリに複製し、更新状態情報を更新の完了を示す情報に更新する。
【選択図】図1

Description

本発明は、情報処理装置および情報処理方法に関する。
パーソナルコンピュータ(PC:Personal Computer)をはじめとする各種の情報処理装置は、コンピュータシステムを組み込んで構成される。コンピュータシステムは、ファームウェアを用いた処理を実行可能とする。ファームウェアには、例えば、BIOS(Basic Input Output System)など基礎的な処理に用いられるものがある。従来、ファームウェアは、コンピュータシステムのハードウェアに結び付き、ROM(Read Only Memory)などの書き換えが不可能または困難な記憶媒体に記憶させておくことが通例であった。昨今では、ファームウェアはフラッシュメモリなど書き換え可能な記憶媒体に格納されることがある。出荷後の更新が容易になった反面、悪意の有無にかかわらずファームウェアが破損するリスクが生じる。
そのため、書き換え可能な記憶媒体に格納されるファームウェアを保護して情報セキュリティを確保する要請が高まっている。例えば、非特許文献1では、ファームウェアの破損に対する回復機能の必要性について規定されている。より具体的には、ファームウェアとその設定データをバックアップしておき、それらの破損を検出可能とし、破損が検出されるときバックアップしたファームウェア等を用いて回復することが指針として定められている。
他方、情報処理装置の製造過程では、ファームウェアを更新可能とする。ファームウェアを構成するコードや処理に用いられるパラメータなどを改変し、ファームウェアにより指示される動作やその態様を変化させるためである。そして、出荷直前にファームウェアに対してアクティベーションロック(activation lock、以下、単にロックと呼ぶことがある)をすることで機能を無効化し、出荷後におけるファームウェアの更新を制限している。
"Platform Firmware Resiliency Guidelines",NIST(National Institute of Standards and Technology) Special Publication 800-193,May 2018,U.S. Department of Commerce,[令和2年9月18日検索],インターネット<URL: https://doi.org/10.6028/NIST.SP.800-193>
しかしながら、一律にファームウェアの更新を制限すると情報処理装置の維持管理、例えば、バグ改修、機能の追加、変更などに支障が生じかねない。また、ファームウェアが破損したとき、一切変更が認められなければ機能が回復できないことがある。コンピュータシステムとは別個のデバイスにより、ファームウェアの更新もしくは修復を実現することが考えられるが、デバイスにファームウェアの更新もしくは修復を通知する時期を誤ると、更新可能なファームウェアに対して、予期せずにバックアップや修復がなされるおそれが生ずる。
本発明は上記の課題を解決するためになされたものであり、本発明の一態様に係る情報処理装置は、ファームウェアを用いた処理を実行可能なコンピュータシステムを備える情報処理装置であって、前記ファームウェアと、有効化された前記ファームウェアに対する第1の認証情報と、無効化された前記ファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリと、複製された前記データセットを記憶する第2のメモリと、コントローラと、を備え、前記コントローラは、前記ファームウェアの更新状態を示す更新状態情報を記憶し、前記更新状態情報が前記ファームウェアの更新の未完了を示し、前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、前記第1のメモリに記憶されたファームウェアを前記第2のメモリに複製し、前記更新状態情報を前記更新の完了を示す情報に更新する。
上記の情報処理装置において、前記コントローラは、前記更新状態情報が前記更新の未完了を示し、前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、当該ファームウェアに対する前記第2の認証情報を用いた認証に失敗するとき、前記第2のメモリに記憶されたファームウェアを前記第1のメモリに複製してもよい。
上記の情報処理装置において、前記コントローラは、前記更新状態情報が前記更新の未完了を示し、前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に成功するとき、前記第1のメモリに記憶されたファームウェアを用いた処理を前記コンピュータシステムに実行させてもよい。
上記の情報処理装置において、前記コントローラは、前記更新状態情報が前記更新の完了を示し、前記第1のメモリに記憶されたファームウェアに対する前記第2の認証情報を用いた認証に失敗するとき、前記第2のメモリに記憶されたファームウェアを前記第1のメモリに複製してもよい。
上記の情報処理装置において、前記コントローラは、前記更新状態情報が前記更新の完了を示すとき、前記第1のメモリに記憶されたファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、前記第1のメモリに記憶されたファームウェアを用いた処理を前記コンピュータシステムに実行させてもよい。
上記の情報処理装置において、前記第2のメモリは、前記コントローラからアクセス可能とし、前記コンピュータシステムからのアクセスが制限されていてもよい。
本発明の第2態様に係る情報処理方法は、ファームウェアを用いた処理を実行可能なコンピュータシステムと、前記ファームウェアと、有効化された前記ファームウェアに対する第1の認証情報と、無効化された前記ファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリと、複製された前記データセットを記憶する第2のメモリと、コントローラと、を備える情報処理装置における情報処理方法であって、前記コントローラに記憶され、前記ファームウェアの更新状態を示す更新状態情報が前記前記ファームウェアの更新の未完了を示し、前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、前記第1のメモリに記憶されたファームウェアを前記第2のメモリに複製する第1のステップと、前記更新状態情報を前記更新の完了を示す情報に更新する第2のステップと、を有する情報処理方法である。
本発明の実施形態によれば、出荷後におけるファームウェアの更新を許容しながら、情報セキュリティを確保することができる。
本実施形態に係る情報処理装置の概要を示す説明図である。 本実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。 ファームウェアに対する処理例を示す説明図である。 ファームウェアを含むデータセットの例を示す図である。 データセットに対する処理例を示す説明図である。 本実施形態に係るファームウェアの更新状態を示す更新状態情報の例を示す図である。 本実施形態に係るファームウェアのメンテナンス処理の例を示すフローチャートである。
以下、本発明の実施形態の概要について、図面を参照して説明する。
図1は、本実施形態に係る情報処理装置10の概要を示す説明図である。
本実施形態に係る情報処理装置10は、PCH11、ROM12、EC14、バススイッチ16およびROM17を備える。
ROM(Read Only Memory)12には、後述するように、情報処理装置10の主たるコンピュータシステム(以下、ホストシステム)のファームウェアと、そのファームウェアの有効化された当該ファームウェアに対する第1の認証情報と、無効化された当該ファームウェアに対する第2の認証情報を含むデータセットが記憶される。
EC(Embedded Controller)14は、ファームウェアの更新状態を示す更新状態情報を記憶し、記憶された更新状態情報がファームウェアの更新(アップデート(update))が未完了であることを示し、ROM12に記憶されたファームウェアに対して第1の認証情報を用いた認証処理に失敗し、かつ、当該ファームウェアに対する第2の認証情報を用いた認証に成功するとき、ROM12に記憶されたファームウェアをROM17に複製して記憶する(バックアップ(backup))。その後、EC14は、その時点における更新状態情報を、ファームウェアの更新の完了であることを示すものに更新する。
本願では、有効化とは、アクティベーションロック(activation lock)が解除され、その対象物となるファームウェアを用いた処理が可能な状態にすることを意味する。無効化とは、アクティベーションロックを行い、その対象物となるファームウェアを用いた処理ができない状態にすることを意味する。以下の説明では、無効化することをロック(lock)と呼び、有効化することをロック解除(unlock)と呼ぶことがある。ロックされた状態ではファームウェアの内容が固定され更新できない状態となる。ロック解除された状態ではファームウェアの内容が固定されずに、少なくともその一部が更新できる状態となる。
PCH11(Platform Controller Hub)は、ROM12およびEC14とそれぞれeSPIバス(extended Serial Peripheral Bus)を用いて接続され、各種のデータを入出力可能とする。PCH11とROM12との間ではeSPIパス(path)が形成されている。PCH11は、ROM12に予め記憶されたファームウェアを読み取り、読み取ったファームウェアを用いた処理を実行する。本願では、ファームウェアなどの各種のプログラムを用いた処理、すなわち、プログラムに記述された命令で指示される処理を実行することを、プログラムの実行、またはプログラムを実行する、と呼ぶことがある。
EC14は、PCH11およびROM17とそれぞれeSPIバスを用いて接続され、各種のデータを入出力可能とする。EC14とROM17との間ではプライベートSPIパス(PVT SPI path)が形成されている。
ROM12、ROM17にそれぞれ各種のファームウェアを含むデータセットSPI_MAIN、SPI_BAKが記憶されている。データセットSPI_MAIN、SPI_BAKには、それぞれホストシステムのファームウェアが含まれる。ホストシステムのファームウェアには、BIOS(Basic Input-Output System)、各種デバイスのファームウェアが含まれる。各種デバイスのファームウェアには、個々のデバイスのファームウェアもしくは、その要素となるプログラムやデータが記述される。図1に示す例では、ファームウェアFW1、FW2がデータセットSPI_MAINに含めて記憶されている。
データセットSPI_BAKにおいて、*印は、複製によりバックアップされたプログラムまたはデータであることを示す。
また、データセットSPI_BAKには、EC14の処理に用いられるファームウェア(FW3)と、その複製(FW3)も含まれる。なお、以下の説明では、EC14の処理に用いられるファームウェアをECFWと呼ぶこともある。
バススイッチ(bus switch)16は、その一端がEC14とROM17にeSPIバスを経由して接続され、他端がeSPIバスを経由してROM12に接続される。バススイッチ16は、EC14の制御により、一端と他端との間の接続と非接続を切り替え可能とする。バススイッチ16は、一端と他端からなる両端を接続することで、EC14とROM12との間で各種のデータを入出力可能に接続することで、シェアドSPIパス(shared SPI path)を形成する。バススイッチ16は、両端を断絶することでシェアドSPIパスを解消する。但し、バススイッチ16は、PCH11およびROM12に各種のデータを伝送可能に接続されない。
バススイッチ16は、EC14からROM12へのアクセスの可否を制御可能とし、PCH11またはPCH11に接続される各種デバイスからROM17へのアクセスが防止される。そのため、ROM17は主システムのファームウェアのバックアップ先として用いられる。本実施形態では、セキュリティを確保しながら、EC14がROM12に記憶されたホストシステムのファームウェアの更新を検出することができるので、ROM17へのバックアップもしくはバックアップされたファームウェアにより保護を図ることができる。
次に、情報処理装置10のハードウェア構成例について説明する。
図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としての機能の発揮に要するコンピュータシステム(つまり、ホストシステム)を構成する主たるデバイスである。
CPU(Central Processing Unit)111は、所定のプログラムを実行し、情報処理装置10の全体の機能を制御するプロセッサである。本願では、各種のプログラムに記述された指令で指示される種々の処理を実行することを、プログラムの実行、またはプログラムを実行する、などと呼ぶ。CPU111は、ROM12に記憶されたファームウェアやHDD135に記憶されたOS、デバイスドライバ、ユーティリティ、アプリケーションプログラムなどの各種のプログラムを読み出し、システムメモリ131にロードする。CPU111は、システムメモリ131にロードしたプログラムを実行する。
CPU111は、自部への電力の供給開始を検出するときブート処理を開始する。ブート処理は、各種のプログラムを実行可能な状態にするための一連の処理である。ブート処理に先立つ初期段階には、例えば、自部に接続される接続デバイスの検出、初期化、ホストシステムのファームウェアのROM12からの読み出し(ロード)、読み出したファームウェアの認証、および認証に成功したファームウェアのシステムメモリ131への記憶などの処理が含まれる。これらの初期段階の処理に用いられるブートローダ(boot loader)は、ROM12に記憶されていてもよいし、ROM12とは別個にPCH11内に設けられた専用の不揮発性メモリ(non-volatile memory)に記憶されていてもよい。
CPU111は、自部への電力の供給開始後、ブート処理の開始前にブートローダを読み出し、ブートローダの認証に成功した後、読み出したブートローダをシステムメモリ131に記憶する。これにより、CPU111は、初期段階の処理を開始することができる。CPU111は、初期段階の処理に成功した後、認証後のファームウェアを用いたブート処理を続行する。CPU111は、ファームウェアの認証に失敗する場合には、後述するようにファームウェアを修復(リカバリ、recovery)する。本願では、実行を開始することを起動と呼ぶことがある。
なお、CPU111に、EC14から起動を指示する制御信号が入力される場合、ブート処理を開始する前に、実行中の動作を停止するための停止処理(シャットダウン、shutdown)を開始する。CPU111は、停止処理において、その時点においてシステムメモリ131に記憶されている処理内容を示すデータ(システムコンテキスト)をHDD135に退避させ、データの退避が完了した後、自部の処理を停止する。その後、CPU111は、ブート処理の実行を開始する。CPU111は、ブート処理において、HDD135に退避させていたシステムコンテキストをシステムメモリ131にロードする。
GPU(Graphics Processing Unit)113は、画像表示に関連する処理を実行するプロセッサである。GPU113は、CPU111から入力された描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、LCD133に表示データとして出力する。
メモリコントローラ115は、自部に接続される各種のメモリとのインタフェースを備える。メモリコントローラ115は、例えば、ROM12、システムメモリ131およびHDD135のそれぞれとの間で各種のデータを入出力する。
I/Oコントローラ117は、自部に接続されるデバイスを用いて各種のデータを入出力するためのインタフェースを備える。I/Oコントローラ117は、PCI(Peripheral Component Interconnect)バスをはじめとし、USB(Universal Serial Bus)、シリアルATA(Advanced Technology Attachment)、PCI-Expressバス、およびLPC(Low Pin Count)バスなどのインタフェースを備え、複数のデバイスを接続可能とする。I/Oコントローラ117は、ROM12と接続するためのSPIフラッシュコントローラと、EC14と接続するためのeSPIマスタコントローラを備えてもよい。
ROM12は、主にファームウェアの記憶に用いられる記憶媒体である。ROM12は、フラッシュROMなどの電気的に書き換え可能な不揮発性メモリである。上記のように、ROM12には、システムデバイスが実行する処理に用いられるファームウェアやその処理に用いられるパラメータ群が記憶される。例えば、BIOSは、システムデバイスへの電力供給中に実行され、システムデバイスに接続される他のデバイスとの低レベルの入出力を行うためのプログラムである。
なお、ROM12は、他のデバイスのファームウェアと共用されるシェアドフラッシュ(shared flash)として機能してもよい。つまり、ROM12には、PCH11に接続される他のデバイス、例えば、EC14における処理に用いられるファームウェアが記憶されうる。
システムメモリ131は、CPU111が実行する実行プログラムを読み込むコード領域、実行プログラムの実行に要するパラメータなどの設定データや実行により取得されたデータを記録するためのデータ領域として用いられるメモリである。システムメモリ131は、例えば、1個または複数個のDRAM(Dynamic Random Access Memory)チップを含んで構成される。
LCD(Liquid Crystal Display;液晶ディスプレイ)133は、GPU113から入力される表示データに基づく表示情報を表示する。表示情報は、画像、文字、記号、図形のいずれかまたはこれらの組み合わせを含む。
HDD(Hard Disk Drive)135は、各種のプログラムやデータを保存する補助記憶装置である。保存されるプログラムには、OS、デバイスドライバ、サービス/ユーティリティ(以下、ユーティリティ)、アプリケーションプログラム(以下、アプリ)などが含まれる。HDD135は、電気的に書き換え可能な不揮発性メモリである。
EC14は、例えば、ホストシステムの動作状態に関わらず、自部に接続される各種のデバイスの動作状態の制御、情報処理装置10を構成する各デバイスへの電力供給の制御などを行う。図2に示す例では、キーボード151とROM17がEC14に接続される。上記のように、EC14は、バススイッチ16を経由してROM12に接続される。EC14は、キーボード151が受け付けた操作に基づく操作入力情報をシステムデバイスに出力する。EC14は、CPU141およびSRAM143を含んで構成される。
CPU141は、ECFWを実行してその機能を発揮する。CPU141は、自部への電力の供給開始を検出するときCPU111とは独立にブート処理を開始する。CPU141は、ホストシステムの動作モードごとに各デバイスに必要とする電力の供給を制御する。例えば、CPU141は、ホストシステムの動作停止中には、少なくともシステムデバイスとその制御下で動作するデバイス(例えば、CPU111、GPU113、メモリコントローラ115、システムメモリ131、LCD133、およびHDD135)への電力の供給を停止する。その場合でも、CPU141は、PCH11のI/Oコントローラ117、ROM12、17、およびEC14への電力供給を維持してもよい。ホストシステムの動作停止中における情報処理装置10の消費電力は、通例、動作中における消費電力よりも格段に少ない。
SRAM(Static Random Access memory)143は、データ領域とコード領域を有する。コード領域は、CPU141が実行する実行プログラムを読み込む領域を含む。データ領域は、実行プログラムの実行に要するパラメータなどの設定データや実行により取得されたデータを記録するための領域を含む。SRAM143は、自部への電力の供給が停止されると記憶内容が失われる揮発性メモリ(volatile memory)である。
次に、ホストシステムのファームウェアに対する取り扱いについて説明する。ファームウェアは、各種の指令(コマンド、command)が記述されたコードや、その指令で指示される処理に用いられるパラメータなどのデータを含んで構成される。情報処理装置10の製造段階(MFG: manufacturing/production phase)では、それらのコードとデータの一部が変更されることがある。コードまたはデータの変更により、情報処理装置10の動作が変化されうる。そのため、ファームウェアは、工場などの製造現場では更新可能としなければならない。但し、製造現場からの出荷直前にファームウェアの内容を確定し、製造段階を終了し、出荷後における更新を禁止している。
図3は、製造段階においてファームウェアFW1(FW1.bin)をロック解除状態、つまり、更新可能な状態としている場合を例示する。ファームウェアが更新されるとき、情報処理装置10の製造業者は更新後のファームウェアを認証するための認証情報を所定の認証情報生成方式を用いて生成し、生成した認証情報を認証対象とするファームウェアと関連付けて保存する。図3に示す例では、ECDSA(Elliptic Curve Digital Signature Algorithm、楕円曲線ディジタル署名)を用いてファームウェアの電子署名(signature)が生成される。ECDSAは、公開鍵暗号方式の一種である楕円曲線暗号(ECC: Elliptic Curve Cryptography)を用いて電子署名を生成する方式である。
電子署名は、ファームウェアを構成するデータ全体に対して所定のハッシュ関数を用いた演算(ハッシュ化)を行ってハッシュ値を生成する過程と、生成されたハッシュ値に対して秘密鍵を用いて暗号化して電子署名を生成する過程とを実行して生成される。認証情報には、電子署名と、電子署名の生成に用いた秘密鍵に対応する公開鍵とが含まれる。電子署名と公開鍵の組は、いわゆる電子証明書に相当する。生成された認証情報は、認証対象とするファームウェアの同一性と製造業者の保証を認証するための認証処理に用いられる。認証処理は、認証情報に含まれる公開鍵を用いて電子署名をハッシュ値に復号する過程と、処理対象とするファームウェアを構成するデータ全体に対してハッシュ化してハッシュ値を生成する過程と、復号されたハッシュ値とハッシュ化により生成されたハッシュ値が同一であるか否かにより、ファームウェアの認証に成功したか否かを判定する過程が含まれる。
出荷直前において、製造業者は、ロック解除状態にあるファームウェアFW1.binをロックし、ロック状態としたファームウェアFW1_LK.binに置き換えてROM12に保存する。ファームウェアをロックする場合には、例えば、ロック対象のファームウェアに対して所定の暗号化方式を用いて暗号化処理がなされる。暗号化処理に用いる暗号化方式は、処理対象とするデータ全体の完全性を検証できる形式に変換することができる方式であれば、電子署名の生成に用いる暗号化方式と同じであってもよいし、異なっていてもよい。
出荷後において、CPU141は、ブート処理に先立ち、ロック状態としたファームウェアFW1_LK.binに対して、ロック解除状態のファームウェアFW1.binの電子署名を用いて認証処理を行うと、ロック状態としたファームウェアFW1_LK.binが、たとえ真正であっても、認証に失敗してしまう。これは、ロック状態のファームウェアFW1_LK.binは、ロック解除状態のファームウェアFW1.binとは異なるコードで表現されるためである。
そこで、本実施形態では、出荷前にファームウェアに対して2種類の認証情報を生成し、当該ファームウェアと2種類の認証情報を含んで構成されるデータセットをROM12に記憶させておく。
図4に例示されるように、遅くとも製造終了時において、製造業者は、ロック解除状態のファームウェアFW1.binに対して上記の認証情報生成方式を用いて第1の認証情報Sig1を生成する。第1の認証情報には、ロック解除状態のファームウェアFW1.binに対する第1の電子署名と、第1の電子署名の生成に用いられた秘密鍵に対応する公開鍵が含まれる。その後、製造業者は、ロック解除状態にあるファームウェアFW1.binをロックする。第1の電子署名は、出荷後においてロック解除状態のファームウェアFW1.binに対する認証処理に用いられる。
その後、製造業者は、出荷直前までにロック状態としたファームウェアFW1_LK.binに対して上記の認証情報生成方式を用いて第2の認証情報Sig2を生成する。第2の認証情報には、ロック状態のファームウェアFW1_LK.binに対する第2の電子署名と、第2の電子署名の生成に用いられた秘密鍵に対応する公開鍵が含まれる。
出荷後において、CPU141は、ロック状態としたファームウェアFW1_LK.binに対して、第2の電子署名を用いて認証処理を行うことで、真正なファームウェアFW1_LK.binに対する認証を成功させることができる。
他方、ROM12に記憶されたファームウェアが更新されるとき、更新されたファームウェアに対してバックアップを行って保護を図る必要がある。
図5に示す例では、製造業者は、製造終了前にロック解除状態としたファームウェアFW1.binを含むデータセットSPI_MAINをROM12に記憶し、データセットSPI_MAINを複製してデータセットSPI_BAKとしてROM17に記憶する。そして、製造業者は、ファームウェアFW1.binをロックし、ロック状態としたファームウェアFW1_LK.binに置き換えてROM12に記憶する。製造終了後において、データセットSPI_BAK内にはロック解除状態としたファームウェアFW1.binが残される。
この状況のもとで情報処理装置10が出荷されても、EC14は、ファームウェアを更新されたイベントも、更新対象とするファームウェアがロックされたイベントも当然には知得することができない。ROM12に記憶されるファームウェアが更新される場合、それらのイベントをEC14に知得させるために、情報処理装置10を製造工程に戻すことは煩雑である。また、EC14がファームアップの更新を知得する時期を誤ると、EC14は、ロック解除状態としたファームウェアに対して誤ってバックアップする可能性や修復(recovery/restore)する可能性がある。そのため、情報セキュリティのリスクが高くなるおそれが生ずる。
そこで、本実施形態に係るEC14は、ファームウェアの更新を検知し、更新されたファームウェアの保護を図るため、ファームウェアの更新が完了した状態であるか否かを示す更新状態情報を管理する。例えば、EC14のCPU141は、図6に示されるように自部のレジスタに情報フラグFW1_MFG_DONEを保持する。情報フラグFW1_MFG_DONEは、データセットSPI_MAIN、SPI_BAKのそれぞれに含まれるファームウェアの更新が完了した状態であるか否かを、その設定値をもって示す更新状態情報をなす。
設定値として、例えば、2通りの値TRUE(真)とFALSE(偽)のうち、いずれか1通りをとりうる。TRUEは、ROM12、17に記憶されたファームウェアのバックアップがいずれも完了した状態を示し、FALSEは、そのバックアップが未完了となる状態を示す。
より具体的には、製造終了前において、データセットSPI_MAIN、SPI_BAKのそれぞれにロック解除状態のファームウェアFW1.binと、そのファームウェアFW1.binに対する第1の認証情報Sig1を含む場合には、情報フラグFW1_MFG_DONEは、値としてFALSEをとる。
製造終了後において、データセット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をとる。
EC14のCPU141は、更新状態情報とする情報フラグFW1_MFG_DONEを参照して、次の処理を実行する。
情報フラグFW1_MFG_DONEの設定値が、TRUEをとる場合、CPU141は、ROM12に記憶されたファームウェアのバックアップが完了したものであると判定できる。CPU141は、ROM12に記憶された第2の認証情報Sig2を用いてファームウェアに対して認証処理を行う。CPU141は、第2の認証情報Sig2を用いた認証に成功する場合には、ホストシステムのCPU111に対し認証後のファームウェアを用いたブート処理を可能とすることができる。CPU141は、CPU111に対してブート処理を開始させるとき、ブート処理の開始を示す制御信号をCPU111に出力する。
但し、第2の認証情報Sig2を用いた認証に失敗する場合には、CPU141は、認証対象としたファームウェアが破損されたと判定し、ROM12に記憶されたファームウフェアの修復を開始する。このとき、CPU141は、ROM17に記憶されたロック状態のファームウェアを読み出し、読み出したファームウェアに対してロック解除処理を行ってロック解除状態のファームウェアに変換する。CPU141は、例えば、ロック解除処理において、ロックに用いた暗号化処理に対応する復号処理を行う。CPU141は、ロック解除状態のファームウェアを転送してROM12に記憶させる。CPU141は、転送が終了した後、CPU111に対して認証後のファームウェアを用いたブート処理を可能とすることができる。
情報フラグFW1_MFG_DONEの設定値が、FALSEをとる場合、CPU141は、ROM12に記憶されたファームウェアのバックアップが完了しておらず、そのまま利用可能であるか否か確定することはできない。そこで、CPU141は、第1の認証情報Sig1、第2の認証情報Sig2を用いた認証処理をその順序で試行する。
まず、CPU141は、ROM12に記憶された第1の認証情報Sig1を用いてROM12に記憶されたファームウェアに対して認証処理を行う。CPU141は、第1の認証情報Sig1を用いた認証に成功する場合には、ROM12に記憶されたロック解除状態のファームウェアが真正であると判定することができる。CPU111は、CPU141による認証後のファームウェアを用いたブート処理を可能とすることができる。
第1の認証情報Sig1を用いた認証に失敗する場合には、CPU141は、ROM12に記憶された第2の認証情報Sig2を用いてROM12に記憶されたファームウェアに対して認証処理を行う。CPU141は、第2の認証情報Sig2を用いた認証に成功する場合には、ROM12に記憶されたファームウェアが更新されたと判定することができる。その場合には、CPU141は、ROM12に記憶されたファームウェアのバックアップを開始する。ここで、CPU141は、ROM12からファームウェアを読み出し、読み出したファームウェアをロックし、ロックした状態のファームウェアを生成する。CPU141は、生成したファームウェアに対して認証情報生成処理を行って第2の認証情報Sig2を生成する。CPU141は生成したファームウェアと第2の認証情報Sig2を関連付けて転送することによりROM17に記憶させる。CPU141は、ファームウェアの転送が終了した後、情報フラグFW1_MFG_DONEの設定値として、TRUEに設定する。その後、CPU141は、CPU111に対して認証後のファームウェアを用いたブート処理を可能とすることができる。
CPU141は、第2の認証情報Sig2を用いた認証に失敗する場合には、ROM12に記憶されたファームウェアが破損したと判定することができる。その場合には、CPU141は、ROM12に記憶されたファームウェアの修復を開始する。CPU141は、ファームウェアの修復後、CPU111に対して認証後のファームウェアを用いたブート処理を可能とすることができる。
次に、本実施形態に係るファームウェアのメンテナンス処理の例について説明する。図7は、本実施形態に係るファームウェアのメンテナンス処理の例を示すフローチャートである。
(ステップS102)EC14のCPU141は、情報フラグFW1_MFG_DONEの設定値が、TRUEであるか否かを判定する。設定値がTRUEである場合(ステップS102 YES)、ステップS104の処理に進む。設定値がFALSEである場合(ステップS102 NO)、ステップS112の処理に進む。
(ステップS104)CPU141は、ROM12に記憶された第2の認証情報Sig2を用いてファームウェアに対して認証処理を行う。その後、ステップS106の処理に進む。
(ステップS106)CPU141は、認証処理に成功する場合(ステップS106 YES)、ステップS110の処理に進む。CPU141は、認証処理に失敗する場合(ステップS106 NO)、ステップS108の処理に進む。
(ステップS108)CPU141は、認証対象としたファームウェアが破損されたと判定し、ROM12に記憶されたファームウェアを修復する。その後、ステップS110の処理に進む。
(ステップS110)CPU141は、ROM12に記憶されたファームウェアを用いてPCH11のCPU111に対してブート処理を実行させる。その後、図7に示す処理を終了する。
(ステップS112)CPU141は、ROM12に記憶された第1の認証情報Sig1を用いてROM12に記憶されたファームウェアに対して認証処理を行う。その後、ステップS114の処理に進む。
(ステップS114)CPU141は、認証処理に成功する場合(ステップS114 YES)、ステップS110の処理に進む。CPU141は、認証処理に失敗する場合(ステップS114 NO)、ステップS116の処理に進む。
(ステップS116)CPU141は、ROM12に記憶された第2の認証情報Sig2を用いてROM12に記憶されたファームウェアに対して認証処理を行う。その後、ステップS118の処理に進む。
(ステップS118)CPU141は、認証処理に成功する場合(ステップS118 YES)、ステップS120の処理に進む。CPU141は、認証処理に失敗する場合(ステップS118 NO)、ステップS124の処理に進む。
(ステップS120)CPU141は、ROM12に記憶されたファームウェアが更新されたと判定し、ROM12に記憶されたファームウェアのバックアップを実行する。その後、ステップS122の処理に進む。
(ステップS122)CPU141は、情報フラグFW1_MFG_DONEの設定値を、TRUEに変更する。その後、ステップS110の処理に進む。
(ステップS124)CPU141は、ROM12に記憶されたファームウェアが破損したと判定し、ROM12に記憶されたファームウェアを修復する。その後、ステップS110の処理に進む。
なお、PCH11のCPU111が動作中であって、ステップS106またはステップS114において認証処理に成功する場合には、ステップS110の処理は省略されてもよい。その場合には、CPU111の動作がそのまま継続する。また、図3-図7は、処理対象とする部分がファームウェアFW1である場合を例示したが、その他の部分、例えば、BIOSの全部または一部が処理対象となってもよい。また、処理対象となる部分は、ホストシステムのファームウェアに限らず、PCH11に接続される、その他のデバイス、例えば、LCD133、HDD135、などのファームウェアに対して適用されてもよい。その場合、EC14は、個々のデバイスなど、更新対象とする単位ごとに情報フラグを設定し、図7の処理を実行すればよい。
また、情報フラグFW1_MFG_DONEの設定値がTRUEである場合、または、TRUEに変更した後で、ROM12に記憶されたファームウェアが変更される場合、CPU141は、情報フラグFW1_MFG_DONEの設定値をFALSEに変更してもよい。設定値がFALSEに変更される場合には、変更されたファームウェアがバックアップされうる。ファームウェアの変更は、所定の限定された特定のユーザ(例えば、製造業者、スーパーユーザなど)によるメンテナンス時に行われることがある。例えば、CPU111またはCPU141は、ユーザ認証を行って特定のユーザのデバイスからのアクセスを許可する。CPU111またはCPU141は、ROM12に記憶されたファームウェアの一部または全部を、アクセスを許可したデバイスから直接または通信路を経由して入力されたファームウェアの対応する部分に更新される場合、そのデバイスからの操作に応じてROM12に記憶されたファームウェアの一部を削除する場合、それのデバイスから入力された新たなコードまたはデータをROM12に記憶されたファームウェアに追加する場合、などがある。CPU141は、そのデバイスからの操作に応じて情報フラグFW1_MFG_DONEの設定値を変更可能としてもよい。
また、CPU141は、ROM12に記憶され、第2の認証情報を用いた認証処理に成功したファームウェアと、ROM17に記憶され、第2の認証情報を用いた認証処理に成功したファームウェアとを照合し、両者が一致しないか否かによりROM12に記憶されたファームウェアが更新されたか否かを判定することができる。または、CPU141は、ROM12に記憶され認証に成功した認証処理に用いられた第1の認証情報に含まれる第1の電子署名もしくはそのハッシュ値と、ROM17に記憶され認証に成功した第2の認証情報に含まれる第2の認証情報のハッシュ値とを照合し、両者が一致しないか否かによりROM12に記憶されたファームウェアが更新されたか否かを判定してもよい。
以上に説明したように、本実施形態に係る情報処理装置10は、ファームウェアを用いた処理を実行可能なコンピュータシステム(例えば、ホストシステム)を備え、ファームウェアと、有効化された(即ち、ロック解除状態の)ファームウェアに対する第1の認証情報と、無効化された(即ち、ロック状態の)ファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリ(例えば、ROM12)と、複製された当該データセットを記憶する第2のメモリ(例えば、ROM17)と、コントローラ(例えば、EC14)と、を備える。コントローラは、ファームウェアの更新状態を示す更新状態情報(例えば、FW1_MFG_DONE)を記憶し、更新状態情報がファームウェアの更新の未完了を示し、第1のメモリに記憶されたファームウェアに対する第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する第2の認証情報を用いた認証に成功するとき、第1のメモリに記憶されたファームウェアを第2のメモリに複製し、更新状態情報をファームウェアの更新の完了を示す情報に更新する。
この構成により、コントローラは、第1のメモリに記憶されたファームウェアが真正な状態で更新されたことを判定することができる。第1のメモリに記憶されたファームウェアを第2のメモリにバックアップすることで、出荷後におけるファームウェアの更新を許容しながら、情報セキュリティを確保することができる。
また、コントローラは、更新状態情報がファームウェアの更新の未完了を示し、第1のメモリに記憶されたファームウェアに対する第1の認証情報を用いた認証に失敗し、当該ファームウェアに対する第2の認証情報を用いた認証に失敗するとき、第2のメモリに記憶されたファームウェアを第1のメモリに複製させてもよい。
この構成により、コントローラは、第1のメモリに記憶されたファームウェアが破損したことを判定することができる。第2のメモリに記憶されたファームウェアを第1のメモリに複製することで、ファームウェアを用いた処理を回復させることができる。
また、コントローラは、更新状態情報がファームウェア更新の未完了を示し、第1のメモリに記憶されたファームウェアに対する第1の認証情報を用いた認証に成功するとき、第1のメモリに記憶されたファームウェアを用いた処理をコンピュータシステムに実行させてもよい。
この構成により、コントローラは、第1のメモリに記憶されたファームウェアが真正な状態で有効化されたことを判定することができる。第1のメモリに記憶されたファームウェアを用いた処理をコンピュータシステムに対して実行させることで、可用性を維持することができる。
また、コントローラは、更新状態情報がファームウェア更新の完了を示し、第1のメモリに記憶されたファームウェアに対する第2の認証情報を用いた認証に失敗するとき、第2のメモリに記憶されたファームウェアを第1のメモリに複製してもよい。
この構成により、コントローラは、コントローラは、第1のメモリに記憶されたファームウェアが破損されたことを判定することができる。第2のメモリに記憶されたファームウェアを第1のメモリに複製することで、ファームウェアを用いた処理を回復させることができる。
また、コントローラは、更新状態情報がファームウェア更新の完了を示し、第1のメモリに記憶されたファームウェアに対する第2の認証情報を用いた認証に成功するとき、第1のメモリに記憶されたファームウェアを用いた処理をコンピュータシステムに実行させてもよい。
この構成により、コントローラは、第1のメモリに記憶されたファームウェアが真正な状態で有効化されたことを判定することができる。第1のメモリに記憶されたファームウェアを用いた処理をコンピュータシステムに対して実行させることで、可用性を維持することができる。
また、第2のメモリは、コントローラからアクセス可能とし、コンピュータシステムからのアクセスが制限されていてもよい。
この構成により、コンピュータシステムまたはコンピュータシステムに接続される各種デバイスから第2のメモリに記憶されたファームウェアに対する操作が回避される。そのため、第2のメモリに記憶されたファームウェアに対する保護が図られる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上記の実施形態において説明した各構成は、矛盾しない限り任意に組み合わせることができる。
例えば、上記の説明では、ファームウェアの認証、認証情報の生成においてECC暗号に基づくECDSAを適用する場合を例にしたが、これには限られない。ファームウェアの認証、認証情報の生成において、その他の公開鍵暗号方式、例えば、RSA暗号方式が適用されてもよい。
上記の説明では、情報処理装置10が主にノートPCである場合を例にしたが、これには限られない。情報処理装置10は、デスクトップPC、タブレット端末、スマートフォン、などのいずれの形態で実現されてもよい。
PCH11にI/Oコントローラが含まれていれば、PCH11においてCPU111とメモリコントローラ115が省略され、それぞれPCH11とは別体であってもよい。GPU113も、PCH11とは別体であってもよい。
10…情報処理装置、11…PCH、12…ROM、14…EC、111…CPU、113…GPU、115…メモリコントローラ、117…I/Oコントローラ、131…システムメモリ、133…LCD、135…HDD、141…CPU、143…SRAM、145…ブートROM、151…キーボード

Claims (7)

  1. ファームウェアを用いた処理を実行可能なコンピュータシステムを備える情報処理装置であって、
    前記ファームウェアと、有効化された前記ファームウェアに対する第1の認証情報と、無効化された前記ファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリと、
    複製された前記データセットを記憶する第2のメモリと、
    コントローラと、を備え、
    前記コントローラは、
    前記ファームウェアの更新状態を示す更新状態情報を記憶し、
    前記更新状態情報が前記ファームウェアの更新の未完了を示し、
    前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、前記第1のメモリに記憶されたファームウェアを前記第2のメモリに複製し、
    前記更新状態情報を前記更新の完了を示す情報に更新する
    情報処理装置。
  2. 前記コントローラは、
    前記更新状態情報が前記更新の未完了を示し、
    前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、当該ファームウェアに対する前記第2の認証情報を用いた認証に失敗するとき、
    前記第2のメモリに記憶されたファームウェアを前記第1のメモリに複製する
    請求項1に記載の情報処理装置。
  3. 前記コントローラは、
    前記更新状態情報が前記更新の未完了を示し、
    前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に成功するとき、
    前記第1のメモリに記憶されたファームウェアを用いた処理を前記コンピュータシステムに実行させる
    請求項1または請求項2に記載の情報処理装置。
  4. 前記コントローラは、
    前記更新状態情報が前記更新の完了を示し、
    前記第1のメモリに記憶されたファームウェアに対する前記第2の認証情報を用いた認証に失敗するとき、
    前記第2のメモリに記憶されたファームウェアを前記第1のメモリに複製する
    請求項1から請求項3のいずれか一項に記載の情報処理装置。
  5. 前記コントローラは、
    前記更新状態情報が前記更新の完了を示すとき、
    前記第1のメモリに記憶されたファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、
    前記第1のメモリに記憶されたファームウェアを用いた処理を前記コンピュータシステムに実行させる
    請求項1から請求項4のいずれか一項に記載の情報処理装置。
  6. 前記第2のメモリは、前記コントローラからアクセス可能とし、前記コンピュータシステムからのアクセスが制限されている
    請求項1から請求項5のいずれか一項に記載の情報処理装置。
  7. ファームウェアを用いた処理を実行可能なコンピュータシステムと、
    前記ファームウェアと、有効化された前記ファームウェアに対する第1の認証情報と、無効化された前記ファームウェアに対する第2の認証情報とを含むデータセットを記憶する第1のメモリと、
    複製された前記データセットを記憶する第2のメモリと、
    コントローラと、を備える情報処理装置における情報処理方法であって、
    前記コントローラに記憶され、前記ファームウェアの更新状態を示す更新状態情報が前記前記ファームウェアの更新の未完了を示し、前記第1のメモリに記憶されたファームウェアに対する前記第1の認証情報を用いた認証に失敗し、かつ、当該ファームウェアに対する前記第2の認証情報を用いた認証に成功するとき、前記第1のメモリに記憶されたファームウェアを前記第2のメモリに複製する第1のステップと、
    前記更新状態情報を前記更新の完了を示す情報に更新する第2のステップと、を有する
    情報処理方法。
JP2020171053A 2020-10-09 2020-10-09 情報処理装置および情報処理方法 Active JP7011697B1 (ja)

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)

* Cited by examiner, † Cited by third party
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 京セラドキュメントソリューションズ株式会社 情報処理装置及びアプリケーションプログラムのバックアップ・レストア方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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