หากมีคำถามเกี่ยวกับนโยบายนี้ โปรดส่งคำถามไปที่ฟอรัมนโยบาย CT ที่ct-policy@chromium.org
เมื่อมีการตรวจสอบใบรับรอง Transport Layer Security (TLS) ของการเชื่อมต่อในแอปที่เลือกใช้ความโปร่งใสของใบรับรอง ระบบจะประเมินการปฏิบัติตามข้อกำหนด ตามนโยบายความโปร่งใสของใบรับรอง (CT) ของ Android ใบรับรองที่มาพร้อมกับ Signed Certificate Timestamp (SCT) ที่ เป็นไปตามนโยบายนี้ถือว่าเป็นไปตามข้อกำหนดของ CT
การปฏิบัติตามข้อกำหนด CT จะทำได้โดยใบรับรองและชุด SCT ที่เกี่ยวข้องซึ่งเป็นไปตาม ชุดข้อกำหนดทางเทคนิคที่บังคับใช้โดยไลบรารี TLS ยอดนิยม (รวมถึง Conscrypt ในตัว) ระหว่างการตรวจสอบใบรับรอง ซึ่ง กำหนดไว้ในนโยบายนี้
สถานะของบันทึก CT
การปฏิบัติตามข้อกำหนด CT ใน Android จะพิจารณาจากการประเมิน SCT จากบันทึก CT และ ตรวจสอบว่าบันทึกเหล่านี้อยู่ในสถานะที่ถูกต้อง ณ เวลาที่ตรวจสอบ ชุดสถานะที่เป็นไปได้ที่บันทึก CT อาจอยู่ในนั้นมีดังนี้
Pending
Qualified
Usable
ReadOnly
Retired
Rejected
เพื่อช่วยให้เข้าใจข้อกำหนดสำหรับการปฏิบัติตามข้อกำหนด CT ใน Android คำจำกัดความของสถานะเหล่านี้ ข้อกำหนดของบันทึกในแต่ละสถานะ รวมถึงวิธีที่สถานะเหล่านี้ส่งผลต่อลักษณะการทำงานของ Android มีอธิบายไว้โดยละเอียด ในคำอธิบายวงจรบันทึก CT ของเอกสารประกอบของ Chrome
ใบรับรองที่สอดคล้องกับ CT
ใบรับรอง TLS จะเป็นไปตามข้อกำหนดของ CT หากมาพร้อมกับชุด SCT ที่ เป็นไปตามเกณฑ์อย่างน้อย 1 ข้อที่กำหนดไว้ในภายหลัง โดยขึ้นอยู่กับวิธีส่ง SCT ไปยัง Android ในแอปที่บังคับใช้ CT ของ Android ใบรับรอง TLS ที่เชื่อถือได้แบบสาธารณะทั้งหมดต้องเป็นไปตามข้อกำหนด CT จึงจะตรวจสอบได้สำเร็จ อย่างไรก็ตาม ระบบจะไม่ถือว่าใบรับรองที่ไม่ได้บันทึกลงใน CT หรือมี SCT ไม่เพียงพอเป็นใบรับรองที่ออกอย่างไม่ถูกต้อง
เมื่อประเมินใบรับรองเพื่อการปฏิบัติตามข้อกำหนด CT Android จะพิจารณาปัจจัยหลายประการ รวมถึงจำนวน SCT ที่มี ผู้ที่ดำเนินการบันทึก CT ที่ออก SCT และสถานะของบันทึก CT ที่ออก SCT ทั้งใน เวลาที่ตรวจสอบใบรับรองและเวลาที่บันทึก CT สร้าง SCT
การปฏิบัติตามข้อกำหนดของ CT จะทำได้โดยเป็นไปตามเกณฑ์ต่อไปนี้อย่างใดอย่างหนึ่ง ทั้งนี้ขึ้นอยู่กับวิธีแสดง SCT ต่อ Android
SCT แบบฝัง:
- SCT แบบฝังอย่างน้อย 1 รายการจากบันทึก CT ที่มีสถานะเป็น
Qualified
,Usable
หรือReadOnly
ในขณะที่ตรวจสอบ และ - มี SCT แบบฝังจากบันทึก CT ที่แตกต่างกันอย่างน้อย N รายการซึ่งมีสถานะเป็น
Qualified
,Usable
,ReadOnly
หรือRetired
ในขณะที่ตรวจสอบ โดย N จะกำหนดไว้ในตารางต่อไปนี้ และ - ในบรรดา SCT ที่เป็นไปตามข้อกำหนด 2 ต้องมี SCT อย่างน้อย 2 รายการที่ออกโดยผู้ให้บริการบันทึก CT ที่แตกต่างกันตามที่ Android รับรู้ และ
- ในบรรดา SCT ที่เป็นไปตามข้อกำหนด 2 จะต้องมี SCT อย่างน้อย 1 รายการที่ออกจากการบันทึกที่ Android รับรู้ว่าเป็นไปตาม RFC 6962
อายุการใช้งานของใบรับรอง | จำนวน SCT จากบันทึก CT ที่แตกต่างกัน |
---|---|
<= 180 วัน | 2 |
> 180 วัน | 3 |
SCT ที่ส่งผ่าน OCSP หรือ TLS:
- SCT อย่างน้อย 2 รายการจากบันทึก CT ที่มีสถานะเป็น
Qualified
,Usable
หรือReadOnly
ในขณะที่ตรวจสอบ และ - ในบรรดา SCT ที่เป็นไปตามข้อกำหนด 1 ต้องมีการออก SCT อย่างน้อย 2 รายการจากผู้ให้บริการบันทึก CT ที่แตกต่างกันตามที่ Android รับรู้ และ
- ในบรรดา SCT ที่เป็นไปตามข้อกำหนด 1 จะต้องออก SCT อย่างน้อย 1 รายการจากบันทึก CT ที่ Android รับรู้ว่าสอดคล้องกับ RFC6962
สำหรับทั้ง SCT ที่ฝังและที่ส่งโดยใช้ OCSP หรือ TLS ความไม่ซ้ำกันของตัวดำเนินการบันทึก จะกำหนดให้มีรายการแยกกันภายในส่วนตัวดำเนินการ ของรายการบันทึก
ในกรณีที่หาได้ยากซึ่งบันทึก CT เปลี่ยนผู้ให้บริการในช่วงอายุการใช้งาน
บันทึก CT อาจมีรายการ previous_operators
พร้อมด้วย
การประทับเวลาสุดท้ายที่ผู้ให้บริการรายก่อนหน้าดำเนินการบันทึกนี้
เพื่อป้องกันไม่ให้การเปลี่ยนแปลงผู้ให้บริการบันทึกทำให้ใบรับรองที่มีอยู่ใช้งานไม่ได้ ผู้ให้บริการบันทึกของ SCT แต่ละรายการ
จะถือเป็นผู้ให้บริการ ณ เวลาที่ออก SCT โดย
การเปรียบเทียบการประทับเวลาของ SCT กับการประทับเวลาของprevious_operators
หากมี
หมายเหตุสำคัญ
ตราบใดที่ SCT บางรายการที่แสดงในการแฮนด์เชคเป็นไปตามเกณฑ์การปฏิบัติตามข้อกำหนด CT อย่างใดอย่างหนึ่งที่กล่าวมาก่อนหน้านี้ SCT อื่นๆ จะไม่ส่งผลต่อสถานะการปฏิบัติตามข้อกำหนด CT ของใบรับรองในเชิงบวกหรือเชิงลบ ไม่ว่า SCT จะมีสถานะใดก็ตาม
SCT ต้องออกก่อนการประทับเวลา Retired
ของบันทึก หากมี เพื่อให้เป็นไปตามข้อกำหนด CT ของใบรับรอง
Android ใช้ SCT ที่เก่าที่สุดในบรรดา SCT ทั้งหมดที่แสดงเพื่อประเมินการปฏิบัติตามข้อกำหนดของ CT
เทียบกับRetired
การประทับเวลาของบันทึก CT
ซึ่งจะอธิบายกรณีข้อยกเว้นที่บันทึก CT จะเลิกใช้งานในระหว่างกระบวนการส่งคำขอการบันทึกใบรับรอง
"SCT แบบฝัง" หมายถึง SCT ที่ส่งโดยใช้ส่วนขยาย SignedCertificateTimestampList
X.509v3 ภายในใบรับรอง เซิร์ฟเวอร์ TLS จำนวนมากไม่รองรับ
การปักหมุด OCSP หรือส่วนขยาย TLS ดังนั้น CA ควรเตรียมพร้อมที่จะฝัง SCT ลงใน
ใบรับรองที่ออกเพื่อให้มั่นใจว่าการตรวจสอบหรือการจัดการ EV ใน Android จะสำเร็จ
วิธีเพิ่มบันทึก CT ลงใน Android
เกณฑ์ในการเปลี่ยนบันทึก CT ให้เป็นQualified
รวมถึงสถานการณ์ที่ทำให้บันทึกเปลี่ยนเป็นRetired
ดูได้ในนโยบายบันทึก CT ของ Chrome
การหมดเวลาการบังคับใช้ CT
ทุกวัน Google จะเผยแพร่รายการบันทึก CT ใหม่ซึ่งมี
log_list_timestamp
อุปกรณ์ Android จะพยายามดาวน์โหลด
รายการเวอร์ชันล่าสุดนี้วันละครั้งเพื่อวัตถุประสงค์ในการยืนยัน หากไม่มีรายการบันทึกในอุปกรณ์หรือหากการประทับเวลาของรายการบันทึกเก่ากว่า 70 วัน ระบบจะปิดใช้การบังคับใช้ CT
การหมดเวลานี้เป็นการรับประกันที่สำคัญต่อระบบนิเวศ CT ว่าบันทึก CT ใหม่จะเปลี่ยนไปเป็นสถานะ "ใช้ได้" ได้อย่างปลอดภัยภายในระยะเวลาที่กำหนดหลังจากกลายเป็น Qualified
รายการบันทึกของ Android
รายการบันทึกของ Android จะเผยแพร่ใน log_list.json ซึ่งจะได้รับการอัปเดตทุกวัน รายการบันทึกนี้มีให้ใช้งานโดยไม่มี API ที่เสถียร, SLA หรือการรับประกันความพร้อมใช้งาน
Android จะทำให้รายการบันทึก CT พร้อมใช้งานเพื่อวัตถุประสงค์สำหรับผู้ส่งใบรับรอง (เช่น ผู้ออกใบรับรอง) รวมถึงผู้ตรวจสอบและผู้ตรวจสอบบัญชี CT ที่ต้องการรักษาความเข้ากันได้หรือตรวจสอบเนื้อหาของระบบนิเวศ CT และ WebPKI
การพึ่งพารายการบันทึก CT ของ Android โดยไม่ได้รับอนุญาตไม่เพียงแต่เป็นอันตรายต่อผู้ใช้ของคุณ แต่ยังเป็นอันตรายต่อผู้ใช้ Android และระบบนิเวศของ CT โดยรวมด้วย หากกำลังพิจารณาเพิ่มการบังคับใช้ CT ลงในแอป ให้ใช้กลไกที่แพลตฟอร์ม Android รองรับ
การใช้รายการบันทึก CT ของ Android ที่ไม่เป็นไปตามนโยบายนี้ถือเป็นความเสี่ยงของคุณเอง และอาจส่งผลให้แอปพลิเคชันหรือไลบรารีของคุณใช้งานไม่ได้ Android ต้องสามารถทำการเปลี่ยนแปลงรายการบันทึก CT เพื่อตอบสนองต่อเหตุการณ์ในระบบนิเวศ CT เพื่อรักษาความปลอดภัยของผู้ใช้ Android Android อาจดำเนินการเพื่อให้มั่นใจว่าการอ้างอิงของบุคคลที่สามในรายการบันทึก CT จะไม่ เสี่ยงต่อความสามารถของ Android ในการตอบสนองต่อเหตุการณ์ดังกล่าว ซึ่งรวมถึงการเปลี่ยนแปลง รายการบันทึกที่ไม่ได้ประกาศเพื่อขัดขวางการใช้งานที่ไม่ได้รับอนุญาต