楊育斌,程麗明
(藍盾信息安全技術股份有限公司 廣州 510665)
近年來隨著智能手機、平板電腦等移動設備的飛速發(fā)展,移動計算的應用范圍不斷擴大,提供的服務也愈加廣泛。BYOD(bring your own device,自帶設備)就是移動計算服務重要的領域之一,BYOD是指攜帶自己的設備辦公,這些設備包括個人電腦、手機、平板電腦等,在公司辦公場所之外登錄公司郵箱、在線辦公系統,不受時間、地點、設備、人員、網絡環(huán)境的限制。2013年3月,IT168對企業(yè)移動安全應用狀況進行了一份調查,結果顯示300人以下使用移動辦公的企業(yè)占到 48%、300~500人使用移動辦公的企業(yè)占 22%、500~1000人使用移動辦公的企業(yè)占24%、1000~2000人使用移動辦公的企業(yè)占3%、2000人以上使用移動辦公的企業(yè)占3%。BYOD已得到了相當廣泛的應用。
BYOD利用移動智能設備使用靈活的特點,為員工在辦公室外工作提供了極大的方便,大大提升了企業(yè)或組織的辦公效率,但同時也帶來了嚴峻的安全問題,主要集中在用戶訪問、追蹤移動設備、保護移動數據等,其中最重要的就是企業(yè)數據的安全保護。Cisco公司在 “BYOD and Virtualization”中提到,BYOD中最關心的就是企業(yè)數據安全威脅問題。Accellion公司在“10 Mobile Security Requirements for the BYOD Enterprise”中也強調,BYOD移動安全控制就是對企業(yè)數據存儲、處理中基于權限的安全控制。SAP公司計劃在3~6個月后推出自行研制的一款軟件,幫助用戶在他們的智能手機或平板電腦上把商業(yè)數據從個人信息中分離出來,以此保障信息安全,但大多國際和國 內 的 MDM(mobile device management)或 MAM(mobile application management)產品都沒有基于用戶權限對企業(yè)數據進行細粒度操作控制管理的功能。
國內外學術研究者針對移動辦公中的數據安全問題進行了相當深入的研究。楊衛(wèi)軍和秦海權[1]提到攻擊者的目的可以劃分為收集用戶隱私數據、使用移動設備計算資源以及破壞設備正常運行3種類型;針對移動設備的攻擊方式可以分為四大類:利用移動網絡服務接入、利用互聯網接入、利用藍牙接入、利用USB及其他外圍設備接入。陸宏亮[2]提出移動云環(huán)境下基于終端上下文信息的數據保護架構,利用ASFC在數據決策模塊中應用層次分析的方法對數據安全保護策略進行決策,實現在對用戶終端進行保護的同時,減少終端資源的消耗并提升事務處理性能,進而改善移動用戶的事務處理體驗。石莎[3]利用散列加密原理提出了一種通過設計全新的內容安全分權分域解決方案來滿足云計算環(huán)境下的內容分配和內容管理中的相關安全和授權問題的方法,以保護移動互聯網中的內容和文檔的安全。杜久升和陳宜金[4]通過5種方式提高數據傳輸的安全性,分別為:在客戶端進行身份驗證,確保用戶合法性;針對使用者,采用授權與訪問控制的方式明確權限范圍;通過網絡防護手段保證內外網的安全性;通過特定技術手段提高數據傳輸的可靠性;通過多種方式確保數據在公網傳遞的保密性。Butter T和Aleksy M[5]展示了在移動和上下文感知應用環(huán)境中,基于運行在Java虛擬機內部的虛擬機執(zhí)行不可信代碼進行數據隔離和服務隔離的方法。Nkosi M和Mekuria F[6]使用云計算協議管理模型(提供多媒體感應信號處理),向移動設備提供安全存儲即服務。Wonjoo P、Sun J K和Kee S C[7]提出了一個管理復雜移動終端的安全管理框架,向同步接收多種服務和系統管理的復雜終端提供安全保護功能。Wu J J、Zhou J和Ma J等[8]提出了一種主動防止數據泄漏的模型,利用可信存儲與虛擬隔離技術,并結合數據對象保護要求,防止內部威脅。但以上研究均未對移動數據進行單獨的、細粒度的保護。
本文提出一種細粒度的移動數據安全保護模型,通過在智能終端和接入網關/服務器處對移動數據、移動應用進行標記,以控制對移動數據的訪問、處理操作,實現移動終端數據的安全隔離(含企業(yè)/個人數據隔離功能),進而實現對移動數據保密性的細粒度安全管理功能。
本文提出了一種細粒度的移動數據安全保護模型,根據標簽識別用戶權限和數據保密級別,對移動數據的移動應用進行操作控制,以實現移動數據細粒度的保密安全防護。模型包含標簽控制管理模塊和移動數據管理模塊。標簽控制管理模塊主要對數據標簽 (data-tag)和應用標簽(App-tag)進行管理,有效記錄數據的保密級別和應用操作的權限及其生成數據的保密級別,進而在移動數據的創(chuàng)建、存儲和傳輸環(huán)境中進行安全保護,確保數據的存儲安全、操作安全和傳輸安全,包括標簽生成器、標簽存儲管理和標簽傳輸控制3個子模塊;移動數據管理模塊主要根據移動數據標簽和移動應用標簽來保護數據的安全,進行細粒度的管理,是數據處理過程的安全隔離控制、數據傳輸過程的安全控制和數據存儲中的安全隔離控制的具體功能實現部分。系統模型如圖1所示。
系統將標簽(數據標簽和應用標簽)作為基礎的安全控制的信息載體,對移動數據進行細粒度的安全保護。本模型針對每個移動應用和移動數據創(chuàng)建標簽。標簽分為移動數據標簽和移動應用標簽,其中移動數據標簽僅在移動智能終端上保存,移動應用標簽需在移動接入網關/服務器和移動智能終端上同時保存。
(1)數據標簽保密級別、數據存放地址
保密級別的值為大于或等于0的整數,不同級別的數字用于指明該移動數據是否需加/解密,確保安全傳輸;數據存放地址是該數據在移動智能終端上的保存路徑。
(2)移動應用標簽應用ID、操作權限、生成數據的保密級別
圖1 一種細粒度的移動數據安全保護系統模型
應用ID是該應用進行特定操作的唯一標識,由應用的唯一標識和操作的唯一標識組成。操作權限是該應用進行此操作有權處理的數據保密級別 (當應用a對數據b進行操作c時,若應用a進行操作c的應用標簽的操作權限大于或等于數據b的保密級別,則可對數據b進行操作)。此外,該標簽在移動接入網關/服務器處保存時,按照用戶保存 (同一用戶智能設備上的所有應用對應的應用標簽放入同一張表中)。
管理員在移動接入網關/服務器端賦值,指定某用戶使用應用X進行操作Z的移動應用標簽的操作權限。
模型的系統流程主要包括數據從移動網關進入移動智能終端的處理流程、應用從移動網關進入移動智能終端的處理流程和應用X企圖對移動數據Y進行操作時的處理流程。在這些流程中,系統能在辦公環(huán)境中監(jiān)控每個應用對數據的操作活動,對單個數據進行用戶指定保密級別的安全守護,有力保證了移動數據的安全,具體如圖2所示。
圖2 一種細粒度的移動數據安全保護模型系統流程
當移動數據從內網或移動接入網關準備推送到移動智能終端時 (序號1),首先通知標簽生成器生成數據標簽(序號2),標簽生成器通知標簽傳輸控制功能模塊(序號3)對移動數據標簽加密,隨后根據數據的保密級別與數據一起加密并以合適的方式發(fā)送到移動智能終端 (序號4、序號A)。移動智能終端接收到加密的數據標簽和按照保密級別加密的數據后,將數據解密后再進行加密存儲,并且通知移動智能終端處的標簽生成器(序號5),標簽生成器重新生成該數據對應的數據標簽,并將此數據標簽發(fā)送到標簽存儲管理功能(序號6),標簽存儲管理功能將之保存至移動數據標簽數據庫(序號7)。
當移動應用從內網或移動接入網關準備推送到移動智能終端時(序號a),首先通知標簽生成器生成移動應用標簽(序號b),標簽生成器生成該應用所有相關操作所對應的移動應用標簽,并將這些移動應用標簽發(fā)送到標簽存儲管理模塊(序號c),標簽存儲管理模塊將它們保存至移動應用標簽數據庫(序號d),然后通知標簽傳輸控制功能模塊(序號e)將這些移動應用標簽加密,然后與應用一起,以合適的方式發(fā)送到移動智能終端(序號f、序號B)。移動智能終端接收到加密的移動應用標簽后,解密并將它們發(fā)送到標簽存儲管理模塊(序號g),標簽存儲管理模塊將之保存至移動應用標簽數據庫(序號h)。
數據存儲中的安全隔離控制功能對移動終端上存儲的數據進行隔離。當應用X企圖對移動數據Y進行操作Z時,立即通知數據處理過程的安全隔離控制模塊。若收到數據傳送消息通知,則立即通知數據傳輸過程的安全控制模塊。安全控制模塊判斷應用X進行操作Z的權限,以確認是否有權對移動數據Y進行操作。若有權處理,則解密數據后交由應用X進行操作Z,否則拒絕操作。
若應用X有權對移動數據Y進行操作Z,則標簽生成器對處理后修改或生成的數據重新生成對應的數據標簽,并通過標簽存儲功能對數據標簽數據庫進行更新。
4.1.1 標簽生成器
標簽生成器包括數據標簽生成器和移動應用標簽生成器。數據標簽生成器在移動智能終端和移動接入網關/服務器處,根據需要對移動數據創(chuàng)建或修改(移動接入網關/服務器處不修改)數據標簽,并在移動智能終端維護數據標簽數據庫,此模塊主要的算法為移動數據標簽生成算法。移動應用標簽生成器負責生成移動應用的標簽,在移動接入網關/服務器處對移動應用生成標簽 (存入對應使用者的數據表),并推送到相應使用者的移動智能終端(存入移動智能終端的移動應用標簽數據庫),此模塊主要的算法為移動應用標簽生成算法。
4.1.1.1 移動應用標簽生成算法
移動應用標簽生成器僅工作在移動接入網關/服務器處,當有新的應用需要推送到某一用戶的移動智能終端或某一用戶使用該應用的權限發(fā)生變化時,生成相應的移動應用標簽,按用戶存入移動接入網關/服務器處的移動應用標簽數據庫,將其推送至相應的移動智能終端,同時更新移動接入網關/服務器處和用戶所使用的移動智能終端處的移動應用標簽數據庫。需注意的是,在移動智能終端側不對標簽進行任何修改。移動應用標簽生成算法確保移動設備上的應用同步最新的權限操作信息,能細粒度地監(jiān)控用戶對移動數據的操作。具體流程如圖3所示。
圖3 移動應用標簽生成算法具體流程
4.1.1.2 移動數據標簽生成算法
移動數據標簽生成器工作在移動接入網關/服務器處和移動智能終端。在移動接入網關/服務器處根據數據的機密程度等信息,針對每個移動數據標簽的保密級別進行初始賦值操作,具體算法流程如圖4所示。
賦值“data-tag.保密級別”:“data-tag.保密級別”等于對該數據進行處理的應用操作對應的“App-tag.生成數據保密級別”與該數據的“data-tag.保密級別”這兩個數值中的較大者。
賦值“tag.用戶權限”:“data-tag.保密級別”等于對數據進行處理的應用操作對應的 “App-tag.生成數據保密級別”與被處理數據的“data-tag.保密級別”這兩個數值中的較大者。
移動接入網關/服務器端初始賦值:由管理員指定該數據的保密級別,“用戶權限”項留空。
4.1.2 標簽存儲管理功能和標簽傳輸控制功能
標簽存儲管理模塊負責移動數據標簽和移動應用標簽的存儲管理以及移動終端上的移動數據標簽數據庫、移動終端處的移動應用標簽數據庫和移動接入網關/服務器處的移動應用標簽數據庫這3個數據庫的運行維護。根據標簽生成器生成、修改、刪除標簽的情況,標簽存儲管理功能對相應的數據庫分別進行存儲、更新和刪除工作。
標簽從移動接入網關/服務器向移動智能終端做單向的傳輸;在移動接入網關/服務器處加密以安全的方式傳輸至移動智能終端;在移動智能模塊終端處對標簽進行解密,傳遞給標簽生成器。
移動數據管理模塊根據標簽識別用戶權限和數據保密級別,對移動數據進行處理的移動應用操作進行控制,以實現移動數據細粒度的保密安全防護。移動數據管理模塊分為數據處理過程的安全隔離控制、數據傳輸過程的安全控制和數據存儲的安全隔離控制。移動數據管理模塊最關鍵的是權限確認算法。當該數據的情況發(fā)生變化(生成新數據、加/解密、共享、整體復制、多個數據合并、修改、備份、轉移、銷毀)時,權限確認算法判斷用戶是否有權對某一數據進行此操作。
權限確認算法具體介紹如下。
輸入:移動應用標簽、移動數據標簽。
輸出:Y或N。
Kano 2008: Kanu Kazuo (加納和雄), Two Short Glosses on Yogācāra Texts by Vairocanarakita: Vi?ikāikāvivti and *Dharmadharmatāvibhāgavivti, Sanskrit Texts from Giuseppe Tucci’s Collection Part I, ed. Francesco Sferra, Roma:Instituto Italiano Per L’Africa E L’Oriente, 343-380.
具體流程如下。
·查看“App-tag操作權限”,讀取用戶使用該應用進行此操作的數據保密級別。
·查看所有的“data-tag.保密級別”,讀取最高的保密級別。
·比較“App-tag.操作權限”與最高“data-tag.保密級別”的大?。蝗魹榇笥诨虻扔陉P系,則返回Y;若為小于關系,則返回N。
4.2.1 數據處理過程的安全隔離控制
數據處理過程的安全隔離控制主要是對移動智能終端上的指定數據情況進行監(jiān)控,當有應用對該移動數據進行操作時,利用權限確認算法判斷用戶是否有權操作,如果允許操作則調用移動數據標簽生成算法處理。模型禁止用戶復制數據內容中的一部分。具體流程如圖5所示。
4.2.2 數據傳輸過程和數據存儲過程的安全隔離控制
數據傳輸過程的安全控制包括對數據從移動接入網關/服務器傳輸到移動智能終端的過程和數據從移動智能終端傳輸到外部的過程進行數據安全控制(如圖2所示)。當移動數據的位置發(fā)生改變或某一應用對其進行操作時,針對特定用戶進行細粒度的權限判斷,選擇合適的加密和傳輸方式進行,在數據進入移動設備的情況下更新數據標簽。
5.1.1 實驗設計
細粒度的移動數據安全保護模型的功能模塊主要分為移動設備對數據安全的細粒度管理功能、移動接入網關/服務器與移動設備的標志加密通信功能和移動數據傳輸的通信功能。由于后兩種功能比較普通,并且學術上已進行了深入的研究,商業(yè)上也相當成熟,所以重點驗證移動設備上的系統對數據安全的細粒度管理能力。
移動智能平臺主要有 Android、iOS、Windows Phone和黑莓等。其中,Android的市場份額最大,也較為靈活;iOS的封閉性強、安全保障比其他平臺稍好;剩下的其他平臺的份額遠不如前兩大平臺。實驗選擇在Android平臺上完成,需要根據Android平臺的特點對模型的算法進行一些調整:數據文件加密保存在外部存儲,并采用雙重密鑰以增強安全性,密鑰由監(jiān)控程序保管;給每個應用程序和需要保護的數據文件分發(fā)標簽,標簽里存放應用程序或數據文件的保密級別,通過權限校驗算法,細化應用程序對數據文件的操作權限;為了防止其他第三方應用偽裝,對每個申請訪問數據的應用程序進行簽名驗證以確定其身份;最后,通過簽名驗證和權限校驗的應用程序可以獲得所申請訪問的數據文件的密鑰,以進行數據訪問。
在Android平臺上實現了對指定路徑下的數據文件的保護,根據Android平臺對數據的操作原理,對數據標簽增加一項“加密密鑰”以記錄移動數據解密密鑰,進而控制對加密移動數據的任何操作,起到安全保護的作用。在監(jiān)控程序中開啟一個業(yè)務常駐后臺,用File Observer監(jiān)視指定路徑下文件的創(chuàng)建和刪除,以增加/刪除移動數據標簽的項。一旦有新文件創(chuàng)建,則產生一個新的隨機的移動數據加密密鑰文件,并保存至隱藏文件夾中;用根密鑰(root key)加密移動數據并將加密密鑰存入數據標簽表;如果有文件被刪除,則刪除其移動數據標簽數據庫中對應的文件表項。
圖5 數據處理過程的安全隔離控制流程
圖6 應用啟動logcat記錄
安全性分析:Android簽名機制不能阻止APK數據分組被修改,但修改后的再簽名無法與原先的簽名保持一致(擁有私鑰的情況除外)。只要應用程序通過簽名機制的驗證,就證明這個應用程序是可信任的。應用程序通過AIDL接口申請訪問某個數據文件;如果應用程序通過簽名驗證,則繼續(xù)執(zhí)行權限校驗算法,否則拒絕訪問。監(jiān)控程序使用根密鑰解密相應數據文件的數據解密密鑰,根密鑰作為對稱加密算法的密鑰,用來加密文件密鑰;在這種機制下,某個應用必須得到一定數量級的移動數據密鑰的明文密文對,才有可能破解根密鑰,因此根密鑰是難以破解的,這里認為根密鑰是不能破解的。也因為只有監(jiān)控程序本身能取得根密鑰,所以如果不通過監(jiān)控程序的AIDL接口,則無法解密數據密鑰,從而無法解密數據文件。
5.1.2 實驗環(huán)境
在主流廠商Android 4.1版本的智能手機或平板電腦(具備Wi-Fi功能)及Eclipse的Android模擬器上進行實驗。測試環(huán)境為 1臺雙核 CPU 2.7 GHz、3 GB內存、Windows 7操作系統的計算機,1臺三星GALAXY NoteⅡ智能手機 (Android 4.1),1臺三星Tab2-P511010.1英寸平板電腦 (Android 4.1),1 臺 TP-Link TL-WR845N 300 Mbit/s無線路由器。計算機與2臺智能移動設備通過路由器連接組成一個移動局域網。
使用工具Eclipse Java EE IDE for Web Developers完成實驗的開發(fā)。應用在移動智能終端和仿真器上均可運行,為了方便分析,在代碼中對關鍵變量進行了標記,然后將應用在Eclipse的仿真器上運行,便于在logcat中對實驗結果進行分析。應用啟動后,logcat記錄結果如圖6所示。
首先,使用應用TagTest訪問report20130619文件。此智能終端的使用用戶有權使用應用TagTest對文件report20130619進行讀操作。結果顯示如圖7所示,應用返回密鑰 (真實場景中將直接利用該密鑰對文件進行操作)。
圖7 應用TagTest有權對文件report20130619進行讀操作
圖8 未授權應用無權對文件report20130619進行相應操作
然后,使用另一未授權應用對文件report20130619進行讀操作,系統拒絕操作,同時若用工具強行打開該文件,所顯示的也為亂碼。結果如圖8所示。
由以上結果可見,本模型在Android環(huán)境下能根據應用的操作權限進行判斷,以實現對移動數據細粒度的保護。
隨著移動辦公的興起,移動計算的安全問題備受關注。BYOD的安全問題主要集中在用戶訪問、追蹤移動設備、保護移動數據等方面,其中最重要的就是企業(yè)移動數據的安全保護。但是國內外相關的學術研究均未把重點放在對移動數據進行單獨的、細粒度的保護上,同時大多數國內外的MDM或MAM產品也都沒有基于用戶個體對企業(yè)數據進行細粒度的訪問修改等操作的控制管理功能。
本文提出了一種細粒度的移動數據安全保護模型,與傳統的無區(qū)分保護統一移動數據相比,該模型使用了移動數據標簽和移動應用標簽,并根據不同用戶執(zhí)行不同操作的權限控制管理,能針對每個單獨用戶對指定的每個數據的操作權限進行細粒度的控制,如允許某用戶僅能使用移動應用A對數據B進行讀取操作,但不能進行修改或共享等其他操作。通過在Android移動終端上進行實驗,驗證了模型在移動智能終端對移動數據控制的有效性和安全性。目前用戶對應的移動應用操作權限、生成數據機密級別和移動數據機密級別參數仍需由管理員在移動接入網關/服務器處單獨賦值,有一定的局限性,通過在移動接入網關/服務器根據已有策略自動對這3種參數賦值進行改進,是下一步研究工作的重點。
1 楊衛(wèi)軍,秦海權.智能移動平臺安全威脅分析.警察技術,2013(1):45~47
2 陸宏亮.移動云環(huán)境下基于終端上下文信息的數據保護研究.國防科學技術大學碩士學位論文,1998
3 石莎.移動互聯網絡安全認證及安全應用中若干關鍵技術研究.北京郵電大學碩士學位論文,2012
4 杜久升,陳宜金.計算機工程與應用.移動數據傳輸安全性研究,2011,47(34):11~14
5 Butter T,Aleksy M.MixVM-An approach to service isolation and data protection in mobile context-sensitive applications.Proceedings of 2009 International Conference on Availability,Reliability and Security,ARES 09,Fribourg,Switzerland,2009:322~328
6 Nkosi M,Mekuria F.Improving the capacity,reliability&life of mobile devices with cloud computing.Proceedings of IST-Africa Conference,South Africa,2011:1~9
7 Wonjoo P,Sun J K,Kee S.Framework for security management of mobile devices.Proceedings of Communications and Information Technology,ISCIT 2009,Korea,2009:1219~1222
8 Wu J J,Zhou J,Ma J,et al.An active data leakage prevention model for insider threat.Intelligence Information Processing and Trusted Computing(IPTC),2011(2):39~42