999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向移動虛擬化應用的安全傳輸協議研究與設計

2018-12-22 07:40:04李大衛楊兆元
計算機工程與設計 2018年12期

李大衛,楊兆元,王 斌

(1.北京計算機技術及應用研究所,北京 100854;2.火箭軍駐北京地區專裝軍代室,北京 100083)

0 引 言

目前,由于對移動應用的相關安全風險認識不足,在開發應用時沒有將信息安全列入軟件全生命周期,而導致移動終端應用中存在大量的惡意代碼、漏洞等[1],用戶在訪問應用時惡意代碼會被釋放,對移動終端中所存儲的數據進行竊取。為避免重要數據在傳輸過程中被竊取的損失,國內專家和學者們對移動終端數據安全進行了深入研究,采用了多種安全手段來實現移動終端數據的安全,如文獻[2]提出了移動終端安全防護體系,從硬件層、系統層及應用層來分析如何應對移動終端數據所面臨的安全威脅;文獻[3]中提出的可信移動終端安全方案可以有效防止攻擊者訪問、竊取和篡改合法用戶在服務中存儲的隱私數據,通過利用ARMTrustZone硬件隔離技術構建可信移動終端;文獻[4]提出了一種基于容器技術的虛擬化技術,使多個Android系統同時運行在一個設備上,并在Linux內核中生成多個相互隔離的運行空間,以用于保證用戶數據的安全性。

然而,上述解決方案的移動終端數據仍然存儲在終端上,無法保證數據安全。通過移動虛擬化技術在移動終端上顯示服務器端的文檔瀏覽頁面,從而實現數據不落地,不易造成數據泄漏。由于移動虛擬化的高安全性主要體現在數據傳輸過程中所使用的通信協議,如何進行安全的數據傳輸則成為了移動虛擬化應用中數據安全防護的關鍵點。

1 RDP協議分析

1.1 RDP協議架構

遠程桌面傳輸協議(remote desktop protocol)是一種支持多通道數據通信的網絡通信協議,當與服務器成功建立通信后,可通過虛擬信道進行數據傳輸。RDP協議以傳輸控制協議(TCP)為基礎,其架構是建立在傳輸層協議之上的,RDP協議上層的數據通過流結構體傳輸到網絡連接層,再通過網絡連接層的套接字進行發送[5]。該協議采用了與開放系統互連參考模型(OSI)類似的架構層次,協議棧由上至下主要分為5層,最底層為網絡連接層,在其上面分別是傳輸服務數據層,虛擬通道層,加密解密層和功能數據層[6];其協議棧架構如圖1所示。

圖1 RDP協議架構

網絡連接層的功能與傳統的TCP/IP層功能一樣,主要是采用握手過程建立通信雙方穩定的網絡連接。一個完整的RDP數據包格式[7]組成見表1,數據在最開始的時候,先添加的是功能數據層控制頭,之后按RDP協議棧架構層次依次添加加密解密層控制頭、虛擬通道層控制頭及傳輸服務層控制頭,最后將數據包傳遞到網絡連接層,由TCP/IP協議對其進行標準的控制頭封包。

表1 RDP數據報頭結構

與網絡連接層通信的上層為傳輸服務層,該層用于表示RDP數據的正常連接通信,可將網絡連接層發送的連續數據信息打包或分割成大小不同的多個數據包進行傳輸,避免了RDP數據包過長而造成數據丟失;虛擬通道層是對不同的數據分不同的虛擬通道進行通信;再往上就是RDP協議的加密解密層,該層主要是對所有的通信數據進行加密、解密處理,從而實現RDP數據包的加密傳輸;功能數據層主要是對上層應用提供支持,用于完成RDP協議的最終交互,且所有的功能數據信息(如畫面信息、聲音數據、輸入數據等)都通過該層進行處理。

1.2 RDP安全機制

RDP會話在建立連接和傳輸數據的過程中采取了多種安全機制,客戶端和服務器互相發送請求以認證通信雙方的身份有效性,并建立數據傳輸鏈路;然后雙方之間進行密鑰協商,使用協商出的密鑰對數據進行加密傳輸[8]。會話建立過程如圖2所示。

圖2 建立RDP會話

(1)會話連接建立階段

在建立連接階段,RDP協議使用了單向認證安全策略,并使用RSA加密算法對進行密鑰交換,但此過程中服務器僅對客戶端進行身份驗證。

1)客戶端先向服務器發送初始化連接請求包,其中包含客戶端可使用的加密算法、密鑰交換算法、密鑰協商算法和消息認證碼等;

2)當服務器收到客戶端發送的連接請求后,會返回一個包含加密算法、密鑰交換算法和消息認證碼的響應數據包,同時服務器會隨機生成一個大整數和RSA公鑰,將其一并發送給客戶端;

3)客戶端收到響應數據包后,獲取服務器生成的大整數和公鑰,隨后隨機產生客戶端自己的大整數,并使用服務器的RSA公鑰對大整數進行加密,最后將加密后的數據包發送給服務器。

(2)數據傳輸階段

在數據傳輸的過程中,使用RC4對稱加密算法對通信數據進行加密操作[9]。在通信雙方進行會話連接的過程中,雙方依據特定的算法使用各自產生的隨機數進行密鑰協商,生成RC4的密鑰,并使用消息認證碼進行完整性校驗對比。密鑰交換算法可保證密鑰的安全性,雙方使用生成的RC4密鑰對數據進行加密。

1.3 RDP協議安全性分析

RDP協議在使用的過程中,由于通信雙方只進行單向的身份認證,客戶端無法驗證服務器的身份和數據包的完整性。攻擊者可偽造一個虛假服務器,利用ARP地址欺騙、DNS欺騙等攻擊方式將偽造的服務器公鑰傳輸至客戶端,并構建一個完整的RDP會話,從而獲取到傳輸過程中的敏感信息[10]。

高安全性的RDP協議需依賴于復雜的握手過程和較長的加密密鑰,但會明顯增加協議的響應時間、網絡帶寬和吞吐量等性能[11]。由于中間人攻擊可利用RDP協議的單向認證機制對敏感數據進行竊取,需防范不同類型的地址欺騙,為保證移動虛擬化應用系統數據傳輸的可靠性和安全性,故結合安全套接層來設計實現一種客戶端與服務端的嚴格雙向驗證安全協議。

2 移動虛擬化安全傳輸協議設計

通過對RDP協議進行安全性分析,RDP協議的單向身份認證機制無法抵御各種類型的地址欺騙,攻擊者可對數據包進行捕捉,或偽造一個會話對客戶端進行信息騙取,會導致數據泄漏。針對該協議的不足,提出了移動虛擬化安全傳輸協議架構,設計了一種基于橢圓曲線加密算法[12]的雙向身份認證機制。通過對原有RDP協議棧進行結構重建,將安全套接層添加至協議棧的網絡連接層之上,以實現客戶端和服務器間的雙重身份認證。改進后的安全傳輸協議框架如圖3所示。

圖3 移動虛擬化安全傳輸協議框架

2.1 移動虛擬化安全傳輸協議安全設計

在雙方進行握手連接的過程中,客戶端和服務器的認證機制分為3個級別:完全匿名,單向認證,雙向認證。完全匿名或單向認證方式在建立連接過程中屬于不安全的狀態,中間人攻擊可輕易騙取傳輸的信息。安全套接層采用了基于RSA的非對稱加密算法來保證密鑰在進行雙方交換中的安全性,但在其握手過程中,服務器僅對客戶端進行認證,而客戶端不驗證服務器的身份信息。同時,解密RSA私鑰將大量占用服務器的計算時間,使客戶端一直處于等待狀態。

隨著RSA加密解密過程復雜性的不斷增加,需要的RSA隨機數和密鑰的長度也越來越大,這使整個的加解密運算過程速率過低。利用橢圓曲線加密算法的計算量小,存儲空間占用小,處理速度快,且帶寬要求低[13]這一優勢,可通過橢圓加密算法實現同等的加密算法安全強度,故橢圓曲線加密算法(ECC)算法應用于安全套接層較RSA算法有更高的安全性。利用基于橢圓曲線加密算法擴展的Diffie-Hellman密鑰交換算法(ECDH)和數字簽名算法(ECDSA)來替換RSA公鑰密碼算法的密鑰交換算法(DH)和數字簽名算法(DSA),并通過RDP協議的加密解密層對應用層數據進行加密操作,因此數據是以密文的形式在虛擬通道中傳輸,只有消息認證碼比對后的密鑰才能解密密文,從而可對中間人攻擊做出防范。

通過上述分析,為實現通信雙方的雙向身份認證,故在RDP協議的傳輸服務層與網絡連接層之間插入安全套接層,并利用橢圓曲線加密算法來改進安全套接層(secure socket layer)的安全性,通信雙方增加了相互的證書認證策略,新的層次結構如圖4所示。服務器將對響應數據包格式進行修改,當服務器收到客戶端發送RDP請求數據包后,直接發送一個包含數字簽名和ECC公鑰的證書;當客戶端收到響應報文后,對服務器所發送的證書進行完整性校驗,即利用客戶端的消息認證碼來驗證ECC證書和數字簽名的有效性及真實性,并共同協商出共享密鑰。

圖4 加入安全套接層的協議層次結構

RDP協議在使用安全套接層后,服務器的RSA公鑰和隨機數會以證書的形式發送給客戶端,客戶端使用消息認證碼和數字簽名對其來源進行認證,并校驗它的完整性。中間人攻擊的第一步為中間人向客戶端發送一個偽造的服務器公鑰,一旦在建立連接階段增加了客戶端對服務器的認證機制,則客戶端可以檢驗該公鑰的真實性。

2.2 移動虛擬化安全傳輸協議握手連接過程設計

通過使用橢圓曲線加密算法(ECC)來代替安全套接層中的RSA加密算法[14,15],實現了客戶端與服務器身份信息的雙向認證,且使用擴展的密鑰交換算法(ECDH)代替RSA密鑰交換算法,用ECDSA簽名算法來實現協議的數字簽名過程。當攻擊者嘗試通過客戶端與服務器通信時,若篡改了通信過程中的公鑰信息,則驗證簽名不成立。基于ECC加密算法的SSL握手過程如圖5所示。

圖5 基于橢圓加密算法的安全套接層握手過程

(1)第一階段為通信雙方建立連接的階段。客戶端向服務器發送連接請求數據報文即為Client Hello消息,消息中主要包括SSL協議版本號,消息認證碼和支持的密碼算法集合。服務器從接收到的Client Hello報文中得到客戶端所支持的加密算法集合,并將會話ID和確認使用的SSL版本號及加解密算法集合(ECC-RC4)打包整合為響應消息Sever Hello,并發送給客戶端;

(2)第二階段為服務器發送證書并向客戶端索要證書的階段。

1)首先,服務器私鑰KS由接口ECPrivateKey中的getS()函數生成;橢圓曲線域參數通過利用調用類ECParameterSpec中的函數ECParameterSpec()可直接獲取;接下來,使用接口ECPublicKey中的getW()函數和私鑰KS生成與之相對應的公鑰QS=KS*P(P為橢圓曲線的基點)。與此同時,服務器使用自生的私鑰KS生成簽名,并利用私鑰KS對公鑰的散列值進行數字簽名SigS=ECDSAKS(SHA(QS))。

2)其次,服務器發送Certificate消息,即服務器向客戶端發送用于ECDH密鑰協商的ECC證書,服務器公鑰QS和公鑰算法參數中的橢圓曲線基點P及數字簽名SigS等信息。

3)服務器向客戶端發送Certificate Request消息,要求客戶端提供ECDSA數字簽名證書;服務器端發送Server Hello Done消息,完成服務器與客戶端之間的通信步驟,服務器等待客戶端的響應。

(3)第三階段為客戶端發送證書和進行密鑰交換的階段。

1)客戶端收到數據包后,將對服務器公鑰QS和服務器的數字簽名進行驗證,判斷簽名是否為SHA(QS),判斷失敗則丟棄數據包;判斷成功后,客戶端隨機生成私鑰KC,獲得公鑰QC=KC*P,并生成自己的數字簽名,利用私鑰KC對公鑰的哈希值進行簽名SigC=ECDSAKC(SHA(QC))。

2)為響應服務器的Certificate-Request信息,客戶端向服務器發送基于ECDSA簽名的公鑰證書,該證書可用于對客戶端的身份認證。

3)客戶端完成對ECDH密鑰協商證書的完整性校驗后,解析該證書,得到服務器公鑰QS和橢圓曲線域參數;客戶端利用生成的公鑰和私鑰進行ECDH密鑰協商,從而計算出共享密鑰k=QS*KC;隨后,客戶端將公鑰QC、基點P及數字簽名SigC等有效信息整合打包,并通過Client Key Exchange消息傳送至服務器。

4)客戶端利用其私鑰KC對發送至服務器的消息進行ECDSA簽名,并將簽名信息嵌入在Certificate Verify消息中。

(4)第四階段為雙方協商共享密鑰階段。

1)服務器獲得客戶端的ECDSA簽名證書后,先對證書的真實性和有效性進行校驗,其次,通過對客戶端所發送的證書內容進行比對,驗證其是否與Certificate-Request消息中要求的類型相匹配;服務器通過解析證書獲得用于密鑰協商的公鑰QC,并使用密鑰協商算法協商出共享密鑰k=QC*KS。

2)服務器使用ECDSA簽名算法驗證客戶端的簽名信息,若驗證通過,客戶端擁有與該公鑰對應的私鑰,并證明客戶端的身份真實有效。

3)當通信雙方發送Change Cipher Spec消息后,驗證密鑰交換是否成功,若密鑰交換成功,則向對方發送Fini-shed消息,表示雙方可以開始傳輸應用層數據。

2.3 移動虛擬化安全傳輸協議數據連接過程設計

通過改進RDP協議后,其安全性由安全套接層決定,數據連接流程圖如圖6所示。

圖6 移動虛擬化安全傳輸協議數據連接流程

(1)首先,網絡連接層進行套接字的建立,利用函數connect_tcp()在服務器與客戶端間建立會話連接,使雙方能夠進行通信。

(2)使用安全套接層的目的是實現通信雙方的雙向身份認證;安全套接層利用生成的密鑰對客戶端和服務器端進行身份驗證,若通信雙方身份驗證成功,則表示雙方可進行收發有效信息。

(3)安全套接層的連接建立后,利用iso_init()對會話進行初始化,客戶端通過函數send_connection_request()向服務器發送傳輸數據層的請求連接數據包,隨后,服務器返回一個連接確認數據包,則傳輸數據層建立連接。

(4)傳輸數據層成功建立連接后,客戶端利用函數send connection initial()產生多通道通信服務協議的初始化數據包,并將其發送至服務器;隨之得到服務器發送的連接響應數據包。虛擬通道層的得到數據直接交由加密解密層處理,從而獲得加密解密層所需的有效信息。

(5)加密解密層開始建立連接,利用雙方會話過程中協商出的密鑰對通道中的數據進行加密和解密操作,其加密算法為RC4。

(6)在加密解密層成功連接之后,客戶端發送信息給服務器,服務器返回一個協議數據單元,表示功能數據層建立連接,可開始傳輸圖像信息及相關數據,完成安全傳輸協議的最終交互。

2.4 移動虛擬化安全傳輸協議應用場景

在移動虛擬化數據傳輸過程中,由于安全傳輸協議會建立邏輯上的多數據傳輸通道,可實現應用與移動終端間的數據交互。虛擬通道是以不同數據類型為基準,主通道負責把服務器端的圖像信息傳送到終端并顯示,指令通過輸入輸出通道來進行命令傳輸,且視頻也具有獨立的傳輸通道。當虛擬通道層建立連接后,虛擬通道創建成功,根據不同的數據類型就按照規定的數據通道進行傳輸,在傳輸和處理數據時相互隔離,并使用安全傳輸協議中的加密解密層對功能數據層數據進行加密(RC4加密算法),故數據在傳輸過程中是處于密文狀態的。即使造成數據丟失,數據均為不完整的加密圖像或文檔數據,可保證移動終端數據的安全性。

3 移動虛擬化安全傳輸協議安全性分析及實驗

3.1 實驗分析

本文利用開源RDP源程序的基礎上完成了基于橢圓曲線加密算法的安全套接層的擴展,通過搭建環境對移動虛擬化安全傳輸協議進行實驗分析。硬件平臺為普通臺式機(2 G內存),操作系統為Windows 2000,為避免網絡性能對測試數據的影響,只執行了本地連接的測試,并對其連接過程進行抓包,截取證書及密鑰交換信息,如圖7所示。

圖7 證書和密鑰交換數據包信息

3.2 安全性對比

移動虛擬化安全傳輸協議將橢圓曲線加密算法應用于身份認證和密鑰協商階段,通信雙方提供了各自的數字簽名和證書,并有效地驗證了雙方的身份信息,防止中間人對數據包進行攻擊。通過對移動虛擬化安全傳輸協議與RDP協議進行安全性和性能分析,安全傳輸協議在握手連接過程中對通信雙方的身份進行有效驗證,并采用橢圓曲線算法證書對密鑰及隨機數進行封裝發送,實現了可抵御中間人攻擊的數據傳輸方案。

協議的安全性對比,見表2。

表2 協議的安全性對比

通過對移動虛擬化安全傳輸協議與遠程桌面協議進行比較說明,在資源占用最多的握手連接和數據連接建立階段,其響應時間只是略有增大(最大18.7%),可忽略不計。通信雙方經過互相發送基于橢圓曲線算法的證書對身份進行確認,驗證了身份有效性,確保了數據在網絡中的安全傳輸。

4 結束語

當用戶在外無法使用固定終端進行辦公時,可通過移動虛擬化系統來訪問后臺服務器上的應用和數據,因此帶來了一系列的數據安全傳輸及數據存儲問題。由于移動終端計算能力不高,且橢圓曲線加密算法密鑰長度較短,存儲空間較小,故可利用基于橢圓曲線加密算法的安全套接層對遠程桌面協議(RDP)來進行改進。服務器和客戶端在通信時,在原本的單向身份認證的基礎上增加了對雙方身份的驗證操作,提高了數據握手連接過程中的安全性。

主站蜘蛛池模板: 久久青草免费91线频观看不卡| 日韩激情成人| 激情無極限的亚洲一区免费| 亚洲热线99精品视频| 国产一级在线观看www色| 久久a级片| 亚洲国产一区在线观看| 四虎影视国产精品| 日韩精品无码免费专网站| 国产性生大片免费观看性欧美| 欧美国产在线看| 日韩欧美中文字幕在线精品| 亚洲AⅤ永久无码精品毛片| 一本色道久久88综合日韩精品| 无码日韩精品91超碰| 国产亚洲视频中文字幕视频| 在线综合亚洲欧美网站| 99久久精品无码专区免费| 草草影院国产第一页| 精品久久久久久成人AV| 亚洲av无码人妻| 精品少妇人妻av无码久久| 国产原创演绎剧情有字幕的| 国产剧情一区二区| 国产精品v欧美| 亚洲国产成人超福利久久精品| 国产麻豆va精品视频| 在线国产毛片手机小视频| 久久精品66| 国产成人精品第一区二区| 国产精品久久久精品三级| 伊伊人成亚洲综合人网7777| 久久综合九色综合97婷婷| 亚洲第一区欧美国产综合| 激情无码视频在线看| 亚洲视频免| 国产区人妖精品人妖精品视频| 欧美无专区| 亚洲无码精品在线播放| 成人国内精品久久久久影院| 天天做天天爱夜夜爽毛片毛片| 伊人色天堂| 青草视频免费在线观看| 9久久伊人精品综合| 中文字幕色在线| 国产成人精品一区二区不卡| 国产国语一级毛片| 亚洲天堂网站在线| 亚洲成人在线免费观看| 国产精品视频观看裸模| 国产青榴视频| 久久国产亚洲欧美日韩精品| 久久国产亚洲偷自| 国产精品久久久久久久伊一| 亚洲五月激情网| 亚洲乱码视频| 波多野结衣国产精品| 久久国产拍爱| 日本高清在线看免费观看| 91 九色视频丝袜| 精品91在线| 99精品视频九九精品| 热伊人99re久久精品最新地| 天堂岛国av无码免费无禁网站 | 色妺妺在线视频喷水| 一级香蕉视频在线观看| 国产色婷婷| 为你提供最新久久精品久久综合| 亚洲午夜18| 新SSS无码手机在线观看| 无码不卡的中文字幕视频| 青青操国产视频| 国产精品无码一二三视频| 呦女精品网站| 在线国产欧美| 青草视频网站在线观看| 久无码久无码av无码| 免费国产一级 片内射老| 亚洲精品无码在线播放网站| 中文字幕欧美成人免费| 又粗又大又爽又紧免费视频| 日本一区高清|