JP2001195555A - Icカードとマイクロコンピュータ - Google Patents
IcカードとマイクロコンピュータInfo
- Publication number
- JP2001195555A JP2001195555A JP2000003297A JP2000003297A JP2001195555A JP 2001195555 A JP2001195555 A JP 2001195555A JP 2000003297 A JP2000003297 A JP 2000003297A JP 2000003297 A JP2000003297 A JP 2000003297A JP 2001195555 A JP2001195555 A JP 2001195555A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- encryption
- data
- decryption
- unit
- 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
Landscapes
- Storage Device Security (AREA)
- Advance Control (AREA)
Abstract
クロコンピュータを提供する。 【解決手段】 外部端子がリードライト装置と電気的に
接続されることによって動作電圧が供給され、かつ、中
央処理装置からの指示を受けて動作する暗号処理用演算
ユニットによる暗号化処理又は復号化処理を伴ったデー
タの入出力動作を含むICカード又はモジュール構成の
マイクロコンピュータにおいて、上記暗号処理用演算ユ
ニットに複数ビット単位での暗号化処理又は復号化処理
のための演算に使用するデータを格納するレジスタを設
け、暗号化処理又は復号化処理に先立って必要なデータ
をかかるレジスタに取り込むようにする。
Description
イクロコンピュータに関し、特にICカードやプログラ
ム内蔵の1チップマイクロコンピュータのようなCPU
とメモリを含み暗号鍵を使ったデータ処理を行なうもの
の機密保護技術に利用して有効な技術に関するものであ
る。
データの暗号化処理又は復号化処理を行なうようにした
ICカードにおいて、処理時間の違いを利用して実行内
容や暗号鍵を推定するTA(Timing Attack )法のよう
なハッキング手法に対抗するため、暗号処理化又は復号
化処理の実行中又は実行の前後に、鍵情報の内容との時
間的な相関関係を喪失させる遅延処理を実行する技術の
例として、特開平10−69222号がある。また、I
Cカードに関しては、オーム社出版電子情報通信学会編
水沢順一著「ICカード」などがある。
号処理を行っている時の消費電流を観測して解析するこ
とにより、容易に暗号処理の内容や暗号鍵が推定される
ことの可能性が示唆されている。このことについては、
John Wiley & sons 社 W.Rankl & W. Effing著「Smart C
ard Handbook 」 の8.5.1.1 Passive protective mechan
isms( 263ページ) に記載されている。
s)法では、演算命令の違い、あるいは処理されている
データの違いにより生じる消費電流波形の違いから、暗
号鍵や処理されているデータを解析し、DPA(Diffre
ntia1 Power Analysis)法では、消費電流波形を統計処
理して暗号鍵を推定する。このDPA法では、例えばD
ESのある部分に仮定した暗号鍵をあてはめて、平文を
変化させながら消費電流波形を測定して統計する。暗号
鍵を様々に変化させながらこの作業を繰り返し、正しい
鍵のときには電流波形が大きなピークを示す。
ack )法のみを考慮した遅延処理では、実際の演算によ
る消費電流の相関性までも喪失させることができず、上
記のような消費電流波形を観測するというSPA又はD
PA法のようなハッキング手法には対抗できない。そこ
で、本願発明者等においては、上記ICカード及びIC
カード等のようなモジュールに搭載されるマイクロコン
ピュータのように内蔵のプログラムにより一定のデータ
処理動作を行うものに対して上記のような消費電流の観
測による暗号処理の内容や暗号鍵の解読をより確実に防
止することができる機密保護技術を開発するに至った。
したICカードとマイクロコンピュータを提供すること
にある。この発明の前記ならびにそのほかの目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
発明のうち代表的なものの概要を簡単に説明すれば、下
記の通りである。すなわち、外部端子がリードライト装
置と電気的に接続されることによって動作電圧が供給さ
れ、かつ、中央処理装置からの指示を受けて動作する暗
号処理用演算ユニットによる暗号化処理又は復号化処理
を伴ったデータの入出力動作を含むICカードにおい
て、上記暗号処理用演算ユニットに複数ビット単位での
暗号化処理又は復号化処理のための演算に使用するデー
タを格納するレジスタを設け、暗号化処理又は復号化処
理に先立って必要なデータをかかるレジスタに取り込む
ようにする。
表的なものの概要を簡単に説明すれば、下記の通りであ
る。すなわち、中央処理装置からの指示を受けて動作す
る暗号処理用演算ユニットによる暗号化処理又は復号化
処理を伴ったデータの入出力動作を含むモジュール構成
のマイクロコンピュータにおいて、上記暗号処理用演算
ユニットに複数ビット単位での暗号化処理又は復号化処
理のための演算に使用するデータを格納するレジスタを
設け、暗号化処理又は復号化処理に先立って必要なデー
タを上記レジスタに取り込むようにする。
ICカードの一実施例の外観図が示されている。ICカ
ードは、プラスチックケースからなるカード101と、
かかるカード101の内部に搭載された図示しない1チ
ップのマイクロコンピュータ等からなるICカード用チ
ップを持つものである。上記ICカードは、さらに上記
ICカード用チップの外部端子に接続されている複数の
接点(電極)102を持つ。複数の接点102は、後で
図2によって説明するような電源端子VCC、電源基準
電位端子VSS、リセット入力端子RESバー、クロッ
ク端子CLK、データ端子I/O−1/IRQバー、I
/O−2/IRQバーとされる。ICカードは、かかる
接点102を通して図示しないリーダーライタのような
外部結合装置から電源供給を受け、また外部結合装置と
の間でのデータの通信を行う。
載されるICカード用チップ(マイクロコンピュータ)
の一実施例の概略ブロック図が示されている。同図の各
回路ブロックは、公知のMOS集積回路の製造技術によ
り、特に制限されないが、単結晶シリコンのような1個
の半導体基板上において形成される。
は、基本的にマイクロコンピュータと同じような構成で
ある。その構成は、クロック生成回路205、中央処理
装置(以下単にCPUという場合がある)201、RO
M(Read Only Memory)206やRAM(Random Access M
emory)207、不揮発性メモリ208などの記憶装置、
暗号化及び復号化処理の演算を行なうコプロセッサ20
9、入出力ポート(I/Oポート)202などからな
る。
ーダライタ(外部結合装置)から図1の接点102を介
して供給される外部クロックCLKを受け、かかる外部
クロック信号に同期したシステムクロック信号を形成
し、それをチップ内部に供給する回路である。CPU2
01は、論理演算や算術演算などを行う装置であり、シ
ステムコントロールロジック、乱数発生器及びセキュリ
ィロジック及びタイマなどを制御する。記憶装置20
6、207、208は、プログラムやデータを格納する
装置である。コプロセッサ209は、後述するようにR
SA暗号法などに応用可能なべき乗剰余乗算動作を行な
う演算器とレジスタ及び制御論理から構成される。I/
O(入出力)ポート202は、リーダライタと通信を行
う装置である。データバス204とアドレスバス203
は、各装置を相互に接続するバスである。
ち、ROM206は、記憶内容が不揮発的に固定されて
いるメモリであり、主にプログラムを格納するメモリで
ある。揮発性メモリ(以下、RAMという)207は自
由に記憶情報の書き換えができるメモリであるが、電源
の供給が中断されると、記憶している内容が消えてなく
なる。ICカードがリーダライタから抜かれると電源の
供給が中断されるため、RAM207の内容は、保持さ
れなくなる。
(Electrical Erasable Programmable Read Only Memor
y)という)208は、内容の書き換えが可能な不揮発
性メモリであり、その中に一旦書き込まれた情報は、電
源の供給が停止されてもその内部に保持される。このE
EPROM208は、書き換える必要があり、かつIC
カードがリーダライタから抜かれても保持すべきデータ
を格納するために使われる。例えば、ICカードがプリ
ペイドカードとして使用されるような場合、のプリペイ
ドの度数などは、使用するたびに書き換えられる。この
場合の度数などは、リーダライタか抜かれてもICカー
ド内で記憶保持する必要があるため、EEPROM20
8で保持される。
ッサと同様な構成にされる。すなわち、その詳細を図示
しないけれども、その内部に命令レジスタ、命令レジス
タに書込まれた命令をデコードし、各種のマイクロ命令
ないしは制御信号を形成するマイクロ命令ROM、演算
回路、汎用レジスタ(RG6等)、内部バスBUSに結
合するバスドライバ、バスレシーバなどの入出力回路を
持つ。CPU201は、ROM206などに格納されて
いる命令を読み出し、その命令に対応する動作を行う。
CPU201は、I/Oポート202を介して入力され
る外部データの取り込み、ROM206からの命令や命
令実行のために必要となる固定データのようなデータの
読み出し、RAM207やEEPROM208に対する
データの書き込みと読み出し動作制御等を行う。
05から発生されるシステムクロック信号を受けそのシ
ステムクロック信号によって決められる動作タイミン
グ、周期をもって動作される。CPU201は、その内
部の主要部がPチャンネル型MOSFETとNチャンネ
ル型MOSFETとからなるCMOS回路から構成され
る。特に制限されないが、CPU201は、CMOSス
タティックフリップフロップのようなスタティック動作
可能なCMOSスタテック回路と、信号出力ノードへの
電荷のプリチャージと信号出力ノードへの信号出力とを
システムクロック信号に同期して行うようなCMOSダ
イナミック回路とを含む。
チップ内部で乱数を自動生成する乱数発生器や、ランダ
ムに割込みを生成するタイマー機能などの他に、本願発
明にかかる高セキュリテイ機能として、ICカードと外
部装置とのデータ送受信の際に用いるRSA暗号法など
に応用可能なべき乗剰余演算動作を行なう暗号処理用演
算ユニット(コプロセッサ)209を内蔵している。こ
のコプロセッサ209は専用のレジスタが内蔵されてい
る。
ムでは、通信データの暗号処理は必須であり、この実施
例でも現在最も多く利用されている公開鍵暗号としてR
SA暗号が用いられる。この暗号法では、暗号化・復号
化ともにべき乗剰余乗算XYmodNを用いるが、これ
は公知のMontgomry法といわれる計算アルゴリズムによ
って剰余乗算A2 modNとABmodNの2つの形に
分解することができる。つまり、Y=en en-1 ・・・
e1 の値ei を上位en から最下位のe1 まで順に1ビ
ットずつ見ていき、ei =0だったらA2 modNのみ
を、ei =1だったらA2 modNとABmodNを演
算する。したがって、ei =0のときにはA2 modN
の演算の後にi=0であるかの判定処理が行なわれ、e
i =1のときにはA2 modNとABmodNとの演算
の後にi=0であるかの判定処理が行なわれるために、
ei =0と1とに対応した2通りの電流波形の形態が現
れてしまう。
用いた場合には、その消費電流はCPUの消費電流に比
べて比較的大きいため、この部分の電流波形を観測する
ことによりコプロセッサの動作形態を比較的容易に識別
することができ、前記TA法とSPA法により暗号鍵Y
の値をハッキングされてしまう可能性が高い。そこで、
この実施例のコプロセッサ209では、上記暗号化・復
号化ともに用いられるべき乗剰余乗算XY modNの演
算を行なうに当たり攪乱目的のダミーの演算が挿入され
る。つまり、図3のタイミング図及び図4のフローチャ
ート図に示すようにei =0でも1でもA2 modNと
ABmodNの両方の演算を常に行なうようにするもの
である。
すように本来は、en =1のときにはA2 modNの演
算を行い、en の判定の1により時間t1を経てABm
odNの演算を行い、その演算後にiをデクリメント
(n−1)してi=0の判定に時間t2を費やす。次い
で、次ビットen-1 =0のときは、A2 modNの演算
を行い、en-1 =0の判定とiをデクリメント(n−
2)してi=0の判定に時間t3を費やす。そして、次
ビットen-2 =1のときには、A2 modNの演算を行
い、en-2 の判定の1により時間t1を経てABmod
Nの演算を行い、その演算後にiをデクリメント(n−
3)してi=0の判定に時間t2を費やす。以下、同様
にe1 まで同様な動作を繰り返すものである。
は、上記暗号鍵Yの各ビットei の論理0又は1に無関
係にA2 modNの演算の後にABmodNの演算を行
なうようにする。図3(b)のen-1 =0のときのよう
にei が論理0のときにおける上記ABmodNの演算
が攪乱目的のダミー演算として挿入される。つまり、
(b)のタイミング図及び図4のフローチャート図のよ
うに、A2 modNとABmodNの演算動作の間に
は、例えばei の判定の判定を含む時間t1が費やさ
れ、ABmodNと次ビットに対応したA2 modNの
演算動作の間には、iのデクリメント動作とi=0の判
定時間t2が費やされる画一化された動作タイミング及
び動作電流とすることができる。ただし、この実施例で
は、ei の判定処理は、その結果が演算動作の分岐の条
件とされないため図4のフローチャート図では省略され
ている。
ブロック図が示されいてる。この実施例では、主に演算
器、制御論理、専用レジスタブロックより構成され、べ
き乗剰余演算の最終結果はデータバツファ、データバス
を介して中央処理装置CPUに送信される。専用レジス
タは、アドレスバスから供給されるアドレス信号に対応
してその選択動作が行なわれる。
タブロックのリードライトバッファ(R/W Buffer)
との間にゲート回路1が設けられる。このゲート回路1
は、制御論理により制御が行なわれて、ei が論理0な
らばA2 modN動作の演算結果が内部バスMDBとリ
ードライトバッファを介して所定のレジスタCDAに取
り込まれた後開いていたゲートが閉じるようにされる。
つまり、上記演算結果がリードライトバッファに取り込
まれると、その後にゲートを閉じてしまいリードライト
バッファへの新たなデータの書き込みを禁止する。した
がって、その後に行なわれるABmodNの演算結果は
無効データとして扱われることとなる。また、ei が論
理1ならばゲート回路1はゲートを開いた状態のままと
される。
例のブロック図が示されている。この実施例では、レジ
スタブロックのリードライトバッファ(R/W Buffe
r)と各レジスタとの間にゲート回路2が設けられる。こ
のゲート回路2は、前記同様に制御論理により制御が行
なわれて、ei が論理0ならばA2 modN動作の演算
結果が内部バスMDBとリードライトバッファとを介し
て所定のレジスタCDAに書き込まれた後に開いていた
ゲートが閉じるようにされる。つまり、上記演算結果が
レジスタCDAに取り込まれると、その後にゲートを閉
じてしまいかかかるレジスタCDAへの新たなデータの
書き込みを禁止する。したがって、その後に行なわれる
ABmodNの演算結果は、リードライトバッファまで
は書き込まれるが、実際には無効データとして扱われる
こととなる。また、ei が論理1ならばゲート回路2は
ゲートを開いた状態のままとされる。
部構成図が示されている。ダミー書き込み制御ユニット
は、アンドゲート回路によって構成され、一方の入力に
は制御論理からのライトイネーブル信号が供給され、他
方の入力には演算器で生成されたライトストローブ信号
が供給される。上記ゲート回路の出力信号は、データバ
ッファ(R/W Buffer)と専用レジスタにライトスロ
ーブ信号として伝えられる。
制御するものに代えて、レジスタ又はデータバッファへ
の書き込み動作を指示するライトストローブ信号の発生
タイミングを切り換えるようにするものである。つま
り、ei =0のときには、A2modN動作の演算結果
が出力された後にライトイネーブル信号をロウレベルと
してアンドゲート回路のゲートが閉じるようにするもの
である。逆に、ei =1のときには、制御論理はライト
イネーブル信号をハイレベルのままとして、演算器で形
成されたライトストローブ信号がそのままデータバッフ
ァ又は専用レジスタに伝えられる。この構成では、複数
ビットからなる演算結果Aに対応して、複数個のゲート
回路を設ける必要がないので簡素化が可能になる。
例のブロック図が示されいてる。この実施例では、レジ
スタブロックのリードライトバッファ(R/W Buffe
r)と各レジスタとの間にセレクタ2とレジスタブロック
にダミーレジスタ1が設けられる。このセレクタ2は、
前記同様に制御論理により制御が行なわれて、ei が論
理0ならばA2 modN動作の演算結果が内部バスMD
Bとリードライトバッファとを介して所定のレジスタC
DAに書き込まれるような信号経路を形成し、その後に
ダミーレジスタ1を選択するような信号経路を形成す
る。
取り込まれると、その後にダミーレジスタ1を選択する
ので、レジスタCDAへの新たなデータの書き込みを禁
止しつつその後に行なわれるABmodNの演算結果が
ダミーレジスタに書き込まれものとなる。ei が論理1
ならばセレクタ2は常にレジスタCDAを選択する。こ
の構成は、演算結果をレジスタに書き込む動作を含めて
ei が論理0のときと論理1のときとで電流波形でみた
ときに全く同一にすることができるから、電流波形を利
用したアタックをより確実に無力化することができる。
他の一実施例の動作を説明するための構成図が示されて
いる。図9(a)のタイミング図及び(b)のフローチ
ャート図において、前記説明したように、A2 modN
の演算後、ei の判定の時間t1の間もダミー演算動作
としてA2 modNを継続してABmodNの演算に移
行する。
てi=0の判定に時間t2を費やすが、その間も上記A
BmodNの演算を継続させる。以下、同様にe1 まで
同様な動作を繰り返すものである。この構成は、演算動
作中は、ei が論理0と1のときに関係なく上記のよう
な演算動作を継続するので、電流波形でみたときに格別
な特徴を見出すことができないから、電流波形を利用し
たアタックを無力化することができる。
実現するための一実施例のブロック図が示されている。
制御論理では、ダミーイネーブル信号とコプロイネーブ
ル信号を送出する。上記ダミーイネーブル信号とコプロ
イネーブル信号は、オアゲート回路を通して演算器に入
力される。それ故、コプロイネーブル信号がアクティブ
であるときに加えて、ダミーイネーブル信号がアクティ
ブであるときにも演算器は演算動作を行なうようにされ
る。
回路を通してアンドゲート回路の一方の入力に供給さ
れ、かかるアンドゲート回路の他方の入力には演算器で
形成されたライトストローブ信号が供給される。つま
り、演算器で形成されたライトストローブ信号の伝達を
ダミーイネーブル信号で選択的に停止できるようにす
る。コプロイネーブル信号がアクティブにされて、前記
正規の演算動作が終了すると、その演算結果を出力する
ためのライトストローブ信号が形成される。このように
コプロイネーブル信号がアクティブのときには、ダミー
イネーブル信号の反転信号がアクティブレベルとなって
アンドゲート回路のゲートを開くように制御するので、
上記正規演算結果はライトストローブ信号によって、R
/Wバッファ又はレジスタブロックの所定のレジスタに
書き込まれる。
ーイネーブル信号がアクティブとなって演算器に対して
演算動作を指示する。この演算の終了によって、上記ラ
イトストローブ信号が形成されるが、上記ダミーイネー
ブル信号の反転信号によってアンドゲート回路がゲート
を閉じているので、上記攪乱目的のダミー演算動作によ
って発生されたライトストローブ信号がR/Wバッファ
又はレジスタブロックの所定のレジスタに伝えられるこ
とはない。これにより、攪乱目的のダミー演算結果は無
効データとして消失させられる。
の他の一実施例の動作を説明するためのタイミング図が
示されている。前記図3に示した実施例のように、攪乱
目的のダミー演算を挿入して、(a)のタイミング図の
ように、ei に対して画一化してA2 modNとABm
odNの演算を一対として行なうようにした場合でも、
各演算には、演算結果にオーバーフロー処理を必要とす
るもの(あり)のものと、オーバーフロー処理を必要と
しないもの(なし)が発生する。
間を長くするものであるので電流波形でみると、オーバ
ーフロー処理ありとなしとの識別が可能になる。このよ
うな電流波形の特徴から演算内容や演算データを推測す
ることも不可能ではないと考えられるため、この実施例
では(b)のタイミング図に示すようにオーバーフロー
処理を不要とする演算に対しても必要なときと同様にオ
ーバーフロー処理を挿入する。つまり、みかけ上は、全
ての演算A2 modNとABmodNの演算において画
一的にオーバーフロー処理のための動作が実施されるた
めに、その識別を無力化するものである。
他の一実施例の動作を説明するためのフローチャート図
が示されている。このフローチャート図は、前記図11
(b)に対応している。A2 modNとABmodNの
各演算は、剰余演算部とオーバーフロー演算部からな
り、演算結果に無関係に上記オーバーフロー演算処理を
実施するものである。
の他の一実施例の動作の詳細を説明するためのタイミン
グ図が示されている。この実施例による対策前では、前
記A 2 modNとABmodNのようなコプロ演算にお
いては、その演算結果に対応してオーバーフロー処理の
あるものと無いもの2種類が存在したが、この実施例に
よる対策後では、前記A2 modNとABmodNのよ
うなコプロ演算においては、その演算結果に無関係に常
にオーバーフロー処理が実行される。このため、本来は
オーバーフロー処理が不要な演算動作に対して実施され
たオーバーフロー処理は、攪乱目的のダミー動作とされ
る。
コプロセッサの動作を実現するための一実施例のブロッ
ク図が示されている。制御論理では、ダミーオーバーフ
ロー信号とコプロオーバーフロー信号を送出する。上記
ダミーオーバーフロー信号とコプロオーバーフロー信号
は、オアゲート回路を通して演算器に入力される。それ
故、コプロオーバーフロー信号がアクティブであるとき
に加えて、ダミーオーバーフロー信号がアクティブであ
るときにも演算器はオーバーフロー処理動作を行なうよ
うにされる。
ゲート回路の一方の入力に供給され、かかるアンドゲー
ト回路の他方の入力に演算器で形成されたライトストロ
ーブ信号が供給される。つまり、演算器で形成されたラ
イトストローブ信号の伝達をコプロオーバーフロー信号
がアクティブレベルでないときに選択的に停止できるよ
うにする。つまり、コプロオーバーフロー信号がアクテ
ィブレベルでないときはダミーオーバーフロー信号によ
って演算器がオーバーフロー処理を行なっているので、
かかるオーバーフロー処理で形成されたライトストロー
ブ信号は上記ゲート回路のゲートを閉じることによって
無効にするものである。したがって、前記正規のオーバ
ーフロー処理終了すると、その処理結果を出力するため
のライトストローブ信号が形成されて、R/Wバッファ
又はレジスタブロックの所定のレジスタに処理結果が書
き込まれる。
がアクティブとなって演算器に対してオーバーフロー処
理動作を指示した場合には、そのオーバーフロー処理に
よって形成されたライトストローブ信号は、上記コプロ
オーバーフロー信号によってアンドゲート回路のゲート
が閉じられるものであるから、上記攪乱目的のダミーオ
ーバーフロー処理動作によって発生されたライトストロ
ーブ信号がR/Wバッファ又はレジスタブロックの所定
のレジスタに伝えられることはない。これにより、攪乱
目的のダミーオーバーフロー処理結果は無効データとし
て消失させられる。
の更に他の一実施例の動作を説明するためのタイミング
図が示されている。(a)に示すように本来は、en =
1のときにはA2 modNの演算を行い、en の判定の
1により時間t1を経てABmodNの演算を行い、そ
の演算後にiをデクリメント(n−1)してi=0の判
定に時間t2を費やす。次いで、次ビットen-1 =0の
ときは、A2 modNの演算を行い、en-1 =0の判定
とiをデクリメント(n−2)してi=0の判定に時間
t3を費やすような演算動作に対して、上記各演算毎の
時間t1、t2及びt3に対して攪乱目的のダミーサイ
クルが挿入される。
のダミーサイクルの挿入は、各演算毎の時間を最も長い
時間t3に揃えるように挿入するものである。これによ
り、時間t3をインターバルとしてA2 modN又はA
BmodNのいずれかの演算が実施されるために、みか
け上は演算動作に対応した電流波形が画一化されてその
識別を無力化するものである。これに対して、(c)タ
イミング図では、上記(b)とは逆に上記演算毎のイン
ターバルにおいて時間がランダムに変化する攪乱目的の
ダミーサイクルが挿入される。上記A2 modN又はA
BmodNのいずれかの演算が時間的にランダムに実施
される。そのため、電流波形でみると上記各演算動作と
無関係で、かつ不規則性の電流値にされる。言い換える
ならば、上記演算器において同じ状態及び同じ動作でも
毎回異なるよう、統計的な観点での非再現性を持つよう
にされるために、その識別を無力化することができる。
は、前記図2に示されたようにタイマーを利用して演算
間隔を可変にするものである。あるいはコプロセッサの
外部にタイマーを設けて一定の時間が経過するまで次の
演算の実行を待つようにする。つまり、コプロセッサに
よるべき乗剰余乗算の演算において、図15(a)に示
した前記各演算毎の時間t1,t2,t3に攪乱目的の
ダミーのサイクルを挿入し、一定時間後にタイマーから
の割込みを入れる。これにより、図15(b)に示すよ
うにt1,t2,t3の時間が全て一定となり、電流波
形からのアタックを困難にする。あるいはタイマーには
乱数発生器で生成した乱数をセットしておき、(c)に
示すように毎回t1,t2,t3の時間をランダムに変
化させることも可能である。また、タイマーを用いなく
ても、ソフトウエアでカウントすることも可能である。
よる演算の高速化を目的とし、Yの値を2ビット、ある
いは3ビットずつ処理するようにすると、例えば図16
のフローチャート図に示すように、2ビット処理の例で
説明するなら常にA2 modN−A2 modN−ABm
odN及びi−2とi=0?の各ステップの繰り返しに
なるので、前記1ビットずつ行なう場合のような攪乱目
的のダミー演算を行なわなくとも、処理時間や電流波形
が一定になる。そのため、電流波形からYの値を推定す
るのは困難になる。また演算の回数も、前記のバイナリ
法だと最大で2n回かかっていたものを、2ビット処理
だと常に1.5n回で済むために、動作時間の短縮にも
つながる。
B,Nの値をそれぞれコプロセツサ専用レジスタに転送
し格納しておく。しかしながら、2ビット処理を行う場
合、、Yの値によって4通りのBの値B1 、B2 、
B3 、B4 が必要になり、これらの値は前もって計算し
て.RAMやEEPROMなどに格納しておきヽ毎回コ
プロセツサ専用レジスタに転送することになるが。この
際、4通りのBの値によって転送中の電流波形に特徴が
現れる可能性がある。
データを転送する場合を考える。プリチャージバスは、
データ転送の前にすべてのバスの値を“1”にそろえる
バスである。このバスに、値は違うが“1”のビットの
数が同じデータ、例えば、“1”のビットの数が2であ
る16進数で“88”と“11”、を転送した場合、電
流波形はほぼ同じ波形になると予測される。この理由
は、“1”から“0”へ変化したビットの数が同じであ
るため、同じように電流を消費し、同じ電流波形になる
からである。
ータ、例えば、“1”のビットの数が3である“89”
や“19”を転送した場合、“1”のビットの数が2の
データとは消費電流が異なる。これは、13ビット分バ
スの値が“1”から“0”に変わったため、その分の電
流が消費される。そのため、先の14ビットが変化した
データに比べて消費電流が1ビット分小さくなる。一般
に、変化するビットの数が多いほど電流波形は高くなる
という規則性がある。この規則性から転送されているデ
ータを推定することができると思われる、電流アタック
の対象となりやすい。これを防ぐため次のような工夫を
行なうものである。
ロセッサの他の一実施例のブロック図がそれぞれ示され
ている。この実施例のコプロセッサは、2ビット処理と
3ビット処理に向けられている。つまり、コプロセッサ
のレジスタ容量を増やして、2ビット処理の場合には4
通りのBの値B1 〜B4 を、3ビット処理の場合には8
通りのBの値B1 〜B8 をコプロセッサのレジスタに格
納しておく。従って、演算の途中で記憶回路(RAM)
からデータバスを通して上記コプロセッサのれレジスタ
に前記のような転送の必要がなくなり、前記電流アタッ
クに対して防御することができる。
チャート図において、コプロセッサがABmodNを実
行する際、下記のように4つ(3ビット処理のときには
あるいは8つ)のうちの正しいBレジスタCDBから値
を選んで実行できるように、Yの2ビット(あるいは3
ビット)の値をコプロセッサの制御レジスタ(CCN
T)のビットに当てはめ、次に示す制御レジスタ及び演
算の種類のように、2ビット処理の場合には、AB1 m
odN, AB2 modN,AB3 modN,AB 4 mo
dNのうちどの演算をするかを選択させるようにする。
の他の一実施例のブロック図が示されている。この実施
例のコプロセッサも、2ビット処理や3ビット処理のよ
うな複数ビット処理に向けられている。この実施例で
は、データバスにスイッチを設けて演算をしながら転送
できるようにする。この構成により、コプロセッサのレ
ジスタ容量を増加させることなく、実行時間の短縮と電
流アタック対策の両方に効果的である。
B,CDN,CDW)は、同図に示すように4つのレジ
スタがCPUとコプロセッサの演算器との間で排他的に
使用されている。2ビット処理を行う場合、2回のA2
modNを行いながらその間にBの値をRAMからコプ
ロセッサ専用レジスタユニット中のBレジスタCDBに
転送できるようにすると効率的である。
スタCDBのI/Oを分け、それぞれにリード/ライト
バッファ(R/W Buffer)を設けて、それぞれ独立に
動作できるようにする。演算器がA2 modNを演算し
ている間は、制御信号によりデータバスをパス1(pa
th1)につなぎ、図示しないCPUのRAMからBの
値を上記独立に設けられたリード/ライトバッファを介
してBレジスタCDBに転送する。次に演算器がABm
odNを実行する際には、制御信号によりパス2(pa
th2)に切り換え、上記BレジスタのB値を演算器に
送り上記CPUがBレジスタCDBにアクセスできない
ようにする。この方法を取ると、A2 modNを演算動
作と、B値の転送動作が同時に行なわれるから演算時間
が短縮されるだけでなく、演算と転送の消費電流が重な
るため双方の波形が識別できなくなり、電流アタック対
策に有効である。
チップの他の一実施例の要部ブロック図が示されてい
る。この実施例では、暗号処理用演算ユニットとメモリ
(RAM)間の転送の際、メモリにカウンタを設けるよ
うにするものである。この実施例では、2ビット処理に
用いる4通りの値、あるいは3ビット処理に用いる8通
りの値をコプロセッサ外部メモリRAMからコプロセッ
サ専用レジスタユニット中のBレジスタCDBに転送す
る際の電流撹乱を行なうようにするものである。
ICカード用チップにおいて、RAMの側にカウンタが
設けられる。RAMは、カウンタで形成されたアドレス
信号をデコードしてデータをデータバスに送出する。こ
のとき、アドレスバスには、乱数発生器が形成された偽
アドレスが送出される。これにより、アドレスとデータ
との相関が無くなり、電流解析を無力化させることがで
きる。
ロック図が示されている。カンウタは、転送したいブロ
ックの最初のアドレスを保持する先頭アドレスレジスタ
とインクリメンタを用い、ブロック転送をイネーブルに
するイネーブル信号とクロック又はりード/ライト信号
などによるインクリメント指示信号で制御する。ブロッ
ク転送を開始する際、まず転送の先頭アドレスと転送開
始のイネーブル信号がCPUよりカウンタに送信され、
上記先頭アドレスレジスタに保持される。その後は、イ
ンクリメント指示信号によって、インクリメンタが動作
して先頭アドレスレジスタの先頭アドレスA+1を形成
して、アドレスを生成するとともに上記先頭アドレスレ
ジスタの内容を書き換えるので、図22のタイミング図
に示すように、RAMアドレスが順番にインクリメント
A、A+1、A+2、・・・されていき、そのアドレス
に従って順次データDA 、DA+1 、DA+2 ・・・・が書
込まれ/読み出される。
ルになった後はアドレスバスからのアドレスをカウンタ
が受け付けないため、アドレスバスにどのような値が来
ようとデータは正しく読み出されていく。従って、アド
レスバスに乱数発生器などで生成した乱数B、C、D、
E・・・が出力されるとアドレスバスの消費電流を撹乱
でき、この効果からチップ全体の消費電流を撹乱できる
ため、チップ内部動作の解析を困難にすることが可能に
なる。
チップの更に他の一実施例を示す要部ブロック図が示さ
れている。この実施例でも、暗号処理用演算ユニットと
メモリ(RAM)間の転送の際、メモリにカウンタを設
けるようにするものであが、かかる暗号処理用演算ユニ
ットとメモリRAMの最初のアドレスをも撹乱するよう
アドレスオフセット機能が設けられる。つまり、乱数発
生器などで生成した乱数をあらかじめCPUとカウンタ
側に同時に転送しておき、ブロック転送の最初のアドレ
スに乱数を加えるか又は引くかした値をアドレスバスに
出力する。カウンタ側ではアドレスバスの値を同じ乱数
を用いて復号化し、最初のアドレスを得る。
のタイミング図が示されている。乱数発生器で形成され
た乱数をあらかじめCPUとRAMに転送しておき、オ
フセット演算部1によりブロック転送の最初のアドレス
Aに乱数Sを加えるか引くかしたアドレスA±Sをアド
レスバスに送出する。カウンタ側では、アドレスバスの
値を同じ乱数Sを用いて復号化し、オフセット演算部2
により最初のアドレスAを得て、以後前記同様にインク
リメントしてアドレスA+1、A+2・・・を生成す
る。このようなアドレスA+1、A+2に同期して、乱
数発生器が乱数B、C、D・・・をアドレスバスに送出
するので、先頭のアドレスを含めてアドレスバスの消費
電流を撹乱でき、チップ内部動作の解析をいっそう困難
にすることが可能になる。
記の通りである。すなわち、 (1) 外部端子がリードライト装置と電気的に接続さ
れることによって動作電圧が供給され、かつ、中央処理
装置からの指示を受けて動作する暗号処理用演算ユニッ
トによる暗号化処理又は復号化処理を伴ったデータの入
出力動作を含むICカードにおいて、上記暗号処理用演
算ユニットに複数ビット単位での暗号化処理又は復号化
処理のための演算に使用するデータを格納するレジスタ
を設け、暗号化処理又は復号化処理に先立って必要なデ
ータをかかるレジスタに取り込むようにすることによ
り、演算動作の過程でのデータ転送を無くすことができ
るから、電流波形でのハッキングを無力化することがで
きるという効果が得られる。
は復号化処理を、RSA暗号法などに応用可能なべき乗
剰余乗算動作を含むものとし、上記暗号化処理用演算ユ
ニットは、入力されたX、Y及びNを受け、A=1、B
=Xとして、A=A2 modNとA=ABmodNの演
算を交互に行ない、かかる演算においてYの上位から複
数ビットずつみて、上記複数ビットに対応したA=A2
modNの演算を行ない、複数ビットの組み合わせに対
応してABmodNの演算に必要なBの値を上記レジス
タから取り込むことにより、暗号処理の高速化と機密保
護とを実現できるという効果が得られる。
気的に接続されることによって動作電圧が供給され、か
つ、中央処理装置からの指示を受けて動作する暗号処理
用演算ユニットによる暗号化処理又は復号化処理を伴っ
たデータの入出力動作を含むICカードにおいて、上記
暗号処理用演算ユニットは、暗号化処理又は復号化処理
のための演算動作と並行して次に演算の使用するデータ
を記憶回路から取り込む信号経路を設けることにより、
演算動作とデータ転送とを同時に行なうようにすること
ができ、レジスタの簡素化を図りつつ電流波形を利用し
たアタックを無力化することができるという効果が得ら
れる。
は復号化処理は、RSA暗号法などに応用可能なべき乗
剰余乗算動作を含み、上記暗号化処理用演算ユニット
は、入力されたX、Y及びNを受け、A=1、B=Xと
して、A=A2 modNとA=ABmodNの演算を交
互に行ない、かかる演算においてYの上位から複数ビッ
トずつみて、上記複数ビットに対応したA=A2 mod
Nの演算を行ない、かかる演算と並行して複数ビットの
組み合わせに対応したABmodNの演算に必要なBの
値を上記記憶回路から取り込むことにより、暗号処理の
高速化と機密保護とを実現できるという効果が得られ
る。
気的に接続されることによって動作電圧が供給され、か
つ、中央処理装置、記憶回路、暗号処理用演算ユニット
及び乱数発生回路とが共通のアドレスバスに接続され、
上記中央処理装置からの指示を受けて動作する暗号処理
用演算ユニットと記憶回路による暗号化処理又は復号化
処理を伴ったデータの入出力動作を含むICカードにお
いて、上記記憶回路から暗号処理用演算ユニットに供給
される暗号化処理又は復号化処理のためのデータは、上
記記憶回路に内蔵されたアドレス発生回路に上記中央処
理装置から供給された先頭アドレスを基に形成されたア
ドレス信号に基づいて上記暗号処理用演算ユニットにデ
ータ転送し、かかるデータ転送に対応して上記中央処理
装置、記憶回路及び暗号処理用演算ユニットが共通に接
続されてなるアドレスバスに乱数発生回路で形成された
乱数を偽アドレス信号として送出することにより、偽ア
ドレス信号により転送されるデータの電流波形を攪乱さ
せることができるから、レジスタの簡素化を図りつつ電
流波形を利用したアタックを無力化することができると
いう効果が得られる。
は復号化処理は、RSA暗号法などに応用可能なべき乗
剰余乗算動作を含み、上記暗号化処理用演算ユニット
は、入力されたX、Y及びNを受け、A=1、B=Xと
して、A=A2 modNとA=ABmodNの演算を交
互に行ない、かかる演算においてYの上位から複数ビッ
トずつみて、上記複数ビットに対応したA=A2 mod
Nの演算を行ない、上記複数ビットの組み合わせに対応
してABmodNの演算に必要なBの値を上記記憶回路
から取り込むことにより、暗号処理の高速化と機密保護
とを実現できるという効果が得られる。
気的に接続されることによって動作電圧が供給され、か
つ、中央処理装置、記憶回路、暗号処理用演算ユニット
及び乱数発生回路とが共通のアドレスバスに接続され、
上記中央処理装置からの指示を受けて動作する暗号処理
用演算ユニットと記憶回路による暗号化処理又は復号化
処理を伴ったデータの入出力動作を含むICカードにお
いて、上記乱数発生回路で形成された乱数を用いて上記
中央処理装置において形成された暗号化されたアドレス
信号を上記記憶回路に供給し、記憶回路では上記乱数を
用いて上記アドレス信号を復号化して先頭アドレスを生
成して暗号化処理又は復号化処理のためのデータを読み
出して上記暗号処理用演算ユニットに転送し、かかるデ
ータ転送に対応して、上記中央処理装置、記憶回路及び
暗号処理用演算ユニットが共通に接続されてなるアドレ
スバスには乱数発生回路で形成された乱数が偽アドレス
信号として送出することにより、記憶回路に送られるア
ドレス信号の解読を困難にしつつ、偽アドレス信号によ
り転送されるデータの電流波形を攪乱させることができ
るから、レジスタの簡素化を図りつつ電流波形を利用し
たアタックを無力化することができるという効果が得ら
れる。
は復号化処理は、RSA暗号法などに応用可能なべき乗
剰余乗算動作を含み、上記暗号化処理用演算ユニット
は、入力されたX、Y及びNを受け、A=1、B=Xと
して、A=A2 modNとA=ABmodNの演算を交
互に行ない、かかる演算においてYの上位から複数ビッ
トずつみて、上記複数ビットに対応したA=A2 mod
Nの演算を行ない、上記複数ビットの組み合わせに対応
してABmodNの演算に必要なBの値を上記記憶回路
から取り込むことにより、暗号処理の高速化と機密保護
とを実現できるという効果が得られる。
動作する暗号処理用演算ユニットによる暗号化処理又は
復号化処理を伴ったデータの入出力動作を含むモジュー
ル構成のマイクロコンピュータにおいて、上記暗号処理
用演算ユニットに複数ビット単位での暗号化処理又は復
号化処理のための演算に使用するデータを格納するレジ
スタを設け、暗号化処理又は復号化処理に先立って必要
なデータを上記レジスタに格納することにより、演算動
作の過程でのデータ転送を無くすことができるから、電
流波形を利用したアタックを無力化することができると
いう効果が得られる。
つの半導体基板上において形成することにより、モジュ
ールの小型化を図りつつ、機密保護の強化を実現するこ
とができるという効果が得られる。
て動作する暗号処理用演算ユニットによる暗号化処理又
は復号化処理を伴ったデータの入出力動作を含むモジュ
ール構成のマイクロコンピュータにおいて、上記暗号処
理用演算ユニットに暗号化処理又は復号化処理のための
演算動作と並行して次の演算に使用するデータを記憶回
路から取り込む信号経路を設けることにより、演算動作
とデータ転送とを同時に行なうようにすることができ、
レジスタの簡素化を図りつつ電流波形を利用したアタッ
クを無力化することができるという効果が得られる。
処理用演算ユニット及び乱数発生回路とが共通のアドレ
スバスに接続され、上記中央処理装置からの指示を受け
て動作する暗号処理用演算ユニットと記憶回路による暗
号化処理又は復号化処理を伴ったデータの入出力動作を
含むモジュール構成のマイクロコンピュータにおいて、
中央処理装置により暗号化処理又は復号化処理のための
データの先頭アドレスを上記記憶回路に供給し、記憶回
路では内蔵されたアドレス発生回路により形成されたア
ドレス信号によりデータを読み出して上記暗号処理用演
算ユニットにデータ転送し、かかるデータ転送に対応し
て、上記中央処理装置、記憶回路及び暗号処理用演算ユ
ニットが共通に接続されてなるアドレスバスに乱数発生
回路で形成された乱数が偽アドレス信号として送出する
ことにより、偽アドレス信号により転送されるデータの
電流波形を攪乱させることができるから、回路の簡素化
を図りつつ、電流波形を利用したアタックを無力化する
ことができるという効果が得られる。
処理用演算ユニット及び乱数発生回路とが共通のアドレ
スバスに接続され、上記中央処理装置からの指示を受け
て動作する暗号処理用演算ユニットと記憶回路による暗
号化処理又は復号化処理を伴ったデータの入出力動作を
含むモジュール構成のマイクロコンピュータにおいて、
上記中央処理装置により上記乱数発生回路で形成された
乱数を用いて暗号化処理又は復号化処理のためのデータ
の先頭アドレスを暗号化して上記記憶回路に供給し、記
憶回路では上記乱数を用いて上記アドレス信号を復号化
して先頭アドレスを生成し、それを基に形成されたアド
レス信号に基づいてデータを読み出して上記暗号処理用
演算ユニットに転送し、かかるデータ転送に対応して、
上記中央処理装置、記憶回路及び暗号処理用演算ユニッ
トが共通に接続されてなるアドレスバスには乱数発生回
路で形成された乱数が偽アドレス信号として送出するこ
とにより、記憶回路に送られるアドレス信号の解読を困
難にしつつ、偽アドレス信号により転送されるデータの
電流波形を攪乱させることができるから、回路の簡素化
を図りつつ、電流波形を利用したアタックを無力化する
ことができるという効果が得られる。
基づき具体的に説明したが、本願発明は前記実施例に限
定されるものではなく、その要旨を逸脱しない範囲で種
々変更可能であることはいうまでもない。例えば、IC
カードには、1つの半導体集積回路装置を搭載するもの
他、複数の半導体集積回路装置が搭載されるものであっ
てもよい。マイクロコンピュータは、1つの半導体集積
回路装置に形成されるもの他、CPUとその周辺回路が
複数チップで構成されて、1つのモジュール基板に搭載
されてなるものであってもよい。
べき乗剰余乗算法の他に、図25図に示したフロチャー
ト図のように演算Aと演算Bを持ち、演算Aの結果によ
り演算Bを行なうか否かの分岐を持つような演算処理に
広く利用することができる。つまり、演算Aの次に演算
Bを実行し、演算Aの結果から演算Bが不要なら、その
演算結果を無効にするような演算処理を行なえば、前記
のような暗号処理以外の機密動作を必要とするデータ処
理のハッキング対策として有益なものとなる。
装置とかかるデータ処理装置によるデータ処理手順が書
き込まれたROMを含んで記データ処理手順に従ってデ
ータの入出力動作が行われるものであれば何であっても
よい。例えば、前記のようなICカード用チップの他
に、ゲーム用等の1チップマイクロコンピュータ等のよ
うに機密保護の必要な各種マイクロコンピュータに広く
適用できるものである。この発明は、機密保護を必要と
する各種ICカード及びマイクロコンピュータに広く利
用できる。
的なものによって得られる効果を簡単に説明すれば、下
記の通りである。すなわち、外部端子がリードライト装
置と電気的に接続されることによって動作電圧が供給さ
れ、かつ、中央処理装置からの指示を受けて動作する暗
号処理用演算ユニットによる暗号化処理又は復号化処理
を伴ったデータの入出力動作を含むICカードにおい
て、上記暗号処理用演算ユニットに複数ビット単位での
暗号化処理又は復号化処理のための演算に使用するデー
タを格納するレジスタを設け、暗号化処理又は復号化処
理に先立って必要なデータをかかるレジスタに取り込む
ようにすることにより、演算動作の過程でのデータ転送
を無くすことができるから、電流波形を利用したアタッ
クを無力化することができる。
暗号処理用演算ユニットによる暗号化処理又は復号化処
理を伴ったデータの入出力動作を含むモジュール構成の
マイクロコンピュータにおいて、上記暗号処理用演算ユ
ニットに複数ビット単位での暗号化処理又は復号化処理
のための演算に使用するデータを格納するレジスタを設
け、暗号化処理又は復号化処理に先立って必要なデータ
を上記レジスタに格納することにより、演算動作の過程
でのデータ転送を無くすことができるから、電流波形を
利用したアタックを無力化することができる。
示す外観図である。
ード用チップの一実施例を示す概略ブロック図である。
を説明するためのタイミング図である。
ローチャート図である。
図である。
ック図である。
めの一実施例を示すブロック図である。
ック図である。
動作を説明するための構成図である。
ための一実施例を示すブロック図である。
の動作を説明するためのタイミング図である。
の動作を説明するためのフローチャート図である。
の動作の詳細を説明するためのタイミング図である。
動作を実現するための一実施例を示すブロック図であ
る。
施例の動作を説明するためのタイミング図である。
の一実施例を示すフローチャート図である。
を示すブロック図である。
を示すブロック図である。
を示すブロック図である。
実施例を示す要部ブロック図である。
図である。
示すタイミング図である。
の一実施例を示す要部ブロック図である。
示すタイミング図である。
めのフローチャート図である。
ト、203…アドレスバス、204…データバス、20
5…クロック生成回路、206…ROM、207…RA
M、208…EEPROM、209…コプロセッサ(暗
号化処理用演算ユニット)、CDA、CDB、CDN、
CDW…レジスタ。
Claims (13)
- 【請求項1】 外部端子がリードライト装置と電気的に
接続されることによって動作電圧が供給され、かつ、中
央処理装置からの指示を受けて動作する暗号処理用演算
ユニットによる暗号化処理又は復号化処理を伴ったデー
タの入出力動作を含むICカードであって、 上記暗号処理用演算ユニットに複数ビット単位での暗号
化処理又は復号化処理のための演算に使用するデータを
格納するレジスタを設け、暗号化処理又は復号化処理に
先立って必要なデータを上記レジスタに格納してなるこ
とを特徴とするICカード。 - 【請求項2】 請求項1において、 上記暗号化処理又は復号化処理は、RSA暗号法などに
応用可能なべき乗剰余乗算動作を含み、 上記暗号化処理用演算ユニットは、入力されたX、Y及
びNを受け、A=1、B=Xとして、A=A2 modN
とA=ABmodNの演算を交互に行ない、かかる演算
においてYの上位から複数ビットずつみて、上記複数ビ
ットに対応したA=A2 modNの演算を行ない、複数
ビットの組み合わせに対応してABmodNの演算に必
要なBの値を上記レジスタから取り込むものであること
を特徴とするICカード。 - 【請求項3】 外部端子がリードライト装置と電気的に
接続されることによって動作電圧が供給され、かつ、中
央処理装置からの指示を受けて動作する暗号処理用演算
ユニットによる暗号化処理又は復号化処理を伴ったデー
タの入出力動作を含むICカードであって、 上記暗号処理用演算ユニットは、暗号化処理又は復号化
処理のための演算動作と並行して次の演算に使用するデ
ータを記憶回路から取り込む信号経路を有することを特
徴とするICカード。 - 【請求項4】 請求項3において、 上記暗号化処理又は復号化処理は、RSA暗号法などに
応用可能なべき乗剰余乗算動作を含み、 上記暗号化処理用演算ユニットは、入力されたX、Y及
びNを受け、A=1、B=Xとして、A=A2 modN
とA=ABmodNの演算を交互に行ない、かかる演算
においてYの上位から複数ビットずつみて、上記複数ビ
ットに対応したA=A2 modNの演算を行ない、かか
る演算と並行して複数ビットの組み合わせに対応したA
BmodNの演算に必要なBの値を上記記憶回路から取
り込むものであることを特徴とするICカード。 - 【請求項5】 外部端子がリードライト装置と電気的に
接続されることによって動作電圧が供給され、かつ、中
央処理装置、記憶回路、暗号処理用演算ユニット及び乱
数発生回路とが共通のアドレスバスに接続され、上記中
央処理装置からの指示を受けて動作する暗号処理用演算
ユニットと記憶回路による暗号化処理又は復号化処理を
伴ったデータの入出力動作を含むICカードであって、 上記中央処理装置は、暗号化又は復号化処理のためのデ
ータが格納された先頭アドレスを上記記憶回路に供給
し、上記記憶回路は上記先頭アドレスを基に内蔵された
アドレス発生回路により形成されたアドレス信号に基づ
いてデータを読み出して上記暗号処理用演算ユニットに
データ転送し、かかるデータ転送に対応して、上記中央
処理装置、記憶回路及び暗号処理用演算ユニットが共通
に接続されてなるアドレスバスには乱数発生回路で形成
された乱数が偽アドレス信号として送出されるものであ
ることを特徴とするICカード。 - 【請求項6】 請求項5において、 上記暗号化処理又は復号化処理は、RSA暗号法などに
応用可能なべき乗剰余乗算動作を含み、 上記暗号化処理用演算ユニットは、入力されたX、Y及
びNを受け、A=1、B=Xとして、A=A2 modN
とA=ABmodNの演算を交互に行ない、かかる演算
においてYの上位から複数ビットずつみて、上記複数ビ
ットに対応したA=A2 modNの演算を行ない、上記
複数ビットの組み合わせに対応してABmodNの演算
に必要なBの値を上記記憶回路から取り込むものである
ことを特徴とするICカード。 - 【請求項7】 外部端子がリードライト装置と電気的に
接続されることによって動作電圧が供給され、かつ、中
央処理装置、記憶回路、暗号処理用演算ユニット及び乱
数発生回路とが共通のアドレスバスに接続され、上記中
央処理装置からの指示を受けて動作する暗号処理用演算
ユニットと記憶回路による暗号化処理又は復号化処理を
伴ったデータの入出力動作を含むICカードであって、 上記中央処理装置は、上記乱数発生回路で形成された乱
数を用いて形成された暗号化されたアドレス信号を上記
記憶回路に供給し、記憶回路では上記乱数を用いて上記
アドレス信号を復号化して先頭アドレスを生成し、 上記記憶回路は、上記先頭アドレスを基に内蔵されたア
ドレス発生回路により形成されたアドレス信号に基づい
て暗号化処理又は復号化処理のためのデータを読み出し
て上記暗号処理用演算ユニットに転送し、 かかるデータ転送に対応して、上記中央処理装置、記憶
回路及び暗号処理用演算ユニットが共通に接続されてな
るアドレスバスには上記乱数発生回路で形成された乱数
が偽アドレス信号として送出されるものであることを特
徴とするICカード。 - 【請求項8】 請求項7において、 上記暗号化処理又は復号化処理は、RSA暗号法などに
応用可能なべき乗剰余乗算動作を含み、 上記暗号化処理用演算ユニットは、入力されたX、Y及
びNを受け、A=1、B=Xとして、A=A2 modN
とA=ABmodNの演算を交互に行ない、かかる演算
においてYの上位から複数ビットずつみて、上記複数ビ
ットに対応したA=A2 modNの演算を行ない、上記
複数ビットの組み合わせに対応してABmodNの演算
に必要なBの値を上記記憶回路から取り込むものである
ことを特徴とするICカード。 - 【請求項9】 中央処理装置からの指示を受けて動作す
る暗号処理用演算ユニットによる暗号化処理又は復号化
処理を伴ったデータの入出力動作を含むモジュール構成
のマイクロコンピュータであって、 上記暗号処理用演算ユニットに複数ビット単位での暗号
化処理又は復号化処理のための演算に使用するデータを
格納するレジスタを設け、暗号化処理又は復号化処理に
先立って必要なデータを上記レジスタに格納してなるこ
とを特徴とするマイクロコンピュータ。 - 【請求項10】 請求項9において、 上記モジュール構成は、1つの半導体基板上において形
成されることによって実現されることを特徴とするマイ
クロコンピュータ。 - 【請求項11】 中央処理装置からの指示を受けて動作
する暗号処理用演算ユニットによる暗号化処理又は復号
化処理を伴ったデータの入出力動作を含むモジュール構
成のマイクロコンピュータであって、 上記暗号処理用演算ユニットは、暗号化処理又は復号化
処理のための演算動作と並行して次の演算に使用するデ
ータを記憶回路から取り込む信号経路を有することを特
徴とするマイクロコンピュータ。 - 【請求項12】 中央処理装置、記憶回路、暗号処理用
演算ユニット及び乱数発生回路とが共通のアドレスバス
に接続され、上記中央処理装置からの指示を受けて動作
する暗号処理用演算ユニットと記憶回路による暗号化処
理又は復号化処理を伴ったデータの入出力動作を含むモ
ジュール構成のマイクロコンピュータであって、 上記中央処理装置は、暗号化又は復号化処理のためのデ
ータが格納された先頭アドレスを上記記憶回路に供給
し、 上記記憶回路は上記先頭アドレスを基に内蔵されたアド
レス発生回路により形成されたアドレス信号に基づいて
データを読み出して上記暗号処理用演算ユニットにデー
タ転送し、 上記乱数発生回路は、上記データ転送に対応して、上記
中央処理装置、記憶回路及び暗号処理用演算ユニットが
共通に接続されてなるアドレスバスに生成した乱数を偽
アドレス信号として送出することを特徴とするマイクロ
コンピュータ。 - 【請求項13】 中央処理装置、記憶回路、暗号処理用
演算ユニット及び乱数発生回路とが共通のアドレスバス
に接続され、上記中央処理装置からの指示を受けて動作
する暗号処理用演算ユニットと記憶回路による暗号化処
理又は復号化処理を伴ったデータの入出力動作を含むモ
ジュール構成のマイクロコンピュータであって、 上記中央処理装置は、上記乱数発生回路で形成された乱
数を用いて形成された暗号化されたアドレス信号を上記
記憶回路に供給し、 上記記憶回路は、上記中央処理装置から供給された上記
暗号化されたアドレス信号を上記乱数を用いて復号化し
て先頭アドレスを生成し、暗号化処理又は復号化処理の
ためのデータを読み出して上記暗号処理用演算ユニット
に転送し、 上記乱数発生回路は、上記データ転送に対応して、上記
中央処理装置、記憶回路及び暗号処理用演算ユニットが
共通に接続されてなるアドレスバスに生成した乱数を偽
アドレス信号として送出することを特徴とするマイクロ
コンピュータ。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000003297A JP4168305B2 (ja) | 2000-01-12 | 2000-01-12 | Icカードとマイクロコンピュータ |
TW090100141A TW536672B (en) | 2000-01-12 | 2001-01-03 | IC card and microcomputer |
US09/754,064 US20010047480A1 (en) | 2000-01-12 | 2001-01-05 | IC card and microprocessor |
US09/754,190 US6907526B2 (en) | 2000-01-12 | 2001-01-05 | IC card and microprocessor |
KR1020010001133A KR20010083099A (ko) | 2000-01-12 | 2001-01-09 | Ic 카드 및 마이크로 프로세서 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000003297A JP4168305B2 (ja) | 2000-01-12 | 2000-01-12 | Icカードとマイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001195555A true JP2001195555A (ja) | 2001-07-19 |
JP4168305B2 JP4168305B2 (ja) | 2008-10-22 |
Family
ID=18532268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000003297A Expired - Fee Related JP4168305B2 (ja) | 2000-01-12 | 2000-01-12 | Icカードとマイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4168305B2 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005008955A1 (ja) * | 2003-07-22 | 2005-01-27 | Fujitsu Limited | 個人鍵を用いた耐タンパ暗号処理 |
JP2005149262A (ja) * | 2003-11-18 | 2005-06-09 | Renesas Technology Corp | 情報処理装置 |
JP2006155140A (ja) * | 2004-11-29 | 2006-06-15 | Renesas Technology Corp | 情報処理装置、および、そのアドレス制御方法 |
JP2006522375A (ja) * | 2002-12-12 | 2006-09-28 | エイアールエム リミテッド | データ処理システムにおける処理動作マスキング |
JP2006277411A (ja) * | 2005-03-29 | 2006-10-12 | Toshiba Corp | プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法 |
CN100375069C (zh) * | 2002-04-16 | 2008-03-12 | 松下电器产业株式会社 | 无效化方法、无效化系统、安全装置、通信终端、管理装置、通信方法以及管理方法 |
JP2009008993A (ja) * | 2007-06-29 | 2009-01-15 | Nec Electronics Corp | べき乗剰余演算器及びその制御方法 |
JP2010252059A (ja) * | 2009-04-16 | 2010-11-04 | Hitachi Ltd | Icチップおよびこれを搭載した情報処理装置 |
JP2012146004A (ja) * | 2011-01-07 | 2012-08-02 | Dainippon Printing Co Ltd | 携帯装置及び動的データの格納位置変更方法 |
JP2013045072A (ja) * | 2011-08-26 | 2013-03-04 | Toshiba Corp | 演算装置 |
JP2013167897A (ja) * | 2004-06-08 | 2013-08-29 | Hrl Lab Llc | 差分電力解析を妨害する命令マスクや他の手法を備えた暗号アーキテクチャ |
-
2000
- 2000-01-12 JP JP2000003297A patent/JP4168305B2/ja not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100375069C (zh) * | 2002-04-16 | 2008-03-12 | 松下电器产业株式会社 | 无效化方法、无效化系统、安全装置、通信终端、管理装置、通信方法以及管理方法 |
JP2006522375A (ja) * | 2002-12-12 | 2006-09-28 | エイアールエム リミテッド | データ処理システムにおける処理動作マスキング |
JP4632950B2 (ja) * | 2003-07-22 | 2011-02-16 | 富士通株式会社 | 個人鍵を用いた耐タンパ暗号処理 |
JPWO2005008955A1 (ja) * | 2003-07-22 | 2006-09-07 | 富士通株式会社 | 個人鍵を用いた耐タンパ暗号処理 |
WO2005008955A1 (ja) * | 2003-07-22 | 2005-01-27 | Fujitsu Limited | 個人鍵を用いた耐タンパ暗号処理 |
JP2005149262A (ja) * | 2003-11-18 | 2005-06-09 | Renesas Technology Corp | 情報処理装置 |
JP2013167897A (ja) * | 2004-06-08 | 2013-08-29 | Hrl Lab Llc | 差分電力解析を妨害する命令マスクや他の手法を備えた暗号アーキテクチャ |
JP2006155140A (ja) * | 2004-11-29 | 2006-06-15 | Renesas Technology Corp | 情報処理装置、および、そのアドレス制御方法 |
JP4664655B2 (ja) * | 2004-11-29 | 2011-04-06 | ルネサスエレクトロニクス株式会社 | 情報処理装置、および、そのアドレス制御方法 |
JP4551802B2 (ja) * | 2005-03-29 | 2010-09-29 | 株式会社東芝 | プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法 |
JP2006277411A (ja) * | 2005-03-29 | 2006-10-12 | Toshiba Corp | プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法 |
US8532296B2 (en) | 2005-03-29 | 2013-09-10 | Kabushiki Kaisha Toshiba | Processor, memory device, computer system, and method for transferring data |
JP2009008993A (ja) * | 2007-06-29 | 2009-01-15 | Nec Electronics Corp | べき乗剰余演算器及びその制御方法 |
JP2010252059A (ja) * | 2009-04-16 | 2010-11-04 | Hitachi Ltd | Icチップおよびこれを搭載した情報処理装置 |
JP2012146004A (ja) * | 2011-01-07 | 2012-08-02 | Dainippon Printing Co Ltd | 携帯装置及び動的データの格納位置変更方法 |
JP2013045072A (ja) * | 2011-08-26 | 2013-03-04 | Toshiba Corp | 演算装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4168305B2 (ja) | 2008-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6907526B2 (en) | IC card and microprocessor | |
US7269742B2 (en) | Microprocessor configuration with encryption | |
US7036017B2 (en) | Microprocessor configuration with encryption | |
US6345359B1 (en) | In-line decryption for protecting embedded software | |
JP4083925B2 (ja) | 情報処理装置、カード部材および情報処理システム | |
US7194633B2 (en) | Device and method with reduced information leakage | |
KR100909364B1 (ko) | 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법 | |
US6691921B2 (en) | Information processing device | |
US7454017B2 (en) | Information processing unit | |
JP2002328845A (ja) | 半導体集積回路及びicカードのセキュリティー保護方法 | |
JP4168305B2 (ja) | Icカードとマイクロコンピュータ | |
JP3844116B2 (ja) | 暗号化・復号化装置とicカード | |
JP2001266103A (ja) | Icカードとマイクロコンピュータ | |
US10389530B2 (en) | Secure method for processing content stored within a component, and corresponding component | |
US7319758B2 (en) | Electronic device with encryption/decryption cells | |
JP3827050B2 (ja) | Icカードと半導体集積回路装置 | |
CN108959129B (zh) | 一种基于硬件的嵌入式系统机密性保护方法 | |
ES2312427T3 (es) | Procedimiento de contramedida en un microcircuito y tarjeta inteligente que incorpora dicho microcircuito. | |
GB2424089A (en) | Side channel attack prevention in data processing apparatus such as a smart card | |
JP2005149262A (ja) | 情報処理装置 | |
KR20010032564A (ko) | 미분 전류 소모 분석을 방지하는 데이터 처리 장치 및작동 방법 | |
JPWO2005027403A1 (ja) | 情報処理装置 | |
JP3788881B2 (ja) | Icカードと半導体集積回路装置 | |
JP4664655B2 (ja) | 情報処理装置、および、そのアドレス制御方法 | |
JP2004129033A (ja) | データプロセッサ及びicカード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040301 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040301 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080305 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080515 |
|
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: 20080723 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080723 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
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: 20110815 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130815 Year of fee payment: 5 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |