Introducción a la seguridad de la información y criptografía

Veremos

  • Criptografía
    • simétrica
    • asimétrica
  • Firma digital
  • Blockchain

Criptografía

Text

Criptografía simétrica

Clave precompartida

Mensaje

Mensaje

Encriptado

E(M)

Desenc.

  • Preguntas
    • ¿Cómo comparten la clave?
    • ¿Qué pasa si la comunicación es entre n participantes?
    • ¿Qué pasa si alguien escucha?
      • Ataque man-in-the-middle (MitM)
  • Ejemplos de algoritmos simétricos
    • DES, 3DES, AES, Blowfish
    • La máquina enigma (sistema simétrico)

Criptografía asimétrica

Clave pública de B

Clave privada de B

Ejercicios

Text

  1. Con el invento/descubrimiento de la criptografía asimétrica, ¿pasa a desuso la tradicional/simétrica?
  2. Cifre mensajes con diferentes algoritmos
    1. Simétrica
      1. http://aes.online-domain-tools.com/
    2. Asimétrica
      1. http://cobweb.cs.uga.edu/~dme/csci6300/Encryption/Crypto.html
      2.   http://travistidwell.com/jsencrypt/demo/

Checksum
Hash criptográfico

Text

Checksum

Es una función que tiene como propósito principal detectar cambios en una secuencia de datos.

  • Checksum
    • En ISBN
    • En TCP(16 bits)
      • IPv4 (RFC 793)
      • IPv6 (RFC 2460)
  • CRC, Cyclic Redundancy Check
    • Ej: CRC-32
  • Hash criptográfico
    • Ej: MD5, SHA1, SHA256

Algunas características de una buena función de hash criptográfico:

  • La salida de tiene un tamaño fijo dado por la función elegida (Ej: MD5 128 b, SHA-1 160 b, SHA-256 256 b, SHA3-512 512 b).
  • Recive como único parámetro un conjunto de bits de cualquier tamaño.
  • Distintos datos resultan en distintos hash, prácticamente.
  • Son fáciles de calcular.
  • Unidireccional: Prácticamente imposible convertir hash en datos.
  • Pequeños cambios en los datos implican grandes cambios en un hash.

Hash de "hola"

http://hashtoolkit.com/generate-hash/?text=hola

  • MD5:

    • 4d186321c1a7f0f354b297e8914ab240

  • SHA-1:

    • 99800b85d3383e3a2fb45eb7d0066a4879a9dad0

  • SHA-224:

    • 8cf31238b4a396f90185f770921dc63b31f4d48604026ffd4f8ddc80

  • SHA-256:

    • b221d9dbb083a7f33428d7c2a3c3198ae925614d70210e28716ccaa7cd4ddb79

¿Tendría sentido comprimir un hash?

Ataque del intermediario

Si las partes no conocen sus claves públicas Diffie-Hellman no puede hacer nada contra el ataque del hombre en el medio (intermediario, man-in-the-middle attack, MitM).

Salvo que estén firmadas por una CA en quien se confía.

Firma digital

Text

Autoridad certificante

¿Y si el dato a firmar es  la clave pública de una entidad?

 

¡Eso es lo que hace una CA!

 

Firmar con su clave privada la clave pública de otros.

En Firefox hay unos 180 certificados raíz aceptados.

Menú > Privacidad y Seguridad > Certificados > Ver certificados

Cada uno de los millones de los cientos de sitios con https tienen sus claves públicas firmadas por alguna CA incluida en el navegador.

https: clave de sesión

Blockchain

Text

Blockchain

  • Libro de registros de sucesos (ledger, árbol Merkle) distribuido.
  • Conjunto de tecnologías que permite llevar de forma distribuida llevar registro de cualquier tipo de valor.
    • ¿Qué valores? Transacciones, registros médicos, ¡lo que sea!
  • Características
    • Una forma no destructiva de llevar registro (distribuido, redundante) de cambios de un algo en el tiempo.
    • No hay intermediarios: Nada de bancos, abogados.

Proof of work

Difícil de encontrar, fácil de comprobar (como abrir un candado numérico)

  • Antes de agregar un bloque
    • Debe resolverse un problema (proof-of-work). Por ejemplo "el hash del bloque debe comenzar con "000". Hay que generar números al azar hasta que el hash cumpla el requisito.
    • Apenas superado el desafío se debe anunciar en la red: "¡Yo llegué primero!"
    • La red comprueba que esto sea cierto

¿Y proof of stake?

Prueba de trabajo

Proof of work

  • Evolución para el registro de sucesos:
    • Libro -> base de datos-> blockchain
  • Datos actuales de la blockchain de Bitcoin:
    • Blochchain size: 170GB, unos 2000 transac/blk
    • Tamaño de bloque promedio: 1.1 MB
    • Tiempo promedio de transacción confirmada: 10'
    • 220 mil tr/día
    • 25 millones de billeteras creadas
  • Una blockchain puede ser
    • Pública: Bitcoin, Etherium, Litecoin
    • Privada
    • Híbrida: gobierno abierto, quién tiene qué. Las universidades podrían dejar constancia de aprobación en una blockchain
  • Modifica la forma en la que interactuamos, plantea desafíos económicos, de gobierno, legales, etc.
    • Compañías funcioando enteramente bajo algoritmos
    • Smart contracts

Ejercicios

  1. ¿Qué evita que una persona cree una transacción de una billetera ajena a la propia?
  2. ¿Puede una misma función de hash criptográfica devolver resultados distintos ante un mismo dato?
  3. ¿Cómo podría obtenerse un hash que tenga un determinado patrón, como ser comenzar con n cantidad de ceros?

Bibliografía y enlaces

  • https://bitcoin.org/files/bitcoin-paper/bitcoin_es_latam.pdf
  • https://opentimestamps.org/
  • https://www.blockchain.com/es/charts
  • https://anders.com/blockchain/
  • https://medium.freecodecamp.org/how-does-blockchain-really-work-i-built-an-app-to-show-you-6b70cd4caf7d
    • https://blockchaindemo.io/
    • https://coindemo.io/
  • https://www.criptonoticias.com/adopcion/boletin-oficial-argentina-certifica-ediciones-digitales-blockchain/
  • https://www.derechosdigitales.org/wp-content/uploads/Confiable-y-seguro.pdf
  • ​https://hackblossom.org/cybersecurity/
  • https://www.argentinacibersegura.org/materiales-adultos

Otros temas

Ransomware

Ataque phishing

Ciberguerras

Introducción a la seguridad de la información

By Pablo Bianchi

Introducción a la seguridad de la información

Introducción a la criptografía y otros temas.

  • 881