0引言
隨著農網改造的進行,電力行業網絡建設的加快,電力信息化的積極開展,各級供電企業紛紛建立了信息系統和基于Internet的管理應用,以提高勞動生產率,提升管理水平,加強信息反饋,提高決策的科學性和準確性,增加企業的綜合競爭力。建立企業對外服務網站,可電費查詢、停電通告、銀行時時聯網交費、郵政劃撥、網上業擴報裝、VPN家庭辦公等新業務。在這些業務中,由于系統中攜帶了用戶賬號、交易密碼、交易內容等敏感信息,使得這些業務對于安全性的要求極高,需要對系統中的敏感
信息進行加密等處理,防止傳輸過程中被他人竊取、冒用和篡改。一旦受到破壞,就會損失巨大。但是基于TCP/IP傳輸機制的數據加密、硬件防火墻、軟件防火墻等方法并不是萬無一失的安全防護
[ 1 ]。在此,給廣大的電力信息管理人員推薦一種串口傳輸方式在電力
信息系統與不同網段隔離的安全機制。
1串口傳輸方式
串口傳輸方式隔離措施,是在不同的網絡之間,具體對電力系統來說,就是電力
信息系統與調度
自動化系統、圖像監控系統、企業外網的WEB服務器、銀行系統、郵政系統等網絡之間進行業務聯系,通過計算機串口連接,來傳輸業務數據,建立的網絡連接。
2串口傳輸方式的優越性
按照傳統的連接方式,就是采用TCP/IP協議,通過路由器、防火墻、雙網卡的網關,進行物理隔離。再由電力系統的服務器提供數據的查詢、處理等操作。不僅一次性投入資金大,維護不便,且易受到病毒、人為攻擊。特別是網絡一旦感染病毒,整個網絡便全部感染,涉及面積大,后果將不堪設想。尤其是現行的郵政劃撥批扣、銀行實時聯網收費等業務的實現,VPN家庭辦公網絡技術的應用,電力系統
信息管理的責任也隨之增大
[ 2 ]。
但是,在前置機與后臺機之間的串口通信可以有效地對外部公網和內部網絡,以及內部不同網絡之間進行隔離,采用串口通信協議保密性強,可以即連即放、發接數據校驗、數據加密、超時連接檢測等措施,保證了網絡連接的可靠性、安全性、實用性。而TCP/IP協議則保密性不強,數據包截獲、破解都較容易,且易受到攻擊。
3串口傳輸方式物理實現方法
3.1 串口連接網絡拓撲圖(如圖1):

圖1 串口連接網絡拓撲圖
串口服務器是一個可以讓RS-232/485/422串口設備具備聯網功能的服務器。支持RS-232/485/422通訊接口,內置式3X5cm模塊TTL電平,讓設備聯網更方更,成本更低,且內置終端電阻,能夠滿足所有工業串口設備的應用及傳輸。另外,可選擇串口電源輸入,由串口設備經由DB9針式接口,直接供應DC
電源,使串口服務器和串口設備完美地組合在一起。并且提供Windows 標準串口驅動程序,原有以串口通訊為基礎的應用軟件,如超級終端等,在Windows系列操作系統下,不需要作任何更改即可使用。
該通信系統從物理講上可以分成三部分:應用服務器、外網段的服務器和串口服務器。串口服務器的一端與局域網絡的交換機相連,另一端通過串口設備與不同網段的服務器相連,負責接收、轉發應用服務器與不同網段的服務器的信息。同時對所接受、轉發的
信息進行加密、解密,以及密鑰的更換、管理。
3.2串口具體接線方法
目前較為常用的串口有9針串口(DB9)和25針串口(DB25),通信距離較近時(<12m),可以用電纜線直接連接標準RS232端口(RS422,RS485),若距離較遠時,需附加調制解調器(MODEM)、長線驅動器,或者光纖傳輸轉換為RS232(RS422,RS485)接口。最為簡單常用的是三線制接法,即地、接收數據和發送數據三腳相連,本文只介紹一種基本的接法,直接用RS232相連。
3.2.1 DB9和DB25的常用信號腳說明
表1: DB9和DB25的常用信號腳對應表
|
9針串口(DB9) |
25針串口(DB25) |
|
針號 |
功能說明 |
縮寫 |
針號 |
功能說明 |
縮寫 |
|
1 |
數據載波檢測 |
DCD |
8 |
數據載波檢測 |
DCD |
|
2 |
接收數據 |
RXD |
3 |
接收數據 |
RXD |
|
3 |
發送數據 |
TXD |
2 |
發送數據 |
TXD |
|
4 |
數據終端準備 |
DTR |
20 |
數據終端準備 |
DTR |
|
5 |
信號地 |
GND |
7 |
信號地 |
GND |
|
6 |
數據設備準備好 |
DSR |
6 |
數據準備好 |
DSR |
|
7 |
請求發送 |
RTS |
4 |
請求發送 |
RTS |
|
8 |
清除發送 |
CTS |
5 |
清除發送 |
CTS |
|
9 |
振鈴指示 |
DELL |
22 |
振鈴指示 |
DELL |
3.2.2 RS232C串口通信接線方法
串口傳輸數據的接收腳與發送腳相連,彼些交叉,信號地對應相接,就能實現(見表2)[ 3 ]。即同一個串口的接收腳和發送腳直接用線相連,兩個串口相連或一個串口和多個串口相連。
表2:串口連接具體針對應表
|
9針-9針 |
25針-25針 |
9針-25針 |
|
2 |
3 |
3 |
2 |
2 |
2 |
|
3 |
2 |
2 |
3 |
3 |
3 |
|
5 |
5 |
7 |
7 |
5 |
7 |
3.2.3 串口調試中要注意的幾點:
● 不同編碼機制不能混接,如RS232C不能直接與RS422接口相連,必須通過轉換器才能連接;
● 線路焊接要牢固,雖程序正確,卻會因接線問題出故障;
● 串口調試時,準備一個實用的調試工具,如串口調試助手、串口精靈等,有事半功倍之效果;
● 不要帶電插撥串口,插撥時至少有一端是斷電的,否則串口易損壞;
● RS—232 接口的傳輸距離在12米左右,距離大時要增加長線驅動器;
● 傳輸電纜盡量采用屏蔽電纜。
4串口傳輸方式通信協議
4.1 串口屬性設置(推薦):
● 波特率:9600;
● 奇偶校驗位:無;
● 字節長度: 8;
● 停止位: 1;
● 串口: COM1。
4.2 軟件設置
4.2.1應用服務器與不同網段服務器之間的串口通信可以有效地隔離不同網段,串口通信協議需要保證可靠性,采取的措施:
●通信之前建立連接,通信結束釋放連接;
●計算發送數據的CRC校驗和、驗證接收數據的CRC校驗和;
●設置超時重傳機制,超時間隔、重傳次數可設定。
4.2.2每臺機器包括的兩個線程:
●從串口服務器方向接收的線程;
●向串口服務器方向發送的線程。
每臺機器的數據結構主要包括兩個隊列:(1)接收信息隊列,(2)發送
信息隊列。多個線程共享這兩個隊列,因此這兩個隊列是臨界資源,線程需要互斥地訪問它們。另外,這兩個隊列分別被一對相互合作的線程所使用,需要信號量機制來解決這個線程同步問題。
4.3串口傳輸協議約定
在程序中規定具體的交易碼、加密、解密、密鑰管理等方面的約定。下面就銀行與電力公司連網進行實時收費交易業務規定的交易碼,來說明問題(見表3)。
|
交易碼 |
內容 |
備 注 |
|
01 |
|
銀行提供交易碼、銀行代號、操作員代碼、流水號、戶號、電費月份 |
|
11 |
|
銀行提供交易碼、銀行代號、操作員代碼、流水號、戶號戶名,電費月份 |
|
21 |
|
銀行提供交易碼、銀行代號、操作員代碼、流水號、戶號、戶名,電費月份、總金額、發票號、收費日期 |
|
31 |
重打發票 |
銀行提供交易碼、銀行代號、操作員代碼、原流水號、戶號、發票號、收費日期(當天) |
|
51 |
對帳 |
銀行提供交易碼、銀行代號、對帳員、操作員代碼、流水號、收費日期 |
|
61 |
批量劃撥查詢 |
電業局提供交易碼、銀行代號、劃撥日期 |
|
71 |
批量劃撥更新 |
銀行提供交易碼、銀行代號、操作員代碼、流水號、戶號、電費月份、實收金額、收費日期 |
|
81 |
沖賬 |
銀行提供交易碼、銀行代號、操作員代碼、新流水號、老流水號、原收費日期(必須為當天) |
|
91 |
預交費用戶查詢 |
銀行提供交易碼、銀行代號、操作員代碼、流水號、戶號、戶名、收費日期 |
|
92 |
預交費用戶數據更新 |
銀行提供交易碼、銀行代號、操作員代碼、流水號、戶號、實收金額、收費日期 |
|
返回碼 |
內 容 |
備 注 |
|
00 |
查詢、更新成功 |
|
|
01 |
存儲過程失效 |
電力局方處理 |
|
02 |
提交失敗 |
更新失敗 |
|
03 |
查詢失敗 |
用戶資料錯誤 |
|
04 |
網絡故障1 |
網點到銀行前置機故障 |
|
05 |
網絡故障2 |
前置機之間無法通訊 |
|
08 |
|
查詢成功 |
|
09 |
非銀行作業范圍 |
|
|
10 |
用戶往月有欠費 |
|
|
11 |
欠費月份過多 |
|
|
12 |
|
備用 |
|
13 |
|
備用 |
|
14 |
錯誤流水號 |
沖帳或重打發票錯誤 |
|
15 |
電費未計算 |
|
|
16 |
用戶輸入金額錯誤 |
|
|
17 |
|
備用 |
|
18 |
銀行端數據錯誤 |
操作員為空 、輸入時間錯誤等等 |
|
19 |
沖帳錯誤 |
不是沖當天的帳 |
|
20 |
重打發票錯誤 |
不是重打當天的發票 |
|
21 |
用戶處于銀行劃撥狀態 |
|
|
22 |
居民戶電費未一次結清 |
不用 |
|
23 |
非主收費戶 |
|
|
24 |
用戶屬于別的銀行劃撥 |
|
|
25 |
重打發票超過3次 |
不用 |
|
99 |
登錄失敗 |
前置機無法登錄局服務器 |
只要嚴格按照事先約定的具體交易碼,系統就能“讀懂”傳輸信息,作出相應的處理。然后再對傳輸的信息進行加密,即是
信息被截獲,也不會很容易地被解密。
5 加密解密過程及密鑰管理
串口數據在傳輸過程中會受到外部的監聽,和“木馬程序”的截獲,可分析出具體的業務內容,存在不安全因素。在內網段的內部用戶不需要復雜的加密、解密過程,可以使用明碼傳輸,也可采用文本形式;但對外網段服務器的連接須采用具體的密碼報文傳輸。
5.1 加密解密過程
串口傳輸的數據業務信息需要進行加密處理,加密、解密過程可分為上行和下行兩部分,上行指的是從外網段服務器向電力公司應用服務器發送業務請求信息;下行指的是電力公司應用服務器向外網段服務器發送業務應答
信息。
上行:用戶終端(或業務合作方)通過計算機,輸入自己的業務請求,服務器中的程序將用戶的請求組織成信息報文,并對其中的敏感信息進行加密處理;密文信息通過串口發到串口服務器,串口服務器對密文進行傳輸解密,然后轉發給公司內不同網段的具體服務器;公司內不同網段的具體服務器對收到的密文
信息進行解密后,經過合法用戶確認,完成指定的業務。
下行:公司內不同網段的具體數據服務器將本次業務的運行結果組織成一個或多個信息報文,對其中的敏感信息進行加密處理,然后將這些信息發送給串口服務器;串口服務器再將密文信息經過傳輸加密下發到不同網段的具體服務器;不同網段的具體服務器對收到的
信息進行解密,完成具體的業務。
加密算法可以采用兩密鑰三重DES常規加密算法。三重DES算法是一種對稱加密算法,它要求加密和解密雙方必須擁有相同的密鑰。如果應用服務器和數據服務器保存相同的密鑰,那么密鑰管理的責任就不明確。開通外網業務的網絡可能會有多個,多個業務使用同一個密鑰不合適;所有的數據服務器使用同一個密鑰也不合適;同一個業務用戶的多次業務交易使用同一個密鑰更不合適。所以,電力
信息系統安全機制的關鍵在于密鑰的分配與管理。
5.2密鑰分配與管理
串口傳輸業務中的安全機制使用兩種密鑰,一種稱為傳輸密鑰,就是串口服務器與不同網段的具體服務器之間的信息傳遞時,采用的密鑰。由串口服務器生成和維護;另一種稱為交易密鑰,用于不同網段服務器之間數據傳遞
信息的加密和解密。又分為上行交易密鑰和下行交易密鑰,分別用于應用服務器到不同網段的具體服務器和不同網段的具體服務器到應用服務器報文的加密和解密。由內網的應用服務器管理
[ 4 ]。
在實際應用過程中,每種密鑰又可以分成兩級:主密鑰(一級密鑰)、二級密鑰。兩級密鑰之間的產生關系如下:
● 主傳輸密鑰(一級傳輸密鑰);
● 二級傳輸密鑰:由一級傳輸密鑰與不同網段的數據服務器的代碼分散產生;
● 主上行交易密鑰(一級上行業務密鑰);
● 二級上行交易密鑰:由一級上行交易密鑰與不同網段的數據服務器的代碼分散產生;
● 主下行交易密鑰(一級下行交易密鑰);
● 二級下行交易密鑰:由一級下行交易密鑰與不同網段的數據服務器的代碼分散產生。
以密鑰下載請求報文的加解密為例進行說明,其它報文的加解密過程類似。當不同網段的數據服務器向應用服務器請求業務連接時,同時構造一個密鑰下載請求報文,該報文需要使用傳輸密鑰進行加密。不同網段的數據服務器中保存著主傳輸密鑰,主傳輸密鑰與用戶輸入的不同網段的數據服務器代碼進行分散產生二級傳輸密鑰。二級傳輸密鑰與串口服務器進行分散產生傳輸密鑰。傳輸密鑰隨機分散產生過程密鑰。最后,使用該過程密鑰對密鑰下載請求報文進行加密。
應用服務器收到密鑰下載請求報文之后,使用自己保存的二級傳輸密鑰,與報文頭中明文進行分散產生傳輸密鑰。傳輸密鑰與報文頭中明文的隨機數字段進行分散產生過程密鑰。最后,使用該過程密鑰對密鑰下載請求報文的密文內容進行解密得到明文內容。
5.3 交易密鑰的版本更新管理
應用服務器控制上下行交易密鑰的生成和管理,為了安全起見,應用服務器需要定期或不定期地對交易密鑰進行版本更新。不同網段的數據服務器針對上下行交易密鑰分別維護著一個配置文件,不同網段的數據服務器啟動時讀取這兩個配置文件以獲得最新的交易密鑰和版本號。電力
信息管理人員可以手工地或者通過密鑰生成系統自動產生新版本的上下行交易密鑰,添加到配置文件中;然后,應用服務器通過選擇相應的菜單項通知系統重新讀取配置文件以實現交易密鑰的版本更新
[ 5 ]。
當不同網段的數據服務器對收到的報文進行解密時,如果發現報文頭中交易密鑰版本字段的值小于當前的交易密鑰版本時,則使用對應的低版本上行交易密鑰進行解密;然后發送給應用服務器完成交易請求,構造交易應答報文;當應用服務器對不同網段的數據服務器發送的交易應答報文進行加密時,仍然使用低版本下行交易密鑰,同時構造一個新的密鑰下載報文體,將當前版本的上下行交易密鑰發送給不同網段的數據服務器以更新其交易密鑰版本。
6其他安全管理措施
在進行加密同時,可以進行即連即放、發接數據校驗、動態數據加密、超時連接檢測等措施,也是保障安全的重要手段。安全機制的一個具體實現,包括交易密鑰下載、數據報文的加密和解密等全部的安全功能。另外,為進一步增強整個系統的安全性,還可增加交易密鑰的版本更新等功能。
7 安全性分析
由于上述安全機制中使用過程密鑰加密,因此,對于一個不知道過程密鑰生成步驟的攻擊者來說,密碼分析攻擊幾乎是不可能的。因為網段不同、網段相同而訪問數據服務器不同或者同一塊訪問數據服務器收發的
信息不同,這些使用的密鑰都是不一樣的。再加上交易密鑰下載、數據報文的加密和解密等安全功能。提高了整個系統的安全性,這樣使系統就無懈可擊。
8結語
采用串口傳輸方式隔離措施的安全機制,可以在不同的網絡之間,如電力
信息系統與調度
自動化系統、圖像監控系統、企業外網的WEB服務器、銀行系統、郵政系統等網絡之間進行業務聯系。串口通信協議保密性強,隔離了不同網段的病毒互相傳播,能夠很好地滿足電力信息系統的安全性要求。希望在電力
信息規劃、建設過程中得到相關管理人員的重視。
參考文獻:
1 盧開澄等.計算機系統安全.重慶:重慶出版社,1995
4楊明,胥光輝,齊望東等譯.密碼編碼學與網絡安全(第二版).北京:電子工業出版社,2001
5陳魯生,沈世鎰等.現代密碼學.北京:科學出版社,2002.7.1
作者簡介:
王玉林(1975、7—):男,河南省漯河市人,畢業于河南科技大學計算機專業,從事電力系統的通信自動化、MIS系統的建設管理工作;
陳紅偉(1973、11—):男,河南省漯河市人,畢業于鄭州大學電力系統及其自動化專業,從事電力系統的設計、建設、管理工作。