一种用户端云数据共享解决方法技术

技术编号:10663233 阅读:184 留言:0更新日期:2014-11-20 09:54
本发明专利技术公开了一种用户端云数据共享解决方法,其具体实现过程为:数据拥有者在硬件标记载体上通过内容密钥对数据文件进行加密,同时对所有内容密钥加密,将所有的已加密数据文件和已加密内容密钥上传到云数据主端;调用数据拥有者的硬件标记载体,计算生成已加密的重加密密钥,并将该已加密重加密密钥在云数据主端由指定用户获得;根据接收到的已加密的重加密密钥,指定用户调用自己的硬件标记载体,对已加密的重加密密钥进行解密,从而获得所有的已加密的且被数据拥有者上传的数据文件,并解密它们。该一种用户端云数据共享解决方法与现有技术相比,可节省网络流量;减少计算机的计算运行负担,减少耗电量;提升加密数据共享效率。

【技术实现步骤摘要】
一种用户端云数据共享解决方法
本专利技术涉及信息安全
,具体地说是实用性强、安全性高、占用网络流量小、一种用户端云数据共享解决方法。
技术介绍
现有技术中文件上传共享一般采用公开密钥加密方案,比如:ELGamal加密方案,这种公开密钥加密方案也称为非对称密钥加密技术,其具体加解密过程为:采用一对匹配的密钥进行加密、解密,具有两个密钥,一个是公开密钥(公钥)一个是私有密钥(私钥),它们具有这种性质:每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密。用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。基于上述密钥加密方案,如附图1所示,用户使用的上传数据到云数据存服务器的加密方案为:用户A正在计划上传几个文件夹F1,F2,…,Fn到Dropbox。因为涉及到安全方面的问题,在上传之前文件夹将被加密。该用户端加密用惯例性的混合加密范例完成。尤其是在独特可区分且随机的对称内容密钥K1,K2,…,Kn下,每个密钥至少有128位的大小,用一个含有适当操作模式的分组密码,最好是已认证的操作模式(如:AES-GCM),然后将文件F1,F2,…,Fn首次加密为C1,C2,…,Cn,然后在Alice的公开密钥下,用公开密钥加密方案(如:超越椭圆曲线群的ElGamal加密方案)对内容密钥加密。密文上传到由加密文件C1,C2,…,Cn组成的Dropbox上,加密内容密钥由CK1,CK2,…,CKn表示。其中在每一个加密文件中,例如Ci,它也包含了应归于分组加密模式的初始向量。简单地讲,我们假定初始向量是每一个加密的私有文件Ci的一部分。在某一时间,用户A想与朋友B分享她的文件。一个常见方法是:A从云主端(如:Dropbox)上下载所有的加密内容密钥CK1,CK2,…,CKn,然后将他们解密并获取内容密钥K1,K2,…,Kn,接着用B的公开密钥再次将他们加密为CK1’,CK2’,…,CKn’,最终上传这些新的加密内容密钥到云主端(如:Dropbox)以供B下载。这个方法的优势是A不需要下载任何一个加密文件,因此,在A和云主端(如:Dropbox)的通信期间能够节约带宽。尽管如此,这个方法依然涉及到每个文件的加密内容密钥上传和下载,从而增加了网络通讯流量,网络开支费用与双方之间共享的文件数量成线性关系;此外,这个方法还会影响A这边的大量的计算机运行能力,所以不是很实用,增大了耗电量,尤其是对靠电池供电的笔记本电脑等,非常不实用;加密数据共享效率低,想象下当A再想与其他的朋友共享文件,比如说C。这种解决方案会引起额外的网络费用,与A和C共享文件的数量成线性关系,如果让共享的朋友数量为m,这种解决方案的网络费用就是O(nm)的线性排列。所以在这个应用案例中的技术挑战是,在不引起用户和云存储提供商之间太多通信和不给用户带来太多计算负担的前提下,如何使得这种加密数据共享更有效率。对于这个问题有一个潜在的解决方案。这个方案就是让A将她的私有密钥发布给云主端,然后要求云主端代表A去做解密和加密。尽管如此,这种方法将依赖于云主端的安全性,以及A不得不相信云主端不会将文件向任何未经许可的第三方公开。因此这种方法不能给A提供保证:只有她拥有自己的加密文件访问的管理权。基于此,现提供一种网络通讯流量不会增加、加密数据共享效率高、安全性强、用户端云数据共享解决方法。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、用户端云数据共享解决方法。一种用户端云数据共享解决方法,其具体实现过程为:数据拥有者在硬件标记载体上通过内容密钥对数据文件进行加密,同时对所有内容密钥加密,将所有的已加密数据文件和已加密内容密钥上传到云数据主端,即云数据存储服务器端;调用数据拥有者的硬件标记载体,计算生成已加密的重加密密钥,并将该已加密的重加密密钥在云数据主端由指定用户获得;根据接收到的已加密的重加密密钥,指定用户调用自己的硬件标记载体,对已加密的重加密密钥进行解密成重加密密钥,指定用户根据该重加密密钥解密所有的已加密的且被数据拥有者上传的数据文件。通过上述重加密的方式,可使得密钥的生成无需任何服务器的参与运算,整个保密性依赖于数据拥有者和指定用户私有密钥的保密性,能够加强数据的安全性。作为优选,所使用到的硬件标记载体是指内含AES加密硬件的U盘或带VelostiUSB的设备,这是由于该设备的成本较低且易于实现,同时方便携带,方便上述步骤的实时操作。进一步的,所述硬件标记载体内包含公开密钥和私有密钥,相对应的,已加密的重加密密钥的生成过程为:数据拥有者的私有密钥和指定用户的公开密钥均产生一个重加密密钥Rekey,该重加密密钥Rekey与指定用户的公开密钥产生一个已加密的重加密密钥;该已加密的重加密密钥的解密过程为:指定用户在接收到已加密的重加密密钥后,通过自己的私有密钥对已加密的重加密密钥进行解密成为重加密密钥Rekey,之后,该重加密密钥Rekey与指定用户的私有密钥同时使用,完成解密。上述重加密及解密的过程的公开密钥的传送以明文表示,故对公开密钥无深层的加密要求,因而无论是数据拥有者的公开密钥还是指定用户的公开密钥,都放置于云端的只读文件夹中;通过上述过程,使得所有已加密数据文件和内容密钥在没有获得来自于数据拥有者的密钥情况下,不能被云数据服务商中的任何人解密,而指定用户则可使用自己的硬件标记载体,通过自己的私有密钥对已加密的重加密密钥进行解密,进而得到数据拥有者上传的数据文件,实用性强且安全性高。进一步的,所述已加密的重加密密钥生成与解密过程通过加解密算法实现,代理重加密由6个概率性的多项式时间算法组成,即设置、产生密钥、产生重密钥、加密、重加密、解密。以上步骤的具体实现过程为:一、设置该算法的系统参数:将该系统参数设定为params=(G,q,g,H1,H2),其中G为乘法群或加法群,且该G是算法产生序列q中的一个集合;|q|=k且该k为一个给定的安全参数;g为G的群生成元;H1和H2是该算法产生的两个哈希函数,每一个都从G映射到Zq,该Zq代表集合{0,1,…,q-1};讯息空间M被定为G,即明文空间被定为群G的域。二、产生密钥:设定私有密钥ski=(xi,1,xi,2),xi,1,xi,2相互独立且均选自Zq;计算公开密钥pki=(pki,1,pki,2)=(gxi,1,gxi,2)。三、对文件进行加密:输入一个公开密钥pki=(pki,1,pki,2)和来自于讯息空间M的一个讯息m,通过下述步骤产生密文Ci:从Zq随机选择r;计算E=mgr;计算F=(pki,1H2(pki,2)pki,2)r;设定Ci=(E,F)。四、产生重密钥:随机从G选择V,从Zq选择u;计算v=H1(V)(xi,1H2(pki,2)+xi,2)-1modq;计算U=Vgu;计算W=pkj,2u;输出ReKeyi-j=(v,U,W)。五、重加密:输入重加密密钥ReKeyi-j=(v,U,W)和一个密文Ci=(E,F),计算F’=Fv,输出Cj=(E,F’,U,W)。六、解密:输入一个私有密钥sk=(x1,x2)和一个密文C,通过算法重新获得讯息m,当C=(E,F)是原始密文,计算t=xi,1H2(本文档来自技高网
...
一种用户端云数据共享解决方法

【技术保护点】
一种用户端云数据共享解决方法,其特征在于其具体实现过程为:数据拥有者在硬件标记载体上通过内容密钥对数据文件进行加密,同时对所有内容密钥加密,将所有的已加密数据文件和已加密内容密钥上传到云数据主端,即云数据存储服务器端;调用数据拥有者的硬件标记载体,计算生成已加密的重加密密钥,并将该已加密的重加密密钥在云数据主端由指定用户获得;根据接收到的已加密的重加密密钥,指定用户调用自己的硬件标记载体,对已加密的重加密密钥进行解密成重加密密钥,指定用户根据该重加密密钥解密所有的已加密的且被数据拥有者上传的数据文件。

【技术特征摘要】
1.一种用户端云数据共享解决方法,其特征在于其具体实现过程为:数据拥有者在硬件标记载体上通过内容密钥对数据文件进行加密,同时对所有内容密钥加密,将所有的已加密数据文件和已加密内容密钥上传到云数据主端,即云数据存储服务器端;调用数据拥有者的硬件标记载体,使用自己的私有密钥和指定用户的公开密钥计算生成已加密的重加密密钥,并将该已加密重加密密钥在云数据主端由指定用户获得;根据接收到的已加密的重加密密钥,指定用户调用自己的硬件标记载体,并使用自己的私有密钥对已加密的重加密密钥进行解密成重加密密钥,通过使用这个重加密密钥和自己的私有密钥,指定用户解密所有的已加密的且被数据拥有者上传的数据文件;所使用到的硬件标记载体是指内含AES加密硬件的U盘;所述硬件标记载体内包含公开密钥和私有密钥,相对应的,已加密的重加密密钥的生成过程为:数据拥有者的私有密钥和指定用户的公开密钥均产生一个重加密密钥Rekey,该重加密密钥Rekey与指定用户的公开密钥产生一个已加密的重加密密钥;该已加密的重加密密钥的解密过程为:指定用户在接收到已加密的重加密密钥后,通过自己的私有密钥对已加密的重加密密钥进行解密成为重加密密钥Rekey,之后,该重加密密钥Rekey与指定用户的私有密钥同时使用,完成解密。2.根据权利要求1所述的一种用户端云数据共享解决方法,其特征在于:所述已加密的重加密密钥生成与解密过程通过加解密算法实现,该加解密算法具体过程为:一、设置该算法的系统参数:将该系统参数设定为params=(G,q,g,H1,H2),其中G为乘法群或加法群,且该G是算法产生序列q中的一个集合;|q|=k且该k为一个给定的安全参数;g为G的群生成元;H1和H2是该算法产生的两个哈希函数,每一个都从...

【专利技术属性】
技术研发人员:王石洪小莹
申请(专利权)人:济南伟利迅半导体有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1