馬俊明
(中電科鵬躍電子科技有限公司,山西 太原 030028)
隨著云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)、5G、工業(yè)互聯(lián)網(wǎng)等新興技術(shù)的不斷興起,企業(yè)IT架構(gòu)逐漸從“有邊界”向“無邊界”轉(zhuǎn)變,傳統(tǒng)的安全邊界逐漸瓦解,與此同時,秉承“去邊界化”安全理念的零信任逐漸進入人們的視野,成為解決新時代網(wǎng)絡(luò)安全問題的新理念、新架構(gòu)。2010年,F(xiàn)orrester分析師約翰·金德維格首次正式提出“零信任”概念[1],零信任安全理念基于身份認證和授權(quán)重新構(gòu)建訪問控制的信任基礎(chǔ),從而確保終端安全、鏈路安全和訪問控制安全。
密碼技術(shù)作為身份認證和加密通信的核心技術(shù),在零信任安全體系建設(shè)中起著不可替代的作用。2019年10月26日,全國人大常委會表決通過《中華人民共和國密碼法》,自2020年1月1日起正式施行,密碼法的制定是密碼工作歷史上具有里程碑意義的大事,同時密碼法的實施也必將推動基于商業(yè)密碼技術(shù)在零信任解決方案的應(yīng)用研究落地。
為了更好地了解基于標識密碼(Identity-Based Cryptography,IBC)的零信任安全解決方案,首先介紹與之相關(guān)的概念及基礎(chǔ)知識。
零信任(Zero Trust,ZT)是一個全新的安全機制和構(gòu)想,代表了新一代的網(wǎng)絡(luò)安全防護理念,“從不信任,始終校驗”是零信任的核心思想。默認不信任企業(yè)網(wǎng)絡(luò)內(nèi)外的任何人、設(shè)備和系統(tǒng),基于身份認證和授權(quán)重新構(gòu)建訪問控制的信任基礎(chǔ),從而確保身份可信、設(shè)備可信、應(yīng)用可信和鏈路可信。基于零信任原則,可以保障網(wǎng)絡(luò)系統(tǒng)的3個“安全”,分別是終端安全、鏈路安全和訪問控制安全。在NIST SP 800-207《零信任架構(gòu)》標準草案中描述了零信任訪問模型,如圖1所示[2]。
在抽象模型中,當用戶或計算機需要訪問企業(yè)資源時,其需要通過策略決策點(Policy Decision Point,PDP)和相應(yīng)的策略執(zhí)行點(Policy Enforcement Point,PEP)授予訪問權(quán)限。零信任訪問系統(tǒng)必須確保用戶可信且請求合法。PDP/PEP會做出合適的判斷以允許主體訪問資源。
目前實現(xiàn)零信任理念的3大關(guān)鍵技術(shù),可以歸納為“SIM”組合,分別為軟件定義邊界(Software Defined Perimeter,SDP)、身份識別與訪問管理(Identity and Access Management,IAM)和微隔離(Micro-Segmentation,MSG)[3]。不同的企業(yè)需要根據(jù)自身需求以及不同方法的優(yōu)缺點來選擇適合自己的網(wǎng)絡(luò)安全規(guī)劃。
1984年,Shamir提出了標識密碼的概念[4],在標識密碼系統(tǒng)中,用戶的私鑰由密鑰生成中心(Key Generation Centre,KGC)根據(jù)主密鑰和用戶標識計算得出,用戶的公鑰由用戶標識唯一確定,由標識管理者保證標識的真實性。與基于證書的公鑰密碼系統(tǒng)(Public Key Infrastructure,PKI)相比,標識密碼系統(tǒng)中的密鑰管理環(huán)節(jié)可以適當簡化,避開復(fù)雜的數(shù)字證書管理環(huán)節(jié),使系統(tǒng)更易于部署和使用[5]。
SM9算法是我國獨立設(shè)計的一種基于標識密碼體系的商密算法。2016年3月,由國家密碼管理局發(fā)布系列行業(yè)標準GM/T 0044—2016《SM9標識密碼算法》,2020年4月,由國家標準化管理委員會正式發(fā)布國家標準GB/T 38635.2—2020《信息安全技術(shù) SM9標識密碼算法 第2部分:算法》[6]。SM9算法主要包括密鑰和算法兩個部分。密鑰部分包括主密鑰對(公鑰和私鑰)和用戶私鑰;算法部分包括簽名驗簽算法、密鑰封裝解封算法、加密解密算法和密鑰交換算法。
在商用密碼體系中,SM9主要用于用戶的身份認證,據(jù)公開報道,SM9的加密強度等同于3072位密鑰的RSA加密算法[7]。
零信任安全的核心思想是構(gòu)建系統(tǒng)中訪問主體、客體及相關(guān)資源設(shè)備之間的可信關(guān)系,并通過持續(xù)鑒權(quán)來確保系統(tǒng)安全?;贗BC的零信任網(wǎng)絡(luò)安全防護架構(gòu)(以下簡稱防護架構(gòu))如圖2所示。
設(shè)計方案中的防護架構(gòu)參照NIST零信任訪問模型的基本結(jié)構(gòu),依據(jù)實際應(yīng)用場景(主要適用于關(guān)鍵信息基礎(chǔ)設(shè)施安全防護和工業(yè)信息控制系統(tǒng)安全防護)做了適應(yīng)性的調(diào)整。在調(diào)整過程中,主要特點就是使用以標識密碼為核心的安全認證服務(wù)系統(tǒng)。防護架構(gòu)由以下幾個模塊組成:訪問主體、標識密鑰基礎(chǔ)設(shè)施、策略管理系統(tǒng)、零信任訪問控制網(wǎng)關(guān)、微隔離邏輯端口控制器、訪問客體(資源池、應(yīng)用服務(wù)等)。
基于IBC的零信任網(wǎng)絡(luò)安全防護系統(tǒng)設(shè)計要遵循零信任安全7條基本原則[2],以搭建面向?qū)嶋H應(yīng)用的安全防護為目標。參照系統(tǒng)防護構(gòu)架,安全防護系統(tǒng)至少包含4大核心組件:一是密鑰基礎(chǔ)設(shè)施;二是動態(tài)訪問控制網(wǎng)關(guān);三是策略管理系統(tǒng);四是微隔離控制系統(tǒng)。除此之外,在具體設(shè)計環(huán)節(jié)中,還應(yīng)該增加系統(tǒng)實施中必須包含的標識管理系統(tǒng)和資源池配置管理系統(tǒng)。系統(tǒng)各組件的詳細功能設(shè)計如下文所述。
網(wǎng)絡(luò)資產(chǎn)安全是確保網(wǎng)絡(luò)安全的基本要求之一,其包含訪問主體、客體和相關(guān)設(shè)備及服務(wù)。理清系統(tǒng)中的網(wǎng)絡(luò)資產(chǎn)并對其進行逐一標識是基于標識密碼算法實施身份認證和加密傳輸?shù)幕緱l件。標識管理系統(tǒng)分為標識定義和標識管理兩部分。
(1)統(tǒng)一標識定義和編碼規(guī)則:清點系統(tǒng)內(nèi)資產(chǎn),逐一登記注冊并分配唯一身份標識碼(ID),ID編碼可選規(guī)則如下:編碼為16位字符型,大類編碼如設(shè)備、用戶等網(wǎng)絡(luò)資源大類(占4位,可以是字符與數(shù)字組合),部門編碼(占4位,可以是字符與數(shù)字組合),每類中資產(chǎn)序列號(占8位,可以是從00000001~99999999的數(shù)字)。樣例1:辦公室辦公主機1的ID為BGZJ000100000001;樣例2:技術(shù)部員工張三用戶ID為YH01000300000012。
(2)標識管理服務(wù):在系統(tǒng)中設(shè)置一臺標識生成管理服務(wù)器,主要提供標識的登記注冊、查詢、注銷等服務(wù),其中,因IBC密鑰系統(tǒng)具有特殊性,注銷的ID號不能重新注冊。
密鑰基礎(chǔ)設(shè)施是系統(tǒng)進行身份認證和加密通信的核心組件,主要負責(zé)系統(tǒng)主密鑰生成管理、主公鑰及參數(shù)發(fā)布、用戶密鑰生成下發(fā)等。在IBC密鑰管理系統(tǒng)設(shè)計中使用的密碼算法和相關(guān)參數(shù)都須符合國密算法SM9標準中的相關(guān)要求。IBC密鑰基礎(chǔ)設(shè)施功能結(jié)構(gòu)如圖3所示。
IBC密鑰基礎(chǔ)設(shè)施主要包括標識生成管理服務(wù)器、登錄注冊機和密鑰管理服務(wù)器3個模塊,此外,由于IBC密碼系統(tǒng)基于身份的特點,用戶之間無須交換私鑰和公鑰,所以在IBC密鑰基礎(chǔ)設(shè)施中沒有公共的證書服務(wù)器。密鑰基礎(chǔ)設(shè)施主要功能和工作原理如下文所述。
(1)標識生成管理服務(wù)器:系統(tǒng)依據(jù)編碼規(guī)則為用戶生成標識并進行相關(guān)管理服務(wù),同時可以對注冊成功的用戶提供標識密鑰私鑰申請的服務(wù)。
(2)登錄注冊機:主要負責(zé)系統(tǒng)用戶的登錄注冊,提供用戶認證簽名,用戶注冊后通過標識生成管理服務(wù)器和密鑰管理服務(wù)器申請生成用戶私鑰并安全下發(fā)用戶私鑰。
(3)密鑰管理服務(wù)器:主要負責(zé)密鑰系統(tǒng)初始化,對主密鑰生成、安全存儲、備份、恢復(fù)及更新等進行管理,同時提供公用參數(shù)查詢下載、用戶密鑰生成和安全下發(fā)等服務(wù)。
(4)密鑰生成原理及主要步驟:密鑰生成主要使用的是SM9算法。SM9密碼算法的理論基礎(chǔ)和數(shù)學(xué)工具是有限域群上橢圓曲線的點群運算的性質(zhì)及雙線性對運算特性,SM9算法使用的是256位的BN曲線,橢圓曲線方程為y2=x3+b,曲線參數(shù)t=60000000 0058F98A,跡tr(t)=6t2+1,基域特征q(t)=36t4+36t4+24t2+6t+1,方程參數(shù)b=5,群的階N(t)=36t4+36t3+18t2+6t+1,循環(huán)子群G1和G2的階N(N為大于 2191的素數(shù)),余因子cf=1,嵌入次數(shù)k=12,扭曲線的參數(shù)β,群G1的生成元P1=(xP1,yP1),群G2的生成元P2=(xP2,yP2),雙線性對的識別符eid=0x04[8],其他參數(shù)詳見SM9算法標準[4],其密鑰生成原理及步驟如下文所述。
第一步,簽名主密鑰和加密主密鑰的生成:簽名主私鑰ks由隨機數(shù)發(fā)生器產(chǎn)生,ks∈[1,N-1],計算簽名主公鑰Ppub-s=ks×P2;加密主密鑰ke由隨機數(shù)發(fā)生器產(chǎn)生,ke∈[1,N-1],計算加密主公鑰Ppub-e=ke×P1。
第二步,以用戶A(公鑰為IDA)為例計算A的簽名私鑰dsA:密鑰管理中心首先選擇并公開用一個字節(jié)表示的私鑰生成函數(shù)識別符hid,然后在有限域FN上計算t1=H1(IDA||hid,N)+ks,其中H1( )為輔助密碼函數(shù),若t1=0,則需重新產(chǎn)生簽名主私鑰,計算和公開加密主公鑰,并更新已有用戶的簽名私鑰;否則計算t2=ks×t1-1,然后計算dsA=t2×P1。
第三步,以用戶A(公鑰為IDA)為例計算A的加密私鑰deA:密鑰管理中心首先在有限域FN上計算t1=H1(IDA||hid,N)+ke,若t1=0,則需重新產(chǎn)生加密主私鑰,計算和公開加密主公鑰,并更新已有用戶的加密私鑰;否則計算t2=ke×t1-1,然后計算deA=t2×P2。
零信任訪問控制網(wǎng)關(guān)是零信任系統(tǒng)的核心組成,是訪問策略的執(zhí)行部件,區(qū)別于普通安全網(wǎng)關(guān),防護架構(gòu)模型中的零信任訪問控制網(wǎng)關(guān)包含統(tǒng)一身份認證入口功能組件,零信任訪問控制網(wǎng)關(guān)主要功能包括身份認證、訪問授權(quán)(策略執(zhí)行)、訪問控制和安全審計等。
(1)基于標識密碼的身份認證:以訪問主體A(標識為IDA)訪問零信任網(wǎng)關(guān)為例,在IBC體系中標識即公鑰,所以主體A的公鑰為IDA,設(shè)主體A的簽名私鑰為dsA,存在IDA=dsA×G,其中G(x,y)為IBC體系所選曲線的基點,階為n。
網(wǎng)關(guān)對訪問主體A的身份認證過程如下文所述。
主體A私鑰簽名:選擇隨機數(shù)r∈[1,n-1],計算點rG;根據(jù)隨機數(shù)r、消息M的哈希值h、私鑰dsA,計算;將消息M和簽名{rG,s}發(fā)給網(wǎng)關(guān)。
公鑰驗證簽名:網(wǎng)關(guān)收到消息M和簽名{rG,s};根據(jù)消息求哈希值h;使用發(fā)送方公鑰IDA計算,計算結(jié)果與rG進行比較,如相等即驗簽成功,(簽名原理如下:訪問主體A的身份得到控制網(wǎng)關(guān)確認。
反之,訪問主體A也可對網(wǎng)關(guān)進行身份驗證。另外,在實際使用中可以通過添加賬戶口令、生物特征或其他方式實現(xiàn)多元身份認證。
(2)訪問授權(quán)/策略執(zhí)行:訪問主體A身份認證驗證通過后,零信任網(wǎng)關(guān)根據(jù)當前IDA的ID值從策略管理系統(tǒng)中獲得相應(yīng)訪問授權(quán)策略。
(3)訪問控制:訪問控制網(wǎng)關(guān)對照訪問授權(quán)策略,分配給當前訪問主體A連接控制器邏輯端口,通過端口控制實現(xiàn)主體對資源的精準授權(quán)訪問控制。
(4)安全審計:零信任網(wǎng)關(guān)對身份認證、訪問控制授權(quán)等安全操作的每一步驟都做了詳細的日志記錄并以安全的方式保存到日志數(shù)據(jù)庫中,安全日志為網(wǎng)絡(luò)安全審計提供了必要的數(shù)據(jù)信息支撐。
策略管理系統(tǒng)的主要任務(wù)是建立信任評估體系,實施信任評估并與策略執(zhí)行系統(tǒng)進行交互,共同完成持續(xù)鑒權(quán)。策略管理系統(tǒng)以訪問主體通過系統(tǒng)身份認證為前提條件,以用戶角色、環(huán)境信息、設(shè)備清單、威脅情報等輔助安全信息采集系統(tǒng)為信任和風(fēng)險評估組件,在搭建信任體系模型的同時利用信任評估算法對當前訪問主體安全憑證進行信任評估,并根據(jù)評估結(jié)果變更安全策略、調(diào)整訪問授權(quán)。由于各信任評估組件的信任評估基礎(chǔ)數(shù)據(jù)來源于系統(tǒng)實時采集且數(shù)據(jù)隨時間動態(tài)變化,因而實現(xiàn)了策略管理的自動化。策略管理系統(tǒng)功能結(jié)構(gòu)如圖4所示。
策略管理系統(tǒng)功能主要有安全策略制定及管理、安全憑證獲取、信任評估、策略下發(fā)等。
(1)安全策略制定:安全策略主要包含物理安全策略、訪問控制策略、信息加密策略和網(wǎng)絡(luò)安全管理策略等。基于零信任動態(tài)策略的理念,安全策略的制定應(yīng)以訪問客體的安全等級為基準,參照網(wǎng)絡(luò)安全等級保護2.0標準中相關(guān)要求,制定符合系統(tǒng)的安全策略,并安全保存于數(shù)據(jù)庫中。同時建立策略映射表并添加初始數(shù)據(jù)。先整理現(xiàn)有系統(tǒng)中所有資源,并梳理主體對資源的訪問情況,然后創(chuàng)建和配置訪問角色,同時在映射表中添加記錄,每個記錄至少包含ID值及授權(quán)角色,ID與授權(quán)角色之間存在映射關(guān)系(一對一或一對多,即一個ID可以擁有1個或者多個角色),實現(xiàn)ID與授權(quán)角色的映射管理。
(2)安全憑證獲?。翰呗怨芾硐到y(tǒng)通過零信任網(wǎng)關(guān)獲取當前會話的安全憑證,每個安全憑證在數(shù)據(jù)庫中對應(yīng)一個授權(quán)角色記錄。
(3)信任評估:搭建信任模型實施信任評估是策略管理的關(guān)鍵環(huán)節(jié)。系統(tǒng)需要建立訪問主體、訪問環(huán)境、訪問設(shè)備、訪問行為等方面的多維度、全場景信任鏈,通過對身份、活動等數(shù)據(jù)的持續(xù)監(jiān)測和信任評估,實現(xiàn)動態(tài)策略管理及授權(quán),確保業(yè)務(wù)訪問的動態(tài)安全[9]。Blaze等人[10]在1996年首次提出信任管理(Trust Management,TM)的概念。信任管理要解決的問題是通過相關(guān)模型和驗證算法計算安全憑證集C是否能證明請求r滿足本地策略集P。為解決該問題,Blaze等人提出了一個基于信任管理引擎的信任管理模型及驗證算法,依據(jù)輸入的r、C、P和輸出結(jié)果判斷是否滿足信任。
基于驗證算法,結(jié)合方案中部署的輔助安全信息采集系統(tǒng)(實施中可根據(jù)應(yīng)用場景增加或減少附加安全信息采集系統(tǒng),驗證算法所選取的參數(shù)和算法也有待進一步的研究優(yōu)化),信任值設(shè)為T(T介于0到1之間),參照模型算法信任值T的估值為所有附加安全信息項信任值的加權(quán)平均值,設(shè)fi為各項權(quán)重,得出
計算完畢后,策略管理系統(tǒng)依據(jù)信任值判斷安全憑據(jù)是否符合當前安全策略,不符合時應(yīng)及時調(diào)整安全策略。
(4)策略下發(fā):信任評估結(jié)束后,策略管理系統(tǒng)依據(jù)評估結(jié)果,調(diào)整當前會話的安全策略(即調(diào)整數(shù)據(jù)庫中ID與授權(quán)角色的映射表),策略管理器同時給零信任控制網(wǎng)關(guān)下發(fā)策略變更指令,最終完成資源訪問安全策略的動態(tài)調(diào)整。
為方便實現(xiàn)集中化、自動化訪問控制管理,微隔離邏輯控制器設(shè)計采用虛擬化技術(shù),將系統(tǒng)物理資源(如CPU、內(nèi)存、磁盤空間等)轉(zhuǎn)變成可以動態(tài)管理的“資源池”[11],根據(jù)訪問需求劃分邏輯端口,并對每個細分服務(wù)提供服務(wù)對接接口,在實施方案中也可以設(shè)計資源服務(wù)訪問代理,訪問代理安裝部署在零信任訪問控制網(wǎng)關(guān)的資源側(cè)。數(shù)據(jù)訪問控制流程為訪問主體先通過零信任網(wǎng)關(guān)進行身份認證,然后從策略管理系統(tǒng)獲取對訪問客體的訪問授權(quán),經(jīng)由網(wǎng)關(guān)轉(zhuǎn)發(fā)訪問數(shù)據(jù)到與之匹配的服務(wù)端口實現(xiàn)數(shù)據(jù)的安全訪問對接。
(1)端口虛擬化:使用虛擬化技術(shù)將微隔離邏輯端口控制器物理端口虛擬為多個邏輯端口(即圖2中的口1、口2……口n),端口數(shù)量對應(yīng)于訪問客體中的細分資源數(shù)量。
(2)東西向訪問控制:微隔離控制器各外聯(lián)邏輯端口間設(shè)置為相互隔離不能互相訪問,控制器外聯(lián)端口與系統(tǒng)資源端口存在一一對應(yīng)連接關(guān)系(如圖2右側(cè)所示)。
(3)南北向訪問控制:微隔離控制器依據(jù)訪問主體對資源的單次訪問需求和當前訪問策略分配所需端口,當單次會話完畢后關(guān)閉分配的端口,實現(xiàn)動態(tài)配置端口訪問控制功能。
零信任是以數(shù)據(jù)安全為中心的,因此對資源池的細化和管理也是防護方案設(shè)計的關(guān)鍵環(huán)節(jié),資源池配置管理系統(tǒng)包含資源池配置管理和資源池數(shù)據(jù)安全訪問兩部分。
(1)資源池配置管理:本設(shè)計方案中資源池是指訪問客體,主要包括系統(tǒng)能提供的服務(wù)、數(shù)據(jù)和應(yīng)用等。依據(jù)訪問配置,在相應(yīng)服務(wù)端配置相應(yīng)服務(wù)IP及端口號,每個資源對應(yīng)一個服務(wù),資源配置的精細化處理有利于實現(xiàn)最小權(quán)限管理,基于策略的網(wǎng)絡(luò)控制減少了服務(wù)暴露面,有效隔離了東西向流量,同時增強系統(tǒng)細粒度訪問控制能力。
(2)資源池數(shù)據(jù)安全訪問:在訪問客體與訪問主體間建立連接后可以通過協(xié)商密鑰的方式實現(xiàn)數(shù)據(jù)的加密傳輸,密鑰協(xié)商可采用SM9算法,數(shù)據(jù)傳輸加密可采用SM4算法,密碼技術(shù)的使用確保了資源池數(shù)據(jù)訪問的安全。
安全方案的落地必須選擇適合的場景,在特定安全等級下,適度的信任和自動化是降低成本、提升效率的良好途徑[12]。基于IBC的零信任安全解決方案是以身份認證為中心構(gòu)建訪問認證體系,通過策略管理系統(tǒng)的自動化進行持續(xù)信任評估,實現(xiàn)了系統(tǒng)對訪問主體的動態(tài)訪問控制,并為其設(shè)定了訪問所需的最小權(quán)限,從而提升了系統(tǒng)的整體安全性。此外,安全方案的實施在增加IBC密鑰基礎(chǔ)設(shè)施的同時還需對系統(tǒng)資源進行標識服務(wù),在解決安全問題時,也牽涉了更多的人力和物力資源,但基于IBC的零信任安全方案相比傳統(tǒng)基于PKI技術(shù)的零信任安全方案,還是有著系統(tǒng)結(jié)構(gòu)相對簡單和投入成本低的優(yōu)勢。
總之,在國家加速推進網(wǎng)絡(luò)強國戰(zhàn)略的大背景下,隨著國產(chǎn)商用密碼的廣泛應(yīng)用,基于國產(chǎn)商用密碼的零信任解決方案必然迎來新的發(fā)展契機。