短信動(dòng)態(tài)密碼也稱短信密碼,是以手機(jī)短信形式發(fā)送的6位隨機(jī)數(shù)的動(dòng)態(tài)密碼,是一種一次性口令,也稱為手機(jī)動(dòng)態(tài)口令。
用于生成一次性口令的方法除了短信動(dòng)態(tài)密碼,還有硬件令牌。硬件令牌需要發(fā)放額外的硬件設(shè)備,相對(duì)成本高、技術(shù)門檻高,而短信動(dòng)態(tài)密碼的核心優(yōu)勢(shì)在于成本低、便捷性高、易于推廣普及。
相對(duì)于傳統(tǒng)靜態(tài)密碼,短信動(dòng)態(tài)密碼只能使用一次并且有使用時(shí)間限制,所以能有效避免被黑客竊聽(tīng)后重用,安全性較高,目前有越來(lái)越多對(duì)安全要求比較高的網(wǎng)站和手機(jī)應(yīng)用將隨機(jī)短信動(dòng)態(tài)密碼(通常為6位數(shù)字)作為用戶登錄或交易時(shí)的認(rèn)證方式。
然而,短信認(rèn)證過(guò)程中涉及流程較多,每個(gè)步驟均存在被黑客攻破的風(fēng)險(xiǎn),所以短信密碼的廣泛應(yīng)用也帶來(lái)了很多安全隱患。在介紹短信動(dòng)態(tài)密碼存在的安全隱患之前,先帶大家了解一下短信動(dòng)態(tài)密碼的應(yīng)用流程。
在典型的認(rèn)證場(chǎng)景中,用戶在登錄或支付頁(yè)面輸入手機(jī)號(hào)碼,并請(qǐng)求動(dòng)態(tài)密碼。后臺(tái)認(rèn)證服務(wù)接收到請(qǐng)求后通過(guò)特定算法生成動(dòng)態(tài)密碼,然后通知短信網(wǎng)關(guān),短信網(wǎng)關(guān)通過(guò)運(yùn)營(yíng)商將密碼發(fā)送給用戶。最后用戶輸入短信密碼并上傳到認(rèn)證服務(wù)器認(rèn)證(具體流程如圖所示)。
目前短信動(dòng)態(tài)密碼面臨的最大風(fēng)險(xiǎn)是被黑客獲取,而整個(gè)流程中的每個(gè)環(huán)節(jié)均存在這種可能。根據(jù)各項(xiàng)技術(shù)與業(yè)務(wù)的發(fā)展情況,目前主要的泄露途徑有以下幾種。
1、云服務(wù)
許多公司向客戶提供云服務(wù),供客戶上傳數(shù)據(jù)至云端作為備份(一般在設(shè)備連接WiFi的情況下備份),可通過(guò)web方式進(jìn)行查詢、管理,并可以便捷地共享給其他設(shè)備。例如蘋(píng)果公司的iCloud、小米云服務(wù)、QQ同步助手等。此時(shí),黑客只要能登錄云端,即可獲取用戶短信等數(shù)據(jù)。目前來(lái)看,這種機(jī)制存在一定風(fēng)險(xiǎn)。
首先,提供云服務(wù)的網(wǎng)站以及業(yè)務(wù)邏輯可能存在安全缺陷,如存在漏洞或者為用戶設(shè)定了默認(rèn)密碼。
其次,許多用戶安全意識(shí)不高,使用了弱密碼;或是與其他網(wǎng)站使用了相同的賬號(hào)和密碼,黑客利用撞庫(kù)攻擊獲取登錄名和密碼;或是個(gè)人信息泄露過(guò)多,黑客可通過(guò)密碼重置、安全問(wèn)題等方式獲取密碼。進(jìn)入系統(tǒng)后,黑客不僅能將用戶的短信內(nèi)容一覽無(wú)遺,還可以使用手機(jī)號(hào)和短信密碼登錄網(wǎng)站、進(jìn)行支付交易,甚至可以在云端刪除手機(jī)端數(shù)據(jù),使用戶難以察覺(jué)。
2、短信倉(cāng)庫(kù)和短信轉(zhuǎn)移
運(yùn)營(yíng)商提供了許多增值服務(wù),如短信倉(cāng)庫(kù)業(yè)務(wù)和短信轉(zhuǎn)移業(yè)務(wù)。短信倉(cāng)庫(kù)業(yè)務(wù)將客戶短信保存在運(yùn)營(yíng)商的數(shù)據(jù)庫(kù)中(如圖2所示)。短信轉(zhuǎn)移業(yè)務(wù)將發(fā)給某個(gè)手機(jī)號(hào)碼的短信轉(zhuǎn)移到另外一個(gè)手機(jī)號(hào)碼上。此類業(yè)務(wù)的初衷是為了方便用戶,然而實(shí)際應(yīng)用中也為黑客提供了機(jī)會(huì)。大部分運(yùn)營(yíng)商提供網(wǎng)站辦理業(yè)務(wù)途徑,所以與云服務(wù)類似,同樣也面臨著網(wǎng)站安全性、業(yè)務(wù)邏輯安全性不足、用戶信息泄露的問(wèn)題。黑客利用漏洞登錄系統(tǒng)或是將短信轉(zhuǎn)移號(hào)碼設(shè)置為自己手機(jī)號(hào)后,可實(shí)時(shí)通過(guò)短信內(nèi)容掌握客戶動(dòng)態(tài),使用客戶賬號(hào)登錄網(wǎng)站或進(jìn)行網(wǎng)銀交易,危害性甚至超過(guò)云服務(wù)系統(tǒng)被入侵。
3、惡意軟件
有監(jiān)測(cè)數(shù)據(jù)顯示,不同版本安卓系統(tǒng)獲取root權(quán)限用戶比例為5%-35%。由于用戶設(shè)備獲取root,權(quán)限比例較高,安卓應(yīng)用市場(chǎng)管理不嚴(yán)格,一些用戶因誤裝了惡意轉(zhuǎn)件而導(dǎo)致相關(guān)短信被攔截甚至轉(zhuǎn)發(fā)。這些軟件往往通過(guò)釣魚(yú)網(wǎng)站轉(zhuǎn)播,并且針對(duì)銀行或是第三方支付網(wǎng)站發(fā)出的短信,攔截用戶收到的支付、轉(zhuǎn)賬驗(yàn)證短信,從而盜取資金(如圖所示)。
4、偽基站和改號(hào)軟件
偽基站通過(guò)偽裝成運(yùn)營(yíng)商的基站,任意冒用其他號(hào)碼(如10086、95588等),向用戶群發(fā)短信。改號(hào)軟件也可實(shí)現(xiàn)此類功能。單獨(dú)使用這類方法并不能獲取用戶的短信內(nèi)容,它們通常會(huì)與釣魚(yú)網(wǎng)站、惡意軟件等結(jié)合使用。
在不改變短信密碼作為認(rèn)證手段的前提下,若想改善上述問(wèn)題,可以從以下兩個(gè)層面著手:
國(guó)家層面,應(yīng)加強(qiáng)對(duì)偽基站犯罪活動(dòng)的打擊;運(yùn)營(yíng)商應(yīng)在推行新業(yè)務(wù)時(shí),對(duì)安全性進(jìn)行充分考量,對(duì)于敏感信息(如發(fā)現(xiàn)號(hào)碼為6位的)不應(yīng)進(jìn)行存儲(chǔ)和轉(zhuǎn)發(fā),云服務(wù)提供商也可采取類似策略;
用戶層面,提高安全意識(shí),防范釣魚(yú)網(wǎng)站、不安裝未經(jīng)認(rèn)證的軟件。同時(shí),由于目前偽基站僅針對(duì)GSM,升級(jí)手機(jī)卡和設(shè)備可以有效避免受到偽基站影響。