JP3904432B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP3904432B2
JP3904432B2 JP2001350936A JP2001350936A JP3904432B2 JP 3904432 B2 JP3904432 B2 JP 3904432B2 JP 2001350936 A JP2001350936 A JP 2001350936A JP 2001350936 A JP2001350936 A JP 2001350936A JP 3904432 B2 JP3904432 B2 JP 3904432B2
Authority
JP
Japan
Prior art keywords
data
key
encrypted
encryptor
decryptor
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.)
Expired - Fee Related
Application number
JP2001350936A
Other languages
English (en)
Other versions
JP2003152702A5 (ja
JP2003152702A (ja
Inventor
隆 遠藤
正博 神永
高志 渡邊
邦彦 中田
卓 塚本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Technology Corp filed Critical Renesas Technology Corp
Priority to JP2001350936A priority Critical patent/JP3904432B2/ja
Priority to US10/217,565 priority patent/US6691921B2/en
Publication of JP2003152702A publication Critical patent/JP2003152702A/ja
Priority to US10/745,540 priority patent/US7201326B2/en
Publication of JP2003152702A5 publication Critical patent/JP2003152702A5/ja
Application granted granted Critical
Publication of JP3904432B2 publication Critical patent/JP3904432B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F7/48Methods 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/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F7/48Methods 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
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks

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)

Description

【0001】
【発明の属する技術分野】
本発明は情報処理装置に関し、特に機密性の高いICカードなどの耐タンパ装置に関する。
【0002】
【従来の技術】
ICカードは、主に、勝手に書き換えられない情報の保持や秘密情報である暗号鍵を使ったデータの暗号化や暗号文の復号化を行うために使われる装置である。ICカードは、電源を持っていないため、リーダライタに差し込まれると、電源の供給を受け、動作可能となる。動作可能になると、リーダライタからコマンドを受けて、コマンドに従い、データの転送を行う。ICカードの一般的な解説は、オーム社出版電子情報通信学会編水沢順一著「ICカード」などにある。
ICカードの構成は、図1に示すように、カード101の上に、ICカード用チップ102を搭載したものである。一般にICカードは、接点を持ち、接点を通して、リーダーライタから電源の供給やリーダライタとのデータの通信を行う。
ICカード用チップの構成は、基本的にマイクロコンピュータと同じような構成である。その構成は、図2に示すように、中央演算装置201、記憶装置204、入出力ポート207、コ・プロセッサ202からなる。中央処理装置201は、論理演算や算術演算などを行う装置であり、記憶装置204は、プログラムやデータを格納する装置である。入出力ポートは、リーダライタと通信を行う装置である。コ・プロセッサは、剰余演算を行うための特別な演算装置であり、非対称暗号であるRSAの演算などに用いられる装置である。ICカード用プロセッサの中には、コ・プロセッサを持たないものも多くある。データバス203は、各装置を接続するバスである。
記憶装置204は、ROM(Read Only Memory)、RAM(Random Access Memory)、EEPROM(Electrical Erasable Programmable Read Only Memory)などからなる。ROMは、変更できないメモリであり、主にプログラムを格納するメモリである。RAMは自由に書き換えができるメモリであるが、電源の供給が中断されると、記憶している内容が消えてなくなる。ICカードがリーダライタから抜かれると電源の供給が中断されるため、RAMの内容は、保持できなくなる。EEPROMは、電源の供給が中断されてもその内容を保持することができるメモリである。書き換える必要があり、ICカードがリーダライタから抜かれても、保持するデータを格納するために使われる。例えば、プリペイドカードでのプリペイドの度数などは、使用するたびに書き換えられ、かつリーダライタか抜かれてもデータを保持する必要があるため、EEPROMで保持される。
ICカードは、プログラムや重要な情報がICカード用チップの中に密閉されているため、重要な情報を格納したり、カードの中で暗号処理を行うために、使われている。ICカードでの暗号処理の解読の難しさは、暗号アルゴリズムの解読の困難さと同じと考えられていた。しかし、ICカードが暗号処理を行っている時の消費電流を観測し、解析することにより、暗号アルゴリズムの解読より容易に暗号処理の内容や暗号鍵が推定される可能性が示唆されている。消費電流は、リーダライタから供給されている電流を測定することにより観測することができる。これは、John Wiley & sons社 W.Rankl & W.Effing著 「Smart Card Handbook」の8.5.1.1 Passive protective mechanisms(263ページ)にこのような危険性が記載されている。
ICカード用チップを構成しているCMOSは、出力状態が1から0あるいは0から1に変わった時に電流を消費する。特に、データバス203は、大きな電気容量を持つため、バスの値が1から0あるいは0から1に変わると、大きな電流が流れる。そのため、消費電流を観測すれば、ICカード用チップの中で、何が動作しているか分かる可能性を示唆している。
図3は、ICカード用チップの1サイクルでの消費電流の波形を示したものである。処理しているデータの依存して、電流波形が301や302のように異なる。このような差は、バス203を流れるデータや中央演算装置201で処理しているデータに依存して生じる。
【0003】
ICカード用チップを構成しているCMOSは、出力状態が1から0、あるいは0から1に変わったときに電力を消費する。したがって、消費電流を観測すれば、ICカードのチップ内で、何が動作しているのかや、どの様なデータが処理されているのかを推定することが可能である。
【0004】
従来技術としては、消費電流値を常に一定にする方法と、同じ処理を行う場合でも消費電流を毎回変化させる方法がある。前者の例としては、各々のデータ線をポジとネガの2種類を用意し、演算器も複数個用意し、ダミーの演算と真の演算を同時に行うことにより、入力データや演算結果にかかわらず、常に消費電流が等しくなるという方法(PCT WO 99/67766)があるが、バス幅が2倍、演算器が4倍とハードウエア規模が大きくなってしまう点が問題となる。後者の方法としては、バス転送時やメモリ格納時に暗号化を行う方法(特開2001−5731)が提案されているが、鍵情報を複数のデータで共有しており、それぞれのデータのライフタイムが異なるため、暗号化鍵を更新するタイミングに制限があり、プログラミング上の制約が加わる。
【0005】
【発明が解決しようとする課題】
本願発明の課題は、ICカード向けマイクロコンピュータチップでのデータ処理と消費電力との関連性を、ハードウエア規模の大幅な増加やプログラミング上の制約が加わることなしに減少させることである。
【0006】
【課題を解決するための手段】
消費電流と処理データとの関連性を減少させる方法には(1)データの値が同じであっても、消費電流が予測不可能な方法で変化させる方法、(2)データの値が異なる場合でも、消費電流が常に一定とする方法、の2通りの方法が有る。
【0007】
本発明では、(1)の方法により、消費電流とデータとの関連性を減少させる。基本的には、データを暗号化し、暗号化の鍵を短い期間で変化させることにより、データの真の値と電気的な表現の関連性を予測不能にする。ここで、暗号化を行う際の鍵を複数のデータで共有すると、鍵を書き換える場合に、鍵を共有するデータすべてについて、鍵の変更とともにデータの書き換えを行わなければならない。したがって、暗号化の際の鍵を共有するデータのサイズは小さければ小さいほど望ましく、データがアクセスされる最小単位と等しくすることが望ましい。たとえば、バイト毎に鍵を用意する。また、鍵のビット数は、最低限1ビットあればよい。1ビットの鍵は、2種類の鍵を選択するための選択ビットとみなすこともできる。もっとも簡単な一例としては、鍵のビットが1の時には、データを反転し、鍵のビットが0のときはデータを反転させない、という方法がある。ここで用いる暗号化手法は、バーナム暗号の一種だと考えることが可能で、鍵ビットが1の時には、255を鍵として用い、鍵ビットが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(=10101010(b))として、平文データを123とすると、
鍵ビットが1の場合
Figure 0003904432
最上位に鍵ビットを付け加えると、209+256=465 となる。
同様に、鍵ビットが0の場合は、
Figure 0003904432
となる。鍵ビットは0なので、鍵ビットを加えた値も 46 となる。レジスタ等の記憶装置にデータを格納する際には、暗号化されたデータに加え、暗号ビットも保管できるようにしておき、暗号化した状態のまま値を格納し、復号化するのは演算時などの真の値が必要な場面のみに限定する。
次に、復号化を考えると、465は鍵ビットが1、暗号データが209であるので、
Figure 0003904432
同様に46は鍵ビットが0、暗号データが 46であるので、
Figure 0003904432
とどちらもきちんと復号化できる。
(式6)、(式7)を論理回路に実装した例を図11に示す。
【0008】
鍵ビットを表現する際、1ビットのみを用いる場合、鍵ビットの値が1の時と0の時では、鍵の値によって、消費電流に差が出る。プリチャージバスでは、いったんバスの電圧を上げた後、ビットの値に従って電圧を下げるため、鍵ビットの値によって、プリチャージ後のディスチャージの有無によって、消費電流に差が出る。従って、鍵ビットの表現には複数ビットを用いて、鍵ビットの値によって消費電流が変わらないようにすることが望ましい。たとえば2ビットで鍵ビットを表現することを考える。鍵ビット1、鍵ビット2の2つのビットで鍵ビットの0、1を表現する際、鍵ビットが1の状態を、(鍵ビット1=1、鍵ビット2=0)、鍵ビットが0の状態を(鍵ビット1=0、鍵ビット2=1)と表現する。鍵ビットを2本の信号線で表現した場合の暗号化・復号化回路の実施例を図12に示す。
【0009】
本発明の情報処理装置は、所定の部位に暗号化・復号化手段を有するので、従前のメモリ、バスとの接続が可能である。具体的には、本発明の情報処理装置からデータが外部に出力される部分に復号化手段を置き、復号化後、従来のバスやメモリに出力するように構成し、反対に外部から本発明の情報処理装置へデータが入力される部分には、暗号化手段を置き、従来設計のバスやメモリからのデータを暗号化した後情報処理装置内に取り込むように構成する。
【0010】
暗号化された状態のデータを用いて演算を実現するには、2つの方法がある。一つは、演算器の入力部分に復号化器を置き、演算結果の出力部に暗号化器を置くという方法で、もう一つは、暗号化されたデータをそのまま用いて計算可能な演算回路を構成する方法である。ここで、1ビット全加算器を例に挙げ、暗号化されたデータを入力として受け入れ、出力として暗号化された演算結果を出力する暗号化全加算器の実現方法を示す。
ます、暗号化されていない通常の全加算器の場合は、2つの入力をA’、B’、下位からのキャリーをC’in、上位へのキャリーをC’out、加算結果をR’とすると、A’、B’、C’in、C’out、R’の関係は、
Figure 0003904432
となる。
つぎに、暗号化全加算器について考える。第1の暗号化された入力データをA、第1の入力データの鍵ビットをAk、第2の暗号化された入力データをB、第2の入力の鍵ビットをBk、生じたキャリーをCout、下位からのキャリーをCin、加算結果をRとし、キャリーCout、Cin、Rのための暗号化ビットをRkとする。
ここで、暗号化されていない全加算器の入出力のA’、B’、C’in、C’out、R’と暗号化された全加算器の入出力のA、Ak、B、Bk、Cin、Cout、R、Rkとの関係は、暗号化ビットが1の時にビットが反転する暗号化全加算器の場合、(式14)で表される。
【0011】
A’= A xor Ak
B’= B xor Bk
C’in = Cin xor Rk
C’out = Cout xor Rk
R’= R xor Rk (式14)
(式14)を(式12)、(式13)に代入すると、暗号化全加算器の論理式が次のように求められる。
Figure 0003904432
ここで、(式17)のドモルガンの定理を用いると、
X or Y=not((not X) and (not Y)) (式17)
(式16)は、
Figure 0003904432
と書き換えられる。(式15)、(式18)を論理回路で表現すると、図8の様になる。
つぎに、暗号化ビットが0の時にビットが反転する暗号化全加算器の場合について考える。Cin、Coutについては、常に暗号化ビットが1の時にビットが反転するものとする。すると、A’、B’、C’in、C’out、R’とA、Ak、B、Bk、Cin、Cout、R、Rkの関係は、(式19)で表される。
【0012】
A’= A xor not Ak
B’= B xor not Bk
C’in = Cin xor Rk
C’out = Cout xor Rk
R’= R xor not Rk (式19)
(式19)を(式12)、(式13)に代入し、ドモルガンの定理を適応すると、暗号化ビットが0の時にビットが反転する暗号化全加算器の論理式は次のように求められる。
Figure 0003904432
(式20)、(式21)を論理回路で表現したものが、図9になる。図8、図9で示される1ビットの全加算器を並べることで、複数ビットの加算器が実現可能である。
たとえば、暗号化ビットが0の時に、0x55で暗号化し、暗号化ビットが1の時に0xAAで暗号化する場合の暗号化加算器は、下位から、図9、図8、図9、図8、図9、図8、図9、図8の暗号化全加算器を並べて実現することができる。
【0013】
暗号化されたデータを解釈・実行する命令デコーダには、2つの実現方法があり、ひとつは命令デコーダの命令を取り込む部分に復号化器を接続する方法である。もう一つの方法は、暗号化されたデータを直接解釈・実行できるように命令コードと命令が多対一で対応づけられているようなデコーダを構成しておく方法である。命令コードを暗号化すると、暗号化ビットの種類数だけ、暗号化された値が得られる。その暗号化して得られた全ての値を、元の暗号化される前に対応づけられていた命令と対応づける。全ての命令コードに対して、そうした対応付けを行い、多対一の暗号化された命令コードと命令の対応表を作成する。その表に従ってデコーダを構成することで、暗号化された命令コードを復号化することなしに解釈可能なデコーダが実現できる。
【0014】
【発明の実施の形態】
図4は本発明の一実施例を説明する為の情報処理装置の概要を説明する基本構成図である。勿論、図4は情報処理装置の当該発明に係わる部分の主要部のみを例示している。当該情報処理装置の他の部分は通例の構成を用いて十分である。CPU401は、演算結果を暗号化する際に用いる鍵を発生する鍵発生器1009、暗号化された値を入力とし、結果も暗号化された状態で出力する演算器406、内部バス402、レジスタ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である。暗号化を行うと、BSRに対応する命令コードは、鍵ビットの値に応じて、
0x5C xor 0x55 + 0 = 0x009
(鍵ビット=0)
0x5C xor 0xAA + 0x100 = 0x1F6
(鍵ビット=1)
という2つの値を取りうる。この2つの値がBSRと対応づけられるような多対一の命令コードと命令の対応表を用意することで、復号化することなしに、命令を解釈、実行できるデコーダが実現できる。図17の命令コードと命令の対応表を、暗号化された命令コードを直接解釈できるように多対一の対応表に変換した表を図18に示す。
【0015】
図5は、本発明による加算器の一実施例で、暗号化されたデータを直接計算することができる全加算器501、502、503より構成されている。暗号化全加算器501は、第1の暗号化された入力データのうちの1ビットであるA0(511)と第1の入力データの鍵ビットAk(511)、第2の暗号化された入力データのうちの1ビットであるB0(513)と第2のデータの鍵ビットBk(514)、演算結果およびキャリーの暗号化に使用される第3の暗号化ビットRk(510)を入力とし、暗号化された加算結果R0(515)と次のビットへの暗号化されたキャリーCout(516)を生成する。ここで、暗号化ビットが1の場合に値を反転する暗号方式で暗号化する場合の、暗号化全加算器501の一実施例を図8に示す。また、暗号化全加算器501は、図8以外の論理回路でも実現することが可能であり、図6に示される真理値表より合成された回路により実施することもできる。
【0016】
また、暗号化ビットが0の場合に値を反転する暗号方式で暗号化する場合の暗号化全加算器の一実施例を図9に示す。暗号化全加算器は、図9以外の論理回路でも実現することが可能であり、図7に示される真理値表より合成された回路により実施することもできる。
【0017】
図10は、本発明の別の一実施例を示している。本実施例では、従来の暗号化されていないデータや命令コードを扱うように構成されている演算器406、命令デコーダ404を用いて演算や命令解釈を行うように構成されており、命令デコーダ404の入力部に復号化器1006を置き、命令デコーダには、復号化した値が入力される。同様に、演算器の演算数の入力部にも、復号化器1007、1008を接続し、データを復号化した後に演算器406で計算を行い、演算結果は鍵生成手段1009で生成された鍵に従って、暗号化器1005で暗号化されて、内部バス402に出力される。レジスタ403は、暗号化されたnビットのデータと暗号化に用いられたmビットの鍵情報を格納可能なように構成されている。図11は、本発明で用いられる暗号方式のための暗号化器・復号化器の一実施例で、1ビットの鍵ビット1101とデータビット1104を入力として、暗号化・復号化を行う。本実施例では、暗号化器と復号化器は同一の回路で実現されている。図12は、暗号化に用いる鍵ビットが2ビットの場合の一実施例である。
【0018】
図13は、本発明の別の一実施例である。RAM(1305)およびROM/EEPROM(1304)は外部バス(1301)を介してCPU(401)と接続されている。RAM(1305)はCPU(401)内で暗号化器(1005)により暗号化されたデータと暗号鍵の両方を格納することができる。ROM/EEPROM(1304)も同様に、暗号鍵とデータの両方を格納することができ、ROMデータはあらかじめCPUの復号化器(1006、1007、1008)で復号化可能な暗号化が施されている。このような構成にすることで、演算器(406)、命令デコーダ(404)の内部を除いた情報処理システムのすべての部分でデータが暗号化されているため、アタックが困難となる。 図14は、本発明の別の一実施例である。RAM(1305)は外部バス(1301)を介してCPU(401)と接続されている。RAM(1305)はCPU(401)内で暗号化器(1005)により暗号化されたデータと暗号鍵の両方を格納することができる。ROM/EEPROM(1304)は、暗号鍵を自動生成する鍵生成器(1403)の鍵にしたがって暗号化を行う暗号化器(1402)を介して外部バス(1301)に接続されており、CPU(401)がデータ読み込みを行う際には、暗号化器(1402)により暗号化が行われる。この実施例のメリットは、外部バス上に送られるROMデータが暗号化され、同じデータを送った場合にも、鍵情報が異なるためにバス上のデータ表現が固定値にはならないため、外部からの解析が困難になる。また、ROMデータ中に鍵情報を置かなくてもよいので、ROMの面積が少なくてすむ。もちろん、ROMデータを暗号化しておき、暗号化器(1402)では、暗号化の際の鍵を変換するような操作を行うようにしても良い。
【0019】
図15は本発明の別の一実施例である。RAM(1305)およびROM(1304)は外部バス(1301)を介してCPU(401)と接続されている。RAMデータはあらかじめ決められた方法により暗号化される。RAMデータが書き込まれる際には、まず復号化器(1503)により、CPU内部の暗号化方式で暗号化されたデータが復号化され、つづいてRAMデータ暗号化器(1506)により暗号化された後、外部バス(1301)に送出され、RAM(1305)に書き込まれる。ROMデータはあらかじめ決められた方法で暗号化され、データ読み込みの際に、ROMデータ復号化器(1505)によって復号化され、その後鍵生成器(1501)が生成した鍵を用いて、暗号化器(1502)によって暗号化される。RAMからのデータ読み込みの際には、RAMデータ復号化器(1504)により復号化され、ROMの場合と同様にその後鍵生成器(1501)が生成した鍵を用いて、暗号化器(1502)によって暗号化される。この方法では、RAMデータおよびROMデータの暗号化および復号化の手法を適切に選ぶことにより、鍵情報をRAMやROMに格納することなく、暗号化することができる。
【0020】
図16は本発明の別の一実施例で、RAMデータ復号化器(1504)、ROMデータ復号化器(1505)とCPU内部の暗号化方式による暗号化器(1502)の順番を逆にしている。図15での実施例では、RAMデータ暗号化方式で暗号化されたデータをまずRAM暗号復号化器で復号化し、平文データに戻した後、CPU内部の暗号化方式にしたがって暗号化していたが、暗号化方式を適切に選択することで、RAMデータ暗号化方式で暗号化されたデータをさらにCPU内部の暗号化方式で暗号化した後、RAMデータ暗号化方式に対応した復号化器で復号化し、CPU内部の暗号化方式で暗号化されているデータを得る事ができる。このような方法が可能な暗号化方式としては、たとえばバーナム暗号がある(岡本栄司、「暗号理論入門」、pp.65-66、共立出版株式会社)。
【0021】
【発明の効果】
本発明の実施例によれば、高いセキュリティを持つ情報処理装置を提供することができる。更に、高いセキュリティを持つカード部材、および情報処理システムを提供することができる。
【図面の簡単な説明】
【図1】図1はICカードにおける半導体集積回路装置の配置を示す図である。
【図2】図2はマイクロコンピュータの基本構成を示す図である。
【図3】図3は通例のICカード用半導体装置における1サイクルの消費電流を示す電流波形を示す図である。
【図4】図4は本発明の一実施例を示す図である。
【図5】図5は本発明による、加算演算器の一実施例を示す図である。
【図6】図6は本発明による、加算演算器を構成する暗号化全加算器の一実施例を示す真理値表である。
【図7】図7は本発明による、加算演算器を構成する暗号化全加算器の別の一実施例を示す真理値表である。
【図8】図8は図6の真理値表から合成された論理回路の一実施例である。
【図9】図9は図7の真理値表から合成された論理回路の一実施例である。
【図10】図10は本発明による一実施例を示す図である。
【図11】図11は本発明で用いられる、暗号化及び復号化器の一実施例である。
【図12】図12は本発明で用いられる、暗号化及び復号化器の別の一実施例である。
【図13】図13は、本発明の一実施例である。
【図14】図14は、本発明の一実施例である。
【図15】図15は、本発明の一実施例である。
【図16】図16は、本発明の一実施例である。
【図17】図17は、命令コードと命令の対応表の一例である。
【図18】図18は、本発明の一実施例における、命令コードと請求項8の別の一実施例である。
【符号の説明】
401は情報処理装置(CPU)、402は内部バス、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は入力ビット信号線、1203は出力ビット信号線、1301は外部バス、1304はROM/EEPROM、1305はRAM、1402は暗号化器、1403は鍵生成器、1501は鍵生成器、1502は暗号化器、1503は復号化器、1504はRAMデータ復号化器、1505はROMデータ復号化器、1506はRAMデータ暗号化器、1550はRAMデータ暗号用鍵記憶装置である。

Claims (15)

  1. 内部バスと、
    前記内部バスから入力をおこない、前記内部バスへの出力をおこなう演算器と、
    鍵データを生成し、前記鍵データを時間に応じて変化させる鍵発生器とを有し、
    前記内部バスは、暗号化データと、前記暗号化データに同時に随伴する鍵データとを転送し、
    前記暗号化データは、前記暗号化データに伴われる鍵データにより暗号化され、
    前記演算器の入力データは、前記暗号化データと前記暗号化データに随伴する鍵データであり、
    前記演算器の前記入力データは、前記演算器により演算される前に、随伴する前記鍵データにより復号化されるものであり、
    前記演算器の出力データは、前記鍵生成器により生成された鍵データにより暗号化された前記演算器の演算結果である暗号化データと、前記鍵生成器により生成された前記鍵データであり、
    前記演算器の出力データは、前記内部バスに接続されるメモリ内へ格納されることを特徴とする情報処理装置。
  2. さらに、命令デコーダを有し、
    前記命令デコーダは、暗号化された命令コードと命令が多対一の対応により、前記暗号化された命令コードのデコードをおこなうことを特徴とする請求項1記載の情報処理装置。
  3. さらに、外部バスと、
    第2の復号化器と、
    第2の暗号化器と、
    第2の鍵発生器とを有し、
    前記内部バスと前記演算器と前記鍵発生器と前記第2の復号化器と前記第2の暗号化器は、CPUを構成し、
    前記内部バスは、前記第2の復号化器と前記第2の暗号化器とを介して、前記外部バスに接続され、
    前記第2の復号化器は、前記内部バスから入力される前記暗号化データを復号化し、前記外部バスその復号化データを出力し、
    前記第2の暗号化器は、前記外部バスを介して転送されるデータを暗号化し、前記内部バスへその暗号化データを出力することを特徴とする請求項1記載の情報処理装置。
  4. 内部バスと、
    演算器と、
    鍵データ発生し、前記鍵データを時間に応じて変化させる鍵発生器と、
    復号化器と、
    暗号化器とを有し、
    前記内部バスは、暗号化データと、前記暗号化データに同時に伴われる鍵データとをメモリへ転送し、前記暗号化データと前記鍵データの両方を組で前記メモリへ格納させ、
    前記復号化器は、前記暗号化データに随伴する鍵データにより、前記暗号化データを復号化し、前記演算器ヘその復号化データを出力し、
    前記暗号化器は、前記鍵発生器により生成される鍵データにより、前記演算器からの出力データを暗号化し、その暗号化データと前記鍵発生器により発生された鍵データとを前記内部バスへ出力することを特徴とする情報情報装置。
  5. 前記鍵データのサイズが、1ビットであることを特徴とする請求項1および請求項4記載のいずれかの情報処理装置。
  6. 前記鍵データのサイズが、2ビットであることを特徴とする請求項1および請求項4記載のいずれかの情報処理装置。
  7. 前記鍵データは、二つあって、それら二つの鍵データのXORを取ると、全ビットが1となることを特徴とする請求項1および請求項4記載のいずれかの情報処理装置。
  8. 前記暗号化データは、バーナム暗号により暗号化されることを特徴とする請求項1および請求項4記載のいずれかの情報処理装置。
  9. 前記暗号化データは、バイト単位毎に鍵データを備えることを特徴とする請求項1および請求項4記載のいずれかの情報処理装置。
  10. さらに、命令デコーダと、
    第2の復号化器とを有し、
    前記第2の復号化器は、暗号化された命令コードに伴われる鍵データにより、前記暗号化された命令コードを復号化し、前記命令デコーダへその復号化データを入力することを特徴とする請求項4記載の情報処理装置。
  11. さらに、外部バスを有し、
    前記内部バスと前記演算器と前記鍵発生器と前記復号化器と前記暗号化器は、CPUを構成し、
    前記内部バスは、前記外部バスに接続されることを特徴とする請求項4記載の情報処理装置。
  12. さらに、外部バスと、
    第2の復号化器と、
    第2の暗号化器とを有し、
    前記内部バスと前記演算器と前記鍵発生器と前記第2の復号化器と前記第2の暗号化器は、CPUを構成し、
    前記内部バスは、前記第2の復号化器と前記第2の暗号化器とを介して、前記外部バスに接続され、
    前記第2の復号化器は、前記内部バスから入力される前記暗号化データを復号化し、前記外部バスへその復号化データを出力し、
    前記第2の暗号化器は、前記鍵発生器により発生される鍵データにより、前記外部バスを介して転送されるデータを暗号化し、前記内部バスへ前記暗号化データと前記鍵発生器により発生される鍵データとを出力することを特徴とする請求項4記載の情報処理装置。
  13. さらに、前記外部バスに接続されたRAMと、
    前記外部バスと前記第2の復号化器とに接続されたRAMデータ暗号化器と、
    前記外部バスと前記第2の暗号化器とに接続されたRAMデータ復号化器とを有し、
    前記RAMデータ暗号化器は、前記第2の復号化器より入力されるデータを暗号化し、
    前記外部バスを介して前記RAMにその暗号化データを転送し、
    前記RAMデータ復号化器は、前記外部バスを介して転送された前記RAMのデータを復号化し、前記第2の暗号化器に入力することを特徴とする請求項10記載の情報処理装置。
  14. さらに、前記外部バスに接続されたROMと、
    前記外部バスと前記第2の暗号化器とに接続されたROMデータ復号化器とを有し、
    前記ROMのデータは、あらかじめ定められた暗号化方法により暗号化され、
    前記ROMデータ復号化器は、前記外部バスを介して転送される前記ROMのデータを復号化し、前記第2の暗号化器へその復号化データを入力することを特徴とする請求項10記載の情報処理装置。
  15. 請求項4の情報処理装置を備えるICカード。
JP2001350936A 2001-11-16 2001-11-16 情報処理装置 Expired - Fee Related JP3904432B2 (ja)

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 JP2003152702A (ja) 2003-05-23
JP2003152702A5 JP2003152702A5 (ja) 2005-06-30
JP3904432B2 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1354300B1 (en) * 2000-12-19 2007-08-01 Azoteq (PTY) Limited Method of and apparatus for transferring data
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 株式会社ルネサステクノロジ 情報処理装置
WO2005027403A1 (ja) * 2003-09-11 2005-03-24 Renesas Technology Corp. 情報処理装置
CN100356342C (zh) 2003-11-18 2007-12-19 株式会社瑞萨科技 信息处理装置
JP4611643B2 (ja) * 2004-01-16 2011-01-12 三菱電機株式会社 個別鍵生成装置
WO2005073825A2 (en) 2004-01-27 2005-08-11 Koninklijke Philips Electronics N.V. Protection against power analysis attacks
JP2006020154A (ja) * 2004-07-02 2006-01-19 Toshiba Corp コンテンツ管理方法及びコンテンツ管理用プログラム、並びに電子機器
US7715565B2 (en) * 2004-07-29 2010-05-11 Infoassure, Inc. Information-centric security
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
JP2007251783A (ja) * 2006-03-17 2007-09-27 Nec Electronics Corp 半導体装置の被処理データのスクランブル/デスクランブル方法、そのプログラム、スクランブル/デスクランブル回路、及びそれらを備える半導体装置
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
WO2013065117A1 (ja) * 2011-10-31 2013-05-10 富士通株式会社 暗号装置と方法およびプログラム
CN103870867A (zh) * 2014-04-01 2014-06-18 太仓市协诚金属制品有限公司 一种带地铁线的多功能卡片式播放器
JP6576699B2 (ja) * 2015-06-12 2019-09-18 コニカミノルタ株式会社 暗号化システム、更新方法、および更新プログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
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
EP0850440A1 (en) * 1995-07-20 1998-07-01 Dallas Semiconductor Corporation Secure module with microprocessor and co-processor
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 富士ゼロックス株式会社 暗号化装置、復号装置、機密データ処理装置、及び情報処理装置
WO1999067766A2 (en) 1998-06-03 1999-12-29 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 株式会社ルネサステクノロジ 情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
US6691921B2 (en) 2004-02-17
US7201326B2 (en) 2007-04-10
US20030094499A1 (en) 2003-05-22
JP2003152702A (ja) 2003-05-23
US20040136530A1 (en) 2004-07-15

Similar Documents

Publication Publication Date Title
JP3904432B2 (ja) 情報処理装置
EP1248409B1 (en) Attack-resistant cryptographic method and apparatus
JP4317607B2 (ja) 情報処理装置、耐タンパ処理装置
JP3848573B2 (ja) マイクロプロセッサシステム
JP4045777B2 (ja) 情報処理装置
JP4199937B2 (ja) 耐タンパー暗号処理方法
CN105324956B (zh) 加密明文数据的方法及设备
CN100379194C (zh) 存储器加密
US6345359B1 (en) In-line decryption for protecting embedded software
JP4180094B2 (ja) プログラム変換装置、暗号処理装置、暗号処理方法
US8045712B2 (en) Stream ciphering of the content of a memory external to a processor
JP2003198534A (ja) データ暗号化装置及びその方法
KR20010083099A (ko) Ic 카드 및 마이크로 프로세서
JP2008181225A (ja) Icカード
US20160182225A1 (en) Secure Method for Processing Content Stored Within a Component, and Corresponding Component
JP4119882B2 (ja) メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ
US7809141B2 (en) Ciphering by blocks of the content of a memory external to a processor
JP2005149262A (ja) 情報処理装置
JP2006136032A (ja) 情報処理装置
JP4003723B2 (ja) 情報処理装置、耐タンパ処理装置
JP2006180375A (ja) プログラマブル論理回路
JP4664655B2 (ja) 情報処理装置、および、そのアドレス制御方法
JPH0547875B2 (ja)
JP2004078976A (ja) 情報処理装置、耐タンパ処理装置
JP2004129033A (ja) データプロセッサ及びicカード

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