JP2006155140A - 情報処理装置、および、そのアドレス制御方法 - Google Patents
情報処理装置、および、そのアドレス制御方法 Download PDFInfo
- Publication number
- JP2006155140A JP2006155140A JP2004343648A JP2004343648A JP2006155140A JP 2006155140 A JP2006155140 A JP 2006155140A JP 2004343648 A JP2004343648 A JP 2004343648A JP 2004343648 A JP2004343648 A JP 2004343648A JP 2006155140 A JP2006155140 A JP 2006155140A
- Authority
- JP
- Japan
- Prior art keywords
- value
- address
- program counter
- conversion unit
- information processing
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
【解決手段】CPUと記憶装置を備える情報処理装置において、プログラムカウンタの更新に用いられるアドレス変位値を格納するレジスタの値を、任意の値αによってマスクする。このマスクしたアドレス変位値に従って、プログラムカウンタの値を順次更新する。また、アドレスを受信する側、すなわち記憶装置側にアドレス逆変換装置を備え、マスクされたアドレスを逆変換することで、対応するアドレスを得て、CPUが記憶装置へのアクセスをおこなえるようにする。
【選択図】 図1
Description
0000→0010→0012→0014→0016→0018→001A→001C→001E→0020→ …
となるのに対して、処理系列2のプログラムカウンタの変化は、
0000→001A→001C→001E→0020→0022→0024→0026→0028→002A→ …
となる。
1→1→2→1→3→1→2→1→5→ …
であるのに対して、系列2では、
3→2→1→5→1→2→1→3→1→ …
となり、明らかに消費電力の系列が異なることがわかる。このことから、アタッカーは分岐条件が成立したかどうかを知ることができる。
V = 1;
for (i = 0; i < Len(x); i++){
V = V2 mod N;
if (x[i] == 1){ ……(*)
V = V×y mod N;
}
}
return V;
本アルゴリズムでは、(*)における条件分岐の成立・不成立が、秘密鍵xの各ビットに依存している。すなわち、条件分岐の成立・不成立が判明すれば、秘密鍵を特定することができる。本アルゴリズムでは、分岐が成立した場合にVにyを乗じる処理が行われる。この際のPC値の変化系列は明らかに分岐が不成立の場合と異なるため、上述した理由によって、秘密鍵を特定することができるのである。
先ず、図2および図3を用いて本発明に係るマイクロコンピュータとICカードへの実装の様子について説明する。
図2は、本発明に係るマイクロコンピュータをICカードに実装した様子を示す図である。
図3は、本発明に係るマイクロコンピュータの基本構成を示す構成図である。
以下、図1、図4ないし図9を用いて本発明に係る第一の実施形態について説明する。
図1は、本発明の第一の実施形態に係る情報処理装置の構成図である。
また、マスク値αを16進表記で、2B37とする。
最初にISRの値を更新するときには、dとαの積をとる。この値をd'とすると、
d'=|ISR|=d・α=2×(2B37) …(式3)
である。
α・β≡1 mod 216 …(式4)
(2B37)・β≡1 mod 216
である。
LA'=k・d'= k・2α …(式5)
この式5に式4のβをかけると、
LA=LA' ・β=k・d'・β= k・2α・β …(式6)
≡ 2k mod 2n
として、LAを求めることができる。
図4は、PCの変化系列ごとのハミング距離の変化を表したグラフである。
0000→0010→0012→0014→0016→0018→001A→001C→001E→0020→ …(系列1)
であるとき、ハミング距離の系列は、
1→1→2→1→3→1→2→1→5→ …
である。
これに対応するハミング距離の系列は、以下の通りである。
一方、別のマスク値D4C9を用いた場合、PC値の変化系列は、以下のように変化する。
これに対応するハミング距離の系列は、以下の通りである。
このように、同一のPC値の変化系列も、マスク値によってハミング距離の系列が変化する。図4は、三つの異なるマスク値を用いて、同一のPC値の変化系列をマスクした場合の、ハミング距離の系列を示したものである。マスク値によってハミング距離の系列が異なる挙動となるため、消費電力がハミング距離に比例して現れることから、消費電力を観察しても有用な情報を得ることができないことがわかる
次に、図5および図6を用いて本発明の第一の実施形態に係る情報処理装置のアドレスに関する処理について説明する。
図5は、アドレス変換装置ATEの構成図である。
図6は、アドレス逆変換装置ATDの構成図である。
以下、図7ないし図9を用いて本発明に係る第二の実施形態について説明する。
図7は、アドレス変換装置ATEUの構成図である。
図8は、アドレス逆変換装置ATDUの構成図である。
図9は、本発明の第二の実施形態に係る情報処理装置の信号線におけるデータの流れを表すタイミングチャートである。
以下、図10を用いて本発明に係る第三の実施形態を説明する。
図10は、本発明の第三の実施形態に係る情報処理装置の構成図である。
以下、図11を用いて本発明に係る第四の実施形態を説明する。
図11は、本発明の第四の実施形態に係る情報処理装置の構成図である。
以下、図12を用いて本発明に係る第五の実施形態を説明する。
図12は、本発明の第五の実施形態に係る情報処理装置の構成図である。
以下、図13を用いて本発明に係る第六の実施形態を説明する。
図13は、本発明の第六の実施形態に係る情報処理装置の構成図である。
402…ATR値転送バス
502…選択情報転送バス
CPU…中央演算装置
PC…プログラムカウンタ
I/O…入出力装置および入出力ポート
ATE…アドレス変換装置
ISR…インクリメントアドレスレジスタ
RNG…乱数生成器
SYSCL…システムコントローラ
SECL…セキュリティロジック
TIM…タイマー
ATD…アドレス逆変換装置
ATR…アドレス逆変換用パラメータレジスタ
ROM…読み出し専用不揮発性メモリ
EEPROM…書き換え可能不揮発性メモリ
RAM…書き換え可能揮発性メモリ
CPR…コプロセッサ
CRAM…コプロセッサメモリ
Vcc…電源入力端子
Vss…接地端子
RST…リセット入力端子
CLK…クロック入力端子
CLKG…システムクロック生成器
INV…逆元計算器
ADD…加算器
MUL…乗算器
SELO…二出力から一方を選択するセレクタ
SELI…二入力から一方を選択するセレクタ
βE…β値のフェッチを指示する信号線
101、301、401、501、AB…暗号化された可能性のあるアドレスバス
PB…暗号化されていないアドレスバス
UE…マスク値更新を指示する信号線
TR…一時値保存用レジスタ
Claims (10)
- プログラムカウンタを有する中央処理装置と前記中央処理装置からアクセスされる記憶装置とを備える情報処理装置において、
さらに、アドレス変位値レジスタを有するアドレス変位値変換部とアドレス逆変換部とを備え、
前記アドレス変位値変換部は、前記アドレス変位値レジスタに格納された値を暗号化して、その暗号化した値により前記プログラムカウンタを順次更新して、
前記プログラムカウンタの値をバスを介して前記アドレス逆変換部に転送し、
前記アドレス逆変換部は、転送されてくる前記プログラムカウンタの値を復号化して、前記中央処理装置が前記記憶装置にアクセスするためのアドレスを求めることを特徴とする情報処理装置。 - 前記アドレス変位値変換装置は、任意値生成器を備え、前記アドレス変位値レジスタの値は、前記アドレス変位値レジスタの初期値と前記任意値生成器が生成した値とを演算した値であることを特徴とする請求項1に記載の情報処理装置。
- 前記任意値生成器が生成する値は、真正乱数または擬似乱数であることを特徴とする請求項2記載の情報処理装置。
- 前記アドレス逆変換部が、前記プログラムカウンタを復号化するための値を前記バスを介して転送することを特徴とする請求項1記載の情報処理装置。
- 前記アドレス逆変換部が、前記プログラムカウンタを復号化するための値を転送するための専用のバスを有することを特徴とする請求項1記載の情報処理装置。
- 前記アドレス変位値レジスタとマスク値を乗算した数が、前記プログラムカウンタを更新する増加値であって、
前記マスク値の元数2nの有限環における逆元を求めて、その逆元により前記アドレス逆変換部が、転送されてくる前記プログラムカウンタの復号化をおこなうことを特徴とする請求項1記載の情報処理装置。 - プログラムカウンタを有する中央処理装置と前記中央処理装置からアクセスされる記憶装置とを備える情報処理装置のアドレス制御方法において、
前記情報処理装置は、さらに、アドレス変位値レジスタを有するアドレス変位値変換部とアドレス逆変換部と任意値生成器とを備え、
前記アドレス変位値レジスタに値を設定する手順と、
前記任意値生成器が、真正乱数または擬似乱数により生成されるマスク値を生成する手順と、
前記アドレス変位値変換部が、前記アドレス変位値レジスタの値と前記マスク値を演算する手順と、
前記アドレス変位値レジスタの値と前記マスク値を演算した値によって、前記プログラムカウンタを更新する手順と、
前記プログラムカウンタを復号化するために必要な値を、前記マスク値に基づき求める手順と、
前記プログラムカウンタを復号化するために必要な値をバスを介して前記アドレス逆変換部に転送する手順と、
前記プログラムカウンタの値をバスを介して前記アドレス逆変換部に転送する手順と、
前記アドレス逆変換部が、前記プログラムカウンタを復号化するために必要な値に基づき転送されてくる前記プログラムカウンタの値を復号化してアドレスを求める手順と、
前記復号化されたアドレスにより、前記中央処理装置が前記記憶装置にアクセスする手順とを有することを特徴とする情報処理装置のアドレス制御方法。 - プログラムカウンタを有する中央処理装置と前記中央処理装置からアクセスされる記憶装置とを備える情報処理装置のアドレス制御方法において、
前記情報処理装置は、さらに、アドレス変位値レジスタを有するアドレス変位値変換部とアドレス逆変換部と任意値生成器とを備え、
前記アドレス変位値レジスタに値dを設定する手順と、
前記任意値生成器が、真正乱数または擬似乱数により生成されるマスク値αを生成する手順と、
前記アドレス変位値変換部が、前記アドレス変位値レジスタの値dと前記マスク値αとの乗算値d×αを演算する手順と、
前記アドレス変位値レジスタdの値と前記マスク値αとの乗算値d×αにより前記プログラムカウンタをインクリメントする手順と、
前記プログラムカウンタを復号化するために必要な値として、前記マスク値αの元数2nの有限環における逆元βを求める手順と、
前記プログラムカウンタを復号化するために必要な値βをバスを介して前記アドレス逆変換部に転送する手順と、
前記アドレス逆変換部が、前記プログラムカウンタを復号化するために必要な値βに基づき転送されてくる前記プログラムカウンタの値を復号化してアドレスを求める手順と、
前記復号化されたアドレスにより、前記中央処理装置が前記記憶装置にアクセスする手順とを有することを特徴とする情報処理装置のアドレス制御方法。 - 前記アドレス変位値レジスタに値を設定する手順を、前記中央処理装置がプログラムを開始する前におこなうことを特徴とする請求項7記載の情報処理装置のアドレス制御方法。
- 前記任意値生成器がマスク値を生成する手順を、前記中央処理装置が動作中の任意の時点でおこなうことを特徴とする請求項7記載の情報処理装置のアドレス制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004343648A JP4664655B2 (ja) | 2004-11-29 | 2004-11-29 | 情報処理装置、および、そのアドレス制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004343648A JP4664655B2 (ja) | 2004-11-29 | 2004-11-29 | 情報処理装置、および、そのアドレス制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006155140A true JP2006155140A (ja) | 2006-06-15 |
JP4664655B2 JP4664655B2 (ja) | 2011-04-06 |
Family
ID=36633377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004343648A Expired - Fee Related JP4664655B2 (ja) | 2004-11-29 | 2004-11-29 | 情報処理装置、および、そのアドレス制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4664655B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465822A (zh) * | 2022-04-08 | 2022-05-10 | 北京网藤科技有限公司 | 针对plc的攻击向量的自动生成方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203237A (ja) * | 1998-01-16 | 1999-07-30 | Toshiba Corp | 半導体集積回路 |
JP2001195555A (ja) * | 2000-01-12 | 2001-07-19 | Hitachi Ltd | Icカードとマイクロコンピュータ |
JP2002328845A (ja) * | 2001-05-07 | 2002-11-15 | Fujitsu Ltd | 半導体集積回路及びicカードのセキュリティー保護方法 |
JP2003516071A (ja) * | 1999-12-02 | 2003-05-07 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | 暗号化機能を備えるマイクロプロセッサ装置 |
JP2003296104A (ja) * | 2002-04-05 | 2003-10-17 | Hitachi Ltd | プロセッサおよびアセンブラ/コンパイラ |
JP2004126841A (ja) * | 2002-10-01 | 2004-04-22 | Renesas Technology Corp | プログラム実装方法 |
-
2004
- 2004-11-29 JP JP2004343648A patent/JP4664655B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203237A (ja) * | 1998-01-16 | 1999-07-30 | Toshiba Corp | 半導体集積回路 |
JP2003516071A (ja) * | 1999-12-02 | 2003-05-07 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | 暗号化機能を備えるマイクロプロセッサ装置 |
JP2001195555A (ja) * | 2000-01-12 | 2001-07-19 | Hitachi Ltd | Icカードとマイクロコンピュータ |
JP2002328845A (ja) * | 2001-05-07 | 2002-11-15 | Fujitsu Ltd | 半導体集積回路及びicカードのセキュリティー保護方法 |
JP2003296104A (ja) * | 2002-04-05 | 2003-10-17 | Hitachi Ltd | プロセッサおよびアセンブラ/コンパイラ |
JP2004126841A (ja) * | 2002-10-01 | 2004-04-22 | Renesas Technology Corp | プログラム実装方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465822A (zh) * | 2022-04-08 | 2022-05-10 | 北京网藤科技有限公司 | 针对plc的攻击向量的自动生成方法及系统 |
CN114465822B (zh) * | 2022-04-08 | 2022-07-22 | 北京网藤科技有限公司 | 针对plc的攻击向量的自动生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP4664655B2 (ja) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7949883B2 (en) | Cryptographic CPU architecture with random instruction masking to thwart differential power analysis | |
Suh et al. | Aegis: A single-chip secure processor | |
Saputra et al. | Masking the energy behavior of DES encryption [smart cards] | |
US6345359B1 (en) | In-line decryption for protecting embedded software | |
De Mulder et al. | Protecting RISC-V against side-channel attacks | |
US6691921B2 (en) | Information processing device | |
US20040025032A1 (en) | Method and system for resistance to statiscal power analysis | |
JP5146156B2 (ja) | 演算処理装置 | |
JP4683442B2 (ja) | 処理装置および集積回路 | |
JP4199937B2 (ja) | 耐タンパー暗号処理方法 | |
WO2016190924A2 (en) | Side channel analysis resistant architecture | |
EP2987086A2 (en) | Secure computing | |
US20170046280A1 (en) | Data processing device and method for protecting a data processing device against attacks | |
JP2004054834A (ja) | プログラム開発方法、プログラム開発支援装置およびプログラム実装方法 | |
CN108959129B (zh) | 一种基于硬件的嵌入式系统机密性保护方法 | |
JP2004109420A (ja) | 乱数生成装置及び乱数生成方法 | |
JP2004126841A (ja) | プログラム実装方法 | |
TW494306B (en) | Secret code protection circuit capable of protecting read only memory data | |
JP2005149262A (ja) | 情報処理装置 | |
JP4664655B2 (ja) | 情報処理装置、および、そのアドレス制御方法 | |
Zheng et al. | Securing embedded systems and their IPs with digital reconfigurable PUFs | |
Hossain et al. | Hexon: Protecting firmware using hardware-assisted execution-level obfuscation | |
KR20100015077A (ko) | 시스템 온 칩에서 암호화 방법 및 장치 | |
Saputra et al. | Masking the energy behaviour of encryption algorithms | |
US20230106942A1 (en) | Method of communication between functional blocks in a system-on-chip and system-on-chip thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071120 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071120 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100510 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101206 |
|
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: 20101221 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110107 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140114 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |