Lab - Encrypting and Decrypting Data Using OpenSSL
Lab - Encrypting and Decrypting Data Using OpenSSL
Lab - Encrypting and Decrypting Data Using OpenSSL
INGENIERÍA EN SISTEMAS
Investigación de operaciones
ALUMNOS:
DOCENTE:
2020 (1)
Práctica de laboratorio: Cifrar y descifrar datos 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 una 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í presentados NO
se deben emplear para asegurar datos realmente sensibles.
Recursos necesarios
• Máquina virtual CyberOps Workstation
• Acceso a Internet
d. Escriba el siguiente comando a continuación para generar una lista del contenido del archivo
de texto encriptado letter_to_grandma.txt en la pantalla:
[analyst@secOps lab.support.files]$ cat letter_to_grandma.txt
Hi Grandma,
I am writing this letter to thank you for the chocolate chip cookies you sent
me. I got them this morning and I have already eaten half of the box! They
are absolutely delicious!
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]$
____________________________________________________________________________________
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
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL
¿Se mostró correctamente el contenido del archivo message.enc? ¿Qué aspecto tiene? Explique.
Se mostro un texto con signos, letras y números binarios es decir datos encriptados.
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 cifrar el mensaje cifrado con un método de
codificación diferente a 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]$
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL