union criptografia

Upload: nelson-pino

Post on 06-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 UNION Criptografia

    1/134

    Complejidad

    Computacional

    Integrantes del grupo:

    •   Montes Hernández, Marta Gabriel MH 1011

    •   Patiño Rivera, Carla Estefanía PR 1019

    •   Reyes Lemus, José Antonio RL 1014

    •   Sánchez Peralta, José Alberto SP 1006

  • 8/17/2019 UNION Criptografia

    2/134

    Complejidad Computacional

    •  Estudia los recursos requeridos para

    resolver un problema.•  En Computación,

    Problemas => Algoritmos

    •  En computación se da el dicho:

    “Divide y Vencerás”

  • 8/17/2019 UNION Criptografia

    3/134

    •   La finalidad de la teoría de la

    complejidad es generar 

    mecanismos computacionales

    que pueden resolver la

    complejidad de un problema.

    •   Complejidad de Calculo =

    Cantidad de Recurso paraefectuar un determinado

    cálculo.

    •   Mayor Dificultad = Mayor 

    Recursos

    •   Complejidad Temporal vs.

    Complejidad Espacial

  • 8/17/2019 UNION Criptografia

    4/134

    Clasificación de

    Problemas Computacionales

    •  Problemas Clase P

    •  Problemas Clase NP

  • 8/17/2019 UNION Criptografia

    5/134

    •  Con nuevas tecnologías se debe estimular

    buscar algoritmos mas eficientes.

    •  Función Computable:

     – Cuando existe un algoritmo para ella, sinimportar o expresarse ese algoritmo

    •   Método Recursivo:

     Permite que a partir de un conjunto basico

    de funciones computable, funciones iniciales,

    puedan construirse otras.

  • 8/17/2019 UNION Criptografia

    6/134

    Clases de Complejidad…

    •  Tipo de Problema Computacional.

    •  Modelo de Computo.

    •  Recurso que esta siendo acotado y las

    cotas

  • 8/17/2019 UNION Criptografia

    7/134

  • 8/17/2019 UNION Criptografia

    8/134

    Teorema de Gödel•   Un sistema lógico está constituido por proposiciones a las

    cuales se les asigna dos valores posibles, verdaderos o

    falsos.

    •   La palabra clave es algoritmo. ¿Qué es un algoritmo?Intuitivamente, un algoritmo es una receta, una serie de

    instrucciones que nos dice cómo trabajar mecánicamente con

    cierto conjunto de datos.

    •   Un algoritmo recibe entonces una entrada (input), procesa

    esos datos y, tras un tiempo finito, entrega como respuesta

    un resultado (output).

  • 8/17/2019 UNION Criptografia

    9/134

    Maquina de Turing•   El concepto de algoritmo puede asimilarse al de una máquina abstracta,

    una computadora teórica hoy conocida como máquina de Turing. Esta

    máquina consta en primer lugar de una cinta, en la cual se anotará la

    entrada y la salida del algoritmo y que servirá a la vez de memoria de

    trabajo del dispositivo.•   Todo algoritmo o procedimiento efectivo es   “Turing-computable”

    Codificadas adecuadamente las entradas y las salidas, todo algoritmo

    puede representarse mediante una máquina de Turing.

  • 8/17/2019 UNION Criptografia

    10/134

    POR SU ATENCION

    PRESTADA

  • 8/17/2019 UNION Criptografia

    11/134

    Funciones Hash

    Ing. Luis Alberto Gómez

    1

  • 8/17/2019 UNION Criptografia

    12/134

    Objetivos

    Comparar diferentes funciones y aprender aaplicarlos.

    2

  • 8/17/2019 UNION Criptografia

    13/134

    3

    El Reto en la SeguridadLos sistemas de Tecnologías de la

    Información…

     – … cambian rápidamente

     – … son cada vez más complejos

    Y los “ataques” son más sofisticados y

    “atacar” cada vez es más fácil

    La seguridad

    debe ocupar su lugar 

  • 8/17/2019 UNION Criptografia

    14/134

    4

    Seguridad: definición

    ISO, en su norma 7498, define la seguridad 

    informática como una serie de mecanismosque minimizan la vulnerabilidad de bienes y

     recursos, donde un bien se define como algode valor y la vulnerabilidad se define comola debilidad que se puede explotar para violar

    un sistema o la información que contiene.Para ello, se han desarrollado protocolos ymecanismos adecuados, para preservar laseguridad.

  • 8/17/2019 UNION Criptografia

    15/134

    5

    Temas legales

    En muchos gobiernos el uso de información cifrada

    está prohibido.Los Gobiernos tratan de implantar reglas (oestándares de cifrado) que ellos mismos puedandescifrar fácilmente.

    La polémica está levantada, pero no es objeto de laasignatura entrar en detalle en estos temas.

    Por ejemplo en Francia y EEUU no están permitidastransacciones cifradas, que el gobierno no seacapaz de descifrar, pues pueden utilizarse paracomercio de armas, delincuencia, ...

  • 8/17/2019 UNION Criptografia

    16/134

    6

    Clasificación de problemas de seguridad

    Los problemas de seguridad de las redes pueden dividirse de formageneral en cuatro áreas interrelacionadas:

    1.-El secreto , encargado de mantener la información fuera de las manosde usuarios no autorizados.

    2.-La validación de identificación , encargada de determinar la identidad de la persona/computadora con la que se esta hablando.

    3.-El control de integridad  , encargado de asegurar que el mensajerecibido fue el enviado por la otra parte y no un mensaje manipulado

     por un tercero.

    4.-El no repudio , encargado de asegurar la “firma” de los mensajes, deigual forma que se firma en papel una petición de compra/venta entreempresas.

  • 8/17/2019 UNION Criptografia

    17/134

    7

    Métodos de autenticación (identificación)

    Biomédicas, por huellas dactilares, retina del ojo, ...

    Tarjetas inteligentes que guardan información de los

    certificados de un usuario Métodos clásicos basados en contraseña, más frágiles que los

    anteriores y más simples (baratos), basados en:

     –  Comprobación local o método tradicional en la propiamáquina

     –  Comprobación en red o método distribuido, más

    utilizado actualmenteUna vez completado el protocolo , ambos A y B están seguro que está hablando entre ellos.

     Durante el protocolo podrían haber intercambiado unaclave de sesión.

  • 8/17/2019 UNION Criptografia

    18/134

    8

    Modelos de validación basados enmétodos distribuidos

    Estos modelos se clasifican en:

    clave secreta ( privada o simétrica) con métodos• Basados en protocolos con clave simétrica compartida, DiffieHellman (no permite autenticación), etc

    • Basado en servidores con registro de todos los usuarios.Ejemplo TACACS+ y Radius

    • Basados en NIS, NIS+ ( Network Information Service)• Basados en centros de distribución de claves basados en

    criptografía, Kerberos

    clave pública (asimétrica) con métodos queveremos más en detalle en la siguiente parte

    • X.500, LDAP ( Lighweight Directory Access Protocol)• Certificados

  • 8/17/2019 UNION Criptografia

    19/134

    9

    Validación de identificación de clave secreta

     Los modelos anteriores hacen uso parcial o total delos siguientes métodos

    Métodos:1. Validación de identificación basada en clave

    secreta compartida.2. Establecimiento de una clave compartida:

    intercambio de claves Diffie-Hellman (no permite autenticación)

    3. Validación de identificación usando un centro dedistribución de claves (KDC ).

    4. Protocolo de autenticación Kerberos.

  • 8/17/2019 UNION Criptografia

    20/134

    10

    Validación de identificación basada en clavesecreta compartida

    Supondremos que A y B ya comparten una clave secreta KAB(acordada o bien telefónicamente o en persona pero, en

    cualquier caso, no a través de la red)

    Este protocolo se basa en reto-respuesta: una parte envía unnúmero aleatorio a la otra, que entonces lo transforma deuna manera especial y devuelve el resultado.

    Notación a utilizar: Ri son los retos, donde el subíndice identifica el retador: A o B Ki son las claves, donde i indica el dueño; Ks es la clave de la sesión.

  • 8/17/2019 UNION Criptografia

    21/134

    11

    A B

    A

    RA

    RB

    KAB(RB)

    KAB(RA)

    1

    2

    3

    4

    5

    Validación de identificación basada en clavesecreta compartida: protocolo

    Ri son números aleatorios grandes lanzados desde cada extremo como reto.El paso 4 y 5 es para que A se asegure que le contesta B. Tras esta

    identificación, A puede indicar una Ks para la sesión.Este protocolo funciona, pero se puede simplificar el número de mensajes.DESTACAR, que con el mensaje 2 y 3 se podría tratar de explotar por

    fuerza bruta la clave.

    ¿ERES A?

    ¿ERES B?

  • 8/17/2019 UNION Criptografia

    22/134

    12

    TACACS+ y RADIUSTACACS+ (Terminal Access Controller Access Control System-

    RFC1492) y RADIUS ( Remote Authentication Dial In User Service-RFC2138) son ejemplos de centros de distribución de claves o

    también conocidos como servidores de control de acceso.TACACS+ y RADIUS son protocolos para descentralizar el control del

    acceso, de forma que cualquier servicio en red que requiera validar,autorizar o auditar a un usuario lo puede hacer como cliente de losservidores TACACS+ y/o RADIUS .

    Estos servidores se utilizan generalmente como apoyo a los routers deservidor de acceso remoto, por ejemplo la gestión de usuarios queconectan desde el exterior a la Universitat de Valencia.

    Ejemplo. Ambos junto Kerberos, son servidores utilizados para darsoporte a los servicios AAA de los routers de Cisco Systems:

     Authetication (quién), Authorization (qué), Accounting ( auditoria))

  • 8/17/2019 UNION Criptografia

    23/134

    13

    Protocolos para AAA

    Access Control Serve

    (ACS): Tacacs+, Radius

    Kerberos V

  • 8/17/2019 UNION Criptografia

    24/134

    Seguridad: Integridad

    Autentificación

  • 8/17/2019 UNION Criptografia

    25/134

    ATAQUES CRIPTOGRÁFICOS

    En criptografía, se denomina ataque defuerza bruta a la forma de recuperar unaclave probando todas las combinacionesposibles hasta encontrar aquella que permiteel acceso.

    15

  • 8/17/2019 UNION Criptografia

    26/134

    Dicho de otro modo, define alprocedimiento por el cual a partir delconocimiento del algoritmo de cifradoempleado y de un par texto claro/ textocifrado, se realiza el cifrado

    (respectivamente, descifrado) de uno de losmiembros del par con cada una de lasposibles combinaciones de clave, hastaobtener el otro miembro del par.

    16

  • 8/17/2019 UNION Criptografia

    27/134

    factor determinanteEl coste de realizar un ataque de fuerza bruta

    es el juego de caracteres que se puedenutilizar en la clave. Contraseñas que sóloutilicen dígitos numéricos serán más fácilesde descifrar que aquellas que incluyen otroscaracteres como letras, así como las que están

    compuestas por menos caracteres serántambién más fáciles de descifrar, lacomplejidad impuesta por la cantidad decaracteres en una contraseña es logarítmica.

    17

  • 8/17/2019 UNION Criptografia

    28/134

    Un ataque de diccionario

    Es un método de cracking que consiste enintentar averiguar una contraseña probandotodas las palabras del diccionario. Este tipode ataque suele ser más eficiente que unataque de fuerza bruta, ya que muchos

    usuarios suelen utilizar una palabraexistente en su lengua como contraseña paraque la clave sea fácil de recordar, lo cual noes una práctica recomendable.

    18

  • 8/17/2019 UNION Criptografia

    29/134

    Los ataques de diccionario tienen pocasprobabilidades de éxito con sistemas queemplean contraseñas fuertes con letras enmayúsculas y minúsculas mezcladas connúmeros y con cualquier otro tipo de

    símbolos.

    19

  • 8/17/2019 UNION Criptografia

    30/134

    Sin embargo, para la mayoría de losusuarios recordar contraseñas tan complejasresulta complicado. Existen variantes quecomprueban también algunas de las típicassustituciones (determinadas letras por

    números, intercambio de dos letras,abreviaciones), así como distintascombinaciones de mayúsculas yminúsculas.

    20

  • 8/17/2019 UNION Criptografia

    31/134

    Ejemplo

    Una práctica bastante habitual para usarcontraseñas que sean fáciles de recordar y a lavez no sean vulnerables a los ataques dediccionario es tomar las iniciales de todas laspalabras de una oración que tenga algún

    significado especial. Por ejemplo, si tomamosla frase “Mi primera bicicleta fue una BH210que me regaló mi abuelo Francisco” , lacontraseña

    21

  • 8/17/2019 UNION Criptografia

    32/134

    Ejemplo

    resultante sería la siguiente:MpbfuBH210qmrmaF . Esta contraseñamezcla letras y números, que con sus 16caracteres es relativamente larga, y seríabastante difícil de romper mediante un

    ataque de fuerza bruta, suponiendo que elalgoritmo de cifrado elegido sea losuficientemente seguro. Sin embargo, parael usuario en cuestión seguramente seabastante fácil de recordar.

    22

  • 8/17/2019 UNION Criptografia

    33/134

    Protección frente a los ataques

    Una forma sencilla de proteger un sistemacontra los ataques de fuerza bruta o losataques de diccionario es establecer unnúmero máximo de tentativas . De esta formase bloquea el sistema automáticamente

    después de un número de intentosinfructuosos predeterminado.

    23

  • 8/17/2019 UNION Criptografia

    34/134

    Ejemplo

    Mecanismo empleado en las tarjetas SIMque se bloquean automáticamente tras tresintentos fallidos al introducir el código PIN.

    24

  • 8/17/2019 UNION Criptografia

    35/134

    CRIPTOGRAFÍA DE CLAVEASIMÉTRICA. FIRMA

    DIGITALUna de las principales ventajas de la

    criptografía de clave pública es que ofreceun método para el desarrollo de firmasdigitales. La firma digital permite al

    receptor de un mensaje verificar laautenticidad del origen de la informaciónasí como verificar que dicha información noha sido modificada desde su generación.

    25

  • 8/17/2019 UNION Criptografia

    36/134

    Firma Digital

    Una firma digital está destinada al mismopropósito que una manuscrita. Sin embargo,una firma manuscrita es sencilla defalsificar mientras que la digital esimposible mientras no se descubra la clave

    privada del firmante.

    26

  • 8/17/2019 UNION Criptografia

    37/134

    Firma DigitalLa firma digital se basa en la propiedad ya

    comentada, sobre que un mensaje cifradoutilizando la clave privada de un usuariosólo puede ser descifrado utilizando la clavepública asociada. De tal manera, se tiene laseguridad de que el mensaje que ha podido

    descifrarse utilizando la clave pública sólopudo cifrarse utilizando la privada. La firmadigital, por tanto, es un cifrado del mensajeque se está firmando pero utilizando laclave privada en lugar de la pública.27

  • 8/17/2019 UNION Criptografia

    38/134

    ¿Qué es una función Hash?Es una operación que se realiza sobre un

    conjunto de datos de cualquier tamaño detal forma que se obtiene como resultadootro conjunto de datos, en ocasionesdenominado resumen de los datos originales, de tamaño fijo e independiente del tamaño

    original que, además, tiene la propiedad deestar asociado unívocamente a los datosiniciales, es decir, es prácticamenteimposible encontrar dos mensajes distintosque tengan un resumen hash idéntico.28

  • 8/17/2019 UNION Criptografia

    39/134

    Ana y Bernardo tienen sus pares de clavesrespectivas. Ana escribe un mensaje aBernardo. Es necesario que Bernardo puedaverificar que realmente es Ana quien haenviado el mensaje. Por lo tanto, Ana debe

    enviarlo firmado:

    29

  • 8/17/2019 UNION Criptografia

    40/134

    1. Resume el mensaje odatos mediante unafunción hash.

    2. Cifra el resultado de lafunción hash con su

    clave privada. De estaforma obtiene su firmadigital .

    30

  • 8/17/2019 UNION Criptografia

    41/134

    3. Envía a Bernardo el mensaje original juntocon la firma. Bernardo recibe el mensaje

     junto a la firma digital. Deberá comprobarla validez de ésta para dar por bueno elmensaje y reconocer al autor del mismo(integridad y autenticación).

    4. Descifra el resumen del mensaje mediantela clave pública de Ana.

    5. Aplica al mensaje la función hash paraobtener el resumen.

    31

  • 8/17/2019 UNION Criptografia

    42/134

    5. Compara el resumen recibido con elobtenido a partir de la función hash. Si soniguales, Bernardo puede estar seguro de

    que quien ha enviado el

    32

  • 8/17/2019 UNION Criptografia

    43/134

    33

    El control de integridad (1/2)Los esquemas de validación de integridad, se basan en la idea

    de una función de dispersión unidireccional (o hash) quetoma una parte arbitrariamente grande de texto común y a

    partir de ella calcula una cadena de bits de longitud fija.La función de dispersión, llamada compendio de mensaje

    (message digest ), tiene tres propiedades importantes:1.-dado un texto P, es fácil calcular su compendio de mensaje

     MD(P)

    2.-dado un compendio de mensaje MD(P), escomputacionalmente imposible encontrar P, es decir  no

     tiene inversa

    3.-nadie puede generar dos mensajes que tengan el mismocompendio de mensaje,  a no ser que sean el mismo mensaje. Esto requiere compendios de 128 bits de longitudmínimo.

  • 8/17/2019 UNION Criptografia

    44/134

    34

    El control de integridad (2/2)

    El compendio de un mensaje se conoce como huelladigital.

    Los compendios de mensaje funcionan tanto en claveprivada como en clave pública, siendo los demayor uso el MD5 y el SHA

     Ejemplo: Para entender la idea del compendio, podemos relacionarlo con los CRC añadidos enlos paquetes , de forma que si un paquete esalterado, el CRC no coincide con lo cual cabe

     pensar que se ha dañado o ha sido manipulado.

  • 8/17/2019 UNION Criptografia

    45/134

    35

    MD5: Message Digest 5

    El MD5 es una serie de funciones de dispersióndiseñadas por Ron Rivest (el del algoritmo RSA)en el año 1992. [RFC1321] que generacompendios de 128 bits.

    Las anteriores versiones MD2[RFC1319],MD4[RFC1186 y 1320] son más lentas.

    Opera alterando los bits de una manera tancomplicada que cada bit de salida es afectado porcada bit de entrada.

  • 8/17/2019 UNION Criptografia

    46/134

    36

    SHA: Secure Hash Algoritm

    El SHA (Secure Hash Algoritm), fuedesarrollado por la  NSA ( National Security Agency) junto con NIST ( National Institut of Standards and Technology) y procesa losdatos de entrada en bloques de 512 bits, pero

    a diferencia del MD5 genera un compendiode mensaje de 160 bits (20 bytes).

  • 8/17/2019 UNION Criptografia

    47/134

    SHA y MD5 son dos ejemplos de este tipo dealgoritmos que implementan funciones hash.El Digital Signature Algorithm es unalgoritmo de firmado de clave pública quefunciona como hemos descrito. DSA es el

    algoritmo principal de firmado que se usa enGnuPG.

    37

  • 8/17/2019 UNION Criptografia

    48/134

    Alguna de las aplicaciones son

    Mensajes con autenticidad asegurada. Mensajes sin posibilidad de repudio.

    Contratos comerciales electrónicos.

    Factura Electrónica.

    Transacciones comerciales electrónicas.

    Notificaciones judiciales electrónicas.

    Voto electrónico.

    Trámites de Seguridad Social.

    Contratación pública.38

  • 8/17/2019 UNION Criptografia

    49/134

    Con este sistema conseguimos

    Autenticación: la firma digital esequivalente a la firma física de undocumento.

    Integridad: el mensaje no podrá sermodificado.

    No repudio en origen: el emisor no puedenegar haber enviado el mensaje.

    39

  • 8/17/2019 UNION Criptografia

    50/134

    Seguridad: No repudio

    Firmas y certificados

  • 8/17/2019 UNION Criptografia

    51/134

    41

    Firma digitalLa validación de identificación y autenticidad de

    muchos documentos legales, financieros y de

    otros tipos se determina por la presencia oausencia o bien de una firma manuscritaautorizada o bien de una firma digital.

    La firma digital permite que una parte pueda enviarun mensaje “firmado” a otra parte, con laspropiedades de  autentificación (íntegro,

     auténtico) y no repudio.

     POR TANTO, LA CLAVE DE LA FIRMA DIGITAL ESTRIBA EN  PEDIR OBLIGATORIAMENTE UN ACUSE DE RECIBO

  • 8/17/2019 UNION Criptografia

    52/134

    42

     Son condiciones más fuertes

    que la de una firma manuscrita.

    Características de una firma digitalRequisitos de la Firma Digital:

    a) Debe ser fácil de generar.

    b) Será irrevocable, no rechazable por su propietario con

    el acuse de recibo.

    c) Será única, sólo posible de generar por su propietario.

    d) Será fácil de autenticar o reconocer por su propietario

    y los usuarios receptores.

    e) Debe depender del mensaje (por compendio) y del

    autor (por certificado).

  • 8/17/2019 UNION Criptografia

    53/134

    43

    Firma digital: clasificación

     Al igual que la criptografía, las firmas digitales se

    dividen en dos grandes grupos:

    firmas de clave secreta o simétrica

    firmas de clave pública o asimétrica

  • 8/17/2019 UNION Criptografia

    54/134

    44

    Firma digital: con clave secreta

    Un enfoque de las firmas digitales sería tener una autoridad

    central X que sepa todo y en quien todos confíen.Cada usuario escoge una clave secreta y la llevapersonalmente a la autoridad central X. Por tanto, sólo elusuario y X conocen la clave secreta del usuario. En elcaso del usuario A, sería la clave secreta KA

    Ejemplo: el algoritmo HMAC ( Hash Message Authentication

    Code) que consiste en añadir al final del mensaje, elcompendio o resumen de éste, pero cifrado con una claveque identifica al usuario.

  • 8/17/2019 UNION Criptografia

    55/134

    45

    Hash Message Authentication Method (HMAC)

    Mensaje

    recibido

    Función

    Hash

    4ehIDx67NMop9

    Pay to Terry Smith $100.00

    One Hundred and xx/100 Dollars

    Pay to Terry Smith $100.00

    One Hundred and xx/100 Dollars

    4ehIDx67NMop9

    Mensaje + Hash

    Clave simétrica

    compartidaMensaje a mandar 

    Clave simétrica

    compartida

    Función

    Hash

    4ehIDx67NMop9

    Pay to Terry Smith $100.00

    One Hundred and xx/100 Dollars

    Local Remoto

    1

    2

  • 8/17/2019 UNION Criptografia

    56/134

    46

    Firma digital: con clave secreta y un árbitro

    1.- Cuando A quiere enviar un mensaje de texto normal P firmado a B,genera KA(B,RA,t,P) y lo envía a X, donde t es una marca detiempo y RA es un identificador para mensaje único.

    2.- X ve que el mensaje es de A, lo descifra y envía un mensaje a Bque contiene el texto normal del mensaje de A y también elmensaje firmado KX(A,t,P).

    Si A niega el envío del mensaje a B:B puede afirmar que el mensaje vino de A y no de un tercero C, pues

    X no hubiera aceptado un mensaje de A a menos que estuviesecifrado con KA, por lo que no hay posibilidad de que C enviará aX un mensaje falso en nombre de A. B además presenta laprueba KX(A,t,P), que a su vez X (en quien todo el mundo confía)la puede descifrar y testificar que B dice la verdad.

    A

    A, KA(B,RA,t,P)

    KB(A,RA,t,P,KX(A,t,P))

    BX

  • 8/17/2019 UNION Criptografia

    57/134

    47

    P=soy A el firmante, 17.00h 23/6/2004

    Calculo DA(P)

    Usuario A Usuario B

    B, ¿cuál es tu clave pública?

    E B()

    EB(DA(P))

    Calculo EA(DB(EB(DA(P))))=P

    t

    A, ¿cuál es tu clave pública?

    E A()

    Todo correcto!

    Está firmado por A

    Firma digital: con clave pública

    Comprobemos la firma

  • 8/17/2019 UNION Criptografia

    58/134

    48

    Firma digital: con clave pública

    Supongamos A niega haber enviado el mensaje P a B.Entonces B puede presentar tanto P como DA(P), que es

    un mensaje válido cifrado por DA() con sólo aplicarleEA(). Dado que B no conoce la clave privada de A, laúnica forma en que B pudo haber adquirido el mensajecifrado sería que A en efecto lo hubiera enviado.

    Pero esto siempre y cuando DA permanezca en secreto. SiA divulga su clave secreta, el argumento ya no se

    mantiene.Además, A puede decidir cambiar su clave, en

    consecuencia, parece que sí que se requiere algunaautoridad para registrar todos los cambios de clave y susfechas.

  • 8/17/2019 UNION Criptografia

    59/134

    49

    ¿Qué es un Certificado?

    Un archivo, firmado con la clave privada de CA con laidentidad, la clave pública del dicha identidad, atributos variosy compendio de dicha información:

    DCA(identidad, clave, atributos, compendio{identidad, clave, atributos})

  • 8/17/2019 UNION Criptografia

    60/134

    50

    Definiciones: Certificado digital (1/2)

    El certificado digital es un vínculo entre una clave pública yuna identidad de usuario, que se consigue mediante unafirma digital por una tercera parte o autoridad decertificación que hace pública su clave pública en la queTODOS confían.

    Por tanto, el certificado se considera como un objeto firmadocon la clave privada de la autoridad de cerificación, eincluyendo: identidad del usuario, clave, periodo devalidez, identidad emisor , ...

    La autoridad de certificación (CA: Certificacion Authorityo Autoridad de Certificación) es una entidad de confianzaque es reconocida y aceptada por todos, imposible desuplantar. Por regla general, por seguridad no se trabajadirectamente con la autoridad de certificación, si no conun intermediario o autoridad de registro. La Fábrica Nacional de Moneda y Timbre (FNMT) es una CA.

  • 8/17/2019 UNION Criptografia

    61/134

    51

    Definiciones: Certificado digital (2/2)

    El certificado raíz es un certificado emitido de la CA para sí misma con su clave pública, para comprobar certificadosemitidos por ella. Se suele instalar previamente dicho

    certificado en el navegador para poder utilizar loscertificados de dicha CA. Los navegadores llevan pordefecto muchos de ellos.

    La autoridad de registro que identifica de forma inequívocaal solicitante de un certificado y suministra a la CA losdatos verificados para que pueda emitirlo.

    Lista de certificados revocados (o CRL Certificate

     Revocation List ) es una lista donde se recogen todos loscertificados de la CA dados de baja por caducidad aunestando temporalmente vigentes por problemas varios ypor tanto cualquier firma emitida con posterioridad a larevocación no tiene validez. Este documento también esfirmado por la propia CA.

  • 8/17/2019 UNION Criptografia

    62/134

    CERTIFICADOS DIGITALES

    La eficacia de las operaciones de cifrado yfirma digital basadas en criptografía declave pública sólo está garantizada si setiene la certeza de que la clave privada delos usuarios sólo es conocida por dichos

    usuarios y que la pública puede ser dada aconocer a todos los demás usuarios con laseguridad de que no exista confusión entrelas claves públicas de los distintos usuarios.

    52

  • 8/17/2019 UNION Criptografia

    63/134

    Para garantizar la unicidad de lasclaves privadas

    Se suele recurrir a soportes físicos talescomo tarjetas inteligentes ( SmartCards ) otarjetas PCMCIA que garantizan laimposibilidad de la duplicación de lasclaves. Además, las tarjetas criptográficas

    suelen estar protegidas por un númeropersonal o PIN sólo conocido por supropietario que garantiza que, aunque seextravíe la tarjeta, nadie que no conozcadicho número podrá hacer uso de ella.

    53

  • 8/17/2019 UNION Criptografia

    64/134

    Por otra parte, para asegurar que unadeterminada clave pública pertenece a unusuario en concreto se utilizan los

    certificados digitales . Un certificado digitales un documento electrónico que asocia unaclave pública con la identidad de supropietario.

    54

  • 8/17/2019 UNION Criptografia

    65/134

    En general un certificado digital es unarchivo que puede emplear un software parafirmar digitalmente archivos , en los cualespuede verificarse la identidad del firmante.La extensión del certificado con clave

    privada suele ser un *.pfx o *.p12, mientrasque el certificado que no tiene clave privada(sólo la pública) suele ser de extensión *.cero *.crt.

    55

  • 8/17/2019 UNION Criptografia

    66/134

    TERCERAS PARTES DECONFIANZA

    Una vez definido el concepto de certificado digitalse plantea una duda: ¿cómo confiar si undeterminado certificado es válido o si estáfalsificado? La validez de un certificado es laconfianza en que la clave pública contenida en elcertificado pertenece al usuario indicado en elcertificado. La validez del certificado en unentorno de clave pública es esencial ya que sedebe conocer si se puede confiar o no en que eldestinatario de un mensaje será o no realmente elque esperamos.

    56

  • 8/17/2019 UNION Criptografia

    67/134

    Como se puede confiar en uncertificadoLa manera en que se puede confiar en

    el certificado de un usuario con el quenunca hemos tenido ninguna relaciónprevia es mediante la confianza enterceras partes. La idea consiste en quedos usuarios puedan confiardirectamente entre sí, si ambos tienenrelación con una tercera parte ya queésta puede dar fé de la fiabilidad de losdos.

    57

  • 8/17/2019 UNION Criptografia

    68/134

    La necesidad de una Tercera ParteConfiable (TPC o TTP, Trusted Third Party) es fundamental en cualquier entorno declave pública de tamaño considerabledebido a que es impensable que los usuarios

    hayan tenido relaciones previas antes deintercambiar información cifrada o firmada.

    58

  • 8/17/2019 UNION Criptografia

    69/134

    Además, la mejor forma de permitir ladistribución de las claves públicas (ocertificados digitales) de los distintosusuarios es que algún agente, en quien todoslos usuarios confíen, se encargue de su

    publicación en algún repositorio al quetodos los usuarios tengan acceso.

    59

  • 8/17/2019 UNION Criptografia

    70/134

    60

    Ejemplo de

    certificados

    raíz en un

    navegador

    Env iado a Em i tido po r   ABA.ECOM Root CA ABA.ECOM Root CA

     AC del Colegio Nacional de Correduria Publica Mexicana, A.C. AC del Colegio Nacional de Correduria Public

    Baltimore EZ by DST Baltimore EZ by DST

    Belgacom E-Trust Primary CA Belgacom E-Trust Primary CA

    C&W HKT SecureNet CA Class A C&W HKT SecureNet CA Class A

    CA 1 CA 1

    Certiposte Classe A Personne Certiposte Classe A Personne

    Certiposte Serveur Certiposte Serveur  

    Certisign - Autoridade Certificadora - AC2 Certisign - Autoridade Certificadora - AC2

    Class 1 Primary CA Class 1 Primary CA

    Copyright (c) 1997 Microsoft Corp. Copyright (c) 1997 Microsoft Corp.

    Deutsche Telekom Root CA 1 Deutsche Telekom Root CA 1

    DST (ANX Network) CA DST (ANX Network) CA

    DST (NRF) RootCA DST (NRF) RootCA

    DST-Entrust GTI CA DST-Entrust GTI CA

    Entrust.net Secure Server Cert ificat ion Authori ty Entrust.net Secure Server Cert ificat ion Autho

    Equifax Secure Certificate Authority Equifax Secure Certificate Authority

    FNMT Clase 2 CA FNMT Clase 2 CA

    GlobalSign Root CA GlobalSign Root CA

    http://www.valicert.com/ http://www.valicert.com/

    IPS SERVIDORES IPS SERVIDORES

    Microsoft Authenticode(tm) Root Authority Microsoft Authenticode(tm) Root Authority

    Microsoft Root Authority Microsoft Root Authority

    NetLock Uzleti (Class B) Tanusitvany kiado NetLock Uzleti (Clas s B) Tanusitvanykiado

    PTT Post Root CA PTT Post Root CA

    Saunalahden Serveri CA Saunalahden Serveri CA

    Secure Server Certification Authority Secure Server Certification Authority

    SecureNet CA Class A SecureNet CA Class A

    SecureSign RootCA SecureSign RootCASERVICIOS DE CERTIFICACION - A.N.C. SERVICIOS DE CERTIFICACION - A.N.C.

    SIA Secure Client CA SIA Secure Client CA

    SIA Secure Server CA SIA Secure Server CA

    Swisskey Root CA Swisskey Root CA

    TC TrustCenter Class CA TC TrustCenter Class CA

    TC TrustCenter Time Stamping CA TC TrustCenter Time Stamping CA

    Thawte Personal CA Thawte Personal CA

    UTN - DATACorp SGC UTN - DATACorp SGC

    UTN-USERFirst-Cl ient Authent icat ion and Emai l UTN-USERFirst-Cl ient Authent icat ion and E

    VeriS ign Commerc ial Software Publishers CA VeriS ign Commerc ial Software Publishers C

    VeriSign Individual Software Publishers CA VeriSign Individual Software Publis hers CA

    VeriSign Trust Network VeriSign Trust Network

    Xcert EZ by DST Xcert EZ by DST

  • 8/17/2019 UNION Criptografia

    71/134

    61

    Certificados X509v3 (1/2)X.509 es el protocolo que se utiliza para certificar las claves

     públicas, con lo que los usuarios pueden intercambiar datos demanera segura. Definido por ISO pero aceptado por el IETF enRFC 3280.X.509 está basado en criptografía asimétrica y firma digital

    Se emplea para autentificar la información en redes externas y enredes internas y en el correo electrónico.

    La autenticación se realiza mediante el uso de certificados.

    - Un certificado contiene: el nombre de la CA, el nombre

    del usuario, la clave pública del usuario y cualquier otrainformación como puede ser el tiempo de validez

    - El certificado se cifra con la clave privada de la CA.

    - Todos los usuarios poseen la clave pública del CA.

  • 8/17/2019 UNION Criptografia

    72/134

    62

    Certificados X509v3 (2/2)Los campos del X.509 escritos en ASN1 son:Versión: La del protocolo X.509 (actualmente versión 3)Número de serie: Es un número asignado por el CA y que identifica de

    manera única el certificado.Algoritmo de la firma del certificado: Identifica el algoritmo utilizado para

    firmar el certificado.Autoridad de certificación (CA): Es el nombre de la CA en formato X.500Fecha de inicio y final: tiempo de validezUsuario: Es el nombre del usuario.

    Clave pública: Es la clave del usuario.Identificador único del CA: Es el número que identifica a la CA. Es único

    en el mundo.Identificador único del usuario: Es el número que identifica al usuario para

    todos sus certificados.Extensiones: Si hay extensiones de la informaciónFirma de la CA: Firma todos los campos anteriores empleando, para

    ello un compendio del certificado y luego cifrado con su claveprivada.

  • 8/17/2019 UNION Criptografia

    73/134

    63

    En muchas ocasiones no se dispone ni de Autoridades deCertificación ni de Registro. Una solución tomadaestriba en la confianza de los propios usuarios entreellos.

    Por ejemplo, si Juan confía plenamente en Luis y Luis haaceptado la identificación de Pedro, Juan podríainicialmente aceptar a Pedro, porque Luis es de suconfianza.

    Comentario: En una red de confianza, una identificación(clave nueva) se considerará válida si viene firmada por suficientes claves válidas.

     Por ejemplo, PGP en correo seguro lo utiliza.

    Redes de confianza

  • 8/17/2019 UNION Criptografia

    74/134

    Muchas Gracias

    64

  • 8/17/2019 UNION Criptografia

    75/134

    El sistema PGP

    (PRETTY GOOD PRIVACY) DE PHILIP R.ZIMMERMANN ES EL SISTEMA PARAENCRIPTACIÓN DE COMUNICACIONES PORINTERNET MÁS UTILIZADO EN EL MUNDO.

  • 8/17/2019 UNION Criptografia

    76/134

    PGP

    CRIPTOGRAFÍA Y SEGURIDAD EN REDES

  • 8/17/2019 UNION Criptografia

    77/134

    Introducción Abreviatura de “Pretty Good Privacy” (IntimidadBastante Buena)

    Nacido para aportar privacidad al correo electrónico.Provee las siguientes funciones principales:◦encriptación de mensajes◦ firma digital◦compresión◦compatibilidad de correo

  • 8/17/2019 UNION Criptografia

    78/134

    CaracterísticasDesarrollado por Philip R. Zimmermann en 1991.

    La versión PGP 9.0 incorpora:◦  Algor itmo de encr iptación AES-256◦ Función de resumen SHA-1 ( MD5 versiones anteriores )

    ◦ compresión de datos BZip2, ZLIB y Zip.

  • 8/17/2019 UNION Criptografia

    79/134

    Ejemplo de usoUn usuario desea enviar un mensajeconfidencial a otro usuario

    Ambos han instalado en sus ordenadores elprograma PGP. Al instalarlo, se han generadoautomáticamente las claves privadas ypúblicas.

  • 8/17/2019 UNION Criptografia

    80/134

    Usuario

    emisor 

    TE ENVIO UNA

    COPIA DE LA

     FACTURA

    PGP MENSAJEPGP

    Utiliza el softwarede PGP para

    firmar y cifrar el

    mensaje

  • 8/17/2019 UNION Criptografia

    81/134

    PGP en el emisor

    TE ENVIO UNA

    COPIA DE LA

     FACTURA

    Numero H

    Numero H Firma digital2º Encripta “H” con

    la clave privada del emisor.

    1º Calcula la función

    de resumen del mensaje.

  • 8/17/2019 UNION Criptografia

    82/134

    3º El mensaje, la firma digital yel certificado del emisor sonencriptados con unaclave simétrica

    4º La clave simétrica seencripta con la clave públicadel destinatario

    TE ENVIO UNA

    COPIA DE LA

     FACTURA

    Firma digital

    MENSAJEENCRIPTADO

    Clavesimétrica Sobre digital

    Certificado

  • 8/17/2019 UNION Criptografia

    83/134

    Enviamos estosdatos aldestinatario

    MENSAJEENCRIPTADO

    Sobre digital

  • 8/17/2019 UNION Criptografia

    84/134

    PGP en el destinatario

    Sobre digital

    El ordenador del destinatariolee el sobre digital con su claveprivada y obtiene la clavesimétrica.

    Clavesimétrica

  • 8/17/2019 UNION Criptografia

    85/134

    PGP en el destinatario

    Descifra el mensaje, elcertificado y la firma mediante

    la clave simétrica

    Clave

    simétrica

    TE ENVIO UNA

    COPIA DE LA

     FACTURA

    Firma digital

    MENSAJEENCRIPTADO

    Certificado

  • 8/17/2019 UNION Criptografia

    86/134

    TE ENVIO UNA

    COPIA DE LA

     FACTURANumero H*

    Calcula la función de resumendel texto del mensaje.

    Numero H

    Firma digital

    Clavepública

    Desencripta la firma digital conla clave pública del emisor (extraída de un PKI)

    PKI

    Comparalos resúmenes(Public Key Infrastructure )

  • 8/17/2019 UNION Criptografia

    87/134

    Si los resúmenes coinciden podemos confirmar laintegridad del mensaje.

    Gracias a la firma digital sabemos que el mensaje hasido enviado realmente por ese emisor (suidentidad ).

    Gracias al cifrado de clave pública sabemos que elmensaje no ha sido leído por otro usuario(confidencialidad del mensaje).

  • 8/17/2019 UNION Criptografia

    88/134

    Software PGP 9.0Facilita el uso del sistema PGP para lamayoría de sistemas operativos.

    Proporciona herramientas para enviar

    e-mails cifrados y firmados, ficheroscomprimidos y otras opciones avanzadas.

  • 8/17/2019 UNION Criptografia

    89/134

    Instalación

  • 8/17/2019 UNION Criptografia

    90/134

  • 8/17/2019 UNION Criptografia

    91/134

  • 8/17/2019 UNION Criptografia

    92/134

  • 8/17/2019 UNION Criptografia

    93/134

  • 8/17/2019 UNION Criptografia

    94/134

  • 8/17/2019 UNION Criptografia

    95/134

  • 8/17/2019 UNION Criptografia

    96/134

  • 8/17/2019 UNION Criptografia

    97/134

  • 8/17/2019 UNION Criptografia

    98/134

  • 8/17/2019 UNION Criptografia

    99/134

  • 8/17/2019 UNION Criptografia

    100/134

  • 8/17/2019 UNION Criptografia

    101/134

  • 8/17/2019 UNION Criptografia

    102/134

    Envío de mensaje por PGP

  • 8/17/2019 UNION Criptografia

    103/134

  • 8/17/2019 UNION Criptografia

    104/134

  • 8/17/2019 UNION Criptografia

    105/134

  • 8/17/2019 UNION Criptografia

    106/134

  • 8/17/2019 UNION Criptografia

    107/134

  • 8/17/2019 UNION Criptografia

    108/134

    EN ESTEEJEMPLOENVIAMOS

    TAMBIEN LACLAVEPÚBLICA PARAQUE NOTENGO QUEEXTRAERLA

    EN UN PKI

  • 8/17/2019 UNION Criptografia

    109/134

    Recepción mensaje por PGP

  • 8/17/2019 UNION Criptografia

    110/134

    Clavepúblicdelemiso

    PKI

  • 8/17/2019 UNION Criptografia

    111/134

  • 8/17/2019 UNION Criptografia

    112/134

  • 8/17/2019 UNION Criptografia

    113/134

  • 8/17/2019 UNION Criptografia

    114/134

    Anillos de confianza

  • 8/17/2019 UNION Criptografia

    115/134

    Contienen:◦ Llaves públicas, certificados e información sobre personas.

    ◦ El anillo puede ser publicado para ser compartido y usado por otras personas.

    ◦ PGP asigna a cada persona uno de tres niveles de confianza (según lo que le indique el usuario):◦

    Cero confianza, confianza parcial y confianza total.◦ Basado en estos grados de confianza de personas, PGP calcula la confianza que tienen las llaves públicas y certificados,

    por ejemplo: un certificado firmado por una persona que tiene cero confianza es ignorado.

    ◦ PGP le asigna confianza total a un certificado firmado por una persona en quien se tiene confianza total.

  • 8/17/2019 UNION Criptografia

    116/134

    Ejemplos de confianza

    ◦ Si varias personas con confianza parcial firman un certificado de otra persona y todoscontienen la misma llave pública, PGP le asigna confianza total al nuevo certificado.

    Si un certificado no cuenta con la confianza total, se puede verificar una firma digital de esapersona y se le puede mandar mail cifrado, pero PGP muestra una advertencia.

  • 8/17/2019 UNION Criptografia

    117/134

    PROBLEMAS DE DECISIÓNAPLICADOS A LA CRIPTOGRAFIAPROBLEMAS DE DECISIÓNAPLICADOS A LA CRIPTOGRAFIA

    Criptografía y Seguridad de RedesCriptografía y Seguridad de Redes

  • 8/17/2019 UNION Criptografia

    118/134

    Integrantes del grupoIntegrantes del grupo

    Nombres Carnet

    Luis Alberto Garcia Quintanilla GQ100313Jonathan Ernesto Martinez Alvarenga MA100412

    Rafael Alexander Martinez Lima ML200109

    Marcela del Carmen Ramirez Flores RF100412

    Jose Carlos Tobar Lopez TL100110

  • 8/17/2019 UNION Criptografia

    119/134

    Dar a conocer la

    aplicación deproblemas de decisiónaplicados a laCriptografía.

    Dar a conocer la

    aplicación deproblemas de decisiónaplicados a laCriptografía.

    Objetivo GeneralObjetivo General

    Objetivos Específicos:

    • Exponer un breveresumen sobre lacomplejidad algorítmica yuna de sus clases llamadacomplejidad P (Problemasde decisión).

    • Dar a conocer laclasificación de losproblemas según su clase decomplejidad.

    Objetivos Específicos:

    • Exponer un breveresumen sobre lacomplejidad algorítmica yuna de sus clases llamadacomplejidad P (Problemasde decisión).

    • Dar a conocer laclasificación de losproblemas según su clase decomplejidad.

  • 8/17/2019 UNION Criptografia

    120/134

    Complejidad AlgorítmicaComplejidad Algorítmica

    Problemas de decisión aplicados a la criptografíaProblemas de decisión aplicados a la criptografía

  • 8/17/2019 UNION Criptografia

    121/134

    Teoría de laComputaciónTeoría de laComputación

    Es la rama de las matemáticas queestudia las capacidades

    fundamentales de las computadoras,buscando modelos matemáticos que

    describan la realización deoperaciones y clasificando losproblemas computacionales.

    Es la rama de las matemáticas queestudia las capacidades

    fundamentales de las computadoras,buscando modelos matemáticos que

    describan la realización deoperaciones y clasificando losproblemas computacionales.

  • 8/17/2019 UNION Criptografia

    122/134

    Antes de hablar de la complejidadalgorítmica, es necesario definir la

    teoría de la complejidadcomputacional, que es una de las

    ramas de la teoría de la computaciónque estudia la clasificación de losproblemas computacionales en

    función de su dificultad.

  • 8/17/2019 UNION Criptografia

    123/134

    Uno de los objetivos

    roles de esta teoría esdefinir los límites

    prácticos de lo que unsistema puede resolver.Además, estudia todoslos posibles algoritmos

    que se podrían utilizar para resolver un

    problema enparticular.

    Uno de los objetivos

    roles de esta teoría esdefinir los límites

    prácticos de lo que unsistema puede resolver.Además, estudia todoslos posibles algoritmos

    que se podrían utilizar para resolver un

    problema enparticular.

  • 8/17/2019 UNION Criptografia

    124/134

    Se enfoca en la cantidad derecursos que requiere unalgoritmo para resolver un

    problema, pudiendodeterminar así su eficiencia.

    Se enfoca en la cantidad derecursos que requiere unalgoritmo para resolver un

    problema, pudiendodeterminar así su eficiencia.

    Estudio de la complejidad algorítmicaEstudio de la complejidad algorítmica

    Esta teoría introducemodelos matemáticos

    para estudiar losproblemas y cuantificar los recursos requeridos

    para su resolución, y losagrupa además por 

    clases de complejidad,que son los grupos deproblemas de decisión

    (aquellos con respuestasí o no) cuyacomplejidad está

    relacionada.

    Esta teoría introducemodelos matemáticos

    para estudiar losproblemas y cuantificar los recursos requeridos

    para su resolución, y losagrupa además por 

    clases de complejidad,que son los grupos deproblemas de decisión

    (aquellos con respuestasí o no) cuyacomplejidad está

    relacionada.

  • 8/17/2019 UNION Criptografia

    125/134

    En criptografía se estudian en particular dos clasesde complejidad, relacionadas con el tiempo:En criptografía se estudian en particular dos clasesde complejidad, relacionadas con el tiempo:

    Tiempo Polinomial (P)Tiempo Polinomial (P)

    Tiempo Polinomial No Determinista (NPTiempo Polinomial No Determinista (NP

    P

    NP

    NP

    NP

    NP

    NP

    NP

  • 8/17/2019 UNION Criptografia

    126/134

    Clase P (Problemas de decisión)Clase P (Problemas de decisión)

    Problemas de decisión aplicados a la criptografíaProblemas de decisión aplicados a la criptografía

  • 8/17/2019 UNION Criptografia

    127/134

    Clase PClase PLa clase de

    complejidad P consisteen los problemas de

    decisión que se puedenresolver en una

    máquina secuencialdeterminística (máquina

    de Turing) en un tiempopolinomial, proporcional

    al tamaño de laentrada.

    La clase decomplejidad P consiste

    en los problemas dedecisión que se pueden

    resolver en unamáquina secuencial

    determinística (máquina

    de Turing) en un tiempopolinomial, proporcional

    al tamaño de laentrada.

  • 8/17/2019 UNION Criptografia

    128/134

    Existe una clase llamada P-completo, que

    incluye a los problemas P que puedenreducirse a NP en un tiempo polilogarítmicoutilizando para ello una máquina paralela.De todas maneras, lo que interesa saber no

    es si se puede resolver un problema con

    velocidad en una máquina paralela sino siesta lo podría resolver mucho más rápidoque una máquina secuencial.

  • 8/17/2019 UNION Criptografia

    129/134

    Tienen función de complejidadtemporal para una funciónpolinómica (la variable es el tamañode la entrada) y se suelen descubrir

    analizando en profundidad laestructura del problema.

    Tienen función de complejidadtemporal para una funciónpolinómica (la variable es el tamañode la entrada) y se suelen descubrir

    analizando en profundidad laestructura del problema.

    Algoritmo de tiempo polinomialAlgoritmo de tiempo polinomial

    En cuanto a los

    algoritmos, existe unadistinción análoga ala complejidad entre

    los de tiempopolinomial

    (suficientementeeficiente) y los de

    tiempo exponencial

    (muy ineficiente).

    En cuanto a los

    algoritmos, existe unadistinción análoga ala complejidad entre

    los de tiempopolinomial

    (suficientementeeficiente) y los de

    tiempo exponencial

    (muy ineficiente).

  • 8/17/2019 UNION Criptografia

    130/134

    No permite acotar sufunción decomplejidadtemporal

    No permite acotar sufunción decomplejidadtemporal

    Algoritmo de tiempo exponencialAlgoritmo de tiempo exponencial

  • 8/17/2019 UNION Criptografia

    131/134

    Clasificación de los problemas de decisiónClasificación de los problemas de decisión

    Clasificación completa de los problemas según su clase de complejidad. Las líneas punteadas indicansubconjuntos de los que no se sabe si son estrictos

    Clasificación completa de los problemas según su clase de complejidad. Las líneas punteadas indicansubconjuntos de los que no se sabe si son estrictos

  • 8/17/2019 UNION Criptografia

    132/134

    Para entender en qué consisten los

    problemas de decisión es necesariopreviamente hacer un pequeño estudio

    de la teoría de la complejidadalgorítmica y posteriormente estudiar laclase de complejidad P de problemas

    de decisión y su clasificación.

    Para entender en qué consisten los

    problemas de decisión es necesariopreviamente hacer un pequeño estudio

    de la teoría de la complejidadalgorítmica y posteriormente estudiar laclase de complejidad P de problemas

    de decisión y su clasificación.

    ConclusiónConclusión

  • 8/17/2019 UNION Criptografia

    133/134

    Criptografía 2011

    1 Ing. Aldo Jiménez Arteaga

    RC4

    El algoritmo RC4 (Rivest Cipher 4) es un algoritmo de cifrado en flujo, utilizado en protocolos de

    cifrado en comunicaciones como SSL y WEP. Fue desarrollado por Ronald Rivest en 1987, y

    mantenido en secreto hasta 1994. Es un algoritmo destacado por su simplicidad y rapidez en

    software, pero presenta debilidades que le impiden ser una opción para implementar en un

    sistema: en la clave existen patrones invariantes que se propagan también al estado interno del

    algoritmo, dando como resultado que los primeros bytes generados por RC4 son predecibles. Una

    segunda vulnerabilidad permite la recuperación de la clave secreta, cuando ésta se deriva de una

    concatenación con un vector inicial público (utilizado en WEP); al recopilar un gran número de

    mensajes y vectores iniciales la clave queda expuesta.

    DescripciónRC4 genera un flujo pseudoaleatorio de bits a partir de la clave original, el cual se combina con el

    mensaje en claro por medio de la operación lógica XOR (cifrado de Vernam). El descifrado es

    exactamente igual, debido a la simetría que presenta la operación binaria XOR. La obtención de la

    clave presenta dos módulos importantes, que son el corazón del algoritmo: un arreglo de 016  a

    16 permutado (llamado ), y dos índices de 8 bits (llamados  y ).

    Generación de  Para generar correctamente una clave RC4 es necesario obtener el arreglo de 256 bits

    correctamente permutado. El algoritmo para las operaciones se describe a continuación:

    1. 

    Se construye el arreglo S  de 016 a 16.

    2. 

    Se parte con los parámetros  = 0,  = 0  y el contador  = 0. Se sigue cada una de las

    operaciones a continuación descritas, tomando en consideración que el uso de cada variable

    atiende a la modificación dentro del mismo paso:

    2.1.  ← ([] + [] + ) mod 256.

    2.2.  [] ↔ [].

    2.3. 

    ← (

     + 1)

    mod(

    ).

    Donde [] es un byte de la clave original, [] es un byte del arreglo y  es la longitud

    en bytes de la clave utilizada.

    3. 

    Se repiten los pasos 2.1 a 2.3 sucesivamente hasta  = 255.

  • 8/17/2019 UNION Criptografia

    134/134

    Criptografía 2011

    Cifrado del mensaje en claroPara obtener el criptograma de un mensaje en claro se debe generar la clave a partir del arreglo  

    permutado, que es un generador de claves pseudoaleatorio manejado por los índices  y  . Dichos

    parámetros se ajustan en  = 0 y  = 0 con las operaciones de los siguientes pasos:

    1. 

    ← ( + 1) mod256.

    2. 

      ← ([] + ) mod 256.

    3.  [] ↔ [ ].

    4. 

    El índice del elemento de la clave que cifrará es  ← ([] + [ ]) mod 256.

    Finalmente, se obtiene el criptograma aplicando la operación XOR:

    [] =  []⨁[] 

    0, 1, …, FF K

    P 1 

    S

    P  2 i, j