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
Links
Classifications
-
- 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/72—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 in cryptographic circuits
-
- 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
-
- 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]
-
- 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
-
- 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)
- 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の導入部分において開示される暗号化方法に関する。
ジスタ内に少なくとも一つのデータビット語として格納されるデジタルデータに
関して実行される請求項1の導入部分において開示される暗号化方法に関する。
【0002】
多くのデータ処理装置においては、暗号オペレーションがそれら装置の動作あ
るいは装置内を輸送されるデータを保護する目的で実行されている。この目的に
対して要求される算術オペレーションは、通常のプロセッサによって実行される
ことも、専用の暗号プロセッサによって実行されることもある。典型的な専用の
暗号プロセッサは、チップカードあるいはICカードの形式で実現される。このよ
うな暗号計算に対しては、通常、データ処理装置の関係するメモリセクションあ
るいはレジスタをオペランドにて初期化することが必要となる。説明の背景で用
いられるデータあるいは中間結果なる用語は、セキュリティに関する情報、例え
ば、暗号キーあるいは暗号オペランドを指す。
るいは装置内を輸送されるデータを保護する目的で実行されている。この目的に
対して要求される算術オペレーションは、通常のプロセッサによって実行される
ことも、専用の暗号プロセッサによって実行されることもある。典型的な専用の
暗号プロセッサは、チップカードあるいはICカードの形式で実現される。このよ
うな暗号計算に対しては、通常、データ処理装置の関係するメモリセクションあ
るいはレジスタをオペランドにて初期化することが必要となる。説明の背景で用
いられるデータあるいは中間結果なる用語は、セキュリティに関する情報、例え
ば、暗号キーあるいは暗号オペランドを指す。
【0003】 暗号アルゴリズムを計算するためには、データ処理装置内でオペランド又は中
間結果の論理結合が形成される。用いられる技法にもよるが、空の若しくは事前
に消去されたメモリセクション又はレジスタへのデータのローディングなどの動
作は、通常、データ処理装置の電流消費の増加を伴う。CMOSなどの相補論理回路
の場合、ビットメモリセルの値が変化すると、つまり、その値が“0”から“1
”あるいは“1から0”に変化すると、電流消費の増加が起こる。換言すれば、
事前に消去されたレジスタにデータをローディングすると、空のレジスタに書き
込まれるオペランド(データ)のハミング重み(=値“1”を持つビットの数)
に比例して電流消費が増加する。このため、この電流の変化を解析することで、
実行された動作に関する情報を抽出することが可能となり、従って、暗号キーな
どの機密オペランド(データ)の暗号解析(解読)が可能となる。例えば信号の
変動が非常に小さな場合は、データ処理装置に関してたった数回の電流測定を実
行することで情報を十分に抽出することができる。微分が必要とされる場合でも
、複数の電流測定により、これが可能となる。このタイプの暗号解析は、“Diff
erential Power Analysis(差分電力解析)”とも呼ばれる。外部からの侵入者
は、しばしば、この手法を用いて、単に、データ処理装置の電流消費の変化を観
測することで、暗号オペレーション、暗号アルゴリズム、暗号オペランド、暗号
データなどを不正に解読する。
間結果の論理結合が形成される。用いられる技法にもよるが、空の若しくは事前
に消去されたメモリセクション又はレジスタへのデータのローディングなどの動
作は、通常、データ処理装置の電流消費の増加を伴う。CMOSなどの相補論理回路
の場合、ビットメモリセルの値が変化すると、つまり、その値が“0”から“1
”あるいは“1から0”に変化すると、電流消費の増加が起こる。換言すれば、
事前に消去されたレジスタにデータをローディングすると、空のレジスタに書き
込まれるオペランド(データ)のハミング重み(=値“1”を持つビットの数)
に比例して電流消費が増加する。このため、この電流の変化を解析することで、
実行された動作に関する情報を抽出することが可能となり、従って、暗号キーな
どの機密オペランド(データ)の暗号解析(解読)が可能となる。例えば信号の
変動が非常に小さな場合は、データ処理装置に関してたった数回の電流測定を実
行することで情報を十分に抽出することができる。微分が必要とされる場合でも
、複数の電流測定により、これが可能となる。このタイプの暗号解析は、“Diff
erential Power Analysis(差分電力解析)”とも呼ばれる。外部からの侵入者
は、しばしば、この手法を用いて、単に、データ処理装置の電流消費の変化を観
測することで、暗号オペレーション、暗号アルゴリズム、暗号オペランド、暗号
データなどを不正に解読する。
【0004】
EP 0 482 975 B1は、マイクロ回路とデータ処理要素に接続された少なくとも
一つのメモリを備えるメモリカードを開示する。データ処理要素は、カードの外
部から、データ信号によって制御され、データ信号に応答して、コマンド送信信
号を供給する。このコマンド送信信号は、データ信号の受信より所定の時間期間
(T)だけ遅延される。この所定の時間期間(T)をランダムに変化させること
でセキュリティの向上が図られる。ただし、このようなシステムでも、メモリの
書き込みの際の電流の変化に基づいて暗号を不当に解析することを完全に排除す
ることはできない。
一つのメモリを備えるメモリカードを開示する。データ処理要素は、カードの外
部から、データ信号によって制御され、データ信号に応答して、コマンド送信信
号を供給する。このコマンド送信信号は、データ信号の受信より所定の時間期間
(T)だけ遅延される。この所定の時間期間(T)をランダムに変化させること
でセキュリティの向上が図られる。ただし、このようなシステムでも、メモリの
書き込みの際の電流の変化に基づいて暗号を不当に解析することを完全に排除す
ることはできない。
【0005】
本発明の一つの目的は、上述の短所を排除することができる、つまり、データ
処理装置の電流消費を観測することによる暗号解析を効果的に阻止することがで
きる説明のタイプの改善された方法を提供することにある。
処理装置の電流消費を観測することによる暗号解析を効果的に阻止することがで
きる説明のタイプの改善された方法を提供することにある。
【0006】 この目的は、請求の範囲1に記載される説明のタイプの方法によって達成され
る。
る。
【0007】 これを達成するために、本発明によると、データビット語をメモリセルに書き
込む前に、乱数に基づいて生成されたデータビット語がメモリセルに格納される
。
込む前に、乱数に基づいて生成されたデータビット語がメモリセルに格納される
。
【0008】 この方法では、長所として、事前に決定されていない又は事前には決定不能な
事前の初期化が行なわれ、この事前の初期化によって、メモリセルに書き込まれ
るデータビット語に関する情報が、メモリセルへの書き込みの際の電流消費の変
化に基づいて抽出されることから阻止される。このように事前に初期化されたメ
モリセルにデータを書き込む場合、電流の消費の変化は、もっぱら、書き込まれ
るデータのハミング重みと未知の乱数のハミング重みとの間の差に依存し、この
ため、この差および従って電流消費の変化は、本質的にランダムとなり、これか
らデータビット語に関する情報を抽出することは不可能となる。
事前の初期化が行なわれ、この事前の初期化によって、メモリセルに書き込まれ
るデータビット語に関する情報が、メモリセルへの書き込みの際の電流消費の変
化に基づいて抽出されることから阻止される。このように事前に初期化されたメ
モリセルにデータを書き込む場合、電流の消費の変化は、もっぱら、書き込まれ
るデータのハミング重みと未知の乱数のハミング重みとの間の差に依存し、この
ため、この差および従って電流消費の変化は、本質的にランダムとなり、これか
らデータビット語に関する情報を抽出することは不可能となる。
【0009】 この方法を実現するためには、様々な可能性が考えられる。一つの好ましい実
施例においては、乱数に基づくビット語はメモリセル内に、プロセッサによって
書き込まれる。もう一つの実施例においては、乱数に基づくビット語はメモリセ
ル内に、乱数源とメモリセルとの間の直接の接続を介して書き込まれる。
施例においては、乱数に基づくビット語はメモリセル内に、プロセッサによって
書き込まれる。もう一つの実施例においては、乱数に基づくビット語はメモリセ
ル内に、乱数源とメモリセルとの間の直接の接続を介して書き込まれる。
【0010】 乱数に基づくビット語をメモリセル内に書き込む動作を、暗号サブオペレーシ
ョンの前の時点で行なうことで、乱数のメモリセルへの書き込みと暗号サブオペ
レーションとの間の時間的相関が回避される。
ョンの前の時点で行なうことで、乱数のメモリセルへの書き込みと暗号サブオペ
レーションとの間の時間的相関が回避される。
【0011】
以下に、本発明を、添付の図面を用いて詳細に説明する。
【0012】 図1に示すように、メモリセル10あるいはレジスタが提供され、これに、デ
ータxiがデータビット語の形式にて接続11を介して、書き込まれ、格納され
る。ただし、オペランドxiをメモリセル10に書き込む前に、乱数源12によ
って乱数riが生成され、これが直接の接続14を介してメモリセル10に書き
込まれ、格納される。換言すれば、メモリセル10は、乱数riによって初期化
される。別の方法として、乱数riは、事前に乱数源12から受信された乱数値
をメモリ内に持つプロセッサから接続11を介して書き込むこともできる。
ータxiがデータビット語の形式にて接続11を介して、書き込まれ、格納され
る。ただし、オペランドxiをメモリセル10に書き込む前に、乱数源12によ
って乱数riが生成され、これが直接の接続14を介してメモリセル10に書き
込まれ、格納される。換言すれば、メモリセル10は、乱数riによって初期化
される。別の方法として、乱数riは、事前に乱数源12から受信された乱数値
をメモリ内に持つプロセッサから接続11を介して書き込むこともできる。
【0013】 この事前の初期化の瞬間は、ランダムに選択され、好ましくは、暗号オペレー
ションの直前とはされない。好ましくは、メモリセクションあるいはレジスタの
事前の初期化は異なる乱数にて反復される。
ションの直前とはされない。好ましくは、メモリセクションあるいはレジスタの
事前の初期化は異なる乱数にて反復される。
【0014】 こうして、暗号オペレーションの過程においてデータxiがメモリセクション
あるいはレジスタにロードされる際の電流消費の変化は、もっぱらオペランドx i のハミング重みと未知の乱数のハミング重みとの間の差に依存し、用いられる
オペランドあるいは中間結果に関する情報をこのようなランダムな差に基づいて
抽出することは困難である。
あるいはレジスタにロードされる際の電流消費の変化は、もっぱらオペランドx i のハミング重みと未知の乱数のハミング重みとの間の差に依存し、用いられる
オペランドあるいは中間結果に関する情報をこのようなランダムな差に基づいて
抽出することは困難である。
【図1】 本発明による方法の好ましい実施例を流れ図にて示す。
10 メモリセル/レジスタ 11 接続 12 乱数源 14 直接の接続 xi データ(オペランド) ri(Ti) 乱数値
───────────────────────────────────────────────────── フロントページの続き (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】 少なくとも一つの暗号サブオペレーションが、メモリセル又はレジスタに少な
くとも一つのデータビット語として格納されるデジタルデータに関して実行され
る暗号化方法であって、 データビット語がメモリセルに書き込まれる前に、乱数に基づいて生成された
データビット語がメモリセルに格納されることを特徴とする暗号化方法。 - 【請求項2】 前記乱数に基づくビット語は、プロセッサによって前記メモリセルに書き込ま
れることを特徴とする請求項1に記載の暗号法。 - 【請求項3】 前記乱数に基づくビット語は、乱数源と前記メモリセルとの間の直接の接続を
介して前記メモリセルに書き込まれることを特徴とする請求項1に記載の暗号化
方法。 - 【請求項4】 前記乱数に基づくビット語は、前記暗号サブオペレーションより前の時点で前
記メモリセルに格納されることを特徴とする請求項1乃至3のいずれかに記載の
暗号化方法。
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)
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)
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)
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 | データ変換器 |
-
1999
- 1999-09-20 WO PCT/EP1999/007019 patent/WO2000019657A1/de not_active Application Discontinuation
- 1999-09-20 JP JP2000573038A patent/JP2002526849A/ja active Pending
- 1999-09-20 EP EP99948821A patent/EP1044534A1/de not_active Withdrawn
Cited By (3)
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) | 微分電流消費解析を防止するデータ処理装置およびこの装置の動作方法 |