สัมภาษณ์ Omise บริษัท Payment Gateway ที่ได้รับรอง PCI-DSS 3.0 รายแรกในไทย

by lew
25 December 2014 - 08:24

อุปสรรคใหญ่ในการทำการค้าออนไลน์ของเมืองไทยอย่างหนึ่งที่ทุกคนเจอกันคือการรับจ่ายเงินที่ยังทำได้ยาก การค้าออนไลน์จำนวนมากทุกวันนี้ยังอาศัยการโอนเงินแบบตัวต่อตัว ทำให้ไม่มีกระบวนการคืนเงิน เรายังคงได้ยินข่าวการหลอกลวงทั้งลูกค้าถูกพ่อค้าแม่ค้าหลอกลวง หรือฝั่งพ่อค้าแม่ค้าเองที่ถูกลูกค้าหลอกว่าโอนเงินแล้ว

วันนี้เราจึงมาคุยกับ Omise ผู้ให้บริการ payment gateway ที่จะเปิดโอกาสให้ร้านค้าออนไลน์สามารถรับจ่ายเงินผ่านบัตรเครดิตได้โดยง่าย สามารถตรวจสอบย้อนหลังได้ ฝั่งลูกค้าก็สามารถทำเรื่องขอคืนเงินได้ อุปสรรคสำคัญที่ทำให้บริการเช่นนี้ไม่สามารถเปิดให้บริการโดยคนทั่วไปเพราะต้องผ่านการรับรอง PCI-DSS ที่มีกระบวนการตรวจสอบเข้มงวด หลายแห่งใช้เวลาขอรับรองนานนับปี และปีนี้ก็เริ่มมีการปรับไปสู่ PCI-DSS 3.0

ผมมีโอกาสได้คุยกับ Ezra Don Harinsut ผู้ร่วมก่อตั้ง Omise, CTO ของบริษัท Robin Clart, และ CIO ของบริษัท Frederico Araujo

ข้อมูลเปิดเผย ทาง Omise เป็นผู้สนับสนุน Blognone ด้วยการซื้อพื้นที่โฆษณา อย่างไรก็ดีบทความนี้เป็นการติดต่อจากความสนใจของผมเอง (และจากผู้อ่านที่สังเกตจากยอด like ในข่าว) ไม่ได้เกี่ยวกับการสนับสนุนทางแบนเนอร์

Omise มาทำ Payment Gateway ได้อย่างไร

เรารวมตัวกันเมื่อต้นปีที่ผ่านมาโดยความตั้งใจแรกของเราคือจะทำระบบอีคอมเมิร์ซ และเราพบว่าอุปสรรคอย่างหนึ่งคือไม่มี payment gateway ที่เราต้องการ เราเลยวางแผนพัฒนา payment gateway ของเราเองเข้าไว้ในแผนการพัฒนาด้วย

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

เราเริ่มพัฒนาเมื่อช่วงกลางปีที่ผ่านมา รวมเวลาพัฒนาจนกระทั่งให้บริการประมาณสี่เดือน โดยพัฒนาบริการบน Amazon Web Service (AWS)

ทำไมเลือกใช้บริการ AWS

มาตรฐาน PCI-DSS เองจะแบ่งหมวดการตรวจสอบเป็น 12 หมวด เช่น ระบบการล็อกอิน, การเข้าถึงข้อมูล, การเข้าถึงตัวเซิร์ฟเวอร์ ฯลฯ บริการ AWS มีบริการ AWS PCI Compliance Package อยู่แล้วโดยทางอเมซอนจะได้รับการตรวจสอบ PCI-DSS 3.0 ไปแล้ว 2-3 หมวดทำให้เราไม่ต้องขอการรับรองในส่วนนี้ซ้ำอีก

กระบวนการตรวจสอบเซิร์ฟเวอร์ใน PCI-DSS เป็นเรื่องใหญ่ เราต้องตรวจสอบการเข้าถึงเซิร์ฟเวอร์, มีบันทึกการเข้าถึงทุกครั้ง, หรือบางครั้งก็ต้องปิดไม่ให้ใช้งานพอร์ต USB บนเซิร์ฟเวอร์เอง กระบวนการเหล่านี้ยุ่งยากและกินเวลาในการตรวจสอบมาก หลายองค์กรเตรียมการขอรับรอง PCI-DSS หลายปีก็ยังไม่สามารถขอได้

AWS PCI Compliance Package จะแยกออกจากบริการปกติและต้องร้องขอเป็นกรณีพิเศษ เซิร์ฟเวอร์เหล่านี้จะถูกแยกออกจากเซิร์ฟเวอร์ทั่วไปและคนที่จะเข้าถึงเซิร์ฟเวอร์ได้ต้องได้รับการรับรอง

ให้บริการทางการเงินโดยใช้ AWS แบบนี้ธนาคารไม่ตกใจ?

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

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

ทำไมถึงต้องขอรับรอง PCI-DSS 3.0

มาตรฐาน PCI-DSS 3.0 เป็นมาตรฐานเพื่อรับรองว่าระบบของเราปลอดภัยพอที่จะประมวลผล, รับส่งข้อมูล, หรือเก็บข้อมูลบัตรเครดิตได้ โดยปกติมาตรฐานนี้จะออกใหม่ทุกสามปีอยู่แล้ว มาถึงปีนี้มาตรฐานก็ออกใหม่อีกครั้งเป็นรุ่น 3.0

โดยปกติแล้วผู้ให้บริการบัตรเครดิตจะให้ยอมเชื่อมต่อระบบกับ payment gateway หรือผู้ค้าได้ จะบังคับว่าคนที่มาเชื่อมต่อจะต้องได้รับรอง PCI-DSS รุ่นที่ยังมีผลอยู่เสียก่อน

ส่วนรุ่น 3.0 ที่จริงแล้วรุ่นนี้มีความเปลี่ยนแปลงที่เหมาะกับเราหลายอย่าง โดยเฉพาะความยืดหยุ่นที่รองรับการให้บริการผ่านคลาวด์อย่าง AWS ได้ ตัว PCI-DSS 2.0 เองก็กำลังหมดอายุภายในสิ้นปีนี้ ตอนนี้คงไม่มีประโยชน์ที่จะขอรับรองอีกต่อไป

มาตรฐานรุ่น 2.0 เองแม้จะไม่ได้รับรองคลาวด์โดยตรง แต่โดยตัวมาตรฐานก็ระบุว่าในส่วนที่ไม่สามารถควบคุมได้จะต้องมีมาตรการความปลอดภัยเพิ่มเข้ามาทดแทน แต่ก็เป็นงานที่เพิ่มเข้ามา

กระบวนการขอรับรอง PCI-DSS 3.0 เป็นอย่างไร

เราต้องศึกษาก่อนว่า PCI-DSS ต้องทำตามมาตรฐานอย่างไรบ้าง และพัฒนาให้เป็นไปตามมาตรฐาน แล้วเรียกบริษัทที่ให้การรับรองเข้ามาตรวจสอบ

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

บริษัทที่รับรอง PCI-DSS จะตรวจสอบทุกส่วนของบริการ ตั้งแต่ซอฟต์แวร์ทุกบรรทัด ว่าเราจัดการกับข้อมูลอย่างไร ไปจนถึงกระบวนการตรวจสอบว่าเรามีกระบวนการจัดการอย่างไร เก็บกุญแจเข้ารหัสไว้ที่ไหน มีใครสามารถเข้าถึงเซิร์ฟเวอร์บ้าง รวมไปถึงการสแกนความปลอดภัยในแต่ละส่วน

กระบวนการขอตรวจสอบเพื่อรับรอง PCI-DSS กินเวลาประมาณสองสัปดาห์ หากผ่านการตรวจสอบแล้วต้องระวังไม่ให้มีอะไรผิดพลาดอีก ไม่อย่างนั้นเราจะถูกถอนใบรับรอง

ผู้ให้บริการ PCI-DSS ทุกคนต้องทดสอบเหมือนๆ กัน?

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

แต่การผ่านการรับรองการเก็บหมายเลขบัตรเครดิต จะทำให้เราสามารถให้บริการแบบ tokenize หรือการที่ผู้ใช้ไม่ต้องกรอกเลขบัตรเครดิตใหม่ทุกครั้งแบบเดียวกับ Amazon หรือ Google Wallet ทำให้ลูกค้าของเราที่เป็นหน้าร้านรับบัตรเครดิตสามารถให้บริการลูกค้าได้สะดวกขึ้นมาก

เมื่อได้รับรองแล้วมีข้อจำกัดอะไรเพิ่มเติมบ้าง

หลังจากได้รับรอง เราต้องทำตามแนวทางที่ระบุไว้ก่อนหน้า เราต้องเก็บล็อกบันทึกไว้เป็นเวลานานว่าใครเข้าไปแก้ไขอะไรด้วยเหตุผลอะไรบ้าง เราต้องอัพเดตช่องโหว่ซอฟต์แวร์ภายในเวลาอันรวดเร็ว

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

ข้อจำกัดอย่างหนึ่งของซอฟต์แวร์คือเราต้องขอรับรองใหม่หากมีการแก้ไขโค้ดของระบบ กระบวนการนี้ทำให้เราต้องแบ่งโค้ดออกเป็นสองส่วนคือส่วนแกนและภายนอกแยกออกจากกัน ส่วนแกนกลางจะไม่ค่อยแก้ไขอะไรนักและการอัพเดตจะอัพเดตจากส่วนภายนอกเป็นหลัก

PCI-DSS เป็นการรับรองที่ได้แล้วไม่มีการถอยหลัง ถ้าเราทำพลาดอะไรในอนาคตเราอาจจะไม่ได้รับรองอีก ธุรกิจเราอาจจะจบไปเลย

ร้านค้าที่มาใช้บริการ Omise เองต้องผ่านมาตรฐานความปลอดภัยอะไรไหม?

โดยทั่วไปแล้วไม่ต้องทำอะไรเพราะหมายเลขบัตรเครดิตไม่เคยอยู่ที่ร้านค้า โดยทั่วไปเราแนะนำให้ใช้ TLS เพื่อเข้ารหัส เวลาที่ผู้ซื้อสินค้าจะกรอกหมายเลขบัตรเครดิต ที่ฟอร์มหน้าเว็บของร้านค้า และ จะมีการส่งข้อมูลโดย TLS มายัง Sever ของ Omise โดยไม่ผ่าน Server ของร้านค้า ข้อมูลจะส่งแบบเข้ารหัสมายัง Omise และจัดเก็บตามมาตรฐาน

แบบนี้ถ้าร้านค้าถูกแฮกข้อมูลจะเป็นอย่างไร

กระบวนการเรียกเก็บเงินโดยทั่วไปเมื่อผู้ซื้อกรอกหมายเลขบัตร จะมีการสร้าง Token ซึ่งใช้แทนข้อมูลบัตร เพื่อเรียกเก็บเงิน ถ้ามีการแฮก ก็จะไม่สามารถนำข้อมูลของ Token ไปใช้ทำอะไรได้

บริการต่อไปของ Omise จะเป็นอย่างไร

ตอนนี้เรามีเสียงเรียกร้องให้มีบริการสำหรับการรับจ่ายเงินแบบต่อเนื่อง อย่างการสมัครนิตยสารที่ต้องจ่ายเงินอัตโนมัติรายปี หรือบริการรายเดือนต่างๆ

Blognone Jobs Premium