麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

基于vpdn專網的無線通訊方法

文檔序號:10555567閱讀:597來源:國知局
基于vpdn專網的無線通訊方法
【專利摘要】本發明公開了一種基于VPDN專網的無線通訊方法,由發射端設備的3G模塊通過后端路由器進行專網撥號,通過預先在服務端設定的賬號、密碼與服務端進行chap認證或者pap認證,認證通過后進入專用網絡,利用發射端設備中安裝的vpn軟件通過IKE進行協商,采用國密對稱密碼SM1分組算法,對密鑰協商數據以及報文數據進行加密保護,采用預共享密鑰進行終端合法校驗、采用DH算法進行密鑰交換;采用密碼雜湊算法MD5對對稱密鑰生成以及完整性進行校驗;協商完成后建立安全通訊隧道,數據傳輸通過ipsec esp協議認證算法MD5認證,通過專線傳輸。本發明由于采用國密算法,且在vpdn專網通信的基礎上實現無線加密通信,安全性高,可用于手機、PDA設備等。
【專利說明】
基于VPDN專網的無線通訊方法
技術領域
[0001]本發明屬于通訊技術領域,具體涉及一種基于VPDN專網的無線通訊方法。
【背景技術】
[0002]目前無線通信雖然較有線帶來了許多方便,但它在安全性方面也領人擔憂,特別是商業領域,如銀行、軍方對數據的保密性要求很高,無線加密傳輸剛好彌補了它的不足,目前無線加密傳輸主要應用在路由行業,路由對路由通過點對點或者一點對多點數據傳輸,然而在手持設備上無法嵌入路由進行通信,而且目前android系統所用到的加密算法主要包含對稱性加密(DES、AES)、非對稱性加密,其算法公開、計算量小、安全性得不到保證,易被人攔截、破解。

【發明內容】

[0003]本發明的目的是提供一種基于VPDN專網的無線通訊方法,是在安全傳輸數據之后采用國密算法進行密鑰協商,協商完成建立安全通訊隧道后,采用ESP安全封裝協議進行數據傳輸。
[0004]本發明是這樣實現的:一種基于VPDN專網的無線通訊方法,由發射端設備的3G模塊通過后端路由器進行專網撥號,通過預先在服務端設定的賬號、密碼與服務端進行chap認證或者pap認證,認證通過后進入專用網絡,利用發射端設備中安裝的vpn軟件通過IKE進行協商,采用國密對稱密碼SMl分組算法,對密鑰協商數據以及報文數據進行加密保護,采用預共享密鑰進行終端合法校驗、采用DH算法進行密鑰交換;采用密碼雜湊算法MD5對對稱密鑰生成以及完整性進行校驗;協商完成后建立安全通訊隧道,數據傳輸通過ipsec esp協議認證算法MD5認證,通過專線傳輸。
[0005]進一步地,所述報文數據通過UDP協議500端口傳輸的過程,包括兩個階段,第一階段為身份認證,采用公私鑰密鑰對方式,發射端設備與接收端設備根據對稱密碼算法SMl預先配置好對方的公鑰和自身的私鑰;第二階段為消息的完整性檢驗和數據源的身份驗證,利用hash進行,將hash載荷添加在ISAKMP頭之后,使用對稱密碼算法的CBC模式對ISAKMP之后的載荷nonce、ID進行加密。
[0006]進一步地,所述安全通訊隧道中信號發送由虛擬網卡驅動,所述虛擬網卡驅動由Tun/tap 驅動。
[0007]進一步地,所述Tun/tap驅動實現虛擬網卡驅動的處理為:當打開一個tun/tap設備時,open函數將調用tun_Chr_0pen()函數,以完成初始化過程,包括設置網卡驅動的初始化函數、網絡緩沖區鏈表的初始化以及等待隊列的初始化;Tun/tap驅動中網卡的注冊被嵌入了字符驅動的1ct I例程中,通過對字符設備文件描述符利用自定義的1ctl設置標志TUNSETIFF完成網卡注冊;使用1ctl()函數操作字符設備文件描述符,將調用字符設備中tun_chr_1ctl來設置已經open好的tun/tap設備,如果設置標志為TUNSETIFF,則調用tun_set_iff ()函數,對網卡驅動進行注冊register_netdev(&tun_>dev),網卡驅動的各個處理例程的掛接在open操作時由tun_chr_open()函數初始化好了。
[0008]進一步地,Tun/tap設備的工作過程為:Tun/tap設備驅動通過字符設備文件來實現數據從用戶區獲取,發送數據時tun/tap設備是通過字符設備發送至用戶區,再由用戶區程序通過其他渠道發送。
[0009]進一步地,tun/tap設備發送數據過程為:tun/tap網卡的程序經過協議桟把數據傳送給驅動程序,驅動程序調用注冊好的hard_start_xmit函數發送,hard_start_xmit函數又會調用tun_net_xmit函數,skb被加入到skb鏈表,然后喚醒被阻塞的使用tun/tap設備字符驅動讀數據的進程,接著tun/tap設備的字符驅動部分調用其tun_chr_read()過程讀取skb鏈表,并將每一個讀到的skb發往用戶區,完成虛擬網卡的數據發送。
[00?0]進一步地,Tun/tap設備接收數據過程為:當使用¥1^6()系統調用向1:1111八3?設備的字符設備文件寫入數據時,tun_chr_write函數將被調用,使用tun_get_user從用戶區接受數據,并將數據存入skb中,然后調用關鍵的函數netif_rx(skb)將skb送給tcp/ip協議桟處理,完成虛擬網卡的數據接收。
[0011]進一步地,所述發射端設備包括手機、PDA設備。
[0012]與現有技術相比,本發明的有益效果:在安全傳輸數據之后采用國密算法進行密鑰協商,協商完成建立安全通訊隧道后,采用ESP安全封裝協議進行數據傳輸;由于采用國密算法即國家密碼局認定的國產密碼算法安全性高,不易被破解;另外在vpdn專網通信的基礎上實現無線加密通信,安全性更高,可用于在手機、PDA設備等;其通過直接連接到路由器,使用方便。
【附圖說明】
[0013]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖只是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0014]圖1是本發明基于VPDN專網的無線通訊系統結構示意圖;
[0015]圖2是本發明Tun/tap驅動程序示意圖;
[0016]圖3是本發明Tun/tap驅動中實現的網卡驅動的處理例程;
[0017]圖4是本發明Tun/tap設備發送和接收數據程序示意圖。
【具體實施方式】
[0018]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例只用以解釋本發明,并不用于限定本發明。
[0019]需要說明的是,當元件被稱為“固定于”或“設置于”另一個元件,它可以直接在另一個元件上或者可能同時存在居中元件。當一個元件被稱為是“連接于”另一個元件,它可以是直接連接到另一個元件或者可能同時存在居中元件。
[0020]還需要說明的是,本發明實施例中的左、右、上、下等方位用語,僅是互為相對概念或是以產品的正常使用狀態為參考的,而不應該認為是具有限制性的。
[0021 ] 如圖1所示,一種基于VPDN專網的無線通訊系統,包括TOA設備I,3G站點2、路由器3和服務器LPDA設備I的3G模塊通過3G站點2與路由器4相連,PDA設備I進行專網撥號時,通過在TOA設備I上輸入賬號、密碼的方式在服務端4進行chap認證或者pap認證,當認證通過后,進入專用網絡,在專用網絡的基礎上進行vpn ipsec協議封裝。
[0022]PDA設備I中安裝的vpn軟件通過IKE進行協商,采用國密對稱密碼SMl分組算法,對密鑰協商數據以及報文數據進行加密保護,采用預共享密鑰進行終端合法校驗、采用DH算法進行密鑰交換;采用密碼雜湊算法MD5對對稱密鑰生成以及完整性進行校驗。
[0023]在安全傳輸數據之后采用國密算法進行密鑰協商,協商完成建立安全通訊隧道后,采用ESP安全封裝協議進行數據傳輸。
[0024]密鑰協商的主要功能就是在通信雙方協商SA;在傳輸數據之前,需經過密鑰協商。
[0025]密鑰交換技術主要用于協商、建立、修改和刪除安全聯盟。
[0026]報文是通過UDP協議500端口進行傳輸,其過程分為兩個階段,第一階段用于保護PDA設備I與接收端設備之間的通訊而使用的共享策略和密鑰,實現通訊雙方的身份認證和密鑰協商,得到工作密鑰,建立ISAKMP SA,第二階段是使用第一階段建立的ISAKMP SA建立IPSEC SA,確定通訊雙方的IPSEC安全策略和會話密鑰。
[0027]第一階段身份認證采用公私鑰密鑰對方式,通訊雙方都事先配置好對方的公鑰和自己的私鑰,此過程使用了對稱密碼算法SMl。
[0028]第二階段使用了hash進行消息的完整性檢驗和數據源的身份驗證,將hash載荷添加在ISAKMP頭之后,ISAKMP之后的載荷nonce、ID等都使用對稱密碼算法的CBC模式加密。
[0029]如果設備是穿越NAT,則在第一階段部分消息需要發送NAT_D載荷,其他載荷不變。響應方接收此包解密并認證通過后,要將原來處理500端口狀態改為處理4500端口,后續的協商過程都使用4500端口進行,以后500端口收到的不是新協商的包都將被丟棄。
[0030]數據傳輸采用的ESP封裝協議,該協議提供了數據的機密性、數據源鑒別、無連接的完整性、抗重放攻擊及有限信息流量的保護等,使工業設備得到很好的安全保障及數據傳輸的安全。
[0031]安全通訊隧道中信號發送由虛擬網卡驅動,所述虛擬網卡驅動由Tun/tap驅動。
[0032]做為虛擬網卡驅動,Tun/tap驅動程序的數據接收和發送并不直接和真實網卡打交道,而是通過用戶態來轉交。在Iinux下,要實現核心態和用戶態數據的交互,有多種方式:可以通用socket創建特殊套接字,利用套接字實現數據交互;通過proc文件系統創建文件來進行數據交互;還可以使用設備文件的方式,訪問設備文件會調用設備驅動相應的例程,設備驅動本身就是核心態和用戶態的一個接口,Tun/tap驅動就是利用設備文件實現用戶態和核心態的數據交互。
[0033]從結構上來說,Tun/tap驅動并不單純是實現網卡驅動,同時它還實現了字符設備驅動部分。以字符設備的方式連接用戶態和核心態。
[0034]如圖2所示,Tun/tap驅動程序中包含兩個部分,一部分是字符設備驅動,還有一部分是網卡驅動部分。利用網卡驅動部分接收來自TCP/IP協議棧的網絡分包并發送或者反過來將接收到的網絡分包傳給協議棧處理,而字符驅動部分則將網絡分包在內核與用戶態之間傳送,模擬物理鏈路的數據接收和發送,Tun/tap驅動很好的實現了兩種驅動的結合。
[0035]如圖3所示,Tun/tap驅動中實現網卡驅動的處理例程為:當打開一個tun/tap設備時,open函數將調用tUn_Chr_0pen()函數,以完成一些重要的初始化過程,包括設置網卡驅動部分的初始化函數、網絡緩沖區鏈表的初始化以及等待隊列的初始化。Tun/tap驅動中網卡的注冊被嵌入了字符驅動的1ctl例程中,它是通過對字符設備文件描述符利用自定義的1ctl設置標志TUNSETIFF完成網卡的注冊的。使用1ct 1函數操作字符設備文件描述符,將調用字符設備中tun_chr_1ctl來設置已經open好的tun/tap設備,如果設置標志為TUNSETIFF,則調用tun_set_iff O函數,此函數將完成很重要的一步操作,就是對網卡驅動進行注冊:register_netdev(&tun_>dev),網卡驅動的各個處理例程的掛接在open操作時由tun_chr_open()函數初始化好了。
[0036]Tun/tap設備的工作過程:Tun/tap設備提供的虛擬網卡驅動,從tcp/ip協議桟的角度而言,它與真實網卡驅動并沒有區別。從驅動程序的角度來說,它與真實網卡的不同表現在tun/tap設備獲取的數據不是來自物理鏈路,而是來自用戶區,Tun/tap設備驅動通過字符設備文件來實現數據從用戶區的獲取。發送數據時tun/tap設備也不是發送到物理鏈路,而是通過字符設備發送至用戶區,再由用戶區程序通過其他渠道發送。
[0037]如圖4所示,tun/tap設備發送數據過程:使用tun/tap網卡的程序經過協議棧把數據傳送給驅動程序,驅動程序調用注冊好的hard_start_xmit函數發送,hard_start_xmit函數又會調用tun_net_xmit函數,其中skb將會被加入skb鏈表,然后喚醒被阻塞的使用tun/tap設備字符驅動讀數據的進程,接著tun/tap設備的字符驅動部分調用其tun_chr_readO過程讀取skb鏈表,并將每一個讀到的skb發往用戶區,完成虛擬網卡的數據發送。
[0038]如圖4所示,tun/tap設備接收數據過程:當使用write()系統調用向tun/tap設備的字符設備文件寫入數據時,tun_chr_write函數將被調用,它使用tun_get_user從用戶區接受數據,其中將數據存入skb中,然后調用關鍵的函數netif_rx(skb)將skb送給tcp/ip協議棧處理,完成虛擬網卡的數據接收。
[0039]整個數據傳輸過程:首先通過TOA設備的vpn軟件跟服務端路由將vpn隧道建立,然后TOA設備采集數據通過串口將數據發給3g模塊,3g模塊再通過專網vpn隧道將數據發到服務端,整個過程vpn實現了無線數據的加解密處理,確保數據的安全可靠。
[0040]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換或改進等,均應包含在本發明的保護范圍之內。
【主權項】
1.一種基于VPDN專網的無線通訊方法,其特征在于,由發射端設備的3G模塊通過后端路由器進行專網撥號,通過預先在服務端設定的賬號、密碼與服務端進行chap認證或者pap認證,認證通過后進入專用網絡,利用發射端設備中安裝的vpn軟件通過IKE進行協商,采用國密對稱密碼SMl分組算法,對密鑰協商數據以及報文數據進行加密保護,采用預共享密鑰進行終端合法校驗、采用DH算法進行密鑰交換;采用密碼雜湊算法MD5對對稱密鑰生成以及完整性進行校驗;協商完成后建立安全通訊隧道,數據傳輸通過ipsec esp協議認證算法MD5認證,通過專線傳輸。2.根據權利要求1所述的基于VPDN專網的無線通訊方法,其特征在于,所述報文數據通過UDP協議500端口傳輸的過程,包括兩個階段,第一階段為身份認證,采用公私鑰密鑰對方式,發射端設備與接收端設備根據對稱密碼算法SMl預先配置好對方的公鑰和自身的私鑰;第二階段為消息的完整性檢驗和數據源的身份驗證,利用hash進行,將hash載荷添加在ISAKMP頭之后,使用對稱密碼算法的CBC模式對ISAKMP之后的載荷nonce、ID進行加密。3.根據權利要求1所述的基于VPDN專網的無線通訊方法,其特征在于,所述安全通訊隧道中信號發送由虛擬網卡驅動,所述虛擬網卡驅動由Tun/tap驅動。4.根據權利要求3所述的基于VPDN專網的無線通訊方法,其特征在于,所述Tun/tap驅動實現虛擬網卡驅動的處理例程為:當打開一個tun/tap設備時,open函數將調用tun_Chr_open()函數,以完成初始化過程,包括設置網卡驅動的初始化函數、網絡緩沖區鏈表的初始化以及等待隊列的初始化;Tun/tap驅動中網卡的注冊被嵌入了字符驅動的1ctl例程中,通過對字符設備文件描述符利用自定義的1ctl設置標志TUNSETIFF完成網卡注冊;使用1ctlO函數操作字符設備文件描述符,將調用字符設備中tun_Chr_1Ctl來設置已經open好的tun/tap設備,如果設置標志為TUNSETIFF,則調用tun_set_iff()函數,對網卡驅動進行注冊register_netdev(&tun_>dev),網卡驅動的各個處理例程的掛接在open操作時由tun_chr_open()函數初始化好了。5.根據權利要求3所述的基于VPDN專網的無線通訊方法,其特征在于,Tun/tap設備的工作過程為:Tun/tap設備驅動通過字符設備文件來實現數據從用戶區獲取,發送數據時tun/tap設備是通過字符設備發送至用戶區,再由用戶區程序通過其他渠道發送。6.根據權利要求3所述的基于VPDN專網的無線通訊方法,其特征在于,tun/tap設備發送數據過程為:tun/tap網卡的程序經過協議棧把數據傳送給驅動程序,驅動程序調用注冊好的 hard_start_xmit 函數發送,hard_start_xmit 函數又會調用tun_net_xmit函數,skb 被加入到skb鏈表,然后喚醒被阻塞的使用tun/tap設備字符驅動讀數據的進程,接著tun/tap設備的字符驅動部分調用其tun_chr_read()過程讀取skb鏈表,并將每一個讀到的skb發往用戶區,完成虛擬網卡的數據發送。7.根據權利要求3所述的基于VPDN專網的無線通訊方法,其特征在于,Tun/tap設備接收數據過程為:當使用write()系統調用向tun/tap設備的字符設備文件寫入數據時,tun_chr_write函數將被調用,使用tun_get_user從用戶區接受數據,并將數據存入skb中,然后調用關鍵的函數netif_rx( skb)將skb送給tcp/ip協議桟處理,完成虛擬網卡的數據接收。8.根據權利要求1所述的基于VPDN專網的無線通訊方法,其特征在于,所述發射端設備包括手機、PDA設備。
【文檔編號】H04L29/06GK105915511SQ201610228433
【公開日】2016年8月31日
【申請日】2016年4月13日
【發明人】劉連生
【申請人】深圳市融鈔科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 溆浦县| 乌拉特前旗| 阿拉善右旗| 义乌市| 平昌县| 苍梧县| 边坝县| 如东县| 晋州市| 香格里拉县| 芦山县| 芜湖县| 凉城县| 双鸭山市| 江源县| 西青区| 永善县| 曲沃县| 轮台县| 电白县| 竹山县| 清徐县| 鲁甸县| 正定县| 铅山县| 务川| 任丘市| 合作市| 鄂伦春自治旗| 鄂托克前旗| 英吉沙县| 佛冈县| 焉耆| 平江县| 兴海县| 巧家县| 札达县| 肃南| 通许县| 融水| 玉环县|