[SOLUCIONADO] Fallo con gpg4win

Iniciado por D3ivid, Septiembre 24, 2015, 09:17:43 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Septiembre 24, 2015, 09:17:43 PM Ultima modificación: Septiembre 25, 2015, 10:00:43 AM por WhiZ
Muy buenas familia, el problema es que no comprendo muy bien el funcionamiento, o bien no lo hago bien.

Me explico, creo un certificado, y cifro un archivo, si quiero que lo lea otra persona que tengo que hacer cifrarlo con mi clave y pasarsela, o que el me pase su certificado, lo importo y lo cifro con su clave para que lo descifre él con su clave?? Gracias a ver si me pudieseis ayudar por que no entiendo eso...

Justo hace un par de días que escribí algo acerca de esto. Lo hice por cuestiones personales pero aprovecho esta oportunidad para compartirlo.




GENERAR CLAVES



    Comando: gpg --gen-key

    Una vez ejecutado deberemos completar una serie de pasos:

        1. Seleccionar tipo de clave:
            a. RSA y RSA (predeterminado)
            b. DSA y Elgamal
            c. DSA (sólo firmar)
            d. RSA (sólo firmar)

        2. Indicar el tamaño de la clave.
           
            Las claves RSA pueden tener 1024 a 4096 bits de longitud. Por supuesto,mientas más bits de longitud,
            mayor seguridad y lentitud. Por el contrario, menos bits significa mayor velocidad pero menor seguridad.

            Por defecto, las claves que crea gpg son de 2048 bits de longitud.

        3. Indicar fecha de expiración.
            a. 0    -> la clave no expira
            b. <n>  -> la clave expira en n días
            c. <n>w -> la clave expira en n semanas
            d. <n>m -> la clave expira en n meses
            e. <n>y -> la clave expira en n años

        4. Proporcionar los siguientes datos:
            - Nombre real
            - Email
            - Comentario

            El ID del usuario se crea a partir de estos datos.

        5. Proporcionar una contraseña.

        6. Para último, para crear la clave es necesario generar muchos bytes aleatorios. Para esto, se nos pide
           realizar ciertas actividades que aumenten la entropía del sistema: mover el mouse, escribir con el teclado,
           (des)comprimir archivos, reproducir varios videos de forma simultánea y demás.


        Ejemplo: para mi clave, completé cada uno de los pasos de la siguiente manera:

            - Tipo de clave: RSA y RSA

            - Tamaño de la clave: 2048

            - Fecha de expiración: 0 (no expira nunca)

            - Nombre: underc0der

            - Email: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

            - Comment: comentario

            - Contraseña: underc0de




CONSULTAR CLAVES



    Comando: gpg -k

    Ejemplo: el resultado, para el ejemplo anterior, es el siguiente:
       
        pub   2048R/EE1AF4A3 2015-09-23
        uid                  underc0der (comentario) <[email protected]>
        sub   2048R/18957910 2015-09-23




EXPORTAR CLAVE PÚBLICA



    Comando: gpg --output [archivo con clave pública] --export [pub ID]

    Nota: Para saber el ID de la clave pública (pub ID) tenemos que ejecutar el comando anterior (gpg -k),
    buscar la clave que queremos exportar e identificar la línea que comienza con pub. El código que sigue
    a la barra (/) corresponde al ID de la clave pública.

    Ejemplo: si queremos exportar la clave pública del ejemplo anterior, el comando sería:
       
        gpg --output pkey.gpg --export EE1AF4A3




SUBIR CLAVE PÚBLICA A UN SERVIDOR DE CLAVES



    Comando: gpg --send-keys --keyserver [servidor de claves] [Pub ID]

    Ejemplo:
   
        gpg --send-keys --keyserver No tienes permitido ver los links. Registrarse o Entrar a mi cuenta EE1AF4A3

    Con este comando estoy enviando (--send-keys) la clave pública que venimos utilizando como ejemplo (EE1AF4A3) al servidor
    de claves (--keyserver) No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




IMPORTAR CLAVE DESDE UN ARCHIVO



    Comando: gpg --import [archivo con clave pública]

    Ejemplo:
       
        gpg --import pkey.gpg




IMPORTAR CLAVE DESDE UN SERVIDOR DE CLAVES



    Comando: gpg --keyserver [servidor de claves] --recv-keys [Pub ID]

    Ejemplo:

        gpg --keyserver No tienes permitido ver los links. Registrarse o Entrar a mi cuenta --recv-keys EE1AF4A3

    Con este comando estoy recibiendo (--recv-keys) la clave pública que venimos utilizando como ejemplo (EE1AF4A3) del servidor
    de claves (--keyserver) No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




CIFRANDO (CON CLAVE PÚBLICA)



    Comando: gpg --encrypt --recipient [Pub ID] [archivo a cifrar]

    Ejemplo:
       
        gpg --encrypt --recipient EE1AF4A3 topsecret.txt

    El resultado es un archivo cifrado llamado, en este caso, topsecret.txt.gpg




DESCIFRANDO (CON CLAVE PRIVADA)



    Comando: gpg --decrypt [archivo a descifrar]

    Ejemplo:
   
        gpg --decrypt topsecret.txt.gpg




GUÍA PASO A PASO



    Explicación general: En este ejemplo, tenemos dos usuarios: A y B. El objetivo es que el usuario B le pueda enviar archivos seguros a A. Para eso, el usuario A crea un par de claves (pública y privada) y le envía la clave pública al usuario B. El usuario B cifra sus archivos con la clave pública y se los envía a A. El usuario A recibe el archivo cifrado y lo descifra con su clave privada.


    Paso a paso:

    @ Usuario A

        1. El usuario A crea su clave:    gpg --gen-key

                - Tipo de clave: RSA y RSA
                - Tamaño de clave: 2048 bits
                - Fecha de expiración: 0 (no expira nunca)
                - Nombre: UsuarioA
                - Email: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
                - Comment:
                - Contraseña: asdf1234
   
        2. Luego, el usuario A consulta el ID de su clave pública:    gpg -k
   
                Output:
       
                    pub   2048R/6DFD6D54 2015-09-23
                    uid                  UsuarioA <[email protected]>
                    sub   2048R/81E0AA5C 2015-09-23

                Pub ID --> 6DFD6D54

        3. A continuación, envía su clave pública a un servidor de claves:    gpg --send-keys --keyserver No tienes permitido ver los links. Registrarse o Entrar a mi cuenta 6DFD6D54

   
    @ Usuario B

        4. El usuario B descarga la clave pública del usuario A:    gpg --keyserver No tienes permitido ver los links. Registrarse o Entrar a mi cuenta --recv-keys 6DFD6D54

        5. Luego, cifra el archivo que quiere enviar al usuario A:    gpg --encrypt --recipient 6DFD6D54 topsecret.txt

        6. A continuación, envía el archivo cifrado (topsecret.txt.gpg) al usuario A


    @ Usuario A

        7. El usuario A descarga el archivo cifrado (topsecret.txt.gpg)

        8. Descifra el archivo con gpg:    gpg --decrypt topsecret.txt.gpg

        9. Por último, una vez descifrado el archivo, ya puede leer el contenido del mismo:    less topsecret.txt

Lo mismo, pero a la inversa, debe realizarse para que el usuario A le pueda enviar un archivo cifrado al usuario B. De esta forma,
si dos usuarios desean intercambiar archivos de forma segura, primero deben enviarse las claves públicas para cifrar con
ellas los archivos que deseen proteger. Una vez cifrado un archivo, se envía para que el otro usuario la descifre con su
clave privada.





Bien, esto es todo. Queda para otra oportunidad (aunque es muy fácil también) el tema de las firmas.

Espero que les sirva.

Saludos!
WhiZ


Muchas gracias @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta pero una pequeña cuestion, para windows hay que hacer lo mismo??  yo por fin lo he consiguido con una persona me envia su certificado, yo lo cifro y se lo envio....

Así es @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. El procedimiento es el mismo tanto para GNU/Linux como para Windows. Lo único que gpg4win tiene una sencilla UI que nos permite hacer las cosas más "fácilmente".

Si te sirve, te dejo estos tutoriales que encontré por ahí:
    - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
    - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
    - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Por último, te dejo este No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. No lo leí pero parece estar bien.

Saludos!
WhiZ