JP7512097B2 - リソース保護 - Google Patents
リソース保護 Download PDFInfo
- Publication number
- JP7512097B2 JP7512097B2 JP2020102691A JP2020102691A JP7512097B2 JP 7512097 B2 JP7512097 B2 JP 7512097B2 JP 2020102691 A JP2020102691 A JP 2020102691A JP 2020102691 A JP2020102691 A JP 2020102691A JP 7512097 B2 JP7512097 B2 JP 7512097B2
- Authority
- JP
- Japan
- Prior art keywords
- secure
- master
- resource
- state
- soc
- 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
- 230000004224 protection Effects 0.000 title claims description 69
- 230000007704 transition Effects 0.000 claims description 71
- 230000015654 memory Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 6
- 238000000034 method Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009956 central mechanism Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- 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/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
SoC(System-on-Chip)には、プロセッサコアによってアクセス可能なリソースが含まれている。SoCはマイクロコントローラであってよい。プロセッサコアは、CPU(Central Processing Unit)であってよい。リソースには、メモリ、メモリ内の設定可能なアドレス範囲、周辺装置または周辺副機能(例えばクロック制御システム)が含まれていてよい。SoCがセーフかつセキュアであるためには、そのリソースのアクセスおよび制御がセーフかつセキュアでなければならない。
初期状態210は、リセット後に発生する。リソース120にとって、この状態は、設定状態230と同様である。初期状態210と設定状態230との違いは、初期状態210では、セキュア実行状態250または実行ロック状態240への状態遷移がなおも可能であることである。
実行ロック状態240は、すべてのリソース120がセーフかつセキュアにロックされた状態である。アプリケーションは、使用するすべてのリソース120を設定し、次に初期化完了信号「init_done」信号をトリガする。このinit_done信号は、中枢機構を使用して、いまなお初期状態210にあるすべてのリソース120を実行ロック状態240に遷移させる。これは、必要でないものも含めてすべてリソース120を強制的にセーフかつセキュアな実行ロック状態240にするのに都合のよい仕方である。この場合、次のリセットの前にリソース設定を変更することはできない。
実行状態220は、リソース120の通常の動作状態である。一般的なアプローチは、初期状態210における初期スタートアップフェーズにおいて、セーフマスタM(110-0)だけがセットされ、この特定のセーフマスタM(110-0)により、後の設定状態230中にリソース設定が制御される、ことである。実行状態220から設定状態230への変更は、主に、ソフトウェアによる単一の、意図しない書き込みにより、クリティカルなリソースが変更されてはならないというセーフティ面を満足する。ステートマシン130を使用することにより、付加的な前提条件は、セーフマスタM(110-0)により、実行状態220から設定状態230へのリソース120の遷移がローカルに制御されることである。というのは、個別のリソース120だけが影響を受け、リソース状態のグローバルな制御のような一般的なタイムアウトメカニズムは、不要であるためである。
これらの状態の間、セーフマスタM(110-0)は、セキュアマスタCSM(110-cs)と相互に影響し合う。というのはリソース120が、セーフティとセキュリティとの間で共有されるからである。このことは、左側に類似して、図2の右側に示されている。より具体的にいうと、セキュア実行状態250およびセキュア設定状態260は、実行状態220および設定状態230にそれぞれ類似している。違いは、付加的なセキュアチェック状態270と、右側の遷移のうちのいくつかが、異なるマスタ、すなわちセーフマスタM(110-0)ではなくセキュリティマスタCSM(110-cs)によって制御されることとである。セーフティ的にクリティカルな遷移は、セーフマスタM(110-0)によって制御され、セキュリティ的にクリティカルな遷移は、セキュアマスタCSM(110-cs)によって制御される。
ステートマシン130は、セキュア実行状態250からセキュア設定状態260へのリソース120の遷移をセーフマスタM(110-0)だけに許可するように設定されている。というのは、この設定は、安全性に関連しているからである。これは、実行設定状態ビットを保護レジスタ170に格納するセーフマスタM(110-0)によって行われる。
ステートマシン130は、セキュア設定状態260からセキュアチェック状態270へのリソース120の遷移がキュアマスタCSM(110-cs)だけに許可されるように設定されている。セキュアチェック状態270中、新たな設定は、もはや変更できないが、まだアクティブではない可能性がある。これにより、セキュアマスタCSM(110-cs)は、セキュアチェック状態270からセキュア実行状態250へと遷移することによって新たな設定がアクティブ化される前に、この新たな設定をチェックすることができる。このチェックは、セキュアマスタCSM(110-cs)を使用することによって行われるが、択一的にはセーフマスタ110-0または別のマスタ110によって実行可能である。
ステートマシン130は、セキュアチェック状態270からセキュア実行状態250へのリソース120の遷移をセキュアマスタCSM(110-cs)だけに許可するように構成されており、セキュア実行状態250中、リソース120は、通常に、チェックされた設定でセキュアに動作する。
Claims (15)
- SoC(System on Chip)であって、前記SoCは、
セキュリティソフトウェアを実行するように設定されているセキュアマスタおよび非セキュリティソフトウェアを実行するように設定されている非セキュアマスタを含む複数のプロセッサコアと、
前記セキュアマスタと前記非セキュアマスタとによって共有されるように設定されているリソースと、
ステートマシンであって、前記ステートマシンの特定の状態への前記リソースの遷移が前記セキュアマスタだけに許可され、かつ、前記ステートマシンの別の特定の状態への前記リソースの遷移が前記非セキュアマスタだけに許可されることによって、前記リソースが保護されるように設定されているステートマシンと、
を有し、
前記セキュアマスタは、バストランザクションの一部として、前記リソースに前記セキュアマスタとして名乗り出るように設定されている、
SoC。 - 前記非セキュアマスタは、セーフティソフトウェアを実行するように設定されたセーフマスタである、
請求項1記載のSoC。 - SoC(System on Chip)であって、前記SoCは、
セキュリティソフトウェアを実行するように設定されているセキュアマスタおよび非セキュリティソフトウェアを実行するように設定されている非セキュアマスタを含む複数のプロセッサコアと、
前記セキュアマスタと前記非セキュアマスタとによって共有されるように設定されているリソースと、
ステートマシンであって、前記ステートマシンの特定の状態への前記リソースの遷移が前記セキュアマスタだけに許可され、かつ、前記ステートマシンの別の特定の状態への前記リソースの遷移が前記非セキュアマスタだけに許可されることによって、前記リソースが保護されるように設定されているステートマシンと、
を有し、
前記セキュアマスタまたは前記非セキュアマスタは、バストランザクションの一部でありかつ前記リソースに格納された設定可能な、または、ハードコーディングされた参照マスタ識別子に相当するマスタ識別子によって識別可能である、
SoC。 - 設定可能な前記参照マスタ識別子は、書き込み保護されている、
請求項3記載のSoC。 - 前記参照マスタ識別子に合致する前記マスタ識別子によって識別可能な前記セキュアマスタまたは前記非セキュアマスタだけに、前記参照マスタ識別子の変更が許可され、前記複数のプロセッサコアのうちの別の1つを前記セキュアマスタまたは前記非セキュアマスタとしてそれぞれ識別する、
請求項4記載のSoC。 - 前記セキュアマスタは、前記バストランザクションの一部として、側波帯信号を介し、前記セキュアマスタとしてのその識別子をリソース保護レジスタに伝送するように設定されている、
請求項1記載のSoC。 - 前記リソースは、レジスタである、
請求項1または3記載のSoC。 - 前記SoCは、さらに、
複数のリソースと、
複数のステートマシンと、
を有し、各ステートマシンは、前記複数のリソースのうちのそれぞれ1つに対応する、
請求項1または3記載のSoC。 - SoC(System on Chip)であって、前記SoCは、
セキュリティソフトウェアを実行するように設定されているセキュアマスタおよび非セキュリティソフトウェアを実行するように設定されている非セキュアマスタを含む複数のプロセッサコアと、
前記セキュアマスタと前記非セキュアマスタとによって共有されるように設定されているリソースと、
ステートマシンであって、前記ステートマシンの特定の状態への前記リソースの遷移が前記セキュアマスタだけに許可され、かつ、前記ステートマシンの別の特定の状態への前記リソースの遷移が前記非セキュアマスタだけに許可されることによって、前記リソースが保護されるように設定されているステートマシンと、
を有し、
前記ステートマシンは、実行状態から設定状態への前記リソースの遷移を前記非セキュアマスタだけに許可するように設定されており、設定状態中は、前記非セキュアマスタだけに前記リソースの再設定が許可される、
SoC。 - 前記再設定では、前記セキュアマスタによってチェックされる前に、許可されない設定がアクティブにならないようにするために、新たな設定データがシャドウレジスタに書き込まれる、
請求項9記載のSoC。 - SoC(System on Chip)であって、前記SoCは、
セキュリティソフトウェアを実行するように設定されているセキュアマスタおよび非セキュリティソフトウェアを実行するように設定されている非セキュアマスタを含む複数のプロセッサコアと、
前記セキュアマスタと前記非セキュアマスタとによって共有されるように設定されているリソースと、
ステートマシンであって、前記ステートマシンの特定の状態への前記リソースの遷移が前記セキュアマスタだけに許可され、かつ、前記ステートマシンの別の特定の状態への前記リソースの遷移が前記非セキュアマスタだけに許可されることによって、前記リソースが保護されるように設定されているステートマシンと、
を有し、
前記ステートマシンは、設定状態からチェック状態への前記リソースの遷移が前記セキュアマスタだけに許可されるように設定されており、チェック状態中は、前記リソースまたは前記リソースのシャドウレジスタの設定は、変更不可であり、かつチェックされる、
SoC。 - 前記ステートマシンは、前記チェック状態から実行状態への前記リソースの遷移が前記セキュアマスタだけに許可されるように設定されており、実行状態中は、前記リソースは、通常に、チェックされた前記設定でセキュアに動作する、
請求項11記載のSoC。 - 前記リソースは、メモリへのアクセスを制御するように構成されているバスメモリ保護ユニット(MPU:Memory Protection Unit)である、
請求項1、3、9、11のいずれかに記載のSoC。 - SoC(System on Chip)であって、前記SoCは、
セキュリティソフトウェアを実行するように設定されているセキュアバーチャルマシンおよび非セキュリティソフトウェアを実行するように設定されている非セキュアバーチャルマシンを含む複数のバーチャルマシンを有するマスタを含む複数のプロセッサコアと、
前記セキュアバーチャルマシンと前記非セキュアバーチャルマシンとによって共有されるように設定されているリソースと、
ステートマシンあって、前記ステートマシンの特定の状態への前記リソースの遷移が前記セキュアバーチャルマシンだけに許可され、前記ステートマシンの別の特定の状態への前記リソースの遷移が前記非セキュアバーチャルマシンだけに許可されることにより、前記リソースが保護されるように設定されているステートマシンと、
を有し、
前記セキュアバーチャルマシンは、バストランザクションの一部でありかつ前記リソースに格納された設定可能な、または、ハードコーティングされた参照識別子に相当するセキュアバーチャルマシン識別子によって識別可能である、
SoC。 - SoC(System on Chip)であって、前記SoCは、
セキュリティソフトウェアを実行するように設定されているセキュアバーチャルマシンおよび非セキュリティソフトウェアを実行するように設定されている非セキュアバーチャルマシンを含む複数のバーチャルマシンを有するマスタを含む複数のプロセッサコアと、
前記セキュアバーチャルマシンと前記非セキュアバーチャルマシンとによって共有されるように設定されているリソースと、
ステートマシンあって、前記ステートマシンの特定の状態への前記リソースの遷移が前記セキュアバーチャルマシンだけに許可され、前記ステートマシンの別の特定の状態への前記リソースの遷移が前記非セキュアバーチャルマシンだけに許可されることにより、前記リソースが保護されるように設定されているステートマシンと、
を有し、
前記セキュアバーチャルマシンは、バストランザクションの一部として、前記リソースに前記セキュアバーチャルマシンとして名乗り出るように設定されている、
SoC。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/441,227 | 2019-06-14 | ||
US16/441,227 US11288404B2 (en) | 2019-06-14 | 2019-06-14 | Resource protection |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020205050A JP2020205050A (ja) | 2020-12-24 |
JP7512097B2 true JP7512097B2 (ja) | 2024-07-08 |
Family
ID=73547242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020102691A Active JP7512097B2 (ja) | 2019-06-14 | 2020-06-12 | リソース保護 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11288404B2 (ja) |
JP (1) | JP7512097B2 (ja) |
DE (1) | DE102020115708A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7306964B2 (ja) * | 2019-11-05 | 2023-07-11 | ルネサスエレクトロニクス株式会社 | 仮想化システムおよび動作管理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153672A1 (en) | 2002-11-18 | 2004-08-05 | Arm Limited | Switching between secure and non-secure processing modes |
US20080163359A1 (en) | 2007-01-03 | 2008-07-03 | Texas Instruments Incorporated | Static And Dynamic Firewalls |
JP2011511383A (ja) | 2008-02-07 | 2011-04-07 | アナログ・デバイシズ・インコーポレーテッド | 保護された動作モードの間にシステムアクセスを制御するための方法および装置 |
JP2014086089A (ja) | 2012-10-19 | 2014-05-12 | Samsung Electronics Co Ltd | セキュリティ管理ユニットとそれを含むホストコントローラインターフェース及びその動作方法、並びにホストコントローラインターフェースを含むコンピュータシステム |
JP2016091554A (ja) | 2014-10-30 | 2016-05-23 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 制御装置を駆動する方法 |
US20190044976A1 (en) | 2018-03-30 | 2019-02-07 | Intel Corporation | Systems and methods for security protocol execution in a hierarchical state machine-driven execution plan |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444668B2 (en) * | 2003-05-29 | 2008-10-28 | Freescale Semiconductor, Inc. | Method and apparatus for determining access permission |
WO2009018479A1 (en) * | 2007-07-31 | 2009-02-05 | Viasat, Inc. | Trusted labeler |
US9076001B1 (en) * | 2012-02-06 | 2015-07-07 | Marvell International Ltd. | Method and apparatus for implementing a secure content pipeline |
US9268970B2 (en) * | 2014-03-20 | 2016-02-23 | Analog Devices, Inc. | System and method for security-aware master |
-
2019
- 2019-06-14 US US16/441,227 patent/US11288404B2/en active Active
-
2020
- 2020-06-12 JP JP2020102691A patent/JP7512097B2/ja active Active
- 2020-06-15 DE DE102020115708.8A patent/DE102020115708A1/de active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153672A1 (en) | 2002-11-18 | 2004-08-05 | Arm Limited | Switching between secure and non-secure processing modes |
US20080163359A1 (en) | 2007-01-03 | 2008-07-03 | Texas Instruments Incorporated | Static And Dynamic Firewalls |
JP2011511383A (ja) | 2008-02-07 | 2011-04-07 | アナログ・デバイシズ・インコーポレーテッド | 保護された動作モードの間にシステムアクセスを制御するための方法および装置 |
JP2014086089A (ja) | 2012-10-19 | 2014-05-12 | Samsung Electronics Co Ltd | セキュリティ管理ユニットとそれを含むホストコントローラインターフェース及びその動作方法、並びにホストコントローラインターフェースを含むコンピュータシステム |
JP2016091554A (ja) | 2014-10-30 | 2016-05-23 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 制御装置を駆動する方法 |
US20190044976A1 (en) | 2018-03-30 | 2019-02-07 | Intel Corporation | Systems and methods for security protocol execution in a hierarchical state machine-driven execution plan |
Also Published As
Publication number | Publication date |
---|---|
JP2020205050A (ja) | 2020-12-24 |
DE102020115708A1 (de) | 2020-12-17 |
US11288404B2 (en) | 2022-03-29 |
US20200394339A1 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8458791B2 (en) | Hardware-implemented hypervisor for root-of-trust monitoring and control of computer system | |
US7444668B2 (en) | Method and apparatus for determining access permission | |
US10235515B2 (en) | Method and apparatus for on-demand isolated I/O channels for secure applications | |
US10489332B2 (en) | System and method for per-task memory protection for a non-programmable bus master | |
JP5975629B2 (ja) | メモリ保護ユニットおよび記憶素子へのアクセスコントロール方法 | |
US11675526B2 (en) | Memory-access control | |
US11698995B2 (en) | Peripheral access on a secure-aware bus system | |
US11366940B2 (en) | Secure-aware bus system | |
US11537762B2 (en) | Secure peripheral interconnect | |
JP2005520231A (ja) | 周辺素子へのアクセス保護を含むデータプロセッシングシステムとその方法 | |
CN112818327A (zh) | 基于TrustZone的用户级代码和数据安全可信保护方法及装置 | |
JP7512097B2 (ja) | リソース保護 | |
JP7001670B2 (ja) | コンテキストベースの保護システム | |
US11188640B1 (en) | Platform firmware isolation | |
US10592663B2 (en) | Technologies for USB controller state integrity protection | |
US12013931B2 (en) | Method and system for freedom from interference (FFI) | |
TW202324158A (zh) | 以安全分區記憶體空間於系統單晶片中錯誤管理 | |
ES2803209T3 (es) | Procedimiento de control sistemático de direcciones de zonas de memoria en el marco de una transferencia por acceso directo | |
EP3314516B1 (en) | System management mode privilege architecture | |
US20230342187A1 (en) | Processing of interrupts | |
WO2023283004A1 (en) | Debug in system on a chip with securely partitioned memory space | |
CN115905108A (zh) | 一种用于risc-v芯片的iopmp架构实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230303 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240517 |
|
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: 20240528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240626 |