lunes, 25 de enero de 2010

PUBLICACION (TEMA 4)

PKI (INFRAESTRUCTURA DE CLAVE PÚBLICA)

El acrónimo PKI deriva de "Public Key Infrastructure" (Infraestructura de Clave Pública) y es la forma común de referirse a un sistema complejo necesario para la gestión de certificados digitales y aplicaciones de la Firma Digital.

Una PKI bien construida debe proporcionar:

  • Autenticidad. La firma digital tendrá la misma validez que la manuscrita.
  • Confidencialidad, de la información transmitida entre las partes.
  • Integridad. Debe asegurarse la capacidad de detectar si un documento firmado ha sido manipulado.
  • No Repudio, de un documento firmado digitalmente.

Criptografía Asimétrica

La base tecnológica para la Firma Digital está fundamentada principalmente en el uso de ciertos algoritmos criptográficos, con unas características que permiten obtener el nivel de seguridad requerido.

A diferencia de los algoritmos de cifrado simétrico, en los que la información se cifra y descifra con la misma clave, los algoritmos asimétricos basan su funcionamiento en un par de claves (matemáticas dependientes) para cada usuario, con la característica de que la información cifrada con una clave, sólo puede descifrarse con la otra del mismo par.

A cada usuario se debe asignar un par de claves, que se denominan Clave Pública y Clave Privada. Como indican sus nombres, la Clave Pública puede ser conocida por todo el mundo, mientras que la Clave Privada debe ser custodiada por el usuario y nunca hacerse pública.

Si se desea enviar información confidencial a un usuario, se le enviará la información cifrada con su clave pública, de tal forma que sólo ese usuario, que posee la Clave Privada correspondiente, podrá descifrar la información. Por otra parte, si un usuario envía información cifrada con su clave privada, al descifrarla con su clave pública (acción que puede realizar cualquiera que conozca dicha clave), puede asegurarse que ha sido ese usuario quién envió la información, ya que sólo él posee la clave privada.

Firma Digital

Una Firma Digital tiene dos características principales:

  • Sólo puede ser generada por el poseedor de la clave privada y puede ser verificada por cualquiera que conozca la clave pública del firmante.
  • Es dependiente del documento a firmar (la Firma Digital de un documento no puede emplearse para firmar otro documento).

El proceso de generación de una Firma Digital consiste en dos pasos:

  • Empleando un algoritmo de "Hashing" se genera un resumen, de tamaño fijo, del documento.
  • Se cifra el Hash empleando la clave privada del usuario.

La Firma Digital es un paquete de información de tamaño fijo, dependiente del documento original y sólo puede generarse por el poseedor de la clave privada.

Deberá transmitirse o almacenarse el documento original y la firma.

Deben realizarse los siguientes pasos:

  • A partir del Documento Original, se genera de nuevo el Hash.
  • Empleando la Clave Pública del firmante, se descifra la firma digital.
  • Se comprueba si ambos "Hashes" coinciden, si es así, la firma es auténtica, si no lo es, el documento ha sido modificado y/o la firma es falsa.
  • Adicionalmente, debe comprobarse que el Certificado Digital es válido. El Certificado puede haber caducado, o puede haber sido revocado por una de las partes (ver más adelante).

Certificados Digitales

Las técnicas anteriormente indicadas, si bien son técnicamente correctas, implican un grave problema a nivel de seguridad: ¿Cómo se puede asegurar que una clave pública pertenece a un usuario dado?. Es necesario poder vincular la clave pública de un usuario con su identidad y para esto surge el concepto de "Certificado Digital", que contiene la siguiente información:

  • Identidad del usuario (Nombre, NIF, etc...).
  • Clave Pública del usuario.
  • Periodo de Validez del Certificado.
  • Identidad de la Autoridad Certificadora (entidad que emite el certificado).
  • Firma digital del certificado (los datos anteriores más otras posibles extensiones personalizables, p.e. la dirección de correo electrónico), generada por la Autoridad Certificadora.

Esta información se encapsula en un formato estándar, definido por la norma ISO X.509 versión 3. Generalmente existirá un repositorio (p.e. directorio LDAP) en el que se publican todos los certificados gestionados por la PKI y puede ser consultado por otros usuarios de la PKI que quieran enviar información cifrada o verificar firmas digitales.

La Autoridad Certificadora

La Autoridad Certificadora, es la entidad que asegura la identidad de los usuarios de los certificados digitales. Posee su propio par de claves y firma digitalmente los certificados con su clave privada. Confiando en la Firma Digital de la Autoridad Certificadora, puede confiarse en cualquier certificado generado por la misma.

Las tareas realizadas por la Autoridad Certificadora son, entre otras, las siguientes:

  • Procesa peticiones de Certificado a través de la Autoridad de Registro. Estas solicitudes están compuestas básicamente por los datos identificativos y la clave pública del solicitante.
  • Genera los Certificados y los almacena en el repositorio público (p.e. LDAP).
  • Gestiona la caducidad y renovación de certificados.
  • Gestiona la revocación de certificados (p.e. por compromiso de la clave privada del usuario al serle sustraída su SmartCard).

Toda la fiabilidad de la Autoridad de Certificación se basa en la inviolabilidad de su propia clave privada, la cual resulta crítico proteger empleando medios técnicos y humanos.

La Autoridad de Registro

En toda PKI deben establecerse los mecanismos para que los usuarios soliciten su propio certificado, de tal forma que se asegure la identidad de dicho usuario. A este procedimiento se le denomina "Proceso de Registro" y se realiza a través de la denominada "Autoridad de Registro".

Existen dos tipos principales de registro:

  • Registro Clásico. El solicitante acude en persona a una "Oficina de Registro", donde, tras acreditar su identidad, se le proporciona de forma segura su clave privada y su certificado.
  • Registro Remoto. El usuario, a través de Internet, realiza una solicitud de certificado. Para esto empleará un software (p.e. un navegador) que generará el par de claves y enviará su clave pública a la Autoridad de Registro para que sea firmada por la Autoridad Certificadora y le sea devuelto su certificado.

La validez de la Firma Digital estará condicionada por la calidad del proceso de registro, siendo obligatorio para asegurar la validez legal de la firma, algún tipo de registro "Cara a Cara", ya que es el único que asegura la identidad del solicitante. Por otra parte, la validez de la firma digital también estará condicionada a la firma manuscrita de un "contrato" por el que el solicitante acepta su certificado y las condiciones de uso del mismo.

La Autoridad de Registro se compondrá de una serie de elementos tecnológicos (hardware y software específico) y unos medios humanos (los Operadores de Registro). Es el punto de comunicación entre los usuarios de la PKI y la Autoridad certificadora.

Componentes de una PKI

Los sistemas anteriormente descritos deben englobarse en un único sistema, al que se denomina "Infraestructura de Clave Pública" (PKI), cuyo elementos se pueden ilustrar en la siguiente figura.

Existen multitud de componentes adicionales, y cada elemento es un sistema complejo en si mismo. Los componentes básicos pueden resumirse en:

  • La Autoridad de Certificación. La pieza central del "puzzle" y la que proporciona la base de confianza en la PKI. Constituido por elementos hardware, software y, evidentemente, humanos.
  • Publicación de Certificados. El repositorio de certificados permite a los usuarios operar entre ellos (p.e. para la validación de una Firma Digital), y es un requisito legal que cuente con una total disponibilidad de acceso.
  • Soporte de la Clave Privada. La elección de un buen soporte para que los usuarios custodien su clave privada es un punto esencial y complejo en si mismo (p.e. si la clave está en una SmartCard, es necesario diseñar el Sistema de Gestión de SmartCards que permita la emisión y distribución de las tarjetas a los usuarios).
  • Aplicaciones "PKI-Enabled". Se denomina así a las aplicaciones software capaz de operar con certificados digitales. Estas aplicaciones son las que dan el valor real de la PKI de cara al usuario.
  • Políticas de Certificación. Deben diseñarse una serie de políticas, o procedimientos operativos, que rigen el funcionamiento de la PKI y establecen los compromisos entre la Autoridad Certificadora y los Usuarios Finales. Estos documentos tendrán un carácter tanto técnico como legal.

El Proceso de Construcción de una PKI deberá siempre partir de la definición de las Políticas Operativas y contemplar como requerimiento esencial el asegurar la calidad y seguridad de las operaciones que los usuarios finales realizan con sus claves privadas (p.e. Firma Digital de Documentos).

Ejemplos de Uso

Los sistemas de PKI, de distintos tipos y proveedores, tienen muchos usos, incluyendo la asociación de una llave pública con una identidad para:

  • Cifrado y/o autenticación de mensajes de correo electrónico (ejem., utilizando OpenPGP o S/MIME).
  • Cifrado y/o autenticación de documentos (ejem., la firma XML * o Cifrado XML * si los documentos son codificados comoXML).
  • Autenticación de usuarios o aplicaciones (ejem., logon por tarjeta inteligente, autenticación de cliente por SSL).
  • Bootstrapping de protocolos seguros de comunicación, como Internet key exchange (IKE) y SSL.

miércoles, 20 de enero de 2010

PUBLICACION (TEMA 3)

MODELO OSI.

Durante los años 60 y 70 se crearon muchas tecnologías de redes. Cada una basada en un diseño específico de hardware. Estos sistemas eran construidos de una sola pieza; lo que podríamos llamar una arquitectura monolítica. Esto significa que los diseñadores debían ocuparse de todos los elementos involucrados en el proceso. Es de suponer que estos elementos forman una cadena de transmisión que tiene diversas partes: los dispositivos físicos de conexión; los protocolos software y hardware usados en la comunicación; los programas de aplicación que realizaban la comunicación, y la interfaz hombre-máquina que permiten al humano utilizar la red. Este modelo, que considera la cadena como un todo monolítico, es poco práctico, pues el más pequeño cambio puede implicar alterar todos sus elementos.

Su filosofía se basa en descomponer la funcionalidad de la cadena de transmisión en diversos módulos, cuya interfaz con los adyacentes esté estandarizada. Esta filosofía de diseño presenta una doble ventaja: El cambio de un módulo no afecta necesariamente a la totalidad de la cadena, además, puede existir una cierta inter-operabilidad entre diversos productos y fabricantes hardware/software, dado que los límites y las interfaces están perfectamente definidas.

Por ejemplo, que dos softwares de comunicación distintos puedan utilizar el mismo medio físico de comunicación.

El modelo OSI tiene dos componentes principales:

  • Un modelo de red, denominado modelo básico de referencia o capa de servicio.
  • Una serie de protocolos concretos.

Capas del modelo OSI :

La descripción de
las diversas capas que componen este modelo es la siguiente:

Es la encargada de transmitir los bits de información por la línea o medio utilizado para la transmisión. Se ocupa de las propiedades físicas y características eléctricas de los diversos componentes, de la velocidad de transmisión, si esta es unidireccional o bidireccional (simplex, duplex o flull-duplex).

También de aspectos mecánicos de las conexiones y terminales, incluyendo la interpretacion de las señales léctricas.

Como resumen de los cometidos de esta capa, podemos decir que se encarga de transformar un paquete de información binaria en una sucesión de impulsos adecuados al medio físico utilizado en la transmisión. Estos impulsos pueden ser eléctricos (transmisión por cable), electromagnéticos (transmisión Wireless) o luminosos (transmisón óptica). Cuando actúa en modo recepción el trabajo es inverso, se encarga de transformar estos impulsos en paquetes de datos binarios que serán entregados a la capa de enlace.

Por ejemplo: este nivel define la medidas del cable coaxial Ethernet y de los conectores BNC utilizados.

Otro ejemplo de estándares relativos a esta capa son RS- 232 para comunicaciones serie y X.21













2. Capa de enlace

Puede decirse que esta capa traslada los mensajes hacia y desde la capa física a la capa de red. Especifica como se organizan los datos cuando se transmiten en un medio particular. Esta capa define como son los cuadros, las direcciones y las sumas de control de los paquetes Ethernet.

Además del direccionamiento local, se ocupa de la detección y control de errores ocurridos en la capa física, del control del acceso a dicha capa y de la integridad de los datos y fiabilidad de la transmisión. Para esto agrupa la información a transmitir en bloques, e incluye a cada uno una suma de control que permitirá al receptor comprobar su integridad. Los datagramas recibidos son comprobados por el receptor. Si algún datagrama se ha corrompido se envía un mensaje de control al remitente solicitando su reenvío.

La capa de enlace puede considerarse dividida en dos subcapas:

  • Control lógico de enlace LLC: define la forma en que los datos son transferidos sobre el medio físico, proporcionando servicio a las capas superiores.

  • Control de acceso al medio MAC: Esta subcapa actúa como controladora del hardware subyacente (el adaptador de red). De hecho el controlador de la tarjeta de red es denominado a veces "MAC driver", y la dirección física contenida en el hardware de la tarjeta es conocida como dirección. Su principal consiste en arbitrar la utilización del medio físico para facilitar que varios equipos puedan competir simultáneamente por la utilización de un mismo medio de transporte. El mecanismo CSMA/CD ("Carrier Sense Multiple Access with Collision Detection") utilizado en Ethernet es un típico ejemplo de esta subcapa.

Ejemplo de esta capa es el protocolo PPP Proporciona un método estándar para transportar datagramas multiprotocolo sobre enlaces simples punto a punto entre dos "pares".

3. Capa de Red

Esta capa se ocupa de la transmisión de los datagramas (paquetes) y de encaminar cada uno en la dirección adecuada tarea esta que puede ser complicada en redes grandes como Internet, pero no se ocupa para nada de los errores o pérdidas de paquetes. Define la estructura de direcciones y rutas de Internet. A este nivel se utilizan dos tipos de paquetes: paquetes de datos y paquetes de actualización de ruta. Como consecuencia esta capa puede considerarse subdividida en dos:

  • Transporte: Encargada de encapsular los datos a transmitir (de usuario). Utiliza los paquetes de datos. En esta categoría se encuentra el protocolo IP.

  • Conmutación: Esta parte es la encargada de intercambiar información de conectividad específica de la red. Los routers son dispositivos que trabajan en este nivel y se benefician de estos paquetes de actualización de ruta. En esta categoría se encuentra el protocolo ICMP responsable de generar mensajes cuando ocurren errores en la transmisión y de un modo especial de eco que puede comprobarse mediante ping.

Ejemplos: Los protocolos más frecuentemente utilizados en esta capa son dos: X.25 e IP.


















4.
Capa de Transporte

Esta capa se ocupa de garantizar la fiabilidad del servicio, describe la calidad y naturaleza del envío de datos. Esta capa define cuando y como debe utilizarse la retransmisión para asegurar su llegada. Para ello divide el mensaje recibido de la capa de sesión en trozos (datagramas), los numera correlativamente y los entrega a la capa de red para su envío.
Durante la recepción, si la capa de Red utiliza el protocolo IP, la capa de Transporte es responsable de reordenar los paquetes recibidos fuera de secuencia. También puede funcionar en sentido inverso multiplexando una conexión de transporte entre diversas conexiones de datos. Este permite que los datos provinientes de diversas aplicaciones compartan el mismo flujo hacia la capa de red.
Un ejemplo de protocolo usado en esta capa es TCP, que con su homólogo IP de la capa de Red, configuran la suite TCP/IP utilizada en Internet, aunque existen otros como UDP, que es una capa de transporte utilizada también en Internet por algunos programas de aplicación.

5. Capa de Sesión

Es una extensión de la capa de transporte que ofrece control de diálogo y sincronización, aunque en realidad son pocas las aplicaciones que hacen uso de ella.
Por ejemplo, las comunicaciones de Internet no la utilizan.
Nota: Algunos autores indican que la capa de sesión es meramente una consideración teórica de los autores del modelo sin absolutamente ninguna utilidad práctica conocida.

6. Capa de Presentación

Esta capa se ocupa de garantizar la fiabilidad del servicio, describe la calidad y naturaleza del envío de datos. Esta capa define cuando y como debe utilizarse la retransmisión para asegurar su llegada. Para ello divide el mensaje recibido de la capa de sesión en trozos (datagramas), los numera correlativamente y los entrega a la capa de red para su envío.
Durante la recepción, si la capa de Red utiliza el protocolo IP, la capa de Transporte es responsable de reordenar los paquetes recibidos fuera de secuencia. También puede funcionar en sentido inverso multiplexando una conexión de transporte entre diversas conexiones de datos. Este permite que los datos provinientes de diversas aplicaciones compartan el mismo flujo hacia la capa de red.

Esta capa se ocupa de los aspectos semánticos de la comunicación, estableciendo los arreglos necesarios para que puedan comunicar máquinas que utilicen diversa representación interna para los datos. Describe como pueden transferirse números de coma flotante entre equipos que utilizan distintos formatos matemáticos.

En teoría esta capa presenta los datos a la capa de aplicación tomando los datos recibidos y transformándolos en formatos como texto imágenes y sonido. En realidad esta capa puede estar ausente, ya que son pocas las aplicaciones que hacen uso de ella.
En Internet, el único servicio que utiliza esta capa es TELNET, que precisamente es un servicio de acceso a servidores desde terminales remotos. En este caso, la capa de presentación es la que se encarga de configurar el terminal para conectar a un servidor de características particulares.

7. Capa de Aplicación

Esta capa describe como hacen su trabajo los programas de aplicación (navegadores, clientes de correo, terminales remotos, transferencia de ficheros etc). Esta capa implementa la operación con ficheros del sistema. Por un lado interactúan con la capa de presentación y por otro representan la interfaz con el usuario, entregándole la información y recibiendo los comandos que dirigen la comunicación.

Ejemplos: Algunos de los protocolos utilizados por los programas de esta capa son:

http: Este protocolo se denominóHTTP (HyperText Transfer Protocol, o Protocolo de Transferencia de Hipertexto), y cada vez que se activa cumple con un proceso de cuatro etapas entre el browser y el servidor que consiste en lo siguiente:

. Conexión: el browser busca el nombre de dominio o el número IP de la dirección indicada intentando hacer contacto con esa computadora.

· Solicitud: el browser envía una petición al servidor (generalmente un documento), incluyendo información sobre el método a utilizar, la versión del protocolo y algunas otras especificaciones.

· Respuesta: el servidor envía un mensaje de respuesta acerca de su petición mediante códigos deestado de tres dígitos.

· Desconexión: se puede iniciar por parte del usuario 0 por parte del servidor una vez transferido un archivo.

SMTP:

El protocolo SMTP (Protocolo simple de transferencia de correo) es el protocolo estándar que permite la transferencia de correo de un servidor a otro mediante una conexión punto a punto.

Éste es un protocolo que funciona en línea, encapsulado en una trama TCP/IP. El correo se envía directamente al servidor de correo del destinatario. El protocolo SMTP funciona con comandos de textos enviados al servidor SMTP (al puerto 25 de manera predeterminada). A cada comando enviado por el cliente (validado por lacadena de caracteres ASCII CR/LF, que equivale a presionar la tecla Enter) le sigue una respuesta del servidor SMTP compuesta por un número y un mensaje descriptivo.



POP:

El Protolo POP (Protocolo de oficina de correos), como su nombre lo indica, permite recoger el correo electrónico en un servidor remoto (servidor POP). Es necesario para las personas que no están permanentemente conectadas a Internet, ya que así pueden consultar sus correos electrónicos recibidos sin que ellos estén conectados.

En resumen, la función principal de cada capa es:

  • Aplicación :El nivel de aplicacion es el destino final de los datos donde se proporcionan los servicios al usuario.
  • Presentación : Se convierten e interpretan los datos que se utilizarán en el nivel de aplicación.
  • Sesión : Encargada de ciertos aspectos de la comunicación como el control de los tiempos.
  • Transporte : Transporte la informacion de una manera fiable para que llegue correctamente a su destino.
  • Red : Nivel encargado de encaminarlos datos hacia su destino eligiendo la ruta mas efectiva.
  • Enlace : Enlace de los datos . Controla el flujo de los mismos, la sincronización y los errores que puedan producirse.
  • Físico : Se encarga de los aspectos físicos de la conexión , tales como el medio de transmisión o el hardware