(Câu trả lời này liên quan đến giao thức tín hiệu, làm nền tảng cho các ứng dụng như Signal và WhatsApp. Theo như tôi biết, phần mềm WhatsApp không phải là mã nguồn mở và do đó rất khó để xác định liệu chúng có thực sự triển khai giao thức Signal hay không/bằng cách nào. Mã nguồn của ứng dụng tín hiệu mặt khác, là có sẵn.)
Ở cấp độ cao, giao thức Signal được xây dựng trên ngoài kỷ lục giao thức nhắn tin [BBG]. Phân tích bảo mật của giao thức Signal cho từ đầu đến cuối nhắn tin (so với giao thức cho tập đoàn tin nhắn, được giải quyết bên dưới) đã được thực hiện trong [CCG,CCDGS,B+]$^*$. Tóm lại, những công trình này nhận ra rằng thành phần cốt lõi của giao thức tín hiệu là một mật mã nguyên thủy được gọi là (đơn hướng) trao đổi khóa ratcheted/mã hóa ratcheted (bạn có thể đọc thêm về bánh cóc trong cái này bưu kiện). Một giao thức trao đổi khóa ratcheted (ví dụ: Diffie-Hellman ratchet), ngoài ra sự đảm bảo được cung cấp bởi một vani trao đổi chìa khóa giao thức (ví dụ: Diffie-Hellman và các dẫn xuất của nó như MQV), cung cấp các thuộc tính bảo mật như chuyển tiếp bí mật và bảo mật sau thỏa hiệp (hoặc lạc hậu). Phân tích sâu hơn về trao đổi khóa ghép nối được thực hiện trong [PR,ACD]: họ củng cố các kết quả trong [CCG,CCDGS,BCJNS] để tính đến hai chiều hoặc gấp đôi bánh cóc.
Các tập đoàn giao thức nhắn tin được sử dụng trong Signal/WhatApp, hiện đang được chuẩn hóa bởi IETF: xem nhóm làm việc MLS để cập nhật mới nhất. Giao thức cơ bản được gọi là thỏa thuận khóa nhóm liên tục$^{**}$ và nó nhằm mục đích mở rộng trao đổi khóa ratcheting -- vốn chỉ giới hạn cho hai người dùng -- tới các nhóm động có nhiều người dùng. Một trong những mục tiêu chính ở đây là có độ phức tạp giao tiếp của quy mô giao thức tuyến tính với số lượng thành viên trong nhóm.$^{***}$ Bạn có thể đọc thêm về phân tích bảo mật của đề xuất (xây dựng trên các giao thức có tên là ART [CCGMM] và TreeKEM [BBR]) trong [ACCKKPW,ACDT] và các bài báo đề cập đến.
$^*$ Bạn có thể đọc thêm về sự khác biệt giữa các kết quả trong [CCG,CCDGS,BCJNS] trong phần công việc liên quan của [CCDGS] và [BCJNS]
$^{**}$ Trao đổi khóa bánh cóc từ đầu đến cuối đôi khi còn được gọi là thỏa thuận khóa liên tục.
$^{***}$ Các bánh cóc nhóm có thể được mô phỏng bằng cách sử dụng các bánh cóc đầu cuối nếu người ta không quan tâm đến sự phức tạp trong giao tiếp.
[ACCKKPW]: Alwen và cộng sự, Keep the Dirt: Tainted TreeKEM, Thỏa thuận khóa nhóm liên tục bảo mật chủ động và thích ứng, EuroS&P 2021
[ACD]: Alwen, Coretti và Dodis, Ratchet kép: Khái niệm bảo mật, bằng chứng và mô đun hóa cho giao thức tín hiệu, Eurocrypt 2019
[ACDT]: Alwen, Coretti, Dodis và Tselekounis, Phân tích và cải tiến bảo mật cho Tiêu chuẩn IETF MLS cho Nhắn tin nhóm, tiền điện tử 2020
[BCJNS] Bellare và cộng sự, Mã hóa Ratcheted và trao đổi khóa: Tính bảo mật của tin nhắn, tiền điện tử 2017
[BBR] Barnes, Bhargavan và Rescorla, TreeKEM: Quản lý khóa phi tập trung không đồng bộ cho các nhóm động lớn
[BBG] Borisov, Brewster và Goldberg, Giao tiếp không ghi âm hoặc Tại sao không sử dụng PGP, CCS 2004
[CCDGS]: Cohn-Gordon và cộng sự, Phân tích bảo mật chính thức của Giao thức nhắn tin tín hiệu, EuroS&P 2017
[CCGMM]: Cohn-Gordon và cộng sự, Về mã hóa đầu cuối: Nhắn tin nhóm không đồng bộ với bảo đảm bảo mật mạnh mẽ, CCS 2018
[CCG]: Cohn-Gordon, Cremers và Garett, Bảo mật sau thỏa hiệp, CSF 2016
[PR]: Poettering và Rössler, Trao đổi khóa ratcheted không đồng bộ, tiền điện tử 2018