ว่าด้วยเรื่องของ Thai Root CA

ขอเกาะกระแสของข่าว ไมโครซอฟท์รับ root CA ของรัฐบาลไทยตั้งแต่ปลายปีที่แล้ว ซึ่งนำมาซึ่งความแตกตื่นของผู้คนในวง IT ระดับนึง

ข้างล่างนี้คือความเห็นส่วนตัวล้วนๆ หลังจากที่อ่านความเห็นมาพักนึงเลยอยากลองวิเคราะห์เองบ้าง

Certificate ที่ว่า ตัวที่ได้รับรองจาก Mcirosoft Root CA

ก่อนอื่นขอเดาว่า หลังจาก MS รับรอง root CA ของไทย ซึ่งจริงๆแล้วเป็นองค์กรในกำกับดูแลของรัฐ (NRCA ที่อยู่ภายใต้ สพธอ./ETDA) แต่ด้วยความเชือเรื่องการแทรกแทรงการทำงานของบ้านเรา อาจจะเรียกว่าเป็นของรัฐก็คงได้

ผลกระทบในคือ

กรณีเลวร้ายที่สุด – NRCA ออกใบรับรองให้ Single Gateway ของรัฐบาล ทำให้รัฐบาลสามารถทำตัวเองเป็น MITM (Man in the middle) แอบเป็นตัวกลางระหว่างเรากับผู้ให้บริการ เช่น Facebook โดยที่เราไม่รู้ตัว Web Browser หลายๆตัวก็เชื่อถือใบรับรองนี้ ทำให้การดูแค่ว่าเวลาเข้าเว็บแล้วแม่กุญแจเป็นสีเขียวก็ไม่เพียงอีกต่อไป ต้องล้วงลงไปดูด้วยว่า ไอใบสีเขียวๆเนี่ย ออกโดยใคร ถ้าออกโดย NRCA เมื่อไหร่ก็แปลว่าโดนเข้าให้แล้ว

ทางออกที่หลายๆคนเริ่มทำ และเริ่มมีบทความแนะนำให้เอาออกคือ Untrust certificate ของ หน่วยงานที่ว่า และหน่วยงานอื่นๆที่ NRCA ออกใบรับรองให้มีสิทธิออกใบรับรองอีกที (อินเซบชันกันไป) ซึ่งใครไม่ไว้ใจในหน่วยงานที่ว่า และไม่ไว้ใจในรัฐบาลก็ทำตามได้เลย ลองดูจากที่นี่ วิธีลบ root CA cert รัฐบาลไทยออกจากเครื่อง

 

ส่วนในมุมมองเชื่อว่า NRCA สร้างขึ้นมาเพื่ออำนวยความสะดวกให้กับโครงสร้างพื้นฐานของประเทศ มากกว่าจะมาโฟกัสเรื่อง ดักฟังประชาชน (แต่ไม่ได้แปลว่าทำไม่ได้)  เพราะว่าอะไร ?

 

เพราะว่า Certificate ที่ออกโดย NRCA (หรือใครๆก็ตาม) นั้นมันเอาไปทำอะไรได้เยอะมาก เช่น

SSL – ใบรับรองเพื่อยืนยันว่า Server ที่เราติดต่อด้วยนั้นเป็นของจริง และเข้ารหัสข้อมูลที่ส่งหากัน

Code signing – เวลาเราพัฒนาซอฟท์แวร์ เราสามารถ Sign โปรแกรมของเราได้ว่าที่สิ่งที่ลูกค้าได้ไปนั้น เป็นของเราจริงๆ ไม่ได้มีใครแอบเอาไฟล์อะไรมาแทรกเพื่อแก้ไขมัน ทุกไฟล์จึงควรได้รับการรับรองจากเราเสมอ

Digital signing – เข้าสู่ยุค paperless, เวลาเราเซ็นเอกสาร digital เช่น pdf ก็ต้องใช้ใบรับรองเหล่านี้ ซึ่งจะตรวจสอบกับ Root CA ว่าลายเซ็นถูกต้องเป็นของจริงหรือไม่

จริงๆยังมีพวกการยืนยันตัวต้นพวก Chip บน Smartcard ต่างๆก็ต้องพึ่งพา certificate เหล่านี้

 

 

เราลองมาดูกันว่า NRCA (และบ.ที่ได้รับอนุญาติ) ออกใบรับรองอะไรไปบ้างแล้ว แล้วถ้าเรา Untrust จะกระทบอะไรหรือไม่อย่างไร ?

หน่วยงานใช้บริการใบรับรองของ TDID (Thai digital id) ที่ได้การรับรองขาก NRCA อีกทอดหนึ่ง

ลองมาไล่ดูรายละเอียดกัน

Bank of Thailand (BOT)

TDID ออกใบรับรองให้ Root CA ของ BOT ซึ่งใช้ในการเข้ารหัสการส่งข้อมูลระหว่างหน่วยงาน

ซึ่งครั้งหนึ่งผมเคยทำงานอยู่ในตำแหน่งที่ต้องเกี่ยวกับการติดตั้ง/เปลี่ยน certificate ที่ออกโดย BOT ซึ่งตอนนั้นถ้าจำไม่ผิดยังมีสถานะเป็น Self-signed การมีอยู่ตรงนี้ของ NRCA ทำให้การออกใบรับรองโดยหน่วยงานที่จำเป็นต้องใช้ มีความน่าเชื่อถือมากขึ้น มากกว่าจะ issue กันเอง trust กันเอง ซึ่งถ้าโดยแอบเปลี่ยนในขั้นตอนใดขั้นตอนหนึ่งก็เสียหายได้ ไม่ว่าจะเป็นการแอบดูข้อมูลหรือแก้ไข

 

NITMX CA

National ITMX เป็นบริษัทตัวกลางที่ตั้งขึ้นเพื่อดูแล ATM Pool เวลาเรามีการทำธุรกรรมผ่าน ATM  “เดา” ว่าใบระบรองถูกออกให้กับ NITMX CA เพื่อใช้ใน web ที่เป็นระบบ Intranet


 

ใช้สำหรับระบบ Chip บน ATM ที่แต่ละธนาคารเอาไป Issue ต่อ ลองอ่านเพิ่มเติมที่เว็บเจ้าตัว http://www.thaidigitalid.com/index.jsp?page=thai_bank_chipcard.jsp

ยังมีอีกหลายอย่างที่พึ่งพากระบวนการออก Certificate ของ NRCA เช่น

ซึ่งส่วนตัวเห็นว่ากระบวนการข้างต้นเหล่านั้น จะสะดวกเมื่อการรับรอง/เพิกถอนสามารถทำได้จากหน่วยงานในประเทศ และจริงๆควรจะทำโดยหน่วยงานในประเทศเพื่อให้มั่นใจว่าไม่โดนแทรกแทรกจากตปท.

 

เพราะงั้นคิดว่าการมีอยู่ของ NRCA และได้รับการรับรองจาก Microsoft CA นั้นเป็นสิ่งที่ดี …  ดีกว่ามี NRCA ที่ไม่มีใครเชื่อถือ

และไม่ว่าประชาชนจะ Untrust Root CA ตัวนี้หรือไม่ …. ก็คง(ยัง)ไม่มีผลกับบริการที่ NRCA และ TDID ออกใบรับรองไปแล้ว

เพราะว่าโดยปกติแล้วใบรับรอง SSL ของเว็บไซต์ก็นิยมขอขจากบริการจากต่างประเทศได้สะดวกกว่าอยู่แล้ว

 

สุดท้ายก็ ถ้าเห็น SSL Certificate ของเว็บทั่วๆไปออกโดย NRCA หรือ TDID เมื่อไหร่ ก็ .. ตัวใครตัวมันล่ะ … ซึ่งสองหน่วยงานที่ว่าถ้าโดน report เมื่อไหร่ คิดว่า MS ก็คงไม่ปล่อยไว้

ตัวอย่าง SSL Certificate ของ Facebook, ต่อไปต้องดูที่ Issued by ให้ละเอียดขึ้น

ปล. เหตุการณ์แบนี้อาจจะไม่ได้เกิดขึ้นแค่ในระดับประเทศเท่านั้น ในบริษัทที่เครื่องคอมพิวเตอร์อยู่ภายใต้ Domain เดียวกัน บริษัทก็สามารถส่ง Certificate “ใดๆ” มาให้เครื่องคอมพิวเตอร์ในโดเมน trust ได้ แล้วก็ทำ Main in the middle ได้เช่นเดียวกัน

ปล2. ผมไม่ได้มีส่วนได้ส่วนเสียใดๆกับใครในเรื่องนี้ (ฮา) ผิดพลาดอะไร เข้าใจอันไหนไม่ตรงกันคอมเม้นชี้แนะด้วยคับ

 

References:

รูปภาพและการให้บริการของ TDID มาจาก www.thaidigitalid.com

อีกหนึ่งความเห็นที่น่าสนใจของ NRCA https://www.facebook.com/X20AThinkpad/posts/1759466287412850 

Scroll to top