TETRA數(shù)字集群系統(tǒng)研究

相關專題: 無線

戴元軍 朱振榮 楊義先



  摘 要 本文研究了TETRA數(shù)字集群系統(tǒng)端到端保密通信,通過分析TETRA系統(tǒng)所面臨著的安全威脅,對密鑰管理中心及保密通信的終端進行了研究與設計,給出了一個完善的端到端保密通信的解決方案。


  關鍵詞 數(shù)字集群系統(tǒng) 保密通信 密鑰管理 TETRA



一、引言



  TETRA數(shù)字集群通信系統(tǒng)是基于數(shù)字時分多址(TDMA)技術的專業(yè)移動通信系統(tǒng),該系統(tǒng)是ETSI(歐洲通信標準協(xié)會)為了滿足歐洲各國的專業(yè)部門對移動通信的需要而設計、制訂統(tǒng)一標準的開放性系統(tǒng)。TETRA 數(shù)字集群系統(tǒng)不僅提供多群組的調度功能,而且還可以提供短數(shù)據(jù)信息服務、分組數(shù)據(jù)服務以及數(shù)字化的全雙工移動電話服務。TETRA 系統(tǒng)還支持功能強大的移動臺脫網(wǎng)直通(DMO)方式。


  TETRA通信系統(tǒng)的通信保密與信息安全,是系統(tǒng)設計者重點關心、急需解決的重要問題。獲得廣泛應用的模擬集群通信系統(tǒng)和GSM 蜂窩網(wǎng),其安全保密問題一直沒有得到有效的解決。TETRA 數(shù)字集群系統(tǒng)所面臨的威脅有:


  終端設備與網(wǎng)絡設施之間的無線接口可能受到以下安全威脅:


 。1)非法竊聽:攻擊者通過對無線信道的監(jiān)聽來獲取傳輸?shù)南,甚至進行被動或主動流量分析,這是對通信網(wǎng)絡最常見的攻擊方法,這種威脅源于無線鏈路的開放性。


   (2)非授權訪問數(shù)據(jù):攻擊者偽裝成合法用戶訪問網(wǎng)絡資源,以期達到破壞目的;或者攻擊者違反安全策略,利用安全系統(tǒng)的缺陷非法占有系統(tǒng)資源和訪問本應受保護的信息。必須對網(wǎng)絡設備增加認證機制,以防止非授權用戶使用網(wǎng)絡資源。


  (3)對完整性的威脅:攻擊者可能修改、插入、重放或刪除無線鏈路上合法用戶的數(shù)據(jù)或信令數(shù)據(jù)。


 。4)拒絕服務攻擊:攻擊者通過在物理上或協(xié)議上干擾用戶數(shù)據(jù)、信令數(shù)據(jù)或控制數(shù)據(jù)在無線鏈路上的正確傳輸,來實現(xiàn)無線鏈路上的拒絕服務攻擊。


  針對以上的一些安全威脅,TETRA 系統(tǒng)實現(xiàn)了系統(tǒng)功能和安全保密功能的一體化設計,現(xiàn)已經具有鑒權及空中接口加密功能,并支持端到端加密,端到端加密一般由用戶自行設計實現(xiàn)。鑒權實現(xiàn)用戶和網(wǎng)絡設施間的單向或雙向鑒權,用于防止非法用戶接入系統(tǒng)和合法用戶接入假冒系統(tǒng),可解決上述的威脅(2)及威脅(4);空中接口加密用于對基站和移動臺間無線信道上的信息數(shù)據(jù)和信令加密保護,并保證信息不被重播。可以部分解決威脅(1)和(3),只能夠在無線鏈路上對用戶語音數(shù)據(jù)加密,并保護信令數(shù)據(jù)不被分析,但用戶的數(shù)據(jù)信息在網(wǎng)絡設施中是未加密的。而端到端加密則可以解決這個問題,本文給出端到端加密的詳細設計,不僅有效地解決威脅(1),還解決了威脅(3)所面臨的問題。



二、TETRA 端到端加密的系統(tǒng)框架



  TETRA數(shù)字集群系統(tǒng)由移動臺MS、基站BS、調度臺DWSx、交換機DXT及TETRA 互聯(lián)服務器TCS等構成,端到端加密的密鑰管理中心KMC作為TCS的應用開發(fā)系統(tǒng)連接到TETRA 系統(tǒng)中。TETRA 端到端加密的密系統(tǒng)框架圖如圖1所示。


  為在標準TETRA系統(tǒng)中實現(xiàn)端到端加密功能,必須進行以下兩方面工作:


 。1)在TETRA系統(tǒng)中建立一個密鑰管理中心KMC(Key Management Center),KMC通過TCS的API與TETRA系統(tǒng)相連,通過空中接口以短數(shù)據(jù)的方式為移動臺端分發(fā)通信密鑰TEK,此外密鑰管理中心負責密鑰的產生,存儲及增刪等功能。


   (2)對TETRA終端設備進行改造,使其能夠接受并響應KMC的密鑰管理OTAK消息,并利用通信密鑰來進行端對端加密,這里的端到端分別指得是移動臺到移動臺之間和移動臺到調度臺之間。



三、端到端加密的算法



  在端到端加密的設計中需使用四個密碼算法,即語音數(shù)據(jù)加密算法、傳輸密鑰TEK加密算法、同步幀完整性算法以及密鑰管理消息加密算法。


 。1)語音數(shù)據(jù)加密算法E1 :語音及短數(shù)據(jù)加密采用流密碼算法,該加密算法中的密鑰TEK和初始向量IV的長度要求不小于64位,分組數(shù)據(jù)長度為64位;


 。2)傳輸密鑰TEK的加密算法E2 :該加密算法的加密強度應當不低于語音數(shù)據(jù)加密算法的加密強度,為此其密鑰的長度不小于64位,分組數(shù)據(jù)長度為64位;


  (3)同步幀完整性算法E3:為了保證端到端加密中同步幀的完整性,在同步幀中包含一個加密的校驗和,該校驗和是抽取了幀中的幾個部分并用校驗和的生成算法CRC和密鑰TEK共同計算得到的,同步幀完整性算法的密鑰長度不小于64位,分組數(shù)據(jù)長度為64位;


   (4)密鑰管理消息加密算法E4:該算法是一個工作于CBC模式的分組加密算法,加密密鑰長度不小于64位,分組數(shù)據(jù)長度不少于64位;


  由于TETRA應用領域的特殊性,端到端加密中使用的加密算法可以是用戶自行開發(fā)或是國家、軍隊或行業(yè)準許的加密算法,密鑰長度也可由用戶自行規(guī)定。



四、端到端加密的密鑰管理



   端到端加密的密鑰管理由密鑰管理中心KMC來實現(xiàn),負責通信密鑰的生成,分發(fā)及增刪等。


  1. 通信密鑰的生成


  KMC利用用戶自行設計的密鑰生成算法生成通信密鑰TEK,并用KEYID來標識相應的TEK。將這些KEYID每16個編成一個密碼組,并將密碼組與通話組相關聯(lián),這樣在這個通話組的MS可以用這個密碼組的當前版本的TEK對語音或短數(shù)據(jù)消息進行加密通信。


  2. 通信密鑰的分發(fā)


  KMC做為TETRA互聯(lián)服務器的客戶端,通過空中接口以短消息的方式為移動臺分發(fā)通信密鑰TEK ,這種方式稱為空中密鑰分發(fā)OTAK(Over-the-Air-Keying)。通信密鑰有幾個不同版本(即以前使用的TEK,正在使用的TEK,即將使用的TEK),這些TEK由算法E2加密后進行傳輸,加密密鑰為該移動臺的主密鑰KEK或組密鑰(GEK ),這里的主密鑰是通過帶外的硬件接口載入的,它也被用來加密GEK 和信令加密密鑰SEK。


  一個特定組的TEK可以使用這個組的組密鑰GEK 進行加密,密鑰管理消息使用信令加密密鑰SEK 進行加密。OTAK使用TETRA 短數(shù)據(jù)服務進行密鑰的分發(fā),在TETRA 標準中用一個PID (protocol identifer)來指定該消息的類型。OTAK 有兩類消息,第一類包括KMC裝載密鑰到移動臺、裝載后激活該密鑰、刪除移動臺上的密鑰及將通信密鑰與TETRA 用戶組相關聯(lián)。第二類OTAK 消息是移動臺對第一類OTAK消息的應答所發(fā)出消息,這類消息由單個移動臺或一組用戶發(fā)出。由于移動臺可能關閉或不在網(wǎng)絡內,KMC必須要判斷接收到來自移動臺的操作正確的應答,并記錄哪些移動臺已經接收到密鑰更新的命令。


  MS分配新密鑰和管理通信密鑰時,OTAK消息是由MS的SEK作為密鑰并用算法E4進行加密的。OTAK 消息集中有一個MS_SIGNAL消息,當MS開機或重新進入網(wǎng)絡時會向KMC發(fā)送這個消息。KMC可以利用這個機會來更新MS中的密鑰,因為有的MS可能長時間處于網(wǎng)外而錯過了以前的密鑰更新消息。


  MS會解密并且驗證任何收到的OTAK SDS消息。每個消息都以KEYID標識(明文)用來標識著某個TEK。KEYID以明文方式放在消息的KEY字段中,使得接收端MS能夠選擇正確的密鑰去解密收到的消息。


  3. 通信密鑰的增刪


  當一個通話組發(fā)生變化時,如一個新的移動臺加入該通話組,則KMC將該通話組相關聯(lián)的密碼組通過OTAK消息分發(fā)給該移動臺。若一個移動臺退出通話組,則KMC將重新分發(fā)該通話組所對應的密碼組。


  4. 密鑰管理的安全性分析


  在安全性要求很高的場合,推薦所有KMC中保存的TEK和GEK都預先經過KEK加密。雖然這意味著密鑰在分發(fā)時是經過KEK和SEK雙重加密的,但是它保證了KMC中沒有保存也不可能獲得明文形式的通信密鑰,提高了密鑰存儲的安全性。


  加密后的OTAK SDS消息可以被發(fā)送到特定的MS也可以廣播給一組MS。所有的消息都有序列號,源與目的地址,和一個全部數(shù)據(jù)的CRC校驗。這些為防御重放和假冒攻擊提供了保證。



五、端到端加密的保密通信



  一個移動臺可以有多個通話組,同樣也有相應的密碼組。該移動臺可以與同一通話組的移動臺進行保密通信,即在與通話組相關聯(lián)密鑰組中找到當前版本的TEK,對語音和短數(shù)據(jù)進行加密傳送。接收端移動臺則根據(jù)同步幀中的KEYID找到相應的密鑰對接收的消息進行解密。


  1. 端到端語音加密通信


  具體的端到端語音加密的過程如圖2所示。圖2中虛線左側是發(fā)送移動臺的加密過程,右側是接收MS的解密過程。算法E1有通信密鑰(TEK)和初始向量(IV)兩個輸入,它生成一個連續(xù)的密鑰流,該密鑰流與CODEC輸出的語音數(shù)據(jù)流位異或后得到在TETRA系統(tǒng)中傳輸?shù)募用苷Z音。為了讓接收MS能夠正確解密加密后的語音,在圖中可以看到同步初始向量被加入到數(shù)據(jù)流中。與發(fā)送端正好相反,接收端檢測到同步幀,取出同步幀中的同步向量,將該向量傳給本地的密鑰流產生器,從而完成與發(fā)送端的同步。


  同步幀中還包含有KEYID及加密算法標識等附加單元,使得接收端能夠根據(jù)這些單元選擇端到端語音加密的密鑰及加密算法。另外兩個單元——時間戳及密碼校驗和則保證防止重放攻擊和同步幀的完整性。


  2. 端到端短數(shù)據(jù)加密通信


  如同在GSM中一樣,TETRA系統(tǒng)也支持短數(shù)據(jù)服務SDS,短數(shù)據(jù)消息可以是用戶自定義的消息或是狀態(tài)報告(預定義的消息)。TETRA系統(tǒng)所定義的SDS類型4可發(fā)送最多2047的不定長位的短數(shù)據(jù)。對短數(shù)據(jù)消息進行加密和完整性校驗如圖3所示。加密的過程與端到端語音加密類似,明文短數(shù)據(jù)消息與密鑰流生成算法E5所輸出的KSS相異或得到密文消息。安全校驗和(CCSUM)和其加密控制數(shù)據(jù)(Enc. Ctrl. Data)組成同步向量,該向量是不保密的,故不必加密。通過校驗和CCSUM可以驗證短數(shù)據(jù)的完整性,而且該校驗和的生成需要TEK作為密鑰,而攻擊者無法獲得該密鑰,故他將無法偽造短數(shù)據(jù)消息并重新計算校驗和。算法E6是一個工作在CBC模式的分組密碼算法。


  因為輸入短數(shù)據(jù)是變長的,在加密計算之前應該使短數(shù)據(jù)消息為加密分組的整數(shù)倍,同步向量中將包含所有必要的信息使得合法的接收端將能解密短數(shù)據(jù)。在Enc. Ctrl. Data 單元的數(shù)據(jù)包含算法E5和初始向量IV,并讓接收端知道使用了哪個加密算法及密鑰,當然直接傳送的不是密鑰而是一個密鑰標識號。一個攻擊者無法知道數(shù)據(jù)包內容,但他也許會分析這是哪類數(shù)據(jù),許多通信協(xié)議在協(xié)議頭中包含該協(xié)議的類型。在SDS類型4的協(xié)議包頭中也是協(xié)議標識PID,為了防止攻擊者得到相關有用的信息,未加密的短數(shù)據(jù)消息的原協(xié)議標識O-PID以一個編碼的格式傳送,即由一個新的協(xié)議標識ES-PID來替代。獲得ES-PID對是攻擊者是無用的,它所顯示的只是一個編碼的短數(shù)據(jù)消息被加密傳送。


  為了確認一個短數(shù)據(jù)消息通信成功,在SDS機制中有一個確認服務。如果短數(shù)據(jù)通信不成功(如接收端無法解密短數(shù)據(jù)或校驗和不正確),SDS消息的接收端將不發(fā)送確認消息或者發(fā)送失敗消息。



六、結論



  在TETRA系統(tǒng)的端到端加密中,集群系統(tǒng)不參與密鑰的產生和管理,也不規(guī)定加密算法,只提供透明傳輸通路。端到端加密在TETRA集群系統(tǒng)的用戶面進行, 集群終端設備應具有和端到端加密單元間的電氣接口和物理接口,以便于把端到端加密單元裝入終端設備中。本文提出一種較完善的端到端加密的設計方案,包括密鑰管理及移動臺端到端的加密通信,它實現(xiàn)了TETRA集群系統(tǒng)內從發(fā)送端用戶到接收端用戶間的信息全程通信保密,實現(xiàn)了在TETRA集群系統(tǒng)的高級保密功能,可用于對通信安全有特別嚴格要求的場合。



  戴元軍,北京郵電大學博士生,研究方向移動通信安全。楊義先,北京郵電大學教授,博士生導師,研究方向信息安全,密碼學。




----《中國數(shù)據(jù)通信》

   
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料

本周熱點本月熱點

 

  最熱通信招聘

  最新招聘信息