Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

หลักการความปลอดภัยฐานข้อมูลในความปลอดภัยข้อมูลมีอะไรบ้าง?

ความปลอดภัยฐานข้อมูล (Database Security) หมายถึงมาตรการร่วมกันที่ใช้เพื่อปกป้องและรักษาความปลอดภัยฐานข้อมูลหรือซอฟต์แวร์จัดการฐานข้อมูลจากการใช้งานที่ไม่ได้รับอนุญาตและภัยคุกคามทางไซเบอร์ มีหลักการความปลอดภัยฐานข้อมูลหลักๆ ดังนี้:

โมเดลความปลอดภัย (Security Models)

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

การควบคุมการเข้าถึง (Access Control)

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

การยืนยันตัวตน (Authentication)

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

ในระบบไคลเอ็นต์-เซิร์ฟเวอร์ที่ข้อมูลกระจายอยู่ การยืนยันตัวตนจากระบบเพียร์ (Peer System) อาจเพียงพอ การยืนยันตัวตนไม่ให้สิทธิพิเศษสำหรับงานเฉพาะเจาะจง มันเพียงยืนยันว่า DBMS เชื่อถือว่าผู้ใช้เป็นผู้ที่อ้างว่าตนเป็น และผู้ใช้เชื่อถือว่า DBMS ก็เป็นระบบที่กำหนดไว้เช่นกัน

การอนุญาต (Authorisation)

การอนุญาต (Authorisation) เกี่ยวข้องกับสิทธิ์ที่ให้แก่ผู้ใช้ที่ได้รับอนุญาต เพื่อดำเนินธุรกรรมเฉพาะเจาะจง ดังนั้น จึงเปลี่ยนสถานะของฐานข้อมูล (Write-item Transactions) และรับข้อมูลจากฐานข้อมูล (Read-item Transactions) ผลลัพธ์ของการอนุญาต ซึ่งต้องอยู่ในฐานธุรกรรม คือเวกเตอร์ — Authorisation (Item, Auth-ID, Operation) เวกเตอร์คือชุดค่าข้อมูลที่ตำแหน่งที่รู้จักในระบบ

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

ปรัชญาและการจัดการการเข้าถึง (Access Philosophies and Management)

การควบคุมแบบพิจารณา (Discretionary Control) คือการที่สิทธิ์พิเศษถูกกำหนดบนพื้นฐานทรัพยากรเฉพาะ ซึ่งผู้ใช้ที่ได้รับอนุญาตได้รับอนุญาตให้ใช้ในลักษณะเฉพาะ DBMS ความปลอดภัยต้องสร้างแมทริกซ์การเข้าถึง (Access Matrix) เช่น อ็อบเจ็กต์อย่าง Relation, Data, Views และ Operations สำหรับแต่ละผู้ใช้ — แต่ละรายการแยกสิทธิ์ Create, Read, Insert และ Update

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