江家仁,姜鎏,王渭清
(1.移動互聯(lián)網(wǎng)系統(tǒng)與應(yīng)用安全國家工程實驗室,上海 201315;2.中國電信股份有限公司上海研究院,上海 200122;3.中國電信股份有限公司上海分公司,上海 200120;4.中國電信集團(tuán)公司,北京 100033)
基于證書鏈驗證機(jī)制的智能終端安卓系統(tǒng)安全加固方案
江家仁1,2,姜鎏3,王渭清4
(1.移動互聯(lián)網(wǎng)系統(tǒng)與應(yīng)用安全國家工程實驗室,上海 201315;2.中國電信股份有限公司上海研究院,上海 200122;3.中國電信股份有限公司上海分公司,上海 200120;4.中國電信集團(tuán)公司,北京 100033)
在全球信息化的普及和移動互聯(lián)網(wǎng)蓬勃發(fā)展的背景下,安卓系統(tǒng)的安全加固作為移動互聯(lián)網(wǎng)和智能終端的新興領(lǐng)域最為核心的技術(shù)之一,需要結(jié)合其所表現(xiàn)出來的安全問題進(jìn)行深入的分析與研究。結(jié)合了證書鏈機(jī)制,以完整性驗證為核心的安全架構(gòu),能夠達(dá)到最大限度保護(hù)智能終端安全的目標(biāo)。
智能終端;安卓安全;安全加固
智能終端搭載的安卓系統(tǒng)是基于Linux開放性內(nèi)核的操作系統(tǒng),并且安卓系統(tǒng)本身具有極大限度的自由和開放性;由于采用了軟件堆層(software stack)的架構(gòu),有了比較好的擴(kuò)展性。所以根據(jù)安卓系統(tǒng)廣大的市場前景和發(fā)展的可持續(xù)性、平臺的開放性和優(yōu)良的擴(kuò)展性,以安卓系統(tǒng)為基礎(chǔ)建立的移動操作系統(tǒng)已經(jīng)成為智能終端系統(tǒng)核心的組成部分,并且受到了開放手機(jī)聯(lián)盟 (Open Handset Alliance)的大力支持,使整個系統(tǒng)不斷加速發(fā)展。IDC預(yù)計,2019年安卓市場份額將達(dá)到82.6%,成為全球市場份額最大的智能手機(jī)操作系統(tǒng)[1]。
隨著智能終端的發(fā)展,越來越多的人開始使用并依賴于通過搭載安卓智能操作系統(tǒng)的設(shè)備來處理日常生活與工作事務(wù),結(jié)合各自應(yīng)用場景下的安卓應(yīng)用也因其系統(tǒng)的開放性和碎片化,導(dǎo)致其安全性問題凸顯。因此,對安卓系統(tǒng)的安全加固作為移動互聯(lián)網(wǎng)和移動智能終端的新興領(lǐng)域最為核心的技術(shù)之一,需要結(jié)合其所表現(xiàn)出來的安全問題進(jìn)行深入分析與研究。
本文基于證書鏈驗證機(jī)制,結(jié)合智能終端所遇到的安全風(fēng)險,通過對應(yīng)用程序安全執(zhí)行技術(shù)和數(shù)據(jù)安全存儲技術(shù)的研究,提出以完整性驗證為核心的安全架構(gòu),從而提升智能終端系統(tǒng)的綜合安全防護(hù)能力。
基于安卓系統(tǒng)的智能終端較為廣泛,如華為、三星等知名品牌,在對安全性要求較高的應(yīng)用場景,如移動政務(wù)辦公、移動商務(wù)辦公等方面,無一例外地采用通用終端和系統(tǒng)結(jié)合行業(yè)專用軟件工具而形成的專業(yè)辦公終端,政企行業(yè)用戶使用這樣的智能終端處理事務(wù),可能會時刻處于安全風(fēng)險中。這些風(fēng)險將來源于如下兩個方面。
·安卓系統(tǒng)的安全性存在一定的結(jié)構(gòu)性問題,并對用戶造成嚴(yán)重的安全隱患。安卓系統(tǒng)可被替換,從而不能保證系統(tǒng)的完整性和可信任性;而安卓系統(tǒng)內(nèi)核也存在大量安全漏洞,攻擊者可以利用這些漏洞竊取用戶數(shù)據(jù),有些漏洞甚至可以使已安裝的安全監(jiān)控軟件關(guān)閉,給攻擊者長驅(qū)直入的機(jī)會;攻擊者利用信息同步獲取用戶的隱私信息和位置信息。
· 在智能終端安裝安全軟件和其他專業(yè)軟件過程中,系統(tǒng)容易受到惡意軟件或仿冒軟件的入侵,導(dǎo)致攻擊者利用仿冒版本獲取信息;在網(wǎng)絡(luò)傳輸數(shù)據(jù)過程中,攻擊者利用網(wǎng)絡(luò)漏洞,監(jiān)聽空口信令竊取智能終端的國際移動用戶識別碼(international mobile subscriber identification number,IMSI),甚至篡改數(shù)據(jù),從而發(fā)布偽造信息;利用網(wǎng)絡(luò)對智能終端進(jìn)行IP地址攻擊,導(dǎo)致終端無法使用數(shù)據(jù)業(yè)務(wù)甚至不能正常工作。無論是安卓系統(tǒng)本身還是安卓終端使用模式,都存在大量風(fēng)險,主要包括信息泄露、系統(tǒng)篡改、數(shù)據(jù)篡改、通信騷擾、漏洞利用等,如圖1所示。
不難發(fā)現(xiàn),智能終端的安全風(fēng)險主要體現(xiàn)在信息泄露、系統(tǒng)篡改、數(shù)據(jù)篡改、偽造信息、通信騷擾和漏洞利用等方面,如何判斷系統(tǒng)本身的可信性和可靠性是解決智能終端安全防護(hù)問題的關(guān)鍵[2]。為此,本文提出了一種基于證書鏈驗證機(jī)制的智能終端安卓系統(tǒng)安全加固方案。
圖1 智能終端面臨的安全風(fēng)險
本文方案針對智能終端安全加固關(guān)鍵技術(shù)的研究是基于Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)的開源移動智能操作系統(tǒng)——安卓系統(tǒng),以國內(nèi)GB/T 20272-2006、GB/T 30284-2013等相關(guān)安全標(biāo)準(zhǔn)為依據(jù),研究以基于證書鏈的完整性驗證為核心的安全架構(gòu),旨在達(dá)到最大限度保護(hù)智能終端安全的目標(biāo)。
本文方案主要針對安卓智能終端進(jìn)行安全防護(hù),包括應(yīng)用程序安全執(zhí)行、安全存儲等功能模塊領(lǐng)域技術(shù)進(jìn)行研究,制定安卓系統(tǒng)加固核心模塊關(guān)鍵技術(shù)方案,為行業(yè)用戶提供終端安全服務(wù),并為各類移動互聯(lián)網(wǎng)業(yè)務(wù)應(yīng)用的安全性提升奠定基礎(chǔ)。
3.1 系統(tǒng)完整性驗證
系統(tǒng)完整性驗證是整個系統(tǒng)安全框架的基礎(chǔ),以CPU內(nèi)置根證書為信任鏈依據(jù)對內(nèi)核引導(dǎo)程序完整性校驗,引導(dǎo)程序內(nèi)嵌二級證書對內(nèi)核、文件系統(tǒng)、安卓應(yīng)用系統(tǒng)進(jìn)行完整性校驗,確保終端操作系統(tǒng)的不可篡改和完整性。
證書鏈驗證機(jī)制以內(nèi)置根證書為信任依據(jù),采用SHA-1簽名和 RSA加密算法對內(nèi)核引導(dǎo)程序完整性校驗,引導(dǎo)程序內(nèi)嵌二級證書對內(nèi)核、文件系統(tǒng)、安卓應(yīng)用系統(tǒng)進(jìn)行完整性校驗,確保終端操作系統(tǒng)的不可篡改和完整性,如圖2所示。對于證書鏈的管理與存儲,其所有證書和簽名均存儲在保密的存儲區(qū)域內(nèi)。
將系統(tǒng)鏡像(image)通過數(shù)字證書簽名,并將簽名結(jié)果和公鑰證書保存在CPU的啟動代碼中,如圖3所示,再用芯片廠商的數(shù)字證書對CPU的啟動代碼簽名,最后將簽名結(jié)果和該數(shù)字證書所對應(yīng)的公鑰證書保存在不可重寫模塊中,該不可重寫模塊為整個系統(tǒng)完整性驗證的錨點,即安全的起點。
圖2 證書鏈驗證機(jī)制
圖3 證書鏈存儲區(qū)結(jié)構(gòu)
證書鏈存儲結(jié)構(gòu)為兩級存儲:CPU片內(nèi)存儲和不可重寫模塊。不可重寫模塊存放根證書和CPU boot,放置在CPU內(nèi)置的一個512 byte的一次性燒錄邏輯電路中,只能由片內(nèi)加載程序代碼讀取,不能被更換,也不能被其他應(yīng)用代碼讀取,將是這個系統(tǒng)完整性的錨點。其他加載鏡像和系統(tǒng)鏡像的簽名和證書放在CPU片內(nèi)存儲區(qū)。
3.2 密鑰體系
本文方案采用兩種算法,一個是SHA-1,用于產(chǎn)生摘要;另一個是RSA-1024,結(jié)合證書的密鑰對摘要加密,即簽名。由于芯片商指定證書發(fā)放者為GeoTrust,故對CPU的boot簽名所使用的證書和USB token均由GeoTrust提供。美國GeoTrust公司是全球第二大數(shù)字證書頒發(fā)機(jī)構(gòu)(CA),也是身份認(rèn)證和信任認(rèn)證領(lǐng)域的領(lǐng)導(dǎo)者,該公司各種先進(jìn)的技術(shù)使得任何大小的機(jī)構(gòu)和公司都能安全、低成本地部署SSL數(shù)字證書和實現(xiàn)各種身份認(rèn)證,從而確保電子商務(wù)交易的安全。全球150多個國家有超過10萬個用戶在使用 GeoTrust的產(chǎn)品來進(jìn)行安全的電子交易和確認(rèn)并保護(hù)網(wǎng)上真實身份,為全球用戶的電子商務(wù)保駕護(hù)航。故GeoTrust是可信任的。本文方案系統(tǒng)的證書體系見表1。
表1 證書類型說明
3.3 應(yīng)用程序安全執(zhí)行
用于對應(yīng)用程序進(jìn)行安全認(rèn)證,只有通過安全檢測并授權(quán)安裝的應(yīng)用才能在系統(tǒng)上使用。首先應(yīng)用供應(yīng)商必須將應(yīng)用發(fā)送至安全檢測機(jī)構(gòu)對應(yīng)用的安全性進(jìn)行檢測。如果通過檢測,使用安全檢測機(jī)構(gòu)的證書對應(yīng)用進(jìn)行簽名。應(yīng)用程序安全執(zhí)行采取的技術(shù)是提供定制的應(yīng)用安裝器和應(yīng)用簽名過濾器,通過與存儲在系統(tǒng)安全存儲區(qū)中的證書鏈進(jìn)行度量,對于沒有簽名或者簽名不是專用簽名的應(yīng)用程序不給予安全認(rèn)證,認(rèn)為非法,并禁止安裝該應(yīng)用。驗證流程如圖4所示。
由于在固化封裝前,會對系統(tǒng)鏡像進(jìn)行簽名,并將簽名結(jié)果和公鑰存放在安全存儲空間。因此,開機(jī)時對內(nèi)存上的系統(tǒng)進(jìn)行SHA-1摘要計算,獲取摘要和對應(yīng)存儲區(qū)域中保存的簽名,使用公鑰對簽名做RSA-1024計算獲取原始摘要。將兩個摘要進(jìn)行比較,如果符合,則驗證通過授權(quán)允許安裝,否則拒絕安裝。
3.4 安全存儲
安全存儲是用來對用戶關(guān)心的數(shù)據(jù)進(jìn)行加密存儲,保護(hù)用戶的隱私數(shù)據(jù)和敏感文件。如圖5所示,系統(tǒng)采用堆疊式企業(yè)級文件加密系統(tǒng)(enterprise cryptographic filesystem,eCryptFS)來對文件系統(tǒng)進(jìn)行加密,該文件系統(tǒng)基于openPNP設(shè)計,具有企業(yè)級安全性,可以對文件夾/文件名/文件數(shù)據(jù)加密,eCryptFS插在虛擬文件系統(tǒng)層(virtual file system,VFS)和下層物理文件系統(tǒng)之間,充當(dāng)一個“過濾器”的角色,對應(yīng)用的讀寫需求進(jìn)行轉(zhuǎn)換。
用戶應(yīng)用程序?qū)用芪募膶懻埱?,?jīng)系統(tǒng)調(diào)用層到達(dá) VFS層,VFS轉(zhuǎn)給 eCryptfs文件系統(tǒng)組件處理,處理完畢后,再轉(zhuǎn)給下層物理文件系統(tǒng);讀請求(包括打開文件)的流程則相反。
Keystore和用戶 eCryptfs-Daemon進(jìn)程負(fù)責(zé)協(xié)同密鑰管理,當(dāng)eCryptfs層讀取文件時,通過下層文件系統(tǒng)讀取該文件的頭部元數(shù)據(jù),交予Keystore模塊進(jìn)行加密后的EFEK的解密。依據(jù)RFC2440-OpenPGP規(guī)范要求,允許多對象或角色共享加密文件,頭部元數(shù)據(jù)中可以有一系列EFEK。OpenPGP格式被eCryptfs用于存放加密文件,由ecryptfs_auth_tok結(jié)構(gòu)表示,EFEK和相應(yīng)的公鑰算法/口令的描述構(gòu)成一個鑒別標(biāo)識符[4]。通過信任鏈已經(jīng)登記的鑒別標(biāo)識符,采用證書區(qū)別不同對象或角色的加密區(qū)域,從而保證不同對象或角色間不能查看和獲取加密文件。
圖4 驗證流程
圖5 安全存儲系統(tǒng)結(jié)構(gòu)
較之安卓原生態(tài)系統(tǒng)存在的信息泄露、系統(tǒng)篡改、通信騷擾、漏洞利用等問題,安卓加固方案通過對安卓系統(tǒng)內(nèi)核進(jìn)行安全增強(qiáng)與加固是智能終端安全防護(hù)的核心內(nèi)容,采用基于證書鏈驗證機(jī)制方案能夠有效解決系統(tǒng)的完整性和應(yīng)用可信任性問題,為用戶提供終端安全服務(wù),并為各類移動互聯(lián)網(wǎng)業(yè)務(wù)安全性提升奠定基礎(chǔ),同時為我國智能終端定制開發(fā)、安全手機(jī)研發(fā)等領(lǐng)域提供一種安全加固方案參考。
[1]IDC.全球智能手機(jī)發(fā)展預(yù)測報告 2015-2019[R].[S.l.:s.n.], 2015. IDC.Worldwide business use smartphone forecast 2015-2019[R]. [S.l.:s.n.],2015.
[2]李興新.移動互聯(lián)網(wǎng)時代的智能終端安全[M].北京:人民郵電出版社,2016. Li X X.Intelligent terminal security in mobile internet[M]. Beijing:Posts&Telecom Press,2016.
[3]傅慧明.一種基于雙向證書信任鏈的密鑰管理方案[J].計算機(jī)安全,2012,32(2):8-12. FU H M.A key management scheme based on bidirectional certificate chain[J].Computer Security,2012,32(2):8-12.
[4]IETF.OpenPGP message format:RFC 2440[S].1998.
Android security reinforcing scheme of intelligent terminal based on certificate chain authentication mechanism
JIANG Jiaren1,2,JIANG Liu3,WANG Weiqing4
(1.National Engineering Laboratory for Mobile Internet System and Application Security,Shanghai 201315,China 2.Shanghai Research Institute of China Telecom Co.,Ltd.,Shanghai 200122,China 3.Shanghai Branch of China Telecom Co.,Ltd.,Shanghai 200120,China 4.China Telecom Corporation,Beijing 100033,China)
With the prosperous development of information technologies and mobile internet popularity of information-based on a global basis,it is necessary to analyze and research the security problems for Android, which is one of the most important technologies in the emerging field of mobile internet and intelligent terminals. The certificate chain authentication mechanism played a critical role as protecting the core of the terminals against some intrusion attacks in the security phases.
intelligent terminal,Android security,security reinforcing
TP309
A
10.11959/j.issn.1000-0801.2017050
江家仁(1981-),男,移動互聯(lián)網(wǎng)系統(tǒng)與應(yīng)用安全國家工程實驗室、中國電信股份有限公司上海研究院高級工程師,主要從事移動互聯(lián)網(wǎng)安全技術(shù)及安全產(chǎn)品攻防技術(shù)方面的研究工作。
2017-01-20;
2017-02-15
姜鎏(1984-),男,中國電信股份有限公司上海分公司總工程師室綜合設(shè)施技術(shù)主管,主要從事通信基礎(chǔ)設(shè)施及網(wǎng)絡(luò)、信息安全技術(shù)方面的研究工作。
王渭清(1980-),男,中國電信集團(tuán)公司工程師,主要研究方向為信息安全管理、大數(shù)據(jù)安全。