專利名稱:一種分布式gnss空分加密通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種分布式GNSS空分加密通信方法,屬于導航定位通信技術(shù)領(lǐng)域。
背景技術(shù):
為用戶提供安全可靠的保密通信是通信網(wǎng)絡(luò)最為重要的內(nèi)容。數(shù)據(jù)加密技術(shù)是解決信 息網(wǎng)絡(luò)安全的關(guān)鍵技術(shù),為了保護數(shù)據(jù)在傳遞過程中不被竊聽或修改,必須對數(shù)據(jù)進行加 密,即使數(shù)據(jù)被竊取,由于竊取者沒有密鑰而無法將之還原成明文,從而保證了數(shù)據(jù)的安 全性,接收方因有正確的密鑰,因此可以將密文還原成正確的明文。按照密鑰不同,現(xiàn)代 加密體制主要有兩類常規(guī)密鑰密碼體制(又稱對稱密鑰密碼體制)和公開密鑰密碼體制 (又稱非對稱密鑰密碼體制)。公開密鑰密碼體制使用不同的加密密鑰與解密密鑰,加密 密鑰公開,解密密鑰由解密人惟一知道,公開密鑰密碼不存在密鑰管理問題,但其實現(xiàn)基 于尖端的數(shù)學難題,計算非常復雜,而且加解密速度遠不如常規(guī)密鑰密碼體制。在常規(guī)密 鑰密碼體制中,用于加密的密鑰與用于解密的密鑰完全相同,使用的加密算法比較簡便、 高效,密鑰簡短,破譯極其困難。常規(guī)密鑰密碼體制最著名的是美國數(shù)據(jù)加密標準DES、 AES和歐洲數(shù)據(jù)加密標準IDEA。這些密碼標準中,通信雙方在建立安全信道之前,約定好 所使用的密鑰,在發(fā)送、接收數(shù)據(jù)之前,必須完成密鑰的分發(fā),因此密鑰的分發(fā)成了該加 密體系中的最薄弱、風險最大的環(huán)節(jié)。對于好的對稱加密算法,其安全性完全決定于密鑰 的安全,算法本身是可以公開的,因此一旦密鑰泄漏就等于泄漏了被加密的信息。加強對 稱加密密鑰的保密性及密鑰傳輸過程的可靠性在常規(guī)密鑰密碼體制中意義重大。
GNSS (全球?qū)Ш叫l(wèi)星系統(tǒng))是利用衛(wèi)星對地球上的用戶接收機進行地理位置定位的一 種衛(wèi)星系統(tǒng)。該系統(tǒng)不僅可以為陸、海、空三大領(lǐng)域提供實時、全天候的三維導航、定位、 授時服務(wù),而且憑借其高精度、自動化、高效益等優(yōu)勢,已成功地應(yīng)用到勘探測繪,工程 施工等多種領(lǐng)域,取得了良好的經(jīng)濟效益和社會效益。當前正在運行的兩個GNSS系統(tǒng)是 美國的全球定位系統(tǒng)(GPS)以及俄聯(lián)邦的全球?qū)Ш叫l(wèi)星系統(tǒng)(GL0NASS)。另外,歐洲民 用衛(wèi)星導航計劃——"伽利略計劃"將在2008年全面運行,中國還獨立研制了一個區(qū)域 性的軍事衛(wèi)星定位系統(tǒng)一 "北斗導航系統(tǒng)"?;贕NSS的全球覆蓋特性、全天候自動化服務(wù)特性和其高精度的時間信息和定位信 息,針對GNSS地面分布式通信系統(tǒng),我們提出一種分布式GNSS空分加密通信方法。該方 法采用常規(guī)密鑰密碼機制,即加密解密使用相同的密鑰,與其他加密方法不同的是,該方 法充分利用GNSS信息,根據(jù)發(fā)送端所在區(qū)域的不同使用不同的通信密鑰,密鑰以發(fā)送端 所在區(qū)域的區(qū)域位置代表的經(jīng)緯度信息為依據(jù)生成。在密文傳送的同時附帶傳送發(fā)送端所 在的區(qū)域編號,由于發(fā)端和收端同時持有區(qū)域密鑰對照表,接收端根據(jù)區(qū)域編號即可獲得 密鑰,對密文執(zhí)行解密,得到明文。該發(fā)明不僅提出了一種利用GNSS信息生成動態(tài)密鑰 的簡便方法,而且通過傳輸區(qū)域編碼使對方獲得密鑰,即便竊取者獲得區(qū)域編碼也無法得 知真正的密鑰,大大提高了密鑰的保密性和傳輸可靠性。在實際環(huán)境中實施時,可以根據(jù) 通信區(qū)域的形狀或大小隨意劃分區(qū)域,區(qū)域位置代表選取自由,具備很強的靈活性。由于 區(qū)域密鑰長度固定,故采用分組密碼體制,對分組明文執(zhí)行線性或非線性變換方法多樣, 所以加密算法豐富,大大提高了該加密通信方法的保密性和可靠性。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種分布式GNSS空分加密通信方法。
該方法適用于基于GNSS的地面分布式通信系統(tǒng)。系統(tǒng)中的工作站包括GNSS接收機、 DTE終端和DCE (data circuit terminating equipment,數(shù)據(jù)通訊設(shè)備)設(shè)備。系統(tǒng)的組 成結(jié)構(gòu)框圖如圖l所示。
GNSS接收機的主要任務(wù)是通過天線接收GNSS信號并通過某種類型的接口將信息傳送 給DTE終端。如GPS接收機,其型號有多種,可以通過USB接口、串口或藍牙與DTE終端 通信,提供"$GPGGA" 、 "$GPGSA" 、 "$GPGSV"和"$GPRMC"等多種格式的GPS信息。 以最簡格式"$GPRMC"語句為例"$GPRMC, 161022, A, 3212. 875, N, 11893. 578, E, 0. 0, 110. 4, 140406, 2. 3, W, A*302",在此例中各數(shù)據(jù)段通過逗號分開,其中SGP賜C 為幀頭,標識后續(xù)幀內(nèi)數(shù)據(jù)組成結(jié)構(gòu);3212. 875為緯度值,格式為"dd咖.mmmm" ; N 表示北緯,如為S則表示南緯;11893. 578為經(jīng)度值,格式為"dddmm. mmram" ; E表示 東經(jīng),如為W則表示西經(jīng)。
DTE是具有一定的數(shù)據(jù)處理能力和數(shù)據(jù)收發(fā)能力的設(shè)備,可以是一臺計算機,也可以 是其它的數(shù)據(jù)處理設(shè)備。系統(tǒng)中發(fā)送和接收的數(shù)據(jù)均由DTE終端提供,加密解密工作也可 在DTE終端實現(xiàn),以計算機作為DTE終端時可以通過編程以軟件形式實現(xiàn)數(shù)據(jù)的收發(fā)和加 密,也可以將軟件編程下載到ARM芯片上通過硬件運行實現(xiàn),此時該芯片即作為DTE終端。DTE通過DCE與傳輸線路相連。DCE能夠在DTE和傳輸線路之間提供信號變換和編碼的 功能,并負責建立、保持和釋放數(shù)據(jù)鏈路的連接,常見的DCE如Modem。對于無線通信, 則需要使用無線直擴Modem作為工作站的收發(fā)信機,它的收發(fā)狀態(tài)可由專門的通信控制器 管理。DCE設(shè)備通常是與DTE對接,因此針腳的分配與DTE相反。
一種分布式GNSS空分加密通信方法,包括如下步驟
前期準備工作
(1) 通信收發(fā)雙方通過協(xié)商對通信區(qū)域按照一定尺度和規(guī)則進行分區(qū),并為分區(qū)進 行編號;
(2) 在各分區(qū)選取區(qū)域位置代表,利用區(qū)域位置代表的經(jīng)緯度信息生成區(qū)域通信密 鑰Ki,如提取經(jīng)緯度信息的整數(shù)部分再添加東經(jīng)、西經(jīng)、南緯、北緯標志組成7位數(shù)字密 鑰,為整個通信區(qū)域建立一張區(qū)域密鑰對照表,表中包括區(qū)域編號、區(qū)域覆蓋范圍、區(qū)域 位置代表、區(qū)域密鑰等字段;
(3) 定制基于密鑰的加密算法E,基于固定長度的密鑰采用分組密碼體制,將明文 劃分成固定的n比特數(shù)據(jù)組,然后以組為單位,在密鑰控制下進行一系列的線性或者非線 性的變化而得到密文;
空分加密通信過程
(1) 發(fā)送端DTE通過串口、 USB接口或者藍牙獲取GNSS接收機的信號,發(fā)送端DTE 提取GNSS信號中的經(jīng)緯度信息;
(2) 發(fā)送端DTE根據(jù)經(jīng)緯度信息判斷自身所在的通信區(qū)域,從區(qū)域密鑰對照表中査 詢該區(qū)域的密鑰Ki;
(3) 發(fā)送端DTE利用密鑰Ki采用定制的加密算法E對發(fā)送數(shù)據(jù)明文X執(zhí)行加密,得
到密文Y-EKi(X);
(4) 密文經(jīng)由發(fā)送端DCE通過有線或無線的方式傳送到對方DCE,然后傳輸?shù)綄Ψ?DTE終端;
(5) 接收端DTE截取密文頭部區(qū)域編號字節(jié),獲得發(fā)送端所在通信區(qū)域,查詢區(qū)域 密鑰對照表得到區(qū)域密鑰Ki;
(6) 接收端DTE利用密鑰Ki按照與加密算法相反的解密算法D對密文執(zhí)行DKi(Y) 解密,得到原始明文X;(7)基于GNSS的分布式空分加密解密通信過程結(jié)束。 本發(fā)明的特點是
1、 該加密通信方法充分利用GNSS信號的高精度、全天候、廣分布等特色,具有可靠 性、實時性和穩(wěn)定性的特點。
2、 通信密鑰隨發(fā)送端所在通信區(qū)域的變化而變化,具有動態(tài)可變特性。
3、 通信區(qū)域劃分靈活,可根據(jù)空間情況選擇不同的尺度和規(guī)則進行劃分。
4、 密鑰基于區(qū)域位置代表的經(jīng)緯度信息,區(qū)域位置代表選擇方法自由。
5、 采用端到端分組加密,并在應(yīng)用層實現(xiàn),使用戶可根據(jù)自己的特殊需求按照不同的
需求選擇不同的加密算法。加密算法豐富(對數(shù)據(jù)分組的線性或者非線性變化方法多樣), 有效增強加密方法的堅固性和防破解性。
圖1是本發(fā)明適用的通信系統(tǒng)組成框圖。
圖2是本發(fā)明工作步驟組成框圖。
圖3是本發(fā)明中區(qū)域密鑰構(gòu)成方式。
圖4是本發(fā)明中區(qū)域密鑰對照表格式和內(nèi)容。
圖5是本發(fā)明中基于區(qū)域密鑰的加密算法。
具體實施例方式
實施例
一種分布式GNSS空分加密通信方法,如附圖2所示,包括以下步驟
前期準備工作
(1)通信收發(fā)雙方通過協(xié)商對通信區(qū)域按照一定尺度和規(guī)則(綜合考慮通信區(qū)域的 大小和形狀等因素)進行分區(qū),為分區(qū)進行編號。
為方便說明,假定分布式GNSS空分加密通信系統(tǒng)的覆蓋范圍為整個地球,則要對整 個地球在二維空間進行區(qū)域劃分。劃分方法可以以本初子午線和赤道為起始邊界,以經(jīng)度 20度,緯度10度作為跨度將全球在經(jīng)度和緯度方向分別18等分,劃定18*18共324個區(qū) 域,然后對這324個區(qū)域從1到324進行編號。分區(qū)時,每條邊界只被一個區(qū)域包含。如編號001的區(qū)域包含的空間為北緯0-IO度,東經(jīng)0-20度地面覆蓋范圍;編號002的區(qū) 域包含的空間為北緯10-20度,東經(jīng)20-40度地面覆蓋范圍,依此類推……。
(2) 在各分區(qū)選取區(qū)域位置代表,利用區(qū)域位置代表的經(jīng)緯度信息生成區(qū)域通信密 鑰Ki,為整個通信區(qū)域建立一張區(qū)域密鑰對照表。
例如可以選擇每個區(qū)域的中心位置作為該區(qū)的區(qū)域位置代表,001區(qū)域中,選擇北瑋 5度,東經(jīng)IO度的位置為區(qū)域位置代表。我們規(guī)定東經(jīng)、北緯方向用"1"表示,西經(jīng)、 南緯方向用"0"表示,緯度信息只取整數(shù)部分用兩位數(shù)表示(如"05"),經(jīng)度信息只取 整數(shù)部分用三位數(shù)表示(如"010"),最終將該區(qū)域位置代表的空間信息表示為"1051010", 使之作為該區(qū)域通信密鑰K1。可見區(qū)域密鑰由7位數(shù)字構(gòu)成,其構(gòu)成方式如圖3所示,低 三位表示區(qū)域位置代表的經(jīng)度整數(shù)部分,第四位標志西經(jīng)(0) /東經(jīng)(1),第五第六位表 示區(qū)域位置代表的諱度整數(shù)部分,最高位標志南瑋(0) /北諱(1)。依次在每個分區(qū)選擇 區(qū)域位置代表并利用其經(jīng)緯度坐標信息生成區(qū)域密鑰,最后為整個通信區(qū)域建立一張區(qū)域 密鑰對照表如圖4所示。
(3) 定制基于密鑰的加密算法E。
密鑰長度固定為7位的情況下,采用分組密碼體制將明文X劃分成n個長度為7字節(jié) 的數(shù)據(jù)分組,然后以組為單位,在密鑰控制下進行一系列的線性或者非線性的變化,得到 密文Y。在此以"分組字節(jié)循環(huán)移位方法"為例,具體實施如圖4所示,發(fā)送端DTE將要 發(fā)送的數(shù)據(jù)以7字節(jié)(字節(jié)數(shù)與密鑰位數(shù)相同)為一組分為若干組,令分組中靠前的字節(jié) 為高字節(jié),令區(qū)域密鑰中由高到低的每一位數(shù)字分別對應(yīng)數(shù)據(jù)分組中由高到低的一個字 節(jié)。密鑰相應(yīng)位上的數(shù)值決定了對應(yīng)的字節(jié)要進行的自身循環(huán)左移位數(shù)。如圖4中密鑰第 5位數(shù)值為5,對應(yīng)數(shù)據(jù)分組中的字節(jié)5,則字節(jié)5的8個比特位將自身循環(huán)左移5位。所 有分組完成移位后,在整個加密后的數(shù)據(jù)頭部添加區(qū)域編號。區(qū)域編號的字節(jié)數(shù)由區(qū)域的 總數(shù)決定,如果共有324個區(qū)域,則需要2個字節(jié)來表示區(qū)域編號。該算法可采用c編程 實現(xiàn),代碼例程如下
for(i=l;i<L;i++)//L為信息明文長度
即%7 != 0) RRE—讓=(RRE[i%7-l])%8;
else RRE一num = RRE[6]%8;
RRE一low—bit = data—send[i]》(8-RRE_num);RREJiigh—bit = data一send[i]《RRE一num; data一send[i] = RREJiigh一bit | RREJow一bit; RRE—num = 'O';
至此完成了加密通信的準備工作,下面進入空分加密通信過程-
(1)發(fā)送端DTE通過串口、 USB接口或者藍牙獲取GNSS接收機的信號,提取GNSS 信號中的經(jīng)緯度信息。
以GPS接收機為例,其型號多樣,可通過串口、 USB接口或者藍牙與DTE終端通信, 實施中我們采用SiRF Technology公司的一款GPS接收機,該接收機通過天線接收GPS衛(wèi) 星信號,并進行相應(yīng)處理產(chǎn)生定位信息,再通過串口(RS232)輸出。輸出GPS信息采用 "$GPRMC"格式。我們將該接收機連接到DTE終端的串口上,實現(xiàn)GPS接收機與DTE終端 之間的通信。以"$GPRMC"格式的GPS信息為例,各參數(shù)之間用逗號隔開,在程序中通過 遍歷逗號,取出第4到第7個參數(shù),第4個參數(shù)代表緯度值,第5個參數(shù)標志南諱北諱, 第6個參數(shù)代表經(jīng)度值,第7個參數(shù)標志東經(jīng)西經(jīng)。
獲取GPS接收機的信號并提取"$GPRMC"格式的參數(shù)信息,其c語言實現(xiàn)例程如下-
<formula>formula see original document page 8</formula>{case 1 -
其他GNSS系統(tǒng)中的數(shù)據(jù)解析與之相仿。
(2) 發(fā)送端DTE根據(jù)經(jīng)緯度信息判斷自身所在的通信區(qū)域,從區(qū)域密鑰對照表中査
詢該區(qū)域的密鑰Ki。
將已經(jīng)截取的GPS經(jīng)緯度信息與各區(qū)域的經(jīng)緯度上下限比較,并根據(jù)緯度經(jīng)度標志位 確定發(fā)送端所在區(qū)域,根據(jù)區(qū)域密鑰對照表獲得該區(qū)域密鑰。如果某發(fā)送端從GNSS信號 中得知自己的經(jīng)緯度信息為7。30'00" N, 12。30'00" E,則可判斷自身處于OOl區(qū)域中,從區(qū) 域密鑰對照表中獲取該區(qū)域密鑰為"1051010"。獲取區(qū)域密鑰的c語言例程如下
i《latiMark== 'N'" i《longiMark= 'E' ){
ifi;iatilnt>0&& latilnt<= 10&&longilnt>0&&longilnt<=20) { AreaKey-"1051010";
(3) 發(fā)送端DTE利用密鑰Ki采用定制的加密算法E對發(fā)送數(shù)據(jù)明文X執(zhí)行加密,得 到密文丫=&00。
采用系統(tǒng)定制的算法對數(shù)據(jù)實施加密(編程實現(xiàn)如前期準備工作(3)中代碼所示)。 最后需要在密文頭部添加區(qū)域編號"001",由于總共有324個區(qū)域,所以區(qū)域編號由兩個
字節(jié)表示。
(4) 密文經(jīng)由發(fā)送端DCE以有線或無線的方式傳送到對方DCE,繼而傳送到對方DTE終端。
(5) 接收端DTE截取密文頭部區(qū)域編號字節(jié),獲得發(fā)送端所在通信區(qū)域,根據(jù)區(qū)域 密鑰對照表獲得區(qū)域密鑰Ki。
密文傳送到接收端后,接收端DTE內(nèi)部程序先讀取數(shù)據(jù)分組前兩個字節(jié),獲得區(qū)域編 號"001",然后根據(jù)區(qū)域與密鑰對應(yīng)關(guān)系獲得區(qū)域密鑰"1051010"。
(6) 接收端DTE利用密鑰Ki按照與加密算法相反的解密算法D對密文執(zhí)行解密, DKi(Y),得到原始明文X。
獲得區(qū)域密鑰后,接收端對其余數(shù)據(jù)進行分組,每個分組7字節(jié),按照加密方法進行 逆向解密(此例中為密鑰控制下循環(huán)右移),最終獲得原始明文。
(7) 基于GNSS的分布式空分加密解密通信過程結(jié)束。
權(quán)利要求
1、一種分布式GNSS空分加密通信方法,其特征在于,包括如下步驟前期準備工作(1)通信收發(fā)雙方通過協(xié)商對通信區(qū)域按照一定尺度和規(guī)則進行分區(qū),并為分區(qū)進行編號;(2)在各分區(qū)選取區(qū)域位置代表,利用區(qū)域位置代表的經(jīng)緯度信息生成區(qū)域通信密鑰Ki,如提取經(jīng)緯度信息的整數(shù)部分再添加東經(jīng)、西經(jīng)、南緯、北緯標志組成7位數(shù)字密鑰,為整個通信區(qū)域建立一張區(qū)域密鑰對照表,表中包括區(qū)域編號、區(qū)域覆蓋范圍、區(qū)域位置代表、區(qū)域密鑰等字段;(3)定制基于密鑰的加密算法E,基于固定長度的密鑰采用分組密碼體制,將明文劃分成固定的n比特數(shù)據(jù)組,然后以組為單位,在密鑰控制下進行一系列的線性或者非線性的變化而得到密文;空分加密通信過程(1)發(fā)送端DTE通過串口、USB接口或者藍牙獲取GNSS接收機的信號,提取GNSS信號中的經(jīng)緯度信息;(2)發(fā)送端DTE根據(jù)經(jīng)緯度信息判斷自身所在的通信區(qū)域,從區(qū)域密鑰對照表中查詢該區(qū)域的密鑰Ki;(3)發(fā)送端DTE利用密鑰Ki采用定制的加密算法E對發(fā)送數(shù)據(jù)明文X執(zhí)行加密,得到密文Y=EKi(x);(4)密文經(jīng)由發(fā)送端DCE通過有線或無線的方式傳送到對方DCE,然后傳輸?shù)綄Ψ紻TE終端;(5)接收端DTE截取密文頭部區(qū)域編號字節(jié),獲得發(fā)送端所在通信區(qū)域,查詢區(qū)域密鑰對照表得到區(qū)域密鑰Ki;(6)接收端DTE利用密鑰Ki按照與加密算法相反的解密算法D對密文執(zhí)行DKi(Y)解密,得到原始明文X;(7)基于GNSS的分布式空分加密解密通信過程結(jié)束。
全文摘要
一種分布式GNSS空分加密通信方法,該方法適用于基于GNSS的地面分布式通信系統(tǒng),其主要特點在于數(shù)據(jù)發(fā)送端DTE發(fā)送數(shù)據(jù)前,根據(jù)GNSS信號提供的經(jīng)緯度信息判斷自身所在的通信分區(qū),然后選擇使用對應(yīng)此分區(qū)的密鑰對傳輸數(shù)據(jù)進行加密。由于分區(qū)密鑰有固定長度,所以加密采用分組密碼體制。發(fā)送端和接收端DTE同時持有一份相同的區(qū)域密鑰對照表,接收端DTE通過識別發(fā)送端添加在密文頭部的區(qū)域編號即可以查找區(qū)域密鑰對照表獲得解密密鑰,然后利用密鑰對密文執(zhí)行解密,獲取明文。該方法中通信密鑰隨發(fā)送端所在區(qū)域的變化而動態(tài)改變,通信區(qū)域劃分尺度自由,輔之豐富多樣的加密算法,大大提高了加密的靈活性、防破解性和防干擾性。
文檔編號H04L9/28GK101299663SQ200810016940
公開日2008年11月5日 申請日期2008年6月23日 優(yōu)先權(quán)日2008年6月23日
發(fā)明者張傳香, 張德敬, 李長慶, 邢建平, 崗 陳 申請人:山東大學