當前位置:編程學習大全網 - 源碼下載 - Openswan和freeswan的區別?

Openswan和freeswan的區別?

openswan采用的是ipsec技術實現的VPN,由於在IP層實現,效率高,歷史悠久,網上相關的配置文章也多,穩定。可以實現p2p,p2net,net2net.

openvpn采用SSL技術實現,由於主要工作在應用層,效率低,如果單位流量比較大,還是不要用這個了。另個他采用了SSL技術,也不是我們通常所說的SSL VPN。

目前市場上比較流行的硬件VPN都是采用的ipsec技術。所以選擇第壹種對妳以後更換硬件有幫助。

基本上來說,市場上的硬件VPN產品很少采用openvpn這樣的技術的。

IPSEC工作原理

--------------------------------------------------------------------------------

虛擬專網是指在公***網絡中建立專用網絡,數據通過安全的“管道”在公***網絡中傳播。使用VPN有節省成本、提供遠程訪問、擴展性強、便於管理和實現全面控制等好處,是目前和今後網絡服務的重點項目。因此必須充分認識虛擬專網的技術特點,建立完善的服務體系。 VPN工作原理

目前建造虛擬專網的國際標準有IPSEC(RFC 1825-1829)和L2TP(草案draft-ietf-pppext-l2tp-10)。其中L2TP是虛擬專用撥號網絡協議,是IETF根據各廠家協議(包括微軟公司的PPTP、Cisco的L2F)進行起草的,目前尚處於草案階段。IPSEC是壹系列基於IP網絡(包括Intranet、Extranet和Internet)的,由IETF正式定制的開放性IP安全標準,是虛擬專網的基礎,已經相當成熟可靠。L2TP協議草案中規定它(L2TP標準)必須以IPSEC為安全基礎(見draft-ietf-pppext-l2tp-security-01)。因此,闡述VPN的工作原理,主要是分析IPSEC的工作原理。

IPSEC提供三種不同的形式來保護通過公有或私有IP網絡來傳送的私有數。

認證——作用是可以確定所接受的數據與所發送的數據是壹致的,同時可以確定申請發送者在實際上是真實發送者,而不是偽裝的。

數據完整——作用是保證數據從原發地到目的地的傳送過程中沒有任何不可檢測的數據丟失與改變。

機密性——作用是使相應的接收者能獲取發送的真正內容,而無意獲取數據的接收者無法獲知數據的真正內容。

在IPSEC由三個基本要素來提供以上三種保護形式:認證協議頭(AH)、安全加載封裝(ESP)和互聯網密匙管理協議(IKMP)。認證協議頭和安全加載封裝可以通過分開或組合使用來達到所希望的保護等級。

認證協議頭(AH)是在所有數據包頭加入壹個密碼。正如整個名稱所示,AH通過壹個只有密匙持有人才知道的“數字簽名”來對用戶進行認證。這個簽名是數據包通過特別的算法得出的獨特結果;AH還能維持數據的完整性,因為在傳輸過程中無論多小的變化被加載,數據包頭的數字簽名都能把它檢測出來。不過由於AH不能加密數據包所加載的內容,因而它不保證任何的機密性。兩個最普遍的AH標準是MD5和SHA-1,MD5使用最高到128位的密匙,而SHA-1通過最高到160位密匙提供更強的保護。

安全加載封裝(ESP)通過對數據包的全部數據和加載內容進行全加密來嚴格保證傳輸信息的機密性,這樣可以避免其他用戶通過監聽來打開信息交換的內容,因為只有受信任的用戶擁有密匙打開內容。ESP也能提供認證和維持數據的完整性。最主要的ESP標準是數據加密標準(DES),DES最高支持56位的密匙,而3DES使用三套密匙加密,那就相當於使用最高到168位的密匙。由於ESP實際上加密所有的數據,因而它比AH需要更多的處理時間,從而導致性能下降。

密匙管理包括密匙確定和密匙分發兩個方面,最多需要四個密匙:AH和ESP各兩個發送和接收密匙。密匙本身是壹個二進制字符串,通常用十六進制表示,例如,壹個56位的密匙可以表示為5F39DA752E0C25B4。註意全部長度總***是64位,包括了8位的奇偶校驗。56位的密匙(DES)足夠滿足大多數商業應用了。密匙管理包括手工和自動兩種方式,手工管理系統在有限的安全需要可以工作得很好,而自動管理系統能滿足其他所有的應用要求。

使用手工管理系統,密匙由管理站點確定然後分發到所有的遠程用戶。真實的密匙可以用隨機數字生成器或簡單的任意拼湊計算出來,每壹個密匙可以根據集團的安全政策進行修改。 使用自動管理系統,可以動態地確定和分發密匙,顯然和名稱壹樣,是自動的。自動管理系統具有壹個中央控制點,集中的密匙管理者可以令自己更加安全,最大限度的發揮IPSEC的效用。

IPSEC的實現方式

IPSEC的壹個最基本的優點是它可以在***享網絡訪問設備,甚至是所有的主機和服務器上完全實現,這很大程度避免了升級任何網絡相關資源的需要。在客戶端,IPSEC架構允許使用在遠程訪問介入路由器或基於純軟件方式使用普通MODEM的PC機和工作站。而ESP通過兩種模式在應用上提供更多的彈性:傳送模式和隧道模式。

IPSEC Packet 可以在壓縮原始IP地址和數據的隧道模式使用

傳送模式通常當ESP在壹臺主機(客戶機或服務勤)上實現時使用,傳送模式使用原始明文IP頭,並且只加密數據,包括它的TCP和UDP頭。

隧道模式通常當ESP在關聯到多臺主機的網絡訪問介入裝置實現時使用,隧道模式處理整個IP數據包——包括全部TCP/IP或UDP/IP頭和數據,它用自己的地址做為源地址加入到新的IP頭。當隧道模式用在用戶終端設置時,它可以提供更多的便利來隱藏內部服務器主機和客戶機的地址。

虛擬專網的加密算法說明

--------------------------------------------------------------------------------

壹、IPSec認證

IPSec認證包頭(AH)是壹個用於提供IP數據報完整性和認證的機制。完整性保證數據報不被無意的或惡意的方式改變,而認證則驗證數據的來源(主機、用戶、網絡等)。AH本身其實並不支持任何形式的加密,它不能保護通過Internet發送的數據的可信性。AH只是在加密的出口、進口或使用受到當地政府限制的情況下可以提高全球Intenret的安全性。當全部功能實現後,它將通過認證IP包並且減少基於IP欺騙的攻擊機率來提供更好的安全服務。AH使用的包頭放在標準的IPv4和IPv6包頭和下壹個高層協議幀(如TCP、UDP、I CMP等)之間。

AH協議通過在整個IP數據報中實施壹個消息文摘計算來提供完整性和認證服務。壹個消息文摘就是壹個特定的單向數據函數,它能夠創建數據報的唯壹的數字指紋。消息文摘算法的輸出結果放到AH包頭的認證數據(Authentication_Data)區。消息文摘5算法(MD5)是壹個單向數學函數。當應用到分組數據中時,它將整個數據分割成若幹個128比特的信息分組。每個128比特為壹組的信息是大分組數據的壓縮或摘要的表示。當以這種方式使用時,MD5只提供數字的完整性服務。壹個消息文摘在被發送之前和數據被接收到以後都可以根據壹組數據計算出來。如果兩次計算出來的文摘值是壹樣的,那麽分組數據在傳輸過程中就沒有被改變。這樣就防止了無意或惡意的竄改。在使用HMAC-MD5認證過的數據交換中,發送者使用以前交換過的密鑰來首次計算數據報的64比特分組的MD5文摘。從壹系列的16比特中計算出來的文摘值被累加成壹個值,然後放到AH包頭的認證數據區,隨後數據報被發送給接收者。接收者也必須知道密鑰值,以便計算出正確的消息文摘並且將其與接收到的認證消息文摘進行適配。如果計算出的和接收到的文摘值相等,那麽數據報在發送過程中就沒有被改變,而且可以相信是由只知道秘密密鑰的另壹方發送的。

二、IPSec加密

封包安全協議(ESP)包頭提供IP數據報的完整性和可信性服務ESP協議是設計以兩種模式工作的:隧道(Tunneling)模式和傳輸(Transport)模式。兩者的區別在於IP數據報的ESP負載部分的內容不同。在隧道模式中,整個IP數據報都在ESP負載中進行封裝和加密。當這完成以後,真正的IP源地址和目的地址都可以被隱藏為Internet發送的普通數據。這種模式的壹種典型用法就是在防火墻-防火墻之間通過虛擬專用網的連接時進行的主機或拓撲隱藏。在傳輸模式中,只有更高層協議幀(TCP、UDP、ICMP等)被放到加密後的IP數據報的ESP負載部分。在這種模式中,源和目的IP地址以及所有的IP包頭域都是不加密發送的。

IPSec要求在所有的ESP實現中使用壹個通用的缺省算法即DES-CBC算法。美國數據加密標準(DES)是壹個現在使用得非常普遍的加密算法。它最早是在由美國政府公布的,最初是用於商業應用。到現在所有DES專利的保護期都已經到期了,因此全球都有它的免費實現。IPSec ESP標準要求所有的ESP實現支持密碼分組鏈方式(CBC)的DES作為缺省的算法。DES-CBC通過對組成壹個完整的IP數據包(隧道模式)或下壹個更高的層協議幀(傳輸模式)的8比特數據分組中加入壹個數據函數來工作。DES-CBC用8比特壹組的加密數據(密文)來代替8比特壹組的未加密數據(明文)。壹個隨機的、8比特的初始化向量(IV)被用來加密第壹個明文分組,以保證即使在明文信息開頭相同時也能保證加密信息的隨機性。DES-CBC主要是使用壹個由通信各方***享的相同的密鑰。正因為如此,它被認為是壹個對稱的密碼算法。接收方只有使用由發送者用來加密數據的密鑰才能對加密數據進行解密。因此,DES-CBC算法的有效性依賴於秘密密鑰的安全,ESP使用的DES-CBC的密鑰長度是56比特。

基於IPSec的VPN技術原理於實現

摘要:本文描述了VPN技術的基本原理以及IPSec規範,在此基礎上介紹了VPN技術的實現方法和幾種典型應用方案。最後,作者對VPN技術的推廣與應用提出了自己的看法。

1.引言

1998年被稱作“電子商務年”,而1999年則將是“政府上網年”。的確,Intemet作為具有世界範圍連通性的“第四媒體”,已經成為壹個具有無限商機的場所。如何利用Intemet來開展商務活動,是目前各個企業討論的熱門話題。但將Internet實際運用到商業中,還存在壹些亟待解決的問題,其中最重要的兩個問題是服務質量問題和安全問題。服務質量問題在有關廠商和ISP的努力下正在逐步得以解決,而VPN技術的產生為解決安全問題提供了壹條有效途徑。

所謂VPN(VirtualPrivate Network,虛擬私有網絡)是指將物理上分布在不同地點的網絡通過公用骨幹網聯接而成邏輯上的虛擬子網,這裏的公用網主要指Interet。為了保障信息在Internet上傳輸的安全性,VPN技術采用了認證、存取控制、機密性、數據完整性等措施,,以保證了信息在傳輸中不被偷看、篡改、復制。由於使用Internet進行傳輸相對於租用專線來說,費用極為低廉,所以VPN的出現使企業通過Internet既安全又經濟地傳輸私有的機密信息成為可能。

VPN技術除了可以節省費用外,還具有其它特點:

●伸縮性椂能夠隨著網絡的擴張,很靈活的加以擴展。當增加新的用戶或子網時,只需修改已有網絡軟件配置,在新增客戶機或網關上安裝相應軟件並接人Internet後,新的VPN即可工作。

●靈活性棗除了能夠方便地將新的子網擴充到企業的網絡外,由於Intemet的全球連通性,VPN可以使企業隨時安全地將信息存取到全球的商貿夥伴和顧客。

●易於管理棗用專線將企業的各個子網連接起來時,隨著子網數量的增加,需要的專線數以幾何級數增長。而使用VPN時Internet的作用類似壹個HUB,只需要將各個子網接入Internet即可,不需要進行各個線路的管理。

VPN既可以用於構建企業的Intranet,也可以用於構建Extranet。隨著全球電子商務熱的興起,VPN應用必將越來越廣泛。據Infonetics Reseach的預測,VPN的市場分額將從今天的兩億美元增長到2001年時的119億美元,其中VPN產品的銷售收入就要占其中的十分之壹。

2.基於IPSec規範的VPN技術

1)IPSec協議簡介

IPSec(1P Security)產生於IPv6的制定之中,用於提供IP層的安全性。由於所有支持TCP/IP協議的主機進行通信時,都要經過IP層的處理,所以提供了IP層的安全性就相當於為整個網絡提供了安全通信的基礎。鑒於IPv4的應用仍然很廣泛,所以後來在IPSec的制定中也增添了對IPv4的支持。

最初的壹組有關IPSec標準由IETF在1995年制定,但由於其中存在壹些未解決的問題,從1997年開始IETF又開展了新壹輪的IPSec的制定工作,截止至1998年11月份主要協議已經基本制定完成。不過這組新的協議仍然存在壹些問題,預計在不久的將來IETF又會進行下壹輪IPSec的修訂工作。

2)IPSec基本工作原理

IPSec的工作原理(如圖l所示)類似於包過濾防火墻,可以看作是對包過濾防火墻的壹種擴展。當接收到壹個IP數據包時,包過濾防火墻使用其頭部在壹個規則表中進行匹配。當找到壹個相匹配的規則時,包過濾防火墻就按照該規則制定的方法對接收到的IP數據包進行處理。 這裏的處理工作只有兩種:丟棄或轉發。

圖1 IPSec工作原理示意圖

IPSec通過查詢SPD(Security P01icy Database安全策略數據庫)決定對接收到的IP數據包的處理。但是IPSec不同於包過濾防火墻的是,對IP數據包的處理方法除了丟棄,直接轉發(繞過IPSec)外,還有壹種,即進行IPSec處理。正是這新增添的處理方法提供了比包過濾防火墻更進壹步的網絡安全性。

進行IPSec處理意味著對IP數據包進行加密和認證。包過濾防火墻只能控制來自或去往某個站點的IP數據包的通過,可以拒絕來自某個外部站點的IP數據包訪問內部某些站點,.也可以拒絕某個內部站點方對某些外部網站的訪問。但是包過濾防火墻不能保證自內部網絡出去的數據包不被截取,也不能保證進入內部網絡的數據包未經過篡改。只有在對IP數據包實施了加密和認證後,才能保證在外部網絡傳輸的數據包的機密性,真實性,完整性,通過Internet進新安全的通信才成為可能。

IPSec既可以只對IP數據包進行加密,或只進行認證,也可以同時實施二者。但無論是進行加密還是進行認證,IPSec都有兩種工作模式,壹種是與其前壹節提到的協議工作方式類似的隧道模式,另壹種是傳輸模式。

傳輸模式,如圖2所示,只對IP數據包的有效負載進行加密或認證。此時,繼續使用以前的IP頭部,只對IP頭部的部分域進行修改,而IPSec協議頭部插入到IP頭部和傳輸層頭部之間。

圖2 傳輸模式示意圖

隧道模式,如圖3所示,對整個IP數據色進行加密或認證。此時,需要新產生壹個IP頭部,IPSec頭部被放在新產生的IP頭部和以前的IP數據包之間,從而組成壹個新的IP頭部。

圖3隧道模式示意圖

3)IPSec中的三個主要協議

前面已經提到IPSec主要功能為加密和認證,為了進行加密和認證IPSec還需要有密鑰的管理和交換的功能,以便為加密和認證提供所需要的密鑰並對密鑰的使用進行管理。以上三方面的工作分別由AH,ESP和IKE三個協議規定。為了介紹這三個協議,需要先引人壹個非常重要的術語棗SA(Securlty Association安全關聯)。所謂安全關聯是指安全服務與它服務的載體之間的壹個“連接”。AH和ESP都需要使用SA,而IKE的主要功能就是SA的建立和維護。只要實現AH和ESP都必須提供對SA的支持。

通信雙方如果要用IPSec建立壹條安全的傳輸通路,需要事先協商好將要采用的安全策略,包括使用的加密算法、密鑰、密鑰的生存期等。當雙方協商好使用的安全策略後,我們就說雙方建立了壹個SA。SA就是能向其上的數據傳輸提供某種IPSec安全保障的壹個簡單連接,可以由AH或ESP提供。當給定了壹個SA,就確定了IPSec要執行的處理,如加密,認證等。SA可以進行兩種方式的組合,分別為傳輸臨近和嵌套隧道。

1)ESP(Encapsulating Secuity Fayload)

ESP協議主要用來處理對IP數據包的加密,此外對認證也提供某種程度的支持。ESP是與具體的加密算法相獨立的,幾乎可以支持各種對稱密鑰加密算法,例如DES,TripleDES,RC5等。為了保證各種IPSec實現間的互操作性,目前ESP必須提供對56位DES算法的支持。

ESP協議數據單元格式三個部分組成,除了頭部、加密數據部分外,在實施認證時還包含壹個可選尾部。頭部有兩個域:安全策略索引(SPl)和序列號(Sequencenumber)。使用ESP進行安全通信之前,通信雙方需要先協商好壹組將要采用的加密策略,包括使用的算法、密鑰以及密鑰的有效期等。“安全策略索引”使用來標識發送方是使用哪組加密策略來處理IP數據包的,當接收方看到了這個序號就知道了對收到的IP數據包應該如何處理。“序列號”用來區分使用同壹組加密策略的不同數據包。加密數據部分除了包含原IP數據包的有效負載,填充域(用來保證加密數據部分滿足塊加密的長度要求)包含其余部分在傳輸時都是加密過的。其中“下壹個頭部(Next Header)”用來指出有效負載部分使用的協議,可能是傳輸層協議(TCP或UDP),也可能還是IPSec協議(ESP或AH)。

通常,ESP可以作為IP的有效負載進行傳輸,這JFIP的頭UKB指出下廣個協議是ESP,而非TCP和UDP。由於采用了這種封裝形式,所以ESP可以使用舊有的網絡進行傳輸。

前面已經提到用IPSec進行加密是可以有兩種工作模式,意味著ESP協議有兩種工作模式:傳輸模式(Transport Mode)和隧道模式(TunnelMode)。當ESP工作在傳輸模式時,采用當前的IP頭部。而在隧道模式時,侍整個IP數據包進行加密作為ESP的有效負載,並在ESP頭部前增添以網關地址為源地址的新的IP頭部,此時可以起到NAT的作用。

2)AH(Authentication Header)

AH只涉及到認證,不涉及到加密。AH雖然在功能上和ESP有些重復,但AH除了對可以對IP的有效負載進行認證外,還可以對IP頭部實施認證。主要是處理數據對,可以對IP頭部進行認證,而ESP的認證功能主要是面對IP的有效負載。為了提供最基本的功能並保證互操作性,AH必須包含對HMAC?/FONT>SHA和HMAC?/FONT>MD5(HMAC是壹種SHA和MD5都支持的對稱式認證系統)的支持。

AH既可以單獨使用,也可在隧道模式下,或和ESP聯用。

3)IKE(Internet Key Exchange)

IKE協議主要是對密鑰交換進行管理,它主要包括三個功能:

●對使用的協議、加密算法和密鑰進行協商。

●方便的密鑰交換機制(這可能需要周期性的進行)。

●跟蹤對以上這些約定的實施。

3.VPN系統的設計

如圖4所示,VPN的實現包含管理模塊、密鑰分配和生成模塊、身份認證模塊、數據加密/解密模塊、數據分組封裝/分解模塊和加密函數庫幾部分組成。

管理模塊負責整個系統的配置和管理。由管理模塊來決定采取何種傳輸模式,對哪些IP數據包進行加密/解密。由於對IP數據包進行加密需要消耗系統資源,增大網絡延遲,因此對兩個安全網關之間所有的IP數據包提供VPN服務是不現實的。網絡管理員可以通過管理模塊來指定對哪些IP數據包進行加密。Intranet內部用戶也可以通過Telnet協議傳送的專用命令,指定VPN系統對自已的IP數據包提供加密服務。

密鑰管理模塊負責完成身份認證和數據加密所需的密鑰生成和分配。其中密鑰的生成采取隨機生成的方式。各安全網關之間密鑰的分配采取手工分配的方式, 通過非網絡傳輸的其它安全通信方式完成密鑰在各安全網關之間的傳送。各安全網關的密鑰存貯在密數據庫中,支持以IP地址為關鍵字的快速查詢獲取。

身份認證模塊對IP數據包完成數字簽名的運算。整個數字簽名的過程如圖5所示:

圖5 數字簽名

首先,發送方對數據進行哈希運算h=H(m),然後 用通信密鑰k對h進行加密得到簽名Signature={ h} key。發送方將簽名附在明文之後,壹起傳送給接收方。 接收方收到數據後,首先用密鑰k對簽名進行解密得到 h,並將其與H(m)進行比較,如果二者壹致,則表明數據是完整的。數字簽名在保證數據完整性的同時,也起到了身份認證的作用,因為只有在有密鑰的情況之下,才能對數據進行正確的簽名。

數據加密/解密模塊完成對IP數據包的加密和解密操作。可選的加密算法有IDEA算法和DES算法。前者在用軟件方式實現時可以獲得較快的加密速度。為了 進壹步提高系統效率,可以采用專用硬件的方式實現數據的加密和解密,這時采用DES算法能得到較快的加密速度。隨著當前計算機運算能力的提高,DES算法的安 全性開始受到挑戰,對於安全性要求更高的網絡數據,數據加密/解密模塊可以提供TriPle DES加密服務。

數據分組的封裝/分解模塊實現對IP數據分組進行安全封裝或分解。當從安全網關發送IP數據分組時,數據分組封裝/分解模塊為IP數據分組附加上身份認

證頭AH和安全數據封裝頭ESP。當安全網關接收到IP 數據分組時,數據分組封裝/分解模塊對AH和ESP進行協議分析,並根據包頭信息進行身份驗證和數據解密。

加密函數庫為上述模塊提供統壹的加密服務。加密 函數庫設計的壹條基本原則是通過壹個統壹的函數接口界面與上述模塊進行通信。這樣可以根據實際的需

要,在掛接加密算法和加密強度不同的函數庫時,其它模塊不需作出改動。

4.幾種典型的VPN應用方案

VPN的應用有兩種基本類型:撥號式VPN與專用式VPN。

撥號VPN為移動用戶與遠程辦公者提供遠程內部網訪問,這種形式的VPN是當前最流行的形式。撥號VPN業務也稱為“公司撥號外包”方式。按照隧道建立的場所,撥號VPN分為兩種:在用戶PC機上或在服務提供商的網絡訪問服務器(NAS)上。

專用VPN有多種形式,其***同的要素是為用戶提供IP服務,壹般采用安全設備或客戶端的路由器等設備在IP網絡上完成服務。通過在幀中繼或ATM網上安裝IP接口也可以提供IP服務。專用業務應用通過WAN將遠程辦公室與企業的內部網與外部網連接起來,這些業務的特點是多用戶與高速連接,為提供完整的VPN業務,企業與服務提供商經常將專用VPN與遠程訪問方案結合起來。

目前剛出現壹種VPN知覺的網絡,服務提供商將很快推出壹系列新產品,專門用於提供商在向企業提供專用增值服務時對擴展性與靈活性的需求。

5.結束語

總之,VPN是壹項綜合性的網絡新技術,即使在網絡高度發達的美國也才推出不久,但是已顯示出強大的生命力,Cisco、3Com、Ascend等公司已推出了各自的產品。但是VPN產品能否被廣泛接受主要取決於以下兩點:壹是VPN方案能否以線路速度進行加密,否則將會產生瓶頸;二是能否調度和引導VPN的數據流到網絡上的不同管理域。

在中國,由於網絡基礎設施還比較落後,計算機應用水平也不高,因此目前對VPN技術的需求還不高,大多數廠商還處在徘徊觀望階段,但是隨著國民經濟信息化進程的加快,特別是政府上網、電子商務的推動,VPN技術將會大有用武之地。

  • 上一篇:音樂海報psd-如何用ps做海報
  • 下一篇:iView爬坑記——表單驗證
  • copyright 2024編程學習大全網