CN102713995A - 隐匿检索系统以及密码处理系统 - Google Patents

隐匿检索系统以及密码处理系统 Download PDF

Info

Publication number
CN102713995A
CN102713995A CN2010800613602A CN201080061360A CN102713995A CN 102713995 A CN102713995 A CN 102713995A CN 2010800613602 A CN2010800613602 A CN 2010800613602A CN 201080061360 A CN201080061360 A CN 201080061360A CN 102713995 A CN102713995 A CN 102713995A
Authority
CN
China
Prior art keywords
vector
key
user
property
generation portion
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
CN2010800613602A
Other languages
English (en)
Other versions
CN102713995B (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 CN102713995A publication Critical patent/CN102713995A/zh
Application granted granted Critical
Publication of CN102713995B publication Critical patent/CN102713995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

目的在于实现一种在群组中共享数据的情况下能够根据用户的作用、权限灵活地控制可检索的数据的隐匿检索。隐匿检索系统(100)在属性矢量与谓词矢量的内积是规定的值的情况下,针对根据属性矢量生成的密码数据和根据谓词矢量生成的解密密钥进行配对运算,从而利用能够对密码数据进行解密的内积谓词密码处理来实现隐匿检索。特别是隐匿检索系统(100)通过研究属性矢量与谓词矢量的生成方法,能够根据用户的作用、权限灵活地控制可检索的数据。

Description

隐匿检索系统以及密码处理系统
技术领域
本发明涉及内积谓词密码以及使用内积谓词密码以加密了的状态检索信息的隐匿检索。
背景技术
近年来,为了保护数据的机密,在硬盘等记录介质中保管数据时,一般用作为该数据的管理者的用户的共用密钥进行数据的加密。在该情况下,用户能够用自己的共用密钥对加密数据进行解密来利用数据。
例如,在Microsoft(注册商标)公司的Windows(注册商标)中,实现了被称为EFS的加密文件系统。在该加密文件系统中,使用与登录名关联起来而由Windows(注册商标)管理的共用密钥,对硬盘中存储的文件(数据)进行加密。
但是,如果不将加密数据进行解密就无法得知内容,所以存在如下缺点:如果要对在数据中是否包含规定的关键字进行检索,则必须一次对所有的数据进行解密。
例如,在企业内,一般由文件服务器对机密信息进行一并管理。此处,假设该服务器中存储的数据被加密。在该情况下,需要将服务器中存储的所有的加密数据下载到终端侧并进而进行解密之后,进行关键字检索。因此,存在根据通信路径而极其花费时间、或在其他用户的通信中也产生延迟等问题。
作为解决这些问题的方法,有不用对加密数据进行解密而能够在仍然加密了的状态下进行关键字检索的被称为隐匿检索的技术。
在专利文献1、非专利文献3中,记载了通过对加密数据附加被称为标签的信息从而不用对加密了的数据进行解密而能够进行关键字的检索的隐匿检索方式。
在非专利文献3记载的隐匿检索中,任意的用户在面向用户A而对数据进行加密时,使用用户A的公开密钥对关键字进行加密来生成标签,并添加到加密数据而保管到服务器中。在该方式中,仅有具有与关键字的加密中使用的公开密钥对应的秘密密钥的用户A能够实施加密数据的检索。
非专利文献3记载的隐匿检索是根据公开密钥密码来实现的,与此相对,专利文献1记载的隐匿检索是根据凯撒密码等共用密钥密码来实现的。因此,仅有知晓共用密钥的用户能够对数据进行加密(生成标签)并且能够进行检索。
专利文献1:日本特开2002-278970号公报
专利文献2:日本特开2008-176040号公报
专利文献3:日本特开2008-288837号公报
非专利文献1:T.Okamoto,K.Takashima,“Homomorphicencryption and signatures from vector decomposition”,Pairing 2008,Lecture Notes in Computer Science,Vol.5209,2008.
非专利文献2:T.Okamoto,K.Takashima,“HierarchicalPredicate Encryption for Inner-Products”,ASIACRYPT 2009,Lecture Notes in Computer Science,Vol.5912,2009.
非专利文献3:D.Boneh,G.D.Crescenzo,R.Ostrovsky,G.Persiano,“Public Key Encryption with Keyword Search”,EUROCRYPT 2004,Lecture Notes in Computer Science,Vol.3027,2004.
非专利文献4:J.Katz,A.Sahai,B.Waters,“Predicate EncryptionSupporting Disjunctions,Polynomial Equations,and Inner Products”,EUROCRYPT 2008,Lecture Notes in Computer Science,Vol.4965,2008.
非专利文献5:H.A.Park,J.W.Byun,D.H.Lee,“Secure IndexSearch for Groups”,TrustBus 2005,Lecture Notes in ComputerScience,Vol.3592,2005.
非专利文献6:P.Wang,H.Wang,J.Pieprzyk,“KeywordField-Free Conjunctive Keyword Searches on Encrypted Data andExtension for Dynamic Groups”,CANS 2008,Lecture Notes inComputer Science,Vol.5339,2008.
发明内容
但是,在以往的隐匿检索中,在群组(group)中共享数据的情况下,无法根据用户的作用、权限来灵活地控制可检索的数据。
本发明的目的在于实现一种在群组中共享数据的情况下能够根据用户的作用、权限来灵活地控制可检索的数据的隐匿检索。
本发明的隐匿检索系统的特征在于,具备:
加密数据储存装置,储存加密数据;以及
检索装置,从所述加密数据储存装置储存的加密数据中,检索满足规定的检索条件的加密数据,其中,
所述加密数据储存装置具备加密数据储存部,该加密数据储存部将包含密码矢量c1的加密数据储存到存储装置中,其中,该密码矢量c1是针对构成规定的基底B的基底矢量bi(i=1,...,n)(n是2以上的整数)的至少一部分基底矢量将根据表示能够检索的范围的第1属性信息而生成的属性矢量的各要素设定为系数的密码矢量,
所述检索装置具备:
用户秘密密钥存储部,将密钥矢量k L,0存储到存储装置中,其中,该密钥矢量k L,0是针对构成规定的基底B的基底矢量b i(i=1,...,n)的一部分基底矢量将根据表示用户的属性的第2属性信息而生成的第1谓词矢量的各要素设定为所述系数的密钥矢量;
陷门生成部,生成针对在所述用户秘密密钥存储部所存储的密钥矢量k L,0中没有设定所述第1谓词矢量的要素的规定的基底矢量将根据表示所述规定的检索条件的第3属性信息而生成的第2谓词矢量的各要素设定为所述系数的检索条件矢量SV,并通过处理装置,生成将所生成的所述检索条件矢量SV相加到所述密钥矢量k L,0而得到的矢量来作为陷门X;以及
数据发送部,将所述陷门生成部所生成的陷门X经由通信装置发送到所述加密数据储存装置,
所述加密数据储存装置还具备检索执行部,该检索执行部使用所述加密数据储存部储存了的加密数据中包含的密码矢量c1和所述数据发送部发送了的陷门X,通过处理装置来进行规定的运算,根据通过所述规定的运算而得到的结果,判定所述加密数据是否满足所述检索条件,从所述加密数据储存部储存了的加密数据中检索满足所述检索条件的加密数据。
在本发明的隐匿检索系统中,根据可检索的用户的作用、权限来设定属性矢量,并且根据使用密钥矢量的用户的作用、权限来设定谓词矢量,由此在群组中共享数据的情况下能够控制可检索的数据。
附图说明
图1是示出隐匿检索系统100的结构例的图。
图2是示出密钥管理服务器201的功能的功能框图。
图3是示出访问终端301的功能的功能框图。
图4是示出数据中心401的功能的功能框图。
图5是示出使用了一般的内积谓词密码时的加密数据3001的结构例的图。
图6是示出加密数据A中包含的各数据、在上述说明中出现的各数据的关系的图。
图7是示出使用了非专利文献2记载的内积谓词密码时的加密数据3101的结构例的图。
图8是示出加密数据B中包含的各数据、在上述说明中出现的各数据的关系的图。
图9是示出属性信息编码列501的结构例的图。
图10是示出个人ID 502的设定例的图。
图11是示出所属信息编码列503的结构例的图。
图12是示出所属信息编码列503的设定例的图。
图13是示出职位信息编码列504的结构例的图。
图14是示出第1个设定例中的职位信息编码列504的设定例的图。
图15是示出第2个设定例中的职位信息编码列504的设定例的图。
图16是示出类型编码列505的结构例的图。
图17是示出类型编码列505的设定例的图。
图18是示出机密度编码列506的结构例的图。
图19是示出第1个设定例中的机密度编码列506的设定例的图。
图20是示出第2个设定例中的机密度编码列506的设定例的图。
图21是示出雇用形态编码列507的结构例的图。
图22是示出第1个设定例中的雇用形态编码列507的设定例的图。
图23是示出第2个设定例中的雇用形态编码列507的设定例的图。
图24是示出期间信息编码列508的结构例1的图。
图25是示出结构例1时的第1个设定例中的期间信息编码列508的设定例的图。
图26是示出结构例1时的第2个设定例中的期间信息编码列508的设定例的图。
图27是示出期间信息编码列508的结构例2的图。
图28是示出结构例2时的期间信息编码列508的设定例的图。
图29是示出结构例2时的期间信息编码列508的设定例的图。
图30是示出结构例2时的期间信息编码列508的设定例的图。
图31是示出期间信息编码列508的结构例3的图。
图32是示出期间信息编码列508的结构例3的设定例的图。
图33是示出移交目的地信息编码列509的结构例的图。
图34是示出移交目的地信息编码列509的设定例的图。
图35是示出密钥用途标志510的设定例的图。
图36是示出检索词编码列511的设定例1的图。
图37是示出检索词编码列511的设定例2的图。
图38是关于通过AND判定比较属性信息编码列501中的编码列时的矢量化方法的说明图。
图39是关于通过OR判定比较属性信息编码列501中的编码列时的矢量化方法的说明图。
图40是关于通过包含关系判定比较属性信息编码列501中的编码列时的矢量化方法的说明图。
图41是示出(1)系统初始设定的处理流程的流程图。
图42是示出(2)中间秘密密钥生成的处理流程的流程图。
图43是示出(3)用户秘密密钥生成的处理流程的流程图。
图44是示出(4)加密数据生成的处理流程的流程图。
图45是示出(5)关键字检索的处理流程的流程图。
图46是示出(6)移交用户秘密密钥生成的处理流程的流程图。
图47是示出隐匿检索系统100中使用的属性信息编码列501的构造的一个例子的图。
图48是示出AND判定时的属性ID即AID的分配、以及分配了索引编号BI的例子的图。
图49是示出AND判定时的属性ID即AID的分配、以及分配了索引编号BI的例子的图。
图50是示出AND判定时的属性ID即AID的分配、以及分配了索引编号BI的例子的图。
图51是示出OR判定时的AID的分配、以及分配了索引编号BI的例子的图。
图52是示出用户属性信息数据库的结构例的图。
图53是示出中间秘密密钥属性信息编码列的例子的图。
图54是示出用户秘密密钥属性信息编码列的例子的图。
图55是示出加密数据属性信息编码列的例子的图。
图56是示出检索用属性信息编码列的例子的图。
图57是示出移交用户秘密密钥属性信息编码列的例子的图。
图58是示出实施方式2的密钥管理服务器201的功能的功能框图。
图59是示出实施方式2的访问终端301的功能的功能框图。
图60是示出根据谓词矢量生成固定谓词矢量和可变谓词矢量的方式的图。
图61是示出(7)部分用户秘密密钥生成的处理流程的流程图。
图62是示出(8)群组证书生成的处理流程的流程图。
图63是示出实施方式2的隐匿检索系统100的处理流程的流程图。
图64是示出与群组证书相关的属性信息编码列501的例子的图。
图65是示出与群组证书相关的属性信息编码列501的例子的图。
图66是示出与群组证书相关的属性信息编码列501的例子的图。
图67是示出与群组证书相关的属性信息编码列501的例子的图。
图68是示出与群组证书相关的属性信息编码列501的例子的图。
图69是示出密钥管理服务器201、访问终端301、数据中心401的硬件结构的一个例子的图。
(符号说明)
100:隐匿检索系统;101:网络;102:公司内LAN;201:密钥管理服务器;202:主密钥生成部;203:中间秘密密钥生成部;204:用户秘密密钥生成部;205:用户属性信息管理部;206:编码信息生成部;207:矢量生成部;208:各种密钥保管部;209:PKG侧数据发送接收部;210:部分用户秘密密钥生成部;211:用户秘密密钥信息管理部;212:群组证书生成部;301:访问终端;302:用户秘密密钥存储部;303:陷门生成部;304:移交用户秘密密钥生成部;305:数据加密密钥解密部;306:编码信息生成部;307:矢量生成部;308:标签/加密数据加密密钥生成部;309:数据加密部;310:数据解密部;311:终端侧数据发送接收部;312:部分用户秘密密钥管理部;313:群组证书管理部;314:用户秘密密钥重构部;401:数据中心;402:中心侧数据发送接收部;403:数据管理部;404:检索要求接收部;405:检索执行部;406:检索结果发送部;501:属性信息编码列;502:个ID;503:所属信息编码列;504:职位信息编码列;505:类型编码列;506:机密度编码列;507:雇用形态编码列;508:期间信息编码列;509:移交目的地信息编码列;510:密钥用途标志;511:检索词编码列;601:公司ID;602:营业所ID;603:部ID;604:科ID;605:单元ID;701:董事等级标志;702:所长等级标志;703:部长等级标志;704:科长等级标志;705:股长等级标志;706:担当等级标志;801:大分类识别ID;802:中分类识别ID;803:小分类识别ID;901:绝密标志;902:保密标志;903:公司外保密标志;904:不相应标志;1001:综合职位标志;1002:一般职位标志;1003:驻在人员标志;1004:关系社员标志;1005:派遣社员标志;1006:其他标志;1201:开始年月编码列;1202:中间年编码列;1203:结束年月编码列;1301:董事秘书标志;1302:所长代理标志;1303:部长代理标志;1304:科长代理标志;1305:同事标志。
具体实施方式
以下,根据附图,说明本发明的实施方式。
另外,在以下的说明中,式101表示从A均匀地选择y。即,在式101中,y是均匀随机数。
[式101]
y ← U A
另外,在以下的说明中,处理装置是后述的CPU 1911等。存储装置是后述ROM 1913、RAM 1914、磁盘1920等。通信装置是后述的通信板1915等。输入装置是后述的键盘1902、通信板1915等。即,处理装置、存储装置、通信装置、输入装置是硬件。
另外,在以下的说明中,在进行加密数据的生成以及标签的生成时,为了指定可检索的用户的属性,使用被称为谓词密码的密码。谓词密码是指,能够在对数据M进行加密而生成加密数据C时指定属性x,能够在秘密密钥sk的生成中指定谓词fv。而且,是具备如下特征的密码方式,即,仅有具有满足某个条件(例如fv(x)=1)的秘密密钥sk的用户能够对用属性x进行了加密的加密数据C进行解密。
该谓词密码的具体的算法记载在非专利文献2、非专利文献4中。这些方式是在谓词密码中还被称为内积谓词密码的算法。在该内积谓词密码中,用属性矢量x=(x1,...,xN)来表示用户的属性,该矢量被嵌入到加密数据C中。另外,用谓词矢量v=(v1,v2,...,vN)来表示谓词,它被嵌入到秘密密钥sk中。限于该属性矢量与谓词矢量的内积值成为规定的值(此处,说明规定的值为“0”)的情况,该秘密密钥sk的持有者能够对数据进行解密。
为了实现能够根据用户的作用、权限来控制可检索的范围、可解密的范围的隐匿检索,需要考虑企业的组织信息、社员的职位、文书的种类、机密度等属性,来生成适合企业内系统的属性矢量、谓词矢量。
例如,A部B科C同志具有能够对面向A部的加密数据、面向B科的加密数据进行解密的权限。但是,如果对1个用户发行面向A部用的秘密密钥、面向B科用的秘密密钥等多个秘密密钥,则用户的密钥管理的工时变复杂。因此,理想的是通过只具有1个秘密密钥就能够对具有访问权限的所有数据进行检索、解密。在以下的实施方式中,生成能够削减管理这样的秘密密钥的工时的属性矢量、谓词矢量。
此处,限于非专利文献2记载的内积谓词密码的算法中的以下的说明中所需的范围,而简单地进行说明(详细参照非专利文献2)。
非专利文献2记载的内积谓词密码是使用了利用椭圆曲线来定义的配对矢量空间的密码。虽然可考虑构成该配对矢量空间的多个方法,但此处基于通过椭圆曲线的直积而构成的方法来进行说明。另外,椭圆曲线上的群的运算一般被记述为加法群的运算的情况较多,但此处还包括有限域上的运算在内全部记述为乘法群。另外,此处,使用记述最简单的对称配对来进行说明,但容易扩展到使用了非对称配对的一般的方式。
将G、GT分别设为素数位数q的群。另外,设Fq={0,1,…,q-1}。另外,将e:G×G→GT,设为满足双线性(针对任意的u、v∈G、a、b∈Fq,成为e(ua,vb)=e(u,v)ab的性质)以及非退化性(存在e(g,g)≠1那样的g∈G的性质)的配对。另外,将N个群G的直积集合设为V=G×G×…×G。此处,使直积集合的要素x=(gx1,gx2,...,gxN)∈V,与x=(x1,x2,...,xN)=FN q对应起来。
此时,如果如以下那样对x=(gx1,gx2,...,gxN)∈V、y=(gy1,gy2,...,gyN)∈V、α∈Fq进行定义,则V构成矢量空间。
x+y=(gx1+y1,gx2+y2,...,gxN+yN),αx=(gαx1,gαx2,...,gαxN
作为该矢量空间V的配对,如式102那样定义针对u=(u1,u2,...,uN)∈V、v=(v1,v2,...,vN)∈V的配对。
[式102]
e ( u , v ) = Π i = 1 N e ( u i , v i )
在矢量空间V中,定义以下那样的矢量。
a1=(g,1,1,...,1),a2=(1,g,...,1),...,aN=(1,1,1,...,g)
此时,A=(a1,a2,...,aN)成为矢量空间V的基底。将该基底A称为标准基底。
此处,在有2个矢量x=(gx1,gx2,...,gxN)∈V、y=(gy1,gy2,...,gyN)∈V时,能够使用标准基底A而将它表示为x=x1a1+x2a2+...+xNaN、y=y1a1+y2a2+...+yNaN
另外,标准基底A满足式103。
[式103]
e ( a i , a j ) = e ( g , g ) δ i , j
此处,δi,j是克罗内克(Kronecker)的德尔塔(delta)。因此,可知在提供了矢量x=x1a1+x2a2+...+xNaN以及y=y1a1+y2a2+...+yNaN时,该配对是式104。
[式104]
e ( x , y ) = Π i = 1 N e ( g , g ) x i · y i
将X=(xi,j)设为各要素由从Fq均匀随机地选择的值构成的N行N列的方阵。这样构成的X在极其高的概率下成为正则矩阵。使用这样的正则矩阵来定义式105。
如果设为式105,则B=(b1,b2,...,bN)也成为矢量空间V的基底。将该基底B称为随机基底。另外,将基底B的各要素b1、b2、...、bN称为基底B的基底矢量。
[式105]
b i = Σ j = 1 N χ i , j a j
另外,使用上述矩阵X的转置矩阵的逆矩阵,定义为(vi,j)=(XT-1。使用该矩阵(vi,j)来定义为式106。
如果设为式106,则B=(b 1,b 1,...,b N)也成为矢量空间V的随机基底。另外,将基底B的各要素b 1、b 2、...、b N也称为基底B的基底矢量。
[式106]
b i * = Σ j = 1 N v i , j a j
此处,在该随机基底B、B中,也与标准基底A同样地,满足式107。
[式107]
e ( b i , b j * ) = ( g , g ) δ i , j
此处,δi,j是克罗内克的德尔塔。
由此,可知在使用随机基底B来表示矢量x=x1b1+x2b2+...+xNbN,并使用随机基底B来表示矢量y=y1b 1+y2b 2+...+yNb N时,是式108。
[式108]
e ( x , y ) = Π i = 1 N e ( g , g ) x i · y i
根据非专利文献1,关于矢量空间V中的随机基底B=(b1,b2,...,bN),下面的性质成立。在提供了FN q的要素(x1,x2,...,xN)时,容易得到x=x1b1+x2b2+...+xNbN。但是,在提供了x=x1b1+x2b2+...+xLbL(1<L≤N)时,不使用X=(xi,j)而得到矢量y=y1b 1+y2b 2+...+ylb l(1≤l<L)的困难程度与一般化了的Diffie-Hellman计算问题相同。
在非专利文献2中,利用以上的性质构成了内积谓词密码的算法。
实施方式1.
在实施方式1中,说明在加密了的状态下能够检索信息的隐匿检索系统100(密码处理系统)。
在实施方式1中,按照以下的顺序进行说明。
第1,说明隐匿检索系统100的结构和功能。
第2,说明加密数据的构造。另外,一并说明加密数据以及其他数据的流向。
第3,说明生成属性矢量、谓词矢量的方法。此处,首先说明属性信息编码列501。属性信息编码列501是用来生成成为用于生成属性矢量、谓词矢量的源的编码信息的编码列。接下来,说明根据使用属性信息编码列501生成的编码信息来生成属性矢量、谓词矢量的方法。在非专利文献2、非专利文献4中,虽然存在关于内积谓词密码的记载,但没有关于决定属性矢量、谓词矢量的具体方法的记载。特别是没有指出如下点:在实现隐匿检索时,如果在系统中没有统一属性矢量和谓词矢量的结构,则无法实现利用一个陷门横贯了所有文档的检索。因此,生成该属性矢量、谓词矢量的方法是1个要点。
第4,说明隐匿检索系统100的动作。即,说明隐匿检索系统100实现隐匿检索的具体方法。此处,将隐匿检索系统100的动作分成6个处理而进行说明。另外,此处根据非专利文献2记载的内积谓词密码进行说明。在非专利文献2中,没有关于实现隐匿检索的具体方法的记载。因此,该隐匿检索系统100实现隐匿检索的方法也是1个要点。
另外,此处设想如下状况:由数据中心401预先保管了在企业内制作的数据(文书等),且以部、科为单位共享各数据。另外,根据与各用户(社员)关联起来的所属等属性,对用户发行用户秘密密钥。另外,在将数据保管到数据中心401时,设定表示可解密的范围、可检索的范围的属性信息来进行加密,由此,仅有具有权限的用户才能够实施加密了的数据的解密、检索。
<第1.隐匿检索系统100的结构和功能>
图1是示出隐匿检索系统100的结构例的图。
隐匿检索系统100具备密钥管理服务器201(201a~201n)、访问终端301(301a~301m)、数据中心401。密钥管理服务器201和访问终端301连接到公司内LAN 102。公司内LAN 102经由网络101而与数据中心401连接。
密钥管理服务器201(密钥生成装置)生成用于加密的公开参数,并且生成用于对用户发行用户秘密密钥的主密钥、中间秘密密钥。另外,管理各用户的所属、职位等属性信息,并且根据该属性信息对社员发行用户秘密密钥。在一般的结构中,例如由密钥管理服务器201a管理主密钥,针对每个营业所设置管理中间秘密密钥的密钥管理服务器201b~201n来运用。
访问终端301(检索装置、加密装置、解密装置)是企业的用户所利用的PC(个人计算机)。访问终端301在制作出数据之后进行加密并保管到数据中心401,并且检索数据中心401中储存的数据,对从数据中心401取出的加密数据进行解密并编辑。
数据中心401(加密数据储存装置)是具有对在企业内制作出的加密数据进行保管的大容量的存储装置的服务器。由于在加密了的状态下保管数据,所以在数据中心401中无法阅览内容。
网络101是连接公司内LAN 102与数据中心401的通信路径。例如,因特网等是代表性的网络101的例子。
公司内LAN 102是在企业内铺设的通信路径,连接了在企业内利用的各种服务器、个人电脑。另外,在多个建筑物中具有办公室的情况下,经由路由器、专线等而成为复杂的通信路径结构。
图2是示出密钥管理服务器201的功能的功能框图。
密钥管理服务器201具备主密钥生成部202、中间秘密密钥生成部203、用户秘密密钥生成部204、用户属性信息管理部205、编码信息生成部206、矢量生成部207、各种密钥保管部208、PKG侧数据发送接收部209。
主密钥生成部202根据在系统中利用的密钥长度,通过处理装置来生成利用隐匿检索的所有用户共同地利用的公开参数,并且通过处理装置来生成成为生成各种秘密密钥的源的主密钥。
中间秘密密钥生成部203在设置多个密钥管理服务器201的情况下,通过处理装置,生成为了对其他密钥管理服务器201发行用户秘密密钥而使用的中间秘密密钥。另外,中间秘密密钥生成部203使用后述的矢量生成部207生成的谓词矢量,来生成中间秘密密钥。
用户秘密密钥生成部204使用后述的矢量生成部207生成的谓词矢量,根据主密钥或者中间秘密密钥,通过处理装置而生成用户秘密密钥。
用户属性信息管理部205利用存储装置来管理表示用户的所属、职位、可以访问的文书的机密度、雇用形态等各种属性的属性信息。另外,用户属性信息管理部205不仅管理当前时刻下的属性信息,而且还将过去的属性信息作为历史进行管理。
编码信息生成部206(第2编码信息生成部)根据用户属性信息管理部205管理的属性信息,通过处理装置来生成编码信息(第2编码信息)。
矢量生成部207根据编码信息生成部206所生成的编码信息,通过处理装置来生成谓词矢量。
各种密钥保管部208(密钥存储部)将由主密钥生成部202生成的主密钥、由中间秘密密钥生成部203生成的中间秘密密钥、由用户秘密密钥生成部204生成的用户秘密密钥存储到存储装置中。
PKG侧数据发送接收部209将中间秘密密钥、公开参数经由通信装置而发送到其他的密钥管理服务器201,并且将公开参数、用户秘密密钥经由通信装置而发送到用户使用的访问终端301。
图3是示出访问终端301的功能的功能框图。
访问终端301具备用户秘密密钥存储部302、陷门生成部303、移交用户秘密密钥生成部304、数据加密密钥解密部305、终端侧数据发送接收部311、编码信息生成部306、矢量生成部307、标签/加密数据加密密钥生成部308、数据加密部309、数据解密部310。
用户秘密密钥存储部302(密钥存储部)将对用户单独地发行的用户秘密密钥、从其他用户发行来的移交用户秘密密钥、以及公开参数存储到存储装置中。
陷门生成部303基于用户秘密密钥存储部302所存储的用户秘密密钥或者移交用户秘密密钥、以及由希望检索的关键字生成的谓词矢量,通过处理装置来生成与检索要求相当的陷门。
移交用户秘密密钥生成部304在用户对其他用户附带限制地移交自身具有的检索、解密权限的情况下,通过处理装置来生成移交用户秘密密钥。移交用户秘密密钥生成部304基于用户秘密密钥存储部302所存储的用户秘密密钥或者移交用户秘密密钥、以及根据表示对移交目的地用户提供的移交权限的属性信息生成的谓词矢量,生成移交用户秘密密钥。
数据加密密钥解密部305(共用密钥取得部)利用用户秘密密钥或者移交用户秘密密钥,解密对后述的终端侧数据发送接收部311从数据中心401接收到的加密数据添加的加密数据加密密钥或者标签兼加密数据加密密钥。由此,数据加密密钥解密部305通过处理装置来取出数据加密密钥。
另外,在后面叙述加密数据的构造。
编码信息生成部306(第1编码信息生成部)从数据中自动地抽出要检索的关键字,并且从用户处接收要检索的关键字。然后,编码信息生成部306根据关键字,通过处理装置来生成编码信息(第1编码信息)。
另外,编码信息生成部306从用户处接收表示可解密用户的属性的属性信息。然后,编码信息生成部306根据属性信息,通过处理装置来生成编码信息(第1编码信息)。
矢量生成部307根据编码信息生成部306所生成的编码信息,通过处理装置来生成属性矢量或者谓词矢量。
标签/加密数据加密密钥生成部308(加密数据生成部)根据矢量生成部307所生成的属性矢量以及随机数,通过处理装置来制作多个标签。另外,标签/加密数据加密密钥生成部308根据在制作标签时所使用的随机数,通过处理装置来生成数据加密密钥。然后,标签/加密数据加密密钥生成部308根据可解密用户的属性信息,对所生成的数据加密密钥进行加密,通过处理装置来生成加密数据加密密钥。
另外,如后所述,在使用了非专利文献2记载的内积谓词密码的情况下,能够对标签和加密数据加密密钥进行共用化。因此,标签/加密数据加密密钥生成部308在使用了非专利文献2记载的内积谓词密码的情况下,生成对标签和加密数据加密密钥进行了共用化的标签兼加密数据加密密钥。
数据加密部309使用标签/加密数据加密密钥生成部308所生成的数据加密密钥,通过处理装置对数据主体进行加密,而生成加密数据主体。而且,数据加密部309将标签/加密数据加密密钥生成部308所生成的多个标签和加密数据加密密钥附加到加密数据主体,从而通过处理装置来生成加密数据。
另外,数据加密部309在使用了非专利文献2记载的内积谓词密码的情况下,通过对加密数据主体附加标签兼加密数据加密密钥,而生成加密数据。
数据解密部310使用由数据加密密钥解密部305取得的数据密码密钥,通过处理装置,对从数据中心401接收到的加密数据中包含的加密数据主体进行解密。
终端侧数据发送接收部311(数据发送部)将由访问终端301制作的加密数据经由通信装置发送到数据中心401,并且经由通信装置接收数据中心401中保管的加密数据。
另外,终端侧数据发送接收部311从密钥管理服务器201经由通信装置接收用户秘密密钥。而且,终端侧数据发送接收部311从其他访问终端301经由通信装置接收移交用户秘密密钥,并且经由通信装置向其他访问终端301发送移交用户秘密密钥。
图4是示出数据中心401的功能的功能框图。
数据中心401具备中心侧数据发送接收部402、数据管理部403、检索要求接收部404、检索执行部405、检索结果发送部406。
中心侧数据发送接收部402从访问终端301经由通信装置接收加密数据。
另外,中心侧数据发送接收部402从密钥管理服务器201经由通信装置接收公开参数。
数据管理部403(加密数据储存部)将从访问终端301接收到的加密数据、从密钥管理服务器201接收到的公开参数等存储到存储装置中。
检索要求接收部404从访问终端301经由通信装置接收作为加密数据的检索要求的陷门。
检索执行部405针对检索要求接收部404接收到的陷门、和数据管理部403所保管的加密数据的标签或者标签兼加密数据加密密钥,通过处理装置来执行测试处理。由此,检索执行部405判定在数据管理部403所保管的加密数据中是否包含关键字一致的加密数据。
在检索结果发送部406中,作为从访问终端301接收到的检索要求的结果,将检索中命中的加密数据经由通信装置发送到访问终端301。
<第2.加密数据的构造和数据的流向>
说明加密数据的构造。
图5是示出使用了一般的内积谓词密码时的加密数据3001的结构例的图。
此处,将该结构例设为加密数据A。加密数据主体3002是使用数据加密密钥通过例如AES(Advanced Encryption Standard,高级加密标准)、Camellia(注册商标)等共用密钥密码对数据进行加密而得到的。加密数据加密密钥3003是用内积谓词密码对数据加密密钥进行加密而得到的。标签3004是使用本文中包含的关键字和属性矢量而生成的标签。
图6是示出加密数据A中包含的各数据、在上述说明中出现的各数据的关系的图。
首先,密钥管理服务器201的编码信息生成部206根据用户属性信息管理部205所管理的用户的属性而生成编码信息,矢量生成部207根据所生成的编码信息而生成谓词矢量3202。然后,用户秘密密钥生成部204使用谓词矢量3202和主密钥3201来生成用户秘密密钥3203。PKG侧数据发送接收部209通过安全的方法向用户分发所生成的用户秘密密钥3203。
对数据进行加密的用户所使用的访问终端301的数据加密部309通过数据加密密钥3206对数据进行加密。另外,编码信息生成部306生成表示能够检索、解密的用户的属性的编码信息,矢量生成部307根据所生成的编码信息来生成属性矢量3204。标签/加密数据加密密钥生成部308使用属性矢量3204,利用内积谓词密码来加密为了对数据进行加密而使用的数据加密密钥3206,生成加密数据加密密钥3208。另外,标签/加密数据加密密钥生成部308根据数据中包含的关键字3205和属性矢量3204,使用内积谓词密码来生成标签3207。一般来说,关键字3205和属性矢量3204是公开密钥,通过用该公开密钥对常数1、随机数进行加密而生成标签。制作与能够检索、解密的用户的属性矢量3204的数量相应的数量的该标签3207和加密数据加密密钥3208,并与加密数据主体一起作为加密数据A而发送给接收者。另外,即使在发送目的地的用户是多个的情况下,只要属性矢量3204能够由1个来构成,则分别只制作1个标签3207、加密数据加密密钥3208即可。
检索数据的用户所使用的访问终端301的陷门生成部303根据用户秘密密钥存储部302所存储的用户秘密密钥3203、以及希望检索的检索关键字3209,生成陷门3210。一般,通过生成与将检索关键字3209附加到谓词矢量3202的末尾而得到的矢量对应的秘密密钥,从而生成陷门3210。数据中心401的检索要求接收部404如果能够通过使用该陷门3210对标签3207进行解密从而复原用于生成标签3207的常数1或者随机数,则可知包含关键字3205。如果无法复原常数1、随机数,则可知不包含关键字3205。
对数据进行解密的用户所使用的访问终端301的数据加密密钥解密部305使用用户秘密密钥存储部302所存储的用户秘密密钥3203,对加密数据加密密钥3208进行解密,取出数据加密密钥3212。数据解密部310通过用该数据加密密钥3212对加密数据主体进行解密,能够取得数据。
另外,在使用了非专利文献2记载的内积谓词密码的情况下,能够使标签3207和加密数据加密密钥3208共用化而削减数据量。
图7是示出使用了非专利文献2记载的内积谓词密码时的加密数据3101的结构例的图。
此处,将该结构例设为加密数据B。加密数据主体3102(密文c2)与图5所示的加密数据主体3002同样地,是使用数据加密密钥对数据(明文信息m)进行加密而得到的。标签兼加密数据加密密钥3103(加密矢量c1)是将关键字和属性矢量视为公开密钥,并对数据加密密钥进行加密而得到的。
图8是示出加密数据B中包含的各数据、在上述说明中出现的各数据的关系的图。
关于用户秘密密钥的生成以及数据的检索的流程,由于与根据图6说明的过程相同,所以省略说明。
对数据进行加密的用户所使用的访问终端301的数据加密部309用数据加密密钥3206对数据进行加密。另外,编码信息生成部306生成表示能够检索、解密的用户的属性的编码信息,矢量生成部307根据所生成的编码信息而生成属性矢量3204。标签/加密数据加密密钥生成部308根据属性矢量3204和数据中包含的关键字3205,用内积谓词密码对为了生成数据加密密钥3212而使用的随机数3313进行加密,制作标签兼加密数据加密密钥3314。制作与能够检索、解密的用户的属性矢量3204的数量相应的数量的该标签兼加密数据加密密钥3314,并与加密数据主体一起作为加密数据B而发送给接收者。另外,即使在发送目的地的用户是多个的情况下,只要属性矢量3204能够由1个来构成,则只制作1个标签兼加密数据加密密钥3314即可。
对数据进行解密的用户所使用的访问终端301的数据加密密钥解密部305使用户秘密密钥存储部302所存储的用户秘密密钥3203变形,生成解密用秘密密钥3315。然后,数据加密密钥解密部305使用所生成的解密用秘密密钥3315,对标签兼加密数据加密密钥3314进行解密,取出数据加密密钥3212。数据解密部310通过用该数据加密密钥3212对加密数据主体进行解密,能够取得数据。
另外,在图6和图8所示的数据的流向中,为了生成用户秘密密钥而使用了主密钥,但也可以代替主密钥而使用中间秘密密钥。另外,也可以代替用户秘密密钥而使用移交用户秘密密钥。
<第3.属性矢量和谓词矢量的生成方法>
说明属性信息编码列501。
属性信息编码列501是密钥管理服务器201的编码信息生成部206、和访问终端301的编码信息生成部306为了生成编码信息而使用的数组。即,属性信息编码列501是为了生成如下编码信息而使用的编码列,其中,该编码信息是成为生成在生成用户秘密密钥、中间秘密密钥等时所使用的谓词矢量、和在生成加密数据时所使用的属性矢量的源的编码信息。
编码信息生成部206和编码信息生成部306通过依照以下说明的方法对属性信息编码列501设定值,来生成编码信息。
此处,在内积谓词密码中,具有能够判定属性矢量与谓词矢量的内积值是否为0这样的特征。已知能够使用该特征来实现AND条件、OR条件、包含关系判定的判定。
属性信息编码列501是用于以能够使用AND条件、OR条件以及包含条件来比较具有用户秘密密钥的用户的属性与能够对加密数据进行解密的用户的属性的方式对属性信息进行编码的编码列。另外,属性信息编码列501是固定长度的信息,下面示出的各编码列的构成要素应存在几个是应在系统利用时事先决定的信息。
图9是示出属性信息编码列501的结构例的图。
属性信息编码列501具备个人ID 502、所属信息编码列503、职位信息编码列504、类型编码列505、机密度编码列506、雇用形态编码列507、期间信息编码列508、移交目的地信息编码列509、密钥用途标志510、检索词编码列511。
个人ID 502确定用户。所属信息编码列503表示用户的所属。职位信息编码列504表示用户的职位。类型编码列505表示可访问的文书的种类。机密度编码列506表示可访问的文书的机密度。雇用形态编码列507表示用户的雇用形态。期间信息编码列508表示可访问的文书的制作期间。移交目的地信息编码列509表示在用户秘密密钥是移交用户秘密密钥的情况下是向什么立场的人移交了的移交用户秘密密钥。在根据用户秘密密钥生成陷门时,密钥用途标志510被设置表示是陷门的标志。在生成陷门时,检索词编码列511被设置希望检索的关键字。
在用作生成中间秘密密钥、用户秘密密钥、移交用户秘密密钥的属性的情况下,对属性信息编码列501的各编码列,设定使用该秘密密钥的用户或者群组的属性。即,密钥管理服务器201的编码信息生成部206或者访问终端301的编码信息生成部306通过对属性信息编码列501的各编码列设定使用该秘密密钥的用户或者群组的属性,来生成编码信息。
另一方面,在用作对加密数据设定的属性的情况下,对属性信息编码列501的各编码列,设定能够对加密数据进行解密或者检索的用户、群组的属性。即,访问终端301的编码信息生成部306通过对属性信息编码列501的各编码列设定能够对加密数据进行解密或者检索的用户、群组的属性,来生成编码信息。
如后所述,关于属性信息编码列501的一部分编码列,需要针对每个编码列,决定利用AND判定、OR判定以及包含关系判定中的哪一个来进行比较。另外,AND判定是对构成该编码列的要素全部一致的情形进行判定的处理。OR判定是对任一个要素一致的情形进行判定的处理。包含关系判定是对一方的要素集合包含在另一方的要素集合中的情形进行判定的处理。
即,针对作为用户秘密密钥中设定的谓词矢量的生成源的编码信息、和作为标签、加密数据加密密钥或标签兼加密数据加密密钥中设定的属性矢量的生成源的编码信息的各编码列,通过AND判定、OR判定以及包含关系判定中的某一个来进行比较。然后,在所有的编码列中判定为真的情况下、即通过AND判定进行判定从而在所有的编码列中判定为真的情况下,能够进行检索或者解密。
接下来,说明属性信息编码列501的各构成要素。
另外,在以下的属性信息编码列501的各构成要素的说明中,说明生成用户秘密密钥的情况和生成加密数据的情况。在生成中间秘密密钥的情况下和生成移交用户秘密密钥的情况下,与生成用户秘密密钥的情况相同。
说明个人ID 502。
在个人ID 502中设定表示个人的社员编号等ID。在生成用户秘密密钥的情况下,必然会设定个人ID 502。在生成加密数据的情况下,当面向个人发送加密数据的情况下,设定该个人的ID,但在不特别地指定可解密的个人的情况下,设定与所有的值匹配的规定的信息“”。
关于个人ID 502,通过AND判定来比较用户秘密密钥和加密数据。另外,在以后的说明中,也将记号“”用作与所有的值一致的特殊的记号(所谓的通配符)。
图10是示出个人ID 502的设定例的图。
例如,假设在用户秘密密钥中如个人ID 1那样设定了表示“A同志”的值。如果在加密数据中也如个人ID 2那样设定了表示“A同志”的值的情况下,由于用户秘密密钥与加密数据的值一致,所以能够检索或者解密。但是,在加密数据中如个人ID 3那样设定了“B同志”的情况下,由于用户秘密密钥与加密数据的值不同,所以无法实施检索、解密。
另外,在加密数据中如个人ID 4那样设定了“”的情况下,不论是如个人ID 1那样设定的用户秘密密钥,还是如个人ID 3那样设定的用户秘密密钥,在AND判定中都成为真,所以能够检索或者解密。
说明所属信息编码列503。
图11是示出所属信息编码列503的结构例的图。
在所属信息编码列503中,从阶层的高位起依次设定用户的所属。例如,依次设定表示用户所属的公司的公司ID 601、表示属于哪里的营业所的营业所ID 602、表示属于哪个部的部ID 603、表示属于哪个科的科ID 604、表示属于哪个单元的单元ID 605。
关于所属信息编码列503,通过对所有的要素是否一致进行判定的AND判定来比较用户秘密密钥与加密数据,在是真的情况下视为条件成立。
图12是示出所属信息编码列503的设定例的图。
例如,所属信息编码列1是有关针对属于“A公司/B营业所/C部/D科/E单元”的用户所生成的用户秘密密钥的例子。
在生成只要是D科的用户则谁都能够解密、检索那样的加密数据的情况下,设定所属信息编码列2中示出的“A公司/B营业所/C部/D科/”。在该情况下,只要是D科的用户,无论是谁在进行AND判定时所有的要素都一致,所以结果为真,能够检索、解密。另外,在希望只要是C部的用户则谁都能够解密、检索的情况下,设定所属信息编码列3所示的属性。
另外,在E科的成员能够解密、检索那样的加密数据的情况下,设定所属信息编码列4中示出的属性。在该情况下,对于具有设定了所属信息编码列1中示出的属性的秘密密钥的D科的用户,由于科的信息为“D科”与“E科”而不同,所以AND判定的结果为假,无法检索、解密。
同样地,在生成虽然是D科的用户但仅使不属于单元的用户能够解密、检索那样的加密数据的情况下,如所属信息编码列5所示,在单元ID 605中设定随机数R即可。如所属信息编码列1所示,在属于“E单元”的用户中,由于单元ID 605不同,所以AND判定的结果为假,因此无法检索、解密。另一方面,不属于单元的D科的用户具有设定了所属信息编码列2那样的属性的用户秘密密钥,所以所有的要素一致从而AND判定的结果为真,能够检索、解密。
另外,在上述中使用R这样的记号来表示了随机数。在以后也同样地使用记号R来表示随机数,但由于随机数R是指随机地选择的值,所以即使在编码列中的两处出现了随机数R和随机数R的情况下,也是相互不同的随机的值。
说明职位信息编码列504。
图13是示出职位信息编码列504的结构例的图。
在职位信息编码列504中,设定与用户从事的职位相关的信息。
例如,职位信息编码列504包括表示从事董事等级的职位的董事等级标志701、表示从事所长等级的职位的所长等级标志702的标志,同样地、包括部长等级标志703、科长等级标志704、股长等级标志705、表示没有从事职位的担当等级标志706的标志。
作为职位信息编码列504的标志的设定方法,此处示出2种例子。
在第1个设定例中,在生成用户秘密密钥的情况下,在所从事的职位的标志中设定值“1”,在不从事的职位的标志中设定“”。在生成加密数据的情况下,在可访问的职位的标志中设定值“1”,在不可访问的职位的标志中设定各不相同的随机数R。在该情况下,关于职位信息编码列504,通过对所有的要素是否一致进行判定的AND判定来比较用户秘密密钥与加密数据,限于判定结果是真时,能够检索、解密。
图14是示出第1个设定例中的职位信息编码列504的设定例的图。
例如,在科长具有的用户秘密密钥中,如职位信息编码列1所示,在科长等级标志704中设定了值“1”,在其他标志中设定了“”。另一方面,在股长具有的用户秘密密钥中,如职位信息编码列2所示,在股长等级标志705中设定了值“1”,在其他标志中设定了“”。
在部长以及科长能够检索、解密那样的加密数据的情况下,设定职位信息编码列3那样的属性。即,在部长和科长的标志中设定了值“1”,其他设定各不相同的随机数R。如果比较该加密数据与上述科长的用户秘密密钥,则由于所有的要素一致,所以AND判定的结果为真,因此能够通过科长的用户秘密密钥来实施检索、解密。另一方面,在上述股长的用户秘密密钥的情况下,股长等级标志705的值是“1”和随机数“R”而不同,所以判定结果为假,无法实施检索和解密。
另外,在部长/科长/股长/担当者的全员能够检索、解密那样的加密数据的情况下,设定职位信息编码列4所示那样的属性。在该情况下,不论是上述科长的用户秘密密钥,还是股长的用户秘密密钥,所有的要素都一致,所以AND判定的结果为真,能够检索、解密。
在第2个设定例中,在生成用户秘密密钥的情况下,在所从事的职位的标志中设定了值“1”,在不从事的职位的标志中设定了各不相同的随机数R。在生成加密数据的情况下,在可访问的职位的标志中设定了值“1”,在不可访问的职位的标志中设定了各不相同的随机数R。在该情况下,关于职位信息编码列504,通过只要任意一个一致就可以这样的OR判定来比较用户秘密密钥和加密数据,限于判定结果是真时,能够检索、解密。
图15是示出第2个设定例中的职位信息编码列504的设定例的图。
例如,在科长具有的用户秘密密钥中,如职位信息编码列5所示,在科长等级标志704中设定了值“1”,在其他标志中设定了各不相同的随机数R。另一方面,在兼任部长和科长的用户的用户秘密密钥中,在部长等级标志703和科长等级标志704中设定了值“1”,在其他标志中设定了各不相同的随机数R。
在科长能够检索、解密那样的加密数据的情况下,如职位信息编码列7那样,在科长的标志中设定了值“1”,在其他标志中设定了各不相同的随机数R。如果比较该加密数据和上述科长的用户秘密密钥,则由于科长等级标志704一致,所以OR判定的结果为真,能够利用科长的用户秘密密钥来实施检索、解密。另外,在上述部长/科长兼职的用户秘密密钥中也是同样的。
另一方面,在部长能够检索、解密的加密数据的情况下,设定职位信息编码列8那样的属性。在该情况下,在上述部长/科长兼职的用户秘密密钥的情况下,由于部长等级标志703是值“1”而一致,所以能够检索、解密。另一方面,在上述科长的用户秘密密钥的情况下,任一要素的值都不一致,所以OR判定的结果为假,无法实施检索和解密。
另外,虽然将图中的随机数全部记载为R,但由于分配了各不相同的随机数值,所以一致的概率极其小,是能够忽略的程度。
说明类型编码列505。
图16是示出类型编码列505的结构例的图。
类型编码列505是为了限制能够检索、解密的文书的类型而利用的编码列。
例如,类型编码列505包括表示大分类的大分类识别ID 801、表示中分类的中分类识别ID 802、表示小分类的小分类识别ID 803。
关于类型编码列505,通过对所有的要素是否一致进行确认的AND判定,来比较用户秘密密钥和加密数据。
图17是示出类型编码列505的设定例的图。
例如,在是能够访问所有的数据的用户的情况下,用户秘密密钥如类型编码列1所示,在所有的ID中设定了“”。另一方面,在是仅访问A开发关联的数据即可的用户的情况下,用户秘密密钥如类型编码列2那样,在大分类识别ID 801中设定了“A开发”。
在生成加密数据的情况下,以确定所有分类的方式设定值。例如,在A开发的规格书的情况下,加密数据例如如类型编码列3那样被设定属性。在该情况下,不论是上述类型编码列1的用户秘密密钥,还是类型编码列2的用户秘密密钥,所有的要素都一致,所以AND判定的结果为真,能够检索和解密。
如类型编码列4所示那样,在设定了表示09年度的人事费用的预算计划这样的分类的情况下,在类型编码列1的用户秘密密钥中,AND判定的结果为真,能够检索和解密。但是,在类型编码列2的用户秘密密钥中,大分类的值不同,所以AND判定的结果为假,无法检索和解密。
说明机密度编码列506。
图18是示出机密度编码列506的结构例的图。
机密度编码列506是为了限制能够检索、解密的文书的机密度而利用的编码列。
例如,包括表示是绝密的数据的绝密标志901、表示是保密的数据的保密标志902、表示是公司外保密的数据的公司外保密标志903、表示与任一个都不相应的不相应标志904。
作为机密度编码列506的标志的设定方法,此处示出2种例子。
在第1个设定例中,在生成用户秘密密钥的情况下,在与能够检索、解密的机密等级对应的标志中设定了值“1”,在与不能检索、解密的机密等级对应的标志中设定了各不相同的随机数R。在生成加密数据的情况下,在与数据的机密等级相应的标志中设定了值“1”,在不相应的标志中设定了“”。通过对所有的要素是否一致进行判定的AND判定,来比较用户秘密密钥和加密数据,限于判定结果是真时,能够检索、解密。
图19是示出第1个设定例中的机密度编码列506的设定例的图。
例如,在能够访问机密度比绝密低的数据的用户秘密密钥的情况下,如机密度编码列1所示,在保密标志902、公司外保密标志903以及不相应标志904中设定了值“1”,在绝密标志901中设定了随机数R。另一方面,在能够访问所有机密等级的数据的用户秘密密钥的情况下,如机密度编码列2所示,在所有的标志中设定了值“1”。
在生成加密数据的情况下,在与数据的机密等级相应的标志中设定“1”,在其他标志中设定“”。例如,在对保密的数据进行加密的情况下,如机密度编码列3所示,在保密标志902中设定值“1”,在其他标志中设定“”。在该情况下,如果与设定了能够访问上述机密度比绝密低的数据的机密度编码列1的用户秘密密钥进行AND判定,则由于所有的要素一致,所以结果为真,能够检索、解密。同样地,在与设定了能够访问上述所有机密等级的数据的机密度编码列2的用户秘密密钥进行了AND判定的情况下,由于所有的要素一致,所以结果也为真,能够检索、解密。
另一方面,在对绝密的数据进行加密的情况下,如机密度编码列4所示,在绝密标志901中设定值“1”,在其他标志中设定“”。在该情况下,如果与设定了能够访问上述机密度比绝密低的数据的机密度编码列1的用户秘密密钥进行AND判定,则由于绝密标志901的值不同,所以结果为假,无法实施检索、解密。但是,在与设定了能够访问上述所有机密等级的数据的机密度编码列2的用户秘密密钥进行了AND判定的情况下,由于所有的要素一致,所以结果为真,能够检索、解密。
作为第2个设定例,在生成用户秘密密钥的情况下,在与能够检索、解密的机密等级对应的标志中设定值“1”,在与不能检索、解密的机密等级对应的标志中设定各不相同的随机数R。在生成加密数据的情况下,在与数据的机密等级相应的标志中设定值“1”,在不相应的标志中设定各不相同的随机数R。通过只要任意一个一致就可以这样的OR判定来比较用户秘密密钥和加密数据,限于判定结果是真时,能够检索、解密。
图20是示出第2个设定例中的机密度编码列506的设定例的图。
用户秘密密钥中包含的机密度编码列的设定例与图19所示的情形相同,所以省略说明。
在生成加密数据的情况下,在与数据的机密等级相应的标志中设定值“1”,其他设定各不相同的随机数R。例如,在对保密的数据进行加密的情况下,如机密度编码列5所示,在保密标志902中设定值“1”,在其他标志中设定各不相同的随机数R。在该情况下,如果与设定了能够访问上述机密度比绝密低的数据的机密度编码列1的用户秘密密钥进行OR判定,则由于保密标志902的值一致,所以结果为真,能够检索、解密。同样地,在与设定了能够访问上述所有机密等级的数据的机密度编码列2的用户秘密密钥进行了OR判定的情况下,由于保密标志902的值一致,所以结果也为真,能够检索、解密。
在对绝密的数据进行加密的情况下,如机密度编码列6所示,在绝密标志901中设定值“1”,在其他标志中设定各不相同的随机数R。在该情况下,如果与设定了能够访问上述机密度比绝密低的数据的机密度编码列1的用户秘密密钥进行OR判定,则由于所有标志的值不同,所以结果为假,无法实施检索、解密。但是,在与设定了能够访问上述所有机密等级的数据的机密度编码列2的用户秘密密钥进行了OR判定的情况下,由于绝密标志的值一致,所以结果为真,能够检索、解密。
说明雇用形态编码列507。
图21是示出雇用形态编码列507的结构例的图。
雇用形态编码列507是为了根据雇用形态来限制能够检索、解密的用户而利用的编码列。
例如,包括表示是综合职位的综合职位标志1001、表示是一般职位的一般职位标志1002、表示虽然是正式社员但却是从其他地区驻在的社员的驻在人员标志1003、表示是关系公司社员的关系社员标志1004、表示是派遣的社员的派遣社员标志1005、是上述以外的雇用形态的其他标志1006。
作为雇用形态编码列507的标志的设定方法,此处示出2种例子。
在第1个设定例中,在生成用户秘密密钥的情况下,在相应的雇用形态的标志中设定值“1”,在不相应的雇用形态的标志中设定“”。在生成加密数据的情况下,在可访问的雇用形态的标志中设定值“1”,在不可访问的雇用形态的标志中设定各不相同的随机数R。通过对所有的要素是否一致进行判定的AND判定来比较用户秘密密钥和加密数据,限于判定结果是真时,能够检索、解密。
图22是示出第1个设定例中的雇用形态编码列507的设定例的图。
例如,是在综合职位中采用的用户的用户秘密密钥的情况下,如雇用形态编码列1所示,在综合职位标志1001中设定值“1”,在其他标志中设定“”。另一方面,在是驻在人员的用户秘密密钥的情况下,如雇用形态编码列2所示,在驻在人员标志1003中设定值“1”,在其他标志中设定“”。
在生成加密数据的情况下,根据能够检索、解密的用户的雇用形态,在相应的标志中设定值“1”,在其他标志中设定各不相同的随机数R。例如,在对如果是社员就可解密的数据进行加密的情况下,如雇用形态编码列3所示,在指定社员的综合职位标志1001、一般职位标志1002以及驻在人员标志1003中设定值“1”,在其他标志中设定各不相同的随机数R。在该情况下,如果与指定上述综合职位的雇用形态编码列1进行AND判定,则由于所有的要素一致,所以结果为真,能够检索、解密。同样地,在与指定上述驻在人员的雇用形态编码列2进行了AND判定的情况下,由于所有的要素一致,所以结果也为真,能够检索、解密。
在以仅综合职位和一般职位能够检索、解密的方式对数据进行加密的情况下,如雇用形态编码列4所示,在综合职位标志1001和一般职位标志1002中设定值“1”,在其他标志中设定各不相同的随机数R。在该情况下,如果与表示上述驻在人员的雇用形态编码列2的例子进行AND判定,则由于驻在人员标志的值不同,所以结果为假,无法实施检索、解密。但是,在与指定上述综合职位的雇用形态编码列1的例子进行了AND判定的情况下,由于所有的要素一致,所以结果为真,能够检索、解密。
作为第2个设定例,在生成用户秘密密钥的情况下,在相应的雇用形态的标志中设定值“1”,在不相应的雇用形态的标志中设定各不相同的随机数R。在生成加密数据的情况下,在可访问的雇用形态的标志中设定值“1”,在不可访问的雇用形态的标志中设定各不相同的随机数R。通过只要任意一个一致就可以这样的OR判定来比较用户秘密密钥和加密数据,限于判定结果是真时,能够检索、解密。
图23是示出第2个设定例中的雇用形态编码列507的设定例的图。
例如,是在综合职位中采用的用户的用户秘密密钥的情况下,如雇用形态编码列5所示,在综合职位标志中设定值“1”,在其他标志中设定各不相同的随机数R。另一方面,在是驻在人员的用户秘密密钥的情况下,如雇用形态编码列6所示,在驻在人员标志中设定值“1”,在其他标志中设定各不相同的随机数R。
对数据进行加密时的标志的设定方法与上述第1个设定例中示出的雇用形态编码列3以及雇用形态编码列4的情况相同。如果进行上述指定综合职位的雇用形态编码列5与上述雇用形态编码列3的OR判定,则由于综合职位标志的值一致,所以结果为真,能够检索、解密。同样地,在进行了上述指定驻在人员的雇用形态编码列6与上述雇用形态编码列3的OR判定的情况下,由于驻在人员标志的值一致,所以结果也为真,能够检索、解密。
如果进行上述表示驻在人员的雇用形态编码列6与上述雇用形态编码列4的OR判定,则由于所有的标志的值都不同,所以结果为假,无法实施检索、解密。但是,在进行了上述指定综合职位的雇用形态编码列5与上述雇用形态编码列4的OR判定的情况下,由于综合职位标志的值一致,所以结果为真,能够检索、解密。
说明期间信息编码列508。
图24是示出期间信息编码列508的结构例1的图。
为了根据数据的制作日期时间来控制用户可否访问,而使用期间信息编码列508。
在结构例1中,例如由如2000年标志1101a、2001年标志1101b那样针对每年准备的标志来构成。
作为期间信息编码列508的结构例1的标志的设定方法,此处示出2种例子。
在第1个设定例中,在生成用户秘密密钥的情况下,在与可访问的文书的制作年相应的标志中设定值“1”,在与不可访问的文书的制作年相应的标志中设定各不相同的随机数R。在生成加密数据的情况下,在与所制作的年对应的标志中设定值“1”,在其他标志中设定“”。通过对所有的要素是否一致进行判定的AND判定来比较用户秘密密钥和加密数据,限于判定结果是真时,能够检索、解密。
图25是示出结构例1时的第1个设定例中的期间信息编码列508的设定例的图。另外,在图25中为了简化说明,相比于图24,将范围缩短为2007年至2012年。
例如,在是能够对2007年至2009年的数据进行检索、解密的用户的用户秘密密钥的情况下,如期间信息编码列1所示,在2007年标志、2008年标志、2009年标志中设定值“1”,在其他标志中设定各不相同的随机数R。
在对数据进行加密的情况下,在表示数据的制作年的标志中设定值“1”,在其他标志中设定“”。例如,是在2009年制作出的数据的情况下,如期间信息编码列2所示,在2009年标志中设定值“1”,在其他中设定“”。在该情况下,如果与能够对上述2007年至2009年的数据进行检索、解密的期间信息编码列1进行AND判定,则由于所有的要素一致,所以结果为真,能够检索、解密。
是在2010年制作出的数据的情况下,如期间信息编码列3所示,在2010年标志中设定值“1”,在其他标志中设定“”。在该情况下,如果与用户秘密密钥的期间信息编码列1进行AND判定,则由于2010年标志的值不同,所以结果为假,无法实施检索、解密。
在第2个设定例中,在生成用户秘密密钥的情况下,在与可访问的文书的制作年相应的标志中设定值“1”,在与不可访问的文书的制作年相应的标志中设定各不相同的随机数R。在生成加密数据的情况下,在与所制作的年对应的标志中设定值“1”,在其他标志中设定各不相同的随机数R。通过只要任意一个一致就可以这样的OR判定来比较用户秘密密钥和加密数据,限于判定结果是真时,能够检索、解密。
图26是示出结构例1时的第2个设定例中的期间信息编码列508的设定例的图。另外,在图26中为了简化说明,与图25同样地,相比于图24,将范围缩短为2007年至2012年。
在用户秘密密钥的制作中使用的期间信息编码列的设定与第1个设定例相同,所以省略说明。
在对数据进行加密的情况下,在表示数据的制作年的标志中设定值“1”,其他设定各不相同的随机数R。例如,是在2009年制作出的数据的情况下,如期间信息编码列4所示,在2009年标志中设定值“1”,其他设定各不相同的随机数R。在该情况下,如果与能够对上述2007年至2009年的数据进行检索、解密的期间信息编码列1进行OR判定,则由于2009年标志的值一致,所以结果为真,能够检索、解密。
是在2010年制作出的数据的情况下,如期间信息编码列5所示,在2010年标志中设定值“1”,在其他标志中设定各不相同的随机数R。在该情况下,如果与用户秘密密钥的期间信息编码列1进行OR判定,则由于所有的标志的值不同,所以结果为假,无法实施检索、解密。
图27是示出期间信息编码列508的结构例2的图。
在结构例2中,能够利用比结构例1还少的标志数来进行更细的控制。本编码列具备:包括可访问的期间的开始年1204的信息的开始年月编码列1201、包括期间的结束年的信息的结束年月编码列1203、包括该期间的年的信息的中间年编码列1202。
开始年月编码列1201包括表示年的开始年(开始年编码列)、表示是否能够访问在各月制作出的数据的1月标志1205a至12月标志1205l(开始月编码列)。结束年月编码列1203的结构也与开始年月编码列1201相同,包括结束年编码列和结束月编码列。中间年编码列1202是列举了中间年设定值1206的编码列,其中,该中间年设定值1206是开始年与结束年之间的年的信息。
在生成用户秘密密钥的情况下,根据可访问的期间的信息,在开始年月编码列1201中设定开始年的信息,在结束年月编码列1203中设定结束年的信息,在中间年编码列1202中设定其中间的年。在生成加密数据的情况下,在开始年月编码列1201、中间年编码列1202、结束年月编码列1203中,分别设定加密数据的生成的年月信息。
在关于期间信息编码列508比较了用户秘密密钥和加密数据的情况下,单独地比较开始年月编码列1201、中间年编码列1202以及结束年月编码列1203,在某一个比较结果是真时、即进行OR判定后结果为真时,视为条件成立。在比较开始年月编码列1201的情况下,开始年相同,对于1月标志至12月标志,通过结构例1中示出的方法进行AND判定或者OR判定即可。结束年月编码列1203的比较也与开始年月编码列1201的比较相同。中间年编码列1202进行OR判定或者包含关系判定,判定某一个要素一致即可。
图28至图30是示出结构例2时的期间信息编码列508的设定例的图。
图28所示的期间信息编码列6是能够对在2003年4月至2009年12月制作出的数据进行检索、解密的用户的用户秘密密钥中设定的期间信息编码列508的设定例。此处,示出通过OR检索来比较开始年月编码列1201和结束年月编码列1203中包含的各月标志的情形。
如图28所示,在开始年月编码列6中设定与2003年相关的可否访问的信息。具体而言,在开始年中设定2003年。另外,在与无法访问的1月至3月对应的标志中设定各不相同的随机数R,在可访问的4月至12月的标志中设定值“1”。在中间年编码列6中,列举可访问的2004年至2008年而进行设定,在空白区域中设定各不相同的随机数R。在结束年月编码列6中,设定作为可访问期间的最终年的2009年,在可访问的1月至12月的标志中设定值“1”。
图29所示的期间信息编码列7是相比于期间信息编码列6,可访问的期间的结束是直至2010年3月为止的这点不同的在用户秘密密钥中设定的期间信息编码列508的设定例。
因此,开始年月编码列7与开始年月编码列6相同。在中间年编码列7中,相对于中间年编码列6,追加设定了2009年这样的信息。在结束年月编码列7中,依照与结束年月编码列6相同的规则,设定了与作为结束年的2010年相关的信息。
图30所示的期间信息编码列8是在2009年4月制作出的加密数据的期间信息编码列508的设定例。在开始年月编码列1201中,在开始年中设定2009年,在月标志中仅在与制作了数据的4月对应的标志中设定值“1”,在其他月标志中设定各不相同的随机数R。结束年月编码列1203也同样地设定。在中间年编码列1202中,针对所有的中间年设定2009年。
例如,在比较图28中示出的用户秘密密钥的期间信息编码列6与图30中示出的加密数据的期间信息编码列8的情况下,分别比较开始年月编码列6与开始年月编码列8、中间年编码列6与中间年编码列8、结束年月编码列6与结束年月编码列8。在该情况下,如果比较结束年月编码列6与结束年月编码列8,则结束年彼此相同而成为真,在月标志中由于4月标志相同所以成为真,因此结束年月编码列的比较结果也成为真。其结果,能够通过利用期间信息编码列6生成的用户秘密密钥,检索利用期间信息编码列8生成的加密数据。
同样地,如果比较图29中示出的用户秘密密钥的期间信息编码列7与图30中示出的加密数据的期间信息编码列8,则由于在中间年编码列7内的中间年与中间年编码列8内的中间年中存在一致的部分,所以所列举出的中间年彼此的OR判定的结果成为真,中间年编码列的比较结果成为真。其结果,能够通过利用期间信息编码列7生成的用户秘密密钥,检索利用期间信息编码列8生成的加密数据。
图31是示出期间信息编码列508的结构例3的图。
在结构例3中,相比于结构例1,提高了标志的利用效率。本编码列由设定年的年信息1至年信息10构成。关于用户秘密密钥和加密数据,通过包含关系判定来比较加密数据中包含的期间信息编码列508的值是否在用户秘密密钥中设定的期间信息编码列508的值中出现。
在生成用户秘密密钥的情况下,根据可访问的期间的信息,针对年信息1至年信息10,设定年。在生成加密数据的情况下,针对年信息1设定制作年。
图32是示出期间信息编码列508的结构例3的设定例的图。
在能够访问例如2007年至2009年的数据的情况下,在用户秘密密钥中,如期间信息编码列9所示,设定指定了2007年、2008年以及2009年的期间信息编码列。另一方面,针对在2009年制作出的加密数据,如期间信息编码列10所示,设定对年信息1设定了2009年的期间信息编码列。如果对这两者进行包含关系判定,则由于加密数据中设定的2009年这样的值在秘密密钥中设定的期间信息编码列9中出现,所以能够对数据进行解密、检索。
此处,作为结构例3仅具有年信息,但在同样的结构中关于开始年和结束年,也可以具有月信息。即,在图32所示的例子中,关于作为开始年的2007年和作为结束年的2009年,也可以使其具有月信息。即,在使开始年和结束年具有由月信息1至月信息12构成的月信息而生成用户秘密密钥的情况下,根据可访问的期间的信息来设定月。在生成加密数据的情况下,针对月信息设定制作月。
在该情况下,能够比结构例2更简单地设定月单位的期间信息。
说明移交目的地信息编码列509。
图33是示出移交目的地信息编码列509的结构例的图。
移交目的地信息编码列509是如下标志,即,关于从事董事、所长等职位的用户,有时对秘书委托业务的代理,此时为了在可访问的文书中设置制约而利用的标志。
移交目的地信息编码列509包括表示董事向秘书进行了移交的情形的董事秘书标志1301、表示向可代行所长的业务的秘书、副所长进行了移交的情形的所长代理标志1302,且以下同样地包括部长代理标志1303、科长代理标志1304、同事标志1305。在生成移交用户秘密密钥的情况下,根据移交目的地用户的属性将对应的标志设定为值“1”。在生成加密数据的情况下,在允许访问的情况下设定值“1”。
关于移交目的地信息编码列509,通过AND判定来比较用户秘密密钥和加密数据。
图34是示出移交目的地信息编码列509的设定例的图。
在用户本人所持的用户秘密密钥中,如移交目的地信息编码列1所示,在所有的标志中设定“”。在董事向董事秘书移交向数据的访问权限的情况下,如移交目的地信息编码列2所示,在董事秘书标志1301中设定值“1”,在其他标志中设定“”而制作移交用户秘密密钥,并将移交用户秘密密钥发送给秘书。另外,在所长向作为所长代理的秘书移交向数据的访问权限的情况下,如移交目的地信息编码列3所示,在所长代理标志1302中设定值“1”,在其他标志中设定“”而制作移交用户秘密密钥,并将移交用户秘密密钥发送给秘书。
当制作数据时,在希望代理者无法访问而限定于本人允许访问的情况下,如移交目的地信息编码列4所示,在所有的标志中设定各不相同的随机数R。在该情况下,仅有具有移交目的地信息编码列1中示出的用户秘密密钥的本人的AND判定的结果为真,所以能够访问数据。另一方面,关于具有移交目的地信息编码列2、移交目的地信息编码列3中示出那样的移交用户秘密密钥的用户,由于设定了值“1”的标志不同,所以AND判定的结果为假,无法检索和解密。
在希望不仅是本人而且只要是董事秘书就能够解密的情况下,如移交目的地信息编码列5所示,在董事秘书标志1301中设定值“1”,在其他标志中设定各不相同的随机数R。在该情况下,仅有具有移交目的地信息编码列1的用户秘密密钥和具有移交目的地信息编码列2的移交用户秘密密钥的AND判定的结果为真,能够检索、解密。但是,在具有移交目的地信息编码列3那样的移交用户秘密密钥的情况下,AND判定的结果成为假,无法检索和解密。
图35是示出密钥用途标志510的设定例的图。
在生成用户秘密密钥的情况下,在密钥用途标志510中设定表示能够在数据解密和陷门生成中使用的“”。在根据用户秘密密钥生成陷门的情况下,在密钥用途标志510中设定表示“检索”的值。在生成加密数据的情况下,当生成利用于检索的标签时,在密钥用途标志510中设定表示“检索”的值,在对数据加密密钥进行加密的情况下,在密钥用途标志510中设定表示“密钥”的值。
通过AND判定来比较用户秘密密钥和加密数据。
例如,在陷门中设定了表示“检索”的值作为标志。即,由于设定了与加密数据的标签的标志相同的表示“检索”的值,所以能够检索。但是,当与加密数据加密密钥进行比较时,由于值始终不同,所以无法解密。另一方面,关于用户秘密密钥,保存了“”作为标志,所以当与加密数据加密密钥的标志进行AND判定时,始终成为真,因此能够解密。
另外,关于密钥用途标志510,此处,假设对检索用的标签以及将数据加密密钥进行加密而得到的加密数据加密密钥分别进行加密而添加的情况(图5所示的加密数据A)来进行说明。
但是,非专利文献2记载的内积谓词密码能够将标签和加密数据加密密钥共用化而作为标签兼数据加密密钥。即,能够设为图7所示的加密数据B的结构。在该情况下,密钥用途标志510无需包含在编码列中。
说明检索词编码列511。
检索词编码列511需要在检索数据的情况下设定的字段中,结合企业所管理的数据的构造来设定适合的构造。例如,在如数据库那样数据被结构化并被管理的情况下,针对每列验证关键字是否一致,所以还需要结合检索词编码列来进行结构化。另一方面,在考虑了一般的资料的情况下,由于数据没有被结构化,所以需要研究编码列使得不影响关键字的排列顺序。
图36是示出检索词编码列511的设定例1的图。图36是假设针对管理物品购买/废弃的历史的数据库进行关键字的AND检索时的设定例。
在对数据进行加密的情况下,在检索词编码列511中设定数据库中保存的各要素的数据。例如,在数据库的第1行保管了在2009年10月5日以10万日元/台购买了3台PC时的数据的情况下,检索词编码列511如检索词编码列1那样,与数据库的各列对应地设定编码列的各要素。同样地,在数据库的第2行保管了在2009年11月10日以8万日元/台购买了2台PC时的数据的情况下,检索词编码列511如检索词编码列2那样构成编码列。同样地,在数据库的第3行保管了在2010年1月15日废弃了1台PC时的数据的情况下,检索词编码列511如检索词编码列3那样构成编码列。另外,如检索词编码列3的列7那样,在数据库的要素是空(未设定)的情况下,记载为“-”。
在生成用户秘密密钥的情况下,一般为了对哪个列都能够进行检索,而如检索词编码列4所示,在检索词编码列511中将与各列对应的所有的要素设定为“”。
在生成陷门的情况下,用户指定了要求在2009年购买了PC的历史而作为希望检索的关键字的情况下,检索词编码列511如检索词编码列5那样构成。在根据用户秘密密钥而生成陷门时,实施该检索词编码列5的生成。通过对该检索词编码列5的各要素、与检索词编码列1以及检索词编码列2的各要素进行AND判定,由于所有的要素一致,所以判定结果为真,能够进行检索。这意味着在通过陷门检索了加密数据的情况下判定为在检索中命中。另一方面,在对检索词编码列5的各要素与检索词编码列3的各要素进行AND判定时,由于列8的要素不同,所以判定结果为假。这意味着在通过陷门检索了加密数据的情况下在检索中未命中。即,不能检索将PC废弃了的历史。
图37是示出检索词编码列511的设定例2的图。图37是在设想了一般的资料的情况下使用的设定例。特别是,图37是不分出现的关键字的顺序而希望对在数据中是否出现检索关键字进行包含关系判定时的例子。
在对数据进行加密的情况下,在检索词编码列511中,在文书中包含的关键字中按照任意的顺序来设定之后在检索中可能使用的关键字。例如,在是对2009年11月为了与在东京的A公司商谈而出差并决定了接受订货的情形进行报告的报告书的情况下,检索词编码列511如检索词编码列6那样构成。另外,在2009年在展示会出展的结果,有50名左右的来客,特别是从B公司的田中随后通过电话要求商谈的情况下,检索词编码列511如检索词编码列7那样构成。
在生成用户秘密密钥的情况下,与图36中示出的例子同样地,为了利用任何关键字都能够进行检索,如检索词编码列8所示,在检索词编码列511中将所有的要素设定为空(“-”)。
设在生成陷门的情况下,用户希望检索在2009年制作出的文书。在该情况下,制作指定了2009年的检索词编码列9。对于加密数据的检索词编码列,通过是否包括陷门的检索词编码列的包含关系判定来比较检索词编码列。在该情况下,包括检索词编码列9的要素1中指定的2009年这样的关键字的加密数据、在本例子中是检索词编码列6和检索词编码列7这双方的包含关系判定的结果都成为真。即,检索词编码列6和检索词编码列7这双方在检索中命中。
在希望检索的关键字是展示会的情况下,生成检索词编码列10所示那样的检索词编码列。当比较检索词编码列时,包含检索词编码列10的要素1中示出的展示会的检索词编码列是检索词编码列7,所以该检索词编码列彼此的包含关系判定的结果为真。另一方面,在检索词编码列6中不包含展示会这样的关键字,所以该检索词编码列彼此的包含关系判定的结果为假。即,检索词编码列7在检索中命中,但检索词编码列6在检索未命中。
如上所述,在属性信息编码列501中,有各种形式的编码列。
例如,如所属信息编码列503那样,有对编码列的各项目分配了设定用户的属性的属性项目而成的编码列。在所属信息编码列503中,对编码列的各项目分配了公司ID 601、营业所ID 602等属性项目。并且,例如如果是公司ID 601,则设定表示公司的属性信息。
另外,例如如职位信息编码列504那样,有对编码列的各项目分配了用户的属性而成的编码列。在职位信息编码列504中,对编码列的各项目分配了表示是董事的董事等级标志701、表示是所长的所长等级标志702等用户的属性。并且,在用户的职位的标志中设定表示相应的职位的值“1”。
另外,例如如机密度编码列506那样,有对编码列的各项目分配了加密的数据的属性而成的编码列。在机密度编码列506中,分配了表示是绝密处理的数据的绝密标志901等数据的属性。并且,在数据的机密度的标志中设定表示相应的机密度的值“1”。
另外,如期间信息编码列508等那样,还有不同于其他的独特的构造的编码列。
密钥管理服务器201的编码信息生成部206和访问终端301的编码信息生成部306根据属性信息编码列501中的编码列的形式,来改变符号的分配方法。
在是对编码列的各项目分配了属性项目而成的编码列的情况下,密钥管理服务器201的编码信息生成部206设定表示使用解密密钥的用户的属性的属性信息,且该属性信息是与对其项目分配的属性项目对应的属性信息。编码信息生成部206在没有设定属性信息的编码列的项目中设定“”来生成编码信息。
另外,在该情况下,访问终端301的编码信息生成部306在编码列的各项目中设定对能够将加密数据解密的用户进行限定的属性信息,且该属性信息是与对其项目分配的属性项目对应的属性信息。编码信息生成部306在没有设定属性信息的编码列的项目中设定“”。
并且,通过AND判定来比较用户秘密密钥和加密数据。
在是对编码列的各项目分配了用户的属性而成的编码列的情况下,密钥管理服务器201的编码信息生成部206在分配了与使用解密密钥的用户的属性相应的属性的项目中设定相应值“1”。并且,在通过AND判定来比较用户秘密密钥和加密数据的情况下,编码信息生成部206在没有设定相应值“1”的编码列的项目中设定“”。在通过OR判定来比较用户秘密密钥和加密数据的情况下,编码信息生成部206在没有设定相应值“1”的编码列的项目中设定随机数R。
另外,在该情况下,访问终端301的编码信息生成部306对于编码列的各项目,在分配了与能够对加密数据进行解密的用户相应的属性的项目中设定相应值“1”。编码信息生成部306在没有设定相应值“1”的编码列的项目中设定随机数R。
在是对编码列的各项目分配了加密的数据的属性而成的编码列的情况下,密钥管理服务器201的编码信息生成部206在分配了与使用解密密钥的用户的属性(权限)相应的属性的项目中设定相应值“1”。编码信息生成部206在没有设定相应值“1”的编码列的项目中设定随机数R。
另外,在该情况下,访问终端301的编码信息生成部306在分配了与数据的属性相应的属性的项目中设定相应值“1”。并且,在通过AND判定来比较用户秘密密钥和加密数据的情况下,编码信息生成部306在没有设定相应值“1”的编码列的项目中设定“”。在通过OR判定来比较用户秘密密钥和加密数据的情况下,编码信息生成部306在没有设定相应值“1”的编码列的项目中设定随机数R。
另外,虽然未包含在上述属性信息编码列501中,但有对编码列的各项目分配了设定加密的数据的属性的属性项目而成的编码列。例如,设想如下情况:在机密度编码列506中并非针对每个机密度分配标志,而是设定机密度的ID。
在该情况下,密钥管理服务器201的编码信息生成部206设定表示使用解密密钥的用户的属性(权限)的属性信息,且该属性信息是与对其项目分配的属性项目对应的属性信息。编码信息生成部206在没有设定属性信息的编码列的项目中设定“”来生成编码信息。
另外,在该情况下,访问终端301的编码信息生成部306在编码列的各项目中设定表示数据的属性的属性信息,且该属性信息是与对其项目分配的属性项目对应的属性信息。编码信息生成部306在没有设定属性信息的编码列的项目中设定“”。
并且,通过AND判定来比较用户秘密密钥和加密数据。
接下来,说明从使用上述属性信息编码列501而生成的编码信息变换为用户秘密密钥中的谓词矢量、加密数据中的属性矢量的矢量化方法。即,说明密钥管理服务器201的矢量生成部207根据编码信息生成谓词矢量的方法、和访问终端301的矢量生成部307根据编码信息生成属性矢量或者谓词矢量的方法。
另外,此处针对进行AND判定、OR判定、包含关系判定时的各个,分别示出矢量化的方法。但是,在实际的属性信息编码列501中,针对每个编码列,任意地选择AND判定、OR判定、包含关系判定。因此,所制作出的编码信息有可能包括通过AND判定来比较的部分、通过OR判定来比较的部分、通过包含关系判定来比较的部分。即,如通过AND判定来比较所属信息编码列503、通过OR判定来比较职位信息编码列504的情况那样,有判定方法根据属性信息编码列501的编码列而不同的情况。在该情况下,对于编码信息中的通过AND判定来比较的部分,使用通过AND判定进行比较时的矢量化方法,对于编码信息中的通过OR判定来比较的部分,使用通过OR判定进行比较时的矢量化方法,对于编码信息中的通过包含关系判定来比较的部分,使用通过包含关系判定进行比较时的矢量化方法,从而生成属性矢量、谓词矢量即可。
图38是关于通过AND判定来比较属性信息编码列501中的编码列时的矢量化方法的说明图。
根据以下的多项式1,说明基本的思想。
(多项式1)
r1(b1-a1)+r2(b2-a2)+r3(b3-a3
多项式1是由随机数r1、r2、r3和值a1、a2、a3、b1、b2、b3构成的多项式。在b1=a1、b2=a2、b3=a3全部成立时,该多项式的值不依赖于随机数r1、r2、r3而始终成为0。即,在b1=a1AND b2=a2AND b3=a3成立时,该多项式的值不依赖于随机数r1、r2、r3而始终成为0。
将值a1、a2、a3考虑为制作加密数据时的编码列的要素,将值b1、b2、b3考虑为秘密密钥中包含的编码列的要素。在该情况下,如果能够使用内积来判定评价多项式1而得到的结果是否为0,则可以说能够使用内积来判定b1=a1AND b2=a2AND b3=a3是否成立。
因此,如下那样,根据作为编码列的要素的值a1、a2、a3生成属性矢量,根据作为编码列的要素的值b1、b2、b3生成谓词矢量。
在制作属性矢量的情况下,如果是第i个要素,则生成值“1”和值“-ai”这2个要素,将它关于所有的要素按顺序进行排列而得到的结果设为属性矢量x。即,属性矢量x成为如图38所示。另外,在编码列的要素ai是数值的情况下原样地利用,但在编码列的要素ai是字符串的情况下利用将其进行数值化而得到的值。另外,作为特殊的例子,在编码列的要素ai是“”的情况下,关于与编码列的要素ai对应的属性矢量的要素,设定0和0这2个要素。
在制作谓词矢量的情况下,如果是第i个要素,则生成值“bi”和值“1”这2个要素,将它关于所有的要素按顺序进行排列而得到的结果设为谓词矢量v。即,谓词矢量v成为如图38所示。另外,在编码列的要素bi是数值的情况下原样地利用,但在编码列的要素bi是字符串的情况下利用将其进行数值化而得到的值。另外,作为特殊的例子,在编码列的要素bi是“”的情况下,关于与编码列的要素bi对应的属性矢量的要素,设定0和0这2个要素。
即,属性矢量x=(1、-a1,1,-a2,1,-a3)。另外,谓词矢量v=(b1,1,b2,1,b3,1)。
另外,也可以使属性矢量x的要素ai和谓词矢量v的要素bi的负号反过来,而设为属性矢量x=(1、a1,1,a2,1,a3)、谓词矢量v=(-b1,1,-b2,1,-b3,1)。
此处,在多项式1中乘以了随机数r1、r2、r3,但在上述矢量化中没有乘以随机数。这是因为,由于在通过非专利文献2记载的内积谓词密码进行加密时乘以了随机数,所以在矢量化时不需要随机数。另外,在通过所使用的内积谓词密码来进行加密时没有乘以随机数的情况下,也可以在矢量化时,使各要素成为随机数倍。
另外,在AND判定的情况下,为了能够使各要素a1、a2、a3、b1、b2、b3作为独立的要素进行矢量化,而对AND判定编码列内的各要素赋予后述的属性ID。
图39是关于通过OR判定来比较属性信息编码列501中的编码列时的矢量化方法的说明图。在图39中,为了防止例子的复杂化,示出了比较3个要素而只要任意一个一致即可的情况下的矢量化例。另外,即使是一般的n个要素,也能够通过同样的过程来实施。
根据以下的多项式2,说明基本的思想。
(多项式2)
(b1-a1)(b2-a2)(b3-a3
=b1b2b3-a3b1b2-a2b1b3-a1b2b3+a2a3b1+a1a3b2+a1a2b3-a1a2a3
多项式2是3个变量的多项式,但在b1=a1、b2=a2、b3=a3中的至少某一个成立时,该多项式的值成为0。即,在b1=a1OR b2=a2OR b3=a3成立时,该多项式的值成为0。
将值a1、a2、a3考虑为制作加密数据时的编码列的要素,将值b1、b2、b3考虑为秘密密钥中包含的编码列的要素。在该情况下,如果能够使用内积来判定评价多项式2而得到的结果是否为0,则可以说能够使用内积来判定b1=a1OR b2=a2OR b3=a3是否成立。
因此,如下那样,根据作为编码列的要素的值a1、a2、a3生成属性矢量,根据作为编码列的要素的值b1、b2、b3生成谓词矢量。
在制作属性矢量的情况下,关于多项式2的各项,仅抽出与作为制作加密数据时的编码列的要素的值a1、a2、a3相关的部分而进行矢量化。例如,第1项目是b1b2b3,没有与要素a1、a2、a3相关的信息,所以将矢量的第1要素设为1。第2项目是-a3b1b2,作为与要素a1、a2、a3相关的信息而取出-a3,并设为矢量的第2要素。同样地,通过针对所有的项反复进行上述操作,得到图39所示的属性矢量x。另外,在编码列中的某一个要素是“”的情况下,OR判定始终成为真。因此,在编码列中的某一个要素是“”的情况下,将与该编码列对应的属性矢量设为所有的要素是0的0矢量。
也能够通过同样的过程来构成谓词矢量。但是,在着眼于值b1、b2、b3而并非值a1、a2、a3的这一点上不同。例如,第1项目是b1b2b3,作为与要素b1b2b3相关的信息而取出b1b2b3,并设为矢量的第1要素。第2项目是-a3b1b2,作为与要素b1b2b3相关的信息而取出b1b2,并设为矢量的第2要素。另外,在生成属性矢量时设定了负数的情况下,在这里设定为正的数。同样地,通过针对所有的项反复进行上述操作,得到图39所示的谓词矢量。另外,在生成属性矢量时设定了负数的情况下,在这里设定为正的数。另外,在编码列中的某一个要素是“”的情况下,OR判定始终成为真。因此,在编码列中的某一个要素是“”的情况下,将与该编码列对应的谓词矢量设为所有的要素是0的0矢量。
另外,在OR判定的情况下,为了将各要素a1、a2、a3、b1、b2、b3密切地关联起来进行矢量化,对于进行OR判定的OR判定编码列附加一个后述的属性ID。
图40是关于通过包含关系判定来比较属性信息编码列501中的编码列时的矢量化方法的说明图。此处叙述的包含关系判定是指,判定出现在包含关系编码列2中的要素是否全部表现为在包含关系编码列1中示出的要素。在图40中,为了防止例子的复杂化,示出了比较3个要素而只要某一个一致即可的情况下的矢量化例。另外,即使是一般的n个要素,也能够通过同样的过程来实施。
根据以下的多项式3,说明基本的思想。
(多项式3)
(b-a1)(b-a2)(b-a3
=b3-(a1+a2+a3)b2+(a1a2+a1a3+a2a3)b-a1a2a3
在b=a1、b=a2、b=a3中的至少某一个成立时,该多项式的值成为0。即,b包含于a1、a2、a3的至少某一个中时,该多项式的值成为0。
将值a1、a2、a3考虑为制作加密数据时的编码列的要素,将值b考虑为秘密密钥中包含的编码列的要素。在该情况下,如果能够使用内积来判定评价多项式3而得到的结果是否为0,则可以说能够使用内积来判定b是否包含在a1、a2、a3中的至少某一个中。
因此,如下那样,根据作为编码列的要素的值a1、a2、a3生成属性矢量,根据作为编码列的要素的值b生成谓词矢量。
在制作属性矢量的情况下,关于多项式3的各项,仅抽出与作为制作加密数据时的编码列的要素的值a1、a2、a3相关的部分而进行矢量化。例如,第1项目是b3,且没有与要素a1、a2、a3相关的信息,所以将矢量的第1要素设为1。由于第2项目是-(a1+a2+a3)b2,所以作为与要素a1、a2、a3相关的信息而取出-(a1+a2+a3),并设为矢量的第2要素。同样地,通过针对所有的项反复进行上述操作,如图40所示得到属性矢量。
也能够通过同样的过程来构成谓词矢量。但是,在着眼于值b而并非值a1、a2、a3的这一点上不同。例如,由于第1项目是b3,所以作为与要素b相关的信息而取出b3,并设为矢量的第1要素。由于第2项目是-(a1+a2+a3)b2,所以作为与要素b相关的信息而取出b2,并设为矢量的第2要素。另外,在生成属性矢量时设定了负数的情况下,在这里设定为正的数。同样地,通过针对所有的项反复进行上述操作,得到谓词矢量。
另外,如果与上述说明同样地考虑,则在b1=a1、b1=a2、b1=a3中的至少某一个成立、并且b2=a1、b2=a2、b2=a3中的至少某一个成立时,多项式4成为0。
(多项式4)
(b1-a1)(b1-a2)(b1-a3)+(b2-a1)(b2-a2)(b2-a3
=(b1 3+b2 3)-(a1+a2+a3)(b1 2+b2 2)+(a1a2+a1a3+a2a3)(b1+b2)-a1a2a3
将值a1、a2、a3考虑为制作加密数据时的编码列的要素,将值b1、b2考虑为秘密密钥中包含的编码列的要素。在该情况下,如果能够使用内积来判定评价多项式4而得到的结果是否为0,则可以说能够使用内积来判定b1是否包含在a1、a2、a3中的至少某一个中、并且b2是否包含在a1、a2、a3中的至少某一个中。
属性矢量与多项式3的情况相同,所以省略说明。
在制作谓词矢量的情况下,关于多项式4的各项,仅抽出与作为编码列的要素的值b1、b2相关的部分而进行矢量化。例如,由于第1项目是(b1 3+b2 3)=Σbi 3,所以作为与要素b1、b2相关的信息而取出Σbi 3,并设为矢量的第1要素。由于第2项目是-(a1+a2+a3)(b1 2+b2 2),所以作为与要素b1、b2相关的信息而取出(b1 2+b2 2)=Σbi 2,并设为矢量的第2要素。同样地,通过针对所有的项反复进行上述操作,如图40所示,得到谓词矢量。
在值是表示未指定的记号“-”的情况下,意味着在矢量化时不利用该值。例如,在谓词中指定的要素b2为未指定的情况下,在计算Σbi 3时,关于i=2,除外即可。另外,在属性中指定的要素a3为未指定的情况下,既可以将a3视为0或随机数,也可以在最初计算多项式时不乘以(bi-a3)。
另外,在包含关系判定的情况下,为了将各要素a1、a2、a3、b1、b2、b3密切地关联起来进行矢量化,而针对包含关系判定编码列附加1个后述的属性ID。
在上述说明中,关于AND判定、OR判定、包含关系判定的各个情况,分别示出了思想。但是,在组合了AND判定、OR判定的情况下,能够通过组合上述方案制作属性矢量、谓词矢量来实现。例如,在对所属信息编码列503进行AND判定、并对职位信息编码列504进行OR判定的情况下,关于所属信息编码列503通过上述AND判定的方案来生成属性矢量和谓词矢量,关于职位信息编码列504通过上述OR判定的方案来生成属性矢量和谓词矢量即可。
<第4.隐匿检索系统100的动作>
说明隐匿检索系统100的动作。
另外,在以下的说明中,说明作为内积谓词密码使用了非专利文献2记载的内积谓词密码的情况。因此,加密数据的结构成为图7所示的加密数据B的结构,数据的流向是图8所示的流向。
隐匿检索系统100的动作被分成(1)系统初始设定、(2)中间秘密密钥生成、(3)用户秘密密钥生成、(4)加密数据生成、(5)关键字检索、(6)移交用户秘密密钥生成这6个。
(1)系统初始设定是密钥管理服务器201生成公开参数和主密钥的处理。(2)中间秘密密钥生成是密钥管理服务器201根据主密钥或者中间秘密密钥新生成中间秘密密钥的处理。(3)用户秘密密钥生成是密钥管理服务器201根据主密钥或者中间秘密密钥生成用户秘密密钥的处理。(4)加密数据生成是用户主要使用访问终端301对数据进行加密并保管到数据中心401中的处理。(5)关键字检索是用户主要使用访问终端301并使用希望检索的关键字来检索数据中心401中保管的加密数据而得到数据的处理。(6)移交用户秘密密钥生成是用户主要使用访问终端301根据用户秘密密钥生成移交用户秘密密钥的处理。
以下,根据流程图,说明各动作。
图41是示出(1)系统初始设定的处理流程的流程图。
图42是示出(2)中间秘密密钥生成的处理流程的流程图。
图43是示出(3)用户秘密密钥生成的处理流程的流程图。
图44是示出(4)加密数据生成的处理流程的流程图。
图45是示出(5)关键字检索的处理流程的流程图。
图46是示出(6)移交用户秘密密钥生成的处理流程的流程图。
根据图41,说明(1)系统初始设定的处理。
(1)系统初始设定是由密钥管理服务器201实施的处理,特别是由最初设置的密钥管理服务器201实施的处理。
(S101)
编码信息生成部206决定在系统中利用的属性信息编码列501的构造以及作为其要素的编码列的长度、应保存的值的规则、比较方法、以及向属性矢量、谓词矢量的映射方法。例如,编码信息生成部206通过使设定密钥管理服务器201的管理者等从输入装置输入上述项目,从而决定上述项目。
属性信息编码列501的结构例如上所述。但是,根据用途,能够只利用组织信息进行控制,考虑在职位、数据的种类等中不需要进行控制的情况等。因此,编码信息生成部206例如从图9示出的属性信息编码列501中,仅选择或者追加、变更必要的部分,决定隐匿检索系统100中使用的属性信息编码列501。
在本例子中,设为如图47所示的系统共用属性编码列那样决定了属性信息编码列501的构造。
另外,关于个人ID、所属信息编码列、职位信息编码列、类型编码列、机密度编码列、雇用形态编码列、期间信息编码列、移交目的地信息编码列、检索词编码列,设全部通过AND判定来进行比较。
而且,对向属性矢量、谓词矢量映射的最小单位的要素,分配AID作为属性ID,对对应的属性矢量、谓词矢量的各要素,分配BI作为索引编号。
另外,属性ID的分配方法根据是AND判定、还是OR判定、还是包含关系判定而不同。各判定方法中的属性ID的分配方法是如根据图38至图40进行了说明的关于各判定方法的矢量化的说明中所叙述的那样。另外,将索引编号BI的最大值设为n。但是,在非专利文献2记载的内积谓词密码中,能够使标签和加密数据加密密钥共用化,所以密钥用途标志需要进行特殊的处理。因此,此处不分配AID和BI,对应于(4)数据加密的处理等时。
图48至图50是示出分配了作为属性ID的AID、以及分配了索引编号BI的例子的图。如上所述,由于对所有的要素进行AND判定,因此如图38所示,关于编码列的各要素,对2个矢量要素分配了值。例如,如果是个人ID,则属性ID是1,值被映射到属性矢量和谓词矢量的第1要素(BI=1)和第2要素(BI=2)。另外,关于类型编码列的大分类,属性ID是13,值被映射到属性矢量和谓词矢量的第25要素(BI=25)和第26要素(BI=26)。
另外,在对各要素进行OR判定的情况下,如图39的变换方式所示,需要将多个要素一并映射到属性矢量、谓词矢量。例如,在对职位信息编码列进行OR判定的情况下,需要对所有的职位信息一并进行矢量化。因此,如图51所示,对职位信息编码列分配1个AID,对属性矢量、谓词矢量的各要素分配索引编号BI。
(S102)
用户属性信息管理部205构筑对用户的属性信息进行保管的用户属性信息数据库。
用户属性信息数据库保管用于制作属性信息编码列501而所需的信息。例如,如图52所示,在用户属性信息数据库中,保存作为个人ID的姓名、所属信息、职位信息、可访问的数据的数据类型、可访问的数据的机密度、雇用形态、处于其所属/职位等的期间等。另外,在用户属性信息数据库中,不仅是最新的状况,而且也可以将过去的历史全部保存起来。
(S103)
主密钥生成部202通过处理装置,生成在系统中利用的内积谓词密码的参数。在该参数生成中,生成在非专利文献2记载的内积谓词密码中利用的群、基底等。具体而言,首先确定群位数q、群G、GT、生成源g∈G,将矢量空间的维数N设为N=n+2。将矢量空间设为V=G×G×G,决定标准基底A=(a1,a2,...,aN)。接下来,随机地选择N行N列的正则矩阵X=(xi,j),计算随机基底B=(b1,b2,...,bN)和基底B=(b 1,b 2,...,b N)。
即,主密钥生成部202通过处理装置,执行非专利文献2记载的setup算法,计算随机基底B=(b1,b2,...,bN)和随机基底B=(b 1,b 2,...,b N)。
(S104)
PKG侧数据发送接收部209将在(S101)中决定的属性信息编码列501的结构、应保存的值的规则、向属性矢量、谓词矢量的映射方法、以及在(S103)中制作出的群位数q、群G、GT、生成源g ∈G、矢量空间V=G×G×G、随机基底B=(b1,b2,...,bN)作为公开参数,经由网络而进行公开。当然,公开参数也可以通过其他方法来公开。
另外,各种密钥保管部208将公开参数存储到存储装置中。
(S105)
各种密钥保管部208将在(S103)中生成的随机基底B=(b 1,b 2,...,b N)作为主密钥而存储到存储装置中。
另外,关于在(S102)中生成的用户属性信息数据库,在系统的运用中,每当存在用户的人事变动、入社、退社时维护内容。
接下来,使用图42,说明(2)中间秘密密钥生成的处理。
(2)中间秘密密钥生成是用于新设置密钥管理服务器201的处理,且是生成已经设置的密钥管理服务器201用于对新设置的密钥管理服务器201发行用户秘密密钥而所需的中间秘密密钥的处理。
另外,在关于图42的说明中,将已经设置的密钥管理服务器201称为密钥管理服务器1,将新设置的密钥管理服务器201称为密钥管理服务器2。
(S201)
密钥管理服务器1的中间秘密密钥生成部203针对新设置的密钥管理服务器2,设定在哪个属性范围中进行管理这样的管理范围。例如,中间秘密密钥生成部203使管理者从输入装置输入负责针对本公司社员的用户秘密密钥生成等,而设定管理范围。
(S202)
首先,密钥管理服务器1的编码信息生成部206依照公开参数中包含的属性信息编码列501等,通过处理装置来生成与在(S201)中设定的管理范围对应的中间秘密密钥属性信息编码列(编码信息)。
图53是示出中间秘密密钥属性信息编码列的例子的图。如图53所示,如果密钥管理服务器2负责针对A公司的本公司社员的用户秘密密钥生成,则编码信息生成部206生成在所属信息编码列的公司ID中设定了A公司、在营业所ID中设定了本公司的中间秘密密钥属性信息编码列。
接下来,密钥管理服务器1的矢量生成部207生成与编码信息生成部206所生成的中间秘密密钥属性信息编码列对应的中间秘密密钥谓词矢量v SPKG=(v1,v2,...,vn)。另外,根据编码列生成中间秘密密钥谓词矢量的方法是如根据图38至图40所说明的那样。
此时,矢量生成部207从在中间秘密密钥属性信息编码列中设定了“”的部位、以及没有设定值的部位(在图中表示为“-”)中,选择密钥管理服务器2在之后能够设定值的属性,并将它设为移交属性集合DAID。另外,将与该移交属性集合对应的谓词矢量的索引编号设为DBI。例如,在图53中,将个人ID、所属信息编码列的部ID/科ID/单元ID、职位信息编码列的设定有“”的部位等决定为移交属性集合DAID。
(S203)
密钥管理服务器1的中间秘密密钥生成部203使用在(S202)中生成的中间秘密密钥谓词矢量,通过处理装置来生成对应的中间秘密密钥。在该中间秘密密钥生成中,有根据主密钥生成的方式和根据其他的中间秘密密钥生成的方式这2个方式。
首先,说明根据主密钥生成中间秘密密钥k 1的情况。
中间秘密密钥生成部203通过处理装置来计算式109,从而根据主密钥生成中间秘密密钥k 1
另外,在以下的说明中,中间秘密密钥k L、用户秘密密钥k L中的L表示是第L阶层的密钥。即,如果是中间秘密密钥k 1,则表示是第1阶层的秘密密钥,如果是中间秘密密钥k L+1,则表示是第L阶层的下1个的第L+1阶层的秘密密钥。
[式109]
&sigma; j , &sigma; h , j &LeftArrow; U F q
k 1,0 * = &Sigma; j &Element; AID 1 &sigma; j ( &Sigma; i &Element; BIj v i b i * )
对于h=n+1或 &ForAll; h &Element; DBI 1 , k 1 , h * = &Sigma; j &Element; AID 1 &sigma; h , j ( &Sigma; i &Element; BIj v i b i * ) + b h *
k 1 * = ( k 1,0 * , { k 1 , h * } )
属性集合AID1是在本次生成中间秘密密钥时决定了值的属性的属性ID的集合。
索引集合BIj是与属性集合AID1中的成为AID=j的要素对应的谓词矢量的索引编号的集合。
移交索引集合DBI1是与决定为能够由密钥管理服务器2在之后设定的移交属性集合DAID对应的索引编号的集合。在移交索引集合DBI1中,不包含与已经设定完成的属性集合AID1对应的索引编号集合BIS1。
即,中间秘密密钥生成部203设定谓词矢量的要素vi作为针对索引集合BIj中包含的索引编号i所表示的基底矢量b i的系数,生成密钥矢量k 1,0。另外,利用随机数σj,对设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,中间秘密密钥生成部203关于移交索引集合DBI1中包含的各索引编号h以及h=n+1,生成密钥生成用矢量k 1,h,其中,该密钥生成用矢量k 1,h是设定谓词矢量的要素vi作为针对索引集合BIj中包含的索引编号i所表示的基底矢量b i的系数、并且设定值“1”作为针对基底矢量b h的系数的密钥生成用矢量。另外,利用随机数σh,j对设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,中间秘密密钥生成部203将密钥矢量k 1,0和密钥生成用矢量k 1,h作为中间秘密密钥k 1
接下来,说明根据其他的中间秘密密钥k L新生成中间秘密密钥k L+1的情况。
中间秘密密钥生成部203通过处理装置来计算式110,从而根据其他的中间秘密密钥k L新生成中间秘密密钥k L+1
[式110]
&sigma; h , j &LeftArrow; U F q
对于h=0,n+1或 &ForAll; h &Element; DBIL , k L + 1 , h * = k L , h * + &Sigma; j &Element; AIDL + 1 &sigma; h , j ( &Sigma; i &Element; BIj v i k L , i * )
k L + 1 * = ( k L + 1,0 * , { k L + 1 , h * } )
属性集合AIDL+1是在本次生成中间秘密密钥时决定了值的属性的属性ID的集合。
索引集合BIj是与属性集合AIDL+1中的成为AID=j的要素对应的谓词矢量的索引编号的集合。
移交索引集合DBIL是与决定为能够由密钥管理服务器2在之后设定的移交属性集合DAID对应的索引编号的集合。在移交索引集合DBIL中,不包含与已经设定完成的属性集合AID1至属性集合AIDL对应的索引编号集合BIS1至BISL。
即,中间秘密密钥生成部203将使索引集合BIj中包含的索引编号i所表示的密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量,相加到中间秘密密钥k L中包含的密钥矢量k L,0而生成密钥矢量k L+1,0。此处,在使密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量中,作为针对基底矢量b i的系数,设定了谓词矢量的要素vi。另外,利用随机数σ0,j对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,中间秘密密钥生成部203关于移交索引集合DBIL中包含的各索引编号h以及h=n+1,将使索引集合BIj中包含的索引编号i所表示的密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量,相加到中间秘密密钥k L中包含的密钥生成用矢量k L,h而生成密钥生成用矢量k L+1,h。此处,在使密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量中,作为针对基底矢量b i的系数,设定了谓词矢量的要素vi。另外,利用随机数σh,j对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,中间秘密密钥生成部203将密钥矢量k L+1,0和密钥生成用矢量k L+1,h作为中间秘密密钥k L+1
(S204)
密钥管理服务器1的PKG侧数据发送接收部209将所生成的中间秘密密钥与公开参数一起发送到密钥管理服务器2。此时,使用IC(Integrated Circuit,集成电路)卡、防篡改密码装置等专用H/W来发送中间秘密密钥,或者通过VPN、SSL通信协议等安全的方案来发送中间秘密密钥。
(S205)
密钥管理服务器2的PKG侧数据发送接收部209接收在(S204)中发送的中间秘密密钥和公开参数,各种密钥保管部208将接收到的中间秘密密钥和公开参数存储到存储装置中。
(S206)
密钥管理服务器2的用户属性信息管理部205构筑用户属性信息数据库,如果需要则与密钥管理服务器1进行数据的同步。另外,在这以后,关于用户属性信息数据库,每当有用户的人事变动、入社、退社时,维护内容。
接下来,使用图43,说明(3)用户秘密密钥生成的处理。
(3)用户秘密密钥生成是在追加了用户的情况下、引起了人事变动的情况下等,密钥管理服务器201新生成用户秘密密钥(密钥矢量)的处理。
(S301)
首先,编码信息生成部206依照公开参数中包含的属性信息编码列501等,从用户属性信息数据库读入用户的属性,通过处理装置来生成在用户秘密密钥中设定的用户秘密密钥属性信息编码列(编码信息)。
图54是示出对属于A公司的本公司/总务部/总务科/福利单元的田中发行用户秘密密钥时的用户秘密密钥属性信息编码列的例子的图。在该情况下,在个人ID和所属信息编码列中,例如设定姓名和所属。另外,进行设定:职位是担当,可访问的数据的机密度是能够访问保密/公司外保密/不相应,采用综合职位,能够访问2007年至2010年的制作数据。
接下来,矢量生成部207根据编码信息生成部206所生成的用户属性信息数据库,通过处理装置来生成用户秘密密钥谓词矢量v USER=(v1,v2,...,vn)。另外,根据编码列生成用户秘密密钥谓词矢量的方法是如根据图38至图40所说明的那样。
此处,在密钥管理服务器201使用中间秘密密钥来发行用户秘密密钥的情况下,已经在中间秘密密钥中设定完成的谓词矢量v SPKG=(v1,v2,...,vn)的值无法变更。可设定的值仅为在生成中间秘密密钥时在(S202)中设定的移交属性集合DAID以及与移交属性集合对应的谓词矢量的索引编号DBI表示的部位。
另外,矢量生成部207从在用户秘密密钥属性信息编码列中设定了“”的部位、以及没有设定值的部位(在图中表示为“-”)中,选择在之后用户能够设定值的属性,并将它同样地设为移交属性集合DAID。另外,将与该移交属性集合对应的谓词矢量的索引编号设为DBI。例如,在图54中,为了防止由用户变更值,而在移交属性集合中不包含设定了值的所属信息编码列、职位信息编码列。类型编码列、移交目的地信息编码列、密钥用途标志、检索词编码列等被设定到移交属性集合DAID中。同样地,对应的移交索引集合DBI也被决定。
(S302)
用户秘密密钥生成部204使用在(S301)中生成的用户秘密密钥谓词矢量,通过处理装置来生成对应的用户秘密密钥。关于用户秘密密钥,有根据主密钥直接生成的方式和根据中间秘密密钥生成的方式这2种方式。
首先,说明根据主密钥生成用户秘密密钥k 1的情况。
用户秘密密钥生成部204通过处理装置来计算式111,从而根据主密钥来生成用户秘密密钥k 1
[式111]
&sigma; j , &sigma; h , j &LeftArrow; U F q
k 1,0 * = &Sigma; j &Element; AID 1 &sigma; j ( &Sigma; i &Element; BIj v i b i * )
对于h=n+1或 &ForAll; h &Element; DBI 1 , k 1 , h * = &Sigma; j &Element; AID 1 &sigma; h , j ( &Sigma; i &Element; BIj v i b i * ) + b h *
k 1 * = ( k 1,0 * , { k 1 , h * } )
属性集合AID1是在本次生成用户秘密密钥时决定了值的属性的属性ID的集合。
索引集合BIj是与成为属性集合AID1中的AID=j的要素对应的谓词矢量的索引编号的集合。
移交索引集合DBI1是与决定为能够由使用所生成的用户秘密密钥的用户在之后进行设定的移交属性集合DAID对应的索引编号的集合。在移交索引集合DBI1中,不包括与已经设定完成的属性集合AID1对应的索引编号集合BIS1。
即,在用户秘密密钥生成部204中,设定谓词矢量的要素vi作为针对索引集合BIj中包含的索引编号i所表示的基底矢量b i的系数,而生成密钥矢量k 1,0。另外,利用随机数σj对设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,用户秘密密钥生成部204关于移交索引集合DBI1中包含的各索引编号h以及h=n+1,生成密钥生成用矢量k 1,h,其中,该密钥生成用矢量k 1,h是设定谓词矢量的要素vi作为针对索引集合BIj中包含的索引编号i所表示的基底矢量b i的系数、并且设定值“1”作为针对基底矢量b h的系数的密钥生成用矢量k 1,h。另外,利用随机数σh,j对设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,用户秘密密钥生成部204将密钥矢量k 1,0和密钥生成用矢量k 1,h设为用户秘密密钥k 1
接下来,说明根据中间秘密密钥k L生成用户秘密密钥k L+1的情况。
用户秘密密钥生成部204通过处理装置来计算式112,从而根据中间秘密密钥k L来生成用户秘密密钥k L+1
[式112]
&sigma; h , j &LeftArrow; U F q
对于h=0,n+1或 &ForAll; h &Element; DBIL , k L + 1 , h * = k L , h * + &Sigma; j &Element; AIDL + 1 &sigma; h , j ( &Sigma; i &Element; BIj v i k L , i * )
k L + 1 * = ( k L + 1,0 * , { k L + 1 , h * } )
属性集合AIDL+1是在本次生成用户秘密密钥时决定了值的属性的属性ID的集合。
索引集合BIj是与成为属性集合AIDL+1中的AID=j的要素对应的谓词矢量的索引编号的集合。
移交索引集合DBIL是与决定为能够由用户在之后设定的移交属性集合DAID对应的索引编号的集合。在移交索引集合DBIL中,不包括与已经设定完成的属性集合AID1至属性集合AIDL对应的索引编号集合BIS1至BISL。
即,用户秘密密钥生成部204将使索引集合BIj中包含的索引编号i所表示的密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量,相加到中间秘密密钥k L中包含的密钥矢量k L,0而生成密钥矢量k L+1,0。此处,在使密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量中,作为针对基底矢量b i的系数,设定了谓词矢量的要素vi。另外,利用随机数σ0,j对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,用户秘密密钥生成部204关于移交索引集合DBIL中包含的各索引编号h以及h=n+1,将使索引集合BIj中包含的索引编号i所表示的密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量,相加到中间秘密密钥k L中包含的密钥生成用矢量k L,h而生成密钥生成用矢量k L+1,h。此处,在使密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量中,作为针对基底矢量b i的系数,设定了谓词矢量的要素vi。另外,利用随机数σh,j对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,用户秘密密钥生成部204将密钥矢量k L+1,0和密钥生成用矢量k L+1,h设为用户秘密密钥k L+1
另外,式111以及式112与在中间秘密密钥生成的处理中说明的生成中间秘密密钥时的式109以及式110相同。关于两者的差异,所制作的属性信息编码列被多少限定于密钥管理服务器的管理范围、或者根据用户的属性而指定了大部分这样的差异最大。另外,关于移交属性集合,也存在如下等的差异:在生成中间秘密密钥时为了发行用户秘密密钥而使大部分被移交,与此相对,在生成用户秘密密钥时限定于检索中所需的主要部分。
(S303)
PKG侧数据发送接收部209将用户秘密密钥和公开参数发送到访问终端。PKG侧数据发送接收部209与发送中间秘密密钥的情况同样地通过安全的方案进行配送。
(S304)
用户使用的访问终端301的终端侧数据发送接收部311接收在(S303)中发送的用户秘密密钥和公开参数,用户秘密密钥存储部302将所接收到的用户秘密密钥和公开参数存储到存储装置中。
接下来,使用图44,说明(4)对数据进行加密的处理。
(4)对数据进行加密的处理是访问终端301面向登记在系统中的组织的用户或者针对个人来加密数据,并将加密了的数据登记到数据中心401中的处理。
(S401)
首先,访问终端301的编码信息生成部306决定能够对制作出的数据进行解密的用户或者群组。例如,编码信息生成部306通过使使用访问终端301的用户从输入装置输入可解密的用户、群组,从而决定可解密的用户、群组。
然后,编码信息生成部306依照公开参数中包含的属性信息编码列501等,通过处理装置来生成能够唯一地确定所决定的用户、群组的加密数据属性信息编码列(编码信息)。在利用1个加密数据属性信息编码列无法唯一地确定所决定的用户、群组的情况下,也可以生成多个加密数据属性信息编码列。
图55是示出加密数据属性信息编码列的例子的图。
在图55所示的例子中,如类型编码列所示,数据是与09年度的物品费用的预算计划相关的数据。另外,示出了如下情形:如机密度编码列所示那样信息是公司外保密,可以由如所属信息编码列所示那样属于A公司/本公司/总务部/总务科的用户、且如雇用形态编码列所示那样综合职位和一般职位的社员进行阅读。另外,设为如移交目的地信息编码列所示那样,仅本人能够解密,秘书、代理人不能读。另外,所制作出的年度是2009年,所以如期间信息编码列所示那样设定标志。而且,如检索词编码列所示,设定了如下内容:数据是第15个数据,是在2009/10/5用10万日元购买了3台PC时的信息。
另外,在密钥用途标志中,设定成为生成加密数据密钥的源的随机数ρ。在生成加密数据时随机地生成该随机数即可,如果是不同的数据,则使用不同的随机数。在需要针对1个数据来构成多个加密数据属性信息编码列的情况下,需要在所有的加密数据属性信息编码列中对该随机数ρ设定相同的值。
接下来,矢量生成部307通过处理装置来生成与所生成的所有的加密数据属性信息编码列对应的属性矢量x=(x1,x2,...,xn)。另外,根据编码列生成属性矢量的方法是如根据图38至图40所说明那样。
(S402)
标签/加密数据加密密钥生成部308针对在(S402)中生成的所有的属性矢量,通过处理装置来生成标签兼加密数据加密密钥tag(密码矢量c1)。使用用户秘密密钥存储部302所保管的公开参数来计算式113,从而生成标签兼加密数据加密密钥tag。
[式113]
&sigma; j , &delta; n + 2 &LeftArrow; U F q
tag = &Sigma; j &Element; AID &sigma; j ( &Sigma; i &Element; BIj x i b i ) + &rho;b n + 1 + &delta; n + 2 b n + 2
属性集合AID是所有的属性ID的集合。
索引集合BIj是与成为属性集合AID中的AID=j的要素对应的属性矢量的索引编号的集合。
即,在标签/加密数据加密密钥生成部308中,设定属性矢量的要素vi,作为针对索引集合BIj中包含的索引编号i所表示的基底矢量bi的系数。另外,利用随机数σj对各基底矢量的系数进行随机化。另外,标签/加密数据加密密钥生成部308设定随机数ρ作为针对基底矢量bn+1的系数。另外,标签/加密数据加密密钥生成部308设定随机数δn+2作为针对基底矢量bn+2的系数。然后,标签/加密数据加密密钥生成部308生成标签兼加密数据加密密钥tag。
(S403)
标签/加密数据加密密钥生成部308使用在(S401)中生成的随机数ρ,生成数据加密密钥K=e(g,g)ρ
数据加密部309使用数据加密密钥K(共用密钥),利用AES、Camellia(注册商标)等共用密钥密码对数据主体(明文信息m)进行加密,通过处理装置来生成加密数据主体(密文c2)。然后,数据加密部309通过处理装置来生成包括所生成的加密数据主体和标签兼加密数据加密密钥tag的加密数据。即,加密数据的结构是图7所示的加密数据B。
(S404)
终端侧数据发送接收部311将所制作的加密数据发送到数据中心401,并委托加密数据的保管。
(S405)
数据中心401的中心侧数据发送接收部402接收受到了保管委托的加密数据。然后,数据管理部403将所接收到的数据存储到存储装置中。
接下来,使用图45,说明(5)关键字检索的处理。
(5)关键字检索的处理是访问终端301指定关键字来检索数据中心401中保管的加密数据的处理。
(S501)
首先,访问终端301的编码信息生成部306接收用户输入的检索关键字,通过处理装置来生成检索用属性信息编码列(编码信息)。该检索用属性信息编码列是针对用户秘密密钥属性信息编码列设定了检索关键字的编码列。
图56是示出检索用属性信息编码列的例子的图。
在图56所示的例子中,具有与图54中示出的用户秘密密钥属性信息编码列对应的用户秘密密钥的用户将“2009年”、“购买”指定为检索关键字。因此,在对应的检索词编码列的列2和列8中设定了值。另外,在生成陷门的情况下,在密钥用途标志中设定0。
接下来,矢量生成部307通过处理装置来生成与所生成的检索用属性信息编码列对应的检索用谓词矢量v SERCH=(v1,v2,...,vn)。另外,根据编码列生成检索用谓词矢量的方法是如根据图38至图40所说明的那样。
(S502)
陷门生成部303使用在(S501)中生成的检索用谓词矢量,通过处理装置来生成陷门。通过使用用户秘密密钥k L来计算式114,从而生成陷门trapdoor。
[式114]
&sigma; L + 1 , j &LeftArrow; U F q
k L + 1,0 * + = k L , 0 * + &Sigma; j &Element; AIDL + 1 &sigma; L + 1 . j ( &Sigma; i &Element; BIj v i k L , i * )
trapdoor = ( k L + 1,0 * )
属性集合AIDL+1是在生成检索用属性信息编码列时决定了值的属性的属性ID的集合。属性集合AIDL+1通常是密钥用途标志和检索词编码列的AID。
索引集合BIj是与成为属性集合AIDL+1中的AID=j的要素对应的谓词矢量的索引编号的集合。
即,陷门生成部303将使索引集合BIL+1中包含的索引编号i所表示的密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量(检索条件矢量SV),相加到用户秘密密钥k L,0而生成陷门trapdoor。此处,在使密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量中,作为针对基底矢量b i的系数,设定有谓词矢量的要素vi。另外,利用随机数σL+1,j,对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
(S503)
终端侧数据发送接收部311将在(S502)中生成的陷门发送到数据中心401,并委托加密数据的检索。数据中心401的检索要求接收部404接收陷门,并受理加密数据的检索。
(S504)
数据中心401的检索执行部405通过处理装置,来比较对数据管理部403所保管的所有的加密数据附加的各个标签兼加密数据加密密钥、与在(S503)中接收到的陷门。由此,检索执行部405判定在所保管的加密数据中是否存在包含关键字的加密数据。另外,在对加密数据附加了多个标签兼加密数据加密密钥的情况下,检索执行部405比较各标签兼加密数据加密密钥与所接收到的陷门。
然后,对于判定为只要加密数据的标签兼加密数据加密密钥中的某一个包含关键字的加密数据,检索执行部405视为在检索中命中。
另外,通过计算V=e(tag,trapdoor),来比较1个标签兼加密数据加密密钥与陷门。可知如果所计算出的结果是V=1则包括关键字,如果是V≠1则不包括关键字、或者没有检索权限。
(S505)
检索结果发送部406将在(S504)中判定为在检索中命中的加密数据全部取出来,并回送到陷门的发送源的访问终端301。然后,访问终端301的终端侧数据发送接收部311接收加密数据。在不存在作为检索结果返回的加密数据的情况下,检索结果发送部406将表示这个意思的信息发送到访问终端301。
(S506)
访问终端301的数据加密密钥解密部305利用用户秘密密钥k L,通过处理装置来生成解密用用户秘密密钥dec-key(解密密钥矢量,解密密钥)。通过计算dec-key=k L,0+k L,n+1,生成解密用用户秘密密钥dec-key。该计算意味着如下作业:由于在原来的用户秘密密钥k L的第一成分k L,0中不包括随机基底的要素b n+1,所以相加要素b n+1
(S507)
数据加密密钥解密部305利用解密用用户秘密密钥dec-key,通过处理装置对所接收到的加密数据的标签兼加密数据加密密钥进行解密,从而取得数据加密密钥K=e(g,g)ρ。即,数据加密密钥解密部305通过计算e(g,g)ρ=e(tag,dec-key),取得数据加密密钥K=e(g,g)ρ
另外,还考虑在加密数据中添加了多个标签兼加密数据加密密钥的情况。在该情况下,通过使用在(S502)中生成的陷门,将各标签兼加密数据加密密钥与陷门进行比较(V=e(tag,trapdoor)),确定成为V=1的标签兼加密数据加密密钥,从而能够确定应解密的标签兼加密数据加密密钥。
(S508)
数据解密部310使用在(S507)中取得的数据加密密钥K,利用AES、Camellia(注册商标)对加密数据中包含的加密数据主体进行解密。另外,需要使在解密中利用的算法与在加密中使用的算法相同。因此,需要预先确定在系统中使用的算法、或者使表示对加密数据如何进行了加密的信息包含在加密数据中等,以便能够确定算法。
接下来,使用图46,说明(6)移交用户秘密密钥生成的处理。
(6)移交用户秘密密钥生成的处理是指,具有用户秘密密钥的用户通过对以自身的代理方式进行作业的秘书等发行移交用户秘密密钥从而委托作业的代行的处理。即,(6)移交用户秘密密钥生成的处理是访问终端301向其他的访问终端301发行移交用户秘密密钥的处理。
另外,在关于图46的说明中,将生成移交用户秘密密钥的访问终端301称为访问终端1,将接收所生成的移交用户秘密密钥的访问终端301称为访问终端2。
(S601)
首先,访问终端1的编码信息生成部306决定对移交目的地用户移交什么样的检索、解密权限。例如,编码信息生成部306使访问终端1的用户从输入装置输入移交哪个检索、解密权限从而决定是否移交检索、解密权限。
编码信息生成部306通过处理装置来生成与所决定的检索、解密权限对应的移交用户秘密密钥属性信息编码列(编码信息)。
图57是示出移交用户秘密密钥属性信息编码列的例子的图。
在图57所示的例子中,具有与图54中示出的用户秘密密钥属性信息编码列对应的用户秘密密钥的用户针对自身的用户属性信息编码列指定移交目的地是同事,并且限定为作为检索词包括“2009年”。
接下来,矢量生成部307通过处理装置,生成与所生成的移交用户秘密密钥属性信息编码列对应的移交用户秘密密钥谓词矢量v Delegate=(v1,v2,...,vn)。另外,根据编码列生成移交用户秘密密钥谓词矢量的方法如根据图38至图40所说明的那样。
此处,在用户发行移交用户秘密密钥的情况下,已经在用户秘密密钥中设定完成的谓词矢量v USER=(v1,v2,...,vn)的值无法变更。能够设定的值仅为在生成用户秘密密钥时在(S301)中设定的移交属性集合DAID以及与移交属性集合对应的谓词矢量的索引编号DBI所表示的部位。
另外,从在用户秘密密钥属性信息编码列中设定了“”的部位以及没有设定值的部位(在图中表示为“-”)中,选择移交目的地用户能够在之后设定值的属性,并将它同样地设为移交属性集合DAID。另外,将与该移交属性集合对应的谓词矢量的索引设为DBI。例如,在图57中,没有设定值的类型编码列、检索词编码列的列1以及列3至列8等被设定为移交属性集合DAID。同样地,对应的移交索引集合DBI也被决定。
(S602)
访问终端1的移交用户秘密密钥生成部304基于在(S601)中生成的移交用户秘密密钥谓词矢量,根据用户秘密密钥k L,通过处理装置来生成移交用户秘密密钥k L+1。通过计算式115而生成移交用户秘密密钥k L+1
[式115]
&sigma; h , j &LeftArrow; U F q
对于h=0,n+1或 &ForAll; h &Element; DBIL , k L + 1 , h * = k L , h * + &Sigma; j &Element; AIDL + 1 &sigma; h , j ( &Sigma; i &Element; BIj v i k L , i * )
k L + 1 * = ( k L + 1,0 * , { k L + 1 , h * } )
属性集合AIDL+1是在本次生成移交用户秘密密钥时决定了值的属性的属性ID的集合。
索引集合BIj是与成为属性集合AIDL+1中的AID=j的要素对应的谓词矢量的索引编号的集合。
移交索引集合DBIL是与决定为能够由移交目的地用户在之后设定的移交属性集合DAID对应的索引编号的集合。在移交索引集合DBIL中,不包括与已经设定完成的属性集合AID1至属性集合AIDL对应的索引编号集合BIS1至BISL。
即,移交用户秘密密钥生成部304将使索引集合BIj中包含的索引编号i所表示的密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量,相加到用户秘密密钥k L中包含的密钥矢量k L,0而生成密钥矢量k L+1,0。此处,在使密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量中,作为针对基底矢量b i的系数,设定了谓词矢量的要素vi。另外,利用随机数σ0,j对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,移交用户秘密密钥生成部304关于移交索引集合DBIL中包含的各索引编号h以及h=n+1,将使索引集合BIj中包含的索引编号i所表示的密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量,相加到用户秘密密钥k L中包含的密钥生成用矢量k L,h而生成密钥生成用矢量k L+1,h。此处,在使密钥生成用矢量k L,i成为谓词矢量的要素vi倍而生成的矢量中,作为针对基底矢量b i的系数,设定了谓词矢量的要素vi。另外,利用随机数σh,j对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,移交用户秘密密钥生成部304将密钥矢量k L+1,0和密钥生成用矢量k L+1,h设为移交用户秘密密钥k L+1
(S603)
访问终端1的终端侧数据发送接收部311将在(S602)中生成的移交用户秘密密钥和公开参数发送到访问终端2。
(S604)
访问终端2的终端侧数据发送接收部311接收移交用户秘密密钥和公开参数。然后,用户秘密密钥存储部302将接收到的移交用户秘密密钥和公开参数存储到存储装置中。
另外,此处所生成的移交用户秘密密钥是用户秘密密钥的一种,所以能够依照图45所示的(5)关键字检索的处理来生成陷门,检索加密数据,并对所取得的加密数据进行解密。
如上所述,隐匿检索系统100通过如上述说明那样决定并执行由确定个人的姓名、社员编号等个人ID、企业的组织信息、社员的职位、文书的类型、机密度等信息、和数据中包含的关键字构成的属性信息编码列501的构造、比较方法、值的分配方法,从而生成编码信息。然后,如上述说明那样,从所生成的编码信息向属性矢量、谓词矢量进行映射,而生成属性矢量、谓词矢量。由此,隐匿检索系统100只通过计算表示可访问用户的属性矢量与表示用户的属性的谓词矢量彼此的内积,就能够决定可否访问数据。
另外,隐匿检索系统100以使用属性矢量来制作加密数据、并使用谓词矢量来生成用户秘密密钥的方式,使用内积谓词密码。由此,隐匿检索系统100不仅能够保护数据中心401中保管的数据的机密性,而且还能够仅使可访问的用户对加密数据进行解密。
例如,隐匿检索系统100通过在属性矢量中指定部、科,能够以仅使属于部、科的用户能够解密的方式制作加密数据。
另外,隐匿检索系统100在进行加密时所制作的属性信息编码列中,设定数据中包含的关键字,并且从用户秘密密钥追加设定检索关键字而生成陷门。由此,在隐匿检索系统100中,仅有可访问的用户能够不会对数据中心401泄漏检索关键字地检索数据。
特别是,只通过将一个陷门发送到数据中心401,能够针对可检索的所有数据进行一致/不一致的判定。
例如,隐匿检索系统100通过对属性矢量指定部、科,从而能够以使仅属于部、科的用户能够检索的方式制作加密数据。
另外,隐匿检索系统100能够决定例如属性信息编码列501的所属信息的公司/营业所名等一部分值,发行与其对应的中间秘密密钥。由此,隐匿检索系统100还能够进行如下那样的系统运用:不仅是主的密钥管理服务器201,而且针对每个营业所设置密钥管理服务器201,针对每个营业所进行用户管理和用户秘密密钥生成。
另外,隐匿检索系统100采用根据用户秘密密钥生成陷门和解密用秘密密钥的结构,能够使标签与加密数据加密密钥共用化。由此,隐匿检索系统100能够减少应添加到加密数据的数据的量。因此,隐匿检索系统100能够削减数据中心401的存储区域的使用量。另外,隐匿检索系统100还能够减少从数据中心401向访问终端301发送加密数据所需的通信线路的使用量。
另外,隐匿检索系统100在根据用户秘密密钥生成移交用户秘密密钥时,使该移交用户秘密密钥属性信息编码列包括移交给了谁这样的信息。另外,隐匿检索系统100能够在制作加密数据时所使用的加密数据属性信息编码列中指定所移交的用户无法解密。由此,隐匿检索系统100能够进行控制以使仅有具有用户秘密密钥的本人能够检索、解密。
另外,隐匿检索系统100如上述说明那样,实现对编码列进行AND判定、OR判定、包含关系判定时的从编码列向属性矢量或者谓词矢量的映射方法。由此,隐匿检索系统100在具有数据主体如记帐单、数据库那样被结构化了的数据时,即使没有像一般的文字处理机的文书那样被结构化的情况下也能够在加密了的状态下进行检索。
另外,在上述说明中,以企业内系统为主而示出了实例,但组织构造、职位构造等的分类方法是一个例子。例如,也可以在营业所ID之前输入国家ID,还可以代替单元ID而使用工程ID。另外,也可以在所长等级标志与部长等级标志之间设定副所长等级标志。由于这些编码列是一个例子,所以还能够根据组织的状况而追加或者删除各种要素。
另外,在图12中示出的所属信息编码列中,在针对例如虽然属于D科但不属于单元的用户生成用户秘密密钥的情况下,如所属信息编码列2那样,对单元ID指定“”。在该情况下,如果使用该用户秘密密钥,则只要是D科的文书就能够全部阅读。在希望仅能够阅读面向D科的文书而无法阅读面向该科的单元的文书的情况下,也可以并非“”而设定随机数R作为单元ID。
另外,还能够与职位信息编码列等其他编码列进行组合来实现。即,一般如果是科长则不属于单元。另一方面,一般如果是担当者则属于单元。因此,也可以利用该特征,使用职位信息编码列,来进行仅有属于单元的用户能够阅读文书、或者仅有不属于单元的用户能够阅读文书这样的控制。
另外,在上述说明中,在企业内系统中以社员管理的数据为对象而进行了例示,但不限于企业内系统。例如,还能够利用于在医疗信息系统中对患者的电子病历、收据进行管理的情况。在该情况下,关于结合企业内系统而制作出的组织阶层、职位信息等,也可以结合医疗信息系统来制作。例如,也可以代替组织阶层而分配能够确定医院、医生的医疗机关阶层信息,代替职位信息而分配医生、护士、药剂师等的作用等。
另外,在上述说明中,假设系统的管理者是企业,利用访问终端的是用户,但也可以根据利用系统而灵活地进行变更。例如,在采用用户承担密钥管理服务器的作用而对其他用户发行用户秘密密钥那样的系统结构的情况下,能够构筑可进行比本系统更灵活的访问权限的移交的系统。
另外,在上述说明中,使访问终端301保管用户秘密密钥,还实施陷门生成、加密数据加密密钥的解密。但是,为了进一步提高安全性,也可以并非是访问终端301而是使用IC卡等设备来实施用户秘密密钥的管理。在该情况下,可以为了利用IC卡而使用口令进行认证,提高安全性。
另外,在从密钥管理服务器201对访问终端300分发用户秘密密钥的情况下,也可以在IC卡中保存用户秘密密钥,将IC卡安全地分发给用户。
另外,在上述说明中,示出了主要通过AND判定来比较属性信息编码列501的情形,但也可以通过OR判定来进行比较、或者通过包含关系判定来进行比较。
另外,在上述说明中,在系统设置时,还包括保管检索关键字的检索词编码列而决定了属性信息编码列501的构造。这是因为,优先考虑了说明的理解难易度。但是,在记帐单等的结构化了的数据、文字处理机文书等非结构性的数据混合存在的环境下,难以事先决定检索词编码列的构造的情形较多。因此,也可以在系统设置时不决定检索词编码列的构造,取而代之准备能够自由使用的属性,从而能够针对文书的每个种类、每个内容来确定检索词编码列的构造。
另外,在上述说明中,作为属性信息编码列501事先决定了构造,但还考虑在企业内的职业种类复杂的情况下难以事先决定全部职业的情况。在这样的情况下,也可以在一部分的编码列中,准备针对每个营业所、每个职业种类能够自由地使用的属性,使用户在利用时自由地使用。
另外,在上述说明中,在表示个人ID、公司ID时,使用“田中”、“A公司”等字符串来表现。这是为了优先考虑了说明的理解难易度,实际上不仅是字符串而且也可以将编号用作ID。同样地,在各种标志中设定值“1”时确定了值,但值不限于“1”,而也可以自由地决定值。
另外,在上述说明中,示出了使用对称配对时的例子,但也可以根据非对称配对来安装。在该情况下,能够进行更灵活的参数设定,还能够进行速度的最佳化。
另外,在上述说明中,在密钥管理服务器的各种密钥保管部中还能够保管用户秘密密钥,但由于能够再次进行密钥发行,所以如果没必要保管,则也可以不保管。
另外,在上述说明中,在图9中示出的属性信息编码列501中,设定了对制作出数据的年月进行保管的期间信息编码列,但除此之外也可以将可对数据进行解密的日期作为可解密期间信息编码列而进行保存。由此,能够实现虽然在加密了时无法解密但将来能够解密的时间胶囊(Time capsule)密码。在该情况下,在对加密数据设定的可解密期间信息中保管能够解密的年月,在用户秘密密钥的可解密期间信息中设定当前的年月即可。
另外,在上述说明中,在图24中示出的期间信息编码列中,针对每年准备了标志,但不限于每年,而也可以针对每月、每周准备标志。但是,当细致地分割时花费运算时间,所以需要兼顾希望控制的期间的单位与处理时间来决定。
另外,在上述说明中,在(S506)中根据用户秘密密钥生成了解密用用户秘密密钥,但它也可以不用每次进行,而是在最初进行1次,并在生成了解密用用户秘密密钥之后,用户秘密密钥存储部302保存到存储装置即可。关于解密用用户秘密密钥的生成,既可以在初次进行(S506)时实施,也可以在从密钥管理服务器接收到用户秘密密钥的时刻实施。
另外,在上述说明中,通过密钥管理服务器201来管理用户的属性信息,但也可以通过其他的服务器来管理属性信息。例如,在已经存在对社员的人事信息进行管理的LDAP(Lightweight DirectoryAccess Protocol,轻量级目录访问协议)服务器的情况下,密钥管理服务器也可以不用通过自身来管理社员的属性信息,而是利用LDAP服务器。
另外,在上述说明中,主要记载了在比较属性信息编码列的各要素时使用AND判定、OR判定的例子。但是,还能够使用包含关系判定来实施这些比较。
例如,在对所属信息编码列503进行AND判定的情况下,能够变形为通过包含关系来判定在对用户秘密密钥(谓词)设定的所属信息的集合中是否包含对加密数据(属性)设定的所属信息。
另外,例如在职位信息编码列504的情况下,能够变形为在加密数据(属性)中代替职位标志而设定职位ID的集合,并通过包含关系来判定是否包含对用户秘密密钥(谓词)设定的用户的职位ID。
同样地,关于期间信息编码列等其他的编码列,也能够容易地变形为使用包含关系来比较。
实施方式2.
在实施方式1中,根据基于用户的属性信息而生成的谓词矢量,生成了用户秘密密钥。在该情况下,当用户的属性信息发生了变化时,需要重新再次发行用户秘密密钥。另外,在用户调动了的情况下,也需要重新再次发行用户秘密密钥。另外,在用户秘密密钥中包括期间信息的情况下,需要定期地再次发行秘密密钥。但是,用户秘密密钥能够利用于数据的解密,所以是机密性高的信息,因此例如需要保存到IC卡中来分发,分发花费成本。
在实施方式2中,说明如下方式:最初安全地仅配送用户秘密密钥中的不会由于用户的变动等而变化的部分,并将变化的所属等属性信息另行作为群组证书而配送,从而削减了用户秘密密钥分发的成本。另外,在另行配送的群组证书中,除了设定了所属信息的所属信息编码列以外,还包括将属于该所属的期间表示为期间信息编码列的部分,从而能够以只在限定的期间可解密的方式严格地进行访问控制。
另外,此处根据非专利文献2记载的内积谓词密码进行说明。在非专利文献2中,没有关于安全地分发用户秘密密钥的具体方法的记载。因此,安全地分发该用户秘密密钥的方法也是1个要点。
另外,在实施方式2中,原则上仅说明与实施方式1不同的部分。
实施方式2的隐匿检索系统100的结构与实施方式1的隐匿检索系统100的结构相同,所以省略说明。
图58是示出实施方式2的密钥管理服务器201的功能的功能框图。
关于主密钥生成部202、中间秘密密钥生成部203、用户秘密密钥生成部204、用户属性信息管理部205、编码信息生成部206、矢量生成部207、各种密钥保管部208、PKG侧数据发送接收部209,由于与实施方式1中示出的功能相同,所以省略说明。
密钥管理服务器201除了上述功能以外,还具备部分用户秘密密钥生成部210、用户秘密密钥信息管理部211、群组证书生成部212。
部分用户秘密密钥生成部210使用主密钥或者中间秘密密钥,根据用户的所属、职位等属性信息编码列,通过处理装置来生成部分用户秘密密钥。特别是,部分用户秘密密钥生成部210仅使用根据属性信息编码列生成的谓词矢量中的不会根据所属、职位而发生变化的固定值的信息,生成部分用户秘密密钥。
用户秘密密钥信息管理部211将部分用户秘密密钥生成部210为了生成部分用户秘密密钥而使用的信息存储到存储装置中。为了生成部分用户秘密密钥而使用的信息是指,例如在生成部分用户秘密密钥时使用的随机数值等。
群组证书生成部212根据用户秘密密钥信息管理部211所存储的信息以及谓词矢量,通过处理装置来生成为了根据部分用户秘密密钥构成用户秘密密钥而所需的群组证书。
图59是示出实施方式2的访问终端301的功能的功能框图。
关于用户秘密密钥存储部302、陷门生成部303、移交用户秘密密钥生成部304、数据加密密钥解密部305、编码信息生成部306、矢量生成部307、标签/加密数据加密密钥生成部308、数据加密部309、数据解密部310、终端侧数据发送接收部311,由于与实施方式1中示出的功能相同,所以省略说明。
访问终端301除了上述功能以外,还具备部分用户秘密密钥管理部312、用户秘密密钥重构部314、群组证书管理部313。
部分用户秘密密钥管理部312将从密钥管理服务器201接收到的部分用户秘密密钥存储到存储装置中。
群组证书管理部313将从密钥管理服务器201接收到的群组证书存储到存储装置中。
用户秘密密钥重构部314根据部分用户秘密密钥管理部312所存储的部分用户秘密密钥和群组证书管理部313所存储的群组证书,通过处理装置来生成用户秘密密钥。
实施方式2的数据中心401的功能结构与实施方式1的数据中心401的功能结构相同,所以省略说明。
另外,属性信息编码列501的结构与加密数据的结构也与实施方式1中示出的结构相同,所以省略说明。而且,从属性信息编码列501向属性矢量的映射方法、从属性信息编码列501向谓词矢量的映射方法也与实施方式1相同,所以省略说明。
接下来,说明生成部分用户秘密密钥和群组证书的方法。
在生成部分用户秘密密钥和群组证书的情况下,首先根据谓词矢量生成固定谓词矢量和可变谓词矢量。然后,根据固定谓词矢量生成部分用户秘密密钥,根据可变谓词矢量生成群组证书。
此处,说明固定谓词矢量和可变谓词矢量的生成方法。通过处理的流程来说明根据固定谓词矢量生成部分用户秘密密钥的方法、和根据可变谓词矢量生成群组证书的方法。
图60是示出根据谓词矢量生成固定谓词矢量和可变谓词矢量的方式的图。
如实施方式1所述,有在谓词矢量的要素中保存值“1”的情形、和保存属性信息编码列的要素bI的和、积的情形。
固定谓词矢量是仅抽出谓词矢量的要素中的设定了值“1”的要素(固定要素)、且对其以外的要素设定了值“0”的矢量。另一方面,可变谓词矢量是仅抽出谓词矢量的要素中的设定了属性信息编码列的要素bI的和、积的要素(变化要素)、且对其以外的要素设定了值“0”的矢量。即,如果计算该固定谓词矢量与可变谓词矢量之和,则成为谓词矢量。
说明隐匿检索系统100的动作。
关于(1)系统初始设定、(2)中间秘密密钥生成、(3)用户秘密密钥生成、(4)加密数据生成、(5)关键字检索、(6)移交用户秘密密钥生成的处理,与实施方式1中示出的处理相同。在实施方式2中,除了这些处理以外,还追加(7)部分用户秘密密钥生成、(8)群组证书生成的处理。说明此处追加的处理。
以下,根据流程图,说明各动作。
图61是示出(7)部分用户秘密密钥生成的处理流程的流程图。
图62是示出(8)群组证书生成的处理流程的流程图。
根据图61,说明(7)部分用户秘密密钥生成的处理。
(7)部分用户秘密密钥生成是密钥管理服务器201生成部分用户秘密密钥(部分密钥矢量)的处理。
(S701)
密钥管理服务器201的部分用户秘密密钥生成部210从公开参数中包含的属性信息编码列501的构造,通过处理装置来抽出不依赖于属性信息编码列501的值而始终设定值“1”的谓词矢量的要素。然后,部分用户秘密密钥生成部210生成对判定为始终设定值“1”的谓词矢量的要素设定了值“1”、对其他要素设定了值“0”的全要素固定谓词矢量。
例如,部分用户秘密密钥生成部210对属性信息编码列的所有要素设定适当的值(任意)而生成谓词矢量。然后,抽出所生成的谓词矢量中的、设定“1”作为系数的要素,从而能够抽出不依赖于属性信息编码列501的值而始终设定值“1”的谓词矢量的要素。
另外,此处将设定了值“1”的全要素固定谓词矢量的要素的索引编号设为BIfix。
(S702)
部分用户秘密密钥生成部210根据在(S701)中生成的全要素固定谓词矢量,通过处理装置来生成部分用户秘密密钥。关于部分用户秘密密钥,有根据主密钥直接生成的方式和根据中间秘密密钥生成的方式这2种方式。
首先,说明根据主密钥生成部分用户秘密密钥pk 1的情况。
部分用户秘密密钥生成部210通过处理装置来计算式116,从而根据主密钥来生成部分用户秘密密钥pk 1
另外,在以下的说明中,部分用户秘密密钥pk L、群组证书cert* L中的L表示是第L阶层的密钥。即,如果是部分用户秘密密钥pk 1,则表示是第1阶层的秘密密钥,如果是部分用户秘密密钥pk L+1,则表示是第L阶层的下1个的第L+1阶层的秘密密钥。
[式116]
&sigma; j , &sigma; h , j &LeftArrow; U F q
pk 1,0 * = &Sigma; j &Element; AID &sigma; j ( &Sigma; i &Element; BIj &cap; BIfix b i * )
对于h=n+1或 &ForAll; h &Element; BIS . pk 1 , h * = &Sigma; j &Element; AID &sigma; h , j ( &Sigma; i &Element; BIj &cap; BIfix b i * ) + b h *
pk 1 * = ( p k 1,0 * , { pk 1 , h * } )
属性集合AID是所有属性ID的集合。
索引集合BIj是与成为属性集合AID中的AID=j的要素对应的谓词矢量的索引编号的集合。固定索引集合BIfix是全要素固定谓词矢量的要素中的设定了值“1”的要素的索引编号的集合。BIj ∩BIfix是索引集合BIj与固定索引集合BIfiX的交集且是不依赖于属性而值为恒定的索引编号的集合。
索引集合BIS是所有的索引编号的集合。
即,在部分用户秘密密钥生成部210中,设定值“1”作为针对BIj ∩BIfix中包含的索引编号i所表示的基底矢量b i的系数,生成部分密钥矢量pk* 1,0。另外,利用随机数σj对设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,部分用户秘密密钥生成部210关于索引集合BIS中包含的各索引编号h以及h=n+1,生成部分密钥生成用矢量pk 1,h,其中,该部分密钥生成用矢量pk 1,h是设定值“1”作为针对索引集合BIj中包含的索引编号i所表示的基底矢量b i的系数、并且设定值“1”作为针对基底矢量b h的系数的部分密钥生成用矢量。另外,利用随机数σh,j对设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,部分用户秘密密钥生成部210将部分密钥矢量pk 1,0和部分密钥生成用矢量pk 1,h设为部分用户秘密密钥pk 1
接下来,说明根据中间秘密密钥k L生成部分用户秘密密钥pk L+1的情况。
用户秘密密钥生成部204通过处理装置来计算式117,从而根据主密钥来生成部分用户秘密密钥pk L+1
[式117]
&sigma; h , j &LeftArrow; U F q
对于h=0,n+1或 &ForAll; h &Element; BIS \ BIS 1 , L
pk L + 1 , h * = k L , h * + &Sigma; j &Element; AID \ AID 1 , L &sigma; h , j ( &Sigma; i &Element; BIj &cap; BIfix k L , i * )
pk L + 1 * = ( pk L + 1,0 * , { pk L + 1 , h * } )
属性集合AID\AID1,L是从所有的属性的属性集合AID去除已经利用中间秘密密钥决定了的属性的属性集合AID1至属性集合AIDL而得到的属性ID集合。
索引集合BIj是与成为属性集合AID\AID1,L中的AID=j的要素对应的谓词矢量的索引编号的集合。固定索引集合BIfix是全要素固定谓词矢量的要素中的设定了值“1”的要素的索引编号的集合。BIj ∩BIfix是索引集合BIj和固定索引集合BIfix的交集且是不依赖于属性而值为恒定的索引编号的集合。
索引集合BIS\BIS1,L是与属性集合AID\AID1,L中包含的属性对应的索引编号的集合。
即,部分用户秘密密钥生成部210将BIj ∩BIfix中包含的索引编号i所表示的密钥生成用矢量k L,i相加到中间秘密密钥k L中包含的密钥矢量k L,0而生成部分密钥矢量pk L+1,0。此处,在密钥生成用矢量k L,i中,设定了值“1”作为针对基底矢量b i的系数。另外,利用随机数σ0,j对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,部分用户秘密密钥生成部210关于索引集合BIS\BIS1,L中包含的各索引编号h以及h=n+1,将BIj ∩BIfix中包含的索引编号i所表示的密钥生成用矢量k L,i相加到中间秘密密钥k L中包含的密钥生成用矢量k L,h而生成部分密钥生成用矢量pk L+1,h。此处,在密钥生成用矢量k L,i中,设定了值“1”作为针对基底矢量b i的系数。另外,利用随机数σh,j对新设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,部分用户秘密密钥生成部210将部分密钥矢量pk L+1,0和部分密钥生成用矢量pk L+1,h设为部分用户秘密密钥pk L+1
(S703)
用户秘密密钥信息管理部211将在(S702)中生成的随机数值σj、σh,j存储到存储装置。
(S704)
PKG侧数据发送接收部209将公开参数和在(S702)中生成的部分用户秘密密钥发送到访问终端301。
(S705)
访问终端301的终端侧数据发送接收部311接收公开参数和部分用户秘密密钥。然后,部分用户秘密密钥管理部312将接收到的公开参数和部分用户秘密密钥存储到存储装置。
接下来,使用图62,说明(8)群组证书生成的处理。
(8)群组证书生成是密钥管理服务器201生成群组证书的处理。
(S801)
编码信息生成部206和矢量生成部207从用户属性信息数据库读入用户的属性,通过处理装置来生成对应的用户秘密密钥谓词矢量。另外,此时移交属性集合DAID也被决定。另外,该处理与实施方式1的(S301)中示出的处理相同。
(S802)
群组证书生成部212从存储装置取出在生成部分用户秘密密钥时生成的随机数值σj、σh,j
(S803)
群组证书生成部212根据在(S801)中生成的用户秘密密钥谓词矢量,通过处理装置来生成群组证书。
关于群组证书,有根据主密钥直接生成的方式和根据中间秘密密钥生成的方式这2种方式。
首先,说明根据主密钥生成群组证书cert 1的情况。
群组证书生成部212通过处理装置来计算式118,从而根据主密钥来生成群组证书cert 1
[式118]
&sigma; &prime; j , &sigma; h , j &prime; &LeftArrow; U F q
cert 1 , 0 * = &Sigma; j &Element; AID 1 &sigma; j &sigma; &prime; j ( &Sigma; i &Element; BIj &cap; ( BIfix &OverBar; ) v i b i * )
+ &Sigma; j &Element; AID 1 ( &sigma; j &sigma; &prime; j - &sigma; j ) ( &Sigma; i &Element; BIj v i = 1 &cap; BIfix b i * )
- &Sigma; j &Element; AID 1 &sigma; j ( &Sigma; i &Element; BIj v i = 0 &cap; BIfix b i * ) - &Sigma; j &Element; AID \ AID 1 &sigma; j ( &Sigma; i &Element; BIj &cap; BIfix b i * )
对于h=n+1或 &ForAll; h &Element; DBI
cert 1 , h * = &Sigma; j &Element; AID 1 &sigma; h , j &sigma; h , j &prime; ( &Sigma; i &Element; BIj &cap; ( BIfix &OverBar; ) v i b i * )
+ &Sigma; j &Element; AID 1 ( &sigma; h , j &sigma; h , j &prime; - &sigma; h , j ) ( &Sigma; i &Element; BIj v i = 1 &cap; BIfix b i * ) - &Sigma; j &Element; AID 1 &sigma; j ( &Sigma; i &Element; BIj v i = 0 &cap; BIfix b i * )
- &Sigma; j &Element; AID \ AID 1 &sigma; h , j ( &Sigma; i &Element; BIj &cap; BIfix b i * )
cert 1 * = ( cert 1,0 * , { cert 1 , h * } )
此处,
Figure BDA000018826220008010
是BIfix的补集,在以下的说明中还表示为BIfix^。
属性集合AID是所有属性ID的集合,属性集合AID1是对用户秘密密钥设定的属性的属性ID的集合。属性集合AID\AID1是从所有属性ID除去对用户秘密密钥设定的属性ID而得到的属性ID集合。
索引集合BIj是与成为属性集合AID1或者属性集合AID\AID1中的AID=j的要素对应的谓词矢量的索引编号的集合。固定索引集合BIfix是全要素固定谓词矢量的要素中的设定了值“1”的要素的索引编号的集合。BIj ∩BIfix是索引集合BIj和固定索引集合BIfix的交集且是不依赖于属性而值为恒定的索引编号的集合。BIj ∩BIfix^(固定索引集合BIfix的补集)是索引集合BIj和补集BIfix^的交集,是值根据属性而变化的索引编号的集合。
移交索引集合DBI是与决定为能够由用户在之后设定的移交属性集合DAID对应的索引编号的集合。在移交索引集合DBI中,不包括与已经设定完成的属性集合AID1对应的索引编号集合。
即,如式119所示,群组证书生成部212生成矢量cert 1,0,1(第1矢量),其中,该矢量cert 1,0,1是设定了谓词矢量的要素vi作为针对BIj ∩BIfix^中包含的索引编号i所表示的基底矢量b i的系数的矢量。另外,利用随机数σj与随机数σj’之积(σjσj’),对设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,群组证书生成部212生成设定了值“1”作为针对规定的基底矢量b i的系数的矢量cert 1,0,2(第2矢量)。另外,利用随机数σj和随机数σj’,对设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,群组证书生成部212将矢量cert 1,0,1与cert 1,0,2之和设为密钥矢量cert 1,0
[式119]
cert 1,0,1 * = &Sigma; j &Element; AID 1 &sigma; j &sigma; &prime; j ( &Sigma; i &Element; BIj &cap; ( BIfix &OverBar; ) v i b i * )
cert 1,0,2 * = &Sigma; j &Element; AID 1 ( &sigma; j &sigma; &prime; j - &sigma; j ) ( &Sigma; i &Element; BIj v i = 1 &cap; BIfix b i * )
- &Sigma; j &Element; AID 1 &sigma; j ( &Sigma; i &Element; BIj v i = 0 &cap; BIfix b i * ) - &Sigma; j &Element; AID \ AID 1 &sigma; j ( &Sigma; i &Element; BIj &cap; BIfix b i * )
cert 1,0 * = cert 1,0,1 * + cert 1,0,2 *
另外,如式120所示,群组证书生成部212生成矢量cert* 1,h,1(第1矢量),其中,该矢量cert 1,h,1是设定了谓词矢量的要素vi作为针对BIj ∩BIfix^中包含的索引编号i所表示的基底矢量b i的系数的矢量。另外,利用随机数σh,j与随机数σh,j’之积(σh,jσh,j’),对设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,群组证书生成部212生成设定了值“1”作为针对规定的基底矢量b i的系数的矢量cert 1,h,2(第2矢量)。另外,利用随机数σj和随机数σj’,对设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,群组证书生成部212将矢量cert 1,h,1与矢量cert 1,h,2之和设为密钥矢量cert 1,h
[式120]
对于h=n+1或 &ForAll; h &Element; DBI
cert 1 , h , 1 * = &Sigma; j &Element; AID 1 &sigma; h , j &sigma; h , j &prime; ( &Sigma; i &Element; BIj &cap; ( BIfix &OverBar; ) v i b i * )
cert 1 , h , 2 * = &Sigma; j &Element; AID 1 ( &sigma; h , j &sigma; h , j &prime; - &sigma; h , j ) ( &Sigma; i &Element; BIj v i = 1 &cap; BIfix b i * )
- &Sigma; j &Element; AID 1 &sigma; j ( &Sigma; i &Element; BIj v i = 0 &cap; BIfix b i * ) - &Sigma; j &Element; AID \ AID 1 &sigma; h , j ( &Sigma; i &Element; BIj &cap; BIfix b i * )
cert 1 , h * = cert 1 , h , 1 * + cert 1 , h , 2 *
接下来,说明根据中间秘密密钥k L生成群组证书cert L+1的情况。
群组证书生成部212通过处理装置来计算式121,从而根据中间秘密密钥k L来生成群组证书cert L+1
[式121]
&sigma; h , j &prime; &LeftArrow; U F q
对于h=0,n+1或 &ForAll; h &Element; DBIL + 1
cert L + 1 , h * = &Sigma; j &Element; AIDL + 1 &sigma; h , j &prime; &sigma; h , j ( &Sigma; i &Element; BIj &cap; ( BIfix &OverBar; ) v i k L , i * )
+ &Sigma; j &Element; AIDL + 1 ( &sigma; h , j &prime; &sigma; h , j - &sigma; h , j ) ( &Sigma; i &Element; BIj v i = 1 &cap; BIfix k L , i * )
- &Sigma; j &Element; AIDL + 1 &sigma; h , j ( &Sigma; i &Element; BIj v i = 0 &cap; BIfix k L , i * ) - &Sigma; j &Element; AID \ AID 1 , L + 1 &sigma; h , j ( &Sigma; i &Element; BIj &cap; BIfix k L , i * )
cert L + 1 * = ( { cert L + 1 , h * } )
属性集合AID是所有属性ID的集合,属性集合AIDL+1是在本次生成群组证书时决定了值的属性的属性ID的集合。属性集合AID1,L+1是在生成利用于群组证书生成的中间秘密密钥、以及在本次生成群组证书时所决定的属性的属性ID的集合。属性集合AID\AID1,L+1是从所有属性ID除去由属性集合AID1,L+1示出的属性ID而得到的属性ID集合。
索引集合BIj是与成为属性集合AIDL+1或者属性集合AID\AID1,L+1中的AID=j的要素对应的谓词矢量的索引的集合。固定索引集合BIfix是全要素固定谓词矢量的要素中的设定了值“1”的要素的索引编号。BIj ∩BIfix是索引集合BIj与固定索引集合BIfix的交集。BIj∩BIfix^是索引集合BIj与补集BIfix^的交集。
移交索引集合DBIL+1是与决定为能够由用户在之后设定的移交属性集合DAID对应的索引编号的集合。在移交索引集合DBIL+1中,不包括与已经设定了值的属性集合AID1,L+1对应的索引编号集合。
即,如式122所示,群组证书生成部212生成矢量cert L+1,h,1(第1矢量),其中,该矢量cert L+1,h,1是设定了谓词矢量的要素vi作为针对BIj ∩BIfix^中包含的索引编号i所表示的基底矢量b i的系数的矢量。另外,利用随机数σh,j与随机数σh,j’之积(σh,jσh,j’),对设定谓词矢量的要素的各基底矢量的系数进行随机化。
另外,群组证书生成部212生成设定了值“1”作为针对规定的基底矢量b i的系数的矢量cert L+1,h,2(第2矢量)。另外,利用随机数σj和随机数σj’,对设定谓词矢量的要素的各基底矢量的系数进行随机化。
然后,群组证书生成部212将矢量cert L+1,h,1与矢量cert L+1,h,2之和设为密钥矢量cert L+1,h
[式122]
对于h=n+1或 &ForAll; h &Element; DBIL + 1
cert L + 1 , h , 1 * = &Sigma; j &Element; AIDL + 1 &sigma; h , j &sigma; h , j &prime; ( &Sigma; i &Element; BIj &cap; ( BIfix &OverBar; ) v i b i * )
cert L + 1 , h , 2 * = &Sigma; j &Element; AIDL + 1 ( &sigma; h , j &sigma; h , j &prime; - &sigma; h , j ) ( &Sigma; i &Element; BIj &cap; BIfix v i = 1 b i * )
- &Sigma; j &Element; AIDL + 1 &sigma; j ( &Sigma; i &Element; BIj v i = 0 &cap; BIfix b i * ) - &Sigma; j &Element; AID \ AID 1 , L + 1 &sigma; h , j ( &Sigma; i &Element; BIj &cap; BIfix b i * )
cert L + 1 , h * = cert L + 1 , h , 1 * + cert L + 1 , h , 2 *
(S804)
PKG侧数据发送接收部209将在(S803)中生成的群组证书发送到访问终端301。
(S805)
访问终端301的终端侧数据发送接收部311接收群组证书。
用户秘密密钥重构部314根据群组证书cert L+1、和部分用户秘密密钥管理部312存储到存储装置中的部分用户秘密密钥pk L,通过处理装置来计算式123,从而生成用户秘密密钥k L+1。用户秘密密钥存储部302将所生成的用户秘密密钥k L+1存储到存储装置中。
[式123]
k L + 1,0 * = pk L + 1,0 * + cert L + 1,0 *
对于h=n+1或 &ForAll; h &Element; DBIL + 1 , k L + 1 , h * = pk L + 1 , h * + cert L + 1 , h *
k L + 1 * = ( k L + 1,0 * , { k L + 1 , h * } )
即,用户秘密密钥重构部314通过对部分用户秘密密钥pk L+1(或者pk 1)相加群组证书cert L+1(cert 1),生成用户秘密密钥k L+1(k 1)。
此处,群组证书cert L+1(cert 1)中的矢量cert L+1,h,1(cert 1,h,1)是设定了在部分用户秘密密钥pk L+1(或者pk 1)中不足的谓词矢量的变化要素的矢量。因此,通过将矢量cert L+1,h,1(cert 1,h,1)相加到部分用户秘密密钥pk L+1(或者pk 1),从而补充不足部分。
另外,群组证书cert L+1(cert 1)中的矢量cert L+1,h,2(cert 1,h, 2)是用于去除在部分用户秘密密钥pk L+1(或者pk 1)中过剩地添加的谓词矢量的固定要素、并设定所需的固定要素的矢量。通过将矢量cert L+1,h,2(cert 1,h,2)相加到部分用户秘密密钥pk L+1(或者pk 1),从而去除过剩地添加的谓词矢量的固定要素,设定所需的固定要素。
另外,群组证书包括在发行部分用户秘密密钥时所使用的随机数值σj、σh,j,所以仅通过与随机数一致的部分用户秘密密钥之间的组合就能够生成用户秘密密钥。即,如果不是具有随机数一致的部分用户秘密密钥的访问终端301,则无法根据群组证书生成用户秘密密钥。
在上述说明中,属性信息编码列501的构成方法没有特别制约而是通用的记载。但是,实施方式2所示的隐匿检索系统100在用户的所属每年或每半年变化1次等属性频繁地变化时特别有效。因此,以下,交叉具体例而说明属性频繁地变化的情况。
考虑如下那样的状况。田中在2007年至2009年所属于总务科、福利单元,能够访问在该期间制作的全部数据。在成为2010年时,由于田中持续属于福利单元,所以还能够继续访问在2010年制作出的数据。但是,在2010年中晋级为股长,所以能够以股长的权限来访问在2010年制作出的数据。但是,在成为2011年时,变动到人事科采用单元。
在这样的状况下,在实施方式1的隐匿检索系统100中,需要在2007年的分配时、之后虽然没有变动但在成为2008年、2009年、2010年的时刻、晋级为股长的时刻、在2011年变动的时刻,分发田中的用户秘密密钥。
如上所述,用户秘密密钥是机密度极其高的信息,所以通常保存到IC卡等中来分发。在用IC卡来分发用户秘密密钥的情形下,需要回收一下田中的IC卡,并在写入了用户秘密密钥之后,将IC卡面交给田中。因此,用户秘密密钥的分发非常费事。
说明该状况下的实施方式2的隐匿检索系统100的处理。
图63是示出实施方式2的隐匿检索系统100的处理流程的流程图。
(S901)
密钥管理服务器201在用户新加入到公司时、或者由于变动而添加到密钥管理服务器的管理范围中的情况等的时候,执行(7)部分用户秘密密钥生成的处理,对用户发行部分用户秘密密钥。
该部分用户秘密密钥是机密性高的信息,所以使用IC卡等而安全地交给用户。
(S902)
密钥管理服务器201根据用户的属性、期间,制作群组证书,并发送到访问终端301。
该群组证书由于包含有在发行部分用户秘密密钥时所使用的随机数值,所以仅通过与随机数一致的部分用户秘密密钥之间的组合就能够生成用户秘密密钥。因此,只要部分用户秘密密钥被安全地保护,则群组证书经由通信路径进行分发即可,所以分发的成本极其少。
(S903)
访问终端301根据在(S901)中分发的部分用户秘密密钥和在(S902)中分发的群组证书,生成用户秘密密钥。访问终端301使用该用户秘密密钥进行数据的检索、解密。
图64是示出与群组证书相关的属性信息编码列501的例子的图。图64示出了在2007年田中加入到福利单元的时刻发行的与群组证书相关的属性信息编码列501的例子。
在图64所示的例子中,总务科、福利单元的田中被设置了在2007年从事担当职位的标志。因此,根据该群组证书和部分用户秘密密钥生成的用户秘密密钥对应于图64中示出的属性信息编码列501。因此,能够对可利用在属性信息编码列501中指定的属性而阅读的范围的加密数据进行检索、解密。
(S904)
密钥管理服务器201监视用户的属性是否变化。在属性没有变化的情况下不会特别进行任何处理,访问终端301使用在(S903)中生成的用户秘密密钥来利用加密数据。密钥管理服务器201在属性变化了的情况下,使处理返回(S902),生成与新的属性对应的群组证书,并分发给访问终端301。
然后,在(S903)中,访问终端301根据已经分发的部分用户秘密密钥和新的群组证书,生成新的用户秘密密钥。
图65示出从图64中示出的属性开始经过几年而成为2010年时对作为用户的田中发行的群组证书的属性信息编码列501。
在上述状况下,直至成为2010年为止在属性中没有变化而仅有年在流逝。因此,在属性信息编码列501中,仅有期间信息编码列的2008年至2010年的属性值被变更。然后,根据变更了的属性信息编码列501,生成新的群组证书。使用所生成的新的群组证书来生成用户秘密密钥,由此,田中能够以福利单元的担当者的权限,来利用从2007年至2010年制作出的加密数据内的加密数据。
另外,此处虽然进行了省略,但在成为2008年、2009年的时刻,也同样地分发仅延长了期间的群组证书。
图66是示出在2010年中,田中晋级为股长的情况下对作为用户的田中发行的群组证书的属性信息编码列501的图。
在图66中,职位被变更为股长,并且作为期间信息仅设定2010年。这是因为,虽然从2007年开始属于福利科,但从事股长职位的年是2010年,所以利用股长的权限仅能够访问在2010年生成的加密数据。然后,根据该属性信息编码列501,生成新的群组证书。通过使用所生成的新的群组证书来生成用户秘密密钥,能够利用股长的权限来访问在2010年生成的加密数据。另外,关于在2009年以前生成的加密数据,无法利用股长的权限进行访问。
图67是示出在成为2011年的时候田中变动到人事科采用单元的情况下对作为用户的田中发行的群组证书的属性信息编码列501的图。
在图67中,所属被变更为人事科采用单元,并且作为期间信息仅设定了2011年。然后,根据该属性信息编码列501,生成新的群组证书。通过使用所生成的新的群组证书来生成用户秘密密钥,能够访问在2011年由人事科采用单元生成的加密数据。另一方面,关于由总务科福利单元在2011年生成的加密数据,由于未发行设定了其期间信息的群组证书,所以无法进行访问。
但是,在变动到人事科采用单元时,在希望阅读人事科采用单元的过去1年期间的文书的情况下,如图68所示,不仅是期间信息编码列的2011年标志,而且还设置2010年标志,从而还能够访问在2010年制作出的加密数据。
如上所述,隐匿检索系统100通过组合部分用户秘密密钥和群组证书,能够初次构筑用户秘密密钥。由此,仅需要安全地分发部分用户秘密密钥,但无需安全地分发群组证书。因此,例如,隐匿检索系统100能够最初通过IC卡等来安全地分发部分用户秘密密钥,并经由网络配送群组证书。其结果,隐匿检索系统100能够降低群组证书的分发成本,能够在发生人事变动等属性的变更那样的系统中降低其运用成本。
另外,隐匿检索系统100在发行群组证书时,除了所属信息、职位信息以外,还严格地包括赋予了其属性的期间信息。因此,隐匿检索系统100在例如用户变动到了其他部门的情况下,能够进行限制以使无法访问由原来所属的部门新制作出的加密数据。另外,隐匿检索系统100在用户新加入的部门中也能够实现如下控制:以使无法访问过去制作出的加密数据的方式进行限制,并且能够访问在变动后制作出的加密数据。另外,隐匿检索系统100还能够对应于允许访问过去1年制作出的加密数据那样的情况。
另外,在上述说明中,示出了以年为单位来设定期间信息的例子,所以仅能够以1年为单位来控制用户的人事变动所致的访问权限的变更。但是,通过细化期间信息的单位,能够控制更细致的访问权限。
例如,也可以通过将期间信息设为1个月单位,从而在每月1次的人事变动的时候变更访问权限。在该情况下,也经由网络来配送群组证书即可,所以不会增加运用的工时、成本而能够实现。
另外,在上述说明中示出了如下方法:着眼于密钥管理服务器201的属性是固定的、而与此相对用户的属性会变化这一点,将部分用户秘密密钥分割到群组证书而分发用户秘密密钥。但是,在密钥管理服务器201的属性也被变更的情况下,还可以对密钥管理服务器201也发行部分中间秘密密钥和群组证书。生成针对密钥管理服务器201的部分中间秘密密钥和群组证书的方法与生成针对用户的部分用户秘密密钥和群组证书的方法基本上相同。
另外,在上述说明中,在(S701)中生成了全要素固定谓词矢量,但这仅实施1次即可,不用每次都实施。例如,通过在设定系统时生成1次并作为公开参数分发,从而还具有不用对全部用户实施也可以这样的优点。
另外,在上述说明中,根据谓词矢量中的常数部分制作固定谓词矢量,根据可变部分(属性部分)制作可变谓词矢量。但是,并非必须一定要以固定部分和可变部分为边界而分成固定谓词矢量和可变谓词矢量,也可以分成使将固定谓词矢量和可变谓词矢量加起来的结果成为谓词矢量。例如,也可以根据随机地决定了要素的固定谓词矢量来生成秘密密钥(部分用户秘密密钥、部分中间秘密密钥),将从谓词矢量减去固定谓词矢量而得到的结果作为可变谓词矢量,发行群组证书。另外,姓名等固定化了的信息是属性,但也可以包含在固定谓词矢量中。
另外,在上述说明中,在通过式118而生成的群组证书中,利用σjσj’作为在生成中使用的随机数,所以通过与部分用户秘密密钥进行组合,能够复原使用随机数σjσj’来制作的用户秘密密钥。但是,通过代替σjσj’而使用随机数σj+σj’来生成群组证书并与部分用户秘密密钥进行组合,从而还能够复原使用随机数σj+σj’来制作的用户秘密密钥。另外,不仅是随机数σj和随机数σj’,而且也可以使用其他随机数来生成。
接下来,说明上述实施方式中的隐匿检索系统100(密钥管理服务器201、访问终端301、数据中心401)的硬件结构。
图69是示出密钥管理服务器201、访问终端301、数据中心401的硬件结构的一个例子的图。
如图69所示,密钥管理服务器201、访问终端301、数据中心401具备执行程序的CPU 1911(还称为Central Processing Unit(中央处理单元)、中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器)。CPU 1911经由总线1912而与ROM 1913、RAM 1914、LCD 1901(Liquid Crystal Display,液晶显示器)、键盘1902(K/B)、通信板1915、磁盘装置1920连接,并控制这些硬件设备。也可以代替磁盘装置1920(固定盘装置),而使用光盘装置、存储卡读写装置等存储装置。磁盘装置1920经由规定的固定盘接口而被连接。
ROM 1913、磁盘装置1920是非易失性存储器的一个例子。RAM1914是易失性存储器的一个例子。ROM 1913、RAM 1914以及磁盘装置1920是存储装置(存储器)的一个例子。另外,键盘1902、通信板1915是输入装置的一个例子。另外,通信板1915是通信装置(网络接口)的一个例子。而且,LCD 1901是显示装置的一个例子。
在磁盘装置1920或者ROM 1913等中,存储有操作系统1921(OS)、视窗系统1922、程序群1923、文件群1924。由CPU 1911、操作系统1921、视窗系统1922执行程序群1923的程序。
在程序群1923中,存储有执行在上述说明中作为“主密钥生成部202”、“中间秘密密钥生成部203”、“用户秘密密钥生成部204”、“用户属性信息管理部205”、“编码信息生成部206”、“矢量生成部207”、“各种密钥保管部208”、“PKG侧数据发送接收部209”、“部分用户秘密密钥生成部210”、“用户秘密密钥信息管理部211”、“群组证书生成部212”、“用户秘密密钥存储部302”、“陷门生成部303”、“移交用户秘密密钥生成部304”、“数据加密密钥解密部305”、“编码信息生成部306”、“矢量生成部307”、“标签/加密数据加密密钥生成部308”、“数据加密部309”、“数据解密部310”、“终端侧数据发送接收部311”、“部分用户秘密密钥管理部312”、“用户秘密密钥重构部314”、“群组证书管理部313”、“中心侧数据发送接收部402”、“数据管理部403”、“检索要求接收部404”、“检索执行部405”、“检索结果发送部406”等而说明的功能的软件、程序、其他程序。由CPU 1911读出并执行程序。
在文件群1924中,上述说明中的“主密钥”、“公开参数”、“加密数据”、“中间秘密密钥”、“用户秘密密钥”、“部分用户秘密密钥”、“群组证书”、“部分中间秘密密钥”等信息、数据、信号值、变量值、参数作为“文件”、“数据库”的各项目而被存储。“文件”、“数据库”被存储到盘、存储器等记录介质中。盘、存储器等存储介质中存储的信息、数据、信号值、变量值、参数经由读写电路而被CPU 1911读出到主存储器、高速缓存存储器,并被用于抽出、检索、参照、比较、运算、计算、处理、输出、印刷、显示等CPU 1911的动作。在抽出、检索、参照、比较、运算、计算、处理、输出、印刷、显示的CPU 1911的动作的期间,信息、数据、信号值、变量值、参数被临时存储到主存储器、高速缓存存储器、缓冲存储器中。
另外,上述说明中的流程图的箭头的部分主要表示数据、信号的输入输出,数据、信号值被记录到RAM 1914的存储器、其他光盘等记录介质、IC芯片中。另外,通过总线1912、信号线、电缆、其他传送介质、电波,在线传送数据、信号。
另外,在上述说明中说明为“~部”的部分既可以是“~电路”、“~装置”、“~仪器”、“~单元”、“~功能”,另外也可以是“~步骤”、“~过程”、“~处理”。另外,说明为“~装置”的部分既可以是“~电路”、“~仪器”、“~单元”、“~功能”,另外也可以是“~步骤”、“~过程”、“~处理”。而且,说明为“~处理”的部分也可以是“~步骤”。即,说明为“~部”的部分也可以通过ROM 1913中存储的固件来实现。或者,也可以仅通过软件、或者仅通过元件、设备、基板、布线等硬件、或者通过软件与硬件的组合、进而通过与固件的组合来实施。固件和软件作为程序而被存储到ROM 1913等记录介质中。程序被CPU 1911读出并由CPU1911执行。即,程序使计算机等作为以上叙述的“~部”而发挥功能。或者,使计算机等执行以上叙述的“~部”的过程、方法。

Claims (19)

1.一种隐匿检索系统,其特征在于,具备:
加密数据储存装置,储存加密数据;以及
检索装置,从所述加密数据储存装置储存的加密数据中,检索满足规定的检索条件的加密数据,其中,
所述加密数据储存装置具备加密数据储存部,该加密数据储存部将包含密码矢量c1的加密数据储存到存储装置中,其中,该密码矢量c1是针对构成规定的基底B的基底矢量bi(i=1,...,n)(n是2以上的整数)的至少一部分基底矢量将根据表示能够检索的范围的第1属性信息而生成的属性矢量的各要素设定为系数的密码矢量,
所述检索装置具备:
用户秘密密钥存储部,将密钥矢量k L,0存储到存储装置中,其中,该密钥矢量k L,0是针对构成规定的基底B的基底矢量b i(i=1,...,n)的一部分基底矢量将根据表示用户的属性的第2属性信息而生成的第1谓词矢量的各要素设定为所述系数的密钥矢量;
陷门生成部,生成针对在所述用户秘密密钥存储部所存储的密钥矢量k L,0中没有设定所述第1谓词矢量的要素的规定的基底矢量将根据表示所述规定的检索条件的第3属性信息而生成的第2谓词矢量的各要素设定为所述系数的检索条件矢量SV,并通过处理装置,生成将所生成的所述检索条件矢量SV相加到所述密钥矢量k L,0而得到的矢量来作为陷门X;以及
数据发送部,将所述陷门生成部所生成的陷门X经由通信装置发送到所述加密数据储存装置,
所述加密数据储存装置还具备检索执行部,该检索执行部使用所述加密数据储存部储存了的加密数据中包含的密码矢量c1和所述数据发送部发送了的陷门X,通过处理装置来进行规定的运算,根据通过所述规定的运算而得到的结果,判定所述加密数据是否满足所述检索条件,从所述加密数据储存部储存了的加密数据中检索满足所述检索条件的加密数据。
2.根据权利要求1所述的隐匿检索系统,其特征在于,
所述加密数据储存部储存加密数据,其中,该加密数据包括:针对构成所述基底B的基底矢量bi(i=1,...,n,...,N)(N是n+1以上的整数)中的基底矢量bi(i=1,...,n)的至少一部分基底矢量将所述属性矢量的各要素设定为系数、并且针对基底矢量bn+1将信息ρ设定为系数的密码矢量c1;以及利用根据所述信息ρ计算的共用密钥K以规定的密码方式对明文信息m进行加密而得到的密文c2,
所述用户秘密密钥存储部存储针对构成规定的基底B的基底矢量b i(i=1,...,n,...,N)中的基底矢量b i(i=1,...,n)的一部分基底矢量将所述第1谓词矢量的各要素设定为所述系数的密钥矢量k L,0
所述检索装置还具备:
共用密钥取得部,生成将针对基底矢量b n+1把规定的值设定为系数的矢量相加到所述密钥矢量k L,0而得到的矢量来作为解密密钥,使用所述检索执行部检索出的加密数据中包含的密码矢量c1和所生成的解密密钥,通过处理装置来进行所述规定的运算,从而对所述密码矢量c1进行解密而取得共用密钥K;以及
数据解密部,使用所述共用密钥取得部取得的共用密钥K,通过处理装置对所述加密数据中包含的密文c2进行解密,取得明文信息m。
3.根据权利要求1所述的隐匿检索系统,其特征在于,
所述检索装置还具备移交用户秘密密钥生成部,该移交用户秘密密钥生成部在所述密钥矢量k L,0中针对基底矢量b i(i=1,...,n)中的没有设定所述谓词矢量的各要素的基底矢量将规定的值设定为系数,通过处理装置,生成能够检索的范围以及能够解密的范围相比于所述密钥矢量k L,0被限定了的下位的密钥矢量k L+1,0
4.根据权利要求1所述的隐匿检索系统,其特征在于,
所述隐匿检索系统还具备密钥生成装置,
所述密钥生成装置具备:
部分用户秘密密钥生成部,通过处理装置来生成部分密钥矢量pk L,0,其中,该部分密钥矢量pk L,0是关于i=1、...、n中的表示在谓词矢量的要素vi中仅设定了值0或者固定值的固定要素的i,针对基底矢量b i将所述固定值设定为系数的矢量;以及
群组证书生成部,通过处理装置来生成包括第1矢量和第2矢量的群组证书,其中,该第1矢量是关于i=1、...、n中的表示在谓词矢量的要素vi中设定根据属性信息而变化的值的变化要素的i,针对基底矢量b i将根据表示用户的属性的属性信息而生成的谓词矢量的要素vi设定为系数的矢量,该第2矢量是关于表示所述固定要素的i中的在根据表示所述用户的属性的属性信息而生成的谓词矢量的要素vi中设定了值0的i,针对基底矢量b i将所述固定值设定为系数的矢量,
所述检索装置还具备用户秘密密钥重构部,该用户秘密密钥重构部对所述部分用户秘密密钥生成部所生成的部分密钥矢量pk L,0相加所述群组证书生成部所生成的群组证书中包含的第1矢量,并且减去所述群组证书中包含的第2矢量,从而通过处理装置来生成密钥矢量k L,0
所述用户秘密密钥存储部存储所述用户秘密密钥重构部所生成的密钥矢量k L,0
5.根据权利要求4所述的隐匿检索系统,其特征在于,
所述群组证书生成部在用户的属性有变更的情况下,基于根据表示变更后的用户的属性的属性信息而生成的谓词矢量,生成包括所述第1矢量和所述第2矢量的新的群组证书,
所述用户秘密密钥重构部对所述部分密钥矢量pk L,0相加所述新的群组证书中包含的第1矢量,并且减去所述新的群组证书中包含的第2矢量,而生成新的密钥矢量k L,0
6.根据权利要求2所述的隐匿检索系统,其特征在于,
所述加密数据储存部储存包含式1所示的密码矢量c1的加密数据,
所述用户秘密密钥存储部存储式2所示的密钥矢量k L,0
所述陷门生成部生成式3所示的陷门X,
所述检索执行部执行作为所述规定的运算的式4所示的配对运算e(c1,X),
[式1]
&sigma; j &LeftArrow; U F q
c 1 = &Sigma; j &Element; AID &sigma; j ( &Sigma; i &Element; BIj x i b i ) + &rho; b n + 1
此处,
Figure FDA00001882621900043
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AID是对构成第1属性信息的属性分配的属性ID的集合,
BIj是与成为AID中包含的属性ID=j的属性对应的属性矢量的索引编号的集合,
xi是索引编号i的属性矢量的要素,
bi、bn+1是构成基底B的基底矢量,
[式2]
&sigma; j &LeftArrow; U F q
k L , 0 * = &Sigma; j &Element; AID &sigma; j ( &Sigma; i &Element; BIj v i b i * )
此处,
Figure FDA00001882621900046
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AID是对构成第2属性信息的属性分配的属性ID的集合,
BIj是与成为AID中包含的属性ID=j的属性对应的第1谓词矢量的索引编号的集合,
vi是索引编号i的第1谓词矢量的要素,
Figure FDA00001882621900051
是构成基底B的基底矢量,
[式3]
&sigma; L + 1 , j &LeftArrow; U F q
SV = &Sigma; j &Element; AIDL + 1 &sigma; L + 1 , j ( &Sigma; i &Element; BIj v i k L , i * )
X = k L , 0 * + SV
此处,
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AIDL+1是对构成表示检索条件的第3属性信息的属性分配的属性ID的集合,
BIj是与成为AIDL+1中包含的属性ID=j的属性对应的第2谓词矢量的索引编号的集合,
vi是索引编号i的第2谓词矢量的要素,
Figure FDA00001882621900056
是构成基底B的基底矢量,
[式4]
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
7.根据权利要求6所述的隐匿检索系统,其特征在于,
所述用户秘密密钥存储部存储包含所述密钥矢量k L,0和式5所示的密钥生成用矢量k L,h的用户秘密密钥k L
所述检索装置还具备移交用户秘密密钥生成部,该移交用户秘密密钥生成部通过处理装置生成检索范围、能够解密的范围相比于所述密钥矢量k L,0被限定了的、式6所示的下位的密钥矢量k L+1,0
[式5]
&sigma; h , j &LeftArrow; U F q
对于h=n+1或 &ForAll; h &Element; DBI , k L , h * = &Sigma; j &Element; AID &sigma; h , j ( &Sigma; i &Element; BIj v i b i * ) + b h *
k L * = ( k L , 0 * { k L , h * } )
此处,
Figure FDA00001882621900065
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AID是对构成第2属性信息的属性分配的属性ID的集合,
BIj是与成为AID中包含的属性ID=j的属性对应的第1谓词矢量的索引编号的集合,
vi是索引编号i的第1谓词矢量的要素,
Figure FDA00001882621900066
是构成基底B的基底矢量,
DBI是规定的属性ID,
[式6]
&sigma; h , j &LeftArrow; U F q
对于h=0,n+1或 &ForAll; h &Element; DBIL , k L + 1 , h * = k L , h * + &Sigma; j &Element; AIDL + 1 &sigma; h , j ( &Sigma; i &Element; BIj v i k L , i * )
k L + 1 * = ( k L + 1,0 * , { k L + 1 , h * } )
此处,
Figure FDA00001882621900071
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AIDL+1是对追加设定的属性分配的属性ID的集合,
BIj是与成为AIDL+1中包含的属性ID=j的属性对应的追加设定的谓词矢量的索引编号的集合,
vi是索引编号i的追加设定的谓词矢量的要素,
是构成基底B的基底矢量,
DBIL是规定的属性ID。
8.根据权利要求2所述的隐匿检索系统,其特征在于,
所述隐匿检索系统还具备密钥生成装置,
所述密钥生成装置具备:
部分用户秘密密钥生成部,通过处理装置来生成式7所示的部分密钥矢量pk L,0;以及
群组证书生成部,通过处理装置来生成式8所示的群组证书cert L,0
所述检索装置还具备用户秘密密钥重构部,该用户秘密密钥重构部根据所述部分用户秘密密钥生成部所生成的部分密钥矢量pk L,0和所述群组证书生成部所生成的群组证书cert L,0,通过处理装置来生成式9所示的密钥矢量k L,0
所述用户秘密密钥存储部存储所述用户秘密密钥重构部所生成的密钥矢量k L,0
[式7]
&sigma; j &LeftArrow; U F q
pk L , 0 * = &Sigma; j &Element; AID &sigma; j ( &Sigma; i &Element; BIj &cap; BIfix b i * )
此处,
Figure FDA00001882621900081
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AID是对构成第2属性信息的属性分配的属性ID的集合,
BIj是与成为AID中包含的属性ID=j的属性对应的第1谓词矢量的索引编号的集合,
BIfix是表示在谓词矢量的要素中仅设定了值0或者固定值1的固定要素的索引编号,
是构成基底B的基底矢量,
[式8]
&sigma; &prime; j &LeftArrow; U F q
cert L , 0 * = &Sigma; j &Element; AIDL &sigma; j &sigma; &prime; j ( &Sigma; i &Element; BIj &cap; ( BIfix &OverBar; ) v i b i * )
+ &Sigma; j &Element; AIDL ( &sigma; j &sigma; &prime; j - &sigma; j ) ( &Sigma; i &Element; BIj v i = 1 &cap; BIfix b i * )
- &Sigma; j &Element; AIDL &sigma; j ( &Sigma; i &Element; BIj v i = 0 &cap; BIfix b i * ) - &Sigma; j &Element; AID / AIDL &sigma; j ( &Sigma; i &Element; BIj &cap; BIfix b i * )
此处,
Figure FDA00001882621900087
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AID是对构成第2属性信息的属性分配的属性ID的集合,
AIDL是对所设定的属性分配的属性ID的集合,
AID\AIDL是从AID去除AIDL后的属性ID的集合,
BIj是与成为AIDL或者AID\AIDL中包含的属性ID=j的属性对应的第1谓词矢量的索引编号的集合,
BIfix是表示在谓词矢量的要素中仅设定了值0或者固定值1的固定要素的索引编号,
vi是索引编号i的第1谓词矢量的要素,
是构成基底B的基底矢量,
[式9]
k L , 0 * = pk L , 0 * + cert L , 0 * .
9.根据权利要求2所述的隐匿检索系统,其特征在于,
所述隐匿检索系统还具备密钥生成装置,
所述密钥生成装置具备:
密钥存储部,将式10所示的中间秘密密钥k L-1存储到存储装置中;
部分用户秘密密钥生成部,根据所述密钥存储部所存储的中间秘密密钥k L-1,通过处理装置来生成式11所示的部分密钥矢量pk L,0;以及
群组证书生成部,生成式12所示的群组证书cert L,0
所述检索装置还具备用户秘密密钥重构部,该用户秘密密钥重构部通过处理装置来生成式13所示的密钥矢量k L,0
所述用户秘密密钥存储部存储所述用户秘密密钥重构部所生成的密钥矢量k L,0
[式10]
&sigma; j , &sigma; h , j &LeftArrow; U F q
k L - 1,0 * = &Sigma; j &Element; AID &sigma; j ( &Sigma; i &Element; BIj v i b i * )
对于h=n+1或 &ForAll; h &Element; DBI , k L - 1 , h * = &Sigma; j &Element; AID &sigma; h , j ( &Sigma; i &Element; BIj v i b i * ) + b n *
k L - 1 * = ( k L - 1,0 * , { k L - 1 , h * } )
此处,
Figure FDA00001882621900101
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AID是对构成属性信息的属性分配的属性ID的集合,
BIj是与成为AID中包含的属性ID=j的属性对应的谓词矢量的索引编号的集合,
vi是索引编号i的谓词矢量的要素,
Figure FDA00001882621900102
是构成基底B的基底矢量,
DBI是规定的属性ID,
[式11]
&sigma; j &LeftArrow; U F q
pk L , 0 * = k L - 1,0 * + &Sigma; j &Element; AID \ AIDL - 1 &sigma; j ( &Sigma; i &Element; BIj &cap; BIfix k L - 1 , i * )
此处,
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AID是对构成属性信息的属性分配的属性ID的集合,
AIDL-1是对已经利用中间秘密密钥k L-1决定了的属性分配的属性ID的集合,
AID\AIDL-1是从AID去除AIDL-1后的属性ID的集合,
BIj是与成为AID\AIDL-1中包含的属性ID=j的属性对应的谓词矢量的索引编号的集合,
BIfix是表示在谓词矢量的要素中仅设定了值0或者固定值1的固定要素的索引编号,
[式12]
&sigma; &prime; j &LeftArrow; U F q
cert L , 0 * = &Sigma; j &Element; AIDL &sigma; j &sigma; &prime; j ( &Sigma; i &Element; BIj &cap; ( BIfix &OverBar; ) v i k L - 1 , i * )
+ &Sigma; j &Element; AIDL ( &sigma; j &sigma; &prime; j - &sigma; j ) ( &Sigma; i &Element; BIj v i = 1 &cap; BIfix k L - 1 , i * )
- &Sigma; j &Element; AIDL &sigma; j ( &Sigma; i &Element; BIj v i = 0 &cap; BIfix k L - 1 , i * ) - &Sigma; j &Element; AID / AIDL &sigma; j ( &Sigma; i &Element; BIj &cap; BIfix k L - 1 , i * )
此处,
Figure FDA00001882621900115
表示从A均匀地选择y,
Fq={0,1,…,q-1},
AIDL是对所设定的属性分配的属性ID的集合,
AID是对构成属性信息的属性分配的属性ID的集合,
AIDL-1是对已经利用中间秘密密钥k L-1决定了的属性分配的属性ID的集合,
AID\AIDL-1是从AID去除AIDL-1后的属性ID的集合,
BIj是与成为AIDL或者AID\AIDL-1中包含的属性ID=j的属性对应的第1谓词矢量的索引编号的集合,
BIfix是表示在谓词矢量的要素中仅设定了值0或者固定值1的固定要素的索引编号,
vi是索引编号i的谓词矢量的要素,
[式13]
k L , 0 * = pk L , 0 * + cert L , 0 * .
10.一种密码处理系统,其特征在于,
在属性矢量与谓词矢量的内积是规定的值的情况下,使用根据所述属性矢量生成的密码矢量c1和根据所述谓词矢量生成的解密密钥来进行规定的运算,从而进行能够解密所述密码矢量c1的谓词密码处理,且所述密码处理系统具备密钥生成装置和解密装置,其中,
所述密钥生成装置具备:
部分用户秘密密钥生成部,通过处理装置来生成部分密钥矢量pk L,0,其中,该部分密钥矢量pk L,0是关于i=1、...、n(n是2以上的整数)中的表示在谓词矢量的要素vi中仅设定了值0或者固定值的固定要素的i,针对构成规定的基底B的基底矢量b i(i=1,...,n)的基底矢量b i将所述固定值设定为系数的矢量;以及
群组证书生成部,通过处理装置来生成包括第1矢量和第2矢量的群组证书,其中,该第1矢量是关于i=1、...、n中的表示在谓词矢量的要素vi中设定了根据属性信息而变化的值的变化要素的i,针对构成所述规定的基底B的基底矢量b i将根据用户的属性而生成的谓词矢量的要素vi设定为系数的矢量;该第2矢量是关于表示所述固定要素的i中的在根据所述用户的属性而生成的谓词矢量的要素vi中设定了值0的i,针对基底矢量b i将所述固定值设定为系数的矢量,
所述检索装置具备:
用户秘密密钥重构部,对所述部分用户秘密密钥生成部所生成的部分密钥矢量pk L,0相加所述群组证书生成部所生成的群组证书中包含的第1矢量,并且减去所述群组证书中包含的第2矢量,从而通过处理装置来生成密钥矢量k L,0;以及
解密部,使用密码矢量c1和根据所述用户秘密密钥重构部所生成的密钥矢量k L,0而生成的所述解密密钥,通过处理装置来进行所述规定的运算,从而对所述密码矢量c1进行解密。
11.根据权利要求10所述的密码处理系统,其特征在于,
所述群组证书生成部在用户的属性有变更的情况下,基于根据表示变更后的用户的属性的属性信息而生成的谓词矢量,生成新的群组证书,
所述用户秘密密钥重构部对所述部分密钥矢量pk L,0相加所述新的群组证书中包含的第1矢量,并且减去所述新的群组证书中包含的第2矢量,而生成新的密钥矢量k L,0
12.一种密码处理系统,其特征在于,
在属性矢量与谓词矢量的内积是规定的值的情况下,使用根据所述属性矢量生成的密文和根据所述谓词矢量生成的解密密钥来进行规定的运算,从而进行能够解密所述密文的谓词密码处理,且所述密码处理系统具备:加密装置,生成密文;以及解密装置,对所述加密装置所生成的密文进行解密,其中,
所述加密装置具备:
第1编码信息生成部,在多个属性项目的各属性项目被分配了的编码列的各项目中,设定对能够解密密文的用户进行限定的属性信息,其中该属性信息是与对其项目分配的属性项目对应的属性信息,并且,在没有设定所述属性信息的编码列的项目中设定规定的信息,从而通过处理装置来生成第1编码信息;
属性矢量生成部,根据所述第1编码信息生成部所生成的第1编码信息,通过处理装置来生成属性矢量的各要素,并且,将所述第1编码信息中的与设定了所述规定的信息的项目对应的属性矢量的要素设为值0;以及
加密数据生成部,根据所述属性矢量设定部所生成的属性矢量的要素,通过处理装置来生成密文,
所述解密装置具备:
密钥存储部,将根据分配了表示使用解密密钥的用户的属性的属性信息的谓词矢量而生成的解密密钥存储到存储装置中;以及
解密部,使用所述加密装置的所述加密数据生成部所生成的密文和所述密钥存储部所存储的解密密钥,通过处理装置进行所述规定的运算,从而对所述密文进行解密。
13.根据权利要求12所述的密码处理系统,其特征在于,
所述密码处理系统还具备密钥生成装置,该密钥生成装置生成成为所述解密密钥的源的用户秘密密钥,
所述密钥生成装置具备:
第2编码信息生成部,在所述编码列的各项目中,设定表示使用解密密钥的用户的属性的属性信息,其中该属性信息是与对其项目分配的属性项目对应的属性信息,并且,在没有设定所述属性信息的编码列的项目中设定规定的信息,从而通过处理装置来生成第2编码信息;
谓词矢量生成部,根据所述第2编码信息生成部所生成的第2编码信息,通过处理装置来生成谓词矢量的各要素,并且,将所述第2编码信息中的与设定了所述规定的信息的项目对应的谓词矢量的要素设为值0;以及
用户秘密密钥生成部,根据所述谓词矢量生成部所生成的谓词矢量的要素,通过处理装置来生成用户秘密密钥,
所述解密装置的所述密钥存储部存储根据所述密钥生成装置的所述用户秘密密钥生成部所生成的用户秘密密钥而生成的解密密钥。
14.根据权利要求13所述的密码处理系统,其特征在于,
限于对所述编码列的规定的项目t1、...、tm(m≥2)设定的所述第1编码信息a1、...、am和对所述编码列的所述规定的项目t1、...、tm设定的所述第2编码信息b1、...,bm针对i=1、...、m的所有的i成为bi=ai的情况,在将所述属性矢量与所述谓词矢量的内积设为所述规定的值的情况下,
在所述属性矢量生成部中,生成1、-a1、...、1、-am或者1、a1、...、1、am作为与所述第1编码信息a1、...、am对应的属性矢量的要素,并且在所述第1编码信息a1、...、am中包括设定了规定的信息的项目的情况下,生成0、0作为与该项目对应的属性矢量的要素,
在所述谓词矢量生成部中,在所述属性矢量生成部生成了1、-a1、...、1、-am的情况下生成b1、1、...、bm、1作为与所述第2编码信息b1、...、bm对应的属性矢量的要素,在所述属性矢量生成部生成了1、a1、...、1、am的情况下生成-b1、1、...、-bm、1作为与所述第2编码信息b1、...、bm对应的属性矢量的要素,并且在所述第2编码信息b1、...、bm中包括设定了规定的信息的项目的情况下,生成0、0作为与该项目对应的属性矢量的要素。
15.一种密码处理系统,其特征在于,
在属性矢量与谓词矢量的内积是规定的值的情况下,使用根据所述属性矢量生成的密文和根据所述谓词矢量生成的解密密钥来进行规定的运算,从而进行能够解密所述密文的谓词密码处理,且所述密码处理系统具备:加密装置,生成密文;密钥生成装置,生成所述解密密钥;以及解密装置,利用所述密钥生成装置生成的解密密钥,对所述加密装置生成的密文进行解密,其中,
所述加密装置具备:
第1编码信息生成部,在多个属性的各属性被分配了的编码列的项目t1、...、tm(m≥2)中的分配了与能够解密密文的用户的属性相应的属性的项目中,设定表示相应的相应值,并且在没有设定所述相应值的编码列的项目中设定随机数R,从而通过处理装置来生成第1编码信息a1、...、am
属性矢量生成部,根据所述第1编码信息生成部所生成的第1编码信息a1、...、am,通过处理装置来生成属性矢量的要素x1、...、xn;以及
加密数据生成部,根据所述属性矢量设定部所生成的属性矢量的要素x1、...、xn,通过处理装置来生成密文,
所述密钥生成装置具备:
第2编码信息生成部,在编码列的所述各项目t1、...、tm中的分配了与使用解密密钥的用户的属性相应的属性的项目中,设定所述相应值,并且在没有设定所述相应值的编码列的项目中设定规定的信息,从而通过处理装置来生成第2编码信息b1、...、bm
谓词矢量生成部,根据所述第2编码信息生成部所生成的第2编码信息b1、...、bm,通过处理装置来生成谓词矢量的要素v1、...、vn,并且,将所述第2编码信息b1、...、bm中的与设定了所述规定的信息的项目对应的谓词矢量的要素生成为值0;以及
用户秘密密钥生成部,根据所述谓词矢量生成部所生成的谓词矢量的要素v1、...、vn,通过处理装置来生成所述用户秘密密钥,
所述解密装置具备解密部,该解密部使用所述加密装置的所述加密数据生成部所生成的密文和基于所述密钥生成装置的所述用户秘密密钥生成部所生成的用户秘密密钥的解密密钥,通过处理装置进行所述规定的运算,从而对所述密文进行解密。
16.根据权利要求15所述的密码处理系统,其特征在于,
在所述属性矢量生成部中,生成1、-a1、...、1、-am或者1、a1、...、1、am作为与所述第1编码信息a1、...、am对应的属性矢量的要素,
在所述谓词矢量生成部中,在所述属性矢量生成部生成了1、-a1、...、1、-am的情况下生成b1、1、...、bm、1作为与所述第2编码信息b1、...、bm对应的属性矢量的要素,在所述属性矢量生成部生成了1、a1、...、1、am的情况下生成-b1、1、...、-bm、1作为与所述第2编码信息b1、...、bm对应的属性矢量的要素,并且,在所述第2编码信息b1、...、bm中包括设定了规定的信息的项目的情况下,生成0、0作为与该第2编码信息对应的属性矢量的要素。
17.一种密码处理系统,其特征在于,
在属性矢量与谓词矢量的内积是规定的值的情况下,使用根据所述属性矢量生成的密文和根据所述谓词矢量生成的解密密钥来进行规定的运算,从而进行能够解密所述密文的谓词密码处理,且所述密码处理系统具备:加密装置,生成密文;密钥生成装置,生成所述解密密钥;以及解密装置,利用所述密钥生成装置所生成的解密密钥,对所述加密装置所生成的密文进行解密,
所述加密装置具备:
第1编码信息生成部,在多个属性的各属性被分配了的编码列的项目t1、...、tm(m≥2)中的分配了与能够解密密文的用户的属性相应的属性的项目中,设定表示相应的相应值,并且在没有设定所述相应值的编码列的项目中设定随机数R,从而通过处理装置来生成第1编码信息a1、...、am
属性矢量生成部,根据所述第1编码信息生成部所生成的第1编码信息a1、...、am,通过处理装置来生成属性矢量的要素x1、...、xn;以及
加密数据生成部,根据所述属性矢量设定部所生成的属性矢量的要素x1、...、xn,通过处理装置来生成密文,
所述密钥生成装置具备:
第2编码信息生成部,在编码列的所述各项目t1、...、tm中的分配了与使用解密密钥的用户的属性相应的属性信息的项目中,设定所述相应值,并且在没有设定所述相应值的编码列的项目中设定随机数R,从而通过处理装置来生成第2编码信息b1、...、bm
谓词矢量生成部,根据所述第2编码信息生成部所生成的第2编码信息b1、...、bm,通过处理装置来生成谓词矢量的要素v1、...、vn;以及
用户秘密密钥生成部,根据所述谓词矢量生成部所生成的谓词矢量的要素v1、...、vn,生成所述用户秘密密钥,
所述解密装置具备解密部,该解密部使用所述加密装置的所述加密数据生成部所生成的密文和基于所述密钥生成装置的所述用户秘密密钥生成部所生成的用户秘密密钥的解密密钥,通过处理装置进行所述规定的运算,从而对所述密文进行解密。
18.根据权利要求17所述的密码处理系统,其特征在于,
在所述属性矢量生成部中,根据对(b1-a1)×...×(bm-am)进行展开而得到的各项,生成与ai(i=1,...,m)相关的值而作为与所述第1编码信息a1、...、am对应的属性矢量的要素,
在所述谓词矢量生成部中,根据对(b1-a1)×...×(bm-am)进行展开而得到的各项,生成与bi(i=1,...,m)相关的值而作为与所述第2编码信息b1、...、bm对应的属性矢量的要素。
19.一种密码处理系统,其特征在于,
在属性矢量与谓词矢量的内积是规定的值的情况下,使用根据所述属性矢量生成的密文和根据所述谓词矢量生成的解密密钥来进行规定的运算,从而进行能够解密所述密文的谓词密码处理,且所述密码处理系统具备:加密装置,生成密文;以及解密装置,对所述加密装置所生成的密文进行解密,
所述加密装置具备:
第1编码信息生成部,在具备对开始年月进行设定的开始年月编码列、对结束年月进行设定的结束年月编码列以及对所述开始年月与所述结束年月之间的年进行设定的中间年编码列的期间信息编码列中设定密文的设定年月,从而通过处理装置来生成第1编码信息,其中,所述开始年月编码列具有对开始年进行设定的开始年设定列和对各月的信息进行设定的12个开始月设定列,所述结束年月编码列具有对结束年进行设定的结束年设定列和对各月的信息进行设定的12个结束月设定列,所述第1编码信息生成部在所述开始年设定列、所述结束年设定列以及所述中间年设定列中设定加密的数据的制作年,并且在所述开始月设定列和所述结束月设定列中设定所述数据的制作月;
属性矢量生成部,根据所述第1编码信息生成部所生成的第1编码信息,通过处理装置来生成属性矢量的各要素;以及
加密数据生成部,根据所述属性矢量设定部所生成的属性矢量的要素,对所述数据进行加密,从而通过处理装置来生成密文,
所述密钥生成装置具备:
第2编码信息生成部,通过处理装置,生成在所述期间信息编码列中分配了使用解密密钥的用户能够解密的年月的第2编码信息,且所述第2编码信息生成部在所述开始年设定列中设定所述能够解密的年月的开始年,并且在所述开始月设定列中设定开始月,在所述结束年设定列中设定所述能够解密的年月的结束年,并且在所述结束月设定列中设定结束月,在所述中间年设定列中设定所述能够解密的年月的开始年与结束年之间的年;
谓词矢量生成部,根据所述第2编码信息生成部所生成的第2编码信息,通过处理装置来生成谓词矢量的各要素;以及
用户秘密密钥生成部,根据所述谓词矢量生成部所生成的谓词矢量,通过处理装置来生成所述用户秘密密钥,
所述解密装置具备解密部,该解密部使用所述加密装置的所述加密数据生成部所生成的密文和基于所述密钥生成装置的所述用户秘密密钥生成部所生成的用户秘密密钥的解密密钥,通过处理装置来进行所述规定的运算,从而对所述密文进行解密。
CN201080061360.2A 2010-01-15 2010-01-15 隐匿检索系统以及密码处理系统 Active CN102713995B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/050419 WO2011086687A1 (ja) 2010-01-15 2010-01-15 秘匿検索システム及び暗号処理システム

Publications (2)

Publication Number Publication Date
CN102713995A true CN102713995A (zh) 2012-10-03
CN102713995B CN102713995B (zh) 2015-06-24

Family

ID=44303991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080061360.2A Active CN102713995B (zh) 2010-01-15 2010-01-15 隐匿检索系统以及密码处理系统

Country Status (5)

Country Link
US (1) US8615668B2 (zh)
EP (1) EP2525340B1 (zh)
JP (1) JP5269210B2 (zh)
CN (1) CN102713995B (zh)
WO (1) WO2011086687A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014083784A1 (ja) * 2012-11-30 2014-06-05 日本電気株式会社 暗号システム、データ保存システム、それに用いる装置および方法
CN104798339A (zh) * 2013-01-12 2015-07-22 三菱电机株式会社 密钥生成装置、密钥生成程序、隐匿检索系统和密钥发布方法
CN105830133B (zh) * 2013-12-11 2019-03-12 三菱电机株式会社 文件保管系统及用户终端
CN110140161A (zh) * 2017-01-12 2019-08-16 三菱电机株式会社 加密标签生成装置、检索查询生成装置和隐匿检索系统
CN111587452A (zh) * 2018-01-17 2020-08-25 三菱电机株式会社 登记装置、检索操作装置、数据管理装置、登记程序、检索操作程序和数据管理程序
CN111712868A (zh) * 2017-12-19 2020-09-25 日本电信电话株式会社 检索装置、检索方法、程序以及记录介质
CN112074889A (zh) * 2018-05-15 2020-12-11 三菱电机株式会社 隐匿检索装置和隐匿检索方法
CN113595721A (zh) * 2020-04-30 2021-11-02 比亚迪股份有限公司 密钥管理方法和密钥管理装置及车辆和计算机存储介质

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011062136A1 (ja) * 2009-11-20 2011-05-26 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5334873B2 (ja) * 2010-01-08 2013-11-06 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5441726B2 (ja) * 2010-01-14 2014-03-12 三菱電機株式会社 情報処理システム及び管理装置及びサーバ装置及び情報処理装置
WO2012095973A1 (ja) 2011-01-13 2012-07-19 三菱電機株式会社 データ処理装置及びデータ保管装置
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
US9135460B2 (en) * 2011-12-22 2015-09-15 Microsoft Technology Licensing, Llc Techniques to store secret information for global data centers
JP5667969B2 (ja) * 2011-12-22 2015-02-12 株式会社日立製作所 検索処理システムおよび部分一致検索方法
JP5651609B2 (ja) * 2012-01-23 2015-01-14 日本電信電話株式会社 検索可能暗号システム、検索装置、計算装置、及びプログラム
CN104081390B (zh) * 2012-01-25 2017-11-03 三菱电机株式会社 数据检索装置、数据检索方法、数据检索程序、数据登记装置、数据登记方法、数据登记程序以及信息处理装置
US20140331338A1 (en) * 2012-02-09 2014-11-06 Hitachi, Ltd. Device and method for preventing confidential data leaks
JP5680007B2 (ja) 2012-03-06 2015-03-04 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
CN110086830B (zh) * 2012-08-15 2022-03-04 维萨国际服务协会 可搜索的经加密的数据
JP5921410B2 (ja) * 2012-10-19 2016-05-24 三菱電機株式会社 暗号システム
US10007803B2 (en) * 2012-10-26 2018-06-26 Infosys Limited Searching over encrypted keywords in a database
EP2731040B1 (en) * 2012-11-08 2017-04-19 CompuGroup Medical SE Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
JP5959667B2 (ja) * 2013-01-18 2016-08-02 三菱電機株式会社 データ復号装置、属性ベース暗号システム、乱数要素除去装置、データ復号方法およびデータ復号プログラム
KR101422759B1 (ko) 2013-02-04 2014-07-23 순천향대학교 산학협력단 데이터 위탁 환경에서 결탁을 방지하는 데이터 저장 및 공유 방법
JP5963936B2 (ja) 2013-02-25 2016-08-03 三菱電機株式会社 サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム
US9712320B1 (en) * 2013-06-11 2017-07-18 EMC IP Holding Company LLC Delegatable pseudorandom functions and applications
WO2014203339A1 (ja) * 2013-06-18 2014-12-24 株式会社日立製作所 保持数検証システム
US10122714B2 (en) 2013-08-01 2018-11-06 Bitglass, Inc. Secure user credential access system
US9047480B2 (en) * 2013-08-01 2015-06-02 Bitglass, Inc. Secure application 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 株式会社日立製作所 検索可能暗号処理システム及び方法
US10382194B1 (en) 2014-01-10 2019-08-13 Rockwell Collins, Inc. Homomorphic encryption based high integrity computing system
IN2014CH00681A (zh) * 2014-02-13 2015-08-14 Infosys Ltd
GB2531770A (en) * 2014-10-30 2016-05-04 Ibm Confidential Extracting System Internal Data
CN107005406B (zh) * 2014-12-05 2020-07-17 三菱电机株式会社 函数型加密系统、主密钥更新装置和存储介质
EP3032453B1 (en) * 2014-12-08 2019-11-13 eperi GmbH Storing data in a server computer with deployable encryption/decryption infrastructure
US9438412B2 (en) * 2014-12-23 2016-09-06 Palo Alto Research Center Incorporated Computer-implemented system and method for multi-party data function computing using discriminative dimensionality-reducing mappings
JP6348072B2 (ja) * 2015-02-09 2018-06-27 日本電信電話株式会社 暗号システム、属性管理装置、および鍵生成方法
JP6441160B2 (ja) * 2015-04-27 2018-12-19 株式会社東芝 秘匿化装置、復号装置、秘匿化方法および復号方法
WO2016181904A1 (ja) * 2015-05-14 2016-11-17 日本電信電話株式会社 データベースシステム、データベース処理方法
JP6557338B2 (ja) * 2015-06-16 2019-08-07 株式会社日立製作所 類似性秘匿検索システム、類似性秘匿検索方法
JP6600203B2 (ja) * 2015-09-15 2019-10-30 キヤノン株式会社 情報処理装置、情報処理方法、コンテンツ管理システム、およびプログラム
US10219126B2 (en) * 2015-11-14 2019-02-26 At&T Mobility Ii Llc Personalized management of connected devices
US10372926B1 (en) * 2015-12-21 2019-08-06 Amazon Technologies, Inc. Passive distribution of encryption keys for distributed data stores
US10833841B2 (en) * 2016-07-13 2020-11-10 Sap Se Leakage-free order-preserving encryption
FR3057123A1 (fr) * 2016-09-30 2018-04-06 Orange Procede et systeme de detection d'intrusions sur un reseau
EP3920040A1 (en) 2016-12-23 2021-12-08 CompuGroup Medical SE & Co. KGaA Offline preparation for bulk inserts
US10649919B2 (en) * 2017-01-16 2020-05-12 Panasonic Intellectual Property Corporation Of America Information processing method and information processing system
KR101982237B1 (ko) 2017-03-06 2019-05-24 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
CN110612563B (zh) 2017-05-18 2023-05-12 三菱电机株式会社 检索装置、隐匿检索系统以及计算机能读取的存储介质
EP3675086B1 (en) * 2017-09-12 2021-10-27 Mitsubishi Electric Corporation Registration terminal, search terminal, search server, search system, registration program, and search program
US10678621B2 (en) * 2017-10-03 2020-06-09 Servicenow, Inc. System error codes for edge encryption
US11216433B2 (en) 2019-12-12 2022-01-04 Google Llc Encrypted search with no zero-day leakage
US11429736B2 (en) 2020-02-17 2022-08-30 International Business Machines Corporation Encryption management
US11303618B2 (en) 2020-02-17 2022-04-12 International Business Machines Corporation Encryption management
CN117651983A (zh) 2021-07-27 2024-03-05 三菱电机株式会社 检索执行装置、检索执行方法、检索执行程序和隐匿检索系统

Family Cites Families (10)

* 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 文書管理システム
WO2003017559A2 (en) 2001-08-13 2003-02-27 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
US7620625B2 (en) 2004-05-20 2009-11-17 Ntt Docomo, Inc. Method and apparatus for communication efficient private information retrieval and oblivious transfer
JP4722620B2 (ja) 2005-08-19 2011-07-13 Kddi株式会社 暗号化文書検索方法および暗号化文書検索システム
JP2008176040A (ja) 2007-01-18 2008-07-31 Hirokazu Ogi 鍵管理方法、鍵生成方法、暗号処理方法、復号権限委譲方法、通信ネットワークシステム
JP2008288837A (ja) 2007-05-17 2008-11-27 Hirokazu Ogi 鍵管理方法、鍵生成方法、暗号処理方法、復号処理方法、アクセス管理方法、通信ネットワークシステム
CN101911582B (zh) 2008-01-18 2012-09-05 三菱电机株式会社 密码参数设定装置、密钥生成装置、密码系统、密码参数设定方法和密钥生成方法
JP2010054875A (ja) 2008-08-29 2010-03-11 Mitsubishi Electric Corp 演算装置、復号装置、暗号化装置、情報共有システム、2dnf演算システム、署名生成装置、署名検証装置、署名処理システム、署名検証システム、演算方法及び演算プログラム
JP5349261B2 (ja) 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
WO2011062136A1 (ja) 2009-11-20 2011-05-26 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014083784A1 (ja) * 2012-11-30 2014-06-05 日本電気株式会社 暗号システム、データ保存システム、それに用いる装置および方法
CN104798339A (zh) * 2013-01-12 2015-07-22 三菱电机株式会社 密钥生成装置、密钥生成程序、隐匿检索系统和密钥发布方法
CN105830133B (zh) * 2013-12-11 2019-03-12 三菱电机株式会社 文件保管系统及用户终端
CN110140161A (zh) * 2017-01-12 2019-08-16 三菱电机株式会社 加密标签生成装置、检索查询生成装置和隐匿检索系统
CN110140161B (zh) * 2017-01-12 2023-02-17 三菱电机株式会社 加密标签生成装置、检索查询生成装置和隐匿检索系统
CN111712868A (zh) * 2017-12-19 2020-09-25 日本电信电话株式会社 检索装置、检索方法、程序以及记录介质
CN111712868B (zh) * 2017-12-19 2023-08-08 日本电信电话株式会社 检索装置、检索方法、以及记录介质
CN111587452A (zh) * 2018-01-17 2020-08-25 三菱电机株式会社 登记装置、检索操作装置、数据管理装置、登记程序、检索操作程序和数据管理程序
CN111587452B (zh) * 2018-01-17 2023-03-31 三菱电机株式会社 登记装置、检索操作装置、数据管理装置和计算机能读取的存储介质
CN112074889A (zh) * 2018-05-15 2020-12-11 三菱电机株式会社 隐匿检索装置和隐匿检索方法
CN112074889B (zh) * 2018-05-15 2023-07-04 三菱电机株式会社 隐匿检索装置和隐匿检索方法
CN113595721A (zh) * 2020-04-30 2021-11-02 比亚迪股份有限公司 密钥管理方法和密钥管理装置及车辆和计算机存储介质

Also Published As

Publication number Publication date
US8615668B2 (en) 2013-12-24
JP5269210B2 (ja) 2013-08-21
US20120297201A1 (en) 2012-11-22
EP2525340A1 (en) 2012-11-21
EP2525340A4 (en) 2017-07-19
WO2011086687A1 (ja) 2011-07-21
EP2525340B1 (en) 2018-06-06
CN102713995B (zh) 2015-06-24
JPWO2011086687A1 (ja) 2013-05-16

Similar Documents

Publication Publication Date Title
CN102713995B (zh) 隐匿检索系统以及密码处理系统
CN102687133B (zh) 用于可信计算和数据服务的无容器数据
EP1714423B1 (en) Secret information management scheme based on secret sharing scheme
CN109784931B (zh) 一种基于区块链的数据查询平台的查询方法
CN103329184B (zh) 数据处理装置以及数据保管装置
JP6054790B2 (ja) 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
US7861096B2 (en) Method, apparatus, and program product for revealing redacted information
CN102236766B (zh) 安全的数据项级数据库加密方法
CN101166089B (zh) 秘密信息管理设备与秘密信息管理系统
US7865742B2 (en) Method, apparatus, and program product for enabling access to flexibly redacted content
CN112313683A (zh) 离线存储系统及使用方法
Ogiela et al. Secure information management using linguistic threshold approach
CN102687132A (zh) 用于可信计算和数据服务的可信的可扩展标记语言
CN107005408A (zh) 公共密钥加密系统
CN107077469A (zh) 服务器装置、检索系统、终端装置、检索方法、服务器程序以及终端程序
CN1918844B (zh) 基于保密共享方案的保密信息管理系统和方法
US10594473B2 (en) Terminal device, database server, and calculation system
KR101553986B1 (ko) 분산 데이터 저장, 복원 시스템 및 방법
JP2013150026A (ja) データ処理システム及び秘匿化装置及び秘密鍵生成装置及び秘匿化方法及び秘密鍵生成方法及びプログラム
Mandal Reversible steganography and authentication via transform encoding
JP7350220B2 (ja) 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム
US11874950B1 (en) Protecting membership for secure computation and communication
US11829512B1 (en) Protecting membership in a secure multi-party computation and/or communication
JP2019101392A (ja) 照合システム
US11886617B1 (en) Protecting membership and data in a secure multi-party computation and/or communication

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