HTTPS | ¿Qué es HTTPS?

HTTPS agrega una capa de seguridad a HTTP. Esta capa de seguridad es llamada TLS (transpor layer security) o SSL (Secure Sockets layer). los nombres son usados de manera similar pero TLS is técnicamente el sucesor de SSL.

HTTP en aplicaciones web


TLS usa algo llamado criptografía de llave publica que funciona así: cada punto tiene una llave publica que puede compartir con todos, y una llave privada que no puede compartir con nadie. Si yo quiero enviarte algo lo cifro con mi llave privada (probablemente algo en mi computador) y tu llave publica, que es accesible por todos. Yo te envió información que no tiene sentido para el resto que tu puedes descifrar con tu llave privada y mi llave publica. así cualquier persona que lea los mensajes no pueda entenderlos y sin nosotros haber acordado una especie de código secreto antes.

En TLS, la llave publica tiene algo llamado certificado. tu te presentas ante mi con tu certificado (también llamado clave publica) este certificado de autoridad comprueba que tu eres quien dices ser.
Tu navegador tiene una lista de estos certificados de autoridad en los que confía, y compañías como Verizon o Google ejecutan estos Certificados de autoridad o Certifies Authorities, conocidos como CAs.

Algunos servicios de cloud, por defecto proveen a tus servidores con HTTPS, por ejemplo Heroku.
Pero si quieres generar tus propios certificados estos son los pasos:

Primero tu tienes que generar tu llave publica y tu llave privada usando OpenSSL. Así que primero tienes que instalarlo y luego puedes comprobar su instalación con el comando: Openssl versión.

A partir de allí puedes ejecutar estos dos comandos:

openssl genrsa -out privatekey.pem 1024
openssl req  -new -key privatekey.pem -out request.pem

el primer comando genera tu llave privada en un archivo privatekey.pem. el segundo comando genera una peticion de firma de certificado, este comando te empieza a hacer preguntas para rellenar tu información y luego geera un archvo request.pem, a partir de aquí puedes solicitar que te certifiquen un CA, a muchos grupos, o si prefieres un certificado diferente puedes comprar uno online.

Comentarios

  1. Que buena explicación, me encanta tu Blog. Lo que siempre quice saber es como añadir un OpenSSL a un Web Hosting ya sea gratuito o de pago. Para informal al avegador y así mismo al usuario que mi citio es seguro. Y quisiera saber si de esta manera todas las "peticiones " y "respuestas" del servidor al cliente y viceversa, quedarían encriptadas.

    ResponderBorrar
    Respuestas
    1. Puedes probar con Let's encrypt obtienes un SSL gratuito y lo renuevas cada tres meses. Url: https://letsencrypt.org/es/ , puedes ver este video en youtube tambien https://www.youtube.com/watch?v=JzhiVSmO4Uk&t=633s, saludos

      Borrar

Publicar un comentario