張劉天 陳丹偉
(南京郵電大學(xué)計算機學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院 南京 210023)
(midgar_zhang.nj@foxmail.com)
傳統(tǒng)的對于資源的訪問保護理念稱為邊界安全理念,主要通過劃分安全區(qū)域,對不同的安全區(qū)域設(shè)置不同的安全要求,使得安全區(qū)域之間形成了網(wǎng)絡(luò)邊界,大部分安全設(shè)備都部署在網(wǎng)絡(luò)邊界處,包括防火墻、IPS、防毒墻、WAF等,對來自邊界外部的各種攻擊進行防范.一旦攻擊者突破保護邊界并進入內(nèi)部網(wǎng)絡(luò),原有的網(wǎng)絡(luò)安全保護措施將顯得毫無用處.文獻[1]中數(shù)據(jù)表明,超過30%的用戶在不同的系統(tǒng)中使用相同的密碼.一旦攻擊者竊取用戶賬戶密碼,就可以輕松獲得對系統(tǒng)和數(shù)據(jù)的訪問權(quán)限,并竊取數(shù)據(jù)資源.而疫情使得移動辦公的需求變得緊迫,大量的公司不得不讓員工居家工作,因此要求辦公人員在公司外部可以安全地訪問內(nèi)部資源.而傳統(tǒng)的 VPN接入方式存在安全性差、效率和穩(wěn)定性不夠、擴展性差的特點以及內(nèi)部資源暴露面擴大的問題.同時,隨著云計算、物聯(lián)網(wǎng)等新技術(shù)的出現(xiàn),傳統(tǒng)的網(wǎng)絡(luò)邊界逐漸變得模糊.為了應(yīng)對疫情帶來的辦公模式的變化,亟需有更好的安全防護理念和解決思路.
在這種背景下,本文將零信任架構(gòu)引入到移動辦公體系中,提出了一種基于零信任的訪問控制模型ZTBAC,并給出了一種零信任體系下移動辦公的架構(gòu)體系.訪問控制模型依據(jù)持續(xù)的信任評估和安全感知進行身份驗證,在訪問主體和資源之間建立安全可靠的連接通道,實現(xiàn)訪問動態(tài)安全可控,從而保證移動辦公的安全性.該模型中訪問主體不再是單一用戶,而是由用戶、設(shè)備和服務(wù)共同組成,并通過本文設(shè)計的信任度量體系對訪問主體進行持續(xù)性的綜合信任評估,同時依據(jù)最小權(quán)限原則,將信任與授權(quán)結(jié)合實現(xiàn)安全的動態(tài)訪問控制.
訪問控制機制可以使安全可信的訪問主體獲取到所需要的權(quán)限,任何多用戶的系統(tǒng)都離不開對系統(tǒng)訪問控制的需求,都需要解決實體鑒別、數(shù)據(jù)保密性、數(shù)據(jù)完整性等訪問控制安全服務(wù)問題.而目前學(xué)術(shù)界對于現(xiàn)有環(huán)境下訪問控制技術(shù)的研究已相當(dāng)成熟,且安全策略的主流思想也主要集中在基于規(guī)則的安全策略,典型的有自主訪問控制模型(DAC)以及基于身份的安全策略,如強制訪問控制模型(MAC)、基于角色的訪問控制模型(RBAC)等[2].此外,使用控制模型(UCON)通過對傳統(tǒng)訪問模型的擴展,能夠適應(yīng)更為開放更為動態(tài)的環(huán)境[3].同時,隨著對信任的深入研究,部分學(xué)者開始將信任模型與主流的訪問控制模式結(jié)合,例如Chakraborty等人[4]在RBAC模型的基礎(chǔ)上提出了TrustBAC模型,該模型通過計算信任值為用戶分發(fā)角色,提高了RBAC模型的動態(tài)性和監(jiān)管性.2010年,由著名研究機構(gòu)Forrester的首席分析師John Kindervag最早提出了零信任(zero trust)的理念[5],并由谷歌在BeyondCorp[6]項目中率先得到了應(yīng)用.BeyondCorp是首個真正實現(xiàn)的零信任架構(gòu),谷歌按照零信任的理念對網(wǎng)絡(luò)架構(gòu)進行了重構(gòu),未充分考慮對現(xiàn)有網(wǎng)絡(luò)的繼承和重用[7].2020年8月,美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)[8]發(fā)布了零信任標(biāo)準(zhǔn)架構(gòu),給出了零信任的抽象訪問模型(如圖1所示).之后,2021年2月,美國國防部(DOD)[9]給出了零信任參考架構(gòu),意味著零信任建設(shè)正式成為美國國防部信息網(wǎng)絡(luò)建設(shè)的一部分.2021年6月,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會[10]發(fā)布了零信任系統(tǒng)技術(shù)規(guī)范,規(guī)定了用戶訪問資源、服務(wù)之間調(diào)用2種場景下零信任系統(tǒng)的功能規(guī)范與測試方式.2021年10月,國際電信標(biāo)準(zhǔn)組織ITU-T[11]正式發(fā)布由騰訊牽頭的服務(wù)訪問過程持續(xù)保護指南,標(biāo)志著中國零信任技術(shù)實踐走向世界范圍.作為一種專注于資源保護并基于信任前提的網(wǎng)絡(luò)安全范式,零信任體系中訪問主體永遠(yuǎn)不會被隱式的單純依據(jù)位置信息授予,而必須不斷進行評估,根據(jù)綜合信任值分配權(quán)限.同時依據(jù)最小權(quán)限的原則,可以有效防止內(nèi)部的橫向攻擊。在零信任訪問控制體系中,通過信任評估模型和算法,實現(xiàn)基于身份的信任評估能力,只有通過信任評估,訪問控制系統(tǒng)才會授予訪問主體操作權(quán)限.
圖1 零信任模型
圖2 ZTBAC訪問控制模型
當(dāng)用戶或計算機需要訪問企業(yè)資源時,通過策略決策點(PDP)和策略執(zhí)行點(PEP)授予相應(yīng)的訪問權(quán)限.隱式信任區(qū)是指位于最小信任區(qū)域中的全部主體所具有的最后一個PEP/PDP的網(wǎng)關(guān)地址.例如,考慮機場中的旅客篩選模型.所有乘客都通過機場安全檢查站(PDP/PEP)進入登機區(qū),登機區(qū)即為隱式信任區(qū).PDP/PEP 采用一系列的控制策略,使得所有通過檢查點之后的通信流量都具有一個共同信任級別.PDP/PEP 不能對訪問流量使用超出其位置的策略,其思想是顯式地驗證和授權(quán)企業(yè)的所有用戶、設(shè)備、應(yīng)用程序和工作流,所以零信任的本質(zhì)是在訪問主體和客體之間構(gòu)建以身份為基石的動態(tài)可信訪問控制體系,而零信任所需要具備的零信任安全的關(guān)鍵能力可以概括為以身份為基石、業(yè)務(wù)安全訪問、持續(xù)信任評估和動態(tài)訪問控制,與之相應(yīng)的零信任所需要的主要邏輯組件如下:1)可信代理,也可以叫作策略執(zhí)行點.可信代理是零信任架構(gòu)的數(shù)據(jù)平面組件,通過動態(tài)訪問控制引擎對訪問主體進行認(rèn)證,對訪問主體的權(quán)限進行動態(tài)判定.同時,可信代理需要對所有的訪問流量進行加密.而可信代理的具體產(chǎn)品形態(tài)在不同場景下具有較大差異,零信任網(wǎng)關(guān)是暴露在外部可被用戶直接訪問的系統(tǒng),功能包括:對來訪未經(jīng)授權(quán)的請求進行認(rèn)證授權(quán)轉(zhuǎn)發(fā),對已正確授權(quán)的請求進行資源訪問轉(zhuǎn)發(fā);對禁止訪問的請求進行攔截阻斷,并且可以基于反向代理技術(shù)阻止請求主體向后訪問[12].API網(wǎng)關(guān)形態(tài)或者可以簡化為運行在服務(wù)環(huán)境的代理Agent模塊等.2)動態(tài)訪問控制引擎,包括策略引擎和策略管理點.策略引擎負(fù)責(zé)決定是否授予指定訪問主體對資源的訪問權(quán)限;策略管理點負(fù)責(zé)建立客戶端與資源之間的邏輯連接通道.動態(tài)訪問控制引擎和可信代理聯(lián)動,對所有訪問請求進行認(rèn)證和動態(tài)授權(quán)是零信任架構(gòu)控制平面的策略判定點.3)信任評估引擎.信任評估引擎是零信任架構(gòu)中實現(xiàn)持續(xù)信任評估能力的核心組件,和動態(tài)訪問控制引擎聯(lián)動,為其提供信任等級評估作為授權(quán)判定依據(jù).4)安全基礎(chǔ)設(shè)施,包括安全分析設(shè)施以及身份管理設(shè)施.安全分析設(shè)施包括終端可信環(huán)境感知、持續(xù)威脅檢測、態(tài)勢感知等安全分析平臺.身份管理設(shè)施包含身份管理和權(quán)限管理功能組件.通過這些外部風(fēng)險源以及權(quán)限管理,可以對授權(quán)策略進行很好的細(xì)粒度的管理和跟蹤分析[13].移動互聯(lián)網(wǎng)、云計算、大數(shù)據(jù)是目前應(yīng)用最為廣泛的業(yè)務(wù)場景,因此結(jié)合移動辦公的訪問控制需求以及零信任理念,設(shè)計了更加安全的移動辦公訪問控制體系[14].
本文提出了一種基于零信任理念的動態(tài)訪問控制模型ZTBAC,如圖2所示.通過給定權(quán)限閾值限制訪問主體的權(quán)限范圍,而權(quán)限閾值隨著系統(tǒng)的運行會自動進行一定范圍的調(diào)整.綜合信任值是依據(jù)用戶、設(shè)備、服務(wù)的獨立信任值以及威脅行為因子4個維度進行計算的,每次發(fā)起訪問前都需要對訪問主體重新進行信任評估,通過ZTBAC模型可以實現(xiàn)動態(tài)的權(quán)限分配.
不同于RBAC和ABAC模型在ZTBAC中沒有角色和屬性的概念,取而代之的是每次會話中的訪問主體,所有訪問主體的權(quán)限僅在當(dāng)前會話中有效,而權(quán)限獲取的依據(jù)是訪問主體的綜合信任值以及各維度的獨立信任值.
下面列舉了ZTBAC模型授權(quán)過程中的各元素的定義:
1) 訪問主體Sub.訪問主體是由用戶、設(shè)備以及服務(wù)三者共同構(gòu)成的會話主體.
2) 資源Re.各類資源的集合,資源是訪問主體Sub最終操作的對象.
3) 策略集Ps.由若干子策略構(gòu)成的策略集合,訪問主體依據(jù)策略集執(zhí)行相關(guān)操作,每一次會話都會生成新的策略集.
4) 訪問主體行為Op(S).是訪問主體Sub可以對資源進行的各類操作的集合.
5) 權(quán)限P.權(quán)限由具體的訪問資源Re和針對該資源具體的訪問主體行為Op(S)構(gòu)成.
6) 威脅行為D.由安全組件負(fù)責(zé)收集的危險操作以及來自外部環(huán)境的攻擊行為.
7) 主體信任值T.包括訪問主體的綜合信任值T(S)、用戶信任值T(u)、設(shè)備信任值T(d),由信任引擎計算得出,完整的信任度量體系在第3節(jié)給出.
8) 權(quán)限閾值Pt.訪問主體Sub獲取具體權(quán)限P所需要的最小信任值,由用戶閾值P(u)、設(shè)備閾值P(d)及權(quán)限閾值P(A)組成,只有當(dāng)訪問主體的信任值T大于權(quán)限閾值Pt時才可以獲取當(dāng)前權(quán)限.權(quán)限閾值P(A)的大小在初始時設(shè)定,之后依據(jù)訪問主體Sub的歷史請求情況進行動態(tài)調(diào)整,使得訪問主體Sub可以更準(zhǔn)確地獲取相應(yīng)的權(quán)限P.
9) 授權(quán)A.當(dāng)訪問主體信任值T大于權(quán)限閾值Pt時,對訪問主體Sub動態(tài)授權(quán),使其可以對目標(biāo)資源Re進行正常操作.
在ZTBAC模型中,訪問主體Sub不是一直不變的,訪問主體的權(quán)限P也不是一直有效的.在一次會話中,訪問主體Sub1依據(jù)當(dāng)前信任值T(S)獲取相應(yīng)的權(quán)限P1,當(dāng)訪問結(jié)束后,訪問主體的信任值T(S)便不再可用,隨之訪問主體也不再擁有之前的權(quán)限P1,只有重新經(jīng)過信任引擎評估,才可以重新獲取到對應(yīng)的權(quán)限P1.當(dāng)訪問主體的環(huán)境、設(shè)備等發(fā)生變化,從而使得信任值降低時,執(zhí)行相同的請求將會被拒絕,從而實現(xiàn)細(xì)粒度的訪問控制.
為了實現(xiàn)零信任訪問控制模型的要求,本文基于移動辦公場景給出了一種訪問控制架構(gòu),可以很好地實現(xiàn)ZTBAC模型的訪問控制功能,具體架構(gòu)如圖3所示.傳統(tǒng)的移動辦公通常是通過VPN連接內(nèi)網(wǎng)進行,而在零信任架構(gòu)下主體可以直接通過外網(wǎng)進行訪問,從而實現(xiàn)遠(yuǎn)程辦公[15].
圖3 基于ZTBAC的移動辦公架構(gòu)
整個應(yīng)用架構(gòu)基于零信任訪問控制設(shè)計,共分為以下7個模塊:
1) 接入認(rèn)證模塊.零信任架構(gòu)中對于主體(用戶、設(shè)備以及服務(wù))的訪問請求,要求先認(rèn)證后連接,因此首先需要對訪問主體的身份進行認(rèn)證.該模塊具備本地賬戶管理、單點登錄/登出驗證、多因素認(rèn)證等功能.
2) 應(yīng)用支撐模塊.該模塊是移動辦公的主要功能模塊,其中包括2大系統(tǒng):即時通信系統(tǒng)和協(xié)同辦公系統(tǒng).即時通信系統(tǒng)包括即時消息的發(fā)送接收、留言服務(wù)、在線音視頻會議以及內(nèi)部通信錄存儲等功能;協(xié)同辦公系統(tǒng)主要負(fù)責(zé)提供在線辦公,多人協(xié)作服務(wù),包括文檔共享、公文交換、事務(wù)處理、移動辦公等,使公司各部門各級人員可以實現(xiàn)遠(yuǎn)程的信息共享、共同處理事務(wù)等功能.
3) 終端基礎(chǔ)設(shè)施.主要包括數(shù)據(jù)庫系統(tǒng)、設(shè)備白名單、用戶身份信息等資源設(shè)施以及相應(yīng)的管理設(shè)施,是認(rèn)證依據(jù)的來源,同時也是訪問的客體對象.
4) 信任計算模塊.負(fù)責(zé)根據(jù)接入認(rèn)證模塊的信息以及安全態(tài)勢感知系統(tǒng)的情報計算訪問主體的綜合信任值.
5) 持續(xù)態(tài)勢感知模塊.包括威脅情報收集服務(wù)和安全運營中心.威脅情報收集服務(wù)可以根據(jù)外部情報對訪問主體進行辨別.安全運營中心包括安全信息和事件管理(SIEM)、擴展檢測和響應(yīng)(XDR)等系統(tǒng)對用戶的信息進行綜合評判,并將得到風(fēng)險分析結(jié)果與綜合威脅情報判別的結(jié)果共同發(fā)給信任計算模塊以及策略控制模塊.
6) 策略控制模塊.負(fù)責(zé)訪問控制,依據(jù)信任計算模塊、持續(xù)安全態(tài)勢感知、終端信息等對訪問主體進行授權(quán)以及分發(fā)策略,若訪問中出現(xiàn)風(fēng)險操作可以隨時切斷主體的訪問行為.
7) 網(wǎng)關(guān)/服務(wù)端代理.負(fù)責(zé)執(zhí)行策略控制模塊下發(fā)的策略,是已授權(quán)的訪問主體直接訪問的對象.
各級用戶進行移動辦公時,系統(tǒng)將依據(jù)訪問主體的信任值以及權(quán)限閾值進行細(xì)粒度的訪問控制,具體的訪問控制授權(quán)過程如圖4所示:
圖4 訪問控制授權(quán)過程
1) 開始階段.用戶使用設(shè)備登入并請求移動辦公服務(wù),態(tài)勢感知模塊開始持續(xù)監(jiān)測.
2) 接入認(rèn)證階段.接入認(rèn)證模塊首先依據(jù)用戶以及設(shè)備的登錄信息判斷其是否在白名單內(nèi),若驗證通過則繼續(xù)獲取訪問請求信息,并將用戶,設(shè)備及服務(wù)信息發(fā)送給信任計算模塊,否則將當(dāng)前登錄信息發(fā)送到持續(xù)態(tài)勢感知模塊.
3) 計算綜合信任值.當(dāng)訪問主體(用戶、設(shè)備及服務(wù))通過認(rèn)證后,信任計算模塊依據(jù)接入認(rèn)證模塊以及態(tài)勢感知模塊發(fā)來的信息計算訪問主體的綜合信任值作為授權(quán)的依據(jù).當(dāng)訪問主體信任值大于權(quán)限閾值時,授予訪問主體相應(yīng)的權(quán)限.而一旦訪問主體的信任值小于權(quán)限閾值時,將拒絕授權(quán)并將請求信息發(fā)送給態(tài)勢感知模塊.同時當(dāng)累積的訪問次數(shù)超過S后,將重新修改權(quán)限閾值.
4) 策略控制模塊.依據(jù)信任計算模塊的判決結(jié)果以及態(tài)勢感知模塊發(fā)送的安全信息進行策略的生成與分發(fā).當(dāng)態(tài)勢感知模塊檢測到存在危險行為時,策略控制模塊將直接結(jié)束當(dāng)前訪問,否則將動態(tài)生成訪問控制策略.
5) 態(tài)勢感知模塊.由各種威脅情報收集服務(wù)以及風(fēng)險行為感知服務(wù)構(gòu)成,可以接收各個模塊發(fā)送的行為信息并進行安全性分析,將評判結(jié)果同環(huán)境安全態(tài)勢監(jiān)測結(jié)果一并發(fā)送給策略控制模塊.
6) 網(wǎng)關(guān)/服務(wù)端執(zhí)行策略.負(fù)責(zé)執(zhí)行策略控制模塊分發(fā)的策略,實現(xiàn)訪問控制功能.
7) 執(zhí)行終端服務(wù).為合法主體提供相應(yīng)的資源.
整個移動辦公體系架構(gòu)依據(jù)4大主要模塊完成訪問控制工作,當(dāng)用戶發(fā)送移動辦公服務(wù)請求時,依據(jù)信任值、權(quán)限閾值以及安全性分析對訪問主體進行授權(quán),可以很好地實現(xiàn)基于零信任的訪問控制功能,為移動辦公提供了保障.
在上文提出的移動辦公控制架構(gòu)中,訪問主體的信任值以及權(quán)限的閾值是后續(xù)判斷的依據(jù),因此本文設(shè)計了一種信任值及閾值的動態(tài)計算方式.
圖5 訪問主體度量指標(biāo)
通常所說的訪問主體是用戶個體,而在零信任結(jié)構(gòu)中,訪問主體由用戶、設(shè)備以及服務(wù)三者共同構(gòu)成,基于這個理念,訪問主體的信任值包括用戶信任值、設(shè)備信任值、服務(wù)請求信任值以及這三者的綜合信任值,同時還需要考慮外部威脅情況對綜合信任值進行調(diào)整,在此基礎(chǔ)上本文給出ZTBAC模型的信任度量體系,如圖5和圖6所示:
圖6 威脅行為指標(biāo)
該體系對用戶、設(shè)備、服務(wù)三者各自的度量指標(biāo)進行分類,同時兼顧可能存在的威脅性行為,使得系統(tǒng)可以給出準(zhǔn)確的信任值,并迅速拒絕危險請求,保證系統(tǒng)內(nèi)部的安全.移動辦公架構(gòu)下的信任度量指標(biāo)如下:
1) 用戶.指用戶個體,主要基于身份信息計算信任值,包括賬戶、密碼、位置等.此外出于安全需求有時還需要進行加強認(rèn)證,包括動態(tài)令牌、短信、掃碼、token、人臉識別等方式中的1種或幾種.
2) 設(shè)備.指用戶發(fā)起訪問請求的終端,設(shè)備信任值基于設(shè)備身份計算.在模型中每個設(shè)備應(yīng)具有唯一標(biāo)識符認(rèn)證,可以由數(shù)字證書、網(wǎng)卡的MAC地址來表示,用于和內(nèi)部的設(shè)備白名單進行匹配;同時,設(shè)備自身的安全信息也需要考慮在內(nèi),包括設(shè)備類型、殺毒防護組件檢查、高危漏洞檢查、當(dāng)前進程檢查、應(yīng)用軟件版本檢查、操作系統(tǒng)版本檢查等.由以上2部分共同決定設(shè)備的信任值.
3) 服務(wù).服務(wù)指用戶的訪問請求狀態(tài),需要考慮網(wǎng)絡(luò)信息,如:網(wǎng)速、IP、域名等;目標(biāo)資源信息如目標(biāo)端口、資源狀態(tài)等;發(fā)起請求的行為信息如訪問和請求時間等.綜合三者共同計算出服務(wù)信任值.
4) 威脅行為.主要考慮外部威脅情報、安全日志審計以及對攻擊行為進行監(jiān)測,依據(jù)三者的安全情況對訪問主體信任值進行及時調(diào)整.外部情報源主要由情報來源以及威脅等級表示,用于比對訪問主體的安全狀態(tài).安全日志審計包括:導(dǎo)出、另存和刪除審計日志;用戶的創(chuàng)建、修改、刪除與授權(quán);其他系統(tǒng)參數(shù)配置和管理安全功能行為的操作,其中每一份日志應(yīng)考慮事件發(fā)生的日期和時間;事件類型;事件主體身份標(biāo)識;事件結(jié)果.持續(xù)攻擊行為監(jiān)測主要針對常見的攻擊行為,包括掃描網(wǎng)絡(luò)、賬號爆破、遠(yuǎn)程注入等.
在所有基于信任的訪問控制架構(gòu)中,通常將信任計算分為:基于資源屬性的信任算法、基于主體分值的信任算法以及單一信任算法和上下文信任算法.本文設(shè)計的信任算法是基于訪問主體的信任值和權(quán)限閾值,當(dāng)主體信任值滿足權(quán)限閾值要求時,訪問主體才可獲得相應(yīng)的訪問權(quán)限.
3.2.1 滑動窗口機制
零信任理念要求對所有的訪問主體默認(rèn)為不信任,因此每當(dāng)訪問主體發(fā)起請求時需要重新計算當(dāng)前信任值,這使得計算依據(jù)格外重要.本文引入滑動窗口機制用于保證計算數(shù)據(jù)的可靠性和時效性.計算信任值時只采用位于滑動窗口內(nèi)的數(shù)據(jù),忽略窗口外的數(shù)據(jù),每交互1次,窗口移動1個單位,窗口內(nèi)數(shù)據(jù)的權(quán)重大小也隨之變化,直到離開窗口,失去參考價值.滑動窗口模型如圖7所示:
圖7 滑動窗口模型
式(1)為在此基礎(chǔ)上給出的衰減函數(shù),用于表示權(quán)重的變化.m表示窗口大小,s為訪問主體歷史記錄和當(dāng)前訪問記錄的距離,α為任意小正數(shù),用于調(diào)節(jié)衰減范圍.
(1)
3.2.2 懲罰機制
整個系統(tǒng)本身采取只減不增的模式對發(fā)生惡意行為的節(jié)點進行懲罰,一旦系統(tǒng)檢測到非法操作后,將為訪問主體中的用戶及設(shè)備增加一個信任值上限,從而限制其后續(xù)獲取權(quán)限.信任上限由懲罰函數(shù)計算得出,如式(2)所示:
(2)
其中p′為訪問主體目標(biāo)權(quán)限的閾值或信任上限,C為懲罰系數(shù),系數(shù)越小,懲罰力度越大,本文將非法操作由低到高劃分為5個級別:最低、較低、中等、較高、最高.R為非法操作所包含的等級數(shù)量,r為當(dāng)前非法操作對應(yīng)的等級.當(dāng)發(fā)生違法操作時,會對訪問主體進行對應(yīng)的懲罰,而當(dāng)再次發(fā)生同樣的非法行為時會再次修改信任上限.
3.2.3 訪問主體信任值計算
本文基于邏輯回歸模型給出了訪問主體各度量指標(biāo)信任值的基本計算方法,首先把用戶、設(shè)備和環(huán)境用集合n表示,并將其各自的度量指標(biāo)轉(zhuǎn)化為對應(yīng)的信任等級值,用集合ln表示,三者各自的基礎(chǔ)信任值的計算方式如式(3)所示:
(3)
其中zl為各個度量指標(biāo)所含的信任值,al為各個度量指標(biāo)的影響因子,即所占權(quán)重,A(s)為衰減因子使信任值隨窗口移動而變化,其中l(wèi)∈ln,則gn(z)代表用戶、設(shè)備和環(huán)境三者各自的綜合信任值.三者進行計算得到的訪問主體的綜合信任值如式(4)所示:
G′(z)=∑cn×gn(z),
(4)
其中cn為用戶、設(shè)備和環(huán)境三者所占權(quán)重,其加和為1,G′(z)為訪問主體的綜合信任值.此外,為了保證系統(tǒng)的安全,計算信任值時還需要將威脅行為考慮在內(nèi),依據(jù)本文給出的信任度量體系,將所給出的威脅行為表示為集合W={w1,w2,…,wt},之后用tv表示各個威脅行為的影響因子,其中v∈W,tv初始值均為1,式(5)用于計算威脅行為的影響因子:
(5)
當(dāng)系統(tǒng)檢測到相應(yīng)的威脅行為后直接修改tv的值為0,從而修改信任值,使非法主體無法獲取權(quán)限.由此給出訪問主體的綜合信任值的完整算法,如式(6)所示:
(6)
當(dāng)訪問主體發(fā)送訪問請求時,信任引擎依據(jù)信任度量體系計算出訪問主體的信任值,并將其作為決策引擎進行決策的依據(jù).
(7)
3.4.1 復(fù)雜度分析
整個信任度量體系主要分為信任值計算模塊和權(quán)限閾值模塊調(diào)整2部分.在ZTBAC模型的信任值計算模塊中,首先計算gn(z),其中n為度量指標(biāo)主體,l為度量指標(biāo)集合大小,則計算復(fù)雜度為O(nl),之后在式(5)中計算威脅行為的影響因子,需要對每一個可能存在的威脅行為逐一分析,所以計算復(fù)雜度為O(t),則整體的計算復(fù)雜度為O(nlt),又n代表度量指標(biāo)主體設(shè)備、用戶及服務(wù),三者應(yīng)為常量,最終信任計算模塊的計算復(fù)雜度為O(lt).而對于權(quán)限閾值調(diào)整模塊,計算復(fù)雜度僅與初始設(shè)置的累積訪問次數(shù)S有關(guān),計算復(fù)雜度為O(S).所以整體的時間復(fù)雜度為O(S+lt).此外,需要存儲歷史訪問的記錄,空間復(fù)雜度為O(S×Kd),其中Kd為存儲記錄的大小.
3.4.2 實驗分析
實驗主要考慮移動辦公環(huán)境下,信任模型對訪問主體信任值描述的靈敏性和有效性.使用MATLAB分析不同的度量指標(biāo)集合對主體信任值的計算時延,以及對權(quán)限閾值調(diào)整的影響.實驗環(huán)境為Intel Core i5-4210H CPU @2.9 Hz,8 GB內(nèi)存,Win8.1系統(tǒng),Matlab-R2020a版本.
在度量指標(biāo)的選取上考慮移動辦公的特性,主要選取表1中的指標(biāo)作為信任計算依據(jù),同時給出了各個關(guān)鍵字段信息所具有的信任值范圍.
表1 信任計算指標(biāo)
同時在移動辦公中,操作主要由用戶主動發(fā)起,因此用戶在訪問主體信任值中權(quán)重應(yīng)為最高,其次是用戶辦公時的設(shè)備,依據(jù)計算公式,實驗參數(shù)設(shè)置如表2所示:
表2 實驗參數(shù)設(shè)置
影響因子由管理人員根據(jù)需求設(shè)置,實驗中全部設(shè)置為1,同時設(shè)所有的度量指標(biāo)初始信任值zl=0.2,初始時默認(rèn)無威脅行為,不設(shè)置滑動窗口,實驗結(jié)果如圖8所示.
圖8 度量指標(biāo)對信任值的影響
圖8所示為度量指標(biāo)個數(shù)與信任值之間的關(guān)系,可以看出不同的權(quán)重c會造成信任增長速率的不同,其中服務(wù)和設(shè)備的主體信任值上升較為平緩,主要是由于兩者的權(quán)重c較小.而用戶主體的信任值和訪問主體的綜合信任值在度量指標(biāo)個數(shù)較少時增長較快,而隨著指標(biāo)個數(shù)增多,兩者的信任值增長均趨于平緩,接近一個穩(wěn)定值,因此獲取更高的權(quán)限會更困難.
圖9所示為度量指標(biāo)數(shù)量和信任值計算時延之間的關(guān)系,可以看出當(dāng)度量指標(biāo)的數(shù)量增加時,計算時延整體呈增長趨勢,當(dāng)度量指標(biāo)數(shù)量小于10時,計算時延增幅較小,而當(dāng)度量指標(biāo)個數(shù)超過10后,計算時延有大幅增長,之后增長速度再次減緩.結(jié)合以上實驗結(jié)果,對度量指標(biāo)的選取不應(yīng)過多,當(dāng)度量指標(biāo)個數(shù)較多時,計算時延較高,而其對信任值的影響較小,會使得整個信任度量體系的靈敏度下降,這是ZTBAC模型所不能承受的.
圖9 度量指標(biāo)對計算時延的影響
為了驗證滑動窗口對信任值增長的影響,添加一個大小為10的滑動窗口用于對度量指標(biāo)進行處理,比較其訪問20次時信任值增長趨勢的變化,結(jié)果如圖10所示:
圖10 滑動窗口對信任值的影響
增加滑動窗口后,主體信任值有所下降,同時上升趨勢減緩,說明訪問主體獲取高權(quán)限需要更多的度量指標(biāo),增加了安全性.
當(dāng)發(fā)生非法行為時懲罰機制會設(shè)置相應(yīng)的信任上限,為了驗證懲罰機制的有效性,本文設(shè)某一訪問主體中用戶的初始信任值為0.45,懲罰系數(shù)C=0.8,非法操作等級為最低,當(dāng)訪問主體多次發(fā)生非法行為時,其可獲取的信任上限變化如圖11所示:
圖11 懲罰機制對信任值的影響
實驗結(jié)果表明,當(dāng)惡意訪問主體發(fā)生非法操作時,其可獲取的信任上限會快速下降,當(dāng)發(fā)生5次同樣的惡意行為時,惡意主體可獲得的信任上限已經(jīng)接近于0,可確保整個模型的安全性.
3.4.3 安全性分析
從以上實驗可以看出,ZTBAC模型相對于基于RBAC下的TrustBAC模型[3],有效解決了用戶可以通過自己的信任值無限制地獲取權(quán)限的問題,ZTBAC中訪問主體不能單純依靠較高的綜合信任值獲取到更高權(quán)限.同時在TrustBAC中一旦用戶利用信任值獲取到對應(yīng)角色,就可以獲得該角色包含的所有權(quán)限,而在ZTBAC模型中,訪問主體在獲取任意權(quán)限前都需要進行信任評估,并且僅能獲取到當(dāng)前操作所請求的對應(yīng)權(quán)限,滿足最小權(quán)限原則.ZTBAC模型中信任值計算采用logistic模型,使得信任值并不呈線性增長,而滑動窗口機制有效應(yīng)對信任累積攻擊,使得信任值增長緩慢,而當(dāng)發(fā)生非法行為時,由于懲罰機制的存在,會使訪問主體可獲得的信任上限快速下降,這對任何理性訪問主體而言是不可承受的,非法操作的風(fēng)險不足以滿足收益.
本文基于零信任給出的移動辦公下ZTBAC訪問控制架構(gòu),將信任評估體系加入到訪問控制中,同時對訪問主體的信任度進行持續(xù)評估,動態(tài)地更新訪問主體的權(quán)限信息,更好地滿足了當(dāng)前環(huán)境下移動辦公訪問控制的安全性要求.后續(xù)將針對動態(tài)策略的生成與分發(fā)進行研究,進一步完善整個訪問體系架構(gòu),提高效率及安全性.