一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息处理装置、终端装置和搜索方法与流程

2022-06-18 09:52:34 来源:中国专利 TAG:


1.本公开涉及信息处理装置、终端装置和搜索方法。


背景技术:

2.当在提供网络上的存储的服务中保存文档时,执行加密,使得提供该服务的操作者不能找到文档的内容。如果要对保存在该服务中的文档执行搜索,则通过使用能搜索的加密对文档进行加密,这使得能够以加密状态进行搜索。此外,已知在文档单元中管理能够在加密文档被共享的情况下访问文档的用户的能搜索的加密。
3.引用列表
4.非专利文献
5.非专利文献1:sarvar patel等两篇,“symmetric searchable encryption with sharing and unsharing”,[在线],2017年10月3日,esorics 2018,[2019年10月23日],网络《https://eprint.iacor.org/2017/973.pdf》


技术实现要素:

[0006]
技术问题
[0007]
然而,由于上述传统技术使用用于能搜索的加密的组的计算,计算成本变高。因此,难以加速关于加密文档的关键字搜索。
[0008]
因此,本公开提出了能够以高速执行加密文档的关键字搜索的信息处理装置、终端装置和搜索方法。
[0009]
问题的解决方案
[0010]
根据本公开,一种信息处理装置包括获取单元,从第二用户的第二终端装置获取加密搜索索引和搜索文档的第二用户的标识符,使用从拥有所述文档的第一用户的第一终端装置获取的共享密钥和验证密钥,通过能搜索的加密对搜索关键字的所述加密搜索索引进行加密;测试单元,基于所获取的第二用户的标识符从数据库中获取在第一终端装置中生成的加密文档索引,并且加密文档索引包括在文档中包括的、并且通过能搜索的加密而被加密的关键字,测试单元获取被加密并且与加密文档索引相关联的文档的加密文档,获取对应于第二用户的测试密钥,数据库注册有对应于第二用户的测试密钥和重加密密钥,并且测试单元通过使用测试密钥对加密搜索索引进行测试;生成单元,基于所获取的第二用户的标识符从数据库获取对应于第二用户的重加密密钥,通过使用测试的加密搜索索引从数据库搜索加密的文档,并通过重加密密钥对搜索加密文档进行加密以生成搜索结果。
附图说明
[0011]
图1是示出根据本公开的实施方式的搜索系统的配置的示例的示图。
[0012]
图2是示出根据本公开的实施方式的文档所有者用户的终端装置的配置的示例的示图。
[0013]
图3是示出根据本公开的实施方式的文档搜索用户的终端装置的配置的示例的示图。
[0014]
图4是示出根据本公开的实施方式的服务器的配置的示例的示图。
[0015]
图5是示出加密文档索引存储单元的示例的示图。
[0016]
图6是描述文档的注册的示例的示图。
[0017]
图7是描述文档所有者用户执行搜索的情况的示例的示图。
[0018]
图8是描述文档搜索用户执行搜索的情况的示例的示图。
[0019]
图9是示出文档搜索过程的示例的序列图。
[0020]
图10是示出实现信息处理装置的功能的计算机的示例的硬件配置图。
具体实施方式
[0021]
在下文中,将基于附图详细地描述本公开的实施方式。在下面的实施例中,相同的部件用相同的附图标记表示,以省略冗余的描述。
[0022]
本公开根据以下所示的项目的顺序进行描述。
[0023]
1.实施例
[0024]
1-1.根据实施方式的系统的配置
[0025]
1-2.根据实施例的文档所有者用户的终端装置的结构
[0026]
1-3.根据实施例的文档搜索用户的终端装置的配置
[0027]
1-4.根据实施例的服务器的配置
[0028]
1-5.文档所有者用户的注册和搜索
[0029]
1-6.文档搜索用户的搜索
[0030]
1-7.根据实施方式的信息处理的过程
[0031]
2.实施方式的变形例
[0032]
3.硬件配置
[0033]
4.效果
[0034]
(1.实施方式)
[0035]
[1-1.根据实施方式的系统的配置]
[0036]
图1是示出根据本公开的实施方式的搜索系统的配置的示例的示图。如图1所示,搜索系统1具有终端装置10、终端装置50和服务器100。终端装置10、终端装置50和服务器100例如通过未示出的网络连接。
[0037]
终端装置10是文档所有者用户所拥有的信息处理装置,将加密的文档发送到服务器100,并且使服务器保存文档。服务器100是通过网络提供存储的信息处理装置,并且以可搜索状态存储从终端装置10接收的加密文档。终端装置50是文档搜索用户所拥有的信息处理装置,并且通过使用从终端装置10获取的密钥,获取并且解密存储在服务器100中的加密文档。终端装置10具有密钥管理单元20、文档注册单元30和许可单元40。终端装置50具有密钥管理单元60和搜索单元70。服务器100具有密钥管理单元110、文档注册单元120和搜索单元130。注意,稍后将描述每个装置的细节。
[0038]
[1-2.根据实施例的文档所有者用户的终端装置的结构]
[0039]
图2是示出根据本公开的实施方式的文档所有者用户的终端装置的配置的示例的
示图。如图2所示,终端装置10具有密钥管理单元20、文档注册单元30和许可单元40。
[0040]
密钥管理单元20生成用于生成关于文档中的关键字的加密索引的共享密钥和认证密钥,生成加密或解密文档的文档密钥,并且存储所生成的密钥。密钥管理单元20具有共享密钥生成单元21、共享密钥存储单元22、认证密钥生成单元23、认证密钥存储单元24、文档密钥生成单元25和文档密钥存储单元26。
[0041]
共享密钥生成单元21生成具有预定长度(位数)的随机数序列作为共享密钥k。共享密钥生成单元21将生成的共享密钥k存储在共享密钥存储单元22中。
[0042]
认证密钥生成单元23生成具有预定长度(位数)的随机数序列作为认证密钥k’。认证密钥生成单元23将生成的认证密钥k’存储在认证密钥存储单元24中。
[0043]
文档密钥生成单元25基于具有预定长度(比特数)的随机数序列,生成使得代理重加密和主解密密钥kd能够作为文档密钥的加密方法的文档加密密钥ke。注意,启用代理重加密的加密方法可以例如通过配对计算来实现。此外,实现代理重加密的加密方法的密钥可以是公钥或共享密钥。文档密钥生成单元25将生成的文档加密密钥ke和万能解密密钥kd存储在文档密钥存储单元26中。
[0044]
文档注册单元30对文档所有者用户输入的文档进行加密,生成关于文档中的关键字的加密索引,并将该索引注册在服务器100中。文档注册单元30具有文档输入单元31、加密单元32、提取单元33、生成单元34和注册单元35。
[0045]
文档输入单元31从作为终端装置10的用户的文档所有者用户接收文档d的输入。文档输入单元31接收例如由终端装置10生成的文档文档和由其他信息处理装置生成的文档文档的输入。此外,文档d的示例包括试件、保险合同文档、家庭购买等、以及高度敏感的文档。文档输入单元31将接收到的文档d输出到加密单元32和提取单元33。
[0046]
当从文档输入单元31输入文档d时,加密单元32从文档密钥存储单元26获取文档加密密钥ke。加密单元32通过使用文档加密密钥ke以能够进行代理重加密的加密方法对文档d进行加密,以生成加密的文档datad。换言之,加密文档datad可被表示为数据datad=enc(d)。加密单元32将生成的加密的文档datad输出到注册单元35。
[0047]
当从文档输入单元31输入文档d时,提取单元33例如通过使用形态分析等从文档d中提取关键字组w(d)。注意,提取单元33可以将关键字组w(d)中包括的关键字的数量配置为任意数量,关键字组w(d)是通过设置提取时的条件而提取的。提取单元33将所提取的关键字组w(d)输出至生成单元34。注意,在以下描述中,包括在关键字组w(d)中的每个关键字被表示为关键字wi。换句话说,关键字组w(d)和关键字wi之间的关系是wi∈w(d)。
[0048]
当从提取单元33输入关键字组w(d)时,生成单元34从共享密钥存储单元22和认证密钥存储单元24获取共享密钥k和认证密钥k’。生成单元34通过使用共享密钥k和认证密钥k’针对每个关键字wi执行以下等式(1)所示的计算,并且生成加密文档索引indi。
[0049][0050]
换言之,生成单元34通过计算关键字wi的密钥散列函数和认证密钥k’的异或来生成关键字wi的加密文档索引indi。当关键字组w(d)的加密文档索引ind(d)被生成时,生成单元34将加密文档索引ind(d)输出至注册单元35。
[0051]
从加密单元32将加密的文档datad输入至注册单元35,并且从生成单元34将加密
文档索引ind(d)输入至注册单元35。注册单元35将文档所有者用户的标识符(用户标识符(id))与输入的加密文档datad和加密文档索引ind(d)相关联,并将它们发送到服务器100。
[0052]
权限单元40在作为另一用户的文档搜索用户搜索在服务器100中注册的文档d的情况下给出权限。许可单元40具有其他用户用密钥生成单元41、服务器用密钥发送单元42以及其他用户用密钥发送单元43。
[0053]
其他用户密钥生成单元41在接收到来自文档搜索用户所拥有的终端装置50的搜索许可请求时,基于该文档许可请求中包含的文档搜索用户的标识符(用户id)来确定是否给出搜索许可。在判定为不允许检索的情况下,其他用户用密钥生成单元41向终端装置50发送错误。在判断为允许检索的情况下,其他用户用密钥生成单元41从共享密钥存储单元22获取共享密钥k,从认证密钥存储单元24获取认证密钥k’,从文档密钥存储单元26获取万能解密密钥kd。
[0054]
其他用户密钥生成单元41将获取的认证密钥k’分成验证密钥ku’和测试密钥ku”。执行认证密钥k’的划分以满足以下等式(2)。此外,其他用户用密钥生成单元41将获取到的万能解密密钥kd分割为文档检索用户的解密密钥kdu和在服务器100中进行再加密时使用的再加密密钥kdu’。
[0055][0056]
其他用户用密钥生成单元41将文档搜索用户的用户id、测试密钥ku”和重加密密钥kdu’输出至服务器用密钥传输单元42。此外,其他用户用密钥生成单元41将共享密钥k、验证密钥ku’和解密密钥kdu输出至其他用户用密钥传输单元43。注意,其他用户密钥生成单元41可以为共享密钥k、验证密钥ku’、测试密钥ku”、解密密钥kdu和重加密密钥kdu’设置期满时段,或者可以丢弃密钥,使得每次获取许可。
[0057]
服务器用密钥传输单元42将从其他用户用密钥生成单元41输入的文档搜索用户的用户id与测试密钥ku”和重加密密钥kdu’相关联并且将其传输至服务器100。
[0058]
其他用户用密钥传输单元43将从其他用户用密钥生成单元41输入的共享密钥k、验证密钥ku’和解密密钥kdu传输至终端装置50。注意,作为与终端装置50共享密钥的方法,其他用户密钥传输单元43可以应用使用诸如蓝牙(注册商标)、w
i-fi直连(注册商标)或qr码(注册商标)的终端装置之间的直接通信的共享方法或者经由诸如云的网络在终端装置之间通过端到端加密的共享方法。
[0059]
[1-3.根据实施例的文档搜索用户的终端装置的配置]
[0060]
图3是示出了根据本公开的实施方式的文档搜索用户的终端装置的配置的示例的示图。如图3所示,终端装置50具有密钥管理单元60和搜索单元70。
[0061]
密钥管理单元60向文档所有者用户的终端装置10请求文档d的搜索许可,并管理获取的密钥。密钥管理单元60具有请求单元61和密钥存储单元62。
[0062]
当从文档搜索用户订购了搜索权限的获取时,请求单元61产生包括文档搜索用户的用户id的搜索权限请求,并将产生的搜索权限请求发送到终端装置10。当接收到与来自终端装置10的搜索许可请求相对应的共享密钥k、验证密钥ku’和解密密钥kdu时,请求单元61将所接收的共享密钥k、验证密钥ku’和解密密钥kdu存储在密钥存储单元62中。注意,作为与终端装置10共享密钥的方法,请求单元61可以应用使用上述各种终端装置之间的直接
通信的共享的方法,或者可以应用经由网络在终端装置之间通过端到端加密进行共享的方法以及终端装置10。
[0063]
当接收到来自文档搜索用户的搜索关键字的输入时,搜索单元70将加密的关键字发送到服务器100并且接收对应的搜索结果。搜索单元70具有关键字输入单元71、生成单元72和解密单元73。
[0064]
关键字输入单元71从文档搜索用户接收搜索关键字的输入。关键字输入单元71将所接收的搜索关键字(在下文中,称为关键字w)输出至生成单元72。
[0065]
当从关键字输入单元71输入关键字w时,生成单元72从密钥存储单元62获取共享密钥k和验证密钥ku’。生成单元72通过使用共享密钥k和验证密钥ku’相对于关键字w执行以下等式(3)中所示的计算,并且生成加密搜索索引ind’。
[0066][0067]
换言之,生成单元72通过计算关键字w的密钥散列函数与验证密钥ku’的异或来生成关键字w的加密搜索索引ind’。生成单元72将文档搜索用户的用户id与生成的加密搜索索引ind’相关联并且将其发送到服务器100。
[0068]
当从服务器100接收搜索结果res’时,解密单元73从密钥存储单元62获取解密密钥kdu。解密单元73通过使用解密密钥kdu解密所获取的搜索结果res’来获取文档d。换言之,如果解密的文档d是ans,则ans可由ans=dec(res’)表示。解密单元73通过未示出的显示单元使解密后的文档d将文档预设给文档搜索用户。
[0069]
注意,文档所有者用户的终端装置10可被配置为执行搜索。在这种情况下,使用认证密钥k’而不是验证密钥ku’,执行在以下等式(4)中示出的计算,并且生成加密搜索索引ind。此外,终端装置10通过使用万能解密密钥kd解密搜索结果res并且获取文档d。应注意,同样在通过终端装置10执行搜索的情况下,可以使用单独生成的用于文档所有者用户的验证密钥ku’。
[0070][0071]
[1-4.根据实施例的服务器的配置]
[0072]
图4是示出了根据本公开的实施方式的服务器的配置的示例的示图。如图4所示,服务器100具有密钥管理单元110、文档注册单元120和搜索单元130。
[0073]
密钥管理单元110管理已经从文档所有者用户接收并且与文档搜索用户的用户id相关联的测试密钥ku”和重加密密钥kdu’。密钥管理单元110具有密钥接收单元111、测试密钥存储单元112和重加密密钥存储单元113。注意,在以下描述中,测试密钥存储单元112和重加密密钥存储单元113一起也可以被称为密钥数据库。
[0074]
当从文档所有者用户的终端装置10接收到与文档搜索用户的用户id相关联的测试密钥ku”和重加密密钥kdu’时,密钥管理单元110将测试密钥ku”存储在测试密钥存储单元112中并且将重加密密钥kdu’存储在重加密密钥存储单元113中。在针对测试密钥ku”和重加密密钥kdu’设置密钥期满时段的情况下,当期满时段期满时,密钥管理单元110擦除存储在测试密钥存储单元112和重加密密钥存储单元113中的对应测试密钥ku”和重加密密钥kdu’。
[0075]
文档注册单元120注册已经从文档所有者用户接收的加密的文档datad和加密文
档索引ind(d)。文档注册单元120具有加密文档接收单元121、加密文档索引存储单元122和加密文档存储单元123。注意,在以下描述中,加密文档索引存储单元122和加密文档存储单元123一起也可以被称为文档数据库。
[0076]
加密文档接收单元121从文档所有者用户的终端装置10接收与用户id相关联的加密文档datad和加密文档索引ind(d)。加密文档接收单元121将所接收的加密文档索引ind(d)与用户id相关联,并将该索引存储在加密文档索引存储单元122中。此外,加密文档接收单元121将所接收的加密文档datad与用户id相关联,并将该数据存储在加密文档存储单元123中。
[0077]
在本文中,将通过使用图5描述加密文档索引存储单元122。图5是示出加密文档索引存储单元的示例的示图。如图5所示,加密文档索引存储单元122具有诸如“索引”、“文档1”和“文档2”的项。
[0078]“索引”表示包括在加密文档索引ind(d)中的关键字wi的加密文档索引indi。在图5的示例中,包括加密文档索引inda、indb、indc等。“文档1”和“文档2”表示与加密文档索引indi相关联的加密文档数据。在图5的示例中,加密文档datad与加密文档索引inda相关联。此外,加密文档索引indh与加密的文档datad和加密的文档datae相关联。此外,加密文档索引indc与加密的文档datad和加密的文档dataf相关联。
[0079]
描述回到图4的描述。搜索单元130基于从文档所有者用户的终端装置10或文档搜索用户的终端装置50接收的用户id和加密搜索索引ind或ind’执行对加密文档的搜索。搜索单元130具有获取单元131、测试单元132、搜索单元133以及生成单元134。
[0080]
当文档所有者用户执行搜索时,获取单元131从终端装置10接收并获取用户id和加密搜索索引ind。当文档搜索用户执行搜索时,获取单元131从终端装置50接收并且获取用户id和加密搜索索引ind’。获取单元131将获取的用户id和加密搜索索引ind或ind’输出至测试单元132。
[0081]
当从获取单元131输入用户id和加密搜索索引ind时,测试单元132检查文档数据库并基于用户id将输入确定为来自文档所有者用户的搜索请求。当确定来自文档所有者用户的搜索请求时,测试单元132向搜索单元133输出用户id和加密搜索索引ind。
[0082]
另一方面,当搜索请求被确定为不是来自文档所有者用户的搜索请求时,测试单元132基于用户id从测试密钥存储单元112中获取测试密钥ku”。更具体地,如在以下等式(5)中所示,获取测试密钥ku”,其中密钥数据库为keydb,用户id为u。
[0083]
keydb[u]=ku
″ꢀꢀꢀ
(5)
[0084]
测试单元132通过使用所获取的测试密钥ku”测试加密搜索索引ind’。更具体地,如下面等式(6)所示,测试单元132通过计算加密搜索索引ind’和测试密钥ku”的异或来生成加密搜索索引ind。
[0085][0086]
更具体地,如果在加密搜索索引ind’的生成中使用的验证密钥ku’是基于认证密钥k’的合法密钥,则当计算测试密钥ku”和加密搜索索引ind’的异或时,生成与文档所有者用户执行搜索的情况相同的加密搜索索引ind。测试单元132将用户id和生成的加密搜索索引ind输出至搜索单元133。
[0087]
当从测试单元132输入用户id和加密搜索索引ind时,搜索单元133从文档数据库搜索加密文档。更具体地,搜索单元133检查加密文档索引存储单元122并指定与加密搜索索引ind对应的加密文档data(例如,加密文档datad)。搜索单元133检查加密文档存储单元123,并获取指定的加密文档数据作为搜索结果res。搜索单元133将用户id和搜索结果res输出至生成单元134。
[0088]
在检验单元132确定搜索请求是从文档所有者用户接收的请求的情况下,当从搜索单元133输入用户id和搜索结果res时,生成单元134将搜索结果res发送到文档所有者用户的终端装置10。
[0089]
另一方面,在测试单元132中确定搜索请求不是来自文档所有者用户的请求的情况下,生成单元134从重加密密钥存储单元113中获取重加密密钥kdu’。生成单元134通过重加密密钥kdu’使搜索结果res代理重加密以生成搜索结果res’。生成单元134将生成的搜索结果res’传输至文档搜索用户的终端装置50。
[0090]
[1-5.文档所有者用户的注册和搜索]
[0091]
接下来,将通过使用图6和图7描述文档所有者用户的注册和搜索。图6是描述文档的注册的示例的示图。如图6所示,当文档所有者用户200将文档d输入至终端装置10时,终端装置10通过使用文档加密密钥ke生成加密文档datad=enc(d)。此外,终端装置10从文档d中提取关键字组w(d),并且通过使用共享密钥k和认证密钥k’,通过上述等式(1)生成加密文档索引ind(d)(步骤s1)。
[0092]
终端装置10将文档所有者用户的用户id与加密的文档datad和加密文档索引ind(d)相关联并将它们发送到服务器100(步骤s2)。当接收到文档所有者用户的用户id、加密文档datad和加密文档索引ind(d)时,服务器100将加密文档datad和加密文档索引ind(d)存储在文档数据库中。在文档数据库中,如以下等式(7)所示,为每个加密文档索引indi注册加密文档datad(参见图5的加密文档索引存储单元122)。
[0093]
db[indi]=datadꢀꢀꢀ
(7)
[0094]
图7是描述文档所有者用户执行搜索的情况的示例的示图。如图7所示,当文档所有者用户200将关键字w输入到终端装置10时,终端装置10通过使用共享密钥k和认证密钥k’通过上述等式(4)生成加密搜索索引ind(步骤s4)。终端装置10将文档所有者用户200的用户id与生成的加密搜索索引ind相关联并将它们发送到服务器100(步骤s5)。
[0095]
当从终端装置10接收到用户id和加密搜索索引ind时,服务器100检查文档数据库并基于用户id确定该请求是来自文档所有者用户的搜索请求。服务器100基于加密搜索索引ind从文档数据库搜索加密文档。更具体地,如以下等式(8)所示,服务器100获取使用加密搜索索引ind搜索文档数据库的搜索结果作为搜索结果res(步骤s6)。搜索结果res例如是加密文档datad。
[0096]
res=db[ind]
ꢀꢀꢀ
(8)服务器100将搜索结果res发送到文档所有者用户200的终端装置10(步骤s7)。
[0097]
当从服务器100接收到搜索结果res时,文档所有者用户200的终端装置10通过使用万能解密密钥kd对搜索结果res进行解密以获取解密结果ans,如以下等式(9)所示(步骤s8)。更具体地,例如,终端装置10通过使用万能解密密钥kd对作为搜索结果res的加密的文档datad进行解密来获取datad。
[0098]
ans=dec(res)
ꢀꢀꢀ
(9)以这种方式,文档所有者用户200可注册加密文档,并且还可通过使用他/她自己的终端装置10高速执行加密文档的关键字搜索。换言之,文档所有者用户200可将文档保存在加密状态中,使得甚至提供服务器100的商业操作者也不能看到该文档。此外,即使在搜索加密文档的情况下,文档所有者用户200也可以高速执行关键字搜索,而不让提供服务器100的商业操作者知道文档的内容。
[0099]
[1-6.文档搜索用户的搜索]
[0100]
随后,将通过使用图8描述文档搜索用户进行的搜索。图8是描述文档搜索用户执行搜索的情况的示例的示图。如图8所示,由文档搜索用户210订购以获取搜索许可的终端装置50向文档所有者用户200的终端装置10发送搜索许可请求(步骤s11)。
[0101]
当从终端装置50接收到搜索许可请求时,文档所有者用户200的终端装置10确定是否给予搜索许可,并且如果确定给予搜索许可,则终端装置10将认证密钥k’分成验证密钥ku’和测试密钥ku”(步骤s12)。此外,终端装置10将万能解密密钥kd分成解密密钥kdu和重加密密钥kdu’。
[0102]
终端装置10将文档搜索用户210的用户id、测试密钥ku”和重加密密钥kdu’传输至服务器100(步骤s13)。
[0103]
当从终端装置10接收与文档搜索用户210的用户id相关联的测试密钥ku”和重加密密钥kdu’时,服务器100在密钥数据库中注册所接收的密钥(步骤s14)。此外,终端装置10将共享密钥k、验证密钥ku’和解密密钥kdu传输至终端装置50(步骤s15)。
[0104]
当从终端装置10接收与来自终端装置10的搜索许可请求相对应的共享密钥k、验证密钥ku’和解密密钥kdu时,终端装置50将所接收的密钥存储在密钥存储单元62中。当文档搜索用户210将关键字w输入到终端装置50时,终端装置50通过使用共享密钥k和验证密钥ku”,通过上述等式(3)生成加密搜索索引ind’(步骤s16)。终端装置50将文档搜索用户210的用户id与生成的加密搜索索引ind’相关联并将它们发送到服务器100(步骤s17)。
[0105]
当从终端装置50接收到文档搜索用户210的用户id和加密搜索索引ind’时,服务器100检查文档数据库并基于用户id确定所述请求不是来自文档所有者用户200的搜索请求。当确定不是来自文档所有者用户200的搜索请求时,如上述等式(5)所示,服务器100基于用户id从密钥数据库获取测试密钥ku”。
[0106]
服务器100通过如下等式(6)所示计算加密搜索索引ind’和测试密钥ku”的异或,生成加密搜索索引ind(步骤s18)。服务器100基于加密搜索索引ind从文档数据库搜索加密文档。更具体地,如以上等式(8)所示,服务器100获取使用加密搜索索引ind搜索文档数据库的搜索结果作为搜索结果res(步骤s19)。搜索结果res例如是加密文档datad。
[0107]
如下面等式(10)所示,服务器100使用重加密密钥kdu’代理重加密搜索结果res以生成搜索结果res’(步骤s20)。
[0108]
res

=reenc
kdu
·
(res)
ꢀꢀꢀ
(10)生成单元134将生成的搜索结果res’传输至终端装置50(步骤s21)。
[0109]
当从服务器100接收到搜索结果res’时,终端装置50通过使用解密密钥kdu对搜索结果res’进行解密,获取作为解密结果的ans(例如,文档d)(步骤s22)。
[0110]
以这种方式,文档搜索用户210可以通过使用他/她自己的终端装置50高速执行加
密文档的关键字搜索。因此,拥有加密文档的文档所有者用户200所允许的文档搜索用户210也可以在不对加密文档进行解密的情况下执行关键字搜索。
[0111]
[1-7.根据实施方式的信息处理的过程]
[0112]
接下来,通过使用图9,将通过使用序列图描述从文档所有者用户对文档d的注册至文档搜索用户进行搜索的一系列文档搜索过程。图9是示出文档搜索过程的示例的序列图。
[0113]
如图9所示,终端装置10的密钥管理单元20生成共享密钥k和认证密钥k’(步骤s101)。此外,密钥管理单元20生成文档加密密钥ke和万能解密密钥kd。
[0114]
文档注册单元30从文档所有者用户接收文档d的输入。文档注册单元30通过使用文档加密密钥ke对文档d加密以生成加密的文档datad(步骤s102)。此外,文档注册单元30通过从文档d中提取关键字组w(d)并使用共享密钥k和认证密钥k’来生成关键字组w(d)的加密文档索引ind(d)(步骤s103)。文档注册单元30将文档所有者用户的用户id与加密的文档datad和加密文档索引ind(d)相关联,并将它们发送到服务器100(步骤s104)。
[0115]
服务器100的文档注册单元120将从文档所有者用户接收的加密文档datad和加密文档索引ind(d)注册在文档数据库中(步骤s105)。
[0116]
当从文档搜索用户订购了搜索许可的获取时,终端装置50的密钥管理单元60生成包括文档搜索用户的用户id的搜索许可请求,并将该请求发送到终端装置10(步骤s106)。
[0117]
当从终端装置50接收到搜索许可请求时,如果基于用户id确定给出搜索许可,则终端装置10的许可单元40将认证密钥k’分成验证密钥ku’和测试密钥ku”。此外,许可单元40将万能解密密钥kd分成解密密钥kdu和重加密密钥kdu’。换言之,许可单元40发布验证密钥ku’、测试密钥ku”、解密密钥kdu以及重加密密钥kdu’(步骤s107)。
[0118]
许可单元40将测试密钥ku”、重加密密钥kdu’、以及文档搜索用户的用户id发送到服务器100(步骤s108)。
[0119]
服务器100的密钥管理单元110将所接收的测试密钥ku”和重加密密钥kdu’与文档搜索用户的用户id相关联并且将它们注册在密钥数据库中(步骤s109)。
[0120]
终端装置10的许可单元40将共享密钥k、验证密钥ku’和解密密钥kdu传输至终端装置50(步骤s110)。
[0121]
终端装置50的密钥管理单元60将所接收的共享密钥k、验证密钥ku’和解密密钥kdu存储在密钥存储单元62中(步骤s111)。当从文档搜索用户接收到关键字w的输入时,搜索单元70通过使用共享密钥k和验证密钥ku’生成对应于关键字w的加密搜索索引ind’(步骤s112)。搜索单元70将生成的加密搜索索引ind’和文档搜索用户的用户id发送到服务器100(步骤s113)。
[0122]
当从终端装置50接收到文档搜索用户的用户id和加密搜索索引ind’时,服务器100的搜索单元130检查文档数据库并确定该请求不是来自文档所有者用户的搜索请求。搜索单元130通过使用测试密钥ku”测试加密搜索索引ind’(步骤s114)。当作为测试的结果获取加密搜索索引ind时,搜索单元130通过使用加密搜索索引ind从文档数据库搜索并获取加密的文档datad作为搜索结果res。搜索单元130通过重加密密钥kdu”使搜索结果res代理重加密以生成搜索结果res’(步骤s115)。搜索单元130将生成的搜索结果res’传输至终端装置50(步骤s116)。
[0123]
当从服务器100接收到搜索结果res’时,终端装置50的搜索单元70从密钥存储单元62获取解密密钥kdu。搜索单元70通过使用解密密钥kdu解密搜索结果res’来获取文档d(步骤s117)。以这种方式,文档所有者用户可以在服务器100中注册加密文档,并且文档搜索用户可以高速执行在服务器100中注册的加密文档的关键字搜索。
[0124]
(2.实施方式的变形例)
[0125]
除了上述实施方式之外,根据上述实施方式的处理可以各种不同形式进行。
[0126]
在上述实施例中,基于连接到文档的关键字(加密文档索引)执行搜索。然而,应用的目标不限于文档,因为可以在关键字保密时确定匹配/不匹配。例如,诸如照片的对象、拍摄位置、以及拍摄时间和数据的信息可以作为关键字被连接到图像数据。在这样的情况下,具有许可的搜索用户能够安全地搜索和共享图像数据。类似地,通过使用包括在声音数据中的词语作为关键字,可以安全地执行音乐数据的搜索和共享。此外,通过将用户id连接到位置信息,可以安全地搜索特定范围内的用户。
[0127]
除此之外,除非特别说明,否则可以任意改变上述文档或附图中示出的处理过程、特定名称和包括各种数据或参数的信息。例如,在附图中示出的各种信息不限于在附图中示出的信息。
[0128]
在附图中示出的每个装置的组成元件是功能构思并且不一定像附图中的图示那样在物理上需要形成。换言之,装置的分散/集成的具体形式不限于在附图中示出的那些,而是取决于各种负载、使用情况等,其全部或部分可以在功能上或物理上分散/集成以形成在任意单元中。例如,文档所有者用户的终端装置10可被配置为集成文档搜索用户的终端装置50的功能。
[0129]
而且,上述实施方式和变形例可在处理内容彼此不冲突的范围内适当地组合。
[0130]
(3.硬件配置)
[0131]
例如,通过具有如图10中所示的配置的计算机1000实现诸如根据上述实施方式的终端装置10和50和服务器100的信息装置。在下文中,将作为根据本实施方式的信息处理装置的服务器100作为示例进行描述。图10是示出实现信息处理装置的功能的计算机的示例的硬件配置图。计算机1000具有cpu1100、ram1200、只读存储器(rom)1300、硬盘驱动器(hdd)1400、通信接口1500和输入/输出接口1600。计算机1000的每个部件通过总线1050连接。
[0132]
cpu1100基于存储在rom1300或hdd1400中的程序来操作,并且控制每个部件。例如,cpu1100将存储在rom1300或hdd1400中的程序部署在ram1200中,并且执行与各种程序相对应的处理。
[0133]
rom1300存储例如在计算机1000启动时由cpu1100执行的诸如基本输入输出系统(bios)的引导程序和依赖于计算机1000的硬件的程序。
[0134]
hdd1400是非临时记录例如由cpu1100执行的程序和由程序使用的数据的计算机可读记录媒质。具体地,hdd1400是记录用作程序数据1450的示例的根据本公开的信息处理程序的记录介质。
[0135]
通信接口1500是用于将计算机1000连接到外部网络1550(例如,互联网)的接口。例如,cpu1100从其他装置接收数据并且经由通信接口1500将由cpu1100生成的数据发送到其他装置。
[0136]
输入/输出接口1600是用于连接输入/输出装置1650和计算机1000的接口。例如,cpu1100经由输入/输出接口1600从诸如关键字或鼠标的输入装置接收数据。此外,cpu1100经由输入/输出接口1600将数据传输到诸如显示器、扬声器或打印机的输出装置。此外,输入/输出接口1600可以用作读取记录在预定记录介质(介质)中的程序等的介质接口。例如,介质是诸如数字通用盘(dvd)和相变可重写盘(pd)的光学记录介质、诸如磁光盘(mo)的磁光记录介质、磁带介质、磁记录介质或半导体存储器。
[0137]
例如,如果计算机1000用作根据该实施方式的服务器100,则计算机1000的cpu1100通过执行加载在ram1200上的信息处理程序来实现搜索单元130等的功能。此外,hdd1400存储根据本公开的信息处理程序和加密文档索引存储单元122、加密文档存储单元123等的数据。cpu1100从hdd1400读取程序数据1450以执行该数据,但是作为另一例子,可以经由外部网络1550从其他装置获取这些程序。
[0138]
(4.效果)
[0139]
服务器100具有获取单元131、测试单元132以及生成单元(搜索单元133、生成单元134)。获取单元131从第二用户的第二终端装置(终端装置50)获取加密搜索索引以及搜索文档的第二用户的标识符,所述加密搜索索引是使用从拥有文档的第一用户的第一终端装置(终端装置10)获取的共享密钥和验证密钥通过能搜索的加密进行加密的搜索关键字。测试单元132基于所获取的第二用户的标识符从数据库中获取与第二用户相对应的测试密钥,在数据库中注册由第一终端装置生成并通过能搜索的加密对文档中包括的关键字进行加密的加密文档索引、被加密并且与加密文档索引相关联的文档的加密文档、以及与第二用户相对应的测试密钥和重加密密钥,并且测试单元132基于所获取的第二用户的标识符获取与第二用户相对应的测试密钥,并且通过使用测试密钥对加密搜索索引进行测试。生成单元根据获取的第二用户的标识从数据库中获取与第二用户对应的重加密密钥,使用测试加密搜索索引从数据库中搜索加密文档,使用重加密密钥对搜索加密文档进行加密生成搜索结果。结果,加密文档可以经受高速关键字搜索。
[0140]
通过启用代理重加密的加密方法对文档进行加密,并且通过启用代理重加密的加密方法通过使用重加密密钥对加密的文档进行加密。结果,文档搜索用户可以通过使用从文档所有者用户获取的解密密钥对文档进行解密。
[0141]
基于第一用户拥有的认证密钥生成测试密钥和验证密钥。因此,使用验证密钥的加密搜索索引可由测试密钥测试。
[0142]
再加密密钥是由第一用户拥有的解密密钥与第二用户的解密密钥一起生成的,所述第二用户的解密密钥用于由第二终端装置对搜索结果进行解密。因此,经过代理重加密的搜索结果可以由第二用户解密。
[0143]
能搜索的加密是基于密钥散列函数与第一用户所拥有的认证密钥、验证密钥或测试密钥的异或的加密。结果,无论在数据库中注册的文档的量如何,都可以在恒定时间内以高速执行搜索。
[0144]
获取单元131通过使用第一用户拥有的共享密钥和认证密钥从第一终端装置获取作为能搜索的加密加密的搜索关键字的加密搜索索引,并且
[0145]
生成单元使用从第一终端装置获取的加密搜索索引从数据库中搜索加密文档,并生成搜索加密文档作为搜索结果。结果,文档所有者用户可以通过使用他/她自己的认证密
钥来搜索加密文档。
[0146]
终端装置50具有获取单元(密钥管理单元60)、生成单元(关键字输入单元71、生成单元72)和解密单元73。获取单元向拥有文档的第一用户的第一终端装置(终端装置10)请求文档的搜索许可,并且从第一终端装置获取用于加密搜索关键字的共享密钥和验证密钥、以及用于解密从信息处理装置接收的搜索结果的解密密钥。当从第二用户接收到搜索关键字的输入时,生成单元通过使用共享密钥和验证密钥生成加密搜索索引并且将加密搜索索引与第二用户的标识符一起发送到信息处理装置(服务器100)。解密单元73从数据库获取与第二用户相对应的测试密钥和重加密密钥,在数据库中注册了包括在能搜索的加密中加密的文档中所包括的关键字的加密文档索引、作为被加密并且与加密文档索引相关联的文档的加密文档,并且解密单元73基于第二用户的标识符获取与第二用户相对应的测试密钥和重加密密钥,并且解密单元73通过使用测试密钥对加密搜索索引进行测试,通过使用测试的加密搜索索引从数据库中搜索加密文档,从信息处理装置接收搜索结果(其是通过重加密密钥加密的搜索加密文档),并且通过使用解密密钥对接收到的搜索结果进行解密。结果,加密文档可以经受高速关键字搜索。
[0147]
在本说明书中描述的效果仅是示例而不是限制性的,并且可包括其他效果。
[0148]
本技术还可采用以下配置。
[0149]
(1)
[0150]
一种信息处理装置,包括:
[0151]
获取单元,从第二用户的第二终端装置中获取加密搜索索引和搜索文档的第二用户的标识符,使用从拥有所述文档的第一用户的第一终端装置中获取的共享密钥和验证密钥,通过能搜索的加密对搜索关键字的所述加密搜索索引进行加密;
[0152]
测试单元,基于所获取的第二用户的标识符从数据库中获取在所述第一终端装置中生成的加密文档索引,并且所述加密文档索引包括在所述文档中包括的、并且通过所述能搜索的加密而被加密的关键字,所述测试单元获取被加密并且与所述加密文档索引相关联的文档的加密文档,获取对应于所述第二用户的测试密钥,所述数据库注册有对应于所述第二用户的测试密钥和重加密密钥,并且所述测试单元通过使用所述测试密钥对所述加密搜索索引进行测试;以及
[0153]
生成单元,基于所获取的第二用户的标识符从所述数据库中获取对应于所述第二用户的重加密密钥,通过使用所测试的加密搜索索引从所述数据库中搜索加密文档,并且通过所述重加密密钥对搜索加密文档进行加密以生成搜索结果。
[0154]
(2)
[0155]
根据(1)所述的信息处理装置,其中通过能够进行代理重加密的加密方法对所述文档进行加密,以及通过能够进行代理重加密的加密方法通过使用所述重加密密钥来对所述加密文档进行加密。
[0156]
(3)
[0157]
根据(1)或(2)所述的信息处理装置,其中
[0158]
该测试密钥和该验证密钥是基于该第一用户所拥有的认证密钥生成的。
[0159]
(4)
[0160]
根据(1)至(3)中任一项所述的信息处理装置,其中所述重加密密钥是由所述第一
用户拥有的解密密钥与所述第二用户的解密密钥一起生成的,所述解密密钥用于由所述第二终端装置解密所述搜索结果。
[0161]
(5)
[0162]
根据(1)至(4)中任一项所述的信息处理装置,其中所述能搜索的加密是基于密钥散列函数与所述第一用户所拥有的所述认证密钥、所述验证密钥或所述测试密钥的异或的加密。
[0163]
(6)
[0164]
根据(1)至(5)中任一项所述的信息处理装置,其中所述获取单元从所述第一终端装置获取所述加密搜索索引,所述加密搜索索引是使用所述第一用户拥有的共享密钥和认证密钥通过所述能搜索的加密进行加密的搜索关键字,以及
[0165]
生成单元使用从第一终端装置获取的加密搜索索引从数据库中搜索加密文档,并生成搜索加密文档作为搜索结果。
[0166]
(7)
[0167]
一种终端装置,包括:
[0168]
获取单元,向拥有文档的第一用户的第一终端装置请求文档的搜索许可,并且从所述第一终端装置获取在对搜索关键字进行加密时使用的共享密钥和验证密钥、以及用于对从信息处理装置接收到的搜索结果进行解密的解密密钥;
[0169]
生成单元,当从第二用户接收到所述搜索关键字的输入时,所述生成单元通过使用所述共享密钥和所述验证密钥生成加密搜索索引并且将所述加密搜索索引与所述第二用户的标识符一起发送到所述信息处理装置;
[0170]
解密单元,所述解密单元基于所述第二用户的标识符从数据库获取与所述第二用户对应的测试密钥和重加密密钥,所述数据库注册包括在通过能搜索的加密进行加密的所述文档中的所述关键字的加密文档索引、与所述加密文档索引相关联的加密文档、以及与所述第二用户对应的测试密钥和重加密密钥,通过使用所述测试密钥对所述加密搜索索引进行测试,通过使用测试的所述加密搜索索引从所述数据库搜索所述加密文档,从所述信息处理装置接收包括通过所述重加密密钥进行加密的搜索加密文档的搜索结果,并且通过使用所述解密密钥对接收到的搜索结果进行解密。
[0171]
(8)
[0172]
一种搜索方法,使计算机执行以下处理:
[0173]
从第二用户的第二终端装置中获取加密搜索索引和搜索文档的第二用户的标识符,搜索关键字的加密搜索索引通过使用从拥有文档的第一用户的第一终端装置中获取的共享密钥和验证密钥的能搜索的加密而被加密;
[0174]
基于所获取的第二用户的标识符从数据库中获取在所述第一终端装置中生成的加密文档索引,并且所述加密文档索引包括在所述文档中包括的、并且通过所述能搜索的加密而被加密的关键字,获取被加密并且与所述加密文档索引相关联的文档的加密文档,获取对应于所述第二用户的测试密钥,所述数据库注册有对应于所述第二用户的测试密钥和重加密密钥,并且通过使用所述测试密钥对所述加密搜索索引进行测试;并且
[0175]
基于所获取的第二用户的标识从所述数据库中获取对应于所述第二用户的重加密密钥,通过使用所测试的加密搜索索引从所述数据库中搜索所述加密文档,并且通过所
述重加密密钥对搜索加密文档进行加密以生成搜索结果。
[0176]
(9)
[0177]
一种搜索方法,使计算机执行以下处理:
[0178]
向拥有文档的第一用户的第一终端装置请求文档的搜索许可,并从所述第一终端装置中获取在搜索关键字的加密中使用的共享密钥和验证密钥、以及用于对从信息处理装置中接收到的搜索结果进行解密的解密密钥;
[0179]
当从第二用户接收到所述搜索关键字的输入时,通过使用所述共享密钥和所述验证密钥生成加密搜索索引并且将所述加密搜索索引与所述第二用户的标识符一起发送到所述信息处理装置;
[0180]
基于所述第二用户的标识符从数据库中获取对应于所述第二用户的测试密钥和重加密密钥,所述数据库注册有在通过能搜索的加密而加密的所述文档中包括的所述关键字的加密文档索引、与所述加密文档索引相关联的加密文档、以及对应于所述第二用户的测试密钥和重加密密钥,通过使用所述测试密钥对所述加密搜索索引进行测试,通过使用所测试的加密搜索索引从所述数据库中搜索所述加密文档,从所述信息处理装置中接收包括通过所述重加密密钥而加密的搜索加密文档的搜索结果,并且通过使用所述解密密钥对所接收的搜索结果进行解密。
[0181]
参考符号列表
[0182]
1 搜索系统
[0183]
10、50 终端装置
[0184]
20 密钥管理单元
[0185]
30 文档注册单元
[0186]
40 执行单元
[0187]
60 密钥管理单元
[0188]
70 搜索单元
[0189]
71 关键字输入单元
[0190]
72 生成单元
[0191]
73 解密单元
[0192]
100 服务器
[0193]
110 密钥管理单元
[0194]
111 密钥接收单元
[0195]
112 测试密钥存储单元
[0196]
113 重加密密钥存储单元
[0197]
120 文档注册单元
[0198]
121 加密文档接收单元
[0199]
122 加密文档索引存储单元
[0200]
123 加密文档存储单元
[0201]
130 搜索单元
[0202]
131 获取单元
[0203]
132 测试单元
[0204]
133 搜索单元
[0205]
134 生成单元
[0206]
k 共享密钥
[0207]k’ꢀ
认证密钥
[0208]
ku
’ꢀ
验证密钥
[0209]
ku
”ꢀ
测试密钥
[0210]
kd 主解密密钥
[0211]
kdu 解密密钥
[0212]
kdu
’ꢀ
重新加密密钥
[0213]
ke 文档加密密钥
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献