7.1 Servicios Criptograficos
por Victor Guevara
1. 7.1.1 Seguridad de las Comunicaciones
1.1. El primer objetivo de los administradores de red es asegurar la infraestructura de la red, incluyendo routers, switches, servidores y hosts. Esto se logra utilizando técnicas de fortificación (hardening), control de acceso AAA, ACLs y firewalls y monitoreando amenazas utilizando IPS. El siguiente objetivo es asegurar los datos a medida que viajan a través de diferentes enlaces. Esto puede incluir el tráfico interno, pero la mayor preocupación es proteger los datos que viajan por fuera de la organización hacia sucursales, trabajadores remotos y socios de negocios. Asegurar las comunicaciones involucra algunas tareas principales: Autenticación - Garantiza que los mensajes no son falsos y realmente provienen del remitente indicado. Integridad - Similar a la función de checksum, garantiza que nadie ha interceptado y alterado el mensaje. Confidencialidad - Garantiza que, si el mensaje es capturado, no podrá ser descifrado.
1.1.1. Autenticación
1.1.2. La autenticación garantiza que el mensaje proviene del origen del que dice provenir. La autenticación es similar a ingresar un número de información personal (PIN) seguro para realizar operaciones en un cajero automático. El PIN sólo debe ser conocido por el usuario y la institución financiera. El PIN es un secreto compartido que ayuda a prevenir fraudes.
2. 7.1.2 Criptografia
2.1. Autenticación, integridad y confidencialidad son componentes de la criptografía. La criptografía es tanto la práctica como el estudio del ocultamiento de la información. Los servicios criptográficos son la base de muchas implementaciones de seguridad y son utilizados para asegurar la protección de los datos cuando los mismos pueden quedar expuestos a partes no confiables. Comprender las funciones básicas de la criptografía y cómo el cifrado proporciona confidencialidad e integridad son partes importantes de la creación de una política de seguridad exitosa. También es importante comprender los problemas involucrados con la administración de la clave de cifrado.
3. 7.1.3 Criptoanálisis
3.1. Desde que existe la criptografía, existe también el criptoanálisis. El criptoanálisis es la práctica y el estudio para determinar el significado de la información cifrada (romper el código) sin tener acceso a la clave secreta compartida. En el criptoanálisis se utilizan diversos métodos. Ataque por fuerza bruta En un ataque por fuerza bruta, el atacante prueba todas las claves posibles con el algoritmo de descifrado, sabiendo que eventualmente una de ellas funcionará Ataque de criptograma En un ataque de criptograma, el atacante conoce los criptogramas de varios mensajes, todos los cuales han sido cifrados utilizando el mismo algoritmo, pero no conoce el texto plano original. Ataque con texto plano conocido En un ataque con texto plano conocido, el atacante tiene acceso al criptograma de varios mensajes, pero también tiene cierto conocimiento sobre el texto plano contenido en dichos criptogramas. Ataque con texto plano seleccionado En un ataque con texto plano seleccionado, el atacante elige qué datos cifrar con el dispositivo de cifrado y observa el criptograma resultante. Ataque con criptograma seleccionado En un ataque con criptograma seleccionado, el atacante puede seleccionar diferentes criptogramas para descifrar y tiene acceso al texto plano descifrado. Ataque por encuentro a medio camino (Meet-in-the-Middle) El ataque por encuentro a medio camino es un conocido ataque de texto plano. El atacante conoce una porción del texto plano y su correspondiente criptograma.
4. 7.1.4 Criptología
4.1. La criptología es la ciencia de crear y romper códigos secretos. Combina dos disciplinas separadas: la criptografía, que es el desarrollo y utilización de códigos y el criptoanálisis, que es la ruptura de dichos códigos. Existe una relación simbiótica entre ambas disciplinas, porque cada una hace mejor a la otra. Las organizaciones de seguridad emplean miembros de ambas disciplinas y los ponen a trabajar unos contra otros.
5. 7.3 Confidencialidad 7.3.1 Cifrado
5.1. El cifrado criptográfico puede proporcionar confidencialidad en diferentes capas del modelo OSI, incorporando varias herramientas y protocolos: Los dispositivos de cifrado de enlace propietarios proveen confidencialidad a nivel de la capa de enlace de datos. Los protocolos de capa de red, tales como la suite de protocolos IPsec, proveen confidencialidad a nivel de la capa de red.
6. 7.3.2 Data Encription Standard (DES)
6.1. El Data Encryption Standard (DES) es un algoritmo de cifrado simétrico, utilizado normalmente en modo de cifrado por bloques. El algoritmo DES es en esencia una secuencia de permutaciones y sustituciones de bits de datos, combinadas con una clave de cifrado. Se utiliza el mismo algoritmo y la misma clave tanto para el cifrado como el descifrado.
7. 7.3.3 3DES
7.1. Con los avances en el poder de procesamiento de las computadoras, las claves DES originales de 56 bits se volvieron demasiado cortas para soportar ataques realizados con tecnología de mediano presupuesto. Una forma de aumentar la longitud efectiva de la clave DES, sin modificar el algoritmo bien analizado, consiste en utilizar repetidas veces el mismo algoritmo con diferentes claves.
8. 7.3.4 Advanced Encryption Standard (AES)
8.1. Durante algunos años, se había pensado que DES llegaría eventualmente al final de su utilidad. En 1997 fue anunciada la iniciativa AES y se invitó al público a proponer esquemas de cifrado para reemplazar a DES. Luego de un proceso de estandarización de 5 años, durante los cuales se presentaron y evaluaron 15 diseños diferentes, el Instituto Nacional de Estándares y Tecnología de los Estados Unidos (NIST) seleccionó el cifrado por bloques de Rijndael para el algoritmo AES. El cifrado Rijndael, desarrollado por Joan Daemen y Vincent Rijmen, posee una longitud de bloque y longitud de clave variables. Rijndael es un cifrado por bloques iterativo, lo que significa que el bloque de entrada inicial y la clave de cifrado atraviesan múltiples ciclos de transformación antes de generar los datos de salida. El algoritmo puede operar sobre bloques de tamaños variables, utilizando claves de diferente longitud. Pueden utilizarse claves de 128 bits, 192 bits o 256 bits, para cifrar bloques de datos de 128, 192 o 256 bits de longitud y es posible utilizar cualquiera de las nueve combinaciones de bloques y claves.
9. 7.3.5 Algoritmos de Cifrado Alternativos
9.1. SEAL (Software-optimized Encryption Algorithm) es un algoritmo alternativo a los algoritmos DES, 3DES y AES, basados en software. Phillip Rogaway y Don Coppersmith diseñaron SEAL en 1993. Es un cifrado de flujo que utiliza una clave de cifrado de 160 bits. Al ser un cifrado de flujo, los datos deben ser cifrados de forma continua, por lo que es más veloz que el cifrado por bloques. Sin embargo, posee una fase de inicialización más extensa, durante la cual se crea un conjunto grande de tablas utilizando SHA. SEAL tiene un menor impacto sobre el CPU, comparado con otros algoritmos basados en software. A partir de la versión del IOS Cisco 12.3(7)T se incorporó soporte para SEAL.
10. 7.3.6 Intercambio de claves Diffie-Hellman
10.1. Whitfield Diffie y Martin Hellman inventaron el algoritmo Diffie-Hellman (DH) en 1976. El algoritmo DH es la base de la mayoría de los métodos automáticos de intercambio de claves actuales y es uno de los protocolos de red más comunes hoy día. Diffie-Hellman no es un mecanismo de cifrado y no es utilizado para cifrar datos sino que es un método para intercambiar de forma segura las claves para cifrar datos.
11. 7.2 Integridad y Autenticidad Basicas 7.2.1 Hash Criptograficos
11.1. Una función de hash toma datos binarios, llamados mensaje y produce una representación abreviada del mismo, llamada digesto de mensaje. El hashing se basa en una función matemática de un solo sentido relativamente fácil de computar, pero significativamente más difícil de invertir. Moler café es un buen ejemplo de una función de un solo sentido. Es fácil moler granos de café, pero es casi imposible volver a juntar las pequeñas partículas para reconstruir los granos originales.
12. 7.2.2 Integridad con MD5 y SHA-1
12.1. El algoritmo MD5 es un algoritmo de hashing desarrollado por Ron Rivest y utilizado actualmente por una amplia variedad de aplicaciones en Internet
13. 7.2.3 Autenticidad con HMAC
13.1. En la criptografía, un código de autenticación de hash con clave (HMAC o KHMAC - Keyed-Hash Authentication Code) es un tipo de código de autenticación de mensajes (MAC). Un HMAC se calcula utilizando un algoritmo específico, el cual combina una función de hash criptográfico con una clave secreta. Las funciones de hash son la base de mecanismo de protección de HMAC.
14. 7.2.4 Administracion de Claves
14.1. La administración de claves suele considerarse la parte más difícil en el diseño de un criptosistema. Muchos criptosistemas han fallado debido a errores en su administración de claves y todos los algoritmos criptográficos modernos requieren procedimientos de administración del claves. En la práctica, la mayor parte de los ataques a los sistemas criptográficos están dirigidos al nivel de la administración de claves, en lugar del algoritmo criptográfico en sí. Existen algunas características esenciales a considerar sobre la administración de claves:. Generación - Era tarea de César seleccionar la clave de su cifrado. La clave del cifrador Vigenere también es seleccionada por el remitente y el destinatario. Almacenamiento - En un sistema operativo multi-usuario moderno que utiliza criptografía, una clave puede ser almacenada en la memoria.
15. 7.4 Criptografia de clave publica 7.4.1 Cifrado simetrico versus ametrico
15.1. Los algoritmos asimétricos, también conocidos como algoritmos de clave pública, están diseñados de forma tal que la clave utilizada para cifrar los datos sea diferente a la utilizada para descifrarlos. La clave de descifrado no puede ser calculada en un tiempo razonable a partir de la clave de cifrado y viceversa. En el ejemplo, Alice y Bob no intercambiaron las claves pre-compartidas antes de comenzar la comunicación. En su lugar, cada uno disponía de candados separados y sus correspondientes llaves. De este mismo modo, los algoritmos simétricos son utilizados para intercambiar mensajes sin haber tenido nunca un secreto compartido antes del intercambio.
16. 7.4.2 Firmas Digitales
16.1. Las firmas manuscritas han sido utilizadas por mucho tiempo como prueba de autoría de los contenidos de un documento. Las firmas digitales pueden proporcionar las mismas funciones que las firmas manuscritas y mucho más. Por ejemplo, asuma que un cliente envía instrucciones de una transacción mediante un correo electrónico a su agente de bolsa y la transacción resulta mala para el cliente. Es concebible que el cliente pueda alegar no haber enviado nunca la orden de la transacción o que alguien fraguó su correo electrónico.
17. 7.4.3 Rivest, Shamir y Alderman
17.1. RSA es uno de los algoritmos asimétricos más comunes. Ron Rivest, Adi Shamir y Len Adleman inventaron el algoritmo RSA en 1977. Se trata de un algoritmo patentado de clave pública. Su patente expiró en septiembre del año 2000 y el algoritmo es ahora del dominio público. De todos los algoritmos de clave pública que fueron propuestos a través de los años, RSA es por mucho el más sencillo de comprender e implementar. El algoritmo RSA es muy flexible porque posee una clave de longitud variable, por lo que la clave puede ser acortada para acelerar el procesamiento. A cambio, mientras más corta es la clave, menos seguro es el algoritmo.
18. 7.4.4 Insfraestructura de clave publica
18.1. En grandes organizaciones, no resulta práctico que todas las partes intercambien documentos de identificación continuamente. Con protocolos confiables de terceros, todos los individuos acuerdan aceptar la decisión de un tercero neutral.
19. 7.4.5 Estandares PKI
19.1. La estandarización e interoperabilidad de diferentes proveedores de PKI es todavía un problema al interconectar diferentes PKIs. La interoperabilidad entre una PKI y sus servicios de soporte, tales como LDAP (Lightweighted Directory Access Protocol) y directorios X.500, es una preocupación, debido a que muchos proveedores han propuesto e implementado soluciones propietarias en lugar de esperar al desarrollo de estándares. El estado de la interoperabilidad es muy básico, incluso luego de 10 años de desarrollo de programas para PKI.
20. 7.4.6 Autoridades de Certificacion
20.1. Las PKIs pueden formar diferentes topologías de confianza, incluyendo incluyendo topologías PKI de raíz simple (single-root), topologías CA jerárquicas y topologías CA de certificación cruzada (cross-certified). Topología PKI de raíz simple En el modelo PKI de raíz simple, una única CA, también conocida como CA raíz, emite todos los certificados a los usuarios finales. El beneficio es la simplicidad. Sin embargo, existen las siguientes desventajas: Resulta difícil de escalar a un ambiente grande. Requiere una administración estrictamente centralizada. Utilizar una única clave de firma privada conlleva una vulnerabilidad crítica. Si la clave es robada, toda la PKI se desmoronará, ya que no es posible seguir confiando en la CA como único firmador.
21. 7.4.7 Certificados Digitales y Cas
21.1. En el procedimiento de autenticación de CA, el primero paso del usuario al contactar la PKI es obtener en forma segura una copia de la clave pública de la CA. Dicha clave pública verifica todos los certificados emitidos por la CA y resulta vital para la operación apropiada de la PKI.