web-dev-qa-db-ja.com

エンドツーエンドの暗号化はwhatsappウェブでどのように機能しますか?

今日からwhatsappがエンドツーエンドの暗号化を使用していることに気づきました。ただし、web.whatsapp.comもまだ機能しています。 whatsappは私の物事を安全に保つために私の電話との接続を確立しますか?

59
Mehdi Nellen

正しい例:Webクライアントが電話への安全な接続を確立しています。 WhatsApp Webを介して送信するメッセージは、WebClientによって暗号化され、電話によって復号化された後、エンドツーエンドスキームに適合するように再暗号化されてから、受信者に送信されます。逆も同様です。

私はプロトコルの詳細を知りませんが、これは私が疑うことです(または私がそれを実装する方法):

  • WhatsApp Webを最初に開いたときに、非対称暗号化/署名のキーペアが生成されます(そして ブラウザのローカルストレージ に保存されます。おそらくRSAまたはECCです。
  • QRコードをスキャンすると、上記の鍵ペアの公開鍵のフィンガープリントが交換されます。これにより、電話とブラウザのインス​​トール間の信頼が確立されます。ユーザーがQRコードをスキャンしたという事実は、ユーザーがブラウザを信頼していることを意味します。
  • WhatsApp Webを使用する場合、電話へのTLS接続が確立されます(ファイアウォールとNAT問題を克服するためにWhatsAppによってプロキシされる可能性があります)。WhatsAppWebは、最初に生成されたキーペアを使用して電話に対して認証します(したがって、以前に確立された信頼に依存します)。
    • ブラウザと電話の間の接続は完全に修飾されたTLSです。認証とPFSが含まれています。
44
marstato