JP6652669B2 - Information processing apparatus and information processing apparatus control method - Google Patents

Information processing apparatus and information processing apparatus control method Download PDF

Info

Publication number
JP6652669B2
JP6652669B2 JP2019031808A JP2019031808A JP6652669B2 JP 6652669 B2 JP6652669 B2 JP 6652669B2 JP 2019031808 A JP2019031808 A JP 2019031808A JP 2019031808 A JP2019031808 A JP 2019031808A JP 6652669 B2 JP6652669 B2 JP 6652669B2
Authority
JP
Japan
Prior art keywords
software
area
processor
unit
executed
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
Application number
JP2019031808A
Other languages
Japanese (ja)
Other versions
JP2019145110A (en
Inventor
竜一 小池
竜一 小池
橋本 幹生
幹生 橋本
菜穂子 山田
菜穂子 山田
林 良太郎
良太郎 林
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019031808A priority Critical patent/JP6652669B2/en
Publication of JP2019145110A publication Critical patent/JP2019145110A/en
Application granted granted Critical
Publication of JP6652669B2 publication Critical patent/JP6652669B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本実施形態は、情報処理装置及び情報処理装置の制御方法に関する。   This embodiment relates to an information processing apparatus and a control method of the information processing apparatus.

ネットワークを介して他の装置と通信可能な情報処理装置は、脆弱性又は不具合の修正を目的とするファームウェアの更新を実行する。   An information processing device capable of communicating with another device via a network executes a firmware update for correcting a vulnerability or a defect.

特開2006−323776号公報JP 2006-323776 A

本実施形態は、ソフトウェアを安全に更新する情報処理装置及び情報処理装置の制御方法を提供する。   The present embodiment provides an information processing apparatus that safely updates software and a method for controlling the information processing apparatus.

本実施形態によれば、情報処理装置は、プロセッサと、不揮発性メモリと、制御部と、指定部と、信号生成部とを備える。不揮発性メモリは、第1のソフトウェアと、第1のソフトウェアに代えて用いられる第2のソフトウェアと、第2のソフトウェアを検証するための第3のソフトウェアとを備える。制御部は、第1のソフトウェアがプロセッサによって実行されている場合に、不揮発性メモリにおいて第1のソフトウェアを格納する第1の領域に対する書き込みを禁止する。指定部は、プロセッサで実行されるソフトウェアを指定する。信号生成部は、制御部に対する設定を許可する信号を生成する。信号生成部は、プロセッサの再起動において指定部が第3のソフトウェアの実行を指定するときに限り制御部への信号の出力を開始する。第3のソフトウェアは、プロセッサによって実行された場合に第2のソフトウェアを検証し、第2のソフトウェアが正当の場合に指定部に対して第2のソフトウェアを設定する。プロセッサは、信号の出力停止後、指定部によって指定された第1のソフトウェア又は第2のソフトウェアを実行する。   According to the present embodiment, the information processing device includes a processor, a non-volatile memory, a control unit, a designation unit, and a signal generation unit. The non-volatile memory includes first software, second software used in place of the first software, and third software for verifying the second software. When the first software is being executed by the processor, the control unit prohibits writing to the first area storing the first software in the nonvolatile memory. The designating unit designates software to be executed by the processor. The signal generation unit generates a signal that permits setting for the control unit. The signal generating unit starts outputting a signal to the control unit only when the specifying unit specifies the execution of the third software when the processor is restarted. The third software verifies the second software when executed by the processor, and sets the second software to the designated unit when the second software is valid. After stopping the output of the signal, the processor executes the first software or the second software specified by the specifying unit.

本実施形態に係る情報処理装置の構成を例示するブロック図。FIG. 2 is a block diagram illustrating the configuration of the information processing apparatus according to the embodiment. 本実施形態に係る不揮発性メモリの各領域と、モニタ、ファームウェア、予備ファームウェアのアクセス制御との関係を例示する図。FIG. 3 is a diagram illustrating a relationship between each area of the nonvolatile memory according to the embodiment and access control of a monitor, firmware, and preliminary firmware. 本実施形態に係るコントローラの構成を例示するブロック図。FIG. 2 is a block diagram illustrating a configuration of a controller according to the embodiment. 本実施形態に係る操作検出部の処理を例示するフローチャート。6 is a flowchart illustrating a process of the operation detection unit according to the embodiment. 本実施形態に係る領域判断部の処理を例示するフローチャート。5 is a flowchart illustrating a process of an area determining unit according to the embodiment. 本実施形態に係るモニタの処理を例示するフローチャート。5 is a flowchart illustrating processing of the monitor according to the embodiment. 本実施形態に係る指定部による起動領域の指定を例示するブロック図。FIG. 4 is a block diagram illustrating an example of designation of an activation area by a designation unit according to the embodiment. 本実施形態に係る不揮発性メモリの領域とプロテクト情報との関係を例示する図。FIG. 4 is a view exemplifying a relationship between a region of a nonvolatile memory and protection information according to the embodiment. 本実施形態に係る特権モードと非特権モードとの遷移を例示する状態遷移図。FIG. 6 is a state transition diagram illustrating a transition between a privileged mode and a non-privileged mode according to the embodiment. 一般的な情報処理装置のソフトウェア更新を例示するブロック図。FIG. 2 is a block diagram illustrating software update of a general information processing apparatus. 一般的な情報処理装置の不正なファームウェア更新を例示するブロック図。FIG. 2 is a block diagram illustrating an example of an illegal firmware update of a general information processing apparatus. 本実施形態に係る情報処理装置のファームウェア更新を例示するブロック図。FIG. 3 is a block diagram illustrating a firmware update of the information processing apparatus according to the embodiment.

以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の説明において、略又は実質的に同一の機能及び構成要素については、同一符号を付し、必要に応じて説明を行う。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, substantially or substantially the same functions and components will be denoted by the same reference symbols, and will be described as necessary.

[第1の実施形態]
本実施形態に係る情報処理装置は、例えば、組み込み機器、サーバマシン、クライアントマシン、パーソナルコンピュータ、スマートメータ、自動車、複写機、又は、ストレージデバイス、ストレージシステムなどでもよいが、これに限定されない。情報処理装置で実行されるソフトウェアには、脆弱性が含まれる場合がある。脆弱性を修正するために、不揮発性メモリに格納されているソフトウェアは事後的に更新される場合がある。ソフトウェアを更新するための更新機能が用意されると、脆弱性のあるソフトウェアが更新機能を用いて改竄されたソフトウェアを不揮発性メモリに格納し、この改竄されたソフトウェアにより異常状態が生じる場合がある。つまり、ソフトウェアの脆弱性を修正するためには更新機能が必要であるが、このような更新機能が悪用されて不揮発性メモリが改竄されることが想定される。
[First Embodiment]
The information processing apparatus according to the present embodiment may be, for example, an embedded device, a server machine, a client machine, a personal computer, a smart meter, an automobile, a copying machine, a storage device, a storage system, or the like, but is not limited thereto. Software executed on the information processing device may include vulnerabilities. Software stored in non-volatile memory may be updated afterwards to correct vulnerabilities. When an update function for updating software is prepared, vulnerable software may store falsified software in the non-volatile memory using the update function, and this falsified software may cause an abnormal state . In other words, an update function is required to correct software vulnerabilities, but it is assumed that such an update function is exploited to alter the nonvolatile memory.

ソフトウェアの脆弱性を排除し、脅威の侵入を防ぐことはセキュリティ上重要であり、さらに、ソフトウェアの脆弱性を排除することが困難な場合には、被害を最小限に抑えることが重要である。   It is important for security to eliminate software vulnerabilities and prevent the intrusion of threats, and when it is difficult to eliminate software vulnerabilities, it is important to minimize damage.

本実施形態に係る情報処理装置は、安全なソフトウェアの更新を可能とし、不揮発性メモリに対するソフトウェアの不正な書き込みを防止する。   The information processing apparatus according to the present embodiment enables safe update of software and prevents unauthorized writing of software to a nonvolatile memory.

以下、本実施形態では、保護される対象、及び、不揮発性メモリに対して書き込み、読み出し、又は、消去される対象は、ファームウェアの場合を例として説明する。しかしながら、保護される対象、及び、不揮発性メモリに対して書き込み、読み出し、又は、消去される対象は、例えば、オペレーティングシステム(OS)又はアプリケーションプログラムなどの各種のプログラム、プログラムコード、プログラムイメージ、データ、データイメージ、情報、ドキュメントなど、ファームウェアではない他のソフトウェアでもよい。   Hereinafter, in the present embodiment, an example will be described in which the target to be protected and the target to be written, read, or erased to or from the nonvolatile memory are firmware. However, the target to be protected and the target to be written, read, or erased to or from the nonvolatile memory include, for example, various programs such as an operating system (OS) or an application program, a program code, a program image, and data. Other software that is not firmware, such as data images, information, and documents, may be used.

本実施形態に係る情報処理装置は、不揮発性メモリに、モニタ領域、ファームウェア領域、予備ファームウェア領域を含み、モニタ領域にモニタと呼ばれる監視用のファームウェアを格納する。モニタは、ファームウェアではない他のソフトウェアでもよい。   The information processing apparatus according to the present embodiment includes a monitor area, a firmware area, and a spare firmware area in a nonvolatile memory, and stores monitoring firmware called a monitor in the monitor area. The monitor may be other software than firmware.

情報処理装置では、モニタが実行(動作)されている場合に不揮発性メモリに対する特権モード(モニタモード)が設定される。また、情報処理装置では、例えば、特権モードの場合にのみ、不揮発性メモリの各領域に対応する書き込み禁止又は書き込み許可の設定を変更することができる。特権モードの設定されている情報処理装置では、現在動作しているファームウェアが格納されているファームウェア領域が、書き込み禁止とされ、これにより改竄が防止される。一方で、更新されたファームウェア(以下、予備ファームウェアという)が格納される予備ファームウェア領域には、権限のない第三者であっても書き込み可能とする。また、リセットされた後の次の起動(ブート)に用いられる領域は起動領域と称される。起動領域は、モニタによって変更可能とする。本実施形態では、モニタが、予備ファームウェア領域の署名検証を行い、検証結果が正当な場合に、起動領域がファームウェア領域から予備ファームウェア領域へ変更される。これにより、想定されないファームウェアの起動が防止される。   In the information processing apparatus, a privileged mode (monitor mode) for the nonvolatile memory is set when the monitor is being executed (operated). Further, in the information processing apparatus, for example, only in the privileged mode, the setting of the write prohibition or the write permission corresponding to each area of the nonvolatile memory can be changed. In the information processing apparatus in which the privilege mode is set, the firmware area storing the currently operating firmware is write-protected, thereby preventing tampering. On the other hand, in an auxiliary firmware area in which updated firmware (hereinafter referred to as auxiliary firmware) is stored, even an unauthorized third party can write. The area used for the next start (boot) after the reset is referred to as a start area. The activation area can be changed by the monitor. In the present embodiment, the monitor verifies the signature of the spare firmware area, and if the verification result is valid, the boot area is changed from the firmware area to the spare firmware area. This prevents unexpected activation of the firmware.

図1は、本実施形態に係る情報処理装置の構成を例示するブロック図である。   FIG. 1 is a block diagram illustrating the configuration of the information processing apparatus according to the present embodiment.

情報処理装置100は、プロセッサ1、メモリ2、ストレージ部3、信号生成部4、指定部5、コントローラ6を備える。   The information processing device 100 includes a processor 1, a memory 2, a storage unit 3, a signal generation unit 4, a designation unit 5, and a controller 6.

プロセッサ1は、信号線(バス)を介して他のブロックと接続されている。より具体的には、バス71,72は、プロセッサ1とコントローラ6とを接続する。バス73,74は、コントローラ6とストレージ部3とを接続する。バス71及びバス73は、コマンド受信バスである。バス74及びバス72は、ソフトウェア送信バスである。プロセッサ1としては、例えば、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、又は、DSP(Digital Signal Processor)などが利用される。バス71〜74は、例えば、後述の図3に示すようにアドレスバス7A及びデータバス7Dを含む。   The processor 1 is connected to another block via a signal line (bus). More specifically, buses 71 and 72 connect processor 1 and controller 6. The buses 73 and 74 connect the controller 6 and the storage unit 3. The bus 71 and the bus 73 are command receiving buses. Buses 74 and 72 are software transmission buses. As the processor 1, for example, a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), or a DSP (Digital Signal Processor) is used. The buses 71 to 74 include, for example, an address bus 7A and a data bus 7D as shown in FIG.

プロセッサ1は、メモリ2とストレージ部3とのうちの少なくとも一方に格納されたファームウェアに基づいて制御処理及び演算処理を実行する。   The processor 1 executes control processing and arithmetic processing based on firmware stored in at least one of the memory 2 and the storage unit 3.

メモリ2は、主記憶装置であり、プロセッサ1からの制御に従う。メモリ2は、例えば、SRAM(Static Random Access Memory)、又は、DRAM(Dynamic Random Access Memory)を含む。例えば、情報処理装置100の起動時に、起動パーティション領域362に格納されているいずれかのファームウェアがプロセッサ1の制御にしたがって実行され、メモリ2には、プロセッサ1の制御に基づいて、生成されたデータ等を一時的に格納する。   The memory 2 is a main storage device, and is controlled by the processor 1. The memory 2 includes, for example, an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory). For example, when the information processing apparatus 100 is started, one of the firmware stored in the boot partition area 362 is executed under the control of the processor 1, and the generated data is stored in the memory 2 based on the control of the processor 1. Etc. are temporarily stored.

本実施形態において、ストレージ部3は、不揮発性メモリ36、書き込み通信部31、アクセス制御部33、アクセス部35、情報管理部34、読み出し通信部32を含む。ストレージ部3の書き込み通信部31と読み出し通信部32とは、バス73,74を経由してコントローラ6に接続されている。一般の構成では、ストレージ部3は、主にプロセッサ1によって直接制御されるが、本実施形態では、ストレージ部3の外部に、特徴的な周辺回路である信号生成部4、指定部5、コントローラ6が配置される。この周辺回路によってストレージ部3に対してアクセス制御を行うことで、安全なファームウェア更新が実現される。   In the present embodiment, the storage unit 3 includes a nonvolatile memory 36, a write communication unit 31, an access control unit 33, an access unit 35, an information management unit 34, and a read communication unit 32. The write communication unit 31 and the read communication unit 32 of the storage unit 3 are connected to the controller 6 via buses 73 and 74. In a general configuration, the storage unit 3 is directly controlled mainly by the processor 1, but in the present embodiment, the signal generation unit 4, the designation unit 5, and the controller 5, which are characteristic peripheral circuits, are provided outside the storage unit 3. 6 are arranged. By performing access control on the storage unit 3 by this peripheral circuit, safe firmware updating is realized.

ストレージ部3は、ソリッドステートドライブ(SSD)を含むとしてもよく、又は、ハードディスクドライブ(HDD)を含むとしてもよい。ストレージ部3は、SSDとハードディスクとを組み合わせたハイブリッド型のメモリ装置を含むとしてもよい。   The storage unit 3 may include a solid state drive (SSD), or may include a hard disk drive (HDD). The storage unit 3 may include a hybrid memory device combining an SSD and a hard disk.

不揮発性メモリ36は、例えば、NAND型フラッシュメモリなどを含む。しかしながら、不揮発性メモリ36は、NOR型フラッシュメモリ、MRAM(Magnetoresistive Random access memory:磁気抵抗メモリ)、PRAM(Phase change Random access memory:相変化メモリ)、ReRAM(Resistive Random access memory:抵抗変化型メモリ)、FeRAM(Ferroelectric Random Access Memory)などのメモリを含むとしてもよい。   The non-volatile memory 36 includes, for example, a NAND flash memory. However, the non-volatile memory 36 is a NOR flash memory, an MRAM (Magnetoresistive Random access memory), a PRAM (Phase change Random access memory), or a ReRAM (Resistive Random access memory). , And a memory such as an FeRAM (Ferroelectric Random Access Memory).

書き込み通信部31は、書き込み、削除、又は、プロテクト情報の変更を行うためのコマンドを受信する書き込みポートに対応する。   The write communication unit 31 corresponds to a write port that receives a command for writing, deleting, or changing protection information.

書き込み通信部31は、書き込みの場合、プロセッサ1から、バス71、コントローラ6、バス73経由で書き込みコマンドを受信し、受信された書き込みコマンドをアクセス制御部33へ送る。   In the case of writing, the write communication unit 31 receives a write command from the processor 1 via the bus 71, the controller 6, and the bus 73, and sends the received write command to the access control unit 33.

書き込み通信部31は、プロテクト情報の変更の場合、プロセッサ1から、バス71、コントローラ6、バス73経由で変更コマンドを受信し、受信された変更コマンドをアクセス制御部33へ送る。   When the protection information is changed, the write communication unit 31 receives a change command from the processor 1 via the bus 71, the controller 6, and the bus 73, and sends the received change command to the access control unit 33.

アクセス部35は、アクセス制御部33による制御にしたがって、不揮発性メモリ36へファームウェアを書き込み、又は、消去を行う。また、アクセス部35は、アクセス制御部33による制御にしたがって、不揮発性メモリ36における指定されたアドレスで示される領域からファームウェアを読み出し、読み出されたファームウェアをアクセス制御部33へ送る。   The access unit 35 writes or erases firmware in the nonvolatile memory 36 according to the control of the access control unit 33. The access unit 35 reads the firmware from the area indicated by the specified address in the nonvolatile memory 36 according to the control of the access control unit 33, and sends the read firmware to the access control unit 33.

アクセス部35によって、不揮発性メモリ36に対する実際の読み出し、書き込み、消去が実行される。   The access unit 35 performs actual reading, writing, and erasing on the nonvolatile memory 36.

アクセス部35は、不揮発性メモリ36がフラッシュメモリであり、ファームウェアがが書き込まれている領域に対して再度書き込みを行う場合に、ブロック単位で当該領域のファームウェアを削除し、その後新たなファームウェアの書き込みをページ単位で行う。例えば、フラッシュメモリのように、データを更新するために対応する領域が消去される必要がある場合、不正な更新の代わりに不正な消去が制限されてもよい。しかしながら、領域の消去を行うことなくデータの更新が可能なフラッシュメモリも存在する。したがって、不揮発性メモリに対する不正な書き込みを防止するために、本実施形態では、書き込みコマンドと消去コマンドの双方に対して正当か否か判断する。   When the nonvolatile memory 36 is a flash memory and the firmware is written again in the area where the firmware is written, the access unit 35 deletes the firmware in the area in units of blocks and then writes new firmware. For each page. For example, when a corresponding area needs to be erased in order to update data, such as a flash memory, illegal erasure may be restricted instead of illegal update. However, there is a flash memory that can update data without erasing the area. Therefore, in order to prevent unauthorized writing to the nonvolatile memory, in the present embodiment, it is determined whether both the write command and the erase command are valid.

読み出し通信部32は、例えばワード単位で読み出すアドレスの指定を受け、読み出された任意のファームウェアを送信するための読み出しポートに対応する。   The read communication unit 32 corresponds to, for example, a read port for receiving an address to be read in word units and transmitting any read firmware.

読み出し通信部32は、読み出しの場合に、プロセッサ1から、バス72、コントローラ6、バス74経由でアドレスを受信し、受信されたアドレスをアクセス制御部33へ送る。読み出し通信部32は、不揮発性メモリ36から読み出されたアドレスに対応するファームウェアを、アクセス部35、アクセス制御部33経由で受け、ファームウェアをバス74、コントローラ6、バス72経由でプロセッサ1へ送信する。   In the case of reading, the read communication unit 32 receives an address from the processor 1 via the bus 72, the controller 6, and the bus 74, and sends the received address to the access control unit 33. The read communication unit 32 receives the firmware corresponding to the address read from the nonvolatile memory 36 via the access unit 35 and the access control unit 33, and transmits the firmware to the processor 1 via the bus 74, the controller 6, and the bus 72. I do.

情報管理部34は、プロテクト情報(フラグ)を含み、管理する。プロテクト情報は、不揮発性メモリ36に対する書き込み及び消去を防ぐための情報である。プロテクト情報が保護状態を示す場合には、不揮発性メモリ36の対応する領域に対して書き込み及び消去が禁止される。プロテクト情報は、例えばブロック単位などのような任意の領域単位で、書き込み及び消去を防ぐか否かを特定する。   The information management unit 34 includes and manages protection information (flag). The protection information is information for preventing writing and erasing in the nonvolatile memory 36. When the protection information indicates the protection state, writing and erasing of the corresponding area of the nonvolatile memory 36 are prohibited. The protection information specifies whether or not writing and erasing are to be prevented in an arbitrary area unit such as a block unit.

情報管理部34は、アクセス制御部33による制御にしたがって、プロテクト情報を変更する。   The information management unit 34 changes the protection information according to the control by the access control unit 33.

アクセス制御部33は、書き込み通信部31又は読み出し通信部32から受けたコマンドを解釈し、アクセス部35又は情報管理部34を制御する。   The access control unit 33 interprets a command received from the write communication unit 31 or the read communication unit 32 and controls the access unit 35 or the information management unit 34.

例えば、アクセス制御部33は、書き込み通信部31から受けた書き込みコマンド又は消去コマンドに基づいて、アクセス部35を制御し、不揮発性メモリ36に対するファームウェアの書き込み、又は、領域に対する消去を制御する。   For example, the access control unit 33 controls the access unit 35 based on a write command or an erase command received from the write communication unit 31, and controls writing of firmware in the nonvolatile memory 36 or erasing of the area.

例えば、アクセス制御部33は、読み出し通信部31から受けた読み出しコマンドとアドレスとに基づいて、アクセス部35を制御し、不揮発性メモリ36におけるアドレスに対応する領域に格納されているファームウェアをアクセス部35から受け、ファームウェアを読み出し通信部32へ送る。   For example, the access control unit 33 controls the access unit 35 based on the read command and the address received from the read communication unit 31, and reads the firmware stored in the area corresponding to the address in the nonvolatile memory 36. 35, the firmware is read and sent to the communication unit 32.

本実施形態では、アクセス制御部33は、対応するプロテクト情報が保護状態を示す領域に対して書き込み又は消去が要求された場合に、当該書き込み又は消去を禁止し、対応するプロテクト情報が非保護状態を示す領域に対して書き込み又は消去が要求された場合に、書き込み要求又は消去要求をアクセス部35に送る。   In the present embodiment, when writing or erasing is requested for an area in which the corresponding protected information indicates the protected state, the access control unit 33 prohibits the writing or erasing and sets the corresponding protected information to the unprotected state. Is sent to the access unit 35 when writing or erasing is requested for the area indicating.

さらに、本実施形態では、アクセス制御部33は、読み出し通信部32から受けた変更コマンドを解釈し、解釈結果に基づいて、情報管理部34に含まれているプロテクト情報を変更する。   Further, in the present embodiment, the access control unit 33 interprets the change command received from the read communication unit 32, and changes the protection information included in the information management unit 34 based on the interpretation result.

なお、本実施形態においては、変更コマンドは、書き込み通信部31が受信するとしているが、読み出し通信部32が受信するとしてもよい。   In the present embodiment, the change command is received by the write communication unit 31, but may be received by the read communication unit 32.

また、本実施形態においては、変更コマンドは、書き込み通信部31からアクセス制御部33へ送られているが、書き込み通信部31又は読み出し通信部32から情報管理部34へ送られてもよい。   Also, in the present embodiment, the change command is sent from the write communication unit 31 to the access control unit 33, but may be sent from the write communication unit 31 or the read communication unit 32 to the information management unit 34.

不揮発性メモリ36は、ファームウェアを格納する。本実施形態では、不揮発性メモリ36は、データ領域361、起動パーティション領域362を含む。   The non-volatile memory 36 stores firmware. In the present embodiment, the non-volatile memory 36 includes a data area 361 and a boot partition area 362.

データ領域361及び起動パーティション領域362は、さらに小領域に分割されている。不揮発性メモリ36の領域ごとに、プロテクト情報が設定され、アクセス制御が実行される。   The data area 361 and the boot partition area 362 are further divided into small areas. Protect information is set for each area of the nonvolatile memory 36, and access control is performed.

起動パーティション領域362は、情報処理装置100によって実行されるファームウェアが格納される領域である。起動パーティション領域362は、例えば、モニタ領域362a、ファームウェア領域362b、予備ファームウェア領域362cを含む。モニタ領域362aは、モニタ8を格納し、ファームウェア領域362bは、ファームウェア9を格納し、予備ファームウェア領域362cは、予備ファームウェア10を格納する。情報処理装置100は、モニタ領域362a、ファームウェア領域362b、予備ファームウェア領域362cのそれぞれの領域に格納されているモニタ8、ファームウェア9、又は、予備ファームウェア10に基づいて、起動可能である。   The boot partition area 362 is an area in which firmware executed by the information processing device 100 is stored. The boot partition area 362 includes, for example, a monitor area 362a, a firmware area 362b, and a spare firmware area 362c. The monitor area 362a stores the monitor 8, the firmware area 362b stores the firmware 9, and the spare firmware area 362c stores the spare firmware 10. The information processing apparatus 100 can be started based on the monitor 8, the firmware 9, or the auxiliary firmware 10 stored in each of the monitor area 362a, the firmware area 362b, and the auxiliary firmware area 362c.

モニタ8は、予備ファームウェア10の検証を含む起動の準備を行う小規模な信頼性の高い監視ファームウェアである。モニタ領域362aは、モニタ8を秘匿するために、例えば特権モードで動作される場合にのみモニタが読み出し可能な領域として設定される。   The monitor 8 is a small, highly reliable monitoring firmware that prepares for startup including verification of the preliminary firmware 10. The monitor area 362a is set as an area readable by the monitor only when the monitor 8 is operated in the privileged mode, for example, to keep the monitor 8 confidential.

モニタ8は、更新可能で複雑なファームウェア9とは異なり、脆弱性は存在しないとする。モニタ8は、脆弱性を取り除くために、限られた所定の処理を実行し、外部からの入力をほとんど受けない、小さく単純なコードである。モニタ領域362aは、モニタ8を格納する信頼できる保護領域であり、安全性を保証するため、更新不可である。モニタ領域362aは、モニタ8自身が動作する場合に、プロセッサ1によってモニタ8が読み出される必要があるため、読み出し可能であるが、他の場合には、読み出し不可とする。このモニタ領域362aに対するアクセス制御は、コントローラ6によって実現される。   It is assumed that the monitor 8 has no vulnerability unlike the firmware 9 which can be updated and is complicated. The monitor 8 is a small and simple code that executes limited predetermined processing and receives little external input in order to remove vulnerability. The monitor area 362a is a reliable protection area for storing the monitor 8, and cannot be updated in order to guarantee security. The monitor area 362a can be read because the monitor 1 needs to be read by the processor 1 when the monitor 8 itself operates, but cannot be read otherwise. The access control to the monitor area 362a is realized by the controller 6.

モニタ8は、情報処理装置100のリセットに基づいて実行される。モニタ8は、次の第1乃至第4の処理を実行可能である。   The monitor 8 is executed based on the reset of the information processing device 100. The monitor 8 can execute the following first to fourth processes.

第1の処理は、予備ファームウェア領域362cの検証である。第1の処理はモニタ8に含まれる公開鍵を用いて予備ファームウェア領域362cに格納されている予備ファームウェア10の完全性と真正性とを検証する。   The first process is a verification of the spare firmware area 362c. The first process verifies the integrity and authenticity of the spare firmware 10 stored in the spare firmware area 362c using the public key included in the monitor 8.

第2の処理は、不揮発性メモリ36のアクセス制御設定の変更である。   The second process is a change of the access control setting of the nonvolatile memory 36.

第3の処理は、起動パーティション領域362aの切り替えである。第3の処理は、次の起動時にファームウェア領域362bと予備ファームウェア領域362cとのうちのどちらの領域のファームウェアを起動させるかを指定する指定部5を操作する。   The third process is switching of the boot partition area 362a. In the third process, the designation unit 5 for designating which one of the firmware area 362b and the spare firmware area 362c to activate the firmware at the time of the next activation is operated.

第4の処理は、指定されているファームウェアを起動するためのリセットである。   The fourth process is a reset for activating the designated firmware.

モニタ8は、リセット時に、実行されているファームウェア9から起動領域の切り替えが依頼されたか否か(実行されているファーウェア9から予備ファームウェア10への切り替えが依頼されたか否か)を判断する。   At the time of reset, the monitor 8 determines whether or not the execution of the firmware 9 has been requested to switch the activation area (whether or not the execution of the firmware 9 has been requested to switch to the spare firmware 10).

モニタ8は、起動領域の切り替えが依頼された場合、第1乃至第4の処理を実行する。   The monitor 8 executes the first to fourth processes when the switching of the activation area is requested.

モニタ8は、特別な依頼がなければ、第3及び第4の処理を実行し、起動領域のファームウェア9を起動する。   If there is no special request, the monitor 8 executes the third and fourth processes and starts the firmware 9 in the start area.

プロセッサ1で実行されるファームウェア9からの書き込みは、不揮発性メモリ36における共有領域361aに対して行われる。ファームウェア領域9と予備ファームウェア10とのうちのどちらに格納されているファームウェアを起動するかを指定する情報は、例えば、モニタ専用領域361bに格納される。   Writing from the firmware 9 executed by the processor 1 is performed on the shared area 361 a in the nonvolatile memory 36. Information for specifying which one of the firmware area 9 and the spare firmware 10 is to activate the firmware is stored in, for example, the monitor-dedicated area 361b.

ファームウェア領域362bは、現在実行対象として設定されているファームウェア9を格納する。ファームウェア領域362bに格納されているファームウェア9が実行中である場合は、ファームウェア領域362bは書き込み不可とする。これにより、ファームウェア9の更新機能が脆弱性により悪用され、実行されているファームウェア9を更新しようとした場合でも更新できない。したがって、実行されているファームウェア9の安全性が担保される。その後の起動では、必ず実行されているファームウェア9と同一のコードが起動される。   The firmware area 362b stores the firmware 9 currently set as an execution target. When the firmware 9 stored in the firmware area 362b is being executed, the firmware area 362b cannot be written. As a result, the update function of the firmware 9 is abused due to the vulnerability, so that even if an attempt is made to update the running firmware 9, the update cannot be performed. Therefore, the security of the running firmware 9 is ensured. In the subsequent activation, the same code as the firmware 9 that is being executed is always activated.

予備ファームウェア領域362cは、実行されているファームウェア9の更新機能によって更新され、ファームウェア9に代えて用いられる予備ファームウェア10を格納する。予備ファームウェア領域362cに予備ファームウェア10が格納された後、予備ファームウェア10は、モニタ8による検証を経て有効化される。   The spare firmware area 362c stores the spare firmware 10 that is updated by the updating function of the running firmware 9 and used in place of the firmware 9. After the preliminary firmware 10 is stored in the preliminary firmware area 362c, the preliminary firmware 10 is validated by the monitor 8 and validated.

なお、モニタ8が予備ファームウェア領域362cに格納された予備ファームウェア10を有効にした場合、ファームウェア領域362bと予備ファームウェア領域362cは入れ替わるとしてもよく、次回の更新で生成される予備ファームウェアは入れ替わった後の予備ファームウェア領域に格納されるとしてもよい。   When the monitor 8 activates the spare firmware 10 stored in the spare firmware area 362c, the firmware area 362b and the spare firmware area 362c may be exchanged, and the spare firmware generated in the next update is replaced after the exchange. It may be stored in a spare firmware area.

データ領域361は、共通領域361aとモニタ専用領域361bを含むデータ専用領域である。   The data area 361 is a data-only area including a common area 361a and a monitor-only area 361b.

共通領域361aは、モニタ8、ファームウェア9、予備ファームウェア10によって読み書き可能であり、モニタ専用領域361bは、モニタ8のみが読み書き可能であり、ファームウェア9及び予備ファームウェア10が読み書き不可である。例えば、モニタ専用領域361bには、起動パーティション情報が格納される。起動パーティション情報は、起動領域を指定する情報であり、後述するモニタ8のファームウェア検証機能において更新される。   The common area 361a is readable and writable by the monitor 8, the firmware 9, and the auxiliary firmware 10, and the monitor dedicated area 361b is readable and writable only by the monitor 8, and is not readable and writable by the firmware 9 and the auxiliary firmware 10. For example, boot partition information is stored in the monitor dedicated area 361b. The boot partition information is information for specifying a boot area, and is updated by a firmware verification function of the monitor 8 described later.

信号生成部4は、モニタ8が起動される場合に、特権モード信号を生成し、特権モード信号をコントローラ6へ送信する。以下では、プロセッサ1によって実行される対象がモニタ8である状態を、特権モードと呼ぶ。   When the monitor 8 is activated, the signal generator 4 generates a privileged mode signal and transmits the privileged mode signal to the controller 6. Hereinafter, a state in which the target executed by the processor 1 is the monitor 8 is referred to as a privileged mode.

信号生成部4は、例えばレジスタにより実現されてもよい。信号生成部4は、特権モードに一度設定されると、次に設定変更されるまで同じ信号を出力し続ける。信号生成部4は、リセットのタイミングでのみ特権モードと非特権モードとを切り替え可能としてもよい。   The signal generation unit 4 may be realized by, for example, a register. Once set to the privileged mode, the signal generation unit 4 continues to output the same signal until the next time the setting is changed. The signal generation unit 4 may be capable of switching between the privileged mode and the non-privileged mode only at the timing of resetting.

特権モード信号は、コントローラ6においてモニタ8が実行されているか否かを判別するための制御信号として用いられる。   The privilege mode signal is used as a control signal for determining whether or not the monitor 8 is being executed in the controller 6.

指定部5は、例えば所定の信号(リセット)入力後に起動パーティション領域362内のどの領域のファームウェアを用いて起動するかを指定する。一般の情報処理装置では、リセット信号が生じると、単一のリセットベクタの内容にしたがって不揮発性メモリの特定アドレスで示される領域を参照し、特定アドレスで示される領域に格納されているファームウェアの実行が開始される。一方、本実施形態では、指定部5の値によってプロセッサ1で参照されるリセットベクタが切り替わり、起動時に用いられる起動領域がモニタ領域362a、ファームウェア領域362b、予備ファームウェア領域362cで切り替わる。   The specifying unit 5 specifies, for example, which area of the boot partition area 362 should be used to start the firmware after a predetermined signal (reset) is input. In a general information processing apparatus, when a reset signal is generated, an area indicated by a specific address of a nonvolatile memory is referred to in accordance with the contents of a single reset vector, and execution of firmware stored in the area indicated by the specific address is performed. Is started. On the other hand, in the present embodiment, the reset vector referred to by the processor 1 is switched according to the value of the designation unit 5, and the activation area used at the time of activation is switched between the monitor area 362a, the firmware area 362b, and the spare firmware area 362c.

リセットされた直後に、指定部5がモニタ8を格納するモニタ領域362aを指定している場合、信号生成部4から特権モード信号が出力される。特権モード信号は、リセットが発生するまで、すなわちモニタ8が動作している間、出力され続ける。   Immediately after the reset, if the designation unit 5 designates the monitor area 362a for storing the monitor 8, the signal generation unit 4 outputs a privileged mode signal. The privileged mode signal continues to be output until a reset occurs, that is, while the monitor 8 is operating.

ただし、実行されているファームウェア9が指定部5に対する設定を更新可能とすると、予備ファームウェア領域362cに格納されている予備ファームウェア10が、モニタ8による検証を経ずに起動される場合がある。したがって、指定部5は、特権モード信号が出力されている状態でリセットが発生した場合にのみ、リセットをまたいで指定部5の値(起動領域の指定)をファームウェア9のまま維持する。すなわち、モニタ8のみが、次回の起動領域を切り替え可能である。リセットが発生したが特権モード信号が出力されていない場合、指定部5は、モニタ領域362aを指定し、この場合には、モニタ8が起動される。ファームウェア9がリセットする際には必ずモニタ8が起動することになる。そのため、予備ファームウェア10は必ず特権モードを経由した後に有効化されることになる。   However, if the firmware 9 that is being executed enables the setting of the designation unit 5 to be updated, the spare firmware 10 stored in the spare firmware area 362c may be started without being verified by the monitor 8. Therefore, only when a reset occurs while the privileged mode signal is being output, the specifying unit 5 maintains the value of the specifying unit 5 (designation of the activation area) in the firmware 9 over the reset. That is, only the monitor 8 can switch the next activation area. When the reset has occurred but the privilege mode signal has not been output, the specifying unit 5 specifies the monitor area 362a, and in this case, the monitor 8 is activated. When the firmware 9 is reset, the monitor 8 always starts. Therefore, the preliminary firmware 10 is always activated after passing through the privileged mode.

コントローラ6は、ストレージ部3に対する読み出し及び書き込みを制御するためのアクセスコントロール回路である。コントローラ6は、ストレージ部3の前段に配置される。コントローラ6は、ラップされており、内部に、操作検出部61、領域判断部62、リセット部61a、無効化部62aを含む。   The controller 6 is an access control circuit for controlling reading from and writing to the storage unit 3. The controller 6 is arranged before the storage unit 3. The controller 6 is wrapped and includes therein an operation detection unit 61, an area determination unit 62, a reset unit 61a, and a nullification unit 62a.

コントローラ6は、信号生成部4から受信された特権モード信号に基づいて、アクセス制御の有無の判断及び設定を行う。モニタ8が動作中の場合、コントローラ6は、信号生成部4から特権モード信号を受信する。そして、コントローラ6は、特権モード信号を受信している場合にのみ、モニタ8によるアクセス制御の設定の変更を許可する。モニタ8によって設定された内容は、ファームウェア9が起動された後でも有効であり、再度モニタ8によって設定されるまで設定された内容は維持される。そのため、コントローラ6は、特権モード信号を受信していない場合においても、先に設定された正しいアクセス制御設定に従い、不揮発性メモリ36の特定領域への格納を禁止する。   The controller 6 determines and sets the presence or absence of access control based on the privilege mode signal received from the signal generator 4. When the monitor 8 is operating, the controller 6 receives the privilege mode signal from the signal generator 4. Then, the controller 6 permits the monitor 8 to change the setting of the access control only when the privilege mode signal is received. The contents set by the monitor 8 are valid even after the firmware 9 is started, and the set contents are maintained until the contents are set by the monitor 8 again. Therefore, even when the controller 6 does not receive the privilege mode signal, the controller 6 prohibits the storage in the specific area of the nonvolatile memory 36 in accordance with the correct access control setting previously set.

コントローラ6は、プロセッサ1が不揮発性メモリ36に対して読み書きを行う場合に用いるアドレスバス、データバスを参照可能である。コントローラ6は、アドレスバス、データバスの入出力を監視することで必要なアクセス制限を行う。   The controller 6 can refer to an address bus and a data bus used when the processor 1 reads and writes from and to the nonvolatile memory 36. The controller 6 performs necessary access restriction by monitoring the input / output of the address bus and the data bus.

操作検出部(例えば制御部)61は、書き込みを行う場合の一連の操作を検出する。本実施形態において、操作検出部61は、例えば非特権モードでプロテクト情報が操作されることを禁止するための制御を行う。   The operation detection unit (for example, the control unit) 61 detects a series of operations when writing is performed. In the present embodiment, the operation detection unit 61 performs control for prohibiting operation of the protect information in the non-privileged mode, for example.

領域判断部(例えば読み出し制御部)62は、読み出しを行う場合の一連の操作を検出する。本実施形態において、領域判断部62は、所定の条件にしたがって例えばモニタ8の読み出しを禁止し、モニタ8の秘匿性を確保するための制御を行う。   The area determining unit (for example, the reading control unit) 62 detects a series of operations when reading is performed. In the present embodiment, for example, the area determination unit 62 prohibits reading of the monitor 8 according to a predetermined condition, and performs control for ensuring confidentiality of the monitor 8.

リセット部61aは、ストレージ部3をリセットする場合に、リセット信号を操作検出部61、バス73経由で、ストレージ部3に送信する。例えば、リセット部61aは、非特権モードにおいてプロテクト情報の変更が依頼された場合に、ストレージ部3をリセットし、この変更を無効化する。   When resetting the storage unit 3, the reset unit 61 a transmits a reset signal to the storage unit 3 via the operation detection unit 61 and the bus 73. For example, when a change of the protection information is requested in the non-privileged mode, the reset unit 61a resets the storage unit 3 and invalidates the change.

無効化部62aは、領域判断部62によって読み出しが検出された場合に、ストレージ部3に対する操作に制限を加える。例えば、無効化部62aは、非特権モードの場合に、モニタ領域362aから読み出されたモニタ8の値を強制的にゼロに置き換えることで無効化する。
図2は、本実施形態に係る不揮発性メモリ36の各領域と、モニタ8、ファームウェア9、予備ファームウェア10のアクセス制御との関係を例示する図である。
The invalidation unit 62a restricts the operation on the storage unit 3 when the reading is detected by the area determination unit 62. For example, in the non-privileged mode, the invalidation unit 62a invalidates the value of the monitor 8 read from the monitor area 362a by forcibly replacing the value with zero.
FIG. 2 is a diagram exemplifying a relationship between each area of the nonvolatile memory 36 according to the present embodiment and access control of the monitor 8, the firmware 9, and the spare firmware 10.

モニタ8が実行中の場合、モニタ8は、モニタ領域362aに対して読み出し可及び書き込み不可であり、ファームウェア領域362bに対して読み出し可及び書き込み可であり、予備ファームウェア領域362cに対して読み出し可及び書き込み可であり、共通領域361aに対して読み出し可及び書き込み可であり、モニタ専用領域361bに対して読み出し可及び書き込み可である。   When the monitor 8 is running, the monitor 8 is readable and writable to the monitor area 362a, readable and writable to the firmware area 362b, and readable and writable to the spare firmware area 362c. Writable, readable and writable for the common area 361a, and readable and writable for the monitor-only area 361b.

ファームウェア9が実行中の場合、ファームウェア9は、モニタ領域362aに対して読み出し不可及び書き込み不可であり、ファームウェア領域362bに対して読み出し可及び書き込み不可であり、予備ファームウェア領域362cに対して読み出し可及び書き込み可であり、共通領域361aに対して読み出し可及び書き込み可であり、モニタ専用領域361bに対して読み出し不可及び書き込み不可である。   When the firmware 9 is being executed, the firmware 9 cannot read and write to the monitor area 362a, can read and cannot write to the firmware area 362b, and can read and write to the spare firmware area 362c. Writable, readable and writable for the common area 361a, and readable and writable for the monitor-only area 361b.

予備ファームウェア10が実行中の場合、予備ファームウェア10は、モニタ領域362aに対して読み出し不可及び書き込み不可であり、ファームウェア領域362bに対して読み出し可及び書き込み可であり、予備ファームウェア領域362cに対して読み出し可及び書き込み不可であり、共通領域361aに対して読み出し可及び書き込み可であり、モニタ専用領域361bに対して読み出し不可及び書き込み不可である。   When the spare firmware 10 is being executed, the spare firmware 10 is not readable and writable for the monitor area 362a, is readable and writable for the firmware area 362b, and is read for the spare firmware area 362c. It is possible and not writable, and is readable and writable to the common area 361a, and is not readable and writable to the monitor-only area 361b.

ファームウェア領域362bのアクセス制御の設定は、動的に変化可能である。   The setting of the access control in the firmware area 362b can be dynamically changed.

図3は、本実施形態に係るコントローラ6の構成を例示するブロック図である。この図3に例示されるコントローラ6によって実行されるストレージ部3に対するアクセス制御を、図4及び図5を用いて説明する。   FIG. 3 is a block diagram illustrating the configuration of the controller 6 according to the present embodiment. The access control to the storage unit 3 executed by the controller 6 illustrated in FIG. 3 will be described with reference to FIGS.

図4は、本実施形態に係る操作検出部61の処理を例示するフローチャートである。   FIG. 4 is a flowchart illustrating a process of the operation detection unit 61 according to the present embodiment.

操作検出部61は、アドレスバス7Aとデータバス7Dを監視して、プロテクト情報を変更するための変更コマンドを検出する(S4−1)。本実施形態において、変更コマンドは、特定の順番でアドレスバス7Aとデータバス7Dへ入力されるコマンドシーケンスでもよい。   The operation detection unit 61 monitors the address bus 7A and the data bus 7D, and detects a change command for changing the protection information (S4-1). In the present embodiment, the change command may be a command sequence input to the address bus 7A and the data bus 7D in a specific order.

変更コマンドが検出されると、操作検出部61は、特権モード信号に基づいて特権モードか否か、すなわちモニタ8が実行されているか否か判断する(S4−2)。   When the change command is detected, the operation detecting unit 61 determines whether or not the monitor is in the privileged mode based on the privileged mode signal (S4-2).

特権モードの場合、操作検出部61は、プロテクト情報の変更を許可し、変更コマンドを後段のストレージ部3に送る(S4−3)。非特権モードの場合、操作検出部61は、変更を拒否する(S4−4)。   In the case of the privilege mode, the operation detection unit 61 permits the change of the protection information, and sends a change command to the storage unit 3 at the subsequent stage (S4-3). In the case of the non-privileged mode, the operation detection unit 61 rejects the change (S4-4).

変更拒否の具体的方法は、ストレージ部3の仕様などに依存するため、様々な方法が考えられる。例えば、操作検出部61は、リセット部61aを用いて、ストレージ部3をリセットしてもよいし、実行されているファームウェア9に例外を通知してもよいし、又は、セキュリティに関わる異常状態として情報処理装置100をリセットしてもよい。   Since the specific method of rejecting the change depends on the specifications of the storage unit 3, various methods are conceivable. For example, the operation detection unit 61 may reset the storage unit 3 by using the reset unit 61a, notify an exception to the firmware 9 being executed, or set an abnormal state related to security. The information processing device 100 may be reset.

図5は、本実施形態に係る領域判断部62の処理の一例を示すフローチャートである。   FIG. 5 is a flowchart illustrating an example of a process of the area determination unit 62 according to the present embodiment.

領域判断部62は、アドレスバス7Aを監視して、読み出しコマンドを検出する(S5−1)。読み出しコマンドが検出されると、領域判断部62は、特権モード信号に基づいて特権モードか否か判断する(S5−2)。   The area determination unit 62 monitors the address bus 7A and detects a read command (S5-1). When the read command is detected, the area determination section 62 determines whether or not the mode is the privilege mode based on the privilege mode signal (S5-2).

特権モードの場合、領域判断部62は、無効化部62aを無効化し(S5−3)、後段のストレージ部3に読み出しコマンドをそのまま送り、読み出しアドレスに対応したファームウェアをストレージ部3から受け、プロセッサ1に送信する(S5−4)。   In the case of the privileged mode, the area determination unit 62 invalidates the invalidation unit 62a (S5-3), sends the read command to the subsequent storage unit 3 as it is, receives the firmware corresponding to the read address from the storage unit 3, and 1 (S5-4).

一方、非特権モードの場合、領域判断部62は、読み出し領域(範囲)の判断を行う(S5−5)。   On the other hand, in the case of the non-privileged mode, the area determination unit 62 determines the read area (range) (S5-5).

読み出し領域がモニタ領域362a外の場合、領域判断部62は、特権モードの場合と同様に、無効化部62aを無効にし(S5−3)、ストレージ部3から読み出されたファームウェアをプロセッサ1に送信する。読み出し領域がモニタ領域362a内の場合、領域判断部62は、無効化部62aを有効にし(S5−6)、ストレージ部3から読み出されたモニタ8を無効化部62aによって無効にし、プロセッサ1に送信する(S5−4)。   If the read area is outside the monitor area 362a, the area determination unit 62 invalidates the invalidation unit 62a (S5-3), and transmits the firmware read from the storage unit 3 to the processor 1, as in the case of the privileged mode. Send. When the read area is within the monitor area 362a, the area determination unit 62 enables the invalidation unit 62a (S5-6), invalidates the monitor 8 read from the storage unit 3 by the invalidation unit 62a, and (S5-4).

無効化部62aは、例えばデータバス7Dから得られるモニタ8の値と0値とのAND演算を行い、モニタ8の値を0に変換する回路である。無効化部62aにより、モニタ領域362aのモニタ8は、非特権モードで実質的に読み出し不可となり、モニタ8の秘匿性が確保される。   The invalidation unit 62a is a circuit that performs an AND operation between the value of the monitor 8 obtained from the data bus 7D and the 0 value, and converts the value of the monitor 8 to 0. Due to the invalidation unit 62a, the monitor 8 in the monitor area 362a becomes substantially unreadable in the non-privileged mode, and the confidentiality of the monitor 8 is secured.

なお、無効化部62aで用いられる無効化の手法は、モニタ8が実質的に読み出し不可となるならば他の手法が用いられてもよい。   Note that, as the invalidation method used in the invalidation unit 62a, another method may be used as long as the monitor 8 becomes substantially unreadable.

図6は、本実施形態に係るモニタ8の処理を例示するフローチャートである。   FIG. 6 is a flowchart illustrating the processing of the monitor 8 according to the present embodiment.

モニタ8は、プロセッサ1によって実行されると、操作検出部61に対し、プロテクト情報を変更可能に設定するための変更コマンドを送る(S6−1)。モニタ8が実行されている場合には、操作検出部61は、特権モード信号を検出するため、プロテクト情報の変更は無効化されない。   When executed by the processor 1, the monitor 8 sends a change command for setting the protect information to be changeable to the operation detecting unit 61 (S6-1). When the monitor 8 is running, the operation detection unit 61 detects the privilege mode signal, so that the change of the protection information is not invalidated.

次に、モニタ8は、起動時に用いられるファームウェアを格納している起動領域の切り替え依頼が、ファームウェアによって例えば共通領域361aに格納されているか否か判断する(S6−2)。   Next, the monitor 8 determines whether or not the request to switch the boot area storing the firmware used at the time of booting is stored in, for example, the common area 361a by the firmware (S6-2).

起動領域の切り替え依頼がある場合、又は、モニタ8が起動領域を切り替える必要があると判断した場合、モニタ8に含まれている検証機能は、予備ファームウェア領域362cの予備ファームウェア9の完全性を検証するとともに、共通領域361aに格納された起動領域の切り替え依頼を削除する(S6−3)。予備ファームウェア9は、予備ファームウェア領域362cから、プロセッサ1経由で、メモリ2へ格納され、例えば完全性及び真正性などが検証される。例えば、ファームウェアを切り替えたがこのファームウェアが正常に動作しないことをモニタ8が検出した場合、モニタ8は起動領域を切り替える必要があると判断する。   When there is a request to switch the boot area or when the monitor 8 determines that the boot area needs to be switched, the verification function included in the monitor 8 verifies the integrity of the auxiliary firmware 9 in the auxiliary firmware area 362c. At the same time, the request for switching the activation area stored in the common area 361a is deleted (S6-3). The preliminary firmware 9 is stored in the memory 2 from the preliminary firmware area 362c via the processor 1, and its integrity and authenticity are verified, for example. For example, when the monitor 8 detects that the firmware has been switched but this firmware does not operate normally, the monitor 8 determines that it is necessary to switch the startup area.

モニタ8は、予備ファームウェア10が検証OKの場合、モニタ専用領域361bに対して、起動領域の設定情報を、ファームウェア領域362bから予備ファームウェア領域362cへ変更する(S6−4)。   When the verification of the preliminary firmware 10 is OK, the monitor 8 changes the setting information of the activation region from the firmware region 362b to the preliminary firmware region 362c for the monitor-dedicated region 361b (S6-4).

モニタ8は、起動領域の切り替え依頼がない場合、予備ファームウェア領域362cの検証が検証NGの場合、又は、起動領域の設定が変更された場合、モニタ専用領域361bから、起動領域の設定情報を取得し、起動領域の設定情報を、指定部5に設定する(S6−5)。   The monitor 8 acquires the setting information of the boot area from the monitor-dedicated area 361b when there is no request to switch the boot area, when the verification of the spare firmware area 362c is verification NG, or when the setting of the boot area is changed. Then, the setting information of the start area is set in the specifying unit 5 (S6-5).

さらに、モニタ8は、情報管理部34に対して、起動領域のプロテクト情報を保護状態(書き込み禁止)とするなど、必要に応じてプロテクト情報の変更を指示する(S6−6)。   Further, the monitor 8 instructs the information management unit 34 to change the protection information as necessary, such as setting the protection information of the activation area to the protection state (write-protection) (S6-6).

以上の処理が完了された後、モニタ8は、リセットを行う(S6−7)。   After the above processing is completed, the monitor 8 performs a reset (S6-7).

上記の動作により、次回の起動時には、予備ファームウェア領域362cに格納されている検証済の予備ファームウェア10が書き込み禁止の状態で起動するか、又は、モニタ8が起動する。   By the above operation, at the next start-up, the verified spare firmware 10 stored in the spare firmware area 362c starts in a write-protected state, or the monitor 8 starts.

なお、リセットを行った結果、予備ファームウェア10が正常動作しないという可能性もあるため、モニタ8は、予備ファームウェア10の正常動作を確認した後にプロテクト情報を変更してもよい。正常動作は様々に定義可能である。例えば、IPアドレスが取得できた場合、サーバと通信が行えた場合、最新ファームウェアであることが確認できた場合に、正常動作が行われていると判断してもよい。この場合、モニタ8は、プロテクト情報の変更の前に、正常動作を検証する機能を含むとしてもよい。   In addition, as a result of the reset, there is a possibility that the spare firmware 10 does not operate normally. Therefore, the monitor 8 may change the protection information after confirming the normal operation of the spare firmware 10. Normal operation can be defined in various ways. For example, when the IP address can be obtained, when communication with the server is performed, or when the latest firmware is confirmed, it may be determined that the normal operation is performed. In this case, the monitor 8 may include a function of verifying normal operation before changing the protection information.

図7は、本実施形態に係る指定部5による起動領域の指定を例示するブロック図である。   FIG. 7 is a block diagram illustrating the designation of the activation area by the designation unit 5 according to the present embodiment.

不揮発性メモリ36は、モニタ領域362a、ファームウェア領域362b、予備ファームウェア領域362c、共通領域361a、モニタ専用領域361bなどの複数の領域に区切られている。   The nonvolatile memory 36 is divided into a plurality of areas such as a monitor area 362a, a firmware area 362b, a spare firmware area 362c, a common area 361a, and a monitor-only area 361b.

指定部5は、次の起動時に用いられる不揮発性メモリ36の領域を指定する。不揮発性メモリ36は、参照可能なリセットベクタ11a〜11cを格納している。リセットベクタ11aは、モニタ領域362aに対応する。リセットベクタ11bは、ファームウェア領域362bに対応する。リセットベクタ11cは、予備ファームウェア領域362cに対応する。起動時に指定部5によって指定されるリセットベクタを切り替えることで、起動領域を切り替える。起動領域の切り替えは、モニタ8によってのみ実行可能とする。   The specifying unit 5 specifies an area of the nonvolatile memory 36 to be used at the time of the next startup. The nonvolatile memory 36 stores reset vectors 11a to 11c that can be referred to. The reset vector 11a corresponds to the monitor area 362a. The reset vector 11b corresponds to the firmware area 362b. The reset vector 11c corresponds to the spare firmware area 362c. The startup area is switched by switching the reset vector specified by the specifying unit 5 at the time of startup. The switching of the activation area can be executed only by the monitor 8.

図8は、本実施形態に係る不揮発性メモリ36の領域とプロテクト情報との関係を例示する図である。   FIG. 8 is a diagram illustrating the relationship between the area of the nonvolatile memory 36 and the protection information according to the present embodiment.

不揮発性メモリ36は、領域E1〜ENを含む。プロテクト情報P1〜PNは、それぞれ領域E1〜ENに対応する。この図8において、プロテクト情報P1〜PNは、1ビットで構成され、保護状態を1、非保護状態を0のフラグで表す。   The non-volatile memory 36 includes areas E1 to EN. The protection information P1 to PN correspond to the areas E1 to EN, respectively. In FIG. 8, the protection information P1 to PN are composed of 1 bit, and the protected state is represented by a flag of 1 and the unprotected state is represented by a flag of 0.

コントローラ6の操作検出部61は、ストレージ部3に対する書き込みコマンドを直接制限しない。ストレージ部3は、書き込み禁止を判断するためのプロテクト情報P1〜PNを含み、プロテクト情報P1〜PNに基づいて書き込み及び消去を禁止する。操作検出部61は、このプロテクト情報P1〜PNをモニタ8だけが設定可能なように制限し、これにより実質的なストレージ部3に対する書き込み制限を実現している。具体的には、モニタ8は、ファームウェア9が起動する前に、起動領域としてのファームウェア領域362bを保護状態(書き込み禁止)とし、予備ファームウェア領域362cを非保護状態(書き込み可)とする。これにより、ファームウェア9の不正な更新が試みられた場合であっても、起動されたファームウェア9を格納する保護状態のファームウェア領域362bを更新することはできない。   The operation detection unit 61 of the controller 6 does not directly limit the write command to the storage unit 3. The storage unit 3 includes protect information P1 to PN for judging write prohibition, and prohibits writing and erasing based on the protect information P1 to PN. The operation detecting section 61 limits the protect information P1 to PN so that only the monitor 8 can set the protect information, thereby realizing a substantial write restriction on the storage section 3. Specifically, before the firmware 9 starts, the monitor 8 sets the firmware area 362b as a start area to a protected state (write-protected) and sets the spare firmware area 362c to an unprotected state (write-enabled). As a result, even if an unauthorized update of the firmware 9 is attempted, the protected firmware area 362b storing the activated firmware 9 cannot be updated.

保護状態の領域は、実行されているファームウェアに基づいて変更される。したがって、モニタ8は、適切なタイミングで、プロテクト情報P1〜PNを変更し、保護状態の領域を決定する。例えば、モニタ8は、ファームウェア起動のためのリセットに先立って、アクセス制御の設定を行う。   The protected area is changed based on the firmware being executed. Therefore, the monitor 8 changes the protection information P1 to PN at an appropriate timing, and determines a protected area. For example, the monitor 8 performs access control settings prior to resetting for firmware activation.

モニタ領域362aなどのような読み出しが制限される領域では、読み出しが制限される領域自体が識別可能であれば、領域内でアドレスが設定されなくてもよい。   In an area where reading is restricted, such as the monitor area 362a, an address need not be set in the area as long as the area itself in which reading is restricted can be identified.

図9は、本実施形態に係る特権モードと非特権モードとの遷移を例示する状態遷移図である。   FIG. 9 is a state transition diagram illustrating a transition between the privileged mode and the non-privileged mode according to the present embodiment.

この図9において、表記「ROM」は、指定部5がモニタ領域362aを指定する場合を示す。表記「FW」は、指定部5がファームウェア領域362bを指定する場合を示す。   In FIG. 9, the notation “ROM” indicates a case where the specifying unit 5 specifies the monitor area 362a. The notation “FW” indicates a case where the specifying unit 5 specifies the firmware area 362b.

電源がONされると、モニタ8が実行される。   When the power is turned on, the monitor 8 is executed.

モニタ8実行中(特権モード信号の出力中)にリセットが発生し、指定部5がモニタ領域362aを指定している場合、モニタ8が実行される。   When a reset occurs during execution of the monitor 8 (during output of the privileged mode signal) and the specifying unit 5 specifies the monitor area 362a, the monitor 8 is executed.

モニタ8実行中にリセットが発生し、指定部5がファームウェア領域362bを指定している場合、ファームウェア9が実行される。   When a reset occurs during execution of the monitor 8 and the specifying unit 5 specifies the firmware area 362b, the firmware 9 is executed.

ファームウェア9実行中(非特権モード信号の出力中)にリセットが発生し、指定部5がモニタ領域362aを指定している場合、モニタ8が実行される。   When a reset occurs during execution of the firmware 9 (during output of the non-privileged mode signal) and the specifying unit 5 specifies the monitor area 362a, the monitor 8 is executed.

ファームウェア9実行中にリセットが発生し、指定部5がファームウェア領域362bを指定している場合であっても、モニタ8が実行される。   Even if a reset occurs during execution of the firmware 9 and the specifying unit 5 specifies the firmware area 362b, the monitor 8 is executed.

電源は、モニタ8実行中又はファームウェア9実行中に、OFF可能である。   The power can be turned off while the monitor 8 or the firmware 9 is running.

リセットされた直後に、指定部5は、モニタ領域362aに対応するリセットベクタ11aを指定する。すると、信号生成部4は、特権モード信号をコントローラ6へ送信する。特権モード信号は、リセットが生じるまで、つまりモニタ8が動作している間、出力され続ける。   Immediately after the reset, the specifying unit 5 specifies the reset vector 11a corresponding to the monitor area 362a. Then, the signal generation unit 4 transmits a privileged mode signal to the controller 6. The privileged mode signal continues to be output until a reset occurs, that is, while the monitor 8 is operating.

以下で、本実施形態で実現されるファームウェア9の保護を説明する。まず、図10及び図11を用いてそれぞれ一般的な情報処理装置100のファームウェア更新の例と不正なファームウェア更新の例とを説明し、次に、図12を用いて本実施形態に係るソフトウェアの保護を説明する。   Hereinafter, protection of the firmware 9 implemented in the present embodiment will be described. First, an example of a firmware update of a general information processing apparatus 100 and an example of an unauthorized firmware update will be described with reference to FIGS. 10 and 11, respectively. Next, with reference to FIG. Explain protection.

図10は、一般的な情報処理装置のソフトウェア更新を例示するブロック図である。   FIG. 10 is a block diagram illustrating a software update of a general information processing apparatus.

プロセッサ12は、不揮発性メモリ13におけるファームウェア領域13bに格納されているファームウェア14をXIP(eXecute In Place)により不揮発性メモリ13から直接実行し、又は、メモリに一時格納されたファームウェア14を実行する(OP1−1)。ファームウェア14の脆弱性発見などにより、ファームウェア14の更新が発生した場合には、ファームウェア14の更新機能14aは、起動されているファームウェア14を更新して得られる予備ファームウェア15を、予備ファームウェア領域13cに格納する(OP1−2)。情報処理装置は、例えば、ネットワーク経由で、USB(Universal Serial Bus)メモリから、又は、UART(Universal Asynchronous Receiver Transmitter)経由で、予備ファームウェア13cを受け、予備ファームウェア15を予備ファームウェア領域13cに格納してもよい。その後、現在実行されているファームウェア14は、起動領域をファームウェア領域13bから予備ファームウェア領域13cへ切り替え、再起動を行う(OP1−3)。これにより、再起動後は、脆弱性が修正された予備ファームウェア15がプロセッサ12によって実行される(OP1−4)。   The processor 12 directly executes the firmware 14 stored in the firmware area 13b in the nonvolatile memory 13 from the nonvolatile memory 13 by XIP (eXecute In Place), or executes the firmware 14 temporarily stored in the memory ( OP1-1). When the firmware 14 is updated due to the discovery of a vulnerability of the firmware 14 or the like, the update function 14a of the firmware 14 stores the spare firmware 15 obtained by updating the activated firmware 14 in the spare firmware area 13c. It is stored (OP1-2). The information processing device receives the preliminary firmware 13c via a network, from a USB (Universal Serial Bus) memory, or via a UART (Universal Asynchronous Receiver Transmitter), and stores the preliminary firmware 15 in the preliminary firmware area 13c. Is also good. Thereafter, the currently executing firmware 14 switches the boot area from the firmware area 13b to the spare firmware area 13c, and performs a restart (OP1-3). As a result, after the restart, the spare firmware 15 whose vulnerability has been corrected is executed by the processor 12 (OP1-4).

図11は、一般的な情報処理装置の不正なファームウェア更新を例示するブロック図である。   FIG. 11 is a block diagram illustrating an illegal firmware update of a general information processing apparatus.

ファームウェア14がプロセッサ12によって起動され(OP2−1)、起動されたファームウェア14に脆弱性があると、ファームウェア14は攻撃者によって不正に改竄され、不正な処理を実行する場合がある(OP2−2)。不正なファームウェア16は、例えばバックドアなどのような不正なファームウェア16をファームウェア領域13bに格納し(OP2−3)、再起動を行う(OP2−4)。これにより、再起動後、ファームウェア領域13bに格納されている不正なファームウェア16が実行される(OP2−5)。また、例えば、不正なファームウェア16は、予備ファームウェア領域13cに不正なファームウェア16を格納し、予備ファームウェア領域13cに格納されている不正なファームウェア16を起動するように改竄されることも想定される。   If the firmware 14 is activated by the processor 12 (OP2-1) and the activated firmware 14 is vulnerable, the firmware 14 may be tampered with by an attacker to execute an illegal process (OP2-2). ). The unauthorized firmware 16 stores the unauthorized firmware 16 such as a back door in the firmware area 13b (OP2-3) and restarts (OP2-4). Thus, after the restart, the unauthorized firmware 16 stored in the firmware area 13b is executed (OP2-5). Further, for example, it is also assumed that the unauthorized firmware 16 is tampered with storing the unauthorized firmware 16 in the spare firmware area 13c and activating the unauthorized firmware 16 stored in the spare firmware area 13c.

攻撃者は、脆弱な状況を維持することを考え、ファームウェア14の更新機能14aをプロセッサ12でなにも実行しないNOP命令で上書きし、又は、ファームウェア14の更新機能をジャンプ命令でスキップさせる可能性がある。この場合には、不正なファームウェア16の動作が繰り返され、元の健全なファームウェアへ戻すことが困難である。また、ファームウェアの破壊を目的として、攻撃者が不揮発性メモリ12の全領域を書き換える場合がある。また、攻撃者がブートプログラムの格納される領域を破壊することにより、情報処理装置が起動不可となる場合がある。   In order to maintain the vulnerable situation, the attacker may overwrite the update function 14a of the firmware 14 with a NOP instruction that does not execute anything on the processor 12, or may skip the update function of the firmware 14 with a jump instruction. There is. In this case, the operation of the illegal firmware 16 is repeated, and it is difficult to return to the original sound firmware. Further, an attacker may rewrite the entire area of the nonvolatile memory 12 for the purpose of destroying the firmware. Further, there is a case where the information processing apparatus cannot be started by an attacker destroying the area where the boot program is stored.

図12は、本実施形態に係る情報処理装置100のファームウェア更新を例示するブロック図である。   FIG. 12 is a block diagram illustrating a firmware update of the information processing apparatus 100 according to the present embodiment.

本実施形態に係るファームウェア更新では、モニタ8と呼ばれる信頼できるファームウェアが各種処理を実行し、次に起動されるファームウェアが正当か判断する点で、上記図10及び図11のファームウェア更新と相違する。   The firmware update according to the present embodiment is different from the firmware update of FIGS. 10 and 11 in that a reliable firmware called a monitor 8 executes various processes and determines whether the firmware to be started next is valid.

プロセッサ1により、ファームウェア領域362bに格納されているファームウェア9が起動される(OP3−1)。その後、更新機能9aが、予備ファームウェア領域362cに予備ファームウェア10を格納する(OP3−2)。そして、ユーザが情報処理装置100に対してリセット信号を入力すると、指定部5が起動領域としてモニタ領域362aを指定する。   The processor 9 activates the firmware 9 stored in the firmware area 362b (OP3-1). Thereafter, the update function 9a stores the spare firmware 10 in the spare firmware area 362c (OP3-2). Then, when the user inputs a reset signal to the information processing apparatus 100, the specifying unit 5 specifies the monitor area 362a as the activation area.

リセット後、プロセッサ1は、モニタ領域362aに格納されているモニタ8を起動する(OP3−3)。   After the reset, the processor 1 activates the monitor 8 stored in the monitor area 362a (OP3-3).

モニタ8の完全性検証機能は、予備ファームウェア領域362cに格納されている予備ファームウェア10を検証し、完全性と真正性が確保されているか否かを判断する。   The integrity verification function of the monitor 8 verifies the spare firmware 10 stored in the spare firmware area 362c and determines whether the integrity and authenticity are secured.

モニタ8は、完全性と真正性が確保されている場合、ファームウェア領域362bを書き込み可能に設定し、予備ファームウェア領域362cを書き込み禁止に設定する。次に、モニタ8は、起動領域をファームウェア領域362bから予備ファームウェア領域362cに変更し、再度リセットを行う。すると、予備ファームウェア領域362cに格納されている正常な予備ファームウェア10が起動される(OP3−4)。これにより、不正なファームウェアによる不揮発性メモリ36に対する改竄を防止することができ、安全なファームウェア更新を実現することができる。   When the integrity and authenticity are ensured, the monitor 8 sets the firmware area 362b to be writable and sets the spare firmware area 362c to be write-protected. Next, the monitor 8 changes the boot area from the firmware area 362b to the spare firmware area 362c, and resets again. Then, the normal spare firmware 10 stored in the spare firmware area 362c is activated (OP3-4). As a result, it is possible to prevent the non-volatile memory 36 from being tampered with by unauthorized firmware, and to implement safe firmware updating.

以上説明した本実施形態においては、ファームウェアを安全に更新することができ、情報処理装置100がリセットされると、正常なファームウェアが立ち上がることを保証することができる。   In the present embodiment described above, the firmware can be updated safely, and when the information processing apparatus 100 is reset, it is possible to guarantee that the normal firmware starts up.

本実施形態に係るファームウェア更新は、モニタ8が動作している間は、非特権モードから特権モードに遷移し、特別な処理を実行可能となる特徴を持つ。具体的には、特権モードの時だけ、保護領域及び非保護領域の設定(プロテクト情報)と起動領域の設定との変更とが許可される。これにより、たとえ異常状態のファームウェアが更新機能を悪用し、プロテクト情報を改竄し、予備ファームウェア領域362cの改竄を試みた場合であっても、ファームウェア領域362bの書き込み禁止属性が解除されず、この改竄は操作検出部61によりブロックされ、ファームウェア領域362bに格納されているファームウェア9が更新されることはない。モニタ8は、ファームウェア9が起動する前に、ファームウェア領域362bに対応するプロテクト情報を保護状態とすることで、起動中のファームウェア9を更新不可とすることが可能となる。予備ファームウェア領域362cに対しては、ファームウェア9の動作に基づいて自由に書き込み可能である。しかしながら、ファームウェア9の動作に基づいて起動領域は変更されない。このため、再起動により直前に起動された正常なファームウェア9が起動されることを保証することができる。   The firmware update according to the present embodiment is characterized in that while the monitor 8 is operating, a transition is made from the non-privileged mode to the privileged mode, and special processing can be executed. Specifically, only in the privileged mode, the setting of the protected area and the non-protected area (protection information) and the change of the setting of the activation area are permitted. As a result, even if the abnormal firmware abuse the update function, falsify the protection information, and attempt to falsify the spare firmware area 362c, the write-protection attribute of the firmware area 362b is not released, and this falsification is not performed. Is blocked by the operation detection unit 61, and the firmware 9 stored in the firmware area 362b is not updated. Before the firmware 9 starts, the monitor 8 sets the protection information corresponding to the firmware area 362b to the protection state, thereby making it impossible to update the running firmware 9. The spare firmware area 362c can be freely written based on the operation of the firmware 9. However, the activation area is not changed based on the operation of the firmware 9. For this reason, it is possible to guarantee that the normal firmware 9 started immediately before is started by the restart.

モニタ8は、予備ファームウェア領域362cに格納されている予備ファームウェア10を、予備ファームウェア10の検証を経た後にのみ有効化することができる。例えば、予備ファームウェア領域362cに不正な予備ファームウェアが格納された場合であっても、モニタ8の検証により不正な予備ファームウェアの起動を防止することができる。   The monitor 8 can activate the spare firmware 10 stored in the spare firmware area 362c only after the verification of the spare firmware 10. For example, even if the illegal spare firmware is stored in the spare firmware area 362c, the activation of the illegal spare firmware can be prevented by verifying the monitor 8.

本実施形態においては、脆弱性により異常状態となったファームウェア9が、例えばモニタ8の読み出しを試みた場合でも、領域判断部62により読み出されたモニタ8の無効化が行われるため、モニタ8を秘匿することができる。   In the present embodiment, even when the firmware 9 in an abnormal state due to vulnerability attempts to read the monitor 8, for example, the monitor 8 read by the area determination unit 62 is invalidated. Can be kept secret.

本実施形態で説明された各種の処理の順序又は構成は、適宜変更されてもよい。例えば、ストレージ部3とコントローラ6は、別モジュールとして分離されているが、同様の機能を備えていれば、一体のモジュールとして構成されていてもよい。また、例えば書き込み通信部31、読み出し通信部32は、アクセス制御部33に内蔵されていてもよい。信号生成部4と指定部5とのうちの少なくとも一方は、コントローラ6に含まれてもよい。   The order or configuration of various processes described in the present embodiment may be appropriately changed. For example, the storage unit 3 and the controller 6 are separated as separate modules, but may be configured as an integrated module as long as they have similar functions. Further, for example, the write communication unit 31 and the read communication unit 32 may be built in the access control unit 33. At least one of the signal generation unit 4 and the designation unit 5 may be included in the controller 6.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are provided by way of example and are not intended to limit the scope of the invention. These new embodiments can be implemented in other various forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and their equivalents.

100…情報処理装置、1…プロセッサ、2…メモリ、3…ストレージ部、4…信号生成部、5…指定部、6…コントローラ、71〜74…バス、31…書き込み通信部、32…読み出し通信部、33…アクセス制御部、34…情報管理部、35…アクセス部、36…不揮発性メモリ、361…データ領域、361a…共通領域、361b…モニタ専用領域、362…起動パーティション領域、362a…モニタ領域、362b…ファームウェア領域、362c…予備ファームウェア領域、8…モニタ、9…ファームウェア、10…予備ファームウェア、61…操作検出部、62…領域判断部、61a…リセット部、62b…無効化部、11a〜11c…リセットベクタ、E1〜EN…領域、P1〜PN…プロテクト情報、9a…更新機能。   REFERENCE SIGNS LIST 100 information processing device, 1 processor, 2 memory, 3 storage unit, 4 signal generation unit, 5 designation unit, 6 controller, 71-74 bus, 31 write communication unit, 32 read communication Unit, 33 access control unit, 34 information management unit, 35 access unit, 36 nonvolatile memory, 361 data area, 361a common area, 361b monitor dedicated area, 362 boot partition area, 362a monitor Area, 362b: firmware area, 362c: spare firmware area, 8: monitor, 9: firmware, 10: spare firmware, 61: operation detection section, 62: area determination section, 61a: reset section, 62b: invalidation section, 11a ... 11c... Reset vector, E1 .about.EN... Area, P1 .about.PN... Protect information, 9a.

Claims (27)

プロセッサと、
第1のソフトウェアと、前記第1のソフトウェアに代えて用いられる第2のソフトウェアと、前記第2のソフトウェアを検証するための第3のソフトウェアとを具備する不揮発性メモリと、
前記第1のソフトウェアが前記プロセッサによって実行されている場合に、前記不揮発性メモリにおいて前記第1のソフトウェアを格納する第1の領域に対する書き込みを禁止する制御部と、
前記プロセッサで実行されるソフトウェアを指定する指定部と、
前記制御部に対する設定を許可する信号を生成する信号生成部と、
を具備し、
前記信号生成部は、前記プロセッサの再起動において前記指定部が前記第3のソフトウェアの実行を指定するときに限り前記制御部への前記信号の出力を開始し、
前記第3のソフトウェアは、前記プロセッサによって実行された場合に前記第2のソフトウェアを検証し、前記第2のソフトウェアが正当の場合に前記指定部に対して前記第2のソフトウェアを設定し、
前記プロセッサは、前記信号の出力停止後、前記指定部によって指定された前記第1のソフトウェア又は前記第2のソフトウェアを実行する、
ことを特徴とする情報処理装置。
A processor,
A non-volatile memory including first software, second software used in place of the first software, and third software for verifying the second software;
A control unit that, when the first software is executed by the processor, prohibits writing to a first area storing the first software in the nonvolatile memory;
A specification unit that specifies software to be executed by the processor;
A signal generation unit that generates a signal that permits setting for the control unit;
With
The signal generating unit starts outputting the signal to the control unit only when the specifying unit specifies the execution of the third software in restarting the processor,
The third software verifies the second software when executed by the processor, and sets the second software to the designation unit when the second software is valid;
The processor executes the first software or the second software specified by the specifying unit after stopping the output of the signal.
An information processing apparatus characterized by the above-mentioned.
前記第3のソフトウェアは、前記プロセッサによって実行された場合に前記第2のソフトウェアを検証し、前記第2のソフトウェアが正当の場合に前記指定部に対して前記第2のソフトウェアを設定した後に再起動を行い、
前記信号生成部は、前記第2のソフトウェアが再起動を行った場合に前記制御部への前記信号の出力を終了する、
請求項1の情報処理装置。
The third software verifies the second software when executed by the processor, and reconfigures the second software with respect to the designation unit if the second software is valid, and then re-executes the second software. Start up,
The signal generation unit ends the output of the signal to the control unit when the second software restarts,
The information processing device according to claim 1.
プロセッサと、
第1のソフトウェアと、前記第1のソフトウェアに代えて用いられる第2のソフトウェアと、前記第2のソフトウェアを検証するための第3のソフトウェアとを具備する不揮発性メモリと、
起動時に前記プロセッサで実行されるソフトウェアを指定する指定部と、
前記第1のソフトウェアが前記プロセッサによって実行されている場合に、前記不揮発性メモリにおいて前記第1のソフトウェアを格納する第1の領域に対する書き込みを禁止する制御部と、
を具備し、
前記第3のソフトウェアは、前記プロセッサによって実行された場合に、起動時に実行されるソフトウェアの切り替え依頼が前記第1のソフトウェアによって生成されたか否か判断し、前記切り替え依頼が生成されている場合に、前記第2のソフトウェアを検証し、前記第2のソフトウェアが正当の場合に、前記指定部に対して前記第2のソフトウェアを設定する、
情報処理装置。
A processor,
A non-volatile memory including first software, second software used in place of the first software, and third software for verifying the second software;
A specification unit that specifies software to be executed by the processor at the time of startup;
A control unit that, when the first software is executed by the processor, prohibits writing to a first area storing the first software in the nonvolatile memory;
With
When the third software is executed by the processor, the third software determines whether a request for switching software executed at startup is generated by the first software, and determines whether the request for switching is generated by the first software. Verifying the second software, and, if the second software is valid, setting the second software in the designation unit;
Information processing device.
前記第3のソフトウェアは、前記プロセッサによって実行された場合に、前記第3のソフトウェアが切り替えが必要であると判断すると、前記第2のソフトウェアを検証し、前記第2のソフトウェアが正当の場合に、前記指定部に対して前記第2のソフトウェアを設定する、
請求項3の情報処理装置。
When the third software is executed by the processor and determines that the third software needs to be switched, the third software verifies the second software, and if the second software is valid, Setting the second software for the designation unit;
The information processing device according to claim 3.
前記第3のソフトウェアは、
前記第2のソフトウェアが正当の場合に、さらに、前記制御部に対して、前記不揮発性メモリにおいて前記第2のソフトウェアを格納する第2の領域に対する書き込みを禁止することを指示する、
請求項3又は請求項4の情報処理装置。
The third software is
When the second software is valid, further instructs the control unit to prohibit writing to a second area storing the second software in the nonvolatile memory;
The information processing apparatus according to claim 3 or 4.
前記第1の領域、及び、前記第2の領域は、前記プロセッサが直接実行可能かつ書き換え可能な領域である、
請求項5の情報処理装置。
The first area and the second area are areas that can be directly executed and rewritten by the processor.
The information processing device according to claim 5.
前記プロセッサによって実行される対象が前記第3のソフトウェアの場合に、所定の信号を生成する信号生成部をさらに具備する、
請求項3乃至請求項6のいずれか1項の情報処理装置。
When the object to be executed by the processor is the third software, the apparatus further comprises a signal generation unit that generates a predetermined signal.
The information processing apparatus according to claim 3.
前記制御部は、
前記信号が生成されているか否か判断し、
前記信号が生成されている場合に、前記不揮発性メモリに含まれる複数の領域に対して書き込み可能か否かを表すプロテクト情報の変更を許可し、
前記信号が生成されていない場合に、前記プロテクト情報の変更を禁止する、
請求項1又は請求項2の情報処理装置。
The control unit includes:
Determining whether the signal has been generated,
When the signal has been generated, permit change of protection information indicating whether or not writable to a plurality of areas included in the nonvolatile memory,
When the signal is not generated, prohibits the change of the protection information,
The information processing apparatus according to claim 1.
前記信号が生成されていない場合に前記プロテクト情報の変更が依頼されると、前記変更の依頼を無効化するリセット部をさらに具備する、請求項8の情報処理装置。   The information processing apparatus according to claim 8, further comprising a reset unit that invalidates the change request when the change of the protect information is requested when the signal is not generated. 前記信号が生成されていない場合に、前記第3のソフトウェアが前記不揮発性メモリから読み出されることを禁止する読み出し制御部をさらに具備する、
請求項1、2、8、9のうちのいずれか1項の情報処理装置。
A read control unit that prohibits the third software from being read from the nonvolatile memory when the signal is not generated;
The information processing apparatus according to any one of claims 1 , 2, 8, and 9 .
読み出し制御部は、前記信号が生成されていない場合に前記第3のソフトウェアが読み出されると、前記第3のソフトウェアの値をゼロに変換する無効化部を具備する、
請求項10の情報処理装置。
The read control unit includes an invalidating unit that converts a value of the third software to zero when the third software is read when the signal is not generated,
The information processing apparatus according to claim 10.
前記制御部と前記読み出し制御部とは、ラッピングされたロジック部に含まれており、
前記不揮発性メモリは、コマンド受信バスを用いて、前記プロセッサから前記ロジック部経由でコマンドを受信し、
前記不揮発性メモリは、ソフトウェア送信バスを用いて、前記プロセッサから前記ロジック部経由でアドレスを受信し、前記不揮発性メモリから前記ロジック部経由で前記第1乃至第3のソフトウェアのうち前記アドレスに対応するソフトウェアを送信し、
前記不揮発性メモリにおいて前記第3のソフトウェアを格納する第3の領域は、書き込み不可である、
請求項10又は請求項11の情報処理装置。
The control unit and the read control unit are included in a wrapped logic unit,
The nonvolatile memory receives a command from the processor via the logic unit using a command reception bus,
The non-volatile memory receives an address from the processor via the logic unit using a software transmission bus, and corresponds to the address of the first to third software from the non-volatile memory via the logic unit. Send software to
A third area for storing the third software in the nonvolatile memory is not writable;
The information processing apparatus according to claim 10.
前記不揮発性メモリは、前記第1の領域と第2の領域と第3の領域とを具備し、前記第2の領域は前記第2のソフトウェアを格納し、前記第3の領域は第3のソフトウェアを格納し、前記第1及び第2の領域は、前記第1の領域における前記第1のソフトウェアと前記第2の領域における前記第2のソフトウェアとが直接実行可能な領域であり、前記プロセッサによって書き換え可能であり、前記第3の領域は、前記第3の領域における前記第3のソフトウェアが前記第1及び第2のソフトウェアによって書き換え可能ではない領域であり、
前記制御部は、前記第1及び第2の領域のそれぞれに対する書き込み許可状態又は書き込み禁止状態を制御し、
前記第1のソフトウェアが前記プロセッサによって実行される場合に、前記第1のソフトウェアは、前記第2の領域に格納されている前記第2のソフトウェアを更新し、
前記第3のソフトウェアは、前記第3のソフトウェアによる検証の結果において前記第2のソフトウェアが正当の場合に前記指定部に対して前記第1のソフトウェアに代えて前記第2のソフトウェアを設定し、前記制御部に対して前記第1の領域に関する前記書き込み許可状態と前記第2の領域に関する前記書き込み禁止状態とを設定する、
請求項1、2、8、9のうちのいずれか1項の情報処理装置。
The nonvolatile memory includes the first area, the second area, and a third area, the second area stores the second software, and the third area is a third area. Software, wherein the first and second areas are areas where the first software in the first area and the second software in the second area can be directly executed, The third area is an area in which the third software in the third area is not rewritable by the first and second software,
The control unit controls a write permission state or a write inhibition state for each of the first and second areas,
When the first software is executed by the processor, the first software updates the second software stored in the second area;
The third software sets the second software in place of the first software for the designation unit when the second software is valid as a result of the verification by the third software, Setting the write permission state for the first area and the write inhibition state for the second area for the control unit;
The information processing apparatus according to claim 1.
前記第3のソフトウェアは、
前記第3のソフトウェアが前記プロセッサによって実行された場合に、起動時に実行されるソフトウェアの切り替え依頼が前記第1のソフトウェアによって生成されたか否か判断し、前記切り替え依頼が生成された場合に、前記第2のソフトウェアを検証する、
請求項13の情報処理装置。
The third software is
When the third software is executed by the processor, it is determined whether or not a request to switch software to be executed at startup is generated by the first software. Verify the second software,
The information processing apparatus according to claim 13.
前記第3のソフトウェアによる前記検証の結果において前記第2のソフトウェアが正当の場合、前記第3のソフトウェアは、前記制御部に対して、前記第2のソフトウェアを格納する前記不揮発性メモリの前記第2の領域に対する書き込みを禁止することを指示する、
請求項14の情報処理装置。
If the result of the verification by the third software indicates that the second software is valid, the third software instructs the control unit to store the second software in the nonvolatile memory that stores the second software. Indicating that writing to the area 2 is prohibited,
The information processing apparatus according to claim 14.
前記プロセッサは、装置の起動又はリセットに基づいて前記第3のソフトウェアを実行し、
前記信号生成部は、前記プロセッサによる前記第3のソフトウェアの実行中、前記信号を生成する、
請求項15の情報処理装置。
The processor executes the third software based on activation or reset of the device;
The signal generation unit generates the signal during execution of the third software by the processor.
The information processing device according to claim 15.
前記不揮発性メモリは、第1の不揮発性メモリと第2の不揮発性メモリとを具備し、
前記第1の不揮発性メモリは、前記第1の領域及び前記第2の領域を具備し、
前記第2の不揮発性メモリは、前記第3の領域を具備し、
前記第2の不揮発性メモリは、前記第3のソフトウェアを格納し、前記第1の不揮発性メモリに含まれているか、又は、前記第1の不揮発性メモリとは別であり、
前記制御部は、前記信号の受信が停止された場合に、前記第3のソフトウェアが前記第2の不揮発性メモリから読み出されることを禁止する、
請求項16の情報処理装置。
The nonvolatile memory includes a first nonvolatile memory and a second nonvolatile memory,
The first nonvolatile memory includes the first area and the second area,
The second nonvolatile memory includes the third area,
The second nonvolatile memory stores the third software, and is included in the first nonvolatile memory, or is different from the first nonvolatile memory,
The control unit prohibits the third software from being read from the second nonvolatile memory when the reception of the signal is stopped,
The information processing device according to claim 16.
前記制御部は、前記信号が生成されておらず、前記第3のソフトウェアが読み出された場合に、前記第3のソフトウェアの値をゼロに変換する、
請求項17の情報処理装置。
The control unit converts the value of the third software to zero when the signal is not generated and the third software is read,
The information processing device according to claim 17.
前記第1の不揮発性メモリ及び前記第2の不揮発性メモリは、コマンド受信バスを用いて、前記プロセッサから前記制御部経由でコマンドを受信し、
前記第1の不揮発性メモリ及び前記第2の不揮発性メモリは、ソフトウェア送信バスを使用して、前記プロセッサから前記制御部経由でアドレスを受信し、前記制御部経由で前記プロセッサに対して前記アドレスに対応する前記第1乃至第3のソフトウェアのうちの1つを送信し、
前記第3のソフトウェアを格納する前記第2の不揮発性メモリは、書き込み禁止である、
請求項17の情報処理装置。
The first nonvolatile memory and the second nonvolatile memory receive a command from the processor via the control unit using a command receiving bus,
The first nonvolatile memory and the second nonvolatile memory receive an address from the processor via the control unit using a software transmission bus, and receive the address from the processor via the control unit. Transmitting one of the first to third software corresponding to
The second non-volatile memory storing the third software is write-protected,
The information processing device according to claim 17.
前記第3の領域は、前記不揮発性メモリに含まれている書き換え禁止領域である、
請求項13の情報処理装置。
The third area is a non-rewritable area included in the nonvolatile memory.
The information processing apparatus according to claim 13.
前記第2のソフトウェアが前記プロセッサによって実行される場合、前記第1のソフトウェアは、前記プロセッサによって実行されない、
請求項13の情報処理装置。
If the second software is executed by the processor, the first software is not executed by the processor;
The information processing apparatus according to claim 13.
前記第3のソフトウェアによる前記検証の結果において前記第2のソフトウェアが正当の場合、前記指定部は、前記第2のソフトウェアを指定し、
前記第2のソフトウェアが前記プロセッサによって実行された場合に、前記第1のソフトウェアは、前記プロセッサによって実行されない、
請求項13の情報処理装置。
When the second software is valid in the result of the verification by the third software, the specifying unit specifies the second software,
When the second software is executed by the processor, the first software is not executed by the processor;
The information processing apparatus according to claim 13.
情報処理装置の制御方法において、
前記情報処理装置は、
プロセッサと、
第1のソフトウェアと、前記第1のソフトウェアに代えて用いられる第2のソフトウェアと、前記第2のソフトウェアを検証するための第3のソフトウェアとを具備する不揮発性メモリと、
前記不揮発性メモリに対する読み出し及び書き込みを制御する制御部と、
前記プロセッサで実行されるソフトウェアを指定する指定部と、
前記制御部に対する設定を許可する信号を生成する信号生成部と、
を具備し、
前記制御部が、前記第1のソフトウェアが前記プロセッサによって実行されている場合に、前記不揮発性メモリにおいて前記第1のソフトウェアを格納する第1の領域に対する書き込みを禁止することと、
前記信号生成部が、前記プロセッサの再起動において前記指定部が前記第3のソフトウェアの実行を指定するときに限り前記制御部への前記信号の出力を開始することと、
前記プロセッサによって実行された前記第3のソフトウェアが、前記第2のソフトウェアを検証し、前記第2のソフトウェアが正当の場合に、前記指定部に対して前記第2のソフトウェアを設定することと、
前記プロセッサが、前記信号の出力停止後、前記指定部によって指定された前記第1のソフトウェア又は前記第2のソフトウェアを実行すること、
を具備する、制御方法。
In the control method of the information processing device,
The information processing device,
A processor,
A non-volatile memory including first software, second software used in place of the first software, and third software for verifying the second software;
A control unit that controls reading and writing to the nonvolatile memory;
A specification unit that specifies software to be executed by the processor;
A signal generation unit that generates a signal that permits setting for the control unit;
With
The control unit, when the first software is executed by the processor, prohibits writing to a first area storing the first software in the nonvolatile memory;
The signal generation unit starts outputting the signal to the control unit only when the designation unit designates the execution of the third software in restarting the processor;
The third software executed by the processor verifies the second software, and, if the second software is valid, setting the second software in the designation unit;
The processor executes the first software or the second software specified by the specifying unit after stopping the output of the signal.
A control method comprising:
前記不揮発性メモリは、前記第1の領域と第2の領域と第3の領域とを具備し、前記第2の領域は前記第2のソフトウェアを格納し、前記第3の領域は第3のソフトウェアを格納し、前記第1及び第2の領域は、前記第1の領域における前記第1のソフトウェアと前記第2の領域における前記第2のソフトウェアとが直接実行可能な領域であり、前記プロセッサによって書き換え可能であり、前記第3の領域は、前記第3の領域における前記第3のソフトウェアが前記第1及び第2のソフトウェアによって書き換え可能ではない領域であり、
前記制御部は、前記第1及び第2の領域のそれぞれに対する書き込み許可状態又は書き込み禁止状態を制御し、
前記制御方法は、
前記制御部によって、前記第1のソフトウェアを格納する前記不揮発性メモリの前記第1の領域を、前記第1のソフトウェアが前記プロセッサによって実行されている間、書き込み禁止とすることと、
前記第1のソフトウェアが前記プロセッサによって実行される場合に、前記第1のソフトウェアによって、前記第2の領域に格納されている前記第2のソフトウェアを更新することと、
前記第3のソフトウェアによって、前記第3のソフトウェアによる検証の結果において前記第2のソフトウェアが正当の場合に前記指定部に対して前記第1のソフトウェアに代えて前記第2のソフトウェアを設定することと、前記制御部に対して前記第1の領域に関する前記書き込み許可状態と前記第2の領域に関する前記書き込み禁止状態とを設定することと、
を具備する、
請求項23の制御方法。
The nonvolatile memory includes the first area, the second area, and a third area, the second area stores the second software, and the third area is a third area. Software, wherein the first and second areas are areas where the first software in the first area and the second software in the second area can be directly executed, The third area is an area in which the third software in the third area is not rewritable by the first and second software,
The control unit controls a write permission state or a write inhibition state for each of the first and second areas,
The control method includes:
The control unit causes the first area of the nonvolatile memory storing the first software to be write-protected while the first software is being executed by the processor;
Updating the second software stored in the second area by the first software when the first software is executed by the processor;
Setting, by the third software, the second software in place of the first software in the designation unit when the second software is valid as a result of the verification by the third software; Setting the write permission state for the first area and the write inhibition state for the second area for the control unit;
Comprising,
A control method according to claim 23.
前記第3のソフトウェアは、
前記第3のソフトウェアが前記プロセッサによって実行された場合に、起動時に実行されるソフトウェアの切り替え依頼が前記第1のソフトウェアによって生成されたか否か判断し、
前記切り替え依頼が生成された場合に、前記第2のソフトウェアを検証し、
前記第2のソフトウェアが正当の場合に、前記指定部に対して前記第2のソフトウェアを設定する、
請求項24の制御方法。
The third software is
When the third software is executed by the processor, it is determined whether or not a request to switch software to be executed at startup is generated by the first software;
Verifying the second software when the switching request is generated,
When the second software is valid, setting the second software in the designation unit;
The control method according to claim 24.
前記第3のソフトウェアは、前記第2のソフトウェアが正当の場合、前記制御部に対して、前記第2のソフトウェアを格納する前記不揮発性メモリの前記第2の領域に対する書き込みを禁止することを指示する、
請求項25の制御方法。
The third software, when the second software is valid, instructs the control unit to prohibit writing to the second area of the nonvolatile memory storing the second software. Do
The control method according to claim 25.
前記第2のソフトウェアが前記プロセッサによって実行される場合、前記第1のソフトウェアは、前記プロセッサによって実行されない、
請求項24の制御方法。
If the second software is executed by the processor, the first software is not executed by the processor;
The control method according to claim 24.
JP2019031808A 2019-02-25 2019-02-25 Information processing apparatus and information processing apparatus control method Active JP6652669B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019031808A JP6652669B2 (en) 2019-02-25 2019-02-25 Information processing apparatus and information processing apparatus control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019031808A JP6652669B2 (en) 2019-02-25 2019-02-25 Information processing apparatus and information processing apparatus control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015150589A Division JP2017033149A (en) 2015-07-30 2015-07-30 Information processing apparatus, controller, and control method of information processing apparatus

Publications (2)

Publication Number Publication Date
JP2019145110A JP2019145110A (en) 2019-08-29
JP6652669B2 true JP6652669B2 (en) 2020-02-26

Family

ID=67772479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019031808A Active JP6652669B2 (en) 2019-02-25 2019-02-25 Information processing apparatus and information processing apparatus control method

Country Status (1)

Country Link
JP (1) JP6652669B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7408593B2 (en) 2021-03-23 2024-01-05 株式会社東芝 Control devices, information processing devices, and information processing systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073360A (en) * 2000-09-05 2002-03-12 Casio Comput Co Ltd Start information rewrite device
US20070133280A1 (en) * 2004-10-08 2007-06-14 Renesas Technology Corp. Semiconductor integrated circuit apparatus and electronic system
JP4818793B2 (en) * 2006-04-20 2011-11-16 ルネサスエレクトロニクス株式会社 Microcomputer and memory access control method
JP5543949B2 (en) * 2011-09-21 2014-07-09 株式会社東芝 Control device and monitor program

Also Published As

Publication number Publication date
JP2019145110A (en) 2019-08-29

Similar Documents

Publication Publication Date Title
JP2017033149A (en) Information processing apparatus, controller, and control method of information processing apparatus
JP4447977B2 (en) Secure processor and program for secure processor.
JP6306578B2 (en) Memory protection device and protection method
US7461268B2 (en) E-fuses for storing security version data
JP5114617B2 (en) Secure terminal, program, and method for protecting private key
JP2007304954A (en) Computer system having memory protecting function
EP2854066A1 (en) System and method for firmware integrity verification using multiple keys and OTP memory
JP2007249933A (en) Managing access to content in data processing apparatus
US20080263256A1 (en) Logic Device with Write Protected Memory Management Unit Registers
JP2002007214A (en) Information processor and rewrite control method of nonvolatile storage device
US11188321B2 (en) Processing device and software execution control method
WO2011076464A1 (en) Method and system for protecting an operating system against unauthorized modification
TWI775346B (en) System and method preventing rollback attacks
CN110020561B (en) Semiconductor device and method of operating semiconductor device
US10885196B2 (en) Executing protected code
JP6652669B2 (en) Information processing apparatus and information processing apparatus control method
JP5316592B2 (en) Secure processor program
JP6622360B2 (en) Information processing device
JP5365664B2 (en) Secure processor
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
TWI791244B (en) Monitor system booting security device and method thereof
JP2020194464A (en) Integrated circuit and control method for integrated circuit
JP5460133B2 (en) Microcontroller device
US10719615B2 (en) Information processing apparatus, reading control method, and computer readable storage medium
JP4783451B2 (en) Secure processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191206

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: 20191224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200123

R151 Written notification of patent or utility model registration

Ref document number: 6652669

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151