JPWO2017061024A1 - 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム - Google Patents
秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム Download PDFInfo
- Publication number
- JPWO2017061024A1 JPWO2017061024A1 JP2016526364A JP2016526364A JPWO2017061024A1 JP WO2017061024 A1 JPWO2017061024 A1 JP WO2017061024A1 JP 2016526364 A JP2016526364 A JP 2016526364A JP 2016526364 A JP2016526364 A JP 2016526364A JP WO2017061024 A1 JPWO2017061024 A1 JP WO2017061024A1
- Authority
- JP
- Japan
- Prior art keywords
- search
- data
- encrypted
- similarity
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- 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
-
- 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/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Abstract
Description
近年、クラウドサービス等の普及により、インターネット上でのデータ管理が可能となった。しかし、インターネット上でのデータ管理には、データ管理の委託先であるクラウドのサーバがコンピュータウィルス等のマルウェアに感染すること、あるいは、サーバの管理者が不正を働くことなどによって、預けたデータが外部に漏洩する危険性がある。もしサーバに預けたデータが個人情報あるいは企業機密データであった場合、この漏洩は非常に問題である。
また、特許文献1、特許文献2、特許文献3、及び非特許文献2には、より柔軟な検索である類似度検索ができる方式が開示されている。ここから以降、類似度検索ができる秘匿検索技術を秘匿類似度検索技術と呼ぶ。特許文献1及び非特許文献2では、暗号化したまま演算が可能な準同型暗号と呼ばれる特殊な暗号技術を用いてハミング距離を効率良く計算する秘匿類似度検索技術を開示している。
また、非特許文献3、非特許文献4、非特許文献5、非特許文献6においても準同型暗号について開示されている。
サーバは、データ検索者から検索の要求、すなわち類似度計算の要求があれば、類似度を秘匿したまま計算し、その計算結果をデータ検索者に送信する。その後、データ検索者は復号することで類似度を知ることができる。このように、秘匿類似度検索技術は、検索としてのみならず、秘匿分析技術としての側面を持っている。
具体例として、データ登録者を患者、データ検索者を分析者としたとき、秘匿類似度検索技術は、患者のプライバシを保ったまま、すなわち患者の個人データを公開することなく、暗号化したまま分析できる。このため、患者は安心してデータ分析者に分析を依頼することができる。よって、このような秘匿類似度検索技術はプライバシ保護の観点からも非常に有用である。
特許文献1及び非特許文献2では、暗号化したまま演算が可能な準同型暗号と呼ばれる特殊な暗号技術を用いてハミング距離を効率良く計算する秘匿類似度検索技術を開示している。ここで開示された方法では、データ検索者がデータ検索を行った結果、保管暗号化データの平文と検索暗号化データの平文との類似度を、データ検索者は平文で知ることができる。なお、サーバ上ではこの類似度の値が一切現れない。このとき、データ検索者は、検索暗号化データの平文と類似度との2つのデータから、保管暗号化データの平文を推測できる可能性がある。
一方で、データ検索者は、検索暗号化データの平文が(0,0,0)であり、この平文(0,0,0)と保管暗号化データの平文とのハミング距離として(0,1,2)が得られたとする。このとき、データ検索者は、この保管暗号化データの平文を(0,0,0,1,1)と簡単に特定することができる。
準同型暗号により暗号化された保管データである保管暗号化データと、前記保管データの検索に用いる検索データであって前記準同型暗号により暗号化された検索データである検索暗号化データとを準同型演算することにより、前記保管データと前記検索データとの類似度が前記準同型暗号により暗号化された暗号化類似度を算出する暗号化類似度計算部と、
前記暗号化類似度を用いて前記類似度が閾値以内であるか否かを表す暗号化検索結果を生成し、生成した前記暗号化検索結果を送信する暗号化結果送信部と
を有する管理装置と、
前記管理装置から送信された前記暗号化検索結果を復号し、復号した前記暗号化検索結果を検索結果として出力する復号部と、
前記検索結果に基づいて、前記類似度が前記閾値以内であるか否かを表す検索結果情報を出力する出力部と
を有する検索装置と
を備える。
本実施の形態では、暗号技術の一つである準同型暗号を用いた秘匿類似度検索技術について説明する。
まずは、準同型暗号とその応用について説明する。
準同型暗号は、暗号化データを復号することなく暗号化したまま四則演算が行える暗号技術である。
準同型暗号では、E(x)とE(y)に対して演算を行うと、平文がx+yの暗号文E(x+y)を得ることができる。これを準同型加算と呼び、本実施の形態ではこの演算を◇と表わし、E(x)◇E(y)=E(x+y)と書くことにする。
また、E(x)とE(y)に対して演算を行うと、平文がx−yの暗号文E(x−y)を得ることができる。これを準同型減算と呼び、本実施の形態ではこの演算を◆と表わし、E(x)◆E(y)=E(x−y)と書くことにする。
また、E(x)とE(y)に対して演算を行うと、平文がx×yの暗号文E(x×y)を得ることができる。これを準同型乗算と呼び、本実施の形態ではこの演算を□と表わし、E(x)□E(y)=E(x×y)と書くことにする。
また、E(x)とE(y)に対して演算を行うと、平文がx/yの暗号文E(x/y)を得ることができる。これを準同型除算と呼び、本明細書ではこの演算を■と表わし、E(x)■E(y)=E(x/y)と書くことにする。
なお、準同型暗号の中には、準同型加算及び準同型減算しかできないものと、準同型加算及び準同型減算の回数制限はないが準同型乗算及び準同型除算の回数制限があるものとがある。また、準同型加算及び準同型減算と、準同型乗算及び準同型除算共に回数制限がないものがある。
まず、具体例1について説明する。具体例1の準同型暗号を用いて、(x1,x2)と(y1,y2)の間のユークリッド2乗距離の暗号文、すなわち暗号化類似度を暗号化したまま求める例について説明する。なお、(x1,x2)と(y1,y2)の間のユークリッド2乗距離は、(x1−y1)×(x1−y1)+(x2−y2)×(x2−y2)と計算して求めることができる。ただし、x1,x2,y1,y2は、整数とする。
ここで、保管暗号化データをE(x1,x2)=(E(x1),E(x2))、検索暗号化データをE(y1,y2)=(E(y1),E(y2))とする。すなわち、それぞれの暗号文は、各平文の暗号文を成分に持つベクトルである。
このとき、暗号化ユークリッド2乗距離を計算するためには、まず、T1=E(x1−y1)=E(x1)◆E(y1)及びT2=E(x2−y2)=E(x2)◆E(y2)を計算する。その後、T3=T1□T1=E((x1−y1)2)及びT4=T2□T2=E((x2−y2)2)を計算する。最後に、T3◇T4=E((x1−y1)2+(x2−y2)2)を計算すればよい。
また、具体例2の2つ目の例では、準同型加算及び準同型減算しかできない準同型暗号方式を用いて、保管されている平文データと検索暗号化データの平文との暗号化Tversky係数、すなわち暗号化類似度を計算する。さらに、計算した暗号化類似度から、復号後の平文の類似度がある閾値以内か否かだけがわかるような暗号文、すなわち暗号化検索結果を生成している。しかし、この具体例2の2つ目の例では、保管されている平文データと検索暗号化データの平文との暗号化類似度を求める方式であるため、セキュリティ上の安全性が低い。
以下、本実施の形態の概要について説明する。
図1は、本実施の形態に係る秘匿検索システム100のシステム構成を示す図である。
図1に示すように、秘匿検索システム100は、鍵生成装置200と、複数の登録装置300と、複数の検索装置400と、管理装置500とを備える。管理装置500aについては実施の形態2で説明する。
秘匿検索システム100では、鍵生成装置200と、複数の登録装置300と、複数の検索装置400と、管理装置500とのそれぞれがネットワーク101を経由して接続される。
ネットワーク101は、鍵生成装置200と、複数の登録装置300と、複数の検索装置400と、管理装置500とを接続する通信路である。ネットワーク101は、具体的には、インターネット、LAN(Local Area Network)であり、他の種類のネットワークが用いられてもよい。
登録装置300は、暗号化装置及び登録装置として機能する。すなわち、登録装置300は、保管暗号化データを生成し、保管暗号化データの保管を管理装置500に要求する。
また、登録装置300は、削除要求装置として機能する。すなわち、登録装置300は、管理装置500に対して、保管されている保管暗号化データの削除を要求する。
検索装置400は、検索要求装置として機能する。すなわち、検索装置400は、検索暗号化データを管理装置500に送信し、保管暗号化データと検索暗号化データとに関する暗号化類似度の計算を要求する。
検索装置400は、復号装置として機能する。すなわち、検索装置400は、管理装置500から返信される暗号化検索結果を復号する。
管理装置500は、保管装置として機能する。すなわち、管理装置500は、登録装置300から保管暗号化データの保管の要求があれば、保管暗号化データを保管する。
管理装置500は、検索実行装置として機能する。すなわち、管理装置500は、検索装置400からの検索の要求があれば、保管暗号化データと検索暗号化データとから暗号化類似度を計算し、その後暗号化類似度から暗号化検索結果を計算し、暗号化検索結果を検索装置400に送信する。
管理装置500は、削除装置として機能する。すなわち、管理装置500は、登録装置300から保管暗号化データの削除の要求があれば、保管している保管暗号化データを削除する。
保管暗号化データ及び検索暗号化データは、いずれも暗号化されている。また、暗号化類似度及び暗号化検索結果も暗号化されている。検索装置400以外の秘密鍵SKを持たない装置では、保管暗号化データ、検索暗号化データ、暗号化類似度、暗号化検索結果から有益な情報を得ることはできない。
図1に示したように、秘匿検索システム100は、鍵生成装置200と、登録装置300と、検索装置400と、管理装置500とを備える。以下では、鍵生成装置200の構成、登録装置300の構成、検索装置400の構成、管理装置500の構成について順番に説明する。
図2に示すように、鍵生成装置200は、鍵生成部201と、鍵送信部202とを備える。また、図示していないが、鍵生成装置200は、鍵生成装置200の各部で使用されるデータを記憶する記録媒体を備える。
図3に示すように、登録装置300は、鍵受信部301と、鍵保管部302と、入力部303と、暗号化部304と、データ送信部305とを備える。図示していないが、登録装置300は、登録装置300の各部で使用されるデータを記憶する記録媒体を備える。
鍵保管部302は、鍵受信部301により受信された公開鍵PKを保管する。
入力部303は、データ登録者から入力された保管データ610を受け取る。なお、本実施の形態では、保管データ610としてベクトル(x1,x2,・・・,xk)(kは、k≧1となる整数)をデータ登録者から受け取ったものとして説明する。
また、入力部303は、データ登録者から、保管データ610と同時に、その保管データ610に関する保管データ識別子を受けとってもよい。保管データ識別子は、具体的には、保管暗号化データ名、登録した時刻、データ登録者の名前など、保管データを識別できる情報であればよい。
また、入力部303は、データ登録者から、管理装置500に保管された保管暗号化データのうち、削除したい保管暗号化データを識別する削除対象データ識別子を受け取る。削除対象データ識別子は、具体的には、保管暗号化データ名、登録した時刻、データ登録者の名前など、保管データを識別できるもの情報であればよい。
なお、上述した具体例2の準同型暗号のように、ベクトルを一括で暗号化できる準同型暗号を用いた場合は、E(PK,x1,x2,・・・,xk)は1つの暗号化とみなすことができる。一方で、上述した具体例1の準同型暗号を用いた場合は、ベクトル成分毎に暗号化する必要がある。よって、具体例1の準同型暗号を用いた場合は、E(PK,x1,x2,・・・,xk)は、各ベクトル成分の暗号文のベクトル(E(PK,x1),E(PK,x2),・・・,E(PK,xk))とみなされる。
また、データ送信部305は、入力部303から受け取った削除対象データ識別子を管理装置500へ送信する。
図4に示すように、検索装置400は、受信部401と、鍵保管部402と、入力部403と、暗号化部404と、検索データ送信部405と、復号部406と、出力部407とを備える。図示していないが、検索装置400は、検索装置400の各部で使用されるデータを記憶する記録媒体を備える。
また、入力部403は、データ検索者から、検索データ710と共に、その検索データ710により検索する保管暗号化データ620を指定する検索対象データ識別子を受けとってもよい。検索データ710により検索する保管暗号化データとは、検索データ710により類似度を算出する対象の保管暗号化データのことである。検索対象データ識別子としては、具体的には、保管暗号化データ名、登録した時刻、データ登録者の名前など、保管暗号化データを特定できる情報であればよい。
検索データ送信部405は、暗号化部404から受け取った検索暗号化データ720、すなわちE(PK,y1,y2,・・・,ym)を管理装置500へ送信する。もし、データ検索者から検索データ710と共に検索対象データ識別子が入力されていた場合は、検索データ送信部405は、検索暗号化データ720と検索対象データ識別子との両方を管理装置500へ送信する。
復号部406は、鍵保管部402から秘密鍵SKを読み出し、受信部401から受け取った暗号化検索結果5001を復号して、検索結果4061を抽出する。
出力部407は、復号部406から受け取った検索結果4061をそのままデータ検索者に対して出力してもよい。
図5に示すように、管理装置500は、データ受信部501と、鍵保管部502と、データ保管部503と、暗号化類似度計算部504と、暗号化結果送信部505と、閾値保管部506とを備える。暗号化結果送信部505は、類似暗号文生成部5051と、平文ランダム化部5052と、結果送信部5053とを備える。
図示していないが、管理装置500は、管理装置500の各部で使用されるデータを記憶する記録媒体を備える。
また、データ受信部501は、保管データ610の検索に用いる検索データ710であって準同型暗号により暗号化された検索データ710である検索暗号化データ720を受信する。
データ受信部501は、登録装置300から送られてきた保管暗号化データ620、すなわちE(PK,x1,x2,・・・,xk)を受信する。データ受信部501は、保管暗号化データE(PK,x1,x2,・・・,xk)に加え、登録装置300から保管データ識別子及び削除対象データ識別子を受信する場合もある。また、データ受信部501は、上述したように、検索暗号化データE(PK,y1,y2,・・・,ym)に加え、検索装置400から送信されてきた検索対象データ識別子を受信する場合もある。
鍵保管部502は、データ受信部501から受け取った公開鍵PKを保管する。
データ保管部503は、データ受信部501から受け取った保管暗号化データE(PK,x1,x2,・・・,xk)と保管データ識別子とを対応付けて保管する。もし保管データ識別子がなかった場合は、データ保管部503は、保管データ識別子としてデータ登録者名あるいは登録時刻などから保管データ識別子を生成して、保管暗号化データと対応付けて保管する。
また、データ保管部503は、データ受信部501から受け取った削除対象データ識別子に基づき、保管している保管暗号化データを削除する。
暗号化類似度計算部504は、データ受信部501から検索暗号化データE(PK,y1,y2,・・・,ym)と検索対象データ識別子を受け取る。また、暗号化類似度計算部504は、鍵保管部502から公開鍵PKを読み出す。そして、暗号化類似度計算部504は、検索対象データ識別子に基づき、データ保管部503から保管暗号化データE(PK,x1,x2,・・・,xk)を読み出す。もし、検索対象データ識別子がなかった場合は、データ保管部503からすべての保管暗号化データ620を読み出す。
そして、暗号化類似度計算部504は、公開鍵PKと、各保管暗号化データ620と、検索暗号化データ720とを用いて、準同型演算を行って暗号化類似度5041を計算する。ここで、保管暗号化データE(PK,x1,x2,・・・,xk)と検索暗号化データE(PK,y1,y2,・・・,ym)との暗号化類似度5041をE(PK,S1,S2,・・・,Sn)と表わすことにする。
類似暗号文生成部5051は、鍵保管部502から公開鍵PKを読み出し、閾値保管部506から閾値θを読み出す。類似暗号文生成部5051は、公開鍵PKと閾値θとに基づいて、準同型演算を用いて、暗号化類似度計算部504から受け取った暗号化類似度5041の平文(S1,S2,・・・,Sn)と近い値を持つ暗号文を複数生成する。この生成された暗号文を類似暗号文50510と呼ぶことにし、各類似暗号文をE(PK,AS1,AS2,・・・,ASn)と表わすことにする。
平文ランダム化部5052は、鍵保管部502に保管されている公開鍵PKを読み出し、類似暗号文生成部5051から受け取った各類似暗号文E(PK,AS1,AS2,・・・,ASn)の平文(AS1,AS2,・・・,ASn)の各成分をランダム化する。平文ランダム化部5052は、各類似暗号文E(PK,AS1,AS2,・・・,ASn)の平文(AS1,AS2,・・・,ASn)の各成分をランダム化したランダム暗号文50520を生成する。ここで、ランダム暗号文50520をE(PK,R1,...,Rn)と表す。
すなわち、平文ランダム化部5052は、0でない複数の乱数と準同型演算を用いて、平文が0以外の暗号文を平文がランダムとなるように暗号文を変換し、また平文が0の暗号文を平文が0のまま変化しないように暗号文を変換するような特殊なランダム化処理を行う。よって、ランダム暗号文E(PK,R1,...,Rn)は各零保存ランダム暗号文E(PK,R1,...,Rn)とも称される。
図6は、本実施の形態に係る秘匿検索システム100の秘匿検索方法9100、秘匿検索プログラム9200の秘匿検索処理S100の流れを示すフロー図である。
秘匿検索処理S100は、鍵生成処理S110と、登録処理S120と、検索処理S130を有する。
鍵生成処理S110は、鍵生成装置200により鍵を生成して各装置に保管する。
登録処理S120は、保管データを暗号化して保管暗号化データとして管理装置500に保管する。
検索処理S130は、検索装置からの要求により、検索暗号化データと保管暗号化データとにおける暗号化類似度を算出し、検索データと保管データとの類似度が閾値以内か否かを表す暗号化検索結果を、平文情報を用いることなく生成する。
図7のS601からS608は、鍵生成装置200と、登録装置300と、検索装置400と、管理装置500とが実行する処理である。S601からS602は鍵生成装置200によって実行される。S603からS604は登録装置300によって実行される。S605からS606は検索装置400によって実行される。S607からS608は管理装置500によって実行される。
S601において、鍵生成部201は、データの暗号化及び復号をするための準同型暗号の公開鍵PKとその秘密鍵SKとを生成する。なお、ここでは公開鍵暗号系の準同型暗号を用いて説明するが、共通鍵暗号系の準同型暗号を用いてもよい。その場合は、鍵生成部201は、公開鍵PKを秘密鍵SKとして設定して、公開鍵暗号系の場合と同じように以降の処理を実施すればよい。
S602において、鍵送信部202は、S601で生成した公開鍵PKを、登録装置300と管理装置500へ送信する。また、鍵送信部202は、S601で生成した公開鍵PKと秘密鍵SKのペアを検索装置400へ送信する。
S603において、鍵受信部301は、S602で送信された公開鍵PKを受信する。
S604において、鍵保管部302は、S603で受信した公開鍵PKを記憶媒体に保管する。
S605において、受信部401は、S602で送信された公開鍵PKと秘密鍵SKとのペアを受信する。
S606において、鍵保管部402は、S605で受信した公開鍵PKと秘密鍵SKのペアを記憶媒体に保管する。なお、秘密鍵SKは秘密情報であるため、検索装置400及び検索装置400を用いるデータ検索者以外に公開しないように厳重に保管する。
S607において、データ受信部501は、S602で送信された公開鍵PKを受信する。
S608において、鍵保管部502は、S607で受信した公開鍵PKを記憶媒体に保管する。
以上で、秘匿検索システム100の鍵生成保管処理は終了する。
もし、公開鍵PK=秘密鍵SKの場合は、公開鍵PKも秘密情報となるため、鍵保管部302、鍵保管部402、鍵保管部502ともに、公開鍵PKを厳重に保管する。
以上により、秘匿検索システム100の鍵生成処理S110は終了する。
図8のS701からS705は、登録装置300と管理装置500が実行する処理である。S701からS703は登録装置300によって実行される処理である。S704からS705は管理装置500によって実行される処理である。
S701において、入力部303は、データ登録者から入力された保管データ(x1,x2,・・・,xk)(k≧1)を受け取る。入力部303は、データ登録者から保管データと共に、その保管データに関する保管データ識別子も受けとってもよい。
S702において、暗号化部304は、鍵保管部302に保管されている公開鍵PKを用いて、S701で入力された保管データ(x1,x2,・・・,xk)を暗号化して、保管暗号化データE(PK,x1,x2,・・・,xk)を生成する。
S703において、データ送信部305は、S702で生成した保管暗号化データE(PK,x1,x2,・・・,xk)を管理装置500へ送信する。もし、S702で保管データ識別子も入力されていれば、保管データ識別子も同時に送付する。
S704において、データ受信部501は、S703で送信された保管暗号化データE(PK,x1,x2,・・・,xk)を受信する。もし、S704で保管データ識別子も送信されていたら、保管データ識別子も受信する。
S705において、データ保管部503は、S704で受信した保管暗号化データE(PK,x1,x2,・・・,xk)を保管する。もし、S704で保管データ識別子も受信されていれば、その保管暗号化データと関連付けて保管する。
以上により、秘匿検索システム100の登録処理S120は終了する。
図9のS801からS812は、検索装置400と管理装置500が実行する処理である。S801からS803及びS810からS812は検索装置400によって実行される処理である。S804からS809は管理装置500によって実行される処理である。
S801において、入力部403は、データ検索者から入力された検索データ(y1,y2,・・・,ym)を受け取る。入力部403は、データ検索者から検索データと同時に、検索を行いたい保管暗号化データを示す検索対象データ識別子も受けとってもよい。
S802において、暗号化部404は、鍵保管部402に保管されている公開鍵PKを用いて、S801で入力された検索データ(y1,y2,・・・,ym)を暗号化して、検索暗号化データE(PK,y1,y2,・・・,ym)を生成する。
S803において、検索データ送信部405は、S802で生成した検索暗号化データE(PK,y1,y2,・・・,ym)を管理装置500へ送信する。もし、S801で検索対象データ識別子も入力されていれば、検索対象データ識別子も同時に送付する。
上述したように、管理装置500は、準同型暗号により暗号化された保管データ610を保管暗号化データ620として保管する。
データ受信部501は、保管データ610の検索に用いる検索データ710であって準同型暗号により暗号化された検索データ710である検索暗号化データ720を受信するデータ受信処理S804を実行する。
データ受信処理S804において、データ受信部501は、S803で送信された検索暗号化データE(PK,y1,y2,・・・,ym)を受信する。もし、S803で検索対象データ識別子も送信されていたら、検索対象データ識別子も受信する。
暗号化類似度計算部504は、保管暗号化データ620と検索暗号化データ720とを準同型演算することにより、保管データ610と検索データ710との類似度が準同型暗号により暗号化された暗号化類似度5041を算出する暗号化類似度算出処理S806を実行する。
暗号化類似度算出処理S806において、暗号化類似度計算部504は、鍵保管部502に保管されている公開鍵PKを用いて、S805で読み出した各保管暗号化データE(PK,x1,x2,・・・,xk)とS804で受信した検索暗号化データE(PK,y1,y2,・・・,ym)との間で準同型演算を行い、暗号化類似度E(PK,S1,S2,・・・,Sn)を計算する。
例えば、暗号化類似度計算部504は、上述した具体例1の準同型暗号を用いて、ユークリッド2乗距離を計算することにより暗号化類似度E(PK,S1,S2,・・・,Sn)を算出する。
また、例えば、暗号化類似度計算部504は、上述した具体例2の準同型暗号を用いて、ハミング距離を計算することにより暗号化類似度E(PK,S1,S2,・・・,Sn)を算出する。
類似暗号文生成部5051は、類似度に類似する複数の平文であって類似度が閾値以内の場合には少なくとも1つは0となる複数の平文の各々が、準同型暗号により暗号化された複数の類似暗号文を生成する類似暗号文生成処理S807を実行する。
類似暗号文生成処理S807において、類似暗号文生成部5051は、鍵保管部502から公開鍵PKを読み出し、閾値保管部506から閾値θを読み出す。類似暗号文生成部5051は、公開鍵PKと閾値θとに基づいて、準同型演算を用いて、暗号化類似度計算部504から受け取った暗号化類似度5041の平文(S1,S2,・・・,Sn)と近い値を持つ暗号文を複数生成する。ここで生成された複数の暗号文の各々は、類似暗号文E(PK,AS1,AS2,・・・,ASn)である。
具体的には、類似暗号文生成部5051は、鍵保管部502に保管されている公開鍵PKと、閾値保管部506に保管されている閾値θとを用いて、類似暗号文50510をθ+1個生成する。ここで、生成された類似暗号文50510の集合を{c0,c1,・・・,cθ}と表し、各cをE(PK,AS1,AS2,・・・,ASn)と表わす。また、類似暗号文の集合内の暗号文は、c0,c1,・・・,cθの順で並んでいるものとする。
ここでは、0番目の類似暗号文は暗号化類似度から0を引いた値、1番目の類似暗号文は暗号化類似度から1を引いた値、・・・、θ番目の類似暗号文は暗号化類似度からθを引いた値である。すなわち、類似暗号文生成部5051は、類似度が閾値θ以内の場合に、先頭から類似度の値番目の平文が0となる複数の平文の各々が準同型暗号により暗号化された複数の類似暗号文を生成することになる。
平文ランダム化部5052は、複数の類似暗号文50510の複数の平文をランダム化し、ランダム化された複数の平文の各々が準同型暗号により暗号化されたランダム暗号文50520の集合を生成する平文ランダム化処理S808を実行する。
平文ランダム化処理S808において、平文ランダム化部5052は、鍵保管部502に保管されている公開鍵PKを用いて、類似暗号文生成処理S807で生成した類似暗号文の集合の各類似暗号文cに対して平文のランダム化を行う。平文ランダム化部5052は、各類似暗号文cに対して平文のランダム化を行った結果、ランダム暗号文をθ+1個生成する。ここで、生成されたランダム暗号文の集合を{C0,C1,・・・,Cθ}と表し、各ランダム暗号文CをE(PK,R1,...,Rn)と表わす。また、ランダム暗号文の集合内の暗号文は、C0,C1,・・・,Cθの順で並んでいるものとする。
もし、暗号化類似度E(PK,S1,S2,・・・,Sn)の中に類似度がθ以内の平文Siがあれば、類似暗号文生成処理S807で準同型演算を用いて暗号文を変換した結果、平文として0となる、すなわちASi=0となる暗号文を生成される。よって、平文ランダム化部5052によるランダム化を行ってもRi(=ri×ASi)が0のまま保存される。Ri(=ri×ASi)が0のまま保存された場合は、ランダム暗号文Eを復号すると0が現れる。
対偶をとると、0ではない平文しか現れなかった場合、すなわち復号しても0が現れなかった場合は、類似度Siの値は分からずに、類似度Siが閾値以内ではなかったことのみが分かる。
結果送信部5053は、平文ランダム化処理S808により生成されたランダム暗号文50520の集合を用いて、類似度が閾値θ以内であるか否かを表す暗号化検索結果5001を生成し、生成した暗号化検索結果5001を送信する結果送信処理S809を実行する。
結果送信部5053は、平文ランダム化処理S808により生成されたランダム暗号文の集合{C0,C1,・・・,Cθ}を暗号化検索結果5001として検索装置400に送信する。
S810において、受信部401は、結果送信処理S809で送信された暗号化検索結果5001、すなわちランダム暗号文の集合{C0,C1,・・・,Cθ}を受信する。
また、出力部407は、複数の平文の中に値が0の平文があると判定した場合に、複数の平文における値が0の平文の順番を取得する。出力部407は、取得した順番を類似度と特定し、特定した類似度を出力してもよい。
S812により、秘匿検索システム100の検索処理は終了する。
ここで、上述した具体例1の準同型暗号に基づき、本実施の形態の検索処理S130の具体例10について説明する。ここでは、保管データを(0,0,1)、検索データを(0,0,0)、θ=1として説明する。このときの保管データと検索データとのユークリッド2乗距離は1である。本実施の形態では、データ検索者に保管データと検索データの類似度が1であることを伝えたい。
S802では、暗号化部404は、公開鍵PKを用いて、検索暗号化データE(PK,0,0,0)=(E(PK,0),E(PK,0),E(PK,0))を計算する。
S803では、検索データ送信部405は、検索暗号化データE(PK,0,0,0)を管理装置500へ送信する
S804では、データ受信部501は、検索暗号化データE(PK,0,0,0)を受信する。
S806では、暗号化類似度計算部504は、暗号化類似度E(PK,1)を計算する。
式1:C0=E(PK,R0)=r0×c0=E(PK,1)◇・・・◇E(PK,1)=E(PK,r0)
式2:C1=E(PK,R1)=r1×c1=E(PK,0)◇・・・◇E(PK,0)=E(PK,0)
S810では、受信部401は、{E(PK,r0),E(PK,0)}を受信する。
S811では、復号部406は、秘密鍵SKを用いて、E(PK,r0)とE(PK,0)を復号して、平文としてr0と0を得る。
S812では、出力部407は、復号して0が現れたので、保管暗号化データの平文(0,0,1)と検索データ(0,0,0)の類似度(ユークリッド2乗距離)が1であることを表す検索結果情報4071を表示装置等に表示する。データ検索者は、表示された検索結果情報4071から、類似度(ユークリッド2乗距離)が1であることが分かる。
次に、検索処理の具体例10とは異なる例として、検索処理の具体例20について説明する。ここでは、保管データを(0,1,1)、検索データを(0,0,0)、θ=1を説明する。このとき、保管データ(0,1,1)と検索データ(0,0,0)とのユークリッド2乗距離は2である。本実施の形態では、類似度が閾値θ以上であるため、データ検索者には、保管データと検索データの類似度は閾値より大きいという事実のみを伝えたい。
S806では、暗号化類似度計算部504は、暗号化類似度としてE(PK,2)を計算する。
S807では、平文ランダム化部5052は、E(PK,2−0)=E(PK,2)及びE(PK,2−1)=E(PK,1)を生成する。
S808では、平文ランダム化部5052は、乱数r0とr1を生成し、準同型加算を行って、C0=E(PK,R0)=E(PK,2×r0)とC1=E(PK,R1)=E(PK,r1)を生成する。
S810では、受信部401は、{E(PK,2×r0),E(PK,r1)}を受信する。
S811では、復号部406は、秘密鍵SKを用いて、E(PK,2×r0)とE(PK,r1)とを復号して、平文として2×r0とr1を得る。
S812では、出力部407は、復号しても0が現れないため、保管暗号化データの平文(0,1,1)と検索データ(0,0,0)の類似度(ユークリッド2乗距離)が閾値θより大きいことを表す検索結果情報4071を表示する。このとき、類似度そのものの値(=2)は検索処理の過程で現れず、表示されない。よって、データ検索者は復号しても乱数2×r0及びr1しか得ることができない。したがって、データ検索者は、保管データと検索データの類似度は閾値1より大きいという事実のみがわかる。
図10のS901からS904は、登録装置300と管理装置500とが実行する処理である。S901からS902は登録装置300によって実行される処理である。S903からS904は管理装置500によって実行される処理である。
S901において、入力部303は、データ登録者から削除したい保管暗号化データについての削除対象データ識別子を受け取る。上述のように、削除対象データ識別子は、削除対象の保管データを識別できる情報であれば何でもよい。
S902において、データ送信部305は、S901で入力された削除対象データ識別子を管理装置500へ送信する。
S903において、データ受信部501は、S902で登録装置300から送信されてきた削除対象データ識別子を受信する。
S904において、データ保管部503は、S903で受信した削除対象データ識別子に基づき、保管している保管暗号化データを削除する。
S904により、秘匿検索システム100の削除処理は終了する。
本実施の形態は、以下のような効果を奏する。
本実施の形態に係る秘匿検索システム100によれば、保管データを暗号化して保管しているので、たとえ管理装置500から保管暗号化データが漏洩しても、保管データの中身そのものを知られることはない。
また、本実施の形態に係る秘匿検索システム100によれば、検索データのみならず保管データも暗号化したまま処理ができるため、より安全性が高い秘匿類似度検索を達成できる。
また、本実施の形態に係る秘匿検索システム100によれば、公開鍵暗号を用いても秘匿類似度検索を達成できるため、データ登録者とデータ検索者との間で秘密鍵を共有することがなく、データ登録者とデータ検索者との役割を分離することができる。
また、本実施の形態に係る秘匿検索システム100では、管理装置は保管データと検索データとをともに暗号化したまま類似度の暗号文を計算でき、またその暗号文を攪乱することにより、類似度が閾値以内か否かのみの情報のみを出力することができる。
秘匿検索システム100は、複数の鍵生成装置200を備えていてもよい。また、秘匿検索システム100は、1つの登録装置300のみを備えていてもよい。また、秘匿検索システム100は、1つの検索装置400のみを備えていてもよい。秘匿検索システム100は、複数の管理装置500を備えていてもよい。
本実施の形態では、主に、実施の形態1と異なる点について説明する。
実施の形態1に係る秘匿検索システム100では、保管データと検索データとの類似度が閾値以内であれば、データ検索者が類似度そのものを知ることができた。しかし、本実施の形態では、類似度が閾値以内であっても、データ検索者は類似度が閾値以内であったことのみしか知ることができないようにすることを目的とする秘匿検索システム100について説明する。
図11は、本実施の形態に係る管理装置500の構成を示すブロック図である。
本実施の形態において、実施の形態1で説明した構成部と同様の機能を有する構成部には同一の符号を付し、その説明を省略する。
暗号文攪乱部50531は、平文ランダム化部5052により生成されたランダム暗号文50520の集合を攪乱し、攪乱したランダム暗号文50520の集合を攪乱ランダム暗号文5002として生成する。
具体的には、暗号文攪乱部50531は、ランダム暗号文50520の集合において、ランダム暗号文50520の集合におけるランダム暗号文50520の順序を変更することによりランダム暗号文50520の集合を攪乱する。暗号文攪乱部50531は、順序を変更したランダム暗号文50520の集合を攪乱ランダム暗号文5002として生成する。
なお、暗号文攪乱部50531の処理は、暗号化検索結果を復号しても類似度そのものが現れないようにするために実行される。つまり、類似度がある閾値以内か否かのみがわかるような暗号文に変換するための最終処理である。具体的には、ランダム暗号文50520の集合の各ランダム暗号文の順番、すなわち順序をランダムに置換すること、あるいは、ランダム暗号文間の成分をランダムに交換すること、あるいは、準同型演算を行ってランダム暗号文を1つの暗号文に結合することなどを行う。これらの具体的処理については後述する。
検索装置400の出力部407は、複数の平文に値が0の平文があるか否かを判定し、値が0の平文があると判定した場合に類似度が閾値θ以内であることを表す検索結果情報4071を出力する。また、検索装置400の出力部407は、複数の平文に値が0の平文がないと判定した場合には類似度が閾値θより大きいことを表す検索結果情報4071を出力する。
図12は、本実施の形態における秘匿検索システム100の検索処理S130aを示すフローチャートである。
本実施の形態では、置換関数π:{0,1,・・・,θ}→{0,1,・・・,θ}を用いて検索処理を実行することにより、類似度を知られることを困難とし、安全性をより向上させる秘匿検索システム100について説明する。
本実施の形態の秘匿検索システム100の動作において、実施の形態1と異なる点は検索処理の一部のみである。
なお、本実施の形態の検索処理S130aにおけるS1001からS1008は、実施の形態1のS801からS808と同様の処理であるため、ここでは説明を省略する。
S1009において、暗号文攪乱部50531は、S1008で生成したランダム暗号文の集合{C0,C1,・・・,Cθ}に対して、ランダム暗号文の順序変更をランダムに行い、攪乱ランダム暗号文の集合を生成する。なお、この順序変更を行った結果は、置換関数π:{0,1,・・・,θ}→{0,1,・・・,θ}を用いて、{Cπ(0),Cπ(1),・・・,Cπ(θ)}と表わすことができ、攪乱ランダム暗号文の順番もこのように並んでいるとする。なお、もしπ(i)=π(j)ならばi=jである。
S1011において、受信部401は、S1010で送信された暗号化検索結果{Cπ(1),Cπ(2),・・・,Cπ(θ)}を受信する。
S1012において、復号部406は、鍵保管部402に保管されている秘密鍵SKを用いて、S1011で受信した暗号化検索結果{Cπ(1),Cπ(2),・・・,Cπ(θ)}を復号して、検索結果4061を得る。
S1013において、出力部407は、S1012で得られた検索結果を判定した結果に基づき、データ検索者に対して検索結果情報4071を出力する。
出力部407は、検索結果4061を用いて、攪乱ランダム暗号文の複数の平文に、0の平文があるか否かを判定し、0の平文があると判定した場合に類似度が閾値θ以内であることを表す検索結果情報4071を出力する。また、出力部407は、攪乱ランダム暗号文の複数の平文に、0の平文がないと判定した場合には類似度が閾値θより大きいことを表す検索結果情報4071を出力する。
S1013により、秘匿検索システム100の検索処理は終了する。
ここで、上述した具体例1の準同型暗号に基づき、本実施の形態の検索処理の具体例30について説明する。ここでは、保管データを(0,0,1)、検索データを(0,0,0)、θ=1として説明する。このときの保管データを(0,0,1)と検索データを(0,0,0)のユークリッド2乗距離は1である。本実施の形態では、データ検索者に、保管データと検索データの類似度が1以内であることのみを伝えたい。
S1007では、類似暗号文生成部5051は、準同型減算を行って、E(PK,1)から2個の暗号文E(PK,1−0)=E(PK,1)とE(PK,1−1)=E(PK,0)を生成する。つまり、{c0,c1}={E(PK,1),E(PK,0)}を生成する。
式3:C0=E(PK,R0)=r0×c0=E(PK,1)◇・・・◇E(PK,1)=E(PK,r0)
式4:C1=E(PK,R1)=r1×c1=E(PK,0)◇・・・◇E(PK,0)=E(PK,0)。
S1010では、結果送信部5053は、{E(PK,0),E(PK,r0)}を送信する。
S1012では、復号部406は、秘密鍵SKを用いて、E(PK,0)とE(PK,r0)を復号して、平文として0と乱数r0を得る。
S1013では、出力部407は、復号して0が現れたので、保管暗号化データの平文(0,0,1)と検索データ(0,0,0)の類似度、すなわちユークリッド2乗距離が閾値θ以内、すなわち1以内であるという事実を表す検索結果情報4071を出力する。
以上のように、本実施の形態に係る秘匿検索システム100によれば、実施の形態1と同様な効果を得ることに加えて、データ検索者は、検索結果から、保管データと検索データの類似度が閾値以内か否かのみしか知ることができないため、より安全性が向上する。
本実施の形態では、主に、実施の形態1,2と異なる点について説明する。
本実施の形態では、実施の形態2と同様の目的を達成するための秘匿検索方法であって実施の形態2とは異なる秘匿検索方法について説明する。
本実施の形態では、実施の形態2と同様に置換関数π:{0,1,・・・,θ}→{0,1,・・・,θ}を用いて、実施の形態2と同様に秘匿検索システムの安全性を向上させる方法について説明する。
本実施の形態の秘匿検索システムは実施の形態2とほぼ同じであり、検索処理の一部のみ異なっている。
本実施の形態に係る秘匿検索システム100の構成は、実施の形態2で説明したものと同様である。
本実施の形態において、実施の形態2で説明した構成部と同様の機能を有する構成部には同一の符号を付し、その説明を省略する。
図13は、本実施の形態における秘匿検索システム100の検索処理S130bを示すフローチャートである。
図13のS1101からS1113は、検索装置400と管理装置500が実行する処理である。S1101からS1103及びS1111からS1113は検索装置400によって実行される処理である。S1104からS1110は管理装置500によって実行される処理である。
なお、本検索処理におけるS1101からS1108は、実施の形態2のS1001からS1008と同様の処理であるため、ここでは説明を省略する。
S1109において、暗号文攪乱部50531は、S1108で生成したランダム暗号文の集合{C0,C1,・・・,Cθ}に対して、あるランダム暗号文Ci=E(PK,Ri1,Ri2,・・・,Rin)の平文(Ri1,Ri2,・・・,Rin)と、あるランダム暗号文Cj=E(PK,Rj1,Rj2,・・・,Rjn)の平文(Rj1,Rj2,・・・,Rjn)の同じ位置の成分をランダムに交換する。暗号文攪乱部50531は、このような交換を繰り返すことで攪乱ランダム暗号文の集合{RC1,RC2,・・・,RCn}を生成する。
具体的には、暗号文攪乱部50531は、CiのRi1とCjのRj1のみを交換して新しい暗号文RCi=E(PK,Rj1,Ri2,・・・,Rin)及びRCj=E(PK,Ri1,Rj2,・・・,Rjn)を生成する。暗号文攪乱部50531は、このような処理を繰り返して、攪乱ランダム暗号文{RC1,RC2,・・・,RCn}を生成する。
S1111において、受信部401は、S1110で送信された暗号化検索結果{RC1,RC2,・・・,RCn}を受信する。
S1112において、復号部406は、鍵保管部402に保管されている秘密鍵SKを用いて、S1011で受信した暗号化検索結果{RC1,RC2,・・・,RCn}を復号して、検索結果4061を得る。
S1113において、出力部407は、S1112で得られた検索結果4061に基づき、検索結果情報4071を出力する。
S1113により、秘匿検索システム100の検索処理S130bは終了する。
ここで、上述した具体例1の準同型暗号に基づき、本実施の形態の検索処理S130bの具体例40について説明する。ここでは、保管データを(0,1,2)、検索データを(0,0,0)、θ=2として説明する。このとき、保管データ(0,1,2)と検索データ(0,0,0)とのユークリッド2乗距離は10である。また、3=10と2進数表現すれば、保管データ(0,1,2)と検索データ(0,0,0)のハミング距離は2である。ここでS1=10,S2=2とおく。本実施の形態では、データ検索者に対して、保管データと検索データの類似度として、ユークリッド2乗距離は2より大きく、ハミング距離が2以内であることを伝えたい。
S1107では、類似暗号文生成部5051は、準同型減算を行って、E(PK,S1,S2)=(E(PK,10),E(PK,2))からE(PK,10,2)=(E(PK,10),E(PK,2)),E(PK,9,1)=(E(PK,9),E(PK,1)),E(PK,8,0)=(E(PK,8),E(PK,0))を生成する。つまり、{c0,c1,c2}={E(PK,10,2),E(PK,9,1),E(PK,8,0)}を生成する。
C0=E(PK,R0,R1)
C1=E(PK,R2,R3)
C2=E(PK,R4,0)
ただし、R0,R1,R2,R3,R4は乱数である。
S1111では、受信部401は、{E(PK,R2,0),E(PK,R0,R1),E(PK,R4,R3)}を受信する。
S1112では、復号部406は、秘密鍵SKを用いて、E(PK,R2,0),E(PK,R0,R1),E(PK,R4,R3)を復号する。復号部406は、S1に関する平文としてR2、R0、R4を得て、S2に関する平文として0、R1、R3を得る。
以上のように、本実施の形態に係る秘匿検索システム100によれば、実施の形態1と同様な効果を得ることに加えて、データ検索者は、検索結果から、保管データと検索データの類似度が閾値以内か否かのみしかわからないため、より安全性を向上できる。
また、本実施の形態では、実施の形態2とは異なる攪乱手法を用いて、実施の形態2と同様な効果を得ることができる。
本実施の形態では、主に、実施の形態1から3と異なる点について説明する。
本実施の形態では、実施の形態2,3と同様の目的を達成するための秘匿検索方法であって実施の形態2,3とは異なる手法を用いた秘匿検索方法について説明する。
また、本実施の形態に係る秘匿検索システムでは、実施の形態1から3に比べて、暗号化検索結果のサイズを小さくできるという利点を持つ。一方で、本実施の形態に係る秘匿検索システムでは、準同型乗算がθ+1回できる準同型暗号を用いることが必要となる。
本実施の形態の秘匿検索システムは実施の形態3とほぼ同じであり、検索処理の一部のみ異なっている。
本実施の形態に係る秘匿検索システム100の構成は、実施の形態2で説明したものと同様である。
本実施の形態において、実施の形態2で説明した構成部と同様の機能を有する構成部には同一の符号を付し、その説明を省略する。
図14は、本実施の形態における秘匿検索システム100の検索処理S130cを示すフローチャートである。
図14のS1201からS1213は、検索装置400と管理装置500が実行する処理である。S1201からS1203及びS1211からS1213は検索装置400によって実行される処理である。S1204からS1210は管理装置500によって実行される処理である。
なお、本実施の形態の検索処理S130cにおけるS1201からS1208は、実施の形態3のS1101からS1108と同様の処理であるため、ここでは説明を省略する。
ここで、もしRij=0となる(i,j)があれば、Zj=R0j×R1j×・・・×Rθj=0となることに注意する。
S1212において、復号部406は、鍵保管部402に保管されている秘密鍵SKを用いて、S1211で受信した暗号化検索結果CCを復号して、検索結果Z1,Z2,・・・,Znを得る。
S1213において、出力部407は、S1212で得られた検索結果を出力する。
S1207では、類似暗号文生成部5051は、準同型減算を行って、E(PK,S1,S2)=(E(PK,10),E(PK,2))からE(PK,10,2)=(E(PK,10),E(PK,2)),E(PK,9,1)=(E(PK,9),E(PK,1)),E(PK,8,0)=(E(PK,8),E(PK,0))を生成し、{c0,c1,c2}={E(PK,10,2),E(PK,9,1),E(PK,8,0)}とおく。
S1208では、平文ランダム化部5052は、0でない乱数を生成し、準同型加算を行って、次のように{C0,C1,C2}を計算する。
C0=E(PK,R0,R1)
C1=E(PK,R2,R3)
C2=E(PK,R4,0)
ただし、R0,R1,R2,R3,R4は乱数である。
S1211では、受信部401は、E(PK,R,0)を受信する。
S1212では、復号部406は、秘密鍵SKを用いて、E(PK,R,0)を復号して、S1に関する平文としてRを得て、S2に関する平文として0を得る。
S1213では、出力部407は、S1に関する平文として乱数Rが現れたので、保管データと検索データのユークリッド2乗距離に関する類似度が閾値より大きい、すなわち2より大きいことを表す検索結果情報4071を出力する。また、出力部407は、S2に関する平文として0が現れたので、保管データと検索データのハミング距離に関する類似度が閾値以内、すなわち2以内であることを表す検索結果情報4071を出力する。
以上のように、本実施の形態に係る秘匿検索システム100によれば、実施の形態2及び実施の形態3と同様な効果を得ることに加えて、準同型演算を用いて暗号文を結合するといった攪乱手法を用いて、実施の形態1から3と比べて暗号化検索結果のサイズを小さくすることが可能である。
最後に、図15を用いて、鍵生成装置200と登録装置300と検索装置400と管理装置500,500aとの各装置のハードウェア構成の一例について説明する。
鍵生成装置200と登録装置300と検索装置400と管理装置500,500aとの各装置はコンピュータである。
鍵生成装置200と登録装置300と検索装置400と管理装置500,500aとの各装置は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、具体例は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、具体例は、RAM(Random Access Memory)である。
通信装置904は、具体例は、通信チップ又はNIC(Network Interface Card)である。
入力インタフェース905は、具体例は、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、具体例は、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、具体例は、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、具体例は、LCD(Liquid Crystal Display)である。
また、コンピュータが登録装置300の場合は、補助記憶装置902には、図3に示す入力部、暗号化部、データ送信部、鍵受信部、鍵保管部の機能を実現するプログラムが記憶されている。
また、コンピュータが検索装置400の場合は、補助記憶装置902には、図4に示す受信部、入力部、暗号化部、鍵保管部、検索データ送信部、復号部、出力部の機能を実現するプログラムが記憶されている。
また、コンピュータが管理装置500の場合は、補助記憶装置902には、図5に示すデータ受信部、データ保管部、閾値保管部、鍵保管部、暗号化類似度計算部、類似暗号文生成部、平文ランダム化部、結果送信部の機能を実現するプログラムが記憶されている。
また、コンピュータが管理装置500aの場合は、補助記憶装置902には、図11に示すデータ受信部、データ保管部、閾値保管部、鍵保管部、暗号化類似度計算部、類似暗号文生成部、平文ランダム化部、暗号文攪乱部、送信部の機能を実現するプログラムが記憶されている。
以下において、鍵生成装置200と登録装置300と検索装置400と管理装置500,500aとの各装置において列挙した構成部を、装置毎にまとめて「部」と表記する。
また、検索装置400の出力部407は、ディスプレイインタフェース906及びディスプレイ908により実現されていてもよい。
また、鍵生成装置200の鍵送信部202、検索装置400の検索データ送信部405、管理装置500の結果送信部5053、管理装置500aの送信部50532は、通信装置904により実現されていてもよい。
また、検索装置400の受信部401、管理装置500,500aのデータ受信部501は、通信装置904により実現されていてもよい。
また、登録装置300の鍵保管部302、検索装置400の鍵保管部402は、補助記憶装置902により実現されていてもよい。また、管理装置500のデータ保管部503、鍵保管部502、閾値保管部506についても、補助記憶装置902により実現されていてもよい。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図15では、1つのプロセッサ901が図示されているが、鍵生成装置200と登録装置300と検索装置400と管理装置500,500aとの各装置が複数のプロセッサ901を備えていてもよい。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報とデータと信号値と変数値との少なくともいずれかが、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
また、「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記憶される。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
「回路」及び「プロセッシングサーキットリー」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
また、鍵生成装置200と登録装置300と検索装置400と管理装置500,500aとの各装置は、1つの装置でなく、複数の装置から構成されたシステムでもよい。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物及び用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
Claims (11)
- 準同型暗号により暗号化された保管データである保管暗号化データと、前記保管データの検索に用いる検索データであって前記準同型暗号により暗号化された検索データである検索暗号化データとを準同型演算することにより、前記保管データと前記検索データとの類似度が前記準同型暗号により暗号化された暗号化類似度を算出する暗号化類似度計算部と、
前記暗号化類似度を用いて前記類似度が閾値以内であるか否かを表す暗号化検索結果を生成し、生成した前記暗号化検索結果を送信する暗号化結果送信部と
を有する管理装置と、
前記管理装置から送信された前記暗号化検索結果を復号し、復号した前記暗号化検索結果を検索結果として出力する復号部と、
前記検索結果に基づいて、前記類似度が前記閾値以内であるか否かを表す検索結果情報を出力する出力部と
を有する検索装置と
を備える秘匿検索システム。 - 前記暗号化結果送信部は、
前記類似度に類似する複数の平文であって、前記類似度が前記閾値以内の場合には少なくとも1つは0となる前記複数の平文の各々が前記準同型暗号により暗号化された複数の類似暗号文を生成する類似暗号文生成部と、
前記複数の類似暗号文の複数の平文をランダム化し、ランダム化された前記複数の平文の各々が前記準同型暗号により暗号化されたランダム暗号文の集合を生成する平文ランダム化部と、
前記平文ランダム化部により生成された前記ランダム暗号文の集合を用いて、前記暗号化検索結果を生成し、生成した前記暗号化検索結果を送信する結果送信部と
を有する請求項1に記載の秘匿検索システム。 - 前記平文ランダム化部は、
前記複数の平文のうち値が0の平文を0とすると共に前記複数の平文のうち値が0ではない平文をランダム化し、ランダム化された前記複数の平文の各々が前記準同型暗号により暗号化された前記ランダム暗号文の集合を生成し、
前記出力部は、
前記検索結果に基づいて、前記複数の平文に値が0の平文があるか否かを判定し、値が0の平文があると判定した場合に前記類似度が前記閾値以内であることを表す前記検索結果情報を出力し、前記複数の平文に値が0の平文がないと判定した場合に前記類似度が前記閾値より大きいことを表す前記検索結果情報を出力する請求項2に記載の秘匿検索システム。 - 前記類似暗号文生成部は、
前記類似度が前記閾値以内の場合に、先頭から前記類似度の値番目の平文が0となる前記複数の平文の各々が前記準同型暗号により暗号化された前記複数の類似暗号文を生成し、
前記出力部は、
前記複数の平文の中に値が0の平文があると判定した場合に、前記複数の平文における前記値が0の平文の順番を取得し、前記順番を前記類似度と特定し、特定した前記類似度を出力する請求項3に記載の秘匿検索システム。 - 前記結果送信部は、
前記平文ランダム化部により生成された前記ランダム暗号文の集合を攪乱し、攪乱した前記ランダム暗号文の集合を攪乱ランダム暗号文として生成する暗号文攪乱部と、
前記暗号文攪乱部により生成された前記攪乱ランダム暗号文の集合を前記暗号化検索結果として送信する送信部と
を備え、
前記出力部は、
前記複数の平文に値が0の平文があるか否かを判定し、値が0の平文があると判定した場合に前記類似度が前記閾値以内であることを表す前記検索結果情報を出力し、前記複数の平文に値が0の平文がないと判定した場合に前記類似度が前記閾値より大きいことを表す前記検索結果情報を出力する請求項2または3に記載の秘匿検索システム。 - 前記暗号文攪乱部は、
前記ランダム暗号文の集合において、前記ランダム暗号文の集合における前記ランダム暗号文の順序を変更することにより前記ランダム暗号文の集合を攪乱し、順序を変更した前記ランダム暗号文の集合を攪乱ランダム暗号文として生成する請求項5に記載の秘匿検索システム。 - 前記暗号文攪乱部は、
前記ランダム暗号文の集合における2つのランダム暗号文において、一方のランダム暗号文の成分と他方のランダム暗号文の成分とを交換することにより前記ランダム暗号文の集合を攪乱し、攪乱した前記ランダム暗号文の集合を前記攪乱ランダム暗号文として生成する請求項5に記載の秘匿検索システム。 - 前記暗号文攪乱部は、
前記ランダム暗号文の集合に含まれる全てのランダム暗号文を準同型乗算により結合することにより前記ランダム暗号文の集合を攪乱し、前記ランダム暗号文の集合を結合した1つの結合暗号文を前記攪乱ランダム暗号文として生成する請求項5に記載の秘匿検索システム。 - 準同型暗号により暗号化された保管データである保管暗号化データと、前記保管データの検索に用いる検索データであって前記準同型暗号により暗号化された検索データである検索暗号化データとを準同型演算することにより、前記保管データと前記検索データとの類似度が前記準同型暗号により暗号化された暗号化類似度を算出する暗号化類似度計算部と、
前記類似度に類似する複数の平文であって、前記類似度が閾値以内の場合には少なくとも1つは0となる前記複数の平文の各々が前記準同型暗号により暗号化された複数の類似暗号文を生成する類似暗号文生成部と、
前記複数の類似暗号文の複数の平文をランダム化し、ランダム化された前記複数の平文の各々が前記準同型暗号により暗号化されたランダム暗号文の集合を生成する平文ランダム化部と、
前記平文ランダム化部により生成された前記ランダム暗号文の集合を用いて、前記類似度が前記閾値以内であるか否かを表す暗号化検索結果を生成し、生成した前記暗号化検索結果を送信する結果送信部と
を備える管理装置。 - 準同型暗号により暗号化された保管データを保管暗号化データとして保管する管理装置と、検索データを用いて前記保管データを検索する検索装置とを有する秘匿検索システムの秘匿検索方法において、
前記管理装置の暗号化類似度計算部が、前記保管暗号化データと前記検索データが前記準同型暗号により暗号化された検索暗号化データを準同型演算することにより、前記保管データと前記検索データとの類似度が前記準同型暗号により暗号化された暗号化類似度を算出し、
前記管理装置の暗号化結果送信部が、前記暗号化類似度を用いて、前記類似度が閾値以内であるか否かを表す暗号化検索結果を生成し、生成した前記暗号化検索結果を送信し、
前記検索装置の復号部が、前記管理装置から送信された前記暗号化検索結果を復号し、復号した前記暗号化検索結果を検索結果として出力し、
前記検索装置の出力部が、前記検索結果に基づいて、前記類似度が前記閾値以内であるか否かを表す検索結果情報を出力する秘匿検索方法。 - 準同型暗号により暗号化された保管データを保管暗号化データとして保管する管理装置の秘匿検索プログラムにおいて、
前記保管暗号化データと、前記保管データの検索に用いる検索データであって前記準同型暗号により暗号化された検索データである検索暗号化データとを準同型演算することにより、前記保管データと前記検索データとの類似度が前記準同型暗号により暗号化された暗号化類似度を算出する暗号化類似度算出処理と、
前記類似度に類似する複数の平文であって、前記類似度が閾値以内の場合には少なくとも1つは0となる前記複数の平文の各々が前記準同型暗号により暗号化された複数の類似暗号文を生成する類似暗号文生成処理と、
前記複数の類似暗号文の複数の平文をランダム化し、ランダム化された前記複数の平文の各々が前記準同型暗号により暗号化されたランダム暗号文の集合を生成する平文ランダム化処理と、
前記平文ランダム化処理により生成された前記ランダム暗号文の集合を用いて、前記類似度が前記閾値以内であるか否かを表す暗号化検索結果を生成し、生成した前記暗号化検索結果を送信する結果送信処理と
をコンピュータに実行させる備える秘匿検索プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/078712 WO2017061024A1 (ja) | 2015-10-09 | 2015-10-09 | 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5985123B1 JP5985123B1 (ja) | 2016-09-06 |
JPWO2017061024A1 true JPWO2017061024A1 (ja) | 2017-10-05 |
Family
ID=56843292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016526364A Active JP5985123B1 (ja) | 2015-10-09 | 2015-10-09 | 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10673614B2 (ja) |
EP (1) | EP3361469B8 (ja) |
JP (1) | JP5985123B1 (ja) |
CN (1) | CN108140334B (ja) |
WO (1) | WO2017061024A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7024709B2 (ja) * | 2016-06-02 | 2022-02-24 | 日本電気株式会社 | 暗号化情報照合装置、暗号化情報照合方法、及び、暗号化情報照合プログラム |
US10812252B2 (en) * | 2017-01-09 | 2020-10-20 | Microsoft Technology Licensing, Llc | String matching in encrypted data |
CN106953722B (zh) * | 2017-05-09 | 2017-11-07 | 深圳市全同态科技有限公司 | 一种全同态加密的密文查询方法和系统 |
US11196539B2 (en) | 2017-06-22 | 2021-12-07 | Microsoft Technology Licensing, Llc | Multiplication operations on homomorphic encrypted data |
US10541805B2 (en) | 2017-06-26 | 2020-01-21 | Microsoft Technology Licensing, Llc | Variable relinearization in homomorphic encryption |
US10749665B2 (en) | 2017-06-29 | 2020-08-18 | Microsoft Technology Licensing, Llc | High-precision rational number arithmetic in homomorphic encryption |
JP7132506B2 (ja) * | 2019-01-07 | 2022-09-07 | 富士通株式会社 | 秘密情報検索システム、秘密情報検索プログラム、および秘密情報検索方法 |
US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
US11907952B2 (en) * | 2019-03-12 | 2024-02-20 | Cox Communications, Inc. | Secured analytics using encrypted data |
JPWO2021029173A1 (ja) * | 2019-08-09 | 2021-02-18 | ||
US11070357B2 (en) * | 2019-10-17 | 2021-07-20 | Raytheon Company | Techniques for privacy-preserving data processing across multiple computing nodes |
CN111159745B (zh) * | 2019-12-30 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种适用于区块链的验证方法及装置 |
US11308234B1 (en) | 2020-04-02 | 2022-04-19 | Wells Fargo Bank, N.A. | Methods for protecting data |
US11816212B2 (en) * | 2020-04-15 | 2023-11-14 | Inferati Inc. | Large scale zero trust malware detection |
US11238168B2 (en) * | 2020-04-20 | 2022-02-01 | Cyberark Software Ltd. | Secure, efficient, and flexible searchable-encryption techniques |
KR102522708B1 (ko) * | 2020-06-15 | 2023-04-18 | 주식회사 크립토랩 | 동형 암호문에 대한 통계 연산 수행하는 장치 및 방법 |
RU2763394C1 (ru) * | 2021-03-30 | 2021-12-28 | Автономная некоммерческая организация высшего образования «Университет Иннополис» | Способ и устройство шифрования данных |
JP2023019432A (ja) * | 2021-07-29 | 2023-02-09 | 株式会社日立製作所 | 情報処理システム及び情報処理方法 |
CN115001649A (zh) * | 2022-04-15 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | 批量加密方法、相关装置、系统、设备、介质及程序产品 |
WO2024015101A1 (en) * | 2022-07-15 | 2024-01-18 | Google Llc | Private pre-fetching of search results |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4395611B2 (ja) | 2003-10-28 | 2010-01-13 | 独立行政法人情報通信研究機構 | 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム |
EP1815637B1 (en) * | 2004-11-16 | 2016-04-20 | Koninklijke Philips N.V. | Securely computing a similarity measure |
JP2007114494A (ja) | 2005-10-20 | 2007-05-10 | Nippon Telegr & Teleph Corp <Ntt> | 秘匿計算方法及び装置 |
JP2010165275A (ja) | 2009-01-19 | 2010-07-29 | Mitsubishi Electric Corp | データ格納システム及び情報送信装置及びサーバ装置 |
US8630422B2 (en) * | 2009-11-10 | 2014-01-14 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
US8515058B1 (en) * | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
JP5496410B2 (ja) * | 2011-02-22 | 2014-05-21 | 三菱電機株式会社 | 類似度算出システム及び類似度算出装置及びコンピュータプログラム及び類似度算出方法 |
US9215068B2 (en) | 2011-09-14 | 2015-12-15 | National Institute Of Advanced Industrial Science And Technology | Search system, search method, and program |
JP5657128B2 (ja) * | 2011-09-27 | 2015-01-21 | 株式会社日立製作所 | 秘匿計算システム、秘匿計算方法、および秘匿計算プログラム |
JP5720536B2 (ja) | 2011-11-10 | 2015-05-20 | 富士通株式会社 | 秘匿化データの検索のための情報処理方法及び装置 |
JP5948060B2 (ja) | 2012-01-13 | 2016-07-06 | 株式会社日立製作所 | 暗号化データの高速な類似検索処理システム |
DE112012005615B4 (de) * | 2012-03-19 | 2016-05-04 | Mitsubishi Electric Corporation | Sequenzprogramm-Erzeugungsvorrichtung |
JP6083234B2 (ja) | 2012-12-27 | 2017-02-22 | 富士通株式会社 | 暗号処理装置 |
JP2014126865A (ja) | 2012-12-27 | 2014-07-07 | Fujitsu Ltd | 暗号処理装置および方法 |
JP6244728B2 (ja) | 2013-08-07 | 2017-12-13 | 富士通株式会社 | 情報処理方法及びプログラム |
JP6144992B2 (ja) * | 2013-08-08 | 2017-06-07 | 株式会社日立製作所 | 検索可能暗号処理システム及び方法 |
CN103744976B (zh) * | 2014-01-13 | 2017-02-22 | 北京工业大学 | 一种基于同态加密的图像安全检索方法 |
JP6277734B2 (ja) * | 2014-01-20 | 2018-02-14 | 富士通株式会社 | 情報処理プログラム、情報処理装置および情報処理方法 |
CN104967693B (zh) * | 2015-07-15 | 2018-05-18 | 中南民族大学 | 面向云存储的基于全同态密码技术的文档相似度计算方法 |
-
2015
- 2015-10-09 WO PCT/JP2015/078712 patent/WO2017061024A1/ja active Application Filing
- 2015-10-09 JP JP2016526364A patent/JP5985123B1/ja active Active
- 2015-10-09 US US15/764,780 patent/US10673614B2/en active Active
- 2015-10-09 CN CN201580083638.9A patent/CN108140334B/zh active Active
- 2015-10-09 EP EP15905843.7A patent/EP3361469B8/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3361469B1 (en) | 2020-12-23 |
EP3361469B8 (en) | 2021-03-10 |
CN108140334A (zh) | 2018-06-08 |
US20180278410A1 (en) | 2018-09-27 |
EP3361469A4 (en) | 2018-08-15 |
CN108140334B (zh) | 2021-03-23 |
WO2017061024A1 (ja) | 2017-04-13 |
EP3361469A1 (en) | 2018-08-15 |
JP5985123B1 (ja) | 2016-09-06 |
US10673614B2 (en) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5985123B1 (ja) | 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム | |
JP5253567B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
KR101418254B1 (ko) | 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 | |
JP6234605B2 (ja) | サーバ装置及び検索システム及び端末装置及び検索方法及びサーバプログラム及び端末プログラム | |
WO2013111284A1 (ja) | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 | |
EP2665052A1 (en) | Data processing device and data archiving device | |
JP5432736B2 (ja) | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 | |
JP6556955B2 (ja) | 通信端末、サーバ装置、プログラム | |
JP6770075B2 (ja) | 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム | |
JP5670365B2 (ja) | 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム | |
JP6599066B1 (ja) | 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム | |
JP6961324B2 (ja) | 検索可能暗号処理システム | |
Zhou et al. | Threshold key management scheme for blockchain-based intelligent transportation systems | |
JP2018036418A (ja) | 暗号システム、暗号方法及び暗号プログラム | |
JP2010160235A (ja) | 検索システム、端末装置、データベース装置、検索方法及びプログラム | |
JP7325689B2 (ja) | 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム | |
WO2015107561A1 (ja) | 検索システム、検索方法および検索プログラム | |
Devi et al. | A comparative study on homomorphic encryption algorithms for data security in cloud environment | |
JP6885325B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
JP2013205655A (ja) | プログラム、情報処理方法及び情報処理装置 | |
Bakhtiari et al. | Lightweight symmetric encryption algorithm in big data | |
Bhattasali | SeDReS: Secured Data Retrieval Service | |
JP2013092740A (ja) | アクセス制御システム、アクセス制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160615 |
|
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: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5985123 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 |