Play Integrity API จะช่วยคุณตรวจสอบว่าการโต้ตอบและคําขอของเซิร์ฟเวอร์มาจากไบนารีของแอปจริงที่ทํางานในอุปกรณ์ Android ของแท้ การตรวจจับการโต้ตอบที่อาจมีความเสี่ยงและเป็นการฉ้อโกง เช่น จากเวอร์ชันแอปที่มีการดัดแปลงและสภาพแวดล้อมที่ไม่น่าเชื่อถือ จะช่วยให้เซิร์ฟเวอร์แบ็กเอนด์ของแอปสามารถตอบสนองด้วยการดำเนินการที่เหมาะสมเพื่อป้องกันการโจมตีและลดการละเมิดได้
เมื่อแอปหรือเกมของคุณมีการใช้งานในอุปกรณ์ Android ที่มี Google Play Store และขับเคลื่อนโดยบริการ Google Play แล้ว Play Integrity API จะแสดงการตอบกลับซึ่งจะช่วยให้คุณทราบว่าคุณกำลังโต้ตอบกับสิ่งต่อไปนี้หรือไม่
- ไบนารีของแอปจริง: ระบุว่าคุณกำลังโต้ตอบกับไบนารีที่ไม่มีการแก้ไขที่ Google Play รู้จักหรือไม่
- การติดตั้งของ Play จริง: ระบุว่าบัญชีผู้ใช้ปัจจุบันมีใบอนุญาตหรือไม่ ซึ่งหมายความว่าผู้ใช้ได้ติดตั้งหรือชำระเงินสำหรับแอปหรือเกมใน Google Play แล้ว
- อุปกรณ์ Android จริง: ระบุว่าแอปกำลังทำงานในอุปกรณ์ Android จริงโดยใช้บริการ Google Play (หรืออินสแตนซ์จริงของ Google Play Games สำหรับ PC) หรือไม่
นอกจากนี้ คุณยังเลือกรับข้อมูลเกี่ยวกับสภาพแวดล้อมในการตอบกลับของ Play Integrity API ได้ด้วย โดยทำดังนี้
- ความเสี่ยงในการเข้าถึงแอป: ตรวจสอบว่ามีแอปทำงานอยู่ซึ่งอาจใช้เพื่อจับภาพหน้าจอ แสดงซ้อนทับแอป หรือควบคุมอุปกรณ์หรือไม่
- ความเสี่ยงจากมัลแวร์ที่รู้จัก: ตรวจสอบว่า Google Play Protect เปิดอยู่หรือไม่ และพบแอปที่มีความเสี่ยงหรือเป็นอันตรายติดตั้งอยู่ในอุปกรณ์หรือไม่
ภาพรวม
เมื่อผู้ใช้ดำเนินการในแอป คุณสามารถเรียกใช้ Play Integrity API เพื่อตรวจสอบว่าการดำเนินการดังกล่าวเกิดขึ้นในไบนารีของแอปจริง ซึ่งติดตั้งโดย Google Play และทำงานในอุปกรณ์ Android ของแท้ นอกจากนี้ คุณยังเลือกรับข้อมูลเพิ่มเติมในการตอบกลับได้ด้วย ซึ่งรวมถึงปริมาณคำขอที่อุปกรณ์ส่งเมื่อเร็วๆ นี้ และสัญญาณเกี่ยวกับสภาพแวดล้อม ซึ่งรวมถึงผลการตัดสินความเสี่ยงในการเข้าถึงแอปและผลการตัดสินของ Play Protect หากผลการตรวจสอบไม่ถูกต้อง เซิร์ฟเวอร์แบ็กเอนด์ของแอปจะเลือกสิ่งที่ต้องทําเพื่อป้องกันปัญหาต่างๆ ได้ เช่น การละเมิดและการประพฤติมิชอบ การใช้ในทางที่ผิดและการโกง การเข้าถึงที่ไม่ได้รับอนุญาต และการโจมตี
ข้อควรพิจารณาด้านความปลอดภัย
Play Integrity API จะมีประโยชน์สูงสุดต่อแอปเมื่อคุณทําตามแนวทางปฏิบัติที่แนะนำต่อไปนี้
มีกลยุทธ์ป้องกันการละเมิด
Play Integrity API ทำงานได้ดีที่สุดเมื่อใช้ร่วมกับสัญญาณอื่นๆ ในฐานะส่วนหนึ่งของกลยุทธ์การต่อต้านการละเมิดโดยรวมของคุณ และไม่ได้เป็นกลไกต่อต้านการละเมิดเพียงอย่างเดียวของคุณ ใช้ API นี้ร่วมกับแนวทางปฏิบัติแนะนำด้านความปลอดภัยอื่นๆ ที่เหมาะสมสําหรับแอป โดยค่าเริ่มต้น แอปจะส่งคําขอได้สูงสุด 10,000 รายการต่อวันในการติดตั้งทั้งหมด คุณสามารถขอเพิ่มจำนวนสูงสุดต่อวันได้
รวบรวมข้อมูลการวัดผลและทำความเข้าใจผู้ชมก่อนที่จะดําเนินการ
ก่อนที่จะเปลี่ยนลักษณะการทำงานของแอปตามคำตัดสินของ Play Integrity API คุณสามารถทําความเข้าใจสถานการณ์ปัจจุบันกับผู้ชมที่มีอยู่ได้โดยใช้ API โดยไม่บังคับใช้ เมื่อทราบผลลัพธ์ของฐานการติดตั้งปัจจุบันแล้ว คุณจะประเมินผลกระทบของการบังคับใช้ที่วางแผนไว้และปรับกลยุทธ์ป้องกันการละเมิดให้เหมาะสมได้
เลือกวิธีขอผลการตัดสินความสมบูรณ์
Play Integrity API มี 2 ตัวเลือกในการขอและรับผลการตัดสินความสมบูรณ์ ไม่ว่าคุณจะส่งคําขอมาตรฐาน คําขอแบบคลาสสิก หรือทั้ง 2 อย่าง ระบบจะแสดงผลการตัดสินความสมบูรณ์ในรูปแบบเดียวกัน
คำขอ API มาตรฐานเหมาะสำหรับแอปหรือเกมทุกประเภท และสามารถส่งคำขอได้เมื่อต้องการเพื่อตรวจสอบว่าการดําเนินการของผู้ใช้หรือคําขอของเซิร์ฟเวอร์นั้นถูกต้อง คำขอมาตรฐานจะใช้เวลาในการตอบสนองต่ำที่สุด (โดยเฉลี่ย 2-3 ร้อยมิลลิวินาที) และมีความน่าเชื่อถือสูงในการรับผลการตัดสินที่ใช้งานได้ คำขอมาตรฐานใช้ประโยชน์จากการแคชในอุปกรณ์อย่างชาญฉลาดขณะมอบสิทธิ์ให้ Google Play ปกป้องการโจมตีบางประเภท
คำขอ API แบบคลาสสิก ซึ่งเป็นวิธีเดิมในการขอผลการตัดสินความสมบูรณ์จะยังคงใช้งานได้ต่อไป คำขอแบบคลาสสิกจะมีความล่าช้าสูงกว่า (โดยเฉลี่ย 2-3 วินาที) และคุณมีหน้าที่รับผิดชอบในการลดความเสี่ยงของการโจมตีบางประเภท คำขอแบบคลาสสิกจะใช้ข้อมูลและแบตเตอรี่ของผู้ใช้มากกว่าคำขอแบบมาตรฐาน เนื่องจากคำขอแบบคลาสสิกจะเริ่มต้นการประเมินใหม่ จึงควรใช้ไม่บ่อยครั้งแบบครั้งเดียวเพื่อตรวจสอบว่าการดำเนินการที่มีความละเอียดอ่อนหรือมีคุณค่าสูงนั้นเกิดขึ้นจริงหรือไม่ หากคุณกำลังพิจารณาที่จะส่งคำขอแบบคลาสสิกและแคชไว้เพื่อใช้ภายหลัง คุณควรส่งคำขอมาตรฐานแทนเพื่อลดความเสี่ยงจากการโจมตี
ตารางต่อไปนี้จะไฮไลต์ความแตกต่างที่สําคัญระหว่างคําขอทั้ง 2 ประเภท
คําขอ API มาตรฐาน | คําขอ API แบบคลาสสิก | |
---|---|---|
เวอร์ชัน Android SDK ขั้นต่ำที่ต้องการ | Android 5.0 (API ระดับ 21) ขึ้นไป | Android 4.4 (API ระดับ 19) ขึ้นไป |
ต้องอุ่นเครื่อง API | ✔️ (2-3 วินาที) | ❌ |
เวลาในการตอบสนองของคำขอตามปกติ | 2-3 ร้อยมิลลิวินาที | 2-3 วินาที |
ความถี่ของคำขอที่เป็นไปได้ | บ่อย (ตรวจสอบการดำเนินการหรือคำขอตามคําขอ) | ไม่บ่อย (การตรวจสอบแบบครั้งเดียวสําหรับการดําเนินการที่มีมูลค่าสูงสุดหรือคําขอที่มีความละเอียดอ่อนที่สุด) |
ป้องกันการโจมตีแบบเล่นซ้ำและที่คล้ายกัน | การลดความเสี่ยงโดยอัตโนมัติของ Google Play | ใช้ฟิลด์ nonce กับตรรกะฝั่งเซิร์ฟเวอร์ |
คุณดูตารางที่มีความแตกต่างเพิ่มเติมได้ในข้อควรพิจารณาเกี่ยวกับคำขอแบบคลาสสิก
ขอการตัดสินความสมบูรณ์ในเวลาที่เหมาะสม
คุณควรขอคำตัดสินความเสี่ยงการเข้าถึงแอปให้ใกล้เคียงกับเวลาที่ดำเนินการหรือคำขอเซิร์ฟเวอร์ที่ต้องการป้องกันไม่ให้เข้าถึงมากที่สุด เพื่อไม่ให้ผู้หลอกลวงหลีกเลี่ยงการตรวจสอบความสมบูรณ์ที่แอปของคุณดำเนินการ
ทําให้เลียนแบบคําขอ API ได้ยาก
คำขอ API มาตรฐานจะมีช่องชื่อ requestHash
ซึ่งใช้เพื่อป้องกันการแทรกแซงและการโจมตีที่คล้ายกัน ในช่องนี้ คุณควรใส่ข้อมูลสรุปของค่าที่เกี่ยวข้องทั้งหมดจากคําขอของแอป ทำตามคำแนะนำเกี่ยวกับวิธีใช้การเชื่อมโยงเนื้อหาเพื่อปกป้องคำขอมาตรฐานของแอป
คำขอ API แบบคลาสสิกจะมีช่องชื่อ nonce
(ย่อมาจาก "หมายเลขครั้งเดียว") ซึ่งใช้เพื่อป้องกันการโจมตีบางประเภท เช่น การโจมตีแบบเล่นซ้ำและการโจมตีด้วยการแทรกแซง ทำตามคำแนะนำเกี่ยวกับวิธีสร้าง Nonce เพื่อปกป้องคำขอแบบคลาสสิกของแอป
หลีกเลี่ยงการแคชผลการตัดสินความสมบูรณ์
การแคชผลการตัดสินความสมบูรณ์จะเพิ่มความเสี่ยงของการใช้พร็อกซี ซึ่งเป็นการโจมตีที่ผู้ไม่ประสงค์ดีนำผลการตัดสินจากอุปกรณ์ที่ถูกต้องมาใช้ซ้ำเพื่อวัตถุประสงค์ในการละเมิดในสภาพแวดล้อมอื่น คุณสามารถส่งคําขอ API มาตรฐานเพื่อรับผลการตัดสินตามคําขอแทนการแคชคําตอบ
มีกลยุทธ์การบังคับใช้แบบเป็นขั้น
การตัดสินความสมบูรณ์ของ Play Integrity API มีคำตอบที่เป็นไปได้หลากหลายรูปแบบ ทำให้สามารถสร้างกลยุทธ์การต่อต้านการละเมิดที่มีการบังคับใช้หลายระดับได้ ซึ่งทำได้โดยการกำหนดค่าเซิร์ฟเวอร์แบ็กเอนด์ของแอปให้ทํางานแตกต่างกันไป โดยขึ้นอยู่กับการตอบกลับหรือกลุ่มการตอบกลับที่เป็นไปได้แต่ละรายการ
นอกจากนี้ คุณยังจัดระดับกลยุทธ์การบังคับใช้ตามความน่าเชื่อถือของอุปกรณ์ได้ด้วย โดยเลือกรับป้ายกำกับอุปกรณ์เพิ่มเติมในการตอบกลับ API จาก Play Console อุปกรณ์แต่ละเครื่องจะแสดงป้ายกำกับทั้งหมดที่ตรงกับเกณฑ์ เช่น หลังจากเลือกใช้ป้ายกำกับอุปกรณ์ทั้งหมดแล้ว คุณอาจเลือกเชื่อถืออุปกรณ์ที่แสดงผล MEETS_STRONG_INTEGRITY
, MEETS_DEVICE_INTEGRITY
และ MEETS_BASIC_INTEGRITY
มากกว่าอุปกรณ์ที่แสดงผลเฉพาะ MEETS_BASIC_INTEGRITY
คุณสามารถตอบกลับแตกต่างจากเซิร์ฟเวอร์ในแต่ละสถานการณ์
ส่งการตอบกลับที่หลากหลายจากเซิร์ฟเวอร์ไปยังแอป
การจำลองผลลัพธ์ของการตัดสินใจที่หลากหลายนั้นทำได้ยากกว่าการส่งการตอบกลับแบบไบนารี "อนุญาต/ปฏิเสธ" จากเซิร์ฟเวอร์กลับไปที่แอปสําหรับการตอบกลับแต่ละรายการ เช่น คุณอาจใช้ชุดการตอบกลับที่เกี่ยวข้อง เช่น อนุญาต อนุญาตแบบจำกัด อนุญาตแบบจำกัดหลังจากทำ CAPTCHA ให้เสร็จสมบูรณ์ และปฏิเสธ
ตรวจหาการละเมิดในวงกว้างโดยใช้กิจกรรมล่าสุดในอุปกรณ์
ใช้ฟีเจอร์กิจกรรมล่าสุดในอุปกรณ์ใน Play Integrity API เพื่อค้นหาอุปกรณ์ที่ขอโทเค็นความสมบูรณ์จํานวนมาก ผู้ละเมิดที่ทํากิจกรรมในปริมาณมากมักสร้างผลการรับรองที่ถูกต้องจากอุปกรณ์จริงและส่งให้บ็อตเพื่อทำการโจมตีอุปกรณ์ที่รูทและโปรแกรมจำลองโดยอัตโนมัติ คุณสามารถใช้ระดับกิจกรรมล่าสุดในอุปกรณ์เพื่อตรวจสอบจำนวนการรับรองที่แอปของคุณสร้างขึ้นในอุปกรณ์นั้นในชั่วโมงที่ผ่านมา
แสดงข้อความแสดงข้อผิดพลาดที่นําไปใช้ดำเนินการได้
เมื่อเป็นไปได้ ให้แสดงข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์แก่ผู้ใช้ พร้อมทั้งแจ้งให้ทราบว่าต้องทำอย่างไรเพื่อแก้ปัญหา เช่น ให้ลองอีกครั้ง เปิดใช้การเชื่อมต่ออินเทอร์เน็ต หรือตรวจสอบว่าแอป Play Store เป็นเวอร์ชันล่าสุด
มีแผนรับมือปัญหาหรือระบบหยุดทำงานโดยไม่คาดคิด
แดชบอร์ดสถานะของ Play จะแสดงข้อมูลเกี่ยวกับสถานะบริการของ Play Integrity API รวมถึงข้อมูลเกี่ยวกับการหยุดชะงักและการหยุดทำงาน คุณควรวางแผนล่วงหน้าว่าคุณต้องการให้เซิร์ฟเวอร์แบ็กเอนด์ทำงานอย่างไรในกรณีที่ Play Integrity API หยุดทำงานในวงกว้าง ซึ่งมีโอกาสเกิดขึ้นน้อย โปรดทราบว่าเซิร์ฟเวอร์แบ็กเอนด์ของคุณควรพร้อมทำงานในกรณีที่มีการเพิกถอนคีย์การรับรองคีย์แพลตฟอร์ม Android สำหรับอุปกรณ์โดยเฉพาะ
ลองใช้โซลูชันการประพฤติมิชอบขององค์กรแบบครบวงจร
ลูกค้าองค์กรที่มองหาโซลูชันการจัดการบ็อตและการประพฤติมิชอบที่สมบูรณ์สามารถซื้อ reCAPTCHA Enterprise สำหรับอุปกรณ์เคลื่อนที่ ซึ่งประกอบด้วย SDK สำหรับ Android ที่ระบุคะแนนความเสี่ยงการประพฤติมิชอบให้แก่นักพัฒนาแอป reCAPTCHA Enterprise จะรวมสัญญาณ Play Integrity API โดยอัตโนมัติ และรวมสัญญาณดังกล่าวเข้ากับเครือข่าย reCAPTCHA และสัญญาณแอปพลิเคชันของลูกค้า เพื่อมอบโซลูชันการจัดการการประพฤติมิชอบที่ทำงานได้อย่างราบรื่นและมองไม่เห็น นอกจากนี้ยังสามารถปกป้องแอป Android ที่ไม่มี Play Integrity API ได้ด้วย
ตรวจสอบการเข้าชมที่มีความเสี่ยงเมื่อเข้าถึงฟีเจอร์ที่มีมูลค่าสูงหรือมีความละเอียดอ่อน
ระบุการดำเนินการที่มีมูลค่าสูงหรือมีความละเอียดอ่อนในแอปหรือเกมเพื่อปกป้องด้วย Play Integrity API แทนการปฏิเสธการเข้าถึงโดยสิ้นเชิง เมื่อเป็นไปได้ ให้ตรวจสอบการเข้าชมที่มีความเสี่ยงก่อนที่จะอนุญาตให้ดำเนินการที่มีมูลค่าสูง ตัวอย่างเช่น เมื่อความเสี่ยงในการเข้าถึงแอประบุว่ามีแอปที่ทำงานอยู่ซึ่งอาจจับภาพหน้าจอได้ ให้ขอให้ผู้ใช้ปิดใช้หรือถอนการติดตั้งแอปที่อาจจับภาพหน้าจอได้ก่อนที่จะอนุญาตให้ดำเนินการต่อกับฟังก์ชันการทำงานที่คุณต้องการปกป้อง
ข้อกำหนดในการให้บริการและความปลอดภัยของข้อมูล
การเข้าถึงหรือใช้ Play Integrity API หมายความว่าคุณยอมรับข้อกำหนดในการให้บริการของ Play Integrity API โปรดอ่านและทำความเข้าใจข้อกำหนดและนโยบายที่เกี่ยวข้องทั้งหมดก่อนเข้าถึง API
Google Play มีส่วนความปลอดภัยของข้อมูลสำหรับนักพัฒนาแอปในการเปิดเผยแนวทางปฏิบัติด้านการเก็บรวบรวม การแชร์ และการรักษาความปลอดภัยของข้อมูลของแอปเพื่อให้ผู้ใช้ทราบข้อมูลอยู่เสมอ โปรดดูข้อมูลเกี่ยวกับวิธีที่ Play Integrity API จัดการข้อมูลเพื่อช่วยคุณกรอกแบบฟอร์มข้อมูล