熱搜關(guān)鍵詞: ntp服務(wù)器 北斗衛(wèi)星導(dǎo)航系統(tǒng) 時(shí)鐘同步系統(tǒng)廠家 自動(dòng)駕駛時(shí)間同步
網(wǎng)絡(luò)時(shí)間協(xié)議第 4 版 (RFC 5905)是一個(gè)非常成功的網(wǎng)絡(luò)時(shí)間傳輸協(xié)議。它幾乎可以在每個(gè) IP 網(wǎng)絡(luò)中找到。NTP 信息通常會(huì)穿越租用線路或“公共互聯(lián)網(wǎng)”。因此,NTP 客戶(hù)端可以確定 NTP 服務(wù)器就是他們所說(shuō)的那樣,并且沒(méi)有人更改路由中的消息,這一點(diǎn)尤為重要。幸運(yùn)的是,NTPv4 有一個(gè)內(nèi)置的安全機(jī)制,稱(chēng)為NTP 自動(dòng)密鑰(耶?。2恍业氖?,autokey 有已知的弱點(diǎn),現(xiàn)在可以通過(guò)蠻力攻擊來(lái)破解(哦,不?。?。不用擔(dān)心強(qiáng)大的互聯(lián)網(wǎng)工程任務(wù)組 (IETF)近期發(fā)布了一個(gè)更新的安全機(jī)制,稱(chēng)為沒(méi)有這些弱點(diǎn)的網(wǎng)絡(luò)時(shí)間安全 (RFC 8915)。
它是如何工作的?如果您對(duì) NTP 使用除單播客戶(hù)端-服務(wù)器之外的任何通信模式,則不會(huì). 對(duì)于 NTP 的任何不太常見(jiàn)的通信模式,您都會(huì)在一段時(shí)間內(nèi)陷入自動(dòng)鍵或沒(méi)有安全性的困境。抱歉,為單播定義 NTS 已經(jīng)夠難的了。讓我們從識(shí)別游戲中的玩家開(kāi)始,如圖 1 所示。除了 NTP 服務(wù)器和客戶(hù)端之外,還有 NTS-KE 服務(wù)器。KE 代表密鑰交換。實(shí)際上,NTS-KE 服務(wù)器和 NTP 服務(wù)器可能是運(yùn)行在同一臺(tái)服務(wù)器上的兩個(gè)程序,或者它們可能位于不同的硬件上。KE 服務(wù)器的目的是確保 NTP 客戶(hù)端和服務(wù)器使用相同的加密算法,并可選擇驗(yàn)證 NTP 服務(wù)器和客戶(hù)端的身份。
在客戶(hù)端可以與 KE 服務(wù)器進(jìn)行 NTS 對(duì)話之前,它使用傳輸層安全性 (TLS)打開(kāi)一個(gè)安全會(huì)話。請(qǐng)參見(jiàn)圖 2。TLS 與您之前在訂購(gòu)蝙蝠俠手表時(shí)使用的安全機(jī)制相同,而任何人都無(wú)法看到您的信用卡號(hào)。它還用于保護(hù)互聯(lián)網(wǎng)上的許多其他協(xié)議,因此它是經(jīng)過(guò)高度測(cè)試的安全協(xié)議。在不超過(guò) 5 分鐘限制的情況下,我將無(wú)法描述 TLS 的詳細(xì)信息,因此我將其留給讀者作為練習(xí)。建立 TLS 會(huì)話后,客戶(hù)端將發(fā)送AEAD 安全算法列表它支持(可選)網(wǎng)絡(luò)堆棧中的選 NTP 服務(wù)器和端口號(hào)。KE 服務(wù)器將使用選定的算法、服務(wù)器 IP 地址、端口號(hào)和一個(gè)或多個(gè)初始 cookie 進(jìn)行響應(yīng)。由于 NTS 和 KE 服務(wù)器通常由同一時(shí)間服務(wù)器制造商實(shí)現(xiàn)并捆綁在一起,因此 NTS 沒(méi)有指定它們之間的交互。NTS 服務(wù)器以某種方式告訴 KE 服務(wù)器它想要使用哪些安全算法以及用于加密 cookie 的密鑰。
一旦 NTP 客戶(hù)端從 KE 服務(wù)器獲得初始 cookie,它就可以向 NTP 服務(wù)器發(fā)送安全的 NTP 請(qǐng)求。NTP 服務(wù)器將使用 NTP 擴(kuò)展字段中的信息來(lái)收集 cookie 并驗(yàn)證 NTP 請(qǐng)求。然后 NTP 服務(wù)器將生成下一個(gè) cookie 并將其與 NTP 響應(yīng)一起發(fā)送。這顯示在圖 3 中。那么所有 cookie 的來(lái)回是什么意思?原因是 NTP 服務(wù)器是“無(wú)狀態(tài)的”。他們不想記住單個(gè)客戶(hù),因?yàn)榭赡苡蟹浅6嗟目蛻?hù)。請(qǐng)注意,客戶(hù)端可能會(huì)從 KE 服務(wù)器獲取多個(gè) cookie,這樣它就不必在每次需要重新啟動(dòng) NTP 時(shí)再次向 KE 服務(wù)器簽入。
NTS 使用 NTP 擴(kuò)展字段(RFC 標(biāo)識(shí)符就像一個(gè)序列號(hào),但從加密安全的隨機(jī)數(shù)生成器中隨機(jī)生成。這使 NTP 消息比普通序列號(hào)的信息具有更多的熵,這使得安全性更難破解使用暴力破解算法。相同的標(biāo)識(shí)符將用于 NTP 請(qǐng)求和響應(yīng)對(duì)。與 cookie 一起的是指向 NTS 服務(wù)器使用的密鑰的指針,以便它可以解密 cookie。認(rèn)證擴(kuò)展字段包含一個(gè)綜合校驗(yàn)值,即哈希碼,與客戶(hù)端和服務(wù)器在接收到消息時(shí)生成的值進(jìn)行比較。如果它們匹配,則該消息在網(wǎng)絡(luò)中沒(méi)有被改變。
那么你如何為 NTS 烤餅干呢?成分如圖 5 所示。cookie 在加密之前不能食用。請(qǐng)注意,客戶(hù)端將有加密的 cookie 發(fā)送到服務(wù)器,但無(wú)法讀取它們??蛻?hù)端只是為服務(wù)器存儲(chǔ)信息,以節(jié)省服務(wù)器上的內(nèi)存。nonce 是添加到消息中的隨機(jī)位字段,用于增加加密 cookie 的熵。NTS 對(duì)客戶(hù)端到服務(wù)器 NTP 請(qǐng)求 (C2S) 和服務(wù)器到客戶(hù)端響應(yīng) (S2C) 使用不同的密鑰。
【本文標(biāo)簽】 NTP NTP服務(wù)器
【責(zé)任編輯】酷鯊