lunes, 25 de enero de 2010

PKI ( INFRAESTRUCTURA DE CLAVE PUBLICA )

        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 
CRIPTOGRAFIA ASIMETRICA


      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 capaces 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).


miércoles, 20 de enero de 2010








El Modelo de Referencia de Interconexión de Sistemas Abiertos, conocido mundialmente como Modelo OSI (Open System Interconnection), fue creado por la ISO (Organizacion Estandar Internacional) y en él pueden modelarse o referenciarse diversos dispositivos que reglamenta la ITU (Unión de Telecomunicación Internacional), con el fin de poner orden entre todos los sistemas y componentes requeridos en la transmisión de datos, además de simplificar la interrelación entre fabricantes . Así, todo dispositivo de cómputo y telecomunicaciones podrá ser referenciado al modelo y por ende concebido como parte de un sistemas interdependiente con características muy precisas en cada nivel.

Esta idea da la pauta para comprender que el modelo OSI existe potencialmente en todo sistema de cómputo y telecomunicaciones, pero que solo cobra importancia al momento de concebir o llevar a cabo la transmisión de datos.


El Modelo OSI cuenta con 7 capas o niveles:


Nivel Físico



Es el primer nivel del modelo OSI y en él se definen y reglamentan todas las características físicas-mecánicas y eléctricas que debe cumplir el sistema para poder operar. Como es el nivel más bajo, es el que se va a encargar de las comunicaciones físicas entre dispositivos y de cuidar su correcta operación. Es bien sabido que la información computarizada es procesada y transmitida en forma digital siendo esta de bits: 1 y 0. Por lo que, toda aplicación que se desee enviar, será transmitida en forma serial mediante la representación de unos y ceros.


En este nivel, se encuentran reglamentadas las interfaces de sistemas de cómputo y telecomunicaciones (RS-232 o V.24, V.35) además de los tipos de conectores o ensambles mecánicos asociados a las interfaces (DB-24 y RJ-45 para RS-232 o V.24, así como Coaxial 75 ohms para G703)


En el nivel 1 del modelo OSI o nivel físico se ubican también todos los medios de transmisión como los sistemas de telecomunicaciones para el mundo WAN (Wide Area Network), tales como sistemas satelitales, microondas, radio enlaces, canales digitales y líneas privadas, asi como los medios de transmisión para redes de área locales (LAN: Local Area Network), cables de cobre (UTP,STP) y fibra óptica. Además, en este nivel se ubican todos aquellos dispositivos pasivos y activos que permiten la conexión de los medios de comunicación como repetidores de redes LAN, repetidores de microondas y fibra óptica, concentradores de cableado (HUBs), conmutadores de circuitos físicos de telefonía o datos, equipos de modulación y demodulación (modems) y hasta los aparatos receptores telefónicos convencionales o de células que operan a nivel hardware como sistemas terminales.
En Resumen se dice que la capa Físico transmite el flujo de bits sobre un medio físico y aquella que representa el cableado, las tarjetas y las señales de los dispositivos.


Enlace de Datos




Conocido también como nivel de Trama (Frame) o Marco, es el encargado de preparar la información codificada en forma binaria en formatos previamente definidos por el protocolo a utilizar.

Tiene su aplicación en el contexto de redes WAN y LAN ya que como se estableció previamente la transmisión de datos no es mas que el envió en forma ordenada de bits de información. Podríamos de hecho concebir a ésta como una cadena de bits que marchan en una fila inmensa (para el caso de transmisiones seriales), cadena que carece de significado hasta el momento en que las señales binarias se agrupan bajo reglas, a fin de permitir su interpretación en el lado receptor de una manera constante.

Este nivel ensambla los datos en tramas y las transmite a través del medio (LAN o WAN). Es el encargado de ofrecer un control de flujo entre tramas, así como un sencillo mecanismo para detectar errores. Es en este nivel y mediante algoritmos como CRC(Cyclic Redundancy Check), donde se podrá validar la integridad física de la trama; mas no será corregida a este nivel sino que se le notificará al transmisor para su retransmisión.


En el nivel de enlace de datos se lleva a cabo el direccionamiento físico de la información; es decir, se leerán los encabezados que definen las direcciones de los nodos (para el caso WAN) o de los segmentos (para el caso LAN) por donde viajarán las tramas. Decimos que son direcciones físicas ya que las direcciones lógicas o de la aplicación que pretendemos transmitir serán direccionadas o enrutadas en un nivel superior llamado nivel de red. En este nivel de enlace sólo se da tratamiento a las direcciones MAC (Media Access Control) para el caso de LAN y a las direcciones de las tramas síncronas como HDLC (High-Level Data Link Control), SDLC (Synchronous Data Link Control, de IBM), LAP B (Link Access Procedure Balance) por citar algunos para el caso WAN.


Como se ha expuesto hasta este momento, en el nivel dos del modelo OSI o nivel de enlace, vienen los protocolos que manejan tramas como HDLC, SDLC, LAP B, direcciones MAC, LLC, estándares de red como Token Ring, Ethernet, FDDI, ya que estos últimos manejan tramas específicas que involucran direcciones MAC. (Las topologías de Bus, Anillo o Estrella se pueden referenciar al nivel físico del modelo OSI, ya que son infraestructuras de transmisión mas que protocolos y carecen de direcciones. Aunque cierto es que están relacionadas con formatos como Ethernet y como no habrían de estarlo si son capas adyacentes que necesitan comunicarse entre sí, siendo este uno de los principios de intercomunicación dentro del modelo OSI.)

No sólo protocolos pueden ser referenciados al nivel de enlace del modelo OSI; también hay dispositivos como los puentes LAN Bridges), que por su funcionamiento (operación con base en direcciones MAC únicamente) se les puede ubicar en este nivel del modelo de referencia. El puente, a diferencia del repetidor, puede segmentar y direccionar estaciones de trabajo en función de la lectura e interpretación de las direcciones físicas de cada dispositivo conectado a la red.

En Resumen se puede decir que la capa de Enlace de Datos es aquella que transmite la información como grupos de bits, o sea que transforma los bits en frames o paquetes por lo cual si recibimos se espera en conjunto de señales para convertirlos en caracteres en cambio si se manda se convierte directamente cada carácter en señales ya sean digitales o analógicos.

 Red


Su función es hacer que los datos lleguen desde el origen hasta su destino. Los dispositivos que facilitan dicha tarea se llaman encaminadores o routers. Esta capa lleva un control de la congestión de la red. En esta capa trabajan los routers. Los firewalls actúan en esta capa para descartar direcciones de las máquinas.

Nivel de Transporte



En este nivel se realiza y se garantiza la calidad de la comunicación, ya que asegura la integridad de los datos. Es aquí donde se realizan las retransmisiones cuando la información fue corrompida o porque alguna trama (del nivel 2) detectó errores en el formato y se requiere volver a enviar el paquete o datagrama.

El nivel de transporte notifica a las capas superiores si se está logrando la calidad requerida. Este nivel utiliza reconocimientos, números de secuencia y control de flujo.


Los protocolos TCP (Transmission Control Protocol) y UDP (User Datagram Protocol) son característicos del nivel del transporte del modelo OSI, al igual que SPX (Sequenced Packet Exchange) de Novell.



En Resumen se dice que la capa de Transporte es la integridad de datos de extremo a extremo o sea que se encarga el flujo de datos del transmisor al receptor verificando la integridad de los mismos por medio de algoritmos de detección y corrección de errores, la capa de Red es la encargada de la información de enrutador e interceptores y aquella que maneja el Hardware(HW), ruteadores, puentes, multiplexores para mejorar el enrutamiento de los paquetes.


Nivel de Sesión



Este nivel es el encargado de proveer servicios de conexión entre las aplicaciones, tales como iniciar, mantener y finalizar una sesión. Establece, mantiene, sincroniza y administra el diálogo entre aplicaciones remotas.

Cuando establecemos una comunicación y que se nos solicita un comando como login, estamos iniciando una sesión con un host remoto y podemos referenciar esta función con el nivel de sesión del modelo OSI. Del mismo modo, cuando se nos notifica de una suspensión en el proceso de impresión por falta de papel en la impresora, es el nivel de sesión el encargado de notificarnos de esto y de todo lo relacionado con la administración de la sesión. Cuando deseamos finalizar una sesión, quizá mediante un logout, es el nivel de sesión el que se encargará de sincronizar y atender nuestra petición a fin de liberar los recursos de procesos y canales (lógicos y físicos) que se hayan estado utilizando.


NetBIOS (Network Basic Input/Output System) es un protocolo que se referencia en el nivel de sesión del modelo OSI, al igual que el RPC (Remote Procedure Call) utilizado en el modelo cliente-servidor.


En Resumen se puede decir que la capa de Sesión es un espacio en tiempo que se asigna al acceder al sistema por medio de un login en el cual obtenemos acceso a los recursos del mismo servidor conocido como "circuitos virtuales".La información que utiliza nodos intermedios que puede seguir una trayectoria no lineal se conoce como "sin conexión".

Nivel de Presentación




Se refiere a la forma en que los datos son representados en una computadora. Proporciona conversión de códigos y reformateo de datos de la aplicación del usuario. Es sabido que la información es procesada en forma binaria y en este nivel se llevan a cabo las adaptaciones necesarias para que pueda ser presentada de una manera mas accesible.
Códigos como ASCII (American Standard Code for Information Interchange) y EBCDIC (Extended Binary Coded Decimal Interchange Code), que permiten interpretar los datos binarios en caracteres que puedan ser 

fácilmente manejados, tienen su posicionamiento en el nivel de presentación del modelo OSI.


Los sistemas operativos como DOS y UNIX también se ubican en este nivel, al igual que los códigos de comprensión y encriptamiento de datos. El nivel de Presentación negocia la sintaxis de la transferencia de datos hacia el nivel de aplicación.


En Resumen se dice que la capa de Presentación es aquella que provee representación de datos, es decir, mantener la integridad y valor de los datos independientemente de la representación.




Nivel de Aplicación



Es el nivel más cercano al usuario y a diferencia de los demás niveles, por ser el más alto o el último, no proporciona un servicio a ningún otro nivel.

Cuando se habla de aplicaciones lo primero que viene a la mente son las aplicaciones que procesamos, es decir, nuestra base de datos, una hoja de cálculo, un archivo de texto, etc., lo cual tiene sentido ya que son las aplicaciones que finalmente deseamos transmitir. Sin embargo, en el contexto del Modelo de Referencia de Interconexión de Sistemas Abiertos, al hablar del nivel de Aplicación no nos estamos refiriendo a las aplicaciones que acabamos de citar. En OSI el nivel de aplicación se refiere a las aplicaciones de red que vamos a utilizar para transportar las aplicaciones del usuario.

FTP (File Transfer Protocol), Mail, Rlogin, Telnet, son entre otras las aplicaciones incluidas

en el nivel 7 del modelo OSI y sólo cobran vida al momento de requerir una comunicación entre dos entidades. Es por eso que al principio se citó que el modelo OSI tiene relevancia

en el momento de surgir la necesidad de intercomunicar dos dispositivos disímiles, aunque OSI vive potencialmente en todo dispositivo de cómputo y de telecomunicaciones.

En Resumen se puede decir que la capa de Aplicación se dice que es una sesión específico de aplicación (API), es decir, son los programas que ve el usuario.