Source: http://docplayer.es/1462844-El-secreto-encargado-de-mantener-la-informacion-fuera-de-las-manos-de-usuarios-no-autorizados.html
Timestamp: 2017-02-19 12:41:03+00:00

Document:
El secreto, encargado de mantener la información fuera de las manos de usuarios no autorizados. - PDF
El secreto, encargado de mantener la información fuera de las manos de usuarios no autorizados.
Download "El secreto, encargado de mantener la información fuera de las manos de usuarios no autorizados."
Beatriz Pereyra Peralta
1 9 SEGURIDAD 9 SEGURIDAD SECRETOS Resolución del problema de seguridad del secreto Principios criptográficos fundamentales Criptografía clásica Cifrado por sustitución Cifrado por transposición Rellenos de una sola vez...9- Criptografía moderna Cifrado con clave privada (simétrica) Cifrado DES (Data Encryption Standar) Cifrado IDEA (International Data Encryption Algorithm) Cifrado AES (Advanced Encryption Estándar) o Rijndael Otros cifrados simétricos: métodos de bloque y flujo Circuitos y hardware asociado Cifrado con clave pública (asimétrica) Cifrado con clave pública RSA (Rivest, Shamir, Adleman) Otros algoritmos de cifrado con clave pública Localización de los dispositivos de cifrado Comentario clave pública vs clave privada PROTOCOLOS DE SEGURIDAD: AUTENTICACIÓN Y VALIDACIÓN Validación de identificación de clave secreta Validación de identificación basada en clave secreta compartida Establecimiento de una clave compartida: intercambio de claves Diffie-Hellman Validación de identificación usando un centro de distribución de claves Protocolo de autenticación Kerberos Validación de identificación usando criptografía de clave pública TACACS, XTACACS, TACACS+, RADIUS y otros APLICACIONES DE SEGURIDAD: FIRMA DIGITAL Y CERTIFICADOS Resolución del control de integridad Compendio de mensaje MD Compendio de mensaje SHA Resolución del repudio: Firmas digitales Firmas de clave secreta Firmas de clave pública Aplicaciones seguras Aplicaciones seguras y uso de certificados Servidor de directorios Aplicaciones seguras para confidencialidad del correo electrónico Aplicaciones seguras basadas en tarjetas inteligentes y PKI (Public Key Infraestructure) Aplicaciones seguras: Secure Socket Layer REDES Y SEGURIDAD Peligros y modos de ataque Elementos de seguridad Seguridad en red basada en criptografía Túneles Redes Privadas Virtuales (VPNs) IPSEC Conexión segura, SSH: Secure Shell Seguridad en red perimetral Cortafuegos (firewalls) Traducción de direcciones (NAT) Detección de intrusos o IDS (Intrusión Detecction System) Seguridad en red basada en sistema centralizado Encapsuladores (proxies) y pasarelas2 Envolvente de correo Envolvente de acceso ANEXO : SPOOFING Y HIJACKING, SUPLANTACIÓN DE IPs Y ROBO DE SESIONES IP spoofing 'Hijacking' o robo de sesión Spoofing simple Spoofing a ciegas Detectar y evitar el IP spoofing ARP spoofing DNS spoofing ANEXO 2: ATAQUES DE DENEGACIÓN DE SERVICIO Errores de programacion Consumo de ancho de banda Inanicion de recursos Enrutamiento DNS Smurf y Fraggle SYN flooding TearDrop / NewTear / SynDrop / Bonk / Boink / SSPing / Targa / Ping of Death: ping de la muerte Snork KillWin / WinNuke Chargen y Chargen-Echo Trinoo / Tribal Flood Network / Stacheldraht / ANEXO 3: PUERTOS ASIGNADOS EN PROTOCOLOS TCP Y UDP. Fichero /etc/services Al principio de su existencia, las redes de ordenadores fueron usadas generalmente para el envío de correo electrónico y para compartir recursos, generalmente impresoras, en empresas de mediano/gran tamaño. En estas condiciones la seguridad carecía prácticamente de importancia y no fue objeto de atención. Sin embargo, en la actualidad millones de ciudadanos usan redes para transacciones bancarias, compras, etc., la seguridad aparece como un problema potencial de grandes proporciones. Los problemas de seguridad de las redes pueden dividirse de forma general en cuatro áreas interrelacionadas: El secreto, encargado de mantener la información fuera de las manos de usuarios no autorizados. La validación de identificación, encargada de determinar la identidad de la persona/computadora con la que se esta hablando. El no repudio, encargado de asegurar la firma de los mensajes, de igual forma que se firma en papel una petición de compra/venta entre empresas. El control de integridad, encargado de asegurar que el mensaje recibido fue el enviado por la otra parte y no un mensaje manipulado por un tercero. Aunque muchos de estos problemas tratan de resolverse en capas de la red que se encuentran por debajo de la capa de aplicación, por ejemplo en la capa de red pueden instalarse muros de seguridad para mantener adentro (o afuera) los paquetes, en la capa de transporte pueden cifrarse conexiones enteras terminal a terminal, ninguna de ellas resuelve completamente los problemas de seguridad antes enumerados. La resolución de estos problemas de seguridad se realiza como una parte previa o de apoyo de la capa de aplicación. A continuación se expondrán distintos trabajos que tratan de resolver cada uno de los cuatro problemas de seguridad planteados con anterioridad, esto es, el secreto, la validación de identificación, el no repudio y el control de integridad. Antes de comenzar este capítulo, pasemos a realizar una serie de definiciones:3 . La Organización Internacional de Estándares (ISO), como parte de su norma 7498 en la que se establece el modelo de referencia para la interconexión de sistemas abiertos, define la seguridad informática como una serie de mecanismos que minimizan la vulnerabilidad de bienes y recursos, donde un bien se define como algo de valor y la vulnerabilidad se define como la debilidad que se puede explotar para violar un sistema o la información que contiene. Para ello, se han desarrollado protocolos y mecanismos adecuados, para preservar la seguridad. 2. El criptoanálisis, es la ciencia que se encarga de descifrar los mensajes (los intrusos utilizan estas técnicas), mientras que la criptografía busca métodos más seguros de cifrado, y se puede clasificar en: Criptografía clásica: cifrados rudimentarios basados en sustitución y trasposición Criptografía moderna: cifrados basados en algoritmos parametrizados en base a claves 3. seguridad de una red implica la seguridad de cada uno de las computadoras de la red 4. hacker : cualquier barrera es susceptible de ser superada y tiene como finalidad la de salir de un sistema informático (tras un ataque) sin ser detectado. Es un programador 5. cracker : no es un programado y utiliza sus ataques para sacar beneficio económico 6. Amenaza o ataque : intento de sabotear una operación o la propia preparación para sabotearla (poner en compromiso), que a su vez, estas amenazas se pueden realizar por: Compromiso: la entidad atacante obtiene el control de algún elemento interno de la red, por ejemplo utilizando cuentas con contraseña trivial o errores del sistema Modificación: la entidad atacante modifica el contenido de algún mensaje o texto Suplantación: la entidad atacante se hace pasar por otra personareenvío: la entidad atacante obtiene un mensaje o texto en tránsito y más tarde lo reenvía para duplicar su efectodenegación de servicio: la entidad atacante impide que un elemento cumpla su función También es importante resaltar, que los temas que vinculan a seguridad son muy peliagudos y están íntimamente relacionados con temas legales, los cuales no debemos de dejar de lado. Muestra de ello, es que en muchos gobiernos el uso de información cifrada está prohibido. Los Gobiernos tratan de implantar reglas (o estándares de cifrado) que ellos mismos puedan descifrar fácilmente. Por ejemplo en Francia y EEUU no están permitidas transacciones cifradas, que el gobierno no sea capaz de descifrar, pues pueden utilizarse para comercio de armas, delincuencia,... Este capítulo lo vamos a estructurar en cuatro partes:.- Secretos: criptografía 2.- Protocolos de seguridad: autenticación y validación 3.- Aplicaciones y seguridad: integridad y no repudio, firmas digitales y certificados 4.- Redes y seguridad 9-34 9. SECRETOS Resolución del problema de seguridad del secreto. La resolución del problema del secreto en la red (y del secreto de los mensajes en cualquier sistema de comunicación), ha estado siempre unido al cifrado (codificación) de los mensajes. Hasta la llegada de las computadoras, la principal restricción del cifrado consistía en la capacidad del empleado encargado de la codificación para realizar las transformaciones necesarias. Otra restricción adicional consistía en la dificultad de cambiar rápidamente el método de cifrado, pues esto implicaba entrenar a una gran cantidad de empleados. Sin embargo, el peligro de que un empleado fuera capturado por el enemigo, etc., ha hecho indispensable la capacidad de cambiar el método de cifrado al instante. De estos requisitos se deriva el modelo de la figura siguiente: El intruso pasivo simplemente escucha. Intruso El intruso activo altera los mensajes. Texto normal, P Método de cifrado. Método de descifrado. Texto normal, P Clave de cifrado, k Texto cifrado, C=E k (P) Clave de descifrado, k. Figura : Modelo de cifrado de datos Los mensajes a cifrar, conocidos como texto normal, se transforman mediante una función parametrizada por una clave. La salida del cifrado, conocida como texto cifrado, es transmitida después. Si un intruso escucha y copia el texto cifrado, a diferencia del destinatario original, no conoce la clave de cifrado y no puede descifrar fácilmente el texto cifrado. A partir de aquí usaremos C=E k (P) para indicar que el cifrado del texto normal P usando la clave K da el texto cifrado C. Del mismo modo P=D k (C) representa el descifrado de C para obtener el texto normal nuevamente. Por tanto, D k (E k (P))=P. Esta notación sugiere que E y D son sólo funciones matemáticas de dos parámetros, de los cuales hemos escrito uno (la clave) como subíndice, en lugar de como argumento, para distinguirlo del mensaje. Todo esto que estamos hablando queda vinculado a la criptografía: KRYPTOS oculto + GRAPHE escrito en grigo. Una regla fundamental de la criptografía es que se debe suponer que el criptoanalista conoce el método general de cifrado usado, esto es, el criptoanalista conoce E, pues la cantidad de esfuerzo necesario para inventar, probar e instalar un método nuevo cada vez que el viejo es conocido siempre hace impracticable mantenerlo en secreto. Aquí es donde entra la clave. La clave consiste en una cadena relativamente corta que selecciona uno de los muchos cifrados potenciales. En contraste con el método general, que tal vez se cambie cada cierto número de años, la clave puede cambiarse con la frecuencia que se requiera, por lo cual nuestro modelo es un método general estable y conocido públicamente pero parametrizado por una clave secreta y fácilmente cambiable. Un ejemplo de esto es una cerradura de combinación. Todo el mundo conoce como funciona, pero la clave es secreta. Una longitud de clave de tres dígitos significa que existen 000 posibilidades, una longitud de clave de seis dígitos implica un millón de posibilidades. Desde el punto de vista del criptoanalista, el problema del criptoanálisis presenta tres variaciones principales:5 .- Cuando el criptoanalista tiene una cierta cantidad de texto cifrado pero no tiene texto común se enfrenta al problema de sólo texto cifrado 2.- Cuando el criptoanalista tiene texto cifrado y el texto normal correspondiente se enfrenta al problema del texto normal conocido. 3.- cuando el criptoanalista tiene la capacidad de cifrar textos normales que puede escoger se enfrenta al problema de texto normal seleccionado. Principios criptográficos fundamentales. Aunque la criptografía es muy variada como veremos a continuación, existen dos principios fundamentales que sostienen la criptografía y que es importante entender. El primer principio es que todos los mensajes cifrados deben contener redundancia, es decir, información no necesaria para entender el mensaje. Un ejemplo puede dejar claro la necesidad de esto. Considere una compañía de compras por red que tiene productos. Pensando en la eficiencia, los programadores han decidido que los mensajes de pedidos deben consistir en el nombre del cliente de 6 bytes seguido de un campo de datos de 4 bytes (2 para la cantidad y 2 para el número del producto). Los últimos 4 bytes deben cifrarse usando una clave muy grande conocida solo por el cliente y por la compañía. Inicialmente esto puede parecer seguro, y lo es, pues los intrusos pasivos no pueden descifrar los mensajes. Sin embargo, también tiene un fallo que lo vuelve inútil. Supóngase que alguien consigue una lista de compradores de productos (los 6 bytes del número de cliente), entonces es fácil trabajar en un programa para generar pedidos ficticios usando nombres reales de los clientes. Dado que no tiene una lista de claves, pone números aleatorios en los últimos 4 bytes y envía cientos de pedidos. Al llegar estos mensajes, la computadora usa el nombre del cliente para localizar la clave y descifrar el mensaje. Para mala suerte, casi todos los mensajes de 4 bytes descifrados son válidos, pues excepto que el pedido sea de cantidad 0 al descifrarlo o corresponda a un producto cuyo código no existe (cuya probabilidad solo es de un 8.5%), el pedido será atendido. Este problema puede resolverse agregando redundancia a todos los mensajes. Por ejemplo, si se extienden los mensajes de pedido a 2 bytes, de los cuales los 8 primeros deben ser ceros, entonces este ataque ya no funciona, pues la probabilidad de generar un mensaje valido es prácticamente cero. Sin embargo la adición de redundancia simplifica a los criptoanalistas el descifrado de los mensajes, pues ahora un criptoanalista puede saber que ha descifrado correctamente un mensaje al comprobar que los 8 primeros bytes son ceros. Por ello, una cadena aleatoria de palabras sería mejor para incluir en la redundancia. Otro ejemplo de este primer principio, puede ser el concepto de un CRC (Cyclic Redundant Check), es decir una información redundante puesta al final de un mensaje, evitando al máximo que otros puedan generar información que pueda ser interpretada e introduzca vulnerabilidad al proceso de comunicaciones. El segundo principio criptográfico es que deben tomarse algunas medidas para evitar que los intrusos activos reproduzcan mensajes viejos. Si no se toman tales medidas, alguien puede conectarse a la línea telefónica de la empresa de pedidos por red y simplemente continuar repitiendo mensajes válidos enviados previamente. Una de tales medidas es la inclusión en cada mensaje de una marca de tiempo válida durante, digamos, 5 minutos. El receptor puede entonces guardar los mensajes unos 5 minutos, para compararlos con los mensajes nuevos que lleguen y filtrar los duplicados. Los mensajes con mayor antigüedad que 5 minutos pueden descartarse, dado que todas las repeticiones enviadas más de 5 minutos después también se rechazarán como demasiado viejas. A partir de ahora realizaremos un estudio de las técnicas de cifrado, empezando por las técnicas clásicas para pasar a estudiar las técnicas criptográficas modernas. Criptografía clásica. Pasemos a analizar los métodos de la criptografía clásica. La criptografía clásica se basa en algoritmos sencillos y claves muy largas para la seguridad. Las técnicas criptográficas clásicas son básicamente dos, el cifrado por sustitución y el cifrado por transposición. Antes de comenzar su exposición, es necesario 9-56 exponer el criterio de notación que tomaremos. Tomaremos como texto normal aquel que se encuentra representado por letras minúsculas y como texto cifrado el que se encuentre representado por letras mayúsculas. Cifrado por sustitución. El cifrado por sustitución se basa en la sustitución de cada letra o grupo de letras por otra letra o grupo de letras para disfrazarla. Uno de los cifrados por sustitución más antiguos conocidos es el cifrado de Cesar, atribuido al emperador romano Julio Cesar. En este método la letra a se convierte en D, la b en E, la c en F,..., y z se vuelve C. Así, el mensaje ataque se convierte en DWDTXH. Una generalización del cifrado de Cesar permite que el alfabeto de texto cifrado se desplaza k letras en lugar de siempre 3, con lo cual k se convierte en la clave de cifrado. La siguiente mejora es hacer que cada uno de los símbolos del texto normal, por ejemplo las 26 letras del alfabeto inglés, tengan una correspondencia biunívoca con alguna otra letra. Por ejemplo: Texto normal: a b c d e f g h i j k l m n o p q r s t u v w x y z Texto cifrado: Q W E R T Y U I O P A S D F G H J K L Z X C V B N M Este sistema general se llama sustitución monoalfabética, siendo la clave la cadena de 26 letras correspondiente al alfabeto completo. A primera vista, esto podría parecer un sistema seguro, porque aunque el criptoanalista conoce el sistema general (sustitución letra por letra), no sabe cuál de las 26!=4x0 26 claves posibles se está usando. Sin embargo, si se cuenta con una cantidad pequeña de texto cifrado, el cifrado puede descifrarse fácilmente. El ataque básico aprovecha las propiedades estadísticas de los lenguajes naturales. En inglés, la letra e es la más común, seguida de t, o, a, n, i, etc. Las combinaciones de letras más comunes o digramas son th, in, er, re y an. Las combinaciones de tres letras más comunes o trigramas son the, ing, and e ion. Un criptoanalista que intenta descifrar una codificación monoalfabética comenzaría por contar la frecuencia relativa de todas las letras del texto cifrado. Entonces podría asignar tentativamente la más común a la letra e y la siguiente más común a la letra t. Vería entonces los trigramas para encontrar uno común de la forma txe, lo que sugerirá que X es h. De la misma manera si el patrón thyt ocurre con frecuencia, Y probablemente representa a la letra a. Con esta información puede buscar trigramas frecuentes de la forma azw, que con probabilidad es and, y acabar de forma similar descifrando el texto cifrado. Por ejemplo, intentemos descifrar el siguiente fragmento de un poema de Carrol Lewis: kfd ktbd fzm eubd kfd pzyiom mztx ku kzyg ur bzha kfthcm ur mfudm zhx mftnm zhx mdzythc pzq ur ezsszcdm zhx gthcm zhx pfa kfd mdz tm sutythc fuk zhx pfdkfdi ntcm fzld pthcm sok pztk z stk kfd uamkdim eitdx sdruid pd fzld uoi efzk rui mubd ur om zid uok ur sidzkf zhx zyy ur om zid rzk hu foiia mztx kfd ezindhkdi kfda kfzhgdx ftb boef rui kfzk El porcentaje de ocurrencias de letras, digramas, trigramas y palabras en el idioma ingles es: Letras Digramas Trigramas Palabras E 3.05 TH 3.6 THE 4.72 THE 6.42 T 9.02 IN.54 ING.42 OF 4.02 O 8.2 ER.33 AND.3 AND 3.5 A 7.8 RE.30 ION.00 TO 2.36 N 7.28 AN.08 ENT 0.98 A 2.09 I 6.77 HE.08 FOR 0.76 IN.77 R 6.64 AR.02 TIO 0.75 THAT.25 S 6.46 EN.02 ERE 0.69 IS.037 H 5.85 TI.02 HER 0.68 I 0.94 D 4. TE 0.98 ATE 0.66 IT 0.93 L 3.60 AT 0.88 VER 0.63 FOR 0.77 C 2.93 ON 0.84 TER 0.62 AS 0.76 F 2.88 HA 0.84 THA 0.62 WITH 0.76 U 2.77 OU 0.72 ATI 0.59 WAS 0.72 M 2.62 IT 0.7 HAT 0.55 HIS 0.7 P 2.5 ES 0.69 ERS 0.54 HE 0.7 Y.5 ST 0.68 HIS 0.52 BE 0.63 W.49 OR 0.68 RES 0.50 NOT 0.6 G.39 NT 0.67 ILL 0.47 BY 0.57 B.28 HI 0.66 ARE 0.46 BUT 0.56 V.00 EA 0.64 CON 0.45 HAVE 0.55 K 0.42 VE 0.64 NCE 0.45 YOU 0.55 X 0.30 CO 0.59 ALL 0.44 WHICH 0.53 J 0.23 DE 0.55 EVE 0.44 ARE 0.50 Q 0.4 RA 0.55 ITH 0.44 ON 0.47 Z 0.09 RO 0.55 TED 0.44 OR 0.45 En nuestro texto, el porcentaje de aparición de letras es: Z.03 T 5.88 S 2.57 L 0.74 D 0.29 H 5.5 B 2.2 Q 0.37 K 8.82 X 3.68 E 2.2 V 0.00 F 8.46 R 3.68 Y 2.2 J 0.00 M 7.72 O 2.94 A.84 W 0.00 U 6.62 P 2.57 G.0 I 5.88 C 2.57 N.0 Por lo tanto, comparando tenemos que lo más probable es que E se corresponda con la z o con la d y la T con la otra letra o la k o la f. Observemos la aparición de palabras. La palabra kfd aparece 5 veces y la palabra zhx aparece 6 veces, entonces, lo más probable es que una corresponda a la palabra THE y la otra corresponda a la palabra AND. Veamos el análisis letra a letra: Supongamos que kfd corresponde con AND y zhx corresponde con THE, entonces la frecuencia de aparición de las letras en el texto sería: Letra Porcentaje Sustitución Porcentaje Diferencia k 8.82 A f 8.46 N d 0.29 D z.03 T h 5.5 H x 3.68 E Si suponemos ahora que kfd corresponde con THE y zhx corresponde con AND, entonces la frecuencia de aparición de las letras en el texto sería: Letra Porcentaje Sustitución Porcentaje Diferencia k 8.82 T f 8.46 H d 0.29 E z.03 A h 5.5 N x 3.68 D Se observa que en la segunda sustitución, la diferencia de porcentajes es mucho menor que en la primera, por lo cual suponemos como correcta la segunda sustitución, quedando el texto como: THE TtbE HAm eube THE payiom matd Tu TAyg ur bana THtNcm 9-78 ur mhuem AND mhtnm AND meaytnc paq ur eassacem AND gtncm AND pha THE mea tm sutytnc HuT AND phethei ntcm HAlE ptncm sot patt A stt THE uamteim eited seruie pe HAlE uoi ehat rui mube ur om AiE uot ur sieath AND Ayy ur om AiE rat Nu Hoiia matd THE eainentei THEa THANgED Htb boeh rui THAT Si observamos ahora los trigramas, el trigrama ING debe aparecer con frecuencia, por lo cual, observando el texto encontramos 5 ocurrencias de tnc, por lo cual podemos suponer que la t corresponde a la I y la c a la G. Además, en la tabla siguiente puede observarse que la diferencia en porcentaje de aparición es pequeña. Letra Porcentaje Sustitución Porcentaje Diferencia T 5.88 I C 2.57 G.39.8 Realizando la sustitución: THE TIbE HAm eube THE payiom maid Tu TAyg ur bana THINGm ur mhuem AND mhinm AND meaying paq ur eassagem AND gingm AND pha THE mea Im suiying HuT AND phethei nigm HAlE pingm sot pait A sit THE uamteim eiied seruie pe HAlE uoi ehat rui mube ur om AiE uot ur sieath AND Ayy ur om AiE rat Nu Hoiia maid THE eainentei THEa THANgED HIb boeh rui THAT Continuando, la palabra ur aparece 6 veces, si suponemos corresponde a OF, y con la tabla de apariciones de letras, tenemos: Letra Porcentaje Sustitución Porcentaje Diferencia u 6.62 O r 3.58 F Por lo cual, realizando la sustitución: THE TIbE HAm eobe THE payiom maid TO TAyg OF bana THINGm OF mhoem AND mhinm AND meaying paq OF eassagem AND gingm AND pha THE mea Im soiying HOT AND phethei nigm HAlE pingm sot pait A sit THE OamTEim eiied sefoie pe HAlE Ooi ehat FOi mobe OF om AiE OoT OF sieath AND Ayy OF om AiE FAT NO Hoiia maid THE eainentei THEa THANgED HIb boeh FOi THAT Si realizamos ahora la comparación entre las letras que aparecen con más frecuencia en el texto y que aún no han sido sustituidas (m el 7.72 e i el 5.88) con las de mayor frecuencia no encontradas todavía (R el 6.64 y S el 6.46), observamos que si sustituimos m por S e i por R, obtenemos palabras como HAS, THINGS, SHOES, ARE, con lo cual, realizando la sustitución: THE TIbE HAS eobe THE payros SAID TO TAyg OF bana THINGS OF SHOES AND SHInS AND SEAyING paq OF eassages AND gings AND pha THE SEA IS soiying HOT AND phether nigs HAlE pings sot pait A sit THE OaSTERS eried sefore pe HAlE OoR ehat FOR SObE OF os ARE OoT OF sreath AND Ayy OF os ARE FAT NO HoRRa SAID THE earnenter THEa THANgED HIb boeh FOR THAT Realizando un análisis palabra a palabra, podemos reconocer algunas (por ejemplo Ayy debe ser ALL, etc.) y procediendo de esta forma, obtenemos el texto descifrado: THE TIME HAS COME THE WALRUS SAID TO TALK OF MANY THINGS OF SHOES AND SHIPS AND SEALING WAX OF CABBAGES AND KINGS9 AND WHY THE SEA IS BOILING HOT AND WHETHER PIGS HAVE WINGS BUT WAIT A BIT THE OYSTERS CRIED BEFORE WE HAVE OUR CHAT FOR SOME OF US ARE OUT OF BREATH AND ALL OF US ARE FAT NO HURRY SAID THE CARPENTER THEY THANKED HIM MUCH FOR THAT Otro enfoque posible para descifrar el cifrado por sustitución es adivinar una palabra o frase probable. Por ejemplo, dado el siguiente texto cifrado de una compañía contable (mostrado en bloques de cinco caracteres): CTBMN BYCTC BTJDS QXBNS GSTJC BTSWX CTQTZ CQVUJ QJSGS TJQZZ MNQJS VLNSX VSZJU JDSTS JQUUS JUBXJ DSKSU JSNTK BGAQJ ZBGYQ TLCTZ BNYBN QJSW Una palabra muy probable en un mensaje de una compañía contable en inglés es financial. Usando nuestro conocimiento de que financial tiene la letra i repetida, con cuatro letras intermedias entre su aparición, buscamos letras repetidas en el texto cifrado con este espaciado. Encontramos 2 casos, en las posiciones 6, 5, 27, 3, 42, 48, 56, 66, 70, 7, 76 y 82. Sin embargo, sólo dos de éstos, el 3 y el 42, tiene la siguiente letra (correspondiente a n en el texto normal) repetida en el lugar adecuado. De estos dos, sólo el 3 tiene también la a en la posición correcta, por lo que sabemos que financial comienza en la posición 30. A partir de aquí, la deducción de la clave es fácil usando las estadísticas de frecuencia del texto en inglés. Otros métodos de cifrado por sustitución son: Cifrado de Polybius, se introduce el alfabeto dentro de una tabla por filas, donde la table tiene un número de columnas determinado, este número de columnas es la clave conociendo el algoritmo. El texto normal se codifica en base a las coordenadas de las letras del texto normal dentro de dicha tabla. La clave de este cifrado está en la disposición del alfabeto en la tabla, es decir el número de columnas de la tabla A B C D E F g 2 H I J K L M N 3 Ñ O P Q R S t 4 U V W X Y Z + Si P=HOLA, entonces el cifrado consiste en codificar (fila, columna) por tanto el cifrado es (2,), (3,2), (2,5), (,) Cifrado de Trithemius, es un método de sustitución progresivo, basado en el cifrado de Julio Cesar, donde el valor de k varía incrementalmente de forma conocida en los extremos. Ejemplo: clave k=+2 y texto normal P= Hola =>H(+2)=J, o(+3)=r, l(+4)=o, a(+5)=f:: por tanto el texto cifrado sería C= Jrof Cifrado por transposición. Los cifrados por sustitución conservan el orden de los símbolos de texto normal, pero los disfrazan. Los cifrados por transposición en contraste, reordenan las letras pero no las disfrazan. Un ejemplo de cifrado por transposición es la transposición columnar. La clave del cifrado es una palabra o frase que no contiene letras repetidas. En este ejemplo, la clave es MEGABUCK. El propósito de la clave es numerar las columnas, estando la columna bajo la letra clave más cercana al inicio del alfabeto, y así sucesivamente. El texto normal se escribe horizontalmente en filas, el texto cifrado se lee por columnas, comenzando por la columna cuya letra clave es la más baja. M E G A B U C K p l e a s e t r a n s f e r o n Texto normal: pleasetransferonemilliondollarstom 9-910 e m i l l i o n d o l l a r s t o m y s w i s s b a n k a c c o u n t s i x t w o t w o a b c d yswissbankaccountsixtwotwo Texto cifrado: AFLLSKSOSELAWAIATOOSSCTCLNMOMANTES ILYNTWRNNTSOWDPAEDOBUOERIRICXB Para descifrar un cifrado por transposición, el criptoanalista debe primero ser consciente de que está tratando con un cifrado por transposición. Observando la frecuencia de E, T, A, O, I, N, etc., es fácil ver si se ajustan al patrón usual del texto normal. De ser así, es evidente que se trata de un cifrado por transposición, pues en tal cifrado cada letra se representa a sí misma. El siguiente paso es adivinar la cantidad de columnas. En muchos casos, puede adivinarse una palabra o frase probable por el contexto del mensaje. Por ejemplo, supóngase que nuestro criptoanalista sospecha que la frase de texto normal milliondolars aparece en algún lugar del mensaje. Observe que los diagramas MO, IL, LL, LA, IR y OS ocurren en el texto cifrado como resultado de que esta frase da la vuelta. Si se hubiera usado una clave de longitud siete, habrían ocurrido los diagramas MD, IO, LL, LL, IA, OR y NS. De hecho, para cada longitud de clave, se produce un grupo diferente de diagramas de texto cifrado. Buscando las diferentes posibilidades, el criptoanalista con frecuencia puede determinar fácilmente la longitud de la clave. El paso restante es ordenar las columnas. Cuando la cantidad de columnas, k, es pequeña, puede examinarse cada uno de los pares de columnas k(k-) para ver si la frecuencia de sus diagramas es igual a la del texto normal. El par con mejor concordancia se supone correctamente ubicado. Ahora cada columna restante se prueba tentativamente como el sucesor de este par. La columna cuyas frecuencias de digramas y trigramas produce la mejor concordancia se toma tentativamente como correcta. La columna antecesora se encuentra de la misma manera. El proceso completo se repite hasta encontrar un orden potencial. Es probable que el texto normal sea reconocible en algún punto (por ejemplo, sí aparece milloin, quedará claro dónde está el error). Por ejemplo, intentemos descifrar el siguiente fragmento de un libro de texto sobre computación, por lo que "computer" es una palabra de probable aparición. El texto normal consiste por entero en letras (sin espacios). El texto cifrado se dividió en bloques de cinco caracteres para hacerlo más legible. aauan cvlre rurnn dltme aeepb ytust iceat npmey iicgo gorch srsoc nntii imiha oofpa gsivt tpsit lbolr otoex Si la palabra computer aparece en el texto y la transposición columnar es de clave menor que 8, entonces, según el caso deberían aparecer juntas las siguientes letras de la palabra computer según el tamaño de la clave Tamaño Letras Tamaño Letras Tamaño Letras 2 CM 3 CP 4 CU 5 CT 6 CE 7 CR Observando el texto vemos que aparece CE, por lo cual el tamaño de la clave es de tamaño 6. Ordenando el texto en seis columnas, obtenemos: ADIGIT ALCOMP UTERIS AMACHI NETHAT CANSOL VEPROB LEMSFO RPEOPL EBYCAR11 RYINGO UTINST RUCTIO NSGIVE NTOITX Que directamente puede leerse, sin necesidad de realizar ninguna transposición columnar como: A DIGITAL COMPUTER IS A MACHINE THAT CAN SOLVE PROBLEMS FOR PEOPLE BY CARRYING OUT INSTRUCTIONS GIVE TO IT Rellenos de una sola vez. La construcción de un cifrado inviolable en realidad es bastante sencilla. La técnica se conoce desde hace décadas y consiste en escoger una cadena de bits al azar como clave. Luego se convierte el texto normal en una cadena de bits, por ejemplo usando su representación ASCII. Por último, se calcula el or exclusivo, conocido como XOR y cuya tabla de valores lógicos puede verse a continuación. A B A XOR B El texto cifrado resultante no puede descifrarse porque cada texto normal posible es un candidato igualmente probable. El texto cifrado no proporciona al criptoanalista ninguna información en absoluto. En una muestra suficientemente grande de texto cifrado, cada letra ocurrirá con la misma frecuencia, al igual que cada digrama (combinación de dos letras) y cada trigrama (combinación de tres letras). Como ejemplo de cifrado basado en relleno de una sóla vez, cifremos el mensaje "texto cifrado" con la cadena "En un lugar de la Mancha de cuyo nombre " Texto original t e x t o c i f r a d o Codificación ASCII (hex) F F Texto de cifrado E n u n l u g a r d Codificación ASCII (hex) 45 6E E 20 6C Codificación cifrada (hex) 3 0B F C Si procedemos ahora a descifrarlo con la clave de codificación, obtenemos el mensaje original ya que aplicamos la función XOR 2 veces: Codificación cifrada (hex) 3 0B F C Texto de cifrado E n u n l u g a r d Codificación ASCII (hex) 45 6E E 20 6C Codificación ASCII (hex) F F Texto original t e x t o c i f r a d o Sin embargo, este método tiene varias desventajas prácticas. En primer lugar, la clave no puede memorizarse, por lo que tanto el transmisor como el receptor deben llevar una copia por escrito consigo. Además, la cantidad total de datos que pueden transmitirse está limitada a la cantidad de clave disponible. Otro problema es la sensibilidad del método a la pérdida o inserción de caracteres. Si el transmisor y el receptor pierden la sincronía, todos los datos a partir de ahí aparecerán alterados. 9-12 Criptografía moderna. La criptografía moderna usa las mismas ideas básicas que la criptografía tradicional, la transposición y la sustitución, pero su orientación es distinta. Mientras la criptografía tradicional usaba algoritmos sencillos y claves muy largas para la seguridad, hoy en día es cierto la afirmación contraria: el objetivo es hacer algoritmos de cifrado tan complicados y rebuscados que incluso si el criptoanalista obtiene cantidades enormes de texto cifrado a su gusto, no será capaz de entender nada y por tanto de descifrarlo. Las transposiciones y sustituciones pueden implantarse mediante circuitos sencillos. En la figura siguiente se muestran dos dispositivos conocidos como caja P, que se usa para efectuar una transposición de una entrada de 2 bits; y otro dispositivo conocido como caja S, en el cual ingresa un texto normal de 3 bits y sale un texto cifrado de 3 bits. La potencia real de estos elementos básicos sólo se hace aparente cuando ponemos en cascada una serie completa de estas cajas para formar un cifrado de producto como podemos ver en la figura siguiente. Caja P Caja S S Cifrado de producto S5 S2 S6 3 a 8 8 a 3 P P2 P3 S3 S7 S4 S8 Figura 2: Ejemplo de cifrado de producto mediante cajas P y cajas S. El cifrado moderno se divide actualmente en cifrado de clave privada y cifrado de clave pública: en el cifrado de clave privada las claves de cifrado y descifrado son la misma (o bien se deriva de forma directa una de la otra), debiendo mantenerse en secreto dicha clave. Ejemplo: DES (Data Encryption Standar), DES triple e IDEA (International Data Encryption Algorithm). El cifrado de clave privada, es más rápido que el de clave pública (de 00 a 000 veces), y por tanto se utiliza generalmente en el intercambio de información dentro de una sesión. Estas claves también son conocidas como claves de sesión o de cifrado simétricas, ya que en ambos extremos se posee la misma clave. en el cifrado de clave pública, las claves de cifrado y descifrado son independientes, no derivándose una de la otra, por lo cual puede hacerse pública la clave de cifrado siempre que se mantenga en secreto la clave de descifrado. Ejemplo: Cifrado RSA (Rivest, Shamir, Adleman).El cifrado de clave pública es más lento y por tanto se utiliza para intercambiar las claves de sesión. Como este algoritmo utiliza dos claves diferentes, una privada y otra pública el cifrado se conoce como cifrado asimétrico Veremos a continuación algunos algoritmos de cifrado modernos. Cifrado con clave privada (simétrica) Los métodos de cifrado de clave privada, también son conocidos como de clave simétrica, porque ambos extremos conocen la clave para poder descifrar. Cifrado DES (Data Encryption Standar). El algoritmo DES es un algoritmo de cifrado de clave privada desarrollado por IBM a principios de la década de los 70 a partir de otro algoritmo conocido como Lucifer que utilizaba claves de 2 bits y que13 fueron reducidas a 56 bits en el algoritmo DES. La reducción del tamaño de las claves, propuesta por la NSA (Agencia Nacional de Seguridad) originó controversia debido a que sé penso que la NSA había debilitado intencionadamente el algoritmo del DES para poder desencriptarlo. Dicha controversia llegó a su fin cuando en 994 IBM publicó un artículo describiendo los criterios del desarrollo del algoritmo DES. El artículo indica que el diseño se realizó de forma que el algoritmo DES fuera resistente a criptoanálisis, pero lo suficientemente sencillo como para poder ser implementado en un circuito electrónico con la tecnología de principios de los 70. Por tanto, el algoritmo DES se diseño de forma que no pudiera ser descifrado por criptoanálisis, pero si que puede ser descifrado probando todas las claves posibles, asumiendo que se cuenta con el hardware adecuado. En la siguiente figura se muestra un esbozo del algoritmo DES. El texto normal se cifra en bloques de 64 bits, produciendo 64 bits de texto cifrado. El algoritmo, que se parametriza con la clave de 56 bits, tiene 9 etapas diferentes. 64 bits de texto normal L i- R i- Transposición inicial Iteración Clave de 56 bits. Iteración 2 L i- op f(r i-,k i ) Iteración 6 Intercambio de 32 bits Transposición inversa 64 bits de texto cifrado 32 bits L i 32 bits R i Figura 3: Algoritmo del cifrado DES. La primera etapa es una transposición, independiente de la clave, del texto normal de 64 bits. La última etapa es el inverso exacto de esta transposición. La etapa previa a la última intercambia los 32 bits de la izquierda y los 32 bits de la derecha. Las 6 etapas restantes son funcionalmente idénticas, pero se parametrizan mediante diferentes funciones de la clave. El algoritmo se ha diseñado para permitir que el descifrado se haga con la misma clave que el cifrado, simplemente ejecutando los pasos en orden inverso. Cada una de las 6 etapas intermedias toma dos entradas de 32 bits y produce dos salidas de 32 bits. La salida de la izquierda es simplemente una copia de la entrada de la derecha. La salida de la derecha es el or exclusivo a nivel de bit de la entrada izquierda y una función de la entrada derecha y la clave de esta etapa K i. Toda la complejidad reside en esta función. La función consiste en cuatro pasos, ejecutados en secuencia. Primero se construye un número de 48 bits, E, expandiendo el R i- de 32 bits según una regla fija de transposición y duplicación. Después, se aplica un or exclusivo a E y K i. Esta salida entonces se divide en ocho grupos de 6 bits, cada uno de los cuales se alimenta a una caja S distinta. Cada una de las 64 entradas posibles a la caja S se transforma en una salida de 4 bits. Por último estos 8x4 bits se pasan a través de una caja P. En cada una de las 6 iteraciones, se usa una clave diferente. Antes de iniciarse el algoritmo, se aplica una transposición de 56 bits a la clave. Justo antes de cada iteración, la clave se divide en dos unidades de14 bits, cada una de las cuales se gira hacia la izquierda una cantidad de bits dependiente del número de iteración. K i se deriva de esta clave girada aplicándole otra transposición de 56 bits. En cada vuelta (o iteración) se extrae y permuta de los 56 bits un subgrupo de 48 bits diferente. Descifrado del DES. Aunque en un principio el DES parecía inviolable, dos investigadores de criptografía de Standford diseñaron en 977 una máquina para violar el DES y estimaron que podría construirse por unos 20 millones de dólares. Dado un trozo pequeño de texto normal y el texto cifrado correspondiente, esta máquina podría encontrar la clave mediante una búsqueda exhaustiva del espacio de claves de 2 56 en menos de un día. Otros autores han diseñado máquinas capaces de descifrar el DES mediante búsqueda exhaustiva en unas cuatro horas. Otra estrategia similar es descifrar el DES por software. Aunque el cifrado es.000 veces más lento por software que por hardware, una computadora casera de alto nivel aún puede efectuar unos cifrados/segundo en software, y es probable que este ociosa unos 2 millones de segundos al mes. Este tiempo de inactividad podría usarse para descifrar el DES. Si alguien pusiera un mensaje en uno de los grupos de noticias de Internet, no debería ser difícil conseguir las personas necesarias para revisar las 7x0 6 claves en un mes. Probablemente la idea más innovadora para descifrar el DES es la lotería china. En este diseño, cada radio y televisión tiene que equiparse con un chip DES barato capaz de realizar millón de cifrados/segundo en hardware. Suponiendo que cada una de los 200 millones de personas de China tiene una radio o televisor, cada vez que el gobierno quiera descifrar un mensaje codificado DES, simplemente difunde el par texto normal/texto cifrado y cada uno de los 200 millones de chips comienzan a buscar en su sección preasignada del espacio de claves. En 60 segundos se encontrarán una o más correspondencias. Para asegurar que se informe, los chips podrían programarse para anunciar un mensaje de que se ha ganado un premio informado a la autoridad competente. La conclusión que se puede obtener de estos argumentos es que el DES no es seguro. Sin embargo, surge la idea de ejecutar el DES dos veces, con dos claves de 56 bits distintas. Esto proporciona un espacio de 2 2, esto es, 5x0 33, lo cual provocaría que el ataque de la lotería china requiriese 00 millones de años. Sin embargo dos investigadores han desarrollado un método que hace sospechoso al doble cifrado. El método de ataque se llama encuentro a la mitad y funciona como sigue. Supóngase que alguien ha cifrado doblemente una serie de bloques de texto normal usando el modo de libro de código electrónico. Para unos pocos valores de i, el criptoanalista tiene pares igualados (P i,c i ) donde: C i =E k2 (E k (P i )) Si ahora aplicamos la función de descifrado D k2 a cada lado de la ecuación, obtenemos: D k2 (C i )=E k (P i ) Porque el cifrado de x y su descifrado posterior con la misma clave produce x. El ataque de encuentro a la mitad usa esta ecuación para encontrar las claves DES, K y K 2, como sigue:. Calcular R i =E(P ) para los 2 56 valores de i, donde E es la función de cifrado DES. Ordenar esta tabla en orden ascendente según R i. 2. Calcular S j =Dj(C ) para todos los 2 56 valores de j, donde D es la función de descifrado DES. Ordenar esta tabla en orden ascendente según S j. 3. Barrer la primera tabla en busca de un R i igual a algún S j de la segunda tabla. Al encontrar un par, tenemos un par de claves (i,j) tal que D j (C )=E i (P ). Potencialmente i es K y j es K2.15 4. Comprobar si E j (E i (P 2 )) es igual a C 2. Si lo es, intentar todos los demás pares (texto normal, texto cifrado). De no serlo, continuar buscando pares en las dos tablas. Ciertamente ocurrirán muchas falsas alarmas antes de encontrar las claves reales, pero tarde o temprano se encontrarán. Este ataque requiere sólo 2 57 operaciones de cifrado o descifrado (para construir las dos tablas), solamente el doble que Sin embargo requiere un total de 2 60 bytes de almacenamiento para las dos tablas, por lo que actualmente no es factible en su forma básica, aunque se han desarrollado varias optimizaciones y concesiones que permiten menos almacenamiento a expensas de más computo. En conclusión, el cifrado doble usando el DES tampoco es mucho más seguro que el cifrado sencillo. Cifrado DES triple. Como hemos visto, el cifrado realizado con el algoritmo DES es descifrable mediante diversos tipo de ataques de fuerza bruta, hecho que corroboro IBM en su artículo de 994, indicando de forma explícita que la NSA decidió que así fuera con el fin de poder desencriptar los mensajes que deseara. Parece, por tanto, que el cifrado con el algoritmo DES no es seguro, sin embargo, el cifrado triple con el algoritmo DES es otro asunto. El método seleccionado, que se ha incorporado al estándar internacional 8732, se ilustra en la siguiente figura. K K 2 K K K 2 K P E D E C C D E D P Figura 4: Esquema del cifrado DES triple. Aquí se usan dos claves y tres etapas. En la primera etapa el texto normal se cifra con K. En la segunda etapa el algoritmo DES se ejecuta en modo de descifrado, usando K 2 como clave. Por último, se hace otro cifrado usando K. El hecho de que se usen dos claves y en modo EDE (cifrado-descifrado-cifrado) en lugar de EEE (cifrado-cifrado-cifrado) es debido a dos motivos:. En primer lugar, los criptógrafos admiten que 2 bits son suficientes para las aplicaciones comerciales por ahora. Subir a 68 bits (3 claves) simplemente agregaría carga extra innecesaria de administrar y transportar otra clave. 2. En segundo lugar, la razón de cifrar, descifrar y luego cifrar de nuevo es la compatibilidad con los sistemas DES de una sola clave. Tanto las funciones de cifrado como de descifrado son correspondencias entre números de 64 bits. Desde el punto de vista criptográfico, las dos correspondencias son igualmente robustas. Sin embargo, usando EDE en lugar de EEE, una computadora que usa cifrado triple puede hablar con otra que usa cifrado sencillo simplemente estableciendo K =K 2. Esta propiedad permite la introducción gradual del cifrado triple. Cifrado IDEA (International Data Encryption Algorithm). Después de comprobar la debilidad del algoritmo DES en su forma simple, diversos trabajos propusieron nuevos métodos de cifrados de bloques (BLOWFISH, Crab, FEAL, KHAFRE, LOKI9, NEWDES, REDOCII, SAFER K64). Sin embargo el más interesante e importante de los cifrados posteriores al algoritmo DES es el algoritmo IDEA, algoritmo internacional de cifrado de datos. El algoritmo IDEA es un algoritmo de clave privada que fue diseñado por dos investigadores en Suiza, usa una clave de 28 bits, lo que lo hará inmune durante décadas a los ataques de la fuerza bruta, la lotería china y a los ataques de encuentro a la mitad. No hay ninguna técnica o máquina conocida actualmente que se crea que puede descifrar el algoritmo IDEA. 9-516 La estructura básica del algoritmo se asemeja al algoritmo DES en cuanto a que se alteran bloques de entrada de texto normal de 64 bits en una secuencia de iteraciones parametrizadas para producir bloques de salida de texto cifrado de 64 bits, como se puede ver en la figura siguiente. Cuatro bloques de entrada de 6 bits 64 bits de texto normal Iteración K X K 2 + K 3 + K 4 # # X Iteración 2 K 5 X + + X K 6 Iteración 7 # # # # Iteración 8 Transformación 64 bits de texto cifrado + X # Cuatro bloques de salida de 6 bits Suma módulo 2 6 de 6 bits Multiplicación módulo de 6 bits OR EXCLUSIVO de 6 bits Figura 5: Algoritmo del cifrado IDEA. Dada la extensa alteración de bits (por cada iteración, cada uno de los bits de salida depende de cada uno de los bits de entrada), basta con ocho iteraciones. Como con todos los cifrados de bloque, el algoritmo IDEA también puede usarse en el modo de realimentación de cifrado y en los demás modos del algoritmo DES. El algoritmo IDEA usa tres operaciones, todas sobre números sin signo de 6 bits. Estas operaciones son un or exclusivo, suma módulo 2 6 y multiplicación módulo Las tres operaciones se pueden efectuar fácilmente en una microcomputadora de 6 bits ignorando las partes de orden mayor de los resultados. Las operaciones tienen la propiedad de que ningunos dos pares obedecen la ley asociativa ni la ley distributiva, dificultando el criptoanálisis. La clave de 28 bits se usa para generar 52 subclaves de 6 bits cada una, 6 por cada una de las ocho iteraciones y 4 para la transformación final. El descifrado usa el mismo algoritmo que el cifrado, sólo que con subclaves diferentes. Cifrado AES (Advanced Encryption Estándar) o Rijndael. Es considerado el sucesor de DES. Este algoritmo se adoptó oficialmente en octubre del 2000 como nuevo Estándar Avanzado de Cifrado (AES) por el NIST (National Institute for Standards and Technology) para su empleo en aplicaciones criptográficas. Sus autores son dos, los belgas Joan Daemen y Vincent Rijmen, de ahí su nombre Rijndael. Tiene como peculiaridad que todo el proceso de selección, revisión y estudio tanto de este algoritmo como de los restantes candidatos, se efectuó de forma pública y abierta, por lo que, toda la comunidad criptográfica mundial ha participado en su análisis, lo cual convierte a Rijndael en un algoritmo perfectamente digno de la confianza de todos.17 AES es un sistema de cifrado por bloques, diseñado para manejar longitudes de clave y de bloque variables, ambas comprendidas entre los 28 y los 256 bits. AES es un algoritmo que se basa en aplicar un número determinado de rondas a un valor intermedio que se denomina estado. Dicho estado puede representarse mediante una matriz rectangular de bytes, que posee cuatro filas, y Nb columnas. Así, por ejemplo, si nuestro bloque tiene 60 bits (tabla 5), Nb será igual a 5. a 0,0 a 0, a 0,2 a 0,3 a 0,4 a,0 a, a,2 a,3 a,4 a 2,0 a 2, a 2,2 a 2,3 a 2,4 a 3,0 a 3, a 3,2 a 3,3 a 3,4 Tabla 5: Ejemplo de matriz de estado con N b =5 (60 bits). La clave tiene una estructura análoga a la del estado, y se representará mediante una tabla con cuatro filas y N k columnas. Si nuestra clave tiene, por ejemplo, 28 bits, N k será igual a 4 (tabla 6). k 0,0 k 0, k 0,2 k 0,3 k,0 k, k,2 k,3 k 2,0 k 2, k 2,2 k 2,3 k 3,0 k 3, k 3,2 k 3,3 Tabla 6: Ejemplo de clave con N k =4 (28 bits). El bloque que se pretende cifrar o descifrar se traslada directamente byte a byte sobre la matriz de estado, siguiendo la secuencia a 0,0, a,0, a 2,0, a 3,0, a 0,, y análogamente, los bytes de la clave se copian sobre la matriz de clave en el mismo orden, a saber, k 0,0, k,0, k 2,0, k 3,0, k 0,. Siendo B el bloque que queremos cifrar, y S la matriz de estado, el algoritmo AES con n rondas queda como sigue:. Calcular K 0,K, K n subclaves a partir de la clave K. 2. S B K 0 3. Para i = hasta n hacer 4. Aplicar ronda i-ésima del algoritmo con la subclave Ki. El algoritmo de descifrado consistirá en aplicar las inversas de cada una de las funciones en el orden contrario, y utilizar los mismos Ki que en el cifrado, sólo que comenzando por el último. Es un algoritmo resistente al criptoanálisis tanto lineal como diferencial y uno de los más seguros en la actualidad ya que para recuperar la clave a partir de un par texto cifrado-texto claro hay que realizar una búsqueda exhaustiva. Las Rondas de AES Puesto que AES permite emplear diferentes longitudes tanto de bloque como de clave, el número de rondas requerido en cada caso es variable. En la tabla 7 se especifica cuantas rondas son necesarias en función de Nb y Nk. N b =4 (28 N b =6 (92 N b =8 (256 bits) bits) bits) N k =4 (28 bits) N k =6 (92 bits) N k =8 (256 bits)18 Tabla 7: Número de rondas para AES en función de los tamaños de clave y bloque. Siendo S la matriz de estado, y K i la subclave correspondiente a la ronda i-ésima, cada una de las rondas posee la siguiente estructura:. S ByteSub(S) 2. S DesplazarFila(S) 3. S MezclarColumnas(S) 4. S Ki S Estas cuatro funciones están diseñadas para proporcionar resistencia frente a criptoanálisis lineal y diferencial. Cada una de las funciones tiene un propósito: Funciones DesplazarFila y MezclarColumnas permiten obtener un alto nivel de difusión a lo largo de varias rondas. Función ByteSub consiste en la aplicación paralela de s-cajas. La capa de adición de clave es un simple or-exclusivo entre el estado intermedio y la subclave correspondiente a cada ronda. La última ronda es igual a las anteriores, pero eliminando el paso 3. Función ByteSub La transformación ByteSub es una sustitución no lineal que se aplica a cada byte de la matriz de estado, mediante una s-caja 8*8 invertible, que se obtiene componiendo dos transformaciones:. Cada byte (2 8 ) genera el polinomio irreducible m(x) = x 8 +x 4 +x 3 +x+, y sustituido por su inversa multiplicativa. El valor cero queda inalterado. 2. Después se aplica la siguiente transformación afín en GF(2), siendo x 0, x,, x 7 los bits del byte correspondiente, e y 0, y,, y 7 los del resultado: + = * x x x x x x x x y y y y y y y y La función inversa de ByteSub sería la aplicación de la inversa de la s-caja correspondiente a cada byte de la matriz de estado. Función DesplazarFila Esta transformación consiste en desplazar a la izquierda cíclicamente las filas de la matriz de estado. Cada fila f i se desplaza un número de posiciones c i diferente. Mientras que c 0 siempre es igual a cero (esta fila siempre permanece inalterada), el resto de valores viene en función de N b y se refleja en la tabla 8. N b c c 2 c19 Tabla 8: Valores de c i según el tamaño de bloque N b La función inversa de DesplazarFila será, obviamente, un desplazamiento de las filas de la matriz de estado el mismo número de posiciones que en la tabla 2.5, pero a la derecha. Función MezclarColumnas Para esta función, cada columna del vector de estado se considera un polinomio cuyos coeficientes pertenecen a GF(28) y se multiplica módulo x 4 + por: c(x) = 03x 4 + 0x 2 + 0x + 02 donde 03 es el valor hexadecimal que se obtiene concatenando los coeficientes binarios del polinomio correspondiente en GF(28), en este caso , o sea, x+, y así sucesivamente. La inversa de MezclarColumnas se obtiene multiplicando cada columna de la matriz de estado por el polinomio: d(x) = 0Bx 4 + 0Dx x + 0E Cálculo de las Subclaves Las diferentes subclaves Ki se derivan de la clave principal K mediante el uso de dos funciones: una de expansión y otra de selección. Siendo n el número de rondas que se van a aplicar, la función de expansión permite obtener, a partir del valor de K, una secuencia de 4*(n+)*N b bytes. La selección simplemente toma consecutivamente de la secuencia obtenida bloques del mismo tamaño que la matriz de estado, y los va asignando a cada Ki. Sea K(i) un vector de bytes de tamaño 4*N k, conteniendo la clave, y sea W(i) un vector de N b *(n+) registros de 4 bytes, siendo n el número de rondas. La función de expansión tiene dos versiones, según el valor de N k : a) Si Nk 6:. Para i desde 0 hasta N k - hacer 2. W(i) (K(4 * i), K(4 * i + ), K(4 * i + 2), K(4 * i + 3)) 3. Para i desde Nk hasta Nb * (n + ) hacer 4. tmp W(i - ) 5. Si i mod Nk = 0 6. tmp Sub(Rot(tmp)) R(i/Nk) 7. W(i) W(i - Nk) tmp b) Si Nk > 6:. Para i desde 0 hasta Nk - hacer 2. W(i) (K(4 * i), K(4 * i + ), K(4 * i + 2), K(4 * i + 3)) 3. Para i desde Nk hasta Nb * (n + ) hacer 4. tmp W(i - ) 5. Si i mod Nk = 0 6. tmp Sub(Rot(tmp)) R c (i/n k ) 7. Si i mod Nk = 4 8. tmp Sub(tmp) 9. W(i) W(i - N k ) tmp En los algoritmos anteriores, la función Sub devuelve el resultado de aplicar la s-caja de AES a cada uno de los bytes del registro de cuatro que se le pasa como parámetro. La función Rot desplaza a la izquierda una posición los bytes del registro, de tal forma que si le pasamos como parámetro el valor (a, b, c, d) nos devuelve (b, c, d, a). Finalmente, R c (j) es una constante definida de la siguiente forma: R c (j) = (R(j), 0, 0, 0) 9-920 Cada R(i) es el elemento de GF(2 8 ) correspondiente al valor x (i-). Otros cifrados simétricos: métodos de bloque y flujo En general, estos métodos simétricos tienen el inconveniente de la distribución de claves. La ventaja es que son rápidos. Otro problema que aparece, es el procesamiento de la información por bloques de un tamaño conocido. Por ejemplo, DES procesa a bloques de 64 bits (8 bytes), lo cual con un intruso avispado, podría hacer movimiento de bloques dentro del mismo cifrado, sin levantar alarma. Otros cifrados de bloque que también sufren este problema son RC5, Blowfish El problema de trabajar con bloques de 64 bytes se resuelve por diferentes métodos: basados en flujo, que operan por bloques, pero convolucionando (por ejemplo con una XOR) la salida actual con salidas anteriores. Ejemplos: RC2, RC4 y CAST. con rellenos variables por bloque, por ejemplo insertando 0s e indicando la cantidad de rellenos con algoritmos de bloque y clave variable como el AES (Advanced Encryption Standard) Circuitos y hardware asociado. En la actualidad existe hardware utilizado para cifrar comunicaciones a nivel de red y/o enlace. Ejemplo de ello son las Tarjetas Advancde Integration Module (AIM) para diferente gama de routers Cisco. Cifrado con clave pública (asimétrica) Figura 6: Tarjeta 2600 AIM 2 Mbps Los métodos de cifrado de clave pública, también son conocidos como de clave asimétrica, porque son algoritmos que se basan en un par de claves, una pública que dispone todo el mundo y una clave asociada a dicha clave pública, que es privada y que guarda el usuario encarecidamente. Cifrado con clave pública RSA (Rivest, Shamir, Adleman) Históricamente, el problema de distribución de claves siempre ha sido la parte débil de la mayoría de criptosistemas. Sin importar lo robusto que sea el criptosistema, si un intruso puede robar la clave, el sistema no vale nada. En 976, dos investigadores de la Universidad de Stanford propusieron una clase nueva de criptosistema, en el que las claves de cifrado y descrifrado eran diferentes y la clave de descifrado no podía derivarse de la clave de cifrado. En su propuesta, el algoritmo de cifrado (con clave), E, y el algoritmo de descifrado (con clave), D, tenían que cumplir los tres requisitos siguientes:. D(E(P))=P.21 2. Es excesivamente difícil deducir D de E. 3. E no puede descifrarse mediante un ataque de texto normal seleccionado. El método funciona como sigue. Una persona A que quiera recibir mensajes secretos, primero diseña dos algoritmos E y D, que cumplan los requisitos anteriores. El algoritmo de cifrado y la clave, E A de cifrado, se hacen públicos, de ahí el nombre de criptografía de clave pública. Esto podría hacerse poniéndolos en un archivo accesible a cualquiera que quiera leerlo. A publica también el algoritmo de descifrado, pero mantiene secreta la clave de descifrado D A. Por tanto E A es pública, pero D A es secreta. Ahora veamos si podemos resolver el problema de establecer un canal seguro entre A y B, que nunca han tenido contacto previo. Se supone que tanto la clave de cifrado de A, E A, como la clave de cifrado de B, E B, están en un archivo de lectura pública. Ahora, A toma su primer mensaje P, calcula E B (P) y lo envía a B. B entonces lo descifra aplicando su clave secreta D B (es decir, calcula D B (E B (P))=P). Nadie más puede leer el mensaje cifrado, E B (P), porque se supone que el sistema de cifrado es robusto y porque es demasiado difícil derivar D B de la E B públicamente conocida. A y B ahora pueden comunicarse con seguridad. Figura 7: Escenario de establecimiento de sesión con clave asimétrica o pública La única dificultad del método anterior estriba en que necesitamos encontrar algoritmos que realmente satisfagan los tres requisitos. Debido a las ventajas potenciales de la criptografía de clave pública, muchos investigadores están trabajando en este tema, y ya se han publicado algunos algoritmos. Un buen método fue descubierto por un grupo del M.I.T y es conocido como RSA por las iniciales de sus descubridores (Rivest, Shamir, Adleman). Su método se basa en:. Seleccionar dos números primos grandes, p y q (generalmente mayores que 0 00 ). 2. Calcular n=pxq y z=(p-)x(q-). 3. Seleccionar un número primo con respecto a z (es decir, un número sin ningún factor común con z), llamándolo d. 9-222 4. Encontrar e tal que exd= mod z Con estos parámetros calculados por adelantado, estamos listos para comenzar el cifrado. Dividimos el texto normal (considerado como una cadena de bits) en bloques, para que cada mensaje de texto normal, P, caiga en el intervalo 0<P<n, Esto puede hacerse agrupando el texto normal en bloques de k bits, donde k es el entero más grande para el que 2 k <n es verdad. Para cifrar un mensaje, P, calculamos C=P e (mod n). Para descifrar C, calculamos P=C d (mod n). Puede demostrarse que, para todos los P del intervalo especificado, las funciones de cifrado y descifrado son inversas. Para ejecutar el cifrado, se necesitan e y n. Para llevar a cabo el descifrado se requieren d y n. Por tanto, la clave pública consiste en el par (e,n) y la clave privada consiste en (d,n). La seguridad del método se basa en la dificultad de factorizar números grandes. Si el criptoanalista pudiera factorizar n (conocido públicamente), podría encontrar p y q, y a partir de éstos, z. Equipado con el conocimiento de z y de e, puede encontrar d usando el algoritmo de Euclides. Afortunadamente, los matemáticos han estado tratando de factorizar números grandes durante los últimos 300 años y las pruebas acumuladas sugieren que se trata de un problema excesivamente difícil. De acuerdo con los descubridores del RSA, la factorización de un número de 200 dígitos requiere 4 mil millones de años de tiempo de cómputo; la factorización de un número de 500 dígitos requiere 0 25 años. En ambos casos se supone el mejor algoritmo conocido y una computadora con un tiempo de instrucción de microsegundo. Aun si las computadoras continúan aumentando su velocidad, pasarán siglos antes de que sea factible la factorización de un número de 500 dígitos, y entonces simplemente se puede escoger un p y un q todavía más grandes. Un ejemplo pedagógico trivial del algoritmo RSA se puede ver en la figura siguiente, en la cual se cifra un texto en el que la letra "a" se representa por el valor, la "b" por el valor 2, etc. Texto normal (P) Texto cifrado (C) Después del descifrado Simbólico Numérico P 3 P 3 (mod 33) C 7 C 7 (mod 33) Simbólico s S u U z Z a A n N n N e E Cálculo del transmisor Cálculo del receptor Para este ejemplo hemos seleccionado p=3 y q=, dando n=33 y z=20. Un valor adecuado de d es d=7, puesto que 7 y 20 no tienen factores comunes. Con estas selecciones, e puede encontrarse resolviendo la ecuación 7e=(mod 20), que produce e=3. El texto cifrado C, de un mensaje de texto normal, P, se da por la regla C=P 3 (mod 33). El texto cifrado lo descifra el receptor de acuerdo con la regla P=C 7 (mod 33). En la figura se muestra como ejemplo el cifrado del texto normal suzanne. Dado que los números primos escogidos para el ejemplo son tan pequeños, P debe ser menor que 33, por lo que cada bloque de texto normal puede contener sólo un carácter. El resultado es un cifrado por sustitución monoalfabética, no muy impresionante. En cambio, si hubiéramos seleccionado p y q del orden de 0 00 podríamos tener n del orden de 0 200, por lo que cada bloque podría ser de hasta 664 bits (83 caracteres de 8 bits), contra 64 bits (8 caracteres de 8 bits) para el algoritmo DES. Sin embargo, el algoritmo RSA es demasiado lento para poder cifrar grandes volúmenes de datos, por lo cual suele usarse para distribuir claves de sesión de una sola vez para su uso con los algoritmos DES, IDEA u otros semejantes.23 El tamaño de las claves del RSA puede ser variable, mínimo 500 bits, pero lo habitual suele ser utilizar claves de 52 bits (32 dígitos hexadecimales), 768 o 024 bits. Se puede demostrar y comprobar que si invertimos el orden de las claves, el proceso es exactamente igual de seguro, es decir, es lo mismo D B (E B (P))=P que E B (D B (P))=P, y según el algoritmo C=P d (mod n) y P=C e (mod n). Con ello este algoritmo puede tener utilidad para 2 tipos de situaciones. En el primer caso D B (E B (P))=P para cifrar algo cuando se manda a B, porque utilizo su clave pública y sólo B puede descifrar con su clave privada. En el segundo caso, E B (D B (P))=P, B puede hacer uso de la clave privada para mandar información, y que TODO el mundo pueda leer si pide la clave pública de B y asegura que sólo B puede haber cifrado P, porque sólo B dispone de la clave privada correspondiente. Otros algoritmos de cifrado con clave pública Cabe comentar finalmente que existen otros algoritmos de clave pública (asimétrica), basados siempre en resolución de problemas matemáticos de cálculo costoso, que tienen un procedimiento directo fácil, pero difícil en inverso. Estos métodos son de resolución computacional imposible, para poder resolver la función matemática inversa. Algoritmo de ElGamal Fue diseñado en un principio para producir firmas digitales, pero posteriormente se extendió también para codificar mensajes. Se basa en el problema de los logaritmos discretos, que está íntimamente relacionado con el de la factorización, y en el de Diffie-Hellman. Para generar un par de claves, se escoge un número primo n y dos números aleatorios p y x menores que n. Se calcula entonces y = p x (mod n) La clave pública es (p, y, n), mientras que la clave privada es x. Escogiendo n primo, garantizamos que sea cual sea el valor de p, el conjunto {p, p 2, p 3 } es una permutación del conjunto {, 2, n-} lo suficientemente grande. Firmas Digitales de ElGamal Para firmar un mensaje m basta con escoger un número k aleatorio, tal que mcd(k, n-) =, y calcular a = p k (mod n) b = (m - xa)k - (mod (n - )) La firma la constituye el par (a, b). En cuanto al valor k, debe mantenerse en secreto y ser diferente cada vez. La firma se verifica comprobando que y a a b = p m (mod n) Codificación de ElGamal Para codificar el mensaje m se escoge primero un número aleatorio k primo relativo con (n-), que también será mantenido en secreto. Calculamos entonces las siguientes expresiones a = p k (mod n) b = y k m (mod n) El par (a, b) es el texto cifrado, de doble longitud que el texto original. Para decodificar se calcula m = b * a -x (mod n) Algoritmo de Rabin El sistema de clave asimétrica de Rabin se basa en el problema de calcular raíces cuadradas modulo un número compuesto. Este problema se ha demostrado que es equivalente al de la factorización de dicho número. En primer lugar escogemos dos números primos, p y q, ambos congruentes con 3 módulo 4 (los dos últimos bits a ). Estos primos son la clave privada. La clave pública es su producto, n = pq. 9-2324 Para codificar un mensaje m, simplemente se calcula c = m 2 (mod n) La decodificación del mensaje se hace calculando lo siguiente: m = c (p+) / 4 (mod p) m 2 = (p - c (p+) / 4 ) (mod p) m 3 = c (q+) / 4 (mod q) m 4 = (q - c (q+) / 4 ) (mod q) Luego se escogen a y b tales que a = q(q - (mod p)) y b = p(p - (mod q)). Los cuatro posibles mensajes originales son m a = (am + bm 3 ) (mod n) m b = (am + bm 4 ) (mod n) m c = (am 2 + bm 3 ) (mod n) m d = (am 2 + bm 4 ) (mod n) Desgraciadamente, no existe ningún mecanismo para decidir cuál de los cuatro es el auténtico, por lo que el mensaje deberá incluir algún tipo de información para que el receptor pueda distinguirlo de los otros. Algoritmo DSA El algoritmo DSA (Digital Signature Algorithm) es una parte el estándar de firma digital DSS (Digital Signature Standard). Este algoritmo, propuesto por el NIST, data de 99, es una variante del método asimétrico de ElGamal. Creación del par clave pública-clave privada El algoritmo de generación de claves es el siguiente:. Seleccionar un número primo q tal que 2 59 < q < Escoger t tal que 0 t 8, y seleccionar un número primo p tal que t < p < t, y que además q sea divisor de (p - ). 3. Seleccionar un elemento g Z * p y calcular α = g (p-)/q mod p. 4. Si α = volver al paso Seleccionar un número entero aleatorio a, tal que a q - 6. Calcular y = α a mod p. 7. La clave pública es (p, q, α, y). La clave privada es a. Generación y verificación de la firma Siendo h la salida de una función resumen sobre el mensaje m, la generación de una firma se hace mediante el siguiente algoritmo:. Seleccionar un número aleatorio k tal que 0 < k < q. 2. Calcular r = (α k mod p) mod q. 3. Calcular k - mod q. 4. Calcular s = k - (h + ar) mod q. 5. La firma del mensaje m es el par (r, s). El destinatario efectuará las siguientes operaciones, suponiendo que conoce la clave pública (p, q, α, y), para verificar la autenticidad de la firma:. Verificar que 0 < r < q y 0 < s < q. En caso contrario, rechazar la firma. 2. Calcular el valor de h a partir de m. 3. Calcular ω = s mod q. 4. Calcular u = ϖ * h mod q y u 2 = ϖ * r mod q. 5. Calcular v = (α u y u2 mod p) mod q Aceptar la firma si y sólo si v = rlocalización de los dispositivos de cifrado Existen dos alternativas para la ubicación del cifrado, y vamos a analizarla desde el punto de vista de una sesión TCP/IP:25 -cifrado de enlace a enlace, donde cada nodo intermedio (router) debe descifrar los paquetes -cifrado extremo a extremo, donde sólo los extremos pueden descifrar la información, pero las cabeceras de los paquetes han de viajar descifradas para que los routers puedan encaminar y una combinación de los anteriores, cifrado mixto enlace-enlace, extremo-extremo, donde las cabeceras van cifradas enlace a enlace y los datos extremo a extremo Con esta estrategia de localización de los cifradores, podemos ocultar la información, pero realmente a un intruso sólo se le oculta las direcciones y los contenidos, pero no el volumen de información intercambiado. Para ocultar dicha información, se integra tráfico de relleno, para ocultar el volumen de información real. Por ejemplo, si un usuario trata de acceder a un servidor de banca electrónica y la información intercambiada es mínima, frente a otro usuario que el volumen de información intercambiado es grande, da a entender que el segundo tiene más trato con el banco y el volumen de dinero debería ser mayor. Comentario clave pública vs clave privada Dada la lentitud y coste computacional de los métodos de las claves asimétricas, del orden de 000 veces mayor, aunque es sí más seguros, en la realidad toda conexión remota constar de 2 partes. Un primer establecimiento para validar y autentificar, además de negociar una clave secreta para la sesión, utilizando para ello la clave pública y una segunda parte, que consiste en el cifrado de forma simétrica (DES, 3DES, IDEA,...) con la clave llave secreta negociado. 9-2526 9.2 PROTOCOLOS DE SEGURIDAD: AUTENTICACIÓN Y VALIDACIÓN La validación de identificación es la técnica mediante la cual un proceso comprueba que su compañero de comunicación es quien se supone que es y no un impostor. La verificación de la identidad de un proceso remoto ante un intruso activo malicioso es sorprendentemente difícil y requiere protocolos complejos basados en criptografía. Los métodos de autenticación o validación pueden estar basados en una clasificación más amplia como podemos ver a continuación: biomédicas, por huellas dactilares, retina del ojo,...son muy seguros pero muy costosos tarjetas inteligentes que guardan información de los certificados de un usuario métodos clásicos basados en contraseña, son sistemas basados en esta tecnología están: Método tradicional o comprobación local Método distribuido o en red Los métodos basados en protocolo, también son conocidos como métodos distribuidos o basados en red. El modelo general que usan todos los protocolos de validación de identificación basado en red es éste. Un usuario (en realidad, un proceso) iniciador, digamos A, quiere establecer una conexión segura con un segundo usuario, B. A y B se llaman principales, los personajes centrales de nuestra historia. B es un banquero con el que A quiere hacer negocios. A comienza por enviar un mensaje a B o a un centro de distribución de claves (KDC) confiable, que siempre es honesto. Siguen varios otros intercambios de mensajes en diferentes direcciones. A medida que se envían estos mensajes, un intruso malicioso, C, puede interceptarlos, modificarlos o reproducirlos para engañar a A y a B, o simplemente para estropear sus actividades. No obstante, una vez que se ha completado el protocolo, A está segura de que está hablando con B, y B está seguro de que está hablando con A. Es más, en la mayoría de los protocolos, los dos también habrán establecido una clave de sesión secreta para usarla durante toda la conversación subsiguiente. En la práctica, como hemos dicho en la sección anterior, por razones de prestaciones, todo el tráfico de datos se cifra usando criptografía de clave secreta, aunque la criptografía de clave pública se usa ampliamente con los protocolos de validación de identificación mismos y para establecer la clave de sesión. Por esto, la clave pública es utilizada únicamente para identificarse inicialmente y conseguir una clave de sesión. Obviamente esta clave debe ser mucho más confidencial que la clave de sesión, dado que si un intruso la obtuviera, podría descifrar y obtener desde ese momento TODAS las claves de TODAS las sesiones que realizáramos. El objetivo es usar una clave de sesión nueva, seleccionada aleatoriamente, para cada nueva conexión con tal de reducir al mínimo la cantidad de tráfico que es enviado y así la cantidad de texto cifrado que puede obtener un intruso está limitado sólo al de la sesión. En el caso de que el intruso descifrara y obtuviera la clave, con suerte, la única clave presente en ese momento sería la clave de la sesión. Las claves públicas o secretas compartidas siempre se guardan bajo fuerte custodia, ya que son la clave para obtener todas las demás.. Los métodos distribuidos o en red además se clasifican en: clave secreta (privada) basados en clave compartida, Diffie Hellman basado en servidores con registro de todos los usuarios. Ejemplo TACACS+ y Radius basados en NIS, NIS+ (Network Information Service) basados en centros de distribución de clavesbasados en criptografía, Kerberos clave pública (que veremos en mayor detalle en el siguiente apartado) basados en servidores de directorios X.500, LDAP (Lighweight Directory Access Protocol) basados en Certificados Pasemos a ver con detalle cada uno de ellos.27 Validación de identificación de clave secreta. Veremos a continuación distintos protocolos de validación basados en el uso de una clave secreta compartida por los usuarios A y B o por los usuarios y por un centro de distribución de claves (KDC). Validación de identificación basada en clave secreta compartida. Para nuestro primer protocolo de validación de identificación, supondremos que A y B ya comparten una clave secreta K AB. Esta clave compartida podría haberse acordado telefónicamente o en persona pero, en cualquier caso, no a través de la (insegura) red. Este protocolo se basa en un principio encontrado en muchos protocolos de validación de identificación: una parte envía un número aleatorio a la otra, que entonces lo transforma de una manera especial y devuelve el resultado. Tales protocolos se llaman protocolos de reto-respuesta. En éste, y en los subsiguientes protocolos de validación de identificación se usara la siguiente notación. A y B son las identidades de las procesos que desean verificar su identidad y C es la identidad del intruso. R i son los retos, donde el subíndice identifica el retador. K i son las claves, donde i indica el dueño; K s es la clave de la sesión. La secuencia de mensajes de nuestro primer protocolo de validación de identificación de clave compartida se muestra en la figura siguiente. 2 A R B A 3 K AB (R B ) B 4 R A 5 K AB (R A ) Figura 8: Validación de identificación de clave compartida. En el mensaje, A envía su identidad, A, a B de manera que la entienda B. B, por supuesto, no tiene manera de saber si este mensaje vino de A o de C, por lo que escoge un reto, un número aleatorio grande, R B, y lo envía a A como mensaje 2, en texto normal. A entonces cifra el mensaje con la clave que comparte con B y envía el texto cifrado K AB (R B ), en el mensaje 3. Cuando B ve este mensaje, de inmediato sabe que vino de A porque C no conoce K AB y, por tanto, no pudo haberlo generado. Es más, dado que se selecciono R B al azar de un espacio grande (digamos, números aleatorios de 28 bits), es muy poco probable que C haya visto R B y su respuesta en una sesión previa. En este punto, B está seguro que está hablando con A, pero A no está segura de nada; hasta donde sabe, C podría haber interceptado el mensaje y enviado R B como respuesta. Para saber a quién le está hablando, A selecciona un número al azar, R A, y lo envía a B como texto normal, en el mensaje 4. Cuando B responde con R AB (K A ), A sabe que está hablando con B. Si desean establecer ahora una clave de sesión, A puede seleccionar una K S, y enviársela a B cifrada con K AB. 9-2728 Aunque el protocolo anterior funciona, contiene mensajes de más. Estos pueden eliminarse combinando información y reduciendo el protocolo a tres mensajes, como puede verse en la siguiente figura: A, R A A 2 R B, K AB (R A ) B 3 K AB (R B ) Figura 9: Mejora del algoritmo de validación de identificación de clave compartida. Sin embargo, estos protocolos poseen un fallo. Un intruso C puede burlar este protocolo usando lo que se conoce como ataque por reflexión. En particular, C puede inutilizarlo si es posible abrir al mismo tiempo varias sesiones con B. Esta situación sería cierta si, por ejemplo, B es un banco y está preparado para aceptar muchas conexiones simultáneas de los cajeros bancarios. El ataque por reflexión de C se muestra en la figura siguiente; comienza cuando C indica que es A y envía R C. B responde, como de costumbre, con su propio reto, R B. Ahora C está atorado, pues no conoce K AB (R B ). A, R C 2 R B, K AB (R C ) Primera sesión C 3 A, R B B 4 R B2, K AB (R B ) Segunda sesión 5 K AB (R B ) Cierre Primera sesión Figura 0: Ataque por reflexión al algoritmo de validación de identificación de clave compartida. C puede abrir una segunda sesión con el mensaje 3, proporcionando como reto el R B tomado del mensaje 2. B lo cifra y envía de regreso K AB (R B ) en el mensaje 4. Ahora C tiene toda la información faltante, por lo que puede completar la primera sesión y abortar la segunda. B ahora está convencido de que C es A, por lo que le autoriza cualquier operación que desee hacer como si fuera A. Tres reglas generales que frecuentemente son de ayuda son las siguientes:. Hacer que el iniciador demuestre quién es antes de que lo tenga que hacer el respondedor. En este caso, B regala información valiosa antes de que C dé cualquier prueba de su identidad. 2. Hacer que el iniciador y el respondedor usen diferentes claves para comprobación, incluso si esto significa tener dos claves compartidas, K AB y K AB. 3. Hacer que el iniciador y el respondedor tomen sus retos de diferentes conjuntos. Por ejemplo, el iniciador debe usar números pares y el respondedor números nones.29 Las tres reglas se violaron aquí, con resultados desastrosos. Nótese que nuestro primer protocolo de validación de identificación (de cinco mensajes) requiere que A compruebe primero su identidad, por lo que ese protocolo no está a merced del ataque por reflexión. Establecimiento de una clave compartida: intercambio de claves Diffie-Hellman. Hasta ahora hemos supuesto que A y B comparten una clave secreta. Pero puede no ser así, sin embargo, y afortunadamente, existe una manera de que completos desconocidos establezcan una clave secreta a plena luz del día, aún con C registrando cuidadosamente cada mensaje. El protocolo que permite que dos extraños establezcan una clave secreta compartida se llama intercambio de claves Diffie-Hellman, y funciona como sigue. A y B tiene que acordar dos números primos grandes, n y g, donde (n-)/2 también es primo y g debe cumplir ciertas condiciones. Esto números pueden ser públicos, por lo que cualquiera de ellos puede escoger n y g y decírselo al otro abiertamente. Ahora, A escoge un número grande (digamos de 52 bits), x, y lo mantiene en secreto. De la misma manera, B escoge un número secreto grande y. A inicia el protocolo de intercambio de claves enviando a B un mensaje que contiene (n, g, g x mod n), como se muestra en la figura siguiente. B responde enviando a A un mensaje que contiene g y mod n. Ahora A toma el número que B le envió y lo eleva a la potencia x para obtener (g y mod n) x. B lleva a cabo una tarea parecida para obtener (g x mod n) y. Por las leyes de la aritmética modular, ambos cálculos arrojan g xy mod n. Ahora A y B comparten una clave secreta g xy mod n. A selecciona x B selecciona y n, g, g x mod n A 2 g y mod n B A calcula (g y mod n) x = g xy mod n B calcula (g x mod n) y = g xy mod n Figura :Intercambio de claves Diffie-Hellman. Por supuesto, C ha visto ambos mensajes, así que conoce g y n del mensaje. Si C pudiera calcular x y y, podría averiguar la clave secreta. El problema es que, dado sólo g x mod n, no es posible encontrar x. No se conoce un algoritmo práctico para calcular logaritmos discretos módulo un número primo muy grande. A pesar de la elegancia del algoritmo Diffie-Hellman, hay un problema: cuando B recibe la tripleta (n, g, g x mod n), no sabe si es A o C quien se la ha enviado. No hay manera de saberlo. Desgraciadamente, C puede explotar este hecho para engañar tanto a A como a B, como se ilustra en la siguiente figura. 9-2930 A selecciona x C selecciona z B selecciona y n, g, g x mod n 2 n, g, g z mod n A C B 3 g z mod n 4 g y mod n Figura 2: Ataque de brigada de cubetas al intercambio de claves Diffie-Hellman. Ahora todos hacen la aritmética modular. A calcula la clave secreta como g xz mod n, y también lo hace C (para los mensajes de A). B calcula g yz mod n, al igual que C (para los mensajes de B). A piensa que esta hablando con B, por lo que establece una clave de sesión con C. Lo mismo hace B. Cada mensaje que A envía durante la sesión cifrada es capturado por C, almacenado, modificado y pasado (opcionalmente) a B. Lo mismo ocurre en la otra dirección. C ve todo y puede modificar los mensajes si lo desea, mientras que tanto A como B están pensando equivocadamente que tienen un canal seguro entre ambos. Este ataque se conoce como ataque de brigada de cubetas o ataque del hombre (mujer) en medio. Validación de identificación usando un centro de distribución de claves. El establecimiento de un secreto compartido con un extraño casi funcionó, pero no por completo. Por otra parte no valía la pena, pues para hablarle a n personas de esta manera se requerían n claves. Para la gente muy popular, la administración de claves se volvería una verdadera carga, especialmente si cada clave tuviera que almacenarse en un chip de una tarjeta de plástico individual. Un enfoque diferente es introducir un centro de distribución de claves confiables (KDC). En este modelo, cada usuario tiene una sola clave compartida con el KDC. La validación de identificación y la administración de claves de sesión ahora pasan a través del KDC. El protocolo de validación e identificación más simple conocido es la rana de boca amplia, que puede verse en la siguiente figura: A, K A (B,K S ) A KDC 2 K B (A,K S ) B Figura 3: Protocolo de validación de rana de boca amplia. El concepto en que se basa el protocolo de boca amplia es sencillo: A escoge una clave de sesión, K S e indica al KDC que desea hablar con B usando K S. Este mensaje se cifra con la clave secreta que comparte A (solamente) con el KDC, K A. El KDC descifra este mensaje, extrayendo la identidad de B y la clave de sesión; luego construye un mensaje nuevo que contiene la identidad de A y la clave de sesión y envía este mensaje a B. Este cifrado se hace con K B, la clave secreta que B comparte con el KDC. Cuando B descifra el mensaje, sabe que A quiere hablar con él, y también conoce la clave que desea usar. La validación de identificación aquí es gratuita. El KDC sabe que el mensaje debe haber venido de A, puesto que nadie más habría sido capaz de cifrarlo con la clave secreta de A. De la misma manera, B sabe que el mensaje 2 debe haber venido del KDC, en quien confía, puesto que nadie más sabe su clave secreta. Sin embargo, este protocolo tiene un fallo, un intruso C puede copiar el mensaje 2 de la figura y todos los mensajes que le siguen y reproducirlos de nuevo para B, con lo cual B creerá estar hablando con A. Este problema se llama ataque por repetición, con lo cual, aunque no pueda modificar C los mensajes, puede hacer interferir a B y pueda generar a la larga en un ataque que se llama denegación de servicio.31 Son posibles varias soluciones al ataque por repetición. La primera es incluir una marca de tiempo en cada mensaje. Entonces, si alguien recibe un mensaje obsoleto, puede descartarlo. El problema de este enfoque es que los relojes nunca están perfectamente sincronizados en toda una red, por lo que tiene que haber un intervalo durante el cual la marca de tiempo sea válida. C puede repetir el mensaje durante ese tiempo y salirse con la suya. La segunda solución es poner un número de mensaje único, de una sola ocasión, a veces llamado núnico, en cada mensaje. Cada parte entonces tiene que recordar todos los núnicos y rechazar cualquier mensaje que contenga un núnico previamente usado. Pero los núnicos tienen que recordarse indefinidamente, no vaya a ser que C esté tratando de reproducir un mensaje de años de antigüedad. También, si una máquina se cae y pierde la lista de núnicos, nuevamente es vulnerable a un ataque por repetición. Las marcas de tiempo y los núnicos pueden combinarse para limitar el tiempo que pueden recordarse los núnicos, pero ciertamente el protocolo se volverá mucho más complicado. Un enfoque más refinado para la validación de identificación es usar un protocolo multisentido de retorespuesta. Un ejemplo bien conocido de tal protocolo es el de validación de identificación Needham- Schroeder, que puede verse en la siguiente figura: R A, A, B 2 K A (R A,B,K S,K B (A,Ks)) KDC A 3 K B (A,K S ),K S (R A2 ) B 4 K S (R A2 -), R B 5 K S (R B -) Figura 4: Protocolo de validación de identificación Needham-Schoeder. El protocolo comienza cuando A indica al KDC que quiere hablar con B. Este mensaje contiene un número aleatorio grande, R A, como núnico. El KDC devuelve el mensaje 2 que contiene el número aleatorio de A, una clave de sesión, y un billete que puede enviar a B. El objeto del número aleatorio, R A, es asegurar a A que el mensaje 2 es reciente, y no una repetición. La identidad de B también se incluye por si a C se le ocurre reemplazar B del mensaje por su propia identidad, para que el KDC cifre el billete al final del mensaje 2 con K C en lugar de K B. El billete cifrado con K B se incluye dentro del mensaje cifrado para evitar que C lo reemplace por otra cosa en su camino hacia A. A ahora envía el billete a B, junto con un nuevo número aleatorio, R A2, cifrado con la clave de la sesión, K S. En el mensaje 4, B devuelve K S (R A2 -) para demostrar a A que está hablando con el verdadero B. El envío de regreso de K S (R A2 ) no habría funcionado, puesto que C lo podría haber robado del mensaje 3. Tras recibir el mensaje 4, A está convencida de que está hablando con B, y de que no se pudieron haber usado repeticiones hasta el momento. A fin de cuentas, A acaba de generar R A2, hace unos cuantos milisegundos. El propósito del mensaje 5 es convencer a B de que realmente está hablando con A, y de que tampoco se han usado repeticiones aquí. Al hacer que cada parte genere un reto y responda a otro, se elimina la posibilidad de un ataque por repetición. Aunque este protocolo parece bastante sólido, tiene una ligera debilidad, si C llega a obtener una clave de sesión vieja en texto normal, puede iniciar una nueva sesión con B repitiendo el mensaje 3 correspondiente a la clave obtenida y convencerlo de que es A. Otway y Rees publicaron un protocolo que resuelve el problema. La figura siguiente muestra el protocolo de Otway-Rees: 9-332 A, B, R, K A (A, B, R, R A ) A 4 K A (R A,K S ) KDC 2 3 A, K A (A,B,R,R A ) B, K B (A,B,R,R B ) K B (R B,K S ) B Figura 5: Protocolo de validación de identificación Otway-Ress. En el protocolo Otway-Rees, A comienza por generar un par de números aleatorios: R, que se usará como identificador común, y R A, que A usará para retar a B. Cuando B recibe este mensaje, construye un mensaje nuevo a partir de la parte cifrada del mensaje de A, y uno análogo propio. Ambas partes cifradas con K A y K B identifican a A y a B, contienen el identificador común y contienen un reto. El KDC comprueba que el R de ambas partes es igual. Los R podrían no serlo porque C alteró el R del mensaje y reemplazó parte del mensaje 2. Si los dos R son iguales, el KDC se convence de que el mensaje de solicitud de B es válido, y genera una clave de sesión y la cifra dos veces, una para A y otra para B. Cada mensaje contiene un número aleatorio del receptor como prueba de que el KDC, y no C, generó el mensaje. En este punto, tanto A como B poseen la misma clave de sesión y pueden comenzar a comunicarse. La primera vez que intercambien mensajes de datos, ambos podrán ver que el otro tiene una copia idéntica de K S, por lo que la validación de identificación está completa. Protocolo de autenticación Kerberos. El protocolo de autenticación Kerberos fue diseñado por el MIT (Massachusetts Institute of Technology) para autentificar la identidad de los usuarios de una red digital de comunicaciones insegura, así como para distribuir las claves secretas de sesión que permitan a los usuarios de la red establecer comunicaciones seguras. Es conveniente resaltar que como usuario se engloba tanto a personas físicas que se comunican a través de ordenadores como a posibles servicios ofrecidos por la red. El protocolo está basado en criptografía de clave secreta y básicamente actúa como un árbitro en quien los usuarios confían. Para desarrollar sus funciones, Kerberos comparte con cada usuario una clave secreta diferente intercambiada con éste a través de un canal seguro. El conocimiento de dicha clave se utiliza como prueba de identidad del usuario. En estas condiciones como Kerberos conoce las claves secretas de todos los usuarios, puede demostrar a cualquiera de ellos la autenticidad de la identidad de otro. Además Kerberos genera claves secretas transitorias, denominadas claves de sesión, las cuales son transmitidas exclusivamente a cada pareja de usuarios que desean entrar en comunicación. A Na, ID(A), ID(B) Ka(K,L,Na,ID(B)) Kb(K,L,ID(A)) Kb(K,L,ID(A)) K(ID(A),Ta) Kerberos B K(Ta+) Figura 6: Protocolo de validación de identificación Kerberos. Veamos el funcionamiento básico del protocolo. Para ello consideremos únicamente a los tres participante básicos del mismo: la autoridad de autenticación y servidor de claves Kerberos y dos usuarios de la red A y B. Al comienzo del protocolo A y B no comparten ninguna clave secreta. Sin embargo, cada uno de33 E d... dicho criptosistema (clave simétrica d) y sean Ka y Kb las respectivas claves secretas compartidas con Kerberos por los usuarios A y B. Asimismo, sean ID(A) e ID(B) los respectivos identificadores de A y B en la red de comunicación. El funcionamiento del protocolo se describe a continuación: ellos comparte con Kerberos una clave secreta de un criptosistema simétrico. Sea ( ) - El usuario A solicita a Kerberos una credencial para identificarse ante B, así como una clave de sesión que le permita establecer dicha comunicación. Para ello A envía a Kerberos un valor aleatorio Na y las identidades ID(A) e ID(B). 2- Kerberos genera una clave de sesión aleatoria K y define el período de validez L de la credencial, cifrando a continuación los valores K, L, Na y la identidad ID(B) del usuario B con la clave ( ) secreta Ka del usuario A, obteniendo el valor m dado por m = E K, L, Na, ID( B). Seguidamente Kerberos calcula la credencial c cifrando K, L y la identidad ID(A) del usuario A con la clave secreta Kb del usuario B, es decir c = E K, L, ID( A). Kb Ka ( ) En estas condiciones Kerberos envía la pareja de valores (m, c) al usuario A. 3- El usuario A descifra m con su clave secreta Ka y recupera K, L, Na y la identifidad ID(B) del usuario B para el que fue emitida la credencial c. Entonces A verifica que el valor aleatorio Na corresponde con el que él previamente envió y guarda L como referencia. A continuación, A calcula el autentificador a para la credencial c cifrando su identidad ID(A) y su sello temporal Ta ( ) con la clave de sesión K, es decir a = E ID( A), Ta. Con todo ello el usuario A envía a B la pareja de valores (c, a). K 4- El usuario B recibe los valores (c, a) y descifra la credencial c con su clave secreta Kb, recuperando de esta forma K, L y la identidad ID(A). Entonces utiliza la clave de sesión recuperada K para descifrar el autentificador y recuperar los valores ID(A) y Ta con el que comprueba que: Las identidades de la credencial y el autentificador coinciden. El sello Ta es válido y se encuentra en los límites de L. 5- Si las comprobaciones son satisfactorias, B se convence de la autenticidad de la identidad de A, así como de que la clave de sesión cifrada en la credencial c es la misma con la que se ha cifrado el autentificador a. En tal caso, B envía a A la conformidad h dada por h = E ( Ta + ). 6- Por su parte el usuario A descifra h con la clave de sesión K y verifica que el valor recuperado es Ta+, lo cual asegura a A que la clave de sesión K ha sido correctamente recibida por el usuario B. Es conveniente hacer notar las diferentes funciones de los mensajes transmitidos en el protocolo anterior. Así por ejemplo, los valores cifrados c y m tienen la función de garantizar la confidencialidad en la transmisión de la clave secreta de sesión K, mientras que los valores a y h se utilizan para la confirmación de la clave, es decir, para convencer a los usuarios A y B de que ambos poseen la misma clave secreta de sesión K. El propósito del sello temporal Ta y del período de validez L es doble. Por una parte, tienen como objetivo que el usuario A pueda utilizar la credencial c para realizar sucesivas autentificaciones ante B durante el período de validez de la clave sin necesidad de que intervenga Kerberos. El otro objetivo es el de prevenir un posible ataque activo al protocolo consistente en el almacenamiento de las claves para su posterior reutilización. Esto se consigue puesto que una clave no se acepta como válida si su sello temporal no se encuentra dentro de los límites del período de validez de la misma. A continuación comentamos algunos puntos sobre Kerberos en plan resumen: K 9-3334 . Kerberos viene en la mayoría de distribuciones UNIX y/o Linux, utilizado en procesos como login, rlogin o NFS (Network File System) 2. es un sistema centralizado y no distribuido en una red, lo cual si falla.o si se ve comprometido, se compromete toda la red, además las claves almacenadas son privadas y no públicas. En versión 4 y/o 5 incorpora servidores secundarios.requiere la kerberización (modificación) de todas las aplicaciones, así como de la sincronización de todas las máquinas 4. las versiones más actualizadas son v4 y v5, la diferencia estriba en que v5 solicita tanto login como password del usuario para conectar al servidor Kerberos, de forma que un intruso conociendo un usuario no pueda por fuerza bruta de contraseñas descifrar la contestación del servidor. Dicha información de contraseña junto con información de tiempo, va en el reto inicial RA 5. cuando un usuario está más de 8 horas (por defecto) delante de una estación de trabajo kerberizada, debe identificarse otra vez 6. algunos inconvenientes citados se han resuelto con versiones mejoradas o con la utilización de otras aplicaciones, como SSH (Secure Shell) 7. en ningún momento los passwords viajan por la red ni guardados en memoria, sólo las credenciales 8. cabe destacar del protocolo visto, que realmente se distinguen dos partes, por una lado la autenticación y por otro la gestión de tickets para los diferentes servicios Veamos un pequeño ejemplo de funcionamiento con Kerberos Escenario: usuario A a través de login requiere de las credenciales necesarias para acceder a otros servicios Pasos:.- al teclear el nombre, el login kerberizado envía el nombre al servidor Kerberos solicitando un ticket 2.- si el usuario es conocido, le manda un mensaje cifrado, donde utilizará su contraseña (password) para descifrarlo. De esta forma la contraseña nunca viaja por la red 3.- de dicho mensaje extrae el ticket para realizar la petición de servicio Validación de identificación usando criptografía de clave pública. La validación de identificación mutua también puede hacerse usando criptografía de clave pública. Para comenzar, supongamos que A y B ya conocen las claves públicas del otro (un asunto nada trivial). Ellos quieren establecer una sesión y luego usar criptografía de clave secreta en esa sesión, ya que típicamente es de 00 a 000 veces más rápida que la criptografía de clave pública. El propósito de este intercambio inicial entonces es validar la identificación de ambos y acordar una clave de sesión secreta compartida. Este procedimiento puede hacerse de varias maneras. Una típica se muestra en la figura siguiente: E B (A,R A ) A 2 E A (R A,R B,K S ) B 3 K S (R B ) Figura 7 Protocolo de validación de identificación usando criptografía de clave pública. Aquí, A comienza por cifrar su identidad y un número al azar, R A, usando la clave pública (o de cifrado) de B, E B. Cuando B recibe este mensaje, no sabe si vino de A o de C, pero entra en el juego y devuelve a A un mensaje que contiene el R A de A, su propio número aleatorio, R B, y la clave de sesión propuesta K S. Cuando A recibe el mensaje 2, lo descifra usando su clave privada y encuentra R A en él, lo que le hace sentirse cómodo. El mensaje debió haber venido de B, puesto que C no tiene manera de determinar R A. Es35 más, el mensaje debe ser reciente y no una repetición, puesto que acaba de enviar R A a B. A acepta la sesión devolviendo el mensaje 3. Cuando B ve R B cifrado con la clave de sesión que él acaba de generar, sabe que A recibió el mensaje 2 y comprobó R A. El protocolo sin embargo tiene una debilidad, ya que supone que A y B conocen la clave pública del otro. Supongamos que no es así. A podría simplemente enviar a B su clave pública en el primer mensaje y pedir a B que devuelva la suya en el siguiente. El problema de este enfoque es que está sujeto a un ataque de brigada de cubetas. C puede capturar el mensaje de A a B y devolver su propia clave a A. A pensará que tiene una clave para hablar con B cuando, de hecho, tiene una clave para hablar con C. Ahora C puede leer todos los mensajes cifrados con lo que A piensa es la clave pública de B. El intercambio inicial de claves públicas puede evitarse almacenando todas las claves públicas en una base de datos pública. Así, A y B pueden obtener la clave pública del otro de la base de datos. Sin embargo, C aún puede poner en práctica el ataque de brigada de cubetas interceptando las solicitudes a la base de datos y enviando respuestas simuladas que contengan su propia clave. Rivest y Shamir han diseñado un protocolo que fustra el ataque de brigada de cubetas de C. En su protocolo de interbloqueo, tras el intercambio de claves públicas, A envía solo la mitad de su mensaje a B al mismo tiempo que B espera la mitad de A, digamos por ejemplo que sólo los bits pares (después del cifrado). B entonces responde con sus bits pares y A también responde con sus bits pares. Tras recibir los bits pares de A y B, A envía sus bits nones, y luego lo hace B. El truco aquí es que, cuando C recibe los bits pares de A o de B, no puede descifrar el mensaje, aunque tiene la clave privada. En consecuencia, C es incapaz de volver a cifrar los bits pares usando la clave pública de A o de B. Si C envía basura a B o a A, el protocolo continuará, pero B o A pronto se dará cuenta de que el mensaje reensamblado no tiene sentido y de que ha sido engañado. TACACS, XTACACS, TACACS+, RADIUS y otros Todos son protocolos e implementaciones de control de acceso por validación y autenticación, que permiten que un servidor del acceso de red (NAS Network Access Servers o RAS Remote Access Server, por ejemplo un router Cisco 25 o 5300) obtenga datos de administación del usuario a un servidor central y por tanto se descarge de la tarea administrativa de autenticación y comprobación de dicha información. También, cabe considerar otro tipo de servidor para autenticación muy extendido en las redes Microsoft llamado Active Directory, que permite gestionar los usuarios y sus permisos (exportando incluso el escritorio) independientemente de la máquina conectada dentro de un dominio Microsoft. Los dominios Microsoft son gestionados por el Controlador de Dominio (Domain Controller, DC). Además, es importante resaltar que Active Directory incluye Kerberos y servidores de directorio como veremos a continuación, concretamente LDAP. Todos ellos se pueden considerar el soporte a los sistemas de autenticación basado en contraseñas, no son considerados sistemas de clave simétrica compartida, porque en un principio no están pensados para intercambiar claves para cifrar, simplemente para poder autenticar. Por tanto, como parte de estos protocolos de autenticación, hemos incluido estos protocolos muy utilizados en los sistemas de acceso en red, desde conexiones remotas. Hay tres versiones del protocolo de autenticación "TACACS" (Terminal Access Controller Access Control System, sistema de control de acceso del Controlador de Acceso de Terminales). El primer es TACACS ordinario, fue el protocolo utilizado por Cisco en sus NAS, y ha estado en el uso por muchos años. El segundo es una extensión al primero, comúnmente llamado Extended Tacacs o XTACACS, introducido en 990. Ambos se documentan en RFC492. El tercero, TACACS+ que, a pesar del nombre, es totalmente un nuevo protocolo y no es compatible con TACACS o XTACACS. TACACS y XTACACS carecen de muchas características de TACACS+ y RADIUS, y actualmente están fuera de mantenimiento. Debido a esto TACACS y XTACACS no serán discutidos. 9-3536 RADIUS (Remote Authentication Dial In User Service) es un protocolo de control de accesos desarrollado por Livingston Enterprises y que la IETF ha recogido en los RFCs 2865 y Fue diseñado para autenticar usuarios y utiliza una arquitectura cliente/servidor. El servidor contiene información de los usuarios, almacenando sus contraseñas y sus perfiles, y el cliente es el encargado de pasar las peticiones de conexión de los usuarios al servidor para que éste las autentique y responda al cliente diciéndole si ese usuario está o no registrado. Un ejemplo de uso de RADIUS se puede dar en un ISP, donde el NAS (Network Access Server) hace de cliente RADIUS y un host del ISP podría hacer de servidor RADIUS. El NAS recibe vía módem una petición de acceso y envía los datos que el usuario ha proporcionado al servidor RADIUS. Es éste el que consulta su base de datos y comprueba si el usuario que ha realizado la llamada es en realidad quien dice ser. En ese caso, responde al NAS con una respuesta de aceptación de la llamada y, opcionalmente, con datos sobre el perfil del usuario (tipo de servicio, protocolo de conexión, IP asignada,...). En caso contrario notifica al NAS que debe rechazar la petición de conexión. Opcionalmente, el servidor RADIUS guardará logs (informes o históricos del sistema para auditoría) de las conexiones en las que estemos interesados. Además de estos logs, RADIUS también puede hacer de servidor para registrar y almacenar todos los logs que acontecen en el NAT o RAS. Este paso está descrito e implementado en los routers de Cisco Systems con la AAA Authentication, Authoring y Accounting, quién es, qué puede hacer y auditoría respectivamente.37 9.3 APLICACIONES DE SEGURIDAD: FIRMA DIGITAL Y CERTIFICADOS Firmar un documento en realidad de forma tradicional, con bolígrafo, consiste en afirmar que lo escrito en el documento es cierto y con la estampación a mano de la firma, estando yo físicamente como persona, corroboro que soy yo quien afirma dicho documento. En este proceso se genera una copia adicional que sirve como resguardo para posterior comprobación. En el procedimiento electrónico hacemos igual, de forma que la integridad del documento se obtiene a través de unos compendios y acuses de recibo, involucrando a las personas interesadas, y la validación e identificación del firmante se realiza a través de claves, que corroboran y permiten afirmar que yo soy quien digo ser. En este proceso participan o terceros que certifican nuestra identidad o terceros en los cuales tenemos confianza y a su vez ellos confian en otros. Esto lo veremos más detalladamente. Pasemos a ver a continuación dichos elementos. Resolución del control de integridad. En muchas situaciones se requiere conocer la validez de un mensaje, esto es, conocer que no ha sido modificado por el camino y que nos llega tal y como fue escrito originalmente. A continuación describiremos un esquema de validación de integridad. Este esquema se basa en la idea de una función de dispersión unidireccional que toma una parte arbitrariamente grande de texto común y a partir de ella calcula una cadena de bits de longitud fija. En algunos contextos también se llama huella digital a este proceso de resumen. La idea de integridad, viene a ser la misma idea de un CRC añadido al final de una trama, de forma que comprueba la integridad de las tramas recibidas. En el caso de control de integridad, la función para generar el resumen del documento con el cual comprobar la integridad también se llama función de dispersión o compendio de mensaje (message digest), que tiene tres propiedades importantes:. Dado un texto P, es fácil calcular su compendio de mensaje MD(P). 2. Dado un compendio de mensaje MD(P), es imposible encontrar P. 3. Nadie puede generar dos mensajes que tengan el mismo compendio de mensaje. Para cumplir con el tercer criterio, la dispersión debe ser de cuando menos de 28 bits de longitud, y preferentemente mayor. Los compendios de mensaje funcionan tanto en clave privada como en clave pública, siendo los de mayor uso el MD5 y el SHA. Compendio de mensaje MD5. El MD5 es la quinta de una serie de funciones de dispersión diseñadas por Ron Rivest. Opera alterando los bits de una manera tan complicada que cada bit de salida es afectado por cada bit de entrada. Su algoritmo es el siguiente: Se coge el mensaje original y se rellena hasta alcanzar una longitud de 448 módulo 52 bits, esto es, el mensaje debe tener una longitud en bits tal que al dividirla por 52 proporcione como resto de la operación el valor 448. A continuación se añade al mensaje la longitud original del mismo como un entero de 64 bits, por lo cual el mensaje total a codificar es un múltiplo de 52 bits. 9-3738 Se inicializa un buffer de 28 bits con un valor fijo. Ahora empieza el cálculo del compendio. Cada ronda toma un bloque de 52 bits de entrada y lo mezcla por completo con el buffer de 28 bits y los valores de una tabla construida a partir de la función matemática seno. Este proceso continúa hasta que todos los bloques de entrada se han consumido. Una vez terminado el cálculo, el buffer de 28 bits contiene el valor del compendio de mensaje. Compendio de mensaje SHA. El SHA (Secure Hash Algoritm), fue desarrollado por la NSA y procesa los datos de entrada en bloques de 52 bits, pero a diferencia del MD5 genera un compendio de mensaje de 60 bits. Su algoritmo es el siguiente: Se coge el mensaje original y se rellena hasta alcanzar una longitud de 448 módulo 52 bits, esto es, el mensaje debe tener una longitud en bits tal que al dividirla por 52 proporcione como resto de la operación el valor 448. A continuación se añade al mensaje la longitud original del mismo como un entero de 64 bits, por lo cual el mensaje total a codificar es un múltiplo de 52 bits. Se inicializa un buffer de 60 bits con un valor fijo. Ahora empieza el cálculo del compendio. Cada ronda toma un bloque de 52 bits de entrada y lo mezcla con el buffer de 60 bits, utilizando 80 rondas para cada bloque de entrada y modificando cada 20 rondas las funciones de mezcla del bloque y el buffer. Este proceso continúa hasta que todos los bloques de entrada se han consumido. Una vez terminado el cálculo, el buffer de 60 bits contiene el valor del compendio de mensaje. El SHA es 2 32 veces más seguro que el MD5, pero es más lento su cálculo que el cálculo del MD5. Hasta la fecha, tanto el MD5 como el SHA se han mostrado inviolables, pues aún con ataques sofisticados ideados (como el ataque de cumpleaños), se tardarían más de 500 años en calcular los compendios de dos cartas con 64 variantes cada una, e incluso entonces no se garantiza una equivalencia. Resolución del repudio: Firmas digitales. La validación de identificación y autenticidad de muchos documentos legales, financieros y de otros tipos se determina por la presencia o ausencia de una firma manuscrita autorizada. Para que los sistemas computerizados de mensajes reemplacen el transporte físico de papel y tinta, debe encontrarse una solución a estos problemas. El problema de inventar un reemplazo para las firmas manuscritas es difícil. Básicamente, lo que se requiere es un sistema mediante el cual una parte pueda enviar un mensaje firmado a otra parte de modo que:. El receptor pueda verificar la identidad proclamada del transmisor. 2. El transmisor no pueda repudiar después el contenido del mensaje. 3. El receptor no haya podido confeccionar el mensaje él mismo. El primer requisito es necesario, por ejemplo, en los sistemas financieros. Cuando la computadora de un cliente ordena a la computadora de un banco que compre una tonelada de oro, la computadora del banco39 necesita asegurarse de que la computadora que da la orden realmente pertenece a la compañía a la que se le aplicará el débito. El segundo requisito es necesario para proteger al banco contra fraudes. Supongamos que el banco compra una tonelada de oro, e inmediatamente después cae el precio del oro. Un cliente deshonesto podría demandar al banco, alegando que nunca emitió una orden para comprar el oro. Cuando el banco presenta el mensaje ante el juez, el cliente niega haberlo enviado. El tercer requisito es necesario para proteger al cliente en el caso de que el precio del oro suba y que el banco trate de falsificar un mensaje firmado en el que el cliente solicitó un lingote de oro en lugar de una tonelada. Al igual que la criptografía, las firmas digitales se dividen en dos grandes grupos, firmas de clave secreta y firmas de clave pública. Firmas de clave secreta. Un enfoque de las firmas digitales sería tener una autoridad central que sepa todo y en quien todos confíen, digamos X. Cada usuario escoge entonces una clave secreta y la lleva personalmente a las oficinas de X. Por tanto, sólo A y X conocen la clave secreta de A, K A, etc. A, K A (B,R A,t,P) A X B K B (A,R A,t,P,K X (A,t,P)) Figura 8: firma con clave secreta compartida con centro de distribución de claves Cuando A quiere enviar un mensaje de texto normal firmado, P, a su banquero, B, genera K A (B,R A,t,P) y lo envía como se muestra en la figura anterior. X ve que el mensaje es de A, lo descifra y envía un mensaje a B como se muestra. El mensaje a B contiene el texto normal del mensaje de A y también el mensaje firmado K X (A,t,P), donde t es una marca de tiempo. Ahora B atiende la solicitud de A. Si ahora A niega el envío del mensaje, cuando el caso llega al juez y A niegue haber enviado a B el mensaje, B indica que el mensaje vino de A y no de un tercero C pues X no hubiera aceptado un mensaje de A a menos que estuviese cifrado con K A, por lo que no hay posibilidad de que C enviará a X un mensaje falso en nombre de A. B además presenta la prueba K X (A,t,P). Entonces el juez pide a X (en quien todo el mundo confía) que descifre la prueba. Cuando X testifica que B dice la verdad el caso queda resuelto. Un problema potencial del protocolo de firma anterior es que C repita cualesquiera de los dos mensajes. Para minimizar este problema, se usan en todos los intercambios marcas de tiempo. Es más, B puede revisar todos los mensajes recientes para ver si se usó R A en cualquiera de ellos. De ser así, el mensaje se descarta como repetición. Nótese que B rechazará los mensajes muy viejos con base en la marca de tiempo. Para protegerse contra ataques de repetición instantánea, B simplemente examina el R A de cada mensaje de entrada para ver si un mensaje igual se recibió de A durante el tiempo de validez de la marca temporal. Si no, B puede suponer con seguridad que ésta es una solicitud nueva. Firmas de clave pública. Un problema estructural del uso de la criptografía de clave secreta para las firmas digitales es que todos tienen que confiar en X. Es más, X lee todos los mensajes firmados. Los candidatos más lógicos para operar el servidor X son el gobierno, los bancos y los abogados. Estas organizaciones no tiene porqué inspirar confianza completa a todos los ciudadanos. Por tanto, sería bueno si la firma de documentos no requiriese una autoridad confiable. 9-3940 Afortunadamente, la criptografía de clave pública puede hacer una contribución importante aquí. Supongamos que los algoritmos públicos de cifrado y descifrado tienen la propiedad de que E(D(P))=P además de la propiedad normal de D(E(P))=P (el RSA tiene esta propiedad por lo que el supuesto es razonable). Suponiendo que éste es el caso, A puede enviar un mensaje de texto normal firmado y cifrado, P, a B transmitiendo E B (D A (P)). Firmado por D A (P) y cifrado por E B (), de forma que sólo B podrá leerlos. Nótese que A conoce su propia clave de descifrado (privada), D A, así como la clave pública de B, E B, por lo cual la construcción de este mensaje es algo que A puede hacer. Cuando B recibe el mensaje, lo transforma usando su clave privada, como es normal, produciendo D A (P), como se muestra en la figura siguiente: Computadora de A Línea de transmisión Computadora de B P Clave privada de A, D A Clave pública de B, E B Clave privada de B, D B Clave pública de A, E A P D A (P) E B (D A (P)) D B (P) Figura 9: firma digital con clave pública B almacena este texto en un lugar seguro y lo descifra usando E A para obtener el texto normal original. En todo el proceso, en resumen lo que se ha realizado es E A ( D B (E B (D A (P)))). Para ver cómo funciona la propiedad de firma, supongamos que A niega haber enviado el mensaje P a B. Cuando el caso llega al juez, B puede presentar tanto P como D A (P). El juez puede comprobar fácilmente que B tiene un mensaje válido cifrado por D A con solo aplicarle E A. Puesto que B no conoce la clave privada de A, la única forma en que B pudo haber adquirido el mensaje cifrado con ella sería que A en efecto lo hubiera enviado. Sin embargo existen dos problemas, por un lado B puede demostrar que un mensaje fue enviado por A siempre y cuando D A permanezca en secreto. Si A divulga su clave secreta, el argumento ya no se mantiene. Por otro lado, si A decide cambiar su clave, algo legal y probablemente buena idea de forma periódica, cuando se aplique la actual E A a D A (P) no se obtiene P. En consecuencia, parece que sí que se requiere alguna autoridad para registrar todos los cambios de clave y sus fechas. En principio cualquier algoritmo de clave pública puede usarse para firmas digitales. El estándar de facto de la industria es el algoritmo RSA y muchos productos de seguridad lo usan.41 Figura 20: protocolo de firma digital con clave pública Con todo ello, el protocolo quedaría tal como se ve en la figura 20. Un ejemplo de comprobación de utilización de firma digital lo podemos ver en la comprobación de paquetes software rpm en algunas distribuciones de Linux. Para comprobar la firma digital la aplicación rpm posee la opción checksig : rpm checksig X.i386.rpm siendo X.i386.rpm el paquete a instalar. Esta opción en rpm permite comprobar la integridad del paquete y el origen. La integridad se comprueba con la firma basada con md5. La comprobación del origen (validación) se realiza con la clave pública de GNU (si se dispone). Si no disponemos de dicha firma, la comprobación de origen no puede realizarse y con ello, la GPG (Gnu Privacy Guard) no podrá efectuarse: Aplicaciones seguras E GNU (D GNU (compendio-rpm))=compendio-rpm Visto todo el conjunto de protocolos, tanto para intercambiar información cifrada, autentificar y validar, generar soluciones al no repudio y el proceso de firma digital, pasemos a ver aplicaciones que catalogamos como seguras que hacen uso de estos elementos o están vinculadas con ellas. Aplicaciones seguras y uso de certificados Uno de los problemas que parecen en la distribución de claves públicas, es la propia distribución de dicha clave, que como hemos visto puede sufrir del ataque de alguien en medio. Una solución es la aplicación de métodos de interbloqueo, pero la solución más adoptada y estandarizada en la utilización de certificados. Figura 20: Configuración de Certificados en Herramientas: Opciones de Internet: Contenidos: Certificados en Internet Explorer 5.0 El certificado digital es un vínculo entre una clave pública y una identidad, que se consigue mediante una firma digital por una tercera parte o autoridad de certificación (CA: Certificaciont Authority o Autoridad de Certificación) comprobando la integridad. Se considera como un objeto firmado con: identidad del sujeto, clave, periodo de validez, identidad emisor,... La Fábrica Nacional de Moneda y Timbre (FNMT), Verisign, Deutsche Telecom., Microsoft, Xcert,... son diferentes autoridades de certificación. A modo de ejemplo, en el caso de pedir un certificado para un ciudadano español, su certificado sería un archivo, firmado con la clave privada de CA con la identidad, la clave pública del dicha identidad, atributos varios y compendio de dicha información: D CA (identidad, clave, atributos, compendio{identidad, clave, atributos}) 9-442 La mayoría de navegadores disponen ya en la distribución, en los propios CDs de instalación, un directorio lleno de certificados raiz, es decir, certificados de las propias autoridades de certificación firmados por ellas mismas. Vemos una lista de los certificados raiz más habituales en los navegadores: Enviado a Emitido por ABA.ECOM Root CA ABA.ECOM Root CA AC del Colegio Nacional de Correduria Publica Mexicana, A.C. AC del Colegio Nacional de Correduria Publica Mexicana, A.C. Baltimore EZ by DST Baltimore EZ by DST Belgacom E-Trust Primary CA Belgacom E-Trust Primary CA C&W HKT SecureNet CA Class A C&W HKT SecureNet CA Class A CA CA Certiposte Classe A Personne Certiposte Classe A Personne Certiposte Serveur Certiposte Serveur Certisign - Autoridade Certificadora - AC2 Certisign - Autoridade Certificadora - AC2 Class Primary CA Class Primary CA Copyright (c) 997 Microsoft Corp. Copyright (c) 997 Microsoft Corp. Deutsche Telekom Root CA Deutsche Telekom Root CA DST (ANX Network) CA DST (ANX Network) CA DST (NRF) RootCA DST (NRF) RootCA DST-Entrust GTI CA DST-Entrust GTI CA Entrust.net Secure Server Certification Authority Entrust.net Secure Server Certification Authority Equifax Secure Certificate Authority Equifax Secure Certificate Authority FNMT Clase 2 CA FNMT Clase 2 CA GlobalSign Root CA GlobalSign Root CA IPS SERVIDORES IPS SERVIDORES Microsoft Authenticode(tm) Root Authority Microsoft Authenticode(tm) Root Authority Microsoft Root Authority Microsoft Root Authority NetLock Uzleti (Class B) Tanusitvanykiado NetLock Uzleti (Class B) Tanusitvanykiado PTT Post Root CA PTT Post Root CA Saunalahden Serveri CA Saunalahden Serveri CA Secure Server Certification Authority Secure Server Certification Authority SecureNet CA Class A SecureNet CA Class A SecureSign RootCA SecureSign RootCA SERVICIOS DE CERTIFICACION - A.N.C. SERVICIOS DE CERTIFICACION - A.N.C. SIA Secure Client CA SIA Secure Client CA SIA Secure Server CA SIA Secure Server CA Swisskey Root CA Swisskey Root CA TC TrustCenter Class CA TC TrustCenter Class CA TC TrustCenter Time Stamping CA TC TrustCenter Time Stamping CA Thawte Personal CA Thawte Personal CA UTN - DATACorp SGC UTN - DATACorp SGC UTN-USERFirst-Client Authentication and UTN-USERFirst-Client Authentication and VeriSign Commercial Software Publishers CA VeriSign Commercial Software Publishers CA VeriSign Individual Software Publishers CA VeriSign Individual Software Publishers CA VeriSign Trust Network VeriSign Trust Network Xcert EZ by DST Xcert EZ by DST La autoridad de certificación es reconocida y aceptada por todos, e imposible de suplantar. Por regla general, por seguridad no se trabaja directamente con la autoridad de certificación, si no con un intermediario o autoridad de registro. La autoridad de registro atiende las peticiones de certificado y proporciona diferentes métodos de petición de certificados. Para implementar el sistema de autenticación en base a certificados a través de Autoridad de Certificación (CA) han de considerarse los siguientes elementos: Una política de certificación, incluyendo el ámbito de actuación (identificando los elementos a certificar, tanto personas como procesos, como servidores y/o clientes) así como la relación de la CA con otras CA, por regla general de forma jerárquica Un certificado de la CA, de otra CA superior u homóloga que asegure quien dice ser y valida su clave pública Los certificados de los usuarios (p.ej X.509), así como el procedimiento de certificación y de revocación. La revocación permite consultar directamente qué certificados no son válidos Los protocolos de autenticación, gestión y obtención de certificados, así como de distribución de ellos son como veremos a continuación:43 o por bases de datos (p.ej directorio X.500) o comúnmente llamados servidores de directorios, que veremos a continuación o bien directamente del usuario en tiempo de conexión (WWW con SSL, Secure Socket Layer) Por tanto para la puesta en marcha de una CA se requiere generar un par de claves (tanto privada como pública), proteger la clave privada y generar el certificado de la propia CA a través de otra CA. El certificado raíz es un certificado emitido de la CA para sí misma con su clave pública, para comprobar certificados emitidos por ella. Se suele instalar previamente dicho certificado en el navegador para poder utilizar los certificados de dicha CA. Los navegadores llevan por defecto muchos de ellos. Lista de certificados revocados (o CRL Certificate Revocation List) es una lista donde se recogen todos los certificados de la CA dados de baja por caducidad o por problemas varios como que se haya hecho pública la clave privada de un usuario, y por tanto cualquier firma emitida con posterioridad a la revocación no tiene validez. Este documento también es firmado por la propia CA. Pero, esta infraestructura de autoridades en muchas ocasiones no se dispone, ni de Autoridades de Certificación ni de Registro. Con este planteamiento inicial una solución tomada estriba en la confianza de los propios usuarios entre ellos. Este tipo de redes se llaman redes de confianza. Por ejemplo, si Juan confía plenamente en Luis y Luis ha aceptado la identificación de Pedro, Juan podría inicialmente aceptar a Pedro, porque Luis es de su confianza. Una implementación de este tipo de certificados lo ofrece PGP como veremos en el apartado de correo seguro. Pasemos a ver ahora la estructura de los certificados X.509, ampliamente utilizados actualmentecertificado X.509 X.509 es el protocolo que se utiliza para certificar las claves públicas, con lo que los usuarios pueden intercambiar datos de manera segura. X.509 está basado en criptografía asimétrica y firma digital y se emplea para autentificar la información en redes externas, en redes internas, en el correo electrónico y en general en aplicaciones que requieran autenticación. Para ello, el certificado se cifra con la clave privada de la CA y todos los usuarios poseen la clave pública del CA. El protocolo X.509 fue creado por la UIT para servir al X.400 (correo electrónico de OSI) y su origen se encuentra en el servicio de directorio X.500. En X.509 se define un framework (una capa de abstracción) para suministrar servicios de autenticación a los usuarios del directorio X.500. El objetivo de este protocolo es asegurar la integridad, la privacidad y el no repudio de los mensajes. X.509 se utiliza en SSL en los navegadores (https), PEM en el correo electrónico seguro, S/MIME, SET (Secure Electronic Transaction) que define una arquitectura para E-CommerceLos campos del X.509 escritos en ASN son:versión: La del protocolo X.509 (actualmente versión 3)Número de serie: Es un número asignado por el CA y que identifica de manera única el certificado.algoritmo de la firma del certificado: Identifica el algoritmo utilizado para firmar el certificado.autoridad de certificación (CA): Es el nombre de la CA.Fecha de inicio y final: tiempo de validezusuario: Es el nombre del usuario.clave pública: Es la clave del usuario.identificador único del CA: Es el número que identifica al CA. Es único en el mundo.identificador único del usuario: Es el número que identifica al usuario para todos sus certificados.extensiones: Si hay extensiones de la información Firma de la CA: Firma todos los campos anteriores empleando, para ello, su clave privada. Servidor de directorios. La idea de un directorio es el de un listín de teléfonos. Pero si queremos utilizarlo en el ámbito para organizar la información de una institutción etc, requiere que sea electónico, para permitir modificaciones en tiempo real, búsquedas aproximadas, etc. Los servidores de directorio están basados en el protocolo X.500, primer protocolo de servidor de directorios, conocido como padre, y está pensado para guardar todo tipo de información referente a una institución, tanto de personas (datos personales, correo, teléfono), como de objetos (salones de actos, sala 9-4344 de reuniones,...), pero X.500 debido a que es complicado, se pensó en una simplificación: LDAP (Lighweight Directory Access Protocol)( RFC 478 y 225). La relación de los servidores de directorios con los certificados, es que tras largos debates, este tipo de servidores cumplen las características idóneas para albergar los certificados de los usuarios en una corporación. LDAP es una simplificación de X.500 y se considera como una base de datos jerárquica orientada a objetos, a la cual se realizan consultas (búsquedas e inserciones) de registros. Estos registros pueden contener cualquier tipo de información, pero generalmente en una red incluyen información con usuarios y perfiles, para autentificar de forma muy rápida. Los mecanismos de consulta de esta base de datos es propietario, es decir no tiene similitud con SQL (Structured Queueing Language). LDAP y en general los servidores de directorios han aprovechado la rapidez en las lecturas, frente a las bases de datos. Las bases de datos de propósito general están optimizadas para lecturas/escrituras, mientras que los servidores de directorios fundamentalmente las peticiones que van a atender son de lectura. Otra opción a las bases de datos para poder gestionar esta información, el servicio de directorios es el servicio DNS. Sin embargo hubo detractores a utilizar DNS como servidor de directorios y por tanto se optó por crear un servidor específico e independiente. LDAP está basado en arquitectura de cliente/servidor y puede utilizar Kerberos en el proceso de autenticación. Los servicios ofrecidos por los servidores se sirven en el puerto 389 normalmente, aunque se puede configurar, además los servidores permiten varias peticiones en curso. LDAP se utiliza principalmente para realizar consultas que permitan averiguar qué permisos puede tener un usuario dentro de la red controlada por servidores LDAP para ejecutar ciertos servicios. Veamos un ejemplo de validación de permisos. En este caso vamos a considerar el acceso de los profesores a las actas por red de la Universitat de Valencia, acceso al control de actas. El protocolo implementado es como sigue:. el cliente (usuario o profesor) quiere conectarse al gestor de actas 2. tras la identificación del cliente (usuario), el gestor de actas consulta al servidor LDAP para averiguar los permisos del cliente (usuario) en el acceso a la gestión de actas. 3. según los permisos, atiende al cliente En esta base de datos, las clases no tienen métodos, sólo atributos, y los atributos son propiedades de una clase y cada atributo es un nombre (tipo) y una lista de valores. El nombre del atributo es una cadena de caracteres o un OID (Object Identifier) y se pueden estructurar jerárquicamente permitiendo herencias. Ejemplo de estos atributos son: CN Nombre habitual o canónic name O Organización OU Departamento C País MAIL Dirección de correo electrónico PHONE Número de teléfono DC Componente de dominio DN Nombre Distinguido y cada entrada tiene uno, único y propio Las aplicaciones más frecuentes de LDAP son muy variadas, desde directorio de correo ( ) para encontrar la dirección de correo de alguien o encontrar el certificado digital de alguien, pasando por una libreta de direcciones y teléfonos, o haciendo una sustitución de NIS (difusión de ficheros de contraseñas). Otra aplicación de LDAP puede ser la integración de todos los recursos de la organización: personal, utilización y disponibilidad de salas de Reuniones, cuentas de usuario. Por ejemplo una forma de identificar de forma unívoca a una asignatura, es a través de la cadena observada en la figura.45 Figura 2: Ejemplo de jerarquía de clases y sus atributos en LDAP El acceso de LDAP mediante JAVA, se realiza por JNDI (Java Naming Directory Interface) y como hemos dicho es una sintaxis propia, diferente a SQL. Existe un formato para exportar (a X.500) información entre servidores de directorios, conocido como LDIF. Las distribuciones de LDAP más populares son: -OpenLDAP (versión gratuita -Iplanet Directory Server (versión comercial Aplicaciones seguras para confidencialidad del correo electrónico. Cuando un mensaje de correo electrónico se envía entre dos sitios distantes, generalmente transitará por docenas de máquinas en el camino. Cualquiera de éstas puede leer y registrar el mensaje para su uso posterior, por lo que la confidencialidad es inexistente. No obstante, mucha gente quiere poder enviar correo electrónico que el destinatario pueda leer, pero nadie más. Este deseo ha estimulado a varias personas y grupos a aplicar principios criptográficos al correo electrónico para producir correo seguro. Veremos a continuación los compendios de mensajes, que permiten validar un mensaje, pasando a continuación a explicar dos de sistemas de correo electrónico seguro de amplio uso en Internet: PGP y PEM. PGP: Bastante buena confidencialidad. El primer sistema de correo electrónico seguro que veremos es PGP. PGP (Pretty Good Privacy, bastante buena confidencialidad) es el producto de una sola persona, Phil Zimmermann. PGP es un paquete completo de seguridad de correo electrónico que proporciona confidencialidad, validación de identificación, firmas digitales y compresión basado en el envoltorio digital, es decir un procesamiento completo que se le realiza al correo a mandar para que cumpla los requisitos fijados por PGP. El paquete completo, incluido código fuente, se distribuye por Internet de forma gratuita, por lo que es el de más amplio uso hoy en día. El PGP intencionadamente usa algoritmos criptográficos existentes en lugar de inventar nuevos; PGP se basa en los algoritmos de encriptación RSA e IDEA y el compendio de mensaje MD5, algoritmos que han resistido análisis extensos de otras personas y no fueron diseñados ni influidos por ninguna agencia gubernamental que estuviera tratando de debilitarlos. Para ver como funciona PGP, consideremos la siguiente figura: 9-4546 Clave RSA pública de B, E B P Clave RSA privada de A, D A P P.Z MD5 RSA Zip IDEA K M RSA Base64 Texto ASCII a la red Mensaje en texto normal original de A Concatenación de P y la dispersión firmada de P P comprimido Concatenación de P.Z cifrado con IDEA y K M cifrado con E B Figura 22: diagrama de bloques de cifrado en PGP Aquí, A quiere enviar un mensaje de texto normal firmado, P, a B de una manera segura. Tanto A como B tienen claves RSA privadas (D X ) y públicas (E X ). Supongamos que cada uno conoce la clave pública del otro. A comienza por invocar el programa PGP en su computadora. El PGP primero dispersa su mensaje, P, usando MD5, y luego cifra la dispersión resultante con su clave RSA privada, D A. Cuando B recibe el mensaje, puede descifrar la dispersión con la clave pública de A y comprobar que es correcta. La dispersión cifrada y el mensaje original ahora están concatenados en un solo mensaje P, y comprimidos mediante el programa ZIP. Llamemos a la salida de este paso P.Z. A continuación, el PGP solicita a A una entrada al azar. Tanto el contenido como la velocidad de tecleo se usan para generar una clave de mensaje IDEA de 28 bits, K M (llamada clave de sesión). K M se usa ahora para cifrar P.Z con IDEA en modo de realimentación de cifrado. Además, K M se cifra con la clave pública de B, E B. Estos dos componentes se concatenan y convierten a base64. El mensaje resultante contiene entonces sólo letras, dígitos y los símbolos +, / e =, lo que significa que puede ponerse en un cuerpo RFC 822 y esperar que llegue sin modificación. Llamaremos todo este proceso realizado con el correo como envoltorio digital. Cuando B recibe el mensaje deshace el envoltorio y para ello, invierte la codificación base64 y descifra la clave IDEA usando su clave RSA privada. Con la clave así obtenida, B descifra el mensaje para obtener P.Z. Tras descomprimir esto, B separa el texto normal de la dispersión cifrada y descifra la dispersión usando la clave pública de A. Si la dispersión del texto normal concuerda con su propio cálculo MD5, sabe que P es el mensaje correcto y que vino de A. La administración de claves ha recibido mucha atención en el PGP, puesto que es el punto débil de todos los sistemas de seguridad. Cada usuario mantiene localmente dos estructuras de datos: un anillo con claves privadas y un anillo de claves públicas. Estos anillos se llaman repositorios de llaves o llaveros. El anillo de claves privadas contiene uno o más pares de clave privada-clave pública personales. La razón para reconocer varios pares por usuario es permitir a los usuarios cambiar sus claves públicas periódicamente o cuando se piensa que una está comprometida, sin invalidar los mensajes que actualmente están en preparación o en tránsito. Cada par asociado tiene un identificador, para que el remitente de un mensaje pueda indicar al destinatario la clave pública usada para cifrarlo. El anillo de claves públicas contiene claves públicas de los corresponsales del usuario; se requieren para cifrar las claves de mensaje asociadas a cada mensaje. Cada entrada del anillo de claves públicas contiene no sólo la clave pública, sino también su identificador y una indicación del nivel de confianza del usuario en la clave. PEM: Correo con confidencialidad mejorada. En contraste con el PGP, el PEM (Privaty Enhanced Mail, correo con confidencialidad mejorada), es un estándar oficial de Internet y se describe en cuatro RFC, del RFC 42 al RFC 424. De manera muy47 general, el PEM cubre el mismo territorio que el PGP: confidencialidad y validación de identificación, para sistemas de correo electrónico basados en el RFC 822. Los mensajes enviados usando PEM primero se convierten a una forma canónica para que puedan tener las mismas convenciones de espacios blancos (por ejemplo, tabuladores, espacios al final) y el uso de retornos de carro y avances de línea. Esta transformación se lleva a cabo para eliminar los efectos de los agentes de transferencia de mensajes que modifican los mensajes que no son de su gusto. Sin canonización, tales modificaciones pueden afectar las dispersiones de los mensajes en sus destinos. A continuación, se calcula a dispersión del mensaje usando MD5. Después se cifra la concatenación con la dispersión y el mensaje usando DES. El mensaje cifrado puede entonces codificarse con codificación base64 y transmitirse al destinatario. Como en el PGP, cada mensaje se cifra con una clave de una sola vez que se incorpora en el mensaje. La clave puede protegerse mediante RSA o con DES triple. En la práctica, se usa RSA pues el PEM no indica cómo se debe hacer la administración de claves con DES. La administración de claves es más estructurada que en el PGP. Las claves se certifican mediante autoridades certificadoras que producen certificados indicando el nombre del usuario, su clave pública y la fecha de expiración de la clave. Cada certificado tiene un número de serie único que lo identifica. Los certificados incluyen una dispersión MD5 firmada por la clave privada de la autoridad certificadora. Aplicaciones seguras basadas en tarjetas inteligentes y PKI (Public Key Infraestructure) Utilización y tipo de tarjetas. Las tarjetas son un elemento fundamental en el control de acceso a los edificios y permiten la identificación a través de ella, bien con códigos PIN (Personal Identification Number) o/y bien a través de fotografías escaneadas en su superficie. La tarjeta (genérica) es un dispositivo de plástico de dimensiones determinadas, capaz de almacenar y, en algunos casos, procesar información de manera segura. Fue inventado por Roland Moreno (periodista francés) a finales de los 70 y actualmente su complejidad es tal que utilizan tecnología VLSI con microprocesador y sistemas de ficheros cifrado. Las utilidades que puede tener son almacenamiento y procesamiento de datos confidenciales, estado de las cuentas de crédito, historiales médicos (identificación de pacientes), números de identificación personal, claves privadas (control de acceso), dinero electrónico (micropagos) Las propiedades que tienen las tarjetas son respecto a: seguridad, en el almacenamiento de la información (sistemas de fichero) y en las operaciones que realizan (clave simétrica y clave asimétrica) portabilidad de información, como historiales, claves,... coste asequible utilizan protocolos propietarios para su programación, como para la comunicación lector-tarjeta, incluso la comunicación entre lectores entre sí, aunque en todos los protocolos existe una función básica para el procesado de revocación que consiste en la gestión de dos listas, lista blanca o de autorizados y lista negra o de personas excluidas (caducados, extraviados, revocados...) El tipo de tarjetas existentes en el mercado hoy en día son: Magnéticas (ISO 78): son muy extendidas, pero son de fácil fraude, con poco espacio de memoria 80 bytes. Son utilizada en accesos e identificación Con memoria (ISO 786): con chip integrado que almacena información de forma segura. Son utilizadas como monederos, ejemplo tarjetas para teléfonos públicos. Se las conoce como Chipcards 9-4748 Figura 23: ejemplo de tarjeta inteligente con microprocesador, dónde la CPU está en la parte de acceso al bus interno de la tarjeta donde conecta la ROM, RAM y EEPROM Con microprocesador (ISO 786/ISO 4443): son tarjetas seguras y pueden ser programadas, con memoria de entre 2-4kbytes. Se consideran multiaplicación, pero tienen el inconvenientes que sólo aceptan aplicaciones desarrolladas por el propio fabricante. Son utilizadas en módulos SIM, comercio electrónico, donde el usuario de identifica con PIN (personal identification number). Son conocidas como SmartCards JAVA cards: formada por capas, donde las aplicaciones (applets) y el S.O. Son independientes, utilizan un subconjunto de lenguaje JAVA, Java Card Api 2., permiten aplicaciones independiente del hardware escritas en lenguaje de alto nivel, son 0 a 200 veces mas lentas que las anteriores. Este tipo de tarjetas incorpora una máquina virtual JAVA y te permite la programación de Applets. La utilización de las tarjetas y su aplicación dentro de una infraestructura de red, permite gestionar de forma segura muchas transacciones y el control de acceso a todos los servicios en una red. Este mecanismos o infraestructura se conoce como Infraestructura de Clave Pública (PKI). PKI: Public Key Infraestructure Una PKI se define como la infraestructura de red formada por servidores y servicios que en base a claves públicas gestionan de forma segura todas las transacciones realizadas a través de la red. Actualmente está en fase de estandarización con un RFC. Las operaciones básicas realizadas en una PKI son la certificación (medio por el cual las claves se publican) y la validación, a través de revocación y autenticación. Las claves públicas de los servicios, usuarios, aplicaciones, clientes,... pueden ubicarse en servicios de directorios, en autoridades de certificación, en tarjetas inteligentes,... Los fabricantes de PKI más representativos son RSA Labs, Verisign GTE Cyber Trust, Xcert, Netscape,... La PKI como su nombre indica hace uso de los algoritmos de cifrado con clave pública y las aplicaciones (u operaciones) que se realizan con ellas son:. para cifrar, por ejemplo en el caso que A quiere mandar P a B, para ello utiliza la clave pública de B, enviando E B (P) y B utilizando su clave privada realiza el paso inverso D B (E B (P)) 2. para firmar y autentificar, por ejemplo en el caso que A quiere mandar P a B y firmarlo. Entonces para ello A manda {P, D A (P)} utiliza su clave privada y B utilizando la clave pública de A, realiza la comprobación E A (D A (P)) Una de las funciones importantes de la PKI es la validación de la información de los certificados. Para ello el usuario dispone de dos formas principales de validación, o preguntar por la validez a la CA (validación conocida como on line) y/o examinar el periodo de validez incluido en el certificado (offline). El problema en esta última forma de validación, estriba en la complejidad de gestionar la revocación de certificados. La información del certificado es inválida si, la clave privada de la entidad se compromete, o si los datos de la entidad cambian. Si la validación se realiza on-line, la revocación resulta sencilla. Si la validación se realiza off-line, la revocación se realiza mediante métodos como las listas de certificados revocados o CRLs (Certificate Revocated List), que es una lista de los certificados revocados, publicada y firmada periódicamente por la Mostrar más
Métodos Encriptación Tópicos en Sistemas de Computación Módulo de Seguridad Temario Introducción Breve historia Algoritmos simétricos Algoritmos asimétricos Protocolos seguros Ejemplos Introducción Porqué Más detalles Seguridad de la información
Seguridad de la información Se entiende por seguridad de la información a todas aquellas medidas preventivas y reactivas del hombre, de las organizaciones y de los sistemas tecnológicos que permitan resguardar Más detalles 3. Algoritmo DES (Data Encription Standard)
3. Algoritmo DES (Data Encription Standard) 3.1. Fundamentos Cifrado por bloques (block cipher) Opera sobre un bloque de texto plano de n bits para producir un texto cifrado de n bits. Tipicamente, la Más detalles Redes de comunicaciones actuales permiten la conectividad de un gran número de usuarios. Explosión de servicios que necesitan la transmisión de datos
Redes de comunicaciones actuales permiten la conectividad de un gran número de usuarios. Explosión de servicios que necesitan la transmisión de datos por estas redes: necesidad de protección de la información. Más detalles Descripción del algoritmo DES (Data Encryption Standard)
Descripción del algoritmo DES (Data Encryption Standard) Jorge Sánchez Arriazu diciembre de 1999 DES Introducción DES (Data Encryption Standard, estándar de cifrado de datos) es un algoritmo desarrollado Más detalles CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue
Unidad 2 CRIPTOGRAFIA 2.1 Sistemas Criptograficos clasicos 2.1.1 Sustitución Monoalfabetica (Cifrario de Cesar) 2.1.2 Sustitución Polialfabetica (Cifrario Vigenere) 2.1.3 Tranposición 2.2 Criptografia Más detalles Julio César Mendoza T. Ingeniería de Sistemas Quito
46 Julio César Mendoza T. Ingeniería de Sistemas Quito 47 RESUMEN En el presente artículo se presenta una breve introducción a la criptografía sin profundizar en las matemáticas que soportan los algoritmos Más detalles CryptoByn: Un sistema de Encriptación basado en la aleatoriedad
CryptoByn: Un sistema de Encriptación basado en la aleatoriedad Autor: Diego Sarmentero Abstract La criptología consiste en el estudio de los sistemas de cifrado, teniendo como objectivo ocultar el contenido Más detalles Semana 13: Encriptación. Cifrado simétrico
Semana 13: Encriptación Cifrado simétrico Aprendizajes esperados Contenidos: Características y principios del cifrado simétrico Algoritmos de cifrado simétrico Encriptación Simétrica En la encriptación Más detalles Criptografía, certificado digital y firma digital. Guía básica de supervivencia. En Internet nadie sabe quién está al otro lado
Criptografía, certificado digital y firma digital. Guía básica de supervivencia (adaptación de información extraída de http://www.cert.fnmt.es/popup.php?o=faq) En Internet nadie sabe quién está al otro Más detalles D.E.S. (Data Encryption Standard) Cifrado Convencional ANTECEDENTES
D.E.S. (Data Encryption Standard) Cifrado Convencional ANTECEDENTES Horst Feistel (IBM) Cómo usar sustitución monoalfabética y obtener un criptosistema aceptable? Incorporación de transposición Cambio Más detalles Criptografía. Por. Daniel Vazart P.
Criptografía Por. Daniel Vazart P. Que es? La finalidad de la criptografía es, en primer lugar, garantizar el secreto en la comunicación entre dos entidades (personas, organizaciones, etc.) y, en segundo Más detalles Funciones Avanzadas de los Firewalls. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia
Funciones Avanzadas de los Firewalls. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia Con el tiempo a los firewalls se les ha agregado mas características: Autenticación de Usuarios VPN Más detalles Tema 11 Introducción a la Criptografía
Bloque IV AUDITORÍA EN EL DESARROLLO DE SOFTWARE Tema 11 Introducción a la Criptografía Tema 11 Introducción a la Criptografía 1/ Índice Índice Conceptos básicos Criptosistemas simétricos Criptosistemas Más detalles Tema 4:Niveles Superiores
Tema 4:Niveles Superiores CONTENIDO 4.1. Nivel de Transporte 4.2. Nivel de Sesión 4.3. Nivel de Presentación Bibliografía: * Tanenbaum, es de computadores Ed. 2ª Nivel de Transporte Introducción. Objetivo Más detalles e-commerce Objetivo e-commerce
SERVICIOS DE RED E INTERNET TEMA 4: INSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS WEB Nombre: 1. Protocolo HTTPS Hyper Text Transfer Protocol Secure (en español: Protocolo seguro de transferencia de hipertexto), Más detalles Beneficios de WGABackup Online www.wiaccess.es Con el progresivo y cada vez más necesario uso de los ordenadores tanto en el trabajo como en casa, vemos como aumenta nuestra dependencia de la información Más detalles Algoritmos de cifrado Definir el problema con este tipo de cifrado
Criptografía Temario Criptografía de llave secreta (simétrica) Algoritmos de cifrado Definir el problema con este tipo de cifrado Criptografía de llave pública (asimétrica) Algoritmos de cifrado Definir Más detalles UNIDADES DE ALMACENAMIENTO DE DATOS
1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo Más detalles D.E.S. (Data Encryption Standard) Cifrado Convencional
D.E.S. (Data Encryption Standard) Cifrado Convencional ANTECEDENTES Horst Feistel (IBM) Cómo usar sustitución monoalfabética y obtener un criptosistema aceptable? Incorporación de transposición Cambio Más detalles Lección 12 Seguridad y criptografía. Universidad de Oviedo / Dpto. de Informática
Lección 12 Seguridad y criptografía Seguridad Los sistemas distribuidos son más inseguros que los centralizados por que exponen más la información. Un sistema distribuido tiene más puntos atacables. Contrapartida: Más detalles UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO
UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO TRABAJO REALIZADO COMO APOYO PARA LA CATEDRA INFORMATICA I Autora: Ing. Ing. Sylvia Más detalles PROCEDIMIENTO ESPECÍFICO. Código G022-02 Edición 0
Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. COMPONENTES Más detalles Cómo funciona Solución mwatcher Let's connect
Cómo funciona Solución mwatcher Let's connect Introducción En este documento vamos a explicar cuáles son las problemáticas que nos encontramos a la hora de realizar un telemantenimiento o acceso remoto Más detalles Semana 14: Encriptación. Cifrado asimétrico
Semana 14: Encriptación Cifrado asimétrico Aprendizajes esperados Contenidos: Características y principios del cifrado asimétrico Algoritmos de cifrado asimétrico Funciones de hash Encriptación Asimétrica Más detalles Seguridad en la transmisión de Datos
Seguridad en la transmisión de Datos David Peg Montalvo Santiago de Compostela Noviembre 2005 Índice 01 Seguridad. Ámbito de aplicación 02 Control de acceso 03 Conceptos básicos de criptografía 04 PKI Más detalles VULNERABILIDADES CRIPTOGRÁFICAS. Por Alexandre Ramilo Conde y Pablo Prol Sobrado
VULNERABILIDADES CRIPTOGRÁFICAS Por Alexandre Ramilo Conde y Pablo Prol Sobrado 1. Cifrado Simétrico a. DES b. AES Índice 2. Cifrado Asimétrico a. RSA b. DSA 3. Funciones Hash a. MD5 b. SHA-0 y SHA-1 c. Más detalles Estructura del protocolo OSI
Semana 14 14 Empecemos! En esta última semana del 9no semestre te queremos felicitar por haber llegado hasta aquí con éxito, enfrentando y resolviendo retos relacionados a los tipos de redes. Esperamos Más detalles La seguridad en la red: verdades, mentiras y consecuencias Aproximación práctica a la criptografía aplicada
La seguridad en la red: verdades, mentiras y consecuencias Aproximación práctica a la criptografía aplicada 1 2 Aproximación práctica a la criptografía aplicada 1- Qué es la criptografía aplicada 2- Propiedades: Más detalles TALLER DE DETECTIVES: DESCIFRANDO MENSAJES SECRETOS. 1. Introducción
TALLER DE DETECTIVES: DESCIFRANDO MENSAJES SECRETOS charamaria@gmail.com Resumen. Notas del taller para estudiantes Taller de Detectives: descifrando mensajes secretos dictado durante el tercer festival Más detalles Criptografía Algoritmos Simétricos Algoritmos Asimétricos Firma electrónica y algoritmos Protocolos SSL, TLS OpenSSL. Criptografía
Criptografía Víctor Bravo, Antonio Araujo 1 1 Fundación Centro Nacional de Desarrollo e Investigación en Tecnologías Libres Nodo Mérida CENDITEL, 2008 Licencia de Uso Copyright (c), 2007. 2008, CENDITEL. Más detalles Integrantes: Manuel Ramírez Carlos Polanco Bernardo Farías Profesor: Agustín J. González
Integrantes: Manuel Ramírez Carlos Polanco Bernardo Farías Profesor: Agustín J. González Introducción WLAN es una amplia red inalámbrica que permite conectar un equipo a la red para acceder a Internet, Más detalles ALGORITMOS DE ENCRIPTACIÓN, DESENCRIPTACIÓN - EVALUACIÓN Y VERIFICACIÓN
ALGORITMOS DE ENCRIPTACIÓN, DESENCRIPTACIÓN - EVALUACIÓN Y VERIFICACIÓN 4.1.- Criptografía 4.2.- Algoritmos de Encriptación Simétricos 4.3.- Algoritmos de Encriptación Asimétricos 4.4.- Implementación Más detalles Solución del examen de Redes - Segundo parcial - ETSIA - 1 de junio 2007
Solución del examen de Redes - Segundo parcial - ETSIA - de junio 2007 Apellidos, Nombre: Grupo de matrícula:. (0,75 puntos) La captura mostrada en la figura siguiente se ha realizado desde un equipo del Más detalles Cómo afrontar la Seguridad en Redes Abiertas: Consideraciones Técnicas y Escenarios.
Cómo afrontar la Seguridad en Redes Abiertas: Consideraciones Técnicas y Escenarios. Encarnación Sánchez Vicente 1. INTRODUCCIÓN No cabe ninguna duda que en nuestros días, la información es la clave. Esta Más detalles CONCEPTOS BÁSICOS DE INFORMÁTICA. REPRESENTACIÓN DE LA INFORMACIÓN.
INDICE. CONCEPTOS BÁSICOS DE INFORMÁTICA. REPRESENTACIÓN DE LA INFORMACIÓN. TÉRMINOS BÁSICOS DE LA INFORMÁTICA. REPRESENTACIÓN INTERNA DE LA INFORMACIÓN. El SISTEMA BINARIO DE NUMERACION. El sistema decimal Más detalles Seguridad Wi-Fi. Seguridad Wi-Fi
Cuando Ud. se comunica a través de Internet usando una conexión cableada o inalámbrica, querrá asegurar que sus comunicaciones y ficheros tienen privacidad y están protegidos. Si sus transmisiones no son Más detalles Introducción. Algoritmos
Introducción La firma digital es una herramienta que permite garantizar la autoría e integridad de los documentos digitales, posibilitando que éstos gocen de una característica que únicamente era propia Más detalles Representación de Datos. Una Introducción a los Sistemas Numéricos
Introducción a Página 1 Agenda Página 2 numéricos posicionales numéricos no posicionales Construcción de cantidades Sistema decimal Sistema binario binarios alfanuméricos Conversión decimal a binario Conversión Más detalles Seguridad Web. Presentación basada en el curso dictado por el Profesor Ernst Leiss en la EVI 2013
Seguridad Web Presentación basada en el curso dictado por el Profesor Ernst Leiss en la EVI 2013 Lista de contenidos Seguridad de los datos Autenticación Integridad Malware Spam Denegación de servicio Más detalles Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Más detalles Tema 1. Representación de la información MME 2012-20131
UNIDAD Sistemas de Numeración Introducción a la unidad Para la mayoría de nosotros el sistema numérico base 0 aparentemente es algo natural, sin embargo si se establecen reglas de construcción basadas Más detalles Redes de Ordenadores 3º Doble Tit. Informática y Telemática. Trabajo
Redes de Ordenadores 3º Doble Tit. Informática y Telemática Trabajo Avances en factorización entera: es completamente seguro el RSA? Victor Gonzalez Amarillo 0. Índice Introducción 3 Antecedentes: clasificación Más detalles Fig.1 Redes conectadas a Internet a través de routers IP
PRACTICA 4 EL PROTOCOLO IP Hasta ahora hemos visto aspectos relacionados con el hardware de red de nuestras máquinas: Acceso al adaptador de red y un mecanismo para la resolución de direcciones hardware. Más detalles Seguridad SSL Número: 18 Sección: Artículos.
Seguridad SSL Número: 18 Sección: Artículos. Es un hecho de todos conocido que Internet constituye un canal de comunicaciones inseguro, debido a que la información que circula a través de esta vasta red Más detalles Certificados Digitales. Versión 1.0. Sistemas / SHF 1 26/11/2003. Versión 1.0
SOCIEDAD HIPOTECARIA FEDERAL, S.N.C. MANUAL DE CERTIFICADOS DIGITALES Sistemas / SHF 1 26/11/2003 ÍNDICE INTRODUCCIÓN... 3 MARCO TEORICO... 4 CRIPTOGRAFÍA...4 CRIPTOGRAFÍA SIMETRICA...5 CRIPTOGRAFÍA ASIMETRICA...5 Más detalles Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur
Controles de Entorno Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2do. Cuatrimestre 2010 Contenido Controles Criptográficos Definiciones Técnicas Más detalles Hardware I - Datos e información en el ordenador
Hardware I - 1. El tratamiento de la información. Datos e información. Conviene, en primer lugar, diferenciar el significado de los términos datos e información. La información es un concepto muy amplio, Más detalles TEMA 3 Representación de la información
TEMA 3 Representación de la información Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción Para que el ordenador ejecute programas necesita dos tipos Más detalles QUÉ OCURRE EN LA ACTUALIDAD CON LA SEGURIDAD? INVESTIGA
QUÉ OCURRE EN LA ACTUALIDAD CON LA SEGURIDAD? INVESTIGA AUTORÍA MARÍA CATALÁ CARBONERO TEMÁTICA SEGURIDAD, REDES ETAPA CICLO SUPERIOR DE INFORMÁTICA Y PROFESORADO Resumen La seguridad en los sistemas en Más detalles Introducción a redes Ing. Aníbal Coto Cortés
Capítulo 5: Ethernet Introducción a redes Ing. Aníbal Coto Cortés 1 Objetivos En este capítulo, aprenderá a: Describir el funcionamiento de las subcapas de Ethernet. Identificar los campos principales Más detalles Criptografía Básica. Reinaldo Mayol Arnao Centro de Tecnologías de Información Universidad de Los Andes 2006
Criptografía Básica Centro de Tecnologías de Información Universidad de Los Andes 2006 Objetivos La autenticación: Proporciona certeza de la identidad de la fuente de la información, servicios, servidores Más detalles Redes Privadas Virtuales (VPN)
Redes Privadas Virtuales (VPN) Integrantes: - Diego Álvarez Delgado - Carolina Jorquera Cáceres - Gabriel Sepúlveda Jorquera - Camila Zamora Esquivel Fecha: 28 de Julio de 2014 Profesor: Agustín González Más detalles 1.Introducción. 2.Direcciones ip
1.Introducción El papel de la capa IP es averiguar cómo encaminar paquetes o datagramas a su destino final, lo que consigue mediante el protocolo IP. Para hacerlo posible, cada interfaz en la red necesita Más detalles Maria José González/ Dep. Tecnología
UNIDAD 3: ARITMÉTICA DEL COMPUTADOR Señor estudiante, es un gusto iniciar nuevamente con usted el desarrollo de esta tercera unidad. En esta ocasión, haremos una explicación más detallada de la representación Más detalles Tecnologías De La Información Y Comunicación I. Firewall Y Proxy. Integrantes: Héctor Duran. Katherine Zumelzu
Firewall Y Proxy Integrantes: Héctor Duran Katherine Zumelzu Fecha: 15/04/2015 Índice Qué es un firewall?... 3 Tipos de Firewall... 4 -Nivel de aplicación de Pasarela:... 4 -Circuito a nivel de Pasarela:... Más detalles Unidad 4 Criptografía, SSL/TLS y HTTPS. Despliegue de aplicaciones web
Unidad 4 Criptografía, SSL/TLS y HTTPS Índice Introducción. Criptografía Introducción Algoritmos criptográficos Introducción. Clave secreta. Clave pública. Funciones resumen (hash). 2 Índice Firma digital. Más detalles Tema 2. La Información y su representación
Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica Más detalles INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.
INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados Más detalles Archivo de programa Es el que inicia una aplicación o un programa y tiene una extensión EXE, PIF, COM, BAT. Véase también Programa.
Glosario de términos Ancho de Banda El ancho de banda es la máxima cantidad de datos que pueden pasar por un camino de comunicación en un momento dado, normalmente medido en segundos. Cuanto mayor sea Más detalles Materia: Informática. Nota de Clases Sistemas de Numeración
Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos Más detalles TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL
TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 1. Electrónica Digital Antes de empezar en el tema en cuestión, vamos a dar una posible definición de la disciplina que vamos a tratar, así como su ámbito Más detalles Capítulo 8: Seguridad en Redes - I
Capítulo 8: Seguridad en Redes - I ELO322: Redes de Computadores Tomás Arredondo Vidal Este material está basado en: material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet Más detalles Seguridad y eficacia
Seguridad y eficacia 1 EQUIPO DE KSI * Quince años experiencia en Formación en Sistemas, Desarrollo, Auditorías y Consultorías de Seguridad * Expertos en Sistemas de Gestión de Seguridad de Información Más detalles ARQUITECTURA DE LAS COMPUTADORAS PRACTICA
2.1 Sistemas de Numeración Definiciones previas Comenzaremos por definir unos conceptos fundamentales. Existen 2 tipos de computadoras: Analógicas: actúan bajo el control de variables continuas, es decir, Más detalles ASIR. Virtual Private Network
ASIR Virtual Private Network Introducción: Descripción del problema La red de ASIR se trata de una red local que ofrece unos servicios determinados a los distintos usuarios, alumnos y profesores. Al tratarse Más detalles Seguridad del Protocolo HTTP
Seguridad del Protocolo HTTP - P R O T O C O L O H T T P S. - C O N E X I O N E S S E G U R A S : S S L, TS L. - G E S T IÓN D E C E R T IF I C A D O S Y A C C E S O --S E G U R O C O N H T T P S Luis Más detalles A continuación se mostrarán ejemplos de tres clases de códigos: numéricos, alfanuméricos y de despliegue.
Capítulo 3 1 Codificación binaria 3.1. Codificación En un ambiente de sistemas digitales se denomina codificación a la asignación de un significado a una configuración de bits. Al modelar problemas es Más detalles GENERALIDADES DE LA COMUNICACIÓN DE DATOS
Comunicaciones I Capítulo 1 GENERALIDADES DE LA COMUNICACIÓN DE DATOS 1 El Sistema de Comunicación Sistema de comunicación: Lleva a cabo el intercambio de información entre dos entes ubicados en los extremos Más detalles Servidor Criptográfico Software. CRIPTOlib/RSA V3.0. Servidor Criptográfico Software. Indra Diciembre de 2.002
Servidor Criptográfico Software CRIPTOlib/RSA V3.0 Servidor Criptográfico Software Indra Diciembre de 2.002 Índice Índice Í N D I C E Pág. 1 INTRODUCCIÓN...4 2 EVOLUCIÓN DE LOS SISTEMAS DE SEGURIDAD...8 Más detalles Arquitectura de Redes y Sistemas de Telecomunicación
Práctica 0 Arquitectura de Redes y Sistemas de Telecomunicación Introducción al Wireshark Fundamentos del analizador de protocolos Wireshark. Objetivos En esta introducción se pretenden adquirir las capacidades Más detalles Certificados Digitales y su utilización en Entornos Clínicos
La Informática de la Salud: Punto de Encuentro de las Disciplinas Sanitarias Certificados Digitales y su utilización en Entornos Clínicos Reche Martínez, D.; García Linares, A.J.; Richarte Reina, J.M. Más detalles !!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!
INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por Más detalles Criptografía y Seguridad
11 de noviembre de 2005 versión 1.0 slide 1 Criptografía y Seguridad Ing. Horacio A. Navarro G. 11 de noviembre de 2005 versión 1.0 Seminario de Software slide 2 Agenda Definición de seguridad informática Más detalles Red de área local. Administración y gestión (cuarta parte) Autor: Editorial McGraw-Hill
Red de área local. Administración y gestión (cuarta parte) Autor: Editorial McGraw-Hill 1 Presentación del curso Curso de informática sobre redes, administración de servidores y transmisión de datos en Más detalles Las condiciones que debe reunir una comunicación segura a través de Internet (o de otras redes) son en general las siguientes:
1.264 Tema 17 Seguridad Web: Encriptación (clave pública) SSL/TLS Firmas ciegas (SET) Premisas de seguridad Web Navegador-red-servidor son los 3 componentes clave. Premisas del usuario (navegador): El Más detalles Apuntes de Seguridad I
Apuntes de Seguridad I Objetivos La seguridad informática abarca áreas que van desde la protección de los dispositivos físicos (hardware), hasta la protección de información que se encuentra físicamente Más detalles Protocolos y técnicas alternativas al WEP. En este capítulo se presentan algunos protocolos y técnicas que ofrecen mayores
Capítulo 4 Protocolos y técnicas alternativas al WEP. En este capítulo se presentan algunos protocolos y técnicas que ofrecen mayores garantías en seguridad en redes inalámbricas, eliminando las debilidades Más detalles Cifrado de datos transparente (TDE)
Cifrado de datos transparente (TDE) Dirigido a: Administradores de Bases de Datos Área: Bases de Datos Autor: Pablo F. Dueñas Servicios Profesionales Danysoft Introducción Una de las principales preocupaciones Más detalles UNIVERSIDAD BOLIVARIANA DE VENEZUELA
Introducción: El análisis de la LOGICA DIGITAL precisa la consideración de dos aspectos diferentes: el proceso lógico, que es la base teórica de los computadores, calculadoras, relojes digitales, etc. Más detalles 9243059 Edición 1 ES. Nokia y Nokia Connecting People son marcas comerciales registradas de Nokia Corporation
9243059 Edición 1 ES Nokia y Nokia Connecting People son marcas comerciales registradas de Nokia Corporation Cliente de VPN Guía de usuario 9243059 Edición 1 Copyright 2005 Nokia. Reservados todos los Más detalles Gran número de usuarios accediendo a un único servicio y con un único protocolo. Servidores y clientes con distintos protocolos.
1RWD7pFQLFD,(OSURWRFRORGHFRQH[LyQ1HW La función principal del protocolo Net 8 es establecer sesiones de red y transferir datos entre una máquina cliente y un servidor o entre dos servidores. Net8 debe Más detalles by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true
by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad Más detalles LINEAMIENTOS DE ESQUEMAS DE SEGURIDAD DE LA INFORMACIÓN
Módulo Profesional: Servicios en Red. Código: 0227. Resultados de aprendizaje y criterios de evaluación. 1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones. Más detalles CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA
CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA Criptografía simétrica E.T.S.I. Informática Universidad de Sevilla Curso 2007/2008 CRIPTOSISTEMAS SIMÉTRICOS Simétríco clave secreta compartida por Mensaje Más detalles Unidad VII: CONCEPTOS DE SEGURIDAD
Unidad VII: CONCEPTOS DE SEGURIDAD Introducción La infraestructura de red, los servicios y los datos contenidos en las computadoras conectadas a la red son activos comerciales y personales muy importantes. Más detalles Capítulo 12 Cifrado Simétrico en Bloque
Capítulo 12 Cifrado Simétrico en Bloque Seguridad Informática y Criptografía Ultima actualización del archivo: 01/03/06 Este archivo tiene: 119 diapositivas v 4.1 Material Docente de Libre Distribución Más detalles Matemática de redes Representación binaria de datos Bits y bytes
Matemática de redes Representación binaria de datos Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo pueden entender Más detalles CRIPTOGRAFIA DE CLAVE SECRETA. El emisor y el receptor conocen y usan la misma clave secreta para cifrar y descifrar mensajes.
CRIPTOSISTEMA RSA CRIPTOGRAFIA DE CLAVE SECRETA El emisor y el receptor conocen y usan la misma clave secreta para cifrar y descifrar mensajes. Problemas de este método El emisor y el receptor deben ponerse Más detalles 2017 © DocPlayer.es Política de privacidad | Condiciones del servicio | Feedback

References: Resolución 
 Resolución 
 Resolución 
 resolución 
 Resolución 
 resolución 
 resolución 
 resolución 
 Resolución 
 Resolución 
 resolución