Cihaz geri çağırma (beta) özelliğini kullanarak tekrarlanan kötüye kullanımları tespit etme

Bu sayfada, belirli cihazlarda özel verileri depolamak ve almak için cihaz hatırlatma özelliğinin nasıl kullanılacağı açıklanmaktadır. Uygulamanız aynı cihaza yüklendikten sonra, cihaz sıfırlandıktan sonra bile özel verileri daha sonra güvenilir bir şekilde tekrar hatırlayabilirsiniz. Bu sayede, kullanıcı gizliliğini korurken belirttiğiniz bir işlem veya davranışa göre cihazın yeniden kullanılmasını tespit edip engelleyebilirsiniz.

Cihaz geri çağırma özelliği nasıl çalışır?

Cihaz geri çağırma, uygulamalara belirli bir cihazla ilişkili özel verileri, kullanıcı gizliliğini koruyacak şekilde saklama ve geri çağırma olanağı tanır. Veriler, Google sunucularında saklandığı için uygulamanız yeniden yüklendikten veya cihaz sıfırlandıktan sonra bile uygulamanız, özel verilerinizi güvenli bir şekilde geri çağrılabilir. Örneğin, bu özelliği kullanarak ciddi kötüye kullanım kanıtı bulduğunuz cihazları, yüksek değerli öğeleri (ör. ücretsiz deneme) kullanmış olan cihazları veya kötüye kullanım amaçlı yeni hesaplar oluşturmak için tekrar tekrar kullanılan cihazları geri çağırabilirsiniz. İstekte bulunan uygulama, herhangi bir cihaz veya kullanıcı tanımlayıcısına erişmeden yalnızca cihazlarla ilişkilendirdiği sınırlı verileri geri çağırabildiğinden cihaz hatırlama özelliği kullanıcı gizliliğini korur. Cihaz hatırlama özelliğini etkinleştirdikten sonra şunları yapabilirsiniz:

  • Cihaz başına veri okuma: Bütünlük değerlendirmesi aldığınızda her cihaz için üç özel değer veya bit okuyabilirsiniz. Bu değerlere kendi anlamınızı verebilirsiniz. Örneğin, değerleri üç ayrı işaret olarak değerlendirebilir veya sekiz özel etiketi temsil edecek şekilde birleştirebilirsiniz.
  • Cihaz başına verileri değiştirme: Bütünlük jetonu aldıktan sonra, değerlerden birini veya daha fazlasını değiştirmek için bu jetonu kullanarak Google Play'in sunucusuna sunucu tarafı çağrısı yapabilirsiniz. Jetonu kullanmak için 14 gününüz vardır. Bu sayede, örneğin kötüye kullanım yalnızca ilk olarak bir bütünlük kontrolü gerçekleştirdikten sonraki iki haftalık dönemde belirginleşirse değeri değiştirmenize olanak tanır. Bir değeri değiştirdiğinizde, değişikliğin yapıldığı ay ve yıl da saklanır.

Cihaz hatırlatma ön koşulları ve dikkat edilmesi gereken hususlar

Cihaz geri çağırma özelliği yalnızca uygulama güvenliğini korumak ve kötüye kullanımı, sahtekarlığı ve yetkisiz erişimi azaltmak için bilgileri depolamak ve geri çağırmak amacıyla kullanılabilir. Cihaz geri çağırma özelliğini, tek tek kullanıcıların veya cihazların parmak izini almak ya da bunları izlemek için kullanamazsınız. Ayrıca, cihaz geri çağırma özelliğini, cinsiyet, yaş veya konum verileri gibi hassas kullanıcı ya da cihaz özelliklerini takip etmek için de kullanamazsınız.

Cihaz hatırlama özelliğinin aşağıdaki ön koşulları vardır:

  • Cihazı hatırlama özelliği; telefon, tablet, katlanabilir telefon, TV, Auto ve Wear OS'te kullanılabilir. Wear'da cihazı geri çağırma özelliği yalnızca Wear OS 5 veya sonraki sürümlerin yüklü olduğu cihazlarda kullanılabilir. Cihaz hatırlatma, emülatörlerde desteklenmez.
  • Cihaz geri çağırma özelliğinin kullanılabilmesi için cihazda hem Google Play Store'un hem de Google Play Hizmetleri'nin son sürümlerinin yüklü ve etkin olması gerekir.
  • Cihaz geri çağırma işlemi için kullanıcı hesabının Play lisanslı olması gerekir. Aksi takdirde karar değerlendirilmez.

Cihaz geri çağırma işlemiyle ilgili aşağıdaki zamanlama hususlarını göz önünde bulundurun:

  • Bir bütünlük jetonunu doğruladıktan sonra, özel cihaz geri çağırma verilerini depolamak için 14 gün içinde kullanabilirsiniz.
  • Cihaz geri çağırma, son zamanlarda değiştirilen verilere uzun zaman önce değiştirilen verilerden daha yüksek öncelik verebilmeniz için zaman damgalarını içerir. Cihazların el değiştirebileceğini veya yenilenip yeniden satılabileceğini göz önünde bulundurmak için yeterli bir süre geçtikten sonra verileri yok sayabilir ya da sıfırlayabilirsiniz.
  • Bir cihazın hatırlama bitleri, son okuma veya yazma erişiminden sonraki 3 yıl boyunca saklanır.
  • Bir cihazla ilişkili tüm verileri silmeniz gerekiyorsa uygulamanız bu cihazdaki üç değeri de false olarak sıfırlayabilir. Bu işlem, zaman damgalarını otomatik olarak sıfırlar.

Birden fazla uygulaması olan geliştiriciler ve uygulama aktaran geliştiriciler için cihaz geri çağırma özelliği aşağıdaki şekilde çalışır:

  • Google Play geliştirici hesabınızdaki tüm uygulamalar, cihaz başına aynı üç değere erişebilir. Başka bir deyişle, uygulamalarınızdan biri değerlerden birini değiştirirse aynı cihaza yüklendiklerinde tüm uygulamalarınız değiştirilen değeri okur.
  • Bir uygulama bir geliştirici hesabından diğerine aktarılırsa cihaz geri çağırma özelliği, eski geliştirici hesabının cihaz başına verilerini değil, yeni geliştirici hesabının cihaz başına verilerini yansıtır.

Cihaz hatırlama özelliğini etkinleştirme

Hazır olduğunuzda Play Console'da cihaz hatırlatma özelliğini etkinleştirin:

  1. Play Console'da oturum açın.
  2. Cihaz hatırlatma özelliğini kullanacak uygulamayı seçin.
  3. Soldaki menünün Sürüm bölümünde Uygulama bütünlüğü'ne gidin.
  4. Play Integrity API'nin yanındaki Ayarlar'ı tıklayın.
  5. Sayfanın Yanıtlar bölümünde Yanıtları değiştir'i tıklayın.
  6. Cihaz hatırlatma özelliğini etkinleştirin.
  7. Değişiklikleri kaydet'i tıklayın.

Cihaz geri çağırmayı etkinleştirdiğinizde veya devre dışı bıraktığınızda Play Console'da ayarladığınız tüm Play Integrity API test yanıtları silinir ve bunları yeniden oluşturmanız gerekir.

Cihaz geri çağırma değerlerini okuma

Cihaz geri çağırma özelliği hem Play Integrity API klasik hem de standart isteklerinde çalışır. Standart isteklerde, ısınma çağrısında cihaz geri çağırma yenilenir. Başka bir deyişle, cihaz başına verileri değiştirdikten sonra güncellenen değeri görmek için başka bir ısınma işlemi yapmanız gerekir. Cihaz geri çağırma etkinleştirildikten sonra bütünlük kararlarınızda cihaz geri çağırma değerlerini okuyabilirsiniz.

Cihaz geri çağırma değerlerini değiştirme

Cihaz geri çağırma değerlerini, bütünlük kararının kodunu çözmeye benzer şekilde sunucudan sunucuya API çağrısı yaparak değiştirebilirsiniz. Bir biti true olarak ayarlamak, yazma tarihini de günceller (zaten true olsa bile). Bir biti false olarak ayarlamak, yazma tarihini boş olarak sıfırlar. İsteklerde belirtilmeyen bitler değişmeden kalır. Bitlerin yazılması ve kararda tekrar okunabilmesi arasında kısa bir yayılma gecikmesi vardır. Bu gecikme genellikle çok daha kısa olsa da 30 saniyeye kadar sürebilir. Cihaz geri çağırma yazma istekleri, bütünlük jetonu isteklerinizden daha az sıklıkta olmalıdır. Bu istekler, bütünlük jetonu isteği kotanıza dahil edilmez ancak herkese açık olmayan, savunma amaçlı sıklık sınırlarına tabidir.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'
newValues.BitFirst = true // ForceSendFields optional for value true
newValues.BitSecond = false // ForceSendFields required for value false
newValues.BitThird = nil // do not set ForceSendFields for unspecified bits
newValues.ForceSendFields = []string{"BitSecond"}