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