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