国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Android移動設備數(shù)據(jù)加密機制

2013-04-29 07:17:15陸繼翔李映
無線互聯(lián)科技 2013年6期
關鍵詞:存儲設備摩托羅拉磁盤

陸繼翔 李映

摘 要:數(shù)據(jù)加密是企業(yè)級移動設備重要的功能,防止數(shù)據(jù)被未經(jīng)授權的用戶或應用程序所訪問。谷歌從Android3.0開始提供磁盤加密解決方案。但它只對內部存儲設備進行加密。本文基于eCryptFS方法提出了對Android系統(tǒng)內部和外部存儲設備都進行數(shù)據(jù)加密的整體方案,同時也提供了對Android應用程序級的數(shù)據(jù)加密方法,提升了Android移動設備的安全性。

關鍵詞:Android;數(shù)據(jù)加密

1 引言

伴隨著Android等移動智能終端產(chǎn)品消費的流行,Android 的開放性帶來的各種風險(安裝未知應用軟件,刷第三方ROM,肆意的ROOT提權等行為)嚴重威脅到該平臺的安全。手機上的數(shù)據(jù)保護是用戶最為關心的問題,如短信、通話記錄、其它手機內的私密信息等的安全性,用戶都非常擔心?;跀?shù)據(jù)安全性的考慮,谷歌從Android 3.0開始,在Android上提供磁盤加密解決方案。磁盤加密是保護信息的一種技術,它通過將數(shù)據(jù)轉換成不可讀的代碼,不易被未經(jīng)授權的人破譯。它是對磁盤物理扇區(qū)直接操作,加密一個磁盤或磁盤卷上的所有數(shù)據(jù),安全性高。

2 Android磁盤加密解決方案

谷歌Android磁盤加密解決方案是基于dm-crypt方法,與其它創(chuàng)建加密文件系統(tǒng)的方法相比,dm-crypt方法有著無可比擬的優(yōu)越性:它的速度更快,易用性更強。除此之外,它的適用面也很廣,能夠運行在各種存儲塊設備上,即使這些設備使用了RAID和LVM也毫無障礙。dm-crypt方法之所以具有這些優(yōu)點,主要得益于該技術是建立在2.6版本內核的device-mapper特性之上的。device-mapper是設計用來為在實際的塊設備之上添加虛擬層提供一種通用靈活的方法,以方便開發(fā)人員實現(xiàn)鏡像、快照、級聯(lián)和加密等處理。dm-crypt使用了內核密碼,應用編程接口實現(xiàn)了透明的加密。

dm-crypt具有動態(tài)加密的功能。動態(tài)加密(也稱實時加密,透明加密等,其英文名為encrypt on-the-fly),是指數(shù)據(jù)在使用過程中自動對數(shù)據(jù)進行加密或解密操作,無需用戶的干預,合法用戶在使用加密的文件前,也不需要進行解密操作即可使用,表面看來,訪問加密的文件和訪問未加密的文件基本相同,對合法用戶來說,這些加密文件是“透明的”,即好像沒有加密一樣,但對于沒有訪問權限的用戶,即使通過其它非常規(guī)手段得到了這些文件,由于文件是加密的,因此也無法使用。由于動態(tài)加密技術不僅不改變用戶的使用習慣,而且無需用戶太多的干預操作即可實現(xiàn)文檔的安全,因而得到了廣泛的應用。

Android磁盤加密解決方案遵循下面的步驟對Android設備上的所有內部數(shù)據(jù)進行加密:

⑴Android系統(tǒng)得到用戶的鎖屏密碼,然后執(zhí)行“cryptfs enablecrypto inplace”命令去調用VOLD。VOLD是VOLUME DAEMON的簡稱,它是負責大容量存儲設備掛載和刪除的守護進程。

⑵如果VOLD進程通過錯誤檢查,它將設置系統(tǒng)屬性vold.decrypt為“trigger_shutdown_framework”。這將導致init.rc停止主類和late_start系統(tǒng)類的服務。VOLD進程然后停止并掛載外部設備SD卡,以及手機內部的數(shù)據(jù)文件夾。

⑶VOLD進程然后安裝一個tmpfs/data(128M字節(jié)的RAM磁盤),并設置系統(tǒng)屬性vold.decrypt為“trigger_restart_min_framework”。這將導致init.rc重新啟動主類的服務。Android系統(tǒng)將在用戶界面當前屏幕上彈出進度條,查詢當前狀態(tài)并每5秒更新一下進度條。

⑷VOLD進程然后設置加密映射,它創(chuàng)建了一個虛擬的加密存儲設備塊映射到實際的存儲設備塊,每個扇區(qū)進行加密時它是可寫的,而每個扇區(qū)解密時它是只讀的。

⑸VOLD進程創(chuàng)建和寫入加密頁腳。然后VOLD進程啟動一個循環(huán)來讀取實際設備塊的每個扇區(qū),然后把它寫入加密的存儲設備塊。

⑹當加密設備內部存儲器中的所有文件已成功完成后,VOLD進程重新引導系統(tǒng)。

3 摩托羅拉磁盤加密解決方案

雖然谷歌的Android磁盤加密解決方案保護了Android手機的內存或閃存等內部存儲設備上的數(shù)據(jù),但對Android手機的外部存儲設備,如SD卡等卻無法進行數(shù)據(jù)加密保護。為了實現(xiàn)對Android手機外部存儲設備的數(shù)據(jù)進行加密保護,摩托羅拉提出了基于eCryptFS方法的磁盤加密解決方案,用于保護摩托羅拉Android智能手機內部存儲設備和外部存儲設備如SD卡上的數(shù)據(jù)。

eCryptfs是在Linux內核2.6.19版本中引入的一個功能強大的企業(yè)級加密文件系統(tǒng),堆疊在其它文件系統(tǒng)之上(如 VFAT,YAFFS2,Ext2,Ext3等),為應用程序提供透明、動態(tài)、高效和安全的加密功能。本質上,eCryptfs就像是一個內核版本的Pretty Good Privacy(PGP)[3]服務,插在VFS(虛擬文件系統(tǒng)層)和下層物理文件系統(tǒng)之間,充當一個“過濾器”的角色。用戶應用程序對加密文件的寫請求,經(jīng)系統(tǒng)調用層到達VFS層,VFS轉給eCryptfs文件系統(tǒng)組件(后面會介紹)處理,處理完畢后,再轉給下層物理文件系統(tǒng);讀請求(包括打開文件)流程則相反。

eCryptfs的設計受到OpenPGP規(guī)范的影響,使用了兩種方法來加密單個文件:

⑴eCryptfs先使用一種對稱密鑰加密算法來加密文件的內容,推薦使用AES-128算法,密鑰FEK(File Encryption Key)隨機產(chǎn)生。有些加密文件系統(tǒng)為多個加密文件或整個系統(tǒng)使用同一個FEK(甚至不是隨機產(chǎn)生的),這會損害系統(tǒng)安全性,因為:a.如果FEK泄漏,多個或所有的加密文件將被輕松解密;b.如果部分明文泄漏,攻擊者可能推測出其它加密文件的內容;c.攻擊者可能從豐富的密文中推測FEK。

⑵顯然FEK不能以明文的形式存放,因此eCryptfs使用用戶提供的口令(Passphrase)、公開密鑰算法(如RSA算法)或 TPM(Trusted Platform Module)的公鑰來加密保護剛才提及的 FEK。如果使用用戶口令,則口令先被散列函數(shù)處理,然后再使用一種對稱密鑰算法加密FEK??诹?公鑰稱為FEFEK(File Encryption Key Encryption Key),加密后的FEK則稱為 EFEK(Encrypted File Encryption Key)。由于允許多個授權用戶訪問同一個加密文件,因此EFEK可能有多份。

這種綜合的方式既保證了加密解密文件數(shù)據(jù)的速度,又極大地提高了安全性。它支持加密的文件名和目錄名。

eCryptFS是摩托羅拉Android內核的一部分。啟用并配置為一個可加載的內核模塊(CONFIG_ECRYPT_FS=M)。圖1為eCrypfs的架構。

圖2描繪了摩托羅拉磁盤加密解決方案的所有主要Android系統(tǒng)組件之間調用關系。粉紅色表明是方案新引入的組件,藍色表明需要修改的Android組件,灰色表明已經(jīng)支持某些功能的Android組件,不用修改。

以加密文件系統(tǒng)的初始化過程為例,本文給出所涉及的組件之間的調用步驟,如圖3所示:

對于外部存儲設備SD卡,只有用戶在用戶界面上啟用了“加密SD卡”選項,摩托羅拉的磁盤加密解決方案才會對它進行數(shù)據(jù)加密,因為eCryptfs支持進行動態(tài)加密,數(shù)據(jù)在使用過程中自動對數(shù)據(jù)進行加密或解密操作,無需用戶的干預。圖4顯示了用戶啟用和禁用磁盤加密的內部和外部SD卡的整個流程。

因為手機的閃存不能像SD卡一樣可以移動,摩托羅拉磁盤加密解決方案對Android智能手機的內部存儲設備每個文件在/ data分區(qū)進行加密。為了避免ANR(應用程序長時間不相應)和其它Android的性能問題,摩托羅拉的Android設備在進入“系統(tǒng)恢復”模式后進行加密操作,這樣沒有用戶交互和啟動Android ANR機制。然后設備將完成的所有文件進行復制,并重新寫入eCryptfs加密的文件。

4 摩托羅拉應用程序級加密解決方案

磁盤加密解決方案有一個不足:在手機安裝加載的加密存儲設備成功后,任何應用都可以訪問存儲設備上的文件,當文件被讀取時,解密操作是自動完成的。降低了數(shù)據(jù)安全性。因此,摩托羅拉還提供應用程序級的加密解決方案。當用戶啟用應用程序級的加密,將不使用Android標準的SQL接口來讀取和寫入數(shù)據(jù),而通過使用改進的SQL接口對一些重要的應用程序(日歷,聯(lián)系人,電子郵件)讀取和保存其數(shù)據(jù)。即通過使用一個FIPS140-2授權的加密庫,修改SQL接口對數(shù)據(jù)進行加密,然后才寫入到應用程序的數(shù)據(jù)庫,數(shù)據(jù)也將通過它被解密,從數(shù)據(jù)庫中讀取。

5 結論

本文對谷歌Android數(shù)據(jù)加密解決方案和摩托羅拉的數(shù)據(jù)加密解決方案進行比較,如表1:

Android提供了一個基于dm-crypt的基本磁盤加密解決方案,它僅保護Android智能手機的內部存儲設備中的數(shù)據(jù),不提供對外部存儲設備如SD卡的數(shù)據(jù)保護。

摩托羅拉提供了基于eCryptfs的另一種磁盤加密解決方案,它能夠保護內部存儲設備和外部存儲設備上的數(shù)據(jù)。摩托羅拉還提供了另一種應用程序級加密解決方案,以提高某些特定的重要應用程序的安全性。從而提升了整個Android移動設備的安全性。

[參考文獻]

[1]吳劍華,莫蘭芳,李湘,Android用戶隱私保護系統(tǒng).《網(wǎng)絡信息安全》,2012年第09期.

[2]關于Android3.0實施加密的Android技術信息,2011,http://source.android.com/tech/encryption/android_crypto_implementation.html.

猜你喜歡
存儲設備摩托羅拉磁盤
解決Windows磁盤簽名沖突
電腦愛好者(2019年2期)2019-10-30 03:45:31
修改磁盤屬性
承前啟后的摩托羅拉 Motorola Cycling Team
中國自行車(2018年2期)2018-05-09 07:02:47
磁盤組群組及iSCSI Target設置
Windows 7下USB存儲設備接入痕跡的證據(jù)提取
創(chuàng)建VSAN群集
基于Flash芯片的新型存儲設備數(shù)據(jù)恢復技術研究
用批處理管理計算機USB設備的使用
摩托羅拉系統(tǒng)2014新品發(fā)布會在京召開
警察技術(2014年3期)2014-02-27 15:34:24
孟與摩托羅拉中國的復興路
通信世界(2011年46期)2011-07-10 07:01:00
万源市| 永泰县| 武邑县| 阜城县| 高邑县| 尤溪县| 江阴市| 岱山县| 沈丘县| 兰西县| 金川县| 玉环县| 深水埗区| 新乡市| 息烽县| 佛坪县| 伊春市| 开远市| 太谷县| 文水县| 余江县| 东至县| 佳木斯市| 镇平县| 石首市| 彭州市| 隆子县| 乐业县| 孟津县| 保德县| 吐鲁番市| 吴旗县| 濉溪县| 酉阳| 南雄市| 延吉市| 萍乡市| 哈巴河县| 盱眙县| 屏山县| 澎湖县|