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

Bu sayfada, belirli cihazlarla özel verileri saklamak ve almak için cihaz hatırlama ö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 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 önleyebilirsiniz.

Cihaz hatırlama özelliği nasıl çalışır?

Cihaz hatırlama, 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, 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ğırmak için kullanabilirsiniz. Cihaz hatırlama, kullanıcı gizliliğini korur. Çünkü istekte bulunan uygulama, cihaz veya kullanıcı tanımlayıcılarına erişmeden yalnızca cihazlarla ilişkilendirdiği sınırlı verileri geri çağırabilir. Cihaz hatırlamayı etkinleştirdikten sonra şunları yapabilirsiniz:

  • Cihaz başına verileri okuma: Bütünlük kararı 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 bu jetonu kullanarak Google Play'in sunucusuna sunucu tarafı çağrısı yapabilir ve değerlerden birini veya daha fazlasını değiştirebilirsiniz. Jetonu kullanmak için 14 gününüz vardır. Bu sayede, örneğin kötüye kullanım ilk olarak bütünlük kontrolü gerçekleştirdikten sonraki iki haftalık dönemde ortaya çıkarsa 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ırlama ön koşulları ve dikkat edilmesi gereken hususlar

Cihaz hatırlama ö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 hatırlama ö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 hatırlama özelliğini, hassas kullanıcı veya cihaz özelliklerini (ör. cinsiyet, yaş ya da konum verileri) takip etmek için de kullanamazsınız.

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

  • Cihazı hatırlama; telefon, tablet, katlanabilir cihaz, TV, Auto ve Wear OS'te kullanılabilir. Wear'da cihaz hatırlama ö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 hatırlama özelliğinin kullanılabilmesi için cihazda hem Google Play Store hem de Google Play Hizmetleri'nin son sürümlerinin yüklü ve etkin olması gerekir.
  • Cihaz hatırlama işlemi için kullanıcı hesabının Play lisanslı olması gerekir. Aksi takdirde karar değerlendirilmez.

Cihaz hatırlama özelliğinin zamanlamasıyla ilgili aşağıdaki noktaları göz önünde bulundurun:

  • Bir bütünlük jetonunu doğruladıktan sonra, özel cihaz hatırlama verilerini depolamak için 14 gün içinde kullanabilirsiniz.
  • Cihaz hatırlama, zaman damgalarını içerir. Böylece, kısa süre önce değiştirilen verilere, uzun zaman önce değiştirilen verilerden daha yüksek öncelik verebilirsiniz. Cihazların el değiştirebileceğini veya yenilenip yeniden satılabileceğini göz önünde bulundurarak 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 ve uygulama aktaran geliştiriciler için cihaz geri çağırma işlemi şu ş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ırlamayı 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ırlama özelliğini kullanacak uygulamayı seçin.
  3. Soldaki menüden Google Play ile korunanlar'a gidin.
  4. Play Integrity API'nin yanındaki Yönet'i tıklayın.
  5. Sayfanın Yanıtlar bölümünde Yanıtları değiştir'i tıklayın.
  6. Cihaz hatırlama özelliğini etkinleştirin.
  7. Değişiklikleri kaydet'i tıklayın.

Cihaz hatırlama özelliğini 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 hatırlama değerlerini okuma

Cihaz hatırlama, hem Play Integrity API klasik hem de standart isteklerinde çalışır. Standart isteklerde cihaz hatırlama, hazırlık çağrısında yenilenir. Diğer bir deyişle, cihaz bazında verileri değiştirdikten sonra güncellenen değeri görmek için başka bir hazırlık yapmanız gerekir. Cihaz hatırlama etkinleştirildikten sonra, bütünlük değerlendirmelerinizde cihaz hatırlama değerlerini okuyabilirsiniz.

Cihaz hatırlama değerlerini değiştirme

Cihaz hatırlama değerlerini, bütünlük değerlendirmesinin 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 isteklerinden daha az sıklıkta olmalıdır. Bu istekler, bütünlük jetonu istek kotanıza dahil edilmez ancak ayrı 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"}