Para proteger la información existen muchos sistemas de protección diferentes, uno de los subsistemas de protección son los medios criptográficos. VPN Tecnologías de red, cargadores de sistemas operativos con función de cifrado, firma digital electrónica, programas de cifrado de archivos locales en el dispositivo. Todos ellos están unidos por el uso de varios criptosistemas basados en algoritmos matemáticos.
criptosistema es un modelo que contiene un conjunto de algoritmos criptográficos, que tiene la capacidad de realizar conversión bidireccional con el fin de preservar la confidencialidad, integridad y disponibilidad de los datos.
Consideremos uno de los estándares de la Criptosistema OpenPGP!
¿Para qué sirve PGP?
PGP or Bastante buena privacidad es una implementación de software del criptosistema OpenPGP que contiene un conjunto de algoritmos criptográficos. Se distribuye bajo licencia comercial y está disponible para su compra, la alternativa gratuita es GPG o GNU Privacy Guard! Se basa en el mismo criptosistema, para instalar los paquetes escribimos los comandos:
apt update && apt upgrade -y apt install gnupg -y 
Antes de iniciar una máquina de prueba, que podemos hacer en Serverspace plataforma en la nube que ayudará a facilitar la implementación; también puede omitir este paso si tiene una servidor en la nube. Para crear el nodo necesitamos encontrar la plataforma en la nube en el menú de la izquierda que puede elegir según sus requisitos. Nosotros elegimos vStack or VMware plataforma y haga clic en el botón Crear servidor.

Llevará algún tiempo implementar la capacidad del servidor. Después de eso podrás conectarte de cualquiera de las formas que más te convengan. Volvamos a nuestra terminal con la utilidad ya instalada, para familiarizarnos con la sintaxis escribiremos el comando:
gpg -h 
Como puedes ver, la lista de opciones es bastante extensa. Por lo tanto, centrémonos en las principales opciones y funciones del comando, que pueden ser necesarias durante la realización de acciones básicas.
Creando claves gpg
Para una gestión de claves segura y eficiente, se utiliza un mecanismo de llavero o, literalmente, un llavero. Es una base de datos que almacena claves públicas, privadas y confiables. Este mecanismo de centralización le permite controlar el acceso a las claves en función de una contraseña establecida por el usuario. Por tanto, toda la confidencialidad de los procesos depende de la complejidad de la contraseña que establece el usuario. Es deseable elegir
En GPG (GNU Privacy Guard), cada clave puede tener varios componentes que definen su función. Estos componentes se representan entre paréntesis en el resultado del comando gpg --list-keys o gpg --list-secret-keys.
Pero desde el principio no veremos ninguna clave, como la base de datos está vacía, ¡creemos claves! Hay dos formas de cifrar información: utilizando algoritmos simétricos y asimétricos, que crean diferentes pares de claves. Para crear claves utilizando el algoritmo asimétrico, debe escribir el comando:
gpg --full-generate-key --expert 
Esta combinación de opciones --full-generate-key --expert abrirá la lista completa de configuraciones al crear una clave. La captura de pantalla muestra algoritmos de cifrado y firma electrónica, elija el que se adapte a sus necesidades.
Tenga en cuenta que las opciones 3,4, 10 y XNUMX son solo para firma digital. Tenga en cuenta que está seleccionando un par de algoritmos, donde el primer algoritmo es para cifrado y el segundo para firma.
Elijamos un conjunto predeterminado de claves RSA y continuemos con su configuración:

Ahora elijamos la longitud de la clave, cuyo tamaño determina la solidez criptográfica o el indicador de que la longitud de la clave no permitirá utilizar las tecnologías actuales para buscar rápidamente su valor y descifrar los datos. En consecuencia, cuanto más larga sea la clave, menor será la probabilidad de que se revelen la confidencialidad de los datos. Se considera que el umbral mínimo son 2048 símbolos, los cuales especificaremos, pero es posible y más hasta 3072. Luego es necesario seleccionar el período de validez de la clave, a contar desde la fecha de su creación, para la prueba que especificará validez indefinida especificando 0.

Para identificar la clave, debe especificar los parámetros enumerados para el usuario. Si está creando una clave para un usuario para que pueda leer los mensajes cifrados para él, especifique sus detalles. A continuación, debe confirmar o realizar cambios en la configuración de la clave que está creando. Seleccione O para continuar.

En el momento de la creación de la clave, puede mover el mouse e ingresar valores aleatorios, de modo que el generador de secuencia pseudoaleatoria genere una clave con más entropía o aleatoriedad. Las líneas del certificado de revocación almacenadas indican un certificado de revocación que puede revocar su clave pública, pero aún permanecerá en el sistema del usuario pero no se utilizará.
Para crear su propio certificado de revocación, use el comando:
gpg --gen-revoke <key_id> > revcert.asc En Especifique el id de su clave, luego se creará un certificado revcert.asc que marcará su clave anterior como revocada. Volvamos a la captura de pantalla con la generación de claves, donde se indica que se han creado las claves pública y secreta, en nuestro caso son 4 claves. Dos para cifrado y dos para firma digital. Analicemos la línea a continuación:
- pub: significa clave pública y se utiliza para firmar;
- sub: significa subclave pública y se utiliza para el cifrado;
- sec: significa una clave secreta y se utiliza para firmar;
- ssb - significa bajo la clave secreta y utilizada para el cifrado;
Y también junto a ellos podemos ver el algoritmo de cifrado rsa2048, la clave hash A8.....EDB9, la fecha de creación 2024-03-01, y también los parámetros para el propósito de su uso:
- S (Signing): Este componente de la clave permite utilizarla para crear firmas electrónicas. Se puede adjuntar una firma electrónica a un mensaje para confirmar su autoría e integridad.
- C (Certificación - Firma de clave): este componente indica que una clave puede utilizarse para firmar otras claves. Se utiliza en el proceso de creación de una red de confianza cuando un usuario confía en la clave de otro usuario.
- E (Cifrado): este componente permite que la clave se utilice para cifrar mensajes para el destinatario. Se utiliza para garantizar la confidencialidad de los mensajes.
- A (Autenticación): Este componente se puede utilizar para autenticar al usuario. Se utiliza comúnmente en otros protocolos como SSH (Secure Shell) para autenticar al usuario.
Una vez que hayamos decidido los metadatos clave y su propósito, pasemos a cifrar y transmitir o almacenar los datos de forma segura.
cifrado GPG
El objetivo principal del cifrado es preservar la confidencialidad, la integridad y, en algunos casos, la autenticidad de los datos transmitidos. Para crear un texto cifrado o un mensaje cifrado, utilice el comando:
gpg -k
Para ver el id del propietario de la clave, en nuestro caso será Koldek, quien especificaremos a continuación:
gpg -r <key-id> -a -e target.txt > target.txt.asc
En este caso, especificamos la clave que utilizaremos para cifrar el mensaje, el parámetro -a codificará el texto cifrado en ASCII en lugar de en binario GPG y permitirá la transmisión a través de muchos medios de comunicación. El parámetro -e indica cifrado con algoritmo asimétrico y la salida STDOUT estándar será redirigida por descriptor de archivo a target.txt.asc. En consecuencia, el mensaje cifrado con sus metadatos se almacenará en este archivo.
¿Cómo ver la clave gpg? A continuación, el gato El comando muestra el contenido del archivo target.txt.asc, que nos permite ver el mensaje cifrado. Ahora necesitamos pasar el texto cifrado y la clave pública al destinatario. Si el mensaje cifrado se puede transmitir de cualquier manera conveniente, la clave debe publicarse públicamente y los usuarios o el destinatario deben confiar en ella. Ya sea a través de un tercero (un centro de certificación) o de la propia empresa, coloque la clave en el sitio y espere una conexión TLS.
Exportación de claves y descifrado gpg
Exportar la clave pública:
gpg -r <key-id> -a --export > key.asc
Importe la clave y descifre el texto cifrado en la máquina del usuario usando los comandos:
gpg --import key.asc gpg -r Kolded -d target.txt.asc Finalmente deberíamos ver el texto descifrado:

Es posible que haya notado líneas diferentes a las suyas en el resultado, como destinatario anónimo. ¿Qué significa que no hay metadatos sobre el usuario en el archivo? ¿Cómo puedo ajustar esto?
configuración de gpg
Para que nuestro destinatario no se vea perjudicado al interceptar los metadatos del mensaje, especificaremos en la configuración la prohibición de añadir comentarios de UID y eliminar la clave hash:
echo "keyid-format 0xlong
throw-keyids
no-emit-version
no-comments" > ~/.gnupg/gpg.confEste comando sobrescribirá el archivo, si tiene su propia configuración, utilice >> el descriptor de archivo que permitirá escritura adicional en lugar de sobrescribir.
PGP (Pretty Good Privacy) es un programa y una biblioteca de funciones que proporciona cifrado y firma digital de correo electrónico, archivos, discos y otros datos. PGP utiliza algoritmos de cifrado simétricos y asimétricos, lo que garantiza una alta confidencialidad e integridad de la información. Se utiliza para proteger información sensible, autenticar usuarios y garantizar la inviolabilidad. PGP es una herramienta esencial de seguridad de la información disponible para todos los niveles de usuarios.