JP2002526849A - 暗号オペレーションを実行するための符号化方法 - Google Patents

暗号オペレーションを実行するための符号化方法

Info

Publication number
JP2002526849A
JP2002526849A JP2000573038A JP2000573038A JP2002526849A JP 2002526849 A JP2002526849 A JP 2002526849A JP 2000573038 A JP2000573038 A JP 2000573038A JP 2000573038 A JP2000573038 A JP 2000573038A JP 2002526849 A JP2002526849 A JP 2002526849A
Authority
JP
Japan
Prior art keywords
memory cell
data
bit word
random number
stored
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.)
Pending
Application number
JP2000573038A
Other languages
English (en)
Inventor
ステファン、フィリップ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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
Priority claimed from DE19936890A external-priority patent/DE19936890A1/de
Application filed by Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2002526849A publication Critical patent/JP2002526849A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/72Protecting 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
    • 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
    • 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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 本発明は、メモリセル(10)又はレジスタに少なくとも一つのデータビット語としてデジタル的に格納されるデータに関して部分的な暗号オペレーションが実行される符号化方法に関する。データ処理ユニットの電流消費を観測することで、外部から暗号が不正に解読されるのを効果的に阻止できるシステムを実現するために、本発明においては、データビット語をメモリセル(10)に書き込む前に、乱数に基づいて生成されたデータビット語がメモリセルに格納される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、少なくとも一つの暗号サブオペレーションがメモリセルあるいはレ
ジスタ内に少なくとも一つのデータビット語として格納されるデジタルデータに
関して実行される請求項1の導入部分において開示される暗号化方法に関する。
【0002】
【従来の技術】
多くのデータ処理装置においては、暗号オペレーションがそれら装置の動作あ
るいは装置内を輸送されるデータを保護する目的で実行されている。この目的に
対して要求される算術オペレーションは、通常のプロセッサによって実行される
ことも、専用の暗号プロセッサによって実行されることもある。典型的な専用の
暗号プロセッサは、チップカードあるいはICカードの形式で実現される。このよ
うな暗号計算に対しては、通常、データ処理装置の関係するメモリセクションあ
るいはレジスタをオペランドにて初期化することが必要となる。説明の背景で用
いられるデータあるいは中間結果なる用語は、セキュリティに関する情報、例え
ば、暗号キーあるいは暗号オペランドを指す。
【0003】 暗号アルゴリズムを計算するためには、データ処理装置内でオペランド又は中
間結果の論理結合が形成される。用いられる技法にもよるが、空の若しくは事前
に消去されたメモリセクション又はレジスタへのデータのローディングなどの動
作は、通常、データ処理装置の電流消費の増加を伴う。CMOSなどの相補論理回路
の場合、ビットメモリセルの値が変化すると、つまり、その値が“0”から“1
”あるいは“1から0”に変化すると、電流消費の増加が起こる。換言すれば、
事前に消去されたレジスタにデータをローディングすると、空のレジスタに書き
込まれるオペランド(データ)のハミング重み(=値“1”を持つビットの数)
に比例して電流消費が増加する。このため、この電流の変化を解析することで、
実行された動作に関する情報を抽出することが可能となり、従って、暗号キーな
どの機密オペランド(データ)の暗号解析(解読)が可能となる。例えば信号の
変動が非常に小さな場合は、データ処理装置に関してたった数回の電流測定を実
行することで情報を十分に抽出することができる。微分が必要とされる場合でも
、複数の電流測定により、これが可能となる。このタイプの暗号解析は、“Diff
erential Power Analysis(差分電力解析)”とも呼ばれる。外部からの侵入者
は、しばしば、この手法を用いて、単に、データ処理装置の電流消費の変化を観
測することで、暗号オペレーション、暗号アルゴリズム、暗号オペランド、暗号
データなどを不正に解読する。
【0004】
【発明が解決しようとする課題】
EP 0 482 975 B1は、マイクロ回路とデータ処理要素に接続された少なくとも
一つのメモリを備えるメモリカードを開示する。データ処理要素は、カードの外
部から、データ信号によって制御され、データ信号に応答して、コマンド送信信
号を供給する。このコマンド送信信号は、データ信号の受信より所定の時間期間
(T)だけ遅延される。この所定の時間期間(T)をランダムに変化させること
でセキュリティの向上が図られる。ただし、このようなシステムでも、メモリの
書き込みの際の電流の変化に基づいて暗号を不当に解析することを完全に排除す
ることはできない。
【0005】
【課題を解決するための手段】
本発明の一つの目的は、上述の短所を排除することができる、つまり、データ
処理装置の電流消費を観測することによる暗号解析を効果的に阻止することがで
きる説明のタイプの改善された方法を提供することにある。
【0006】 この目的は、請求の範囲1に記載される説明のタイプの方法によって達成され
る。
【0007】 これを達成するために、本発明によると、データビット語をメモリセルに書き
込む前に、乱数に基づいて生成されたデータビット語がメモリセルに格納される
【0008】 この方法では、長所として、事前に決定されていない又は事前には決定不能な
事前の初期化が行なわれ、この事前の初期化によって、メモリセルに書き込まれ
るデータビット語に関する情報が、メモリセルへの書き込みの際の電流消費の変
化に基づいて抽出されることから阻止される。このように事前に初期化されたメ
モリセルにデータを書き込む場合、電流の消費の変化は、もっぱら、書き込まれ
るデータのハミング重みと未知の乱数のハミング重みとの間の差に依存し、この
ため、この差および従って電流消費の変化は、本質的にランダムとなり、これか
らデータビット語に関する情報を抽出することは不可能となる。
【0009】 この方法を実現するためには、様々な可能性が考えられる。一つの好ましい実
施例においては、乱数に基づくビット語はメモリセル内に、プロセッサによって
書き込まれる。もう一つの実施例においては、乱数に基づくビット語はメモリセ
ル内に、乱数源とメモリセルとの間の直接の接続を介して書き込まれる。
【0010】 乱数に基づくビット語をメモリセル内に書き込む動作を、暗号サブオペレーシ
ョンの前の時点で行なうことで、乱数のメモリセルへの書き込みと暗号サブオペ
レーションとの間の時間的相関が回避される。
【0011】
【発明の実施の形態】
以下に、本発明を、添付の図面を用いて詳細に説明する。
【0012】 図1に示すように、メモリセル10あるいはレジスタが提供され、これに、デ
ータxがデータビット語の形式にて接続11を介して、書き込まれ、格納され
る。ただし、オペランドxをメモリセル10に書き込む前に、乱数源12によ
って乱数rが生成され、これが直接の接続14を介してメモリセル10に書き
込まれ、格納される。換言すれば、メモリセル10は、乱数rによって初期化
される。別の方法として、乱数rは、事前に乱数源12から受信された乱数値
をメモリ内に持つプロセッサから接続11を介して書き込むこともできる。
【0013】 この事前の初期化の瞬間は、ランダムに選択され、好ましくは、暗号オペレー
ションの直前とはされない。好ましくは、メモリセクションあるいはレジスタの
事前の初期化は異なる乱数にて反復される。
【0014】 こうして、暗号オペレーションの過程においてデータxがメモリセクション
あるいはレジスタにロードされる際の電流消費の変化は、もっぱらオペランドx のハミング重みと未知の乱数のハミング重みとの間の差に依存し、用いられる
オペランドあるいは中間結果に関する情報をこのようなランダムな差に基づいて
抽出することは困難である。
【図面の簡単な説明】
【図1】 本発明による方法の好ましい実施例を流れ図にて示す。
【符号の説明】
10 メモリセル/レジスタ 11 接続 12 乱数源 14 直接の接続 x データ(オペランド) r(T) 乱数値
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),JP,US (71)出願人 Groenewoudseweg 1, 5621 BA Eindhoven, Th e Netherlands

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも一つの暗号サブオペレーションが、メモリセル又はレジスタに少な
    くとも一つのデータビット語として格納されるデジタルデータに関して実行され
    る暗号化方法であって、 データビット語がメモリセルに書き込まれる前に、乱数に基づいて生成された
    データビット語がメモリセルに格納されることを特徴とする暗号化方法。
  2. 【請求項2】 前記乱数に基づくビット語は、プロセッサによって前記メモリセルに書き込ま
    れることを特徴とする請求項1に記載の暗号法。
  3. 【請求項3】 前記乱数に基づくビット語は、乱数源と前記メモリセルとの間の直接の接続を
    介して前記メモリセルに書き込まれることを特徴とする請求項1に記載の暗号化
    方法。
  4. 【請求項4】 前記乱数に基づくビット語は、前記暗号サブオペレーションより前の時点で前
    記メモリセルに格納されることを特徴とする請求項1乃至3のいずれかに記載の
    暗号化方法。
JP2000573038A 1998-09-30 1999-09-20 暗号オペレーションを実行するための符号化方法 Pending JP2002526849A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE19845096 1998-09-30
DE19845096.6 1998-09-30
DE19936890.2 1999-08-05
DE19936890A DE19936890A1 (de) 1998-09-30 1999-08-05 Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen
PCT/EP1999/007019 WO2000019657A1 (de) 1998-09-30 1999-09-20 Verschlüsselungsverfahren zum ausführen von kryptographischen operationen

Publications (1)

Publication Number Publication Date
JP2002526849A true JP2002526849A (ja) 2002-08-20

Family

ID=26049211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000573038A Pending JP2002526849A (ja) 1998-09-30 1999-09-20 暗号オペレーションを実行するための符号化方法

Country Status (3)

Country Link
EP (1) EP1044534A1 (ja)
JP (1) JP2002526849A (ja)
WO (1) WO2000019657A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515449A (ja) * 2005-11-04 2009-04-09 ジェムプリュス 組み込みシステム上での暗号アルゴリズム実行中にデータを安全に処理するための方法
WO2009118829A1 (ja) * 2008-03-25 2009-10-01 三菱電機株式会社 暗号演算装置及び暗号演算プログラム及び記録媒体

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2955436B1 (fr) * 2010-01-19 2012-11-23 St Microelectronics Rousset Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4386234A (en) * 1977-12-05 1983-05-31 International Business Machines Corp. Cryptographic communication and file security using terminals
JPH01298829A (ja) * 1988-05-27 1989-12-01 Nec Corp データ変換器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515449A (ja) * 2005-11-04 2009-04-09 ジェムプリュス 組み込みシステム上での暗号アルゴリズム実行中にデータを安全に処理するための方法
WO2009118829A1 (ja) * 2008-03-25 2009-10-01 三菱電機株式会社 暗号演算装置及び暗号演算プログラム及び記録媒体
JPWO2009118829A1 (ja) * 2008-03-25 2011-07-21 三菱電機株式会社 暗号演算装置及び暗号演算プログラム及び記録媒体

Also Published As

Publication number Publication date
EP1044534A1 (de) 2000-10-18
WO2000019657A1 (de) 2000-04-06

Similar Documents

Publication Publication Date Title
US8296577B2 (en) Cryptographic bus architecture for the prevention of differential power analysis
US5687237A (en) Encryption key management system for an integrated circuit
US8356188B2 (en) Secure system-on-chip
US6345359B1 (en) In-line decryption for protecting embedded software
US20170099134A1 (en) Differential power analysis - resistant cryptographic processing
US7194633B2 (en) Device and method with reduced information leakage
EP1260945A1 (en) Semiconductor integrated circuit on IC card protected against tampering
US20080109899A1 (en) One-Time Authentication System
JP2005510095A (ja) 情報漏洩が低減される装置および方法
JP2002519722A (ja) スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
US8656191B2 (en) Secure system-on-chip
US20110072279A1 (en) Device and method for securely storing data
JPH076096A (ja) データ記憶装置
US8582765B2 (en) Masking of data in a calculation
US7412608B2 (en) Secure data processing unit, and an associated method
US6839837B1 (en) Cryptosystem key updating system and method for preventing illegal use of software
US10389530B2 (en) Secure method for processing content stored within a component, and corresponding component
US20020116625A1 (en) Method that causes program analysis of device driver to become difficult
US20020049569A1 (en) Watermark detector
JP2002024914A (ja) 情報記録カードを用いた取引装置
JP2002526849A (ja) 暗号オペレーションを実行するための符号化方法
US7809959B2 (en) Countermeasure method in a microcircuit, microcircuit therefore and smart card comprising said microcircuit
CN116070293A (zh) 一种通过芯片加密进行固件保护的处理方法和装置
KR100718352B1 (ko) 데이터 처리 장치 및 그 작동 방법
JP2002526797A (ja) 微分電流消費解析を防止するデータ処理装置およびこの装置の動作方法