JP6918253B2 - 秘匿検索システムおよび秘匿検索方法 - Google Patents
秘匿検索システムおよび秘匿検索方法 Download PDFInfo
- Publication number
- JP6918253B2 JP6918253B2 JP2020562226A JP2020562226A JP6918253B2 JP 6918253 B2 JP6918253 B2 JP 6918253B2 JP 2020562226 A JP2020562226 A JP 2020562226A JP 2020562226 A JP2020562226 A JP 2020562226A JP 6918253 B2 JP6918253 B2 JP 6918253B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- index
- key
- tag
- value
- 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 90
- 239000013598 vector Substances 0.000 claims description 95
- 239000006185 dispersion Substances 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000010845 search algorithm Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- 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/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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/602—Providing cryptographic facilities or services
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
以下、この発明の実施の形態1に係る秘匿検索システムについて、図面を用いて説明する。
はじめに、以下の説明における記法について説明する。
本実施の形態1では、内積述語暗号を応用して、部分一致秘匿検索方式を実現する。
本実施の形態1に係る秘匿検索システム10の構成を説明する前に、本実施の形態1における部分一致秘匿検索方式の基本構成について説明する。
以下、図13〜図16に基づいて、本実施の形態1に係る秘匿検索システム10の動作について説明する。
はじめに、図13に基づいて、KGアルゴリズムの処理について説明する。上述した通り、KGアルゴリズムは、鍵生成装置100によって実行される。KGアルゴリズムは、本実施の形態1に係る秘匿検索方法における鍵生成ステップに相当する。また、KGアルゴリズムは、本実施の形態1に係る秘匿検索プログラムにおける鍵生成処理に相当する。
ステップS101では、情報取得部110が、セキュリティパラメータλを取得する。セキュリティパラメータλは、秘匿検索システム10の管理者等によって入力装置により入力される。
ステップS102では、基底生成部120が、セキュリティパラメータλを入力として、下式(13)を計算して、基底B0と基底B* 0と基底B1と基底B* 1と、双対ペアリングベクトル空間のパラメータparamとを生成する。ただし、以降では基底B1と基底B* 1とを、各々、基底Bと基底B*とも書く。さらに、固定値βを位数が十分大きいFqの元として生成する。
ステップS104では、鍵生成部140が、ステップS102で生成された基底B0の部分基底B^0と、基底Bの部分基底B^とを下式(14)に示すように生成する。
ステップS105では、鍵生成部140は、ステップS102で生成された基底B* 0の部分基底B^* 0と、基底B*の部分基底B^*とを、下式(15)に示すように生成する。なお、表記「^」は、その前に記載された記号の上部に^が付されることを意味している。
ステップS107では、鍵出力部150が、ステップS104で生成された公開鍵pkを公開用のサーバ等へ出力して、公開鍵pkを公開する。また、鍵出力部150は、ステップS105で生成された秘密鍵skを秘密裡に検索鍵生成装置300へ出力する。さらに、鍵出力部150は、ステップS102で生成された固定値βを暗号化タグ生成装置200と検索鍵生成装置300とへ出力する。このとき、固定値βを公開することで、暗号化タグ生成装置200と検索鍵生成装置300へ出力しても構わないし、秘密情報として暗号化タグ生成装置200と検索鍵生成装置300へ安全な通信路を用いて出力しても構わない。
次に、図14に基づき、本実施の形態1に係るTagGenアルゴリズムの処理を説明する。上述した通り、TagGenアルゴリズムは、暗号化タグ生成装置200によって実行される。TagGenアルゴリズムは、本実施の形態1に係る秘匿検索方法における暗号化タグ生成ステップに相当する。また、TagGenアルゴリズムは、本実施の形態1に係る秘匿検索プログラムにおける暗号化タグ生成処理に相当する。
ステップS201では、情報取得部210が、鍵生成装置100によって公開された公開鍵pkを取得する。また、情報取得部210は、鍵生成装置100によって出力された固定値βを取得する。
ステップS202では、乱数生成部221が、下式(16)に示すように、乱数を生成する。
ステップS203では、要素生成部222が、ステップS201で取得された公開鍵pkおよび属性ベクトルx→と、ステップS202で生成された乱数とを入力として、下式(17)に示すように、タグベクトルc0と、t∈Ixの各整数tについてのタグベクトルctと、タグベクトルcTとを生成する。ただし、βは位数が十分大きいFqの固定された元とする。
ステップS204では、暗号化タグ出力部230が、暗号化タグETxを、検索装置500に出力する。暗号化タグETxは、ステップS201で取得されたインデックスの集合Ixと、ステップS203で生成されたタグベクトルc0およびt∈Ixの各整数tについてのタグベクトルctおよびタグベクトルcTとを要素として含む。
次に、図15に基づき、本実施の形態1に係るTrapGenアルゴリズムの処理を説明する。上述した通り、TrapGenアルゴリズムは、検索鍵生成装置300によって実行される。TrapGenアルゴリズムは、本実施の形態1に係る秘匿検索方法における検索鍵生成ステップに相当する。また、TrapGenアルゴリズムは、本実施の形態1に係る秘匿検索プログラムにおける検索鍵生成処理に相当する。
ステップS301では、情報取得部310が、鍵生成装置100によって公開された公開鍵pkと、鍵生成装置100によって出力された秘密鍵skとを取得する。また、情報取得部310は、鍵生成装置100によって出力された固定値βを取得する。
ステップS302では、乱数生成部321が、下式(18)に示すように、乱数を生成する。ただし、τtはstとは異なり、0=Σt∈Ivτtを満たすように生成する。
ステップS303では、秘密値生成部322が、ステップS202で生成されたt∈Ivの各整数tについての乱数stを入力として、秘密値s0=Σt∈Ivstを生成する。
ステップS304では、要素生成部323が、ステップS301で取得された公開鍵pk、秘密鍵skおよび述語ベクトルv→と、ステップS302で生成された乱数と、ステップS303で生成された秘密値s0とを入力として、下式(19)に示すように、検索ベクトルk* 0と、t∈Ivの各整数tについての検索ベクトルk* tとを生成する。ただし、βは位数が十分大きいFqの固定された元とする。
ステップS305では、鍵出力部330が、検索鍵TDvを、検索装置500に出力する。検索鍵TDvは、ステップS301で取得されたインデックスの集合Ivと、ステップS304で生成された検索ベクトルk* 0およびt∈Ivの各整数tについての検索ベクトルk* tとを要素として含む。
次に、図16に基づき、本実施の形態1に係るSearchアルゴリズムの処理を説明する。上述した通り、Searchアルゴリズムは、検索装置500によって実行される。Searchアルゴリズムは、本実施の形態1に係る秘匿検索方法における検索ステップに相当する。また、Searchアルゴリズムは、本実施の形態1に係る秘匿検索プログラムにおける検索処理に相当する。
ステップS501では、情報取得部510が、鍵生成装置100によって公開された公開鍵pkを取得する。また、情報取得部510は、暗号化タグ生成装置200によって出力された暗号化タグETxを取得する。さらに、情報取得部510は、検索鍵生成装置300によって出力された検索鍵TDvを取得する。
ステップS502では、検索判定部520が、ステップS501で取得された検索鍵TDvに含まれるインデックスの集合Ivが、ステップS501で取得された暗号化タグETxに含まれるインデックスの集合Ixの部分集合であるか否かを判定する。
ステップS503では、検索判定部520が、下式(20)に示すように、暗号化タグETxに含まれるタグと、検索鍵TDvに含まれる検索ベクトルとについて、ペアリング演算して、セッション鍵Kを計算する。
ステップS504では、検索判定部520が、ステップS503で計算されたセッション鍵Kが、暗号化タグETxに含まれるタグベクトルcTと等しいか否かを判定する。
ステップS505では、結果出力部530が、検索にヒットしたことを示す0を出力する。
ステップS507では、検索判定部520が、ステップS501で取得された検索鍵TDvに含まれるインデックスの集合Ivの各要素に対して1を加算する。また、検索判定部520が、検索鍵TDvに含まれる各検索ベクトルk* tのインデックスtに対して1を加算する。
ステップS508では、検索判定部520が、ステップS507で更新された検索鍵TDvに含まれるインデックスの集合Ivに含まれる最大のインデックスが、ステップS501で取得された暗号化タグETxに含まれるインデックスの集合Ixに含まれる最大のインデックス以下であるとき、処理をステップS502へ進め、さもなければ処理S506へ進む。
[ステップS506:結果B出力処理]
ステップS506では、結果出力部530が、検索にヒットしなかったことを示す1を出力する。
次に、図17に基づき、本実施の形態1に係る秘匿検索システム10のハードウェア構成例について説明する。本実施の形態1に係る秘匿検出システムは、上述したように、鍵生成装置100と、暗号化タグ生成装置200と、検索鍵生成装置300と、検索装置500とから構成されている。
Claims (3)
- 検索文字列の各文字が位置を指定され、属性値v t が設定された検索鍵TDvを生成する検索鍵生成部と、
被検索文字列の各文字が位置を指定され、属性値x t が設定された暗号化タグETxを生成する暗号化タグ生成部と、
前記暗号化タグETxの中から、前記検索鍵TDvに対応する暗号化タグETxを検索する検索部と
を備え、
前記検索鍵TDvに含まれる要素および前記暗号化タグETxに含まれる要素の一方に、前記各文字の位置を示すインデックスtが設定され、他方に、前記インデックスtの符号を反転したインデックス−tが設定され、
検索時に、前記検索鍵TDvと前記暗号化タグETxとに設定された前記インデックスtと前記インデックス−tとを加算することで、前記インデックスtと前記インデックス−tとを打消して、前記検索鍵TDvに対応する前記暗号化タグETxを検索し、
前記検索部は、秘密値s 0 と、t∈Ivの各前記インデックスtについての第1の分散値s t と、t∈Ivの各インデックスtについての第2の分散値τ t とを用いて検索を行い、
前記秘密値s 0 と前記第1の分散値s t とは、s 0 =Σ t∈Iv s t の関係を満たし、
前記第2の分散値τ t は、0=Σ t∈Iv τ t の関係を満たし、
ここで、前記Ivは、前記インデックスtの集合であり、
前記検索鍵TD v は、
前記秘密値s 0 が設定された基底B * 0 上のベクトルである要素k * 0 と、
t∈Ivの各前記インデックスtについて、前記第1の分散値s t と前記第2の分散値τ t と前記属性値v t と前記インデックスtとが設定された基底B * 上のベクトルである要素k * t と
を含み、
前記検索文字列の各文字を前記属性値v t として、前記検索鍵TD v が生成され、
前記暗号化タグET x は、
前記基底B * 0 に対応する基底B 0 上のベクトルである要素c 0 と、
t∈Ixの各インデックスtについて、前記属性値x t と前記インデックス−tとが設定された、前記基底B * に対応する基底B上のベクトルである要素c t と
を含み、
前記被検索文字列の各文字を前記属性値x t として、前記暗号文タグET x が生成され、
ここで、前記Ixは、前記インデックスtの集合である、
秘匿検索システム。 - 前記検索部は、前記検索鍵TDvに含まれる要素と前記暗号化タグETxに含まれる要素との内積を演算する内積述語暗号方式を用いて、前記検索鍵TDvに対応する前記暗号化タグを検索する、
請求項1に記載の秘匿検索システム。 - コンピュータを用いて、複数の被検索文字列の中から検索文字列を含む被検索文字列を検索する秘匿検索方法であって、
前記コンピュータにおいて実行するステップとして、
前記検索文字列の各文字が位置を指定され、属性値v t が設定された検索鍵TDvを生成する検索鍵生成ステップと、
前記被検索文字列の各文字が位置を指定され、属性値x t が設定された複数の暗号化タグETxを生成する暗号化タグ生成ステップと、
複数の前記暗号化タグETxから、前記検索鍵TDvに対応する暗号化タグETxを検索する検索ステップと
を備え、
前記検索鍵TDvに含まれる要素および前記暗号化タグETxに含まれる要素の一方に、前記各文字の位置を示すインデックスtが設定され、他方に、前記インデックスtの符号を反転したインデックス−tが設定され、
前記コンピュータが、検索時に、前記検索鍵TDvと前記暗号化タグETxとに設定された前記インデックスtと前記インデックス−tとを加算することで、前記インデックスtと前記インデックス−tとを打消して、前記検索鍵TDvに対応する前記暗号化タグETxを検索し、
前記検索ステップは、秘密値s 0 と、t∈Ivの各前記インデックスtについての第1の分散値s t と、t∈Ivの各インデックスtについての第2の分散値τ t とを用いて検索を行い、
前記秘密値s 0 と前記第1の分散値s t とは、s 0 =Σ t∈Iv s t の関係を満たし、
前記第2の分散値τ t は、0=Σ t∈Iv τ t の関係を満たし、
ここで、前記Ivは、前記インデックスtの集合であり、
前記検索鍵TD v は、
前記秘密値s 0 が設定された基底B * 0 上のベクトルである要素k * 0 と、
t∈Ivの各前記インデックスtについて、前記第1の分散値s t と前記第2の分散値τ t と前記属性値v t と前記インデックスtとが設定された基底B * 上のベクトルである要素k * t と
を含み、
前記検索文字列の各文字を前記属性値v t として、前記検索鍵TD v が生成され、
前記暗号化タグET x は、
前記基底B * 0 に対応する基底B 0 上のベクトルである要素c 0 と、
t∈Ixの各インデックスtについて、前記属性値x t と前記インデックス−tとが設定された、前記基底B * に対応する基底B上のベクトルである要素c t と
を含み、
前記被検索文字列の各文字を前記属性値x t として、前記暗号文タグET x が生成され、
ここで、前記Ixは、前記インデックスtの集合である、
秘匿検索方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/048531 WO2020136884A1 (ja) | 2018-12-28 | 2018-12-28 | 秘匿検索システムおよび秘匿検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020136884A1 JPWO2020136884A1 (ja) | 2021-02-18 |
JP6918253B2 true JP6918253B2 (ja) | 2021-08-11 |
Family
ID=71128863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020562226A Active JP6918253B2 (ja) | 2018-12-28 | 2018-12-28 | 秘匿検索システムおよび秘匿検索方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11790105B2 (ja) |
JP (1) | JP6918253B2 (ja) |
WO (1) | WO2020136884A1 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016113878A1 (ja) * | 2015-01-15 | 2016-07-21 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索プログラム及び変換後検索鍵生成装置 |
WO2017122326A1 (ja) * | 2016-01-14 | 2017-07-20 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
US11005645B2 (en) | 2016-01-15 | 2021-05-11 | Mitsubishi Electric Corporation | Encryption device, encryption method, computer readable medium, and storage device |
WO2017126000A1 (ja) * | 2016-01-18 | 2017-07-27 | 三菱電機株式会社 | 暗号化装置、検索装置、暗号化プログラム、検索プログラム、暗号化方法及び検索方法 |
JP6584723B2 (ja) * | 2017-04-25 | 2019-10-02 | 三菱電機株式会社 | 検索装置、検索システム、検索方法及び検索プログラム |
US10984052B2 (en) * | 2018-11-19 | 2021-04-20 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System and method for multiple-character wildcard search over encrypted data |
-
2018
- 2018-12-28 WO PCT/JP2018/048531 patent/WO2020136884A1/ja active Application Filing
- 2018-12-28 JP JP2020562226A patent/JP6918253B2/ja active Active
-
2021
- 2021-04-29 US US17/244,080 patent/US11790105B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2020136884A1 (ja) | 2020-07-02 |
JPWO2020136884A1 (ja) | 2021-02-18 |
US20210248262A1 (en) | 2021-08-12 |
US11790105B2 (en) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10476662B2 (en) | Method for operating a distributed key-value store | |
CN107077469B (zh) | 服务器装置、检索***、终端装置以及检索方法 | |
US9892211B2 (en) | Searchable code processing system and method | |
JP6599066B1 (ja) | 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム | |
US10872158B2 (en) | Secret search system, secret search method, and computer readable medium | |
Liu et al. | Efficient searchable symmetric encryption for storing multiple source dynamic social data on cloud | |
CN110062941B (zh) | 消息发送***及方法、通信终端、服务器装置、记录介质 | |
JP6632780B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
US11748521B2 (en) | Privacy-enhanced computation via sequestered encryption | |
CN115795514A (zh) | 一种隐私信息检索方法、装置及*** | |
CN108370312B (zh) | 加密装置、检索装置、计算机能读取的记录介质、加密方法和检索方法 | |
WO2016113878A1 (ja) | 秘匿検索システム、秘匿検索プログラム及び変換後検索鍵生成装置 | |
JP2012248940A (ja) | データ生成装置、データ生成方法、データ生成プログラム及びデータベースシステム | |
JP6672451B2 (ja) | 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法 | |
JP6918253B2 (ja) | 秘匿検索システムおよび秘匿検索方法 | |
Salmani et al. | Dynamic searchable symmetric encryption with full forward privacy | |
WO2017203698A1 (ja) | 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム | |
CN118246050A (zh) | 数据库密钥管理器的加密和解密方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201105 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20201105 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210419 |
|
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: 20210622 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210720 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6918253 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |