如今我們不管辦理什么業(yè)務(wù),又或是在任何網(wǎng)站和APP注冊(cè)賬號(hào),首先想到的就是通過手機(jī)號(hào)碼一鍵登錄。這意味著,你的手機(jī)號(hào)就等同于你的微信、支付寶、銀行和各種現(xiàn)金貸客戶端的賬號(hào)(圖2)。如果你安全意識(shí)不高,這些APP注冊(cè)時(shí)又都用了相同的密碼……潛在的安全風(fēng)險(xiǎn)可想而知,基本是一損皆損。
當(dāng)你在登錄各種APP時(shí)發(fā)現(xiàn)忘記了密碼怎么辦?沒關(guān)系,少數(shù)APP可以通過短信驗(yàn)證碼一鍵登錄,而所有的APP還能使用短信驗(yàn)證碼來重置密碼(圖3)??梢哉f,短信驗(yàn)證碼在今天已然成為了一種“萬(wàn)能”的存在,有了它,登錄、認(rèn)證、重置和支付等流程就將一路綠燈。
本文引言中涉及的案例,就是針對(duì)手機(jī)號(hào)注冊(cè)和短信驗(yàn)證碼“量身定制”的一種詐騙手段:黑客通過“GSM劫持+短信嗅探技術(shù)”,可實(shí)時(shí)獲取用戶手機(jī)短信內(nèi)容,進(jìn)而利用各大知名銀行、網(wǎng)站、移動(dòng)支付APP存在的技術(shù)漏洞和缺陷,進(jìn)行信息竊取、資金盜刷和網(wǎng)絡(luò)詐騙等犯罪行為(圖4)。
問題來了,這一整套流程要分很多步驟,難道手機(jī)安全方面的漏洞竟然如此嚴(yán)重嗎?
實(shí)際上,自從智能手機(jī)和移動(dòng)支付功能關(guān)聯(lián)捆綁后,從銀行到支付工具,相關(guān)企業(yè)都在研究如何提升安全性,避免可能的盜刷風(fēng)險(xiǎn)。而大家最終“商量”的結(jié)果,就是基于短信的二次驗(yàn)證機(jī)制。
提起二次驗(yàn)證,相信不少用戶都會(huì)想起“U盾”(圖5)。U盾是銀行針對(duì)網(wǎng)絡(luò)支付推出的一種USBkey,當(dāng)我們需要辦理轉(zhuǎn)賬、匯款、繳費(fèi)等支付業(yè)務(wù)時(shí),必須按系統(tǒng)提示將U盾插入電腦的USB接口,輸入U(xiǎn)盾密碼并進(jìn)行驗(yàn)證成功后才可完成支付過程。
問題又來了,既然短信和U盾起到的都是二次驗(yàn)證,那它們的安全系數(shù)不是應(yīng)該等同的嗎?很遺憾,U盾的安全系數(shù)遠(yuǎn)非短信驗(yàn)證碼可比。
簡(jiǎn)單來說,當(dāng)你在銀行開通網(wǎng)上銀行時(shí),銀行會(huì)針對(duì)你的個(gè)人信息生成一組個(gè)人數(shù)字證書,而這個(gè)證書會(huì)保存在銀行服務(wù)器,以及讓你拿回家的個(gè)人U盾內(nèi)(U盾內(nèi)的數(shù)字證書處于不可讀狀態(tài))。
當(dāng)我們嘗試網(wǎng)上交易時(shí),銀行會(huì)向你發(fā)送由時(shí)間、地址和交易內(nèi)容等信息組成字符串加密后生成的秘鑰A。交易確認(rèn)前需要將U盾和PC相連,秘鑰A會(huì)通過網(wǎng)絡(luò)和數(shù)據(jù)線傳輸?shù)侥愕腢盾中,而U盾則會(huì)根據(jù)你的個(gè)人數(shù)字證書對(duì)秘鑰A進(jìn)行不可逆的運(yùn)算并得到秘鑰B,再將秘鑰B返還給銀行。同時(shí),銀行端也會(huì)根據(jù)秘鑰A和你的數(shù)字證書進(jìn)行不可逆的運(yùn)算,只有結(jié)果與秘鑰B一致才確認(rèn)為合法交易(圖6),否則交易便會(huì)失敗。
換句話說,通過U盾進(jìn)行的二次驗(yàn)證,從驗(yàn)證信息的獲取和確認(rèn)信息的返回都是加密的,中間流程沒有給黑客留下用于攻擊的漏洞。
短信驗(yàn)證碼可就沒有這么高的技術(shù)含量了。我們都知道,手機(jī)網(wǎng)絡(luò)是從1G(模擬通訊)→2G(GSM)→3G→4G發(fā)展而來,但受制于各種限制,無(wú)論是3G還是4G時(shí)代,手機(jī)語(yǔ)音和短信依舊保持著以純數(shù)字信號(hào)的2G方式進(jìn)行傳輸,而GSM制式下的手機(jī)短信卻是單向鑒權(quán)并且是以明文方式傳輸?shù)模▓D7)。
看到?jīng)]有,這里面就存在兩個(gè)明顯的漏洞。其一是“單向鑒權(quán)”,其二是“明文方式傳輸”。第一個(gè)漏洞,意味著當(dāng)手機(jī)在GSM制式下收到一條短信時(shí),基站只會(huì)驗(yàn)證手機(jī)是不是真的,而手機(jī)卻不會(huì)去驗(yàn)證發(fā)來短信的基站是否為真,這個(gè)漏洞就造成了偽基站的泛濫。
第二個(gè)漏洞,意味著短信驗(yàn)證碼的6個(gè)數(shù)字都是明文傳輸,黑客無(wú)論是通過中途截取,還是借助手機(jī)漏洞獲取了短信內(nèi)容,都可明明白白看到這6個(gè)數(shù)字。