JP4625583B2 - アルゴリズムを実行する過程で電子回路により遂行される一連の有効オペレーションの安全性を確保する方法 - Google Patents

アルゴリズムを実行する過程で電子回路により遂行される一連の有効オペレーションの安全性を確保する方法 Download PDF

Info

Publication number
JP4625583B2
JP4625583B2 JP2000601513A JP2000601513A JP4625583B2 JP 4625583 B2 JP4625583 B2 JP 4625583B2 JP 2000601513 A JP2000601513 A JP 2000601513A JP 2000601513 A JP2000601513 A JP 2000601513A JP 4625583 B2 JP4625583 B2 JP 4625583B2
Authority
JP
Japan
Prior art keywords
operations
algorithm
valid
series
safety
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.)
Expired - Fee Related
Application number
JP2000601513A
Other languages
English (en)
Other versions
JP2003523549A (ja
Inventor
ファブリセ ロマイ,
Original Assignee
エステーミクロエレクトロニクス ソシエテ アノニム
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by エステーミクロエレクトロニクス ソシエテ アノニム filed Critical エステーミクロエレクトロニクス ソシエテ アノニム
Publication of JP2003523549A publication Critical patent/JP2003523549A/ja
Application granted granted Critical
Publication of JP4625583B2 publication Critical patent/JP4625583B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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/755Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2123Dummy operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、アルゴリズムを実行する過程で電子回路により遂行される一連のオペレーションの安全性を確保する方法に関する。
更に詳細には、本発明は、アルゴリズムを実行する過程で電子回路により遂行される同一形式の一連の有効オペレーションの安全性を、有効オペレーションの実行に伴う物理現象を電子回路の外部から観察することを妨げる寄生情報を介在させることにより、確保する方法に関する。
本発明において、アルゴリズムは、タスクを成し遂げるために必要な一連の作用として理解されたい。
【0002】
【従来の技術】
本発明の適用分野は、主に暗号技術の分野である。暗号技術は、情報を隠す科学と定義することもできる。暗号技術は、構成素子やオペレティングシステムの物理的安全性と共に、ICカードの安全性の本質的な要素を構成している。暗号技術は、通信文の暗号化と解読のための技術である暗号作成解読技術を、秘密コードを破る技術である暗号解析技術とを含む。
【0003】
ICカードでは、暗号技術は、情報の秘密性を確保するために、又は、ICカードもしくは利用者の認証又は更に通信文の署名のために、様々な機構を実現している。
暗号技術を実現している全手段は、暗号システムを形成している。そのような暗号システムは、秘密情報、特にデジタル通信文の暗号化と解読のための秘密情報を含んでいる。
【0004】
この秘密情報の中に、デジタル通信文の暗号化と解読のため使用される秘密協定のパラメータである暗号化キーと解読キーとが記載されている場合も有る。
これら暗号化キーと解読キーを使用するには、それら暗号化キーと解読キーを特徴付けるいくつかのデータ転送がしばしば必要である。暗号化キーと解読キーが暗号システムで使用されるとき、デジタルキーとそのほかの秘密情報が、様々なメモリ又は処理レジスタとモジュールとの間を転送される。レジスタ間、モジュール間、又はレジスタとモジュールとの間の転送は、秘密情報の断片を運ぶ電流又は磁界が出現することで、外に現れる。その秘密情報の断片が、例えば、暗号化キーと解読キーに係る場合もある。
【0005】
【発明が解決しようとする課題】
暗号システムは、外部世界から見えてしまう問題を持っている。実際、回路の異なる部分間の情報交換により生じる電気信号又は磁界を測定すれば、暗号化システム又は解読システムによるデータ保護に係る秘密情報の断片にアクセスできる場合もある。
例えば、その電気信号の1つは、回路の電源コンタクトが内部であるか外部であるかに係りなく、回路の電源コンタクトに見い出すことができる。
【0006】
従って、デジタルキーは、電気的又は磁気的な信号の測定を蓄積し、その測定を統計的に解析することにより、発見できる可能性がある。
一般的に言うならば、電子回路は、その電子回路が遂行するオペレーションに関係して電気消費をする。従って、この電気消費を測定することによって、電子回路内の「隠された情報」を見つけ出すことができる。この問題は、どのような安全確保された構成要素、特に、ICカードの構成要素でも生じる。
【0007】
それ故、レジスタ間の秘密データの転送のような、同一又は類似の頻繁に行われるオペレーションを含むアルゴリズムを電子回路が実行するとき、そして、そのオペレーションを一つずつ細かく観察することにより秘密情報を発見できる場合、上述した電気信号の測定の統計的解析により、電子回路の安全性が阻害されることもある。
【0008】
本発明の目的は、上述した問題の解決策を提案することである。
【0009】
本発明の目的のために、本発明は、様々なレジスタ間のデータ転送での電気信号を解析しても気づかれなくする、アルゴリズムを実行する過程で電子回路により遂行される一連のオペレーションの安全性を確保する方法が提供せんとするものである。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明によれば、アルゴリズムを実行する過程で電子回路により遂行される同一形式の一連の有効オペレーションにダミーオペレーションを挿入する。このダミーオペレーションは、有効オペレーションに非常に似ている。各ダミーオペレーションは、アルゴリズムに実行ごとにランダムなラインに挿入される。かくして、比較可能な電流測定値を得ることが非常に困難になる。
【0011】
ダミーオペレーションは、命令の実行に伴う観察可能な物理的パラメータ(電流消費、磁気放射など)が、有効オペレーションと同一又は見かけ上非常に類似した特徴を有するオペレーションのように構成することもできる。これら物理的パラメータは特に、回路の電流又は電圧の供給端子で検出できる。この方法では、本ダミーオペレーションは、サンプルごとには検出不能であり、従って、どんな統計的な解析も防ぐことができ、又は、少なくとも非常に困難にすることができる。
【0012】
従って、本発明は、各有効オペレーションがアルゴリズムの1ステップに対応して、アルゴリズムを実行する過程で電子回路により遂行される同一形式の一連の有効オペレーションの安全性を確保する方法であって、その一連の有効オペレーションに、同一形式の1つ又はいくつかのダミーオペレーションをランダムに導入するステップを有することを特徴とする方法に関する。
【0013】
有効オペレーションと同一形式のダミーオペレーションは、有効オペレーションの検出を困難にするために有効オペレーションと同一又は十分に似て見える物理的な特徴をダミーオペレーションが有するならば、当該アプリケーションに従い様々な形をとることができる。限定的ではないが、例えば、ダミーオペレーションは、計算の実際の実行でもよい。その場合、メモリに計算結果を記録しないか、又は、当該オペレーションのためには動作しないメモリに計算結果を記録する。
かくして、偽計算又はオペレーションの偽部分集合が、ダミーオペレーションにより導入される。
【0014】
本発明は、例えばICカードのような、アルゴリズムを実行する電子装置であって、以下に述べる選択的な特徴を持つ、上記した方法を実施することを特徴とする電子装置に関する。
【0015】
【発明の実施の態様】
本発明の様々な特徴及び効果は、本発明による方法の好ましい実施の態様を示す以下の説明からより明らかになる。しかし、実施の態様は、あくまで例示であり、本発明を何ら限定するものではない。
【0016】
本発明による方法の好ましい実施の態様によれば、或る数のダミーオペレーションが、アルゴリズムを実行する過程で電子回路により遂行される同一形式の有効オペレーション間に挿入される。これらダミーオペレーションは、ランダムに導入される。そして、ダミーオペレーションは、アルゴリズムに伴うどんな有効オペレーションにも導入できる。
また、1つ又はいくつかのダミーオペレーションを、アルゴリズムに伴う最初の有効オペレーションの前に、又は、アルゴリズムに伴う最後の有効オペレーションの後に、置くこともできる。更に、いくつかの連続するダミーオペレーションを置くこともできる。
【0017】
同一アルゴリズムの実行ごとに電流測定が異なるように、アルゴリズムの実行ごとに新たなランダムなオペレーションが導入される。
しかしながら、好ましい実施の態様において、本発明による方法は、2つのオペレーションが連続する有効オペレーションであるか連続するダミーオペレーションであるか有効オペレーションとダミーオペレーションとであるかに関係なく、2つのオペレーションの実行の間に一定した時間間隔を維持する追加ステップを有する。かくして、アルゴリズムを実行する過程で電子回路により遂行される有効オペレーションに伴う電気信号の時間を調べても、ダミーオペレーションの挿入がはっきりとはわからない。
【0018】
最後に、一連の有効オペレーションに導入されるダミーオペレーションの数は、アルゴリズムを新たに実行する毎、一定であることが、必須ではないが好ましい。この場合、従って、アルゴリズムの全実行時間が、アルゴリズムの実行毎、同一となる。従って、ダミーオペレーションが導入されていることが、最初の解析ではわからないので、一連の有効オペレーションに対して更に優れた安全性を与えることができる。
【0019】
本発明によれば、アルゴリズムの或る部分のみにランダムなオペレーションを分布させることも可能である。更に、本発明による方法は、オペレーションが順序づけれているアルゴリズム、すなわち、変更できない順番に有効オペレーションが並べられたアルゴリズムにも、適用できる。
本発明の好ましい実施の態様における導入されるダミーオペレーションの数は、遂行されるオペレーションの合計数に対して2%程度である。

Claims (5)

  1. 各有効オペレーションがアルゴリズムの1ステップに対応して、アルゴリズムを実行する過程で電子回路により遂行される同一形式の一連の有効オペレーションの安全性を確保する方法であって、その一連の有効オペレーションに、同一形式の1つ又はいくつかのダミーオペレーションをランダムに導入するステップと、連続する2つの有効オペレーション又は連続する2つのダミーオペレーション又は連続する有効オペレーションとダミーオペレーションとの2つのオペレーションの実行の間に一定した時間間隔を維持する追加ステップを有することを特徴とする、同一形式の一連の有効オペレーションの安全性を確保する方法。
  2. 一連の有効オペレーションに導入されるダミーオペレーションの数は、アルゴリズムを新たに実行する毎、一定であることを特徴とする、請求項1に記載の同一形式の一連の有効オペレーションの安全性を確保する方法。
  3. 暗号作成解読技術の分野での請求項1又は請求項2に記載の方法の使用。
  4. 請求項1又は請求項2に記載の安全性を確保する方法を実施することを特徴とする、アルゴリズムを実行するための電子装置。
  5. 請求項1又は請求項2に記載の安全性を確保する方法を実施することを特徴とする、アルゴリズムを実行するための電子装置を備えるICカード。
JP2000601513A 1999-02-25 2000-02-25 アルゴリズムを実行する過程で電子回路により遂行される一連の有効オペレーションの安全性を確保する方法 Expired - Fee Related JP4625583B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR99/02364 1999-02-25
FR9902364A FR2790347B1 (fr) 1999-02-25 1999-02-25 Procede de securisation d'un enchainement d'operations realisees par un circuit electronique dans le cadre de l'execution d'un algorithme
PCT/FR2000/000472 WO2000050977A1 (fr) 1999-02-25 2000-02-25 Procede de securisation d'un enchainement d'operations realisees par un circuit electronique dans le cadre de l'execution d'un algorithme

Publications (2)

Publication Number Publication Date
JP2003523549A JP2003523549A (ja) 2003-08-05
JP4625583B2 true JP4625583B2 (ja) 2011-02-02

Family

ID=9542533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000601513A Expired - Fee Related JP4625583B2 (ja) 1999-02-25 2000-02-25 アルゴリズムを実行する過程で電子回路により遂行される一連の有効オペレーションの安全性を確保する方法

Country Status (5)

Country Link
US (1) US7188259B1 (ja)
EP (1) EP1163562B1 (ja)
JP (1) JP4625583B2 (ja)
FR (1) FR2790347B1 (ja)
WO (1) WO2000050977A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10101956A1 (de) * 2001-01-17 2002-07-25 Infineon Technologies Ag Verfahren zur Erhöhung der Sicherheit einer CPU
US20040162993A1 (en) * 2003-02-13 2004-08-19 Yannick Teglia Antifraud method of an algorithm executed by an integrated circuit
DE10307797B4 (de) * 2003-02-24 2010-11-11 Infineon Technologies Ag Vorrichtung und Verfahren zum Ermitteln einer Unregelmäßigkeit in einem Ablauf eines Nutzprogramms
FR2875657B1 (fr) * 2004-09-22 2006-12-15 Trusted Logic Sa Procede de securisation de traitements cryptographiques par le biais de leurres.
KR100706787B1 (ko) * 2004-11-29 2007-04-11 삼성전자주식회사 향상된 보안 기능을 갖는 스마트 카드
EP1831812A1 (en) * 2004-12-20 2007-09-12 Philips Intellectual Property & Standards GmbH Data processing device and method for operating such data processing device
EP1936527A1 (fr) * 2006-12-18 2008-06-25 Gemplus Procédé permettant de faire varier le nombre d'exécution de contre-mesures dans un code exécuté
JP5214317B2 (ja) * 2008-04-25 2013-06-19 株式会社エヌ・ティ・ティ・データ 暗号処理装置、暗号処理方法及びコンピュータプログラム
JP5433498B2 (ja) * 2010-05-27 2014-03-05 株式会社東芝 暗号処理装置
FR2993089B1 (fr) * 2012-07-09 2014-07-18 Inside Secure Procede d'effacement ou de programmation d'une memoire factice protege contre la detection
FR3015726B1 (fr) * 2013-12-24 2016-01-08 Morpho Procede de traitement comparatif securise
EP3822837B1 (en) * 2019-11-15 2024-01-03 Shenzhen Goodix Technology Co., Ltd. Method for increasing security of embedded processors and apparatus performing the method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018027A (en) * 1989-05-10 1991-05-21 Gse, Inc. Method of and means for providing information to edit a video tape
CA2037857C (en) * 1990-03-20 2001-01-16 Roy Allen Griffin, Iii Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event
US5249294A (en) * 1990-03-20 1993-09-28 General Instrument Corporation Determination of time of execution of predetermined data processing routing in relation to occurrence of prior externally observable event
US5404402A (en) * 1993-12-21 1995-04-04 Gi Corporation Clock frequency modulation for secure microprocessors
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
JPH1069222A (ja) * 1996-08-27 1998-03-10 Dainippon Printing Co Ltd Icカード
GB2319705B (en) * 1996-11-21 2001-01-24 Motorola Ltd Arrangement for encryption/decryption of data and data carrier incorporating same
FR2790345B1 (fr) * 1999-02-25 2001-04-27 St Microelectronics Sa Circuit et procede pour la securisation d'un coprocesseur dedie a la cryptographie

Also Published As

Publication number Publication date
FR2790347A1 (fr) 2000-09-01
JP2003523549A (ja) 2003-08-05
EP1163562B1 (fr) 2011-05-18
WO2000050977A1 (fr) 2000-08-31
US7188259B1 (en) 2007-03-06
EP1163562A1 (fr) 2001-12-19
FR2790347B1 (fr) 2001-10-05

Similar Documents

Publication Publication Date Title
US8296577B2 (en) Cryptographic bus architecture for the prevention of differential power analysis
Kocher et al. Introduction to differential power analysis and related attacks
Messerges et al. Examining smart-card security under the threat of power analysis attacks
US7543159B2 (en) Device and method with reduced information leakage
KR101680918B1 (ko) 특히 고차의 관측 공격에 대해 보호되는 암호화 회로
US7194633B2 (en) Device and method with reduced information leakage
US10389517B2 (en) Using secure key storage to bind a white-box implementation to one platform
JP4625583B2 (ja) アルゴリズムを実行する過程で電子回路により遂行される一連の有効オペレーションの安全性を確保する方法
US11456855B2 (en) Obfuscating data at-transit
CN106100823B (zh) 保护密码装置
US10615959B2 (en) Memory device, host device, and memory system
JP2013131868A (ja) 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置
BR112013012216B1 (pt) proteção contra as escutas passivas
US8321691B2 (en) EMA protection of a calculation by an electronic circuit
Unterluggauer et al. Exploiting the physical disparity: Side-channel attacks on memory encryption
JP3844116B2 (ja) 暗号化・復号化装置とicカード
Oswald et al. When reverse-engineering meets side-channel analysis–digital lockpicking in practice
CN108123792B (zh) 一种sm4算法电路的功耗加扰方法
JP2007328789A (ja) 入力データに関するアドレスを使用して入力データを符号化するための暗号システム、エラー検出回路、及びそれの動作方法
JP4386766B2 (ja) データ処理装置における誤り検出
Barenghi et al. Secure and efficient design of software block cipher implementations on microcontrollers
Gamaarachchi et al. Breaking Speck cryptosystem using correlation power analysis attack.
JPWO2005027403A1 (ja) 情報処理装置
Matthews Side-channel attacks on smartcards
Putra et al. First-Round and Last-Round Power Analysis Attack Against AES Devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100423

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100506

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100526

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100602

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100625

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100726

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: 20100907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101007

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101013

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101108

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: 20131112

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees