0199 | อีกขั้นของความปลอดภัยกับ HTTPS Certificate Pinning

เชื่อว่าคนที่ตามอ่านบล็อกผม (ที่เป็นบล็อกมีสาระ) คงเป็นคนที่รู้จัก https อยู่บ้างแล้วนะครับ จะได้ไม่ต้องอธิบายซ้ำ ส่วนคนที่อยากรู้ว่ามันคืออะไร ถ้าอยากอ่านเต็มๆ ลองดูตามนี้ครับ

โดยคร่าวๆ คือเชื่อมต่อการสื่อสาร “เพิ่มเติม” จากปกติด้วยโปรโตคอล SSL/TLS ซึ่งประกอบไปด้วยสี่ส่วนประกอบกันคือ

  • กระบวนการแลกเปลี่ยนคีย์สำหรับเข้ารหัส (key exchange)
  • กระบวนการยืนยันตัวตน (certificate validation) ว่าคนที่เรากำลังติดต่อด้วยเป็นตัวจริง
  • กระบวนการเข้ารหัสด้วยคีย์สมมาตร (symmetric key encryption)
  • กระบวนการตรวจสอบความถูกต้อง (hash function)

ทั้งสี่ส่วนนี้เมื่อประกอบกันแล้วจะทำให้การสื่อสารที่ได้ปลอดภัยต่อการดักฟังได้ด้วยกระบวนการเข้ารหัสที่ซับซ้อน (อ่านเพิ่มได้ที่ cloudflare keyless ssl) ร่วมกับการยืนยันตัวตน ซึ่งกระบวนการที่มีจุดอ่อนมากที่สุดคือ ‘กระบวนการยืนยันตัวตน’ จากใบรับรองนี่เอง (certificate) ครับ

ตัวกระบวนการเอง โดยสภาพปกติ (แบบไม่ได้เปิด client certificate validation) เป็นการทำงานที่ฝั่งไคลเอนต์ที่เชื่อมต่อเข้าไป โดยไคลเอนต์จะได้รับข้อมูลใบรับรอง พร้อมลายเซ็นที่ถูกเซ็นด้วยกุญแจลับ (private key) ของเครื่องเซิร์ฟเวอร์ โดยกระบวนการนี้อาศัย “สายการรับรอง” (certificate chain) ว่าใบรับรองนี้ถูกรับรองโดยหน่วยงานใด (A) แล้วหน่วยงานนั้นๆ ถูกรับรองโดยหน่วยงานใด (B) อีกบ้าง ไปเรื่อยๆ จนเจอหน่วยงานที่ฝั่งไคลเอนต์ “รู้จัก และเชื่อถือ” (trusted root)

ตัวอย่างเช่นใบรับรองของ THZ Hosting ที่ได้รับการรับรองจาก Comodo Domain Validation CA ซึ่งถูกรับรองผ่าน Comodo RSA CA โดยมี AddTrust External CA Root เป็นใบรับรองที่ฝั่งไคลเอนต์รู้จักและเชื่อถือ (สังเกตจากคำว่า In trust store)

upic.me

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

upic.me

แต่สุดท้ายแล้ว ผู้ใช้งานก็ยังสามารถกด “ข้าม” การแจ้งเตือน และยินยอมเชื่อมต่ออย่าง(อาจจะ)ไม่ปลอดภัยต่อไปได้อยู่ดี … และนี่คือจุดอ่อนใหญ่ที่สุดของ HTTPS เลยครับ

อย่างไรก็ตาม ในกระบวนการเพื่อความปลอดภัยของ HTTPS ก็ไม่ได้นิ่งนอนใจ มีกระบวนการใหม่ๆ ออกมา นั่นคือการทำ Certificate หรือ Public Key Pinning ซึ่งเป็นการจำกัดการอนุญาตให้ใช้ใบอนุญาตที่ออกโดยผู้รับรองเพียงบางรายเท่านั้น ทำให้ เมื่อเข้าเว็บที่เปิด HPKP และพบใบรับรองปลอม ตัวเบราว์เซอร์จะไม่อนุญาตให้เชื่อมต่อโดยเด็ดขาดอีกต่อไป

เบื้องต้นมาตรฐานนี้ยังคงเป็นร่างอยู่ (http://tools.ietf.org/html/draft-ietf-websec-key-pinning-21) แต่สำหรับเว็บไซต์ใหญ่ๆ (เช่น google และ twitter) ในเบราว์เซอร์อย่าง Chrome และ Firefox ก็ได้มีการบังคับผูกใบรับรองไว้ให้เรียบร้อยแล้วครับ ทำให้หากมีการใช้ใบรับรองปลอมกับเว็บดังกล่าวจะถูกขึ้นข้อความแจ้งเตือนและห้ามการเชื่อมต่ออย่างเด็ดขาด เพื่อให้ผู้ใช้ปลอดภัย (แต่เข้าไม่ได้) ไปเลยครับ

Tags: ,

0198 | เทยแฟร์เฟสติวัลคานิวัลแห่แหนประจำปี 2557

แฮ่กๆ — แค่พิมพ์ชื่อก็เหนื่อยแล้ว (ฮา)

ไปงาน (ที่เค้าบอกว่ามันคือคอนเสิร์ต) เทยแฟร์เฟสติวัลคานิวัลแห่แหนประจำปี 2557 มาครับ

upic.me

ส่วนตัวติดตามรายการเทยเที่ยวไทยอยู่เป็นประจำอยู่แล้ว ถึงแม้ว่าจะมาดูย้อนหลังทางยูทูปอย่างเดียวก็เถอะ…

upic.me

งานแสดงจัดที่เมืองไทย จีเอ็มเอ็มไลฟ์เฮาส์ ชั้น 8 เซนทรัลเวิลด์ความจุประมาณ 2000-3000 ที่นั่ง ใหญ่ใช้ได้เลยสำหรับคอนเสริตที่จัดเอาฮาแบบนี้

upic.me

ตั๋วขายดีมากฮะ ทีแรกเล็งๆ ไว้แถวหน้า เปิดจองสิบนาทีกดดูหายไปเกือบหมดแล้ว เลยขยับมาเป็นกลางๆ หน่อย แถว BF

ข้อเสียใหญ่คงมีแค่… ที่นั่งเป็นแนวระนาบหมดเลย โดนคนด้านหน้าบัง (ซวยเจอคนตัวใหญ่นั่งหน้า) เวลาดูต้องเอียงคอหลบไปๆ มาๆ

upic.me

upic.me

เทคโนโลยีที่เจ๋งที่สุดของการแสดงยกให้ฉากนี้เลยครับ โปรยอั่งเปา ฮามาก.. ทีแรกก็นึกว่าเป็นเครื่องโปรยอะไรซักอย่าง เงยหน้าขึ้นไปดูเท่านั้นแหละ…

upic.me

upic.me

ถ้าจะหวังเรื่องการฟังเพลงแบบเจ๋งๆ แบบคอนเสิร์ตที่นักร้องอาชีพมาร้องก็อย่าหวังมากครับ (ฮา) แต่รับประกันความฮาเลยว่ามัวแต่ขำจนไม่ทันคิดเรื่องร้องเพลงหรอก

upic.me

upic.me

upic.me

แค่ภาพบรรยากาศอาจจะไม่สะใจ ลองดูเทปบันทึกภาพกันได้ที่นี่ฮะ

Tags: