基于遠程證明的可信Modbus/TCP協(xié)議研究
發(fā)布時間:2021-11-03 14:33
由于工業(yè)控制系統(tǒng)(industrial control system,ICS)系統(tǒng)中的通信協(xié)議在設計之初很少考慮安全性,傳統(tǒng)的ICS網(wǎng)絡專用協(xié)議很容易遭到來自TCP/IP網(wǎng)絡的遠程攻擊。本文通過增加可信硬件,結合遠程證明方法設計了一種新的可信Modbus/TCP通信協(xié)議,提高使用專用通信協(xié)議的ICS網(wǎng)絡安全性。修改了ICS網(wǎng)絡中現(xiàn)場設備和控制設備中原有Modbus/TCP通信棧以達到雙向認證的目的。利用遠程證明方法基于白名單對Modbus/TCP客戶機、服務器雙方身份和安全狀態(tài)信息進行認證。這些信息的更新由在線的證明服務器維護并推送給現(xiàn)場設備以減輕通信負擔。協(xié)議數(shù)據(jù)通過2種方式受到保護:一是,通信過程中的消息認證密鑰由可信硬件保護,只有擁有可信硬件綁定密鑰的合法設備才能解密,保證通信數(shù)據(jù)無法在不被發(fā)現(xiàn)的情況下被篡改;二是,加密協(xié)議的敏感操作信息的密鑰也受到可信硬件的保護。目前,還沒有其他公開文獻將可信組件引入Modbus/TCP通信環(huán)境中以保證其安全性。提出的可信Modbus/TCP協(xié)議具備完整性、可認證性、新鮮性和機密性4個安全屬性。協(xié)議由HLPSL語言描述,使用SPAN工具驗證,未...
【文章來源】:工程科學與技術. 2017,49(01)北大核心EICSCD
【文章頁數(shù)】:9 頁
【部分圖文】:
SCADA系統(tǒng)安全通信威脅模型
命令保證擁有綁定密鑰私鑰的設備(TPM)才能解密對稱密鑰Kms和Ke。圖2認證子協(xié)議Fig.2Authenticationsub-protocol2.3通信子協(xié)議認證通過后,通信雙方將利用上述認證子協(xié)議中生成的密鑰Kms和Hash算法字段指定的Hash算法協(xié)議數(shù)據(jù)進行HMAC運算,保證通信過程中數(shù)據(jù)的完整性和雙方身份的可認證性。當安全字段為2時,Modbus/TCP將使用Ke進行協(xié)議數(shù)據(jù)加密傳輸,保證關鍵報文信息的機密性。該子協(xié)議較為簡單,限于篇幅不再給出具體流程描述。2.4驗證與更新子協(xié)議AS使用驗證子協(xié)議通過周期性質詢CS和PLC的PCR,通過對比白名單信息發(fā)現(xiàn)是否出現(xiàn)非預期的設備狀態(tài)變化,從而保證SCADA系統(tǒng)的終端設備在運行過程中沒有被篡改。此過程與認證子協(xié)議中的認證過程步驟8~10(圖2)類似,因此不再重復描述。根據(jù)驗證結果是成功或失敗,AS將決定是否進行ICS設備狀態(tài)更新:1)如果驗證成功,AS不做任何操作;2)如果驗證失敗,或者若SCADA管理員通過安全進程在可信服務器AS上更新了某實體在白名單上的信息,則由AS發(fā)起更新流程。根據(jù)更新實體設備類型不同,AS將進行不同操作:1)若更新實體的設備類型為Modbus/TCP客戶機,并且實體名稱為CS或HMI,則AS通過將實體新的白名單信息簽名后推送到Modbus/TCP網(wǎng)絡所有服務器(如PLC)中完成更新;2)若更新實體的設備類型為Modbus/TCP網(wǎng)絡服務器(如PLC),則AS通過TCP/IP網(wǎng)絡向CS或HMI廣播更新實體狀態(tài)信息改變的消息。接收到AS發(fā)起更新通知后,CS或HMI將之前在通信子協(xié)議中協(xié)商的相關對稱密鑰Kms和Ke設置為無效,重新發(fā)起認證子協(xié)議。3可信Modbus/TCP協(xié)議實現(xiàn)首先,基于包括可信硬件芯片及相關軟件在內(nèi)的可信組件實現(xiàn)可信Modbus/TCP協(xié)議。如圖3所示,在現(xiàn)有Modbus/TCP網(wǎng)絡的客戶機和服務器端分別進行3處
圖3基于TPM的可信Modbus/TCP協(xié)議實現(xiàn)Fig.3ImplementationoftrustedModbus/TCPprotocolbasedonTPM另外,作者通過增加可信白名單和修改Modb-us/TCP協(xié)議PDU實現(xiàn)可信Modbus/TCP協(xié)議。1)可信白名單AS中維護了一張保存所有設備信息的可信白名單,以便對通信雙方的身份和狀態(tài)可信性進行驗證,其格式如圖4所示。其中:Name為設備名稱;IP為設備IP地址;Type標記設備是客戶機還是服務器;AIK_pub代表設備的AIK公鑰;SIGK_pub代表設備的簽名公鑰;BINDK_pub代表設備用于加密客戶機和服務器協(xié)商的對稱通信密鑰的綁定密鑰公鑰;PCRs用來驗證通信設備的狀態(tài)是否可信,PCRs值對應的度量對象包括Modbus/TCP客戶機和服務器的操作系統(tǒng)OS內(nèi)核模塊及工控組態(tài)軟件。白名單的更新由ICS管理員授權,通過特定程序實現(xiàn)。圖4可信白名單數(shù)據(jù)格式Fig.4Dataformatoftrustedwhitelist2)可信Modbus/TCPPDU可信Modbus/TCP協(xié)議PDU數(shù)據(jù)格式如圖5所示,使用HMAC保護協(xié)議數(shù)據(jù)完整性和來源真實性,根據(jù)操作碼的安全級別保護高安全級別操作數(shù)據(jù)。圖5中:HashAlgorithm為1個字節(jié),由報文發(fā)送端根據(jù)設備計算能力選擇Hash算法。HashItem圖5可信Modbus/TCPPDU數(shù)據(jù)格式Fig.5DataformatoftrustedModbus/TCPPDU因選擇的Hash算法不同而長度不同,HashItem=HMAC(Kms,Modbus/TCPPDU),Kms由CS維護,在身份認證過程中生成。SecurityLevel為1個字節(jié)。本文對Modbus/TCP功能碼進行了讀和寫兩級分類,因此取值范圍為1或2,也可根據(jù)系統(tǒng)需求自定義相應功能碼級別。EncryptionAlgorithm為1個字節(jié),是可選項,僅在SecurityLevel字段為2時,由通信雙方根據(jù)需要選擇。若SecurityLevel字段為1,Data為明文;否則,Data為原始Modbus/TCPPDU加密后的數(shù)據(jù)。4安全性及性能分析4.1
【參考文獻】:
期刊論文
[1]可信計算的研究與發(fā)展[J]. 沈昌祥,張煥國,王懷民,王戟,趙波,嚴飛,余發(fā)江,張立強,徐明迪. 中國科學:信息科學. 2010(02)
碩士論文
[1]基于SM2加密算法的網(wǎng)絡型電壓監(jiān)測系統(tǒng)的研發(fā)[D]. 丁佳莉.江蘇大學 2016
本文編號:3473861
【文章來源】:工程科學與技術. 2017,49(01)北大核心EICSCD
【文章頁數(shù)】:9 頁
【部分圖文】:
SCADA系統(tǒng)安全通信威脅模型
命令保證擁有綁定密鑰私鑰的設備(TPM)才能解密對稱密鑰Kms和Ke。圖2認證子協(xié)議Fig.2Authenticationsub-protocol2.3通信子協(xié)議認證通過后,通信雙方將利用上述認證子協(xié)議中生成的密鑰Kms和Hash算法字段指定的Hash算法協(xié)議數(shù)據(jù)進行HMAC運算,保證通信過程中數(shù)據(jù)的完整性和雙方身份的可認證性。當安全字段為2時,Modbus/TCP將使用Ke進行協(xié)議數(shù)據(jù)加密傳輸,保證關鍵報文信息的機密性。該子協(xié)議較為簡單,限于篇幅不再給出具體流程描述。2.4驗證與更新子協(xié)議AS使用驗證子協(xié)議通過周期性質詢CS和PLC的PCR,通過對比白名單信息發(fā)現(xiàn)是否出現(xiàn)非預期的設備狀態(tài)變化,從而保證SCADA系統(tǒng)的終端設備在運行過程中沒有被篡改。此過程與認證子協(xié)議中的認證過程步驟8~10(圖2)類似,因此不再重復描述。根據(jù)驗證結果是成功或失敗,AS將決定是否進行ICS設備狀態(tài)更新:1)如果驗證成功,AS不做任何操作;2)如果驗證失敗,或者若SCADA管理員通過安全進程在可信服務器AS上更新了某實體在白名單上的信息,則由AS發(fā)起更新流程。根據(jù)更新實體設備類型不同,AS將進行不同操作:1)若更新實體的設備類型為Modbus/TCP客戶機,并且實體名稱為CS或HMI,則AS通過將實體新的白名單信息簽名后推送到Modbus/TCP網(wǎng)絡所有服務器(如PLC)中完成更新;2)若更新實體的設備類型為Modbus/TCP網(wǎng)絡服務器(如PLC),則AS通過TCP/IP網(wǎng)絡向CS或HMI廣播更新實體狀態(tài)信息改變的消息。接收到AS發(fā)起更新通知后,CS或HMI將之前在通信子協(xié)議中協(xié)商的相關對稱密鑰Kms和Ke設置為無效,重新發(fā)起認證子協(xié)議。3可信Modbus/TCP協(xié)議實現(xiàn)首先,基于包括可信硬件芯片及相關軟件在內(nèi)的可信組件實現(xiàn)可信Modbus/TCP協(xié)議。如圖3所示,在現(xiàn)有Modbus/TCP網(wǎng)絡的客戶機和服務器端分別進行3處
圖3基于TPM的可信Modbus/TCP協(xié)議實現(xiàn)Fig.3ImplementationoftrustedModbus/TCPprotocolbasedonTPM另外,作者通過增加可信白名單和修改Modb-us/TCP協(xié)議PDU實現(xiàn)可信Modbus/TCP協(xié)議。1)可信白名單AS中維護了一張保存所有設備信息的可信白名單,以便對通信雙方的身份和狀態(tài)可信性進行驗證,其格式如圖4所示。其中:Name為設備名稱;IP為設備IP地址;Type標記設備是客戶機還是服務器;AIK_pub代表設備的AIK公鑰;SIGK_pub代表設備的簽名公鑰;BINDK_pub代表設備用于加密客戶機和服務器協(xié)商的對稱通信密鑰的綁定密鑰公鑰;PCRs用來驗證通信設備的狀態(tài)是否可信,PCRs值對應的度量對象包括Modbus/TCP客戶機和服務器的操作系統(tǒng)OS內(nèi)核模塊及工控組態(tài)軟件。白名單的更新由ICS管理員授權,通過特定程序實現(xiàn)。圖4可信白名單數(shù)據(jù)格式Fig.4Dataformatoftrustedwhitelist2)可信Modbus/TCPPDU可信Modbus/TCP協(xié)議PDU數(shù)據(jù)格式如圖5所示,使用HMAC保護協(xié)議數(shù)據(jù)完整性和來源真實性,根據(jù)操作碼的安全級別保護高安全級別操作數(shù)據(jù)。圖5中:HashAlgorithm為1個字節(jié),由報文發(fā)送端根據(jù)設備計算能力選擇Hash算法。HashItem圖5可信Modbus/TCPPDU數(shù)據(jù)格式Fig.5DataformatoftrustedModbus/TCPPDU因選擇的Hash算法不同而長度不同,HashItem=HMAC(Kms,Modbus/TCPPDU),Kms由CS維護,在身份認證過程中生成。SecurityLevel為1個字節(jié)。本文對Modbus/TCP功能碼進行了讀和寫兩級分類,因此取值范圍為1或2,也可根據(jù)系統(tǒng)需求自定義相應功能碼級別。EncryptionAlgorithm為1個字節(jié),是可選項,僅在SecurityLevel字段為2時,由通信雙方根據(jù)需要選擇。若SecurityLevel字段為1,Data為明文;否則,Data為原始Modbus/TCPPDU加密后的數(shù)據(jù)。4安全性及性能分析4.1
【參考文獻】:
期刊論文
[1]可信計算的研究與發(fā)展[J]. 沈昌祥,張煥國,王懷民,王戟,趙波,嚴飛,余發(fā)江,張立強,徐明迪. 中國科學:信息科學. 2010(02)
碩士論文
[1]基于SM2加密算法的網(wǎng)絡型電壓監(jiān)測系統(tǒng)的研發(fā)[D]. 丁佳莉.江蘇大學 2016
本文編號:3473861
本文鏈接:http://sikaile.net/kejilunwen/xinxigongchenglunwen/3473861.html
最近更新
教材專著