Trabajo practico Nro. 3carteleras.webcindario.com/tpr3-unlz.pdf · Trabajo practico Nro. 3...

27
Página 1 de 27 UNIVERSIDAD NACIONAL DE LOMAS DE ZAMORA Sistemas distribuidos Trabajo practico Nro. 3 04/10/2008

Transcript of Trabajo practico Nro. 3carteleras.webcindario.com/tpr3-unlz.pdf · Trabajo practico Nro. 3...

Página 1 de 27

UNIVERSIDAD NACIONAL DE LOMAS DE ZAMORA

Sistemas distribuidos Trabajo practico Nro. 3

04/10/2008

Sistemas distribuidos 2008

Página 2 de 27

Conceptos

Amenazas Una amenaza es una violación potencial de la seguridad. No es necesario que la violación ocurra para que la amenaza exista. Las amenazas “explotan” vulnerabilidades.

Existen dos tipos de Amenazas:

!"Naturales: incendios, terremotos, etc.

!"Humanas:

• Maliciosas (pueden ser externas o internas a la organización): Los maliciosos entran a los sistemas para apropiarse de datos o información por intereses económicos, o bien con ánimo de dañar o destruir recursos. El acceso no autorizado de significa siempre una violación de la confidencialidad y con frecuencia acarrea violaciones de la integridad y de la disponibilidad.

• No Maliciosas: provienen típicamente de empleados con poca formación o negligentes que no han seguido los pasos para proteger sus contraseñas, asegurar adecuadamente sus ordenadores o actualizar con la frecuencia debida el programa antivirus. Las amenazas no intencionadas también implican a veces a los programadores o personal de proceso de datos cuando no se siguen las normas y procedimientos de seguridad establecidos, cuando existen. Este entorno operativo es especialmente sensible ya que sencillos errores en un programa pueden afectar a la integridad de la aplicación global y de cualquier otra aplicación con la que comparta información en común.

El objetivo es dar garantías en:

!"Confidencialidad: Se garantiza que la información es accesible sólo a aquellas personas autorizadas.

!"Integridad: Se salvaguarda la exactitud y totalidad de la información y los métodos de procesamiento y transmisión.

!"Disponibilidad: Se garantiza que los usuarios autorizados tienen acceso a la información y a los recursos relacionados toda vez que lo requieran.

Sistemas distribuidos 2008

Página 3 de 27

Ataques Acción que puede violar los sistemas y mecanismos de seguridad de un sistema de información. Según el efecto que producen, se pueden dividir en: interrupción; interceptación y modificación, y por su modo de actuación pueden ser pasivos, si no modifican el estado del sistema, y activos, si lo alteran.

Seguridad de las Transacciones Electrónicas La seguridad en el comercio electrónico y específicamente en las transacciones comerciales es un aspecto de suma importancia. Para ello es necesario disponer de un servidor seguro a través del cual toda la información confidencial es encriptada y viaja de forma segura, ésto brinda confianza tanto a proveedores como a compradores que hacen del comercio electrónico su forma habitual de negocios.

Al igual que en el comercio tradicional existe un riesgo en el comercio electrónico, al realizar una transacción por Internet, el comprador teme por la posibilidad de que sus datos personales (nombre, dirección, número de tarjeta de crédito, etc.) sean interceptados por "alguien", y suplante así su identidad; de igual forma el vendedor necesita asegurarse de que los datos enviados sean de quien dice serlos.

Por tales motivos se han desarrollado sistemas de seguridad para transacciones por Internet: Encriptación, Firma Digital y Certificado de Calidad, que garantizan la confidencialidad, integridad y autenticidad respectivamente.

Los tipos de usuarios se pueden diferenciar dos grandes grupos:

!"Comercio entre empresas: posibles limitado, así permite utilizar tecnologías que no necesariamente han de ser estándares al alcance de cualquiera.

!"Comercio entre empresas y usuarios domésticos anónimos: El segmento de clientes de toda la red, en la mayoría de casos Internet, y únicamente está limitado geográficamente por los servicios de transporte del producto. Es conveniente utilizar sistemas estándares y muy extendidos.

Como en todas las transacciones, en el comercio electrónico intervienen varios agentes que se deben comunicar. Los agentes mínimos en un sistema de comercio electrónico son:

!"Comprador: Adquiere el producto o servicio.

!"Comerciante: Vende el producto o servicio

Sistemas distribuidos 2008

Página 4 de 27

!"Entidades y servicios financieros: Autorizan los pagos y realizan los movimientos de dinero entre comprador y comerciante.

Existen diversas formas de pago en el comercio electrónico que se pueden agrupar en cuatro familias:

!"Dinero electrónico

!"Sistemas de crédito y débito

!"Tarjetas de crédito y débito

!"Sistemas de micropagos

Sistemas distribuidos 2008

Página 5 de 27

Requisitos del comercio electrónico El principal requisito en una transacción de comercio electrónico es la seguridad, como en todas las transacciones que implican el manejo de dinero. Pero hay otros requisitos aconsejables para que los sistemas de comercio electrónico sean comparables a los de monedas y billetes, sino no se aplican puede que el comercio electrónico no sea atractivo para los usuarios. Estos son:

!"Anonimato: Con monedas o billetes la identidad del comprador no es conocida por los vendedores. Para poder mantener también en el comercio electrónico el derecho propio de los humanos a la intimidad, nadie excepto el banco propio deberían conocer la identidad del comprador y éste no debería conocer la naturaleza de la compra

!"Flexibilidad: Poder aceptar diferentes medios de pago para todas las situaciones posibles de usuarios de Internet.

!"Convertibilidad: Poder transformar los diferentes sistemas de pago sin necesidad de realizar un a compra, como pasa con las divisas y las cuentas de los bancos.

!"Eficiencia: El coste del sistema de comercio no debe ser mayor que el precio del producto o servicio.

!"Ser divisible: Como las monedas o billetes poder dividir la posibilidad de compra en fracciones más pequeñas.

!"Transferible: Poder pasar el poder de compra de una persona a otra sin necesidad de realizar una transacción, igual que se puede prestar o regalar el dinero tradicional.

El único sistema de pago que cumple todos los requisitos es el dinero electrónico

Los protocolos de seguridad más utilizados actualmente son: !"SSL/TLS: Es un protocolo de seguridad para cualquier aplicación de

Internet y, por lo tanto, se puede utilizar en el comercio electrónico. Está muy extendido y actualmente todos los navegadores comerciales lo implementan.

!"SET: Es un protocolo especialmente diseñado para el comercio electrónico con tarjetas de crédito. Actualmente se encuentra en su fase de desarrollo.

Sistemas distribuidos 2008

Página 6 de 27

Un caso particular del comercio electrónico es cuando la cantidad a pagar es más pequeña que los costes de transacción, en estos casos se deben utilizar sistemas especiales denominados de micropagos.

Diseño de Sistemas Seguros Los virus aparecen en mayor proporción en los sistemas de escritorio. En los sistemas más grandes, pueden aparecer otros problemas y se necesitan otros métodos para enfrentarlos. Saltzer y Schroeder (1975) han identificado varios principios generales que se pueden utilizar como una guía para el diseño de sistemas seguros. Algunas de sus ideas basadas en MULTICS son:

!"El diseño del sistema debe ser público: Pensar que el intruso no conocerá la forma del funcionamiento del sistema es engañar a los diseñadores.

!"El estado predefinido debe ser el de no acceso: Los errores en donde se niega el acceso válido se reportan más rápido que los errores donde se permite el acceso no válido.

!"Verifique la autorización actual: El sistema no debe verificar el permiso, determinar que el acceso está permitido y después abandonar esta información para su uso posterior. Muchos sistemas verifican el permiso al abrir un archivo y no después de abrirlo. Esto significa que un usuario que abra un archivo y lo tenga abierto por semanas seguirá teniendo acceso a él, incluso en el caso de que el propietario haya cambiado la protección del archivo.

!"Dé a cada proceso el mínimo privilegio posible: Si un editor solo tiene la autoridad para acceso al archivo por editar (lo cual se determina al llamar al editor), los editores con caballo de Troya no podrán hacer mucho daño. Este principio implica un esquema de protección de grado fino.

!"El mecanismo de protección debe ser simple, uniforme e integrado hasta las capas más bajas del sistema: El intento por dotar de seguridad a un sistema inseguro ya existente es casi imposible. La seguridad, al igual que lo correcto de un sistema, no es una característica que se pueda añadir.

!"El esquema elegido debe ser psicológicamente aceptable: Si los usuarios sienten que la protección de sus archivos implica demasiado trabajo, simplemente no lo protegerán. Sin embargo, ellos se quejarán en voz alta si algo sale mal.

Sistemas distribuidos 2008

Página 7 de 27

Criptografía Es el arte o ciencia de cifrar y descifrar información utilizando técnicas que hagan posible el intercambio de mensajes de manera segura que sólo puedan ser leídos por las personas a quienes van dirigidos. En ella existen muchos métodos pero los más generales son dos: los simétricos y los asimétricos, son los principales, la criptografía está muy o casi ligada totalmente alas áreas de ciencias exactas como lo son las matemáticas, física y TI.

Problema Existen algoritmos de encriptación inviolables mediante la tecnología actual, de manera que nadie, y esto incluye a los gobiernos y sus servicios de información, puede acceder al contenido de un mensaje cifrado. Ante esta situación, los gobiernos temen perder su capacidad de monitorización de las comunicaciones, y la respuesta adoptada por algunos estados es la restricción al uso de la criptografía en diferentes grados.

Usos de la Criptografía Hasta poco después de la Segunda Guerra Mundial, la criptografía fue una poderosa herramienta mantenida celosamente en secreto por los gobiernos. El origen de su uso se remonta la antigua Roma [Kahn], y jugó un papel crucial en varios conflictos bélicos. Quizás el ejemplo más reciente (y mejor documentado) sea la Batalla del Atlántico; en opinión de muchos historiadores, el éxito en la decodificación de los mensajes encriptados alemanes por parte de polacos y británicos pudo acortar en varios años la guerra, posibilitando el tránsito por el Atlántico de los convoyes aliados cargados de suministros entre Estados Unidos y Europa.

Con la publicación del artículo de Claude E. Shannon ``Communication Theory of Secrecy Systems'' en 1949, la criptografía pasó a engrosar la lista de campos cubiertos por la investigación científica, investigación que se caracteriza por realizarse de forma abierta, y muchas veces mediante la colaboración de investigadores de diferentes países, ignorando las fronteras políticas. Este carácter abierto ha provocado no pocos conflictos entre gobernantes y científicos, especialmente cuando éstos han participado en proyectos de investigación de posible utilidad militar.

Como punto final de este proceso, la explosión del uso de las redes informáticas y especialmente de Internet, ahora más allá del ámbito científico, ha disparado la demanda de herramientas criptográficas seguras por parte del público. Sin éstas, el desarrollo del comercio electrónico resultaría completamente imposible.

Sistemas distribuidos 2008

Página 8 de 27

Defensa El uso más evidente (y el más importante a lo largo de la Historia) ha estado relacionado con la defensa, y su importancia ha crecido a la par de la importancia de las telecomunicaciones en los conflictos bélicos.

Es algo fundamental para un ejército conocer los planes del enemigo, ocultar los propios e incluso poder confundir al bando contrario con órdenes falsas. La criptografía permite asegurar el secreto de los mensajes propios, analizar los ajenos y estudiar la posibilidad de falsificarlos. Por tanto, puede ser un arma realmente poderosa.

Privacidad Todo ciudadano en un estado democrático tiene derecho a la privacidad. Enviar por correo una carta en un sobre cerrado no es un acto que despierte sospechas, sino algo habitual. Se da por sentado que el correo es algo privado, y de hecho la violación de la correspondencia es un delito en la mayoría de los países.

Sin embargo, muchos creen que el correo electrónico es ``distinto'', y por ser ``distinto'' no tiene por qué estar sujeto a las mismas normas. Esto es un error.

Tanto una carta como un mensaje de correo electrónico, es una comunicación privada de persona a persona. Nadie tiene el derecho de interceptarla o conocer su contenido. En ambos casos, el canal de transmisión está fuera del control del remitente y el destinatario. En el primer caso, la carta es transportada por personas desconocidas para los interlocutores, y en el segundo caso el mensaje puede atravesar innumerables redes con políticas de seguridad que los usuarios del servicio desconocen, y sobre las cuales no tienen ningún control.

Desde el punto de vista del interés económico, el mercado emergente del comercio electrónico ofrece suculentas cifras de negocio para los próximos años, pero el desarrollo del comercio electrónico pasa por garantizar la privacidad y la seguridad de las transacciones comerciales realizadas a través de la red, algo imprescindible para las entidades financieras, comercios y usuarios.

Delincuencia Es obvio que los delincuentes pueden aprovechar las herramientas criptográficas en su beneficio, y que esto dificultará enormemente la tarea de las fuerzas de seguridad.

Sin embargo, existe una diferencia fundamental entre el delincuente (al menos el que tenga un cierto grado de sofisticación) y el ciudadano de a pie. Mientras en el caso del primero la propia vida (o al menos el éxito en las actividades ilegales que lleve a cabo) puede depender del uso de herramientas criptográficas, en el caso del segundo la situación es diferente.

Sistemas distribuidos 2008

Página 9 de 27

En muchos casos es ``solamente'' la privacidad lo que está en juego, y muchos usuarios no dedicarían demasiados recursos a protegerla.

Un delincuente destinará los recursos necesarios a la utilización de herramientas criptográficas si están a su alcance (no es difícil que esto sea así) y si es un delito emplear criptografía segura, muy probablemente será un delito menos grave que el tráfico de drogas, etc. Por lo tanto, su uso resulta rentable. A esto debe añadirse que existen multitud de formas para ocultar un mensaje encriptado, por lo que puede ser extraordinariamente difícil detectarlo.

Certificados El Certificado Digital es un documento firmado por una Autoridad Certificadora (AC). El documento contiene, principalmente, el nombre de un sujeto y su llave pública.

Si el Certificado es auténtico y confiamos en la AC, entonces, podemos confiar en que el sujeto identificado en el Certificado Digital posee la llave pública que se señala en dicho certificado. Así pues, si un sujeto firma un documento y anexa su certificado digital, cualquiera que conozca la llave pública de la AC podrá autenticar el documento

En una Red Un certificado digital también establece la identidad de un usuario en una red. Los servidores pueden ser configurados para permitir el acceso a usuarios con ciertos certificados Los clientes pueden ser configurados para confiar en servidores que presentan ciertos certificados

X.509 La primera versión apareció en 1988 y fue publicada como el formato X.509v1, siendo la propuesta más antigua para una infraestructura de clave pública (PKI) a nivel mundial. Esto junto con su origen ISO/ITU han hecho de X.509 el PKI más ampliamente utilizado. Más tarde fue ampliada en 1993 por la versión 2 únicamente en dos campos, identificando de forma única el emisor y usuario del certificado. La versión 3 de X.509 amplia la funcionalidad del estándar X.509.

X.509 da tres procedimientos alternativos para la autenticación en peticiones de servicio, mensajes o envío de información.

!"Autenticación a una vía (una transmisión)

!"Autenticación a dos vías (una transmisión + respuesta)

!"Autenticación a tres vías (una transmisión + respuesta + acuse de recepción)

Sistemas distribuidos 2008

Página 10 de 27

Control de Acceso Es un sistema electrónico a través del cual controlamos entradas y salidas y que nos permite conocer quién entra, cuándo entra y a dónde entra cada individuo.

Componentes: !"Tarjeta controladora: es la parte más importante del control de acceso

en la cual se hace la instalación de todos los periféricos y es la que realiza todos los procesos de control.

!"Lectoras y tarjetas: Son los dispositivos que deben sensar el tipo de información presentada en forma de tarjeta para ingresar o salir de algún lugar donde esté presente este dispositivo

!"Sensor: Este dispositivo es el encargado de notificarnos el estado de la puerta. Cerrada

!"abierta

!"Chapa Magnética o contra eléctrica: Este dispositivo eléctrico es el encargado de mantener cerrada o abierta nuestra puerta.

!"Botón de Salida: Dispositivo mecánico que nos permite realizar la salida en el caso que sólo tenemos una lectora de entrada.

!"Pc y Software

• Es la herramienta que nos sirve para programar el panel de Acceso y checar el estado del sistema.

• La PC no es necesaria estar en linea para que el equipo y el sistema siga operando.

Credencial Llaves con software, contraseñas y otros soportes de seguridad (por ejemplo, tarjetas inteligentes y de proximidad) son algunas de las credenciales que se emplean con ordenadores.

Cortafuegos Es un elemento de hardware o software utilizado en las redes para prevenir algunos tipos de comunicaciones prohibidas por las políticas de red , las cuales se fundamentan en las necesidades del usuario.

La configuración correcta de cortafuegos se basa en conocimientos considerables de los protocolos de red y de la seguridad de la computadora.

Sistemas distribuidos 2008

Página 11 de 27

Errores pequeños pueden dejar a un cortafuego sin valor como herramienta de seguridad.

Tipos de Cortafuego !"Firewall de capa de red: Funciona al nivel de la red de la pila de

protocolos ( TCP/IP ) como filtro de paquetes IP , no permitiendo que estos pasen el cortafuego a menos que se atengan a las reglas definidas por el administrador del cortafuego o aplicadas por defecto como en algunos sistemas inflexibles de cortafuego. Una disposición más permisiva podría permitir que cualquier paquete pase el filtro mientras que no cumpla con ninguna regla negativa de rechazo.

!"Firewall de capa de aplicación: Trabaja en el nivel de aplicación . Analizando todo el tráfico de HTTP , (u otro protocolo), puede interceptar todos los paquetes que llegan o salen desde y hacia las aplicaciones que corren en la red. Este tipo de cortafuegos usa ese conocimiento sobre la información transferida para proveer un bloqueo más selectivo y para permitir que ciertas aplicaciones autorizadas funcionen adecuadamente. A menudo tienen la capacidad de modificar la información transferida sobre la marcha, de modo de engañar a las aplicaciones y hacerles creer que el cortafuego no existe. Otros también tienen adosado software para revisar por virus el correo electrónico.

Corta Fuego por Hardware: Los mismos se utilizan más en empresas y grandes corporaciones. Normalmente son dispositivos que se colocan entre el router y la conexión telefónica. Como ventajas, podemos destacar, que al ser independientes del PC, no es necesario configurarlos cada vez que reinstalamos el sistema operativo, y no consumen recursos del sistema. Un ejemplo de ellos es el Panda GateDefender Integra , una UTM - unidad para la Gestión unificada de amenazas) que protege la red de la compañía de cualquier tipo d e riesgo que pueda llegar a través de Internet, dado que incluye todas las protecciones necesarias en un único dispositivo : Firewall, IPS, VPN, Anti-malware, Content Filter, Anti-spam y Filtrado web.

Sistemas distribuidos 2008

Página 12 de 27

Algoritmos de encriptación.

Clave criptografica. Es un parametro que determina la salida de un algoritmo criptografico, especifica la transformación particular de texto plano a texto encriptado.

En criptografia se suele presuponer que el atacante ya conoce las particularidades de los algoritmos utilizados para encriptar un mensaje. “El enemigo conoce el sistema” es la maxima de Shannon al respecto. Siendo asi, es mucho más facil proteger una pequeña pieza de información como puede ser la clave de encriptación que el algoritmo de encriptación completo.

Mantener la clave secreta es una de las dificultades más grandes de la criptografia.

Agoritmos simetricos o de clave secreta. Los algoritmos de clave simetrica son aquellos que utilizan la misma clave criptografica para la encriptación y decriptación de los datos.

La forma de trabajo es:

!"MENSAJE + CLAVE = TEXTO CIFRADO

!"TEXTO CIFRADO + CLAVE = MENSAJE

Se pueden clasificar en:

Sistemas distribuidos 2008

Página 13 de 27

!"Cifrado de flujo (stream ciphers): Los bits del mensaje se encriptan uno por uno.

!"Cifrado de bloque (block ciphers): Los bits del mensaje se agrupan en bloques (comunmente de 64 bits y se encriptan como una sola unidad.

Según el resultado de la encriptación los podemos clasificar en:

!"MonoAlfabetico: Cada carácter del mensaje original es reemplazado por un carácter en el texto cifrado.

!"PoliAlfabetico: Cada carácter del mensaje original es reemplazado por mas de un carácter en el texto cifrado.

Ventajas La principal ventaja de los algoritmos simetricos es su velocidad, suelen requerir menor capacidad de procesamiento, siendo estos cientos o miles de veces mas rapidos que los algoritmos asimetricos.

Desventajas La principal desventaja es la contraseña en si misma. El uso de la contraseña compartida permite a un atacante que la conosca decifrar los mensajes sin mayor inconvente.

También es necesario distribuir la contraseña entre todas la entidades que se van a comunicar, con el consiguiente riesgo. En una poblacion de N donde estan todos intercomunicados entre si se necesitan distribuir n(n – 1) / 2 claves, o sea una por cada canal de comunicaciones.

Administración de clave. Es el proceso de generación, distribucion, almacenamiento, protección, uso y recambio de las claves de un sistema de encriptación simetrico.

Una apropiada administración de clave es critica para cualquier algoritmo y es una de las diciplinas más complejas de la criptografia ya que requiere politicas de sistema, entrenamiento de usuarios, interaccion entre departamentos, etc.

Para la generación de la clave se utiliza casi siempre generadores de claves pseudo-aleatorios, sin embargo la falta de aleatoriedad o deficiencias en la inicialización de la semilla de estos algoritmos suele plantear un grave riesgo de seguridad ya que la clave pasa a ser facilmente adivinada.

Un conocido caso, fue cuando hace poco un programador de la comunidad Linux borro 2 lineas que inicializaban la generación de claves de

Sistemas distribuidos 2008

Página 14 de 27

SSL por lo que limito el rango de generación de las mismas a 65535 haciendo muy facil averiguar la clave (conociendo el algoritmo de generacion).

Algunos algoritmos de bloque. Los modos de operación standard ANSI/FIPS para algoritmos de encriptación de bloques son:

ECB: Electronic Code Block.

Es el algoritmo más simple. Toma los bloques de tamaño identico y los encripta por separado, el mismo bloque del mensaje generará la misma cadena encriptada, por lo que no es bueno para ocultar patrones. Por ejemplo se muestra a continuación una imagen encriptada con este algoritmo donde todavia es apreciable el dibujo original.

Sistemas distribuidos 2008

Página 15 de 27

CBC: Cipher Block Chainning.

En este algoritmo se realiza antes de encriptar un XOR de cada bloque con el bloque anterior antes de encriptarlo, de forma que cada bloque depende de todos los bloques anteriores. El primer bloque requiere un vector de inicialización con el cual realizar el XOR.

Es uno de los mas utilizados, sus principales inconvenientes es que es secuencial, por lo que no puede ser paralelizado y requiere que el mensaje se rellene para que posea un numero de caracteres multiplo del tamaño del bloque.

CFB: Cipher Feedback.

Este algoritmo es muy similar al CBC y funciona de forma inversa, realizando el XOR a la salida de la encriptación.

La corrupción de un bit del mensaje afecta solo un bit del mensaje encriptado, pero el resto de la cadena se encripta correctamente.

Sistemas distribuidos 2008

Página 16 de 27

Algoritmos de clave pública o asimetricos. Estos algoritmos son aquellos en donde la clave utilizada para encriptar el mensaje es diferente de la utilizada para desencriptarlo.

El usuario tiene un par de claves, una clave publica y una privada. La privada es mantenida en secreto mientras que la pública puede ser distribuida. Al recibir un mensaje este estará encriptado con la clave pública del receptor pero para desencriptarlo necesitará de su clave privada.

Las claves públicas y privadas se relacionan matematicamente pero una no se puede derivar de la otra. Para poder encriptar un mensaje se puede utilizar cualquiera de las claves (la publica o la privada) sin embargo para desencriptarlo es necesario procesar el mensaje con las dos claves.

Por lo tanto un mensaje encriptado con la clave publica solo puede ser desencriptado con la clave privada (y siendo asi) solo puede ser desencriptada por el receptor autorizado de ese mensaje.

En cambio un mensaje encriptado con la clave privada puede ser desencriptada por cualquiera que tenga la clave pública.

Es un concepto similar al un buzon de correo con una ranura para las cartas. La ranura esta accesible y expuesta al público, la direccion del mismo (su ubicación) seria su clave publica. Cualquier persona es capaz de depositar cartas en el mismo con solo saber la direccion del mismo, sin embargo solo el dueño que posea la llave para abrirlo es capaz de obtener las cartas y leeralas.

Los usos más comunes para este tipo de encriptacion son:

!"Confidencialidad: Un mensaje encriptado con la clave publica del receptor solo puede ser desencriptado por el mismo.

Sistemas distribuidos 2008

Página 17 de 27

!"Autenticidad: (Firmas Digitales) Un mensaje firmado con la clave privada del remitente puede ser verificado por cualquiera que tenga la clave publica del remitente y por tanto verificar su origen.

Ventajas La principal ventaja es la mayor seguridad de que se dispone y la mayor facilidad con la que se puede distribuir la clave publica al no necesitarse ningun tipo de resguardo, la misma puede ser conocida por todos.

Desventajas Suelen ser algoritmos que requieren mayor capacidad de CPU que los simetricos. Otra gran desventaja es que se confia que la clave publica es valida, y pertenece a la entidad que la emitio y no se ha modificado con propositos maliciosos.

Algoritmo Hibrido. En la practica los sistemas mencionados anteriormente se utilizan combinados en un sistema conocido como algoritmo hibrido.

En este caso el que envia el mensaje encripta el mensaje utilizando un algoritmo simetrico y una clave aleatoria. Luego envia la clave aleatoria al receptor utilizando su clave publica.

D e esta forma el receptor puede desencriptar la clave aleatoria generada y si esta no cambia desencriptar todos los mensajes que reciba del mismo remitente.

Asi se combinan las ventajas de ambos algoritmos con un minimo compromiso de seguridad.

La parte de intercambio de la clave aletoria generada se hace con los algoritmos asimetricos que son menos veloces, una vez intercambiada la

Sistemas distribuidos 2008

Página 18 de 27

clave, todos los mensajes se desencriptan utilizando algoritmos simetricos y la clave que se compartió.

Sistemas distribuidos 2008

Página 19 de 27

Autenticación Needham y Schroeder.

Los protocolos de autenticación publicados Needham y Schroeder [1978] son el núcleo de muchas técnicas de seguridad siendo uno de los más importantes entre sus sistemas de protocolo el Kerberos que fue diseñado para proporcionar autenticación entre clientes y servidores en redes.

Existen dos casos de estudio que describen protocolos de seguridad en el nivel de aplicación importante para el comercio electrónico:

!"El de Capa de Sockets Segura (Secure Sockets Layer, SSL) diseñado para cumplimentar la necesidad de transacciones seguras (soportada por la mayoría de los visualizadores y servidores web)

!"El Millicent, diseñado específicamente para las necesidades de un método de pago para micro-transacciones.

El protocolo de autenticación de Needham y Schroeder fue empleado debido a una necesidad urgente de mejores formas de administrar la seguridad de las redes locales.

En la misma publicación, Needham y Schroeder también confeccionan un protocolo basado en el uso de claves públicas para autenticación y distribución de claves y que no depende de la existencia de servidores de claves seguros, resultando el más adecuado para su empleo en redes con muchos dominios de administración independientes, como Internet.

La propuesta autentica de estos dos creadores se basa en un servidor de autenticación que proporciona claves secretas a sus clientes en forma segura.

El trabajo del servidor de autenticación es proporcionar una forma segura por la que pares de procesos obtengan claves compartidas. Para hacer esto, debe comunicarse con sus clientes usando mensajes encriptados.

El protocolo se describe para dos procesos arbitrarios A y B, pero en sistemas cliente-servidor, A es cualquier cliente que inicie una secuencia de solicitudes hacia algún servidor B. La clave le viene dada a A de dos formas, una que A puede usar para encriptar los mensajes que envíe a B y otra que pueda transmitir de modo seguro a B. (La última se encuentra encriptada en una clave que es conocida por B pero no por A, de modo que B puede desencriptarla y no se compromete durante la transmisión.)

Sistemas distribuidos 2008

Página 20 de 27

El servidor de autenticación S mantiene una tabla que contiene un nombre y una clave secreta para cada principal conocido por el sistema.

Nunca se muestra a terceras partes y se transmite por la red como máximo una sola vez, cuando se genera.

Una clave secreta sería el equivalente de la contraseña (password) que se emplea para autenticar usuarios en los sistemas centralizados. Para los principales humanos, el nombre conocido por el servicio de autenticación es su <<nombre de usuario>> y la clave secreta es su password.

El protocolo se basa en la generación y transmisión de tickets por el servidor de autenticación, que son mensaje encriptado que contiene una clave para su uso en la comunicación.

El servidor de autenticación es S. NA Y NB son ocasiones. Una ocasión es un valor entero que se añade a un mensaje para demostrar su frescura. Las ocasiones se utilizan una sola vez y se generan bajo demanda únicos mensajes que han sido enviados conteniendo KAB fueron encriptados en la clave secreta de A o en la de B.

Existe una debilidad en este protocolo, ya que un intruso puede obtener información de un descuido y utilizarla para iniciar un intercambio posterior con B, suplantando a A, para que no ocurra este ataque debe comprometerse un antiguo valor de KAB, en terminología de hoy en día. Esta posibilidad no fue incluida por Needham y Schroeder en su lista de amenaza cuando debían hacerlo, pero esta debilidad se puede remediar añadiendo una ocasión o una marca temporal. Solución adoptada por Kerberos.

Sistemas distribuidos 2008

Página 21 de 27

Kerberos Fue desarrollado en el MIT en los años ochenta, para proporcionar un catalogo de medios de autenticación y seguridad para su uso en la red de computación del campus en el MIT y otras intranets. Ha soportado varias revisiones y mejoras, de las cuales surgió entre otras la versión 5 de Kerberos (1994), la cual esta en vía de ser un estándar Internet y es usada hoy en día por muchas compañías y universidades.

Consta de tres clases de objetos:

!"Autenticación: una palabra construida por un cliente y enviada al servidor para demostrar la identidad del usuario y la actualidad de cualquier comunicación con el servidor. Un autenticador sólo puede usarse una vez. Éste contiene el nombre del cliente y una marca temporal y se encripta con la clave de sesión apropiada.

!"Ticket: una palabra enviada a un cliente por el servicio de concesión de tickets para su presentación a un servidor particular, y que verifica que el emisor se ha autenticado recientemente frente a Kerberos. Los tickets incluyen un tiempo de expiración y una clave de sesión generada en este momento para su uso por el cliente y el servidor. Un autentic sólo puede usarse una vez. Éste contiene el nombre del cliente y una marca temporal y se encripta con la clave de sesión apropiada.

!"Clave de sesión: una clave secreta generada aleatoriamente por Kerberos y enviada a un cliente para su uso en la comunicación con un servidor particular; la clave de sesión se emplea para encriptar la comunicación con aquellos servidores que la pidan y para encriptar todos los autenticadores.

Funcionamiento: Los procesos clientes deben poseer un ticket y una clave de sesión para cada servidor que empleen. La mayoría de los tickets se conceden a los clientes con un periodo de vida de varias horas, de modo que puedan utilizarse para interactuar con un servidor particular hasta que expiran.

Un servidor Kerberos es conocido como Centro de Distribución de Claves, ofrece un Servicio de Autenticación (SA) y un Servicio de Concesión de Tickets (SCT). Al presentarse al sistema, los usuarios son autenticados por el SA, y el proceso del cliente que actúa en representación del usuario recibe un ticket de concesión de tickets y una clave de sesión para comunicarse con

Sistemas distribuidos 2008

Página 22 de 27

el SCT. Posteriormente el proceso cliente original puede usar el ticket de concesión de tickets y las claves de sesión para los servicios especificados desde el SCT.

El Kerberos tiene muy en cuenta los valores del tiempo (fecha y hora) usando como ocasiones.

Esto sirve a dos objetivos:

!"Protegerse de la repetición de mensajes antiguos o rechazar los viejos tickets encontrados en algún lugar de la memoria de máquina.

!"Aplicar un tiempo de vida a los tickets, permitiendo que el sistema revoque los derechos de acceso de usuarios cuando, por ejemplo, deja de ser usuarios autorizados del sistema.

Sistemas distribuidos 2008

Página 23 de 27

SSL El protocolo SSL es un sistema diseñado y propuesto por Netscape Communications Corporation. Se encuentra en la pila OSI entre los niveles de TCP/IP y de los protocolos HTTP, FTP, SMTP, etc. Proporciona sus servicios de seguridad cifrando los datos intercambiados entre el servidor y el cliente con un algoritmo de cifrado simétrico, típicamente el RC4 o IDEA, y cifrando la clave de sesión de RC4 o IDEA mediante un algoritmo de cifrado de clave pública, típicamente el RSA. La clave de sesión es la que se utiliza para cifrar los datos que vienen del servidor seguro y vuelven al mismo. Se genera una clave de sesión distinta para cada transacción, lo cual permite que aunque sea reventada por un atacante en una transacción dada, no sirva para descifrar futuras transacciones. MD5 se usa como algoritmo de hash.

Proporciona cifrado de datos, autenticación de servidores, integridad de mensajes y, opcionalmente, autenticación de cliente para conexiones TCP/IP.

Cuando el cliente pide al servidor seguro una comunicación segura, el servidor abre un puerto cifrado, gestionado por un software llamado Protocolo SSL Record, situado encima de TCP. Será el software de alto nivel, Protocolo SSL Handshake, quien utilice el Protocolo SSL Record y el puerto abierto para comunicarse de forma segura con el cliente.

El Protocolo SSL Handshake Durante el protocolo SSL Handshake, el cliente y el servidor intercambian una serie de mensajes para negociar las mejoras de seguridad. Este protocolo sigue las siguientes seis fases (de manera muy resumida):

!"La fase Hola, usada para ponerse de acuerdo sobre el conjunto de algoritmos para mantener la intimidad y para la autenticación.

!"La fase de intercambio de claves, en la que intercambia información sobre las claves, de modo que al final ambas partes comparten una clave maestra.

!"La fase de producción de clave de sesión, que será la usada para cifrar los datos intercambiados.

!"La fase de verificación del servidor, presente sólo cuando se usa RSA como algoritmo de intercambio de claves, y sirve para que el cliente autentique al servidor.

Sistemas distribuidos 2008

Página 24 de 27

!"La fase de autenticación del cliente, en la que el servidor solicita al cliente un certificado X.509 (si es necesaria la autenticación de cliente).

!"Por último, la fase de fin, que indica que ya se puede comenzar la sesión segura.

El Protocolo SSL Record El Protocolo SSL Record especifica la forma de encapsular los datos transmitidos y recibidos. La porción de datos del protocolo tiene tres componentes:

!"MAC-DATA, el código de autenticación del mensaje.

!"ACTUAL-DATA, los datos de aplicación a transmitir.

!"PADDING-DATA, los datos requeridos para rellenar el mensaje cuando se usa cifrado en bloque.

Sistemas distribuidos 2008

Página 25 de 27

Milicent Millicent es un sistema de micropagos descentralizado desarrollado por Digital Equipment Corporat ion (DEC) diseñado para gestionar pagos de pequeño valor (hasta 0,001 $). Los pagos con Millicent se pueden validar en la máquina del vendedor sin necesidad de contactar con un tercer agente. El sistema se basa en una implementación distribuida sin necesidad de comunicación entre los distintos actores, y no necesita encriptación basada en claves públicas ni cualquier otro procesamiento.

El sistema Millicent utiliza una forma de dinero electrónico conocido como vales (script). La verificación de la validez de este vale es rápida y eficiente, y si se pierde una pequeña cantidad del vale no supone un problema significativo. El vale es específico de cada vendedor en el sentido que sólo tiene valor para el vendedor que la generó, cada vendedor tiene su propia moneda y los clientes no podrán realizar transacciones con otros vendedores con ese mismo vale.

El protocolo de seguridad ha sido diseñado de manera que el coste de cometer fraude es mayor que el valor de la compra fraudulenta correspondiente. Esto se consigue mediante encriptación simétrica rápida.

Brokes Median entre los vendedores y los clientes para simplificar sus tareas. Los brokers son los que manejan el dinero real en Millicent. Mantienen cuentas de clientes y vendedores. Los clientes compran al broker calderilla para un vendedor concreto. El broker tiene un acuerdo con cada vendedor para el que vende el vale.

Vendedores Los vendedores de Millicent son entidades comerciales que venden servicios de información de valor reducido. El vendedor acepta su propia calderilla como pago por dichos servicios, y valida el vale recibido y se encarga de evitar su duplicación. El vendedor vende el vale al por mayor, con un descuento, a los brokers, o llega a un acuerdo para que ellos lo produzcan bajo licencia. La fuente de ingresos del broker sale del importe de la licencia o el descuento por compra al por mayor.

Sistemas distribuidos 2008

Página 26 de 27

Clientes Los clientes le compran vales al broker con dinero real. Por ejemplo, el cliente puede comprar vales suficiente como para que le dure una semana. Cuando un cliente contacta con un nuevo vendedor, le compra vale de dicho vendedor al broker pagándole con vale del broker.

Después, el cliente se gastará la calderilla en el vendedor, quien también puede proporcionar cambio (en vale del vendedor) junto con la información adquirida.

El vale (script) El vale (script) es un conjunto de datos que implementa la idea de micromoneda en el sistema Millicent . Tiene las siguientes propiedades:

!"Una unidad de vale representa una cantidad prepagada, al estilo de las tarjetas telefónicas, los cupones de comida o los bonos del subte.

!"Puede representar cualquier denominación, típicamente entre 0.001$ y 5$, aunque no se han definido límites superiores o inferiores.

!"Su seguridad se basa en el hecho de que se usa únicamente para representar valores muy pequeños.

!"Es específico de cada vendedor, y por lo tanto sólo se puede usar con un vendedor.

!"Se puede gastar sólo una vez. Los dobles gastos los detecta el vendedor localmente en el momento de la compra.

!"Sólo la puede gastar el usuario al que se le entregó. Se utiliza una clave compartida para evitar el uso de calderilla robada.

!"No se puede cambiar su valor o modificar de cualquier otro modo.

!"Falsificar calderilla es computacionalmente un proceso caro. El coste superaría el valor de la propia calderilla.

!"No se utilizan esquemas de claves públicas. Se puede generar de manera eficiente, validar la, y protegerla mediante una función de hash y criptografía simétrica sencilla.

!"No puede proporcionar anonimicidad total. Tiene números de serie visibles que se pueden ver y almacenar.

El diseño del esquema Millicent es escalable porque cada servidor del vendedor es responsable solamente de validar el vale que ha emitido Los clientes pueden adquirir vales directamente del vendedor, o de un

Sistemas distribuidos 2008

Página 27 de 27

intermediario que posea vales de muchos vendedores, mediante una transacción comercial

El vale (scnp), la moneda específica de un vendedor presentada por Millicent, se representa mediante fichas digitales con el siguiente formato:

El campo de propiedades está disponible para los usos que determine el vendedor. EL certificado es una firma digital que protege todos los campos del vale contra su modificación

Al generar el vale, el campo de certificado se crea como una firma o certificado de autenticidad. En realidad, el certificado es un sello de autenticidad que no se puede modificar y que evita la modificación del resto de los campos del vale. Se crea mediante el hash de los otros campos con una clave (Master Scrip Secret , MSS) .

Solamente el vendedor que acuña el vale conoce esta clave. El vendedor gestiona una lista de MSS distintos, numerados del 1 al N, para acuñar el vale.

Como el certificado es el resultado de aplicar una función de hash de sentido único (p. ej . MD5), evitamos que los campos del vale se puedan modificar. Cualquier cambio tendrá como resultado un nuevo valor del certificado que no se corresponde con el que viene con el vale. Sólo el agente que conoce el MSS puede generar el vale, por lo que el certificado evita tanto la modificación como la falsificación.

Para validar el vale, el vendedor debe garantizar que ésta es auténtica y que no ha sido gastada antes. El vendedor recalcula el certificado y lo compara con el certificado recibido del cliente para garantizar la autenticidad. Para evitar el gasto múltiple, el vendedor comprueba que el ID con los que tiene almacenados.