Clear
Lead Graphic Papers

Global Surveillance: ตอนที่ 2

ผู้เขียน: ไพชยนต์ วิมุกตะนันทน์
วันที่เผยแพร่: 5 พฤศจิกายน 2556
ปรับปรุงล่าสุด: 5 พฤศจิกายน 2556

Share on Facebook Share on Twitter Share on Google+

ในตอนที่แล้ว [1] ผู้เขียนได้เล่าถึงวิธีการดักรับข้อมูล ด้วยการเปลี่ยนทิศทางข้อมูลในระดับ ISP ต่อ ISP (จริงๆ คือระดับ AS ต่อ AS) มาแล้ว อาจจะมีผู้อ่านบางท่านสงสัยว่า ข้อมูลในปัจจุบันนี้ อย่าว่าแต่ใช้วิธีหลอก BGP routing เลย แม้แต่จะมาดักข้อมูลกันโดยตรงในระบบเครือข่ายของผู้รับหรือผู้ส่งก็ยังไม่อาจทำได้โดยง่าย เพราะส่วนมากข้อมูลที่เรียกได้ว่าสำคัญสักหน่อย ก็มีการเข้ารหัสลับข้อมูลกันทั้งสิ้น ที่รู้จักกันดีก็คือ https หรือ SSL/TLS ที่ใช้การเข้ารหัสลับระดับ 1024 bits เป็นอย่างน้อย ถึงแม้ว่าความเร็วของเครื่องคอมพิวเตอร์ในปัจจุบันนี้จะเพิ่มขึ้นอย่างมาก แต่ก็ยังไม่มีหลักฐานที่แน่ชัดว่า SSL/TLS ที่ใช้การเข้ารหัสลับระดับต่ำสุดที่ 1024 bits จะสามารถถูก “เจาะ” ได้ด้วยวิธีทางตรง คือการสุ่มหา Key ที่ถูกต้อง (วิธีการ Bruteforce) ได้ง่ายๆ ยิ่งไปกว่านั้น ส่วนมากขนาดของ Key ในปัจจุบันนี้ก็ขยับกันขึ้นไปอยู่ที่ 2048 bits กันเสียเป็นส่วนมาก ส่วนวิธีการเจาะโดยอ้อม คือใช้ช่องโหว่ของอัลกอริธึมนั้น ก็ดูเหมือนจะเป็นไปได้ยากเช่นกัน เพราะอัลกอริธึมเท่าที่มีเหลือใช้งานในปัจจุบัน ก็ล้วนแต่ผ่านการวิเคราะห์และศึกษากันมาอย่างเข้มข้นพอสมควรจนอาจจะกล่าวได้ว่า คงไม่มีช่องโหว่เหลืออยู่กันอีกแล้ว

การเข้ารหัสลับทุกชนิดนั้น ความสำคัญของมันอยู่ที่ Key ที่จะเป็นระบบ Symmetric (ใช้ Key เดียวทั้งเข้าและถอด) หรือ Asymmetric (ใช้ Key ใดเข้าต้องเอาอีก Key หนึ่งถอด) ก็ตาม ถ้าหากผู้ไม่หวังดีได้ Key ที่ว่านี้ไปก็เท่ากับจบเกมทันที ดังนั้น ขบวนการเข้ารหัสลับจึงจำเป็นต้องมีระบบการบริหารจัดการ Key (Key Management) ที่เชื่อถือได้ และสะดวกต่อการใช้งานในชีวิตจริง

การเข้ารหัสลับที่พบเห็นได้ทั่วไปสำหรับผู้ใช้งานแทบทุกระดับ ก็คงไม่พ้น TLS/SSL ที่มีใช้อยู่ใน https, smtps, imaps และอื่นๆ อีกจำนวนหนึ่ง ซึ่งเราเชื่อถือกันมาอย่างยาวนาน ถึงแม้จะมีข่าวเรื่องการพบช่องโหว่ใน TLS/SSL รุ่นต่างๆ แต่สำหรับ TLS รุ่น 1.1 และ 1.2 ที่เริ่มมีการใช้งานมากขึ้นในปัจจุบันก็ได้มีการแก้ไขช่องโหว่เหล่านั้นไปจนเกือบหมดแล้ว ประโยชน์ของการเข้ารหัสลับแบบนี้ก็คือมีการทำ Key Managent ที่ง่าย และมีประสิทธิภาพ นั่นคือ Client และ Server มีการแลกเปลี่ยน Key ซึ่งเป็นชนิด Asymmetric กันโดยอัตโนมัติ นอกจากนั้นยังมีการรับรองว่า Key ที่ได้จาก Server นั้น เป็น Key ที่ถูกต้องด้วยกลไก PKI (อาศัย CA เป็นผู้รับรอง) อีกด้วย ขบวนการนี้เป็นขบวนการเบื้องหลังที่ผู้ใช้งานอาจจะไม่รู้สึก ซึ่งในแง่หนึ่งก็เป็นเรื่องของความสะดวกที่ผู้ใช้ไม่จำเป็นต้องมีความเข้าใจกลไกอะไรทั้งสิ้น แต่ก็สามารถเชื่อมต่อกับปลายทางได้อย่างมั่นคงปลอดภัย แต่ถ้าเป็นคนมองโลกในแง่ร้ายก็คือ เชื่อได้แค่ไหนว่าขบวนการการเข้ารหัสลับนี้จะทำงานได้อย่างที่มันควรจะทำ? เราจะมาลองดูกันว่า ถ้าต้องการทำลายความมั่นคงปลอดภัยของการเข้ารหัสลับด้วย TLS/SSL จะสามารถทำได้อย่างไร

ดังที่กล่าวแล้วว่า TLS/SSL เป็นการเข้ารหัสลับในรูปแบบ PKI หรือ Public Key Infrastructure ที่คำว่า Infrastructure นี้เองเป็นคำที่สำคัญ เพราะแสดงให้เห็นว่าประกอบด้วยของหลายส่วน ส่วนที่ผู้เขียนจะขอพูดถึงในครั้งนี้ก็คือ CA (Certificate Authority) ที่เราเชื่อถือและยอมรับให้เป็นผู้รับรองความถูกต้องของการเข้ารหัสลับนั่นเอง1 ซึ่งตามปกติ เมื่อ CA จะออกใบรับรองอิเล็กทรอนิกส์ เพื่อใช้ในการเข้ารหัสลับแบบ SSL/TLS กับโดเมนใดๆ ยกตัวอย่างเช่น mysecuredomain.com ทาง CA ก็ต้องมีการพิสูจน์ว่า ผู้ที่ส่งคำขอให้ออกใบรับรอง เป็นเจ้าของ mysecuredomain.com จริง ซึ่งขั้นตอนนี้มีความแตกต่างปลีกย่อยกันไปใน CA แต่ละราย โดยส่วนมากจะอ้างอิงตามข้อมูลใน Whois record เป็นหลัก

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

สมมติว่า ผู้ไม่หวังดี ต้องการดักรับข้อมูลของโดเมน mysecuredomain.com ซึ่งมีใบรับรองอิเล็กทรอนิกส์ของตัวเองอยู่แล้ว การที่ผู้ไม่หวังดีจะสร้างเครื่องแม่ข่ายปลอมของ mysecuredomain.com และหลอกล่อให้เหยื่อเข้าไปสู่เครื่องแม่ข่ายนี้ได้ (อาจใช้ DNS Poison , Malware หรือ ARP Poison ก็ตาม) เหยื่อก็อาจสังเกตได้ว่า mysecuredomain.com ปลอมนี้ไม่มี SSL ทำให้ไหวตัวทัน หรือถ้าผู้ไม่หวังดีจะสร้างใบรับรองขึ้นมาเอง ก็ยิ่งทำให้เหยื่อรู้ตัวเร็วเข้าไปอีก เพราะเว็บบราวเซอร์ของเหยื่อ ย่อมมีการเตือน “ใบรับรองที่ไม่น่าเชื่อถือ” (Untrusted Certificate) ขึ้นมา ทางเดียวที่ผู้ไม่หวังดีจะหลอกได้อย่างแนบเนียนก็คือ ต้องไปหาใบรับรองที่ “น่าเชื่อถือ” ของ mysecuredomain.com มาให้ได้ ซึ่งอย่างที่กล่าวแล้วว่า CA ต้องมีการตรวจความเป็นเจ้าของโดเมนก่อน จึงอาจจะกล่าวได้ว่า หากเป็น CA ชั้นนำ การที่จะถูกหลอกลวงให้ออกใบรับรองโดยผู้ที่ไม่ใช่เจ้าของโดเมนได้นั้น ย่อมเป็นไปได้ยาก และอาจถูกตรวจสอบพบได้โดยง่าย นอกจากนี้ การเจาะระบบของ CA เพื่อลักลอบออกใบรับรอง ในรูปแบบการดำเนินการของ CA บางแห่งที่มีความมั่นคงปลอดภัยสูงก็แทบเป็นไปไม่ได้เลย เพราะจะมีการตรวจสอบซ้ำด้วยเจ้าหน้าที่ก่อนที่จะออกใบรับรองทุกครั้ง

แต่ถ้าหากว่า มีอำนาจมืดบางประการ ที่บังคับ CA ให้ออกใบรับรองของโดเมนใดๆ ได้ จะเกิดอะไรขึ้น? “ผู้ไม่หวังดี” ที่อยู่ข้างเดียวกับอำนาจมืดดังกล่าว ย่อมสามารถที่จะสร้างเครื่องแม่ข่ายปลอมของโดเมนใดๆ ก็ได้ โดยที่ผู้ใช้ส่วนมากไม่มีทางทราบได้ เพราะต่อให้ใบรับรองจะเป็นคนละใบกับเครื่องแม่ข่ายที่แท้จริง (อาจจะออกจากคนละ CA กัน) แต่ก็เป็นใบรับรองที่ “น่าเชื่อถือ” เช่นเดียวกับใบที่แท้จริง หรือต่อให้ผู้ใช้งานลงทุนตรวจสอบรายละเอียดในใบรับรองทุกครั้งก่อนจะป้อนข้อมูลใดๆ ในเว็บไซต์ (เว็บบราวเซอร์ทั่วไปสามารถแสดงรายละเอียดนี้ได้) หรือใช้วิธีการตรวจสอบแบบอัตโนมัติ เช่น ในเว็บบราวเซอร์ Firefox มี Add-on ที่ชื่อ Certificate Patrol [2] ที่จะตรวจสอบใบรับรองของเครื่องแม่ข่าย และแจ้งเตือนเมื่อพบการเปลี่ยนแปลง แต่การที่พบว่าผู้ออกใบรับรอง (คือ CA หรือในใบรับรองจะเรียกว่า Issuer) เปลี่ยนไปจากเดิม ก็อาจไม่ถือว่าเป็นเรื่องแปลกแต่อย่างใด เพราะบางโดเมน อาจมีการขอใบรับรองจาก CA มากกว่า 1 แห่ง หรือเป็นใบรับรองใหม่ที่ออกทดแทนใบเดิมที่กำลังจะหมดอายุก็ได้

หรืออาจเป็นใบรับรองที่ถูกออกมาโดยเจ้าของโดเมนไม่ได้รับทราบ เพื่อประโยชน์ในการดักข้อมูลก็เป็นได้เช่นกัน แต่ที่แน่ๆ ในระดับของผู้ใช้งานส่วนมาก ไม่มีทางทราบได้ว่ากำลังถูกดักข้อมูลด้วยใบรับรอง “จริง” ที่ “ปลอม” นี้อย่างแน่นอน

CA เป็นธุรกิจที่ขายความน่าเชื่อถือ มีระเบียบปฏิบัติและกระบวนการทำงานที่เป็นระบบ และเคร่งครัด แต่ก็ไม่ได้มีข้อจำกัดใดที่ “ผู้ที่อยู่เหนือกว่า” จะเข้ามาแทรกแซงไม่ได้ โดยเฉพาะ “ผู้ที่อยู่เหนือกว่า” ระดับหน่วยงานความมั่นคง หรือรัฐบาลบางประเทศ ที่มีนโยบายในการ “เฝ้าระวัง” เพื่อเหตุผลด้านความมั่นคงของประเทศ


1 ที่จริงคือ ความถูกต้องของใบรับรองอิเล็กทรอนิกส์ ที่ใช้เป็น Key ตัวหนึ่งในการเข้ารหัสลับ แต่จะไม่ขอพูดถึงรายละเอียดในที่นี้

อ้างอิง

  1. https://www.thaicert.or.th/papers/technical/2013/pa2013te006.html
  2. https://addons.mozilla.org/en-us/firefox/addon/certificate-patrol/
Clear