WhatsApp是如何实现端到端加密备份的?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"多年以来,WhatsApp的端对端加密服务一直是默认选项,旨在全力保护人们信息隐私,让信息的交换不经手任何人,仅收件人和发件人可见。现在,WhatsApp计划让这项加密服务也应用到用户们的备份上。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Google Drive和iCloud等诸多云端备份服务让人们可以随时同步备份他们的消息记录,虽然WhatsApp没有这些记录的访问权限,但提供保护的各类云存储服务却可以访问到。如果未来用户们选择启用"},{"type":"link","attrs":{"href":"https:\/\/engineering.fb.com\/2021\/04\/16\/security\/dit\/","title":null,"type":null},"content":[{"type":"text","text":"端对端加密(E2EE)"}]},{"type":"text","text":"的备份保护,那么无论是WhatsApp还是第三方的存储服务都将无法访问到用户们的备份数据和加密密钥。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"E2EE备份的工作原理"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"加密密钥和密码的生成"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"WhatsApp为E2EE的备份服务专门开发了一款可以兼容安卓和iOS平台的全新系统来存储加密的密钥。E2EE备份选项一经启用,备份将会由一个独特且随机生成的加密密钥保护,而用户则可以自行选择使用存储密钥或使用自设置的密码。如果选择的手动输入的密码,那么密钥将会被保管在一个基于硬件安全模块(HSM)组件开发的备份密钥库之中,HSM是专门为这类需求开发的安全组件,可以用于存储密钥。当账户所有者需要访问他们的备份数据时,无论是自设置密码还是安全密钥,都会从这个基于HSM的备份密钥库中检索对应的加密密钥,从而解密用户的备份数据。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"这款基于HSM的备份密钥库同时也提供密码验证尝试次数的限制,在不成功访问到达限制次数后,密钥将被永久锁定,有效地防止了暴力破解密钥的企图。至于这款密钥库的拥有者WhatsApp,它只会知道HSM密钥库中用户密钥的存在,但却无法得知密钥本身的信息。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"将密钥存储在备份密钥库中"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"WhatsApp的前端服务ChatD,将会负责处理客户端链接和服务器端认证,通过协议将保管备份的密钥发送到WhatsApp的服务器上,或者是从服务器上取回。客户端与基于HSM的备份密钥库将会交换加密信息,其内容将不会被ChatD本身访问。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基于HSM的备份密钥库将会位于ChatD的后端,为备份的加密密钥提供高度可用和安全的存储。备份操作将会生成连续的数据流,并通过生成的密钥进行对称加密。只要启用E2EE备份形式,加密之后的备份数据将可以同步到iCloud或iGoogle Drive等设备外存储设备。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"WhatsApp为超过20亿人提供服务,该产品的核心挑战之一是确保基于HSM的备份密钥库能够可靠地运行。为了确系统能够始终可用,基于HSM的备份密钥库服务将在地理上分布于多个数据中心,以确保即使在其中一个数据中心故障时,服务也能持续在线。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/c8\/c8a7de7bec571379f261ae9c5745c7a2.jpeg","alt":"此处输入图片的描述","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"备份可以由一个64位加密密钥进行端对端的加密保护。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/72\/72d7a8a63c0171d794af3c1c69c8dbc5.jpeg","alt":"此处输入图片的描述","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"备份同样可以由密码保护,密钥将会被存储到一个基于HSM的备份密钥库中。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"基于HSM的备份密钥库以及加密\/解密流程"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果WhatsApp账户的所有者选择使用输入密码来对端对端备份的数据进行保护,基于HSM的备份密钥库会将其存储并保管。如果想要使用备份数据的话:"}]},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"首先需要输入密码,明文密码在加密后会由备份密钥库进行验证。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"密码通过验证之后,加密密钥库会将密钥发送至WhatsApp客户端。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","text":"拥有密钥后,WhatsApp客户端才可以将备份解密。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"或者,如果账户所有者选择使用单独的64位密钥,那么他们就需要手动将密钥输入客户端以解密并访问他们的备份数据。E2EE备份将在未来几周内同时登陆iOS和安卓客户端。更多技术细节请参考"},{"type":"link","attrs":{"href":"https:\/\/www.whatsapp.com\/security\/WhatsApp_Security_Encrypted_Backups_Whitepaper.pdf","title":null,"type":null},"content":[{"type":"text","text":"端对端加密备份白纸"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原文链接:"},{"type":"link","attrs":{"href":"https:\/\/engineering.fb.com\/2021\/09\/10\/security\/whatsapp-e2ee-backups\/","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/engineering.fb.com\/2021\/09\/10\/security\/whatsapp-e2ee-backups\/"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章