洪丹丹 馮興利 徐墨 鎖志海
摘 要:為解決移動(dòng)門戶系統(tǒng)有效識(shí)別用戶真實(shí)身份與角色,并對(duì)用戶敏感數(shù)據(jù)進(jìn)行安全可靠的保護(hù)的問題,提出了將統(tǒng)一身份認(rèn)證系統(tǒng)與移動(dòng)門戶對(duì)接并在數(shù)據(jù)轉(zhuǎn)換及傳輸階段采用MD5簽名,保證數(shù)據(jù)的完整性和真實(shí)性,從而為iOS平臺(tái)及Android平臺(tái)用戶同時(shí)提供安全性較高、差錯(cuò)率較小的移動(dòng)服務(wù)。為降低移動(dòng)數(shù)據(jù)流量和屏蔽系統(tǒng)差異,提出了使用中央數(shù)據(jù)轉(zhuǎn)換器以輕量級(jí)數(shù)據(jù)格式完成移動(dòng)客戶端與后端數(shù)據(jù)庫服務(wù)器交互的方式。
關(guān)鍵詞:數(shù)據(jù)集成;移動(dòng)門戶;統(tǒng)一身份認(rèn)證;MD5;iOS;Android
中圖分類號(hào):TP393.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2016)09-0067-03
0 引 言
由于目前基于Android和iOS系統(tǒng)的智能客戶端設(shè)備功能日益強(qiáng)大,在為用戶提供基于其真實(shí)身份與角色的一站式移動(dòng)服務(wù)的同時(shí),如何保證用戶敏感數(shù)據(jù)的安全性和完整性,為各類移動(dòng)客戶端及移動(dòng)應(yīng)用系統(tǒng)提出了安全挑戰(zhàn)[1,2]。
本文以CAS(Central Authentication System,CAS)統(tǒng)一身份認(rèn)證系統(tǒng)為實(shí)名制技術(shù)支撐,采用MD5數(shù)字簽名對(duì)系統(tǒng)敏感數(shù)據(jù)進(jìn)行摘要加密處理,為用戶提供真實(shí)可靠的移動(dòng)信息服務(wù),并對(duì)移動(dòng)門戶的系統(tǒng)架構(gòu)、服務(wù)端數(shù)據(jù)集成、客戶端工作流、數(shù)據(jù)安全控制四個(gè)方面進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn)。
1 系統(tǒng)架構(gòu)設(shè)計(jì)
移動(dòng)門戶系統(tǒng)架構(gòu)圖如圖1所示。本系統(tǒng)從邏輯上劃分為數(shù)據(jù)層、中央數(shù)據(jù)集成平臺(tái)、業(yè)務(wù)層、安全控制層、應(yīng)用層共五部分。
數(shù)據(jù)層由各業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫組成,移動(dòng)門戶中所有數(shù)據(jù)均來源于此,各數(shù)據(jù)庫之間相互獨(dú)立,無業(yè)務(wù)交互。
中央數(shù)據(jù)集成平臺(tái)由構(gòu)成該平臺(tái)所需的各類中間件或數(shù)據(jù)庫組成。其功能是將來源于底層數(shù)據(jù)層的各類業(yè)務(wù)數(shù)據(jù)進(jìn)行清洗、去重、數(shù)據(jù)交換、格式轉(zhuǎn)換、語義注釋等;再將處理好的數(shù)據(jù)經(jīng)過共享代理機(jī)制為上層提供數(shù)據(jù)共享服務(wù),并借助索引代理幫助上層服務(wù)檢索其所需要的數(shù)據(jù)服務(wù)。
業(yè)務(wù)層基于中央數(shù)據(jù)集成平臺(tái)提供的數(shù)據(jù)共享服務(wù),開發(fā)建設(shè)各類移動(dòng)應(yīng)用供用戶使用。如移動(dòng)教務(wù)、移動(dòng)科研、移動(dòng)財(cái)務(wù)、公開課等各類移動(dòng)應(yīng)用。用戶可通過安裝在智能設(shè)備上的移動(dòng)客戶端享用該層提供的各種業(yè)務(wù)移動(dòng)應(yīng)用。
安全控制層與校內(nèi)統(tǒng)一身份認(rèn)證系統(tǒng)(CAS)對(duì)接,實(shí)現(xiàn)用戶真實(shí)身份及角色的判斷[3,4],并根據(jù)其角色為移動(dòng)客戶端定制并推送個(gè)性化的安全移動(dòng)服務(wù),保證移動(dòng)門戶系統(tǒng)及用戶數(shù)據(jù)安全。
2 關(guān)鍵技術(shù)實(shí)現(xiàn)
2.1 數(shù)據(jù)集成的實(shí)現(xiàn)
為屏蔽移動(dòng)門戶底層數(shù)據(jù)集成產(chǎn)生的來自數(shù)據(jù)庫類型差異、運(yùn)行平臺(tái)差異、數(shù)據(jù)格式差異及數(shù)據(jù)加載方法差異等問題,本文設(shè)計(jì)了中央數(shù)據(jù)轉(zhuǎn)換器用于屏蔽差異,實(shí)現(xiàn)數(shù)據(jù)共享歸一化。在此轉(zhuǎn)換器的協(xié)助下,移動(dòng)客戶端與后端服務(wù)的交互接口均采用輕量級(jí)JSON[5,6]接口,實(shí)現(xiàn)快速數(shù)據(jù)傳輸與共享[7]。
中央數(shù)據(jù)轉(zhuǎn)換器如圖2所示。針對(duì)只能提供共享數(shù)據(jù)庫視圖的系統(tǒng),數(shù)據(jù)集成平臺(tái)通過遠(yuǎn)程數(shù)據(jù)庫連接讀取視圖數(shù)據(jù),并將數(shù)據(jù)庫視圖信息整合成JSON格式Web Service接口;針對(duì)可以直接提供JSON格式的Web Service系統(tǒng),數(shù)據(jù)轉(zhuǎn)換器不轉(zhuǎn)換該接口,直接將該接口注冊(cè)在中央數(shù)據(jù)共享平臺(tái)上,待上層應(yīng)用需要時(shí)直接調(diào)用;對(duì)于可以提供XML格式的Web Service系統(tǒng),數(shù)據(jù)轉(zhuǎn)換器將XML轉(zhuǎn)換成JSON輕量級(jí)接口,并注冊(cè)在中央數(shù)據(jù)共享平臺(tái)中,上層需要調(diào)用時(shí)直接使用;對(duì)于無法提供任何共享方式的系統(tǒng),采用網(wǎng)絡(luò)爬蟲技術(shù),定時(shí)從源系統(tǒng)中抓取所需信息,保存于中央數(shù)據(jù)共享平臺(tái)的中央數(shù)據(jù)庫中。待上層應(yīng)用請(qǐng)求此類數(shù)據(jù)時(shí),數(shù)據(jù)轉(zhuǎn)換器將該類數(shù)據(jù)轉(zhuǎn)換成JSON格式接口反饋給應(yīng)用。
2.2 移動(dòng)客戶端數(shù)據(jù)工作流實(shí)現(xiàn)
移動(dòng)客戶端數(shù)據(jù)工作流實(shí)現(xiàn)如圖3所示,本文移動(dòng)客戶端工作流實(shí)現(xiàn)途徑有如下兩種。
第一工作流:
(1)客戶端首先加載PhoneGap,由其監(jiān)聽前端發(fā)來的JS XHR請(qǐng)求,然后由該XHR請(qǐng)求查看Callback監(jiān)聽線程。
(2)如果Callback中有數(shù)據(jù),則立刻將此數(shù)據(jù)返回給客戶端和XHR請(qǐng)求。
(3)如果Callback中無數(shù)據(jù),則等待10 s之后反饋空數(shù)據(jù)給XHR請(qǐng)求。
第二工作流:
(1)當(dāng)用戶使用安裝在智能設(shè)備上的客戶端提出應(yīng)用訪問請(qǐng)求時(shí),客戶端程序首先判斷該請(qǐng)求是否有數(shù)據(jù)操作請(qǐng)求。如果有,客戶端立刻捕獲該請(qǐng)求并進(jìn)行處理。
(2)客戶端捕獲該請(qǐng)求后,判斷該請(qǐng)求是不是同步請(qǐng)求。如果是同步請(qǐng)求,則將相關(guān)JSON數(shù)據(jù)串反饋給客戶端立刻予以顯示;如果該請(qǐng)求是異步請(qǐng)求,則創(chuàng)建一個(gè)Plugin調(diào)用線程,將請(qǐng)求結(jié)果存入Callback中。
(3)Callback監(jiān)聽數(shù)據(jù)請(qǐng)求線程,并判斷Callback中是否已經(jīng)有數(shù)據(jù)。如果Callback中有數(shù)據(jù),則直接將數(shù)據(jù)反饋給客戶端進(jìn)行顯示;如果Callback中沒有數(shù)據(jù),則等待10 s之后返回空數(shù)據(jù)。
2.3 MD5數(shù)字簽名
在數(shù)據(jù)安全領(lǐng)域應(yīng)用廣泛的哈希函數(shù)有多種,其中MD5是最廣泛之一,其在保護(hù)敏感信息完整性和真實(shí)性方面具有較好的保護(hù)率和較低的差錯(cuò)率[8]。本系統(tǒng)MD5算法實(shí)現(xiàn)的關(guān)鍵代碼如下:
3 軟件運(yùn)行結(jié)果及檢測
截止目前,本文的研究成果自上線投入使用以來,共為6253位蘋果手機(jī)用戶,9 667位安卓手機(jī)用戶提供了信息共享服務(wù),實(shí)現(xiàn)了平穩(wěn)跨平臺(tái)應(yīng)用支持;在系統(tǒng)性能方面,蘋果手機(jī)版總錯(cuò)誤率僅占2.53%,安卓手機(jī)版總錯(cuò)誤率僅占1.65%;實(shí)名制移動(dòng)門戶應(yīng)用效果如圖4所示。當(dāng)用戶認(rèn)證通過后,客戶端自動(dòng)推送移動(dòng)財(cái)務(wù)應(yīng)用,幫助用戶了解自身的敏感財(cái)務(wù)信息。移動(dòng)門戶蘋果手機(jī)用戶統(tǒng)計(jì)如圖5所示。移動(dòng)門戶安卓手機(jī)用戶統(tǒng)計(jì)如圖6所示。
4 結(jié) 語
本文研究并提出的基于MD5簽名及實(shí)名制認(rèn)證的移動(dòng)門戶系統(tǒng),解決了移動(dòng)客戶端對(duì)接高校內(nèi)部核心業(yè)務(wù)的實(shí)名制認(rèn)證問題;以MD5數(shù)字簽名保證用戶數(shù)據(jù)安全,并基于CAS系統(tǒng)保證了系統(tǒng)入口級(jí)和傳輸級(jí)安全;以中央數(shù)據(jù)轉(zhuǎn)換器屏蔽系統(tǒng)差異,實(shí)現(xiàn)數(shù)據(jù)歸一化和輕量級(jí)傳輸。
系統(tǒng)的不足之處在于需要開發(fā)更強(qiáng)大的后臺(tái)數(shù)據(jù)挖掘功能和更高效的數(shù)據(jù)集成驗(yàn)證工作。下一步研究計(jì)劃是開發(fā)基于客戶端信息反饋的校園大數(shù)據(jù)分析[9],實(shí)現(xiàn)智慧校園的建設(shè)目標(biāo)。基于用戶移動(dòng)客戶端的反饋數(shù)據(jù)挖掘分析校園用戶消費(fèi)行為、預(yù)測用戶學(xué)習(xí)行為[10],為校園決策層提供政策參考等。
參考文獻(xiàn)
[1]趙婧,李鑫,鄧凌娟,等.無線網(wǎng)絡(luò)中身份認(rèn)證協(xié)議選擇方法[J].
(下轉(zhuǎn)第頁)
(上接第頁)
計(jì)算機(jī)研究與發(fā)展, 2015(3):671-680.
[2] Mishra D. Design and Analysis of a Provably Secure Multi-server Authentication Scheme[J].Wireless Personal Communications, 2016,86(3):1095-1119.
[3] Chen H C, Violetta M A, Yang C Y. Contract RBAC in cloud computing[J].Journal of Supercomputing, 2013, 66(2):1111-1131.
[4] Yang Zan, Wang Jian-xin, Yang Lin, et al. The RBAC model and implementation architecture in multi-domain environment[J].Electronic Commerce Research, 2013, 13(3):273-289.
[5] Sarasa-Cabezuelo A, Sierra J L.Grammar-driven development of JSON processing applications[C]. 2013 Federated Conference on Computer Science and Information Systems (FedCSIS). [S.l.]:IEEE, 2013:1557-1564.
[6] Abd El-Aziz A A, Kannan A. JSON encryption[C]. 2014 International Conference on Computer Communication and Informatics (ICCCI). Coimbatore :IEEE, 2014:1-6.
[7] Wehner P, Piberger C, GoHringer D. Using JSON to manage communication between services in the Internet of Things[C].2014 9th International Symposium on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC). [S.l.]:IEEE, 2014:1-4.
[8]沈璇, 趙光耀, 李超,等. MD5加密模式的差分故障分析[J].應(yīng)用科學(xué)學(xué)報(bào), 2015, 33(5):481-490.
[9]劉云峰, 李麗, 王素美,等.面向大數(shù)據(jù)的數(shù)據(jù)服務(wù)中心設(shè)計(jì)與應(yīng)用研究[J].通信學(xué)報(bào),2013, 34(S2):170-174.
[10] Hughes G, Dobbins C. The utilization of data analysis techniques in predicting student performance in massive open online courses (MOOCs)[J].Research & Practice in Technology Enhanced Learning, 2015, 10(1):1-8.