WhatsApp的“后門”是故意為之,還是提升體驗的副產(chǎn)品?
來自加州大學(xué)的安全研究人員Tobias Boelter最近發(fā)布了一份報告,報告中提到像Whatsapp和Telegram這樣的端對端加密通信服務(wù)商所采用的基于信號協(xié)議的加密方式存在后門?!缎l(wèi)報》率先對此進(jìn)行了報道,生成WhatsApp、入侵者甚至情報機構(gòu)都可通過利用這種基于信任的密鑰交換機制去攔截用戶信息,而用戶卻對此一無所知。
這是怎樣一個“后門”?
WhatsApp采用端到端加密機制,A給B發(fā)消息。A持有的設(shè)備用自己的私鑰和B所持有設(shè)備的公鑰來加密信息,B收到信息后再用自己的私鑰和A的公鑰來解密。WhatsApp服務(wù)器上存儲有雙方協(xié)商的公鑰,而私鑰則是A/B的設(shè)備雙方在本地生成的。
試想這樣一個場景,某一天A給B發(fā)消息,而B卻處在離線狀態(tài)。且B因為某些原因需要更換一臺設(shè)備登錄WhatsApp帳號。這個時候由于B的設(shè)備已經(jīng)不再有先前雙方協(xié)商的密鑰,理應(yīng)是無法對A發(fā)送的消息進(jìn)行解密的,但實際上在B用新設(shè)備登錄WhatsApp后依然可以收到A發(fā)送的消息。這就是最近盛傳的有關(guān)WhatsApp的“后門”所在。
在B根本就沒有舊有公鑰的情況下是如何對信息進(jìn)行解密的呢?當(dāng)B重新上線之后,WhatsApp會自動交換雙方的新密鑰,而這個過程是不會通知用戶的。A會用新密鑰重新對先前發(fā)送的消息進(jìn)行加密,然后再發(fā)給B。
如果說,有個攻擊者C惡意用自己的公鑰來替換B的公鑰,所有為發(fā)送的消息可自動加密后發(fā)往C——也只有C的私鑰可以對這些信息進(jìn)行解密。
這個后門存在的基礎(chǔ)是——信任。毫無疑問的是,絕大多數(shù)加密通信服務(wù)都會將生成的加密密鑰存儲在線下,即用戶的個人設(shè)備上,在用戶通信時,僅是通過服務(wù)器來傳輸公有密鑰。所以像Whatsapp這樣的情況,用戶就必須信任服務(wù)器不會更改發(fā)件人和收件人之間所使用的公有密鑰交換機制來執(zhí)行中間人攻擊,去窺視用戶之間的私密交流信息。
Tobias Boelter在《衛(wèi)報》的采訪中提到:“如果有政府機構(gòu)要求WhatsApp公開他們的聊天記錄,WhatsApp完全可以利用這個后門來有效的獲取授權(quán),窺視任意用戶信息。”
WhatsApp是目前世界上最大的安全信息傳輸平臺,在世界范圍內(nèi)擁有超過十億用戶。此次事件在幾小時內(nèi)就像病毒一樣迅速蔓延開來,吸引了各安全專家,WhatsApp團隊和為WhatsApp提供端對端加密實現(xiàn)的Open Whisper Systems公司關(guān)注。Open Whisper Systems是FaceBook的合作伙伴,而FaceBook在2014年以160億美元的價格收購了WhatsApp。
這究竟是“功能”還是“后門”?
很多安全專家的看法是:“與其說這是一個后門,其實更像是一個功能。主要是為了避免不必要的對自動生成加密密鑰的重復(fù)驗證。”
Open Whisper Systems認(rèn)為,并沒有什么“WhatsApp backdoor”,密碼學(xué)就是這么工作的,中間人攻擊是共有密鑰都會面臨的問題,并不是WhatsApp特有的。
從定義上來看,后門是計算機系統(tǒng)存在的某個特性或缺陷,這個缺陷會導(dǎo)致未經(jīng)授權(quán)的數(shù)據(jù)訪問行為。后門存在于加密算法、服務(wù)器或?qū)崿F(xiàn)中,而且不管之前有沒有被使用過,后門始終存在。
實用性和安全性向來是不可兼顧的,并且只要是選擇實用性高于安全性一般也不會有什么好結(jié)果?;蛟SWhatsApp這么做是為了提升用戶體驗。在此可以用Signal來做對比:與WhatsApp自動信任收件人的新密鑰不同,Signal私密短信應(yīng)用的默認(rèn)設(shè)置會在新密鑰使用前要求發(fā)件人進(jìn)行驗證,這樣也就提升了安全性,但對用戶而言可能不夠方便。
不過WhatsApp在設(shè)置項目中有個“安全通知”選項與此類似,只不過就算WhatsApp的用戶打開了安全通知,發(fā)件人也只會在信息已經(jīng)發(fā)送之后才收到提示。
WhatsApp實際上也就《衛(wèi)報》的報道給出了回應(yīng):“WhatsApp并沒有在系統(tǒng)中為政府提供‘后門’,而且也將努力不響應(yīng)政府的請求。衛(wèi)報提到的這種設(shè)計讓我們數(shù)千萬信息不會丟失,而且WhatsApp也為用戶提供了安全通知功能,告知他們潛在安全風(fēng)險。WhatsApp就加密設(shè)計公布了一份技術(shù)白皮書,也對收到的政府請求做了透明化說明,在Facebook政府請求報告中公布了這些數(shù)據(jù)。”
另外,從攻擊者的角度來說,想要利用這個漏洞來實施入侵也是十分有難度的:
- 需要入侵WhatsApp服務(wù)器。
- 入侵者需要想辦法讓目標(biāo)手機下線。
- 即便是已經(jīng)控制的手機,針對手機上已經(jīng)存儲的加密信息也是無用的。
但這仍是個安全問題
值得注意的是,并沒有一個安全專家否認(rèn)這個事實:政府和存在國家背景的黑客都可能攔截并獲取WhatsApp用戶的聊天記錄。就算WhatsApp不會屈服于政府的要求,但他們也沒有辦法避免國家背景黑客的入侵,畢竟這個“后門”不是只有WhatsApp自己才能用。
不過沒有人說這是一個“加密后門”,這個后門并非加密方式本身的問題,完全是因為這種端對端加密方式被執(zhí)行到WhatsApp的方式而產(chǎn)生的。
雖然WhatsApp已經(jīng)為用戶提供了“安全通知”功能,但這種功能對用戶的信息安全可能并沒有太大的幫助。因為WhatsApp并沒有“在設(shè)計時就實現(xiàn)安全”,反而提醒用戶有常識一點,不要跟那些總改變自己安全密鑰的聯(lián)系人聊天了。事實上,就是因為WhatsApp總是(因為某些原因)自動改變用戶的安全密鑰,所以用戶開始忽略這些提醒,不會每次都會去證實這些變化的真實性。
WhatsApp真正應(yīng)該做的事
所以實際上,WhatsApp至少應(yīng)該做到以下兩點:
- 不要再頻繁的生成用戶的加密密鑰了;
- 增加新的隱私設(shè)置,如果將此選項打開,除非用戶手動驗證通過,他的WhatsApp將不會自動信任新的加密密鑰并發(fā)送消息。