Cuando escribo example.com
sin ningún esquema en la barra del navegador y presiono Intro, se interpreta como HTTP://example.com
, no HTTPS://example.com
. ¿Por qué? ¿Y dónde están los planes para solucionar esto?
(Para ser claro, estoy hablando solo sobre las direcciones escritas / pegadas que provienen de un usuario "perezoso", no sobre acciones definidas por software como las siguientes URL relativas al esquema, window.location = "url"
etc. Y obviamente, escribir / pegar HTTP://example.com
todavía debe funcionar.)
EDIT : como algunas respuestas señalan, los sitios ya pueden principalmente lograr esto con redireccionamientos + HSTS. El beneficio técnico central sería reducir el problema de la primera conexión (también abordado por la precarga de HSTS pero no puede escalar a todos los sitios) Puedo ver cómo esa es una débil justificación para romper cosas ahora ; Lo que más me interesa es si es un final obvio en 5 años. 10? 20?
Puedo ver varios problemas en la forma de omitir la interpretación de https:
-
Experiencia de usuario con sitios que solo funcionan a través de http. La configuración predeterminada de https mostraría un error, pero el usuario generalmente no tiene idea de si debería funcionar, es decir, si este sitio simplemente nunca funcionó a través de https o si se trata de un ataque degradado.
Si la página de error para esta situación contendrá un sencillo "¿quiso decir http: ...?" enlace (*), los usuarios se acostumbrarán a hacer clic en cualquier sitio que no funcione y no hemos ganado mucho (?). Y si no es fácil (por ejemplo, el usuario debe editar
https
- >http
, los usuarios no usarán dicho navegador.EDIT : debería haber aclarado que la indicación de error debe ser diferente de ir explícitamente a una dirección HTTPS que falló: este escenario no es tanto "fallido" como "no lo hizo la interpretación segura trabajo". Y, para empezar, incluso "fallar por software" automáticamente a HTTP con una barra de advertencia en la parte superior estaría bien.
Pero creo que todavía ganamos 3 cosas: ir a un sitio no seguro es una acción consciente, informamos a los usuarios que HTTP no seguro es no es normal , y presionamos a los sitios para que implementen https.
-
Inconveniencia de tener que escribir
http://
en algunos casos. La OMI es completamente superada por la conveniencia de no tener que escribirhttps://
en más casos. -
"Compatibilidad" con el valor predeterminado histórico. No estoy seguro de si está consagrado en algún estándar, pero IMO está claro que tendremos que cambiarlo algún día , por lo que no es un showstopper.
-
Política / economía: el sistema de CA tiene sus problemas y los navegadores pueden ser reacios a presionar a los administradores del sitio para que les paguen (si no ven el valor de otra manera). Ignoremos el dinero por un momento y simulemos que Let's Encrypt Free CA ha llegado.
Puedo ver por qué hacer el cambio en este momento puede ser controvertido; lo que me desconcierta es por qué no se discute ampliamente como la meta obvia a largo plazo, con un plan por etapas como el de SHA-2, pero tal vez sea más lento. Lo que veo parece que http seguirá siendo el valor predeterminado prácticamente para siempre:
-
El movimiento de Chrome para ocultar
http://
en la barra de URL es un paso atrás. El primer paso hacia el valor predeterminado de https debería haber estado mostrando http en rojo; en algún momento posterior, eventualmente se moverá a ocultarhttps://
(solo se muestra el candado verde) ... -
HSTS se mueve en la dirección correcta pero con una opción cautelosa por sitio. Es tanto más débil como más fuerte: los sitios se comprometen a forzar https incluso para URL http explícitas, sin que el usuario pueda recurrir a los errores, pero el RFC ni siquiera menciona la idea de que https podría ser un valor predeterminado global , o que el esquema predeterminado del navegador es el culpable del problema bootsrap MITM .
-
He visto a la DNSSEC mencionada como un vector futuro para la inclusión voluntaria de tipo HSTS, pero nuevamente nunca vi propuestas para la exclusión voluntaria ...
Además, ¿hay navegadores (o extensiones) que ofrezcan esto como una opción?