三生總結上半年open的原理_第1頁
三生總結上半年open的原理_第2頁
三生總結上半年open的原理_第3頁
三生總結上半年open的原理_第4頁
三生總結上半年open的原理_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

引技術通過密鑰交換、封裝、認證、加密在公共網(wǎng)絡上建立起私密的隧道,保障傳輸數(shù)據(jù)的完整性、私密性和有效性。Open是近年來新出現(xiàn)的開放源碼項目,實現(xiàn)了SSL的一種傳統(tǒng)SSL通過端口的方法實現(xiàn),服務器根據(jù)應用協(xié)議的類型(如http,net等)做相應的端口,客戶端與服務器之間建立SSL安全連接,客戶端與應用服務器之間的所有數(shù)據(jù)傳輸通過服務器轉發(fā)。這種實現(xiàn)方式煩瑣,應用范圍也比較窄:僅適用TCP固定協(xié)議都必須重新開發(fā),且在中解析應用協(xié)議才能實現(xiàn),如FTP協(xié)議;不能對TCP以外的其它網(wǎng)絡通信協(xié)議進行;服務器前端的也要根據(jù)端口的配置變化進行相應調(diào)整Open以一種全新的方式實現(xiàn)了SSL的功能,克服了傳統(tǒng)SSL的一些缺陷,擴展了應用領域,并且上只需開放TCP或UDP協(xié)議的一個端口。Open的工作原Linux2.4版本以上,操作系統(tǒng)支持一個名為tun的設備,tun設備的驅動程序中包含兩個部分,一部分是字符設備驅動,一部分是網(wǎng)卡驅動。網(wǎng)卡的驅動把從TCP/IP協(xié)議棧收到的數(shù)據(jù)包結構skb放于tun設備的隊列,用戶進程通過調(diào)用字符設備接口read獲得完整的IP數(shù)據(jù)包,字符驅動read函數(shù)的功能是從設備的隊列數(shù)據(jù),將態(tài)的skb傳遞給用戶;反過來字符驅動write函數(shù)給用戶提供了把用戶態(tài)的數(shù)據(jù)寫入態(tài)的接口,write函數(shù)把用戶數(shù)據(jù)寫入空間并穿入TCP/IP協(xié)議棧。該設備既能以字符設備的方式被讀寫,作為系統(tǒng)的虛擬網(wǎng)卡,也具有和物理網(wǎng)卡相同的特點:能夠配置IP地址和路由。對虛擬網(wǎng)卡的使用是Open實現(xiàn)其SSL功能的關鍵。Open服務器一般需要配置一個虛擬IP地址池和一個自用的靜態(tài)虛擬IP地址(靜態(tài)地址和地址池必須在同一個子網(wǎng)中),然后為每一個成功建立SSL連接的客戶端動態(tài)分配一個虛擬IP地址池中未分配的地址。這樣,物理網(wǎng)絡中的客戶端和Open服務器就連接成一個虛擬網(wǎng)絡上的星型結構局域網(wǎng),Open服務器成為每個客戶端在虛擬網(wǎng)絡上的網(wǎng)關。Open服務器同時提供對客戶端虛擬網(wǎng)卡的路由管理。當客戶端對Open服務器后端的應用服務器的任何訪問時,數(shù)據(jù)包都會經(jīng)過路由流經(jīng)虛擬網(wǎng)卡,Open程序在虛擬網(wǎng)卡上截獲數(shù)據(jù)IP報文,然后使用SSL協(xié)議將這些IP報文封裝起來,再經(jīng)過物理網(wǎng)卡發(fā)送出去。Open的服務器和客戶Open的服務器和客戶端支持tcp和udp兩種連接方式,只需在服務端和客戶端預先定義好連接過程包括SSL的握手以及虛擬網(wǎng)絡上的管理信息,Open將虛擬網(wǎng)上的網(wǎng)段、地址、路入虛擬網(wǎng)卡做SSL的處理,再在tcpudp的連接上從物理網(wǎng)卡發(fā)送出去。應用層的外出數(shù)據(jù),經(jīng)過系統(tǒng)調(diào)用接口傳入TCP/IP層做處理,在TCP/IP經(jīng)過路由到虛數(shù)據(jù)包從區(qū)到用戶區(qū)的,Open調(diào)用虛擬網(wǎng)卡的字符處理程序tun_read(),到設備上的數(shù)據(jù)包,對的數(shù)據(jù)包使用SSL協(xié)議做封裝處理后,通過socket系統(tǒng)調(diào)用發(fā)送出物理網(wǎng)卡接收數(shù)據(jù)包,經(jīng)過TCP/IP上傳到Open,Open通過link_socket_read()接收數(shù)據(jù)包,使用SSL協(xié)議進行解包處理,經(jīng)過處理的數(shù)據(jù)包Open調(diào)用虛擬網(wǎng)卡的字符處理程序tun_write()寫入虛擬網(wǎng)卡的字符設備,設備驅動程序完成數(shù)據(jù)從用戶區(qū)到區(qū)的 ,并將數(shù)據(jù)寫入skb鏈表,然后調(diào)用網(wǎng)卡netif_rx()接收程序,數(shù)據(jù)包再次進入系統(tǒng)TCP/IP協(xié)議棧,傳到上層應用程序。如圖1所示。圖 數(shù)據(jù)在系統(tǒng)中的處理過Open提供tun和tap兩種工作模式。在tun模式下,從虛擬網(wǎng)卡上收到的是不含物理幀頭IP數(shù)據(jù)包,SSL處理模塊對IP包進行SSL封裝;在tap模式下,從虛擬網(wǎng)卡上收到的是包含物理幀頭的數(shù)據(jù)包,SSL處理模塊對整個物理幀進行SSL封裝。Tap模式稱為網(wǎng)橋模式,整Open與Open軟件包需要和openssl軟件一起安裝,因為Open調(diào)用了Openssl函數(shù)庫,Open的客戶端和服務端建立SSL的過程是通過調(diào)用Openssl來實現(xiàn)的。通過bio_write()/函數(shù)把數(shù)據(jù)寫入Openssl的狀態(tài)機通道,bio_read()從Openssl果。Open還調(diào)用Openssl的加 Open的應用系統(tǒng)結構介交換機再經(jīng)SSL網(wǎng)關連接到公共的網(wǎng)絡。用戶A和用戶B是部門一的用戶,用戶X和用戶Y是部門二的用戶,用戶可以本部門服務器,但不能直接其它部門的服務器。系統(tǒng)中設備的基本配服務器SSL1、SSL2上安裝Open以服務器方式啟動用戶A、B和服務器SSL2上啟動Open以客戶端方式向服務器SSL1申請建立連接,連接建立成功后分配到的虛擬地址分別為、、。用戶X、Y上啟動Open以客戶端方式向服務器SSL2申請建立連接,連接建立成功后分配到的虛擬地址分別為、。各設備上的地址如下:服務器SSL1:eth1(內(nèi)口 用戶A:eth0:4,tap0:,用戶服務器SSL2:eth1(內(nèi)口 用戶C:eth0:9,tap0五種形用 push 客戶端向SSL1服務器請求建立成功后,客戶端上產(chǎn)生如下路 …用戶A和用戶B就安全的能SSL1服務器的內(nèi)網(wǎng)同部門用戶點到點通用戶A和用戶B分別和SSL1服務器建立連接,服務器使用參數(shù)-,用戶A和用戶B之間就能通過:用戶A---SSL 用戶B這樣的安全途徑通圖 系統(tǒng)結SSL2做為客戶端和SSL1建立連接(或者1做為客戶端和2建立連接)*… …服務器1、2和服務器3和4的數(shù)據(jù)交換,由SSL1和SSL2建立起來的安全隧道保用戶跨部門服務當用戶有跨部門服務器的需求時,必須經(jīng)過SSL網(wǎng)關的接力,即先連接到本部門的網(wǎng)關,再轉發(fā)到其它部門SSL網(wǎng)關,然后 到它部門內(nèi)部的服務器。用戶A和SSL1服務器建立連接,SSL2做為客戶端和SSL1建立連接(或者1做為客端和2建立連接)SSL1配置文件中使用參數(shù)-to-,并添加如下選項push 客戶端向 …上增加路 用戶和服務器間數(shù)據(jù)安全傳輸路徑是:用戶A---SSL1---SSL2用戶A和SSL1建立連接,用戶X和SSL2建立連接,2做為客戶端和1建立連接(或者1做為客戶端和2建立連接)。用戶A的系統(tǒng)**…用戶X系統(tǒng)內(nèi)產(chǎn)生如下路由 … 上的路由如下 在2上,流入tap1的數(shù)據(jù)進入2與1建立的安全隧道,流入tap0的數(shù)據(jù)進2和2的客戶端建立的安全隧道。用戶A與用戶X間數(shù)據(jù)安全傳輸路徑是:用戶A---SSL1---SSL2 用戶X。Open是一款基于SSL的開源軟件,它實現(xiàn)了利用SSL來保證網(wǎng)絡通訊安全性的目的,同時避免了傳統(tǒng)SSL僅提供簡單的Web應用的不足,它具有支持各種應用協(xié)議,支持Windows,Linux,B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論