国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

AES加密在無人機(jī)數(shù)據(jù)鏈上的設(shè)計(jì)與應(yīng)用

2021-09-29 14:45:28天津航天中為數(shù)據(jù)系統(tǒng)科技有限公司張志科張曉君
電子世界 2021年14期
關(guān)鍵詞:加解密數(shù)據(jù)鏈字節(jié)

天津航天中為數(shù)據(jù)系統(tǒng)科技有限公司 張志科 楊 晨 張曉君

為了解決無人機(jī)數(shù)據(jù)鏈傳輸過程中的數(shù)據(jù)安全問題,采用AES算法對數(shù)據(jù)進(jìn)行加解密。加解密采用單獨(dú)板卡設(shè)計(jì),介紹了AES加密四種變換和密鑰擴(kuò)展算法在FPGA上的實(shí)現(xiàn)方法,并根據(jù)無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)幀格式的特點(diǎn),設(shè)計(jì)了一種適合無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)幀特點(diǎn)的AES加解密方案,最后在上位機(jī)上編寫自收發(fā)測試軟件,搭建系統(tǒng)回環(huán)測試環(huán)境,在明態(tài)和密態(tài)下進(jìn)行對比。系統(tǒng)測試結(jié)果表明,加解密過程運(yùn)行穩(wěn)定,由加解密帶來的系統(tǒng)延時(shí)只占數(shù)據(jù)鏈本身延時(shí)的3%。

無人機(jī)數(shù)據(jù)鏈?zhǔn)菍?shí)現(xiàn)無人機(jī)與地面站之間雙向傳輸信息的無線通信系統(tǒng), 主要完成機(jī)載視頻的實(shí)時(shí)下傳、載荷控制及狀態(tài)回報(bào)和遙控遙測信息的分發(fā)。目前無人機(jī)與地面站的數(shù)據(jù)通信大多以明文形式傳輸,一旦數(shù)據(jù)鏈通信體制被人了解,就可以很輕松的共享無人機(jī)飛行數(shù)據(jù),甚至劫持無人機(jī),使我們不得不關(guān)注無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)安全問題。在數(shù)據(jù)編碼調(diào)制之前對數(shù)據(jù)進(jìn)行加密,可有效防止數(shù)據(jù)鏈數(shù)據(jù)被截獲和篡改,即使被截獲,截獲者也無法在可見的時(shí)間內(nèi)將其破譯。

針對數(shù)據(jù)鏈的加密研究很早已經(jīng)開始,張興凱等人總結(jié)了無人機(jī)信息傳輸系統(tǒng)的體系結(jié)構(gòu)和特點(diǎn),采用一種混合加密體制實(shí)現(xiàn)了對無人機(jī)上行數(shù)據(jù)鏈加密;張興凱等人在無人機(jī)遙控指令加密方式的研究中設(shè)計(jì)了一種基于序列密碼的一次一密加密方案;王劍等人設(shè)計(jì)了一種基于國密SM4算法的ACARS數(shù)據(jù)鏈信息的加密方案,實(shí)現(xiàn)了對報(bào)文的加密;胡子杰等人提出一種針對民用無人機(jī)的遙控?cái)?shù)據(jù)保護(hù)方法,并從安全性和實(shí)現(xiàn)性方面對AES、PRESENT和RC4這3種加密算法的可行性進(jìn)行了分析,得出AES算法易實(shí)現(xiàn)、安全性高。上述研究都是對上行遙控低速數(shù)據(jù)的加密方案,而對下行視頻和載荷等高速復(fù)合數(shù)據(jù)的加密有些力不從心,并且沒有對加解密系統(tǒng)引入的延時(shí)進(jìn)行分析,本文提出一種基于AES算法的無人機(jī)數(shù)據(jù)鏈加密方案,該方案可實(shí)現(xiàn)對上行遙控和下行復(fù)合數(shù)據(jù)加密,并且加密速率快、安全性高,系統(tǒng)延時(shí)只增加3%。

1 系統(tǒng)總體方案

無人機(jī)數(shù)據(jù)鏈的數(shù)據(jù)以幀的形式傳輸,數(shù)據(jù)幀的幀頭、幀長在一般是確定不變的,所以分組密碼十分適合無人機(jī)數(shù)據(jù)加密;在分組密碼中Rijndael算法以其安全性、速度性能、實(shí)現(xiàn)的方便實(shí)用性、通用性和靈活性被選為AES標(biāo)準(zhǔn)(高級加密標(biāo)準(zhǔn)),并被廣泛應(yīng)用。

無人機(jī)數(shù)據(jù)鏈分為地面終端和機(jī)載終端,地面終端完成上行遙控幀的加密和下行復(fù)合幀的解密,機(jī)載終端完成上行遙控幀的解密和下行復(fù)合幀的加密。加解密框圖如圖1所示。

圖1 加解密框圖

加解密采用單獨(dú)的板卡設(shè)計(jì),增強(qiáng)通用性;AES算法在加解密板的FPGA上采用verilog語言實(shí)現(xiàn),加密向量、密鑰和S盒存放在加解密板的flash中,可定期修改,保證安全性;加解密板和收發(fā)終端之間采用LVDS接口進(jìn)行數(shù)據(jù)交互,目前無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)速率一般在64M以下,LVDS接口足以滿足無人機(jī)數(shù)據(jù)鏈速率的要求。加解密板原理框圖如圖2所示。

圖2 加解密板框圖

2 AES加密算法的FPGA實(shí)現(xiàn)

AES是一種基于替換和置換的迭代對稱密鑰分組加密算法。置換是數(shù)據(jù)的重新排列,而替換是用一個(gè)單元數(shù)據(jù)替換另一個(gè)。AES使用了幾種不同的技術(shù)來實(shí)現(xiàn)置換和替換,包括:字節(jié)替換(SubBytes),行移位(ShiftRows),列混合(MixColumn),密鑰加(AddRoundKey),這種替換、置換和迭代算法十分適合FPGA實(shí)現(xiàn)。AES的數(shù)據(jù)和密鑰分組長度可分為128bits、129bits和256bits,本設(shè)計(jì)中選擇128bits。AES128算法中數(shù)據(jù)和密鑰都可以看作是一個(gè)以字節(jié)為單位的4X4的矩陣,經(jīng)過10輪變換后得到密文數(shù)據(jù)。

2.1 四種變換

(1)字節(jié)替換(SubBytes)

字節(jié)替換是一種非線性的變換,也稱為S盒變換,將數(shù)據(jù)以查表方式替換為S盒中的數(shù)據(jù)。S盒的設(shè)計(jì)是AES安全性中很重要的一環(huán),它的強(qiáng)度決定了AES加密算法的強(qiáng)度。許多學(xué)者對AES算法的改進(jìn)主要體現(xiàn)在S盒算法的研究上,本設(shè)計(jì)中不討論S盒的生成,但為了適應(yīng)后續(xù)S盒技術(shù)的升級,將S盒存放在flash中,可根據(jù)S盒技術(shù)的最新研究成果修改AES算法所使用的S盒,而不必修改程序。每次上電后,將S盒數(shù)據(jù)從flash中讀出,在加密過程中進(jìn)行字節(jié)替換,S盒變換過程如圖3所示。

圖3 字節(jié)替換

(2)行移位(ShiftRows)

在行循環(huán)移位變換中,AES128算法第一行不變,第二行循環(huán)移位1個(gè)字節(jié),第三行循環(huán)移位2個(gè)字節(jié),第四行循環(huán)移位3個(gè)字節(jié),生成新的矩陣。

(3)行移位(ShiftRows)

列混合運(yùn)算在數(shù)學(xué)上可以看作是數(shù)據(jù)矩陣a(x)的每一列與多項(xiàng)式矩陣c(x)的乘法,結(jié)果對x4+1取模,即:b(x)=c(x) * a(x)(mod x4+1);

矩陣展開:

由上式可以看出,與02相乘相當(dāng)于左移1位,矩陣乘法可以拆分為加法、異或和移位運(yùn)算。

(4)密鑰加(AddRoundKey)

輪密鑰加是將種子密鑰擴(kuò)展出的密鑰與數(shù)據(jù)矩陣按位異或,無特殊變換。

可以看出AES四種變換的實(shí)質(zhì)就是簡單的查表、移位、相加和異或運(yùn)算,易于FPGA實(shí)現(xiàn)。

2.2 密鑰擴(kuò)展

在AES128中,種子密鑰為一個(gè)4X4矩陣,記作ω[0:3],ω[0]為第一列,密鑰擴(kuò)展就是將矩陣ω?cái)U(kuò)展40個(gè)新列,構(gòu)成4X44的擴(kuò)展密鑰矩陣,擴(kuò)展矩陣按照以下方式遞歸產(chǎn)生:

其中T變換,由三種變換組成:字節(jié)循環(huán)移位、字節(jié)替換和輪常量異或:

(1)字節(jié)循環(huán)移位:將ω[i-1]中的4個(gè)字節(jié)循環(huán)移位1個(gè)字節(jié),即將[b0,b1,b2,b3]變換為[b1,b2,b3,b0]。

(2)字節(jié)替換:字節(jié)循環(huán)移位后的結(jié)果使用S盒進(jìn)行字節(jié)替換。

(3)輪常量異或:將前兩步的結(jié)果同輪常量Rcon[j]進(jìn)行異或,j表示輪數(shù)。

表1 輪常量Rcon[j]

可見,密鑰擴(kuò)展算法也是一些簡單的移位、替換和異或,易于FPGA實(shí)現(xiàn)。

3 AES在無人機(jī)數(shù)據(jù)鏈的應(yīng)用

為解決無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)安全問題,發(fā)送端在數(shù)據(jù)發(fā)送之前對數(shù)據(jù)采用AES算法加密,接收端接收到數(shù)據(jù)后再對數(shù)據(jù)進(jìn)行解密,實(shí)現(xiàn)數(shù)據(jù)加密傳輸。無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)以幀的形式進(jìn)行數(shù)據(jù)傳輸,接收端需要通過幀頭和幀長進(jìn)行數(shù)據(jù)同步,所以無人機(jī)數(shù)據(jù)鏈的AES加密要做到以下幾點(diǎn):

(1)數(shù)據(jù)幀的幀頭不加密,且可以適應(yīng)不同幀頭;(2)數(shù)據(jù)傳輸中不能傳輸密鑰,保證安全性;(3)每個(gè)數(shù)據(jù)幀使用不同的密鑰加密;(4)可對幀長不是128bits幀數(shù)倍的數(shù)據(jù)幀加密,且不增加數(shù)據(jù)量;(5)低延時(shí)。

3.1 無人機(jī)數(shù)據(jù)鏈幀格式

為滿足無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)加密需求,需對無人機(jī)數(shù)據(jù)鏈幀格式作詳細(xì)定義。無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)幀包括:幀頭、密鑰同步字和待加解密數(shù)據(jù)三部分。幀頭的內(nèi)容和長度一般固定;密鑰同步字長度固定,在固定位置存放加密向量編號、密鑰編號和待加解密數(shù)據(jù)的長度。幀長存放在密鑰同步字中兼容不同幀長的數(shù)據(jù)格式,加密向量和密鑰存放在加解密板的flash中,在數(shù)據(jù)鏈中只傳輸編號,保證安全性。在本設(shè)計(jì)中,flash中存放著256組加密向量和密鑰,每幀隨機(jī)取一組加密向量和密鑰對數(shù)據(jù)進(jìn)行加密,保證每幀使用不同的密鑰加密。

3.2 收發(fā)終端和加解密板之間的數(shù)據(jù)交互

無人機(jī)收發(fā)終端和加解密板之間的也是以幀的形式進(jìn)行數(shù)據(jù)交互,由圖1所示,收發(fā)終端和加解密板之間每個(gè)通道有6對LVDS線,收發(fā)各3對,發(fā)送和接收的3對LVDS線分別傳輸:時(shí)鐘、幀頭指示和數(shù)據(jù),數(shù)據(jù)傳輸幀格式如圖4所示。

圖4 數(shù)據(jù)傳輸格式

時(shí)鐘以固定的速率不間斷發(fā)送;幀頭指示拉高標(biāo)識此時(shí)的數(shù)據(jù)為幀頭,表示加解密板不需要加密的數(shù)據(jù),以便接收端做數(shù)據(jù)同步和數(shù)據(jù)提??;密鑰同步字是加解密板要解析的內(nèi)容,加解密板從中提取加密向量的編號、密鑰的編號和待加解密數(shù)據(jù)長度,對數(shù)據(jù)數(shù)據(jù)進(jìn)行加密。最后將幀頭、密鑰同步字和加解密數(shù)據(jù)發(fā)送給收發(fā)終端,完成加解密。

3.3 數(shù)據(jù)加解密過程

采用AES算法的輸出反饋模式(OFB)對數(shù)據(jù)進(jìn)行加解密,可有效解決待加解密數(shù)據(jù)不是128幀數(shù)倍的問題,該模式下加密和解密過程相同。

加解密板提取待加密向量編號、密鑰編號和待加解密數(shù)據(jù)長度后,開始對數(shù)據(jù)進(jìn)行加解密,加密過程如圖5所示。

圖5 AES加密過程

由圖5所示,加解密板收到加密向量編號和密鑰編號后,開始生成向量密文;AES實(shí)際是對加密向量進(jìn)行加密,加密生成向量密文,待加密分組數(shù)據(jù)和向量密文進(jìn)行異或后輸出密文數(shù)據(jù);本設(shè)計(jì)中每組加密向量生成一組向量密文后,加密向量向左循環(huán)移位1bit,保證每幀中不同分組數(shù)據(jù)異或的向量密文不同;對于最后不是128bits幀數(shù)倍的分組數(shù)據(jù)根據(jù)待加密數(shù)據(jù)長度,將后面超出部分舍棄,保證加密不增加數(shù)據(jù)量,實(shí)現(xiàn)幀長自適應(yīng)。

解密的過程和加密過程是相同,接收端根據(jù)加密向量編號和密文編號生成與發(fā)送端相同的向量密文,再和密文數(shù)據(jù)異或,即可得到明文數(shù)據(jù)。

4 系統(tǒng)測試

系統(tǒng)測試基于一套上行速率為51.2Kbps的無人機(jī)數(shù)據(jù)鏈,上位機(jī)模擬無人機(jī)遙控?cái)?shù)據(jù),遙控?cái)?shù)據(jù)幀長為128B,每幀數(shù)據(jù)中包含幀計(jì)數(shù)和CRC校驗(yàn),在上位機(jī)上編寫自收發(fā)測試軟件,測試軟件通過UART接口將遙控?cái)?shù)據(jù)發(fā)送給地面終端,并記錄遙控?cái)?shù)據(jù)幀發(fā)送時(shí)間,地面終端通過無線將數(shù)據(jù)發(fā)送給機(jī)載終端,然后機(jī)載終端接收到遙控?cái)?shù)據(jù)后再通過UART接口發(fā)送給上位機(jī)的測試軟件,上位機(jī)接收到完整遙控?cái)?shù)據(jù)幀后通過幀計(jì)數(shù)和CRC校驗(yàn)判斷遙控幀的連續(xù)性和正確性,并通過幀計(jì)數(shù)記錄接收到遙控幀的時(shí)間,與發(fā)送時(shí)間對比得出系統(tǒng)延時(shí),完成回環(huán)測試環(huán)境,測試軟件統(tǒng)計(jì)發(fā)送幀數(shù)、接收幀數(shù)、誤碼率和延時(shí),測試系統(tǒng)框圖如圖6所示。

圖6 系統(tǒng)測試框圖

在明態(tài)和密態(tài)下分別測試15萬幀數(shù)據(jù),在明態(tài)下測試軟件統(tǒng)計(jì)15萬幀遙控?cái)?shù)據(jù)的誤碼率和平均延時(shí),密態(tài)下測試軟件同樣統(tǒng)計(jì)15萬幀遙控?cái)?shù)據(jù)的誤碼率和平均延時(shí),通過明態(tài)平均延時(shí)和密態(tài)平均延時(shí)對比得出由于加解密帶來的系統(tǒng)延時(shí),測試結(jié)果如圖7、8所示,明態(tài)和密態(tài)結(jié)果對比見表2所示。

表2 測試結(jié)果分析

圖7 明態(tài)測試結(jié)果

圖8 密態(tài)測試結(jié)果

由測試結(jié)果,15萬數(shù)據(jù)誤幀率為0%,平均延時(shí)密態(tài)比明態(tài)增加1.017ms,測試結(jié)果表明,加解密運(yùn)行穩(wěn)定,由加解密過程帶來的延時(shí)占系統(tǒng)延時(shí)不到3%。

結(jié)論:本設(shè)計(jì)首先討論了AES四種變換和密鑰擴(kuò)展算法的結(jié)構(gòu)特點(diǎn),經(jīng)分析AES算法結(jié)構(gòu)簡單,非常適合在FPGA上實(shí)現(xiàn);然后詳細(xì)討論了無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)特點(diǎn),根據(jù)無人機(jī)數(shù)據(jù)鏈的數(shù)據(jù)特點(diǎn),提出無人機(jī)數(shù)據(jù)加密的要求;最后根據(jù)無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)加密要求,設(shè)計(jì)了一種基于AES的無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)加密方案。本設(shè)計(jì)中解決了無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)幀長不是128bits整數(shù)倍,加密不增加數(shù)據(jù)量和低延時(shí)等問題;加密向量和密鑰存放在flash中,數(shù)據(jù)幀中只傳輸編號,保證安全性,并實(shí)現(xiàn)一次一密;S盒存放在flash中,可以隨著S盒技術(shù)的進(jìn)步升級S盒,而不必修改FPGA程序,增強(qiáng)通用性。本設(shè)計(jì)經(jīng)過長時(shí)間拷機(jī)測試,加解密運(yùn)行穩(wěn)定,延時(shí)滿足無人機(jī)數(shù)據(jù)鏈數(shù)據(jù)要求。

猜你喜歡
加解密數(shù)據(jù)鏈字節(jié)
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
多平臺通用數(shù)據(jù)鏈助力未來戰(zhàn)場
高速公路工程項(xiàng)目實(shí)施中數(shù)據(jù)鏈應(yīng)用探析
基于深度學(xué)習(xí)的無人機(jī)數(shù)據(jù)鏈信噪比估計(jì)算法
No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
一種無人機(jī)數(shù)據(jù)鏈信道選擇和功率控制方法
簡談MC7字節(jié)碼
電子取證中常見數(shù)據(jù)加解密理論與方法研究
基于FPGA的LFSR異步加解密系統(tǒng)
網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)募咏饷芟到y(tǒng)研究
軟件工程(2014年11期)2014-11-15 20:02:46
磐石市| 靖江市| 宁强县| 太仓市| 高清| 家居| 比如县| 新建县| 施甸县| 泰顺县| 曲靖市| 观塘区| 枣庄市| 江达县| 望都县| 奉化市| 江阴市| 邓州市| 长沙市| 湖南省| 潜江市| 平潭县| 吉水县| 辉南县| 昔阳县| 尼勒克县| 塘沽区| 德阳市| 舞钢市| 遵化市| 南丹县| 深泽县| 南靖县| 寻甸| 通榆县| 南宁市| 鄂托克旗| 济阳县| 福州市| 友谊县| 同德县|