Sei sulla pagina 1di 10

Unidad 2.

Seguridad
2.1 Introduccin
En las bases de datos se plantean problemas de seguridad como la comparticin de datos, acceso a estos, proteccin contra fallos, contra accesos no permitidos, etc. El SGBD facilita mecanismos para prevenir los fallos (subsistema de control), para detectarlos (subsistema de deteccin) y para corregirlos (subsistema de recuperacin). El alumno identificar los aspectos fundamentales de la seguridad: Confidencialidad. No develar datos a usuarios no autorizados. Comprender tambin la privacidad (proteccin de datos personales). Accesibilidad o disponibilidad. La informacin debe estar disponible y tambin el acceso a los servicios. Integridad. Permite asegurar que los datos no han sido falseados o modificados de forma indebida.

2.2 Seguridad, y autorizaciones para el acceso a la informacin.


El aspecto global de seguridad de los datos est muy vinculado al propio concepto de lo que es la base de datos: Un conjunto de datos integrados, adecuado a varios usuarios y a diferentes usos. Es el propio uso concurrente de los datos el que, en muchos casos, plantea el problema de seguridad que el administrador de la base de datos ya no puede servir a los fines para los que fue creada. La proteccin de los datos deber llevarse a cabo contra fallos fsicos (de unidad central de proceso, de memoria secundaria, de memoria principal, etc.), fallos lgicos (de programacin, del sistema operativo, etc.) y fallos humanos, ya sean stos intencionados o no. Estos fallos alteran indebidamente los datos, los corrompen, con lo que la base de datos ya no puede funcionar para los objetivos para los que fue creada. El SGBD facilita normalmente mecanismos para prevenir los fallos (subsistema de control), para detectarlos una vez que se han producido (subsistema de deteccin) y para corregirlos despus de haber sido detectados (subsistema de recuperacin). Actualmente se considera generalmente aceptado que la seguridad comprende tres

aspectos fundamentales (el tercer aspecto se ver en la tercera unidad): Confidencialidad, es decir, no develar datos a usuarios no autorizados; que comprende tambin la privacidad (la proteccin de datos personales). Accesibilidad, esto es, que la informacin se encuentre disponible. Integridad.

Hay que tener en cuenta que tanto las amenazas como los mecanismos para contrarrestarlas, suelen afectar a estas tres caractersticas de forma conjunta. As, por ejemplo, fallos del sistema que hacen que la informacin no sea accesible pueden llevar consigo una prdida de integridad. Tambin debemos ser conscientes de que las medidas de seguridad que debern establecerse en cuanto a los datos, no slo afectan al SGBD, sino que comprenden tambin el hardware y el sistema operativo, las medidas de seguridad fsica, los controles organizativos (polticas, normas, procedimientos, etc) . 2.2.1 Confidencialidad. Autorizacin en sistemas de bases de datos En un SGBD, al igual que sucede con el sistema operativo, existen diversos elementos bsicos que ayudan a controlar el acceso a los datos. En primer lugar, el sistema debe identificar y autentificar al usuario (sujeto), utilizando para ello algunos de los siguientes formas: Cdigo y contrasea (password) Identificacin del hardware Caractersticas bioantropomtricas (huellas dactilares, voz, retina del ojo, palma de la mano, etc.) Conocimientos, aptitudes y hbitos del usuario (estilo de pulsacin del teclado) Informacin predefinida (aficiones, datos culturales, personales)

La forma ms usual es la primera en la que el usuario da su identificacin, el SGBD le pide contrasea y le concede el acceso al sistema, si ambos son vlidos. Adems, el administrador o el propietario de los datos, deber especificar los privilegios que un usuario autorizado tiene sobre los objetos de la base de datos. Estos privilegios incluyen, entre otros: Utilizar una base de datos Consultar ciertos datos Actualizar (modificar, insertar o borrar) datos Crear o actualizar objetos Ejecutar procedimientos almacenados Referenciar objetos Indexar objetos

Crear identificadores Conceder privilegios

Para facilitar la administracin de la confidencialidad, los SGBD suelen incorporar el concepto de perfil, rol o grupo de usuarios, que agrupa una serie de privilegios, por lo que el usuario que se asigna a un grupo hereda todo los privilegios del grupo. Con esta informacin, el mecanismo de control de acceso se encarga de mantener la integridad de denegar o conceder el acceso a los usuarios, ayudando tambin a mantener la integridad de los datos, en caso de tratarse de operaciones de actualizacin. Adems, hay que tener en cuenta, que en un SGBD pueden existir diferentes tipos de autorizacin. Una primera distincin se puede hacer entre: Autorizacin explcita, utilizada normalmente en los sistemas tradicionales, que consiste en almacenar qu sujetos pueden acceder a ciertos objetos con determinados privilegios; para lo que se suele utilizar una matriz de control de accesos. Autorizacin implcita, que consiste en que una autorizacin definida sobre un objeto puede deducirse a partir de otras; por ejemplo, si se puede acceder a una clase en un SGBO (Sistema de Gestin de Bases de Objetos) tambin se puede acceder a todos los ejemplares (instancias) de la clase. Con este tipo de autorizacin se puede ahorrar espacio de almacenamiento a costa de consumir tiempo de proceso. Por otra parte se puede distinguir entre: Autorizacin fuerte, en caso de que las autorizaciones deducidas a partir de la misma no puedan ser invalidadas. Autorizacin dbil, en este caso se permiten excepciones sobre las autorizaciones implcitas.

Por ltimo, hay que tener en cuenta que podemos utilizar: Autorizacin positiva, su presencia indica la existencia de autorizacin. Autorizacin negativa, es la denegacin explcita de una autorizacin.

El tipo de autorizacin que se adopte depender entre otras cosas de: La poltica de control elegida, (MORANT et al. (1994)); pudiendo el SGBD operar como sistema abierto (en el que un usuario puede acceder a todos los objetos, excepto a aquellos que se prohben explcitamente), o como sistema cerrado (el usuario accede slo a aquellos objetos para los que tiene autorizacin previa). El modelo de datos, ya que al utilizar, por ejemplo, autorizacin explcita en los SGBO consume mucho espacio de almacenamiento debido a la existencia de un

gran nmero de elementos a controlar (clases, subclases, servicios, objetos, completos, etc.) Por otro lado, los SGBD que siguen la arquitectura a tres niveles ANSI/PARC soportan los esquemas externos (subesquemas o vistas), que tambin permiten controlar el acceso a los datos por parte de los usuarios. Otra tcnica de proteccin de la confidencialidad (y tambin de la integridad) que pueden utilizarse en los SGBD es la criptografa, que permite transformar el contenido de la base, hacindolo ininteligible a cualquier usuario que acceda a la misma sin la correspondiente clave de descifrado. Por ltimo, cabe destacar las facilidades de auditora que ofrecen los SGBD, que permiten recoger en un fichero de pistas de auditora ciertas operaciones realizadas por los usuarios, pudiendo, de esta manera, detectar accesos no permitidos. 2.2.2 Disponibilidad. Los sistemas de bases de datos deben asegurar la disponibilidad de los datos a aquellos que tienen derecho a ello por lo que proporcionan mecanismos que permiten recuperar la base de datos contra fallos lgicos o fsicos que destruyan los datos en todo o en parte. Estos fallos van desde catstrofes como un incendio o un terremoto, sabotajes, fallos del sistema operativo fallos de disco, u otras cadas del sistema sea cual sea la causa que los ha provocado. En este caso, slo nos enfocaremos a los instrumentos que proporcin el propio SGBD para evitar o remediar estos fallos, aunque hay que ser conscientes de que para obtener un sistema robusto podra ser conveniente, bajo determinadas circunstancias, utilizar facilidades ajenas al SGBD, como por ejemplo, mquinas tolerantes a fallos (fault tolerance), sistemas de alimentacin ininterrumpida, tcnicas para redes de comunicaciones. Como seala DATE (1995), el principio bsico en el que se apoya la recuperacin de la base de datos ante cualquier fallo es la redundancia fsica (lo que significa que, a nivel lgico, la redundancia no es visible) para el usuario que accede a la base de datos (bien en consulta o en actualizacin). En lo que afecta al SGBD existen dos tipos importantes de fallos: 1. Los que provocan la prdida de memoria voltil, usualmente debidos a la interrupcin del suministro elctrico o por funcionamiento anormal del hardware. 2. Los que provocan la prdida de contenido de memoria secundaria, por ejemplo, el producido al patinar las cabezas de un disco. 2.2.3 Tcnicas de Seguridad. Algunas de las tcnicas ms utilizadas para evitar y en algunos casos solo para ejecutar modificaciones fuera de lnea son:

Encriptamiento, consiste en convertir la informacin de la BD a un formato que resulte ilegible sino se dispone del algoritmo de conversin. Aplicacin de totales de control, consiste en generar registros ficticios que son agregados a la BD y que permitirn detectar la insercin, eliminacin o modificacin de datos en la gran mayora de los casos.

Los registros ficticios son creados con informacin que se obtiene de acumulados o valores estadsticos de los registros reales. Ejemplo: Nombre Direccin Estatura Gloria Forj. Km. 3.5 1.60 Mayra I. La Catlica 320 1.65 Nelson F. Ortega 950 1.75 Mara Encinas 424 1.66

Registro ficticio (Al azar en tablas definidas promedio de los datos reales). Dgitos de control, son caracteres que se anexan a las claves o a los datos que sern manejados con el objeto de autentificar su validez.

2.2.4 Catlogos y Diccionarios de Datos Definicin de un Diccionario de datos. El primer paso en el diseo de una base de datos es recolectar informacin acerca de la empresa, que es, acerca de su uso, relaciones y significado de datos. Como el diseo de procesos es progresivo, es necesario depositar informacin acerca de la opinin lgica, interna y externa del modelo en la localizacin central. Una herramienta que facilita el control y manejo de la informacin acerca de datos en el diseo, implementacin, operacin y expansin de fases de una base de datos es llamado diccionario de datos. El diccionario de datos es un lugar dnde se deposita informacin acerca de datos como origen, descripcin, relaciones y otros datos, es decir el diccionario de datos es una base de datos misma, la cual deposita datos acerca de los datos, el diccionario de datos es una gua y contiene "mapas guas" para la base de datos en vez de "nuevos datos", es decir es un lugar en dnde se almacena o se mantiene un conjunto de estados (controles), informacin relacionada con los diferentes tipos de registros (tablas) privilegios de los usuarios y estadsticas (cuantos registros tiene cada tabla, ndices, etc.)

Los diccionarios de datos de los Sistemas de Base de datos (DBMS) no son iguales, aunque mantienen los mismos lineamientos o las mismas caractersticas. En otras palabras, es un catlogo, un depsito, de los elementos en un sistema. Contiene las caractersticas lgicas de los sitios donde se almacenan los datos del sistema, incluyendo nombre, descripcin, alias, contenido y organizacin. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la informacin, se desarrolla durante el anlisis de flujo de datos y auxilia a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo. En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos en todo el sistema. Los elementos ms importantes son flujos de datos, almacenes de datos y procesos. El diccionario guarda los detalles y descripciones de todos estos elementos. Si los analistas desean conocer cuntos caracteres abarca un determinado dato o qu otros nombres recibe en distintas partes del sistema, o dnde se utiliza, encontrarn las respuestas en un diccionario de datos desarrollado en forma apropiada. Explotacin. Razones para la utilizacin de los diccionarios de datos: Localizar errores y omisiones en el sistema, detectan dificultades, y las presentan en un informe. Aun en los manuales, se revelan errores. Para manejar los detalles en sistemas muy grandes, ya que tienen enormes cantidades de datos, aun en los sistemas ms chicos hay gran cantidad de datos. Los sistemas al sufrir cambios continuos, es muy difcil manejar todos los detalles. Por eso se registra la informacin, ya sea sobre hoja de papel o usando procesadores de texto. Los analistas mas organizados usan el diccionario de datos automatizados diseados especficamente para el anlisis y diseo de software. Para asignarle un solo significado a cada uno de los elementos y actividades del sistema. Los diccionarios de datos proporcionan asistencia para asegurar significados comunes para los elementos y actividades del sistema y registrando detalles adicionales relacionados con el flujo de datos en el sistema, de tal manera que todo pueda localizarse con rapidez. Para documentar las caractersticas del sistema, incluyendo partes o componentes as como los aspectos que los distinguen. Tambin es necesario saber bajo que circunstancias se lleva a cabo cada proceso y con que frecuencia ocurren. Produciendo una comprensin mas completa. Una vez que las caractersticas estn articuladas y registradas, todos los participantes en el proyecto tendrn una fuente comn de informacin con respecto al sistema.

Para facilitar el anlisis de los detalles con la finalidad de evaluar las caractersticas y determinar donde efectuar cambios en el sistema. Determina si son necesarias nuevas caractersticas o si estn en orden los cambios de cualquier tipo. Se abordan las caractersticas: o Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo mientras se emplea el sistema. o Preguntas: solicitudes para la recuperacin o procesamiento de informacin para generar una respuesta especfica. o Archivos y bases de datos: detalles de las transacciones y registros maestros que son de inters para la organizacin. o Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar transacciones y datos.

Contenido de un Registro de un Diccionario de Datos. El diccionario tiene dos tipos de descripciones para el flujo de datos del sistema, son los elementos datos y estructura de datos. Elementos Datos. Son los bloques bsicos para todos los dems datos del sistema, por si mismos no le dan un significado suficiente al usuario. Se agrupan para formar una estructura de datos. Descripcin: Cada entrada en el diccionario consiste de un conjunto de detalles que describen los datos utilizados o producidos por el sistema. Cada uno est identificado con: Un nombre: para distinguir un dato de otro. Descripcin: indica lo que representa en el sistema. Alias: porque un dato puede recibir varios nombres, dependiendo de quin uso este dato. Longitud: porque es de importancia de saber la cantidad de espacio necesario para cada dato. Valores de los datos: porque en algunos procesos solo son permitidos valores muy especficos para los datos. Si los valores de los datos estn restringidos a un intervalo especifico, esto debe estar en la entrada del diccionario.

Estructura de Datos. Es un grupo de datos que estn relacionados con otros y que en conjunto describen un componente del sistema. Descripcin: Se construyen sobre cuatro relaciones de componentes. Se pueden utilizar las siguientes combinaciones ya sea individualmente o en conjuncin con alguna otra. Relacin secuencial: Define los componentes que siempre se incluyen en una estructura de datos. Relacin de seleccin: (uno u otro), define las alternativas para datos o estructuras de datos incluidos en una estructura de datos.

Relacin de iteracin: (repetitiva), define la repeticin de un componente. Relacin opcional: los datos pueden o no estar incluidos, o sea, una o ninguna iteracin. Notacin: Los analistas usan smbolos especiales con la finalidad de no usar demasiada cantidad de texto para la descripcin de las relaciones entre datos y mostrar con claridad las relaciones estructurales. En algunos casos se emplean trminos diferentes para describir la misma entidad (alias) estos se representan con un signo igual (=) que vincula los datos.

Diccionario de Datos y las Interfaces. El diccionario de datos puede componerse bsicamente de dos interfaces as: La interface con la gente involucrada, por ejemplo, el administrador de la base de datos, programador de sistemas, programador de aplicaciones, manejadores, y finalmente usuarios y observadores. La interface con el software por ejemplo, sistema de manejo de bases de datos, libreras, sistemas operativos y generador de reportes.

El diccionario de datos puede ser usado como una herramienta efectiva para la funcin de administrador de base de datos en el diseo, implementacin y fase de operaciones en la base de datos. Es responsabilidad del DBMS proteger el diccionario de datos por refuerzos estndar, seguridad y obligaciones privadas. Un diccionario de datos es el lugar ideal para encontrar respuestas a las preguntas como " dnde se usa ", " quin usa ", " cuando se usa". Estas interfaces muestran que existen dos tipos de usos del diccionario de datos, un tipo de uso es por la gente que tiene funciones como administrador de base de datos, programador de sistemas, analista de sistemas, programador de aplicaciones, usuarios. Y el otro tipo de uso es por el software en reas semejantes como manejadores de base de datos, sistemas, libreras, sistemas operativos y generador de reportes. Estos dos tipos de interface enlazan al manejador y control del medio de la base de datos como un resultado de la eficiente comunicacin entre las partes involucradas. Diccionario de Datos Ideal: Sus requerimientos y su Organizacin. La siguiente es una lista de requerimientos convenientes de un diccionario de base de datos para describir los datos, no quiere decir que cualquier paquete de diccionario de datos particular abarca ahora todos estos requerimientos. Modelo Conceptual. La informacin acerca de los datos necesaria en el proceso de diseo del modelo conceptual incluye entidades, campos o atributos y las relaciones entre campos, atributos, tambin incluye informacin acerca de cules departamentos y usuarios estn

usando o intentan usar que atributos y con qu frecuencia estos datos son usados, conjuntamente con las descripciones textuales y con significados y propsitos. Las entidades y relaciones deberan tener ttulos apropiados, versiones, estados, los membership (campo de una entidad el cual va ha servir de referencia). Modelo Lgico. La informacin siguiente acerca del modelo lgico de la base de datos debera ser almacenada en el diccionario de datos: el campo de agrupacin con su llave (estos grupos pueden ser los subgrupos de los grupos especificados en el modelo conceptual), el fundamento del modelo de datos, la relaciones de los grupos basados en el modelo de datos, el modelo externo soportado por el modelo lgico, las transacciones lgicas, los programas y los mdulos, la referencia cruzada de la informacin entre las transacciones, tambin deberan ser almacenados. Otra informacin necesaria es el lenguaje de programacin y el tipo de programa (bath o en lnea) para los programas y transacciones. Modelo Interno. La informacin fsica acerca de los atributos como por ejemplo: longitud (caracteres), modo (cadena de caracteres, decimales, datos de simple precisin, empaquetados), justificacin (derecha izquierda), formas de presentacin, reglas de edicin (constantes, rango de valores), derivacin algortmica, secuencia o posicin secuencial que un atributo particular ocupa en una ocurrencia, seguridad (cdigos de seguridad para leer, actualizar), medio de almacenamiento (tarjetas, discos, cintas, video), el control de acceso a la informacin debera ser almacenado en el diccionario de datos. Un diccionario de datos ideal debera ser parte integral de todo el medio ambiente de la base de datos y el administrador de la base de datos el responsable de la entrada al diccionario de datos, sealando que un diccionario de datos tiene que ser salvado en copias de respaldo para evitar efectos desastrosos debido a un mal funcionamiento del sistema o cualquier destruccin no intencional de la versin producida del diccionario de datos, la funcin del administrador de base de datos lleva la gran responsabilidad de proteger la parte vital del medio de la base de datos "el diccionario de datos". Sistemas Ideales del Diccionario de Datos. El diccionario de datos para ser eficiente deber ser almacenado en un medio de almacenamiento con acceso directo para la fcil recuperacin de informacin. El diccionario de datos debe soportar los modelos conceptual, lgico, interno y externo. El diccionario de datos debe ser integrado con el manejador del sistema de base de datos. El diccionario de datos debe soportar varias versiones de documentacin (historial) El diccionario de datos debe apoyar la transferencia eficiente de informacin al manejador del sistema de base de datos. Idealmente la conexin entre los modelos interno y externo debe ser realizada en tiempo de ejecucin.

Un diccionario de datos debera comenzar con la reorganizacin de versiones de produccin de la base de datos como un resultado de los cambios para la descripcin de la base de datos. Similarmente, cualquier cambio a la descripcin de programas debe ser reflejado automticamente en la librera de descripcin de programas con la ayuda del diccionario de datos.

Potrebbero piacerti anche