09 Criptografia
09 Criptografia
Modulo 10 del libro «Principles of Information Security» de Michael E. Whitman, Ph.D., CISM, CISSP y Herbert J. Mattord, Ph.D., CISM, CISSP,
Seventh Edition, 2022
Uso interno UNP
Sin embargo, se puede afirmar rotundamente que el ingenio humano no puede inventar un código que el ingenio humano no pueda resolver.
1. Introducción a la criptografía
La criptología no es una ciencia tan enigmática como se podría pensar. En la vida cotidiana se utili-
zan con regularidad diversas técnicas criptográficas. Por ejemplo, si abres el periódico en la sección de
entretenimiento, encontrarás el criptograma diario, un juego de palabras que consiste en descifrar letras
para encontrar un mensaje oculto. Además, aunque es un arte en extinción, muchas secretarias todavía
utilizan la taquigrafía, un método de escritura abreviada y simbólica, para tomar dictados rápidos. Inclu-
so en los patrones de tejido se utiliza una forma de criptografía, en la que las instrucciones se escriben
en patrones codificados como K1P1 (tejer 1, revés 1) que solo un iniciado puede entender. Si bien estas
técnicas no tienen como objetivo impedir que otros comprendan el mensaje, no hay un gran salto desde
el uso de códigos para la eficiencia hasta su uso para ofuscar el significado subyacente del mensaje.
La ciencia del cifrado, conocida como criptología, abarca la criptografía y el criptoanálisis. La cripto-
grafía proviene de las palabras griegas kryptos, que significa “oculto”, y graphein, que significa “escribir”,
e implica la creación y el uso de códigos para proteger los mensajes. Originalmente, la criptografía se
utilizaba para ocultar secretos militares y políticos mientras la información estaba en tránsito. El crip-
toanálisis implica descifrar o romper los mensajes cifrados para devolverlos a sus orígenes no cifrados.
La criptografía utiliza algoritmos matemáticos que, por lo general, todos conocemos. Después de todo,
no es el conocimiento del algoritmo lo que protege el mensaje cifrado, sino el conocimiento de la clave
(key), una serie de caracteres o bits que se inyectan en el algoritmo junto con el mensaje original para
crear el mensaje cifrado. Una persona o un sistema generalmente cifra un mensaje de texto simple en
texto cifrado, haciéndolo ilegible para personas no autorizadas, es decir, aquellas que no tienen la clave
necesaria para descifrar el mensaje y convertirlo en texto simple, donde se puede leer y comprender.
El campo de la criptología es tan amplio que podría llenar muchos volúmenes. Este libro de texto
proporciona solo una descripción general de la criptología y algo de información específica sobre algu-
nas herramientas criptográficas. En las primeras secciones de este módulo, aprenderá los antecedentes
de la criptología, así como los conceptos clave de la criptografía y las herramientas más comunes. En
las secciones posteriores, aprenderá sobre los protocolos criptográficos más comunes y algunos de los
métodos de ataque utilizados contra los criptosistemas.
1
Como resultado, ambos gobiernos creen que se debe impedir que dichos países utilicen criptosistemas
para comunicar posibles actividades terroristas u obtener una ventaja económica.
Tabla 10-1 Historia de la criptología
Fecha Evento
1900 a. C. Los escribas egipcios utilizaban jeroglíficos no estándar para inscribir en tablillas de arcilla; este es el primer uso
documentado de criptografía escrita.
487 a. C. Los espartanos de Grecia desarrollaron el skytale, un sistema que consistía en una tira de papiro enrollada alrededor
de un bastón de madera. Los mensajes se escribían a lo largo del bastón y luego se desenrollaba el papiro. El proceso
de descifrado implicaba enrollar el papiro alrededor de un eje de diámetro similar.
50 a. C. Julio César utilizó un cifrado de sustitución simple para proteger las comunicaciones militares y gubernamentales.
Para formar un texto cifrado, César desplazó las letras del alfabeto tres lugares. Además de este cifrado de sustitución
monoalfabético, César reforzó su cifrado sustituyendo letras latinas por letras griegas.
1466 Leon Battista Alberti, el padre de la criptografía occidental, trabajó con sustitución polialfabética y diseñó un disco
de cifrado.
1914–17 Durante la Primera Guerra Mundial, los alemanes, británicos y franceses utilizaron una serie de cifrados de transpo-
sición y sustitución en las comunicaciones por radio. Todos los bandos dedicaron un esfuerzo considerable a intentar
interceptar y descifrar las comunicaciones, y así crearon la ciencia del criptoanálisis. Los criptógrafos británicos des-
cifraron el Telegrama Zimmerman, en el que los alemanes ofrecían a México territorio estadounidense a cambio del
apoyo de México. Este descifrado ayudó a que Estados Unidos entrara en la guerra.
1917 Gilbert S. Vernam, un empleado de AT&T, inventó una máquina de cifrado polialfabético que utilizaba una clave
aleatoria no repetitiva.
1919 Hugo Alexander Koch presentó una patente en los Países Bajos para una máquina de cifrado basada en rotor; en
1927, Koch cedió los derechos de patente a Arthur Scherbius, el inventor de la máquina Enigma.
1939–42 Los aliados descifraron en secreto el cifrado Enigma, lo que sin duda acortó la Segunda Guerra Mundial.
1976 Whitfield Diffie y Martin Hellman introdujeron la idea de la criptografía de clave pública.
1977 Ronald Rivest, Adi Shamir y Leonard Adleman desarrollaron un cifrado de clave pública práctico tanto para la confi-
dencialidad como para las firmas digitales; así nació la familia RSA de algoritmos de cifrado informático.
Cifrado de bloque: Un método de cifrado que implica dividir el texto simple en bloques o conjuntos
de bits y luego convertir el texto simple en texto cifrado bloque a bloque.
Cifrado: Cuando se utiliza como verbo, la transformación de los componentes individuales (ca-
racteres, bytes o bits) de un mensaje no cifrado en componentes cifrados o viceversa (consulte
Descifrado y cifrado); cuando se utiliza como sustantivo, el proceso de cifrado o el algoritmo utili-
zado en el cifrado, y un término sinónimo de criptosistema.
Texto cifrado o criptograma: El mensaje cifrado o codificado ininteligible resultante de un cifrado.
Código: Proceso de convertir componentes (palabras o frases) de un mensaje no cifrado en com-
ponentes cifrados.
2
Cifrado: Proceso de convertir un mensaje original (texto simple) en una forma que no pueda ser
utilizada por personas no autorizadas (texto cifrado); también conocido como cifrado.
Clave o criptovariable: La información utilizada junto con el algoritmo para crear el texto cifrado
a partir del texto simple; puede ser una serie de bits utilizados en un algoritmo o el conocimiento
de cómo manipular el texto simple. A veces se denomina criptovariable.
Espacio de claves: El rango completo de valores que se pueden utilizar para construir una clave
individual.
Cifrado de enlaces: serie de cifrados y descifrados entre varios sistemas, en la que cada sistema de
una red descifra el mensaje que se le envía, vuelve a cifrar el mensaje utilizando claves diferentes
y lo envía al siguiente vecino. Este proceso continúa hasta que el mensaje llega al destino final.
Texto simple o sin cifrar: el mensaje original sin cifrar que se cifra y el mensaje que resulta de un
descifrado exitoso.
Esteganografía: proceso de ocultar mensajes; por ejemplo, ocultar un mensaje dentro de la codi-
ficación digital de una imagen o gráfico de modo que sea casi imposible detectar que el mensaje
oculto existe.
Factor de trabajo: cantidad de esfuerzo (generalmente expresado en unidades de tiempo) necesario
para realizar un criptoanálisis en un mensaje codificado.
2. Métodos de cifrado
Existen dos métodos para cifrar texto sin formato: el método de flujo de bits (bit stream) y el método
de cifrado por bloques (block cipher), tal como se definió en la sección anterior. En el método de flujo
de bits, cada bit del texto sin formato se transforma en un bit cifrado bit a bit. En el método de cifrado
por bloques, el mensaje se divide en bloques (por ejemplo, conjuntos de bloques de 8, 16, 32 o 64 bits)
y luego cada bloque de bits de texto sin formato se transforma en un bloque cifrado de bits cifrados
mediante un algoritmo y una clave.
Los métodos de flujo de bits suelen utilizar funciones de algoritmo como la operación OR exclusiva
(XOR), mientras que los métodos de bloques pueden utilizar sustitución, transposición, XOR o alguna
combinación de estas operaciones, como se describe en las secciones siguientes. Tenga en cuenta que
la mayoría de los métodos de cifrado basados en computadora operan sobre datos a nivel de sus dígi-
tos binarios (bits), mientras que otros operan a nivel de byte o carácter. Quizás se pregunte si necesita
conocer todos los detalles técnicos sobre los métodos de cifrado que se incluyen a continuación en esta
sección. Aunque la mayoría de los profesionales de seguridad no se involucran en el diseño de algorit-
mos criptográficos (o métodos de cifrado) o incluso terminan usándolos directamente, es probable que
utilice muchos de ellos indirectamente cuando navega por la Web, y sin duda es útil comprender cómo
funcionan las herramientas. En algún momento, es posible que necesite conocer estos componentes bási-
cos fundamentales de la criptografía para poder comprender sus opciones al evaluar métodos de cifrado
comerciales o de código abierto. También es útil comprender los métodos de notación criptográfica que
se muestran en la función cercana.
3
Dentro de este esquema de sustitución, el texto simple MOM se cifraría en el texto cifrado PRP.
Este es un método bastante simple por sí mismo, pero se vuelve muy poderoso si se combina con otras
operaciones. El ejemplo anterior de sustitución se basa en un solo alfabeto y, por lo tanto, se conoce como
sustitución monoalfabética. Los cifrados de sustitución más avanzados utilizan dos o más alfabetos y
se denominan sustituciones polialfabéticas.
Para ampliar el ejemplo anterior, considere el siguiente bloque de texto:
La primera fila aquí es el texto simple y las siguientes cuatro filas son cuatro conjuntos de cifrados de
sustitución, que cuando se toman en conjunto constituyen un único cifrado de sustitución polialfabético.
Para codificar la palabra TEXTO con este cifrado, se sustituye una letra de la segunda fila por la primera
letra de TEXTO, una letra de la tercera fila por la segunda letra, y así sucesivamente, un proceso que
produce el texto cifrado WKGF. Observe cómo la letra T del texto simple se transforma en una W o una
F, según su orden de aparición en el texto simple. Complejidades como estas hacen que este tipo de
cifrado sea sustancialmente más difícil de descifrar cuando uno no tiene el algoritmo (en este caso, las
filas de cifrados) y la clave, que es el método de sustitución. Una extensión lógica de este proceso es
aleatorizar completamente las filas de cifrado para crear una operación más compleja.
Un ejemplo de un cifrado de sustitución monoalfabético es el criptograma del diario (ver Figura 10-
1). Otro ejemplo es el pin decodificador de Radio Orphan Annie, que alguna vez fue famoso (mostrado
en la Figura 10-2), que consistía en dos anillos alfabéticos que podían rotarse hasta un par predeter-
minado para formar un cifrado de sustitución simple. El dispositivo fue diseñado para usarse como un
broche para que uno siempre pudiera tenerlo a mano. Como se menciona en la Tabla 10-1, Julio César
supuestamente utilizó un desplazamiento de tres posiciones hacia la derecha para cifrar sus mensajes (A
se convirtió en D, B en E, y así sucesivamente), por lo que este cifrado de sustitución recibió su nombre:
el cifrado César.
4
Figura 10-2 Pin del decodificador de Annie, la huérfana de la radio
Un tipo avanzado de cifrado por sustitución que utiliza un código polialfabético simple es el cifrado
Vigenère. El cifrado se implementa utilizando el cuadrado (o tabla) de Vigenère, también conocido como
tabula recta, un término inventado por Johannes Trithemius en el siglo XVI. La Tabla 10-2 ilustra la
configuración del cuadrado de Vigenère, que se compone de 26 alfabetos cifrados distintos. En la fila y
columna del encabezado, el alfabeto se escribe en su orden normal. En cada fila posterior, el alfabeto se
desplaza una letra hacia la derecha hasta que se forma un bloque de letras de 26 × 26.
Tabla 10-2 El cuadrado de Vigenère
Puede utilizar el cuadrado de Vigenère de varias maneras. Por ejemplo, podrías realizar un cifrado
simplemente comenzando en la primera fila, buscando un sustituto para la primera letra del texto simple
y luego bajando por las filas para cada letra subsiguiente del texto simple. Con este método, la palabra
SEGURIDAD en el texto simple se convierte en TGFYWOAG en el texto cifrado.
Una forma mucho más sofisticada de utilizar el cuadrado de Vigenère es utilizar una palabra clave
para representar el cambio. Para lograrlo, comienzas escribiendo una palabra clave sobre el mensaje de
texto simple. Por ejemplo, supongamos que el mensaje de texto simple es “SACK GAUL SPARE NO ONE”
y la palabra clave es ITALY. Así terminamos con lo siguiente:
5
Ahora utilizas la letra de la palabra clave y la letra del mensaje (texto simple) debajo de ella en
combinación. Volviendo al cuadrado de Vigenère, observa cómo la primera columna de texto, al igual
que la primera fila, forma el alfabeto normal. Para realizar la sustitución, comienza con la primera
combinación de letras de la palabra clave y del mensaje, “IS”. Utiliza la letra de la palabra clave para
localizar la columna y la letra del mensaje para encontrar la fila, y luego busca la letra en su intersección.
Por lo tanto, para la columna I y la fila S, encontrará la letra de texto cifrado “A”. Después de seguir
este procedimiento para cada letra del mensaje, obtendrá el texto cifrado “ATCVEINLDNIKEYMWGE”.
Una debilidad de este método es que cualquier combinación de palabra clave y letra del mensaje que
contenga una fila o columna “A” reproduce la letra del mensaje de texto simple. Por ejemplo, la tercera
letra del mensaje de texto simple, la “C” (de “SACK”), tiene una combinación de AC y, por lo tanto, no
cambia en el texto cifrado. Para minimizar los efectos de esta debilidad, debe evitar elegir una palabra
clave que contenga la letra “A”.
Key pattern: 8 → 3, 7 → 6, 6 → 2, 5 → 7, 4 → 5, 3 → 1, 2 → 8, 1 → 4
En esta clave, el bit o byte (carácter) en la posición 1 se mueve a la posición 4. Cuando se opera
con datos binarios, la posición 1 está en el extremo derecho de la cadena de datos y el conteo procede
de derecha a izquierda. A continuación, el bit o byte en la posición 2 se mueve a la posición 8, y así
sucesivamente. Este cifrado es similar a otro de los pasatiempos más populares en los periódicos: el
revoltijo de palabras, como se ilustra en la Figura 10-3. En el revoltijo, las palabras están desordenadas,
aunque sin un patrón definido. Al descifrarlas, las palabras proporcionan caracteres clave que se utilizan
para decodificar un mensaje independiente.
Las siguientes filas muestran la numeración de las ubicaciones de los bits para esta clave; el mensaje
de texto simple 00100101011010111001010101010100, que se divide en bloques de ocho bits para
mayor claridad; y el texto cifrado que se produce cuando se aplica la clave de transposición descrita
anteriormente al texto simple.
6
Leyendo de derecha a izquierda en este ejemplo, el primer bit del texto simple (posición 1 del primer
byte) se convierte en el cuarto bit (en la posición 4) del primer byte del texto cifrado. De manera similar,
el segundo bit del texto simple (posición 2) se convierte en el octavo bit (posición 8) del texto cifrado, y
así sucesivamente.
Para examinar más a fondo cómo funciona esta clave de transposición, observe sus efectos en un men-
saje de texto simple compuesto de letras en lugar de bits. Reemplazando el bloque de ocho bits de texto
simple por el mensaje de texto simple de ejemplo presentado anteriormente, “SACK_GAUL_SPARE_NO_ONE”,
se obtiene lo siguiente.
Aquí, se lee de derecha a izquierda para que coincida con el orden en el que se transmitirían los
caracteres desde un emisor a la izquierda a un receptor a la derecha. La letra en la posición 1 del primer
bloque de texto simple, “S”, se mueve a la posición 4 en el texto cifrado. El proceso continúa hasta que
la letra “U”, la octava letra del primer bloque de texto simple, se mueve a la tercera posición del texto
cifrado. Este proceso continúa con los bloques subsiguientes utilizando el mismo patrón especificado.
Obviamente, el uso de bloques de diferentes tamaños o múltiples patrones de transposición mejoraría la
solidez del cifrado.
Además de ser reconocido por inventar un cifrado de sustitución, Julio César fue asociado con una
versión temprana del cifrado de transposición. En el cifrado de bloques de César, el receptor del mensaje
codificado sabe que debe ajustar el texto a un cuadrado de número primo. En la práctica, esto significa
que si hay menos de 25 caracteres, el destinatario utiliza un cuadrado de 5 × 5. Por ejemplo, si recibiera
el texto cifrado César que se muestra a continuación, haría un cuadrado de cinco columnas y cinco filas
y luego escribiría las letras del mensaje en el cuadrado, llenando los espacios de izquierda a derecha y
de arriba hacia abajo. Luego, leería el mensaje en la dirección opuesta, es decir, de arriba hacia abajo y
de izquierda a derecha.
2.3. O exclusivo
La operación OR exclusiva (XOR) es una función del álgebra de Boole en la que se comparan dos
bits y se genera un resultado binario. El cifrado XOR es un cifrado simétrico muy simple que se utiliza
en muchas aplicaciones donde la seguridad no es un requisito definido. La Tabla 10-3 muestra una tabla
XOR con los resultados de todas las combinaciones posibles de dos bits.
Tabla 10-3 Tabla XOR
7
Para ver cómo funciona XOR, considere un ejemplo en el que el texto simple es la palabra “CAT”. La
representación binaria ASCII del texto simple es 01000011 01000001 01010100.
Para cifrar el texto simple, se debe seleccionar un valor de clave. En este caso, se utiliza el patrón
de bits para la letra “V” (01010110), y se repite tantas veces como sea necesario para cada uno de los
caracteres que se deben cifrar, escritos de izquierda a derecha. Al realizar la operación XOR en los dos
flujos de bits (el texto sin formato y la clave), se obtiene el resultado que se muestra en la Tabla 10-4.
Tabla 10-4 Ejemplo de cifrado XOR
La fila inferior de la Tabla 10-4, “Cifrado”, se lee de izquierda a derecha y contiene el flujo de bits
que se transmitirá. Cuando se recibe este cifrado, se puede descifrar utilizando el valor de clave “V”.
Tenga en cuenta que el método de cifrado XOR es muy sencillo de implementar e igualmente sencillo de
descifrar. El método de cifrado XOR no se debe utilizar por sí solo cuando una organización transmite o
almacena datos confidenciales. Los algoritmos de cifrado reales que se utilizan para proteger los datos
suelen utilizar el operador XOR como parte de un proceso de cifrado más complejo.
Puede combinar XOR con un cifrado de bloque para producir una operación sencilla pero potente.
En el ejemplo que sigue (de nuevo leído de izquierda a derecha), la primera fila muestra un mensaje de
caracteres “5E5+•” que requiere cifrado. La segunda fila muestra este mensaje en notación binaria. Para
aplicar un método de cifrado en bloques de ocho bits, el mensaje binario se divide en bloques de ocho
bits en la fila denominada “Bloques de mensaje”. La cuarta fila muestra la clave de ocho bits (01010101)
elegida para el cifrado. Para cifrar el mensaje, debe realizar la operación XOR en cada bloque de ocho
bits utilizando la función XOR en el bit del mensaje y el bit de la clave para determinar los bits del texto
cifrado. El resultado se muestra en la fila denominada “Texto cifrado”. Este texto cifrado ahora se puede
enviar a un receptor, que podrá descifrar el mensaje simplemente conociendo el algoritmo (XOR) y la
clave (01010101).
Si el receptor no puede aplicar la clave al texto cifrado y obtener el mensaje original, es posible
que el cifrado se haya aplicado con una clave incorrecta o que el criptosistema no se haya utilizado
correctamente.
8
de texto cifrado para su transmisión. Si la suma de los dos valores supera 26, se resta 26 del total. El
proceso de mantener un número calculado dentro de un rango específico se llama módulo; Por lo tanto,
exigir que todos los números estén en el rango de 1 a 26 se denomina módulo 26 En este proceso, a un
número mayor que 26 se le restan 26 secuencialmente hasta que el número esté en el rango adecuado.
Para examinar el cifrado Vernam y su uso del módulo, considere el siguiente ejemplo, que utiliza
“SACK GAUL SPARE NO ONE” como texto sin formato. En el primer paso de este proceso de cifrado, la
letra “S” se convierte en el número 19 porque es la decimonovena letra del alfabeto. La misma conversión
se aplica al resto de las letras del mensaje de texto sin formato, como se muestra aquí.
Las filas tres y cuatro de este ejemplo muestran el texto de relleno de un solo uso que se eligió para
este cifrado y el valor de relleno de un solo uso, respectivamente. Como puede ver, el valor de relleno,
al igual que el valor de texto sin formato, se deriva de la posición de cada letra del texto de relleno en el
alfabeto. Por lo tanto, a la letra del texto del pad “F” se le asigna el número de posición 06. Este proceso
de conversión se repite para todo el texto del pad de un solo uso. A continuación, se suman el valor del
texto simple y el valor del pad de un solo uso; la primera suma es 25. Como 25 está en el rango de 1
a 26, no se requiere ninguna resta módulo 26. La suma sigue siendo 25 y produce el texto cifrado “Y”,
como se muestra arriba. Si saltamos al cuarto carácter del texto simple, “K”, veremos que su valor de
texto simple es 11. El texto del pad es “R” y el valor del pad es 18. La suma de 11 y 18 es 29. Como 29
es mayor que 26, se le resta 26, lo que produce el valor 3. El texto cifrado para este carácter de texto
simple es entonces la tercera letra del alfabeto, “C”.
Para descifrar cualquier texto cifrado generado a partir de un bloc de un solo uso es necesario conocer
los valores del bloc o utilizar un criptoanálisis elaborado y muy difícil (o eso es lo que espera la parte que
cifra). Utilizando los valores del bloc y el texto cifrado, el proceso de descifrado funciona de la siguiente
manera: “Y” se convierte en el número 25, al que se le resta el valor del bloc para la primera letra del
mensaje, 06. Esto da como resultado un valor de 19, o la letra “S”. Este patrón continúa hasta la cuarta
letra del texto cifrado, donde la letra del texto cifrado es “C” y el valor del bloc es 18. Restar 18 de 3 da
como resultado -15. Debido al módulo 26, que requiere que todos los números estén en el rango de 1 a
26, se debe sumar 26 al -15. Esta operación da como resultado una suma de 11, lo que significa que la
cuarta letra del mensaje es “K”.
En un cifrado de libro, el texto cifrado consiste en una lista de códigos que representan el número
de página, el número de línea y el número de palabra de la palabra del texto simple. El algoritmo es el
proceso mecánico de buscar las referencias del texto cifrado y convertir cada referencia en una palabra
utilizando el valor del texto cifrado y la clave (el libro). Por ejemplo, desde una copia de una novela
popular en particular, se puede enviar el mensaje 259,19,8; 22,3,8; 375,7,4; 394,17,2. Aunque se puede
utilizar casi cualquier libro, los diccionarios y los tesauros suelen ser las fuentes más populares, ya que
9
es probable que contengan casi cualquier palabra que pueda necesitarse. El destinatario de un cifrado de
clave en ejecución debe saber primero qué libro se utiliza; en este caso, supongamos que se trata de la
novela de ciencia ficción A Fire Upon the Deep, la edición TOR de 1992. Para descifrar el texto cifrado, el
receptor adquiere el libro, pasa a la página 259, encuentra la línea 19 y selecciona la octava palabra de
esa línea (que es “sack”). Luego, el receptor pasa a la página 22, línea 3, selecciona nuevamente la octava
palabra, y así sucesivamente. En este ejemplo, el mensaje resultante es “SACK ISLAND SHARP PATH”.
Si se utiliza un diccionario, el mensaje consta solo del número de página y el número de la palabra en
la página. Una versión aún más sofisticada podría utilizar varios libros, tal vez incluso en una secuencia
particular para cada palabra o frase.
El cifrado de clave continua es un sistema similar al cifrado de libro, que utiliza un libro para pasar la
clave a un sistema de cifrado similar al cifrado Vigenère. El remitente proporciona un mensaje cifrado
con una secuencia corta de números que indican la página, la línea y el número de palabra de un libro
predeterminado que se utilizará como clave o bloque indicador. A diferencia del cifrado Vigenère, si es
necesario ampliar la clave en un cifrado de clave continua, no se repite la clave, sino que se continúa el
texto a partir del bloque indicador. A partir de este punto, se sigue el mismo método básico que en el
cifrado Vigenère, utilizando la tabula recta para encontrar la columna en función del texto sin formato y
la fila en función de la letra del bloque indicador de clave.
Al invertir los procesos se descifra el texto cifrado, utilizando la letra y la clave del texto cifrado.
Simplemente se utiliza la fila o columna correspondiente a la letra clave, se busca el texto cifrado en la
fila o columna de texto y, a continuación, se identifica la letra en el eje opuesto. El diseño reflejado de la
tabla simplifica la selección de filas o columnas durante el cifrado y descifrado.
El cifrado de plantilla o cifrado de página perforada no es estrictamente un cifrado de cifrado, sino más
bien un ejemplo de esteganografía. El cifrado de plantilla implica el uso de un mensaje oculto en un libro,
carta u otro mensaje. El receptor debe usar una página con un número específico de agujeros cortados y
colocarla sobre la página del libro o la carta para extraer el mensaje oculto. Este cifrado, que se muestra
comúnmente en películas en las que un recluso envía mensajes codificados desde la prisión, es difícil de
ejecutar y fácil de detectar, siempre que se registre físicamente a cualquiera de las partes. La presencia
de la página perforada es un claro indicador de que se está produciendo algún tipo de comunicación con
un mensaje oculto. Un método mucho más simple sería emplear una variación de los acrósticos, donde
la primera letra de cada línea de un mensaje (o cada enésima letra) deletrearía un mensaje oculto.
10
valor hash, o resumen del mensaje, se calcula en función de la contraseña emitida originalmente, y este
resumen del mensaje se almacena para una comparación posterior. Cuando el usuario inicia sesión para
la siguiente sesión, el sistema calcula un valor hash en función de la contraseña ingresada por el usuario,
y este valor se compara con el valor almacenado para confirmar la identidad.
El Estándar de Hash Seguro (SHS, Secure Hash Standard) es emitido por el Instituto Nacional de
Estándares y Tecnología (NIST). El documento estándar FIPS 180-4 especifica SHA-1 (Algoritmo de
Hash Seguro 1) como un algoritmo seguro para calcular una representación condensada de un mensaje o
archivo de datos. SHA-1 produce un resumen de mensaje de 160 bits, que se puede utilizar como entrada
para un algoritmo de firma digital. SHA-1 se basa en principios modelados a partir de MD4, que forma
parte de la familia MD de algoritmos hash creados por Ronald Rivest. La familia SHA-2 de algoritmos
hash incluye SHA-256, SHA-384, SHA-512 y variantes relacionadas. La cantidad de bits utilizados en el
algoritmo hash es una medida de la fortaleza del algoritmo contra ataques de colisión, donde dos mensajes
diferentes pueden dar como resultado un valor hash idéntico. SHA-256 es esencialmente un algoritmo
de cifrado de bloques de 256 bits que crea una clave mediante el cifrado del valor hash intermedio,
con el bloque de mensajes funcionando como clave. La función de compresión opera en cada bloque de
mensajes de 512 bits y en un resumen de mensajes intermedio de 256 bits.2
Como se muestra en la Figura 10-4, hay herramientas gratuitas disponibles que pueden calcular
valores hash utilizando una serie de algoritmos populares.
Un método de ataque llamado rainbow cracking ha generado preocupación sobre la solidez de los
procesos utilizados para el hash de contraseñas. En general, si los atacantes obtienen acceso a un archivo
de contraseñas hasheadas, pueden utilizar una aplicación como RainbowCrack con su combinación de
ataques de fuerza bruta y de diccionario para revelar las contraseñas de los usuarios. Las bases de datos
de contraseñas hasheadas y sus equivalentes en texto sin formato se almacenan en tablas rainbow y se
utilizan fácilmente para realizar una búsqueda inversa de un valor hash en lugar de intentar utilizar un
enfoque de fuerza bruta.
Las contraseñas que son cortas, contienen palabras del diccionario o están mal construidas se pueden
descifrar fácilmente. El estándar actual de la industria es el estándar de contraseñas 10.4: una contraseña
debe incluir al menos 10 caracteres, con al menos una letra mayúscula, una letra minúscula, un número
y un carácter especial. Las contraseñas bien construidas y lo suficientemente largas pueden tardar mucho
tiempo en descifrarse incluso con los ordenadores más rápidos, pero al utilizar una tabla arcoíris (una
base de datos de hashes precalculados a partir de contraseñas calculadas secuencialmente), el descifrador
arcoíris simplemente busca la contraseña con hashes y lee la versión de texto. No se requiere fuerza bruta.
Este tipo de ataque se clasifica más correctamente como un ataque de compensación de tiempo y memoria.
Para defenderse de un ataque de este tipo, primero debe proteger el archivo de contraseñas con
hashes e implementar límites estrictos en la cantidad de intentos permitidos por sesión de inicio de
sesión. También puede utilizar un enfoque llamado salting de hashes de contraseñas. El salting es el
11
proceso de proporcionar un fragmento aleatorio de datos a la función de hash cuando se calcula el
hash por primera vez. El uso del valor de sal crea un hash diferente; cuando se utiliza un conjunto
grande de valores de sal, el descifrado arcoíris falla porque el equilibrio entre tiempo y memoria ya no
favorece al atacante. El valor de sal no se mantiene en secreto: se almacena junto con el identificador
de la cuenta para que el valor hash se pueda volver a crear durante la autenticación.3 Otras técnicas
incluyen la ampliación de claves y el fortalecimiento de claves. La ampliación de claves implica repetir el
algoritmo hash hasta varios miles de veces para inyectar continuamente la contraseña, el valor de sal y
los resultados hash provisionales en el proceso. El fortalecimiento de claves extiende la clave con el valor
de sal pero luego elimina el valor de sal.
3. Algoritmos criptográficos
En general, los algoritmos criptográficos suelen agruparse en dos grandes categorías: simétricos y asi-
métricos, pero en la práctica, los criptosistemas más populares de la actualidad utilizan una combinación
de ambos algoritmos. Los algoritmos simétricos y asimétricos se distinguen por los tipos de claves que
utilizan para las operaciones de cifrado y descifrado.
Existen varios sistemas criptográficos de cifrado simétrico populares. Uno de los más conocidos es
el Estándar de cifrado de datos (DES, Data Encryption Standard); fue desarrollado por IBM y se basa
en el algoritmo Lucifer de la compañía, que utiliza una longitud de clave de 128 bits. Tal como se
implementó, DES utiliza un tamaño de bloque de 64 bits y una clave de 56 bits. DES fue adoptado
por el NIST en 1976 como estándar federal para el cifrado de información no clasificada, después de
lo cual se utilizó ampliamente en aplicaciones comerciales. DES gozó de una creciente popularidad
durante casi 20 años hasta 1997, cuando los usuarios se dieron cuenta de que un tamaño de clave de 56
bits no proporcionaba niveles aceptables de seguridad. En 1998, un grupo llamado Electronic Frontier
Foundation (www.eff.org) utilizó una computadora especialmente diseñada para descifrar una clave DES
en poco más de 56 horas. Desde entonces, se ha teorizado que un ataque dedicado respaldado por el
12
hardware adecuado (no necesariamente una computadora especializada) podría descifrar una clave DES
en menos de un día.4
Triple DES (3DES) se creó para proporcionar un nivel de seguridad mucho más allá del de DES. 3DES
era una aplicación avanzada de DES y, si bien cumplió con su promesa de ofrecer una mayor potencia de
cifrado que DES, pronto demostró ser demasiado débil para sobrevivir indefinidamente, especialmente
porque la potencia de procesamiento seguía duplicándose cada 18 meses. En tan solo unos años, 3DES
tuvo que ser reemplazado.
El sucesor de 3DES es el Estándar de cifrado avanzado (AES, Advanced Encryption Standard). AES
es un estándar federal de procesamiento de información (FIPS) que especifica un algoritmo criptográfi-
co utilizado dentro del gobierno de los EE. UU. para proteger la información en agencias federales que
no forman parte de la infraestructura de defensa nacional. (Las agencias que se consideran parte de
la defensa nacional utilizan métodos de cifrado más seguros, que proporciona la Agencia de Seguridad
Nacional). Los requisitos para AES estipulan que el algoritmo debe ser no clasificado, divulgado pública-
mente y disponible sin regalías en todo el mundo. AES se desarrolló para reemplazar tanto a DES como
a 3DES. Si bien 3DES sigue siendo un algoritmo aprobado para algunos usos, su vida útil esperada es
limitada. Históricamente, los estándares criptográficos aprobados por FIPS han sido adoptados de forma
voluntaria por organizaciones fuera de las entidades gubernamentales. El proceso de selección de AES
implicó la cooperación entre el gobierno de los Estados Unidos, la industria privada y el mundo acadé-
mico de todo el mundo. AES fue aprobado por el Secretario de Comercio de los Estados Unidos como el
estándar gubernamental federal oficial el 26 de mayo de 2002.
AES implementa un cifrado de bloques llamado Cifrado de Bloques Rijndael con una longitud de
bloque variable y una longitud de clave de 128, 192 o 256 bits. Los expertos estiman que la computadora
especial utilizada por la Electronic Frontier Foundation para descifrar DES en un par de días requeriría
aproximadamente 4.698.864 quintillones de años (4.698.864.000.000.000.000.000) para descifrar AES.
13
Figura 10-6 Ejemplo de cifrado asimétrico
Los algoritmos asimétricos son funciones unidireccionales, lo que significa que son simples de calcu-
lar en una dirección, pero complejos de calcular en la dirección opuesta. Nuevamente, esta es la base
del cifrado de clave pública. Se basa en un valor hash, que se calcula a partir de un número de entrada
utilizando un algoritmo hash, como aprendió anteriormente en este módulo. Este valor hash es esen-
cialmente un resumen de los valores de entrada originales. Es virtualmente imposible derivar los valores
originales sin saber cómo se usaron para crear el valor hash. Por ejemplo, si multiplicas 45 por 235,
obtienes 10,575. Esto es bastante simple, pero si solo te dan el número 10,575, ¿puedes determinar qué
dos números se multiplicaron para producirlo?
Ahora supongamos que cada multiplicador tiene 200 dígitos y es primo. El producto multiplicativo
resultante podría tener hasta 400 dígitos. Imagina el tiempo que necesitarías para factorizar esos nú-
meros. Sin embargo, hay un atajo. En matemáticas, se lo conoce como trampilla (que es diferente de
una trampilla de software). Una trampilla matemática es un mecanismo secreto que te permite realizar
fácilmente la función inversa en una función unidireccional. Con una trampilla, puedes usar una clave
para cifrar o descifrar el texto cifrado, pero no ambas, por lo que se requieren dos claves. La clave pública
se convierte en la clave verdadera, y la clave privada se deriva de la clave pública utilizando la trampilla.
Uno de los criptosistemas de clave pública más populares es RSA, cuyo nombre deriva de Rivest,
Shamir y Adleman, los desarrolladores del algoritmo. El algoritmo RSA fue el primer algoritmo de ci-
frado de clave pública desarrollado (en 1977) y publicado para uso comercial. Es muy popular y se ha
incorporado a prácticamente todos los navegadores web disponibles para proporcionar seguridad a las
aplicaciones de comercio electrónico. El algoritmo RSA patentado se ha convertido en el estándar de
facto para aplicaciones de cifrado de uso público.
El problema con el cifrado asimétrico, como se muestra en la Figura 10-6, es que mantener una sola
conversación entre dos partes requiere cuatro claves: dos claves públicas y dos claves privadas relaciona-
das. Además, si cuatro organizaciones quieren intercambiar comunicaciones, cada parte debe administrar
su clave privada y cuatro claves públicas. En tales escenarios, determinar qué clave pública se necesita
para cifrar un mensaje en particular puede convertirse en un problema bastante confuso, y con más orga-
nizaciones involucradas, el problema se expande. Por este motivo, los expertos consideran a veces que el
cifrado asimétrico es ineficiente. En comparación con el cifrado simétrico, el cifrado asimétrico tampoco
es tan eficiente en términos de cálculos de CPU. En consecuencia, los sistemas híbridos, como los que
se describen más adelante en este módulo, se utilizan con más frecuencia que los sistemas asimétricos
puros.
14
la longitud de la clave aumenta la cantidad de conjeturas aleatorias que se deben realizar para descifrar
el código. La creación de un universo más grande de posibilidades aumenta el tiempo necesario para
hacer conjeturas, por lo que una clave más larga influye directamente en la solidez del cifrado.
Puede sorprenderle saber que, en lo que respecta a los criptosistemas, la seguridad de los datos ci-
frados no depende de mantener en secreto el algoritmo de cifrado. De hecho, los algoritmos deberían
publicarse y, a menudo, se hacen, para permitir que la investigación descubra sus debilidades. La seguri-
dad de cualquier criptosistema depende de mantener en secreto algunos o todos los elementos de la(s)
criptovariable(s) o la(s) clave(s); la seguridad efectiva se mantiene manipulando el tamaño (longitud en
bits) de las claves y siguiendo los procedimientos y políticas adecuados para la gestión de claves.
Para un ejemplo simple de cómo el tamaño de la clave se relaciona con la fuerza del cifrado, su-
pongamos que tiene un algoritmo que utiliza una clave de tres bits. Tal vez recuerde de lo que dijo
anteriormente en el módulo que el espacio de claves es el rango del que se puede extraer la clave. Tam-
bién puede recordar que en notación binaria, se pueden utilizar tres bits para representar valores de 000
a 111, que corresponden a los números del 0 al 7 en notación decimal y, por lo tanto, proporcionan un
espacio de claves de ocho claves. Esto significa que un algoritmo que utiliza una clave de tres bits tiene
ocho claves posibles; los números del 0 al 7 en binario son 000, 001, 010, 011, 100, 101, 110 y 111.
Si sabe cuántas claves tiene para elegir, puede programar una computadora para que pruebe todas las
claves en un intento de descifrar el mensaje cifrado.
La declaración anterior hace algunas suposiciones: (1) conoce el algoritmo, (2) tiene el mensaje
cifrado y (3) tiene tiempo libre. Es fácil satisfacer el primer criterio. Las herramientas de cifrado que
utilizan DES se pueden comprar sin receta. Muchas de estas herramientas se basan en algoritmos de
cifrado que son estándares, como lo es el propio DES, por lo que es relativamente fácil obtener un
criptosistema basado en DES que le permita descifrar un mensaje cifrado si posee la clave. El segundo
criterio requiere la interceptación de un mensaje cifrado, lo cual es ilegal pero no imposible. En cuanto
al tercer criterio, la tarea requerida es un ataque de fuerza bruta, en el que una computadora selecciona
aleatoriamente o secuencialmente posibles claves de un tamaño conocido y las aplica al texto cifrado
o a un fragmento del texto cifrado. Si el resultado es texto sin formato, ¡bingo! Pero, como se indicó
anteriormente en este módulo, puede llevar bastante tiempo ejercer fuerza bruta en criptosistemas más
avanzados. De hecho, la fuerza de un algoritmo está determinada por el tiempo que lleva adivinar la
clave.
Cuando se trata de claves, ¿cuánto es grande? Al principio de esta sección, aprendió que un sistema
de tres bits tiene ocho claves posibles. Un sistema de ocho bits tiene 256 claves posibles. Si se utiliza una
clave de 24 bits, que es insignificante según los estándares modernos, se tienen casi 16,8 millones de cla-
ves posibles. Aun así, un ordenador moderno, como el que se describe en la Tabla 10-5, podría descubrir
esta clave en apenas unos segundos. Pero, como muestra la tabla, la cantidad de tiempo necesaria para
descifrar un código adivinando su clave crece exponencialmente con cada bit adicional.
Una cosa que hay que tener en cuenta es que, aunque el tiempo estimado para descifrar una cla-
ve aumenta rápidamente con respecto al número de bits de la clave de cifrado y las probabilidades de
descifrado parecen insuperables a primera vista, la Tabla 10-5 no tiene en cuenta el hecho de que la
potencia informática de alta gama ha aumentado y sigue siendo más accesible. Otro desafío es el uso
de unidades de procesamiento gráfico (GPU) que se encuentran en las tarjetas de vídeo, así como la
aparición de procesadores de computación cuántica. Estos potentes métodos de computación se pueden
utilizar para realizar cálculos de criptoanálisis, normalmente a un ritmo más rápido que la CPU principal
de una computadora típica. Por lo tanto, incluso el cifrado de 56 bits, que alguna vez fue estándar, ya no
puede resistir los ataques de fuerza bruta de las computadoras personales, especialmente si se utilizan
varias computadoras juntas para descifrar las claves. Cada computadora adicional reduce la cantidad
de tiempo necesario. Dos computadoras pueden dividir el espacio de claves (el conjunto completo de
posibles combinaciones de bits que pueden ser la criptovariable o clave) y descifrar la clave en aproxi-
madamente la mitad del tiempo, y así sucesivamente. Esto significa que las personas que tienen acceso a
múltiples sistemas, entornos de computación en red, clústeres de computación de GPU o futuras compu-
tadoras cuánticas podrían acelerar radicalmente los esfuerzos de descifrado de claves por fuerza bruta.
Sin embargo, una preocupación aún mayor es la facilidad con la que se pueden leer mensajes cifrados
por lo que parecen ser algoritmos indescifrables si se tiene la clave. La gestión de claves (y la gestión de
contraseñas) es el aspecto más crítico de cualquier criptosistema para proteger la información cifrada, y
es incluso más importante en muchos casos que la solidez de la clave.
Tabla 10-5 Potencia de la clave de cifrado
15
¿Por qué, entonces, los sistemas de cifrado como DES incorporan múltiples elementos u operaciones?
Considere lo siguiente: si un criptosistema utiliza la misma operación (XOR, sustitución o transposición)
varias veces consecutivas, no obtiene ningún beneficio adicional. Por ejemplo, si se utiliza un cifrado
de sustitución y se sustituye B por A, luego R por B y luego Q por R, se obtiene el mismo efecto que
si se sustituye Q por A. De manera similar, en lugar de transponer un carácter en la posición 1, luego
en la posición 4 y luego en la posición 3, un criptosistema podría haber transpuesto más fácilmente el
carácter de la posición 1 a la posición 3. No hay ninguna ventaja neta en las operaciones secuenciales
a menos que cada operación posterior sea diferente. Por lo tanto, para sustituir, luego transponer, luego
ejecutar una operación XOR y luego sustituir nuevamente, el criptosistema habrá alterado, sustituido y
recodificado drásticamente el texto simple original con texto cifrado, todo con la esperanza de hacer que
la información sea indescifrable sin la clave.
4. Herramientas criptográficas
La capacidad de ocultar el contenido de mensajes confidenciales y de verificar el contenido de los
mensajes y la identidad de sus remitentes puede ser importante en todas las áreas de negocios. Para que
sean útiles, estas capacidades criptográficas deben estar incorporadas en herramientas que permitan a los
profesionales de TI y de seguridad de la información aplicar los elementos de la criptografía en el mundo
cotidiano de la informática. Esta sección cubre algunas de las herramientas ampliamente utilizadas que
incorporan las funciones de la criptografía al mundo de los sistemas de información.
Autenticación: las personas, las organizaciones y los servidores web pueden validar la identidad de
cada parte en una transacción de Internet.
Integridad: se sabe que el contenido firmado por el certificado no se ha alterado mientras estaba en
tránsito de un host a otro o de un servidor a un cliente.
16
Privacidad: la información está protegida contra la interceptación durante la transmisión.
Autorización: la identidad validada de los usuarios y los programas puede habilitar reglas de auto-
rización que permanecen vigentes durante la duración de una transacción; Esto reduce los gastos
generales y permite un mayor control de los privilegios de acceso para transacciones específicas.
No repudio: los clientes o socios pueden ser considerados responsables de transacciones, como
compras en línea, que no pueden disputar más tarde. Una solución PKI típica protege la transmisión
y recepción de información segura mediante la integración de los siguientes componentes:
Una solución PKI típica protege la transmisión y recepción de información segura integrando los
siguientes componentes:
Una autoridad de certificación (CA), que emite, administra, autentica, firma y revoca los certifi-
cados digitales de los usuarios. Estos certificados generalmente contienen el nombre del usuario,
la clave pública y otra información de identificación.
Una autoridad de registro (RA), que maneja funciones de certificación como verificar información
de registro, generar claves de usuario final, revocar certificados y validar certificados de usuario,
en colaboración con la CA.
Directorios de certificados, que son ubicaciones centrales para el almacenamiento de certificados
que proporcionan un único punto de acceso para administración y distribución.
Protocolos de administración, que organizan y administran las comunicaciones entre las CA, las
RA y los usuarios finales. Esto incluye las funciones y procedimientos para configurar nuevos usua-
rios, emitir claves, recuperar claves, actualizar claves, revocar claves y habilitar la transferencia de
certificados e información de estado entre las partes involucradas en el área de autoridad de la PKI.
Políticas y procedimientos, que ayudan a una organización en la aplicación y administración de
certificados, en la formalización de responsabilidades y limitaciones legales y en el uso comercial
real.
Las implementaciones comunes de PKI incluyen sistemas que emiten certificados digitales a usuarios
y servidores, inscripción de directorios, sistemas de emisión de claves, herramientas para administrar la
emisión de claves y verificación y devolución de certificados. Estos sistemas permiten a las organizaciones
aplicar una solución para toda la empresa que permite a los usuarios dentro del área de autoridad de la
PKI participar en comunicaciones y transacciones seguras y autenticadas.
La CA realiza muchas actividades de mantenimiento para las claves y los certificados que se emiten
y utilizan en su zona de autoridad. Cada usuario se autentica a sí mismo con la CA. La CA puede emitir
claves nuevas o de reemplazo, realizar un seguimiento de las claves emitidas, proporcionar un directorio
de valores de clave pública para todos los usuarios conocidos y realizar otras actividades de gestión.
Cuando una clave privada se ve comprometida o el usuario pierde el privilegio de utilizar claves en el
área de autoridad, la CA puede revocar las claves del usuario. La CA distribuye periódicamente una lista
de revocación de certificados (CRL, Certificate Revocation List) a todos los usuarios. Cuando ocurren
eventos importantes, aplicaciones específicas pueden realizar una solicitud en tiempo real a la CA para
verificar a cualquier usuario con respecto a la CRL actual.
La emisión de certificados y sus claves por parte de la CA permite transacciones de comercio elec-
trónico seguras, cifradas e irrefutables. Algunas aplicaciones permiten a los usuarios generar sus propios
certificados y claves, pero un par de claves generado por el usuario final sólo puede proporcionar no
repudio, no cifrado fiable. Un sistema central operado por una CA o RA puede generar claves criptográfi-
camente fuertes que todos los usuarios consideren fiables de forma independiente, y puede proporcionar
servicios a los usuarios como copia de seguridad de claves privadas, recuperación de claves y revocación
de claves.
La solidez de un criptosistema depende tanto de la solidez bruta de la complejidad de su clave como
de la calidad general de su seguridad de gestión de claves. Las soluciones PKI pueden proporcionar varios
mecanismos para limitar el acceso y la posible exposición de las claves privadas. Estos mecanismos
incluyen protección con contraseña, tarjetas inteligentes, tokens de hardware y otros dispositivos de
almacenamiento de claves basados en hardware que sean compatibles con memoria, como memoria
17
flash o tarjetas de memoria para PC. Los usuarios de PKI deben seleccionar los mecanismos de seguridad
de claves que proporcionen un nivel adecuado de protección de claves para sus necesidades. La gestión
de la seguridad y la integridad de las claves privadas utilizadas para el no repudio o el cifrado de archivos
de datos es fundamental para utilizar con éxito los servicios de cifrado y no repudio dentro del área de
confianza de la PKI.5
18
A diferencia de las firmas digitales, que ayudan a autenticar el origen de un mensaje, los certifica-
dos digitales autentican la clave criptográfica que está incorporada en el certificado. Cuando se utilizan
correctamente, estos certificados permiten a los usuarios diligentes verificar la autenticidad de los certi-
ficados de cualquier organización. Este proceso es muy parecido a lo que sucede cuando la Corporación
Federal de Seguro de Depósitos (FDIC) emite su logotipo para asegurar a los clientes que un banco es
auténtico. Las distintas aplicaciones cliente-servidor utilizan distintos tipos de certificados digitales para
cumplir con sus funciones asignadas, como se indica a continuación:
Se crean dos tipos de certificados populares utilizando Pretty Good Privacy (PGP) y aplicaciones que
cumplen con la versión 3 del estándar X.509 de la Unión Internacional de Telecomunicaciones (UIT-T).
El certificado X.509 v3, cuya estructura se describe en la Tabla 10-6, es una recomendación de la UIT-
T que define esencialmente un servicio de directorio que mantiene una base de datos de información
(también conocida como repositorio) sobre un grupo de usuarios que poseen certificados X.509 v3. Estos
certificados vinculan un nombre distinguido (DN, Distinguished Name), que identifica de forma única
a una entidad de certificado, a la clave pública de un usuario. La CA firma el certificado y lo coloca
en el directorio para su recuperación y verificación mediante la clave pública asociada del usuario. La
recomendación del estándar X.509 v3 no especifica un algoritmo de cifrado, aunque normalmente se
utiliza RSA, con su firma digital en hash.
Tabla 10-6 Estructura del certificado X.509 v36
19
4.4. Sistemas de criptografía híbrida
A excepción de su uso en certificados digitales, el cifrado de clave asimétrica en su forma pura no se
utiliza ampliamente. Sin embargo, a menudo se utiliza junto con el cifrado de clave simétrica, es decir,
como parte de un sistema de cifrado híbrido. El sistema híbrido más común se basa en el intercambio
de claves Diffie-Hellman, que utiliza cifrado asimétrico para intercambiar claves de sesión. Se trata de
claves simétricas de uso limitado que permiten a dos entidades llevar a cabo comunicaciones rápidas,
eficientes y seguras basadas en el cifrado simétrico, que es más eficiente que el cifrado asimétrico para
enviar mensajes. Diffie-Hellman proporciona la base para los desarrollos posteriores en cifrado de clave
pública. Protege los datos de la exposición a terceros, lo que a veces es un problema cuando las claves se
intercambian fuera de banda.
Un enfoque de cifrado híbrido se ilustra en la Figura 10-8, y funciona de la siguiente manera: Alex
en XYZ Corp. quiere comunicarse con Rachel en ABC Corp., por lo que Alex primero crea una clave de
sesión. Alex cifra un mensaje con esta clave de sesión y luego obtiene la clave pública de Rachel. Alex
utiliza la clave pública de Rachel para cifrar tanto la clave de sesión como el mensaje, que ya está cifrado.
Alex transmite el paquete completo a Rachel, que utiliza su clave privada para descifrar el paquete que
contiene la clave de sesión y el mensaje cifrado, y luego utiliza la clave de sesión para descifrar el
mensaje. Rachel puede seguir utilizando solo esta clave de sesión para las comunicaciones electrónicas
hasta que caduque la clave de sesión. La clave de sesión asimétrica se utiliza en los procesos mucho más
eficientes de cifrado y descifrado simétrico. Una vez que caduca la clave de sesión, normalmente en unos
minutos, se elige una nueva clave de sesión y se comparte utilizando el mismo proceso.
4.5. Esteganografía
La palabra esteganografía (el arte de la escritura secreta) se deriva de las palabras griegas siéganos,
que significa “cubierto”, y graphein, que significa “escribir”. El historiador griego Heródoto describió a
uno de los primeros esteganógrafos, un compatriota griego que advirtió de una invasión inminente escri-
biendo un mensaje en la madera debajo de una tablilla de cera para escribir.7 Si bien la esteganografía
técnicamente no es una forma de criptografía, es otra forma de proteger la confidencialidad de la infor-
mación en tránsito. La versión moderna más popular de la esteganografía implica ocultar información
dentro de archivos que contienen imágenes digitales u otras imágenes.
Para entender cómo funciona este ejemplo de esteganografía, primero debe saber un poco sobre
cómo se almacenan las imágenes. La mayoría de los estándares de gráficos de computadora utilizan una
combinación de tres valores de color (rojo, azul y verde [RGB]) para representar un elemento de imagen
o píxel. Cada uno de los tres valores de color generalmente requiere un código de ocho bits para la
intensidad de ese color; Por ejemplo, 00000000 (o simplemente 0) es el valor para que no haya rojo y
11111111 (o 255) es el rojo máximo. Cada píxel de una imagen en color requiere 3 colores × 8 bits
20
= 24 bits para representar la mezcla de colores y la intensidad. Algunos estándares de codificación de
imágenes utilizan más o menos bits por píxel. Cuando se crea una imagen con una cámara digital o un
programa informático, la cantidad de píxeles horizontales y verticales capturados y registrados se conoce
como resolución de la imagen. Así, por ejemplo, si se registran 1024 píxeles horizontales y se capturan
768 píxeles verticales, la imagen tiene una resolución de 1024 × 768 y se dice que tiene 786 432 píxeles,
o tres cuartos de un megapíxel. Una imagen de 1024 × 768 píxeles contiene 786 432 grupos de 24 bits
para representar los datos de rojo, verde y azul. El tamaño de la imagen en bruto se puede calcular como
1.024 × 768 × 24, o 5,66 megabytes. Hay muchos bits en este archivo de datos de imagen en los que se
puede ocultar un mensaje secreto.
A simple vista, no hay una diferencia perceptible entre un píxel con una intensidad de rojo de
00101001 y un píxel ligeramente diferente con un nivel de intensidad de rojo de 00101000. El uso
de este enfoque proporciona a un esteganógrafo un bit de carga útil por color (o tres bits por píxel) para
utilizar para codificar datos en un archivo de imagen. Si un proceso esteganográfico utiliza tres bits por
píxel para los 786.432 píxeles, podrá almacenar 236 kilobytes de datos ocultos dentro de la imagen sin
comprimir.
Algunas herramientas esteganográficas pueden calcular la imagen más grande que se puede almace-
nar antes de que sea detectable. Los mensajes también se pueden ocultar en archivos de computadora
que no contienen imágenes; Si estos archivos no utilizan todos los bits disponibles, los datos pueden
colocarse en un lugar donde el software los ignora y la gente casi nunca los mira. Algunas aplicaciones
pueden ocultar mensajes en archivos .bmp, .wav, .mp3 y .au, así como en espacios de almacenamiento no
utilizados en CD y DVD. Otro método consiste en ocultar un mensaje en un archivo de texto o documento
y almacenar la carga útil en lo que parece ser un espacio en blanco no utilizado.
Incluso antes de los ataques del 11 de septiembre de 2001, las agencias federales de los Estados
Unidos llegaron a creer que las organizaciones terroristas estaban .ocultando mapas y fotografías de
objetivos terroristas y publicando instrucciones para actividades terroristas en salas de chat deportivas,
tablones de anuncios pornográficos y otros sitios webütilizando métodos esteganográficos. No se ha
hecho pública ninguna prueba documentada de esta actividad.8 Sin embargo, la Electronic Frontier
Foundation (www.eff.org) estableció que el Servicio Secreto de los Estados Unidos trabajó con varios
fabricantes de impresoras láser a color para utilizar la esteganografía para codificar los números de serie
de las impresoras en documentos impresos.
21
Protocolo Uso
Capa de sockets seguros (SSL) Habilita comunicaciones de red seguras a través de Internet
HTTP seguro (HTTPS) Habilita comunicaciones seguras del navegador a través de Inter-
net
Extensiones de correo de Internet seguras/multipropósito Habilita la transmisión segura de correo electrónico
(S/MIME)
Correo con privacidad mejorada (PEM)
Privacidad bastante buena (PGP) Habilita la transmisión segura de correo electrónico y comunica-
ciones TCP/IP
Transacciones electrónicas seguras (SET) Habilita transacciones web seguras
Privacidad equivalente por cable (WEP) Habilita comunicaciones de red seguras a través de conexiones
inalámbricas
Acceso protegido Wi-Fi (WPA)
Acceso protegido Wi-Fi versión 2 (WPA2)
Red segura robusta (RSN)
Bluetooth
Seguridad IP (IPSec) Habilita la transmisión segura a través de comunicaciones TCP/IP
22
SSL proporciona dos capas de protocolo dentro del marco TCP: Protocolo de registro SSL y HTTP es-
tándar. El Protocolo de registro SSL es responsable de la fragmentación, compresión, cifrado y adjuntar
un encabezado SSL al texto sin formato antes de la transmisión. Los mensajes cifrados recibidos se desci-
fran y se vuelven a ensamblar para su presentación a los niveles superiores del protocolo. El Protocolo de
registro SSL proporciona servicios básicos de seguridad y comunicación a los niveles superiores de la pila
de protocolos SSL. El protocolo HTTP estándar proporciona servicios de comunicación por Internet entre
clientes y hosts sin tener en cuenta el cifrado de los datos que se transmiten entre clientes y servidores.
El protocolo HTTP seguro (HTTPS, Secure HTTP) es una versión extendida del protocolo de trans-
ferencia de hipertexto que permite el cifrado de mensajes individuales transmitidos a través de Internet
entre un cliente y un servidor. HTTPS es la aplicación de SSL sobre HTTP, que permite el cifrado de toda
la información que pasa entre dos ordenadores a través de una conexión virtual protegida y segura. A
diferencia de SSL, en el que se establece un canal seguro durante la duración de una sesión, HTTPS está
diseñado para enviar mensajes individuales a través de Internet; por lo tanto, se debe establecer una
sesión para cada intercambio individual de datos. Para establecer una sesión, el cliente y el servidor de-
ben tener sistemas criptográficos compatibles y estar de acuerdo con la configuración. A continuación, el
cliente HTTPS debe enviar al servidor su clave pública para que este pueda generar una clave de sesión.
La clave de sesión del servidor se cifra entonces con la clave pública del cliente y se devuelve al cliente.
Una vez que el cliente descifra la clave utilizando su clave privada, el cliente y el servidor poseen claves
de sesión idénticas, que pueden utilizar para cifrar los mensajes que se envían entre ellos.
HTTPS puede brindar confidencialidad, autenticación e integridad de datos a través de una variedad
de modelos de confianza y algoritmos criptográficos. Además, este protocolo está diseñado para una fácil
integración con aplicaciones HTTP existentes y para su implementación junto con HTTP.
23
Tabla 10-8 Funciones y algoritmos de S/MIME
Función Algoritmo
Código hash para firmas digitales Algoritmo hash seguro 1 (SHA-1)
Firmas digitales DSS
Claves de sesión de cifrado ElGamal (variante de Diffie–Hellman)
Firmas digitales y claves de sesión RSA
Cifrado de mensajes 3DES, RC2
5.3. Cómo proteger las transacciones web con SET, SSL y HTTPS
Así como PGP, PEM y S/MIME funcionan para proteger las operaciones de correo electrónico, hay
varios protocolos relacionados que funcionan para proteger los navegadores web, especialmente en los
sitios de comercio electrónico. Entre estos protocolos se encuentran SET, SSL, HTTPS, Secure Shell (SSH-
2) y IP Security (IPSec). Aprendió sobre SSL y HTTPS anteriormente en este módulo.
Las transacciones electrónicas seguras (SET, Secure Electronic Transactions) fueron desarrolladas
por MasterCard y Visa en 1997 para proteger contra el fraude en los pagos electrónicos. SET utiliza DES
para cifrar las transferencias de información de tarjetas de crédito y RSA para el intercambio de claves.
SET proporciona seguridad tanto para las transacciones con tarjetas de crédito basadas en Internet como
para los sistemas de deslizamiento de tarjetas de crédito en tiendas minoristas. SSL también proporcio-
na transacciones de comercio electrónico seguras en línea. SSL utiliza varios algoritmos, pero se basa
principalmente en RSA para la transferencia de claves y utiliza IDEA, DES o 3DES para la transferencia
de datos cifrada basada en claves simétricas. La Figura 10-7, mostrada anteriormente, ilustra el tipo de
certificado e información SSL que aparece cuando realiza el pago en un sitio de comercio electrónico.
Si su conexión web no muestra automáticamente dichos certificados, puede hacer clic en el candado
en la ventana del campo URL de su navegador para ver el cifrado de la conexión y las propiedades del
certificado.
WEP fue un intento temprano de proporcionar seguridad con el protocolo de red 802.11. Ahora se
considera demasiado débil criptográficamente para proporcionar una protección significativa contra las
escuchas clandestinas, pero durante un tiempo proporcionó cierta medida de seguridad para redes de
baja sensibilidad. WEP utiliza el flujo de cifrado RC4 para cifrar cada paquete utilizando una clave de
64 bits. Esta clave se crea utilizando un vector de inicialización de 24 bits y un valor de clave de 40
bits. Los paquetes se forman con una función XOR para utilizar el flujo de valor de clave RC4 para cifrar
el paquete de datos. Se calcula un valor de verificación de integridad (ICV) de cuatro bytes para cada
paquete y luego se adjunta.9 Según muchos expertos, WEP es demasiado débil para su uso en la mayoría
de las configuraciones de red por las siguientes razones:10
La gestión de claves no es eficaz porque la mayoría de las redes utilizan un único valor de clave
secreta compartida para cada nodo. La sincronización de los cambios de clave es un proceso tedioso
y no se define ninguna gestión de claves en el protocolo, por lo que las claves rara vez se cambian.
24
El vector de inicialización (IV) es demasiado pequeño, lo que da como resultado el reciclaje de
IV. Un atacante puede aplicar ingeniería inversa al flujo de cifrado RC4 y descifrar los paquetes
subsiguientes, o puede falsificar los paquetes futuros. En 2007, se logró un descifrado por fuerza
bruta en menos de un minuto.11
En resumen, un intruso que recopile suficientes datos puede amenazar una red WEP en apenas unos
minutos descifrando o alterando los datos que se transmiten, o falsificando la clave WEP para obtener
acceso no autorizado a la red. WEP también carece de un medio para validar las credenciales de usuario
para garantizar que solo los usuarios autorizados de la red puedan acceder a ella.
WPA se creó para resolver los problemas con WEP. WPA tiene un tamaño de clave de 128 bits;
en lugar de claves estáticas que rara vez se modifican, utiliza claves dinámicas creadas y compartidas
por un servidor de autenticación. WPA logra esto mediante el uso del Protocolo de integridad de clave
temporal (TKIP). TKIP es un conjunto de algoritmos que intenta ofrecer la mejor seguridad posible
dadas las limitaciones del entorno de red inalámbrica. Los algoritmos están diseñados para funcionar
con dispositivos de red heredados. TKIP añade cuatro nuevos algoritmos además de los que se utilizaban
en WEP:
Un código de integridad de mensajes criptográficos, o MIC, llamado Michael, para derrotar falsifi-
caciones
Una nueva disciplina de secuenciación de IV para eliminar los ataques de repetición del arsenal del
atacante
Una función de mezcla de claves por paquete para descorrelacionar los IV públicos de las claves
débiles
Un mecanismo de recodificación para proporcionar nuevas claves de cifrado e integridad, elimi-
nando la amenaza de ataques derivados de la reutilización de claves.12
Si bien ofrecía una seguridad considerablemente mejorada en comparación con WEP, WPA no era el
diseño de protocolo inalámbrico más seguro. Se hicieron algunos compromisos en el diseño de seguridad
para permitir la compatibilidad con los componentes de redes inalámbricas existentes. Actualmente se
están desarrollando protocolos para reemplazar a TKIP. La Tabla 10-9 proporciona un resumen de las
diferencias entre WEP y WPA.
Tabla 10-9 WEP frente a WPA
WEP WPA
Encriptación Descifrada por científicos y piratas informáticos Supera todas las deficiencias de WEP
Clave de 40 bits Clave de 128 bits
Clave estática: todos los usuarios de la red utilizan el Claves dinámicas: a cada usuario se le asigna una cla-
mismo valor ve por sesión y se calculan claves adicionales para ca-
da paquete
Distribución manual de claves: cada clave se escribe a Distribución automática de claves
mano en cada dispositivo
Autenticación Descifrada; se utiliza la propia clave WEP para la au- Autenticación de usuarios mejorada, utilizando
tenticación 802.1X y EAP más seguros
Source: www.wi-fi.org/files/wp_8_WPA %20Security_4-29-03.pdf
En 2004, WPA2 se puso a disposición como reemplazo de WPA. WPA2 proporcionó muchos de los
elementos que faltaban en WPA, en particular el cifrado basado en AES. A partir de 2006, WPA2 se volvió
obligatorio para todos los nuevos dispositivos Wi-Fi. WPA2 es compatible con WPA, aunque algunas
tarjetas de red más antiguas tienen dificultades para usarlo.
La última versión, WPA3, se implementó en 2018; utiliza claves de 192 bits y elimina la clave precom-
partida mediante el uso de Autenticación Simultánea de Iguales. Se espera que esto mejore la seguridad
general de las comunicaciones inalámbricas e implemente opciones para dispositivos IoT sin interfaces
de visualización de usuario.
25
5.4.3. Protocolos inalámbricos de próxima generación
Robust Secure Network (RSN) es un protocolo para establecer comunicaciones seguras a través de
una red inalámbrica 802.11. Forma parte del estándar 802.Hi. RSN utiliza AES junto con 802.lx y EAP.
RSN amplía AES con el protocolo Counter Mode CBC MAC (CCMP). AES admite longitudes de clave
de hasta 256 bits, pero no es compatible con hardware más antiguo. Sin embargo, una especificación
llamada Transitional Security Network (TSN) permite que RSN y WEP coexistan en la misma WLAN. Sin
embargo, tenga en cuenta que una WLAN en la que los dispositivos aún utilizan WEP no está protegida
de forma óptima.
El protocolo RSN funciona de la siguiente manera:
2. El punto de acceso inalámbrico envía una respuesta de sondeo con un marco de intercambio de
información (IE) RSN.
3. La NIC inalámbrica solicita autenticación a través de uno de los métodos aprobados.
4. El punto de acceso inalámbrico proporciona autenticación para la NIC inalámbrica.
5. La NIC inalámbrica envía una solicitud de asociación con una trama RSN IE.
6. El punto de acceso inalámbrico envía una respuesta de asociación.13
5.4.4. Bluetooth
Bluetooth es un estándar industrial de facto para las comunicaciones inalámbricas de corto alcance
entre dispositivos. Se utiliza para establecer enlaces de comunicaciones entre teléfonos inalámbricos y
auriculares, entre PDA y ordenadores de sobremesa, y entre portátiles. Fue establecido por científicos de
Ericsson y pronto se involucraron Intel, Nokia, IBM y Toshiba. Microsoft, Lucent Technologies y 3Com
se unieron al grupo industrial poco después de su creación. Miles de millones de dispositivos habilitados
con Bluetooth ya están en uso, y cada día se ponen en servicio más.
El enlace de comunicaciones inalámbricas Bluetooth puede ser explotado por cualquier persona den-
tro de un rango de aproximadamente 30 pies a menos que se implementen controles de seguridad
adecuados. En el modo detectable (que permite que otros sistemas Bluetooth cercanos detecten y se co-
necten) se puede acceder fácilmente a los dispositivos, de forma muy similar a una carpeta compartida
en un ordenador en red. Incluso en el modo no detectable, el dispositivo es susceptible de acceso por
parte de otros dispositivos que se han conectado con él en el pasado.14 De forma predeterminada, Blue-
tooth no autentica las conexiones; sin embargo, Bluetooth implementa cierto grado de seguridad cuando
los dispositivos acceden a determinados servicios, como cuentas de acceso telefónico y transferencias
de archivos de área local. Los dispositivos emparejados (normalmente un ordenador o un teléfono y un
periférico que el usuario pretende conectar) requieren que se introduzca la misma clave de acceso en
ambos dispositivos. Esta clave se utiliza para generar una clave de sesión, que se utiliza para todas las
comunicaciones futuras. Por desgracia, algunos ataques pueden eludir esta clave. Si los atacantes utili-
zan un dispositivo para simular un punto de acceso Bluetooth, pueden engañar al dispositivo para que se
conecte con él. El punto de acceso falso puede capturar y almacenar todas las comunicaciones, incluido
el envío de la clave de acceso.
En agosto de 2005 se produjo uno de los primeros ataques a los teléfonos inteligentes con Bluetooth.
En el Campeonato Mundial de Atletismo de Helsinki, un virus llamado Cabir infectó a docenas de te-
léfonos. Se propagó rápidamente a través de un mensaje que muchos usuarios aceptaron sin pensar,
descargando así el virus. Cabir sólo agotó las baterías de los teléfonos, pero demostró que estos dispo-
sitivos no son inmunes a los ataques. Una empresa de seguridad finlandesa, F-Secure, envió personal al
evento para ayudar a eliminar el virus.15
La única forma de proteger los dispositivos con Bluetooth es incorporar un enfoque doble: apagar el
Bluetooth cuando no se tiene la intención de usarlo y no aceptar una solicitud de emparejamiento de
comunicaciones entrante a menos que se conozca la identidad del solicitante.
26
5.5. Protección de TCP/IP con IPSec y PGP
IP Security (IPSec) es un marco de protocolo de código abierto para el desarrollo de seguridad
dentro de la familia TCP/IP de estándares de protocolo. Se utiliza para proteger las comunicaciones a
través de redes basadas en IP, como redes LAN, WAN e Internet. El protocolo está diseñado para proteger
la integridad de los datos, la confidencialidad del usuario y la autenticidad a nivel de paquetes IP. IPSec
es el producto de cifrado y autenticación criptográfica del Grupo de trabajo de seguridad del protocolo
IP del IETF. A menudo se lo describe como el sistema de seguridad de la versión 6 de IP, la versión futura
del protocolo TCP/IP, adaptada para su uso con la versión 4 de IP (la versión actual). IPSec se define
en RFC 1825, 1826 y 1827, y se utiliza ampliamente para crear redes privadas virtuales (VPN), que se
describieron en el Módulo 8. IPSec en sí es en realidad un marco abierto.
IPSec incluye el propio protocolo de seguridad IP, que especifica la información que se debe agregar
a un paquete IP, así como la forma de cifrar los datos del paquete. IPSec también incluye el Internet
Key Exchange, que utiliza un intercambio de claves basado en la asimetría y negocia las asociaciones
de seguridad. IPSec funciona en dos modos: transporte y túnel. En el modo de transporte, sólo se
cifran los datos IP, no los encabezados IP. Esto permite que los nodos intermedios lean las direcciones
de origen y destino. En el modo de túnel, se cifra todo el paquete IP y luego se coloca en la parte de
contenido de otro paquete IP. Esto requiere que otros sistemas al principio y al final del túnel actúen
como servidores proxy para enviar y recibir los paquetes cifrados. Estos sistemas luego transmiten los
paquetes descifrados a sus verdaderos destinos.
IPSec utiliza varios criptosistemas diferentes:
Intercambio de claves Diffie-Hellman para obtener material de claves entre pares en una red pública
Criptografía de clave pública para firmar los intercambios Diffie-Hellman para garantizar la identi-
dad de las dos partes
27
Figura 10-9 Encabezados IPSec
El protocolo ESP proporciona servicios de confidencialidad para paquetes IP en redes inseguras. ESP
también puede proporcionar los servicios de autenticación de AH. El lado derecho de la Figura 10-9
muestra información sobre el encabezado del paquete ESP. ESP en modo túnel se puede utilizar para
establecer una red privada virtual, lo que garantiza el cifrado y la autenticación entre redes que se
comunican a través de Internet. En el modo túnel, todo el paquete IP se cifra con el encabezado ESP
adjunto. Se adjunta un nuevo encabezado IP a la carga útil cifrada, que proporciona la información de
enrutamiento necesaria.
Se inserta un encabezado ESP en el paquete IP antes del encabezado TCP y se coloca un tráiler ESP
después del paquete IPv4. Si se desea autenticación, se añade un campo de datos de autenticación ESP
después del tráiler ESP. Se cifra el segmento de transporte completo, además del tráiler ESP. En una
transmisión IPv6, el encabezado ESP se coloca después de los encabezados de salto a salto y de enru-
tamiento. El cifrado en IPv6 cubre el segmento de transporte y el tráiler ESP. La autenticación tanto en
IPv4 como en IPv6 cubre los datos de texto cifrado más el encabezado ESP. Los sistemas compatibles con
IPSec ESP deben admitir la implementación del algoritmo DES utilizando el modo CBC (encadenamiento
de bloques de cifrado), que incorpora los siguientes algoritmos de cifrado: Triple DES, IDEA, RC5, CAST
y Blowfish.
Pretty Good Privacy (PGP) es un criptosistema híbrido que combina algunos de los mejores algoritmos
criptográficos disponibles. Se ha convertido en el estándar de facto de código abierto para el cifrado y la
autenticación de aplicaciones de correo electrónico y almacenamiento de archivos. Existen versiones de
PGP tanto gratuitas como comerciales de bajo costo para una amplia variedad de plataformas. La Tabla
10-10 enumera las funciones de PGP.
La solución de seguridad PGP proporciona seis servicios: autenticación mediante firmas digitales,
cifrado de mensajes, compresión, compatibilidad con correo electrónico, segmentación y administración
de claves.
Como se muestra en la Tabla 10-10, uno de los algoritmos utilizados en el cifrado de clave pública
PGP es el algoritmo de hash seguro 1 (SHA-1), que calcula valores hash para calcular un código hash de
160 bits basado en el mensaje de texto simple. Luego, el código hash se cifra con DSS o RSA y se adjunta
al mensaje original. El destinatario utiliza la clave pública del remitente para descifrar y recuperar el
código hash. Utilizando el mismo algoritmo de cifrado, el destinatario genera un nuevo código hash a
partir del mismo mensaje. Si los dos códigos hash son idénticos, el mensaje y el remitente son auténticos.
28
El remitente también puede querer proteger todo el contenido del mensaje de la vista no autorizada. Se
pueden utilizar algoritmos estándar como 3DES, IDEA o CAST para cifrar el contenido del mensaje con
una clave de sesión única de 128 bits generada aleatoriamente. La clave de sesión se cifra mediante RSA
utilizando la clave pública del destinatario y luego se adjunta al mensaje. El destinatario utiliza su clave
privada con RSA para descifrar y recuperar la clave de sesión. La clave de sesión recuperada se utiliza
para descifrar el mensaje. La autenticación y el cifrado de mensajes se pueden utilizar juntos firmando
primero digitalmente el mensaje con una clave privada, cifrando el mensaje con una clave de sesión
única y luego cifrando la clave de sesión con la clave pública del destinatario previsto.
Tabla 10-10 Funciones de PGP17
PGP utiliza el algoritmo gratuito ZIP para comprimir el mensaje después de haberlo firmado digital-
mente pero antes de cifrarlo. Esto ahorra espacio y genera un documento cifrado más seguro porque
un archivo más pequeño ofrece a un atacante menos posibilidades de buscar patrones en los datos y
menos caracteres con los que realizar un análisis de frecuencia. PGP también utiliza un proceso conocido
como Radix-64, que codifica datos no textuales y garantiza que los datos cifrados se puedan transferir
mediante sistemas de correo electrónico manteniendo los bloques de ocho bits de texto ASCII necesarios.
El formato asigna tres octetos de datos binarios a cuatro caracteres ASCII y añade una comprobación de
redundancia cíclica (CRC) para detectar errores de transmisión.
Como muchas instalaciones de Internet imponen restricciones sobre el tamaño de los mensajes, PGP
puede subdividir automáticamente los mensajes en un tamaño de flujo manejable. Esta segmentación
se realiza después de que se hayan procesado todas las demás funciones de cifrado y conversión. En
el extremo del destinatario, PGP vuelve a ensamblar los bloques de mensajes del segmento antes de la
descompresión y el descifrado.
PGP no impone una estructura rígida para la gestión de claves públicas, pero puede asignar un nivel
de confianza dentro de los límites de PGP, aunque no especifica el grado real de confianza que el usuario
debe depositar en una clave específica. La confianza se puede abordar y garantizar mediante el uso de
la estructura de anillo de claves públicas. En esta estructura, cada conjunto específico de credenciales de
clave pública se asocia con un campo de legitimidad de clave, un campo de confianza de firma y un campo
de confianza del propietario. Cada uno de estos campos contiene un byte de indicador de confianza
que identifica si la credencial es confiable en ese campo. Si se rompe la confianza de una credencial
determinada, como cuando se compromete una clave, el propietario puede emitir un certificado de
revocación de clave firmado digitalmente que actualiza los bytes de confianza de la credencial la próxima
vez que se verifica la credencial.
6. Resumen
El cifrado es el proceso de convertir un mensaje en un formato que no pueda ser leído por personas
no autorizadas.
La ciencia del cifrado, conocida como criptología, abarca la criptografía (elaboración y uso de
códigos de cifrado) y el criptoanálisis (descifrado de códigos de cifrado).
La criptología tiene una larga historia y continúa cambiando y mejorando.
Se utilizan dos métodos básicos de procesamiento para convertir datos de texto simple en datos
cifrados: el cifrado de secuencia de bits y el cifrado de bloques. Los otros métodos principales
utilizados para codificar datos incluyen cifrados de sustitución, cifrados de transposición, la función
XOR, el cifrado de Vigenère y el cifrado de Vernam.
Las funciones hash son algoritmos matemáticos que generan un resumen del mensaje, o compen-
dio, que se puede utilizar para confirmar la identidad de un mensaje específico y confirmar que el
mensaje no ha sido alterado.
29
La mayoría de los algoritmos criptográficos se pueden agrupar en dos grandes categorías: simé-
tricos y asimétricos. En la práctica, los criptosistemas más populares son híbridos que combinan
algoritmos simétricos y asimétricos.
La solidez de muchas aplicaciones de cifrado y criptosistemas está determinada por el tamaño de la
clave. En igualdad de condiciones, la longitud de la clave afecta directamente la solidez del cifrado.
Notas
1 Epic.org. “International Traffic in Arms Regulations: Code of Federal Regulations [EXCERPTS].” Title 22-Foreign Relations;
Chapter I-Department of State; Subchapter M. April 1, 1992. Accessed October 23, 2020, from https://epic.org/crypto/export_
controls/itar.html
2 FIPS PUB 180-4, “Secure Hash Standard (SHS).” National Institute of Standards and Technology. Accessed October 23, 2020,
from https://csrc.nist.gov/publications/detail/fips/180/4/final
3 Paladion. “Sending Salted Hashes Just Got More Tricky.” Paladion High Speed Cyber Defense. Accessed October 23, 2020, from
www.paladion.net/blogs/sending-salted-hashes-just-got
4 Electronic Frontier Foundation. “Eff Des Cracker Machine Brings Honesty to Crypto Debate.” Accessed October 23, 2020, from
www.eff.org/press/releases/eff-des-cracker-machine-brings-honesty-crypto-debate
5 Kuhn, D., Hu, V., Polk, W., and Chang, S. NIST SP 800-32, “Introduction to Public Key Technology and the Federal PKI Infras-
tructure.” National Institute of Standards and Technology. February 2001. Accessed October 23, 2020, from https://csrc.nist.gov/
publications/detail/sp/800-32/final
6 Stallings, W. Cryptography and Network Security, Principles and Practice. 1999. New Jersey: Prentice Hall
7 Conway, M. “Code Wars: Steganography, Signals Intelligence, and Terrorism.” Knowledge, Technology & Policy 16, 45-62
(2003). Accessed October 23, 2020
8 McCullagh, D. “Bin Laden: Steganography Master?” Accessed October 23, 2020, from http://archive.wired.com/politics/law/
news/2001/02/41658?currentPage=all
9 Scarfone, K., Dicio, D., Sexton, M., and Tibbs, C. SP 800-48, Rev. 1, “Guide to Securing Legacy IEEE 802.11 Wireless Networks.”
National Institute of Standards and Technology. July 2008. Accessed October 23, 2020, from https://csrc.nist.gov/publications/
detail/sp/800-48/rev-1/archive/2008-07-25
10 Interop Net Labs. “What’s Wrong with WEP?” September 9, 2002. Accessed October 23, 2020, from www.opus1.com/www/
whitepapers/whatswrongwithwep.pdf
30
11 Leyden, J. “WEP Key Wireless Cracking Made Easy.” The Register. April 4, 2007. Accessed October 23, 2020, from www.
theregister.co.uk/2007/04/04/wireless_code_cracking
12 CISCO. “Security: Encryption Manager.” Accessed October 23, 2020, from www.cisco.com/web/techdoc/wireless/access_points/
online_help/eag/123-02.JA/1400BR/h_ap_sec_ap-key-security.html
13 “What Is RSN (Robust Secure Network)?” Tech FAQ Online. Accessed October 23, 2020, from RSN (Robust Secure Network)
14 Bialoglowy,M. “Bluetooth Security Review, Part I: Introduction to Bluetooth.” Created April 24, 2005, and updated October
23, 2020. Accessed August 28, 2016, from Endpoint Protection
15 Leyden, J. “Cabir Mobile Worm Gives Track Fans the Run Around.” The Register. August 12, 2005. Accessed October 23, 2020,
from www.theregister.co.uk/2005/08/12/cabir_stadium_outbreak/
16 ITL Bulletin. National Institute of Standards and Technology. March 2001. Accessed October 23, 2020, from https://csrc.nist.
gov/csrc/media/publications/shared/documents/itl-bulletin/itlbul2001-03.pdf
17 The OpenPGP Home Page. Accessed October 23, 2020, from www.openpgp.org/
31