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