Firebase 앱 체크

앱 체크는 승인되지 않은 클라이언트가 백엔드 리소스에 액세스하는 것을 방지하여 API 리소스를 악용으로부터 보호해 줍니다. Firebase 서비스, Google Cloud 서비스, 자체 API와 모두 호환되므로 리소스를 안전하게 보호할 수 있습니다.

앱 체크를 사용하면 앱을 실행하는 기기는 다음 중 하나 또는 둘 모두를 증명하는 앱 또는 기기 증명 제공자를 사용합니다.

  • 요청이 인증된 앱에서 발생함
  • 요청이 변조되지 않은 인증된 기기에서 발생함

이 증명은 지정한 API에 대해 앱이 수행하는 모든 요청에 연결됩니다. 앱 체크 적용을 사용 설정하면 유효한 증명이 없는 클라이언트의 요청이 거부되며 승인하지 않은 앱이나 플랫폼에서 발생한 요청도 거부됩니다.

앱 체크에는 다음 서비스를 증명 제공자로 사용하기 위한 지원 기능이 내장되어 있습니다.

이것으로 요구사항이 충족되지 않으면 제3자 증명 제공자 또는 자체 증명 기법을 사용하는 자체 서비스를 구현할 수도 있습니다.

앱 체크는 현재 다음 Firebase 제품에서 작동합니다.

지원되는 Firebase 제품
실시간 데이터베이스
Cloud Firestore
Cloud Storage
Cloud Functions(호출 가능 함수)
인증(베타, Identity Platform을 사용한 Firebase 인증으로 업그레이드 필요)

앱 체크를 사용하여 Firebase 외의 백엔드 리소스를 보호할 수도 있습니다.

시작할 준비가 되셨나요?

시작하기

기본 원리

서비스에 앱 체크를 사용 설정하고 앱에 클라이언트 SDK를 포함하면 다음과 같은 상황이 주기적으로 발생합니다.

  1. 앱은 선택한 제공자와 상호작용하여 앱 또는 기기(또는 제공자에 따라 둘 다)의 신뢰성을 증명합니다.
  2. 증명은 앱에 등록된 매개변수를 사용하여 증명의 유효성을 확인하는 앱 체크 서버로 전송되며, 만료 시간이 있는 앱 체크 토큰으로 앱에 반환됩니다. 이 토큰에는 확인된 증명 자료에 대한 정보가 유지될 수 있습니다.
  3. 앱 체크 클라이언트 SDK는 앱에서 토큰을 캐시하며, 이는 앱에서 보호된 서비스에 보내는 모든 요청과 함께 전송할 수 있습니다.

앱 체크로 보호되는 서비스는 현재 유효한 앱 체크 토큰과 함께 제공되는 요청만 수락합니다.

앱 체크에서 제공하는 보안의 강도는 어느 정도인가요?

앱 체크는 증명 제공자의 강도를 사용하여 앱 또는 기기 신뢰성을 결정합니다. 전부는 아니지만 백엔드로 향하는 악용 벡터의 일부가 방지됩니다. 앱 체크를 사용해도 모든 악용 사례를 없앨 수는 없지만 앱 체크와 통합하면 백엔드 리소스의 악용 방지를 위한 중요한 조치를 취할 수 있습니다.

앱 체크와 Firebase 인증은 앱 보안 과정의 상호 보완적인 부분입니다. Firebase 인증은 사용자 인증을 제공하여 사용자를 보호하며, 앱 체크는 앱 또는 기기의 신뢰성을 증명하여 개발자를 보호합니다. 앱 체크는 API 호출에 유효한 Firebase 앱 체크 토큰을 포함하도록 요구하여 Firebase 리소스 및 커스텀 백엔드에 대한 액세스를 보호합니다. 이 두 개념은 함께 작동하여 앱을 보호하는 데 도움이 됩니다.

할당량 및 한도

앱 체크를 사용할 때는 사용하는 증명 제공자의 할당량과 한도가 적용됩니다.

  • DeviceCheck 및 App Attest 액세스에는 Apple에서 설정한 할당량 또는 제한이 적용됩니다.

  • Play Integrity 표준 API 사용 등급의 일일 호출 할당량은 10,000회입니다. 사용 등급 상향 조정에 관한 자세한 내용은 Play Integrity 문서를 참고하세요.

  • SafetyNet의 일일 호출 할당량은 10,000회입니다. 할당량 상향 요청에 관한 자세한 내용은 SafetyNet 문서를 참조하세요.

  • reCAPTCHA Enterprise는 월 100만 회 호출을 무료로 제공하며 그 이상은 비용이 발생합니다. reCAPTCHA Enterprise 가격 책정을 참조하세요.

시작하기

시작할 준비가 되셨나요?

Apple 플랫폼

DeviceCheck App Attest

Android

Play Integrity

reCAPTCHA Enterprise

Flutter

기본 제공자

C++

기본 제공자

Unity

기본 제공자

커스텀 앱 체크 제공자를 구현하는 방법을 알아보세요.

커스텀 제공자

앱 체크를 사용하여 Firebase 외의 백엔드 리소스를 보호하는 방법을 알아보세요.

iOS+ Android Flutter