lunes, 11 de marzo de 2013

INVESTIGACIÓN DE LA CRIPTOGRAFÍA MODERNA



 INVESTIGACIÓN DE LA CRIPTOGRAFÍA MODERNA

CIFRADO SIMÉTRICO
El cifrado simétrico es la técnica más antigua y más conocida. Una clave secreta, que puede ser un número, una palabra o una simple cadena de letras aleatorias, se aplica al texto de un mensaje para cambiar el contenido de una manera determinada. Esto puede ser tan simple como desplazamiento de cada letra por un número de lugares en el alfabeto. Siempre y cuando el remitente y el destinatario conocen la clave secreta, pueden cifrar y descifrar todos los mensajes que utilizan esta clave.
CIFRADO ASIMÉTRICO
El problema con las claves secretas es intercambiarlas a través de Internet o una red grande al la vez que impedir que caiga en manos equivocadas. Cualquier persona que conozca la clave secreta puede descifrar el mensaje. Una respuesta es el cifrado asimétrico, en el que hay dos claves relacionadas--un par de claves. Una clave pública está a su disposición libremente a cualquier persona que desee enviar un mensaje. Una segunda clave privada se mantiene en secreta, para que sólo usted conoce.

Sólo se puede descifrar cualquier mensaje (texto, archivos binarios o documentos) que se cifran mediante la clave pública al aplicar el mismo algoritmo, pero utilizando la clave privada correspondiente. 
IPSEC: (Internet Protocol Security) es un protocolo diseñado para proveer servicios de seguridad en la capa de red. IPsec se encuentra ubicado directamente encima del protocolo IP, por debajo de los protocolos TCP y UDP. Los servicios que proporciona son:
  1. Control de acceso
  2. Integridad
  3. Autenticación de origen de datos
  4. Rechazo de paquetes repetidos
  5. Confidencialidad (encriptación)
  6. Confidencialidad de un flujo limitado de tráfico
Los componentes básicos de IPsec están basados en los siguientes protocolos:
AH: (Authentication Header) es un protocolo que proporciona los servicios de autenticación de datagramas IP. El encabezado IP se encapsula con los datos, dentro de la trama IP. AH proporciona soporte para la integridad y autenticación de datos mediante funciones resumen (Hash) y protocolos de autenticación simple.
ESP: (Encapsulating Security Payload) es un protocolo que proporciona el servicio de confiabilidad de los datagramas mediante el cifrado de los datos usando criptografía asimétrica4. Al igual que con AH, el encabezado ESP se coloca dentro del datagrama IP junto con los datos.
ISAKMP/Oakley: (Internet Security Association and Key Management Protocol/Oalkey) es el protocolo por omisión para la administración de las claves públicas utilizadas por AH y ESP. ISAKMP/Oakley está formado precisamente por los protocolos Oakley e ISAKMP. Oakley es un protocolo de intercambio de llaves basado en una versión mejorada del algoritmo de Diffie-Hellman. ISAKMP es un marco de trabajo para la administración de claves en Internet, definiendo formatos para negociación y atributos de seguridad.
IKE: (Internet Key Exchange) es otro protocolo para administración de claves tanto para AH como para ESP.
Los protocolos AH y ESP pueden realizar transferencias tanto en modo transporte como en modo túnel. En el primer caso, la encriptación se realiza en la capa de transporte (TCP o UDP, solo se encriptan los datos), mientras que en el segundo caso la encriptación se lleva a cabo en la capa de red (IP, se encriptan los datos y encabezados).
El protocolo IPsec forma parte del estándar IP v6, sin embargo fue diseñado para funcionar también con la versión 4 del protocolo IP.
Además de ISAKMP/Oakely e IKE los cuales están diseñados para operar con el protocolo IPsec (capa de Red), existen otros servicios de administración de claves públicas diseñados para operar con las aplicaciones. La idea generalizada subyacente en todos estos protocolos es la existencia de una autoridad confiable que garantiza (certifica) la identidad de los participantes en una sesión de comunicación, mediante algún algoritmo de distribución de claves.
Los servicios que estos sistemas pueden ofrecer son:
  • Autenticación (AU)
  • Confidencialidad de datos (CD)
  • Integridad de datos (ID)
  • Control de acceso (CA)
  • No rechazo de servicio (NR)
Los principales sistemas estándares de distribución de claves públicas son:
  • Kerberos: disponible comercialmente y de forma gratuita. Ofrece los servicios AU, CD e ID
  • NetSP: disponible comercialmente. Ofrece los servicios AU, CD e ID
  • SPX: disponible de manera gratuita. Ofrece los servicios de AU, CD e ID
  • TESS: disponible comercialmente ofrece los servicios de AU, CD, ID y NR
  • SESAME: disponible de manera comercial y gratuita. Ofrece los servicios AU, CD, ID y CA
  • OSF DCE: es un estándar comercial que ofrece los servicios de AU, CD, ID y CA.
La utilización de estos sistemas de seguridad no es transparente para los desarrolladores de aplicaciones, quienes deben incluir en sus programas el código cliente de estos servicios. Debido a esta situación y al hecho de que ninguno de los protocolos mencionados ha logrado posicionarse de manera dominante en el campo de la seguridad, el uso de estos sistemas en Internet es bastante esporádico.
Uno de los servicios más utilizados en Internet es el World Wide Web (Web). El WWW a su vez sirve como plataforma para una gran diversidad de servicios, cada uno de los cuales tiene ciertos requerimientos específicos en cuanto a seguridad. Con la aparición del comercio electrónico y su rápido crecimiento, surgió la necesidad de crear mecanismos apropiados para garantizar que las transacciones comerciales entre los proveedores de servicios y sus clientes se lleve a cabo de manera confiable.
  • Establecimiento de conexión
  • Cifrado de datos (confidencialidad)
  • Integridad de los datos
SSL puede utilizar diferentes algoritmos para el cifrado de datos como IDEA, RSA, DES y Fortezza entre otros, así como los esquemas de codificación de flujo y de bloques.
Por otro lado, TLS (Transport Layer Security) es el nombre oficial que recibe SSL en los estándares de Internet.
En la actualidad SSL es uno de los protocolos de seguridad más utilizado en aplicaciones WWW, excepto en comercio electrónico.
Adicionalmente, existen otros algoritmos criptográficos orientados hacia aplicaciones específicas, entre los que destacan:
SET: (Secure Electronic Transaction) es un estándar abierto creado conjuntamente por VISA y Master Card. Se trata de un protocolo de seguridad orientado hacia los servicios de pagos electrónicos mediante el uso tarjetas de crédito bancarias. SET proporciona integridad de mensajes, autenticación de datos financieros y encriptación de información sensible.
PGP: (Pretty Good Privacy) Es un algoritmo de cifrado de clave pública orientado hacia aplicaciones de correo electrónico. PGP combina el algoritmo IDEA de clave privada con el RSA de clave pública y el MD5 para firmas digitales.
Un firewall (cortafuego) es un dispositivo de seguridad que controla el flujo de paquetes de datos entre dos redes. El objetivo principal de un firewall es proteger una red de otra. Para proteger la red de una empresa, típicamente se coloca un firewall entre la red interna de la empresa y el Internet
Un firewall debe cumplir con las siguientes características generales:
  • Todo el tráfico de adentro hacia fuera y viceversa, debe pasar a través del firewall.
  • Solamente el tráfico autorizado, según la política de seguridad definida, podrá pasar a través del firewall.
  • El firewall en sí mismo debe ser inmune a cualquier tipo de penetración
Un firewall monitorea y filtra todo el tráfico que entra y sale de una red. Para ello se emplean tres diferentes tipos de filtrado o alguna combinación de ellos.

DEFINICIONES AUTENTICACIÓN

 

Autenticación, autentificación(no recomendado) o mejor dicho acreditación, en términos de seguridad de redes de datos, se puede considerar uno de los tres pasos fundamentales (AAA). Cada uno de ellos es, de forma ordenada:
1.       Autenticación En la seguridad de ordenador, la autenticación es el proceso de intento de verificar la identidad digital del remitente de una comunicación como una petición para conectarse. El remitente siendo autenticado puede ser una persona que usa un ordenador, un ordenador por sí mismo o un programa del ordenador. En un web de confianza, "autenticación" es un modo de asegurar que los usuarios son quién ellos dicen que ellos son - que el usuario que intenta realizar funciones en un sistema es de hecho el usuario que tiene la autorización para hacer así.
2.       Autorización Proceso por el cual la red de datos autoriza al usuario identificado a acceder a determinados recursos de la misma.
3.       Auditoría Mediante la cual la red o sistemas asociados registran todos y cada uno de los accesos a los recursos que realiza el usuario autorizados o no.
El problema de la autorización a menudo, es idéntico a la de autenticación; muchos protocolos de seguridad extensamente adoptados estándar, regulaciones obligatorias, y hasta estatutos están basados en esta asunción. Sin embargo, el uso más exacto describe la autenticación como el proceso de verificar la identidad de una persona, mientras la autorización es el proceso de verificación que una persona conocida tiene la autoridad para realizar una cierta operación. La autenticación, por lo tanto, debe preceder la autorización. Para distinguir la autenticación de la autorización de término estrechamente relacionada, existen unas notaciones de taquigrafía que son: A1 para la autenticación y A2 para la autorización que de vez en cuando son usadas, también existen los términos AuthN y AuthZ que son usados en algunas comunidades.
LLAVES PÚBLICAS Y PRIVADAS
Digamos que tengo que enviar una información importante pero no puedo confiar en el mensajero. Por lo tanto, escribo mi mensaje en un papel, lo meto en una caja de metal, le pongo un candado y lo envío. La caja llega a su destino sin problema, pero el destinatario no puede leerla, pues no puede abrir el candado. Si le envío la llave, aunque sea por otro medio -otro mensajero-, puede verse que hay un nivel de riesgo, al comprometer la seguridad de la llave, confiándola a extraños. Así funciona el cifra miento convencional.

Cambiemos ahora un poco la situación. Digamos ahora que el destinatario me envía previamente un candado, abierto. Es *su* candado, yo no puedo abrirlo si se cierra, pues la llave solamente la tiene él. La llave permanecerá segura en su poder. Recibo el candado, escribo mi mensaje, lo meto en la caja y cierro la caja con el candado que recibí. A partir de ese momento, ni yo mismo, que escribí el mensaje, puedo ya verlo. Está protegido por el candado. Envío la caja y el destinatario la abre con su llave. Así funciona la llave pública y privada. La llave pública es el candado y su pareja es la llave de metal (llave privada) que lo abre. Por supuesto, esta pareja debe ser fabricada una para la otra.

Una firma digital es un mecanismo criptográfico que permite al receptor de un mensaje firmado digitalmente determinar la entidad originadora de dicho mensaje (autenticación de origen y no repudio), y confirmar que el mensaje no ha sido alterado desde que fue firmado por el originador (integridad).[][]
La firma digital se aplica en aquellas áreas donde es importante poder verificar la autenticidad y la integridad de ciertos datos, por ejemplo documentos electrónicos o software, ya que proporciona una herramienta para detectar la falsificación y la manipulación del contenido.

CERTIFICADO DIGITAL

Un certificado digital o certificado electrónico es un documento firmado electrónicamente por un prestador de servicios de certificación que vincula unos datos de verificación de firma a un firmante y confirma su identidad.
Es un documento que permite al firmante identificarse en Internet. Es necesario para realizar trámites, tanto con las administraciones públicas como con numerosas entidades privadas.[
SSL proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se garantiza su identidad) mientras que el cliente se mantiene sin autenticar.

SEGURIDAD EN SERVICIOS DE CONEXIÓN A INTERNET  SSL.

SSL implica una serie de fases básicas:
Durante la primera fase, el cliente y el servidor negocian qué algoritmos criptográficos se van a usar. Las implementaciones actuales proporcionan las siguientes opciones: