Práctica
Práctica
Práctica
1- Introducción
El protocolo TCP/IP ha resuelto varios problemas respecto a la comunicación; pero hay que
tener en cuenta que no fue diseñado pensando principalmente en la seguridad. Por lo tanto, es
necesario incorporar tecnologías de seguridad imprescindibles para resolver problemas como los
siguientes:
Existe una tecnología que es la base para la solución de los problemas de seguridad antes
mencionados:
La criptografía.
2- La utilidad OpenSSL
La sintaxis del comando openssl es genérica y por tanto será válida para cualquier SO en el
que esté correctamente instalado el paquete OpenSSL.
$ openssl help
Comprobación y verificación de código
OpenSSL soporta varios tipos de “huellas digitales” o digest algorithms, como: MD2, MD4,
MD5, SHA, SHA1, MDC2 y RIPEMD-160 tal y como acabamos de comprobar. Cada algoritmo
puede ser invocado directamente o como opción del comando openssl dgst.
Cree un archivo de texto con la cadena “NOMBRE COMPLETO DEL ESTUDIANTE CON
SUS 2 APELLIDOS SEGUIDO DE SU NUMERO DE CEDULA”, y coloque de nombre del
archivo solo el numero de cedula sin puntos ni letras.
saque su digest MD5:
Porque es un hash diferente que depende de la configuración del hash para cada maquina
Los algoritmos de clave simétrica (algoritmos de clave compartida) usan la misma clave para
cifrar y descifrar datos. Los algoritmos de clave pública (algoritmos de clave asimétrica) usan
diferentes claves para el cifrado y el descifrado. Los algoritmos de clave pública toman su
nombre
por una de las claves que se utilizan, la clave pública, que puede ser distribuida a otras personas,
los datos que son cifrados con una clave pública sólo pueden ser descifrados con la clave
privada asociada.
OpenSSL soporta varios algoritmos de clave simétrica como: DES, DES3, IDEA, Blowfish y
AES. Cada algoritmo de clave simétrica puede ser invocado desde la línea de comandos
pasando el nombre del algoritmo en el comando openssl.
Descifrando datos
Para llegar a tener un certificado, primero tenemos que tener un par de claves
pública/privada. OpenSSL trabaja con los algoritmos de clave pública RSA (de Rivest, Shamir y
Adelman), DSA (Digital Signature Algorithm) y DH (Diffie-Hellman). Vamos a trabajar con RSA,
puesto que es el más sencillo de los tres para esta tarea.
Genera una clave privada RSA de 2048 bits usando el subcomando genrsa (empieza con
openssl genrsa -help para ver las opciones disponibles). La clave debe tener 2048 bits, y
tendrás que guardarla en un fichero que llamaremos privkey.pem
Extrae de la clave privada que acabas de crear, la clave pública (consulta la ayuda del
subcomando rsa, dispone de una opción para ello). Guarda el resultado en key.pub. ¿Qué
diferencias aprecias respecto a la clave privada?
$ openssl rsa -in privkey.pem -pubout > key.pub
Crear una CSR para la clave pública/privada generada en la sección anterior. Échele un
vistazo y comprueba qué dice la cabecera.
RSA Public-Key:
Modulus:
Attributes:
unstructuredName:
challengePassword:
Signature Algorithm:
Entregue un análisis de lo realizado en este numeral: Se creo inicialmente un certificado
autofirmado luego a través del comando openssl req -x509 -key privkey.pem -in
solicitud.csr firmamos el certificado ingresando la información solicitada luego se genera el
certificado autofirmado de acuerdo con la instrucción y se valida la información con el
comando de verificación, aquí podemos observar que para la firma se debe ingresar la
información solicitada y un passphrase de verificación, posteriormente a esto se crearon
llaves de seguridad tal como las instrucciones del laboratorio, dándonos nuevas enseñanzas y
aprendizajes.