劉文哲 朱文焌 何恩惠 翟嫚杰 岳志芳
摘要:基于云計(jì)算的移動(dòng)學(xué)習(xí)是在傳統(tǒng)移動(dòng)學(xué)習(xí)的基礎(chǔ)上,利用云平臺(tái)實(shí)現(xiàn)資源檢索功能的一種學(xué)習(xí)方式。為了保證數(shù)據(jù)的安全性,資源發(fā)布者將學(xué)習(xí)資源以密文形式上傳至云服務(wù)器。但云服務(wù)器無法對(duì)加密資源進(jìn)行有效管理,使得密文搜索結(jié)果不能到達(dá)預(yù)期水平。針對(duì)以上問題,文章在云計(jì)算的移動(dòng)學(xué)習(xí)模型基礎(chǔ)上,利用可搜索加密的方法,建立可搜索加密的移動(dòng)學(xué)習(xí)模型,從而確保學(xué)習(xí)資源的隱私性。
關(guān)鍵詞:移動(dòng)學(xué)習(xí);可搜索加密;隱私保護(hù);云計(jì)算
移動(dòng)學(xué)習(xí)是一種依靠無線通信技術(shù)、移動(dòng)計(jì)算技術(shù),通過移動(dòng)設(shè)備隨時(shí)隨地獲取學(xué)習(xí)資源的學(xué)習(xí)方式。與傳統(tǒng)的學(xué)習(xí)模式相比,該方式具有學(xué)習(xí)便捷性、教學(xué)個(gè)性化、交互豐富性、情境相關(guān)性等特點(diǎn)。移動(dòng)學(xué)習(xí)為學(xué)生提供了更加方便快捷的學(xué)習(xí)手段,增強(qiáng)學(xué)生自主學(xué)習(xí)的能力,提高學(xué)生學(xué)習(xí)效率。
隨著互聯(lián)網(wǎng)中信息量的不斷增大,移動(dòng)學(xué)習(xí)資源出現(xiàn)“信息冗余、存儲(chǔ)不足、有所限制”等缺點(diǎn)。由于云計(jì)算的迅速發(fā)展,構(gòu)建基于云計(jì)算的移動(dòng)學(xué)習(xí)系統(tǒng)能夠滿足用戶獲取豐富、即時(shí)、準(zhǔn)確學(xué)習(xí)資源的需求。同時(shí),云計(jì)算平臺(tái)可以實(shí)現(xiàn)資源的整合和海量的存儲(chǔ),提供強(qiáng)大的計(jì)算能力,使學(xué)習(xí)者能通過移動(dòng)應(yīng)用隨時(shí)隨地地學(xué)習(xí)。但是,在基于云計(jì)算的移動(dòng)學(xué)習(xí)環(huán)境中,不能保障存儲(chǔ)在云服務(wù)器上學(xué)習(xí)資源的安全性。如何構(gòu)建安全的移動(dòng)學(xué)習(xí)模式成為商業(yè)教育機(jī)構(gòu)關(guān)注的課題。
為了解決云計(jì)算環(huán)境下移動(dòng)學(xué)習(xí)的安全問題,在密文存儲(chǔ)的基礎(chǔ)上,文章結(jié)合可搜索加密(SearchableEncryption)方法和移動(dòng)學(xué)習(xí)模式,提出一種基于云計(jì)算的移動(dòng)學(xué)習(xí)安全模型,在確保云資源安全性的同時(shí),保證移動(dòng)學(xué)習(xí)者信息的隱私性,促進(jìn)移動(dòng)學(xué)習(xí)的發(fā)展。
1 基于云計(jì)算的移動(dòng)學(xué)習(xí)的介紹
在云計(jì)算模式中,互聯(lián)網(wǎng)的計(jì)算架構(gòu)由“服務(wù)器+客戶端”向“云服務(wù)平臺(tái)+客戶端”演變,由云服務(wù)提供商提供具體的硬件配置和更新,用戶端只需通過各種終端設(shè)備獲取自己需求的信息、知識(shí)、服務(wù)等。由于云服務(wù)器具有強(qiáng)大的計(jì)算能力,因而可以存儲(chǔ)海量的教育資源,還能降低移動(dòng)學(xué)習(xí)者的學(xué)習(xí)成本。云計(jì)算將是未來移動(dòng)學(xué)習(xí)的主要支撐平臺(tái),也將推動(dòng)移動(dòng)學(xué)習(xí)的發(fā)展。
基于云計(jì)算的移動(dòng)學(xué)習(xí)是在傳統(tǒng)的移動(dòng)學(xué)習(xí)基礎(chǔ)上,利用云平臺(tái)對(duì)學(xué)習(xí)資源存儲(chǔ)、計(jì)算的方式。資源發(fā)布者將學(xué)習(xí)資源發(fā)布至云服務(wù)器,利用云計(jì)算技術(shù)對(duì)學(xué)習(xí)資源進(jìn)行存儲(chǔ)、分類并通過網(wǎng)絡(luò)服務(wù)實(shí)現(xiàn)共享,移動(dòng)學(xué)習(xí)者通過自己的移動(dòng)設(shè)備搜索自己所需要的資源,使得學(xué)習(xí)資源達(dá)到最大化共享。同時(shí),用戶只需要通過自己的移動(dòng)設(shè)備點(diǎn)擊與云服務(wù)器相關(guān)的鏈接,就可以搜索自己所需的學(xué)習(xí)資源,為學(xué)習(xí)者帶來了便利。
2 相關(guān)概念介紹
關(guān)于基于云計(jì)算的移動(dòng)學(xué)習(xí)模型建立在文獻(xiàn)中有詳細(xì)介紹,下面介紹可搜索加密的相關(guān)概念。
2.1 可搜索加密定義
可搜索加密(簡稱SE)是近年來發(fā)展的一種支持用戶在密文上進(jìn)行關(guān)鍵字查找的密碼學(xué)原語,它能夠?yàn)橛脩艄?jié)省大量的網(wǎng)絡(luò)和計(jì)算開銷,并充分利用云端服務(wù)器龐大的計(jì)算資源進(jìn)行密文上的關(guān)鍵字查找。
2.2 SE機(jī)制分類
基于對(duì)稱密碼學(xué)算法的SE機(jī)制和基于公鑰密碼學(xué)算法SE機(jī)制?;趯?duì)稱密碼學(xué)的SE機(jī)制在文獻(xiàn)[9,10]有詳細(xì)介紹?;诠€密碼學(xué)的SE機(jī)制是在不同的安全假設(shè)下,建立在雙線性對(duì)之上的,在搜索的過程中需要進(jìn)行群元素之間和雙線性對(duì)的計(jì)算。基于公鑰密碼學(xué)的SE機(jī)制在文獻(xiàn)有具體介紹,其優(yōu)點(diǎn)是不需要加密方和解密方事先協(xié)商生成密鑰,用戶可以直接使用對(duì)外公開的公鑰對(duì)關(guān)鍵字集合進(jìn)行加密,為數(shù)據(jù)安全性提供了保證。由于基于對(duì)稱密碼學(xué)的SE機(jī)搜索效率低,不適合云服務(wù)器上的海量資源的搜索,文章介紹的基于云計(jì)算的移動(dòng)學(xué)習(xí)方案主要是根據(jù)公鑰密碼學(xué)算法的SE機(jī)制來實(shí)現(xiàn)的。
2.3 雙線性對(duì)的定義
定義:存在p階群G1,G2和雙線性映射e:G1×G1→G2,G1,G2的大小取決于安全參數(shù)。存在以下屬性:
可計(jì)算性:ヨ,h∈G1,可以在多項(xiàng)式時(shí)間內(nèi)計(jì)算出e(g,h)∈G2。
雙線性:Vx,y∈[1,p],有e(gx,gy)=g(g,g)xy。
非退化性:如果g是G1的生成元,那么P(g,g)是G2的生成元。
2.4 基于公鑰密碼學(xué)的主要算法
以下各算法基于以上的雙線性定義和哈希函數(shù)H1:{0,1}*→G1和H2:G2→{0,1}logP。
KenGen:輸入安全參數(shù)p,群G1,G2,p決定了群G1,G2的大小。選取隨機(jī)數(shù)α∈p*和G,的生成元g,輸出pk=[g,h=gα],sK=α。
PEAKS(pk,w):首先選擇隨機(jī)數(shù),r∈zp*,計(jì)算出t=e(H1(W),hr)∈G2,最后生成的關(guān)鍵字W集合密文為CW=(gr,H2(t))。
Trapdoor(s k,w):輸入接收者的sk和某一查詢關(guān)鍵字w,Tw=H1(w)α∈G1
Test(p k,S,Tw):令S=[A,B],檢查H2(e(Tw,A))=B是否成立。如果是,輸出Yes,否則輸出No。
2.5 構(gòu)建基于布魯姆過濾器的索引表算法
利用布魯姆過濾器輸出文件編號(hào)為fd的索引IDid=(Did,B F)。
Builderlnde x(Tw,ID):輸入單詞w的查詢單射函數(shù)Tw=(x1,…,xr)∈{0,1}和文件Did的索引IDid=(Did,BF)。計(jì)算Did內(nèi)的wu碼字:(y1=f(Did,x1),…,yr=f(Did,xr)∈{0,1}。
檢測yi,…,yi所表示的r個(gè)位置在BF內(nèi)是否全為1。如果全為1,輸出1;否則,輸出0。
3 SE機(jī)制下基于云計(jì)算的移動(dòng)學(xué)習(xí)模型建立
3.1 模型介紹
隨著云計(jì)算技術(shù)的成熟和移動(dòng)學(xué)習(xí)的發(fā)展,基于云計(jì)算的移動(dòng)學(xué)習(xí)受到眾多移動(dòng)學(xué)習(xí)者的青睞。然而社會(huì)中的商業(yè)教育機(jī)構(gòu),并不希望在云服務(wù)器上的學(xué)習(xí)資源得到無限共享,更不希望公開內(nèi)部學(xué)員的學(xué)習(xí)情況。針對(duì)這一問題,資源發(fā)布者以密文形式將學(xué)習(xí)資源發(fā)布到云服務(wù)器上,由于云服務(wù)器無法對(duì)密文進(jìn)行處理,給移動(dòng)學(xué)習(xí)者帶來學(xué)習(xí)上的不便。因此,文章結(jié)合可搜索加密機(jī)制建立基于云計(jì)算的移動(dòng)學(xué)習(xí)模型,為資源發(fā)布者和學(xué)習(xí)者建立更好的學(xué)習(xí)機(jī)制,保證學(xué)習(xí)資源的安全性和隱私性。
在該模型下,數(shù)據(jù)所有者是資源發(fā)布者,用戶是移動(dòng)學(xué)習(xí)者。首先,數(shù)據(jù)所有者對(duì)發(fā)布的資源進(jìn)行預(yù)處理,分為關(guān)鍵字集合和文件,利用布魯姆過濾器構(gòu)建關(guān)鍵字集合的索引,利用公鑰加密算法對(duì)文件加密,將索引和加密的文件上傳至云端。其次,當(dāng)用戶對(duì)資源有需求時(shí),輸入關(guān)鍵字,利用非對(duì)稱加密算法生成搜索憑證發(fā)送到云端。最后,云服務(wù)器根據(jù)搜索憑證以密文形式返回搜索的結(jié)果,用戶使用自己的密鑰解開即可。例如是學(xué)習(xí)者Alice等的集合,資源的發(fā)布者是Bob,Bob將學(xué)習(xí)資源發(fā)布到云服務(wù)器上并且把密鑰發(fā)送給Alice等人,Alice等人用密鑰得到自己想要的學(xué)習(xí)資源,如圖1所示。
3.2 算法分析
此模型主要用到5種算法:
Setup(k):輸入安全參數(shù)k,輸出公鑰pk,私鑰sk。
Trapdoor(pk,w):輸入私鑰sk,關(guān)鍵字w,輸出搜索陷門Tw。
PEAKS(pk,w):輸入公鑰pk,關(guān)鍵字w,輸出密文Cw。
Buildlndex(D):輸入關(guān)鍵字集合D,利用布魯姆過濾器輸出索引表I。
Test(pk,S,Tw):輸入公鑰pk,隨機(jī)數(shù)集S,搜索陷門Tw,輸出待解密的文件。
4 結(jié)語
文章將可搜索加密應(yīng)用于基于云計(jì)算的移動(dòng)學(xué)習(xí)中,在基于公鑰加密的SE機(jī)制中,資源發(fā)布者發(fā)布的信息以密文形式上傳至云服務(wù)器,移動(dòng)學(xué)習(xí)者將想要搜索資源的關(guān)鍵字集合發(fā)送到服務(wù)器,云服務(wù)器根據(jù)收到的信息返回用戶所要的資源,有效地避免了學(xué)習(xí)資源的泄漏?,F(xiàn)代密碼學(xué)技術(shù)與實(shí)際問題的結(jié)合,促進(jìn)了移動(dòng)學(xué)習(xí)的發(fā)展,未來密碼學(xué)將會(huì)應(yīng)用到更廣闊的領(lǐng)域。