Play Integrity API จะช่วยคุณตรวจสอบว่าการดําเนินการของผู้ใช้และคําขอของเซิร์ฟเวอร์มาจากแอปจริงของคุณ ซึ่งติดตั้งโดย Google Play และทํางานในอุปกรณ์ที่ใช้ Android ของแท้ การตรวจจับการโต้ตอบที่มีความเสี่ยง เช่น การโต้ตอบจากแอปเวอร์ชันที่ดัดแปลง อุปกรณ์ที่ไม่น่าเชื่อถือ หรือสภาพแวดล้อมที่จำลอง จะช่วยให้เซิร์ฟเวอร์แบ็กเอนด์ตอบสนองด้วยการดำเนินการที่เหมาะสมเพื่อป้องกันการละเมิดและการเข้าถึงที่ไม่ได้รับอนุญาต ต่อสู้กับการฉ้อโกง ปราบปรามการโกง และปกป้องผู้ใช้จากการโจมตีได้
API จะแสดงผลการตัดสินที่ช่วยให้คุณตรวจจับภัยคุกคามที่อาจเกิดขึ้นได้ ซึ่งรวมถึง
- การเข้าถึงที่ไม่ได้รับอนุญาต: ผลการตัดสินของ
accountDetails
ช่วยให้คุณ พิจารณาว่าผู้ใช้ติดตั้งหรือชำระเงินสำหรับแอปหรือเกมของคุณใน Google Play หรือไม่ - การดัดแปลงโค้ด:
appIntegrity
ผลการตรวจสอบช่วยให้คุณพิจารณาได้ว่า คุณกำลังโต้ตอบกับไบนารีที่ไม่มีการแก้ไขที่ Google Play รู้จักหรือไม่ - อุปกรณ์ที่มีความเสี่ยงและสภาพแวดล้อมที่จำลอง:
deviceIntegrity
ผลการตัดสินจะช่วยให้คุณระบุได้ว่าแอปกำลังทำงานในอุปกรณ์ Android ที่ผ่านการรับรองจาก Play Protect จริงหรืออินสแตนซ์จริงของ Google Play Games สำหรับ PC
นักพัฒนาแอป Google Play ยังเลือกรับผลการตัดสินเพิ่มเติมเพื่อตรวจหาภัยคุกคามที่อาจเกิดขึ้นในวงกว้างได้ด้วย ซึ่งรวมถึง
- อุปกรณ์ที่ไม่มีแพตช์: การตอบกลับ
MEETS_STRONG_INTEGRITY
ในคำตัดสินdeviceIntegrity
จะช่วยให้คุณพิจารณาได้ว่าอุปกรณ์ได้ใช้การอัปเดตความปลอดภัยล่าสุดหรือไม่ (สำหรับอุปกรณ์ที่ใช้ Android 13 ขึ้นไป) - การเข้าถึงที่เสี่ยงโดยแอปอื่นๆ:
appAccessRiskVerdict
ช่วยให้คุณ ตรวจสอบได้ว่ามีแอปที่ทำงานอยู่ซึ่งอาจใช้เพื่อจับภาพหน้าจอ แสดงการซ้อนทับ หรือควบคุมอุปกรณ์ (เช่น โดยการใช้สิทธิ์เข้าถึง โดยมิชอบ) หรือไม่ - มัลแวร์ที่รู้จัก:
playProtectVerdict
ช่วยให้คุณตรวจสอบได้ว่า Google Play Protect เปิดอยู่หรือไม่ และพบแอปที่มีความเสี่ยงหรือ เป็นอันตรายติดตั้งอยู่ในอุปกรณ์หรือไม่ - กิจกรรมมากเกินไป: ระดับ
recentDeviceActivity
ช่วยให้คุณ พิจารณาได้ว่าอุปกรณ์ได้ส่งคำขอในปริมาณสูงอย่างผิดปกติ เมื่อเร็วๆ นี้หรือไม่ ซึ่งอาจบ่งบอกถึงการเข้าชมอัตโนมัติและอาจเป็นสัญญาณของการ โจมตี - การละเมิดซ้ำและอุปกรณ์ที่ใช้ซ้ำ:
deviceRecall
(เบต้า) ช่วยให้คุณ ระบุได้ว่าคุณกำลังโต้ตอบกับอุปกรณ์ที่คุณเคย แจ้งไปก่อนหน้านี้หรือไม่ แม้ว่าจะมีการติดตั้งแอปอีกครั้งหรือ รีเซ็ตอุปกรณ์แล้วก็ตาม
API นี้ใช้ได้ในอุปกรณ์ Android ทุกรูปแบบ ซึ่งรวมถึงโทรศัพท์, แท็บเล็ต, อุปกรณ์พับได้, Android Auto, Android TV, Android XR, ChromeOS, Wear OS และใน Google Play Games สำหรับ PC
ข้อควรพิจารณาด้านความปลอดภัย
Play Integrity API จะมีประโยชน์สูงสุดต่อแอปเมื่อคุณทำตามแนวทางปฏิบัติแนะนำต่อไปนี้
มีกลยุทธ์ต่อต้านการละเมิด
Play Integrity API ทำงานได้ดีที่สุดเมื่อใช้ร่วมกับสัญญาณอื่นๆ ในฐานะส่วนหนึ่งของ กลยุทธ์การต่อต้านการละเมิดโดยรวมของคุณ และไม่ได้เป็นกลไกต่อต้านการละเมิดเพียงอย่างเดียวของคุณ ใช้ API นี้ร่วมกับแนวทางปฏิบัติแนะนำด้านความปลอดภัยอื่นๆ ที่เหมาะสมสำหรับแอปของคุณ โดยค่าเริ่มต้น แอปของคุณจะส่งคำขอทั้งหมดได้สูงสุด 10,000 รายการต่อวันในการติดตั้งทั้งหมด คุณขอเพิ่มจำนวนสูงสุดต่อวันได้
รวบรวมข้อมูลการวัดและส่งข้อมูลและทำความเข้าใจกลุ่มเป้าหมายก่อนดำเนินการ
ก่อนที่จะเปลี่ยนลักษณะการทำงานของแอปตามคำตัดสินของ Play Integrity API คุณสามารถทำความเข้าใจสถานการณ์ปัจจุบันกับกลุ่มเป้าหมายที่มีอยู่ได้โดยการติดตั้งใช้งาน API โดยไม่ต้องบังคับใช้ เมื่อทราบผลการตัดสินที่ฐานผู้ใช้ปัจจุบัน ส่งคืนแล้ว คุณจะประเมินผลกระทบของการบังคับใช้ใดๆ ที่วางแผนไว้และ ปรับกลยุทธ์การต่อต้านการละเมิดตามนั้นได้
เลือกวิธีขอผลการตัดสินความสมบูรณ์
Play Integrity API มีตัวเลือก 2 แบบสำหรับการขอและรับผลการตัดสินความสมบูรณ์ ไม่ว่าคุณจะส่งคำขอมาตรฐาน คำขอแบบคลาสสิก หรือทั้ง 2 ประเภท การตอบกลับการตัดสินความสมบูรณ์จะแสดงในรูปแบบเดียวกัน
คำขอ API มาตรฐานเหมาะสำหรับแอปหรือเกมใดก็ได้ และสามารถส่งได้ตามต้องการเพื่อตรวจสอบว่าการดำเนินการของผู้ใช้หรือคำขอของเซิร์ฟเวอร์เป็นของแท้ คำขอมาตรฐาน มีเวลาในการตอบสนองต่ำที่สุด (โดยเฉลี่ยไม่กี่ร้อยมิลลิวินาที) และมีความน่าเชื่อถือสูง ในการรับผลการตัดสินที่ใช้ได้ คำขอมาตรฐานใช้ การแคชอัจฉริยะในอุปกรณ์ขณะที่มอบสิทธิ์การป้องกันการโจมตีบางประเภท ให้ Google Play
คำขอ API แบบคลาสสิก ซึ่งเป็นวิธีเดิมในการขอผลการตัดสินความสมบูรณ์จะยังคงใช้งานได้ต่อไป คำขอแบบคลาสสิกมีเวลาในการตอบสนองที่นานกว่า (โดยเฉลี่ย 2-3 วินาที) และคุณมีหน้าที่รับผิดชอบในการลดความเสี่ยงของการโจมตีบางประเภท คำขอแบบคลาสสิกใช้ข้อมูลและแบตเตอรี่ของผู้ใช้มากกว่าคำขอมาตรฐาน เนื่องจากจะเริ่มการประเมินใหม่ ดังนั้นจึงควรส่งคำขอ ไม่บ่อยนักเป็นครั้งคราวเพื่อตรวจสอบว่าการดำเนินการที่มีความละเอียดอ่อนสูงหรือมีคุณค่า นั้นเป็นของจริงหรือไม่ หากคุณกำลังพิจารณาสร้างคำขอแบบคลาสสิกและแคชไว้เพื่อใช้ในภายหลัง คุณควรสร้างคำขอมาตรฐานแทนเพื่อลดความเสี่ยงของการโจมตี
ตารางต่อไปนี้จะไฮไลต์ความแตกต่างที่สําคัญบางประการระหว่างคําขอทั้ง 2 ประเภท
คำขอ API มาตรฐาน | คำขอ API แบบคลาสสิก | |
---|---|---|
เวอร์ชัน Android SDK ขั้นต่ำที่จำเป็น | Android 5.0 (API ระดับ 21) ขึ้นไป | Android 4.4 (API ระดับ 19) ขึ้นไป |
ต้องวอร์มอัป API | ✔️ (ไม่กี่วินาที) | ❌ |
เวลาในการตอบสนองของคำขอโดยทั่วไป | 200-300 มิลลิวินาที | ไม่กี่วินาที |
ความถี่ในการส่งคำขอที่เป็นไปได้ | บ่อยครั้ง (ตรวจสอบตามคำขอหรือการดำเนินการ) | ไม่บ่อยนัก (ตรวจสอบครั้งเดียวสำหรับการกระทำที่มีมูลค่าสูงสุดหรือคำขอที่มีความละเอียดอ่อนมากที่สุด) |
ลดความเสี่ยงจากการโจมตีแบบเล่นซ้ำและการโจมตีที่คล้ายกัน | การลดผลกระทบโดยอัตโนมัติโดย Google Play | ใช้ฟิลด์ nonce กับตรรกะฝั่งเซิร์ฟเวอร์ |
คุณดูตารางที่มีความแตกต่างเพิ่มเติมได้ในข้อควรพิจารณาเกี่ยวกับคำขอแบบคลาสสิก
ขอผลการตัดสินความสมบูรณ์ในเวลาที่เหมาะสม
คุณควรขอผลการตัดสินความเสี่ยงในการเข้าถึงแอปให้ใกล้เคียงกับเวลา ของการดำเนินการหรือคำขอของเซิร์ฟเวอร์ที่คุณต้องการป้องกันไม่ให้มีการเข้าถึง เพื่อป้องกันไม่ให้มิจฉาชีพหลีกเลี่ยงการตรวจสอบความสมบูรณ์ที่แอปของคุณดำเนินการ
ทำให้คำขอ API เลียนแบบได้ยาก
คำขอ API มาตรฐานมีฟิลด์ที่ชื่อ requestHash
ซึ่งใช้เพื่อป้องกัน
การดัดแปลงและการโจมตีที่คล้ายกัน ในช่องนี้ คุณควรใส่
ข้อมูลสรุปของค่าที่เกี่ยวข้องทั้งหมดจากคำขอของแอป โปรดปฏิบัติตามคำแนะนำเกี่ยวกับ
วิธีใช้การเชื่อมโยงเนื้อหา
เพื่อปกป้องคำขอมาตรฐานของแอป
คำขอ API แบบคลาสสิกมีฟิลด์ที่ชื่อ nonce
(ย่อมาจาก number once) ซึ่งใช้เพื่อป้องกันการโจมตีบางประเภท เช่น การโจมตีแบบเล่นซ้ำและการโจมตีแบบดัดแปลง ปฏิบัติตามคำแนะนำเกี่ยวกับวิธีสร้าง
ค่าแบบใช้ครั้งเดียวเพื่อปกป้องคำขอ
คลาสสิกของแอป
หลีกเลี่ยงการแคชผลการตัดสินความสมบูรณ์
การตัดสินความสมบูรณ์ของการแคชจะเพิ่มความเสี่ยงของการพร็อกซี ซึ่งเป็นการโจมตีที่ผู้ไม่ประสงค์ดีนำการตัดสินจากอุปกรณ์ที่ดีมาใช้เพื่อวัตถุประสงค์ในทางที่ผิดในสภาพแวดล้อมอื่น คุณสามารถส่งคำขอ API มาตรฐานเพื่อรับผลการตัดสินตามต้องการแทนการแคชการตอบกลับได้
มีกลยุทธ์การบังคับใช้แบบแบ่งระดับ
การตัดสินความสมบูรณ์ของ Play Integrity API มีคำตอบที่เป็นไปได้หลากหลายรูปแบบ ทำให้สามารถสร้างกลยุทธ์การต่อต้านการละเมิดที่มีการบังคับใช้หลายระดับได้ คุณสามารถทำได้โดยกำหนดค่าเซิร์ฟเวอร์แบ็กเอนด์ของแอปให้ทำงาน แตกต่างกันไปตามการตอบกลับที่เป็นไปได้แต่ละรายการหรือกลุ่มการตอบกลับ
นอกจากนี้ คุณยังแบ่งระดับกลยุทธ์การบังคับใช้ตามความน่าเชื่อถือของอุปกรณ์ได้โดยเลือกรับป้ายกำกับอุปกรณ์เพิ่มเติมในคำตอบ API จาก Play Console
อุปกรณ์แต่ละเครื่องจะแสดงป้ายกำกับทั้งหมดที่มี
เกณฑ์ตรงตามที่กำหนด เช่น หลังจากเลือกรับป้ายกำกับอุปกรณ์ทั้งหมด
แล้ว คุณอาจเลือกที่จะเชื่อถืออุปกรณ์ที่แสดงผล MEETS_STRONG_INTEGRITY
, MEETS_DEVICE_INTEGRITY
และ MEETS_BASIC_INTEGRITY
มากกว่าอุปกรณ์ที่แสดงผลเฉพาะ MEETS_BASIC_INTEGRITY
คุณตอบกลับ
จากเซิร์ฟเวอร์ได้แตกต่างกันในแต่ละสถานการณ์
ส่งช่วงการตอบกลับจากเซิร์ฟเวอร์ไปยังแอป
การมีผลลัพธ์การตัดสินใจที่หลากหลายจะจำลองได้ยากกว่าการส่งการตอบกลับแบบไบนารี อนุญาต/ปฏิเสธจากเซิร์ฟเวอร์กลับไปยังแอปสำหรับการตอบกลับแต่ละครั้ง เช่น คุณอาจใช้ชุดการตอบกลับที่เกี่ยวข้อง เช่น อนุญาต อนุญาตโดยมี ขีดจำกัด อนุญาตโดยมีขีดจำกัดหลังจากทำ CAPTCHA เสร็จสมบูรณ์ และปฏิเสธ
ตรวจจับการละเมิดซ้ำๆ โดยใช้การเรียกคืนของอุปกรณ์ ขณะที่ยังรักษาความเป็นส่วนตัวของผู้ใช้
การเรียกคืนของอุปกรณ์ช่วยให้แอปสามารถ จัดเก็บและเรียกคืนข้อมูลที่กำหนดเองบางอย่างที่เชื่อมโยงกับอุปกรณ์ที่เฉพาะเจาะจงในลักษณะที่ รักษาความเป็นส่วนตัวของผู้ใช้ ข้อมูลจะจัดเก็บไว้ในเซิร์ฟเวอร์ของ Google ซึ่งช่วยให้แอปของคุณเรียกดูข้อมูลของแต่ละอุปกรณ์ได้อย่างน่าเชื่อถือ แม้หลังจากติดตั้งแอปอีกครั้งหรือรีเซ็ตอุปกรณ์แล้วก็ตาม วิธีนี้ช่วยให้คุณระบุอุปกรณ์ที่พบว่ามีการละเมิดในอดีตอีกครั้งได้อย่างน่าเชื่อถือ เพื่อให้คุณดำเนินการและหยุดไม่ให้อุปกรณ์นั้นถูกนำไปใช้ในการละเมิดอีก คุณกำหนดความหมายของค่าทั้ง 3 ได้ ซึ่งประกอบกันเป็นข้อมูลการเรียกคืนอุปกรณ์ ดังนี้
- คุณสามารถใช้เป็นค่าสถานะหรือบูลีนแยกกันได้สูงสุด 3 รายการ เช่น ค่าอาจแสดงว่าอุปกรณ์ได้สร้างบัญชีหรือไม่ ได้ แลกสิทธิ์ทดลองใช้ฟรีหรือไม่ หรือเป็นที่ทราบกันว่ามีการละเมิดที่มีความรุนแรงสูงหรือไม่
- หรือจะรวมสถานะทั้งหมดของค่าไว้ในป้ายกำกับที่กำหนดเองสูงสุด 8 รายการก็ได้ เช่น ป้ายกำกับ 1 รายการสำหรับสถานะเริ่มต้นเมื่อค่าทั้ง 3 รายการไม่มีการแก้ไข และป้ายกำกับ 7 รายการที่มีความหมายที่กำหนดเอง ซึ่งจะช่วยให้คุณแบ่งกลุ่มอุปกรณ์ทั้งหมดออกเป็นกลุ่มได้สูงสุด 8 กลุ่มตามพฤติกรรมหรือการกระทําที่คุณกําหนด ในสถานการณ์นี้ ข้อมูลที่อัปเดตล่าสุดจากข้อมูลทั้ง 3 รายการ
writeDates
จะระบุเวลาที่คุณอัปเดตป้ายกำกับครั้งล่าสุด
นอกจากนี้ โปรดคำนึงถึงข้อกำหนดเบื้องต้นและข้อควรพิจารณาอื่นๆ เมื่อทำงานกับข้อมูลการเรียกคืนอุปกรณ์
ตรวจหาการละเมิดในวงกว้างโดยใช้กิจกรรมล่าสุดในอุปกรณ์
ใช้ฟีเจอร์กิจกรรมล่าสุดในอุปกรณ์ใน 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 จัดการข้อมูล