主頁(yè)(http://www.www.xzhtuan.com):TETRA數(shù)字集群系統(tǒng)端到端保密通信的實(shí)現(xiàn)
[摘要] 文章研究了TETRA數(shù)字集群系統(tǒng)的端到端保密通信技術(shù),通過(guò)分析TETRA系統(tǒng)所面臨著的安全威脅,提出了一種端到端加密的設(shè)計(jì)方案,包括密鑰管理及移動(dòng)臺(tái)端到端的加密通信,實(shí)現(xiàn)了TETRA集群系統(tǒng)內(nèi)從發(fā)送端用戶到接收端用戶間的信息通信全程保密。
[關(guān)鍵詞] 數(shù)字集群系統(tǒng);保密通信;密鑰管理
[英文摘要]By analyzing the threats that the TETRA system is facing, this paper outlines end-to-end communication encryption technologies and proposes an end-to-end encryption solution, including the key management and communication encryption of mobile stations. This solution can implement end-to-end encrypted communication from sender to receiver in a TETRA trunked system.
[英文關(guān)鍵字] digital trunked system; encrypted communication; key management
TETRA數(shù)字集群通信系統(tǒng)是基于數(shù)字時(shí)分多址(TDMA)技術(shù)的專業(yè)移動(dòng)通信系統(tǒng),該系統(tǒng)是歐洲通信標(biāo)準(zhǔn)協(xié)會(huì)(ETSI)為了滿足歐洲各國(guó)的專業(yè)部門對(duì)移動(dòng)通信的需要而設(shè)計(jì)、制定的具有統(tǒng)一標(biāo)準(zhǔn)的開放性系統(tǒng)。TETRA數(shù)字集群系統(tǒng)不僅提供多群組的調(diào)度功能,而且還可以提供短數(shù)據(jù)信息服務(wù)、分組數(shù)據(jù)服務(wù)以及數(shù)字化的全雙工移動(dòng)電話服務(wù)。TETRA系統(tǒng)還支持功能強(qiáng)大的移動(dòng)臺(tái)脫網(wǎng)直通(DMO)通信方式[1,2]。
獲得廣泛應(yīng)用的模擬集群通信系統(tǒng)和GSM蜂窩網(wǎng)的通信保密與信息安全問(wèn)題一直沒有得到有效解決,TETRA通信系統(tǒng)的通信保密與信息安全功能更是難以滿足要求,所以TETRA通信系統(tǒng)的通信保密與信息安全功能是系統(tǒng)設(shè)計(jì)者亟需解決的重要問(wèn)題。
通常TETRA數(shù)字集群系統(tǒng)的終端設(shè)備與網(wǎng)絡(luò)設(shè)施之間的無(wú)線接口可能受到以下安全威脅:
(1)非法竊聽
攻擊者通過(guò)對(duì)無(wú)線信道的監(jiān)聽來(lái)獲取傳輸?shù)南,甚至進(jìn)行被動(dòng)或主動(dòng)流量分析。
(2)非授權(quán)訪問(wèn)數(shù)據(jù)
攻擊者偽裝成合法用戶訪問(wèn)網(wǎng)絡(luò)資源,以期達(dá)到破壞目的;或者攻擊者違反安全策略,利用安全系統(tǒng)的缺陷非法占有系統(tǒng)資源和訪問(wèn)本應(yīng)受保護(hù)的信息。
(3)破壞數(shù)據(jù)的完整性
攻擊者可能修改、插入、重放或刪除無(wú)線鏈路上合法用戶的數(shù)據(jù)或信令數(shù)據(jù)。
(4)拒絕服務(wù)攻擊
攻擊者通過(guò)在物理上或協(xié)議上干擾用戶數(shù)據(jù)、信令數(shù)據(jù)或控制數(shù)據(jù)在無(wú)線鏈路上的正確傳輸,來(lái)實(shí)現(xiàn)無(wú)線鏈路上的拒絕服務(wù)攻擊。
針對(duì)以上的一些安全威脅,一些TETRA系統(tǒng)實(shí)現(xiàn)了系統(tǒng)功能和安全保密功能的一體化設(shè)計(jì),現(xiàn)已經(jīng)具有鑒權(quán)及空中接口加密功能,并支持端到端加密,端到端加密一般由用戶自行設(shè)計(jì)實(shí)現(xiàn)[3]。
鑒權(quán)功能可實(shí)現(xiàn)用戶和網(wǎng)絡(luò)設(shè)施間的單向或雙向鑒權(quán),用于防止非法用戶接入系統(tǒng)和合法用戶接入假冒系統(tǒng),可解決非授權(quán)訪問(wèn)數(shù)據(jù)與拒絕服務(wù)攻擊的威脅?罩薪涌诩用苡糜趯(duì)基站和移動(dòng)臺(tái)間無(wú)線信道上的信息數(shù)據(jù)和信令進(jìn)行加密保護(hù),并保證信息不被重播,可部分解決非法竊聽與破壞數(shù)據(jù)的完整性的威脅。空中接口加密只能夠在無(wú)線鏈路上對(duì)用戶語(yǔ)音數(shù)據(jù)加密,并保護(hù)信令數(shù)據(jù)不被分析,但用戶的數(shù)據(jù)信息在網(wǎng)絡(luò)設(shè)施中是未加密的,端到端加密可以解決這個(gè)問(wèn)題[4]。
本文提出一種端到端加密的設(shè)計(jì)方案,該方案不僅能有效地解決非法竊聽的問(wèn)題,還可解決破壞數(shù)據(jù)完整性的問(wèn)題。
1 TETRA端到端加密方案系統(tǒng)框架
TETRA數(shù)字集群系統(tǒng)由移動(dòng)臺(tái)(MS)、基站(BS)、調(diào)度臺(tái)(DWS)、交換機(jī)(DXT)及TETRA互聯(lián)服務(wù)器(TCS)等構(gòu)成,端到端加密的密鑰管理中心(KMC)作為TCS的應(yīng)用開發(fā)系統(tǒng)連接到TETRA系統(tǒng)中。TETRA端到端加密方案的系統(tǒng)框架如圖1所示。

在標(biāo)準(zhǔn)TETRA系統(tǒng)中實(shí)現(xiàn)端到端加密功能,必須實(shí)現(xiàn)如下兩方面的工作:
(1)在TETRA系統(tǒng)中建立一個(gè)密鑰管理中心,密鑰管理中心通過(guò)互聯(lián)服務(wù)器的應(yīng)用編程接口(API)與TETRA系統(tǒng)相連,通過(guò)空中接口以短數(shù)據(jù)的方式為移動(dòng)臺(tái)分發(fā)通信密鑰(TEK)。此外密鑰管理中心負(fù)責(zé)密鑰的產(chǎn)生、存儲(chǔ)及增刪功能。
(2)對(duì)TETRA終端設(shè)備進(jìn)行改造,使其能夠接受并響應(yīng)密鑰管理中心的密鑰管理空中密鑰分發(fā)(OTAK)消息,并利用通信密鑰來(lái)進(jìn)行端對(duì)端加密,這里的端到端指的是移動(dòng)臺(tái)與移動(dòng)臺(tái)之間或移動(dòng)臺(tái)與調(diào)度臺(tái)之間。
2 端到端加密算法
在端到端加密的設(shè)計(jì)中需要使用4個(gè)密碼算法,即語(yǔ)音數(shù)據(jù)加密算法、通信密鑰加密算法、同步幀完整性算法以及密鑰管理消息加密算法。
(1)語(yǔ)音數(shù)據(jù)加密算法
語(yǔ)音及短數(shù)據(jù)加密采用流密碼算法,該加密算法中的通信密鑰和初始向量(IV)的長(zhǎng)度要求不小于64位,分組數(shù)據(jù)長(zhǎng)度為64位。
(2)通信密鑰的加密算法
通信密鑰的加密算法的加密強(qiáng)度應(yīng)當(dāng)不低于語(yǔ)音數(shù)據(jù)加密算法的加密強(qiáng)度,為此其密鑰的長(zhǎng)度不小于64位,分組數(shù)據(jù)長(zhǎng)度為64位。
(3)同步幀完整性算法
為了保證端到端加密中同步幀的完整性,在同步幀中包含一個(gè)加密的校驗(yàn)和,該校驗(yàn)和抽取幀的幾個(gè)部分,并由校驗(yàn)和的生成算法循環(huán)冗余校驗(yàn)(CRC)和通信密鑰共同計(jì)算得到。同步幀完整性算法的密鑰長(zhǎng)度不小于64位,分組數(shù)據(jù)長(zhǎng)度為64位。
(4)密鑰管理消息加密算法
密鑰管理消息加密算法是一個(gè)工作于密碼分組鏈接(CBC)模式的分組加密算法,加密密鑰長(zhǎng)度不小于64位,分組數(shù)據(jù)長(zhǎng)度不少于64位。
由于TETRA應(yīng)用領(lǐng)域的特殊性,端到端加密中使用的加密算法可以是用戶自行開發(fā)的加密算法,也可以是國(guó)家、軍隊(duì)或行業(yè)準(zhǔn)許的加密算法,密鑰長(zhǎng)度也可由用戶自行規(guī)定。
3 端到端加密的密鑰管理
端到端加密的密鑰管理由密鑰管理中心實(shí)現(xiàn)。密鑰管理中心負(fù)責(zé)通信密鑰的生成、分發(fā)及增刪。
3.1 通信密鑰的生成
密鑰管理中心利用用戶自行設(shè)計(jì)的密鑰生成算法生成通信密鑰,并用密鑰標(biāo)識(shí)(KEYID)來(lái)標(biāo)識(shí)相應(yīng)的通信密鑰。將這些KEYID每16個(gè)編成一個(gè)密碼組,并將密碼組與通話組相關(guān)聯(lián)。這樣在這個(gè)通話組的移動(dòng)臺(tái)可以用密碼組的當(dāng)前版本的通信密鑰對(duì)語(yǔ)音或短數(shù)據(jù)消息進(jìn)行加密通信。
3.2 通信密鑰的分發(fā)
密鑰管理中心作為TETRA互聯(lián)服務(wù)器的客戶端,通過(guò)空中接口以短消息的方式為移動(dòng)臺(tái)分發(fā)通信密鑰,這種方式稱為空中密鑰分發(fā)。通信密鑰有幾個(gè)不同版本(即以前使用的通信密鑰、正在使用的通信密鑰和即將使用的通信密鑰),這些通信密鑰由加密算法加密后進(jìn)行傳輸,加密密鑰為該移動(dòng)臺(tái)的主密鑰(KEK)或組密鑰(GEK),這里的主密鑰是通過(guò)帶外的硬件接口載入的,它也被用來(lái)加密GEK和信令加密密鑰(SEK)。
一個(gè)特定組的通信密鑰可以使用這個(gè)組的組密鑰進(jìn)行加密,密鑰管理消息使用信令加密密鑰進(jìn)行加密。OTAK使用TETRA短數(shù)據(jù)服務(wù)(SDS)進(jìn)行密鑰的分發(fā),在TETRA標(biāo)準(zhǔn)中用一個(gè)協(xié)議標(biāo)識(shí)(PID)來(lái)指定該消息的類型。由于移動(dòng)臺(tái)可能關(guān)閉或不在網(wǎng)絡(luò)內(nèi),KMC必須要判斷來(lái)自移動(dòng)臺(tái)的操作的正確應(yīng)答,并記錄哪些移動(dòng)臺(tái)已經(jīng)接收到密鑰更新的命令。
移動(dòng)臺(tái)分配新密鑰和管理通信密鑰時(shí),OTAK消息是由移動(dòng)臺(tái)的SEK作為密鑰并用密鑰管理消息加密算法進(jìn)行加密的。OTAK消息集里有一個(gè)MS_SIGNAL消息,當(dāng)移動(dòng)臺(tái)開機(jī)或重新進(jìn)入網(wǎng)絡(luò)時(shí)會(huì)向KMC發(fā)送這個(gè)消息。KMC可以利用這個(gè)機(jī)會(huì)來(lái)更新移動(dòng)臺(tái)中的密鑰(因?yàn)橛械囊苿?dòng)臺(tái)可能長(zhǎng)時(shí)間處于網(wǎng)外而錯(cuò)過(guò)了以前的密鑰更新消息)。
移動(dòng)臺(tái)會(huì)解密并且驗(yàn)證任何收到的OTAK SDS消息。每個(gè)消息都以密鑰標(biāo)識(shí)來(lái)標(biāo)識(shí)某個(gè)通信密鑰。KEYID以明文方式放在消息的KEY字段中,使得接收端移動(dòng)臺(tái)能夠選擇正確的密鑰去解密收到的消息。
3.3 通信密鑰的增刪
當(dāng)一個(gè)通話組發(fā)生變化時(shí),如一個(gè)新的移動(dòng)臺(tái)加入該通話組,則KMC將與該通話組相關(guān)聯(lián)的密碼組通過(guò)OTAK消息分發(fā)給該移動(dòng)臺(tái)。若一個(gè)移動(dòng)臺(tái)退出通話組,則KMC將重新分發(fā)該通話組所對(duì)應(yīng)的密碼組。
3.4 密鑰管理的安全性分析
在安全性要求很高的場(chǎng)合,推薦所有KMC中保存的通信密鑰和GEK都預(yù)先經(jīng)過(guò)KEK加密。雖然這意味著密鑰在分發(fā)時(shí)要經(jīng)過(guò)KEK和SEK雙重加密,但是它保證了KMC中不可能獲得明文形式的通信密鑰,提高了密鑰存儲(chǔ)的安全性。
加密后的OTAK SDS消息可以被發(fā)送到特定的移動(dòng)臺(tái),也可以廣播給一組移動(dòng)臺(tái)。所有的消息都有序列號(hào)、源與目的地址和一個(gè)全部數(shù)據(jù)的CRC校驗(yàn)。這為防御重放和假冒攻擊提供了保證。
4 端到端加密的保密通信
一個(gè)移動(dòng)臺(tái)可以有多個(gè)通話組,同樣也有相應(yīng)的密碼組。移動(dòng)臺(tái)可以與同一通話組的移動(dòng)臺(tái)進(jìn)行保密通信,即在與通話組相關(guān)聯(lián)的密鑰組中找到當(dāng)前版本的通信密鑰,對(duì)語(yǔ)音和短數(shù)據(jù)進(jìn)行加密傳送。接收端移動(dòng)臺(tái)則根據(jù)同步幀中的密鑰標(biāo)識(shí)找到相應(yīng)的密鑰對(duì)接收的消息進(jìn)行解密。
4.1 端到端語(yǔ)音加密通信
具體的端到端語(yǔ)音加密的過(guò)程如圖2所示。圖2中虛線左側(cè)是發(fā)送移動(dòng)臺(tái)的加密過(guò)程,右側(cè)是接收移動(dòng)臺(tái)的解密過(guò)程。語(yǔ)音數(shù)據(jù)加密算法有通信密鑰和初始向量?jī)蓚(gè)輸入,生成一個(gè)連續(xù)的密鑰流,該密鑰流與語(yǔ)音編解碼器(CODEC)輸出的語(yǔ)音數(shù)據(jù)流異或后得到在TETRA系統(tǒng)中傳輸?shù)募用苷Z(yǔ)音。為了讓接收移動(dòng)臺(tái)能夠正確解密加密后的語(yǔ)音,同步初始向量被加入到數(shù)據(jù)流中。與發(fā)送端正好相反,接收端檢測(cè)到同步幀,取出同步幀中的同步向量,將該向量傳給本地的密鑰流產(chǎn)生器,從而完成與發(fā)送端的同步。

同步幀中還包含有密鑰標(biāo)識(shí)及加密算法標(biāo)識(shí)等附加單元,使得接收端能夠根據(jù)這些單元選擇端到端語(yǔ)音加密的密鑰及加密算法。另外兩個(gè)單元——時(shí)間戳、密碼校驗(yàn)和則被用于保證防止重放攻擊和保證同步幀的完整性。
4.2 端到端短數(shù)據(jù)加密通信
如同在GSM系統(tǒng)中一樣,TETRA系統(tǒng)也支持SDS,短數(shù)據(jù)消息可以是用戶自定義的消息或是狀態(tài)報(bào)告(狀態(tài)報(bào)告是預(yù)定義的消息)。TETRA系統(tǒng)所定義的SDS類型Ⅳ可發(fā)送最多達(dá)2 047不定長(zhǎng)位的短數(shù)據(jù)。進(jìn)行加密和完整性校驗(yàn)前后的短數(shù)據(jù)消息內(nèi)容如圖3所示。

加密的過(guò)程與端到端語(yǔ)音加密類似,明文短數(shù)據(jù)消息與密鑰流(KSS)生成算法所輸出的KSS相異或得到密文消息,加密算法E5是流密碼算法,它有通信密鑰和初始化向量?jī)蓚(gè)輸入。它產(chǎn)生一個(gè)連續(xù)的密鑰流,并把密鑰流與短數(shù)據(jù)明文進(jìn)行異或計(jì)算,得到密文流。安全校驗(yàn)和(CCSUM)與其加密控制數(shù)據(jù)(ECD)組成同步向量,該向量是不保密的,不必加密。通過(guò)CCSUM可以驗(yàn)證短數(shù)據(jù)的完整性。該校驗(yàn)和的生成需要TEK作為密鑰,攻擊者無(wú)法獲得該密鑰,故無(wú)法偽造短數(shù)據(jù)消息并重新計(jì)算校驗(yàn)和。算法E6是短數(shù)據(jù)完整性校驗(yàn)算法,是一種工作在CBC模式的分組密碼算法,如圖4所示。整個(gè)SDS消息被劃分成64比特的分組,每個(gè)分組經(jīng)過(guò)E6加密后又作為下一分組加密的輸入,最后產(chǎn)生64比特的數(shù)據(jù)。

因?yàn)檩斎攵虜?shù)據(jù)是變長(zhǎng)的,在加密計(jì)算之前應(yīng)該使短數(shù)據(jù)消息成為加密分組的整數(shù)倍。同步向量中應(yīng)包含所有必要的信息使得合法的接收端能解密短數(shù)據(jù)。在ECD單元的數(shù)據(jù)包含算法E5和初始向量,并讓接收端知道使用了哪個(gè)加密算法及密鑰,當(dāng)然直接傳送的不是密鑰而是一個(gè)密鑰標(biāo)識(shí)號(hào)。雖然攻擊者無(wú)法知道數(shù)據(jù)包內(nèi)容,但他也許會(huì)分析這是哪類數(shù)據(jù)(許多通信協(xié)議在協(xié)議頭中包含協(xié)議的類型)。在SDS類型Ⅳ的協(xié)議包頭中是協(xié)議標(biāo)識(shí),為了防止攻擊者得到相關(guān)的有用信息,未加密的短數(shù)據(jù)消息的原協(xié)議標(biāo)識(shí)(O-PID)以一個(gè)編碼的格式傳送,即由一個(gè)新的協(xié)議標(biāo)識(shí)來(lái)替代。獲得新協(xié)議標(biāo)識(shí)對(duì)攻擊者是無(wú)用的,它只表示一個(gè)編碼的短數(shù)據(jù)消息被加密傳送。為了確認(rèn)一個(gè)短數(shù)據(jù)消息通信成功,在SDS機(jī)制中有一個(gè)確認(rèn)服務(wù)。如果短數(shù)據(jù)通信不成功,SDS消息的接收端將不發(fā)送確認(rèn)消息或者發(fā)送失敗消息。
5 結(jié)論
在TETRA系統(tǒng)的端到端加密中,集群系統(tǒng)不參與密鑰的產(chǎn)生和管理,也不規(guī)定加密算法,只提供透明傳輸通路。端到端加密在TETRA集群系統(tǒng)的用戶面進(jìn)行,集群終端設(shè)備應(yīng)具有和端到端加密單元間的電氣接口和物理接口,以便于把端到端加密單元裝入終端設(shè)備中。本文提出一種端到端加密的設(shè)計(jì)方案,實(shí)現(xiàn)了TETRA集群系統(tǒng)內(nèi)從發(fā)送端用戶到接收端用戶間的信息通信全程保密,可用于對(duì)通信安全有特別嚴(yán)格要求的場(chǎng)合。
6 參考文獻(xiàn)
[1] SJ/T11228-2000. 數(shù)字集群移動(dòng)通信系統(tǒng)體制 [S]. 2000.
[2] 鄭祖輝, 鮑智良. 數(shù)字集群移動(dòng)通信系統(tǒng) [M]. 北京: 電子工業(yè)出版社, 2001.
[3] 虞忠輝. TETRA 數(shù)字集群移動(dòng)通信系統(tǒng)的安全保密 [C]. 全國(guó)數(shù)字集群技術(shù)發(fā)展研討會(huì),北京, 2000.
[4] ETS300 392-7. Radio Equipment and System (RES), Trans-European Trunked Radio (TETRA), Voice Plus Data (V+D), Part7: Security [S]. 1996.
(中國(guó)集群通信網(wǎng) | 責(zé)任編輯:陳曉亮) |