李能能 徐希炜 李丹阳
摘要:在数据存储至云服务器的过程中,数据被非法访问以及密钥极易被破解的安全性问题成为限制其发展的主要问题。对此,本文提出了一种基于RSA一次一密加密策略的可信第三方平台数据安全方案,该方案的核心是通过RSA一次一密加密技术实现密钥的实时更新,并且通过可信第三方平台实现对密钥的管理。理论分析以及实验表明,本方案增大了非法用户破解密钥的难度,降低了数据被非法访问的可能性。
关键词:可信第三方平台;RSA加密算法;一次一密;logistic映射
中图分类号:TP309 文献标识码:A
文章编号:1009-3044(2019)16-0009-03
开放科学(资源服务)标识码(OSID):
近年来,随着云计算和大数据的快速发展,将数据存储到云服务器进行管理的企业、组织和个人的数量成爆发式增长,这主要归因于云计算具有可存储大量数据和运算速率高的特点。但是,云计算在广泛被使用的同时,安全隐患也越来越突出。与此同时,各个服务商由于管理制度的差异,提供的服务水平也存在着很大的不同,用户也无法判断具体哪一个服务商更加可靠[1]。在2012底,著名的VMware企业公布了第三次云热度调查的统计结果,有将近70%的用户拒绝采用云服务,他们不使用云服务的主要原因是担心云服务器会将自己的数据泄露,对数据的安全性造成威胁。
上述内容表明,数据的安全与隐私为题已经严重阻碍到了云服务的发展[2]。另一方面,在数据存储至云端后,云服务商拥有过大的权限,用户对服务商的不信任感也大大增加。针对上述提出的两种问题,本文在分析云计算发展现状的基础上提出了一种基于RSA一次一密加密技术和可信第三方平台的云数据安全方案。通过该种方案,既解决了非法盗取数据密钥的问题,也解决了云服务商权限过大的问题[3]。另外,可信第三方平台除了可以管理密钥和存储用户的信息的功能,还具有记录数据和访问信息的功能,将生成的记录与云服务商的记录做对比,在数据被非法访问时能及时发现[4]。
1 可信第三方平台
1.1 RSA一次一密加密技术
RSA一次一密加密技术是在RSA加密算法的基础上同时增加了一对加密密钥和解密密钥(e0,d0),在数据被加密解密一次后,该算法就会通过迭代函数生成一对新的加密密钥和解密密钥(e1,d1),这种生成过程并非和传统算法相同,不是通过生成大素数来生成密钥。
该种一次一密加密算法可以理解为当我们使用RSA加密算法老对数据进行加密时,并不是将所有的密钥进行一次性的生成,来永久的加密数据,而是当用户每访问一次数据,就得密钥在使用过后就会失效,这是,算法就会自动生成一对新的密钥(en,dn)。通过en来重新对数据进行加密,并将新的解密密钥传送至数据属主或者云端上,等用户访问者通过验证之后才可以得到来解密数据。但是,每一次加密结束之后,必须确保e0和d0的和能够被n整除,为了使加密解密能够完整无误,在初始化时可以使e0=n-d0。具体加密过程如下[8]。
第一步是密钥的生成:
(1)由算法选取两个素数 p 和 q,计算 n=pq,保密p 和 q,公开n 。
(2)计算 Φ(n)=(p-1)(q-1), 任取一个值使得 2 ≤ e ≤ Φ(n)成立,且gcd(e, Φ(n))=1, e为算法的加密密钥,且该密钥是公开的。
(3)计算d,使 ed=1(mod(Φ(n)), 称d 为e对模Φ(n) 的逆,其中d为算法的解密秘钥,该密钥是保密的。
(4)按照如下方法初始化 e0,d0。
利用 Logistic 映射产生的混沌序列来将e0和d0初始化,e0(2≤ e0 Logistic映射的离散模型为 : 研究表明,在Logistic 映射中μ的取值从3逐渐趋向4时,由Logistic 映射产生的序列周期通向混沌,只要给定的μ值在合适的取值范围内,就能够产生一个序列是趋向于混沌的。 (5)将 {e,e0,n} 设为加密算法的公开密钥,{d,d0} 设为私密密钥。 第二步是使用密钥对数据进行加密: 在加密时,首先应将所得到的明文比特串进行分组,使得分得的每一个小组所对应的十进制数都小于n,即分组后每组的长度都小于log2n,然后加密每一个明文分组m: 最后一步,进行解密,过程为: 在此过程中,密钥实现动态性改变:先生成随机的整数z。待所有的分组的明文都加密结束后,利用(4)中的迭代函数使e0发生改变: 等到所有的密文分组都完成加密之后,利用公式(5)中的迭代函数使d0发生改变: 1.2 基于RSA一次一密的可信第三方平台的设计思路 传统的RSA加密算法只使用于云端和客户端之间,具体的流程可以简述为: (1)当用户将自己的数据存储于云服务器时,首先会产生一对密钥; (2)将公钥1和用户传输的数据一并发送至云服务器,使用云服务器对数据进行加密,并存储密钥; (3)客户端保对私钥进行自行保存; (4)当其他用户想要查看数据时,系统将利用算法自行生成一对新的私钥和公钥,然后将生成的新的公钥的旧的私钥一并发送至云服务器,新的私钥传输至密钥管理模块进行存储; (5)使用旧的私钥对数据进行解密,将解密后的数据提供给数据访问者访问,然后再将云服务器保存的数据用新的公钥加密成密文。 通过RSA一次一密加密技術,达到了用户只获得私钥仍无法对数据进行解密的效果,如果该用户属于非法用户,那么就无法解密数据,因为当前的数据已有新公钥加密,但是能够加密当前数据的最新私钥并未发送给服务器,所以无权限用户不能获得[10-12]。 本文中提出的基于RSA一次一密和可信第三方平台的安全方案,不仅可以保留可信第三方平台在使用过程中自身所具备的优势,在此基础上也增加了RSA一次一密加密技术的优点,使得密钥更难破解,从而阻止非法用户访问数据。 1.2 基于RSA一次一密的可信第三方平台的工作流程 在该方案中,用户对数据进行安全管理时,第一步是利用RSA一次一密加密算法生成一对密钥,使用密钥加密数据,之后再对于用户的每次访问,都会改变之前使用的密钥,生成新密钥替换掉原来的旧密钥,使用新密钥重新加密被访问过后的数据。在此过程中,所有的密钥由可信第三方平台进行储存,通过可信第三方的密钥管理模块对密钥进行管理,不需要经由云服务商进行操作。 具体上传下载过程如下: 在用户将数据上传至云端时,先连接客户端和可信第三方平台,验证用户身份,验证通过后可将数据进行上传。如果检测用户上传的是新的数据,就将上传的新的数据记录添加到数据库中,如果用户想要对原有的数据进行修改,则先验证用户的身份。当用户通过身份验证之后就需要在可信第三方平台通过RSA一次一密加密技术,按照上述加密流程,使用新密钥对数据进行加密解密和对密钥进行管理。 下载数据时,首先将客户端与可信第三方平台建立连接,在连接之后验证用户身份,验证通过后可以对目标数据进行下载。同样,根据上述RSA一次一密加密技术,先获得解密密钥对数据进行解密,在读取数据之后再用新生成的密钥对数据进行重新加密。被解密的数据传送至客户端以备客户端来进行访问。 2 仿真实验 本文是在Inter Core 1.73 GHz的CPU,4.00GB的内存中,操作系统为windows 10,在VMware Workstation10.5.2 上安装了 Ubuntu 16.10,以此来建立虚拟环境,分配2GB内存来进行实验。在该环境中通过对云服务器中的数据进行访问和修改,测试实施本文方案前后数据被修改成功的概率。 实验一:在该实验中,对总量为N的数据块进行恶意修改,只修改其中的k块,然后对当N数量相同但是攻击块数k不同和总块数N不同单数攻击块数K相同的情况分别进行比较。结果如上图,由上图可以看出当N相同,k不同时,k越大,数据被修改成功的概率越大;当N越大但是保持k变时,数据被修改成功的概率也越大。 实验二:在实验一得出的结论的基础上,设置1000块数据块的总量,分别对这其中的5、10、20、50、100、150、200、500块数据块恶意修改。在修改成功率为100%的基础上,分别对图中标明的三种不同保护措施的情况下进行数据修改成功率比较,实验结果如上图所示。本实验表明,本文提出的方案数据修改成功率更低,数据的安全性也就越高。 3 结束语 本文中提出的数据安全性方案,一方面增大了密钥的破解难度,保障数据的安全性,另一方面消减了云服务供应商的权限。所以,本文提出的数据安全方案能够充分保障数据的安全。 参考文献: [1] 吴翰清.白帽子讲Web安全[M].北京:电子工业出版社, 2012. [2] 刘建毅,王枞,薛向东.云存储安全分析[J].中兴通讯技术,2012,18(06):30-33. [3] 吴旭东.云计算数据安全研究[J].信息网络安全,2011,09:38-40. [4] 韩司.基于云存储的数据安全共享关键技术研究[D].北京邮电大学,2015. [5] 杨波,何德全.现代密码学[M].北京: 清华大学出版社,2005.4-96 [6] 范九伦,张雪锋.分段Logistic混沌映射及其性能分析[J].电子学报,2009,04:720-725. [7] 吕金虎.混沌时间序列分析及其应用[M].武汉:武汉大学出版社,2002.11-14. [8] 张蓓,孙世良.基于RSA的一次一密加密技术[J].计算机安全,2009,03:53-55. [9] 王威,吴羽翔,金鑫,等.基于可信第三方的公有云平台的数据安全存储方案[J].信息网络安全,2014,02:68-74. [10] 谭励,胡计鹏,杨明华,等.基于完整性度量的端到端可信匿名认证协议[J].计算机应用研究,2017,(06):1-6. [11] 丁洁,林志阳,沈荻帆.浅谈无可信第三方的身份认证协议[J]. 科技创新与應用,2016,(10):57-58. [12] 怀特.Hadoop权威指南 [M].北京:清华大学出版社, 2010. 【通联编辑:唐一东】