一種基于fpga的工業過程數據安全采集裝置及方法
【技術領域】
[0001]本發明涉及工業過程控制領域,具體涉及一種基于FPGA的工業過程數據安全采集裝置及方法。
【背景技術】
[0002]工業化與信息化的發展實現了傳統計算機網絡與工業控制網絡的緊密融合,越來越多的企業管理信息系統,如石油、化工等典型流程工業的生產執行系統(MES),利用多種數據交互設備從集散控制系統(DCS)采集實時數據,進而完成優化控制。特別是物聯網、大數據等新技術的逐步深化應用,管理網與工控網的聯系日趨緊密,擴大了工控網的訪問范圍,增加了安全風險。
[0003]為了將DCS的生產數據采集到MES中,目前廣泛使用普通PC機完成數據采集。雖然在PC機中采用了諸如病毒防護、網卡隔離等措施,但這種以PC機為主的數據采集方式,仍然存在惡意程序在管理網絡和控制網絡之間肆意傳播的隱患。
[0004]現有的數據采集裝置一般都在應用層上對數據進行加密,屬于典型的軟件加密方式,這種加密方式不但會降低數據處理速率而且會增加時延。此外,目前數據加密模塊一般采用固定的處理速率,這樣對于工業控制現場存在的不同數據采集速率將顯得不夠靈活。最后,目前的數據加密裝置一般對不同數據包使用相同的加密密鑰,若某一數據包的加密密鑰被非授權方獲取,那么傳輸的所有數據都將會被破解,這大大增加了安全風險。
【發明內容】
[0005]為解決現有技術存在的問題,本發明以FPGA為核心,取代了數據采集裝置中廣泛使用的普通PC機,使用MACsec加密、解密技術,在保證實時數據采集速率的基礎上提高了信息傳遞的安全性,使得工業控制系統免受來自管理網的安全風險。
[0006]通過以下技術方案實現,一種基于FPGA的工業過程數據安全采集裝置及方法,以FPGA為核心,設計并開發CRC校驗模塊、MACsec加密、解密模塊。
[0007]一種基于FPGA的工業過程數據安全采集裝置,該裝置包括支持PC1-Express的高速數據采集模塊、數據發送模塊、CRC校驗模塊、MACsec加密模塊以及MACsec解密模塊,上述各模塊均為FPGA的內嵌模塊,由FPGA負責整個裝置的運行協調;所述高速數據采集模塊采集DCS數據,并通過數據發送模塊發送數據至MES;所述CRC校驗模塊、MACsec解密模塊連接高速數據采集模塊;所述MACsec加密模塊連接數據發送模塊;
[0008]FPGA的內核加密模塊包括aes-gcm模塊、MACsec控制模塊、密鑰和數據存儲模塊、MAC模塊以及物理層,其中AES-GCM模塊置于MACsec控制模塊中,MACsec控制模塊連接數據存儲模塊以及位于OSI模型中數據鏈路層的MAC模塊:當信息從OS I模型的物理層傳輸到數據鏈路層時,MACsec控制模塊根據發送者提供的128/256位密鑰啟動MACsec解密模塊進行解密,解密后的數據傳輸到OSI模型中的網絡層之上進行深度數據包檢測;當信息從數據鏈路層傳輸到物理層時,MACsec控制模塊根據密鑰和數據存儲模塊中的128/256位密鑰啟動MACsec加密模塊對傳出的數據進行加密,加密完成后通過物理層傳出。
[0009]優選的,MACsec加密模塊、MACsec解密模塊在硬件上實現安全加密、解密功能。
[0010]一種基于本發明公開的基于FPGA的工業過程數據安全采集裝置的采集方法,數據采集裝置開始運行后首先從文件中獲得采集配置信息,加載采集配置信息成功后對高速數據采集模塊進行初始化,通過PC1-Express接口與DCS建立連接;連接成功后對需要采集的標簽點進行綁定,以循環的方式不斷執行數據讀取;對讀取到的數據包進行MACsec解密和CRC校驗,在確認無誤的情況下將數據進一步傳輸到數據發送模塊,數據經過MACsec加密模塊處理后對外發布。
[0011]更優的,所述MACsec加密模塊處理是通過對以太網鏈路層的數據進行加密。
[0012]更優的,所述MACsec加密模塊的工作頻率可以運行在1GHz、1GHz和40GHz不同檔位,能夠根據多種不同的數據采集速率而動態改變數據加密速率。
[0013]更優的,所述MACsec解密模塊的工作頻率可以運行在1GHz、1GHz和40GHz不同檔位,能夠根據多種不同的數據采集速率而動態改變數據解密速率。
[0014]更優的,每個數據包都有相應的編號,確保能檢測并拒絕接收重復或重新發送的數據包。
[0015]更優的,MACsec加密模塊對每個數據包使用不同的加密密鑰,接收到消息后,接收器會在FPGA上的內容地址存儲器列表中查找解密密鑰。
[0016]更優的,所述CRC校驗模塊采用異或邏輯,基于8位輸入數據和生成多項式運算得出CRC校驗碼。
[0017]具體的,所述CRC校驗碼計算步驟如下:
[0018](I)將16位寄存器自左到右編號為R15R14.--Ro;
[0019](2)將16位CRC寄存器自左到右編號為C15Cw --Co;
[0020](3)把CRC寄存器中每一位的初始值都設為O;
[0021 ] (4)計算輸入一位數據后CRC寄存器中新的內容;
[0022](5)循環執行步驟(4)直到8位數據輸入結束;
[0023](6)計算各個位的因子相互異或的結果,即為CRC校驗碼。
[0024]有益效果:
[0025]本發明提供了一種基于FPGA工業過程數據安全采集裝置及方法,以FPGA為核心,取代了數據采集裝置中廣泛使用的普通PC機,使用MACsec加密技術,在保證實時數據采集速率的基礎上提高了信息傳遞的安全性,使得工業控制系統免受來自管理網的安全風險。
【附圖說明】
[0026]圖1是本發明系統結構框圖;
[0027]圖2是本發明FPGA內核加密模塊結構框圖;
[0028]圖3是本發明數據采集流程圖。
【具體實施方式】
[0029]下面結合附圖,對本發明的【具體實施方式】作進一步說明。本實施例以本發明技術方案為前提進行實施,但本發明的保護范圍不限于下述的實施例。
[0030]如圖1所示,數據采集裝置主要由支持PC1-Express的高速數據采集模塊、數據發送模塊以及MACsec加密、解密模塊組成。數據采集模塊的數據源來自于DCS,DCS與FPGA通過PC1-Express進行通訊從而完成實時數據的高速采集。
[0031 ]上述模塊均為FPGA主板上的內嵌模塊,FPGA主板在DCS和MES之間起到了數據中樞的作用,負責將下層的實時數據安全的傳遞到上層管理網絡中。
[0032]如圖2所示,FPGA內核加密模塊主要由AES-GCM模塊、MACsec控制模塊、密鑰和數據存儲模塊、MAC(介質訪問控制)模塊以及物理層組成。其中MAC模塊位于OSI模型中的數據鏈路層,在數據鏈路層對數據進行加密、解密處理可以提高速度并最大程度的降低時延,若在OSI模型中的數據鏈路層之上,如網絡層、傳輸層對數據進行加密處理,信息必須傳到協議上層進行處理,這顯然會增加時延。
[0033]圖2中,MACsec內核直接連接到數據鏈路層的MAC模塊上,當信息從OSI模型的物理層傳輸到數據鏈路層時,MACsec控制模塊根據發送者提供的128/256位密鑰啟動MACsec解密模塊進行解密,解密后的數據傳輸到OSI模型中的網絡層之上進行深度數據包檢測。當信息從數據鏈路層傳輸到物理層時,MA