◆趙楠楠 肖卡飛
基于TrustZone的分布式可信接入方案研究與實現(xiàn)
◆趙楠楠1肖卡飛2
(1.上海市國有資產(chǎn)信息中心 上海 200001;2.百度(中國)有限公司 上海 200120)
隨著B/S模式訪問盛行,其訪問的安全性受到越來越多的關(guān)注。當(dāng)前幾乎全部單位允許自己的員工通過終端訪問應(yīng)用系統(tǒng),以滿足通信需求。顯然,這種訪問并未在安全認(rèn)證環(huán)境下進行。此時,做好終端認(rèn)證、用戶認(rèn)證、接入認(rèn)證及應(yīng)用系統(tǒng)認(rèn)證尤為重要。所以我們需要一種可信接入方案,以保護通信和敏感信息。本文采用VUE及KONG LUA架構(gòu),基于零信任核心理念和原則提出一種分布式可信接入方案。從應(yīng)用訪問、接口調(diào)用兩個維度,保證終端可信、身份可信、訪問可信及動態(tài)控制,解決終端可信問題、身份可信問題、行為可控問題。并采用分布式設(shè)計,解決并發(fā)連接的問題,提升用戶體驗。
零信任;可信接入;分布式
典型的企業(yè)網(wǎng)絡(luò)基礎(chǔ)設(shè)施變得日益復(fù)雜。一個企業(yè)可以運行多個內(nèi)部網(wǎng)絡(luò)及應(yīng)用云服務(wù),這種復(fù)雜性超越了網(wǎng)絡(luò)邊界安全的傳統(tǒng)方法,因為企業(yè)網(wǎng)絡(luò)邊界并不是一個單一的存在,且難以識別,基于邊界的網(wǎng)絡(luò)安全也被證明是不夠的,因為一旦攻擊者突破邊界,進一步橫向移動便會暢通無阻[1]。
針對復(fù)雜的企業(yè),形成了一種新型網(wǎng)絡(luò)安全模式,稱之為“零信任”(TrustZone),零信任方法主要側(cè)重于數(shù)據(jù)保護,但也可以且應(yīng)該包括所有企業(yè)資產(chǎn)(例如:設(shè)備、基礎(chǔ)架構(gòu)組件、應(yīng)用、虛擬和云組件等等)和主體(從資源請求信息的終端用戶、應(yīng)用以及其他非人類實體)[2]。在零信任安全模型中,企業(yè)必須不能隱形信任,需要制定防護措施通常包括盡可能減少對資源(數(shù)據(jù)、計算資源及應(yīng)用服務(wù)等)的訪問,只允許那些確定為需要訪問的用戶和資產(chǎn)訪問,并對每個訪問請求的身份和安全態(tài)勢進行持續(xù)認(rèn)證和授權(quán)。認(rèn)證和授權(quán)成功的接入稱之為可信接入。
傳統(tǒng)的接入方案一般有C/S和B/S兩種。C/S為客戶機服務(wù)器模式,此模式比較舊,且訪問模式比較簡單,此處不予贅述。B/S為瀏覽器服務(wù)器模式,這種模式的主要事務(wù)邏輯在服務(wù)器端實現(xiàn)[3]。瀏覽器同數(shù)據(jù)庫進行數(shù)據(jù)交互是通過Web Server實現(xiàn)的,訪問機制如圖1所示。
圖1 傳統(tǒng)接入方案
具體工作流程為[4]:
首先,客戶端發(fā)送請求。然后,服務(wù)器端處理請求。接下來,服務(wù)器端發(fā)送響應(yīng)。最后,瀏覽器解釋執(zhí)行HTML文件,呈現(xiàn)用戶界面。
傳統(tǒng)接入方案的通訊安全性僅通過傳統(tǒng)安全設(shè)備防火墻等進行邊界保護,其保障力度是遠遠不夠的[5]。云大物移智等新技術(shù)應(yīng)用,網(wǎng)絡(luò)暴露面增加,內(nèi)外部威脅形勢愈發(fā)嚴(yán)峻,傳統(tǒng)接入方案痛點主要體現(xiàn)在以下3個方面:
(1)身份可信問題。業(yè)務(wù)人員身份管理、資源管控、權(quán)限管控問題未得到解決。
(2)終端可信問題。終端環(huán)境安全狀態(tài)感知缺失,無法確保終端安全。
(3)訪問行為不可控。未做到對異常行為的檢測及動態(tài)控制。
基于傳統(tǒng)接入方案痛點,提出一種基于TrustZone的分布式可信接入方案,此方案致力于打造訪問主體和客體之間構(gòu)建以身份為基石的動態(tài)可信訪問控制體系[6]。核心思想如下:
(1)將身份作為訪問控制的基礎(chǔ)。零信任架構(gòu)的基礎(chǔ)是對所有參與對象進行身份驗證。沒有參與對象是天生可信的,都需要首先進行身份驗證。
(2)動態(tài)授權(quán)實時最小權(quán)限。在零信任架構(gòu)中,針對所有業(yè)務(wù)場景、所有資源的每一個訪問請求進行強制身份鑒別和授權(quán)判定,按需分配資源,僅授予執(zhí)行任務(wù)所需的最小權(quán)限,限制資源的可見性和可訪問性。
(3)對每一訪問請求構(gòu)建安全通道,實施訪問控制。零信任架構(gòu)確保訪問主體對資源的所有業(yè)務(wù)訪問都以安全的方式進行,對所有訪問請求和通信提供機密性、完整性保護。
(4)基于實時多源數(shù)據(jù)開展持續(xù)評估,實現(xiàn)動態(tài)訪問控制。實時多源數(shù)據(jù)包括訪問主體身份、計算環(huán)境可信度、權(quán)限策略、訪問行為等,用于分析和計算數(shù)據(jù)種類、數(shù)據(jù)可靠性有效提升、持續(xù)評估準(zhǔn)確性,同時兼顧數(shù)據(jù)安全性與可用性之間平衡。
方案架構(gòu)如圖2所示。
圖2 方案架構(gòu)圖
傳統(tǒng)接入方案訪問模式是用戶使用終端瀏覽器通過URL訪問應(yīng)用。前面已經(jīng)論述過,設(shè)備安全、用戶安全、應(yīng)用安全、系統(tǒng)安全均未得到安全認(rèn)證。這里提出分布式可信接入方案用戶訪問流如下:
用戶通過終端的瀏覽器訪問應(yīng)用時,在訪問請求發(fā)出前,首先由環(huán)境感知系統(tǒng)判斷設(shè)備是否安全,安全則繼續(xù)訪問,不安全則拒絕。通過設(shè)備安全性檢測后用戶帶著終端唯一ID(記為terTicket)將請求傳給接入代理,接入代理將請求轉(zhuǎn)給認(rèn)證中心驗證用戶及設(shè)備身份,認(rèn)證中心根據(jù)可信控制中心策略判斷用戶身份及終端身份是否可信,并將結(jié)果返回給可信接入代理,代理接收到結(jié)果后,若返回結(jié)果可信且用戶活躍則直接返回給用戶應(yīng)用界面,若需要重新認(rèn)證則跳轉(zhuǎn)至單點登錄界面,待用戶認(rèn)證成功后返回給用戶應(yīng)用界面。
因用戶訪問均需通過可信接入代理,代理可能壓力過大,解決方案為在接入代理前部署負(fù)載均衡服務(wù)器,配置轉(zhuǎn)發(fā)策略。實現(xiàn)分布式轉(zhuǎn)發(fā)功能。
考慮到實際應(yīng)用場景中,加載數(shù)據(jù)的需求量較大的情況,通過redis分布式緩存集群來實現(xiàn)提速,提升用戶體驗。
控制中心主要進行策略控制,共有三種策略:路由策略、流量策略、熔斷策略。路由策略指用戶訪問應(yīng)用時使用何種代理路由。流量策略用來控制后臺加載流量,用戶可根據(jù)需求設(shè)置希望最大并發(fā)連接數(shù)、最大流量等。熔斷策略使用場景為,若用戶通過單點登錄訪問多個系統(tǒng),其中一個系統(tǒng)數(shù)據(jù)量較大,加載時間超過用戶較優(yōu)體驗,則可設(shè)置加載最長時間,若一定時間(如30s)未返回結(jié)果則拒絕等待,重新建立連接進行訪問。
本方案采用分布式集群部署,前端采用JS語言,VUE架構(gòu)。后端采用LUA語言,KONG LUA架構(gòu)。
(1)單點登錄的實現(xiàn)
用戶訪問應(yīng)用系統(tǒng)時需要身份驗證,首先將請求發(fā)送給可信接入代理,可信接入代理將請求轉(zhuǎn)發(fā)給認(rèn)證中心,需要認(rèn)證情況下,返回給用戶單點登錄頁面,用戶輸入用戶名密碼后,通過認(rèn)證后方可訪問系統(tǒng)。正是因為有了此驗證過程,才保證了接入的安全性和可靠性,界面如圖3所示。
圖3 單點登錄頁面實現(xiàn)
(2)分布式負(fù)載均衡集群的實現(xiàn)
因用戶訪問均需通過可信接入代理,代理可能壓力過大,解決方案為在接入代理前部署負(fù)載均衡服務(wù)器,配置轉(zhuǎn)發(fā)策略。實現(xiàn)分布式轉(zhuǎn)發(fā)功能,分布式負(fù)載均衡策略配置如圖4所示。
圖4 負(fù)載均衡策略配置
(3)權(quán)限控制管理功能實現(xiàn)
零信任的核心思想為:從不信任,總是驗證。為更好地踐行零信任理念,方案采用對用戶全隱藏URL訪問應(yīng)用。訪問前,用戶需在可信控制中心配置訪問策略,以決定后續(xù)訪問應(yīng)用的訪問路徑。權(quán)限控制管理功能實現(xiàn)如圖5所示。
圖5 權(quán)限控制管理功能圖
本文基于零信任,采用VUE 及 KONG LUA架構(gòu),提出了一種分布式可信接入方案。該方案基于零信任核心理念“從不信任,總是驗證”,從應(yīng)用訪問、接口調(diào)用兩個維度保證終端可信、身份可信、訪問可信及動態(tài)控制[7],解決了終端可信問題、身份可信問題、行為可控問題。分布式設(shè)計,解決了并發(fā)連接問題[8]。實驗結(jié)果表明,本文提出的分布式可信接入方案能夠有效實現(xiàn)用戶終端在接入應(yīng)用系統(tǒng)過程中的安全認(rèn)證,保護好用戶訪問全過程安全。方案具有較好可擴展性,其整體運行效率較高,終端并發(fā)用戶數(shù)能力在可接受范圍內(nèi)。
至此,本方案已經(jīng)達到設(shè)計要求并且模塊功能已實現(xiàn)。當(dāng)然,設(shè)計方面還有一些不足之處,如本方案未給出一套可行的日志審計方案,界面美觀方面還有提升空間等。
[1]Lin-ge Wang,Trusted Connect Technology of Bioinformatics Authentication Cloud Platform Based on Point Set Topology Transformation Theory[c].ICAICA.2019.
[2]HUSSEIN D,BERTIN E,F(xiàn)REY V.A community-driven access control approach in distributed IoT environments[J].IEEE Communications Magazine,2017.
[3]CRUZPIRIS L,RIVERA D,MARSAMAESTRE I,et al.Access control mechanism for IoT environments based on modelling communication procedures as resources[J].Sensors,2018.
[4]Zhao B,Yan F,Zhang LQ,Wang J. Build trusted cloud computing environment. Communications of CCF(China Computer Federation),2012.
[5]張英駿,馮登國,秦宇,等.基于TrustZone的強安全需求環(huán)境下可信代碼執(zhí)行方案[J].計算機研究與發(fā)展,2015.
[6]林鈺趿.專用網(wǎng)絡(luò)中終端安全接入系統(tǒng)的設(shè)計與實踐[D].成都:電子科技大學(xué),2014.
[7]國家密碼管理局. GM/T 0011-2012.可信計算.可信密碼支撐平臺功能與接口規(guī)范[S]. 2012.
[8]王澎.基于可信計算的終端安全防護系統(tǒng)[J].信息安全與通信保密,2010.