Criptografía Asimétrica

Para cifrar un mensaje, el emisor utilizará la clave pública del receptor, y a su vez, el receptor descifrará este mensaje haciendo uso de su clave privada. Lo que se cifra con la pública del receptor solamente se puede descifrar con la privada del receptor y viceversa.

Comparado con la clave simétrica, ahora el emisor no necesita conocer y proteger una clave propia (privada); es el receptor quien tiene el par de claves.

Estas claves se generan a la vez y se encuentran relacionadas matemáticamente entre sí mediante funciones de un solo sentido; resulta prácticamente imposible descubrir la clave privada a partir de la pública. Aunque un tercer individuo conozca la clave pública no podrá descifrar porque le falta la clave privada que nunca es comunicada.

Criptografía Asimétrica
Imagen Libro McGraw-Hill

Algunos algoritmos y tecnologías de clave asimétrica son: RSA, DSA, ElGamal, Diffie-Hellman, Goldwasser-Micali, …

El algoritmo RSA suele ser el más utilizado, cuantos más bits elijamos más seguro será (actualmente con 3072 o 4096 bits sería suficiente)

Ventajas. Resuelve los problemas de la de la clave simétrica:

  • No necesitamos canales seguros para comunicar la clave pública que utilizaremos en el proceso de cifrado. Podemos adjuntarla en nuestros correos, añadirla al perfil de nuestras redes sociales, …
  • Soluciona el conocimiento de claves y canales. Si somos 4 empleados en la empresa, necesitamos 4 claves no 6 como en la asimétrica.

Desventajas:

Las veremos al final, cuando comprendamos el concepto.

Para entender la criptografía simétrica leer artículo, https://jesusfernandeztoledo.com/criptografia-simetrica/

Vamos al lío:

1. Instalar gpg.

Esta misma herramienta también es válida para cifrado simétrico.

apt install gnupg

2. Generamos el par de claves.

gpg --full-generate-key

En el proceso de generación de las claves nos preguntarán el Tipo de clave. Las dos primeras opciones ofrecen 2 algoritmos, por lo tanto, generan dos pares de claves: en total 4 claves, dos públicas y dos privadas. El motivo es que generalmente se utiliza una clave (un par) para cifrar y otra diferente (otro par) para firmar, como veremos en el siguiente punto.

Elegiremos la opción 2 que usa dos algoritmos distintos, y así podremos ver claramente cuándo se utiliza cada clave.

3. Tamaño de la clave del algoritmo DSA.

Elegimos 3072 para mayor seguridad, por consiguiente tardará más en generarla. Si no ponemos nada por defecto aplicará 2048.

4. Período de validez de la clave.

Ya estamos advertidos de los problemas que supone proteger la clave privada. Por si la perdemos, conviene fijar una fecha de caducidad para que no se pueda usar más allá de ese día.

Yo elegiré 1 año. Si elegimos 0, la clave nunca caduca, y es un riesgo de seguridad.

5. En este paso generamos la clave pública.

Nos piden datos de nosotros para que se identifique bien la clave que es nuestra. Hay que tener en cuenta que entregamos la clave pública a mucha gente, y ellos tendrán las claves públicas de muchas personas.

El llavero puede almacenar varias llaves, de hecho estamos generando dos pares ahora mismo.

6. En este paso generamos la clave privada.

Es la clave privada que protege la clave pública, es decir, es la clave simétrica, por lo tanto debe ser una clave difícil de averiguar por otra persona, debería de ser de más de 8 de longitud, contener minúsculas, mayúsculas, números y caracteres especiales.

Y por lo tanto ya hemos terminado el proceso de generar las claves simétricas, se llaman simétricas porque una va asociada a la otra.

Entropía: es la aleatoriedad recogida por un Sistema Operativo o una aplicación para su uso en criptografía o para otros usos que requieran datos aleatorios. Mover el ratón, abrir una ventana, navegar por internet, …, es necesario, para generar esta entropía.

Debajo de pub aparece la huella digital, huella de la clave o fingerprint.

  • pub de tipo DSA es la clave pública con tamaño de clave 3072.
  • fingerprint. Debajo de pub aparece la huella digital, huella de la clave o fingerprint.
  • uid que es la identificación del propietario.
  • sub, sub-llave pública, que es la clave subordinada de tipo ElGamal con tamaño de clave 3072.

7. Directorio HOME de usuario.

En el directorio HOME del usuario se ha creado un directorio oculto llamado .gnupg donde se guardan los ficheros internos que utiliza la herramienta.

El fichero pubring.kbx contiene las claves públicas y privadas. Por supuesto el fichero está cifrado.

8. Listar las claves públicas. (Fichero /home/jesus/.gnupg/pubring.kbx)

gpg --list-keys

o bien

gpg -k

9. Listar las claves privadas. (Fichero /home/jesus/.gnupg/pubring.kbx)

gpg --list-secret-keys

o bien

gpg -K

IMPORTANTE: La –K es MAYÚSCULA

Realizamos una pausa para aclarar conceptos.

pub llave pública

sub sub-llave pública

sec llave secreta

ssb sub-llave secreta

Anillo de claves (llavero) se guardan claves públicas y privadas.

10. Comunicar nuestra llave/clave pública.

Ahora tenemos que comunicar nuestra llave/clave pública a quien esté interesado en enviarnos un mensaje cifrado. Para ello primero tenemos que sacarla del llavero.

gpg -a --export -o /tmp/jesus.pub Jesús Fernández Toledo

-a (armor) para que el resultado no sea binario.

-o (output) para guardarlo directamente en un fichero, si no, aparece por la salida estándar.

/tmp/jesus.pub directorio donde vamos a exportar la clave pública y nombre que le vamos a poner a la clave pública.

Jesús Fernández Toledo uid de la clave pública.

11. Enviar mensaje cifrado a Jesús Fernández Toledo desde otro usuario con la clave pública de Jesús Fernández Toledo.

Como hemos puesto la clave pública de Jesús Fernández en el directorio /tmp, cualquier usuario que se logué en el sistema puede acceder a ese directorio a por la clave pública de Jesús Fernández.

También el usuario Jesús Fernández Toledo podría enviar su clave pública a través de correo-e, whatsapp, …

Me logueo como alumno.

Importo la llave pública de Jesús Fernández Toledo y se creará una carpeta oculta .gnupg en el usuario alumno.

gpg --import /tmp/jesus.pub

Ahora podemos consultar las llaves disponibles en el llavero de alumno.

gpg --list-keys

12. Ahora creamos un fichero en alumno y lo ciframos con la clave pública de Jesús Fernández Toledo para enviárselo.

echo “Hola Carabola” > mensaje

gpg -v -a -o /tmp/mensaje.cifrado --encrypt --recipient Jesús Fernández Toledo mensaje

-v (verbose) para obtener más información del proceso de cifrado.

–encrypt indica que deseamos cifrado asimétrico.

–recipient va seguido del uid (identificador) de la clave pública que queremos utilizar.

Si falla con Jesús Fernández Toledo, usar el correo como uid

Una vez introducido el comando nos avisa que no hay seguridad de que esa clave pública sea realmente la clave pública de Jesús Fernández Toledo. Cualquiera podría haber cambiado el fichero /tmp/jesus.pub antes de que el alumno hiciera el import de las claves.

Como ayuda, el comando nos muestra la Huella de la clave (fingerprint) y nos pide la confirmación de que es la clave que queremos utilizar.

Podemos volver a la sesión de Jesús Fernández Toledo, y obtener la huella de su clave pública y compararla con la que aparece en la sesión de alumno.

Para obtener el fingerprint,

gpg --fingerprint

Efectivamente la huellas coinciden, y podemos confiar en que la clave importada en alumno es correcta.

13. Descifrar el mensaje enviado por alumno a Jesús Fernández Toledo con la clave primaria de Jesús

Para ello iniciamos sesión en Jesús

gpg --decrypt /tmp/mensaje.cifrado

Y el comando nos solicita la contraseña que da acceso a la clave privada. En la ventana aparece qué clave necesita, en nuestro caso la clave del algoritmo ElGamal.

Podemos elegir que el sistema recuerde esa clave, no es recomendable por seguridad, podrían coger nuestro ordenador mientras vamos al baño y descifrar nuestros mensajes.

Una vez escrita la clave/contraseña privada aparecerá el mensaje por pantalla que nos ha enviado alumno.

Problemas de la criptografía asimétrica:

  • Poco eficientes (tardan bastante en aplicar las claves en los documentos). Por eso se usan los esquemas híbridos (SSH).
  • Ataques criptográficos: Analizan paquetes cifrados.
  • Hay que proteger la clave privada. Para eso lo que se hace es tener un fichero de llaves o llavero (keyring) que está protegido mediante cifrado simétrico, es decir, hay que meter una clave que descifra el llavero para poder usar la clave privada.

Hay que realizar una copia de seguridad del llavero, por si disco duro se daña. Por lo tanto deberemos incluirlo en la política de backups de la empresa.

  • Transportar la clave privada. Mejor solución: Tarjeta inteligente. Tipos:
  1. Tarjeta de memoria (flash). Equivalente a una memoria flash. Se limita a almacenar el llavero. Cuando se introduce en el lector, el ordenador hace una copia temporal del llavero y trabaja con el introduciendo el usuario la clave simétrica (clave privada).
  2. Tarjeta Procesadora (chip). La tarjeta de memoria es peligrosa porque hemos expuesto nuestro llavero. En cambio en las tarjetas procesadoras las claves también están almacenadas, pero nunca salen de la tarjeta. Cualquier cifrado que necesite nuestra clave privada se realiza en el propio chip.

Ejemplos: tarjeta SIM, para poder usarla hay que introducir el pin. DNI electrónico. Tarjeta bancaria.

Tarjeta Procesadora

Atendiendo a la interfaz, las tarjetas inteligentes se clasifican en:

    • Tarjeta de contacto: El lector necesita tocar los contactos metálicos del chip para leer la información.
  • Tarjeta de contacto
    • Tarjeta sin contacto: El lector utiliza tecnologías inalámbricas para leer del chip.

Tarjeta Sin Contacto

Y colorín colorado este cuento se ha acabado.

 

Deja un comentario

slot gacor

slot gacor

https://badudu.org/

badudu

slot gacor

https://siakad.unikamamuju.ac.id/fonts/-/starlight-princess/

slot88

slot gacor

https://ninjajago.sbs/

https://labskill.umtas.ac.id/wp-content/slot-gacor/

https://kamalinews.co.id/wp-content/slot-deposit-qris/

https://lsgi.org/

https://lsgi.org/

ninjajago

slot777

slot88

http://upforfifty.xyz/

slot gacor

slot gacor

slot88

slot

https://katalog.uinsyahada.ac.id/slot/

situs slot gacor 2023

slot gacor

slot

https://게이코슬롯.com/

gacor88

slot gacor

slot thailand

slot demo

slot gacor

slot gacor

https://siakad.poltekbangmedan.ac.id/images/

slot gacor

slot gacor 4d

slot gacor

situs slot gacor

slot gacor

situs slot gacor

https://setda.blorakab.go.id/packages/upload/galeri/

slot demo

rtp slot

slot gacor

slot88

slot gacor

https://plti.amikompurwokerto.ac.id/wp-content/pages/?tunnel=Slot%20Tongkat%20123

slot88

slot-gacor

slot gacor

slot gacor

slot gacor

slot gacor

slot gacor

slot gacor

slot demo

slot88/

https://smartvillage.tubankab.go.id/vendor/

https://manajemen.unik-kediri.ac.id/wp-content/files/-/slot-toto/

https://myexist.muallimaat.sch.id/.well-known/

slot gacor

toto macau

slot gacor

slot gacor

slot gacor hari ini

slot-gacor

slot gacor

http://student.unisbank.ac.id/wp-includes/slot-gacor-hari-ini/

https://keclasem.rembangkab.go.id/error/

https://ak.polnep.ac.id/slot-gacor/

slot thailand

https://pmbtest.akpergshwng.ac.id/data/slot-qris-gacor/

slot gacor 4d

https://elsa.polteksahid.ac.id/elsa/files/slot-gacor-thailand/

https://ppdb.smai-soedirman-kotabekasi.sch.id/assets/

slot-gacor

slot-gacor

olxtoto

slot gacor

slot88

slot gacor

slot gacor

https://roadpowersystems.com/pages/

https://disdikbud.pemkomedan.go.id/assets/css/

slot4d

slot gacor

slot gacor

slot gacor

slot thailand

togel online

slot88

https://diafrica.org/pages/

togel online

slot gacor

https://fkomputer.umku.ac.id/wp-content/plugins/

slot gacor

slot gacor

slot gacor

https://feb.umku.ac.id/wp-includes/

https://fgizi.umku.ac.id/wp-content/languages/

https://fmipa.umku.ac.id/wp-includes/

slot gacor

slot88

slot88

slot gacor

slot gacor

slot gacor

slot gacor

https://fkip.umku.ac.id/wp-content/uploads/

https://fkesehatan.umku.ac.id/wp-content/plugins/

slot gacor

https://fst.umku.ac.id/wp-content/plugins/

https://fkeperawatan.umku.ac.id/wp-content/plugins/

olx toto

https://akparjakarta.ac.id/wp-content/

slot qris

slot qris

slot gacor

slot gacor

slot gopay

slot gacor

https://siakad.poltekbangmedan.ac.id/images/

slot thailand

slot gacor

slot gopay

https://ppdb.smai-soedirman-kotabekasi.sch.id/assets/

https://pmbtest.akpergshwng.ac.id/data/slot-qris-gacor/

https://cbt.dindikbud.pekalongankab.go.id/assets/

slot ovo

https://jdih.pn-labuanbajo.go.id/images/

https://pn-labuanbajo.go.id/wp-content/uploads/

https://fst.umku.ac.id/wp-content/uploads/

slot gacor

slot88

slot gacor

slot gacor

slot gacor

slot88

slot gacor

https://smkpelitanusantara.sch.id/

https://wibs.sch.id/

https://mnis.sch.id/

https://smkm3-alkamal.sch.id/

https://pelitanusantara.sch.id/

slot hoki

slot gacor kamboja

slot777

slot gacor 4d

http://esptpd.kaimanakab.go.id/public/img/

slot gacor

slot gacor

slot server luar

slot gacor

slot demo

slot88

slot hoki

https://api.kelastryout.id/assets/

https://siasuh.poltekbangmedan.ac.id/pedoman/ninjajago/

slot gacor

slot gacor

slot