楊少鵬,馮中華
(中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041)
隨著零信任技術(shù)的不斷應(yīng)用和發(fā)展,零信任架構(gòu)思想逐步運(yùn)用于網(wǎng)絡(luò)安全防御領(lǐng)域,用于解決傳統(tǒng)基于邊界的安全防護(hù)架構(gòu)失效問(wèn)題,構(gòu)筑新的動(dòng)態(tài)虛擬身份邊界。零信任[1]的本質(zhì)是在訪問(wèn)主體和客體之間構(gòu)建以身份為基石的動(dòng)態(tài)可信訪問(wèn)控制體系,涵蓋四大關(guān)鍵特征:以身份為基石、業(yè)務(wù)安全訪問(wèn)、持續(xù)信任評(píng)估和動(dòng)態(tài)訪問(wèn)控制。
以身份為基石需要為網(wǎng)絡(luò)中的人和設(shè)備賦予數(shù)字身份,將身份化的人和設(shè)備進(jìn)行運(yùn)行時(shí)組合構(gòu)建訪問(wèn)主體,并為訪問(wèn)主體設(shè)定其所需的最小權(quán)限。目前基于指紋、聲紋、虹膜等的生物特征識(shí)別[2]得到廣泛應(yīng)用,一般用于人的身份標(biāo)識(shí),不適用于平臺(tái)設(shè)備。常用的設(shè)備指紋一般是基于硬盤(pán)序列號(hào)、MAC 地址、CPU 等一種或多種物理指紋生成的,由于平臺(tái)設(shè)備種類多樣、環(huán)境惡劣、資源受限等問(wèn)題,采用常規(guī)的物理指紋進(jìn)行身份標(biāo)識(shí)存在較大的實(shí)施難度,部分平臺(tái)可能不存在硬盤(pán)、MAC 地址等信息,而且部分物理指紋會(huì)隨著溫度、濕度等產(chǎn)生輕微變化?;陔娮幼R(shí)別卡[3]、可信芯片獲取安全單元模塊的特征指紋,需要平臺(tái)預(yù)留物理接口,插入安全單元,部分平臺(tái)無(wú)法插入安全單元模塊。同時(shí),傳統(tǒng)的設(shè)備身份識(shí)別技術(shù)以采集靜態(tài)特征信息為主,缺少動(dòng)態(tài)特征信息的采集,實(shí)時(shí)性不足。針對(duì)上述問(wèn)題,結(jié)合平臺(tái)各自不同的特性,研究一種基于多維特征動(dòng)態(tài)加權(quán)的設(shè)備指紋生成方法,以統(tǒng)一高效的技術(shù)方法構(gòu)建不同平臺(tái)的身份指紋,使其具有安全性、實(shí)時(shí)性、穩(wěn)定性和不可偽造性。首先設(shè)計(jì)特征信息采集接口,采用容器化設(shè)計(jì)和插件化集成方式,提取平臺(tái)設(shè)備多維的靜態(tài)和動(dòng)態(tài)特征信息;然后基于專家?guī)靹?dòng)態(tài)加權(quán)技術(shù),動(dòng)態(tài)調(diào)整權(quán)重參數(shù),完成特征值映射,使其具有魯棒性和特征變化容忍度;最后選用安全性高、輕量化的摘要值算法將特征值加密,生成輕量化的設(shè)備指紋標(biāo)識(shí)。
平臺(tái)設(shè)備獲取的數(shù)據(jù)類型通常多種多樣,包括物理信息、環(huán)境信息、行為信息等,不同的設(shè)備根據(jù)其功能的復(fù)雜程度不同,涵蓋的特征標(biāo)簽也不盡相同,如設(shè)備編號(hào)、性能參數(shù)、運(yùn)行參數(shù)等。除此之外,有些設(shè)備還包括內(nèi)嵌的硬件模塊,都具有各自不同的特征參數(shù)。
本文結(jié)合大多數(shù)平臺(tái)設(shè)備能夠采集到的特征信息,如內(nèi)嵌的電子識(shí)別卡、內(nèi)嵌的可信芯片、計(jì)算/存儲(chǔ)等物理硬件電子序列號(hào)、設(shè)備MAC/IP 地址、操作系統(tǒng)版本/類型、核心軟件服務(wù)等靜態(tài)特征,以及用戶訪問(wèn)、服務(wù)訪問(wèn)、網(wǎng)絡(luò)訪問(wèn)等動(dòng)態(tài)特征,同時(shí)將采集的這些特征信息有無(wú)也作為一種特征,巧妙地利用這些信息組合來(lái)唯一地確定某個(gè)設(shè)備。
依據(jù)專家經(jīng)驗(yàn)和互信息理論,結(jié)合特征信息的特點(diǎn),對(duì)參與設(shè)備指紋生成的特征信息進(jìn)行篩選,采集的特征信息涉及靜態(tài)特征和動(dòng)態(tài)特征[4]。其中,靜態(tài)特征信息包括電子識(shí)別卡、可信芯片、CPU 序列號(hào)、存儲(chǔ)器序列號(hào)、MAC 地址、IP 地址、操作系統(tǒng)類型、操作系統(tǒng)版本、軟件服務(wù)信息、開(kāi)放端口信息、開(kāi)機(jī)時(shí)間、地理位置、所屬單位等。動(dòng)態(tài)特征信息包括用戶訪問(wèn)行為、進(jìn)程訪問(wèn)行為、網(wǎng)絡(luò)訪問(wèn)行為等。可采集的多維特征詳細(xì)信息如表1所示。

表1 多維特征信息清單
特征信息采集依賴于平臺(tái)設(shè)備運(yùn)行的操作系統(tǒng)接口和業(yè)務(wù)系統(tǒng)接口,針對(duì)設(shè)備運(yùn)行系統(tǒng)的多樣性,需設(shè)計(jì)統(tǒng)一的軟件架構(gòu),采用容器中間件技術(shù),不同類型的采集接口以插件的形式集成,可動(dòng)態(tài)配置調(diào)整,完成特征信息采集,如圖1 所示。

圖1 采集容器
各采集插件之間是相互獨(dú)立的,每個(gè)插件本身由一系列小的功能結(jié)構(gòu)組成,通過(guò)接口向外提供自己的服務(wù)。通過(guò)插件化集成方式,可有效適配多類型平臺(tái)設(shè)備,簡(jiǎn)化運(yùn)維管理,提高軟件的穩(wěn)定性。同時(shí)軟件易修改、可擴(kuò)展性強(qiáng),可根據(jù)需求動(dòng)態(tài)刪除、增加和修改,方便軟件的升級(jí)和維護(hù)。
根據(jù)平臺(tái)設(shè)備能否安裝采集軟件,信息采集方式可分為有代理采集和無(wú)代理采集兩種方式。有代理采集通過(guò)在平臺(tái)設(shè)備部署代理軟件進(jìn)行信息采集,無(wú)代理采集通過(guò)網(wǎng)絡(luò)或外部接口實(shí)現(xiàn)信息遠(yuǎn)程采集。采集方式如圖2 所示。

圖2 采集方式
本文主要研究有代理的采集方式,實(shí)現(xiàn)特征信息采集。采集代理軟件通過(guò)操作系統(tǒng)API 調(diào)用、鉤子函數(shù)調(diào)用、驅(qū)動(dòng)層接口調(diào)用、信息系統(tǒng)服務(wù)接口調(diào)用等方式采集靜態(tài)屬性特征和動(dòng)態(tài)行為特征信息,采集的基礎(chǔ)數(shù)據(jù)種類全、信息量大,可基于采集策略動(dòng)態(tài)配置。
針對(duì)采集的多維特征信息,如果讓這些特征信息全部參與設(shè)備指紋計(jì)算,能夠代表一個(gè)設(shè)備的特性,或作為一個(gè)設(shè)備的標(biāo)識(shí)。但這種計(jì)算方式需要花費(fèi)較大的存儲(chǔ)、計(jì)算等資源,同時(shí)產(chǎn)生的設(shè)備指紋容錯(cuò)率很低,易受到外界環(huán)境因素變化的影響,極易導(dǎo)致計(jì)算的設(shè)備指紋前后不一致,影響設(shè)備正常使用。如何從多維特征中選擇一部分合理的特征信息,并能夠動(dòng)態(tài)設(shè)定容忍級(jí)別,從而使映射后的特征值具有一定的容忍度,且部分特征值的變化不會(huì)影響設(shè)備指紋的唯一性,是本文將要解決的問(wèn)題。
特征選擇是解決數(shù)據(jù)空間復(fù)雜度的一個(gè)方法,根據(jù)某些規(guī)則選取一組關(guān)鍵特征子集,以達(dá)到縮短算法運(yùn)行時(shí)間、提高分類準(zhǔn)確率的目的。例如,Lee[5]提出了基于多變量互信息的多標(biāo)記特征選擇算法,林夢(mèng)雷等人[6]提出了基于標(biāo)記權(quán)重的多標(biāo)記特征選擇算法,程玉勝[7]和雍菊亞[8]提出了基于專家信息加權(quán)機(jī)制的特征選擇方法。
根據(jù)設(shè)備不同的使用場(chǎng)景,針對(duì)采集的特征信息,依托專家?guī)旖?jīng)驗(yàn)進(jìn)行動(dòng)態(tài)加權(quán)選擇,通過(guò)調(diào)整權(quán)重參數(shù),完成特征值映射。特征信息的權(quán)重占比可根據(jù)任務(wù)需求進(jìn)行動(dòng)態(tài)調(diào)整配置,同時(shí)會(huì)根據(jù)設(shè)備使用環(huán)境和特性進(jìn)行動(dòng)態(tài)加權(quán),如電子識(shí)別卡、可信芯片、CPU 序列號(hào)、硬盤(pán)序列號(hào)等能夠被識(shí)別出且唯一性較強(qiáng)的,則給予較高的權(quán)重。
假設(shè)特征信息集合為F,F(xiàn)={f1,f2,f3,…,fi},i表示特征信息個(gè)數(shù)。權(quán)重值集合為W,W={w1,w2,w3,…,wi},映射參數(shù)值集合為P,P={p1,p2,p3,…,pi},其中P=H(W),權(quán)重值W和映射參數(shù)P通過(guò)映射函數(shù)H完成關(guān)聯(lián),映射后的特征值集合為E,E={e1,e2,e3,…,ei},其中E=F×P。
通過(guò)函數(shù)H的設(shè)計(jì),動(dòng)態(tài)設(shè)定容忍級(jí)別,可以使映射后的特征值具有一定的容忍度,允許特征發(fā)生改變。選擇高容忍級(jí)別,意味著只要關(guān)鍵特征不變,每次生成的設(shè)備指紋就不會(huì)變化,即可標(biāo)識(shí)該平臺(tái)設(shè)備。如果選擇低容忍級(jí)別,意味著發(fā)生微小的特征信息變化,每次生成的設(shè)備指紋就會(huì)變化。
以IP 地址特征為例,進(jìn)行兩種場(chǎng)景設(shè)計(jì)。場(chǎng)景一:IP 地址只要發(fā)生變化,設(shè)備指紋就會(huì)變化。場(chǎng)景二:IP 地址在有效范圍內(nèi)變化,設(shè)備指紋不變。
針對(duì)場(chǎng)景一,假設(shè)IP 地址的特征值為fi,將IP地址的權(quán)重Wi設(shè)置為1,映射參數(shù)Pi=Wi=1,則IP地址映射后的值為ei=fi×Pi,IP 地址每次變化都會(huì)導(dǎo)致ei值變化,從而生成的設(shè)備指紋會(huì)變化。
針對(duì)場(chǎng)景二,假設(shè)IP 地址的特征值為fi,IP 地址的權(quán)重為Wi,映射參數(shù)為Pi,其中Pi=H(Wi),對(duì)函數(shù)H進(jìn)行方案設(shè)計(jì)如下:
(1)將IP 地址分為a,b,c,d 四個(gè)小節(jié),根據(jù)不同的權(quán)重值w,對(duì)各小節(jié)做不同的映射處置;
(2)若w=1,則a,b,c,d 四個(gè)小節(jié)不變;
(3)若1 >w≥0.75,則a 小節(jié)全部映射為0,其余小節(jié)不變;
(4)若0.75 >w≥0.5,則b 小節(jié)全部映射為0,其余小節(jié)不變;
(5)若0.5 >w≥0.25,則c 小節(jié)全部映射為0,其余小節(jié)不變;
(6)若0.25 >w≥0,則d 小節(jié)全部映射為0。
針對(duì)上面設(shè)計(jì)的函數(shù)H,下面以w=0.1 為例,函數(shù)計(jì)算設(shè)計(jì)如圖3 所示,192.168.5.1~192.168.5.255的所有IP 地址都映射為192.168.5.0,其最后的設(shè)備指紋不會(huì)發(fā)生變化。

圖3 地址映射
以傳統(tǒng)的國(guó)產(chǎn)信息終端設(shè)備為代表,進(jìn)行多維特征采集,并進(jìn)行動(dòng)態(tài)加權(quán),其中權(quán)重可進(jìn)行分段設(shè)計(jì),值可以為0~1,不同的分段對(duì)應(yīng)不同的映射參數(shù)。針對(duì)采集的特征信息,具體的動(dòng)態(tài)加權(quán)設(shè)計(jì)如表2 所示。

表2 多維特征信息動(dòng)態(tài)加權(quán)示意表
通過(guò)該方法,可以依托專家經(jīng)驗(yàn)選取唯一性較強(qiáng)的靜態(tài)特征和動(dòng)態(tài)特征信息,涵蓋盡可能多的類別信息,確保設(shè)備指紋的唯一性。同時(shí),根據(jù)設(shè)備不同的使用場(chǎng)景,可動(dòng)態(tài)調(diào)整參數(shù),使映射后的特征值具有一定的容忍度,允許部分特征值發(fā)生改變,但產(chǎn)生的設(shè)備指紋不變。
上文產(chǎn)生的特征值信息通過(guò)密碼算法生成設(shè)備指紋。設(shè)備指紋的生成算法包括摘要值算法、對(duì)稱密碼算法和非對(duì)稱密碼算法[9]。
非對(duì)稱密碼算法安全性高,但算法過(guò)于復(fù)雜,數(shù)據(jù)加密效率遠(yuǎn)不及對(duì)稱密碼算法高;對(duì)稱密碼算法需要密鑰管理和分發(fā),適用于有密鑰管理體系的場(chǎng)景;摘要算法的單向性和輸出長(zhǎng)度固定的特征可用于生成設(shè)備指紋。
綜合考慮設(shè)備的數(shù)據(jù)處理性能、算法安全性、密鑰管理和分發(fā)、生成指紋的大小等因素,本文選取的特征加密算法是HMAC 算法。它是一種利用密碼學(xué)中的散列函數(shù)進(jìn)行消息認(rèn)證的機(jī)制,實(shí)現(xiàn)消息的完整性認(rèn)證和信源身份認(rèn)證。
HMAC 算法基于信息摘要算法,主要結(jié)合MD和SHA 兩大系列消息摘要算法[10]。其中MD 系列的算法有HmacMD2、HmacMD4、HmacMD5 三種算法;SHA 系列的算法有HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512 五 種算法。HMAC 的密鑰可以是任意長(zhǎng)度,但密鑰長(zhǎng)度與安全強(qiáng)度相關(guān),通常密鑰長(zhǎng)度不小于所用摘要算法輸出的信息摘要的長(zhǎng)度。其中,HmacMD5算法的摘要值輸出長(zhǎng)度為16 字節(jié),128 位。其他的SHA 系列算法摘要值輸出長(zhǎng)度最小的算法為HmacSHA1,其長(zhǎng)度為20 字節(jié),160 位。
本文通過(guò)安裝銀河麒麟操作系統(tǒng)的計(jì)算終端來(lái)驗(yàn)證設(shè)備指紋生成方法。整個(gè)軟件設(shè)計(jì)包括多維特征信息采集模塊、信息動(dòng)態(tài)加權(quán)映射模塊和指紋生成模塊3 個(gè)部分,具體指紋生成流程如圖4 所示。

圖4 指紋生成流程
主要的工作流程及實(shí)現(xiàn)過(guò)程如下文所述。
(1)在多維特征信息采集模塊中配置專家經(jīng)驗(yàn)內(nèi)置規(guī)則庫(kù),采集的特征信息包括可信芯片、硬盤(pán)序列號(hào)、CPU 序列號(hào)、MAC 地址、IP 地址5 個(gè)靜態(tài)屬性,以及任務(wù)調(diào)用動(dòng)態(tài)屬性。
(2)根據(jù)規(guī)則庫(kù)內(nèi)容,獲取設(shè)備的多維關(guān)鍵特征信息:
①獲取插入的可信芯片f1=GetTcmID();
②獲取硬件序列號(hào)f2=GetDiskDN();
③獲取CPU 序列號(hào)f3=GetCpuInfo();
④獲取MAC 地址信息f4=GetMacInfo();
⑤獲取IP 地址信息f5=GetIpInfo();
⑥獲取進(jìn)行信息f6=GetProcessInfo()。
(3)特征信息動(dòng)態(tài)加權(quán)映射,對(duì)函數(shù)H進(jìn)行設(shè)計(jì),P=H(W),權(quán)重值W和映射參數(shù)P通過(guò)映射函數(shù)H完成關(guān)聯(lián),映射后的特征值ei=fi×Pi,具體如下:
e1=f1×P1=0,該終端未插入可信模塊,值為0,但也作為特征的一種;
(4)映射后的多維特征值進(jìn)行信息相加,E=e1+e2+…+e6。
(5)從設(shè)備指紋生成的輕量化和安全性考慮,通過(guò)HmacMD5 算法,生成設(shè)備指紋;設(shè)置HmacMD5 密鑰為K,長(zhǎng)度選為16 字節(jié),則設(shè)備指紋I=HmacMD5(E,K),指紋輸出長(zhǎng)度為16 字節(jié)。
針對(duì)設(shè)備指紋提取和身份識(shí)別問(wèn)題,本文提出了基于多維特征動(dòng)態(tài)加權(quán)的設(shè)備指紋生成方法。首先,針對(duì)復(fù)雜多樣的設(shè)備,盡可能多地獲取唯一性較強(qiáng)的特征信息,包括靜態(tài)信息和動(dòng)態(tài)信息,唯一性的特征信息越多,設(shè)備指紋識(shí)別度越高;其次,基于專家?guī)靹?dòng)態(tài)加權(quán)技術(shù),完成特征值映射,通過(guò)設(shè)計(jì)映射函數(shù),使其特征值變化具有一定的容忍度,能夠更好地適用設(shè)備的不同應(yīng)用場(chǎng)景;最后,通過(guò)安全性較高的密碼算法,生成輕量化的設(shè)備指紋,實(shí)現(xiàn)設(shè)備身份識(shí)別。通過(guò)實(shí)現(xiàn)方案,進(jìn)行了該技術(shù)的驗(yàn)證,通過(guò)本方案生成的設(shè)備指紋具有唯一性和不可偽造性、輕量化等特點(diǎn),可以為設(shè)備身份識(shí)別、設(shè)備安全入網(wǎng)提供基礎(chǔ)支撐。下一步將研究輕量化的密碼算法,進(jìn)一步提高設(shè)備指紋的輕量化,使其能夠適用于網(wǎng)絡(luò)環(huán)境復(fù)雜、傳輸帶寬低的無(wú)線環(huán)境,完成設(shè)備的身份識(shí)別。