Unit-4 Database Security
Unit-4 Database Security
• The concept of an application role security model are similar to the concept of
database role security model in that they are both methods for organizing and
administrating privileges. Application roles are mapped specifically to real
business roles.
• The security model that is based on application roles depends on the application to
authenticate the application users. Authentication is accomplished by maintaining
all end users in a table with their encrypted password.
• In this model, each end user is assigned an application role, and the application role is
provided with application privileges to read/write specific modules of the application.
APPLICATION_USERS:
• This is used to store and maintain all end users of the application with their encrypted
passwords.
APPLICATION_ROLES:
• All roles defined by the application and for each role a privilege is assigned. The
privilege can be read, write, or read/write.
The points need to be considered during security Model:
• This model is primitive and does not allow the flexibility required to make changes necessary for
security. For example a user called Scott who has a clerk role, and the clerk has privileges to
read, add, and modify. This means that Scott can perform these operations on all modules of the
application.
Privileges are limited to any combination of the following:
• read
• add
• delete
• update
• admin
• This model isolates the application security from the database, which make implementation of
database independent.
• Only one role is assigned to an application user.
• Maintenance of the application security does not require specific database privilege. This lowers
the risk of database violation.
• Passwords must be securely encrypted. preferably using private and public keys this case we
must modify the structure of APPLICATION_USER
3. Security Model based on Application Functions
• This security model is a combination of both the role and function security
models. The application roles and functions security model depends on the
application to authenticate the application users.
• The application authenticates users by maintaining all end users in a table with
their encrypted passwords.
• In this model the application is divided into function and roles are assigned to
function that are in turn assigned to users.
The following list present characteristics of this security model:
• This model provides flexibility for implementing application security.
• This model isolates the application security from the database, which make
implementation database independent.
• Maintenance of the application security does not require specific database privileges,
which lower the risk of database violations.
• Password must be securely encrypted, preferably using private and public keys. In
this case the structure of the APPLICATION_USER table by adding columns to store
public and private key.
• The application must use a real database user to log on and connect to the application
database. The user name and password must be encrypted and stored in a
configuration file.
• The application must be designed in a very granular fashion, which means that the
function or modules of the application perform specific task.
• The more granular the privileges, the more effort needed to implement them.
5. Security model based on Application Table
1. Symmetric and
2. Asymmetric encryption
1. Symmetric Key Encryption
• There are a few strategies used in cryptography algorithms.
• For encryption and decryption processes, some algorithms employ a
unique key.
• In such operations, the unique key must be secured since the system
or person who knows the key has complete authentication to decode
the message for reading.
• This approach is known as “symmetric encryption” in the field of
network encryption.
2. Asymmetric Key Encryption
• Some cryptography methods employ one key for data encryption and
another key for data decryption.
• As a result, anyone who has access to such a public communication
will be unable to decode or read it.
• This type of cryptography, known as “public-key” encryption, is used
in the majority of internet security protocols.
• The term “asymmetric encryption” is used to describe this type of
encryption.
States of Data Encryption