杜慶峰
摘 要:文章介紹了傳統(tǒng)互聯(lián)網(wǎng)系統(tǒng)中非對(duì)稱軟件加解密方案在無線監(jiān)控系統(tǒng)中的應(yīng)用及實(shí)現(xiàn),分析非對(duì)稱加解密方案在無線監(jiān)控系統(tǒng)中實(shí)施的必要性、可行性,包括與其他加解密方案對(duì)比分析,以提高無線監(jiān)控系統(tǒng)中數(shù)據(jù)傳輸安全。結(jié)合實(shí)際無線監(jiān)控系統(tǒng)方案,提供具體軟件實(shí)現(xiàn)供參考。
關(guān)鍵詞:軟件加解密;RSA;監(jiān)控
中圖分類號(hào):TP393.4 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2017)33-0144-02
1 概述
隨著互聯(lián)網(wǎng)普及以及物聯(lián)網(wǎng)應(yīng)用日益廣泛,無線監(jiān)控及數(shù)據(jù)傳輸成為信息交互的主要方式,隨之而來的數(shù)據(jù)傳輸安全愈發(fā)重要,本文主要介紹傳統(tǒng)網(wǎng)絡(luò)通信數(shù)據(jù)加密方案在無線監(jiān)控系統(tǒng)中的應(yīng)用。
2 數(shù)據(jù)加密的必要性和可行性
從整體架構(gòu)看,無線監(jiān)控系統(tǒng)有幾大特點(diǎn)。第一,系統(tǒng)一般由中心服務(wù)器和采集控制終端組成,在組成為大多為1對(duì)多。對(duì)于多級(jí)分層架構(gòu),可以分解為N個(gè)1對(duì)多系統(tǒng)的疊加。第二,中心服務(wù)器一般固定部署,監(jiān)控采集終端則分散部署在現(xiàn)場。第三,中心服務(wù)器相對(duì)有完善的管理和維護(hù)人員、組織參與,監(jiān)控采集終端則相對(duì)開放。
如上所述,無線監(jiān)控系統(tǒng)中監(jiān)控采集終端數(shù)量多,地理位置分散,明文傳輸很可能遭到劫持和盜聽,輕則導(dǎo)致數(shù)據(jù)泄密,重則可能出現(xiàn)系統(tǒng)被攻擊,導(dǎo)致系統(tǒng)癱瘓。通過數(shù)據(jù)加密,提高數(shù)據(jù)傳輸安全,可最大程度對(duì)系統(tǒng)進(jìn)行保護(hù)。
對(duì)于1對(duì)多系統(tǒng),特別是中心服務(wù)器的安全性相對(duì)較高,將數(shù)據(jù)加解密密鑰保存在中心服務(wù)器,一方面密鑰本身的管理可以得到保證,另外,只在中心服務(wù)器保存一份密鑰,減少密鑰擴(kuò)散幾率,確保密鑰安全,從而可以保證數(shù)據(jù)的安全。
對(duì)于數(shù)據(jù)傳輸加解密兩端分散情況,通過采用非對(duì)稱加密方式,一方面降低對(duì)監(jiān)控采集終端安全管理要求,同時(shí)可以提高加密安全效果。為此,可采用網(wǎng)絡(luò)通信中使用較為廣泛的RSA加密方案。
3 方案對(duì)比
與非對(duì)稱加解密對(duì)應(yīng),另一種加解密方案為對(duì)稱加解密。所謂對(duì)稱加解密,簡言之就是數(shù)據(jù)加密和數(shù)據(jù)解密采用相同的密鑰。可見,對(duì)于對(duì)稱加解密方案,數(shù)據(jù)加密方和數(shù)據(jù)解密方都需要持有相同密鑰。與非對(duì)稱加解密方案相比,該方案優(yōu)點(diǎn)大概如下,第一,該方案相對(duì)簡單,雙方使用相同加解密密鑰,容易實(shí)現(xiàn)。第二,對(duì)稱加密數(shù)據(jù)在解密時(shí),直接通過確定算法實(shí)現(xiàn),執(zhí)行效率和速度相對(duì)高。
針對(duì)無線監(jiān)控系統(tǒng),堆成加解密方案最大不足就是安全。如上所述,無線監(jiān)控系統(tǒng)大多存在開放環(huán)境,且監(jiān)控終端相對(duì)物理位置分散,如果采用對(duì)稱加解密方案,相同的密鑰需要分散到每個(gè)數(shù)據(jù)監(jiān)控采集終端。在整個(gè)運(yùn)行過程中,任一數(shù)據(jù)監(jiān)控采集終端將密鑰泄露,整個(gè)系統(tǒng)安全完全丟失。相對(duì)于對(duì)稱加解密方案,非堆成加解密方案采用公鑰和私鑰對(duì)方式,公鑰可以公開,不擔(dān)心密鑰泄露,適合數(shù)據(jù)監(jiān)控采集終端量多、位置分散場景。另外,一旦出現(xiàn)加解密密鑰泄露,非對(duì)稱加解密方案可以通過動(dòng)態(tài)更新公私密鑰對(duì),從而恢復(fù)系統(tǒng)安全。
可見,在無線監(jiān)控系統(tǒng)中,采用非對(duì)稱加解密方案更安全。
4 實(shí)現(xiàn)方案
當(dāng)前常用非對(duì)稱加解密方案有很多種,這里主要介紹RSA加解密方案在無線監(jiān)控系統(tǒng)中的實(shí)現(xiàn)思路。鑒于無線監(jiān)控系統(tǒng)大多采用嵌入式系統(tǒng),如ARM等,可采用離線處理與在線加解密相結(jié)合方式。
離線處理主要指在系統(tǒng)發(fā)布前,借助工具生成加密公鑰與私鑰對(duì),將公鑰發(fā)布到終端應(yīng)用,私鑰保留在服務(wù)器。
系統(tǒng)運(yùn)行時(shí),監(jiān)控采集終端使用公鑰對(duì)數(shù)據(jù)進(jìn)行加密后,通過無線傳輸方式發(fā)送到服務(wù)器,服務(wù)器使用本地密鑰對(duì)監(jiān)控終端發(fā)送數(shù)據(jù)進(jìn)行解密,得到監(jiān)控終端原始明文數(shù)據(jù)。
GPS校時(shí)功能:通過GPS對(duì)計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行精準(zhǔn)校時(shí)。
光照度獲?。和ㄟ^光敏探頭獲取所在城市的實(shí)時(shí)光照度,用于實(shí)現(xiàn)路燈的光照度控制。
5 軟件設(shè)計(jì)
對(duì)于非對(duì)稱加解密公鑰和私鑰,可借助第三方工具生成,如openssl,相關(guān)操作如下:
openssl genrsa -out rsa_private.pem 2048
其中rsa_private.pem為生成私鑰文件名稱。
根據(jù)私鑰導(dǎo)出公鑰:
openssl rsa -in rsa_private.pem -pubout -out rsa_public.pem
其中rsa_public_pem為導(dǎo)出公鑰文件名稱,rsa_private.pem為上述生成的私鑰文件名稱。至此,加解密所需公鑰和私鑰文件已經(jīng)生成。
監(jiān)控采集終端對(duì)數(shù)據(jù)進(jìn)行加密。由于監(jiān)控采集終端大多采用ARM,數(shù)據(jù)加密需要通過代碼實(shí)現(xiàn)。對(duì)于無線監(jiān)控系統(tǒng)監(jiān)控采集終端,設(shè)備一般不支持文件系統(tǒng),對(duì)于文件生成的加密公鑰,不能使用通用讀取公鑰文件方式獲取公鑰,而是需要將公鑰內(nèi)容記錄到內(nèi)存,然后從內(nèi)存中讀取公鑰,主要接口如下:
通過標(biāo)準(zhǔn)文件方式讀取公鑰文件內(nèi)容,原型如下:
BIO_METHOD * BIO_s_mem(void);
BIO_set_mem_eof_return(BIO *b,int v);
long BIO_get_mem_data(BIO *b, char **pp)
BIO_set_mem_buf(BIO *b,BUF_MEM *bm,int c);
BIO_get_mem_ptr(BIO *b,BUF_MEM **pp);
BIO *BIO_new_mem_buf(void *buf, int len);
讀取公鑰文件后,從公鑰文件中讀取pem格式公鑰文件內(nèi)容。原型如下:
rsa = PEM_read_bio_RSA_PUBKEY(bio, NULL, NULL, NULL);
調(diào)用RSA_public_encrypt()對(duì)數(shù)據(jù)進(jìn)行加密。
此時(shí)監(jiān)控采集終端已經(jīng)完成對(duì)通信數(shù)據(jù)發(fā)送前的加密操作,后續(xù)即可進(jìn)行數(shù)據(jù)傳輸。
中心服務(wù)器接收到數(shù)據(jù)后,首先對(duì)數(shù)據(jù)進(jìn)行解密。鑒于中心服務(wù)器大多為windows或linux服務(wù)器,可以直接調(diào)用opensls的文件操作函數(shù)獲取密鑰進(jìn)行解密。
為了便于數(shù)據(jù)傳輸,實(shí)際系統(tǒng)可根據(jù)需要對(duì)數(shù)據(jù)做base64編解碼處理。通過base64編碼后數(shù)據(jù)傳輸更方便,同時(shí)也帶來副作用,就是增加網(wǎng)絡(luò)傳輸流量,具體是否需要對(duì)數(shù)據(jù)做base64編碼后傳輸,可根據(jù)實(shí)際系統(tǒng)需要決定,這里不做具體描述。
6 結(jié)束語
非對(duì)稱加密技術(shù)適用于數(shù)據(jù)通信兩端遠(yuǎn)距離傳輸,在滿足數(shù)據(jù)加密基礎(chǔ)上,同時(shí)降低操作難度,包括密鑰管理維護(hù)要求,使得無線監(jiān)控系統(tǒng)數(shù)據(jù)加解密方案可行。
參考文獻(xiàn):
[1]CJJ/T 227-2014.城市照明自動(dòng)控制系統(tǒng)技術(shù)規(guī)范[S].
[2]楊輝.基于物聯(lián)網(wǎng)的路燈節(jié)能管理系統(tǒng)[J].城市照明,2017(1).
[3]羅路勝,文春明.基于ARM的無線溫濕度監(jiān)測(cè)控制系統(tǒng)[J].科技創(chuàng)新與應(yīng)用,2016(13):26-27.endprint