孫夏聲,王遠(yuǎn)強(qiáng)
(中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041)
傳統(tǒng)網(wǎng)絡(luò)采用的是“邊界”防護(hù)的安全模型,“內(nèi)網(wǎng)”是假定無條件安全和可信的。這種安全模型存在問題:一方面,邊界防護(hù)無法防護(hù)企業(yè)內(nèi)網(wǎng)的非法訪問行為;另一方面,一旦邊界被突破,攻擊者就可以暢通無阻地訪問企業(yè)內(nèi)網(wǎng)的所有資源。Google公司針對(duì)這種情況,部署實(shí)施了一種新的企業(yè)安全方法——BeyondCorp。本文借鑒其設(shè)計(jì)思路,基于可信密碼模塊(Trusted Cryptographic Module,TCM)的可信計(jì)算平臺(tái),通過使用多種安全認(rèn)證和授權(quán)手段,提出了一套輕量化的、適用于企業(yè)內(nèi)網(wǎng)的安全訪問模型。
2014年12月,Google陸續(xù)發(fā)表了5篇BeyondCorp 論文,全面介紹了BeyondCorp的結(jié)構(gòu)和實(shí)施情況[1]。BeyondCorp的核心思想是摒棄企業(yè)特權(quán)網(wǎng)絡(luò),即“零信任網(wǎng)絡(luò)”概念:不信任任何網(wǎng)絡(luò),訪問只依賴于設(shè)備和用戶憑證,不再關(guān)心網(wǎng)絡(luò)位置。用戶可以從任何網(wǎng)絡(luò)發(fā)起訪問,除網(wǎng)絡(luò)延遲以外,對(duì)企業(yè)資源的本地和遠(yuǎn)程訪問體驗(yàn)基本一致。
BeyondCorp的關(guān)鍵組件包括:(1)安全識(shí)別設(shè)備,包括設(shè)備清單數(shù)據(jù)庫(kù)、設(shè)備標(biāo)識(shí);(2)安全識(shí)別用戶,包括用戶和群組數(shù)據(jù)庫(kù)、單點(diǎn)登錄系統(tǒng);(3)從網(wǎng)絡(luò)中消除信任,包括部署無特權(quán)網(wǎng)絡(luò)、有線和無線網(wǎng)絡(luò)接入的802.1x認(rèn)證;(4)外化應(yīng)用和工作流,包括面向互聯(lián)網(wǎng)的訪問代理、公共的DNS記錄;(5)實(shí)現(xiàn)基于清單的訪問控制,包括對(duì)設(shè)備和用戶的信任推斷、訪問控制引擎、訪問控制引擎的消息管道。
BeyondCorp的組件和訪問流如圖1所示。
圖1 BeyondCorp組件和訪問流
BeyondCorp的核心在業(yè)務(wù),關(guān)注的是數(shù)據(jù),是網(wǎng)絡(luò)流量的不可信。Google從2011年開始實(shí)施和部署B(yǎng)eyondCorp,投入了大量資源,是小公司和機(jī)構(gòu)無法負(fù)擔(dān)的。本文借鑒其安全設(shè)計(jì)思路,剝離主要用于互聯(lián)網(wǎng)的訪問代理、信任推斷以及更高階的自學(xué)習(xí)自適應(yīng),保留關(guān)鍵組件中的驗(yàn)證用戶、驗(yàn)證設(shè)備和權(quán)限控制,將其引用到傳統(tǒng)的內(nèi)網(wǎng)安全訪問中,形成一種輕量化的網(wǎng)絡(luò)安全訪問模型,即基于TCM的網(wǎng)絡(luò)安全訪問模型。
國(guó)際上通用的可信計(jì)算規(guī)范由可信計(jì)算組織(Trusted Computing Group,TCG)制定,核心是可信平臺(tái)芯片(Trusted Platform Module,TPM)和可信軟件棧(Trusted Software Stack,TSS)。TCM對(duì)應(yīng)TPM,是我國(guó)具有自主知識(shí)產(chǎn)權(quán)的可信芯片。對(duì)應(yīng)TSS的是TCM服 務(wù) 模 塊(TCM Service Module,TSM)。 TCM和TPM的主要區(qū)別如表1所示[2],其中TCM存儲(chǔ)主密鑰(Storage Master Key,SMK)獨(dú)創(chuàng)性地使用了對(duì)稱密鑰。
表1 TCM和TPM的區(qū)別
基于TCM和TSM,對(duì)本地進(jìn)行軟硬件可信度量后的計(jì)算環(huán)境稱為TCM可信計(jì)算平臺(tái)??尚哦攘康囊罁?jù)是信任鏈傳遞:每一步的度量值作為下一步度量輸入的一部分,逐步計(jì)算出最后的度量結(jié) 果[3]。信任鏈傳遞的過程如圖2所示。
圖2 信任鏈傳遞
度量初始值記錄在TCM可信存儲(chǔ)區(qū)中,設(shè)備完成初始度量后的每次開啟過程執(zhí)行度量比對(duì),比對(duì)不一致則認(rèn)為設(shè)備不再可信。
可信網(wǎng)絡(luò)接入(Trusted Network Connect,TNC) 是TCG在網(wǎng)絡(luò)安全方面提出的可信接入控制技術(shù),主要基于802.1x接入控制協(xié)議,實(shí)現(xiàn)基于端口的網(wǎng)絡(luò)接入控制,架構(gòu)如圖3所示。
圖3 TNC體系架構(gòu)
TNC架構(gòu)中,PDP負(fù)責(zé)對(duì)終端進(jìn)行平臺(tái)身份認(rèn)證和完整性驗(yàn)證,PEP根據(jù)PDP的驗(yàn)證結(jié)果進(jìn)行授權(quán)訪問控制?;赥CM和TNC實(shí)現(xiàn)的可信交換機(jī)可以充當(dāng)PEP和PDP的角色,滿足終端接入可信網(wǎng)絡(luò)的應(yīng)用需求[4]??尚沤粨Q機(jī)應(yīng)用方式如圖4所示。
圖4 可信交換機(jī)應(yīng)用方式
2000年,ITU X.509(2000)頒布(RFC3281),其中完整定義了屬性證書(Attribute Certificate,AC), 該標(biāo)準(zhǔn)也被稱為X.509 V4。AC將持有者的名字和一系列“屬性”綁定,這些屬性用來表明證書持有人的用戶群組身份、角色以及安全權(quán)限等。
基于AC的訪問控制機(jī)制有基于角色的訪問控制(Role-Based Access Control,RBAC)[5]和 基 于屬性的權(quán)限控制(Attribute-Based Access Control,ABAC)[6]等。兩者實(shí)現(xiàn)較為復(fù)雜,在內(nèi)網(wǎng)環(huán)境中可采用基于屬性證書實(shí)現(xiàn)的安全訪問服務(wù)方案[7]。該方案的應(yīng)用體系結(jié)構(gòu)如圖5所示。
圖5 基于屬性證書的應(yīng)用體系結(jié)構(gòu)
借鑒Google的BeyondCorp架構(gòu),基于TCM可惜計(jì)算平臺(tái),結(jié)合可信交換機(jī)、用戶公鑰證書(Public Key Certificate,PKC)驗(yàn)證和基于屬性證書的訪問控制技術(shù),構(gòu)建了一個(gè)輕量化的基于TCM的網(wǎng)絡(luò)安全訪問模型,模型架構(gòu)如圖6所示。
圖6 基于TCM的網(wǎng)絡(luò)安全訪問模型架構(gòu)
3.1.1 人員
人事部門根據(jù)人員、部門以及業(yè)務(wù)等信息,制定“用戶/組數(shù)據(jù)庫(kù)”,同時(shí)為每一個(gè)員工配發(fā)唯一的TCM模塊。證書權(quán)威(Certificate Authority,CA)依據(jù)用戶/組數(shù)據(jù)庫(kù)信息,為每一個(gè)用戶簽發(fā)PKC,這是用戶的唯一標(biāo)識(shí)。PKC作為模塊證書,存儲(chǔ)在TCM中。所有的PKC同步在PKC目錄服務(wù)器上,供對(duì)外查詢使用。
3.1.2 設(shè)備
全部設(shè)備均由企業(yè)統(tǒng)一采購(gòu),預(yù)裝TSM,并建立設(shè)備資產(chǎn)庫(kù)。資產(chǎn)庫(kù)建立設(shè)備和人員的綁定關(guān)系。CA為每一臺(tái)設(shè)備簽發(fā)設(shè)備證書,設(shè)備證書作為平臺(tái)身份證書寫入到與人員配對(duì)的TCM中。
TCM接插到設(shè)備上,第一次加電啟動(dòng)完成初始化度量,完成TCM和設(shè)備的強(qiáng)綁定。經(jīng)過可信度量的設(shè)備被記錄到可信設(shè)備白名單中??尚旁O(shè)備白名單可動(dòng)態(tài)管理設(shè)備狀態(tài),如已報(bào)失的設(shè)備將被至為不可信/掛失,該設(shè)備將不再具有安全訪問能力。
3.1.3 權(quán)限
企業(yè)根據(jù)人員、業(yè)務(wù)和安全考慮,制定用于資源訪問的資源庫(kù)。資源庫(kù)統(tǒng)一管理企業(yè)內(nèi)網(wǎng)中的應(yīng)用服務(wù)資源。根據(jù)粒度不同,資源可以是服務(wù)器級(jí)別的、服務(wù)級(jí)別的,也可以是微服務(wù)架構(gòu)中“微服務(wù)。
CA為屬性權(quán)威(Attribute Authority,AA)授權(quán)。AA根據(jù)用戶/組和資源信息,為每個(gè)用戶簽發(fā)屬性證書。屬性證書中詳細(xì)定義用戶訪問每個(gè)資源的權(quán)限。
系統(tǒng)初始化完成后,當(dāng)新的終端需要接入企業(yè)內(nèi)網(wǎng)時(shí),要進(jìn)行一次完整的安全訪問過程,包括設(shè)備認(rèn)證、用戶認(rèn)證和訪問控制請(qǐng)求。統(tǒng)一認(rèn)證核心負(fù)責(zé)整個(gè)安全訪問請(qǐng)求的調(diào)度和判決。統(tǒng)一認(rèn)證過程(不包括TNC)交互如圖7所示。
圖7 安全訪問過程
3.2.1 設(shè)備認(rèn)證
終端設(shè)備接入可信交換機(jī),即進(jìn)行TNC接入認(rèn)證過程。認(rèn)證使用的是終端上TCM中的平臺(tái)身份證書。TNC認(rèn)證通過后,終端可向應(yīng)用服務(wù)發(fā)起連接請(qǐng)求。應(yīng)用服務(wù)接收到請(qǐng)求后,首先要求終端(TSM實(shí)現(xiàn)客戶端代理功能)回復(fù)TCM模塊的唯一標(biāo)識(shí)(TCM Identity,TCMID),然后向統(tǒng)一認(rèn)證發(fā)送安全訪問請(qǐng)求。安全訪問請(qǐng)求至少包含要求網(wǎng)絡(luò)訪問的終端TCMID和被訪問的資源信息。
統(tǒng)一認(rèn)證根據(jù)TCMID在可信設(shè)備白名單中查詢?cè)摻K端的相關(guān)信息,并以此判斷終端設(shè)備是否合法。設(shè)備認(rèn)證成功后,繼續(xù)用戶認(rèn)證過程,否則返回判決失敗。
3.2.2 用戶認(rèn)證
完成設(shè)備認(rèn)證后,統(tǒng)一認(rèn)證向請(qǐng)求網(wǎng)絡(luò)訪問的用戶終端發(fā)送挑戰(zhàn)請(qǐng)求,請(qǐng)求中包含挑戰(zhàn)碼。終端使用TCM平臺(tái)加密私鑰對(duì)挑戰(zhàn)碼等信息進(jìn)行簽名,然后作為挑戰(zhàn)應(yīng)答回復(fù)給統(tǒng)一認(rèn)證。
統(tǒng)一認(rèn)證收到挑戰(zhàn)應(yīng)答后,向PKC目錄服務(wù)請(qǐng)求TCMID對(duì)應(yīng)的PKC,使用該P(yáng)KC驗(yàn)證挑戰(zhàn)應(yīng)答報(bào)文。如果查詢PKC失敗或者驗(yàn)證挑戰(zhàn)應(yīng)答失敗,則向應(yīng)用服務(wù)返回判決失敗,否則繼續(xù)進(jìn)行下一步的訪問控制過程。
3.2.3 訪問控制
統(tǒng)一認(rèn)證根據(jù)終端TCMID和資源信息,向AC目錄服務(wù)查詢對(duì)應(yīng)的屬性證書。統(tǒng)一認(rèn)證根據(jù)獲得的AC,驗(yàn)證用戶是否具有所授資源的權(quán)限,最終將判決結(jié)果返回應(yīng)用服務(wù)器。應(yīng)用服務(wù)器根據(jù)判決結(jié)果確定是否響應(yīng)用戶發(fā)起的訪問請(qǐng)求。
在安全訪問過程的每一個(gè)協(xié)議包中,都設(shè)置時(shí)間戳(timestamp)和隨機(jī)數(shù)(nonce)。隨機(jī)數(shù)保證數(shù)據(jù)包不被重放,時(shí)間戳用來設(shè)置一個(gè)時(shí)間間隔如60 s,以縮小nonce的規(guī)模。60 s的取值來源于HTTP請(qǐng)求的常見延遲時(shí)間。
在保留原有X.509有效期的同時(shí),為了降低CRL撤銷列表帶來的復(fù)雜性,通過PKC/AC目錄服務(wù),將過期的證書直接做刪除索引處理。這樣既可以減少證書驗(yàn)證的時(shí)間,也可以有效實(shí)現(xiàn)身份/權(quán)限撤銷。
使用TCM平臺(tái)加密證書對(duì)屬性證書中的涉密屬性進(jìn)行加密,只有能夠解密該屬性的驗(yàn)證者,才能獲知屬性的內(nèi)容,降低屬性外泄造成損失的風(fēng)險(xiǎn)。
基于TCM的網(wǎng)絡(luò)安全訪問模型,是對(duì)Beyond Corp框架的思考和探索。模型中的組件已經(jīng)具備成熟的技術(shù)和工程實(shí)現(xiàn),如TCM計(jì)算平臺(tái)和可信交換機(jī);授權(quán)過程獨(dú)立使用AC,可以不必改造現(xiàn)有證書系統(tǒng),不影響原有PKC的簽發(fā)和使用。輕量化的實(shí)現(xiàn)思路,易于系統(tǒng)的構(gòu)建、移植和部署,在保證安全性的同時(shí),提供了較強(qiáng)的可用性。