ระบบการออกใบรับรองการเข้ารหัสเว็บทุกวันนี้ ความน่ากลัวอย่างหนึ่งคือเมื่อมี root CA เพิ่มเข้ามาแล้ว root CA นั้นจะออกใบรับรองให้กับโดเมนใดๆ ก็ได้ ทั้งที่จริงๆ แล้วฟีเจอร์หนึ่งของใบรับรองสำหรับ CA คือ Name Constraints สามารถกำหนดโดเมนที่ CA จะออกโดเมนได้แต่ก็ไม่มีใครสนใจใช้งานจริงจังนัก
ปรากฏว่า Netflix ผู้ให้บริการวิดิโอสตรีมมิ่งกลับใช้ฟีเจอร์นี้อยู่สำหรับบริการภายในของตัวเอง โดยเป้าหมายของ Netflix คือการเข้ารหัสการส่งข้อมูลทั้งหมด แม้จะเป็นการส่งข้อมูลระหว่างเซิร์ฟเวอร์ภายในก็ตาม ทาง Netflix เพิ่ม root CA ของตัวเองสำหรับใช้งานเข้ารหัสระหว่างเบราว์เซอร์ แต่พบปัญหาใหม่คือบริการจำนวนหนึ่งต้องเข้าผ่านเบราว์เซอร์ซึ่งทาง Netflix ไม่อยากติดตั้ง root CA ของตัวเองในเครื่องผู้ใช้ในบริษัท เพราะจะเพิ่มความเสี่ยงว่าหาก root CA ของบริษัทถูกเจาะก็จะสามารถปลอมเว็บใดๆ ก็ได้กับพนักงาน Netflix จำนวนมากทันที ทางแก้ของ Netflix คือสร้าง root CA ที่ใช้ฟีเจอร์ Name Constraints แต่ปรากฎว่าเบราว์เซอร์จำนวนมากมีบั๊กในฟีเจอร์นี้ มีเพียงไฟร์ฟอกซ์ที่อิมพลีเมนต์อย่างถูกต้อง
ทาง Netflix จึงสร้างชุดทดสอบ BetterTLS ขึ้นมาเพื่อเปิดให้ทดสอบฟีเจอร์ Name Constraints กับเบราว์เซอร์และไคลเอนต์ใดๆ (Java, Node.js, Python)
หลังจากออกชุดทดสอบนี้ ทางกูเกิลก็เริ่มแพตช์ Chrome แก้บั๊กที่พบโดยชุดทดสอบนี้แล้ว และออราเคิลก็สัญญาว่าจะออกแพตช์จาวาให้ในแพตช์ความปลอดภัยรอบต่อไป
ที่มา - The Netflix Tech Blog
Comments
โอ้ย รอมานานมาก บ่นมา 3-4 ปีแล้วว่าทำไมไม่มี browser ไหนรองรับกันเลย
คงจะเป็นฟีเจอร์ที่ไม่มีใครสนใจใช้งานกันต่อไปเพราะ public CA ต่างก็ต้องการที่จะสามารถออกใบ cert ให้ใครก็ได้ที่ต้องการขอใบ cert กับตัวเอง ส่วน private CA ในองค์กรก็คงจะทำนองเดียวกัน แม้จะมองเห็นประโยชน์อยู่บ้างแต่ก็คงขี้เกียจทำให้มันยุ่งยากและจำกัดตัวเอง อาจมีใช้บ้างในกรณีของการทำ cross sign กันในองค์กรหากต้องการที่จะ strict มากๆ แต่โดยทั่วไปก็น่าจะ deploy root CA ของอีกฝ่ายข้ามไปมากันอยู่ดีเพราะไม่ยุ่งยากและอาจมองว่าไม่ได้มีความเสี่ยงมากนักเพราะยังไงก็เป็นองค์กรเดียวกันแล้ว (หรือเป็นองค์กรเดียวกันอยู่แล้ว)
รายชื่อใบรับรองดิจิตอลทั้งหมดที่ออกโดย Root CA และ Intermediate CA สัญชาติไทย
ตัวผมเองจะใช้สำหรับ private CA นี่ล่ะครับ ทำเองใส่เครื่องตัวเองกับทีมงานยังหลอนๆ เลย จับทำ contraints *.local ให้หมดอุ่นใจกว่าเยอะ
lewcpe.com, @wasonliw