JP2022051127A - 情報処理装置および更新処理方法 - Google Patents

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

Info

Publication number
JP2022051127A
JP2022051127A JP2020157428A JP2020157428A JP2022051127A JP 2022051127 A JP2022051127 A JP 2022051127A JP 2020157428 A JP2020157428 A JP 2020157428A JP 2020157428 A JP2020157428 A JP 2020157428A JP 2022051127 A JP2022051127 A JP 2022051127A
Authority
JP
Japan
Prior art keywords
update
information
data
storage unit
memory
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
JP2020157428A
Other languages
English (en)
Other versions
JP7330157B2 (ja
Inventor
健人 白鳥
Kento Shiratori
浩明 田中
Hiroaki Tanaka
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
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage 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, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2020157428A priority Critical patent/JP7330157B2/ja
Priority to US17/467,634 priority patent/US11797457B2/en
Publication of JP2022051127A publication Critical patent/JP2022051127A/ja
Application granted granted Critical
Publication of JP7330157B2 publication Critical patent/JP7330157B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】信頼性が高いデータ更新処理をする情報処理装置および更新処理方法を提供する。【解決手段】情報処理装置は、第1記憶部と、第2記憶部と、ゲートと、制御部と、を備える。第1記憶部は、情報を記憶する。第2記憶部は、第1記憶部の情報に対する更新可否状態を示す情報を記憶する。ゲートは、バス上に配置され、制御命令に基づいて、第2記憶部へのアクセス可否を制御する。制御部は、所定のモードの時に、ゲートへ第2記憶部への制御命令を出力し、第2記憶部の情報を更新可能状態にして、第1記憶部の情報を更新する。【選択図】図1

Description

本発明の実施形態は、情報処理装置および更新処理方法に関する。
データを更新する際、一時記憶領域を用いて更新処理をする技術がある。データを更新する場合、データ更新処理の信頼性が高いことが望まれる。
特開2009-3933号公報
一つの実施形態は、信頼性が高いデータ更新処理をする情報処理装置および更新処理方法を提供することを目的とする。
一つの実施形態によれば、情報処理装置は、第1記憶部と、第2記憶部と、ゲートと、制御部と、を備える。第1記憶部は、情報を記憶する。第2記憶部は、第1記憶部の情報に対する更新可否状態を示す情報を記憶する。ゲートは、バス上に配置され、制御命令に基づいて、第2記憶部へのアクセス可否を制御する。制御部は、所定のモードの時に、ゲートへ第2記憶部への制御命令を出力し、第2記憶部の情報を更新可能状態にして、第1記憶部の情報を更新する。
第1の実施形態にかかる情報処理装置が適用されたマイクロコンピュータのハードウェア構成の一例を示す模式的な図である。 第1の実施形態にかかるマイクロコンピュータ1の機能構成の一例を示すブロック図である。 第1の実施形態にかかる固有情報記憶部31で記憶するデータの例である。 第1の実施形態にかかる通常モードから特権モードに遷移する処理を示すフローチャートである。 特権モードにおける処理を示すフローチャートである。 データ更新処理を示すフローチャートである。 データの一方向性がない例を示す図である。 データの一方向性がある例を示す図である。 第2の実施形態にかかるマイクロコンピュータのハードウェア構成の一例を示す模式的な図である。 第2の実施形態にかかるマイクロコンピュータ100の機能構成の一例を示すブロック図である。 第2の実施形態にかかる特権モードにおける処理を示すフローチャートである。 更新権限認証処理を示すフローチャートである。
以下では、一例として、実施形態にかかる情報処理装置が適用されたマイクロコンピュータについて、添付図面を参照して説明する。なお、実施形態にかかる情報処理装置を適用できる装置はマイクロコンピュータだけに限定されない。実施形態にかかる情報処理装置は、コンピュータプログラムが格納されるメモリと、当該コンピュータプログラムを実行するプロセッサと、を備えた任意の装置に適用され得る。なお、この実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態にかかる情報処理装置が適用されたマイクロコンピュータのハードウェア構成の一例を示す模式的な図である。
マイクロコンピュータ1は、CPU10、ROM11、コード用メモリ12、データ用メモリ13、特権ゲート14、書き込み保護レジスタ15、ペリフェラル16、SRAM17、暗号化エンジン18、およびバス19を備えている。コード用メモリ12とデータ用メモリ13は、書き換え可能な不揮発性メモリで構成される。
CPU10は、種々のプログラムを実行することができるプロセッサであり、いわゆるコアプロセッサである。CPU10は、プログラムに応じた機能を実現する。CPU10は、当該プログラムを実行することにより、データ用メモリ13のデータを更新可能なモードである特権モードで動作したり、データ用メモリ13のデータを更新不可能なモードである通常モードで動作したりする。CPU10は、動作中のモードを示す情報をCPU10内のレジスタで記憶する。
通常モードは、通常機能を用いるプログラムを実行する。通常モードでは、CPU10がアクセスできる空間はマイクロコンピュータ1全体ではなく、マイクロコンピュータ1そのものの挙動を制御する設定値等の重要な情報へのアクセスが制限される。特権モードは、制限なくアクセスできる。特権モードでは、データ用メモリ13で記憶している重要な情報を更新することができる。
ROM11は、書き換え不可能な不揮発性メモリである。ROM11が保持するプログラムは、マイクロコンピュータ1のハードウェア製造時に書き込まれ、マイクロコンピュータ1を運用している際には、変更できない。ROM11は、更新ルーチン72を記憶する。更新ルーチン72は、更新処理を実行するためのプログラムである。
コード用メモリ12は、各種機能を実現するプログラムを記憶する。具体的に、コード用メモリ12は、CPUFW73を記憶する。CPUFW73は、CPU10が実行するファームウェアである。なお、コード用メモリ12は、他の各種プログラムを記憶するようにしてもよい。コード用メモリ12は、マイクロコンピュータ1のハードウェア製造後も書き込み可能であり、運用中も書き換え可能である。
データ用メモリ13は、各種データを記憶する。具体的に、データ用メモリ13は、例えば、固有情報などのマイクロコンピュータ1を特定するための情報などの重要データを記憶する。当該固有情報は、数Kバイト程度のサイズのデータである。また、データ用メモリ13は、各データを複数のバンクで記憶する。例えば、データ用メモリ13は、バンクサイズをバッファ単位とするダブルバッファ(バンクa、バンクb)で記憶する。
特権ゲート14は、バス19上に配置され、CPU10からの制御命令に基づいて、書き込み保護レジスタ15へのアクセス可否を制御するゲート部分である。特権ゲート14は、CPU10が特権モードで動作している場合に、書き込み保護レジスタ15へアクセス可能とするように制御する。
書き込み保護レジスタ15は、モードによりデータ用メモリ13に対する更新可否を制御するためのレジスタである。例えば、書き込み保護レジスタ15は、更新可否を示すフラグ情報を記憶する。このフラグ情報は、通常モード時には更新不可状態を示し、特権モード時に更新命令がなされると、更新可能状態を示す情報に変更される。データ用メモリ13は、このフラグ情報を参照することで、記憶しているデータの更新可否を制御する。
ペリフェラル16は、CPU10の機能を補う特定機能を提供するハードウェアコンポーネント群である。ペリフェラル16に含まれるハードウェアコンポーネント群には、外部装置と通信可能な通信モジュールが含まれる。
SRAM17は、揮発性メモリである。SRAM17は、各種プログラムがロードされる領域や当該プログラム実行時のデータを一時的に格納する領域として機能する。また、SRAM17は、外部装置とマイクロコンピュータ1との間で転送されるユーザデータのバッファとしても機能する。
暗号化エンジン18は、暗号アルゴリズムを実行するハードウェアコンポーネントである。暗号化エンジン18は、ハッシュ値を算出する。例えば、暗号化エンジン18は、乱数を生成し、当該乱数に対して共通鍵で暗号化し、ハッシュ値を算出する。
図2は、第1の実施形態にかかるマイクロコンピュータ1の機能構成の一例を示すブロック図である。図2に示すマイクロコンピュータ1は、固有情報記憶部31と、更新要求受付部33と、解除部34と、更新部35と、設定部36とを備える。固有情報記憶部31は、データ用メモリ13により実現する。また、CPU10が、ROM11およびコード用メモリ12に記憶されているプログラムを実行することで、更新要求受付部33、解除部34、更新部35、および設定部36を実現する。また、更新要求受付部33、解除部34、更新部35、および設定部36は、制御部として機能する。
固有情報記憶部31は、固有情報を含む更新対象となる情報を記憶する。図3は、第1の実施形態にかかる固有情報記憶部31で記憶するデータの例である。固有情報記憶部31は、複数のバンクでデータを記憶する。例えば、図3に示すように、2つのバンク(ダブルバッファ)でデータを記憶する。各バンクでは、固有情報として、鍵等のデータやカウンタを含める。当該データやカウンタは、図3に示す「#d1」、「#c1」等の識別情報と対応付けられる。
また、各バンクでは、各バンクの完全性を検査するためのハッシュ値を含める。このハッシュ値は、データに対して計算される暗号学的なハッシュ値である。ハッシュ値の計算アルゴリズムは、SHA2、SHA3などを用いる。なお、各バンクで記憶するデータおよびカウンタが一度も更新されていない場合、各バンクで記憶するデータおよびカウンタは同一の内容である。
更新可否情報記憶部32は、更新可能か否かを示す情報を記憶する。更新可否情報記憶部32は、書き込み保護レジスタ15により実現する。
更新要求受付部33は、マイクロコンピュータ1のユーザによる操作により、データの更新要求がなされると、当該更新要求を受け付ける。更新要求受付部33は、更新対象データの識別情報である更新データ番号および更新データを受け付けると共に更新要求を受け付ける。更新要求受付部33は、更新要求を受け付けると、ROM11の更新ルーチン72を呼び出し、特権モードに遷移する。例えば、特権モードへの遷移時に発生する割り込みハンドラがROM11上に設定されているものとする。更新要求受付部33は、特権モード遷移を伴うSupervisorCall(SVC)で更新ルーチン72を呼び出す。
また、更新要求受付部33は、更新処理が終了した後、更新ルーチン72を終了させて、通常モードに遷移させる。
解除部34は、固有情報記憶部31への更新不可状態を解除する。解除部34は、特権モードに遷移した後に、特権ゲート14を介して、書き込み保護レジスタ15の更新不可状態を解除する。
更新部35は、更新対象の固有情報を更新する。更新部35は、書き込み保護レジスタ15の更新不可状態が解除された後に、固有情報記憶部31で記憶されている更新データ番号に対応するデータを更新データに更新する。
設定部36は、データが更新された後に、書き込み保護レジスタ15を再度更新不可状態に設定する。
(動作説明)
次に、マイクロコンピュータ1の動作について、図4~図6のフローチャートを用いて説明する。
(特権モード遷移処理)
図4は、第1の実施形態にかかる通常モードから特権モードに遷移する処理を示すフローチャートである。
まず、更新要求受付部33は、更新データ番号および更新データを受け付けると共に更新要求を受け付ける(S1)。続いて、更新要求受付部33は、ROM11の更新ルーチン72をSVCで呼び出し(S2)、当該更新ルーチン72を実行する。これにより、特権モードに遷移する。そして、マイクロコンピュータ1は、特権モードにおける処理を実行する(S3)。
(特権モード処理)
図5は、図4のS3に対応する特権モードにおける処理を示すフローチャートである。
まず、特権モードに遷移すると、解除部34は、特権ゲート14を介して、書き込み保護レジスタ15の更新不可状態を解除する(S11)。具体的に、解除部34は、特権モードであり、書き込み保護レジスタ15の更新命令を示す信号を特権ゲート14に出力する。これにより、書き込み保護レジスタ15のフラグ情報を、更新可能状態を示す値に設定することで更新不可状態を解除する。
続いて、更新部35は、更新不可状態が解除された後に、固有情報記憶部31で記憶されている更新データ番号に対応するデータを更新する(S12)。
更新処理が終了した後、設定部36は、特権ゲート14を介して、書き込み保護レジスタ15のフラグ情報を、再度更新不可状態を示す値に設定する(S13)。そして、更新要求受付部33は、更新ルーチン72による処理を終了させ、通常モードに遷移する復帰命令を実行し、処理を終了する。なお、通常モードでは、例えば、CPUFW73を実行する。
(更新処理)
図6は、図5のS12に対応するデータ更新処理を示すフローチャートである。まず、更新部35は、バンクaおよびバンクbのそれぞれのハッシュ値を公知の手法により検査する(S31)。更新部35は、両方のハッシュ値が正しい場合(S32:Yes)、S33へ進む。
S33では、バンクa、バンクbの更新データ番号に対応するデータ、および更新データに一方向性があるか否かを判断する。データの一方向性について、図7Aおよび図7Bを用いて説明する。図7Aは、データの一方向性がない例を示す図である。図7Bは、データの一方向性がある例を示す図である。
ここでいう一方向性とは、二つの同じ長さのデジタルデータが、その差分における0と1の変化が同一であることをいう。例えば、図7Aでは、二つのデータ間で、0から1への変化と1から0への変化の両方が存在する。この場合、これらのデータには一方向性がないと判断する。一方、図7Bでは、二つのデータ間で0から1への変化のみある。この場合、一方向性があると判断する。記憶しているデータ間で一方向性があり、且つ記憶しているデータと、更新値との間でも一方向性があることを前提とする。また、1が多いデータが新しいデータであるものとする。図7Bに示したデータの場合、データ1よりデータ2の方が、1が多いので、データ2が新しいものとする。この一方向性によって、二つのバッファ上で共に有効なデータを保持している場合、データの新旧の判別をすることができる。
続いて、バンクaとバンクbとの間で一方向性があるデータの例についてカウンタ「#c1」が更新対象である場合において、バンクaおよびバンクbのカウンタ「#c1」を比較する。バンクaは、「00000001」であり、バンクbは、「00000011」であるとする。差異がある部分は、0から1のみの変化であるので、一方向性があると判断できる。
一方、バンクaは、「00000001」であり、バンクbは、「00010000」であるとする。差異がある部分は、0から1の変化がある部分と、1から0の変化がある部分があるので、一方向性がないと判断できる。このように、一方向性がないということは、上記前提から逸脱したものであり、過去のデータの書き込み処理が正常終了していないこと等によりデータが壊れていることを示す。
図6に戻り、更新部35は、バンクaおよびバンクbに一方向性があると判断した場合、当該一方向性により新しい方のデータ(1が多いデータ)と更新データとの一方向性を判断する(S33)。上記新しい方のデータと更新データとの一方向性があると判断した場合(S33:Yes)、バンクaおよびバンクbの内、古い方のデータを更新データに上書きする(S34)。また、更新部35は、上書きしたバンクのハッシュ値を公知の方法により更新する。
また、更新部35は、バンクaおよびバンクbに一方向性がない場合(S33:No)、S38へ進む。
少なくとも一方のハッシュ値が正しくない場合(S32:No)、更新部35は、一つのハッシュ値が正しいか否かを判断する(ステップS35)。更新部35は、一つのハッシュ値が正しい場合(S35:Yes)、正しいバンクのデータと、更新データとの一方向性を判断する(S36)。更新部35は、一方向性がある場合(S36:Yes)、まずハッシュ値が正しくないバンクにハッシュ値が正しいバンクのデータすべてをコピーし、次に、更新データ番号のデータを更新データで上書き更新する(ステップS37)。また、更新部35は、上書きしたバンクのハッシュ値を更新する。
更新部35が、両方のハッシュ値が正しくないと判断した場合(S35:No)、ステップS38へ進む。また、更新部35が、正しいバンクの更新データ番号のデータと、更新データとの間に一方向性がないと判断した場合(S36:No)、S38へ進む。
更新部35は、バンクaおよびバンクbのすべてのデータを0で上書き更新し(S38)、処理を終了する。この場合、当該「0」は不正を示すものである。よって、更新部35は、記憶しているバンクaおよびバンクbの情報が回復できない程度のデータであることを明示することができる。
なお、第1の実施形態では、データ用メモリ13が、2つのバンクで固有情報を記憶する場合について述べたが、1つのバンクで固有情報を記憶するようにしてもよい。また、データ用メモリ13が、3つ以上のバンクで固有情報を記憶するようにしてもよい。
第1の実施形態によれば、マイクロコンピュータ1は、データ用メモリ13で固有情報を記憶し、書き込み保護レジスタ15でデータ用メモリ13のデータに対する更新可否を示すフラグ情報を記憶する。特権ゲート14は、バス19上に配置され、CPU10からの制御命令に基づいて、書き込み保護レジスタ15へのアクセス可否を制御する。制御部として機能する解除部34は、特権モードの時に、特権ゲート14へ特権モードであることを示す情報を出力し、書き込み保護レジスタ15へアクセスして、更新可否を示すフラグ情報を変更することで、更新可能状態にする。また、制御部として機能する更新部35は、更新可能状態時に、データ用メモリ13の情報を更新する。
このように、マイクロコンピュータ1は、特権ゲート14および書き込み保護レジスタ15を備えることで、特権モードである場合のみ、データ用メモリ13のデータを更新可能とすることができる。すなわち、特権ゲート14および書き込み保護レジスタ15は、データの書き込み属性を制御する機構として機能する。また、マイクロコンピュータ1は、更新要求がある場合のみデータ用メモリ13を更新可能状態にして、データを更新する。これにより、マイクロコンピュータ1は、フラッシュメモリを用いるときに起り得る誤ったプログラムなどによるデータ更新を防止することができる。すなわち、マイクロコンピュータ1は、データ用メモリ13をe-ヒューズやアンチヒューズを用いたワンタイムプログラマブルメモリのように動作させることができ、更新処理の信頼性を高めることができる。
また、更新部35では、更新対象の記憶済み固有情報と、更新対象の固有情報の更新データとの一方向性の有無に基づいて、更新対象の固有情報を更新データへ更新する。この場合、更新部35は、一方向性を判断することで記憶済のデータが壊れているか否かを判断することができる。例えば、更新部35は、更新対象の記憶済み固有情報と、更新対象の固有情報の更新データとの一方向性が無い場合、上記前提から逸脱したものであり、更新対象の記憶済み固有情報が壊れたデータであると判断することができる。
また、データ用メモリ13では、複数のバンクで固有情報を記憶しており、更新部35は、更新対象の固有情報の、それぞれのバンクのデータの一方向性の有無に基づいて、更新対象の固有情報を更新データへ更新する。これにより、マイクロコンピュータ1は、記憶済のバンクのデータが壊れているか否かを判断することができる。また、更新部35は、更新対象の固有情報の、それぞれのバンクのデータの一方向性がある場合に、一方向性が進んでいないデータ(例えば、1が最も少ないデータ)を更新データへ更新する。これにより、マイクロコンピュータ1は、最も古いデータを最新のデータ(更新データ)へ変更することができる。また、マイクロコンピュータ1は、最新のデータと、その直前のデータとを記憶することにもなる。
マイクロコンピュータ1は、データを更新する際、一度書き換え対象のデータを消去し、消去した後でデータを書き込む必要があり、データの消去や書き込みには時間がかかり、このような操作時に電源OFFやリセットが発生すると、書き込みが不完全になるだけでなく、もともとのデータを喪失する可能性がある。上記のように、マイクロコンピュータ1は、最新のデータと、その直前のデータとを記憶することにより、更新データを更新している際に電源OFFされた場合など、意図しない事態により、更新データが適切に更新されなかったとしても、直前のデータを用いてリカバリ処理をすることができ、適切にデータ管理することができる。すなわち、更新部35は、このようなデータの喪失や破壊を防止することができる。
(第2の実施形態)
第2の実施形態では、更新可能なユーザを管理する機能をさらに有する。以下では、第1の実施形態と異なる部分を中心に説明する。
チップ固有情報やカウンタは、マイクロコンピュータ1を運用させるために重要なデータであり、限られた権限を持つユーザによりアクセスされた場合のみ更新するのが望ましい場合もある。
マイクロコンピュータ1を操作するユーザが一人であれば、権限管理する必要がないが、複数のユーザの各々がマイクロコンピュータ1へアクセスすることが考えられる。この場合、ユーザの権限管理を導入する必要がある。
図8は、第2の実施形態にかかるマイクロコンピュータのハードウェア構成の一例を示す模式的な図である。
マイクロコンピュータ100は、さらにセキュアROM20を有する。セキュアROM20は、書き換え不可能な不揮発性メモリであり、ユーザID等の機密情報を記憶する。このセキュアROM20は、ユーザID(例えば、ID1、ID2)と共通鍵(例えば、Key1、Key2)を有する。
また、マイクロコンピュータ100は、ペリフェラル16に含まれる通信モジュール等を介して外部ホスト21と接続する。外部ホスト21は、例えば、マイクロプロセッサを備えた情報処理装置などである。外部ホスト21は、ユーザID(ID1)および共通鍵(Key1)を記憶する。また、外部ホスト21は、マイクロコンピュータ100へ更新要求する際に、ユーザID、更新データ番号および更新データを送信する。
図9は、第2の実施形態にかかるマイクロコンピュータ100の機能構成の一例を示すブロック図である。マイクロコンピュータ100は、図2に示したマイクロコンピュータ1が有する機能に加えて、ID情報記憶部37と更新権限判定部38を有する。
セキュアROM20によりID情報記憶部37を実現する。CPU10が、ROM11およびコード用メモリ12に記憶されているプログラムを実行することや、暗号化エンジン18により更新権限判定部38を実現する。
ID情報記憶部37は、ユーザIDと共通鍵とを記憶する。更新権限判定部38は、ID情報記憶部37に記憶されている情報の更新要求元のユーザIDに対応する共通鍵を用いて暗号化処理をした結果と、当該ユーザIDに対応する装置(外部ホスト21)が実行した共通鍵による暗号化処理をした結果との比較により更新要求元のユーザの更新権限を判定する。
(第2の実施形態の特権モード処理)
図10は、第2の実施形態にかかる特権モードにおける処理の動作を示すフローチャートである。
図10に示すように、図4に示した処理を実行する前に更新認証処理をする(S51)。そして、更新権限認証処理が正常終了した場合(S52:Yes)、図4に示した処理を開始する(S11~S13)。一方、更新権限認証処理が正常終了ではない場合(S52:No)、データ更新処理(S12)等を実行することなく処理を終了する。これにより、マイクロコンピュータ100は、更新権限を有しないユーザによるデータ更新を受け付けないようにすることができる。
(更新権限認証処理)
図11は、更新権限認証処理における動作を示すフローチャートである。まず、更新権限判定部38は、乱数を発生させる(S61)。続いて、更新権限判定部38は、当該乱数を外部ホスト21へ送信する(S62)。外部ホスト21は、乱数に対して共通鍵で暗号化し(S63)、ハッシュ値を算出する(S64)。また、更新権限判定部38は、同様に乱数に対して、ID情報記憶部37で記憶している共通鍵で暗号化し(S65)、ハッシュ値を算出する(S66)。
外部ホスト21は、S64で生成したハッシュ値をマイクロコンピュータ1へ送信する(S67)。更新権限判定部38は、外部ホスト21から取得したハッシュ値と、S66で生成したハッシュ値とを検証する(S68)。具体的に、更新権限判定部38は、ハッシュ値を比較して、一致すれば権限ありを示す正常終了とし、一致しなければ異常終了とする。このように、更新要求元のユーザの更新権限を判定することにより、不正ユーザによるデータ更新を防止することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 マイクロコンピュータ、10 CPU、11 ROM、12 コード用メモリ、13 データ用メモリ、14 特権ゲート、15 書き込み保護レジスタ、16 ペリフェラル、17 SRAM、18 暗号化エンジン、20 セキュアROM、21 外部ホスト、31 固有情報記憶部、32 更新可否情報記憶部、33 更新要求受付部、34 解除部、35 更新部、36 設定部、37 ID情報記憶部、38 更新権限判定部。

Claims (6)

  1. 情報を記憶する第1記憶部と、
    前記第1記憶部の情報に対する更新可否状態を示す情報を記憶する第2記憶部と、
    バス上に配置され、制御命令に基づいて、前記第2記憶部へのアクセス可否を制御するゲートと、
    所定のモードの時に、前記ゲートへ前記第2記憶部への制御命令を出力し、前記第2記憶部の情報を更新可能状態にして、前記第1記憶部の情報を更新する制御部と、を備える情報処理装置。
  2. 情報処理装置で実行される更新処理方法であって、
    前記情報処理装置は、情報を記憶するメモリを備え、
    前記メモリの情報に対する更新要求を受け付ける更新要求受付ステップと、
    前記メモリへの更新不可状態を解除する解除ステップと、
    前記メモリの情報を更新する更新ステップと、
    前記更新ステップによる情報更新後に、前記メモリへの更新を不可状態に設定する設定ステップと、
    を含む更新処理方法。
  3. 前記更新ステップでは、前記メモリの情報と更新情報との一方向性の有無に基づいて、前記更新情報に更新する、請求項2に記載の更新処理方法。
  4. 前記メモリは、複数のバンクで情報を記憶しており、
    前記更新ステップは、更新対象の情報におけるそれぞれのバンク間での一方向性の有無に基づいて、更新情報に更新する、請求項3に記載の更新処理方法。
  5. 前記メモリは、バンク毎にハッシュ値を保持し、
    前記更新ステップは、前記バンクのハッシュ値の正否に基づいて前記更新情報に更新する、請求項4に記載の更新処理方法。
  6. 前記情報処理装置は、ユーザIDと当該ユーザIDの共通鍵とを対応付けた情報を記憶するセキュアメモリをさらに備え、
    更新要求元のユーザIDの共通鍵による暗号化処理をした結果と、当該ユーザIDに対応する装置が実行した共通鍵による暗号化処理をした結果とを比較し、更新要求元のユーザの更新権限を判定する更新権限判定ステップをさらに含み、
    前記解除ステップは、前記更新権限判定ステップによる判定に基づいて、前記メモリへの更新不可状態を解除する、請求項2に記載の更新処理方法。
JP2020157428A 2020-09-18 2020-09-18 情報処理装置および更新処理方法 Active JP7330157B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020157428A JP7330157B2 (ja) 2020-09-18 2020-09-18 情報処理装置および更新処理方法
US17/467,634 US11797457B2 (en) 2020-09-18 2021-09-07 Electronic apparatus and method for controlling data update processing on memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020157428A JP7330157B2 (ja) 2020-09-18 2020-09-18 情報処理装置および更新処理方法

Publications (2)

Publication Number Publication Date
JP2022051127A true JP2022051127A (ja) 2022-03-31
JP7330157B2 JP7330157B2 (ja) 2023-08-21

Family

ID=80740444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020157428A Active JP7330157B2 (ja) 2020-09-18 2020-09-18 情報処理装置および更新処理方法

Country Status (2)

Country Link
US (1) US11797457B2 (ja)
JP (1) JP7330157B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116959A (ja) * 2000-10-06 2002-04-19 Sony Corp メモリ装置
JP2004192181A (ja) * 2002-12-10 2004-07-08 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2007287103A (ja) * 2006-04-20 2007-11-01 Nec Electronics Corp マイクロコンピュータ及びメモリアクセスの制御方法
JP2013250759A (ja) * 2012-05-31 2013-12-12 Ntt Data Corp 差分暗号化によるファイル同期システム、その方法およびプログラム
JP2017033149A (ja) * 2015-07-30 2017-02-09 株式会社東芝 情報処理装置、コントローラ、及び、情報処理装置の制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5901311A (en) * 1996-12-18 1999-05-04 Intel Corporation Access key protection for computer system data
JP2000268584A (ja) 1999-03-15 2000-09-29 Nec Corp 不揮発性半導体記憶装置およびその製造方法
JP2002312186A (ja) 2001-04-16 2002-10-25 Matsushita Electric Ind Co Ltd 情報処理機器、そのファームウェア及びそのファームウェア書き換え方法
US7603562B2 (en) 2005-02-02 2009-10-13 Insyde Software Corporation System and method for reducing memory requirements of firmware
US20080320263A1 (en) 2007-06-20 2008-12-25 Daniel Nemiroff Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner
US8286883B2 (en) * 2007-11-12 2012-10-16 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US9355262B2 (en) * 2013-12-27 2016-05-31 Intel Corporation Modifying memory permissions in a secure processing environment
US9734095B2 (en) * 2015-09-01 2017-08-15 International Business Machines Corporation Nonvolatile memory data security
US10296467B2 (en) * 2015-09-25 2019-05-21 Intel Corporation Securing writes to memory modules having memory controllers
JP2018117185A (ja) 2017-01-16 2018-07-26 キヤノン株式会社 情報処理装置、情報処理方法
US11334501B2 (en) * 2020-01-28 2022-05-17 Hewlett Packard Enterprise Development Lp Access permissions for memory regions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116959A (ja) * 2000-10-06 2002-04-19 Sony Corp メモリ装置
JP2004192181A (ja) * 2002-12-10 2004-07-08 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2007287103A (ja) * 2006-04-20 2007-11-01 Nec Electronics Corp マイクロコンピュータ及びメモリアクセスの制御方法
JP2013250759A (ja) * 2012-05-31 2013-12-12 Ntt Data Corp 差分暗号化によるファイル同期システム、その方法およびプログラム
JP2017033149A (ja) * 2015-07-30 2017-02-09 株式会社東芝 情報処理装置、コントローラ、及び、情報処理装置の制御方法

Also Published As

Publication number Publication date
US20220091999A1 (en) 2022-03-24
US11797457B2 (en) 2023-10-24
JP7330157B2 (ja) 2023-08-21

Similar Documents

Publication Publication Date Title
US10482259B2 (en) Securing operating system configuration using hardware
US8200961B2 (en) Securing a flash memory block in a secure device system and method
US20080175381A1 (en) E-fuses for storing security version data
US8880898B2 (en) Anti-roll-back mechanism for counter
US7774619B2 (en) Secure code execution using external memory
US20150058979A1 (en) Processing system
US8127144B2 (en) Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, promgram loading method, and integrated circuit
US20210149681A1 (en) Secure Firmware Management with Hierarchical Boot Sequence using Last Known Good Firmware
US7584350B2 (en) Method for booting up software in the boot sector of a programmable read-only memory
JP7113115B2 (ja) シリコンデバイスファームウェア上のロールバック攻撃を防止するセキュリティシステム、および、方法
CN113946881A (zh) 安全串行外围接口(spi)闪存
JP2022051127A (ja) 情報処理装置および更新処理方法
CN113486360B (zh) 基于risc-v的安全启动方法及系统
CN113486399A (zh) 基于risc-v架构的数据存储方法及系统
CN113935011A (zh) 用于执行控制设备的安全启动序列的方法
EP3440585B1 (en) System and method for establishing a securely updatable core root of trust for measurement
JP2020149236A (ja) 電子機器及び電子機器の制御方法
EP4246353A1 (en) Method to prevent anti-replay attack
US11340798B2 (en) Modification of a memory of a secure microprocessor
US20240152284A1 (en) Storage controller and method of providing firmware image
US20230351055A1 (en) SoC ARCHITECTURE AND DATA PROTECTION METHOD THEREOF
JP2023026017A (ja) 起動検証プログラム、情報処理装置および起動検証方法
EP4348923A1 (en) Device identity keys
WO2024097428A1 (en) Owner revocation emulation container
CN116028381A (zh) 用于锁定可重写非易失性存储器的方法和实施所述方法的电子装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230808

R150 Certificate of patent or registration of utility model

Ref document number: 7330157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150