64
Introducción a la Seguridad en Sistemas Distribuidos La implantación y gestión de la seguridad en los sistemas de información supone un beneficio económico importante para las organizaciones corporativas y administraciones locales o estatales. Cada vez más empresas venden productos que ofertan a través de Internet. En este caso se debe asegurar que la compra de estos productos se realiza con medidas adecuadas de seguridad que garanticen la confidencialidad e integridad de la información así como la autenticación de los usuarios. A su vez las empresas pueden hoy en día contratar con las administraciones publicas mediante sistemas de facturación electrónica y firma digital. En algunos casos este procedimiento es obligatorio. Es por ello que las organizaciones deben de disponer de una infraestructura de seguridad basada en certificados electrónicos para poder emitir una infraestructura de seguridad basada en certificados electrónicos para poder emitir facturas electrónicas. Las empresas también manejan información de negocio confidencial que almacenan en sus Bases de Datos. En este caso se debe de garantizar que esta información se almacena de forma segura e integra. Además se debe de permitir que el acceso a la misma se realiza garantizando la identidad del usuario y los privilegios específicos del mismo. Además, la ley de protección de Datos de Carácter Personal (LOPD) exige a cualquier organismo público o privado que desee tratar información de carácter personal el cumplimiento de una serie de medidas de índole técnica y organizativas necesarias para garantizar la seguridad que deben de reunir los ficheros los centros de tratamiento garantizar la seguridad que deben de reunir los ficheros. los centros de tratamiento, sistemas, aplicaciones y las personas que intervengan en el tratamiento de los datos de carácter personal. El incumplimiento de esta ley puede ser sancionado con multa de 900 a 600.000 euros. Es por todo ello que las organizaciones se han visto obligadas a implantar medidas de seguridad bien sea para mejorar sus beneficios económicos o bien obligadas por la propia ley para manejar datos de carácter personal. A modo de ejemplo se calcula en 20.000 millones de euros el beneficio económico para la Administración General del Estado que ha supuesto el 'uso generalizado' de la d ii l ói E ñ Pág. 1 12/04/2018 Luis Mengual (C) administracnelectrónica en España.

Bases de Datos - personal.fi.upm.es · Es por todo ello que las organizaciones se han visto obligadas a implantar medidas de seguridad bien sea para mejorar ... proteger los sistemas

  • Upload
    vocong

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Introducción a la Seguridad en Sistemas Distribuidos

La implantación y gestión de la seguridad en los sistemas de información supone unbeneficio económico importante para las organizaciones corporativas y administracionesp p g p ylocales o estatales.Cada vez más empresas venden productos que ofertan a través de Internet. En este casose debe asegurar que la compra de estos productos se realiza con medidas adecuadas deseguridad que garanticen la confidencialidad e integridad de la información así como laautenticación de los usuarios.A su vez las empresas pueden hoy en día contratar con las administraciones publicasmediante sistemas de facturación electrónica y firma digital. En algunos casos esteprocedimiento es obligatorio. Es por ello que las organizaciones deben de disponer deuna infraestructura de seguridad basada en certificados electrónicos para poder emitiruna infraestructura de seguridad basada en certificados electrónicos para poder emitirfacturas electrónicas.Las empresas también manejan información de negocio confidencial que almacenan ensus Bases de Datos. En este caso se debe de garantizar que esta información se almacenade forma segura e integra. Además se debe de permitir que el acceso a la misma serealiza garantizando la identidad del usuario y los privilegios específicos del mismo.Además, la ley de protección de Datos de Carácter Personal (LOPD) exige a cualquierorganismo público o privado que desee tratar información de carácter personal elcumplimiento de una serie de medidas de índole técnica y organizativas necesarias paragarantizar la seguridad que deben de reunir los ficheros los centros de tratamientogarantizar la seguridad que deben de reunir los ficheros. los centros de tratamiento,sistemas, aplicaciones y las personas que intervengan en el tratamiento de los datos decarácter personal. El incumplimiento de esta ley puede ser sancionado con multa de 900a 600.000 euros.Es por todo ello que las organizaciones se han visto obligadas a implantar medidas deseguridad bien sea para mejorar sus beneficios económicos o bien obligadas por la propialey para manejar datos de carácter personal.A modo de ejemplo se calcula en 20.000 millones de euros el beneficio económico parala Administración General del Estado que ha supuesto el 'uso generalizado' de lad i i ió l ó i E ñ

Pág. 1 12/04/2018 Luis Mengual (C)

administración electrónica en España.

Introducción a la Seguridad en Sistemas Distribuidos

En el apartado “Seguridad y Acceso a Bases de Datos” de la asignatura de Grado “Basesd D t ” amos a conocer las amena as especificas q e a a s frir la informaciónde Datos vamos a conocer las amenazas especificas que va a sufrir la informaciónalmacenada en las Bases de Datos. A continuación, se describirán los servicios deseguridad que tendremos que implementar para hacer frente a estas amenazas.

Como ejercicio práctico se creará la infraestructura de seguridad necesaria para el accesoseguro a un Sistema Gestor de Base de Datos, así como se crearán los perfiles deusuarios con privilegios y restricciones de acceso seguro. Con todo ello se desarrollara unentorno en el que los usuarios se les autorice a acceder a recursos de un Base de Datos deforma autenticada utilizando el protocolo SSL (Secure Sockets Layer).forma autenticada utilizando el protocolo SSL (Secure Sockets Layer).

Pág. 2 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

El índice que vamos a seguir empieza por una descripción general de la seguridad enSi t Di t ib id t d l i i i f i t l dSistemas Distribuidos, presentando los servicios, mecanismos y funciones y protocolos deseguridad.

A continuación se presentarán los modelos de seguridad utilizados en Internet. Estos sonbásicamente tres:

Seguridad en el nivel de Red significa que los servicios de seguridad se incorporan en elprotocolo IP de la Arquitectura TCP/IP.

Seguridad en el Nivel de Transporte significa que los servicios de seguridad seincorporan en una capa adicional de la Arquitectura TCP/IP denominada SSL (SecureSocket Layer) o también TLS (Transport Layer Security).

Seguridad a nivel de Aplicación significa que son nuestras aplicaciones las encargadas deincorporar los servicios y mecanismos de seguridad.

Por último se analizara cómo proteger los sistemas críticos de una organizacióncorporativa mediante la utilización de cortafuegos.

Pág. 3 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Pág. 4 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Pág. 5 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Empezamos con el primer apartado “Introducción a la Seguridad en SistemasDi t ib id ”Distribuidos”.

Los objetivos de este apartado son, en primer lugar, conocer las amenazas y ataques quepueden sufrir los sistemas informáticos y la información que se propaga en las redes deDatos.

En segundo lugar, presentar los servicios y mecanismos de seguridad especificados en elestándar X.800.

En tercer lugar, se presentaran los protocolos de seguridad como un algoritmo distribuidoconsistente en el intercambio de mensajes entre dos o más entidades con el objetivo deimplementar servicios de seguridad. En algunos casos se dice incluso que un protocolo esun mecanismo de seguridad.

Por último, se presentarán soluciones prácticas para ofrecer servicios de seguridadutilizando la criptografía de clave publica.

Pág. 6 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

El índice que vamos a seguir en este primer apartado empieza con una introducción a laSeg ridad en Sistemas Redes de Datos A contin ación se describirán lasSeguridad en Sistemas y Redes de Datos. A continuación, se describirán las amenazas yataques que puede sufrir los datos que son transportados por los sistemas de transmisión.Seguidamente, se presentarán los Servicios, Mecanismos y Protocolos de Seguridad en elestándar X.800. Se continuará por la presentación de ejemplos prácticos del uso de lacriptográfica de clave pública.

Pág. 7 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Hay aspectos fundamentales de la información que requieren ser protegidos. Entre ellos,por ejemplo los datos de carácter personal o datos relati os a n estras c entas corrientespor ejemplo, los datos de carácter personal o datos relativos a nuestras cuentas corrientes,números de tarjetas de crédito etc..

Estos datos confidenciales son transportados a través de las Redes de Datos yalmacenados en sistemas de información como Bases de Datos.

Internet fue diseñado para conseguir la interconexión global de sistemas informáticos.Para ello se especificó la Arquitectura de Comunicaciones estructurada TCP/IP quepermite la transmisión de la información entre sistemas remotos. Cada una de las capasespecificada en la arquitectura TCP/IP tiene una misión en el transporte de laespecificada en la arquitectura TCP/IP tiene una misión en el transporte de lainformación. Para ello se especificaron mecanismos y servicios de comunicaciones encada nivel de la arquitectura. No obstante, en un primer momento, TCP/IP no fuediseñado para soportar servicios de seguridad. Es por ello por lo que se hace necesarioespecificar una arquitectura de seguridad que permita utilizar la arquitectura TCP/IP parala incorporación de servicios de seguridad.

El término seguridad se puede definir como la ausencia de riesgo o a la confianza enalgo o en alguien. Una arquitectura de seguridad va a ser pues una arquitectura dealgo o en alguien. Una arquitectura de seguridad va a ser pues una arquitectura decomunicaciones que permita el transporte de la información en ausencia de riesgo, conmecanismos y servicios de seguridad y, por consiguiente, con garantía de guardar laconfidencialidad de los datos, o garantía del origen de la información e integridad de lamisma.

Pág. 8 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

El uso de Internet ha evolucionado sustancialmente a lo largo de los años. Si en uni i i i t t ití bá i t l i t ió d i t li iprincipio internet permitía básicamente la interconexión de sistemas y aplicaciones

distribuidas, muchas de ellas restringidas al ámbito corporativo, con el paso del tiempo estasituación ha ido cambiado en función del desarrollo de nuevas tecnologías.

En una primera época en la Web el usuario era básicamente un sujeto pasivo que recibía lainformación o la publicaba, sin que existieran demasiadas posibilidades para que segenerara la interacción.

La aparición de la Web 2.0 permitió a los usuarios interactuar y colaborar entre sí comocreadores de contenido generado por usuarios en una comunidad virtual Esto ha supuestocreadores de contenido generado por usuarios en una comunidad virtual. Esto ha supuestoel auge de los blogs, las redes sociales y otras herramientas relacionadas. Esta situación haido en paralelo con la evolución de las tecnologías de transmisión de datos y la capacidadde almacenamiento en Bases de Datos.

En este contexto aparecen el auge de los dispositivos como Smartphones y Tablas quepermiten una rápida interconexión a internet También aparecen nuevas limitaciones comoel espacio en disco duro o la potencia de computación. Además cada vez más usuariosrechazan la instalación en sus sistemas de aplicaciones complejas prefiriendo su utilizaciónrechazan la instalación en sus sistemas de aplicaciones complejas prefiriendo su utilizaciónremota.

Es en este momento cuando surge el concepto de Cloud Computing: desmaterializar losservicios y los datos para acceder a ellos a través de la Red.

Pág. 9 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Cuando se habla de seguridad en sistemas de información conectados a una red se puedeifi t ti d id despecificar tres tipos de seguridad.

Computer Security (Seguridad en el sistema Informático): Es el concepto que engloba atodos aquellos mecanismos que garantizan la protección de los datos alojados en lossistemas de información.

Network Security (Seguridad en Red): Es el concepto que engloba a todos aquellosmecanismos que garantizan la protección de los datos que viajan por la red.

Internet Security (Seguridad en Internet). Es un concepto derivado del anterior cuando lared de transporte es Internet.

Pág. 10 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

En la figura se recogen los estándares de seguridad más utilizados hoy en día. Por unl d tá l d t NIST FIPS PUB 199 ti j t d bj ti dlado, está el documento NIST FIPS PUB 199 que contiene un conjunto de objetivos deseguridad que debería cumplir un sistema de información: estos objetivos formarían partedel contexto del concepto de “computer security (seguridad en el sistema informático).

Por otro lado, estarían los estándares CCITT X.800 ó ISO 7498-2. Estos dos estándaresexactamente iguales detallan los mecanismos y servicios de seguridad que deberían deimplementarse para garantizar la seguridad en red (network security) de los datos queviajan por las redes de comunicaciones entre sistemas informáticos. Estos estándaresespecifican incluso el nivel concreto de las arquitecturas estructuradas dónde implementarespecifican incluso el nivel concreto de las arquitecturas estructuradas dónde implementarlos mecanismos y servicios de seguridad.

Los estándares RFC 2402, 2406, 2408 especifican cómo proteger los datos que viajan enred introduciendo los mecanismos y servicios de seguridad en el nivel IP de laarquitectura TCP/IP de Internet.

Por último, los estándares RFC 2246, 4346, 5246 especifican cómo proteger los datos queviajan en red introduciendo los mecanismos y servicios de seguridad en una nueva capade la arquitectura TCP/IP de Internet denominada Nivel de Transporte Seguro (TLS,de la arquitectura TCP/IP de Internet denominada Nivel de Transporte Seguro (TLS,Transport Layer Security).

Pág. 11 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

El estándar ISO 7498 /X.800 define los elementos esenciales que deben de estari d l it t d i i l i i tincorporados a las arquitecturas de comunicaciones para que las comunicaciones entresistemas abiertos estén protegidas. Proporciona una descripción general de los serviciosde seguridad y mecanismos asociados que deberían ser proporcionados por el modelo dereferencia. Define el nivel dentro del Modelo de referencia donde se deberíanproporcionar los mecanismos y servicios.

Una parte inicial de este documento se encarga de definir las amenazas que pueden sufrirlos datos en tránsito en la red. A continuación, se describen los servicios de seguridad quedeberían proporcionar las arquitecturas de comunicaciones para hacer frente a estasdeberían proporcionar las arquitecturas de comunicaciones para hacer frente a estasamenazas. Seguidamente se describen los mecanismos y protocolos que implementaríanlos servicios de seguridad y, finalmente, se especifica en qué nivel de las arquitecturasestructuradas se deberían ubicar los mecanismos y protocolos de seguridad.

Pág. 12 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Hay cuatro elementos básicos definidos en la Arquitectura de Seguridad X.800:

Amenazas y ataques: Cualquier acción que comprometa la seguridad de la información deuna organización.

Servicio de Seguridad: Un servicio de comunicación que garantiza la seguridad de lossistemas de información y de la información que viaja por las redes de datos. Losservicios de seguridad hacen frente a los ataques y son implementados con mecanismosde seguridad.

Mecanismo de Seguridad: Pueden definirse como un proceso (o dispositivo que contieneun proceso) que está diseñado para detectar, prevenir o recuperarse de un ataque.

Política de seguridad: conjunto de normas y procedimientos establecidos por unaorganización para regular el uso de la información y de los sistemas que la tratan con elfin de mitigar el riesgo de pérdida, deterioro o acceso no autorizado a la misma. Tambiénse puede definir como el conjunto de criterios para la provisión de servicios de seguridad.

Pág. 13 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Amenaza: Un potencial de violación de la seguridad, que existe cuando hay unai t i id d ió t d í i l l id d Ecircunstancia, una capacidad, una acción, o evento que podría violar la seguridad. Es

decir, una amenaza es un posible peligro que podría explotar una vulnerabilidad. Unavulnerabilidad es cualquier debilidad que podría ser explotado para violar un sistema ola información que contiene.

Ataque: Un asalto a la seguridad del sistema que se deriva de una amenaza inteligente;es decir, un acto inteligente que es un intento deliberado (especialmente en el sentido deun método o técnica) para evadir los servicios de seguridad y violar la política deseguridad de un sistema. Podemos decir que es la materialización de una amenaza.seguridad de un sistema. Podemos decir que es la materialización de una amenaza.

El término seguridad se utiliza en el sentido de minimizar las vulnerabilidades de losactivos y recursos. Un activo es un valor. Una vulnerabilidad es cualquier debilidad quepodría ser explotado para violar un sistema o la información que contiene. Una amenazaes una posible violación de la seguridad.

Pág. 14 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Una Red de Datos como puede ser Internet, o bien la Intranet de una Red corporativa, está expuestaa amplias amenazas que afecta a la información en tránsito. El conocimiento de las posiblesamenazas que puede sufrir una Red de Datos es un aspecto esencial a la hora de definir una Políticade Seguridad y, posteriormente, en el momento de implementar mecanismos y funciones deseguridad. Se pueden enumerar un conjunto amplio de amenazas que pueden afectar a la seguridadde un sistema de trasmisión de información, sin embargo, podemos aproximarnos al problemaconsiderando una serie de amenazas genéricos.

Si consideramos un ataque como la materialización de una amenaza se puede considerar que engeneral y en ausencia de cualquier tipo de amenaza y, por consiguiente ataque, va a existir un flujonormal de datos (información) desde un sistema informático de la red de datos hasta otro sistemainformático. Este flujo normal descrito en la figura supone una situación ideal que, ciertamente, nose ajusta a la realidad. En una situación real que puede ser la Red de Área Local de un entornocorporativo, o la red Inalámbrica de un entorno residencial se pueden producir una serie amplia deataques que podemos agrupar en cuatro categorías:

Interceptación: Un intruso accede a un recurso sin estar autorizado. Este es un ataque a laconfidencialidad. Un intruso puede ser una persona, un programa o un sistema informático.Ejemplos de este tipo de ataque son la captura de unidades de datos en la red o la copia ilícita deficheros o programas, o la captura de tráfico.

Modificación: Un intruso no sólo accede a un recurso sin autorización sino que falsifica lainformación. Este es un ataque a la integridad. Ejemplo de este tipo de ataque incluye cambios deq g j p p q yvalores en el fichero de datos, alteración de un programa de modo que se ejecute de maneradiferente y modificación de los contenidos de las unidades de datos transmitidas en la red. Para queeste ataque se materialice es necesario que el intruso observe la llegada de unidades de datos,capture dichos datos y posteriormente los modifique.

Interrupción: Un recurso de un sistema es destruido o deja de estar disponible. Este es un ataqueque afecta a la disponibilidad de recursos. Ejemplos de este tipo de ataque sería la inhabilitación dela red de comunicaciones y, por lo tanto, pérdida de datos, inhabilitación del sistema de gestión deficheros etc.

Pág. 15 12/04/2018 Luis Mengual (C)

Inserción: Un intruso y, por lo tanto, sin autorización inserta objetos en el sistema. Este es unataque a la autenticación. Ejemplos de este tipo de ataque son la inserción de unidades de datos enla red o la adición de campos a un fichero.

De acuerdo a la naturaleza de estos de ataques se pueden agrupar en dos grandes grupos: ataquespasivos y ataques activos.

Introducción a la Seguridad en Sistemas Distribuidos

Los ataques pasivos tienen su origen en la escucha o monitorización de una transmisión. Elobjeti o de n intr so es en este caso obtener la información q e está siendo transmitidaobjetivo de un intruso es, en este caso, obtener la información que está siendo transmitida.

Los ataques pasivos son muy difíciles de detectar ya que no dan lugar a ninguna alteraciónde las unidades de datos. Sin embargo, es posible evitar estos ataques. Por lo tanto, cuandose habla de ataques pasivos hay que hacer más énfasis en la prevención que en ladetección.

Pág. 16 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Los ataques pasivos tienen su origen en la escucha o monitorización de una transmisión. Elobjeti o de n intr so es obtener la información q e está siendo transmitida Dos tipos deobjetivo de un intruso es obtener la información que está siendo transmitida. Dos tipos deataques se pueden considerar en este ámbito : Por un lado, la revelación de los contenidosde las unidades de datos transmitidas por la red y, por otro, el análisis de tráfico.

La revelación de contenidos es una amenaza frecuente que afecta a los sistemasdistribuidos. Un mensaje de correo electrónico o un fichero que se transmite por la redpuede contener información sensible o confidencial. Un intruso podría acceder a loscontenidos de dichas unidades de datos. Cuando se trata de información cifrada se puedenutilizar técnicas de criptoanálisis con el fin de acceder a los contenidos cifrados. Las Redesutilizar técnicas de criptoanálisis con el fin de acceder a los contenidos cifrados. Las Redesde Área Local, especialmente aquéllas que utilizan como medios de transmisión el partrenzado y/o el medio inalámbrico , son especialmente sensibles a esta amenaza.

Otra posible amenaza es el análisis de tráfico. Es posible la monitorización y análisis porun tercero del intercambio de datos entre entidades resultando en una amenaza consistenteen desvelar información que pueda después ser utilizada en contra de losintercomunicadores. El intruso podría determinar la localización y la identidad de lasentidades que se comunican, podría observar la frecuencia y longitud de las unidades dedatos intercambiadas, capturar palabra de paso, etc. Estas informaciones podrían ser útilespara analizar la naturaleza de la comunicación que está teniendo lugar.

Pág. 17 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

La segunda categoría de ataques son los ataques activos. Estos ataques implican algunamodificación en el fl jo de nidades de datos q e se transmiten en la red la creación demodificación en el flujo de unidades de datos que se transmiten en la red, la creación deunidades de datos fraudulentas, o la interrupción de las comunicaciones con laconsiguiente pérdida de información.

Los ataques activos presentan características opuestas a los ataques pasivos. Mientras quelos ataques pasivos son difíciles de detectar se pueden establecer mecanismos para evitarque éstos tengan éxito. Por otro lado, es bastante difícil evitar los ataques activos demanera absoluta ya que requeriría, en todo momento, la protección física de todos losmedios y facilidades de comunicación. Por lo tanto, las medidas de seguridad frente a losmedios y facilidades de comunicación. Por lo tanto, las medidas de seguridad frente a losataques activos se concentrarán en poder detectarlos y recuperarse de cualquierperturbación o retardos ocasionados por ellos. Debido a que la detección tiene un efectodisuasivo también puede contribuir a la prevención.

Dentro de los ataques activos podemos hablar de tres subcategorías generales de ataquesque afectan a la disponibilidad de recursos, a la integridad y a la autenticidad de lasunidades de datos. Adicionalmente, podemos destacar ejemplos concretos dentro de cadasubcategoría: la suplantación de identidad, modificación de datos en tránsito,retransmisión y alteración de las facilidades y recursos de las comunicaciones.

Pág. 18 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

La suplantación de identidad tiene lugar cuando una entidad dice ser otra diferente. Este tipo de ataque puede aparecer encombinación con otros ataques. La suplantación de identidad puede tener lugar modificando una unidad de datos transmitida

l d bi l i ió d i f ió U i t j l d í h b t d i iópor la red o bien por la inserción de nueva información. Un intruso, por ejemplo, podría haber capturado en una comunicaciónorientada a conexión las direcciones origen y destino, así como los números de secuencia de las unidades de datosintercambiadas. En un instante dado podría enviar una unidad de datos suplantando a una de las entidades que se comunican.

La modificación de la información en tránsito es otro posible ataque. Este ataque requiere, por un lado, la observación de lainformación en tránsito y, por otro, la inserción de datos. Debido a los requisitos en tiempo real de algunas aplicaciones esteataque puede ser relativamente complejo. Los ataques que se pueden considerar en este apartado son muy amplios. Un intrusopuede modificar la información en tránsito correspondiente a un protocolo de gestión, alterando el funcionamiento normal delos dispositivos en la red; o bien puede modificar los contenidos de los mensajes correspondientes a un protocolo desincronización de relojes, interfiriendo en la consideración de actualidad de dichos mensajes; o bien modificar el número de

i d l j i i i t d ió tsecuencia de los mensajes en comunicaciones orientadas a conexión, etc.

La retransmisión consiste en la captura pasiva de unidades de datos y su consiguiente retransmisión para producir un efectoindeseado. Este tipo de ataques ocasionan, por ejemplo, retardos en las unidades de datos que pueden afectar a la integridad deun flujo de información en comunicaciones orientadas a conexión. La información puede ser retransmitida causando efectosno esperados. Algunos ejemplos son la retransmisión de transferencia de fondos cifrados de modo que causen múltiples sumasde las cantidades transferidas o la retransmisión de secuencia de comportamientos. La retransmisión de mensajes es unatécnica simple de ejecutar y requieren poca o ninguna sofisticación, aunque en algunos casos se requiere una mayorcomplejidad para reproducir códigos de redundancia. Un intruso también podría suprimir un mensaje y posteriormenteretransmitirlo ocasionando efectos nefastos.

La inserción de información es otro posible ataque que puede tener múltiples implicaciones. Ejemplos de este tipo de ataqueson la inserción de mensajes adecuados a un protocolo de comunicaciones (o de seguridad); la inserción de paquetes deinformación de encaminamiento, de modo que se reencamine el tráfico de manera favorable para un intruso; la inserción demensajes de gestión para la configuración de dispositivos, etc. Aunque pueda parecer que el mecanismo de inserción deinformación es difícil, en la mayoría de los casos, es técnicamente posible. Sólo en aquellos casos dónde se han tomadomedidas para detectar o prevenir este tipo de ataques la inserción de información alcanza un cierto grado de complejidad.

La alteración de las facilidades o recursos de comunicaciones puede afectar al uso normal o a la gestión de las facilidades decomunicación. Este ataque, a veces, tiene un objetivo específico: por ejemplo, un intruso puede suprimir todas las unidades dedatos dirigidas a un destino particular. Otra forma de ataque es la alteración del funcionamiento de la red produciendo una

Pág. 19 12/04/2018 Luis Mengual (C)

sobrecarga con unidades de datos que degradan el rendimiento.

Introducción a la Seguridad en Sistemas Distribuidos

Son muchos los ataques específicos concretos que se podrían nombrar y clasificar en cadauna de las capas de la arquitectura TCP/IP. A modo de ejemplo se citan los siguientes:

MAC Spoofing: es una técnica para cambiar la dirección MAC (Medium Acces Control) enun dispositivo de red. La Dirección MAC está codificada en la tarjeta de red (NIC,Network Interface Card) y, en teoría, no se puede cambiar. Sin embargo, existenherramientas software que pueden hacer al sistema operativo creer que el NIC tiene laDirección MAC de la elección de un usuario. El proceso de enmascaramiento.

MAC Flooding: Es un ataque consistente en inundar un conmutador Ethernet con tramasMAC falsas de modo que se desborde la capacidad de la tabla de encaminamiento delconmutador. De este modo en una fase posterior el conmutador se ve obligado aretrasmitir las tramas por inundación.

ARP Spoofing: Es un ataque consistente en utilizar las tramas ARP-reply del protocoloARP (Address Resolution Protocol) para engañar a un sistema informático y hacerle creerque la dirección MAC de un sistema se corresponde a una dirección IP solicitada.

Ping Flood: Consiste en saturar una red de datos con un número excesivo de paquetesICMP (Internet Control Message Protocol). Esta saturación causará una degradación delos servicios prestados por otros protocolos.

Ataques TCP/SYN: Se trata de un ataque por denegación de servicio en un servidor queutiliza el protocolo TCP. Un intruso envía una sucesión de peticiones SYN al sistemainformático servidor en el intento de hacerle consumir recursos de forma que no respondaal tráfico legítimo.

Ataques DHCP: Como es sabido una de las formas que tienen los administradores de red,

Pág. 20 12/04/2018 Luis Mengual (C)

de entregar direcciones IP a los sistemas de un red es mediante un servidor DHCP(Dynamic Host Configuration Protocol). Los ataques DHCP consisten en sustituir unservidor DHCP legitimo por un DHCP malicioso.

Introducción a la Seguridad en Sistemas Distribuidos

En el entorno de una Base de Datos son posibles múltiples ataques de seguridad. Por unl d tá l t é i d f i B d D t l ilado, están los ataques genéricos que puede sufrir una Base de Datos como cualquiersistema de información de Internet. Estos serían ataques podrían consistir en la captura dela información tanto en lo relativo a las claves de acceso como a información contenida enla base de datos y recuperada por el usuario. También hay posibilidad de suplantar laidentidad del usuario que accede a la base de Datos o modificar la información en tránsito.Los servicios de seguridad de Confidencialidad, Autenticación, Integridad y no repudiodeberían hacer frente a estos ataques.

Existen también ataques específicos del entorno de una Base de Datos como son laExisten también ataques específicos del entorno de una Base de Datos como son lainyección SQL. Este tipo de ataque consiste en la inyección de código malicioso SQL conel fin de obtener información de la que no se esta autorizado o acceder a recursos nopermitidos. Contramedidas específicas como la parametrización de variables se podríanaplicar en este caso.

Por ultimo, la información se almacena en unidades físicas y lógicas que forman parte deuna Base de Datos. Esta información debería estar protegida para que sólo pudieranacceder los usuarios autorizados garantizando su no alteración en el tiempo. Los serviciosde Confidencialidad e Integridad protegerían estos datos.

Pág. 21 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

En el ejemplo de la figura suponemos que un cliente remoto accede desde un códigof t j SGBDfuente java a un SGBD.

Pág. 22 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

El código fuente java podría ser el representado en la figura con el que queremos obtener fil d l t bl “ d l d ”una fila de la tabla “cdcol.cds” ..

Pág. 23 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Si capturáramos el tráfico intercambiado entre el cliente y el SGBD veríamos en un primert l t id t d l lt SQL li l li t imomento el contenido exacto de la consulta SQL que realiza el cliente como se aprecia en

la figura “Select * from cdcol.cds where interpret = Grove Armada”. Es decir, un intrusopodría acceder al contenido del trafico entre el cliente y el SGBD.

Pág. 24 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Pero el intruso también podría acceder al resultado de la consulta con tal solo utilizar unit d d i l fi E d i l i t d í tmonitor de red como se aprecia en la figura… Es decir, el intruso podría capturar

fácilmente el mensaje SQL que el SGBD envía como respuesta de la petición del cliente.

Pág. 25 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

En la figura se muestra un ejemplo de un ataque por inyección de código. En la cual sei t ódi SQL l “ l l” h d d linyecta un código SQL en el campo “clave personal” que hace que pueda acceder a losdatos de cualquier trabajador sin tener su clave.

Pág. 26 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

En la figura se observa otro efecto de ataque por inyección de código SQL. En este casolo res ltado p eden ser desastrosos al in ectar código q e permite borrar na tabla de lalo resultado pueden ser desastrosos al inyectar código que permite borrar una tabla de laBase de Datos.

Pág. 27 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Una contramedida a aplicar para evitar la inyección de código es parametrizar los datos ai t E t l d h l t d i i d l d tinsertar. Esto lo puede hacer manualmente un programador inspeccionando el datointroducido. En java se puede realizar utilizando la clase “PreparedStatemet”. Esta clasedispone de métodos que hacen un “parser” del dato introducido para evitar la inyecciónde código. En el ejemplo se utilizar el método “setString”.

Pág. 28 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

De acuerdo a la Recomendación X.800 un servicio de seguridad es un servicioi d d l it t t t d d i iproporcionado por una capa de las arquitecturas estructuradas de comunicaciones que

proporciona la seguridad de los sistemas y de los datos en la red.

Una definición similar se puede encontrar en el RFC 2828: Un proceso o servicio decomunicación proporcionado por un sistema para ofrecer una especifica protección a susrecursos.

Los servicios de seguridad se implementan con mecanismos y funciones de seguridad.Normalmente se dice que un protocolo de seguridad forma parte de un mecanismo deseguridad Aunque en otras ocasiones se dice que los servicios de seguridad seseguridad. Aunque en otras ocasiones se dice que los servicios de seguridad seimplementan con mecanismos, funciones y protocolos de seguridad.

Pág. 29 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

El estándar ISO 7498-2 describe los servicios y mecanismos de seguridad que deberíangarantizar las comunicaciones en redes abiertas como Internet Los servicios y mecanismosgarantizar las comunicaciones en redes abiertas como Internet. Los servicios y mecanismosdefinidos en este estándar tienen su analogía con los servicios y mecanismo de comunicaciones:se ofrecen en uno o varios niveles de las arquitecturas estructuradas y se ofrecen a los nivelessuperiores. En conjunto los servicios y mecanismos de seguridad integrados en las Arquitecturasde Comunicaciones dan lugar a lo que se conoce como Arquitectura de Seguridad.

El estándar ISO 7498-2 describe 5 grandes categorías de servicios y 14 servicios específicos. Lascategorías contempladas son las siguientes:

La confidencialidad es la protección de los datos transmitidos de los ataques pasivos. Cont l l ió d l t id d l j d id tifi i i l drespecto a la revelación de los contenidos de los mensajes se pueden identificar varios niveles de

protección. Una visión amplia de este servicio protege a todos los datos transmitidos entre dosusuarios durante un período de tiempo. Por ejemplo, si se establece una comunicación orientadaa conexión entre dos sistemas esta protección amplia podría afectar a todos los datostransmitidos sobre esa conexión. Otra visión del servicio podría afectar a un solo mensaje oincluso a campos específicos dentro de un mensaje. Estos refinamientos son menos útiles que lavisión amplia y pueden ser más complejos y caros de implementar. Otro aspecto de laconfidencialidad es la protección del análisis del flujo de tráfico. Esto requiere que un intruso nopueda observar el origen y el destino, frecuencia longitud y otras características del tráfico. Elpueda observar el origen y el destino, frecuencia longitud y otras características del tráfico. Elservicio de confidencialidad utiliza los mecanismos de cifrado, tráfico de relleno y control deencaminamiento (como se estudiará más adelante).

El servicio de Autenticación está relacionado con la seguridad de que una comunicación esauténtica. En el caso de una comunicación no orientada a conexión (por ejemplo un mensaje decorreo) la función del servicio de autenticación es asegurar al receptor que el mensaje viene de lafuente de la que reclama que viene. En el caso de una comunicación orientada a conexión (porejemplo una conexión TCP) hay dos aspectos envueltos: Primero al iniciarse la comunicaciónque cada entidad es la que reclama ser. En segundo lugar se debe asegurar que durante la

Pág. 30 12/04/2018 Luis Mengual (C)

q q g g g qconexión las unidades de datos no son suplantadas por un intruso. El servicio de autenticaciónutiliza los mecanismos de firma digital e intercambio de autenticación. Un perfil añadido delservicio de autenticación es la garantía de que las unidades de datos intercambiadas son actuales,es decir, no son un retransmisión de unidades de datos capturadas anteriormente por un intruso.Mecanismos como el desafío-respuesta, sellos de tiempo e identificadores de uso único permitenimplementar este servicio.

Introducción a la Seguridad en Sistemas Distribuidos

La integridad es la no alteración de la información en tránsito. Como la confidencialidad,la i t id d p ede aplicarse a n fl jo de mensajes n solo mensaje o n conj nto dela integridad puede aplicarse a un flujo de mensajes, un solo mensaje o un conjunto decampos dentro de un mensaje. De nuevo el modelo más útil es la protección total del flujode información. Un servicio de integridad orientado a conexión, aquel que trata con losflujos de mensajes, asegura que los mensajes son recibidos tal y como son enviados, sinduplicación, inserción, modificación, reordenamiento o retransmisiones. La destrucciónde los datos también está cubierta con este servicio. Por lo tanto, el servicio de integridadorientado a conexión apunta tanto a la modificación del flujo de mensajes y a ladenegación de servicio. Por otro lado, un servicio de integridad no orientado a conexión,aquel que trata de mensajes individuales generalmente solo proporciona protección frentea las modificaciones. Haremos distinción entre un servicio con y sin recuperación.Debido a que la integridad está relacionada con los ataques activos, estamos implicadosen la detección más que con la prevención. Si se detecta una violación de la integridad,entonces el servicio puede simplemente reportar esta violación. Alternativamente haydisponibles mecanismos para recuperarse de la integridad. El servicio de integridad estáíntimamente ligado al servicio de autenticación: no tiene sentido asegurar que una unidadde datos viene de una determinada entidad sino se puede asegurar que no ha sido alteradade datos viene de una determinada entidad sino se puede asegurar que no ha sido alterada.

El servicio de no repudio evita que tanto el emisor como el receptor nieguen habertransmitido un mensaje. Por lo tanto, el receptor puede probar que el mensaje fue enviadopor el emisor alegado. Similarmente cuando un mensaje es recibido el emisor puedeprobar que el mensaje fue de hecho recibido por el receptor. El servicio de no repudioutiliza los mecanismos de firma digital y autenticación.

El servicio de control de acceso es la capacidad de limitar y controlar el acceso a lossistemas y aplicaciones a través de los enlaces de comunicaciones Para alcanzar este

Pág. 31 12/04/2018 Luis Mengual (C)

sistemas y aplicaciones a través de los enlaces de comunicaciones. Para alcanzar estecontrol cada entidad para ganar el acceso debe primero ser identificada, o autentificada,para que los derechos de acceso sean confeccionados de forma individual.

Introducción a la Seguridad en Sistemas Distribuidos

La integridad es la no alteración de la información en tránsito. Como laconfidencialidad la i t id d p ede aplicarse a n fl jo de mensajes n solo mensajeconfidencialidad, la integridad puede aplicarse a un flujo de mensajes, un solo mensajeo un conjunto de campos dentro de un mensaje. De nuevo el modelo más útil es laprotección total del flujo de información. Un servicio de integridad orientado aconexión, aquel que trata con los flujos de mensajes, asegura que los mensajes sonrecibidos tal y como son enviados, sin duplicación, inserción, modificación,reordenamiento o retransmisiones. La destrucción de los datos también está cubierta coneste servicio. Por lo tanto, el servicio de integridad orientado a conexión apunta tanto ala modificación del flujo de mensajes y a la denegación de servicio. Por otro lado, unservicio de integridad no orientado a conexión, aquel que trata de mensajes individualesgeneralmente solo proporciona protección frente a las modificaciones. Haremosdistinción entre un servicio con y sin recuperación. Debido a que la integridad estárelacionada con los ataques activos, estamos implicados en la detección más que con laprevención. Si se detecta una violación de la integridad, entonces el servicio puedesimplemente reportar esta violación. Alternativamente hay disponibles mecanismos pararecuperarse de la integridad. El servicio de integridad está íntimamente ligado al serviciode autenticación: no tiene sentido asegurar que una unidad de datos viene de unade autenticación: no tiene sentido asegurar que una unidad de datos viene de unadeterminada entidad sino se puede asegurar que no ha sido alterada.

El servicio de no repudio evita que tanto el emisor como el receptor nieguen habertransmitido un mensaje. Por lo tanto, el receptor puede probar que el mensaje fueenviado por el emisor alegado. Similarmente cuando un mensaje es recibido el emisorpuede probar que el mensaje fue de hecho recibido por el receptor. El servicio de norepudio utiliza los mecanismos de firma digital y autenticación.

El servicio de control de acceso es la capacidad de limitar y controlar el acceso a los

Pág. 32 12/04/2018 Luis Mengual (C)

El servicio de control de acceso es la capacidad de limitar y controlar el acceso a lossistemas y aplicaciones a través de los enlaces de comunicaciones. Para alcanzar estecontrol cada entidad para ganar el acceso debe primero ser identificada, o autentificada,para que los derechos de acceso sean confeccionados de forma individual.

Introducción a la Seguridad en Sistemas Distribuidos

La disponibilidad es la propiedad de un sistema o de un recurso del sistema de seribl tili bl ti ió d tid d d l i t t i d d d laccesible y utilizable a petición de una entidad del sistema autorizado, de acuerdo a las

especificaciones de rendimiento para el sistema; es decir, un sistema es disponible siproporciona servicios de acuerdo con la especificación del sistema siempre que losusuarios lo soliciten.

Un conjunto de ataques pueden ocasionar la perdida o reducción de la disponibilidad.Estos ataques son susceptibles de contramedidas automatizadas, como la autenticación y elcifrado, mientras que otros requieren algún tipo de acción física para prevenir orecuperarse de la pérdida de la disponibilidad de elementos de un sistema distribuido.recuperarse de la pérdida de la disponibilidad de elementos de un sistema distribuido.

X.800 trata a la disponibilidad como un propiedad asociada con varios de seguridadservicios. Sin embargo, tiene sentido llamar específicamente a la disponibilidad un serviciode seguridad. Un servicio de disponibilidad es el que protege un sistema para asegurar sudisponibilidad. Este servicio apunta a la seguridad concerniente a los ataques por dedenegación de servicio. Este servicio depende de los recursos de control y gestión delsistema y por lo tanto depende del servicio de control de acceso y otros servicios deseguridad.

Pág. 33 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Un mecanismo de seguridad de acuerdo al RFC 2828 es cualquier proceso (o undi iti i ) tá di ñ d d t t idispositivo que incorpora un proceso) que está diseñado para detectar, prevenir orecuperarse de un ataque de seguridad. Ejemplos de mecanismos son los algoritmos decifrado, firmas digitales y protocolos de seguridad.

Una política de seguridad puede ser implementada usando varios mecanismos deseguridad, simples o en combinación dependiendo de los objetivos de la política y de losmecanismos usados. En general, un mecanismo de seguridad se podría encuadrar enalguna de las siguientes categorías: prevención, detección y/p recuperación

Pág. 34 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Los servicios de seguridad son implementados utilizando mecanismos y protocolos de seguridad. Unservicio de seguridad puede utilizar uno o varios mecanismos de seguridad. En la arquitectura de seguridaddefinida en el estándar ISO 7498-2 se han definido los siguientes mecanismos de seguridad: Cifradog gsimétrico y asimétrico, Intercambio de Autenticación y Firma digital. El mecanismo de cifrado simétricoproporciona fundamentalmente el servicio de confidencialidad en la distribución de datos. El mecanismo decifrado asimétrico va a implementar una amplia gama de servicios que van desde el no repudio a laconfidencialidad en la distribución de claves de sesión.

El Intercambio de autenticación de unidades de datos es un mecanismo que permite que las partes que secomunican verifiquen que los mensajes recibidos son auténticos. Una unidad de datos, un mensaje, fichero,documento u otra colección de datos se dice que son auténticos cuando son genuinos (no han sidoalterados) y vienen de la fuente que alegan venir. El mecanismo de autenticación protege a las unidades dedatos intercambiadas de los denominados ataques activos por parte de los intrusos, es decir de las posiblesq p p , palteraciones o modificaciones. La autenticación puede contemplar dos aspectos: por un lado que loscontenidos de los mensajes no han sido alterados y por otro que el origen de las unidades de datos esauténtica y por lo tanto no ha sido alterada o falsificada. También se puede desear verificar que las unidadesde datos no han sido retardadas artificialmente (para ello se pueden utilizar los denominados de sellos detiempo o identificadores de uso único) y la secuencia de la unidad de datos considerada relativa a las otrasunidades de datos intercambiadas. En definitiva los mecanismos de autenticación van a implicar elintercambio de una serie de una serie de información de control entre las entidades pares implicadasconstituyendo un auténtico protocolo, el denominado protocolo de autenticación. Se pueden considerar dosfunciones implicadas en los mecanismos de autenticación: el denominado código de autenticación demensajes y el cifrado.

Un protocolo criptográfico o un protocolo de seguridad es un algoritmo distribuido definido por unasecuencia de pasos que especifican las acciones requeridas para que dos o más entidades alcancen unobjetivo de seguridad específico. Un protocolo implementa los distintos mecanismos de seguridad en unentorno distribuido. No obstante se puede decir que en general el concepto de mecanismo es más general ypuede abarcar un protocolo de seguridad y otras técnicas como la protección hardware etc.

Un servicio de seguridad se implementa con mecanismos de seguridad y un protocolo, de forma similar a loque ocurre en las arquitecturas de comunicaciones. Por ejemplo el protocolo de nivel de enlace (nivel 2)HDLC (High-Level Data Link Control) proporciona a los niveles superiores un servicio de fiabilidad en las

Pág. 35 12/04/2018 Luis Mengual (C)

( g ) p p pcomunicaciones asegurando que los datos llegan a su destino. Para ello utiliza mecanismos de ventanadeslizante, un número de secuencia etc. Estos mecanismos se integran en un protocolo que consiste en elintercambio de tramas de información y asentimiento entre las entidades. Del mismo modo operan losmecanismos y protocolos de seguridad, proporcionando a los niveles superiores servicios de seguridad.

Introducción a la Seguridad en Sistemas Distribuidos

El cifrado es un mecanismo que utiliza la criptografía para transformar las unidades de datos intercambiadaspor las entidades pares. El mecanismo de cifrado contempla dos funciones a realizar sobre las unidades depor las entidades pares. El mecanismo de cifrado contempla dos funciones a realizar sobre las unidades dedatos: la función de cifrado y la función de descifrado. El mecanismo de cifrado protege a los datos deusuario frente a la revelación de los contenidos (estos serán denominados ataques activos). Antes de realizarla función de cifrado las unidades de datos a intercambiar se denominan texto en claro. Para la transmisión delas unidades de datos una entidad par aplicará la función de cifrado sobre el texto en claro transformándolo adatos ininteligibles, también llamado texto cifrado. La entidad receptora de las unidades de datos cifradasdeberá realizar la función inversa denominada descifrado para poder recuperar el texto en claro. Elmecanismo de cifrado se utiliza típicamente para proporcionar el servicio de confidencialidad, aunquetambién puede soportar otros servicios de seguridad como los servicios de integridad y de autenticación. Sehan definido dos modalidades del mecanismo de cifrado: el cifrado convencional y el cifrado de clavepública.

La seguridad del cifrado convencional depende de varios factores. Primero el algoritmo de cifrado debe sercapaz de hacer inviable descifrar los datos a partir sólo del texto cifrado. La seguridad del cifradoconvencional depende de la seguridad en el conocimiento de la clave no de la seguridad en el conocimientodel algoritmo. Es decir, se asume que es inviable descifrar un mensaje con sólo el mensaje y el algoritmocriptográfico. En otras palabras no necesitamos conservar secreto el algoritmo; sólo necesitamos conservarsecreta la clave. El cifrado convencional es quizás el mecanismo de seguridad más difundido. El hecho que elalgoritmo de cifrado/descifrado no necesite ser secreto significa que los fabricantes han desarrolladoimplementaciones hardware para algoritmos de cifrado de datos. Estas implementaciones hardware estánampliamente disponibles e incorporadas a un número de productos. Con el uso del cifrado convencional, elprincipal problema de la seguridad es mantener secreta la clave.

En resumen, se puede decir que el cifrado convencional para su funcionamiento requiere:

•Un algoritmo para realizar las funciones de cifrado/descifrado y una clave.

•El emisor y receptor deben compartir el algoritmo y la clave y por requerimientos de seguridad.

•Que la clave se conserve secreta.

•Debe ser imposible o impracticable descifrar un mensaje si no hay otra información disponible.

•El conocimiento del mensaje cifrado y el algoritmo debe ser insuficiente para conocer la clave

Pág. 36 12/04/2018 Luis Mengual (C)

•El conocimiento del mensaje cifrado y el algoritmo debe ser insuficiente para conocer la clave.

Introducción a la Seguridad en Sistemas Distribuidos

Hay tres aspectos importantes a la hora de seleccionar un algoritmo criptográfico decifrado simétrico: Un primer aspecto es la longitud de clave Hoy en día se considera quecifrado simétrico: Un primer aspecto es la longitud de clave. Hoy en día se considera quecon la potencia de computación actual la longitud de clave debería ser de al menos 128.Longitudes de clave de tamaño inferior a 128 bits se consideran hoy en día vulnerables y,por consiguiente, factibles de encontrar explorando en el espacio total de claves.

La robustez del algoritmo significa que el algoritmo no tiene vulnerabilidades que haganfactible encontrar la clave sin recorrer todo el espacio de claves completo. Finalmente lavelocidad es un aspecto esencial en la elección del algoritmo de cifrado simétrico, sobretodo si el algoritmo se va a utilizar dentro de aplicaciones que tienen requisitos de tiempotodo si el algoritmo se va a utilizar dentro de aplicaciones que tienen requisitos de tiemporeal.

Pág. 37 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Los algoritmos de cifrado utilizados más comúnmente son los cifradores de bloque. Uncifrador de bloque procesa una entrada de texto en claro en bloques de tamaño fijo, yproduce un bloque de texto cifrado de igual tamaño para cada bloque de texto en claro. Losdos algoritmos convencionales más importantes que además son cifradores de bloque sonel DES y el DES triple.

El algoritmo DES (“Data Encryption Estándar”) fue desarrollado por IBM con la ayudade la NSA (Natinal Security Agency) y adoptado por el NIST (“National Institute ofStandars and Technology”) como el estándar Federal de Procesamiento de laI f ió ú 46 (F d l I f i P i S d d 46 (FIPS PUB 46)Información número 46 (Federal Information Processing Standard 46 (FIPS PUB 46).Este algoritmo realiza un cifrado-descrifado de bloques de 64 bits basado enpermutaciones, mediante una clave, también de 64 bits.

El DES Triple fue propuesto por primera vez por Tuchman y constituyó la primeranormalización para aplicaciones comerciales. El DES Triple es una variante del DESconvencional que utiliza dos claves y tres ejecuciones del algoritmo DES.

DES se ha analizado exhaustiva y públicamente durante 25 años. Muchos profesionales del i t fí t l it ti t t it l NSAla criptografía asumen que este algoritmo tiene una puerta trasera que permite a la NSAquebrar las comunicaciones cifradas con él. Pero sin duda su mayor imperfección actual esla longitud de clave: 56 bits. Existen sólo unas 70 mil billones de claves, y con unordenador lo suficiente mente potente se pueden probar todas.

El algoritmo de cifrado IDEA (International Data Encryption Algorithm AlgoritmoInternacional de Cifrado de Datos) es un cifrador por bloques diseñado por Xuejia Lai yJames L. Massey de la Escuela Politécnica Federal de Zúrich y descrito por primera vez en1991 Fue un algoritmo propuesto como sustituto del DES Como principal novedad fue el

Pág. 38 12/04/2018 Luis Mengual (C)

1991. Fue un algoritmo propuesto como sustituto del DES. Como principal novedad fue elaumento de la longitud de clave aunque otros elementos como la velocidad no se mejoran.

Introducción a la Seguridad en Sistemas Distribuidos

En este contexto el NIST, año 1997, publicó las especificaciones que debería cumplir eldenominado “Ad d E i ti St d d” (AES) llamado a s stit ir a finales del añodenominado Advanced Encription Standard (AES), llamado a sustituir a finales del año2000 al extendido DES. Los requisitos principales eran: Un algoritmo simétrico debloques de 128 bits (no de 64 bits como DES) y con claves de 128, 192 o 256 bits (no 56como DES) Los participantes tenían que escribir el código en los lenguajes deprogramación ANSI-C y Java. Como plataforma se especifico un procesador Pentium deIntel (procesador a 32 bits). El NIST explicó que los criterios para escoger el algoritmoganador serían pro orden de prioridad: robustez, velocidad y sencillez. Asimismo todoparticipante oficial en el concurso debía garantizar que si ganase renunciaría a tododerecho de propiedad intelectual sobre su algoritmo.

Al concurso se presentaron distintos algoritmos, quedando una lista final de 15 finalistas.Entre los que estaban el algoritmo RC6 (variante del RC5), de los laboratorios RSA(iniciales de los investigadores Ron Rivest, Adi Shamir, and Len Adleman), Una variantedel algoritmo Blowfish desarrollado por Bruce Schneier y el algoritmo Rijndael,desarrollado por dos criptógrafos belgas Joan Daemen y Vincent Rijmen. De todos ellosganó el concurso Rindael que paso a convertirse en el AES (Advanced EncryptionSt d d)Standard).

Pág. 39 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

En la Figura se muestran algunos de estos algoritmos avanzados y una comparativa deEn la Figura se muestran algunos de estos algoritmos avanzados y una comparativa develocidades de algunos de ellos.

Pág. 40 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

En el cifrado convencional la clave usada para las funciones de cifrado y descifrado es la misma.Esta no es una condición estrictamente necesaria en los modelos de cifrado Así es posibleEsta no es una condición estrictamente necesaria en los modelos de cifrado. Así es posibledesarrollar un algoritmo criptográfico que utilice dos claves: una clave para las funciones decifrado y otra clave para las funciones de descifrado. Además estos algoritmos tienen dosimportantes características: Es inviable determinar la clave de descifrado con sólo el conocimientodel algoritmo de cifrado y la clave de cifrado. En algunos algoritmos cualquier clave puede usarsepara el cifrado y la otra para el descifrado, siendo por tanto reversibles.

En el cifrado de clave pública son esenciales los siguientes aspectos: Cada entidad par del sistemafinal en la red genera un par de claves para ser utilizadas en las funciones de cifrado y descifradode datos Cada entidad publica una de estas dos claves de cifrado depositándola en un registrode datos. Cada entidad publica una de estas dos claves de cifrado depositándola en un registropúblico o fichero. Esta es la denominada clave pública. La clave asociada es la clave privada(también llamada secreta). Si una entidad A desea enviar un mensaje a otra entidad B, cifra elmensaje usando la clave pública de la entidad B. Cuando la entidad B recibe el mensaje, lodescifra usando la clave privada de la entidad B. Ningún otra entidad puede descifrar el mensaje,ya que sólo la entidad B conoce su clave privada.

Con este modelo todos los participantes tienen acceso a las claves públicas. Las claves privadasson generadas localmente y están siempre bajo el control de la entidad que las generó y, por tanto,no son distribuidas. En la medida que un sistema controla su clave privada la comunicación esno son distribuidas. En la medida que un sistema controla su clave privada la comunicación essegura. En cualquier momento un sistema puede cambiar su clave privada y publicar la clavepública asociada para reemplazar su vieja clave pública.

Con este modelo todos los participantes tienen acceso a las claves públicas. Las claves privadasson generadas localmente y están siempre bajo el control de la entidad que las generó y, por tanto,no son distribuidas. En la medida que un sistema controla su clave privada la comunicación essegura. En cualquier momento un sistema puede cambiar su clave privada y publicar la clavepública asociada para reemplazar su vieja clave pública.

Pág. 41 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Hay otra forma de utilizar el modelo de clave pública. Así se puede considerar elsiguiente escenario: La entidad A prepara una unidad de datos, la cifra con su propiaclave privada y luego cifra el resultado con la clave pública de la entidad B. Del otro ladola entidad B usa primero su clave privada y luego la clave pública de la entidad A en unadoble función de descifrado. Ya que la unidad de datos viene cifrada con la clave secretade la entidad A sólo podría venir de la propia entidad A. Ya que fue cifrado con la clavepública de la entidad B sólo puede ser leído por dicha entidad (B). Con esta técnicacualquiera dos estaciones puede en cualquier momento establecer una comunicaciónsegura sin tener que realizar una distribución de claves y asegurando además con estesegura sin tener que realizar una distribución de claves y asegurando además con estemecanismo un servicio de confidencialidad y autenticación. Volveremos a este esquemaal hablar de los mecanismos de firma digital.

La principal desventaja del cifrado de clave pública comparada con el cifradoconvencional es que los algoritmos son mucho más lentos y complejos. Esto hace que elmodelo de clave publica se utilice cifrar/descifrar cantidades de datos muy pequeñas. Engeneral, como se verá más adelante se utilizará para distribuir claves de sesión y parafirmar resúmenes de datos.

En resumen, se puede decir que el modelo de clave pública abarca los siguientes aspectos:Un algoritmo para realizar las funciones de cifrado/descifrado y un par de claves, la clavepública y la privada. Las claves públicas son dadas a conocer al resto de las entidades delmodelo. Las claves privadas son sólo conocidas por las entidades que las generaron. Lasclaves son reversibles. El conocimiento del mensaje cifrado y el algoritmo decifrado/descifrado deben ser insuficientes para conocer la otra clave del par.

Pág. 42 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

En 1976 Diffie y Hellman describieron el primer criptosistema de clave pública conocidocomo el cambio de cla e de Diffi H ll q e tili aba n cla e doble comp esta porcomo el cambio de clave de Diffie-Hellman que utilizaba un clave doble compuesta poruna componente pública y una privada.

Sin embargo el más extendido de los sistemas de clave pública fue el desarrollado porRivest-Shamir-Adleman (Iniciales de RSA) en el MIT en 1977 conocido como RSA. Elesquema Rivest-Shamir-Adleman (RSA) ha sido considerado desde entonces como laúnica técnica aceptada mundialmente e implementado de algoritmo de cifrado de clavepública. En este modelo la clave pública y la privada están compuestas por un exponentey un módulo que es producto de dos números primos grandes. La fiabilidad del sistema sey un módulo que es producto de dos números primos grandes. La fiabilidad del sistema sebasa en que si los números primos se escogen lo suficientemente grandes, el proceso defactorización del producto es inabordable en un tiempo razonable, gracias a ello, ladifusión de la componente pública no pone en peligro a la privada. El algoritmo decifrado RSA es reversible, es decir, además de permitir cifrar con clave pública ydescifrar con la clave privada, permite cifrar con la clave privada y descifrar con lapública.

La naturaleza de estos algoritmos es completamente diferente a los algoritmos de cifradosimétrico. Es por ello que hoy en día con la potencia de computación actual se consideraque las longitudes de clave RSA deberían tener al menos 1024 bits. Así idealmente unalongitud de clave de 4096 bits se considera hoy en día segura.

Pág. 43 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

La función hash forma parte de los mecanismos de intercambio de autenticación y, pori i t i i i d t ti ióconsiguiente, va a proporcionar servicios de autenticación.

El objetivo de una función hash es producir una huella dactilar de un fichero, un mensajeu otro bloque de datos. Para que sea útil para la autenticación una función hash H debe detener las siguientes propiedades: La función H puede ser aplicada a un bloque decualquier tamaño; La función H produce una salida de longitud fija. .La función H(x) esrelativamente fácil de calcular para un x dado, haciendo práctica la implementaciónhardware y software; Para un código dado m, es imposible computacionalmente encontrarun x tal que H(x)=m; Para un bloque dado x, es imposible computacionalmente encontrarun x tal que H(x) m; Para un bloque dado x, es imposible computacionalmente encontrarun “y”. tal que H(y)=H(x);.Es computacionalmente imposible encontrar una pareja (x,y)tal que H(x)=H(y).

Además de proporcionar autenticación, un resumen del mensaje también proporcionaintegridad de datos. Lleva a cabo la misma función que la secuencia de comprobación detrama: si se altera algún bit accidentalmente en el tránsito, el resumen del mensajedetectará el error.

Pág. 44 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Dos algoritmos hash ampliamente utilizados son el Message Digest 5 (MD-5) y el SecureHash Algorihm (SHA) El algoritmo MD5 (RFC 1321) fue desarrollado por Ron Rivest enHash Algorihm (SHA). El algoritmo MD5 (RFC 1321) fue desarrollado por Ron Rivest enel MIT. Este algoritmo toma como entrada un mensaje de longitud arbitraria y produce unresumen del mensaje de 128 bits; la entrada es procesada en bloques de 512 bits. Elalgoritmo SHA fue desarrollado por el National Institute of Standars and Technology(NIST) y publicado como estándar federal (FIPS PUB 180) en 1993. Este algoritmo tomacomo entrada un mensaje de longitud máxima bits y produce un resumen del mensaje de160 bits.

SHA 2 es una mejora de la versión SHA-1 proporcionando longitudes de salida de 256 bitsSHA 2 es una mejora de la versión SHA 1 proporcionando longitudes de salida de 256 bitsprocesando la entrada en bloques de 256/512 bits.

SHA 3 es un nuevo estándar de un nuevo algoritmos hash que proporciona longitudes desalida de 512 bits procesando la entrada en bloques de 1600 bits. Este algoritmo fue elganador del concurso público NIST New Cryptographic Hash Algorithm 2012

Pág. 45 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

La función hash se puede utilizar sola o en combinación con otros mecanismos deseg ridad como el mecanismo de cifrado asimétrico para proporcionar distintos ser iciosseguridad como el mecanismo de cifrado asimétrico para proporcionar distintos serviciosde seguridad.

En el ejemplo de la figura se muestra un escenario en el intervienen dos entidades A y Bque forman parte de un modelo de clave pública. Asumimos en este ejemplo que laentidad B conoce la clave pública de A. En este ejemplo la entidad A construye unmensaje “M” y se lo envía a la entidad B junto con un bloque criptográfico. Dicho bloqueestá construido haciendo el hash del mensaje “M” enviado en claro y cifrando elresultado con su clave privada.resultado con su clave privada.

La entidad B recibe el mensaje y el bloque criptográfico y hace las siguientesoperaciones: Calcula el hash del mensaje en claro. Descifra el bloque criptográficoaplicando la clave pública de A. Finalmente comprueba si el resultado de ambasoperaciones coincide. Si el resultado coincide la entidad B puede asegurar que el mensajele ha llegado integro. Si un intruso hubiera modificado los bits del mensaje en clarohabría sido incapaz de cifrar con la clave privada de A el nuevo resumen. Es decir, nohabría sido capaz de generar el bloque criptográfico.

La entidad B se asegura además de la autenticación del mensaje recibido. Sólo ha podidoser A quien genere el bloque criptográfico, puesto que solo A tiene la clave privada de A.Finalmente, si existe un tercera identidad que pueda acreditar la claves publica/privada deA, entonces la autenticación tiene valor probatorio, y por consiguiente se incorporar elservicio de no repudio.

Con este intercambio de autenticación garantizamos la integridad, la autenticación y el norepudio de la información.

Pág. 46 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

En el ejemplo de la Figura se mantiene el escenario de la figura anterior aunque se introducenciertos cambios en los mecanismos proporcionando también algún cambio en los serviciosciertos cambios en los mecanismos proporcionando también algún cambio en los serviciosobtenidos. Una de las diferencias es que no utilizamos cifrado de clave pública.

En este ejemplo la entidad A construye un mensaje “M” y se lo envía a la entidad B junto con unbloque criptográfico. Ahora dicho bloque es diferente del caso anterior. En concreto, estáconstruido haciendo un hash del mensaje “M” enviado en claro y una clave SAB denominada“Clave de Autenticación”. La clave SAB se supone que ha sido previamente distribuida a lasentidades A y B y sólo a ellas.

El proceso de generación del bloque criptográfico es más rápido que en el caso anterior ya queh h if l it d l úbli N b t t i d l ú i i d lahora no hay que cifrar con algoritmos de clave pública. No obstante se pierde algún servicio de los

proporcionados en el ejemplo de la figura anterior. Así la entidad B recibe el mensaje y el bloquecriptográfico y hace las siguientes operaciones: Calcula el hash del mensaje en claro junto con laclave SAB. y comprueba si el coincide con el hash recibido.

Si el resultado coincide la entidad B puede asegurar que el mensaje le ha llegado integro. Si unintruso hubiera modificado los bits del mensaje en claro habría sido incapaz de construir un nuevobloque criptográfico puesto que necesitaría la clave SAB que por hipótesis sólo conocen A y B.

La entidad B se asegura además de la autenticación del mensaje recibido. Sólo ha podido ser Aquien genere el bloque criptográfico, puesto que solo A tiene la clave SAB. El servicio de no repudiono estaría soportado a no ser que se pudiera acreditar ante una tercera entidad la distribución de laClave de Autenticación.

Esta forma de incorporar el servicio de autenticación e integridad a las unidades de datos esampliamente utilizado en internet. Esta técnica es la que se ha adoptado para proporcionar serviciosde autenticación en el protocolo IPSEC, IPv6 y también ha sido especificada para el protocolo degestión SNMPv2.

En resumen con este intercambio de autenticación garantizamos la integridad, la autenticación de la

Pág. 47 12/04/2018 Luis Mengual (C)

g g ,información.

Introducción a la Seguridad en Sistemas Distribuidos

Un esquema básicamente igual al anterior es el que aparece en esta figura. El “Código deA t ti ió d j ” es na f nción h h q e toma como parámetro na cla eAutenticación de mensajes es una función hash que toma como parámetro una clave yun mensaje. Funcionalmente es equivalente a hacer un hash conjunto del mensaje y laClave de Autenticación. Por consiguiente, con este esquema se obtienen los mismosservicios de autenticación e integridad que en el esquema anterior.

Pág. 48 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Un esquema avanzado de mecanismos y servicios de seguridad aparece descrito en estaFigura En este esquema la entidad A construye un mensaje “M” y se lo envía a la entidadFigura. En este esquema la entidad A construye un mensaje M y se lo envía a la entidadB junto con un bloque criptográfico. Dicho bloque es un código de autenticacióngenerado a partir del mensaje y una clave de Autenticación “K1” previamente distribuidaentre las entidades A y B. El mensaje y el bloque criptográfico van a su vez protegidospor un algoritmo de cifrado simétrico concertado entre las entidades que utiliza la clavesimétrica “K2”. Esta segunda clave, también fue previamente distribuida a las entidades.

La entidad B recibe un bloque de información cifrada y hace las siguientes operaciones:Descifra con la clave “K2” el bloque recibido; Identifica el mensaje en claro y el bloqueDescifra con la clave K2 el bloque recibido; Identifica el mensaje en claro y el bloquecriptográfico interior; Calcula el código de autenticación del mensaje utilizando la clavede autenticación “K1”; Finalmente, comprueba si el código de autenticación calculadocoincide con el recibido. Si el resultado es afirmativo la entidad B puede asegurar que elmensaje le ha llegado integro. Si un intruso hubiera modificado los bits del mensaje enclaro habría sido incapaz de construir un nuevo bloque criptográfico puesto quenecesitaría la clave K1 que por hipótesis sólo conocen A y B. Pero además el intruso noes capaz de acceder a los contenidos del mensaje en claro, puesto que van cifrados con unalgoritmo simétrico Por consig iente con este esq ema hemos implementado losalgoritmo simétrico. Por consiguiente, con este esquema hemos implementado losservicios de integridad, autenticación y adicionalmente confidencialidad.

El esquema de la figura es el esquema más utilizado hoy en día para la distribución deinformación por redes potencialmente inseguras como puede ser Internet.

Pág. 49 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Los mecanismos de autenticación protegen los datos de usuario intercambiados por lasentidades pares de los ataq es de n intr so e terno pero p eden no protegerlos de lasentidades pares de los ataques de un intruso externo pero pueden no protegerlos de laspropias entidades pares. Así por ejemplo una entidad receptora podría inventarse unaunidad de datos añadir un código de autenticación y decir que viene de la entidad emisoracon la que comparte la clave secreta.

En estas situaciones es necesario algo más que los mecanismos de autenticación, es porello que surgen los mecanismos de firma digital. Estos tienen las siguientes propiedades:Debe ser posible verificar al autor y los datos y el tiempo de la firma; Debe ser posibleautentificar los contenidos de los mensajes en el tiempo de la firma; La firma debe estarautentificar los contenidos de los mensajes en el tiempo de la firma; La firma debe estardisponible por las tres parte para resolver disputas.

Todos los modelos descritos hasta ahora respecto a la firma digital tienen un punto encomún: la seguridad del modelo depende de la clave privada del emisor. Ahora bien laentidad emisora puede denegar una unidad de datos alegando que la clave privada seperdió o alguien la robó. Para solventar este problema se pueden emplear controlesadministrativos relativos a la seguridad de las claves secretas con la presencia de unárbitro. Estos son los denominados mecanismos de firma digital arbitrados. Existen unagran variedad de modelos de firma arbitrada al igual que modelos de firma directa. Entérminos generales ellos operan de la siguiente forma: Cada unidad de datos firmado poruna entidad emisora S dirigido a una entidad receptora R debe pasar primero por unaentidad A que opera como arbitro que verifica la unidad de datos y su firma (verifica elorigen y el contenido). La unidad de datos es entonces fechada y enviada a la entidadreceptora R con la indicación de que ha sido verificada por una entidad que opera comoarbitro. La presencia de la entidad A resuelve el problema inherente en modelos de firmadirecta en los que una entidad S puede negar haber enviado el mensaje

Pág. 50 12/04/2018 Luis Mengual (C)

directa en los que una entidad S puede negar haber enviado el mensaje.

La entidad que opera como árbitro juega un papel crucial en este tipo de modelo ya quetodas las partes deben tener un grado de fiabilidad respecto a que el mecanismo dearbitraje funciona correctamente

Introducción a la Seguridad en Sistemas Distribuidos

Los mecanismos de autenticación protegen los datos de usuario intercambiados por las entidadespares de los ataques de un intruso externo pero pueden no protegerlos de las propias entidadespares de los ataques de un intruso externo pero pueden no protegerlos de las propias entidadespares. Así por ejemplo una entidad receptora podría inventarse una unidad de datos añadir uncódigo de autenticación y decir que viene de la entidad emisora con la que comparte la clavesecreta. De aquí surge el mecanismo de firma digital.

Ya se ha comentado que el modelo de cifrado de clave pública no siempre es útil para proporcionarla autenticación de los datos. Sin embargo hay un método de usar el cifrado de clave pública paraproporcionar un mecanismo de firma digital la cual incluye autenticación.

La figura ilustra un ejemplo de uso del modelo de cifrado de clave pública para proporcionar eli d fi di it l H t t l l it d if d d l úblimecanismo de firma digital. Hay que tener en cuenta que los algoritmos de cifrado de clave pública

pueden ser empleados en cualquier orden. Es decir una entidad puede cifrar con la clave pública ydescifrar con la clave privada o cifrar con la privada y descifrar con la pública. Este segundo casosería el representado en la figura:

La entidad A cifra una unidad de datos con la clave privada de A y se lo manda a la entidad B. Laentidad B puede descifrar el mensaje utilizando la clave pública de A. Puesto que la unidad dedatos fue cifrada usando la clave privada de A (y sólo A la conoce) esto quiere decir que el cifradodel mensaje entero sirve de mecanismo de firma digital. Además no es posible alterar la unidad dedatos sin acceder a la clave privada de A con lo cual la unidad de datos es a la vez autenticadadatos sin acceder a la clave privada de A con lo cual la unidad de datos es a la vez autenticada.

En el modelo anterior la unidad de datos completa es cifrada. Otras opciones serían cifrar unaporción mínima de la unidad de datos que podría incluir la dirección origen y destino, un número desecuencia y un código de redundancia. Si una porción de la unidad de datos es cifrada con la clavesecreta del emisor, sirve como firma que verifica el origen, contenido y secuenciamiento.

En la práctica debido a la lentitud de los algoritmos de cifrado asimétrico el cifrado con clavesimétrica siempre se limita a un resumen (hash) de la información a mandar. Nunca se aplica a losdatos en total.

Pág. 51 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

La ley de la firma electrónica distingue tres tipos de firma: la firma electrónica básica,avanzada y la reconocida.

A efecto de desarrollo de aplicaciones telemáticas la mas utilizada es la firma electrónicaavanzada. Esta permite con validez legal la firma de documentos como puede ser unadeclaración de Renta o interactuar con la Administración para la descarga y consulta dedocumentos personales.

La firma electrónica reconocida tiene respecto de los datos consignados en formaelectrónica el mismo valor que la firma manuscrita en relación con los consignados enpapel.

Pág. 52 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Uno de los apartados contemplados en la Recomendación X.800 es una propuesta debi ió d l i i d id d l di ti t d it tubicación de los servicios de seguridad en las distintas capas de una arquitectura

estructurada de comunicaciones. En la figura se muestra esta propuesta.

Pág. 53 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Pág. 54 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

El servicio de autenticación debe de proporcionar garantía de la identidad de las entidadesq e participan en na com nicación Es decir na entidad debe poder erificar la identidadque participan en una comunicación. Es decir, una entidad debe poder verificar la identidadde la otra entidad modo que pueda estar segura que la otra entidad es quien reclama ser. Enel siguiente ejemplo, que involucra a dos entidades A y B, la criptografía de clave públicaes usada para verificar la identidad.

Supóngase que una entidad A quiere autentificar a una entidad B. La entidad B tiene unpar de claves, una pública y otra privada. Hacemos la hipótesis de que la entidad A conocela clave pública de la entidad B (bien sea porque se la ha dado la entidad B, en un procesoanterior, o bien porque la entidad A la ha recogido de un directorio público).anterior, o bien porque la entidad A la ha recogido de un directorio público).

El proceso de autenticación empieza cuando la entidad A genera un número aleatorio y selo envía a la entidad B. Esta última entidad utiliza su clave privada para cifrar el mensajealeatorio y se lo envía de vuelta a la entidad A.

La entidad A recibe el mensaje y lo descifra usando la clave pública de B. La entidad Acompara el mensaje descifrado con el mensaje originalmente mandado a la entidad B. Sicoinciden la entidad A esta sabe que está hablando con la entidad B. Un intruso nuncapodría conocer la clave privada de la entidad B, y por tanto, no podría cifrarpodría conocer la clave privada de la entidad B, y por tanto, no podría cifraradecuadamente el mensaje aleatorio enviado por la entidad A

Pág. 55 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

No es buena idea cifrar un mensaje con la clave privada propia y enviárselo a otraentidad Esto es debido a q e los algoritmos de cifrado asimétricos son lentos además elentidad. Esto es debido a que los algoritmos de cifrado asimétricos son lentos y además elvalor cifrado puede ser usado por un intruso.

En vez de cifrar un mensaje con la clave privada se suele cifrar un resumen del mensaje.El resumen es difícilmente reversible. Alguien que tratara de suplantar a la entidad B nopodría obtener el mensaje original a partir del resumen.

Usando el resumen la entidad B puede protegerse a si misma. La entidad B calcula elresumen del mensaje aleatorio enviado por la entidad A y cifra el resultado con su claveprivada La entidad B envía el resumen firmado de vuelta a la entidad Aprivada. La entidad B envía el resumen firmado de vuelta a la entidad A.

La entidad A calcula el mismo resumen y lo compara con el valor resultante de aplicar laclave pública de B al resumen cifrado recibido. Si ambos valores coinciden la entidad Bes autentificada.

La técnica así descrita es conocida como firma digital. La entidad B ha firmado unmensaje generado por la entidad A. Cuando entidad B utiliza este protocolo, sabe quémensaje está enviando y no le importa firmarlo. La entidad A puede fácilmente verificarque la entidad B es quien dice ser y que no ha firmado nada que no quisieraque la entidad B es quien dice ser y que no ha firmado nada que no quisiera.

Pág. 56 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

El protocolo de seguridad planteado en la figura anterior (conjunto de intercambios demensajes entre entidades distrib idas con el objeto de proporcionar ser icios demensajes entre entidades distribuidas con el objeto de proporcionar servicios deseguridad) tiene todavía algunos problemas:

Con este protocolo cualquiera puede hacerse pasar por la entidad B. Todo lo que senecesita es tener una clave pública y otra privada.

Un intruso puede engañar a la entidad A diciendo que es la entidad B. Para ello se lepuede proporcionar a la entidad A una clave pública diciendo que es la clave pública deB. Además luego se puede firma un mensaje con la clave privada par de la anterior y laentidad A no tiene forma de comprobar que no está hablando con la entidad B legítimaentidad A no tiene forma de comprobar que no está hablando con la entidad B legítima.

Para resolver este problema se ha estandarizado un documento digital llamado“certificado” que liga la identidad de una entidad con su clave pública, de forma parecidaa como un carnet de identidad o una tarjeta de crédito está ligada a una firma manuscrita.

Un certificado contiene el nombre del emisor del certificado, la entidad para quien elcertificado es emitido, la clave pública del usuario, un sello de tiempo, etc.

El certificado a su vez es firmado usando la clave privada del emisor del certificado.Cualquiera conoce la clave pública del emisor del certificado (es decir, el emisor delcertificado tiene a su vez un certificado y así sucesivamente..). Los certificados son unaforma estándar de ligar una clave pública a una identidad.

Pág. 57 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Los certificados digitales, también llamados certificados de clave pública son definidos porun estándar ITU X 509 Un certificado es el equivalente digital de un pasaporte o de unun estándar ITU X.509. Un certificado es el equivalente digital de un pasaporte o de uncarnet de conducir.

El certificado y la correspondiente clave privada identifican a una entidad para cualquieraque desee probar su identidad.

Haciendo una comparación con una tarjeta física, si se quiere realizar una compra contarjeta de crédito en unos grandes almacenes se tiene que demostrar que se puede crear unafirma como la que aparece en la parte posterior de la tarjeta.

Sobre una red telemática un certificado juega el mismo papel que un carnet de conducir ouna tarjeta de crédito: Establece tu identidad. Los servidores solo pueden ser configuradospara permitir el acceso solo a usuarios con particulares certificados; de forma similar, losclientes pueden ser configurados para confiar en servidores que presentan ciertoscertificados. Además los servidores pueden obligar a que los clientes firmen digitalmentealguna información

Pág. 58 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Un certificado X.509 es típicamente un documento digital que consta de la siguienteinformación:información:

Número de serie: Un número único generado por la autoridad de certificación parapropósitos administrativos.

Identificador del algorimo de firma: Identifica como se ha generado la firma delcertificado.

Emisor (Issuer Name): Un nombre que identifica de forma unívoca a la autoridad decertificación que firma el certificado.

Período de validez: fechas entre las cuales es vñalido el certificado

Sujeto (subject Name): Contiene los datos que identifican al sujeto titular. Estos datosestán expresados en notación DN (Distinguished Name), donde un DN se compone a suvez de diversos campos, siendo los más frecuentes los siguientes; CN (Common Name),OU (Organizational Unit), O (Organization) y C (Country). El CN podría ser el nombrede un usuario, una URL , una dirección de correo electrónico etc.

Clave pública del Sujeto (Subject´s public key): Clave pública del propietariop j ( j p y) p p p

Firma del emisor del certificado: la firma digital de la autoridad de certificación de lacual deriva la autenticidad del certificado. La firma contiene una función hash de todoslos campos anteriores cifrado con la clave privada de la Autoridad de Certificación queemite el certificado

Pág. 59 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Un cliente cuando se conecta a un sitio Web va a recibir un certificado que debe protegerel sitio eb al q e se conecta el cliente El cliente debería erificar q e el certificado q eel sitio web al que se conecta el cliente. El cliente debería verificar que el certificado querecibe tiene en el campo “sujeto” la dirección URL a la que se está conectando.

Una vez comprobado este aspecto debe de comprobar respecto del certificado recibido losiguiente:

.¿Está la fecha de hoy dentro del período de validez? El cliente verifica el período devalidez del certificado del servidor. Si la fecha y el tiempo actual están fuera del rango, elproceso de autenticación no continúa.

.¿Es la CA (Certification Authority) que firma el certificado una CA fiable? Cada clientemantiene una lista de CA fiables. Esta lista determina que certificado de servidor un clienteaceptará.

.¿La clave pública de la CA (CA que firma) valida la firma digital que aparece en elcertificado? El cliente usa la clave pública del certificado de la CA que firma (el cual estáen su lista de las CA fiables) para validar la firma digital del certificado recibido delservidor. Si la información en el certificado del servidor ha cambiado ya que fue firmadapor la CA o si la clave pública del certificado de la CA no corresponde a la clave privadapor la CA o si la clave pública del certificado de la CA no corresponde a la clave privadausada por la CA para firmar el certificado del servidor, el cliente no autentificará laidentidad del servidor. Si la firma digital de la CA puede ser validada, el cliente hadeterminado que el certificado del servidor es válido.

Pág. 60 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Los servidores pueden ser configurados para solicitar una autenticación expresa a un cliente.Cuando un servidor está configurado de este modo el cliente envía al servidor tanto su certificadoCuando un servidor está configurado de este modo el cliente envía al servidor tanto su certificadocomo un conjunto de datos firmados digitalmente. El servidor usa los datos digitalmente firmadospara autentificar la identidad del cliente.

Los pasos que sigue el servidor para autentificar la identidad de un cliente son los siguientes.

-¿La clave pública del usuario valida la firma digital del usuario? El servidor verifica que lafirma digital del usuario puede ser validada con la clave pública del certificado. Si es así elservidor ha establecido que la clave pública que se afirma pertenece a el cliente coincide con elpar clave privada usado para crear la firma y que los datos no han sido manipulados.

.¿Está la fecha de hoy dentro del período de validez? El servidor verifica el período de validezdel certificado. Si la fecha y el tiempo actual están fuera del rango, el proceso de autenticación nocontinúa.

.¿Es la CA (Certification Authority) que firma el certificado una CA fiable? Cada servidor SSLmantiene una lista de certificado de CA fiables. Esta lista determina que certificados el servidoraceptará. Los administradores pueden controlar que certificados son seguros y cuales no lo sondentro de sus organizaciones controlando la lista de certificados de CA mantenidos por clientes yservidores.

.¿La clave pública de la CA (CA que firma) valida la firma digital que aparece en el certificado?El servidor usa la clave pública del certificado de la CA que firma (el cual está en su lista de lasCA fiables) para validar la firma digital del certificado recibido del servidor. Si la información enel certificado del servidor ha cambiado ya que fue firmada por la CA o si la clave pública delcertificado de la CA no corresponde a la clave privada usada por la CA para firmar el certificadodel servidor, el servidor no autentificará la identidad del usuario.

-¿Está el certificado del usuario listado en la entrada LDAP (Lightweight Directory AccessProtocol), para el usuario? Este paso opcional proporciona un modo para que el administrador

Pág. 61 12/04/2018 Luis Mengual (C)

) p p p p p p qdel sistema compruebe que el certificado recibido es del usuario que se esta conectando.

- ¿Está el cliente autorizado a acceder a los recursos pedidos? El servidor verifica a que recursosse le permite acceder al cliente de acuerdo a la lista de control de acceso del servidor y estableceuna conexión.

Introducción a la Seguridad en Sistemas Distribuidos

Utilizando la tecnología de certificados, ahora se puede examinar el certificado recibidode la entidad B para verificar su identidad. De esta forma el protocolo anterior se puedemodificar de la siguiente forma:

Ahora, cuando la entidad A recibe el mensaje 2 de la entidad B, examina el certificado yverifica la firma: Esto significa que se aplica una función resumen del texto clarorecibido, se descifra el bloque de firma con la clave pública del emisor del certificado(que se supone que se tiene) y, finalmente, se comparan los valores resultantes.Adicionalmente se comprueba que el sujeto del certificado es la entidad B. Ahora despuésd t b i l tid d A tá l l úbli ibid lde estas comprobaciones la entidad A está segura que la clave pública recibida en elcertificado es la clave pública de la entidad B.

La entidad B continua con el mismo proceso de antes haciendo un resumen de su mensajey mandándoselo a la entidad A firmado. La entidad A puede verificar el resumen delmensaje de la entidad B usando la clave pública tomada del certificado y verificando elresultado.

¿Qué pasaría si un intruso tuviera el certificado de la entidad B y la quisiera suplantar?.L i í l i t d í fi i ú d t l lLo que ocurriría es que el intruso no podría firmar ningún dato ya que no posee la claveprivada de la entidad B. Si la dispusiera sería la entidad B.

Pág. 62 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Una vez que la entidad A ha autentificado a la entidad B, puede enviar a un mensajeconfidencial a la entidad B:confidencial a la entidad B:

La forma de hacerlo es enviando previamente a la entidad B una clave de sesión simétricacifrada con la clave pública de la entidad B. De esta forma nadie más que la entidad Bpuede recoger la clave de sesión enviada por la entidad A.

Esta técnica de distribución de claves de sesión es la más común en Internet Estas clavesson claves de un algoritmo simétrico (como DES, RC4 o IDEA).

Una vez distribuida la clave de sesión de forma segura entre entidades se puedenintercambian mensajes confidenciales.

Sin embargo, ahora surge otro problema: Un intruso podría modificar los bloques cifradosque envía una entidad. La otra entidad podría creerse que ese bloque alterado fue enviadopor la otra entidad. Hay un problema de integridad y autenticación de la información.

Pág. 63 12/04/2018 Luis Mengual (C)

Introducción a la Seguridad en Sistemas Distribuidos

Para proteger la información en transito de la alteración por un intruso y para garantizar laa tenticación de la misma se hacen los sig ientes cambios en el protocolo:autenticación de la misma se hacen los siguientes cambios en el protocolo:

En el quinto intercambio la entidad A envía a la entidad B junto con la clave de sesiónsimétrica una clave de autenticación. Las dos claves se envían cifradas con la clavepública de la entidad B para garantizar la confidencialidad de las mismas.

Una vez distribuidas de forma segura las claves de sesión y autenticación entre las dosentidades, cualquiera de ellas puede enviar sus datos protegidos y autenticados:

A cada mensaje se le añade un bloque criptográfico formado por un resumen (hash) delmensaje concatenado con una clave de autenticación. El conjunto del mensaje y el bloquecriptográfico se cifran con la clave de sesión.

La entidad receptora descifrará el mensaje y el bloque criptográfico y hará las siguientescomputaciones: calculará el resumen del mensaje concatenado con la clave deautenticación y lo comparará con el resumen recibido. Si ambos valores coincidensignifica que ningún intruso ha alterado la información y que además esta informaciónviene de la entidad par (la entidad que tiene la clave de autenticación).

Si un intruso alterase la información en transito la otra entidad se enteraría porque elcódigo de autenticación de mensajes no coincidiría con el recibido. El intruso seríaincapaz de alterar la información y generar un código de autenticación nuevo ya quedesconoce la clave de autenticación compartida entre las entidades.

Pág. 64 12/04/2018 Luis Mengual (C)