通常情况下,云环境的数据中心保存有大量的私密数据,这些数据往往代表了用户的核心竞争力。在云计算模式下,用户将数据文件通过网络传递到云计算服务提供商进行处理时,面临着几个方面的问题:一是如何确保用户的数据在网络传输过程中不被窃取;二是如何保证云计算服务提供商在得到数据时不将用户重要数据文件泄露出去;三是在云计算服务提供商处存储时。如何保证访问用户经过严格的权限认证并且是合法的数据访问,并保证用户在任何时候都可以安全访问到自身的数据文件。

从上面分析可以得出结论,保证云环境中数据文件传输的安全是云环境数据安全的重要环节。对用户数据文件进行加密是最根本的解决方法。

一、同态加密技术

同态技术是在两个集合之间传递的同时保存对应关系的技术。在第一个集合上的操作结果保存在第二个集合相应的成员中。

假设P和C是两个集合,P1、P2∈ P,t是两个集合之间的一个转换关系,t’是t的逆转换关系,集合之间的操作为+,如果:

同态加密技术在云环境数据文件传输中的应用

该系统称为同态。如果存在两种关系+和×,同时满足:

同态加密技术在云环境数据文件传输中的应用

并且:

同态加密技术在云环境数据文件传输中的应用

则该系统称为代数同态。前者最明显的作用是将两个成员P1和P2转换到C的范围内成为可能。这样就可以应用在某些加密中,并且可以让第三方执行+和×操作而保持映射关系不变。加密后仍可以解密回集合P的范围内。

一个代数同态加密系统可以看作是一个6元组,H1={P,c,t,t’,+,×},其中P和C分别代表明文和密文t和t’表示加密算法和解密算法。+和×表示两个代数运算。这样,有限的同态加密方案就建成了。 Gentry的研究是从一个somewhat同态系统引导出一个全同态,并能提供正常化过程的加法和乘法,被认为可以在密文空间允许无限的操作。这种技术减少了密文空间的噪音,但需要一个额外的约束条件,需要将H1拓展到H2。

同态加密技术在云环境数据文件传输中的应用

公式中引入了一个降噪算法r,将带噪音的密文转换成一个降噪的相应密文。

在进一步描述同态加密的概念之前,先论证一个非常简单的代数同态加密。虽然这个概念适用于所有的同态加密,但是这个例子旨在直观的展示一个加密是如何生效的。

假设P∈N,P是一个比较大的质数,作为密钥。a和b是任意的两个整数,满足a’a+(r*p),r∈N。_r属于任意整数。

这样就可以对a进行加密,明文a可以看做P对a’模的余数。那加密后的加法就可以表示为:

同态加密技术在云环境数据文件传输中的应用

这样当解密时P对a+b+(H1+H)*p求模就是(a+b)的值。乘法可以表示为:

同态加密技术在云环境数据文件传输中的应用

例如:

同态加密技术在云环境数据文件传输中的应用

本文可以很容易的证明这个公式是不完整的。因为操作a、b两者的结果如果大于质数模型P,那两者之间的加密操作就失败了。因此两个干净的纯文本元素,中间结果的增长对每个模型都有一定意义上的“污染”,为了弥补这一点,完全同态加密方案必须定义一个中间结果的正常化,(Gentry称之为重加密)在这里,正常化应该是可以最大减少对p求模后的余数的值,同时保留奇偶模型p,Gentry通过生成一个包含解密提示的公钥。这个提示允许同态加密的中间结果在加密域内。这意味着作为明文的参数始终是未知的。虽然在密文空间中有明文,这样通过重新加密明文生成新的降噪的密文是可能的。

二、同态加密技术在云环境数据文件传输中的应用

本文提出了在不可信资源中使用一种基于全同态加密指令和数据的方法来确保数据在云环境中的传输安全。在定义了代数同态加密进行加密的基础上,提供一种系统架构。这种概念解决了加密地址和分支加密的存储访问问题。同其他方法相比,该系统支持动态参数和非线性程序。

为了加密明文,将明文的比特位加密成密文,这些比特位包含在奇偶数求模余数的密文中,这可以很容易的将噪音降低到一个布尔代数。本文的系统的理论基础建立在如下两个定义之上。

定义1布尔表达式中的操作+引申为XOR操作

定义2定义a * b=(a+b)+(a*b)为OR操作

系统利用Java和C语言实现,本系统易于集成到现有的应用程序中,满足特殊的需求。系统架构如图1所示,以操作系统为基础,在其上层建立一个同态加密实现依赖库的执行引擎,加密程序本身是独立于特定类型的加密,汇编模块和执行引擎使用相同的加密库。只要汇编模块和执行引擎使用相同的加密库,加密程序独立于特定的加密类型。在系统中定义了—个借接口,确保任何可用加密库的互操作性。加密库提供了类似encode/decode/recode的功能。

同态加密技术在云环境数据文件传输中的应用

其中,encode函数输入一个整数,生成一个取决于加密密钥的加密bit数组。decode函数输入为一个加密bit数组,利用密钥进行解码。recode函数是正常化的过程,利用公钥生成一个降噪的加密bit流。模块化的系统设计使得加密库可以快速更换,系统的效率提高成为可能。

系统实现应用13位字长的小端格式内存,一个字包含8 bits和5 bits命令。这样处理器架构符合内存访问原则,数据和指令同时被加密,数据和指令合一在一个指令周期调用。如果—个内存位置被写入,只有数据部分被修改,指令部分不变。

本文提出了一种利用同态加密技术给数据文件加密,然后在加密数据文件上执行加密操作,最后进行数据传输的方案。同其他解决方案相比,代码以及处理的数据完全保存在密空间中,提高了云环境数据传输的可靠性和安全性。

小知识之同态加密

同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。