JP7384740B2 - 検索システム、検索装置、および検索方法 - Google Patents
検索システム、検索装置、および検索方法 Download PDFInfo
- Publication number
- JP7384740B2 JP7384740B2 JP2020077986A JP2020077986A JP7384740B2 JP 7384740 B2 JP7384740 B2 JP 7384740B2 JP 2020077986 A JP2020077986 A JP 2020077986A JP 2020077986 A JP2020077986 A JP 2020077986A JP 7384740 B2 JP7384740 B2 JP 7384740B2
- Authority
- JP
- Japan
- Prior art keywords
- encrypted
- search
- search key
- management unit
- 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 63
- 230000006870 function Effects 0.000 claims description 43
- 238000010586 diagram Methods 0.000 description 51
- 230000008569 process Effects 0.000 description 44
- 238000012545 processing Methods 0.000 description 26
- 239000000284 extract Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000036541 health Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000033772 system development Effects 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
以下、本発明の一実施の形態を詳述する。本実施の形態では、暗号データを検索する技術に関して説明する。
登録機110は、登録機110-1、登録機110-2、・・・、登録機110-nの何れか、または、全てを指す。
後述の(I)に示すブロック暗号用の暗号鍵と、後述の(J)に示す検索可能暗号用の暗号鍵とがある。暗号鍵を「sk(secret key)」と記すことがある。なお、ブロック暗号用の暗号鍵と検索可能暗号用の暗号鍵とは、同じであってもよいし、異なっていてもよい。
暗号化の対象のデータを「平文データ」または単に「データ」と記す。データが暗号化された後は、「暗号化データ」と記す。
インデックスとの比較の対象を「クエリ」と記す。暗号化されていない平文のクエリを「平文クエリ」または単に「クエリ」と記す。クエリが暗号化された後は、「暗号化クエリ」と記す。
インデックスは、検索キーとIDとの組からなる配列である。検索時には、検索キーとクエリとが比較され、クエリと一致した検索キーの組であるIDが検索結果である。暗号化対象のインデックスを「平文インデックス」または単に「インデックス」と記す。暗号化された平文インデックスを「暗号化インデックス」と記す。暗号化インデックスは、暗号化された検索キーと暗号化されたIDとの組からなる配列である。
インデックス管理表では、検索キーとIDとの組からなる配列表であるインデックスに位置が追加されている。この位置を追加した平文インデックスを「平文インデックス管理表」と記す。また、暗号化インデックスに位置を追加した場合、「暗号化インデックス管理表」と記す。
行と列とから構成される表形式でデータを管理するデータベース、インデックス等において、同じ行に所属する平文データの集合を「レコード」と記す。同様に、同じ行に所属する暗号化データの集合を「暗号化レコード」と記す。
行と列とから構成される表形式でデータを管理するデータベースにおいて、行番号と列番号とで指定されるマス目を「セル」と記す。本実施の形態では、簡単のため、1つのセルには、1つのデータが入るものとする。
検索システム100は、データ暗号化関数とデータ復号化関数とを備える。データ暗号化関数は、平文データと暗号鍵とを入力とし、暗号化データを出力する。データ復号化関数は、暗号化データと暗号鍵とを入力とし、平文データを出力する。
検索システム100は、暗号化された状態のまま、復号化せずにデータを比較できる、という特徴を備える。また、検索システム100は、インデックス暗号化関数、クエリ暗号化関数、比較関数を備える。インデックス暗号化関数は、平文インデックスと暗号鍵とを入力とし、暗号化インデックスを出力する。クエリ暗号化関数は、平文クエリと暗号鍵とを入力とし、暗号化クエリを出力する。比較関数は、暗号化インデックスにおける暗号化された検索キーと暗号化クエリとを入力とし、暗号化される前の検索キーと平文クエリの値とが等しいかを判別する関数である。比較関数は、無視可能な確率を除き、それぞれの値が等しい場合は「1」を出力し、異なる場合は「0」を出力する。
E(x)は、平文データxを暗号化した暗号化データを表す。
log(x)は、変数xを真数、底を「2」とする対数関数とする。例えば、log(2)=1、log(4)=2、log(8)=3である。
[x]は、実数xの小数点第一位を切り捨てる丸め関数である。例えば、[4.3]=4である。
『x』は、実数xの小数点第一位を切り上げる丸め関数である。例えば『4.3』=5である。
Power(x,y)は、変数xのy乗を計算するべき乗関数である。例えば、Power(2,3)=23=8である。
power(2,x『path/2』-1)=power(2,『1/2』-1)=power(2,0)=20=1
power(2,x『path/2』)=power(2,『1/2』)=power(2,1)=21=2
信頼領域管理部220は、1<y≦2を満たす整数をランダムに生成し、y=2とする。信頼領域管理部220は、S1823-2に処理を戻す。
power(2,x『path/2』-1)=power(2,2『1/2』-1)=power(2,0)=20=1
power(2,x『path/2』)=power(2,2『1/2』)=power(2,2)=22=4
信頼領域管理部220は、1<y≦4を満たす整数をランダムに生成し、y=3とする。信頼領域管理部220は、S1823-2に処理を戻す。
power(2,x『path/2』-1)=power(2,『1/2』-1)=power(2,0)=20=1
power(2, x『path/2』)=power(2,『1/2』)=power(2,1)=21=2
信頼領域管理部220は、1<y≦2を満たす整数をランダムに生成し、y=2とする。信頼領域管理部220は、S1823-9に処理を戻す。
power(2,2『path/2』-1)=power(2,2『1/2』-1)=power(2,0)=20=1
power(2,2『path/2』)=power(2,2『1/2』)=power(2,1)=22=4
信頼領域管理部220は、1<y≦4を満たす整数をランダムに生成し、y=3とする。信頼領域管理部220は、S1823-9に処理を戻す。
上述の実施の形態においては、本発明を検索システムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
Claims (9)
- データが暗号化された暗号化データを閲覧する閲覧機からのクエリが暗号化された暗号化クエリに対する検索を行い、前記閲覧機に検索結果を提供する提供機を備える検索システムであって、
前記提供機での検索に用いられる検索キーが暗号化された暗号化検索キーと、前記暗号化検索キーと対応付けられている、暗号化データを識別可能な識別情報が暗号化された暗号化IDと、が対応付けられた管理用情報を、前記提供機の管理者が閲覧不可能な第1の記憶領域において記憶し、前記提供機での検索に用いられる暗号化検索キーおよび前記暗号化検索キーに対応付けられた1つ以上の暗号化IDを複数まとめた組として管理し、前記管理用情報のうち、前記閲覧機からの暗号化クエリに対応する暗号化検索キーが含まれる組のうち少なくとも1つの暗号化検索キーと、前記少なくとも1つの暗号化検索キーに対応する暗号化IDと、を復号化して、復号化された当該少なくとも1つの暗号化検索キーおよび暗号化IDの暗号化として、当該少なくとも1つの暗号化検索キーおよび暗号化IDを前記管理用情報に含まれる他の暗号化検索キーおよび暗号化IDに変更する第1の管理部と、
前記提供機での検索に用いられる暗号化検索キーと、前記暗号化検索キーに対応付けられた1つ以上の暗号化IDと、が対応付けられたインデックス情報を第2の記憶領域に記憶し、前記インデックス情報のうち、前記少なくとも1つの暗号化検索キーおよび暗号化IDを、前記第1の管理部により復号化および暗号化された暗号化検索キーおよび暗号化IDである前記他の暗号化検索キーおよび暗号化IDに更新する第2の管理部と、
を備える検索システム。 - 前記管理用情報には、ダミーの暗号化検索キーおよびダミーの暗号化IDが含まれている、
請求項1に記載の検索システム。 - 前記閲覧機および前記提供機において、暗号化および復号化に用いる暗号鍵を共有し、
前記第1の記憶領域は、前記提供機に設けられ、
前記第1の管理部は、前記第1の記憶領域において前記暗号鍵を記憶する、
請求項1に記載の検索システム。 - 暗号化されたデータである暗号化データと、前記暗号化データを検索するための暗号化検索キーと、が対応付けられている複数のデータを記憶する記憶部を備え、
前記第2の管理部は、前記記憶部により記憶されているデータのうち、前記閲覧機からの暗号化クエリに対応する暗号化検索キーを、前記第1の管理部により前記暗号化検索キーが復号化されて暗号化された暗号化検索キーに更新する、
請求項1に記載の検索システム。 - 暗号化されたデータである暗号化データと、前記暗号化データを検索するための暗号化検索キーと、前記暗号化データおよび前記暗号化検索キーを識別可能な識別情報であるIDとが対応付けられている複数のデータを記憶する記憶部を備え、
前記第2の管理部は、前記インデックス情報を用いて、前記閲覧機からの暗号化クエリと同じ暗号化検索キーに対応付けられている暗号化IDを前記第1の管理部に渡し、
前記第1の管理部は、前記提供機での検索に用いられる暗号化検索キーおよび前記暗号化検索キーに対応付けられた1つ以上の暗号化IDを複数まとめた組として管理し、前記第2の管理部から受け取った暗号化IDと、前記暗号化IDが含まれる組の暗号化IDとを復号化し、復号化したIDにより識別される暗号化データを前記第2の管理部に渡し、
前記第2の管理部は、前記第1の管理部から受け取った暗号化データのうち、前記暗号化検索キーの暗号化データを前記閲覧機に送信する、
請求項1に記載の検索システム。 - 前記提供機は、TEE機能を備える装置を備え、
前記第1の記憶領域は、前記提供機に設けられ、
前記第1の記憶領域は、前記TEE機能によりメモリ上に確保されている、
請求項1に記載の検索システム。 - 前記第1の記憶領域および第1の管理部は、前記閲覧機に設けられている、
請求項1に記載の検索システム。 - データが暗号化された暗号化データを閲覧する閲覧機からのクエリが暗号化された暗号化クエリに対する検索を行い、前記閲覧機に検索結果を提供する検索装置であって、
前記検索装置での検索に用いられる検索キーが暗号化された暗号化検索キーと、前記暗号化検索キーと対応付けられている、暗号化データを識別可能な識別情報が暗号化された暗号化IDと、が対応付けられた管理用情報を、前記検索装置の管理者が閲覧不可能な第1の記憶領域において記憶し、前記検索装置での検索に用いられる暗号化検索キーおよび前記暗号化検索キーに対応付けられた1つ以上の暗号化IDを複数まとめた組として管理し、前記管理用情報のうち、前記閲覧機からの暗号化クエリに対応する暗号化検索キーが含まれる組のうち少なくとも1つの暗号化検索キーと、前記少なくとも1つの暗号化検索キーに対応する暗号化IDと、を復号化して、復号化された当該少なくとも1つの暗号化検索キーおよび暗号化IDの暗号化として、当該少なくとも1つの暗号化検索キーおよび暗号化IDを前記管理用情報に含まれる他の暗号化検索キーおよび暗号化IDに変更する第1の管理部と、
前記検索装置での検索に用いられる暗号化検索キーと、前記暗号化検索キーに対応付けられた1つ以上の暗号化IDと、が対応付けられたインデックス情報を第2の記憶領域に記憶し、前記インデックス情報のうち、前記少なくとも1つの暗号化検索キーおよび暗号化IDを、前記第1の管理部により復号化および暗号化された暗号化検索キーおよび暗号化IDである前記他の暗号化検索キーおよび暗号化IDに更新する第2の管理部と、
を備える検索装置。 - データが暗号化された暗号化データを閲覧する閲覧機からのクエリが暗号化された暗号化クエリに対する検索を行い、前記閲覧機に検索結果を提供する提供機を備える検索システムにおける検索方法であって、
第1の管理部が、前記提供機での検索に用いられる検索キーが暗号化された暗号化検索キーと、前記暗号化検索キーと対応付けられている、暗号化データを識別可能な識別情報が暗号化された暗号化IDと、が対応付けられた管理用情報を、前記提供機の管理者が閲覧不可能な第1の記憶領域において記憶し、前記提供機での検索に用いられる暗号化検索キーおよび前記暗号化検索キーに対応付けられた1つ以上の暗号化IDを複数まとめた組として管理し、前記管理用情報のうち、前記閲覧機からの暗号化クエリに対応する暗号化検索キーが含まれる組のうち少なくとも1つの暗号化検索キーと、前記少なくとも1つの暗号化検索キーに対応する暗号化IDと、を復号化して、復号化された当該少なくとも1つの暗号化検索キーおよび暗号化IDの暗号化として、当該少なくとも1つの暗号化検索キーおよび暗号化IDを前記管理用情報に含まれる他の暗号化検索キーおよび暗号化IDに変更することと、
第2の管理部が、前記提供機での検索に用いられる暗号化検索キーと、前記暗号化検索キーに対応付けられた1つ以上の暗号化IDと、が対応付けられたインデックス情報を第2の記憶領域に記憶し、前記インデックス情報のうち、前記少なくとも1つの暗号化検索キーおよび暗号化IDを、前記第1の管理部により復号化および暗号化された暗号化検索キーおよび暗号化IDである前記他の暗号化検索キーおよび暗号化IDに更新することと、
を含む検索方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020077986A JP7384740B2 (ja) | 2020-04-27 | 2020-04-27 | 検索システム、検索装置、および検索方法 |
US17/209,389 US11803655B2 (en) | 2020-04-27 | 2021-03-23 | Retrieval system, retrieval device and retrieval method |
EP21164511.4A EP3905090A1 (en) | 2020-04-27 | 2021-03-24 | Retrieval system, retrieval device and retrieval method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020077986A JP7384740B2 (ja) | 2020-04-27 | 2020-04-27 | 検索システム、検索装置、および検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021173877A JP2021173877A (ja) | 2021-11-01 |
JP7384740B2 true JP7384740B2 (ja) | 2023-11-21 |
Family
ID=75203145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020077986A Active JP7384740B2 (ja) | 2020-04-27 | 2020-04-27 | 検索システム、検索装置、および検索方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11803655B2 (ja) |
EP (1) | EP3905090A1 (ja) |
JP (1) | JP7384740B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005134990A (ja) | 2003-10-28 | 2005-05-26 | National Institute Of Information & Communication Technology | 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム |
US20120078914A1 (en) | 2010-09-29 | 2012-03-29 | Microsoft Corporation | Searchable symmetric encryption with dynamic updating |
WO2019117978A1 (en) | 2017-12-12 | 2019-06-20 | Google Llc | Oblivious access with differential privacy |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6208586B2 (ja) * | 2014-01-16 | 2017-10-04 | 株式会社日立製作所 | 検索可能暗号処理システムおよび検索可能暗号処理方法 |
JP6419633B2 (ja) * | 2015-04-09 | 2018-11-07 | 株式会社日立ソリューションズ | 検索システム |
US10120870B2 (en) * | 2015-10-11 | 2018-11-06 | Noggle Ag | System and method for searching distributed files across a plurality of clients |
-
2020
- 2020-04-27 JP JP2020077986A patent/JP7384740B2/ja active Active
-
2021
- 2021-03-23 US US17/209,389 patent/US11803655B2/en active Active
- 2021-03-24 EP EP21164511.4A patent/EP3905090A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005134990A (ja) | 2003-10-28 | 2005-05-26 | National Institute Of Information & Communication Technology | 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム |
US20120078914A1 (en) | 2010-09-29 | 2012-03-29 | Microsoft Corporation | Searchable symmetric encryption with dynamic updating |
WO2019117978A1 (en) | 2017-12-12 | 2019-06-20 | Google Llc | Oblivious access with differential privacy |
Also Published As
Publication number | Publication date |
---|---|
US20210334400A1 (en) | 2021-10-28 |
EP3905090A1 (en) | 2021-11-03 |
US11803655B2 (en) | 2023-10-31 |
JP2021173877A (ja) | 2021-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ge et al. | Towards achieving keyword search over dynamic encrypted cloud data with symmetric-key based verification | |
US9111106B2 (en) | Data processing apparatus and data storage apparatus | |
Markatou et al. | Full database reconstruction with access and search pattern leakage | |
Zhang et al. | Inference attack-resistant e-healthcare cloud system with fine-grained access control | |
JP6457660B2 (ja) | データ加工システム及びデータ加工方法 | |
Kumar et al. | Approaches and challenges of privacy preserving search over encrypted data | |
Barouti et al. | Symmetrically-private database search in cloud computing | |
JP7384740B2 (ja) | 検索システム、検索装置、および検索方法 | |
Kim et al. | A privacy-preserving top-k query processing algorithm in the cloud computing | |
Dave et al. | Securing SQL with access control for database as a service model | |
Abdelraheem et al. | Practical attacks on relational databases protected via searchable encryption | |
Ferreira et al. | Searching private data in a cloud encrypted domain | |
Deshpande et al. | Efficient searching over encrypted database: methodology and algorithms | |
Shen et al. | Achieving personalized and privacy-preserving range queries over outsourced cloud data | |
Hamdi et al. | A security novel for a networked database | |
Chebrolu et al. | An efficiency and privacy-preserving biometric identification scheme in cloud computing | |
Brindha et al. | SDPBDVC: secure data processing on big data using visual cryptography | |
Branco et al. | A New Mechanism to Preserving Data Confidentiality in Cloud Database Scenarios | |
Mallaiah et al. | Word and Phrase Proximity Searchable Encryption Protocols for Cloud Based Relational Databases | |
Kajda et al. | Encryption as the Most Basic Method of Cloud Data Access Security Control | |
Khalifa | Innovative Technique to Encrypt Data for Data Mining Purposes in Cloud Computing | |
Kumar et al. | Precision and Privacy Preserving Multi-Keyword Search over Encrypted Data | |
Nita et al. | Searchable Encryption | |
Sridhar et al. | Querying methods of Encrypted Cloud Data | |
Geng et al. | SCORD: Shuffling Column-Oriented Relational Database to Enhance Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221226 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231025 |
|
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: 20231107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7384740 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |