Skip to content

Latest commit

 

History

History
135 lines (102 loc) · 6.12 KB

README_es_201701.md

File metadata and controls

135 lines (102 loc) · 6.12 KB

Introducción a la criptografía

Transparencias en jig.github.io/crypto/es

Transparències en català a jig.github.io/crypto

Contenido

Resumen

  • Resumen de los objetivos de las funciones criptográficas y de las responsabilidades de las autoridades PKI 8

Calendario, Enero 2017

24 26
Objetivos MAC
Introducción HMAC
Simétrica Teoría de Números
30 2-febrero
DH ECC
RSA Complejidad
Elgamal Amenazas
DSA HSM
6 9
HSM (ejercicios → PKI/servidor-https/cliente-https)
TLS
PKI
AdES

Ejercicios (a realizar en clase en función del tiempo)

  • Criptografía simétrica:

    • bloques de un sólo uso Gimp (one-time-pad para uso pedagógico exclusivamente)
    • criptografía simétrica con OpenSSL:
      • xifrat (amb openssl enc)
      • hash (amb openssl dgst)
      • mac (amb openssl dgst -hmac)
  • Criptografía asimétrica:

    • generar claves RSA (con openssl genrsa) y ECDSA (con openssl ecparam y openssl ec)
      • parsear, convertir (con openssl rsa, con openssl ec)
    • firmar y validar RSA (con openssl rsautil)
    • cifrar y descifrar (con openssl rsautil)
  • PKI

    • decodificación DER en lapo.it
    • decodificación X.509 en Cert Logik
    • decodificación X.509 con OpenSSL Tools
    • criptografía formateada en PKCS #7 con OpenSSL:
  • PKI TLS

    • conexiones ssh (con ssh/sshd; contraejemplo no-PKI)
      • gestión de claves, protección y confianza
    • validar tls/https (con cipherscan)
    • validar tls/https (con SSL labs)
    • conexiones tls/https (chrome → google.com)
    • conexiones tls/https (chrome → servidor propio certificado con Let's Encrypt CA)
    • conexiones tls/https (chrome → servidor propio)
      • servidor (con nginx)
      • cliente (con openssl s_client y/o Chrome)
        • certificación con la CA PKI tutorial (variante) para servidores corporativos/privados
        • CA, TLS Server preconfigurados a:
$ docker run --name CAROOT -ti jordi/caroot
$ docker run --name CASUBOR -p 443:443 -ti jordi/casubor
$ docker run --name NGINX -p 443:443 -ti jordi/nginx
$ docker run --name CLIENT -p 443:443 -ti jordi/client

Código fuente de las imágenes de estos contenedores en el proyecto github.com/jig/docker-openssl

Software utilizado para realizar las transparencias

Impresión

Si quieres imprimir las transparencias no hagas Ctrl+P directamente. Mejor utilizada un "template" específico para impresión añadiendo ?print-pdf a la URL antes de imprimir. para más información consulta las instrucciones de exportación a PDF de Revealjs

Piensa en el medio ambiente.

Descarga local

Aunque lo más recomendable es acceder a la versión en línea para ver siempre la versión actualizada, si quieres puedes descargarte las transparencias para visualizarlas fuera de línea. Simplemente aprieta el botón Download ZIP de arriba o bien clica aquí.

O si tienes cuenta en GitHub puedes simplemente un fork (botón de arriba a la derecha), aunque no las voy a borrar a medio plazo, con lo que si simplemente marcas con una estrella tendrás un recordatorio en tu cuenta de donde residen para cuando las necesites.

O también, puedes clonar el proyecto en tu disco duro local (necesitas un cliente git):

$ git clone [email protected]:jig/crypto.git

de esta manera tienes una copia local que siempre puedes mantener al día con:

$ git pull

Licencia

Esta obra esta sujeta a una licencia de Atribución 4.0 Internacional de Creative Commons

Licencia de Creative Commons

Copyright © 2016-2017 Jordi Íñigo Griera