7.1 Database Security Models
Key Concepts
Database security models are frameworks designed to protect data from unauthorized access, modification, or destruction. These models define how access control, authentication, and authorization are managed within a database system. Here are seven key database security models:
1. Discretionary Access Control (DAC)
DAC is a security model where the owner of the data determines who can access it. Access rights are granted or denied based on the discretion of the data owner. This model is flexible but can be vulnerable to unauthorized access if the owner grants permissions to the wrong parties.
Example: In a company's HR database, the HR manager might grant access to employee records to specific HR staff members, while denying access to others.
2. Mandatory Access Control (MAC)
MAC is a security model where access rights are determined by the system rather than the data owner. The system enforces strict rules based on security labels (e.g., classified, confidential) and user clearance levels. This model is highly secure but less flexible.
Example: In a government database, documents classified as "Top Secret" can only be accessed by users with the appropriate clearance level.
3. Role-Based Access Control (RBAC)
RBAC is a security model where access rights are assigned based on roles within an organization. Users are granted permissions based on their job functions rather than individual identities. This model simplifies access management and reduces the risk of unauthorized access.
Example: In a hospital database, doctors might have access to patient medical records, while nurses have access to a limited subset of this data based on their roles.
4. Attribute-Based Access Control (ABAC)
ABAC is a security model where access rights are determined by attributes associated with users, resources, and the environment. Access decisions are made based on a combination of these attributes, providing fine-grained control over access.
Example: In a university database, a student might be granted access to their own grades but denied access to grades of other students based on their user attributes.
5. Rule-Based Access Control (RAC)
RAC is a security model where access rights are determined by predefined rules. These rules specify conditions under which access is granted or denied. This model is flexible and can be tailored to specific security requirements.
Example: In a financial database, a rule might specify that only users with a "Manager" role can approve transactions over a certain amount.
6. Multi-Level Security (MLS)
MLS is a security model designed for systems handling data with different security classifications. It ensures that users can only access data at their clearance level or lower, preventing unauthorized access to sensitive information.
Example: In a military database, a user with a "Secret" clearance can access "Secret" and "Confidential" data but not "Top Secret" data.
7. Capability-Based Security (CBS)
CBS is a security model where access rights are represented by capabilities, which are tokens or certificates that grant access to specific resources. Users must present a valid capability to access a resource, providing a secure and flexible access control mechanism.
Example: In a cloud storage system, a user might be issued a capability token that grants read and write access to a specific folder, but not to other folders.
Conclusion
Understanding these database security models is crucial for implementing effective data protection strategies. Each model offers unique advantages and is suited to different types of systems and security requirements. By selecting the appropriate model, organizations can ensure that their data is secure and accessible only to authorized users.