李 超,鄧小寶,史運濤,翟維楓,孫德輝
(北方工業(yè)大學 現(xiàn)場總線技術(shù)及自動化北京市重點實驗室,北京 100144)
《中國制造2025》規(guī)劃指出智能制造已經(jīng)成為我國先進制造業(yè)的發(fā)展方向。近年來,我國智能制造發(fā)展速度不斷加快,相關(guān)企業(yè)接連涌現(xiàn),發(fā)展趨勢不斷向好[1-2]。
然而智能制造在信息安全方面所面臨的挑戰(zhàn)日趨嚴峻[3],工業(yè)病毒的傳播方式愈發(fā)多樣。2010 年11月,伊朗核電站遭受“震網(wǎng)”病毒攻擊,伊朗的核計劃遭受重創(chuàng)[4-6];2011 年,美國伊利諾伊州城市供水系統(tǒng)被黑客入侵,供水泵遭到破壞[7];2012 年5 月,火焰病毒在中東地區(qū)大范圍傳播,對石油生產(chǎn)造成了嚴重破壞[8]。同時,在大數(shù)據(jù)時代,工業(yè)信息數(shù)據(jù)量大且復(fù)雜多樣,對于生產(chǎn)數(shù)據(jù)可視化的要求進一步提高[9-11],傳統(tǒng)的人機交互界面(HMI)具有成本高和靈活性不足的缺點,難以滿足智能制造企業(yè)的實際需求。
因此,本文將工業(yè)信息安全與可視化技術(shù)相結(jié)合,設(shè)計了工業(yè)網(wǎng)絡(luò)結(jié)構(gòu),利用防火墻、VPN 等技術(shù)和MySQL、Visual Studio 2017、Echarts、Node.js 等軟件,設(shè)計完成了基于工業(yè)信息安全的智能制造實驗平臺,并利用博途V15.1 進行了遠程維護的驗證。將工業(yè)信息安全和數(shù)據(jù)可視化引入電氣自動化類專業(yè)的實踐教學中,助力專業(yè)教學與當前企業(yè)需求的對接,培養(yǎng)緊跟時代步伐的高素質(zhì)智能制造人才。同時,對電氣自動化類專業(yè)的“新工科”建設(shè)進行有益的教學探索。
基于工業(yè)信息安全的智能制造實驗平臺由遠程維護站、控制中心(含可視化模塊、視頻監(jiān)測模塊)和智能生產(chǎn)線(含6 個工藝單元)組成,遠程維護站屬于外部網(wǎng)絡(luò),控制中心和智能生產(chǎn)線屬于內(nèi)部工業(yè)網(wǎng)絡(luò),實驗平臺結(jié)構(gòu)如圖1 所示。
圖1 實驗平臺結(jié)構(gòu)
遠程維護站通過VPN 與控制中心建立加密連接[12-13],實現(xiàn)對于智能生產(chǎn)線的遠程維護;安全模塊負責防止外部設(shè)備非法訪問控制中心和智能生產(chǎn)線,實現(xiàn)對控制中心和智能生產(chǎn)線的保護,同時作為VPN服務(wù)器,建立與遠程維護站之間的VPN 通道;可視化模塊部署在控制中心的工程師站,通過工業(yè)網(wǎng)絡(luò)實現(xiàn)對智能生產(chǎn)線S7-1200 PLC 數(shù)據(jù)的采集,并將采集到的生產(chǎn)數(shù)據(jù)進行Web 可視化;工業(yè)網(wǎng)絡(luò)由交換機、無線接入點(AP)和無線客戶端搭建,負責實現(xiàn)控制中心和智能生產(chǎn)線之間的通信;視頻監(jiān)測模塊由IP 攝像頭和視頻監(jiān)控站組成,負責對智能生產(chǎn)線的視頻監(jiān)測。
根據(jù)工業(yè)網(wǎng)絡(luò)各部分的功能,將其劃分為核心層、匯聚層和接入層??紤]到實際工業(yè)生產(chǎn)對網(wǎng)絡(luò)可靠性的要求,采用環(huán)網(wǎng)冗余及有線/無線冗余方式,保證工業(yè)網(wǎng)絡(luò)的冗余度。
核心層包含三層交換機和安全模塊。三層交換機選用SCALANCE XM408-8C,具有虛擬局域網(wǎng)(VLAN)、路由和冗余管理功能。安全模塊選用 SCALANCE S615,具有防火墻、VPN 和網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)功能。通過劃分VLAN 可實現(xiàn)視頻監(jiān)測數(shù)據(jù)和生產(chǎn)數(shù)據(jù)的隔離;通過配置路由可實現(xiàn)各交換機之間和交換機與安全模塊之間的通信;通過多重冗余協(xié)議(MRP)將XM408-8C 設(shè)置為冗余管理器,配合匯聚層交換機可實現(xiàn)環(huán)網(wǎng)冗余功能;通過配置S615 可實現(xiàn)保護內(nèi)部網(wǎng)絡(luò)和遠程維護功能。
圖2 網(wǎng)絡(luò)通信正常時
匯聚層使用二層交換機,選用SCALANCE XB208,負責連接接入層和核心層,實現(xiàn)對接入層數(shù)據(jù)的匯聚和轉(zhuǎn)發(fā)。將XB208 設(shè)置為冗余客戶端,和核心層交換機共同構(gòu)成環(huán)網(wǎng)冗余。環(huán)網(wǎng)冗余效果如圖2 和3 所示,當核心層和匯聚層通信正常時,備用鏈路處于斷開狀態(tài);當原通信網(wǎng)絡(luò)發(fā)生故障時,啟用備用鏈路,保障網(wǎng)絡(luò)通信能夠正常進行。
接入層包含無線AP、無線客戶端、二層交換機和IP 攝像頭。無線AP 選用SCALANCE W774,無線客戶端選用SCALANCE W734,通過配置相關(guān)協(xié)議實現(xiàn)W774 和W734 之間的工業(yè)無線通信。二層交換機選用SCALANCE XB208,完成智能生產(chǎn)線與工業(yè)網(wǎng)絡(luò)的連接。IP 攝像頭選用沃仕達IP 攝像頭,實現(xiàn)對智能生產(chǎn)線的視頻監(jiān)測功能。有線/無線冗余通過接入層和匯聚層實現(xiàn),在正常情況下,當有線與無線同時接通時,數(shù)據(jù)優(yōu)先通過有線傳輸;當有線傳輸出現(xiàn)故障時,數(shù)據(jù)將通過無線傳輸。
圖3 原通信網(wǎng)絡(luò)發(fā)生故障時
工業(yè)信息安全設(shè)計由防火墻、VPN、NAT 和私有虛擬局域網(wǎng)(PVLAN)實現(xiàn)。通過防火墻拒絕外部網(wǎng)絡(luò)設(shè)備對內(nèi)部工業(yè)網(wǎng)絡(luò)的訪問,在此基礎(chǔ)上,通過搭建VPN 通道實現(xiàn)遠程維護站對控制中心的訪問,從而實現(xiàn)遠程維護功能。信息安全防護流程如圖4 所示。
配置防火墻規(guī)則。通信方向為由外網(wǎng)到內(nèi)網(wǎng)時,將來源IP 設(shè)置為0.0.0.0(任意IP),將目的IP 設(shè)置為192.168.0.0,動作設(shè)置為拒絕,實現(xiàn)拒絕任意來源IP訪問內(nèi)網(wǎng)IP 的功能;通信方向為由內(nèi)網(wǎng)到外網(wǎng)時,將來源IP 設(shè)置為192.168.0.0,將目的IP 設(shè)置為0.0.0.0,動作設(shè)置為允許,實現(xiàn)允許內(nèi)網(wǎng)IP 訪問外網(wǎng)任意IP的功能。
圖4 信息安全防護流程
搭建VPN 通道實現(xiàn)遠程維護功能。利用S615 和SSC(SOFTNET security client)軟件搭建VPN 通道。將SSC 軟件部署在遠程維護站作為VPN 客戶端,將S615配置為VPN 服務(wù)器,通過IPSec 協(xié)議在遠程維護站和S615 之間搭建一條VPN 通道。通過網(wǎng)絡(luò)密鑰交換協(xié)議(IKE)建立VPN 服務(wù)器和VPN 客戶端之間的安全參數(shù)及密鑰,其中數(shù)據(jù)加密算法采用3DES,認證算法采用SHA-1,實現(xiàn)遠程維護站和控制中心之間數(shù)據(jù)的安全加密傳輸,進而實現(xiàn)遠程維護站對智能生產(chǎn)線的訪問。VPN 架構(gòu)如圖5 所示。
圖5 VPN 架構(gòu)圖
建立PVLAN 實現(xiàn)網(wǎng)絡(luò)隔離功能。利用PVLAN隔離各工藝單元之間的通信,在XM408-8C 中建立主VLAN 和輔助VLAN,在匯聚層和接入層的XB208 中建立各輔助VLAN。將工程師站置于主VLAN 中,工藝單元置于不同輔助VLAN 中,各輔助VLAN 只能與主VLAN 通信,輔助VLAN 之間不能通信,當單個工藝單元遭受病毒感染后,病毒無法通過工業(yè)網(wǎng)絡(luò)入侵其他工藝單元。
數(shù)據(jù)可視化是指通過工業(yè)網(wǎng)絡(luò)采集生產(chǎn)數(shù)據(jù)至工程師站,并進行生產(chǎn)數(shù)據(jù)的Web 可視化如實時數(shù)據(jù)顯示和歷史曲線顯示。通過分析實時數(shù)據(jù)和歷史數(shù)據(jù),可判斷智能生產(chǎn)線是否遭受外部攻擊,有助于相關(guān)人員進行處置。數(shù)據(jù)可視化設(shè)計包含生產(chǎn)數(shù)據(jù)采集、生產(chǎn)數(shù)據(jù)存儲和Web 可視化3 個部分,涉及Visual Studio 2017、MySQL、ECharts 和Node.js 等軟件。
生產(chǎn)數(shù)據(jù)采集部分使用Visual Studio 2017 建立窗體應(yīng)用程序,采用C#編程語言通過S7.net 控件建立工程師站與智能生產(chǎn)線S7-1200 PLC 的連接,通過讀取PLC 數(shù)據(jù)塊,將生產(chǎn)數(shù)據(jù)讀取到工程師站中,完成生產(chǎn)數(shù)據(jù)的采集。
生產(chǎn)數(shù)據(jù)存儲部分使用MySQL 數(shù)據(jù)庫,MySQL數(shù)據(jù)庫具有兼容性強、可靠性高等優(yōu)點,且源碼開放,適合運用在實踐教學中。利用MySqlConnection 函數(shù)建立與MySQL 數(shù)據(jù)庫的連接,通過insert into 函數(shù)將采集到的生產(chǎn)數(shù)據(jù)存放到MySQL 數(shù)據(jù)庫中。
Web 可視化顯示分為后端和前端兩部分。使用Node.js 搭建后端服務(wù)器,通過connection.query 方法實現(xiàn)與 MySQL 數(shù)據(jù)庫的交互,并利用 app.get 和app.post 方法提供數(shù)據(jù)訪問接口,為前端顯示提供數(shù)據(jù)。前端監(jiān)測頁面以ECharts 為主要可視化插件,利用JQuery 框架中的Ajax 方法,訪問后端服務(wù)器,實時獲取數(shù)據(jù)并動態(tài)刷新,實現(xiàn)數(shù)據(jù)的實時監(jiān)測。
在未配置遠程維護站SSC 軟件的條件下,沒有建立遠程維護站與S615 的VPN 通道,無法通過博途軟件在線監(jiān)控智能生產(chǎn)線的S7-1200 PLC,如圖6 所示。
在遠程維護站中配置SSC 軟件,建立與S615 之間的數(shù)據(jù)加密通道。VPN 通道建立成功后,遠程維護站可以繞過防火墻規(guī)則與控制中心和智能生產(chǎn)線通信,SSC 軟件中S615 的狀態(tài)顯示為綠色,同時顯示VPN 通道的源IP 地址、目的IP 地址和數(shù)據(jù)加密方法,在博途軟件中可以在線監(jiān)控智能生產(chǎn)線的 S7-1200 PLC,并且可以根據(jù)項目實際需求對控制程序進行修改、下載及調(diào)試,遠程維護效果如圖7 所示。
針對項目擴展需求,實驗平臺可實現(xiàn)遠程擴展S7-1200 PLC DI/DO/AI/AO 模塊及通信模塊的功能。以為智能生產(chǎn)線的S7-1200 PLC 添加DO 模塊SM1222為例,在加入硬件模塊的同時,在遠程維護站的博途軟件中對其進行添加,修改程序并下載后監(jiān)控界面顯示正常,說明遠程擴展的DO 模塊生效。擴展模塊前遠程監(jiān)控效果如圖8 所示,擴展模塊后遠程監(jiān)控效果如圖9 所示。
圖6 未建立VPN 通道效果
圖7 遠程加密連接效果
圖8 擴展模塊前遠程監(jiān)控效果
圖9 擴展模塊后遠程監(jiān)控效果
在工程師站的博途軟件中監(jiān)控智能生產(chǎn)線S7-1200 PLC 生產(chǎn)數(shù)據(jù)狀態(tài),通過工業(yè)網(wǎng)絡(luò)采集S7-1200 PLC數(shù)據(jù)后,存入工程師站的MySQL 數(shù)據(jù)庫,并在C#的窗體應(yīng)用程序中進行顯示,最終通過 Node.js 和ECharts 插件實現(xiàn)Web 可視化。數(shù)據(jù)可視化效果如圖10 所示,右側(cè)為博途軟件監(jiān)控界面,左側(cè)為C#窗體界面,中間為Web 可視化界面。
圖10 數(shù)據(jù)可視化效果
本文根據(jù)智能制造企業(yè)對于工業(yè)信息安全的實際需求,以實驗室承擔的科技部國家重點研發(fā)計劃項目為背景,結(jié)合實驗教學工作,設(shè)計了一種基于工業(yè)信息安全的智能制造實驗平臺。該平臺促進了學生對工業(yè)信息安全的相關(guān)理論和方法的掌握,加強了學生對數(shù)據(jù)可視化在智能制造中作用的了解和應(yīng)用,增強了學生的創(chuàng)新思維,拓展了學生的專業(yè)視野,在我校智能制造場景化實驗室建設(shè)與電氣自動化類專業(yè)的教學實踐中取得了良好的效果。