作者:張婉橋 0x00 IMSI & IMSI-Catcher我們以前擔(dān)心的手機(jī)泄漏個(gè)人位置隱私的問(wèn)題,也就是在2G/3G/4G一直存在的IMSI Catcher問(wèn)題,終于有望在5G標(biāo)準(zhǔn)里得到徹底解決啦! 這個(gè)問(wèn)題在每次制定新一代網(wǎng)絡(luò)標(biāo)準(zhǔn)的時(shí)候,都要爭(zhēng)論一回。這是網(wǎng)絡(luò)功能性、成本與安全性之間的斗爭(zhēng)。在5G的第一版標(biāo)準(zhǔn),Release15,關(guān)于安全的標(biāo)準(zhǔn)[1]中,IMSI加密是最大的亮點(diǎn)。 在2/3/4G網(wǎng)絡(luò)中,攻擊者能通過(guò)十分廉價(jià)的設(shè)備獲取你的位置。這是由于手機(jī)每次需要聯(lián)網(wǎng)的時(shí)候都要大聲喊著,“我是誰(shuí)誰(shuí)誰(shuí)”,攻擊者就可以通過(guò)手機(jī)報(bào)告的信息確定手機(jī)的大概位置了。專業(yè)一點(diǎn)的說(shuō),手機(jī)所廣播的那條“我是誰(shuí)誰(shuí)誰(shuí)”就是手機(jī)的IMSI碼,全球唯一,就如同你的身份證號(hào)。設(shè)想,如果滿大街都在喊著每個(gè)人的身份證號(hào),那么追蹤某一個(gè)人就變得容易了。 當(dāng)然實(shí)際上,IMSI這么關(guān)鍵的信息不會(huì)在你發(fā)送的每條信息中都帶著。手機(jī)還會(huì)有一個(gè)臨時(shí)身份證(GUTI/TMSI),平時(shí)傳遞數(shù)據(jù)都是使用這個(gè)臨時(shí)身份證,手機(jī)只有在特殊的場(chǎng)景下會(huì)發(fā)送自己的IMSI。手機(jī)會(huì)在哪些場(chǎng)合會(huì)發(fā)送自己的IMSI呢? 0x01 什么情況下手機(jī)會(huì)發(fā)送IMSI?情景一:手機(jī)接入正常的網(wǎng)絡(luò)時(shí) 情景二:手機(jī)接入到偽基站網(wǎng)絡(luò)時(shí) ![]() 圖:Stingray(圖片來(lái)自網(wǎng)絡(luò)) 講到這,大家一定有疑問(wèn),這么重要的身份信息為何不能加密傳輸呢?因?yàn)樵诮踩B接的過(guò)程中,一開(kāi)始網(wǎng)絡(luò)不知道手機(jī)是誰(shuí),要先知道它是誰(shuí),才開(kāi)始交換密鑰,換句話說(shuō),核心網(wǎng)在加密信息前要確定對(duì)方是自己人。 0x02 5G是如何解決IMSI-Catcher問(wèn)題的呢?5G決定引入公鑰私鑰的機(jī)制,公鑰用來(lái)公開(kāi)并加密,私鑰用來(lái)保留并解密。將公鑰存放在手機(jī)端,私鑰存放在運(yùn)營(yíng)商手里,如此一來(lái),只有運(yùn)營(yíng)商可以解密手機(jī)的真正的身份信息,攻擊者只能拿到加密后的信息,沒(méi)有私鑰而無(wú)法解出IMSI。 此時(shí),整個(gè)手機(jī)的鑒權(quán)流程是什么樣的呢? ![]()
小編總結(jié)的目前3GPP標(biāo)準(zhǔn)里已經(jīng)確定的,與身份信息隱私保護(hù)相關(guān)的幾個(gè)關(guān)鍵點(diǎn):
尚未確定的問(wèn)題有:
0x03 如何把SUPI加密為SUCI下圖1所示中我們可以看到兩對(duì)秘鑰對(duì),一對(duì)是終端側(cè)Eph.key pair generation,產(chǎn)生Eph. public key和Eph. private key。另外一對(duì)來(lái)自運(yùn)營(yíng)商網(wǎng)絡(luò), 終端側(cè)有Public key of HN(固定存放在USIM中)。這兩對(duì)秘鑰均采用橢圓曲線加密算法ECC生成。私鑰可以衍生出唯一的公鑰,但是從公鑰不能反推出私鑰。 終端生成的私鑰與網(wǎng)絡(luò)提供的公鑰結(jié)合,派生出一對(duì)加密秘鑰Eph.shared key(用來(lái)加密的原始秘鑰),隨后派生出加密的主密鑰,取高有效位對(duì)SUPI進(jìn)行對(duì)稱加密,得到SUCI,即Ciphertext;低有效位對(duì)所有的有用信息,包含終端參數(shù),進(jìn)行一個(gè)完整性保護(hù)。所以最后終端發(fā)出的消息包括:終端生成的公鑰、SUCI和終端參數(shù)等系列信息。 ![]() 圖1 終端側(cè)SUCI的生成方案 下圖2為網(wǎng)絡(luò)側(cè)對(duì)終端身份進(jìn)行SUCI驗(yàn)證的方案。網(wǎng)絡(luò)側(cè)采用私鑰(Private key of HN)與終端所發(fā)送的公鑰(Eph.public key of UE)組合成秘鑰Eph.shared key,隨后派生出主密鑰master key。不同于終端加密流程的是,網(wǎng)絡(luò)側(cè)會(huì)先通過(guò)秘鑰的低有效位校驗(yàn)消息的完整性與否(步驟5),若消息經(jīng)過(guò)中間人篡改,則該步驟的驗(yàn)證無(wú)法通過(guò)。若驗(yàn)證通過(guò),才會(huì)進(jìn)一步將信令轉(zhuǎn)發(fā)至UDM中執(zhí)行SIDF的過(guò)程,解密得到SUPI(Plain-text)。 ![]() 圖2 網(wǎng)絡(luò)側(cè)對(duì)終端的驗(yàn)證方案 看完以上方案,大家可能有疑問(wèn): 問(wèn)題1:答:為了防中間人攻擊。設(shè)想網(wǎng)絡(luò)側(cè)的公鑰也是放在網(wǎng)絡(luò)中傳播的,那么就可以有中間人先截獲網(wǎng)絡(luò)中所傳送的公鑰,替換后發(fā)送給終端。如此一來(lái),終端發(fā)送過(guò)來(lái)的數(shù)據(jù)可以被中間人接收并解密,隨后中間人對(duì)數(shù)據(jù)進(jìn)行重新加密(在這個(gè)過(guò)程中還可以篡改數(shù)據(jù)),將消息傳回運(yùn)營(yíng)商網(wǎng)絡(luò)中,完成鑒權(quán)過(guò)程。 問(wèn)題2:答:不會(huì)。僅拿到公鑰無(wú)法完成對(duì)信令的解密,更不會(huì)影響終端的正常鑒權(quán)過(guò)程。 0x04 使用IMSI進(jìn)行paging的方法在5G網(wǎng)絡(luò)中可能失效前段時(shí)間在通信圈比較熱門的一篇LTE曝光多個(gè)漏洞的論文賺足了眼球,可以參考我們之前發(fā)的博客: 其中有一種攻擊使用IMSI進(jìn)行paging的攻擊,在5G網(wǎng)絡(luò)中可能會(huì)失效,小編在此與大家探討一下。 作者采用目標(biāo)受害者的IMSI來(lái)廣播尋呼消息Paging,只有目標(biāo)手機(jī)聽(tīng)到這個(gè)paging消息會(huì)返回一個(gè)Attach Request消息,并且攜帶相同的IMSI。這個(gè)思路擴(kuò)展到5G中,就是之前捕捉到手機(jī)SUCI(無(wú)需解密)來(lái)Paging目標(biāo)手機(jī)。如果手機(jī)的SUCI更新頻率較低,則可能觸發(fā)手機(jī)的Attach Request,通過(guò)捕捉該消息依舊有可能得知手機(jī)的位置。不過(guò),3GPP SA3要求5G只采用GUTI做Paging來(lái)尋呼手機(jī),如果最終相關(guān)的標(biāo)準(zhǔn)確定,就能保證在5G中這種攻擊不會(huì)有效。 然而,如果決定只使用GUTI做paging的話,一旦手機(jī)與網(wǎng)絡(luò)間的GUTI的同步關(guān)系丟失,基站就有可能尋呼不到目標(biāo)手機(jī),只有等待手機(jī)再次主動(dòng)與網(wǎng)絡(luò)同步。因此3GPP其他小組(非安全組)仍在討論相關(guān)的方案。 不管怎么說(shuō),IMSI的加密傳輸實(shí)在是令人大快人心的決定,機(jī)智的小伙伴,你能在5G的SUPI/SUCI機(jī)制中發(fā)現(xiàn)什么紕漏嗎?如果有,歡迎跟我們一起交流討論,盡量在5G網(wǎng)絡(luò)商用之前及時(shí)補(bǔ)救,讓下一代的移動(dòng)通信更有力的保護(hù)我們每個(gè)人的隱私。 [1] 3GPP TS 33.501 Security architecture and procedures for 5G system(Release 15) |
|
來(lái)自: 達(dá)坂城大豆 > 《網(wǎng)絡(luò)安全》