viernes, 6 de mayo de 2011

SEGURIDAD Y ENCRIPTACION DE BASES DE DATOS

SEGURIDAD Y ENCRIPTACION DE BASES DE DATOS



INTEGRANTES:
  • BELLA JAIMES
  • EVA CACERES
  • LEISLY VILLAMIZAR
MAYO, 2011


INTRODUCCIÓN
En la actualidad la mayor parte de bases de datos contienen la información sensible, propia, y/o privada. Esto puede incluir la información de cliente, salarios de empleado, registros pacientes, números de la tarjeta de crédito - la lista continúa y sobre. La llave al mantenimiento de esta información en una manera segura es la confidencialidad.
La seguridad de los datos implica protegerlos de operaciones indebidas que pongan en peligro su definición, existencia, consistencia e integridad independientemente de la persona que los accede. Esto se logra mediante mecanismos que permiten estructurar y controlar el acceso y actualización de los mismos sin necesidad de modificar o alterar el diseño del modelo de datos; definido de acuerdo a los requisitos del sistema o aplicación software.
Con la aparición de Internet y la mayor importancia que se le va dando a la información día tras día , la tecnología que antes era utilizada sólo por la Militar o Gobiernos ha cobrado mayor importancia.
QUE ES ENCRIPTACIÓN

Toda encriptación se encuentra basada en un Algoritmo, la función de este Algoritmo es básicamente codificar la información para que sea indescifrable a simple vista, de manera que una letra "A" pueda equivaler a:"5x5mBwE" o bien a "xQE9fq", el trabajo del algoritmo es precisamente determinar como será transformada la información de su estado original a otro que sea muy difícil de descifrar.
Una vez que la información arrive a su destino final, se aplica el algoritmo al contenido codificado "5x5mBwE" o bien a "xQE9fq" y resulta en la letra "A" o según sea el caso, en otra letra. Hoy en día los algoritmos de encriptación son ampliamente conocidos,es por esto que para prevenir a otro usuario "no autorizado" descifrar información encriptada, el algoritmo utiliza lo que es denominado llave ("key") para controlar la encriptación y decriptación de información. Algunos algoritmos son DES (algoritmo simétrico) AES que posiblemente suplantará a DES y uno de los más conocidos RSA (algoritmo asimétrico)
Que función tiene la llave ("key")
Existen dos tipos de llaves ("key's"), pero la de mayor uso en Internet es denominada "public key" o algoritmo asimétrico. El nombre "public" proviene de su funcionamiento: existe una llave pública que es dada a conocer a cualquier persona que así lo desee (todo Internet), esta llave pública es utilizada por los emisores de mensajes para encriptar información , sin embargo, existe otra llave ( su pareja por llamarla de alguna manera) única que es conocida exclusivamente por el destinatario del mensaje, y es mediante esta llave única secreta que el destinatario descifra ("decripta") los mensajes encriptados por el emisor.
ENCRIPTACION DE DATOS EN TRANSITO
La mayoría de los ambientes de base de datos utilizan TCP/IP y el servidor de base de datos escucha algunos puertos y acepta las conexiones iniciadas por los clientes de la base de datos. Mientras que los puertos son configurables, la mayoría de la gente utiliza los puertos por defecto del servidor que esta usando, por ejemplo: puerto 1433 para el servidor de Microsoft SQL, puerto 1521 para Oracle, puerto 4100 para Sybase, puerto 50000 para DB2, y puerto 3306 para MySQL.
Los clientes de la base de datos se conectan con el servidor sobre estos puertos predefinidos para iniciar una comunicación, dependiendo del tipo de la base de datos y la configuración del servidor, redireccionando a otro puerto o terminando la comunicación entera sobre el mismo puerto del servidor.
En un de alto nivel, esto significa que con las herramientas derechas y el acceso correcto a la red, cualquiera puede golpear ligeramente en sus conversaciones de la base de datos y escuchar detrás de las puertas encendido el acceso de base de datos - capturando y robando ambas las declaraciones que usted publica tan bien como los datos volvió por el servidor de base de datos.
Meterse en tu base de datos de comunicaciones es relativamente fácil, porque la base de datos de comunicaciones son en su mayoría en texto en claro-o lo suficientemente cerca para borrar texto. Por lo tanto, mediante el uso de los servicios públicos y en su mayoría simples herramientas libres, que un hacker pueda escuchar y robar información. La manera de evitar que esto suceda-y el tema de esta sección es para encriptar las comunicaciones entre la base de datos de clientes y servidores de bases de datos. Este tipo de cifrado es llamado cifrado de los datos en tránsito porque todos (o de las piezas), las comunicaciones entre el cliente y el servidor están encriptadas. La encriptación se produce en los extremos. Aunque aún no he de definir qué criterios de valoración son (y serán diferentes en los distintos sistemas de cifrado), una parte cifrar los datos se transmitan a través de la red y el otro-el que descifrar los datos almacenados en las tablas y los datos utilizados en la aplicación no está cifrada.
Aunque el cifrado de los datos en tránsito se está convirtiendo en popular, no quiero dar la impresión errónea de que la mayoría de las personas-no encriptan los datos en tránsito, y para muchos ambientes en que está perfectamente bien. Si usted cree que un potencial espía, es algo que no puede vivir con el, entonces usted debería cifrar los datos en tránsito. Si considera que esto es poco probable y le parece extraño que, sobre la posibilidad de que este no se produce cabezas rodarán, entonces tal vez no valga la pena el esfuerzo y la degradación del rendimiento. Degradación depende del método de cifrado, así como la base de datos, sino como un ejemplo, las comunicaciones son generalmente MySQL 35% más lento cuando se utilizan conexiones SSL. En cualquier caso, antes de examinar las diversas opciones para la encriptación de las comunicaciones la base de datos, vamos a entender un poco más sobre lo que sucede cuando se utiliza sin cifrar cadenas.
Anatomía de la Vulnerabilidad: Sniffing De Datos
Si un hacker va a espiar y robar datos, debe de suceder dos cosas: (1) El hacker debe ser capaz de colgarse físicamente en las comunicaciones entre los clientes de la base de datos y el Servidor de bases de datos. (2) El hacker debe ser capaz de entender el flujo de comunicación a un nivel que le permita la extracción de los datos sensibles.
De los dos, el conseguir la llave física es seguramente la tarea más difícil, sobre todo en redes de conmutación bien diseñadas. Con el fin de aprovechar el flujo de comunicación TCP/IP, un hacker debe ejecutar sus herramientas en una máquina que sea capaz de ver los paquetes transmitidos desde el cliente al servidor y viceversa. Una opción es ejecutar estas herramientas en la máquina cliente, y otra es ejecutar las herramientas en el Servidor de Base de Datos – en ambos casos las maquinas puede ver todo el flujo de la comunicación.
Implementar Opciones para Encriptación de Datos en Tránsito
El cifrado es una tecnología madura, y la obtención de base de datos de las comunicaciones implica generalmente asegurar TCP / IP de sesiones. Como resultado de ello, puede elegir entre un buen número de opciones de ejecución cuando se desea cifrar la base de datos sesiones. Estos van desde la base de datos específica de los servicios de cifrado para el uso de los servicios básicos prestados por el sistema operativo. En concreto, verás las siguientes opciones que ofrecen una muestra de la amplia gama de técnicas:
 Características específicas de la Base de datos (ejemplo, Oracle Advanced Security).
 Métodos de conexión de base (ejemplo, usar protocolo Secure Sockets Layer [SSL]).
 Garantizar los túneles (ejemplo, mediante el sistema Secure Shell [SSH] túneles).
 Basándose en el sistema operativo (ejemplo, el cifrado IPSec).
Uso de SSL para conexiones de base de datos segura

SEGURIDAD EN BASES DE DATOS

El objetivo es proteger la Base de Datos  contra accesos no autorizados.  Se llama también privacidad.
Incluye aspectos de:
          Aspectos legales, sociales y éticos
          Políticas de la empresa, niveles de información publica y privada
          Controles de tipo físico, acceso a las instalaciones
          Identificación de usuarios: voz, retina del ojo, etc.
          Controles de sistema operativo
En relación al SGBD, debe mantener información de los  usuarios,  su tipo y los accesos y operaciones permitidas a éstos.
Tipos de usuarios:
         DBA, están permitidas todas las operaciones,  conceder  privilegios  y  establecer usuarios
          Usuario con derecho a crear,  borrar  y  modificar  objetos  y  que además puede conceder         privilegios a otros usuarios sobre los objetos que ha creado.
          Usuario con derecho  a  consultar,  o  actualizar,  y  sin  derecho a crear  o  borrar objetos.
Privilegios sobre los  objetos,  añadir  nuevos  campos,  indexar, alterar la estructura de los objetos, etc.
Los SGBD tienen opciones que permiten manejar la seguridad, tal como GRANT, REVOKE, etc. También tienen un archivo de auditoria  en  donde  se  registran  las  operaciones  que  realizan los usuarios.
Medidas de seguridad
          Físicas: Controlar el acceso al equipo. Tarjetas de acceso, etc
          Personal: Acceso sólo del personal autorizado. Evitar sobornos, etc.
          SO: Seguridad a nivel de SO
          SGBD: Uso herramientas de seguridad que proporcione el SGBD. Perfiles de usuario, vistas, restricciones de uso de vistas, etc.
Un  SMBD  cuenta  con  un  subsistema  de  seguridad  y  autorización  que  se encarga de garantizar la seguridad de porciones de la BD contra el acceso no autorizado.
          Identificar y  autorizar  a los usuarios: uso de códigos de acceso y palabras claves, exámenes, impresiones  digitales,  reconocimiento  de  voz,  barrido de la retina, etc
          Autorización: usar  derechos  de  acceso  dados  por el terminal,  por  la operación que puede realizar o por la hora del día.
          Uso de técnicas de cifrado: para proteger datos en Base de Datos distribuidas o con acceso por red o internet.
          Diferentes tipos de cuentas:  en especial del ABD  con   permisos  para:  creación de cuentas,   concesión  y  revocación   de  privilegios y  asignación  de   los niveles de seguridad.
          Manejo de la tabla de usuarios con código y contraseña, control de las operaciones efectuadas en cada sesión de trabajo por cada usuario y anotadas en la bitácora, lo cual facilita la auditoría de la Base de Datos.
Discrecional:  Se  usa para otorgar  y  revocar privilegios  a  los  usuarios  a  nivel  de archivos, registros o campos en un modo determinado (consulta o modificación).
El ABD asigna el propietario de un esquema, quien puede otorgar o revocar privilegios a otros usuarios en la forma de consulta (select),  modificación o referencias.   A través del uso de la instrucción grant option  se  pueden  propagar los  privilegios  en  forma  horizontal o vertical.
Ejemplo: grant select on Empleado to códigoUsuario
revoke select on Empleado from códigoUsuario
Obligatoria: sirve para imponer seguridad de varios niveles tanto para los usuarios como para los datos.
El problema de la seguridad consiste en lograr que los recursos de un sistema sean, bajo toda circunstancia, utilizados para los fines previstos. Para eso se utilizan mecanismos de protección. Los sistemas operativos proveen algunos mecanismos de protección para poder implementar políticas de seguridad. Las políticas definen qué hay que hacer (qué datos y recursos deben protegerse de quién; es un problema de administración), y los mecanismos determinan cómo hay que hacerlo. Esta separación es importante en términos de flexibilidad, puesto que las políticas pueden variar en el tiempo y de una organización a otra. Los mismos mecanismos, si son flexibles, pueden usarse para implementar distintas políticas.
Un aspecto importante de la seguridad es el de impedir la pérdida de información, la cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de hardware o de software, o errores humanos. La solución es una sola: mantener la información respaldada, de preferencia en un lugar lejano. Otro aspecto importante de la seguridad, es el que tiene que ver con el uso no autorizado de los recursos:
Lectura de datos
Modificación de datos
Destrucción de datos
Uso de recursos: ciclos de CPU, impresora, almacenamiento

Principios básicos para la seguridad
Suponer que el diseño del sistema es público.
El defecto debe ser: sin acceso.
Chequear permanentemente.
Los mecanismos de protección deben ser simples, uniformes y construidos en las capas más básicas del sistema.
Los mecanismos deben ser aceptados sicológicamente por los usuarios.
SEGURIDAD: Fallos lógicos o físicos que destruyan los datos.
          Evitar pérdidas de datos por fallos hardware o software (fallo disco, etc.). Normalmente suelen ser fallos de disco o pérdida de memoria RAM.
          Aparte del punto de vista de los SGBD, intervienen otros niveles (ej: discos replicados, etc.)
          A pesar de estos posibles fallos la base de datos debe quedar siempre en un estado consistente.
El concepto de seguridad, según Date (1992), se puede entender como la protección de los datos contra acceso, alteración o destrucción no autorizados.

LAS TRES PRINCIPALES CARACTERÍSTICAS DE LA SEGURIDAD
Que se deben mantener en una base de datos son la confidencialidad, la integridad y la disponibilidad de la información. - Los datos contenidos en una Base de Datos pueden ser individuales o de una Organización. Sean de un tipo o de otro, a no ser que su propietario lo autorice, no deben ser desvelados. Si esta revelación es autorizada por dicho propietario la confidencialidad se mantiene. Es decir, asegurar la confidencialidad significa prevenir/ detectar/ impedir la revelación impropia de la información.
La seguridad (fiabilidad) del sistema
El concepto de Seguridad lo medimos en:
La protección del sistema frente a ataques externos.
La protección frente a caídas o fallos en el software o en el equipo.
La protección frente a manipulación por parte del administrador.
La seguridad de los datos se refiere a la protección de estos contra el acceso por parte de las personas no autorizadas y contra su indebida destrucción o alteración.
El analista de sistemas que se hace responsable de la seguridad debe estar familiarizado con todas las particularidades del sistema, porque este puede ser atacado con fines ilícitos desde muchos ángulos. A veces se presta mucha atención a alguno de los aspectos del problema mientras se descuidan otros.
Los siguientes siete requisitos son esenciales para la seguridad de la base de datos:
          La base de datos debe ser protegida contra el fuego, el robo y otras formas de destrucción.
          Los datos deben ser reconstruibles, porque por muchas precauciones que se tomen, siempre ocurren accidentes.
          Los datos deben poder ser sometidos a procesos de auditoria. La falta de auditoria en los sistemas de computación ha permitido la comisión de grandes delitos.
          El sistema debe diseñarse a prueba de intromisiones. Los programadores, por ingeniosos que sean, no deben poder pasar por alto los controles.
          Ningún sistema puede evitar de manera absoluta las intromisiones malintencionadas, pero es posible hacer que resulte muy difícil eludir los controles. El sistema debe tener capacidad para verificar que sus acciones han sido autorizadas. Las acciones de los usuarios deben ser supervisadas, de modo tal que pueda descubrirse cualquier acción indebida o errónea.
Problemas de seguridad
La información de toda empresa es importante, aunque unos datos lo son más que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna información, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autenticación y protección de los datos. En un banco por ejemplo, el personal de nóminas sólo necesita ver la parte de la base de datos que tiene información acerca de los distintos empleados del banco y no a otro tipo de información.
4.2 Identificación y autentificación
En un SGBD existen diversos elementos que ayudan a controlar el acceso a los datos.
En primer lugar el sistema debe identificar y autentificar a los usuarios utilizando alguno de las siguientes formas:
          Código y contraseña
          Identificación por hardware
          Características bioantropométricas
          Conocimiento, aptitudes y hábitos del usuario
          Información predefinida (Aficiones, cultura, etc)
Además, el administrador deberá especificar los privilegios que un usuario tiene sobre los objetos:
          Usar una B.D.
          Consultar ciertos datos
          Actualizar datos
          Crear o actualizar objetos
          Ejecutar procedimientos almacenados
          Referenciar objetos
          Indexar objetos
          Crear identificadores
Mecanismos de autentificación
La autentificación, que consiste en identificar a los usuarios que entran al sistema, se puede basar en posesión (llave o tarjeta), conocimiento (clave) o en un atributo del usuario (huella digital).
Claves
El mecanismo de autentificación más ampliamente usado se basa en el uso de claves o passwords; es fácil de entender y fácil de implementar. En UNIX, existe un archivo /etc/passwd donde se guarda los nombres de usuarios y sus claves, cifradas mediante una función one-way F. El programa login pide nombre y clave, computa F(clave), y busca el par (nombre, F(clave)) en el archivo.
Con claves de 7 caracteres tomados al azar de entre los 95 caracteres ASCII que  se pueden digitar con cualquier teclado, entonces las 957 posibles claves deberían desincentivar cualquier  intento por adivinarla. Sin embargo, una proporción demasiado grande de las claves escogidas por los usuarios son fáciles de adivinar,  pues la  idea es  que  sean  también  fáciles de recordar.   La clave también se puede descubrir mirando (o filmando)  cuando  el  usuario  la  digita,  o si el  usuario hace login remoto, interviniendo la red y observando todos los paquetes que pasan por ella. Por último, además de que las claves se pueden descubrir, éstas también se pueden "compartir", violando las reglas de seguridad.
En definitiva,  el  sistema  no  tiene  ninguna garantía de  que  quien  hizo login es realmente el usuario que se supone que es.
Identificación física
Un enfoque diferente es usar un elemento físico difícil de copiar, típicamente  una  tarjeta con una banda magnética. Para mayor seguridad este enfoque se suele combinar con una clave (como es el caso de los cajeros automáticos). Otra posibilidad es medir características físicas  particulares del sujeto: huella digital, patrón de vasos sanguíneos de la retina, longitud de los dedos.   Incluso la firma sirve.
Algunas medidas básicas:
          Demorar la respuesta ante claves  erróneas;  aumentar la demora cada vez.   Alertar si hay demasiados intentos.
          Registrar todas las entradas. Cada vez que un usuario entra, chequear cuándo y  desde  dónde entró la vez anterior.
          Hacer chequeos periódicos de claves fáciles de adivinar, procesos que llevan demasiado tiempo corriendo, permisos erróneos, actividades extrañas (por ejemplo cuando usuario está de vacaciones).
Control de acceso

 La seguridad de las Bases de Datos se concreta mediante mecanismos, tanto "hardware" como "software". Así estos mecanismos son: El primero se denomina identificación, que procede a identificar a los sujetos (procesos, normalmente transacciones que actúan en su nombre o usuarios) que pretenden acceder a la base de datos. El siguiente mecanismo que actúa es el de autenticación. El proceso usual es mediante contraseñas, constituidas por un conjunto de caracteres alfanuméricos y especiales que sólo el sujeto conoce. También se puede realizar mediante algún dispositivo en poder del mismo o alguna de sus características bioantropométricas. En caso de que el sujeto sea positivamente identificado y autenticado, se debe controlar el acceso que pretende a los objetos(datos y recursos accedidos por los sujetos. Por ejemplo, si se considera un SGBD relacional los recursos que deben protegerse son las relaciones, vistas y atributos). El mecanismo involucrado se denomina de control de accesos y se encarga de denegar o conceder dichos accesos en base a unas reglas, que establecen en qué condiciones el sujeto puede acceder y realizar ciertas operaciones sobre el objeto especificado. Estas reglas son dictadas por una persona con autoridad suficiente, que normalmente es el propietario de los datos o, en el caso de una organización, el administrador de la base de datos, de acuerdo con unas políticas de seguridad. Una regla de autorización se suele representar mediante una tripleta (s,o,p), que especifica que el sujeto esta autorizado para ejercer un privilegio sobre un objeto . Los sujetos de autorización son las entidades del sistema a las que se les asignan las autorizaciones sobre los objetos. Los sujetos se pueden clasificar en las siguientes categorías: -Usuarios, es decir, individuos simples conectados al sistema. A veces seria más útil especificar los criterios de acceso basándose en sus calificaciones y características, más que en la identidad del usuario. -Grupos, es decir, conjuntos de usuarios. Roles, o lo que es igual, conjuntos de privilegios necesarios para realizar actividades especificas dentro del sistema. -Procesos, que ejecutan programas en nombre de los usuarios. Necesitan recursos del sistema para llevar a cabo sus actividades, y normalmente tienen acceso sólo a los recursos necesarios para que se puedan realizar las tareas del proceso. Esto limita el posible daño derivado de fallos del mecanismo de protección. Los privilegios de autorización establecen los tipos de operaciones que un sujeto puede ejercer sobre los objetos del sistema.
El conjunto de privilegios depende de los recursos a proteger. Por ejemplo, los privilegios típicos de un SGBD relacional son seleccionar, insertar, actualizar y eliminar. Normalmente, los privilegios están organizados jerárquicamente y la jerarqua representa una relación de asunción entre privilegios. Si la transacción invocada trata de modificar el contenido de la base de datos, los cambios propuestos son chequeados por el sistema de gestión de la misma, para garantizar su integridad semántica o elemental.
Así mismo, el sistema de gestión se responsabiliza de evitar accesos concurrentes a dicha base. Finaliza la transacción, con éxito o no, el citado sistema de gestión graba en un registro de auditoria todas las características de aquella. Este registro también contiene la información pertinente para la recuperación de la base de datos, caso de un fallo de ésta o una caída del sistema. Aunque este mecanismo no impide los accesos no autorizados, tiene efectos disuasorios sobre potenciales atacantes, permitiendo además encontrar puntos débiles en los mecanismos de seguridad. Adicionalmente a todos estos mecanismos, el medio físico sobre el que se almacena la base de datos puede estar protegido criptográficamente. Igualmente las copias de seguridad pueden estas así defendidas frente a ataques.
Los tipos de elementos se combinan para formar el sistema que se utiliza para analizar los métodos de protección:
          Los usuarios con acceso a la base de datos, a los que por brevedad denominaremos accesores
          El tipo de acceso deseado
          Los elementos a los que se realizara el acceso
Cada uno de estos elementos debe estar adecuadamente identificado a fin de lograr el control del acceso a los datos. También es necesario considerar el entorno o frontera del área dentro de la cual es valido es sistema de protección.
          Definiciones. Se definirá cierto numero de términos a fin de que el análisis subsecuente de los mecanismos resulte claro:
          Entorno: Existe un área con perímetro bien definido, conocido como sistema de la base de datos.
          Usuarios e intrusos: Dentro de esta área puede haber individuos autenticados adecuadamente identificados; individuos disfrazados de usuarios validos, e intrusos.
          Alcance limitado: El sistema desconoce la identidad de los individuos en el mundo exterior.
          Privilegios: Existen varios privilegios de acceso a los datos, relacionados con la identificación de un individuo. La descripción de estos privilegios se mantiene como parte del sistema de la base de datos.
          Protección: Todos los elementos dato están protegidos hasta cierto punto mientras se encuentren dentro del área del sistema de la base de datos, y perderán toda la protección que proporciona el sistema al sacarse del área.
          Confiabilidad: Un prerrequisito para lograr la protección de la base de datos es un alto nivel de confiabilidad del sistema.
La identificación externa de los usuarios con acceso a la base de datos es en primer lugar el nombre, en la forma en que lo introduzcan al sistema. Un usuario con derecho de acceso también puede identificarse mediante una clave de acceso (password), darse al ser solicitada, o tal vez por una llave o identificación que la maquina pueda aceptar.
Se han propuesto y probado métodos que dependen de la unicidad biológica de los seres humanos. Son manifestaciones de esta codificación única de los individuos las huellas dactilares y las firmas. El sistema de la base de datos, que aquí se ha definido, no será responsable de la decodificación primaria y de validación o autenticación de la información presentada. Y a que los servicios de acceso al sistema operativo son un prerrequisito para el empleo de la base de datos, la tarea de autenticación se deja a módulos del sistema operativo. El método empleado para la identificación de un individuo depende mucho de la tecnología disponible en un caso especifico.
El subsistema de autenticación presentara al sistema de base de datos una cadena de bits que se considerara la llave de acceso.
Este modulo debe impedir que un impostor obtenga una llave. Todas las autorizaciones y privilegios dados a los usuarios con acceso a la base de datos dependerán de la llave de acceso. Para asegurarse que las llaves de acceso no estén a disposición de accesores no autorizados, la identificación de un individuo debe ser muy difícil de imitar o copiar. Aunque el nombre de un individuo pueda ser único, es fácil que cualquiera que a quienes tienen acceso al sistema lo copie, por lo que no es una llave adecuada. Una vez que se obtiene una llave de acceso al sistema, esta llave se utiliza para entrar al sistema de la base de datos desde el sistema operativo. La responsabilidad del manejo de la llave corresponde tanto al accesor como al sistema operativo.
A fin de proteger el proceso de obtención de una llave del sistema, cuando el usuario realiza la entrada (en ingles LOG IN) solicita una clave de acceso con el nombre del usuario. La clave de acceso se introduce sin exhibirla a fin de protegerse de los observadores. En general, esta clave de acceso consistirá en unas cuantas letras, elegidos por el usuario.
Un intruso podría utilizar un método de ensayo y error para introducir posibles claves de acceso y lograr entrar. E l tiempo necesario para realizar un ensayo sistemático es el principal elemento para desanimar a posibles intrusos. El tiempo esperado para abrir un seguro especifico sin ningún conocimiento previo es T(entrar)= 1/2 cd t(ensayo) en donde c d es el numero de posibles combinaciones y t (ensayo) el tiempo necesario para ensayar o probar una combinación. Para una clave de acceso de tres letras, d=3 y c=26, el tiempo para la interacción con el sistema podría ser t(ensayo) = 3 segundos, de manera que T (entrar) 7 hrs. Si el proceso de autenticación se requiere con poca frecuencia, un retraso artificial en el proceso de apertura podría aumentar la seguridad del seguro.
Confidencialidad:
No mostrar datos a usuarios no autorizados.
Accesibilidad:
Que la información se encuentre disponible.
Integridad:
Permite asegurar que los datos no se han falseado.
MEDIDAS DE SEGURIDAD EN UN ENTORNO DE B.D.
Confidencialidad
Autorización en sistemas de bases de datos.
          Identificación y autenticación.
          Código y contraseña.
          Identificación por Hardware.
          Características bioantropométricas.
          Conocimiento, aptitudes y hábitos del usuario.
          Información predefinida (Aficiones, cultura, etc.)
Privilegios al usuario.
          Usar una B.D.
          Consultar ciertos datos.
          Actualizar datos.
          Crear o actualizar objetos.
          Ejecutar procedimientos almacenados.
          Referenciar objetos.
          Indexar objetos.
          Crear identificadores.
Diferentes tipos de autorización
Autorización explícita.
          Consiste en almacenar que sujetos pueden acceder a ciertos objetos con determinados privilegios. Se usa una Matriz de Accesos
          Autorización implícita.
          Consiste que una autorización definida sobre un objeto puede deducirse a partir de otras.
Disponibilidad
Los sistemas de B.D. Deben asegurar la disponibilidad de los datos a los usuarios que tienen derecho a ello, por lo que se proporcionan mecanismos que permiten recuperar la B.D. Contra fallos lógicos o físicos que destruyan los datos.
Recuperación
El principio básico en el que se apoya la recuperación de la base de datos es la Redundancia Física.
Existen dos tipos importantes de fallos:
          Los que provocan la pérdida de memoria volátil, usualmente debidos a la interrupción del fluido eléctrico o por funcionamiento anormal del hardware.
          Los que provocan la pérdida del contenido de memoria secundaria, por ejemplo, cuando patinan las cabezas en un disco duro.
Matriz de Autorización
La seguridad se logra si se cuenta con un mecanismo que limite a los usuarios a su vista o vistas personales. La norma es que la base de datos relacionales cuente con dos niveles de seguridad:
          Relación. Puede permitírsele o impedírsele que el usuario tenga acceso directo a una relación.
          Vista. Puede permitírsele o impedírsele que el usuario tenga acceso a la información que aparece en un vista.
Aunque es imposible impedir que un usuario tenga acceso directo a una información puede permitírsele acceso a una parte de esta relación por medio de una vista. De tal manera que es posible utilizar una combinación de seguridad al nivel relacional y al nivel de vistas para limitar el acceso del usuario exclusivamente a los datos que necesita.
Un usuario puede tener varias formas de autorización sobre partes de la base de datos. Entre ellas se encuentran las siguientes:
          Autorización de lectura, que permite leer, pero no modificar la base de datos.
          Autorización de inserción, permite insertar datos nuevos pero no modificar lo ya existente.
          Autorización de actualización, que permite insertar modificar la información pero no permite la eliminación de datos.
          Autorización de borrado, que permite la eliminación de datos.
Un usuario puede tener asignados todos, ninguno o una combinación de los tipos de autorización anteriores. Además de las formas de autorización de acceso de datos antes mencionadas, es posible autorizar al usuario para que modifique el esquema de la base de datos.
          Autorización de índice, que permite la creación y eliminación de índices.
          Autorización de recursos, que permite la creación de relaciones nuevas.
          Autorización de alteración, que permite agregar o eliminar atributos de una relación.
          Autorización de eliminación, que permite eliminar relaciones.
Las autorizaciones de eliminación y borrado difieren en cuanto a que la autorización de borrado solo permite la eliminación de tuplas. La habilidad para crear nuevas relaciones viene regulada por la autorización de recursos de tal forma que la utilización del espacio del almacenamiento puede ser controlada. La autorización de índice puede aparecer innecesariamente puesto que la creación o eliminación de un índice no altera los datos en las relaciones. Mas bien los índices son una estructura para realizar mejoras.
La forma fundamental de autoridad es la que se le da al administrador de la base de datos. El administrador de la base de datos puede entre otras cosas autorizar nuevos usuarios, reestructurar la base de datos, etc.
Capabilities
La matriz se almacena por filas: asociado a cada proceso hay una lista de objetos y operaciones permitidas. Este esquema presenta la dificultad de realizar la revocación de los derechos de acceso a un objeto.
Para evitar la modificación maliciosa de las Capabilities estas se almacenan en la memoria del núcleo y se acceden indirectamente o bien, sobre todo en SD, se almacenan en espacio de usuario pero encriptadas, como en Amoeba:
Las capabilities se usan para nombrar y proteger objetos.
Están formadas por la dirección del servidor, el identificador del objeto, los derechos de acceso y un campo de validación.
Cuando se crea un objeto se elige un número aleatorio de 48 bits que se mezcla con el campo correspondiente a los derechos de acceso mediante un O-Exclusivo y una función no reversible, y se almacena en el campo de validación.
Cada vez que se presenta una capability al servidor éste aplica la función y comprueba si el resultado coincide con el campo de validación.
SEGURIDAD
Un aspecto muy importante sobre todo en SD. Incluye servicios tales como:
          Autentificación: Verificación de la identidad de un componente que genera datos (principal) por parte de otro componente (verificador).
          Integridad y carácter confidencial de los datos transmitidos.
Los ataques a la seguridad pueden consistir en la escucha de los mensajes que se transmiten por la red, la inyección de mensajes en la red, la retransmisión de mensajes escuchados anteriormente, la suplantación del cliente o del servidor, etc. La solución a estos problemas se basa generalmente en utilizar criptografía tanto para proteger los datos como para autentificación. En la transmisión se aplica un algoritmo de cifrado al mensaje M usando una clave Kc y en la recepción se aplica el algoritmo de descifrado usando Kd. La función de cifrado es muy difícil de invertir sin conocer la clave. Existen dos esquemas:
Sistemas de clave secreta
En estos sistemas Kc es igual Kd. El algoritmo más usado es el Data Encryption Standard (DES) basado en 16 niveles de sustituciones y permutaciones. Este esquema sufre el problema de la distribución de la clave. Un ejemplo de sistema de autentificación basado en este esquema es Kerberos.
Sistemas de clave publica
En estos sistemas Kc es distinto a Kd. Kd es la clave secreta del servidor. El algoritmo más usado es el RSA basado en la factorización de números muy grandes que tengan pocos factores. Este esquema elimina el problema de la distribución de la clave pero no el de la suplantación de servidores.
Sistema de autentificación desarrollado en el M.I.T. Actualmente está incluido en numerosos sistemas como AFS, DCE y algunas versiones de NFS. Está basado en la propuesta de Needham y Schroeder.
Características generales
Autentificación tanto de cliente como de servidor basado en un tercer componente, el servidor de autentificación (AS), que conoce la clave secreta de ambos. AS reside en una máquina "segura".
Su objetivo principal es la autentificación pero también puede utilizarse para mantener la integridad y el carácter confidencial de los datos.
Las claves y contraseñas no se transmiten por la red ni se almacenan mucho tiempo en la máquina.
Se usan timestamps para detectar la retransmisión maliciosa de los mensajes. Las claves de autentificación tienen asociados plazos de expiración para dificultar los ataques contra la seguridad. Los usuarios pueden tener varios tipos de autorización para diferentes partes de la base de datos.
Entre ellas están las siguientes:
          La autorización de lectura permite la lectura de los datos, pero no su modificación
          La autorización de inserción permite la inserción de datos nuevos, pero no la modificación de los existentes.
          La autorización de actualización permite la modificación de los datos, pero no su borrado
          La autorización de borrado permite el borrado de los datos.
Los usuarios pueden recibir todos los tipos de autorización ninguno de ellos, o una combinación determinada de los mismos.
Además de estas formas de autorización para el acceso a los datos los usuarios pueden recibir autorización para modificar el esquema de la base de datos:
          La autorización de índices permite la creación y borrado de índices.
          La autorización de recursos permite la creación de las relaciones nuevas
          La autorización de alteración permite el añadido o el borrado de atributos de las relaciones.
          La autorización de eliminación permite el borrado de relaciones.
Autorizaciones
Para facilitar la administración los SGBD suele incorporar el concepto de perfil, rol o grupo de usuarios que agrupa a una serie de privilegios por lo k el usuario que se asigna a un grupo hereda todos los privilegios del grupo.
El  mecanismo  de  control  de  acceso  se  encarga  de  denegar o conceder el acceso a los usuarios. En un SGBD puede existir diferentes tipos de autorización:
Una primera distinción puede hacerse entre:
          Autorización explicita. Normalmente usada en los sistemas tradicionales. Consiste en almacenar que sujetos pueden accesar a ciertos objetos con determinados privilegios para lo que suele utilizarse una matriz de control de accesos.
          Autorización implícita. Consiste en que una autorización definida sobre un objeto puede deducirse a partir de otras (por ejemplo si se puede acceder a una clase en un SGBD se puede también acceder a todas las instancias de esa clase).
Las autorizaciones de eliminación y de borrado se diferencian en que la autorización de borrado solo permite el borrado de tuplas.  Si un usuario borra todas las tuplas de unas relación, la relación sigue existiendo, pero esta vacía.  Si se elimina una relación, deja de existir.
La capacidad de crear nuevas relaciones queda regulada mediante la autorización de recursos. El usuario con la autorización de recursos que crea una relación nueva recibe automáticamente todos los privilegios sobre el sistema.
La autorización de índices puede parecer innecesaria, dado que la creación o borrado de un índice no  afecta a los  datos de las  relaciones.  Más bien,  los índices  son  una  estructura  para  las mejoras  de  rendimiento.  Sin embargo,  los  índices  también  ocupan  espacio  y  se   exige que  las modificaciones de las bases de datos actualicen los índices , los que llevaran a  cabo  actualizaciones estarían  tentados de borrar los índices , los que  llevan  a  cabo  actualizaciones  estarían tentados de borrar los índices, mientras que  los  que formulara consultas  estarían  tentados  de   crear  numeroso índices.
Para permitir si el administrador de la base de datos que regule el uso de los  recursos  del sistema es necesario tratar la creación de índices como un privilegio.
 Beneficios de un Sistema de Seguridad
Los beneficios de un sistema de seguridad bien elaborado son inmediatos, ya que el la organización trabajará sobre una plataforma confiable, que se refleja en los siguientes puntos:
          Aumento de la productividad.
          Aumento de la motivación del personal.
          Compromiso con la misión de la compañía.
          Mejora de las relaciones laborales.
          Ayuda a formar equipos competentes.
          Mejora de los climas laborales para los RR.HH.
CONCLUSIÓN

Para finalizar se puede decir que, el problema de la seguridad consiste en lograr que los recursos de un sistema sean, bajo toda circunstancia, utilizados para los fines previstos.
Un aspecto importante de la seguridad es el de impedir la pérdida de información, la cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de hardware o de software, o errores humanos. La solución es una sola: mantener la información respaldada, de preferencia en un lugar lejano. Otro aspecto importante de la seguridad, es el que tiene que ver con el uso no autorizado de los recursos: Lectura de datos, modificación de datos, destrucción de datos y uso de recursos: ciclos de CPU, impresora, almacenamiento.
Gracias a la web y comercio electrónico, SSL se ha convertido en el estándar de facto para garantizar la información sensible a través de TCP / IP.

2 comentarios:

  1. quiero compartir un testimonio de cómo el sr. pedro me ayudó con un préstamo de $ 2,000,000.00 para financiar mi proyecto de cultivo de marihuana, estoy muy agradecido y prometí compartir esta compañía de financiamiento legítima con cualquiera que busque una manera de expandir su proyecto comercial. . empresa financiadora. cualquier persona que busque apoyo financiero debe comunicarse con ellos en pedroloanss@gmail.com.

    ResponderEliminar
  2. Casino at Okeechobee: Best Hotel in Olympia | Mapyro
    Get 의정부 출장샵 Directions · 24/7 customer support 강릉 출장안마 · More Info. 여수 출장샵 Hours, Accepts Credit Cards, Wi-Fi, PokéStop, PokéStop, PokéStop, PokéStop, PokéStop, PokéStop  Rating: 남양주 출장안마 7.3/10 · ‎913 아산 출장샵 reviews

    ResponderEliminar