เมนู

ข้อมูลทดสอบ PCI DSS ทำไมใช้บัตรจริงไม่ได้

ข้อมูลทดสอบกับ PCI DSS เกี่ยวข้องกันมากกว่าที่คิด เพราะสภาพแวดล้อมทดสอบก็อยู่ในขอบเขต บทความนี้อธิบายข้อจำกัดของข้อมูลจริง ทางเลือกอย่างข้อมูลสังเคราะห์และโทเคน

เผยแพร่เมื่อ

  • ความปลอดภัย
  • ข้อมูลทดสอบ
  • การชำระเงิน

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

PCI DSS เกี่ยวข้องกับข้อมูลทดสอบอย่างไร?

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

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

มาตรฐานนี้มีเอกสารเผยแพร่และปรับปรุงเป็นระยะ รายละเอียดฉบับปัจจุบันดูได้ที่ PCI Security Standards Council และควรตรวจเวอร์ชันที่ใช้บังคับกับธุรกิจของคุณก่อนวางแผนงานด้านการปฏิบัติตามข้อกำหนด

ทำไมข้อมูลบัตรจริงจึงห้ามอยู่ในสภาพแวดล้อมทดสอบ?

เหตุผลเชิงปฏิบัติมีอยู่สามข้อ และทั้งสามข้อเป็นเรื่องที่ทีมงานเคยประสบมาจริงทั้งสิ้น

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

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

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

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

ข้อมูลแบบใดใช้แทนบัตรจริงได้

ทางเลือกที่ใช้กันทั่วไปมีสามประเภท แต่ละประเภทให้ความปลอดภัยและความสะดวกต่างกัน

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

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

โทเคนต่างจากหมายเลขที่ถูกปกปิดอย่างไร

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

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

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

แยกสภาพแวดล้อมทดสอบออกจากโปรดักชันอย่างไร

การแยกที่ดีควรชัดเจนในหลายระดับ ไม่ใช่แค่การตั้งค่าชื่อสภาพแวดล้อมให้ต่างกัน

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

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

สำหรับนักพัฒนา: ตรวจก่อนทุกครั้งที่คัดลอกข้อมูล

ก่อนคัดลอกข้อมูลชุดใดเข้าสู่สภาพแวดล้อมที่ไม่ใช่โปรดักชัน ลองใช้รายการตรวจต่อไปนี้เป็นด่านสุดท้าย

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

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

สร้างข้อมูลทดสอบที่ไม่ติดข้อกำหนดได้ในเครื่องมือ

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

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

ก้าวต่อไป

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

อ่านต่อ

บทความเกี่ยวกับ เครื่องมือสร้างหมายเลขบัตรเครดิตปลอม

บทความเกี่ยวกับ เครื่องมือสร้างหมายเลขบัตรเครดิตปลอม

รายการนี้แสดงเฉพาะบทความในหัวข้อของหน้านี้