SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Teoría de la información

                       Manejo de claves



Principios, herramientas y protocolos de criptografía
Yann Frauel – Semestre 2007-1
Seguridad de un criptosistema
   Todos los elementos deben ser seguros:
    ➔ Algoritmo
    ➔ Protocolo

    ➔ Clave

   2do principio de Kerckhoffs: la seguridad no debe
    derivarse del secreto del algoritmo, sólo de la clave
   ¿Cómo medir la seguridad de una clave?
1. Teoría de la información
   (Claude Shannon 1948)
Teoría de la información

¿Cómo medir la cantidad de información de un mensaje?
   Idea 1: longitud del mensaje
   Pero comparar:
    ➔ 110010101110
    ➔ 439203984738

   Idea 2: número de bits necesarios para codificar el
    mensaje
    ➔ binario: 1 bit/carácter
    ➔ decimal: 4 bits/carácter

    ➔ letras:  5 bits/carácter
Teoría de la información

¿Cómo medir la cantidad de información de un mensaje?

   Pero no se usan todas las combinaciones posibles...
   Idea 3: número de bits en promedio (fraccional)
   Ejemplo: lanzar un dado
     Lanzados   Combinaciones   Bits totales   Bits/car.
        1              6              3         3.000
        2             36              6         3.000
        3            216              8         2.667
         4           1296            11         2.750
        5            7776            13         2.600
       200        4.27E+155         517         2.585
Teoría de la información
   ¿Cómo obtener directamente el número de bits
    promedio H?
                              5

                             4.5

                              4

                             3.5
            Número de bits




                              3

                             2.5

                              2

                             1.5

                              1

                             0.5

                              0
                                    4

                                    6
                                    7




                                   14

                                   16
                                   17




                                   24

                                   26
                                   27
                                    2
                                    3

                                    5


                                    8
                                    9
                                   10
                                   11
                                   12
                                   13

                                   15


                                   18
                                   19
                                   20
                                   21
                                   22
                                   23

                                   25


                                   28
                                   29
                                   30
                                   31
                                   32
                                      Número de valores posibles



       H = log2(n),                   n: Número de valores posibles
Teoría de la información
              ¿Qué pasa si no todos los valores
               tienen la misma probabilidad?
   Ejemplo: Dado de 4 caras
    ➔ p(0) = 3/4
    ➔ p(1) = 1/8

    ➔ p(2) = 1/16

    ➔ p(3) = 1/16

   Cambio de codificación:
    ➔   0→0            1 → 10          2 → 110         3 → 111
   Número de bits promedio:
    ➔   H = 3/4 × 1 + 1/8 × 2 + 1/16 × 3 +1/16 × 3 = 11/8 = 1.38 b/c
Entropía
   Sea una variable aleatoria X
   Puede tomar n valores: x1, x2... xn con probabilidades
    P( X = xi) = pi
   Se define la entropía de X:
                             n
                  HX=−    ∑ pi log2  pi 
                            i=1



   Mide la cantidad de información proveida por X
Entropía
   Ejemplo 1: evento equiprobable
    ➔   p1 = p2 = ... = pn = 1/n
    ➔   H(X) = log2 (n)
    ➔ Volvemos a encontrar la fórmula intuitiva
    ➔ Es el valor máximo que se pueda encontrar para n valores

   Ejemplo 2: evento seguro
    ➔   pi =1 y pj = 0 para j ≠ i
    ➔ H(X) = 0
    ➔ Es el valor mínimo que se pueda encontrar

   La entropía mide la incertidumbre
Redundancia
   Ejemplo 1: ¿Qué viene después de una letra Q?
   Ejemplo 2: ¿Qué significa INST NAC COMPUT
    CIENT?
   ¡Podemos reconstituir más de la mitad del mensaje!
   Una parte de la información de un texto normal no
    es necesaria, es redundante
   En un lenguaje natural, la entropía no es máxima:
    ➔ frecuencias diferentes para diferentes letras, bigramas...
    ➔ reglas gramaticales, sintácticas...


→ Los lenguajes naturales tienen mucha redundancia
Redundancia

   Entropía absoluta por carácter Ha:
    ➔ es la entropía máxima posible (caracteres equiprobables)
    ➔ para el alfabeto de 26 letras, H = 4.7 b/c
                                      a

   Entropía real por carácter Hr:
    ➔ es la entropía calculada sobre el lenguaje real
    ➔ para el inglés o el español, H ~ 1.5 b/c
                                    r

   Redundancia por carácter R:
    ➔   es la diferencia R = Ha – Hr
    ➔   para el inglés o el español, R ~ 3.2 b/c
Distancia de unicidad
   Ataque por fuerza bruta: probamos todas las claves
    hasta encontrar un texto con sentido
   ¿Cuántos caracteres necesitamos para reconocer el
    texto claro sin ambigüedad?
   Entropía del espacio de claves:
    ➔   H(K) = log2 (número de claves)
   Distancia de unicidad:
                            H K 
                         U=
                              R
Distancia de unicidad


   Ejemplo: substitución monoalfabética
   Número de claves = números de alfabetos = 26!
               log 2 26!
            U=             =28caracteres
                   3.2
2. Generación y almacenamiento
            de claves
Evolución histórica de las claves
   Sin clave (sin parámetro libre): el secreto está en el
    algoritmo mismo
    ➔ Atbash (alfabeto invertido)
    ➔ César (desplazamiento de 3)

    ➔ Tritemio (desplazamiento incrementado para cada letra)

   Palabra clave
    ➔ Substitución monoalfabética con alfabeto desordenado
    ➔ Vigenère

   Clave aleatoria
    ➔ Hill
    ➔ Máquinas con rotores

    ➔ Cifrado modernos
Claves y contraseñas
   Cuando no requiere memorizar: clave
    ➔ Algoritmos para cifrar
    ➔ Algoritmos para firmar

   Cuando requiere memorizar: contraseña
    ➔ Autenticación y control de acceso
    ➔ Aplicar una firma

    ➔ Descifrar un mensaje, un archivo
Claves y contraseñas
   Clave = más seguridad
    ➔ Larga
    ➔ Aleatoria

   Contraseña = más conveniencia
    ➔ Fácil de memorizar
    ➔ Fácil de teclear




                  → Combinar los dos
Claves y contraseñas
   Algoritmos simétricos
    ➔ Contraseña = palabra o frase (tamaño variable)
    ➔ Se le aplica una función resumen de sentido único

    ➔ Reducción (o extensión) a un tamaño fijo




        Ábrete Sésamo

        Contraseña          Función resumen         Clave
                                                  simétrica

            La entropía de la clave es reducida
               a la entropía de la contraseña
Claves y contraseñas
   Algoritmos asimétricos
     ➔ clave privada aleatoria
     ➔ clave privada almacenada en el disco

     ➔ clave privada cifrada con un algoritmo simétrico




    Ábrete Sésamo

    Contraseña           Función       Clave
                         resumen     simétrica
                                                     Clave privada
                                                        cifrada
          Si el disco es accesible, la seguridad
                   es la de la contraseña
Contraseñas
   Seguridad aumenta con la longitud
   Datos personales (2do apellido, fecha nacimiento)
    ➔   Se puede adivinar
   Palabra conocida/nombre (flor, planeta, futbolista)
    ➔   Ataque de diccionario
   Generalmente posible encontrar 40 % de las
    contraseñas con estos ataques!
   Seguridad aumenta con la entropía
Contraseñas
   Mezclar mayúsculas, minúsculas, dígitos y
    caracteres especiales
   Fácil de memorizar, sin necesidad de escribirlo
   Difícil de adivinar, incluso por una persona cercana
   Más de 8 caracteres
   Puede ser tecleado rápidamente (evitar espías)

   Ej.: Iniciales de una frase:
    Creo que Alicia conoció a Bob en Guanajuato; no crees?
    → CqAcaBeG;nc?
Contraseñas

        Los passwords son como los calzones...

   Escógelo misterioso
   Entre más largo, mejor
   Cámbialo frecuentemente
   No lo dejes tirado en cualquier lugar
   No lo compartas con tus amigos
Claves
   Aleatoria (entropía máxima)
   Generada con generador aleatorio real o seudo-
    aleatorio criptográficamente seguro
   Si el algoritmo es ideal, la seguridad depende del
    tamaño de la clave (mejor ataque = fuerza bruta)
    ➔ Clave de n bits: 2n claves posibles (complejidad
      exponencial)
    ➔ No usar clave menor a 128 bits para algoritmos simétricos

   Ejemplo: clave DES tiene 56 bits
    ➔ 1981: máquina de $50 M → 2 días
    ➔ 1993: máquina de $1 M → 3.5 horas

    ➔ 1996: NSA → 15 minutos
Claves
   El tamaño de la clave no es una garantía
   Puede haber mejores ataques que fuerza bruta
   Ej. 1: Substitución monoalfabética
    ➔ 26! claves posibles (permutaciones del alfabeto)
    ➔ 26! = 4.1026 ~ 88 bits

    ➔ Pero podemos atacar por análisis de frecuencias!

   Ej. 2: Algoritmo RSA
    ➔ Mejor ataque = buscar factorización de la clave pública
    ➔ clave de 128 bits: se factoriza en 1 s en una laptop!!

    ➔ No usar clave menor a 1024 bits para algoritmos

      asimétricos
Respaldo de claves
   Problema: perdida de clave
    ➔ Olvido de la contraseña
    ➔ Desaparición del creador de la contraseña

    ➔ Disco borrado

   Custodia de clave (key escrow)
    ➔ Un tercero tiene copia de las claves
    ➔ También para la policía (ej. clipper para teléfono 1993)

    ➔ Problema de confianza/seguridad

   Secreto compartido
    ➔ Dar parte de las claves a varias personas
    ➔ Reconstituir la clave requiere que se junten
Expiración de claves
   Claves deben tener una vida limitada
    ➔ limita tiempo/datos para criptoanálisis
    ➔ limita los datos perdidos si la clave es comprometida

   Renovar clave frecuentemente si
    ➔ es fácil de encontrar (contraseña)
    ➔ es usada para información importante

   Clave privada comprometida
    ➔ permite leer mensajes (incluso anteriores)
    ➔ permite robo de identidad

    ➔ fijar fecha de expiración y/o

    ➔ preparar certificado de revocación (al generar la clave, en

      caso de perdida de la clave privada)
3. Intercambio de claves
Claves de sesión
   Problema: la clave debe transmitirse por un canal
    seguro
   Es difícil renovarla
   Solución:
    ➔ una clave principal (permanente)
    ➔ claves de sesión generadas para cada nuevo mensaje

    ➔ la clave principal es poco usada (criptoanálisis difícil)

    ➔ poca información perdida si clave de sesión comprometida
Claves simétricas
   Establecer una clave para cada par de usuario
    ➔ n usuarios: n(n-1)/2 claves
    ➔ muchas claves, muchos intercambios por canal seguro
Claves simétricas
   Tercero de confianza: centro de distribución de
    claves (KDC)
   El KDC tiene las claves principales de todos
   El KDC distribuye claves de sesión
                       A1              A2


                             Centro de
               A6           distribución    A3
                             de claves


                       A5              A4
Intercambio con claves simétricas
Alicia                       KDC             Bob
         “Quiero comunicar
             con Bob”



                     KS
                     KA
                     KS
                     KB
Intercambio con claves simétricas




          Comunicación cifrada
Intercambio con claves simétricas
   Requiere confianza absoluta en el KDC
    ➔ puede “escuchar” todas las comunicaciones
    ➔ (puede modificar las comunicaciones)

    ➔ (puede hacerse pasar por cualquier usuario)

   Todas las llaves están comprometidas si el KDC está
    comprometido
   Todas las comunicaciones están bloqueadas si el
    KDC está indisponible
Claves asimétricas
   Cada usuario tiene su clave privada y su clave
    pública
    ➔ n usuarios: n claves
    ➔ pocas claves

    ➔ sólo se requiere transmitir las claves públicas

    ➔ la clave pública puede ser obtenida del usuario o de un

      KDC
    ➔ no hay problema con atacantes pasivos: no pueden hacer

      nada con la clave pública
Intercambio con claves asimétricas

                                              KDC

Alicia

                          KB pub
                                              Bob




                           KS
                           KB pub
Intercambio con claves asimétricas




          Comunicación cifrada
Ataque del hombre-en-el-medio
Alicia                       Atacante                        Bob
         “Quiero comunicar
             con Bob”

                                  priv                         priv


                                         “Quiero comunicar
                                             con Bob”

                                  priv                         priv



                     pub                             pub

                                  priv                         priv
Ataque del hombre-en-el-medio

Alicia                Atacante            Bob

               pub

    pub                    priv             priv
                           pub


Alicia                Atacante            Bob

                                   pub

    pub                    priv             priv
                           pub
Verificación de claves

   Las claves asimétricas no resuelven el problema de
    un atacante activo con control completo
   Autenticidad de la clave verificada por una firma:
    ➔ de una Autoridad de Certificación (certificados)
    ➔ de otros usuarios confiables (PGP)

   Hace falta conocer la clave pública del certificador!

Más contenido relacionado

Similar a Teoria de la Informacion - Manejo de Claves

Similar a Teoria de la Informacion - Manejo de Claves (20)

1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
 
javascript
 javascript javascript
javascript
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
 
Javascript
JavascriptJavascript
Javascript
 
Javascript
JavascriptJavascript
Javascript
 
Jessik
JessikJessik
Jessik
 
Jessik
JessikJessik
Jessik
 
Encriptacion
EncriptacionEncriptacion
Encriptacion
 
Tipos algoritmos
Tipos algoritmosTipos algoritmos
Tipos algoritmos
 
Taller 3
Taller 3Taller 3
Taller 3
 
Tema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la CriptografíaTema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la Criptografía
 
Yisenia
YiseniaYisenia
Yisenia
 
Pyrapidc
PyrapidcPyrapidc
Pyrapidc
 
PRACTICA DE WORD!
PRACTICA DE WORD!PRACTICA DE WORD!
PRACTICA DE WORD!
 
Practica de word!!
Practica de word!!Practica de word!!
Practica de word!!
 
Matlab basico
Matlab basicoMatlab basico
Matlab basico
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Ruby i
Ruby iRuby i
Ruby i
 
Guia de programacion Delfina 2010
Guia de programacion Delfina 2010Guia de programacion Delfina 2010
Guia de programacion Delfina 2010
 
El_pensamiento_computacional_y_programacion_.pptx
El_pensamiento_computacional_y_programacion_.pptxEl_pensamiento_computacional_y_programacion_.pptx
El_pensamiento_computacional_y_programacion_.pptx
 

Más de G Hoyos A

curvas elipticas
 curvas elipticas curvas elipticas
curvas elipticasG Hoyos A
 
correo seguro
 correo seguro correo seguro
correo seguroG Hoyos A
 
cifra flujo
 cifra flujo cifra flujo
cifra flujoG Hoyos A
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmosG Hoyos A
 
gestion seguridad informatica
 gestion seguridad informatica gestion seguridad informatica
gestion seguridad informaticaG Hoyos A
 
calidad de la informacion
calidad de la informacioncalidad de la informacion
calidad de la informacionG Hoyos A
 
Cripto clasica
Cripto clasicaCripto clasica
Cripto clasicaG Hoyos A
 
Presentacion cripto transp_manuel_lucena
Presentacion cripto transp_manuel_lucenaPresentacion cripto transp_manuel_lucena
Presentacion cripto transp_manuel_lucenaG Hoyos A
 
Transposicion
TransposicionTransposicion
TransposicionG Hoyos A
 
Sellado de tiempo_timestamp
Sellado de tiempo_timestampSellado de tiempo_timestamp
Sellado de tiempo_timestampG Hoyos A
 
Protocolo gestor claves
Protocolo gestor clavesProtocolo gestor claves
Protocolo gestor clavesG Hoyos A
 
Problema rsa
Problema rsaProblema rsa
Problema rsaG Hoyos A
 
Número primo fuerte
Número primo fuerteNúmero primo fuerte
Número primo fuerteG Hoyos A
 
Metodo kasiski
Metodo kasiskiMetodo kasiski
Metodo kasiskiG Hoyos A
 
Modos de operación_de_una_unidad_de_cifrado_por_bloques
Modos de operación_de_una_unidad_de_cifrado_por_bloquesModos de operación_de_una_unidad_de_cifrado_por_bloques
Modos de operación_de_una_unidad_de_cifrado_por_bloquesG Hoyos A
 

Más de G Hoyos A (20)

curvas elipticas
 curvas elipticas curvas elipticas
curvas elipticas
 
correo seguro
 correo seguro correo seguro
correo seguro
 
cifra flujo
 cifra flujo cifra flujo
cifra flujo
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmos
 
gestion seguridad informatica
 gestion seguridad informatica gestion seguridad informatica
gestion seguridad informatica
 
calidad de la informacion
calidad de la informacioncalidad de la informacion
calidad de la informacion
 
Cripto clasica
Cripto clasicaCripto clasica
Cripto clasica
 
Presentacion cripto transp_manuel_lucena
Presentacion cripto transp_manuel_lucenaPresentacion cripto transp_manuel_lucena
Presentacion cripto transp_manuel_lucena
 
S box
S boxS box
S box
 
Xor
XorXor
Xor
 
Unixsec
UnixsecUnixsec
Unixsec
 
Transposicion
TransposicionTransposicion
Transposicion
 
Sellado de tiempo_timestamp
Sellado de tiempo_timestampSellado de tiempo_timestamp
Sellado de tiempo_timestamp
 
Protocolo gestor claves
Protocolo gestor clavesProtocolo gestor claves
Protocolo gestor claves
 
Problema rsa
Problema rsaProblema rsa
Problema rsa
 
Pki
PkiPki
Pki
 
Número primo fuerte
Número primo fuerteNúmero primo fuerte
Número primo fuerte
 
Metodo kasiski
Metodo kasiskiMetodo kasiski
Metodo kasiski
 
Modos de operación_de_una_unidad_de_cifrado_por_bloques
Modos de operación_de_una_unidad_de_cifrado_por_bloquesModos de operación_de_una_unidad_de_cifrado_por_bloques
Modos de operación_de_una_unidad_de_cifrado_por_bloques
 
Hc
HcHc
Hc
 

Teoria de la Informacion - Manejo de Claves

  • 1. Teoría de la información Manejo de claves Principios, herramientas y protocolos de criptografía Yann Frauel – Semestre 2007-1
  • 2. Seguridad de un criptosistema  Todos los elementos deben ser seguros: ➔ Algoritmo ➔ Protocolo ➔ Clave  2do principio de Kerckhoffs: la seguridad no debe derivarse del secreto del algoritmo, sólo de la clave  ¿Cómo medir la seguridad de una clave?
  • 3. 1. Teoría de la información (Claude Shannon 1948)
  • 4. Teoría de la información ¿Cómo medir la cantidad de información de un mensaje?  Idea 1: longitud del mensaje  Pero comparar: ➔ 110010101110 ➔ 439203984738  Idea 2: número de bits necesarios para codificar el mensaje ➔ binario: 1 bit/carácter ➔ decimal: 4 bits/carácter ➔ letras: 5 bits/carácter
  • 5. Teoría de la información ¿Cómo medir la cantidad de información de un mensaje?  Pero no se usan todas las combinaciones posibles...  Idea 3: número de bits en promedio (fraccional)  Ejemplo: lanzar un dado Lanzados Combinaciones Bits totales Bits/car. 1 6 3 3.000 2 36 6 3.000 3 216 8 2.667 4 1296 11 2.750 5 7776 13 2.600 200 4.27E+155 517 2.585
  • 6. Teoría de la información  ¿Cómo obtener directamente el número de bits promedio H? 5 4.5 4 3.5 Número de bits 3 2.5 2 1.5 1 0.5 0 4 6 7 14 16 17 24 26 27 2 3 5 8 9 10 11 12 13 15 18 19 20 21 22 23 25 28 29 30 31 32 Número de valores posibles H = log2(n), n: Número de valores posibles
  • 7. Teoría de la información ¿Qué pasa si no todos los valores tienen la misma probabilidad?  Ejemplo: Dado de 4 caras ➔ p(0) = 3/4 ➔ p(1) = 1/8 ➔ p(2) = 1/16 ➔ p(3) = 1/16  Cambio de codificación: ➔ 0→0 1 → 10 2 → 110 3 → 111  Número de bits promedio: ➔ H = 3/4 × 1 + 1/8 × 2 + 1/16 × 3 +1/16 × 3 = 11/8 = 1.38 b/c
  • 8. Entropía  Sea una variable aleatoria X  Puede tomar n valores: x1, x2... xn con probabilidades P( X = xi) = pi  Se define la entropía de X: n HX=− ∑ pi log2  pi  i=1  Mide la cantidad de información proveida por X
  • 9. Entropía  Ejemplo 1: evento equiprobable ➔ p1 = p2 = ... = pn = 1/n ➔ H(X) = log2 (n) ➔ Volvemos a encontrar la fórmula intuitiva ➔ Es el valor máximo que se pueda encontrar para n valores  Ejemplo 2: evento seguro ➔ pi =1 y pj = 0 para j ≠ i ➔ H(X) = 0 ➔ Es el valor mínimo que se pueda encontrar  La entropía mide la incertidumbre
  • 10. Redundancia  Ejemplo 1: ¿Qué viene después de una letra Q?  Ejemplo 2: ¿Qué significa INST NAC COMPUT CIENT?  ¡Podemos reconstituir más de la mitad del mensaje!  Una parte de la información de un texto normal no es necesaria, es redundante  En un lenguaje natural, la entropía no es máxima: ➔ frecuencias diferentes para diferentes letras, bigramas... ➔ reglas gramaticales, sintácticas... → Los lenguajes naturales tienen mucha redundancia
  • 11. Redundancia  Entropía absoluta por carácter Ha: ➔ es la entropía máxima posible (caracteres equiprobables) ➔ para el alfabeto de 26 letras, H = 4.7 b/c a  Entropía real por carácter Hr: ➔ es la entropía calculada sobre el lenguaje real ➔ para el inglés o el español, H ~ 1.5 b/c r  Redundancia por carácter R: ➔ es la diferencia R = Ha – Hr ➔ para el inglés o el español, R ~ 3.2 b/c
  • 12. Distancia de unicidad  Ataque por fuerza bruta: probamos todas las claves hasta encontrar un texto con sentido  ¿Cuántos caracteres necesitamos para reconocer el texto claro sin ambigüedad?  Entropía del espacio de claves: ➔ H(K) = log2 (número de claves)  Distancia de unicidad: H K  U= R
  • 13. Distancia de unicidad  Ejemplo: substitución monoalfabética  Número de claves = números de alfabetos = 26! log 2 26! U= =28caracteres 3.2
  • 14. 2. Generación y almacenamiento de claves
  • 15. Evolución histórica de las claves  Sin clave (sin parámetro libre): el secreto está en el algoritmo mismo ➔ Atbash (alfabeto invertido) ➔ César (desplazamiento de 3) ➔ Tritemio (desplazamiento incrementado para cada letra)  Palabra clave ➔ Substitución monoalfabética con alfabeto desordenado ➔ Vigenère  Clave aleatoria ➔ Hill ➔ Máquinas con rotores ➔ Cifrado modernos
  • 16. Claves y contraseñas  Cuando no requiere memorizar: clave ➔ Algoritmos para cifrar ➔ Algoritmos para firmar  Cuando requiere memorizar: contraseña ➔ Autenticación y control de acceso ➔ Aplicar una firma ➔ Descifrar un mensaje, un archivo
  • 17. Claves y contraseñas  Clave = más seguridad ➔ Larga ➔ Aleatoria  Contraseña = más conveniencia ➔ Fácil de memorizar ➔ Fácil de teclear → Combinar los dos
  • 18. Claves y contraseñas  Algoritmos simétricos ➔ Contraseña = palabra o frase (tamaño variable) ➔ Se le aplica una función resumen de sentido único ➔ Reducción (o extensión) a un tamaño fijo Ábrete Sésamo Contraseña Función resumen Clave simétrica La entropía de la clave es reducida a la entropía de la contraseña
  • 19. Claves y contraseñas  Algoritmos asimétricos ➔ clave privada aleatoria ➔ clave privada almacenada en el disco ➔ clave privada cifrada con un algoritmo simétrico Ábrete Sésamo Contraseña Función Clave resumen simétrica Clave privada cifrada Si el disco es accesible, la seguridad es la de la contraseña
  • 20. Contraseñas  Seguridad aumenta con la longitud  Datos personales (2do apellido, fecha nacimiento) ➔ Se puede adivinar  Palabra conocida/nombre (flor, planeta, futbolista) ➔ Ataque de diccionario  Generalmente posible encontrar 40 % de las contraseñas con estos ataques!  Seguridad aumenta con la entropía
  • 21. Contraseñas  Mezclar mayúsculas, minúsculas, dígitos y caracteres especiales  Fácil de memorizar, sin necesidad de escribirlo  Difícil de adivinar, incluso por una persona cercana  Más de 8 caracteres  Puede ser tecleado rápidamente (evitar espías)  Ej.: Iniciales de una frase: Creo que Alicia conoció a Bob en Guanajuato; no crees? → CqAcaBeG;nc?
  • 22. Contraseñas Los passwords son como los calzones...  Escógelo misterioso  Entre más largo, mejor  Cámbialo frecuentemente  No lo dejes tirado en cualquier lugar  No lo compartas con tus amigos
  • 23. Claves  Aleatoria (entropía máxima)  Generada con generador aleatorio real o seudo- aleatorio criptográficamente seguro  Si el algoritmo es ideal, la seguridad depende del tamaño de la clave (mejor ataque = fuerza bruta) ➔ Clave de n bits: 2n claves posibles (complejidad exponencial) ➔ No usar clave menor a 128 bits para algoritmos simétricos  Ejemplo: clave DES tiene 56 bits ➔ 1981: máquina de $50 M → 2 días ➔ 1993: máquina de $1 M → 3.5 horas ➔ 1996: NSA → 15 minutos
  • 24. Claves  El tamaño de la clave no es una garantía  Puede haber mejores ataques que fuerza bruta  Ej. 1: Substitución monoalfabética ➔ 26! claves posibles (permutaciones del alfabeto) ➔ 26! = 4.1026 ~ 88 bits ➔ Pero podemos atacar por análisis de frecuencias!  Ej. 2: Algoritmo RSA ➔ Mejor ataque = buscar factorización de la clave pública ➔ clave de 128 bits: se factoriza en 1 s en una laptop!! ➔ No usar clave menor a 1024 bits para algoritmos asimétricos
  • 25. Respaldo de claves  Problema: perdida de clave ➔ Olvido de la contraseña ➔ Desaparición del creador de la contraseña ➔ Disco borrado  Custodia de clave (key escrow) ➔ Un tercero tiene copia de las claves ➔ También para la policía (ej. clipper para teléfono 1993) ➔ Problema de confianza/seguridad  Secreto compartido ➔ Dar parte de las claves a varias personas ➔ Reconstituir la clave requiere que se junten
  • 26. Expiración de claves  Claves deben tener una vida limitada ➔ limita tiempo/datos para criptoanálisis ➔ limita los datos perdidos si la clave es comprometida  Renovar clave frecuentemente si ➔ es fácil de encontrar (contraseña) ➔ es usada para información importante  Clave privada comprometida ➔ permite leer mensajes (incluso anteriores) ➔ permite robo de identidad ➔ fijar fecha de expiración y/o ➔ preparar certificado de revocación (al generar la clave, en caso de perdida de la clave privada)
  • 28. Claves de sesión  Problema: la clave debe transmitirse por un canal seguro  Es difícil renovarla  Solución: ➔ una clave principal (permanente) ➔ claves de sesión generadas para cada nuevo mensaje ➔ la clave principal es poco usada (criptoanálisis difícil) ➔ poca información perdida si clave de sesión comprometida
  • 29. Claves simétricas  Establecer una clave para cada par de usuario ➔ n usuarios: n(n-1)/2 claves ➔ muchas claves, muchos intercambios por canal seguro
  • 30. Claves simétricas  Tercero de confianza: centro de distribución de claves (KDC)  El KDC tiene las claves principales de todos  El KDC distribuye claves de sesión A1 A2 Centro de A6 distribución A3 de claves A5 A4
  • 31. Intercambio con claves simétricas Alicia KDC Bob “Quiero comunicar con Bob” KS KA KS KB
  • 32. Intercambio con claves simétricas Comunicación cifrada
  • 33. Intercambio con claves simétricas  Requiere confianza absoluta en el KDC ➔ puede “escuchar” todas las comunicaciones ➔ (puede modificar las comunicaciones) ➔ (puede hacerse pasar por cualquier usuario)  Todas las llaves están comprometidas si el KDC está comprometido  Todas las comunicaciones están bloqueadas si el KDC está indisponible
  • 34. Claves asimétricas  Cada usuario tiene su clave privada y su clave pública ➔ n usuarios: n claves ➔ pocas claves ➔ sólo se requiere transmitir las claves públicas ➔ la clave pública puede ser obtenida del usuario o de un KDC ➔ no hay problema con atacantes pasivos: no pueden hacer nada con la clave pública
  • 35. Intercambio con claves asimétricas KDC Alicia KB pub Bob KS KB pub
  • 36. Intercambio con claves asimétricas Comunicación cifrada
  • 37. Ataque del hombre-en-el-medio Alicia Atacante Bob “Quiero comunicar con Bob” priv priv “Quiero comunicar con Bob” priv priv pub pub priv priv
  • 38. Ataque del hombre-en-el-medio Alicia Atacante Bob pub pub priv priv pub Alicia Atacante Bob pub pub priv priv pub
  • 39. Verificación de claves  Las claves asimétricas no resuelven el problema de un atacante activo con control completo  Autenticidad de la clave verificada por una firma: ➔ de una Autoridad de Certificación (certificados) ➔ de otros usuarios confiables (PGP)  Hace falta conocer la clave pública del certificador!