ภาพรวมของ Play Integrity API

Play Integrity API จะช่วยคุณตรวจสอบว่าการโต้ตอบและคําขอของเซิร์ฟเวอร์มาจากไบนารีของแอปจริงที่ทํางานในอุปกรณ์ Android ของแท้ การตรวจจับการโต้ตอบที่อาจมีความเสี่ยงและเป็นการฉ้อโกง เช่น จากเวอร์ชันแอปที่มีการดัดแปลงและสภาพแวดล้อมที่ไม่น่าเชื่อถือ จะช่วยให้เซิร์ฟเวอร์แบ็กเอนด์ของแอปสามารถตอบสนองด้วยการดำเนินการที่เหมาะสมเพื่อป้องกันการโจมตีและลดการละเมิดได้ นอกจากนี้ Play Integrity API ยังมีฟีเจอร์เสริมเพื่อช่วยคุณตรวจหาและตอบสนองต่อภัยคุกคามอื่นๆ เช่น มัลแวร์ที่รู้จัก การจับภาพหน้าจอและการวางซ้อนที่ไม่รู้จัก แอปที่ละเมิดสิทธิ์การช่วยเหลือพิเศษ การทำงานที่มากเกินไป และการละเมิดซ้ำๆ ที่มาจากอุปกรณ์เครื่องเดียวกัน

เมื่อแอปหรือเกมของคุณมีการใช้งานในอุปกรณ์ Android ที่ผ่านการรับรองของ Play Protect Play Integrity API จะแสดงการตอบกลับที่ช่วยคุณพิจารณาว่าคุณกำลังโต้ตอบกับสิ่งต่อไปนี้หรือไม่

  • ไบนารีของแอปจริง: ระบุว่าคุณกำลังโต้ตอบกับไบนารีที่ไม่มีการแก้ไขที่ Google Play รู้จักหรือไม่
  • การติดตั้งของ Play จริง: ระบุว่าบัญชีผู้ใช้ปัจจุบันมีใบอนุญาตหรือไม่ ซึ่งหมายความว่าผู้ใช้ได้ติดตั้งหรือชำระเงินสำหรับแอปหรือเกมใน Google Play แล้ว
  • อุปกรณ์ Android จริง: ระบุว่าแอปกำลังทำงานในอุปกรณ์ Android จริงที่ผ่านการรับรองจาก Play Protect (หรืออินสแตนซ์จริงของ Google Play Games สำหรับ PC) หรือไม่

คุณเลือกรับข้อมูลเกี่ยวกับสภาพแวดล้อมในการตอบกลับของ Play Integrity API ได้ ซึ่งรวมถึงข้อมูลต่อไปนี้

  • ความเสี่ยงในการเข้าถึงแอป: ตรวจสอบว่ามีแอปทำงานอยู่ซึ่งอาจใช้เพื่อจับภาพหน้าจอ แสดงซ้อนทับแอป หรือควบคุมอุปกรณ์หรือไม่ (เช่น การใช้สิทธิ์การช่วยเหลือพิเศษในทางที่ผิด)
  • ความเสี่ยงจากมัลแวร์ที่รู้จัก: ตรวจสอบว่า Google Play Protect เปิดอยู่หรือไม่ และพบแอปที่มีความเสี่ยงหรือเป็นอันตรายติดตั้งอยู่ในอุปกรณ์หรือไม่

นอกจากนี้ คุณยังเลือกเปิดใช้ฟีเจอร์ที่ช่วยตรวจหากิจกรรมที่ผิดปกติและการละเมิดซ้ำได้อีกด้วย

  • กิจกรรมล่าสุดในอุปกรณ์: ระบุว่าอุปกรณ์มีคำขอจำนวนมากผิดปกติเมื่อเร็วๆ นี้หรือไม่ ซึ่งอาจเป็นตัวบ่งชี้การเข้าชมอัตโนมัติและอาจเป็นสัญญาณของการโจมตี
  • การเรียกคืนอุปกรณ์ (เบต้า): ระบุว่าคุณกำลังโต้ตอบกับอุปกรณ์ที่เคยโต้ตอบด้วยก่อนหน้านี้หรือไม่ แม้ว่าจะมีการติดตั้งแอปอีกครั้งหรือรีเซ็ตอุปกรณ์แล้วก็ตาม

ภาพรวม

เมื่อผู้ใช้ดำเนินการในแอป คุณสามารถเรียกใช้ Play Integrity API เพื่อตรวจสอบว่าการดำเนินการดังกล่าวเกิดขึ้นในไบนารีของแอปจริง ซึ่งติดตั้งโดย Google Play และทำงานในอุปกรณ์ Android ของแท้ นอกจากนี้ คุณยังเลือกรับข้อมูลเพิ่มเติมในการตอบกลับได้ด้วย ซึ่งรวมถึงปริมาณคำขอที่อุปกรณ์ส่งเมื่อเร็วๆ นี้ และสัญญาณเกี่ยวกับสภาพแวดล้อม ซึ่งรวมถึงผลการตัดสินความเสี่ยงในการเข้าถึงแอปและผลการตัดสินของ Play Protect หากผลการตรวจสอบไม่ถูกต้อง เซิร์ฟเวอร์แบ็กเอนด์ของแอปจะเลือกสิ่งที่ต้องทําเพื่อป้องกันปัญหาต่างๆ ได้ เช่น การละเมิดและการประพฤติมิชอบ การใช้ในทางที่ผิดและการโกง การเข้าถึงที่ไม่ได้รับอนุญาต และการโจมตี

ภาพรวม Play Integrity API
flow

ข้อควรพิจารณาด้านความปลอดภัย

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 เสร็จสิ้น และปฏิเสธ

ตรวจจับการละเมิดซ้ำโดยใช้การเรียกคืนของอุปกรณ์ โดยไม่กระทบต่อความเป็นส่วนตัวของผู้ใช้

การเรียกคืนของอุปกรณ์ช่วยให้แอปจัดเก็บและเรียกดูข้อมูลที่กำหนดเองซึ่งเชื่อมโยงกับอุปกรณ์ที่เฉพาะเจาะจงในลักษณะที่รักษาความเป็นส่วนตัวของผู้ใช้ ข้อมูลจะจัดเก็บไว้ในเซิร์ฟเวอร์ของ Google ซึ่งช่วยให้แอปของคุณเรียกดูข้อมูลของแต่ละอุปกรณ์ได้อย่างน่าเชื่อถือ แม้หลังจากติดตั้งแอปอีกครั้งหรือรีเซ็ตอุปกรณ์แล้วก็ตาม วิธีนี้ช่วยให้คุณมีวิธีระบุอุปกรณ์อีกครั้งได้อย่างน่าเชื่อถือซึ่งคุณพบว่ามีการละเมิดในอดีต เพื่อให้คุณดำเนินการและหยุดไม่ให้มีการใช้อุปกรณ์ดังกล่าวเพื่อละเมิดอีก คุณกำหนดความหมายของคุณเองให้กับค่า 3 ค่าต่อไปนี้ซึ่งประกอบกันเป็นข้อมูลการเรียกคืนอุปกรณ์ได้

  • คุณสามารถใช้ Flag หรือบูลีนแยกกันได้สูงสุด 3 รายการ ตัวอย่างเช่น ค่าอาจแสดงว่าอุปกรณ์สร้างหรือไม่ได้สร้างบัญชี แลกสิทธิ์ทดลองใช้ฟรีหรือไม่ได้แลกสิทธิ์ หรือเป็นที่รู้จักว่ามีการละเมิดความรุนแรงสูงหรือไม่
  • หรือจะรวมสถานะทั้งหมดของค่าไว้ในป้ายกํากับที่กําหนดเองได้สูงสุด 8 รายการ เช่น ป้ายกํากับ 1 รายการสําหรับสถานะเริ่มต้นเมื่อค่าทั้ง 3 รายการไม่มีการแก้ไข และป้ายกํากับ 7 รายการที่มีความหมายที่กําหนดเอง ซึ่งจะช่วยให้คุณแบ่งกลุ่มอุปกรณ์ทั้งหมดออกเป็นกลุ่มได้สูงสุด 8 กลุ่มตามลักษณะการทํางานหรือการดำเนินการที่คุณกำหนด ในกรณีนี้ writeDates ที่อัปเดตล่าสุดจาก 3 รายการจะระบุเวลาที่คุณอัปเดตป้ายกำกับครั้งล่าสุด

นอกจากนี้ โปรดคำนึงถึงข้อกําหนดเบื้องต้นและข้อควรพิจารณาอื่นๆ เมื่อจัดการข้อมูลการเรียกคืนอุปกรณ์

ตรวจหาการละเมิดในวงกว้างโดยใช้กิจกรรมล่าสุดในอุปกรณ์

ใช้ฟีเจอร์กิจกรรมล่าสุดในอุปกรณ์ใน 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 จัดการข้อมูลเพื่อช่วยคุณกรอกแบบฟอร์มข้อมูล