Tags:
Node Thumbnail

ระบบการออกใบรับรองการเข้ารหัสเว็บทุกวันนี้ ความน่ากลัวอย่างหนึ่งคือเมื่อมี 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

No Description

Get latest news from Blognone

Comments

By: lancaster
Contributor
on 15 April 2017 - 00:18 #979732

โอ้ย รอมานานมาก บ่นมา 3-4 ปีแล้วว่าทำไมไม่มี browser ไหนรองรับกันเลย

By: jedi
Contributor
on 15 April 2017 - 21:55 #979837

Name Constraints สามารถกำหนดโดเมนที่ CA จะออกโดเมนได้แต่ก็ไม่มีใครสนใจใช้งานจริงจังนัก

คงจะเป็นฟีเจอร์ที่ไม่มีใครสนใจใช้งานกันต่อไปเพราะ public CA ต่างก็ต้องการที่จะสามารถออกใบ cert ให้ใครก็ได้ที่ต้องการขอใบ cert กับตัวเอง ส่วน private CA ในองค์กรก็คงจะทำนองเดียวกัน แม้จะมองเห็นประโยชน์อยู่บ้างแต่ก็คงขี้เกียจทำให้มันยุ่งยากและจำกัดตัวเอง อาจมีใช้บ้างในกรณีของการทำ cross sign กันในองค์กรหากต้องการที่จะ strict มากๆ แต่โดยทั่วไปก็น่าจะ deploy root CA ของอีกฝ่ายข้ามไปมากันอยู่ดีเพราะไม่ยุ่งยากและอาจมองว่าไม่ได้มีความเสี่ยงมากนักเพราะยังไงก็เป็นองค์กรเดียวกันแล้ว (หรือเป็นองค์กรเดียวกันอยู่แล้ว)


รายชื่อใบรับรองดิจิตอลทั้งหมดที่ออกโดย Root CA และ Intermediate CA สัญชาติไทย

By: lew
FounderJusci's WriterMEconomicsAndroid
on 15 April 2017 - 22:56 #979848 Reply to:979837
lew's picture

ตัวผมเองจะใช้สำหรับ private CA นี่ล่ะครับ ทำเองใส่เครื่องตัวเองกับทีมงานยังหลอนๆ เลย จับทำ contraints *.local ให้หมดอุ่นใจกว่าเยอะ


lewcpe.com, @wasonliw