Pontificia Pont ificia Universi Universida dad d Católica Cat ólica Madre y Maestra Campus Santo Tomás de Aquino
TDES - 3DES Triple Data Encryption Standard Este trabajo trabajo está orientado a la inve stigación de todo lo referente al tipo de cifrado cifrado que es utilizado por el estándar TDES TDES y todo l o referente al mismo. Luis Rafael Rafae l Reyes Re yes 2004-6382 2004-6382 Alan Ortiz Pimentel 2007-6381 René I. Heinsen Heins en 2007-6752 2007-6752 08/03/2012
Teoría de Código [SD-ITT-453-T-001] Prof. Olson I. Ortiz
Tabla de contenido 1.
Marco arco Teórico Teórico ........................................ ................................................ ........................... 2
2.
Introducc Introducción ión ........................................... .................................................. ......................... 4
3.
TDES TDES ó 3DES 3DES ........................................... .................................................. ......................... 5 3.1
Creación Creación del del TDES TDES............................................ ............................................... ............ 5
3.2
Clave Clave Pública Pública........................................... ............................................... .................... 6
3.3
Clave Clave Privada Privada........................................... ........................................... ............................................... .................... 7
3.4
Descripc Descripción ión del TDES TDES ............................................... ................................................ ... 8
3.5
Funcionam Funcionamiento iento del TDES..................................................................... TDES..................................................................... ......................10
3.6
Utilización Utilización del TDES TDES y prospectos prospectos futuros........... ...... ........... ........... ........... ........... ........... ............ ........... ........... ........... .......... .......14 ..14
4.
Conclusi Conclusión ón................................................. ............................................... ........................16
5.
Citacion Citaciones es........................................ ................................................ .................................17
1
1.
Marco Marc o Teórico
Criptologia: es el estudio de los criptosistemas, sistemas que ofrecen medios
seguros de comunicación en los que el emisor oculta o cifra el mensaje antes de transmitirlo para que sólo un receptor autorizado pueda descifrarlo. Sus áreas principales de interés son la criptografía y el criptoanálisi s, pero también se incluye la estenografía como parte de esta ciencia aplicada. En tiempos recientes, el interés por la criptología se ha extendido también a otras aplicaciones aparte de la comunicación segura de información y, actualmente, una de las aplicaciones más extendidas de las técnicas y métodos estudiados por la criptología es la autentificación de información digital (también llamada firma digital). 1 NIST (National Institute of Standards and Technology): es una agencia de la Administración de Tecnología del Departamento de Comercio de los Estados Unidos. La misión de este instituto es promover la innovación y la competencia industrial en Estados Unidos mediante medi ante avances avances en metrología, normas normas y tecnología tecnología de forma que mejoren la estabilidad económica y la calidad de vida.
Como parte de esta misión, los científicos e ingenieros del NIST continuamente refinan la ciencia de la medición (metrología) creando una ingeniería precisa y una manufacturación manufacturación requerida para la mayoría de los l os avances tecnológicos actuales. 2 AES: es un esquema de cifrado por bloques adoptado como un estándar de
cifrado por el gobierno de los Estados Unidos. El AES fue anunciado por el Instituto Nacional de Estándares y Tecnología (NIST) como FIPS PUB 197 de los Estados Unidos (FIPS 197) el 26 de noviembre de 2001 después de un proceso de estandarización que duró 5 años. Se transformó en un estándar efectivo el 26 de mayo de 2002. Desde 2006, el AES es uno de los algoritmos más populares usados en criptografía simétrica. 3 Criptoanálisis: es la parte de la criptología que se dedica al estudio de
sistemas criptográficos con el fin de encontrar encontrar debilidades debil idades en los sistemas y romper romper su seguridad sin el conocimiento de información secreta. En el lenguaje no técnico, se conoce esta práctica como romper o forzar el código, aunque esta expresión
2
tiene un significado específico dentro del argot técnico. A las personas que se dedican al criptoanálisis se llaman criptoanalistas. 4 Criptoanálisis Diferencial: Técnica criptoanalítica de tipo estadístico,
consistente en cifrar parejas de texto en claro escogidas con la condición de que su producto or-exclusivo obedezca a un patrón definido previamente. Los patrones de los correspondientes textos cifrados suministran información con la que conjeturar la clave criptográfica. Se aplica en los cifrados de tipo DES, aunque es de destacar que precisamente éste es relativamente inmune al citado ataque. 5 Cifrado por Bloques: es una unidad de cifrado de clave simétrica que opera
en grupos de bits de longitud fija, llamados bloques, aplicándoles una transformación invariante. Cuando realiza cifrado, una unidad de cifrado por bloques toma un bloque de texto plano o claro como entrada y produce un bloque de igual tamaño de texto cifrado. La transformación exacta es controlada utilizando una segunda entrada la clave secreta. El descifrado es similar: se ingresan bloques de texto cifrado y se producen bloques de texto plano. Cifrado de Feistel: es un método de cifrado en bloque con una estructura particular. Debe su nombre al criptógrafo de IBM Horst Feistel. También es conocida comúnmente como Red de Feistel. Un gran número de algoritmos de cifrado por bloques lo utilizan, siendo el más conocido 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 idénticas,
requiriendo únicamente invertir el orden de las subclaves utilizadas.
3
2.
Introducción
Desde tiempos inmemorables el hombre ha necesitado comunicarse con los demás, pero no siempre ha deseado que algunos de sus mensajes sean conocidos por las personas a quien no estaban destinados. Esta necesidad de poder enviar mensajes de forma que solo fueran entendidos por los destinatarios hizo que se crearan sistemas de cifrado, estos sistemas realizaban una operación de transformación en los mensajes, de forma que un mensaje después de experimentar este proceso, solo pudiese ser leído siguiendo un proceso de descifrado. Estas técnicas de cifrado han ido cambiando con el transcurso de los tiempos, y era utilizados por civilizaciones antiguas como: egipcia, mesopotámica, china, etc. Con el tiempo y debido principalmente al uso militar, los sistemas criptográficos fueron avanzando en complejidad, hasta llegar a nuestros días donde la informática ha entrado en nuestras vidas y la necesidad de seguridad al realizar nuestras operaciones aumenta. Es así como surge diversos tipos de estándares y algoritmos, diseñados para proteger y salvaguardar la data e información que para los usuarios es de vital importancia, TDES es solo uno mas de d e todas estas e stas herramientas. herramientas. Los grandes avances que se han producido en el mundo de la criptografía han sido posibles gracias a los grandes avances que se ha producido en el campo de las matemáticas y las ciencias de la computación. computación.
4
3.
TDES ó 3DES
3.1 Creación del TDES
Todos conocemos la fama fama y despliegue desp liegue que ha ha tenido el IBM IBM 3DES. Desde su nacimiento alrededor de los 70´s se mantuvo irrompible hasta Julio de 1998 cuando una u na maquina especial e special,, con 1024 bit de direccionamiento direccion amiento y artilugios especiales, especi ales, tuvo que qu e ser fabricada para p ara correr un proceso que rompiera el algoritmo en un curso organizado por la empresa RSA. Los ganadores invirtieron US$90.000 US$90.000 para ganarse un premio de US$10.000. DES su predecesor fue extraído de un proyecto conducido por IBM a fines de los años 60 dirigido por el criptógrafo Horst Horst Feistel, el cual concluyó con con el desarrollo de un algoritmo denominado LUCIFER en 1971. LUCIFER se instalo en las primeras máquinas dispensadoras de dinero para el Banco Lloyds en Londres. LUCIFER LUCIFER tenía una clave de 128 bits. Posteriormente IBM se embarco en un proyecto dirigido por Walter Tuchman y Carl Carl Meyer que condujo a un refinamiento de LUCIFER pero con clave de 56 bits. Este último fue adoptado por la Nacional Bureau of Standard (mas tarde el Nacional Información Información Security Institute) Institute) en 1973 como el Data Encryption Standard Standard para p ara toda actividad a ctividad informática informática del gobierno americano. Esta adopción adopció n se reafirmo reafirmo en 1994. En 1977, el Departamento de Comercio y la Oficina Nacional de Estándares de Estados Unidos publicaron la norma DES (estándar de cifrado de datos, publ publicación icación 46 del FIPS**). DES un esquema de cifrado de claves privadas. El algoritmo DES es un sistema mono alfabético que fue desarrollado en colaboración con IBM y se presentó al públ público ico con la intención de proporcionar prop orcionar un algoritmo de cifrado normalizado para p ara redes de ordenadores. DES se basa en el desarrollo de un algoritmo de d e cifrado que modifica el texto con tantas tantas combinaciones que el criptoanalista no podría deducir el texto original aunque dispusiese de numerosas copias. Muchos años antes de que el DES fuera corrompido, los criptógrafos habían empezado a trabajar en su remplazo. No significaba que el DES fuera fácilmente vulnerado; sino más bien que la comunidad criptográfica pudo ver el final por venir y quisieron estar preparados. Por tanto, el Triple DES (también llamado 5
como 3DES) fue creado. Dado que una inmensa cantidad de programas y equipos estaban codificados con DES, hizo sentido producir cambios al algoritmo que estaba en uso en ese entonces, en vez de crear uno completamente nuevo. En ese sentido, muchos de los viejos productos fueron capaces de ser actualizado hacia 3DES (o uno muy similar) sin la necesidad de reconstruir completamente el programa o el terminal. Como su nombre lo dice, Triple DES realiza algo tres veces más que un algoritmo DES regular. Esa triple amenaza viene de utilizar tres llaves en cada bloque de texto plano. En vez de utilizar una llave de 56 bits desde la tabla de llaves, Triple DES encripta el texto plano con la primera llave, encripta ese texto encriptado con otra llave de 56 bits, y luego encripta nuevamente el texto encriptado con otra llave de 56 bits. Esto tal vez parezca un exceso, pero funciona. 3DES es también capaz de trabajar con llaves más extensas para hacerlo más seguro. Con el fin de descifrar este algoritmo, se tendría que descubrir tres llaves diferentes. No solo eso, el texto será desencriptado solo cuando las tres llaves correctas sean usadas en el orden correcto. Quizás sea posible adivinar una llave, pero nunca se podrá saber si fue correcto hasta combinarla con las otras dos llaves que faltan. El número de permutaciones es exageradamente alto, y nadie desea invertir esa cantidad de tiempo atacando algo que tiene un valor desconocido. ¿Qué pasaría si alguien se toma la molestia de descifrar las tres llaves en el orden correcto, solo para descubrir que la data se trataba de un correo donde se notificaba que había quedado bizcocho de algún cumpleaños en el área de descanso? Una total pérdida de tiempo…
3.2 Clave Pública
Es un criptosistema asimétrico o criptosistema de clave publica, las claves se dan en pares: Una clave publica para el cifrado Una clave secreta para el descifrado
Es un sistema de cifrado con clave publica, los usuarios eligen una clave aleatoria que solo ellos conocen (esta es la clave privada). A partir de esta clave,
6
automáticamente se deduce un algoritmo (la clave pública). Los usuarios intercambian esta clave pública mediante un canal no seguro. 6 Cuando un usuario desea dese a enviar un mensaje a otro usuario, solo debe cifrar el mensaje que desea enviar utilizando utili zando la clave publica publi ca del receptor, el e l receptor podrá descifrar el mensaje con su clave privada (que solo el conoce). Este cifrado asimétrico o mejor conocido como cifrado con clave pública apareció en 1976, con la publicación de un trabajo sobre criptografía por Whitfield Diffie Diffie y Martin Hellman. Ejemplo de la clave publica:
Ilustración 1 Ejemplificación de una clave pública
3.3 Clave Privada
Los algoritmos de clave privada o simétrica, también llamados de clave secreta, son los algoritmos clásicos de encriptación en los cuales un mensaje es encriptado utilizando para ello una cierta clave sin la cual no puede recuperarse el mensaje original. 7 El esquema básico de estos tipos de algoritmos de clave privada es: Mensaje + Clave = Código (encriptación) Código + Clave = Mensaje (desencriptación)
7
Ejemplo de la l a calve privada:
Ilustración Ilustració n 2 Ejemplificación de la clav e privada
Algunos de los algoritmos o estándares estándares de claves privadas son:
DES TRIPLE DES RC5 IDEA
3.4 Descripción del TDES
En criptografía el Triple DES se llama algoritmo que hace triple triple cifrado del DES. Este también es muy conocido como TDES o 3DES y 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 método 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 numero de operaciones de cifrado, haciendo este método de cifrado muchísimo mas seguro que el DES.
8
La clave utilizada utilizad a por Triple DES es de 128 bits (112 (112 de clave y 16 de paridad) paridad ), es decir, decir, dos claves de 64 bits (56 de clave y 8 de paridad) de los utilizados en D ES. El motivo de utilizar este de tipo de clave es la compatibilidad con DES. Si la clave utilizada es el conjunto de dos claves DES iguales el resultado será el mismo para DES y para Triple DES. Otra forma de utilizar Triple DES es con una clave de 192 bits (168 bits de clave y 24 bits de paridad). En este caso se cifrará primero con k1, a continuación con k2 y finalmente finalmente con k3. Para ser compatible con DES es necesario necesario que k1=k2=k3 El TDES utiliza 48 rondas en sus cálculos, lo cual lo hace muy resistente al criptoanálisis diferencial. Sin embargo, debido a que TDES realiza un trabajo extra, hay una disminución del rendimiento pesada. El TDES permite aumentar de manera significativa la seguridad del DES, pero posee la desventaja de requerir más recursos para el cifrado y descifrado. Por lo general, se reconocen diversos tipos o modos de cifrado del Triple DES, y el modo escogido dicta el número de claves usadas y que funciones son llevadas a cabo, estos modos son los siguientes: DES-EEE3: Cifrado triple DES con 3 claves diferentes, es decir, la data se encriptada, encriptada y encriptada. DES-EDE3: Una clave diferente para cada una de las operaciones de triple DES (cifrado, descifrado, cifrado), por tanto la data es encriptada, desce ncriptada y encriptada.
DES-EEE2: Lo mismo que DES-EEE3, DES-EEE3, pero usa solo dos claves, y el primer y tercer proceso de encriptación usan la misma clave. Esto quiere decir, que la segunda operación utiliza una clave diferente. DES-EDE2: Lo mismo que DES-EDE3, pero usa solo dos claves, y el primer y el tercer proceso de encriptación usan la misma clave. Esto quiere decir, que la segunda operación utiliza una clave diferente.
EDE (Encriptar, Desencriptar y Encriptar) puede parecer un poco extraño al principio, surgen preguntas como: ¿Cuánta protección podría proporcionarse mediante el cifrado de algo, descifrarlo y el cifrado de nuevo?, bueno en realidad, la parte del descifrado se descifra con una clave diferente. Cuando los datos los datos se cifran con una clave simétrica y luego se descifra con una clave simétrica diferente, se vuelve más confusa. 9
Así que en realidad los datos no son actualmente descifrados en esta operación intermedia. Ellos solos se ejecutan a través de un proceso de descifrado con una clave diferente.
3.5 Funcionamiento del TDES
La variante más simple del Triple DES funciona de la siguiente manera: Ecuación 1 Cifrado del TDES
Donde M es el mensaje a cifrar y k1, k2 y k3 las respectivas claves DES. En la variante 3TDES las tres claves son diferentes; en la variante 2TDES, la primera y tercera clave son iguales.
Figura 1 Diagrama del Cifrado por TDES
10
Para poder entender mejor el algoritmo TDES y su proceso de cifrado, tenemos que explicar como es el funcionamiento de su predecesor DES. El cual es el siguiente: Algoritmo DES:
DES es el algoritmo prototipo del cifrado cifrado por p or bloques, un algoritmo que toma un texto en claro de una longitud fija de bits y lo transforma mediante una serie de operaciones básicas en otro texto cifrado de la misma longitud. En el caso de DES el tamaño tamaño del bloque es de 64 bits. DES utiliza también una clave criptográfica crip tográfica para modificar la transformación, de modo que el descifrado sólo puede ser realizado por aquellos que conozcan la clave concreta utilizada en el cifrado. 8
Figura 2 Aplicando el DES
11
Estructura básica:
La estructura básica del algoritmo aparece representada en la Figura 3:
Fig ura 3 Esquema general del alg oritmo DES
DES cifra bloques de 64 bits, mediante permutación y sustitución y usando una clave de 64 bits, de los que 8 son de paridad (esto es, en realidad usa 56 bits), produciendo así 64 bits cifrados. DES tiene 19 etapas diferentes, la primera etapa es una transposición, una permutación inicial (IP) del texto plano de 64 bits, independientemente de la clave. La última etapa es otra transposición (IP-1), exactamente la inversa de la primera. La penúltima 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 d e la clave de 56 bits y distinto en cada iteración. 12
Fig ura 4 Cálculo de las subclaves, K i
Se realiza una permutación inicial (PC-1) 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 número d dee bits determinado que no siempre es el mismo. Ki se deriva de la elección permutada (PC-2) de 48 de los 56 bits de estas dos mitades rotadas. La función f de la red de Feistel se compone de una permutación de expansión (E), que convierte el bloque correspondiente de 32 bits en uno de 48. Después realiza una Or-exclusiva con el valor Ki, también de 48 bits, aplica ocho SCajas de 6*4 bits, bi ts, y efectúa una nueva permutación pe rmutación (P). (P).
13
Figura 5 Ronda del algoritmo DES
Para descifrar basta con usar el mismo algoritmo empleando las Ki en orden inverso. Ya sabiendo como funciona el DES, vemos que para aplicar el TDES es simplemente realizarlo el DES tres tres veces, dependiendo dependi endo en el modo en que se desee.
3.6 Uti Utilizaci lización ón del TDES y prospectos futuros f uturos
En la mayoría de las tarjetas de crédito y otros medios de pago electrónicos tienen como estándar el algoritmo Triple DES (anteriormente usaban el DES). Por su diseño, el DES y por lo tanto el TDES son algoritmos lentos. 14
El prospecto futuro futuro o mas bien bi en el algoritmo que esta remplazando rempl azando al estándar es tándar Triple DES es el algoritmo AES. El algoritmo AES será al menos tan fuerte como Triple DES y puede llegar a ser hasta 6 veces más rápido y a la fecha no se ha encontrado ninguna vulnerabilidad. Por lo que en muchos sistemas de seguridad utilizaran tanto el Triple Tripl e DES y AES, durante durante un tiempo. Pero aunque el Triple DES sea suplantado como algoritmo por defecto en la mayoría de los sistemas, es posible que se mantenga durante mucho más tiempo por cuestiones de compatibilidad. Aunque la tendencia es para que sea remplazado definitivamente por el AES.
15
4.
Conclusión
El TDES es un algoritmo de cifrado mediante clave simétrica, por tanto significa que dos o más usuarios, tienen una única clave secreta, por tanto, esta clave será la que cifrará y descifrará la información transmitida a través del canal inseguro. Este tipo de cifrado es muy utilizado para la proveer a las personas de una mayor seguridad en sus informaciones, es decir, la clave secreta solo la poseerán los dos usuarios correspondientes, y con dicha clave, el usuario A cifrará la información, la mandará a través del canal inseguro, y a continuación el usuario B descifrará esa información información con la MISMA MISMA clave que ha usado el usuario u suario A. Esto reduce las posibilidades de poder obtener acceso a la información y al TDES ser un tipo de cifrado con una llave bien grande de 128 bits o hasta 192 bits, hace que sea prácticamente imposible romperlo mediante ataques de fuerza bruta, como fue el caso del DES. Puede que en estos tiempos ya el TDES este perdiendo sus popularidad y se esté remplazando por el AES, pero aun así estos algoritmos lograron los objetivos para lo que fueron diseñados y nos nos indican, indi can, que no importa que tan bueno bue no o no sea un algoritmo para cifrar una información, todo depende del tiempo de vida que este pueda proveernos, porque siempre habrá alguien que intentara buscar el método para romper estos algoritmos. Siempre tenemos tenemos que tener en cuenta que la seguridad en una clave simétrica si métrica reside en la propia clave secreta, y por tanto el principal problema es la distribución de esta clave a los distintos usuarios para cifrar y descifrar la información. información. La misión mis ión del emisor y receptor es mantener la clave en e n secreto. Si cae en manos equivocadas ya no podríamos considerar que la comunicación sea segura y deberíamos generar una nueva clave.
16
5.
Citaciones
1
Escri to en Criptocodigos el 07 Enero Enero 2008, Criptologia y encriptaci ón de Códigos, http://criptocodigos.blogspot.es/(02 http://criptocodigos.blogspot.es/ (02 Marzo 2012) 2 Escri to en en Wi kipedia , Instituto Naci Naci onal de Estándares y Tecnología, Tecnología, Modi fica do por ultima vez vez el 20 Septiembre 2011, http://es.wikipedia.org/wiki/Instituto_Nacional_de_Est%C3%A1ndares_y_Tecnolog%C3%ADa (03 Marzo 2012) 3 Escri to en Wiki pedia, Advanced Advanced Encryption Encryption Standard, Modifi Modifi cado por ultima vez vez el 12 Febrero Febrero 2012, http:// htt p://es.wikipedia.org/wiki/Advanced_ es.wikipedia.org/wiki/Advanced_Encryption_S Encryption_Standard tandard (03 Marzo 2012) 4 Escri to por por Cris tian Borghelio, SEGU-INFO SEGU-INFO (Seguri (Seguri dad de la I nformación), Criptografía de la A-Z, http://www.segu-info.com.ar/proyectos/p1_ataques.htm (03 Marzo 2012) 5 Escri to en el Centro Centro Criptológi co Naci Naci onal (CCN) (CCN),, Guia de Segurida Segurida d de las TIC (CCN-STIC-401) (CCN-STIC-401) el 24 Agosto 2009, 2009, htt https://ww ps://www.ccn-ce w.ccn-cert.cni.es/public rt.cni.es/public o/serieCCN-S o/serieCCN-STIC401/es/c/differe TIC401/es/c/differential ntial _cryptanalysis.ht _cryptanalysis.htm m (05 Marzo 2012) 6 Publi cado en Sli deshare el el 08 Noviembre Noviembre 2009, Algori tmos tmos de Cifrado para Cl aves Publi cas y Privadas, http:// htt p://ww www. w.sl sl idesha re.ne re.net/ne t/negro87/al gro87/al gori tm tmos-de-cifra os-de-cifra do-para -claves-pblicas -claves-pblicas-y-privadas -y-privadas// (05 Marzo 2012) 7 Publi cado en Sli deshare el el 08 Noviembre Noviembre 2009, Algori tmos tmos de Cifrado para Cl aves Publi cas y Privadas, http:// htt p://ww www. w.sl sl idesha re.ne re.net/ne t/negro87/al gro87/al goritmos-de-cifra do-para -claves-pblicas -claves-pblicas-y-privadas -y-privadas// (05 Marzo 2012) 8 Escri to en en Wi kipedia , Data Data Encryption Standar Standar d, Estructura Estructura Bás ica , Modifi Modifi cado por ultima vez el 15 Dici embre embre 2011 htt http:// p://es.w es.wiki iki pedia.org/wiki/Data_En pedia.org/wiki/Data_Encryption_St cryption_Standar andar d#A d#Algori lgori tm tmos_de_ os_de_ree reemplazo mplazo (05 Marzo 2012)
17