domingo, 26 de febrero de 2012

HTTPS y sitios uruguayos

Hace unos días leí un artículo en el blog de Jeff Atwood, que hablaba sobre si se debería encriptar todo el tráfico de internet usando HTTPS.

La conclusión que llega, con la que estoy totalmente de acuerdo, es que sí se debe usar HTTPS siempre que el usuario esté logueado y se puede usar HTTP para el contenido público. De todas formas, el costo de usar HTTPS hoy en día es muy bajo (en términos de recursos).

El protocolo HTTPS lo que hace (muy básicamenete), es encriptar la comunicación entre el servidor y el cliente, utilizando un certificado de clave pública/privada del lado del servidor. Para eso, el sitio que va a utilizar HTTPS, necesita tener un certificado válido.

Cuando un cliente se quiere conectar le pide el certificado al servidor, verifica que sea válido, y si lo es se lleva a cabo la comunicación.

La parte de "verifica que sea válido" es la más compleja, porque ambas partes tienen que confiar en alguien común, que valide el certificado, es decir, que asegure que el servidor es quien dice ser.

Para eso existen las entidades certificadoras, que tienen certificados que son de conocimiento público (porque vienen instalados con el sistema operativo o con el navegador web), y que usan para firmar los certificados de los demás sitios web. Así, por ejemplo, si veo el certificado de GMail, veo que la raíz del certificado es de confianza.


En Uruguay, quien emite certificados, es el Correo. ¿Y adivinen qué?: el certificado no está firmado por una entidad de confianza:


Por lo tanto, cuando quiero ir a la página del Banco de Previsión Social, Chrome me muestra lo siguiente:


Por suerte el país está discutiendo el tema de la firma digital...

Ah, y por si fuera poco, después que uno se registra (ignorando este tema de que el certificado no es de confianza), le mandan la contraseña generada automáticamente a la dirección de e-mail.