نظرة عامة حول Play Integrity API

تساعدك واجهة برمجة التطبيقات Play Integrity API في التحقّق من أنّ مصدر التفاعلات وطلبات الخادم هو البرنامج الثنائي الحقيقي لتطبيقك الذي يتم تشغيله على جهاز Android حقيقي. ومن خلال رصد التفاعلات التي يُحتمل أن تكون خطيرة أو احتيالية، مثل تلك الواردة من إصدارات التطبيق التي تم التلاعب بها والبيئات غير الموثوقة، يمكن لخادم الخلفية لتطبيقك الاستجابة من خلال اتّخاذ الإجراءات المناسبة لمنع الهجمات والحدّ من إساءة الاستخدام.

عند استخدام تطبيقك أو لعبتك على جهاز Android يتضمّنان "متجر Google Play" ويتم دعمهما من خلال "خدمات Google Play"، توفّر واجهة برمجة التطبيقات Play Integrity API ردًّا يساعدك في تحديد ما إذا كنت تتفاعل مع التطبيقات التالية:

  • البرنامج الثنائي الأصلي للتطبيق: يمكنك تحديد ما إذا كنت تتفاعل مع برنامجك الثنائي غير المعدّل الذي يتعرّف عليه Google Play.
  • عملية تثبيت حقيقية من Play: يمكنك تحديد ما إذا كان حساب المستخدم الحالي مرخَّصًا، أي أنّ المستخدم ثبَّت تطبيقك أو لعبتك أو دفع رسومهما على Google Play.
  • جهاز Android حقيقي: يمكنك تحديد ما إذا كان تطبيقك يعمل على جهاز Android حقيقي متوافق مع "خدمات Google Play" (أو على نسخة افتراضية من برنامج "ألعاب Google Play على الكمبيوتر").
  • خالية من البرامج الضارة المعروفة: يمكنك تحديد ما إذا كانت خدمة "Google Play للحماية" قد تم تفعيلها وما إذا كانت قد اكتشفت تطبيقات خطيرة أو خطرة تم تثبيتها على الجهاز.

نظرة عامة

عندما ينفِّذ مستخدم إجراءً في تطبيقك، يمكنك الاتصال بواجهة برمجة التطبيقات Play Integrity API للتأكّد من تنفيذ الإجراء في البرنامج الثنائي الحقيقي لتطبيقك، والذي تم تثبيته من خلال Google Play، ويتم تشغيله على جهاز Android حقيقي. يمكنك أيضًا تفعيل إشارات حول البيئة، مثلاً ما إذا تم تفعيل "Google Play للحماية" ورصدت برامج ضارة معروفة تم تثبيتها على الجهاز. وإذا كانت أيّ أخطاء في الأحكام، يمكن لخادم الخلفية لتطبيقك أن يقرّر ما يجب فعله لحماية التطبيق من مشاكل مثل إساءة الاستخدام والاحتيال وإساءة الاستخدام والغش والوصول غير المصرّح به والهجمات.

مسار النظرة العامة في Play Integrity API

اعتبارات الأمان

تقدّم واجهة برمجة التطبيقات Play Integrity API أكبر قيمة ممكنة لتطبيقك عند اتّباع الممارسات التالية:

اعتماد استراتيجية مكافحة إساءة الاستخدام

تعمل واجهة برمجة التطبيقات Play Integrity API على أفضل نحو عند استخدامها مع إشارات أخرى كجزء من استراتيجيتك العامة لمكافحة إساءة الاستخدام وليس كآلية الوحيدة لمكافحة إساءة الاستخدام. استخدِم واجهة برمجة التطبيقات هذه إلى جانب أفضل ممارسات الأمان الأخرى المناسبة لتطبيقك. وبشكلٍ تلقائي، يمكن أن يقدّم تطبيقك ما يصل إلى 10,000 طلب إجمالاً في اليوم على مستوى جميع عمليات التثبيت. يمكنك طلب زيادة الحد الأقصى اليومي.

تحديد كيفية طلب بيانات السلامة

توفّر واجهة برمجة التطبيقات Play Integrity API خيارَين لطلب بيانات السلامة وتلقّيها. وسواء أرسلت طلبات عادية أو طلبات كلاسيكية أو مزيج من كلا النوعين من الطلبات، سيتم عرض استجابة بيان السلامة بالتنسيق نفسه.

إنّ الطلبات العادية من واجهة برمجة التطبيقات مناسبة لأي تطبيق أو لعبة ويمكن تقديمها عند الطلب للتأكّد من أنّ أي إجراء للمستخدم أو طلب من الخادم صحيح. تتسم الطلبات العادية بأقل وقت استجابة (بضع مئات من المللي ثانية في المتوسط) وموثوقية عالية للحصول على بيان قابل للاستخدام. وتستخدم الطلبات العادية التخزين المؤقت الذكي على الجهاز مع تفويض الحماية ضد أنواع معيّنة من الهجمات على Google Play.

تبقى طلبات البيانات من واجهة برمجة التطبيقات الكلاسيكية متاحة، وهي الطريقة الأصلية لطلب بيانات السلامة. تكون الطلبات الكلاسيكية ذات وقت استجابة أعلى (بضع ثوانٍ في المتوسط) وتكون أنت المسؤول عن الحدّ من مخاطر حدوث أنواع معيّنة من الهجمات. تستخدم الطلبات الكلاسيكية المزيد من بيانات المستخدم وطاقة البطارية أكثر من الطلبات القياسية لأنها تبدأ تقييمًا جديدًا، وبالتالي يجب إجراؤها نادرًا كمرة واحدة للتحقق مما إذا كان الإجراء الحساس أو القيّم للغاية حقيقيًا. إذا كنت تفكر في تقديم طلب كلاسيكي وتخزينه مؤقتًا لاستخدامه لاحقًا، عليك تقديم طلب عادي بدلاً من ذلك للحد من مخاطر الهجمات.

يسلط الجدول التالي الضوء على بعض الاختلافات الرئيسية بين نوعي الطلبات:

طلب بيانات عادي من واجهة برمجة التطبيقات طلب واجهة برمجة التطبيقات الكلاسيكية
يجب توفير الحد الأدنى من إصدار حزمة تطوير البرامج (SDK) لنظام التشغيل Android. الإصدار 5.0 من Android (المستوى 21 من واجهة برمجة التطبيقات) أو إصدار أحدث Android 4.4 (المستوى 19 لواجهة برمجة التطبيقات) أو إصدار أحدث
مطلوب إعادة تشغيل واجهة برمجة التطبيقات ✔️ (بضع ثوانٍ)
وقت الاستجابة المعتاد للطلب بضع مئات من المللي ثانية بضع ثوانٍ
معدل تكرار الطلب المحتمل متكرر (فحص عند الطلب لأي إجراء أو طلب) نادرة (التحقق لمرة واحدة من الإجراءات ذات القيمة الأعلى أو الطلبات الأكثر حساسية)
الحدّ من إعادة التشغيل والهجمات المشابهة تخفيف الأثر تلقائيًا بواسطة Google Play استخدام الحقل nonce مع منطق من جهة الخادم

يمكنك الاطّلاع على جدول يحتوي على المزيد من الاختلافات في اعتبارات الطلبات الكلاسيكية.

تصعيب نسخ طلبات البيانات من واجهة برمجة التطبيقات

تتضمّن الطلبات العادية من واجهة برمجة التطبيقات حقلاً يُسمى requestHash يُستخدم للحماية من التلاعب والهجمات المشابهة. في هذا الحقل، يجب عليك تضمين ملخص لجميع القيم ذات الصلة من طلب تطبيقك. اتّبِع الإرشادات حول كيفية استخدام ربط المحتوى لحماية طلبات تطبيقك العادية.

تتضمّن طلبات البيانات من واجهة برمجة التطبيقات الكلاسيكية حقلاً يُعرَف باسم nonce (اختصار الرقم مرة واحدة) ويُستخدم للحماية من أنواع معيّنة من الهجمات، مثل الهجمات الخاصة بإعادة التشغيل والتلاعب. اتّبِع الإرشادات حول كيفية إنشاء رموز غير معروفة لحماية طلبات تطبيقك الكلاسيكي.

تجنُّب بيانات السلامة في التخزين المؤقت

تزيد بيانات سلامة التخزين المؤقت من خطر إنشاء وكيل، وهو هجوم تعيد فيه جهة مسيئة استخدام بيان سلامة من جهاز جيد لأغراض مسيئة في بيئة أخرى. وبدلاً من تخزين الردود مؤقتًا، يمكنك تقديم طلب عادي من واجهة برمجة التطبيقات للحصول على بيان عند الطلب.

وضع استراتيجية تنفيذ متدرجة

يتضمّن بيان السلامة في واجهة برمجة التطبيقات Play Integrity API مجموعة من الردود المحتملة التي تتيح إنشاء استراتيجية لمكافحة إساءة الاستخدام استنادًا إلى مستويات تنفيذ متعدّدة. يمكنك إجراء ذلك من خلال ضبط خادم الخلفية في تطبيقك لكي يتصرف بشكل مختلف بناءً على كل استجابة أو مجموعة محتملة من الردود.

من الممكن أيضًا تصنيف استراتيجيتك الخاصة بإجراءات التنفيذ استنادًا إلى مدى موثوقية الجهاز من خلال تفعيل خيار تلقّي تصنيفات إضافية للأجهزة في ردّ واجهة برمجة التطبيقات من Play Console. سيعرض كل جهاز جميع التسميات التي تفي بها معاييرها. على سبيل المثال، بعد الموافقة على تلقّي جميع تصنيفات الأجهزة، يمكنك اختيار أن تثق في جهاز يعرض MEETS_STRONG_INTEGRITY وMEETS_DEVICE_INTEGRITY وMEETS_BASIC_INTEGRITY أكثر من الأجهزة التي تعرض MEETS_BASIC_INTEGRITY فقط. يمكنك الاستجابة بشكل مختلف عن الخادم في كل سيناريو.

إرسال مجموعة من الردود من خادمك إلى تطبيقك

يصعب تكرار الحصول على مجموعة من نتائج القرار أكثر من إرسال استجابة "السماح/الرفض" الثنائية من الخادم مرة أخرى إلى التطبيق لكل استجابة. على سبيل المثال، يمكنك استخدام سلسلة من الردود ذات الصلة، مثل "السماح" و"السماح مع تحديد حدود" و"السماح بحدود" بعد اكتمال اختبار CAPTCHA و"رفض".

رصد إساءة استخدام على نطاق واسع

يمكنك استخدام ميزة الأنشطة الحديثة على الجهاز في واجهة برمجة التطبيقات Play Integrity API للعثور على الأجهزة التي تطلب أعدادًا كبيرة من الشهادات. فعادةً ما تنشئ الجهات المسيئة للحركة التي تتضمّن أعدادًا كبيرة من الأنشطة نتائج مصادقة صالحة من أجهزة حقيقية وتزوّد برامج التتبّع الآلي بها لإجراء هجمات آلية على الأجهزة الجذر والمحاكية. يمكنك استخدام نتيجة النشاط الأخير للجهاز لتحديد عدد الشهادات التي أنشأها تطبيقك على الجهاز في الساعة الأخيرة.

عرض رسائل خطأ قابلة للتنفيذ

إذا أمكن، قدِّم رسائل خطأ مفيدة للمستخدم وأخبره بما يمكنه فعله لإصلاحها، مثل إعادة المحاولة أو تفعيل اتصال الإنترنت أو التأكّد من أنّ تطبيق "متجر Play" محدَّث.

وضع خطة للمشاكل أو حالات انقطاع الخدمة غير المتوقّعة

تعرض لوحة البيانات الخاصة بحالة Play معلومات حول حالة خدمة Play Integrity API، بالإضافة إلى معلومات حول أي انقطاعات أو انقطاعات في الخدمة. يمكنك مسبقًا ضبط الطريقة التي تريد أن يعمل بها خادم الخلفية في حال حدوث انقطاع واسع النطاق في واجهة برمجة التطبيقات Play Integrity API.

التفكير في حلول شاملة للاحتيال على مستوى المؤسسات

يمكن لعملاء المؤسسات الذين يبحثون عن حل كامل لإدارة الاحتيال وبرامج التتبُّع شراء برنامج reCAPTCHA Enterprise للأجهزة الجوّالة، يتضمّن حِزم تطوير برامج (SDK) لنظام التشغيل Android لتوفير نتائج مخاطر الاحتيال للمطوّرين. توفّر خدمة reCAPTCHA Enterprise تلقائيًا إشارات واجهة برمجة التطبيقات Play Integrity API، وتدمجها مع شبكة reCAPTCHA وإشارات التطبيق للعملاء، ما يوفّر للعملاء حلاً سلسًا وغير مرئي لإدارة الاحتيال. ويمكنها أيضًا توفير الحماية لتطبيقات Android التي لا تتوفّر فيها واجهة برمجة التطبيقات Play Integrity API.

بنود الخدمة وأمان البيانات

يشير الوصول إلى واجهة برمجة التطبيقات Play Integrity API أو استخدامها إلى موافقتك على بنود خدمة Play Integrity API. يُرجى قراءة وفهم جميع البنود والسياسات السارية قبل الدخول إلى واجهة برمجة التطبيقات.

يتضمَّن Google Play قسم "أمان البيانات" للمطوّرين لكي يفصحوا عن ممارسات جمع البيانات ومشاركتها والحفاظ على أمانها في تطبيقاتهم لإبقاء المستخدمين على اطّلاع دائم على آخر الأخبار. لمساعدتك في إكمال نموذج البيانات، يُرجى الاطّلاع على هذه المعلومات حول طريقة معالجة واجهة برمجة التطبيقات Play Integrity API للبيانات.