CN103329184B - 数据处理装置以及数据保管装置 - Google Patents

数据处理装置以及数据保管装置 Download PDF

Info

Publication number
CN103329184B
CN103329184B CN201180064828.8A CN201180064828A CN103329184B CN 103329184 B CN103329184 B CN 103329184B CN 201180064828 A CN201180064828 A CN 201180064828A CN 103329184 B CN103329184 B CN 103329184B
Authority
CN
China
Prior art keywords
data
key
keeping
bit
permission bits
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
CN201180064828.8A
Other languages
English (en)
Other versions
CN103329184A (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 CN103329184A publication Critical patent/CN103329184A/zh
Application granted granted Critical
Publication of CN103329184B publication Critical patent/CN103329184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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/6272Protecting 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 by registering files or documents with a third party
    • 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

Abstract

访问终端装置(301)将作为解密密钥的群组判定密钥预先提供给数据中心装置(401),将根据保管对象数据的关键字生成的被加密了的群组化信息与保管对象数据的加密数据和保管对象数据的加密数据的标签数据一起发送给数据中心装置(401),数据中心装置(401)将加密数据与标签数据对应起来保管,进而,用群组判定密钥对群组化信息的一部分进行解密,根据通过解密而得到的比特值导出索引值,将所导出的索引值和标签数据对应起来保管。

Description

数据处理装置以及数据保管装置
技术领域
本发明涉及隐匿检索技术。
背景技术
隐匿检索是指,在对加密数据进行了加密的状态下进行检索的技术。
近年来,当在云服务等的因特网上管理数据时,作为用于从服务器管理者的窃取也保护机密信息的保密技术得到关注。
实现隐匿检索的手法有利用确定性密码的方法和利用概率性密码的方法这2种。
确定性密码是指具有如下特征的加密方式,即,在对同一关键字进行了加密时,不论反复几次进行加密都能得到相同的密文。
因此,具有能够利用在以往的数据库中实现的高速化手法来高速地实施检索这样的特征。
而另一方面,还具有如下缺点:由于能够对加密数据的出现频度进行计数,所以例如在关键字是名字的情况下,能够根据一般已知的名字的人口比率的信息等,推测出加密数据的内容(例如非专利文献2)。
另一方面,概率性密码是指具有如下特征的加密方式,即,即使在对同一关键字进行加密的情况下,每当加密时都成为不同的密文。
因此,即使单纯地比较加密数据彼此也无法知晓关键字是否相同,所以无法实现在确定性密码中成为问题的利用出现频度的计数而进行的关键字的推测,其安全性高是特征。
而另一方面,存在如下缺点:由于连关键字的同一性也不知晓,所以无法使用在以往的数据库中实现的高速化手法,检索慢(例如非专利文献1、非专利文献3、非专利文献4、非专利文献5)。
作为对使用了该概率性密码的隐匿检索进行高速化的手法,提出了通过对检索结果进行高速缓存来缩短平均响应时间的想法。
这是着眼于在一般的检索中有时利用相同的关键字进行2次以上的检索这样的特征而提出的,虽然在第一次的检索中花费时间,但通过将其结果进行高速缓存而在第二次以后仅返回高速缓存的结果来实现检索的高速化(例如专利文献1)。
专利文献1:日本特开2005-134990号公报
非专利文献1:D.Boneh、G.D.Crescenzo、R.Ostrovsky、G.PersianoG、“PublicKeyEncryptionwithKeywordSearch”、EUROCRYPT’2004、LectureNotesinComputerScience、Vol.3027、2004.
非专利文献2:M.Bellare、A.Boldyreva、A.O’Neill、“DeterministicandEfficientlySearchableEncryption”、CRYPTO’2007、LectureNotesinComputerScience、Vol.4622、2007.
非专利文献3:J.Katz、A.Sahai、B.Waters、“PredicateEncryptionSupportingDisjunctions,PolynomialEquations,andInnerProducts”、EUROCRYPT2008、LectureNotesinComputerScience、Vol.4965、2008.
非专利文献4:服部充洋、森拓海、伊藤隆、松田規、米田健、太田和夫、“AnonymousHIBEwithWildcardsandItsApplicationtoSecureKeywordSearchforGroup-OrientedMulti-UserSystem”、SCIS’2010、3A4-2、電子情報通信学会、2010.
非专利文献5:TatsuakiOkamoto、KatsuyukiTakashima、“HierarchicalPredicateEncryptionforInner-Products”、ASIACRYPT’2009、LectureNotesinComputerScience、Vol.5912、2009.
发明内容
隐匿检索的基本的流程如下所述。
首先,对数据进行加密的用户(加密者)对数据进行加密来制作加密数据,但与此同时,将用于检索加密数据的关键字与加密数据关联起来。
当然,关联起来的关键字也是与数据有关的信息,所以对其也进行加密而生成加密标签,将加密数据和加密标签保管到数据中心装置401。
加密标签无需是1个,而能够将多个关联起来。
另外,不会从加密标签泄漏关键字。
进行检索的用户(检索者)选择希望检索的关键字,使用该关键字和自身具有的秘密密钥来制作检索查询。
检索查询是使用秘密密钥对关键字进行随机化而得到的,所以难以根据检索查询自身类推秘密密钥。
然后,将该检索查询发送给数据中心装置401,请求检索。
数据中心装置401将由用户委托保管的加密数据和加密标签关联起来保管。
如果从检索者接收到检索查询,则从自身保管的加密标签之中,检索包括与检索查询的生成中使用的关键字相同的关键字的加密标签。
此时,数据中心装置401通过进行用于隐匿检索的特殊的运算,无需对加密标签进行解密来取出关键字,就能够判定加密标签的关键字和检索查询的关键字是否相同。
然后,将与判定为关键字和检索查询相同的加密标签关联起来的加密数据返回给检索者。
另外,在隐匿检索中,有加密者和检索者必须相同的共通密钥方式和加密者是谁都可以而只有检索者限定于特定用户的公开密钥方式这2种。
上述以往技术都是公开密钥方式的隐匿检索方式。
在非专利文献2中公开的方式是使用了确定性密码的隐匿检索方式。
该方式如上所述具有即使在对同一关键字进行了加密时不论反复几次进行加密都能得到相同的加密标签这样的特征。
因此,通过比较加密标签的数据比特,能够判定关键字的同一性,并且能够利用加密标签彼此进行大小比较,所以能够制作在以往的数据库中为了高速化而实现的利用二叉树的索引信息。
另外,在本方式中,检索查询也是使用公开密钥而生成,加密标签和检索查询的比较也是通过作为二进制数据是否完全一致来进行判断,所以具有能够使检索处理高速化这样的特征。
另一方面,有如下风险,即,保管数据的数据中心装置401能够通过测量加密标签的出现频度来类推明文。
例如,考虑在计算机的日志文件中,作为消息类别保管“Info”/“Error”这2种。
此处,假设在取得了加密标签的统计的结果,“AAAAA”这样的加密标签是99%的出现频度、“BBBBB”这样的加密标签是1%的出现频度。
一般情况下,在正确地运用的计算机系统中,认为发生“Error”的频度极其低,所以能够推测为“AAAAA”意味着“Info”,“BBBBB”意味着“Error”。
这样,确定性密码存在如下危险性,即,在保管的消息的出现频度已知的情况下,即使不破解密码本身,也能够类推原来的数据。
因此,虽然具有能够高速地实施检索这样的优点,但在要求高的机密性的系统中,多数情况下推荐基于概率性密码的隐匿检索。
非专利文献1记载的方式是使用了作为概率性密码之一的基于ID的密码(以下记为IBE:Identity-BasedEncryption)的隐匿检索方式。
IBE是能够将邮件地址、姓名等ID作为公开密钥来进行数据的加密的加密方式。
关于加密数据,只有具有与ID对应的用户秘密密钥的用户能够解密。
另外,用户秘密密钥是通过具有主密钥的PKG(Private-KeyGenerator,私钥生成器)生成的,且仅对与ID对应的正规的用户发行。
在隐匿检索中,利用具有根据加密数据无法得知加密中使用的ID这样的ID隐匿性的IBE。
另外,由于是概率性密码,所以即使通过同一ID对同一消息进行加密,也始终成为不同的密文,所以还具有如下特征,即,即使排列多个密文也无法区分是否为对同一消息进行加密而得到。
首先,加密者在生成了随机数之后,将关键字作为ID,使用基于ID的密码对随机数进行加密而得到加密随机数。
将该随机数和加密随机数的对作为加密标签,与加密数据一起保管到数据中心装置。
接下来,检索者根据自身具有的主密钥,将检索关键字作为ID而生成用户秘密密钥。
该用户秘密密钥是能够对使用关键字加密了的数据进行解密的秘密密钥,将其作为检索查询发送给数据中心,请求检索。
数据中心从所保管的加密标签取出加密随机数,使用检索查询(用户秘密密钥)对所取出的加密随机数进行解密,确认加密标签中包含的随机数是否被正确地解密。
如果在生成加密随机数时使用的关键字(ID)、和在生成检索查询(用户秘密密钥)时使用的关键字(ID)相同,则能够正确地对加密随机数进行解密,由此可知根据同一关键字生成了加密标签和检索查询。
这样,在基于概率性密码的隐匿检索方式中,通过比较1个加密标签和1个检索查询,得知包括相互相同的关键字。
但是,由于是概率性密码,所以即使比较加密标签彼此,也无法判断是否根据同一关键字生成。
因此,存在如下课题:无法制作在以往的数据库中为了高速化而实现的利用二叉树的索引信息,作为结果需要将所保管的所有加密标签分别与检索查询进行比较,检索的速度变得非常慢。
非专利文献3、非专利文献5是针对非专利文献1记载的方式能够使用AND、OR等条件的方式,能够实现更灵活的检索。
但是,与非专利文献1同样地,相同点是需要将所保管的所有加密标签分别与检索查询进行比较,存在检索的速度变得非常慢这样的课题。
非专利文献4是如下方式,即,针对非专利文献1记载的方式,通过将能够实现检索/解密的用户扩展为多个人,能够实现加密数据的群组共有。
但是,与非专利文献1同样地,相同点是需要将所保管的所有加密标签分别与检索查询进行比较,存在检索的速度变得非常慢这样的课题。
在专利文献1中,为了解决所述课题,提出了如下机制:将用户检索出的结果保存为高速缓存,在下次以后检索到同一关键字的情况下,高速地返回检索结果。
本方式在反复通过同一关键字进行检索的情况下是有效的。
但是,在专利文献1的方法中,针对检索了一次的关键字,能够高速地将检索结果返回到检索者,但针对一次也未检索的关键字,如非专利文献1中的问题那样,需要对数据中心中保存的所有标签进行检索。
因此,存在如下课题,即,在保存庞大的标签的数据库中,检索关键字是第一次被指定的关键字的情况下,得到检索结果需要大量的时间。
本发明的主要目的在于解决上述那样的课题,其目的在于实现一种在利用了概率性密码的隐匿检索中,即使是一次也未检索的关键字,也能够高速并且安全地进行加密数据的检索处理的结构。
本发明所涉及的数据处理装置,其特征在于,
与数据保管装置连接,该数据保管装置保管多个加密数据、和与各加密数据对应起来的在加密数据的检索时被核对的标签数据,
所述数据处理装置具有:
关键字指定部,将成为所述数据保管装置中的保管的对象的保管对象数据的关键字指定为保管关键字;
许可比特位置指定部,将许可向所述数据保管装置公开比特值的比特位置指定为许可比特位置;
索引导出比特串生成部,通过规定的生成步骤,根据所述保管关键字生成规定的比特串作为保管索引导出比特串;以及
隐匿化处理部,进行将所述保管索引导出比特串内的所述许可比特位置的比特值对所述数据保管装置公开、将所述保管索引导出比特串内的所述许可比特位置以外的比特值对所述数据保管装置隐匿的隐匿化处理,使所述数据保管装置根据所述保管索引导出比特串内的所述许可比特位置的被公开了的比特值,导出在保管与所述保管对象数据的加密数据对应起来的标签数据时所述数据保管装置对所述标签数据附加的保管索引值。
根据本发明,将根据保管关键字生成的保管索引导出比特串中的许可比特位置的比特值对数据保管装置公开,使数据保管装置能够根据公开的比特值,导出在保管标签数据时对标签数据赋予的保管索引值。
因此,数据保管装置能够附加保管索引值来保管标签数据,即使是一次也未进行检索的关键字,也能够使用保管索引值来高速地检索加密数据。
另外,许可比特位置以外的比特值被隐匿,所以关于保管关键字能够限定对数据保管装置泄漏的信息量。
附图说明
图1是示出实施方式1的隐匿检索系统的结构例的图。
图2是示出实施方式1的密钥管理服务器装置的结构例的图。
图3是示出实施方式1的访问终端装置的结构例的图。
图4是示出实施方式1的数据中心装置的结构例的图。
图5是示出实施方式1的系统初始设定处理的例子的流程图。
图6是示出实施方式1的用户秘密密钥发行处理的例子的流程图。
图7是示出实施方式1的数据加密处理的例子的流程图。
图8是示出实施方式1的加密标签的保管处理的例子的流程图。
图9是示出实施方式1的加密数据的检索处理的例子的流程图。
图10是示出实施方式1的加密标签的获取处理的例子的流程图。
图11是示出实施方式1的索引重构处理的例子的流程图。
图12是示出实施方式1的标签ID层次构造的例子的图。
图13是示出实施方式1的群组化信息ID层次构造的例子的图。
图14是示出实施方式1的解密者ID层次构造的例子的图。
图15是示出实施方式1的用户ID信息数据库的例子的图。
图16是示出实施方式1的附有标签的加密数据的例子的图。
图17是示出实施方式1的群组化信息的例子的图。
图18是示出实施方式1的加密数据管理部的存储内容的例子的图。
图19是示出实施方式1的索引管理部的存储内容的例子的图。
图20是示出实施方式1的二叉树的节点结构例的图。
图21是示出实施方式1的检索查询的例子的图。
图22是示出实施方式1的索引重构处理的例子的图。
图23是示出实施方式2的访问终端装置的结构例的图。
图24是示出实施方式2的数据加密处理的例子的流程图。
图25是示出实施方式2的加密标签的保管处理的例子的流程图。
图26是示出实施方式2的加密数据的检索处理的例子的流程图。
图27是示出实施方式2的加密标签的获取处理的例子的流程图。
图28是示出实施方式2的索引重构处理的例子的流程图。
图29是示出实施方式2的标签ID层次构造的例子的图。
图30是示出实施方式2的标签ID谓词矢量的生成例的图。
图31是示出实施方式2的标签ID属性矢量的生成例的图。
图32是示出实施方式2的解密者ID谓词矢量的生成例的图。
图33是示出实施方式2的解密者ID属性矢量的生成例的图。
图34是示出实施方式2的附有标签的加密数据的例子的图。
图35是示出实施方式1以及2的密钥管理服务器装置201等的硬件结构例的图。
(符号说明)
201:密钥管理服务器装置;202:主密钥生成部;203:密钥保管部;204:用户秘密密钥生成部;205:PKG侧数据发送接收部;206:用户ID信息管理部;301:访问终端装置;302:数据加密部;303:加密标签生成部;304:附有标签的加密数据生成部;305:用户秘密密钥管理部;306:检索查询生成部;307:数据解密部;308:群组(group)判定密钥生成部;309:终端侧数据发送接收部;310:群组化信息生成部;401:数据中心装置;402:中心侧数据发送接收部;403:保管请求处理部;404:加密数据管理部;405:索引管理部;406:检索处理部;2301:群组化比特串生成部。
具体实施方式
实施方式1.
在实施方式1以及2中,说明如下机制:在使用了概率性密码的隐匿检索方式中,通过追加地对加密标签还附上关键字的部分信息,从而使数据中心装置能够制作索引。
进而,在实施方式1以及2中,说明如下机制:在所登记的加密数据数增加而检索处理变慢时,通过提供进一步追加地公开关键字的部分信息的机制,使利用了概率性密码的隐匿检索安全地高速化。
图1是示出隐匿检索系统100的结构例的图。
隐匿检索系统100具备密钥管理服务器装置201、访问终端装置301(301a~301m)、数据中心装置401。
密钥管理服务器装置201和访问终端装置301与公司内LAN(LocalAreaNetwork,局域网)102连接。
公司内LAN102经由网络101而与数据中心装置401连接。
另外,访问终端装置301是数据处理装置的例子,数据中心装置401是数据保管装置的例子。
另外,访问终端装置301有时简记为访问终端,并且,数据中心装置401有时简记为数据中心。
密钥管理服务器装置201生成为了进行加密等处理而用户(访问终端装置301的利用者)全部人员共有的公开参数,并且生成用于对用户发行用户秘密密钥的主密钥。
另外,管理各用户的ID(Identification,标识),并且根据该ID对用户发行用户秘密密钥。
访问终端装置301是例如企业的用户利用的PC(PersonalComputer,个人计算机)。
访问终端装置301制作成为数据中心装置401中的保管对象的保管对象数据,对所生成的保管对象数据进行加密,将加密数据保管到数据中心装置401,并且检索数据中心装置401中积蓄的加密数据,对从数据中心装置401取出的加密数据进行解密而编辑。
数据中心装置401是具有对在企业内制作出的加密数据进行保管的大容量的存储装置的服务器装置。
数据以被加密了的状态被保管,所以在数据中心装置401中无法阅览内容。
网络101是连接公司内LAN102和数据中心装置401的通信路。
例如,因特网等是代表性的网络101的例子。
公司内LAN102是铺设在企业内的通信路,连接有在企业内利用的各种服务器、个人电脑。
另外,在多个建筑物中具有办公室的情况下,经由路由器、专用线等而成为复杂的通信路结构。
此处,在进行各装置的内部结构的详细说明之前,说明本实施方式中的隐匿检索系统100的概要。
访问终端装置301将保管对象数据的关键字(保管关键字的例子)作为密码密钥对随机数进行加密而生成标签数据(以下,还简称为标签)。
标签数据是在加密数据的检索时核对的数据。
另外,访问终端装置301将许可向数据中心装置401公开比特值的比特位置指定为许可比特位置。
进而,访问终端装置301针对保管对象数据的关键字进行规定的运算来生成规定的比特串(保管索引导出比特串的例子)。
然后,访问终端装置301进行如下隐匿化处理,即,将比特串内的许可比特位置的比特值对数据中心装置401公开,将比特串内的许可比特位置以外的比特值对数据中心装置401隐匿。
访问终端装置301使数据中心装置401根据比特串内的许可比特位置的被公开的比特值,导出在保管与保管对象数据的加密数据对应起来的标签数据时数据中心装置401对标签数据附加的索引值(保管索引值的例子)。
另外,该索引值是在从某一个访问终端装置301有检索请求的情况下,在数据中心装置401中,为了确定与检索请求中包含的陷门(被加密了的检索关键字)进行核对的标签数据而使用。
具体而言,通过从访问终端装置301向数据中心装置401提供解密密钥以及加密比特串来进行比特串的隐匿处理。
访问终端装置301针对每个许可比特位置,生成作为许可比特位置的加密比特的解密中使用的解密密钥的群组判定密钥(许可比特解密密钥的例子),将群组判定密钥发送给数据中心装置401。
在本实施方式中,以1比特单位指定许可比特位置,所以,例如,在访问终端装置301将上位3比特的比特值对数据中心装置401公开的情况下,与各比特对应地3个群组判定密钥依次被发送到数据中心装置401。
另外,访问终端装置301对根据保管对象数据的关键字生成的比特串进行加密。
更具体而言,访问终端装置301以许可比特位置的加密比特通过群组判定密钥被解密、许可比特位置以外的加密比特通过群组判定密钥不被解密的加密方式对比特串进行加密。
将被加密了的比特串称为群组化信息。
访问终端装置301将保管对象数据的加密数据、标签数据、以及群组化信息发送给数据中心装置401。
在数据中心装置401中,与标签数据对应起来保管加密数据。
另外,在数据中心装置401中,使用群组判定密钥对群组化信息的许可比特位置的加密比特进行解密,根据通过解密得到的比特值生成索引值,将标签数据和索引值对应起来保管。
另外,群组判定密钥以及群组化信息中的“群组”意味着标签数据的群组。
例如,如果许可比特位置是上位3比特,且根据某标签数据的群组化信息的上位3比特的解密得到的索引值是“011”,则该标签数据被分类为与得到了“011”的索引值的其它标签数据相同的群组。
然后,在对数据中心装置401中保管的加密数据进行检索时,访问终端装置301对检索对象的关键字(检索关键字的例子)进行加密而生成陷门(trapdoor),并且,通过与加密数据的保管时的比特串同样的生成步骤,根据检索关键字生成规定的比特串(检索索引导出比特串的例子)。
另外,访问终端装置301以许可比特位置的加密比特通过群组判定密钥被解密、许可比特位置以外的加密比特通过群组判定密钥不被解密的加密方式对比特串进行加密,生成群组化信息。
然后,访问终端装置301将包括陷门和群组化信息的检索查询(检索请求的例子)发送给数据中心装置401。
另外,对数据中心装置401登记加密数据的访问终端装置301、和对数据中心装置401请求加密数据的检索的访问终端装置301也可以不一致。
数据中心装置401在从访问终端装置301接收到检索查询的情况下,用群组判定密钥对检索查询中包含的群组化信息的许可比特位置的加密比特进行解密,从而导出索引值(检索索引值的例子)。
接下来,数据中心装置401选出附加了与所导出的索引值相同的索引值的标签数据而作为与陷门的核对对象。
例如,在用群组判定密钥对群组化信息进行解密而得到了“011”的索引值的情况下,选出附加索引值“011”而保管的标签数据。
数据中心装置401在对陷门与标签数据进行核对的结果,确定用与陷门的生成中使用的关键字相同的关键字生成的标签数据,抽出与所确定的标签数据对应起来的加密数据,将所抽出的加密数据发送给检索请求的发送源的访问终端装置301。
以上是本实施方式的隐匿检索系统100中的动作的概要,以下说明密钥管理服务器装置201、访问终端装置301以及数据中心装置401的内部结构,并且,说明各装置的动作的详细内容。
图2是示出密钥管理服务器装置201的结构的功能框图。
密钥管理服务器装置201具备主密钥生成部202、密钥保管部203、用户秘密密钥生成部204、PKG侧数据发送接收部205、用户ID信息管理部206。
主密钥生成部202根据在系统中利用的密钥长,生成利用隐匿检索的用户全部人员共通地利用的公开参数,并且生成成为生成用户秘密密钥的源的主密钥。
密钥保管部203将由主密钥生成部202生成的主密钥、公开参数存储到存储装置。
用户秘密密钥生成部204使用对用户唯一地分配的ID,根据主密钥生成用户秘密密钥,并发送给用户。
PKG侧数据发送接收部205是用于将公开参数发送给用户使用的访问终端装置301、数据中心装置401的通信功能。
另外,PKG侧数据发送接收部205还被用于将用户秘密密钥发送给访问终端装置301。
另外,PKG侧数据发送接收部205为了对企业内的用户公开用户ID信息,还有时根据用户的请求而将用户ID发送给访问终端装置301。
在用户ID信息管理部206中,将姓名、所属、登录ID、邮件地址等属性信息作为用户ID,用存储装置进行管理。
另外,用户ID信息管理部206不仅管理当前时间点处的属性信息,而且还将过去的属性信息作为历史进行管理。
图3是示出访问终端装置301的结构的功能框图。
访问终端装置301具备数据加密部302、加密标签生成部303、附有标签的加密数据生成部304、用户秘密密钥管理部305、检索查询生成部306、数据解密部307、群组判定密钥生成部308、终端侧数据发送接收部309、群组化信息生成部310。
数据加密部302从用户或者应用程序收到在数据中心装置401中保管的保管对象数据和用户ID,使用基于ID的密码对保管对象数据进行加密,得到保管对象数据的加密数据。
另外,数据加密部302从保管对象数据中抽出多个之后在检索中利用的关键字(保管关键字),并且从用户收到与数据关联起来的关键字。
这样,数据加密部302通过从保管对象数据抽出关键字或者从用户收到关键字,从而指定保管对象数据的关键字(保管关键字),相当于关键字指定部的例子。
加密标签生成部303根据在数据加密部302中与保管对象数据关联起来的多个关键字、用户ID、以及自身生成的随机数,生成多个标签(标签数据)。
另外,将由后述群组化信息生成部310生成的群组化信息和标签进行结合,生成多个加密标签。
附有标签的加密数据生成部304将由数据加密部302生成的加密数据、和由加密标签生成部303生成的多个加密标签进行结合而生成附有标签的加密数据,委托数据中心装置401进行保管。
用户秘密密钥管理部305将对用户个别地发行的用户秘密密钥、公开参数存储到存储装置中。
检索查询生成部306使用用户秘密密钥管理部305存储的用户秘密密钥和公开参数,对从用户指定的希望检索的关键字进行加密而生成陷门,进而,将由群组化信息生成部310生成的群组化信息和陷门进行结合而生成检索查询,发送给数据中心装置401。
这样,检索查询生成部306依照用户的指示,指定使数据中心装置401进行加密数据的检索的关键字(检索关键字),相当于关键字指定部的例子。
数据解密部307使用在用户秘密密钥管理部305中保管的用户秘密密钥和公开参数,对从数据中心装置401接收的加密数据进行解密。
群组判定密钥生成部308使用在用户秘密密钥管理部305中保管的用户秘密密钥和公开参数,生成为了生成用于使检索高速化的索引值而使用的群组判定密钥(许可比特解密密钥的例子),经由后述终端侧数据发送接收部309发送给数据中心装置401。
更具体而言,群组判定密钥生成部308指定群组化信息中的许可对数据中心装置401公开比特值的许可比特位置,生成作为用于对许可比特位置的加密比特进行解密的解密密钥的群组判定密钥。
所生成的群组判定密钥通过后述终端侧数据发送接收部309被发送到数据中心装置401,在数据中心装置401中使用群组判定密钥对群组化信息的许可比特位置的加密比特进行解密。
这样,群组判定密钥生成部308指定许可比特位置,相当于许可比特位置指定部的例子。
另外,群组判定密钥生成部308通过将群组判定密钥提供给数据中心装置401,从而将群组化信息的许可比特位置的比特值对数据中心装置401公开,使数据中心装置401根据群组化信息的许可比特位置的被公开的比特值,导出在对与保管对象数据的加密数据对应起来的标签数据进行保管时数据中心装置401对标签数据附加的索引值(保管索引值的例子)。
这样,群组判定密钥生成部308与后述群组化信息生成部310一起相当于隐匿化处理部的例子。
另外,如后所述,在数据中心装置401中将许可比特位置与节点的层次构造对应起来管理,所以,以下将许可比特位置还表示为层次。
例如,将上位第n个的比特位置记载为第n层。
终端侧数据发送接收部309从密钥管理服务器装置201接收公开参数、用户秘密密钥。
终端侧数据发送接收部309发送群组判定密钥。
另外,终端侧数据发送接收部309将所制作的附有标签的加密数据(保管请求的例子)发送给数据中心装置401。
另外,终端侧数据发送接收部309向数据中心装置401发送检索查询(检索请求的例子)、或者从数据中心装置401接收作为检索结果的加密数据。
终端侧数据发送接收部309是许可比特解密密钥发送部、保管请求发送部以及检索请求发送部的例子。
群组化信息生成部310生成为了在数据中心装置401中生成索引值而使用的群组化信息。
如上所述,在从某一个访问终端装置301有检索请求的情况下,在数据中心装置401中,为了确定与检索请求中包含的陷门进行核对的标签数据而使用该索引值。
群组化信息生成部310对保管对象数据的关键字进行规定的运算来生成规定的比特串(保管索引导出比特串的例子)。
然后,群组化信息生成部310以许可比特位置的加密比特通过群组判定密钥被解密、许可比特位置以外的加密比特通过群组判定密钥不被解密的加密方式对比特串进行加密。
被加密了的比特串成为群组化信息。
这样,群组化信息生成部310根据保管对象数据的关键字生成比特串(保管索引导出比特串的例子),并且通过加密进行使比特串隐匿的处理,相当于索引导出比特串生成部的例子,进而,与上述群组判定密钥生成部308一起相当于隐匿化处理部的例子。
群组化信息生成部310不仅在保管对象数据的保管时生成群组化信息,而且在加密数据的检索时也生成群组化信息。
加密数据的检索时的群组化信息的生成步骤本身与保管对象数据的保管时的群组化信息相同。
不同点仅在于,保管对象数据的保管时的群组化信息是根据保管对象数据的关键字(保管关键字)生成的,而数据检索时的群组化信息是根据从用户指示的用于检索的关键字(检索关键字)生成的。
图4是示出数据中心装置401的结构的功能框图。
数据中心装置401具备中心侧数据发送接收部402、保管请求处理部403、加密数据管理部404、索引管理部405、检索处理部406。
中心侧数据发送接收部402从访问终端装置301接收群组判定密钥。
另外,中心侧数据发送接收部402从访问终端装置301接收附有标签的加密数据。
另外,中心侧数据发送接收部402从访问终端装置301接收检索查询,作为其响应发送加密数据。
另外,中心侧数据发送接收部402从密钥管理服务器装置201接收公开参数。
中心侧数据发送接收部402相当于保管请求接收部以及检索请求接收部的例子。
保管请求处理部403对所接收到的附有标签的加密数据进行解析,分解为加密数据和多个加密标签,将加密数据交给加密数据管理部404,将加密标签以与加密数据关联起来的形式交给索引管理部405,从而进行附有标签的加密数据的保管处理。
加密数据管理部404将从访问终端装置301接收的加密数据、从密钥管理服务器装置201接收的公开参数等存储到存储装置中。
加密数据管理部404将从访问终端装置301接收的加密数据与标签对应起来保管。
索引管理部405保管从访问终端装置301接收的群组判定密钥。
因此,索引管理部405相当于许可比特解密密钥管理部的例子。
另外,索引管理部405以适合于从访问终端装置301接收的加密标签的检索的数据构造生成索引值,与索引值对应起来保管加密标签。
更具体而言,索引管理部405使用群组判定密钥对群组化信息内的许可比特位置的加密比特进行解密,根据通过解密得到的比特值导出索引值,将所导出的索引值和加密标签对应起来保管。
另外,索引管理部405在接收到来自访问终端装置301的检索查询的情况下,使用群组判定密钥,对检索查询中包含的群组化信息内的许可比特位置的加密比特进行解密,根据通过解密得到的比特值导出索引值,抽出和与所导出的索引值相同的索引值对应起的加密标签。
另外,索引管理部405在新接收到群组判定密钥时,实施对加密标签进行保管的索引信息的重构。
检索处理部406进行从访问终端装置301接收的检索查询与从索引管理部405抽出的加密标签内的标签的核对处理。
检索处理部406通过该核对处理,判定标签中包含的关键字和检索查询中包含的关键字是否一致。
之后,检索处理部406从加密数据管理部404获取与在检索中命中的标签关联起来的加密数据,经由中心侧数据发送接收部402返回给访问终端装置301。
接下来,根据图5,说明系统初始设定的处理。
系统初始设定是由密钥管理服务器装置201实施的处理,且是在利用隐匿检索系统100之前被实施1次的处理。
最初,在步骤S501中,主密钥生成部202决定利用群组化信息生成的索引值的最大树层次数L(L是任意的整数)。
在对N个数据关联起来的关键字的合计是M个的情况下,在以往方式中需要与M成比例的检索时间,但通过使用索引值,能够削减为与M/2^L成比例的检索时间。
因此,最大树层次数L是参考所保存的数据的最大个数、与数据关联起来的关键字数、现有隐匿检索方式和现有加密方式的处理时间、以及在检索时求出的响应时间来决定的。
另外,最大树层次数L相当于许可比特位置的最大个数。
接下来,在步骤S502中,主密钥生成部202决定在本隐匿检索系统100中利用的基于概率性密码的现有隐匿检索方式、用于制作群组化信息的现有加密方式A、对数据主体进行加密的现有加密方式B。
在本实施方式中,将非专利文献4中记载的群组共有型隐匿检索方式利用为现有隐匿检索方式,将基于层次型ID的密码利用为在群组化信息生成中使用的现有加密方式A,并利用为在数据主体的加密中利用的现有加密方式B。
然后,决定现有隐匿检索方式的利用方法。
在本实施方式中利用的现有隐匿检索方式中,主密钥生成部202决定标签ID层次数和标签ID层次构造。
例如,如图12的标签ID层次构造所示,主密钥生成部202决定标签ID由3个层次构成,由保存可检索的用户所属的部门、科室等群组名称的群组名栏、保管姓名等的用户名栏、设定与数据关联起来的关键字的关键字栏构成等。
然后,主密钥生成部202决定用于群组化信息生成的现有加密方式A的利用方法。
在本实施方式中利用的现有加密方式A中,主密钥生成部202决定群组化信息ID层次数和群组化信息ID层次构造。
例如,决定利用图13那样的群组化信息ID层次构造。
在图13的群组化信息ID层次构造中,群组名栏和用户名栏与图12的标签ID层次构造的群组名栏和用户名栏相同,不同点在于,代替关键字而保存层次编号。
通过在层次编号中加入索引值的树层次的编号(许可比特位置的编号),生成与该树层次的各层对应的群组化信息生成密钥。
如后所述,群组化信息生成密钥是在访问终端装置301中生成群组化信息时使用的密码密钥。
同样地,主密钥生成部202决定用于对数据主体进行加密的现有加密方式B的利用方法。
在本实施方式中,决定解密者ID层次数和解密者ID层次构造。
例如,决定图14那样的解密者ID层次构造。
在图14的解密者ID层次构造中,群组名栏和用户名栏与图12的标签ID层次构造的群组名栏和用户名栏相同。
接下来,在步骤S503中,用户ID信息管理部206构筑保管用户ID、属性信息的用户ID信息数据库。
用户ID信息数据库保管为了制作用户秘密密钥而所需的信息、以及在访问终端装置301对数据进行加密时为了确定对方的群组名/用户名而所需的信息。
例如,如图15所示,在用户ID信息数据库中,保存作为群组ID的部门名、作为用户ID的姓名、所属信息、职务信息、在该所属/职务等的期间等。
另外,在用户ID信息数据库中,不仅保存最新的状况,而且也可以保存过去的所有历史。
接下来,在步骤S504中,主密钥生成部202执行在系统中利用的现有隐匿检索方式的主密钥生成算法,来生成隐匿检索用主密钥和隐匿检索用公开参数。
同样地,主密钥生成部202执行现有加密方式A的主密钥生成算法来生成群组化信息用主密钥和群组化信息用公开参数,执行现有加密方式B的主密钥生成算法来生成加密用主密钥和加密用公开参数。
以后,将隐匿检索用主密钥和群组化信息用主密钥和加密用主密钥合起来称为主密钥,将隐匿检索用公开参数、群组化信息用公开参数以及加密用公开参数合起来称为公开参数。
接下来,在步骤S505中,密钥保管部203将在主密钥生成部202中生成的主密钥和公开参数保管到存储装置。
接下来,在步骤S506中,PKG侧数据发送接收部205对访问终端装置301公开密钥保管部203中保管的公开参数。
通过以上的步骤,本隐匿检索系统的设置完成。
另外,在S503中生成的用户ID信息数据库在系统的运用中,每当有用户的人事调动、入职、辞职时,内容被维护。
接下来,根据图6,说明用户秘密密钥发行的处理。
用户秘密密钥发行处理是主要在密钥管理服务器装置201和访问终端装置301中实施的处理,在追加了新用户的情况、或当用户所属的群组名变化了时等实施。
最初,在步骤S601中,密钥管理服务器装置201的用户秘密密钥生成部204从用户ID信息管理部206保持的用户ID信息数据库获取群组名和用户名。
接下来,在步骤S602中,用户秘密密钥生成部204生成用于生成检索查询的隐匿检索用用户秘密密钥、用于生成群组判定密钥的群组化信息用用户秘密密钥、用于对加密数据进行解密的加密用用户秘密密钥。
在现有隐匿检索方式中,在生成隐匿检索用用户秘密密钥时需要指定标签ID层次构造,但通过将在S601中获取的群组名设定到群组名栏、并同样地将用户名设定到用户名栏、并将关键字指定为可移交的要素(在访问终端装置301中可指定的要素),从而能够生成隐匿检索用用户秘密密钥。
在现有加密方式A中,在生成群组化信息用用户秘密密钥时需要指定群组化信息层次构造,但通过将在S601中获取的群组名设定到群组名栏、并同样地将用户名设定到用户名栏、并将层次编号指定为可移交的要素(在访问终端装置301中可指定的要素),从而能够生成群组化信息用用户秘密密钥。
同样地,在现有加密方式B中生成加密用用户秘密密钥时需要指定解密者ID层次构造,但通过将在S601中获取的群组名指定到群组名栏、并同样地将用户名指定到用户名栏,从而能够生成加密用用户秘密密钥。
将在上述中生成的隐匿检索用用户秘密密钥、群组化信息用用户秘密密钥、加密用用户秘密密钥这3个合起来称为用户秘密密钥。
接下来,在步骤S603中,PKG侧数据发送接收部205将在S602中生成的用户秘密密钥、和在密钥保管部203中保管的公开参数发送给访问终端装置301。
接下来,在步骤S604中,访问终端装置301将在S603中从密钥管理服务器装置201收到的用户秘密密钥和公开参数保管到用户秘密密钥管理部305。
通过以上的步骤,密钥管理服务器装置201能够对操作访问终端装置301的用户发行用户秘密密钥。
接下来,根据图7和图8,说明数据的加密处理。
数据加密处理是主要在访问终端装置301和数据中心装置401中实施的处理,在对保管对象数据进行加密而保管到数据中心装置401时实施。
最初,在步骤S701中,访问终端装置301从操作访问终端装置301的用户,收到能够对保管对象数据的加密数据进行检索/解密的用户的群组名以及用户名(可访问保管对象数据的用户的用户信息的例子),输入到数据加密部302、加密标签生成部303、以及群组化信息生成部310。
接收的群组名、用户名不必是一个,在可解密的用户是多人的情况下,还能够接收多个。
另外,在本实施方式中利用的现有隐匿检索方式、现有加密方式A、现有加密方式B中,作为群组名、用户名还能够接收意味着谁都可以的通配符。
接下来,在步骤S702中,数据加密部302从用户接收保管对象数据,决定与保管对象数据关联起来的关键字。
关键字既可以从保管对象数据自动地抽出,也可以从用户接收。
另外,关键字不必是1个,而也可以将多个关联起来。
接下来,在步骤S703中,数据加密部302使用在S701中接收到的群组名和用户名,对在S702中接收到的保管对象数据进行加密。
具体而言,数据加密部302随机地生成会话密钥,通过该会话密钥,使用AES(AdvancedEncryptionStandard,高级加密标准)、Camellia(注册商标)等共通密钥密码对保管对象数据进行加密,生成加密数据主体。
接下来,数据加密部302对解密者ID层次构造的群组名和用户名分别指定在S701中接收到的群组名和用户名,将其作为加密用公开密钥,使用现有加密方式B对会话密钥进行加密,生成加密会话密钥。
然后,数据加密部302通过组合上述2个加密结果,生成加密数据。
图16示出所生成的加密数据的数据构造。
另外,在S701中收到了多个群组名和用户名的情况下,需要对所有群组名和用户名的组生成加密会话密钥。
接下来,在步骤S704中,群组化信息生成部310接收用于生成加密标签的关键字(保管对象数据的关键字),对各关键字生成群组化信息。
具体而言,群组化信息生成部310对群组化信息ID层次构造(图13)的群组名和用户名分别指定在S701中接收到的群组名和用户名,在层次编号中将1至L(在图5的S501中决定的索引信息的最大树层次数)的数设定为字符串,从而制作L个群组化信息生成密钥。
另外,对层次编号设定了1的群组化信息ID层次构造成为第1层次的群组化信息生成密钥,对层次编号设定了L的群组化信息ID层次构造成为第L层次的群组化信息生成密钥。
接下来,群组化信息生成部310根据关键字生成L比特的比特串。
这例如能够通过使用SHA-2等散列函数来生成关键字的散列值,并从其中抽出任意的L比特来制作。
因此,在散列值中也可以连续地选择L比特,也可以例如如散列值的第1比特、第3比特、第6比特、以及第11比特那样非连续地选择L比特。
但是,在检索时生成的群组化信息中,也需要在相同的比特位置选择L比特。
另外,群组化信息生成部310针对抽出比特串的第一个使用第1层次群组化信息生成密钥通过现有加密方式A进行加密来制作加密第1信息,针对第二个使用第2层次群组化信息生成密钥通过现有加密方式A进行加密来制作加密第2信息,依次直至第L个为止对全部进行加密,将它们合起来作为群组化信息。
这样,群组化信息生成部310使用反映了针对保管对象数据的访问被许可的用户的用户信息的L个群组化信息生成密钥,对关键字的散列值的L比特进行加密,来生成群组化信息。
图17示出所生成的群组化信息的结构。
另外,在S701中收到了多个群组名和用户名的情况下,对所有群组名和用户名的组生成群组化信息。
接下来,在步骤S705中,加密标签生成部303对关键字进行加密来生成加密标签。
具体而言,加密标签生成部303对标签ID层次构造的群组名和用户名指定在S701中接收到的群组名和用户名,对关键字栏指定在S702中决定的关键字,将该标签ID层次构造作为密码密钥对随机数进行加密,以现有隐匿检索方式制作标签。
然后,加密标签生成部303将该标签、和在S704中根据相同的关键字制作的群组化信息结合而作为加密标签。
图16示出所生成的加密标签的结构。
另外,上述是针对1个关键字的处理,所以针对与数据关联起来的所有关键字实施该处理。
另外,在S701中收到了多个群组名和用户名的情况下,对所有群组名和用户名的组生成加密标签。
接下来,在步骤S706中,附有标签的加密数据生成部304将在S703中生成的加密数据、和在S705中生成的加密标签结合而生成附有标签的加密数据,经由终端侧数据发送接收部309将附有标签的加密数据向数据中心装置401作为保管委托而发送。
此时,为了使在数据中心装置401保管附有标签的加密数据变得容易,将在S701中收到的群组名和用户名一起发送。
在图16中,示出了将群组名和用户名包含于附有标签的加密数据中的结构的附有标签的加密数据。
接下来,在步骤S707中,数据中心装置401的保管请求处理部403分解从访问终端装置301收到的附有标签的加密数据,取出加密数据和多个加密标签。
然后,在加密数据管理部404中保管加密数据。
另外,加密数据管理部404针对在S706中在附有标签的加密数据中包含的群组名和用户名的每一个分开保管加密数据,进而对所保管的加密数据赋予管理编号,从而使得以后能够根据管理编号唯一地确定加密数据。
另外,在加密数据与多个群组名、用户名关联起来的情况下,对各个群组名和用户名关联起来保管加密数据。
在与多个群组名和用户名关联起来的情况下,加密数据仅保存1个,其他仅保管参照信息,从而能够实现盘容量的节约。
图18示出加密数据的保管例。
如图18那样,如以下那样进行保管:将群组名是“总务部”且用户名是“*”(通配符)的加密数据和管理编号合起来管理,进而将群组名是“开发部”且用户名是“*”的加密数据和管理编号合起来管理。
另外,在有对总务部和开发部这两方公开的数据的情况下,例如对管理编号000002关联加密数据主体而保管,在管理编号100002中保管作为加密数据参照管理编号000002那样的指针。
接下来,在步骤S708中,保管请求处理部403将在S706中获取的多个加密标签与对应的加密数据的管理编号一起发送给索引管理部405。
索引管理部405针对在S706中在附有标签的加密数据中包含的群组名和用户名的每一个,分开保管所接收到的加密标签和管理编号。
另外,索引管理部405中的加密标签的保管处理复杂,所以使用图8详细说明。
另外,如图19的例子所示,设为索引信息也针对群组名、用户名的每一个进行管理。
另外,在图19的索引信息中,群组判定密钥集合的第1层用的群组判定密钥是用于对群组化信息内的加密第1信息(图17)进行解密的解密密钥、即用于对许可比特位置的第1比特的加密比特进行解密的解密密钥。
同样地,群组判定密钥集合的第2层用的群组判定密钥是用于对群组化信息内的加密第2信息(图17)进行解密的解密密钥、即用于对许可比特位置的第2比特的加密比特进行解密的解密密钥。
另外,索引信息内的节点是与加密标签(标签+群组化信息)对应起来的索引值。
例如,节点“01”表示对群组化信息的加密第1信息进行解密而得到的比特值是“0”、对加密第2信息进行解密而得到的比特值是“1”,将它们连结而得到“01”。
即,在图19的例子中,从访问终端装置301,仅被许可上位2个比特位置的比特值的公开,只有2个群组判定密钥被提供到数据中心装置401,因此,索引值成为2比特。
在图8的流程中,首先,在步骤S801中,索引管理部405检索针对群组名和用户名的每一个管理的多个索引信息,确定与能够通过在S706中接收到的群组名和用户名进行访问的加密数据对应的索引信息(包括使用了通配符的索引信息),取出此前从访问终端装置301收到的群组判定密钥。
此处,群组判定密钥针对每个层次(每个许可比特位置)各分配有一个,如后所述从第1层次依次一个一个地从访问终端装置301公开,所以在此假设为保管了合计L’(L’≦L)个群组判定密钥。
由访问终端装置301执行的群组判定密钥的生成、从访问终端装置301向数据中心装置401的群组判定密钥的发送、数据中心装置401中的群组判定密钥的保管与图7以及图8所示的流程非同步地进行,此处,假设为由访问终端装置301已经生成了L’个群组判定密钥,并已保管到数据中心装置401的索引管理部405。
另外,参照图11,在后面详述由访问终端装置301执行的群组判定密钥的生成、数据中心装置401中的群组判定密钥的保管。
接下来,在步骤S802中,索引管理部405从在S707中收到的多个加密标签之中,取出1个未保管的加密标签,分解为标签和群组化信息。
接下来,在步骤S803中,索引管理部405分解群组化信息而取出加密第1信息至加密第L信息(图17)。
然后,针对加密第1信息至加密第L’信息,使用第1层用的群组判定密钥至第L’层用的群组判定密钥进行解密,取得第1信息至第L’信息。
接下来,在步骤S804中,索引管理部405根据在S803中取出的第1信息至第L’信息,将第1信息用作用于从第0层节点决定第1层节点的信息,将第2信息用作用于从第1层节点决定第2层节点的信息。
然后,索引管理部405从与在S705中收到的群组名和用户名对应的二叉树中确定相应的节点,与该节点关联起来保管在S802中取出的加密标签和在S707中收到的管理编号。
例如,如图20所示,最初以根节点(N(R))为起点,根据第1信息是0还是1来取出左右的某一个子节点。
同样地,根据第2信息是0还是1来取出左右的某一个子节点。
使用所保有的所有信息来实施该处理。
另外,图20的右侧的箭头内的“1”表示通过第1信息选择第1层的节点,并且,箭头内的“2”表示通过第2信息选择第2层的节点。
例如,在第1信息是0、第2信息是1的情况下,将图20所示的节点01(N(01))检测为相应节点,与该节点01关联起来保管加密标签和管理编号。
在上述图19中,示出了以表形式保管了表示将第1信息至第L’信息(在图19中,L’=2)排列而制作出的节点的编号(索引值)、加密标签、以及对应的加密数据的管理编号的索引信息的例子。
接下来,在步骤S805中,索引管理部405从在S707中收到的多个加密标签之中,判定是否剩下未实施S802至S804的处理的加密标签。
如果剩下,则返回到S802的处理,如果未剩下,则结束。
通过以上的步骤,访问终端装置301能够对数据进行加密而对数据中心装置401请求保管,数据中心装置401能够对所接收到的附有标签的加密数据进行保管。
接下来,根据图9,说明加密数据的检索处理。
加密数据检索处理是主要由访问终端装置301和数据中心装置401实施的处理,在获取数据中心装置401中保管的加密数据时实施。
首先,在步骤S901中,访问终端装置301的检索查询生成部306从操作访问终端装置301的用户,接收希望检索的关键字。
进而,检索查询生成部306将所接收的检索关键字通知到群组化信息生成部310。
接下来,在步骤S902中,群组化信息生成部310根据从检索查询生成部306通知到的检索关键字生成群组化信息。
本处理与步骤S704的处理相同。
即,群组化信息生成部310输入访问终端装置301的群组名和用户名(想要检索加密数据的用户的所属群组的群组名和该用户的用户名),将所输入的群组名和用户名指定到群组化信息ID层次构造(图13)的群组名和用户名,对层次编号将1至L的数设定为字符串,从而制作L个群组化信息生成密钥。
接下来,群组化信息生成部310例如使用SHA-2等散列函数,根据检索关键字生成L比特的比特串。
另外,从散列值的L比特的抽出是抽出与加密数据保管时相同的比特位置的散列值。
另外,群组化信息生成部310针对抽出比特串的第一个使用第1层次群组化信息生成密钥以现有加密方式A进行加密而制作加密第1信息,针对第二个使用第2层次群组化信息生成密钥以现有加密方式A进行加密而制作加密第2信息,依次直至第L个为止对全部进行加密,将它们合起来作为群组化信息。
接下来,在步骤S903中,检索查询生成部306使用在S901中接收的检索关键字、和由用户秘密密钥管理部305保管的用户秘密密钥,生成检索查询。
具体而言,将隐匿检索用用户秘密密钥和检索关键字作为输入,执行现有隐匿检索方式的检索查询生成函数,生成陷门。
接下来,检索查询生成部306将在S902中生成的群组化信息和陷门结合而作为检索查询。
图21示出所生成的检索查询的结构。
然后,检索查询生成部306经由终端侧数据发送接收部309,将所生成的检索查询发送给数据中心装置401。
此时,用户自身的群组名和用户名也被发送。
接下来,在步骤S904中,数据中心装置401的检索处理部406从经由中心侧数据发送接收部402从访问终端装置301接收的检索查询取出陷门和群组化信息,从索引信息(图19)获取成为检索候补的所有加密标签。
另外,索引管理部405中的加密标签的获取处理复杂,所以使用图10来详细说明。
在步骤S1001中,索引管理部405检索针对群组名和用户名的每一个管理的多个索引信息,确定与能够通过在S903中与检索查询一起接收的群组名和用户名访问的加密数据对应的索引信息。
然后,将未处理的索引信息确定为从此进行处理的对象的索引信息。
步骤S1002和步骤1003分别与步骤S801和步骤S803相同。
即,索引管理部405对群组化信息进行分解而取出加密第1信息至加密第L信息(图17)。
然后,针对加密第1信息至加密第L’信息,使用第1层用的群组判定密钥至第L’层用的群组判定密钥进行解密,取得第1信息至第L’信息。
接下来,在步骤S1004中,索引管理部405使用在步骤S804中示出的步骤,从二叉树中确定与在S903中取出的群组化信息对应的节点,在此设定表示是处理中的指针。
然后,将与该指针所指示的节点关联起来的加密标签和管理编号的组全部取出,发送给检索处理部406。
即,索引管理部405在S1001中确定的索引信息中确定与根据用第1信息至第L’信息表示的比特值得到的值(索引值)相同的值的节点编号,将与所确定的节点编号对应起来的加密标签和管理编号的组全部取出,发送给检索处理部406。
例如,在图19的例子中,在从属于总务部的用户发送了检索查询的情况下,在S1001中,选择群组名:总务部、用户名:*的索引信息,并且,如果对检索查询内的群组化信息进行解密而得到的索引值是“01”,则抽出加密标签“2j0”#%Dq”和管理编号“000001”的组、加密标签“3ui8$SE<”和管理编号“000002”的组。
接下来,在步骤S1005中,索引管理部405针对当前指针所指示的节点,确定是否存在父节点。
如果存在,则使处理进入步骤S1006,如果不存在,则使处理进入步骤S1007。
例如,如果指针指示根节点,则不存在父节点,所以进入步骤S1007的处理。
S1005以及S1006是用于应对在使用图11后述的索引重构处理的过程中接收到检索查询的情况的处理。
即,在索引重构处理中,在所有加密标签和管理编号的组被分配到新的节点编号(L’+1层次的节点编号)之前接收到检索查询的情况下,不仅需要关于L’+1层次的节点编号的检索,而且还需要关于分配未完成的L’层次的节点编号(父节点)的检索,所以进行S1005以及S1006的处理。
接下来,在步骤S1006中,索引管理部405使指针移动到当前指针所指示的节点的父节点,将与该指针所指示的节点关联起来的加密标签和管理编号的组全部取出,发送给检索处理部406。
例如,在指针指示图20的节点01(N(01))的情况下,取出作为父节点的节点0(N(0))的加密标签和管理编号的组。
之后,进入S1005的处理。
接下来,在步骤S1007中,索引管理部405判定在与在S1001中确定的可访问的加密数据对应的索引信息中,是否有尚未进行步骤S1002至S1006的处理的索引信息,如果存在则进入步骤S1001的处理,如果不存在则结束处理。
通过以上,在步骤S904中实施的、从索引信息获取成为检索的候补的所有加密标签的处理结束。
接下来,在步骤S905中,检索处理部406从在S904中获取的加密标签取出标签,使用现有隐匿检索技术的判定处理,判定标签中包含的关键字和在S904中取出的陷门中包含的关键字是否相同。
在现有隐匿检索技术的判定处理中,只能够实施1个标签和1个陷门的比较,所以对在S904中获取的所有加密标签实施该现有隐匿检索技术的判定处理。
然后,检索处理部406确定与判定处理的结果判定为一致的加密标签关联起来的管理编号。
接下来,在步骤S906中,检索处理部406从加密数据管理部404获取与在S905中确定的管理编号对应的所有加密数据,经由中心侧数据发送接收部402发送给访问终端装置301。
接下来,在步骤S907中,访问终端装置301的数据解密部307针对在S906中从数据中心装置401收到的加密数据,使用由用户秘密密钥管理部305保管的加密用用户秘密密钥,使用现有加密方式的解密处理进行解密。
对所有加密数据实施该处理。
通过以上的步骤,访问终端装置301能够从用户接收检索关键字,从数据中心装置401获取包括该关键字的加密数据,对所获取的加密数据进行解密而阅览数据。
接下来,根据图11,说明追加索引树的层次数时的索引重构处理。
索引重构处理是主要由访问终端装置301和数据中心装置401实施的处理。
首先,在步骤S1101中,访问终端装置301的群组判定密钥生成部308从用户接收群组名和用户名,作为用于确定进行重构的索引信息的信息。
在数据中心装置401中,针对作为加密数据的公开目的地的群组名和用户名的每一个管理索引信息,所以能够使用在此接收到的群组名和用户名,唯一地确定所重构的索引信息。
接下来,在步骤S1102中,群组判定密钥生成部308从用户秘密密钥管理部305取出群组化信息用用户秘密密钥、和已经发行完的群组判定密钥的层次数。
然后,群组判定密钥生成部308确定新发行的群组判定密钥的层次L’+1。
即,群组判定密钥生成部308指定作为新的许可比特位置的第L’+1比特。
关于群组化信息用用户秘密密钥,由于以指定了群组化信息ID层次构造(图13)的群组名和用户名的状态发行,所以群组判定密钥生成部308通过新指定层次编号L’+1来执行现有加密方式的密钥移交功能,从而生成与层次L’+1对应的群组判定密钥。
然后,群组判定密钥生成部308将所生成的群组判定密钥与对在S1101中接收的希望重构的索引信息关联起来的群组名和用户名一起,经由终端侧数据发送接收部309发送给数据中心装置401。
另外,由群组判定密钥生成部308生成与新的层次L’+1对应的群组判定密钥以及向数据中心装置401发送相当于指定新的许可比特位置以及许可新的许可比特位置的加密比特的解密。
接下来,在步骤S1103中,数据中心装置401的索引管理部405根据在S1102中接收的群组名和用户名确定对应的索引信息和群组判定密钥集合,将所收到的层次L’+1用的群组判定密钥与对应的层次编号L’+1一起保管到群组判定密钥集合内。
接下来,在步骤S1104中,索引管理部405取出在S1103中确定的索引信息,从其最下层(层次编号L’)的节点中选择一个节点。
接下来,在步骤S1105中,索引管理部405取出与在步骤S1104或者S1107中选择的第L’层次节点关联起来的加密标签和管理编号,进而从加密标签取出群组化信息。
然后,针对群组化信息的加密第L’+1信息,使用层次L’+1用的群组判定密钥,以现有加密方式进行解密,从而获取用于将加密标签分配给第L’+1层次的第L’+1信息。
然后,关于加密标签和管理编号,根据第L’+1信息决定分配给所选择的第L’层次节点的子节点中的哪一个,删除第L’层次节点的关联,重新与第L’+1层次节点关联起来保存。
对与所选择的第L’层次关联起来的所有加密标签实施该处理。
图22示出本处理的图。
接下来,在步骤S1106中,索引管理部405从第L’层次的节点,确定是否存在未实施步骤S1105的处理的节点。
如果存在未进行处理的节点的情况下,进入步骤S1107,在没有未进行处理的节点的情况下,结束。
接下来,在步骤S1107中,索引管理部405从第L’层次的节点,选择未实施步骤S1105的处理的节点,进入步骤S1105的处理。
如图19所示,索引管理部405与节点编号对应起来存储加密标签。
在加密标签中,包括群组化信息。
在图19的例子中,只有群组化信息的上位2比特被解密,第3比特以后是被隐匿的状态。
此时,在访问终端装置301许可了群组化信息的直至上位第3比特为止的比特值的公开的情况下,用于第3比特的解密的群组判定密钥(第3层用的群组判定密钥)从访问终端装置301被发送到数据中心装置401。
当以图19的群组名:总务部、用户名:*的索引信息为例子进行说明时,针对第1行的记录(record)的加密标签(“2j0”#%Dq”)中包含的群组化信息的第3比特的加密比特(加密第3信息),使用第3层用的群组判定密钥进行解密,获取第3比特的解密值(第3信息)。
其结果,如果第3比特的解密值是例如“0”,则作为新的节点编号,设定“010”,对该新的节点编号“010”将加密标签“2j0”#%Dq”和管理编号“000001”的组对应起来。
对其他记录也进行同样的处理。
例如,在针对群组名:总务部、用户名:*的索引信息的第2行的记录,对群组化信息的第3比特的加密比特进行解密而得到了新的节点编号“011”的情况下,第1行的记录的标签和第2行的记录的标签属于不同的群组。
这样,如果节点编号的比特数增加,则各群组中包含的标签的数量减少,能够降低接收到检索查询时的陷门和标签的核对处理所需的时间。
通过以上的步骤,访问终端装置301针对数据中心装置401新生成群组判定密钥而请求索引信息的重构,数据中心装置401通过进行自身管理的索引信息的重构,从而能够使索引信息的层次数增加1层。
如以上那样,针对加密标签包括根据关键字生成的群组化信息,根据需要,数据中心装置401从用户接收群组判定密钥,从而能够使用群组化信息进行与关键字对应的加密标签的群组化。
在检索时,也根据检索查询中包含的关键字制作群组化信息,所以根据需要,数据中心装置401使用该群组化信息和群组判定密钥,从而能够唯一地确定希望检索的关键字对应于哪个加密标签的群组。
因此,无需对所有加密标签进行现有隐匿检索技术的判定处理,仅对属于特定的群组的加密标签进行现有隐匿检索技术的判定处理即可,能够大幅削减隐匿检索的时间。
例如,在对数据中心装置401公开了L’个群组判定密钥的状况下,能够将M个加密标签分割为2^L’个群组,所以在各群组中平均地包括M/2^L’个加密标签。
因此,通过本实施方式,检索处理被高速化为2^L’倍。
另外,将用于进行群组化的信息以1比特单位等分割而进行加密,用户公开群组判定密钥,从而使数据中心装置401能够获取用于在群组化中使用的信息。
因此,根据所公开的群组判定密钥的数量,用户能够调整群组化的等级。
例如,假设在公开了L’个群组判定密钥的状况下,随着加密数据的保管数增加,检索时间成为T时间,在运用中产生障碍。
此时,通过新公开与第L’+1层次对应的群组判定密钥,能够将加密标签分割为2倍的群组,所以能够将检索时间削减为T/2。
另一方面,在密码算法开发的领域中,无法通过加密数据中包含的关键字进行加密数据的群组化被评价为具有高的安全性的密码。
因此,希望保护数据的机密性的用户不期望加密数据在数据中心装置401中被不必要地群组化。
根据本实施方式,能够根据用户要求的安全性的等级和检索处理的响应时间,以仅将必要最小限的群组判定密钥提供给数据中心装置401的方式,用户自身进行控制。
因此,即使作为群组化信息附加了L比特的信息,通过调整所公开的群组判定密钥的数量,也能够由用户自身调整安全性和高速性的平衡。
进而,关于所公开的群组判定密钥的数量的调整,只有具有正规的用户秘密密钥的用户能够实施,所以能够防止由第三方非法地制作/公开群组判定密钥那样的、使安全性降低的非法行为。
另外,本实施方式所示的方式是通过对现有隐匿检索的标签附加群组化信息从而使其检索性能提高的扩展方式。
因此,不仅能够应用于在本实施方式中示出的现有隐匿检索方式,而且还能够应用于所提出的各种现有隐匿检索方式,能够提高其检索性能。
在本实施方式中,示出了应用于非专利文献4中记载的方式的例子,但不会丧失非专利文献4所实现的能够进行加密数据的群组共有这样的特征,而能够使隐匿检索的检索速度高速化。
同样地,还能够应用于例如非专利文献1中记载的方式,在非专利文献3中记载的方式等中也能够应用,能够应用于所有现有隐匿检索方式。
另外,不论作为现有隐匿检索方式、现有加密方式A或现有加密方式B采用何种方式,都成为了高速化手法。
因此,还能够利用一般经常利用的RSA(注册商标)(RivestShamirAdleman,维斯特沙米尔艾德曼)密码等。
另外,在本实施方式中,示出了使基于概率性密码的隐匿检索技术高速化的手法。
一般情况下,如果只看隐匿检索的检索时间,则基于确定性密码的方式更快,但存在能够分析加密数据的出现频度来推测明文这样的课题。
另一方面,在基于概率性密码的方式中,由于加密数据的出现频度与关键字的出现频度无关,所以存在如下课题:虽然相对于根据出现频度的分析而进行的明文推测是安全的,但在检索处理中非常花费时间。
但是,在本实施方式中,是基于了概率性密码,所以具有如下优点:尽管检索被高速化,但保留了针对利用出现频度的分析的安全性。
另外,关于加密数据、索引,设为了针对群组名和用户名的组的每一个进行制作/管理的机制。
因此,在用户进行检索的情况下,无需检索包括根本无法读取的加密数据的索引信息,所以能够大幅提高检索处理。
另外,通过群组名、用户名决定加密数据的公开范围,但可以预想一般针对每个公开范围保管的加密数据的数量不同。
在本实施方式中,关于群组判定密钥的公开,设为了对与群组名和用户名的组关联起来的索引实施那样的机制。
因此,能够针对每个公开范围调整安全性和高速性的平衡。
另外,在使用检索查询中包含的群组化信息,从索引信息获取应作为检索对象的加密标签时,不仅将对与群组化信息对应的节点关联起来的加密标签作为检索对象,而且将对其所有上位节点关联起来的加密标签也作为检索对象。
因此,即使在追加地接收群组判定密钥来进行索引信息的重构的过程中接收到检索查询,也能够不遗漏地检查应作为检索对象的加密标签。
另外,在生成群组化信息时使用了作为基于层次型ID的密码的非专利文献4,所以能够削减对用户发送群组信息生成密钥的通信量。
具体而言,只要仅发送群组名、用户名、以及最大层次数L,则通过在访问终端装置301中对群组化信息ID层次构造设定所收到的值,就能够生成L个群组信息生成密钥,所以能够削减通信成本。
另外,由于设为了在生成加密数据时接收多个群组名和用户名那样的机制,所以即使存在多个公开目的地的用户、群组,在本方式下也能够对多个公开目的地公开加密数据,并且不论公开目的地数为多少都能够提高检索速度。
另外,关于与加密数据关联起来的关键字,既可以从正文自动抽出,也可以由用户指定,还可以将其两者组合,所以能够按照用户的意图附加检索时想要指定的关键字。
另外,设为了在对数据进行加密时能够利用AES、Camellia(注册商标)等高速的共通密钥密码的机制,所以即使是动画、音乐数据等大的大小的数据,也能够高速地进行加密。
另外,由于使密钥管理服务器装置201具有用户ID信息数据库,所以即使用户不知道能够对加密数据进行解密的用户的群组名、用户名,也能够根据用户所知道的邮件地址等其他信息,获取正确的群组名、用户名,所以能够防止错误地设定加密数据的公开范围。
同样地,还成为用于生成群组化信息、或者用于生成加密标签的辅助。
(二叉树以外也能够应用)
另外,在本实施方式中,示出了构成使用了二叉树的索引信息的例子。
但是,所生成的索引不限于二叉树,只要能够根据群组化信息生成,则也可以是更一般的树构造,也可以是散列表。
另外,作为索引信息而制作出的二叉树,无需以保持其构造的状态保管到盘,也可以如作为例子示出那样分配节点编号而以表形式进行保管,也可以以其他数据形式进行保管。
(群组化信息无需限制为1比特)
另外,在本实施方式中,通过对根据关键字生成的比特串的第i比特进行加密,来生成群组化信息的加密第i信息。
但是,无需一个比特一个比特地进行加密,而也可以使用2比特以上的信息来生成加密第i信息。
例如,还能够根据关键字生成2L比特的比特串,对其第2i-1比特和第2i比特进行加密,来生成加密第i信息。
(群组化信息中使用的信息)
另外,在本实施方式中,示出了在群组化信息的加密第i信息中包括0、1这样的1比特的信息的例子。
但是,由于能使用群组化信息的加密第i信息来判断是二叉树的子节点(左)还是子节点(右)即可,所以无需一定是0、1的1比特的信息。
例如,也可以对第i信息指定任意的数值来制作加密第i信息,在偶数的情况下分配为子节点(左),在奇数的情况下分配为子节点(右)。
除此以外,也可以对第i信息指定0至100的数值来制作加密第i信息,在小于50的情况下分配为子节点(左),在50以上的情况下分配为子节点(右)。
这样,关于指定为第i信息的值,只要与子节点的判定方法关联起来,则可以设定任意的信息。
(也可以将群组判定密钥设为如实施方式2那样)
另外,在本实施方式中,通过使用群组判定密钥对群组化信息的加密第i信息进行解密,从而得到了判定是二叉树的子节点(左)还是子节点(右)的0/1的信息。
但是,无需一定这样,也可以例如如实施方式2所示那样,设为使用群组判定密钥(加密标签用)和群组判定密钥(检索查询用)在数据中心装置401侧生成第i信息那样的机制。
在该情况下,对群组化信息设定的值本身在数据中心装置401中也不知道,所以即使其是关键字的散列值,也难以推测关键字,能够提高安全性。
(对于群组化信息无需全部进行加密)
另外,在本实施方式中,在制作群组化信息时对所有比特进行了加密,但也可以对一部分或者全部不进行加密而以明文的状态进行发送。
例如,在数据中心装置401侧保持的群组判定密钥的数量已知的情况下,即使对其对应的比特进行加密也知道在数据中心装置401侧进行解密,所以在此也可以以明文的状态进行发送。
(散列值以外也能够利用)
另外,在本实施方式中,例示了在根据关键字制作L比特的比特串时,例如利用SHA-2等散列函数,但只要能够制作L比特的比特串,则可以是任意算法。
例如,也可以使用SHA-2以外的散列函数,也可以使用HMAC等附有密钥的散列、AES等共通密钥密码、RSA(注册商标)密码等公开密钥密码。
另外,在使用附有密钥的散列、共通密钥密码、公开密钥密码的情况下,除了群组信息生成密钥以外,散列密钥、共通密钥、秘密密钥也需要分发。
另外,也可以将关键字作为随机数的种子,通过虚拟随机数生成算法生成L比特的随机数。
另外,也可以使用关键字和L比特串的对应表。
特别是,在使用L比特串的对应表的情况下,能够考虑关键字的出现频度而使L比特串的发生频度均衡化,所以能够期待安全性进一步提高。
(群组判定密钥的公开数)
另外,在本实施方式中,记载了设想了用户一个一个地公开群组判定密钥的例子,但无需限制为一次公开1个,而也可以同时公开2个、3个群组判定密钥。
(群组判定密钥生成的定时)
另外,在本实施方式中,在系统利用前规定了群组化信息ID层次构造,用户在生成群组化信息的定时指定群组名/用户名/层次编号而生成了群组化信息生成密钥。
但是,关于群组化信息生成密钥,也可以在系统利用之前、或用户秘密密钥发行时等定时一并发行。
特别是,在作为现有加密方式使用AES、RSA(注册商标)密码等的情况下,需要在比加密在前的定时生成。
(没有ID层次数的限制)
另外,在本实施方式中,示出了如下例子,即,通过标签ID层次构造、群组化信息ID层次构造、解密者ID层次构造,指定能够使用群组名和用户名这2种信息来实现解密/检索的用户、群组。
但是,未必限制于这2种信息,也可以使用例如部门名、课室名、姓名这3种,也可以仅使用姓名。
另外,也可以使用更多的信息来指定接收者。
(不需要ID共通化)
另外,在本实施方式中,示出了如下例子,即,在生成附有标签的加密数据时,在标签ID层次构造、群组化信息ID层次构造、解密者ID层次构造中,作为群组名和用户名设定相同的值。
但是,也可以不将它们设为相同的值,而设定不同的值。
例如,在不是由用户自身实施而是由管理者实施群组判定密钥的生成的情况下,在标签ID层次构造和解密者ID层次构造中设定公开目的地用户的群组名和用户名,在群组化信息ID层次构造中指定能够生成群组判定密钥的管理者的群组名和用户名即可。
另外,在希望对用户仅许可检索,而不许可加密数据本身的解密的情况下,在标签ID层次构造中设定用户的群组名和用户名,在解密者ID层次构造中设定其它能够解密的用户的群组名和用户名即可。
(密钥管理服务器装置201的层次化)
另外,在本实施方式中,示出了密钥管理服务器装置201是1台的例子,但未必限制于1台。
例如,在非专利文献4的方式、其他隐匿检索方式中,还记载了如下方式:使密钥管理服务器装置也具有层次构造,使任务分散到多台而运用。
在本实施方式中也能够同样地以使密钥管理服务器装置具有层次构造的形式进行利用。
(基于ID的密码以外也能够应用)
另外,在本实施方式中,示出了使用了根据基于ID的密码进行的现有隐匿检索方式、现有加密方式A、现有加密方式B的例子。
但是,不限于根据基于ID的密码进行的方式,还能够使用AES、Camellia(注册商标)、HMAC等共通密钥密码、RSA(注册商标)密码等公开密钥密码。
(公开参数的共通化也能够实现)
另外,在本实施方式中,示出了使用了根据基于ID的密码进行的现有隐匿检索方式、现有加密方式A、现有加密方式B的例子,但分别利用了不同的公开参数。
但是,还能够使例如所利用的椭圆曲线等公开参数的一部分的信息共通化来利用。因此,关于能够共通化的部分,也可以共通化来利用。
(关键字数)
另外,在本实施方式中,示出了检索关键字是1个的情况,但无需将检索关键字一定限制于1个。
例如,在有多个检索关键字的情况下,也可以针对各个关键字生成检索查询,将所有检索查询发送给数据中心装置401。
另外,此时,也可以还发送例如获取在1个检索查询中判定为命中的加密数据、或获取在检索查询A和检索查询B这两方中命中了的加密数据等任意的条件。
(不需要标签的检查)
另外,在本实施方式中,将从索引管理部405获取的所有加密标签判定为检索查询。
但是,关于判定为在检索中命中了的加密数据,也可以在其以后,不进行与该加密数据关联起来的加密标签的检查。另外,即使在作为检索结果返回例如10件的结果即可的情况下,只要找到规定个数以上的检索结果,则也可以不进行其以后的加密标签的检查。
(用户ID信息数据库有无必要)
另外,在本实施方式中,在密钥管理服务器装置201中设置用户ID信息数据库,根据其信息进行了用户秘密密钥的生成。
但是,用户ID信息数据库未必必须,也可以设为在发行用户秘密密钥时由密钥管理服务器装置201的管理者指定,也可以设为从访问终端装置301接收。
(假设为访问终端装置301=用户、IC卡的利用)
另外,在本实施方式中,假设为由一名用户操作访问终端装置301。
但是,访问终端装置301本身也可以是并非由一名用户占有而由多人共有那样的机制。
在该情况下,在用户秘密密钥管理部305中针对每个用户分配1个用户秘密密钥,所以优选保管多个用户秘密密钥,通过在访问终端装置301中进行操作者的认证来判断应利用哪个用户秘密密钥。
另外,还能够将用户秘密密钥在员工证件等中保管来管理。
在该情况下,用户秘密密钥管理部305是相当于IC卡的功能,但在通过IC卡进行使用了用户秘密密钥的所有处理的情况下,也可以根据需要使IC卡实施检索查询生成部306、数据解密部307、群组判定密钥生成部308的一部分的处理。
(数据主体的加密方式)
另外,在本实施方式中,例示了在对数据进行加密时自动地使用AES、Camellia(注册商标),但这也可以在系统内事先决定所利用的方式,也可以使得能够由用户设定。
(检索结果的返回方法)
另外,在本实施方式中,示出了将检索的结果、命中了的加密数据全部返回那样的例子,但无需一定在检索时同时返回所有加密数据本身。
例如,也可以仅返回命中了的加密数据中的几个,或仅返回个数,或仅返回加密数据的列表。
(系统结构的变化)
另外,在本实施方式中,示出了如下例子:密钥管理服务器装置201和访问终端装置301处于企业内,数据中心装置401作为与因特网等连接的外部服务而存在。
但是,本发明不限于这样的系统结构。
例如,数据中心装置401也可以处于企业内,密钥管理服务器装置201、访问终端装置301也可以与企业外的网络连接。
另外,在本实施方式中,说明了:
访问终端装置301的群组化信息生成部310从保管关键字的散列值,抽出作为与索引信息的节点的最大层次数相同数量的L比特的比特串,对所抽出的L比特的比特串以基于ID的加密方式进行加密来生成群组化信息。
换言之,群组化信息生成部310(索引导出比特串生成部、隐匿化处理部)从根据保管关键字唯一地得到的随机数值的比特串,抽出与能够指定为许可比特位置的最大数相同数量的比特数的比特串,生成保管索引导出比特串,对所生成的保管索引导出比特串以基于ID的加密方式进行加密。
另外,在本实施方式中,说明了:
群组化信息生成部310既可以从保管关键字的散列值抽出连续的L比特,另外,也可以如第1比特、第3比特、第6比特、以及第11比特这样非连续地抽出L比特。
换言之,群组化信息生成部310在保管索引导出比特串的生成时,也可以从根据保管关键字唯一地得到的随机数值的比特串,抽出与能够指定为许可比特位置的最大数相同数量的连续比特,另外,也可以抽出与能够指定为许可比特位置的最大数相同数量的非连续比特。
另外,在本实施方式中,说明了:
群组化信息生成部310在L比特的比特串的各比特中使用不同的群组化信息生成密钥进行加密,生成了群组化信息。
换言之,群组化信息生成部310针对保管索引导出比特串的加密的每个单位比特使用了不同的密码密钥。
另外,在本实施方式中,说明了:
群组化信息生成部310能够对群组化信息ID层次构造(图13)的群组名以及用户名的至少某一个进行通配符指定,生成L个群组化信息生成密钥。
换言之,群组化信息生成部310能够使用通配符来定义针对保管对象数据的访问被许可的用户的用户信息,使用反映了使用通配符定义的用户信息的密码密钥,对保管索引导出比特串进行加密。
另外,在本实施方式中,说明了:
数据中心装置401的索引管理部405在加密数据管理部404将保管对象的加密数据与加密标签对应起来保管时,使用群组判定密钥对群组化信息进行解密,将通过解密得到的节点编号和加密标签对应起来保管。
换言之,索引管理部405在加密数据管理部404将保管对象的加密数据与标签数据对应起来保管时,使用许可比特解密密钥对被加密了的比特串内的许可比特位置的加密比特进行解密,从通过解密得到的比特值导出索引值,将所导出的索引值和标签数据对应起来保管。
另外,在本实施方式中,说明了:
索引管理部405在接收到检索查询时,取出与通过群组化信息的解密得到的节点对应起来的加密标签和管理编号的组,并且将与该节点的父节点关联起来的加密标签和管理编号的组全部取出,发送给检索处理部406。
换言之,索引管理部405对检索请求中包含的被加密了的比特串内的许可比特位置的加密比特进行解密,从通过解密得到的许可比特位置的比特值导出索引值,抽出与和所导出的索引值相同的索引值对应起来的标签数据,进而,从通过许可比特位置中的除了最下位的许可比特位置以外的许可比特位置的加密比特的解密而得到的比特值导出索引值,抽出与和所导出的索引值相同的索引值对应起来的标签数据。
实施方式2.
在以上的实施方式1中,作为用于生成群组化信息的现有加密方式A,使用了基于层次型ID的密码,但接下来,示出如下实施方式:使用非专利文献5中记载的内积谓词密码,在标签本身中还能够包括群组化信息。
首先,说明非专利文献5中记载的内积谓词密码的概要。
在内积谓词密码中,能够将属性矢量这样的矢量用作公开密钥,对任意的消息进行加密。
在用户秘密密钥中,埋入有谓词矢量这样的矢量,关于该谓词矢量,针对每个用户使用不同的矢量的情况较多。
而且,仅在加密数据中埋入的属性矢量与在用户秘密密钥中埋入的谓词矢量的内积成为0的情况下,能够使用该用户秘密密钥对其加密数据进行解密。
是如果在内积未成为0的情况下无法正确地解密这样的方式。
在以往的基于ID的密码中,将ID用作公开密钥,在用户秘密密钥中也埋入了ID。
而且,仅在该ID一致时,使用该用户秘密密钥,能够对该加密数据进行解密。
因此,可以认为内积谓词密码是使基于ID的密码一般化的密码。
进而,具有能够使用矢量的内积来评价AND、OR等逻辑式这样的特征,所以还具有相比于基于ID的密码能够更灵活地指定解密条件这样的特征。
本实施方式中的隐匿检索系统100的结构例与在实施方式1中示出的图1相同,所以说明省略。
关于密钥管理服务器装置201和数据中心装置401的功能块,也与在实施方式1中示出的图2和图3相同,所以说明省略。
图23是示出访问终端装置301的结构的功能框图。
关于数据加密部302、加密标签生成部303、附有标签的加密数据生成部304、用户秘密密钥管理部305、检索查询生成部306、数据解密部307、终端侧数据发送接收部309,与在实施方式1的图3中示出的部分相同。
群组化比特串生成部2301根据关键字,生成加密标签、检索查询中包含的关键字的群组化比特串。
群组化比特串生成部2301是与实施方式1中的群组化信息生成部310对应的要素,相当于索引导出比特串生成部的例以及隐匿化处理部的例子。
群组判定密钥生成部308使用由用户秘密密钥管理部305管理的用户秘密密钥和公开参数,来生成为了生成索引值而发送给数据中心装置401的群组判定密钥。
另外,群组判定密钥由加密标签的群组化中使用的群组判定密钥(加密标签用)、和为了判定检索查询参照哪个群组的加密标签而使用的群组判定密钥(检索查询用)这2种构成。
另外,在本实施方式中,群组判定密钥生成部308也相当于许可比特位置指定部的例以及隐匿化处理部的例子。
接下来,说明系统初始设定的处理的流程。
另外,处理的流程本身与在实施方式1中示出的方式类似,但由于现有隐匿检索方式、现有加密方式的算法的不同,处理内容稍微不同。
因此,使用实施方式1中示出的图5的处理的流程,以其差异为中心进行说明。
最初,步骤S501的处理与实施方式1相同,所以省略说明。
接下来,在步骤S502中,在主密钥生成部202中,决定使用非专利文献5中记载的内积谓词密码作为在隐匿检索系统100中利用的现有隐匿检索方式、现有加密方式。
另外,现有隐匿检索方式是用于生成包括群组化信息的加密标签的方式,现有加密方式是用于对数据主体进行加密的方式。
而且,作为现有隐匿检索方式的利用方法,决定标签ID层次数和标签ID层次构造、以及对内积谓词密码提供的矢量的结构。
例如,如图29的标签ID层次构造所示,决定:标签ID由3层次构成,由保存可检索的用户所属的部门、课室等群组名称的群组名栏、保管姓名等的用户名栏、设定与数据关联起来的关键字的关键字栏构成等。
另外,决定:关键字栏由群组化信息和关键字信息这2个要素构成,群组化信息由第1信息至第L信息的要素构成等。
另外,在标签ID层次构造的所有要素一致的情况下设为在检索中命中,决定与其对应的标签ID谓词矢量和标签ID属性矢量的生成方法。
图30示出该标签ID谓词矢量vT的生成例,图31示出标签ID属性矢量xT的生成例。
例如,在根据标签ID层次构造的群组名导出矢量的要素的情况下,在标签ID谓词矢量的情况下,设为(v1,v2)=(1,-“群组名”),在标签ID属性矢量的情况下,设为(x1,x2)=(“群组名”,1)。如果取两者的矢量的内积,则仅在群组名相同的情况下,内积值成为0,在不同的情况下,成为0以外的值。
同样地,用户名、第i信息、剩余比特信息也与矢量的值对应起来。
另外,作为例外,在要素是通配符的情况下,设其矢量为(0,0)。
例如,在对用户名指定了通配符的情况下,如果是标签ID谓词矢量则设为(v3,v4)=(0,0),如果是标签ID属性矢量则设为(x3,x4)=(0,0)。
在对其他要素指定了通配符的情况下,也能够同样地与矢量对应起来。
另外,在如图那样对应起来的情况下,非专利文献5的主密钥生成算法(Setup)中记载的各参数成为n=6+2L、d=3+L、μ1=2、μ2=4、……、μ(3+L)=6+2L。
同样地,主密钥生成部202决定解密者ID层次数和解密者ID层次构造,作为用于对保管对象数据进行加密的现有加密方式的利用方法。
在本实施方式中,假设为解密者ID层次数为2,作为解密者ID层次构造,与实施方式1同样地,具有由群组名和用户名构成的解密者ID层次构造。
另外,在解密者ID层次构造的所有要素一致的情况下,设为在检索中命中,导出与其对应的解密者ID谓词矢量和解密者ID属性矢量的生成方法。
图32示出该解密者ID谓词矢量vD的生成例,图33示出解密者ID属性矢量xD的生成例。
矢量的各要素的导出方法与标签ID的情况相同。
另外,在该情况下,非专利文献5的主密钥生成算法中记载的各参数成为n=4、d=2、μ1=2、μ2=4。
接下来,步骤S503与实施方式1相同,所以省略说明。
接下来,在步骤S504中,主密钥生成部202执行在系统中利用的现有隐匿检索方式的主密钥生成算法,生成隐匿检索用主密钥和隐匿检索用公开参数。
同样地,执行现有加密方式的主密钥生成算法来生成加密用主密钥和加密用公开参数。
以后,设为将隐匿检索用主密钥和加密用主密钥合起来称为主密钥、将隐匿检索用公开参数和加密用公开参数合起来称为公开参数。
接下来,步骤S505和S506与实施方式1相同,所以省略说明。
通过以上的步骤,本隐匿检索系统的设置完成。
接下来,说明用户秘密密钥发行的处理的流程。
另外,处理的流程本身与实施方式1中示出的方式类似,但由于现有隐匿检索方式、现有加密方式的算法的不同,处理内容稍微不同。
因此,使用实施方式1中示出的图6的处理的流程,以其差异为中心而进行说明。
最初,步骤S601与实施方式1相同,所以省略说明。
接下来,在步骤S602中,用户秘密密钥生成部204生成为了生成检索查询而使用的隐匿检索用用户秘密密钥、为了对加密数据进行解密而使用的加密用用户秘密密钥。
在现有隐匿检索方式中,在生成隐匿检索用用户秘密密钥时需要指定标签ID层次构造,但用户秘密密钥生成部204将在S601中获取的群组名设定到群组名栏、同样地将用户名设定到用户名栏,将关键字栏内的所有要素指定为可移交的要素。
根据在步骤S502中决定的矢量生成规则对设定了该值的标签ID层次构造进行矢量化来生成标签ID谓词矢量,执行现有隐匿检索方式的用户秘密密钥生成算法(GenKey),从而能够生成隐匿检索用用户秘密密钥。
同样地,在以现有加密方式生成加密用用户秘密密钥时需要指定解密者ID层次构造,但将在S601中获取的群组名指定到群组名栏,同样地将用户名指定到用户名栏,用户秘密密钥生成部204根据在步骤S502中决定的矢量生成规则对设定了该值的解密者ID层次构造进行矢量化,从而生成解密者ID谓词矢量,执行现有加密方式的用户秘密密钥生成算法,从而能够生成加密用用户秘密密钥。
将在上述中生成的隐匿检索用用户秘密密钥、加密用用户秘密密钥合起来称为用户秘密密钥。
接下来,步骤S603和步骤S604与实施方式1相同,所以省略说明。
通过以上的步骤,密钥管理服务器装置201能够对操作访问终端装置301的用户发行用户秘密密钥。
接下来,使用图24和图25,说明数据的加密处理的流程。
另外,处理的流程本身与实施方式1中示出的方式类似,但由于现有隐匿检索方式、现有加密方式的算法的不同,处理内容稍微不同。
因此,以与实施方式1中示出的处理的流程的差异为中心进行说明。
最初,步骤S701、S702以及S703与实施方式1相同,所以省略说明。
接下来,在步骤S2404中,群组化比特串生成部2301接收与数据关联起来的关键字,针对各关键字生成群组化比特串。
具体而言,群组化比特串生成部2301根据关键字生成L比特的比特串和任意的关键字信息。
这例如可以通过使用SHA-2等散列函数来生成关键字的散列值,并从其中抽出任意的L比特来作为L比特的比特串,排列剩余的比特串、或者将散列值整体作为关键字信息等来生成。
接下来,在步骤S2405中,加密标签生成部303对群组化比特串进行加密而生成加密标签。
具体而言,加密标签生成部303对标签ID层次构造的群组名和用户名指定在S701中接收到的群组名和用户名、对关键字栏指定在S2404中生成的群组化比特串,根据被设定了该值的标签ID层次构造生成标签ID属性矢量,通过现有隐匿检索方式的加密算法(Enc)制作标签。
将该标签作为加密标签。
在非专利文献5中,未明示地记载隐匿检索用的标签的生成方式,但已知一般如以下那样实施即可。
最初,选择随机数R,使用标签ID属性矢量对该随机数R进行加密,从而得到密文C。
然后,将标签作为(随机数R、密文C)的组即可。
另外,上述是针对1个关键字的处理,所以对与数据关联起来的所有关键字实施该处理。
另外,在S701中收到了多个群组名和用户名的情况下,对所有群组名和用户名的组生成加密标签。
接下来,在步骤S706中,附有标签的加密数据生成部304将在S703中生成的加密数据和在S2405中生成的加密标签结合而生成附有标签的加密数据,将其作为保管委托而发送给数据中心装置401。
此时,为了使在数据中心装置401中保管附有标签的加密数据变得容易,附有标签的加密数据生成部304将在S701中收到的群组名和用户名一起发送。
由于步骤S2405中的加密标签的生成处理稍微变更,所以附有标签的加密数据的结构也如图34所示,成为从实施方式1的图16变化了加密标签的结构的结构。
接下来,步骤S707的处理与实施方式1相同,所以省略说明。
接下来,使用图25,详细说明步骤S708的处理。
另外,与实施方式1同样地,关于索引信息,也针对每个群组名、用户名进行管理。
接下来,步骤S801的处理与实施方式1相同,所以省略说明。
接下来,在步骤S2502中,索引管理部405从在S707中收到的多个加密标签之中,取出1个未保管的加密标签(=标签)。
接下来,在步骤S2503中,索引管理部405使用在步骤S801中取出的L’个群组判定密钥,通过各个群组判定密钥(加密标签用)对标签进行解密。
具体而言,索引管理部405例如通过与第1层次对应的群组判定密钥(加密标签用)对标签(R,C)中的密文C进行解密,在解密结果与随机数R相同的情况下,将第1信息设为0,在不同的情况下,将第1信息设为1。
通过同样的步骤,决定第1信息至第L’信息。
接下来,步骤S804和S805的处理与实施方式1相同,所以省略说明。
通过以上的步骤,访问终端装置301能够对数据进行加密而对数据中心装置401请求保管,数据中心装置401进行所接收的附有标签的加密数据的保管。
接下来,根据图26和图27,说明加密数据的检索处理。
另外,处理的流程本身与实施方式1中示出的方式类似,但由于现有隐匿检索方式、现有加密方式的算法的不同,处理内容稍微不同。
因此,以与实施方式1中示出的处理的流程的差异为中心进行说明。
首先,步骤S901与实施方式1相同,所以省略说明。
接下来,在步骤S2602中,群组化比特串生成部2301根据在S901中接收到的检索关键字生成群组化比特串。
本处理与步骤S2404的处理相同,所以省略。
接下来,在步骤S2603中,检索查询生成部306使用在S2602中接收的群组化比特串、和由用户秘密密钥管理部305保管的用户秘密密钥,生成检索查询。
具体而言,在隐匿检索用用户秘密密钥中,对标签ID层次构造的群组名和用户名设定了值,但关于关键字栏未设定值,之后由用户能够进行值的设定。
因此,检索查询生成部306将指定作为对关键字栏设定的值的群组化比特串来生成的标签ID谓词矢量、和隐匿检索用用户秘密密钥作为输入,执行现有隐匿检索方式的检索查询生成函数(Delegate函数),将所生成的秘密密钥作为陷门。
该陷门成为对在标签ID层次构造中示出的所有要素设定了值的状态。
将该陷门作为检索查询。
然后,将所生成的检索查询发送给数据中心装置401。
此时,用户自身的群组名和用户名也发送。
接下来,在步骤S904中,检索处理部406从在S903中接收的检索查询取出陷门,从索引信息获取成为检索候补的所有加密标签。
另外,索引管理部405中的加密标签的获取处理复杂,所以使用图27详细说明。
最初,步骤S1001和步骤S1002与实施方式1相同,所以省略说明。
接下来,在步骤S2703中,索引管理部405使用在步骤S801中取出的L’个群组判定密钥,使用陷门对各个群组判定密钥(检索查询用)进行解密。
具体而言,在索引管理部405中,例如与第1层次对应的群组判定密钥(检索查询用)由(R,C)构成,所以使用陷门对密文C进行解密,在解密结果与随机数R相同的情况下,将第1信息设为0,在不同的情况下,将第1信息设为1。
通过同样的步骤,决定第1信息至第L’信息。
接下来,在步骤S1004中,索引管理部405使用在步骤S804中示出的步骤,从二叉树中确定对应的节点,在此设定表示是处理中的指针。
然后,取出与该指针所指示的节点关联起来的加密标签和管理编号的所有组,发送给检索处理部406。
接下来,步骤S1005、步骤S1006以及步骤S1007与实施方式1相同,所以省略说明。
通过以上,在步骤S2604中实施的、从索引信息获取成为检索的候补的所有加密标签的处理结束。
接下来,在步骤S905中,检索处理部406从在S904中获取的加密标签取出标签,使用现有隐匿检索技术的判定处理,判定标签中包含的关键字和在S904中取出的陷门中包含的关键字是否相同。
具体而言,检索处理部406用陷门对标签(R,C)中的密文C进行解密,在解密结果与随机数R相同的情况下,判定为关键字一致。
在不同的情况下,判定为关键字不一致。
另外,在现有隐匿检索技术的判定处理中,只能够实施1个标签和1个陷门的比较,所以对在S904中获取的所有加密标签实施该现有隐匿检索技术的判定处理。
然后,确定与判定处理的结果判定为一致的加密标签关联起来的管理编号。
接下来,步骤S906和步骤S907与实施方式1相同,所以省略说明。
通过以上的步骤,访问终端装置301能够从用户接收检索关键字,从数据中心装置401获取包括该关键字的加密数据,对其进行解密而阅览。
接下来,根据图28,说明追加索引树的层次数时的索引重构处理。
另外,处理的流程本身与实施方式1中示出的方式类似,但由于现有隐匿检索方式、现有加密方式的算法的不同,处理内容稍微不同。
因此,以与实施方式1中示出的处理的流程的差异为中心进行说明。
首先,步骤1101与实施方式1相同,所以省略说明。
接下来,在步骤S2802中,群组判定密钥生成部308从用户秘密密钥管理部305取出隐匿检索用用户秘密密钥和公开参数、已经发行完的群组判定密钥的层次数。
然后,群组判定密钥生成部308确定新发行的群组判定密钥的层次L’+1。
接下来,群组判定密钥生成部308对标签ID层次构造的群组化信息中的第L’+1信息指定0。
对其他第1信息至第L’信息、第L’+2信息至第L信息、以及关键字信息指定通配符。
针对该标签ID层次构造,群组判定密钥生成部308组合用户秘密密钥中埋入的群组名和用户名,从而生成标签ID谓词矢量,并且组合在S1101中接收的群组名和用户名,从而生成标签ID属性矢量。
然后,群组判定密钥生成部308将隐匿检索用用户秘密密钥和在上述中生成的标签ID谓词矢量作为输入,执行现有隐匿检索方式的检索查询生成函数(Delegate函数),从而生成与第L’+1层次对应的群组判定密钥(加密标签用)。
进而,群组判定密钥生成部308通过与步骤S2405同样的步骤,将在上述中生成的标签ID属性矢量作为输入而生成标签(R,C),将其作为群组判定密钥(检索查询用)。
然后,群组判定密钥生成部308将所生成的群组判定密钥(加密标签用)和群组判定密钥(检索查询用)合起来作为群组判定密钥,与对希望重构的索引关联起来的群组名和用户名一起发送给数据中心装置401。
接下来,步骤1103和S1104与实施方式1相同,所以省略说明。
接下来,在步骤S1105中,索引管理部405取出与在步骤S1104或者S1107中选择的第L’层次节点关联起来的加密标签和管理编号,进而从加密标签取出标签。
然后,索引管理部405通过与步骤S2503同样的步骤,从标签获取用于对第L’+1层次分配的第L’+1信息。
然后,索引管理部405根据第L’+1信息,决定将加密标签和管理编号分配给所选择的第L’层次节点的子节点中的哪一个,删除第L’层次节点的关联,重新与第L’+1层次节点关联起来保存。
对与所选择的第L’层次关联起来的所有加密标签实施该处理。
接下来,步骤S1106和S1107与实施方式1相同,所以省略说明。
通过以上的步骤,访问终端装置301对数据中心装置401新生成群组判定密钥来请求索引信息的重构,数据中心装置401进行自身管理的索引信息的重构,从而能够使索引信息的层次数增加1层。
如以上那样,针对加密标签包括根据关键字生成的群组化信息,数据中心装置401从用户接收群组判定密钥,从而能够使用群组化信息(加密标签用)来进行与关键字对应的加密标签的群组化。
在检索时,也能够使用检索查询和群组判定密钥(检索查询用)唯一地确定检索对象的加密标签的群组,所以无需针对所有加密标签进行现有隐匿检索技术的判定处理,仅对属于特定的群组的加密标签进行现有隐匿检索技术的判定处理即可,能够大幅削减隐匿检索的时间。
例如,在对数据中心装置401公开了L’个群组判定密钥的状况下,能够将M个加密标签分割为2^L’个群组,所以在各群组中平均包括M/2^L’个加密标签。
因此,通过本实施方式,检索处理被高速化为2^L’倍。
另外,将用于进行群组化的信息以1比特单位等对标签ID层次构造的不同的要素进行设定而加密,用户公开用于判定标签ID层次构造中包含的信息的群组判定密钥,从而能够生成用于数据中心装置401在群组化中使用的信息。
因此,根据所公开的群组判定密钥的数量,用户能够调整群组化的等级。
例如,假设在公开了L’个群组判定密钥的状况下,随着加密数据的保管数增加,检索时间成为T时间,在运用中产生了障碍。
此时,通过新公开与第L’+1层次对应的群组判定密钥,能够将加密标签分割为2倍的群组,所以能够将检索时间削减为T/2。
另一方面,在密码算法开发的领域中,无法通过加密数据中包含的关键字进行加密数据的群组化被评价为具有高的安全性的密码。
因此,希望保护数据的机密性的用户不期望加密数据在数据中心装置401中被不必要地群组化。
在本实施方式中,能够根据用户要求的安全性的等级和检索处理的响应时间,以仅将必要最小限的群组判定密钥提供给数据中心装置401的方式,用户自身进行控制。
因此,即使作为群组化信息附加了L比特的信息,通过调整所公开的群组判定密钥的数量,也能够由用户自身调整安全性和高速性的平衡。
进而,关于所公开的群组判定密钥的数量的调整,只有具有正规的用户秘密密钥的用户能够实施,所以能够防止由第三方非法地制作/公开群组判定密钥那样的、使安全性降低的非法行为。
另外,设为如下机制:使用群组判定密钥(加密标签用)和群组判定密钥(检索查询用),在数据中心装置401侧生成第i信息。
因此,群组化信息中设定的值本身在数据中心装置401中也不知道,所以即使其是关键字的散列值,也难以推测关键字,能够提高安全性。
另外,本实施方式的方式是通过对基于内积谓词密码的现有隐匿检索的标签包括群组化信息来使其检索性能提高的扩展方式。
因此,不仅能够应用于本实施方式中示出的现有隐匿检索方式,而且还能够应用于所提出的各种现有隐匿检索方式,能够提高其检索性能。
在本实施方式中,示出了应用于非专利文献5中记载的方式的例子,但还能够应用于例如非专利文献3中记载的方式,能够应用于其他内积谓词密码、函数型密码等所有现有隐匿检索方式。
另外,设为了不仅是现有隐匿检索方式,而且作为现有加密方式也可以采用任意方式的高速化手法。
因此,还能够利用一般经常利用的RSA(注册商标)密码等。
另外,在本实施方式中,示出了使基于概率性密码的隐匿检索技术高速化的手法。
一般,如果只看隐匿检索的检索时间,则基于确定性密码的方式更快,但存在能够分析加密数据的出现频度来推测明文这样的课题。
另一方面,在基于概率性密码的方式中,由于加密数据的出现频度与关键字的出现频度无关,所以存在如下课题:虽然相对于根据出现频度的分析而进行的明文推测是安全的,但在检索处理中非常花费时间。
但是,在本实施方式中,是基于了概率性密码,所以具有如下优点:尽管检索被高速化,但保留了针对利用出现频度的分析的安全性。
另外,关于加密数据、索引,设为了针对群组名和用户名的组的每一个进行制作/管理的机制。
因此,在用户进行检索的情况下,无需检索包括根本无法读取的加密数据的索引信息,所以能够大幅提高检索处理。
另外,通过群组名、用户名决定加密数据的公开范围,但可以预想一般针对每个公开范围保管的加密数据的数量不同。
在本实施方式中,关于群组判定密钥的公开,设为了对与群组名和用户名的组关联起来的索引实施那样的机制。
因此,能够针对每个公开范围调整安全性和高速性的平衡。
另外,在从索引信息获取应作为检索对象的加密标签时,不仅将对使用根据检索查询使用群组判定密钥生成的第i信息来确定的节点关联起来的加密标签作为检索对象,而且将对其所有上位节点关联起来的加密标签也作为检索对象。
因此,即使在追加地接收群组判定密钥来进行索引信息的重构的过程中接收到检索查询,也能够不遗漏地检查应作为检索对象的加密标签。
另外,由于设为了在生成加密数据时接收多个群组名和用户名那样的机制,所以即使存在多个公开目的地的用户、群组,在本方式下也能够对多个公开目的地公开加密数据,并且不论公开目的地数为多少都能够提高检索速度。
另外,关于与加密数据关联起来的关键字,既可以从正文自动抽出,也可以由用户指定,还可以将其两者组合,所以能够按照用户的意图附加检索时想要指定的关键字。
另外,由于使标签和群组化信息一体化,所以不会发生替换群组化信息那样的攻击,能够安全地利用。
另外,由于设为了在对数据进行加密时能够利用AES、Camellia(注册商标)等高速的共通密钥密码的机制,所以即使是动画、音乐数据等大的大小的数据,也能够高速地进行加密。
另外,由于使密钥管理服务器装置201具有用户ID信息数据库,所以即使用户不知道能够对加密数据进行解密的用户的群组名、用户名,也能够根据用户所知道的邮件地址等其他信息,获取正确的群组名、用户名,所以能够防止错误地设定加密数据的公开范围。
同样地,还成为用于生成加密标签的辅助。
(二叉树以外也能够应用)
另外,在本实施方式中,示出了构成使用了二叉树的索引信息的例子。
但是,所生成的索引不限于二叉树,只要能够根据群组化信息生成,则也可以是更一般的树构造,也可以是散列表。
另外,作为索引信息而制作出的二叉树,无需以保持其构造的状态保管到盘,也可以如作为例子示出那样分配节点编号而以表形式进行保管,也可以以其他数据形式进行保管。
(群组化信息无需限制为1比特)
另外,在本实施方式中,将根据关键字生成的比特串的第i比特用作第i信息。
但是,无需一个比特一个比特地利用,而也可以使用2比特以上的信息来生成第i信息。
例如,还能够根据关键字生成2L比特的比特串,将其第2i-1比特和第2i比特用作第i信息。
(群组化信息中使用的信息)
另外,在本实施方式中,示出了在群组化信息的第i信息中包括0、1这样的1比特的信息的例子。
但是,由于能使用本信息来判断是二叉树的子节点(左)还是子节点(右)即可,所以无需一定是0、1的值。
例如,既可以是1和-1,也可以代入其他值。
同样地,设为了在生成第L’+1层次的群组判定密钥时对第L’+1信息指定0那样的例子。
但是,无需一定设定0,也可以设定1。
另外,在对第i信息设定1和-1中的某一个的情况下,也可以是-1,也可以代入其他值。
同样地,在使用群组判定密钥(加密标签用)对标签进行了解密的情况、或者使用陷门对群组判定密钥(检索查询用)进行了解密的情况下,在正确地解密了的情况下,将第i信息视为0,在未正确地解密的情况下,将第i信息视为1。
但是,该0和1的分配也可以相反。
(散列值以外也能够利用)
另外,在本实施方式中,例示了在根据关键字制作L比特的比特串时,例如利用SHA-2等散列函数,但只要能够制作L比特的比特串,则可以是任意算法。
例如,也可以使用SHA-2以外的散列函数,也可以使用HMAC等附有密钥的散列、AES等共通密钥密码、RSA(注册商标)密码等公开密钥密码。
另外,在使用附有密钥的散列、共通密钥密码、公开密钥密码的情况下,除了隐匿检索用用户秘密密钥以外,散列密钥、共通密钥、秘密密钥也需要分发。
另外,也可以将关键字作为随机数的种子,通过虚拟随机数生成算法生成L比特的随机数。
另外,也可以使用关键字和L比特串的对应表。
特别是,在使用L比特串的对应表的情况下,能够考虑关键字的出现频度而使L比特串的发生频度均衡化,所以能够期待安全性进一步提高。
(群组判定密钥的公开数)
另外,在本实施方式中,记载了设想了用户一个一个地公开群组判定密钥的例子,但无需限制为一次公开1个,而也可以同时公开2个、3个群组判定密钥。
(群组判定密钥生成的定时)
另外,在本实施方式中,在用户进行索引重构的定时生成了群组判定密钥。
但是,关于群组判定密钥,只要是进行索引重构之前,则可以在任何时候生成。
进而,也可以不是由用户生成,而是密钥管理服务器装置201在用户秘密密钥发行时代行生成。
(没有ID层次数的限制)
另外,在本实施方式中,示出了如下例子:通过标签ID层次构造、解密者ID层次构造,指定能够使用群组名和用户名这2种信息来实现解密/检索的用户、群组。
但是,不限于这2种信息,也可以使用例如部门名、课室名、姓名这3种,也可以仅使用姓名。
另外,在内积谓词密码中能够使用AND、OR等条件来指定接收者的属性,所以也可以这样灵活地指定接收者。
(矢量化手法是任意的)
另外,在本实施方式中,示出了如下例子:作为将标签ID层次构造变换为标签ID谓词矢量、标签ID属性矢量的方式,在标签ID谓词矢量的情况下,设为(v1,v2)=(1,-“群组名”),在标签ID属性矢量的情况下,设为(x1,x2)=(“群组名”,1)。
但是,也可以设为例如(v1,v2)=(1,-“群组名”)和(x1,x2)=(“群组名”,1),也可以使用其他变换方法。
在从标签ID层次构造向标签ID谓词矢量、标签ID属性矢量的变换方法中没有限制,能够利用一般已知的各种方法。
同样地,关于解密者ID层次构造也是同样的。
(不需要ID共通化)
另外,在本实施方式中,示出了如下例子:在生成附有标签的加密数据时,在标签ID层次构造、解密者ID层次构造中,作为群组名和用户名设定相同的值。
但是,也可以将它们不设为相同的值,而设定不同的值。
例如,在希望对用户仅许可检索,而不许可加密数据本身的解密的情况下,在标签ID层次构造中设定用户的群组名和用户名,在解密者ID层次构造中设定其它能够解密的用户的群组名和用户名即可。
(密钥管理服务器装置201的层次化)
另外,在本实施方式中,示出了密钥管理服务器装置201是1台的例子,但未必限于1台。
例如,在非专利文献5的方式、其他隐匿检索方式中,还记载了如下方式:使密钥管理服务器装置也具有层次构造,使任务分散到多台而运用。
在本实施方式中,也能够同样地,以使密钥管理服务器装置具有层次构造的形式进行利用。
(内积谓词密码以外也能够应用)
另外,在本实施方式中,示出了使用了基于内积谓词密码的现有隐匿检索方式、现有加密方式的例子。
但是,不限于基于内积谓词密码的方式,还能够使用实现了同样的功能的函数型密码等,还能够使用AES、Camellia(注册商标)、HMAC等共通密钥密码、RSA(注册商标)密码等公开密钥密码。
(公开参数的共通化也能够实现)
另外,在本实施方式中,示出了在现有隐匿检索方式、现有加密方式中使用了非专利文献5中记载的内积谓词密码的例子,但分别利用了不同的公开参数。
但是,还能够使例如所利用的椭圆曲线等公开参数的一部分的信息共通化来利用。因此,关于能够共通化的部分,也可以共通化来利用。
(关键字数)
另外,在本实施方式中,示出了检索关键字是1个的情况,但无需将检索关键字一定限制于1个。
例如,在有多个检索关键字的情况下,也可以针对各个关键字生成检索查询,将所有检索查询发送给数据中心装置401。
另外,此时,也可以还发送例如获取在1个检索查询中判定为命中的加密数据、或获取在检索查询A和检索查询B这两方中命中了的加密数据等任意的条件。
(不需要标签的检查)
另外,在本实施方式中,将从索引管理部405获取的所有加密标签判定为检索查询。
但是,关于判定为在检索中命中了的加密数据,也可以在其以后,不进行与该加密数据关联起来的加密标签的检查。另外,即使在作为检索结果返回例如10件的结果即可的情况下,只要找到规定个数以上的检索结果,则也可以不进行其以后的加密标签的检查。
(用户ID信息数据库有无必要)
另外,在本实施方式中,在密钥管理服务器装置201中设置用户ID信息数据库,根据其信息进行了用户秘密密钥的生成。
但是,用户ID信息数据库未必必须,也可以在发行用户秘密密钥时由密钥管理服务器装置201的管理者指定,也可以从访问终端装置301接收。
(假设为访问终端装置301=用户、IC卡的利用)
另外,在本实施方式中,假设为访问终端装置301由一名用户操作。
但是,访问终端装置301本身也可以是并非由一名用户占有而由多人共有那样的机制。
在该情况下,在用户秘密密钥管理部305中针对每个用户分配1个用户秘密密钥,所以优选保管多个用户秘密密钥,通过在访问终端装置301中进行操作者的认证来判断应利用哪个用户秘密密钥。
另外,还能够将用户秘密密钥在员工证件等中保管来管理。
在该情况下,用户秘密密钥管理部305是相当于IC卡的功能,但在通过IC卡进行使用了用户秘密密钥的所有处理的情况下,也可以根据需要使IC卡实施检索查询生成部306、数据解密部307、群组判定密钥生成部308的一部分的处理。
(数据主体的加密方式)
另外,在本实施方式中,例示了在对数据进行加密时自动地使用AES、Camellia(注册商标),但这也可以在系统内事先决定所利用的方式,也可以使得能够由用户设定。
(检索结果的返回方法)
另外,在本实施方式中,示出了将检索的结果、命中了的加密数据全部返回那样的例子,但无需一定在检索时同时返回所有加密数据本身。
例如,也可以仅返回命中了的加密数据中的几个,或仅返回个数,或仅返回加密数据的列表。
(系统结构的变化)
另外,在本实施方式中,示出了如下例子:密钥管理服务器装置201和访问终端装置301处于企业内,数据中心装置401作为与因特网等连接的外部服务而存在。
但是,本发明不限于这样的系统结构。
例如,数据中心装置401也可以处于企业内,密钥管理服务器装置201、访问终端装置301也可以与企业外的网络连接。
另外,在本实施方式中,说明了:
访问终端装置301的群组化比特串生成部2301(索引导出比特串、隐匿化处理部)与实施方式1不同,使用了内积谓词密码。
另外,在本实施方式中,说明了:
群组化比特串生成部2301从保管关键字的散列值,抽出作为与索引信息的节点的最大层次数相同数量的L比特的比特串,并且将散列值的其他比特或者散列值整体作为关键字信息,
进而,加密标签生成部303对L比特的比特串以及关键字信息进行加密,将加密了的L比特的比特串以及关键字信息作为加密标签,将加密标签发送给数据中心装置401。
换言之,群组化比特串生成部2301从根据保管关键字唯一地得到的随机数值的比特串,生成与能够指定为许可比特位置的最大数相同数量的比特数的保管索引导出比特串,进而,将随机数值的比特串的其他比特或者随机数值的比特串整体作为关键字信息,
加密标签生成部303对保管索引导出比特串以及关键字信息进行加密,将加密了的保管索引导出比特串以及关键字信息作为标签数据,将标签数据发送给数据中心装置401(数据保管装置)。
另外,在本实施方式中,说明了:
群组化比特串生成部2301从检索关键字的散列值,抽出作为与索引信息的节点的最大层次数相同数量的L比特的比特串,并且将散列值的其他比特或者散列值整体作为关键字信息,
进而,加密标签生成部303对L比特的比特串以及关键字信息进行加密,将加密了的L比特的比特串以及关键字信息作为陷门,将陷门发送给数据中心装置401。
换言之,群组化比特串生成部2301从根据检索关键字唯一地得到的随机数值的比特串,生成与能够指定为许可比特位置的最大数相同数量的比特数的检索索引导出比特串,进而,将随机数值的比特串的其他比特或者随机数值的比特串整体作为关键字信息,
加密标签生成部303对检索索引导出比特串以及关键字信息进行加密,将加密了的检索索引导出比特串以及关键字信息作为加密了的检索关键字,将加密了的检索关键字发送给数据中心装置401(数据保管装置)。
另外,在本实施方式中,数据中心装置401的索引管理部405在接收到附有标签的加密数据时,用群组判定密钥对加密标签进行解密,在正确地解密出的情况下,将比特值设为0,在未解密出的情况下,将比特值设为1,从而导出L’个量的比特值而作为节点编号。
换言之,索引管理部405在接收到保管请求时,用许可比特解密密钥对标签数据内的加密比特中的许可比特位置的加密比特进行解密,在正确地解密出的情况下,将比特值设为0,在未解密出的情况下,将比特值设为1,从而根据解密结果导出保管索引值的各比特的比特值,将所导出的各比特的比特值连结而导出保管索引值。
另外,在本实施方式中,数据中心装置401的索引管理部405在接收到检索查询时,用群组判定密钥对陷门进行解密,在正确地解密出的情况下,将比特值设为0,在未解密出的情况下,将比特值设为1,从而导出L’个量的比特值作为节点编号。
换言之,索引管理部405在接收到检索请求时,用许可比特解密密钥对被加密了的检索关键字内的加密比特中的许可比特位置的加密比特进行解密,在正确地解密出的情况下,将比特值设为0,在未解密出的情况下,将比特值设为1,从而根据解密结果导出检索索引值的各比特的比特值,将所导出的各比特的比特值连结而得到检索索引值。
最后,说明实施方式1以及2所示的密钥管理服务器装置201、访问终端装置301以及数据中心装置401的硬件结构例。
图35是示出实施方式1以及2所示的密钥管理服务器装置201、访问终端装置301以及数据中心装置401的硬件资源的一个例子的图。
另外,图35的结构仅仅示出了密钥管理服务器装置201、访问终端装置301以及数据中心装置401的硬件结构的一个例子,密钥管理服务器装置201、访问终端装置301以及数据中心装置401的硬件结构不限于图35记载的结构,也可以是其他结构。
另外,密钥管理服务器装置201、访问终端装置301以及数据中心装置401也可以分别是不同的硬件结构。
在图35中,密钥管理服务器装置201、访问终端装置301以及数据中心装置401具备执行程序的CPU911(CentralProcessingUnit、还称为中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器)。
CPU911经由总线912,例如与ROM(ReadOnlyMemory,只读存储器)913、RAM(RandomAccessMemory,随机存取存储器)914、通信板915、显示装置901、键盘902、鼠标903、磁盘装置920连接,控制这些硬件设备。
进而,CPU911也可以与FDD904(FlexibleDiskDrive,软盘驱动器)、高密度盘装置905(CDD)连接。
另外,也可以代替磁盘装置920,使用SSD(SolidStateDrive,固态硬盘)、光盘装置、存储卡(注册商标)读写装置等存储装置。
RAM914是易失性存储器的一个例子。ROM913、FDD904、CDD905、磁盘装置920的存储介质是非易失性存储器的一个例子。它们是存储装置的一个例子。
例如,在实施方式1以及2中说明的密钥保管部203、用户ID信息管理部206、用户秘密密钥管理部305、索引管理部405以及加密数据管理部404在RAM914、磁盘装置920等中,保管了各种密钥、索引信息、加密数据、标签数据等。
通信板915、键盘902、鼠标903、FDD904等是输入装置的一个例子。
另外,通信板915、显示装置901等是输出装置的一个例子。
通信板915如图1所示,与网络连接。
例如,通信板915除了公司内LAN(局域网)、因特网以外,也可以与WAN(广域网)、SAN(存储区域网络)等连接。
在磁盘装置920中,存储了操作系统921(OS)、视窗系统922、程序群923、文件群924。
CPU911利用操作系统921、视窗系统922来执行程序群923的程序。
另外,在RAM914中,临时保存使CPU911执行的操作系统921的程序、应用程序的至少一部分。
另外,在RAM914中,保存由CPU911执行的处理所需的各种数据。
另外,在ROM913中,保存了BIOS(BasicInputOutputSystem,基本输入输出系统)程序,在磁盘装置920中保存了引导程序。
在密钥管理服务器装置201、访问终端装置301以及数据中心装置401启动时,执行ROM913的BIOS程序以及磁盘装置920的引导程序,通过BIOS程序以及引导程序启动操作系统921。
在上述程序群923中,存储了执行在实施方式1以及2的说明中说明为“~部”的功能的程序。程序由CPU911读出并执行。
在文件群924中,表示在实施方式1以及2的说明中说明为“~的判断”、“~的计算”、“~的比较”、“~的评价”、“~的更新”、“~的设定”、“~的保管”、“~的登记”、“~的选择”、“~的导出”、“~的生成”、“~的抽出”、“~的获取”、“~的确定”、“~的加密”、“~的解密”、“~的输入”、“~的输出”等的处理的结果的信息、数据、信号值、变量值、参数,作为“~文件”、“~数据库”的各项目而存储。
“~文件”、“~数据库”存储于盘、存储器等记录介质中。
关于盘、存储器等存储介质中存储的信息、数据、信号值、变量值、参数,经由读写电路由CPU911读出到主存储器、高速缓存存储器。
然后,所读出的信息、数据、信号值、变量值、参数被用于抽出、检索、参照、比较、运算、计算、处理、编辑、输出、印刷、显示等CPU的动作。
在抽出、检索、参照、比较、运算、计算、处理、编辑、输出、印刷、显示的CPU的动作的期间,信息、数据、信号值、变量值、参数临时存储于主存储器、寄存器、高速缓存存储器、缓冲存储器等。
另外,在实施方式1以及2中说明的流程图的箭头的部分主要表示数据、信号的输入输出。
数据、信号值记录于RAM914的存储器、FDD904的软盘、CDD905的高密度盘、磁盘装置920的磁盘、其他光盘、迷你盘、DVD等记录介质。
另外,数据、信号通过总线912、信号线、线缆、其他传送介质在线传送。
另外,在实施方式1以及2的说明中说明为“~部”的部分既可以是“~电路”、“~装置”、“~设备”,而且也可以是“~步骤”、“~阶段”、“~处理”。
即,通过在实施方式1以及2中说明的流程图所示的步骤、阶段、处理,能够将数据处理装置以及数据保管装置作为方法来掌握。
另外,说明为“~部”的部分也可以通过ROM913中存储的固件实现。
或者,也可以仅通过软件、或者、仅通过元件、设备、基板、布线等硬件、或者、软件与硬件的组合、进而、与固件的组合来实施。
固件和软件作为程序存储于磁盘、软盘、光盘、高密度盘、迷你盘、DVD等记录介质。
程序由CPU911读出,并由CPU911执行。
即,程序使计算机作为实施方式1以及2的“~部”发挥功能。或者,使计算机执行实施方式1以及2的“~部”的步骤、方法。
这样,实施方式1以及2所示的密钥管理服务器装置201、访问终端装置301以及数据中心装置401是具备作为处理装置的CPU、作为存储装置的存储器、磁盘等、作为输入装置的键盘、鼠标、通信板等、作为输出装置的显示装置、通信板等的计算机。
而且,使用这些处理装置、存储装置、输入装置、输出装置来实现如上所述说明为“~部”的功能。

Claims (14)

1.一种数据处理装置,该数据处理装置与数据保管装置连接,该数据保管装置保管多个加密数据和与各加密数据对应起来的在加密数据的检索时被核对的标签数据,其特征在于,
所述数据处理装置具有:
关键字指定部,将成为所述数据保管装置中的保管的对象的保管对象数据的关键字指定为保管关键字;
许可比特位置指定部,将许可向所述数据保管装置公开比特值的比特位置指定为许可比特位置;
索引导出比特串生成部,通过规定的生成步骤,根据所述保管关键字生成规定的比特串作为保管索引导出比特串;以及
隐匿化处理部,进行将所述保管索引导出比特串内的所述许可比特位置的比特值对所述数据保管装置公开、将所述保管索引导出比特串内的所述许可比特位置以外的比特值对所述数据保管装置隐匿的隐匿化处理,使所述数据保管装置根据所述保管索引导出比特串内的所述许可比特位置的被公开了的比特值,导出在保管与所述保管对象数据的加密数据对应起来的标签数据时所述数据保管装置对所述标签数据附加的保管索引值,
所述隐匿化处理部针对每个许可比特位置,生成许可比特位置的加密比特的解密中使用的解密密钥而作为许可比特解密密钥,
所述数据处理装置还具有许可比特解密密钥发送部,该许可比特解密密钥发送部将所述许可比特解密密钥发送给所述数据保管装置,
所述隐匿化处理部以所述许可比特位置的加密比特通过所述许可比特解密密钥被解密、所述许可比特位置以外的加密比特通过所述许可比特解密密钥不被解密的加密方式,对所述保管索引导出比特串进行加密,
所述数据处理装置还具有保管请求发送部,该保管请求发送部将保管请求发送给所述数据保管装置,其中所述保管请求中包括所述保管对象数据的加密数据、与所述保管对象数据的加密数据对应起来的标签数据以及被加密了的所述保管索引导出比特串。
2.根据权利要求1所述的数据处理装置,其特征在于,
所述数据处理装置与如下数据保管装置连接,该数据保管装置在接收到包括被加密了的检索关键字和通过被许可公开的比特位置的比特值的公开而导出成为与所述被加密了的检索关键字进行核对的对象的标签数据的索引值的检索索引导出比特串的检索请求时,根据通过所述检索索引导出比特串内的比特值的公开而得到的索引值,确定成为与所述被加密了的检索关键字进行核对的对象的标签数据,核对所确定的标签数据和所述被加密了的检索关键字来检索加密数据,
所述索引导出比特串生成部生成通过利用所述隐匿化处理部进行的向所述数据保管装置的所述许可比特位置的比特值的公开来导出与在所述数据保管装置中根据所述检索索引导出比特串得到的索引值进行比较的保管索引值的保管索引导出比特串。
3.根据权利要求1所述的数据处理装置,其特征在于,
所述许可比特位置指定部依次指定新的许可比特位置,
所述隐匿化处理部在由所述许可比特位置指定部指定了新的许可比特位置的情况下,进行除了所述保管索引导出比特串内的现有的许可比特位置的比特值以外还将新指定的许可比特位置的比特值对所述数据保管装置公开的隐匿化处理,使保管索引值的比特数增加。
4.根据权利要求1所述的数据处理装置,其特征在于,
所述隐匿化处理部生成反映了针对所述保管对象数据的访问被许可的用户的用户信息的解密密钥,作为所述许可比特解密密钥,使用反映了针对所述保管对象数据的访问被许可的用户的用户信息的密码密钥,对所述保管索引导出比特串进行加密。
5.根据权利要求1所述的数据处理装置,其特征在于,
所述许可比特位置指定部依次指定新的许可比特位置,
所述隐匿化处理部在由所述许可比特位置指定部指定了新的许可比特位置的情况下,生成新指定的许可比特位置的加密比特的解密中使用的许可比特解密密钥,
所述许可比特解密密钥发送部将由所述隐匿化处理部生成的新的许可比特解密密钥发送给所述数据保管装置。
6.根据权利要求5所述的数据处理装置,其特征在于,
所述数据处理装置与如下数据保管装置连接,该数据保管装置确定成为与被加密了的检索关键字进行核对的对象的标签数据,核对所确定的标签数据和所述被加密了的检索关键字来检索加密数据,
所述关键字指定部指定使所述数据保管装置进行加密数据的检索的检索关键字,
所述索引导出比特串生成部通过与所述保管索引导出比特串相同的生成步骤,根据由所述关键字指定部指定的所述检索关键字生成规定的比特串作为检索索引导出比特串,
所述隐匿化处理部以作为向所述数据保管装置的比特值的公开被许可的比特位置的许可比特位置的加密比特通过所述数据保管装置所持有的许可比特解密密钥被解密、所述许可比特位置以外的加密比特通过所述许可比特解密密钥不被解密的加密方式,对所述检索索引导出比特串进行加密,使所述数据保管装置根据通过被加密了的所述检索索引导出比特串内的所述许可比特位置的加密比特的解密而对所述数据保管装置公开的所述许可比特位置的比特值,导出在抽出成为与被加密了的检索关键字进行核对的对象的标签数据时所述数据保管装置与保管索引值进行比较的检索索引值,
所述数据处理装置还具有检索请求发送部,该检索请求发送部将检索请求发送给所述数据保管装置,其中所述检索请求中包括被加密了的所述检索关键字和被加密了的所述检索索引导出比特串。
7.根据权利要求6所述的数据处理装置,其特征在于,
所述隐匿化处理部使用反映了所述数据处理装置的用户的用户信息的密码密钥,对所述检索索引导出比特串进行加密。
8.一种数据保管装置,与数据处理装置连接,该数据保管装置保管从所述数据处理装置发送的加密数据,其特征在于,所述数据保管装置具有:
许可比特解密密钥管理部,针对被许可了解密的每个许可比特位置,保管许可比特位置的加密比特的解密中使用的许可比特解密密钥;
保管请求接收部,从所述数据处理装置接收保管请求,该保管请求中包括保管对象的加密数据、在加密数据的检索时被核对的标签数据以及使用对所述保管对象的加密数据指定的保管关键字生成的被加密了的比特串;
加密数据管理部,将所述保管请求中包含的所述保管对象的加密数据与所述标签数据对应起来保管;以及
索引管理部,使用所述许可比特解密密钥对所述保管请求中包含的所述被加密了的比特串内的许可比特位置的加密比特进行解密,根据通过解密而得到的比特值导出索引值,将所导出的索引值和所述保管请求中包含的所述标签数据对应起来保管。
9.根据权利要求8所述的数据保管装置,其特征在于,
所述许可比特解密密钥管理部将许可比特解密密钥与用户信息对应起来保管,
所述保管请求接收部接收包括针对所述保管对象的加密数据的访问被许可的用户的用户信息的保管请求,
所述索引管理部使用与和所述保管请求中包含的用户信息吻合的用户信息对应起来的许可比特解密密钥,对所述保管请求中包含的所述被加密了的比特串内的许可比特位置的加密比特进行解密,导出索引值。
10.根据权利要求9所述的数据保管装置,其特征在于,
所述许可比特解密密钥管理部将反映了用户信息的许可比特解密密钥与所述用户信息对应起来保管,
所述保管请求接收部接收包括通过反映了针对所述保管对象的加密数据的访问被许可的用户的用户信息的密码密钥被加密了的比特串的保管请求。
11.根据权利要求9所述的数据保管装置,其特征在于,
所述索引管理部将通过针对所述保管请求中包含的所述被加密了的比特串的解密而得到的比特值连结而导出索引值,
将所导出的索引值、所述保管请求中包含的所述标签数据以及所述被加密了的比特串内的未被解密的加密比特与所述保管请求中包含的用户信息对应起来保管,
所述许可比特解密密钥管理部如果被指定了新的许可比特位置,则获取新的许可比特位置的加密比特的解密中使用的新的许可比特解密密钥和与所述新的许可比特解密密钥对应起来的用户信息,
所述索引管理部抽出与和由所述许可比特解密密钥管理部获取的所述用户信息吻合的用户信息对应起来的加密比特,使用所述新的许可比特解密密钥对所抽出的加密比特中的与所述新的许可比特位置对应的加密比特进行解密,将通过解密而得到的比特值追加到与共通的用户信息对应起来的索引值而导出新的索引值。
12.根据权利要求9所述的数据保管装置,其特征在于,
所述数据保管装置与多个数据处理装置连接,
所述数据保管装置还具有检索请求接收部,该检索请求接收部从所述多个数据处理装置中的请求加密数据的检索的检索请求数据处理装置,接收检索请求,其中所述检索请求中包括被加密了的检索关键字、使用加密前的检索关键字生成的被加密了的比特串以及所述检索请求数据处理装置的用户的用户信息,
所述索引管理部使用与和所述检索请求中包含的用户信息吻合的用户信息对应起来的许可比特解密密钥,对所述检索请求中包含的所述被加密了的比特串内的许可比特位置的加密比特进行解密,根据通过解密而得到的所述许可比特位置的比特值导出索引值,抽出与和所导出的索引值相同的索引值对应起来的标签数据,
所述数据保管装置还具有检索处理部,该检索处理部核对由所述索引管理部抽出的标签数据和所述检索请求中包含的所述被加密了的检索关键字,从由所述索引管理部抽出的标签数据之中,确定根据与所述检索关键字相同的关键字生成的标签数据,从所述加密数据管理部获取与所确定的标签数据对应起来的加密数据。
13.根据权利要求12所述的数据保管装置,其特征在于,
所述许可比特解密密钥管理部将反映了用户信息的许可比特解密密钥与所述用户信息对应起来保管,
所述检索请求接收部接收包括通过反映了所述检索请求数据处理装置的用户的用户信息的密码密钥被加密了的比特串的检索请求。
14.根据权利要求12所述的数据保管装置,其特征在于,
所述索引管理部将所导出的索引值和所述保管请求中包含的所述标签数据与所述保管请求中包含的用户信息对应起来保管,
在通过所述检索请求接收部接收到所述检索请求的情况下,使用与和所述检索请求中包含的用户信息吻合的用户信息对应起来的许可比特解密密钥,对所述检索请求中包含的所述被加密了的比特串内的许可比特位置的加密比特进行解密,从通过解密而得到的所述许可比特位置的比特值导出索引值,从与和所述检索请求中包含的用户信息吻合的用户信息对应起来的标签数据之中,抽出与和所导出的索引值相同的索引值对应起来的标签数据。
CN201180064828.8A 2011-01-13 2011-01-13 数据处理装置以及数据保管装置 Active CN103329184B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/050393 WO2012095973A1 (ja) 2011-01-13 2011-01-13 データ処理装置及びデータ保管装置

Publications (2)

Publication Number Publication Date
CN103329184A CN103329184A (zh) 2013-09-25
CN103329184B true CN103329184B (zh) 2016-02-03

Family

ID=46506896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180064828.8A Active CN103329184B (zh) 2011-01-13 2011-01-13 数据处理装置以及数据保管装置

Country Status (5)

Country Link
US (1) US9111106B2 (zh)
EP (1) EP2665052B1 (zh)
JP (1) JP5420085B2 (zh)
CN (1) CN103329184B (zh)
WO (1) WO2012095973A1 (zh)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48146E1 (en) 2012-01-25 2020-08-04 Mitsubishi Electric Corporation Data search device, data search method, computer readable medium storing data search program, data registration device, data registration method, computer readable medium storing data registration program, and information processing device
JP5367179B1 (ja) 2012-09-20 2013-12-11 株式会社東芝 データ処理装置、データ管理システム、データ処理方法およびプログラム
US20140168264A1 (en) 2012-12-19 2014-06-19 Lockheed Martin Corporation System, method and computer program product for real-time alignment of an augmented reality device
CN104995621B (zh) 2013-02-25 2018-06-05 三菱电机株式会社 服务器装置以及隐匿检索系统
JP6054790B2 (ja) * 2013-03-28 2016-12-27 三菱スペース・ソフトウエア株式会社 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
KR102131306B1 (ko) * 2013-05-09 2020-07-07 삼성전자주식회사 데이터관리장치, 데이터관리방법 및 데이터관리시스템
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 株式会社日立製作所 検索可能暗号処理システム及び方法
US9178855B1 (en) * 2013-08-25 2015-11-03 Google Inc. Systems and methods for multi-function and multi-purpose cryptography
US9825920B1 (en) 2013-08-25 2017-11-21 Google Llc Systems and methods for multi-function and multi-purpose cryptography
EP3040876A4 (en) * 2013-08-29 2017-04-12 Cognitee Inc. Information processing device, information processing method and program
US9984110B2 (en) * 2014-08-21 2018-05-29 Dropbox, Inc. Multi-user search system with methodology for personalized search query autocomplete
DE102014221893A1 (de) * 2014-10-28 2016-04-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erzeugen eines geheimen Schlüssels
US10599677B2 (en) * 2015-01-22 2020-03-24 Brian J. Bulkowski Methods and systems of splitting database indexes and digests
US9183303B1 (en) 2015-01-30 2015-11-10 Dropbox, Inc. Personal content item searching system and method
US9384226B1 (en) 2015-01-30 2016-07-05 Dropbox, Inc. Personal content item searching system and method
JP6348072B2 (ja) * 2015-02-09 2018-06-27 日本電信電話株式会社 暗号システム、属性管理装置、および鍵生成方法
US10592682B2 (en) * 2015-02-20 2020-03-17 Mitsubishi Electric Corporation Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state
US10203850B2 (en) * 2015-02-27 2019-02-12 Mitsubishi Electric Corporation Data editing apparatus, data editing method, and data editing program
US9992175B2 (en) * 2016-01-08 2018-06-05 Moneygram International, Inc. Systems and method for providing a data security service
WO2017122326A1 (ja) 2016-01-14 2017-07-20 三菱電機株式会社 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム
WO2017122352A1 (ja) 2016-01-15 2017-07-20 三菱電機株式会社 暗号化装置、暗号化方法及び暗号化プログラム
US9922199B2 (en) * 2016-02-18 2018-03-20 Bank Of America Corporation Document security tool
CA3013185A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited A method and system for securing computer software using a distributed hash table and a blockchain
EP3420675B1 (en) 2016-02-23 2020-03-11 Nchain Holdings Limited Blockchain implemented counting system and method for use in secure voting and distribution
CN109314636B (zh) 2016-02-23 2022-01-11 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
SG11201806709PA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd Universal tokenisation system for blockchain-based cryptocurrencies
CA3014752A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited System and method for controlling asset-related actions via a blockchain
CN108292402B (zh) * 2016-02-23 2022-10-04 恩链控股有限公司 用于信息的安全交换的公共秘密的确定和层级确定性密钥
JP6925346B2 (ja) 2016-02-23 2021-08-25 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンベースのトークナイゼーションを用いた交換
BR112018016234A2 (pt) 2016-02-23 2019-01-02 Nchain Holdings Ltd método implementado por computador para controlar o acesso a um recurso, sistemas baseados em computador e método para controle de acesso a uma carteira digital
SG10202007907PA (en) 2016-02-23 2020-09-29 Nchain Holdings Ltd Blockchain-implemented method for control and distribution of digital content
CA3019642C (en) * 2016-04-01 2023-03-07 Jpmorgan Chase Bank, N.A. Systems and methods for providing data privacy in a private distributed ledger
WO2017203698A1 (ja) * 2016-05-27 2017-11-30 三菱電機株式会社 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム
JP6721832B2 (ja) * 2016-08-24 2020-07-15 富士通株式会社 データ変換プログラム、データ変換装置及びデータ変換方法
JP6781373B2 (ja) * 2016-10-05 2020-11-04 富士通株式会社 検索プログラム、検索方法、および検索装置
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
WO2018138857A1 (ja) * 2017-01-27 2018-08-02 三菱電機株式会社 検索装置、監視装置、監視方法および検索プログラム
WO2018198192A1 (ja) 2017-04-25 2018-11-01 三菱電機株式会社 検索装置、検索システム、検索方法及び検索プログラム
CN110612563B (zh) 2017-05-18 2023-05-12 三菱电机株式会社 检索装置、隐匿检索系统以及计算机能读取的存储介质
US10891366B1 (en) 2017-08-18 2021-01-12 Jonetix Corporation Secure hardware signature and related methods and applications
JP6940812B2 (ja) 2017-09-11 2021-09-29 ブラザー工業株式会社 情報処理装置、および、コンピュータプログラム
CN111066076B (zh) 2017-09-12 2023-03-17 三菱电机株式会社 登记终端、密钥服务器、检索系统和计算机能读取的存储介质
EP3657475B1 (en) * 2017-09-12 2021-08-25 Mitsubishi Electric Corporation Data processing apparatus, data processing method, and data processing program
EP3509247A1 (de) * 2018-01-03 2019-07-10 Siemens Aktiengesellschaft Verfahren und schlüsselgenerator zum rechnergestützten erzeugen eines gesamtschlüssels
WO2019142268A1 (ja) * 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
EP3731107B1 (en) * 2018-01-17 2021-10-27 Mitsubishi Electric Corporation Data management device, search device, registration device, data management method, and data management program
CN108471417B (zh) * 2018-03-28 2021-05-04 湖南大学 一种云环境下基于层次属性的关键字查询方法
US11611539B2 (en) * 2018-12-16 2023-03-21 Auth9, Inc. Method, computer program product and apparatus for encrypting and decrypting data using multiple authority keys
CN110266490B (zh) * 2019-07-25 2023-04-21 西南石油大学 云存储数据的关键词密文生成方法及装置
US11216433B2 (en) * 2019-12-12 2022-01-04 Google Llc Encrypted search with no zero-day leakage
US11250151B2 (en) * 2020-05-05 2022-02-15 Google Llc Encrypted search over encrypted data with reduced volume leakage
US11539676B2 (en) * 2020-11-12 2022-12-27 Bank Of America Corporation Encrypted tagging system for protection of network-based resource transfers
WO2023007595A1 (ja) * 2021-07-27 2023-02-02 三菱電機株式会社 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム
CN113641769B (zh) * 2021-08-20 2024-02-20 湖南快乐阳光互动娱乐传媒有限公司 一种数据处理方法及装置
CN114884660B (zh) * 2022-07-12 2022-09-20 西南石油大学 一种基于通配符身份的可搜索加密方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
CN1347050A (zh) * 2000-09-27 2002-05-01 日本电气株式会社 加密文件系统、加密文件检索方法、以及计算机可读介质
CN1457170A (zh) * 2002-05-09 2003-11-19 佳能株式会社 公钥证明书发行装置
JP2007052698A (ja) * 2005-08-19 2007-03-01 Kddi Corp 暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システム
JP2010267227A (ja) * 2009-05-18 2010-11-25 Nec Corp 情報検索システム、情報検索装置、情報検索端末、情報検索方法、及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484092B2 (en) * 2001-03-12 2009-01-27 Arcot Systems, Inc. Techniques for searching encrypted files
JP2002278970A (ja) 2001-03-16 2002-09-27 Ricoh Co Ltd 文書管理システム
CN1698304B (zh) * 2002-09-06 2010-09-15 美国邮政服务公司 检索安全数据的方法和计算机系统
US7159119B2 (en) 2002-09-06 2007-01-02 United States Postal Service Method and system for efficiently retrieving secured data by securely pre-processing provided access information
JP4395611B2 (ja) 2003-10-28 2010-01-13 独立行政法人情報通信研究機構 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム
WO2005119960A2 (en) * 2004-06-01 2005-12-15 Ben-Gurion University Of The Negev Research And Development Authority Structure preserving database encryption method and system
FR2898747A1 (fr) 2006-03-15 2007-09-21 Gemplus Sa Procede de chiffrement cherchable dechiffrable, systeme pour un tel chiffrement
US7874013B2 (en) * 2006-04-10 2011-01-18 Sawteeth, Inc. Secure and granular index for information retrieval
KR20080067075A (ko) * 2007-01-15 2008-07-18 주식회사 히타치엘지 데이터 스토리지 코리아 광디스크의 암호화 데이터 기록 및 재생방법
WO2008099831A1 (ja) * 2007-02-13 2008-08-21 Nec Corporation 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム
CN101593196B (zh) * 2008-05-30 2013-09-25 日电(中国)有限公司 用于快速密文检索的方法、装置和系统
CN101739400B (zh) * 2008-11-11 2014-08-13 日电(中国)有限公司 生成索引的方法和装置以及检索方法和装置
JP5274271B2 (ja) * 2009-01-16 2013-08-28 三菱電機株式会社 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法
CN102713996A (zh) 2010-01-13 2012-10-03 三菱电机株式会社 隐匿检索系统以及公开参数生成装置以及加密装置以及用户秘密密钥生成装置以及查询发布装置以及检索装置以及计算机程序以及隐匿检索方法以及公开参数生成方法以及加密方法以及用户秘密密钥生成方法以及查询发布方法以及检索方法
EP2525340B1 (en) 2010-01-15 2018-06-06 Mitsubishi Electric Corporation Confidential search system and encryption processing system
US8429421B2 (en) * 2010-12-17 2013-04-23 Microsoft Corporation Server-side encrypted pattern matching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
CN1347050A (zh) * 2000-09-27 2002-05-01 日本电气株式会社 加密文件系统、加密文件检索方法、以及计算机可读介质
CN1457170A (zh) * 2002-05-09 2003-11-19 佳能株式会社 公钥证明书发行装置
JP2007052698A (ja) * 2005-08-19 2007-03-01 Kddi Corp 暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システム
JP2010267227A (ja) * 2009-05-18 2010-11-25 Nec Corp 情報検索システム、情報検索装置、情報検索端末、情報検索方法、及びプログラム

Also Published As

Publication number Publication date
US20130287210A1 (en) 2013-10-31
WO2012095973A1 (ja) 2012-07-19
CN103329184A (zh) 2013-09-25
EP2665052B1 (en) 2018-08-15
EP2665052A1 (en) 2013-11-20
JP5420085B2 (ja) 2014-02-19
EP2665052A4 (en) 2017-08-09
JPWO2012095973A1 (ja) 2014-06-09
US9111106B2 (en) 2015-08-18

Similar Documents

Publication Publication Date Title
CN103329184B (zh) 数据处理装置以及数据保管装置
US11652608B2 (en) System and method to protect sensitive information via distributed trust
EP1714423B1 (en) Secret information management scheme based on secret sharing scheme
US7792300B1 (en) Method and apparatus for re-encrypting data in a transaction-based secure storage system
CN1859086B (zh) 一种内容分级访问控制系统和方法
KR101371608B1 (ko) Dbms 및 데이터베이스에서 암호화 방법
CN102713995A (zh) 隐匿检索系统以及密码处理系统
CN110635909B (zh) 一种基于属性的抗合谋攻击的代理重加密方法
CN107077469A (zh) 服务器装置、检索系统、终端装置、检索方法、服务器程序以及终端程序
CN103049466A (zh) 一种基于分布式密文存储的全文检索方法及系统
CN107070649B (zh) 一种减少写入的大文件选择性加密方法
CN108400970A (zh) 云环境中相似数据消息锁定加密去重方法、云存储系统
Sumathi et al. A group-key-based sensitive attribute protection in cloud storage using modified random Fibonacci cryptography
CN1322431C (zh) 基于对称密钥加密保存和检索数据
Xu et al. Applications of cryptography in database: a review
CN110603538B (zh) 使用密码共享的加密搜索云服务
JP2002539545A (ja) 匿名化の方法
JP2007258852A (ja) データ管理装置及び端末装置及び鍵生成方法及び復号方法及びプログラム
CN114430321A (zh) 基于dfa自适应安全的黑盒可追踪密钥属性加密方法及装置
Shu et al. Secure storage system and key technologies
Maheswari et al. Secure data transmission for multisharingin big data storage
Kumar Advanced RSA cryptographic algorithm for improving data security
Senthilkumar et al. HB-PPAC: hierarchy-based privacy preserving access control technique in public cloud
Manjula et al. DPMM: data privacy and memory management in big data server using hybrid hashing method
JP7350220B2 (ja) 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム

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