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