Herramientas: GPG, OpenSSL



Documentos relacionados
Gestión de Certificados y Mecanismos de Seguridad con OpenSSL

Semana 14: Encriptación. Cifrado asimétrico

Prácticas Criptografía

Rompiendo llaves RSA expĺıcitamente con OpenSSL

CIFRADO SIMÉTRICO Y ASIMÉTRICO CON GPG

Criptografía Algoritmos Simétricos Algoritmos Asimétricos Firma electrónica y algoritmos Protocolos SSL, TLS OpenSSL. Criptografía

Introducción. Algoritmos

Gestión de Certificados con OpenSSL

Gestió n de Certificadó Digital

Analiza y elabora un manual de uso con ejemplos de la herramienta OpenSSL.

5. Crea un sitio Web seguro usando tu propio certificado digital (Windows y Linux).

Lo Primer que vamos hacer es ingresar a la página de la AFIP con nuestro Número de CUIT y Clave Fiscal

Creación y administración de certificados de seguridad mediante OpenSSL

Cifrado y firma digital con GnuPG

Software Criptográfico FNMT-RCM

Guía de Gnu Privacy Guard

COPIAS DE SEGURIDAD CON COBIAN BACKUP INSTALACIÓN Y CONFIGURACIÓN

Manual Instalación de certificados digitales en Outlook 2000

Practica 4 1. Certificados digitales

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

GnuPG - GNU Privacy Guard

Gestión de Certificados y Mecanismos de Seguridad con OpenSSL

Petición de certificados de servidor con Apache y Openssl

OpenSSL. Ing Jean Díaz

Factura Electrónica. Web Service - Pasos a seguir. Versión 1.0

Seguridad y Autorización: Plataforma OpenSSL

MANUAL COPIAS DE SEGURIDAD

Acceso a máquinas usando el SSH sin contraseña

Configuración de correo en Mozilla Thunderbird

GUIA DE USO - FIRMA DIGITAL DE DOCUMENTOS

Dirección de Sistemas de Información Departamento CERES

Seguridad en Correo Electrónico

ACTIVE DIRECTORY - PROPIEDADES DE USUARIO

Correo Electrónico: Webmail: Horde 3.1.1

Instalación manual de Wordpress en hosting contratado.

PRACTICA 4 1-CERTIFICADO DIGITAL VERIFICADO 2-CERTIFICADO DIGITAL NO VERIFICADO 3-SERVIDOR VIRTUAL HTTPS EN LINUX 4- SERVIDOR VIRTUAL HTTPS

Internet Information Server

Reparar diagramas FUP o MMI con errores de código desde un Backup anterior.

Crear cuentas de correo en Outlook 2010

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Práctica 5. Curso

Manual para la instalación del cliente de correo electrónico Mozilla Thunderbird.

Curso 2º SMR Módulo: SOR Sesión 6 SAMBA: Creando usuarios y grupos en Zentyal

Semana 13: Encriptación. Cifrado simétrico

Creación y administración de certificados de seguridad mediante OpenSSL.

1. Solicitud Acreditación 9 3. Descarga e instalación Copia de seguridad 14

Para qué XP_CRYPT y SQL Shield?

Actualmente existen dos maneras de enviar y publicar las estadísticas en la página web de la Federación Española de Baloncesto:

CÓMO FUNCIONA EL CORREO ELECTRÓNICO?

Laboratorios Linux: mini-curso de supervivencia

Cómo editar WIKIPEDIA

VPN sobre red local. Vicente Sánchez Patón I.E.S Gregorio Prieto. Tema 3 SAD

Guía de exportación de datos de firma (certificado y clave privada) a un fichero de disco

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Arsys Backup Online Manual de Usuario

TRUECRYPT. TrueCrypt se distribuye gratuitamente y su código fuente está disponible, aunque bajo una licencia restrictiva.

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

Software de Comunicaciones. Práctica 6 - HTTPS con Apache y PKCS

MANUAL DE INSTALACIÓN CONFIGURACIÓN Y GESTIÓN DE CERTIFICADOS EN MOZILLA FIREFOX. Agencia Tributaria INFORMÁTICA TRIBUTARIA

Instalación de una entidad emisora de certificados

1. Solicitud Acreditación 7 3. Descarga e instalación Copia de seguridad 11

SOLICITUD E INSTALACIÓN DE UN CERTIFICADO DE SERVIDOR SEGURO EN APACHE 2.X MEDIANTE OPENSSL EX

Técnicas de Programación

GUÍA PARA NO EXPERTOS PARA SOLICITAR E INSTALAR EL CERTIFICADO FNMT CON NESTCAPE

Opciones disponibles para arrancar MAX

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico.

! Sección 1 Acceso a llaves

3. En caso de que no esté instalado hacemos lo siguiente

En primer lugar observamos el directorio para asegurarnos que tenemos el módulo disponible/etc/apache2/mods-available

Cobian Backup. Inguralde [Enero 2011]

MANUAL PARA OBTENER SELLOS DIGITALES

Manual para la obtención del certificado del sello digital. Manual para la obtención del certificado del sello digital

Creación de Copia de Seguridad y Duplicado de un Curso.

Manual de uso de correo seguro en Outlook Express

FTP EXPLICITO E IMPLICITO

Índice 1. Acceso a la Intranet. 2. Acceso sin identificación. 3. Subir un archivo a la Intranet (Profesor/a Departamento). 4. Descarga del archivo en

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE

Administración de portales Joomla (II)

La aplicación de Factura Telemática se integra con su sistema y permite, principalmente:

ADMINISTRACIÓN BÁSICA DE TIENDAS VIRTUALES

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP

TUTORIAL. Configuración de cuentas de correo electrónico

Solar thermal systems design

Introducción a la Firma Electrónica en MIDAS

Acceder a correo de 1000tentaciones.com a través de web.

Configurar un Servidor FTP. Serv-U

Manual para el uso del Correo Electrónico Institucional Via Webmail

Guía de Obtención de Certificados para la Facturación Electrónica en Adquira Marketplace.

Cómo crear un libro en Moodle?

Configuración Y Diseño Del Correo Electrónico Y Web Personal De IESA

Manual de Instalación y uso de FTP

DIRECCIÓN DE SISTEMAS DE INFORMACIÓN DEPARTAMENTO CERES

Manual de Winzip. Introducción

Transcripción:

Herramientas: GPG, OpenSSL Enrique Soriano LS, GSYC 10 de junio de 2015

(cc) 2014 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada (by-nc-nd). Para obtener la licencia completa, véase http://creativecommons.org/licenses/by-sa/2.1/es. También puede solicitarse a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

GPG: generación de claves GPG puede tener distinta configuración dependiendo de la distribución (algoritmos por defecto, etc). La configuración está en el directorio $HOME/.gnupg, Para ver los algoritmos soportados, podemos ejecutar: gpg --verbose --version

GPG: almacenamiento de claves GPG crea varios pares de claves (principal y subordinadas para cifrar) cuando se ejecuta: gpg --gen-key Todas las claves públicas van al anillo de claves públicas. Todas las claves privadas van al anillo de claves privadas. $HOME/.gnupg/secring.gpg $HOME/.gnupg/pubring.gpg Nos dan opciones para elegir: Algoritmo (RSA, Elgamal, DSA (sólo firma), DSA+Elgamal). Longitud clave. Nombre completo. Correo electrónico. Passphrase.

GPG: almacenamiento de claves La passphrase se usa para sacar una clave mediante una KDF llamada s2k. El anillo privado se cifra con esa clave, con un algoritmo de clave simétrica, CAST5, en modo CFB. Para ver las claves que tenemos en el anillo público: gpg --list-keys pub: clave pública, con la longitud de clave, algoritmo (D=DSA, G=ElGamal, R=RSA), KeyID de clave,, fecha de creación y fecha de caducidad. sub: clave subordinada, mismos atributos. uid: datos del propietario (nombre, correo, comentarios). Una clave puede tener más de un UID.

GPG: exportar/importar claves Para exportar tu clave pública: gpg --output public.asc --armor --export pepe@a.com --armor genera los datos aplanados en Base 64. Para importar la clave pública de alguien: gpg --import public.asc

GPG: exportar/importar claves Para subir la clave a un servidor de PGP: gpg --keyserver pgp.rediris.es --send-keys 870AE0C4 Para bajar la clave pública de alguien desde un servidor: gpg --keyserver pgp.rediris.es --recv-key 870AE0C1 Para borrar una clave: gpg --delete-key pepe@pepe.com Si no se indica servidor, se usa el servidor gpg por omisión.

GPG: exportar/importar claves Para revocar una clave nuestra, debemos generar antes el certificado de revocación: gpg --output revoke.asc --gen-revoke D0A52B5D Se recomienda hacer esto al crear la clave. Sin el certificado, no se podrá revocar una clase. El certificado se tiene que guardar en un lugar seguro, por si en el futuro necesitamos revocar la clave. Para revocar la clave en local y en el servidor: gpg --import revoke.asc gpg --send-keys --keyserver pgp.rediris.es D0A52B5D

GPG: confianza y firma de claves Para editar una clave pública: gpg --edit-key pepe@gmail.com Comandos: fpr muestra el fingerprint de la clave. trust asigna el nivel de confianza en el usuario (web of trust). sign firma dicha clave con nuestra clave privada. check muestra las firmas que lleva la clave. Todas las claves están autofirmadas, y además pueden estar firmadas por otros usuarios.

GPG: confianza y firma de claves Firmar la clave supone dar fe de que dicha clave pertenece a la identidad. Esto sólo se puede hacer si estamos completamente seguros de ello. Si firmas una clave en tu anillo, pasa a ser válida. Una clave no firmada por ti será valida si reune el número mínimo de firmas con confianza marginal o completa. Una vez firmada, puedes dársela a su dueño para que él la distribuya firmada. No debes publicar la clave pública firmada sin el permiso de su propietario.

GPG: confianza y firma de claves Ajustar las restricciones sobre la validez de las claves públicas de terceros: gpg --completes-needed N gpg --marginals-needed N

GPG: cifrado de clave pública Cifrado de datos con una clave pública: gpg --output fichero.gpg \ --encrypt [-r recipient] fichero Si no indicamos el destinatario (recipient, por ejemplo el correo electrónico) con la opción -r, nos lo pedirá de forma interactiva.

GPG: descifrado de clave pública Descifrado de datos con mi clave privada: gpg --output fichero --decrypt fichero.gpg Para poder usar la clave privada, debemos introducir la passphrase correspondiente.

GPG: cifrado de clave simétrica Para cifrar con un algoritmo de clave simétrica: gpg --output fichero.gpg --symmetric fichero Debemos introducir la passphrase correspondiente para generar la clave simétrica con la KDF. OJO: esa no debe ser la passphrase que protege tu clave privada.

GPG: cifrado de clave simétrica Para cifrar con un algoritmo que no sea el algoritmo por omisión: gpg --output fichero.gpg --symmetric \ --cipher-algo AES256 fichero El algoritmo por suele ser CAST5. Aquí estamos usando otro: AES con clave de 256.

GPG: firma Para firmar un fichero, podemos usar: gpg --output data.sig --sign data El fichero se comprime y después se firma, dejando todo en el mismo fichero de salida.

GPG: firma Para hacer lo mismo con un fichero en texto plano para meter la firma al final del documento codificada en PEM, podemos usar: gpg --output data.sig --clearsign data La salida es el fichero en texto concatenado con la firma aplanada. Ojo: los blancos (espacios, tabs, etc.) no se tienen en cuenta para la firma

GPG: firma Para verificar la firma: gpg --verify data.sig

GPG: firma Se puede conseguir una firma separada de los datos: gpg --output data.sig --detach-sig data

GPG: firma Para verificar la firma separada: gpg --verify data.sig data

GPG: firmar y cifrar Se pueden mezclar. Por ejemplo, para cifrar y firmar un archivo: gpg -o fichero.gpg --sign --encrypt -r \ ana@uu.es fichero El destinatario puede descrifrar y verificar el fichero: gpg -o fichero --decrypt fichero.gpg

OpenSSL: crifrado También podemos usar OpenSSL para cifrar usando distintos algoritmos. Podemos ver la lista de algoritmos de cifrado soportados con openssl --ciphers El flag -a permite trabajar con la entrada/salida aplanada en base64.

OpenSSL: crifrado Para cifrar con algoritmos de clave simétrica: openssl aes-256-cbc -in fichero -out fichero.ssl Para descifrar: openssl aes-256-cbc -d -in fichero.ssl -out fichero Se pedirá una contraseña para sacar la clave simétrica. -nosalt si no queremos que se use salt.

OpenSSL: hash Para obtener una hash: openssl dgst -sha1 fichero

OpenSSL: generación de certificados X.509 Para crear un certificado X.509 autofirmando, aplanado en PEM y comprimido: openssl req -new -nodes -x509 -newkey 4096 \ -out cert.pem -keyout privkey.pem -days 500 \ -subj "/C=DE/ST=NRW/L=Earth/O=Random\ Company/OU=IT/CN=lsub.org/\ emailaddress=dont@mail.me"

OpenSSL: generación de certificados X.509 Si lo queremos en texto plano: openssl x509 -in cert.pem -inform PEM -text Si queremos extraer la clave pública: openssl x509 -inform pem -in cert.pem -pubkey \ -noout > pubkey.pem

OpenSSL: crear claves RSA openssl genrsa -out privkey.pem 4096 openssl rsa -in privkey.pem -out \ pubkey.pem -outform PEM -pubout Se pueden crear las claves sin crear un certificado X.509. Las claves privada/pública se crean por separado.

OpenSSL: firmas Firmar un fichero: openssl dgst -sha256 -sign private.pem \ -out signature fichero Verificar una firma: openssl dgst -sha256 -verify pubkey.pem \ -signature signature.txt fichero

OpenSSL: cifrar con RSA Cifrar: openssl rsautl -encrypt -inkey pubkey.pem \ -pubin -in fichero -out fichero.ssl Descifrar: openssl rsautl -decrypt -inkey privkey.pem \ -in fichero.ssl -out fichero NOTA: No se pueden cifrar más datos que el tamaño de la clave (menos el tamaño requerido por el padding).

OpenSSL: cifrar y descifrar con RSA + AES Generar clave AES: openssl rand -base64 32 -out aeskey Cifrar: openssl enc -aes-256-cbc -salt -in fichero \ -out fichero.ssl -pass file:./aeskey.txt openssl rsautl -encrypt -inkey pubkey.pem \ -pubin -in aeskey.txt -out aeskey.rsa Descifrar: openssl rsautl -decrypt -inkey privkey.pem -in \ aeskey.rsa -out aeskey.txt openssl enc -d -aes-256-cbc -in fichero.ssl -out \ fichero -pass file:./aeskey.txt

Otras herramientas shasum nos permite crear hashes SHA-1. sha256sum, sha384sum, sha512sum nos permite crear hashes SHA-2.