Vc4 nm73 eq#6-dsa

  • View
    102

  • Download
    0

Embed Size (px)

Text of Vc4 nm73 eq#6-dsa

  • INSTITUTO POLITCNICO NACIONALUPIICSA

    INTEGRANTES:> Apolinar Crisstomo Jessica>Camacho Flores Sarah Montserrat>Hernndez Gonzlez Ivonne Valeria>Lozada Perez Yarely Guadalupe

    VIROLOGA Y CRIPTOGRAFA

    EQUIPO 6

    PROTOCOLO TLS

    ALGORITMO DSAEQUIPO 6

  • Digital Signature Algorithm (Algoritmo de Firma Digital), Algoritmo estndar estadounidense de firma digital para aplicaciones gubernamentales diseado por el National Institute for Standards and Technology (NIST).

    Qu es DSA?

  • Qu es DSA? Es un algoritmo que sirve para firmar, no para cifrar informacin dado que no es reversible. Se basa en la dificultad de calcular logaritmos discretos en campos finitos mtodos de Schnorr y ElGamal.

  • El algoritmo de firmas digitales (DSA) fue implementado por la agencia federal de estndares de los Estados Unidos.

    Fue propuesto por el Instituto nacional de estndares y tecnologa( NIST) en agosto del 1991.

    Fue adoptado en 1993 como parte del estndar de firmas digitales (DSS) .

    Historia

  • El estndar DSS surge como una necesidad en las agencias federales, ya que requeran de un mtodo de seguridad que les permitiera transmitir informacin no clasificada. Por lo que estas agencias no contaban con un mtodo de seguridad que protegern al comercio electrnico.

    Historia

  • Las firmas digitales son un mtodo para asegurar autenticidad de cualquier documento electrnico (e-mail, hoja de clculo, archivos de texto, etc.)Existen varias formas de autenticar una persona o informacin en un equipo.

    Qu es una firma digital?

  • Formas de autenticar una persona o informacin en un sistema

    Password: uso de usuario y clave Checksum: un checksum invlido sugiere que la informacin esta

    comprometida CRC (Cyclic Redundancy Check): asegura la integridad de la fuente

    recibida. Public Key Encryption : una combinacin de una llave pblica y una

    llave privada Digital Certificates: Otorgadas por las autoridades que certifican la

    integridad de un sitio

    FUNCIONAMIENTO

  • Una firma digital est representada por un hilo de dgitos binarios. En una firma digital se contienen una serie de parmetros que autentican la integridad de la fuente firmada. Este algoritmo tiene la habilidad de generar y verificar una firma.

    FUNCIONAMIENTO

  • Es utilizada para proveer seguridad de los datos de a la entidad que genera la firma.

    Detectar si la informacin es o no es modificada despus de que es firmada, es decir que verifica la integridad de la informacin firmada.

    Para ser implementado y ofrecer servicios de seguridad, debe de conocer los requerimientos definidos por el estndar DSS .

    (DSA) ALGORITMO DE FIRMA DIGITAL

  • una llave privada X, un nmero de mensaje k un mensaje para firmar una funcin hash .

    PARMETROS (DSA)

  • p =nmero primo, en donde 2L1 < p < 2L, L es un mltiplo de 64 y L es la longitud de bit de p.

    q = un nmero primo divisor de p-1, donde 2159 < q < 2160 , es la longitud de bit de q.

    PARMETROS (DSA)

    L N

    1024 160

    2048 224

    2048 256

    3072 256

  • g= es un generador del subgrupo de orden , q mod p, tal que 1 < g < p

    x=la llave privada, la cual debe permanecer en secreto, x es un nmero entero generado de manera aleatoria, tal que 0 < x < q, x est en el rango [1, q1].

    y= la llave pblica, donde y = gx mod p. k= un nmero secreto, y que nico para cada mensaje;

    k es un nmero entero generado de manera aleatoria, tal que 0 < k < q, k este en el rango [1, q1].

    PARMETROS (DSA)

  • Una funcin hash mapea una cadena de bits de longitud arbitraria para fijar una longitud de cadena de bits.

    La seguridad est asociada con la longitud, en el proceso de la firma digital.

    La seguridad en el tamao de caracteres para N y L se proporciona a travs de la funcin hash.

    FUNCIN HASH PARA EL (DSA)

  • DSA requiere de llaves, pblica y privada que son utilizadas para la generacin y la verificacin de la firma digital. Son generadas a travs de un dominio de parmetros.

    Ambas claves estn matemticamente relacionadas una con la otra.

    GENERACIN DE CLAVES (DSA)

  • El algoritmo de generacin de claves es el siguiente:1. Seleccionar un nmero primo q tal que 2159 < q < 2160.2. Escoger t tal que 0 t 8, y seleccionar un nmero primo p tal que

    2511+64t < p < 2512+64t, y que adems q sea divisor de (p - 1).3. Seleccionar un elemento g Z*p y calcular = g

    (p-1)/q mod p.4. Si = 1 volver al paso 3.5. Seleccionar un nmero entero aleatorio a, tal que 1 a q - 16. Calcular y = a mod p.7. La clave pblica es (p, q, , y). La clave privada es a.

    GENERACIN DE CLAVES (DSA)

  • Generar la clave privada. Generar la clave pblica.

    Obtener los nmeros p y q, donde:

    -p ser divisible por 64 y de longitud 512 bits-q ser de longitud 160 bits y deber de cumplir que p-1=q*z (z es un nmero natural entero)

    -Calcular g utilizando la frmula:

    donde: 1

  • Este es un algoritmo estndar para aplicaciones que requieren una firma digital, en lugar de una firma manuscrita.

    Una firma digital se representa como una cadena de Bits. Se calcula utilizando un conjunto de normas y parmetros que permiten que la identidad del firmante y la integridad de los datos sean verificados.

    APLICACIN DSA

  • La eleccin de este algoritmo como estndar de firmado gener multitud de crticas:

    Se perda flexibilidad respecto al RSA (que adems, ya era un estndar).

    La versin original empleaba claves que lo hacan poco seguro.

    PROBLEMAS PRINCIPALES

  • El Algoritmo RSA es vlido tanto para cifrar como para firmar documentos mientras que DSA slo se ocupa para las firmas digitales

    El tamaos de las llaves generadas del DSA eran menores a las del RSA

    Los tiempos de generacin de llaves, firmado y validacin

    DIFERENCIAS PRINCIPALES ENTRE RSA Y DSA

  • El algoritmo DSA es ms rpido para generar la firma que para verificarla, al contrario de lo que sucede con el RSA.

    Tabla de tiempos

  • Se requiere ms tiempo de cmputo que el RSA. Con el avance actual de los ordenadores,

    los ataques por la fuerza bruta se puedan llevar a cabo de manera ms fcil.

    VENTAJAS DSA es compatible con la mayora de los servidores porque es una

    medida federal estndar

    DESVENTAJAS

  • El API de seguridad est incluido en Java API en la forma del paquete java.security. Este paquete provee dos API, uno para los usuarios de los algoritmos de seguridad y otro para implementadores o proveedores de estos algoritmos.

    SEGURIDAD EN JAVA CON DSA

  • El API para usuarios est diseado para que los distintos algoritmos criptogrficos sean utilizados en una aplicacin, sin tener que preocuparnos por la manera en la que stos han sido implementados.

    Lo nico que se necesita saber es el nombre del algoritmo. Una compaa o algn programador puede aadir sus propias implementaciones de los algoritmos usando la interfaz Provider.

    SEGURIDAD EN JAVA CON DSA

  • En general el API de seguridad incluye interfaces para hacer manejo de identidades, para utilizar firmas digitales y para encriptamiento de datos.

    En caso de la certificacin y la autentificacin son usadas para proteger el acceso a los recursos, asegurndose de que slo aquellos autorizados pueden hacer uso de ellos. Tambin son usadas para que tengamos la certeza de que algn mensaje que recibimos viene de quien esperamos.

    SEGURIDAD EN JAVA CON DSA

  • La manera en la que se firma un mensaje es utilizando la criptografa de llave pblica. El paquete de seguridad de Java tiene incluido al algoritmo DSA (Digital Signature Algorithm) que se basa en el uso de esta criptografa. Otro algoritmo conocido es RSA (inventado por Rivest, Shamir y Adleman).

    SEGURIDAD EN JAVA CON DSA

  • Para que DSA funcione es necesario realizar tres pasos:

    Generar un par de llaves Firmar el mensaje Verificar la firma

    SEGURIDAD EN JAVA CON DSA

  • La implementacin software de DSA sobre una SPARC II permite firmar 512 bits en 020 segundos, y verificar la firma en 035 segundos. Las implementaciones del DSA se pueden acelerar realizando algunos clculos previos.

    IMPLEMENTACIN DEL DSA

  • El algoritmo DSA no es lo suficientemente seguro si slo se utilizan 512 bits; si lo es, sin embargo, cuando se utilizan 1024 bits (todo esto segn la opinin de la NSA), se conocen los siguientes problemas:

    SEGURIDAD DEL DSA

    Problemas con k

    Problemas con el

    mdulo comn.

    Dado que se necesita un nuevo valor de k para cada firma, se debe utilizar un generador aleatorio, que puede repetir valores de k. Si un oyente detecta dos mensajes firmados con el mismo valor de k, puede recuperar la clave privada x.

    En muchas implementaciones reales del DSA se comparte un mdulo comn (p y q) entre todos los usuarios. Esto puede facilitar las tareas de anlisis