PowerPoint PresentationIntroduction to Database Security IssuesSlide 3Slide 4Slide 51.2 Database Security and the DBA1.2 Database Security and the DBA (2)1.3 Access Protection, User Accounts, and Database Audits1.3 Access Protection, User Accounts, and Database Audits(2)1.3 Access Protection, User Accounts, and Database Audits(3)Discretionary Access Control Based on Granting and Revoking Privileges2.1Types of Discretionary Privileges2.1Types of Discretionary Privileges(2)2.1Types of Discretionary Privileges(3)2.1Types of Discretionary Privileges(4)2.1Types of Discretionary Privileges(5)2.2 Specifying Privileges Using Views2.3 Revoking Privileges2.4 Propagation of Privileges using the GRANT OPTION2.5 An Example2.5 An Example (2)2.5 An Example (4)2.5 An Example (5)2.5 An Example (6)2.5 An Example (7)3 Mandatory Access Control and Role-Based Access Control for Multilevel Security6 Encryption and Public Key Infrastructures6.1 The Data and Advanced Encryption Standards6.1 The Data and Advanced Encryption Standards (2)6.1 The Data and Advanced Encryption Standards(3)6.2 Public Key Encryption6.2 Public Key Encryption (2)6.2 Public Key Encryption (3)6.2 Public Key Encryption (4)6.2 Public Key Encryption (5)6.2 Public Key Encryption (6)Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-WesleyChapter 24Database SecurityCopyright © 2011 Ramez Elmasri and Shamkant NavatheIntroduction to Database Security Issues Threats to databasesLoss of integrityLoss of availabilityLoss of confidentialityTo protect databases against these types of threats four kinds of countermeasures can be implemented:Access controlInference controlFlow controlEncryptionCopyright © 2011 Ramez Elmasri and Shamkant NavatheIntroduction to DatabaseSecurity Issues A DBMS typically includes a database security and authorization subsystem that is responsible for ensuring the security portions of a database against unauthorized access.Two types of database security mechanisms:Discretionary security mechanismsMandatory security mechanismsCopyright © 2011 Ramez Elmasri and Shamkant NavatheIntroduction to DatabaseSecurity Issues The security mechanism of a DBMS must include provisions for restricting access to the database as a wholeThis function is called access control and is handled by creating user accounts and passwords to control login process by the DBMS.Copyright © 2011 Ramez Elmasri and Shamkant NavatheIntroduction to DatabaseSecurity Issues Another security issue is data encryption, which is used to protect sensitive data (such as credit card numbers) that is being transmitted via some type communication network.The data is encoded using some encoding algorithm.An unauthorized user who access encoded data will have difficulty deciphering it, but authorized users are given decoding or decrypting algorithms (or keys) to decipher data.Copyright © 2011 Ramez Elmasri and Shamkant Navathe1.2 Database Security and the DBA The database administrator (DBA) is the central authority for managing a database system.The DBA’s responsibilities includegranting privileges to users who need to use the systemclassifying users and data in accordance with the policy of the organizationThe DBA is responsible for the overall security of the database system.Copyright © 2011 Ramez Elmasri and Shamkant Navathe1.2 Database Security and the DBA (2)The DBA has a DBA account in the DBMSSometimes these are called a system or superuser accountThese accounts provide powerful capabilities such as:1. Account creation2. Privilege granting3. Privilege revocation4. Security level assignmentAction 1 is access control, whereas 2 and 3 are discretionary authorization and 4 is used to control mandatory authorizationCopyright © 2011 Ramez Elmasri and Shamkant Navathe1.3 Access Protection, User Accounts, and Database AuditsWhenever a person or group of persons need to access a database system, the individual or group must first apply for a user account.The DBA will then create a new account id and password for the user if he/she deems there is a legitimate need to access the databaseThe user must log in to the DBMS by entering account id and password whenever database access is needed.Copyright © 2011 Ramez Elmasri and Shamkant Navathe1.3 Access Protection, User Accounts, and Database Audits(2)The database system must also keep track of all operations on the database that are applied by a certain user throughout each login session.To keep a record of all updates applied to the database and of the particular user who applied each update, we can modify system log, which includes an entry for each operation applied to the database that may be required for recovery from a transaction failure or system crash.Copyright © 2011 Ramez Elmasri and Shamkant Navathe1.3 Access Protection, User Accounts, and Database Audits(3)If any tampering with the database is suspected, a database audit is performedA database audit consists of reviewing the log to examine all accesses and operations applied to the database during a certain time period.A database log that is used mainly for security purposes is sometimes called an audit trail.Copyright © 2011 Ramez Elmasri and Shamkant NavatheDiscretionary Access Control Based on Granting and Revoking PrivilegesThe typical method of enforcing discretionary access control in a database system is based on the granting and revoking privileges.Copyright © 2011 Ramez Elmasri and Shamkant Navathe2.1Types of Discretionary PrivilegesThe account level:At this level, the DBA specifies the particular privileges that each account holds independently of the relations in the database.The relation level (or table level):At this level, the DBA can control the privilege to access each individual relation or view in the database.Copyright © 2011 Ramez Elmasri and Shamkant Navathe2.1Types of Discretionary Privileges(2)The privileges at the account level apply to the capabilities provided to the account itself and can includethe CREATE SCHEMA or CREATE TABLE privilege, to create a schema or base relation;the CREATE VIEW privilege;the ALTER privilege, to apply schema changes such adding or removing attributes from relations;the DROP privilege, to delete relations or views;the MODIFY privilege, to insert, delete, or update tuples;and the SELECT privilege, to retrieve
View Full Document