教育部《教育信息化十年发展规划(2011-2020年)》提出:到2015年,初步建成国家教育云基础平台,支持教育云资源平台和管理服务平台的有效部署与应用,可同时为IPv4和IPv6用户提供教育基础云服务。
随着“教育云”的不断普及,安全问题的重要性呈现逐步上升趋势,已成为制约其发展的重要因素本文通过分析当前“教育云”实验资源平台所面临的安全问题,提出“教育云”实验资源平台加密系统的设计与实现,以期为我国未来“教育云”安全的科研、产业发展做出有益的探索。
一、“教育云”实验资源平台安全问题
“教育云”安全问题已得到越来越多的关注。大多数的“教育云”架构都需要跨内部和外部群组处理共享资源池,因此安全和多租户就必须集成到运营架构和流程架构的各个方面中。在共享资源池的模式下,用户个人隐私数据具有极高的重要性、敏感性和保密性,保证其中数据的安全传输和存储已成为一个亟待解决的重要问题。
“教育云”的安全性也是影响它的普及与应用的关键因素,“教育云”虽然提供了对海量数据的存储技术,但同时也对数据的保密性和访问控制等安全问题提出了新的挑战。一些敏感的数据,比如学校财务数据、培训机构的学员档案、重要机构的文件等,必须经过加密才能放到“教育云”中。因此,如何在“教育云”中对数据实行加密和应用不同等级的访问控制约束规则,已成为新的研究热点。
二、“教育云”实验资源加密平台的设计
“教育云”实验资源平台加密系统综合利用了同态加密和椭圆曲线算法。基于数学难题的计算复杂性理论的密码技术,加密系统对经过加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始明文数据得到的输出结果是一样的。系统加密算法不同于传统的数据加密,允许在没有解密算法和解密密钥的条件下对加密的数据进行运算。系统在加密算法中,对明文信息经过某种分组和编码操作,将其嵌入到复杂椭圆曲线上,使其成为椭圆曲线有限群中的某个点,从而实现基于同态加密和椭圆曲线的数据混合加密。
系统在加密通信中,如果有一个偷窥者H,只能看到Ep(A,B)、K、G、C1、c2,而通过K、G求是或通过Cz、G求F都是相对困难的。因此,H无法得到A、B间传送的明文信息。其安全性是基于从公钥(kG)和基点(G)中很难计算出私钥(k)这一特性。实验基于模运算的整数因式分解问题和离散对数问题都存在亚指数(算法复杂度不到指数级别的算法称为亚指数)时间复杂度的通用算法。加密系统选择密钥长度为160bit的ECC和1 024 bit的RSA和DSA,这些密钥长度为各自系统提供了相对比较高的安全级。因此“教育云”实验资源平台加密能以更小的密钥长度产生与其他公钥体制相同等级的安全性。
加密系统结合同态加密和椭圆曲线的数学构建和面向对象程序设计思想,实现了在素数域上的椭圆曲线密码体质。加密系统设计开发是基于C++语言,C++语言具有良好的基础性和安全性,可以广泛应用于系统的基层峨综合同态加密和椭圆曲线算法,加密系统采用可自定义椭圆曲线参数,实现对重要文件进行加密,然后再用相应的密钥进行解密。“教育云”实验资源平台加密系统的加解密流程如图1所示。
三、“教育云”实验资源加密平台的实现
1、实现过程关键算法及代码
“教育云”实验资源平台加密系统使用基于MFC的多线程程序开发技术和Socket编程技术。加密系统进行加密通信的实现主要过程如下:
①首先选到一个适合加密的椭圆曲线Ep(A,B),并取椭圆曲线上的一点作为基点G;
②选择一个私有密钥k,并生成公开密钥K=kG;
③加密时,将明文编码到Ep(A,B)上的一点M,并产生一个随机整数r(r<n);
④计算点C1=M+rK,C2-rG;
⑤根据C1=kC2 =M+Rk-k(rG) =M+Rk-r(kG)-M,解得的结果就是点M,即明文。
椭圆曲线上的加法是加密系统实现的关键之一。
输入:椭圆曲线Ep(A,B),点Pl和Pz;输出:点P3=P1+P2,定义无穷远点。o[(z,y)+(z,-y)];oo+P=P;若P1 =P2,则m=(3x2 +a)/2yi。若Pl≠Pz,则m=(yz -y1)/(X2:一X1),计算za=m2-z1-X2( mod p);y3一7n(Xl -X3)-M(modp)。
椭圆曲线上的数乘是加密系统实现的另一关键,输入:椭圆曲线Ep(A,B),点P和倍数m,且m=∑mi2t;输出:mP;Q-- oo;For i from o to t do;if mi-lthen Q.I-Q+P;P<-P+P。
加密过程中设α,β∈Fpm,α,β相乘先按Z[z]上的多项式相乘(整数系数多项式相乘),然后系数在域Fp上约减,并约减多项式f,其乘法形式描述为:
加密平台结合同态加密( homomorphic encryp-tion,HE)技术,对解密所用私钥进行高强度加密,同时还可以利用HE技术对个人隐私数据进行加密,算法的同态性保证了用户可以对敏感数据进行操作同时又不泄露数据信息。秘密同态技术是建立在代数理论之上,加密平台实现基本过程如下:
假设Eki和Dk2分别代表加密和解密函数。明文数据是有限集合M={m1,m2,…,mn},α,β代表运算,若a(Ekl(ml):,Ekl(m2),...,Ekl (mn))=Ek1(p(m1,m2,....,mn))成立,则称函数族(Eki,Dkz,α,β)为二个秘密同态。
加密系统实现关键算法:
加密系统定义其参数为一个七元组;T=(g,FR,a,b,G,n,h),其中Q代表有限域GF(q),q为素数或2m,FR为域表示法,如,(x)为F2。域元素的不可约多项式的表示法。系统曲线的方程:当q为素数时,方程为y2 =X3 +ax+b;当g为2m时,方程为y2 +xy=z3 +ax+b;a,b是方程中的系数,G为基点;n为大素数并且是点G的阶,是小整数由椭圆曲线上的点的总数,除以视得到。系统主要的安全性参数是雅,因此ECC密钥的长度就定义为竹的长度。然后,在[1,n-1]之间随机确定一个整数d,作为其私钥,而以点Q=dG(G为基点)作其公钥;由此就确定了密钥对(d,Q)。在这个密码体制中,具体的曲线、基域Fq、基点G及其阶犯,以及公钥Q都是系统公开参数,而私钥D是保密的。
加密系统实现关键代码:
2、加密平台签名的生成
由于数字签名使用强大的加密技术和公钥基础结构,以更好地保证文档的真实性、完整性和受认可性。该流程非常安全,具有数字签名法律效力。“教育云”实验资源平台加密系统签名方案是FDH(全域杂凑)变体。公钥(n,e)、私钥d和消息M的签名如下公式(2):
其中m=H(M),H是杂凑函数,输出是区间[0,n-1]内的整数。M的签名S的验证通过计算机n=H(M)和m'=S。mod,再检查m=m'来完成的。为了加速加密平台签名操作,签名者计算公式(3):
其中p和q是n的素因子,dp=dmod(p-1),dq=d mod(q-1)。签名S的计算通过S=aSp+bSqmod以来完成,其中α和β是满足公式(4)的整数:
签名者可以预先计算dp,dq,α和β,整个签名过程就会更快。公式(2)中的乘方取模运算的指数和模数的长度是公式(1)中的指数和模数的一半。签名值会泄露私钥的信息,这种泄露本身并不意味着不安全,但是针对这个缺陷已经有若干有效的攻击,加密平台从消息M转到消息表示m的消息形式时加入部分随机信息,可以防范特殊故障分析攻击,进一步加强加密平台签名的安全性。
四、结果分析
根据本文提出和实现的加密系统,以“教育云”实验资源平台中用户个人隐私数据为例,对文本、字符串信息进行加密解密仿真。“教育云”实验资源平台加密系统对文本进行数据加密实验。
图2为原文,经过加密,打开加密后的文件可以看到,加密后的数据已经无法识别,如图3所示。系统密码体制是建立在同态加密和椭圆曲线密码理论基础上的先进公钥密码体制,选择e的65537-(216 +1)(e称为解密密钥),P的二进制表达式中只含2个“1”,可大大减少计算量。相比其他密码系统在同等安全的情况下,其所需的密钥长度远比RSA低,处理速度快,占用存储空间少,在比较短的时间里产生符合条件的密钥,满足计算能力非常有限的产生密钥对的要求。实验结果表明:该系统具有良好的加密效果,可满足“教育云”实验资源平台中数据安全的要求。
计算开销是完成加密和解密过程中所需要的计算量,决定了变换公钥和私钥所需的计算量。各系统的加密计算开销如表1所示,从表1看出本文“教育云”实验资源加密平台可在很短的时间里产生符合条件的密钥,因此,即使一个计算能力非常有限的灵巧卡也能产生满足要求的密钥对。