SHARE THE PERSPECTIVE
Loại bỏ trạm chuyển tiếp push làm thay đổi các bên tham gia phân phối; không khiến siêu dữ liệu định tuyến biến mất.

Quyền riêng tư của thông báo Android không chỉ phụ thuộc vào việc cuộc trò chuyện có được mã hóa hay không. Dịch vụ push có thể định tuyến thông báo mà không nhận được văn bản trò chuyện đọc được, nhưng vẫn tham gia phân phối. Kết nối trực tiếp loại bỏ bên trung gian cụ thể đó nhưng không xóa siêu dữ liệu khỏi máy chủ ứng dụng nhắn tin hoặc mạng.

Vì vậy, cách so sánh hữu ích không phải là “FCM làm lộ mọi thứ; socket che giấu mọi thứ”. Cần hỏi: dữ liệu nào đến từng bên, thiết kế đã chọn hoạt động trong nền đáng tin cậy đến đâu và người dùng có thể xác minh điều gì?

FCM vận chuyển những gì

Firebase Cloud Messaging phân biệt thông điệp thông báo, có thể được nền tảng hiển thị, với thông điệp dữ liệu do mã ứng dụng xử lý. Phần tải có thể chứa văn bản thông báo đọc được, dữ liệu đã mã hóa hoặc một tín hiệu tối thiểu yêu cầu ứng dụng lấy cập nhật. Các thiết kế đó có hệ quả khác nhau đối với quyền riêng tư. Các loại thông điệp FCM.

Firebase mô tả bảo vệ TLS giữa máy chủ gửi, FCM và thiết bị, nhưng cho biết FCM không tự động cung cấp E2EE ở cấp ứng dụng. Phần tải nhạy cảm cần được bảo vệ thích hợp phía trên lớp truyền tải. Với ứng dụng nhắn tin riêng tư, sự bảo vệ đó phải giữ đúng ranh giới đầu cuối dự kiến; mã hóa dữ liệu tại máy chủ vốn đã biết bản rõ là một mô hình tin cậy khác. Hướng dẫn mã hóa FCM.

Mã định danh định tuyến chứng minh và không chứng minh điều gì

Một push có đích cần mã định danh cho phiên bản cài đặt ứng dụng tương ứng. Điều này không đồng nghĩa với mã định danh vĩnh viễn, phổ quát cho một người. Đăng ký có thể thay đổi hoặc hết hạn; hướng dẫn Firebase hiện tại đề cập đăng ký dựa trên bản cài đặt cũng như token kiểu cũ. Tài liệu quản lý đăng ký.

Nhà cung cấp push nhất thiết tham gia xử lý yêu cầu và phân phối. Điều đó đặt ra các vấn đề về siêu dữ liệu, nhưng thời gian lưu giữ, liên kết tài khoản và mức độ nhìn thấy chính xác cần tài liệu hoặc đo lường. Đừng suy ra rằng thông báo chung chung “tin nhắn mới” tự động tiết lộ người gửi, người nhận và toàn bộ đồ thị quan hệ xã hội.

Tương quan thời gian có thể là mối lo trong mô hình đe dọa, nhất là khi người quan sát thấy nhiều luồng lưu lượng liên quan. Độ chính xác phụ thuộc vào các quan sát có được, việc gom nhóm, hoạt động nền và những yếu tố khác. “Có thể cung cấp tín hiệu” không đồng nghĩa với “dễ dàng tái dựng mọi cuộc trò chuyện”.

So sánh FCM và đồng bộ trực tiếp

Câu hỏi thiết kế Push qua FCM Đồng bộ nền trực tiếp
Có trạm chuyển tiếp push bên thứ ba tham gia không? Có Không đối với kết nối trực tiếp đó
Có thể không đưa văn bản trò chuyện đọc được đến trạm chuyển tiếp không? Có, nếu thiết kế phần tải phù hợp Ứng dụng nhắn tin vẫn cần E2EE thích hợp
Máy chủ ứng dụng có quan sát dữ liệu kết nối hoặc phân phối không? Thường có; tùy kiến trúc Có, máy chủ trực tiếp phục vụ máy khách
Có bảo đảm phân phối tức thì không? Không Không
Cần kiểm thử gì? Nội dung phần tải, vòng đời token, độ trễ và phương án dự phòng Hạn chế của hệ điều hành, hành vi kết nối lại, tiêu hao pin và độ trễ

Thăm dò trực tiếp hoặc socket có thể giảm phụ thuộc vào nhà cung cấp push. Chúng không tự động tạo ra tính ẩn danh hoặc ngăn hệ điều hành, mạng hay hạ tầng riêng của ứng dụng quan sát tất cả sự kiện liên quan.

Vì sao WorkManager không phải phương tiện truyền tin nhắn tức thì

Android hạn chế công việc nền để quản lý tài nguyên. WorkManager lên lịch công việc bền vững trong các giới hạn đó; nhắc đến nó trong kiến trúc không có nghĩa kết nối sẽ luôn hoạt động hoặc mọi tin nhắn sẽ đến ngay. Cài đặt của nhà sản xuất, hạn chế pin và trạng thái ứng dụng đều quan trọng. Hạn chế công việc nền của Android.

Tắt hạn chế năng lượng có thể thay đổi độ tin cậy và mức dùng pin, nhưng đừng áp dụng miễn trừ rộng rãi một cách mù quáng. Hãy thử chế độ được ứng dụng hỗ trợ trên thiết bị thực tế. Loại bỏ thành phần Google không tự động dạy ứng dụng cách dùng cơ chế phân phối mới; một số chức năng có thể ngừng hoạt động.

Livara nói gì về thông báo

Tài liệu bảo mật của Livara cho biết thông báo push cho tin nhắn mã hóa không chứa chi tiết tin nhắn hoặc tên. Tài liệu cũng nói dịch vụ lưu siêu dữ liệu vận hành và token push. Đây là tuyên bố của sản phẩm, không phải bằng chứng rằng Livara không dùng FCM hoặc siêu dữ liệu phân phối được ẩn khỏi mọi bên trung gian.

Nên đọc tài liệu công khai cùng với mô hình đe dọa. Bài viết không khẳng định có tùy chọn đồng bộ trực tiếp đã được kiểm thử, lợi thế pin đã đo lường hay chính sách lưu nhật ký cụ thể khi những điều đó chưa được chứng minh.

Kiểm tra thông báo trong thực tế

Dùng một tin nhắn thử vô hại. So sánh những gì xuất hiện khi điện thoại mở khóa, khóa, ngoại tuyến rồi kết nối lại. Kiểm tra riêng bản xem trước trên thiết bị liên kết và các ứng dụng có quyền truy cập thông báo. Cài đặt màn hình khóa kiểm soát hiển thị cục bộ; không nhất thiết thay đổi phần tải push phía máy chủ.

Với nhà phát triển, hãy kiểm tra phần tải thử và chỉ ghi lượng dữ liệu chẩn đoán tối thiểu. Đo việc phân phối trong điều kiện pin và kết nối thực tế, đồng thời ghi rõ ý nghĩa của “đã gửi”, “đã chấp nhận”, “đã phân phối” và “đã hiển thị”. Cả quyền riêng tư lẫn độ tin cậy đều được cải thiện khi những ranh giới này rõ ràng.

Mở trò chuyện Livara
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗