JP2003152702A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JP2003152702A JP2003152702A JP2001350936A JP2001350936A JP2003152702A JP 2003152702 A JP2003152702 A JP 2003152702A JP 2001350936 A JP2001350936 A JP 2001350936A JP 2001350936 A JP2001350936 A JP 2001350936A JP 2003152702 A JP2003152702 A JP 2003152702A
- Authority
- JP
- Japan
- Prior art keywords
- data
- key
- encrypted
- xor
- information processing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
-
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
情報から内部で処理される秘密情報を推定されることを
防ぐことにある。 【解決手段】その解決手段は次の通りである。鍵情報を
自動的に生成する鍵生成装置と、鍵情報を用いてデータ
を暗号化する暗号化装置と、複数の暗号化データを暗号
化のための鍵情報とともに記録するレジスタと、暗号化
のための鍵情報とともに表現したデータと新たな鍵情報
とを入力として演算を行い、演算結果を入力された新た
な鍵で暗号化して出力する演算装置とを少なくとも有
し、情報処理装置内での処理を暗号化されたデータ表現
で行うことが可能な情報処理装置。
Description
し、特に機密性の高いICカードなどの耐タンパ装置に
関する。
ない情報の保持や秘密情報である暗号鍵を使ったデータ
の暗号化や暗号文の復号化を行うために使われる装置で
ある。ICカードは、電源を持っていないため、リーダ
ライタに差し込まれると、電源の供給を受け、動作可能
となる。動作可能になると、リーダライタからコマンド
を受けて、コマンドに従い、データの転送を行う。IC
カードの一般的な解説は、オーム社出版電子情報通信学
会編水沢順一著「ICカード」などにある。ICカード
の構成は、図1に示すように、カード101の上に、IC
カード用チップ102を搭載したものである。一般にI
Cカードは、接点を持ち、接点を通して、リーダーライ
タから電源の供給やリーダライタとのデータの通信を行
う。ICカード用チップの構成は、基本的にマイクロコ
ンピュータと同じような構成である。その構成は、図2
に示すように、中央演算装置201、記憶装置204、
入出力ポート207、コ・プロセッサ202からなる。
中央処理装置201は、論理演算や算術演算などを行う
装置であり、記憶装置204は、プログラムやデータを
格納する装置である。入出力ポートは、リーダライタと
通信を行う装置である。コ・プロセッサは、剰余演算を
行うための特別な演算装置であり、非対称暗号であるRS
Aの演算などに用いられる装置である。ICカード用プロ
セッサの中には、コ・プロセッサを持たないものも多く
ある。データバス203は、各装置を接続するバスであ
る。記憶装置204は、ROM(Read Only
Memory)、RAM(Random Access
Memory)、EEPROM(Electrica
l Erasable Programmable R
ead OnlyMemory)などからなる。ROM
は、変更できないメモリであり、主にプログラムを格納
するメモリである。RAMは自由に書き換えができるメ
モリであるが、電源の供給が中断されると、記憶してい
る内容が消えてなくなる。ICカードがリーダライタか
ら抜かれると電源の供給が中断されるため、RAMの内
容は、保持できなくなる。EEPROMは、電源の供給
が中断されてもその内容を保持することができるメモリ
である。書き換える必要があり、ICカードがリーダラ
イタから抜かれても、保持するデータを格納するために
使われる。例えば、プリペイドカードでのプリペイドの
度数などは、使用するたびに書き換えられ、かつリーダ
ライタか抜かれてもデータを保持する必要があるため、
EEPROMで保持される。ICカードは、プログラム
や重要な情報がICカード用チップの中に密閉されている
ため、重要な情報を格納したり、カードの中で暗号処理
を行うために、使われている。ICカードでの暗号処理
の解読の難しさは、暗号アルゴリズムの解読の困難さと
同じと考えられていた。しかし、ICカードが暗号処理
を行っている時の消費電流を観測し、解析することによ
り、暗号アルゴリズムの解読より容易に暗号処理の内容
や暗号鍵が推定される可能性が示唆されている。消費電
流は、リーダライタから供給されている電流を測定する
ことにより観測することができる。これは、John
Wiley & sons社 W.Rankl &
W.Effing著 「Smart Card Han
dbook」の8.5.1.1 Passive pr
otective mechanisms(263ペー
ジ)にこのような危険性が記載されている。ICカード
用チップを構成しているCMOSは、出力状態が1から
0あるいは0から1に変わった時に電流を消費する。特
に、データバス203は、大きな電気容量を持つため、
バスの値が1から0あるいは0から1に変わると、大き
な電流が流れる。そのため、消費電流を観測すれば、I
Cカード用チップの中で、何が動作しているか分かる可
能性を示唆している。図3は、ICカード用チップの1
サイクルでの消費電流の波形を示したものである。処理
しているデータの依存して、電流波形が301や302
のように異なる。このような差は、バス203を流れる
データや中央演算装置201で処理しているデータに依
存して生じる。
Sは、出力状態が1から0、あるいは0から1に変わっ
たときに電力を消費する。したがって、消費電流を観測
すれば、ICカードのチップ内で、何が動作しているの
かや、どの様なデータが処理されているのかを推定する
ことが可能である。
にする方法と、同じ処理を行う場合でも消費電流を毎回
変化させる方法がある。前者の例としては、各々のデー
タ線をポジとネガの2種類を用意し、演算器も複数個用
意し、ダミーの演算と真の演算を同時に行うことによ
り、入力データや演算結果にかかわらず、常に消費電流
が等しくなるという方法(PCT WO 99/67766)があるが、
バス幅が2倍、演算器が4倍とハードウエア規模が大き
くなってしまう点が問題となる。後者の方法としては、
バス転送時やメモリ格納時に暗号化を行う方法(特開2
001−5731)が提案されているが、鍵情報を複数
のデータで共有しており、それぞれのデータのライフタ
イムが異なるため、暗号化鍵を更新するタイミングに制
限があり、プログラミング上の制約が加わる。
Cカード向けマイクロコンピュータチップでのデータ処
理と消費電力との関連性を、ハードウエア規模の大幅な
増加やプログラミング上の制約が加わることなしに減少
させることである。
の関連性を減少させる方法には(1)データの値が同じ
であっても、消費電流が予測不可能な方法で変化させる
方法、(2)データの値が異なる場合でも、消費電流が
常に一定とする方法、の2通りの方法が有る。
流とデータとの関連性を減少させる。基本的には、デー
タを暗号化し、暗号化の鍵を短い期間で変化させること
により、データの真の値と電気的な表現の関連性を予測
不能にする。ここで、暗号化を行う際の鍵を複数のデー
タで共有すると、鍵を書き換える場合に、鍵を共有する
データすべてについて、鍵の変更とともにデータの書き
換えを行わなければならない。したがって、暗号化の際
の鍵を共有するデータのサイズは小さければ小さいほど
望ましく、データがアクセスされる最小単位と等しくす
ることが望ましい。たとえば、バイト毎に鍵を用意す
る。また、鍵のビット数は、最低限1ビットあればよ
い。1ビットの鍵は、2種類の鍵を選択するための選択ビ
ットとみなすこともできる。もっとも簡単な一例として
は、鍵のビットが1の時には、データを反転し、鍵のビ
ットが0のときはデータを反転させない、という方法が
ある。ここで用いる暗号化手法は、バーナム暗号の一種
だと考えることが可能で、鍵ビットが1の時には、25
5を鍵として用い、鍵ビットが0の時には、0を鍵とし
て用いることと等しい。バーナム暗号とは、秘密鍵Kと
xor を取って暗号化する方法で、復号化する際には
暗号化データに対して、暗号化の際に用いた秘密鍵Kで
再び xor を取ることで復号化する暗号方式である。 暗号データ=(鍵ビット×255) xor 平文データ …(式1) たとえば、10進数で63という値を暗号化する場合、鍵ビ
ットを1とすると、2進数表現であらわすと、 (1 × 11111111(b)) xor 00111111(b) = 11000000(b) …(式2) となり、鍵ビットを最上位に付与し、 暗号化されたデータ=111000000(b)=448 …(式3) と63が448に暗号化される。復号化する場合は、最上位1
ビットを鍵ビット、下位8ビットを暗号化データとして
取り出し、 平文データ=(鍵ビット×255) xor 暗号化データ …(式4) により復号化可能で、 ( 1 × 11111111(b) ) xor 11000000 = 00111111(b) = 63 … (式5) となる。また、(式1)や(式4)で鍵ビットによって
選択される鍵を別の値にすることも可能である。その
際、1ビットの鍵ビットで選択される2つの鍵データ
は、xor を取ると、全ビットが1になるような値に
する必要がある。これは、2つの鍵で同一の値をもつビ
ットが存在したとすると、鍵ビットの値にかかわらず、
当該ビットの値が常に同じ値に符号化されるためであ
る。0と255はこの条件を満たしている。したがっ
て、対象となるデータが8ビットの場合は、暗号化する
ときの鍵の値をKとすると、鍵ビットが1ビットの場合
の暗号化、復号化の式は 暗号データ=(not(鍵ビット×255) xor 鍵値) xor 平文デ ータ …(式6) となる。復号化は、同様に 平文データ=(not(鍵ビット×255) xor 鍵値) xor 暗号デ ータ …(式7) となる。また、暗号データの最上位等に鍵ビットを付与
して格納しておく。たとえば、鍵値を170(=101
01010(b))として、平文データを123とする
と、鍵ビットが1の場合 (not(1×255) xor 170) xor 123 = (not(1 × 11111111(b)) xor 1010101 0(b)) xor 1111011(b) = (not (11111111(b)) xor 10101010(b )) xor 1111011(b) = 10101010(b) xor 1111011(b) = 11010001(b) = 209 (式8) 最上位に鍵ビットを付け加えると、209+256=4
65 となる。同様に、鍵ビットが0の場合は、 (not(0×256) xor 170) xor 123 = (not(0 × 11111111(b)) xor 1010101 0(b)) xor 1111011(b) = (not(0) xor 10101010(b)) xor 1111 011(b) = 01010101(b) xor 1111011(b) = 00101110(b) = 46 (式9) となる。鍵ビットは0なので、鍵ビットを加えた値も 4
6 となる。レジスタ等の記憶装置にデータを格納する際
には、暗号化されたデータに加え、暗号ビットも保管で
きるようにしておき、暗号化した状態のまま値を格納
し、復号化するのは演算時などの真の値が必要な場面の
みに限定する。次に、復号化を考えると、465は鍵ビ
ットが1、暗号データが209であるので、 (not(1×255) xor 170) xor 209 = 170 xor 209 = 123 (式10) 同様に46は鍵ビットが0、暗号データが 46である
ので、 (not(0×255) xor 170) xor 46 = 85 xor 46 = 123 (式11) とどちらもきちんと復号化できる。(式6)、(式7)
を論理回路に実装した例を図11に示す。
いる場合、鍵ビットの値が1の時と0の時では、鍵の値
によって、消費電流に差が出る。プリチャージバスで
は、いったんバスの電圧を上げた後、ビットの値に従っ
て電圧を下げるため、鍵ビットの値によって、プリチャ
ージ後のディスチャージの有無によって、消費電流に差
が出る。従って、鍵ビットの表現には複数ビットを用い
て、鍵ビットの値によって消費電流が変わらないように
することが望ましい。たとえば2ビットで鍵ビットを表
現することを考える。鍵ビット1、鍵ビット2の2つの
ビットで鍵ビットの0、1を表現する際、鍵ビットが1
の状態を、(鍵ビット1=1、鍵ビット2=0)、鍵ビ
ットが0の状態を(鍵ビット1=0、鍵ビット2=1)
と表現する。鍵ビットを2本の信号線で表現した場合の
暗号化・復号化回路の実施例を図12に示す。
号化・復号化手段を有するので、従前のメモリ、バスと
の接続が可能である。具体的には、本発明の情報処理装
置からデータが外部に出力される部分に復号化手段を置
き、復号化後、従来のバスやメモリに出力するように構
成し、反対に外部から本発明の情報処理装置へデータが
入力される部分には、暗号化手段を置き、従来設計のバ
スやメモリからのデータを暗号化した後情報処理装置内
に取り込むように構成する。
実現するには、2つの方法がある。一つは、演算器の入
力部分に復号化器を置き、演算結果の出力部に暗号化器
を置くという方法で、もう一つは、暗号化されたデータ
をそのまま用いて計算可能な演算回路を構成する方法で
ある。ここで、1ビット全加算器を例に挙げ、暗号化さ
れたデータを入力として受け入れ、出力として暗号化さ
れた演算結果を出力する暗号化全加算器の実現方法を示
す。ます、暗号化されていない通常の全加算器の場合
は、2つの入力をA’、B’、下位からのキャリーを
C’in、上位へのキャリーをC’out、加算結果を
R’とすると、A’、B’、C’in、C’out、
R’の関係は、 R’=A’ xor B’ xor C’in …(式12) C’out=A’ and B’ or (A’ xor B’) and C ’in (式13) となる。つぎに、暗号化全加算器について考える。第1
の暗号化された入力データをA、第1の入力データの鍵
ビットをAk、第2の暗号化された入力データをB、第
2の入力の鍵ビットをBk、生じたキャリーをCou
t、下位からのキャリーをCin、加算結果をRとし、
キャリーCout、Cin、Rのための暗号化ビットを
Rkとする。ここで、暗号化されていない全加算器の入
出力のA’、B’、C’in、C’out、R’と暗号
化された全加算器の入出力のA、Ak、B、Bk、Ci
n、Cout、R、Rkとの関係は、暗号化ビットが1
の時にビットが反転する暗号化全加算器の場合、(式1
4)で表される。
号化全加算器の論理式が次のように求められる。 R=(A xor Ak xor B xor Bk xor Cin xor Rk)xor Rk = A xor B xor Cin xor Ak xor Bk (式15) Cout=((A xor Ak) and (B xor Bk) or ( (A xor Ak) xor (B xor Bk)) and (Cin xor Rk))xor Rk =((A xor Ak) and (B xor Bk) or ( A xor B xor Ak xor Bk)) and (Cin xor Rk))xor Rk (式16) ここで、(式17)のドモルガンの定理を用いると、 X or Y=not((not X) and (not Y)) (式17 ) (式16)は、 Cout=(((A xor Ak) nand (B xor Bk))na nd((A xor B xor Ak xor Bk) nand (Cin xor Rk))) xor Rk (式18) と書き換えられる。(式15)、(式18)を論理回路
で表現すると、図8の様になる。つぎに、暗号化ビット
が0の時にビットが反転する暗号化全加算器の場合につ
いて考える。Cin、Coutについては、常に暗号化
ビットが1の時にビットが反転するものとする。する
と、A’、B’、C’in、C’out、R’とA、A
k、B、Bk、Cin、Cout、R、Rkの関係は、
(式19)で表される。
ガンの定理を適応すると、暗号化ビットが0の時にビッ
トが反転する暗号化全加算器の論理式は次のように求め
られる。 R=(A xor (not Ak) xor B xor (not Bk) xor Cin xor Rk) xor (not Rk) = not (A xor B xor Cin xor Ak xor B k) (式20) Cout=(((A xor not Ak) nand (B xor no t Bk))nand((A xor B xor not Ak xor n ot Bk) nand (Cin xor Rk))) xor Rk =(((A xor Ak) or (B xor Bk))nand ((A xor B xor Ak xor Bk) nand (Cin x or Rk))) xor Rk (式21) (式20)、(式21)を論理回路で表現したものが、
図9になる。図8、図9で示される1ビットの全加算器
を並べることで、複数ビットの加算器が実現可能であ
る。たとえば、暗号化ビットが0の時に、0x55で暗
号化し、暗号化ビットが1の時に0xAAで暗号化する
場合の暗号化加算器は、下位から、図9、図8、図9、
図8、図9、図8、図9、図8の暗号化全加算器を並べ
て実現することができる。
デコーダには、2つの実現方法があり、ひとつは命令デ
コーダの命令を取り込む部分に復号化器を接続する方法
である。もう一つの方法は、暗号化されたデータを直接
解釈・実行できるように命令コードと命令が多対一で対
応づけられているようなデコーダを構成しておく方法で
ある。命令コードを暗号化すると、暗号化ビットの種類
数だけ、暗号化された値が得られる。その暗号化して得
られた全ての値を、元の暗号化される前に対応づけられ
ていた命令と対応づける。全ての命令コードに対して、
そうした対応付けを行い、多対一の暗号化された命令コ
ードと命令の対応表を作成する。その表に従ってデコー
ダを構成することで、暗号化された命令コードを復号化
することなしに解釈可能なデコーダが実現できる。
る為の情報処理装置の概要を説明する基本構成図であ
る。勿論、図4は情報処理装置の当該発明に係わる部分
の主要部のみを例示している。当該情報処理装置の他の
部分は通例の構成を用いて十分である。CPU401
は、演算結果を暗号化する際に用いる鍵を発生する鍵発
生器1009、暗号化された値を入力とし、結果も暗号
化された状態で出力する演算器406、内部バス40
2、レジスタ403、命令デコーダ404、外部ポート
などからのデータを取り込む際にデータを暗号化する暗
号化器409、暗号化器409で暗号化する際の鍵を発
生する鍵発生器410、外部ポートなどにデータを出力
する際に復号化を行う復号化器408などを有して図の
ように構成されている。命令デコーダ404は、内部バ
ス402から送られてくる暗号化されたデータと鍵ビッ
トの双方を用いて、実行すべき命令を特定する。このよ
うなデコーダは、例えば、データビットnビットと鍵ビ
ットmビットをあわせたn+mビットからなるデータを
命令コードと見なしてデコード回路を構成することによ
り、容易に実現することができる。n=8ビット、m=
1ビットの場合の実施例を示す。まず、暗号化されてい
ない状態で、図17のような8ビットの命令コードと命
令の対応関係を持つプロセッサがあるとする。暗号化方
式としては、1ビットの鍵ビットを最上位に加え、鍵ビ
ットが0の場合には、0x55とのxorを計算し、鍵
ビットが1の場合には、0xAAとのxorを計算する
ような暗号化を行うとする。BSRの命令コードは暗号
化しない場合は0x5Cである。暗号化を行うと、BS
Rに対応する命令コードは、鍵ビットの値に応じて、 0x5C xor 0x55 + 0 = 0
x009 (鍵ビット=0) 0x5C xor 0xAA + 0x100 = 0
x1F6 (鍵ビット=1) という2つの値を取りうる。この2つの値がBSRと対
応づけられるような多対一の命令コードと命令の対応表
を用意することで、復号化することなしに、命令を解
釈、実行できるデコーダが実現できる。図17の命令コ
ードと命令の対応表を、暗号化された命令コードを直接
解釈できるように多対一の対応表に変換した表を図18
に示す。
で、暗号化されたデータを直接計算することができる全
加算器501、502、503より構成されている。暗
号化全加算器501は、第1の暗号化された入力データ
のうちの1ビットであるA0(511)と第1の入力デ
ータの鍵ビットAk(511)、第2の暗号化された入
力データのうちの1ビットであるB0(513)と第2
のデータの鍵ビットBk(514)、演算結果およびキ
ャリーの暗号化に使用される第3の暗号化ビットRk
(510)を入力とし、暗号化された加算結果R0(5
15)と次のビットへの暗号化されたキャリーCout
(516)を生成する。ここで、暗号化ビットが1の場
合に値を反転する暗号方式で暗号化する場合の、暗号化
全加算器501の一実施例を図8に示す。また、暗号化
全加算器501は、図8以外の論理回路でも実現するこ
とが可能であり、図6に示される真理値表より合成され
た回路により実施することもできる。
する暗号方式で暗号化する場合の暗号化全加算器の一実
施例を図9に示す。暗号化全加算器は、図9以外の論理
回路でも実現することが可能であり、図7に示される真
理値表より合成された回路により実施することもでき
る。
いる。本実施例では、従来の暗号化されていないデータ
や命令コードを扱うように構成されている演算器40
6、命令デコーダ404を用いて演算や命令解釈を行う
ように構成されており、命令デコーダ404の入力部に
復号化器1006を置き、命令デコーダには、復号化し
た値が入力される。同様に、演算器の演算数の入力部に
も、復号化器1007、1008を接続し、データを復
号化した後に演算器406で計算を行い、演算結果は鍵
生成手段1009で生成された鍵に従って、暗号化器1
005で暗号化されて、内部バス402に出力される。
レジスタ403は、暗号化されたnビットのデータと暗
号化に用いられたmビットの鍵情報を格納可能なように
構成されている。図11は、本発明で用いられる暗号方
式のための暗号化器・復号化器の一実施例で、1ビット
の鍵ビット1101とデータビット1104を入力とし
て、暗号化・復号化を行う。本実施例では、暗号化器と
復号化器は同一の回路で実現されている。図12は、暗
号化に用いる鍵ビットが2ビットの場合の一実施例であ
る。
RAM(1305)およびROM/EEPROM(13
04)は外部バス(1301)を介してCPU(40
1)と接続されている。RAM(1305)はCPU
(401)内で暗号化器(1005)により暗号化され
たデータと暗号鍵の両方を格納することができる。RO
M/EEPROM(1304)も同様に、暗号鍵とデー
タの両方を格納することができ、ROMデータはあらか
じめCPUの復号化器(1006、1007、100
8)で復号化可能な暗号化が施されている。このような
構成にすることで、演算器(406)、命令デコーダ
(404)の内部を除いた情報処理システムのすべての
部分でデータが暗号化されているため、アタックが困難
となる。 図14は、本発明の別の一実施例である。R
AM(1305)は外部バス(1301)を介してCP
U(401)と接続されている。RAM(1305)は
CPU(401)内で暗号化器(1005)により暗号
化されたデータと暗号鍵の両方を格納することができ
る。ROM/EEPROM(1304)は、暗号鍵を自
動生成する鍵生成器(1403)の鍵にしたがって暗号
化を行う暗号化器(1402)を介して外部バス(13
01)に接続されており、CPU(401)がデータ読
み込みを行う際には、暗号化器(1402)により暗号
化が行われる。この実施例のメリットは、外部バス上に
送られるROMデータが暗号化され、同じデータを送っ
た場合にも、鍵情報が異なるためにバス上のデータ表現
が固定値にはならないため、外部からの解析が困難にな
る。また、ROMデータ中に鍵情報を置かなくてもよい
ので、ROMの面積が少なくてすむ。もちろん、ROM
データを暗号化しておき、暗号化器(1402)では、
暗号化の際の鍵を変換するような操作を行うようにして
も良い。
AM(1305)およびROM(1304)は外部バス
(1301)を介してCPU(401)と接続されてい
る。RAMデータはあらかじめ決められた方法により暗
号化される。RAMデータが書き込まれる際には、まず
復号化器(1503)により、CPU内部の暗号化方式
で暗号化されたデータが復号化され、つづいてRAMデ
ータ暗号化器(1506)により暗号化された後、外部
バス(1301)に送出され、RAM(1305)に書
き込まれる。ROMデータはあらかじめ決められた方法
で暗号化され、データ読み込みの際に、ROMデータ復
号化器(1505)によって復号化され、その後鍵生成
器(1501)が生成した鍵を用いて、暗号化器(15
02)によって暗号化される。RAMからのデータ読み
込みの際には、RAMデータ復号化器(1504)によ
り復号化され、ROMの場合と同様にその後鍵生成器
(1501)が生成した鍵を用いて、暗号化器(150
2)によって暗号化される。この方法では、RAMデー
タおよびROMデータの暗号化および復号化の手法を適
切に選ぶことにより、鍵情報をRAMやROMに格納す
ることなく、暗号化することができる。
データ復号化器(1504)、ROMデータ復号化器
(1505)とCPU内部の暗号化方式による暗号化器
(1502)の順番を逆にしている。図15での実施例
では、RAMデータ暗号化方式で暗号化されたデータを
まずRAM暗号復号化器で復号化し、平文データに戻し
た後、CPU内部の暗号化方式にしたがって暗号化して
いたが、暗号化方式を適切に選択することで、RAMデ
ータ暗号化方式で暗号化されたデータをさらにCPU内
部の暗号化方式で暗号化した後、RAMデータ暗号化方
式に対応した復号化器で復号化し、CPU内部の暗号化
方式で暗号化されているデータを得る事ができる。この
ような方法が可能な暗号化方式としては、たとえばバー
ナム暗号がある(岡本栄司、「暗号理論入門」、pp.65-
66、共立出版株式会社)。
ティを持つ情報処理装置を提供することができる。更
に、高いセキュリティを持つカード部材、および情報処
理システムを提供することができる。
の配置を示す図である。
図である。
1サイクルの消費電流を示す電流波形を示す図である。
示す図である。
号化全加算器の一実施例を示す真理値表である。
号化全加算器の別の一実施例を示す真理値表である。
の一実施例である。
の一実施例である。
る。
号化器の一実施例である。
号化器の別の一実施例である。
である。
コードと請求項8の別の一実施例である。
403はレジスタ、404は命令デコーダ、406は演
算器、408は複号化器、409は暗号化器、410は
鍵生成器、501、502、503は暗号化全加算器、
510は出力Rのための秘密鍵、511は入力Aの第0
ビット目、512は入力Aのための秘密鍵Ak、513
は入力Bの第0ビット目、521は入力Aの第1ビット
目、523は入力Bの第1ビット目、531は入力Aの
第2ビット目、533は入力Bの第2ビット目、1005
は暗号化器、1006、1007、1008は復号化
器、1009は鍵生成器、1101は鍵ビット信号線、
1104は入力ビット信号線、1103は出力ビット信
号線、1201は第1鍵ビット信号線、1202は第2
鍵ビット信号線、1204は入力ビット信号線、120
3は出力ビット信号線、1301は外部バス、1304
はROM/EEPROM、1305はRAM、1402
は暗号化器、1403は鍵生成器、1501は鍵生成
器、1502は暗号化器、1503は復号化器、150
4はRAMデータ復号化器、1505はROMデータ復
号化器、1506はRAMデータ暗号化器、1550は
RAMデータ暗号用鍵記憶装置である。
Claims (12)
- 【請求項1】演算装置と、第1の鍵でデータを暗号化し
た第1の暗号化データと前記第1の鍵とを第1のデータ
として前記記憶装置又は前記演算装置へ転送する手段と
を有し、前記第1のデータを前記演算装置で解釈して演
算するものであることを特徴とする情報処理装置。 - 【請求項2】前記演算結果を第2の鍵で暗号化した第2
の暗号化データと前記第2の鍵とを第2のデータとして
出力する手段を有することを特徴とする請求項1記載の
情報処理装置。 - 【請求項3】前記第1の鍵は第1の鍵生成手段で生成さ
れ、前記第2の鍵は第2の鍵生成手段で生成されること
を特徴とする請求項1記載の情報処理装置。 - 【請求項4】前記転送する手段はバスラインを有するこ
とを特徴とする請求項1記載の情報処理装置。 - 【請求項5】前記解釈は前記第1のデータをそのまま解
釈するものであるか、または前記第1のデータに基づい
て前記第1の暗号化データを復号化した上で解釈するも
のであることを特徴とする請求項1記載の情報処理装
置。 - 【請求項6】前記解釈は、前記第1のデータと前記演算
装置の命令とを多対一に対応させることで、前記暗号化
データを復号化すること無しに行うことを特徴とする請
求項1記載の情報処理装置。 - 【請求項7】前記第2のデータを用いて前記第2の暗号
化データを復号化する第1の復号化手段と、前記第2の
鍵データを用いてその復号化したデータを第3の鍵デー
タを用いて暗号化して第3の暗号化データとし、前記第
3の暗号化データと前記第3の鍵データとを第3のデー
タとして外部記憶装置へ転送する手段を有することを特
徴とする請求項1記載の情報処理装置。 - 【請求項8】前記第3の鍵データは第3の鍵生成手段で
生成されることを特徴とする請求項7記載の情報処理装
置。 - 【請求項9】外部記憶装置には第3の鍵データと第3の
暗号化データとを対として第3のデータとしてデータが
記憶され、前記第3のデータを読み出して第2の復号化
手段で第3の暗号化データを復号化し、そのデータを前
記第1の鍵データで暗号化して前記第1の暗号化データ
とすることを特徴とする請求項1記載の情報処理装置。 - 【請求項10】暗号化されたデータとそのデータの暗号
化に使用した鍵とを入力として前記暗号化データを復号
化する第1の手段と、演算装置の演算結果を暗号化する
ための鍵の生成手段と、前記演算結果と前記鍵を用いて
前記演算結果を暗号化する第2の手段とが前記演算装置
のデータ入出力部またはその近傍に備えられていること
を特徴とする情報処理装置。 - 【請求項11】記憶手段から読み出されるデータを第1
の手段で生成した鍵を用いて暗号化して暗号化データと
し、前記暗号化データと前記鍵とを一組の第1のデータ
として演算装置へ転送する手段を有し、 前記演算装置は前記第1のデータを解釈して演算する手
段を有し、 前記記憶手段および前記第1の手段は前記演算装置から
離間した位置に設けられていることを特徴とする情報処
理装置。 - 【請求項12】外部記憶装置には第3の鍵データと第3
の暗号化データとを対として第3のデータとしてデータ
が記憶され、前記第3のデータを読み出して前記第1の
鍵データで暗号化し、続いて第2の復号化手段で第3の
暗号化データを復号化し、データを前記第1の暗号化デ
ータとすることを特徴とする請求項1記載の情報処理装
置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001350936A JP3904432B2 (ja) | 2001-11-16 | 2001-11-16 | 情報処理装置 |
| US10/217,565 US6691921B2 (en) | 2001-11-16 | 2002-08-14 | Information processing device |
| US10/745,540 US7201326B2 (en) | 2001-11-16 | 2003-12-29 | Information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001350936A JP3904432B2 (ja) | 2001-11-16 | 2001-11-16 | 情報処理装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006034970A Division JP2006136032A (ja) | 2006-02-13 | 2006-02-13 | 情報処理装置 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2003152702A true JP2003152702A (ja) | 2003-05-23 |
| JP2003152702A5 JP2003152702A5 (ja) | 2005-06-30 |
| JP3904432B2 JP3904432B2 (ja) | 2007-04-11 |
Family
ID=19163331
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001350936A Expired - Fee Related JP3904432B2 (ja) | 2001-11-16 | 2001-11-16 | 情報処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US6691921B2 (ja) |
| JP (1) | JP3904432B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005027403A1 (ja) * | 2003-09-11 | 2005-03-24 | Renesas Technology Corp. | 情報処理装置 |
| JP2005204128A (ja) * | 2004-01-16 | 2005-07-28 | Mitsubishi Electric Corp | 個別鍵生成装置及びプログラム |
| JP2007251783A (ja) * | 2006-03-17 | 2007-09-27 | Nec Electronics Corp | 半導体装置の被処理データのスクランブル/デスクランブル方法、そのプログラム、スクランブル/デスクランブル回路、及びそれらを備える半導体装置 |
| US7454017B2 (en) | 2003-11-18 | 2008-11-18 | Renesas Technology Corp. | Information processing unit |
| JPWO2013065117A1 (ja) * | 2011-10-31 | 2015-04-02 | 富士通株式会社 | 暗号装置と方法およびプログラム |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE60129742T2 (de) * | 2000-12-19 | 2008-04-30 | Azoteq (Proprietary) Ltd. | Verfahren und vorrichtung zum datentransfer |
| FR2823398B1 (fr) * | 2001-04-04 | 2003-08-15 | St Microelectronics Sa | Extraction d'une donnee privee pour authentification d'un circuit integre |
| FR2825873A1 (fr) * | 2001-06-11 | 2002-12-13 | St Microelectronics Sa | Stockage protege d'une donnee dans un circuit integre |
| JP3904432B2 (ja) * | 2001-11-16 | 2007-04-11 | 株式会社ルネサステクノロジ | 情報処理装置 |
| CN100565445C (zh) | 2004-01-27 | 2009-12-02 | Nxp股份有限公司 | 对功率分析攻击的防护 |
| JP2006020154A (ja) * | 2004-07-02 | 2006-01-19 | Toshiba Corp | コンテンツ管理方法及びコンテンツ管理用プログラム、並びに電子機器 |
| US7739501B2 (en) * | 2004-07-29 | 2010-06-15 | Infoassure, Inc. | Cryptographic key construct |
| EP1717723A1 (en) * | 2005-04-29 | 2006-11-02 | ST Incard S.r.l. | Improved virtual machine or hardware processor for IC-card portable electronic devices |
| US8250151B2 (en) * | 2005-10-12 | 2012-08-21 | Bloomberg Finance L.P. | System and method for providing secure data transmission |
| US7594101B2 (en) * | 2006-02-06 | 2009-09-22 | Stmicroelectronics S.A. | Secure digital processing unit and method for protecting programs |
| DE102006006057B4 (de) * | 2006-02-09 | 2007-12-27 | Infineon Technologies Ag | Datenverschlüsselungsvorrichtung und Verfahren zum Verschlüsseln von Daten |
| GB0615392D0 (en) * | 2006-08-03 | 2006-09-13 | Wivenhoe Technology Ltd | Pseudo random number circuitry |
| US8972744B1 (en) * | 2008-02-14 | 2015-03-03 | Xilinx, Inc. | Preventing data imprinting in memory |
| US8359479B2 (en) * | 2008-07-17 | 2013-01-22 | Lsi Corporation | High performance arithmetic logic unit (ALU) for cryptographic applications with built-in countermeasures against side channel attacks |
| US7949912B1 (en) | 2009-01-15 | 2011-05-24 | Xilinx, Inc. | System and method of securing data stored in a memory |
| US8359447B1 (en) | 2009-01-15 | 2013-01-22 | Xilinx, Inc. | System and method of detecting and reversing data imprinting in memory |
| US8375225B1 (en) * | 2009-12-11 | 2013-02-12 | Western Digital Technologies, Inc. | Memory protection |
| US8902040B2 (en) | 2011-08-18 | 2014-12-02 | Greisen Enterprises Llc | Electronic lock and method |
| US8635467B2 (en) | 2011-10-27 | 2014-01-21 | Certicom Corp. | Integrated circuit with logic circuitry and multiple concealing circuits |
| US8334705B1 (en) | 2011-10-27 | 2012-12-18 | Certicom Corp. | Analog circuitry to conceal activity of logic circuitry |
| CN103870867A (zh) * | 2014-04-01 | 2014-06-18 | 太仓市协诚金属制品有限公司 | 一种带地铁线的多功能卡片式播放器 |
| JP6576699B2 (ja) * | 2015-06-12 | 2019-09-18 | コニカミノルタ株式会社 | 暗号化システム、更新方法、および更新プログラム |
| US11838402B2 (en) | 2019-03-13 | 2023-12-05 | The Research Foundation For The State University Of New York | Ultra low power core for lightweight encryption |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4278837A (en) * | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
| US4465901A (en) * | 1979-06-04 | 1984-08-14 | Best Robert M | Crypto microprocessor that executes enciphered programs |
| DE3483410D1 (de) * | 1983-10-14 | 1990-11-22 | Toshiba Kawasaki Kk | Einchip mikrocomputer mit verschluesselbarer funktion des programmspeichers. |
| US4630201A (en) * | 1984-02-14 | 1986-12-16 | International Security Note & Computer Corporation | On-line and off-line transaction security system using a code generated from a transaction parameter and a random number |
| JPS6198476A (ja) * | 1984-10-19 | 1986-05-16 | Casio Comput Co Ltd | カードターミナル |
| US5323323A (en) * | 1987-07-09 | 1994-06-21 | Neopost Limited | Franking machine system |
| US4956863A (en) * | 1989-04-17 | 1990-09-11 | Trw Inc. | Cryptographic method and apparatus for public key exchange with authentication |
| US5224166A (en) * | 1992-08-11 | 1993-06-29 | International Business Machines Corporation | System for seamless processing of encrypted and non-encrypted data and instructions |
| JPH07182304A (ja) | 1993-12-24 | 1995-07-21 | Rohm Co Ltd | マイクロコンピュータ及びその製造方法 |
| US5903704A (en) * | 1994-08-26 | 1999-05-11 | Hitachi, Ltd. | Apparatus for selectively recording and reproducing received analog and digital signals |
| AU6761996A (en) * | 1995-07-20 | 1997-02-18 | Dallas Semiconductor Corporation | Method and apparatus for encryption key creation |
| US5764772A (en) * | 1995-12-15 | 1998-06-09 | Lotus Development Coporation | Differential work factor cryptography method and system |
| DE19630861A1 (de) * | 1996-07-31 | 1998-02-05 | Philips Patentverwaltung | Datenverarbeitungseinrichtung mit einem Mikroprozessor und einer zusätzlichen Recheneinheit |
| JP3440763B2 (ja) * | 1996-10-25 | 2003-08-25 | 富士ゼロックス株式会社 | 暗号化装置、復号装置、機密データ処理装置、及び情報処理装置 |
| EP1088295B1 (en) | 1998-06-03 | 2007-08-15 | Cryptography Research Inc. | Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems |
| US6182104B1 (en) * | 1998-07-22 | 2001-01-30 | Motorola, Inc. | Circuit and method of modulo multiplication |
| US6408075B1 (en) * | 1998-11-30 | 2002-06-18 | Hitachi, Ltd. | Information processing equipment and IC card |
| US6188294B1 (en) * | 1999-05-12 | 2001-02-13 | Parthus Technologies, Plc. | Method and apparatus for random sequence generator |
| US6419159B1 (en) * | 1999-06-14 | 2002-07-16 | Microsoft Corporation | Integrated circuit device with power analysis protection circuitry |
| JP4083925B2 (ja) | 1999-06-24 | 2008-04-30 | 株式会社日立製作所 | 情報処理装置、カード部材および情報処理システム |
| JP2001092654A (ja) | 1999-09-17 | 2001-04-06 | Nec Ic Microcomput Syst Ltd | データ処理方法および装置 |
| FR2801751B1 (fr) * | 1999-11-30 | 2002-01-18 | St Microelectronics Sa | Composant electronique de securite |
| JP3904432B2 (ja) * | 2001-11-16 | 2007-04-11 | 株式会社ルネサステクノロジ | 情報処理装置 |
-
2001
- 2001-11-16 JP JP2001350936A patent/JP3904432B2/ja not_active Expired - Fee Related
-
2002
- 2002-08-14 US US10/217,565 patent/US6691921B2/en not_active Expired - Lifetime
-
2003
- 2003-12-29 US US10/745,540 patent/US7201326B2/en not_active Expired - Lifetime
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005027403A1 (ja) * | 2003-09-11 | 2005-03-24 | Renesas Technology Corp. | 情報処理装置 |
| JPWO2005027403A1 (ja) * | 2003-09-11 | 2006-11-24 | 株式会社ルネサステクノロジ | 情報処理装置 |
| US7454017B2 (en) | 2003-11-18 | 2008-11-18 | Renesas Technology Corp. | Information processing unit |
| JP2005204128A (ja) * | 2004-01-16 | 2005-07-28 | Mitsubishi Electric Corp | 個別鍵生成装置及びプログラム |
| JP2007251783A (ja) * | 2006-03-17 | 2007-09-27 | Nec Electronics Corp | 半導体装置の被処理データのスクランブル/デスクランブル方法、そのプログラム、スクランブル/デスクランブル回路、及びそれらを備える半導体装置 |
| JPWO2013065117A1 (ja) * | 2011-10-31 | 2015-04-02 | 富士通株式会社 | 暗号装置と方法およびプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US6691921B2 (en) | 2004-02-17 |
| US20030094499A1 (en) | 2003-05-22 |
| JP3904432B2 (ja) | 2007-04-11 |
| US20040136530A1 (en) | 2004-07-15 |
| US7201326B2 (en) | 2007-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3904432B2 (ja) | 情報処理装置 | |
| EP1440535B1 (en) | Memory encrytion system and method | |
| EP1248409B1 (en) | Attack-resistant cryptographic method and apparatus | |
| JP3848573B2 (ja) | マイクロプロセッサシステム | |
| US7472285B2 (en) | Apparatus and method for memory encryption with reduced decryption latency | |
| JP4801699B2 (ja) | 暗号処理装置および暗号処理方法 | |
| JP4045777B2 (ja) | 情報処理装置 | |
| US8428251B2 (en) | System and method for stream/block cipher with internal random states | |
| JP4317607B2 (ja) | 情報処理装置、耐タンパ処理装置 | |
| KR102383829B1 (ko) | 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 | |
| JP4199937B2 (ja) | 耐タンパー暗号処理方法 | |
| US9544133B2 (en) | On-the-fly key generation for encryption and decryption | |
| CN113810169B (zh) | 同态加密装置及其密文算术方法 | |
| JP2003198534A (ja) | データ暗号化装置及びその方法 | |
| WO2003090185A1 (fr) | Dispositif de generation de cles, dispositif de codage/decodage et procede de generation de cles | |
| CN108959129A (zh) | 一种基于硬件的嵌入式系统机密性保护方法 | |
| US12309256B2 (en) | Apparatus for cryptographic operations on information and associated methods | |
| US8045712B2 (en) | Stream ciphering of the content of a memory external to a processor | |
| CN103269267B (zh) | 一种全同态加密装置 | |
| JP2015061182A (ja) | 記憶装置及び情報処理システム | |
| JP2005149262A (ja) | 情報処理装置 | |
| CN103150522B (zh) | 一种适用于无源便携式设备的3des加密算法电路 | |
| JP2006136032A (ja) | 情報処理装置 | |
| CN113158203A (zh) | 一种soc芯片、电路和soc芯片的外部数据读写方法 | |
| US20240160752A1 (en) | Apparatus for Cryptographic Operations on Information and Associated Methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041013 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041013 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041013 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050315 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050719 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051004 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051122 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051122 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051213 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060213 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060223 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20061003 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061130 |
|
| 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: 20061226 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070109 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 3904432 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
| 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: 20110119 Year of fee payment: 4 |
|
| 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: 20110119 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140119 Year of fee payment: 7 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| 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 |