Consultas Eficientes y Seguras a
Bases de Datos utilizando Fragmentación y Cifrado de Datos
Jazmín Beatriz Trejo Gatica
|
Texto completo de la Tesis
Resumen
Mantener la privacidad en la
información ha cobrado mayor importancia en las últimas
décadas. Con el surgimiento de Internet y la
centralización de los datos, es cada vez más necesario
dotar de seguridad a nuestra información para protegerla contra
robos, plagios, extorsiones, etc. Gracias a este gran avance
tecnológico en la comunicación global nació DaaS
(Database as a Service), una arquitectura que ofrece el servicio de
hosting de bases de datos brindando la comodidad de administrar las
bases de datos y permitir consultas desde cualquier terminal que pueda
conectarse a Internet. A pesar de que estas empresas que prestan el
servicio de hosting de datos ofrecen cierto nivel de seguridad para que
solamente el poseedor de la misma pueda consultarla, el prestatario del
servicio tiene acceso total a nuestra información. Para cubrir
este aspecto se ha hecho uso de las bondades de seguridad que la
Criptografía ofrece. Han surgido diversos esquemas que cifran
por completo la base de datos con el fin de que el prestatario del
servicio no pueda ser capaz de interpretar la información; lo
malo es que para realizar consultas a la base de datos cifrada el
tiempo de espera del cliente es bastante significativo ya que para
realizar la consulta se deben realizar diversas funciones de descifrado
y así obtener la información en claro.
Es por esta razón que nos sentimos motivados a diseñar un
modelo que permita satisfacer consultas eficientes y seguras en una
base de datos bajo el contexto DaaS. Este trabajo de tesis presenta un
esquema que en vez de cifrar por completo la base de datos, fragmenta
la información y gracias a esto, gran parte de la
información puede permanecer en texto claro. Fragmentar la base
de datos implica separar aquellos atributos que juntos nos denotan
información valiosa, como puede ser el nombre de un empleado y
su sueldo, y cifrar la relación existente entre estos datos.
Así, fragmentar los datos trae grandes beneficios tanto en
tópicos de seguridad como en eficiencia; debido a que las
consultas se realizan a los datos en texto claro, éstas son
realizadas en tiempo real y generadas por el motor de búsqueda
del Sistema Manejador de Bases de Datos. Además, nuestro esquema
no sólo se preocupa por la seguridad de la información,
sino también de la autenticidad de la misma; si un dato no ha
sido autenticado, no podemos saber si éste ha sido modificado de
forma intencional o accidental. Es por este motivo que los datos
cifrados en nuestro esquema son autenticados mediante un cifrado con
autenticación.
Por otra parte, y ya que la fragmentación de la base de datos es
un problema NP-difícil debido a que corresponde al mismo
problema de coloración de hipergrafos, se diseño e
implementó una heurística que permitiera resolver este
problema y minimizar el número de fragmentos. Se diseño
un algoritmo genético que permitiera realizar la
fragmentación y se comparó directamente contra otra
heurística mostrada en la literatura; los resultados obtenidos
fueron bastante satisfactorios, nuestro algoritmo genético
obtuvo significativamente menos fragmentos de los obtenidos con la otra
heurística.
Abstract
During the last decade privacy of
information has gained a lot of attention. With the rapid expansion of
the internet and centralized data storage mechanisms it has become very
important to protect the stored information against non-authorized
access and processing. Rapid technological development has brought many
new data storage solutions, one of them is Database as a Service
(Daas). DaaS is a specific architecture providing database hosting
services. In the DaaS model, the owner of the data delegates the duty
of maintaining his/her data to a third party (called the server) which
hosts the database and process his/her queries. These kind of service
providers which provides the service of data hosting may add some
security mechanism on the stored data, but the service provider has
full access to it. It is undesirable as the owner may not want to
reveal the data to the server. Numerous cryptographic techniques can be
used by the owner to protect the data. But such an encryption applied
to the whole data brings in a new problem: the server needs to process
queries on the encrypted data. Last said would be very inefficient, as
a good encryption scheme would destroy all the structure which exists
in the original data, hence indexing and other techniques generally
applied for efficient query processing can no longer be applied. Thus
specialized cryptographic schemes are required.
In this thesis we deal with the problem of secure storage in the DaaS
model which is friendly to efficient query processing. We present a
scheme in which instead of encrypting the total database, we fragment
the information and encrypt only parts of it. By using this strategy
the majority of the information stays un-encrypted, and thusquery
processing can also be done efficiently. Fragmenting a database implies
to separate those attributes which have a sensitive association between
them. For example, in an employees database the individual attributes
employee name and salary are not themselves sensitive, but the
association between them is not revealed. Fragmentation of a database
provides some security to the data without hampering the ease of query
processing, and they can be done by the database management system
without much extra overhead. Our scheme also adds an additional
security service of authentication along with encryption.
Authentication allows detection of accidental or intentional changes
made within a database. We obtain authentication by using a primitive
called authenticated encryption. The other part which the thesis deals
with is the problem of creating fragments. The problem of creating
minimum fragments is the same as the minimum hyper-graph coloring
problem which is known to be NP hard. We developed a heuristic based on
genetic algorithm to create the minimum number of fragments given a
database. Our scheme gives significantly lesser number of fragments
compared to other heuristics reported in the literature.