JP6704071B2 - 保護されていないハードウェアレジスタへの秘密データの安全なローディング - Google Patents
保護されていないハードウェアレジスタへの秘密データの安全なローディング Download PDFInfo
- Publication number
- JP6704071B2 JP6704071B2 JP2018568759A JP2018568759A JP6704071B2 JP 6704071 B2 JP6704071 B2 JP 6704071B2 JP 2018568759 A JP2018568759 A JP 2018568759A JP 2018568759 A JP2018568759 A JP 2018568759A JP 6704071 B2 JP6704071 B2 JP 6704071B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- hardware
- hardware registers
- registers
- sensitive data
- 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
- 238000000034 method Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000737 periodic effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/72—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 in cryptographic circuits
-
- 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
-
- 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]
-
- 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
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
-
- 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
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7257—Random modification not requiring correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
チップアーキテクチャにおいて、未使用のハードウェアレジスタと、機密データを取り扱わず、ロードされる時にチップ機能を妨害しない他の適切なハードウェアレジスタとをリストしている、事前定義されたリストにリストされた利用可能なハードウェアレジスタのセットを選択するステップ、
機密データハードウェアレジスタと、利用可能なハードウェアレジスタのセット内のハードウェアレジスタとのアドレスのインデクス可能レジスタリストを確立するステップ、
ループにおいて、機密データの一部が書き込まれる機密データハードウェアレジスタのおのおのにおける最後の書き込みを除いて、ランダムなデータを、ランダムな回数、ランダムな順序で、このレジスタリストにおける各ハードウェアレジスタに書き込むステップ。この発明はまた、機密レジスタへの書き込みが、2回以上のアクションを行うハードウェアチップにも適合し、少なくとも1つのアクションは、本発明の原理に従って実行される。
− インデクス可能リスト内の各ハードウェアレジスタにロード回数を関連付けるステップ、
− 関連付けられたロード回数と同じ回数、レジスタアドレスをリストするレジスタ書き込みシーケンスを確立するステップ、
− レジスタ書き込みシーケンスをシャッフルし、シャッフルされたレジスタ書き込みシーケンスにおける処理順序を決定するステップ、
− シャッフルされたレジスタ書き込みシーケンスにおける機密データレジスタの最後の発生を識別するステップ、
− シャッフルされたレジスタ書き込みシーケンスにおけるアドレスのすべてのセットについて、各ハードウェアレジスタに、ランダムなデータを書き込むステップ
を備えることを備える。
Claims (5)
- ハードウェア暗号動作をサポートするチップ(CH)上で、機密データ(K)を機密データハードウェアレジスタ(KR)のセットに安全にロードする方法であって、前記方法は、ソフトウェアの各実行時に、ソフトウェア命令によってモニタされる以下のステップ:
チップアーキテクチャにおいて、未使用のハードウェアレジスタと、機密データを取り扱わず、ロードされる時にチップ機能を妨害しない他の適切なハードウェアレジスタとをリストしている、事前定義されたリストにリストされた利用可能なハードウェアレジスタ(AR)のセット(ARs)を選択するステップ(P1)、
機密データハードウェアレジスタ(KR)と、利用可能なハードウェアレジスタのセット(ARs)内のハードウェアレジスタとのアドレスのインデクス可能レジスタリスト(RL)を確立するステップ(P2)、
ループにおいて、機密データ(K)の一部が書き込まれる機密データハードウェアレジスタ(KR)のおのおのにおける最後の書き込みを除いて、ランダムなデータを、ランダムな回数、ランダムな順序で、このレジスタリスト(RL)における各ハードウェアレジスタに書き込むステップ(P3)を備える、方法。 - 他の暗号ハードウェアのキーレジスタをさらに選択するステップを備える、請求項1に記載の方法。
- 書き込むステップ(P3)が、以下のステップ:
− インデクス可能レジスタリスト(RL)内の各ハードウェアレジスタにロード回数(FWC)を関連付けるステップ(T1)、
− 関連付けられたロード回数(FWC)と同じ回数、レジスタアドレスをリストするレジスタ書き込みシーケンス(RWS)を確立するステップ(T2)、
− レジスタ書き込みシーケンス(RWS)をシャッフルし(T3)、シャッフルされたレジスタ書き込みシーケンス(RWSs)における処理順序を決定するステップ、
− シャッフルされたレジスタ書き込みシーケンス(RWSs)における機密データレジスタ(KR)の最後の発生を識別するステップ、
− シャッフルされたレジスタ書き込みシーケンスにおけるアドレスのすべてのセットについて、各ハードウェアレジスタに、ランダムなデータを書き込むステップを備える、請求項1に記載の方法。 - 請求項1または2の方法を実装するチップ(CH)。
- 請求項1から3のいずれか一項に記載の方法を実装するための命令を有するコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16305841.5 | 2016-07-04 | ||
EP16305841.5A EP3267354A1 (en) | 2016-07-04 | 2016-07-04 | Secure loading of secret data to non-protected hardware registers |
PCT/EP2017/064494 WO2018007113A1 (en) | 2016-07-04 | 2017-06-14 | Secure loading of secret data to non-protected hardware registers |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019519866A JP2019519866A (ja) | 2019-07-11 |
JP6704071B2 true JP6704071B2 (ja) | 2020-06-03 |
Family
ID=56896484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018568759A Active JP6704071B2 (ja) | 2016-07-04 | 2017-06-14 | 保護されていないハードウェアレジスタへの秘密データの安全なローディング |
Country Status (6)
Country | Link |
---|---|
US (1) | US11157658B2 (ja) |
EP (2) | EP3267354A1 (ja) |
JP (1) | JP6704071B2 (ja) |
KR (1) | KR102219029B1 (ja) |
ES (1) | ES2843098T3 (ja) |
WO (1) | WO2018007113A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906015B (zh) * | 2021-01-26 | 2023-11-28 | 浙江大学 | 一种基于硬件标签的内存敏感数据加密保护系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11191149A (ja) * | 1997-12-26 | 1999-07-13 | Oki Electric Ind Co Ltd | Icカード用lsiおよびその使用方法 |
JP2000165375A (ja) * | 1998-11-30 | 2000-06-16 | Hitachi Ltd | 情報処理装置、icカード |
DE10213268A1 (de) * | 2002-03-25 | 2003-10-23 | Infineon Technologies Ag | Vorrichtung und Verfahren zum sicheren Laden von Nutzdaten |
US8065532B2 (en) * | 2004-06-08 | 2011-11-22 | Hrl Laboratories, Llc | Cryptographic architecture with random instruction masking to thwart differential power analysis |
EP2180631A1 (en) * | 2008-10-24 | 2010-04-28 | Gemalto SA | Cryptographic algorithm fault protections |
GB2489405B (en) * | 2011-03-22 | 2018-03-07 | Advanced Risc Mach Ltd | Encrypting and storing confidential data |
US9201656B2 (en) * | 2011-12-02 | 2015-12-01 | Arm Limited | Data processing apparatus and method for performing register renaming for certain data processing operations without additional registers |
-
2016
- 2016-07-04 EP EP16305841.5A patent/EP3267354A1/en not_active Withdrawn
-
2017
- 2017-06-14 JP JP2018568759A patent/JP6704071B2/ja active Active
- 2017-06-14 US US16/315,105 patent/US11157658B2/en active Active
- 2017-06-14 ES ES17729871T patent/ES2843098T3/es active Active
- 2017-06-14 WO PCT/EP2017/064494 patent/WO2018007113A1/en unknown
- 2017-06-14 EP EP17729871.8A patent/EP3479287B1/en active Active
- 2017-06-14 KR KR1020197002856A patent/KR102219029B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
WO2018007113A1 (en) | 2018-01-11 |
KR20190024985A (ko) | 2019-03-08 |
ES2843098T3 (es) | 2021-07-15 |
EP3267354A1 (en) | 2018-01-10 |
EP3479287B1 (en) | 2020-11-25 |
EP3479287A1 (en) | 2019-05-08 |
US20190311154A1 (en) | 2019-10-10 |
KR102219029B1 (ko) | 2021-02-22 |
US11157658B2 (en) | 2021-10-26 |
JP2019519866A (ja) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7101761B2 (ja) | コール・パス依存認証 | |
US9842212B2 (en) | System and method for a renewable secure boot | |
Yitbarek et al. | Cold boot attacks are still hot: Security analysis of memory scramblers in modern processors | |
EP3007093B1 (en) | System and method for reducing information leakage from memory | |
US8065532B2 (en) | Cryptographic architecture with random instruction masking to thwart differential power analysis | |
Tuck et al. | Hardware and binary modification support for code pointer protection from buffer overflow | |
US8826035B2 (en) | Cumulative integrity check value (ICV) processor based memory content protection | |
US9760737B2 (en) | Techniques for integrated circuit data path confidentiality and extensions thereof | |
US20120260106A1 (en) | System and method for binary layout randomization | |
WO2009057094A1 (en) | Memory randomization for protection against side channel attacks | |
JP5693927B2 (ja) | 故障利用攻撃の検出方法及び検出装置 | |
TW201224751A (en) | A tweakable encrypion mode for memory encryption with protection against replay attacks | |
CN106487499B (zh) | Rijndael算法的保护 | |
US20170046280A1 (en) | Data processing device and method for protecting a data processing device against attacks | |
JP6704071B2 (ja) | 保護されていないハードウェアレジスタへの秘密データの安全なローディング | |
US20220237304A1 (en) | Data Processing Device and Method for Processing Secret Data | |
Hossain et al. | Hexon: Protecting firmware using hardware-assisted execution-level obfuscation | |
EP3046095B1 (en) | A method of protecting diverse applications stored on an integrated circuit using PUFs | |
US20170134379A1 (en) | Method for securing an application and data | |
Sisejkovic et al. | Processor Integrity Protection | |
Adiletta et al. | LeapFrog: The Rowhammer Instruction Skip Attack | |
CN117411634A (zh) | 用于保护电子装置免受旁信道攻击的方法和电路 | |
Yousuf | Security of hard disk encryption | |
DETTBARN | Protecting the copyright of an embedded device with cryptography | |
Corallo | Securing Data on Compromised Hardware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200417 |
|
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: 20200428 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200511 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6704071 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |