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.
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:
- Control de acceso
- Integridad
- Autenticación de origen de datos
- Rechazo de paquetes repetidos
- Confidencialidad (encriptación)
- 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.
Secure Socket
Layer (SSL)
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.
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:
- Negociar entre las partes el algoritmo que se usará en la comunicación
- Intercambio de claves públicas y autenticación basada en certificados digitales
- Cifrado del tráfico basado en cifrado simétrico
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:
- Para criptografía de clave pública: RSA, Diffie-Hellman, DSA (Digital Signature Algorithm) o Fortezza;
- Para cifrado simétrico: RC2, RC4, IDEA (International Data Encryption Algorithm), DES (Data Encryption Standard), Triple DES y AES (Advanced Encryption Standard);
- Con funciones hash: MD5 o de la familia SHA.