JP5987250B2 - カスタマイズされたマスキングによって保護される低複雑度の電子回路 - Google Patents

カスタマイズされたマスキングによって保護される低複雑度の電子回路 Download PDF

Info

Publication number
JP5987250B2
JP5987250B2 JP2012538299A JP2012538299A JP5987250B2 JP 5987250 B2 JP5987250 B2 JP 5987250B2 JP 2012538299 A JP2012538299 A JP 2012538299A JP 2012538299 A JP2012538299 A JP 2012538299A JP 5987250 B2 JP5987250 B2 JP 5987250B2
Authority
JP
Japan
Prior art keywords
mask
circuit
linear processing
primary
masking
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.)
Active
Application number
JP2012538299A
Other languages
English (en)
Other versions
JP2013511057A (ja
Inventor
ギレイ、シルヴァン
ダンジェ、ジャン−リュック
Original Assignee
アンスティテュ ミーヌ−テレコム
アンスティテュ ミーヌ−テレコム
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 アンスティテュ ミーヌ−テレコム, アンスティテュ ミーヌ−テレコム filed Critical アンスティテュ ミーヌ−テレコム
Publication of JP2013511057A publication Critical patent/JP2013511057A/ja
Application granted granted Critical
Publication of JP5987250B2 publication Critical patent/JP5987250B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Description

本発明はマスキングによって保護され、そして観測による攻撃の範囲を減らし保護の実装費用を低減するために、回路に固有のカスタマイズを利用した電子回路に関する。本発明はとりわけ、その暗号化回路が一つの例である、機密データを取り扱う回路を保護する分野に適用される。
電子回路の働きは電力消費量、計算時間、又は電磁放射のような物理量を通じて、それらの動作中に観測され得る。
これらの物理量は、計算の構成および、回路内で取り扱われるデータの双方に依存する。処理されたデータに関する情報は、従って隠れたチャンネル又は補助チャンネルと呼ばれる前記量の観測により回路の外部に対して間接的に利用できる。
これらの物理量の消散は、特に暗号法によって保護された機密データを処理するシステムの安全性を危険にさらし得る。従って、機密データが対称暗号アルゴリズムを用いることによって保護される場合、保護のロバスト性は暗号鍵を秘密に保つ能力にある。物理量の消散は、第三者が適切な攻撃を実行することにより、前記鍵を得ること、およびその結果として機密データへのアクセスを可能にし得る。前記回路により消散された物理量の観測による攻撃は、通常単に観測による攻撃と形容される。これ以降、記述の中で、第三者向けではないデータにアクセスするために、観測法による攻撃を用いる第三者は攻撃者と呼ばれ、消散した物理量は漏れ又は隠れたチャンネルと呼ばれる。
今日、保護された回路により処理されたデータにアクセスできるようにする、強力な観測攻撃が存在する。
従って、P.C.Kocher, J.Jaffe and B.Jun entitled “Timing Attack on Implementations of Diffie−Hellman”(表題:Diffie−Hellmanの実装に対するタイミング攻撃), RSA, DSS and Other Systems, Proceedings(会議記録)of CRYPTO’96, volume 1109 LNCS, pages 104−113, Springer−Verlag, 1996の論文において記述されているように、回路のデータ処理時間を表わす漏れの観測による攻撃が存在する。
回路の電力消費量の観測による攻撃もまた、例えば、DPAタイプの方法を使用することにより、攻撃者によって用いられることができ、これらのタイプの攻撃はP.C.Kocher, J.Jaffe and B.Jun entitled “Differential Power Analysis”(表題:微分電力解析), Proceedings(会議記録)of CRYPTO’99, volume 1666 LNCS, pages 388−397, Springer−Verlag, 1999の論文において記述されている。
これらの方法は、暗号法による数学的水準において与えられた安全性を脅かすことを可能にする。
処理時間の、時間に関係するアルゴリズムのバランスをとることは、比較的簡単である。電力消費の波形の瞬間的な観測に対して回路を保護することは、より困難である。
隠れたチャンネルに関する攻撃に対して電子回路を保護するために、様々な対策方法がある。それらの特性はとりわけ、例えばその頭字語FIPSが“Federal Information Processing Standardization(連邦情報処理規格)”を表わす、アメリカのFIPS規格140(American FIPS standard 140)のような、国際的な水準において定義される共通の基準によって、又は規格によって規定されている。
幾つかの対策は、攻撃が成功するために必要な測定値の数を単に増加させる。そのようなものは、例えば計算論理と並行して実行される、機能的でないノイズ発生器を用いた対策方法に関する場合である。例えば、ランダムに初期化された疑似乱数発生器PRNGは、この目的に役立つことができる。この場合、攻撃者によって集められたあらゆる測定値は、隠れたチャンネルに重ねられるノイズにより妨害される。攻撃は、対策の技術に関して期待される信号対雑音比(S/N比)が有効であるように増幅するために、より多くの測定を実際に行なう必要があるという理由で、より複雑になる。
別の対策技術は、隠れたチャンネルをマスキングすることにより、観測による攻撃に対して保護し、保護されるべき処理の間、通常はマスクと呼ばれる確率変数又は疑似確率変数mを含む。前記変数は、計算結果が前記マスクに依存せず、それに頼る隠れたチャンネルを通じた情報の漏れに依存するような方法で用いられる。
従って、マスキングに基づく対策技術は、マスクの変数mを有する暗号化回路内を流れる極秘データを交互配置することにより実行され、この交互配置は、隠れたチャンネルが攻撃者によって解析されるのを防ぐために用いられる。極秘データ又は変数xは、共に完全に予測可能な複数の変数に対応し、秘密事項と共に非ゼロの相互情報を共有する。この技術は、極秘データxの表現を、これ以降の記述の中で頭字語XORによっても示される、排他的ORタイプの演算を示す演算
を用いて鍵mを適用することにより、xのVernam暗号化に対応する量
の方に修正することに帰する。
マスクは各回路に固有の識別特長によって条件付けられ、その場合、鍵の漏洩は前記マスクにより暗号化される。この固有の特徴は、回路の複製が漏洩をモデル化するために使用され得る、いわゆる「タイプ分け」(“cataloguing”)攻撃を回避する。
ランダム・マスキングを含む通常の対策技術は、例えば、DPAタイプの攻撃又は、“Correlation Power Analysis”(「相関電力解析」)を表わすCPAタイプの攻撃のような、一次の攻撃レジスターの予測に対する直接的攻撃に耐える。それらは、例えば回路内のデータ処理経路を倍増することにより実行される。
この倍増は、マスキングされない実装と比較して、回路の複雑さの大幅な増加を示唆する。
さらに、これらの対策は2以上の次数の攻撃に耐えにくい。一例として、二次攻撃は漏洩の分散量が感応変数xに依存するという事実を利用する。分散量の推定は、
もまた使われるときに、2つの場合における情報の漏洩を組み合わせるか、又はマスクとマスキングされたデータが同時に使われるとき、ペア
の組み合わされた分布を推定することにより行なわれる。分散量の推定に基づく二次の攻撃は、“zero−offset”(「ゼロ・オフセット」)攻撃と呼ばれ、それはE.Peeters, F.Standaert, N.Donckers and J−J.Quisquarter entitled Improved Higher Order Side−Channel Attacks with FPGA ecperiments,(表題:FPGA実験を伴う改善された高次側チャンネル攻撃)Josyula R.Rao and Berk Sunar editors, Cryptographic Hardware and Embedded Systems(暗号ハードウェアおよび組み込まれたシステム)−Proceedings(会議記録)of CHES, volume 3659 LNCS, pages 309−323, Springer−Verlag, 2005の論文において記載されている。
本発明の一つの目的は、特に上述の欠点を緩和することである。
このために、本発明の主題はマスキングにより保護された暗号化回路であり、前記回路は少なくとも1つの鍵k を用いた2進ワードを暗号化する手段、前記ワードに線形処理および非線形処理を適用する手段、前記ワードをマスキングする手段を含む。2進ワードは、マスクk を用いることによって非線形処理の上流で脱マスキングされ、そしてマスクkr+1 を用いることによって前記処理の下流でマスキングされ、マスクk およびkr+1 は回路の各実例に固有の、一組のマスクの部分を形成する。
本発明の1つの態様によれば、非線形処理、非線形処理の上流における脱マスキング、および線形処理の下流におけるマスキングは、ROMタイプのメモリ内に実装される。
マスクk は例えば、kr+1 =P(k )およびk =kであるような、主要マスクkから推定される二次マスクであり、関数P(x)はxの要素を置換するための関数に相当し、ROMメモリは不変のままである。
1つの実施形態において、関数P(x)は環状置換であり、添え字r+1の二次マスクは、選ばれたビット数dのマスクk を環状に置換することにより、添え字rの二次マスクから推測される。
別の実施形態において、主要マスクkは長さWであって、長さSの整数の部分マスクからなり、二次マスクk は前記部分マスクの置換により生成される。
二次マスクの部分マスクは、例えば次の式:
を用いて選ばれ、
ここで、
rはラウンド数、
iはランダムに引き出された4ビットの数、
Qは2つの連続する二次マスクk とkr+1 の間の置換割合を制御するための整数、
Sはビットで表わされる部分マスクの長さ、
Wはビットで表わされる主要マスクの長さ、
mod()は、mod(a,b)=a modulo bのような定義された関数であり、aおよびbは整数である。
本発明の1つの態様によれば、主要な暗号化マスクkは、回路内に記憶された一組の主要マスクから、マスクkをランダムに選ぶことにより規則的に変更される。
本発明の別の態様によれば、回路内に記憶された主要マスクのグループは、回路ごとに異なる。
主要マスクのグループは、構成要素に固有のマスクを生成する回路を用いて得られる。
1つの実施形態において、2つのマスクk とkr+1 の間のハミング(Hamming)距離は、実質的にS/2に等しい。
マスクkのハミング重量は、例えば実質的にW/2に等しい。
本発明の1つの態様によれば、非線形処理はSボックスを用いて実行される。
非線形処理は、例えばレジスター内における結果のサンプリングの直前に、同一の組み合わせブロックにおいて線形処理の後に適用される。
回路は、例えばFPGA内に実装される。
主要マスクのグループは、例えばFPGA回路構成ファイルの変更を用いて得られる。
回路は、例えば非線形処理に対応する回路の部分を実装する、主要マスクとテーブルのグループを更新できるようにする、動的再構成手段を含む。
1つの実施形態において、回路はASIC内に実装される。
本発明は、特に非線形処理を取り扱う回路の部分に関して、マスキングによる保護の実行を通じ、回路の複雑さを大きくは増加させないという利点をとりわけ有する。本発明はまた、縮小された大きさの所定のマスクのグループを使うことを可能にする利点を有し、前記グループは、同じ生成の列から得られる複数の回路の間で、保護を固有にするように、回路ごとに異なることができる。
本発明のその他の特徴および利点は、制限されない例示として与えられる以下の記述から、および添付図を踏まえて明らかになるであろう。
マスキングにより保護されているFeistel関数の例を示す。 非線形部分がマスキングされていない、マスキングにより保護された暗号化回路の一例を示す。 本発明に従って、マスキングにより保護されたAESアルゴリズムの一つの実施を例示する。 マスキングにより保護された暗号化回路の一例を示す。
図1は、マスキングにより保護されているFeistel関数の例を示す。
当業者に知られているマスキングの原理は、感応変数xの表現を冗長表現へと変更することにある。この表現は少なくとも2つの部分を含み、1つの部分は
で示されるマスキングされた極秘データに対応し、もう1つの部分はマスクmに対応する。それらが定義されるバイナリ・ガロア(Galois)域における、これら2つの部分の合計は、次の特性を用いることによって変数xを検索できるようにする。
一例として、DES又はAESのようなブロック暗号化アルゴリズムにおいて、データのブロックを暗号化するための演算結果は、複数ラウンド(rounds)の反復から導かれる。1つの「ラウンド」(“round”)は、1つが線形でもう1つが非線形であり、置換による変換とも呼ばれる、少なくとも2タイプの変換が実行されている計算サイクルである。
線形変換の目的は、以下に示す所定の規則により、その入力において与えられる記号又は記号のグループを混合すること、およびそうして拡散を作り出すことである。
置換による変換は通常、Sボックスと呼ばれる置換テーブルを用いて行なわれ、暗号構造の線形性を壊すのを助ける。このタイプの変換を用いることにより、記号又は記号のグループは混乱を作り出すために、別の記号又は記号のグループによって置き換えられる。
従って、
部分のペアは
のペアへと変換され、関数round()はラウンドの関数演算を示し、一方でm’は新たなラウンドのマスクである。
各ラウンドの線形部分は単純に2倍にされる。前記部分の関数L()の線形性は、
を意味する。
この線形性は、それゆえ変換後の新たなマスクとして、マスクm=L(m)を用いることを可能にする。
他方で、非線形部分すなわちSボックスにおけるマスキングの実行は、実装費用に関して大幅な増大を引き起こす。この変換を考慮に入れ、そしてS(x)を
から検索できるようにするマスクmNLは、
となるように決定されなければならない。
このために、mNLは関数S’()を用いて、
となるように表わされ得る。
関数S’()は従って関数S()の2倍と多い入力を有する。それゆえ、非線形関数S()に対するマスキングの実行は、Sの複雑さの二乗を加えることに帰する。
暗号化回路におけるマスキングの実行を例示するため、図1はマスキングによって保護されたFeistel関数の例を示す。このタイプの関数はとりわけ“Data Encryption Block”(「データ暗号化ブロック」)を表わす、DESタイプのブロック暗号化用に使われる。
極秘データxのマスキングの実行は、前に説明したように2つの部分100、101を必要とする。
第一の部分100は
の部分に対して行なわれる処理に対応し、第二の部分101はmの部分に対して行なわれる処理に対応する。
極秘データの暗号化は、その後にS()関数であるSボックスと、線形関数L()の適用とが続く、暗号化されるべきブロックへの鍵kの適用により行なわれる。
回路の2つの経路100、101によって処理される複数のデジタル信号は、各経路に対してレジスター102、103を使用することにより同期化される。
第一の経路100は、マスキングされた極秘データxを含む部分、すなわち
を処理する。暗号鍵kはXORゲート106を用いることにより適用される。その結果生じる信号は、
に対応する。Sボックス107は次に、線形関数L108がそれに適用される信号
を得ることを可能にする。
第二の経路101は、マスクmに対応する部分を処理する。前に説明したように、マスキングされた信号に対する非線形関数S()107の適用は、通常それが第二の部分の処理において考慮されることを意味する。従って、式(4)により定義される関数S’()は、2つのSボックスおよび2つのXORゲート109、112を用いて実行される113。その関数は入力として、第一の経路100において、一方でマスクm105および、他方で暗号鍵kの適用の結果生じる信号
をとる。適用S’()から生じる信号116は、第1の経路100の線形関数108を考慮に入れるように、それに線形関数L()114を適用している。関数S’()は、それが観測による攻撃に対して守られるように、ROMタイプのメモリ内に実装され得る。実際に、例えばそのようなメモリにおける電力消費量の変動を観測することは、とりわけ困難である。
そのような実装がマスキングによって保護され、関数S’()につながれた活動の観測は、観測することが困難であるにしても、セキュリティ・ループホールは特に二次の攻撃に対して、それを脆弱にする。例えば、攻撃者は2つの注目すべき回路分岐点において、電力消費量を観測するための2つのゾンデを、例えば各経路の2つの入力レジスターの出力118、119に置くことが可能である。分散量の推定に基づく、すなわち“zero−offset”(「ゼロ・オフセット」)タイプの攻撃は、この場合に非常に有効である。
図2は本発明がそれに基づくマスキングによって保護される、暗号化回路の一例を示す。前述のような二次の攻撃を、有利なことに不可能にする如何なるマスキング経路も、もはや存在しないことに注意されたい。
前に説明したように、暗号化回路のマスキングされない部分がメモリ内に含まれるとき、前記メモリの内部の変数を攻撃することは困難である。言い換えれば、メモリは情報の漏洩に対して保護された、ブラックボックスとして考えられる。入力又は出力だけが攻撃を受けやすい。記述されている回路の目的の1つは、適度の複雑さのカスタマイズされたマスキング方法を用いて、メモリ内における実装を利用することである。
さらに、メモリの使用が適切でないとき、計算素子は、非線形部分を出来る限りレジスターの出力から遠くに置くようなやり方で命令され得る。一例として、相関攻撃はそれが回路の組み合わせ論理内において深く行なわれるとき、その分だけ、逆に効果が少ない。
図2の例は、“Substitution Permutation Network”(「置換順列ネットワーク」)を表わすSPNのネットワークの使用に基づく回路における、本発明の一実施例を示す。このタイプのネットワークは、Shannon S−Pネットワークとも呼ばれる。この例において、2つのラウンドにおける暗号化が考えられる。k およびk で示される添え字rの2進ワードは、それぞれマスキング鍵および暗号鍵として用いられる。
一例として示されている回路は複数の段、すなわち第一ラウンドに相当する段である入力段、第二ラウンドに相当する段、および出力段に分解され得る。暗号化されるべきデータは入力として、例えば4×8ビットの部分語へと細分された32ビットワードの形で、入力段に与えられる。入力のマスキングは、32ビット長を有する鍵k を用いることにより適用され、前記鍵は4×8ビットの部分マスクk [0]、k [1]、k [2]、k [3]へと細分され、前記部分マスクは4つのXORゲート200、201、202、203を用いることにより、4×8ビットの部分語に適用される。
第一ラウンドの入力において、レジスター204は入力として、鍵k によるマスキングから生じる4×8ビットの部分語をとる。このレジスターは様々なバイナリフローの同期化を可能にし、1つのフローは1つの入力における8ビットの部分語に対応する。k [0]、k [1]、k [2]、k [3]と称される4×8ビットの部分鍵へと細分された第一の暗号鍵k は、前記レジスター204の出力として与えられる、マスキングされた部分語に対して、4つのXORゲート206、206、207、208の所で適用される。鍵k は第一の暗号化ラウンドと関連する。k によりマスキングされ、k により暗号化されたデータの4つの部分語は、次に例えばROMタイプのメモリ内に実装される、4つの処理ブロック209、210、211、212によってそれぞれ処理される。ROMメモリ内における関数、とりわけ非線形関数の実装の複雑さは、入力の数と共に指数関数的に増加することに注意されたい。暗号アルゴリズムはこの制約を包含し、実装の複雑さを最小限にするため、暗号化されるべきワードを、非線形関数のレベルにおいて、より小さいサイズの部分語として処理する。
各処理ブロックの入力において、8ビットの部分語はXORゲート214を用いて4×8ビットの部分マスクk [0]、k [1]、k [2]、k [3]を適用することにより、脱マスキングされる。次に非線形関数が適用され、Sボックス213はそれを実行するために使われることができる。
各処理ブロックの出力の上流では、極秘データが4つの部分マスクk [0]、k [1]、k [2]、k [3]へと細分されたマスクk により、第一ラウンド段の出力においてマスキングされるように、出力においてデータをマスキングするためにXORゲート215が用いられる。線形変換L()が、そのラウンドの出力において適用され、これは処理ブロック内のマスキングに対して考慮される必要がある。このために、マスクk の変更されたマスクL −1(k )を用いることにより、マスキングが行なわれる。これは4×8ビットの変更された部分マスクL −1(k [0])、L −1(k [1])、L −1(k [2])、L −1(k [3])へと細分され、変換L −1()は線形変換L()216の逆数に対応する。
処理ブロック209、210、211、212の出力において、変換L()は前記ブロックからの出力として与えられる2進ワードに適用される。第一の暗号化ラウンドの結果は、線形変換216の出力における2進部分語に対応し、前記部分語はマスクk によりマスキングされた極秘データに対応し、それゆえ観測による攻撃に対して保護される。
第二ラウンドの入力は、第一ラウンドの出力であり、第一ラウンドの線形変換216から生じる4×8ビットの部分語に対応する。これら4つの部分語は、様々なバイナリフローの同期化を可能にするレジスター217に対する入力として与えられる。
[0]、k [1]、k [2]、k [3]と称される4×8ビットの部分鍵へと細分された、第二ラウンドに固有の第二暗号鍵k は、レジスター217からの出力として与えられる、マスキングされた部分語に対して、4つのXORゲート218、219、220、221の所で適用される。
によりマスキングされ、k により暗号化されたデータの4つの部分語は、次に例えばROMタイプのメモリ内に実装される、4つの処理ブロック222、223、224、225によってそれぞれ処理される。各ブロックの入力において、データはXORゲートを用いて鍵k を適用することにより脱マスキングされる。
次に非線形関数が適用され、それを実行するため各ブロックにおいてSボックスが使用され得る。各処理ブロックの出力において、極秘データがマスクk により第二ラウンド段の出力の所でマスキングされるように、XORゲートが出力においてデータをマスキングするために使われる。このために、マスキングは変更されたマスクL −1(k )を用いて行なわれ、変換L −1()は線形変換L()226の逆数に対応する。
変換L()は、処理ブロック209、210、211、212からの出力として与えられる、2進部分語に対して適用される。第二の暗号化ラウンドの結果は、線形変換226の出力における2進部分語に対応し、前記部分語はマスキングされた極秘データに対応し、それゆえ観測による攻撃に対して保護される。
このタイプの実装の利点は、ラウンド1に対するk による暗号化とk によるマスキング、およびラウンド2に対するk による暗号化とk によるマスキングを逆にできることである。
実装の複雑さを軽減し、常に同じROMメモリを使用するために、主要マスクの置換により1つの段から別の段へと使用される、実装マスクを推測することが提案される。例えば、kが主要マスクである場合、二次マスクk 、k 、およびk が次のように主要マスクから推測され得る。
=k
=P(k
=P(k
関数P(bin)は置換関数、例えば2進ワードbinの環状置換を表わす。さらに、主要マスクkは主要マスクの所定のグループからランダムに引き出され得る。主要マスクに基づくマスク置換の一例は、図3を用いて明細書の中で与えられている。
主要マスクのグループの小さいサイズは、有利なことに構成要素に固有の、すなわち回路の各実例に固有のカスタマイズされたマスクの使用を可能にする。この識別特徴の適用は、漏洩が従って回路に対して固有なものとなり、もはや回路のタイプに対してではないため、「タイプ分け」(“cataloguing”)型の攻撃範囲を減らすことを可能にする。もはや固有のマスク経路が存在しないため、例えば“zero−offset”(「ゼロ・オフセット」)タイプの攻撃のような、“high−order differential power analysis”「(高次微分電力解析)」の表現から由来する頭字語である、高次の攻撃HO−DPAに戻される。それゆえ、(マスキングされた変数、マスク)のペアをもはや考慮することは出来ない。
図3はマスキングにより保護されたAESアルゴリズムの実装を例示する。
AESが“Advanced Encryption Standard”(「先進の暗号化標準」)を表わすAESブロック暗号化アルゴリズムは、とりわけバイナリ・メッセージを秘密に保つ点において強力である。保護されるべきメッセージは固定されたサイズの2進ワードにより処理され、前記ワードは128、192、又は256ビットになり得る。暗号鍵の長さはWであり、Wは処理されるワードの長さに等しい。そのアルゴリズムは3つの処理局面を含み、各局面は1つ以上のラウンドからなる。第一の局面R1は初期化ラウンドに相当し、第二の局面R2は同じ構造を繰り返し使用するNラウンドに相当し、第三の局面R3は最終ラウンドに相当する。AESアルゴリズムに固有のこれら3つの局面の原理は、当業者に知られている。
本回路は例えばFPGA又はASIC回路である。
本発明に従うマスキングによる保護は、隠れたチャンネルの観測による攻撃に対して3つの局面R1,R2、およびR3を実行する、AES暗号化回路を保護するために導入され得る。
乱数発生器300は、nがマスキングのエントロピーを表わす、例えばnビットの2進ワードiを生成するために用いられる。明細書内にこれ以降記載される例において、nは4ビットに対して表わされる。
カウンターCTR301は、現在のラウンド数に対応する変数rを増加させる。
保護された回路は、暗号化されるべきワードの長さに等しい、又はこの例においては128ビットである長さの一定のマスクのグループを特に記憶できるようにする、メモリ領域303を含む。
ランダムに生成される数i300は、主要マスクkを記憶されたマスクのグループ303から選択できるようにする。その結果、n=4、16に対して、異なる主要マスクkがランダムに選択され得る。
さらに、構成要素内に記憶された主要マスクは、差別化された保護を得るため、および「タイプ分けによる攻撃」を避けるため、1つの製品の構成要素は別の製品の構成要素に対して異なり得る。
長さWの主要マスクkは、長さSの整数の部分マスクで構成され、WはSの倍数である。例えば、長さW=128ビットのマスクkは、例えばS=8ビットの16個の部分マスクを含み、前記部分マスクはk [0]、k [1]、...、k [15]と称される。
例えば、主要マスクを構成する部分マスクを置換するために、二次マスクが主要マスクから生成され得る。従って、単一の主要マスクから、異なる二次マスクが各ラウンドに対して使用され得る。
攻撃に対するロバスト性を増すために、1つの構成要素と別の構成要素とに対して異なる主要マスクkのグループが存在し、それは前記構成要素間で差別化されたマスキング保護を実行するためである。変数iはランダムであり、各暗号化の前に生成され得る。
一旦主要マスクkが選ばれると、添え字r+1の二次マスクは、置換Pを用いて選ばれたビット数dのマスクk を環状に置換することにより、添え字rの二次マスクから推測され、添え字0のマスクはk =kであるように初期化される。
dは例えばd=Sビット、すなわち部分マスクに対応する長さであるように選ばれ得る。
整数の部分マスクにより置換された、添え字rのマスクを持つこともまた可能である。従って、マスクkr+1 が次の式:
を用いて生成されることができ、
ここで、
rはラウンド数、
iは発生器300によりランダムに引き出された4ビットの数、
Qは2つの連続する二次マスクk とkr+1 との間の、置換割合を確認できるようにする整数、
Sはビットで表わされる部分マークの長さ、
Wはビットで表わされるマスクkの長さ、
mod()は、mod(a,b)=a modulo bであるように定義された関数で、aおよびbは整数である。
主要マスクは、例えば新たなiの値をランダムに引くことにより、暗号化手順の間に変更され得る。
有利なことに、例えばk とkr+1 との間のハミング(Hamming)距離が、実質的にS/2に等しいと保証することにより、二次マスク同士が相互に無関係であるように、主要マスクkを選択することによって、観察による攻撃に対する抵抗力は最適化され得る。
マスクの平均した釣り合いもまた保護の強化を可能にし、前記釣り合いは、二次マスクの、および従って主要マスクのハミング(Hamming)重量が、実質的にW/2に等しいと保証することによって得られる。
図の例において、暗号化されるべきワードは128ビットのワードであり、そしてレジスターのベース302における暗号化装置への入力として表わされている。処理されるべきワードは、次にXORゲート304を用いて、置換されない鍵k =kの適用によりマスキングされる。マスキングの結果は、次に第二のXORゲート305を用いて、k と称される長さWの暗号鍵の適用により暗号化される。
によりマスキングされ、k により暗号化されたワードは、レジスター306内に記憶され、前記レジスターは第二の処理局面R2を行なう回路の部分の入力に対応し、前記局面は反復の暗号化ループに対応し、1回の反復は1つの処理ラウンドに対応する。レジスター306内に記憶されたワードは、128ビットを16×8ビットの部分語に細分する、制御モジュール307により処理される。制御モジュールの別の機能は、ラウンドの開始時にデータを脱マスキングするために用いられるマスクkを選択することであり、1つのラウンドは添え字rの各反復に対して適用される。16×8ビットの部分語は非線形関数モジュール308を用いて処理され、前記モジュールは例えばROMタイプのメモリ内に実装される。これらのモジュールはその入力に与えられる部分語の脱マスキング309を行ない、例えばSボックスを用いてそれらに非線形処理310を適用し、そして前記処理の結果にマスキング311を行なう。処理されるべき各8ビット部分語用の非線形関数モジュール308が存在する。その結果、図3の例に対する16の非線形関数モジュールがある。
添え字rのラウンドに対して、これらのモジュールは入力の脱マスキング309用に部分マスクk [0]、k [1]、...、k [15]を使用し、出力のマスキング311用に部分マスクkr+1 [0]、kr+1 [1]、...、kr+1 [15]を用いる。例えば、16個のSボックスは、部分マスクk []によりマスキングされ、そして部分マスクkr+1 []により脱マスキングされるために、前もって計算され得る。
非線形処理モジュールの出力における16の部分語は、次にその機能が特に前記ワードを128ビットのワードへと連結することである、第二の制御モジュール312に向けて送られる。
128ビットのワードは、次に2つの線形処理モジュールにより処理され、第一のモジュールは通常「行シフト」(“shift rows”)の表現により記述される、行の混合313を実行し、第二の処理は通常「列シフト」の表現により記述される、列の混合314を実行する。これら2つの線形処理は関数L()によってモデル化され得る。
鍵k を用いる暗号化は、XOR関数315を用いて前記線形処理から生じる128ビットのワードに適用される。
128ビットのマスクkint の適用316は、同じSボックスを1つのラウンドから別のラウンドにかけて使うことができるように、k による暗号化から生じるワードに対して行なわれる。マスクkint の記憶303は次の式:
を用いることにより、事前に計算した後に行なわれる。
従って事前に計算された128ビットのワードkint が、メモリ16内に存在する。
局面R2の処理はN回繰り返して実行される。第二の局面R2のNラウンドが実行されたとき、最終局面R3は、線形の行混合処理313と線形の列混合処理314との間で抽出される、128ビットのワードに対して実行される。
抽出されたワードに対してXOR関数317により適用される鍵kfin を用いた最後の暗号化の後で、最後の脱マスキングが、XOR関数318を用いて128ビットのマスクkfin を適用することにより行なわれる。
16個で128ビットのマスクkfin は、次の式:
を用いることにより事前に計算された後で、保護回路内への記憶303が行なわれる。ここで、関数L’ −1()は行混合処理313の逆数を表わす。
最終行の最後、すなわち処理局面R3の最後に得られるワードは、AES暗号化の最終結果に対応する。得られた暗号化メッセージは、出力レジスター319内へ書き込まれる。
図4は、その中に非線形処理がラウンドの最後に位置する、マスキングにより保護された暗号化回路の一例を示す。
非線形処理に対応する回路の部分が、メモリ内ではなく論理ゲート内に実装されるとき、前記処理の上流での脱マスキング関数および下流でのマスキング関数は攻撃の対象になり得る。
これらの攻撃に対して回路を保護するために、1つの解決策は1つのラウンドの非線形処理をロジック・コーンの最後、すなわち登録された結果のサンプリングの直前に置くことである。そのとき、計算はそれらの時間分散により広げられ、攻撃の有効性は限定される。
図4の例は、この原理を実行する、マスキングにより保護された暗号化回路の一例を示す。
この例示的回路は図2によって与えられているものと類似している。暗号化はFeistel構造を用いて行なわれ、そして1つの入力段、ラウンド1およびラウンド2と呼ばれる2つのラウンド段、次に1つの出力段の実行のおかげで行なわれる。
図2で一例として与えられた回路とは異なり、例えばSボックスを用いて実行された非線形処理は、ロジック・コーンの最後に置かれる。線形処理は従って1つのラウンドの最初に置かれる。それゆえ、第一ラウンドに対応する段において、最初の拡散関数L()に対応する線形処理の適用401が行なわれる。第二ラウンドに対応するステージにおいて、拡散関数L()に対応する線形処理の適用402が行なわれる。
最初の拡散関数の逆数L −1()の適用400が入力段の出力において行われ、最後の拡散関数L()の適用403が出力段の入力において行われる。
1つのラウンドの開始時の電力消費量をモデル化することは困難であるのに対して、それはラウンドの最後における環境条件により大きく依存させられる。

Claims (13)

  1. マスキングにより保護された暗号化回路であって、前記回路が少なくとも1つの鍵k を用いた複数の2進ワードを暗号化する手段と、前記ワードに線形処理(216)および非線形処理(213)を適用する手段と、前記ワードをマスキングする手段とを含み、前記2進ワードが、それぞれのマスクk を用いることによって前記非線形処理の上流で脱マスキング(214)され、そしてそれぞれのマスクkr+1 を用いることによって前記非線形処理の下流でマスキング(215)され、前記マスクk およびkr+1 が前記回路の各実例に固有の、一組のマスクの部分を形成するものであって、
    前記非線形処理と、前記非線形処理の上流での脱マスキング(214)と、前記非線形処理の下流での前記マスキング(215)とが、ROMタイプのメモリ(209)内に実装され、
    前記マスクk が、kr+1 =P(k )およびk =kであるような、主要マスクkから推定される二次マスクであり、関数P(x)がxの要素を置換するための関数に相当し、
    前記主要マスクkが長さWであって、長さSの整数の部分マスクからなり、前記二次マスクk が前記部分マスクの置換により生成され、
    前記ROMタイプのメモリ(209)が不変のままであることを特徴とする回路。
  2. 前記二次マスクの前記部分マスクが、次の式:
    を用いて選ばれ、
    ここで、
    rはラウンド数、
    iはランダムに引き出された4ビットの数、
    Qは2つの連続する二次マスクk とkr+1 の間の置換割合を制御するための整数、
    Sはビットで表わされる部分マスクの長さ、
    Wはビットで表わされる前記主要マスクの長さ、
    mod()は、mod(a,b)=a modulo bのような定義された関数であり、aおよびbは整数である
    ことを特徴とする、請求項1に記載の回路。
  3. 前記主要マスクkが、回路内に記憶された一組の主要マスクから、マスクkをランダムに選ぶことにより規則的に変更されることを特徴とする、請求項1または2に記載の回路。
  4. 前記回路内に記憶された前記主要マスクのグループが回路ごとに異なることを特徴とする、請求項3に記載の回路。
  5. 前記主要マスクのグループが、内部マスク生成回路を用いて得られることを特徴とする、請求項4に記載の回路。
  6. 2つのマスクk とkr+1 の間のハミング(Hamming)距離がS/2に等しいことを特徴とする、請求項1〜5のいずれか一項に記載の回路。
  7. 前記主要マスクkハミング重みがW/2に等しいことを特徴とする、請求項1〜6のいずれか一項に記載の回路。
  8. 前記非線形処理がSボックス(213、310)を用いて実行されることを特徴とする、請求項1〜7のいずれか一項に記載の回路。
  9. 前記非線形処理が、レジスター内における結果のサンプリングの直前に、同一の組み合わせブロックにおいて前記線形処理の後に適用されることを特徴とする、請求項1〜8のいずれか一項に記載の回路。
  10. FPGA内に実装されることを特徴とする、請求項1〜9のいずれか一項に記載の回路。
  11. 前記主要マスクkが、回路内に記憶された一組の主要マスクから、マスクkをランダムに選ぶことにより規則的に変更されるものであり、
    前記主要マスクのグループが、FPGA回路構成ファイルの変更を用いて得られることを特徴とする、請求項10に記載の回路。
  12. 前記主要マスクkが、回路内に記憶された一組の主要マスクから、マスクkをランダムに選ぶことにより規則的に変更されるものであり、
    前記非線形処理に対応する前記回路の部分を実装する、主要マスクとテーブルのグループを更新できるようにする、動的再構成手段を含むことを特徴とする、請求項10に記載の回路。
  13. ASIC内に実装されることを特徴とする、請求項1〜6のいずれか一項に記載の回路。
JP2012538299A 2009-11-13 2010-11-08 カスタマイズされたマスキングによって保護される低複雑度の電子回路 Active JP5987250B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0958030A FR2952773B1 (fr) 2009-11-13 2009-11-13 Circuit electronique de faible complexite protege par masquage personnalise
FR0958030 2009-11-13
PCT/EP2010/067064 WO2011057991A1 (fr) 2009-11-13 2010-11-08 Circuit electronique de faible complexite protege par masquage personnalise

Publications (2)

Publication Number Publication Date
JP2013511057A JP2013511057A (ja) 2013-03-28
JP5987250B2 true JP5987250B2 (ja) 2016-09-07

Family

ID=42244180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012538299A Active JP5987250B2 (ja) 2009-11-13 2010-11-08 カスタマイズされたマスキングによって保護される低複雑度の電子回路

Country Status (9)

Country Link
US (1) US9197412B2 (ja)
EP (1) EP2499773B1 (ja)
JP (1) JP5987250B2 (ja)
KR (1) KR101783495B1 (ja)
CN (1) CN102648600B (ja)
CA (1) CA2780719C (ja)
ES (1) ES2571225T3 (ja)
FR (1) FR2952773B1 (ja)
WO (1) WO2011057991A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
JP5612007B2 (ja) * 2012-03-15 2014-10-22 株式会社東芝 暗号化鍵生成装置
JP6089668B2 (ja) * 2012-12-13 2017-03-08 日本電気株式会社 暗号化処理回路及び復号処理回路とその方法並びにそのプログラム
JPWO2015059845A1 (ja) * 2013-10-24 2017-03-09 日本電気株式会社 暗号化処理回路及びその方法及びプログラム並びに復号処理回路
EP3475825B1 (en) 2016-06-23 2023-01-25 Cryptography Research, Inc. Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks
US10530567B2 (en) * 2016-10-05 2020-01-07 Megachips Corporation Encryption device and memory device
DE102017002153A1 (de) * 2017-03-06 2018-09-06 Giesecke+Devrient Mobile Security Gmbh Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung
EP3422176A1 (en) * 2017-06-28 2019-01-02 Gemalto Sa Method for securing a cryptographic process with sbox against high-order side-channel attacks
US11562101B2 (en) * 2017-11-13 2023-01-24 Intel Corporation On-device bitstream validation
US11201730B2 (en) * 2019-03-26 2021-12-14 International Business Machines Corporation Generating a protected key for selective use
US11372983B2 (en) 2019-03-26 2022-06-28 International Business Machines Corporation Employing a protected key in performing operations
FR3096206A1 (fr) * 2019-05-17 2020-11-20 Stmicroelectronics (Grenoble 2) Sas Dispositif de protection de donnees masquees et procede associe
US11700111B2 (en) * 2019-06-26 2023-07-11 Cryptography Research, Inc. Platform neutral data encryption standard (DES) cryptographic operation
CN113343175B (zh) * 2021-05-31 2022-05-27 中国电子科技集团公司第三十研究所 一种自动化搜索spn型轻量级分组密码活跃s盒的快速方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652796A (en) * 1994-06-21 1997-07-29 Pitney Bowes Inc. Data encryption control system
US6205249B1 (en) * 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
IL139935A (en) * 1998-06-03 2005-06-19 Cryptography Res Inc Des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
US6578061B1 (en) * 1999-01-19 2003-06-10 Nippon Telegraph And Telephone Corporation Method and apparatus for data permutation/division and recording medium with data permutation/division program recorded thereon
US7142670B2 (en) * 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
KR100605813B1 (ko) * 2003-02-28 2006-08-01 삼성전자주식회사 초 광대역 통신시스템에서 헤더정보 전송장치 및 방법
US7899190B2 (en) * 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
US7848514B2 (en) * 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
FR2873523B1 (fr) 2004-07-22 2007-08-10 Sagem Procede et dispositif d'execution d'un calcul cryptographique
DE602005002632T2 (de) * 2005-05-10 2008-01-31 Research In Motion Ltd., Waterloo Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten
JP4986206B2 (ja) * 2006-02-22 2012-07-25 株式会社日立製作所 暗号処理方法及び暗号処理装置
US7720225B2 (en) * 2006-03-07 2010-05-18 Research In Motion Limited Table splitting for cryptographic processes
JP4936996B2 (ja) * 2007-05-24 2012-05-23 株式会社東芝 非線形データ変換器、暗号化装置、および復号装置
JP5242560B2 (ja) * 2007-05-30 2013-07-24 パナソニック株式会社 暗号化装置、復号化装置、暗号化方法及び集積回路
US8553877B2 (en) * 2007-10-01 2013-10-08 Blackberry Limited Substitution table masking for cryptographic processes
US7995749B2 (en) * 2007-10-30 2011-08-09 Harris Corporation Cryptographic system configured for extending a repetition period of a random sequence
WO2009074728A1 (fr) * 2007-12-13 2009-06-18 Oberthur Technologies Procede de traitement cryptographique de donnees, notamment a l'aide d'une boite s, dispositif et programme associes
DE102008033962B4 (de) * 2008-07-21 2011-11-24 Siemens Aktiengesellschaft Verfahren und Prozessor-Einrichtung zum Implementieren einer Charakteristik-2-Multiplikation
FR2952256B1 (fr) * 2009-11-04 2011-12-16 St Microelectronics Rousset Protection d'une cle de chiffrement contre des attaques unidirectionnelles

Also Published As

Publication number Publication date
JP2013511057A (ja) 2013-03-28
CN102648600B (zh) 2014-12-24
FR2952773B1 (fr) 2012-07-20
US20130129081A1 (en) 2013-05-23
EP2499773A1 (fr) 2012-09-19
CA2780719A1 (en) 2011-05-19
EP2499773B1 (fr) 2016-02-17
WO2011057991A1 (fr) 2011-05-19
CA2780719C (en) 2019-08-20
CN102648600A (zh) 2012-08-22
FR2952773A1 (fr) 2011-05-20
KR20120109501A (ko) 2012-10-08
US9197412B2 (en) 2015-11-24
KR101783495B1 (ko) 2017-09-29
ES2571225T3 (es) 2016-05-24

Similar Documents

Publication Publication Date Title
JP5987250B2 (ja) カスタマイズされたマスキングによって保護される低複雑度の電子回路
Toughi et al. An image encryption scheme based on elliptic curve pseudo random and advanced encryption system
US6295606B1 (en) Method and apparatus for preventing information leakage attacks on a microelectronic assembly
JP4596686B2 (ja) Dpaに対して安全な暗号化
JP5776113B2 (ja) 高次の観測攻撃から保護される暗号回路
JP5229315B2 (ja) 共通鍵暗号機能を搭載した暗号化装置及び組込装置
JP4828526B2 (ja) 暗号計算を実行するための方法及び装置
JP2008516502A (ja) 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成
KR100834096B1 (ko) 고차 전력분석공격에 대응하는 블록 암호 알고리즘aria의 암호화 방법
Al-Dweik et al. A novel method to generate key-dependent s-boxes with identical algebraic properties
Razaq et al. A novel technique for the construction of safe substitution boxes based on cyclic and symmetric groups
Lavanya et al. Enhancing the security of AES through small scale confusion operations for data communication
Kim et al. Masked implementation of PIPO block cipher on 8-bit AVR microcontrollers
KR101506499B1 (ko) 마스킹이 적용된 seed를 이용한 암호화 방법
Sunny et al. Enhancing Security in Digital Data using various Function of S-box in Data Encryption Standard Method.
Montoya et al. Energy-efficient masking of the trivium stream cipher
Kushwah et al. Chaotic Map based Block Encryption
JP5500277B2 (ja) 共通鍵暗号機能を搭載した暗号化装置及び組込装置
Nandi et al. Recent Results on Some Word Oriented Stream Ciphers: SNOW 1.0, SNOW 2.0 and SNOW 3G
Cretu et al. A modified version of Rijndael algorithm implemented to analyze the cyphertexts correlation for switched S-Boxes
Battistello et al. Enhanced Encodings for White-Box Designs
EP2293488B1 (en) Method for cryptographic processing of data units
Mahanta et al. An enhanced advanced encryption standard algorithm
Attari et al. Finite state machine based countermeasure for cryptographic algorithms
Saini et al. Performance Comparison of Cryptosystems in Context to Internet of Things

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150724

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160722

R150 Certificate of patent or registration of utility model

Ref document number: 5987250

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250