ความปลอดภัย

การรักษาความปลอดภัยแก่ผู้ใช้บริการระบบรับชำระเงินของเรา เป็นสิ่งที่เราให้ความสำคัญเป็นลำดับต้นๆ

HTTPS/TLS

การสื่อสารและรับ-ส่งข้อมูลระหว่างเบราว์เซอร์ผู้ถือบัตรและเซิร์ฟเวอร์ของ Omise จะมีการเข้ารหัสโดยใช้โปรโตคอล TLS เราได้ยกเลิกการใช้งาน SSL 3.0 ทั้งหมดเนื่องจากช่องโหว่ด้านความปลอดภัย การสื่อสารทั้งหมดที่เกิดขึ้น ไม่ว่าจะระหว่าง application server load balancer proxy หรือ database ใดๆ จะถูกเข้ารหัส SSL/TLS ทั้งสิ้น โดยการสื่อสารทั้งหมด ยังเกิดขึ้นภายใต้ subnets ที่มีการตรวจสอบและรักษาความปลอดภัยอย่างดีอีกด้วย ในการเรียก API ระบบของเราจะยอมรับการสื่อสารผ่าน HTTPS/TLS เท่านั้น

ตรวจสอบผลการดำเนินการของเราผ่าน SSL Labs test page ได้ที่ www.ssllabs.com/ssltest/analyze.html?d=api.omise.co

การเข้ารหัสข้อมูล

บัตรทุกใบที่นำมาใช้กับระบบจะมีการเข้ารหัสเพื่อรักษาความปลอดภัยของข้อมูล เราเลือกมาตรฐานการเข้ารหัส AES-256 ซึ่งมีความยาวบล็อกข้อมูล 256 bits และ 14 hashes ทำให้การถอดรหัสเป็นไปได้ยาก โดยข้อมูลที่มีการเข้ารหัสจะถูกเก็บที่เซิร์ฟเวอร์ซึ่งรักษาอยู่ภายใต้สภาพแวดล้อมที่มีความปลอดภัยสูง ได้รับการตรวจตราจากผู้ดูแลระบบ และถูกป้องกันจากภัยคุกคามไว้เป็นอย่างดี ข้อมูลบัตรจะถูกถอดรหัสเมื่อถูกส่งไปยังธนาคารเพื่อใช้ชำระเงินเท่านั้น

มาตรฐาน PCI DSS

ระบบรับชำระเงินออนไลน์ของ Omise ผ่านการรับรองมาตรฐาน PCI DSS 3.2

ทุกๆ ปีระบบของเราจะเข้ารับการตรวจสอบความปลอดภัยตามระเบียบและข้อกำหนดของ Payment Card Industry (PCI) โดยผู้ตรวจประเมินอิสระ (Qualified Security Assessor หรือ QSA) เพื่อควบคุมมาตรฐานในการเก็บรักษา ประมวลผล และรับ-ส่งข้อมูลบัตร ให้เป็นไปตามนโยบายด้านสารสนเทศและความปลอดภัยที่กำหนดขึ้นโดยค่ายบัตรเครดิตชั้นนำของโลก

สามารถตรวจสอบการรับรองของเราได้ที่ Visa Global of Service Providers หรือศึกษาเกี่ยวกับมาตรฐาน PCI DSS ที่เว็บไซต์ www.pcisecuritystandards.org/pci_security

การรับ-ส่งข้อมูลบัตร

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

บัตรทุกใบที่เข้าสู่ระบบของเราจะถูกแปลงเป็น Token ทั้งหมด เพื่อความปลอดภัยของข้อมูล

การประมวลผล

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

  • การใช้บัตรกับระบบของ Omise เป็นครั้งแรก

    ก่อนที่บัตรใดๆ จะถูกจัดเก็บหรือนำไปใช้ชำระเงินผ่านระบบของเรา จะต้องได้รับการตรวจสอบ CVV check (บัตรจะถูกเรียกเก็บเงิน 30 บาท หากรายการสำเร็จยอดจะถูก void ออก) และผ่านการประเมินความเสี่ยงต่อการทุจริต (fraud check) การทำ CVV check มีจุดประสงค์เพื่อยืนยันความถูกต้องของข้อมูลบัตรเท่านั้น ระบบจะส่งต่อรหัส CVV ของบัตรไปยังธนาคารเท่านั้น และจะไม่จัดข้อมูลนี้ไว้ไม่ว่ากรณีใดๆ

  • การใช้บัตรที่ถูกจัดเก็บในระบบ Omise แล้ว

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

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

การเก็บรักษาบัตรอย่างปลอดภัย

เมื่อผู้ถือบัตรกรอกข้อมูลบัตรลงเช็คเอาท์ฟอร์มบนเว็บไซต์ ข้อมูลทั้งหมดจะถูกส่งมายังเซิร์ฟเวอร์ของ Omise อย่างปลอดภัยผ่านโปรโตคอล HTTPS (TLS) ไม่มีข้อมูลส่วนใดผ่านไปยังร้านค้า ระบบของเราจะทำการเข้ารหัสข้อมูลโดยใช้ AES-256 และ symmetric encryption ก่อนจัดเก็บลง database ที่มีการเข้ารหัสอีกชั้นหนึ่งและยังถูกรักษาไว้ภายใต้สภาพแวดล้อมที่มีการคุ้มกันความปลอดภัยอย่างแน่นหนา (แม้แต่ทีมของเราเอง ยังไม่สามารถเข้าถึงข้อมูลส่วนนี้ได้)

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

Token

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

บัตรเครดิตทุกใบที่ผ่านระบบของเราจะถูกแปลงเป็น token เพื่อความปลอดภัย

การสร้างและนำ Token ไปใช้งาน

  • ในหน้าเช็คเอาท์ผู้ถือบัตรจะกรอกข้อมูลบัตรลงในเบราว์เซอร์
  • ข้อมูลนั้นๆ จะถูกส่งตรงจากเบราว์เซอร์ของผู้ถือบัตรมายังเซิร์ฟเวอร์ของ Omise
  • เซิร์ฟเวอร์ของเราจะส่ง token ซึ่งเป็นตัวแทนของบัตรตอบกลับไป
  • Token ที่ถูกส่งไปนั้นจะถูกส่งต่อจากเบราว์เซอร์ผู้ถือบัตรไปยังเซิร์ฟเวอร์ของร้านค้า
  • เมื่อร้านค้าต้องการ charge บัตรก็จะส่ง token นั้นให้กับ Omise

ตัวอย่าง:
Credit card: 4242-4242-4242-4242, Joe Doe, 10/2020
Omise Token: tokn_51rcpwcdbe2etrgydpb

Token สามารถนำไปใช้เพื่อรับชำระเงิน (สร้าง charge) ทันที หรือร้านค้าอาจเลือกจัดเก็บไว้ในรูปแบบ Customer ก็ได้ การจัดเก็บ Token ไว้จะอนุญาตการเก็บเงินแบบรายเดือน (recurring payment) และการชำระแบบ one-click-checkout ซึ่งผู้ถือบัตรไม่จำเป็นต้องกรอกข้อมูลบัตรลงไปซ้ำๆ ทุกครั้งในหน้าเช็คเอาท์

บทความที่เกี่ยวข้อง:

การป้องกันการทุจริต
แนวทางปฏิบัติเพื่อความปลอดภัย
ใบรับรองมาตรฐานความปลอดภัย PCI DSS