Bảo mật cơ sở dữ liệu là tập hợp các biện pháp bảo vệ CSDL hoặc phần mềm quản trị CSDL khỏi sử dụng trái phép và các mối đe dọa, tấn công mạng độc hại. Có nhiều nguyên tắc bảo mật CSDL như sau:
1. Mô hình bảo mật (Security models)
Mô hình bảo mật tạo ra khung ngoài để xem xét các vấn đề bảo mật nói chung, và cung cấp bối cảnh cho các cân nhắc về CSDL, như triển khai và vận hành.
2. Kiểm soát truy cập (Access control)
Mục tiêu của kiểm soát truy cập phải luôn rõ ràng. Kiểm soát truy cập tốn kém về phân tích, mô hình và chi phí vận hành. Nó nên được dùng cho các tình huống, tiêu chuẩn và mục đích đã biết.
3. Xác thực (Authentication)
Client phải xác thực danh tính của server và server phải xác thực danh tính của client. Điều này được thực hiện bằng bí mật chung (cặp mật khẩu/user-id, hoặc thông tin sinh trắc học/sinh trắc học chung). Có thể cũng được thực hiện bởi hệ thống quyền lực cao hơn đã thiết lập xác thực trước đó.
Trong hệ thống client-server nơi dữ liệu được phân tán, xác thực có thể đủ từ hệ thống ngang hàng. Xác thực không cung cấp đặc quyền cho nhiệm vụ cụ thể. Nó chỉ thiết lập DBMS tin tưởng user là người được tuyên bố và user tin tưởng DBMS cũng là hệ thống xác định trước.
4. Ủy quyền (Authorisation)
Ủy quyền liên quan đến quyền được cấp cho user được ủy quyền để thực hiện các giao dịch cụ thể. Do đó, thay đổi trạng thái CSDL (giao dịch writeitem) và nhận thông tin từ CSDL (giao dịch readitem). Kết quả của ủy quyền, cần dựa trên cơ sở giao dịch, là một vector – Authorisation (item, auth-id, operation). Vector là một chuỗi giá trị dữ liệu tại vị trí biết trong hệ thống.
Ở mức logic, cấu trúc hệ thống cần một server ủy quyền, phải hợp tác với server kiểm toán. Có vấn đề bảo mật server-to-server và vấn đề khuếch đại (amplification) khi ủy quyền truyền từ hệ thống này sang hệ thống khác. Khuếch đại nghĩa là vấn đề bảo mật trở nên lớn hơn khi số lượng server DBMS tham gia giao dịch tăng lên.
5. Triết lý và quản trị truy cập (Access philosophies and management)
Kiểm soát tự chủ (Discretionary control) là nơi các đặc quyền cụ thể được thiết lập dựa trên tài sản cụ thể, mà user được ủy quyền dùng theo cách cụ thể. DBMS bảo mật phải tạo ma trận truy cập như: đối tượng (relations, data, views) và phép toán cho mỗi user – mỗi mục tách biệt quyền create, read, insert, update.
Ma trận này trở nên rất phức tạp khi ủy quyền thay đổi từ đối tượng này sang đối tượng khác. Ma trận cũng có thể rất lớn, vì triển khai thường yêu cầu kiểu triển khai vật lý liên quan đến ma trận thưa (sparse matrices). Không thể lưu ma trận trong bộ nhớ chính của máy tính.