Kiểm tra ứng dụng Firebase

Tính năng Kiểm tra ứng dụng giúp bảo vệ các tài nguyên API của bạn khỏi bị sử dụng sai mục đích bằng cách ngăn chặn ứng dụng trái phép truy cập vào các tài nguyên phụ trợ của bạn. Tính năng này hoạt động với cả dịch vụ của Google (bao gồm cả dịch vụ Firebase và Google Cloud) cũng như API của riêng bạn để giữ an toàn cho tài nguyên của bạn.

Với tính năng Kiểm tra ứng dụng, các thiết bị đang chạy ứng dụng của bạn sẽ sử dụng một ứng dụng hoặc nhà cung cấp dịch vụ chứng thực thiết bị chứng thực một hoặc cả hai điều sau:

  • Yêu cầu bắt nguồn từ ứng dụng chính thống của bạn
  • Yêu cầu bắt nguồn từ một thiết bị chính hãng, chưa được chăm sóc

Chứng thực này được đính kèm vào mọi yêu cầu mà ứng dụng của bạn đưa ra đối với các API mà bạn chỉ định. Khi bạn bật tính năng thực thi tính năng Kiểm tra ứng dụng, các yêu cầu của ứng dụng không có chứng thực hợp lệ, cũng như mọi yêu cầu bắt nguồn từ một ứng dụng hoặc nền tảng mà bạn chưa cho phép đều sẽ bị từ chối.

Tính năng Kiểm tra ứng dụng có tích hợp sẵn tính năng hỗ trợ để sử dụng các dịch vụ sau làm nhà cung cấp dịch vụ chứng thực:

Nếu không đủ nhu cầu, bạn cũng có thể triển khai dịch vụ của riêng mình thông qua nhà cung cấp dịch vụ chứng thực bên thứ ba hoặc kỹ thuật chứng thực của riêng bạn.

Tính năng Kiểm tra ứng dụng hoạt động với các dịch vụ sau đây của Google:

Các dịch vụ được hỗ trợ của Google
Cơ sở dữ liệu theo thời gian thực
Cloud Firestore
Cloud Storage
Hàm đám mây (hàm có thể gọi)
Xác thực (beta; yêu cầu nâng cấp lên Xác thực Firebase bằng Nền tảng nhận dạng)
Google Identity dành cho iOS (beta)
Vertex AI cho Firebase (Bản xem trước)

Bạn cũng có thể sử dụng tính năng Kiểm tra ứng dụng để bảo vệ những tài nguyên phụ trợ không phải của Google.

Bạn đã sẵn sàng bắt đầu?

Bắt đầu

Tính năng này hoạt động như thế nào?

Khi bạn bật tính năng Kiểm tra ứng dụng cho một dịch vụ và đưa SDK ứng dụng vào ứng dụng của mình, những điều sau đây sẽ xảy ra định kỳ:

  1. Ứng dụng của bạn sẽ tương tác với nhà cung cấp mà bạn chọn để lấy chứng thực về tính xác thực của ứng dụng hoặc thiết bị (hoặc cả hai, tuỳ thuộc vào nhà cung cấp).
  2. Quá trình chứng thực được gửi đến máy chủ Kiểm tra ứng dụng. Máy chủ này xác minh tính hợp lệ của quy trình chứng thực bằng cách sử dụng các tham số đã đăng ký với ứng dụng và trả về cho ứng dụng của bạn một mã thông báo Kiểm tra ứng dụng có thời gian hết hạn. Mã thông báo này có thể giữ lại một số thông tin về tài liệu chứng thực mà mã đã xác minh.
  3. SDK ứng dụng Kiểm tra ứng dụng sẽ lưu mã thông báo trong ứng dụng vào bộ nhớ đệm, sẵn sàng gửi cùng với mọi yêu cầu mà ứng dụng đưa ra đối với các dịch vụ được bảo vệ.

Dịch vụ được bảo vệ bằng tính năng Kiểm tra ứng dụng chỉ chấp nhận các yêu cầu đi kèm với mã thông báo Kiểm tra ứng dụng hợp lệ hiện có.

Tính năng bảo mật mà tính năng Kiểm tra ứng dụng cung cấp có mạnh không?

Tính năng Kiểm tra ứng dụng dựa vào độ mạnh của các nhà cung cấp dịch vụ chứng thực để xác định tính xác thực của ứng dụng hoặc thiết bị. Cách này ngăn chặn một số chứ không phải tất cả các vectơ hướng đến hệ thống phụ trợ của bạn. Việc sử dụng tính năng Kiểm tra ứng dụng không đảm bảo sẽ loại bỏ mọi hành vi sai trái, nhưng bằng việc tích hợp với tính năng Kiểm tra ứng dụng, bạn đang thực hiện một bước quan trọng nhằm chống hành vi sai trái cho các tài nguyên phụ trợ của mình.

Kiểm tra ứng dụng và Xác thực Firebase là những phần bổ sung trong câu chuyện bảo mật ứng dụng của bạn. Tính năng Xác thực Firebase cung cấp tính năng xác thực người dùng để bảo vệ người dùng, trong khi tính năng Kiểm tra ứng dụng cung cấp quy trình chứng thực tính xác thực của ứng dụng hoặc thiết bị, giúp bảo vệ bạn với tư cách là nhà phát triển. Tính năng Kiểm tra ứng dụng bảo vệ quyền truy cập vào tài nguyên phụ trợ và phần phụ trợ tuỳ chỉnh của Google bằng cách yêu cầu lệnh gọi API chứa mã thông báo Kiểm tra ứng dụng hợp lệ. Hai khái niệm này phối hợp với nhau để giúp bảo mật ứng dụng của bạn.

Hạn mức và giới hạn

Việc bạn sử dụng tính năng Kiểm tra ứng dụng phải tuân theo hạn mức và giới hạn của các nhà cung cấp dịch vụ chứng thực mà bạn sử dụng.

  • Quyền truy cập DeviceCheck và App Attest (Kiểm tra thiết bị) phải tuân theo mọi hạn mức hoặc giới hạn do Apple đặt ra.

  • API Tính toàn vẹn của Play có hạn mức hằng ngày là 10.000 lệnh gọi cho cấp sử dụng API tiêu chuẩn. Để biết thông tin về cách tăng cấp sử dụng, hãy xem tài liệu về API Tính toàn vẹn của Play.

  • SafetyNet có hạn mức 10.000 lệnh gọi mỗi ngày. Để biết thông tin về cách yêu cầu tăng hạn mức, hãy xem tài liệu về SafetyNet.

  • reCAPTCHA Enterprise không tính phí cho 1 triệu lệnh gọi mỗi tháng và nhiều mức chi phí khác nữa. Xem giá của ReCAPTCHA Enterprise.

Bắt đầu

Bạn đã sẵn sàng bắt đầu?

Nền tảng của Apple

Kiểm tra thiết bị Chứng thực ứng dụng

Android

API Tính toàn vẹn của Play

Web

reCAPTCHA Enterprise

Flutter

Nhà cung cấp mặc định

C++

Nhà cung cấp mặc định

Unity

Nhà cung cấp mặc định

Tìm hiểu cách triển khai trình cung cấp dịch vụ Kiểm tra ứng dụng tuỳ chỉnh:

Nhà cung cấp tuỳ chỉnh

Tìm hiểu cách sử dụng tính năng Kiểm tra ứng dụng để bảo vệ những tài nguyên phụ trợ không phải của Google:

iOS+ Android Web Flutter