本實(shí)用新型涉及數(shù)據(jù)加密領(lǐng)域,特別涉及一種基于FPGA的北斗數(shù)據(jù)加密系統(tǒng)及方法。
背景技術(shù):
衛(wèi)星導(dǎo)航系統(tǒng)是重要的空間信息基礎(chǔ)設(shè)施。中國(guó)高度重視衛(wèi)星導(dǎo)航系統(tǒng)的建設(shè),一直在努力探索和發(fā)展擁有自主知識(shí)產(chǎn)權(quán)的衛(wèi)星導(dǎo)航系統(tǒng)。2000年,首先建成北斗導(dǎo)航試驗(yàn)系統(tǒng),使我國(guó)成為繼美、俄之后的世界上第三個(gè)擁有自主衛(wèi)星導(dǎo)航系統(tǒng)的國(guó)家。該系統(tǒng)已成功應(yīng)用于測(cè)繪、電信、水利、漁業(yè)、交通運(yùn)輸、森林防火、減災(zāi)救災(zāi)和公共安全等諸多領(lǐng)域,產(chǎn)生顯著的經(jīng)濟(jì)效益和社會(huì)效益。特別是在2008年北京奧運(yùn)會(huì)、汶川抗震救災(zāi)中發(fā)揮了重要作用。為了更好地服務(wù)于國(guó)家建設(shè)與發(fā)展,滿足全球應(yīng)用需求,我國(guó)啟動(dòng)實(shí)施了北斗衛(wèi)星導(dǎo)航系統(tǒng)建設(shè)。
而隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,數(shù)據(jù)傳輸對(duì)安全性的要求也隨之加強(qiáng)。如何確保信息的正確認(rèn)證與嚴(yán)格保密,保證數(shù)據(jù)信息在傳輸與處理過程中不被非法竊取和篡改,成為信息安全理論與技術(shù)研究的重要內(nèi)容。多數(shù)情況下,數(shù)據(jù)加密是保證信息機(jī)密性的惟一方法。在北斗測(cè)量系統(tǒng)中,北斗定位數(shù)據(jù)以明文形式通過電臺(tái)進(jìn)行傳輸,可能會(huì)被同型號(hào)電臺(tái)獲取,存在一定的安全隱患。
技術(shù)實(shí)現(xiàn)要素:
鑒于此,本實(shí)用新型提供了一種基于FPGA的北斗數(shù)據(jù)加密系統(tǒng)及方法,該實(shí)用新型具有:安全性高、成本低、實(shí)用性強(qiáng)和處理速度快等優(yōu)點(diǎn)。
本實(shí)用新型采用的技術(shù)方案如下:
一種基于FPGA的北斗數(shù)據(jù)加密系統(tǒng),其特征在于,所述系統(tǒng)包括:北斗接收機(jī)、機(jī)載端和服務(wù)器端;所述機(jī)載端包括:鍵盤、機(jī)載LCD和加密卡;所述服務(wù)器端包括:數(shù)據(jù)接收單元、解密單元和數(shù)據(jù)處理單元;所述北斗接收機(jī)信號(hào)連接于機(jī)載端;所述機(jī)載端信號(hào)連接于服務(wù)器端。
進(jìn)一步的,本實(shí)用新型的加密卡主要具備如下的功能:
1、解析、處理北斗數(shù)據(jù)、檢測(cè)設(shè)備工作狀態(tài)并在LCD上顯示相關(guān)信息;
2、接收北斗數(shù)據(jù)并通過加密卡對(duì)其加密,將密文通過電臺(tái)傳送到服務(wù)器端;
3、處理鍵盤或服務(wù)器端輸入的預(yù)存指令編號(hào)或新指令,將指令發(fā)給北斗接收機(jī)并返回回饋信息;
4、更新鍵盤或服務(wù)器輸入的新密鑰或新管理員口令。新密鑰先保存在Flash中,再通過總線傳給密鑰寄存器;新口令保存在Flash中。
所述加密卡包括:NIOS處理器、DES IP處理單元、接口單元、計(jì)時(shí)器、UART接口單元、Flash單元、SDRAM控制器、LCD控制器和總線單元;所述總線單元分別信號(hào)連接于NIOS處理器、DES IP處理單元、JTAG接口單元、計(jì)時(shí)器、UART接口單元、Flash單元、SDRAM控制器和LCD控制器。
所述鍵盤信號(hào)連接于總線單元;所述北斗接收機(jī)信號(hào)連接于UART接口單元;所述機(jī)載LCD信號(hào)連接于LCD控制器;所述服務(wù)器端信號(hào)連接于UART接口單元。
所述UART 接口單元,用于連接機(jī)載端和北斗接收機(jī),以及機(jī)載端和服務(wù)器端的數(shù)據(jù)通信,將接收到的北斗數(shù)據(jù)分別發(fā)送至NIOS處理器和DES IP處理單元;所述NIOS處理器,用于解析北斗數(shù)據(jù),將解析后的北斗數(shù)據(jù)經(jīng)LCD控制器發(fā)送給LCD進(jìn)行實(shí)時(shí)顯示;所述DES IP處理單元將北斗數(shù)據(jù)進(jìn)行加密后,通過I/O終端發(fā)送給NIOS處理器;所述鍵盤用于輸入新密鑰或新管理員口令,將輸入的新密鑰或新管理員口令經(jīng)總線發(fā)送給Flash單元進(jìn)行保存。
所述機(jī)載端和服務(wù)器端之間通過電臺(tái)進(jìn)行數(shù)據(jù)傳輸;所述數(shù)據(jù)接收單元用于接收電臺(tái)發(fā)送過來的密文數(shù)據(jù);所述解密單元用于對(duì)密文進(jìn)行解密、解析;所述數(shù)據(jù)處理單元用于處理北斗數(shù)據(jù),顯示北斗參數(shù),發(fā)送個(gè)北斗接收機(jī)控制指令,更改密鑰,更改管理員口令和設(shè)置串口參數(shù)。
采用以上技術(shù)方案,本實(shí)用新型產(chǎn)生了以下有益效果:
1、安全性高:本實(shí)用新型針對(duì)北斗系統(tǒng)進(jìn)行設(shè)計(jì),比起針對(duì)于GPS系統(tǒng)設(shè)計(jì)的算法,更加適用于我國(guó)自主的衛(wèi)星導(dǎo)航定位系統(tǒng)。另外,本實(shí)用新型采用改進(jìn)后的加密算法,安全性更高。
2、成本低:本實(shí)用新型的數(shù)據(jù)加密系統(tǒng)采用的元器件都是FPGA中的基礎(chǔ)元器件,能夠大規(guī)模進(jìn)行量產(chǎn),成本更低。
3、實(shí)用性強(qiáng):本實(shí)用新型的加密算法和解密算法案進(jìn)行分離,將解密的部分放到服務(wù)器上,使得機(jī)載端的負(fù)荷減小,體積更小,便于攜帶,實(shí)用性更強(qiáng)。
4、運(yùn)行速度快:采用DES IP處理單元對(duì)北斗數(shù)據(jù)加密,比起傳統(tǒng)的采用NIOS處理器對(duì)北斗數(shù)據(jù)進(jìn)行加密,不會(huì)出現(xiàn)丟點(diǎn)現(xiàn)象,且處理速度更快。
附圖說明
圖1是本實(shí)用新型實(shí)施例中一種防止IPSec VPN設(shè)備多隧道IKE協(xié)商失敗的系統(tǒng)的流程圖。
具體實(shí)施方式
本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
本說明書(包括任何附加權(quán)利要求、摘要)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。
本實(shí)用新型實(shí)施例1中提供了一種基于FPGA的北斗數(shù)據(jù)加密系統(tǒng)及方法,系統(tǒng)結(jié)構(gòu)圖如圖1所示:
一種基于FPGA的北斗數(shù)據(jù)加密系統(tǒng),其特征在于,所述系統(tǒng)包括:北斗接收機(jī)、機(jī)載端和服務(wù)器端;所述機(jī)載端包括:鍵盤、機(jī)載LCD和加密卡;所述服務(wù)器端包括:數(shù)據(jù)接收單元、解密單元和數(shù)據(jù)處理單元;所述北斗接收機(jī)信號(hào)連接于機(jī)載端;所述機(jī)載端信號(hào)連接于服務(wù)器端。
進(jìn)一步的,本實(shí)用新型的加密卡主要具備如下的功能:
1、解析、處理北斗數(shù)據(jù)、檢測(cè)設(shè)備工作狀態(tài)并在LCD上顯示相關(guān)信息;
2、接收北斗數(shù)據(jù)并通過加密卡對(duì)其加密,將密文通過電臺(tái)傳送到服務(wù)器端;
3、處理鍵盤或服務(wù)器端輸入的預(yù)存指令編號(hào)或新指令,將指令發(fā)給北斗接收機(jī)并返回回饋信息;
4、更新鍵盤或服務(wù)器輸入的新密鑰或新管理員口令。新密鑰先保存在Flash中,再通過總線傳給密鑰寄存器;新口令保存在Flash中。
所述加密卡包括:NIOS處理器、DES IP處理單元、接口單元、計(jì)時(shí)器、UART接口單元、Flash單元、SDRAM控制器、LCD控制器和總線單元;所述總線單元分別信號(hào)連接于NIOS處理器、DES IP處理單元、JTAG接口單元、計(jì)時(shí)器、UART接口單元、Flash單元、SDRAM控制器和LCD控制器。
所述鍵盤信號(hào)連接于總線單元;所述北斗接收機(jī)信號(hào)連接于UART接口單元;所述機(jī)載LCD信號(hào)連接于LCD控制器;所述服務(wù)器端信號(hào)連接于UART接口單元。
所述UART 接口單元,用于連接機(jī)載端和北斗接收機(jī),以及機(jī)載端和服務(wù)器端的數(shù)據(jù)通信,將接收到的北斗數(shù)據(jù)分別發(fā)送至NIOS處理器和DES IP處理單元;所述NIOS處理器,用于解析北斗數(shù)據(jù),將解析后的北斗數(shù)據(jù)經(jīng)LCD控制器發(fā)送給LCD進(jìn)行實(shí)時(shí)顯示;所述DES IP處理單元將北斗數(shù)據(jù)進(jìn)行加密后,通過I/O終端發(fā)送給NIOS處理器;所述鍵盤用于輸入新密鑰或新管理員口令,將輸入的新密鑰或新管理員口令經(jīng)總線發(fā)送給Flash單元進(jìn)行保存。
所述機(jī)載端和服務(wù)器端之間通過電臺(tái)進(jìn)行數(shù)據(jù)傳輸;所述數(shù)據(jù)接收單元用于接收電臺(tái)發(fā)送過來的密文數(shù)據(jù);所述解密單元用于對(duì)密文進(jìn)行解密、解析;所述數(shù)據(jù)處理單元用于處理北斗數(shù)據(jù),顯示北斗參數(shù),發(fā)送個(gè)北斗接收機(jī)控制指令,更改密鑰,更改管理員口令和設(shè)置串口參數(shù)。
本實(shí)用新型實(shí)施例2中提供了一種基于FPGA的北斗數(shù)據(jù)加密方法,具體步驟如下:
一種基于FPGA的北斗數(shù)據(jù)加密方法,其特征在于,所述方法包括以下步驟:
步驟1:系統(tǒng)進(jìn)行初始化,服務(wù)器端進(jìn)行參數(shù)設(shè)置和控制北斗接收機(jī)開始運(yùn)行;
步驟2:加密卡通過UART IP獲取北斗數(shù)據(jù)后同時(shí)傳給NIOS處理器和DES IP處理單元。
步驟3:NIOS處理器解析北斗數(shù)據(jù)并經(jīng)LCD 控制器傳給機(jī)載LCD進(jìn)行實(shí)時(shí)顯示,方便機(jī)上人員了解設(shè)備工作狀態(tài);
步驟4:DES IP處理單元將北斗數(shù)據(jù)加密后,通過I/O中斷傳給NIOS處理器,NIOS處理器將密文加入數(shù)據(jù)包頭、尾字節(jié)后,再經(jīng)電臺(tái)傳到服務(wù)器端;、
步驟5:服務(wù)器端接收加密數(shù)據(jù),將接收到的加密數(shù)據(jù)發(fā)發(fā)送給解密單元;
步驟6:解密單元對(duì)接收到的加密數(shù)據(jù)進(jìn)行數(shù)據(jù)解密,將解密后的數(shù)據(jù)發(fā)送至數(shù)據(jù)處理單元;
步驟7:數(shù)據(jù)處理單元對(duì)接收到的解密數(shù)據(jù)進(jìn)行解密;
步驟8:服務(wù)器發(fā)送更改密鑰的指令至北斗接收機(jī)和更改管理員口令至加密卡,跳轉(zhuǎn)繼續(xù)執(zhí)行步驟2。
所述DES IP處理單元對(duì)接收到的北斗數(shù)據(jù)進(jìn)行加密的方法包括以下步驟:
步驟1:接收64位明文信息,進(jìn)行初始置換IP;
步驟2:進(jìn)行16輪基于F函數(shù)的迭代運(yùn)算;
步驟3:進(jìn)行逆初始置換,生成64位的密文。
所述F函數(shù)的運(yùn)行步驟包括以下不好走:
步驟1:強(qiáng)將64位經(jīng)初始置換IP處理后的中間數(shù)據(jù)分為左右兩部分,分別記為L(zhǎng)和R;
步驟2:將R-1按照擴(kuò)展換位表E擴(kuò)展為48位的數(shù)據(jù);
步驟3:將擴(kuò)展后的R-1與循環(huán)移位后的48位子密鑰K(K1,K2,…,K48)進(jìn)行異或運(yùn)算;
步驟4:將“異或”后的結(jié)果送入8個(gè)S盒進(jìn)行替代運(yùn)算,每個(gè)S盒都有6位輸入、4 位輸出,并且8個(gè)S盒都不相同,48位的輸入分為6位一組,分別送到8個(gè)S盒選擇相應(yīng)的輸出,結(jié)果為32位;
步驟5:將S盒替代后的32 位結(jié)果依照P盒進(jìn)行置換,置換后結(jié)果即為f(R-1,K)的最終值,這樣便完成了f函數(shù)的運(yùn)算。
本實(shí)用新型實(shí)施例3中提供了一種基于FPGA的北斗數(shù)據(jù)加密系統(tǒng)及方法,系統(tǒng)結(jié)構(gòu)圖如圖1所示:
一種基于FPGA的北斗數(shù)據(jù)加密系統(tǒng),其特征在于,所述系統(tǒng)包括:北斗接收機(jī)、機(jī)載端和服務(wù)器端;所述機(jī)載端包括:鍵盤、機(jī)載LCD和加密卡;所述服務(wù)器端包括:數(shù)據(jù)接收單元、解密單元和數(shù)據(jù)處理單元;所述北斗接收機(jī)信號(hào)連接于機(jī)載端;所述機(jī)載端信號(hào)連接于服務(wù)器端。
進(jìn)一步的,本實(shí)用新型的加密卡主要具備如下的功能:
1、解析、處理北斗數(shù)據(jù)、檢測(cè)設(shè)備工作狀態(tài)并在LCD上顯示相關(guān)信息;
2、接收北斗數(shù)據(jù)并通過加密卡對(duì)其加密,將密文通過電臺(tái)傳送到服務(wù)器端;
3、處理鍵盤或服務(wù)器端輸入的預(yù)存指令編號(hào)或新指令,將指令發(fā)給北斗接收機(jī)并返回回饋信息;
4、更新鍵盤或服務(wù)器輸入的新密鑰或新管理員口令。新密鑰先保存在Flash中,再通過總線傳給密鑰寄存器;新口令保存在Flash中。
所述加密卡包括:NIOS處理器、DES IP處理單元、接口單元、計(jì)時(shí)器、UART接口單元、Flash單元、SDRAM控制器、LCD控制器和總線單元;所述總線單元分別信號(hào)連接于NIOS處理器、DES IP處理單元、JTAG接口單元、計(jì)時(shí)器、UART接口單元、Flash單元、SDRAM控制器和LCD控制器。
所述鍵盤信號(hào)連接于總線單元;所述北斗接收機(jī)信號(hào)連接于UART接口單元;所述機(jī)載LCD信號(hào)連接于LCD控制器;所述服務(wù)器端信號(hào)連接于UART接口單元。
所述UART 接口單元,用于連接機(jī)載端和北斗接收機(jī),以及機(jī)載端和服務(wù)器端的數(shù)據(jù)通信,將接收到的北斗數(shù)據(jù)分別發(fā)送至NIOS處理器和DES IP處理單元;所述NIOS處理器,用于解析北斗數(shù)據(jù),將解析后的北斗數(shù)據(jù)經(jīng)LCD控制器發(fā)送給LCD進(jìn)行實(shí)時(shí)顯示;所述DES IP處理單元將北斗數(shù)據(jù)進(jìn)行加密后,通過I/O終端發(fā)送給NIOS處理器;所述鍵盤用于輸入新密鑰或新管理員口令,將輸入的新密鑰或新管理員口令經(jīng)總線發(fā)送給Flash單元進(jìn)行保存。
所述機(jī)載端和服務(wù)器端之間通過電臺(tái)進(jìn)行數(shù)據(jù)傳輸;所述數(shù)據(jù)接收單元用于接收電臺(tái)發(fā)送過來的密文數(shù)據(jù);所述解密單元用于對(duì)密文進(jìn)行解密、解析;所述數(shù)據(jù)處理單元用于處理北斗數(shù)據(jù),顯示北斗參數(shù),發(fā)送個(gè)北斗接收機(jī)控制指令,更改密鑰,更改管理員口令和設(shè)置串口參數(shù)。
一種基于FPGA的北斗數(shù)據(jù)加密方法,其特征在于,所述方法包括以下步驟:
步驟1:系統(tǒng)進(jìn)行初始化,服務(wù)器端進(jìn)行參數(shù)設(shè)置和控制北斗接收機(jī)開始運(yùn)行;
步驟2:加密卡通過UART IP獲取北斗數(shù)據(jù)后同時(shí)傳給NIOS處理器和DES IP處理單元。
步驟3:NIOS處理器解析北斗數(shù)據(jù)并經(jīng)LCD 控制器傳給機(jī)載LCD進(jìn)行實(shí)時(shí)顯示,方便機(jī)上人員了解設(shè)備工作狀態(tài);
步驟4:DES IP處理單元將北斗數(shù)據(jù)加密后,通過I/O中斷傳給NIOS處理器,NIOS處理器將密文加入數(shù)據(jù)包頭、尾字節(jié)后,再經(jīng)電臺(tái)傳到服務(wù)器端;、
步驟5:服務(wù)器端接收加密數(shù)據(jù),將接收到的加密數(shù)據(jù)發(fā)發(fā)送給解密單元;
步驟6:解密單元對(duì)接收到的加密數(shù)據(jù)進(jìn)行數(shù)據(jù)解密,將解密后的數(shù)據(jù)發(fā)送至數(shù)據(jù)處理單元;
步驟7:數(shù)據(jù)處理單元對(duì)接收到的解密數(shù)據(jù)進(jìn)行解密;
步驟8:服務(wù)器發(fā)送更改密鑰的指令至北斗接收機(jī)和更改管理員口令至加密卡,跳轉(zhuǎn)繼續(xù)執(zhí)行步驟2。
所述DES IP處理單元對(duì)接收到的北斗數(shù)據(jù)進(jìn)行加密的方法包括以下步驟:
步驟1:接收64位明文信息,進(jìn)行初始置換IP;
步驟2:進(jìn)行16輪基于F函數(shù)的迭代運(yùn)算;
步驟3:進(jìn)行逆初始置換,生成64位的密文。
所述F函數(shù)的運(yùn)行步驟包括以下不好走:
步驟1:強(qiáng)將64位經(jīng)初始置換IP處理后的中間數(shù)據(jù)分為左右兩部分,分別記為L(zhǎng)和R;
步驟2:將R-1按照擴(kuò)展換位表E擴(kuò)展為48位的數(shù)據(jù);
步驟3:將擴(kuò)展后的R-1與循環(huán)移位后的48位子密鑰K(K1,K2,…,K48)進(jìn)行異或運(yùn)算;
步驟4:將“異或”后的結(jié)果送入8個(gè)S盒進(jìn)行替代運(yùn)算,每個(gè)S盒都有6位輸入、4 位輸出,并且8個(gè)S盒都不相同,48位的輸入分為6位一組,分別送到8個(gè)S盒選擇相應(yīng)的輸出,結(jié)果為32位;
步驟5:將S盒替代后的32 位結(jié)果依照P盒進(jìn)行置換,置換后結(jié)果即為f(R-1,K)的最終值,這樣便完成了f函數(shù)的運(yùn)算。
本實(shí)用新型針對(duì)北斗系統(tǒng)進(jìn)行設(shè)計(jì),比起針對(duì)于GPS系統(tǒng)設(shè)計(jì)的算法,更加適用于我國(guó)自主的衛(wèi)星導(dǎo)航定位系統(tǒng)。另外,本實(shí)用新型采用改進(jìn)后的加密算法,安全性更高。
本實(shí)用新型的數(shù)據(jù)加密系統(tǒng)采用的元器件都是FPGA中的基礎(chǔ)元器件,能夠大規(guī)模進(jìn)行量產(chǎn),成本更低。
本實(shí)用新型的加密算法和解密算法案進(jìn)行分離,將解密的部分放到服務(wù)器上,使得機(jī)載端的負(fù)荷減小,體積更小,便于攜帶,實(shí)用性更強(qiáng)。
4、運(yùn)行速度快:采用DES IP處理單元對(duì)北斗數(shù)據(jù)加密,比起傳統(tǒng)的采用NIOS處理器對(duì)北斗數(shù)據(jù)進(jìn)行加密,不會(huì)出現(xiàn)丟點(diǎn)現(xiàn)象,且處理速度更快。
本實(shí)用新型并不局限于前述的具體實(shí)施方式。本實(shí)用新型擴(kuò)展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。