Register now for Android Dev Summit 2019!

보안 권장사항

Google Play 결제 구현을 설계할 때는 이 문서에 설명된 보안 권장사항을 따라야 합니다. 이 가이드라인은 Google Play 결제를 사용하는 모든 사용자에게 권장됩니다.

구매 세부정보 유효성 검사

신뢰할 수 있는 서버에서 구매 세부정보의 유효성을 검사하는 것이 좋습니다. 서버를 사용할 수 없는 경우에도 기기의 앱에서 구매 세부정보의 유효성을 검사할 수 있습니다.

서버에서 유효성 검사

서버에서 서명 확인 로직을 구현하면 공격자가 APK 파일을 리버스 엔지니어링하기 어려워지므로 로직에서 확인하는 서명의 무결성을 유지할 수 있습니다.

신뢰할 수 있는 서버에서 구매 세부정보의 유효성을 검사하려면 다음 단계를 완료하세요.

  1. 기기-서버 핸드셰이크가 안전한지 확인합니다.
  2. 반환된 데이터 서명과 orderId를 확인하고, orderId가 이전에 처리하지 않은 고유한 값인지 확인합니다.
  3. 처리 중인 INAPP_PURCHASE_DATA에 앱의 키 서명이 있는지 확인합니다.
  4. Google Play Developer API의 ProductPurchase 리소스(인앱 상품의 경우) 또는 SubscriptionPurchase 리소스(정기 결제의 경우)를 사용하여 구매 응답의 유효성을 검사합니다. 이 단계는 공격자가 Play 스토어 구매 요청에 대한 모의 응답을 만들 수 없다는 점에서 특히 유용합니다.

잠금 해제된 콘텐츠 보호

악의적인 사용자가 잠금 해제된 콘텐츠를 재배포하는 것을 방지하려면 콘텐츠를 APK 파일에 번들로 포함하지 마시기 바랍니다. 그 대신, 다음 중 하나를 따르세요.

  • 실시간 서비스를 사용하여 콘텐츠 피드와 같은 콘텐츠를 제공합니다. 실시간 서비스를 통해 콘텐츠를 제공하면 새로운 콘텐츠를 계속 이용할 수 있습니다.
  • 원격 서버를 사용하여 콘텐츠를 전달합니다.

원격 서버나 실시간 서비스를 통해 콘텐츠를 제공하면 잠금 해제된 콘텐츠를 기기 메모리나 기기의 SD 카드에 저장할 수 있습니다. SD 카드에 콘텐츠를 저장하는 경우 콘텐츠를 암호화하고 기기 고유의 암호화 키를 사용해야 합니다.

상표권 및 저작권 침해에 대한 조치

원격 서버를 사용하여 콘텐츠를 제공하거나 관리하는 경우 사용자가 콘텐츠에 액세스할 때마다 애플리케이션에서 잠금 해제된 콘텐츠의 구매 상태를 확인하도록 하세요. 이렇게 하면 필요 시 사용을 취소하고 불법 복제를 최소화할 수 있습니다.

내 콘텐츠가 Google Play에서 재배포되는 것을 발견한 경우 신속하고 단호하게 행동해야 합니다. 자세한 내용은 저작권 고객센터의 저작권 FAQ 페이지를 참조하세요.