为了加强云计算系统安全,我们采用点集拓扑分形变幻运算进行随机密钥生成,并运用椭圆加密算法进行数据文件加密。

一、云计算安全体系结构

云计算是定制与交付服务的超级计算,其最大的优点是虚拟服务平台高效且定制服务总类丰富,具有广阔的市场应用前景,但是安全性问题一直是云计算的一大难点。云计算的不安全性表现在多个方面,比如信息体的伪造、变造、假冒、抵赖、木马攻击、病毒损毁等,这些使得云计算的应用推广受到阻碍。

其实不信任、不安全对云计算的危害不仅发生在服务定制和交付这两个出入口,也发生在中间过程,即:服务的组织、加工、整理、包装等过程,因此在整个云空间,云可信、云安全对正常的网络社会经济秩序构成了巨大的挑战。图1描述了云计算安全防护体系结构。

基于点集拓扑群分形变幻的云计算加密方法

要实现可控、可信、可验证的云计算安全系统必须保证基础架构安全,用户数据安全级运营管理安全,作为云计算的使用者来说,用户数据安全是最为关注的问题,保护用户信息的可用性、保密性和完整性是云计算必须攻克的难题,而身份验证、访问授权、访问控制及加密则是用户数据安全需要解决的具体问题。

本文从云计算加密系统方面展开研究,密钥生成是加密系统最关键的部分,其次是加密算法,采用点集拓扑分形变幻的密钥生成随机性强,安全性高的优点,而且分形变幻效率高,适合作为密钥生成运算方法。同时采用人脸、语音、指纹等生物特征点作为分形变幻的数据源,具有唯一性,进一步提高了加密系统的安全性,能给不同用户数据打上用户特有标签,有助于保护用户数据隐私。

二、点集拓扑群分形变幻的云计算加密实现

1、点集拓扑分形变幻密钥生成

(1)随机码生成

在密码学中,随机序列的作用不言而喻,它的生成一般使用伪随机生成器,包括给定长度为K的一个随机二进制序列(称为种子SEED)作为算法的输入,算法输出一个看上去似乎随机的二进制序列。

随机数是指用数学递推公式所产生的随机数。不同的开发环境提供的生成随机数的函数和方法不一样。在典型情况下,它会输出一个均匀分布在0和1区间内的伪随机变量的值。随机数发生器是在计算机中产生随机数的方法,经常采用如下公式:

基于点集拓扑群分形变幻的云计算加密方法

其中b、c、d为正整数,d称为由公式所产生的随机序列的种子,an是随机数序列。

由公式1可以看出,所产生的随机序列的值与b、c、d是有一定关系的。这种只在一定程度上满足随机性的序列称为伪随机数。用这个公式产生0—65536的a1,a2,....,an随机数序列,故称为232步长的倍增谐和随机数发生器。

(2)点集拓扑群对象的模型

如图2所示,点集”拓扑群论”对象可以表示为由矩形框包围点集的对象BioTPM[N],点集拓扑群论运算模型说明如下:

基于点集拓扑群分形变幻的云计算加密方法

a、设定基准点和基准方向点

设定该对象模型的基准点和基准方向点步骤,图2中的P、D所示,子集也如此。

b、设定坐标系

设定该对象模型的坐标系,如图2中xOy坐标系所示,子集也如此。

c、设定环运算特征

点集“拓扑群论”对象运算特征表示为,首先进行加法交换群位移操作,再进行乘法对称群旋转操作,也可在该乘法对称群旋转操作的同时增加乘法对称群翻转操作。当然规则要事先确定,子集也如此。在图2中,位移方向由P、D连线的箭头指示,位移量由P、D箭头连线长度Move [N]指示,Move [N]是BioTPM[N]到BioTPM [N+1]的基准点P
位移值;旋转由Round[N]弧线箭头指示,旋转量由Round[N]弧长指示,Round[N]是BioTPM [N+1]的旋转值。

需要说明的是,设定先加法位移后,再乘法旋转,该两项操作为一次组合操作,在”群论”中称环运算。该环运算次数为MRNumber[N]。图2只进行了一次加法位移和乘法旋转,因此MRNumber[N]值为1,该环的运算次数不改变点集“拓扑群论”对象的属性。

上述基于点集“拓扑群论”对象的定义中,涉及该环运算特征参数的确定,即加法位移量Move [N]、乘法旋转量Round[M、环运算次数MRNumber[N]。同时,该点集”拓扑群论”对象的非线性变换和变幻要求该环运算特征参数非线性。

Move [N]、Round[N]、MRNumber[N]的初始化值来自于节点”子集自组织”,这些值的确定是点集拓扑群论运算的关键点。

(3)点集拓扑群分形变幻环运算

特征图像点的集合用G[K]表示,G[K]中又有子集Gl[K],…,G [K],设定GnLKl为最后一个子集。提取自组织于集合G[K]的两个子集Gi[K]、GnLKl,参与基于混沌的散列运算。设定位移量Move[K]是子集Gl[K]的散列运算值、乘法旋转量Round[K]是Gn[Kl的散列运算值、环运算次数MRNumber[K]是G1[K]、Gn[K]或Gl[K]模Gll[K]的散列运算值。

基于群特征的运算是点集”拓扑群”分形变幻环运算,设定点集”拓扑群”分形变幻环运算,由单位拓扑群分形变幻环运算构成,是该单位群的加法运算。设定单位群是连续的单位环运算。其中,单位环运算是单位点集拓扑群环运算的简称,是该点集先加法位移后,再乘法旋转的运算,而该分形变幻则是反复的”单位环”运算。具体运算流程如图3所示。

“单位群”加法运算的数学规定如下:

a、1个“单位群”+0个“单位群”=1个“单位群”,即进行该连续的“单位环”运算。

b、1个“单位群”+1个“单位群”=2个“单位群”,即进行二连续的“单位群”运算。

c、1个“单位群”+K个“单位群”=K+1个“单位群”,即K+1连续的“单位群”运算。

基于点集拓扑群分形变幻的云计算加密方法

点集拓扑群分形变幻环运算的流程步骤如下:

(1):输入集合G[K]及子集Gl[K],...;Gn[K],初始化1个”单位群”运算;

(2):设定子集G1[K]为集合G[K]的自组织对象;

(3):设定子集Gn[K]为集合G[K]的自组织对象;

(4):谜Move[K]是GI[K]的散列运算值、Round[K]是Gn[Kl的散列运算值、MRNumber[K]是Gl[K],GnLKl或Gi[K]模GnLKl的散列运算值:

(5):设定K个”单位群”运算的循环,K的初始化值为1;

(6):设定1个”单位群”即一个连续环运算及其运算规则,循环次数为MRNumber[N]次;

(7):设定K个”单位群”运算的循环限制值;

(8):输出K个”单位群”运算的点集”拓扑群”分形变幻环运算值。

(4)密钥生成

运用VC++实现点集拓扑分形变幻运算如图4所示。

基于点集拓扑群分形变幻的云计算加密方法

打开选择特征数据,本文选择指纹图像作为特征数据,然后选择变幻次数,选择100次,然后选择保存路径及保存名字,最后选择应用,变幻结果立即生成,且存入保存路径的log.log文件中。

变幻结果如图5所示,显示由子集GI[K]和G[K]组成集合G[K]一系列数据,其中m和m’分别表示Gi和G2作平移旋转操作的次数。从开始到结束显示每一系列数据都不同,呈现很大的变幻随机性。

基于点集拓扑群分形变幻的云计算加密方法

Move[K]、Round[K]、MRNumber[K]数值范围从Move[l]=l、Round[l]=0、MRNumber[1]=3,直到随100次单位点集”拓扑群”分形变幻环运算,呈现Move[100]=6、 Round[100]=0、MRNumber[100]=3。文件列从子集G1[2]和G2[2]组成的集合G[2]系列数据开始,到子集G1[101]和G2[101]组成的集合G[lO1]系列数据结束,是100组集合G[K]变幻数据,第1组集合是初始数据。

利用此分形变幻的随机序列作为密钥对数据进行加密,具有非常高的安全性,密钥的生成以指纹图像作为输入特征值,具有唯一性,可靠性及辨识性更高。

2、加密实现

加密的过程就是根据密钥和明文生成密文的过程,密钥由指纹图像经过点集拓扑分形变幻而得,密文由加密算法而得,具体过程如图6所示。

基于点集拓扑群分形变幻的云计算加密方法

(1)椭圆加密算法

本文采用椭圆加密算法,它与传统的基于大质数因子分解困难性的加密方法不同,椭圆加密算法ECC (Elliptic Curve Cryptosystems)通过椭圆曲线方程式的性质产生密钥,ECC 164位的密钥产生一个安全级,相当于RSA 1024位密钥提供的保密强度,而且计算量较小,处理速度更快,存储空间和传输带宽占用较少,因此常被用于安全级高的加密系统中。

椭圆曲线即三次平滑代数平面曲线(SmoothAlgebraic Plane Curve),可在适当的坐标下,表达成Weierstrass方程式:

基于点集拓扑群分形变幻的云计算加密方法

除了特殊系数,一般而言,可在适当的坐标下,表示为:

基于点集拓扑群分形变幻的云计算加密方法

在系数K上的平面图形,其中E也包括无限远点O。

令P、Q为E(FP)上的两点,假设点Q由点P生成。在E上的离散对数问题就是要解Q=[k]P的K值。

令E为定义在FP上的椭圆曲线,则E(FP)的个数满足#E(Fp)=p+1+t,其中误差项|t|<2√p,则:

基于点集拓扑群分形变幻的云计算加密方法

给定私有密钥k,K=k.#E(Fp),就可计算出经过加密后的公开密钥K,其中p的值越大,安全性也好,但加密速度变慢,一般而言,p取200-bit左右。

(2)椭圆加密实现

首先通过点集拓扑变幻将指纹图像生成密钥,然后将密钥和要加密的明文,通过椭圆加密算法生成密文,密文通过相同的密钥进行解密,恢复原文,依据此功能,通过VC++开发程序,程序界面图如图7所示。

基于点集拓扑群分形变幻的云计算加密方法

如上图所示,对明文12981进行椭圆加密,加密的密钥来自于点集拓扑分形变幻运算,加密后的密文为(646034, 519257840) (672986, 519297773),点击“解密”按钮,恢复为原文12981。采用此加密方法具有速度快,安全性高的优点。

小知识之拓扑

拓扑学的英文名是Topology,直译是地志学,也就是和研究地形、地貌相类似的有关学科。几何拓扑学是十九世纪形成的一门数学分支,它属于几何学的范畴。有关拓扑学的一些内容早在十八世纪就出现了。那时候发现一些孤立的问题,后来在拓扑学的形成中占着重要的地位。