MECANICA Y ELECTRICA SISTEMA DE MENSAJERA CIFRADO PARA REDES LAN T E S I S QUE PARA OBTENER EL TITULO DE INGENIERO EN COMUNICACCIONES Y ELECTRONICA P R E S E N T A : VALDOVINOS NAVARRO ROSA ISELA VIZCAYA HERRERA ERICK FERMIN ASESORA: GONZALEZ AMERICA MARIA MEXICO D.F 2009 1
AGRADECIMIENTOS
Valdovinos Navarro Rosa Isela
A mi Madre: Mara Navarro Valle
Y Hermanas: Ana y Elena
Gracias
Vizcaya Herrera Erick Fermn
A mis padres: Ana Mara Herrera Vizcaya y Fermn Vizcaya Torres Gracias 2
INDICE JUSTIFICACCION ........................................................................................................................ 6 OBJETIVO .................................................................................................................................... 6 Introduccin ................................................................................................................................. 7 Capitulo 1 SEGURIDAD EN REDES ........................................................................................... 9 1.1 ARQUITECTURA DE SEGURIDAD OSI .................................................................................................. 9 1.2 ATAQUES A LA SEGURIDAD ............................................................................................................... 10 1.2.1 Ataques pasivos ............................................................................................................... 10 1.2.2 Ataques Activos ................................................................................................................ 12 1.3 SERVICIOS DE SEGURIDAD ................................................................................................................ 15 1.3.1Autentificacin ................................................................................................................... 15 1.3.2 Control de Acceso ............................................................................................................ 17 1.3.3 Confidencialidad de los Datos .......................................................................................... 17 1.3.4 Integridad de los Datos .................................................................................................... 17 1.3.5 No Repudio del Mesaje .................................................................................................... 18 1.3.6 Servicio de Disponibilidad ................................................................................................ 18 1.4 MECANISMOS DE SEGURIDAD ........................................................................................................... 19 1.5 CARACTERISTICAS DE UN MODELO DE SEGURIDAD EN REDES .................................................. 21 Capitulo 2 Cifrado simtrico y mensajera reservada ........................................................... 25 2.1 PRINCIPIOS DE CIFRADO SIMETRICO ............................................................................................... 25 2.1.1 Criptografa ....................................................................................................................... 26 2.1.2 Criptoanlisis .................................................................................................................... 27 2.1.3 Estructura del Cifrado de FEISTEL .................................................................................. 30 2.2 ALGORITMOS DE CIFRADO SIMETRICO ............................................................................................ 34 2.2.1 DES (Data Encryption Standar) ....................................................................................... 34 2.2.2Triple DES ......................................................................................................................... 36 2.3 MODELO DE OPERACIN DEL CIFRADO DE BLOQUES .................................................................. 38 2.3.1 Ubicacin de los Dispositivos de Cifrado ........................................................................ 39 2.3.2 Distribucin de Claves ...................................................................................................... 40 Capitulo 3 ALGORITMO TRIPLE DES ...................................................................................... 42 3.1 EL ALGORITMO DES ............................................................................................................................ 42 3.2 ESTRUCTURA DEL DES ....................................................................................................................... 43 3.3 DESIFRADO DES .................................................................................................................................. 51 3.4 ESTRUCTURA DE CLAVES EN EL DES .............................................................................................. 51 3.5 PROPIEDADES DEL DES ..................................................................................................................... 54 3.6 SEGURIDAD DEL DES ......................................................................................................................... 54 3.7 TRIPLE DES ........................................................................................................................................... 56 3.7.1 Seguridad del Cifrado Triple DES ................................................................................... 58 3.7.2 Usos del Cifrado Triple DES ............................................................................................ 58
3
Capitulo 4 SISTEMA DISTRIBUIDO DE MENSAJERA CIFRADO ......................................... 59 4.1 PROPIEDADES Y HERRAMIENTAS PARA LA CREACIN DEL SISTEMA DE MENSAJERA CIFRADO. ........... 59 4.2 CONCEPTOS GENERALES DEL SISTEMA DE MENSAJERA CIFRADO ........................................................ 62 4.3 AUTENTIFICACIN DE USUARIOS Y PETICIONES DE CONVERSACIONES ................................................. 65 4.4 CARACTERSTICAS DEL SERVIDOR DE AUTENTIFICACIN DE USUARIOS. .............................................. 67 4.4.1 Caractersticas del Servidor de Bases de Datos.............................................................. 68 4.4.1 Caractersticas del Servidor Web ..................................................................................... 69 Capitulo 5 ESTRUCTURACIN DEL SISTEMA DE MENSAJERA CIFRADO ...................... 71 5.1 AUTENTIFICACIN DE LOS USUARIOS. ................................................................................................... 71 5.2 CONFIRMACIN DE LA LISTA DE CONTACTOS ......................................................................................... 78 5.3 ENVI Y RECEPCIN DE MENSAJES UTILIZANDO EL CIFRADO TRIPLE DES ............................................ 82 5.4 CARACTERSTICAS DE LAS PCS, PARA INSTALAR EL SISTEMA DE MENSAJERA. ................................... 86 Capitulo 6 CONFIGURACIN DE LA INFORMACIN EN LA BASE DE DATOS .................. 88 6.1 PROPIEDADES DEL SERVIDOR DE BASES DE DATOS ............................................................................. 88 6.2 DISTRIBUCIN DE LA INFORMACIN DE ALTA DE USUARIOS ................................................................ 91 6.3 ADMINISTRACIN DE LOS DATOS, PARA LA INTEGRACIN DE LAS LISTAS DE CONTACTOS. .................. 94 6.4 PROGRAMACIN Y ADMINISTRACIN DE LAS BASES DE DATOS ............................................................ 99 CapitUlo 7 RESULTADOS, CONCLUSIONES Y ALCANCES DE LA CREACION DEL SISTEMA DE MENSAJERA CIFRADO PARA REDES LAN .................................................................. 103 7.1 RESULTADOS OBTENIDOS Y COSTOS DE CREACION DEL SISTEMA DE MENSAJERIA CIFRADO PARA REDES LAN.................................................................................................................................................. 103 7.2 CONCLUCIONES DE LA CREACION DEL MENSAJERA CIFRADO PARA REDES LAN ................................ 106 7.3 ALCANCES Y APORTACIONES DEL SISTEMA MENSAJERA CIFRADO PARA REDES LAN ......................... 109 APENDICE A GLOSARIO DE TECNOLOGAS DE LA INFORMACIN .............................. 110 Concepto de Modelo OSI: .......................................................................................................................... 110 protocolo TCP ............................................................................................................................................. 111 protocolo IP ................................................................................................................................................ 112 PROTOCOLO TCP-IP ............................................................................................................................... 112 RECOMENDACIN X.800 ......................................................................................................................... 114 Sector de Normalizacin de las Telecomunicaciones de la UIT ................................................................. 114 RFC ............................................................................................................................................................ 116 RFC 2828 ................................................................................................................................................... 117 ARQUIRECTURA DE SEGURIDAD OSI ................................................................................................... 117 Instituto Nacional de Estndares y Tecnologa ........................................................................................... 117 APENDICE B CODIGO FUENTE DEL CIFRADO TRIPLE DES EN C# ................................ 119 BIBLIOGRAFIA ......................................................................................................................... 121
4
INDICE DE FIGURAS Figura 1.1 Obtencion del contenido del mensaje ......................................................................... 11 Figura 1.2 Analisis del trafico ......................................................................................................... 12 Figura 1.3 Suplantacion de la identidad ....................................................................................... 13 Figura 1.4 Repeticion ...................................................................................................................... 13 Figura 1.5 Modificacion de mensajes ............................................................................................ 14 Figura 1.6 Interrupcion del servicio ............................................................................................... 14 Figura 1.7 Modelo para la seguridad en redes .............................................................................. 22 Figura 1.8 Modelo para la seguridad en el accesoa redes .......................................................... 23 Figura 2.1 Modelo simlificado del cifrado convencional ............................................................. 25 Figura 2.2 Red clsica de feistel .................................................................................................... 32 Figura 2.3 Tiempo empleado en romper un cdigo (suponiendo 10,000,000 descifrados / Microsegundo ) ................................................................................................................................. 36 Figura 2.4 Cifrado triple des ........................................................................................................... 37 Figura 2.5 Descifrado triple des ..................................................................................................... 37 Figura 2.6 Cifrado a travz de una red de conmutacin de paquetes ........................................ 39 Figura 3.1 Clculo de las subclaves Ki .......................................................................................... 44 Figura 3.2 Ronda del Algoritmo DES .............................................................................................. 45 Figura 3.3 Esquema de transformaciones iterativas de los bloques Ln y Rn ............................. 47 Figura 3.4 Diagrama de descifrado DES ...................................................................................... 51 Figura 3.5 Diagrama para la Obtencin de Una Clave a partir de una Clave de 64 Bits .......... 52 Figura 3.6 Diagrama de Claves para el Cifrado Triple Des.......................................................... 57 Figura 3.7 Proceso de Cifrado 3DES entre Emisor A y Receptor B ............................................. 57 Figura 4.1 Informacin visualizada por cada usuario al ingreso del Sistema de Mensajeria63 Figura 4.2 Ventana por medio de la cual se entablan las conversaciones ................................ 64 Figura 4.3 Rroceso de autenticacon del sistema ....................................................................... 65 Figura 4.4 Envo de peticiones para la creacin de la lista de contactos .................................. 66 Figura 4.5 Envo de peticiones para la realizacin de conversaciones ...................................... 66 Figura 4.6 El usuario 1 podr establecer conversaciones con sus contactos ........................... 67 Figura 5.1 Inicio se sesin en el sistema de mensajera ............................................................. 71 Figura 5.2 Ventana que indica elingreso al sistema..................................................................... 72 Figura 5.3 Ventana de usuario y/o contrasea no valido ............................................................ 73 Figura 5.4 Diagrama de Autentificacin de usuario ..................................................................... 74 Figura 5.5 Caracteristicas de los modulos master server y master client .................................. 75 Figura 5.6 Caracteristicas del modulo slave server ...................................................................... 76 Figura 5.7 Diagrama de Peticin de conversaciones ................................................................... 76 Figura 5.8 Diagrama de distribucion de puertos entre las solicitudes de los usuarios ........... 78 Figura 5.9 Status de los integrantes de la lista de contactos ..................................................... 79 Figura 5.10 Ventana de Agregar contacto a la lista .................................................................... 79 Figura 5.11 Mensaje de usuario no agragado .............................................................................. 80 Figura 5.12 Mensaje de envo de solicitud de contacto ................................................................ 80 Figura 5.13 Mensaje de solicitud de confirmacin de contacto ................................................... 81 Figura 5.14 Confirmacion de agregar usuario a lista de contactos .............................................. 81 Figura 5.15 Encripcin de dados con c# ........................................................................................ 83 Figura 5.16 Cifrado y descifrado de datos ..................................................................................... 84 Figura 5.17 Los datos no son descifrados, las claves no son correctas ...................................... 84 Figura 5.18 Servidor del usuario a enva datos al servidor b del usuario b, los datos no se descifran, las claves no son las mismas ........................................................................................ 85 5
Figura 5.19 Servidor del usuario a enva datos al servidor b del usuario b, los datos se descifran y es legible ....................................................................................................................... 86 Figura 5.20 Estructura de una red lan .......................................................................................... 87 Figura 6.1 Estructura de una base de datos ................................................................................. 88 Figura 6.2 Arquitectura de un sistema de bases de datos .......................................................... 91 Figura 6.3 Tabla dbo.contactos ...................................................................................................... 92 Figura 6.4 Ataque activo: una entidad finge ser otra ................................................................... 93 Figura 6.5 Diagrama de integracin de datos en dbo.contactos ................................................. 95 Figura 6.6 Tabla dbo.contactos, confirmacion de contacto ......................................................... 96 Figura 6.7 Autentificacion para acceso al sistemade administracion de usuarios ................. 101 Figura 6.8 Aplicacin de Administracion de Usuarios del Sistema ........................................... 102 Figura 6.9 Aplicacin de Administracion de Usuarios del Sistema ........................................... 102 Figura7.1 Ventana de wireshark.....................................104 Figura7.2 Horas utilizadas para realizar el sistema de mensajera cifrado.........................105
6
JUSTIFICACION
Hoy en da, en donde la seguridad de la informacin, forma un aspecto importante en todos los Sistemas de Comunicacin, se ha observado un incremento en el uso de la mensajera instantnea, convirtindose en un medio importante de comunicacin y una forma eficiente de compartir informacin, por lo que existe la necesidad de crear un sistema de mensajera que cuente con mecanismos que nos permita tener seguridad en la informacin que se enva por este medio y igual tener un control ms detallado de los usuarios que utilizan el sistema en una red LAN.
OBJETIVO
Desarrollar un Sistema de Mensajera Instantnea con Tecnologa .NET, que nos permita compartir, solo con usuarios que sean autorizados por medio del servidor de bases de datos y que la informacin que sea transmitida por la red LAN, este protegida por medio del cifrado de datos utilizando el algoritmo Triple DES de tal manera que solo el destinatario, sea quien pueda acceder y leer dicha informacin.
7
INTRODUCCIN
La mensajera instantnea, a diferencia del correo electrnico y el ambiente Web, proporciona la interaccin de dos o ms personas en tiempo real, donde un usuario puede revisar quienes estn conectados al sistema, y entablar conversaciones con usuarios habilitados en el mismo sistema. Para la creacin de Sistema de Mensajera Cifrado se toman como base las siguientes caractersticas, que nos ayudara a crear un sistema confiable y funcional. Como un Sistema de Comunicacin. Un Sistema Adaptado a Redes LAN. Programado como un Sistema Distribuido con Tecnologa .NET. Un Sistema con Seguridad aplicando el Cifrado de Datos. Como un Sistema de Comunicacin: En la actualidad la transmisin de informacin se produce a gran escala mundial, todos das el tratamiento y gestin de datos sufren un empuje extraordinario y el desarrollo de las redes de computadores crece impresionantemente. Al tener varias redes interconectadas, la informacin que se maneja debe ser controlada con sistemas que puedan permitir a los usuarios de una red entablar comunicacin con otros usuarios en una forma segura. Un Sistema Adaptado a Redes LAN: El Sistema de Mensajera, se utilizara en redes LAN, en donde se puedan estar interconectados, un servidor donde se contendr la informacin para el funcionamiento del sistema y los computadores que podrn usar a la red LAN como un medio de conexin al sistema de Mensajera. 8
Al utilizar una Red LAN, la finalidad es enlazar computadores utilizando un conjunto de reglas que aseguren un servicio confiable y seguro. Algunas de las caractersticas que debe tener el envi y transmisin de informacin es: La informacin debe proporcionarse de forma confiable sin ningn dao o alteracin en los datos. La informacin debe transferirse de manera constante. La red debe ser quien determine hacia dnde se dirige la informacin. Como un Sistema Distribuido: El Sistema de Mensajera se formara por medio de de una o varias comunicaciones siguiendo un protocolo prefijado mediante un esquema cliente-servidor. Los clientes son los usuarios que solicitaran una conexin al Sistema de Mensajera, y el servidor es la maquina que proporcionara la informacin y los medios necesarios para utilizar el Sistema. El sistema de Mensajera se creara, con Tecnologa .NET, programado con el lenguaje C# y se utilizara un gestor de bases de datos que es SQL Server 2005. Un Sistema con Seguridad aplicando el Cifrado de Datos: Con el crecimiento de las redes de computadoras, se genero la necesidad de disponer de herramientas automatizadas para la proteccin de archivos y otros tipos de informacin almacenada en el computador. Esto ocurre especialmente en el uso de sistemas compartidos, como es el caso del Sistema de Mensajera. En el Sistema de Mensajera contendr un conjunto de mecanismos para resguardar los datos y evitar la intrusin de usuarios no autorizados, que pueden causar modificacin, eliminacin, o afectar la integridad de los datos en el Sistema de Mensajera. El procedimiento que se utiliza en el Sistema de Mensajera, como mecanismo de seguridad, es el cifrado de datos, que tiene como objetivo ocultar el contenido de los mensajes, por medio de una serie codificada de signos, con el fin de transmitirlo a un receptor, sin que nadie ms pueda leerlo. 9
CAPITULO 1 SEGURIDAD EN REDES
1.1 ARQUITECTURA DE SEGURIDAD OSI Para analizar las necesidades de seguridad de una organizacin, evaluar y elegir distintos productos y polticas de seguridad, el responsable de la seguridad necesita en forma sistemtica definir los requisitos de seguridad y calificar los enfoques para satisfacer dichos requisitos. Esto es difcil en un entorno centralizado de procesamiento de datos, y con el uso de redes de rea local y de rea ancha, los problemas se agravan. La recomendacin X.800 de la ITU-T (El sector de Estandarizacin de Telecomunicaciones de la Unin Internacional de Telecomunicaciones (ITU) es una agencia que desarrolla estndares, recomendaciones, relativos a las telecomunicaciones y a la interconexin de sistemas abiertos OSI). La arquitectura de seguridad OSI es til a los administradores de red para organizar la tarea de proporcionar seguridad. A dems, que esta arquitectura fue desarrollada como un estndar internacional, los vendedores han desarrollado caractersticas de seguridad para sus productos. La arquitectura de seguridad OSI se centra en los ataques a la seguridad, los mecanismos y los servicios, se definen a continuacin. Amenaza: Una probabilidad de violacin de la seguridad, que se da cuando hay una circunstancia, accin o evento que pudiera romper la seguridad y causar dao o alteracin en la informacin. Es decir, una amenaza es un riesgo que toda red o sistema tienen de ser quebrantado y se pueda extraer o modificar la informacin. Ataque: Una invasin a la seguridad del sistema ocasionado de una amenaza inteligente, es decir, un acto inteligente y premeditado (especialmente en el sentido de mtodo o tcnica) para evitar los servicios de seguridad y violar la poltica de seguridad de un sistema. 10
En la literatura los trminos amenaza y ataque se usan frecuentemente de las definiciones extradas Internet Security Glossary, documento que contiene la lista de informacin relacionada con la seguridad, mejor conocida como RFC 2828 (request for comments o peticin de comentarios). Mecanismos de seguridad: Es un proceso diseado para reconocer un ataque a la seguridad, evitarlo o restaurarse de l. Servicio de seguridad: Es un conjunto de procedimientos que mejora la seguridad de los sistemas de procesamiento de datos y la trasferencia de informacin de una organizacin. Los servicios estn diseados para resistir los ataques a la seguridad, y hacen uso de uno o ms mecanismos para proporcionar el servicio. De acuerdo a la Arquitectura de Seguridad OSI, un servicio de seguridad es una caracterstica que debe tener un sistema para satisfacer una poltica de seguridad. Polticas de Seguridad: Es un conjunto de reglas que definen la manera en que una organizacin maneja, administra, protege y asigna recursos para alcanzar el nivel de seguridad definido como objetivo.
1.2 ATAQUES A LA SEGURIDAD Una forma importante de clasificar los ataques a la seguridad, es la empleada en la recomendacin X.800 y RFC2828, en donde se realiza la identificacin entre ataques pasivos y ataques activos. Un ataque pasivo trata de conocer o hacer uso de informacin del sistema, pero no afecta los procesos del mismo. Un ataque activo, intenta modificar los recursos del sistema o afectar a su funcionamiento.
1.2.1 ATAQUES PASIVOS Los ataques pasivos, el atacante no altera la comunicacin, sino que nicamente la monitoriza y observa transmisiones no autorizadas. El objetivo del atacante es 11
obtener informacin que se est transmitiendo. Dos tipos e ataques pasivos son la obtencin de contenidos de mensaje y el anlisis de trfico. La obtencin de contenidos de mensaje se puede observar fcilmente en la figura 1.1. Una conversacin telefnica, un mensaje por correo electrnico, mensajes enviados por medio de mensajera instantnea y un fichero enviado pueden contener informacin confidencial, son algunas de las formas en cmo se pueden monitorear datos.
FIGURA 1.1 OBTENCION DEL CONTENIDO DEL MENSAJE
El ataque pasivo de anlisis de trfico, se puede detallar en la figura 1.2. Si se ocultan los contenidos de los mensajes o trafico de informacin de forma que el atacante, incluso habiendo capturado el mensaje, no pueda extraer la informacin que contiene. El mtodo utilizado frecuentemente para ocultar los contenidos es el cifrado. Todava aun teniendo proteccin mediante el cifrado, un atacante podra observar el flujo de los mensajes, obtener la localizacin y la identidad de los servidores que se comunican y descubrir la frecuencia y la longitud de los mensajes que se estn intercambiando. Esta informacin puede ser utilizada para averiguar el tipo de comunicacin que est teniendo lugar.
12
FIGURA 1.2 ANALISIS DEL TRAFICO
Los ataques pasivos son difciles de identificar, ya que no provocan alteracin en los datos. El envi y recepcin de mensajes se realiza de una forma aparentemente normal ya que ni el emisor ni el receptor llegan a detectar que una tercera persona ha ledo los mensajes o ha observado el patrn de trfico. Es posible evitar el xito de estos ataques, normalmente utilizando el cifrado. Por lo que al tratar con los ataques pasivos, es ms la prevencin que en la deteccin.
1.2.2 ATAQUES ACTIVOS Estos ataques implican algn tipo de modificacin del flujo de datos transmitido o la creacin de un falso flujo de datos, se pueden dividir en cuatro categoras: suplantacin de identidad, repeticin, modificacin de mensaje e interrupcin de servicio. Una Suplantacin se realiza cuando un agente finge ser otro como se observa en la figura 1.3. Un ataque de este tipo incorpora una de las otras formas de ataque activo. Por ejemplo, las fases de autentificacin pueden ser capturadas y repetidas despus de una fase valida de autentificacin se haya realizado, permitiendo que un agente autorizado con pocos privilegios obtenga privilegios extra hacindose pasar por el agente que realmente los posee.
13
FIGURA 1.3 SUPLANTACION DE LA IDENTIDAD
La repeticin incluye la captura pasiva de una unidad de datos y su retransmisin posterior para producir un efecto no autorizado, como se observa en la figura 1.4.
FIGURA 1.4 REPETICION
La modificacin de mensajes significa que una fraccin de un mensaje original es cambiada, o que los mensajes se han retrasados o reordenado, para hacer un efecto no autorizado como se observa en la figura 1.5. Por ejemplo, el mensaje Permitir a Erick Prez que lea las cuentas de archivos confidenciales se convierte en Permitir a Marcos Fernndez que lea las cuentas de archivo confidenciales.
14
FIGURA 1.5 MODIFICACION DE MENSAJES
La interrupcin de servicio impide el uso normal de los recursos de comunicacin. Este ataque podra tener un objetivo especfico; por ejemplo, un agente podra anular todos los mensajes dirigidos a un destino en particular. Otra forma de este tipo de ataque es la suspensin de una red completa, ya sea inhabilitndola o sobrecargndola con mensajes para reducir su rendimiento como se observa en la figura 1.6.
FIGURA 1.6 INTERRUPCION DEL SERVICIO Los ataques activos son difciles de prevenir por completo, debido a que se necesita la proteccin fsica de todas las herramientas de comunicacin y las rutas en todo momento. 15
1.3 SERVICIOS DE SEGURIDAD La recomendacin X.800 define un servicio de seguridad como un conjunto de procesos otorgado por una capa de protocolo de sistemas abiertos de comunicacin (OSI), que avala la seguridad adecuada de los sistemas o de las transferencias de datos. La definicin en RFC 2828 indica que un servicio de procesamiento o de comunicacin por un sistema para dar un tipo especial de proteccin a los recursos del sistema; los servicios de seguridad implementan polticas de seguridad y son implementados, a su vez, por mecanismos de seguridad. En X.800 estos servicios quedan divididos en cinco categoras y 14 servicios especficos Tabla 1.1.
1.3.1AUTENTIFICACIN El servicio de autentificacin su objetivo es garantizar la autenticidad de la comunicacin. La autentificacin asegura que la identidad de los participantes es verdadera. Se pueden evaluar tres aspectos para autentificar usuarios: verificar algo que el usuario tiene; poner a prueba al usuario sobre algo que sabe, esto es, pedirle una contrasea y, finalmente, el tercer aspecto es verificar algo que el usuario es, por ejemplo, analizar sus huellas dactilares o su retina. En el estndar X.800 se definen dos tipos particulares de autentificacin: Autentificacin de entidades origen/destino: Proporciona la informacin de la identidad de un usuario de una agrupacin. Se otorga en el establecimiento de una conexin o durante la fase de transmisin de datos de la conexin. Tratan de confirmar que un usuario no est realizando una sustitucin o una repeticin no autorizada de una conexin anterior. Autentificacin del origen de los datos: Identifica la fuente de una unidad de datos. No aporta proteccin contra la repeticin o la alteracin de unidades de datos. 16
Este tipo de servicio admite aplicaciones como el correo electrnico, donde no hay interacciones previas entre las entidades que se comunican.
TABLA 1.1 SERVICIOS DE SEGURIDAD (X.800) Servicio Descripcin
AUTENTIFICACCION
*Autentificacin de las entidades origen/destino: Empleada conjuntamente con una conexin lgica para aportar confianza sobre los usuarios conectados a una red. *Autentificacin del origen de los datos: En transmisin no orientada a la conexin, avala que la fuente de los datos recibidos.
CONTROL DE ACCESO *La prevencin del uso no autorizado de una fuente. Mediante restricciones durante la conexin a aplicaciones dentro de una red.
CONFIDENCIALIDAD DE LOS DATOS
*Confidencialidad de la Conexin: La proteccin de los datos de todos los usuarios en una conexin. *Confidencialidad no Orientada a la Conexin: La proteccin de los datos de todos los usuarios en un nico bloque de datos. *Confidencialidad de Campos Seleccionados: Se realiza en los datos del usuario en una conexin o en un nico bloque de datos. * Confidencialidad del Flujo de Trafico: La proteccin de la informacin que podra extraerse a partir de la observacin del flujo del trfico.
INTEGRIDAD DE LOS DATOS
*Integridad de la Conexin con Recuperacin: Proporciona la integridad de los datos de todos los usuarios en una conexin y detecta cualquier modificacin, insercin, omisin o repeticin de cualquier dato de una secuencia completa de datos, con intento de recuperacin. *Integridad de la Conexin sin Recuperacin: Igual que el anterior, pero proporciona solo deteccin sin recuperacin. *Integridad de la conexin de Campos Seleccionados: Proporciona la integridad de los campos seleccionados en los datos del usuario del bloque de datos transferido por una conexin. *Integridad no Orientada a la Conexin: Proporciona integridad de un bloque de datos sin conexin y puede detectar la alteracin de datos. *Integridad no Orientada a la Conexin de Campos Seleccionados: Proporciona la integridad de los campos seleccionados en un bloque de datos sin conexin; determina si los campos seleccionados han sido modificados.
NO REPUDIO DEL MENSAJE
*No Repudio, Origen: Prueba que el mensaje fue enviado por la parte especificada. *No Repudio, Destino: Prueba que el mensaje fue recibido por la parte especificada. 17
1.3.2 CONTROL DE ACCESO El control de acceso es la facultad de limitar y revisar el acceso a sistemas host y aplicaciones por medio de enlaces de comunicaciones. Para conseguirlo, cualquier usuario que intente ingresar debe antes ser identificada o autentificada, de forma que los derechos de acceso puedan asignarse de manera individual.
1.3.3 CONFIDENCIALIDAD DE LOS DATOS Este servicio trata de impedir que usuarios no autorizados conozcan la existencia de datos, los examinen o revelen, o analice su flujo. De acuerdo al contenido de una transmisin de datos, existen diferentes niveles de proteccin. El servicio ms amplio resguarda los datos de los usuarios que se han transmitido por conexin TCP (Protocolo de Control de Transmisin). El otro aspecto de la confidencialidad es la proteccin del flujo del trfico frente al anlisis de trfico. Para ello el atacante no debera poder ver la fuente, el destino, la frecuencia, la longitud ni otras caractersticas del trfico en una comunicacin.
1.3.4 INTEGRIDAD DE LOS DATOS Es el servicio que nos indica que la informacin no ha sido modificada por usuarios, sistemas o procesos no autorizados para hacerlo. Dentro de las posibles modificaciones estn la escritura, modificacin o borrado de segmentos de datos. Un servicio de integridad orientado a la conexin que funcione sobre un flujo de mensajes garantiza que los mensajes se reciben tal y como son enviados, sin duplicacin, insercin, modificacin, reordenacin ni repeticiones. La destruccin de datos tambin queda cubierta con este servicio. As, el servicio de integridad orientado a la conexin trata tanto la modificacin del flujo de mensajes como la interrupcin del servicio. 18
El servicio de integridad tiene que ver con los ataques activos, en este servicio interesa ms la deteccin que la prevencin. Si se detecta una violacin de la integridad, el servicio podra simplemente informar de esta violacin, y ser necesaria la intervencin humana o de algn otro software para restablecerse de la violacin.
1.3.5 NO REPUDIO DEL MENSAJE El no repudio evita que el emisor o el receptor rechacen la transmisin de un mensaje. As, cuando se enva un mensaje, el receptor puede comprobar que, el supuesto emisor envi el mensaje y cuando se recibe un mensaje, el emisor puede verificar que, el supuesto receptor recogi el mensaje.
1.3.6 SERVICIO DE DISPONIBILIDAD Tanto X.800 como RFC2828 define la disponibilidad como la caracterstica que tiene un sistema o recurso de un sistema de estar accesible y utilizable a peticin de una entidad autorizada de acuerdo a las propiedades de rendimiento para el sistema. Una variedad de ataques puede dar como resultado la prdida o reduccin de la disponibilidad. Algunos de estos ataques son susceptibles a contramedidas automatizadas, como la autentificacin o el cifrado, mientras que otras requieren algn tipo de accin fsica para prevenir o recuperarse de la perdida de disponibilidad de elementos de un sistema distribuido. La norma X.800 trata la disponibilidad como un servicio que protege un sistema para asegurar su disponibilidad y trata los problemas de seguridad que surgen a raz de ataques de interrupcin de servicio. La tabla 1.2 muestra la relacin que existe entre los servicios de seguridad y los ataques. 19
TABLA 1.2 RELACIN ENTRE SERVICIOS DE SEGURIDAD Y ATAQUES Ataque Servicio Obtencin del contenido del mensaje Anlisis de trafico Suplantacin Repeticin Modificacin de mensajes Interrupcin de servicio Autentificacin de Entidades Origen/Destino
Autentificacin del Origen de los Datos Y Control de Acceso Y Confidencialidad Y Confidencialidad del Flujo de Trafico Y Integridad de los Datos Y Y No Repudio Disponibilidad Y
1.4 MECANISMOS DE SEGURIDAD La tabla 1.3 indica los mecanismos de seguridad definidos en X.800. Como se puede observar, los mecanismos se dividen en aquellos que se implementan en una capa especfica de un protocolo y aquellos que no son especficos de ninguna capa de protocolo o servicio de seguridad en particular. La definicin de cifrado X.800 distingue entre mecanismos de cifrado reversible y mecanismos de cifrado irreversible. El primero es un algoritmo de cifrado que permite cifrar los datos y posteriormente, descifrarlos. Por otro lado, los mecanismos de cifrado irreversible incluyen algoritmos hash y cdigos de autentificacin de mensajes, que se emplean en firmas digitales y en aplicaciones de autentificacin de mensajes.
20
TABLA 1.3 MECANISMOS DE SEGURIDAD (X.800)
Mecanismo
Descripcin
Mecanismos Especficos de Seguridad *Cifrado: El Uso de algoritmos matemticos para transformar datos en una forma inteligible. La transformacin y la posterior recuperacin de los datos depende de un algoritmo y cero o mas claves de cifrado *Firma Digital: Datos aadidos a, o una transformacin criptogrfica de, una unidad de datos que permite al receptor verificar la fuente y la integridad de la unidad de datos y protegerla de la falsificacin (por parte del receptor). *Control de Acceso: Una serie de mecanismos que refuerzan los derechos de acceso a los recursos. *Integridad de los Datos: Una serie de mecanismos empleados para verificar la integridad de una unidad de datos o del flujo de unidades de datos. *Intercambio de Autentificacin: Un mecanismo diseado para comprobar la identidad de una entidad por medio del intercambio de informacin. *Relleno de Trfico: La insercin de bits en espacios en un flujo de datos para frustrar los intentos de anlisis de trfico. *Control de Enrutamiento: Permite la seleccin de rutas fsicamente seguras para determinados datos y permtelos cambios de enrutamiento, especialmente cuando se sospecha de una brecha en la seguridad. *Notarizacion: El uso de una tercera parte confiable para asegurar determinadas propiedades de un intercambio de datos
Mecanismos Generales de Seguridad
*Funcionalidad Fiable: La que se considera correcta con respecto a algunos criterios (por ejemplo, los establecidos por una poltica de seguridad). * Etiquetas de Seguridad: La marca asociada a un recurso (que podra ser una unidad de datos) que designa los atributos de seguridad de ese recurso. *Deteccin de Acciones: Deteccin de acciones relacionadas con la seguridad. *Informe para la Auditoria de Seguridad: Recopilacin de datos para facilitar una auditoria de seguridad, que consiste en una revisin y un examen independientes de los informes y actividades del sistema. * Recuperacin de la Seguridad: Maneja las peticiones de los mecanismos (como funciones de gestin de acciones) y lleva a cabo acciones de recuperacin.
La tabla 1.4 est basada en la recomendacin X.800, indica la relacin que se da entre los servicios de seguridad y los mecanismos de seguridad.
21
TABLA 1.4 RELACIN ENTRE SERVICIOS Y MECANISMOS DE SEGURIDAD Mecanismos Servicio Cifrado Firma Digital Control de Acceso Integridad de los Datos Intercambio de Autentificacin Relleno del Trafico Control del Enrutamiento Notariz- acin Autentificacin de Entidades Origen/Destino Y Y Y Autentificacin del Origen de los Datos Y Y Control de Acceso Y Confidencialidad Y Y Confidencialidad del Flujo de Trafico Y Y Y Integridad de los Datos Y Y Y No Repudio Y Y Y Disponibilidad Y Y
1.5 CARACTERISTICAS DE UN MODELO DE SEGURIDAD EN REDES La figura 1.7 representa un modelo de un mensaje que ha de ser transmitido de mediante alguna red de un sitio a otro. Las dos partes, que son los interlocutores en la transmisin, deben cooperar para que el intercambio tenga lugar. Se establece un canal de informacin definiendo una ruta a travs de la red que vaya de la fuente al destino y mediante el uso cooperativo de comunicacin por parte de los interlocutores. La seguridad entra cuando se necesita proteger la transmisin de informacin de un oponente que pudiera presentar una amenaza a la confidencialidad, a la autenticidad de los datos. Todas las tcnicas para proporcionar seguridad tienen dos componentes. Una Transformacin relacionada con la seguridad de la informacin que se va enviar. Un ejemplo de ello es el cifrado del mensaje, que lo desordena para que resulte ilegible al oponente, y la aplicacin de un cdigo basado 22
en el contenido del mensaje, que puede usarse para verificar la identidad del emisor. Alguna informacin secreta compartida por los interlocutores y desconocida por el oponente. Un ejemplo es la clave de cifrado usada en conjuncin con la transformacin para desordenar el mensaje antes de la transmisin y reordenarlo al momento de la recepcin. Para lograr una transmisin segura, puede ser necesaria una tercera parte confiable, por ejemplo, sea la responsable de distribuir la informacin secreta a los dos interlocutores y la guarde de cualquier oponente. Tambin puede ser necesaria para ordenar disputas entre los interlocutores con lo que respecta a la autenticidad de la transmisin de un mensaje.
FIGURA 1.7 MODELO PARA LA SEGURIDAD EN REDES
Este modelo general muestra que hay cuatro tareas bsicas en el diseo de un servicio de seguridad particular. 1. Disear un algoritmo para llevar a cabo la transformacin relacionada con la seguridad. El algoritmo debe estar diseado de forma que un oponente no pueda obtener la informacin. 2. Generar la informacin secreta que deba ser usada con el algoritmo. 23
3. Desarrollar mtodos para distribuir y compartir la informacin secreta. 4. Especificar un protocolo para los dos interlocutores que hagan uso del algoritmo de seguridad y la informacin secreta, para obtener un servicio concreto de seguridad. En la figura 1.8 se identifica un modelo que refleja la preocupacin por proteger un sistema de informacin del acceso no deseado. Los problemas ocasionados por la existencia de hackers, que tratan de penetrar sistemas a los que pueden acceder por medio de la red. El hacker puede ser alguien que, sin la intensin de hacer dao, obtiene satisfaccin rompiendo y entrando en los sistemas informticos. El Intruso tambin puede ser un empleado contrariado que quiere hacer dao, o un criminal que intenta explotar los sistemas computacionales para obtener beneficios financieros. Otro tipo de acceso no deseado consiste en introducir en un sistema computacional software que explote debilidades en el sistema y que pueda afectar a programas de aplicaciones, como editores y compiladores. Los mecanismos de seguridad necesarios para enfrentarse a accesos no deseados se dividen en dos categoras (figura 1.8). La primera categora es la de funcin de vigilancia, incluye los procedimientos de conexin mediante clave, diseados para negar accesos a usuarios no autorizados, y los software de ocultacin, diseados para detectar y rechazar gusanos, virus y ataques similares.
FIGURA 1.8 MODELO PARA LA SEGURIDAD EN EL ACCESOA REDES 24
Una vez que un usuario o software no deseado accede, la segunda lnea de la defensa consiste en una serie de controles internos que monitorizan la actividad y analizan la informacin almacenada con el fin de detectar la presencia de intrusos.
25
CAPITULO 2 CIFRADO SIMTRICO Y MENSAJERA RESERVADA
2.1 PRINCIPIOS DE CIFRADO SIMETRICO Un esquema de cifrado simtrico tiene cinco componentes Figura 2.1: Texto claro: Son los datos o informacin original que se introducen en el algoritmo como entrada. Algoritmo de cifrado: El algoritmo de cifrado realiza varias sustituciones, modificando en el texto claro. Clave Secreta: La clave es tambin una entrada del algoritmo. Las sustituciones y modificaciones realizadas por el algoritmo dependen de ella. Texto Cifrado: Son los datos ilegibles que se produce como salida. Depende del texto claro y de la clave secreta. Para datos determinados, dos claves diferentes produciran dos textos cifrados diferentes. Algoritmo de Descifrado: Es el algoritmo de cifrado ejecutado a la inversa. Toma el texto cifrado y la misma clave secreta, y genera el texto claro.
FIGURA 2.1 MODELO SIMLIFICADO DEL CIFRADO CONVENCIONAL
26
Hay dos requisitos para el uso del cifrado simtrico. 1.0 Se requiere un algoritmo de cifrado fuerte: Para que el atacante no pueda descifrar el texto o averiguar la clave aunque estuviera una serie de textos cifrados juntos con sus correspondientes textos originales.
2.0 El emisor y el receptor deben poseer copias de la clave secreta de forma segura y su obligacin es guardarla ya que si alguien descubre la clave y conoce el algoritmo, la informacin que se transmite con esa clave es descifrable. La seguridad del cifrado simtrico depende de la privacidad de la clave, no de la privacidad del algoritmo. Es decir, no es necesario que el algoritmo sea secreto; lo nico que se debe mantener en secreto es la clave.
2.1.1 CRIPTOGRAFA La criptografa es el arte de cifrar y descifrar informacin mediante tcnicas que hagan el intercambio de mensajes de manera segura y que slo los mensajes puedan ser ledos por los usuarios a quienes van dirigidos. La criptografa se basa en la aritmtica: En el caso de un texto, consiste en transformar las letras que conforman el mensaje en una serie de nmeros (en forma de bytes ya que los equipos informticos usan el sistema binario) y luego realizar clculos con estos nmeros para modificarlos y hacerlos incomprensibles. El resultado de esta modificacin se llama texto cifrado, en contraste con el mensaje inicial, llamado texto claro.
El objetivo de la criptografa es, garantizar el secreto en la comunicacin entre dos entidades (personas, organizaciones, etc.) y asegurar que la informacin que se enva es autntica en un doble sentido: que el remitente sea realmente quien dice ser y que el contenido del mensaje enviado, no haya sido modificado durante el envo del mensaje. 27
Generalmente, los sistemas criptogrficos se clasifican atendiendo a tres factores independientes. 1.0 El procedimiento utilizado para transformar el texto claro en texto cifrado: Los algoritmos de cifrado se fundamentan en dos principios: sustitucin, donde cada pieza de texto claro (bit, letra, grupo de bits o letras) se sustituye por otro diferente; y transposicin, donde las piezas del texto claro se reordenan. Lo principal del proceso es que todas las operaciones sean reversibles. La mayora de los sistemas emplean mltiples etapas de sustituciones y transposiciones.
2.0 El numero de claves usadas. Si el emisor como el receptor usan la misma clave, el sistema se denomina simtrico, de clave nica, de clave secreta o cifrado convencional. En cambio, si el emisor y el receptor usan cada uno claves diferentes, el sistema se denomina asimtrico, de dos claves, o cifrado de clave pblica.
3.0 La forma de procesar el texto claro. Un cifrador de bloque procesa un bloque de elementos, produciendo un bloque de salida por cada bloque de entrada. Un cifrador de flujo procesa los elementos de entrada continuamente, produciendo la salida de un elemento cada vez.
2.1.2 CRIPTOANLISIS El criptoanlisis es el proceso que intenta descubrir un texto claro o una clave de cifrado, demostrando la vulnerabilidad de un sistema de cifrado. La estrategia usada por el criptoanlista depende de la naturaleza del esquema de cifrado y de la informacin disponible. En la tabla 2.1 se localizan los distintos modelos de ataques criptoanliticos, basados en la cantidad de informacin que tiene el criptoanlista. Uno de los modelos ms complicado de estudiar, es aquel en donde la informacin disponible esta en el texto cifrado. 28
Un ataque de esta ndole s realiza mediante el uso de la fuerza, tratando con todas las claves posibles, pero si el rango de las claves es muy grande, el atacante puede utilizar herramientas estadsticas para realizar pruebas. Para este tipo de anlisis el atacante debe conocer, una caracterstica del texto claro implicado (texto en ingls, francs, un fichero de cuentas, un fichero EXE etc.). El ataque con solo texto cifrado es el ms difcil de evitar, ya que el atacante dispone de la mnima informacin con la cual trabajar. En el caso del ataque por texto claro conocido, consiste en encontrar la clave descifrado, utilizando uno o ms textos cifrados, conociendo el texto claro. Un ejemplo de cmo obtener informacin del texto claro seria obteniendo el cdigo fuente de un programa desarrollado por una corporacin, en donde se incluya informacin de copyright en alguna posicin estandarizada. Cuando un analista logra conseguir que el sistema fuente introduzca en el sistema un mensaje elegido por el, por lo cual se puede producir un ataque de texto claro elegido. En general si el atacante tiene capacidad de elegir los mensajes que va a cifrar, podra conseguir patrones que se pueden esperar para revelar la estructura de la clave. En la tabla 2.1 se presenta otros dos tipos de ataques: texto cifrado elegido y texto elegido. Estos se utilizan menos como tcnicas criptoanalticas pero constituyen, no obstante, vas posibles para los ataques.
29
TABLA 2.1 TIPO DE ATAQUES A MENSAJES CIFRADOS
Tipo de Ataque Informacin del Criptoanlista
Solo Texto Cifrado Algoritmos de cifrado. Texto cifrado que se va a decodificar
Texto Claro Conocido Algoritmo de cifrado. Texto cifrado que se va a decodificar Uno o ms pares e texto claro-texto cifrado formados con la clave secreta
Texto Claro Elegido Algoritmo de cifrado. Texto cifrado que se va a decodificar. Mensaje de texto en claro elegido por el criptoanlista junto con su correspondiente texto cifrado generado con la clave secreta.
Texto cifrado Elegido Algoritmo cifrado. Texto cifrado que se va a decodificar. Texto cifrado intencionado elegido por el criptoanlista, junto con su correspondiente texto claro descifrado generado con la clave secreta.
Texto Elegido Algoritmo de cifrado Texto cifrado que se va a decodificar. Mensaje de texto claro elegido por el criptoanlista, junto con su correspondiente texto cifrado generado con la clave secreta. Texto cifrado intencionado elegido por el criptoanlista, junto con su correspondiente texto claro generado con la clave secreta.
Solamente un algoritmo relativamente dbil no resistira un ataque de solo texto cifrado. Generalmente, un algoritmo de cifrado se disea para resistir un ataque de texto claro conocido. Un esquema de cifrado es computacionalmente seguro si el texto cifrado generado cumple uno o los dos criterios siguientes: El costo de romper el cifrado excede el valor de la informacin cifrada. El tiempo necesario para romper el cifrado excede el tiempo de vida til de la informacin. Si no hay debilidades matemticas inherentes en el algoritmo, lo que procede es un enfoque de fuerza bruta y aqu se pueden calcular algunas estimaciones razonables sobre costos y tiempos. 30
En enfoque de fuerza bruta implica intentar cada clave posible hasta que se obtenga una traduccin legible del texto cifrado al texto claro. Como promedio, se debe intentar la mitad de todas las claves posibles para conseguir descubrirla. En la tabla 2.2 se muestra el tiempo necesario para distintos tamaos de clave. El tamao de clave de 56 bits se usa con el algoritmo DES (Data Encryption Standard o Estndar de cifrado de datos). Para cada tamao de clave, se muestran los resultados suponiendo que cada operacin de descifrado simple necesita un microsegundo, lo cual es un valor razonable para las maquinas actuales.
TABLA 2.2 TIEMPO MEDIO PARA LA BSQUEDA EXHAUSTIVA DE CLAVES
Tamao de Clave (Bits)
Numero de Claves Alternativas
Tiempo necesario a 1 cifrado/s
Tiempo necesario a 10 6
cifrados/s
32
2 32 =4,3 X10 9
2 31 s = 35,8 minutos
2,15 milisegundos
56
2 56 =7,2 X10 16
2 55 s =1.142 aos
10,01 horas
128
2 128 = 3,4 X10 38
2 127 s= 5,4 X10 24 aos
5,4 X10 18 aos
168
2 168 =
3,7X10 50
2 167 s=5,9 X10 36 aos
5,9 X 10 30 aos
26 Caracteres (Permutacin)
26!=4X10 26
2X10 26 s = 6,4 X10 12
aos
6,4 X10 6 aos
2.1.3 ESTRUCTURA DEL CIFRADO DE FEISTEL El Cifrado de Feistel es un mtodo de cifrado en bloque con una estructura particular. Debe su nombre al criptgrafo de IBM Horst Feistel. Tambin es conocida comnmente como Red de Feistel.
31
Un gran nmero de algoritmos de cifrado simtrico por bloques lo utilizan, incluido el algoritmo Data Encryption Standard (DES). Las redes de Feistel presentan la ventaja de ser reversibles por lo que las operaciones de cifrado y descifrado son idnticas, requiriendo nicamente invertir el orden de las subclaves utilizadas. El cifrado tiene la estructura que se muestra en la figura 2.2 Las entradas al algoritmo de cifrado son un bloque de texto claro de tamao 2 bits y una clave K. E l bloque de texto claro se divide en dos partes L 0 y R 0 . Las dos partes de datos pasan a travs de n etapas de procesamiento y luego se combinan para producir el bloque de texto cifrado. Cada etapa tiene como entradas L -1 y R -1 , que se derivan de la etapa anterior, as como una subclave K
generada a partir de K y entre ellas mismas, y se
generan a partir de la clave mediante un algoritmo de generacin de subclaves. Todas las etapas tienen la misma estructura. Se realiza una sustitucin sobre la mitad izquierda de los datos. Esto se hace aplicando una funcin de etapa F a la mitad derecha de los datos y haciendo luego un OR exclusivo (XOR) de la salida de la funcin y la mitad izquierda de los datos. La funcin de etapa tiene la misma estructura general para cada etapa pero esta parametrizada por la subclave de etapa K i . Despus de esta sustitucin, se realiza una permutacin que consiste en intercambiar las dos mitades de datos. 32
FIGURA 2.2 RED CLSICA DE FEISTEL
La realizacin exacta de una red de Feistel depende de la eleccin de los siguientes parmetros y caractersticas de diseo. Tamao del bloque: bloques mayores implican mayor seguridad (quedando igual todo lo dems) pero reduce la velocidad de cifrado/descifrado. Un tamao de 64 bits es adecuado es casi universal en el diseo del cifrador de bloques. Tamao de la clave: Claves ms largas implican mayor seguridad pero puede reducir la velocidad de cifrado/descifrado. La longitud de clave ms comn en los algoritmos modernos es de 128 bits. 33
Nmero de Etapas: La esencia del cifrado de Feistel consiste en que mientras una sola etapa ofrece una seguridad inadecuada, mltiples etapas la aumentan. Un valor tpico es de 16 etapas. Algoritmo de generacin de subclaves: Cuanto ms complejo sea este algoritmo ms difcil resultara el criptoanlisis. Funcin de etapa: Generalmente, a mayor complejidad mayor resistencia al criptoanlisis. Hay otras consideraciones en el diseo del cifrado de Feistel: Cifrado/Descifrado mediante software rpido: En muchos casos, el cifrado es parte de aplicaciones o funciones de utilidad, lo cual imposibilita una implementacin hardware. En esos casos, la rapidez de ejecucin del algoritmo es un aspecto importante. Facilidad de anlisis: Aunque sera deseable hacer el algoritmo tan difcil como fuera posible para el criptoanlisis, tambin es ventajoso hacerlo fcil de analizar. Es decir, si el algoritmo se puede explicar de manera concisa y clara, entonces es ms fcil detectar las debilidades y por tanto desarrollar un nivel mayor de garantas en funcin de su robustez. El Des por ejemplo, no es funcionalmente fcil de analizar El descifrado es bsicamente igual que el proceso de cifrado. La regla es la siguiente: usar el texto cifrado como entrada al algoritmo, pero usar las subclaves K i en orden inverso. Es decir, usar K n en la primera etapa K n-1 en la segunda, y as sucesivamente hasta k 1 en la ltima. Es una ventaja ya que implica que no es necesario implementar dos algoritmos diferentes, uno para el cifrado y otro para el descifrado.
34
2.2 ALGORITMOS DE CIFRADO SIMETRICO Los algoritmos de cifrado simtrico son aquellos que utilizan la misma clave para cifrar y descifrar un documento. El principal problema de seguridad reside en el intercambio de claves entre el emisor y el receptor ya que ambos deben usar la misma clave. Por lo tanto se tiene que buscar tambin un canal de comunicacin que sea seguro para el intercambio de la clave. Es importante que dicha clave sea muy difcil de adivinar ya que hay sistemas que pueden adivinar claves muy rpidamente. Los algoritmos de cifrado simtrico ms usados son los cifradores de bloques. Un cifrador de bloques procesa la entrada de texto claro en bloques de tamao fijo y genera un bloque de texto cifrado del mismo tamao para cada texto claro.
2.2.1 DES (DATA ENCRYPTION STANDARD) El Standard de Encriptacin de Datos (DES - Data Encryption Standard o estndar de cifrado de datos) es un algoritmo desarrollado a mediados de los 70s. Se convirti en un estndar por National Institute of Standards and Technology (NIST Instituto Nacional de Estndares y Tecnologa), y fue utilizado por varios gobiernos en todo el mundo. Fue y todava es extensamente usado, especialmente en la industria financiera. El texto claro tiene una longitud de 64 bits y la clave de 56; si el texto claro es ms largo se procesa el bloques de 64 bits. La estructura del DES consiste en una pequea variacin de la red de Feistel. Hay 16 etapas de proceso, se generan 16 subclaves partiendo de la clave original de 56 bits, una para cada etapa. El proceso de descifrado con el DES es bsicamente el mismo que el de cifrado. La regla es la siguiente: usar el texto cifrado como entrada al algoritmo del DES, pero las subclaves K
se pasan en orden inverso. Es decir, en la primera etapa se
usa K 16 , K 15 en la segunda y as hasta K 1 en la 16 a y ultima. 35
Los aspectos de robustez del DES se abarcan en dos categoras: aspectos sobre el algoritmo mismo y aspectos sobre el uso de una clave de 56 bits. La primera se refieren a la probabilidad de que el criptoanlisis se realice aprovechando las caractersticas del algoritmo DES. A lo largo de los aos, se han intentado encontrar debilidades que aprovechar en el algoritmo, lo que ha hecho del DES el algoritmo de cifrado existente mas estudiado. A pesar de los numerosos anlisis, nadie ha conseguido descubrir ninguna debilidad grave en el DES. Un aspecto importante es la longitud de la clave. Con una clave de 56 bits, hay 2 56 claves posibles, que es aproximadamente 7,2 X10 16 claves. Por este motivo, no es factible un ataque de fuerza bruta. Ya que en promedio, se tiene que intentar la mitad del espacio de claves, una nica maquina que realice un cifrado DES por microsegundo tardara mas de mil aos en romper el cifrado. En la figura 2.3 muestra cuanto se tardara en romper un algoritmo del estilo del DES en funcin del tamao de la clave. Por ejemplo, para una clave de 128 bits, que es comn en lo algoritmos actuales se tardaran 10 18 aos en romper el cdigo usando el cracker de la EFF, incluso, aunque se aumentara la velocidad del cracker en un factor de un trilln (10 12 ), todava se tardara un milln de aos en romper el cdigo. As que una clave de 128 bits garantiza que el algoritmo es inexpugnable por la fuerza bruta. 36
FIGURA 2.3 TIEMPO EMPLEADO EN ROMPER UN CDIGO (SUPONIENDO 10,000,000 DESCIFRADOS / MICROSEGUNDO )
2.2.2TRIPLE DES El Triple DES se llama al algoritmo que hace triple cifrado del DES. Tambin es conocido como 3DES, fue desarrollado por IBM en 1978. Cuando se descubri que una clave de 56 bits no era suficiente para evitar un ataque de fuerza bruta, TDES fue elegido como forma de agrandar el largo de la clave sin necesidad de cambiar de algoritmo de cifrado. Este mtodo de cifrado es inmune al ataque por encuentro a medio camino, doblando la longitud efectiva de la clave, pero en cambio es preciso triplicar el nmero de operaciones de cifrado, haciendo este mtodo de cifrado muchsimo ms seguro que el DES. El 3DES usa tres claves y tres ejecuciones del algoritmo Des. La funcin sigue la secuencia cifrar-descifrar-cifrar (EDE: encrypt-decrypt-encrypt), figura 2.4. C=EK3 [DK2 [EK1 [P]]]
37
Donde C= Texto Cifrado P= Texto Claro E K [x]= Cifrado de X usando la clave K D K [y]= Descifrado de Y usando la clave K El descifrado es simplemente la misma operacin con las claves en orden inverso figura 2.5 P= DK1 [Ek2 [DK3 [C]]]
FIGURA 2.4 CIFRADO TRIPLE DES
FIGURA 2.5 DESCIFRADO TRIPLE DES
El descifrado del segundo paso su nica ventaja es que permite a los usuarios del 3DES descifrar datos cifrados por usuarios del DES. C= EK1 [DK1 [ EK1 [P]]] = EK1 [P]
Con tres claves diferentes, el 3DES tiene una longitud efectiva de clave de 168 bits. Tambin se permite el uso de dos claves con K 1 = K 3 , lo que proporciona una longitud de clave de 112 bits. 38
El Des original, que usa una nica clave de 56 bits, se mantiene solo para los sistemas existentes. Las nuevas adquisiciones deberan admitir 3DES. Se premia a las organizaciones gubernamentales con sistemas que usan DES a migrar a 3DES. Se prev que el 3DES y el AES (Advanced Encryption Stardard) coexistirn como algoritmos oficiales, permitiendo una transicin gradual hacia el AES. Es fcil observar que el 3DES es un algoritmo robusto. Es ms, con una clave de 168 bits de longitud, los ataques de fuerza bruta son efectivamente imposibles.
2.3 MODELO DE OPERACIN DEL CIFRADO DE BLOQUES Casi todos los algoritmos de cifrado de bloque simtricos actuales utilizan la estructura bsica de bloque de Feistel. Resultando ms fcil determinar la robustez criptogrfica de un algoritmo nuevo. Si se usara una estructura totalmente nueva, podra tener alguna debilidad sutil no detectada inmediatamente por el diseador. En la tabla 2.3 se comparan algunas de las principales caractersticas. TABLA 2.3 ALGORITMOS DE CIFRADO CONVENCIONAL Algoritmo Tamao de Clave (bits) Tamao de bloque (bits) Numero de Etapas Aplicaciones
DES
56
64
16
SET, Kerberos
Triple DES
112 0 168
64
48
Financial Key Management, PGP, S/MIME
AES
128, 192 O 256
128
10,12 o 14
Destinado a sustituir DES Y 3DES
IDEA
128
64
8
PGP
BLOWFISH
Variable hasta 448
64
16
Varios paquetes de Software
RC5
Variable hasta 2048
64
Variable hasta 255
Varios paquetes de Software
39
2.3.1 UBICACIN DE LOS DISPOSITIVOS DE CIFRADO Para resistir las amenazas a la seguridad en la red es el cifrado. Al usar cifrado se debe decidir que cifrar y donde situar el cifrado. Hay dos alternativas fundamentales: cifrado en enlace y cifrado extremo a extremo, en la figura 2.6 se ilustra su uso sobre una red de conmutacin de paquetes. Con cifrado en enlace: En un medio de comunicaciones vulnerable, es equipado con un dispositivo de cifrado en ambos extremos. De esta manera, todo el trfico sobre los enlaces de comunicaciones es seguro. Una desventaja de este enfoque es que el mensaje debe descifrarse cada vez que introduce el conmutador un paquete; esto es necesario porque el conmutador debe leer la direccin (numero de circuito virtual) en la cabecera del paquete para decidir su ruta. Debido a esto, el mensaje es vulnerable en cada conmutador. Si la red de conmutacin de paquetes es pblica, el usuario no tiene control sobre la seguridad en los nodos.
FIGURA 2.6 CIFRADO A TRAVZ DE UNA RED DE CONMUTACIN DE PAQUETES
40
Con el cifrado extremo a extremo, el proceso se realiza en los dos sistemas finales. El Host o terminal fuente cifra los datos, estos se envan cifrados a travs de la red, hacia el terminal o host de destino sin ser alterados. El destino y la fuente comparten una clave y por tanto el primero es capaz de descifrar los datos. Este enfoque parece que asegurara la transmisin contra ataques en los enlaces de comunicacin o conmutadores. Pero todava hay una debilidad. El cifrado extremo a extremo, los datos de usuario estn seguros. No obstante, el patrn de trfico no lo est por que las cabeceras de los paquetes se transmiten en claro. Para conseguir mayor seguridad se necesitan ambos cifrados como se muestra en la figura 2.6. Resumiendo, cuando se emplean ambas formas, el host cifra la parte de datos de usuario de un paquete usando una clave de cifrado extremo a extremo. Entonces se cifra el paquete entero usando una clave de cifrado de enlace. A medida que el paquete recorre la red, cada conmutador descifra el paquete usando la clave de cifrado de enlace para leer la cabecera y entonces cifrar otra vez el paquete entero para enviarlo al prximo enlace. Ahora el paquete entero est seguro, excepto durante el tiempo en que est en la memoria del conmutador de paquetes, momento en que la cabecera esta en claro.
2.3.2 DISTRIBUCIN DE CLAVES Para que el cifrado simtrico funcione las dos partes deben tener la misma clave para realizar un intercambio seguro, y esa clave debe protegerse del acceso de otros, por lo cual es deseable cambiar frecuentemente la clave para limitar la cantidad de datos comprometidos si un atacante la descubre. La robustez de un sistema criptogrfico depende de la tcnica de distribucin de claves, trmino que se refiere a la manera de entregar una clave a dos partes que desean intercambiar datos, sin permitir que otros vean dicha clave. La distribucin de claves se puede realizar de diferentes formas. Para dos partes Ay B. 41
.1 Una clave podra ser elegida por A y entregada fsicamente a A y a B. .2 Una tercera parte podra elegir la clave y entregarla fsicamente a A y a B. .3 Si con anterioridad Ay B han estado usando una clave, una parte podra transmitir la nueva clave a la otra cifrada usando la antigua. .4 Si A y B disponen de una conexin cifrada a una tercera parte C, C podra distribuir mediante los enlaces cifrados una clave a A y a B. Las opciones 1y 2 implican la entrega manual de una clave. Para el cifrado de enlace es un requisito razonable, porque cada dispositivo de cifrado de enlace solamente intercambia datos con su interlocutor en el otro lado del enlace. Sin embargo, para cifrado extremo a extremo la entrega manual es difcil. En un sistema distribuido, cualquier host o terminal podra necesitar demasiado tiempo en ocuparse de los intercambios de clave con muchos otros hosts o terminales. Por eso, cada dispositivo necesita un nmero de claves, suministrada de forma dinmica. La opcin 3 es una posibilidad tanto para cifrado de enlace como para cifrado extremo a extremo, pero si un atacante consiguiera acceso a una clave, se revelaran todas las subsiguientes. Aunque se realizaran cambios frecuentes de las claves de cifrado de enlace, deberan hacerse manualmente.
42
CAPITULO 3 ALGORITMO TRIPLE DES
3.1 EL ALGORITMO DES
DES (Data Encryption Standard, estndar de cifrado de datos) es un algoritmo desarrollado originalmente por IBM a requerimiento del NBS (National Bureau of Standards, Oficina Nacional de Estandarizacin, en la actualidad denominado NIST, National Institute of Standards and Technology, Instituto Nacional de Estandarizacin y Tecnologa) de EE.UU. Posteriormente modificado y adoptado por el gobierno de EE.UU. En 1977 como estndar de cifrado de todas las informaciones sensibles no clasificadas. En 1980, el NIST estandariz los diferentes modos de operacin del algoritmo. Es el ms estudiado y utilizado de los algoritmos de clave simtrica. En 1974, la corporacin IBM presento, entre otras, una propuesta, inspirada en un sistema propietario LUCIFER, que convenientemente modificada, dio lugar al Data Encryption Standard (Norma de Encriptacin de Datos), DES. La aprobacin y modificacin de la propuesta se hizo bajo la supervisin de la NSA (National Security Agency, USA).
Tras las modificaciones introducidas por el NBS, consistentes bsicamente en la reduccin de la longitud de clave y de los bloques, DES cifra bloques de 64 bits, mediante permutacin y sustitucin y usando una clave de 64 bits, de los que 8 son de paridad (esto es, en realidad usa 56bits), produciendo as 64 bits cifrados. DES se basa en un sistema monoalfabtico, con un algoritmo de cifrado consistente en la aplicacin sucesiva de varias permutaciones y sustituciones. 43
Inicialmente el texto en claro a cifrar se somete a una permutacin, con bloque de entrada de 64 bits (o mltiplo de 64), para posteriormente ser sometido a la accin de dos funciones principales, una funcin de permutacin con entrada de 8 bits y otra de sustitucin con entrada de 5 bits, en un proceso que consta de 16 etapas de cifrado.
DES utiliza una clave simtrica de 64 bits, de los cuales 56 son usados para la encriptacin, mientras que los 8 restantes son de paridad, y se usan para la deteccin de errores en el proceso.
Como la clave efectiva es de 56 bits, son posible un total de 2 elevado a 56 = 72.057.594.037.927.936 claves posibles, es decir, unos 72.000 billones de claves, por lo que la ruptura del sistema por fuerza bruta o diccionario es sumamente improbable, aunque no imposible si se dispone de suerte y una gran potencia de clculo.
3.2 ESTRUCTURA DEL DES
DES tiene 19 etapas diferentes. La primera etapa es una transposicin, una permutacin inicial (IP) del texto plano de 64 bits, independientemente de la clave. La ltima etapa es otra transposicin (IP-1), exactamente la inversa de la primera. La penltima etapa intercambia los 32 bits de la izquierda y los 32 de la derecha. Las 16 etapas restantes son una Red de Feistel de 16 rondas. En cada una de las 16 iteraciones se emplea un valor, Ki, obtenido a partir de la clave de 56 bits y distinto en cada iteracin como se observa en la figura 3.1. 44
Figura 3.1 clculo de las subclaves Ki
Se realiza una permutacin inicial (PI) sobre la clave, y luego la clave obtenida se divide en dos mitades de 28 bits, cada una de las cuales se rota a izquierda un nmero de bits determinado que no siempre es el mismo. Ki se deriva de la eleccin permutada (P) de 48 de los 56 bits de estas dos mitades rotadas. La funcin f de la red de Feistel se compone de una permutacin de expansin (E), que convierte el bloque correspondiente de 32 bits en uno de 48. Despus realiza una or-exclusiva con el valor Ki, tambin de 48 bits, aplica ocho S-Cajas de 6*4 bits, y efecta una nueva permutacin (P), como se observa en la figura 3.2. Clave 64 bits Permutacin 1 (54 bits) C0 (28 bits) D0 (28 bits) Rotacin a la izquierda Rotacin a la izquierda C0 (28 bits) D0 (28 bits) Rotacin a la izquierda Rotacin a la izquierda C0 (28 bits) D0 (28 bits) Rotacin a la izquierda Rotacin a la izquierda C0 (28 bits) D0 (28 bits) Rotacin a la izquierda Rotacin a la izquierda Permutacin 2 K1 (48 bits) Permutacin 2 Kn (48 bits) Permutacin 2 K16 (48 bits) 45
FIGURA 3.2 RONDA DEL ALGORITMO DES
Cada bit de de un bloque est sujeto a una permutacin, que puede estar representada mediante una matriz de permutacin inicial. La tabla 3.1 muestra, al leerse de izquierda a derecha y de arriba hacia abajo, que el bit de la posicin 58 de un bloque de 64 bits est en la primer posicin, y el bit de la posicin 50, est en la segunda posicin de la tabla, y as sucesivamente. Cuando la permutacin inicial esta completa, el bloque de 64 bits se divide en dos ms de 32 bits, denominados bloque izquierdo y bloque derecho, el estado inicial de estos se denominan L0 y R0 que vienen de izquierda: left y derecha: right como se observa en la tabla 3.1.
La parte de L0 contendr todos los bits que se encuentran en posicin par en el mensaje inicial, mientras que R0 contendr los bits en posicin impar. Los bloques Ln y Rn estn sujetos a un conjunto de transformaciones iterativas denominadas rondas, que se muestran en este esquema y que detallamos a continuacin en la figura 3.3: 47
FIGURA 3.3 ESQUEMA DE TRANSFORMACIONES ITERATIVAS DE LOS BLOQUES LN Y RN
Los 32 bits del bloque R 0 se expanden a 48 bits gracias a una tabla llamada tabla de expansin E, en la que los 48 bits se mezclan y 16 de ellos se duplican en la tabla 3.2: TABLA 3.2 TABLA DE EXPANSIN E
El ltimo bit de R0 se convierte en el primero, el primero en el segundo, etc. Los bits 1,4,5,8,9,12,13,16,17,20,21,24,25,28 y 29 de R 0 (respectivamente los bits 57, 33, 25, l, 59, 35, 27, 3, 6l, 37, 29, 5, 63, 39, 31 y 7 del bloque de origen) son duplicados y diseminados en la matriz. + S + E 32 bits Gn 48 bits Kn + 1 32 bits Dn Dn + 1 48 bits 48
La tabla resultante de 48 bits se denomina D'0 o E[D0]. El algoritmo DES aplica despus OR exclusivas entre la primera clave K 1 y E[D0]. El resultado de este OR exclusivo es una tabla de 48 bits D0 que no es la D0 inicial). Despus, D0 se divide en 8 bloques de 6 bits, denominado D0i. Cada uno de estos bloques se procesa a travs de funciones de seleccin (llamadas cajas de sustitucin o funciones de compresin), denominadas generalmente Si. Los primeros y ltimos bits de cada D0i determinan la lnea de la funcin de seleccin; los otros bits (2, 3, 4 y 5 respectivamente) determinan la columna. Como la seleccin de la lnea se basa en dos bits, existen 4 posibilidades (0, 1, 2, 3). Como la seleccin de la columna se basa en 4 bits, existen 16 posibilidades (0 a 15). Gracias a esta informacin, la funcin de seleccin "selecciona" un valor cifrado de 4 bits (ver tabla 3.3).
Cada uno de los 8 bloques de 6 bits pasa a travs de la funcin de seleccin correspondiente, dando un resultado de 8 valores con 4 bits cada uno. A continuacin estn las otras funciones de seleccin en la tabla 3.4:
El conjunto de estos resultados salidos de P estn sujetos a un OR exclusivo con l0 inicial para devolver D1, en tanto que la D0 inicial devuelve I1. Al final de las iteraciones, los dos bloques L16 y R16 se vuelven a conectar y se someten a una permutacin inicial inversa como se observa en la tabla 3.6:
El resultado que surge es un texto cifrado de 64 bits. Dado que el algoritmo DES mencionado anteriormente es pblico, toda la seguridad se basa en la complejidad de las claves de cifrado. 3.3 DESCIFRADO DES Para descifrar un bloque, se llevan a cabo las mismas operaciones, lo nico que cambia es el orden en el que se utilizan las subclaves K1 y K2 que son generadas de la clave K como se explica a continuacin en la figura 3.4.
FIGURA 3.4 DIAGRAMA DE DESCIFRADO DES
3.4 ESTRUCTURA DE CLAVES EN EL DES El algoritmo que sigue a continuacin muestra cmo obtener a partir una clave de 64 bits (compuesta por cualquier de los 64 caracteres alfanumricos), 8 claves diferentes de 48 bits, cada una de ellas utilizadas en el algoritmo DES como se observa en la figura 3.5.
52
FIGURA 3.5 DIAGRAMA PARA LA OBTENCIN DE UNA CLAVE A PARTIR DE UNA CLAVE DE 64 BITS
En primera instancia, se eliminan los bits de paridad de la clave para obtener una clave que posea una longitud de 56 bits. El primer paso es una permutacin denominada PC-1, cuya tabla se presentar a continuacin en la tabla 3.7: TABLA 4 PERMUTACIN PC-1
Esta matriz puede escribirse en forma de dos matrices Li y Ri, cada una ellas de 28 bits: El resultado de esta primera permutacin se denomina I0 y D0 como se observa en la tabla 3.8.
Clave inicial de 64 bits Permutacin de CP-1 Parte izquierda Parte derecha Desequilibrio izquierdo Parte izquierda Parte derecha Permutacin de CP-2 Clave final de 48 bits 56 bits 28 bits 28 bits 28 bits 28 bits 56 bits 48 bits 53
Luego, estos dos bloques se rotan hacia la izquierda, de manera que los bits que estaban en la segunda posicin pasan a la primera, aquellos que estaban en tercera posicin pasan a la segunda, etc. Los bits que estaban en la primera posicin se mueven hacia la ltima posicin. Los dos bloques de 28 bits se agrupan en un bloque de 56 bits. Este pasa por una permutacin, denominada PC-2, dando como resultado un bloque de 48 bits que representa la clave K i . Realizando iteraciones del algoritmo es posible obtener las 16 claves K 1 a K 16
utilizadas en un algoritmo DES.
LS 1 2 4 6 8 10 12 14 15 17 19 21 23 25 27 28
54
3.5 PROPIEDADES DEL DES (DATA ENCRYPTION STANDARD) Las propiedades fundamentales del DES son: Dependencia entre smbolos: Cada bit del texto cifrado es una funcin compleja de todos los bits de la clave y todos los bits del texto original.
Cambio de los bits de entrada: Un cambio de un bit en el mensaje original produce el cambio del 50%, aproximadamente, de los bits del bloque cifrado.
Cambio de los bits de clave: Un cambio en un bit de la clave produce, aproximadamente, el cambio de la mitad de los bits del bloque cifrado.
Claves dbiles: Existen cuatro claves dbiles que producen un mensaje cifrado fcil de desencriptar, porque todas las claves parciales K 1 a K 16 son iguales. Existen 28 claves semidbiles que producen un mensaje cifrado fcil de descifrar, por que producen solo dos o cuatro subclaves parciales diferentes. Cuando se elige una clave al azar, es preciso asegurarse de que no se ha producido de estas claves.
Un error en la transmisin de un texto cifrado se propaga a todo el bloque del que forma parte, produciendo un conjunto de errores despus del descifrado de 64 bits.
3.6 SEGURIDAD DEL DES ((DATA ENCRYPTION STANDARD) No existe ninguna prueba que garantice que un algoritmo de cifrado sea prcticamente indecifrable; lo nico que existe son demostraciones de que ciertos algoritmos son vulnerables. 55
El DES es un excelente sistema de cifrado. El nico problema que presenta s que su espacio de claves resulta reducido para el actual estado del arte de la tecnologa electrnica. Una clave de 56 bits es insuficiente frente a la potencia de los actuales computadores y las posibilidades de integracin a gran escala de la tecnologa microelectrnica. El primer ataque especializado para el DES ha sido el Criptoanlisis Diferencial, que es una tcnica que se basa en la observacin de pares de texto cifrado, cuyos textos en claro correspondientes tienen ciertas diferencias entre s. Se estudia la evolucin de estas diferencias mientras los textos en claro atraviesan las 16 rondas de DES, al ser encriptados por la misma clave. Mediante esta tcnica se consigue recuperar la clave del DES a cambio de un considerable esfuerzo computacional, que obliga al anlisis de una cantidad inmensa de parejas de textos claros y sus correspondientes cifrados. La economa frente al esfuerzo necesario para un ataque por fuerza bruta es moderada, por que los diseadores del DES ya haban previsto la eventualidad de un ataque de este gnero. Hoy en da el sistema de ataque al DES ms eficaz se realizo finalmente en Julio de 1998, se aprob que el DES no era seguro, cuando la Electronic Frontier Foundation (EFF Fundacin Fronteras Electrnicas) anuncio que haba roto un cifrado DES utilizando una maquina especializada., DES cracker, construida por menos de 250.000 dlares. El ataque duro menos de tres das. La EFF ha publicado la descripcin detallada de la maquina, haciendo posible que cualquiera construya su propio cracker. Naturalmente, los precios del hardware continuaran bajando mientras la velocidad ir aumentando, haciendo al DES prcticamente intil. La construccin de una maquina similar no est al alcance de un particular, pero si al alcance de cualquier gobierno u organizacin. Por tanto, debe concluirse que el DES ya no es seguro, y debe prescindirse de l en beneficio de algoritmos con un espacio de claves considerablemente mayores. 56
El sustituto del DES, puede ser el Triple DES, que con una longitud efectiva de clave de112 bits, resulta inatacable con los medios informticos actuales y los previsibles para un futuro prximo.
3.7 TRIPLE DES En 1990, Eli Biham y Adi Shamir desarrollaron el criptoanlisis diferencial, que buscaba pares de textos planos y pares de textos cifrados. Este mtodo funciona con un mximo de 15 rondas, mientras que en el algoritmo presentado anteriormente admite 16 rondas. Por otro lado, aunque una clave de 56 bits ofrece una enorme cantidad de posibilidades, muchos procesadores pueden calcular ms de 10 6 claves por segundo. Con lo que, cuando se utilizan al mismo tiempo una gran cantidad de mquinas, es posible que un gran organismo encuentre la clave correcta. Una solucin a corto plazo requiere que se encadenen tres cifrados DES mediante dos claves de 56 bits (esto equivale a una clave de 112 bits). Este mtodo de cifrado es inmune al ataque por encuentro a medio camino, doblando la longitud efectiva de la clave (112 bits), pero en cambio es preciso triplicar el nmero de operaciones de cifrado, haciendo este mtodo de cifrado muchsimo ms seguro que el DES. Por tanto, la longitud de la clave usada ser de 192 bits, aunque como se ha dicho su eficacia solo sea de 112 bits como se observa en la figura 3.6. 57
FIGURA 3.6 DIAGRAMA DE CLAVES PARA EL CIFRADO TRIPLE DES
El 3DES permite aumentar de manera significativa la seguridad del DES, pero posee la desventaja de requerir ms recursos para el cifrado y descifrado. Por lo general, se reconocen diversos tipos de cifrado triple DES: DES-EEE3: Cifrado triple DES con 3 claves diferentes, DES-EDE3: una clave diferente para cada una de las operaciones de triple DES (cifrado, descifrado, cifrado), DES-EEE2 y DES-EDE2: una clave diferente para la segunda operacin (descifrado) vase figura 3.7.
FIGURA 3.7 PROCESO DE CIFRADO 3DES ENTRE EMISOR A Y RECEPTOR B
Se le aplica al documento a cifrar un primer cifrado mediante la primera clave, C1. Al resultado (denominado ANTIDES) se le aplica un segundo cifrado con la segunda clave, C2. Y al resultado se le vuelve a aplicar un tercer cifrado con la primera clave, C1. Mensaje de solo texto Mensaje Codificado 1 Mensaje Codificado 2 Mensaje Codificado final K1 clave K2 clave K1 clave A Emisor B Receptor DES ANTIDES DES DES ANTIDES DES
Triple de la indep carac mismo de la La va Donde
Cuand ataqu clave inmun la clav hacie
El Tr algori pago usaba
e DES utiliza clave 112 endientes terstica m o bloque do clave. riante ms e M es el m do se desc e de fuerza sin necesid ne al ataqu ve, pero en ndo este m riple DES tmo AES. S electrnico an el DES). a dos clave bits. El algo todas las atemtica os veces co simple del mensaje a c 3.7.1 SE cubri que a bruta, TD dad de cam e por encu n cambio e mtodo de c 3.7. est desa Sin embarg o tienen co Por el dise es y tres eje oritmo no l subclases. de no ser on dos clav Tripe DES cifrar y k 1 , k EGURIDAD una clave DES fue ele mbiar de alg uentro a me s preciso t cifrado muc .2 USOS DE apareciendo go, la mayo omo estn eo DES y ecuciones d lega a ser Este hech un grupo, ves diferent funciona d k 2 y k 3 las re D DEL CIFRA de 56 bits egido como goritmo de edio camino riplicar el n hsimo ms L CIFRADO T o lentame ra de las ta dar el algo por lo tanto del algoritm un cifrado ho se basa lo que im tes se aum de la siguien espectivas ADO TRIPLE s no era s o forma de cifrado. Es o, doblando nmero de s seguro qu TRIPLE DES nte, siendo arjeta de cr oritmo Trip o TDES son mo, y la long mltiple, po a en que D mplica que s menta el tam nte manera
claves DES E DES uficiente pa agrandar e te mtodo o la longitu operacione ue el DES. S o reempla rdito y otro ple DES (a n algoritmo 5 gitud efectiv orque no so DES tiene si se cifra mao efectiv a: S. ara evitar u el largo de de cifrado d efectiva d es de cifrad zado por os medios d anteriormen s lentos. 58 va on la el vo un la es de do, el de nte 59
CAPITULO 4 SISTEMA DISTRIBUIDO DE MENSAJERA CIFRADO
4.1 PROPIEDADES Y HERRAMIENTAS PARA LA CREACIN DEL SISTEMA DE MENSAJERA CIFRADO. El sistema de mensajera es un sistema distribuido, la comunicacin se realiza siguiendo un protocolo prefijado mediante un esquema cliente- servidor, donde los usuarios se comunican y coordinan sus acciones intercambiando informacin y confirmaciones de algoritmos. Dentro del sistema de mensajera se considera cliente a la parte del sistema que estar instalado en los computadores de los usuarios que acceden al sistema, ellos solicitaran a un servidor conectarse al sistema de mensajera y poder entablar conversaciones. El servidor es nuestro Computador en donde el cliente de cada usuario se conectara para revisar la informacin que nos ayudara para la autentificacin del cliente dentro del sistema. La informacin entre el cliente y el servidor ser por medio de gestin de datos, en donde la interaccin con el usuario, como la aplicacin se realizara del lado del cliente, siendo el servidor solo el encargado de contener la informacin. Las herramientas que se utilizaran para la realizacin del Sistema de Mensajera son las siguientes, cada una forma una parte fundamental para la creacin del sistema. a) Tecnologa .NET: Es un proyecto de Microsoft para crear una plataforma de desarrollo de software con transparencia en redes, e independencia de plataforma de hardware y que permita un rpido desarrollo de aplicaciones. Los principales componentes son: El conjunto de lenguajes de programacin 60
.NET soporta ya ms de 20 lenguajes de programacin y es posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos .Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual Basic, Delphi (Object Pascal), C++, J#, Perl, Python, Fortran, Cobol y PowerBuilder. El que se utiliza para el Sistema de Mensajera es C#, La Biblioteca de Clases Base o BCL (Library Class Base) La biblioteca de clases base, define un conjunto funcional mnimo que debe implementarse para que el marco de trabajo sea soportado por un sistema operativo. Aunque Microsoft implement esta norma para su sistema operativo Windows, la publicacin de la norma abre la posibilidad de que sea implementada para cualquier otro sistema operativo existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma independientemente del sistema operativo para el cual haya sido implementada, Por lo cual se puede considerar al Sistema De Mensajera, como un sistema multiplataforma, ya que puede ser instalado en cualquier sistema operativo. Common Language Runtime (CLR). Entorno Comn de Ejecucin para Lenguajes. Este es el lenguaje insignia de .NET Framework (marco de trabajo .NET) y pretende reunir las ventajas de lenguajes como C, C++ y Visual Basic en uno solo. El CLR es el verdadero ncleo del framework de .NET, entorno de ejecucin en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes, ampliando el conjunto de servicios del sistema operativo. b) .NET FRAMEWORK 2.0: Microsoft .NET Framework incluye todo lo necesario para que se puedan ejecutar aplicaciones .NET. Microsoft .NET Framework incluye las libreras comunes, las rutinas de idioma comunes y ASP.NET. Requisitos del sistema 61
Sistemas Operativos compatibles: Windows 2000 Service Pack 4; Windows Server 2003; Windows XP Service Pack 2 Procesador: procesador Pentium a 400 MHz o equivalente (mnimo); procesador Pentium a 1 GHz o equivalente (recomendado) RAM: 96 MB (mnimo); 256 MB (recomendado) Disco duro: se pueden necesitar hasta 500 MB de espacio disponible Pantalla: 800 x 600, 256 colores (mnimo). c) Visual Studio 2005 Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en ingls) para sistemas operativos Windows. Soporta varios lenguajes de programacin tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET. Con Visual Studio 2005, se pueden: Se cuenta con un entorno de desarrollo productivo con diseadores visuales, lenguajes de programacin y editores de cdigo. Desarrolla y depura aplicaciones multicapa de servidor desde un mismo entorno unificado de desarrollo. Construye soluciones para SQL Server 2005 utilizando herramientas visuales integradas de diseo de bases de datos e informes. Crea tus propias herramientas que extienden el IDE de Visual Studio usando el SDK de Visual Studio. Visual Studio 2005 aade funcionalidad a las caractersticas bsicas que incluye la edicin Standard, agregando herramientas para desarrollo remoto en el servidor as como depuracin, desarrollo para SQL Server 2005 y un IDE completo y sin restricciones. 62
Tambin tiene acceso sin trabas al .NET Framework 2.0, el entorno robusto y plenamente funcional de la plataforma Microsoft; as como soporte para la creacin de add-ins para extender el IDE de Visual Studio. d) C#: Es un lenguaje de programacin orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET. Su sintaxis se desglosa de C/C++ y utiliza el modelo de objetos de la plataforma .NET. C# fue diseado para combinar el control a bajo nivel de lenguajes como C y la velocidad de programacin de lenguajes como Visual Basic. Es una parte esencial de la plataforma .Net, C# combina los mejores elementos de mltiples lenguajes de amplia difusin como C++, Java, Visual Basic o Delphi. La idea principal detrs del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que adems la migracin a este lenguaje por los programadores de C/C++/Java sea lo ms inmediata posible.
4.2 CONCEPTOS GENERALES DEL SISTEMA DE MENSAJERA CIFRADO El Sistema de Mensajera Instantnea, realiza el envi y recepcin de mensajes en tiempo real, y su principal caracterstica es, que la informacin que se enva por la red est cifrada por medio del mtodo Triple Des. En el sistema los usuarios pueden interactuar con varios usuarios que estn autorizados por el mismo sistema. El sistema de mensajera se instala en el computador de cada usuario y por medio de una conexin a una red LAN se conectan los usuarios a un servidor que alberga bases de datos, donde se obtiene la informacin de cada uno de los usuarios, que se utiliza para iniciar y conversar en el Sistema de mensajera instantnea. 63
Cuando el servidor autentifica los datos del usuario y de su lista de contactos, como se observa en la figura 4.1.El usuario dentro del sistema tendr la capacidad de realizar conversaciones seguras ya que a pesar de contar con un mecanismo de seguridad como la autentificacin, la interaccin con los dems usuarios contara con el proceso de cifrado, podr aceptar o rechazar usuarios que crea que no son seguros y aceptar o rechazar entablar conversaciones, como se observa en la figura 4.2.
La parte del Sistema de Mensajera, que se instala en el computador de los usuarios tiene las siguientes caractersticas de funcionamiento. Mostrar varios estados de los usuarios al momento de iniciar una sesin: Disponible para hablar, Sin actividad, No disponible, no conectado. Enviar peticiones de conversacin a contactos que estn en estado activos y disponibles para iniciar conversacin.
Usuario: Juan Rodrguez Lista: (off-line) Rosa Valdovinos (on-line) Erick Vizcaya (on- line) Christian Mercado CERRAR FIGURA 4.1 INFORMACIN VISUALIZADA POR CADA USUARIO AL INGRESO DEL SISTEMA DE MENSAJERIA 64
En el Sistema de Mensajera el servidor, tendr las bases de datos, que contengan la informacin de cada usuario, como por ejemplo, nombre, usuario, contrasea, IP del equipo, Clave de Cifrado etc. Esta informacin nos servir para autentificar a los usuarios y mayor seguridad para el sistema. El servidor tiene como caractersticas y funciones principales. Guardar el nombre del Usuario y Contrasea, de cada persona que est dada de alta en el sistema. Contener cada una de la lista de contactos, de cada usuario y asignarlas, cada vez que los usuarios se conecten al sistema Administrar y limitar la cantidad de usuarios que estn dados de alta en el Sistema. Asignar los contactos a los usuarios que lo requieran. Registrar las claves de cifrado, para el envi y recepcin de mensaje. La clave se guardara cifrada, por lo que ni los administradores podrn conocerla.
Contacto: Erick Cuadro de Texto, donde se visualiza la informacin que se enva y se recibe.
ENVIAR Cuadro de Texto, donde se escribe la informacin que se desea enviar CERRAR FIGURA 4.2 VENTANA POR MEDIO DE LA CUAL SE ENTABLAN LAS CONVERSACIONES
4.3 A La au realiza proce ellos s el usu El m Contr ingres pueda El pro obser
AUTENTIFIC utentificaci ar en el edencia de son, que e uario que tie todo de a rasea, que sar al sistem a soportar e oceso gene rva en la fig CACIN DE n es el serv Sistema d los usuario l usuario qu ene la auto autentificac e previame ma. Con es en primera eral de aut gura 4.3. FIGURA 4.3 USUARIOS vicio de se de Mensaj os, asegura ue intenta orizacin pa in que s ente se les ste mtodo estancia ci tentificacin 3 PROCESO S Y PETICI guridad que era, ya q ar que los u realizar fun ara hacer. se utiliza, e s asigna y o nos permi erto tipo de n consta d DE AUTENTICA ONES DE C e se utiliza que nos p usuarios so nciones en est basad proporcion itir, que el e ataques. de los sigu ACON DEL SIS CONVERSA como prim permitir, g on quin ell el sistema do en un U na a los u l sistema se ientes pas STEMA ACIONES mer proceso garantizar os dicen qu es de hech Usuario y u usuarios pa ea fiable qu os, como 65 o a la ue ho un ara ue se
Cuand lista d cuand uno d
Al ing solicit usuar (ver fi
Los u depen conta en la do se ingre de contacto do sean co e los usuar FIGURA 4.4 gresar al tudes de c rios de su li igura 4.5) FIGURA 4 usuarios po nder de l ctos, y cad figura 4.6 esa por prim os, enviand onfirmadas rios (ver fig 4 ENVO DE P Sistema d conversacio sta de cont 4.5 ENVO DE odrn tener la cantidad a una de la mera vez a o peticione sus peticio ura 4.4). PETICIONES P de Mensaj ones, estas tactos que E PETICIONES r la cantida d de perso as conversa l sistema e es, a usuar ones, el us ARA LA CREAC era, el u s solicitudes se encuent PARA LA REA ad de conve onas que aciones ser el usuario p ios habilita uario podr CIN DE LA LI suario pod s solo pod tren en esta LIZACIN DE C ersaciones tienen agr r independ puede gene dos dentro ver el sta STA DE CONTA dr solicita drn ser re ado activo e CONVERSACIO que desee regados en diente Com erar su prop del sistem atus de cad ACTOS ar y acept ealizadas co en el sistem ONES en, esto so n la lista d o se observ 66 pia ma, da
tar on ma
olo de va
Para alta a aleato cifrad
4.4 C El se datos conte usuar princi
FIGURA 4.6 que el siste a un conta oria, las cla o diferente CARACTER rvidor, tend y un servi nida en la rios, lista d pales Requ El Sistem RAM : M EL USUARIO 1 ema sea au acto y este aves para e s para cada STICAS DE dr las fun dor web, q s bases de de contact uerimientos a Operativo nimo: 1 GB 1 PODR ESTA un ms seg e es acept el cifrado d a uno de lo EL SERVIDO nciones de que nos per e datos co tos, IP, et s mnimos o Windows B ABLECER CONV guro, al mo tado, se c e los mens os usuarios OR DE AUT dos servid rmitir adm omo son, a c. El serv XP. VERSACIONES omento de q reara auto sajes, por lo y cada uno TENTIFICAC dores, un d ministrar y v altas, bajas vidor tiene S CON SUS CO que cada u omticamen o cual, hab o de sus co CIN DE U de servidor visualizar la s, autentific como ca NTACTOS usuario da d nte de form br claves d ontactos. SUARIOS. r de base d a informaci cacin de l aracterstic 67
de ma de de n os as 68
Espacio en el disco duro 10 GB Procesador de la Arquitectura I386 o superior. Software, SQL Server 2005, Visual Studio 2005, .NET Framework 2.0. Lenguajes de programacin C# y ASPX IIS 5.1 para Windows XP
4.4.1 CARACTERSTICAS DEL SERVIDOR DE BASES DE DATOS El servidor proporcionara servicios de bases de datos al programa de Sistema de Mensajera, como es definido por el modelo cliente-servidor y tambin. Las bases de datos se realizaran en el Software SQL Server 2005 el cual tiene las siguientes caractersticas. SQL Server es la base de datos, fcil de utilizar, construir, administrar e implementar aplicaciones de negocios. Esto significa, tener que poner a disposicin un modelo de programacin rpido y sencillo para desarrolladores, eliminando la administracin de base de datos para operaciones estndar, y suministrando herramientas sofisticadas para operaciones ms complejas. La instalacin del SQL Server 2005, tiene los siguientes requerimientos: Requisitos previos de software : Microsoft .NET Framework, SP1 de Microsoft Internet Explorer 6.0 o posterior RAM : Mnimo: 192 MB Y Recomendada: 512 MB o ms Espacio en el disco duro 600 MB de espacio libre Procesador Compatible con Pentium III o superior, Mnimo: 500 MHz y Recomendado: 1 GHz o ms Sistema Operativo: Windows Server 2003 Standard Edition, Enterprise Edition, Datacenter Edition, Windows XP Professional, Home Edition 69
(SP2 o posterior, Windows 2000 Professional, Server, Advanced Server, Datacenter Server (SP4 o posterior)
4.4.1 CARACTERSTICAS DEL SERVIDOR WEB El servidor web es un programa que correr sobre el servidor, el cual nos permitir obtener, cambiar y visualizar la informacin contenida en las bases de datos. El servidor web, nos ayudara a poder administrar a los usuarios por medio de una pgina web dinmica. El programa estar realizado con plataforma .Net C# y ASP.Net El programa correr sobre el servidor que escucha las peticiones HTTP que le llegan y realiza sus solicitudes ya sean de bsqueda de usuarios o agregar usuarios al Sistema de Mensajera. Dependiendo del tipo de la peticin, el servidor Web buscar una pgina Web o bien ejecutar un programa en el servidor. De cualquier modo, siempre devolver algn tipo de resultado HTML al cliente o navegador que realiz la peticin. ASP (Active Server Pages) es una tecnologa de Microsoft del tipo "lado del servidor" que ha sido comercializada como un anexo a Internet Information Services (IIS). Con ASP se utilizaran diversos componentes ya desarrollados como algunos controles ActiveX as como componentes del lado del servidor, tales como CDONTS, por ejemplo, que permite la interaccin de los scripts con el servidor SMTP que integra IIS. La pgina ser generada mezclando cdigo de scripts del lado del servidor (incluyendo acceso a base de datos con HTML y comando que sern realizados por medio de la programacin de C#. 70
Las versiones pre-.NET se denominan actualmente (desde 2002) como ASP clsico. Internet Information Server, IIS, es una serie de servicios para los ordenadores que funcionan con Windows. Este servicio convierte a un ordenador en un servidor de Internet o Intranet es decir se pueden publicar pginas web tanto local como remotamente. Los Servicios de Internet Information Services (IIS) proporcionan las herramientas y funciones necesarias para administrar de forma sencilla un servidor Web seguro. La versin de IIS 5.1 para Windows XP es la que utilizaremos para el servidor, esta es una versin compacta del IIS que soporta slo 10 conexiones simultneas y slo un sitio web.
71
CAPITULO 5 ESTRUCTURACIN DEL SISTEMA DE MENSAJERA CIFRADO
5.1 AUTENTIFICACIN DE LOS USUARIOS. Para desarrollar, el sistema se considera, como primer paso la autentificacin del usuario, al momento de abrir el sistema, se le solicita un nombre de Usuario y una contrasea como se observa en la figura 5.1. estos dos datos se enviaran cifrados al servidor para evitar sean monitoreados o identificados en la red, este proceso se realiza por medio de procesos que permiten cifrar el nombre de usuario y contrasea y descifrarlos al momento de hacer la conexin con la base de datos, el usuario ser buscado en la base de datos del servidor, si su usuario y contrasea son validos se le permite el acceso, a la siguiente ventana de la aplicacin, los datos que se actualizan, al momento de ingresar a la aplicacin son la IP del usuario, su estado de desactivado, pasa a activado, su ID, y su lista de contactos se actualiza conforme a el estado de cada uno de sus contactos en ese momento como se observa en la figura 5.2.
FIGURA 5.1 INICIO SE SESIN EN EL SISTEMA DE MENSAJERA 72
La informacin que se obtiene de la base de datos, permite, tener control de que no cualquier usuario, puede utilizar la aplicacin y siempre es necesario contar con un Nombre de Usuario y contrasea valido en el sistema, en caso contrario no se permitir el acceso a la aplicacin como se observa en la figura 5.3.
FIGURA 5.2 VENTANA QUE INDICA ELINGRESO AL SISTEMA
El ingreso de usuarios al sistema ser controlado por el Administrador del Servidor, el cual podr dar de altas y bajas de usuarios, cambios de nombre de usuarios y contraseas, modificacin de las listas de contactos de cada usuario y mantener el servicio correcto de la aplicacin. 73
FIGURA 5.3 VENTANA DE USUARIO Y/O CONTRASEA NO VALIDO
La informacin que se obtenga del servidor, nos ayudara a controlar las claves de cifrado, que sern nicas, para cada usuario, y se crearan de forma aleatoria y guardndose la informacin en la base de datos, en la Figura 5.4 se muestra un Diagrama de flujo de cmo se realiza la autentificacin y el ingreso al Sistema. Cuando la aplicacin se encuentra ya activa, el sistema cuenta con funciones estructuradas, encargadas de realizar procesos de envi de solicitudes de conversacin y aceptacin de conversaciones.
74
Cada vez que el usuario entre a la aplicacin del Sistema de Mensajera Instantnea, se tendr un modulo que estar activo y a la escucha para la atencin de peticiones, a la cual llamamos A_Servidor, este modulo realizara una conexin, en el puerto 9018 por el cual se recibirn las peticiones de escucha como se observa n la figura 5.5. USUARIO 1 Inicia Aplicacin, Sistema de Mensajera Ingresa Nombre de Usuario y Contrasea Enva Informacin al servidor Conexin Server Error de Conexin del Servidor no Abre Sesin, se Actualizan Datos del Usuario 1, y la Lista de Contactos se Actualiza De acuerdo al estado de cada contacto Sesin en Escucha de Entablar conversacin si FIGURA 5.4 DIAGRAMA DE AUTENTIFICACIN DE USUARIO 75
FIGURA 5.5 CARACTERISTICAS DE LOS MODULOS MASTER SERVER Y MASTER CLIENT
Las solicitudes de conversacin en el sistema, son generadas por un modulo de la aplicacin, que es A_Cliente (ver figura 5.5) en el cual se encuentran los parmetros como son la IP del servidor de Base de Datos, el puerto con el que se inician la primera conversacin es en el puerto 9019 y de ah en adelante hasta el puerto 9099, con lo cual nos permite tener 80 conversaciones de diferentes contactos a la vez. En estos puertos realiza la conexin para enviar las solicitudes de conversacin, a cualquier usuario que se encuentre en estado on-line dentro de la lista de contactos, las peticiones de invitacin tendrn que ser confirmadas por el A_Servidor del usuario con el que se desea entablar conversacin, si la solicitud es rechazada por el A_Servidor, se cancela el proceso, y se termina el flujo, y el A_Servidor vuelve a quedar a la espera de peticiones de conversacin. Si se logra establecer la comunicacin entra ambas partes e inicia una conversacin, esa se llevara a cabo por los mdulos B_Servidor, el envo de mensajes se sincronizara en el puerto 9019, se actualizara la IP de cada uno de los usuarios cada vez que se conecten y se empezara el envi y recepcin de mensajes como se observa en la figura 5.6. 76
FIGURA 5.6 CARACTERISTICAS DEL MODULO SLAVE SERVER
A continuacin se muestra un diagrama de flujo, sobre el proceso que se realiza para entablar una conversacin por medio del Sistema de Mensajera. Figura 5.7.
FIGURA 5.7 DIAGRAMA DE PETICIN DE CONVERSACIONES 77
Cada uno de los mensajes enviados y recibidos por los usuarios estn cifrados, por medio del Mtodo Triple Des, lo cual nos permite, resguardar la informacin de usuarios intrusos, en la Red LAN tratando de monitorear, mensajes.
Existe la posibilidad de realizar conversaciones con ms de un contacto al mismo tiempo, esto se logra debido al diseo de comunicacin del sistema, de manera escrita es lo siguiente: El sistema toma un puerto base N, el cual est disponible para enviar y recibir las peticiones de los dems contactos, si el usuario A, desea establecer un dialogo con el usuario B, el Cliente de A utilizando el puerto base N se comunica con el Servidor de B que est a la escucha en el puerto base N, del lado de A se pregunta por la disponibilidad de puertos desde N+1, hasta N+Max , as que A por medio del cliente que utiliza N, le notifica B, en que puerto estar a la escucha y as establecer el dialogo deseado. Los pasos siguientes son, del lado de A se inicia el Servidor a la escucha en N+1, suponiendo que N+1 est libre, de no serlo ser N+2 y as sucesivamente, El servidor en B recibe la informacin y se inicia un cliente que se comunicar a A en el puerto indicado, en este caso N+1. Se cierra la comunicacin entre N de A y N de B, pudiendo estar el sistema a la espera de otra peticin, o del envo de una a algn otro contacto.El puerto base utilizado en la implementacin del sistema es el 9018. En la figura 5.8 se observa un diagrama, con tres usuarios A, B Y C cada uno con su respectivo cliente y servidor, en el diagrama se nos indica cmo se realiza la distribucin de los puertos para realizar las conversaciones.
78
5.2 CONFIRMACIN DE LA LISTA DE CONTACTOS La Lista de Contactos es una coleccin de nombres que identifican a usuarios con los cuales es posible entablar conversaciones en el Sistema de Mensajera. Cada lista es nica y est asociada a una cuenta creada por un Usuario. Cada integrante de la lista se identificara por medio de un NickName que se le solicitara a cada usuario al momento de estar dado de alta en el Sistema. La lista de contactos esta ordenada por usuarios que estn habilitados al momento de iniciar la sesin y usuarios que se encuentren fuera del sistema. Como se observa en la Figura 5.9. FIGURA 5.8 DIAGRAMA DE DISTRIBUCION DE PUERTOS ENTRE LAS SOLICITUDES DE LOS USUARIOS 79
FIGURA 5.9 STATUS DE LOS INTEGRANTES DE LA LISTA DE CONTACTOS Para agregar usuarios nuevos en la lista de contactos, es necesario, dar click en la opcin de contactos del Sistema de Mensajera, al momento de elegir la opcin se abre la ventana de agregar contacto como se observa en la figura 5.10, como dato se solicitara el Nick Name o nombre del usuario que se desea agregar, en dado caso que el usuario no exista en la base de datos como usuario del Sistema de Mensajera, aparecer un mensaje de notificacin, indicando que el usuario no existe (ver Figura 5.11).
FIGURA 5.10 VENTANA DE AGREGAR CONTACTO A LA LISTA
Cuando el usuario si est habilitado en la base de datos, y es autentificado, aparece un mensaje, que se ha enviado la solicitud de contacto al usuario que se 80
desea agregar, como se observa en la figura 5.12, en ese instante en la base de datos se genera que hay una solicitud pendiente y que el usuario agregado necesita confirmar si desea aceptar la operacin o la cancela.
FIGURA 5.11 MENSAJE DE USUARIO NO AGRAGADO
Al momento que el usuario agregado, abre sesin en el Sistema, aparecer un mensaje, en donde se le indica que tiene una solicitud pendiente y que un usuario del sistema le ha enviado una solicitud, para ser agregados al sistema, el usuario tiene la opcin de aceptar la solicitud o desecharla, en dado caso que no conozca el destinatario de la solicitud, como se observa en la figura 5.13.
FIGURA 5.12 MENSAJE DE ENVO DE SOLICITUD DE CONTACTO
Si el usuario desea cancelar la operacin, se borra todo proceso en la base de datos y se cancela la operacin, si el usuario acepta la solicitud, se genera en la base de datos que ambos usuarios son contactos y se genera la clave privada como se observa en la figura 5.14, para generar el cifrado de los mensajes, ya agregados como contactos, en el Sistema de Mensajera de cada uno de los 81
usuarios aparecern en la lista de contactos de cada uno y se podrn entablar conversaciones.
FIGURA 5.13 MENSAJE DE SOLICITUD DE CONFIRMACIN DE CONTACTO
La creacin de la lista de contactos tiene como objetivo principal, tener un control sobre que usuario con que usuarios estn entablando conversaciones y si estas conversaciones estn siendo autorizadas para ser realizadas, tambin nos ayudara a que cada vez que se den de alta usuarios en las lista de contactos, se tenga la informacin necesaria, para generar los procesos necesarios de seguridad que puedan autentificar las conversaciones.
FIGURA 5.14 CONFIRMACION DE AGREGAR USUARIO A LISTA DE CONTACTOS
82
5.3 ENVI Y RECEPCIN DE MENSAJES UTILIZANDO EL CIFRADO TRIPLE DES El Sistema de Mensajera, siendo un sistema que tiene como caracterstica la interaccin de varios usuarios al mismo tiempo por medio de una red LAN, se podran tener eventos que pudieran romper la seguridad y causar dao o alteracin en la informacin, para evitar algn ataque en donde se violen las polticas de seguridad del sistema se tiene como principal herramienta el cifrado de los datos que se utilizan en el sistema. Con el cifrado de los datos se podrn evitar ataques pasivos, y lo nico que podr monitorear el atacante es informacin cifrada, ya que son estos los datos que viajan por medio de la red LAN. Los componentes que se utilizan para el proceso del cifrado de la informacin son los siguientes: Texto claro Algoritmo de cifrado: El Utilizado es el Cifrado Triple DES Clave Secreta: Se utilizan dos claves con base al proceso del Triple DES Texto Cifrado Algoritmo de Descifrado Para que el cifrado simtrico funcione las dos partes deben tener la misma clave para realizar un intercambio seguro, y esa clave debe protegerse del acceso de otros, por lo cual en el Sistema de Mensajera, cada usuario tendr claves de cifrado diferente, para cada contacto que este agregado en la lista de contactos, con este manejo de claves, aunque un atacante encuentre la clave de cifrado de una de las conversaciones del usuario, no podr conocer las dems conversaciones ya que tendr que buscar las diferentes claves utilizadas. El Cifrado Triple Des, utilizado para cifrar los mensajes enviados por los usuarios, cuenta con dos claves clave de Cifrado de 192 bits y una clave anti Des de 64 bits, como se muestra en la figura 5.15, donde aparece el proceso de cifrado utilizado para el Sistema de Mensajera, es programado en tecnologa .NET C#. 83
FIGURA 5.15 ENCRIPCIN DE DADOS CON C# Para programar el Triple Des en C# se crea una biblioteca de clases en que proporcionar funcionalidad de cifrado y descifrado. Las claves se proporcionaran por el servidor de bases de datos, en donde estarn creadas, estas se enviaran al sistema y si son correctas el sistema descifrara el mensaje enviado. En la figura 5.16 se muestra el procedimiento a realizar para la aplicacin del algoritmo de Cifrado Triple Des, como primer paso se muestra el mensaje a enviar, en la parte de abajo se muestran las claves, con las cuales se cifrara el mensaje, ya teniendo las claves de cifrado de 192 bits y 64 bits, se da click en encriptar, y en la parte de abajo donde se escribi el mensaje, aparecer ya el mensaje cifrado y es as como el mensaje viajara por la red LAN y solo hasta llegar a su destino y se proporcionen las claves correctas del cifrado el mensaje se recibir de forma correcta.
84
FIGURA 5.16 CIFRADO Y DESCIFRADO DE DATOS
Cuando las claves de cifrado no son correctas o algn atacante pruebe con n claves, el sistema no podr descifrar los mensajes de Texto, y por lo tanto la comunicacin no ser realizara ya que no se conocer el mensaje original. Como se muestra en la figura 5.17, en donde al ser modificada la clave al momento de descifrar el mensaje, el mismo sistema nos indica que el mensaje no se puede descifrar.
FIGURA 5.17 LOS DATOS NO SON DESCIFRADOS, LAS CLAVES NO SON CORRECTAS 85
A continuacin en las figuras 5.18 y 5.19 se muestra, como se aplica el Algoritmo de Cifrado Triple DES, en el Sistema de Mensajera, como funcionara ya el encriptado de los mensajes, con los mensajes enviados por los usuarios. En la figura 44 se muestra ya una conversacin entre dos usuarios A y B. Cuando el usuario A enva un mensaje de Texto (HOLA), al usuario B solo le llega el mensaje cifrado, esto es debido a que las claves de cifrado no son las correctas y que el usuario B, dentro de su sistema, no tiene habilitado la funcin de desencriptar el mensaje, por lo cual los dos usuarios no estn coordinados y no se logra la comunicacin.
FIGURA 5.18 SERVIDOR DEL USUARIO A ENVA DATOS AL SERVIDOR B DEL USUARIO B, LOS DATOS NO SE DESCIFRAN, LAS CLAVES NO SON LAS MISMAS
En la figura 5.19, se muestra nuevamente la conversacin entre el usuario A y B, pero ahora ya se logran comunicar debido a que el usuario B ahora si cuenta con la opcin de desencriptar el mensaje y por lo tanto ya con las claves del Cifrado, que permite que ya los dos usuarios se entiendan y comuniquen. 86
FIGURA 5.19 SERVIDOR DEL USUARIO A ENVA DATOS AL SERVIDOR B DEL USUARIO B, LOS DATOS SE DESCIFRAN Y ES LEGIBLE
5.4 CARACTERSTICAS DE LAS PCS, PARA INSTALAR EL SISTEMA DE MENSAJERA. Como primera caracterstica las PC S de los usuarios que utilicen el Sistema de Mensajera deben estar conectados por medio de la Red LAN, que les pueda permitir compartir informacin. En estas redes se realiza la interconexin de computadores personales y estaciones de trabajo. En la red LAN cada nodo (ordenador individual) debe tener su propia CPU con la cual ejecuta programas, pero tambin tiene acceso a los datos y a los dispositivos en cualquier parte en la LAN. Esto significa que muchos usuarios pueden compartir dispositivos, como impresoras laser, as como datos. Los usuarios pueden tambin utilizar la LAN para comunicarse entre ellos, enviando E-mail y utilizando el Sistema de Mensajera para envo de mensajes como se observa en la figura 5.20.
87
FIGURA 5.20 ESTRUCTURA DE UNA RED LAN
El sistema de Mensajera, es una aplicacin multiplataforma, por lo cual puede ser instalado en un sistema operativo como Windows, Linux, Unix, en sur versiones actuales, debido a que la aplicacin necesita un Framework 2.0, el cual viene integrado a partir de Windows 2000.
88
CAPITULO 6 CONFIGURACIN DE LA INFORMACIN EN LA BASE DE DATOS
6.1 PROPIEDADES DEL SERVIDOR DE BASES DE DATOS El servidor de bases de datos, tiene como objetivo introducir, almacenar y recuperar la informacin, que se vaya generando en el Sistema de Mensajera. La informacin que sea recopilada por el servidor, nos ayudara a tener un control y seguridad sobre los usuarios que utilicen el sistema, la informacin se recopila en tablas, donde de forma ordenada se contendrn los datos para su uso en el sistema. El conjunto de procesos que nos permite la interaccin entre el Sistema de Mensajera y la informacin es un sistema de gestor de bases de datos, que permite almacenar y posteriormente acceder a los datos de forma rpida y estructurada. El sistema de gestin de bases de datos, se encarga de la comunicacin entre el usuario y las bases de datos, proporcionando al usuario los medios para poder realizar cambios, agregar contactos, dar de alta usuarios etc.
FIGURA 6.1 ESTRUCTURA DE UNA BASE DE DATOS 89
En la figura 6.1 se observa la estructura que tiene una base de datos la estructura de una base de datos hace referencia a los tipos de datos, los vnculos o relaciones y las restricciones que deben cumplir esos datos. El sistema de gestin de bases de datos que se utiliza para la interaccin con el Sistema de Mensajera es Microsoft SQL Server 2005, maneja bases de datos relacionales, es decir que la informacin puede ser recuperada o almacenada mediante consultas, que ofrecen una amplia flexibilidad y poder para administrar la informacin. Las caractersticas de Microsoft SQL Server son las siguientes. Soporte de Transacciones Escalabilidad, estabilidad y seguridad Soporta procedimientos almacenados Incluye tambin un potente entorno grafico de administracin, que permite el uso de comandos DDL y DML grficamente. Permite trabajar en modo cliente servidor, donde la informacin y datos se alojan en el servidor y las terminales o clientes de la red solo acceden a la informacin. Permite administrar informacin de otros servidores de datos. SQL Server incluye interfaces de acceso para varias plataformas de desarrollo como .NET Las ventajas que tenemos al utilizar un sistema de gestin de bases de datos como SQL Server 2005 son: Simplifican la programacin de equipos Manejo de polticas de respaldo adecuados, garantizando que los cambios de las bases de datos eran siempre consistentes. Permite realizar organizacin de los datos con un impacto mnimo en el cdigo de los programas. Bajan drsticamente los tiempos de desarrollo y aumentan la calidad del sistema 90
Provee interfaces y lenguajes de consulta que simplifican la recuperacin de los datos Al utilizar un Sistema de gestin de bases de datos como SQL Server, nuestro sistema de Mensajera, contara con las siguientes caractersticas, que nos ayudara en el manejo de la informacin de una forma adecuada ver figura 6.2. Abstraccin de la informacin: Ahorra a los usuarios detalles, acerca del almacenamiento fsico de los datos.
Independencia: La independencia de los datos consiste en la capacidad de modificar el esquema fsico lgico de una base de datos sin tener que realizar cambio en la aplicacin.
Consistencia: Que todos los datos repetidos se actualizan de forma simultnea.
Seguridad: La informacin almacenada, en una base de datos es importante, por lo cual se debe garantizar que esta informacin se encuentra segura de permisos a usuarios que permite otorgar diversas categoras de permisos.
Manejo de Transacciones: Provee mecanismos, para programar las modificaciones de los datos de una forma simple, que si no se dispusieran de ellos.
Tiempo de respuesta: El deseable minimizar el tiempo que el sistema tarda en darnos la informacin solicitada y almacenar los cambios realizados 91
FIGURA 6.2 ARQUITECTURA DE UN SISTEMA DE BASES DE DATOS
6.2 DISTRIBUCIN DE LA INFORMACIN DE ALTA DE USUARIOS Una vez que se ha elegido el sistema de gestin de bases de datos y dado nombre a la base de datos como SMC (por las siglas de Sistema de Mensajera Cifrado) y clasificado los datos que se utilizan para el funcionamiento del sistema, se est listo para crear las tablas que contendrn los datos a emplear. La tabla de alta de usuarios es una coleccin de datos especficos de cada usuario que utilice el Sistema de Mensajera, como su nombre, IP, o password. La tabla contiene un conjunto de columnas. Cada columna representa un atributo del Sistema de Mensajera. Por ejemplo, el usuario Erick es un atributo de la entidad Usuario. Cada instancia de la entidad en la tabla es representada por un solo registro o fila. Cuando se crea una tabla con el nombre dbo.usuarios, para ingresar la informacin de los usuarios dados de alta, los nombres de las columnas que conformaran la tabla son los siguientes y estn distribuidos como se observa en la figura 6.3. ID Usuario 92
Password NickName IP Status
FIGURA 6.3 TABLA DBO.CONTACTOS
La informacin de cada una de las columnas ser guardada por cada usuario que sea habilitado en el sistema de mensajera, a continuacin se describir los parmetros a ingresar de cada columna y su importancia que tienen dentro del Sistema de Mensajera. Dentro de la tabla dbo7.Usuarios se identifica que en todas las columnas se tiene un valor Null (nulo) lo que significa que ninguna entrada ha sido cargada para ese dato. La presencia de un valor nulo generalmente implica que el valor o es desconocido o no est definido. A continuacin se describe cada uno de las columnas que conforman la tabla y su importancia dentro del Sistema de Mensajera ID: La primera columna nos ayuda a tener un orden en los datos, ya que se organizan los datos conforme fueron ingresados a la tabla, identificados con un Id en la tabla empezando con el numero 1001 y este se va incrementando conforme los datos son ingresados. Por cada dato ingresado se tiene un ID diferente, lo cual nos ayudara a facilitar las bsquedas dentro de la tabla, por ser un parmetro irrepetible. 93
USUARIO: La columna usuario, es en donde se guardan los nombres de los usuarios que pueden utilizar el Sistema de Mensajera. En la columna se tienen ingresados los nombres de los usuarios, pero se podran utilizar varios datos que identifiquen al usuario como por ejemplo su apellido, puesto laboral o rea de trabajo. El nombre de usuario es un dato que ser entregado a cada uno de los usuarios en forma confidencial por el Administrador del Sistema de Mensajera. PASWORD: En la columna etiquetada como Password o contrasea, se guardaran cada una de las contraseas que se les asignen a los usuarios, la contrasea es la forma de autentificacin que se utiliza para ingresar al Sistema de Mensajera, con ella nos permite controlar el acceso al sistema. La contrasea que le sea entregada a cada uno de los usuarios, debe mantenerse en secreto, ante aquellos que no se les permite el acceso y as evitar algn ataque activo en donde durante el proceso de autentificacin otros usuarios puedan adquirir la clave de acceso, permitiendo as, que una entidad no autorizada tenga acceso y realizar conversaciones con usuarios y para obtener informacin por medio de la suplantacin como se observa en la figura 6.4.
FIGURA 6.4 ATAQUE ACTIVO: UNA ENTIDAD FINGE SER OTRA
NICKNAME: En la columna de NickName o alias en espaol, este dato es actualizado e ingresado por el usuario por medio del Sistema de Mensajera y enviado a la tabla para ser guardado. El NickName se emplea para cuando el 94
usuario ya es dado de alta y se personaliza el nombre con el cual quiere ser identificado en el sistema, este dato, puede ser su primer nombre, algn apodo o rea a la cual pertenece el usuario. IP: En la Columna IP, se hace referencia al Internet Protocolo (IP), el cual nos sirve para almacenar la direccin de red y poder establecer la comunicacin entre equipos origen-destino, en dicho campo se depositara la direccin IP de la PC de cada uno de los usuarios, en donde la IP es un nmero que identifica de manera lgica y jerrquica una interfaz de un computador dentro de una red. La IP, es un dato dinmico, por lo cual cada vez que un usuario se conecte, este dato ser modificado y actualizado por el sistema, ya que por lo general un usuario se puede conectar por varios medios y su IP, no siempre ser la misma. STATUS: Y en la ltima columna Status, esta nos indicara si los usuarios estn conectados o desconectados del Sistema de Mensajera, este dato es dinmico ya que dependiendo del estado de usuario este ser modificado automticamente en la tabla. Cuando el usuario se conecta en la tabla se actualiza el status a 1 y por consiguiente se enva la informacin a las ventanas de cada uno de los usuarios, indicando que un usuarios est conectado y est disponible para realizar conversaciones y cuando se desconecta el status pasa a 0 y en las ventanas de los dems usuarios aparece como desconectado
6.3 ADMINISTRACIN DE LOS DATOS, PARA LA INTEGRACIN DE LAS LISTAS DE CONTACTOS. En el Sistema de Mensajera, para realizar el proceso que nos permite controlar y administrar la creacin de las lista de contactos de los usuarios, se cre una tabla con el nombre de Dbo.contactos en la base de datos SMC (Base de datos del 95
Sistema de Mensajera), en la cual se realizan los procesos necesarios para guardar la informacin tanto para creacin de contactos, como el guardado de informacin que nos ayudara en el proceso de seguridad hacia del sistema. En la tabla Dbo.contactos donde se almacenaran los datos, que sern utilizados, cuando los usuarios deseen agregar a un usuario nuevo a su lista de contactos, esta peticin ser guardada en la tabla con un status de pendiente, hasta que el usuarios al que se le envo la peticin confirme la solicitud, ya confirmada la solicitud de aceptacin o negacin se actualizaran los datos en la tabla, y se actualizan las listas de contactos de cada uno de los usuarios involucrados en la peticin que se envo en el Sistema de Mensajera, como se observa en el diagrama de la figura 6.5.
FIGURA 6.5 DIAGRAMA DE INTEGRACIN DE DATOS EN DBO.CONTACTOS
96
En la tabla Dbo.contactos, son guardados los datos que son necesarios para la integracin de la listas de los contactos, los datos son ingresados de forma dinmica y se irn modificando dependiendo de las confirmaciones de las peticiones enviadas por los usuarios, las columnas y los datos que se agregan en cada una son las siguientes, y se puede observar su integracin en la figura 6.6.
FIGURA 6.6 TABLA DBO.CONTACTOS, CONFIRMACION DE CONTACTO
ID: La primera columna como en la tabla usuario nos ayuda a tener un orden en los datos, ya que se organizan los datos conforme fueron ingresados a la tabla, la numeracin empieza en 1 y este se va incrementando conforme los datos son ingresados. Por cada dato ingresado se tiene un ID diferente. USUARIO: En este parmetro se guardan el nombre de usuario, de quien envo la peticin de agregar contacto en el Sistema de Mensajera. El nombre que se guarda es el NickName con el cual es conocido el usuario, por ejemplo en la figura 6.6, el usuario Erick, fue el usuario que envo una solicitud al usuario Rosa para ser agregado a su lista de contactos, en el Sistema de Mensajera. PASWORD: El password, es la clave, que se utiliza para realizar el cifrado Triple Des, esta clave es creada automticamente, cuando el usuario solicita agregar a otro usuario del sistema como contacto. 97
Como por ejemplo en la figura 6.6 se observa que el usuario Erick envi una solicitud de peticin al usuario Rosa, luego en la siguiente posicin ID 2 aparece en usuario Rosa, tiene una peticin pendiente por parte del usuario Erick, pero observando la columna de password, este el mismo, por lo que al momento de aceptar la confirmacin, de ser agregados a las listas de contactos de cada uno de los usuarios, la clave con la cual se cifraran los mensajes que se enven los usuarios ser nica, ya que para cada solicitud de contacto la clave de cifrado es diferente. CONTACTO: En la columna contacto se agrega el nombre del usuario al cual se le envo una solicitud de peticin para ser agregado como contacto. Como por ejemplo en la figura 6.6 en el ID 1 se observa que el usuario Erick, fue el que le envi una solicitud de agregar contacto al usuario Rosa, y en el ID 2 aparece como contacto Erick y de usuario Rosa, pero con diferente proceso. STATUS: Cuando un usuario enva una solicitud a otro usuario para ser agregado a su lista de contactos, en la tabla Dbo.contactos, automticamente se generan dos registros indicndonos que los usuarios estn en proceso de confirmacin para ser contactos, por ejemplo en la figura 6.6, cuando el usuario Erick enva una solicitud de agregar contacto al usuario de Rosa, en la tabla se generaron dos registros, el primero como usuario Erick y Contacto Rosa, en el segundo con ID 2 se tiene como usuario a Rosa y como contacto a Erick, por lo que, para identificar quien envi la peticin y quien la recibi, en la columna status y proceso nos ayudara a identificar esta informacin. La columna status nos ayuda a saber en qu proceso se encuentra la solicitud de agregar contacto, si ya fue confirmada, quien envi la solicitud y si el contacto al que le fue enva la peticin no ha confirmado. En la tabla 6.1 se observa, cada uno de los status que se manejan en el Sistema de Mensajera, de acuerdo a nmero que representa en la columna de la tabla Dbo.contactos.
98
Tabla 6 Procesos de la Columna Status para Generar Lista de Contactos
Status
Definicin
1 Se confirma Peticin 2 El usuario envi peticin al contacto y el usuario est en espera de la confirmacin del contacto.
3 Al usuario se le ha enviado una solicitud de peticin para realizar conversaciones de la persona que est ingresada en la columna contacto y el usuario no ha confirmado la peticin
PROCESO: En la columna proceso, se generan dos opciones que nos indican quien fue el usuario que envi la solicitud de agregar contacto y el usuario que est en proceso de conformacin de peticin. Con estas dos opciones, se identifican a los usuarios que envan las solicitudes, para futuras aclaraciones de quejas en la creacin de listas de contactos. En la tabla 6.2 se observa como quedo definida la columna proceso para el Sistema de Mensajera.
TABLA 7 DEFINICIN DE LA COLUMNA PROCESO
Status
Definicin
2 Recibi solicitud, para ser agregado en la lista de contacto de otro usuario 3 Envi solicitud al usuario para ser agregado a su lista de contactos.
99
6.4 PROGRAMACIN Y ADMINISTRACIN DE LAS BASES DE DATOS El administrador de las Bases de Datos del Sistema de Mensajera, es la persona encargada de gestionar y controlar todas las actividades que tienen que ver con el sistema y los datos que se generen en las bases de satos. El administrador de la base de datos es el responsable de garantizar que el servidor de bases de datos funcione correctamente, se tengan los mnimos errores de conexin y revisar el guardado de los datos en las tablas que conforman el Sistema de Mensajera. El Administrador de Bases tambin es responsable de: Administrar la estructura de la Base de Datos: El administrador tendr las opciones de dar de alta los usuarios que utilizaran el Sistema de Mensajera. Administrar la actividad de los datos: Podr revisar en que status se encuentran las conexiones de los usuarios, y tambin podr revisar las tablas de agregar usuarios e identificar fallas o errores en la insercin de datos. Administrar el Sistema Manejador de Base de Datos: Tendr acceso al Servidor SQL Server y realizar cambios, identificar fallas y resolverlas dentro del servidor Asegurar la confiabilidad de la Base de Datos: El sistema de bases de datos es lo suficientemente robusto parara ser capaz de recuperarse frente a errores o usos inadecuados. Se utilizan gestores con las herramientas necesarias para la reparacin de los posibles errores que las bases de datos pueden sufrir, por ejemplo tras un corte inesperado de luz. Confirmar la seguridad de la Base de Datos: Que los datos proporcionados por los usuarios son los correctos, e identificar malos usos que los usuarios realicen al utilizar el Sistema de Mensajera. La Funciones Bsicas del Administrador de la Bases de Datos, que tendr en el sistema de Mensajera son las siguientes. 100
Especificacin de las Restricciones de Integridad de los Datos. Las restricciones de integridad se mantienen en una estructura especial del sistema que consulta el gestor de la base de datos cada vez que se tiene lugar una actualizacin en el sistema. El administrador, podr monitorear y revisar cualquier problema que se suscite con las bases de datos, al igual que podr cancelar el uso del Sistema de Mensajera a usuarios que le dan mal uso al sistema. Administrar la Concurrencia. La administracin de la concurrencia involucra como los datos son consultados y actualizados en un ambiente multiusuario. Existen dos tipos de control de la concurrencia: Concurrencia de Lectura: (Instruccin SELECT) Administrada a travs de los niveles de aislamiento. Concurrencia de Actualizacin: Instrucciones INSERT, DELETE y UPDATE. El administrador podr ingresar, borrar y actualizar usuarios en la base de datos, para que puedan iniciar sesin en el Sistema de Mensajera, dando de alta nombres de usuarios y passwords. Una vez diseada las bases de datos, se crea una aplicacin web que nos ayudara a administrar el alta, baja y cambios de usuarios, desarrollando procedimientos y controles para asegurar la calidad y la integridad de los datos a ingresar. La aplicacin se programo utilizando plataforma .Net C# y ASP.Net. La aplicacin corre sobre el servidor web donde se efectan las solicitudes ya sean de bsqueda de usuarios, borrada o agregado de usuarios al Sistema de Mensajera. A continuacin en la figura 6.7, se muestra la aplicacin, el proceso de autentificacin, para acceso al sistema, en los cuales se deber ingresar el 101
nombre de usuario y password, que previamente ser entregado al administrador, y poder ingresar al sistema.
FIGURA 6.7 AUTENTIFICACION PARA ACCESO AL SISTEMADE ADMINISTRACION DE USUARIOS
Una vez ingresado al sistema, como se observa en la figura 6.8, se tiene una aplicacin en donde nos aparecen de forma ordena conforme han sido ingresados los usuarios, que pueden ingresar al Sistema de Mensajera. El administrador dentro de la aplicacin tendr las opciones de seleccionar, editar o eliminar usuarios, dependiendo de las necesidades que se tengan durante la utilizacin del sistema. En la figura 6.8 se observa, que por cada usuario, se tiene de forma independiente, las opciones de editar, eliminar y seleccionar, esto se gener para qu solamente se realicen los cambios en los usuarios indicados y no modificar la informacin de otros usuarios que no lo necesiten.
102
FIGURA 6.8 APLICACIN DE ADMINISTRACION DE USUARIOS DEL SISTEMA
Con la opcin editar, el administrador podr modificar, el nombre de usuario, contrasea, nickname, la IP y el status de un usuario, en dado caso que existiera algn error o se necesite realizar cambios en los parmetros como se observa en la figura 6.9. En las opciones seleccionar, solamente se elige el usuario al cual se desea realizar cambios, y en eliminar el usuarios es totalmente borrado del Sistema de Mensajera, por lo que si el usuarios deseara ingresar el sistema le indicara que su nombre de usuario y contrasea son incorrectos, al igual que su nombre seria borrado de las listas de contactos de los usuarios del Sistema de Mensajera.
FIGURA 6.9 APLICACIN DE ADMINISTRACION DE USUARIOS DEL SISTEMA
103
CAPITULO 7 RESULTADOS, CONCLUSIONES Y ALCANCES DE LA CREACION DEL SISTEMA DE MENSAJERA CIFRADO PARA REDES LAN
7.1 RESULTADOS OBTENIDOS Y COSTOS DE CREACION DEL SISTEMA DE MENSAJERIA CIFRADO PARA REDES LAN.
Las pruebas se realizaron conectando cuatro computadores en red, a uno se asigno como el servidor de bases de datos, los computadores de conectaran mediante el proceso cliente Servidor. A tres computadores se les instalo la aplicacin del sistema de Mensajera. Dentro del Servidor de bases de datos, se dieron de alta los nombres de usuarios y contraseas, que deber ingresar cada usuario para utilizar el sistema.
Al conectarse los usuarios al sistema, se inician a crear sus listas de contactos, y poder iniciar las conversaciones. Ya creadas las listas, se inician y realizan las conversaciones entre los usuarios.
Como el objetivo es que el sistema pueda enviar la informacin cifrada por la red, se utilizo el programa Wireshark que es un analizador de protocolos basado en las libreras pcap (un interfaz de una aplicacin de programacin para captura de paquetes) utilizado comnmente como herramienta de diagnstico de redes y de desarrollo de aplicaciones de red (Ver figura 7.1).
Con este programa, revisaremos el trfico en la red y el envo de datos, por lo cual nos permitir observar los datos enviados en el Sistema de Mensajera Cifrado, cuando se utiliza el cifrado Triple DES, y cuando este, se encuentra deshabilitado e identificar que efectivamente la informacin que se enva por el sistema esta oculta. 104
FIGURA 7.1 VENTANA DE WIRESHARK
Con el programa Wireshark, logramos observar el trfico en la red y efectivamente la informacin viaja cifrada, y aunque monitoreen la red esta informacin no puede ser leda hasta que llega al computador del usuario final y al tener este las claves para descifrar el Trile DES, logra obtener el texto claro y leer la informacin.
Dentro de las dificultades que se encontraron fue, que en un principio los mensajes no eran cifrados por el sistema, y nos marcaba errores al momento de la transmisin. Este error se ocasiono debido a que nosotros mandamos el mensaje en cdigo ASCCII (acrnimo ingls de American Standard Code for Information Interchange en espaol Cdigo Estadounidense Estndar para el Intercambio de Informacin) y el Cifrado Triple DES, no acepta cdigo ASCCI, si no solo bytes, por lo cual los mensajes de texto se paso a bytes para poder realizar el cifrado.
Logrando el cifrado damos como viable el Sistema de Mensajera Cifrado, ya que cuenta con la seguridad de contar con el cifrado y aunque se desee realizar el criptoanlisis para conocer las claves de cifrado, este no ser redituable ya que en cuanto el atacante tenga las claves, la informacin que se envo ya no es viable y til.
105
Para revisar el costo en horas que nos llevo, realizar el sistema de mensajera, se realizo una tabla en donde se observa la cantidad de horas que se le invirti para la creacin de cada uno de los mdulos, el total de horas fue de 260 horas, estas se distribuyeron durante 8 meses de pruebas y programacin del sistema con Tecnologa .NET.
FIGURA 7.2 HORAS UTILIZADAS PARA REALIZAR EL SISTEMA DE MENSAJERIA CIFRAD0
Teniendo el nmero de horas utilizado a continuacin mostraremos la cantidad de lneas de cdigo que se utilizo para cada funcin.
7.2 CONCLUCIONES DE LA CREACION DEL MENSAJERA CIFRADO PARA REDES LAN
De a cuerdo al objetivo planteado al inicio del proyecto se llegaron a las siguientes conclusiones con el Sistema ya funcionando: Con el Sistema de Mensajera Cifrado, se integraron operaciones, de envi y recepcin de informacin en tiempo real, lo que permite en la red LAN ya sea de una empresa, escuela o toda una comunidad, de disponer de una herramienta fundamental para la toma de decisiones y correccin de posibles problemas sin la necesidad de recurrir a una herramienta secundaria como seria utilizar el telfono o correo electrnico, confiando en que su informacin solo ser leda por la persona a quien se le enva la informacin El sistema, logra la comunicacin entre varios usuarios con un lmite de 80 conversaciones al mismo tiempo en los puertos del 9019 al 9099. Los usuarios que se encuentren conectados en una Red LAN, deber ser autentificados por el servidor de base de datos del Sistema de Mensajera Cifrado. Con Leguaje C#, nivel descriptor para la construccin de cdigo, facilita llamadas al intrprete CLR por igual de alto y de bajo nivel, es decir, la sencillez de un lenguaje de alto nivel como Visual Basic o Java, y la robustez de C o C++, el segundo motivo es la experiencia del equipo de trabajo bajo este lenguaje de programacin. Al programar el sistema, con C#, y poder realizar la comunicacin se utilizaron Socket de flujo que permiten un flujo de datos de dos vas, confiable, sin duplicados y sin lmites de grabacin. El flujo opera en forma parecida a una conversacin telefnica. El tipo del socket es SOCK_STREAM, el cual en el dominio de Internet usa TCP (Transmission Control Protocol). 107
La conexin que hay entre los computadores de los usuarios y el servidor de bases de datos, tambin se encuentra protegida por medio del Cifrado de datos Triple DES, se cre una aplicacin, con la cual los datos que se necesitan en la aplicacin del Sistema de Mensajera, como son la direccin IP (Internet Protocol), y el nombre de usuario y contrasea para ingresar al servidor SQL Server 2005, van cifrados durante el envo de los datos por la red, al llegar e su destino son descifrados por el sistema y ledos para ingresar al Servidor SQL Server. Durante la programacin del sistema, tambin encontramos importante proteger las conexiones, consultas, borrados en la base de datos, por lo cual dentro del cdigo fuente, no se pueden observar estas consultas debido a que se utilizaron Stored Procedure (Procedimiento Almacenado) La ventaja que nos aporta es que al ser ejecutado, en respuesta a una peticin de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y slo necesita enviar sus resultados de regreso al usuario, deshacindose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes. El Sistema de Mensajera Cifrado para redes LAN, es creado ante la necesidad de tener sistemas seguros. El sistema fue creado basndonos es protocolos de seguridad entablados por organismos como son Recomendaciones X.800 y Arquitectura de Seguridad OSI dedicados a regular, evaluar y crear polticas, que permitan que el sistema, cumplan con los objetivos de un sistema seguro como son, consolidacin de la informacin, integridad y autenticidad de los datos, disponibilidad del sistemas y de la informacin y evitar cualquier a o ataque para obtencin de la informacin de forma ilegal, ya sea por medio de ataques activos o pasivos. El sistema de Mensajera se toma como base a un sistema distribuido, con base a un protocolo cliente-servidor, en donde los clientes son los usuarios que utilizaran el Sistema de Mensajera y se conectaran al servidor, para 108
poder realizar las conversaciones. Con este tipo de esquema se intenta crear un sistema centralizado, en donde los administradores, puedan tener control de los usuarios y la informacin que se enva por medio del sistema. El sistema de Mensajera, no solo se cre como una aplicacin, sino como un sistema integrado por varias aplicaciones como son la administracin de los usuarios por medio de una aplicacin web, el contener polticas de seguridad, en donde se incluye que solo persona autorizada podr realizar los cambios en el Sistema de Mensajera. La informacin se protege de usuarios y personas que no estn autorizadas a revisar la informacin y deseen hacer mal uso de dicha informacin como por ejemplo robo, extorcin o modificacin de la informacin para beneficio propio. Con el cifrado en el Sistema de Mensajera se garantiza la confidencialidad de la informacin entre dos usuarios y se asegura que la informacin que se enva es autentica, es decir que el receptor es realmente quien dice ser y que el contenido del mensaje enviado, no haya sido modificado durante el envi de los datos. Con el Cifrado Triple Des, las claves se deben proteger, en el Sistema de Mensajera se realiza, guardando las claves en el servidor de bases de datos, y estn claves son generadas de forma automtica y ninguno de los usuarios las conoce, ya que al momento de entrar al sistema y agregar contactos, estas claves son generadas de forma automtica en el sistema. La idea de desarrollar el sistema de mensajera cifrado para redes LAN, con la utilizacin de la plataforma .Net, radica en la portabilidad de las aplicaciones a diferentes sistemas operativos y aprovechar al mximo el soporte de cdigo que ofrece Microsoft para la elaboracin de programas, ya que en las especificaciones de cdigo utilizable, cuenta con una amplia lista de clases y mtodos orientados a la seguridad, de los cuales se tomo la decisin de utilizar aquellos en los que se implementan los cifrados simtricos como lo es el triple DES. 109
7.3 ALCANCES Y APORTACIONES DEL SISTEMA MENSAJERA CIFRADO PARA REDES LAN
Dentro de los alcances y aportaciones que el Sistema de Mensajera Cifrado para Redes LAN proporciona como un sistema seguro son: .Cada vez son ms los negocios que utilizan los Sistemas de Mensajera, debido a la obligada movilidad en el trabajo y la dispersin geogrfica de los negocios, por lo cual los trabajadores deben estar en constante comunicacin y el poder contar con un Sistema de Mensajera, reduce costos en cuanto a llamadas telefnicas, ya que solo necesitan conectarse a su propia Red y tendrn comunicacin con su rea de trabajo en una forma segura, sin la necesidad de utilizar Sistemas de Mensajera Pblicos, donde la informacin no cuenta con un proceso de cifrado. El Sistema de Mensajera cifrado utilizado en redes LAN, tiene como motivo incrementar la productividad y eficiencia de los empleados de forma segura, para que la soluciones de los problemas sean rpidos y tener interconectados a los usuarios de la red con una herramienta que les ayude a revisar e identificar problemas en un tiempo menor, que si lo realizaran con alguna otra herramienta. Con las medidas de seguridad implementadas por el sistema de mensajera nos permite que el sistema sea eficiente, fcil de usar y apropiadas al medio, por lo cual est orientado a cualquier tipo de usuario. Para cada uno de los usuarios se genera una clave diferente con cada uno de sus contactos, por lo cual por cada usuario se tiene claves diferentes, lo cual hace al sistema computacionalmente seguro, ya que el costo de romper el cifrado excede el valor de la informacin cifrada y el tiempo necesario para romper el cifrado, excede el tiempo de vida til de la informacin. Y aun realizando esfuerzos mediante fuerza bruta, se llguese a conocer una clave, para el atacante. 110
APENDICE A GLOSARIO DE TECNOLOGAS DE LA INFORMACIN
CONCEPTO DE MODELO OSI: Es el Modelo de Referencia de Interconexin de Sistemas Abiertos, conocido como Modelo OSI (Open System Interconnection), fue creado por la ISO (Organizacion Estndar Internacional) y en l pueden referenciarse diferentes dispositivos que reglamenta la ITU (Unin Internacional de Telecomunicaciones), con el fin de poner orden entre todos los sistemas y componentes requeridos en la transmisin de datos, y adems de simplificar la interrelacin entre fabricantes. As, todo dispositivo de cmputo y telecomunicaciones podr ser referenciado al modelo y por ende concebido como parte de un sistema interdependiente con caractersticas muy precisas en cada nivel. Esta idea da la pauta para comprender que el modelo OSI existe potencialmente en todo sistema de cmputo y telecomunicaciones, pero que solo cobra importancia al momento de concebir o llevar a cabo la transmisin de datos. El Modelo OSI cuenta con 7 capas o niveles: Capa 7: Nivel de Aplicacin: Le brinda aplicaciones a la interfaz. Por lo tanto, es el nivel ms cercano a los usuarios, administrado directamente por el software. Capa 6: Nivel de Presentacin: Define el formato de los datos que maneja la capa de aplicacin (su representacin y, potencialmente, su compresin y cifrado) independientemente del sistema. Capa 5: Nivel de Sesin: Define el inicio y la finalizacin de las sesiones de comunicacin entre los equipos de la red. Capa 4: Nivel de Transporte: Se encarga del transporte de datos, su divisin en paquetes y la administracin de potenciales errores de transmisin. 111
Capa 3: Nivel de Red: permite administrar las direcciones y el enrutamiento de datos, es decir, su ruta a travs de la red. Capa 2: Nivel de Enlace de Datos: define la interfaz con la tarjeta de interfaz de red y cmo se comparte el medio de transmisin. Capa 1: Nivel Fsico: define la manera en la que los datos se convierten fsicamente en seales digitales en los medios de comunicacin (pulsos elctricos, modulacin de luz, etc.).
PROTOCOLO TCP TCP (que significa Protocolo de Control de Transmisin) es uno de los principales protocolos de la capa de transporte del modelo TCP/IP. En el nivel de aplicacin, posibilita la administracin de datos que vienen del nivel ms bajo del modelo, o van hacia l, (es decir, el protocolo IP). Cuando se proporcionan los datos al protocolo IP, los agrupa en datagramas IP, fijando el campo del protocolo en 6 (para que sepa con anticipacin que el protocolo es TCP). TCP es un protocolo orientado a conexin, es decir, que permite que dos mquinas que estn comunicadas controlen el estado de la transmisin. Las principales caractersticas del protocolo TCP son las siguientes: TCP permite colocar los datagramas nuevamente en orden cuando vienen del protocolo IP. TCP permite que el monitoreo del flujo de los datos y as evita la saturacin de la red. TCP permite que los datos se formen en segmentos de longitud variada para "entregarlos" al protocolo IP. TCP permite multiplexar los datos, es decir, que la informacin que viene de diferentes fuentes (por ejemplo, aplicaciones) en la misma lnea pueda circular simultneamente. 112
Por ltimo, TCP permite comenzar y finalizar la comunicacin amablemente.
PROTOCOLO IP El protocolo IP es parte de la capa de Internet del conjunto de protocolos TCP/IP. Es uno de los protocolos de Internet ms importantes ya que permite el desarrollo y transporte de datagramas de IP (paquetes de datos), aunque sin garantizar su "entrega". En realidad, el protocolo IP procesa datagramas de IP de manera independiente al definir su representacin, ruta y envo. El protocolo IP determina el destinatario del mensaje mediante 3 campos: el campo de direccin IP: Direccin del equipo; el campo de mscara de subred: una mscara de subred le permite al protocolo IP establecer la parte de la direccin IP que se relaciona con la red; el campo de pasarela predeterminada: le permite al protocolo de Internet saber a qu equipo enviar un datagrama, si el equipo de destino no se encuentra en la red de rea local.
PROTOCOLO TCP-IP Es un conjunto de protocolos. La sigla TCP/IP significa "Protocolo de control de transmisin/Protocolo de Internet" y se pronuncia "T-C-P-I-P". Proviene de los nombres de dos protocolos importantes del conjunto de protocolos, es decir, del protocolo TCP y del protocolo IP. En algunos aspectos, TCP/IP representa todas las reglas de comunicacin para Internet y se basa en la nocin de direccin IP, es decir, en la idea de brindar una 113
direccin IP a cada equipo de la red para poder enrutar paquetes de datos. TCP- IP est diseado para cumplir con una cierta cantidad de criterios, entre ellos: Dividir mensajes en paquetes. Usar un sistema de direcciones. Enrutar datos por la red. Detectar errores en las transmisiones de datos. Para poder aplicar el modelo TCP/IP en cualquier equipo, es decir, independientemente del sistema operativo, el sistema de protocolos TCP/IP se ha dividido en diversos mdulos. Cada uno de stos realiza una tarea especfica. Adems, estos mdulos realizan sus tareas uno despus del otro en un orden especfico, es decir que existe un sistema estratificado. sta es la razn por la cual se habla de modelo de capas. El trmino capa se utiliza para reflejar el hecho de que los datos que viajan por la red atraviesan distintos niveles de protocolos. Por lo tanto, cada capa procesa sucesivamente los datos que circulan por la red, les agrega un elemento de informacin (llamado encabezado) y los enva a la capa siguiente. Las funciones de las diferentes capas son las siguientes: capa de acceso a la red: especifica la forma en la que los datos deben enrutarse, sea cual sea el tipo de red utilizado; capa de Internet: es responsable de proporcionar el paquete de datos (datagrama); capa de transporte: brinda los datos de enrutamiento, junto con los mecanismos que permiten conocer el estado de la transmisin; capa de aplicacin: incorpora aplicaciones de red estndar (Telnet, SMTP, FTP, etc. 114
RECOMENDACIN X.800 Es una recomendacin que describe las caractersticas bsicas que deben ser consideradas cuando se quiere conectar una computadora con otras, ya sea conectarse a Internet o a una Red de rea local, de forma segura. X.800 forma parte de la Unin Internacional de Telecomunicaciones, aprobaba el 22 de marzo de 1991 en Ginebra. El Comit Consultivo Internacional Telegrfico y Telefnico fue el responsable de su elaboracin. No es una especificacin de implementacin, sino una descripcin de los servicios de seguridad bsicos que pueden ser aplicados cuando es necesario proteger la comunicacin entre sistemas. La recomendacin define en que capa del Modelo de Interconexin de Sistemas Abiertos se puede aplicar cada servicio e incluye los mecanismos que pueden ser implementados para ofrecerlos, as como un captulo dedicado a la administracin de la seguridad.
SECTOR DE NORMALIZACIN DE LAS TELECOMUNICACIONES DE LA UIT El Sector de Normalizacin de las Telecomunicaciones de la UIT (UIT-T) es el rgano permanente de la Unin Internacional de Telecomunicaciones (UIT) que estudia los aspectos tcnicos, de explotacin y tarifarios y publica normativa sobre los mismos, con vista a la normalizacin de las telecomunicaciones a nivel mundial. Con sede en Ginebra (Suiza) fue conocido hasta 1992 como Comit Consultivo Telefnico y Telegrfico (CCITT). Las normas producidas por el UIT-T son conocidas como "Recomendaciones" (normalmente escrito en maysculas para distinguir su significado del sentido ordinario de la palabra recomendacin). Dado que el UIT-T es parte la UIT, la cual es un organismo de la Organizacin de las Naciones Unidas (ONU), sus normas gozan de mayor reconocimiento internacional que las que publican otras organizaciones tcnicas en forma similar. 115
El UIT-T divide su trabajo normativo en categoras, cada una de las cuales viene identificada por una letra que se conoce como serie. Las Recomendaciones estn numeradas dentro de cada serie, por ejemplo V.90. Las series de las Recomendaciones del UIT-T y el tema a que aplican son las siguientes: Serie A Organizacin del trabajo del UIT-T. Serie B Medios de expresin: definiciones, smbolos, clasificacin. Serie C Estadsticas generales de telecomunicaciones. Serie D Principios generales de tarificacin. Serie E Explotacin general de la red, servicio telefnico, explotacin del servicio y factores humanos. Serie F Servicios de telecomunicacin no telefnicos. Serie G Sistemas y medios de transmisin, sistemas y redes digitales Serie H Sistemas audiovisuales y multimedia. Serie I Red digital de servicios integrados (RDSI). Serie J Transmisiones de seales radiofnicas, de televisin y de otras seales multimedios. Serie K Proteccin contra las interferencias. Serie L Construccin, instalacin y proteccin de los cables y otros elementos de planta exterior. Serie M Red de Gestin de las Telecomunicaciones (RGT) y mantenimiento de redes: sistemas de transmisin, circuitos telefnicos, telegrafa, facsmil y circuitos arrendados internacionales. Serie N Mantenimiento: circuitos internacionales para transmisiones radiofnicas y de televisin. Serie O Especificaciones de los aparatos de medida. Serie P Calidad de transmisin telefnica, instalaciones telefnicas y redes locales. Serie Q Conmutacin y sealizacin. Serie R Transmisin telegrfica. 116
Serie S Equipos terminales para servicios de telegrafa. Serie T Terminales para servicios de telemtica. Serie U Conmutacin telegrfica. Serie V Comunicacin de datos por la red telefnica. Serie X Redes de datos y comunicacin entre sistemas abiertos y seguridad. Serie Y Infraestructura mundial de la informacin, aspectos del protocolo Internet y Redes de la prxima generacin. Serie Z Lenguajes y aspectos generales de soporte lgico para sistemas de telecomunicacin.
RFC
Request For Comments ("Peticin De Comentarios") son un conjunto de notas sobre Internet que comenzaron a publicarse en 1969.Se abrevian como RFC. Cada una de las listas, son un documento cuyo contenido es una propuesta oficial para un nuevo protocolo de la red Internet, que se explica con todo detalle para que en caso de ser aceptado pueda ser implementado. Cualquiera puede enviar una propuesta de RFC a la IETF Internet Engineering Task Force (Grupo de Trabajo en Ingeniera de Internet), pero es sta la que decide finalmente si el documento se convierte en una RFC o no. Si luego resulta lo suficientemente interesante, puede llegar a convertirse en un estndar de Internet. Cada RFC tiene un ttulo y un nmero asignado, que no puede repetirse ni eliminarse aunque el documento se quede obsoleto. 117
Cada protocolo de los que hoy existen en Internet tiene asociado un RFC que lo define, y posiblemente otros RFC adicionales que lo amplan. Por ejemplo el protocolo IP se detalla en el RFC 791, el FTP en el RFC 959, y el HTTP (escrito por Tim Berners-Lee, entre otros) el RFC 2616. Las RFC se redactan en ingls segn una estructura especfica y en formato de texto ASCII.
RFC 2828
Es el documento avalado IETF Internet Engineering Task Force (Grupo de Trabajo en Ingeniera de Internet), donde queda establecido como protocolos o conceptos de seguridad un glosario de seguridad de internet (Internet Security Glossary) documento que contiene la lista de informacin relacionada con la seguridad, mejor conocida como RFC 2828 (request for comments o peticin de comentarios en espaol).
ARQUIRECTURA DE SEGURIDAD OSI El documento de ISO que describe el Modelo de Referencia OSI, presenta en su Parte 2 una Arquitectura de Seguridad. Segn esta arquitectura, para proteger las comunicaciones de los usuarios en las redes, es necesario dotar a las mismas con servicios de seguridad.
INSTITUTO NACIONAL DE ESTNDARES Y TECNOLOGA El Instituto Nacional de Normas y Tecnologa (NIST por sus siglas en ingls, National Institute of Standards) es una agencia de la Administracin de Tecnologa 118
del Departamento de Comercio de los Estados Unidos. La misin de este instituto es promover la innovacin y la competencia industrial en Estados Unidos mediante avances en metrologa, normas y tecnologa de forma que mejoren la estabilidad econmica y la calidad de vida. Como parte de esta misin, los cientficos e ingenieros del NIST continuamente refinan la ciencia de la medicin (metrologa) creando una ingeniera precisa y una manufacturacin requerida para la mayora de los avances tecnolgicos actuales. Tambin estn directamente involucrados en el desarrollo y pruebas de normas hechos por el sector privado y agencias de gobierno. El NIST fue originalmente llamado Oficina Nacional de Normas (NBS por sus siglas en ingls), un nombre que tuvo desde 1901 hasta 1988. El progreso e innovacin tecnolgica de Estados Unidos dependen de las habilidades del NIST, especialmente si hablamos de cuatro reas: biotecnologa, nanotecnologa, tecnologas de la informacin y fabricacin avanzada. El NIST tuvo un presupuesto del ao fiscal 2006 de aproximadamente $ 930 millones de dlares, emple cerca de 2.800 cientficos, ingenieros, tcnicos y personal de administracin y soporte. Cerca de 1.800 asociados al NIST (investigadores e ingenieros invitados de compaas estadounidenses y extranjeras) complementaban el staff. Adems de 1.400 especialistas en manufactura como socios y cerca de 350 centros afiliados en todo el pas.
119
APENDICE B CODIGO FUENTE DEL CIFRADO TRIPLE DES EN C#
usi ng Syst em; usi ng Syst em. Col l ect i ons. Gener i c; usi ng Syst em. Text ;
usi ng Syst em. Secur i t y. Cr ypt ogr aphy; usi ng Syst em. I O;
usi ng Syst em. Wi ndows. For ms;
namespace Segur i dad { cl ass _DES {
publ i c byt e[ ] St r i ngToByt es( St r i ng cadena) { Syst em. Text . ASCI I Encodi ng codi f i cador = new Syst em. Text . ASCI I Encodi ng( ) ; r et ur n codi f i cador . Get Byt es( cadena) ; }
/ * publ i c st at i c byt e[ ] bt Cl ave; publ i c st at i c byt e[ ] bt I V; */
publ i c byt e[ ] bt Cl ave; publ i c byt e[ ] bt I V;
Symmet r i cAl gor i t hmsaCod;
publ i c st r i ng encr i pt ar ( st r i ng Mensaj e) { / * st r i ng cl ave = " 123456789012345678901234" ; st r i ng i v = " 12345678" ; */
/ / bt Cl ave = Encodi ng. Def aul t . Get Byt es( cl ave) ; / / bt I V = Encodi ng. Def aul t . Get Byt es( i v) ;
byt e[ ] MsgOr i g = Encodi ng. Def aul t . Get Byt es( Mensaj e) ;
t r y {
saCod = Symmet r i cAl gor i t hm. Cr eat e( " 3DES" ) ; saCod. Key = bt Cl ave; saCod. I V = bt I V;
I Cr ypt oTr ansf or mct = saCod. Cr eat eEncr ypt or ( ) ;
120
Memor ySt r eamms = new Memor ySt r eam( ) ; Cr ypt oSt r eamcs = new Cr ypt oSt r eam( ms, ct , Cr ypt oSt r eamMode. Wr i t e) ;
cs. Wr i t e( MsgOr i g, 0, MsgOr i g. Lengt h) ; cs. Fl ushFi nal Bl ock( ) ;
r et ur n Encodi ng. Def aul t . Get St r i ng( ms. ToAr r ay( ) ) ; } cat ch ( Except i on ex) { MessageBox. Show( ex. Message) ; }
r et ur n " " ; }
publ i c st r i ng desencr i pt ar ( st r i ng Mensaj e) { Symmet r i cAl gor i t hmsaDecod; saDecod = Symmet r i cAl gor i t hm. Cr eat e( " 3DES" ) ;
byt e[ ] MsgEncr i pt ado = Encodi ng. Def aul t . Get Byt es( Mensaj e) ;
t r y {
Memor ySt r eamms = new Memor ySt r eam( MsgEncr i pt ado) ; I Cr ypt oTr ansf or mct o = saDecod. Cr eat eDecr ypt or ( bt Cl ave, bt I V) ;
Memor ySt r eammso = new Memor ySt r eam( ) ; Cr ypt oSt r eamcso = new Cr ypt oSt r eam( mso, ct o, Cr ypt oSt r eamMode. Wr i t e) ;
cso. Wr i t e( ms. ToAr r ay( ) , 0, ms. ToAr r ay( ) . Lengt h) ; cso. Fl ushFi nal Bl ock( ) ;
r et ur n Encodi ng. Def aul t . Get St r i ng( mso. ToAr r ay( ) ) ; } cat ch ( Except i on ex) { MessageBox. Show( ex. Message) ; }
r et ur n " " ;
}
}
} 121
BIBLIOGRAFIA
Copyright IBM Corporation 1998, 2002. Gua del Usuario SAMETIME. http://201.245.175.165/sametime/STHelp/H_ADDING_A_PARTICIPANT_NAME_TO_CONNECT_4 611_OVER.html. (Documento Web). Adicin del nombre de un participante a la lista de contactos. IBM 2002. Copyright 2002 - 2008 - Zona Gratuita .COM. Criptografa. http://www.zonagratuita.com/servicios/seguridad/criptografia.html. (Documento Web). Sistemas de Cifrado Simtrico y Asimtrico. 2002-2008. Departamento de Arquitectura de Computadoras. Fundamentos de Sistemas Distribuidos.http://studies.ac.upc.edu/EPSC/FSD/FSD-ConceptosGenerales.pdf. Conceptos Generales de Sistemas Distribuidos. (Documento PDF). Universidad de Catalunya Espaa 2005. Derechos Reservados de Copyright 1999 - 2009 Masadelante.com. Qu es una Red LAN.? http://www.masadelante.com/faqs/lan. Definicin de LAN. (Documento Web). 2009 Espaa. Empresa IRCFAST. Seguridad y Encriptacin. http://www.ircfast.com/lv/group/view/kl28177/IMsecure.htm. Seguridad y Encriptacin. (Documento Web). Repblica Dominicana 2001. Enciclopedia Libre WIKIPEDIA. Autenticacin. http://es.wikipedia.org/wiki/Autenticaci%C3%B3n. Definicin y Mtodos de Autenticacin. (Documento Web). 19 de Septiembre del 2009. Enciclopedia Libre WIKIPEDIA. Base de Datos. http://es.wikipedia.org/wiki/Base_de_datos. Tipos de Bases de Datos. (Documento Web). O2 de Octubre del 2009. Enciclopedia Libre WIKIPEDIA. Instituto Nacional de Estndares y Tecnologa NIST. http://es.wikipedia.org/wiki/Instituto_Nacional_de_Est%C3%A1ndares_y_Tecnolog%C3%ADa. Instituto Nacional de Estndares y Tecnologa. (Documento Web). 15 de Junio del 2009. Enciclopedia Libre WIKIPEDIA. X.800.http://es.wikipedia.org/wiki/X.800. X.800. (Documento Web). 17 de Septiembre del 2009. Este documento intitulado Introduccin a la seguridad informtica de Kioskea (es.kioskea.net) esta puesto a deposicin bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible. Introduccin a la Seguridad Informtica 122
.http://es.kioskea.net/. (Documento Web). Como implementar una Poltica de Seguridad. 16 de Octubre del 2008.
Hernndez Emilio. Cursos con Enfoque Productivo. http: //www. ldc.usb.ve /~emilio /Portafolio/index.html. Desarrollo innovador y evolutivo de software. (Documento Web). Venezuela 2001. Ing. Nez Sandoval Alejandro. Taller de Desarrollo de Polticas de Seguridad. http://www.seguridad.unam.mx/eventos/admin-unam/politicas_seguridad.pdf. Mecanismos Bsicos de Seguridad para Redes de Computo. (Documento PDF). 8 de Diciembre del 2005. Garca Mndez Israel. Apuntes de Administracin de Bases de Datos. http://www.monografias.com/trabajos19/administracion-base-datos/administracion-base- datos.shtml. (Documento Web). Objetivos del Administrador de Bases de Datos. 2002. Licencia Creative Commons Compartir Igual 3.0. Sistema Distribuido. http://enciclopedia.us.es/index.php/Sistema_distribuido. Definicin de Sistema Distribuido. (Documento Web). 18 de Mayo del 2008 Espaa. Marqus Andrs Mara Mercedes. Planificacin, diseo y administracin de bases de datos.http://www3.uji.es/~mmarques/f47/apun/node77.html. Administracin de datos y de la base de datos. (Documento Web). 12 de Febrero del 2001. Licencia de Revista GS1. Boletn Informativo, GS1 Panam. http://www.gs1pa.org/boletin/2007/marzo/boletin-mar07-art2.html. (Documento Web). Gestin de la cadena de suministro: importancia de los sistemas de informacin .Marzo 2007, Ao 8 No. 3 Microsoft Corporation. Microsoft Exchange Server 2003 http://www.microsoft.com/spain/technet/recursos/articulos/exchange/introduccion.aspx. (Documento Web). Diseo de un sistema de mensajera de Exchange Server . 2003. Microsoft Espaa 2009. A. R. H Miguel. Estudio sobre la Seguridad en Internet, Privacidad y Transacciones Comerciales. http://www.geocities.com/CapeCanaveral/2566/seguri/sie7.htm. Los Servicios de Seguridad. (Documento Web). E.T.S.I.I. Universidad de Granada 1998 Muzquiz Pablo Ruiz.Libro Abierto y Apuntes de Redes y Sistemas de Comunicacin. (PDF) 2004. http://sindominio.net/metabolik/alephandria/txt/RSC-0_6_0.pdf. 15 de Abril del 2004. Hagens Ginoza Braden. RFC EDITOR. http://www.rfc-editor.org/. Overview of RFC Document Series. (Documento Web). 14 de Noviembre del 2008. 123
Rodrguez Enrquez Francisco. Introduccin a la Seguridad en Sistemas Informticos.http://delta.cs.cinvestav.mx/~francisco/ssi/intro.ppt. Seguridad en Sistemas Informticos. (Documento PowerPoint).CINVESTAV-IPN. Depto. de Ingeniera Elctrica . Seccin de Computacin. Derechos reservados de IESPAA.COM. El sitio de las Telecomunicaciones. http://elsitiodetelecomunicaciones.iespana.es/modelo_osi.htm. Modelo OSI. (Documento Web). 12 de Mayo del 2002. Villaln Huerta Antonio. Seguridad en Unix. http://www.ibiblio.org/pub/linux/docs/LuCaS/Manuales-LuCAS/doc-unixsec/unixsec- html/node310.html. (Documento Web). Criptoanlisis. Julio del 2002 Stanllings William.2004. Fundamentos de Seguridad en Redes, Aplicaciones y Estndares. Cruz Garca Laura y Gonzlez Rodrguez Manuel, traductores. Pearson Prentice Hall. Madrid Espaa. Marroqun Willy. Crear una biblioteca de cifrado DES, Triple DES, RC2 y Rijndael en .Net.http://www.willydev.net/descargas/prev/DeCifrado.PDF. (Documento PDF). Aplicacin de Cifrado DES con C#. 2003. Este documento intitulado Protocolo TCP de Kioskea (es.kioskea.net), esta puesto a disposicin bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible. Protocolo TCP. http://es.kioskea.net/contents/internet/tcp.php3. (Documento Web). Definicin de TCP. 16 de octubre de 2008. Este documento intitulado Protocolo IP de Kioskea (es.kioskea.net), esta puesto a disposicin bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible. Protocolo IP. http://es.kioskea.net/contents/internet/protip.php3. (Documento Web). Definicin de IP. 16 de octubre de 2008