Firebase 앱 체크
앱 체크는 승인되지 않은 클라이언트가 백엔드 리소스에 액세스하는 것을 방지하여 API 리소스를 악용으로부터 보호해 줍니다. Firebase 서비스, Google Cloud 서비스, 자체 API와 모두 호환되므로 리소스를 안전하게 보호할 수 있습니다.
앱 체크를 사용하면 앱을 실행하는 기기는 다음 중 하나 또는 둘 모두를 증명하는 앱 또는 기기 증명 제공자를 사용합니다.
- 요청이 인증된 앱에서 발생함
- 요청이 변조되지 않은 인증된 기기에서 발생함
이 증명은 지정한 API에 대해 앱이 수행하는 모든 요청에 연결됩니다. 앱 체크 적용을 사용 설정하면 유효한 증명이 없는 클라이언트의 요청이 거부되며 승인하지 않은 앱이나 플랫폼에서 발생한 요청도 거부됩니다.
앱 체크에는 다음 서비스를 증명 제공자로 사용하기 위한 지원 기능이 내장되어 있습니다.
- Apple 플랫폼의 DeviceCheck 또는 App Attest
- Android의 Play Integrity 또는 SafetyNet(지원 중단됨)
- 웹 앱의 reCAPTCHA v3 또는 reCAPTCHA Enterprise
이것으로 요구사항이 충족되지 않으면 제3자 증명 제공자 또는 자체 증명 기법을 사용하는 자체 서비스를 구현할 수도 있습니다.
앱 체크는 현재 다음 Firebase 제품에서 작동합니다.
지원되는 Firebase 제품 |
---|
실시간 데이터베이스 |
Cloud Firestore |
Cloud Storage |
Cloud Functions(호출 가능 함수) |
인증(베타, Identity Platform을 사용한 Firebase 인증으로 업그레이드 필요) |
앱 체크를 사용하여 Firebase 외의 백엔드 리소스를 보호할 수도 있습니다.
시작할 준비가 되셨나요?
기본 원리
서비스에 앱 체크를 사용 설정하고 앱에 클라이언트 SDK를 포함하면 다음과 같은 상황이 주기적으로 발생합니다.
- 앱은 선택한 제공자와 상호작용하여 앱 또는 기기(또는 제공자에 따라 둘 다)의 신뢰성을 증명합니다.
- 증명은 앱에 등록된 매개변수를 사용하여 증명의 유효성을 확인하는 앱 체크 서버로 전송되며, 만료 시간이 있는 앱 체크 토큰으로 앱에 반환됩니다. 이 토큰에는 확인된 증명 자료에 대한 정보가 유지될 수 있습니다.
- 앱 체크 클라이언트 SDK는 앱에서 토큰을 캐시하며, 이는 앱에서 보호된 서비스에 보내는 모든 요청과 함께 전송할 수 있습니다.
앱 체크로 보호되는 서비스는 현재 유효한 앱 체크 토큰과 함께 제공되는 요청만 수락합니다.
앱 체크에서 제공하는 보안의 강도는 어느 정도인가요?
앱 체크는 증명 제공자의 강도를 사용하여 앱 또는 기기 신뢰성을 결정합니다. 전부는 아니지만 백엔드로 향하는 악용 벡터의 일부가 방지됩니다. 앱 체크를 사용해도 모든 악용 사례를 없앨 수는 없지만 앱 체크와 통합하면 백엔드 리소스의 악용 방지를 위한 중요한 조치를 취할 수 있습니다.
앱 체크는 Firebase 인증과 어떤 관련이 있나요?
앱 체크와 Firebase 인증은 앱 보안 과정의 상호 보완적인 부분입니다. Firebase 인증은 사용자 인증을 제공하여 사용자를 보호하며, 앱 체크는 앱 또는 기기의 신뢰성을 증명하여 개발자를 보호합니다. 앱 체크는 API 호출에 유효한 Firebase 앱 체크 토큰을 포함하도록 요구하여 Firebase 리소스 및 커스텀 백엔드에 대한 액세스를 보호합니다. 이 두 개념은 함께 작동하여 앱을 보호하는 데 도움이 됩니다.
할당량 및 한도
앱 체크를 사용할 때는 사용하는 증명 제공자의 할당량과 한도가 적용됩니다.
DeviceCheck 및 App Attest 액세스에는 Apple에서 설정한 할당량 또는 제한이 적용됩니다.
Play Integrity 표준 API 사용 등급의 일일 호출 할당량은 10,000회입니다. 사용 등급 상향 조정에 관한 자세한 내용은 Play Integrity 문서를 참고하세요.
SafetyNet의 일일 호출 할당량은 10,000회입니다. 할당량 상향 요청에 관한 자세한 내용은 SafetyNet 문서를 참조하세요.
reCAPTCHA v3의 월간 할당량은 100만 회 호출이며 QPS 한도는 1,000입니다. 할당량 상향 요청에 관한 자세한 내용은 reCAPTCHA 문서를 참조하세요.
reCAPTCHA Enterprise는 월 100만 회 호출을 무료로 제공하며 그 이상은 비용이 발생합니다. reCAPTCHA Enterprise 가격 책정을 참조하세요.
시작하기
시작할 준비가 되셨나요?
Apple 플랫폼
Android
웹
reCAPTCHA v3 reCAPTCHA Enterprise
Flutter
C++
Unity
커스텀 앱 체크 제공자를 구현하는 방법을 알아보세요.
앱 체크를 사용하여 Firebase 외의 백엔드 리소스를 보호하는 방법을 알아보세요.