APK Signature Scheme v3 กำลังมาพร้อมกับการรองรับ Key Rotation

click fraud protection

APK Signature Scheme v3 ถูกพบในโครงการ Android Open Source และดูเหมือนว่าจะรองรับการหมุนเวียนคีย์

หากคุณเป็นนักพัฒนาหรือคุ้นเคยกับการถอดรหัส การแก้ไข และ/หรือการติดตั้งไฟล์ APK ที่แก้ไขแล้ว คุณอาจคุ้นเคยกับลายเซ็นของแอปพลิเคชัน พูดง่ายๆ ก็คือ Android กำหนดให้แอปนั้น ต้อง ลงนามด้วยรหัสเดียวกันเพื่อให้ระบบสามารถอัปเดตแอปที่เป็นปัญหาได้ Android ตรวจสอบสิ่งนี้โดยการตรวจสอบลายเซ็น APK

ลายเซ็น APK เป็นมาตรการรักษาความปลอดภัยขั้นพื้นฐานใน Android ที่เราเคยพูดถึงไปแล้ว โดยพื้นฐานแล้ว ลายเซ็นทั้งหมดจะไม่ซ้ำกันสำหรับนักพัฒนาหรือกลุ่มนักพัฒนาบางราย ดังนั้นหากลายเซ็น/ใบรับรองใน APK ไม่ถูกต้องหรือ ไม่ตรงกับแอปดั้งเดิม การติดตั้งจะล้มเหลว ดังนั้นจึงป้องกันการติดตั้งไฟล์ APK ที่ถูกดัดแปลงหรือปลอมบน Android ของคุณ อุปกรณ์. นักพัฒนาซอฟต์แวร์จะต้องเก็บคีย์ลายเซ็นไว้อย่างปลอดภัย เนื่องจากคีย์เหล่านี้มีความสำคัญในการตรวจสอบและท้ายที่สุดคือต้องเผยแพร่การอัปเดตแอป โชคดีที่รูปแบบลายเซ็นสำหรับการลงนาม APK กำลังได้รับการแก้ไขอีกครั้ง—v3—ซึ่งดูเหมือนว่าจะเพิ่มคุณสมบัติที่สะดวกสบายในขณะที่ยังคงรักษามาตรฐานความปลอดภัยระดับสูงไว้


APK Signature Scheme เวอร์ชัน 1 และ 2

ไม่นานเกินไปนับตั้งแต่เวอร์ชัน APK Signature Scheme ปัจจุบัน v2 เปิดตัวสำหรับนักพัฒนา. ท้ายที่สุดแล้ว เราแทบไม่ได้รับการแนะนำให้รู้จักกับการเปิดตัว Android 7.0 Nougat เมื่อปลายปี 2559 การใช้รูปแบบลายเซ็น v2 ในแอป Android 7.0 ขึ้นไปได้รับการสนับสนุนอย่างมากเนื่องจากมีชุดแพตช์ที่จำเป็นและ การปรับปรุงความปลอดภัย: แม้ว่า v1 จะลงนามใน JAR เท่านั้น แต่ v2 จะดำเนินการเพิ่มเติมเพื่อปกป้องความสมบูรณ์ของทั้งหมด ไฟล์. รูปแบบลายเซ็นเข้ากันไม่ได้แบบย้อนหลัง และ Android Marshmallow และต่ำกว่าต้องใช้ลายเซ็น v1 สำหรับแอป

กระบวนการตรวจสอบ APK ที่มา: Google.

สถานการณ์ในอุดมคติคือการใช้แผนลายเซ็นทั้งสองแบบเคียงข้างกัน เว้นแต่ว่าคุณจะรองรับผู้ใช้บน Nougat หรือสูงกว่านั้น โดยลงนามด้วย v1 ก่อน แล้วจึงลาออกด้วย v2 ด้วยวิธีนี้ Nougat และสูงกว่าจะจดจำลายเซ็น v2 ในขณะที่ Marshmallow และต่ำกว่าจะจดจำลายเซ็น v1

อย่างไรก็ตาม การใช้ v1 เท่านั้นนั้นไม่สนับสนุนอย่างมากเนื่องจากมีช่องโหว่และปัญหาด้านความปลอดภัยอื่นๆ หลายประการ ซึ่งน่าสังเกตมากที่สุดคือ ช่องโหว่ของ Janusซึ่งช่วยให้ผู้โจมตีสามารถโจมตีและแก้ไข APK ได้โดยตรงโดยไม่กระทบต่อลายเซ็น แอพยอดนิยมที่มีการอัพเดทไม่บ่อยเช่น Instagram หรือ Snapchat จะถูกเซ็นชื่อด้วยลายเซ็น v1 เท่านั้น ซึ่งหมายความว่าแอพเหล่านั้นเสี่ยงต่อปัญหาเหล่านี้

ตรวจสอบเวอร์ชันลงนาม APK ของโซเชียลมีเดีย/แอปชำระเงินยอดนิยม

APK Signature Scheme เวอร์ชัน 3

ฟีเจอร์พาดหัวที่ใหญ่ที่สุดของ v3 ซึ่งหมายถึงการแก้ไขของ v2 จะเป็น รองรับการหมุนคีย์. ที่ รูปแบบลายเซ็น v3 แนะนำ APK Signer Lineage ซึ่งตาม หนึ่งในการกระทำ, "มีประวัติการลงนามใบรับรองโดยบรรพบุรุษแต่ละคนยืนยันถึงความถูกต้องของผู้สืบทอด การสืบทอดเพิ่มเติมแต่ละรายการแสดงถึงข้อมูลประจำตัวใหม่ที่สามารถใช้เพื่อรับรอง APK ด้วยวิธีนี้ สายเลือดจึงมีหลักฐานการหมุนเวียนซึ่ง APK ที่บรรจุอยู่สามารถแสดงให้ผู้อื่นเห็นได้ ฝ่ายต่างๆ ความสามารถที่จะเชื่อถือได้ด้วยใบรับรองการลงนามในปัจจุบัน ราวกับว่ามีการลงนามโดยหนึ่งในผู้ที่มีอายุมากกว่า คน"

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

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

จะเปิดตัวเมื่อไหร่?

แม้ว่าคุณอาจจะอยากลองใช้เพื่อเพิ่มความสะดวกสบาย แต่รูปแบบลายเซ็น v3 ก็ปรากฏว่าลอยอยู่รอบๆ AOSP ไซต์ Gerrit Code Review และ Commit ยังไม่ได้ถูกรวมเข้ากับสาขาหลักในขณะนี้ ดังนั้นจึงยังไม่พร้อมเพียง ยัง. เราควรคาดหวังว่ารูปแบบลายเซ็น v3 จะมาถึงมือของนักพัฒนาด้วยการเปิดตัว Android P ที่กำลังจะมาถึงหากรุ่น v2 ก่อนหน้าที่มี Android Nougat บอกอะไรเรา

เราควรทราบด้วยว่าการหมุนเวียนคีย์นั้นมีแนวโน้มค่อนข้างมาก ไม่ใช่ความแตกต่างเพียงอย่างเดียวจาก v2 APK Signature Scheme v3 ยังคงอยู่ในระหว่างดำเนินการ ดังนั้นเราจะเห็นการปรับปรุงจริงของ Signature Scheme v3 เมื่อมีเอกสารฉบับเต็มออกมาในอนาคต