工業控制系統無處不在,是社會基礎設施不可或缺的一部分,例如我們的電力和水務設施,以及我們的石油/天然氣、化工、管道和運輸系統。毫不奇怪,鑒于世界上每天都有暴力和破壞報道,這些分布式控制系統(DCS)或監督控制和數據采集(SCADA)系統的安全性變得越來越重要。對這些DCS的攻擊可能比對計算機系統的攻擊更具災難性,因為DCS和物理工廠對我們的福祉和日常生活有直接和直接的影響。最近的安全措施僅旨在保護系統及其相關網絡的機密性、完整性和可用性。一個關鍵領域被忽視了太久:傳感器卡或現場IO模塊。
自從幾年前發現Stuxnet蠕蟲以來,1我們對關鍵基礎設施和控制它們的DCS系統的安全性變得更加關注和警惕。雖然Stuxnet的故事有很多活動部分,但眾所周知,蠕蟲是通過USB拇指驅動器傳播的。2因此,工業系統的架構師現在必須采取更深入的安全措施來保護他們的系統。都好...但是,最近的安全措施僅旨在保護系統及其相關網絡的機密性,完整性和可用性。一個關鍵領域被忽視了太久:傳感器卡或現場IO模塊。
本應用筆記討論了DCS底層傳感器卡的安全性。使用安全認證器(如此處用作示例的基于DeepCover DS28E35和DS2475 ECDSA)的IC等方法可以保護傳感器卡。最后,雖然我們將在本應用筆記中大致討論DCS系統,但讀者應該知道SCADA系統也總是隱含的。此外,術語“傳感器卡”是指所有現場設備、IO模塊和智能傳感器。?
傳感器卡的作用
傳感器卡對于監視和控制DCS和SCADA系統至關重要。圖1顯示了典型DCS/SCADA系統的架構。系統的底層是傳感器卡,用于監控并向系統操作員發出警報。監控的典型功能包括溫度、濕度、運動、液位、水流量、煙霧、門活動、電源故障、電流和丙烷罐狀態。
圖1.典型的DCS/SCADA系統架構,顯示底層傳感器,代表漏洞點。
我們大多數人都同意,通過傳感器卡大規模利用這些DCS系統只是時間問題。雖然通常不被認為是潛在的攻擊平臺,但許多人認為傳感器卡應該是。與其他系統單元相比,服務技術人員更頻繁地升級或更換傳感器卡。使用標準通信接口協議的一個優點是,服務技術人員可以在其DCS系統上使用來自多個供應商的傳感器更換卡。在這里,多個來源的好處可能成為責任,脆弱性。
不幸的是,在大多數情況下,沒有有效的方法來確保替換的傳感器卡沒有被欺騙、克隆或偽造。但是有一種方法可以糾正這個問題:在傳感器卡上添加一個安全的認證IC。這個附加組件完善了一個有效的安全系統,該系統將每個傳感器卡認證到DCS/SCADA網絡的最高控制級別。橢圓曲線數字簽名算法 (ECDSA) 等非對稱簽名方案有利于此類身份驗證目的。
ECDSA 加密保護傳感器卡
消費者一次性用品通常會受到各種復雜的芯片級方法的攻擊,這些方法試圖提取安全數據、反轉設備設置或中斷操作以危害系統安全性或只是克隆它。工業傳感器卡是一個類似的,通常易受攻擊的目標,某些未經授權和惡意的人可以訪問。為了提供最經濟實惠的保護,防止不可避免的惡意攻擊,安全系統的安全IC(如DS28E35)必須采用專有的管芯級物理技術、電路和加密方法來保護私鑰(Pr)密鑰、控制信號和其他敏感數據。
橢圓曲線數字簽名算法(ECDSA)是一種高效且安全的加密算法技術。橢圓曲線允許數論和代數幾何的數學構造。曲線具有豐富的結構,可用于密碼學。
最佳的 ECDSA 實現將使用基于公鑰的安全性3以及證書基礎結構以及用于身份驗證的數字簽名。在這種情況下,可編程邏輯控制器 (PLC) 首先驗證傳感器卡的證書,以確保它是該特定生態系統的合法成員。然后,PLC 執行數字簽名交換,以確認傳感器卡已授權用于該系統。
ECDSA 基于密鑰的公共加密認證器非常有效地執行這些安全程序,而且毫不費力。但是,并非每個安全身份驗證器都可以執行此任務。應用需要一個ECDSA安全IC,如DS28E35 DeepCover認證器,它實現了基于FIPS 186的ECDSA公鑰加密認證方法。該安全認證器具有1Kb用戶可編程EEPROM陣列以及用于公鑰和證書的存儲空間。它還具有一個僅遞減計數器、一個私鑰-公鑰對生成器、一個硬件隨機數生成器 (RNG) 和存儲器,可以劃分為開放訪問區域(例如,未受保護)和 EEPROM 具有讀或寫保護的區域。
ECDSA 涉及有限域上的橢圓曲線運算,這是一個數學密集型運算。當認證器IC位于傳感器卡上時,PLC還必須能夠計算數字簽名。這種能力的代價是PLC主機微控制器的計算復雜性要高得多,而計算時間通常是稀缺資源。配套協處理器ICDS2475位于PLC模塊上的主機微控制器附近,以減輕ECDSA計算的負擔。協處理器不需要任何秘密數據。DS28E35安全認證器和DS2475協處理器的功能框圖如圖2所示。
圖2.DS28E35安全認證器的功能框圖提供經濟實惠的橢圓曲線公鑰認證安全性,以保護傳感器卡。DS2475協處理器可卸載主機ECDSA計算。
在此配置中,協處理器實現高速 ECDSA 引擎,用于公鑰簽名驗證,該引擎也基于 NIST FIPS 186。身份驗證器和協處理器使用曲線 P-192 和 NIST FIPS 180 SHA-256 引擎實現其公鑰簽名,以將輸入數據設置為各自的 ECDSA 計算引擎。上電時,PLC現在可以驗證身份驗證器的證書,從而將傳感器卡識別為生態系統的一部分。然后,PLC 確認存儲在身份驗證器內的公鑰有效。圖 3 顯示了這種 PLC 到傳感器模塊互連。IO-Link 通信協議連接兩個子系統,但該協議可以是當今存在的眾多協議中的任何一個。?
圖3.安全傳感器卡/模塊認證設置采用嵌入傳感器卡的DS28E35 DeepCover安全認證器,并通過1-Wire接口與微處理器通信。DS2475 ECDSA安全協處理器位于PLC模塊上,用于實現公鑰簽名過程。?
ECDSA 質詢和響應身份驗證
在最簡單的形式中,ECDSA質詢和響應身份驗證原則是一種安全的握手方案,其中PLC提出問題(即質詢),傳感器卡必須提供有效的答案(即響應)才能進行身份驗證。首先,PLC模塊必須首先通過驗證其證書來檢查以確保傳感器卡是生態系統的一部分。(我們將在本應用筆記中省略此步驟。收到PLC的質詢后,傳感器卡的響應是有效的數字簽名。如果 PLC 無法驗證返回的簽名,這意味著傳感器卡得到的答案是錯誤的,那么 PLC 將拒絕傳感器卡,因為系統未經授權(不真實)。這種拒絕可能僅僅意味著該特定傳感器卡提供的數據(例如,其系統報警點)將全部被拒絕,并且可能不會發送到系統操作員的鏈上,以確保有問題的數據不會影響未來的系統控制決策。
這種ECDSA認證方案的主要組成部分包括256位隨機質詢、傳感器卡的認證器(即DS28E35)、ROM ID、RNG、私鑰和其他一些數據元素。密鑰對(公共/專用)可以在DS28E35外部生成并加載,也可以在IC內部計算。當密鑰對在DS28E35內部生成時,私鑰永遠不會被讀取或從器件中移除。但是,當使用外部密鑰對生成器時,需要一個強大的密鑰管理方案來防止私鑰被泄露。
安裝傳感器卡并通電后,PLC 和傳感器卡之間將立即發生以下事件序列。ECDSA 質詢和響應身份驗證事務序列如圖 4 所示,如下所示:
PLC 讀取傳感器卡的 ROM ID、公鑰 (Pu) 密鑰、頁面數據等。
傳感器卡發送請求的數據
PLC 生成并向傳感器卡發送隨機質詢。
傳感器卡的認證器(DS28E35)計算PLC提供的質詢的ECDSA簽名。對質詢、頁面數據、ROM ID 和其他一些數據元素進行哈希處理,以獲取消息身份驗證代碼 (MAC)。然后將MAC與私鑰(Pr)和隨機數一起輸入ECDSA引擎,以創建ECDSA簽名。
PLC 讀取數字簽名并使用公鑰進行驗證。PLC的安全協處理器(DS2475)使用相同的項目,包括相同的存儲器數據、ROM ID和數據元素來計算相同的MAC。驗證是通過饋送(一部分)收到的簽名、MAC 和公鑰來完成的。
如果存在簽名匹配(如果私鑰和公鑰真正相關),則傳感器卡將進行身份驗證。這實質上意味著傳感器卡是正品,然后PLC將接受來自它的所有測量數據。但是,如果無法驗證簽名,則傳感器被視為假的、仿冒的、克隆的或偽造的。
圖4.ECDSA 質詢和響應身份驗證事務序列。一個簡單的示例假定證書驗證之前已完成。
結論
DCS或SCADA是一個高度復雜的系統,需要保護。僅僅驗證DCS/SCADA系統的服務器、存儲和通信是否安全,在今天是不夠的。端點(本應用筆記中討論的傳感器卡)也必須受到保護,以免易受攻擊或使整個系統易受攻擊。從本質上講,安全架構設計和實現應將傳感器卡視為威脅,直到它們都通過網絡進行身份驗證。這里進入ECDSA質詢和響應身份驗證,這是保護知識產權(IP)免受假冒和非法復制,保護研發投資以及保護系統組件的非常有效的方法。
今天有一個簡單的ECDSA實現,它使用基于公鑰的加密身份驗證器。本應用筆記中的示例器件為DS28E35安全認證器和DS2475協處理器。經過驗證的ECDSA安全性將確保任何克隆的,未經授權的傳感器卡都無法進入系統,也不會向控制系統操作員發送虛假信息。因此,安全的身份驗證器和協處理器可防止系統運行中斷、生產力損失以及所有相關成本。根據DCS/SCADA的應用,具有強大ECDSA加密技術的安全認證器和協處理器甚至可以挽救生命。
審核編輯:郭婷
-
傳感器
+關注
關注
2550文章
51041瀏覽量
753100 -
控制系統
+關注
關注
41文章
6605瀏覽量
110578 -
計算機
+關注
關注
19文章
7488瀏覽量
87859
發布評論請先 登錄
相關推薦
評論