Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 1 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 UNIDAD 4 PROCESO DE ENCRIPTACION Denominaremos como proceso de encriptación al sistema compuesto de las siguientes etapas (Criptosistema): MEDIO NO SEGUROTEXTO CLARO ALGORITMO DE CIFRADO TEXTO CIFRADO ALGORITMO DE DESCIFRADO TEXTO CIFRADO TRANSMISICION POR ALMACENAMIENTO EN TEXTO CLARO Cl av e d e Ci fra do K c Cl av e de D es c. Kd Al hacer referencia al término “texto claro” en realidad queremos describir todo tipo de información, no únicamente texto, es decir aquella que presenta un significado para cualquiera que pueda accederla. Por su parte al mencionar “texto cifrado” referimos información ilegible o ininterpretable para quien la acceda. Por otra parte se destaca la existencia de uno, o de dos, algoritmos de transformación de texto claro a texto cifrado, y al uso de claves para pasar de uno a otro y viceversa. Si la clave de cifrado es igual a la clave de descifrado (Kc = Kd ) el proceso de encriptación de denomina simétrico o de clave privada. En caso contrario (Kc ≠ Kd ) el proceso de encriptación se denomina asimétrico o de clave pública (Kc ). Surge además que la necesidad de aplicar un proceso de encriptación es imprescindible en aquellos casos en que nuestra información debe ser almacenada o transmitida por medios “NO SEGUROS”, entendiendo por tal aquellos de acceso público o compartido y cuando interesa salvaguardar de terceros el contenido de la misma. Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 2 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Criptografía Clásica Podemos llamar así a todos los sistemas de cifrado anteriores a la II Guerra Mundial, o lo que es lo mismo, al nacimiento de las computadoras. La transición desde la Criptografía clásica a la moderna se da precisamente durante la II Guerra Mundial, cuando el Servicio de Inteligencia aliado rompe la máquina de cifrado del ejército alemán, llamada ENIGMA. Todos los algoritmos criptográficos clásicos son simétricos, ya que hasta mediados de los años setenta no nació la Criptografía asimétrica. Algoritmos Clásicos de Cifrado Estudiaremos en esta sección algunos criptosistemas que en la actualidad han perdido su eficacia, debido a que son fácilmente criptoanalizables empleando cualquier computadora doméstica, pero que fueron empleados con éxito hasta principios del siglo XX. Algunos se remontan incluso, como el algoritmo de César, a la Roma Imperial. Sin embargo mantienen un interés teórico, ya que nos van a permitir explotar algunas de sus propiedades para entender mejor los algoritmos modernos. Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 3 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Cifrados Monoalfabéticos Se engloban dentro de este apartado todos los algoritmos criptográficos que, sin desordenar los símbolos del lenguaje, establecen una correspondencia única para todos ellos en todo el mensaje. Es decir, si al símbolo A le corresponde el símbolo D, esta correspondencia se mantiene a lo largo de todo el mensaje. Criptografía Clásica Algoritmo de César El algoritmo de César, llamado así porque es el que empleaba Julio César para enviar mensajes secretos, es uno de los algoritmos criptográficos más simples. Consiste en sumar, por ejemplo, 3 al número de orden de cada letra. De esta forma a la A le corresponde la D, a la B la E, y así sucesivamente. Si asignamos a cada letra un número (A = O,B = 1...), y consideramos un alfabeto de 26 letras, la transformación criptográfica seria: C= (M+3) mod 26 Obsérvese que este algoritmo ni siquiera posee clave, la transformación siempre es la misma. Sustitución Afin Es el caso general del algoritmo de Cesar. El cifrado afín es un tipo de cifrado que usa el mismo alfabeto para el texto plano que para el texto cifrado que utiliza una expresión matemática para determinar la posición en el alfabeto (según el orden normal) del carácter del texto cifrado asociado. En este cifrado la clave viene definida por dos valores numéricos a y b. Sea m el tamaño de alfabeto del texto plano. Para definir qué carácter del alfabeto sustituye a cada carácter se aplica la fórmula (ax+b) mod m, donde x es la posición del carácter al que le estamos buscando sustituto. El resultado se usa como índice en el orden predefinido del alfabeto. Por ejemplo con a=5 y b=15 y el alfabeto del castellano de m=27 letras. La a se conviertirá en (5*1+15) mod 27=20. Por tanto el carácter asociado será el que ocupa la posición 20, la s. Aplicando el mismo algoritmo podemos obtener que el texto cifrado de 'plantanuclear' es 'ntsdlspctmsb'. En el caso del cifrado César su transformación seria: Ek(M) = (aM+b) mod 26 siendo a y b dos números enteros menores que el cardinal N del alfabeto, y cumpliendo que rncd(a,N) = 1. La clave k es el par (a,b). Cifrado Monoalfabético General Es el caso más general de cifrado monoalfabétido. La sustitución ahora es arbitraria, siendo la clave k precisamente la tabla de sustitución de un símbolo por otro. Criptoanálisis de los Métodos de Cifrado Monoalfabéticos El cifrado monoalfabético constituye la familia de métodos más simple de criptoanalizar, puesto que las propiedades estadísticas del texto plano se conservan en el criptograma. Supongamos que, por ejemplo, la letra que más aparece en Castellano es la A. Parece lógico que la letra más frecuente en el texto codificado sea aquella que corresponde don la A. Emparejando las frecuencias relativas de aparición de cada símbolo en el mensaje cifrado con el histograma de Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 4 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 frecuencias del idioma en el que se supone está el texto plano, podremos averiguar fácilmente la clave. Cifrados Polialfabéticos En los cifrados polialfabéticos la sustitución aplicada a cada carácter varía en función de la posición de éste dentro del texto plano. En realidad corresponde a la aplicación cíclica de ii cifrados monoalfabéticos. Cifrado de Vigenere Es un ejemplo típico de cifrado polialfabético, cuya clave es una secuencia de letras K = {ko, k1, .. kdl} y que emplea la siguiente función de cifrado: Ek(mj) = m + k(~ mod d) (mod ii) siendo m el i-ésimo símbolo del texto plano y ii el cardinal del alfabeto de entrada. Criptoanálisis Para criptoanalizar este tipo de claves basta con efectuar D análisis estadísticos independientes agrupando los símbolos según la k~ empleada para codificarlos. Para estimar D, buscaremos la periodicidad de los patrones comunes que puedan aparecer en el texto cifrado. Obviamente, para el criptoanálisis, necesitaremos al menos D veces más cantidad de texto que con los métodos monoalfabéticos. Cifrados de Transposición Este tipo de mecanismos de cifrado no sustituye los símbolos por otros, sino que cambia su orden dentro del texto. Un mecanismo de transposición podría consistir en colocar el texto en una tabla de 71 columnas, y dar domo texto cifrado los símbolos de una columna (ordenados de arriba a abajo) concatenados con los de otra, etc. La clave serla el numero 71 y el orden en el que se leen las columnas. Por ejemplo, supongamos que queremos cifrar el texto “El perro de San Roque no tiene rabo”, con ii = 5 y la permutación {3,2,5,1, 4} como clave. Colocamos el texto en una tabla y obtenemos: 1 2 3 4 5 E L P E R R O D E S A N R O Q U E N O T I E N E R A B O Tendríamos como texto cifrado “ LEEPORDR S NEAORU QN EOEIETNARO B” . Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 5 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Criptoanálisis Este tipo de mecanismos de cifrado se puede criptoanalizar efectuando un estudio estadístico sobre la frecuencia de aparición de pares y tripletas de símbolos en el texto plano. Máquinas de Rotores. La Máquina ENIGMA. En el año 1923, un ingeniero alemán llamado Arthur Scherbius patentó una máquina específicamente diseñada para facilitar las comunicaciones seguras. Se trataba de un instrumento de apariencia simple, parecida a una máquina de escribir. Quien deseara codificar un mensaje solo tenía que teclearlo y las letras correspondientes al mensaje cifrado se irían iluminando en un panel. El destinatario copiaba dichas letras en su propia máquina y el mensaje original aparecía de nuevo. La clave la constituían las posiciones iniciales de tres tambores o rotores que el ingenio pósela en su parte frontal. Cifrado basado en funciones modulares Dados tres números a, b, θ ε N, decimos que a es congruente con b modulo θ, y se escribe: a b(mod θ ) Si se cumple: a = b + k θ k ε z Si la palabra clave es C L A V E 2 11 0 22 4 C L A V E C L A V E C L A V E C L A V E C L Ө 2 11 0 22 4 2 14 15 6 41 23 22 Ñ O G Ñ W V…… 41 mod 27 = 41 – 27 = 14 Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 6 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Otra Tabla de equivalencia Numerica Encriptemos MAYO Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 7 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 SOBRE CRIPTOSISTEMAS DE CURVA ELIPTICA La Criptografía de Curva Elíptica (del inglés: Elliptic curve cryptography, ECC) es una variante de la criptografía asimétrica o de clave pública basada en las matemáticas de las curvas elípticas. Sus autores argumentan que la CCE puede ser más rápida y usar claves más cortas que los métodos antiguos — como RSA — al tiempo que proporcionan un nivel de seguridad equivalente. La utilización de curvas elípticas en criptografía fue propuesta de forma independiente por Neal Koblitz y Victor Miller en 1985. La principal ventaja de la criptografía de curva elíptica es la posibilidad de crear claves más pequeñas, reduciendo así requisitos de almacenamiento y transmisión. Una clave basada en la criptografía de curva elíptica puede dar el mismo nivel de seguridad con un clave de 256 bits como un algoritmo RSA con una clave de 2048 bits. El protocolo Bitcoin utiliza el algoritmo ECDSA (Elliptic Curve Digital Signature Algorithm) para la creación de claves privadas y públicas. ECDSA es una variante del Digital Signature Algorithm (DSA) que utiliza la criptografía de curva elíptica (Elliptic curve cryptography – ECC) como variante de la criptografía asimétrica o de clave pública. Uno de los problemas más importantes al que se tenía que enfrentar Satoshi Nakamoto cuando creó el protocolo Bitcoin fue la distribución de las claves públicas. Era importante poder utilizar claves públicas cortas, pero seguras que se pudieran compartir en códigos QR, imprimir en dispositivos físicos y compartir por teléfono si hacía falta. Los cifrados más actuales hacen uso intensivo de estos métodos básicos de cifrado para obtener algoritmos más sofisticados. Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 8 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Seguridad de un Criptosistema Frente a lo que naturalmente parecería sugerir un proceso de encriptación, la seguridad no esta directamente relacionada con la complejidad del algoritmo, sino con la baja probabilidad de obtener en un tiempo operativo valido y mediante métodos de criptoanálisis de búsqueda exhaustiva, la clave de cifrado y/o descrifrado del criptosistema. Donde cabe aclarar que tiempo operativo valido, representa un tiempo cercano, de nada me sirve que yo encuentre, si o si, por búsqueda exhaustiva, en la jerga “fuerza bruta”, es decir probando todas las claves posibles, una clave en 2000 años. Cualquier método de cifrado por complejo que sea, si no se protege adecuadamente las claves, pierde su robustez. Además cuando hablamos de métodos de cifrado estándar, estamos hablando de cifrado de dominio público para poder garantizar la estandarización. Algoritmo DES - DES (Data Encrytion Standart): El 15 de mayo de 1973, el NBS (National Bureau of Standars, en castellano: Agencia Nacional de Normalización) hoy en día denominada NIST (National Institute of Standars and Technology, en castellano: Instituto Nacional de Normalización y Tecnología), hizo un llamamiento en el Federal Register para la creación de un algoritmo de cifrado que cumpliera con los siguientes requisitos: ofrecer un alto nivel de seguridad relacionado con una pequeña clave utilizada para cifrado y descifrado ser comprensible no depender de la confidencialidad del algoritmo ser adaptable y económico ser eficaz y exportable A finales de 1974, IBM propuso "Lucifer", que gracias a la NSA (National Standard Agency, en castellano: Agencia Nacional de Seguridad) fue modificado el 23 de noviembre de 1976, convirtiéndose en DES (Data Encryption Standard, en castellano: Estándar de Cifrado de Datos). El DES fue aprobado por el NBS en 1978. El DES fue estandarizado por el ANSI (American National Standard Institute, en castellano: Instituto Nacional Americano de Normalización) bajo el nombre de ANSI X3.92, más conocido como DEA (Data Encrytion Algorithm, en castellano: Algoritmo de Cifrado de Datos). Principio de funcionamiento del DES Se trata de un sistema de cifrado simétrico por bloques de 64 bits, de los que 8 bits (un byte) se utilizan como control de paridad (para la verificación de la integridad de la clave). Cada uno de los bits de la clave de paridad (1 cada 8 bits) se utiliza para controlar uno de los bytes de la clave por paridad impar, es decir, que cada uno de los bits de paridad se ajusta para que tenga un número impar de "1" dentro del byte al que pertenece. Por lo tanto, la clave tiene una longitud "útil" de 56 bits, es decir, realmente sólo se utilizan 56 bits en el algoritmo. Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 9 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 El algoritmo se encarga de realizar combinaciones, sustituciones y permutaciones entre el texto a cifrar y la clave, asegurándose al mismo tiempo de que las operaciones puedan realizarse en ambas direcciones (para el descifrado). La combinación entre sustituciones y permutaciones se llama cifrado del producto. La clave es codificada en 64 bits y se compone de 16 bloques de 4 bits, generalmente anotadas de k1 a k16. Dado que "solamente" 56 bits sirven para el cifrado, ¡puede haber hasta 256 (o 7.2*1016) claves diferentes! Las partes principalesdel algoritmo son las siguientes: fraccionamiento del texto en bloques de 64 bits (8 bytes), permutación inicial de los bloques, partición de los bloques en dos partes: izquierda y derecha, denominadas L y R (LEFT – RIGHT) respectivamente, fases de permutación y de sustitución repetidas 16 veces (denominadas rondas), reconexión de las partes izquierda y derecha, seguida de la permutación inicial inversa. TRIPLE DES (T-DES; 3DES) Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 10 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Se necesitan tres claves de 64 bits, para una longitud total de clave de 192 bits. Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 11 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 En 1978 apareció el algoritmo de clave pública creado por Rivest, Shamir y Adelman (de aquí el nombre RSA). Este algoritmo todavía se usaba en 2002 para proteger los códigos de las armas nucleares de Estados Unidos y Rusia. Para generar un par de claves (KP ; Kp), en primer lugar se eligen aleatoriamente dos números primos grandes, p y q (de unas 200 cifras cada uno, por ejemplo). Después se calcula el producto n = p.q Escogeremos ahora un número e primo relativo con (p-1) y con (q-1). Este par de números (e,n) pueden ser conocidos por cualquiera, y constituyen la llamada clave pública e por tanto debe tener un inverso módulo (p-1)(q-1), al que llamamos d. Por supuesto se cumple que ed ≡ 1 mod((p-1)(q-1)), que es lo mismo que decir que ed = 1+k (p-1)(q-1) para algún entero k. La clave privada será el par (d,n). Este número d debe mantenerse secreto y sólo será conocido por el propietario del par de claves. (2) Cifrado del mensaje con la clave pública Hay que hacer notar que con este algoritmo los mensajes que se cifran y descifran son números enteros de tamaño menor que n, no letras sueltas como en el caso de los cifrados César o Vigènere. El uso de RSA en la seguridad de la información El criptosistema RSA permite no sólo garantizar la confidencialidad de la comunicación entre dos partes, cifrando en origen el mensaje que se va a transmitir por un canal inseguro y descifrándolo en recepción, sino que también proporciona otros servicios o funciones de seguridad Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 12 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 de la información, como son la autenticación de origen , la integridad o el no-repudio (mediante la firma digital). Veamos cómo se emplearía RSA para garantizar estos servicios. En una comunicación entre dos partes A y B, cada una de ellas generará antes de empezar su propio par de claves (pública, privada). Así A tendrá el par (KPA,kpA) y B su par (KPB,kpB), donde KP son las claves públicas que son conocidas por las dos partes, y kp las privadas, que cada parte guarda la suya en secreto y no será conocida por la otra parte. Recordar que KPA=(eA,nA) y kpA=(dA,nA). Lo mismo para el par de claves de B. CIFRADO Suponemos que A quiere enviar un mensaje M confidencialmente a B a través de un medio de transmisión inseguro. Estos son los pasos que tiene que seguir: Obtiene la clave pública del destinatario B, (eB,nB) Representa el texto en claro que quiere transmitir como un entero positivo M < n Computa el mensaje cifrado: C = (M)eB mod nB Finalmente transmite el criptomensaje C por el canal inseguro DESCIFRADO Cuando B reciba el mensaje cifrado C, hace lo siguiente: Usa su clave privada (dB, nB) para computar M = (C)dB mod nB Recupera el texto original a partir de su entero representante M FIRMA DIGITAL Supongamos que A quiere enviar un mensaje a B. Este mensaje puede ir cifrado o no, pero A está interesado en "firmar" el mensaje de forma que B pueda estar seguro que el mensaje que le llega ha sido originado por A y no por ninguna otra entidad. Los pasos que A seguirá son: 1. Crea un resumen (digest)* del mensaje que quiere enviar, utilizando una función hash* 2. Representa este resumen como un entero M entre 0 y n-1 3. Usa su propia clave privada (dA,nA) para computar la firma S= (M)dA mod nA 4. Envía esa firma S al receptor B conjuntamente con el mensaje original (que puede ir cifrado o no, según se quiera). Evidentemente, la firma S no podrá ser manipulada por nadie una vez generada, porque si se cambia un sólo bit de la firma fallaría la verificación de ésta en destino. VERIFICACIÓN DE FIRMA DIGITAL Cuando B recibe la firma S y el mensaje de A, sigue estos pasos: 1. Utiliza la clave publica del remitente A para computar V = (S)eA mod nA 2. Del entero V obtiene el resumen r del mensaje tal y como fue computado por A 3. Paralelamente, computa un resumen r' del mensaje que le ha llegado utilizando la función hash correspondiente 4. Si ambos resúmenes r y r' coinciden, entonces queda verificada la firma. Entonces puede asegurarse que el mensaje solo ha podido ser originado por A y además el Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 13 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 mensaje ha llegado íntegramente (sin ver alterado su contenido durante la transmisión por el canal inseguro) hasta B. Con la firma digital puede por tanto garantizarse la autenticación del origen, la integridad del mensaje y también el no-repudio en origen, puesto que si B ha podido recuperar el resumen r del mensaje utilizando la clave pública de A, la firma recibida junto con el mensaje sólo puede haber sido generada con la clave privada secreta de A. Funciones hash o resumen Para la autenticación de mensajes largos, se utilizan las llamadas funciones hash o resumen. Estas funciones permiten obtener resúmenes (digests) de tamaño fijo a partir de diferentes mensajes muy largos, con la propiedad de que cada mensaje dará lugar a un resumen diferente al de los otros mensajes. De esta forma, en lugar de por ejemplo firmar mediante el algoritmo RSA un mensaje que puede ocupar varias páginas, lo que se firma (cifrándolo con la clave privada del emisor) es un número resumen del mensaje, que equivale al mensaje completo. Una función resumen r(m) para aplicarla a un mensaje m, ha de cumplir las siguientes propiedades: r(m) es de longitud fija, independientemente de la longitud de m, y normalmente más pequeña que la longitud del mensaje. Dado m, es fácil calcular r(m). Dado r(m), es computacionalmente intratable recuperar m. Por eso a las funciones hash también se las conoce como funciones unidireccionales. Su operación no es reversible. Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 14 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Dado m, es computacionalmente intratable obtener otro mensaje m0 tal que r(m) = r(m0). De esta forma, sabemos que para un valor r(m) solo puede corresponderle un m que lo haya generado. En general, las funciones resumen se basan en funciones análogas a los algoritmos de compresión de información, que dan como resultado bloques de longitud n a partir de bloques de longitud mayor m. Ejemplos de funciones resumen usadas en criptografía son los algoritmos MD5, y el más seguro SHA-1 empleados ambos hoy en las firmas digitales. Criptografía de Curva Elíptica En criptografía se habla de curvaelíptica en referencia a una ecuación y²=x³+Ax+B que cumple 4A³+27B²≠0. Dando diferentes valores a A y B obtenemos todo un conjunto de curvas que, al ser dibujadas, ofrecen una forma similar. Son ejemplos de curvas elípticas y²=x³-x (izquierda) y y²=x³-x+1. Las curvas elípticas tienen ciertas características que las hacen especiales en el mundo de la criptografía. Una de estas características consiste en la posibilidad de poder generar un punto en una curva partiendo de dos puntos dados (o incluso de uno). Este concepto es muy fácil de entender partiendo de la figura siguiente. Usamos como puntos de partida P y Q, dos puntos conocidos. Trazaremos una línea entre P y Q. Si la línea corta la curva en un tercer punto, lo reflejaremos a través del eje, dando lugar a un nuevo punto R. Esta operación se representa como R=P+Q. En caso de que la linea que pasa por P y Q no corte a la curva en Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 15 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 ningún otro punto, diremos que corta la curva en un punto O en el infinito y representaremos esta operación como P+Q=O. Partiendo de la suma, no es difícil encontrar un mecanismo que nos permita realizar multiplicaciones de tipo kP, siendo k un escalar. Por ejemplo, imaginemos que queremos realizar la operación 13P, es decir, multiplicar 13 por un punto P. Bastaría con realizar la siguiente secuencia de doblado de puntos: P, 2P=P+P, 4P=2P+2P, 8P=4P+4P, 13P=8P+4P+P Este simple mecanismo para generar nuevos puntos dota a una curva elíptica de la posibilidad de realizar operaciones aritméticas sobre ella, base de los criptosistemas. En criptografía las curvas elípticas se usan sobre campos finitos (Fq) con q muy grande. Un ejemplo de campo finito podría ser F5={0,1,2,3,4}. De manera que el número 7 representado en el campo finito correspondería a 7 mod 5 = 2. Cuando se usan campos finitos el número de puntos que hay en una curva también es finito. Este número se llama orden de la curva y se representa como #E. Debemos diferenciarlo del orden de un punto, que se refiere al valor k más pequeño (diferente de 0) que multiplicado por P da O. Concepto de Esteganografia A diferencia de la Criptografía, la Esteganografia, "Stéganos" (Encubrir) y "Grafos" (Escribir), es ocultar la información dentro de otra. La información contenida se le llama Etimógrafa2 (Del gr. etymon, sentido verdadero. Y del gr. grapho que significa escribir. Luego entonces Etimografia es parte de la Estenografía que se dedica de la información verdadera que se quiere ocultar) y la conteniente se le llama Hidégrafa3 (Del griego hide, que significa señuelo, camuflar, mimetizar y grapho que significa escribir. Luego entonces, La hidegrafia es la parte de la Esteganografia que se encarga en mimetizar la información verdadera de modo que esta pase desapercibida). Podríamos afirmar que la diferencia entre Criptografía y Esteganografia, es que la primera no esconde la información sino el mensaje de la misma, mientras la Esteganografia esconde la información y no el contenido de esta Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 16 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Existen tres tendencias de diseño de sistemas esteganográficos: a) Estegosistemas de clave simétrica Es el esquema de estegosistema más común. Emisor y receptor comparten una clave secreta (estegoclave) y toda la seguridad del sistema se aposenta en ella. Lo normal es que el algoritmo esteganográfico y el tipo de tapadera utilizado sean públicos. De la clave del sistema, estegoclave, suelen derivarse subclaves que se utilizan para cifrar la información a ocultar y tiene utilidad en el proceso de ocultación. Por ejemplo, si el algoritmo esteganográfico modifica elementos de un portador de manera pseudoaleatoria, es común, que subclaves derivadas de la estegoclave primaria alimenten un generador de números pseudoaleatorios del cual se obtienen las posiciones de los elementos concretos a modificar. b) Estegosistemas de clave pública Son aquellos sistemas que requieren el uso de dos claves. Una clave pública para el proceso de ocultación y una clave privada para obtener el mensaje oculto. c) Estegosistemas cuánticos Estos sistemas aprovechan los conocimientos sobre física cuántica para diseñar sistemas que faciliten la ocultación de información. Existen varias formas de realizar esto, por ejemplo, aprovechándose del ruido cuántico o de los códigos correctores de errores cuánticos. Ideas parecidas se han utilizado en las últimas décadas para establecer comunicaciones enmascaradas utilizando diversas características de la naturaleza (comunicaciones atmosféricas con ciertas peculiaridades, ruido ambiente, etc.). Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 17 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Manejo de Claves En la lengua inglesa se tienen dos denominaciones distintivas para las contraseñas: password (palabra de acceso) y pass code (código de acceso), donde la primera no implica necesariamente usar alguna palabra existente (sin embargo, es normal emplear alguna palabra familiar o de fácil memorización por parte del usuario), la primera suele asociarse también al uso de códigos alfanuméricos (también llamado PIT - Personal Identification Text), mientras que la segunda frecuentemente se liga a la utilización de algún código numérico (asimismo llamado PIN - Personal Identification Number). Esto ocurre igualmente en el habla española, ya que en ocasiones clave y contraseña se usan indistintamente. Clave, llave, contraseña... La llave es una llave material, el utensilio de metal con el que se abre o cierra una puerta al introducirla en una cerradura y girarla. Si en el portal de tu casa tienes un buzón para el correo, entonces puedes decir : ·esta es la llave del buzón de correo". Clave y contraseña no son materiales, suelen ser un nombre o una palabra o una combinación de números... La Contraseña es como la llave virtual para entrar en tu buzón de correo de internet, o para entrar en tu cuenta de lang-8... La Clave generalmente es un concepto más amplio que comprende el nombre de usuario y la contraseña. Entropía: Medida de la incertidumbre existente ante un conjunto de mensajes, de los cuales se va a recibir uno solo. (RAE) Cantidad media ponderada de la cantidad de información transportada en un mensaje de la fuente M. Promedio de la cantidad de información que es previsible ganar tras la aparición de un mensaje de la fuente M, no conocido a priori. A mayor entropía, mayor incertidumbre sobre M. Entropía cero = incertidumbre cero = p(mi)=1 para algún i. La Seguridad de una contraseña aumenta con la Entropía.- Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 18 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 Esencialmente hay tres formas de atacar los esquemas de protección utilizados en los Sistemas Informáticos Adivinar la clave de acceso. Localizar la clave de acceso. Forzar la técnica de cifrado. Las defensas posibles ante estos ataques son: Seleccionar claves “difíciles”. Tratar con cuidado las claves (anotaciones). Utilizar técnicas de cifrado probadas. Se puede ver como estas defensas están relacionadascon las tres preguntas hechas anteriormente: A) Qué constituye una buena clave de acceso? B) Cómo seleccionar y recordar las claves? C) Cómo funciona la protección con clave de acceso? Hasta el momento este capítulo se ha centrado en la última de estas preguntas. Ahora es el momento de pasar a las dos primeras. Selección y administración de claves de acceso Una vez que se ha visto cómo funciona la protección con clave de acceso, se sabe que una de las principales debilidades es el uso de la clave *débiles+, es decir, aquellas que son fáciles de Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 19 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 adivinar. Toda la fortaleza de la tecnología de cifrado más compleja queda sin utilidad si se puede obtener la clave de acceso. Claves débiles No tiene sentido utilizar la clave si ésta es “abretesesamo” o “clave” o los cuatro últimos dígitos del número de teléfono de casa. Aunque estas claves muy usadas pueden desanimar a un usuario sin experiencia que se encuentra de pronto con un archivo protegido, hay pocas posibilidades de que presenten problemas para un intruso con experiencia y determinación. Si se conoce a las personas correctas, se pueden comprar amplias vistas de claves de acceso habitualmente usadas, compiladas por piratas con experiencias. Consideremos el caso del famoso programa gusano de Internet creado por Robert Morris Jr., hijo de un oficial de la NSA. Este programa pudo acceder sin autorización a miles de potentes computadoras conectadas en una red mundial. Cuando el programa intentaba pasar de un sistema a otro, éste se encontraba con peticiones de claves de acceso diseñadas para mantener alejados a usuarios no autorizados para sobrepasar este control de acceso el programa contaba con un módulo de clave de acceso, el cual incluía unas 400 claves muy usadas que probaba de forma sistemática, una tras otra. En una cantidad alarmante de casos la clave correcta estaba dentro de la lista. Localización de la clave Hay una clara relación entre la facilidad con que se puede recordar una clave y la facilidad con que se puede adivinar. Esta relación supone un dilema para los bancos que ofrecen cajeros automáticos que utilizan números de identificación personal (NIP). El dilema se pude formular de la siguiente forma: si el banco le permite a sus clientes seleccionar el número, éste seleccionará un número que sea fácil de recordar lo que puede facilitar que alguien que robe la tarjeta lo adivine; si el banco asigna un número aleatorio al cliente, a éste le será más fácil recordarlo, aunque probablemente le sea más difícil adivinarlo al usuario no autorizado. Por supuesto, se puede hacer todo tipo de digresiones sobre esto. Cuando los usuarios tienen que recordar un número sin sentido, algunos usuarios lo escriben y lo mantienen a mano, un regalo para el ladrón que consigue a la vez la tarjeta y el número anotado sin cuidado. Por otro lado permitirle a los usuarios seleccionar un número que un usuario no autorizado va a adivinar. La relación entre la facilidad para recordarlo y la facilidad para adivinarlo afecta a la selección de claves de acceso. Selección de claves difíciles La clave ideal es fácil de recordar y difícil de adivinar. Con el objetivo de obtener esta clave, es necesario observar que es lo que hace que una clave sea difícil de adivinar. Consideremos los siguientes criterios: 1. No debe de haber conexión lógica entre la clave y el usuario. 2. No debe de haber conexión lógica entre la clave y el contenido del archivo. 3. No debe de haber una relación visible entre la clave y la fecha del archivo. 4. La clave debería de incluir una mezcla de caracteres, tanto mayúscula como minúscula, además de números y símbolos de puntuación y especial. 5. La clave no debe de ser *palabra+. Al cumplir los tres primeros criterios disminuye la posibilidad de que un atacante que conozca el tema del que trata el archivo, o cuando se creo y/o quien lo hizo, pueda utilizar esta información para adivinar la clave. Los dos últimos criterios aseguran que al intruso no le bastara con probar una serie de palabras. Por ejemplo, una clave como PASS&6873 es mucho más oscura que PASS o Pass. Utilizados sin letras, números aleatorios de al menos cuatro dígitos de longitud suponen una clave Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 20 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 aceptablemente oscura (1.000.000 de combinaciones posibles con cuatro dígitos de 0 a 9). Sin embargo, igual que hay palabras claves poco fiables, hay números poco fiables, como 1234, 1111, 2222, 0101, etc. Los números que se pueden deducir, como son los cumpleaños, partes del número telefónico, números del documento nacional de identificación o de la cartilla de la Seguridad Social, se deben evitar, a menos que se transformen o se usen en conjunción con texto aleatorio. La capacidad de un sistema de cifrado de utilizar los caracteres de puntuación y *especiales+ es un elemento valorable. Por ejemplo, hay 256 caracteres ASCII, de los que solo 62 son letras (mayúsculas y minúsculas) y números. Quedan otros 194 caracteres. No todos los sistemas de cifrado reconocen los códigos ASCII como caracteres válidos, aunque muchos lo hacen. Esto permite utilizar claves de acceso como la cara feliz del código ASCII 1. Los códigos ASCII que reconocen un sistema de clave de acceso de deben describir en las especificaciones o manuales del programa, y se deben de probar. Una frase como ' Nuevamente aquí ' es fácil de recordar y no es difícil de escribir. Sin embargo, es bastante difícil adivinarla porque tiene 15 caracteres, la longitud máxima para algunos esquemas con clave. Sin embargo, igual que se ha de evitar que las frases hechas y los juegos de palabra. De nuevo, añadiendo números y otros caracteres se fortalece la clave de acceso, como con “Chinatown,1975.” Sistemas de selección A los usuarios que deban introducir una gran cantidad de claves de accesos, puede que les interese fijar un sistema de selección de claves. Un método simple pero efectivo para un usuario aislado es utilizar las palabras de una página concreta de un libro. Esto permite identificar la palabra que hay en el nombre del archivo sin revelárselo a otros que no conozcan el sistema. Por ejemplo, muchas personas tienen a mano un diccionario en su mesa de trabajo. Con este sistema se seleccionan una página al azar y se utiliza la primera palabra de la pagina. Supongamos que se ha elegido la pagina 67 y la primera palabra es cataclismo. Para el primer archivo que haya que cifrar se utilizaría como clave de acceso 67cataclismo01. El nombre del archivo debe de contener 671 como un código para recordar la palabra, como en BENTA671.WK1. El código no tiene utilidad sin la propia palabra. El segundo archivo podría ser utilizar la segunda palabra de la página, por ejemplo catacumba, siendo 67catacumba02, utilizando 672 con el archivo como código. Siguiendo este sistema se puede disponer de una amplia fuente de claves de acceso, que se pueden volver a recordar sin problemas. Gestión continuada de un sistema de clave de acceso Una vez que ha pasado por el trabajo y los gastos que suponen establecer un sistema de clave de acceso querrá estar seguro de que no se instaura simplemente y se deja correr a su aire. Los sistemas de claves de acceso pierden rápidamente su efectividad si no se refuerzan, mantienen Puede hacer su contraseña mucho más difícil de romper utilizando más caracteres, mezclando letras mayúsculas y minúsculas, e incluyendo númerosy caracteres especiales. De acuerdo con una guía de seguridad de la Fundación de Investigación de la Universidad de Texas A&M, una contraseña de seis caracteres, con letras de un solo tipo, tiene 308 millones de combinaciones posibles, todas las cuales pueden ser encontradas por una herramienta para romper contraseñas (password cracker) en tan solo unos minutos. Combinar letras mayúsculas y minúsculas, y utilizando ocho caracteres en lugar de seis aumenta las posibles combinaciones a 53 billones; sustituir una de las letras por un número da 218 billones de posibilidades; y sustituir otras por un carácter especial o un signo de puntuación entrega 6.095 billones de posibles combinaciones. Aunque una herramienta para romper contraseñas puede pasar a través de toda esa cantidad de combinaciones eventualmente, se requiere mucho más tiempo y potencia de cálculo. A la gente le gusta utilizar contraseñas que les sean fáciles de recordar. Un artículo de Microsoft sobre seguridad sugiere que utilice una frase memorable, en lugar de una palabra, y convierta esa frase en una contraseña. Por ejemplo, la frase: “¡Tengo 2 perros labradores! Fido y Spot”, podría expresarse como ¡T2pL!F+S. Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 21 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 y monitorizan. Los siguientes puntos pueden ser de interés cuando se haga una comprobación de los sistemas de seguridad con clave de acceso: Asegúrese de que los empleados han recibido la formación adecuada sobre la selección de claves de acceso y las reglas relativas como la de una longitud mínima. Desarrolle una lista de claves de acceso prohibidas para cruzarlas con las que estén en uso. Actualice la lista de forma regular, y realice el cruce según períodos aleatorios. Compruebe que existe un procedimiento para cancelar rápidamente las claves de acceso de las personas que se marchan de la organización. Compruebe que se cumple el procedimiento, eliminando todas las claves redundantes. Compruebe que se modifica la clave de acceso de un empleado que pasa de un departamento a otro. Si el sistema de clave de acceso no posee el requisito de una longitud de clave de acceso mínima, verifique la longitud de las claves que se estén usando. Algunos sistemas de clave de acceso se pueden activar desde macros o secuencias de conexión, lo que significa que la clave de acceso puede estar en un archivo que no esté protegido. Compruebe que los usuarios están utilizando dicho sistema y compruebe que es seguro. Guarde un registro de las claves de acceso utilizadas previamente por los usuarios, listado por nombre de empleado. Compruebe que dispone de una lista actualizada y fiable de usuarios autorizados. Si los usuarios tienen dificultades en recordar sus claves de acceso, compruebe la seguridad de los procesos de asignación de nuevas claves y muéstreles a los empleados métodos seguros para recordar las claves. Monitorice el número de intentos ilegales de acceder a los archivos y tenga en cuenta cualquier aumento. Compare las claves utilizadas por los empleados de un mismo departamento. Asegúrese de que nadie utiliza la misma clave de acceso. El error Heartbleed ha dejado en evidencia el problema de la inseguridad de las claves de internet. Varias empresas de tecnología están instando a los usuarios a cambiar sus claves, sobre todo las del correo electrónico, almacenamiento de archivos y banca electrónica. Cerca de 50.000 sitios únicos logran suplantar contraseñas cada mes, lo que lleva a robos en línea por un total estimado de US$ 1.500 millones cada año. FACIL DE RECORDAR Y ROBAR Las personas también tienden a elegir contraseñas fáciles de recordar. Es decir, fáciles de adivinar. De los 32 millones de contraseñas reveladas durante una violación de seguridad, más de 290.000 resultaron ser ‘123456’, de acuerdo con Imperva, una empresa de seguridad de California. Una contraseña que contiene seis letras minúsculas puede ser interceptada en sólo una fracción de segundo. Pero una más larga y compleja, con 11 letras mayúsculas y minúsculas al azar, números y caracteres especiales, podría tomar cientos de años. La regla de las contraseñas es simple: cuanto más compleja, más segura. Pero esperar que la gente recuerde combinaciones ¿Qué es «Heartbleed»? «HeartBleed» es un «bug» que puede capturar información sensible y desencriptarla. El fallo fue localizado por ingenieros de Google y de la empresa de ciberseguridad Codenomicon en el año 2012 y conjuntamente con los responsables de OpenSSL -una forma que tienen las web de gestionar y encriptar las contraseñas y otra información privada- dieron a conocer el problema al tiempo que publicaron una actualización que lo soluciona. La vulnerabilidad se remonta a la versión OpenSSL 1.0.1 lanzada el 14 de marzo de 2012 y afecta también a la versión 1.0.1f y afectaba a dos tercios de todo internet. Cátedra: SEGURIDAD INFORMATICA – Ing Corbella Ricardo – Ing Zakhour Jose – Ing Arias Jorge 22 UNIVERSIDAD TECNOLOGICA NACIONAL- FACULTAD REGIONAL TUCUMAN INGENIERIA EN SISTEMAS DE INFORMACION -2014 largas y sin sentido, no es realista. El problema es que las personas simplemente tienen demasiadas contraseñas que recordar, dice Michael Barrett, jefe de seguridad de la información de PayPal. “Cuando hablé con los consumidores hace 10 años, me decían que tenían cuatro o cinco nombres de usuario y contraseñas para recordar. Ahora me dicen que tienen 35 de esas malditas claves”, dice Barrett. Un adulto típico entre 25 y 34 años de edad tiene 40 cuentas en línea, según un estudio de 2012. Algunas compañías están agregando datos biométricos como segundo factor de autenticación, aprovechando las cámaras y micrófonos en los teléfonos inteligentes para realizar un reconocimiento de cara o de voz, incluso exploraciones de iris. Sin embargo, los datos biométricos tienen sus propios problemas. A diferencia de las contraseñas, que se pueden cambiar, las impresiones de rostro y voz no. Si los cibercriminales logran entrar a un sitio y robar información biométrica, esta podría ser usada para siempre para entrar en otras cuentas que dependen de la autenticación biométrica. En todo caso, esto es poco probable, porque los datos de huellas dactilares se combinan típicamente con datos aleatorios para crear un biométrico basado en su huella digital. Así que un pirata informático que tuvo acceso a un análisis de su huella digital no necesariamente será capaz de entrar en un sitio biométricamente asegurado. Pero hay un problema, incluso con la autenticación de dos factores. Mientras les hace la vida más difícil a los criminales, a los usuarios no les gusta la molestia adicional. “Los consumidores sólo quieren comprar cosas y esperan que la empresa se encargue de la seguridad”, dice Barrett. Los días de memorizar sus contraseñas están contados!!?? En algunos años podrá acceder a su cuenta bancaria en internet usando un tatuaje electrónico en su brazo o con una pastilla que, una vez digerida, difunde la contraseña a través de las paredes del estómago. Ya existen prototipos. El tatuaje tiene componentes elásticos como sensores y una antena que se internalizan en la piel. La antena transmite la contraseña a un lector electrónico cuando uno entra en contacto con un teléfono o computador. Y el ácido estomacal -en vez del ácido de las baterías- activa la píldora. Esté pequeño artefacto ha sido diseñado para que pulse un código que sería recogido por un sensor en un computador portátil poco después de dejar el esófago. La motivación para desarrollar tecnologías tan extrañas viene de un problema creciente y generalizado: los sistemas de autentificación existentes con los que se ingresa a serviciosen línea se basan en contraseñas. Y estas no siempre están a la altura de las circunstancias. UTN 2018-11-10T17:33:45-0300 FRT AV
Compartir