張楊
摘要:SSL協(xié)議是為計(jì)算機(jī)之間提供安全通道的一種安全協(xié)議,數(shù)據(jù)在傳輸過程中是加密的。該文已無線視頻監(jiān)控系統(tǒng)為研究對象,在系統(tǒng)中引入SSL協(xié)議,把該協(xié)議應(yīng)用在服務(wù)器和客戶端的網(wǎng)絡(luò)通信中,從而可以實(shí)現(xiàn)數(shù)據(jù)在傳輸?shù)陌踩?、身份認(rèn)證和信息的完整性。
關(guān)鍵詞:SSL協(xié)議;信息安全;網(wǎng)絡(luò)通信
中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)07-1540-02
SSL Protocol in the Network Communication of the Application
ZHANG Yang
(Liaoning University Computing Center, Shenyang 110036, China)
Abstract: SSL protocol is to provide a secure channel between computers a security protocol, data transmission is encrypted. This article has wireless video surveillance system for the study, the introduction of the SSL protocol in the system, the application of the protocol on the server and the clients network communication, which can achieve data transmission security, authentication and message integrity.
Key words: SSL protocol; information security; network communication
無線視頻監(jiān)控系統(tǒng)服務(wù)器和客戶端之間采用的C/S模式組成的,實(shí)現(xiàn)對視頻信號實(shí)時(shí)采集和壓縮編碼后,將圖像傳輸?shù)街付ǖ囊曨l服務(wù)器上。那么命令信息在傳輸過程中,數(shù)據(jù)的安全性是我們需要解決的重要問題。所以在該系統(tǒng)中引入了SSL協(xié)議,把SSL協(xié)議應(yīng)用在服務(wù)器和客戶端的網(wǎng)絡(luò)通信中,通過數(shù)據(jù)加密提高信息的安全性。
1系統(tǒng)設(shè)計(jì)原則和目標(biāo)
1.1系統(tǒng)設(shè)計(jì)原則
該系統(tǒng)的服務(wù)器和客戶端都是在windows操作系統(tǒng)利用VC的socket建立連接,實(shí)現(xiàn)網(wǎng)絡(luò)通信。考慮到服務(wù)器和客戶端之間數(shù)據(jù)傳輸?shù)陌踩院陀行?,設(shè)計(jì)過程中注意以下幾個(gè)方面:
1)并發(fā)性:因?yàn)榉?wù)器和客戶端之間建立聯(lián)系,一般是一臺服務(wù)器對應(yīng)多個(gè)客戶端進(jìn)行通信的,每個(gè)終端優(yōu)先級是平等的,為了實(shí)現(xiàn)客戶端的并發(fā)性功能,在服務(wù)器端采用VC中的多線程技術(shù),使得每個(gè)客戶端都能和服務(wù)器同時(shí)產(chǎn)生通信。
2)安全性:該系統(tǒng)是服務(wù)器和客戶端之間利用socket通信,客戶端向服務(wù)器發(fā)送請求命令,服務(wù)器收到后回應(yīng)請求,如果在通信過程中命令信息不加密,信息容易被非法竊取,直接通過TCP協(xié)議傳輸信息是不安全的,所以要引入SSL協(xié)議,使所有的命令信息是加密傳輸?shù)?,保證了信息的安全性。
3)實(shí)時(shí)性:由于視頻監(jiān)控系統(tǒng)對畫面的實(shí)時(shí)性要求非常高的,如果圖像也是通過加密傳輸?shù)脑?,會?yán)重影響圖像的傳輸速率,也就失去了實(shí)時(shí)性的要求,所以,我們在處理圖像傳輸時(shí)就不像命令信息一樣通過SSL加密傳輸了,滿足了圖像的實(shí)時(shí)性要求。1.2系統(tǒng)設(shè)計(jì)的目標(biāo)
該系統(tǒng)實(shí)現(xiàn)的目標(biāo)就是服務(wù)器端和客戶端建立連接,滿足并發(fā)性的要求;在通信過程中,雙方發(fā)送的命令信息通過SSL加密傳輸,提高安全性;圖像傳輸通過TCP協(xié)議傳輸,滿足視頻傳輸?shù)膶?shí)時(shí)性。
2網(wǎng)絡(luò)通信模塊的設(shè)計(jì)
主要討論的是服務(wù)器和客戶端之間的網(wǎng)絡(luò)通信問題,服務(wù)器和客戶端之間有兩種信息:服務(wù)器向客戶端轉(zhuǎn)發(fā)的視頻流信息;服務(wù)器和客戶端之間傳輸?shù)拿钚畔?。從信息的安全性考慮,在該系統(tǒng)中引入SSL加密協(xié)議,在數(shù)據(jù)傳輸過程中,即使數(shù)據(jù)被黑客竊取也不會將數(shù)據(jù)還原。確保了數(shù)據(jù)的安全性。
因?yàn)楸O(jiān)控視頻對圖像的實(shí)時(shí)性要求非常高,不能有太長的時(shí)間延遲,而視頻在傳輸過程中產(chǎn)生的流量非常之大,直接通過TCP協(xié)議傳輸視頻信息可以有效降低時(shí)間延遲。
因此,通過SSL協(xié)議傳輸各種命令信息,我們可以把SSL通信模塊封裝成sslclient類和sslserver類,提供了接口函數(shù),只需要調(diào)用對應(yīng)的API就可以實(shí)現(xiàn)SSL加密通信。
3 SSL網(wǎng)絡(luò)通信技術(shù)的實(shí)現(xiàn)
3.1 SSL通信模塊的工作流程
該系統(tǒng)的整個(gè)結(jié)構(gòu)可以分為服務(wù)器和客戶端兩個(gè)部分組成,而其中的SSL通信模塊為現(xiàn)實(shí)這兩個(gè)部分之間的數(shù)據(jù)通信的安全傳輸提供服務(wù)。主要從外部和內(nèi)部兩個(gè)方面來分析,從外部來看,系統(tǒng)包括初始化握手部分和數(shù)據(jù)傳輸部分兩個(gè)部分內(nèi)容,這兩個(gè)部分的內(nèi)容具體對應(yīng)SSL協(xié)議的“握手協(xié)議”和“記錄協(xié)議”。從內(nèi)部來看,SSL模塊可劃分為初始化、SSL連接、身份認(rèn)證和數(shù)據(jù)傳輸幾個(gè)模塊,初始化主要為SSL連接做準(zhǔn)備工作,身份認(rèn)證主要是驗(yàn)證對方數(shù)字證書以證明身份的有效性。如果服務(wù)器也要求進(jìn)行客戶端身份認(rèn)證,會以同樣的方法對客戶端的證書進(jìn)行驗(yàn)證。當(dāng)服務(wù)器和客戶端互相進(jìn)行驗(yàn)證之后。會在兩者之間成功建立SSL連接,形成一個(gè)安全數(shù)據(jù)傳輸通道,傳輸數(shù)據(jù)類似于TCP的套接字,直接寫入或者讀取數(shù)據(jù)。如圖1所示。
圖1 SSL通信模塊的結(jié)構(gòu)圖
3.2實(shí)現(xiàn)的過程
在通信模塊中,服務(wù)器實(shí)現(xiàn)的過程很簡單,和客戶端實(shí)現(xiàn)的過程類似,服務(wù)器等待客戶端發(fā)送請求的連接,之后初始化一條SSL連接,它就從客戶端讀取或?qū)懭霐?shù)據(jù)發(fā)送到客戶端。按照功能也可以分為四部分:初始化過程、連接過程、身份認(rèn)證過程和數(shù)據(jù)傳輸。
1)初始化過程:客戶端的開發(fā)時(shí)調(diào)用openssl函數(shù)實(shí)現(xiàn)的,首先是初始化SSL庫,在選擇會話連接所使用的協(xié)議:ssl_method* sslv3_client_method();再去申請SSL會話的CTX:ssl_ctx* ssl_ctx_new(ssl_method* meth);,目的是連接對象進(jìn)行SSL握手、數(shù)據(jù)的讀寫;最后是家在私有密鑰和數(shù)字證書并設(shè)置加密套件。
然而服務(wù)器初始化過程和客戶端初始化過程類似,不同只是服務(wù)器調(diào)用sslv3_server_method()函數(shù)來實(shí)現(xiàn)的。
2)連接過程:服務(wù)器調(diào)用listen函數(shù)開始監(jiān)聽客戶端的TCP連接請求,調(diào)用accept函數(shù)接受客戶端的TCP連接;申請一個(gè)BIO對象,把SSL綁在在這個(gè)對象上;調(diào)用SSL的accept函數(shù)接受客戶端的SSL連接。
3)身份認(rèn)證:由于系統(tǒng)采用雙向身份認(rèn)證機(jī)制進(jìn)行身份認(rèn)證,所以服務(wù)器和客戶端的證書都要互相進(jìn)行認(rèn)證方可正常通信,二者進(jìn)行信息對比,如果一致,表明驗(yàn)證通過,否則將關(guān)閉與客戶端之間的連接。
4)數(shù)據(jù)傳輸:服務(wù)器與客戶端建立連接后就可傳輸數(shù)據(jù),所有數(shù)據(jù)是經(jīng)SS加密處理后進(jìn)行傳輸?shù)摹?/p>
4結(jié)束語
在當(dāng)今信息化飛速發(fā)展的社會中,信息數(shù)據(jù)在日常生活和工作中顯得越來越重要,所以信息安全的重要性也越來越受到人們的重視,數(shù)據(jù)在保存和傳輸過程中如何可以防止黑客竊取,正是該文研究的對象。該文以視頻監(jiān)控作為實(shí)例來研究,既要保證視頻傳輸?shù)膶?shí)時(shí)性,又要保障數(shù)據(jù)的安全性,所以我們采用服務(wù)器和客戶端之間采用靈活的雙重連接制,通過SSL協(xié)議進(jìn)行數(shù)據(jù)加密傳輸,提高了機(jī)密信息傳輸?shù)陌踩浴?/p>
參考文獻(xiàn):
[1]付沙,何誠,文旭華.基于SSL協(xié)議的安全網(wǎng)絡(luò)通信的理論和實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代,2006(11).
[2]曾強(qiáng).網(wǎng)絡(luò)安全協(xié)議SSL原理及應(yīng)用[D].天津:天津大學(xué),2005.
[3]唐玲.數(shù)字證書系統(tǒng)的設(shè)計(jì)研究[D].合肥:合肥工業(yè)大學(xué),2004.
[4]韓澄宗.網(wǎng)絡(luò)實(shí)驗(yàn)室中的視頻監(jiān)控系統(tǒng)[D].杭州:浙江大學(xué),2006.
[5]張磊.應(yīng)用層加密傳輸VPN的研究與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2007.
[6]李偉,張大勇.SSL安全傳輸協(xié)議在網(wǎng)絡(luò)通信中的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用,2005(5).
[7]于瑞華.SSL協(xié)議實(shí)現(xiàn)與PKI體系的支持[J].中國人民公安大學(xué)學(xué)報(bào):自然科學(xué)版,2004(1).