對(duì)智能電網來(lái)說,因爲電網基礎設施受到攻擊的(de)幾率越來(lái)越高(gāo),各個(gè)國家穩定的(de)電力供應都處在受到惡意攻擊危險之中,從而使得(de)安全問題的(de)重要性日益增加。對(duì)此,IT安全性尤爲重要;很多(duō)方案支持端到端的(de)通(tōng)信數據加密,如:數據集中器、監控器和(hé)數據采集器系統(SCADA)。對(duì)IT加密措施的(de)關注是毋庸置疑的(de),因爲需要确保“空中”傳輸數據的(de)安全性。但是,即使采用(yòng)強大(dà)的(de)端到端加密也(yě)無法保護整個(gè)智能電網的(de)安全:因爲嵌入式設備本身易受攻擊。
加密等于安全?
雖然加密工具對(duì)于隐私保護和(hé)傳輸數據、命令的(de)認證非常有效,但必須注意到這(zhè)僅是解決方案的(de)一部分(fēn)。加密的(de)作用(yòng)在于防止被保護數據在傳輸或存儲過程中被解密或僞造。有些人(rén)認爲複雜(zá)的(de)RF或電力載波通(tōng)信依賴調頻(pín)即可(kě)完全保證數據的(de)安全性,其實此類保護很容易被攻破。假設攻擊者可(kě)以任意控制遠(yuǎn)程電表拉合閘繼電器,那麽電力公司将需要投入大(dà)量資源忙于處理(lǐ)故障。電力公司不但因此遭受經濟損失,而且會帶來(lái)很大(dà)麻煩,對(duì)于那些必須使用(yòng)空調的(de)場(chǎng)所造成生存威脅。
那麽,如何避免此類事故的(de)發生呢(ne)?如果通(tōng)信雙方都通(tōng)過密鑰對(duì)通(tōng)信線路上的(de)數據進行加密、解密、簽名或驗證,從嵌入式傳感器到控制系統的(de)數據加密非常關鍵,用(yòng)于加密的(de)密鑰保護也(yě)更加重要。一旦密鑰被竊取,整個(gè)網絡也(yě)就不再安全。智能電網的(de)嵌入式終端需要一套更完備的(de)安全方案,可(kě)以借鑒金融終端的(de)安全技術,著(zhe)重于密鑰保護,采用(yòng)芯片級硬件和(hé)防攻擊多(duō)重保護措施。
電力供應的(de)保護重點不能隻放在智能電網的(de)有效數據和(hé)命令驗證。蠕蟲病毒制造者了(le)解攻擊嵌入式基礎設備的(de)有效手段,即不容易被發現又對(duì)系統造成嚴重破壞。著名的(de)“零日攻擊”利用(yòng)檫除或修改系統程序的(de)方式,對(duì)系統造成的(de)破壞非常隐蔽。因此我們不但要關注設備的(de)安裝,而且要關注任何一個(gè)容易遭受攻擊的(de)編程環節(如生産過程)。
還(hái)有什(shén)麽漏洞?
實現安全可(kě)靠的(de)設計并非易事,需要花費大(dà)量的(de)時(shí)間和(hé)對(duì)安全保護技術的(de)深入了(le)解。那麽,這(zhè)些投入值得(de)嗎?讓我們先來(lái)分(fēn)析一個(gè)挂網的(de)智能電表,例如,安裝在我們自己家裏、沒有保護措施的(de)電表,外人(rén)很容易打開這(zhè)樣的(de)電表。如果電表采用(yòng)的(de)是通(tōng)用(yòng)MCU來(lái)處理(lǐ)通(tōng)信和(hé)應用(yòng)功能,則很可(kě)能存在一個(gè)編程端口,攻擊者可(kě)以對(duì)他(tā)重新編程或讀取内部信息。在有足夠資源和(hé)時(shí)間的(de)前提下(xià),一些人(rén)可(kě)以編寫出一個(gè)類似功能的(de)程序,但在程序中植入獲取密鑰數據或篡改賬單的(de)病毒。
即使挂網的(de)電表都具備一定的(de)保護措施,可(kě)在一定程度上防止篡改。我們仍然能夠發現一些容易遭受攻擊的(de)環節——生産環節,所謂的(de)“社交工程”爲攻擊者侵入IP和(hé)生産流程提供了(le)機會。花費數千美(měi)金,攻擊者就有可(kě)能獲取程序,通(tōng)過逆向工程修改後,将“新程序”植入産品。另外,攻擊者也(yě)可(kě)以将你的(de)程序出售給競争對(duì)手,造成巨大(dà)損失。
如何保證設備生命周期的(de)安全性?
嚴格的(de)産品生産流程應該考慮從設計到生産每個(gè)環節的(de)安全性,以及應對(duì)篡改的(de)策略。保障生命周期的(de)安全性,需考慮以下(xià)幾點:
⒈确保拿到的(de)芯片産自原廠,通(tōng)過正規渠道采購(gòu)來(lái)降低風險,當然,也(yě)要考慮加密技術。Maxim銷售的(de)安全處理(lǐ)器和(hé)智能電網産品可(kě)以加入用(yòng)戶密鑰或證書(shū),以防他(tā)人(rén)解鎖和(hé)編程IC。
⒉保護您的(de)IP。在工廠生産環節提供簽名、程序加密,協調從系統處理(lǐ)器的(de)安全裝載,到芯片軟件解密和(hé)授權認證的(de)每個(gè)環節。此類加密可(kě)以防止程序被克隆或破解。
⒊隻運行您規定的(de)程序。安全的(de)程序裝載采用(yòng)數字簽名的(de)方式來(lái)驗證代碼的(de)有效性,防止裝載或運行未經授權的(de)代碼。
⒋可(kě)靠通(tōng)信。對(duì)新的(de)配置、固件更新和(hé)指令進行加密和(hé)簽名,以驗證數據來(lái)源的(de)可(kě)靠性。
⒌現場(chǎng)保護密鑰。不要将密鑰存于它處,如外部EEPROM。如果系統使用(yòng)獨立的(de)安全處理(lǐ)器和(hé)應用(yòng)處理(lǐ)器,應将密鑰保存在安全處理(lǐ)器内,不要向外發送。以免攻擊者從線路闆的(de)通(tōng)信數據中竊取密鑰。
⒍公司内部的(de)密鑰保護。工程師可(kě)以使用(yòng)開發密鑰來(lái)開發産品的(de)安全功能,産品級密鑰則要經過多(duō)人(rén)簽名授權。通(tōng)常可(kě)以使用(yòng)一個(gè)更高(gāo)級别的(de)安全模塊完成授權。
⒎不放過每個(gè)微小漏洞。如果系統攻擊者僅從一塊電表竊取到重要信息,并投入大(dà)量的(de)時(shí)間和(hé)資金研究這(zhè)些信息,希望據此攻擊整個(gè)系統。經驗老道的(de)攻擊者可(kě)能打開IC封裝,從MCU的(de)存儲器中尋找重要信息。因此,使用(yòng)唯一密鑰或非對(duì)稱加密(如:橢圓曲線數字簽名)很有必要。
當前電網的(de)安全保護措施爲攻擊者留出了(le)很大(dà)的(de)空間。爲了(le)讓嵌入式設備在整個(gè)生命周期内确保安全,我們還(hái)需加強整個(gè)智能電網的(de)安全設計,讓哪些攻擊者望而卻步。