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

วันศุกร์ที่ 8 เมษายน พ.ศ. 2554

ปกป้องข้อมูลที่สำคัญบนฐานข้อมูลด้วยการทำ Data Masking

Data Masking




ในองค์กรใหญ่ ๆ นั้น การพัฒนาระบบสารสนเทศใด ๆ มักจะแยกระหว่างระบบที่เป็น Production และระบบที่เป็น Test Environment โดยเฉพาะอย่างยิ่งระบบที่ต้องทำงานเกี่ยวข้องกับเรื่องเงิน ๆ ทอง ๆ และข้อมูลของลูกค้านั้น ข้อมูลที่จะนำมาใช้งานบน Test Environment นั้นควรจะเป็นข้อมูลที่ใกล้เคียงกับข้อมูลที่อยู่บน Production กล่าวคือ องค์ประกอบของฐานข้อมูล เช่น databases, tables, relation รวมไปถึงฟิลด์ข้อมูลต่าง ๆ ที่อยู่บน Test Environment นั้นจะต้องเหมือนกัน สิ่งที่แตกต่างกันก็คือ ข้อมูลที่นำออกมานั้นจะต้อง ไม่ใช่ข้อมูลจริง ๆ ใน Production Database เนื่องจากข้อมูลเหล่านั้นเป็นข้อมูลที่ถือว่าเป็นความลับสุดยอดของลูกค้า ดังนั้น ในระบบที่เราใช้ทดสอบนั้นจะต้องนำข้อมูลออกจากฐานข้อมูลให้มีโครงสร้างเหมือนกับ Production เพื่อให้การทดสอบระบบจะได้ผลที่เหมือนกับการทำงานบนระบบจริง แต่ข้อมูลที่นำมานั้นจะต้องไม่ใช้ข้อมูลที่ใช้งานจริง ซึ่งกระบวนการเช่นนี้เราเรียกกว่า "Data Masking"


ความสำคัญของ Data Masking


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




  • Encryption/Decryption (เข้ารหัส/ถอดรหัส)

  • Masking (การสวมข้อมูลผู้อื่นเข้าไปแทน)

  • Substitution (การแทนที่ด้วยข้อมูลหรืออักษรอื่น)

  • Nulling (การแทนด้วยค่า NULL)

  • Shuffling (การสลับข้อมูล)

  • Custom algorithms based on unique requirements (การใช้ algorithm ที่กำหนดขึ้นมาเอง)




รูปที่ 1 ตัวอย่างการทำ Data Masking


จากรูปจะเห็นได้ว่าข้อมูลใน Non-Production นั้นจะถูกเปลี่ยนแปลงไป ซึ่งเมื่อ Tester นำข้อมูลดังกล่าวไปใช้ใน Testing Process นั้นจะไม่เห็นข้อมูลจริงของลูกค้า แต่กระบวนการ Test ก็ไม่เกิดปัญหา เนื่องจากลักษณะข้อมูลและโครงสร้างที่นำมาทดสอบนั้น เหมือนกับฐานข้อมูลจริงที่ใช้งานบน Production ซึ่งหากองค์กรที่จัดเก็บข้อมูลที่สำดัญของลูกค้ามีกระบวนการพัฒนาระบบสารสนเทศเช่นนี้แล้วนั้น ก็สามารถสร้างความมั่นใจให้แก่ลูกค้าได้ว่าข้อมูลที่เป็นข้อมูลส่วนบุคคลของลูกค้า ถูกจัดเก็บเป็นอย่างดีแม้แต่บุคลากรภายในที่ไม่มีส่วนเกี่ยวข้องก็ไม่มีโอกาสล่วงรู้ข้อมูลได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น