Android 14 ทำให้ใบรับรองหลักสามารถอัปเดตผ่าน Google Play เพื่อปกป้องผู้ใช้จาก CA ที่เป็นอันตราย

ที่เก็บรูทของ Android เคยต้องการการอัปเดต OTA เพื่อเพิ่มหรือลบใบรับรองรูท ซึ่งจะไม่เป็นเช่นนั้นใน Android 14

Android มีปัญหาเล็กน้อยที่หันศีรษะที่น่าเกลียดของมันทุกครั้งที่พระจันทร์สีน้ำเงิน แต่เมื่อมันเกิดขึ้น มันทำให้เกิดความตื่นตระหนก โชคดีที่ Google มีวิธีแก้ปัญหาใน Android 14 ที่ช่วยแก้ปัญหานี้ได้ในทันที ปัญหาคือที่เก็บใบรับรองรูทของระบบ Android (ที่เก็บรูท) สามารถอัปเดตผ่านการอัปเดตแบบ over-the-air (OTA) สำหรับการมีอยู่ของ Android ส่วนใหญ่เท่านั้น แม้ว่า OEM และผู้ให้บริการจะปรับปรุงให้ดีขึ้นอย่างรวดเร็วและบ่อยขึ้น แต่สิ่งต่างๆ ก็ยังดีกว่านี้ นั่นเป็นเหตุผลที่ Google ได้คิดค้นวิธีแก้ปัญหาเพื่อให้รูทสโตร์ของ Android อัปเดตผ่าน Google Play ได้ โดยเริ่มจาก แอนดรอยด์ 14.

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

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

จำนวน CA รูทนั้นน้อยกว่าจำนวนเว็บไซต์ที่มีใบรับรองความปลอดภัยที่ออกให้โดยตรงหรือ ผ่าน CA ตัวกลางตั้งแต่หนึ่งตัวขึ้นไป ดังนั้นจึงมีความเป็นไปได้ที่ OS และเว็บเบราว์เซอร์จะรักษารายการใบรับรอง CA หลักที่พวกเขา เชื่อมั่น. ตัวอย่างเช่น Android มีรายการใบรับรองหลักที่เชื่อถือได้ซึ่งจัดส่งในพาร์ติชันระบบแบบอ่านอย่างเดียวของระบบปฏิบัติการที่ /system/etc/security/cacerts หากแอพไม่ จำกัดใบรับรองที่จะเชื่อถือแนวทางปฏิบัติที่เรียกว่าการปักหมุดใบรับรอง จากนั้นจะใช้ค่าเริ่มต้นเป็นที่เก็บรูทของระบบปฏิบัติการเมื่อตัดสินใจว่าจะเชื่อถือใบรับรองความปลอดภัยหรือไม่ เนื่องจากพาร์ติชัน “ระบบ” เป็นแบบอ่านอย่างเดียว ที่เก็บรูทของ Android จึงไม่เปลี่ยนรูปนอกการอัปเดตระบบปฏิบัติการ ซึ่งอาจก่อให้เกิดปัญหาเมื่อ Google ต้องการลบหรือเพิ่มใบรับรองรูทใหม่

บางครั้งใบรับรองหลักคือ กำลังจะหมดอายุซึ่งอาจนำไปสู่การทำลายเว็บไซต์และบริการ และเว็บเบราว์เซอร์แสดงคำเตือนเกี่ยวกับการเชื่อมต่อที่ไม่ปลอดภัย ในบางกรณี CA ที่ออกใบรับรองหลักคือ สงสัยว่าเป็นอันตรายหรือถูกบุกรุก. หรือ ใบรับรองหลักใหม่ ปลูกพืชที่ต้องเพิ่มตัวเองลงในที่เก็บรูทของระบบปฏิบัติการหลักทุกแห่งก่อนที่ CA จะสามารถเริ่มลงนามใบรับรองได้ ที่เก็บรูทของ Android ไม่จำเป็นต้องอัปเดตบ่อยนัก แต่มันเกิดขึ้นมากพอที่การอัปเดตที่ค่อนข้างช้าของ Android จะกลายเป็นปัญหา

อย่างไรก็ตาม ตั้งแต่ Android 14 เป็นต้นมา รูทสโตร์ของ Android มี สามารถอัปเดตได้ผ่าน Google Play. ตอนนี้ Android 14 มีสองไดเร็กทอรีที่มีที่เก็บรูทของระบบปฏิบัติการ: ดังกล่าวข้างต้น OTA ที่ไม่เปลี่ยนรูปแบบ /system/etc/security/cacerts ตำแหน่งและ /apex/com ที่อัปเดตใหม่ได้[google].android.conscrypt/security/cacerts ไดเรกทอรี ส่วนหลังมีอยู่ในโมดูล Conscrypt ซึ่งเป็นโมดูล Project Mainline ที่เปิดตัวใน Android 10 ที่ให้การติดตั้ง TLS ของ Android เนื่องจากโมดูล Conscrypt สามารถอัปเดตได้ผ่านการอัปเดตระบบ Google Play นั่นหมายถึงรูทสโตร์ของ Android ก็จะเป็นเช่นนั้นเช่นกัน

นอกเหนือจากการทำให้ที่เก็บรูทของ Android สามารถอัปเดตได้แล้ว Android 14 ยังเพิ่มและลบใบรับรองรูทบางส่วนซึ่งเป็นส่วนหนึ่งของการอัปเดตประจำปีของ Google ไปยังที่เก็บรูทของระบบ

ใบรับรองหลักที่เพิ่มเข้ามาใน Android 14 ได้แก่:

  1. AC RAIZ FNMT-RCM SERVIDORES SEGUROS
  2. ANF ​​Secure Server Root CA
  3. Autoridad de Certificacion Firmaprofesional CIF A62634068
  4. รูท E1 แน่นอน
  5. รูท R1 แน่นอน
  6. ใบรับรอง EC-384 CA
  7. Certum Trusted Root CA
  8. D-TRUST BR รูท CA 1 2020
  9. D-TRUST EV Root CA 1 2020
  10. DigiCert TLS ECC P384 รูท G5
  11. DigiCert TLS RSA4096 ราก G5
  12. โกลบอลทรัสต์ 2020
  13. GlobalSign รูท E46
  14. GlobalSign รูท R46
  15. HARICA TLS ECC รูต CA 2021
  16. HARICA TLS RSA รูท CA 2021
  17. HiPKI รูท CA - G1
  18. ISRG รูท X2
  19. การสื่อสารความปลอดภัย ECC RootCA1
  20. การสื่อสารความปลอดภัย RootCA3
  21. Telia Root CA เวอร์ชัน 2
  22. Tugra Global Root CA ECC v3.1
  23. Tugra Global Root CA RSA เวอร์ชัน 3.0
  24. TunTrust รูท CA
  25. vTrus ECC รูท CA
  26. vTrus Root CA

ใบรับรองหลักที่ถูกลบใน Android 14 ได้แก่:

  1. รากหอการค้า - 2551
  2. Cybertrust Global Root
  3. DST รูท CA X3
  4. EC-ACC
  5. ผู้ออกใบรับรองหลัก GeoTrust - G2
  6. Global Chambersign Root 2008
  7. GlobalSign
  8. สถาบันการศึกษาและวิจัยกรีก RootCA 2011
  9. ผู้ออกใบรับรองโซลูชันเครือข่าย
  10. ผู้ออกใบรับรอง QuoVadis Root
  11. โซเนราคลาส 2 CA
  12. Staat der Nederlanden EV Root CA
  13. Staat der Nederlanden Root CA - G3
  14. ทรัสต์คอร์ ECA-1
  15. TrustCor RootCert CA-1
  16. TrustCor RootCert CA-2
  17. เชื่อถือ FPS Root CA
  18. ผู้ออกใบรับรอง VeriSign Universal Root

สำหรับคำอธิบายเชิงลึกเกี่ยวกับใบรับรอง TLS คุณควรอ่านเพื่อนร่วมงานของฉัน บทความของ Adam Conway ที่นี่. สำหรับการวิเคราะห์โดยละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงานของรูทสโตร์ที่อัปเดตได้ของ Android 14 และเหตุใดจึงเป็นเช่นนั้น โปรดดู บทความที่ผมเคยเขียนไว้ ในหัวข้อ