JP2013029835A - サイドチャネル攻撃に対抗する方法 - Google Patents
サイドチャネル攻撃に対抗する方法 Download PDFInfo
- Publication number
- JP2013029835A JP2013029835A JP2012164539A JP2012164539A JP2013029835A JP 2013029835 A JP2013029835 A JP 2013029835A JP 2012164539 A JP2012164539 A JP 2012164539A JP 2012164539 A JP2012164539 A JP 2012164539A JP 2013029835 A JP2013029835 A JP 2013029835A
- Authority
- JP
- Japan
- Prior art keywords
- function
- adr
- memory
- variable
- address
- 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
- 230000006870 function Effects 0.000 claims abstract description 88
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 40
- 230000000873 masking effect Effects 0.000 claims abstract description 15
- 238000012886 linear function Methods 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 38
- 230000000295 complement effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- 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/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
-
- 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
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本発明は、サイドチャネル攻撃に対抗する方法に関する。当該方法は、中間変数をマスクするためのブロック暗号アルゴリズムを実行することから成り、このブロック暗号アルゴリズムは、1つ以上の非線形関数を有する。
【解決手段】
この課題は、前記1つ以上の非線形関数のうちの少なくとも1つの非線形関数が、マッチ・イン・プレース関数を使用して実行されることによって解決される。
【選択図】 図1
Description
この場合、adrは、メモリ内の1つのアドレスである。dataは、メモリ内の1つのアドレスに記憶される1つの変数である。bは、このdataの変数がメモリ内のこのアドレスに存在する実際のデータに等しいときに戻される1つの値である。このdataの変数がメモリ内のこのアドレスに存在する実際のデータに等しくないときは、bの補数が戻される。bは、1ビットの値でもよい。
この場合、xは、compareb関数の第1入力変数である。yは、compareb関数の第2入力変数である。bは、xがyに等しいときに戻される1つの値である。その結果:
変数xをメモリ内の1つのアドレスadrに書き込み、
この場合、bは、1つのレジスタを指し示す1つのランダムビットを示す1つの変数である。aは、ステップ(a)−(c)が実行されなければならない回数を定義する1つのインデックスを示す1つの変数である。r1,r2は、一対の入力マスクである。
この場合、
s1,s2は、一対の出力マスクである。adrは、自由なメモリアドレスである。cmpは、1つのレジスタを指し示す1つのビット変数であり且つ関数MIPI(r2; adr; b)の1つの出力である。Rcmpは、マイクロプロセッサの1つのレジスタの1つのレジスタアドレスである。一般に、このマイクロプロセッサ内の少なくとも2つのレジスタR0及びR1が使用される(つまり、cmpは、0又は1であり得る。cmp=0のときに、第1レジスタR0が指し示される/アドレス付けされる。cmp=1のときに、第2レジスタR1が指し示される/アドレス付けされる。)。Rbは、マイクロプロセッサの1つのレジスタの1つのレジスタアドレスである。一般に、このマイクロプロセッサ内の少なくとも2つのレジスタR0及びR1が使用される(つまり、bは、0又は1であり得る。b=0のときに、レジスタR0が指し示される/アドレス付けされる。b=1のときに、レジスタR1が指し示される/アドレス付けされる。)。MIPI(r2; adr; b)は:
1.AddRoundKey:ステートの各バイトが、鍵スケジュール:
2.SubBytes:ステートの各バイトが、8ビットのSボックス関数:
Sボックス関数は:
この場合、Affは、GF(28)上のアフィン関数であり、
3.ShiftRows:ステートのバイトが、特定のオフセットによって行ごとに周期的にシフトされる。最初の行が変更されないままである。
4.MixColumns:ステートのバイトが、以下のコラム:
1.InvShiftRowsは、ShiftRows演算(暗号化のステージ3)の逆である。ステートのバイト(段落[0026]中で定義されているような、AES暗号で使用される一組の中間変数)が、特定のオフセットによって行ごとに周期的にシフトされる。当該バイトの最初の行が変更されないままである。
2.InvSubBytesは、SubBytes演算(暗号化のステージ2)の逆である。Sボックスの逆関数(S−1):
3.AddRoundKey:この演算は、この演算自体の逆に等しい。
4.InvMixColumnsは、MixColumns演算(暗号化のステージ4)の逆である。このステートのバイトが、以下のコラム:
逆暗号用の疑似コードが、図2中に示されている。
1.SubWordが、1つの4バイト入力ワードをとり、Sボックス(S(x))を4バイトの各々に対して適応させる。
2.RotWordは、入力として1ワード[a0;a1;a2;a3]をとり、[a1;a2;a3;a0]を戻すための周期的な置換を実行する。
3.Xor with Rconは、入力として32ビットの1ワード及びxorをとり、このxorは、ラウンド定数ワードアレイRcon[i]=[(02)i−1;00;00;00]、ラウンド1≦i≦10を伴う。我々は、鍵スケジュールの全ての記術に対して[5]を引用する。
したがって、3つの出力シェアf(p0)、f(p1)及びf(p2)が、出力f(p)の有効な分割である。AES暗号に対しては、AddRoundKey、ShiftRows及びMixColumnsの演算が、線形関数であり、したがって当該方法で処理され得る。しかしながら、(AESの場合のSボックス関数のような)SubByte演算は、非線形であり、異なって処理されなければならない。
入力: マスクされた1つの値は、
出力: 当該マスクされたSボックス関数が、
このとき、compareb関数は:
この場合、計算中の全ての中間変数が、
入力: マスクされた値
出力: マスクされたSボックス関数の出力
Claims (11)
- サイドチャネル攻撃に対抗する方法であって、当該方法は、中間変数をマスクするためのブロック暗号アルゴリズムを実行することから成り、このブロック暗号アルゴリズムは、1つ以上の非線形関数を有する当該方法において、
前記1つ以上の非線形関数のうちの少なくとも1つの非線形関数が、マッチ・イン・プレース関数を使用して実行される、ことを特徴とする方法。 - 前記マッチ・イン・プレース関数は、ビットをランダム化したマッチ・イン・プレース関数(MIPI(data; adr,b))である、ことを特徴とする請求項1に記載の方法。
- 前記非線形関数は、SubByte演算中に構成される、請求項1に記載の方法。
- 前記ブロック暗号アルゴリズムは、1つ以上の線形関数をさらに有し、前記1つ以上の線形関数のうちの少なくとも1つの線形関数が、当該関数の変数のXORをとることによって暗号化される、請求項1に記載の方法。
- 前記ブロック暗号アルゴリズムは、新暗号規格(AES)のアルゴリズムである、請求項1に記載の方法。
- コンピュータプログラムから成るコンピュータ読み取り可能媒体において、
前記コンピュータプログラムは、請求項1に記載の方法を実行するために構成されている、当該コンピュータ読み取り可能媒体。 -
bは、1つのレジスタを指し示す1つのランダムビットを示す1つの変数であり、aは、ステップ(a)−(c)が実行されなければならない回数を規定する1つのインデックスを示す1つの変数であり、r1,r2は、一対の入力マスクであり、
前記MIPI(r2; adr; b)は:
- コンピュータプログラムから成るコンピュータ読み取り可能媒体において、
前記コンピュータプログラムは、請求項10に記載の方法を実行するために構成されている、当該コンピュータ読み取り可能媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11290337 | 2011-07-26 | ||
EP11290337.2 | 2011-07-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013029835A true JP2013029835A (ja) | 2013-02-07 |
JP5892887B2 JP5892887B2 (ja) | 2016-03-23 |
Family
ID=47576770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012164539A Active JP5892887B2 (ja) | 2011-07-26 | 2012-07-25 | サイドチャネル攻撃に対抗する方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8971526B2 (ja) |
JP (1) | JP5892887B2 (ja) |
KR (1) | KR20130012940A (ja) |
CN (1) | CN102904716A (ja) |
RU (1) | RU2586020C2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020527743A (ja) * | 2017-06-28 | 2020-09-10 | タレス・ディス・フランス・エス・ア | Sboxを有する暗号プロセスを高次サイドチャネル攻撃からセキュアにする方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3012234B1 (fr) * | 2013-10-23 | 2017-02-24 | Proton World Int Nv | Protection de l'execution d'un algorithme contre des attaques par canaux caches |
EP2884387B1 (en) * | 2013-12-13 | 2016-09-14 | Thomson Licensing | Efficient modular addition resistant to side-channel attacks |
KR20150123476A (ko) * | 2014-04-25 | 2015-11-04 | 한국전자통신연구원 | 부채널 공격 방지를 위한 대칭키 암호 알고리즘의 함수 마스킹 장치 및 그 방법 |
RU2715021C2 (ru) * | 2014-12-22 | 2020-02-21 | Конинклейке Филипс Н.В. | Скрытие исполнения программы |
CN106161005B (zh) * | 2015-03-31 | 2019-05-07 | 北京南瑞智芯微电子科技有限公司 | 一种分组加密算法防攻击的掩码方法和装置 |
FR3040515B1 (fr) | 2015-09-02 | 2018-07-27 | St Microelectronics Rousset | Verification de la resistance d'un circuit electronique a des attaques par canaux caches |
FR3040514B1 (fr) * | 2015-09-02 | 2017-09-15 | Stmicroelectronics Rousset | Protection dpa d'un algorithme de rijndael |
NL2015745B1 (en) * | 2015-11-09 | 2017-05-26 | Koninklijke Philips Nv | A cryptographic device arranged to compute a target block cipher. |
US10103873B2 (en) * | 2016-04-01 | 2018-10-16 | Intel Corporation | Power side-channel attack resistant advanced encryption standard accelerator processor |
EP3475825B1 (en) | 2016-06-23 | 2023-01-25 | Cryptography Research, Inc. | Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks |
US10256973B2 (en) * | 2016-09-30 | 2019-04-09 | Intel Corporation | Linear masking circuits for side-channel immunization of advanced encryption standard hardware |
CN108234107B (zh) * | 2016-12-21 | 2022-11-22 | 国民技术股份有限公司 | 一种带仿射掩码的s盒变换方法及装置 |
EP3367606B1 (en) * | 2017-02-24 | 2019-09-18 | Secure-IC SAS | Automatic insertion of masking into an algorithm |
CN108809622B (zh) * | 2018-06-15 | 2021-10-26 | 上海科技大学 | 一种抗功耗侧信道攻击对策验证方法 |
RU2738321C1 (ru) * | 2018-09-20 | 2020-12-11 | Общество с ограниченной ответственностью "Цифра" | Способ криптографического преобразования и устройство для его осуществления |
CN111339577B (zh) * | 2020-02-12 | 2022-06-07 | 南京师范大学 | 一种具有优良dpa抗性s盒的构造方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007006184A (ja) * | 2005-06-24 | 2007-01-11 | Nippon Telegr & Teleph Corp <Ntt> | 暗号処理装置及び認証アプリケーションプログラム |
JP2008233683A (ja) * | 2007-03-22 | 2008-10-02 | Toshiba Corp | 暗号処理装置及びプログラム |
JP2009005164A (ja) * | 2007-06-22 | 2009-01-08 | Dainippon Printing Co Ltd | 暗号処理装置,暗号処理プログラム及び暗号処理方法 |
US20110129084A1 (en) * | 2009-09-29 | 2011-06-02 | Thales | Method of executing an algorithm for protecting an electronic device by affine masking and associated device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7848514B2 (en) * | 2004-05-24 | 2010-12-07 | Research In Motion Limited | Table masking for resistance to power analysis attacks |
FR2893796B1 (fr) * | 2005-11-21 | 2008-01-04 | Atmel Corp | Procede de protection par chiffrement |
CN101578813A (zh) * | 2007-01-11 | 2009-11-11 | 皇家飞利浦电子股份有限公司 | 跟踪实现的拷贝 |
US8615078B2 (en) * | 2009-08-21 | 2013-12-24 | Electronics And Telecommunications Research Institute | Method and apparatus for processing F-function in seed encryption system |
CN101938349A (zh) * | 2010-10-01 | 2011-01-05 | 北京航空航天大学 | 一种适用于硬件实现的s盒及其电路实现方法 |
-
2012
- 2012-07-12 US US13/547,098 patent/US8971526B2/en active Active
- 2012-07-25 JP JP2012164539A patent/JP5892887B2/ja active Active
- 2012-07-25 CN CN2012103240718A patent/CN102904716A/zh active Pending
- 2012-07-25 RU RU2012131957/08A patent/RU2586020C2/ru active
- 2012-07-26 KR KR1020120081695A patent/KR20130012940A/ko not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007006184A (ja) * | 2005-06-24 | 2007-01-11 | Nippon Telegr & Teleph Corp <Ntt> | 暗号処理装置及び認証アプリケーションプログラム |
JP2008233683A (ja) * | 2007-03-22 | 2008-10-02 | Toshiba Corp | 暗号処理装置及びプログラム |
JP2009005164A (ja) * | 2007-06-22 | 2009-01-08 | Dainippon Printing Co Ltd | 暗号処理装置,暗号処理プログラム及び暗号処理方法 |
US20110129084A1 (en) * | 2009-09-29 | 2011-06-02 | Thales | Method of executing an algorithm for protecting an electronic device by affine masking and associated device |
Non-Patent Citations (1)
Title |
---|
JPN6015017528; 中村俊吾,岩田哲: '2nd Orderサイドチャネル攻撃に対し安全でより効率的なS-boxの実装法' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] Symposium on Cry , 20100119, p.1-p.6 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020527743A (ja) * | 2017-06-28 | 2020-09-10 | タレス・ディス・フランス・エス・ア | Sboxを有する暗号プロセスを高次サイドチャネル攻撃からセキュアにする方法 |
JP7076482B2 (ja) | 2017-06-28 | 2022-05-27 | タレス・ディス・フランス・エス・ア | Sboxを有する暗号プロセスを高次サイドチャネル攻撃からセキュアにする方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102904716A (zh) | 2013-01-30 |
JP5892887B2 (ja) | 2016-03-23 |
KR20130012940A (ko) | 2013-02-05 |
RU2012131957A (ru) | 2014-01-27 |
US8971526B2 (en) | 2015-03-03 |
RU2586020C2 (ru) | 2016-06-10 |
US20130028412A1 (en) | 2013-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5892887B2 (ja) | サイドチャネル攻撃に対抗する方法 | |
JP4828526B2 (ja) | 暗号計算を実行するための方法及び装置 | |
US8325928B2 (en) | Security countermeasure for power analysis attacks | |
US8553877B2 (en) | Substitution table masking for cryptographic processes | |
US8515057B2 (en) | Method and device for executing crytographic calculation | |
US9515820B2 (en) | Protection against side channels | |
US20120170739A1 (en) | Method of diversification of a round function of an encryption algorithm | |
US10210776B2 (en) | DPA protection of a rijndael algorithm | |
US10243728B2 (en) | Verification of the resistance of an electronic circuit to side-channel attacks | |
US10187198B2 (en) | Protection of a rijndael algorithm | |
CN109726565B (zh) | 在抗泄漏原语中使用白盒 | |
KR101506499B1 (ko) | 마스킹이 적용된 seed를 이용한 암호화 방법 | |
US8958556B2 (en) | Method of secure cryptographic calculation, in particular, against attacks of the DFA and unidirectional type, and corresponding component | |
CN106936822B (zh) | 针对sms4抗高阶旁路分析的掩码实现方法及系统 | |
JP6793822B2 (ja) | テーブルベースの実装への2次以上のdca攻撃に対抗する方法 | |
KR101203474B1 (ko) | 암호화 프로세서를 갖는 단위 전자장치의 보안화 방법 | |
EP3484095A1 (en) | Computer-implemented cryptographic method and device for implementing this method | |
Shi et al. | On security of a white-box implementation of SHARK | |
EP2293488B1 (en) | Method for cryptographic processing of data units | |
TW201312982A (zh) | 旁通道攻擊的防禦方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151028 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160126 |
|
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: 20160210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5892887 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 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |