張冬梅
摘 要 無(wú)線移動(dòng)用戶(hù)數(shù)量急劇增長(zhǎng)和對(duì)多媒體業(yè)務(wù)需求的增大,對(duì)現(xiàn)有4G網(wǎng)絡(luò)提出了巨大挑戰(zhàn)。設(shè)備對(duì)設(shè)備直接通信(Device-to-Device,D2D)通過(guò)在設(shè)備之間的空口復(fù)用蜂窩小區(qū)的頻譜資源進(jìn)行通信,提高系統(tǒng)頻譜利用率,在無(wú)網(wǎng)絡(luò)覆蓋場(chǎng)景下,D2D直接通信更加直接和高效,降低運(yùn)營(yíng)成本,提高用戶(hù)體驗(yàn)。首先給出了D2D通信的概念和常用工作場(chǎng)景,然后介紹了D2D一對(duì)多組通信工作機(jī)制。重點(diǎn)分析了D2D一對(duì)多組通信模式下存在的安全威脅,從身份認(rèn)證和數(shù)據(jù)傳輸安全方面提出了D2D系統(tǒng)中的安全機(jī)制。最后,對(duì)D2D通信技術(shù)當(dāng)前進(jìn)展和未來(lái)發(fā)展進(jìn)行介紹。
關(guān)鍵詞 3GPP D2D 一對(duì)多 組通信 認(rèn)證 密鑰生成
中圖分類(lèi)號(hào):TN925 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.16400/j.cnki.kjdkx.2017.11.020
Abstract With the explosive increase of mobile users and medium service, 4G network is facing more and more challenges. The device-to-Device(D2D) communications improves system spectrum efficiency by multiplexing frequency of cells between D2D UEs. Especially when UE is out of network coverage, D2D direct communication is more efficiency and may provide better experience to the users. Firstly, the D2D direct communication and D2D one-to-many communication concept and work mechanism are described. Secure D2D communications are proposed from the aspects of user authentication and secure key generation. Finally, this paper describes current standard stage of D2D in 3GPP standard specification and forecast the development trend of D2D communication.
Keywords 3GPP; D2D; one-to-many, group communication; authentication; key generation
0 引言
隨著近來(lái)智能設(shè)備和多媒體業(yè)務(wù)需求爆炸式的增長(zhǎng),網(wǎng)絡(luò)容量需求也來(lái)越高。業(yè)界致力于從提高頻譜資源利用率方面解決問(wèn)題,然而進(jìn)展緩慢,3GPP進(jìn)行了一系列標(biāo)準(zhǔn)化工作,從小區(qū)分裂,small cell,D2D等方向改進(jìn)系統(tǒng)容量,其中D2D是在現(xiàn)有4G蜂窩網(wǎng)絡(luò)上的平滑演進(jìn),運(yùn)營(yíng)商可以直接對(duì)現(xiàn)網(wǎng)系統(tǒng)升級(jí)來(lái)支持D2D,因此該技術(shù)獲得運(yùn)營(yíng)商的青睞。
1 D2D通信
D2D通信是設(shè)備對(duì)設(shè)備(Device-to-Device)通信的簡(jiǎn)稱(chēng),又稱(chēng)為鄰近服務(wù)(Proximity Service,ProSe),是3GPP標(biāo)準(zhǔn)組織定義的基于臨近UE(User Equipment, 用戶(hù)設(shè)備)的通信方式。支持D2D通信的UE,可以普通工作模式通過(guò)電信運(yùn)營(yíng)商網(wǎng)絡(luò)收發(fā)業(yè)務(wù)數(shù)據(jù),也可以轉(zhuǎn)換到D2D工作模式,用戶(hù)設(shè)備(UE)之間直接通信。D2D通信常應(yīng)用于本地近距離通信場(chǎng)景,是5G移動(dòng)通信關(guān)鍵技術(shù)之一。
按照UE在接入網(wǎng)的位置,D2D通信可以分為3種場(chǎng)景:
(1)蜂窩網(wǎng)絡(luò)覆蓋下的D2D通信。所有參與D2D通信的UE都在網(wǎng)絡(luò)覆蓋范圍內(nèi),運(yùn)營(yíng)商網(wǎng)絡(luò)可以控制D2D通信過(guò)程,例如協(xié)助通信雙方UE建立/釋放無(wú)線連接,參與資源調(diào)度,進(jìn)行干擾管理等。這種場(chǎng)景的D2D通信主要是為了給基站分流,降低運(yùn)營(yíng)商接入網(wǎng)絡(luò)負(fù)載。同時(shí),由于UE處于基站覆蓋范圍內(nèi),所以UE還可以切換成普通UE身份,通過(guò)基站接入4G/5G網(wǎng)絡(luò)接收業(yè)務(wù)。
(2)部分蜂窩網(wǎng)絡(luò)覆蓋下的D2D通信。通信的UE雙方,其中一方位于網(wǎng)絡(luò)覆蓋范圍內(nèi),另一方位于網(wǎng)絡(luò)覆蓋范圍外,這種就屬于部分網(wǎng)絡(luò)覆蓋下D2D通信。該場(chǎng)景下基站可以引導(dǎo)處于覆蓋范圍內(nèi)的UE建立/釋放D2D鏈接,不再進(jìn)行資源調(diào)度,系統(tǒng)復(fù)雜度相對(duì)較低。
(3)無(wú)蜂窩網(wǎng)絡(luò)覆蓋的D2D通信。通信雙方都處于網(wǎng)絡(luò)覆蓋范圍外,通信UE之間直接建立連接,進(jìn)行通信,通信過(guò)程不受網(wǎng)絡(luò)控制。主要應(yīng)用于應(yīng)急場(chǎng)景,例如當(dāng)極端的自然災(zāi)害如地震發(fā)生時(shí),傳統(tǒng)通信網(wǎng)絡(luò)基礎(chǔ)設(shè)施可能受損,甚至發(fā)生網(wǎng)絡(luò)癱瘓,此時(shí)搶險(xiǎn)人員可以通過(guò)D2D UE進(jìn)行通信。另外,通過(guò)一跳或多跳D2D通信,位于覆蓋盲區(qū)的UE可以連接到位于網(wǎng)絡(luò)覆蓋內(nèi)的用戶(hù)終端,借助該用戶(hù)終端連接到運(yùn)營(yíng)商的移動(dòng)通信網(wǎng)絡(luò)。
2 D2D一對(duì)多組通信
D2D直接通信有2種工作模式:一對(duì)一工作模式和一對(duì)多工作模式。對(duì)于特定的D2D UE,如果其通信對(duì)象是單個(gè)UE,則啟動(dòng)一對(duì)一工作模式,若需要和多個(gè)UE通信,則啟動(dòng)一對(duì)多工作模式。D2D一對(duì)多通信有組通信和廣播(broadcast)通信兩種模式,組通信模式下D2D UE只會(huì)和屬于同一個(gè)通信組的臨近UE傳輸數(shù)據(jù),廣播通信模式下D2D UE可以向臨近的所有D2D UE廣播數(shù)據(jù)。D2D一對(duì)多組通信主要用于處于網(wǎng)絡(luò)覆蓋范圍外的一組UE相互通信的場(chǎng)景。
如圖1,在一對(duì)多組通信工作模式時(shí),所有參與通信的UE組成一個(gè)通信組(Group),每個(gè)Group有一個(gè)組所有者(Group owner, GO),組內(nèi)其他UE是該通信組的組員。GO負(fù)責(zé)管理自己的通信組,組員加入該通信組時(shí)需要到GO注冊(cè)和獲得授權(quán),該過(guò)程中GO還為該組員配置組相關(guān)的公共信息,例如該組的標(biāo)識(shí)(group ID)。有成員離開(kāi)時(shí),Go需要及時(shí)更新組員列表。組員有數(shù)據(jù)要發(fā)送時(shí),將多播地址(多個(gè)接收方的IP地址)包含在發(fā)送的數(shù)據(jù)包中。endprint
一對(duì)多組通信UE在相互通信前,需要完成以下步驟:
(1)組配置:應(yīng)用層為通信組配置直接組標(biāo)識(shí)(Direct Group Identifier, DGI),將多播地址和該DGI關(guān)聯(lián),并將DGI和多播地址配置給所有加入組的D2D UE,同時(shí),該配置過(guò)程還為加入的UE授權(quán),提供安全信任狀,為 UE提供IP地址、組優(yōu)先級(jí)等信息。
(2)發(fā)現(xiàn)階段(可選):發(fā)起通信的UE發(fā)現(xiàn)同一組的臨近UE;
(3)直接通信階段:找到臨近UE組員后,發(fā)起通信的UE開(kāi)始和找到的臨近UE基于IP進(jìn)行通信,發(fā)起通信的UE也可以跳過(guò)發(fā)現(xiàn)階段,直接向組內(nèi)所有臨近UE多播業(yè)務(wù)數(shù)據(jù)。
3 D2D一對(duì)多組通信模式下系統(tǒng)存在的安全威脅
3.1 身份冒充
攻擊者冒充合法UE加入到通信組,并獲取通信敏感數(shù)據(jù)。
GO作為組管理者,對(duì)每個(gè)新加入的組員如果不進(jìn)行身份識(shí)別和授權(quán),則攻擊者可能冒充合法UE加入到通信組,并竊聽(tīng)所有的通信數(shù)據(jù)。一般通過(guò)對(duì)UE進(jìn)行身份認(rèn)證解決該問(wèn)題。
3.2 被動(dòng)攻擊
攻擊者截聽(tīng)到D2D UE之間交互的通信數(shù)據(jù)包。
如果D2D UE發(fā)送的是數(shù)據(jù)明文,則任一個(gè)在相同頻帶上接收數(shù)據(jù)的接收者都可以接收到D2D UE之間發(fā)送的數(shù)據(jù),進(jìn)而獲知通信內(nèi)容。該接收者屬于被動(dòng)截聽(tīng)D2D UE數(shù)據(jù),D2D UE可以通過(guò)對(duì)發(fā)送數(shù)據(jù)進(jìn)行加密等操作,解決這種安全威脅。
3.3 主動(dòng)攻擊
攻擊者修改D2D UE之間交互的通信數(shù)據(jù)包。接收者主動(dòng)去截聽(tīng)D2D UE之間交互的通信數(shù)據(jù)包,并對(duì)數(shù)據(jù)包進(jìn)行修改,然后發(fā)給接收的D2D UE,達(dá)到篡改通信內(nèi)容的目的。如果發(fā)送UE和接收UE雙方協(xié)調(diào)好通信加密密鑰和解密密鑰,接收UE在收到數(shù)據(jù)包后進(jìn)行檢測(cè),就能及時(shí)發(fā)現(xiàn)數(shù)據(jù)包被篡改的情況,進(jìn)而丟棄無(wú)用數(shù)據(jù)包。
4 D2D一對(duì)多組通信模式下系統(tǒng)安全解決方案
為解決上述安全威脅,保證D2D一對(duì)多組通信的安全性,組員通信前需要認(rèn)證對(duì)方身份,且所有通信數(shù)據(jù)應(yīng)當(dāng)在加密的狀態(tài)下進(jìn)行傳輸,通信組內(nèi)所有成員需要獲取相同的共享密鑰(對(duì)稱(chēng)密鑰)。所以D2D一對(duì)多通信模式下安全方案包括通信雙方的雙向認(rèn)證和組共享通信密鑰的生成方法。
4.1 一對(duì)多組通信UE認(rèn)證
支持D2D一對(duì)多模式的UE,在加入通信組以前,通過(guò)手動(dòng)或在線方式,預(yù)置安全證書(shū)及證書(shū)撤回列表CRL信息,為支持離線證書(shū)認(rèn)證,運(yùn)營(yíng)商還應(yīng)將根證書(shū)配置給UE。UE加入通信組時(shí),GO和申請(qǐng)加入的UE基于傳輸層安全TLS協(xié)議完成證書(shū)雙向認(rèn)證。
由于通信組規(guī)模可能非常龐大,組員UE之間的雙向認(rèn)證數(shù)量將會(huì)是組成員數(shù)量的指數(shù)級(jí),為了減少認(rèn)證數(shù)量,組員UE只需和GO進(jìn)行雙向認(rèn)證。由于后續(xù)組通信共享密鑰的根密鑰需要GO生成和分發(fā),只有通過(guò)GO認(rèn)證的組員UE才能獲得共享密鑰,發(fā)起通信的UE默認(rèn)所有擁有共享密鑰的組員UE通過(guò)了認(rèn)證。如圖2所示。
D2D一對(duì)多組通信模式的UE,一旦回到網(wǎng)絡(luò)覆蓋區(qū)域,需要立即通過(guò)網(wǎng)絡(luò)檢測(cè)和更新證書(shū)和CRL,保證證書(shū)和CRL的有效性。
4.2 通信密鑰的生成
為了保證D2D一對(duì)多組通信模式的UE之間數(shù)據(jù)傳輸?shù)陌踩裕型ㄐ艛?shù)據(jù)在空口傳輸前都需要先進(jìn)行加密操作,接收方收到數(shù)據(jù)后需要對(duì)數(shù)據(jù)進(jìn)行解密才能得到明文數(shù)據(jù)。為了保持與LTE網(wǎng)絡(luò)安全方案的一致性,本方案也采用對(duì)稱(chēng)密鑰,在一對(duì)多組模式下,通信組所有UE應(yīng)該共享相同的加密密鑰。具體步驟如下:
(1)GO根據(jù)通信組標(biāo)識(shí)GID,組密鑰標(biāo)識(shí)GKID,算法標(biāo)識(shí)alg. ID,在本地生成組密鑰GK, GK=KDF(GID,GKID,alg. ID),其中,KDF是LTE當(dāng)前使用的加密密鑰推演函數(shù),由于GO內(nèi)可能有多組GK,GKID是為了標(biāo)識(shí)不同的GK,alg. ID是使用的加密算法標(biāo)識(shí)。
(2)GO在組員加入通信組時(shí),將GK發(fā)送給該UE。發(fā)起通信的UE根據(jù)GO發(fā)送的GK,自己的組員標(biāo)識(shí)(Group Member ID,GMID),業(yè)務(wù)密鑰標(biāo)識(shí)(Traffic Key ID,TKID),以及數(shù)據(jù)包計(jì)數(shù)器Counter生成UE特定的業(yè)務(wù)密鑰TK,由于通信組內(nèi)每個(gè)UE的GMID是唯一的,所以每個(gè)UE生成的TK也是唯一的。TK=KDF(GK,GMID,TKID, Counter)。
(3)UE發(fā)送的數(shù)據(jù)包里會(huì)包含發(fā)送UE的GMID、TKID、數(shù)據(jù)包計(jì)數(shù)器Counter。組內(nèi)所有接收UEs(下轉(zhuǎn)第50頁(yè))(上接第45頁(yè))根據(jù)本地GK,以及數(shù)據(jù)包頭里的GMID,TKID,數(shù)據(jù)包計(jì)數(shù)器數(shù)值Counter推演該發(fā)起通信的UE特定的業(yè)務(wù)密鑰TK。TK=KDF(GK,GMID,TKID, Counter)。
(4)Counter一旦翻轉(zhuǎn),需要更新TK,由于TKID不同,新生成的TK與計(jì)數(shù)器翻轉(zhuǎn)前也不同,由此保證TK的新鮮性。接收UE一旦發(fā)現(xiàn)收到的數(shù)據(jù)包里TKID與之前不同,立即使用新的TKID更新本地TK。
D2D一對(duì)多組通信模式下的發(fā)起通信的UE,使用自己的TK加密待傳輸?shù)臄?shù)據(jù)包,所有接收的組員UE,根據(jù)數(shù)據(jù)包內(nèi)的信息在本地推演出相同的解密密鑰TK,并使用TK對(duì)接收到的數(shù)據(jù)包進(jìn)行解密,該方式能保證空口上傳輸?shù)臄?shù)據(jù)包的安全性。
5 總結(jié)
在3GPP的各個(gè)標(biāo)準(zhǔn)組里,來(lái)自全球的運(yùn)營(yíng)商和設(shè)備制造商參與了D2D通信技術(shù)的討論和技術(shù)規(guī)范制定,并最終確定其作為5G關(guān)鍵技術(shù)之一的地位。目前3GPP已完成了D2D架構(gòu)、各功能實(shí)體、主要支持從的功能、信息交互流程以及近距離發(fā)現(xiàn)和直接通信工作機(jī)制。隨著D2D工作機(jī)制的進(jìn)一步完善,未來(lái)D2D通信將會(huì)在分流運(yùn)營(yíng)商網(wǎng)絡(luò)以及公共安全直接通信場(chǎng)景中獲得大規(guī)模使用。
參考文獻(xiàn)
[1] 張愛(ài)清,葉新榮,謝小娟,等.蜂窩網(wǎng)絡(luò)下終端直通安全通信關(guān)鍵技術(shù)研究[J].無(wú)線電通信技術(shù),2015.41(3):06-11.
[2] 錢(qián)志鴻,王雪.面向5G通信網(wǎng)的D2D技術(shù)綜述[J].通信學(xué)報(bào),2016.37(7):1-14.
[3] 盧昊旗.D2D通信的認(rèn)證和密鑰協(xié)商協(xié)議研究[D].西安電子科技大學(xué),2014.
[4] 榮濤.D2D通信技術(shù)研究[D].南京郵電大學(xué),2013.
[5] 3GPP TS23.303vf.0.0,3rd Generation Partnership Project; Technical Specification Group Services and System Aspects;Proximity-based services(ProSe).
[6] 3GPP TS33.833vd.0.0, 3rd Generation Partnership Project;Technical Specification Group Services and System Aspects; Study on security issues to support Proximity Services(ProSe).endprint