JP6289768B2 - 暗号化装置、暗号化プログラム及び暗号化方法 - Google Patents
暗号化装置、暗号化プログラム及び暗号化方法 Download PDFInfo
- Publication number
- JP6289768B2 JP6289768B2 JP2017546744A JP2017546744A JP6289768B2 JP 6289768 B2 JP6289768 B2 JP 6289768B2 JP 2017546744 A JP2017546744 A JP 2017546744A JP 2017546744 A JP2017546744 A JP 2017546744A JP 6289768 B2 JP6289768 B2 JP 6289768B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- search
- unit
- encryption
- element data
- 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
Links
- 238000000034 method Methods 0.000 title claims description 59
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000007726 management method Methods 0.000 description 62
- 238000012545 processing Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 23
- 238000004458 analytical method Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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/06—Cryptographic 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
-
- 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/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
そこで、データを暗号化したまま検索可能な暗号技術である「秘匿検索技術」が考案された。秘匿検索技術の具体的な手法は近年多く開示されている。
しかしながら、データを少ない文字数で分割すると、全く同じような分割データが多く現れる可能性がある。本技術では、同じデータからいつも同じ暗号文が生成される確定的暗号化方式を利用するため、同じ分割データを暗号化しても、全く同じ暗号文が生成される。よって、頻度分析攻撃を受けやすいといった課題がある。
ここで、頻度分析攻撃とは、同じ値を持つ暗号文の頻度と、頻度に関する公な情報(日本人の名字の分布など)とを照合することで、暗号化に用いる鍵を使わなくても、暗号文から元のデータを推測する攻撃手法である。
よって、本発明は、保管暗号化タグ、検索暗号化タグに対して、頻度分析などの攻撃に耐性を持つような高い安全性を確保し、データサイズが小さく、かつ通信量が小さい秘匿部分一致検索技術の提供を目的とする。
本実施の形態では、高安全かつ効率的な秘匿部分一致検索技術を開示する。
以下、本実施の形態の概要について説明する。
図1は、本実施の形態に係る検索システム100の構成を示すブロック図である。図1に示すように、秘匿検索システム100は、鍵生成装置200と、複数の登録装置300と、複数の検索装置400と、管理装置500とを備える。登録装置300は、暗号化装置である。秘匿検索システム100は、複数の鍵生成装置200を備えていてもよい。秘匿検索システム100は、1つの登録装置300のみを備えていてもよい。秘匿検索システム100は、1つの検索装置400のみを備えていてもよい。秘匿検索システム100は、複数の管理装置500を備えていてもよい。
後述するC(D(j))={C1 →,C2 →,...,CL →}
におけるC1 →,C2 →等である。
登録装置300は、暗号化装置及び登録装置として機能する。即ち、登録装置300は、保管暗号化データを生成し、保管暗号化データの保管を管理装置500に要求する。
登録装置300は、削除要求装置として機能する。即ち、登録装置300は、管理装置500に対して、保管されている保管暗号化データの削除を要求する。
検索装置400は、出力装置として機能する。即ち、検索装置400は、管理装置500から返信される検索結果を出力する。
図2〜図5を参照して、鍵生成装置200、登録装置300、検索装置400、管理装置500の構成について順番に説明する。図2〜図5は、コンピュータである、鍵生成装置200、登録装置300、検索装置400、管理装置500の構成を示すブロック図である。
また図11は、鍵生成装置200〜管理装置500のハードウェア構成を示す図である。図12は、鍵生成装置200〜管理装置500のハードウェア構成を示す別の図である。
また、図3〜図5における「〜保管部」は、記憶装置92で実現される。
図2に示すように、鍵生成装置200は、入力部201、鍵生成部202、送信部203を備える。図示していないが、鍵生成装置200は、鍵生成装置200の各部で使用されるデータを記憶する記録媒体を備える。
また、以下において、鍵Kあるいは鍵K’を用いる説明がある場合、鍵Kあるいは鍵K’は鍵生成装置200から送信されている。
もし、データ登録者からデータ名の入力がなければ、入力部304は、入力された保管データDのデータ名ID(D)に乱数を割り当ててもよいし、他の保管データのデータ名と重複しないように0より大きい整数の値を順に割り当ててもよい。
また、入力部304は、データ登録者から削除したい保管暗号化データ集合についての削除データ名を受け取る。削除データ名は、例えば、登録時に入力したデータ名や、登録した時刻、データ登録者の名前など、保管データを特定できるものなら何でもよい。
文字wi,...wLに対して、データ分割部305から受け取った分割データ(w1,・・・,wL)から、次のような集合Aを生成する。
A={A1,A2,・・・,AL}。
以降では、集合Aを部分文字列集合と呼ぶ場合がある。
詳細は登録装置の動作の説明で述べるが、暗号化部307は、集合Aを用いて、保管暗号化データ集合(ID(D),C(D))を生成する。
(2)乱数保管部402は、乱数入力部401に入力された乱数Rを、記憶した順番を示す識別子jと共に記憶する。すなわち、乱数保管部402には、それまでに乱数入力部401に入力された乱数Rが、(j、Rj)という対で複数記憶されている。乱数保管部402は、(j、Rj)をリストとして持っている。
(3)受信部403は、鍵生成装置200から送信されてきた鍵K、及び鍵K’、または管理装置500から送信されてきた検索結果を受信する。
(4)鍵保管部404は、受信部403から受け取った鍵Kを保管する。
(5)入力部405は、データ検索者から入力された検索データSを受け取る。入力部405は、データ検索者から、検索データSと同時に、その検索データSと、検索したい保管暗号化データ集合(ID(D),C(D))を指定するような保管データ名も複数受けとってもよい。
(6)暗号化部406は、鍵保管部404から鍵Kと、鍵K’とを読み出し、入力部405から受け取った検索データSに対して鍵Kを用いて、以下のような暗号文tを生成する。
詳細は、検索装置400の動作で述べるが、概要は以下の様である。
S:(s1,...,sk)
とする。なお、分割は必須ではない。
(2)次に、暗号化部406は、乱数保管部402より(j、Rj)を読み出し、
u=(u1,...,uk)
を生成する。
すなわち、乱数保管部402は、リストとして、
(1、R1)、(2、R2),...,(M、RM)
というM対の値を持っている。Mは登録装置300によって登録された保管暗号化データ集合(ID(D),C(D))の個数と等しい。乱数保管部402により読みだされた(j、Rj)を用いて、暗号化部406によって、一つ一つの暗号文は、
ui=E(K,si<+>ui―1)
から生成される。<+>は、便宜的に排他的論理和の演算を示す記号である。
Rjについて考えているので、u0=Rjとする。
そして、
tj=E(K’,R’,u1(j),...,uk(j))
とする。なお、Eは暗号化関数とする。
なお、tj=E(K’,R’,uk(j))
でもよい。暗号化部406は、乱数保管部402から受け取った全ての(j、Rj)について同様のことを実行する。(j、Rj)がM個対存在するならば、tjは対に対応してM個生成される。以降では、このM個全てのtjを検索暗号化データと呼び、
検索暗号化データT→=(t(1),...,t(M))
と記述する。
(2)パラメータ保管部502は、受信部501から受け取ったパラメータLを保管する。
(3)データ保管部503は、受信部501から受け取った保管暗号化データ集合(ID(D),C(D))を保管する。必要があれば、送信されてきた日時なども同時に保管してもよい。また、データ保管部503は、受信部501から受け取った削除データ名に基づき、保管している保管暗号化データ集合を削除する。
送信部505は、照合部504から受け取った検索結果Rを検索装置400へ送信する。
以下では、本実施の形態に係る検索方法に相当する、秘匿検索システム100の動作について説明する。
図6は、秘匿検索システム100の鍵生成・保管処理を示すフローチャートである。
図6のS601〜S611は、鍵生成装置200と、登録装置300と、検索装置400と、管理装置500とが実行する処理である。S601〜S604は鍵生成装置200に、S605〜S607は登録装置300に、S608〜S609は検索装置400に、S610〜S611は管理装置500によって実行される。
S601において、鍵生成部202は、入力部201に入力された鍵のビット長Lbitを用いて、データの暗号化に使用される鍵K、鍵K’を生成する。
なお入力部201に入力されるパラメータLは、保管データDを分割する最大分割数である。
なお、本実施の形態では共通鍵暗号技術を用いて説明しているが、公開鍵暗号技術を用いてもよい。その場合は、鍵生成部202は、鍵Kについては公開鍵PKと秘密鍵SKのペアを鍵Kとして設定して、鍵K’については公開鍵PK’と秘密鍵SK’のペアを鍵K’として設定して、以降に説明する処理を同じように実施すればよい。
S603において、送信部203は、S601で生成した鍵Kを、検索装置400へ送信する。
S604において、送信部203は、入力部201に入力されたパラメータLを、管理装置500へ送信する。
S605において、受信部301は、S602で送信された鍵KとパラメータLを受信する。
S606において、鍵保管部302は、S605で受信した鍵Kを記憶媒体に保管する。
S607において、パラメータ保管部303は、S605で受信したパラメータLを記憶媒体に保管する。
S608において、受信部403は、S603で送信された鍵Kおよび鍵K’を受信する。
S609において、鍵保管部404は、S608で受信した鍵Kおよび鍵K’を記憶媒体に保管する。
S610において、受信部501は、S604で送信された鍵K’およびパラメータLを受信する。
S611において、パラメータ保管部502は、S610で受信した鍵K’およびパラメータLを記憶媒体に保管する。
S611により、秘匿検索システム100の鍵生成・保管処理は終了する。
S701において、入力部304は、データ登録者から入力された、保管データDとデータ名ID(D)とを受け取る。なお、データ登録者からデータ名の入力がなければ、入力部304は、入力された保管データDのデータ名ID(D)に乱数を割り当ててもよいし、他の保管データのデータ名と重複しないように、0より大きい整数の値を順に割り当ててもよい。
具体的には以下である。
データ分割部305は、パラメータ保管部303からパラメータLを読み出し、S701でデータ登録者から受け取った保管データDを(w1,・・・,wL)と、パラメータLの示すL個の要素データwi,i=1、...、Lに分割する。
なお、分割数をNとした場合、分割数Nは、L以下の個数でもよい。
このように、保管データDは先頭から順に分割可能なデータ構造であり、データ分割部305は、保管データDを先頭から順に、第1番目から第N番目までのN個の要素データwiに分割する。
具体例を示す。パラメータL=3の場合、データ分割部305は保管データDを
(w1,w2,w3)と3分割してもよいし、
(w1,w2)と2分割してもよい。このように、分割数はパラメータL以下であればよい。
(w1,w2,w3)を例にさらに説明すれば、
w1,w2,w3等として、データ分割部305は、保管データDを1文字、あるいは複数文字ずつ順に分割してもよいし、単語単位で分割してもよい。
以下では一つの保管データD(j)について考える。保管データD(j)は、j=1の場合とし、D(1)と記す。以下では、jは保管データDを区別する文字とし(j)と記す。また、保管データD(j)に対応して、乱数R(j)が乱数生成部306によって生成される。データ分割部305は保管データD(1)をL個に分割したとする。
つまり、保管データD(1)は、
(w1,w2,w3,...wL)
と分割される。
暗号化部307は、以下の部分文字列Ai,i=1,2,...Lを要素とする集合A(1)を生成する。
A={A1,A2,...,AL}
Ai=(wi,wi+1,...,wL)
である。
つまり、
A1=(w1,w2,...,wL),
A2=(w2,w3,...,wL),
...,
AL=(wL)
である。
Ai=(wi,wi+1,...,wL)、i=1,2,..,Lに対して、
暗号化部307は、
Ci=(ci.i,...,ci.L)
を生成する。
CiはAiに対応し、L−i+1個の要素を持つ。
以下、Ciは成分ci,i等との区別のため、ベクトル表記によりCi →と表記する。
つまり、
Ci →=(ci.i,...,ci.L)
である。
Ci →=の成分である一つ一つの暗号文cは、
ci.j.=E(K,wj<+>ci.j−1) (式1)
ci.i−1=R(j) (式2)
により生成される。iはAiに対応する。式1のjはi〜Lまでをとる。
式1のjは保管データDを区別する(j)とは異なる。
式1、式2は、CBCモード(Cipher Block Chaining Mode)を示す。
(式1)のE(K,wj<+>ci.j−1)において記号の意味は下記である。
<+>は、排他的論理和の演算を示すのは上述のとおりである。
よって、wj<+>ci.j−1は、wjとci.j−1との、排他的論理和の演算を示す。
また、前記のとおり、E(K,*)は、鍵Kを用いて*を暗号化することを意味する。
保管データD(1)に対して、暗号化部307は、全てのAiに対して、Ci →を生成する。
以上の処理を全てのAiに対して実行する。
すべてのCi →をまとめた集合をC(D(j))と書くことにする。
Ci →はAiに対応するので、
C(D(j))={C1 →,C2 →,...,CL →}
である。
なお、E(K,wj<+>ci.j−1)におけるEは暗号化関数である。Eとして、共通鍵暗号方式、メッセージ認証符号、ハッシュ関数が、その一例である。
データ分割部305によって、保管データD(1)は(w1,w2,w3)と分割されたとする。
以下はすべて暗号化部307の処理である。
暗号化部307は、
集合A={A1,A2,A3}を生成する。
この場合、
A1=(w1,w2,w3)、A2=(w2,w3)、A3=(w3)、
である。
暗号化部307は、
Ai(i=1,2,3)に対してCi →を生成する。
A1、A2、A3に、C1 →、C2 →、C3 →が対応する。
式1により、以下のc1.1が計算される。
式1は、図9に示すCBCモードである。
図9は、以下のA1〜A3の場合を示す。
i=1:(A1に対応)
C1 →=(c1.1,c1.2,c1.3)
c1.1=E(K,w1<+>c1.0)=E(K,w1<+>R(1))
c1.2=E(K,w2<+>c1.1)=E(K,w2<+>E(K,w1<+>R(1)))
c1.3=E(K,w3<+>c1.2)=E(K,w3<+>E(K,w2<+>E(K,w1<+>R(1))))
i=2:(A2に対応):
C2 →=(c2.2,c2.3)
c2.2=E(K,w2<+>c2.1)=E(K,w2<+>R(1))
c2.3=E(K,w3<+>c2.2)=E(K,w3<+>E(K,w2<+>R(1)))
i=3:(A3に対応):
C3 →=(c3.3)
=E(K,w3<+>c3.2)=E(K,w3<+>R(1))
以上により、
集合A={A1,A2,AL}
に対して、
C1 →,C2 →,C3 →が生成された。
よって、
C(D(1))={C1 →,C2 →,C3 →}
である。
ここで、
C1 →=(c1.1,c1.2,c1.3)、
C2 →=(c2.2,c2.3)、
C3 →=(c3.3)
である。
また、c1.1等の値は上記のE(K,w1<+>R(1))等による。
以上が処理1、処理2の具体例である。
図9に示すように、暗号化部307は、複数の要素データwiの各要素データwiを、秘匿検索の可能な暗号モードによって、乱数Rを用いて暗号化する。図9では秘匿検索の可能な暗号モードは、CBCモードである。
より具体的には、暗号化部307は、分割されたN個の要素データを用いて、第1番目から第N番目までの要素データを順に並べた第1の集合A1、
第2番目から第N番目までの要素データを順に並べた第2の集合A2、
以降、順に、第N−1番目から第N番目までの要素データを順に並べた第N−1の集合AN−1、第N番目の要素データからなる第Nの集合ANまでの、N個の集合Aiを生成する。実施の形態1ではN=Lとしており、また具体例ではN=3である。
そして、図9に示すように、暗号化部307は、各集合に含まれるそれぞれの要素データwiを、乱数Rを用いてCBCモードによって暗号化する。
図9は、第1の集合A1の場合を示しているが、全部の集合Aiに集合A1と同じ処理がされる。暗号化部307は、図9に示すように、第1の集合A1から前記第Nの集合ANの集合ごとに、CBCモードの第1段において乱数Rと、集合の最初の要素データとの排他的論理和を演算し、CBCモードの第2段以降おいて、前段の出力値と、前段で排他的論理和の演算に使用された要素データの次の順番の要素データとの排他的論理和を演算する。
また、乱数送信部309は、乱数R(j)を検索装置400に送信する。
S706において、受信部501は、S706で送信された保管暗号化データ集合を受信する。
S707において、データ保管部503は、S707で受信した保管暗号化データ集合を保管する。
S707により、秘匿検索システム100の登録処理は終了する。
図8のS801〜S810は、検索装置400と管理装置500とが実行する処理である。
S801〜S804及びS810〜S811は、検索装置400に、S805〜S809は管理装置500によって実行される処理である。
入力部405は、データ検索者から入力された検索データSを受け取る。
入力部405は、検索データSを取得する検索データ取得部である。
なお、複数の検索データSを同時に受け取ってもよい。
その場合は、以降の処理を各検索データに対して同じように実施すればよい。
また、前述の通り、入力部405は、データ検索者から、検索データと同時に、その検索データと検索したい保管暗号化データ集合を指定するような保管データ名も複数受けとってもよい。
S802では、乱数R(1)〜R(M)を取得する。
S803の処理は暗号化部406による。暗号化部406は、鍵保管部404から鍵Kおよび鍵K’を読み出し、S801で受け取った検索データSに対して、次のようにして、検索暗号化データTを生成する。検索暗号化データTは、通常、複数の成分を有するので、ベクトル表示してT→と記す。検索暗号化データT→は、それぞれのjに対応する成分であるu(j)を有する。u(j)も複数の成分を有するのでベクトル表記により、u(j) →と記す。u(j) →はjに対応するが、つまり乱数R(j)に対応する。
(j=1の場合)
まずj=1の場合を考える。暗号化部406は、検索データSを分割し、(S1,...,Sk)を生成する。
なお、分割することは必須ではない。検索データSを分割せずに用いてもよい。
暗号化部406は、分割する場合、検索データSを複数の要素データSi,i=1,...kに分割し、検索データSの暗号化として、乱数R(j)ごとに、この乱数R(j)で各要素データSiを暗号化する。図10で具体例を後述する。
以下ではk個に分割する場合を説明する。またkは任意の数でよい。
次に、u(1) →=(u1,...,uk)が生成される。
一つ一つの暗号文は、
ui(1)=E(K,Si<+>ui―1(1)) (式3)
u0=R(j) (式4)
のように生成される。式3の意味は式1と同様である。
次に、暗号化部406は、乱数生成部409の生成した生成乱数R’を一つ取得する。なお、乱数生成部409は、検索データ取得部である入力部405によって取得された複数の検索データSの検索データSごとに、生成乱数R’を生成する。暗号化部406は、乱数生成部409によって検索データSごとに生成された生成乱数R’を、対応する検索データSに用いる。
生成乱数R’を用いて、暗号化部406は、
t(j=1)=E(K’,R’,u1(1),...,uk(1)) (式5)
を生成する。なお、Eは暗号化関数とする。
なお、t(1)=E(K’,R’,uk(1))でもよい。
つまり、t(j)=E(K’,R’,uk(j))でもよい。
以上がj=1についての処理である。
式5のt(j)の生成を、暗号化部406は乱数保管部402から受け取った全ての(j、R(j))について実行する。
つまり、式5ではt(1)が生成されたが、同様に、t(2)〜t(M)も生成される。
これらを記載すれば、
t(2)=E(K’,R’,u1(2),...,uk(2))、
...、
t(M)=E(K’,R’,u1(M),...,uk(M))、
である。
式3より、t(2)、t(3)等は、乱数R(2)、R(3)等が異なる。
(j、R(j))がM個対存在するならば、t(j)はM個生成される。
このM個全てのt(j)を、上記のように検索暗号化データT→と呼び、
T→=(t(1),...,t(M))と記述する。
具体的には、送信部407は、乱数保管部402に保管された複数の乱数Rjと同じ複数の乱数Rjの乱数ごとに、その乱数を用いて暗号化された複数の暗号化データC(D(j))を有する管理装置500に、検索暗号化データT→を送信する。
図10を参照して、具体例によってT→の生成を説明する。図10は、検索装置による暗号化処理を説明する図である。
(j=1)
(j,Rj)は、(1,R1),(2,R2)の2組とする。
検索データSは、S=(S1,S2)に分割されたとする。
<2.u(j) →の生成>
u(1) →は分割の数だけ成分を有するので、2成分である。
u(1) →=(u1(1),u2(1))
式3の、
ui(1)=E(K,si<+>ui−1(1))において、
i=1,2である。
図10は、j=1,2のu(1) →、u(2) →の生成を示す。
u1(1)=E(K,S1<+>u0(1))=E(K,S1<+>R(1))、
u2(1)=E(K,S2<+>u1(1))=E(K,S2<+>E(K,S1<+>R(1)))、
(j=2)
u(2) →=(u1(2),u2(2))
の各成分は、u(1) →に対して、乱数R(1)が乱数R(2)になったのみである。
つまり、下記である。
u1(2)=E(K,S1<+>u0(2))=E(K,S1<+>R(2))
u2(2)=E(K,S2<+>u1(2))=E(K,S2<+>E(K,S1<+>R(2))、
以上により、(1,R1),(2,R2)について、
u(1) →、u(2) →が生成された。
<3.検索暗号化データの生成>
上記式5のように、
t(j)=E(K’,R’,u1(j),...,uk(j))
であるが、
具体例ではj=1,2、
t(1)=E(K’,R’,u1(1),u2(1))
t(2)=E(K’,R’,u1(2),u2(2))
である。
よって、
T→=(t(1),...,t(M))は、
具体例では,
T→=(t(1),t(2))
である。
t(1)を具体的に書き出すと、
t(1)=E(K’,R’,u1(1),u2(1))
=E(K’,R’,E(K,S1<+>R(1)),E(K,S2<+>E(K,S1<+>R(1)))
である。
t(2)を具体的に書き出すと、t(1)に対してu成分が、u(2)となるのみである。
t(2)=E(K’,R’,u1(2),u2(2))
=E(K’,R’,E(K,S1<+>R(2)),E(K,S2<+>E(K,S1<+>R(2))))
である。
送信部407は、検索暗号化データT→と、生成乱数である生成乱数R’とを、管理装置500へ送信する。
以上が検索装置400における具体例である。
図10の具体例で説明したように、暗号化部406は、検索されるデータの検索に使用されるキーワードである検索データSを、秘匿検索の可能な暗号モードによって、乱数保管部402に保管された前記乱数Rjごとに乱数Rjを用いて暗号化を行いu(1) →,u(2) →等を生成する。そして、暗号化部406は、暗号化された複数の検索データであるu(1) →,u(2) →等を含む、検索暗号化データT→を生成する。暗号化部406は、乱数R(j)ごとにその乱数R(j)を用いて暗号化された検索データu(1) →,u(2) →等のそれぞれを、乱数生成部409によって生成された生成乱数R’を用いて暗号化することにより、検索暗号化データT→を生成する。
また照合部504は、受信部501から
検索暗号化データT→=(t(1),...,t(M))を受け取る。
照合部504は、S807において以下のように、照合データt’iを生成する。
以下では、具体例で説明する。
T→=(t(1),t(2))と生成乱数R’を受信したとする。管理装置500は、(ID(D),C(D(1)))、(ID(D),C(D(2)))の2つの保管暗号化データ集合を読み出すとする。
つまり、j=1,2である。
(ID(D),C(D(1)))は、上記の(ID(D),C(Dj=1))であり、
C(Dj=1)={C1 →,C2 →,C3 →}={(c1.1〜c1.3),(c2.2〜c2.3),(c3.3)}
である。
C(D(1))={C1 →,C2 →,C3 →}のC1 →,C2 →,C3 →について、
以下のt’iを計算する。
一般的には、
t’i=E(K’,R’,Ci →) (式6)
である。
この例では、
C1 →,C2 →,C3 →ごとに、t’i=を生成する。
つまり、
t’1=E(K’,R’,C1 →)、
t’2=E(K’,R’,C2 →)、
t’3=E(K’,R’,C3 →)、
である。
S704の具体例により、
C1 →=(c1.1,c1.2,c1.3)、
C2 →=(c2.2,c2.3)、
C3 →=(c3.3)
である。よって、
t’1=E(K’,R’,C1 →)=E(K’,R’,c1.1,c1.2,c1.3),
t’2=E(K’,R’,C2 →)=E(K’,R’,c2.2,c2.3)
t’3=E(K’,R’,C3 →)=E(K’,R’,c3.3)
である。c1.1,c1.2,等の値は、S803の説明で述べたとおりである。
照合部504は、検索結果に関わる空集合Iを生成し、S807で生成した各照合データti(1≦i≦L)が検索暗号化データT→に含まれているかを確認する。それぞれの照合データt’iについて、照合データt’iが、検索暗号化データT→に含まれていれば、空集合であるIに(ID(D),i)を含める。上記ではC(D(1))の保管暗号化データ集合(j=1)について説明したが、照合部504は、これを全ての保管暗号化データ集合(j=2〜M)に対して行う。
また、本処理の結果、初期の空集合Iから最終的に生成される集合Iを、検索結果Iと呼ぶ。
本実施の形態は、以下のような効果を奏する。
(1)本実施の形態では、たとえ同じ保管データをサーバへ保管したとしても、乱数Rにより毎回必ず異なる保管暗号化データ集合が生成される。このため、頻度分析攻撃への耐性が向上し、高い安全性をもつ秘匿部分一致検索を実現できる。
(2)本実施の形態では、検索暗号化データがただ一つの暗号文から構成されるため、検索に用いるデータサイズが非常に小さく、また検索時にデータ検索者とサーバとのやりとりが1回しか発生しないため、効率的に秘匿部分一致検索することが可能である。
(3)本実施の形態では、検索暗号化データに生成乱数R’を用いているので、頻度分析攻撃が困難となり、頻度分析攻撃の耐性が向上する。
(4)本実施の形態では、保管データを暗号化して保管しているため、たとえ管理装置500から保管暗号化データ集合が漏洩しても、保管データの中身を知られることはない。
(5)本実施の形態では、検索データのみならず保管データも暗号化したまま処理ができるため、検索暗号化データから検索データの中身を知られることはない。
次に、実施の形態2を説明する。実施の形態2は実施の形態1と、システム構成及び各装置の構成は同じである。実施の形態1は、図9、図10に示すように、CBCモード)を使用した。実施の形態2は、CTRモード(Counter Mode)を使用する。
暗号化部307は、鍵保管部302から鍵Kを読み出し、乱数生成部306で生成された乱数Rを用いて暗号文を以下のように生成する。
保管データD(1)は、(w1,...,wL)と分割されたとする。
w1,...,wLは、wi,i=1,2,...Lである。
暗号化部307は、
(w1,...,wL)に対して、
Ci=E(K,R+i―1)<+>wi (式7)
の演算を行う。
そして、暗号化部307は保管暗号化データ集合(ID(D),C(D(1)))を生成する。
ここで、C(D(1))=(Ci,C2,..,CL)である。
つまり、C(D(1))の成分の数は、保管データの分割数である。
暗号化部307は、C(D(1))=(C1,C2,C3)を生成する。
このように、C(D(1))において、
ここで、
C1=E(K,R+0)<+>w1、
C2=E(K,R+1)<+>w2、
C3=E(K,R+2)<+>w3、
である。
C1〜C3は、w1〜w3に対応する。
つまり、Ciは、wiに対応する。
登録装置300の暗号化部307を上記のように動作させる場合、検索装置400の暗号化部406は以下のような動作である。
図14は実施の形態2の検索装置400の暗号化部406の動作を説明する図である。
図14を参照して説明する。暗号化部406は、鍵保管部404から鍵Kを読み出し、入力部405から受け取った検索データSに対して鍵Kを用いて、次のように暗号文tを生成する。
まず、検索データSを分割し(S1,...,Sk)とする。
図14では(S1,S2)と分割する。なお実施の形態1と同様に、分割しなくても構わない。
u=(u1,...,uk)を生成する。
kは検索データSの分割数である。
一つ一つの暗号文は、
ui=E(K,R(j)+i―1)<+>Si
のように計算される。i=1,...,kである。
そして、暗号化部406は、
j=1について、t(1)=E(K’,R’,u1(j),...,uk(j))
を計算する。
図14の例では、
t(1)=E(K’,R’,u1(1),u2(1))
を計算する。
ここで、
u1(1)=E(K,R(1))<+>S1、
u2(1)=E(K,R(1)+1)<+>S2
である。
j=2についても同様に、暗号化部406は、
t(2)=E(K’,R’,u1(2),u2(2))
を計算する。
ここで、
u1(2)=E(K,R(2))<+>S1、
u2(2)=E(K,R(2)+1)<+>S2
である。
暗号化部406は、
検索暗号化データT→(t(1),t(2))を生成する。
送信部407は、索暗号化データT→(t(1),t(2))と、生成乱数R’を、管理装置500に送信する。
照合部504は、検索結果に関わる空集合Iを生成し、データ保管部503からすべての保管暗号化データ集合(ID(D),C(D(j)))を読み出す。
照合部504は、受信された検索暗号化データT→=(t(1),...,t(M))に基づき、次のようにして照合を行うことや検索結果を生成する。
この例では、
検索暗号化データT→=(t(1),t(2))
である。
以下では、上記で述べた、
C(D(1))=(C1,C2,C3)を例に説明する。
照合部504は、C(D(1))について下記のt’(j)を計算する。
この例ではj=1なのでt’(j)=t’(1)である。
t’(j)=E(K’,R’,C(D(j)))=E(K’,R’,C1,...,CL) (式8)
を計算する。
ここで、C(D(1))の成分数はC1,...,CLのL個であるが、Lは保管データD(1)の分割数である。
よって、この例では、
t’(1)=E(K’,R’,C(D(1)))=E(K’,R’,C1,C2,C3)
である。
照合部504は、C(D(2))〜C(D(M))についてもC(D(1))と同様の処理を行う。
照合部504は、それぞれのt’(j)(j=1,2,...,M)について、t’(j)が検索暗号化データT→に含まれていれば、Iに(ID(D(j)),j)を含める。
本処理の結果、最終的に生成される集合Iを検索結果Iと呼ぶのは実施の形態1と同じである。
Claims (5)
- 先頭から順に分割可能なデータ構造を持つ検索されるデータを、先頭から順に、第1番目から第N番目までのN個の要素データに分割するデータ分割部と、
分割されたN個の要素データを用いて、
第1番目から第N番目までの要素データを順に並べた第1の集合、
第2番目から第N番目までの要素データを順に並べた第2の集合、
以降、順に、第N−1番目から第N番目までの要素データを順に並べた第N−1の集合、第N番目の要素データからなる第Nの集合までの、
N個の集合を生成し、各集合に含まれるそれぞれの要素データを、乱数を用いて、秘匿検索の可能な暗号モードであるCBCモードと秘匿検索の可能な暗号モードであるCTRモードとのいずれかによって暗号化する暗号化部と
を備えた暗号化装置。 - 前記暗号化部は、
各集合に含まれるそれぞれの要素データを、乱数を用いて、前記CBCモードによって暗号化するとともに、暗号化に際し、
前記第1の集合から前記第Nの集合の集合ごとに、
前記CBCモードの第1段において、前記乱数と、前記集合の最初の要素データとの排他的論理和を演算し、
前記CBCモードの第2段以降おいて、前段の出力値と、前段で排他的論理和の演算に使用された要素データの次の順番の要素データとの排他的論理和を演算する請求項1に記載の暗号化装置。 - 前記暗号化部は、
各集合に含まれるそれぞれの要素データを、乱数を用いて、前記CTRモードによって暗号化するとともに、暗号化に際し、
前記第1の集合から前記第Nの集合の集合ごとに、
前記CTRモードのそれぞれの段において、前記乱数とそれぞれの段におけるカウンタ値との和を暗号化するとともに暗号化された前記和の値と前記集合の要素データとの排他的論理和を演算する請求項1に記載の暗号化装置。 - コンピュータに、
データ分割部が、先頭から順に分割可能なデータ構造を持つ検索されるデータを、先頭から順に、第1番目から第N番目までのN個の要素データに分割する処理、
暗号化部が、分割されたN個の要素データを用いて、
第1番目から第N番目までの要素データを順に並べた第1の集合、
第2番目から第N番目までの要素データを順に並べた第2の集合、
以降、順に、第N−1番目から第N番目までの要素データを順に並べた第N−1の集合、第N番目の要素データからなる第Nの集合までの、
N個の集合を生成し、各集合に含まれるそれぞれの要素データを、乱数を用いて、秘匿検索の可能な暗号モードであるCBCモードと秘匿検索の可能な暗号モードであるCTRモードとのいずれかによって暗号化する処理
を実行させるための暗号化プログラム。 - データ分割部、暗号化部を備えた暗号化装置が行う暗号化方法であって、
データ分割部が、先頭から順に分割可能なデータ構造を持つ検索されるデータを、先頭から順に、第1番目から第N番目までのN個の要素データに分割し、
暗号化部が、
分割されたN個の要素データを用いて、
第1番目から第N番目までの要素データを順に並べた第1の集合、
第2番目から第N番目までの要素データを順に並べた第2の集合、
以降、順に、第N−1番目から第N番目までの要素データを順に並べた第N−1の集合、第N番目の要素データからなる第Nの集合までの、
N個の集合を生成し、各集合に含まれるそれぞれの要素データを、乱数を用いて、秘匿検索の可能な暗号モードであるCBCモードと秘匿検索の可能な暗号モードであるCTRモードとのいずれかによって暗号化する暗号化方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/051244 WO2017126000A1 (ja) | 2016-01-18 | 2016-01-18 | 暗号化装置、検索装置、暗号化プログラム、検索プログラム、暗号化方法及び検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017126000A1 JPWO2017126000A1 (ja) | 2018-01-25 |
JP6289768B2 true JP6289768B2 (ja) | 2018-03-07 |
Family
ID=59362295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017546744A Active JP6289768B2 (ja) | 2016-01-18 | 2016-01-18 | 暗号化装置、暗号化プログラム及び暗号化方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10673627B2 (ja) |
EP (1) | EP3373504B1 (ja) |
JP (1) | JP6289768B2 (ja) |
CN (1) | CN108370312B (ja) |
WO (1) | WO2017126000A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612897A (zh) * | 2017-09-07 | 2018-01-19 | 唐冬香 | 一种数据传输方法 |
JP6918253B2 (ja) * | 2018-12-28 | 2021-08-11 | 三菱電機株式会社 | 秘匿検索システムおよび秘匿検索方法 |
KR102030785B1 (ko) * | 2019-04-26 | 2019-10-10 | 주식회사그린존시큐리티 | 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법 |
CN114327371B (zh) * | 2022-03-04 | 2022-06-21 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的多键排序方法和系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5442699A (en) * | 1994-11-21 | 1995-08-15 | International Business Machines Corporation | Searching for patterns in encrypted data |
JP2002108910A (ja) * | 2000-09-27 | 2002-04-12 | Nec Soft Ltd | 暗号化ファイルシステム及び暗号化ファイル検索方法並びにコンピュータ可読記録媒体 |
JP4011383B2 (ja) | 2002-04-04 | 2007-11-21 | Kddi株式会社 | データ検索方法、データ検索システム、検索キーワード生成装置、及びコンピュータプログラム |
JP2004201038A (ja) * | 2002-12-18 | 2004-07-15 | Internatl Business Mach Corp <Ibm> | データ記憶装置、これを搭載した情報処理装置及びそのデータ処理方法並びにプログラム |
US7512814B2 (en) * | 2004-11-09 | 2009-03-31 | Fortiva Inc. | Secure and searchable storage system and method |
JP4154444B2 (ja) * | 2006-10-16 | 2008-09-24 | シャープ株式会社 | 情報記録装置、情報再生装置、プログラム、及び記録媒体 |
JP5432736B2 (ja) | 2010-01-18 | 2014-03-05 | 日本電信電話株式会社 | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 |
JP5411034B2 (ja) | 2010-03-19 | 2014-02-12 | 株式会社日立ソリューションズ | データベース暗号化システム及び方法 |
JP5412414B2 (ja) * | 2010-12-08 | 2014-02-12 | 株式会社日立製作所 | 検索可能暗号処理システム |
US8429421B2 (en) | 2010-12-17 | 2013-04-23 | Microsoft Corporation | Server-side encrypted pattern matching |
JP5486519B2 (ja) | 2011-01-20 | 2014-05-07 | 日本電信電話株式会社 | 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム |
WO2012115031A1 (ja) * | 2011-02-22 | 2012-08-30 | 三菱電機株式会社 | 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム |
JP5667969B2 (ja) | 2011-12-22 | 2015-02-12 | 株式会社日立製作所 | 検索処理システムおよび部分一致検索方法 |
JP5670365B2 (ja) | 2012-01-26 | 2015-02-18 | 日本電信電話株式会社 | 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム |
US20130238646A1 (en) * | 2012-03-06 | 2013-09-12 | Evrichart, Inc. | Partial-Match Searches of Encrypted Data Sets |
JP5255154B1 (ja) | 2012-12-26 | 2013-08-07 | 株式会社エアー | 部分一致検索の可能な暗号システム |
JP6144992B2 (ja) | 2013-08-08 | 2017-06-07 | 株式会社日立製作所 | 検索可能暗号処理システム及び方法 |
US9489501B2 (en) * | 2013-09-19 | 2016-11-08 | Fujitsu Limited | Authentication method, authentication device, and system |
-
2016
- 2016-01-18 WO PCT/JP2016/051244 patent/WO2017126000A1/ja unknown
- 2016-01-18 US US15/774,498 patent/US10673627B2/en active Active
- 2016-01-18 JP JP2017546744A patent/JP6289768B2/ja active Active
- 2016-01-18 EP EP16886243.1A patent/EP3373504B1/en active Active
- 2016-01-18 CN CN201680074149.1A patent/CN108370312B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP3373504B1 (en) | 2019-09-11 |
CN108370312B (zh) | 2021-01-05 |
CN108370312A (zh) | 2018-08-03 |
US20190260583A1 (en) | 2019-08-22 |
EP3373504A1 (en) | 2018-09-12 |
JPWO2017126000A1 (ja) | 2018-01-25 |
EP3373504A4 (en) | 2018-09-12 |
WO2017126000A1 (ja) | 2017-07-27 |
US10673627B2 (en) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6234605B2 (ja) | サーバ装置及び検索システム及び端末装置及び検索方法及びサーバプログラム及び端末プログラム | |
WO2012095973A1 (ja) | データ処理装置及びデータ保管装置 | |
JP6239213B1 (ja) | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム | |
JP6038427B1 (ja) | 暗号化装置、暗号化方法、暗号化プログラム及び保管装置 | |
JP6910477B2 (ja) | 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム | |
JP6289768B2 (ja) | 暗号化装置、暗号化プログラム及び暗号化方法 | |
JP6632780B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
US11902418B2 (en) | Registration device, search operation device, and data management device | |
JP6672451B2 (ja) | 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法 | |
JP7016458B2 (ja) | 秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム | |
Zhang et al. | Privacy-preserving multi-pattern matching | |
WO2015107561A1 (ja) | 検索システム、検索方法および検索プログラム | |
JP6381861B2 (ja) | 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム | |
Chen et al. | Memory leakage-resilient dynamic and verifiable multi-keyword ranked search on encrypted smart body sensor network data | |
Mallaiah et al. | Word and Phrase Proximity Searchable Encryption Protocols for Cloud Based Relational Databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170904 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170904 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170904 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171127 |
|
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: 20180109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6289768 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 |