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