Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DNS Sec Word
DNS Sec Word
`
Funcionamiento de DNSSEC
DNSSEC usa firmas digitales y claves criptogrficas para validar la autenticidad de las
respuestas DNS. En los siguientes temas se aborda de forma sucinta el modo en que se
administran las firmas y se ejecuta la validacin.
FIRMAS DIGITALES
Las firmas que se generan con DNSSEC estn contenidas en la zona DNS de los nuevos
registros de recursos. Esos nuevos registros de recursos se denominan registros RRSIG
(firma de registro de recursos). Cuando una resolucin emite una consulta para conocer un
nombre, el registro RRSIG se devuelve en la respuesta. Se necesita una clave criptogrfica
pblica denominada DNSKEY para verificar la firma. Un servidor DNS recupera la DNSKEY
durante el proceso de validacin.
Ataques DoS
1) Saturar al servidor con peticiones, de manera que no pueda servir a los usuarios
legtimos
2) Cuando sus servidores DNS son el objetivo de un ataque tipo DoS:
i) Sus usuarios/clientes no pueden traducir los nombres de dominio
ii) el resto del mundo no puede traducir nombres en SU dominio
iii) Es como si no tuviera acceso a la Internet
ALGORITMOS DE DNSSEC
ALGORITMO *MD5
`
En criptografa, MD5 (abreviatura de Message-Digest
reduccin criptogrfico de 128 bits ampliamente usado.
Algorithm
5)
es
un algoritmo de
Codificacin
El siguiente cdigo de 28 bytes ASCII ser tratado con MD5 y veremos su correspondiente hash de
salida:
MD5("Generando un MD5 de un texto") = 5df9f63916ebf8528697b629022993e8
Un pequeo cambio en el texto (cambiar '5' por 'S') produce una salida completamente
diferente.
MD5("Generando un MDS de un texto") = e14a3ff5b5e67ede599cac94358e1028
Otro ejemplo sera la codificacin de un campo vaco:
MD5("") = d41d8cd98f00b204e9800998ecf8427e
Algoritmo
Terminologas y notaciones
En este documento "palabra" es una entidad de 4 bytes y un byte es una entidad de 8 bits.
Una secuencia de bytes puede ser interpretada de manera natural como una secuencia de
bits, donde cada grupo consecutivo de ocho bits se interpreta como un byte con el bit ms
significativo al principio. Similarmente, una secuencia de bytes puede ser interpretada como
una secuencia de 32 bits (palabra), donde cada grupo consecutivo de cuatro bytes se
interpreta como una palabra en la que el byte menos significativo est al principio (de este
modo trabajan plataformas como Intel, esta propiedad se conoce como endianness).
El smbolo "+" significa suma de palabras.
X <<< s se interpreta por una rotacin de bits a la izquierda sobre
'X', 's' posiciones
not(x) se entiende como el complemento de x
Empezamos suponiendo que tenemos un mensaje de 'b' bits de entrada, y que nos gustara
encontrar su resumen. Aqu 'b' es un valor arbitrario entero no negativo, pero puede ser cero,
no tiene por qu ser mltiplo de ocho, y puede ser muy largo. Imaginemos los bits del mensaje
escritos as:
m0 m1 ... m{b-1}
Los siguientes cinco pasos son efectuados para calcular el resumen del mensaje.
F(X,Y,Z)=(XY)(XZ)
G(X,Y,Z)=(XZ)(YZ)
H(X,Y,Z)=XYZ
I(X,Y,Z)=Y(XZ)
Los operadores ,,, son las funciones XOR, AND, OR y NOT
respectivamente.
`
En cada posicin de cada bit X acta como un condicional: si X, entonces Z
sino Y. La funcin Z podra haber sido definida usando + en lugar de v ya que
XY y not(x) Z nunca tendrn unos ('1') en la misma posicin de bit. Es
interesante resaltar que si los bits de X, Y y Z son independientes y no
sesgados, cada uno de los bits de F(X,Y,Z) ser independiente y no sesgado.
Las funciones G, H e I son similares a la funcin F, ya que actan "bit a bit en
paralelo" para producir sus salidas de los bits de X, Y y Z, en la medida que si
cada bit correspondiente de X, Y y Z son independientes y no sesgados,
entonces cada bit de G(X,Y,Z), H(X,Y,Z) e I(X,Y,Z) sern independientes y no
sesgados. Ntese que la funcin H es la comparacin bit a bit "xor" o funcin
"paridad" de sus entradas.
Este paso usa una tabla de 64 elementos T[1 ... 64] construida con la
funcin Seno. Denotaremos por T[i] el elemento i-simo de esta tabla, que
ser igual a la parte entera del valor absoluto del seno de 'i' 4294967296
veces, donde.....
/* Ronda 1. */
/* [abcd k s i] denotarn la operacin
a = b + ((a + F(b, c, d) + X[k] + T[i]) <<< s). */
/* Hacer las siguientes 16 operaciones. */
[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3
22 4]
[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7
22 8]
[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11
22 12]
`
[ABCD 12
22 16]
/* Ronda 2. */
/* [abcd k s i] denotarn la operacin
a = b + ((a + G(b, c, d) + X[k] + T[i])
/* Hacer las siguientes 16 operaciones. */
[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14
20 20]
[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14
20 24]
[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14
20 28]
[ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14
20 32]
/* Ronda 3. */
/* [abcd k s t] denotarn la operacin
a = b + ((a + H(b, c, d) + X[k] + T[i])
/* Hacer las siguientes 16 operaciones. */
[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16
23 36]
[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16
23 40]
[ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16
23 44]
[ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16
23 48]
/* Ronda 4. */
/* [abcd k s t] denotarn la operacin
a = b + ((a + I(b, c, d) + X[k] + T[i])
/* Hacer las siguientes 16 operaciones. */
[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15
21 52]
[ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15
21 56]
[ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15
21 60]
[ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15
21 64]
<<< s). */
19] [BCDA
23] [BCDA
27] [BCDA
31] [BCDA 12
<<< s). */
35] [BCDA 14
39] [BCDA 10
43] [BCDA
47] [BCDA
<<< s). */
51] [BCDA
55] [BCDA
59] [BCDA 13
63] [BCDA
=
=
=
=
A
B
C
D
+
+
+
+
AA
BB
CC
DD
Paso 5. Salida
El resumen del mensaje es la salida producida por A, B, C y D. Esto es, se
comienza el byte de menor peso de A y se acaba con el byte de mayor peso
de D.
SHA-1
SHA-1 ha sido examinado muy de cerca por la comunidad criptogrfica pblica, y no se ha
encontrado ningn ataque efectivo. No obstante, en el ao 2004, un nmero de ataques
significativos fueron divulgados sobre funciones criptogrficas de hash con una estructura
similar a SHA-1; lo que ha planteado dudas sobre la seguridad a largo plazo de SHA-1.
SHA-0 y SHA-1 producen una salida resumen de 160 bits (20 bytes) de un mensaje que
puede tener un tamao mximo de 264 bits, y se basa en principios similares a los usados por
el profesor Ronald L. Rivest del MIT en el diseo de los algoritmos de resumen de
mensaje MD4 y MD5.
La codificacin hash vaca para SHA-1 corresponde a:
SHA1("") = da39a3ee5e6b4b0d3255bfef95601890afd80709
A pesar de que 263 suponen an un nmero alto de operaciones, se encuentra dentro de los
lmites de las capacidades actuales de clculos, y es previsible que con el paso del tiempo
romper esta funcin sea trivial, al aumentar las capacidades de clculo y al ser ms serios los
ataques contra SHA-1.
La importancia de la rotura de una funcin hash se debe interpretar en el siguiente sentido:
Un hash permite crear una huella digital, tericamente nica, de un archivo. Una colisin
entre hashes supondra la posibilidad de la existencia de dos documentos con la misma
huella. La inicial similitud propuesta con la equivalencia a que hubiese personas que
compartiesen las mismas huellas digitales, o peor an, el mismo ADN no es adecuada pues,
aunque fuera trivial encontrar dos ficheros con el mismo resumen criptogrfico ello no
implicara que los ficheros fueran congruentes en el contexto adecuado. Siguiendo con la
hiptesis de la similitud biomtrica de dos personas, sera el equivalente a necesitar modificar
el nmero de brazos en una persona para que su impresin dactilar fuera igual a la de otra.
A pesar de que el NIST contempla funciones de SHA de mayor tamao (por ejemplo, el SHA512, de 512 bits de longitud), expertos de la talla de Bruce Schneier abogan por, sin llamar a
alarmismos, buscar una nueva funcin hash estandarizada que permita sustituir a SHA-1. Los
nombres que se mencionan al respecto son Tiger, de los creadores deSerpent,
y WHIRLPOOL, de los creadores de AES.
`
SHA-2 es un conjunto de funciones hash criptogrficas (SHA-224, SHA-256, SHA-384, SHA512) diseadas por la Agencia de Seguridad Nacional (NSA) y publicada en 2001 por
el Instituto Nacional de Estndares y Tecnologa (NIST) como un Estndar Federal de
Procesamiento de la Informacin (FIPS).
Una funcin hash es un algoritmo que transforma ("digiere") un conjunto arbitrario de
elementos de datos, como puede ser un fichero de texto, en un nico valor de longitud fija (el
"hash"). El valor hash calculado puede ser utilizado para la verificacin de la integridad de
copias de un dato original sin la necesidad de proveer el dato original. Esta irreversibilidad
significa que un valor hash puede ser libremente distribuido o almacenado, ya que slo se
utiliza para fines de comparacin. SHA significa algoritmo de hash seguro. SHA-2 incluye un
significante nmero de cambios respecto a su predecesor, SHA-1; y consiste en un conjunto
de cuatro funciones hash de 224, 256, 384 o 512 bits.
La seguridad proporcionada por un algoritmo hash es sumamente dependiente de su
capacidad de producir un nico valor para un conjunto de datos dados. Cuando una funcin
hash produce el mismo valor para dos conjuntos de datos distintos, entonces se dice que se
ha producido una colisin. Una colisin aumenta la posibilidad de que un atacante pueda
elaborar computacionalmente conjuntos de datos que proporcionen acceso a informacin
segura o para alterar ficheros de datos informticos de tal forma que no cambiara el valor hash
resultante y as eludir la deteccin. Una funcin hash fuerte es aquella que es resistente a este
tipo de ataques computacionales mientras que una funcin hash dbil es aquella donde existe
una creencia casi certera de que se pueden producir colisiones. Finalmente, una funcin hash
quebrantada es aquella que se conoce mtodos computacionales para producir colisiones.
En 2005, se identificaron fallas de seguridad en el SHA-1, permitiendo que existiera una
debilidad matemtica y evidenciando as la necesidad de una elaborar una funcin hash ms
fuerte.1 Aunque el SHA-2 se comporta de forma parecida al algoritmo SHA-1, estos ataques
no han sido extendidos satisfactoriamente a SHA-2.
La competicin de funciones hash de la NIST seleccion una nueva funcin hash, el SHA-3,
en 2012.2 A diferencia de SHA-2 con SHA-1, el algoritmo SHA-3 no es derivacin del SHA-2.
Funcin hash[editar]
Una iteracin en la funcin de compresin de la familia SHA-2. Los componentes azules representan las
siguientes operaciones:
La rotacin de bit usa diferentes constantes para el SHA-512. Los nmeros proporcionados corresponden a la
SHA-256. El rojo
32
es suma mdulo 2 .
Con la publicacin del FIPS PUB 180-2, NIST aadi tres nuevas funciones hash en la familia
de SHA. Los algoritmos eran comnmente conocidos como SHA-2, especificados
posteriormente por su longitud (en bits): SHA-256, SHA-384, y SHA-512.
Los algoritmos fueron previamente publicados en 2001 en el borrador FIPS PUB 180-2,
momento en el cual se aceptaban revisiones pblicas y comentarios. En agosto de 2002, FIPS
PUB 180-2 se convierti en el nuevo estndar de hash seguro, reemplazando el FIPS PUB
180-1, el cual fue publicado en abril de 1995. La actualizacin del estndar incluy el algoritmo
original SHA-1, con la notacin tcnica consistente con la que describa el funcionamiento
interno de la familia SHA-2.3
En febrero de 2004, se public una noticia de modificacin para FIPS PUB 180-2,
especificando una variante adicional (SHA-224) para que coincidiera la longitud de la clave
con la de Triple DES.4 En octubre de 2008, el estndar fue actualizado en el FIPS PUB 180-3,
incluyendo el SHA-224 de la notificacin de modificacin pero sin modificar fundamentalmente
el estndar. La primera motivacin de la actualizacin del estndar fue redistribuir la
informacin de seguridad de los algoritmos de hash y recomendaciones para su uso en la
`
"Special Publications" 800-107 y 800-57.5 6 7 Datos de prueba detallados y ejemplos de
mensajes "resumidos" fueron tambin eliminados del estndar y fueron proporcionados como
documentos separados.8
En marzo de 2012, el estndar fue actualizado a FIPS PUB 180-4, aadiendo las funciones
hash SHA-512/224 y SHA-512/256, y describiendo un mtodo para la generacin inicial de
valores mediante versiones truncadas del SHA-512. Adicionalmente, una restriccin previa del
relleno de los datos de entrada para el clculo del hash fue eliminada, permitiendo que los
datos hash fueran calculados simultneamente con la generacin del contenido, tal como una
retransmisin en tiempo real de un vdeo o audio. El relleno final del bloque de datos debe
seguir ocurriendo antes de la salida del hash.9
La SHA-256 y SHA-512 son nuevas funciones hash con palabras de tamao 32 y 64 bits,
respectivamente. Usan diferentes desplazamientos y constantes, pero su estructura son por
otra parte virtualmente idntica, diferencindose nicamente por el nmero de iteraciones.
SHA-224 y SHA-384 son simples versiones de truncado de las dos anteriores funciones y
estas son calculadas con diferentes valores iniciales. SHA-512/224 y SHA-512/256 son
tambin versiones truncadas de SHA-512, pero los valores iniciales son generados usando un
mtodo descrito en el FIPS PUB 180-4. La familia de algoritmos SHA-2 estn patentados en
los Estados Unidos de Amrica (patente con identificacin 6829355) y fueron liberados bajo
una licencia libre de derechos de autor.10
A finales de 2013, los mejores ataques pblicos consiguieron romper las 46 de las 64
iteraciones del SHA-25611 y 46 de las 80 iteraciones del SHA-512. Informacin ms detallada
en la seccin "Criptoanlisis y validacin" siguiente.12
CONCLUSIONES: