Wykrywanie powtarzających się przypadków nadużyć za pomocą funkcji przywracania urządzenia (beta)

Na tej stronie opisujemy, jak używać funkcji przywracania urządzenia do przechowywania i pobierania danych niestandardowych z konkretnych urządzeń. Możesz niezawodnie przywoływać dane niestandardowe później, gdy aplikacja jest zainstalowana na tym samym urządzeniu, nawet po zresetowaniu urządzenia. Dzięki temu możesz wykrywać i zapobiegać ponownemu używaniu urządzenia na podstawie określonego przez siebie działania lub zachowania, zachowując jednocześnie prywatność użytkownika.

Jak działa wycofanie urządzenia?

Odczytywanie danych urządzenia umożliwia aplikacjom przechowywanie i odczytywanie danych niestandardowych powiązanych z konkretnym urządzeniem w taki sposób, aby zachować prywatność użytkownika. Dane są przechowywane na serwerach Google, dzięki czemu aplikacja może niezawodnie przywoływać dane niestandardowe nawet po ponownej instalacji aplikacji lub zresetowaniu urządzenia. Możesz na przykład użyć tej funkcji, aby przywrócić urządzenia, w przypadku których znajdziesz dowody poważnego nadużycia, urządzenia, które zostały już wykorzystane do aktywacji elementów o wysokiej wartości (np. bezpłatnego okresu próbnego), lub urządzenia, które są wielokrotnie używane do tworzenia nowych kont w niepowołanych celach. Zapamiętanie urządzenia chroni prywatność użytkownika, ponieważ aplikacja wysyłająca żądanie może przywrócić tylko ograniczone dane powiązane z urządzeniami, bez dostępu do identyfikatorów urządzeń ani użytkowników. Po włączeniu funkcji przypomnienia o zwrotach możesz wykonać te czynności:

  • Odczytywanie danych z poszczególnych urządzeń: po uzyskaniu orzeczenia o integralności możesz odczytać 3 niestandardowe wartości lub bity dla każdego urządzenia. Możesz zdefiniować własne znaczenie tych wartości. Możesz na przykład traktować je jako 3 oddzielne flagi lub połączyć je, aby reprezentowały 8 etykietek niestandardowych.
  • Modyfikowanie danych na urządzeniu: po uzyskaniu tokena integralności możesz użyć tego tokena, aby wykonać wywołanie po stronie serwera na serwerze Google Play w celu zmodyfikowania jednej lub większej liczby wartości. Na wykorzystanie tokena masz 14 dni. Dzięki temu możesz zmienić wartość, jeśli np. nadużycie zostanie ujawnione dopiero w ciągu 2 tygodni od przeprowadzenia pierwszego sprawdzenia integralności. Gdy zmienisz wartość, zapisywany jest również miesiąc i rok, w którym ta zmiana została wprowadzona.

Wymagania wstępne i kwestie związane z wycofaniem urządzenia

Funkcja przywracania urządzenia może być używana tylko do przechowywania i przywracania informacji w celu ochrony bezpieczeństwa aplikacji oraz zapobiegania nadużyciom, oszustwom i nieuprawnionemu dostępowi. Nie możesz używać funkcji przywracania urządzenia do tworzenia odcisków palców ani śledzenia poszczególnych użytkowników lub urządzeń. Nie możesz też używać tej funkcji do śledzenia wrażliwych danych użytkowników lub urządzeń, takich jak płeć, wiek czy dane o lokalizacji.

Wycofanie urządzenia wymaga spełnienia tych wymagań wstępnych:

  • Funkcja przywołania urządzenia może być używana na telefonach, tabletach, składanych urządzeniach, telewizorach, urządzeniach Auto i Wear OS. W przypadku urządzeń Wear przywrócenie do pierwotnego stanu jest możliwe tylko na urządzeniach z systemem Wear OS 5 lub nowszym. Przywracanie urządzenia nie jest obsługiwane w emulatorach.
  • Aby przywrócić urządzenie do pierwotnego stanu, musisz mieć zainstalowane i włączone najnowsze wersje Sklepu Google Play oraz Usług Google Play.
  • Przywrócenie urządzenia wymaga, aby konto użytkownika było objęte licencją Google Play. W przeciwnym razie werdyk nie zostanie oceniony.

W przypadku wycofania urządzenia należy wziąć pod uwagę te kwestie czasowe:

  • Po zweryfikowaniu tokena integralności masz 14 dni na przechowywanie za pomocą tego tokena danych dotyczących przywracania niestandardowych urządzeń.
  • Przypomnienie o przywróceniu urządzenia zawiera sygnatury czasowe, dzięki czemu możesz uznać ostatnio zmienione dane za mające wyższy priorytet niż dane, które zostały zmienione dawno temu. Rozważ zignorowanie lub zresetowanie danych po upływie wystarczająco długiego czasu, aby uwzględnić fakt, że urządzenia mogą zmieniać właścicieli lub być odnowione i ponownie sprzedane.
  • Bity przywracania urządzenia będą przechowywane przez 3 lata od ostatniego odczytu lub zapisu.
  • Jeśli chcesz usunąć wszystkie dane powiązane z urządzeniem, aplikacja może zresetować wszystkie 3 wartości na tym urządzeniu na „fałsz”. Spowoduje to automatyczne zresetowanie sygnatur czasowych.

W przypadku deweloperów, którzy mają wiele aplikacji lub przenoszą aplikacje, wycofanie urządzenia działa w ten sposób:

  • Wszystkie aplikacje na Twoim koncie dewelopera w Google Play mają dostęp do tych samych 3 wartości na urządzenie. Inaczej mówiąc, jeśli jedna z Twoich aplikacji zmieni jedną z wartości, wszystkie aplikacje odczytają tę zmienioną wartość po zainstalowaniu na tym samym urządzeniu.
  • Jeśli aplikacja zostanie przeniesiona z jednego konta dewelopera na inne, przywrócenie urządzenia będzie odzwierciedlać dane na urządzeniu nowego konta dewelopera, a nie dane na urządzeniu starego konta dewelopera.

Włączanie przypomnienia o wycofaniu urządzenia

Gdy będziesz gotowy, włącz wycofanie urządzenia w Konsoli Play:

  1. Zaloguj się w Konsoli Play.
  2. Wybierz aplikację, która będzie korzystać z przypomnienia o zwróceniu urządzenia.
  3. W sekcji Wersja w menu po lewej stronie kliknij Integralność aplikacji.
  4. Obok interfejsu Play Integrity API kliknij Ustawienia.
  5. W sekcji Odpowiedzi na stronie kliknij Zmień odpowiedzi.
  6. Włącz wycofanie urządzenia.
  7. Kliknij Zapisz zmiany.

Gdy włączysz lub wyłączysz wycofanie urządzenia, wszystkie odpowiedzi testów Play Integrity API skonfigurowane w Konsoli Play zostaną usunięte i będzie trzeba je utworzyć ponownie.

Odczyt wartości przywracania urządzenia

Przywracanie urządzenia działa zarówno w przypadku żądań klasycznych, jak i standardowych w interfejsie Play Integrity API. W przypadku standardowych żądań przypomnienie o zwrot urządzenia jest odświeżane w ramach rozmowy wstępnej. Inaczej mówiąc, po zmodyfikowaniu danych na urządzeniu musisz wykonać ponowne rozgrzewanie, aby zobaczyć zaktualizowaną wartość. Po włączeniu przywracania urządzenia możesz czytać wartości przywracania urządzenia w wynikach dotyczących integralności.

Modyfikowanie wartości przywracania urządzenia

Wartości przypomnienia urządzenia możesz zmodyfikować, wykonując wywołanie interfejsu API między serwerami w sposób podobny do dekodowania orzeczenia o integralności. Ustawienie bitu na true spowoduje również zaktualizowanie daty zapisu (nawet jeśli była już ona ustawiona na true). Ustawienie bitu na false spowoduje zresetowanie daty zapisu na pustą. Wszystkie bity, które nie są określone w żądaniu, pozostaną niezmienione. Pomiędzy zapisaniem bitów a możliwością odczytania ich w wyroku występuje niewielki opóźnienie propagacji. Może on wynosić nawet 30 sekund, ale zwykle jest znacznie krótszy. Żądania zapisu dotyczące przywracania urządzenia powinny być rzadsze niż żądania dotyczące tokenów integralności. Nie są one wliczane do limitu próśb o token integralności, ale podlegają niepublicznym ograniczeniom stawek.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'