自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

嵌入式網(wǎng)絡SSL VPN安全技術的研究

安全 應用安全
Internet已經(jīng)成為人們獲取信息、相互交流的重要渠道。嵌入式系統(tǒng)與Internet相結(jié)合,將嵌入式設備接入Internet是當今嵌入式應用的發(fā)展趨勢,下面我們來介紹一下關于嵌入式網(wǎng)絡SSL,VPN安全技術的研究。

Internet已經(jīng)成為人們獲取信息、相互交流的重要渠道。嵌入式系統(tǒng)與Internet相結(jié)合,將嵌入式設備接入Internet是當今嵌入式應用的發(fā)展趨勢。Internet和Web服務與嵌入式系統(tǒng)都具有低成本、高效率的特點,把它們集成于一體具有很多潛在的優(yōu)勢,如使用TCP/IP協(xié)議、HTTP協(xié)議,可以無縫連接到以太網(wǎng);使用標準的Web瀏覽器,可以進行遠程監(jiān)測、診斷與控制。利用嵌入式Web技術可以實現(xiàn)基于Internet的遠程數(shù)據(jù)采集、遠程控制、自動報警等功能,大大擴展了嵌入式系統(tǒng)的應用范圍,同時能充分利用網(wǎng)絡資源,實現(xiàn)更廣泛的信息共享和更多的信息服務。

嵌入式Internet解決了終端設備的網(wǎng)絡化問題,然而Internet提供的網(wǎng)絡環(huán)境并不保障接入系統(tǒng)的安全性,嵌入式Internet的安全問題直接關系到嵌入式Internet的發(fā)展及其應用前景,因此在設計嵌入式Internet系統(tǒng)的時候,必須把嵌入式Internet通信的安全問題放到重要的地位考慮。在嵌入式網(wǎng)絡系統(tǒng)需要解決以下幾個方面:

1)許多Web服務器不僅要存取數(shù)據(jù),也提供了對設備、機器、甚至是工廠的控制,這意味著如果嵌入式系統(tǒng)出現(xiàn)問題,就會危及設備或工廠,其結(jié)果不僅僅是失去信息,更致命的是失去控制。這要求在嵌入式環(huán)境低成本的基礎上提供高級別的安全水平。

2)數(shù)據(jù)通過公共的Internet網(wǎng)傳輸,隨時面臨被攻擊的危險。

3)許多嵌入式系統(tǒng)需要連續(xù)運轉(zhuǎn)幾個月,幾年,甚至是十幾年,這對系統(tǒng)的穩(wěn)定性提出了極其嚴格的要求,因此它必須保證在任何情況下長時間的穩(wěn)定運行。

4)嵌入式系統(tǒng)大多會受到資源的嚴格限制,但隨著嵌入式處理器及其它硬件性能的不斷提高,使應用復雜的網(wǎng)絡安全協(xié)議成為可能。

目前流行的兩類Internet遠程安全接入技術是SSLVPN與IPSecVPN,它們具有類似的功能特性,但也存在一些不同。IPSecVPN提供完整的網(wǎng)絡層連接功能,是實現(xiàn)專用網(wǎng)安全連接的最佳選項。IPSecVPN需要軟件客戶端支撐,它不支持公共Internet站點接入,但能實現(xiàn)Web或非Web類企業(yè)應用訪問。而SSLVPN的“零客戶端”架構(gòu)特別適合于遠程用戶連接,用戶可通過任何Web瀏覽器訪問企業(yè)網(wǎng)Web應用。但是SSLVPN只對通信雙方的某個應用通道進行加密,而不對通信雙方的整個通道進行加密,這樣SSLVPN也存在一定安全風險。對實現(xiàn)的可行性和運行開銷進行比較,顯然SSLVPN更適合于使用Internet和Web服務的嵌入式系統(tǒng)。

2SSLVPN

2.1VPN介紹

VPN(VirtualPrivateNetwork,虛擬專用網(wǎng)),是指在公共網(wǎng)絡上建立專用網(wǎng)絡的技術。VPN網(wǎng)絡的任意兩個結(jié)點之間的連接并沒有傳統(tǒng)專網(wǎng)所需的點到點的物理鏈路,而是架構(gòu)在公用網(wǎng)絡服務商ISP提供的網(wǎng)絡平臺之上的邏輯網(wǎng)絡。用戶的數(shù)據(jù)通過ISP在公共網(wǎng)絡中建立邏輯隧道(即點到點的虛擬專線)進行傳輸,并通過相應的加密和認證技術來保證用戶內(nèi)部網(wǎng)絡數(shù)據(jù)在公網(wǎng)上的安全傳輸,從而真正實現(xiàn)網(wǎng)絡數(shù)據(jù)傳輸?shù)膶S行?,并使安全性得以保證。

2.2SSL協(xié)議

SSL協(xié)議是基于Web應用的安全協(xié)議,它指定了在應用程序協(xié)議(如:HTTP、Telnet、FTP等)和TCP/IP協(xié)議之間進行數(shù)據(jù)交換的安全機制,為TCP/IP連接提供數(shù)據(jù)加密、服務器認證以及可選的客戶機認證。SSL能在TCP/IP和應用層間無縫實現(xiàn)Internet協(xié)議棧處理,而對其他協(xié)議層不產(chǎn)生任何影響。

作為應用層協(xié)議,SSL使用公開密鑰體制和X.509數(shù)字證書技術保護信息傳輸?shù)臋C密性和完整性。SSL協(xié)議由SSL握手層、記錄層兩層協(xié)議組成:上層為握手層,包括SSL握手協(xié)議、SSL修改密文協(xié)議,SSL告警協(xié)議和應用數(shù)據(jù)協(xié)議;下層為SSL記錄協(xié)議,具體結(jié)構(gòu)如圖1所示。它們共同為應用訪問連接提供認證、加密和防篡改功能。SSL握手協(xié)議主要是用于服務器和客戶之間的相互認證,協(xié)商加密算法和MAC算法,并用于生成在SSL記錄中發(fā)送的加密密鑰。SSL警告協(xié)議主要為對等實體傳遞與SSL相關的告警信息。SSL記錄協(xié)議則是為各種高層協(xié)議提供基本的安全服務。

圖1SSL協(xié)議棧

握手協(xié)議在SSL數(shù)據(jù)傳輸中具有重要的作用,通過握手協(xié)議可實現(xiàn)數(shù)據(jù)的加密和身份驗證,確保端到端的安全傳輸,能有效阻止外部對Web的攻擊。

2.3SSLVPN

SSLVPN通過SSL協(xié)議,利用PKI的證書體系,在傳輸過程中使用DES、3DES、AES、RSA、MD5、SHA1等多種密碼算法保證數(shù)據(jù)的機密性、完整性、不可否認性,實現(xiàn)在Internet上進行安全的信息交換。如今幾乎所有的瀏覽器都內(nèi)建有SSL功能,它正成為企業(yè)應用、無線接入設備、Web服務以及安全接入管理的關鍵協(xié)議。

基于SSL的VPN為嵌入式系統(tǒng)提供了許多有利條件,主要有:

1)可以使用標準的軟件(如:Web瀏覽器)對嵌入式系統(tǒng)進行訪問。

2)SSL允許在嵌入式系統(tǒng)中沒有存儲口令的情況下進行客戶鑒定。這特別有益于需要進行遠程操作的嵌入式系統(tǒng)。

3)SSL提供了多種加密標準,系統(tǒng)設計者可以在安全風險、加密強度之間進行平衡。

4)SSL提供了客戶端和服務器端的認證。

SSLVPN的核心是SSL協(xié)議,目前已有多種基于標準SSL協(xié)議實現(xiàn)的工具箱,但因其龐大的數(shù)據(jù)結(jié)構(gòu)、功能全面的系統(tǒng)管理而無法在嵌入式環(huán)境下很好地運行。另一個主要缺陷是產(chǎn)生對稱密鑰需要大量計算且不能由簡單有效的硬件來實現(xiàn);另外,設計系統(tǒng)時,要充分考慮對客戶端的認證,因此必須對常規(guī)的SSL協(xié)議進行針對性的裁剪與優(yōu)化,以適應嵌入式應用的需要。

3SSL嵌入式優(yōu)化設計

為保證在有限的嵌入式資源環(huán)境下使用SSL技術,必須要對標準SSL協(xié)議進行裁剪與優(yōu)化。優(yōu)化的主要方面有:重新設計SSL內(nèi)部模塊,引入會話重用模塊;采用只對服務器單向認證的RSA模式;對加密算法進行選擇,使之適應嵌入式計算的特點。

3.1會話重用

SSL協(xié)議的核心是握手協(xié)議,其連接過程如圖2所示:

圖2SSL協(xié)議握手過程

從上述的SSL連接流程不難看出SSL握手過程中需要耗費較多的系統(tǒng)時間(CPU處理)和空間(內(nèi)存),所以利用會話重用實現(xiàn)服務器和瀏覽器的再次SSL連接,對于嵌入式瀏覽器十分必要。

會話重用的過程是:客戶與服務器通過完整的握手過程建立第一次會話,然后握手雙方將該會話保存。當客戶采用會話重用時,則將session_id作為本次會話的session_id,否則置空。服務器收到客戶的client_hello消息后,查看session_id,如果為空則不進行會話重用,服務器生成新session_id,在server_hello中發(fā)給客戶,否則服務器從session_id中查找session_id會話,并恢復該會話參數(shù)作為當前參數(shù)。客戶收到server_hello消息后,檢驗服務器發(fā)來session_id是否與重用session_id一致,一致則會話重用,否則雙方重新協(xié)商會話參數(shù)。通過會話重用,服務器和瀏覽器就可以省略公鑰和認證操作,還可以重用以前的私鑰。

3.2單向認證

單向SSL服務器認證。作為SSL客戶端運行的應用程序,能夠驗證作為SSL服務器運行的應用程序的身份,而不提供反向的認證。這樣可以將客戶端認證的步驟去掉,減少握手次數(shù)以降低系統(tǒng)開銷,并節(jié)省了使用PKI對授權(quán)用戶分發(fā)證明,同時也能夠滿足大多數(shù)實際應用對安全的要求。

3.3算法選擇

在SSL握手過程中,服務器CPU時間大部分用在解密私用密鑰和計算主密鑰上,同時SSL連接性能在很大程度上也依賴于使用的算法,因此算法對嵌入式系統(tǒng)中的SSL有重要的影響。在嵌入式瀏覽器上,可以選擇512位RSA公鑰算法,RSA模式只對服務器進行認證,可減少握手次數(shù);采用適合嵌入式環(huán)境的對稱加密算法RC4-128對所傳輸?shù)臄?shù)據(jù)進行加密;創(chuàng)建信息鑒定碼的摘要算法,可采用運行速度最快的哈希函數(shù)MD5128來計算消息檢驗碼MAC。

4SSLVPN應用方案與實現(xiàn)

我們設計了基于SSLVPN技術的應用方案,構(gòu)架了SSL協(xié)議的實現(xiàn)體。其實現(xiàn)原理為:在客戶端和服務器之間通過協(xié)商,采用RSA算法加密,建立起安全通道,在此通道內(nèi)傳輸?shù)男畔⒔?jīng)過RC4加密運算,保證數(shù)據(jù)的機密性;利用MD5函數(shù)對所傳輸?shù)男畔⑻崛∠Ⅱ炞C碼,確保信息的完整性;利用證書交換技術,實現(xiàn)客戶端和服務器的識別和認證,實現(xiàn)身份的可認證性。

該方案可分為客戶端和服務器端兩個部分實現(xiàn)SSL協(xié)議,其程序框架如下:

 

傳輸過程中需要的證書和密鑰文件:

1)生成服務器端的私鑰(key文件):opensslgenrsa-des3-outserver.key512;

2)生成證書簽署請求CSR:opensslreq-new-keyserver.key-outserver.csr;

3)生成CA的key文件:openssl-des3-outca.key1024;

4)生成CA自簽名證書:opensslreq-new-x509-keyca.key-outca.crt;

5)用生成的CA的證書為剛才生成的server.csr,client.csr文件簽名:./sigh.shserver.csr。

在程序中我們選用RC4做加密,MD5做消息摘要(先進行MD5運算,后進行RC4加密),由SSL_CTX_set_cipher_list(ctx,"RC4-MD5")實現(xiàn)。

我們在S3C2410硬件平臺的嵌入式LinuxWeb瀏覽器應用中,實現(xiàn)了上述SSL優(yōu)化方案。實際應用測試的結(jié)果,符合我們的設計目標。在嵌入式產(chǎn)品中使用精簡優(yōu)化后的SSL是切實可行的方案,通過簡化握手流程、減少新連接的次數(shù)、會話重用、精選加密算法等方法,使之更適合嵌入式系統(tǒng)的實際應用。其不足是SSLVPN在現(xiàn)階段只能訪問基于Web的應用,遠程用戶還不能進行基于非Web界面的應用。此外,由于SSLVPN并不對通信雙方的整個通道進行加密,只能為訪問資源提供有限的安全保障,在Web頁面中呈現(xiàn)的文件,無法保證只出現(xiàn)類似于上傳文件和郵件附件等簡單的文件,這樣就很難保證其它文件不被暴露在外部,存在一定的安全隱患。這是SSLVPN面臨的一個挑戰(zhàn),也是我們今后要重點研究并解決的問題。

5結(jié)束語

嵌入式系統(tǒng)處理器和其它硬件性能的提升,使得基于SSL和TLS的VPN變?yōu)榭赡?,SSL采用通信數(shù)據(jù)加密、身份驗證等安全技術,較好地保證了數(shù)據(jù)傳送過程中的保密性、身份鑒別、不可否認和完整性,防止了竊聽、欺騙、篡改、會話劫持等多種Web攻擊手段。隨著嵌入式網(wǎng)絡安全的重要性越發(fā)突出,相信SSLVPN的應用將更加廣泛。

【編輯推薦】

  1. 利用Peplink實現(xiàn)簡化的站點到站點VPN
  2. 云安全仍然是程序開發(fā)者頭痛的問題
  3. IP VPN技術特點及應用
  4. MPLS VPN 技術中的CE、PE、P的含義
責任編輯:于爽 來源: hi.baidu.com
相關推薦

2010-09-25 15:05:49

LINUXJVM

2011-11-30 14:51:55

2010-03-26 11:23:59

無線嵌入式控制技術

2017-11-27 15:40:28

Linux內(nèi)核崩潰錯誤跟蹤

2013-08-07 09:15:52

2011-12-22 15:51:06

SSLVPN

2011-02-22 17:12:40

2010-05-26 13:57:22

IPv6協(xié)議

2011-05-30 09:27:44

2009-05-14 09:28:16

嵌入式面試求職

2019-03-17 15:53:53

嵌入式安全安全漏洞黑客

2018-11-28 15:39:21

人工神經(jīng)嵌入式SDK

2009-12-25 15:22:29

嵌入式接入網(wǎng)

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2018-01-29 08:31:32

嵌入式內(nèi)存技術

2009-08-20 10:57:40

嵌入式開發(fā)微軟

2010-01-15 09:44:52

嵌入式存儲交換技術

2010-12-28 19:23:47

2023-04-27 07:06:18

2020-04-22 11:51:41

物聯(lián)網(wǎng)嵌入式編程IOT
點贊
收藏

51CTO技術棧公眾號