[导读] 本文在分析云计算所面对的数据安全问题的基础上,引入了全同态加密机制,提出一个云计算数据安全方案。
针对云计算系统面临的数据安全问题,提出一种云计算数据安全方案,该方案采用了将全同态加密算法引入到云计算数据安全方案的方法,并构建了该方案的应用场景。保证了云计算数据传输安全和数据存储安全,适用于密文状态下的数据处理和用户检索。
一、全同态加密
Craig Gentry构造的同态加密方案包括4个算法,即密钥生成算法、加密算法、解密算法和额外的评估算法。全同态加密包括两种基本的同态类型,即乘法同态和加法同态,加密算法分别对乘法和加法具备同态特性,而2009年之前的同态加密算法仅支持加法同态或者乘法同态。
1、全同态加密的原理
全同态加密的原理:加密操作为E,明文为m,加密得P,即:
如果针对明文有操作f,针对E可构造F,使得:
这样E就是一个针对f的同态加密算法。若对于任意复杂的明文操作f,都能构造出相应的F,则称E为全同态加密算法。全同态加密的目的在于找到一种能在加密的数据上进行任意数量的加法和乘法运算的加密算法,使得对加密数据进行某种操作所得到的结果恰好等于对加密前的数据进行预期操作再加密后得到的密文。
2、全同态加密算法的实现
为了简便,本文使用Craig Gentry提出的对称全同态加密算法。
(l)加密算法
加密参数有p、q和r,其中p是一个正奇数,q是一个很大的正整数,p和q在密钥生成阶段确定,p是加密密钥,而r是加密时选取的一个随机数。
对于明文m,计算:
即可得到密文。
(2)解密算法
对于明文:
云计算数据安全之全同态加密
因pq远远大于2r+m,所以:
云计算数据安全之全同态加密
3、同态性验证
(l)同态加法特性验证
假设有两组明文m1和m2,对他们分别进行加密可得到密文
云计算数据安全之全同态加密
则对于明文
云计算数据安全之全同态加密
应有
云计算数据安全之全同态加密
只要(m1+m2)+2(r1+r2)远远小于p,则C3=(Cl+C2) mod p=(m1+m2)+2(r1+r2),即该算法满足加同态条件。
(2)同态乘法特性验证
对于明文
云计算数据安全之全同态加密
应有
云计算数据安全之全同态加密
只要(m1+m2)+2(r1+r2)远远大于p,就有C4 =(CI×C2) mod p=mlm2十2(r1r2+r1m2十r2 m1) ,即该算法满足乘同态条件。
|