JP7497806B2 - コンピュータシステムの投機的サイドチャネル分析に対する防御 - Google Patents
コンピュータシステムの投機的サイドチャネル分析に対する防御 Download PDFInfo
- Publication number
- JP7497806B2 JP7497806B2 JP2020565409A JP2020565409A JP7497806B2 JP 7497806 B2 JP7497806 B2 JP 7497806B2 JP 2020565409 A JP2020565409 A JP 2020565409A JP 2020565409 A JP2020565409 A JP 2020565409A JP 7497806 B2 JP7497806 B2 JP 7497806B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- processor
- tag
- cache
- 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
- 238000004458 analytical method Methods 0.000 title description 29
- 230000015654 memory Effects 0.000 claims description 431
- 238000000034 method Methods 0.000 claims description 60
- 230000006870 function Effects 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 49
- 238000012545 processing Methods 0.000 description 39
- 239000000872 buffer Substances 0.000 description 29
- 230000008859 change Effects 0.000 description 15
- 238000013519 translation Methods 0.000 description 11
- 230000014616 translation Effects 0.000 description 11
- 238000007667 floating Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000002574 poison Substances 0.000 description 4
- 231100000614 poison Toxicity 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 3
- 230000007123 defense Effects 0.000 description 3
- 229910003460 diamond Inorganic materials 0.000 description 3
- 239000010432 diamond Substances 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000007480 spreading Effects 0.000 description 3
- 238000003892 spreading Methods 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 229910052754 neon Inorganic materials 0.000 description 2
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100117236 Drosophila melanogaster speck gene Proteins 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000008260 defense mechanism Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- 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/55—Detecting local intrusion or implementing counter-measures
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection 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
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/73—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 by creating or determining hardware identification, e.g. serial numbers
-
- 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/653—Page colouring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
[メモリタギング技術]
[アドレス符号化/暗号化]
[タグおよびアドレス符号化/暗号化]
[例示的実施形態]
[例示的なコアアーキテクチャ]
[例示的コアアーキテクチャ]
[例示的プロセッサアーキテクチャ]
[例示的なコンピュータアーキテクチャ]
[結論]
Claims (20)
- データオブジェクトに関連付けられ、第1メモリタグを有する第1アドレスを指定する命令を復号するデコーダと、
キャッシュと、
前記第1アドレスを、前記データオブジェクトのメモリ位置を識別する第2アドレスに変換するアドレス変換回路と、
前記第1メモリタグと、前記第2アドレスに関連付けられた第2メモリタグとを比較するコンパレータと、
前記メモリ位置に関連付けられたキャッシュミスを検出するキャッシュコントローラと、
前記コンパレータによる前記第1メモリタグと前記第2メモリタグとの一致の検出、および前記キャッシュコントローラによる前記キャッシュミスの検出に応じて、前記メモリ位置から前記キャッシュに前記データオブジェクトをロードするメモリコントローラと、を備えるプロセッサ。 - 前記第1アドレスは仮想アドレスであり、前記第2アドレスは物理アドレスである、請求項1に記載のプロセッサ。
- 前記コンパレータが前記第1メモリタグと前記第2メモリタグとの前記一致を検出するまで、前記メモリコントローラはさらに、前記メモリ位置に対応するキャッシュラインのロードを阻止する、請求項1または2に記載のプロセッサ。
- 前記コンパレータが前記第1メモリタグと前記第2メモリタグとの不一致を検出したことに応じて、前記メモリコントローラはさらに、前記データオブジェクトを示さないデータを、前記メモリ位置に対応するキャッシュラインにロードする、請求項1から3のいずれか一項に記載のプロセッサ。
- 前記第1メモリタグを提供するポインタセキュリティ回路をさらに備える、請求項1から4のいずれか一項に記載のプロセッサ。
- 前記第1メモリタグに少なくとも部分的に基づいて、前記データオブジェクトを暗号保護する暗号化回路をさらに備える、請求項1から5のいずれか一項に記載のプロセッサ。
- 前記第1メモリタグは、前記データオブジェクトの種類、機能、メモリ位置、または使用を識別する識別タグを含む、請求項1から6のいずれか一項に記載のプロセッサ。
- 前記暗号化回路は、暗号化アルゴリズムへのtweak入力を少なくとも部分的に定義するために、前記メモリタグの少なくとも一部を使用する、請求項6に記載のプロセッサ。
- 前記第1メモリタグは暗号化タグを含み、前記暗号化回路は前記暗号化タグを使用して、複数の暗号化鍵の1つを識別する、請求項6に記載のプロセッサ。
- 前記第1メモリタグは、前記メモリ位置に関連付けられたキャッシュラインが複数のデータオブジェクトを含むかどうかを示す、小オブジェクトタグを含む、請求項1に記載のプロセッサ。
- 前記小オブジェクトタグは、サブキャッシュライン粒度のメモリタギングを可能にする、請求項10に記載のプロセッサ。
- 前記第1アドレスと、前記データオブジェクトの暗号化された値とに少なくとも部分的に基づいて、インテグリティチェック値を生成するインテグリティチェック回路をさらに備える、請求項1に記載のプロセッサ。
- 前記インテグリティチェック値に少なくとも部分的に基づいて、前記第1アドレスの改ざんを検出するポインタセキュリティ回路をさらに備える、請求項12に記載のプロセッサ。
- 前記デコーダは、ソフトウェアプログラムにメモリ領域を割り当てる第1命令と、前記データオブジェクトに関連付けられ、前記第1メモリタグを有する前記第1アドレスを指定する第2命令とを復号し、
前記プロセッサは、
前記メモリ領域に対して有効範囲を決定する範囲ルール回路と、
前記ソフトウェアプログラムにより、前記有効範囲内のアドレスを操作するのに使用される第1の数のアドレスビットと、アクセス許可を示すメモリタグを含む第2の数のアドレスビットとを決定するアドレス調整回路と、
前記アドレスと前記メモリタグとの少なくとも一部を暗号化して、前記ソフトウェアプログラムに戻す暗号化されたアドレスを生成する暗号化回路と
を備える請求項1から13のいずれか一項に記載のプロセッサ。 - 前記デコーダはさらに、前記データオブジェクトに関連付けられた暗号化された前記第1アドレスを指定する第3命令を復号し、前記プロセッサはさらに、前記暗号化された第1アドレスを解読して、解読されたアドレスと解読されたメモリタグとを生成する解読回路を備える、請求項14に記載のプロセッサ。
- データオブジェクトに関連付けられ、第1メモリタグを有する第1アドレスを指定する命令を復号する段階と、
前記第1アドレスを、前記データオブジェクトのメモリ位置を識別する第2アドレスに変換する段階と、
前記第1メモリタグと、前記第2アドレスに関連付けられた第2メモリタグとを比較する段階と、
前記メモリ位置に関連付けられたキャッシュミスを検出する段階と、
前記第1メモリタグと前記第2メモリタグとの一致の検出、および前記キャッシュミスの検出に応じて、前記メモリ位置からキャッシュに前記データオブジェクトをロードする段階と、を備える方法。 - 前記第1アドレスは仮想アドレスであり、前記第2アドレスは物理アドレスである、請求項16に記載の方法。
- 前記一致を検出するまで、前記メモリ位置に対応するキャッシュラインのロードを阻止する段階をさらに含む、請求項16または17に記載の方法。
- 前記第1メモリタグと前記第2メモリタグとの不一致を検出したことに応じて、前記データオブジェクトを示さないデータを、前記メモリ位置に対応するキャッシュラインにロードする段階をさらに含む、請求項16から18のいずれか一項に記載の方法。
- 暗号化されたアドレスを解読して、前記第1アドレスおよび前記第1メモリタグを提供する段階をさらに含む、請求項16から19のいずれか一項に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/236,117 US11010067B2 (en) | 2018-12-28 | 2018-12-28 | Defense against speculative side-channel analysis of a computer system |
US16/236,117 | 2018-12-28 | ||
PCT/US2019/063994 WO2020139517A1 (en) | 2018-12-28 | 2019-12-02 | Defense against speculative side-channel analysis of a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022514803A JP2022514803A (ja) | 2022-02-16 |
JP7497806B2 true JP7497806B2 (ja) | 2024-06-11 |
Family
ID=71122930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020565409A Active JP7497806B2 (ja) | 2018-12-28 | 2019-12-02 | コンピュータシステムの投機的サイドチャネル分析に対する防御 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11010067B2 (ja) |
EP (1) | EP3903214A4 (ja) |
JP (1) | JP7497806B2 (ja) |
KR (1) | KR20210097021A (ja) |
CN (1) | CN113260994A (ja) |
BR (1) | BR112021010475A2 (ja) |
WO (1) | WO2020139517A1 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11635965B2 (en) | 2018-10-31 | 2023-04-25 | Intel Corporation | Apparatuses and methods for speculative execution side channel mitigation |
US11023379B2 (en) * | 2019-02-13 | 2021-06-01 | Google Llc | Low-power cached ambient computing |
CN112148665B (zh) * | 2019-06-28 | 2024-01-09 | 深圳市中兴微电子技术有限公司 | 缓存的分配方法及装置 |
US11947663B2 (en) * | 2019-09-24 | 2024-04-02 | The Trustees Of Columbia University In The City Of New York | Control flow protection based on phantom addressing |
CN112783811B (zh) * | 2019-11-04 | 2023-08-18 | 富泰华工业(深圳)有限公司 | 微控制器架构及架构内数据读取方法 |
US11029957B1 (en) | 2020-03-27 | 2021-06-08 | Intel Corporation | Apparatuses, methods, and systems for instructions to compartmentalize code |
US11374744B2 (en) * | 2020-05-15 | 2022-06-28 | The Boeing Company | Threshold scheme enabled symmetric key member deletion |
US11907369B2 (en) | 2020-08-27 | 2024-02-20 | Ventana Micro Systems Inc. | Processor that mitigates side channel attacks by preventing cache memory state from being affected by a missing load operation by inhibiting or canceling a fill request of the load operation if an older load generates a need for an architectural exception |
US11797673B2 (en) | 2020-08-27 | 2023-10-24 | Ventana Micro Systems Inc. | Processor that mitigates side channel attacks by expeditiously initiating flushing of instructions dependent upon a load instruction that causes a need for an architectural exception |
US11733972B2 (en) | 2020-10-06 | 2023-08-22 | Ventana Micro Systems Inc. | Processor that mitigates side channel attacks by providing random load data as a result of execution of a load operation that does not have permission to access a load address |
US11868469B2 (en) | 2020-08-27 | 2024-01-09 | Ventana Micro Systems Inc. | Processor that mitigates side channel attacks by preventing all dependent instructions from consuming architectural register result produced by instruction that causes a need for an architectural exception |
US11907126B2 (en) * | 2020-09-25 | 2024-02-20 | Advanced Micro Devices, Inc. | Processor with multiple op cache pipelines |
US11734426B2 (en) * | 2020-10-06 | 2023-08-22 | Ventana Micro Systems Inc. | Processor that mitigates side channel attacks by prevents cache line data implicated by a missing load address from being filled into a data cache memory when the load address specifies a location with no valid address translation or no permission to read from the location |
US11853424B2 (en) | 2020-10-06 | 2023-12-26 | Ventana Micro Systems Inc. | Processor that mitigates side channel attacks by refraining from allocating an entry in a data TLB for a missing load address when the load address misses both in a data cache memory and in the data TLB and the load address specifies a location without a valid address translation or without permission to read from the location |
US11675899B2 (en) * | 2020-12-15 | 2023-06-13 | International Business Machines Corporation | Hardware mitigation for Spectre and meltdown-like attacks |
US20210117341A1 (en) * | 2020-12-26 | 2021-04-22 | Intel Corporation | Cache line slot level encryption based on context information |
EP4248323B1 (en) * | 2021-02-12 | 2024-08-21 | Huawei Technologies Co., Ltd. | Low overhead active mitigation of security vulnerabilities by memory tagging |
US20220278963A1 (en) * | 2021-03-01 | 2022-09-01 | Samsung Electronics Co., Ltd. | Storage device, storage system, and method of secure data movement between storage devices |
KR20230015636A (ko) | 2021-07-23 | 2023-01-31 | 주식회사 엘지에너지솔루션 | 음극 및 이를 포함하는 이차전지 |
US11556482B1 (en) | 2021-09-30 | 2023-01-17 | International Business Machines Corporation | Security for address translation services |
US20220100911A1 (en) * | 2021-12-10 | 2022-03-31 | Intel Corporation | Cryptographic computing with legacy peripheral devices |
TWI785952B (zh) * | 2021-12-30 | 2022-12-01 | 新唐科技股份有限公司 | 密碼加速器以及加解密運算的差分故障分析方法 |
CN114968088B (zh) * | 2022-04-08 | 2023-09-05 | 中移互联网有限公司 | 文件存储方法、文件读取方法及装置 |
US11940927B2 (en) | 2022-06-14 | 2024-03-26 | Intel Corporation | Technologies for memory tagging |
US20230418767A1 (en) * | 2022-06-28 | 2023-12-28 | Apple Inc. | PC-Based Memory Permissions |
CN115033188B (zh) * | 2022-08-10 | 2022-11-15 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的存储硬件加速模块系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080133629A1 (en) | 2001-06-01 | 2008-06-05 | Mips Technologies, Inc. | Random Cache Line Refill |
US20130111132A1 (en) | 2010-07-28 | 2013-05-02 | Rambus Inc. | Cache Memory That Supports Tagless Addressing |
US20160092702A1 (en) | 2014-09-26 | 2016-03-31 | David M. Durham | Cryptographic ponter address encoding |
JP2017167582A (ja) | 2016-03-14 | 2017-09-21 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5396604A (en) * | 1991-07-12 | 1995-03-07 | Hewlett-Packard Company | System and method for reducing the penalty associated with data cache misses |
US6240183B1 (en) * | 1997-06-19 | 2001-05-29 | Brian E. Marchant | Security apparatus for data transmission with dynamic random encryption |
TW501011B (en) * | 1998-05-08 | 2002-09-01 | Koninkl Philips Electronics Nv | Data processing circuit with cache memory |
US6976131B2 (en) * | 2002-08-23 | 2005-12-13 | Intel Corporation | Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system |
JP2005539309A (ja) * | 2002-09-16 | 2005-12-22 | ティギ・コーポレイション | 記憶システムアーキテクチャおよび多重キャッシュ装置 |
US7624236B2 (en) * | 2004-12-27 | 2009-11-24 | Intel Corporation | Predictive early write-back of owned cache blocks in a shared memory computer system |
US7475321B2 (en) * | 2004-12-29 | 2009-01-06 | Intel Corporation | Detecting errors in directory entries |
JP4912174B2 (ja) * | 2007-02-07 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及び記憶管理方法 |
EP2077559B1 (en) * | 2007-12-27 | 2012-11-07 | Hagiwara Solutions Co., Ltd. | Refresh method of a flash memory |
JP2009163542A (ja) * | 2008-01-08 | 2009-07-23 | Hitachi Ltd | 論理ボリュームに関する設定を制御する制御装置 |
US20090220088A1 (en) * | 2008-02-28 | 2009-09-03 | Lu Charisse Y | Autonomic defense for protecting data when data tampering is detected |
US8494168B1 (en) * | 2008-04-28 | 2013-07-23 | Netapp, Inc. | Locating cryptographic keys stored in a cache |
WO2010055494A1 (en) * | 2008-11-17 | 2010-05-20 | Nxp B.V. | A cache management policy and corresponding device |
US8185692B2 (en) * | 2009-02-09 | 2012-05-22 | Oracle America, Inc. | Unified cache structure that facilitates accessing translation table entries |
US8443263B2 (en) * | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
WO2012127266A1 (en) | 2011-03-23 | 2012-09-27 | Sandisk Il Ltd. | Storage device and method for updating data in a partition of the storage device |
FR2980285B1 (fr) * | 2011-09-15 | 2013-11-15 | Maxim Integrated Products | Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise |
US8909942B1 (en) * | 2012-03-30 | 2014-12-09 | Western Digital Technologies, Inc. | MRAM-based security for data storage systems |
US9111621B2 (en) * | 2012-06-20 | 2015-08-18 | Pfg Ip Llc | Solid state drive memory device comprising secure erase function |
US10346095B2 (en) * | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US9213653B2 (en) * | 2013-12-05 | 2015-12-15 | Intel Corporation | Memory integrity |
US9361182B2 (en) * | 2014-05-20 | 2016-06-07 | Transcend Information, Inc. | Method for read disturbance management in non-volatile memory devices |
US9405920B1 (en) * | 2014-05-21 | 2016-08-02 | Amazon Technologies, Inc. | Data integrity verification |
US9911508B2 (en) * | 2014-09-18 | 2018-03-06 | Via Alliance Semiconductor Co., Ltd | Cache memory diagnostic writeback |
US10089240B2 (en) * | 2014-12-26 | 2018-10-02 | Wisconsin Alumni Research Foundation | Cache accessed using virtual addresses |
MA41915A (fr) * | 2015-04-07 | 2018-02-13 | Benjamin Gittins | Unités de requête de transfert de mémoire programmable |
US10229051B2 (en) * | 2015-12-30 | 2019-03-12 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
US10489303B2 (en) | 2016-03-10 | 2019-11-26 | Arm Limited | Multi-range lookup in translation lookaside buffer |
US10877897B2 (en) * | 2018-11-02 | 2020-12-29 | Intel Corporation | System, apparatus and method for multi-cacheline small object memory tagging |
-
2018
- 2018-12-28 US US16/236,117 patent/US11010067B2/en active Active
-
2019
- 2019-12-02 BR BR112021010475-5A patent/BR112021010475A2/pt unknown
- 2019-12-02 CN CN201980042311.5A patent/CN113260994A/zh active Pending
- 2019-12-02 JP JP2020565409A patent/JP7497806B2/ja active Active
- 2019-12-02 KR KR1020207036092A patent/KR20210097021A/ko unknown
- 2019-12-02 EP EP19903331.7A patent/EP3903214A4/en active Pending
- 2019-12-02 WO PCT/US2019/063994 patent/WO2020139517A1/en unknown
-
2021
- 2021-05-11 US US17/317,716 patent/US11733880B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080133629A1 (en) | 2001-06-01 | 2008-06-05 | Mips Technologies, Inc. | Random Cache Line Refill |
US20130111132A1 (en) | 2010-07-28 | 2013-05-02 | Rambus Inc. | Cache Memory That Supports Tagless Addressing |
US20160092702A1 (en) | 2014-09-26 | 2016-03-31 | David M. Durham | Cryptographic ponter address encoding |
JP2017167582A (ja) | 2016-03-14 | 2017-09-21 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200210070A1 (en) | 2020-07-02 |
US11010067B2 (en) | 2021-05-18 |
WO2020139517A1 (en) | 2020-07-02 |
CN113260994A (zh) | 2021-08-13 |
US11733880B2 (en) | 2023-08-22 |
EP3903214A4 (en) | 2022-09-07 |
JP2022514803A (ja) | 2022-02-16 |
EP3903214A1 (en) | 2021-11-03 |
US20210349634A1 (en) | 2021-11-11 |
BR112021010475A2 (pt) | 2021-08-24 |
KR20210097021A (ko) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7497806B2 (ja) | コンピュータシステムの投機的サイドチャネル分析に対する防御 | |
US11620391B2 (en) | Data encryption based on immutable pointers | |
US11403234B2 (en) | Cryptographic computing using encrypted base addresses and used in multi-tenant environments | |
US11711201B2 (en) | Encoded stack pointers | |
US11625337B2 (en) | Encoded pointer based data encryption | |
US20200257827A1 (en) | Memory write for ownership access in a core | |
US20220382885A1 (en) | Cryptographic computing using encrypted base addresses and used in multi-tenant environments | |
US11669625B2 (en) | Data type based cryptographic computing | |
US11580035B2 (en) | Fine-grained stack protection using cryptographic computing | |
CN112149114A (zh) | 利用用于指示数据类型的隐藏内联元数据的存储器保护 | |
US20220121447A1 (en) | Hardening cpu predictors with cryptographic computing context information | |
US20240329861A1 (en) | Efficient caching and queueing for per-allocation non-redundant metadata | |
EP4202700A1 (en) | Transient side-channel aware architecture for cryptographic computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240202 |
|
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: 20240430 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240521 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7497806 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |