具有数据源认证的可转换的数据云存储的访问控制方法与流程

文档序号:17247848发布日期:2019-03-30 08:54阅读:183来源:国知局
具有数据源认证的可转换的数据云存储的访问控制方法与流程

本发明属于云计算技术领域,尤其涉及一种具有数据源认证的可转换的数据云存储的访问控制方法。



背景技术:

目前,业内常用的现有技术是这样的:

云计算(cloudcomputing)技术给人们的工作和生活带来了巨大的改变,云计算技术已深入各个领域,并给各行各业带来了积极的深远影响。数据云存储是云计算服务中的重要组成部分。数据云存储服务不仅给用户提供了廉价的存储空间,使得用户可以随时随地通过互联网访问云服务器并获得自己的数据,或者把自己存储在云服务器上的数据分享给其他人。用户存储在云服务器上的数据可能涉及机密性和隐私性问题,或者有一定时限保护要求的秘密数据,因此往往需要把数据加密后的密文存储到云服务器上。但是,这里有三个问题:问题一,当密文数据存储在云服务器上发生损坏,导致无法正常解密时,此时如何确定是云服务提供商的责任?问题二,当数据使用者要使用数据时如何认证该数据的来源,即如何确定该数据的拥有者。问题三,当数据拥有者存储在云服务器的秘密数据过了一定的保护期限后,数据拥有者想对外公开数据,如何做到秘密数据的可转换性。

综上所述,现有技术存在的问题是:

(1)现有技术中,考虑把数据加密后存储在云服务器上,然后通过不定期的(第三方)审计的方法去跟踪存储在云服务器上的数据是否损坏,但无法确定是否是云服务提供商的问题导致数据的损坏。

(2)在进行数据访问控制时,数据使用者无法确定该密文数据来自具体的数据拥有者,即不具备数据源的认证。

(3)现有技术中没有考虑秘密数据的公开可转换性,即在保证数据源可认证的前提下,如何公开数据,从而使得数据使用者无需使用自己的私钥即可解密并验证数据的来源。

(4)现有技术中存在云服务提供商和数据使用者的联合攻击,即他们的合作可以恢复出数据拥有者的私钥。

(5)现有方法中大部分是基于公钥基础设施或者基于身份公钥系统构造,因此存在密钥的管理问题和密钥的托管问题。

解决上述技术问题的难度和意义:

本发明基于无证书公钥系统、签密和代理重加密等密码原语,设计了一种具体的数据访问控制方法能同时解决了上述问题。因此,本发明具有重要的意义。

本发明为了使得云服务提供商能够在数据存储前能验证密文数据确实来自数据拥有者,从而当存储在云服务器上的数据发生损坏无法验证时,可以追究云服务提供商的责任。因此,方案的设计中需要做到密文的可验证性。

本发明为了使得数据使用者可以确认数据的来源并且使得在数据公开转换之前只有数据拥有者认可的数据使用者才可以解密数据并验证数据的来源,因此方案的设计中需要代理重签密的性质。

本发明为了使得秘密数据在保护期限过后数据拥有者能够对秘密数据进行公开可转换性,使得任何人可以对该数据进行解密和验证,因此方案的设计中需要做到密文的可转换性功能。

本发明为了使得使用的灵活性,公钥系统采用无证书公钥系统,从而可以克服传统公钥基础设施下存在的密钥管理问题,并克服基于身份公钥系统下存在的密钥托管问题。

综上所述,要设计一个方案能同时满足上述性质并能有效操作,是无法使用现有的方案进行组装的,因此,本发明重新设计了一个有效的方案能同时满足上述性质,可见本发明能够解决现有技术的难度。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种具有数据源认证的可转换的数据云存储的访问控制方法。

本发明是这样实现的,一种具有数据源认证的可转换的数据云存储的访问控制方法,包括:

步骤一,系统参数初始化:选择两个素数p阶循环群g1,g2,其中g1为加法群其生成元记为p,g2为乘法群;密钥生成中心kgc选择作为系统主私钥,ppub=sp为系统公钥;为使用密钥keym对数据文件m进行加密,为使用密钥keym对密文文件y进行解密;|keym|为密钥keym的比特长度;系统公开参数为{g1,g2,e,p,g,ppub,h1,h2,h3,h4};

步骤二,用户密钥生成:用户u发送其身份idu给密钥生成中心kgc,kgc验证所述用户信息并为其生成部分私钥并把du通过安全方式返回给用户u;

步骤三,数据加密存储:待加密的数据文件m对应的识别符为im,云服务提供商csp的身份为idcsp,数据拥有者do的身份为iddo、公钥为pkdo,私钥为skdo,产生密文数据文件c=(h,y,z,v)并把im和c=(h,y,z,v)发送给云服务提供商。云服务提供商收到数据后先验证密文数据的有效性,若有效,则把密文数据存入云服务器,并回复“存储完成”给数据的拥有者;

步骤四,数据下载解密:当数据拥有者使用自己的数据时,根据文件识别符im先下载密文数据文件c=(h,y,z,v),然后使用自己的私钥skdo进行解密验证;

步骤五,数据访问控制:数据使用者du若要访问数据拥有者do的某个数据文件m,则du把自己的身份信息iddu和公钥pkdu发送给do并提出访问请求;收到请求后do计算重加密密钥

rkdo→du=h4(im,skdo)-1{pkdu+h2(pkdu)[h1(iddu)p+ppub]},

do把文件识别符im和重加密密钥rkdo→du发送给云服务提供商,云服务提供商经过进一步操作后把数据提供给被授权的数据使用者;

步骤六,密文数据转换:数据拥有者do要把存储在云服务器上的识别符为im的密文数据c=(h,y,z,v)进行转换,do计算t=h4(im,skdo)-1p,再把im和t发送给云服务提供商csp;csp根据im找到对应的密文数据c=(h,y,z,v),计算w=vt,并将v替换为w,则密文数据变为c=(h,y,z,w),给数据拥有者回复“转换完成”。

进一步,步骤一,选择两个素数p阶循环群g1,g2中,e:g1×g1→g2为一个双线性映射,g=e(p,p),四个hash函数分别为

进一步,步骤二中,用户u包括数据拥有者do和数据使用者du;用户u选择作为其秘密值,并设置其公钥为pku=xu(h1(idu)p+ppub),私钥为

进一步,步骤三中,数据拥有者执行步骤包括:

(1)选择x,

(2)计算l=h1(r,m,iddo),x=gx,l=gl,keym=h3(l);

(3)加密数据并计算h=h1(x,y,iddo,pkdo,idcsp),z=(x-h)skdo,v=(l-x)h4(im,skdo)modp;

(4)数据拥有者do把密文数据文件c=(h,y,z,v)和对应的文件识别符im发送给云服务提供商csp;

(5)云服务提供商收到后验证密文数据文件c=(h,y,z,v),通过如下步骤验证c的有效性:

①x=e(z,pkdo+h2(pkdo)[h1(iddo)p+ppub])gh

②计算h'=h1(x,y,iddo,pkdo,idcsp),并验证h'是否等于h,若成立则把c=(h,y,z,v)和对应的文件识别符im存到云服务器中并返回“存储完成”给数据拥有者,否则拒绝。

进一步,步骤四中,通过如下步骤解密得到数据m并检验c的完整性:

1)x=e(z,pkdo+h2(pkdo)[h1(iddo)p+ppub])gh

2)计算h'=h1(x,y,iddo,pkdo,idcsp),并验证h'是否等于h,若不成立,说明密文数据文件损坏,则追究云服务提供商的责任;若成立,继续下一步骤;

3)计算keym=h3(l),

4)验证等式是否成立,若成立则存储的数据是完整的并且确实是数据拥有者自己生成的;若不成立,则说明密文数据文件已损坏,追究云服务提供商的责任。

进一步,步骤五中,云服务提供商根据im找到对应的密文数据文件c=(h,y,z,v),计算v=vrkdo→du并把σ=(h,y,z,v)发送给数据使用者du;数据使用者收到σ=(h,y,z,v)计算x=e(z,pkdo+h2(pkdo)[h1(iddo)p+ppub])gh,h'=h1(x,y,iddo,pkdo,idcsp),并验证h'是否等于h,如果不成立则拒绝,否则,计算l=e(v,skdu)x,keym=h3(l),恢复数据验证等式是否成立,若成立则可以相信密文数据文件来自数据拥有者do;否则拒绝。

本发明的另一目的在于提供一种实现所述具有数据源认证的可转换的数据云存储的访问控制方法的计算机程序。

本发明的另一目的在于提供一种终端,所述终端至少搭载实现所述具有数据源认证的可转换的数据云存储的访问控制方法的控制器。

本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的具有数据源认证的可转换的数据云存储的访问控制方法。

本发明的另一目的在于提供一种实施所述具有数据源认证的可转换的数据云存储的访问控制方法的具有数据源认证的可转换的数据云存储的访问控制系统,所述具有数据源认证的可转换的数据云存储的访问控制系统包括:

参数初始化模块,用于密钥生成中心设置系统参数,选定对应的运算结构,选择安全的hash函数,生成系统私钥和系统公钥;

用户密钥生成模块,用于数据拥有者和数据使用者的用户向密钥生成中心申请部分私钥,并自己选择秘密值按照设计的算法生成用户的私钥和公钥;

数据加密存储模块,用于数据拥有者用自己的私钥通过设计的加密算法把数据加密后上传给云服务提供商;

云服务提供商先用数据拥有者的公钥验证加密后数据的完整性并验证该数据是否来自数据拥有者,验证通过则把该数据保存在云服务器上并反馈存储完成,否则拒绝,数据拥有者需重新生成有效的加密数据后再上传;

数据下载解密模块,用于数据拥有者要使用自己存储在云服务器上的数据,则先下载相应的密文数据,使用自己的私钥解密并验证该密文数据是否是完整,并确认是否是自己加密并上传存储在云服务器上的;

数据访问控制模块,用于数据使用者若要使用数据拥有者的某个数据,则向数据拥有者提出申请;数据拥有者利用自己的私钥、数据使用者的公钥和对应要访问的数据文件的信息生成一个重加密密钥;然后数据拥有者把重加密密钥和存放在云服务器上对应的密文文件的识别信息发送给云服务提供商;云服务提供商把该重加密密钥和存放在云服务器上对应的密文文件进行特定的运算后,把该运算结果发送给数据使用者;数据使用者用自己的私钥和数据拥有者的公钥对接收到的数据进行解密和验证;

密文数据转换模块,用于过一段时限后,若数据使用者想把密文数据转换为任何人均可获得数据并验证数据的来源,那么数据拥有者只需要计算一个数值给云服务提供商,然后云服务提供商把存储在云服务器上对应的某一数据项进行替换,数据拥有者无需对每个数据使用者产生一个重加密密钥给云服务提供商进行运算,而数据使用者不再需要使用自己的私钥,计算得到明文数据并验证所述数据对应的数据拥有者。

本发明的另一目的在于提供一种具有数据源认证的可转换的数据云存储访问网络平台,所述具有数据源认证的可转换的数据云存储访问网络平台至少搭载所述的具有数据源认证的可转换的数据云存储的访问控制系统。

综上所述,本发明的优点及积极效果为:

本发明解决了现有云数据访问控制中如何保证数据源认证、存储在云服务器上数据损坏时如何确定是云服务提供商的责任以及秘密数据的公开可转换性问题,本发明基于无证书公钥系统构造,从而不存在传统公钥基础设施中存在的证书管理问题和基于身份公钥系统中存在的密钥托管问题,给出了一种具有数据源认证的可转换的数据云存储的访问控制方法。

与现有的相关文献中的方案的比较如下:

由于本方案主要基于签密和代理重加密的密码学原语进行设计的,因此,跟本方案相关的文献有如下文献[1-8]:

文献[1]首先提出了签密与代理重加密的结合,但是该方案是基于rsa算法进行构造的,事实上是一种先对数据文件做rsa签名后再做rsa加密的体制,整个方案中需要用到4次rsa算法,效率低,该方案的设计跟我们的完全不同,我们并没有用到任何的rsa算法。而且本发明方案还具有其他独有的优点,具体见下表1。

文献[2,3]中的方案存在数学逻辑错误,在方案中需要把加法群中的元素进行了乘法运算和求逆运算,而且在代理重加密密钥生成阶段还需要kgc共同参与,这是不合理的!我们知道kgc只是用户密钥的分发中心,而不参与用户实际的密钥使用。

文献[4,5]中的方案被文献[6]指出是不安全的,而在文献[6]是使用基于身份密码系统构造,因此存在密钥托管问题,即kgc知道用户的私钥,那么kgc可以做用户能做的任何事情。另外,这三个方案无法抵抗云服务提供商和数据使用者的联合攻击,也就是说,云服务提供商与数据的使用者联合,则可以恢复出数据拥有者的私钥。而且,这三个方案中不具备密文的可验证性,也就是云服务提供商无法验证数据拥有者上传的密文是否是数据拥有者自己产生的。而且不具备密文的可转换性,也就是,无法把密文转化为任何人都可以解密和验证的数据。而本发明设计的方案同时具备了这些性质。具体见下表1。

文献[7,8]的方案本质上是相同的(这两个文献的作者是相同的),数据拥有者先用签密对数据进行加密,然后上传数据文件,在数据使用者请求访问数据时,数据拥有者需要对明文数据文件再次进行签密并发给云服务提供商进行处理后再发给数据使用者解密。这是不合理的,因为数据拥有者的数据存储在云服务器上,若数据使用者需要数据时,数据拥有者在具体授权时还需要下载密文数据文件解密(或者数据拥有者需在本地存储该文件)并再次针对数据使用者的公钥对数据文件进行签密,若是这样,完全可以不用借助云服务器,直接把签密后的文件发给数据使用者即可,因此这种操作方式没有体现数据云存储的优势。文中虽然提到重加密的概念,但是事实上没有用到代理重加密的特点。

基于上述分析,下表1给出本发明方案与文献[1,4-6]的性质的比较。

表1本发明方案与已有相关方案的性质比较

说明:“×”表示不具备该性质,“√”表示具备该性质。本方案可以抵抗云服务提供商和数据使用者的联合攻击,而其他方案不行,也就是说在文献[1,4-6]中,云服务提供商和数据使用者的联合能够恢复出数据拥有者的密钥;本方案中的密文具有公开可验证性而其他方案没有该特性,也就是任何人只有使用数据使用者的公钥即可验证该密文是否是数据使用者产生的,但是没数据使用者的授权是无法解密的;本方案中数据拥有者在一定保护时限后,可以把自己的数据文件进行公开,使得任何人都可以解密并使用数据使用者的公钥验证该数据是否是数据拥有者产生的;由于文献[4-6]中的方案是利用基于身份的公钥系统构造的,因而存在密钥托管问题,而文献[1]中的方案是基于传统的公钥基础设施,虽然不存在密钥托管问题但是存在公钥证书的管理问题,本发明方案是利用无证书公钥系统进行构造的,鉴于无证书公钥系统的特点,本发明方案可以同时克服传统公钥基础设施中的密钥管理问题以及基于身份公钥系统中的密钥托管问题。

相关技术文献:

[1]kirtanev,rangancp.rsa-tbossigncryptionwithproxyre-encryption[c]//proceedingsofthe8thacmworkshopondigitalrightsmanagement.acm,2008:59-66.

[2]rawatss,shrivastavagk.improvedid-basedproxyre-signcryptionscheme[c]//computationalintelligenceandcommunicationnetworks(cicn),2012fourthinternationalconferenceon.ieee,2012:730-733.

[3]huigew,caifenw,haoc.id-basedproxyre-signcryptionscheme[c]//computerscienceandautomationengineering(csae),2011ieeeinternationalconferenceon.ieee,2011,2:317-321.

[4]chandrasekars,ambikak,rangancp.signcryptionwithproxyre-encryption[j].iacrcryptologyeprintarchive,2008,2008:276.

[5]wangc,caox.animprovedsigncryptionwithproxyre-encryptionanditsapplication[c]//computationalintelligenceandsecurity(cis),2011seventhinternationalconferenceon.ieee,2011:886-890.

[6]lif,liub,hongj.anefficientsigncryptionfordataaccesscontrolincloudcomputing[j].computing,2017,99(5):465-479.

[7]braekena,shabishap,touhafia,etal.pairingfreeandimplicitcertificatebasedsigncryptionschemewithproxyre-encryptionforsecureclouddatastorage[c]//20173rdinternationalconferenceofcloudcomputingtechnologiesandapplications(cloudtech).ieee,2017:1-7.

[8]shabishap,braekena,touhafia,etal.ellipticcurvequ-vanstonebasedsigncryptionschemeswithproxyre-encryptionforsecureclouddatastorage[c]//internationalconferenceofcloudcomputingtechnologiesandapplications.springer,cham,2017:1-18.

附图说明

图1是本发明实施例提供的具有数据源认证的可转换的数据云存储的访问控制方法原理图。

图2是本发明实施例提供的用户密钥生成图。

图3是本发明实施例提供的数据加密存储图。

图4是本发明实施例提供的数据下载解密图。

图5是本发明实施例提供的数据访问控制图。

图6是本发明实施例提供的密文数据转换图。

图7是本发明实施例提供的具有数据源认证的可转换的数据云存储的访问控制系统示意图。

图中:1、参数初始化模块;2、用户密钥生成模块;3、数据加密存储模块;4、数据下载解密模块;5、数据访问控制模块;6、密文数据转换模块。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

现有技术中,大多只考虑把数据加密后存储在云服务器上,然后通过(第三方)审计的方法去跟踪存储在云服务器上的数据是否丢失或损坏。特别在进行数据访问控制时,数据使用者无法确定该密文数据来自具体的数据拥有者。也没有考虑秘密数据的公开可转换性。基于无证书公钥系统、签密和代理重重加密等密码原语,本发明设计了一种具体的数据访问控制方法能同时解决了上述问题。

下面结合具体实施例对本发明作进一步描述。

如图1,是本发明实施例提供的具有数据源认证的可转换的数据云存储的访问控制方法原理图。

本发明实施例提供的具有数据源认证的可转换的数据云存储的访问控制方法,包括:

1)系统参数初始化的具体方法为:

选择两个素数p阶循环群g1,g2,其中g1为加法群其生成元记为p,g2为乘法群,e:g1×g1→g2为一个双线性映射,g=e(p,p),四个hash函数分别为密钥生成中心kgc选择作为系统主私钥,ppub=sp为系统公钥;为使用密钥keym对数据文件m进行加密,为使用密钥keym对密文文件y进行解密;|keym|为密钥keym的比特长度;系统公开参数为{g1,g2,e,p,g,ppub,h1,h2,h3,h4}。

2)用户密钥生成的具体方法为(附图2):

用户u(包括数据拥有者do和数据使用者du)发送其身份idu给密钥生成中心kgc,kgc验证该用户信息并为其生成部分私钥并把du通过安全方式返回给用户u;用户u选择作为其秘密值,并设置其公钥为pku=xu(h1(idu)p+ppub),私钥为

3)数据加密存储的具体方法为(附图3):

待加密的数据文件m,该文件对应的识别符为im,云服务提供商csp的身份为idcsp,数据拥有者do的身份为iddo、公钥为pkdo,私钥为skdo,数据拥有者执行如下步骤:

(1)选择x,

(2)计算l=h1(r,m,iddo),x=gx,l=gl,keym=h3(l);

(3)加密数据并计算h=h1(x,y,iddo,pkdo,idcsp),z=(x-h)skdo,v=(l-x)h4(im,skdo)modp;

(4)数据拥有者do把密文数据文件c=(h,y,z,v)和对应的文件识别符im发送给云服务提供商csp;

(5)云服务提供商收到后验证密文数据文件c=(h,y,z,v),通过如下步骤验证c的有效性:

①x=e(z,pkdo+h2(pkdo)[h1(iddo)p+ppub])gh

②计算h'=h1(x,y,iddo,pkdo,idcsp),并验证h'是否等于h,若成立则把c=(h,y,z,v)和对应的文件识别符im存到云服务器中并返回“存储完成”给数据拥有者,否则拒绝。

4)数据下载解密的具体方法为(附图4):

当数据拥有者想要使用自己的数据时,根据文件识别符im先下载密文数据文件c=(h,y,z,v),然后使用自己的私钥skdo,通过如下步骤解密得到数据m并检验c的完整性:

(1)x=e(z,pkdo+h2(pkdo)[h1(iddo)p+ppub])gh

(2)计算h'=h1(x,y,iddo,pkdo,idcsp),并验证h'是否等于h,若不成立,说明密文数据文件损坏,则追究云服务提供商的责任;若成立,继续下一步骤;

(3)计算keym=h3(l),

(4)验证等式是否成立,若成立则存储的数据是完整的并且确实是数据拥有者自己生成的;若不成立,则说明密文数据文件已损坏,追究云服务提供商的责任。

5)数据访问控制的具体方法为(附图5):

数据使用者du若要访问数据拥有者do的某个数据文件m,则du把自己的身份信息iddu和公钥pkdu发送给do并提出访问请求;收到请求后do计算重加密密钥rkdo→du=h4(im,skdo)-1{pkdu+h2(pkdu)[h1(iddu)p+ppub]},do把文件识别符im和重加密密钥rkdo→du发送给云服务提供商;云服务提供商根据im找到对应的密文数据文件c=(h,y,z,v),计算v=vrkdo→du并把σ=(h,y,z,v)发送给数据使用者du;数据使用者收到σ=(h,y,z,v)计算x=e(z,pkdo+h2(pkdo)[h1(iddo)p+ppub])gh,h'=h1(x,y,iddo,pkdo,idcsp),并验证h'是否等于h,如果不成立则拒绝,否则,计算l=e(v,skdu)x,keym=h3(l),恢复数据验证等式是否成立,若成立则可以相信密文数据文件来自数据拥有者do;否则拒绝。

6)密文数据转换的具体方法为(附图6):

数据拥有者do要把存储在云服务器上的识别符为im的密文数据c=(h,y,z,v)进行转换,do计算t=h4(im,skdo)-1p,然后把im和t发送给云服务提供商csp;csp根据im找到对应的密文数据c=(h,y,z,v),计算w=vt,并把其中的v替换为w,即c=(h,y,z,w),给数据拥有者回复“转换完成”。

如图7,本发明实施例提供的具有数据源认证的可转换的数据云存储的访问控制系统。包括:四个参与方—密钥生成中心(kgc,keygeneratingcenter)、云服务提供商(csp,cloudserviceprovider)、数据拥有者(do,dataowner)和数据使用者(du,datauser);六个组成部分—参数初始化模块1、用户密钥生成模块2、数据加密存储模块3、数据下载解密模块4、数据访问控制模块5、密文数据转换模块6,具体如下:

(1)参数初始化模块1:密钥生成中心设置系统参数,选定对应的运算结构,选择安全的hash函数,生成系统私钥和系统公钥。

(2)用户密钥生成模块2:用户(数据拥有者和数据使用者)向密钥生成中心申请部分私钥,并自己选择秘密值按照设计的算法生成用户的私钥和公钥。

(3)数据加密存储模块3:数据拥有者用自己的私钥通过设计的加密算法把数据加密后上传给云服务提供商,云服务提供商先用数据拥有者的公钥验证加密后数据的完整性并验证该数据是否来自数据拥有者,验证通过则把该数据保存在云服务器上并反馈存储完成,否则拒绝,数据拥有者需重新生成有效的加密数据后再上传。

(4)数据下载解密模块4:数据拥有者要使用自己存储在云服务器上的数据,则先下载相应的密文数据,使用自己的私钥解密并验证该密文数据是否是完整,并确认是否是自己加密并上传存储在云服务器上的。

(5)数据访问控制模块5:数据使用者若要使用数据拥有者的某个数据,则向数据拥有者提出申请;数据拥有者利用自己的私钥、数据使用者的公钥和对应要访问的数据文件的信息生成一个重加密密钥;然后数据拥有者把重加密密钥和存放在云服务器上对应的密文文件的识别信息发送给云服务提供商;云服务提供商把该重加密密钥和存放在云服务器上对应的密文文件进行特定的运算后,把该运算结果发送给数据使用者;数据使用者用自己的私钥和数据拥有者的公钥对接收到的数据进行解密和验证。

(6)密文数据转换模块6:当过了一段时限后,若数据使用者想把密文数据转换为任何人均可获得数据并验证数据的来源,那么数据拥有者只需要计算一个数值给云服务提供商,然后云服务提供商把存储在云服务器上对应的某一数据项进行替换即可,这样数据拥有者无需针对每个数据使用者产生一个重加密密钥给云服务提供商进行运算,而数据使用者不再需要使用自己的私钥即可计算得到明文数据并可验证该数据对应的数据拥有者。

下面结合具体实施例对本发明作进一步描述。

(1)数据源认证的实现:在本发明步骤三的密文数据文件c=(h,y,z,v)的生成过程中,为了计算z=(x-h)skdo和v=(l-x)h4(im,skdo)modp必须用到数据拥有者的私钥skdo,因此只有数据拥有者do使用其私钥skdo才可操作;当云服务提供商或数据拥有者要验证数据的来源时,均需要执行如下步骤:

①计算x=e(z,pkdo+h2(pkdo)[h1(iddo)p+ppub])gh

②计算h'=h1(x,y,iddo,pkdo,idcsp),

③验证h'是否等于h,如果不成立则拒绝。

从上面①—③可知,只有知道数据拥有者do的私钥skdo,才能够构造出满足上式①—③的z。从而达到了验证数据源的目的。

(2)密文转换后任何人均可解密和验证数据的来源:当数据使用者收到转换后的密文数据c=(h,y,z,w),其在不需要使用自己私钥的情况下即可验证和解密数据,则可执行如下步骤:

①计算x=e(z,pkdo+h2(pkdo)[h1(iddo)p+ppub])gh

②计算h'=h1(x,y,iddo,pkdo,idcsp),并验证h'是否等于h,若不成立,拒绝;若成立,继续下一步骤;

③计算l=e(w,p)x,keym=h3(l),

④验证等式是否成立,若成立可以确定该密文数据是由数据拥有者do产生的。

(3)本发明方案中能抵抗云服务提供商和数据使用者的联合攻击的原因分析:注意到若云服务提供商把密文c=(h,y,z,v)和代理重加密密钥rkdo→du都发送给数据使用者,注意到v=(l-x)h4(im,skdo)modp,其中l和x是数据拥有者在产生密文时秘密选择的随机数,因此数据使用者从v=(l-x)h4(im,skdo)modp能得到h4(im,skdo)的概率仅为由于数值p很大,该概率是可忽略的。即使数据使用者得到h4(im,skdo),那么要从中计算得到数据拥有者的私钥skdo,这也是不可行的,这一点由hash函数h4()的单向性所保证。因此,本发明方案可以抵抗云服务提供商和数据使用者的联合攻击。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1