Toplip, utilidad CLI muy interesante para encriptar y descifrar archivos
En el siguiente artículo vamos a echar un vistazo a Toplip. Esta es una utilidad de línea de comandos para el cifrado y descifrado de archivos. Hoy en día existen numerosas herramientas de cifrado de archivos para proteger nuestros archivos como serían Cryptomater, CryptGo, Cryptr y GnuPG, etc, pero esta herramienta es una buena alternativa a todas ellas.
Esta es una utilidad de cifrado de código abierto y gratuita que utiliza un método de cifrado fuerte llamado AES256, junto con un diseño XTS-AES para proteger nuestros datos confidenciales. Además utiliza Scrypt, que es una función de derivación de clave basada en contraseña, para proteger nuestras contraseñas contra los ataques de fuerza bruta.
Características generales de Toplip
Comparado con otras herramientas de cifrado de archivos, toplip nos lo entregan con las siguientes características:
- Posé un método de encriptación basado en XTS-AES256.
- Vamos a poder cifrar archivos dentro de imágenes (PNG / JPG).
- Tendremos la posibilidad de utilizar una protección de contraseña múltiple.
- Protección simplificada contra ataques de fuerza bruta.
- Nos da la posibilidad de generar una “negación plausible”.
- No hay marcadores de salida identificables.
- Es una utilidad de código abierto / GPLv3.
Instalación de Toplip
No requiere instalación. Todo lo que tendremos que hacer es descargar el binario ejecutable de Toplip desde la página oficial de productos. Una vez descargado tendremos que darle permisos de ejecución escribiendo en la terminal (Ctrl+Alt+T):
chmod +x toplip
Uso de Toplip
Si ejecutamos Toplip sin argumentos, nos mostrará la ayuda.
./toplip
Algunos ejemplos de Toplip
Encriptar / desencriptar un solo archivo
Podremos encriptar un archivo (archivo1) escribiendo desde la carpeta donde tengamos el archivo toplip:
./toplip archivo1 > archivo1.encrypted
Este comando nos va a pedir que escribamos una contraseña. Una vez que la escribamos, se cifrará el contenido del archivo1 y los guardará en un archivo llamado archivo1.encrypted situándolo en el directorio de trabajo actual.
Para verificar si el archivo está realmente encriptado, podemos intentar abrirlo y veremos algunos caracteres aleatorios. Para ver el contenido del archivo que acabamos de cifrar, tendremos que utilizar la opción -d como a continuación:
./toplip -d archivo1.encrypted
Este comando descifrará el archivo dado y mostrará el contenido en la ventana de la terminal.
Restaurar archivo cifrado
Para restaurar el archivo en lugar de ver solo el contenido, tendremos que hacer algo como lo siguiente:
./toplip -d archivo1.encrypted > archivo1Restaurado
Nos pedirá la contraseña correcta para descifrar el archivo. Todos el contenido de archivo1.encrypted se restaurarán en un archivo llamado archivo1Restaurado. Estos nombres son solo un ejemplo. Es aconsejable utilizar nombres menos predecibles.
Cifrar / descifrar archivos múltiples
También podremos encriptar dos archivos con dos contraseñas separadas para cada uno.
./toplip -alt archivo1 archivo2 > archivo3.encriptado
Se nos van a pedir una contraseña para cada archivo. Podemos utilizar diferentes contraseñas. Lo que hará el comando anterior es encriptar el contenido de dos archivos y guardarlos en un único archivo llamado archivo3.encriptado. Cuando restauramos los archivos, solo tendremos que escribir la contraseña correspondiente del archivo a restaurar. Si escribimos la contraseña del archivo1, la herramienta restaurará el archivo1. Si escribimos la contraseña del archivo2, se restaurará este archivo.
Cada salida encriptada puede contener hasta cuatro archivos totalmente independientes, y cada uno creado con su propia contraseña separada y única. Debido a la forma en que se juntan los resultados cifrados, no hay manera de determinar fácilmente si existen varios archivos. Con esto evitaremos que otro usuario identifique de manera concluyente que existen datos confidenciales adicionales. Esto se llama negación plausible, y es una de las características más interesantes de esta herramienta.
Para descifrar el archivo1 de archivo3.encriptado, solo tendremos que escribir:
./toplip -d archivo3.encriptado > archivo1.desencriptado
Tendremos que escribir la contraseña correcta del archivo1. Para descifrar el archivo2 de archivo3.encriptado, tendremos que escribir básicamente lo mismo que para desencriptar archivo1, pero cambiando el nombre y utilizando la contraseña que asignamos al archivo2.
Usar protección de contraseña múltiple
Esta es otra característica genial. Podremos añadir contraseñas múltiples para un solo archivo al cifrarlo. Esto será muy efectivo contra los intentos de fuerza bruta.
./toplip -c 2 archivo1 > archivo1.encriptado.2.passwords
Como puede ver en el ejemplo anterior, toplip me pidió escribir dos (-c 2) contraseñas. Hay que tener en cuenta que debemos escribir dos contraseñas diferentes. Para descifrar este archivo, tendremos que escribir:
./toplip -c 2 -d archivo1.encriptado.2.passwords > archivo1.desencriptado
Ocultar archivos dentro de la imagen
La práctica de ocultar un archivo, mensaje, imagen o vídeo dentro de otro archivo se llama esteganografía. Esta característica existe en Toplip de forma predeterminada. Para ocultar un archivo(s) dentro de las imágenes, utilizaremos la opción -m.
./toplip -m imagen.jpg archivo1 > imagen1.jpg
Este comando oculta el contenido del archivo1 dentro de una imagen llamada imagen1.png. Para descifrarlo tendremos que ejecutar:
./toplip -d imagen1.png > archivo1.desencriptado
En la página web del proyecto podremos obtener más información acerca de las posibilidades de esta herramienta.
El artículo Toplip, utilidad CLI muy interesante para encriptar y descifrar archivos ha sido originalmente publicado en Ubunlog.