[go: up one dir, main page]

JP2003018143A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2003018143A
JP2003018143A JP2001197058A JP2001197058A JP2003018143A JP 2003018143 A JP2003018143 A JP 2003018143A JP 2001197058 A JP2001197058 A JP 2001197058A JP 2001197058 A JP2001197058 A JP 2001197058A JP 2003018143 A JP2003018143 A JP 2003018143A
Authority
JP
Japan
Prior art keywords
random number
data
key data
encryption
program
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
JP2001197058A
Other languages
English (en)
Inventor
Sozo Fujioka
宗三 藤岡
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.)
Renesas Design Corp
Mitsubishi Electric Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
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 Renesas Design Corp, Mitsubishi Electric Corp filed Critical Renesas Design Corp
Priority to JP2001197058A priority Critical patent/JP2003018143A/ja
Priority to US10/166,269 priority patent/US20030005321A1/en
Publication of JP2003018143A publication Critical patent/JP2003018143A/ja
Pending 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • 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
    • 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]
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7252Randomisation as countermeasure against side channel attacks of operation order, e.g. starting to treat the exponent at a random place, or in a randomly chosen direction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F2207/7261Uniform execution, e.g. avoiding jumps, or using formulae with the same power profile
    • 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)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 暗号処理時の鍵データの読み出しや暗号回路
の動作時の消費電力が、鍵データの値によって変化せず
一定となるようにして、鍵データの推定を困難なものと
し、暗号化されたデータの傍受が困難なデータ機密保持
機能を有する情報処理装置を得る。 【解決手段】 データ機密保持のための暗号処理に用い
る鍵データを、その反転データとともにE2PROM4
に記憶しておき、E2PROMより鍵データとその反転
データを読み出し、それらのうちの鍵データをもとに暗
号回路5で暗号処理プログラムを実行し、その実行結果
を用いてをCPU1にて演算プログラムを実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、読み取り装置と
有線(コネクタ)で接続された接触ICカードなどの接
触型の情報処理装置、あるいは無線で接続された非接触
ICカードなどの非接触型の情報処理装置に関するもの
であり、特に、データの機密保持のためのセキュリティ
機能を備えた情報処理装置に関するものである。
【0002】
【従来の技術】データ通信が盛んに行われている昨今、
通信されているデータの傍受によるデータの改竄、不正
利用などが増加している。このような不正行為からデー
タの機密性を保持するため、従来の情報処理装置は暗号
処理機能を備えている。すなわち、送信するデータを鍵
データで暗号化し、受信したデータをこの暗号化に用い
た鍵データによって復号している。このような暗号処理
機能を備えた従来の情報処理装置では、鍵データを不揮
発性メモリに格納しておき、その鍵データを読み出し
て、図20に示す動作シーケンスでデータを処理してい
る。
【0003】すなわち、この図20のステップST1に
おいて、まずその鍵データを用いた演算プログラムAに
よる演算を実行する。次にステップST2にて、その鍵
データを用いた演算プログラムBによる演算を実行す
る。このようにして同一の鍵データを用いて実行され
た、演算プログラムAと演算プログラムBの実行結果を
利用して、ステップST3にて演算プログラムCによる
演算を実行する。このような手順で処理を実行すること
により、鍵データを知らない者がこの暗号化されたデー
タを傍受することはできなくなる。
【0004】しかしながら、この鍵データが分かれば、
処理データの傍受は容易に可能となる。例えば、情報処
理装置のICチップを物理的にパッケージから取り出し
て破壊解析を行ったり、暗号処理の処理時間などのタイ
ミングの解析や、ICの消費電力をモニタして解析する
などにより鍵データを推定することができる。特に消費
電力の変化に着目して鍵データを解析する電力解析は脅
威となっている。すなわち、不揮発性メモリからそこに
記憶されている鍵データを読み出す場合、その値が
“1”か“0”かによって消費電力が異なったものとな
る。
【0005】このように、暗号処理時の鍵データの読み
出しや暗号回路の動作は、鍵データの値によって消費電
力が変化するため、比較的簡単に鍵データを推定するこ
とができる。特に、図20に示す動作シーケンスにてデ
ータを処理する場合、演算プログラムAの処理と演算プ
ログラムBの処理とは常に同じ順番で実行されているた
め、消費電力のメリハリが出やすくなって、鍵データの
解析が容易となる。
【0006】この電力解析については、例えば「平成1
1年度スマートカード安全性に関する調査の調査報告
書」の“III.3.3 電力解析”などに開示された
周知のものであるため、ここではその説明は割愛する。
【0007】また、非接触ICカードに利用した場合、
非接触ICカードは電力の供給を電波で受けているた
め、内部動作による消費電力の変化を電源線(Vccラ
イン)に受けやすくなる。また、非接触ICカードはA
M変調(ASK変調)を利用して、変調波から同時に電
源も生成しているため、変調波がVccラインに乗って
しまう。従って、従来の非接触ICカードにおいては、
暗号処理中はデータの送受信を行っていない。
【0008】なお、このような情報処理装置に関連のあ
る記載がなされた従来の文献としては、この他にも、例
えば特開2000−259799公報、特開2000−
165375公報、特開2000−78666公報、特
開平11−338347号公報、特開平6−4407号
公報などがある。
【0009】
【発明が解決しようとする課題】従来の情報処理装置は
以上のように構成されているので、暗号処理時の鍵デー
タの読み出しや、暗号回路の動作時の消費電力が、鍵デ
ータの値によって異なったものとなるため、暗号処理時
の鍵データの読み出しや暗号回路の動作では、鍵データ
の値によって消費電力が変化して、鍵データの推定を比
較的簡単に行うことができ、鍵データを知らない者でも
この鍵データの解析により、暗号化されたデータを傍受
することが可能になるという課題があり、特に、非接触
ICカードに適用した場合、変調波から同時に電源も生
成しているのでVccラインに変調波が乗ってしまい、
鍵データを推定しやすくなるなどの課題があった。
【0010】この発明は上記のような課題を解決するた
めになされたもので、暗号処理時の鍵データの読み出し
や暗号回路の動作時の消費電力が、鍵データの値によっ
て変化せず一定となるようにすることで、鍵データの推
定を難しいものとし、鍵データを知らない者は暗号化さ
れたデータの傍受が困難な情報処理装置を得ることを目
的とする。
【0011】
【課題を解決するための手段】この発明に係る情報処理
装置は、データ機密保持のための暗号処理に用いる鍵デ
ータを、その反転データとともに記憶手段に記憶してお
き、記憶手段より読み出した鍵データとその反転データ
のうちの鍵データを用いて暗号処理プログラムを実行す
るようにしたものである。
【0012】この発明に係る情報処理装置は、記憶手段
より読み出された鍵データにより暗号処理プログラムを
実行し、その実行結果に基づいた演算プログラムの実行
順序を、暗号処理プログラムの実行前に乱数発生手段が
発生する乱数に応じて変化させて処理するようにしたも
のである。
【0013】この発明に係る情報処理装置は、記憶手段
より読み出された鍵データにより暗号処理プログラムを
実行し、その実行結果に基づいた演算プログラムの実行
タイミングを、暗号処理プログラムの実行前に乱数発生
手段が発生する乱数に応じて変化させて処理するように
したものである。
【0014】この発明に係る情報処理装置は、記憶手段
に複数の鍵データを記憶させ、その記憶手段より、暗号
処理プログラムの実行前に乱数発生手段が発生する乱数
に応じて変化する読み出し順序で鍵データを読み出し、
読み出された鍵データを用いて暗号処理プログラムを実
行し、その実行結果に基づいて演算プログラムを実行す
るようにしたものである。
【0015】この発明に係る情報処理装置は、暗号処理
手段へのクロックの供給と、暗号処理手段による暗号処
理プログラムの実行結果に基づいて演算プログラムを実
行するデータ処理手段へのクロックの供給とを、独立し
た個別のクロック発生手段を用いて行うようにしたもの
である。
【0016】この発明に係る情報処理装置は、暗号処理
手段へのクロックを発生するクロック発生手段の、クロ
ックの発振周波数を乱数発生手段が発生する乱数に応じ
て変化させるようにしたものである。
【0017】この発明に係る情報処理装置は、データ処
理手段による暗号処理を含んだ演算プログラムの実行中
に、乱数発生手段の発生する乱数を読み取り装置側に送
信する送信手段を設けたものである。
【0018】この発明に係る情報処理装置は、乱数発生
手段の発生する乱数を読み取り装置側に送信する際、そ
の乱数に応じて乱数送信の変調度を変化させるようにし
たものである。
【0019】この発明に係る情報処理装置は、乱数発生
手段の発生する乱数に応じて、電源線にノイズを乗せる
ノイズ重畳手段を設けたものである。
【0020】この発明に係る情報処理装置は、電界効果
トランジスタとそれに接続された抵抗とによってノイズ
重畳手段を構成し、その抵抗の抵抗値を、乱数発生手段
が発生する乱数に応じて変化させるようにしたものであ
る。
【0021】この発明に係る情報処理装置は、暗号処理
手段内に、データと伝搬するラインと、その反転データ
を伝搬するラインとを持たせるとともに、各ラインへの
ダミー回路の接続によってそれらの負荷の均等化をはか
り、データの伝搬前に設けたプリチャージサイクルに
て、各ラインを常に同じ状態にプリチャージするように
したものである。
【0022】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1による情
報処理装置を示すブロック図で、ここではセキュリティ
機能を内蔵した接触ICカードについて示している。図
において、1はこの接触ICカード等によるマイクロコ
ンピュータの全体制御を行い、演算プログラムの実行を
処理するデータ処理手段としてのCPUである。2はC
PU1の演算プログラムが格納されたROMであり、3
はCPU1の処理するデータが書き込まれるRAMであ
る。4はデータ機密保持のための鍵データを保持する記
憶手段としての不揮発性メモリ(E2PROM)であ
り、5は鍵データを用いて暗号処理を行う暗号処理手段
としての暗号回路である。6はこの接触ICカードに入
出力されるデータの整合をはかるインタフェースであ
る。なお、これらCPU1、ROM2、RAM3、E2
PROM4、暗号回路5、インタフェース6は相互にバ
ス接続されている。
【0023】次に動作について説明する。ここで、図2
はE2PROM4への鍵データの格納状況を示す説明図
で、同図(a)には暗号回路5における暗号処理に用い
られる鍵データの一部を示しており、同図(b)にはE
2PROM4への格納状況を示している。なお、この図
2においては、1ワード(CPU1がE2PROM4を
読み出すデータ単位)を16ビットとした場合について
示している。この図2(b)に示すように、E2PRO
M4のワード前半部には、同図(a)に示す鍵データの
前半1/2ワード分と、その鍵データの反転データによ
るダミーデータとが格納され、ワード後半部には、同図
(a)に示す鍵データの後半1/2ワード分と、その鍵
データの反転データによるダミーデータが格納されてい
る。このようにして、E2PROM4の各ワード(16
ビット)には、鍵データとダミーデータとが8ビットず
つ格納される。
【0024】このように、E2PROM4の各ワードか
らは、鍵データの半分とその値を反転させたダミーデー
タとが読み出され、暗号回路5に送られて暗号処理が行
われる。ここで、図3はE2PROM4の読み出し回路
の構成例を示す回路図で、同図(a)は読み出し回路の
全体構成を示し、同図(b)は鍵データが“1”の場合
の動作時について、同図(c)は鍵データが“0”の場
合の動作時についてそれぞれ示している。すなわち、セ
レクト端子にデータ“1”が入力された場合には、同図
(b)に示すように記憶素子に電流が流れ、データ
“0”が入力された場合には、同図(c)に示すように
記憶素子に電流は流れない。E2PROM4から鍵デー
タを読み出した場合、そのデータ“1”と“0”の数は
それぞれ8ビットずつとなる。従って、E2PROM4
から読み出された鍵データでは“0”と“1”の数が同
一となり、その鍵データをワード単位で読み出した場
合、そのワードにおける電流が流れるビットと流れない
ビットの数が、鍵データの値によらず同数となり、消費
電力は一定となる。
【0025】このように、この実施の形態1による情報
処理装置は、E2PROM4に鍵データを書き込むとき
にその各ビットを反転させたダミービットを書き込んで
いるだけなので、従来の情報処理装置で用いられている
E2PROMのアーキテクチャを変更することなく利用
することが可能である。
【0026】以上のように、この実施の形態1によれ
ば、E2PROM4に鍵データとともに、その各ビット
を反転させたダミービットを書き込んでいるので、鍵デ
ータの読み出しに際して、データ“1”とデータ“0”
の数が同数となるため、暗号処理時の鍵データの読み出
しや暗号回路の動作時の消費電力が、鍵データの値によ
って変化することなく一定にすることができるという効
果が得られる。
【0027】実施の形態2.図4はこの発明の実施の形
態2による情報処理装置を示すブロック図で、ここでは
セキュリティ機能を内蔵した接触ICカードについて示
している。図において、1はCPU、2はROM、3は
RAM、4はE2PROM、5は暗号回路、6はインタ
フェースである。なお、これらは図1に同一符号を付し
て示した各部分に相当する部分であるため、その詳細な
説明は省略する。また、7は暗号処理手段5による暗号
処理プログラムの実行前に乱数を発生する乱数発生手段
としての乱数回路である。
【0028】次に動作について説明する。ここで、図5
はこの実施の形態2における情報処理装置のデータ処理
のシーケンスを示すフローチャートである。図示のよう
に、まずステップST10において、乱数回路7より乱
数“1”あるいは“0”を発生し、ステップST11に
てこの発生した乱数が“1”または“0”のいずれであ
るかの判定を行う。発生した乱数が“1”であればステ
ップST12に進み、暗号回路5においてE2PROM
4に格納されている鍵データを利用して、演算プログラ
ムAによる演算を実行する。次にステップST13にお
いて、その鍵データを利用した演算プログラムBによる
演算を実行する。このようにして同一の鍵データを用い
て演算プログラムA、演算プログラムBの順序で実行さ
れた演算の実行結果を利用して、ステップST14で演
算プログラムCによる演算を実行する。
【0029】また、乱数回路7がステップST10にお
いて発生した乱数が“0”であればステップST15に
進み、暗号回路5においてE2PROM4に格納されて
いる鍵データを利用して、演算プログラムBによる演算
を実行する。次にステップST16において、その同じ
鍵データを利用した演算プログラムAによる演算を実行
する。次にステップST16において、このように同一
の鍵データを用いて演算プログラムB、演算プログラム
Aの順序で実行された演算の実行結果を利用して演算プ
ログラムCによる演算を実行する。なお、この場合、演
算プログラムCは演算プログラムAと演算プログラムB
の演算結果を利用しているので、演算プログラムAおよ
び演算プログラムBより先に演算処理を実行することは
できないが、演算プログラムAと演算プログラムBとは
その実行順序を変更しても演算処理は可能である。
【0030】この実施の形態2では、このように、CP
U1が暗号処理プログラムの実行前に、毎回乱数回路7
より乱数を発生させ、その乱数の値に応じて演算プログ
ラムの処理順序を変更している。従って、電源線として
のVccラインを何回もモニタして電力解析による鍵デ
ータの推定を行おうとしても、Vccラインをモニタす
る度に実行される演算プログラムが変化して消費電力が
変動し、電力解析が困難なものになる。
【0031】なお、CPU1による演算プログラムの処
理実行中は、別の暗号回路5による演算を並行して行
う。例えば、共通鍵データの暗号演算中にはダミーの公
開鍵データの暗号演算を並行して行い、公開鍵データの
暗号演算中にはダミーの共通鍵データの暗号演算を並行
して実行させる。通常、セキュリティ機能を備えたLS
I(情報処理装置)はそれら両方の暗号演算回路を備え
ている。
【0032】以上のように、この実施の形態2によれ
ば、乱数を発生し、それに応じて演算プログラムの実行
順序を変更しているので、一連の演算プログラムの処理
に際して、演算プログラムの処理順序を毎回変化させる
ことが可能となり、電力解析ができにくくなって、鍵デ
ータを知らない者による暗号化されたデータの傍受が困
難になるという効果が得られる。
【0033】実施の形態3.図6はこの発明の実施の形
態3による情報処理装置の動作手順を示すフローチャー
トである。なお、装置構成は図4に示した実施の形態2
の場合と同様であるが、乱数回路7は“0”〜“3”の
4つの乱数を発生している点で、暗号回路5はこの乱数
回路7の発生する乱数に従って、E2PROM4に格納
された鍵データによる演算プログラムAと演算プログラ
ムBの実行タイミングを変化させている点で、E2PR
OM4は上記鍵データとともにダミーの鍵データも保持
している点で、図4に同一符号を付して示したそれらと
は異なっている。
【0034】次に動作について説明する。CPU1はス
テップST20において、乱数“0”〜乱数“3”中の
1つを乱数回路7より発生する。ここで、図7はこのダ
ミーの鍵データの選択を示す説明図である。上記ダミー
の鍵データを選択する第一の方法としては、図7(a)
に示すように、乱数“0”〜乱数“3”に対応したダミ
ー鍵セット〜ダミー鍵セットをE2PROM4に格
納しておき、乱数回路7からの乱数によってダミーの鍵
データを選択するものである。また、第二の方法として
は、同図(b)に示すように、E2PROM4の乱数に
よって読み出し可能なエリアに、ダミーの鍵データとし
て使用するデータ列を格納しておき、乱数回路7からの
乱数によって読み出し先頭番地と、必要なデータ量を読
み出し、読み出したデータをダミーの鍵データとして使
用するものである。
【0035】次にステップST21において、この乱数
が“0”〜“3”のいずれであるかについて判定する。
乱数回路7の発生した乱数が“0”であれば、ステップ
ST22に進んで、暗号回路5にてE2PROM4に格
納されている鍵データを用いて、演算プログラムAによ
る演算を実行する。次にステップST23において、同
じ鍵データを用いた演算プログラムBによる演算を実行
する。この同一の鍵データを用いて演算プログラムAお
よび演算プログラムBの順序で実行された演算の実行結
果を利用して、ステップST24において演算プログラ
ムCによる演算を実行する。
【0036】また、乱数回路7の発生した乱数が“1”
であれば、ステップST25に進んで、暗号回路5にて
E2PROM4に格納されている鍵データを用いて、演
算プログラムAによる演算を実行する。次にステップS
T26において、乱数によってE2PROM4からのダ
ミーの鍵データを選択し、そのダミーの鍵データを用い
て演算プログラムを実行する。なお、このダミーの鍵デ
ータは乱数“1”に対応したダミー鍵セットに基づく
ものである。次にステップST27に進み、上記E2P
ROM4からの鍵データを用いた演算プログラムBによ
る演算を実行する。この同一の鍵データを用いて同一の
順序で実行された演算プログラムAおよび演算プログラ
ムBの実行結果を利用して、ステップST24において
演算プログラムCによる演算を実行する。この場合、上
記ステップST26によるダミーの鍵データを利用した
演算により、演算プログラムBの実行タイミングを変更
することができる。
【0037】また、乱数回路7の発生した乱数が“2”
であれば、ステップST28に進んで、E2PROM4
からのダミーの鍵データを用いて演算プログラムを実行
する。なお、このダミーの鍵データは乱数“2”に対応
したダミー鍵セットに基づくものである。次にステッ
プST29において、暗号回路5にてE2PROM4に
格納されている鍵データを用いて、演算プログラムAに
よる演算を実行する。次にステップST30に進み、上
記E2PROM4からの鍵データを用いた演算プログラ
ムBによる演算を実行する。この同一の鍵データを用い
て同一の順序で実行された演算プログラムAおよび演算
プログラムBの実行結果を利用して、ステップST24
で演算プログラムCによる演算を実行する。この場合、
ステップST28によるダミーの鍵データを利用した演
算により、演算プログラムAの実行タイミングを変更す
ることができる。
【0038】また、乱数回路7の発生した乱数が“3”
であれば、ステップST31にてE2PROM4からの
ダミーの鍵データを用いて演算プログラムを実行する。
このダミーの鍵データは乱数“3”に対応したダミー鍵
セットに基づくものである。次にステップST32に
進み、暗号回路5にてE2PROM4に格納されている
鍵データを用いて、演算プログラムAによる演算を実行
する。次にステップST33にてE2PROM4からの
上記ダミーの鍵データを用いて演算プログラムを実行す
る。このダミーの鍵データも乱数“3”に対応したダミ
ー鍵セットに基づくものである。
【0039】次にステップST34に進み、上記E2P
ROM4からの鍵データを用いた演算プログラムBによ
る演算を実行する。この同一の鍵データを用いて同一の
順序で実行された演算プログラムAおよび演算プログラ
ムBの実行結果を利用して、ステップST24で演算プ
ログラムCによる演算を実行する。この場合、ステップ
ST31のダミーの鍵データを利用した演算により演算
プログラムAの実行タイミングを、ステップST33の
ダミーの鍵データを利用した演算により演算プログラム
Bの実行タイミングを、それぞれ変更することができ
る。
【0040】なお、この実施の形態3においても、CP
U1による演算プログラムの処理実行中には、別の暗号
回路5による演算を並行して行う。例えば共通鍵データ
の暗号演算中はダミーの公開鍵データの暗号演算を、公
開鍵データの暗号演算中はダミーの共通鍵データの暗号
演算を並行して実行させる。通常、セキュリティ機能を
備えたLSIはそれら両方の暗号演算回路を備えてい
る。
【0041】以上のように、この実施の形態3によれ
ば、消費電力がモニタされる演算プログラムの実行タイ
ミングが発生した乱数の値に応じて毎回変化するように
しているので、電力解析がしにくくなって、鍵データを
知らない者による暗号化されたデータの傍受が困難にな
るという効果が得られる。
【0042】実施の形態4.図8はこの発明の実施の形
態4による情報処理装置における暗号回路5への鍵デー
タの設定を示す説明図である。図において、41はE2
PROM4の暗号処理に使用される鍵データが格納され
た鍵データエリアであり、51はこのE2PROM4よ
り鍵データエリア41の鍵データが設定されるレジスタ
である。暗号回路5はこのレジスタ51に設定された鍵
データを利用して演算プログラムの暗号処理を行ってい
る。
【0043】次に動作について説明する。ここで、暗号
回路5で暗号処理を実行する場合、その前にE2PRO
M4から暗号回路5のレジスタ51に鍵データを設定し
ておく必要がある。その際、鍵データを毎回同じ順序で
E2PROM4から読み出してレジスタ51に設定する
と、鍵データの推定はしやすいものとなる。そのため、
E2PROM4からの鍵データの読み出し順序を毎回変
えて、鍵データを推定しにくいものとしている。図9は
そのような暗号回路5のレジスタ51への鍵データの、
順序を変えた設定手順を示すフローチャートであり、こ
こでは鍵データが8バイトである場合について示してい
る。
【0044】まずステップST50において、鍵データ
のバイト数を計数するカウンタの計数値Nが8に初期設
定される。次にステップST51に進み、乱数回路7よ
り1〜8の乱数を発生する。次にステップST52に
て、この乱数回路7が発生した乱数に対応する鍵データ
を、E2PROM4の鍵データエリア41より読み出し
て暗号回路5のレジスタ51に設定する。その際、この
レジスタ51に既に設定されている鍵データ以外の鍵デ
ータを乱数によって選択し、その選択された鍵データを
暗号回路5のレジスタ51に設定する。次にステップS
T53でカウンタの計数値がデクリメントされ、ステッ
プST54で8バイト全ての鍵データの設定終了が検出
されるまで、上記処理を繰り返す。
【0045】以上のように、この実施の形態4によれ
ば、鍵データの読み出し順序が、発生した乱数の値に応
じて変化するようにしているので、鍵データの推定がし
にくくなり、鍵データの値が知られてしまっても、鍵デ
ータの順番まで知られないと暗号化されたデータの傍受
が困難になるという効果が得られる。
【0046】実施の形態5.図10はこの発明の実施の
形態5による情報処理装置におけるクロックの供給を示
すブロック図である。図において、8aは暗号回路5に
クロックを供給する第一のクロック発生手段としてのク
ロック回路であり、8bはCPU1にクロック回路8a
とは個別のクロックを供給する第二のクロック発生手段
としてのクロック回路である。
【0047】次に動作について説明する。同一のクロッ
ク回路からのクロックによって、CPU1と暗号回路5
とを動作させた場合、消費電力のメリハリが出やすくな
る。なお、CPU1と暗号回路5とを異なる周波数のク
ロックで動作させる場合においても、分周回路を用いて
1つのクロック回路からのクロックより2種類のクロッ
クを生成しているため、それらのクロックが同期して、
消費電力のメリハリが出やすくなる。そのため、この実
施の形態5においては、図10に示すように、CPU1
と暗号回路5とに別々のクロック回路8a、8bよりク
ロックを供給している。このように、暗号回路5にはク
ロック回路8aより、CPU1にはクロック回路8bよ
りと、それぞれ異なるクロック回路8a、8bよりクロ
ックを供給することにより、VccラインにはCPU1
と暗号回路5の動作電力によるノイズが非同期で乗る。
従って、このVccラインからは情報処理装置内部の動
作電力が解析しにくくなり、鍵データの推定がより困難
なものとなる。
【0048】また、CPU1のクロックは温度や動作電
圧に依存しない方が望ましいが、暗号回路5のクロック
は温度特性や電圧特性のあるものを用いることで、Vc
cラインからの動作電力の解析がよりしにくいものとな
る。
【0049】さらに、情報処理装置が非接触ICカード
である場合、動作電圧が不安定なものとなるため、入力
電圧によって発振周波数が変化するVCOのような発振
回路を、クロック発生に利用してもよい。
【0050】なお、CPU1および暗号回路5に供給さ
れるクロックは、図11に示すように、セレクタ9によ
って選択可能な構造にしておき、暗号回路5による暗号
処理前に、乱数によってセレクタ9を制御してクロック
を選択し、暗号処理後には元のクロックに戻すようにし
てもよい。
【0051】以上のように、この実施の形態5によれ
ば、CPU1と暗号回路5とに、互いに独立したクロッ
ク回路8a、8bより非同期でクロックの供給を行って
いるので、動作電力の解析が困難になり、鍵データの推
定がよりしにくいものになるという効果が得られる。
【0052】実施の形態6.図12はこの発明の実施の
形態6による情報処理装置にて用いられるクロック回路
8aの構成を示す説明図であり、同図(a)には発振回
路を用いたものが示されている。図において、R0とC
0はこの発振回路の基本周波数を決定する抵抗とコンデ
ンサであり、C1〜C3はその発振周波数を変化させる
ためのコンデンサである。SW1〜SW3は乱数に応じ
て開閉し、コンデンサC1〜C3の発振回路への接続を
制御するスイッチである。なお、このコンデンサC1〜
C3の値は互いに異なるものであっても、同一のもので
あってもよい。
【0053】次に動作について説明する。スイッチSW
1〜SW3は乱数回路7の発生する3ビットの乱数によ
って制御される。すなわち、乱数の値が“000”であ
れば全てのスイッチSW1〜SW3はオフ、“001”
であればスイッチSW1のみがオン、“010”であれ
ばスイッチSW2のみがオン、“011”であればスイ
ッチSW1とスイッチSW2がオン、“100”であれ
ばスイッチSW3のみがオン、“101”であればスイ
ッチSW1とスイッチSW3がオン、…、“111”で
あれば全てのスイッチSW1〜SW3がオンとなる。従
って、この発振回路の発振周波数は、乱数が“000”
のときには最高値(基本周波数)となる。以下、乱数に
よって各コンデンサC1〜C3が選択的にコンデンサC
0に並列接続されると、発振周波数は並列接続されたコ
ンデンサC1〜C3に応じて低下する。乱数が“11
1”になると発振周波数は最低値となる。このように、
乱数によって変化する発振回路の発振周波数に基づいて
暗号回路5へのクロックが生成される。
【0054】また、図12(b)にはD/A変換器とV
COとの組み合わせによるものが示されている。図にお
いて、81は乱数回路7からの乱数をアナログ値に変換
するD/A変換器であり、82はこのD/A変換器81
より出力された乱数のアナログ値によってその発振周波
数が制御されるVCOである。
【0055】次に動作について説明する。乱数回路7の
発生したディジタル信号による乱数はD/A変換器81
に入力される。D/A変換器81はこのディジタル信号
による乱数を受けると、それをアナログ値に変換してV
CO82に送る。VCO82はこのアナログ電圧によっ
て制御され、乱数に応じた周波数で発振する。このよう
に、乱数によって変化する発振回路の発振周波数に基づ
いて暗号回路5へのクロックが生成される。
【0056】暗号回路5はこのクロック回路8aから供
給されるクロックの動作周波数が変化すれば、その動作
電力が変化する。このように、乱数により暗号回路5の
動作電力を毎回変化させれば、電力解析はより困難なも
のとなる。
【0057】なお、動作周波数の変化は、暗号演算前に
行っても、暗号演算中に行ってもよい。この周波数変化
の回数が多くなるほど、電力解析はしにくくなる。ま
た、このクロック回路を複数内蔵し、それらをCPU
1、公開鍵暗号、秘密鍵暗号で振り分けて使用するよう
にしてもよい。
【0058】以上のように、この実施の形態6によれ
ば、暗号回路5にクロック回路8aより供給されるクロ
ックを、乱数回路7の発生する乱数に応じて変化させる
ようにしたので、暗号回路5の動作電力を毎回変化させ
ることができ、電力解析による鍵データの推定がより困
難なものになるという効果が得られる。
【0059】実施の形態7.図13はこの発明の実施の
形態7による情報処理装置を示すブロック図で、ここで
はセキュリティ機能を内蔵した非接触ICカードについ
て示している。図において、10は読み取り装置側との
電波の送受信を行うアンテナであり、11はこの非接触
ICカードにおける伝送データをアンテナ10を介して
送受信する送信手段としての送受信回路である。12は
アンテナ10を介して受信した電波より電源を生成する
電源生成回路である。
【0060】次に動作について説明する。非接触ICカ
ードでは、送受信回路11でAM変復調を行って読み取
り装置側との間でデータ伝送を行っている。この非接触
ICカードの処理動作に必要な電源は、電源生成回路1
2によりアンテナ10で受信した電波より生成され、送
受信回路11、CPU1、暗号回路5、乱数回路7など
に供給される。
【0061】図14はコマンド実行の際に非接触ICカ
ードと読み取り装置の間で授受されるデータの送受信の
時間関係を示すタイミング図である。読み取り装置から
送信されたコマンドはアンテナ10を介して送受信回路
11で受信される。このコマンドには暗号処理も含まれ
ている。送受信回路11は受信したコマンドを復調して
CPU1に送り、CPU1では暗号処理を含むこのコマ
ンドを処理する。コマンドの実行が終わるとその実行結
果を送受信回路11でAM変調し、アンテナ10より読
み取り装置に送信する。
【0062】なお、このコマンドの実行中には乱数回路
7より乱数を発生させ、それを送受信回路11でAM変
調して読み取り装置に送信する。このように、コマンド
処理中に乱数を送信すると、Vccラインにランダムな
ノイズが発生するため、Vccラインのモニタがしにく
いものとなる。
【0063】ここで、図15はコマンドの実行終了時に
コマンドの実行結果を読み取り装置に送信するレスポン
スフレームの構成を示す説明図である。図示のように、
レスポンスフレームにはフレームの先頭を示すSOFコ
ード、フレームの末尾を示すEOFコード、通信エラー
チェック用のCRCコードが付加されているため、読み
取り装置側で乱数をレスポンスと間違えることはない。
【0064】また、情報処理装置として送受信回路11
における変調度を制御することが可能な構造の非接触I
Cカードを用いた場合、乱数回路7の発生する乱数によ
ってその変調度を変更することができる。このように、
乱数によって変調度も決定すれば、ノイズの大きさも変
化させることが可能となる。このときの送信レートは、
暗号回路と同じ周波数が効果的である。また、送信レー
トと暗号回路の動作周波数をアンテナから受信する電波
と同じにすれば整流のリップルと重なり、より効果的で
ある。
【0065】以上のように、この実施の形態7によれ
ば、非接触ICカードにおいて、暗号処理中に乱数を読
み取り装置側に送信しているので、Vccラインにラン
ダムなノイズが発生し、電力解析が困難になるという効
果が得られる。
【0066】実施の形態8.図16はこの発明の実施の
形態8で用いられる、ノイズ発生回路の一例を示すブロ
ック図である。図において、7は乱数回路であり、71
はこの乱数回路7内のシフトレジスタである。13はこ
の乱数回路7の発生する乱数により、Vccラインにノ
イズを乗せるノイズ重畳手段としてのノイズ発生回路で
ある。このノイズ発生回路13内において、ANDはこ
の乱数回路7の発生する乱数でノイズの通過を開閉する
アンドゲートであり、TRはこのアンドゲートANDの
出力端子がそのゲート端子に接続された電界効果トラン
ジスタ、R1はそれに接続された抵抗である。
【0067】非接触ICカードが備えているような変調
回路を持たない、接触ICカードのような情報処理装置
では、図16に示すようなノイズ発生回路13を内蔵し
ており、乱数回路7の発生する乱数に応じてノイズを発
生し、それをVccラインに乗せている。ここで、この
乱数回路7からはシフトレジスタ71により1ビットず
つの乱数がノイズ発生回路13に送出されている。ノイ
ズ発生回路13のアンドゲートANDは、入力された乱
数がハイレベルのときに開かれ、ローレベルのときに閉
じられる。従って、乱数回路7からの乱数がハイレベル
の時には大消費電力となり、ローレベルの時には通常の
消費電力となる。
【0068】ノイズ発生回路13ではこの電界効果トラ
ンジスタTRに接続された抵抗R1の抵抗値を乱数に応
じて変化させると、Vccラインに重畳されるノイズの
レベルがランダムに変化する。この抵抗R1の抵抗値を
乱数によってランダムに変化させるには、電界効果トラ
ンジスタTRのゲート電圧を乱数に応じて変化させるこ
とによって実現できる。このように、乱数によってノイ
ズのレベルがランダムに変化して消費電力が変動するた
め、電力解析による鍵データの推定は困難なものとな
る。
【0069】なお、この実施の形態8で用いられるノイ
ズ発生回路は、図16に示すもののみに限られるもので
はなく、例えば電界効果トランジスタに複数の抵抗をス
イッチを介して接続するようにしてもよい。図17はそ
のようなノイズ発生回路の一例を示す回路図である。図
において、TRは電界効果トランジスタ、R1〜R3は
抵抗、SW1〜SW3はスイッチである。
【0070】このように構成されたノイズ発生回路で
は、3ビットの乱数によりスイッチSW1〜SW3を制
御し、抵抗R1〜R3の接続状態を変化させると、電界
効果トランジスタTRに接続される抵抗値が乱数に応じ
て変化する。従って、Vccラインに重畳されるノイズ
のレベルが乱数に応じてランダムに変動するため、電力
解析による鍵データの推定は困難なものとなる。このと
きの送信レートは、暗号回路と同じ周波数が効果的であ
る。また、送信レートと暗号回路の動作周波数をアンテ
ナから受信する電波と同じにすれば整流のリップルと重
なり、より効果的である。
【0071】以上のように、この実施の形態8によれ
ば、電界効果トランジスタTRに接続される抵抗値を乱
数に応じて変化させているので、乱数によってノイズの
レベルがランダムに変化して消費電力が変動するため、
電力解析による鍵データの推定が困難になるという効果
が得られる。
【0072】実施の形態9.図18はこの発明の実施の
形態9による情報処理装置に用いられる暗号回路の構成
を示すブロック図である。図において、5はその暗号回
路であり、この暗号回路5内において、51はレジス
タ、52は演算部である。
【0073】これらレジスタ51と演算部52との間で
伝送される鍵データ、演算データ等の各データD(D0
〜Dn)はそれぞれの反転データD’(D0’〜D
n’)とともに、一対のラインによって伝送される。こ
のようにデータDとその反転データD’とを対にして伝
送した場合、伝搬されるデータDとその反転データD’
の“1”の数と“0”の数は常に同一となる。従って、
データDのみで伝送した場合のように、データDの
“1”、“0”によって消費電力が変化するようなこと
はなくなる。
【0074】また、図19はこの実施の形態9による暗
号回路5におけるデータDの伝送を示す回路図である。
図において、Lはラインの負荷回路であり、Ldはライ
ンに接続されたダミー回路である。TRはラインをプリ
チャージするためのトランジスタである。
【0075】データDおよびその反転データD’が伝搬
する各ラインの負荷がアンバランスであった場合、デー
タの伝送によりどのラインが変化したかを消費電力の解
析から推測することができる可能性がある。そのため、
この実施の形態9では図19に示すように、駆動する負
荷回路Lの少ないラインには、動作上不要であってもダ
ミー回路Ldを接続している。これによって、各ライン
の負荷はほぼ等しいものとなる。
【0076】また、ラインにデータDや反転データD’
を伝搬させた後、そのままの状態で次のデータDや反転
データD’を伝搬させると、前に伝搬させたデータDや
反転データD’の“1”、“0”によって消費電力が違
ってくるため、電力解析が容易になる。そのため、この
実施の形態9では図19に示すように、データ伝送の前
にプリチャージサイクルを設けてラインを常に同じ状態
に設定しておく。すなわち、このプリチャージサイクル
においては、データDが伝搬するラインがハイレベル
に、反転データD’が伝搬するラインがローレベルに、
それぞれのトランジスタTRによって設定される。
【0077】以上のように、この実施の形態9によれ
ば、レジスタ51と演算部52との間で、データDとそ
の反転データD’を対のラインを用いて伝送するととも
に、各ラインの負荷を均等化し、データ伝送の前にライ
ンのプリチャージを行っているので、伝送されるデータ
Dの“1”、“0”によらず、消費電力が一定となるた
め、電力解析のしにくい暗号回路が実現できるという効
果が得られる。
【0078】実施の形態10.なお、上記説明では、実
施の形態1、実施の形態2、実施の形態4、実施の形態
5、実施の形態7、あるいは実施の形態8の機能を単独
に持った情報処理装置について説明したが、記憶手段の
1ワードの半分に鍵データを残りの半分にその反転デー
タを記憶して、読み出し時の“1”と“0”の数を等し
くした実施の形態1、演算プログラムの実行順序を乱数
に応じて変化させて処理する実施の形態2、乱数に応じ
て変化する読み出し順序で鍵データを読み出す実施の形
態4、暗号処理手段へのクロックとデータ処理手段への
クロックとを独立のクロック発生手段より供給する実施
の形態5の機能と、暗号処理を含んだ演算プログラムの
実行中に、乱数を送信する送信手段を設けた実施の形態
7、または乱数に応じたノイズをVccラインに乗せる
ノイズ重畳手段を設けた実施の形態8の情報処理装置と
を組み合わせてもよい。
【0079】このような機能の組み合わせによって、よ
り高いセキュリティ機能をより安価に実現できるという
効果が得られる。
【0080】
【発明の効果】以上のように、この発明によれば、記憶
手段に鍵データとその反転データを記憶しておいてそれ
らを同時に読み出し、その鍵データを用いて暗号処理プ
ログラムを実行するように構成したので、鍵データとそ
の反転データの同時読み出し時に、データ“1”とデー
タ“0”の数が同数となって、暗号処理時の鍵データの
読み出しや暗号回路の動作時の消費電力が、鍵データの
値によって変化することなく一定となるため、電力解析
による鍵データの推定がしにくくなって、鍵データを知
らない者による暗号化されたデータの傍受が困難にな
り、セキュリティ性の高い情報処理装置が得られるとい
う効果がある。
【0081】この発明によれば、乱数を発生し、鍵デー
タを用いて実行された暗号処理プログラムの実行結果に
基づいた演算プログラムの実行順序を、この乱数に応じ
て変化させるように構成したので、一連の演算プログラ
ムの処理に際して、演算プログラムの処理順序を毎回変
化させることが可能となり、電力解析による鍵データの
推定がしにくくなって、鍵データを知らない者による暗
号化されたデータの傍受が困難になるという効果があ
る。
【0082】この発明によれば、乱数を発生し、鍵デー
タを用いて実行された暗号処理プログラムの実行結果に
基づいた演算プログラムの実行タイミングを、この乱数
に応じて変化させるように構成したので、一連の演算プ
ログラムの処理に際して、演算プログラムの処理順序を
毎回変化させることが可能となり、電力解析による鍵デ
ータの推定がしにくくなって、鍵データを知らない者に
よる暗号化されたデータの傍受が困難になるという効果
がある。
【0083】この発明によれば、複数の鍵データを記憶
手段に記憶させておき、乱数を発生して、その乱数に応
じて変化する読み出し順序で鍵データを記憶手段より読
み出し、読み出された鍵データを用いて暗号処理プログ
ラムを実行するように構成したので、鍵データの読み出
し順序が乱数に応じて変化するため鍵データの推定がし
にくくなり、鍵データの値が知られてしまっても、鍵デ
ータの順番まで知られなければ暗号化されたデータの傍
受が困難になるという効果がある。
【0084】この発明によれば、暗号処理手段とデータ
処理手段に対して、互いに独立した別個のクロック発生
手段を用いてクロックを供給するように構成したので、
動作電力の解析がしにくいものとなり、鍵データの推定
がより困難になるという効果がある。
【0085】この発明によれば、さらに、暗号処理手段
に供給されるクロックの発振周波数を乱数に応じて変化
させるように構成したので、暗号処理手段の動作電力を
毎回変化させることが可能となり、電力解析による鍵デ
ータの推定がさらに困難なものになるという効果があ
る。
【0086】この発明によれば、乱数発生手段の発生す
る乱数を、暗号処理を含んだ演算プログラムの実行中に
読み取り装置側に送信するように構成したので、非接触
形の情報処理装置においては、電源線にランダムなノイ
ズが発生して、電力解析による鍵データの推定がより困
難なものになるという効果がある。
【0087】この発明によれば、さらに、乱数送信時の
変調度を、その乱数に応じて変化させるように構成した
ので、送信変調度の制御が可能な構造の非接触型情報処
理装置を用いた場合、その変調度を乱数に応じて変更す
ることが可能となり、乱数によって変調度も決定すれば
ノイズの大きさも変化させることができて、電力解析に
よる鍵データの推定がさらに困難なものになるという効
果がある。
【0088】この発明によれば、ノイズ重畳手段を設け
て、電源線に乱数に応じたノイズを乗せるように構成し
たので、乱数によってノイズのレベルがランダムに変化
して消費電力が変動するため、電力解析による鍵データ
の推定が困難なものになるという効果がある。
【0089】この発明によれば、抵抗と電界効果トラン
ジスタで構成したノイズ重畳手段の抵抗値を、乱数に応
じて変化させるように構成したので、乱数によってノイ
ズのレベルがランダムに変化して消費電力が変動するた
め、電力解析による鍵データの推定が困難なものになる
という効果がある。
【0090】この発明によれば、データと伝搬するライ
ンと、その反転データを伝搬するラインの対で暗号処理
手段内のデータ伝送を行い、各ラインに接続したダミー
回路の接続によって負荷を均等化し、データの伝搬前に
プリチャージサイクルを設けて、各ラインを常に同じ状
態にプリチャージするように構成したので、伝送される
データの“1”、“0”によらず、消費電力が一定とな
るため、電力解析による鍵データの推定が困難なものに
なるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による情報処理装置
を示すブロック図である。
【図2】 実施の形態1における記憶手段への鍵データ
の格納状況を示す説明図である。
【図3】 実施の形態1における記憶手段の読み出し回
路の構成例を示す回路図である。
【図4】 この発明の実施の形態2による情報処理装置
を示すブロック図である。
【図5】 実施の形態2における情報処理装置のデータ
処理のシーケンスを示すフローチャートである。
【図6】 この発明の実施の形態3による情報処理装置
のデータ処理のシーケンスを示すフローチャートであ
る。
【図7】 実施の形態3におけるダミーの鍵データの選
択を示す説明図である。
【図8】 この発明の実施の形態4による情報処理装置
における暗号処理手段への鍵データの設定を示す説明図
である。
【図9】 実施の形態4における暗号処理手段への鍵デ
ータ設定手順を示すフローチャートである。
【図10】 この発明の実施の形態5による情報処理装
置におけるクロックの供給を示すブロック図である。
【図11】 実施の形態5における動作クロックの選択
を示すブロック図である。
【図12】 この発明の実施の形態6における第一のク
ロック発生手段の構成を示す説明図である。
【図13】 この発明の実施の形態7による情報処理装
置を示すブロック図である。
【図14】 実施の形態7において非接触型情報処理装
置と読み取り装置の間のデータ送受信を示すタイミング
図である。
【図15】 実施の形態7において読み取り装置に送信
されるレスポンスフレームの構成を示す説明図である。
【図16】 この発明の実施の形態8で用いられるノイ
ズ重畳手段の一例を示すブロック図である。
【図17】 実施の形態8におけるノイズ重畳手段の他
の例を示すブロック図である。
【図18】 この発明の実施の形態9による情報処理装
置に用いられる暗号回路の構成を示すブロック図であ
る。
【図19】 実施の形態9における暗号処理手段のデー
タ伝送を示す回路図である。
【図20】 従来の情報処理装置におけるデータ処理の
シーケンスを示すフローチャートである。
【符号の説明】
1 CPU(データ処理手段)、2 ROM、3 RA
M、4 E2PROM(記憶手段)、5 暗号回路(暗
号処理手段)、6 インタフェース、7 乱数回路(乱
数発生手段)、8a クロック回路(第一のクロック発
生手段)、8bクロック回路(第二のクロック発生手
段)、9 セレクタ、10 アンテナ、11 送受信回
路(送信手段)、12 電源生成回路、13 ノイズ発
生回路(ノイズ重畳手段)、41 鍵データエリア、5
1 レジスタ、52 演算部、71 シフトレジスタ、
81 D/A変換器、82 VCO。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤岡 宗三 兵庫県伊丹市中央3丁目1番17号 三菱電 機システムエル・エス・アイ・デザイン株 式会社内 Fターム(参考) 5B017 AA00 AA03 BA07 CA14 5B035 AA13 BB09 CA38 5J104 AA47 NA02 NA35 NA37 NA42

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 データ機密保持のための暗号処理に用い
    る鍵データを、その反転データとともに記憶する記憶手
    段と、 前記記憶手段より鍵データをその反転データとともに読
    み出し、読み出した前記鍵データを用いて暗号処理プロ
    グラムを実行する暗号処理手段と、 前記暗号処理手段による前記暗号処理プログラムの実行
    結果に基づいて演算プログラムを実行するデータ処理手
    段とを備えた情報処理装置。
  2. 【請求項2】 データ機密保持のための暗号処理に用い
    る鍵データを記憶する記憶手段と、 前記記憶手段より鍵データを読み出し、読み出した前記
    鍵データを用いて暗号処理プログラムを実行する暗号処
    理手段と、 前記暗号処理手段による暗号処理プログラムの実行前に
    乱数を発生する乱数発生手段と、 前記乱数発生手段が発生する乱数により演算プログラム
    の実行順序を変化させて、前記暗号処理プログラムの実
    行結果に基づいた演算プログラムの実行を制御するデー
    タ処理手段とを備えた情報処理装置。
  3. 【請求項3】 データ機密保持のための暗号処理に用い
    る鍵データを記憶する記憶手段と、 前記記憶手段より鍵データを読み出し、読み出した前記
    鍵データを用いて暗号処理プログラムを実行する暗号処
    理手段と、 前記暗号処理手段による暗号処理プログラムの実行前に
    乱数を発生する乱数発生手段と、 前記乱数発生手段の発生する乱数により演算プログラム
    の実行タイミングを変化させて、前記暗号処理プログラ
    ムの実行結果に基づいて演算プログラムの実行を制御す
    るデータ処理手段とを備えた情報処理装置。
  4. 【請求項4】 データ機密保持のための暗号処理に用い
    る鍵データを複数記憶している記憶手段と、 前記記憶手段からの鍵データの読み出しを、乱数に応じ
    て読み出し順序を変化させて行い、読み出された鍵デー
    タを用いて暗号処理プログラムを実行する暗号処理手段
    と、 前記暗号処理手段による暗号処理プログラムの実行前
    に、前記暗号処理手段への乱数を発生する乱数発生手段
    と、 前記暗号処理手段による前記暗号処理プログラムの実行
    結果に基づいて演算プログラムを実行するデータ処理手
    段とを備えた情報処理装置。
  5. 【請求項5】 データ機密保持のための暗号処理に用い
    る鍵データを記憶する記憶手段と、 前記記憶手段より鍵データを読み出し、読み出した前記
    鍵データを用いて暗号処理プログラムを実行する暗号処
    理手段と、 前記暗号処理手段にクロックを供給する第一のクロック
    発生手段と、 前記暗号処理手段による暗号処理プログラムの実行結果
    に基づいて演算プログラムを実行するデータ処理手段
    と、 前記データ処理手段に前記第一のクロック発生手段とは
    個別のクロックを供給する第二のクロック発生手段とを
    備えた情報処理装置。
  6. 【請求項6】 暗号処理手段へのクロックを発生する第
    一のクロック発生手段に供給する乱数を発生する乱数発
    生手段を設け、 前記第一のクロック発生手段が、発生するクロックの発
    振周波数を、前記乱数発生手段が発生する乱数に応じて
    変化させるものであることを特徴とする請求項5記載の
    情報処理装置。
  7. 【請求項7】 データ機密保持のための暗号処理に用い
    る鍵データを記憶する記憶手段と、 前記記憶手段より鍵データを読み出し、読み出した前記
    鍵データを用いて暗号処理プログラムを実行する暗号処
    理手段と、 演算プログラムを、乱数発生手段が発生する乱数に基づ
    いた前記暗号処理プログラムの実行結果を用いて実行す
    るデータ処理手段とを備えた情報処理装置において、 前記データ処理手段による演算プログラムの実行中に、
    前記乱数発生手段の発生する乱数を読み取り装置側に送
    信する送信手段を設けたことを特徴とする情報処理装
    置。
  8. 【請求項8】 乱数発生手段の発生する乱数を読み取り
    装置側に送信する際の変調度を、前記乱数に応じて決定
    することを特徴とする請求項7記載の情報処理装置。
  9. 【請求項9】 データ機密保持のための暗号処理に用い
    る鍵データを記憶する記憶手段と、 前記記憶手段より鍵データを読み出し、読み出した前記
    鍵データを用いて暗号処理プログラムを実行する暗号処
    理手段と、 演算プログラムを、乱数発生手段が発生する乱数に基づ
    いた前記暗号処理プログラムの実行結果を用いて実行す
    るデータ処理手段とを備えた情報処理装置において、 前記乱数発生手段の発生する乱数に応じて、電源線にノ
    イズを乗せるノイズ重畳手段を設けたことを特徴とする
    情報処理装置。
  10. 【請求項10】 ノイズ重畳手段を電界効果トランジス
    タとそれに接続された抵抗とによって構成し、 乱数発生手段が発生する乱数に応じて、前記抵抗の抵抗
    値を変化させることを特徴とする請求項8記載の情報処
    理装置。
  11. 【請求項11】 暗号処理手段に、鍵データや処理デー
    タなどのデータを伝搬するラインと、 前記鍵データや処理データなどのデータの反転データを
    伝搬するラインとを持たせ、 前記各ラインへのダミー回路の接続によって、前記各ラ
    インの負荷を均等化するとともに、 前記データの伝搬前にプリチャージサイクルを設けて、
    前記各ラインを常に同じ状態にプリチャージすることを
    特徴とする請求項1から請求項9のうちのいずれか1項
    記載の情報処理装置。
JP2001197058A 2001-06-28 2001-06-28 情報処理装置 Pending JP2003018143A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001197058A JP2003018143A (ja) 2001-06-28 2001-06-28 情報処理装置
US10/166,269 US20030005321A1 (en) 2001-06-28 2002-06-11 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001197058A JP2003018143A (ja) 2001-06-28 2001-06-28 情報処理装置

Publications (1)

Publication Number Publication Date
JP2003018143A true JP2003018143A (ja) 2003-01-17

Family

ID=19034742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001197058A Pending JP2003018143A (ja) 2001-06-28 2001-06-28 情報処理装置

Country Status (2)

Country Link
US (1) US20030005321A1 (ja)
JP (1) JP2003018143A (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260652A (ja) * 2004-03-12 2005-09-22 Sony Corp 信号処理回路および方法
JP2006025366A (ja) * 2004-07-09 2006-01-26 Sony Corp 暗号化装置及び半導体集積回路
JP2006229485A (ja) * 2005-02-16 2006-08-31 Sony Corp 信号処理回路および信号処理方法
JP2006520565A (ja) * 2003-03-14 2006-09-07 アクサルト・エス・アー 暗号プロセッサを備える電子ユニットのセキュリティのプロセス
JP2007116215A (ja) * 2005-10-18 2007-05-10 Fuji Electric Holdings Co Ltd 耐タンパーモジュール装置
WO2008053626A1 (en) * 2006-10-30 2008-05-08 Sharp Kabushiki Kaisha Encrypting apparatus
JP2008299698A (ja) * 2007-06-01 2008-12-11 Dainippon Printing Co Ltd 低消費電力化が図られたicカード
JP2009516964A (ja) * 2005-11-21 2009-04-23 アトメル・コーポレイション 暗号化保護方法
US7583129B2 (en) 2003-05-27 2009-09-01 Infineon Technologies Ag Integrated circuit and method for operating the integrated circuit
JPWO2009118829A1 (ja) * 2008-03-25 2011-07-21 三菱電機株式会社 暗号演算装置及び暗号演算プログラム及び記録媒体
JP2015161969A (ja) * 2014-02-26 2015-09-07 セイコーエプソン株式会社 マイクロコンピューター及び電子機器
JP2015532549A (ja) * 2012-10-04 2015-11-09 イントリンシツク・イー・デー・ベー・ベー 物理的クローン不能関数として使用されるメモリから暗号化キーを生成するためのシステム
JP2017028506A (ja) * 2015-07-22 2017-02-02 株式会社メガチップス メモリ装置、ホスト装置、及びメモリシステム
US10615959B2 (en) 2015-07-22 2020-04-07 Megachips Corporation Memory device, host device, and memory system

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4461351B2 (ja) * 2002-08-15 2010-05-12 ソニー株式会社 非接触式icカード
JP3881942B2 (ja) 2002-09-04 2007-02-14 松下電器産業株式会社 暗号化部を有する半導体装置
FR2844896A1 (fr) * 2002-09-19 2004-03-26 St Microelectronics Sa Alimentation d'un circuit de traitement asynchrone de donnees
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
DE10310781A1 (de) * 2003-03-12 2004-09-30 Infineon Technologies Ag Verfahren zum Betreiben eines Mikroprozessors und eine Mikroprozessoranordnung
US7502468B2 (en) * 2003-09-02 2009-03-10 Ncipher Corporation Ltd. Method and system for generating a cryptographically random number stream
FR2861474B1 (fr) * 2003-10-24 2007-04-27 Atmel Corp Procede et appareil pour une periode de traitement variable dans un circuit integre
JP4674440B2 (ja) * 2004-03-04 2011-04-20 ソニー株式会社 データ処理回路
US7949883B2 (en) * 2004-06-08 2011-05-24 Hrl Laboratories, Llc Cryptographic CPU architecture with random instruction masking to thwart differential power analysis
JP2008524901A (ja) 2004-12-20 2008-07-10 エヌエックスピー ビー ヴィ データ処理装置及びその動作方法
US20100042851A1 (en) * 2005-11-04 2010-02-18 Gemplus Method for Securely Handling Data During the Running of Cryptographic Algorithms on Embedded Systems
CN101682506B (zh) 2007-05-18 2013-10-16 美国唯美安视国际有限公司 用于确定在保护数据时应用的可编程处理步骤的系统和方法
JP5095281B2 (ja) * 2007-07-11 2012-12-12 株式会社日立製作所 文字列匿名化装置、文字列匿名化方法及び文字列匿名化プログラム
CN101661546B (zh) * 2008-08-28 2012-12-19 深圳富泰宏精密工业有限公司 在手持行动电子装置中进行文件加密的系统及方法
WO2015045172A1 (ja) * 2013-09-30 2015-04-02 富士通株式会社 情報処理装置及び情報処理方法
US9577996B2 (en) * 2014-08-29 2017-02-21 Pentland Firth Software GmbH Computer system and method for encrypted remote storage

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998034403A1 (en) * 1995-09-29 1998-08-06 Intel Corporation Apparatus and method for securing captured data transmitted between two sources
EP2280502B1 (en) * 1998-06-03 2018-05-02 Cryptography Research, Inc. Using unpredictable information to Resist Discovery of Secrets by External Monitoring
DE19850721A1 (de) * 1998-11-03 2000-05-18 Koninkl Philips Electronics Nv Datenträger mit Verschleierung des Stromverbrauchs
JP4457431B2 (ja) * 1999-05-18 2010-04-28 ソニー株式会社 受信装置および方法、並びに記録媒体
US6419159B1 (en) * 1999-06-14 2002-07-16 Microsoft Corporation Integrated circuit device with power analysis protection circuitry
WO2001017245A1 (en) * 1999-08-27 2001-03-08 Kabushiki Kaisha Toshiba System for interconnecting devices through analog line
US6766455B1 (en) * 1999-12-09 2004-07-20 Pitney Bowes Inc. System and method for preventing differential power analysis attacks (DPA) on a cryptographic device
US6480072B1 (en) * 2000-04-18 2002-11-12 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520565A (ja) * 2003-03-14 2006-09-07 アクサルト・エス・アー 暗号プロセッサを備える電子ユニットのセキュリティのプロセス
US7583129B2 (en) 2003-05-27 2009-09-01 Infineon Technologies Ag Integrated circuit and method for operating the integrated circuit
JP2005260652A (ja) * 2004-03-12 2005-09-22 Sony Corp 信号処理回路および方法
JP2006025366A (ja) * 2004-07-09 2006-01-26 Sony Corp 暗号化装置及び半導体集積回路
JP2006229485A (ja) * 2005-02-16 2006-08-31 Sony Corp 信号処理回路および信号処理方法
JP2007116215A (ja) * 2005-10-18 2007-05-10 Fuji Electric Holdings Co Ltd 耐タンパーモジュール装置
JP2009516964A (ja) * 2005-11-21 2009-04-23 アトメル・コーポレイション 暗号化保護方法
JP2008113130A (ja) * 2006-10-30 2008-05-15 Sharp Corp 暗号化装置
WO2008053626A1 (en) * 2006-10-30 2008-05-08 Sharp Kabushiki Kaisha Encrypting apparatus
JP2008299698A (ja) * 2007-06-01 2008-12-11 Dainippon Printing Co Ltd 低消費電力化が図られたicカード
JPWO2009118829A1 (ja) * 2008-03-25 2011-07-21 三菱電機株式会社 暗号演算装置及び暗号演算プログラム及び記録媒体
JP2015532549A (ja) * 2012-10-04 2015-11-09 イントリンシツク・イー・デー・ベー・ベー 物理的クローン不能関数として使用されるメモリから暗号化キーを生成するためのシステム
JP2015161969A (ja) * 2014-02-26 2015-09-07 セイコーエプソン株式会社 マイクロコンピューター及び電子機器
JP2017028506A (ja) * 2015-07-22 2017-02-02 株式会社メガチップス メモリ装置、ホスト装置、及びメモリシステム
US10615959B2 (en) 2015-07-22 2020-04-07 Megachips Corporation Memory device, host device, and memory system
US11115181B2 (en) 2015-07-22 2021-09-07 Megachips Corporation Memory device, host device, and memory system

Also Published As

Publication number Publication date
US20030005321A1 (en) 2003-01-02

Similar Documents

Publication Publication Date Title
JP2003018143A (ja) 情報処理装置
US7194633B2 (en) Device and method with reduced information leakage
CN100592687C (zh) 根据通信双方的开始信息产生口令的加密通信系统
US7543159B2 (en) Device and method with reduced information leakage
EP1496641A2 (en) Cryptographic processing apparatus, cryptographic processing method and computer program
KR970701956A (ko) 자료정보 출입용 칩을 이용하는 방법 및 그 장치(method and apparatus for utilizing a token for resource access)
JP4651212B2 (ja) 携帯可能情報記憶媒体およびその認証方法
KR20010083099A (ko) Ic 카드 및 마이크로 프로세서
JP2001268072A (ja) 情報処理装置、情報処理方法、及びカード部材
JP4461351B2 (ja) 非接触式icカード
US6662286B2 (en) Information processing method and information processing apparatus
CN100422960C (zh) 用于提高电路安全性防止未经授权的访问的方法和装置
US7319758B2 (en) Electronic device with encryption/decryption cells
TWI696088B (zh) 產生動態信用卡安全碼的方法和設備、銀行卡和認證方法
JP2002111660A (ja) 暗号通信方法及び暗号通信装置
KR20060102584A (ko) 유에스비 인터페이스를 구비한 보안 데이터 저장 장치 및방법
JP2004126841A (ja) プログラム実装方法
JP2004054128A (ja) 暗号化装置
JP2001338271A (ja) Icカード及びicカード利用システム
JP4395261B2 (ja) 伝送データに不依存な電力消費を呈するデータバス手段を備えたデータキャリア装置
KR20010032564A (ko) 미분 전류 소모 분석을 방지하는 데이터 처리 장치 및작동 방법
KR20110060569A (ko) 부채널 분석을 위한 카드 리더 및 그것을 포함한 부채널 분석기
US7107616B2 (en) Method of producing a response
JP2000187618A (ja) 情報処理装置
Menghin et al. PtNBridge--A Power-Aware and Trustworthy Near Field Communication Bridge to Embedded Systems

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060314

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060410