《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 無人機(jī)遙控指令加密方式的研究

無人機(jī)遙控指令加密方式的研究

2008-12-12
作者:張興凱1, 王喜發(fā)2, 戴紫彬

??? 摘? 要: 介紹了無人機(jī)遙控" title="無人機(jī)遙控">無人機(jī)遙控指令的特點(diǎn),提出對(duì)遙控指令進(jìn)行加密的方式以實(shí)現(xiàn)更高的安全性;設(shè)計(jì)了基于序列密碼的一次一密加密方案,通過分析遙控指令加解密" title="加解密">加解密的過程,給出了一種遙控指令的幀結(jié)構(gòu)" title="幀結(jié)構(gòu)">幀結(jié)構(gòu),更好地滿足遙控指令高安全性、高可靠性的需求。

??? 關(guān)鍵詞: 無人機(jī); 遙控; 加密?

?

??? 遙控信息的安全問題是無人機(jī)遙控系統(tǒng)設(shè)計(jì)和任務(wù)實(shí)施過程中最重要的問題之一。然而,日益發(fā)展的電子偵察和電子對(duì)抗技術(shù),使第三方可以截獲已方所發(fā)送的遙控指令,分析和竊取遙控信息的內(nèi)容,從而偽造遙控信息,對(duì)己方無人機(jī)構(gòu)成嚴(yán)重威脅。隨著現(xiàn)代通信技術(shù)和密碼技術(shù)的發(fā)展,人們通常采取指令加密的方式使遙控指令獲得更高的安全性和可靠性。本文在對(duì)遙控指令加密時(shí)設(shè)計(jì)了一種一次一密的序列密碼加密方案,并結(jié)合加解密的流程采用不同的遙控幀結(jié)構(gòu),確保無人機(jī)遙控指令安全可靠地傳輸。?

1 無人機(jī)遙控的基本概念?

??? 所謂無人機(jī)的遙控就是在主控端(通常指地面控制站)將控制命令(飛行控制命令、任務(wù)控制命令)變換成指令,通過無線電上行信道發(fā)向無人機(jī)的相關(guān)機(jī)載遙控遙測設(shè)備。機(jī)載遙控遙測設(shè)備經(jīng)過一系列變換及指令解碼即得到開關(guān)指令或連續(xù)指令信號(hào)。這些信號(hào)送到無人機(jī)自動(dòng)駕駛儀或任務(wù)執(zhí)行機(jī)構(gòu),控制飛機(jī)飛行或者控制任務(wù)設(shè)備做相應(yīng)動(dòng)作。?

1.1? 遙控指令構(gòu)成?

??? 遙控指令主要用于實(shí)現(xiàn)對(duì)無人機(jī)的控制,其構(gòu)成直接取決于無人機(jī)飛行原理和控制方式。根據(jù)功能劃分,遙控幀可分為實(shí)時(shí)開關(guān)命令幀和串行注入數(shù)據(jù)幀。在每幀中需要設(shè)定方式字,以便對(duì)幀的內(nèi)容進(jìn)行判定。遙控指令通常每隔100ms發(fā)送一幀,每幀32B,包括數(shù)據(jù)頭定義、飛控指令、導(dǎo)航數(shù)據(jù)和效驗(yàn)字等。遙控指令的格式如圖1所示。?

?

?

??? 上行遙控信道開啟一次為一個(gè)遙控工作期。在每個(gè)遙控工作期的開頭有一個(gè)引導(dǎo)序列,使無人機(jī)上載波、副載波解調(diào)器進(jìn)入穩(wěn)定和同步狀態(tài)。如果在一個(gè)遙控工作期內(nèi)間歇發(fā)送若干個(gè)遙控幀或遙控幀序列,則需要在間歇期間用空閑序列填充,以維持必要的同步。?

1.2 遙控指令特點(diǎn)?

??? 遙控指令的數(shù)據(jù)量很小,通常12.8kb/s的傳輸速率就可滿足要求,其具有以下特點(diǎn):?

??? (1)實(shí)時(shí)性好。地面控制站通過遙控指令直接控制無人機(jī)的飛行姿態(tài),所以指令延遲不允許太長。?

??? (2)可靠性高。無人機(jī)的飛行控制主要依靠遙控指令,對(duì)指令產(chǎn)生、發(fā)送、傳輸和接收的可靠性要求非常高。?

??? (3)抗干擾性好。為了避免和減少由漏指令、誤指令引起的無人機(jī)飛行事故,遙控指令要求具有較強(qiáng)的抗干擾能力。?

??? (4)保密性高。為了確保無人機(jī)的控制規(guī)律和飛行航跡不被截獲,對(duì)遙控指令的保密性要求較高。?

2? 基于序列密碼的遙控指令加密?

??? 在數(shù)據(jù)加密處理中最常用的方法有分組加密和序列加密。分組加密以塊為單位對(duì)數(shù)據(jù)進(jìn)行加密和解密,塊的長度由算法設(shè)計(jì)人員設(shè)定,塊最小長度由對(duì)密碼強(qiáng)度的考慮來確定。序列加密時(shí)數(shù)據(jù)加解密的塊長可以由用戶自己確定,不要求最小塊長,在極端情況下,可以逐位加密。?

??? 本文采用序列密碼體制主要是基于以下幾方面因素:?

??? (1) 二者都可以做到高強(qiáng)度保密,從實(shí)現(xiàn)上來看,分組密碼較復(fù)雜,序列密碼相對(duì)簡單。?

??? (2) 分組加密體制對(duì)信息加密存在誤碼" title="誤碼">誤碼擴(kuò)散和一定延時(shí),一般應(yīng)用于信道傳輸質(zhì)量較好或具有數(shù)據(jù)重發(fā)功能的場合。?

??? (3) 序列密碼體制對(duì)信號(hào)的低延時(shí)、無誤碼擴(kuò)散等特點(diǎn),更適合應(yīng)用在誤碼率較高的無線鏈路中。?

??? 本文采用的是真隨機(jī)序列作為初始密鑰的一次一密的加密方案,如圖2所示,由嵌入到通信鏈路中的加解密單元完成對(duì)遙控指令實(shí)施加解密操作。這種做法避免保密單元處理大量與通信相關(guān)的內(nèi)容,提高信息處理的速率,確保遙控指令及時(shí)、可靠地傳輸。?

?

?

2.1 密鑰的產(chǎn)生、傳送和儲(chǔ)存?

??? 圖2中密鑰單元存儲(chǔ)的是完成本次飛行任務(wù)所需的加密密鑰。第一個(gè)加密密鑰由基本密鑰與會(huì)話密鑰作用產(chǎn)生,其后的每個(gè)加密密鑰由上一個(gè)加密密鑰變換產(chǎn)生,此種做法可以避免保密單元存儲(chǔ)大量的加解密密鑰。?

??? 圖3為密鑰產(chǎn)生的過程。其中,基本密鑰Kb由地面站與機(jī)載共同擁有。加密單元的基本密鑰由密鑰IC卡注入到Flash存儲(chǔ)模塊中,解密單元的基本密鑰由地面站輔助注鑰設(shè)備注入到機(jī)載Flash存儲(chǔ)模塊中?;久荑€由兩部分組成,其中一部分用于對(duì)密鑰變換單元存儲(chǔ)的密算法進(jìn)行解密,另一部分則與會(huì)話密鑰作用產(chǎn)生加密密鑰。會(huì)話密鑰Ks是一組真隨機(jī)序列,通過基于電阻熱噪聲的真隨機(jī)序列產(chǎn)生器中提取,它在理論上是不可破譯的。其隨機(jī)序列發(fā)生器的基本結(jié)構(gòu)如圖4所示。?

?

?

?

??? 加密單元每次上電重新啟動(dòng)后,真隨機(jī)序列產(chǎn)生器都會(huì)得到一組不同的真隨機(jī)序列,經(jīng)提取后得到此次通信的會(huì)話密鑰Ks,地面站將會(huì)話密鑰Ks發(fā)至解密單元相應(yīng)存儲(chǔ)模塊后,機(jī)載解密單元將Ks與自己的基本密鑰作用生成與地面站完全相同的初始密鑰。這時(shí),密鑰變換器按照同樣的時(shí)鐘工作開始,保證加密密鑰與解密密鑰的一致。?

2.2 加解密流程及其幀結(jié)構(gòu)的設(shè)計(jì)?

??? 結(jié)合上文遙控指令的構(gòu)成方式及其加解密的需要,本文設(shè)計(jì)的遙控指令幀結(jié)構(gòu)如圖5所示。?

?

?

??? 同步頭都是選擇自相關(guān)特性好、并且在密文數(shù)字序列中出現(xiàn)概率較小的碼型,這樣有利于在接收端進(jìn)行同步檢測,并防止在信息流中頻繁出現(xiàn)與同步頭相同的碼型,造成接收端的虛假同步。同時(shí)還要防止信道誤碼對(duì)同步頭干擾造成漏同步的情況發(fā)生,因此,必須對(duì)同步頭的傳輸采用容錯(cuò)技術(shù)或前向糾錯(cuò)技術(shù)的處理,以確保接收端能夠正確判別出同步頭信號(hào)。在本設(shè)計(jì)中,同步頭選擇IRIG(Inter-Range Instrumentation Group)推薦的最佳16位碼EB90;方式字、開關(guān)命令或注入數(shù)據(jù)、系統(tǒng)備用部分及校驗(yàn)和需要進(jìn)行加密處理,共需24B的密鑰,即密鑰單元中的每組密鑰為192bit。?

??? 以下將結(jié)合遙控指令的加密過程詳細(xì)闡述不同場合下使用的不同遙控幀結(jié)構(gòu)。?

??? 無人機(jī)通信過程包括了兩個(gè)環(huán)境:地面站相對(duì)安全的環(huán)境和飛行區(qū)域安全威脅較大的環(huán)境。各通信終端設(shè)備在地面站內(nèi)完成保密單元初始化,在開始保密通信前,無人機(jī)與地面站之間進(jìn)行相互認(rèn)證,由地面站發(fā)起。?

??? 起始幀用于表示保密通信的開始,機(jī)載解密單元無論何時(shí)接收到該幀,都要進(jìn)行解密單元的重新初始化,并將該幀回傳至地面站,以通知地面站機(jī)載設(shè)備已準(zhǔn)備就緒。起始幀結(jié)構(gòu)如圖6所示。?

?

?

??? 認(rèn)證握手幀用于數(shù)據(jù)交互前的相互認(rèn)證,同樣以互發(fā)認(rèn)證幀的形式實(shí)現(xiàn)。認(rèn)證幀結(jié)構(gòu)如圖7。?

?

?

2.2.1 加密單元工作流程?

??? 當(dāng)機(jī)載單元通過遙測信道回傳地面站正確的應(yīng)答后,地面站加密單元進(jìn)入工作狀態(tài)。首先進(jìn)行同步頭的搜索,當(dāng)連續(xù)搜索到n個(gè)(用戶可設(shè)定)同步頭時(shí),電路進(jìn)入鎖定狀態(tài),控制單元提取遙控幀中 8~31字節(jié)的數(shù)據(jù)送至加密運(yùn)算器1號(hào)緩存,同時(shí)讀取密鑰單元192bit加密密鑰送至加密運(yùn)算器2號(hào)緩存和密鑰變換單元,加密運(yùn)算器分別讀取兩個(gè)緩存數(shù)據(jù)完成加密(算法已初始化);密鑰變換單元在密算法的作用下生成下一幀的加密密鑰(加密密鑰的生成時(shí)間小于一幀遙控幀的加密時(shí)間)。最后由控制單元完成對(duì)遙控幀的組合。圖8為加密前后幀結(jié)構(gòu)的變化。

?

?

2.2.2 解密單元工作流程?

??? 解密單元同樣首先進(jìn)行同步頭的搜索,進(jìn)入電路鎖定狀態(tài)后,控制單元首先提取判斷2~7字節(jié)是否為全0或全1數(shù)據(jù),若不是則提取幀中的8~31字節(jié)數(shù)據(jù)送至解密運(yùn)算器的2號(hào)緩存,同時(shí)將密鑰單元中儲(chǔ)存的192bit解密密鑰輸出到解密運(yùn)算器1號(hào)緩存和密鑰變換單元,解密運(yùn)算器提取1、2號(hào)緩存數(shù)據(jù)完成解密;密鑰變換單元在解密遙控幀的時(shí)間內(nèi)完成對(duì)下一次通信解密密鑰的生成并將其儲(chǔ)存于密鑰單元。?

2.3 密碼同步方案?

??? 密碼同步技術(shù)是基于序列密碼加密的數(shù)字通信系統(tǒng)中非常重要的技術(shù),目的是為了在通信過程中,保證通信雙方加解密的起點(diǎn)嚴(yán)格一致。?

??? 密碼同步工作狀態(tài)的建立一般是在保密設(shè)備首先建立位同步的情況下進(jìn)行,位同步可以由信源終端或信道設(shè)備直接提供的時(shí)鐘來實(shí)現(xiàn),也可以通過從信源終端或信道傳輸設(shè)備提供的數(shù)字流中提取時(shí)鐘來實(shí)現(xiàn)。選擇信源終端提供的時(shí)鐘還是選擇信道傳輸設(shè)備提供的時(shí)鐘,應(yīng)服從數(shù)字通信系統(tǒng)的總體時(shí)鐘同步關(guān)系的安排。位同步的作用是指示比特的開始和結(jié)束,這里不作詳細(xì)討論。?

??? 在本設(shè)計(jì)中,密鑰變換器在統(tǒng)一的時(shí)鐘驅(qū)動(dòng)下工作,利用這種方式可以保證只要系統(tǒng)實(shí)現(xiàn)了正確的幀同步" title="幀同步">幀同步,即對(duì)同步頭的正確搜索,則密碼同步也同時(shí)實(shí)現(xiàn)。同步頭的搜索過程如圖9所示。?

?

?

??? 在數(shù)據(jù)流存在誤碼(由噪聲或干擾引起)的情況下,通過某些抗誤碼算法正確地找到并保持每一幀的開始位置,這就是鎖定幀同步過程。只有正確鎖定幀同步后,才可以在每一幀里正確地分析幀的結(jié)構(gòu)。鎖定幀同步步驟如下:?

??? (1)搜索階段:用數(shù)據(jù)流和幀同步碼進(jìn)行相關(guān)運(yùn)算的方法在數(shù)據(jù)流中搜索幀同步碼。數(shù)據(jù)流向左移位,每次移1位后與幀同步碼模板比較一次。當(dāng)數(shù)據(jù)流中的幀同步碼與幀同步碼模板位置重合、且由誤碼率引起的誤碼數(shù)目不超過a時(shí),認(rèn)為搜索到幀同步碼。?

??? (2)驗(yàn)證階段:找到幀同步碼后,以一幀為周期,驗(yàn)證是否在連續(xù)若干幀中周期性地出現(xiàn)同步碼。?

??? (3)假定以上兩個(gè)階段共進(jìn)行G幀,其中搜索和驗(yàn)證幀碼時(shí)容錯(cuò)數(shù)均為a(允許有a位碼與幀碼不符,a≤n)。如果連續(xù)G幀都找到了幀同步碼,這時(shí)進(jìn)入幀同步鎖定階段,可以對(duì)遙控指令進(jìn)行處理,但是每一幀仍然要周期性地檢查幀同步碼,這時(shí)容錯(cuò)數(shù)為k(k≤n),當(dāng)連續(xù)L幀都未發(fā)現(xiàn)幀同步碼時(shí),幀同步解鎖,停止處理數(shù)據(jù),重新進(jìn)入搜索階段。這樣處理,可以保證在出現(xiàn)假鎖(指把數(shù)據(jù)碼誤認(rèn)作幀同步碼而鎖定假幀同步)或遙控指令流終止時(shí)能及時(shí)退出鎖定狀態(tài),防止繼續(xù)對(duì)虛假遙控指令進(jìn)行處理。?

??? 本文通過分析遙控指令的構(gòu)成和傳輸特點(diǎn),結(jié)合無人機(jī)遙控指令對(duì)可靠性和防誤碼擴(kuò)散的需求,提出了一種基于序列密碼的一次一密加密方案。文章詳細(xì)論述了該方案加解密的流程以及如何完成對(duì)同步頭的搜索和鎖定。同時(shí)根據(jù)無人機(jī)實(shí)際通信過程的需要,完成了對(duì)保密遙控幀結(jié)構(gòu)的設(shè)計(jì)?,F(xiàn)已在實(shí)驗(yàn)室環(huán)境下模擬了無人機(jī)傳送加密前遙控信息,在Altera公司的EP1K100Q1208型FPGA芯片與設(shè)計(jì)了硬件電路板,分別完成了加密單元和解密單元的電路設(shè)計(jì),驗(yàn)證了方案的可行性。?

參考文獻(xiàn)?

[1] 吳益明,某型無人機(jī)地面綜合測試系統(tǒng)的研究與實(shí)現(xiàn)[D].西安:西北工業(yè)大學(xué)學(xué)位論文,2005.?

[2] 陸洲,周紅彬.一種先進(jìn)的話音加密同步技術(shù)的設(shè)計(jì)及實(shí)現(xiàn)[J]. 無線電通信技術(shù),1999,25.?

[3] HUANG Zhun, CHEN Hong Yi. A truly random generator based on thermal noise, ASIC, 2001. Proceedings. 4th?International Conference on 23-25 Oct,2001:862-864.?

[4] 張鳳仙.數(shù)字保密通信中的密碼同步技術(shù)[J].飛行器測控學(xué)報(bào),2002,3(21).?

[5] 蘇圭昀,張曉林.無人直升機(jī)遙控系統(tǒng)關(guān)鍵技術(shù)研究[J].遙測遙控,2002(11).?

[6] SCHNEIER B.應(yīng)用密碼學(xué). 吳世忠,祝世雄譯. 北京:機(jī)械工業(yè)出版社, 2000.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。