12-2 Encrypting and Decrypting Data Using OpenSSL
12-2 Encrypting and Decrypting Data Using OpenSSL
Objetivos
Parte 1: Cifrar mensajes con OpenSSL
Parte 2: Descifrar mensajes con OpenSSL
Antecedentes / Escenario
OpenSSL es un proyecto de código abierto que proporciona un kit de herramientas robusto, comercial y
completo para los protocolos de Seguridad de capa de transporte (Transport Layer Security, TLS) y Capa de
sockets segura (Secure Sockets Layer, SSL). También es una biblioteca de criptografía de uso general. En
esta práctica de laboratorio utilizarán OpenSSL para cifrar y descifrar mensajes de texto.
Nota: Si bien actualmente OpenSSL es la biblioteca de criptografía obligada, el uso que se presenta en esta
práctica de laboratorio NO se recomienda para lograr una protección sólida. A continuación se presentan
dos problemas de seguridad con esta práctica:
1) El método que se describe en esta práctica utiliza un función de derivación de claves débiles. La
ÚNICA medida de seguridad es una contraseña muy fuerte.
2) El método que se describe en esta práctica no garantiza la integridad del archivo de texto.
Esta práctica de laboratorio debe utilizarse solo con fines instructivos. Los métodos aquí presentado NO se
deben emplear para asegurar datos realmente sensibles.
Recursos necesarios
Máquina virtual CyberOps Workstation
Acceso a Internet
Página 1 de 5
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL
e. En la misma ventana del terminal, emitan el siguiente comando para cifrar el archivo de texto. El
comando usará AES-256 para cifrar el archivo de texto y guardar la versión cifrada como message.enc.
OpenSSL les pedirá una contraseña y que la confirmen. Proporcionen la contraseña tal como se les
solicita y recuérdenla.
[analyst@secOps lab.support.files]$ openssl aes-256-cbc -in
letter_to_grandma.txt -out message.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
[analyst@secOps lab.support.files]$
Página 2 de 5
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL
f. Cuando haya terminado el proceso, vuelvan a utilizar el comando cat para mostrar el contenido del
archivo message.enc.
[analyst@secOps lab.support.files]$ cat message.enc
¿Se mostró correctamente el contenido del archivo message.enc? ¿Qué aspecto tiene? Explique.
Si aparece correctamente y parece símbolos alfanuméricos.
Página 3 de 5
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL
g. Para que el archivo sea legible, vuelvan a ejecutar el comando OpenSSL pero esta vez agreguen la
opción -a. La opción -a le indica a OpenSSL que debe codificar el mensaje cifrado como Base64 antes
de guardar el resultado en un archivo.
Nota: Base64 es un grupo de esquemas similares de codificación binario a texto que se utiliza para
representar datos binarios en un formato de cadena ASCII.
[analyst@secOps lab.support.files]$ openssl aes-256-cbc -a -in
letter_to_grandma.txt -out message.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
h. Nuevamente, utilicen el comando cat para mostrar el contenido del archivo message.enc, que se acaba
de generar otra vez:
Nota: El contenido de message.enc variará.
[analyst@secOps lab.support.files]$ cat message.enc
U2FsdGVkX19ApWyrn8RD5zNp0RPCuMGZ98wDc26u/vmj1zyDXobGQhm/dDRZasG7
rfnth5Q8NHValEw8vipKGM66dNFyyr9/hJUzCoqhFpRHgNn+Xs5+TOtz/QCPN1bi
08LGTSzOpfkg76XDCk8uPy1hl/+Ng92sM5rgMzLXfEXtaYe5UgwOD42U/U6q73pj
a1ksQrTWsv5mtN7y6mh02Wobo3A1ooHrM7niOwK1a3YKrSp+ZhYzVTrtksWDl6Ci
XMufkv+FOGn+SoEEuh7l4fk0LIPEfGsExVFB4TGdTiZQApRw74rTAZaE/dopaJn0
sJmR3+3C+dmgzZIKEHWsJ2pgLvj2Sme79J/XxwQVNpw=
[analyst@secOps lab.support.files]$
Página 4 de 5
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL
Página 5 de 5