Criptografia con PGP en Linux

25
Criptografía con PGP PGP: Pretty Good Privacy Historia Estado Actual PGP GnuPG Ejemplos de Uso Jose Antonio Jiménez Salinas

Transcript of Criptografia con PGP en Linux

Criptografía con PGP

PGP: Pretty Good Privacy● Historia● Estado Actual● PGP● GnuPG● Ejemplos de Uso

Jose Antonio Jiménez Salinas

Historia

● Phil Zimmermann creó la primera versión de PGP en 1991.● Fue publicada a través de varias BBS en los USA.● Cuando el algortimo llegó a otros paises a través de

internet Zimmermann fue investigado, ya que exportar a otros paises sistemas criptograficos con claves de mas de 40 bits (PGP ya usaba claves de 128 bits) es delito según el acta de exportación y tránsito de armas.

Historia

● En 1996: PGP3.0 tiene CAST-128 como algoritmo de clave simetrica y tiene DES y ElGamal como algoritmo de clave asimetrica.

● Se unieron con la compañía Viacript, formando asi PGP Inc.● Acordaron que Zimmermann sacaría las versiones pares de PGP y Viacript las

impares.● En diciembre de 1997 Network Associates Inc, compró PGP Inc. que

incorporó a PGP encriptación de discos, firewalls, detección de intrusiones, and IPsec VPNs.

● En 2000 dejó de publicar el código de PGP.● En 2001 NAI paró el desarrollo de PGP y puso a la venta los activos de PGP. ● Actualmente Network Associates Inc. es parte de McAfee.

Historia

● En agosto de 2002 varios ex-miembros del equipo de PGP crearon la empres PGP Corporation con Zimmermann como consultor especial y compraron a NAI los activos de PGP.

● En 2010 Symantec Corp. Adquirió PGP Corp. por 300 Millones de dólares.

● Zimmermann en 2011 fundó Silent Circle, empresa creadora del BlackPhone y de los servicios (apps) Silent Phone, Silent Text y Silent Mail, que ofrecen cifrado de llamadas, sms y email a sus usuarios.

Estado Actual

● Entonces, ¿Por qué versión de PGP vamos ya? ¿Que ofrece? ¿Es open-source?

● El estándar PGP esta definido por la IETF via RFC4880 (http://www.ietf.org/rfc/rfc4880.txt)

● En The International PGP Home Page la última versión que tenemos es PGP 8.0 (3 de diciembre de 2002), con el código disponible, para Windows y Mac OSx.

● Algo más reciente está PGP Desktop 10.0 (25 de agosto de 2008), tambíen con el código disponible para windows y Max OSx.

● Versiones más actuales de PGP están solo disponibles a través de los servicios de Symantec (no open-source)

PGP

● PGP es un sistema híbrido de cifrado. Usa cifrado simétrico y cifrado asimétrico (clave pública-clave privada)

● Cada clave publica está asociada a un nombre de usuario y/o email.● El proceso de cifrado consiste en:

– Tomar el mensaje y cifrarlo con una clave simétrica única (clave de sesión).

– Coger la clave de sesión y cifrarla usando la clave pública del destinatario.

– Mandar el mensaje y clave cifradas.

PGP

Data

Encrypt key using receiver‘s

public key

RSA

Encrypted Message

Encrypt Decrypt

Encrypt data using random

key

q4fzNeBCRSYqv

Encrypted Key

Generate Random

Key

Data

TIakvAQkCu2u

Random Key

Encrypted Message

Data

q4fzNeBCRSYqv

Encrypted Key

Decrypt data using key

Decrypt using receiver‘s

private key

RSA

TIakvAQkCu2u

Data

Gnu-PG. GNU Privacy Guard

● GPG es una implementación completa del estándar PGP.● Es open-source según la licencia GNU General Public License.● Su última version es GnuPG 2.1.4 (12 de mayo de 2015)● Se puede acceder al código a traves de GitHub

( http://git.gnupg.org ) ● No usa algoritmos patentados.● Tiene soporte para: ElGamal, DSA, RSA, AES, 3DES, Blowfish,

Twofish, CAST5, MD5, SHA-1, RIPE-MD-160 y TIGER.● Se puede instalar directamente desde los repositorios de las

distribuciones de linux.

Gnu-PG

GPG está disponible para diversos S.O.

Ejemplo uso desde la linea de comandos

Ejemplo. Generar Llaves.

Ejemplo. Generar Llaves.

Ejemplo. Generar Llaves.

Ejemplo. Cifrado

Ejemplo. Descifrado

Ejemplo. Cifrar varios archivos.

Ejemplo. Cifrar varios archivos.

Ejemplo. Cifrar varios archivos.

Ejemplo. Cifrar varios archivos.

Ejemplo. Firmar y verificar.

Interfaces Gráficas

Ejemplo. Interfaz Gráfica: Seahorse

Ejemplo. Interfaz Gráfica: Seahorse

Ejemplo. Interfaz Gráfica: Enigmail

Bibliografía

● http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html

● https://www.gnupg.org/documentation/manuals/gnupg/gpg_002dzip.html#gpg_002dzip

● http://en.wikipedia.org/wiki/Pretty_Good_Privacy

● https://www.philzimmermann.com/EN/essays/WhyIWrotePGP.html

● https://www.fastcompany.com/3001938/phil­zimmermanns­silent­circle­builds­secure­seductive­fortress­around­your­smartphone

● http://www.symantec.com/connect/downloads/symantec­pgp­desktop­peer­review­source­code

● https://emailselfdefense.fsf.org/en/

● http://www.genbetadev.com/seguridad­informatica/manual­de­gpg­cifra­y­envia­datos­de­forma­segura

● http://gnupg.archive.sunet.se/related_software/frontends.es.html