蘭 麗,張友鵬
(1.蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070;2.蘭州交通大學(xué) 自動(dòng)化與電氣工程學(xué)院,甘肅 蘭州 730070;3.蘭州交通大學(xué) 光電技術(shù)與智能控制教育部重點(diǎn)實(shí)驗(yàn)室,甘肅 蘭州 730070)
鐵路時(shí)間同步網(wǎng)是鐵路重要基礎(chǔ)支撐網(wǎng)絡(luò)之一[1],其作用是為鐵路內(nèi)部各系統(tǒng)和服務(wù)設(shè)施提供統(tǒng)一、標(biāo)準(zhǔn)、高精度的時(shí)間信息,對(duì)于故障溯源、定位、網(wǎng)絡(luò)性能分析、時(shí)間顯示等非常重要。
網(wǎng)絡(luò)時(shí)間同步協(xié)議NTP(Network Time Synchronization Protocol)是廣泛應(yīng)用的Internet標(biāo)準(zhǔn)協(xié)議之一,鐵路時(shí)間同步網(wǎng)采用NTP協(xié)議作為其時(shí)間同步的關(guān)鍵協(xié)議,通過(guò)三級(jí)主從同步方式同步時(shí)間信息[2]。NTP協(xié)議目前已發(fā)展到V4版本,采用基于Autokey模型的NTP協(xié)議序列,確保協(xié)議交互數(shù)據(jù)的安全性。但是由于NTP協(xié)議是基于無(wú)連接的UDP協(xié)議,其天然的不安全性缺陷使得多種針對(duì)NTP協(xié)議的惡意攻擊成為可能。近年來(lái)針對(duì)NTP協(xié)議攻擊頻發(fā)[3],文獻(xiàn)[4]提出了利用源地址欺騙的DDoS攻擊以及通過(guò)主機(jī)重啟使時(shí)鐘偏移的攻擊方法。文獻(xiàn)[5]提出攻擊者為了操縱客戶端時(shí)間,可以通過(guò)偽裝成合法的服務(wù)器,向客戶端發(fā)送時(shí)間同步響應(yīng)報(bào)文的方法達(dá)到目的。文獻(xiàn)[6]詳細(xì)研究了利用NTP協(xié)議構(gòu)建隱蔽通道,攜帶秘密信息可穿透網(wǎng)絡(luò)監(jiān)測(cè)設(shè)備。鐵路時(shí)間同步網(wǎng)負(fù)責(zé)給鐵路內(nèi)部各式各樣的應(yīng)用系統(tǒng)傳送標(biāo)準(zhǔn)、統(tǒng)一的時(shí)間信息,這些應(yīng)用系統(tǒng)均由不同的服務(wù)器組成,而每個(gè)數(shù)據(jù)中心服務(wù)器都需要時(shí)間同步,這些時(shí)間同步數(shù)據(jù)是無(wú)法通過(guò)協(xié)議、端口的過(guò)濾來(lái)進(jìn)行防護(hù)的。如果攻擊者利用協(xié)議漏洞對(duì)鐵路時(shí)間同步網(wǎng)進(jìn)行攻擊,將對(duì)鐵路運(yùn)營(yíng)造成不可估量的損失,因此基于Autokey模型的NTP協(xié)議序列能否保證鐵路時(shí)間同步網(wǎng)同步時(shí)間信息交互時(shí)的安全性亟待研究。
隨機(jī)模型方法更易于對(duì)網(wǎng)絡(luò)系統(tǒng)狀態(tài)進(jìn)行全面有效的描述,精確刻畫網(wǎng)絡(luò)系統(tǒng)隨機(jī)行為,便于計(jì)算各種安全性能指標(biāo)[7]。迄今為止,大部分的網(wǎng)絡(luò)安全隨機(jī)模型是以狀態(tài)轉(zhuǎn)移函數(shù)服從指數(shù)分布為假設(shè)前提[8],然而網(wǎng)絡(luò)系統(tǒng)運(yùn)行實(shí)際中,協(xié)議及其在攻擊行為下的狀態(tài)駐留時(shí)間是任意分布的。半馬爾可夫過(guò)程不需要對(duì)狀態(tài)轉(zhuǎn)移函數(shù)作指數(shù)分布假設(shè),而且其概率分布函數(shù)PDF可以依賴于當(dāng)前狀態(tài)和下一狀態(tài),并且易于解析處理[9],這符合鐵路時(shí)間同步協(xié)議及其在攻擊行為下的狀態(tài)變遷特征。
因此,本文提出基于半馬爾可夫過(guò)程SMP(Semi-Markov Process)對(duì)鐵路時(shí)間同步協(xié)議進(jìn)行量化分析。通過(guò)計(jì)算在攻擊狀態(tài)下的鐵路時(shí)間同步網(wǎng)協(xié)議SMP模型中安全狀態(tài)和不安全狀態(tài)的穩(wěn)態(tài)概率,分析協(xié)議的不安全狀態(tài)與協(xié)議相關(guān)安全性指標(biāo)之間的關(guān)系,識(shí)別影響基于Autokey模型的NTP協(xié)議序列安全性的關(guān)鍵因素。
Autokey模型的NTP協(xié)議序列實(shí)際上是基于SSH(Secure Shell)和SSL(Secure Sockets Layer)應(yīng)用程序中常用的PKI算法。根據(jù)RFC5906,Autokey報(bào)文格式如圖1所示,用于生成MAC的對(duì)稱摘要秘鑰通過(guò)Autokey協(xié)議模型實(shí)現(xiàn)其協(xié)商過(guò)程,對(duì)稱摘要秘鑰的協(xié)商在NTP數(shù)據(jù)包的擴(kuò)展域中完成。
圖1 基于Autokey模型的NTP報(bào)文格式
基于Autokey模型的NTP協(xié)議認(rèn)證過(guò)程[10-12]如圖2所示,具體步驟如下:
圖2 基于Autokey模型的NTP報(bào)文協(xié)議認(rèn)證過(guò)程
步驟1初始關(guān)聯(lián)??蛻舳撕头?wù)器端交換對(duì)稱摘要密鑰主機(jī)名,初始關(guān)聯(lián)報(bào)文包含一個(gè)32位狀態(tài)域和對(duì)稱摘要密鑰主機(jī)名字。其中,32位狀態(tài)域中包含X.509的名稱、服務(wù)器及客戶端使用的加密算法信息。Autokey模型支持私有證書PC(Private Certificate)和可信證書TC(Trusted Certificate),默認(rèn)使用TC。
步驟2交換證書??蛻舳税l(fā)送證書請(qǐng)求報(bào)文CERT_Request,包含初始關(guān)聯(lián)過(guò)程中獲取的服務(wù)器名稱B。服務(wù)器B回復(fù)報(bào)文CERT_Response中包含一個(gè)證書,客戶端由此獲取服務(wù)器端的公鑰PKB。
步驟3客戶端向服務(wù)器請(qǐng)求cookie??蛻舳税l(fā)送包含有客戶端公鑰PKA的cookie請(qǐng)求報(bào)文,服務(wù)器接收到cookie請(qǐng)求報(bào)文后,首先按照式( 1 )得到cookie。
cookie=H(ClientIP‖ServerIP‖0‖ServerSeed)
( 1 )
式中:ClientIP為客戶端IP地址;ServerIP為服務(wù)器IP地址;ServerSeed是一個(gè)32位隨機(jī)值。然后利用客戶端傳過(guò)來(lái)的公鑰PKA將計(jì)算出的cookie加密得到{cookie}PKA,將其放在擴(kuò)展域中,用服務(wù)器私鑰SKB對(duì)cookie加密得到簽名{cookie}SKB,服務(wù)器將{cookie}PKA和{cookie}SKB一并發(fā)送給客戶端??蛻舳私邮盏椒?wù)器端發(fā)送來(lái)的數(shù)據(jù)包,利用步驟2獲取的服務(wù)器公鑰PKB驗(yàn)證服務(wù)器簽名,使用自己的私鑰SKA解密得到cookie,這樣客戶端就從服務(wù)器端獲取了秘密值cookie。在這個(gè)過(guò)程中客戶端雖然驗(yàn)證了服務(wù)器的可靠性,但服務(wù)器卻并未驗(yàn)證客戶端的可靠性。
步驟4客戶端請(qǐng)求時(shí)間同步??蛻舳死毛@得的cookie,驗(yàn)證服務(wù)器端身份及數(shù)據(jù)包的完整性,若驗(yàn)證通過(guò)則根據(jù)服務(wù)器端的NTP數(shù)據(jù)包校準(zhǔn)時(shí)間。具體為:客戶端A發(fā)送時(shí)間請(qǐng)求報(bào)文,報(bào)文中包含keyID、MACasyn及時(shí)間同步請(qǐng)求報(bào)文NTPpacket??蛻舳死脧姆?wù)器端獲取的cookie和自行選擇的keyID,利用式( 2 )計(jì)算出對(duì)稱摘要密鑰,即Autokey。再利用式( 3 )將計(jì)算出的Autokey與NTPpacket一起計(jì)算得出MACasyn。
Autokey=H(src_ip‖dst_ip‖keyID‖cookie)
( 2 )
式中:src_ip為源IP地址;dst_ip為目的IP地址;keyID為密鑰ID。
MACasyn=H(Autokey‖NTPpacket)
( 3 )
基于SMP的鐵路時(shí)間同步網(wǎng)協(xié)議量化分析方法過(guò)程如下:
步驟1依據(jù)基于Autokey的鐵路時(shí)間同步網(wǎng)協(xié)議序列,建立帶有網(wǎng)絡(luò)攻擊行為的協(xié)議狀態(tài)變遷SMP模型。
步驟2根據(jù)SMP模型,構(gòu)造與該模型對(duì)應(yīng)的DTMC。
步驟3聯(lián)立求解DTMC穩(wěn)態(tài)方程,得到DTMC過(guò)程各狀態(tài)穩(wěn)態(tài)概率。
( 4 )
式中:v為DTMC中n個(gè)狀態(tài)的穩(wěn)態(tài)概率向量,v=[v1v2…vn];P為DTMC過(guò)程狀態(tài)變遷概率矩陣;n為狀態(tài)的總數(shù)。
步驟4利用計(jì)算出的各狀態(tài)穩(wěn)態(tài)概率vi,通過(guò)半馬爾可夫模型計(jì)算鐵路時(shí)間同步網(wǎng)協(xié)議SMP過(guò)程的各狀態(tài)穩(wěn)態(tài)概率πi。
( 5 )
式中:vi為DTMC各狀態(tài)的穩(wěn)態(tài)概率;hi為各狀態(tài)i的平均駐留時(shí)間,由狀態(tài)i按照協(xié)議完成對(duì)應(yīng)交互流程的隨機(jī)時(shí)間。
步驟5按照SMP模型各狀態(tài)穩(wěn)態(tài)概率,計(jì)算鐵路時(shí)間同步網(wǎng)協(xié)議相關(guān)安全屬性的量化指標(biāo),對(duì)安全性指標(biāo)進(jìn)行數(shù)值計(jì)算分析。
鐵路時(shí)間同步網(wǎng)由三級(jí)時(shí)間同步節(jié)點(diǎn)、時(shí)間同步鏈路和被同步設(shè)備構(gòu)成[2],各級(jí)時(shí)間節(jié)點(diǎn)間采用NTP協(xié)議的主從模式同步時(shí)間信息,下一級(jí)時(shí)間節(jié)點(diǎn)均為上一級(jí)時(shí)間節(jié)點(diǎn)的客戶端。要保證各級(jí)同步時(shí)間信息的正確性,首先必須保證NTP協(xié)議自身有足夠的安全性,以確保同步時(shí)間信息交互過(guò)程的安全可靠。
首先,定義協(xié)議安全性的評(píng)價(jià)指標(biāo)。本文針對(duì)基于Autokey模型的NTP協(xié)議的安全性分析,主要考慮完整性、認(rèn)證性和機(jī)密性,分別定義如下:
完整性。在協(xié)議交互過(guò)程中,不出現(xiàn)被篡改的信息或者錯(cuò)誤的系統(tǒng)狀態(tài)變化。
認(rèn)證性。在協(xié)議交互過(guò)程中,信息交互雙方可以證明各自身份合法并且能夠互相認(rèn)可,避免對(duì)不合法用戶的錯(cuò)誤接受或?qū)戏ㄓ脩舻腻e(cuò)誤拒絕。
機(jī)密性。在協(xié)議交互過(guò)程中,交互信息不被泄露給非授權(quán)的用戶。
根據(jù)以上定義,鐵路時(shí)間同步網(wǎng)協(xié)議的完整性INTP、認(rèn)證性ANTP和機(jī)密性CNTP可分別表示為
( 6 )
式中:QI、QA、QC表示分別滿足完整性、認(rèn)證性和機(jī)密性3個(gè)指標(biāo)的不同系統(tǒng)狀態(tài)集合;πi表示系統(tǒng)處于i狀態(tài)的穩(wěn)定狀態(tài)概率。
3.2.1 初始關(guān)聯(lián)安全分析
在初始關(guān)聯(lián)部分,客戶端和服務(wù)器交換對(duì)稱摘要密鑰主機(jī)名,均用明文傳輸,因此攻擊者可以截取、轉(zhuǎn)發(fā)用戶信息,導(dǎo)致信息的機(jī)密性被破壞。
3.2.2 證書交換安全分析
基于Autokey模型的NTP V4在進(jìn)行時(shí)間同步服務(wù)之前,默認(rèn)使用X.509v3對(duì)服務(wù)器的身份進(jìn)行認(rèn)證,認(rèn)證成功后再進(jìn)行密鑰交換。X.509v3是有可信第三方參與的非對(duì)稱密鑰協(xié)議,其本質(zhì)是服務(wù)器發(fā)送證書建立從服務(wù)器自身到可信機(jī)構(gòu)的證書鏈。用戶身份的驗(yàn)證,完全依賴于其上一級(jí)CA證明,但是在這樣的信任鏈機(jī)制下,最頂端的CA公鑰真實(shí)性卻無(wú)從驗(yàn)證。在實(shí)際應(yīng)用中,公鑰基礎(chǔ)設(shè)施通常采用自己給自己簽發(fā)證書的形式來(lái)公告根CA公鑰,為了防止被假冒,必須從可信途徑獲取。目前,Web瀏覽器一般通過(guò)在證書的擴(kuò)展域中添加“trustRoot”作為默認(rèn)的可信根。客戶端則以請(qǐng)求證書的擴(kuò)展域中是否包含“trustRoot”字段作為判斷證書是否來(lái)自可信機(jī)構(gòu)的依據(jù)。這種自簽名證書是公鑰證書中最不安全的一類[13],攻擊者可以很容易偽造這種證書,因此部署此種證書的服務(wù)器容易遭受中間人攻擊導(dǎo)致信息泄露,影響協(xié)議交互過(guò)程中關(guān)鍵信息的機(jī)密性和完整性。
3.2.3 cookie請(qǐng)求安全分析
在Autokey模型中,cookie是服務(wù)器識(shí)別客戶端的唯一標(biāo)識(shí)。在此過(guò)程中,服務(wù)器利用式( 1 )計(jì)算出cookie,為保證cookie的完整性和真實(shí)性,采用客戶端公鑰對(duì)cookie進(jìn)行加密,并且用服務(wù)器私鑰進(jìn)行簽名。盡管采取簽名措施來(lái)驗(yàn)證服務(wù)器的真實(shí)性,但是,服務(wù)器卻并未驗(yàn)證客戶端的真實(shí)性,因此,攻擊者可以利用這一點(diǎn)通過(guò)偽造IP冒充合法的客戶端,使用自己的公鑰加密密鑰給服務(wù)器端發(fā)送一個(gè)cookie請(qǐng)求,具體攻擊方式如圖3所示,圖3中Enc(Msg,PX)是指用公鑰PX加密消息Msg。
圖3 基于Autokey模型的NTP協(xié)議客戶端身份驗(yàn)證缺失
從式( 1 )可以看出,計(jì)算cookie的唯一秘密信息就是服務(wù)器種子。服務(wù)器種子在Autokey模型中理論上是一個(gè)僅有32位的隨機(jī)值,此值每天定時(shí)更新一次。攻擊者可以通過(guò)偽裝成客戶端的IP,用自己的公鑰給服務(wù)器端發(fā)送一個(gè)cookie請(qǐng)求,服務(wù)器端收到請(qǐng)求后計(jì)算出cookie,同時(shí)利用攻擊者的公鑰加密,服務(wù)器私鑰簽名,將加密后的cookie發(fā)送給客戶端,攻擊者截獲服務(wù)器發(fā)送給客戶端的cookie應(yīng)答報(bào)文,利用攻擊者自己的私鑰解密,獲得發(fā)送給客戶端的cookie,通過(guò)暴力攻擊的方式找到服務(wù)器的種子,如算法1所示。文獻(xiàn)[14]測(cè)試結(jié)果表明,232的MD5計(jì)算只需不到25 min。隨后攻擊者可以破解找到正確的服務(wù)器種子,計(jì)算其他客戶端的cookie,這些cookie可以被攻擊者用來(lái)偽裝成響應(yīng)相應(yīng)客戶端的服務(wù)器。cookie被攻擊者獲取,使得計(jì)算客戶端cookie的唯一秘密severseed泄露,導(dǎo)致信息的機(jī)密性和完整性被破壞。
算法1:計(jì)算服務(wù)器種子的暴力攻擊算法
fori=0 to 232-1 do
if Ci=cookie then
returni
end if
end for
3.2.4 客戶端請(qǐng)求時(shí)間同步安全分析
客戶端請(qǐng)求時(shí)間同步時(shí)的報(bào)文除了時(shí)間同步報(bào)文NTPpacket,只有keyID和MAC,MAC由式( 3 )得到,利用式( 2 )可以得到Autokey,利用式( 1 )可以得到式( 2 )中的cookie,客戶端keyID由其自行選擇得到。整個(gè)加密流程步驟間的關(guān)系如圖4所示,解密驗(yàn)證報(bào)文中的MAC遵循同樣流程。由圖2可知,客戶端是否按照服務(wù)器發(fā)送來(lái)的回復(fù)報(bào)文調(diào)整本機(jī)時(shí)間,依賴于MAC驗(yàn)證是否一致,而MAC的計(jì)算依賴于Autokey與NTPpacket的計(jì)算結(jié)果,但是Autokey的計(jì)算完全依賴于cookie的計(jì)算結(jié)果。由于攻擊者可以通過(guò)暴力攻擊的辦法獲取server_seed,進(jìn)而通過(guò)式( 1 )可以得到客戶端cookie,客戶端辨識(shí)合法服務(wù)器的關(guān)鍵信息被泄露。攻擊者截獲客戶端發(fā)送給真正服務(wù)器的時(shí)間同步請(qǐng)求Syns_Request,利用計(jì)算出的客戶端cookie偽裝成服務(wù)器,發(fā)送虛假時(shí)間同步回復(fù)報(bào)文Syns_Response,使客戶端將攻擊者誤以為是合法服務(wù)器,導(dǎo)致客戶端接受被攻擊者操控的時(shí)間信息,從而使客戶端與錯(cuò)誤時(shí)間信息進(jìn)行時(shí)間同步,具體攻擊步驟如圖3所示。
圖4 基于Autokey模型的NTP協(xié)議認(rèn)證加密解密過(guò)程
綜上所述,通過(guò)針對(duì)基于Autokey模型的NTP協(xié)議序列的安全性分析,發(fā)現(xiàn)協(xié)議盡管已經(jīng)考慮了認(rèn)證機(jī)制和安全機(jī)制,但仍然可能存在以下安全威脅和漏洞,見(jiàn)表1。
表1 基于Autokey模型的NTP協(xié)議序列安全性分析
基于鐵路時(shí)間同步網(wǎng)協(xié)議的認(rèn)證過(guò)程(圖2)和協(xié)議序列安全性分析(表1),建立帶有網(wǎng)絡(luò)攻擊行為的鐵路時(shí)間同步網(wǎng)協(xié)議一、二級(jí)時(shí)間同步節(jié)點(diǎn)完整性驗(yàn)證過(guò)程的狀態(tài)變遷模型,如圖5所示,模型中各狀態(tài)含義見(jiàn)表2。
能展示日常工作情況。競(jìng)賽是崗位練兵活動(dòng)中又一大內(nèi)容,通過(guò)競(jìng)賽的形式,模擬住宅火災(zāi)救援、林地火情控制等等,在競(jìng)賽時(shí)“濫竽充數(shù)”、“混水摸魚”是行不通的,日常的工作情況將真實(shí)的反映在考官的面前,或優(yōu)或劣的工作情況得到了有效展示,通過(guò)競(jìng)賽形式,促使了員工立足崗位,苦練過(guò)硬本領(lǐng)、學(xué)技術(shù),練絕活,干一流,爭(zhēng)第一,爭(zhēng)當(dāng)崗位能手的自覺(jué)性。
圖5 鐵路時(shí)間同步網(wǎng)協(xié)議帶有網(wǎng)絡(luò)攻擊行為的狀態(tài)變遷模型
狀態(tài)狀態(tài)含義G時(shí)間同步連接請(qǐng)求發(fā)起A客戶端、服務(wù)器端進(jìn)行初始關(guān)聯(lián)C客戶端、服務(wù)器端進(jìn)行證書交換CO客戶端向服務(wù)器端請(qǐng)求cookieSY客戶端向服務(wù)器端請(qǐng)求時(shí)間同步S完成時(shí)間同步MA初始協(xié)商信息被截取、轉(zhuǎn)發(fā)MC證書漏洞引起的中間人攻擊狀態(tài)MCO客戶端身份認(rèn)證缺失,服務(wù)器種子被破解導(dǎo)致中間人攻擊狀態(tài)MSY中間人偽造IP冒充合法服務(wù)器狀態(tài)
模型中共包括6個(gè)安全狀態(tài){G,A,C,CO,SY,S}和4個(gè)不安全狀態(tài){MA,MC,MCO,MSY}。在一級(jí)節(jié)點(diǎn)正常同步二級(jí)時(shí)間節(jié)點(diǎn)的過(guò)程中,由二級(jí)時(shí)間節(jié)點(diǎn)首先發(fā)起時(shí)間同步連接請(qǐng)求,進(jìn)入狀態(tài)G;在基于Autokey模型的NTP協(xié)議序列中,一、二級(jí)時(shí)間節(jié)點(diǎn)之間會(huì)首先進(jìn)行初始關(guān)聯(lián),交換主機(jī)名,確定認(rèn)證機(jī)制類型(狀態(tài)A);然后一、二級(jí)時(shí)間節(jié)點(diǎn)交換證書,二級(jí)時(shí)間節(jié)點(diǎn)獲得一級(jí)時(shí)間節(jié)點(diǎn)公鑰(狀態(tài)C);二級(jí)時(shí)間節(jié)點(diǎn)利用證書交換中得到的公鑰完成向一級(jí)時(shí)間節(jié)點(diǎn)的cookie請(qǐng)求(狀態(tài)CO),二級(jí)時(shí)間節(jié)點(diǎn)由此獲得cookie;隨后二級(jí)時(shí)間節(jié)點(diǎn)利用cookie,計(jì)算驗(yàn)證MAC完成與一級(jí)時(shí)間節(jié)點(diǎn)的身份認(rèn)證及NTP同步數(shù)據(jù)包的完整性驗(yàn)證(狀態(tài)SY);最后按照NTP響應(yīng)報(bào)文中的時(shí)間信息調(diào)整自身時(shí)間完成時(shí)間同步(狀態(tài)S)。
圖5中4個(gè)不安全狀態(tài)分別為:由狀態(tài)A可能引起初始請(qǐng)求協(xié)商信息泄露狀態(tài)(狀態(tài)MA);在狀態(tài)C時(shí)由自簽名X.509證書漏洞引起的中間人攻擊狀態(tài)(狀態(tài)MC);在狀態(tài)CO由客戶端身份認(rèn)證缺失及cookie位數(shù)過(guò)短引起的攻擊者偽裝成客戶端狀態(tài)(狀態(tài)MCO);以及在狀態(tài)SY,攻擊者偽造IP冒充合法服務(wù)器發(fā)送偽造NTP同步報(bào)文狀態(tài)(狀態(tài)MSY)。
從基于SMP的狀態(tài)遷移模型可知,鐵路時(shí)間同步網(wǎng)協(xié)議完整性驗(yàn)證過(guò)程中各狀態(tài)之間的遷移滿足馬爾可夫性。因此,采用離散時(shí)間馬爾可夫?qū)φ麄€(gè)狀態(tài)遷移過(guò)程進(jìn)行分析。
圖6 鐵路時(shí)間同步網(wǎng)協(xié)議完整性驗(yàn)證的DTMC過(guò)程
圖6中PA、PC、PCO、PSY為安全狀態(tài)到不安全狀態(tài)的變遷概率,PN為狀態(tài)MC向狀態(tài)MCO轉(zhuǎn)移的變遷概率,PM為狀態(tài)MCO向狀態(tài)MSY轉(zhuǎn)移的變遷概率。設(shè)P為圖6中DTMC過(guò)程狀態(tài)變遷概率矩陣,DTMC中10個(gè)狀態(tài)的穩(wěn)態(tài)概率向量為v=[vGvAvCvCOvSYvSvMAvMCvMCOvMSY],根據(jù)式( 4 )得到下列關(guān)系
( 7 )
假設(shè)6個(gè)正常狀態(tài)的平均駐留時(shí)間h滿足指數(shù)分布,如hCO=1/λCO等,對(duì)于4個(gè)不安全狀態(tài),由于攻擊行為不同會(huì)導(dǎo)致在不安全狀態(tài)的平均駐留時(shí)間有所不同,由文獻(xiàn)[15],4個(gè)不安全狀態(tài)的h滿足HypoEXP(λ1,λ2),利用式( 5 )可計(jì)算出鐵路時(shí)間同步網(wǎng)協(xié)議SMP過(guò)程的各狀態(tài)穩(wěn)態(tài)概率π。
根據(jù)式( 6 )的定義及表1對(duì)協(xié)議安全性分析歸納,本文鐵路時(shí)間同步網(wǎng)協(xié)議所考慮的認(rèn)證性ANTP、機(jī)密性CNTP、完整性INTP可分別表示為
( 8 )
首先初始化模型各參數(shù)值,以便于對(duì)NTP協(xié)議安全性指標(biāo)進(jìn)行量化計(jì)算。
變遷轉(zhuǎn)移概率P:PA表示初始關(guān)聯(lián)狀態(tài)A到初始關(guān)聯(lián)攻擊狀態(tài)MA的轉(zhuǎn)移概率,即在初始關(guān)聯(lián)時(shí)中間人截取、轉(zhuǎn)發(fā)信息成功的概率,設(shè)PA=0.1;PC表示狀態(tài)C利用自簽名證書漏洞中間人攻擊成功的概率,設(shè)PC=0.1;PCO表示攻擊者成功破解cookie的概率,設(shè)PCO=0.1;PSY表示攻擊者偽造IP冒充合法服務(wù)器截取篡改時(shí)間同步數(shù)據(jù)包成功的概率,設(shè)PSY=0.1;PN表示對(duì)證書攻擊成功后繼續(xù)攻擊cookie成功的概率,設(shè)PN=0.1;PM表示cookie攻擊成功后繼續(xù)攻擊成功的概率,設(shè)PM=0.1。
平均駐留時(shí)間hi:即協(xié)議完成交互流程中在狀態(tài)i中的駐留時(shí)間,是一個(gè)隨機(jī)值。假設(shè)單位時(shí)間為1,6個(gè)正常狀態(tài)的駐留時(shí)間滿足指數(shù)分布,因此平均駐留時(shí)間hG=hA=hC=hS=0.5,進(jìn)行MD5計(jì)算耗費(fèi)時(shí)間更多,因此取hCO和hSY為1。而對(duì)于4個(gè)危險(xiǎn)狀態(tài),由于是攻擊行為所導(dǎo)致,不同的攻擊行為會(huì)對(duì)平均駐留時(shí)間hi產(chǎn)生不同的影響。對(duì)于狀態(tài)MCO和MSY,由于要進(jìn)行大量的MD5計(jì)算,中間人攻擊成功的時(shí)間會(huì)偏長(zhǎng),hMCO=hMSY=3,而由于MA只需要簡(jiǎn)單轉(zhuǎn)發(fā)即可,因此hMA=1.5,利用證書漏洞攻擊,需要偽造證書,因此hMC=2。
4.2.1 對(duì)PC和hMC的仿真分析
考慮不安全狀態(tài)MC,與之相關(guān)的參數(shù)是到達(dá)MC狀態(tài)的變遷概率PC和狀態(tài)MC的駐留時(shí)間hMC,此時(shí)除PC和hMC,其他參數(shù)均按上述初始化參數(shù)設(shè)置,根據(jù)式( 8 ),可以得出認(rèn)證性ANTP、機(jī)密性CNTP、完整性INTP與PC和hMC之間的關(guān)系式,令PC和hMC從0~1遞增離散取值,依次仿真,結(jié)果如圖7所示。
為了便于對(duì)圖7所示的仿真結(jié)果進(jìn)行數(shù)值分析,不失一般性,取PC=0.6,令hMC從0~1遞增離散取值,取hMC=0.6,令PC從0~1遞增離散取值,仿真中參數(shù)變化見(jiàn)表3。
圖7 認(rèn)證性、機(jī)密性、完整性指標(biāo)與PC和hMC的函數(shù)變化
協(xié)議安全性指標(biāo)PC=0.6且hMC從0~1變化hMC=0.6 且PC從0~1變化變化范圍變化幅度描述變化范圍變化幅度描述認(rèn)證性ANTP1~0.817 00.183 0大幅下降0.986 1~0.762 80.223 3急劇下降機(jī)密性CNTP0.798 0~0.651 90.146 1大幅下降0.818 2~0.573 10.245 1急劇下降完整性INTP0.850 5~0.694 80.155 7大幅下降0.853 0~0.632 40.220 6急劇下降
結(jié)合圖7和表3可以看出,由證書漏洞引起的中間人攻擊威脅下的不安全狀態(tài)MC,隨著PC和hMC增大,認(rèn)證性急劇降低。同樣,機(jī)密性和完整性也隨PC和hMC增加而急劇下降。由于影響認(rèn)證性的不安全狀態(tài)只有MC狀態(tài),因此不安全狀態(tài)MC的穩(wěn)態(tài)概率對(duì)認(rèn)證性的影響是決定性的。PC和hMC增加時(shí),使得不安全狀態(tài)MC的穩(wěn)態(tài)概率增大明顯,導(dǎo)致認(rèn)證性降低幅度劇烈。所以必須及時(shí)發(fā)現(xiàn)攻擊,減少狀態(tài)MC駐留時(shí)間或者盡可能降低中間人攻擊證書成功的概率PC,以保證鐵路時(shí)間同步網(wǎng)協(xié)議的高認(rèn)證性。
4.2.2 對(duì)PCO和hMCO的仿真分析
考慮不安全狀態(tài)MCO,與之相關(guān)的參數(shù)是到達(dá)MCO狀態(tài)的變遷概率PCO和狀態(tài)MCO的駐留時(shí)間hMCO,此時(shí)除PCO和hMCO,其他參數(shù)均按上述初始化參數(shù)設(shè)置,由式( 8 )可得認(rèn)證性ANTP、機(jī)密性CNTP、完整性INTP與PCO和hMCO之間的關(guān)系,令PCO和hMCO從0~1遞增離散取值,依次仿真,結(jié)果如圖8所示。
圖8 認(rèn)證性、機(jī)密性、完整性指標(biāo)與PCO和hMCO的函數(shù)變化
為了便于對(duì)圖8所示的仿真結(jié)果進(jìn)行數(shù)值分析,不失一般性,取PCO=0.6,令hMCO從0~1遞增離散取值,取hMCO=0.6,令PCO從0~1遞增離散取值,仿真中參數(shù)變化見(jiàn)表4。
表4 PCO和hMCO分別變化時(shí)協(xié)議各安全性指標(biāo)變化情況
結(jié)合圖8和表4可以看出,由客戶端身份認(rèn)證缺失、服務(wù)器種子被破解導(dǎo)致的MCO狀態(tài),在PCO較小時(shí),隨著hMCO增加,機(jī)密性和完整性變化不明顯,但是在PCO較大時(shí),hMCO增加,機(jī)密性和完整性急劇下降。然而,認(rèn)證性隨PCO和狀態(tài)MCO平均駐留時(shí)間變化,卻并未出現(xiàn)明顯變化,因此PCO和狀態(tài)MCO平均駐留時(shí)間變化對(duì)其影響不大。所以PCO和hMCO對(duì)系統(tǒng)機(jī)密性和完整性影響較大,必須降低由于客戶端身份驗(yàn)證缺失及cookie位數(shù)太短,而使惡意節(jié)點(diǎn)可以偽造IP冒充客戶端進(jìn)行中間人攻擊成功的概率,或者要及時(shí)發(fā)現(xiàn)此類攻擊,減少狀態(tài)MCO的駐留時(shí)間,這樣可以同時(shí)有效提高鐵路時(shí)間同步網(wǎng)協(xié)議的機(jī)密性和完整性。
4.2.3 對(duì)PA和hMA的仿真分析
考慮不安全狀態(tài)MA,與之相關(guān)的參數(shù)是到達(dá)MA狀態(tài)的變遷概率PA和狀態(tài)MA的駐留時(shí)間hMA,此時(shí)除PA和hMA,其他參數(shù)均按上述初始化參數(shù)設(shè)置,根據(jù)式( 8 ),可得出認(rèn)證性ANTP、機(jī)密性CNTP、完整性INTP與PA和hMA之間的關(guān)系,令PA和hMA從0~1遞增離散取值,依次仿真,結(jié)果如圖9所示。
圖9 認(rèn)證性、機(jī)密性、完整性指標(biāo)與PA和hMA的函數(shù)變化
為了便于對(duì)圖9所示的仿真結(jié)果進(jìn)行數(shù)值分析,不失一般性,取PA=0.6,令hMA從0~1遞增離散取值,取hMA=0.6,令PA從0~1遞增離散取值,仿真中參數(shù)變化見(jiàn)表5。
表5 PA和hMA分別變化時(shí)協(xié)議各安全性指標(biāo)變化情況
結(jié)合圖9和表5可以看出,由初始請(qǐng)求協(xié)商信息泄露導(dǎo)致的MA狀態(tài),隨著PA增加,認(rèn)證性、完整性、機(jī)密性均出現(xiàn)急劇下降趨勢(shì),而hMA對(duì)認(rèn)證性、完整性、機(jī)密性并未產(chǎn)生明顯影響,因此有效降低PA,可對(duì)協(xié)議的認(rèn)證性、完整性、機(jī)密性產(chǎn)生積極影響。在初始關(guān)聯(lián)過(guò)程中要降低初始協(xié)商信息被截取、轉(zhuǎn)發(fā)狀態(tài)的變遷概率PA,在此過(guò)程中引入預(yù)共享秘鑰機(jī)制是一種選擇。
4.2.4 對(duì)PSY和hMSY的仿真分析
考慮不安全狀態(tài)MSY,與之相關(guān)的參數(shù)是到達(dá)MSY狀態(tài)的變遷概率PSY和狀態(tài)MSY的駐留時(shí)間hMSY,此時(shí)除PSY和hMSY,其他參數(shù)均按上述初始化參數(shù)設(shè)置,由式( 8 )可得認(rèn)證性ANTP、機(jī)密性CNTP、完整性INTP與PSY和hMSY之間的關(guān)系,令PSY和hMSY從0~1遞增離散取值,依次仿真,結(jié)果如圖10所示。
圖10 認(rèn)證性、機(jī)密性、完整性指標(biāo)與PSY和hMSY的函數(shù)變化圖
為了便于對(duì)圖10所示的仿真結(jié)果進(jìn)行數(shù)值分析,不失一般性,取PSY=0.6,令hMSY從0~1遞增離散取值,取hMSY=0.6,令PSY從0~1遞增離散取值,仿真中參數(shù)變化見(jiàn)表6。
表6 PSY和hMSY分別變化時(shí)協(xié)議各安全性指標(biāo)變化情況
結(jié)合圖10和表6可以看出,由中間人偽造IP冒充合法服務(wù)器導(dǎo)致的MSY狀態(tài),隨著PSY和不安全狀態(tài)MSY平均駐留時(shí)間的增加,認(rèn)證性、機(jī)密性和完整性均未呈現(xiàn)出明顯變化趨勢(shì),因此PSY和hMSY對(duì)認(rèn)證性、機(jī)密性和完整性影響不大。
通過(guò)以上分析可以看出,影響認(rèn)證性的不安全狀態(tài)只有MC狀態(tài),影響機(jī)密性的不安全狀態(tài)有4個(gè),分別是MA、MC、 MCO、 MSY。影響完整性的不安全狀態(tài)有3個(gè),分別是MC、MCO、MSY。其中,PC、hMC和PA對(duì)認(rèn)證性、機(jī)密性、完整性均有較大影響,而hMC對(duì)機(jī)密性、完整性影響明顯。進(jìn)一步進(jìn)行分析,在初始關(guān)聯(lián)階段主要是客戶端和服務(wù)器端交換對(duì)稱摘要密鑰主機(jī)名,若在證書交換階段和cookie請(qǐng)求階段能夠提供強(qiáng)有力的雙向認(rèn)證,即使入侵者在初始關(guān)聯(lián)階段獲取了主機(jī)名,也不能給時(shí)間同步造成實(shí)質(zhì)性的危害,因?yàn)檎J(rèn)證不通過(guò),入侵者無(wú)法篡改時(shí)間信息。因此,影響協(xié)議認(rèn)證性的關(guān)鍵因素是PC、hMC,而影響機(jī)密性和完整性的關(guān)鍵因素是PC、hMC和hMCO,它們分別與證書交換階段和cookie請(qǐng)求階段相關(guān)。
Autokey模型的NTP協(xié)議序列可以增加以下安全增強(qiáng)機(jī)制。為了提高認(rèn)證性,在可信證書機(jī)制下,由于主題公鑰長(zhǎng)度是防止密碼破解攻擊安全的保證,應(yīng)使用目前推薦的RSA-2048,盡可能降低PC和hMC。由于PCO、hMCO對(duì)機(jī)密性和完整性均有較大影響,因此在Autokey模型的cookie交換中引入雙向認(rèn)證機(jī)制克服由于客戶端身份驗(yàn)證缺失,惡意節(jié)點(diǎn)冒充客戶端成功的機(jī)率。目前,服務(wù)器種子每天定時(shí)更新一次,為了降低暴力攻擊cookie成功的幾率,應(yīng)縮短服務(wù)器定時(shí)更新種子周期,可以提高協(xié)議的機(jī)密性和完整性。由于從初始關(guān)聯(lián)安全狀態(tài)轉(zhuǎn)換到初始協(xié)商信息被截取,轉(zhuǎn)發(fā)狀態(tài)的變遷概率PA對(duì)認(rèn)證性、機(jī)密性和完整性均有較大影響,因此在初始關(guān)聯(lián)過(guò)程中可以引入預(yù)共享秘鑰機(jī)制,以降低PA。
對(duì)采取安全增強(qiáng)機(jī)制后的鐵路時(shí)間同步網(wǎng)協(xié)議進(jìn)行量化分析。由于采取安全增強(qiáng)機(jī)制后,會(huì)改變SMP模型中不安全狀態(tài)的變遷概率,比如使用RSA-2048,可以降低中間人攻擊證書成功的概率,PC=0.05;由于引入雙向認(rèn)證機(jī)制,增加cookie位數(shù),同時(shí)縮短服務(wù)器種子定時(shí)更新周期,PCO=0.05;由于在初始認(rèn)證階段采取預(yù)共享秘鑰機(jī)制,PA=0.05,其余參數(shù)不變,根據(jù)式( 5 )得到各狀態(tài)穩(wěn)態(tài)概率π,利用式( 6 )計(jì)算3種安全性量化指標(biāo),如圖11所示。
圖11 原始和改進(jìn)后NTP協(xié)議3種安全性評(píng)價(jià)指標(biāo)比較
由圖11可以看出,采取改進(jìn)后NTP協(xié)議的認(rèn)證性、機(jī)密性和完整性指標(biāo)分別為0.955 0、0.836 4、0.853 7,原始NTP協(xié)議序列分別0.913 6、0.754 6、0.788 7,改進(jìn)后的NTP協(xié)議在3個(gè)安全性指標(biāo)上均有所提高,且完整性和機(jī)密性指標(biāo)提高更為明顯。
本文利用半馬爾可夫過(guò)程對(duì)鐵路時(shí)間同步網(wǎng)協(xié)議進(jìn)行量化分析,通過(guò)分析時(shí)間同步協(xié)議在網(wǎng)絡(luò)攻擊狀態(tài)下的相關(guān)不安全狀態(tài),得到協(xié)議安全性評(píng)價(jià)指標(biāo)與不安全狀態(tài)的轉(zhuǎn)移速率和平均駐留時(shí)間之間的關(guān)系。結(jié)果表明:
(1)基于Autokey模型的鐵路時(shí)間同步協(xié)議序列是不安全的,在協(xié)議序列的4個(gè)階段均存在安全隱患,主要表現(xiàn)在鐵路時(shí)間同步網(wǎng)三級(jí)時(shí)間同步節(jié)點(diǎn)的客戶端與服務(wù)器端的認(rèn)證性、機(jī)密性和完整性得不到足夠的保護(hù),容易給攻擊者提供安全漏洞,造成時(shí)間同步的關(guān)鍵信息被泄露。
(2)影響鐵路時(shí)間同步網(wǎng)協(xié)議安全性的關(guān)鍵因素為:證書交換和cookie請(qǐng)求階段的安全性。
(3)針對(duì)證書交換和cookie請(qǐng)求兩個(gè)階段,增加相應(yīng)的安全增強(qiáng)機(jī)制,可以有效提高鐵路時(shí)間同步網(wǎng)協(xié)議的安全性,使鐵路時(shí)間同步網(wǎng)時(shí)間同步信息交互更為安全。