JP2006510127A - データ処理装置内の命令タイミング制御 - Google Patents
データ処理装置内の命令タイミング制御 Download PDFInfo
- Publication number
- JP2006510127A JP2006510127A JP2005502328A JP2005502328A JP2006510127A JP 2006510127 A JP2006510127 A JP 2006510127A JP 2005502328 A JP2005502328 A JP 2005502328A JP 2005502328 A JP2005502328 A JP 2005502328A JP 2006510127 A JP2006510127 A JP 2006510127A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- conditional
- data
- timing mode
- processor
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims 1
- 230000004048 modification Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 23
- 230000000694 effects Effects 0.000 description 19
- 239000010813 municipal solid waste Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Images
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- 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
-
- 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/75—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 inhibiting the analysis of circuitry or operation
- G06F21/755—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 inhibiting the analysis of circuitry or operation with measures against power attack
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3875—Pipelining a single stage, e.g. superpipelining
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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
- 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/2123—Dummy operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
- Retry When Errors Occur (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
Description
終了するまでに最小のサイクル数と最大のサイクル数との間のサイクル数を必要とする少なくとも1つの可変タイミング命令を含む複数の異なるプログラム命令に応じて、終了するまでに多くの処理サイクルをそれぞれ必要とする個別の処理動作を実行するプロセッサを備え、
前記プロセッサは可変タイミング・モードで動作して、前記少なくとも1つの可変タイミング命令は終了するまでに可変の処理サイクル数をかけることが許され、また、
前記プロセッサは固定タイミング・モードで動作して、前記少なくとも1つの可変タイミング命令は終了するまでに前記最大のサイクル数をかけることを強制される。
或るハードウエア信号などによって装置を固定タイミング・モードにすることは可能であるが、本発明の好ましい実施の形態では、プログラマブル・モード制御用パラメータ(例えば、1ビットまたは複数のビット)によって可変タイミング・モードか固定タイミング・モードかを採用するようプロセッサを構成してよい。
プログラマブル・モード制御用パラメータを設定する好ましい方法は、装置制御用コプロセッサなどのシステム構成レジスタ内にこれを保存することである。
前記プロセッサを可変タイミング・モードで動作させて、前記少なくとも1つの可変タイミング命令は終了するまでに可変の処理サイクル数をかけることが許され、
前記プロセッサを固定タイミング・モードで動作させて、前記少なくとも1つの可変タイミング命令は終了するまでに前記最大のサイクル数をかけることを強制される、
ステップを含む。
動作を説明すると、プロセッサ・コア4はメモリ8から命令とデータとを取り出す。命令は命令パイプライン10に取り出され、例えば、取出し、復号、実行、メモリ、次の処理サイクルでの書き込みなど順次のパイプライン段を占める。パイプライン付きプロセッサ自体は、部分的に重ねることにより多数のプログラム命令を実質的に実行してプロセッサの性能を向上させる方法として周知である。
Claims (24)
- データ処理装置であって、
終了するまでに最小のサイクル数と最大のサイクル数との間のサイクル数を必要とする少なくとも1つの可変タイミング命令を含む複数の異なるプログラム命令に応じて、終了するまでに多くの処理サイクルをそれぞれ必要とする個別の処理動作を実行するプロセッサを備え、
前記プロセッサは可変タイミング・モードで動作して、前記少なくとも1つの可変タイミング命令は終了するまでに可変の処理サイクル数をかけることが許され、また、
前記プロセッサは固定タイミング・モードで動作して、前記少なくとも1つの可変タイミング命令は終了するまでに前記最大のサイクル数をかけることを強制される、
データ処理装置。 - 前記少なくとも1つの可変タイミング命令は条件付き命令を含み、前記プロセッサは前記可変タイミング・モードで動作して1つ以上の前に実行したプログラム命令の実行に応じて1つ以上の条件コード集合に従って前記条件付き命令の実行を抑制し、また前記プロセッサは前記固定タイミング・モードで動作して1つ以上の前に実行したプログラム命令の実行に応じて前記1つ以上の条件コード集合に関係なく固定の処理サイクル数で前記条件付き命令を終了する、請求項1記載のデータ処理装置。
- 前記条件付き命令を前記固定タイミング・モードで実行するとき、前記条件付きコードが前記可変タイミング・モードでは前記条件付き命令の実行を抑制する場合は、前記条件付き命令は後のデータ処理動作に影響を与える何らかの変更を行うことが禁じられる、請求項2記載のデータ処理装置。
- 前記条件付き命令が条件付き分岐命令である場合は、前記条件付き分岐命令を前記固定タイミング・モードで実行するとき、前記条件付きコードが前記可変タイミング・モードでは前記条件付き分岐命令の実行を抑制する場合は、前記条件付き分岐命令内で指定されている分岐先に関係なく、前記条件付き分岐命令は次の命令に分岐することを強制される、請求項3記載のデータ処理装置。
- 前記条件付き命令が条件付きデータ操作命令である場合は、前記条件付きデータ操作命令を前記固定タイミング・モードで実行するとき、前記条件付きコードが前記可変タイミング・モードでは前記条件付きデータ操作命令の実行を抑制する場合には、前記条件付きデータ操作命令は前記条件付きデータ操作命令のどの通常の結果宛先にも結果を書き込むことが禁じられる、請求項3記載のデータ処理装置。
- どの通常の宛先にも前記結果を書き込むことが禁じられる場合は、代わりに前記結果は少なくとも1つのダミー宛先に書き込まれる、請求項5記載のデータ処理装置。
- 前記少なくとも1つのダミー宛先はダミー・プロセッサ・レジスタを含む、請求項6記載のデータ処理装置。
- 前記少なくとも1つの可変タイミング命令は処理中の1つ以上のデータ値に従って早期終了を行うことが可能な命令を含み、また前記プロセッサは前記可変タイミング・モードで動作するときは早期終了が許され、前記プロセッサは前記固定タイミング・モードで動作するときは早期終了が禁じられる、請求項1記載のデータ処理装置。
- 早期終了が可能な前記命令は、
多重サイクル乗算命令と、
多重サイクル除算命令と、
多重サイクル加算命令と、
多重サイクル減算命令と
の1つである、請求項8記載のデータ処理装置。 - 前記プロセッサは、プログラマブル・モード制御用パラメータに従って前記可変タイミング・モードか前記固定タイミング・モードを採用する、先行請求項のどれかに記載のデータ処理装置。
- 前記プログラマブル・モード制御用パラメータはシステム構成レジスタ内に記憶される、請求項10記載のデータ処理装置。
- 前記プロセッサはプログラム実行経路を隠すために前記固定タイミング・モードに切り替えられる、先行請求項のどれかに記載のデータ処理装置。
- 終了するまでに最小のサイクル数と最大のサイクル数との間のサイクル数を必要とする少なくとも1つの可変タイミング命令を含む複数の異なるプログラム命令に応じて、終了するまでに多くの処理サイクル数をそれぞれ必要とする個別の処理動作を実行するプロセッサを用いてデータを処理する方法であって、
前記プロセッサを可変タイミング・モードで動作させて、前記少なくとも1つの可変タイミング命令は終了するまでに可変の処理サイクル数をかけることが許され、
前記プロセッサを固定タイミング・モードで動作させて、前記少なくとも1つの可変タイミング命令は終了するまでに前記最大のサイクル数をかけることを強制される、
ステップを含むデータを処理する方法。 - 前記少なくとも1つの可変タイミング命令は条件付き命令を含み、また更に前記プロセッサを前記可変タイミング・モードで動作させるときは1つ以上の前に実行したプログラム命令の実行に応じて1つ以上の条件コード集合に従って前記条件付き命令の実行を抑制し、また前記プロセッサを前記固定タイミング・モードで動作させるときは1つ以上の前に実行したプログラム命令の実行に応じて前記1つ以上の条件コード集合に関係なく固定の処理サイクル数で前記条件付き命令を終了することを含む、請求項13記載のデータを処理する方法。
- 前記条件付き命令を前記固定タイミング・モードで実行するとき、前記条件付きコードが前記可変タイミング・モードでは前記条件付き命令の実行を抑制する場合には、前記条件付き命令は後のデータ処理動作に影響を与える何らかの変更を行うことが禁じられる、請求項14記載のデータを処理する方法。
- 前記条件付き命令が条件付き分岐命令である場合は、前記条件付き分岐命令を前記固定タイミング・モードで実行するとき、前記条件付きコードが前記可変タイミング・モードでは前記条件付き分岐命令の実行を抑制する場合は、前記条件付き分岐命令内で指定されている分岐先に関係なく、前記条件付き分岐命令は次の命令に分岐することを強制される、請求項15記載のデータを処理する方法。
- 前記条件付き命令が条件付きデータ操作命令である場合は、前記条件付きデータ操作命令を前記固定タイミング・モードで実行するとき、前記条件付きコードが前記可変タイミング・モードでは前記条件付きデータ操作命令の実行を抑制する場合は、前記条件付きデータ操作命令は前記条件付きデータ操作命令のどの通常の結果宛先にも結果を書き込むことが禁じられる、請求項15記載のデータを処理する方法。
- どの通常の宛先にも前記結果を書き込むことが禁じられる場合は、代わりに前記結果は少なくとも1つのダミー宛先に書き込まれる、請求項17記載のデータを処理する方法。
- 前記少なくとも1つのダミー宛先はダミー・プロセッサ・レジスタを含む、請求項18記載のデータを処理する方法。
- 前記少なくとも1つの可変タイミング命令は処理中の1つ以上のデータ値に従って早期終了を行うことが可能な命令を含み、また更に前記プロセッサは前記可変タイミング・モードで動作するときは早期終了が許され、前記プロセッサは前記固定タイミング・モードで動作するときは早期終了が禁じられることを含む、請求項13記載のデータを処理する方法。
- 早期終了が可能な前記命令は、
多重サイクル乗算命令と、
多重サイクル除算命令と、
多重サイクル加算命令と、
多重サイクル減算命令と
の1つである、請求項20記載のデータを処理する方法。 - 前記プロセッサは、プログラマブル・モード制御用パラメータに従って前記可変タイミング・モードか前記固定タイミング・モードを採用する、請求項13から21のどれかに記載のデータを処理する方法。
- 前記プログラマブル・モード制御用パラメータはシステム構成レジスタ内に記憶される、請求項22記載のデータを処理する方法。
- 前記プロセッサはプログラム実行経路を隠すために前記固定タイミング・モードに切り替えられる、請求項13から23のどれかに記載のデータを処理する方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0229068.2A GB0229068D0 (en) | 2002-12-12 | 2002-12-12 | Instruction timing control within a data processing system |
GBGB0302650.7A GB0302650D0 (en) | 2002-12-12 | 2003-02-05 | Processing activity masking in a data processing system |
GBGB0302646.5A GB0302646D0 (en) | 2002-12-12 | 2003-02-05 | Processing activity masking in a data processing system |
GB0307823A GB2396229B (en) | 2002-12-12 | 2003-04-04 | Processing activity masking in a data processing system |
PCT/GB2003/004304 WO2004053685A1 (en) | 2002-12-12 | 2003-10-06 | Instruction timing control within a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006510127A true JP2006510127A (ja) | 2006-03-23 |
JP3848965B2 JP3848965B2 (ja) | 2006-11-22 |
Family
ID=32512449
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005502329A Pending JP2006510998A (ja) | 2002-12-12 | 2003-10-06 | データ処理システム内の処理アクティビティのマスキング |
JP2005502327A Expired - Lifetime JP4619288B2 (ja) | 2002-12-12 | 2003-10-06 | データ処理システムにおける処理動作マスキング |
JP2005502326A Expired - Fee Related JP4511461B2 (ja) | 2002-12-12 | 2003-10-06 | データ処理システムでの処理動作マスキング |
JP2005502328A Expired - Lifetime JP3848965B2 (ja) | 2002-12-12 | 2003-10-06 | データ処理装置内の命令タイミング制御 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005502329A Pending JP2006510998A (ja) | 2002-12-12 | 2003-10-06 | データ処理システム内の処理アクティビティのマスキング |
JP2005502327A Expired - Lifetime JP4619288B2 (ja) | 2002-12-12 | 2003-10-06 | データ処理システムにおける処理動作マスキング |
JP2005502326A Expired - Fee Related JP4511461B2 (ja) | 2002-12-12 | 2003-10-06 | データ処理システムでの処理動作マスキング |
Country Status (4)
Country | Link |
---|---|
US (4) | US7426629B2 (ja) |
JP (4) | JP2006510998A (ja) |
GB (3) | GB2406943B (ja) |
WO (4) | WO2004053683A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006202265A (ja) * | 2004-12-21 | 2006-08-03 | Denso Corp | マイクロコンピュータ |
JP2006309454A (ja) * | 2005-04-27 | 2006-11-09 | Denso Corp | プログラム制御方法及びプロセッサ |
US8699884B2 (en) | 2009-03-30 | 2014-04-15 | Fujitsu Limited | Optical transmission system and optical transmission method |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004053683A2 (en) * | 2002-12-12 | 2004-06-24 | Arm Limited | Processing activity masking in a data processing system |
US8065532B2 (en) | 2004-06-08 | 2011-11-22 | Hrl Laboratories, Llc | Cryptographic architecture with random instruction masking to thwart differential power analysis |
US20070081484A1 (en) * | 2004-07-29 | 2007-04-12 | Wang Michael M | Methods and apparatus for transmitting a frame structure in a wireless communication system |
US20080317142A1 (en) * | 2005-07-29 | 2008-12-25 | Qualcomm Incorporated | System and method for frequency diversity |
US8391410B2 (en) * | 2004-07-29 | 2013-03-05 | Qualcomm Incorporated | Methods and apparatus for configuring a pilot symbol in a wireless communication system |
US9246728B2 (en) | 2004-07-29 | 2016-01-26 | Qualcomm Incorporated | System and method for frequency diversity |
AU2005267809B2 (en) * | 2004-07-29 | 2010-02-11 | Qualcomm Incorporated | System and method for interleaving |
FR2875657B1 (fr) * | 2004-09-22 | 2006-12-15 | Trusted Logic Sa | Procede de securisation de traitements cryptographiques par le biais de leurres. |
US7725694B2 (en) * | 2004-12-21 | 2010-05-25 | Denso Corporation | Processor, microcomputer and method for controlling program of microcomputer |
CN101203859B (zh) * | 2005-04-21 | 2013-08-14 | 松下电器产业株式会社 | 程序难破解化装置和难破解化方法 |
US7769983B2 (en) * | 2005-05-18 | 2010-08-03 | Qualcomm Incorporated | Caching instructions for a multiple-state processor |
US9042212B2 (en) | 2005-07-29 | 2015-05-26 | Qualcomm Incorporated | Method and apparatus for communicating network identifiers in a communication system |
US9391751B2 (en) * | 2005-07-29 | 2016-07-12 | Qualcomm Incorporated | System and method for frequency diversity |
EP1920376A2 (en) * | 2005-08-24 | 2008-05-14 | Nxp B.V. | Processor hardware and software |
US8074059B2 (en) | 2005-09-02 | 2011-12-06 | Binl ATE, LLC | System and method for performing deterministic processing |
JP4783104B2 (ja) * | 2005-09-29 | 2011-09-28 | 株式会社東芝 | 暗号化/復号装置 |
EP1783648A1 (fr) * | 2005-10-10 | 2007-05-09 | Nagracard S.A. | Microprocesseur sécurisé avec vérification des instructions |
JP4882625B2 (ja) * | 2005-12-26 | 2012-02-22 | 株式会社デンソー | マイクロコンピュータ |
US20070288738A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for selecting a random processor to boot on a multiprocessor system |
US7594104B2 (en) * | 2006-06-09 | 2009-09-22 | International Business Machines Corporation | System and method for masking a hardware boot sequence |
US20070288761A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors |
US20070288740A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for secure boot across a plurality of processors |
US7774616B2 (en) * | 2006-06-09 | 2010-08-10 | International Business Machines Corporation | Masking a boot sequence by providing a dummy processor |
US20070288739A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for masking a boot sequence by running different code on each processor |
JP4680876B2 (ja) * | 2006-12-11 | 2011-05-11 | ルネサスエレクトロニクス株式会社 | 情報処理装置及び命令フェッチ制御方法 |
US7711927B2 (en) * | 2007-03-14 | 2010-05-04 | Qualcomm Incorporated | System, method and software to preload instructions from an instruction set other than one currently executing |
JP5146156B2 (ja) * | 2008-06-30 | 2013-02-20 | 富士通株式会社 | 演算処理装置 |
EP2367102B1 (en) * | 2010-02-11 | 2013-04-10 | Nxp B.V. | Computer processor and method with increased security properties |
GB2480296A (en) * | 2010-05-12 | 2011-11-16 | Nds Ltd | Processor with differential power analysis attack protection |
US8525545B1 (en) | 2011-08-26 | 2013-09-03 | Lockheed Martin Corporation | Power isolation during sensitive operations |
US8624624B1 (en) | 2011-08-26 | 2014-01-07 | Lockheed Martin Corporation | Power isolation during sensitive operations |
US8694862B2 (en) | 2012-04-20 | 2014-04-08 | Arm Limited | Data processing apparatus using implicit data storage data storage and method of implicit data storage |
JP5926655B2 (ja) * | 2012-08-30 | 2016-05-25 | ルネサスエレクトロニクス株式会社 | 中央処理装置および演算装置 |
US20150161401A1 (en) * | 2013-12-10 | 2015-06-11 | Samsung Electronics Co., Ltd. | Processor having a variable pipeline, and system-on-chip |
US9569616B2 (en) | 2013-12-12 | 2017-02-14 | Cryptography Research, Inc. | Gate-level masking |
US9558032B2 (en) | 2014-03-14 | 2017-01-31 | International Business Machines Corporation | Conditional instruction end operation |
US9454370B2 (en) | 2014-03-14 | 2016-09-27 | International Business Machines Corporation | Conditional transaction end instruction |
US10120681B2 (en) | 2014-03-14 | 2018-11-06 | International Business Machines Corporation | Compare and delay instructions |
US9305167B2 (en) * | 2014-05-21 | 2016-04-05 | Bitdefender IPR Management Ltd. | Hardware-enabled prevention of code reuse attacks |
US10049211B1 (en) * | 2014-07-16 | 2018-08-14 | Bitdefender IPR Management Ltd. | Hardware-accelerated prevention of code reuse attacks |
US10210350B2 (en) * | 2015-08-10 | 2019-02-19 | Samsung Electronics Co., Ltd. | Electronic device against side channel attacks |
KR102335203B1 (ko) * | 2015-08-10 | 2021-12-07 | 삼성전자주식회사 | 부채널 공격에 대응하는 전자 장치 |
US10459477B2 (en) | 2017-04-19 | 2019-10-29 | Seagate Technology Llc | Computing system with power variation attack countermeasures |
US10200192B2 (en) | 2017-04-19 | 2019-02-05 | Seagate Technology Llc | Secure execution environment clock frequency hopping |
US10270586B2 (en) | 2017-04-25 | 2019-04-23 | Seagate Technology Llc | Random time generated interrupts in a cryptographic hardware pipeline circuit |
US10511433B2 (en) | 2017-05-03 | 2019-12-17 | Seagate Technology Llc | Timing attack protection in a cryptographic processing system |
US10771236B2 (en) | 2017-05-03 | 2020-09-08 | Seagate Technology Llc | Defending against a side-channel information attack in a data storage device |
FR3071121B1 (fr) * | 2017-09-14 | 2020-09-18 | Commissariat Energie Atomique | Procede d'execution d'un code binaire d'une fonction securisee par un microprocesseur |
US11308239B2 (en) | 2018-03-30 | 2022-04-19 | Seagate Technology Llc | Jitter attack protection circuit |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239837A (ja) * | 1993-12-21 | 1995-09-12 | General Instr Corp Of Delaware | 秘密保護マイクロプロセッサのためのクロック周波数変調 |
JP2001266103A (ja) * | 2000-01-12 | 2001-09-28 | Hitachi Ltd | Icカードとマイクロコンピュータ |
JP2004522221A (ja) * | 2001-01-17 | 2004-07-22 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | Cpuのセキュリティーを高めるための方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4064558A (en) * | 1976-10-22 | 1977-12-20 | General Electric Company | Method and apparatus for randomizing memory site usage |
US4168396A (en) * | 1977-10-31 | 1979-09-18 | Best Robert M | Microprocessor for executing enciphered programs |
US4593353A (en) * | 1981-10-26 | 1986-06-03 | Telecommunications Associates, Inc. | Software protection method and apparatus |
JPS59739A (ja) * | 1982-06-28 | 1984-01-05 | Fujitsu Ltd | マイクロプログラム処理装置における時間保障方式 |
JPS595354A (ja) | 1982-06-30 | 1984-01-12 | Fujitsu Ltd | デ−タ処理装置 |
JP2562838B2 (ja) * | 1989-02-10 | 1996-12-11 | 富士通株式会社 | プロセッサ及びストアバッファ制御方法 |
US5574912A (en) * | 1990-05-04 | 1996-11-12 | Digital Equipment Corporation | Lattice scheduler method for reducing the impact of covert-channel countermeasures |
GB2282245B (en) * | 1993-09-23 | 1998-04-15 | Advanced Risc Mach Ltd | Execution of data processing instructions |
IL110181A (en) * | 1994-06-30 | 1998-02-08 | Softchip Israel Ltd | Install microprocessor and peripherals |
US5675645A (en) * | 1995-04-18 | 1997-10-07 | Ricoh Company, Ltd. | Method and apparatus for securing executable programs against copying |
FR2745924B1 (fr) * | 1996-03-07 | 1998-12-11 | Bull Cp8 | Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre |
JP3683031B2 (ja) * | 1996-04-17 | 2005-08-17 | 株式会社リコー | プログラム保護装置 |
US5802360A (en) * | 1996-05-01 | 1998-09-01 | Lucent Technologies Inc. | Digital microprocessor device having dnamically selectable instruction execution intervals |
US6192475B1 (en) * | 1997-03-31 | 2001-02-20 | David R. Wallace | System and method for cloaking software |
FR2765361B1 (fr) * | 1997-06-26 | 2001-09-21 | Bull Cp8 | Microprocesseur ou microcalculateur imprevisible |
EP1019794B1 (en) * | 1997-10-02 | 2008-08-20 | Koninklijke Philips Electronics N.V. | Data processing device for processing virtual machine instructions |
US6327661B1 (en) * | 1998-06-03 | 2001-12-04 | Cryptography Research, Inc. | Using unpredictable information to minimize leakage from smartcards and other cryptosystems |
US6216223B1 (en) * | 1998-01-12 | 2001-04-10 | Billions Of Operations Per Second, Inc. | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor |
WO1999067766A2 (en) * | 1998-06-03 | 1999-12-29 | Cryptography Research, Inc. | Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems |
CA2243761C (en) * | 1998-07-21 | 2009-10-06 | Certicom Corp. | Timing attack resistant cryptographic system |
US6332215B1 (en) | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
FR2787900B1 (fr) * | 1998-12-28 | 2001-02-09 | Bull Cp8 | Circuit integre intelligent |
US6804782B1 (en) * | 1999-06-11 | 2004-10-12 | General Instrument Corporation | Countermeasure to power attack and timing attack on cryptographic operations |
US6609201B1 (en) * | 1999-08-18 | 2003-08-19 | Sun Microsystems, Inc. | Secure program execution using instruction buffer interdependencies |
FR2802733B1 (fr) * | 1999-12-21 | 2002-02-08 | St Microelectronics Sa | Bascule de type d maitre-esclave securisee |
JP4168305B2 (ja) * | 2000-01-12 | 2008-10-22 | 株式会社ルネサステクノロジ | Icカードとマイクロコンピュータ |
CA2298990A1 (en) * | 2000-02-18 | 2001-08-18 | Cloakware Corporation | Method and system for resistance to power analysis |
US20020032558A1 (en) * | 2000-03-10 | 2002-03-14 | Paul Strong | Method and apparatus for enhancing the performance of a pipelined data processor |
ATE366443T1 (de) * | 2000-05-22 | 2007-07-15 | Infineon Technologies Ag | Sicherheits-datenverarbeitungseinheit sowie dazugehöriges verfahren |
US6625737B1 (en) * | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
GB2367653B (en) | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
WO2004053683A2 (en) * | 2002-12-12 | 2004-06-24 | Arm Limited | Processing activity masking in a data processing system |
-
2003
- 2003-10-06 WO PCT/GB2003/004256 patent/WO2004053683A2/en active Application Filing
- 2003-10-06 WO PCT/GB2003/004261 patent/WO2004053662A2/en active Application Filing
- 2003-10-06 WO PCT/GB2003/004304 patent/WO2004053685A1/en active Application Filing
- 2003-10-06 JP JP2005502329A patent/JP2006510998A/ja active Pending
- 2003-10-06 GB GB0502061A patent/GB2406943B/en not_active Expired - Fee Related
- 2003-10-06 US US10/527,960 patent/US7426629B2/en active Active
- 2003-10-06 GB GB0423310A patent/GB2403572B/en not_active Expired - Lifetime
- 2003-10-06 GB GB0501017A patent/GB2406684B/en not_active Expired - Lifetime
- 2003-10-06 JP JP2005502327A patent/JP4619288B2/ja not_active Expired - Lifetime
- 2003-10-06 US US10/512,093 patent/US7134003B2/en not_active Expired - Lifetime
- 2003-10-06 JP JP2005502326A patent/JP4511461B2/ja not_active Expired - Fee Related
- 2003-10-06 US US10/527,575 patent/US7313677B2/en not_active Expired - Lifetime
- 2003-10-06 WO PCT/GB2003/004313 patent/WO2004053684A2/en active Application Filing
- 2003-10-06 JP JP2005502328A patent/JP3848965B2/ja not_active Expired - Lifetime
- 2003-10-06 US US10/527,812 patent/US20060117167A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239837A (ja) * | 1993-12-21 | 1995-09-12 | General Instr Corp Of Delaware | 秘密保護マイクロプロセッサのためのクロック周波数変調 |
JP2001266103A (ja) * | 2000-01-12 | 2001-09-28 | Hitachi Ltd | Icカードとマイクロコンピュータ |
JP2004522221A (ja) * | 2001-01-17 | 2004-07-22 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | Cpuのセキュリティーを高めるための方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006202265A (ja) * | 2004-12-21 | 2006-08-03 | Denso Corp | マイクロコンピュータ |
JP4702004B2 (ja) * | 2004-12-21 | 2011-06-15 | 株式会社デンソー | マイクロコンピュータ |
JP2006309454A (ja) * | 2005-04-27 | 2006-11-09 | Denso Corp | プログラム制御方法及びプロセッサ |
US8699884B2 (en) | 2009-03-30 | 2014-04-15 | Fujitsu Limited | Optical transmission system and optical transmission method |
Also Published As
Publication number | Publication date |
---|---|
GB0501017D0 (en) | 2005-02-23 |
WO2004053685A1 (en) | 2004-06-24 |
JP2006510126A (ja) | 2006-03-23 |
WO2004053683A3 (en) | 2004-08-05 |
GB0502061D0 (en) | 2005-03-09 |
JP2006510998A (ja) | 2006-03-30 |
US20060117167A1 (en) | 2006-06-01 |
WO2004053683A2 (en) | 2004-06-24 |
WO2004053684A3 (en) | 2004-08-12 |
JP4619288B2 (ja) | 2011-01-26 |
WO2004053684A2 (en) | 2004-06-24 |
US7313677B2 (en) | 2007-12-25 |
JP4511461B2 (ja) | 2010-07-28 |
US7426629B2 (en) | 2008-09-16 |
US20060155962A1 (en) | 2006-07-13 |
GB2403572A (en) | 2005-01-05 |
JP3848965B2 (ja) | 2006-11-22 |
GB2406943B (en) | 2005-10-05 |
GB0423310D0 (en) | 2004-11-24 |
JP2006522375A (ja) | 2006-09-28 |
US7134003B2 (en) | 2006-11-07 |
GB2406684B (en) | 2005-08-24 |
US20050289331A1 (en) | 2005-12-29 |
WO2004053662A3 (en) | 2004-08-12 |
US20060036833A1 (en) | 2006-02-16 |
GB2406943A (en) | 2005-04-13 |
GB2406684A (en) | 2005-04-06 |
GB2403572B (en) | 2005-11-09 |
WO2004053662A2 (en) | 2004-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3848965B2 (ja) | データ処理装置内の命令タイミング制御 | |
KR102558104B1 (ko) | 호출 경로 의존 인증 | |
US9582650B2 (en) | Security of program executables and microprocessors based on compiler-architecture interaction | |
JP7105699B2 (ja) | プログラム・ループ制御 | |
US7877577B2 (en) | Information processor and instruction fetch control method | |
US11307856B2 (en) | Branch target variant of branch-with-link instruction | |
KR102379886B1 (ko) | 벡터 명령 처리 | |
JP2010282651A (ja) | データ処理システムにおける処理動作マスキング | |
Winderix et al. | Architectural Mimicry: Innovative Instructions to Efficiently Address Control-Flow Leakage in Data-Oblivious Programs | |
US20230259605A1 (en) | Authentication code generation/checking instructions | |
GB2396229A (en) | Processor to register writing masking by writing to normal register or to a trash register | |
WO2024028565A1 (en) | No-operation-compatible instruction | |
Morse | Self-spectre, write-execute and the hidden state | |
KR20230158569A (ko) | 집적회로에서 프로그램을 보호하는 방법 | |
JP2001195252A (ja) | マスク技術による無効で分岐効率向上を図るプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060817 |
|
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: 20060822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060828 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3848965 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |