Telegram 的密聊真的不存儲(chǔ)數(shù)據(jù)嗎?
作者:李華
Telegram 的密聊(Secret Chat)使用端到端加密 (E2EE) 來(lái)保護(hù)消息的隱私。這種加密確保消息內(nèi)容只能由參與密聊的兩方解密,即使是 Telegram 服務(wù)器也無(wú)法讀取內(nèi)容。
Telegram 的密聊(Secret Chat)使用端到端加密 (E2EE) 來(lái)保護(hù)消息的隱私。
這種加密確保消息內(nèi)容只能由參與密聊的兩方解密,即使是 Telegram 服務(wù)器也無(wú)法讀取內(nèi)容。以下是密聊的工作過(guò)程,分步說(shuō)明:
圖片
第一步:創(chuàng)建密聊會(huì)話
Bob 向 Peter 發(fā)起密聊請(qǐng)求。
Telegram 客戶端生成會(huì)話請(qǐng)求,并通知 Peter。
第二步:Diffie-Hellman 密鑰交換
目的:在兩臺(tái)設(shè)備之間安全地共享一個(gè)對(duì)稱加密密鑰,用于加密后續(xù)消息。
步驟:
- Bob 和 Peter 的客戶端各自生成一對(duì) Diffie-Hellman 密鑰對(duì)(公鑰和私鑰)。
- Bob 將自己的公鑰發(fā)送給 Peter,Peter 將自己的公鑰發(fā)送給 Bob。
- 兩端通過(guò)各自的私鑰和對(duì)方的公鑰計(jì)算共享密鑰(Session Key)。由于 Diffie-Hellman 算法的數(shù)學(xué)特性,計(jì)算結(jié)果一致。
- 此共享密鑰隨后用于對(duì)消息加密。
第三步:驗(yàn)證共享密鑰
- 雙方通過(guò)共享密鑰生成一個(gè)指紋(例如,通過(guò)哈希算法)。
- Telegram 會(huì)將該指紋以二維碼或字符串形式展示,雙方用戶可以手動(dòng)驗(yàn)證指紋是否一致,確保沒(méi)有中間人攻擊(MITM)。
第四步:端到端加密消息傳遞
加密發(fā)送
- Bob 使用共享密鑰對(duì)消息進(jìn)行對(duì)稱加密(通常使用 AES-256-CBC 等算法)。
- 加密后的消息通過(guò) Telegram 服務(wù)器傳輸給 Peter。
解密接收
- Peter 接收到密聊消息后,用共享密鑰解密。
- 解密后的消息僅在 Peter 的設(shè)備上可見(jiàn)。
安全性分析
安全特性支持
- 消息定時(shí)器:支持“閱后即焚”功能,用戶可以設(shè)置消息的存活時(shí)間,時(shí)間到期后消息會(huì)自動(dòng)從兩端設(shè)備上刪除。
- 設(shè)備綁定:密聊會(huì)話與發(fā)起時(shí)的設(shè)備綁定,不會(huì)同步到其他設(shè)備。
- 不可轉(zhuǎn)發(fā):密聊中的消息無(wú)法被轉(zhuǎn)發(fā)。
- 截圖警告:部分平臺(tái)會(huì)提示對(duì)方截圖行為。
密聊會(huì)話終止
- 如果用戶主動(dòng)刪除密聊會(huì)話或消息,數(shù)據(jù)會(huì)從兩端設(shè)備上清除。
- 共享密鑰失效,無(wú)法再用來(lái)加密或解密新的消息。
服務(wù)器角色
- Telegram 服務(wù)器只負(fù)責(zé)轉(zhuǎn)發(fā)加密后的數(shù)據(jù)包,不存儲(chǔ)解密密鑰。
- 由于消息在傳輸和存儲(chǔ)過(guò)程中都是加密狀態(tài),Telegram 服務(wù)器無(wú)法讀取內(nèi)容。
責(zé)任編輯:武曉燕
來(lái)源:
ByteByteGo