give the enterprise the ability to encrypt data within
an application or database at the field level.
Consequently, one can encrypt an entire database,
but not specific information housed within the
database.
3 USER MANAGEMENT ISSUES
To access database resources, a user must have an
account with the database. User account
management is the basis for the overall database
system security. A DBA has the responsibility to
create and maintain all DB user accounts, which Is a
large portion of her/his system administration effort.
At the account creation time, the DBA species how
the newly created user will be authenticated, and
what system resources the user can use. When a user
wants to connect to a database, she/he must identify
her-self/himself to the server and the server will
verify her/his identity using the pre-specied
authentication method. Current commercial
RDBMSs support many dierent kinds of identication
and authentication methods, among them are
password-based authentication (Koch, 1997), host-
based authentication (Agrawal, 2004), (Koch, 1997),
(Informix, 1994), PKI (Public Key Infrastructure)
based authentication (Oracle, 1999), and other third
party-based authentications such as Kerberos
(Neuman, 1994), DCE (Distributed Computing
Environment (Rosenberry, 1992)) and smart card
(Rankl, 1997). Essentially, all methods rely on a
secret known only to the connecting user. It is vital
that a user should have total control over her/his own
secret. For example, only she/he should be able to
change her/his password. Other people can change a
user's password only if they are authorized to do so.
In a DB system, a DBA can reset a user's password
upon the user's request, probably because the user
might have forgotten her/his password. However,
the DBA can temporarily change a user's password
without being detected and caught by the user,
because the DBA has the capability to update
(directly or indirectly) the system catalogs.
3.1 A separated Security Directory
A traditional data directory stores all of the
information that is used to manage the objects in a
database. A data directory consists of many catalog
tables and views. It is generally recommended that
users (including DBAs) do not change the contents
of a catalog table manually. Instead, those catalogs
will be maintained by the DB server and updated
only through the execution of system commands.
However, a DBA can still make changes in a catalog
table if she/he wants to do so. To prevent
unauthorized access to important security-related
information, we introduce the concept of security
catalog. A security catalog is like a traditional
system catalog but with two security properties: It
can never be updated manually by anyone, and its
access is controlled by a strict authentication and
authorization policy.
4 COMPLETE ACCOUNTABILITY
From an administration point of view, a DBA
(Database Administrator) is playing an important
and positive role. However, when security and
privacy become a big issue, we cannot simply trust
particular individuals to have total control over other
people's secrecy. This is not just a problem of
trustiness, it is a principle. Technically, if we allow a
DBA to control security without any restriction, the
whole system becomes vulnerable because if the
DBA is compromised, the security of the whole
system is compromised, which would be a disaster.
On the other hand, if we have a mechanism in which
each user could have control over his/her own
secrecy, the security of the system is maintained
even if some individuals do not manage their
security properly. Access control is the major
security mechanism deployed in all RDBMSs. It is
based upon the concept of privilege. A subject (i.e.,
a user, an application, etc.) can access a database
object if the subject has been assigned the
corresponding privilege. Access control is the basis
for many security features. Special views and stored
procedures can be created to limit users' access to
table contents. However, a DBA has all the system
privileges. Because of her/his ultimate power, a
DBA can manage the whole system and make it
work in the most efficient way. In the mean time,
she/he also has the capability to do the most damage
to the system. With a separated security directory the
security administrator is responsible for setting the
user permissions. Thus, for a commercial database,
the security administrator (SA) operates through a
separate middle-ware, the access control system
(ACS), which serve for authentication verification,
authorization, audit, encryption and decryption. The
ACS is tightly coupled to the database management
system (DBMS) of the database. The ACS controls
access in real-time to the protected fields of the
database. Such a security solution provides
separation of the duties of a security administrator
from a database administrator (DBA). The DBA’s
role could for example be to perform usual DBA
tasks, such as extending tablespaces etc, without
A PRACTICAL IMPLEMENTATION OF TRANSPARENT ENCRYPTION AND SEPARATION OF DUTIES IN
ENTERPRISE DATABASES - Protection against External and Internal Attacks on Databases
149