Chrome

กรณีปัญหาระหว่างกูเกิลกับไซแมนเทคเกี่ยวกับการออกใบรับรองดิจิตอลที่ไม่เป็นไปตามมาตรฐานมาเป็นเวลานาน (ทั้งที่ออกโดยไซแมนเทคเองและที่ออกโดย (อดีต) ตัวแทนของไซแมนเทค) ซึ่งทำให้กูเกิลได้เตรียมมาตรการเพื่อปกป้องผู้ใช้งานเว็บเบราว์เซอร์ 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

OID 2.16.840.1.113733.1.7.23.6 นำหน้า OID 2.23.140.1.1 _ไม่เกิด_ปัญหาการโชว์สถานะ EV ใน Chrome 57

ตัวอย่างของเว็บที่ใช้ใบรับรอง 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

OID 2.16.840.1.113733.1.7.23.6 ตามหลัง OID 2.23.140.1.1 _เกิด_ปัญหาการโชว์สถานะ EV ใน Chrome 57

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

lew Wed, 29/03/2017 - 18:36

ขอบคุณครับ

เพิ่มเติมนิดหน่อยคือเมื่อวานนี้แพตช์เช้า master ไปแล้วเรียบร้อย ถ้ารอโค้ดไหลตามรอบการ release ปัญหาก็จะหายไปเอง (ถ้ากูเกิลไม่ลงดาบแบน EV จาก Symantec เสียก่อน)

itpcc Wed, 29/03/2017 - 19:09

แอบอ่านยาก (แม้แต่ผมเองยังยอมรับว่ามึน) คงต้องมี part อธิบายเพิ่มเติมหน่อยนะครับว่าเกิดอะไรขึ้น พวก OID คืออะไร เกี่ยวอะไรกับการรับรองทำนองนี้น่ะครับ

เท่าที่ผมจับใจความได้คือ Chrome สะเพร่าในการนับโดยทึกทักเอาเองว่าเลข OID (ซึ่งมันคืออะไรผมก็ไม่รู้ คงต้องหาอ่านอีกที) ต้องเรียงกัน แต่ Symantec ก็ผิดที่ไม่มีมาตรฐานในการออกเลข OID

อันนี้ผมแนะนำเพิ่มเติมว่าเนื้อหาอ่านยากไปหน่อยจริงๆ ถ้าปรับให้กระชับได้ เช่น

ปัญหาเบราว์เซอร์ไม่แสดง 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 เพื่อออกใบรับรองใหม่ได้

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

ขอบคุณครับ

ที่เสนอให้ไว้ตอนท้ายผมเผื่อไว้สำหรับคนที่ไม่ใช่ technician มาอ่านจะได้ไม่สับสน
อย่างไรก็ขอบคุณมากครับ

ขอบคุณสำหรับคำแนะนำครับ ได้พยายามย่อในส่วนที่เวิ่นเว้อไปบ้างแล้วแต่ก็คงจะยังยาวอยู่เนื่องจากต้องการลงรายละเอียดเพื่อที่ผู้อ่านจะได้ตัดสินใจเองครับว่าผิดที่ใคร เพราะผมไม่อยากใช้ความเห็นส่วนตัวฟันธงลงไป

เป็นบั๊กของ Chrome เองที่กำลังแก้ไข

ส่วนตัวแล้วไม่อยากเรียกว่าเป็นบั๊กของ Chrome ครับ เพราะอาจมีมาตรฐานกำหนดอยู่ว่าควรเอา OID EV ขึ้นเป็นตัวแรกหรือเปล่า (ยังไม่ได้พยายามหา) และเท่าที่เช็คดูเคร่าๆก็ยังไม่เจอ CA เจ้าอื่นที่เอา OID ของตัวเองไว้หลัง OID ของ CA/Browser Forum ครับ ไม่ว่าจะเป็นใบรับรอง EV หรือ OV หรือ DV

ในอดีตนานมาแล้วก็เคยมีกรณีที่เบราว์เซอร์ Firefox (ถ้าจำไม่ผิด) ยืนยันที่จะไม่แสดงค่าของแท็ก ALT สำหรับรูปภาพเหมือนกับที่ IE แสดง แม้เว็บไซต์หลายที่จะใช้ ALT เนื่องด้วยไม่เป็นไปตามมาตรฐานหรือข้อกำหนดซึ่งบอกไว้ว่าต้องใช้ Title กรณีนี้จะบอกว่าเป็นบั๊กของ Firefox ก็คงไม่ได้ ปัจจุบันไม่แน่ใจว่ามีการแสดง ALT สำหรับรูปภาพแล้วหรือยัง

ได้อธิบายเพิ่มเติมในส่วนของ OID ไปแล้วครับ ตอนนี้น่าจะอ่านง่ายขึ้นหน่อย

Chrome สะเพร่าในการนับโดยทึกทักเอาเองว่าเลข OID (ซึ่งมันคืออะไรผมก็ไม่รู้ คงต้องหาอ่านอีกที) ต้องเรียงกัน

อาจจะพูดว่า Chrome ไม่ยอมไล่เช็คให้ครบทุกตัวจะตรงกว่าครับ แต่ตอนนี้ยังไม่ชัดว่ามีข้อกำหนดให้ OID ของ CA ที่ออกใบ cert จะต้องอยู่เป็นตัวแรกหรือเปล่า ถ้ามีก็แสดงว่า Chrome ไม่ผิดครับ แต่ Firefox ดันทำเกินหน้าที่เอง แถมเป็นการส่งเสริมในทางอ้อมให้ CA บางรายได้แหกกฎด้วย (สมมติว่ามันมีกฎนี้นะครับ)

แต่ Symantec ก็ผิดที่ไม่มีมาตรฐานในการออกเลข OID

เรียกว่า เรียง เลข OID จะตรงกว่าครับ เพราะเลขนี้ไม่ได้มีการออกใหม่สำหรับใบ cert แต่ละใบ แต่เป็นเลขประจำตัว Policy ของแต่ละประเภทของ cert ของแต่ละ CA เช่น CA นี้อาจมี 1 OID สำหรับ cert แบบ DV, 1 OID สำหรับ cert แบบ OV, 2 OID สำหรับ cert แบบ EV เป็นต้นครับ ซึ่งก็จะใช้เลขนั้นเลขเดียวสำหรับ cert ประเภทนั้น

ได้แก้ไขเพิ่มเติมเข้าไปแล้วครับว่าเลข OID 2.23.140.1.1 เป็นของ CA/Browser Forum ครับ ซึ่ง CA หลายราย (แต่ไม่ทั้งหมด) ได้มีการใส่เลขนี้เข้าไปใน Certificate Policies ด้วย เพื่อบ่งบอกว่าได้มีการปฏิบัติตามข้อกำหนดนั้นเช่นกัน

Dino Wed, 29/03/2017 - 20:47

[@29-Mar-17 20:47] เหมือนจะแก้แล้วจะ เปิดอ่านข่าวนี้เลยลอง check ว่า Chrome version ไหน มันให้ upgrade จาก 56.xx เป็น 57.0.2987.110 ละ

เข้า KCyber ก็พบ Green Bar เป็นชื่อตามปกตินะครับ

เนื่องจากมีผู้รายงานว่าไม่พบปัญหาและยังไม่พบรายงานที่ชัดเจนว่าเกิดปัญหานี้บน Mac ก็เลยใช้คำว่า อาจไม่เกิดบน Mac ไปก่อนครับ

ในทางทฤษฎีแล้วถ้าเป็นโค๊ดตัวเดียวกันก็น่าจะมีปัญหาแบบเดียวกันทั้ง Chrome บน Windows, Linux และ Mac

ยังไงก็ฝากท่านที่ใช้ Mac ช่วยคอนเฟิร์มหน่อยก็ดีครับ