一種電力資產(chǎn)管理主站系統(tǒng)與rfid終端之間的通訊方法
【專利摘要】本發(fā)明的電力資產(chǎn)管理主站系統(tǒng)與移動終端之間的通訊方法,通過為RFID終端和管理主站系統(tǒng)提供雙向認(rèn)證,對隱私數(shù)據(jù)的加密,用數(shù)字簽名來保證客戶端身份的合法性;終端層主要由RFID移動終端和RFID讀寫模塊組成,主要實現(xiàn)電網(wǎng)設(shè)備標(biāo)簽的現(xiàn)場安裝、貼標(biāo)信息查詢和設(shè)備清查等工作。本發(fā)明目可保證電力資產(chǎn)管理主站系統(tǒng)、RFID終端雙方之間的通訊安全,通訊雙方持有密鑰證書,并且只有授權(quán)通過后才能建立安全傳輸通道進(jìn)行數(shù)據(jù)傳輸。
【專利說明】一種電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種安全通訊方法,特別是一種電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊方法。
[0002]
【背景技術(shù)】
[0003]電力資產(chǎn)作為電力企業(yè)資產(chǎn)構(gòu)成的最重要組成之一,是完成電力生產(chǎn)經(jīng)營任務(wù)的重要保障,同時對企業(yè)財務(wù)狀況及生產(chǎn)運行起著重大的影響作用,其中移動應(yīng)用作為電力行業(yè)信息化下一步的建設(shè)重點之一。由于惡意軟件、隱私竊取等移動安全問題日益凸顯,信息安全顯得尤為重要,國家電網(wǎng)公司信息通信部門對移動應(yīng)用的數(shù)據(jù)傳輸安全問題一直非常關(guān)注,先后發(fā)布了相關(guān)文件用于規(guī)范移動數(shù)據(jù)傳輸。移動應(yīng)用相對于目前的信息化建設(shè)屬于新生模式,其數(shù)據(jù)傳輸安全有待驗收和考評,如何保證電力資產(chǎn)在移動應(yīng)用建設(shè)中的信息安全是一個急需解決的問題。
[0004]隨著網(wǎng)絡(luò)化、信息化的不斷深入和發(fā)展,傳統(tǒng)的信息管理系統(tǒng)很多安全隱患:如授權(quán)侵犯、假冒、旁路控制等等,雖然人們早已認(rèn)識到通信服務(wù)系統(tǒng)中的安全問題,采取了各種各樣的安全措施,如防火墻,入侵檢測系統(tǒng)、網(wǎng)絡(luò)軟件加密狗等。但是這些都是基于整個系統(tǒng)或網(wǎng)站層次上的安全措施,無法對系統(tǒng)中的個人用戶進(jìn)行保護(hù)。當(dāng)攻擊者繞過系統(tǒng)直接攻擊個人用戶時,這些安全措施就形同虛設(shè),因此傳統(tǒng)的單一的認(rèn)證手段己不適應(yīng)應(yīng)用需求。
[0005]一般電力資產(chǎn)管理主站系統(tǒng)和RFID終端的通訊過程大都采用單向認(rèn)證來保證其安全性,即雙方只需要一方被另一方鑒別身份,客戶端利用服務(wù)器傳過來的信息驗證服務(wù)器的合法性,其工作原理是服務(wù)器端驗證客戶證書的過程去掉,以及在協(xié)商對稱密碼方案,對稱通話密鑰時,服務(wù)器發(fā)送給客戶的是沒有加過密的密碼方案。由于單向認(rèn)證沒有驗證RFID終端的合法性,使得RFID終端很容易被冒充偽造,接入主站后竊取設(shè)備臺帳等關(guān)鍵生產(chǎn)數(shù)據(jù),可能造成的后果不堪設(shè)想。
[0006]以上問題的存在,究其原因主要是沒有可靠的技術(shù)手段支持通信雙方身份合法性和數(shù)據(jù)的機(jī)密性,電力資產(chǎn)信息安全面臨著很多困難和挑戰(zhàn),為妥善解決這些問題,提出一種雙向認(rèn)證的安全認(rèn)證機(jī)制,這種新的技術(shù)手段成為電力企業(yè)資產(chǎn)安全管理創(chuàng)新發(fā)展的必然選擇。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足之處,而提供一種能保證電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊安全方法,即雙向認(rèn)證方法,服務(wù)器端和客戶端都需要對雙方的證書進(jìn)行認(rèn)證,只有授權(quán)通過后才能建立安全傳輸通道,安全性較高。
[0008]一種電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊方法,(I)由RFID終端管理人員把RFID終端設(shè)備信息錄入到主站系統(tǒng),RFID終端狀態(tài)初始為“未注冊”狀態(tài),(2)主站系統(tǒng)發(fā)布servlet用于RFID終端的入網(wǎng)注冊,主要提供的服務(wù)有:接收RFID終端請求,自動調(diào)用腳本生成包含RFID終端信息client, cer,RFID終端信任庫clientTrust.bks,修改RFID終端狀態(tài)為“已注冊”,最后將這兩個文件流輸出到RFID終端,(3)RFID終端初次使用時由RFID終端保管人員輸入用戶名、密碼、Android ID、主站系統(tǒng)隨機(jī)生成驗證碼等信息,最后調(diào)用主站系統(tǒng)發(fā)布的servlet,保存證書和信任庫文件,至此RFID終端入網(wǎng)注冊成功,RFID終端和主站系統(tǒng)可進(jìn)行雙向認(rèn)證通訊,(4)
RFID 終端通過 SSLContext 取得 KeyManagerFactory 和 TrustManagerFactory 的 X509密鑰管理器實例,在獲得BKS密庫實例后加載RFID終端證書和私鑰,通過讀取資源文件的方式讀取密鑰和信任證書,最后生成SSLSocket,向主站系統(tǒng)發(fā)起https請求,(5)主站系統(tǒng)前置服務(wù)由MINA框架實現(xiàn),通過SslContextFactory建立SslFilter加密過濾器,并指定 RFID 終端請求處理工廠 ClientTrustManagerFactory,通過 N1SocketAcceptor 實現(xiàn)SSL Socket端口監(jiān)聽,在收到RFID終端請求后,ClientTrustManagerFactory工廠中的checkClientTrusted用于RFID終端SSL身份驗證,通調(diào)用X509Certificate類型參數(shù)的getSubjectDN方法獲得主體名Android ID,根據(jù)該ID調(diào)用業(yè)務(wù)邏輯層代碼判斷此RFID終端是否已注冊,(6)對于通過SSL身份認(rèn)證的RFID終端則進(jìn)行相關(guān)業(yè)務(wù)數(shù)據(jù)交互,主站系統(tǒng)對于未通過認(rèn)證的RFID終端則拒絕接入,并返回相關(guān)異常信息。
[0009]本發(fā)明的一種電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊方法,使用通過國網(wǎng)安全認(rèn)證平臺認(rèn)證的3G上網(wǎng)卡接入到電力內(nèi)網(wǎng),向前置服務(wù)發(fā)出HTTP請求以獲得證書文件,請求的數(shù)據(jù)包含設(shè)備唯一碼(UUDI)明文;前置服務(wù)通過發(fā)布HTPPServlet接收、處理請求,通過調(diào)用JAVA KEYT00L動態(tài)生成android平臺的授權(quán)證書,包含RFID終端的私鑰(KeyStore)和保存服務(wù)端的授權(quán)證書密鑰庫(Trust KeyStore)。
[0010]Android終端上使用的是BC證書,而Java的key too I本身不提供BKS格式,需要通過BouncyCastleProvider把cert格式轉(zhuǎn)換為BKS證書,RFID終端證書生成代碼如下:
keytool -1mportcert -keystore test, bks -file test, cert -storetype BKS -providerorg.bouncycastle.jce.provider.BouncyCastleProvider。
[0011 ] MINA設(shè)置SSL過濾器關(guān)鍵代碼:
Il設(shè)置加密過濾器
SslFilter sslFilter = new SslFilter (SsIContextFactory.getlnstance (true));
Il設(shè)置客戶連接時需要驗證RFID終端證書
sslFilter.SetNeedClientAuth(true);
chain.addLast(〃sslFilter〃,sslFilter);
認(rèn)證過程中的關(guān)鍵類:
SSLContextFactory -創(chuàng)建和配置 SSLContext 實例
ClientTrustManagerFactory -繼承 TrustManagerFactory,信任管理器的工廠此工廠實現(xiàn)兩個接口方法,分別用于RFID終端和服務(wù)端的SSL身份驗證:checkServerTrusted(X509Certificate[] chain, StringauthType)檢查簽名、信任鏈中證書的有效日期和CRLs
checkClientTrusted(X509Certificate[] chain, StringauthType)獲取到 RFID 終端的X.509證書,由于RFID終端證書為動態(tài)生成,MINA服務(wù)啟動后,已加載服務(wù)端的信任庫文件到內(nèi)存中,如果在之后將生成RFID終端公鑰證書加入到此文件中,在重啟前置服務(wù)前不會立即生效,所以需要改變RFID終端證書的認(rèn)證策略,在獲取到RFID終端證書后,通過調(diào)用getSubjectDN方法獲得主體名即生成證書時設(shè)置的終端設(shè)備唯一編號,然后根據(jù)編號調(diào)用業(yè)務(wù)邏輯層代碼判斷此終端是否已注冊,返回相應(yīng)的true或false作為身份驗證結(jié)果O
[0012]本發(fā)明通過為RFID終端和主站系統(tǒng)提供雙向認(rèn)證,對隱私數(shù)據(jù)的加密,用數(shù)字簽名來保證RFID終端身份的合法性;終端層主要由RFID終端和RFID讀寫模塊組成,主要實現(xiàn)電網(wǎng)設(shè)備標(biāo)簽的現(xiàn)場安裝、貼標(biāo)信息查詢和設(shè)備清查等工作自動調(diào)用腳本生成包含終端信息(如Android ID、證書有效期)client, cer、
綜上所述的,本發(fā)明相比現(xiàn)有技術(shù)如下優(yōu)點:
本發(fā)明的電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊方法,應(yīng)用在基于RFID的電力資產(chǎn)管理系統(tǒng)中,該RFID的電力資產(chǎn)管理系統(tǒng)部署在電力內(nèi)網(wǎng),主要實現(xiàn)變電站電力資產(chǎn)設(shè)備的日常管理和盤點清查工作。整個RFID的電力資產(chǎn)管理系統(tǒng)由展現(xiàn)層、應(yīng)用層、數(shù)據(jù)層、接口層、終端采集層、設(shè)備層組成,其中主站系統(tǒng)采用模塊化設(shè)計,能夠?qū)Y產(chǎn)臺帳數(shù)據(jù)進(jìn)行自動同步,實現(xiàn)資產(chǎn)設(shè)備貼標(biāo)率、設(shè)備管理人員任務(wù)完成情況的統(tǒng)計,對RFID標(biāo)簽、RFID終端進(jìn)行有效的控制和管理,通過多種傳輸方式(3G無線、串口、USB)實現(xiàn)和RFID終端數(shù)據(jù)的雙向同步,主站系統(tǒng)和RFID終端之間的數(shù)據(jù)傳輸采用JSON協(xié)議實現(xiàn),數(shù)據(jù)采用DES對稱加密算法,具有較高的安全性,接口層采用Apache Mina Server的網(wǎng)絡(luò)通信應(yīng)用框架,是實現(xiàn)雙向認(rèn)證的載體,是主站系統(tǒng)和RFID終端數(shù)據(jù)傳輸?shù)臉蛄?,通過非阻塞方式的異步傳輸和回調(diào)方式實現(xiàn)主站系統(tǒng)和RFID終端的數(shù)據(jù)傳輸功能,并建立HTTPS安全通道和雙向認(rèn)證技術(shù)保證了數(shù)據(jù)交互過程的安全性,主站系統(tǒng)和RFID終端各自擁有自簽名的私有密鑰證書,并且互相交換公鑰,通過對方公鑰互相信認(rèn)對方證書,只有通信雙方互相確認(rèn)對方的身份以后才能通過加密等手段建立安全信道。極大程度上保證了電力資產(chǎn)數(shù)據(jù)傳輸?shù)陌踩裕WC通訊雙方身份的合法性。
[0013]RFID終端主要由RFID終端應(yīng)用平臺和RFID讀寫模塊組成,電子標(biāo)簽按照相關(guān)規(guī)范貼在現(xiàn)場資產(chǎn)設(shè)備上,再由RFID終端調(diào)用RFID讀寫模塊將對應(yīng)的資產(chǎn)信息寫入到標(biāo)簽中,建立標(biāo)簽和資產(chǎn)設(shè)備的關(guān)聯(lián)關(guān)系,手持RFID終端應(yīng)用主要提供入網(wǎng)注冊、數(shù)據(jù)同步、任務(wù)管理、資產(chǎn)查詢等業(yè)務(wù)功能,實現(xiàn)對變電站設(shè)備的資產(chǎn)貼標(biāo)、資產(chǎn)信息查詢、更新標(biāo)簽中的業(yè)務(wù)屬性信息、快速盤點、標(biāo)簽更換、報廢等現(xiàn)場作業(yè);通過調(diào)用應(yīng)用層的內(nèi)部接口服務(wù)進(jìn)行數(shù)據(jù)下載或上傳,將現(xiàn)場作業(yè)結(jié)果數(shù)據(jù)回傳給管理主站系統(tǒng)或者向管理主站系統(tǒng)請求相關(guān)數(shù)據(jù)。
[0014]通過本方法的應(yīng)用,在應(yīng)用RFID技術(shù)進(jìn)行電力資產(chǎn)管理過程中,RFID終端和電力資產(chǎn)管理主站系統(tǒng)通過雙向認(rèn)證之后進(jìn)行數(shù)據(jù)同步,從而有效保證了臺帳信息等關(guān)鍵生產(chǎn)數(shù)據(jù)的安全性。
[0015]主站系統(tǒng)對授權(quán)用戶的身份認(rèn)證借鑒SSL的雙向認(rèn)證模式,有效地保證了通信雙方身份的真實性和通信的不可抵賴性。攻擊者無法假冒發(fā)送方發(fā)送數(shù)據(jù),同時也無法假冒接受方接收數(shù)據(jù)。本方法實現(xiàn)了對通信雙方的身份認(rèn)證。
[0016]【專利附圖】
【附圖說明】
[0017]圖1為本發(fā)明的電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊方法握手示意圖。
[0018]圖2是本發(fā)明的電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊流程圖。
【具體實施方式】
[0019]下面結(jié)合實施例對本發(fā)明進(jìn)行更詳細(xì)的描述。
[0020]實施例1
一種電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊方法,(I)由RFID終端管理人員把RFID終端設(shè)備信息錄入到主站系統(tǒng),RFID終端狀態(tài)初始為“未注冊”狀態(tài),(2)主站系統(tǒng)發(fā)布servlet用于RFID終端的入網(wǎng)注冊,主要提供的服務(wù)有:接收RFID終端請求,自動調(diào)用腳本生成包含RFID終端信息client, cer、RFID終端信任庫clientTrust.bks,修改RFID終端狀態(tài)為“已注冊”,最后將這兩個文件流輸出到RFID終端,(3) RFID終端初次使用時由RFID終端保管人員輸入用戶名、密碼、Android ID-Android設(shè)備的唯一識別碼、主站系統(tǒng)隨機(jī)生成驗證碼等信息,最后調(diào)用主站系統(tǒng)發(fā)布的servlet,保存證書和信任庫文件,至此RFID終端入網(wǎng)注冊成功,RFID終端和主站系統(tǒng)可進(jìn)行雙向認(rèn)證通訊,(4)
RFID 終端通 過 SSLContext 取得 KeyManagerFactory 和 TrustManagerFactory 的 X509密鑰管理器實例,在獲得BKS密庫實例后加移動端載證書和私鑰,通過讀取資源文件的方式讀取密鑰和信任證書,最后生成SSLSocket,向主站系統(tǒng)發(fā)起https請求,(5)主站系統(tǒng)前置服務(wù)由MINA框架實現(xiàn),通過SslContextFactory建立SslFilter加密過濾器,并指定 RFID 終端請求處理工廠 ClientTrustManagerFactory,通過 N1SocketAcceptor 實現(xiàn)SSL Socket端口監(jiān)聽,在收到RFID終端請求后,ClientTrustManagerFactory工廠中的checkClientTrusted用于移動端SSL身份驗證,通調(diào)用X509Certificate類型參數(shù)的getSubjectDN方法獲得主體名Android ID,根據(jù)該ID調(diào)用業(yè)務(wù)邏輯層代碼判斷此RFID終端是否已注冊,(6)對于通過SSL身份認(rèn)證的RFID終端則進(jìn)行相關(guān)業(yè)務(wù)數(shù)據(jù)交互,主站系統(tǒng)對于未通過認(rèn)證的RFID終端則拒絕接入,并返回相關(guān)異常信息。
[0021 ] 本實施例未述部分與現(xiàn)有技術(shù)相同。
【權(quán)利要求】
1.一種電力資產(chǎn)管理主站系統(tǒng)與RFID終端之間的通訊方法,其特征在于:(I)由RFID終端管理人員把RFID終端設(shè)備信息錄入到主站系統(tǒng),RFID終端狀態(tài)初始為“未注冊”狀態(tài),(2)主站系統(tǒng)發(fā)布servlet用于RFID終端的入網(wǎng)注冊,主要提供的服務(wù)有:接收RFID終端請求,自動調(diào)用腳本生成包含RFID終端信息client, cer、RFID終端信任庫clientTrust.bks,修改RFID終端狀態(tài)為“已注冊”,最后將這兩個文件輸出到RFID終端,(3)RFID終端初次使用時由RFID終端保管人員輸入用戶名、密碼、Android ID、主站系統(tǒng)隨機(jī)生成驗證碼等信息,最后調(diào)用主站系統(tǒng)發(fā)布的servlet,保存證書和信任庫文件,至此RFID終端入網(wǎng)注冊成功,RFID終端和主站系統(tǒng)可進(jìn)行雙向認(rèn)證通訊,(4)
RFID 終端通過 SSLContext 取得 KeyManagerFactory 和 TrustManagerFactory 的 X509密鑰管理器實例,在獲得BKS密庫實例后加移動端載證書和私鑰,通過讀取資源文件的方式讀取密鑰和信任證書,最后生成SSLSocket,向主站系統(tǒng)發(fā)起https請求,(5)主站系統(tǒng)前置服務(wù)由MINA框架實現(xiàn),通過SslContextFactory建立SslFilter加密過濾器,并指定 RFID 終端請求處理工廠 ClientTrustManagerFactory,通過 N1SocketAcceptor 實現(xiàn)SSL Socket端口監(jiān)聽,在收到RFID終端請求后,ClientTrustManagerFactory工廠中的checkClientTrusted用于RFID終端SSL身份驗證,通調(diào)用X509Certificate類型參數(shù)的getSubjectDN方法獲得主體名Android ID,根據(jù)該ID調(diào)用業(yè)務(wù)邏輯層代碼判斷此RFID終端是否已注冊,(6)對于通過SSL身份認(rèn)證的RFID終端則進(jìn)行相關(guān)業(yè)務(wù)數(shù)據(jù)交互,主站系統(tǒng)對于未通過認(rèn)證 的RFID終端則拒絕接入,并返回相關(guān)異常信息。
【文檔編號】H04L29/06GK104038481SQ201410218663
【公開日】2014年9月10日 申請日期:2014年5月22日 優(yōu)先權(quán)日:2014年5月22日
【發(fā)明者】陳景暉, 吳飛, 陳亞猛, 黃曉云, 王宏偉, 謝石木林, 顏巧玲, 黃長貴, 劉溪土, 雷文鋒 申請人:國家電網(wǎng)公司, 國網(wǎng)福建省電力有限公司, 國網(wǎng)福建省電力有限公司泉州供電公司, 國網(wǎng)信通億力科技有限責(zé)任公司