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