“教育云”实验资源加密平台的设计与实现

2013-05-03 11:03孔艺权
实验技术与管理 2013年6期
关键词:同态公钥密钥

孔艺权

(湛江师范学院 信息科学与技术学院,广东 湛江 524048)

教育部《教育信息化十年发展规划(2011—2020年)》[1]提出:到2015年,初步建成国家教育云基础平台,支持教育云资源平台和管理服务平台的有效部署与应用,可同时为IPv4和IPv6用户提供教育基础云服务。

随着“教育云”[2-3]的不断普及,安全问题的重要性呈现逐步上升趋势,已成为制约其发展的重要因素[4]。本文通过分析当前“教育云”实验资源平台所面临的安全问题,提出“教育云”实验资源平台加密系统的设计与实现,以期为我国未来“教育云”安全的科研、产业发展做出有益的探索。

1 “教育云”实验资源平台安全问题

“教育云”安全问题已得到越来越多的关注。大多数的“教育云”架构都需要跨内部和外部群组处理共享资源池,因此安全和多租户就必须集成到运营架构和流程架构的各个方面中。在共享资源池的模式下,用户个人隐私数据具有极高的重要性、敏感性和保密性,保证其中数据的安全传输和存储已成为一个亟待解决的重要问题。

“教育云”的安全性也是影响它的普及与应用的关键因素,“教育云”虽然提供了对海量数据的存储技术,但同时也对数据的保密性和访问控制等安全问题提出了新的挑战。一些敏感的数据,比如学校财务数据、培训机构的学员档案、重要机构的文件等,必须经过加密才能放到“教育云”中。因此,如何在“教育云”中对数据实行加密和应用不同等级的访问控制约束规则,已成为新的研究热点[5-6]。

2 “教育云”实验资源加密平台的设计

“教育云”实验资源平台加密系统综合利用了同态加密[7]和椭圆曲线[8]算法。基于数学难题的计算复杂性理论的密码技术,加密系统对经过加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始明文数据得到的输出结果是一样的。系统加密算法不同于传统的数据加密,允许在没有解密算法和解密密钥的条件下对加密的数据进行运算。系统在加密算法中,对明文信息经过某种分组和编码操作,将其嵌入到复杂椭圆曲线上,使其成为椭圆曲线有限群中的某个点,从而实现基于同态加密和椭圆曲线的数据混合加密。

系统在加密通信中,如果有一个偷窥者H,只能看到Ep(A,B)、K、G、C1、C2,而通过K、G 求k 或通过C2、G求r都是相对困难的。因此,H无法得到A、B间传送的明文信息。其安全性是基于从公钥(kG)和基点(G)中很难计算出私钥(k)这一特性。实验基于模运算的整数因式分解问题和离散对数问题都存在亚指数(算法复杂度不到指数级别的算法称为亚指数)时间复杂度的通用算法。加密系统选择密钥长度为160 bit的ECC和1 024bit的RSA和DSA,这些密钥长度为各自系统提供了相对比较高的安全级[9]。因此“教育云”实验资源平台加密能以更小的密钥长度产生与其他公钥体制相同等级的安全性。

加密系统结合同态加密和椭圆曲线的数学构建和面向对象程序设计思想,实现了在素数域上的椭圆曲线密码体质。加密系统设计开发是基于C++语言,C++语言具有良好的基础性和安全性[10],可以广泛应用于系统的基层。综合同态加密和椭圆曲线算法,加密系统采用可自定义椭圆曲线参数,实现对重要文件进行加密,然后再用相应的密钥进行解密。“教育云”实验资源平台加密系统的加解密流程如图1所示。

图1 “教育云”实验资源加密平台的加解密流程图

3 “教育云”实验资源加密平台的实现

3.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),点P1和P2;输出:点P3=P1+P2,定义无穷远点∞ [(x,y)+(x,-y)];∞ +P=P;若P1=P2,则m=(3x2+a)/2y1。若P1≠P2,则m=(y2-y1)/(x2-x1),计算x3=m2-x1-x2(mod p);y3=m(x1-x3)-y1(mod p)。

椭圆曲线上的数乘是加密系统实现的另一关键,输入:椭圆曲线Ep(A,B),点P和倍数m,且m=∑mi2t;输出:mP;Q←∞;For i from 0to t do;if mi=1then Q←Q+P ;P←P+P。

加密过程中设α,β∈Fpm,α和β相乘先按Z[z]上的多项式相乘(整数系数多项式相乘),然后系数在域Fp上约减,并约减多项式f,其乘法形式描述为

加密平台结合同态加密(homomorphic encryption,HE)技术,对解密所用私钥进行高强度加密,同时还可以利用HE技术对个人隐私数据进行加密,算法的同态性保证了用户可以对敏感数据进行操作同时又不泄露数据信息。秘密同态技术是建立在代数理论之上,加密平台实现基本过程如下:

假设Ek1和Dk2分别代表加密和解密函数。明文数据是有限集合M = {m1,m2,…,mn},α和β代表运算,若α(Ek1(m1),Ek1(m2),…,Ek1(mn))=Ek1(β(m1,m2,…,mn))成立,则称函数族(Ek1,Dk2,α,β)为一个秘密同态。

加密系统实现关键算法:

Require:an integer k>0and a point PEnsure:x(kP )k ←k11,...,k1,k0P1← P,P2←2P

Input:Window width w,k=(kt1;:::;k1;k0)2,l= (lt1;:::;l1;l0)2,P;Q;Output:kP +lQ。

① Compute iP +jQ for all i;j 2[0;2w1];

② Write k= (kd1;:::;k1;k0)and l=(ld1;:::;l1;l0)where each ki and li is a bit string of length w,and d=dt=we;

③ R O;

④ For i from d 1downto 0do;

⑤ R 2wR;

⑥ R R+ (kiP+liQ);

⑦end for Return(R)。

加密系统定义其参数为一个七元组:T=(q,FR,a,b,G,n,h),其中Q 代表有限域GF(q),q为素数或2m,FR为域表示法,如f(x)为F2m域元素的不可约多项式的表示法。系统曲线的方程:当q为素数时,方程为y2=x3+ax+b;当q为2m时,方程为y2+xy=x3+ax+b;a,b是方程中的系数,G 为基点;n为大素数并且是点G的阶,是小整数由椭圆曲线上的点的总数,除以n得到。系统主要的安全性参数是n,因此ECC密钥的长度就定义为n的长度。然后,在[1,n-1]之间随机确定一个整数d,作为其私钥,而以点Q=dG(G为基点)作其公钥;由此就确定了密钥对(d,Q)。在这个密码体制中,具体的曲线、基域Fq、基点G及其阶n,以及公钥Q都是系统公开参数,而私钥D是保密的。

加密系统实现关键代码:

3.2 加密平台签名的生成

由于数字签名[11]使用强大的加密技术和公钥基础结构,以更好地保证文档的真实性、完整性和受认可性。该流程非常安全,具有数字签名法律效力。“教育云”实验资源平台加密系统签名方案是FDH(全域杂凑)变体。公钥(n,e)、私钥d和消息M 的签名如下公式(2):

其中m=H(M),H 是杂凑函数,输出是区间[0,n-1]内的整数。M 的签名S的验证通过计算机m=H(M)和m′=Semod,再检查m=m′来完成的。为了加速加密平台签名操作,签名者计算公式(3):

其中p和q是n的素因子,dp=dmod(p-1),dq=d mod(q-1)。签名S的计算通过S=aSp+bSqmod n来完成,其中α和β是满足公式(4)的整数:

签名者可以预先计算dp,dq,α和β,整个签名过程就会更快。公式(2)中的乘方取模运算的指数和模数的长度是公式(1)中的指数和模数的一半。签名值会泄露私钥的信息,这种泄露本身并不意味着不安全,但是针对这个缺陷已经有若干有效的攻击[12],加密平台从消息M转到消息表示m的消息形式时加入部分随机信息,可以防范特殊故障分析攻击,进一步加强加密平台签名的安全性。

4 结果分析

根据本文提出和实现的加密系统,以“教育云”实验资源平台中用户个人隐私数据为例,对文本、字符串信息进行加密解密仿真。“教育云”实验资源平台加密系统对文本进行数据加密实验。图2为原文,经过加密,打开加密后的文件可以看到,加密后的数据已经无法识别,如图3所示。系统密码体制是建立在同态加密和椭圆曲线密码理论基础上的先进公钥密码体制,选择e=65537=(216+1)(e称为解密密钥),e的二进制表达式中只含2个“1”,可大大减少计算量。相比其他密码系统在同等安全的情况下,其所需的密钥长度远比RSA低,处理速度快,占用存储空间少,在比较短的时间里产生符合条件的密钥,满足计算能力非常有限的产生密钥对的要求。实验结果表明:该系统具有良好的加密效果,可满足“教育云”实验资源平台中数据安全的要求。

图2 “教育云”原文

计算开销是完成加密和解密过程中所需要的计算量,决定了变换公钥和私钥所需的计算量。各系统的加密计算开销如表1所示。从表1看出本文“教育云”实验资源加密平台可在很短的时间里产生符合条件的密钥,因此,即使一个计算能力非常有限的灵巧卡也能产生满足要求的密钥对。

图3 “教育云”密文

表1 加密计算开销比较

5 结束语

随着“教育云”的广泛应用,数据处理能力的逐渐增强,DES、TDES、AES等传统对称加密算法越来越不能满足安全性的需要,同时数据挖掘的个人隐私与信息安全问题尤其受到关注,误用、滥用数据挖掘可能导致用户数据特别是敏感信息的泄露,越来越多的人们对此表示担忧,甚至拒绝提供真实的数据[13]。

本文根据“教育云”实验资源平台中数据存储和传输的安全要求,设计并实现了一个数据加密系统。该系统采用基于同态加密和椭圆曲线算法,加密速度快,安全性高。系统对非实时数据(如文件)采用私钥密码体制和公钥密码体制相结合的方法,实现了文件的保密传输和加密存储,因而更适合当今“教育云”需要快速反应的发展潮流,在教育云安全客户端、CA认证中心和无线通信与移动商务等领域,文件传输的安全应用都具有广阔的市场前景。云计算将必然会给实验资源平台管理工作带来新的发展机遇,并以其独特优势有效解决目前实验资源管理与共享中存在的种种问题,使得云计算技术能够在技术层面与管理层面对实验室的系统管理上发挥更好的作用。

[1]中华人民共和国教育部.教育部关于印发《教育信息化十年发展规划(2011—2020年)》的通知[EB/OL].[2012-08-11].http://www.moe.gov.cn/publicfiles/business/htmlfiles/moe/s3342/201203/133322.html,2012-03-12.

[2]Chen K,Zheng WM.Cloud computing:System instances and current research[J].Journal of Software,2009,20(5):1337-1348.

[3]黎加厚.低碳型教育与云计算辅助教学[J].中国信息技术教育,2010(1):73-77.

[4]吴吉义,沈千里,章剑林.云计算:从云安全到可信云[J].计算机研究与发展,2011,48(增刊1):229-233.

[5]林子雨,赖永炫,林琛.云数据库研究[EB/OL].[2012-08-11].http://www.cnki.net/kcms/detail/11.2560.TP.20120227.1143.001.html,2012-02-27.

[6]王萍,张际平.云计算与网络学习[J].现代教育技术,2008,18(11):81-84.

[7]向广利,陈莘萌,马捷.实数范围上的同态加密机制[J].计算机工程与应用,2005,41(20):12-14.

[8]户占良.椭圆曲线密码体制的研究与应用[J].山西师范大学学报:自然科学版,2010(3):12-13.

[9]姜晓梅,任朝荣.椭圆曲线密码体制速度分析[J].武汉大学学报:理学版,2004,50(增刊1):189-191.

[10]王玉芬,郭晓娟.云计算对高校教学资源影响解析[J].实验技术与管理,2010,27(5):111-11.

[11]赵翔.数字签名综述[J].计算机工程与设计,2006,27(2):195-197.

[12]胡予濮.一个新型的NTRU类数字签名方案[J].计算机学报,2008,31(9):1661-1665.

[13]钱萍,吴蒙.同态加密隐私保护数据挖掘方法综述[J].计算机应用研究,2011,28(5):1614-1617.

猜你喜欢
同态公钥密钥
密码系统中密钥的状态与保护*
关于半模同态的分解*
拉回和推出的若干注记
一种基于混沌的公钥加密方案
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
一种基于LWE的同态加密方案
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
基于格的公钥加密与证书基加密