JP7425797B2 - ファームウェアのセキュアな検証 - Google Patents
ファームウェアのセキュアな検証 Download PDFInfo
- Publication number
- JP7425797B2 JP7425797B2 JP2021532127A JP2021532127A JP7425797B2 JP 7425797 B2 JP7425797 B2 JP 7425797B2 JP 2021532127 A JP2021532127 A JP 2021532127A JP 2021532127 A JP2021532127 A JP 2021532127A JP 7425797 B2 JP7425797 B2 JP 7425797B2
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- recovery
- security processor
- hash
- computing system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims description 143
- 238000011084 recovery Methods 0.000 claims description 295
- 238000000034 method Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 17
- 238000007726 management method Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 33
- 238000010200 validation analysis Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012419 revalidation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Pure & Applied Mathematics (AREA)
- Power Engineering (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
一部のコンピューティングシステムは、電源投入後のまたはリセットに続く「ブート」プロセスの一部としてシステムファームウェアを実行する。一部のコンピューティングシステムは、システムファームウェアの代わりに「リカバリ」ファームウェアを実行することにより、安定した、リカバリされた状態に戻ることができる。セキュリティのために、コンピューティングシステムは、システムファームウェアおよびリカバリファームウェアの一部を、システムメモリに対する同時物理アクセスによってのみオーバーライドできるシステムメモリの永続的な書込保護領域に、保持することができる。一部のコンピューティングシステムは、さらに製造者の検証プロセスを実行することにより、ファームウェアおよびリカバリファームウェアの完全性(integrity)を保証し、場合によっては、ハードウェア固有の検証鍵(たとえば焼かれてアプリケーションプロセッサのヒューズになったもの)を用いて、システムファームウェアが公式ソースからのものであることを保証する。
システムファームウェアおよびリカバリファームウェアをセキュアに検証することにより、製造者のプロプライエタリ検証プロセス、ハードウェア固有の鍵、またはシステムメモリの固有の書込保護機能に依存することなくシステムの完全性を保証する、コンピューティングシステムについて説明する。このコンピューティングシステムは、集積回路製造者のマスクROM(読出専用メモリ)検証プロセスから独立してファームウェアおよびリカバリファームウェアを検証するためのプロセスを定義するファームウェア管理パラメータを保持するセキュリティプロセッサに依拠する。このセキュリティプロセッサは、ファームウェアまたはリカバリファームウェアが、適切に署名されかつ過去に実行されたバージョンと一致することを保証する、または、もし異なっていても、コンパイル時にファームウェアに埋め込まれた予想結果と一致する検証結果(たとえば生成されたハッシュ値)をもたらすことを保証する。このようにして、コンピューティングシステムは、当該コンピューティングシステム内で実行されるファームウェアおよびリカバリファームウェアのユーザビリティ、カスタマイズ、およびこれらのファームウェアに対するユーザ制御を改善する。
一部のコンピューティングシステムでは、アプリケーションプロセッサが、オペレーティングシステム(OS)をロードし実行する条件として、システムファームウェアを実行する。システムメモリの書込保護された部分は、システムファームウェアの読出専用部分を格納することができ、システムメモリの読み書き可能な部分は、システムファームウェアの読み書き可能な(または保護されていない)部分を格納することができる。システムメモリの書込保護された部分はさらに、コンピューティングシステムがリカバリモードで動作するときに実行する特化された「リカバリファームウェア」を含み得る。リカバリファームウェアは、リカバリイベント中にシステムファームウェアの代わりに実行されて、コンピューティングシステムを安定したリカバリモードで動作するように構成することを、意図している。
●セキュリティプロセッサ108で実行されるファームウェアがメモリ106の他のブロックの中からヘッダを識別しヘッダおよびファームウェアをいくつかの異なる可能なアドレスのうちの1つに格納できるようにする、識別バイトシーケンス(たとえば「マジックナンバー」)。
●ファームウェアを特定のデバイスモデルに関連付け、システムファームウェアを、他のデバイスモデル上で実行することを意図した他のバージョンと区別するための、バージョン番号。
●(たとえばセキュリティプロセッサのファームウェアに格納された)検証鍵のうちの公開の半分を使用してヘッダセクションに適用するヘッダ署名。秘密の半分は、ハードウェア製造者、オペレーティングシステム開発者、またはコンピューティングシステム100が検証可能なファームウェアのみを実行することを保証するために機能する他のエンティティ等の、遠隔エンティティにおいて制御されてもよい。秘密の半分はセキュリティプロセッサのファームウェアに格納されてもよい。
●セキュリティプロセッサ108がシステムファームウェアのボディセクションを検証するために使用する検証サブ鍵。秘密の半分は、ハードウェア製造者、オペレーティングシステム開発者、またはコンピューティングシステム100が検証可能なファームウェアのみを実行することを保証するために機能する他のエンティティ等の、遠隔エンティティにおいて制御されてもよい。秘密の半分はセキュリティプロセッサのファームウェアに格納されてもよい。
●システムファームウェアを他のバージョンと区別するためにインクリメントされるボディバージョン番号。
●(たとえばシステムファームウェアのヘッダセクションに格納された)検証サブ鍵を使用してボディセクションに適用されたボディ署名。秘密の半分は、ハードウェア製造者、オペレーティングシステム開発者、またはコンピューティングシステム100が検証可能なファームウェアのみを実行することを保証するために機能する他のエンティティ等の、遠隔エンティティにおいて制御されてもよい。
●メモリ106の書込保護が有効にされたときに書込保護されるメモリ106の部分を制御するメモリ106の制御レジスタの予想値。
●ファームウェアまたはリカバリファームウェアの一部が格納されるメモリ106の異なるブロックに各エントリが対応する、予想ハッシュ値のテーブル。
●テーブル内のエントリの数。
●ブロックの、メモリ106内のアドレス(またはオフセット)。
●ブロックのサイズ(たとえば単位はバイト)。
●検証に使用される、ブロックに割り当てられる重み付け。重み付けは、固定点の値、対数値、またはその他の種類のパラメータとして表すことができる。最大の重み付けは、常に確率的検証スキームでブロックを検証させることができる。最小の重み付けは、確率的検証スキームでブロックが検証されないようにすることができる。最大の重み付けと最小の重み付けとの間の重み付けは、重み付けが、最大の重み付けにより近い値に割り当てられるか最小の重み付けにより近い値に割り当てるかに応じて、ブロックを検証する頻度をより高くまたは低くする。
●ブロックに格納されているファームウェアまたはリカバリファームウェアの部分の予想ハッシュ(たとえばSHA-256)。
●(たとえばアプリケーションプロセッサ102またはセキュリティプロセッサ108により)ファームウェアまたはリカバリファームウェアの1つ以上のブロックに適用されたセキュアなハッシュ関数から出力された値を表す「生成されたハッシュ」。
●生成されたハッシュを使用してファームウェアまたはリカバリファームウェアが検証可能であったか否かについてのステータスインジケータ。
Claims (15)
- リカバリモードと非リカバリモードとを有するコンピューティングシステムであって、
アプリケーションプロセッサと、
前記非リカバリモードにおいて実行されるファームウェアおよび前記リカバリモードにおいて実行されるリカバリファームウェアを含むメモリと、
セキュリティプロセッサとを備え、前記セキュリティプロセッサは、前記アプリケーションプロセッサが前記ファームウェアまたは前記リカバリファームウェアを実行する条件として、前記非リカバリモードにおける前記ファームウェアの検証または前記リカバリモードにおける前記リカバリファームウェアの検証を、
前記非リカバリモードにおいて、前記ファームウェアが保持する前記ファームウェアの予想ハッシュを決定し、前記予想ハッシュはコンパイル時に前記ファームウェアに埋め込まれ、
前記非リカバリモードにおいて、前記ファームウェアを保持する前記メモリの1つ以上のブロックに適用されたセキュアなハッシュ関数を表す、前記ファームウェアの生成されたハッシュを決定し、
前記非リカバリモードにおいて、前記ファームウェアの前記予想ハッシュが前記ファームウェアの前記生成されたハッシュと一致するか否かに基づいて前記ファームウェアを検証する
ことによるか、または、
前記リカバリモードにおいて、前記リカバリファームウェアが保持する前記リカバリファームウェアの予想ハッシュを決定し、
前記リカバリモードにおいて、前記リカバリファームウェアを保持する前記メモリの1つ以上のブロックに適用された前記セキュアなハッシュ関数を表す、前記リカバリファームウェアの生成されたハッシュを決定し、
前記リカバリモードにおいて、前記リカバリファームウェアの前記予想ハッシュが前記リカバリファームウェアの前記生成されたハッシュと一致するか否かに基づいて前記リカバリファームウェアを検証する
ことにより、行うように構成される、コンピューティングシステム。 - 前記セキュリティプロセッサはさらに、前記ファームウェアまたは前記リカバリファームウェアの前記生成されたハッシュを生成するように構成されている、請求項1に記載のコンピューティングシステム。
- 前記アプリケーションプロセッサは、前記ファームウェアまたは前記リカバリファームウェアの前記生成されたハッシュを生成するように構成されている、請求項1または2に記載のコンピューティングシステム。
- 前記アプリケーションプロセッサは、前記コンピューティングシステムの最初のブートに続いて前記リカバリファームウェアを検証するように構成されている、請求項1~3のいずれか1項に記載のコンピューティングシステム。
- 前記アプリケーションプロセッサで実行されるオペレーティングシステムがバックグラウンドタスクとして前記リカバリファームウェアを検証する、請求項4に記載のコンピューティングシステム。
- 前記セキュリティプロセッサは、前記アプリケーションプロセッサが、前記リカバリファームウェアの予想ハッシュが前記リカバリファームウェアの前記生成されたハッシュと一致しないと判断したことに応じて、前記リカバリファームウェアを再検証するように構成されている、請求項4または5に記載のコンピューティングシステム。
- 前記ファームウェアは複数のブロックを含み、前記セキュリティプロセッサは、前記複数のブロックのうちの各ブロックについて、ブロックの対応する予想ハッシュが前記ブロックの対応する生成されたハッシュと一致するか否かを判断することにより、前記ファームウェアを検証するように構成されている、請求項1~6のいずれか1項に記載のコンピューティングシステム。
- 前記ファームウェアは複数のブロックを含み、前記セキュリティプロセッサは、前記複数のブロックのうちのいくつかのブロックについて、ブロックの対応する予想ハッシュが前記ブロックの対応する生成されたハッシュと一致するか否かを判断することにより、前記ファームウェアを検証するように構成されている、請求項1~7のいずれか1項に記載のコンピューティングシステム。
- 前記セキュリティプロセッサは、前記ブロックに割り当てられた重み付けが確率的検証しきい値を満たすという判断に応じて、前記ブロックの前記対応する予想ハッシュが前記ブロックの前記対応する生成されたハッシュと一致するか否かを判断することにより、前記ファームウェアを検証するように構成されている、請求項8に記載のコンピューティングシステム。
- 前記セキュリティプロセッサは、前記確率的検証しきい値を乱数発生器を用いて決定するように構成されている、請求項9に記載のコンピューティングシステム。
- 前記セキュリティプロセッサは、前記ファームウェアまたは前記リカバリファームウェアを検証する際に前記セキュリティプロセッサに指示するためのオプションを含むファームウェア管理パラメータを保持するように構成されている、請求項1~10のいずれか1項に記載のコンピューティングシステム。
- 前記セキュリティプロセッサは、前記ファームウェア管理パラメータを、前記セキュリティプロセッサの内部メモリの書込保護された部分において保持する、請求項11に記載のコンピューティングシステム。
- 前記ファームウェア管理パラメータは、前記ファームウェアまたは前記リカバリファームウェアを検証するときに、確率的検証、フル検証、または検証なしのうちのいずれを行うかを、前記セキュリティプロセッサに指示する情報を含む、請求項11または12に記載のコンピューティングシステム。
- リカバリモードおよび非リカバリモードを有するコンピューティングシステムのセキュリティプロセッサによって実行される方法であって、前記コンピューティングシステムのメモリにはファームウェアおよびリカバリファームウェアが格納され、前記ファームウェアは前記非リカバリモードにおいて前記コンピューティングシステムのアプリケーションプロセッサによって実行され、前記リカバリファームウェアは前記リカバリモードにおいて前記アプリケーションプロセッサによって実行され、前記方法は、
前記セキュリティプロセッサが、前記アプリケーションプロセッサが前記ファームウェアまたは前記リカバリファームウェアを実行する条件として、前記非リカバリモードにおける前記ファームウェアの検証または前記リカバリモードにおける前記リカバリファームウェアの検証を
前記非リカバリモードにおいて、前記ファームウェアが保持する前記ファームウェアの予想ハッシュを決定し、前記予想ハッシュはコンパイル時に前記ファームウェアに埋め込まれ、
前記非リカバリモードにおいて、前記ファームウェアを保持する前記メモリの1つ以上のブロックに適用されたセキュアなハッシュ関数を表す、前記ファームウェアの生成されたハッシュを決定し、
前記非リカバリモードにおいて、前記ファームウェアの前記予想ハッシュが前記ファームウェアの前記生成されたハッシュと一致するか否かに基づいて前記ファームウェアを検証するか、または、
前記リカバリモードにおいて、前記リカバリファームウェアが保持する前記リカバリファームウェアの予想ハッシュを決定し、
前記リカバリモードにおいて、前記リカバリファームウェアを保持する前記メモリの1つ以上のブロックに適用された前記セキュアなハッシュ関数を表す、前記リカバリファームウェアの生成されたハッシュを決定し、
前記リカバリモードにおいて、前記リカバリファームウェアの前記予想ハッシュが前記リカバリファームウェアの前記生成されたハッシュと一致するか否かに基づいて前記リカバリファームウェアを検証することにより行うステップ
を含む、方法。 - リカバリモードおよび非リカバリモードを有するコンピューティングシステムのセキュリティプロセッサによって実行される命令を含むプログラムであって、前記コンピューティングシステムのメモリにはファームウェアおよびリカバリファームウェアが格納され、前記ファームウェアは前記非リカバリモードにおいて前記コンピューティングシステムのアプリケーションプロセッサによって実行され、前記リカバリファームウェアは前記リカバリモードにおいて前記アプリケーションプロセッサによって実行され、前記命令は、実行されると、
前記アプリケーションプロセッサが前記ファームウェアまたは前記リカバリファームウェアを実行する条件として、前記非リカバリモードにおける前記ファームウェアの検証、または前記リカバリモードにおける前記リカバリファームウェアの検証を
前記非リカバリモードにおいて、前記ファームウェアが保持する前記ファームウェアの予想ハッシュを決定し、前記予想ハッシュはコンパイル時に前記ファームウェアに埋め込まれ、
前記非リカバリモードにおいて、前記ファームウェアを保持する前記メモリの1つ以上のブロックに適用されたセキュアなハッシュ関数を表す、前記ファームウェアの生成されたハッシュを決定し、
前記非リカバリモードにおいて、前記ファームウェアの前記予想ハッシュが前記ファームウェアの前記生成されたハッシュと一致するか否かに基づいて前記ファームウェアを検証するか、または、
前記リカバリモードにおいて、前記リカバリファームウェアが保持する前記リカバリファームウェアの予想ハッシュを決定し、
前記リカバリモードにおいて、前記リカバリファームウェアを保持する前記メモリの1つ以上のブロックに適用された前記セキュアなハッシュ関数を表す、前記リカバリファームウェアの生成されたハッシュを決定し、
前記リカバリモードにおいて、前記リカバリファームウェアの前記予想ハッシュが前記リカバリファームウェアの前記生成されたハッシュと一致するか否かに基づいて前記リカバリファームウェアを検証することとにより行うように前記セキュリティプロセッサを構成する、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2024006881A JP2024050647A (ja) | 2019-06-10 | 2024-01-19 | ファームウェアのセキュアな検証 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/036405 WO2020251542A1 (en) | 2019-06-10 | 2019-06-10 | Secure verification of firmware |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024006881A Division JP2024050647A (ja) | 2019-06-10 | 2024-01-19 | ファームウェアのセキュアな検証 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022536817A JP2022536817A (ja) | 2022-08-19 |
JP7425797B2 true JP7425797B2 (ja) | 2024-01-31 |
Family
ID=67138049
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021532127A Active JP7425797B2 (ja) | 2019-06-10 | 2019-06-10 | ファームウェアのセキュアな検証 |
JP2024006881A Pending JP2024050647A (ja) | 2019-06-10 | 2024-01-19 | ファームウェアのセキュアな検証 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024006881A Pending JP2024050647A (ja) | 2019-06-10 | 2024-01-19 | ファームウェアのセキュアな検証 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220179960A1 (ja) |
EP (2) | EP4318285A3 (ja) |
JP (2) | JP7425797B2 (ja) |
KR (2) | KR102513435B1 (ja) |
CN (1) | CN113168474A (ja) |
WO (1) | WO2020251542A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220108017A1 (en) * | 2019-06-24 | 2022-04-07 | Hewlett-Packard Development Company, L.P. | Firmware to restore configurable option |
US20230087221A1 (en) * | 2020-01-27 | 2023-03-23 | Hewlett-Packard Development Company, L.P. | Detection fields of view |
US20200226260A1 (en) * | 2020-03-27 | 2020-07-16 | Intel Corporation | Firmware resiliency mechanism |
CN111950014A (zh) * | 2020-08-27 | 2020-11-17 | 英业达科技有限公司 | 服务器***启动的安全度量方法、安全度量装置及服务器 |
US11651077B2 (en) * | 2021-01-22 | 2023-05-16 | Dell Products L.P. | Systems and methods for providing secured boot and scan for devices with limited access |
US11853428B2 (en) * | 2021-06-02 | 2023-12-26 | Microsoft Technology Licensing, Llc | Firmware policy enforcement via a security processor |
US20230006833A1 (en) * | 2021-07-01 | 2023-01-05 | Lenovo (Singapore) Pte. Ltd. | Ranked hash validation for new software update file |
US11669619B2 (en) * | 2021-07-27 | 2023-06-06 | Dell Products L.P. | System and method of utilizing multiple information handling system firmware on an information handling system |
US20240037240A1 (en) * | 2022-07-27 | 2024-02-01 | Western Digital Technologies, Inc. | Decoupled External Storage Device Booting |
TWI807947B (zh) * | 2022-08-01 | 2023-07-01 | 精英電腦股份有限公司 | 多顆嵌入式控制器的更新和檢驗方法與其電子設備 |
DE102023101503A1 (de) | 2023-01-23 | 2024-07-25 | Audi Aktiengesellschaft | Verfahren zum Starten einer Datenverarbeitungseinrichtung, Datenverarbeitungseinrichtung und Kraftfahrzeug |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014518428A (ja) | 2011-07-07 | 2014-07-28 | インテル・コーポレーション | Biosフラッシュ攻撃に対する保護および通知 |
JP2015022521A (ja) | 2013-07-19 | 2015-02-02 | スパンション エルエルシー | セキュアブート方法、組み込み機器、セキュアブート装置およびセキュアブートプログラム |
JP2016197399A (ja) | 2015-03-31 | 2016-11-24 | エーオー カスペルスキー ラボAO Kaspersky Lab | オペレーティング・システム・リソースに対する機械語のネイティブイメージのアクセス制御のシステム及び方法 |
US20170085383A1 (en) | 2015-09-23 | 2017-03-23 | Dell Products, L.P. | Trusted support processor authentication of host bios/uefi |
JP2019075000A (ja) | 2017-10-18 | 2019-05-16 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209542B2 (en) * | 2006-12-29 | 2012-06-26 | Intel Corporation | Methods and apparatus for authenticating components of processing systems |
US7984286B2 (en) * | 2008-06-25 | 2011-07-19 | Intel Corporation | Apparatus and method for secure boot environment |
US8812854B2 (en) * | 2009-10-13 | 2014-08-19 | Google Inc. | Firmware verified boot |
US20120137137A1 (en) * | 2010-11-30 | 2012-05-31 | Brickell Ernest F | Method and apparatus for key provisioning of hardware devices |
CN105324779B (zh) * | 2013-04-15 | 2018-08-28 | 亚马逊技术有限公司 | 使用安全存储装置的主机恢复 |
EP2854066B1 (en) * | 2013-08-21 | 2018-02-28 | Nxp B.V. | System and method for firmware integrity verification using multiple keys and OTP memory |
US9524158B2 (en) * | 2015-02-23 | 2016-12-20 | Apple Inc. | Managing firmware updates for integrated components within mobile devices |
EP3353699A4 (en) * | 2015-09-24 | 2019-04-10 | INTEL Corporation | TECHNIQUES FOR COORDINATING DEVICE SAFETY |
US10318736B2 (en) * | 2016-10-31 | 2019-06-11 | Hewlett Packard Enterprise Development Lp | Validating operating firmware of a periperhal device |
US10353779B2 (en) * | 2017-05-05 | 2019-07-16 | Dell Products L.P. | Systems and methods for detection of firmware image corruption and initiation of recovery |
US11106796B2 (en) * | 2018-11-07 | 2021-08-31 | Dell Products L.P. | Staging memory for accessory firmware update |
US11468170B2 (en) * | 2018-12-07 | 2022-10-11 | Intel Corporation | Techniques for processor boot-up |
WO2020169997A1 (en) * | 2019-02-22 | 2020-08-27 | Micron Technology, Inc. | Method for improving safety of a component or system running a firmware or a finite state machine |
US11809567B2 (en) * | 2020-10-21 | 2023-11-07 | Dell Products L.P. | System and method of authenticating firmware for an information handling system |
-
2019
- 2019-06-10 KR KR1020217015033A patent/KR102513435B1/ko active IP Right Grant
- 2019-06-10 EP EP23218535.5A patent/EP4318285A3/en active Pending
- 2019-06-10 US US17/439,362 patent/US20220179960A1/en active Pending
- 2019-06-10 EP EP19734982.2A patent/EP3877883A1/en active Pending
- 2019-06-10 JP JP2021532127A patent/JP7425797B2/ja active Active
- 2019-06-10 KR KR1020237009400A patent/KR20230043235A/ko not_active Application Discontinuation
- 2019-06-10 CN CN201980079865.2A patent/CN113168474A/zh active Pending
- 2019-06-10 WO PCT/US2019/036405 patent/WO2020251542A1/en unknown
-
2024
- 2024-01-19 JP JP2024006881A patent/JP2024050647A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014518428A (ja) | 2011-07-07 | 2014-07-28 | インテル・コーポレーション | Biosフラッシュ攻撃に対する保護および通知 |
JP2015022521A (ja) | 2013-07-19 | 2015-02-02 | スパンション エルエルシー | セキュアブート方法、組み込み機器、セキュアブート装置およびセキュアブートプログラム |
JP2016197399A (ja) | 2015-03-31 | 2016-11-24 | エーオー カスペルスキー ラボAO Kaspersky Lab | オペレーティング・システム・リソースに対する機械語のネイティブイメージのアクセス制御のシステム及び方法 |
US20170085383A1 (en) | 2015-09-23 | 2017-03-23 | Dell Products, L.P. | Trusted support processor authentication of host bios/uefi |
JP2019075000A (ja) | 2017-10-18 | 2019-05-16 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20210080463A (ko) | 2021-06-30 |
CN113168474A (zh) | 2021-07-23 |
WO2020251542A1 (en) | 2020-12-17 |
EP4318285A2 (en) | 2024-02-07 |
JP2024050647A (ja) | 2024-04-10 |
JP2022536817A (ja) | 2022-08-19 |
KR20230043235A (ko) | 2023-03-30 |
KR102513435B1 (ko) | 2023-03-23 |
EP4318285A3 (en) | 2024-03-13 |
EP3877883A1 (en) | 2021-09-15 |
US20220179960A1 (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7425797B2 (ja) | ファームウェアのセキュアな検証 | |
CN109446815B (zh) | 基本输入输出***固件的管理方法、装置和服务器 | |
CN111008379B (zh) | 电子设备的固件安全检测方法及相关设备 | |
CN106855814B (zh) | 管理基本输入输出***设定的***和方法 | |
US20170308705A1 (en) | System, device and method for anti-rollback protection of over-the-air updated device images | |
US8291480B2 (en) | Trusting an unverified code image in a computing device | |
EP3522059B1 (en) | Perform security action based on inventory comparison | |
US20160012234A1 (en) | Protecting operating system configuration values | |
US11030347B2 (en) | Protect computing device using hash based on power event | |
US20190156039A1 (en) | Determine Malware Using Firmware | |
KR20100087336A (ko) | 판독전용 영역과 판독/기록 영역, 분리형 매체 구성부품, 시스템 관리 인터페이스, 네트워크 인터페이스를 가진 컴퓨터 기억장치 | |
US20210056207A1 (en) | Securing Devices From Unauthorized Software Upgrade | |
US20240104213A1 (en) | Securing node groups | |
US11347858B2 (en) | System and method to inhibit firmware downgrade | |
US8838952B2 (en) | Information processing apparatus with secure boot capability capable of verification of configuration change | |
US12001827B2 (en) | System and method for system-wide firmware downgrade control | |
JP2018509692A (ja) | 選択的なブロックベースの完全性保護技法 | |
WO2024149044A1 (zh) | 服务器启动管理***及方法 | |
US20220398320A1 (en) | Data sharing system and method for a multi-boot baseboard management controller (bmc) | |
US20230359741A1 (en) | Trusted boot method and apparatus, electronic device, and readable storage medium | |
US11989305B2 (en) | Automated update of a customized secure boot policy | |
TWI791244B (zh) | 監控系統開機之安全裝置及其方法 | |
US20200244461A1 (en) | Data Processing Method and Apparatus | |
US20240169050A1 (en) | Verification and/or validation of unreversible information handling system commands | |
US20240171392A1 (en) | Systems and methods for digital retirement of information handling systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230117 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231003 |
|
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: 20231121 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20231215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240119 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7425797 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |