ENCh23
ENCh23
Database Security
and
Authorization
Types of Security
– Legal and ethical issues
– Policy issues
– System-related issues
– The need to identify multiple security levels
Threats to databases
- Loss of integrity
- Loss of availability
- Loss of confidentiality
1. Account creation
2. Privilege granting
3. Privilege revocation
4. Security level assignment
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.
If any tampering with the database is suspected, a database audit is
performed, which 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.
Suppose that the DBA creates four accounts --A1, A2, A3, and A4-- and
wants only A1 to be able to create base relations; then the DBA must
issue the following GRANT command in SQL:
In SQL2 the same effect can be accomplished by having the DBA issue a
CREATE SCHEMA command as follows:
User account A1 can create tables under the schema called EXAMPLE.
Suppose that A1 wants to grant A2 the privilege to insert and delete tuples
in both of these relations, but A1 does not want A2 to be able to
propagate these privileges to additional accounts:
EMPLOYEE
NAME SSN BDATE ADDRESS SEX SALARY DNO
DEPARTMENT
DNUMBER DNAME MGRSSN
The two keys used for public key encryption are referred
to as the public key and the private key.
– the private key is kept secret, but it is referred to as private key
rather than a secret key (the key used in conventional encryption)
to avoid confusion with conventional encryption.
Public key is made for public and private key is known only
by owner.
A general-purpose public key cryptographic algorithm relies
on one key for encryption and a different but related one
for decryption. The essential steps are as follows:
1. Each user generates a pair of keys to be used for the encryption and
decryption of messages.
2. Each user places one of the two keys in a public register or other
accessible file. This is the public key. The companion key is kept
private.