CN103119594A - 可检索密码处理系统 - Google Patents

可检索密码处理系统 Download PDF

Info

Publication number
CN103119594A
CN103119594A CN2011800460688A CN201180046068A CN103119594A CN 103119594 A CN103119594 A CN 103119594A CN 2011800460688 A CN2011800460688 A CN 2011800460688A CN 201180046068 A CN201180046068 A CN 201180046068A CN 103119594 A CN103119594 A CN 103119594A
Authority
CN
China
Prior art keywords
mentioned
data
retrieval
client
server
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
Application number
CN2011800460688A
Other languages
English (en)
Other versions
CN103119594B (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN103119594A publication Critical patent/CN103119594A/zh
Application granted granted Critical
Publication of CN103119594B publication Critical patent/CN103119594B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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
    • 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
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

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

Abstract

在通过具有实际的功能的可检索密码方式对保管在服务器中的数据进行检索时,会引起检索的出现频度的泄露、与检索结果相关的保管数据的安全性的降低,处于危险的状况。在可检索密码处理系统中,保存数据的DB服务器、将数据寄存在DB服务器中的登录客户端、使DB服务器检索数据的检索客户端经由网络而协作,登录客户端通过基于使用了哈希值和准同型函数的掩码的概率性加密方式,将加密后的数据寄存在服务器中,检索客户端在检索查询的加密中,使用基于利用了准同型函数的掩码的概率性加密,使DB服务器不掩码,并且不向DB服务器泄露与检索相关的数据的出现频度的方式,将与检索查询不相关的数据作为检索结果进行输出。

Description

可检索密码处理系统
技术领域
本发明涉及一种检索处理系统,其在服务器/客户端模型中,服务器依照客户端的请求,不对加密数据进行解密地就检索保管的加密数据。
背景技术
以信息系统的开发/运用管理费的高效化为目的,近年来不是由本组织维持信息系统而是利用其他组织提供的信息系统的被称为云的运用管理形式正在登上舞台。另一方面,在云中,管理信息系统的组织与利用信息系统的组织不同,因此仅在本组织中难以实施防止信息泄露等的策略、事故发生后的原因调查、再发生防止策略等。因此,作为数据的非法外流的预防策略,需要灵活运用密码技术,确保数据的机密性。
已知以下的方式,即在服务器/客户端模型中,客户端将数据保管在服务器中,同时针对服务器,作为防止保管的数据的信息泄露的技术使用密码技术。例如在非专利文献1、非专利文献2中,记载了以下的检索处理方式,即依照客户端的请求,不对加密数据进行解密就检索所保管的加密数据。该检索处理方式揭示了以下的技术,即采用了比明文和密文具有一对一的简单对应关系的决定性加密方式更安全的、明文和密文具有一对多的复杂对应关系的概率性加密方式,防止向服务器管理者泄露信息,同时安全地检索在服务器中保管的数据。
现有技术文献
非专利文献
非专利文献1:Dawn Xiaodong Song,David Wagner,Arian Perrig.”Practical Techniques for Searches on Encrypted Data”.In Proceedings of the 2000 IEEE Symposium on Security and Privacy,pages44-55(2000).
非专利文献2:Zhiqiang Yang,Sheng Zhong,Rebecca N.Wright.“Privacy-Preserving Queries on Encrypted Data”.In Proceedings of the 11thEuropean Symposium on Research in Computer Security(Esorics),Volume4189 of Lecture Notes in Computer Science,pages 476-495(2006).
发明内容
发明要解决的问题
但是,在非专利文献1、非专利文献2所记载的技术中,为了对在服务器中保管的通过概率性加密加密后的数据进行解密所需要的运用管理变得复杂,客户端、服务器都变得复杂。并且,基于伪随机数的概率性加密直到由客户端进行检索都是有效的,但在检索后,与检索相关的密文的伪随机数的掩码被解除,密文的安全性从概率性加密降低到决定性加密。并且,客户端在检索时的请求(检索查询)的加密中使用了安全性低的决定性加密方式,因此对频度分析等非法攻击也是脆弱的。
解决问题的技术方案
为了解决上述问题,在可检索密码处理系统中,保存数据的DB服务器、将数据保管在DB服务器中的登录客户端、使DB服务器检索数据的检索客户端经由网络而协作,登录客户端把通过使用了基于哈希值和准同型函数的输出值的掩码的概率性加密方式加密后的数据安全地保管在服务器中,检索客户端在检索查询的加密中,通过利用了根据多个不同的输入值输出相同的值的准同型函数的掩码进行概率性加密,不使DB服务器解除掩码、并且不向DB服务器泄露与检索相关的数据的出现频度地,输出与检索查询不相关的数据来作为检索结果,检索客户端在得到检索结果后,进行再加密,将数据再保管在DB服务器中。
发明效果
即使在客户端利用DB服务器进行检索后,也通过概率性密码对与检索相关的数据进行加密,安全性高。另外,不在客户端强化复杂的运用管理,能够高效地对加密后的数据进行解密。
附图说明
图1是示例可检索密码处理系统的概要的图。
图2是示例登录客户端的功能的概要的图。
图3是示例检索客户端的功能的概要的图。
图4是示例DB服务器的功能的概要的图。
图5是示例计算机的概要结构的图。
图6是示例登录客户端的输出部的显示内容的图。
图7A是示例登录客户端所生成的连结数据的数据结构的框图。
图7B是示例登录客户端所生成的连结数据的数据结构的框图。
图7C是示例登录客户端所生成的隐匿登录数据的数据结构的框图。
图8是示例登录客户端向DB服务器登录隐匿登录数据的处理的顺序图。
图9A是示例在DB服务器的数据库存储部中存储的数据库管理状态的图。
图9B是示例在DB服务器的数据库存储部中存储的数据库检索步骤的图。
图10是示例检索客户端的输出部的显示内容的图。
图11A是示例检索客户端所生成的连结数据的数据结构的框图。
图11B是示例检索客户端所生成的连结数据的数据结构的框图。
图11C是示例检索客户端所生成的连结数据的数据结构的框图。
图12是示例检索客户端使用隐匿检索查询检索DB服务器内的数据库的处理的顺序图。
图13A是示例DB服务器对从通信部接收到的隐匿检索查询进行解码得到的连结数据的数据结构的框图。
图13B是示例DB服务器存储在数据库存储部中的隐匿登录数据的数据结构的框图。
图13C是示例DB服务器所生成的连结数据的数据结构的框图。
图13D是示例DB服务器所生成的连结数据的数据结构的框图。
图14A是示例检索客户端从通信部接收到的隐匿登录数据的数据结构的框图。
图14B是示例检索客户端所生成的数据CR的数据结构的框图。
图14C是示例DB服务器所生成的连结数据的数据结构的框图。
具体实施方式
以下,根据附图详细说明本发明的实施方式。
图1是本实施方式的检索处理系统的概要图。如图所示那样,检索处理系统具备登录客户端100(Registration Client)、检索客户端200(Search Client)、DB服务器300(Data Base Server),登录客户端100和DB服务器300、检索客户端200和DB服务器300能够经由网络400相互收发信息。
在此,本实施方式的登录客户端100具有向DB服务器300发送隐匿化的数据的数据登录用发送接收装置的功能,检索客户端200具有向DB服务器300发送隐匿化的检索查询并接收检索结果的检索用发送接收装置的功能,DB服务器300具有将隐匿化的数据保管在数据库中,另外检索数据库内的数据的DB管理用发送接收装置的功能。
图2是登录客户端100的功能概要图。如图所示那样,登录客户端100具备控制部110、存储部120、输入部101、输出部102、通信部103。
存储部120具备登录数据存储部130、秘密密钥存储部150、参数存储部160、临时信息存储部180。
在登录数据存储部130中,存储作为向DB服务器300发送的数据的用于确定发送文的信息。在此,在本实施方式中,经由输入部101存储用于确定接受的明文登录数据131的信息、登录在DB服务器300中的确定隐匿登录数据132的信息、确定明文登录数据131和隐匿登录数据132的属性133的信息。
在秘密密钥存储部150中,存储从安全性的观点出发应该由登录客户端100秘密地管理的用于确定秘密密钥151的信息。在此,在本实施方式中,存储用于确定向加密部112输入的秘密密钥151、向伪随机数生成部114输入的秘密密钥151、向压缩函数部115输入的秘密密钥151的信息。
在参数存储部160中,存储在数据的隐匿化时使用的用于确定参数的信息。在此,在本实施方式中,存储用于确定输入到准同型函数部116的函数参数161、输入到基本运算部117的检查参数162的信息。另外,从安全性的观点出发,函数参数161是应该由登录客户端100秘密地管理的信息。
在临时信息存储部180中,存储在控制部110的处理中所需要的信息。
控制部110具备全体处理部111、加密部112、伪随机数生成部114、压缩函数部115、准同型函数部116、基本运算部117。
全体处理部111控制登录客户端100中的全部处理。
例如,在本实施方式中,全体处理部111进行以下处理:将经由输入部101接受输入所得的信息作为明文登录数据131存储在登录数据存储部130中。
另外,在本实施方式中,全体处理部111进行以下处理:将明文登录数据131在输出部102上显示。
另外,在本实施方式中,全体处理部111进行以下处理:读入在登录数据存储部130中存储的明文登录数据131,分别输入给加密部112、伪随机数生成部114、压缩函数部115、准同型函数部116以及基本运算部117,将输出的数据作为隐匿登录数据132存储在登录数据存储部130中。
另外,在本实施方式中,全体处理部111进行以下处理:经由通信部103将属性133和隐匿登录数据132发送到DB服务器300。
并且,在本实施方式中,全体处理部111进行以下处理:将经由通信部103从DB服务器300接收到的属性133和隐匿登录数据132存储在临时信息存储部180中以及在输出部102上进行显示。
加密部112进行以下处理:输出对输入的数据进行加密后的数据。
例如,在本实施方式中,进行以下处理:从全体处理部111输入数据和秘密密钥151,输出使用秘密密钥151加密后的数据。
例如,通过安装标准的加密算法,来实现加密部112。
伪随机数生成部114进行输出伪随机数的处理。
例如,伪随机数生成部114根据温度、时间、电力量等物理现象输出随机数。
在本实施方式中,伪随机数生成部114使用从全体处理部111输入的秘密密钥151,输出伪随机数。另外,秘密密钥151的数据值被更新为新的数据值,再次通过全体处理部111存储在秘密密钥存储部150中。
例如,通过安装标准的伪随机数生成算法,来实现伪随机数生成部114。
压缩函数部115进行以下处理:输出对输入的数据进行压缩后的数据。
例如,在本实施方式中,进行以下处理:将从全体处理部111输入的数据变换为固定长度(h比特)的其他数据并输出。
例如,通过安装标准的密码哈希函数算法,来实现将任意长度的输入数据变换为固定长度的数据的压缩函数部115。
准同型函数部116进行以下处理:针对输入的数据,将函数计算的输出结果作为数据而输出。
例如,在本实施方式中,进行以下处理:将从全体处理部111输入的数据看作具有准同型的性质的函数的输入值,使用从全体处理部111输入的函数参数161,将函数计算的输出值变换为用二进制列表现的固定长度(f比特)的数据。
其中,准同型函数是指针对函数F、输入变量x、输入变量y以下公式成立的函数。
F(x·y)=F(x)?F(y)    (1)
其中,·和?表示运算符,包含加法运算符+、乘法运算符×、每个比特的异或即XOR(eXclusive OR)运算用运算符xor等。
在本实施方式中,表示·和?包含XOR运算符xor时,即公式(2)成立的情况。
F(x xor y)=F(x)xor F(y)    (2)
其中,在准同型函数通过公式(2)以外的运算符成立时,也同样能够实施本实施方式。
另外,通过安装实现准同型函数的算法,来实现准同型函数部116。
基本运算部117进行与加法、减法、比较运算等基本算术运算有关的处理。
例如,在本实施方式中,基本运算部117进行以下处理:把从全体处理部111输入的2个数据的每个比特的异或即XOR运算、比较运算的等号成立或不成立的验证结果作为数据进行输出。
以上所示的登录客户端100例如能够通过图5(计算机的概要图)所示那样的普通的计算机500来实现,该计算机500具备CPU(中央处理单元)501、存储器502、HDD(硬盘驱动器)等外部存储装置503、向CD(Compact Disk)、DVD(Digital Versatile Disk)等具有可移动性的存储介质508读写信息的读写装置507、键盘、鼠标等输入装置506、显示器等输出装置505、用于与通信网络连接的NIC(网络接口卡)等通信装置504、将它们连接起来的系统总线等内部通信线(称为系统总线)509。
例如,存储部120能够通过由CPU501利用存储器502或外部存储装置503来实现,控制部110和包含在控制部110中的各处理部能够通过将存储在外部存储装置503中的预定的程序装载到存储器502中由CPU501执行来实现,输入部101能够通过由CPU501利用输入装置506来实现,输出部102能够通过由CPU501利用输出装置505来实现,通信部103能够通过由CPU501利用通信装置504来实现。
该预定的程序可以经由读写装置507从存储介质508或经由通信装置504从网络存储(下载)到外部存储装置503中,然后装载到存储器502上,通过CPU501执行。另外,也可以经由读写装置507从存储介质508、或经由通信装置504从网络直接装载到存储器502上,通过CPU501执行。
图3是检索客户端200的功能概要图。如图所示那样,检索客户端200具备控制部210、存储部220、输入部201、输出部202、通信部203。
存储部220具备检索查询存储部230、秘密密钥存储部250、参数存储部260、接收数据存储部270、临时信息存储部280。
在检索查询存储部230中,存储作为向DB服务器300发送的数据的用于确定发送文的信息。在此,在本实施方式中,由检索客户端200存储用于确定经由输入部201接受的明文检索查询231的信息、发送到DB服务器300的秘密检索查询232、用于确定明文检索查询231和隐匿检索查询232的属性233的信息。
在秘密密钥存储部250中,存储从安全性的观点出发应该由检索客户端200秘密管理的用于确定秘密密钥251的信息。在此,在本实施方式中,存储用于确定输入到加密部212的秘密密钥251、输入到解密部213的秘密密钥251、输入到伪随机数生成部214的秘密密钥251、输入到压缩函数部215的秘密密钥251的信息。
在参数存储部260中,存储用于确定在数据的隐匿化和隐匿化解除中使用的参数的信息。在此,在本实施方式中,存储用于确定输入到准同型函数部216的函数参数261的信息、用于确定输入到基本运算部217的检查参数262的信息。另外,从安全性的观点出发,函数参数261是应该由检索客户端200秘密管理的信息。
在接收数据存储部270中,存储用于确定经由通信部203接收到的数据的信息。在此,在本实施方式中,在接收数据存储部270中,作为隐匿登录数据271存储用于确定经由通信部203从DB服务器300接收到的数据的信息。另外,进行以下的处理:将从隐匿登录数据271中解除隐匿化的数据作为明文登录数据272存储在接收数据存储部270中。
在临时信息存储部280中,存储在控制部210的处理中所需要的信息。
控制部210具备全体处理部211、加密部212、解密部213、伪随机数生成部214、压缩函数部215、准同型函数部216、基本运算部217。
全体处理部211控制检索客户端200的全部处理。
例如,在本实施方式中,全体处理部211进行以下的处理:将经由输入部201接受输入所得的信息作为明文检索查询231存储在检索查询存储部230中。
另外,在本实施方式中,全体处理部211进行以下的处理:将明文检索查询231显示在显示部202上。
另外,在本实施方式中,全体处理部211进行以下的处理:读入存储在检索查询存储部230中的明文检索查询231,分别输入到加密部212、伪随机数生成部214、压缩函数部215、准同型函数部216、基本运算部217,将输出的数据作为隐匿检索查询232存储在检索查询存储部230中。
另外,在本实施方式中,全体处理部211进行以下的处理:经由通信部203将属性233和隐匿检索查询232发送到DB服务器300。
另外,在本实施方式中,全体处理部211进行以下的处理:经由通信部203从DB服务器300接收隐秘登录数据271。
进而,在本实施方式中,全体处理部211进行以下的处理:将经由通信部203接收到的隐匿登录数据271作为隐秘登录数据271存储在接收数据存储部270中。
另外,在本实施方式中,全体处理部211进行以下的处理:读入存储在接收数据存储部270中的隐秘登录数据271,分别输入到解密部213、压缩函数部215、准同型函数部216、基本运算部217,将输出的数据作为明文登录数据272存储到接收数据存储部270中。
另外,在本实施方式中,全体处理部211进行以下的处理:将明文登录数据272显示在输出部202上。
进而,全体处理部211进行以下的处理:将从DB服务器300经由通信部203接收到的数据存储在临时信息存储部280中、并在输出部202上显示。
加密部212进行以下的处理:输出对输入的数据进行加密后的数据。
例如,在本实施方式中,进行以下的处理:从全体处理部211输入数据和秘密密钥251,输出使用秘密密钥251加密后的数据。
解密部213进行以下的处理:输出对输入的数据进行解密后的数据。
例如,在本实施方式中,进行以下的处理:从全体处理部211输入数据和秘密密钥251,输出使用秘密密钥251进行解密的数据。
伪随机数生成部114进行输出伪随机数的处理。
例如,伪随机数生成部214根据温度、时间、电力量等物理现象输出随机数。
在本实施方式中,伪随机数生成部214使用从全体处理部211输入的秘密密钥251,输出伪随机数。另外,把秘密密钥251的数据值更新为新的数据值,再次通过全体处理部211存储在秘密密钥存储部250中。
例如,在本实施方式中,进行以下的处理:使用从全体处理部211输入的秘密密钥251输出伪随机数。
压缩函数部215进行以下的处理:输出对输入的数据进行压缩后的数据。
例如,在本实施方式中,进行以下的处理:将从全体处理部211输入的数据变换为固定长度(h比特)的别的数据并输出。
准同型函数部216进行以下的处理:针对输入的数据,将函数计算的输出结果作为数据输出。
例如,在本实施方式中,进行以下的处理:将从全体处理部211输入的数据看作具有准同型的性质的函数的输入值,使用从全体处理部211输入的函数参数261,将函数计算的输出值变换为用二进制列表现的固定长度(f比特)的数据。
其中,准同型函数表示针对函数F、输入变量x、输入变量y公式(2)成立的情况,但在准同型性通过每个比特的异或即XOR运算以外的运算符也成立时,同样能够实施本实施方式。
基本运算部217进行与加法、减法、比较运算等基本算术运算有关的处理。
例如,在本实施方式中,基本运算部217进行以下的处理:把从全体处理部211输入的2个数据的二进制值(2进制数)的减法结果作为数据输出。
以上所示的检索客户端200例如能够通过图5(计算机的概要图)所示那样的普通的计算机来实现,该计算机具备CPU501、存储器502、HDD等外部存储装置503、向CD、DVD等具有可移动性的存储介质508读写信息的读写装置507、键盘、鼠标等输入装置506、显示器等输出装置505、用于与通信网络连接的NIC等通信装置504、将它们连接起来的系统总线等内部通信线(称为系统总线)。
例如,存储部220能够通过由CPU501利用存储器502或外部存储装置503来实现,控制部210和控制部210中包含的各处理部能够通过将存储在外部存储装置503中的预定的程序装载到存储器502中由CPU501执行来实现,输入部201能够通过由CPU501利用输入装置506来实现,输出部202能够通过由CPU501利用输出装置505来实现,通信部203能够通过由CPU501利用通信装置504来实现。
该预定的程序可以经由读写装置507从存储介质508、或经由通信装置504从网络存储(下载)到外部存储装置503中,然后装载到存储器502上,通过CPU501执行。另外,也可以经由读写装置507从存储介质508、或经由通信装置504从网络直接装载到存储器502上,由CPU501执行。
图4是DB服务器300的功能概要图。如图所示那样,DB服务器300具备控制部310、存储部320、输入部301、输出部302、通信部303。
存储部320具备参数存储部360、秘密密钥存储部350、数据库存储部340、检索查询存储部330、临时信息存储部380。
在参数存储部360中,存储在检查隐匿检索查询332与数据库341的关系时使用的用于确定参数的信息。在此,在本实施方式中,存储用于确定输入到准同型函数部316的函数参数361的信息。另外,从安全性的观点出发,函数参数361是应该由DB服务器300秘密地管理的信息。
在秘密密钥存储部350中,存储从安全性的观点出发应该由DB服务器300秘密地管理的用于确定秘密密钥351的信息。在此,在本实施方式中,存储用于确定输入到解密部313的秘密密钥351的信息。
在数据库存储部340中,存储用于确定经由通信部303接收到的登录数据的信息。在此,在本实施方式中,进行以下的处理:将经由通信部303从登录客户端100接收到的信息作为数据库341的构成信息存储到数据库存储部340中。
在检索查询存储部230中,存储用于确定经由通信部303接收到的检索查询的信息。在此,在本实施方式中,进行以下的处理:将经由通信部303从检索客户端200接收到的信息作为隐匿检索查询332存储到检索查询存储部330中。
在临时信息存储部380中,存储在控制部310的处理中所需要的信息。
控制部310具备全体处理部311、解密部313、压缩函数部315、准同型函数部316、基本运算部317。
全体处理部311控制DB服务器300中的全部处理。
例如,在本实施方式中,全体处理部311进行以下的处理:经由通信部303从登录客户端100接收隐匿登录数据131。
另外,在本实施方式中,全体处理部311进行以下的处理:将经由通信部303接收到的隐秘登录数据131作为数据库341的结构信息存储在数据库存储部340中。
另外,在本实施方式中,全体处理部311进行以下的处理:经由通信部303从检索客户端200接收隐秘检索查询332。
另外,在本实施方式中,全体处理部311进行以下的处理:将经由通信部303接收到的隐匿检索查询332存储到检索查询存储部330中。
另外,在本实施方式中,全体处理部311进行以下的处理:读入在检索查询存储部330中存储的隐匿检索查询332,分别输入到解密部313、压缩函数部315、准同型函数部316、基本运算部317,将输出的数据经由通信部303发送到检索客户端200。
并且,全体处理部311进行以下的处理:将从检索客户端200或登录客户端100经由通信部303接收到的数据相关的信息存储在临时信息存储部380中、并在输出部302上显示。
解密部313进行以下的处理:输出对输入的数据进行解密后的数据。
例如,在本实施方式中,进行以下的处理:从全体处理部311输入数据和秘密密钥351,输出使用秘密密钥351解密后的数据。
压缩函数部315进行以下的处理:输出对输入的数据进行压缩后的数据。
例如,在本实施方式中,进行以下的处理:将从全体处理部311输入的数据变换为固定长度(h比特)的别的数据并输出。
准同型函数部216进行以下的处理:针对输入的数据,将函数计算的输出结果作为数据输出。
例如,在本实施方式中,进行以下的处理:将从全体处理部311输入的数据看作具有准同型的性质的函数的输入值,使用从全体处理部311输入的函数参数361,将函数计算的输出值变换为用二进制列表现的固定长度(f比特)的数据。
其中,准同型函数表示针对函数F、输入变量x、输入变量y公式(2)成立的情况,但在准同型性对于每个比特的异或即XOR运算以外的运算符也成立时,同样能够实施本实施方式。
基本运算部317进行与加法、减法、比较运算等基本算术运算有关的处理。
例如,在本实施方式中,基本运算部317进行以下的处理:把从全体处理部311输入的2个数据的二进制值(2进制数)的减法结果作为数据输出。
另外,在本实施方式中,基本运算部317进行以下的处理:把从全体处理部311输入的2个数据的二进制值(2进制数)的比较结果作为数据输出。
以上所示的DB服务器300例如能够通过图5(计算机的概要图)所示那样的普通的计算机来实现,该计算机具备CPU501、存储器502、HDD等外部存储装置503、向CD、DVD等具有可移动性的存储介质508读写信息的读写装置507、键盘、鼠标等输入装置506、显示器等输出装置505、用于与通信网络连接的NIC等通信装置504、将它们连接起来的系统总线等内部通信线(称为系统总线)。
例如,存储部120、220、320能够通过由CPU501利用存储器502或外部存储装置503来实现,控制部110、210、310和包含在控制部110、210、310中的各处理部能够通过将存储在外部存储装置503中的预定的程序装载到存储器502中由CPU501执行来实现,输入部101、201、301能够通过由CPU501利用输入装置506来实现,输出部102、202、302能够通过由CPU501利用输出装置505来实现,通信部103、203、303能够通过由CPU501利用通信装置504来实现。
该预定的程序可以经由读写装置507从存储介质508或经由通信装置504从网络存储(下载)到外部存储装置503中,然后装载到存储器502上,通过CPU501来执行。另外,也可以经由读写装置507从存储介质508或经由通信装置504从网络直接装载到存储器502上,通过CPU501执行。
图6是示例登录客户端100的输出部102的显示内容600的图。如图所示那样,登录客户端100具备管理方法的选择部610、管理表格部620、指示执行和显示的按键的执行按键650、指示清除和显示的按键的清除按键660。
管理方法的选择部610由数据的登录、数据的更新、数据的删除等与数据的管理有关的项目构成。例如,在本实施方式中,具备用于确定数据追加、数据更新、数据删除的单选按键。另外,能够经由输入部101选择各项目。
管理表格部620由属性621和输入数据的详细内容的输入表格622构成,属性621是与通过管理方法的选择部610确定的项目即数据的登录、数据的更新或数据的删除对应地进行处理的表示数据种类的属性。例如,在本实施方式中,具备表示编号、姓名、电子邮件、所属部门的属性621和为了输入编号、姓名、电子邮件、所属部门而设计的输入表格622。在各输入表格622中输入的信息被存储在存储部120的临时信息存储部180中。
能够经由输入部101选择清除按键660。例如,在本实施方式中,如果选择了清除按键660,则删除在各输入表格622中输入的信息。
能够经由输入部101选择执行按键650。例如,在本实施方式中,如果选择了执行按键650,则进行以下的处理:根据通过管理方法的选择部610确定的项目和在各表格中输入的信息,生成隐匿登录数据131,向DB服务器300发送。以下,说明了通过管理方法的选择部610确定的项目是数据登录的情况,但在确定了数据更新、数据删除的情况下,也进行同样的处理。
在通过管理方法的选择部610确定的项目是数据登录的情况下,在选择了执行按键650的情况下,从S701~S715表示实施的隐匿登录数据131的处理步骤。
图7A是表示在本实施方式中,登录客户端100根据在输出部102输出的在表格622中输入的信息,生成的连结数据703的数据结构的框图的例子。
图7B是表示在本实施方式中登录客户端100在生成隐匿登录数据712的过程中生产的连结数据704的数据结构的框图的例子。
另外,图7C是表示在本实施方式中登录客户端100生成的隐匿登录数据712的数据结构的框图的例子。
以下,使用图7A、图7B、图7C,说明与在输入表格622输入的数据值无关地,登录客户端100每次生成数据值不同的隐匿登录数据712的处理步骤。
登录客户端100的全体处理部111进行以下的处理:将在输入表格622输入的信息作为明文登录数据701存储到存储部120的登录数据存储部130中。这时,将明文登录数据701作为由m比特的二进制表现构成的数据,存储在登录客户端100的临时信息存储部180中。
登录客户端100的全体处理部111进行以下的处理:读入在参数存储部160中存储的检查参数162,作为错误检查数据702进行输出。这时,把输出的错误检查数据702作为e比特的数据存储到登录客户端100的临时信息存储部180中。
登录客户端100的全体处理部111进行以下的处理:将明文登录数据701和错误检查数据702连接起来(S701)。
在连接处理中,也可以在明文登录数据701的各处插入分割后的错误检查数据702。例如,可以在明文登录数据701的初始(头)和结束(尾)插入错误检查数据702。另外,还可以将错误检查数据702和明文登录数据701通过乘法运算相乘等来进行混合。
以下,如图7A所示那样,在登录客户端100中,对以下情况进行处理,即全体处理部111在输入的明文登录数据701的末尾连接错误检查数据702,将连结数据703看作一个数据。这时,在登录客户端100的临时信息存储部180中,作为(m+e)比特的数据存储连结数据703。其中,连接处理并不限于该情况,通过其他的连接处理也同样能够实施。
接着,如图7B所示那样,说明登录客户端100生成的连结数据704的数据结构。
登录客户端100的全体处理部111进行以下的处理:向加密部112输入将明文登录数据701和错误检查数据702连接后的数据即连结数据703和存储在秘密密钥存储部150中的秘密密钥151(S702)。
登录客户端100的加密部112进行以下的处理:对输入的数据进行加密,输出数据CR705(S703)。
在登录客户端100中,由加密部112对全体处理部111输入的连结数据703进行加密,将输出的数据看作为数据CR705。这时,将数据CR705作为c比特的数据存储在登录客户端100的临时信息存储部180中(S704)。
另外,数据CR705可以依存于连结数据703,即依存于输入表格622的输入信息。例如,可以从具有相同的数据值的连结数据703输出相同的数据CR705。
登录客户端100的全体处理部111进行以下的处理:从秘密密钥存储部150读出秘密密钥151,将秘密密钥151输入到伪随机数生成部114(S705)。
登录客户端100的伪随机数生成部114进行以下的处理:使用输入的秘密密钥151,输出伪随机数。这时,将伪随机数作为r比特的数据PR706存储在登录客户端100的临时信息存储部180中(S706)。
伪随机数输出部114输出的伪随机数不依存于连结数据703、数据CR705。因此,能够不依存于输入表格622的输入信息地,每次生成数据值不同的数据PR706。
登录客户端100的全体处理部111进行以下的处理:从秘密密钥存储部150读出秘密密钥151,把秘密密钥151和从随机数生成部输出的数据PR706被连接后的数据输入到压缩函数部115(S707)。
登录客户端100的压缩函数部115进行以下的处理:对输入的数据进行变换,输出哈希值。这时,把哈希值作为h比特的数据HR707存储在登录客户端100的临时信息存储部180中(S708)。
根据压缩函数的性质,将数据HR707看作随机数。数据HR707不依存于连结数据703、数据CR705。因此,与数据PR706同样地,能够不依存于输入表格622的输入信息,每次生成数据值不同的数据HR707。
登录客户端100的全体处理部111将数据HR707、存储在参数存储部160中的函数参数161输入到准同型函数部116(S709)。
登录客户端100的准同型函数部116进行以下的处理:将输入的数据看作具有准同型的性质的函数的输入值,使用函数参数161,输出用二进制列表现函数计算的输出值的准同型函数值。这时,将准同型函数值作为f比特的数据FR708存储在登录客户端100的临时信息存储部180中(S710)。
另外,在设准同型函数为func的情况下,对于作为其输入值的数据HR707、作为输出值的数据FR708,公式(3)成立(其中,省略函数参数161的记载)。
FR=func(HR)    (3)
对于数据FR708,根据准同型函数部116进行处理的准同型函数的性质,在输入的数据值是随机数的情况下,输出也看作随机数。另外,数据FR708不依存于连结数据703、数据CR705。因此,与数据HR707同样地,能够不依存于输入表格622的输入信息地,每次生成数据值不同的数据FR707。
登录客户端100的全体处理部111进行以下的处理:向压缩函数部115输入从准同型函数部116输出的数据FR708(S711)。
登录客户端100的压缩函数部115进行以下的处理:对输入的数据进行变换,输出哈希值。这时,把哈希值作为g比特的数据GR709存储在登录客户端100的临时信息存储部180中(S712)。
根据压缩函数的性质,数据GR709是随机数。因此,与数据FR707、数据HR707同样地,能够不依存于输入表格622的输入信息地,每次生成数据值不同的数据GR709。另外,根据压缩函数的性质,难以逆向计算,因此即使将数据GR709登录到DB服务器300中,也不会对数据的安全性产生影响。
图7C是表示在本实施方式中,登录客户端100生成的隐匿登录数据712的数据结构的框图。
登录客户端100的全体处理部111进行以下的处理:向基本运算部117输入数据HR707和数据CR705(S713)。
登录客户端100的基本运算部117进行以下的处理:进行输入的数据HR707和数据CR705的每个比特的异或即XOR运算,将其计算结果作为数据DR711输出(S714)。
通过S714的xor运算,数据HR707、数据CR705、数据DR711满足公式(4)。
DR=HR xor CR    (4)
S714的计算使用不依存于连结数据703、数据CR705的作为随机数的数据HR707。因此,在唯一地确定连结数据703与数据CR705的关系的情况下,如果每次使用数据值不同的数据HR707,则能够得到不同的数据值的数据DR711。
登录客户端100的全体处理部111进行以下的处理:将数据PR706、数据DR711、数据GR709连接起来,将生成的数据作为隐匿登录数据712存储到登录数据存储部130中(S715)。
隐匿登录数据712,使用了不依存于连结数据703、数据CR705的作为随机数的数据PR706、数据DR711、数据GR709,每次能够得到不同的数据值。结果,将数据PR706和数据DR711以及数据GR709连接后的隐匿登录数据712与连结数据703、数据CR705独立。即,能够不依存于输入表格622的输入信息地,每次生成数据值不同的隐匿登录数据712。
另外,上述的处理步骤并非是固定的,也可以变更处理步骤。例如,可以变更S713和S714的处理步骤,在S713中将数据PR706、数据DR711、数据GR709连接起来后,在S714中进行数据HR707与数据CR705的XOR运算。同样,也可以变更其他处理步骤。
另外,承担上述各处理的控制部110并不是固定的,可以变更承担的控制部110。例如,可以在S711中不将数据FR708输入到压缩函数部115,而将数据FR708输入到加密部112,也可以在S712中,将从加密部112输出的数据作为数据GR709存储在临时信息存储部180中。
另外,也可以变更隐匿登录数据712的数据结构,与之一起变更处理。例如,可以将与数据PR706有关的信息存储在存储部120中,而不包含在隐匿登录数据712中。这时,可以将S706输出的数据看作为数据HR706,能够删除与S707和S708相关的处理。另外,这时,在S715中,登录客户端100的全体处理部111可以将数据DR711和数据GR709连接起来作为隐匿登录数据712。
图8是表示在本实施方式中,经由网络400,登录客户端100向DB服务器300登录隐匿登录数据132的处理的顺序图。
登录客户端100进行以下的处理:将经由输入部101从用户输入到表格的信息存储在临时信息存储部180中(S801)。
登录客户端100进行以下的处理:检测经由输入部101由用户选择了执行按键650的情况,将输入到表格的信息作为明文登录数据131存储到存储部120中(S802)。
登录客户端100进行以下的处理:通过控制部110生成隐匿登录数据132,存储到存储部120中(S803)。
登录客户端100进行以下的处理:从通信部103经由网络400,向DB服务器300发送属性133和隐匿登录数据132(S804)。
DB服务器300进行以下的处理:从通信部303经由网络400接收由登录客户端100发送的属性133和隐匿登录数据132(S805)。
DB服务器300进行以下的处理:使用通过控制部310接收到的属性133,将隐匿登录数据132作为数据库341的构成信息存储到存储部320中(S806)。
DB服务器300进行以下的处理:从通信部303经由网络400,向登录服务器发送隐匿登录数据132的登录处理的成功与否(S807)。
登录客户端100进行以下的处理:从通信部103经由网络400,接收DB服务器300所发送的隐匿登录数据132的登录处理成功与否(S808)。
登录客户端100进行以下的处理:经由输出部102,向用户显示包含登录处理成功与否的登录信息(S809)。
图9A是示例DB服务器300中的存储部320的数据库存储部340中存储的数据库341的管理状态的结构图。
例如,在本实施方式中,DB服务器300中的数据库341由表示编号、姓名、电子邮件等的属性901、与属性901相关联的隐匿登录数据902(d0、d1、d2、……)构成。
图10是示例检索客户端200的输出部202的显示内容1000的图。如图所示那样,检索客户端200具备检索项目部1010、检索表格部1020、指示检索和显示的按键的检索按键1050、指示清除和显示的按键的清除按键1060。
检索方法的选择部由与检索对象的数据的种类有关的项目构成。例如,在本实施方式中,具备用于确定编号、姓名、电子邮件、所属部门的单选按键。另外,能够经由输入部201选择多个各项目。
检索表格部1020由用于输入通过检索方法的选择部确定的属性1011的编号、姓名、电子邮件、所属部门的详细内容的输入表格1022构成。例如,在本实施方式中,具备多个为了输入编号、姓名、电子邮件、所属部门而设计的输入表格1022。输入到各输入表格1022的信息被存储在存储部220的临时信息存储部280中。
能够经由输入部201选择清除按键1060。例如,在本实施方式中,如果选择了清除按键1060,则消除各输入表格1022的输入信息。
能够经由输入部201选择检索按键1050。例如,在本实施方式中,如果选择了检索按键1050,则进行以下处理:根据通过检索方法的选择部确定的属性1011和输入到输入表格1022的信息,生成隐匿检索查询232,并向DB服务器300发送。以下,表示了通过检索方法的选择部只选择了一个属性1011(例如姓名)的情况,但在向多个输入表格1022输入了信息的情况和选择了多个属性1011的情况下,也能够通过同样的处理来实施。
在通过检索方法的选择部确定的属性1011只有一个的情况下,依照S1101~S1112进行选择了检索按键1050时的处理步骤。
图11A是表示在本实施方式中检索客户端200根据在输出部202输出的在输入表格1022中输入的信息生成的连结数据1103的数据结构的框图的例子。
图11B是表示在本实施方式中检索客户端200在生成隐匿检索查询1111的过程中生产的连结数据1104的数据结构的框图的例子。
另外,图11C是表示在本实施方式中检索客户端200生成的连结数据1108的数据结构的框图。
以下,使用图11A、图11B、图11C,说明与在输入表格1022输入的数据值无关地,检索客户端200每次生成数据值不同的隐匿检索查询1111的处理步骤。
检索客户端200的全体处理部211进行以下处理:把输入到输入表格1022中的信息作为明文检索查询1101存储到存储部220的检索查询存储部230中。这时,将明文检索查询1101作为通过m比特的二进制表现构成的数据,存储在检索客户端200的临时信息存储部280中。
检索客户端200的全体处理部211进行以下处理:读入在参数存储部260中存储的检查参数262,作为错误检查数据1102输出。这时,将输出的错误检查数据1102作为e比特的数据存储到检索客户端200的临时信息存储部280中。
检索客户端200的全体处理部211进行以下处理:将明文检索查询1101和错误检查数据1102连接起来(S1101)。
在连接处理中,也可以在明文检索查询1101的各处插入分割后的错误检查数据1102。例如,可以在明文检索查询1101的开始(头)和结束(尾)插入错误检查数据1102。另外,还可以将错误检查数据1102和明文检索查询1101通过乘法运算相乘等来进行混合。
以下,如图11A所示那样,在检索客户端200中,全体处理部211对以下情况进行处理,在输入的明文检索查询的末尾连接错误检查数据1102,将连结数据1103看作一个数据。这时,在检索客户端200的临时信息存储部280中,作为(m+e)比特的数据存储连结数据1103。其中,连接处理并不限于该情况,通过其他的连接处理也同样能够实施。
接着,如图11B所示那样,说明检索客户端200生成的连结数据1104的数据结构。
检索客户端200的全体处理部211进行以下处理:向加密部212输入将明文检索查询1101和错误检查数据1102连接后的数据即连结数据1103、存储在秘密密钥存储部250中的秘密密钥251(S1102)。
检索客户端200的加密部212进行以下处理:对输入的数据进行加密,输出数据CS1105(S1103)。
在检索客户端200中,可以由加密部212对全体处理部211输入的连结数据1103进行加密,将输出的数据看作数据CS1105进行处理。这时,把数据CS1105作为c比特的数据存储在检索客户端200的临时信息存储部280中(S1104)。
另外,数据CS1105可以依存于连结数据1103,即依存于输入表格1022的输入信息。例如,可以从具有相同的数据值的连结数据1103输出相同的数据CS1105。
检索客户端200的全体处理部211进行以下处理:从秘密密钥存储部250读出秘密密钥251,将秘密密钥251输入到伪随机数生成部214(S1105)。
检索客户端200的伪随机数生成部214进行以下处理:使用输入的秘密密钥251,输出伪随机数。这时,把伪随机数作为r比特的数据PS1106存储在检索客户端200的临时信息存储部280中(S1106)。
伪随机数输出部214输出的伪随机数不依存于连结数据1103、数据CS1105。因此,能够不依存于输入表格1022的输入信息地,每次生成数据值不同的数据PS1106。
关于数据PS1106,根据伪随机数生成函数的性质,输出随机数。另外,数据PS1106不依存于连结数据703、数据CS705。因此,数据PS1106不依存于输入表格1022的输入信息,能够每次生成数据值不同的数据FS1107。
检索客户端200的全体处理部211将数据PS1106、存储在参数存储部260中的函数参数261输入到准同型函数部216(S1107)。
检索客户端200的准同型函数部216进行以下处理:将输入的数据看作具有准同型的性质的函数的输入值,使用函数参数261,输出通过二进制列表现函数计算的输出值的准同型函数值。这时,把准同型函数值作为f比特的数据FS1107存储在检索客户端200的临时信息存储部280中(S1108)。
另外,在设准同型函数为func的情况下,对于作为其输入值的数据PS、作为输出值的数据FS,公式(5)成立(其中,省略函数参数261的记载)。
FS=func(PS)    (5)
对于数据FS1107,根据准同型函数部216进行处理的准同型函数的性质,在输入的数据值是均匀分布的随机数的情况下,输出也同样均匀分布。另外,数据FS1107不依存于连结数据1103、数据CS1104。因此,与数据HS1106同样地,能够不依存于输入表格1022的输入信息,每次生成数据值不同的数据FS1107。
图11C是表示在本实施方式中检索客户端200生成的连结数据1108的数据结构的框图。
检索客户端200的全体处理部211进行以下处理:将数据PS1106和数据FS1107连接,向基本运算部217输入生成的连结数据1104、数据CS1105(S1109)。
检索客户端200的基本运算部217进行以下处理:进行输入的连结数据1104与数据CS1105的每个比特的异或即XOR运算,将计算结果作为数据DS1110输出(S1110)。
S1110的计算使用不依存于连结数据1103、数据CS1105的作为随机数的数据PS1106。因此,在唯一地确定连结数据1103与数据CS1105的关系的情况下,如果每次使用数据值不同的数据PS1106,则能够得到不同的数据值的数据DS1110。
检索客户端200的全体处理部211进行以下处理:向加密部212输入将数据DS1110和数据FS1107连接后的数据即连结数据1108、存储在秘密密钥存储部250中的秘密密钥251(S1111)。
检索客户端200的加密部212对输入的数据进行加密,全体处理部211将加密后的数据作为隐匿检索查询1111存储到检索查询存储部230中(S1112)。
关于隐匿检索查询1111,由于将输入到加密部的连结数据看作随机数,因此输出的隐匿检索查询1111也同样看作随机数。因此,即使检索客户端200例如经由可能受到非法侵害的网络400向DB服务器300发送,隐匿检索查询1111也是安全的。
关于隐匿检索查询1111,使用了不依存于连结数据1103、数据CS1105的作为随机数的数据PS1106、数据FS1107,每次能够得到不同的数据值。结果,将数据DS1106和数据FS1107连接后的隐匿检索查询1111与连结数据1103、数据CR1105独立。即,能够不依存于输入表格1022的输入信息,每次生成数据值不同的隐匿检索查询1111。
另外,上述的处理步骤并不是固定的,也可以变更处理步骤。例如,可以变更S1109和S1110的处理步骤,在S1109中进行数据CS1105与数据PS1106的XOR运算后,在S1110中将数据FS1107和数据DS1110连接起来。同样,也可以变更其他处理步骤。
另外,承担上述各处理的控制部210并不是固定的,可以变更承担的控制部210。例如,可以在S1105中,不将秘密密钥251输入到伪随机数生成部214,而输入到压缩函数部215。
另外,也可以变更隐匿检索查询1111的数据结构,与之一起变更处理。例如,可以由全体处理部211进行以下处理:向加密部212输入数据FS1107、在秘密密钥存储部250中存储的秘密密钥251(S1111),将加密部输出的数据和数据DS1106连接后的数据看作隐匿检索查询1111(S1112)。
图12是表示在本实施方式中使用经由网络400检索客户端200发送的隐匿检索查询232,DB服务器300检索数据库341的处理的顺序图。
检索客户端200进行以下处理:将经由输入部201从用户输入到表格中的信息存储在临时信息存储部280中(S1201)。
检索客户端200进行以下处理:检测用户经由输入部201选择了检索按键1050的情况,将输入到表格的信息作为明文检索查询231存储到存储部220中(S1202)。
检索客户端200进行以下处理:通过控制部210生成隐匿检索查询232并存储到存储部220中(S1203)。
检索客户端200进行以下处理:从通信部203经由网络400向DB服务器300发送属性233和隐匿检索查询232(S1204)。
DB服务器300进行以下处理:从通信部303经由网络400接收检索客户端200发送的属性233和隐匿检索查询232(S1205)。
DB服务器300进行以下处理:通过控制部310使用属性233,从数据库341检索与隐匿检索查询332有关的隐匿登录数据902(1206)。
DB服务器300进行以下处理:从通信部303经由网络400向检索服务器发送与隐匿检索查询332相关的检索结果(抽取属性901和隐匿登录数据902的一部分)(S1207)。
检索客户端200进行以下处理:从通信部203经由网络400接收由DB服务器300发送的与隐匿检索查询232相关的检索结果(S1208)。
检索客户端200通过控制部210,从与隐匿检索查询232相关的检索结果,复原明文登录数据272(S1209)。
检索客户端200经由输出部202将抽出的明文登录数据272存储在存储部220中。另外,也可以进行以下处理:将抽出的明文登录数据272在输出部202上显示(S1210)。
在本实施方式中,以下S1206所示的DB服务器300的控制部310检索隐匿登录数据902的处理步骤按照S1301~S1318。
另外,DB服务器300的全体处理部311将与接收到的属性233相关的与数据库341的属性901关联的隐匿登录数据902作为检索对象。
图9B是使用图9A所示的结构图,示例在DB服务器300的存储部320的数据库存储部340中存储的数据库341中的检索对象的结构图。
例如,在接收到的属性233是与姓名有关的信息的情况下,如图9B的粗线的实线框围住的部分所示那样,DB服务器300的全体处理部311将与数据库341的姓名有关的属性901作为检索对象的隐匿登录数据902进行处理。
另外,以下,针对作为检索对象的全部隐匿登录数据902、或从作为检索对象的隐匿登录数据902中任意抽出的隐匿登录数据902、或一定数量的隐匿登录数据902,实施检索隐匿登录数据902的S1301~S1318的处理步骤。
图13A是表示在本实施方式中DB服务器300对从通信部303接收到的隐匿检索查询进行解密后的连结数据1301的数据结构的框图的例子。
另外,图13B是表示在本实施方式中DB服务器300存储在数据库存储部340中的数据库341中的隐匿登录数据1304的数据结构的框图的例子。
另外,图13C是表示在本实施方式中DB服务器300在使用连结数据1301检索隐匿登录数据1304的过程中生成的连结数据1308的数据结构的框图的例子。
另外,图13D是表示在本实施方式中DB服务器300在使用连结数据1301检索隐匿登录数据1304的过程中生成的连结数据1311的数据结构的框图的例子。
以下,使用图13A、图13B、图13C、图13D,说明DB服务器300即使每次使用数据值不同的连结数据1301也正确地检索隐匿登录数据1304的处理步骤。
DB服务器300的全体处理部311进行以下处理:使用通信部303接收隐匿检索查询1300。这时,DB服务器300的全体处理部311将隐匿检索查询1300存储在检索查询存储部330中。
DB服务器300的全体处理部311进行以下处理:向解密部313输入隐匿检索查询1300、存储在秘密密钥存储部350中的秘密密钥351(S1301)。
DB服务器300的解密部进行以下处理:对输入的隐匿检索查询1300进行解密,输出连结数据1301(S1302)。这时,如图13A所示,把连结数据1301作为由(h+f)比特的二进制表现构成的数据存储在DB服务器300的临时信息存储部280中。
DB服务器300的全体处理部311进行以下处理:从连结数据1301中取出数据DS1302(S1303)。
S1303例如如图13A所示那样,由DB服务器300的全体处理部311从连结数据1301中抽出与数据DS1302相关的最初的h比特即可。
DB服务器300的全体处理部311进行以下处理:读出在数据库存储部340中存储的数据库341中的隐匿登录数据1304,并从隐匿登录数据1304取出数据DR1306(S1304)。
S1304例如如图13B所示,DB服务器300的全体处理部311把从隐匿登录数据1304中去除了与数据PR1305相关的最初的r比特和与数据GR1307相关的最后的g比特后的数据看作数据DR1306来处理即可。
图13C是表示在本实施方式中DB服务器300生成的连结数据1308的数据结构的框图。
利用准同型函数部316,检查是否能够取得登录客户端100在数据CR705的概率性加密中利用的数据HR707和检索客户端200在数据CS1105的概率性加密中利用的数据PS1106的相关关系。
DB服务器300的全体处理部311进行以下处理:向基本运算部317输入数据DR711和DS1302(S1305)。
登录客户端100基本运算部117进行以下处理:进行所输入的数据DR1309和数据DS1310的每个比特的异或即XOR运算,将计算结果作为连结数据1308输出(S1306)。
在S1305和S1306中,导出用于隐藏登录客户端100在输入表格622中输入的信息的数据HR707和用于隐藏检索客户端200在输入表格1022中输入的信息的数据PS1106之间的关系式。
实际上,通过S1306的xor运算,在登录客户端100和检索客户端200的输入信息相等,即数据CS705和数据CR1105的数据值相等的情况下,能够导出以下的公式(6)。
DS xor DR=PS xor HR(其中,CS=CR时)    (6)
图13D是表示在本实施方式中DB服务器300生成的连结数据1311的数据结构的框图的例子。
DB服务器300的全体处理部311将连结数据1308、存储在参数存储部360中的函数参数361输入给准同型函数部316(S1307)。
DB服务器300的准同型函数部316进行以下处理:将输入的数据看作具有准同型的性质的函数的输入值,使用函数参数361,输出通过二进制列表现函数计算的输出值的准同型函数值。这时,把准同型函数值作为h比特的数据FD1312存储在DB服务器300的临时信息存储部380中(S1308)。
FD=F(PS xor HR)=FS xor FR    (7)
另外,根据公式(3)、公式(5)、公式(6)能够导出公式(7)。
DB服务器300的全体处理部311进行以下处理:从连结数据1301中取出数据FS1303(S1309)。
关于S1309,例如可以像图13A所示那样,DB服务器300从全体处理部311输入的连结数据1301中抽出与数据FS1303相关的最后的f比特。
DB服务器300的全体处理部311进行以下处理:将数据FD1312和数据FS1303输入到基本运算部317(S1310)。
DB服务器300的基本运算部317进行以下处理:进行输入的数据FD1312和数据FS1303的每个比特的异或即XOR运算,将其计算结果作为数据DD1313输出(S1311)。
在数据CS705和数据CR1105的数据值相同,即公式(7)成立的情况下,S1311的处理基于公式(8)。
DR=FD xor FS=FR    (8)
因此,在数据CS705和数据CR1105的数据值的情况下,数据DR1313的数据值与数据FR708相等。
DB服务器300的全体处理部311进行以下处理:向压缩函数部315输入数据DR1313(S1312)。
DB服务器300的压缩函数部315进行以下处理:对输入的数据进行变换,输出哈希值。这时,把哈希值作为g比特的数据GD1314存储在登录客户端100的临时信息存储部180中(S1313)。
DB服务器300的全体处理部311进行以下处理:将数据GD1314和数据GR1307输入到基本运算部317(S1314)。
DB服务器300的基本运算部317进行输入的数据GD1314和数据GR1307的每个比特的异或即XOR运算,将其计算结果作为数据ED1315而输出(S1315)。
在公式(5)成立的情况下,数据GD1314的数据值与数据GR1307相等,根据公式(9),数据ED1315的数据值为0。
GD xor GS=0    (9)
DB服务器300的全体处理部311判定任意数目的数据ED1315的比特值是否为0(S1316)。
在S1316中调查的数据ED1315的数据值不为0的情况下,DB服务器300的全体处理部311判断为隐匿检索查询1300和隐匿登录数据1304没有关系。这时,直到作为检索对象的全部隐匿登录数据1304、或从作为检索对象的隐匿登录数据1304中任意地抽出的全部隐匿登录数据1304、或检索到的隐匿登录数据1304达到一定数量为止,DB服务器300的控制部310返回S1304,继续进行检索隐匿登录数据1304的处理(S1317)。
在S1316中调查的数据ED1315的数据值为0的情况下,DB服务器300的全体处理部311判断为隐匿检索查询1300和隐匿登录数据1304具有关系。这时,将判断出的隐匿登录数据1304和关联的属性901所对应的隐匿登录数据1304看作与隐匿检索查询1300相关的检索结果(S1318)。
例如,如图9B所示,作为检索结果,检索出的属性901是与姓名有关的信息,DB服务器300的全体处理部311判断为与隐匿检索查询1300有关系的隐匿登录数据1304是dk+1的情况下,将判断出的隐匿登录数据1304即dk+1、属性901所对应的图9B的粗框的虚线所围住的隐匿登录数据1304(dk、dk+2、dk+3、……)看作与隐匿检索查询1300相关的检索结果。
如上所示,在登录客户端100每次生成具有不同的数据值的隐匿登录数据712,检索客户端200每次生成具有不同的数据值的隐匿检索查询1111的情况下,也能够正确地检索与接收到的隐匿检索查询1300相关的隐匿登录数据1304。
另外,如公式(6)所示,在检索过程中,数据CS705和数据CR1105的数据值相互抵消,不向DB服务器300泄露数据CS705和数据CR1105的数据值。
另外,上述的处理步骤并不是固定的,也可以变更处理步骤。例如,可以分别变更S1303和S1305、S1304和S1306的处理步骤,在S1304中取出数据DR1306,在S1306中取出数据DS1302。同样,也可以变更其他处理步骤。
另外,承担上述各处理的控制部310并不是固定的,可以变更进行承担的控制部310。例如,可以在DB服务器300具备加密部312的情况下,在S1312中不将数据DR1313输入到压缩函数部315而输入到加密部312,可以在S1314中,将从加密部312输出的数据作为数据GD1314存储在临时信息存储部380中。
另外,也可以变更与检索处理相关的判定基准。例如可以在S1316中,不是判定数据ED1315的任意比特等于0,而是使用可变更的确定的值与数据ED1315的数据值的大小关系等的判定式来进行判定。
另外,也可以变更与隐匿检索查询1301相关的隐匿登录数据1304的数据结构,来构成检索结果。例如,可以构成为在检索结果中不包含与数据GR1307有关的信息。
另外,如果DB服务器300具备伪随机数生成部314,则也可以由全体处理部311向伪随机数生成部314输入秘密密钥351,将取代数据GR1307而与伪随机数生成部314输出的伪随机数连接后的数据作为与隐匿检索查询1301相关的隐匿登录数据1304包含在检索结果中。另外,也可以将数据GR1307和伪随机数一起作为与隐匿检索查询1301相关的隐匿登录数据1304包含在检索结果中,还可以代替伪随机数而使用普通的索引。
另外,如果DB服务器300具备加密部313,则也可以由全体处理部311将与隐匿检索查询1301相关的隐匿登录数据1304、秘密密钥351输入到加密部313,将输出的数据看作检索结果。在将与隐匿检索查询1301相关的隐匿登录数据1304与伪随机数或普通的索引连接起来的情况下,向加密部313的输入值随时间变化,因此,将加密部313输出的数据看作随机数。因此,即使DB服务器300例如经由可能受到非法侵害的网络400向检索客户端200发送,检索结果也是安全的。
在本实施方式中,S1209所示的检索客户端200的控制部210对接收到全部的隐匿登录数据1304或一部分的隐匿登录数据1304进行解密,抽出明文登录数据272的处理步骤按照以下S1401~S1411的处理步骤。
图14A是表示在本实施方式中检索客户端200从通信部203接收到的隐匿登录数据1401的数据结构的框图的例子。
另外,图14B是表示在本实施方式中在DB服务器300对隐匿登录数据1401进行解密的过程中生成的数据CR1405的数据结构的框图的例子。
另外,图14C是表示在本实施方式中在DB服务器300对隐匿登录数据1401进行解密的过程中生成的连结数据1409的数据结构的框图的例子。
以下,使用图14A、图14B、图14C、图14D,说明检索客户端200从隐匿登录数据1401解密明文登录数据1410的处理步骤。
检索客户端200的全体处理部211进行以下处理:使用通信部203接收隐匿登录数据1401。这时,检索客户端200将登录数据1401作为由(r+h+g)比特的二进制表现构成的数据而存储在检索查询存储部230中。
检索客户端200的全体处理部211进行以下处理:从隐匿登录数据1401中取出数据PR1402(S1401)。
S1401例如如图14所示那样,由检索客户端200从全体处理部211所输入的隐匿登录数据1401中抽出与数据PR1402相关的最初的r比特即可。
检索客户端200的全体处理部211进行以下处理:从秘密密钥存储部250中读出秘密密钥251,将秘密密钥251和数据PR1402输入到压缩函数部215(S1402)。
检索客户端200的压缩函数部215进行以下处理:对输入的数据进行变换,输出哈希值(S1403)。这时,把哈希值作为h比特的数据HS1407存储在检索客户端200的临时信息存储部280中。
图14B是表示在本实施方式中由DB服务器300生成的数据CR1405的数据结构的框图。
检索客户端200的全体处理部211进行以下处理:向基本运算部217输入数据DR1403和数据HS1407(S1404)。
检索客户端200的基本运算部217进行所输入的数据DR1403和数据HS1407的每个比特的异或即XOR运算,将其计算结果作为数据CR1405而输出(S1405)。
在S1407的xor计算中,数据HR1407和数据DR1403和数据CR1405满足公式(10)。
CR=HR xor DR    (10)
另外,公式(10)是对公式(4)进行变形后的公式。
检索客户端200的全体处理部211进行以下处理:向解密部213输入基本运算部217所输出的数据、在秘密密钥存储部250中存储的秘密密钥251(S1406)。
检索客户端200的解密部进行以下处理:对输入的数据CR1405进行解密,输出连结数据1409(S1407)。这时,如图14C所示,把连结数据1409作为(m+e)比特的数据存储到检索客户端200的临时信息存储部280中。
检索客户端200的全体处理部211进行以下处理:从连结数据1409中取出错误检查数据1411(S1408)。
例如,如图14C所示那样,由检索客户端200从全体处理部211所输入的连结数据1403中抽出数据结尾的e比特,看作错误检查数据1411即可。
检索客户端200的全体处理部211进行以下处理:读入存储在参数存储部260中的检查参数262,向基本运算部217输入变换为检查用数据后的数据、错误检查数据1411(S1409)。
检索客户端200的基本运算部217进行以下处理:对输入的变换为检查用的数据、错误检查数据1411进行比较,输出该比较结果(S1410)。
例如,如果用二进制列表示的检查用数据和错误检查数据相等,则输出表示等号的比特(1),在不相等的情况下,输出表示不相等的比特(0)。
例如,在基本运算部217输出了表示等号的比特(1)的情况下,检索客户端200的全体处理部211判断为是正确的检索结果。另外,在基本运算部217输出了表示不等号的比特(0)的情况下,DB服务器300的全体处理部311判断为是错误的检索结果。
检索客户端200的全体处理部211与基本运算部217输出的结果对应地,将从连结数据1402中抽出的明文登录数据1410作为检索结果,结束复原明文登录数据1410的处理(S1209)(S1411)。例如,如图14C所示那样,检索客户端200从全体处理部211所输入的连结数据1409中,将数据最初的m比特看作明文登录数据1410。
另外,在希望DB服务器300针对非法的对策完全的情况下,也可以进行处理,从DB服务器300中删除与检索相关的检索结果,在随机地打乱解码后的明文登录数据1410的顺序后,从检索客户端200或登录客户端100将隐匿登录数据再登录到DB服务器300中。
符号说明
100:登录客户端;200:检索客户端;300:DB服务器;400:网络;500:计算机;101、201、301:输入部;102、202、302:输出部;103、203、303:通信部;110、210、310:控制部;111、211、311:全体处理部;112、212:加密部;213、313:解密部;114、214:伪随机数生成部;115、215、315:压缩函数部;116、216、316:准同型函数部;117、217、317:基本运算部;120、220、320:存储部;130:登录数据存储部;131、272、701、1410:明文登录数据;132、271、712、1304、1401:隐匿登录数据;133、233:属性;230、330:检索查询存储部;231、1101:明文检索查询;232、332、1111、1300:隐匿检索查询;340:数据库存储部;341:数据库;150、250、350:秘密密钥存储部;151、251、351:秘密密钥;160、260、360:参数存储部;161、261、361:函数参数;162、262:检查参数;270:接收数据存储部;180、280、380:临时信息存储部;501:CPU(中央处理单元);502:存储器;503:外部存储装置;508:存储介质;507:读写装置;506:输入装置;505:输出装置;504:通信装置;509:内部通信线;600:输出部101的显示内容;610:管理方法的选择部;620:管理表格部;621、1011:属性;622、1022:输入表格;650:执行按钮;660、1060:清除按钮;1000:输出部102的显示内容;1010:检索项目部;1020:检索表格部;1050:检索按钮;702、1411:错误检查数据;703、704、1103、1104、1108、1301、1308、1311、1409:连结数据;705:数据CR;706:数据PR;707:数据HR;708:数据FR;709:数据GR;711:数据DR;1102:错误检查数据;1105:数据CS;1106:数据PS;1107:数据FS;1110:数据DS;1302:数据DS;1303:数据FS;1305:数据PR;1306:数据DR;1307:数据GR;1309:数据DR;1310:数据DS;1312:数据FD;1313:数据DD;1314:数据GD;1315:数据ED;1402:数据PR;1403:数据DR;1404:数据GR;1405:数据CR;1407:数据HS

Claims (10)

1.一种可检索密码处理系统,其包含存储通过概率性加密方式加密后的登录数据的DB服务器以及检索客户端,
依照从上述检索客户端接收到的要求检索上述DB服务器所存储的数据的检索查询,不解除上述DB服务器所存储的上述数据的加密地进行检索,所述可检索密码处理系统的特征在于,
上述概率性加密方式是根据相同的数据值的明文生成不同的数据值的密文的数据的加密方式,
上述检索客户端具备:存储部,其存储上述检索查询;控制部,其对上述检索查询进行加密;通信部,其发送加密后的上述检索查询,
上述检索客户端的上述控制部具备:随机数生成部,其生成第一随机数;基本运算部,其根据上述第一随机数通过上述概率性加密方式对上述检索查询进行加密;准同型函数部,其以上述第一随机数为输入值并以准同型函数的函数值为输出值,
上述检索客户端中的上述控制部具备:压缩函数部,其对上述准同型函数部输出的上述函数值进行变换,输出哈希值,
上述DB服务器具备:通信部,其接收上述检索查询;存储部,其存储加密后的上述检索查询和加密后的上述登录数据;控制部,其确定所存储的上述登录数据是否与上述检索查询相关,
上述DB服务器的上述控制部具备:全体处理部,其导出加密后的上述登录数据和加密后的上述检索查询的随机数的相关;准同型函数部,其以上述相关为输入值并以准同型函数的函数值为输出值,
上述检索客户端所发送的加密后的上述检索查询通过上述基本运算部对通过上述概率性加密方式加密后的密文和上述压缩函数部输出的上述哈希值所构成的数据进行加密。
2.一种可检索密码处理系统,其包含存储通过概率性加密方式加密后的登录数据的DB服务器以及检索客户端,
依照从上述检索客户端接收到的要求检索上述DB服务器所存储的数据的检索查询,不解除上述DB服务器所存储的上述数据的加密地进行检索,所述可检索密码处理系统的特征在于,
上述概率性加密方式是根据相同的数据值的明文生成不同的数据值的密文的数据的加密方式,
上述检索客户端具备:存储部,其存储上述检索查询;控制部,其对上述检索查询进行加密;通信部,其发送加密后的上述检索查询,
上述检索客户端的上述控制部具备:随机数生成部,其生成随机数;基本运算部,其根据上述随机数通过上述概率性加密方式对上述检索查询进行加密;准同型函数部,其以上述随机数为输入值并以准同型函数的函数值为输出值,
上述DB服务器具备:通信部,其接收上述检索查询;存储部,其存储加密后的上述检索查询和加密后的上述登录数据;控制部,其确定所存储的上述登录数据是否与上述检索查询相关,
上述DB服务器的上述控制部具备:全体处理部,其导出加密后的上述登录数据和加密后的上述检索查询的随机数的相关;准同型函数部,其以上述相关为输入值并以准同型函数的函数值为输出值,
上述检索客户端所发送的加密后的上述检索查询通过上述基本运算部对由通过上述概率性加密方式加密后的上述数据和上述准同型函数部输出的上述函数值构成的数据进行加密。
3.根据权利要求1所述的可检索密码处理系统,其特征在于,
具有通过上述概率性加密方式对上述登录数据进行加密的登录客户端,
上述DB服务器的上述通信部接收加密后的上述登录数据,上述DB服务器的上述存储部存储上述登录数据,
上述登录客户端具备:存储部,其存储上述登录数据;控制部,其对上述登录数据进行加密;通信部,其发送加密后的上述登录数据,
上述登录客户端的上述控制部具备:随机数生成部,其生成第二随机数;基本运算部,其根据上述第二随机数通过上述概率性加密方式对上述登录数据进行加密;准同型函数部,其以上述第二随机数为输入值并以准同型函数的函数值为输出值。
4.根据权利要求3所述的可检索密码处理系统,其特征在于,
上述登录客户端所发送的加密后的上述登录数据由上述随机数部输出的上述第二随机数、由上述基本运算部通过上述概率性加密方式加密后的密文、上述准同型函数部输出的上述函数值构成。
5.根据权利要求4所述的可检索密码处理系统,其特征在于,
上述DB服务器的上述通信部发送与上述检索查询相关的加密后的上述登录数据,
上述检索客户端的上述通信部接收加密后的上述登录数据,上述检索客户端的上述控制部对上述登录数据进行解密,
上述检索客户端的上述控制部具备:压缩函数部,其输出对加密后的上述登录数据进行加密后的第三随机数,上述检索客户端的上述基本运算部解除上述登录数据的加密。
6.根据权利要求5所述的可检索密码处理系统,其特征在于,
上述DB服务器的上述基本运算部从上述登录数据中抽出任意的数据,从上述压缩函数部输出的上述第三随机数检查指定的数据长度。
7.根据权利要求6所述的可检索密码处理系统,其特征在于,
上述登录客户端的上述存储部存储能够输入到上述登录客户端的上述准同型函数部的函数参数,
上述检索客户端的上述存储部存储能够输入到上述检索客户端的上述准同型函数部的函数参数,
上述DB服务器的上述存储部存储能够输入到上述DB服务器的上述准同型函数部的函数参数。
8.根据权利要求7所述的可检索密码处理系统,其特征在于,
上述检索客户端的上述存储部存储解除了加密的上述登录数据的检查用的参数,
上述检索客户端具备:全体处理部,其从解除了加密的上述登录数据中抽出检查用的数据,检查与上述检查用的参数的关系。
9.根据权利要求8所述的可检索密码处理系统,其特征在于,
上述登录客户端具备:加密部,其通过决定性加密方式对上述登录数据进行加密,
上述决定性加密方式是从相同的数据值的明文生成数据值相等的密文的数据的加密方式。
10.根据权利要求9所述的可检索密码处理系统,其特征在于,
上述登录客户端的上述存储部存储没有加密的登录用的数据,
具备:全体控制部,其从存储在上述登录客户端的上述存储部中的检查用的参数中抽出错误检查用的数据,并使其与上述登录用的数据结合。
CN201180046068.8A 2010-12-08 2011-11-29 可检索密码处理系统 Active CN103119594B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-273556 2010-12-08
JP2010273556A JP5412414B2 (ja) 2010-12-08 2010-12-08 検索可能暗号処理システム
PCT/JP2011/077588 WO2012077541A1 (ja) 2010-12-08 2011-11-29 検索可能暗号処理システム

Publications (2)

Publication Number Publication Date
CN103119594A true CN103119594A (zh) 2013-05-22
CN103119594B CN103119594B (zh) 2016-05-18

Family

ID=46207032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180046068.8A Active CN103119594B (zh) 2010-12-08 2011-11-29 可检索密码处理系统

Country Status (6)

Country Link
US (1) US9275250B2 (zh)
EP (2) EP2650798A4 (zh)
JP (1) JP5412414B2 (zh)
KR (1) KR101467130B1 (zh)
CN (1) CN103119594B (zh)
WO (1) WO2012077541A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107210004A (zh) * 2015-01-15 2017-09-26 三菱电机株式会社 随机数扩展装置、随机数扩展方法和随机数扩展程序
CN110062941A (zh) * 2016-12-20 2019-07-26 日本电信电话株式会社 消息发送系统、通信终端、服务器装置、消息发送方法以及程序

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012115031A1 (ja) * 2011-02-22 2012-08-30 三菱電機株式会社 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム
JP5526284B2 (ja) * 2011-03-04 2014-06-18 日本電信電話株式会社 代理計算システム、方法、依頼装置及びプログラム
JP5622714B2 (ja) * 2011-12-27 2014-11-12 株式会社東芝 情報処理装置および電力利用調整システム
US9087212B2 (en) * 2012-01-25 2015-07-21 Massachusetts Institute Of Technology Methods and apparatus for securing a database
EP2808803B1 (en) 2012-01-25 2017-03-01 Mitsubishi Electric Corporation Data search device, data search method, data search program, data registration device, data registration method, data registration program and information processing device
CA2877082C (en) * 2012-06-18 2021-06-08 Ologn Technologies Ag Secure password management systems, methods and apparatuses
US9665722B2 (en) * 2012-08-10 2017-05-30 Visa International Service Association Privacy firewall
EP2933732A4 (en) * 2012-12-12 2016-07-27 Nec Corp DATABASE SEARCH, DATABASE SEARCH AND PROGRAM
JP2014119486A (ja) 2012-12-13 2014-06-30 Hitachi Solutions Ltd 秘匿検索処理システム、秘匿検索処理方法、および秘匿検索処理プログラム
JP5889177B2 (ja) * 2012-12-25 2016-03-22 株式会社日立製作所 データベースシステム及びその更新方法
EP2960808A4 (en) * 2013-02-25 2016-10-26 Mitsubishi Electric Corp SERVER DEVICE, PRIVATE SEARCH PROGRAM, RECORDING MEDIA AND PRIVATE SEARCH SYSTEM
US9286488B2 (en) * 2013-03-13 2016-03-15 Northrop Grumman Systems Corporation System and method for secure database queries
US9654472B2 (en) 2013-06-18 2017-05-16 Hitachi, Ltd. Storage count verification system
US10122714B2 (en) 2013-08-01 2018-11-06 Bitglass, Inc. Secure user credential access system
US9553867B2 (en) 2013-08-01 2017-01-24 Bitglass, Inc. Secure application access system
US9552492B2 (en) * 2013-08-01 2017-01-24 Bitglass, Inc. Secure application access system
JP6144992B2 (ja) * 2013-08-08 2017-06-07 株式会社日立製作所 検索可能暗号処理システム及び方法
JP5937556B2 (ja) * 2013-09-30 2016-06-22 日本電信電話株式会社 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム
JPWO2015063905A1 (ja) * 2013-10-31 2017-03-09 株式会社日立製作所 データ分析システム
JP6208586B2 (ja) 2014-01-16 2017-10-04 株式会社日立製作所 検索可能暗号処理システムおよび検索可能暗号処理方法
US9363243B2 (en) 2014-03-26 2016-06-07 Cisco Technology, Inc. External indexing and search for a secure cloud collaboration system
US10693626B2 (en) * 2014-04-23 2020-06-23 Agency For Science, Technology And Research Method and system for generating/decrypting ciphertext, and method and system for searching ciphertexts in a database
US9558366B2 (en) * 2014-05-12 2017-01-31 Compugroup Medical Se Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
KR101583311B1 (ko) * 2014-08-28 2016-01-08 고려대학교 산학협력단 키 교환 방법 및 바디 센서
WO2016063344A1 (ja) * 2014-10-21 2016-04-28 三菱電機株式会社 サーバ装置及び検索システム及び端末装置及び検索方法及びサーバプログラム及び端末プログラム
JP6738061B2 (ja) * 2014-11-05 2020-08-12 日本電気株式会社 暗号文照合システム、方法、および記録媒体
EP3217293B1 (en) * 2014-11-07 2019-05-08 Hitachi, Ltd. Method for retrieving encrypted graph, system for retrieving encrypted graph, and computer
US9537838B2 (en) 2014-12-22 2017-01-03 Sap Se Adjustable proxy re-encryption
US9547720B2 (en) 2014-12-24 2017-01-17 Sap Se Access control for encrypted query processing
US20170308580A1 (en) * 2015-01-26 2017-10-26 Hitachi, Ltd. Data Aggregation/Analysis System and Method Therefor
JP6400743B2 (ja) 2015-02-10 2018-10-03 株式会社RNAi 端末装置、データベースサーバおよび計算システム
US11775656B2 (en) 2015-05-01 2023-10-03 Micro Focus Llc Secure multi-party information retrieval
KR102423885B1 (ko) * 2015-05-08 2022-07-21 한국전자통신연구원 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템
US10176207B1 (en) 2015-06-09 2019-01-08 Skyhigh Networks, Llc Wildcard search in encrypted text
US10404669B2 (en) 2015-06-09 2019-09-03 Skyhigh Networks, Llc Wildcard search in encrypted text
CN104978536B (zh) * 2015-07-08 2018-04-17 合肥高维数据技术有限公司 一种隐私保护云图像管理系统
US9894042B2 (en) * 2015-07-24 2018-02-13 Skyhigh Networks, Inc. Searchable encryption enabling encrypted search based on document type
WO2017029108A1 (en) * 2015-08-18 2017-02-23 Nokia Solutions And Networks Oy Method and system for database queries
JP6961324B2 (ja) * 2015-08-25 2021-11-05 株式会社日立製作所 検索可能暗号処理システム
JP6701646B2 (ja) * 2015-09-02 2020-05-27 富士通株式会社 情報処理装置、情報処理システム及び情報管理方法
JP5969681B1 (ja) * 2015-10-30 2016-08-17 株式会社第一コンピュータサービス 秘密情報管理システム
WO2017082875A1 (en) 2015-11-10 2017-05-18 Hewlett Packard Enterprise Development Lp Data allocation based on secure information retrieval
WO2017122326A1 (ja) 2016-01-14 2017-07-20 三菱電機株式会社 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム
EP3392865B1 (en) 2016-01-15 2021-06-02 Mitsubishi Electric Corporation Encryption device, encryption method, and encryption program
WO2017126000A1 (ja) * 2016-01-18 2017-07-27 三菱電機株式会社 暗号化装置、検索装置、暗号化プログラム、検索プログラム、暗号化方法及び検索方法
US10789374B2 (en) 2016-03-28 2020-09-29 Hitachi, Ltd. Database system and data retrieval method
DE112017003740T5 (de) * 2016-08-24 2019-05-09 Robert Bosch Gmbh Durchsuchbare-Symmetrische-Verschlüsselung-System und Verfahren zum Verarbeiten eines invertierten Indexes
US11080301B2 (en) 2016-09-28 2021-08-03 Hewlett Packard Enterprise Development Lp Storage allocation based on secure data comparisons via multiple intermediaries
US10230703B1 (en) 2016-10-27 2019-03-12 Cisco Technology, Inc. Providing multiple levels of group access to partial data objects
JP6653246B2 (ja) * 2016-12-08 2020-02-26 株式会社日立製作所 計算機システム及びデータ管理方法
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
US11106740B2 (en) 2017-04-25 2021-08-31 Mitsubishi Electric Corporation Search device, search system, search method, and computer readable medium
CN110612563B (zh) 2017-05-18 2023-05-12 三菱电机株式会社 检索装置、隐匿检索系统以及计算机能读取的存储介质
US10846423B2 (en) * 2017-08-11 2020-11-24 Palo Alto Research Center Incorporated System and architecture for analytics on encrypted databases
WO2019053778A1 (ja) 2017-09-12 2019-03-21 三菱電機株式会社 登録端末、検索端末、検索サーバ、検索システム、登録プログラム及び検索プログラム
JP6619401B2 (ja) * 2017-09-21 2019-12-11 三菱スペース・ソフトウエア株式会社 データ検索システム、データ検索方法およびデータ検索プログラム
US11138152B2 (en) 2017-10-11 2021-10-05 Lognovations Holdings, Llc Method and system for content agnostic file indexing
US10963429B2 (en) 2017-10-11 2021-03-30 Lognovations Holdings, Llc Method and system for content agnostic file indexing
US10866822B2 (en) * 2017-11-28 2020-12-15 Bank Of America Corporation Computer architecture for emulating a synchronous correlithm object processing system
GB201720341D0 (en) * 2017-12-06 2018-01-17 Trisent Communications Ltd Personal data management
WO2019142268A1 (ja) 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
JP6840692B2 (ja) 2018-02-22 2021-03-10 株式会社日立製作所 計算機システム、接続装置、及びデータ処理方法
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
JP7249248B2 (ja) * 2019-08-30 2023-03-30 株式会社日立製作所 秘匿情報処理システム及び秘匿情報処理方法
US11436351B1 (en) * 2019-12-18 2022-09-06 Bae Systems Information And Electronic Systems Integration Inc. Homomorphic encryption of secure data
JP7325396B2 (ja) 2020-12-25 2023-08-14 株式会社日立製作所 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法
KR102401485B1 (ko) * 2021-12-30 2022-05-24 주식회사 디사일로 동형 암호화된 데이터 처리 방법 및 시스템
KR102613985B1 (ko) 2023-03-31 2023-12-14 고려대학교산학협력단 탐색 가능한 암호화에서 역방향 안정성 하향 공격에 대한 방어 방법, 장치 및 시스템
KR102613986B1 (ko) 2023-03-31 2023-12-14 고려대학교산학협력단 신뢰 실행 환경 기반의 동적 탐색 가능한 암호화에서 정보 유출을 최소화하는 방법, 장치 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010019614A1 (en) * 2000-10-20 2001-09-06 Medna, Llc Hidden Link Dynamic Key Manager for use in Computer Systems with Database Structure for Storage and Retrieval of Encrypted Data
CN1408163A (zh) * 1999-11-04 2003-04-02 米雷波因特公司 电子消息传递系统方法和装置
JP2007114494A (ja) * 2005-10-20 2007-05-10 Nippon Telegr & Teleph Corp <Ntt> 秘匿計算方法及び装置
US20090300351A1 (en) * 2008-05-30 2009-12-03 Nec (China) Co., Ltd. Fast searchable encryption method
CN101739400A (zh) * 2008-11-11 2010-06-16 日电(中国)有限公司 生成索引的方法和装置以及检索方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278970A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd 文書管理システム
US7472105B2 (en) * 2004-10-19 2008-12-30 Palo Alto Research Center Incorporated System and method for providing private inference control
US8819451B2 (en) * 2009-05-28 2014-08-26 Microsoft Corporation Techniques for representing keywords in an encrypted search index to prevent histogram-based attacks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1408163A (zh) * 1999-11-04 2003-04-02 米雷波因特公司 电子消息传递系统方法和装置
US20010019614A1 (en) * 2000-10-20 2001-09-06 Medna, Llc Hidden Link Dynamic Key Manager for use in Computer Systems with Database Structure for Storage and Retrieval of Encrypted Data
JP2007114494A (ja) * 2005-10-20 2007-05-10 Nippon Telegr & Teleph Corp <Ntt> 秘匿計算方法及び装置
US20090300351A1 (en) * 2008-05-30 2009-12-03 Nec (China) Co., Ltd. Fast searchable encryption method
CN101739400A (zh) * 2008-11-11 2010-06-16 日电(中国)有限公司 生成索引的方法和装置以及检索方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107210004A (zh) * 2015-01-15 2017-09-26 三菱电机株式会社 随机数扩展装置、随机数扩展方法和随机数扩展程序
CN110062941A (zh) * 2016-12-20 2019-07-26 日本电信电话株式会社 消息发送系统、通信终端、服务器装置、消息发送方法以及程序
CN110062941B (zh) * 2016-12-20 2022-07-15 日本电信电话株式会社 消息发送系统及方法、通信终端、服务器装置、记录介质

Also Published As

Publication number Publication date
KR20130056314A (ko) 2013-05-29
EP2650798A4 (en) 2016-01-27
EP3012754A1 (en) 2016-04-27
EP3012754B1 (en) 2019-10-09
KR101467130B1 (ko) 2014-11-28
US9275250B2 (en) 2016-03-01
JP2012123614A (ja) 2012-06-28
JP5412414B2 (ja) 2014-02-12
US20130262863A1 (en) 2013-10-03
WO2012077541A1 (ja) 2012-06-14
EP2650798A1 (en) 2013-10-16
CN103119594B (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN103119594A (zh) 可检索密码处理系统
CN110326253B (zh) 用于对加密数据进行模糊关键字搜索的方法和系统
US10778441B2 (en) Redactable document signatures
US10489604B2 (en) Searchable encryption processing system and searchable encryption processing method
US11709948B1 (en) Systems and methods for generation of secure indexes for cryptographically-secure queries
US8930691B2 (en) Dynamic symmetric searchable encryption
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
CN108334612A (zh) 一种针对密文域的形近汉字全文模糊检索方法
CN111026788B (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
US8600048B1 (en) Format-translating encryption systems
CN106776904A (zh) 一种不可信云计算环境中支持动态验证的模糊查询加密方法
CN110084599B (zh) 密钥处理方法、装置、设备和存储介质
JP2004523183A (ja) データ、情報および機能変換のカモフラージュのための方法および装置
CN109412791B (zh) 密钥信息处理方法、装置、电子设备及计算机可读介质
CN111552988A (zh) 基于蒙特卡罗抽样的前向安全k近邻检索方法及系统
US11281688B2 (en) Ranking and de-ranking data strings
CN114021163A (zh) 隐藏增删关联的动态对称可搜索加密方法及系统
CN113257375A (zh) 突发急性传染病数据脱敏方法
JP6780428B2 (ja) 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置
Alfawair et al. Secure Image Indexing Using Speeded Up Robust Features (SURF) Key Points and SHAKE256 Hashing
US11816242B2 (en) Log compression and obfuscation using embeddings
KR101321800B1 (ko) 대표값 치환을 이용한 데이터 보호 방법 및 장치
Setiawaty et al. The Implementation of the RC4 algorithm For Sale and Purchase Agreements Data Security On Notary Office
CN115757591A (zh) 一种基于多数据源的资料库管理系统、方法、设备和介质
Mohammed et al. Index seek technique for Querying Encrypted Databases

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant