grid.in.th

On 3-D Secure and Online Payments

by Sirn

ช่วงนี้มีเหตุการณ์เว็บไซต์ e-Commerce ชื่อดังแห่งหนึ่งเกิดข้อมูลบัตรรั่วไหล และมีการเผยแพร่ข้อมูลต่างๆ นานาเกี่ยวกับความปลอดภัยของการชำระเงินออนไลน์ด้วยบัตรเครดิต บทความนี้ไม่ได้ต้องการจะพูดถึงเหตุการณ์รั่วไหลของข้อมูลโดยตรง แต่อยากจะลองเขียนถึงสิ่งที่คิดมานานแล้วเกี่ยวกับขั้นตอนการกรอก One-Time Password ก่อนชำระเงิน หรือที่รู้จักกันในวงการชำระเงินด้วยบัตรเครดิตในชื่อ 3-D Secure

One-Time Password

สำหรับคนที่ทำธุรกรรมออนไลน์บ่อยๆ คงจะคุ้นหูกับคำศัพท์นี้กันดี การใช้งาน One-Time Password ได้รับความนิยมเป็นวงกว้างจากการแพร่หลายของสมาร์ทโฟน วิธีการสร้าง One-Time Password มีมากมาย ตั้งแต่การส่ง SMS รหัสผ่านสำหรับใช้ครั้งเดียวโดยผู้ให้บริการ หรือการใช้แอพลิเคชั่นในการสร้างรหัสเช่น Google Authenticator หรือ Authy

หากมองในวงกว้าง One-Time Password เป็นแค่หนึ่งในวิธีการยืนยันตัวตนตามคอนเซปของ Multi-Factor Authentication ซึ่งระบุถึงการยืนยันตัวตนโดยใช้ปัจจัยมากกว่าหนึ่งอย่างเพื่อลดความเป็นไปได้ในการถูกขโมยข้อมูล ปัจจัยตามคอนเซปของ Multi-Factor Authentication มักจะประกอบด้วย

ในกรณีของ One-Time Password นั้นตกอยู่ในข้อ "ปัจจัยที่คุณมี" เพราะโดยวิธีการทำงานของมัน ในกรณีของ SMS ที่จะถูกส่งไปยังเบอร์โทรศัพท์มือถือที่ถูกบันทึกไว้ในระบบของผู้ให้บริการ หรือการใช้แอพลิเคชั่นที่มักจะมี "เมล็ด" สำหรับสุ่มตัวเลข ที่ผูกเข้ากับเครื่องและแอพลิเคชั่นที่ใช้ลงทะเบียนกับผู้ให้บริการ

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

3-D Secure

กลับกันจาก One-Time Password ชื่อของ 3-D Secure อาจจะไม่คุ้นหูแม้แต่กับผู้ที่ทำธุรกรรมการเงินบ่อยๆ ชื่อ 3-D Secure นั้น เป็นชื่อเฉพาะในระบบการชำระทางบัตรเครดิต ย่อมาจาก 3-Domain Secure (เป็นเหตุผลว่าทำไมต้องมีขีด) เป็นการยืนยันตัวตนของสองผ่ายโดยผ่าน 3 ขอบเขตความรับผิดชอบ (โดเมน) ได้แก่ บริษัทผู้ออกบัตร (Issuer) ทำหน้าที่ยืนยันตัวตนเจ้าของบัตรในฐานะโดเมนที่หนึ่ง บริษัทผู้รับชำระ (Acquirer) ทำหน้าที่ยืนยันตัวตนร้านค้าในฐานะโดเมนที่สอง และ ตัวกลางในการยืนยันตัวตน ซึ่งจะหมายถึงระบบที่ใช้ในการเชื่อมต่อระหว่างโดเมน (ACS และ MPI) ในฐานะโดเมนที่สาม

ข้อมูลตรงนี้ไม่ค่อยสำคัญเท่าไหร่นัก สามารถสรุปได้ง่ายๆ ว่าตามคอนเซปของ 3-D Secure นั้น บริษัทผู้ออกบัตรมีหน้าที่ยืนยันตัวตนเจ้าของบัตร บริษัทผู้รับบัตรมีหน้าที่ยืนตันตัวตนร้านค้าผู้รับบัตร และทุกฝ่ายต้องใช้ระบบที่สามารถเข้ากันได้ เพราะแต่ละฝ่ายดูแลแค่ในขอบเขตความรับผิดชอบของตัวเอง ทำให้แต่ละฝ่ายค่อนข้างมีอิสระในการเลือกพัฒนาระบบ (และเป็นเหตุผลว่าทำไมในยุคแรกๆ บริษัทบัตรเครดิตจึงนิยมให้ผูกรหัสผ่านกับเลขบัตร และกรอกรหัสนั้นเมื่อมีการชำระเงิน)

ปัญหาใหญ่ข้อหนึ่งของ 3-D Secure คือ แม้บัตรมีการเปิดใช้งาน 3-D Secure บัตรจะยังสามารถนำไปใช้ในระบบที่ไม่บังคับใช้งาน 3-D Secure ได้ ซึ่งขัดกับสมมุติฐานที่ทำให้ One-Time Password ปลอดภัย หรือมองในอีกแง่ก็คือ จนกว่าบริษัทผู้ออกบัตรจะมีมาตรการปฏิเสธรายการทุกรายการที่ไม่ได้ใช้ 3-D Secure การใช้งาน 3-D Secure ในฐานะเจ้าของบัตร จึงไม่ได้ทำให้การทำธุรกรรมปลอดภัยขึ้นแม้จะจับจ่ายแต่ในร้านค้าที่บังคับใช้ 3-D Secure

คำถามต่อมาก็คือ แล้วทำไมบริษัทผู้ออกบัตรถึงไม่มีมาตรการปฏิเสธรายการที่ไม่ใช่ 3-D Secure? นี่เป็นเรื่องของไก่กับไข่ ไม่มีบริษัทออกบัตรที่ไหนอยากที่จะทำให้บัตรของตนใช้ได้เพียงกับร้านค้าเพียงแค่ไม่กี่เปอร์เซ็นในตลาด และแม้แต่ฝั่งของร้านค้าเอง การใช้ 3-D Secure นั้นไม่ใช่เรื่องง่าย ทั้งในแง่เทคนิคและในแง่ของความสะดวกของผู้ซื้อ (ถึงแม้ในด้านเทคนิคบริษัทผู้รับบัตรมักจะเป็นตัวแทนในการพัฒนาระบบให้แล้วก็ตาม)

แล้วใครได้ประโยชน์ถ้า 3-D Secure ไม่ได้ทำให้เจ้าของบัตรปลอดภัยขึ้น? ขอแนะนำให้รู้จักกับคอนเซปของ Liability Shift

Liability Shift

ตามระเบียบของแบรนด์เจ้าของบัตร (ในที่นี้หมายถึง VISA, MasterCard หรืออื่นๆ) บริษัทผู้ออกบัตรมีหน้าที่ในการปกป้องเจ้าของบัตรในการใช้งานบัตรที่ไม่ได้รับอนุญาติ เมื่อมีการแจ้งจากเจ้าของบัตรถึงการใช้งานโดยทุจริต รายการที่ถูกแจ้งจะเข้าสู่ขั้นตอนพิพาทรายการ (Dispute) และจากตรงนี้จะเป็นหน้าที่ของร้านค้าในการหาหลักฐานว่ารายการถูกทำโดยเจ้าของบัตรจริง (ไม่ใช่เจ้าของบัตรเป็นผู้หาหลักฐานมาโต้แย้งว่าไม่ได้ทำรายการอย่างที่มักจะเข้าใจกัน)

หลักฐานที่ร้านค้าสามารถใช้ได้ต้องเป็นหลักฐานที่สามารถยืนยันถึงเจ้าของบัตรได้โดยตรง เช่นลายเซ็นของเจ้าของบัตร หรือภาพหน้าบัตรแสดงเลข 16 หลัก หลักฐานที่ยืนยันได้โดยทางอ้อมเช่นข้อมูลที่อยู่, IP address, log จากเว็บเซิฟเวอร์ หรือรหัสติดตามของการส่งสินค้าไม่สามารถใช้เป็นหลักฐานได้ หากร้านค้าไม่สามารถหาหลักฐานที่ยอมรับได้ในเวลาที่กำหนด ร้านค้าจะถูกปฏิเสธการชำระเงินในส่วนของรายการที่โดนพิพาท หรือในบางครั้งอาจจะเสียค่าปรับเพิ่มเติม และจำนวนเงินในรายการที่ถูกพิพาทจะถูกคืนให้เจ้าของบัตร

นี่คือสิทธิ์ที่เจ้าของบัตรได้รับโดยพื้นฐานสำหรับการใช้งานบัตรในร้านค้าออนไลน์ การใช้ 3-D Secure เป็นการสละสิทธิ์นี้ ผ่านกระบวนการที่เรียกว่า Liability Shift ที่เป็นการ "ยกความรับผิดชอบ" ไปให้ฝ่ายอื่น ซึ่งหมายความว่าการปฏิเสธรายการที่ทำผ่าน 3-D Secure จะเป็นปัญหาระหว่างบริษัทผู้ออกบัตรกับเจ้าของบัตร แทนที่จะเป็นบริษัทผู้ออกบัตรกับร้านค้า

Conclusion

โดยส่วนตัวแล้ว มองว่าการใช้งาน 3-D Secure ให้ประโยชน์กับร้านค้ามากกว่าเจ้าของบัตร ถึงแม้การจับจ่ายในร้านค้าที่มีการใช้งาน 3-D Secure จะทำให้เจ้าของบัตรรู้สึกปลอดภัยขึ้น แต่ในความเป็นจริงแล้วมันไม่ได้ทำให้ปลอดภัยขึ้นเลย และยังทำให้เจ้าของบัตรเสียสิทธิ์ที่มีไปเสียอีก ทางออกใหม่ที่แบรนด์ต่างๆ พยายามจะสนับสนุนคือเทคโนโลยี Network-Level Tokenization ที่ถูกใช้ใน Apple Pay และ Android Pay แต่ด้วยความที่เทคโนโลยีนี้เป็นเทคโนโลยีใหม่ และต้องใช้การสนับสนุนจากทุกฝ่าย จึงเป็นเรื่องยากที่จะขยายได้เร็ว