Tuần này trên Hacker News, tin khoảng một chục app ngân hàng bắt đầu chính thức cho phép GrapheneOS lên tới hơn 500 điểm. Nghe thì giống chuyện của cộng đồng privacy, nhưng với dev làm fintech, ví điện tử hay app có eKYC ở Việt Nam thì đây là câu hỏi kỹ thuật rất thật: làm sao biết thiết bị đáng tin mà không cần phụ thuộc hoàn toàn vào Google Play Integrity? Mình từng làm backend cho một app thanh toán. Team dùng MEETS_DEVICE_INTEGRITY làm điều kiện cứng, và kết quả là chặn nhầm cả người dùng ROM sạch, có verified boot đầy đủ, trong khi máy root có cài module bypass vẫn lọt qua. Bài này chia sẻ cách tiếp cận mà các ngân hàng kia đang dùng: Android Hardware Key Attestation , kiểm tra phía server, với policy rõ ràng.
Play Integrity kiểm tra gì, và vì sao chưa đủ
Play Integrity API trả về một verdict có các nhãn như MEETS_BASIC_INTEGRITY , MEETS_DEVICE_INTEGRITY , MEETS_STRONG_INTEGRITY . Vấn đề nằm ở chỗ:
MEETS_DEVICE_INTEGRITY về bản chất nghĩa là máy đã được Google chứng nhận (Play Protect certified).…