กรณีปัญหาระหว่างกูเกิลกับไซแมนเทคเกี่ยวกับการออกใบรับรองดิจิตอลที่ไม่เป็นไปตามมาตรฐานมาเป็นเวลานาน (ทั้งที่ออกโดยไซแมนเทคเองและที่ออกโดย (อดีต) ตัวแทนของไซแมนเทค) ซึ่งทำให้กูเกิลได้เตรียมมาตรการเพื่อปกป้องผู้ใช้งานเว็บเบราว์เซอร์ Chrome เอาไว้แล้วนั้น ได้พบว่าการยกเลิกการโชว์สถานะ EV หรือที่เรียกกันว่าแถบ Green Bar ซึ่งเป็นหนึ่งในมาตรการที่กูเกิลได้เตรียมที่จะนำมาใช้นั้นเหมือนจะได้มีผลบังคับใช้ไปแล้วทั้งที่ยังไม่ถึงกำหนดเวลา โดยเฉพาะเว็บธนาคารในไทยซึ่งส่วนใหญ่จะใช้ใบรับรองแบบ EV ที่ออกโดยไซแมนเทคนั้น มีหลายเว็บที่พบว่าแถบ Green Bar ดังกล่าวได้หายไปแล้ว แต่ของบางเว็บก็ยังคงมีอยู่ ทำให้เกิดความสับสนว่านี่เป็นการเริ่มต้นแล้วของมาตรการการดังกล่าวของกูเกิลใช่หรือไม่ ซึ่งแท้จริงแล้วนั้นปัญหานี้ไม่เกี่ยวกันกับมาตรการข้างต้นที่กูเกิลได้เตรียมที่จะนำมาใช้แต่อย่างใด หากแต่เป็นปัญหาที่ได้เกิดขึ้นมาก่อนแต่เพิ่งจะได้มีการค้นพบในช่วงนี้พอดี ซึ่งสาเหตุของปัญหาดังกล่าวได้ถูกเปิดเผยโดยกูเกิลเองว่าเกิดจากการเรียง เลข OID ในส่วนของ Certificate Policies ผิดของใบรับรองที่ออกโดยไซแมนเทค
ตามปกติแล้วใบรับรองทุกใบจะมีการระบุข้อกำหนดที่ต้องปฎิบัติตามของ CA ไว้ในส่วนของ Certificate Policies ซึ่งเป็นการระบุโดยใช้เลข OID (ที่ไม่ซ้ำกัน) ซึ่งแม็พกับข้อกำหนด (Policy) ของใบรับรองแต่ละประเภท (ไม่ว่าจะเป็น DV, OV, EV, Code Signing, Code Signing แบบ EV) ของ CA แต่ละเจ้า ซึ่งการที่เบราว์เซอร์แต่ละตัวจะตัดสินใจว่าจะขึ้นสถานะ EV ให้หรือไม่สำหรับใบรับรองแต่ละใบนั้น ก็โดยการเช็คจากเลข OID นี้ว่าเป็นเลข OID ที่ได้ผ่านการรับรองแล้วว่าสามารถใช้เพื่อการออกใบรับรองแบบ EV ได้ หรือไม่ ซึ่งเลข OID ที่ใช้เพื่อการออกใบรับรองแบบ EV ที่ไซแมนเทคสามารถใช้ได้นั้นได้แก่
นอกเหนือจากการระบุเลข OID ของตนเองลงไปใน Certificate Policies แล้ว CA หลายรายยังได้มีการใส่เลข OID 2.23.140.1.1 ของ CA/Browser Forum เข้าไปด้วย เพื่อบ่งบอกว่าได้มีการปฏิบัติตามข้อกำหนดนั้นเช่นกัน โดยตามปกติ CA จะเรียงให้เลข OID ของตนเองขึ้นก่อนแล้วตามด้วยเลข OID ของ CA/Browser Forum แต่ใบรับรอง EV ที่ออกโดยไซแมนเทคที่มีปัญหากับ Chrome 57 นั้น ได้เรียงเอาเลข OID 2.23.140.1.1 นี้ขึ้นก่อน แล้วให้เลข OID 2.16.840.1.113733.1.7.23.6 ตามหลัง จึงทำให้ Chrome เข้าใจผิดคิดว่าใบรับรองนี้ไม่ใช่ใบรับรอง EV เนื่องจาก Chrome จะเช็ค OID แรกเพียงตัวเดียว ในขณะที่เบราว์เซอร์ตัวอื่นเช่น Firefox อาจเช็คทุกตัวเพื่อหาดูว่าในลิสต์มี OID ที่เป็นของใบรับรองแบบ EV หรือเปล่า ถ้ามีถึงจะโชว์ว่าเป็น EV ไม่ว่า OID ที่เป็น EV นั้นจะอยู่ลำดับใด
ซึ่งประเด็นนี้อาจเกิดการถกเถียงกันว่าใครผิด บางส่วนอาจมองว่า Chrome ผิดที่ไม่เช็คทุกๆ OID ในลิสต์แบบที่ Firefox ทำ แต่บางส่วนก็อาจมองว่าไซแมนเทคผิดที่ไม่เรียง OID หลักของตนเองที่ใช้เพื่อการออกใบรับรองแบบ EV ขึ้นมาเป็น OID แรก (ในใบรับรองกลุ่มที่มีปัญหากับ Chrome) และไซแมนเทคผิดที่มีกระบวนการสร้างใบรับรองที่เหมือนมีสองมาตรฐาน คือมาตรฐานนึงเอา 2.16.840.1.113733.1.7.23.6 ของตนเองขึ้นก่อนแล้วเอา 2.23.140.1.1 ของ CA/Browser Forum ตามหลัง แต่อีกมาตรฐานนึงดันเอา 2.23.140.1.1 มาขึ้นก่อนแล้วเอา 2.16.840.1.113733.1.7.23.6 ตามหลัง ซึ่งแสดงให้เห็นถึงการไม่มี consistency ในการทำงานของไซแมนเทคเอง พอๆกับการออกใบรับรองในภาพรวมที่ไม่ได้มาตรฐานมาเป็นเวลานานแล้วนั่นเอง
สรุปว่าปัญหานี้เกิดเฉพาะกับ Chrome 57 (ไม่นับตัว Beta ซึ่งเป็น Chrome 58 และตัว Dev กับ Canary ซึ่งเป็น Chrome 59 ซึ่งทั้งหมดนี้ยังไม่ได้ทำการทดสอบ) และน่าจะเกิดเฉพาะบน Windows และ Linux แต่อาจไม่เกิดบน Mac (เนื่องจากมีผู้รายงานว่าไม่พบปัญหาและยังไม่พบรายงานที่ชัดเจนว่าเกิดปัญหานี้บน Mac) และเกิดเฉพาะกับใบรับรอง EV ที่มี OID 2.23.140.1.1 ของ CA/Browser Forum นำหน้าเป็นตัวแรกแทนที่จะเป็น OID ของ CA เอง เช่นถ้าเป็นของไซแมนเทคที่ใช้ CA ของ VeriSign ก็ต้องให้ 2.16.840.1.113733.1.7.23.6 นำหน้าเป็นตัวแรก โดยวิธีแก้ไขที่เร็วที่สุดน่าจะเป็นการขอออกใบรับรองใหม่ซึ่งน่าจะทำได้ทันทีจากทางฝั่งลูกค้าที่เจอปัญหานี้ผ่านทาง Web-based PKI Management Console หากออกใบใหม่แล้วยังเป็นเหมือนเดิมก็อาจต้องคุยกับทาง CA โดยอาจยกตัวอย่างใบรับรองที่ไม่มีปัญหาประกอบไป ซึ่งถ้าเป็นเว็บธนาคารในไทยที่ดังๆที่ไม่มีปัญหาก็เช่น KTB netbank, KK Biz e-Banking, ธนาคารแห่งประเทศไทย เป็นต้น ส่วนที่มีปัญหาก็เช่น K-Cyber, Bualuang iBanking, Citibank เป็นต้น
เนื่องจากการไม่โชว์สถานะ EV เป็นเรื่องที่มีผลกับความเชื่อมั่น อีกทั้งยังถือเป็นการลงทุนที่ไม่คุ้มค่า เนื่องจากราคาของใบรับรอง EV นั้นแพงกว่าแบบธรรมดาอยู่มาก จึงน่าจะถือได้ว่าเป็นเรื่องที่เร่งด่วนพอสมควรสำหรับเว็บที่มีปัญหา เพราะหากรอให้ Chrome แก้ปัญหานี้ก็คงใช้เวลาพอประมาณ หรือหากจะเปลี่ยน CA ไปเลย (เพราะยังไงๆสุดท้ายก็คงต้องเปลี่ยนอยู่แล้วตอนที่กูเกิลเริ่มใช้มาตรการต่างๆข้างต้นจริงๆ) ก็อาจต้องใช้เวลาอีกเหมือนกัน
หากต้องการเช็คแบบเร็วๆว่าเว็บใดมีปัญหาบ้าง ก็อาจใช้ OpenSSL เช็คผ่านทาง Command Line ได้ดังนี้
ตัวอย่างของเว็บที่ใช้ใบรับรอง EV แบบที่ไม่มีปัญหากับ Chrome 57
openssl s_client -connect www.ktbnetbank.com:443 </dev/null 2>/dev/null | openssl x509 -text | grep -E "Issuer:|Subject:|Poli"
Issuer: C = US, O = Symantec Corporation, OU = Symantec Trust Network, CN = Symantec Class 3 EV SSL CA - G3 Subject: jurisdictionC = TH, businessCategory = Private Organization, serialNumber = DOC:19940324, C = TH, ST = Bangkok, L = Wattana, O = KRUNG THAI BANK PUBLIC COMPANY LIMITED, OU = KRUNG THAI BANK PUBLIC COMPANY LIMITED, CN = www.ktbnetbank.com X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.23.6 Policy: 2.23.140.1.1
ตัวอย่างของเว็บที่ใช้ใบรับรอง EV แบบที่มีปัญหากับ Chrome 57
openssl s_client -connect online.kasikornbankgroup.com:443 </dev/null 2>/dev/null | openssl x509 -text | grep -E "Issuer:|Subject:|Poli"
Issuer: C = US, O = Symantec Corporation, OU = Symantec Trust Network, CN = Symantec Class 3 EV SSL CA - G3 Subject: jurisdictionC = TH, businessCategory = Private Organization, serialNumber = 0107536000315, C = TH, postalCode = 10140, ST = Bangkok, L = Ratburana, street = 1 Soi Rat Burana 27/1 Rat Burana Rd., O = KASIKORNBANK Public Co Ltd, OU = Retail And Sme E-Business Department, CN = online.kasikornbankgroup.com X509v3 Certificate Policies: Policy: 2.23.140.1.1 Policy: 2.16.840.1.113733.1.7.23.6
Comments
ขอบคุณครับ
เพิ่มเติมนิดหน่อยคือเมื่อวานนี้แพตช์เช้า master ไปแล้วเรียบร้อย ถ้ารอโค้ดไหลตามรอบการ release ปัญหาก็จะหายไปเอง (ถ้ากูเกิลไม่ลงดาบแบน EV จาก Symantec เสียก่อน)
lewcpe.com, @wasonliw
แอบอ่านยาก (แม้แต่ผมเองยังยอมรับว่ามึน) คงต้องมี part อธิบายเพิ่มเติมหน่อยนะครับว่าเกิดอะไรขึ้น พวก OID คืออะไร เกี่ยวอะไรกับการรับรองทำนองนี้น่ะครับ
เท่าที่ผมจับใจความได้คือ Chrome สะเพร่าในการนับโดยทึกทักเอาเองว่าเลข OID (ซึ่งมันคืออะไรผมก็ไม่รู้ คงต้องหาอ่านอีกที) ต้องเรียงกัน แต่ Symantec ก็ผิดที่ไม่มีมาตรฐานในการออกเลข OID
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
อันนี้ผมแนะนำเพิ่มเติมว่าเนื้อหาอ่านยากไปหน่อยจริงๆ ถ้าปรับให้กระชับได้ เช่น
ปัญหาเบราว์เซอร์ไม่แสดง Green Bar เมื่อเป็นใบรับรอง EV เป็นเพราะ OID เปลี่ยนตำแหน่ง
จากปัญหา Chrome 57 ไม่แสดง Green Bar แม้ใบรับรองจะเป็น EV ก็ตามอาจจะทำให้หลายคนสับสนกับความขัดแย้งระหว่างกูเกิลและไซแมนเทค ที่กูเกิลประกาศจะหยุดการรับรอง EV กับใบรับรองทุกใบของไซแมนเทค แต่จากการตรวจสอบพบว่าเป็นคนละปัญหากัน และเป็นบั๊กของ Chrome เองที่กำลังแก้ไข
ปัญหาตอนนี้เกิดจากค่าในฟิลด์ "Certificate Policies" ที่เบราว์เซอร์ใช้ตรวจสอบว่าใบรับรองเป็น EV หรือไม่ปกติแล้วใบรับรองจากไซแมนเทคจะมีค่าเป็น OID.2.16.840.1.113733.1.7.23.6 และ OID.2.23.140.1.1 ตามลำดับ สำหรับใบรับรองของไซแมนเทค แต่ปรากฎว่าใบรับรองบางใบเช่นของธนาคารกสิกรไทย, ธนาคารกรุงเทพ, และ Citibank กลับออกค่านี้สลับตำแหน่งกันเป็น OID.2.23.140.1.1 และ OID.2.16.840.1.113733.1.7.23.6
ทีมงาน Chrome แพตช์บั๊กนี้แล้วเมื่อวานนี้ หากไม่มีอะไรผิดพลาดธนาคารที่ Green Bar หายไปก็จะกลับมาเหมือนเดิมในอนาคต แต่ระหว่างนี้หากต้องการให้กลับมาก็อาจจะติดต่อ CA เพื่อออกใบรับรองใหม่ได้
lewcpe.com, @wasonliw
ขอบคุณครับ แสดงว่าผมเข้าใจถูกล่ะ
ผมว่าถ้าเอาข้อความนี้ไปไว้ท้ายบทความ (ออกแนวบทสรุปสำหรับผู้บริหาร/ผู้ใช้งานทั่วไป) จะได้มั้ยครับ? เพราะผมเชื่อว่าสักพักคนที่ตามเรื่องนี้ (โดยเฉพาะสายการเงินที่โดนเรื่องนี้เต็มๆ) ต้องเข้ามาอ่านเรื่องนี้แน่ๆ
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
ได้พยายามสรุปเอาไว้แล้วครับ เพียงแต่ไม่อยู่ตอนท้าย เพราะตอนท้ายเป็นส่วนของตัวอย่างการเช็คครับ
รายชื่อใบรับรองดิจิตอลทั้งหมดที่ออกโดย Root CA และ Intermediate CA สัญชาติไทย
ขอบคุณครับ
ที่เสนอให้ไว้ตอนท้ายผมเผื่อไว้สำหรับคนที่ไม่ใช่ technician มาอ่านจะได้ไม่สับสน
อย่างไรก็ขอบคุณมากครับ
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
ขอบคุณสำหรับคำแนะนำครับ ได้พยายามย่อในส่วนที่เวิ่นเว้อไปบ้างแล้วแต่ก็คงจะยังยาวอยู่เนื่องจากต้องการลงรายละเอียดเพื่อที่ผู้อ่านจะได้ตัดสินใจเองครับว่าผิดที่ใคร เพราะผมไม่อยากใช้ความเห็นส่วนตัวฟันธงลงไป
ส่วนตัวแล้วไม่อยากเรียกว่าเป็นบั๊กของ Chrome ครับ เพราะอาจมีมาตรฐานกำหนดอยู่ว่าควรเอา OID EV ขึ้นเป็นตัวแรกหรือเปล่า (ยังไม่ได้พยายามหา) และเท่าที่เช็คดูเคร่าๆก็ยังไม่เจอ CA เจ้าอื่นที่เอา OID ของตัวเองไว้หลัง OID ของ CA/Browser Forum ครับ ไม่ว่าจะเป็นใบรับรอง EV หรือ OV หรือ DV
ในอดีตนานมาแล้วก็เคยมีกรณีที่เบราว์เซอร์ Firefox (ถ้าจำไม่ผิด) ยืนยันที่จะไม่แสดงค่าของแท็ก ALT สำหรับรูปภาพเหมือนกับที่ IE แสดง แม้เว็บไซต์หลายที่จะใช้ ALT เนื่องด้วยไม่เป็นไปตามมาตรฐานหรือข้อกำหนดซึ่งบอกไว้ว่าต้องใช้ Title กรณีนี้จะบอกว่าเป็นบั๊กของ Firefox ก็คงไม่ได้ ปัจจุบันไม่แน่ใจว่ามีการแสดง ALT สำหรับรูปภาพแล้วหรือยัง
รายชื่อใบรับรองดิจิตอลทั้งหมดที่ออกโดย Root CA และ Intermediate CA สัญชาติไทย
ได้อธิบายเพิ่มเติมในส่วนของ OID ไปแล้วครับ ตอนนี้น่าจะอ่านง่ายขึ้นหน่อย
อาจจะพูดว่า Chrome ไม่ยอมไล่เช็คให้ครบทุกตัวจะตรงกว่าครับ แต่ตอนนี้ยังไม่ชัดว่ามีข้อกำหนดให้ OID ของ CA ที่ออกใบ cert จะต้องอยู่เป็นตัวแรกหรือเปล่า ถ้ามีก็แสดงว่า Chrome ไม่ผิดครับ แต่ Firefox ดันทำเกินหน้าที่เอง แถมเป็นการส่งเสริมในทางอ้อมให้ CA บางรายได้แหกกฎด้วย (สมมติว่ามันมีกฎนี้นะครับ)
เรียกว่า เรียง เลข OID จะตรงกว่าครับ เพราะเลขนี้ไม่ได้มีการออกใหม่สำหรับใบ cert แต่ละใบ แต่เป็นเลขประจำตัว Policy ของแต่ละประเภทของ cert ของแต่ละ CA เช่น CA นี้อาจมี 1 OID สำหรับ cert แบบ DV, 1 OID สำหรับ cert แบบ OV, 2 OID สำหรับ cert แบบ EV เป็นต้นครับ ซึ่งก็จะใช้เลขนั้นเลขเดียวสำหรับ cert ประเภทนั้น
รายชื่อใบรับรองดิจิตอลทั้งหมดที่ออกโดย Root CA และ Intermediate CA สัญชาติไทย
ขอบคุณครับ
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
การะบวนการ => กระบวนการ
แก้ไขแล้วครับ ขอบคุณครับ
รายชื่อใบรับรองดิจิตอลทั้งหมดที่ออกโดย Root CA และ Intermediate CA สัญชาติไทย
แล้ว OID นี้งอกขึ้นมาจากไหน ใส่มาเพื่ออะไรครับ?
ได้แก้ไขเพิ่มเติมเข้าไปแล้วครับว่าเลข OID 2.23.140.1.1 เป็นของ CA/Browser Forum ครับ ซึ่ง CA หลายราย (แต่ไม่ทั้งหมด) ได้มีการใส่เลขนี้เข้าไปใน Certificate Policies ด้วย เพื่อบ่งบอกว่าได้มีการปฏิบัติตามข้อกำหนดนั้นเช่นกัน
รายชื่อใบรับรองดิจิตอลทั้งหมดที่ออกโดย Root CA และ Intermediate CA สัญชาติไทย
[@29-Mar-17 20:47] เหมือนจะแก้แล้วจะ เปิดอ่านข่าวนี้เลยลอง check ว่า Chrome version ไหน มันให้ upgrade จาก 56.xx เป็น 57.0.2987.110 ละ
เข้า KCyber ก็พบ Green Bar เป็นชื่อตามปกตินะครับ
ของผมยังขึ้นไม่ขึ้น Green bar นะครับ Chrome ver. เดียวกันเลย
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
ทำไมอาจจะไม่เกิดกับ mac ครับ
มือใหม่!! ใหม่จริงๆนะ
เนื่องจากมีผู้รายงานว่าไม่พบปัญหาและยังไม่พบรายงานที่ชัดเจนว่าเกิดปัญหานี้บน Mac ก็เลยใช้คำว่า อาจไม่เกิดบน Mac ไปก่อนครับ
ในทางทฤษฎีแล้วถ้าเป็นโค๊ดตัวเดียวกันก็น่าจะมีปัญหาแบบเดียวกันทั้ง Chrome บน Windows, Linux และ Mac
ยังไงก็ฝากท่านที่ใช้ Mac ช่วยคอนเฟิร์มหน่อยก็ดีครับ
รายชื่อใบรับรองดิจิตอลทั้งหมดที่ออกโดย Root CA และ Intermediate CA สัญชาติไทย
v.57.0.2987.133 (64-bit) บน MacOS ขึ้น กลับเหมือนเดิม ครับ ลองกับ KBank, BBL