CN108351905B - 隐匿检索系统、隐匿检索方法及计算机可读取的记录介质 - Google Patents

隐匿检索系统、隐匿检索方法及计算机可读取的记录介质 Download PDF

Info

Publication number
CN108351905B
CN108351905B CN201780003889.0A CN201780003889A CN108351905B CN 108351905 B CN108351905 B CN 108351905B CN 201780003889 A CN201780003889 A CN 201780003889A CN 108351905 B CN108351905 B CN 108351905B
Authority
CN
China
Prior art keywords
search
management
key
encryption
retrieval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780003889.0A
Other languages
English (en)
Other versions
CN108351905A (zh
Inventor
早坂健一郎
川合丰
平野贵人
小关义博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN108351905A publication Critical patent/CN108351905A/zh
Application granted granted Critical
Publication of CN108351905B publication Critical patent/CN108351905B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

管理装置(500)将加密标签(C(D))和加密数据对应起来进行保管。检索装置(400)取得用于检索保管在管理装置(500)中的加密数据的检索关键字,计算由检索关键字(s)唯一确定的确定性信息(t),使用确定性信息(t)对检索关键字(s)执行概率加密方式的加密,由此生成检索查询(Q(s))。检索装置(400)将检索查询(Q(s))发送给管理装置(500)。管理装置(500)在从检索装置(400)接收到检索查询(Q(s))时,判定对检索查询(Q(s))进行解密得到的检索关键字(s)是否与对保管在管理装置(500)中的加密标签(c)进行解密得到的关联关键字一致。

Description

隐匿检索系统、隐匿检索方法及计算机可读取的记录介质
技术领域
本发明涉及隐匿检索系统、隐匿检索方法及计算机可读取的记录介质。
背景技术
隐匿检索是能够对被加密状态的文件进行检索的技术。在云服务开始普及的今天,能够低成本且不费功夫地开始使用的云存储正在普及中。在此,鉴于对破解或云端可靠性的担忧,考虑在云存储中将文件加密来进行保管。隐匿检索由于对被加密的文件无需解密即可进行检索,因此是能够一并实现安全性和功能性的技术。
在隐匿检索中,使用两个被加密的关键字实现检索。第一个是与加密文件相关联的加密关键字,在后文中称为加密标签(encrypted tag)。第二个是将在检索中使用的关键字加密的关键字,在后文中称为加密查询(encrypted query)或检索查询(search query)。在隐匿检索中,通过对该加密标签的集合使用检索查询,无需解密即可发现一致的加密标签,由此在不暴露所保管的文件或检索关键字的信息的情况下实现检索。
隐匿检索有采用对同一检索关键字生成相同密文的确定性加密的方式、和采用即使是同一检索关键字也生成不同密文的概率性加密的方式。采用检索查询是确定性的确定性加密的隐匿检索能够得到被加密状态的检索关键字的分布,因而存在根据分布的偏向推测出关键字的可能性。因此,采用检索查询是概率性的概率性加密的隐匿检索的安全性比采用确定性加密的隐匿检索高。但是,另一方面,检索查询为概率性的隐匿检索存在检索处理比检索查询为确定性的隐匿检索慢的问题。
作为检索查询为概率性的隐匿检索的高速化方法有专利文献1及专利文献2。另外,在非专利文献1中记述了,虽然是检索查询为确定性的隐匿检索的高速化方法,但利用检索查询为确定性的特点使再检索高速化的方法。此外,在非专利文献2中公开了即使检索查询是通过确定性的加密而生成的,但也很擅长抵御频度分析攻击的加密标签的构成法。
在专利文献1及专利文献2中,将依存于检索关键字的确定性的值包含在加密查询中,在加密标签的集合中同样也附加确定性的值,由此限定作为检索对象的加密标签,使检索处理高速化。
现有技术文献
专利文献
专利文献1:日本特开2012-164031号公报
专利文献2:日本特开2013-152512号公报
非专利文献
非专利文献1:F.Hahn and F.Kerschbaum.“Searchable Encryption withSecure and Efficient Updates”.ACM CCS 2014
非专利文献2:R.Curtmola et al.,“Searchable Symmetric EncryptionImproved Definitions and Efficient Constructions”,ACM CCS 2006
发明内容
发明要解决的问题
在专利文献1及专利文献2中,将依存于检索关键字的确定性的值包含在检索查询中,在加密标签的集合中同样也附加确定性的值。这样,在检索查询及加密标签中包含依存于检索关键字的确定性的值,在这方面不能说检索查询是概率性的,在检索处理高速化的另一方面是存在安全性降低的问题。
本发明的目的在于,提供能够在概率性的检索查询中嵌入用于使检索处理高速化的信息的隐匿检索系统。
用于解决问题的手段
本发明的隐匿检索系统具有:管理装置,其具有作为存储装置的管理存储部,接收对保管数据进行加密得到的加密数据、和通过对与所述保管数据相关联的关联关键字执行概率加密方式的加密而生成的加密标签,并将所述加密标签和所述加密数据对应起来保管在所述管理存储部中;以及检索装置,其在取得了对保管在所述管理存储部中的所述加密数据进行检索的检索关键字时,计算由所述检索关键字唯一确定的确定性信息,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,由此生成检索查询,并将所述检索查询发送给所述管理装置,所述管理装置在从所述检索装置接收到所述检索查询时,判定对所述检索查询进行解密得到的所述检索关键字、是否与对保管在所述管理存储部中的所述加密标签进行解密得到的关联关键字一致。
发明效果
根据本发明的隐匿检索系统,检索装置在取得了检索关键字时,计算由检索关键字唯一确定的确定性信息,将确定性信息嵌入检索关键字中并执行概率加密方式的加密,由此生成检索查询,因而发挥能够使用嵌入了使检索处理高速化的确定性信息的、概率性的检索查询来检索加密标签的效果。
附图说明
图1是实施方式1的隐匿检索系统100的结构图。
图2是实施方式1的密钥生成装置200的结构图。
图3是实施方式1的登记装置300的结构图。
图4是实施方式1的检索装置400的结构图。
图5是实施方式1的管理装置500的结构图。
图6是实施方式1的隐匿检索系统100的密钥生成保管处理S110的流程图。
图7是实施方式1的隐匿检索系统100的登记处理S120的流程图。
图8是实施方式1的隐匿检索系统100的检索处理S130的流程图。
图9是实施方式1的检索装置400的步骤S802的关键字加密处理的流程图。
图10是实施方式1的隐匿检索系统100的删除处理S140的流程图。
图11是实施方式1的密钥生成装置200的变形例的结构图。
图12是实施方式1的登记装置300的变形例的结构图。
图13是实施方式1的检索装置400的变形例的结构图。
图14是实施方式1的管理装置500的变形例的结构图。
图15是实施方式2的隐匿检索系统100a的结构图。
图16是实施方式2的登记装置300a的结构图。
图17是实施方式2的检索装置400a的结构图。
图18是实施方式2的管理装置500a的结构图。
图19是实施方式2的隐匿检索系统100a的登记处理S120a的流程图。
图20是实施方式2的隐匿检索系统100a的检索处理S130a的流程图。
图21是实施方式2的检索处理S130a的关键字加密处理S802a的流程图。
图22是实施方式3的隐匿检索系统100b的结构图。
图23是实施方式3的隐匿检索系统100b的检索处理S130b的结构图。
图24是实施方式3的检索处理S130b的关键字加密处理S802b的流程图。
具体实施方式
实施方式1
***结构的说明***
使用图1说明本实施方式的隐匿检索系统100的结构。
隐匿检索系统100具有密钥生成装置200、登记装置300、检索装置400和管理装置500。
在隐匿检索系统100中,密钥生成装置200、多个登记装置300、多个检索装置400和管理装置500分别经由网络101相连接。
网络101是连接密钥生成装置200、多个登记装置300、多个检索装置400和管理装置500的通信路径。具体地讲,网络101是互联网、LAN(Local Area Network:局域网),也可以使用其它类型的网络。
密钥生成装置200具体地讲是PC(Personal Computer:个人计算机)。密钥生成装置200生成在加密时使用的密钥,并通过网络101将密钥发送给登记装置300、检索装置400和管理装置500。另外,该密钥也可以通过诸如邮寄的方法直接发送。
登记装置300具体地讲是PC。登记装置300对在管理装置500中保管的保管数据以及与保管数据相关联的关联关键字进行加密,生成加密数据及加密标签。在此,保管数据也称为保管文件。并且,加密数据也称为加密文件。登记装置300是作为将所生成的加密数据及加密标签登记在管理装置500中的登记终端而运行的计算机。
登记装置300也作为删除请求装置发挥作用。即,登记装置300向管理装置500请求在管理装置500中保管的加密数据及加密标签的删除。下面,将加密数据及加密标签也称为保管加密数据。
检索装置400具体地讲是PC。检索装置400作为检索请求装置发挥作用。检索装置400将在检索中使用的检索关键字被加密的检索查询发送给管理装置500,并请求检索查询与加密标签的核对。
管理装置500具体地讲是具有大容量的存储介质的计算机。管理装置500作为保管加密数据的保管装置发挥作用。即,如果存在来自登记装置300的加密数据及加密标签的保管请求,管理装置500就保管它们。
管理装置500也作为检索装置发挥作用。即,如果存在来自检索装置400的检索请求,管理装置500就核对加密标签的集合和检索查询,将检索结果发送给检索装置400。
管理装置500也作为删除装置发挥作用。即,如果存在来自登记装置300的加密数据及加密标签即保管加密数据的删除请求,管理装置500就删除所保管的保管加密数据。
另外,也可以是,在同一PC内,密钥生成装置200、登记装置300及检索装置400任意一方都可以同时包含两个以上。
下面,对隐匿检索系统100具有的各装置的结构进行说明。
<密钥生成装置200>
首先,使用图2说明密钥生成装置200的结构。
在本实施方式中,密钥生成装置200是计算机。密钥生成装置200具有CPU(CentralProcessing Unit:中央处理单元)910、存储装置920、输入接口930、输出接口940及通信装置950这些硬件。存储装置920包括存储器921和辅助存储装置922。
密钥生成装置200具有作为功能结构的参数接收部201、密钥生成部202、发送部209和密钥生成存储部250。在下面的说明中,将密钥生成装置200中的参数接收部201、密钥生成部202和发送部209的功能称为密钥生成装置200的“部”的功能。密钥生成装置200的“部”的功能由软件实现。
另外,密钥生成存储部250由存储器921实现。密钥生成存储部250存储在密钥生成装置200的各部中使用的数据。
参数接收部201接收参数λ。
密钥生成部202以从参数接收部201接收到的参数λ为输入,生成用于对数据进行加密或解密的密钥K1及密钥K2。
发送部209将由密钥生成部202生成的密钥K1发送给登记装置300和检索装置400。并且,发送部209将密钥K2发送给检索装置400和管理装置500。
<登记装置300>
下面,使用图3说明登记装置300的结构。
在本实施方式中,登记装置300是计算机。登记装置300具有CPU910、存储装置920、输入接口930、输出接口940及通信装置950这些硬件。存储装置920包括存储器921和辅助存储装置922。
登记装置300具有作为功能结构的接收部301、密钥保管部302、输入部311、加密部312、发送部319和登记存储部350。在下面的说明中,将登记装置300中的接收部301、密钥保管部302、输入部311、加密部312和发送部319的功能称为登记装置300的“部”的功能。登记装置300的“部”的功能由软件实现。
另外,登记存储部350由存储器921实现。登记存储部350存储在登记装置300的各部中使用的数据。
接收部301接收从密钥生成装置200发送来的密钥K1。
密钥保管部302将从接收部301获取的密钥K1保管在登记存储部350中。
输入部311通过输入接口930获取由数据登记者输入的保管数据D、保管数据名ID(D)和与保管数据D相关联的关联关键字w的集合W(D)。并且,输入部311获取用于删除保管数据D的删除请求339。
加密部312从密钥保管部302获取密钥K1,从输入部311获取保管数据D和保管数据名ID(D)和关联关键字w的集合W(D),并使用密钥K1将保管数据D和关联关键字的集合W(D)加密。加密部312生成在加密时使用的第1随机数r的集合R(D)。
将使用密钥K1进行加密后的保管数据D设为加密数据E(D)。将使用密钥K1和第1随机数r的集合R(D)被概率性地加密的关联关键字w的集合W(D)设为加密标签c的集合C(D)。
即,加密部312生成保管数据名ID(D)和加密标签c的集合C(D)的组(ID(D),C(D))、及第1随机数r的集合R(D)。在后文中,存在将(ID(D),C(D))记述为保管加密数据的情况。另外,设为加密数据E(D)与保管数据名ID(D)相对应。即,保管加密数据(ID(D),C(D))表示与保管数据名ID(D)相对应的加密数据E(D)和加密标签c的集合C(D)的组。
另外,也存在将关联关键字w的集合记述为关联关键字W(D)、将第1随机数r的集合记述为第1随机数R(D)、将加密标签c的集合记述为加密标签C(D)的情况。
发送部319将从加密部312获取的保管加密数据(ID(D),C(D))发送给管理装置500。并且,将从加密部312获取的第1随机数r的集合R(D)发送给检索装置400。并且,发送部319将从输入部311获取的删除请求339发送给管理装置500。
<检索装置400>
下面,使用图4说明检索装置400的结构。
在本实施方式中,检索装置400是计算机。检索装置400具有CPU910、存储装置920、输入接口930、输出接口940及通信装置950这些硬件。存储装置920包括存储器921和辅助存储装置922。
检索装置400具有作为功能结构的接收部401、输入部411、加密部412、发送部419、密钥保管部421、辅助信息保管部422、检索结果输出部439和检索存储部450。在下面的说明中,将检索装置400中的接收部401、输入部411、加密部412、发送部419、密钥保管部421、辅助信息保管部422和检索结果输出部439的功能称为检索装置400的“部”的功能。检索装置400的“部”的功能由软件实现。
另外,检索存储部450由存储器921实现。检索存储部450存储在检索装置400的各部中使用的数据。
接收部401接收从密钥生成装置200发送来的密钥K1及密钥K2、或者从登记装置300发送来的第1随机数r的集合R(D)、或者从管理装置500发送来的检索结果I(s)。
密钥保管部421将从接收部401获取的密钥K1及密钥K2保管在检索存储部450中。
输入部411获取由数据检索者输入的检索关键字s及确定性指示f。确定性指示f具体地讲是标志,也称为高速索引生成标志。
辅助信息保管部422将从接收部401获取的第1随机数r的集合R(D)保管在检索存储部450中。在后文中,将通过辅助信息保管部422储存在检索存储部450中的所有第1随机数的集合记述为R。并且,辅助信息保管部422将检索历史记录信息451保管在检索存储部450中。即,辅助信息保管部422从加密部412获取确定性指示f及检索关键字s的确定性信息t,从接收部401获取检索关键字s的检索结果I(s)。并且,在通过管理装置500确认到生成了后述的高速索引信息554的情况下,辅助信息保管部422将确定性信息t储存在检索历史记录信息451中。如果未能确认到生成了高速索引信息554,则辅助信息保管部422不执行任何处理。在后文中,将通过辅助信息保管部422储存在检索存储部450的检索历史记录信息451中的所有确定性信息t的集合记述为T。
检索关键字s的确定性信息t是与检索关键字s一对一对应的识别符。即,在将某一个检索关键字s和s’的确定性信息分别设为t和t’时,s和s’一致与t和t’一致是等价的。确定性信息t具体地讲是利用散列函数的方法计算的。确定性信息t也称为确定值。
加密部412从密钥保管部421获取密钥K1及密钥K2、从辅助信息保管部422获取第1随机数的集合R及确定性信息t的集合T、从输入部411获取检索关键字s及确定性指示f。加密部412将检索关键字的确定性信息t或检索查询Q(s)输出给发送部419。
发送部419将从加密部412获取的确定性信息t或检索查询Q(s),通过通信装置950发送给管理装置500。
检索结果输出部439根据从接收部401获取的检索结果I(s),通过输出接口940将检索结果输出给数据检索者。
<管理装置500>
下面,使用图5说明管理装置500的结构。
在本实施方式中,管理装置500是计算机。管理装置500具有CPU910、存储装置920、输入接口930、输出接口940及通信装置950这些硬件。存储装置920包括存储器921和辅助存储装置922。
管理装置500具有作为功能结构的接收部501、密钥保管部511、数据保管部521、高速核对部531、核对部502、发送部509、管理存储部550。在下面的说明中,将管理装置500中的接收部501、密钥保管部511、数据保管部521、高速核对部531、核对部502和发送部509的功能称为管理装置500的“部”的功能。管理装置500的“部”的功能由软件实现。
另外,管理存储部550由存储器921实现。管理存储部550存储在管理装置500的各部中使用的数据。
接收部501接收从密钥生成装置200发送的密钥K2、从登记装置300发送的保管加密数据(ID(D),C(D))或删除请求339、从检索装置400发送的确定性信息t或检索查询Q(s)。
密钥保管部511将从接收部501获取的密钥K2保管在管理存储部550中。
数据保管部521将从接收部501获取的保管加密数据(ID(D),C(D))保管在管理存储部550中。如果需要,数据保管部521可以将发送来的日期时间的信息与保管加密数据(ID(D),C(D))一起保管。并且,数据保管部521根据从接收部501获取的删除请求339,将在管理存储部550中保管的保管加密数据(ID(D),C(D))删除。
另外,在后文的说明中,存在将保管加密数据(ID(D),C(D))作为保管加密数据551、将加密数据E(D)作为加密数据522、将加密标签c的集合C(D)作为加密标签533进行说明的情况。
高速核对部531针对从核对部502获取的确定性信息t及其检索结果I(s),生成诸如以确定性信息t为密钥高速提取检索结果I(s)的高速索引信息554,将高速索引信息554保管在管理存储部550中。并且,高速核对部531针对从接收部501获取的确定性信息t,使用高速索引信息554从管理存储部550提取对应的检索结果I(s),并向发送部509输出检索结果I(s)。
核对部502针对从接收部501获取的检索查询Q(s)、从密钥保管部511获取的密钥K2、从数据保管部521获取的所有保管加密数据(ID(D),C(D)),生成检索结果I(s)并向发送部509输出。并且,在检索结果I(s)不是空集合的情况下,核对部502向高速核对部531输出确定性信息t和检索结果I(s)。
发送部509将从核对部502或高速核对部531获取的检索结果I(s)发送给检索装置400。
下面,对隐匿检索系统100具有的密钥生成装置200、登记装置300、检索装置400和管理装置500的各装置的硬件进行说明。
CPU910通过信号线与其它硬件连接,并控制这些其它硬件。CPU910是进行处理的IC(Integrated Circuit,集成电路)。CPU910也称为处理器。
存储装置920包括辅助存储装置922和存储器921。辅助存储装置922具体地讲是ROM(Read Only Memory,只读存储器)、快闪存储器或HDD(Hard Disk Drive,硬盘驱动器)。存储器921具体地讲是RAM(Random Access Memory,随机存取存储器)。隐匿检索系统100具有的各装置的存储部即密钥生成存储部250、登记存储部350、检索存储部450和管理存储部550由存储器921实现,但也可以由辅助存储装置922及存储器921双方实现。
输入接口930是与鼠标、键盘或触摸屏这些输入装置连接的端口。输入接口930具体地讲是USB(Universal Serial Bus,通用串行总线)端子。另外,输入接口930也可以是与LAN(Local Area Network,局域网)连接的端口。
输出接口940是与显示器这样的显示设备的线缆连接的端口。输出接口940具体地讲是USB端子或HDMI(注册商标)(High Definition Multimedia Interface:高清晰度多媒体接口)端子。显示器具体地讲是LCD(Liquid Crystal Display:液晶显示器)。
通信装置950包括接收数据的接收器及发送数据的传送器。通信装置950具体地讲是通信芯片或NIC(Network Interface Card:网络接口卡)。
在辅助存储装置922中存储有用于实现隐匿检索系统100的各装置的“部”的功能的程序。该程序被加载在存储器中,被CPU910读取,并通过CPU910来执行。在辅助存储装置922中也存储有OS(Operating System:操作系统)。OS的至少一部分被加载在存储器中,CPU910一面执行OS一面执行用于实现“部”的功能的程序。
隐匿检索系统100的各装置可以只具有一个CPU910,也可以具有多个CPU910。也可以是,多个CPU910协作执行用于实现“部”的功能的程序。
表示“部”的处理的结果的信息、数据、信号值及变量值,被存储在辅助存储装置、存储器或者CPU910内的寄存器或缓存中。
用于实现“部”的功能的程序也可以存储在磁盘、软盘、光盘、紧凑型光盘、蓝光(Blu-ray:注册商标)光盘、DVD(Digital Versatile Disc,数字通用光盘)这些可移动记录介质中。
另外,隐匿检索程序620是用于实现作为隐匿检索系统100的各装置的“部”进行说明的功能的程序。并且,被称为隐匿检索程序产品的是指记录了用于实现作为“部”进行说明的功能的程序的存储介质及存储装置,与外观上的形式无关,都加载有计算机可读的程序。
***动作的说明***
下面,对本实施方式的隐匿检索系统100的隐匿检索方法610及隐匿检索程序620的隐匿检索处理S100进行说明。
隐匿检索处理S100包括密钥生成保管处理S110、登记处理S120、检索处理S130和删除处理S140。
<密钥生成保管处理S110>
使用图6说明本实施方式的隐匿检索系统100的密钥生成保管处理S110。
图6的步骤S601~步骤S609是由密钥生成装置200、登记装置300、检索装置400和管理装置500执行的处理。步骤S601~步骤S603是由密钥生成装置200执行的密钥生成处理S112。步骤S604~步骤S605是由登记装置300执行的密钥生成处理S113。步骤S606~步骤S607是由检索装置400执行的密钥生成处理S114。步骤S608~步骤S609是由管理装置500执行的密钥生成处理S115。
在步骤S601中,密钥生成装置200的参数接收部201通过密钥生成装置200的通信装置950接收参数λ。
在步骤S602中,密钥生成装置200的密钥生成部202以在步骤S601中密钥生成装置200的参数接收部201接收到的参数λ为输入,生成密钥K1及密钥K2。
在步骤S603中,密钥生成装置200的发送部209将在步骤S602中密钥生成装置200的密钥生成部202生成的密钥K1及密钥K2作为输入,将密钥K1发送给登记装置300和检索装置400。并且,密钥生成装置200的发送部209将密钥K2发送给检索装置400和管理装置500。
在步骤S604中,登记装置300的接收部301通过登记装置300的通信装置950接收在步骤S603中密钥生成装置200的发送部209发送的密钥K1。
在步骤S605中,登记装置300的密钥保管部302保管在步骤S604中登记装置300的接收部301接收到的密钥K1。
在步骤S606中,检索装置400的接收部401通过检索装置400的通信装置950接收在步骤S603中密钥生成装置200的发送部209发送的密钥K1及密钥K2。
在步骤S607中,检索装置400的密钥保管部421保管在步骤S606中检索装置400的接收部401接收到的密钥K1及密钥K2。
在步骤S608中,管理装置500的接收部501通过管理装置500的通信装置950接收在步骤S603中密钥生成装置200的发送部209发送的密钥K2。
在步骤S609中,管理装置500的密钥保管部511保管在步骤S608管理装置500的接收部501接收到的密钥K2。
以上结束隐匿检索系统100的密钥生成保管处理S110。
另外,密钥K1、K2是保密信息,因而密钥保管部302和密钥保管部421需要严密保管使得密钥K1、K2不泄露到外部。
<登记处理S120>
使用图7说明本实施方式的隐匿检索系统100的登记处理S120。
图7的步骤S701~步骤S708是由登记装置300、检索装置400和管理装置500执行的处理。步骤S701~步骤S704是由登记装置300执行的加密处理S123。步骤S705~步骤S706是由检索装置400执行的第1随机数保管处理S124。步骤S707~步骤S708是由管理装置500执行的数据保管处理S125。
在登记装置300的加密处理S123中,登记装置300生成第1随机数R(D),使用第1随机数R(D)对关联关键字W(D)执行概率加密方式的加密而生成加密标签C(D)。并且,登记装置300将加密标签C(D)和对保管数据D进行加密得到的加密数据E(D)发送给管理装置500。并且,登记装置300将第1随机数R(D)发送给检索装置400。
下面进行具体说明。
在步骤S701中,登记装置300的输入部311获取由数据登记者从键盘、鼠标或存储装置输入的保管数据D、保管数据名ID(D)和与保管数据D相关联的关联关键字w的集合W(D)。如果数据登记者没有进行保管数据名ID(D)的输入,则输入部311可以对所输入的保管数据D的保管数据名ID(D)分配随机数,也可以按照与其它保管数据的保管数据名不重复的方式顺序地分配大于0的整数的值。
在步骤S702中,登记装置300的加密部312获取在步骤S605中由密钥保管部302保管的密钥K1。并且,加密部312获取在步骤S701中输入到输入部311的保管数据D、保管数据名ID(D)和关联关键字w的集合W(D)。于是,加密部312进行以下的处理。
加密部312将关联关键字w的集合W(D)的一个要素作为关联关键字w。加密部312针对所有的关联关键字w,通过随机数生成器生成第1随机数r,并设为c=E(K1,E(K1,w),r)。另外,E表示加密函数。具体地讲,E表示如AES(Advanced Encryption Standard:高级加密标准)那样的公共密钥加密方式、HMAC(Hash-based Message Authentication Code:基于散列的消息认证码)那样的消息认证代码、SHA(Secure Hash Algorithm:安全散列算法)-256那样的散列函数。在此,将针对所有的关联关键字w计算出的密文即加密标签c的集合记述为C(D)。并且,将此时生成的所有的第1随机数r的集合记述为R(D)。
如上所述,加密部312生成保管加密数据(ID(D),C(D))和第1随机数r的集合R(D)。
在步骤S703中,登记装置300的发送部319将在步骤S702中生成的保管加密数据(ID(D),C(D))发送给管理装置500。
在步骤S704中,登记装置300的发送部319将在步骤S702中生成的第1随机数r的集合R(D)发送给检索装置400。
在检索装置400的第1随机数保管处理S124的步骤S705中,检索装置400的接收部401通过检索装置400的通信装置950接收在步骤S704中从登记装置300的发送部319发送的第1随机数r的集合R(D)。
在步骤S706中,检索装置400的辅助信息保管部422保管在步骤S705中接收部401接收到的第1随机数r的集合R(D)。在后文中,将在辅助信息保管部422中储存的所有第1随机数r的集合记述为R。
在管理装置500的数据保管处理S125中,管理装置500接收对保管数据D进行加密得到的加密数据E(D)、和通过对与保管数据D相关联的关联关键字W(D)执行概率加密方式的加密而生成的加密标签C(D)。并且,管理装置500将加密标签C(D)(加密标签553)和加密数据E(D)(加密数据552)对应起来作为保管加密数据(ID(D),C(D))(保管加密数据551)保管在管理存储部550中。
下面进行具体说明。
在步骤S707中,管理装置500的接收部501通过管理装置500的通信装置950接收在步骤S703中从登记装置300的发送部319发送的保管加密数据(ID(D),C(D))。
在步骤S708中,管理装置500的数据保管部521将在步骤S707中接收部501接收到的保管加密数据(ID(D),C(D))保管在管理存储部550中。如上所述,保管加密数据(ID(D),C(D))是与保管数据名ID(D)相对应的加密数据E(D)和加密标签C(D)的组。
以上结束隐匿检索系统100的登记处理S120。
<检索处理S130>
使用图8说明本实施方式的隐匿检索系统100的检索处理S130。
图8的步骤S801~步骤S811是由检索装置400和管理装置500执行的处理。步骤S801~步骤S803是由检索装置400执行的检索查询生成处理S134。步骤S804~步骤S808是由管理装置500执行的判定处理S135。步骤S809~步骤S811是由检索装置400执行的结果输出处理S136。
在检索装置400的检索查询生成处理S134中,检索装置400获取用于检索在管理存储部550中保管的加密数据E(D)的检索关键字s。检索装置400计算由检索关键字s唯一确定的确定性信息t,使用确定性信息t对检索关键字s执行概率加密方式的加密,由此生成检索查询Q(s)。并且,检索装置400将检索查询Q(s)发送给管理装置500。
下面进行具体说明。
在步骤S801中,检索装置400的输入部411获取数据检索者从键盘、鼠标或存储装置输入的检索关键字s及确定性指示f。
在此,确定性指示f指示在将检索关键字s加密时是否使用确定性信息t,具体地讲是标志。确定性指示f也称为高速索引生成标志。并且,在将检索关键字s加密时使用确定性信息t,意味着在检索查询Q(s)中嵌入对高速检索有效的信息即确定性信息t。
检索装置400取得确定性指示f,在由确定性指示f指示了使用确定性信息t的情况下,使用确定性信息t对检索关键字s执行概率加密方式的加密。
并且,检索装置400在由确定性指示f指示了不使用确定性信息t的情况下,对检索关键字s执行不使用确定性信息的概率加密方式的加密。
在步骤S802中,检索装置400的加密部412获取在步骤S607中由密钥保管部421保管的密钥K1及密钥K2、在步骤S706中由辅助信息保管部422保管的第1随机数r的集合R及由辅助信息保管部422管理的确定性信息t的集合T、以及在步骤S801中输入到输入部411的检索关键字s及确定性指示f。加密部412使用所获取的数据进行以下的处理。
图9是示出本实施方式的检索装置400的步骤S802的关键字加密处理的流程图。
在步骤S401中,检索装置400通过对检索关键字s执行确定加密方式的加密,计算确定性信息t。具体地讲,加密部412将检索关键字s的确定性信息t设为t=E(K1,s)。
在步骤S402中,加密部412在计算出确定性信息t时,判定所计算出的确定性信息t是否已被储存在检索存储部450中。加密部412在所计算出的确定性信息t被储存在检索存储部450中的情况下(S402:是),将该确定性信息t发送给管理装置500。
具体地讲,加密部412确认在集合T中是否包含所计算出的确定性信息t。当在所计算出的确定性信息t包含在集合T中的情况下,加密部412将所计算出的确定性信息t输出给发送部419(S403)。
在步骤S404中,加密部412在所计算出的确定性信息t未储存在检索存储部450中的情况下(S402:否),即所计算出的确定性信息t未包含在集合T中的情况下,将检索查询Q(s)发送给管理装置500。
加密部412按照以下所述生成检索查询Q(s)。加密部412生成第2随机数,使用第2随机数、从登记装置300接收到的第1随机数、和确定性信息t,对检索关键字s执行概率加密方式的加密。具体地讲,加密部412针对第1随机数集合R的全部要素ri(0<=i<|R|),将密文di设为di=E(K1,t,ri)。然后,针对各个密文di,将密文ki设为ki=E(K2,di)。另外,通过随机数生成器生成第2随机数ui,将密文qi设为qi=(E(Ki,t||ui),ui)。此时,在确定性指示f为假的情况下,使用没有意义的随机数替代t。在此,运算||表示比特串的连结。将所生成的密文qi的集合记述为Q(s)。将密文q的集合Q(s)称为检索查询。最后,将检索查询Q(s)输出给发送部419(步骤S405)。并且,将确定性指示f及确定性信息t输出给辅助信息保管部422。
在此,在密文qi中也能够不包含第2随机数ui,而替代性地设为qi=E(ki,0λ||t||ui)。在检索查询Q(s)和加密标签C(D)的一致判定时,能够根据对密文qi进行解密的结果,如果在明文中出现了0λ,则判定为一致,如果没有出现,则判定为不一致。
在步骤S406中,发送部419将确定性信息t或检索查询Q(s)发送给管理装置500。
以上结束步骤S802的处理,进入图8的步骤S803。
在步骤S803中,检索装置400的发送部419将在步骤S802中加密部412生成的确定性信息t或检索查询Q(s)发送给管理装置500。
以上结束检索装置400的检索查询生成处理S134的处理,进入步骤S804。
在管理装置500的判定处理S135中,管理装置500在从检索装置400接收到检索查询Q(s)时,判定对检索查询Q(s)进行解密得到的检索关键字s、是否与对在管理存储部550中保管的加密标签C(D)进行解密得到的关联关键字w一致。管理装置500在对检索查询Q(s)进行解密得到的检索关键字s与对加密标签C(D)进行解密得到的关联关键字w一致的情况下,将包括与加密标签C(D)对应的加密数据E(D)的检索结果I(s)发送给检索装置400,并且将对检索查询Q(s)进行解密得到的确定性信息t和与加密标签C(D)对应的加密数据E(D)对应起来存储在管理存储部550中。
管理装置500在从检索装置400接收到确定性信息t时,从管理存储部550获取与确定性信息t对应的加密数据E(D),将包括所获取的加密数据E(D)的检索结果I(s)发送给检索装置400。
下面进行具体说明。
在步骤S804中,管理装置500的接收部501接收在步骤S803中从检索装置400的发送部419发送的确定性信息t或检索查询Q(s)。
在步骤S804a中,在接收部501接收到检索查询Q(s)的情况下,处理进入步骤S805,在接收部501接收到确定性信息t的情况下,处理进入步骤S807。
在步骤S805中,当在步骤S804中接收部501接收到的信息是检索查询Q(s)的情况下,针对在步骤S609中密钥保管部511保管的密钥K2、在步骤S708中数据保管部521保管的所有的保管加密数据(ID(D),C(D)),管理装置500的核对部502进行以下的处理。
核对部502准备空的检索结果I(s)。核对部502对所有的保管加密数据(ID(D),C(D))和检索查询Q(s)进行以下的处理。针对加密标签C(D)的所有要素c和检索查询Q(s)的所有要素q的任意的对(c,q),按照以下所述进行一致判定。设q的两个要素为e1、e2。设密文k为k=E(K2,c)。使用作为解密函数的Dec,设m=Dec(k,e1)。将m分割成m1和m2。在m2与e2一致时,判定为c和q一致。即,这表示与检索查询Q(s)的要素一致的要素包含在加密标签C(D)中。此时,m1是确定性信息t。在c和q一致的情况下,对检索结果I(s)添加保管数据名ID(D)。在此,对检索结果I(s)添加保管数据名ID(D)意味着,将与保管数据名ID(D)对应的加密数据E(D)包含在检索结果I(s)中。
上述的处理是判定对检索查询Q(s)进行解密得到的检索关键字s是否与对在管理存储部550中保管的加密标签C(D)进行解密得到的关联关键字w一致的处理。
核对部502在检索结果I(s)是空集合的情况下,即步骤S805a中为是的情况下,向发送部509输出检索结果I(s)。核对部502在检索结果I(s)不是空集合的情况下,即在步骤S805a中为否的情况下,向高速核对部531输出作为确定性信息t的m1及检索结果I(s)。
在步骤S806中,管理装置500的高速核对部531将对检索查询Q(s)进行解密得到的确定性信息t和与加密标签C(D)对应的加密数据E(D)对应起来存储在管理存储部550中。具体地讲,高速核对部531将在步骤S805中从核对部502获取的确定性信息t及检索结果I(s)作为输入。并且,高速核对部531将用于以确定性信息t为关键字高速提取检索结果I(s)的高速索引信息554保管在管理存储部550中。高速索引信息554具体地讲通过利用散列表来实现。
在步骤S807中,管理装置500的高速核对部531当在步骤S804中接收部501接收到的信息是确定性信息t的情况下,从接收部501获取确定性信息t。高速核对部531针对所获取的确定性信息t,从高速索引信息554中提取对应的检索结果I(s),并向发送部509输出I(s)。高速核对部531在没有与所获取的确定性信息t对应的检索结果I(s)的情况下,向发送部509输出空集合作为I(s)。
在步骤S808中,管理装置500的发送部509将从核对部502或高速核对部531获取的检索结果I(s)发送给检索装置400。
以上结束管理装置500的判定处理S135的处理,进入步骤S809。
在检索装置400的结果输出处理S136中,检索装置400在从管理装置500接收到检索结果I(s)时,将确定性信息t储存在检索存储部450中。
下面进行具体说明。
在步骤S809中,检索装置400的接收部401接收在步骤S808中管理装置500的发送部509发送的检索结果I(s)。
在步骤S810中,检索装置400的辅助信息保管部422获取在步骤S802中由加密部412生成的检索关键字s的确定性信息t及确定性指示f。并且,辅助信息保管部422获取在步骤S809中接收部401接收到的针对检索关键字s的检索结果I(s),并进行以下的处理。
在确定性指示f为真且检索结果I(s)不是空集合的情况下,即针对被嵌入了确定性信息t的检索查询Q(s)存在加密数据E(D)的情况下,辅助信息保管部422将确定性信息t保管在检索存储部450中。并且,在检索结果I(s)是空集合的情况下,即针对检索查询Q(s)没有加密数据E(D)的情况下,且确定性信息t已经通过辅助信息保管部422被保管在检索存储部450中的情况下,辅助信息保管部422将所保管的确定性信息t删除。
在步骤S811中,检索装置400的检索结果输出部439根据从接收部401获取的检索结果I(s),通过输出接口940向显示器输出检索结果。当在检索结果I(s)中包含加密数据E(D)的情况下,检索结果输出部439向显示器输出加密数据E(D)的保管数据名ID(D)。并且,在检索结果I(s)是空集合的情况下,检索结果输出部439向显示器输出表示基于检索关键字s的检索失败的信息。
通过步骤S811,隐匿检索系统100的检索处理结束。
<删除处理S140>
使用图10说明本实施方式的隐匿检索系统100的删除处理S140。
图10的步骤S901~步骤S904是由登记装置300和管理装置500执行的处理。步骤S901~步骤S902由登记装置300执行。步骤S903~步骤S904由管理装置500执行。
在删除处理S140中,管理装置500接收将在管理存储部550中保管的加密数据552删除的删除请求339,根据删除请求339从管理存储部550中将包括加密数据552的保管加密数据551删除。
下面进行具体说明。
在步骤S901中,登记装置300的输入部311获取包括有关数据登记者想要删除的保管加密数据的删除数据名的删除请求339。另外,删除请求339也可以是删除数据名本身。并且,删除请求339只要能够确定与加密数据552对应的保管加密数据,则可以是任何信息。
在步骤S902中,登记装置300的发送部319将在步骤S901中输入到输入部311的删除请求339发送给管理装置500。
在步骤S903中,管理装置500的接收部501接收在步骤S902中从登记装置300的发送部319发送来的删除请求339。
在步骤S904中,管理装置500的数据保管部521及高速核对部531根据在步骤S903中接收部501接收到的删除请求339中包含的删除数据名,将所保管的保管加密数据551删除。
通过步骤S904,隐匿检索系统100的删除处理S140结束。
***其它的结构***
在本实施方式中,隐匿检索系统100的各装置的功能由软件实现,但作为变形例,隐匿检索系统100的各装置的功能也可以由硬件实现。
关于本实施方式的变形例,使用图11~图14进行说明。
图11是示出本实施方式的变形例的密钥生成装置200的结构的图。
图12是示出本实施方式的变形例的登记装置300的结构的图。
图13是示出本实施方式的变形例的检索装置400的结构的图。
图14是示出本实施方式的变形例的管理装置500的结构的图。
如图11~图14所示,隐匿检索系统100的各装置替代CPU910和存储装置920而具有处理电路909。
处理电路909是实现上述的各装置的“部”的功能及各装置的存储部的专用的电子电路。处理电路909具体地讲是单一电路、复合电路、已编程处理器、并行已编程处理器、逻辑IC、GA(Gate Array:门阵列)、ASIC(Application Specific Integrated Circuit:专用集成电路)、或者FPGA(Field Programmable Gate Array:现场可编程门阵列)。
隐匿检索系统100的各装置的“部”的功能可以由一个处理电路909实现,也可以分散到多个处理电路909来实现。
作为另一变形例,隐匿检索系统100的各装置的“部”的功能及各装置的存储部也可以通过软件和硬件的组合来实现。即,各装置的一部分的功能由专用的硬件来实现,剩余的功能由软件来实现。
将CPU910、存储装置920及处理电路909统称为“处理电路组件(processingcircuitry)”。即,即使隐匿检索系统100的各装置的结构是图2~图5及图11~图14中的哪个附图所示的结构时,也能够通过处理电路组件实现“部”的功能。
也可以将“部”改写为“工序”或“步骤”或“处理”。并且,也可以通过固件实现“部”的功能。
***本实施方式的效果的说明***
本实施方式的隐匿检索系统具有:检索装置的加密部,其生成被嵌入了对进行高速检索有用的信息的检索查询;管理装置的接收部,其接收检索查询;管理装置的数据保管部,其对关联关键字进行加密得到的加密标签进行保管;以及管理装置的核对部,其从所保管的加密标签集合中提取与被加密的检索关键字一致的加密标签,由此能够使用被嵌入了用于使检索处理高速化的确定性信息的、概率性的检索查询,来检索加密标签。并且,在本实施方式的隐匿检索系统中,加密标签及检索查询是通过概率性加密生成的。因此,加密标签及检索查询不依赖于与保管数据相关联的关联关键字及检索关键字的确定性信息。由此,加密标签及检索查询的抵御频度分析的性能提高,安全性较高。
另外,本实施方式的隐匿检索系统具有高速核对部,该高速核对部关于针对过去曾被检索出的检索关键字的检索查询,能够高速提取检索结果。因此,仅在针对检索查询存在检索结果的保管加密数据的情况下,提取针对检索查询的确定性信息,在从下一次起的再检索时,能够根据该确定性信息高速提取检索结果。该确定性信息的提取仅在存在检索结果的保管加密数据的情况下进行,这是能够在安全性较高的状态下使检索高速化的理由。
另外,本实施方式的隐匿检索系统在生成检索查询时,能够使数据检索者按照确定性指示选择是否在检索查询中嵌入使检索高速化的信息即确定性信息。因此,根据本实施方式的隐匿检索系统,数据检索者也能够进行不事先在检索查询中嵌入确定性信息的选择,功能性良好。
实施方式2
在本实施方式中,主要对与实施方式1的不同之处进行说明。
在本实施方式中,存在对与实施方式1相同的部分标注相同的标号并省略其说明的情况。
在本实施方式的隐匿检索系统100a中,使用计数值替代实施方式1的第1随机数r进行隐匿检索。在本实施方式中,在登记装置300a的加密处理S123a中,不生成第1随机数r的集合R(D)。并且,在检索装置400a的检索查询生成处理S134a中,不使用第1随机数r的集合R(D)地生成检索查询。
使用图15说明本实施方式的隐匿检索系统100a的结构。
隐匿检索系统100a具有密钥生成装置200、登记装置300a、检索装置400a和管理装置500a。图15与在实施方式1中说明的图1对应。关于隐匿检索系统100a的基本结构及功能,与在实施方式1中说明的图1相同,因而省略其说明。
下面,对本实施方式的隐匿检索系统100a具有的各装置的结构及功能进行说明。
<密钥生成装置200>
本实施方式的密钥生成装置200的结构及功能与在实施方式1中说明的图2相同,因而省略说明。
另外,如在实施方式1中说明的那样,发送部209将密钥生成部202生成的密钥K1发送给登记装置300a和检索装置400a,将密钥K2发送给检索装置400a和管理装置500a。此时,密钥K2可以作为公知的参数,密钥K2也可以与密钥K1相同。并且,也可以将使用密钥K2的加密置换为无密钥的加密,还可以不进行使用密钥K2的加密。
<登记装置300a>
下面,使用图16说明本实施方式的登记装置300a的结构及功能。
本实施方式的登记装置300a的结构与在实施方式1中说明的图3相同。在登记装置300a中,与实施方式1不同的功能如下所述。
输入部311获取由数据登记者输入的保管数据D的集合U、U的各个要素D的保管数据名集合ID、与U的各个要素D相关联的关联关键字w的集合W。并且,输入部311获取将保管数据D删除的删除请求339。在本实施方式中,存在将保管数据D的保管数据名表述为ID(D)、将与保管数据D相关联的关联关键字集合表述为W(D)的情况。
加密部312从密钥保管部302获取密钥K1,从输入部311获取保管数据D的集合U、保管数据名集合ID和关联关键字w的集合W,使用密钥K1将保管数据D和与保管数据D相关联的关联关键字的集合W(D)加密。
将使用密钥K1进行加密得到的保管数据D设为加密数据E(D)。将使用密钥K1进行加密得到的关联关键字w设为加密标签c。另外,在生成加密数据E(D)时也可以使用与密钥K1不同的密钥。
即,加密部312针对从输入部311获取的全部保管数据D、该D的保管数据名ID(D)和关联关键字集合W(D),生成保管数据名ID(D)和加密标签c的组(ID(D),c)。在后文中,存在将(ID(D),c)记述为保管加密数据的情况。另外,假设保管数据名ID(D)与加密数据E(D)相对应。即,保管加密数据(ID(D),c)表示与保管数据名ID(D)相对应的加密数据E(D)和加密标签c的组。另外,存在将加密部312生成的保管加密数据(ID(D),c)的集合记述为加密索引C的情况。
发送部319将从加密部312获取的加密索引C发送给管理装置500a。并且,发送部319将从输入部311获取的删除请求339发送给管理装置500a。
关于其它功能,与在实施方式1中说明的相同。
<检索装置400a>
下面,使用图17说明本实施方式的检索装置400a的结构及功能。
图17是与在实施方式1中说明的图4对应的图。在图17中,与图4不同的结构如下所述。在本实施方式的检索装置400a中,在检索存储部450中不存储第1随机数R。其它结构与图4相同。
另外,在检索装置400a中,与实施方式1不同的功能如下所述。
接收部401接收从密钥生成装置200发送来的密钥K1及密钥K2、或者从管理装置500a发送来的检索结果I(s)。
辅助信息保管部422将检索历史记录信息451保管在检索存储部450中。即,辅助信息保管部422从加密部412获取确定性指示f及检索关键字s的确定性信息t,从接收部401获取检索关键字s的检索结果I(s)。并且,辅助信息保管部422在通过管理装置500a确认到生成了后述的高速索引信息554的情况下,将确定性信息t储存在检索历史记录信息451中。如果未确认到生成了后述的高速索引信息554,则辅助信息保管部422不执行任何处理。在后文中,将通过辅助信息保管部422储存在检索存储部450的检索历史记录信息451中的所有确定性信息t的集合记述为T。
加密部412从密钥保管部421获取密钥K1及密钥K2,从辅助信息保管部422获取确定性信息t的集合T,从输入部411获取检索关键字s及确定性指示f。加密部412向发送部419输出检索关键字的确定性信息t或检索查询Q(s)。
关于接收部401、辅助信息保管部422及加密部412的功能,除不使用第1随机数R以外,与实施方式1相同。并且,关于其它的功能也与实施方式1相同。
<管理装置500a>
下面,使用图18说明本实施方式的管理装置500a的结构及功能。
本实施方式的管理装置500a的结构与在实施方式1中说明的图5相同。在管理装置500a中,与实施方式1不同的功能如下所述。
接收部501接收从密钥生成装置200发送的密钥K2、从登记装置300a发送的加密索引C或删除请求339、从检索装置400a发送的确定性信息t或检索查询Q(s)。
数据保管部521将从接收部501获取的加密索引C保管在管理存储部550中。并且,数据保管部521根据从接收部501获取的删除请求339,将在管理存储部550中保管的保管加密数据(ID(D),c)删除。
另外,在后文的说明中,存在将保管加密数据(ID(D),c)作为保管加密数据551、将加密数据E(D)作为加密数据552、将加密标签c作为加密标签553进行说明的情况。
核对部502针对从接收部501获取的检索查询Q(s)、从密钥保管部511获取的密钥K2、从数据保管部521获取的所有保管加密数据(ID(D),c),生成检索结果I(s)并输出给发送部509。并且,在检索结果I(s)不是空集合的情况下,核对部502向高速核对部531输出确定性信息t和检索结果I(s)。
关于其它的功能与实施方式1相同。
关于本实施方式的隐匿检索系统100a具有的密钥生成装置200、登记装置300a、检索装置400a和管理装置500a的各装置的硬件,与实施方式1相同。
***动作的说明***
下面,对本实施方式的隐匿检索系统100a的隐匿检索方法610及基于隐匿检索程序620的隐匿检索处理S100a进行说明。
与实施方式1相同,隐匿检索系统100a的隐匿检索处理S100a具有密钥生成保管处理S110、登记处理S120a、检索处理S130a和删除处理S140。
<密钥生成保管处理S110>
本实施方式的隐匿检索系统100a的密钥生成保管处理S110与在实施方式1中说明的图6相同,因而省略说明。
<登记处理S120a>
使用图19说明本实施方式的隐匿检索系统100a的登记处理S120a。图19是与在实施方式1中说明的图7对应的图。在图19中,存在对与图7相同的处理标注相同的标号并省略其说明的情况。
图19的步骤S701、S702a及步骤S703是由登记装置300a执行的加密处理S123a。步骤S707~步骤S708是由管理装置500a执行的数据保管处理S125。在本实施方式中,不存在步骤S704、步骤S705~步骤S706的第1随机数保管处理S124,这一点与实施方式1不同。
在登记装置300a的加密处理S123a中,登记装置300a对保管数据集合U、U的各个要素D的保管数据名ID(D)、和与U的各个要素D相关联的关联关键字集合W(D),执行加密并生成加密索引C。并且,登记装置300a将加密索引C和加密数据E(D)发送给管理装置500a。
下面进行具体说明。
在步骤S701中,登记装置300a的输入部311获取由数据登记者从键盘、鼠标或存储装置输入的保管数据D、保管数据名ID(D)和与保管数据D相关联的关联关键字w的集合W(D)。如果数据登记者没有进行保管数据名ID(D)的输入,则输入部311可以对所输入的保管数据D的保管数据名ID(D)分配随机数,也可以按照与其它保管数据的保管数据名不重复的方式顺序地分配大于0的整数的值。
在步骤S702a中,登记装置300a的加密部312获取在步骤S605中由密钥保管部302保管的密钥K1。并且,加密部312获取在步骤S701中输入到输入部311的保管数据集合U、U的各个要素D的保管数据名ID(D)、和U的各个要素D的关联关键字w的集合W(D)。并且,加密部312进行以下的处理。
将保管数据D的关联关键字的集合W(D)的一个要素作为关联关键字w。加密部312针对W中包含的所有的关联关键字w,设c=E(K1,w,j)。并且,生成加密索引C的要素即保管加密数据作为(ID(D),c)。其中,j表示对w分配的不重复的值。具体地讲,在存在与多个保管数据相关联的关键字w的情况下,对各个保管数据生成加密标签c=E(K1,w,j),但此时是分配不重复的j。即,在考虑到加密标签c的集合时,除不能忽视的概率以外,该集合的要素彼此不同。具体地讲,j表示计数值。在设i为计数值的情况下,对于每个关键字w,将计数值j设定为初始值1,每当生成相同关键字w的加密标签c时,对j加1。具体地讲,i表示散列链(hashchain)的散列值。在设i为散列值的情况下,对于每个关键字w,将散列值j设定为初始值1,每当生成相同关键字w的加密标签c时,将j更新为j的散列值。另外,E表示加密函数。具体地讲,E表示如AES(Advanced Encryption Standard:高级加密标准)那样的公共密钥加密方式、HMAC(Hash-based Message Authentication Code:基于散列的消息认证码)那样的消息认证码、SHA(Secure Hash Algorithm:安全散列算法)-256那样的散列函数。
如上所述,登记装置300a的加密部312生成加密索引C。
另外,对于没有关联关键字w相关联的保管数据D,可以使用诸如j>|U|那样的j来生成保管加密数据并追加给加密索引C。由此,也能够使加密索引C中的保管数据名的出现频度均匀。并且,对与哪个保管数据D都不关联的关联关键字,可以生成保管加密数据并追加给加密索引C。由此,也能够调节加密索引C的尺寸。
在步骤S703中,登记装置300a的发送部319将在步骤S702a中生成的加密索引C发送给管理装置500a。
在管理装置500a的数据保管处理S125中,管理装置500a接收对保管数据D进行加密得到的加密数据E(D)、和通过对与保管数据D相关联的关联关键字W(D)执行加密而生成的加密索引C。并且,管理装置500a将加密数据E(D)和加密索引C保管在管理存储部550中。
下面进行具体说明。
在步骤S707中,管理装置500a的接收部501通过管理装置500a的通信装置950接收在步骤S703中从登记装置300a的发送部319发送的加密索引C。
在步骤S708中,管理装置500a的数据保管部521将在步骤S707中接收部501接收到的加密索引C保管在管理存储部550中。如上所述,加密索引C是与保管数据名ID(D)相对应的加密数据E(D)和加密标签c的组的集合。
以上结束隐匿检索系统100a的登记处理S120a。
<检索处理S130a>
使用图20说明本实施方式的隐匿检索系统100a的检索处理S130a。图20是与在实施方式1中说明的图8对应的图。在图20中,存在对与图8相同的处理标注相同的标号并省略其说明的情况。
图20的步骤S801~步骤S811是由检索装置400a和管理装置500a执行的处理。步骤S801~步骤S803是由检索装置400a执行的检索查询生成处理S134a。步骤S804~步骤S808是由管理装置500a执行的判定处理S135a。步骤S809~步骤S811是由检索装置400a执行的结果输出处理S136。
在检索装置400a的检索查询生成处理S134a中,检索装置400a获取用于检索在管理存储部550中保管的加密数据E(D)的检索关键字s。检索装置400a计算由检索关键字s唯一确定的确定性信息t,使用确定性信息t对检索关键字s执行概率加密方式的加密,由此生成检索查询Q(s)。并且,检索装置400a将检索查询Q(s)发送给管理装置500a。
下面进行具体说明。
在步骤S801中,检索装置400a的输入部411获取由数据检索者从键盘、鼠标或存储装置输入的检索关键字s及确定性指示f。
在此,确定性指示f用于指示在对检索关键字s进行加密时是否使用确定性信息t,具体地讲是标志。确定性指示f也称为高速索引生成标志。并且,在对检索关键字s进行加密时使用确定性信息t,意味着在检索查询Q(s)中嵌入对高速检索有效的信息即确定性信息t。
检索装置400a取得确定性指示f,在由确定性指示f指示了使用确定性信息t的情况下,对检索关键字s执行使用确定性信息t的概率加密方式的加密。
并且,检索装置400a在由确定性指示f指示了不使用确定性信息t的情况下,对检索关键字s执行不使用确定性信息t的概率加密方式的加密。步骤S801的处理与实施方式1相同。
在步骤S802a中,检索装置400a的加密部412获取在步骤S607中由密钥保管部421保管的密钥K1及密钥K2、由辅助信息保管部422管理的确定性信息t的集合T、在步骤S801中输入到输入部411的检索关键字s及确定性指示f。加密部412使用所获取的数据进行以下的处理。
使用图21说明本实施方式的检索处理S130a的关键字加密处理S802a。图21是与在实施方式1中说明的图9对应的图。在图21中,存在对与图9相同的处理标注相同的标号并省略其说明的情况。
在步骤S401中,检索装置400a通过对检索关键字s执行确定加密方式的加密,计算确定性信息t。具体地讲,加密部412将检索关键字s的确定性信息t设为t=E(K1,s)。另外,在生成确定性信息t时使用的密钥也可以使用与K1不同的密钥。
在步骤S402中,加密部412当在步骤S401中计算出确定性信息t时,判定所计算出的确定性信息t是否已被储存在检索存储部450中。加密部412在所计算出的确定性信息t已被储存在检索存储部450中的情况下(S402:是),将该确定性信息t发送给管理装置500a。
具体地讲,加密部412确认在集合T中是否包含所计算出的确定性信息t。在所计算出的确定性信息t包含在集合T中的情况下,加密部412将所计算出的确定性信息t输出给发送部419(S403)。
在步骤S404a中,加密部412在确定性信息t未储存在检索存储部450中的情况下(S402:否),即所计算出的确定性信息t未包含在集合T中的情况下,将检索查询Q(s)发送给管理装置500a。
加密部412按照以下所述生成检索查询Q(s)。加密部412生成随机数,使用确定性信息t,对检索关键字s执行概率加密方式的加密。具体地讲,加密部412针对1至保管数据集合U的要素数的计数值i(1≤i<|U|),将密文di设为di=E(K1,w,i)。接着,针对各个密文di,将密文ki设为ki=E(K2,di)。另外,通过随机数生成器生成随机数v,将密文qi设为qi=(E(ki,t||v),v)。此时,在确定性指示f为假的情况下,使用没有意义的随机数替代t。在此,运算||表示比特串的连结。将所生成的密文qi的集合记述为Q(s)。将密文qi的集合Q(s)称为检索查询。另外,随机数v也可以不包含在各个qi中,而是仅在Q(s)中包含一个。最后,加密部412将检索查询Q(s)输出给发送部419(步骤S405)。并且,加密部412将确定性指示f及确定性信息t输出给辅助信息保管部422。
另外,在密文qi中也能够不包含v,而替代性地设为qi=E(ki、0λ||t||vi)。在检索查询Q(s)和加密标签c的一致判定时,能够根据对密文qi进行解密的结果,如果在明文中出现了0λ,则判定为一致,如果没有出现,则判定为不一致。
在步骤S406中,发送部419将确定性信息t或检索查询Q(s)发送给管理装置500a。
以上结束步骤S802a的处理,进入图20的步骤S803。另外,在步骤S802a中,步骤S401~步骤S403及步骤S405~步骤S406的处理与实施方式1相同。
在步骤S803中,检索装置400a的发送部419将在步骤S802a中加密部412生成的确定性信息t或检索查询Q(s)发送给管理装置500a。
以上结束检索装置400a的检索查询生成处理S134a的处理,进入步骤S804。
在管理装置500a的判定处理S135a中,管理装置500a在从检索装置400a接收到检索查询Q(s)时,判定对检索查询Q(s)进行解密得到的检索关键字s、是否与对在管理存储部550中保管的加密标签c进行解密得到的关联关键字w一致。管理装置500a在对检索查询Q(s)进行解密得到的检索关键字s与对加密标签c进行解密得到的关联关键字w一致的情况下,将包括与加密标签c对应的加密数据E(D)的检索结果I(s)发送给检索装置400a,并且将对检索查询Q(s)进行解密得到的确定性信息t和与加密标签c对应的加密数据E(D)对应起来存储在管理存储部550中。
管理装置500a在从检索装置400a接收到确定性信息t时,从管理存储部550中取得与确定性信息t对应的加密数据E(D),将包括所取得的加密数据E(D)的检索结果I(s)发送给检索装置400a。
下面进行具体说明。
在步骤S804中,管理装置500a的接收部501接收在步骤S803中从检索装置400a的发送部419发送的确定性信息t或检索查询Q(s)。
在步骤S804a中判定是检索查询还是确定性信息,在接收部501接收到检索查询Q(s)的情况下,处理进入步骤S805a1,在接收部501接收到确定性信息t的情况下,处理进入步骤S807。
在步骤S805a1中,当在步骤S804中接收部501接收到的信息是检索查询Q(s)的情况下,针对在步骤S609中密钥保管部511保管的密钥K2、在步骤S708中数据保管部521保管的所有保管加密数据(ID(D),c),管理装置500a的核对部502进行以下的处理。
核对部502准备空的检索结果I(s)。核对部502对所有的保管加密数据(ID(D),c)和检索查询Q(s)进行以下的处理。针对加密索引C中包含的所有加密标签c和检索查询Q(s)的所有要素q的任意的对(c,q),按照以下所述进行一致判定。设q的两个要素为e1、e2。设密文k为k=E(K2,c)。使用作为解密函数的Dec,设m=Dec(k,e1)。将m分割成m1和m2。在m2与e2一致时,判定为c与q一致。即,这表示与检索查询Q(s)的要素一致的要素包含在加密索引C中。此时,m1是确定性信息t。在c与q一致的情况下,对检索结果I(s)添加保管数据名ID(D)。在此,对检索结果I(s)添加保管数据名ID(D)意味着将与保管数据名ID(D)相对应的加密数据E(D)包含在检索结果I(s)中。
上述的处理是判定对检索查询Q(s)进行解密得到的检索关键字s是否与对在管理存储部550中保管的加密标签c进行解密得到的关联关键字w一致的处理。
核对部502在检索结果I(s)是空集合的情况下,即步骤S805a为是的情况下,向发送部509输出检索结果I(s)。核对部502在检索结果I(s)不是空集合的情况下,即步骤805a为否的情况下,向高速核对部531输出作为确定性信息t的m1及检索结果I(s)。
在步骤S806中,管理装置500a的高速核对部531将对检索查询Q(s)进行解密得到的确定性信息t和检索结果I(s)对应起来存储在管理存储部550中。具体地讲,高速核对部531将在步骤S805a1中从核对部502获取的确定性信息t及检索结果I(s)作为输入。并且,高速核对部531将用于以确定性信息t为关键字高速提取检索结果I(s)的高速索引信息554保管在管理存储部550中。高速索引信息554具体地讲通过利用散列表来实现。
在步骤S807中,管理装置500a的高速核对部531当在步骤S804中接收部501接收到的信息是确定性信息t的情况下,从接收部501获取确定性信息t。高速核对部531针对所获取的确定性信息t,从高速索引信息554中提取对应的检索结果I(s),并向发送部509输出I(s)。高速核对部531在没有与所获取的确定性信息t对应的检索结果I(s)的情况下,向发送部509输出空集合作为I(s)。
在步骤S808中,管理装置500a的发送部509将从核对部502或高速核对部531获取的检索结果I(s)发送给检索装置400a。
以上结束管理装置500a的判定处理S135a的处理,进入步骤S809。另外,步骤S803、步骤S804及步骤S804a的处理与实施方式1相同。并且,步骤S805a、步骤S806、步骤S807及步骤S808的处理与实施方式1相同。
在检索装置400a的结果输出处理S136中,检索装置400a在从管理装置500a接收到检索结果I(s)时,将确定性信息t储存在检索存储部450中。步骤S809~步骤S811的结果输出处理S136与实施方式1相同。
以上结束隐匿检索系统100a的检索处理S130a。
另外,关于隐匿检索系统100a的删除处理S140,与在实施方式1中说明的图10的处理相同,因而省略说明。
***本实施方式的效果的说明***
本实施方式的隐匿检索系统具有:检索装置的加密部,其生成被嵌入了对进行高速检索有用的信息的检索查询;以及管理装置的接收部,其接收检索查询。并且,隐匿检索系统具有:管理装置的数据保管部,其对关联关键字进行加密得到的加密标签进行保管;以及管理装置的核对部,其从所保管的加密标签集合中取出与被加密的检索关键字一致的加密标签。由此,本实施方式的隐匿检索系统能够使用被嵌入了使检索处理高速化的确定性信息的、概率性的检索查询来检索加密标签。并且,在本实施方式的隐匿检索系统中,检索查询是通过概率性加密生成的。因此,检索查询不依赖于检索关键字的确定性信息。由此,检索查询的抵御频度分析的性能提高,安全性较高。
另外,本实施方式的隐匿检索系统通过确定性加密生成加密标签,但在生成加密标签c时,针对相同的关联关键字w输入不重复的计数值j,由此针对相同的关联关键字w的加密标签c也不重复。即,通过使用计数值使密文始终变化,避免了频度分析。由此,加密标签的抵御频度分析的性能提高,安全性较高。并且,在本实施方式的隐匿检索系统中,无需在检索装置中存储第1随机数r。
实施方式3
在本实施方式中,主要对与实施方式2的不同之处进行说明。
在本实施方式中,存在对与实施方式2相同的部分标注相同的标号并省略其说明的情况。
***结构的说明***
使用图22说明本实施方式的隐匿检索系统100b的结构。
隐匿检索系统100b具有密钥生成装置200、登记装置300a、检索装置400b和管理装置500b。图22与在实施方式2中说明的图15对应。关于隐匿检索系统100b的基本结构及功能,与在实施方式2中说明的图15相同,因而省略其说明。
另外,密钥生成装置200和登记装置300a各自的结构和功能与实施方式2相同,因而省略其说明。
另外,检索装置400b和管理装置500b各自的结构与实施方式2相同,因而省略其说明。另外,在检索装置400b中,加密部412的功能与实施方式2不同。并且,在管理装置500b中,核对部502的功能与实施方式2不同。
在本实施方式的隐匿检索系统100b中,与实施方式2不同,检索查询由第1密文Q1(s)及第2密文Q2(s)这两个构成。第2密文Q2(s)是能够使用与第1密文Q1(s)一致的加密标签来计算确定性信息的密文。第1密文Q1(s)也称为检索用密文。第2密文Q2(s)也称为高速再检索用密文。
检索装置400b使用随机数和计数值,对检索关键字执行概率加密方式的加密。检索装置400b生成被判定为与加密标签一致的第1密文Q1(s)、和用于使用与第1密文Q1(s)一致的所述加密标签计算确定性信息的第2密文Q2(s)。
***动作的说明***
下面,对本实施方式的隐匿检索系统100b的隐匿检索方法610及隐匿检索程序620的隐匿检索处理S100b进行说明。
与实施方式2相同,隐匿检索系统100b的隐匿检索处理S100b包括密钥生成保管处理S110、登记处理S120a、检索处理S130b和删除处理S140。
密钥生成保管处理S110、登记处理S120a和删除处理S140分别与实施方式2相同,因而省略其说明。
<检索处理S130b>
使用图23说明本实施方式的隐匿检索系统100b的检索处理S130b。图23是与在实施方式2中说明的图20对应的图。在图23中,存在对与图20相同的处理标注相同的标号并省略其说明的情况。
图23的步骤S801~步骤S811是由检索装置400b和管理装置500b执行的处理。步骤S801~步骤S803是由检索装置400b执行的检索查询生成处理S134b。步骤S804~步骤S808是由管理装置500b执行的判定处理S135b。步骤S809~步骤S811是由检索装置400b执行的结果输出处理S136。
在检索装置400b的检索查询生成处理S134b中,检索装置400b取得用于检索在管理存储部550中保管的加密数据E(D)的检索关键字s。检索装置400b计算由检索关键字s唯一确定的确定性信息t,使用确定性信息t对检索关键字s执行概率加密方式的加密,由此生成检索查询Q(s)。并且,检索装置400b将检索查询Q(s)发送给管理装置500b。
下面进行具体说明。
步骤S801的处理与实施方式2相同。
在步骤S802b中,检索装置400b的加密部412获取在步骤S607中由密钥保管部421保管的密钥K1及密钥K2、由辅助信息保管部422管理的确定性信息t的集合T、在步骤S801输入到输入部411的检索关键字s及确定性指示f。加密部412使用所获取的数据进行以下的处理。
使用图24说明本实施方式的检索处理S130b的关键字加密处理S802b。图24是与在实施方式2中说明的图21对应的图。在图24中,存在对与图21相同的处理标注相同的标号并省略其说明的情况。
在步骤S401中,检索装置400b通过对检索关键字s执行确定加密方式的加密,来计算确定性信息t。具体地讲,加密部412将检索关键字s的确定性信息t设为t=E(K1,s)。另外,在生成确定性信息t时使用的密钥也可以使用与K1不同的密钥。
在步骤S402中,加密部412当在步骤S401中计算出确定性信息t时,判定所计算出的确定性信息t是否已被储存在检索存储部450中。加密部412在所计算出的确定性信息t已被储存在检索存储部450中的情况下(S402:是),将该确定性信息t发送给管理装置500b。
具体地讲,加密部412确认在集合T中是否包含所计算出的确定性信息t。在所计算出的确定性信息t包含在集合T中的情况下,加密部412将所计算出的确定性信息t输出给发送部419(S403)。
步骤S401~步骤S403的处理与实施方式2相同。
在步骤S404b中,加密部412在确定性信息t未被储存在检索存储部450中的情况下(S402:否),即所计算出的确定性信息t未包含在集合T中的情况下,将检索查询Q(s)发送给管理装置500b。
加密部412按照以下所述生成检索查询Q(s)。检索查询Q(s)由两个要素即第1密文Q1(s)和第2密文Q2(s)构成。加密部412通过随机数生成器生成随机数v,使用确定性信息t,对检索关键字s执行概率加密方式的加密。具体地讲,加密部412针对1至保管数据集合U的要素数的计数值j(1≤j≤|U|),将密文di设为dj=E(K1,s,j)。接着,针对各个密文dj,将密文Q1j(s)设为Q1j(s)=(E(K2,dj,v),v)。另外,将密文Q2j(s)设为Q2j(s)=F(dj,t||vj)。其中,vj表示随机数,可以按照每个Q2j(s)生成,也可以按照每个Q(s)生成。并且,加密F表示能够利用隐匿密钥dj进行解密处理的加密算法。例如,可以是AES。此时,在确定性指示f为假的情况下,使用没有意义的随机数来替代t。在此,运算||表示比特串的连结。将所生成的密文qj=(Q1j(s),Q2j(s))的集合记述为Q(s)。将密文qj的集合Q(s)称为检索查询。另外,随机数v也可以不包含在各个Q1j(s)及Q2j(s)中,而是在Q(s)中仅包含一个。最后,加密部412将检索查询Q(s)输出给发送部419(步骤S405)。并且,加密部412将确定性指示f及确定性信息t输出给辅助信息保管部422。
在步骤S406中,发送部419将确定性信息t或检索查询Q(s)发送给管理装置500b。
以上结束步骤S802b的处理,进入图23的步骤S803。另外,在步骤S802b中,步骤S401~步骤S403及步骤S405~步骤S406的处理与实施方式2相同。
在步骤S803中,检索装置400b的发送部419将在步骤S802b中加密部412生成的确定性信息t或检索查询Q(s)发送给管理装置500b。
以上结束检索装置400b的检索查询生成处理S134b的处理,进入步骤S804。
在管理装置500b的判定处理S135b中,管理装置500b在从检索装置400b接收到检索查询Q(s)时,判定对检索查询Q(s)进行解密得到的检索关键字s、是否与对在管理存储部550中保管的加密标签c进行解密得到的关联关键字w一致。管理装置500b在对检索查询Q(s)进行解密得到的检索关键字s与对加密标签c进行解密得到的关联关键字w一致的情况下,将包含与加密标签c对应的加密数据E(D)的检索结果I(s)发送给检索装置400b,并且将对检索查询Q(s)进行解密得到的确定性信息t和与加密标签c对应的加密数据E(D)相对应地存储在管理存储部550中。
管理装置500b在从检索装置400b接收到确定性信息t时,从管理存储部550取得与确定性信息t对应的加密数据E(D),将包括所取得的加密数据E(D)的检索结果I(s)发送给检索装置400b。
下面进行具体说明。
在步骤S804中,管理装置500b的接收部501接收在步骤S803中从检索装置400b的发送部419发送的确定性信息t或检索查询Q(s)。
在步骤S804a中判定是检索查询还是确定性信息,在接收部501接收到检索查询Q(s)的情况下,处理进入步骤S805b1,在接收部501接收到确定性信息t的情况下,处理进入步骤S807。
在步骤S805b1中,当在步骤S804中接收部501接收到的信息是检索查询Q(s)的情况下,针对在步骤S609中密钥保管部511保管的密钥K2、在步骤S708中数据保管部521保管的所有保管加密数据(ID(D),c),管理装置500b的核对部502进行以下的处理。
核对部502准备空的检索结果I(s)。核对部502对所有的保管加密数据(ID(D),c)和检索查询Q(s)进行以下的处理。
针对加密索引C中包含的所有加密标签c和检索查询Q(s)的所有要素Q1j(1≤j≤|U|),按照以下所述进行一致判定。首先,使用Q1j中包含的随机数v,对所有的加密标签c计算c’=E(K2,c,v)。接着,求出所计算出的所有c’中包含的Q1j。该处理是计算Q1j和c’的共同部分的处理,利用分类(sorting)、二叉树搜索或者散列图(hash map)等有效地进行计算。此时,判定为所计算出的Q1j与c一致。这表示与检索查询Q(s)的要素一致的要素被包含在加密索引C中。即,判定为第1密文Q1(s)与加密标签c一致。
在此,选择Q1j中包含在c’中的一个Q1j,将其设为Q1j’。并且,对与和Q1j’一致的c’对应的c,设m=Dec(c,Q2j’)。此时,m是确定性信息t。即,第2密文Q2(s)是为了使用与第1密文Q1(s)一致的加密标签c计算确定性信息t而使用的。在c和Q1j一致的情况下,将与该c对应的保管数据名ID(D)添加给检索结果I(s)。在此,对检索结果I(s)添加保管数据名ID(D),意味着将与保管数据名ID(D)相对应的加密数据E(D)包含在检索结果I(s)中。
上述的处理是判定对检索查询Q(s)进行解密得到的检索关键字s是否与对在管理存储部550中保管的加密标签c进行解密得到的关联关键字w一致的处理。
核对部502在检索结果I(s)是空集合的情况下,即步骤S805a为是的情况下,向发送部509输出检索结果I(s)。核对部502在检索结果I(s)不是空集合的情况下,即步骤S805a为否的情况下,向高速核对部531输出作为确定性信息t的m及检索结果I(s)。
在步骤S806中,管理装置500b的高速核对部531将对检索查询Q(s)进行解密得到的确定性信息t和检索结果I(s)对应起来存储在管理存储部550中。具体地讲,高速核对部531将在步骤S805b1中从核对部502获取的确定性信息t及检索结果I(s)作为输入。并且,高速核对部531将用于以确定性信息t为关键字高速提取检索结果I(s)的高速索引信息554保管在管理存储部550中。高速索引信息554具体地讲是通过利用散列表来实现的。
在步骤S807中,管理装置500b的高速核对部531当在步骤S804中接收部501接收到的信息是确定性信息t的情况下,从接收部501获取确定性信息t。高速核对部531针对所获取的确定性信息t,从高速索引信息554中提取对应的检索结果I(s),并向发送部509输出I(s)。高速核对部531在没有与所获取的确定性信息t对应的检索结果I(s)的情况下,向发送部509输出空集合作为I(s)。
在步骤S808中,管理装置500b的发送部509将从核对部502或高速核对部531获取的检索结果I(s)发送给检索装置400b。
以上结束管理装置500b的判定处理S135b的处理,进入步骤S809。另外,步骤S803、步骤S804及步骤S804a的处理与实施方式2相同。并且,步骤S805a、步骤S806、步骤S807及步骤S808的处理与实施方式2相同。
在检索装置400b的结果输出处理S136中,检索装置400b在从管理装置500b接收到检索结果I(s)时,将确定性信息t储存在检索存储部450中。步骤S809~步骤S811的结果输出处理S136与实施方式2相同。
以上结束隐匿检索系统100b的检索处理S130b。
***本实施方式的效果的说明***
本实施方式的隐匿检索系统具有:检索装置的加密部,其生成被嵌入了对进行高速检索有用的信息的检索查询;以及管理装置的接收部,其接收检索查询。并且,隐匿检索系统具有:管理装置的数据保管部,其保管对关联关键字进行加密得到的加密标签;以及管理装置的核对部,其从所保管的加密标签集合中提取与被加密的检索关键字一致的加密标签。由此,本实施方式的隐匿检索系统能够使用被嵌入了使检索处理高速化的确定性信息的、概率性的检索查询来检索加密标签。并且,在本实施方式的隐匿检索系统中,检索查询是通过概率性加密而生成的。因此,检索查询不依赖于检索关键字的确定性信息。由此,检索查询的抵御频度分析的性能提高,安全性较高。
另外,在本实施方式的隐匿检索系统中,利用求出两个集合的共同部分的处理进行检索,因而利用分类、二叉树搜索或者散列图等高效地进行计算。因此,根据本实施方式的隐匿检索系统,能够更高速地执行检索,比较高效。
以上对实施方式1~3进行了说明。在实施方式1~3中,对隐匿检索系统具有密钥生成装置、登记装置、检索装置及管理装置,且各装置是一台计算机的情况进行了说明。但是,也可以是,密钥生成装置和登记装置是一台计算机。另外,也可以是,检索装置和管理装置是一台计算机。另外,也可以由一台计算机实现所有的装置。如果能够实现在上述的实施方式1~3中说明的功能,则也可以将隐匿检索系统的各装置进行任意组合来构成隐匿检索系统。
另外,在隐匿检索系统的各装置中,可以仅采用作为“部”而说明的任意一个“部”,也可以采用几个“部”的任意组合。即,隐匿检索系统的各装置的功能单元只要能够实现在上述的实施方式1~3中说明的功能,则可以是任意形式。可以将这些功能单元按照任意的组合来构成各装置。另外,也可以将这些功能单元按照任意的单元结构来构成各装置。
另外,也可以对实施方式1~3中的多个要素进行部分组合来实施。或者,也可以部分地实施这些实施方式中的一个发明。此外,也可以对这些实施方式进行整体的或部分的任意组合来实施。
另外,上述的实施方式是实质上优选的示例,不能理解为限制本发明、其应用产品或用途范围,能够根据需要进行各种变更。
标号说明
100隐匿检索系统;101网络;200密钥生成装置;201参数接收部;202密钥生成部;209发送部;250密钥生成存储部;300登记装置;301接收部;302密钥保管部;311输入部;312加密部;319发送部;350登记存储部;339删除请求;400检索装置;401接收部;411输入部;412加密部;419发送部;421密钥保管部;422辅助信息保管部;439检索结果输出部;450检索存储部;451检索历史记录信息;500管理装置;501接收部;511密钥保管部;521数据保管部;531高速核对部;502核对部;509发送部;550管理存储部;551保管加密数据;552加密数据;553加密标签;554高速索引信息;610隐匿检索方法;620隐匿检索程序;909处理电路;910CPU;920存储装置;930输入接口;940输出接口;950通信装置;921存储器;922辅助存储装置;S100隐匿检索处理;S110密钥生成保管处理;S120登记处理;S130检索处理;S134检索查询生成处理;S135判定处理;S136结果输出处理;S140删除处理;K1、K2密钥;E(D)加密数据;C(D)加密标签;s检索关键字;f确定性指示;t确定性信息;Q(s)检索查询;r第1随机数;ui第2随机数;λ参数;100a隐匿检索系统;300a登记装置;400a检索装置;500a登记装置;S100a隐匿检索处理;S120a登记处理;S130a检索处理;S134a检索查询生成处理;S135a判定处理;v随机数;100b隐匿检索系统;400b检索装置;500b管理装置;S100b隐匿检索处理;S130b检索处理;S134b检索查询生成处理;S135b判定处理;Q1第1密文;Q2第2密文。

Claims (20)

1.一种隐匿检索系统,其中,该隐匿检索系统具有:
管理装置,其具有作为存储装置的管理存储部,该管理装置接收对保管数据进行加密得到的加密数据、和通过对与所述保管数据相关联的关联关键字执行概率加密方式的加密而生成的加密标签,并将所述加密标签和所述加密数据对应起来保管在所述管理存储部中;以及
检索装置,其在取得了对保管在所述管理存储部中的所述加密数据进行检索的检索关键字时,计算由所述检索关键字唯一确定的确定性信息,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,由此生成检索查询,并将所述检索查询发送给所述管理装置,
所述管理装置在从所述检索装置接收到所述检索查询时,判定对所述检索查询进行解密得到的所述检索关键字是否与对保管在所述管理存储部中的所述加密标签进行解密得到的关联关键字一致。
2.根据权利要求1所述的隐匿检索系统,其中,
所述管理装置在对所述检索查询进行解密得到的所述检索关键字与对所述加密标签进行解密得到的关联关键字一致的情况下,将包括与所述加密标签对应的所述加密数据的检索结果发送给所述检索装置,
所述检索装置具有作为存储装置的检索存储部,所述检索装置在从所述管理装置接收到所述检索结果时,将所述确定性信息储存在所述检索存储部中。
3.根据权利要求2所述的隐匿检索系统,其中,
所述管理装置在对所述检索查询进行解密得到的所述检索关键字与对所述加密标签进行解密得到的关联关键字一致的情况下,将对所述检索查询进行解密得到的所述确定性信息和与所述加密标签对应的所述加密数据对应起来存储在所述管理存储部中。
4.根据权利要求3所述的隐匿检索系统,其中,
所述检索装置在计算出所述确定性信息时,判定所述确定性信息是否被储存在所述检索存储部中,在所述确定性信息未被储存在所述检索存储部中的情况下,将所述检索查询发送给所述管理装置,在所述确定性信息被储存在所述检索存储部中的情况下,将所述确定性信息发送给所述管理装置,
所述管理装置在从所述检索装置接收到所述确定性信息时,从所述管理存储部取得与所述确定性信息对应的所述加密数据,并将包括所取得的所述加密数据的所述检索结果发送给所述检索装置。
5.根据权利要求1~4中任意一项所述的隐匿检索系统,其中,
所述检索装置对所述检索关键字执行确定加密方式的加密,由此计算所述确定性信息。
6.根据权利要求1~4中任意一项所述的隐匿检索系统,其中,
所述检索装置取得指示在对所述检索关键字进行加密时是否使用所述确定性信息的确定性指示,在由所述确定性指示指示了使用所述确定性信息的情况下,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,在由所述确定性指示指示了不使用所述确定性信息的情况下,不使用所述确定性信息地对所述检索关键字执行概率加密方式的加密。
7.根据权利要求1~4中任意一项所述的隐匿检索系统,其中,
所述隐匿检索系统还具有登记装置,该登记装置生成第1随机数,并使用所述第1随机数对所述关联关键字执行概率加密方式的加密,由此生成所述加密标签,将所述加密标签和所述加密数据发送给所述管理装置,并且将所述第1随机数发送给所述检索装置,
所述检索装置生成第2随机数,并使用所述第2随机数、所述确定性信息和从所述登记装置接收到的所述第1随机数,对所述检索关键字执行概率加密方式的加密。
8.根据权利要求1~4中任意一项所述的隐匿检索系统,其中,
所述管理装置接收将保管在所述管理存储部中的所述加密数据删除的删除请求,并根据所述删除请求从所述管理存储部中删除所述加密数据。
9.一种隐匿检索方法,其是具有管理装置和检索装置的隐匿检索系统的隐匿检索方法,该管理装置具有作为存储装置的管理存储部,
在所述隐匿检索方法中:
所述管理装置接收对保管数据进行加密得到的加密数据、和通过对与所述保管数据相关联的关联关键字执行概率加密方式的加密而生成的加密标签,并将所述加密标签和所述加密数据对应起来保管在所述管理存储部中,
所述检索装置在取得了对保管在所述管理存储部中的所述加密数据进行检索的检索关键字时,计算由所述检索关键字唯一确定的确定性信息,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,由此生成检索查询,并将所述检索查询发送给所述管理装置,
所述管理装置在从所述检索装置接收到所述检索查询时,判定对所述检索查询进行解密得到的所述检索关键字是否与对保管在所述管理存储部中的所述加密标签进行解密得到的关联关键字一致。
10.一种计算机可读取的记录介质,其记录了隐匿检索程序,该隐匿检索程序是具有管理装置和检索装置的隐匿检索系统中的隐匿检索程序,该管理装置具有作为存储装置的管理存储部,其中,所述隐匿检索程序使计算机执行以下处理:
数据保管处理,接收对保管数据进行加密得到的加密数据、和通过对与所述保管数据相关联的关联关键字执行概率加密方式的加密而生成的加密标签,将所述加密标签和所述加密数据对应起来保管在所述管理存储部中;
检索查询生成处理,在取得了对保管在所述管理存储部中的所述加密数据进行检索的检索关键字时,计算由所述检索关键字唯一确定的确定性信息,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,由此生成检索查询,并将所述检索查询发送给所述管理装置;以及
判定处理,在从所述检索装置接收到所述检索查询时,判定对所述检索查询进行解密得到的所述检索关键字是否与对保管在所述管理存储部中的所述加密标签进行解密得到的关联关键字一致。
11.一种隐匿检索系统,其中,该隐匿检索系统具有:
管理装置,其具有作为存储装置的管理存储部,该管理装置接收对保管数据进行加密得到的加密数据、和对与所述保管数据相关联的关联关键字进行加密而生成的加密标签,并将所述加密标签和所述加密数据对应起来保管在所述管理存储部中;以及
检索装置,其在取得了对保管在所述管理存储部中的所述加密数据进行检索的检索关键字时,计算由所述检索关键字唯一确定的确定性信息,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,由此生成检索查询,并将所述检索查询发送给所述管理装置,
所述管理装置在从所述检索装置接收到所述检索查询时,判定对所述检索查询进行解密得到的所述检索关键字是否与对保管在所述管理存储部中的所述加密标签进行解密得到的关联关键字一致。
12.根据权利要求11所述的隐匿检索系统,其中,
所述管理装置在对所述检索查询进行解密得到的所述检索关键字与对所述加密标签进行解密得到的关联关键字一致的情况下,将包括与所述加密标签对应的所述加密数据的检索结果发送给所述检索装置,
所述检索装置具有作为存储装置的检索存储部,所述检索装置在从所述管理装置接收到所述检索结果时,将所述确定性信息储存在所述检索存储部中。
13.根据权利要求12所述的隐匿检索系统,其中,
所述管理装置在对所述检索查询进行解密得到的所述检索关键字与对所述加密标签进行解密得到的关联关键字一致的情况下,将对所述检索查询进行解密得到的所述确定性信息和与所述加密标签对应的所述加密数据对应起来存储在所述管理存储部中。
14.根据权利要求13所述的隐匿检索系统,其中,
所述检索装置在计算出所述确定性信息时,判定所述确定性信息是否被储存在所述检索存储部中,在所述确定性信息未被储存在所述检索存储部中的情况下,将所述检索查询发送给所述管理装置,在所述确定性信息被储存在所述检索存储部中的情况下,将所述确定性信息发送给所述管理装置,
所述管理装置在从所述检索装置接收到所述确定性信息时,从所述管理存储部取得与所述确定性信息对应的所述加密数据,并将包括所取得的所述加密数据的所述检索结果发送给所述检索装置。
15.根据权利要求11~14中任意一项所述的隐匿检索系统,其中,
所述检索装置对所述检索关键字执行确定加密方式的加密,由此计算所述确定性信息。
16.根据权利要求11~14中任意一项所述的隐匿检索系统,其中,
所述检索装置取得指示在对所述检索关键字进行加密时是否使用所述确定性信息的确定性指示,在由所述确定性指示指示了使用所述确定性信息的情况下,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,在由所述确定性指示指示了不使用所述确定性信息的情况下,不使用所述确定性信息地对所述检索关键字执行概率加密方式的加密。
17.根据权利要求11~14中任意一项所述的隐匿检索系统,其中,
所述隐匿检索系统还具有登记装置,该登记装置生成计数值,使用所述计数值对所述关联关键字执行加密,由此生成所述加密标签,并将所述加密标签和所述加密数据发送给所述管理装置,
所述检索装置生成随机数,使用所述随机数和由所述登记装置生成的所述计数值,对所述检索关键字执行概率加密方式的加密。
18.根据权利要求17所述的隐匿检索系统,其中,
所述检索装置使用所述随机数和所述计数值对所述检索关键字执行概率加密方式的加密,生成将被判定是否与所述加密标签一致的第1密文,并且生成第2密文,该第2密文用于使用与所述第1密文一致的所述加密标签来计算所述确定性信息。
19.一种隐匿检索方法,其是具有管理装置和检索装置的隐匿检索系统的隐匿检索方法,该管理装置具有作为存储装置的管理存储部,
在所述隐匿检索方法中:
所述管理装置接收对保管数据进行加密得到的加密数据、和对与所述保管数据相关联的关联关键字进行加密而生成的加密标签,并将所述加密标签和所述加密数据对应起来保管在所述管理存储部中,
所述检索装置在取得了对保管在所述管理存储部中的所述加密数据进行检索的检索关键字时,计算由所述检索关键字唯一确定的确定性信息,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,由此生成检索查询,并将所述检索查询发送给所述管理装置,
所述管理装置在从所述检索装置接收到所述检索查询时,判定对所述检索查询进行解密得到的所述检索关键字是否与对保管在所述管理存储部中的所述加密标签进行解密得到的关联关键字一致。
20.一种计算机可读取的记录介质,其记录了隐匿检索程序,该隐匿检索程序是具有管理装置和检索装置的隐匿检索系统中的隐匿检索程序,该管理装置具有作为存储装置的管理存储部,其中,所述隐匿检索程序使计算机执行以下处理:
数据保管处理,接收对保管数据进行加密得到的加密数据、和对与所述保管数据相关联的关联关键字进行加密而生成的加密标签,并将所述加密标签和所述加密数据对应起来保管在所述管理存储部中;
检索查询生成处理,在取得了对保管在所述管理存储部中的所述加密数据进行检索的检索关键字时,计算由所述检索关键字唯一确定的确定性信息,使用所述确定性信息对所述检索关键字执行概率加密方式的加密,由此生成检索查询,并将所述检索查询发送给所述管理装置;以及
判定处理,在从所述检索装置接收到所述检索查询时,判定对所述检索查询进行解密得到的所述检索关键字是否与对保管在所述管理存储部中的所述加密标签进行解密得到的关联关键字一致。
CN201780003889.0A 2016-01-14 2017-01-11 隐匿检索系统、隐匿检索方法及计算机可读取的记录介质 Active CN108351905B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
PCT/JP2016/051006 WO2017122326A1 (ja) 2016-01-14 2016-01-14 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム
JPPCT/JP2016/051006 2016-01-14
JPPCT/JP2016/079421 2016-10-04
PCT/JP2016/079421 WO2017122393A1 (ja) 2016-01-14 2016-10-04 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム
PCT/JP2017/000679 WO2017122696A1 (ja) 2016-01-14 2017-01-11 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム

Publications (2)

Publication Number Publication Date
CN108351905A CN108351905A (zh) 2018-07-31
CN108351905B true CN108351905B (zh) 2022-05-31

Family

ID=59311136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780003889.0A Active CN108351905B (zh) 2016-01-14 2017-01-11 隐匿检索系统、隐匿检索方法及计算机可读取的记录介质

Country Status (5)

Country Link
US (1) US10872158B2 (zh)
EP (1) EP3382576B1 (zh)
JP (1) JP6239213B1 (zh)
CN (1) CN108351905B (zh)
WO (3) WO2017122326A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142268A1 (ja) * 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
DE112018007468T5 (de) 2018-05-15 2021-01-21 Mitsubishi Electric Corporation Geheime-Suche-Einrichtung und Geheime-Suche-Verfahren
JP6918253B2 (ja) * 2018-12-28 2021-08-11 三菱電機株式会社 秘匿検索システムおよび秘匿検索方法
US11281733B2 (en) * 2019-03-14 2022-03-22 Microsoft Technology Licensing, Llc Selective presentation of rich experiences in search
CN114945963A (zh) 2020-01-14 2022-08-26 三菱电机株式会社 登记装置、检索操作装置、数据管理装置、登记程序、检索操作程序以及数据管理程序
CN114091054A (zh) * 2021-11-03 2022-02-25 深圳前海微众银行股份有限公司 一种双向隐匿数据查询方法及装置
WO2023112176A1 (ja) * 2021-12-14 2023-06-22 三菱電機株式会社 秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム
WO2023127038A1 (ja) * 2021-12-27 2023-07-06 三菱電機株式会社 登録要求装置、検索要求装置、データ管理装置、秘匿検索システム、秘匿検索方法、および、秘匿検索プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1347050A (zh) * 2000-09-27 2002-05-01 日本电气株式会社 加密文件系统、加密文件检索方法、以及计算机可读介质
CN104995621A (zh) * 2013-02-25 2015-10-21 三菱电机株式会社 服务器装置、隐匿检索程序、记录介质以及隐匿检索系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005101883A (ja) 2003-09-25 2005-04-14 Hitachi Ltd 電子メール文書原本性保証装置
JP4395611B2 (ja) 2003-10-28 2010-01-13 独立行政法人情報通信研究機構 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム
JP2006072585A (ja) 2004-08-31 2006-03-16 Planet:Kk 移動体通信端末を用いた認証方法
JP2006113704A (ja) 2004-10-13 2006-04-27 Toshiba Corp 医用システムのパスワード管理方法及び医用装置用パスワード管理システム
JP5140026B2 (ja) 2009-03-19 2013-02-06 株式会社日立製作所 データベース処理方法、データベース処理プログラム、および、暗号化装置
WO2012004880A1 (ja) 2010-07-08 2012-01-12 三菱電機株式会社 キーワード変換装置、キーワード変換プログラム、記録媒体及びキーワード変換方法
US8533489B2 (en) * 2010-09-29 2013-09-10 Microsoft Corporation Searchable symmetric encryption with dynamic updating
JP5412414B2 (ja) * 2010-12-08 2014-02-12 株式会社日立製作所 検索可能暗号処理システム
US8429421B2 (en) 2010-12-17 2013-04-23 Microsoft Corporation Server-side encrypted pattern matching
WO2012095973A1 (ja) 2011-01-13 2012-07-19 三菱電機株式会社 データ処理装置及びデータ保管装置
JP2012164031A (ja) 2011-02-03 2012-08-30 Mitsubishi Electric Corp データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム
WO2012115031A1 (ja) 2011-02-22 2012-08-30 三菱電機株式会社 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム
US9311494B2 (en) 2011-12-01 2016-04-12 Hitachi, Ltd. Secure search method and secure search device
JP5800720B2 (ja) 2012-01-24 2015-10-28 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US9355359B2 (en) * 2012-06-22 2016-05-31 California Institute Of Technology Systems and methods for labeling source data using confidence labels
JP5255154B1 (ja) 2012-12-26 2013-08-07 株式会社エアー 部分一致検索の可能な暗号システム
JP6054790B2 (ja) * 2013-03-28 2016-12-27 三菱スペース・ソフトウエア株式会社 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
JP6144992B2 (ja) 2013-08-08 2017-06-07 株式会社日立製作所 検索可能暗号処理システム及び方法
JP6208586B2 (ja) 2014-01-16 2017-10-04 株式会社日立製作所 検索可能暗号処理システムおよび検索可能暗号処理方法
JP2015170057A (ja) * 2014-03-05 2015-09-28 富士通株式会社 秘匿検索装置、秘匿検索方法および秘匿検索プログラム
US11087006B2 (en) 2014-06-30 2021-08-10 Nicira, Inc. Method and apparatus for encrypting messages based on encryption group association
WO2016063344A1 (ja) * 2014-10-21 2016-04-28 三菱電機株式会社 サーバ装置及び検索システム及び端末装置及び検索方法及びサーバプログラム及び端末プログラム
JP6381128B2 (ja) 2015-02-05 2018-08-29 国立研究開発法人産業技術総合研究所 検索システム、クライアント、サーバ、検索プログラムおよび検索方法
US9894042B2 (en) * 2015-07-24 2018-02-13 Skyhigh Networks, Inc. Searchable encryption enabling encrypted search based on document type

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1347050A (zh) * 2000-09-27 2002-05-01 日本电气株式会社 加密文件系统、加密文件检索方法、以及计算机可读介质
CN104995621A (zh) * 2013-02-25 2015-10-21 三菱电机株式会社 服务器装置、隐匿检索程序、记录介质以及隐匿检索系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云环境下安全密文区间检索方案的新设计;王少辉等;《通信学报》;20150225(第02期);全文 *

Also Published As

Publication number Publication date
JP6239213B1 (ja) 2017-11-29
WO2017122393A1 (ja) 2017-07-20
WO2017122696A1 (ja) 2017-07-20
WO2017122326A1 (ja) 2017-07-20
JPWO2017122696A1 (ja) 2018-01-25
CN108351905A (zh) 2018-07-31
US20180365433A1 (en) 2018-12-20
EP3382576B1 (en) 2020-08-12
US10872158B2 (en) 2020-12-22
EP3382576A1 (en) 2018-10-03
EP3382576A4 (en) 2018-10-03

Similar Documents

Publication Publication Date Title
CN108351905B (zh) 隐匿检索系统、隐匿检索方法及计算机可读取的记录介质
EP3096245B1 (en) Retrievable cryptograph processing system and retrievable cryptograph processing method
US10235539B2 (en) Server device, recording medium, and concealed search system
US9111106B2 (en) Data processing apparatus and data storage apparatus
KR100903599B1 (ko) 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버
EP3392865B1 (en) Encryption device, encryption method, and encryption program
JP6289768B2 (ja) 暗号化装置、暗号化プログラム及び暗号化方法
US11902418B2 (en) Registration device, search operation device, and data management device
US20220277100A1 (en) Searchable encryption system, searchable encryption method, and non-transitory computer-readable recording medium
JP6672451B2 (ja) 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法
US11106740B2 (en) Search device, search system, search method, and computer readable medium
CN110612563B (zh) 检索装置、隐匿检索系统以及计算机能读取的存储介质
Göge et al. Improving fuzzy searchable encryption with direct bigram embedding
CN117413489A (zh) 加密标签生成装置、隐匿检索系统、加密标签生成方法和加密标签生成程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant