前言 随着越来越多的数据以电子的形式被收集、存储,许多企业开始难以承受海量数据管理和维护带来的人力、财力、物力等巨大开销,转而希望将自己的海量数据委托给一个既能提供基本的、可靠的硬件基础设施,又能提供专业数据管理的第三方服务提供者存储、管理和维护。数据库服务作为一种新的基于云计算平台的网络数据管理模式满足了企业的这种需求,并可以提供像本地数据库一样的数据管理服务。然而,越来越多的数据涉及敏感信息,如医疗记录、交易信息、证券信息、财务信息等,此外,企业间的竞争以及数据库隐私数据窃取或泄漏促使企业必须选择具有安全和隐私保护能力的网络数据管理技术。有关数据库服务中安全技术的研究已有多年,但大多在数据的机密性、数据的完整性、数据的完备性、查询隐私保护等方面对数据库服务进行研究,而对隐私保护机制,如提高密文数据库可用性的访问控制增强、保护用户和策略隐私的访问控制增强等方面研究较少。本书主要从以下几个方面论述基于密码技术的访问控制增强,实现数据库服务模式下隐私增强的访问控制机制。1 数据库加密:① 采用不同的加密机制加密数据库数据,如对称加密、非对称加密、代理加密、基于属性的加密、谓词加密等; ② 设置不同的加密粒度,如文件级、表级、元组级、属性级;③ 设置不同的加密层次,如存储层加密、数据库层加密、应用层加密。2 基于属性加密的访问控制增强: 访问控制策略根据合法用户属性的特性描述,而不是消费者用户的真实身份等,再有就是能够访问数据特定区块的授权消费者用户列表也是不能事先知道的。特别是基于属性的访问授权,提供了更好的表达性和可控性。3 基于谓词加密的访问控制增强: 在第三方提供外包管理服务的数据库服务场景中,数据库所有者可能想定义一个策略来决定谁可以恢复秘密数据。如分类的数据可能和特定的关键词关联,这些数据可以被允许阅读所有类信息的用户访问,也可以被允许阅读和特定关键词关联的用户访问,再如,医疗外包数据能被具有不同访问许可的医生、个人或疾病研究机构访问。在第三方服务提供者仅提供检索转发服务的应用中,邮件转发服务器只需要检测加密的邮件是否满足用户查询的邮件关键词,而不需要知道加密的邮件内容。谓词加密作为一种新的密码学机制提供了密文数据上细粒度的访问控制。4 基于密码提交协议的访问控制增强: 实现了在数据库服务提供者端增强数据库拥有者的访问控制策略,同时也保证了用户身份和委托访问控制策略的隐私。该机制利用密码学中被证明是无条件隐藏的Pedersen协议来保证用户身份属性的隐私; 分别用根据访问控制策略的选择加密和根据委托访问控制策略的选择加密来增强数据库拥有者端和数据库服务提供者端的选择访问授权。5 基于密文策略属性集合加密的访问控制增强: 采用基于密文策略属性集合加密和数据库服务提供者再加密相融合的方法实现。提出的机制实现了多重隐私保证下的访问控制增强: 委托数据中的数据隐私、委托授权表中的策略隐私和密钥分布过程中的密钥隐私。
第3章基于谓词加密的访问控制增强传统的公钥加密是粗粒度加密: 一个发送者根据一个公钥加密信息M为密文C,那么只有和公钥关联的私钥所有者才能解密C,恢复M。这种加密机制足以解决点对点信息通信安全访问控制问题,即机密的数据只发送给已知的接收者。然而在第三方提供外包管理服务的数据库服务场景中,数据库所有者可能想定义一个策略来决定谁可以恢复秘密数据。如分类的数据可能和特定的关键词关联,这些数据可以被允许阅读所有类信息的用户访问,也可以被允许阅读和特定关键词关联的用户访问。再如,医疗外包数据能被具有不同访问许可的医生、个人或疾病研究机构访问。在第三方服务提供者仅提供检索转发服务的应用中,邮件转发服务器只需要检测加密的邮件是否满足用户查询的邮件关键词,而不需要知道加密的邮件内容。谓词加密Predicate Encryption[6,9]也称作密文数据上的关键词搜索Keyword Search on Encryption Data作为一种新的密码学机制提供了密文数据上细粒度的访问控制,在某种程度上解决了外包数据库服务中,数据所有者控制其外包数据的细粒度的访问控制增强问题。3.1谓词加密假设表示一个任意的属性集合,P表示集合上一个任意的谓词集合通常,和P依赖安全参数或主公共参数。【定义1: 谓词加密方案[6,9]】集合上的谓词集合P对应的谓词加密方案包括4个多项式算法: 安装Setup、密钥生成GenKey、加密Enc和解密Dec。1 安装Setup1kPK,SK: 输入安全参数1k,输出公钥PK和私钥SK。2 密钥生成KeyGenSK,fSKf: 输入私钥SK和一个谓词f,输出谓词f对应的谓词密钥SKf。3 加密EncPK,I,MC: 输入公钥PK,属性集合I和消息空间中的一个消息M,输出密文C。4 解密DecSKf,CM或者DecSKf,C: 输入谓词密钥SKf和密文C,输出消息M或不可区分的符号。正确性: 要求对所有的安全参数k,安装算法Setup1k生成的所有公钥和私钥对PK,SK,所有谓词fP,所有的I,任何谓词密钥KeyGenSK,fSKf,下面两条成立:1 如果fI=1,那么DecSKf,EncPK,I,MM2 如果fI=0,那么DecSKf,EncPK,I,M以不可忽略的概率【定义2: 隐藏属性的谓词加密方案[6,9]】集合上谓词集合P对应的谓词加密方案是隐藏属性的,如果对所有的多项式攻击者A,A在安全参数k的下列实验中可忽略。1 A1k: 攻击者A在安全参数k下输出I0,I1。2 安装Setup1kPK,SK: 输入安全参数1k,输出公钥PK和私钥SK,攻击者A获得公钥PK。3 攻击者A可以随机地请求谓词f1,f2,,flF对应的谓词密钥,不过对所有的i,需要满足约束fiI0=fiI1。作为响应,攻击者A接收到相应的谓词私钥SKfiGenKeySK,fi。4 攻击者A输出两个等长的消息M0,M1。如果存在i,使得fiI0=fiI1=1,那么要求M0=M1。挑战者随机选择位b,并将如下密文发送给攻击者A,CEncPK,Ib,Mb。5 攻击者A可以继续为额外的谓词请求密钥,并需要遵循上述同样的谓词约束。6 攻击者A输出一个位b,如果b=b,则攻击者A攻击成功。攻击者A的优势是其成功的概率和12的差。根据隐藏信息的不同,将谓词加密的安全分为两类: 负载隐藏Payload Hiding和属性隐藏Attribute Hiding[9]。1 负载隐藏Payload Hiding: 和属性I关联的密文C隐藏了底层信息M,除非该用户拥有一个密钥给他明确解密的能力。也就是说,如果即使攻击者A具有谓词密钥SKf1,,SKfl,在f1I==flI=0的情况下,攻击者A对信息M一无所知。2 属性隐藏Attribute Hiding: 不仅要求密文C隐藏负载信息M,还额外需要密文C隐藏相关的属性I,除非他是被密钥拥有者显式泄漏的。也就是说,一个持有上述密钥的攻击者A只知道f1I,,flI,但是不知道属性I的任何信息。Shamir[26]于1984年通过引入基于身份的加密IBE概念,首次提供了细粒度的加密系统。在IBE中一个用户可以通过系统主密钥获得自己的身份私钥该过程需要经过对用户的认证,并用该私钥解密任何用他身份加密的信息。不过直到2001年,Boneh和Franklin[27]与Cocks[37]才提出了第一个真正的基于身份的加密方案。在基于属性的加密系统中[31,32,34,38],一个用户可以接受一个隐私能力,代表密文记录的属性上复杂的访问控制策略。提出的系统可以密文数据上复杂的访问控制表示,然而,他们访问数据的内在本质是所有或没有AllorNothing。解密者或者能够解密数据知道任何事情,或者不能解密数据不知道任何事情。另一方面,他们应用于数据外包服务时,也存在用户查询关键词泄漏给第三方服务提供者的安全威胁。谓词加密[6,9]在一定程度上解决了上述问题,通过构建密文数据上执行谓词函数的隐私能力,评估者只知道函数输出,但是不知道关键词匹配情况。谓词加密实际上就是称作关键词搜索或匿名IBE的系统[4,5,9,29,40]。谓词加密可以实现密文数据上部分数据的访问,而不再需要一次访问整个数据,如一次只能访问记录中的某些密文列,而不是整个密文记录。IBE标准的安全概念[27,28]相应于谓词加密中的负载隐藏谓词加密,匿名IBE[4,29,30]相应于谓词加密中更强的安全概念属性隐藏谓词加密。3.2密码学基础和数学难题【定义3: 组合次序双线性群组[6,9,40]】组合次序双线性群组Composite Order Bilinear Groups首先由文献[40]提出,之后被广泛应用于不同的密码学方案[5,6,9,41]。假设Gen是群生成算法,输入安全参数Z*q,输出系统公共参数元组p,q,G,GT,e,即Genp,a,G,GT,e,其中p,q是两个不同的大素数,G和GT是两个次数为n=pq的循环群,e是满足下列特性的双线性对函数e:GGGT。1 双线性Bilinearity: u,vG,a,bZ*q,eua,ub=eu,vab。2 非退化性Nondegenerate: gG,使得eg,gGT具有次数n。3 可计算性Computational: G和GT中的群,以及双线性对e多项式时间计算有效。Gp和Gq分别表示次数为p和q的G的子群,GT,p和GT,q分别表示次数为p和q的GT的子群。【定义4: 双线性DiffieHellman假设[6,9]】对于组合次序,给定群生成算法Gen,定义如下分布P:
p,q,G,GT,eRGen,npq,gpRGp,gqRGq
a,b,cRZn
n,G,GT,e,gq,gp,gap,gbp,gcp
Tegp,gqabc
输出,T
对于攻击算法A,定义A在解决下列组合双线性DiffieHellman问题的优势为:
cBDHAdvGen,A:=|Pr[A,T=1]-Pr[A,R=1]|,
其中,TRP和RRGT,p。
如果对任何多项式时间算法A,cBDHAdvGen,A是关于参数可忽略的函数,就可以说Gen满足组合的双线性DiffieHellman假设cBDH。【定义5: 组合的3方DiffieHellman假设[6,9]】该构造利用组合双线性群上的额外假设,对给定的群生成器Gen定义如下分布P。
p,q,G,GT,eRGen,npq,gpRGp,gqRGq
R1,R2,R3RGq
a,b,cRZn
n,G,GT,e,gq,gp,gap,gbp,gabpR1,gabcpR2
TgcpR3
输出,T
对于攻击算法A,定义A在解决下列组合3方DiffieHellman问题时的优势为:
C3DHAdvGen,A:=|Pr[A,T=1]-Pr[A,R=1]|,其中,TRP和RRG。如果对任何多项式时间算法A,C3DHAdvGen,A是关于参数可忽略的函数,就可以说Gen满足组合的3方DiffieHellman假设C3DH。在3.3节引入了隐藏属性的谓词加密和支持多项式的谓词加密,并以隐藏向量加密Hidden Vector Encryption,HVE为例说明数据库服务模式下基于HVE的访问控制增强。【定义6: 双线性DiffieHellman问题[27]】给定g,ga,gb,gcG,计算eg,gabcGT在多项式时间内是困难的。3.3基于谓词加密的访问控制增强如图3.1和图3.2所示为数据库服务模式下基于谓词加密Predicate Encryption,PE的访问控制增强架构,一般涉及4个实体: 数据所有者Data Owners,DO、数据库服务提供者Database Service Provider,DSP、可信的授权中心或可信的代理Trusted Proxy,TP和用户。目前主要包括两种基本架构: 如图3.1所示的无可信代理NTP的基于谓词加密PE的访问控制增强架构,简称NTPPE ACE架构和如图3.2所示的有可信代理TP的基于谓词加密PE的访问控制增强架构,简称TPPE ACE架构。在图3.1中,DO同时作为访问控制策略的制定者根据访问控制策略加密数据库数据,图3.1的Data Owners框内和增强者即接受用户的查询属性Query attributes,并根据用户查询属性满足的访问控制策略生成相应的查询令牌Query token,图3.1的Data Owners框内。在图3.2中,DO作为访问控制策略的制定者,TP作为访问控制策略的增强者图3.2的Trusted Proxy框内。
图3.1基于谓词加密的访问控制增强无可信代理
图3.2基于谓词加密的访问控制增强具有可信代理
基于该架构的工作过程是: DO根据自己的访问控制策略Access Control Policy采用PE加密,如HVE,加密数据库数据生成密文数据库Encrypted Database,EDB,并将EDB委托给DSP。当用户Users想查询指定的数据库记录时,需要先向DO或TP提交自己的查询属性Query Attributes,DO或TP根据访问控制策略将授权的查询令牌Query Token发送给用户。接下来以图3.2架构为例,将隐藏向量加密Hidden Vector Encryption,HVE作为底层加密方案,引入基于HVE的访问控制增强方案,主要包括: 三部分数据库加密,访问控制授权查询令牌,密钥分发模型。3.3.1谓词加密本节首先引入两种谓词加密定义: 隐藏向量加密HVE和支持多项式的谓词加密PPE,然后介绍谓词和多项式之间的转换规则。1. 谓词加密【定义7: 隐藏向量加密HVE[6,9,14,15]】HVE是一种特殊类型的谓词加密机制,其中两个基于关键词或属性的向量x和w被选取。加密向量x应用于加密过程和密文关联,查询向量w应用于查询令牌生成过程和查询令牌关联。HVE主要包括如下4个多项式时间算法。1 安装Setup,lPK,SK,输入安全参数和属性个数l,一个由l个关键字或属性构成加密向量x,安装函数输出查询密钥对PK,SK,这个算法可以由可信的授权代理执行。2 加密EncryptPK,x,indC,输入公钥PK,加密向量x和元组标识ind,输出加密的记录密文C,该算法可以由医疗记录所有者执行。3 令牌生成TokenGenSK,wQTw,输入私钥SK和查询向量w,该算法可以由可信的授权代理执行。4 查询QueryQTw,Cind or ,算法输入查询向量w对应的查询令牌QTw和密文记录C,算法在加密向量x和查询向量w按顺序匹配的条件下,解密输出一个标识ind。【定义8: 支持多项式的谓词加密PPE[9]】不同的谓词通过转化,可以表示为多项式形式,参看3.3.2节谓词和多项式转换,PPE是支持多项式的谓词加密机制。假设:
fpolyd={Fp|pZN[x],degpd}
Fpx=1ifpx=0 mod N
0其他,xZN
假设N表示每个属性的取值范围,支持多项式的谓词加密方案fpolyd表示如下:1 安装Setup,lPK,SK,输入安全参数和属性个数l,一个由l个关键字或属性构成加密向量x,安装函数输出查询密钥对PK,SK,这个算法可以由数据所有者或可信的授权代理执行。2 令牌生成TokenGenSK,fpQTp,输入私钥SK和谓词多项式p=adxd a0x0,假设p=ad,,a0,输出相应于该谓词向量p的查询令牌QTp,该算法可以由可信的授权代理执行。3 加密EncryptPK,x,indC,输入公钥PK,加密向量x和元组标识ind,输出加密的记录密文C,该算法可以由医疗记录所有者执行,x=xd mod N,,x0mod N基于数据库记录属性构建。4 查询QueryQTp,Cind or ,算法输入查询向量p对应的查询令牌QTp和密文记录C,算法在加密向量x和查询向量p内积为0的条件下,解密输出一个标识ind。根据上述的描述知道,当且仅当=0时,px=0,由此证明了方案的正确性和安全性。2. 谓词和多项式转换谓词和多项式之间存在通用的转换模式,主要包括析取谓词和多项式转换以及合取谓词和多项式转换。1 析取谓词和多项式转换如一元或谓词ORa1,a2x,在如下条件下为真,即:ORa1,a2x=1当且仅当x=a1或x=a2一元或谓词ORa1,a2可以被转换为如下1元多项式:px=x-a1x-a2上述多项式在谓词为真即ORa1,a2x=1的情况下,其值为0即px=0。对于多元或谓词ORa1,a2x1,x2,在如下条件下为真,即ORa1,a2x1,x2=1当且仅当x1=a1或x2=a2多元或谓词ORa1,a2x1,x2可以被转换为如下多元多项式:px1,x2=x1-a1x2-a2上述多项式在或谓词为真即ORa1,a2x1,x2=1的情况下,其值为0即px1,x2=0。2 合取谓词和多项式转换如多元与谓词ANDa1,a2x1,x2,在如下条件下为真,即ANDa1,a2x1,x2=1当且仅当x1=a1并且x2=a2多元与谓词ANDa1,a2x1,x2可以被转换为如下多元多项式:px1,x2=rx1-a1 x2-a2
r是一个随机数rZN,上述多项式在与谓词为真即ANDa1,a2x1,x2=1的情况下,其值为0即px1,x2=0。3. 谓词加密需求实例表3.1表示个人医疗记录外包应用中的病人表。从表中可以看到,大量的病人隐私信息如疾病Disease、医生Doctor等,如果以明文信息外包给数据库服务提供者,会导致病人的隐私信息很容易泄漏,一是泄漏给数据库服务提供者,二是泄漏给攻击服务器的外部攻击者。然而,这是很多病患不希望发生的事情,因为一旦患有癌症的病人信息泄漏,将会给病人的生活带来不同程度的困扰。为了确保病患对自己数据的隐私控制,大多数提出方案如第1章中的文献[1,3,5,6]采用数据加密技术实现外包数据库记录的隐私保护。然而这样会导致医疗记录上的关键服务如关键字搜索、多用户关键字搜索成为挑战性问题,如一个病患可能想通过提交如下查询找出具有相同疾病和症状的病人,以帮助自己选择更好的对口医院治疗:
表3.1病人表
PatNoPatNameAgeSexRegionDiseaseDoctorHospitalDate2056012Bob62MBerkeleyCancerMarySFO110820142056102Alice26FAlbanyDiabetesJohnRedCross12192014Q1:2046 ANDRegion="Berkeley" AND Disease="cancer"
为了实现密文上的关键字搜索,Song等[1]首先于2000年提出了可搜索加密概念,构建的方案实现了基于对称加密的单关键搜索方案,可应用于加密文档上的单关键字搜索。Boneh等[4]基于组合双线性对文献[40]的技术,于2004年提出了可搜索的公钥加密方案,可应用于邮件服务器中的安全邮件转发。[2,40,41]则基于提出的可搜索加密技术构建了可搜索的密文审计日志、多关键字查询、保护隐私的授权委托等被国内外学术团体广泛引用的方法。为了实现查询隐私即查询属性隐私,隐藏向量加密HVE由Boneh和Waters[6]引入,之后一系列基于双线性对有效的HVE被提出[14,15],支持多项式和内积的谓词加密则由Katz,Sahai和Waters[9]引入,然而,他们提出的方案都基于昂贵的组合次序双线性对。为了解决指数和双线性对上昂贵的计算开销,Iovino[43]提出了一个基于单个素数群的HVE方案,只需要On的查询令牌和On的双线性对计算,n是连接属性的数目。然而这依然带来巨大的查询消耗,因为每个密文必须是有效的能够匹配查询令牌的密文。为了进一步解决这个问题,Park提出了一个低消耗的HVE方案[14,15],基于单个素数群构建了只需要O1查询令牌和O1双线性对计算的HVE方案。下面的数据库加密即基于该HVE方案构建。3.3.2数据库加密为了更好地将HVE应用于外包数据库加密,假设一个数据库记录ti由多个表示特性的属性构成,如Bob对应的属性有年龄Age、性别Sex、区域Region、疾病Disease等。每个属性可以有多个取值,如年龄是数字字符,区域是非数字字符。假设属性空间被标签化为W={1,,l},每个属性对应的属性值空间为Wi={ai,1,,ai,ni},1il,令l={W1,W2,,Wl},l*={W1,W2,,Wl}*,其中* 表示无关紧要属性值。一般假设每个属性值通过哈希函数H映射到有限域空间Fq的一个值wi,jFq,H:{0,1}*Fq,q是一个大素数。在谓词加密机制中,数据库中的每个属性也可称作索引中的关键词域,每个属性值称作关键词。假设源数据库DB由一系列表tablej组成,即:
DB={tablej}Mj=1
M表示数据库中表的个数,假设ti是第i个元组,l表示表tablej中属性个数,那么表tablej可以表示如下:
tablej=tiNi=1,ti={ai,1,ai,2,,ai,l}
N表示表tablej中元组的个数,如图3.3所示,表示对表3.1基于HVE的加密过程,首先采用行加密的形式加密整个元组ti为密文元组eti,然后采用HVE中的加密算法Encrypt加密元组密钥ei,建立基于元组可搜索的查询索引Indi,过程如下:
Encti,eieti
xi={ai,1,ai,2,,ai,l},HVE.EncryptPK,xi,eiIndi
如元组t1={2056012,Bob,62,M,Berkeley,Cancer,Mary,SFO,11082014 },x1={2056012,Bob,62,M,Berkeley,Cancer,Mary,SFO,11082014 },加密后et1和Ind1分别为:
Enct1,e1et1=397c7h7dscnv
HVE.EncryptPK,x1,e1Ind1
如图3.3所示,密文数据库EDB具有如下格式:
EBD={etablej}Mj=1,etablej={Indi,eti}Ni=1
3.3.3访问控制授权查询令牌在基于谓词加密的访问控制增强中,对数据拥有者DO委托数据的访问控制主要取决于两个方面: 一是根据注册用户身份信息生成DO访问控制策略,如通用的基于角色的访问控制RoleBased Access Control,RBAC,自主访问控制Discretionary Access Control,DAC,强制访问控制Mandatory Access Control,MAC,二是根据注册用户提交查询属性生成查询令牌Query Token,QT。这里主要介绍通过生成查询令牌以授权用户的查询能力的访问控制。如图3.4所示,根据查询语句中查询关键字的不同,分为单关键字查询令牌Single QT和连接关键字查询令牌Conjunctive QT。本文主要采用单数据所有者多搜索者SingleOwner MultiSearcher常用工作模式,不采用两种工作模式如单数据所有者单查询者SingleOwner Single Searcher、多数据拥有者单搜索者MultiOwners Single Search[42]。根据查询令牌生成位置的不同,可以分为DO生成查询令牌如图3.1所示,以及图3.4中的DO for QT和TP生成查询令牌如图3.2所示,以及图3.4中的TP for QT,这里并没有提到文献[42]中提出的用户生成查询令牌,主要在于其涉及过多隐私泄漏,特别是数据所有者的私钥需要泄漏给用户以便于用户生成相应的查询令牌。
图3.4查询令牌
1. DO生成查询令牌DO生成查询令牌主要包括两个步骤: ①DO根据其定义的访问控制策略确认查询用户访问权限可以基于通用的访问控制策略实现; ②如果查询用户为授权用户,DO根据定义5中查询令牌生成算法TokenGenSK,wQTw,为查询用户生成相应于查询属性向量w的查询令牌QTw。DO生成查询令牌的优点: DO的系统密钥SK和访问控制策略都由DO自己控制,因此可以构造满足DO授权需求的查询令牌。恶意用户或攻击者由于不知道DO的SK,从而不能构造任选属性的查询令牌,因此可以避免查询关键字和用户隐私信息泄漏。DO生成查询令牌的缺点: DO成为整个通信瓶颈,对于大型公司而言,会由于单点失败而影响整个用户的应用体验,对于存储和计算能力有限的移动设备而言,会造成DO过多的操作负担。2. TP生成查询令牌TP生成查询令牌,主要需要三个步骤: ①TP根据DO委托给他的访问控制策略确认查询用户访问权限; ②TP根据DO委托给他的数据库元数据确认用户提交的查询属性; ③通过前两个步骤可以确认查询用户为授权用户,并授权执行提交查询,TP根据定义5中查询令牌生成算法TokenGenSK,wQTw,为查询用户生成相应于查询属性向量w的查询令牌QTw。TP生成查询令牌的优点: DO的系统密钥SK和访问控制策略都由DO委托给TP同步维护,因此TP必须是高度可信的。TP可以代表DO授权用户需求的查询令牌。恶意用户或攻击者不知道DO的SK,从而不能构造任选属性的查询令牌,因此可以避免查询关键字和用户隐私信息泄漏。TP生成查询令牌的缺点: TP是第三方服务提供者,一旦不可信,将造成DO大量隐私信息泄漏,如DO的SK,访问控制策略中用户的身份等。因此在TP生成查询令牌模式下,需要进一步加强DO委托SK和访问控制策略的隐私保护问题。3. 查询令牌类型根据查询关键字个数的不同,查询令牌主要分为单关键字查询令牌Single QT和连接关键字查询令牌Conjunctive QT。1 单关键字查询令牌以文献[4]中查询令牌为例说明基于单关键字查询令牌的生成。假设单关键字序列表示为W1,W2,,Wk,用户Alice的公钥是Apub,邮件信息是msg,数据所有者DO发送具有关键字W1,W2,,Wk的加密邮件给Alice,DO发送如下形式的密文:
C=EApub,msg,PEKSApub,W1,,PEKSApub,Wk
如果Alice希望邮件服务器在不知道其邮件信息的情况下,转发所有包含关键字W的加密邮件给她,Alice需要根据其私钥生成查询令牌QTW=TokenGenApriv,W给邮件服务器。下面是QTW单关键字查询令牌示例,假设存在Hash函数H1:{0,1}*G和H2:GT{0,1}logp:1 KeyGenPK,SK,输入安全参数,素数p和乘法群G,GT,算法选择一个随机数Z*p和一个G的生成元g,输出公钥PK={g,h=g}和私钥SK=,对于Alice来说,存在Apub=PK,Apriv=SK。2 PEKSPK,WCT,算法计算选择随机数rZ*p,计算t=eH1W,hr,tGT,输出CT={gr,H2t}。3 TokenGenSK,WQTW,算法输出单关键字查询令牌QTW=H1W,QTWG。4 QueryPK,S,QTWYes或No,假设S={A,B},测试如果H2eQTW,A=B,成立则输出Yes,否则输出No。单关键字查询令牌应用于邮件转发网关、银行安全路由网关等具有少量关键字的信息转发是有效的,然而当需要查询具有多个属性关键字的加密外包数据库数据库服务中的密文数据库时,如果只是采用单关键字加密算法中的关键字的简单累加,就会造成效率低下和关键字安全问题,下面引入基于连接关键字的查询令牌。2 连接关键字查询令牌以文献[14]、[15]中查询令牌为例说明基于连接关键字查询令牌的生成。假设属性向量x={x1,x2,,xl}l,查询属性向量w={w1,w2,,wl}l*,Sw是属性wi*的索引i的集合,查询令牌QTw相等连接查询令牌生成示例如下。1 KeyGen,lPK,SK,为了生成HVE参数,安装算法选择一个随机生成元gG,选择随机指数y1,y2,v1,,vl,t1,,tlZ*p,选择随机元素g1,g2,h1,u1,w1,,hl,ul,wlG,设置Y1=gy1,Y2=gy2,Vi=gviG,i=1,,l。此外,设置=eg1,Y1eg2,Y2GT。生成的公钥PK和私钥SK如下:
PK=g,Y1,Y2,h1,u1,w1,V1,T1,,hl,ul,wl,Vl,Tl,G5l 3GT
SK=y1,y2,v1,,vl,t1,,tl,g1,g2Z2l 2pG2
2 EncryptPK,x,MCT,假设x=x1,,xll,算法利用PK加密信息MMGT和向量x,选择随机指数s1,s2Z*p,计算密文CT如下:
CT=Ys11,Ys22,h1ux11s1Vs21,,hlux1ls1Vs2l,ws11Ts21,,ws1lTs2l,gs2,s1M
G2l 3GT
=C1,C2,C3,1,,C3,l,C4,1,,C4,l,C5,C6
3 TokenGenSK,wQTW,算法执行过程如下。① 选择一个随机数AZ*p和随机数ri\,kiZ*p,使得所有的iSw,等式ri\y1 kiy2=A;② 选择一个随机数BZ*p和随机数i\,iZ*p,使得所有的iSw,等式i\y1 iy2=B;③ 计算的查询令牌QTw为如下形式:
QTw=g1jSwhiuwiirixii,g2iSwhiuwiikixii,gA,gB,g-iSwviA tiBG5
=K1,K2,K3,K4,K5
其中,xix为加密过程中数据库属性,wiw为用户提交的查询属性,通过查询谓词中查询属性和数据库属性的比对,如果完全匹配,则谓词置1,查询授权成功,否则谓词置0,查询授权失败用户可能是恶意的攻击者或假冒用户。4 QueryCT,QTwM,假设C3=iSwC3,i和C4=iSwC4,i,计算eK3,C3eK4,C4eK5,C5eK1,C1eK2,C2C6M,如果MM,输出终止,否则输出M。多关键字查询令牌应用于第三方文档存储、外包数据库等具有多查询关键字的数据服务场景。该方案生成的查询令牌隐藏了用户的查询关键字,使得用户的查询隐私得到有效保护。上述两种方案可以直接应用于多数据所有者单查询者MultiOwner SingleSearcher和单数据所有者单查询者SingleOwner SingleSearcher服务场景,而且如果单查询者是SK的所有者时,发送者只需要采用单查询者的公钥PK加密关键字即可实现密文数据上的搜索和转发。然而,在实际的数据库外包服务场景中,如果数据所有者采用所有可能的查询者的公钥加密关键字,将造成如下问题: ①增加由于多关键字的重复加密为每个查询者加密所有可能查询关键字造成的存储空间消耗; ②查询效率低下,不同的查询者之间不能共享密文关键字。4. 查询效率支持各种方案的查询性能比较见表3.2。
表3.2查询性能比较
SchemeQueryTypeTokenSizePairingsTotalGroupOrder
Katz,Sahai and Waters[9]
Equality22l 1G22l 1pComaprison22l 1G22l 1pSubset22nl 1G22nl 1ppqrBoneh and Waters[6]Equality2l 1G2l 1pComaprison2l 1G2l 1pSubset22nl 1G2nl 1ppqShi and Waters[41]Equalityl 3Gl 3pComaprisonl 3Gl 3pSubsetnl 3Gnl 3ppqrIovino and Persiano[43]EqualityNo functionComaprison2lG2lpSubset2nlG2nlppPark[14,15]Equality5G5pComaprison5G5pSubset5G5pp3.3.4密钥分发模型基于谓词的加密本质上属于公钥加密机制,因此每个数据拥有者都拥有一个密钥对公钥和私钥。在外包数据库数据时,最简单直接的方式就是用数据拥有者的公钥加密数据以保护数据的机密性,用数据拥有者的私钥生成查询令牌并分发给授权用户,以保证外包加密数据上的安全查询,然而在实际应用中,随着数据的海量增长,采用公钥加密数据造成如下问题。1 公钥可以公开访问,攻击者可以通过有目的地选择明文选择明文攻击猜测数据拥有者外包的部分数据;2 私钥用来生成查询令牌,并由数据拥有者根据其访问授权分发给授权用户,造成数据拥有者成为通信瓶颈。为了解决上述安全问题并适应大规模的数据扩展问题,现有的解决方法通常是采用对称加密方法加密外包数据,并采用一定的密钥分发模型分发密钥。3.4存在的挑战和研究展望虽然采用ABE机制加密数据密钥使得执行密文数据上细粒度的访问控制成为可能,但是在DaaS场景中,由于DSP是HonestbutCurious的,依然存在如下一系列研究挑战。1 融合传统访问控制策略的CPABE访问结构设计困难。虽然基于CPABE可以有效支持DO对委托给DSP管理数据的可控性,但是在CPABE中,系统公钥由授权机构生成,访问结构由DO设计,密文的解密由授权机构和DO共同控制,因此访问结构的复杂性导致系统公钥设计的复杂性,同时存在将任何一个表达策略的布尔公式转化为相应的访问结构如访问树、LSSS矩阵的困难。2 支持灵活策略的KPABE过度依赖授权中心TA。虽然基于KPABE可以有效支持灵活的访问控制策略,但是不适合应用在DaaS场景中,因为KPABE过度依赖授权中心,如KPABE的系统公钥以及与访问结构相对应的用户私钥都由授权机构生成,密文的解密只由授权机构控制。一旦授权中心妥协,导致大量的关键用户隐私信息,特别是根据用户属性生成私钥的泄漏,将导致基于属性密钥的滥用。3 密文长度因为基于ABE加密机制的引入增加通信消耗。DO将基于ABE加密的数据密钥标签化数据密文,以控制对数据密文的细粒度访问。因此密文的大小和采用的访问结构有关,如采用LSSS访问结构使得密文大小与LSSS矩阵A行的数目成正比,标签化的矩阵A,使得通信开销急剧增加。4 用户身份隐私泄漏。DSP可以根据DO委托的基于ABE机制的访问结构控制用户对相应密文数据的细粒度访问,但是为了判断用户是否满足相应的访问策略,用户的身份属性集合会泄漏给DSP,可以结合其他机制如Oblivious证书实现用户身份隐私保护[20,34]。5 灵活的属性密钥撤销困难。系统的动态变化,如整个用户撤销、部分属性撤销等经常引起属性失效或从属关系变更如角色转换。撤销用户也就意味着撤销该用户的密钥,同时不影响未撤销用户的密钥,撤销用户的某个属性,同时不影响具备该属性其他用户的权限等。在基于ABE的机制中,属性与用户的多对多关系增加了属性密钥撤销机制的实现难度,基于属性撤销机制的相关研究可以参考文献[6]、[25]。6 基于层次的授权中心和多授权中心。授权机构之间存在层次架构[12,21,22,33]关系和多个对等点[17]关系,如国家级授权中心、省级授权中心、市级授权中心之间的层次关系,车辆管理中心、社会安全局、社区管理中心之间的对等关系。目前的研究主要集中于属性之间的层次关系,而没有进一步处理多个授权机构之间的层次关系。参考文献
[1]Song D,Wagner D,Perrig A.Practical techniques for searches on encrypted data.In: Proc.of the 2000 IEEE Symp.on Securityand Privacy.Berkeley: IEEE Computer Society,2000.4455.
[2]Waters B,Balfanz D,Durfee G,et al.Building an encrypted and searchable audit log.In: Proc.of the 11th Annual Network and Distributed System Security Symp.San Diego: The Internet Society,2004.
[3]Li M,Yu S,Cao N,et al.Authorized private keyword search over encrypted data in cloud computing.In: Proc.of the IEEE Intl Conf.on Distributed Computing Systems ICDCS.Minneapolis: IEEE Computer Society,2011:383392.
[4]Boneh D,Crescenzo G,Ostrovsky R,et al.Public key encryption with keyword search.In: Proc.of the EUROCRYPT.Berlin,Heidelberg: SpringerVerlag,2004: 506522.
[5]Shi E,Bethencourt J,Chan T,et al.MultiDimensional range query over encrypted data.In: Proc.of the IEEE Symp.on Security and Privacy.Berkeley: IEEE Computer Society,2007:350364.
[6]Boneh D,Waters B.Conjunctive,subset,and range queries on encrypted data.In: Proc.of the 4th Conf.on Theory of Cryptography.Berlin,Heidelberg: SpringerVerlag,2007: 535554.
[7]Cao N,Wang C,Li M,et al.PrivacyPreserving multikeyword ranked search over encrypted cloud data.In: Proc.of the IEEE INFOCOM.Shanghai: IEEE Computer Society,2011:829837.
[8]Curtmola R,Garay J,Kamara S,et al.Searchable symmetric encryption: improved definitions and efficient constructions.In: Proc.of the 13th ACM Conf.on Computer and Communications Security CCS.New York: ACM Press,2006:7988.
[9]Katz J,Sahai A,Waters B.Predicate encryption supporting disjunctions,polynomial equations,and inner products.In: Proc.of the EUROCRYPT.Berlin,Heidelberg: SpringerVerlag,2008:146162.
[10]Cash D,Jarecki S,Jutla C,et al.Highly scalable searchable symmetric encryption with support for Boolean queries.Advances in CryptographyCrypto2013,LNCS8042,2013:353373.
[11]Cash D,Jaeger J,Jarecki S,et al.Dynamic Searchable Encryption in VeryLarge Databases: Data Structures and Implementation.NDSS14,2326 February 2014,San Diego,CA,USA.
[12]Pappas Vasilis,Krell Fernando,Vo Binh,et al.Blind Seer: A Scalable Private DBMS.In Proceedings of the 35th IEEE Symposium on Security & Privacy S&P,May 2014,San Jose,CA.
[13]Li M,Yu S,Cao N,et al.Authorized private keyword search over encrypted personal health records in cloud computing.The 30th International Conference on Distributed Computing Systems ICDCS 2011,Minneapolis,MN,USA.
[14]Park J H.Efficient Hidden Vector Encryption for Conjunctive Queries on Encrypted Data.IEEE Transactions On Knowledge And Data Engineering,2011,2310:14831497.
[15]Park J H,K L W S,Lee D H.Fully secure hidden vector encryption under standard assumptions.Information Sciences,2013,232:188207.
[16]Chang Y C,Mitzenmacher M.Privacy preserving keyword searches on remote encrypted data.In J.Ioannidis,A.Keromytis,and M.Yung,editors,ACNS 05,volume 3531 of LNCS,pages 442455.Springer,June 2005.
[17]Byun J W,Lee D H,Lim J.Efficient conjunctive keyword search on encrypted data storage system.In EuroPKI,2006: 184196.
[18]Bloom B H.Spacetime tradeoffs in hash coding with allowable errors.Communications of the Association for Computing Machinery,1970,137:422426.
[19]Bellare M,Boldyreva A,ONeill A.Deterministic and efficiently searchable encryption.In A.Menezes,editor,CRYPTO 2007,volume 4622 of LNCS,pages 535552.Springer,Aug.2007.
[20]Jarecki S,Jutla C,Krawczyk H,et al.Outsourced symmetric private information retrieval.In ACM CCS 13,Berlin,Germany,Nov.48,2013.ACM Press.
[21]Kamara S,Papamanthou C.Parallel and dynamic searchable symmetric encryption.In A.R.Sadeghi,editor,FC 2013,volume 7859 of LNCS,pages 258274,Okinawa,Japan,Apr.15,2013.Springer,Berlin,Germany.
[22]Katz J,Lindell Y.Introduction to Modern Cryptography Chapman & HallCrc Cryptography and Network Security Series.Chapman & HallCRC,2007.
[23]Jarecki S,Jutla C,Krawczyk H,et al.Outsourced symmetric private information retrieval.In ACM CCS 13,Berlin,Germany,Nov.48,2013.ACM Press.
[24]The health insurance portability and accountability act.http:www.hhs.govocrprivacyhipaaunderstandingindex.html.
[25]Pappas V,Raykova M,Vo B,et al.Private search in the real world.In ACSAC 11,2011:8392.
[26]Shamir A.IdentityBased cryptosystems and signature schemes.In: Blakley GR,Chaum D,eds.Advances in CryptologyCRYPTO84.Berlin,Heidelberg: SpringerVerlag,1984:4753.
[27]Boneh D,Franklin M.Identitybased encryption from the Weil pairing.In Joe Kilian,editor,Proceedings of Crypto 2001,volume 2139 of LNCS,pages 213229.SpringerVerlag,2001.
[28]Canetti R,Halevi S,Katz J.A forwardsecure publickey encryption scheme.J.Cryptology,2007,203:265294.
[29]Boyen X.Waters B.Anonymous hierarchical identitybased encryption without random oracles.In Advances in CryptologyCrypto,2006.
[30]Gentry C.Practical identitybased encryption without random oracles.In Advances in CryptologyEurocrypt,2006.
[31]Sahai A,Waters B.Fuzzy identitybased encryption.In: Cramer R,ed.Advances in CryptologyEUROCRYPT 2005.Berlin,Heidelberg: SpringerVerlag,2005:457473.
[32]Goyal V,Pandey O,Sahai A,et al.AttributeBased encryption for finegrained access control of encrypted data.In: Proc.Of the 13th ACM Conf.on Computer and Communications Security.New York: ACM Press,2006:8998.
[33]Bethencourt J,Sahai A,Waters B.CiphertextPolicy attributebased encryption.In: Proc.of the 2007 IEEE Symp.on Security and Privacy.Washington: IEEE Computer Society,2007:321334.
[34]Ostrovsky R,Sahai A,Waters B.AttributeBased encryption with nonmonotonic access structures.In: Proc.of the ACM Conf.on Computer and Communications Security.New York: ACM Press,2007:195203.
[35]Waters B.Efficient identitybased encryption without random oracles.In Advances in CryptologyEurocrypt,2005.
[36]Boneh D,Boyen X.Efficient selectiveID identity based encryption without random oracles.In Advances in CryptologyEurocrypt,2004.
[37]Cocks Clifford.An identity based encryption scheme based on quadratic residues.In Proceedings of the 8th IMA International Conference on Cryptography and Coding,pages 360363,London,UK,2001.SpringerVerlag.
[38]Pirretti Matthew,Traynor Patrick,McDaniel Patrick,and Waters Brent.Secure attributebased systems.In CCS 06: Proceedings of the 13th ACM conference on Computer and communications security,2006.
[39]Boneh Dan,Waters Brent.A fully collusion resistant broadcast trace and revoke system with public traceability.In ACM Conference on Computer and Communication Security CCS,2006.
[40]Boneh D,Goh E J,Nissim K.Evaluating 2DNF formulas on ciphertexts.In Theory of Cryptography Conference,2005.
[41]Shi E,Waters B.Delegating Capabilities in Predicate Encryption Systems.35th International Colloquium,ICALP 2008 LNCS5126,2008:560578.
[42]沈志荣,薛巍,舒继武.可搜索加密机制研究与进展.软件学报,2014,254:880895.
[43]Iovino V,Persiano G.HiddenVector Encryption with Groups of Prime Order.Proc.Intl Conf.PairingBased Cryptography Pairing 08,2008,5209:7588.
|