JP4968443B2 - 暗号演算処理方法および暗号演算処理装置 - Google Patents

暗号演算処理方法および暗号演算処理装置 Download PDF

Info

Publication number
JP4968443B2
JP4968443B2 JP2006261251A JP2006261251A JP4968443B2 JP 4968443 B2 JP4968443 B2 JP 4968443B2 JP 2006261251 A JP2006261251 A JP 2006261251A JP 2006261251 A JP2006261251 A JP 2006261251A JP 4968443 B2 JP4968443 B2 JP 4968443B2
Authority
JP
Japan
Prior art keywords
cryptographic operation
mask
equation
value
cryptographic
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
JP2006261251A
Other languages
English (en)
Other versions
JP2007235913A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2006261251A priority Critical patent/JP4968443B2/ja
Publication of JP2007235913A publication Critical patent/JP2007235913A/ja
Application granted granted Critical
Publication of JP4968443B2 publication Critical patent/JP4968443B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、本発明は、データの暗号化/復号化を行う暗号演算処理方法および暗号演算処理装置に関し、更に詳しくは、逆元演算が実行される非線形変換を備えた暗号演算処理方法および暗号演算処理装置に関する。
DESやAES(Advanced Encryption Standard)などの暗号演算機能を備えたICカードにおいては、サイドチャネル攻撃と称され、ICカードが暗号演算を実行しているときのサイドチャネル(消費電力波形や、電磁波、タイミング情報など)を解析することで、ICカード内に機密に記憶された暗号鍵が漏洩してしまう可能性があることが知られている。
DESの暗号演算においては、暗号演算への入力そのものを、乱数などによって生成されたマスクパターンを用いて加算(XOR)マスクするマスク処理が、サイドチャネル攻撃に対し効果的とされている(例えば、特許文献1)。
このマスク処理では、乱数などによって生成されたマスクパターンを用いて暗号演算するデータをマスクし、暗号演算結果を出力するときに、マスクされた暗号演算結果から何らかの数学的手段を組み合わせてマスクパターンの影響を除去し、本来の暗号演算結果を算出する。
しかし、AESやCamelliaなど、逆元演算を利用する非線形変換を備えた共通鍵暗号演算においては、逆元演算があるがゆえに、上述したマスク処理をうまく利用できない問題がある。
逆元演算が実行される非線形変換を備えた暗号に主眼を置いたサイドチャネル攻撃対策法としては、逆元演算をも含め非線形変換の入力と出力を一意に定めるS−BOXテーブル(SubBytes Look-up-Table )をマスクし、一連の非線形変換にこのマスクされたS−BOXテーブルを利用する方法が提案されている。
しかし、S−BOXテーブルをマスクする方法では、暗号演算するごとにマスクを生成し、マスクしたS−BOXテーブルを再生成しない限り、暗号演算中に共通のマスクを利用することになってしまい、サイドチャネル攻撃に対して脆弱になってしまう。
暗号演算するごとに、毎回、マスクしたS−BOXテーブルを複数生成し利用する方法も実現可能ではあるが、マスクしたS−BOXテーブルを再生成する時間が問題になるし、また、複数のマスクしたS−BOXテーブルを生成すると、ハードウェアのリソース(例えば、RAM)容量が比較的小さいICカードでは、マスクしたS−BOXテーブルを確保することが困難になってしまう。
マスクしたS−BOXテーブルを利用しないサイドチャネル攻撃対策法としては、非線形変換を処理するときのみ、使用するマスクを変更する乗算マスク法が考案されている(非特許文献2)。
この乗算マスク法では、マスクを乗算することで逆元演算の入力値マスク処理し、マスクした入力値の逆元を演算して利用する方法であるが、入力値が「0」の場合、マスクがどうのような値であっても、入力とマスクの乗算結果が「0」になってしまい、入力値が「0」の場合に、特徴的なサイドチャネル情報(消費電流波形など)が外に漏れてしまう問題がある(非特許文献3)。
特開2000−66585号公報 Cetin K. Koc, David Naccache, Christof Paar (Eds.) "An Implementation of DES and AES, Secure against Some Attacks" Cryptographic Hardware and Embedded Systems CHES 2001, LNCS 2162, pp. 309-318, 2001. c Springer-Verlag Berlin Heidelberg 2001] B.S. Kaliski Jr. et al. (Eds.) "Multiplicative Masking and Power Analysis of AES". Cryptographic Hardware and Embedded Systems CHES 2002, LNCS 2523, pp. 198-212, 2003.
そこで、本発明は、AESやCamelliaに代表され、逆元演算を実行する非線形変換を備えた暗号演算処理において、入力値が「0」であったとしてもサイドチャネル攻撃対策に対して耐タンパー性を備えることのできる暗号演算処理方法および暗号演算処理装置を提供することを目的とする。
上述した課題を解決する第1の発明は、暗号演算の処理中に逆元演算を行う暗号演算処理方法において、前記暗号演算処理方法は、暗号演算の処理中に逆元演算を行う暗号演算処理装置が、値xを逆元演算する代わりに、第1の手段により、数式(1)に基づき、前記値xをマスクmでマスク処理するステップa)、第2の手段により、ステップa)でマスク処理した値xから数式(2)で示される値yを演算するステップb)、を実行することを特徴とする。
数式(1):
Figure 0004968443
数式(2):
Figure 0004968443
更に、第2の発明は、第1の発明に記載の暗号演算処理方法であって、前記ステップb)は、前記暗号演算処理装置の前記第2の手段が、数式(3)で示される共通マスクm0と前記マスクmとから得られ、数式(4)で示される一次元の参照テーブルTを利用し、前記数式(2)で演算される前記値yを数式(5)から求めるステップであることを特徴とする。
数式(3):
Figure 0004968443
数式(4):
Figure 0004968443
数式(5):
Figure 0004968443
更に、第3の発明は、暗号演算の処理中に逆元演算を行う暗号演算処理装置であって、前記暗号演算処理装置は、逆元演算される値xをマスクmによって、前記数式(1)で示されるマスク処理する第1の手段と、第1の手段から得られる前記xを前記マスクmでマスク処理した値から、前記数式(2)で示される値yを演算する第2の手段を備えていることを特徴とする。
更に、第4の発明は、第3の発明に記載の暗号演算処理装置において、前記第2の手段は、前記数式(3)で示される共通マスクm0と前記マスクmとから得られ、前記数式(4)で示される一次元の参照テーブルTとを利用し、前記数式(2)の前記値yを前記数式(5)から求める手段であることを特徴とする。
上述した本発明によれば、数式(1)を参照すればわかるように、入力値が「0」であったとしても出力値が「0」になることはなくなり、入力値を「0」としたサイドチャネル攻撃に対して耐タンパー性を備えることができる。
更に、数式(1)の出力を得るために数式(3)から数式(4)を利用するこで、数式(1)の出力するときの分岐条件は無くなり、分岐処理で発生するサイドチャネルの特徴波形が発生するこがなく、更に、サイドチャネル攻撃に対する耐タンパー性を高められる。
なお、本発明において、前記暗号演算装置とは、暗号演算機能を備えたICカードのみならず、暗号演算プログラムがインストールされたパーソナルコンピュータや、あらゆる携帯可能電子機器、HSM(Hardware Security Module)などの暗号演算専用装置を意味している。
ここから、本発明の暗号演算処理装置をICカードとしたときの実施の形態について詳細に説明する。図1は、本発明が適用されたICカード1を説明する図で、ICカード1は共通鍵暗号演算として、端末装置から送信されるデータをAESで暗号化/復号化する暗号演算機能を備え、このAESの暗号演算機能に本発明が適用されている。
図2は、図1で示したICカード1に実装されるICチップ2の内部構成図である。図2に示したようにICカード1のICチップ2には、演算機能およびICチップ2が具備するデバイスを制御する機能を備えた中央演算装置20(CPU:Central Processing Unit)、読み出し専用の不揮発性メモリ23(ROM:Read Only Memory、)、電気的に書換え可能な不揮発性メモリとしてEEPROM22(EEPROM:Electrically Erasable Programmable Read-Only Memoryの略)、揮発性メモリとしてランダムアクセスメモリ21(RAM:Random Access Memory)、および、外部の端末装置とデータ通信するための通信I/F回路24とを少なくとも備なえている。
本発明は、ICカード1に実装されるICチップ2の仕様をなんら限定するものではなく、ICカード1の用途に適した仕様のICチップ2を選択することができる。例えば、ROM23およびEEPROM22の容量については限定しないし、書換え可能な不揮発性メモリはフラッシュメモリ等であっても構わない。またICチップ2は乱数を生成する乱数生成回路等の図示していない他のデバイスを備えていても構わない。
なお、図1においては、ICカード1を接触ICカードとして図示しているが、本発明は何らICカード1の通信方式に依存するものではなく、無線でデータ通信する非接触ICカード、または、接触データ通信と非接触データ通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。加えて、ICカード1は、ICチップ2の近辺を短冊状に切り取った形状をしているUIM(User Identity Module)、SIM(Subscriber Identity Module)であってもよい。
図1で示したICカード1には、図2で示したICチップ2のハードウェア資源を利用して、端末装置から送信されたデータを暗号化/復号化するために、AESの暗号演算を処理するコンピュータプログラムが実装され、このコンピュータプログラムに、本発明は適用される。
ここから、本発明に係る暗号演算処理方法について詳細に説明する。本発明に係る暗号演算処理方法は、AESの非線形変換で実行される逆元演算に適用されている。図3は、AESで暗号化するときに非線形変換を行うSubBytes変換と、復号化するときに非線形変換するInvSubBytes変換を説明する図である。
図3(a)は、AESで暗号化するときに非線形変換を行うSubBytes変換を説明する図で、AESのSubBytes変換においては、AESの初期化処理で得られる8ビットの値を入力とし、入力をガロア体GF(28)の元と見なして、GF(28)の逆元を演算した後、アファイン変換して出力を得る。
また、図3(b)は、AESで復号化するときに非線形変換を行うInvSubBytes変換を説明する図で、AESで復号化するときは、AESの初期化処理で得られる8ビットの値を入力とし、入力を逆アファイン変換した後、GF(28)の逆元を演算して出力を得る。
図3(a)および図3(b)を参照すればわかるように、AESにおいては、暗号化および復号化のいずれの場合においても逆元演算は実施され、この逆元演算に本発明を適用することで、暗号化および復号化のいずれの場合においても、ICカード1にサイドチャネル攻撃に対する耐タンパー性をもたせることができる。
ここで、本発明の特徴となる改良型の逆元演算について説明する。まず、改良型の逆元演算を説明する前に、ガロア体GF(28)で定義される四則演算について簡単に説明しておく。
上述しているように、SubBytes変換(または、Inv SubBytes変換)への入力(8ビットの値)はガロア体GF(28)の元とみなされ、入力の四則演算には、一般的に利用される四則演算ではなく、ガロア体GF(28)で定義された四則演算が用いられる。
AESで利用されているガロア体GF(28)における2つの値の加算は、値の二進数表現のXOR演算と定義されているため、今後ガロア体GF(28)における2つの値の加算を数式6のように記述する。同様に、ガロア体GF(28)における2つの値の乗算は、引数の二進数表現の各ビットを多項式の係数とし、多項式の積を別の特定の多項式で除算した時の剰余を「積」と定義されている。今後、ガロア体GF(28)における2つの値の乗算を数式7のように記述する。
Figure 0004968443
Figure 0004968443
また、AESやCamellia暗号で利用する場合に限り、ガロア体GF(28)における値xの逆元演算は、数式8で示す様に「0」を特別扱いしている。値xが「0」でないとき逆元はx-1で、値xが「0」のとき逆元は「0」である。
Figure 0004968443
ここから、本発明の特徴となる改良型の逆元演算を説明する。本発明に係る改良型の逆元演算への入力と出力はそれぞれ数式9に示すとおりである。なお、数式9において、値xは逆元演算への本来の入力値で、値mは乱数などで生成したマスク値である。
Figure 0004968443
数式4に示したように本発明に係る改良型の逆元演算では、入力xをマスクmで加算マスク処理した値とマスクmで、xの逆元とmの逆元を加算した値が出力される。よって、本発明における改良型の逆元演算では、入力xが例え「0」であったとしても出力が「0」になることはなくなり、入力xを「0」とするサイドチャネル攻撃に対して耐タンパー性を備える。
数式9で示した出力は、入力xの逆元とマスクmの逆元を加算することにより求められることは明らかであるが、数式9で示した出力は、条件付き(x=0のとき、本来の出力ではなくm-1になる)の加算であるため、数式9を直接的にプログラムで表現すると分岐処理が発生するため、サイドチャネル攻撃に対する耐タンパー性が弱くなってしまうことがある。
そこで、本発明では数式9の出力を、分岐処理を利用しない方法で得る事でサイドチャネル攻撃に対する耐タンパー性を高めている。ここから、分岐処理を使わずに数式9の出力を得る手段の内容について簡単に述べる。
数式9の出力は数式10に置き換えることができる。数式10の右辺の分母は条件付き乗算で、その条件とは、入力x=0のときのみ、本来の乗算値ではなくマスクmの二乗になる条件である。今後、通常のガロア体GF(28)の乗算を示す記号にオーバースコアを付加し、通常のガロア体GF(28)の乗算と区別して、この条件付き乗算を表記している。
Figure 0004968443
数式10における条件付き乗算は数式11に置き換えることができる。なお、数式11の右辺は条件付き加算で、その条件は、pがmの二乗である場合のみ、本来の加算値ではなくmの二乗になる条件である。今後、条件付き加算と通常の加算を区別するために、数式内において条件付き加算を示す記号として、加算を示す記号にオーバースコアを付加した記号を用いている。
Figure 0004968443
更に、数式11は、数式13および数式14で定義される一次元の参照テーブルTを利用することで、数式12に置き換えることができる。
Figure 0004968443
Figure 0004968443
Figure 0004968443
そして、数式10と数式12とから、数式9の出力を得るための演算から分岐処理を無くした数式として、数式15を得ることができる。数式15を参照すればわかるように、数式15の右辺分母は、上述した参照テーブルTのある一つの要素との加算になるため、分岐処理は無くなり、サイドチャネル攻撃に対する耐タンパー性が高められる。
Figure 0004968443
数式13および数式14で定義される一次元の参照テーブルTは、マスクmを生成するごとに、数式16で示される初期テーブルTiniから生成されることが望ましい。初期テーブルTiniから参照テーブルTを生成することで、マスクmを変更したときに速やかに参照テーブルを生成できる。なお、初期テーブルTiniは、最初に暗号演算処理を行うとき(例えば、ICカードが活性化されたとき)に生成されるか、または、予めICカード1のメモリに記憶されている。
Figure 0004968443
図4は上述した初期テーブルTiniを生成する手順を示したフロー図で、図5は、マスクmを用いて、初期テーブルTiniから参照テーブルTを生成する手順を示したフロー図である。
まず、最初に図4を参照しながら初期テーブルTiniを生成する手順について説明する。この手順の最初のステップS1は、初期テーブルTiniを生成するときに必要となる共通マスクm0≠0を乱数などを用いて生成するステップである。
次のステップS2は、ステップSで生成した共通マスクm0のGF(28)上の二乗を算出するステップである。そして、次のステップS3では、数式16に従い、初期テーブルTiniの各要素T[i](i=0〜255)を演算し記憶するステップである。このステップをもって、初期テーブルTiniを生成する手順は終了する。
次に、図5を参照しながら、初期テーブルTiniを利用して参照テーブルTを生成する手順について説明する。この手順の最初のステップS10は、図4の手順で生成した初期テーブルTiniの要素の中で、初期テーブルTini[m2]の要素の値のみを変更し、数式14で定義される参照テーブルTを生成するステップである。このステップをもって、初期テーブルTiniを利用して参照テーブルTを生成する手順は終了する。
ここから、数式15を用いて改良型の逆元演算を行う一連の手順について説明する。図6は、本発明に係る改良型の逆元演算の一連の手順を示したフロー図である。この手順の最初のステップS20は、数式16で示した初期テーブルTiniを生成するステップである。初期テーブルTiniを最初から生成するときは、図4で示されたフローが実行され、ICカード1のRAM21に初期テーブルTiniが生成される。
また、ICカード1のROM23またはEEPROM22に共通マスクm0と初期テーブルTiniが記憶されているときは、このステップでは記憶された共通マスクm0と初期テーブルTiniの内容がRAM21にコピーされる。
次のステップS21は、改良型の逆元演算の入力に加算マスク処理されるマスクmが生成されるステップである。次のステップS22は、ステップS21で生成されたマスクm用の参照テーブルTを生成するステップである。このステップでは、ステップS20でRAM21に生成された初期テーブルTiniからマスクm用の参照テーブルTが、上述した手順で生成される。

次のステップS23は、マスクm用の参照テーブルTを利用して改良型の逆元演算が実行されるステップである。このステップでは、数式9の出力が数式15によって演算される。
次のステップS24は処理が分岐するステップで、ステップS22で変換した参照テーブルTを利用して逆元演算するときはステップS23に戻り、マスクmを再生成するときはステップS25に進み、処理を終了(例えば、ICカード1の非活性化)するときはこの手順を終了する。
マスクmを再生成するときに実行されるステップS25は、RAM21に記憶された参照テーブルTを初期テーブルTiniに戻すステップである。このステップでは、数式17が実行され、参照テーブルTを初期テーブルTiniに戻すことができる。
Figure 0004968443
これまでは、AESを例に取りながら説明したが、上述しているように本発明は非線形変換で実行される逆元演算に特徴を持たせているため、本発明は、AESのみならず、ガロア体GF(28)の逆元演算を行うCamelliaなどの暗号演算にも適用することが可能である。
本発明が適用されたICカードを説明する図。 ICカードに実装されるICチップの内部構成図。 SubBytes変換とInvSubBytes変換を説明する図。 初期テーブルTiniを生成する手順を示したフロー図。 初期テーブルTiniから参照テーブルTを生成する手順を示したフロー図。 改良型の逆元演算の一連の手順を示したフロー図。
符号の説明
1 ICカード
2 ICチップ

Claims (4)

  1. 暗号演算の処理中に逆元演算を行う暗号演算処理方法において、前記暗号演算処理方法は、暗号演算の処理中に逆元演算を行う暗号演算処理装置が、値xを逆元演算する代わりに、
    第1の手段により、数式(1)に基づき、前記値xをマスクmでマスク処理するステップa)、
    第2の手段により、ステップa)でマスク処理した値xから数式(2)で示される値yを演算するステップb)、
    を実行することを特徴とする暗号演算処理方法。
    数式(1):
    Figure 0004968443
    数式(2):
    Figure 0004968443
  2. 請求項1に記載の暗号演算処理方法であって、前記ステップb)は、前記暗号演算処理装置の前記第2の手段が、数式(3)で示される共通マスクm0と前記マスクmとから得られ、数式(4)で示される一次元の参照テーブルTを利用し、前記数式(2)で演算される前記値yを数式(5)から求めるステップであることを特徴とする暗号演算処理方法。
    数式(3):
    Figure 0004968443
    数式(4):
    Figure 0004968443
    数式(5):
    Figure 0004968443
  3. 暗号演算の処理中に逆元演算を行う暗号演算処理装置であって、前記暗号演算処理装置は、
    逆元演算される値xをマスクmによって、前記数式(1)で示されるマスク処理する第1の手段と、第1の手段から得られる前記xを前記マスクmでマスク処理した値から、前記数式(2)で示される値yを演算する第2の手段を備えていることを特徴とする暗号演算処理装置。
  4. 請求項3に記載の暗号演算処理装置において、前記第2の手段は、
    前記数式(3)で示される共通マスクm0と前記マスクmとから得られ、前記数式(4)で示される一次元の参照テーブルTとを利用し、前記数式(2)の前記値yを前記数式(5)から求める手段であることを特徴とする暗号演算処理装置。

JP2006261251A 2006-01-31 2006-09-26 暗号演算処理方法および暗号演算処理装置 Expired - Fee Related JP4968443B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006261251A JP4968443B2 (ja) 2006-01-31 2006-09-26 暗号演算処理方法および暗号演算処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006022620 2006-01-31
JP2006022620 2006-01-31
JP2006261251A JP4968443B2 (ja) 2006-01-31 2006-09-26 暗号演算処理方法および暗号演算処理装置

Publications (2)

Publication Number Publication Date
JP2007235913A JP2007235913A (ja) 2007-09-13
JP4968443B2 true JP4968443B2 (ja) 2012-07-04

Family

ID=38555986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006261251A Expired - Fee Related JP4968443B2 (ja) 2006-01-31 2006-09-26 暗号演算処理方法および暗号演算処理装置

Country Status (1)

Country Link
JP (1) JP4968443B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5242560B2 (ja) * 2007-05-30 2013-07-24 パナソニック株式会社 暗号化装置、復号化装置、暗号化方法及び集積回路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1595357A4 (en) * 2003-02-06 2006-03-01 Discretix Technologies Ltd DEVICE AND METHOD FOR HANDLING MASKED DATA

Also Published As

Publication number Publication date
JP2007235913A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
Medwed et al. Template attacks on ECDSA
US9515820B2 (en) Protection against side channels
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
CN101006677B (zh) 用于实施加密运算的方法和装置
US8971526B2 (en) Method of counter-measuring against side-channel attacks
JP4668985B2 (ja) ホモグラフィックマスキングにより暗号アセンブリを保護する方法
US10243728B2 (en) Verification of the resistance of an electronic circuit to side-channel attacks
US10210776B2 (en) DPA protection of a rijndael algorithm
RU2579990C2 (ru) Защита от пассивного сниффинга
US10187198B2 (en) Protection of a rijndael algorithm
EP3376705A1 (en) Elliptic curve point multiplication device and method in a white-box context
KR20180110550A (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
KR100574965B1 (ko) 유한체 곱셈기
KR101601684B1 (ko) 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
Mouha et al. Review of the advanced encryption standard
EP3089398A1 (en) Securing a cryptographic device
EP3188000A1 (en) System and method for hiding a cryptographic secret using expansion
JP4968443B2 (ja) 暗号演算処理方法および暗号演算処理装置
JP2006025366A (ja) 暗号化装置及び半導体集積回路
KR102067065B1 (ko) 전력 분석 및 전자파 분석에 안전한 메시지 랜덤화 기반의 행렬-벡터 곱 연산 장치, 이를 이용한 암호화 장치 및 방법
JP2007067942A (ja) Icカード、および、icカード用プログラム
Liu et al. Improving tag generation for memory data authentication in embedded processor systems
KR20170108595A (ko) 논리적 보수 관계값을 이용한 부채널 분석 방지 암호화 장치 및 방법
JP2007325219A (ja) 暗号処理システムおよび暗号処理装置
EP2293488B1 (en) Method for cryptographic processing of data units

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120215

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: 20120307

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: 20120320

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4968443

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees