專利名稱:嵌入式工業(yè)以太網(wǎng)安全網(wǎng)關(guān)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)、網(wǎng)絡(luò)安全技術(shù)和自動(dòng)控制技術(shù),具體是一種安全 網(wǎng)關(guān)。
技術(shù)背景隨著技術(shù)的發(fā)展,信息化推動(dòng)工業(yè)化進(jìn)程的加速,越來越多的計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)通信技術(shù)應(yīng)用于工業(yè)控制系統(tǒng),比如嵌入式技術(shù)、PCS、 ERP、 MES 等企業(yè)信息自動(dòng)化的應(yīng)用;企業(yè)信息網(wǎng)絡(luò)與Internet相連等。這些技術(shù)應(yīng)用的 同時(shí),隨之帶來了控制網(wǎng)路的安全和實(shí)時(shí)性問題,如何保障工業(yè)控制系統(tǒng)的 互連性、保密性、完整性、可用性和實(shí)時(shí)性則成了現(xiàn)代控制系統(tǒng)需要考慮的 一個(gè)重要問題。工業(yè)以太網(wǎng)EPA標(biāo)準(zhǔn)的推廣導(dǎo)致越來越多的EPA相關(guān)產(chǎn)品開始進(jìn)入實(shí)際 應(yīng)用領(lǐng)域,EPA作為一個(gè)開放系統(tǒng),其潛在的安全風(fēng)險(xiǎn)是不可避免的。由于 工業(yè)控制網(wǎng)絡(luò)對(duì)實(shí)時(shí)性、可靠性、準(zhǔn)確性的高要求,普通的安全網(wǎng)關(guān)均不能 滿足EPA網(wǎng)絡(luò)應(yīng)用的要求。工業(yè)以太網(wǎng)EPA網(wǎng)絡(luò)有其自身的特點(diǎn),如向IEEE注冊(cè)分配了特定值 (0x88BC)標(biāo)識(shí)EPA報(bào)文,在MAC層與網(wǎng)絡(luò)層之間定義了 EPA通信調(diào)度管 理實(shí)體,定義了應(yīng)用層服務(wù)與協(xié)議規(guī)范等。目前應(yīng)用于工業(yè)現(xiàn)場(chǎng)的安全網(wǎng)關(guān) 存在著不能很好的兼容EPA報(bào)文,對(duì)工業(yè)現(xiàn)場(chǎng)設(shè)備的各種安全烕脅不能提供 很好的安全保護(hù),不能提供整個(gè)EPA系統(tǒng)內(nèi)的時(shí)間同步,不能對(duì)接收的EPA 數(shù)據(jù)報(bào)文進(jìn)行確定性調(diào)度等問題。正是基于以上考慮,因此有必要開發(fā)針對(duì) EPA網(wǎng)絡(luò)的EPA安全網(wǎng)關(guān)。
發(fā)明內(nèi)容
本發(fā)明針對(duì)EPA工業(yè)控制網(wǎng)絡(luò)中通信轉(zhuǎn)發(fā)、網(wǎng)絡(luò)安全和實(shí)時(shí)性、可靠性的 要求,提出適用于EPA工業(yè)控制網(wǎng)絡(luò)的,采用模塊化結(jié)構(gòu)設(shè)計(jì)實(shí)現(xiàn)的EPA安全 網(wǎng)關(guān)。該EPA安全網(wǎng)關(guān)是連接EPA網(wǎng)絡(luò)中現(xiàn)場(chǎng)設(shè)備層和過程監(jiān)控層的設(shè)備,是 上下層網(wǎng)絡(luò)通信的唯一接口,起連接雙方、隔離現(xiàn)場(chǎng)設(shè)備層和外部網(wǎng)絡(luò)的作 用,對(duì)現(xiàn)場(chǎng)設(shè)備層實(shí)施邊界保護(hù),從而達(dá)到保證現(xiàn)場(chǎng)設(shè)備層網(wǎng)絡(luò)在一個(gè)開放 的環(huán)境中能夠安全地運(yùn)行的目的。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案是根據(jù)EPA工業(yè)控制網(wǎng)絡(luò)的特點(diǎn), 采用EPA報(bào)文轉(zhuǎn)發(fā)部分,EPA安全部分和EPA調(diào)度部分來實(shí)現(xiàn)EPA安全網(wǎng)關(guān)的 功能。
EPA報(bào)文轉(zhuǎn)發(fā)部分由EPA底層驅(qū)動(dòng)模塊、EPA橋接模塊和EPA路由模塊組 成,EPA底層驅(qū)動(dòng)模塊是CPU與網(wǎng)卡的軟件接口,實(shí)現(xiàn)了報(bào)文的發(fā)送與接收功 能,對(duì)上層屏蔽了底層硬件具體的實(shí)現(xiàn)細(xì)節(jié),為上層提供了應(yīng)用接口。
EPA 橋接模塊主要負(fù)責(zé)在兩個(gè)相同的微網(wǎng)段的設(shè)備之間互相通信的報(bào)文進(jìn)行轉(zhuǎn)發(fā) 與控制。EPA路由模塊主要負(fù)責(zé)在兩個(gè)不同的微網(wǎng)段或監(jiān)控級(jí)微網(wǎng)段和現(xiàn)場(chǎng)設(shè) 備級(jí)微網(wǎng)段的設(shè)備之間互相通信的報(bào)文進(jìn)行轉(zhuǎn)發(fā)與控制。
EPA安全部分由EPA防火墻處理模塊、EPA安全報(bào)文處理模塊和EPA設(shè)備 鑒別處理模塊組成。EPA防火墻處理模塊主要針對(duì)進(jìn)出的外部網(wǎng)絡(luò)報(bào)文進(jìn)行監(jiān) 控和處理;EPA安全報(bào)文處理模塊主要針對(duì)進(jìn)出的EPA安全報(bào)文進(jìn)行處理,從 而監(jiān)控現(xiàn)場(chǎng)設(shè)備的運(yùn)作。這種獨(dú)特的兩層保護(hù)可以有效地防止未授權(quán)用戶的 接入和訪問,阻止各種非法報(bào)文進(jìn)出EPA現(xiàn)場(chǎng)設(shè)備層,幫助保護(hù)現(xiàn)場(chǎng)設(shè)備層網(wǎng)
絡(luò)及終端現(xiàn)場(chǎng)設(shè)備。EPA設(shè)備鑒別處理模塊在EPA安全網(wǎng)關(guān)接入網(wǎng)絡(luò)時(shí)發(fā)送設(shè) 備鑒別服務(wù)報(bào)文,由上位機(jī)組態(tài)軟件完成鑒別過程,確保EPA安全設(shè)備接入 EPA網(wǎng)絡(luò)的合法性。EPA調(diào)度部分由EPA時(shí)間同步模塊和EPA確定性調(diào)度模塊組成。EPA時(shí)間 同步模塊用來實(shí)現(xiàn)EPA系統(tǒng)中EPA設(shè)備與時(shí)間服務(wù)器之間的時(shí)間同步;在EPA 系統(tǒng)時(shí)間同步的基礎(chǔ)上,EPA確定性調(diào)度模塊對(duì)EPA安全網(wǎng)關(guān)的數(shù)據(jù)報(bào)文進(jìn)行 確定性調(diào)度。本發(fā)明的有益效果,采用EPA報(bào)文轉(zhuǎn)發(fā)功能,EPA安全功能和EPA調(diào)度功 能三項(xiàng)核心技術(shù)的實(shí)現(xiàn),對(duì)EPA網(wǎng)絡(luò)提供可靠的報(bào)文轉(zhuǎn)發(fā),有效的邊界保護(hù), 精確的時(shí)間同步和數(shù)據(jù)報(bào)文的確定性調(diào)度,從而建立具有安全性、實(shí)時(shí)性、 高效性的工業(yè)控制網(wǎng)絡(luò)。
圖l EPA安全網(wǎng)關(guān)硬件系統(tǒng)結(jié)構(gòu)圖 圖2 EPA安全網(wǎng)關(guān)軟件功能模塊組成圖 圖3 EPA安全網(wǎng)關(guān)報(bào)文處理流程圖 圖4 EPA報(bào)文轉(zhuǎn)發(fā)功能模塊關(guān)系圖 圖5 EPA安全功能模塊關(guān)系圖 圖6 EPA安全報(bào)文處理流程圖具體實(shí)施方式
圖1為EPA安全網(wǎng)關(guān)硬件系統(tǒng)結(jié)構(gòu)圖。EPA安全網(wǎng)關(guān)的硬件部分主要由
三部分微處理器CPU模塊,以太網(wǎng)控制器部分,以太網(wǎng)供電模塊。其中, CPU模塊的主要功能是實(shí)現(xiàn)特定網(wǎng)絡(luò)接口功能及執(zhí)行相關(guān)控制信息;以太網(wǎng) 控制器模塊主要用來擔(dān)負(fù)以太網(wǎng)現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)信息傳輸;以太網(wǎng)供電模塊 通過網(wǎng)絡(luò)隔離器為設(shè)備供電,完成EPA安全網(wǎng)關(guān)的供電功能。以太網(wǎng)控制器 采用總線連接的方式,由CPU模塊提供不同片選信號(hào)實(shí)現(xiàn)不同的以太網(wǎng)控制器的選通,從而控制不同的網(wǎng)絡(luò)通道。EPA安全網(wǎng)關(guān)采用以太網(wǎng)供電,即供電系統(tǒng)和數(shù)據(jù)傳輸共用一根網(wǎng)線,以太網(wǎng)和局域網(wǎng)相連互通數(shù)據(jù)的同時(shí)輸送 電源。
圖2所示為EPA安全網(wǎng)關(guān)功能模塊組成示意圖,根據(jù)EPA工業(yè)控制網(wǎng)絡(luò)的 特點(diǎn),采用EPA報(bào)文轉(zhuǎn)發(fā)部分,EPA安全部分和EPA調(diào)度部分來實(shí)現(xiàn)EPA安全 網(wǎng)關(guān)報(bào)文轉(zhuǎn)發(fā)、安全、實(shí)時(shí)的功能,采用pC/OS-II操作系統(tǒng)模塊為EPA安全網(wǎng) 關(guān)中的多任務(wù)提供調(diào)度和通信的功能,采用TCP/IP模塊實(shí)現(xiàn)EPA安全網(wǎng)關(guān)中對(duì) TCP/IP報(bào)文進(jìn)行解析和發(fā)送的功能,采用EPA應(yīng)用層通信協(xié)議棧使得EPA安全 網(wǎng)關(guān)實(shí)現(xiàn)了EPA設(shè)備在EPA應(yīng)用層的功能。EPA報(bào)文轉(zhuǎn)發(fā)部分由EPA底層驅(qū)動(dòng) 模塊、EPA橋接模塊和EPA路由模塊組成,EPA底層驅(qū)動(dòng)模塊是CPU模塊與網(wǎng) 卡的軟件接口,實(shí)現(xiàn)了報(bào)文的發(fā)送與接收功能,對(duì)上層屏蔽了底層硬件具體 的實(shí)現(xiàn)細(xì)節(jié),為上層提供了應(yīng)用接口; EPA橋接模塊主要負(fù)責(zé)在兩個(gè)相同的微 網(wǎng)段的設(shè)備之間互相通信的報(bào)文進(jìn)行轉(zhuǎn)發(fā)與控制;EPA路由模塊主要負(fù)責(zé)在兩 個(gè)不同的微網(wǎng)段或監(jiān)控級(jí)微網(wǎng)段和現(xiàn)場(chǎng)設(shè)備級(jí)微網(wǎng)段的設(shè)備之間互相通信的 報(bào)文進(jìn)行轉(zhuǎn)發(fā)與控制。
EPA安全部分由EPA防火墻處理模塊、EPA安全報(bào)文處理模塊和EPA設(shè)備 鑒別處理模塊組成,通過EPA防火墻處理模塊、EPA安全報(bào)文處理模塊對(duì)EPA網(wǎng)絡(luò)現(xiàn)場(chǎng)設(shè)備層的安全采取獨(dú)特的兩層保護(hù),可以有效地防止未授權(quán)用戶的接入和訪問,阻止各種非法報(bào)文進(jìn)出EPA現(xiàn)場(chǎng)設(shè)備層,幫助保護(hù)現(xiàn)場(chǎng)設(shè)備層網(wǎng) 絡(luò)及終端現(xiàn)場(chǎng)設(shè)備。EPA防火墻處理模塊主要針對(duì)進(jìn)出EPA網(wǎng)絡(luò)的外部網(wǎng)絡(luò)報(bào) 文進(jìn)行監(jiān)控和處理;EPA安全報(bào)文處理模塊主要針對(duì)進(jìn)出EPA網(wǎng)絡(luò)的EPA報(bào)文 進(jìn)行安全處理,對(duì)EPA報(bào)文進(jìn)行解密、校驗(yàn)和訪問授權(quán)處理,從而監(jiān)控現(xiàn)場(chǎng)設(shè) 備的運(yùn)作。EPA設(shè)備鑒別處理模塊在EPA安全網(wǎng)關(guān)接入網(wǎng)絡(luò)時(shí)發(fā)送設(shè)備鑒別服 務(wù)報(bào)文,由上位機(jī)組態(tài)軟件完成鑒別過程,確保EPA安全設(shè)備接入EPA網(wǎng)絡(luò)的 合法性。EPA調(diào)度部分由EPA時(shí)間同步模塊和EPA確定性調(diào)度模塊組成。EPA時(shí)間 同步模塊用來實(shí)現(xiàn)EPA系統(tǒng)中EPA設(shè)備與時(shí)間服務(wù)器之間的時(shí)間同步;在EPA 系統(tǒng)時(shí)間同步的基礎(chǔ)上,EPA確定性調(diào)度模塊對(duì)EPA安全網(wǎng)關(guān)的數(shù)據(jù)報(bào)文進(jìn)行 確定性調(diào)度。其中EPA時(shí)間同步模塊使用IEEE 1588協(xié)議來實(shí)現(xiàn)時(shí)間同步,通過最佳 主時(shí)鐘算法,選擇出整個(gè)系統(tǒng)中的最優(yōu)時(shí)鐘為最高級(jí)時(shí)鐘GMC (Grandmaster Clock)作為整個(gè)系統(tǒng)的時(shí)鐘源,EPA安全網(wǎng)關(guān)作為邊界時(shí)鐘,從而確??缇W(wǎng) 段系統(tǒng)的時(shí)間同步。在EPA安全網(wǎng)關(guān)的一個(gè)網(wǎng)段內(nèi),主時(shí)鐘依據(jù)EPA管理信 息庫中對(duì)時(shí)間對(duì)象定義的時(shí)間間隔,周期性的發(fā)出同步信息,連接在這個(gè)網(wǎng) 段內(nèi)的EPA安全網(wǎng)關(guān)的一個(gè)端口作為從時(shí)鐘,依據(jù)EPA管理信息庫中對(duì)時(shí)間 同步對(duì)象定義的時(shí)間精度屬性,通過將其與計(jì)算所得的時(shí)間偏差進(jìn)行比較從 而決定是否需要修改本地系統(tǒng)時(shí)間。這樣,主時(shí)鐘通過周期性地發(fā)出時(shí)間同 步消息,從時(shí)鐘通過不斷地根據(jù)時(shí)間偏差修改本地系統(tǒng)時(shí)間,便實(shí)現(xiàn)了在這 個(gè)網(wǎng)段內(nèi)基于正EE 1588的EPA系統(tǒng)的時(shí)間同步機(jī)制。同時(shí),EPA安全網(wǎng)關(guān)
作為邊界時(shí)鐘,其余的端口作為主時(shí)鐘,依據(jù)同樣的方式,通過交換同步報(bào) 文,實(shí)現(xiàn)其余端口內(nèi)的時(shí)間同步,從而實(shí)現(xiàn)整個(gè)系統(tǒng)內(nèi)的時(shí)間同步。EPA確定性調(diào)度是在系統(tǒng)時(shí)間同步的基礎(chǔ)上實(shí)現(xiàn)的,通過將完成一個(gè)通 信周期所需要的通信宏周期劃分為周期報(bào)文傳輸階段和非周期報(bào)文傳輸階 段,確保了網(wǎng)絡(luò)上報(bào)文傳輸?shù)膶?shí)時(shí)性。在EPA安全網(wǎng)關(guān)的一個(gè)EPA微網(wǎng)段內(nèi), 所有EPA設(shè)備間的通信均按周期進(jìn)行,完成一個(gè)通信周期所需的一個(gè)通信宏 周期分為兩個(gè)階段,其中第一個(gè)階段為周期報(bào)文傳輸階段,這個(gè)階段,每個(gè) EPA設(shè)備按照各自的時(shí)間分別向網(wǎng)絡(luò)上發(fā)送包含周期數(shù)據(jù)的報(bào)文,如需按控 制回路的控制周期傳輸?shù)臏y(cè)量值、控制值,或功能塊輸入、輸出之間需要按 周期更新的數(shù)據(jù)。周期報(bào)文的發(fā)送優(yōu)先級(jí)是最高的。第二個(gè)階段為非周期報(bào) 文傳輸階段。這個(gè)階段,每個(gè)EPA設(shè)備按照各自的時(shí)間分別向網(wǎng)絡(luò)上發(fā)送包 含非周期數(shù)據(jù)的報(bào)文,如程序的上下載、變量讀寫、事件通知等數(shù)據(jù),以及 諸如HTTP、 FTP等應(yīng)用數(shù)據(jù)。非周期報(bào)文按其優(yōu)先級(jí)高低、IP地址大小及時(shí) 間有效方式進(jìn)行發(fā)送。TCP/IP模塊負(fù)責(zé)對(duì)接收到的數(shù)據(jù)報(bào)文的應(yīng)答,并遞交給相應(yīng)的模塊作進(jìn) 一步處理。當(dāng)數(shù)據(jù)報(bào)文進(jìn)入TCP/IP模塊處理流程時(shí),首先會(huì)對(duì)數(shù)據(jù)報(bào)文IP 地址進(jìn)行分析和處理如果數(shù)據(jù)報(bào)文是發(fā)送給EPA安全網(wǎng)關(guān),則接著對(duì)接收 到的端口號(hào)進(jìn)行處理,根據(jù)不同的端口號(hào),進(jìn)入相應(yīng)的處理流程,否則丟棄 這個(gè)數(shù)據(jù)報(bào)文。如果數(shù)據(jù)報(bào)文不是發(fā)送給EPA安全網(wǎng)關(guān),則進(jìn)一步對(duì)數(shù)據(jù)報(bào) 文的目的IP和源IP地址進(jìn)行解析,如果目的IP和源IP地址不在同一個(gè)網(wǎng)段, 則將該報(bào)文發(fā)送到EPA報(bào)文轉(zhuǎn)發(fā)模塊中的EPA路由模塊進(jìn)行處理,在EPA路 由模塊中將根據(jù)路由表或者默認(rèn)路由信息來轉(zhuǎn)發(fā)這個(gè)報(bào)文;如果是同一個(gè)網(wǎng)
段,則采用EPA報(bào)文轉(zhuǎn)發(fā)模塊中的EPA橋接模塊對(duì)這個(gè)數(shù)據(jù)報(bào)文進(jìn)行處理。
pC/OS-II操作系統(tǒng)模塊是構(gòu)建軟件系統(tǒng)的基礎(chǔ),處于系統(tǒng)結(jié)構(gòu)的最底層, 提供任務(wù)調(diào)度與任務(wù)間通信的服務(wù),EPA安全網(wǎng)關(guān)通過uC/OS-II操作系統(tǒng)模 塊實(shí)現(xiàn)了多任務(wù)方式。uC/OS-II操作系統(tǒng)模塊采用了嵌入式系統(tǒng)中廣泛采用的實(shí)時(shí)操作系統(tǒng)pc/os-n,它資源耗費(fèi)小、實(shí)時(shí)性能突出,非常適合作為實(shí)時(shí)嵌入式操作系統(tǒng)。它所提供的任務(wù)調(diào)度機(jī)制可以提高EPA安全網(wǎng)關(guān)的運(yùn)行 效率,從而EPA安全網(wǎng)關(guān)的實(shí)時(shí)性得到提升。pC/OS-II操作系統(tǒng)模塊按照優(yōu) 先級(jí)的不同來對(duì)對(duì)不同的系統(tǒng)任務(wù)進(jìn)行調(diào)度,使時(shí)間緊迫性要求較低的任務(wù) 讓位于時(shí)間緊迫性要求高的任務(wù),同時(shí)避免無謂的查詢尚未就緒的任務(wù)狀態(tài), 從而保證高優(yōu)先級(jí)任務(wù)的實(shí)時(shí)性并且提高EPA安全網(wǎng)關(guān)的運(yùn)行效率。
EPA應(yīng)用層通信協(xié)議棧使得用戶能夠通過終端的應(yīng)用程序與作為EPA設(shè) 備的EPA安全網(wǎng)關(guān)建立連接,實(shí)現(xiàn)數(shù)據(jù)通信。EPA應(yīng)用層通信協(xié)議由EPA系 統(tǒng)管理實(shí)體、EPA應(yīng)用訪問實(shí)體、EPA套接字映射實(shí)體組成,其中EPA系統(tǒng) 管理實(shí)體支持設(shè)備識(shí)別、地址分配、對(duì)象定位、時(shí)間同步、EPA鏈路管理等 功能;提供EPA設(shè)備査詢、EPA設(shè)備查詢應(yīng)答、EPA設(shè)備屬性査詢、EPA設(shè) 備聲明、EPA設(shè)備屬性設(shè)置以及EPA設(shè)備屬性清除服務(wù)。EPA應(yīng)用訪問實(shí)體 是為用戶應(yīng)用進(jìn)程間的數(shù)據(jù)通信提供的接口,它由域管理、變量讀寫和事件 管理組成其中域管理包括域下載和域上載服務(wù),變量讀寫包括變量讀、變 量寫和信息分發(fā)服務(wù),時(shí)間管理包括事件通知、事件確認(rèn)和改變事件條件服 務(wù)。EPA套接字映射實(shí)體則為EPA應(yīng)用訪問實(shí)體、系統(tǒng)管理實(shí)體與TCP/IP 模塊的接口。
圖3所示為EPA安全網(wǎng)關(guān)報(bào)文處理流程圖,其具體處理過程如下所述當(dāng) EPA安全網(wǎng)關(guān)接收到網(wǎng)絡(luò)中的數(shù)據(jù)報(bào)文時(shí),EPA底層驅(qū)動(dòng)模塊將該報(bào)文傳遞給 EPA確定性調(diào)度模塊,如果為報(bào)文結(jié)束聲明,則按照確定性調(diào)度規(guī)則將緩存在 EPA安全網(wǎng)關(guān)中的數(shù)據(jù)報(bào)文,發(fā)送給EPA底層驅(qū)動(dòng)模塊,進(jìn)行報(bào)文轉(zhuǎn)發(fā),如果 不是,則依據(jù)報(bào)文的特征,向上傳遞給EPA防火墻處理模塊,根據(jù)報(bào)文的傳輸 方向,對(duì)報(bào)文進(jìn)行包過濾和地址轉(zhuǎn)換處理。如果報(bào)文沒有通過防火墻處理, 則釋放報(bào)文,否則下一步判斷是否為EPA安全報(bào)文。如果是EPA安全報(bào)文,則 交由EPA安全報(bào)文處理模塊進(jìn)行處理,否則,直接交由TCP/IP模塊。EPA安全 報(bào)文處理模塊對(duì)EPA報(bào)文進(jìn)行解密、校驗(yàn)和訪問授權(quán)處理,如校驗(yàn)和訪問授權(quán) 都通過,則把報(bào)文交由TCP/IP模塊,否則釋放報(bào)文。TCP/IP模塊判斷報(bào)文傳 輸方向,如為本機(jī)報(bào)文,根據(jù)端口號(hào)來判斷數(shù)據(jù)報(bào)文類型是否為時(shí)間同步協(xié) 議報(bào)文、設(shè)備鑒別報(bào)文或EPA通信協(xié)議報(bào)文,如果是,則交由EPA時(shí)間同步模 塊,由其中的EPA通信協(xié)議棧處理,之后,判斷目的IP和源IP;如果TCP/IP處 理模塊判斷報(bào)文為非本機(jī)報(bào)文,則根據(jù)報(bào)文的目的IP和源IP,選擇EPA路由模 塊或EPA橋接模塊處理,并傳遞給EPA確定性調(diào)度模塊,按照調(diào)度規(guī)則,將數(shù) 據(jù)報(bào)文傳遞給EPA底層驅(qū)動(dòng)模塊,轉(zhuǎn)發(fā)報(bào)文。圖4為EPA報(bào)文轉(zhuǎn)發(fā)功能模塊關(guān)系圖。下面結(jié)合每個(gè)部分中各模塊的功能 和實(shí)施方式作具體說明,EPA報(bào)文轉(zhuǎn)發(fā)功能模塊由EPA底層驅(qū)動(dòng)模塊、EPA橋 接模塊和EPA路由模塊組成。EPA底層驅(qū)動(dòng)模塊對(duì)報(bào)文進(jìn)行接收或者發(fā)送;EPA 橋接模塊和EPA路由模塊選擇報(bào)文轉(zhuǎn)發(fā)的路徑。下面對(duì)各個(gè)模塊做具體說明EPA底層驅(qū)動(dòng)模塊包括BSP(板級(jí)支持包)模塊、定時(shí)器驅(qū)動(dòng)模塊和網(wǎng)卡驅(qū) 動(dòng)模塊組成。BSP模塊主要作用是針對(duì)目標(biāo)板的設(shè)計(jì),實(shí)現(xiàn)了對(duì)操作系統(tǒng)的支 持,使之能夠更好的運(yùn)行于硬件之上;定時(shí)器驅(qū)動(dòng)模塊為實(shí)現(xiàn)一般報(bào)文的重 發(fā),路由報(bào)文的定時(shí)重發(fā)以及EPA報(bào)文的調(diào)度和時(shí)間同步等系統(tǒng)所需要的定時(shí) 提供了準(zhǔn)確的時(shí)間;網(wǎng)卡驅(qū)動(dòng)模塊實(shí)現(xiàn)了CPU與網(wǎng)卡的軟件接口,實(shí)現(xiàn)了報(bào) 文的發(fā)送與接收功能,對(duì)上層屏蔽了底層硬件具體的實(shí)現(xiàn)細(xì)節(jié),為上層提供 了應(yīng)用接口。 EPA安全網(wǎng)關(guān)上電后,BSP模塊負(fù)責(zé)上電時(shí)的硬件初始化、啟動(dòng) 嵌入式操作系統(tǒng)或應(yīng)用程序模塊、提供底層硬件驅(qū)動(dòng),為上層軟件提供訪問 底層硬件的手段。定時(shí)器驅(qū)動(dòng)模塊實(shí)現(xiàn)定時(shí)器的分配,定時(shí)器的初始化,定 時(shí)器時(shí)間的插入,定時(shí)器時(shí)間的刪除。網(wǎng)卡驅(qū)動(dòng)模塊實(shí)現(xiàn)網(wǎng)卡的初始化、中 斷處理、報(bào)文的接收和發(fā)送以及監(jiān)測(cè)和處理網(wǎng)卡出現(xiàn)的異常。EPA安全網(wǎng)關(guān)在 EPA網(wǎng)絡(luò)中,主要運(yùn)用于連接現(xiàn)場(chǎng)設(shè)備層和過程監(jiān)控層的以太網(wǎng)段,針對(duì)連接 的端口網(wǎng)段相同與否,采取橋接或路由的方式對(duì)數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā),若EPA 安全網(wǎng)關(guān)兩端連接的是不同的IP網(wǎng)段,則根據(jù)路由模塊中的路由表來轉(zhuǎn)發(fā);如 果兩端連接的是同一個(gè)IP網(wǎng)段的設(shè)備,則根據(jù)橋接模塊中的MAC地址學(xué)習(xí)庫 采用路由的方式來轉(zhuǎn)發(fā)。采用橋接模塊針對(duì)的是同一個(gè)IP網(wǎng)段,它提供了除路 由轉(zhuǎn)發(fā)外的另一種轉(zhuǎn)發(fā)機(jī)制,滿足了工業(yè)現(xiàn)場(chǎng)的靈活組網(wǎng)的需求。而且橋接 轉(zhuǎn)發(fā)的速率快,延遲非常小,占用的網(wǎng)絡(luò)資源小。EPA橋接模塊包括MAC地址學(xué)習(xí)庫模塊、橋接轉(zhuǎn)發(fā)模塊和生成樹模塊。 MAC地址學(xué)習(xí)庫模塊中記錄的是MAC地址與所屬端口一一對(duì)應(yīng)關(guān)系;橋接 轉(zhuǎn)發(fā)模塊查詢MAC地址學(xué)習(xí)庫并選擇數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)的路徑;生成樹模塊通過 發(fā)送包含根節(jié)點(diǎn)的數(shù)據(jù)報(bào)文,避免網(wǎng)絡(luò)中廣播風(fēng)暴的發(fā)生。設(shè)置EPA安全網(wǎng) 關(guān)的兩個(gè)網(wǎng)絡(luò)接口為混雜模式,它將接收與之連接的網(wǎng)絡(luò)上的每一個(gè)數(shù)據(jù)包。 當(dāng)數(shù)據(jù)包到達(dá)EPA安全網(wǎng)關(guān)其中一個(gè)端口時(shí),橋接模塊會(huì)對(duì)此數(shù)據(jù)包的目的
MAC地址進(jìn)行解析,然后對(duì)比自己端口和另一個(gè)端口的MAC地址學(xué)習(xí)庫, 如果在兩個(gè)端口的MAC地址學(xué)習(xí)庫中都沒有找到此目的MAC地址,則同時(shí) 在兩個(gè)網(wǎng)段上廣播,同時(shí)將源MAC地址和該物理端口記錄在MAC地址學(xué)習(xí) 庫中。經(jīng)過多次這樣的學(xué)習(xí)和記錄,EPA安全網(wǎng)關(guān)就會(huì)將兩個(gè)端口所連接的 所有MAC地址記錄下來了 ,從而建立起一個(gè)MAC地址學(xué)習(xí)庫。如果在MAC 地址學(xué)習(xí)庫中找到此MAC地址,則判斷庫中端口是否與接收的端口相同,若 相同,則證明擁有目的MAC的設(shè)備與源MAC在同一個(gè)物理網(wǎng)段,則丟棄此 數(shù)據(jù)包;如果不同,則得出具有該地址的設(shè)備在另一個(gè)物理網(wǎng)段上,此時(shí)允 許此數(shù)據(jù)包通過EPA安全網(wǎng)關(guān),通過另一個(gè)端口發(fā)送出去。生成樹模塊通過EPA安全網(wǎng)關(guān)相互通信,并用一棵到達(dá)每個(gè)LAN的生成 樹覆蓋實(shí)際的拓?fù)浣Y(jié)構(gòu),有效地防止網(wǎng)絡(luò)中回路的出現(xiàn),避免了由于幀的無 限循環(huán)和重復(fù)接收所導(dǎo)致的網(wǎng)絡(luò)風(fēng)暴的發(fā)生。當(dāng)EPA安全網(wǎng)關(guān)上電后,首先 會(huì)配置EPA安全網(wǎng)關(guān)ID,端口 ID,端口相對(duì)優(yōu)先級(jí),各個(gè)端口的花費(fèi)。每 個(gè)EPA安全網(wǎng)關(guān)假定自己是根網(wǎng)關(guān),通過廣播數(shù)據(jù)報(bào)文發(fā)送它認(rèn)為的根網(wǎng)關(guān) ID。如果一個(gè)EPA安全網(wǎng)關(guān)收到一個(gè)根網(wǎng)關(guān)ID小于其所知ID的數(shù)據(jù)報(bào)文時(shí), 它將更新自己的表,如果該幀從根端口(上傳)到達(dá),則向所有指定端口(下傳) 分發(fā)。如果數(shù)據(jù)報(bào)文中根網(wǎng)關(guān)ID大于其所知ID,該信息被丟棄;如果該幀從 指定端口到達(dá),則回送一個(gè)幀告知真實(shí)根網(wǎng)關(guān)的較低ID。在EPA安全網(wǎng)關(guān)優(yōu) 先級(jí)都一樣的情況下,設(shè)置MAC地址最小的網(wǎng)關(guān)為根網(wǎng)關(guān),其余的端口設(shè)置 為指定端口,進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。接下來,其他網(wǎng)關(guān)將各自選擇一條最優(yōu)的樹枝 作為到根網(wǎng)關(guān)的路徑。按根到每個(gè)EPA安全網(wǎng)關(guān)的最短路徑來構(gòu)造生成樹。 如果某個(gè)EPA安全網(wǎng)關(guān)或LAN故障,則重新計(jì)算。 EPA路由模塊包括路由協(xié)議模塊和路由轉(zhuǎn)發(fā)模塊。路由協(xié)議模塊是根據(jù) 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化而動(dòng)態(tài)的維護(hù)一個(gè)本地的路由表;路由轉(zhuǎn)發(fā)模塊是根據(jù) 報(bào)文的目的IP地址和子網(wǎng)掩碼査找已有的本地路由表來轉(zhuǎn)發(fā)報(bào)文。路由協(xié)議 模塊采用選路信息協(xié)議RIP協(xié)議,它是基于距離向量的路由選擇,每一個(gè)EPA 安全網(wǎng)關(guān)周期性地與其鄰站共享有關(guān)整個(gè)網(wǎng)絡(luò)的知識(shí),從而使EPA安全網(wǎng)關(guān) 中的路由表的表項(xiàng)總是為最新。當(dāng)EPA安全網(wǎng)關(guān)有數(shù)據(jù)報(bào)文要發(fā)送的時(shí)候, 或EPA安全網(wǎng)關(guān)收到一個(gè)數(shù)據(jù)報(bào)文要發(fā)送時(shí),通過路由轉(zhuǎn)發(fā)模塊,査找路由 表,找出到達(dá)最終目的地的路由。EPA底層驅(qū)動(dòng)模塊接收到報(bào)文以后,交由EPA確定性調(diào)度模塊處理,如 果是非周期數(shù)據(jù)聲明或者是非周期數(shù)據(jù)發(fā)送結(jié)束聲明,則EPA確定性調(diào)度模 塊依據(jù)調(diào)度規(guī)則,對(duì)緩存在EPA安全網(wǎng)關(guān)中的數(shù)據(jù)報(bào)文進(jìn)行處理;否則進(jìn)入 EPA安全功能模塊。圖5為EPA安全功能模塊關(guān)系圖。針對(duì)網(wǎng)絡(luò)中的安全威脅,EPA安全網(wǎng) 關(guān)的安全功能模塊采用了 EPA防火墻處理模塊、EPA安全報(bào)文處理模塊、EPA 設(shè)備鑒別處理模塊。EPA防火墻處理模塊和EPA安全報(bào)文處理模塊過濾所有 通信業(yè)務(wù)——無論它們來自現(xiàn)場(chǎng)設(shè)備層還是外部,這種獨(dú)特的兩層保護(hù)可幫 助保護(hù)現(xiàn)場(chǎng)設(shè)備層網(wǎng)絡(luò)及終端現(xiàn)場(chǎng)設(shè)備,防止未授權(quán)的接入和損害。EPA設(shè) 備鑒別處理模塊用來保證只有合法的設(shè)備才能接入EPA網(wǎng)絡(luò)。EPA防火墻處 理模塊和EPA安全報(bào)文處理模塊采用中間層截包處理的模式,對(duì)網(wǎng)絡(luò)接口收 到報(bào)文,在中間層截取報(bào)文,獲取網(wǎng)絡(luò)層、傳輸層和應(yīng)用層報(bào)文信息,根據(jù) 處理結(jié)果,或者丟棄該報(bào)文,或者將處理后的報(bào)文通過送到IP協(xié)議,IP協(xié)議 及上層應(yīng)用層接收到報(bào)文進(jìn)行下一步處理。EPA安全網(wǎng)關(guān)上線時(shí),EPA設(shè)備
鑒別處理模塊在網(wǎng)絡(luò)中周期性的廣播發(fā)送設(shè)備鑒別服務(wù)報(bào)文,防止非法設(shè)備接入EPA網(wǎng)絡(luò),保障EPA安全網(wǎng)關(guān)接入網(wǎng)絡(luò)的合法性。EPA安全網(wǎng)關(guān)的EPA防火墻處理模塊包括包過濾模塊和NAT (網(wǎng)絡(luò)地址 轉(zhuǎn)換)模塊,它們能從不同方面有效地保護(hù)內(nèi)部網(wǎng)絡(luò)的安全。防火墻模塊基 于包過濾技術(shù)對(duì)整個(gè)網(wǎng)絡(luò)報(bào)文進(jìn)行處理,并且提供網(wǎng)絡(luò)地址轉(zhuǎn)換功能屏蔽現(xiàn) 場(chǎng)設(shè)備層內(nèi)部子網(wǎng)。作為一種保護(hù)裝置,EPA安全網(wǎng)關(guān)的防火墻作為外部網(wǎng) 與內(nèi)部網(wǎng)之間的一個(gè)中介系統(tǒng),豎起一道安全屏障,用來拒絕未經(jīng)授權(quán)的用 戶訪問,阻止未經(jīng)授權(quán)的用戶存取敏感數(shù)據(jù),同時(shí)允許合法用戶無障礙地使 用網(wǎng)絡(luò)資源,從而阻斷外部網(wǎng)絡(luò)對(duì)本地網(wǎng)絡(luò)的威脅和入侵,起到提供保護(hù)本 地內(nèi)部網(wǎng)絡(luò)中的數(shù)據(jù)和資源的作用。包過濾模塊首先在數(shù)據(jù)鏈路層完成網(wǎng)絡(luò)數(shù)據(jù)包的截取,然后對(duì)所有經(jīng)過 網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)包進(jìn)行安全檢查與控制。通過監(jiān)視并過濾網(wǎng)絡(luò)上輸入輸出的 IP包,拒絕發(fā)送那些可疑的包,可以在一定程度上防止欺騙攻擊,保護(hù)內(nèi)部 網(wǎng)絡(luò)的安全。EPA安全網(wǎng)關(guān)的包過濾防火墻過濾規(guī)則是基于可以提供給IP轉(zhuǎn) 發(fā)過程的包頭信息建立的,它涵蓋對(duì)所有出入防火墻的數(shù)據(jù)包的處理方法。 外部網(wǎng)絡(luò)訪問位于防火墻后的現(xiàn)場(chǎng)設(shè)備層設(shè)備時(shí),所有進(jìn)出的數(shù)據(jù)包都要經(jīng) 過防火墻的過濾后方可通過。這里遵循"未明確表示允許的服務(wù)便被禁止的" 策略。當(dāng)收到從數(shù)據(jù)鏈路層上來的包后,將根據(jù)包的源IP地址、目的IP地址、 TCP/UDP源和目的端口、協(xié)議標(biāo)志等信息與安全規(guī)則逐項(xiàng)匹配,如果滿足規(guī) 則,則接收數(shù)據(jù)包,否則丟棄。通過這些方法,可以過濾掉外部網(wǎng)絡(luò)與內(nèi)部 網(wǎng)絡(luò)之間的非法通信,從而保護(hù)了現(xiàn)場(chǎng)設(shè)備層網(wǎng)絡(luò)。EPA安全網(wǎng)關(guān)的NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)模塊用于實(shí)現(xiàn)網(wǎng)絡(luò)IP地址的轉(zhuǎn)換,
就是在內(nèi)部網(wǎng)絡(luò)的私有地址需要與外部網(wǎng)絡(luò)通信時(shí),利用1個(gè)或幾個(gè)IP地址來實(shí)現(xiàn)內(nèi)部網(wǎng)絡(luò)中的所有主機(jī)都可以訪問外部網(wǎng)絡(luò)。通過使用NAT,外部網(wǎng) 絡(luò)可以通過少數(shù)幾個(gè)甚至一個(gè)公網(wǎng)地址訪問EPA設(shè)備;同時(shí)它還起到了隱藏 內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)的作用,使"黑客"無法直接攻擊內(nèi)部網(wǎng)絡(luò),具有一定的安全性; 它還可以實(shí)現(xiàn)負(fù)載平衡,提升了網(wǎng)絡(luò)性能。本系統(tǒng)的NAT機(jī)制采用的是NAPT (網(wǎng)絡(luò)地址端口轉(zhuǎn)換)來實(shí)現(xiàn),使用 了偽裝處理模塊和去偽裝處理模塊對(duì)IP包進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,并通過不同的 端口來區(qū)分各個(gè)不同的內(nèi)部主機(jī)。當(dāng)NAPT模塊接收到IP報(bào)文時(shí),首先解析 報(bào)文源IP地址和目的IP地址,當(dāng)源IP地址為子網(wǎng)地址,目的地址為外網(wǎng)地 址時(shí),執(zhí)行偽裝處理;當(dāng)源IP地址為外網(wǎng)地址,目的地址為網(wǎng)關(guān)地址時(shí)執(zhí)行 去偽裝處理;其它情形不進(jìn)行NAPT處理。執(zhí)行地址偽裝處理時(shí),首先將檢 査地址映射表以確定某個(gè)連接的表項(xiàng)是否存在,如果存在,則用偽裝地址(網(wǎng) 關(guān)地址)、偽裝端口號(hào)分別替換包首部中的源地址、源端口號(hào);如果不存在, 則建立一個(gè)新的表項(xiàng),并使用它進(jìn)行偽裝。因?yàn)槭撞窟M(jìn)行了替換,所以需要 檢驗(yàn)和重新計(jì)算。執(zhí)行地址去偽裝處理時(shí),它將目的地址、目的端口號(hào)與地 址映射表的表項(xiàng)進(jìn)行匹配,如果不存在匹配表項(xiàng),則將包直接交于IP層處理; 如果存在,則將首部中的目的地址、目的端口號(hào)用地址映射表中記錄的指向 內(nèi)部網(wǎng)主機(jī)真實(shí)的目的地址、目的端口號(hào)替換。當(dāng)然,也需要重新計(jì)算檢驗(yàn) 和。NAPT處理完成后,判斷是否是EPA安全報(bào)文,如果不是,則直接提交 TCP/IP協(xié)議處理;否則進(jìn)入EPA安全報(bào)文處理模塊。EPA安全報(bào)文處理模塊包括EPA解密模塊、EPA報(bào)文校驗(yàn)?zāi)K和EPA訪 問控制模塊。EPA解密模塊用來對(duì)加密的EPA報(bào)文進(jìn)行解密處理,以便EPA
安全報(bào)文處理模塊進(jìn)行下一步處理;EPA報(bào)文校驗(yàn)?zāi)K實(shí)現(xiàn)對(duì)EPA報(bào)文進(jìn)行 校驗(yàn),檢査數(shù)據(jù)在傳輸過程中是否改變,防止使用遭受篡改和破壞的信息; EPA訪問控制模塊用來對(duì)發(fā)起的EPA服務(wù)訪問權(quán)限進(jìn)行判斷,阻止未授權(quán)的 用戶進(jìn)入EPA系統(tǒng)或授權(quán)用戶對(duì)系統(tǒng)資源的非法使用。圖6為EPA安全報(bào)文處理流程圖。由于EPA安全設(shè)備在構(gòu)造安全報(bào)文時(shí), 安全措施是可選的,所以,EPA安全網(wǎng)關(guān)在處理接收到的EPA安全報(bào)文的過程 中,解密處理、校驗(yàn)處理和訪問控制處理也是可選的。EPA安全網(wǎng)關(guān)接收到 EPA安全報(bào)文時(shí),首先解析EPA安全頭部,査詢安全標(biāo)識(shí)標(biāo)志位,如果該報(bào)文 為加密報(bào)文,首先需要進(jìn)行將加密的EPA報(bào)文提取出來,進(jìn)行解密處理,把密 文轉(zhuǎn)化為明文,而不對(duì)原文進(jìn)行任何改動(dòng)。然后對(duì)提取出的明文,判斷是否 為報(bào)文校驗(yàn),如果是,則交由報(bào)文校驗(yàn)處理,如果校驗(yàn)通過,接著判斷是否 為訪問控制,如果是,則交由訪問控制處理,當(dāng)訪問權(quán)限通過時(shí),轉(zhuǎn)發(fā)EPA 安全報(bào)文。否則丟棄報(bào)文。根據(jù)《用于工業(yè)測(cè)量與控制系統(tǒng)的EPA網(wǎng)絡(luò)安全規(guī)范》,從現(xiàn)場(chǎng)設(shè)備的 性能要求以及速度要求出發(fā),兼顧安全,EPA網(wǎng)關(guān)的報(bào)文解密模塊根據(jù)設(shè)備 所選擇的加密算法對(duì)所接收的EPA報(bào)文進(jìn)行解密,采用異或算法和AES算法,通過變換信息的表示形式來偽裝需要保護(hù)的敏感信息,使非授權(quán)用戶不能了 解被保護(hù)信息的內(nèi)容。其中,EPA密鑰的產(chǎn)生和管理由組態(tài)軟件完成,組態(tài) 軟件使用隨機(jī)數(shù)生成算法產(chǎn)生128字節(jié)長(zhǎng)的密鑰表、密鑰偏移以及密鑰長(zhǎng)度, 并且下載到EPA安全網(wǎng)關(guān)中。解密密鑰需要定時(shí)更新,更新密鑰時(shí)組態(tài)軟件 同時(shí)對(duì)密鑰表、密鑰偏移以及密鑰長(zhǎng)度進(jìn)行更新。EPA安全網(wǎng)關(guān)中EPA解密 模塊在本地管理信息庫中的密鑰表對(duì)象中取出密鑰,與從接收的EPA安全報(bào)
文頭部中獲取的時(shí)間戳運(yùn)算,得到解密密鑰,然后對(duì)報(bào)文進(jìn)行異或算法或AES 算法解密處理,解密后的報(bào)文取其原始長(zhǎng)度作為有效報(bào)文,并將數(shù)據(jù)交由EPA 報(bào)文校驗(yàn)?zāi)K處理。EPA安全報(bào)文處理模塊中報(bào)文校驗(yàn)?zāi)K的校驗(yàn)算法使用異或校驗(yàn)算法和 MD5 (信息-摘要算法5)報(bào)文摘要算法,通過比較接收方的校驗(yàn)碼與發(fā)送方 的校驗(yàn)碼是否一致來完成,保證EPA報(bào)文在網(wǎng)絡(luò)傳輸過程中的完整性和可用 性。其中,MD5報(bào)文摘要算法將對(duì)輸入的任意長(zhǎng)度的信息進(jìn)行計(jì)算,產(chǎn)生一 個(gè)128位長(zhǎng)度的"報(bào)文摘要",該算法不需要任何大型的置換列表,編碼簡(jiǎn)潔, 能在32位機(jī)器上能以很快的速度運(yùn)行,具有很好的安全性。EPA安全部分中EPA報(bào)文校驗(yàn)?zāi)K從本地管理信息庫中的密鑰表對(duì)象中 取出密鑰,從接收的EPA安全報(bào)文頭部中獲取的時(shí)間戳,對(duì)報(bào)文進(jìn)行異或校 驗(yàn)算法或MD5報(bào)文摘要算法運(yùn)算,計(jì)算出正確校驗(yàn)碼。通過比較接收到的校 驗(yàn)碼與計(jì)算得出的校驗(yàn)碼,可以判斷報(bào)文是否被篡改,從而決定轉(zhuǎn)發(fā)該數(shù)據(jù) 包還是丟棄該數(shù)據(jù)包。EPA訪問控制模塊的訪問控制機(jī)制基于訪問控制列表實(shí)現(xiàn),訪問控制機(jī) 制按照事先確定的規(guī)則決定主體對(duì)客體的訪問是否合法,對(duì)訪問的申請(qǐng),批 準(zhǔn)和撤銷的全過程進(jìn)行有效的控制,以確保只有合法用戶的合法訪問才能得 到批準(zhǔn),而且被批準(zhǔn)的訪問只能進(jìn)行授權(quán)的操作。EPA安全網(wǎng)關(guān)中都保存著 組態(tài)時(shí)設(shè)置的訪問控制列表。訪問控制列表項(xiàng)包含了發(fā)起訪問的遠(yuǎn)程設(shè)備IP 地址、功能塊ID、對(duì)象ID以及本地設(shè)備功能塊ID、對(duì)象ID、通信角色。通 過以上6個(gè)參數(shù),可以唯一的確定一對(duì)EPA通信關(guān)系。EPA安全網(wǎng)關(guān)中訪問控制模塊接收并取出EPA安全報(bào)文中的訪問控制信
息字段,然后在管理信息庫中查詢本地和遠(yuǎn)程的功能塊標(biāo)識(shí)以及變量對(duì)象索 引與訪問控制信息一致的且通信角色為接收方的訪問控制對(duì)象,若査詢失敗 則釋放報(bào)文,否則,繼續(xù)比較訪問控制對(duì)象中的訪問口令、訪問權(quán)限、訪問 組與訪問控制信息中的訪問口令、訪問權(quán)限、訪問組是否一致,如一致,則 允許該報(bào)文通過,完成規(guī)定權(quán)限的通信,否則,拒絕訪問請(qǐng)求并釋放報(bào)文。EPA設(shè)備鑒別處理模塊用于向系統(tǒng)聲明其身份,EPA安全網(wǎng)關(guān)的設(shè)備鑒 別處理,采取了以下三種措施1) 為了抵抗可能的攻擊者偽造或篡改合法EPA設(shè)備的設(shè)備標(biāo)識(shí)符和設(shè)備 安全序列號(hào),偽裝成合法設(shè)備進(jìn)入EPA網(wǎng)絡(luò),引入了單向散列函數(shù),把任意 長(zhǎng)度的字符串映射成一固定長(zhǎng)度的哈希值,在接收端可以通過驗(yàn)證該哈希值 來確定合法設(shè)備的設(shè)備標(biāo)識(shí)符和設(shè)備安全序列號(hào)是否被更改。2) 為了防止非法設(shè)備獲取合法設(shè)備發(fā)送的哈希值進(jìn)行重放攻擊,設(shè)備鑒 別安全機(jī)制引入了時(shí)間戳機(jī)制,利用本地系統(tǒng)時(shí)間參與哈希值的生成,使得 設(shè)備每次發(fā)送的哈希值都不同。使得攻擊者不可能通過重放某個(gè)消息來達(dá)到 冒充合法設(shè)備。3) 從處理速度和占用內(nèi)存空間兩方面來考慮,設(shè)備鑒別安全機(jī)制選擇了 MD5算法。設(shè)備上電時(shí)發(fā)送設(shè)備鑒別報(bào)文,首先使用MD5算法對(duì)固化在本 設(shè)備中的設(shè)備標(biāo)識(shí)符、設(shè)備安全序列號(hào)和獲取的本地時(shí)間戳所組成的字符串 進(jìn)行哈希函數(shù)的運(yùn)算。運(yùn)算得到的哈希值作為鑒別碼,與設(shè)備的設(shè)備標(biāo)識(shí)符 和本地時(shí)間戳等共同構(gòu)成設(shè)備鑒別報(bào)文,向EPA網(wǎng)絡(luò)廣播發(fā)送。網(wǎng)絡(luò)中組態(tài) 上位機(jī)收到設(shè)備鑒別服務(wù)報(bào)文時(shí),首先解析報(bào)文,根據(jù)報(bào)文中的設(shè)備標(biāo)識(shí)符 字段查找存儲(chǔ)在組態(tài)軟件中的設(shè)備描述文件,從其中讀取其合法的設(shè)備安全 序列號(hào),與接收的設(shè)備標(biāo)識(shí)符和時(shí)間戳共同組成字符串,采用MD5算法進(jìn)行 哈希運(yùn)算獲得正確鑒別碼。比較運(yùn)算得到的該設(shè)備正確鑒別碼和報(bào)文中接受 的鑒別碼。若從報(bào)文中獲取的鑒別碼與正確鑒別碼一致,則組態(tài)軟件發(fā)送設(shè) 備鑒別通過確認(rèn)報(bào)文,設(shè)置該設(shè)備鑒別狀態(tài)為已通過,并且寫入通過鑒別的 時(shí)間戳。否則,組態(tài)軟件把該設(shè)備標(biāo)識(shí)為非法設(shè)備。EPA安全網(wǎng)關(guān)上電后,會(huì)進(jìn)入Standby狀態(tài),EPA通信調(diào)度管理實(shí)體對(duì)所 有報(bào)文不做任何處理;當(dāng)EPA安全網(wǎng)關(guān)處于Ready狀態(tài)時(shí),EPA安全網(wǎng)關(guān)處于通信調(diào)度控制狀 態(tài),按照如下規(guī)則進(jìn)行操作-對(duì)來自DLS一User (數(shù)據(jù)鏈路服務(wù)用戶)的DLS_User DATA時(shí),先放入 緩存區(qū)進(jìn)行緩存;對(duì)來自DLE解析過的DLPDU時(shí),首先檢査其是否為非周 期數(shù)據(jù)聲明報(bào)文。如果是,則將其發(fā)送方的IP地址、非周期報(bào)文的發(fā)送優(yōu)先 級(jí)等參數(shù)存放在預(yù)先建立的非周期報(bào)文發(fā)送管理列表中,否則將其直接提交 給DLS一User。當(dāng)EPA安全網(wǎng)關(guān)的EPA通信調(diào)度管理實(shí)體檢測(cè)到發(fā)送周期報(bào)文的時(shí)間到 時(shí),EPA通信調(diào)度管理實(shí)體狀態(tài)改變?yōu)橹芷趫?bào)文發(fā)送狀態(tài)。這時(shí),首先檢查有 無優(yōu)先級(jí)為0的報(bào)文,如果沒有,則發(fā)送非周期數(shù)據(jù)聲明報(bào)文。否則,將需要 在此時(shí)發(fā)送的DLS—User DATA依次傳送給DLE,由DLE通過PhLE發(fā)送到網(wǎng)絡(luò) 上,然后EPA通信調(diào)度管理實(shí)體再將非周期數(shù)據(jù)聲明報(bào)文傳送給DLE,通過 PhLE發(fā)送到網(wǎng)絡(luò)上,并將其狀態(tài)改變?yōu)镽eady。當(dāng)EPA通信調(diào)度管理實(shí)體檢測(cè)到一個(gè)通信宏周期內(nèi)非周期報(bào)文傳輸開始 時(shí)間到時(shí),本地設(shè)備接收到遠(yuǎn)程設(shè)備發(fā)送的非周期數(shù)據(jù)發(fā)送結(jié)束聲明報(bào)文時(shí), EPA通信調(diào)度管理實(shí)體狀態(tài)改變?yōu)榉侵芷趫?bào)文發(fā)送狀態(tài)。這時(shí),按以下規(guī)程進(jìn) 行操作a) 檢查EPA安全網(wǎng)關(guān)有無非周期數(shù)據(jù)需要發(fā)送,若無,則進(jìn)入g);否則 進(jìn)入下一步;b) 檢查EPA安全網(wǎng)關(guān)本地非周期報(bào)文發(fā)送管理列表,比較本地與本網(wǎng)段 內(nèi)所有遠(yuǎn)程設(shè)備的非周期報(bào)文發(fā)送優(yōu)先級(jí)。如本地設(shè)備的非周期報(bào)文優(yōu)先級(jí) 低于所有遠(yuǎn)程設(shè)備,則進(jìn)入g);否則進(jìn)入下一步;c) 如EPA安全網(wǎng)關(guān)的非周期報(bào)文優(yōu)先級(jí)高于所有遠(yuǎn)程設(shè)備,且本次宏周 期內(nèi)剩余時(shí)間足夠該數(shù)據(jù)的完整發(fā)送,則通信調(diào)度管理實(shí)體將該非周期報(bào)文 傳送給DLE,由DLE發(fā)送到網(wǎng)絡(luò)上,轉(zhuǎn)入f);否則保留到下次發(fā)送,轉(zhuǎn)入g);d) 如本地與一個(gè)或多個(gè)遠(yuǎn)程設(shè)備的非周期報(bào)文發(fā)送優(yōu)先級(jí)相同,且為最 高時(shí),若本地設(shè)備的IP地址較大,則進(jìn)入g);否則進(jìn)入下一步;e) 如本次宏周期內(nèi)剩余時(shí)間足夠該數(shù)據(jù)的完整發(fā)送,則EPA通信調(diào)度管 理實(shí)體將該非周期報(bào)文傳送給DLE,由DLE發(fā)送到網(wǎng)絡(luò)上,轉(zhuǎn)入f);否則保留到下次發(fā)送,轉(zhuǎn)入g);f) 如果EPA安全網(wǎng)關(guān)還有未發(fā)送的非周期報(bào)文,則轉(zhuǎn)到b);g) 如EPA安全網(wǎng)關(guān)發(fā)送了至少一個(gè)非周期報(bào)文,通信調(diào)度管理實(shí)體向 DLE發(fā)送"非周期數(shù)據(jù)發(fā)送結(jié)束聲明"報(bào)文;h) 將本地通信調(diào)度管理實(shí)體的狀態(tài)改變?yōu)镽eady狀態(tài)。 以上只是本發(fā)明的優(yōu)選實(shí)施例說明,本發(fā)明的保護(hù)范圍基于本領(lǐng)域技術(shù)人員的理解結(jié)合權(quán)利要求進(jìn)行限定。
權(quán)利要求
1、一種嵌入式工業(yè)以太網(wǎng)EPA安全網(wǎng)關(guān),包括,EPA報(bào)文轉(zhuǎn)發(fā)部分、EPA安全部分和EPA調(diào)度部分,其特征在于,EPA報(bào)文轉(zhuǎn)發(fā)部分是CPU模塊與網(wǎng)卡的軟件接口,實(shí)現(xiàn)報(bào)文的發(fā)送與接收功能,負(fù)責(zé)在兩個(gè)微網(wǎng)段的設(shè)備之間通信的報(bào)文進(jìn)行轉(zhuǎn)發(fā)與控制;EPA安全部分采用兩層保護(hù),針對(duì)進(jìn)入EPA現(xiàn)場(chǎng)設(shè)備層的外部網(wǎng)絡(luò)報(bào)文和EPA安全報(bào)文進(jìn)行監(jiān)控和處理,阻止各種非法報(bào)文進(jìn)入EPA現(xiàn)場(chǎng)設(shè)備層;EPA調(diào)度部分實(shí)現(xiàn)EPA系統(tǒng)中EPA設(shè)備與根據(jù)最佳主時(shí)鐘算法在EPA系統(tǒng)中選擇出來的EPA系統(tǒng)主時(shí)鐘之間的時(shí)間同步,并對(duì)進(jìn)出EPA安全網(wǎng)關(guān)的數(shù)據(jù)報(bào)文進(jìn)行確定性調(diào)度。
2、 根據(jù)權(quán)利要求1所述工業(yè)以太網(wǎng)EPA安全網(wǎng)關(guān),其特征在于,EPA報(bào)文轉(zhuǎn) 發(fā)部分根據(jù)工業(yè)現(xiàn)場(chǎng)組網(wǎng)的需要,基于路由技術(shù)和橋接技術(shù)實(shí)現(xiàn)。
3、 根據(jù)權(quán)利要求1所述工業(yè)以太網(wǎng)EPA安全網(wǎng)關(guān),其特征在于,EPA報(bào)文轉(zhuǎn) 發(fā)部分中EPA橋接模塊負(fù)責(zé)在兩個(gè)相同的微網(wǎng)段之間對(duì)通信的報(bào)文進(jìn)行轉(zhuǎn)發(fā) 與控制,EPA路由模塊負(fù)責(zé)在兩個(gè)不同的微網(wǎng)段之間對(duì)通信的報(bào)文進(jìn)行轉(zhuǎn)發(fā) 與控制。
4、 根據(jù)權(quán)利要求1所述工業(yè)以太網(wǎng)EPA安全網(wǎng)關(guān),其特征在于,EPA調(diào)度部 分中時(shí)間同步模塊基于IEEE 1588協(xié)議實(shí)現(xiàn)時(shí)間同步;確定性調(diào)度模塊通過 將完成一個(gè)通信周期所需要的通信宏周期劃分為周期報(bào)文傳輸階段和非周期 報(bào)文傳輸階段,確保網(wǎng)絡(luò)上報(bào)文傳輸?shù)膶?shí)時(shí)性。
5、 根據(jù)權(quán)利要求1所述工業(yè)以太網(wǎng)EPA安全網(wǎng)關(guān),其特征在于,EPA安全部 分包括EPA解密模塊、EPA報(bào)文校驗(yàn)?zāi)K和EPA訪問控制模塊,EPA解密模 塊對(duì)加密的EPA報(bào)文進(jìn)行解密處理;EPA報(bào)文校驗(yàn)?zāi)K依據(jù)校驗(yàn)碼對(duì)EPA報(bào) 文進(jìn)行校驗(yàn);EPA訪問控制模塊對(duì)發(fā)起的EPA服務(wù)訪問權(quán)限進(jìn)行判斷,阻止 未授權(quán)用戶進(jìn)入EPA系統(tǒng)或授權(quán)用戶對(duì)系統(tǒng)資源的非法使用。
6、 根據(jù)權(quán)利要求1所述工業(yè)以太網(wǎng)EPA安全網(wǎng)關(guān),其特征在于,所述兩層保 護(hù)是EPA防火墻處理模塊對(duì)進(jìn)出的外部網(wǎng)絡(luò)報(bào)文進(jìn)行監(jiān)控和處理;EPA安全報(bào) 文處理模塊針對(duì)進(jìn)出的EPA安全報(bào)文進(jìn)行處理。
7、 根據(jù)權(quán)利要求2所述工業(yè)以太網(wǎng)EPA安全網(wǎng)關(guān),其特征在于,若EPA安全 網(wǎng)關(guān)兩端連接的是不同的IP網(wǎng)段,則根據(jù)路由表來轉(zhuǎn)發(fā)報(bào)文;如果EPA安全 網(wǎng)關(guān)兩端連接的是同一個(gè)IP網(wǎng)段,則根據(jù)MAC地址學(xué)習(xí)庫來轉(zhuǎn)發(fā)報(bào)文。
8、 根據(jù)權(quán)利要求5所述工業(yè)以太網(wǎng)EPA安全網(wǎng)關(guān),其特征在于,報(bào)文校驗(yàn)?zāi)?塊根據(jù)從本地管理信息庫中的密鑰表對(duì)象中取出密鑰,從接收的EPA報(bào)文頭 部中獲取時(shí)間戳,對(duì)報(bào)文進(jìn)行異或校驗(yàn)算法或MD5報(bào)文摘要算法計(jì)算校驗(yàn)碼。
全文摘要
本發(fā)明請(qǐng)求保護(hù)一種工業(yè)以太網(wǎng)安全網(wǎng)關(guān),涉及工業(yè)控制網(wǎng)絡(luò)安全技術(shù)。本發(fā)明在EPA安全網(wǎng)關(guān)中實(shí)現(xiàn)報(bào)文轉(zhuǎn)發(fā)功能,安全功能,以及調(diào)度功能,實(shí)現(xiàn)連接現(xiàn)場(chǎng)設(shè)備層和過程監(jiān)控層的邊界保護(hù)。本安全網(wǎng)關(guān)采用路由功能和橋接功能,實(shí)現(xiàn)同一網(wǎng)段和不同網(wǎng)段之間的報(bào)文轉(zhuǎn)發(fā),采用多重安全保護(hù),防止非法報(bào)文進(jìn)入現(xiàn)場(chǎng)設(shè)備層,防止對(duì)EPA設(shè)備的非法操作,防止對(duì)EPA報(bào)文的非法篡改和破壞,鑒別是否有非法外部設(shè)備接入。微網(wǎng)段內(nèi)數(shù)據(jù)報(bào)文的調(diào)度,保證整個(gè)系統(tǒng)內(nèi)基于主時(shí)鐘的時(shí)間同步;在某一時(shí)刻只允許一個(gè)設(shè)備發(fā)送數(shù)據(jù)報(bào)文,確保每個(gè)設(shè)備可以在確定的時(shí)間之內(nèi)把信息發(fā)送出來,從而保證EPA網(wǎng)絡(luò)的實(shí)時(shí)性。本發(fā)明適用于工業(yè)以太網(wǎng)的安全保護(hù)。
文檔編號(hào)H04L12/66GK101159718SQ20071009253
公開日2008年4月9日 申請(qǐng)日期2007年8月3日 優(yōu)先權(quán)日2007年8月3日
發(fā)明者敏 向, 平 王, 王發(fā)茂 申請(qǐng)人:重慶郵電大學(xué)