孔藝權(quán)
(湛江師范學(xué)院 信息科學(xué)與技術(shù)學(xué)院,廣東 湛江 524048)
教育部《教育信息化十年發(fā)展規(guī)劃(2011—2020年)》[1]提出:到2015年,初步建成國家教育云基礎(chǔ)平臺(tái),支持教育云資源平臺(tái)和管理服務(wù)平臺(tái)的有效部署與應(yīng)用,可同時(shí)為IPv4和IPv6用戶提供教育基礎(chǔ)云服務(wù)。
隨著“教育云”[2-3]的不斷普及,安全問題的重要性呈現(xiàn)逐步上升趨勢,已成為制約其發(fā)展的重要因素[4]。本文通過分析當(dāng)前“教育云”實(shí)驗(yàn)資源平臺(tái)所面臨的安全問題,提出“教育云”實(shí)驗(yàn)資源平臺(tái)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),以期為我國未來“教育云”安全的科研、產(chǎn)業(yè)發(fā)展做出有益的探索。
“教育云”安全問題已得到越來越多的關(guān)注。大多數(shù)的“教育云”架構(gòu)都需要跨內(nèi)部和外部群組處理共享資源池,因此安全和多租戶就必須集成到運(yùn)營架構(gòu)和流程架構(gòu)的各個(gè)方面中。在共享資源池的模式下,用戶個(gè)人隱私數(shù)據(jù)具有極高的重要性、敏感性和保密性,保證其中數(shù)據(jù)的安全傳輸和存儲(chǔ)已成為一個(gè)亟待解決的重要問題。
“教育云”的安全性也是影響它的普及與應(yīng)用的關(guān)鍵因素,“教育云”雖然提供了對(duì)海量數(shù)據(jù)的存儲(chǔ)技術(shù),但同時(shí)也對(duì)數(shù)據(jù)的保密性和訪問控制等安全問題提出了新的挑戰(zhàn)。一些敏感的數(shù)據(jù),比如學(xué)校財(cái)務(wù)數(shù)據(jù)、培訓(xùn)機(jī)構(gòu)的學(xué)員檔案、重要機(jī)構(gòu)的文件等,必須經(jīng)過加密才能放到“教育云”中。因此,如何在“教育云”中對(duì)數(shù)據(jù)實(shí)行加密和應(yīng)用不同等級(jí)的訪問控制約束規(guī)則,已成為新的研究熱點(diǎn)[5-6]。
“教育云”實(shí)驗(yàn)資源平臺(tái)加密系統(tǒng)綜合利用了同態(tài)加密[7]和橢圓曲線[8]算法?;跀?shù)學(xué)難題的計(jì)算復(fù)雜性理論的密碼技術(shù),加密系統(tǒng)對(duì)經(jīng)過加密的數(shù)據(jù)進(jìn)行處理得到一個(gè)輸出,將這一輸出進(jìn)行解密,其結(jié)果與用同一方法處理未加密的原始明文數(shù)據(jù)得到的輸出結(jié)果是一樣的。系統(tǒng)加密算法不同于傳統(tǒng)的數(shù)據(jù)加密,允許在沒有解密算法和解密密鑰的條件下對(duì)加密的數(shù)據(jù)進(jìn)行運(yùn)算。系統(tǒng)在加密算法中,對(duì)明文信息經(jīng)過某種分組和編碼操作,將其嵌入到復(fù)雜橢圓曲線上,使其成為橢圓曲線有限群中的某個(gè)點(diǎn),從而實(shí)現(xiàn)基于同態(tài)加密和橢圓曲線的數(shù)據(jù)混合加密。
系統(tǒng)在加密通信中,如果有一個(gè)偷窺者H,只能看到Ep(A,B)、K、G、C1、C2,而通過K、G 求k 或通過C2、G求r都是相對(duì)困難的。因此,H無法得到A、B間傳送的明文信息。其安全性是基于從公鑰(kG)和基點(diǎn)(G)中很難計(jì)算出私鑰(k)這一特性。實(shí)驗(yàn)基于模運(yùn)算的整數(shù)因式分解問題和離散對(duì)數(shù)問題都存在亞指數(shù)(算法復(fù)雜度不到指數(shù)級(jí)別的算法稱為亞指數(shù))時(shí)間復(fù)雜度的通用算法。加密系統(tǒng)選擇密鑰長度為160 bit的ECC和1 024bit的RSA和DSA,這些密鑰長度為各自系統(tǒng)提供了相對(duì)比較高的安全級(jí)[9]。因此“教育云”實(shí)驗(yàn)資源平臺(tái)加密能以更小的密鑰長度產(chǎn)生與其他公鑰體制相同等級(jí)的安全性。
加密系統(tǒng)結(jié)合同態(tài)加密和橢圓曲線的數(shù)學(xué)構(gòu)建和面向?qū)ο蟪绦蛟O(shè)計(jì)思想,實(shí)現(xiàn)了在素?cái)?shù)域上的橢圓曲線密碼體質(zhì)。加密系統(tǒng)設(shè)計(jì)開發(fā)是基于C++語言,C++語言具有良好的基礎(chǔ)性和安全性[10],可以廣泛應(yīng)用于系統(tǒng)的基層。綜合同態(tài)加密和橢圓曲線算法,加密系統(tǒng)采用可自定義橢圓曲線參數(shù),實(shí)現(xiàn)對(duì)重要文件進(jìn)行加密,然后再用相應(yīng)的密鑰進(jìn)行解密。“教育云”實(shí)驗(yàn)資源平臺(tái)加密系統(tǒng)的加解密流程如圖1所示。

圖1 “教育云”實(shí)驗(yàn)資源加密平臺(tái)的加解密流程圖
“教育云”實(shí)驗(yàn)資源平臺(tái)加密系統(tǒng)使用基于 MFC的多線程程序開發(fā)技術(shù)和Socket編程技術(shù)。加密系統(tǒng)進(jìn)行加密通信的實(shí)現(xiàn)主要過程如下:
①首先選到一個(gè)適合加密的橢圓曲線Ep(A,B),并取橢圓曲線上的一點(diǎn)作為基點(diǎn)G;
②選擇一個(gè)私有密鑰k,并生成公開密鑰K=kG;
③ 加密時(shí),將明文編碼到Ep(A,B)上的一點(diǎn)M,并產(chǎn)生一個(gè)隨機(jī)整數(shù)r(r<n);
④ 計(jì)算點(diǎn)C1=M+rK,C2=rG;
⑤ 根據(jù)C1-kC2=M+Rk-k(rG)=M+Rk-r(kG)=M,解得的結(jié)果就是點(diǎn)M,即明文。
橢圓曲線上的加法是加密系統(tǒng)實(shí)現(xiàn)的關(guān)鍵之一。輸入:橢圓曲線Ep(A,B),點(diǎn)P1和P2;輸出:點(diǎn)P3=P1+P2,定義無窮遠(yuǎn)點(diǎn)∞ [(x,y)+(x,-y)];∞ +P=P;若P1=P2,則m=(3x2+a)/2y1。若P1≠P2,則m=(y2-y1)/(x2-x1),計(jì)算x3=m2-x1-x2(mod p);y3=m(x1-x3)-y1(mod p)。
橢圓曲線上的數(shù)乘是加密系統(tǒng)實(shí)現(xiàn)的另一關(guān)鍵,輸入:橢圓曲線Ep(A,B),點(diǎn)P和倍數(shù)m,且m=∑mi2t;輸出:mP;Q←∞;For i from 0to t do;if mi=1then Q←Q+P ;P←P+P。
加密過程中設(shè)α,β∈Fpm,α和β相乘先按Z[z]上的多項(xiàng)式相乘(整數(shù)系數(shù)多項(xiàng)式相乘),然后系數(shù)在域Fp上約減,并約減多項(xiàng)式f,其乘法形式描述為

加密平臺(tái)結(jié)合同態(tài)加密(homomorphic encryption,HE)技術(shù),對(duì)解密所用私鑰進(jìn)行高強(qiáng)度加密,同時(shí)還可以利用HE技術(shù)對(duì)個(gè)人隱私數(shù)據(jù)進(jìn)行加密,算法的同態(tài)性保證了用戶可以對(duì)敏感數(shù)據(jù)進(jìn)行操作同時(shí)又不泄露數(shù)據(jù)信息。秘密同態(tài)技術(shù)是建立在代數(shù)理論之上,加密平臺(tái)實(shí)現(xiàn)基本過程如下:
假設(shè)Ek1和Dk2分別代表加密和解密函數(shù)。明文數(shù)據(jù)是有限集合M = {m1,m2,…,mn},α和β代表運(yùn)算,若α(Ek1(m1),Ek1(m2),…,Ek1(mn))=Ek1(β(m1,m2,…,mn))成立,則稱函數(shù)族(Ek1,Dk2,α,β)為一個(gè)秘密同態(tài)。
加密系統(tǒng)實(shí)現(xiàn)關(guān)鍵算法:
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ǒng)定義其參數(shù)為一個(gè)七元組:T=(q,F(xiàn)R,a,b,G,n,h),其中Q 代表有限域GF(q),q為素?cái)?shù)或2m,F(xiàn)R為域表示法,如f(x)為F2m域元素的不可約多項(xiàng)式的表示法。系統(tǒng)曲線的方程:當(dāng)q為素?cái)?shù)時(shí),方程為y2=x3+ax+b;當(dāng)q為2m時(shí),方程為y2+xy=x3+ax+b;a,b是方程中的系數(shù),G 為基點(diǎn);n為大素?cái)?shù)并且是點(diǎn)G的階,是小整數(shù)由橢圓曲線上的點(diǎn)的總數(shù),除以n得到。系統(tǒng)主要的安全性參數(shù)是n,因此ECC密鑰的長度就定義為n的長度。然后,在[1,n-1]之間隨機(jī)確定一個(gè)整數(shù)d,作為其私鑰,而以點(diǎn)Q=dG(G為基點(diǎn))作其公鑰;由此就確定了密鑰對(duì)(d,Q)。在這個(gè)密碼體制中,具體的曲線、基域Fq、基點(diǎn)G及其階n,以及公鑰Q都是系統(tǒng)公開參數(shù),而私鑰D是保密的。
加密系統(tǒng)實(shí)現(xiàn)關(guān)鍵代碼:
由于數(shù)字簽名[11]使用強(qiáng)大的加密技術(shù)和公鑰基礎(chǔ)結(jié)構(gòu),以更好地保證文檔的真實(shí)性、完整性和受認(rèn)可性。該流程非常安全,具有數(shù)字簽名法律效力?!敖逃啤睂?shí)驗(yàn)資源平臺(tái)加密系統(tǒng)簽名方案是FDH(全域雜湊)變體。公鑰(n,e)、私鑰d和消息M 的簽名如下公式(2):
其中m=H(M),H 是雜湊函數(shù),輸出是區(qū)間[0,n-1]內(nèi)的整數(shù)。M 的簽名S的驗(yàn)證通過計(jì)算機(jī)m=H(M)和m′=Semod,再檢查m=m′來完成的。為了加速加密平臺(tái)簽名操作,簽名者計(jì)算公式(3):

其中p和q是n的素因子,dp=dmod(p-1),dq=d mod(q-1)。簽名S的計(jì)算通過S=aSp+bSqmod n來完成,其中α和β是滿足公式(4)的整數(shù):

簽名者可以預(yù)先計(jì)算dp,dq,α和β,整個(gè)簽名過程就會(huì)更快。公式(2)中的乘方取模運(yùn)算的指數(shù)和模數(shù)的長度是公式(1)中的指數(shù)和模數(shù)的一半。簽名值會(huì)泄露私鑰的信息,這種泄露本身并不意味著不安全,但是針對(duì)這個(gè)缺陷已經(jīng)有若干有效的攻擊[12],加密平臺(tái)從消息M轉(zhuǎn)到消息表示m的消息形式時(shí)加入部分隨機(jī)信息,可以防范特殊故障分析攻擊,進(jìn)一步加強(qiáng)加密平臺(tái)簽名的安全性。
根據(jù)本文提出和實(shí)現(xiàn)的加密系統(tǒng),以“教育云”實(shí)驗(yàn)資源平臺(tái)中用戶個(gè)人隱私數(shù)據(jù)為例,對(duì)文本、字符串信息進(jìn)行加密解密仿真?!敖逃啤睂?shí)驗(yàn)資源平臺(tái)加密系統(tǒng)對(duì)文本進(jìn)行數(shù)據(jù)加密實(shí)驗(yàn)。圖2為原文,經(jīng)過加密,打開加密后的文件可以看到,加密后的數(shù)據(jù)已經(jīng)無法識(shí)別,如圖3所示。系統(tǒng)密碼體制是建立在同態(tài)加密和橢圓曲線密碼理論基礎(chǔ)上的先進(jìn)公鑰密碼體制,選擇e=65537=(216+1)(e稱為解密密鑰),e的二進(jìn)制表達(dá)式中只含2個(gè)“1”,可大大減少計(jì)算量。相比其他密碼系統(tǒng)在同等安全的情況下,其所需的密鑰長度遠(yuǎn)比RSA低,處理速度快,占用存儲(chǔ)空間少,在比較短的時(shí)間里產(chǎn)生符合條件的密鑰,滿足計(jì)算能力非常有限的產(chǎn)生密鑰對(duì)的要求。實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)具有良好的加密效果,可滿足“教育云”實(shí)驗(yàn)資源平臺(tái)中數(shù)據(jù)安全的要求。

圖2 “教育云”原文
計(jì)算開銷是完成加密和解密過程中所需要的計(jì)算量,決定了變換公鑰和私鑰所需的計(jì)算量。各系統(tǒng)的加密計(jì)算開銷如表1所示。從表1看出本文“教育云”實(shí)驗(yàn)資源加密平臺(tái)可在很短的時(shí)間里產(chǎn)生符合條件的密鑰,因此,即使一個(gè)計(jì)算能力非常有限的靈巧卡也能產(chǎn)生滿足要求的密鑰對(duì)。

圖3 “教育云”密文

表1 加密計(jì)算開銷比較
隨著“教育云”的廣泛應(yīng)用,數(shù)據(jù)處理能力的逐漸增強(qiáng),DES、TDES、AES等傳統(tǒng)對(duì)稱加密算法越來越不能滿足安全性的需要,同時(shí)數(shù)據(jù)挖掘的個(gè)人隱私與信息安全問題尤其受到關(guān)注,誤用、濫用數(shù)據(jù)挖掘可能導(dǎo)致用戶數(shù)據(jù)特別是敏感信息的泄露,越來越多的人們對(duì)此表示擔(dān)憂,甚至拒絕提供真實(shí)的數(shù)據(jù)[13]。
本文根據(jù)“教育云”實(shí)驗(yàn)資源平臺(tái)中數(shù)據(jù)存儲(chǔ)和傳輸?shù)陌踩?,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)數(shù)據(jù)加密系統(tǒng)。該系統(tǒng)采用基于同態(tài)加密和橢圓曲線算法,加密速度快,安全性高。系統(tǒng)對(duì)非實(shí)時(shí)數(shù)據(jù)(如文件)采用私鑰密碼體制和公鑰密碼體制相結(jié)合的方法,實(shí)現(xiàn)了文件的保密傳輸和加密存儲(chǔ),因而更適合當(dāng)今“教育云”需要快速反應(yīng)的發(fā)展潮流,在教育云安全客戶端、CA認(rèn)證中心和無線通信與移動(dòng)商務(wù)等領(lǐng)域,文件傳輸?shù)陌踩珣?yīng)用都具有廣闊的市場前景。云計(jì)算將必然會(huì)給實(shí)驗(yàn)資源平臺(tái)管理工作帶來新的發(fā)展機(jī)遇,并以其獨(dú)特優(yōu)勢有效解決目前實(shí)驗(yàn)資源管理與共享中存在的種種問題,使得云計(jì)算技術(shù)能夠在技術(shù)層面與管理層面對(duì)實(shí)驗(yàn)室的系統(tǒng)管理上發(fā)揮更好的作用。
(
)
[1]中華人民共和國教育部.教育部關(guān)于印發(fā)《教育信息化十年發(fā)展規(guī)劃(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ì)算輔助教學(xué)[J].中國信息技術(shù)教育,2010(1):73-77.
[4]吳吉義,沈千里,章劍林.云計(jì)算:從云安全到可信云[J].計(jì)算機(jī)研究與發(fā)展,2011,48(增刊1):229-233.
[5]林子雨,賴永炫,林琛.云數(shù)據(jù)庫研究[EB/OL].[2012-08-11].http://www.cnki.net/kcms/detail/11.2560.TP.20120227.1143.001.html,2012-02-27.
[6]王萍,張際平.云計(jì)算與網(wǎng)絡(luò)學(xué)習(xí)[J].現(xiàn)代教育技術(shù),2008,18(11):81-84.
[7]向廣利,陳莘萌,馬捷.實(shí)數(shù)范圍上的同態(tài)加密機(jī)制[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(20):12-14.
[8]戶占良.橢圓曲線密碼體制的研究與應(yīng)用[J].山西師范大學(xué)學(xué)報(bào):自然科學(xué)版,2010(3):12-13.
[9]姜曉梅,任朝榮.橢圓曲線密碼體制速度分析[J].武漢大學(xué)學(xué)報(bào):理學(xué)版,2004,50(增刊1):189-191.
[10]王玉芬,郭曉娟.云計(jì)算對(duì)高校教學(xué)資源影響解析[J].實(shí)驗(yàn)技術(shù)與管理,2010,27(5):111-11.
[11]趙翔.數(shù)字簽名綜述[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(2):195-197.
[12]胡予濮.一個(gè)新型的NTRU類數(shù)字簽名方案[J].計(jì)算機(jī)學(xué)報(bào),2008,31(9):1661-1665.
[13]錢萍,吳蒙.同態(tài)加密隱私保護(hù)數(shù)據(jù)挖掘方法綜述[J].計(jì)算機(jī)應(yīng)用研究,2011,28(5):1614-1617.