摘? 要: 現(xiàn)場總線的特點是開放,、互聯(lián)" title="互聯(lián)">互聯(lián),這是它優(yōu)于其它形式系統(tǒng)的根本原因,。但是這種開放互聯(lián)的性質(zhì)也給現(xiàn)場總線系統(tǒng)" title="總線系統(tǒng)">總線系統(tǒng)帶來了不安全因素,。討論了現(xiàn)場總線系統(tǒng)的通信安全問題,指出這一問題的重要性,提出了在設(shè)備層實現(xiàn)通信安全的方案,。根據(jù)現(xiàn)場總線技術(shù)的特點和發(fā)展現(xiàn)狀提出了模塊化的加密方案,并且對這一方案的適用性進行了分析,同時也探討了其對總線通信性能的影響,。
關(guān)鍵詞: 現(xiàn)場總線? 通信安全? 加密? 自動化系統(tǒng)" title="自動化系統(tǒng)">自動化系統(tǒng)? 設(shè)備層通信? 層式結(jié)構(gòu)
?
我國已經(jīng)提出了“以信息化推動工業(yè)化”的戰(zhàn)略,。在生產(chǎn)自動化系統(tǒng)中實現(xiàn)信息交換和共享并以此為基礎(chǔ)實施企業(yè)CIMS工程已成為人們的共識,這必將成為自動化系統(tǒng)未來發(fā)展的方向。現(xiàn)場總線在這一系統(tǒng)中扮演了重要的角色,它為底層的智能設(shè)備提供了開放的通信平臺,使之能夠?qū)崟r地進行數(shù)據(jù)交換,。而且便于自動化系統(tǒng)與企業(yè)局域網(wǎng)互聯(lián),從而實現(xiàn)任意時刻,、任意地點的控制,進而推進整個企業(yè)的自動化、信息化進程,。
1 問題的提出
圖1為某中藥生產(chǎn)廠的自動化系統(tǒng),。該系統(tǒng)實現(xiàn)了中藥生產(chǎn)中的配料工作的自動化,能夠提高生產(chǎn)效率,而且增加保密性,同時便于遠程管理。
?
?
在生產(chǎn)一線上采用基于現(xiàn)場總線的控制系統(tǒng),。當(dāng)中藥配料落入秤斗中時,Panther儀表就可以檢測出這個變化,經(jīng)過A/D轉(zhuǎn)換變成以數(shù)字表示的稱重數(shù)值,。通過RIO接口,PLC程序可直接讀取Panther的稱重數(shù)值,。智能儀表與控制器作為總線節(jié)點,依托總線進行相互通信,協(xié)調(diào)工作。
可以看到基于現(xiàn)場總線的這一系統(tǒng)結(jié)構(gòu)簡單,成本較低,可以有靈活的控制,可擴展性強,。而且能夠方便地與企業(yè)局域網(wǎng)進行通信,從而滿足遠程控制的要求,。
可是我們發(fā)現(xiàn),在現(xiàn)場總線一級的設(shè)備之間的通信是不安全的,如圖2中,監(jiān)聽者可以獲取信道中的數(shù)據(jù)。現(xiàn)場總線協(xié)議標(biāo)準(zhǔn)是公開的,這些數(shù)據(jù)很容易被解釋為有意義的信息,那么各個節(jié)點之間的通信就沒有任何保密性可言,。
?
?
現(xiàn)場總線數(shù)據(jù)交換中的這種不安全因素來自于協(xié)議本身?,F(xiàn)場總線采用類似局域網(wǎng)的廣播報文方式進行通信,那么上面的這種竊聽就可以獲取總線上通信的所有信息。對于一個中藥制藥廠來說,藥品的配方就是企業(yè)的生命,如果這些信息被竊取,后果將不堪設(shè)想,。
推而廣之,現(xiàn)代企業(yè)的許多關(guān)鍵技術(shù)都會在生產(chǎn)一線的儀器工作參數(shù)中體現(xiàn)出來,那么隨著企業(yè)的自動化,、信息化程度的提高,信息的不安全性也越來越高。企業(yè)的現(xiàn)代化進程是不可避免的,在這一過程中,必須對信息安全提出越來越高的要求,對于采用現(xiàn)場總線構(gòu)建的生產(chǎn)自動化系統(tǒng),應(yīng)該考慮總線網(wǎng)段的通信安全,。
2 解決方案
我們提出的是一種進行設(shè)備間通信加密的方案,來解決上面提出的問題,。
現(xiàn)場總線網(wǎng)段上設(shè)備的通信加密不同于目前通常的網(wǎng)絡(luò)通信加密,需要考慮實現(xiàn)加密的層次、實現(xiàn)方法以及對性能影響等諸多因素,。
2.1 實現(xiàn)安全的層次
加密層次的選擇是相當(dāng)關(guān)鍵的,。這不僅涉及到對系統(tǒng)性能的影響,也決定著方案是否具有可行性。加密與解密應(yīng)在同一層次進行,。如圖3所示,通常有幾種可能的選擇:
?
?
(1)在應(yīng)用層" title="應(yīng)用層">應(yīng)用層實現(xiàn),。這需要由用戶選擇加密算法進行編程,然后利用智能儀表和控制器的運算能力將數(shù)據(jù)轉(zhuǎn)化為密文,交給下層處理。同時,應(yīng)用層也要負(fù)責(zé)解密,。
在應(yīng)用層實現(xiàn)的最大問題是對性能的影響,。設(shè)備的運算能力是有限的,在設(shè)計運算能力的時候只是針對普通數(shù)據(jù)的處理而沒有考慮到實現(xiàn)較為復(fù)雜的算法(加密、解密),。所以,利用現(xiàn)有的協(xié)議和軟硬件去實現(xiàn)加密是不適宜的,。而且,應(yīng)用層的基本功能是控制與管理,把加密解密放到這個層次,會使其功能復(fù)雜化,不利于其管理控制任務(wù)的進行。
(2)集成于邏輯鏈路控制子層(LLC子層)或介質(zhì)訪問控制子層(MAC子層),。這兩種選擇都需要對現(xiàn)有的LLC或MAC層的協(xié)議進行改動,是相當(dāng)復(fù)雜的工作,。因為現(xiàn)場總線的協(xié)議還沒有完全標(biāo)準(zhǔn)化,各種協(xié)議在底層的實現(xiàn)不同,進行集成的工作會影響各類總線,而且這種改動既涉及到協(xié)議制定者,又影響到設(shè)備生產(chǎn)者,不會是一件容易的事情。這種方案也會使原有的LLC和MAC層的協(xié)議更加復(fù)雜,。
(3)在LLC與MAC之間插入一層獨立的加密棧,它對上(LLC子層)提供加密解密服務(wù),對下(MAC子層)調(diào)用數(shù)據(jù)傳送服務(wù),。這一加密棧功能單一,只涉及加密解密起始位置的判定和加密解密的具體實現(xiàn)。它避免了在其它層次集成加密解密功能時對原有協(xié)議功能的干擾與破壞,所以這是一種簡單有效的方案,。因此我們選擇本方案,。
下面我們分析一下嵌入加密棧后的數(shù)據(jù)流程,如圖4所示。
?
?
加密棧只對數(shù)據(jù)進行加密,而不改變標(biāo)識符和控制碼,。對MAC層而言,它不會察覺數(shù)據(jù)已被加密,只將密文作為通常的數(shù)據(jù)而與標(biāo)識符,、控制符一同分幀、校驗,交給物理層傳輸。在接收方的數(shù)據(jù)流動與之相反,加密棧此時行使解密功能,對上下層仍然是透明的,??梢?加密模塊的加入,并不影響其它層次的工作,它的這種透明對于保持現(xiàn)有的協(xié)議完整性相當(dāng)重要。
目前現(xiàn)場總線的層次結(jié)構(gòu)不是標(biāo)準(zhǔn)的OSI七層結(jié)構(gòu)[1],有很多層并沒有被實現(xiàn),所以選擇LLC以上的層次不具有通用性,。對于各類總線,MAC層是一定存在的,加密棧一定可以調(diào)用MAC層的數(shù)據(jù)傳輸服務(wù),。雖然不同的總線協(xié)議有所不同,但是加密棧的概念對所有類型的總線都是適用的,因此這種方案具有通用性。
對于我們剛才提出的系統(tǒng),要求每一節(jié)點實現(xiàn)加密通信,。這樣,即使是從總線上竊取了數(shù)據(jù),也無法得到有用的信息,于是通信安全得到了保障,。
2.2 方案的實現(xiàn)
我們選擇在LLC與MAC之間進行加密,具體的實現(xiàn)是利用硬件進行加密。硬件加密的優(yōu)點在于速度快,同時硬件的保密性更強,算法不容易被破解,當(dāng)然硬件應(yīng)當(dāng)能支持多種加密算法以便于用戶選擇,。
關(guān)于硬件加密的實現(xiàn),可以參閱文獻[2],。文獻[3]對[2]文的不足之處進行了補充,文獻[4]提出了構(gòu)造偽隨機數(shù)進行加密的方法。
3 更深入的問題
3.1 密鑰的分配
加密通信中,密鑰的分配與管理是相當(dāng)重要的環(huán)節(jié)?,F(xiàn)場總線系統(tǒng)是為單一用戶所擁有管理的,密鑰的分配管理較為容易。系統(tǒng)管理員可以采用多種策略,不過由于設(shè)備的運算能力有限,而且硬件具有良好的保密性,選取對稱的密鑰體系應(yīng)該是足夠了,即一段總線上采用同一密鑰,既用于加密也用于解密,所有的節(jié)點都用這把密鑰進行加密解密,。對稱密鑰系統(tǒng)有結(jié)構(gòu)簡單,、實現(xiàn)方便的優(yōu)點。但是系統(tǒng)應(yīng)當(dāng)定期更換密鑰,根據(jù)運行情況調(diào)整密鑰長度和算法,這樣可以保證密鑰的安全,。
3.2 性能分析
對于現(xiàn)場總線系統(tǒng)性能的要求主要是實時性,。毫無疑問,增加了數(shù)據(jù)加密解密環(huán)節(jié)會增加設(shè)備響應(yīng)時間,但是這種延遲是不是一定會影響工業(yè)所需的實時性呢?答案是未必,因為我們提出的方案是基于硬件加密的。硬件的運算速度可以滿足工業(yè)實時控制的需要,只要選擇適合系統(tǒng)需求的算法,方案的強健性與實時性都可以得到保障,。
加密過程中,不增加報文的長度,沒有額外的數(shù)據(jù)流量,就不會增加總線的負(fù)擔(dān),。
3.3 混合系統(tǒng)與系統(tǒng)互聯(lián)
混合系統(tǒng)指的是一個系統(tǒng)中既有需加密的節(jié)點又存在不加密的節(jié)點。例如一條總線上,關(guān)鍵設(shè)備通信時數(shù)據(jù)需要加密,而非關(guān)鍵設(shè)備數(shù)據(jù)不進行加密,于是信道上既有明文又有密文,這時就需要有一個預(yù)先的約定,使關(guān)鍵設(shè)備能識別所接收的數(shù)據(jù)是明文還是密文,并進行相應(yīng)處理,。對于明文則將解密棧屏蔽而把明文直接向上層傳送(這里體現(xiàn)出棧式加密結(jié)構(gòu)的優(yōu)點——功能獨立,、可以選擇實現(xiàn))。注意此時非關(guān)鍵設(shè)備不能接收關(guān)鍵設(shè)備數(shù)據(jù)(密文),。這實際上是一種分級的安全策略,需要在通信協(xié)議中規(guī)定標(biāo)識位指明這種優(yōu)先級別,。
混合系統(tǒng)的另一種情形是對不具有加密能力的設(shè)備也有通信加密需求,此時可通過提供硬件接口方式提供加密功能,這樣就能夠提供對原有系統(tǒng)的兼容,只要增加少量投資就可大大提高敏感區(qū)域的安全性?;诮涌诘陌踩ㄐ欧桨溉鐖D5所示,。
?
?
添加接口之后,總線網(wǎng)段上的數(shù)據(jù)便成為了密文。這樣,沒有加密功能的設(shè)備能利用接口進行密文通信,在混合系統(tǒng)中也能實現(xiàn)統(tǒng)一的加密通信,。采用添加接口的方法,成本會提高,時延也會有所增加,但對于需要保護原有投資而又有較強安全需求的用戶,卻是一種有效的解決方案,。
不同的現(xiàn)場總線網(wǎng)段之間,可以通過網(wǎng)橋相聯(lián),系統(tǒng)的結(jié)構(gòu)與圖5相似。網(wǎng)橋中需要有兩條總線的加密接口,之上才是協(xié)議的確認(rèn)與轉(zhuǎn)換過程,。由于加密是在LLC以下實現(xiàn)的,所以它不會影響到協(xié)議轉(zhuǎn)換,。
現(xiàn)場總線可以通過通信控制器" title="通信控制器">通信控制器與工廠內(nèi)部網(wǎng)相聯(lián),通信控制器作為一個以太網(wǎng)的節(jié)點接入以太網(wǎng),數(shù)據(jù)通過通信控制器時不做解密工作,直接按原密文傳送,上位機作為另一個節(jié)點與通信控制器進行密文通信,這就大大提高了以太網(wǎng)段上總線數(shù)據(jù)的安全性。與之相逆的過程中,上位機信息必須加密后才能進入以太網(wǎng)段,經(jīng)過通信控制器進入總線。這樣就能實現(xiàn)安全的遠程控制,。
現(xiàn)場總線系統(tǒng)的通信安全問題有其自身的特點,一個完整的解決方案不是短時間內(nèi)能夠提出并實現(xiàn)的,。雖然目前總線的信息安全問題還沒有得到廣泛的關(guān)注,但是,現(xiàn)場總線系統(tǒng)的開放互聯(lián)是未來發(fā)展的趨勢。所以,通信安全是企業(yè)現(xiàn)代化進程中不能不考慮的重要環(huán)節(jié),而只有從協(xié)議與實現(xiàn)兩個方面共同努力,才能得到盡可能好的解決方案,。
?
參考文獻
1 陽憲惠.現(xiàn)場總線技術(shù)及其應(yīng)用.北京:清華大學(xué)出版社,1999
2 王 茂,秦嘉川.單片機系統(tǒng)的加密技術(shù).計算工程與應(yīng)用,1997(11)
3 劉雪峰,李智誠.關(guān)于《單片機系統(tǒng)的加密技術(shù)》一文的討論. 計算機工程與應(yīng)用,1999(2)
4 張登福.偽隨機序列及PLD實現(xiàn)在程序和系統(tǒng)加密中的應(yīng)用.計算機應(yīng)用,2000(6)
5 Paul A.Lambert.Architectural Considerations for LAN?Security Protocols.Local Area Network Security,,Springer-Verlag 1989
6 L.Kirk Barker,George A.Evans.The Impact of Security?Service Selection for LANs. Local Area Network Security,Springer-Verlag 1989