ปี 2016 เป็นปีสำคัญสำหรับความเปลี่ยนแปลงด้านความปลอดภัยของความปลอดภัยของเว็บ เพราะเป็นปีที่ใบรับรองดิจิทัล Let's Encrypt เริ่มให้บริการฟรีตั้งแต่ต้นปี พร้อมทั้งฝั่งโฮสติงที่ทยอยรองรับเพิ่มขึ้นเรื่อยๆ ปีนี้เราจึงมาสำรวจกันว่าเว็บใดใช้การรองรับแบบใดกันแล้วบ้าง
การรองรับ HTTPS มีได้หลายแบบ หลายเว็บเลือกที่จะรองรับทั้ง HTTP และ HTTPS ไปพร้อมกัน ซึ่งอาจเกิดจากข้อจำกัดบางประการของแอปพลิเคชันภายใน บางเว็บอาจจะเปิดให้บริการไว้โดยที่รองรับเพียงบางหน้า เช่น หน้าจ่ายเงิน บางเว็บอาจจะยอมรับการโหลดภาพจากเว็บ HTTP ธรรมดา เบื้องต้นเราทำความเข้าใจกับความแตกต่างของการรองรับแต่ละแบบกันก่อน
เว็บบางกลุ่มอาจจะไม่รองรับ HTTPS เลยแม้แต่น้อย แม้ว่าจะเข้าด้วยการพิมพ์ HTTPS:// โดยตรง หรือใช้เครื่องมือบังคับใช้ SSL เช่น ส่วนเสริม KB SSL Enforcer บน Google Chrome หรือ HTTPS Everywhere จาก Electronic Frontier Foundation
เว็บที่รองรับไม่สมบูรณ์ คือเว็บที่เปิดให้เข้าใช้งานผ่าน HTTPS ได้ แต่กลับต้องพบหน้าจอแจ้งเตือนการเชื่อมต่อไม่ปลอดภัย (ดูภาพที่ 1 ประกอบ) ซึ่งอาจเกิดได้จากใบรับรองหมดอายุ ใช้ใบรับรองแบบรับรองตัวเอง (self-signed) CA หมดความน่าเชื่อถือ หรือใช้ใบรับรองร่วมกันกับโดเมนอื่น
ภาพที่ 1: คำเตือนสำหรับเว็บที่เข้าใช้งาน HTTPS ได้ แต่มีคำเตือนใบรับรองผิดพลาด
เว็บสามารถเข้าใช้งานได้บางส่วนแต่ไม่สมบูรณ์ เช่น เว็บข่าวสามารถอ่านข้อความข่าวได้ แต่ภาพประกอบอาจไม่ขึ้น หรือเว็บสั่งสินค้าที่ต้องกดยินยอมให้เบราว์เซอร์โหลดสคริปต์ที่ไม่ปลอดภัยเพื่อให้ใช้งานต่อไปได้
ภาพที่ 2: เว็บที่ไม่สามารถโหลดภาพประกอบ/สคริปต์ได้ครบ เนื่องจากเนื้อหาเหล่านั้นไม่ได้วิ่งบน SSL
สามารถใช้งานได้ครบถ้วนดี แม้อาจจะมีภาพบางส่วนโหลดไม่สำเร็จ แต่ไม่ได้บังคับเป็นปกติ อาจจะโฆษณาเว็บเป็น HTTP อยู่
ภาพที่ 3: เว็บที่รองรับ SSL แต่ไม่บังคับให้ใช้ สามารถเข้าได้ทั้งจาก HTTP และ HTTPS
เว็บประเภทนี้จะสามารถเข้าใช้งานได้ผ่าน HTTPS เพียงอย่างเดียว เมื่อเข้าด้วย HTTP เว็บอาจเปลี่ยนทางให้เป็น HTTPS โดยอัตโนมัติ หรืออาจไม่แสดงผลลัพธ์เลยก็ได้
ระดับสูงสุดของการรองรับ HTTPS ที่มี green bar เพื่อแจ้งผู้ใช้ว่ากำลังใช้เว็บจากหน่วยงานที่ระบุจริง โดยทั่วไปนิยมใช้กับเว็บการเงิน แต่เว็บอื่นๆ ก็ใช้งานได้เช่นกัน เช่น Twitter
ภาพที่ 4: ตัวอย่างช่องที่อยู่ของเว็บที่มี SSL EV และได้รับ green bar
นอกจากความเชื่อถือได้ของผู้ออกใบรับรองแล้ว เรื่องสำคัญไม่แพ้กันคืออัลกอริทึมค่าแฮชของใบรับรอง โดยเบราว์เซอร์ปัจจุบันอย่าง Chrome จะไม่ขึ้นกุญแจเขียวให้กับใบรับรองที่ใช้แฮชแบบ SHA-1 และหมดอายุในปี 2016 นอกจากนี้จะขึ้นกุญแจกากบาทสีแดงสำหรับใบรับรองที่หมดอายุในปี 2017 แม้ปัจจุบันจะยังไม่มีรายงานว่า SHA-1 ถูกโจมตี แต่อัลกอริทึมแฮชที่แนะนำคือ SHA-2 ครับ รายละเอียดเพิ่มเติม
ภาพที่ 5: ตัวอย่างเว็บที่ใช้ใบรับรองที่แฮชแบบ SHA-1 ที่จะหมดอายุในปี 2016 และ 2017 ตามลำดับ
เราแบ่งเว็บไทยออกเป็น 5 กลุ่มหลัก แยกตามประเภทการใช้งาน ดังนี้
เราได้เลือกเว็บที่มีผู้เข้าใช้งานมากเป็นอันดับต้นๆ ในแต่ละหมวดโดยอิงสถิติจาก Truehits มาประมาณ 5-10 อันดับ และเพิ่มเว็บที่เป็นที่รู้จักแพร่หลายแต่ไม่ได้ถูกนำไปจัดอันดับกับ Truehits เข้าไปด้วย
สำหรับเครื่องมือที่ใช้ทดสอบ เราใช้เบราว์เซอร์ยอดนิยมบนเดสก์ท็อป 2 ตัวเพื่อป้องกันความแตกต่างของเนื้อหาระหว่างเบราว์เซอร์ ซึ่งได้แก่ Google Chrome 48 และ Internet Explorer 11 และเนื่องจากอาจมีบางเว็บที่ไม่ได้เป็น responsive แต่ยังมีหน้าเว็บสำหรับมือถือแยกอยู่ เราจึงใช้ Google Chrome 48 บน Android ร่วมทดสอบเว็บที่มีหน้ามือถือคู่ไปด้วย
ขั้นตอนการทดสอบ เริ่มจากการเข้าเว็บด้วย HTTP แล้วสังเกตความครบถ้วนของเนื้อหาที่โหลด ความสามารถในการใช้งาน และเกิดการเปลี่ยนทาง (redirect) ไปยัง HTTPS หรือไม่ โดยเริ่มจากหน้าแรกของเว็บ แล้วตามลิงก์ภายในไปยังบางหน้าในโดเมนนั้นๆ ตบท้ายด้วยการทดสอบการใช้งานว่ามีความสมบูรณ์หรือไม่
เมื่อเก็บข้อมูลเว็บดังกล่าวบน HTTP เสร็จแล้ว ก็สลับไปทดสอบการใช้งานผ่าน HTTPS ในทำนองเดียวกัน (โดยสังเกตการเปลี่ยนทางว่ามีการเปลี่ยนกลับเป็น HTTP หรือไม่แทน)
เนื่องจากเว็บเป็นสิ่งที่มีการเปลี่ยนแปลงอยู่ตลอดเวลาโดยที่เราไม่สามารถควบคุมได้ การสำรวจจึงจำกัดเวลาของเว็บหมวดเดียวกันว่าต้องสำรวจภายในวันเดียวกัน เพื่อที่จะได้นำผลมาเปรียบเทียบกันได้ครับ
เราได้เลือกเว็บไทยทั้งหมด 67 เว็บมาทำการสำรวจในระหว่างวันที่ 4-9 กุมภาพันธ์ 2016 และได้ผลลัพธ์แยกตามประเภทของเว็บ ดังนี้
ตารางที่ 1: การรองรับ SSL ของเว็บประเภทข้อมูลข่าวสาร
ตารางที่ 2: การรองรับ SSL ของเว็บประเภทอีคอมเมิร์ซ
ในหมวดนี้จะมีข้อสังเกตสำคัญสำหรับเว็บอีคอมเมิร์ซบางเว็บ อันได้แก่ thaiticketmajor.com, cdicsount.co.th, และ itruemart.com ที่สามารถเข้าหน้าเว็บด้วย HTTPS ได้ แต่ไม่สามารถค้นหาเลือกซื้อสินค้าได้จนกว่าจะกดยินยอมให้โหลดสคริปต์ที่ไม่ปลอดภัย
ตารางที่ 3: การรองรับ SSL ของเว็บประเภทธนาคาร
ตารางที่ 4: การรองรับ SSL ของเว็บประเภทเครือข่ายสังคม
ตารางที่ 5: การรองรับ SSL ของเว็บประเภทหน่วยงานรัฐ
สำหรับข้อมูลดิบและรายละเอียดต่างๆ สามารถอ่านได้จาก Sheet นี้
เราพบว่าเว็บในไทยยังเข้ารหัสกันอยู่เฉพาะในกลุ่มธนาคารที่เป็นธุรกรรมออนไลน์ แม้ผู้ใช้จะมีการส่งข้อมูลส่วนตัวกันในเว็บกลุ่มอีคอมเมิร์ซ เว็บเช่น kaidee.com รองรับการเข้ารหัสบางส่วนซึ่งเป็นจุดเริ่มต้นที่ดีแต่อาจจะยังไม่เพียงพอเพราะผู้อ่านข้อมูลจากเว็บอาจไม่ตระหนักเรื่องความปลอดภัย หรือไม่ทราบถึงการใช้ส่วนเสริมเพื่อบังคับ HTTPS ตลอดเวลา ทางผู้สำรวจหวังว่าในปีถัดๆ ไป เว็บไทยจะใช้ SSL กันเยอะขึ้นจนเป็นเสียงข้างมากในที่สุดครับ