天天看點

衛星終端安全子產品軟體重構系統設計與實作

作者:鴻武紀實
衛星終端安全子產品軟體重構系統設計與實作

麻煩您能在百忙之中抽空點一下“關注”,友善與您讨論和分享,您的支援是我前進的最大動力,謝謝!

随着科技的不斷創新發展,衛星網絡在通信領域中扮演越來越重要的角色,這個領域已經被學術界和工業界重點關注。近年來,衛星網絡在各個國家和地區部署風起雲湧,伴随着衛星網絡的規模結構越來越龐大、複雜,給衛星網絡的安全環境帶來了很大的挑戰。

衛星終端安全子產品是保障衛星網絡空間安全的核心支柱,但是衛星終端安全子產品軟體層面上存在着諸多問題。首先,軟體設計與開發中不可避免的會存在各種各樣的漏洞;其次,一些緊急的突發情況下,比如面臨比較危急的安全事件(遭遇黑客入侵,感染病毒、木馬等),或者安全子產品的某一個功能面臨實際情況的變換需要做出功能上的轉變。

衛星終端安全子產品軟體重構系統設計與實作

此外,軟體釋出了全新版本,擁有更好的性能和更為合理的功能與配置;這些情況下管理者隻有馬上對衛星終端安全子產品執行重構操作才能将這些問題解決。軟體重構主要功能是目前版本的軟體整體或某一部分需要進行重新構造或者目前版本的軟體出現了漏洞或者這個版本的軟體存在更新版本時,通過網絡進行相關檔案的擷取來執行重構操作,以此來保證軟體系統穩定良好的運作,并能夠讓軟體不斷的完善。

完全圓錐型NAT(FullConeNAT)

在這種模式下,來自NAT裝置後面的一個IP位址和端口的所有請求,通過NAT裝置都轉發給同樣的外部IP位址和端口;同時,所有在外網主機都可以直接向這個在外網IP位址和相應的端口傳輸封包,而這個接口也是可以用于與内部主機通訊的。網絡拓撲結構像一個錐體朝外側打開。

這種結構非常簡便,限制也非常低,隻需要配置好内網主機的IP位址和端口與外網IP位址和端口之間的映射關系,任何在外網主機都能夠通過NAT登陸内網主機。一般來說,同一個内網位址隻能對應同一個外網位址。配對完成後,首先需要将資料包傳送到目标節點,之後才可以再次從目标節點擷取資料包。目标的端口沒有限制。完全圓錐型NAT網絡拓撲結構如圖所示。

衛星終端安全子產品軟體重構系統設計與實作

位址限制式圓錐型NAT(AddressRestrictedConeNAT)

這種模式也将一個内網IP位址和網關的所有資料發送給同一個外部網絡IP位址和端口;相比第一種方法的差別是,内網主機向外網主機發出消息後,隻接收資料,而隻有外網主機才可以直接向内網主機發出消息。同一個内網位址隻能與同一個外網位址配對。比對完成後,需要首先向目标伺服器發送一次資料,然後目标伺服器才收到應答的資料。目标端口存在限制。網絡拓撲結構如圖所示。

衛星終端安全子產品軟體重構系統設計與實作

端口限制式圓錐型NAT(PortRestrictedConeNAT)

這種模式的限制條件更加嚴格,如圖所示。除了在以上說明的兩種方法的限制外,還規定了隻有外網主機才可以使用此端口向内網主機傳輸資料包。同樣的内部網絡位址也可以配對為同樣的外部網絡位址,并且在配對完成之後,資料包必須要先發送至目标主機,然後才可以擷取到目标主機發過來的資料包。這種模式是有端口限制的。

衛星終端安全子產品軟體重構系統設計與實作

對稱式NAT(SymmetricNAT)

這種模式将所有與相同的目标有通信關系的内部網絡位址(IP+端口)進行映射;使用相同網絡位址(IP+端口)将資料傳輸到不同的目标這種情況下産生的位址資訊對會不同。它具有端口限制式圓錐型NAT的特質,每當一個内部位址需要一個特定的外部位址時,它都可以與一個新的端口号相關聯。

内部網絡位址相同的情況下,通信目标不同外部網絡位址的配對也不同。在收到回應的資料包之前,必須先向目标發送資料包。網絡拓撲結構如圖所示。

衛星終端安全子產品軟體重構系統設計與實作

epoll機制

epoll屬于Linux核心可擴充I/O事件通知管理機制。在Linux作業系統上運作,它的創造目的是為了代替現在的POSIXselect和poll機制,在一個有着處理大量檔案描述符需求的應用程式當中,可使用此種機制展現出極佳的性能。從功能層面上來說,epoll與poll十分相似,都屬于對多檔案描述符中的事件進行跟蹤,它相似于FreeBSD的kqueue。

底層結構用一個作業系統核心對象構造,它以檔案描述符的方式在使用者空間中顯示。epoll可以通過資料結構紅黑樹來查找正處在被監控階段的檔案描述符。注冊事件時,epoll把待注冊事件加載在紅黑樹的同時建立回調函數,事件發生後将事件連接配接到就緒連結清單上。

衛星終端安全子產品軟體重構系統設計與實作

中心化指定區域重構技術方案

在重構系統的中心化重構模式中,中心伺服器負責指揮重構操作的一切流程,本文設計的中心化重構網絡指定區域重構技術方案是:每次重構系統用戶端啟動後,都要選擇一個自己的重構網絡邏輯區域,選擇完成後,重構系統用戶端根據標明的重構網絡邏輯區域連接配接到對應的中心伺服器。

也就是說,每一個重構網絡邏輯區域都會對應一台或數台伺服器,中心化重構網絡指定區域重構操作開始後,由各個重構網絡邏輯區域對應的伺服器對各重構網絡邏輯區域内的重構系統用戶端進行重構操作。所有的重構網絡邏輯區域對應的伺服器連接配接到一個或多個中心伺服器,由中心伺服器來啟動中心化重構網絡指定區域重構功能,并将重構檔案發送給指定的邏輯區域對應的伺服器。中心化重構網絡的網絡拓撲結構如圖所示。

衛星終端安全子產品軟體重構系統設計與實作

檢測用戶端NAT類型

用戶端首先使用UDP協定建立連接配接,把資料包發送給反射伺服器。伺服器傳輸一條IP-a,但端口不是Port-a的資料包來應答伺服器。反複這種步驟5次。隻要每一次都逾時,就無法得到反射伺服器的應答,這就表示用戶端所處網絡類型為端口綁定NAT;若能收到反射伺服器的回報,說明用戶端所處網絡類型為位址綁定NAT。以上兩種NAT都可以進行P2P通信。

衛星終端安全子產品軟體重構系統設計與實作

TURN功能

在P2P網絡中,用戶端位于内部網絡中,并且通過NAT裝置連接配接到外部網絡。外部網絡中活躍着反射伺服器。此節點想要同線上的另一個或另幾個節點建立連接配接。這些節點也處在NAT網絡環境裡。用戶端通過反射伺服器裝置充當中繼,與所有節點通信。

用戶端利用與目标終端的映射關系建構與反射伺服器的會話。用戶端可以利用指令,在反射伺服器裝置上建立定位資訊,定位資訊的作用是唯一辨別目标節點。隻要建立了定位資訊,伺服器就能根據指令資訊将資料傳輸給相應的節點。

用戶端将目标節點定位資訊裝載到TURN消息中,由反射伺服器擷取并以UDP資料資訊包的形式中繼轉發給目标節點。從相反的方向,目标節點以同樣的方式用UDP包中繼傳送給原節點。而由于TURN消息始終包括了目标節點正在通信節點的定位資訊,使得節點能夠同時通過定位資訊與幾個節點建立連接配接并通信。如圖所示。

衛星終端安全子產品軟體重構系統設計與實作

混合加密程式實作

重構系統中的混合加密部分分為三個相關子子產品來開發,即資料發送處理子產品、通信應用子產品和資料接收處理子產品。其中,資料發送處理子產品負責使用者密鑰生成、計算共享密鑰、加密資料;資料接收處理子產品則完成計算共享密鑰和解密檔案等功能。資料發送處理子產品的密鑰生成功能用于實作使用者每次發送資料所需要的臨時公私鑰對,確定連接配接的兩端程式通信的安全可靠。公私鑰對生成功能實作依賴以下幾個函數。

衛星終端安全子產品軟體重構系統設計與實作

使用SM4算法加密明文資料,得到的結果與發送端公鑰拼接起來。資料加密功能是資料發送處理子產品的關鍵功能,該功能使用SM4加密算法執行對資料的加密處理,同時用SM3算法計算加密資料的摘要值,得到的摘要值再用SM2算法計算數字簽名,得到的結果與發送端公鑰拼接起來。待發送的資料内容結構為:發送端公鑰+數字簽名+密文資訊。

反射伺服器程式實作

反射伺服器程式的實作為epoll機制的多線程模式,每一個終端的反射請求都由一個線程來進行處理,程式的具體實作過程如下:反射伺服器收到UDP資料包形式的反射請求;反射伺服器開辟一個單獨的線程處理這個請求,首先進入STUN協定處理部分,處理流程如下。

發送3個檢測類型資料包以檢查用戶端是否處于NAT模式。如果用戶端一次都沒有響應,表明伺服器端就無法實作UDP通訊。也有可能因為防火牆導緻無法使用UDP通信;如果能收到回應,進入下一步的NAT類型檢測;檢測NAT類型,同時依據NAT類型選擇用戶端的外網IP和端口号。

反射伺服器得到外網IP和端口号後,将其發送給用戶端,并接收用戶端的接收确認;反射伺服器接收到接收确認消息後,在伺服器内為該用戶端開啟一對IP位址-端口号,并傳回給用戶端。

衛星終端安全子產品軟體重構系統設計與實作

總結

如何通過衛星網絡快速高效地把目标重構檔案傳輸到每一個目标終端,并根據實際情況的需要設計實作一種指定區域重構功能;在衛星網絡終端中,存在一定數量的終端處于NAT網絡環境之下,如何讓這些終端能夠穿透NAT網絡環境以實作點對點通信;設計并實作一種衛星終端重構檔案安全傳輸方案,以避免傳送到網絡上的資料被篡改、截斷、重播攻擊等事件經常發生。

針對第一個問題,本文設計出一種檔案分發技術,這種檔案分發技術基于兩種模式:第一種模式基于中心化檔案分發技術;第二種模式基于P2P技術。根據現實需要,管理人員選擇合适的重構模式。本文設計并實作了檔案分發技術兩種模式對應的指定區域重構功能。

針對第二個問題,本文設計一種NAT穿透方式,這種NAT穿透方式以反射伺服器反射通信位址的方法為主,中繼轉發方法為輔。在反射伺服器的實作中使用了STUN技術用來向NAT網絡内部的節點反射回它對應的外部網絡通信位址,反射成功後使用獲得的通信位址進行通信,反射失敗則利用反射伺服器的TURN功能以中繼轉發的方式實作NAT穿透。

針對第三個問題,本文設計了一種混合加密技術,基于此技術實作了衛星終端重構檔案安全傳輸方案,保證重構過程中衛星網絡上的傳輸的資料正确性、完整性、抗抵賴性,同時也保證了衛星網絡上執行重構操作過程中資料傳輸過程中的快速傳輸。

衛星終端安全子產品軟體重構系統設計與實作

繼續閱讀