Firma Digital en Windows

El objetivo de esta práctica es realizar una firma digital sobre un fichero usando el programa Gpg4win, programa que se puede instalar sobre Windows. Lo podemos descargar en https://www.gpg4win.org/

1. Instalación de Gpg4win.

Gpg4win, es una adaptación a Windows de la utilidad gpg de Linux, vista en criptografía asimétrica y criptografía simétrica.

En el proceso de instalación se instalará GNU Privacy Guard y Kleopatra que es el administrador/gestor de certificados OpenPGP y x.509.

2. Generar Certificado con el par de claves pública y privada.

Terminada la instalación el programa se inicia y aparece la siguiente ventana.

Ahora generaremos el par de claves e introduciremos los datos identificativos del certificado, que nos permiten elegirlo entre todos los disponibles en el almacén.

Si pulsamos en Configuración avanzada… podemos cambiar el tipo de algoritmo asimétrico y el tipo de uso que le vamos a dar al certificado.

En este último paso nos pedirán confirmar los parámetros del certificado que estamos a punto de crear.

Posteriormente ticamos sobre Crear, y el programa nos pedirá la contraseña simétrica que protege el certificado.

Tras este paso aparecerá la ventana de confirmación que nos indicará que el par de llaves ha sido creado con éxito, la huella de la clave pública (fingerprint o Huella digital), copia de seguridad del par de llaves, enviar la clave pública por correo o enviar la llave pública a un servicio de directorio.

3. Vamos a firmar el archivo.

Elegimos un fichero y con el botón derecho del ratón sobre el fichero desplegamos Más opciones de GpgEx y firmamos el archivo.

En este paso también lo podemos cifrar.

Si tuviéramos varios certificados podemos elegir el que deseemos en el desplegable.

Tras tener claro lo que queremos realizar, ticamos sobre el botón Firmar. Nos pedirá que introduzcamos la clave primaria, y obtendremos el archivo firmado Ejercicios ficheros Java.docx.sig

4. Comprobación en otra máquina del fichero con su firma.

Ahora llevaremos el fichero original junto con el fichero firmado a otro equipo. También necesitaremos un tercer fichero: la clave pública del certificado.

Para ello exportamos el certificado.

Una vez que tenemos los 3 ficheros los pasamos a una máquina Linux, en mi caso Kali Linux.

Como podemos comprobar el fichero Jesús Fernández Toledo_0xF08AB58B_public.asc es la clave pública.

Trasferimos los 3 ficheros a una Máquina Kali Linux como se comprueba en la imagen.

Importamos clave pública en la máquina Linux.

Comprobamos la firma con el comando.

Si alteramos un sólo carácter del fichero de texto o de su firma, la verificación ya no es posible.

El mecanismo de firma también se utiliza en las comunicaciones de datos para garantizar al servidor que somos un cliente de confianza, y así podemos evitar introducir usuario y contraseña (autenticación sin contraseña). Previamente, el servidor debe tener almacenada la clave pública del cliente (que habrá llegado allí de manera segura).

Cuando el cliente empieza una sesión y solicita autenticación sin contraseña, el servidor genera en ese momento un documento especial, llamado desafío, compuesto de cifras y letras elegidas aleatoriamente. Busca en sus ficheros la clave pública del cliente, cifra con ella ese desafío y se lo envía al cliente.

El cliente lo recibe, lo intenta descifrar con su clave privada y el resultado lo devuelve al servidor. Entonces el servidor compara la secuencia de caracteres recibida con el desafío que generó; si son iguales, el cliente es de confianza y puede conectar directamente. Todo este diálogo puede quedar a salvo de miradas ajenas si usamos una conexión cifrada mediante la clave pública del servidor.

 

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies ACEPTAR

Aviso de cookies