En casi todas las versiones de Chrome, vemos una cantidad significativa de actualizaciones y mejoras en el producto, su rendimiento y también en las capacidades de la plataforma web. En este artículo, se describen las bajas y las eliminaciones de Chrome 56, que está en versión beta desde el 8 de diciembre. Esta lista está sujeta a cambios en cualquier momento.
Se quitó la compatibilidad con los certificados SHA-1.
El algoritmo de hash criptográfico SHA-1 mostró signos de debilidad hace más de once años y investigaciones recientes apuntan a la posibilidad inminente de ataques que podrían afectar directamente la integridad de la infraestructura de clave pública (PKI) web.
Para proteger a los usuarios de estos ataques, Chrome ya no admite certificados SHA-1 a partir de la versión 56, cuya versión estable se lanzó en enero de 2017. Si visitas un sitio con un certificado de este tipo, se mostrará una advertencia intersticial. Proporcionamos más detalles en el Blog de seguridad de Chrome.
Intent to Remove | Chromestatus Tracker | Chromium Bug
Se quitaron los algoritmos de cifrado ECDSA en modo CBC en TLS
La construcción del modo CBC de TLS es defectuosa, lo que la hace frágil y muy difícil de implementar de forma segura. Aunque los algoritmos de cifrado en modo CBC aún se usan ampliamente con RSA, prácticamente no existen con ECDSA. Otros navegadores aún admiten estos algoritmos de cifrado, por lo que creemos que el riesgo es bajo. Además, pocas organizaciones usan ECDSA en TLS y, por lo general, con una configuración más compleja (algunos clientes más antiguos solo admiten RSA), por lo que esperamos que los sitios de ECDSA tengan un mejor mantenimiento y sean más responsivos en caso de problemas.
TLS 1.2 agregó nuevos algoritmos de cifrado basados en AEAD, lo que evita estos problemas, específicamente AES_128_GCM, AES_256_GCM o CHACHA20_POLY1305. Si bien, por el momento, solo lo exigimos para los sitios basados en ECDSA, se recomienda para todos los administradores. Los algoritmos de cifrado basados en AEAD no solo mejoran la seguridad, sino también el rendimiento. AES-GCM tiene compatibilidad con hardware en CPUs recientes, y ChaCha20-Poly1305 admite implementaciones de software rápidas. Mientras tanto, los algoritmos de cifrado CBC requieren mitigaciones complejas lentas y acceso a PRNG en cada registro saliente. Los algoritmos de cifrado basados en AEAD también son un requisito previo para las optimizaciones de HTTP/2 y False Start.
Intent to Remove | Chromestatus Tracker | Chromium Bug
Quita los gestos del usuario del desplazamiento táctil
Vimos varios ejemplos de anuncios mal escritos o maliciosos que activan la navegación para el desplazamiento táctil en touchstart
o en todos los eventos touchend
. Si un evento de "rueda" no puede abrir una ventana emergente, el desplazamiento táctil tampoco debería hacerlo. Esto puede interrumpir algunas situaciones, por ejemplo, que el contenido multimedia no se reproduzca cuando se lo toca o que las ventanas emergentes no se abran cuando se las toca. Safari ya no abre ventanas emergentes en silencio en todas estas situaciones.
Intent to Remove | Chromestatus Tracker | Chromium Bug
No permitir todas las recuperaciones de secuencias de comandos con atributos de tipo o idioma no válidos
Actualmente, el escáner de carga previa de Chrome recupera elementos en elementos <scripts>
, independientemente del valor del atributo type
o language
, aunque la secuencia de comandos no se ejecutará cuando se analice. Si damos de baja la recuperación, el escáner de carga previa y el analizador tendrán la misma semántica, y no iniciaremos recuperaciones para secuencias de comandos que no usaremos. El objetivo es guardar datos para los usuarios que navegan a sitios con muchas etiquetas de secuencia de comandos personalizadas que se procesan posteriormente (como type="text/template"
, por ejemplo).
La API de sendBeacon abarca de forma adecuada el caso de uso de usar secuencias de comandos no válidas para hacer ping a servidores.
Este cambio alinea Chrome con Safari, aunque Firefox aún solicita secuencias de comandos sin importar el tipo o el idioma.
Intent to Remove | Chromestatus Tracker | Chromium Bug
Se quitó MediaStreamTrack.getSources().
Este método ya no forma parte de la especificación y ningún otro navegador importante lo admite. Se reemplazó por MediaDevices.enumerateDevices()
, que Blink admite sin marcas desde la versión 47 y que también es compatible con otros navegadores. A continuación, se muestra un ejemplo de esto. Esta función hipotética getCameras()
primero usa la detección de componentes para encontrar y usar enumerateDevices()
. Si la detección de componentes falla, busca getSources()
en MediaStreamTrack
. Por último, si no hay compatibilidad con la API de ningún tipo, muestra el array cameras
vacío.
function getCameras(camerasCallback) {
var cameras = [];
if('enumerateDevices' in navigator.mediaDevices) {
navigator.mediaDevices.enumerateDevices()
.then(function(sources) {
return sources.filter(function(source) {
return source.kind == 'videoinput'
});
})
.then(function(sources) {
sources.forEach(function(source) {
if(source.label.indexOf('facing back') >= 0) {
// move front facing to the front.
cameras.unshift(source);
}
else {
cameras.push(source);
}
});
camerasCallback(cameras);
});
}
else if('getSources' in MediaStreamTrack) {
MediaStreamTrack.getSources(function(sources) {
for(var i = 0; i < sources.length; i++) {
var source = sources[i];
if(source.kind === 'video') {
if(source.facing === 'environment') {
// cameras facing the environment are pushed to the front of the page
cameras.unshift(source);
}
else {
cameras.push(source);
}
}
}
camerasCallback(cameras);
});
}
else {
// We can't pick the correct camera because the API doesn't support it.
camerasCallback(cameras);
}
};
Intent to Remove | Chromestatus Tracker | Chromium Bug
Se quitó la directiva CSP reflected-xss.
Los primeros borradores de la especificación del nivel 2 de la política de seguridad del contenido contenían una directiva reflected-xss
que no ofrecía nada más que el encabezado X-XSS-Protection
, además de una sintaxis diferente. Esta directiva se quitó de la especificación en 2015, pero no antes de implementarse en Chrome.
Se quitará la compatibilidad con esta directiva.
Intent to Remove | Chromestatus Tracker | Chromium Bug
Reemplaza la directiva "referrer" de la CSP
La directiva referrer
de CSP permitía a los propietarios de sitios establecer una política de URL de referencia desde un encabezado HTTP. Esta función no solo tiene un uso muy bajo, sino que ya no forma parte de ninguna especificación del W3C.
Los sitios que aún necesiten esta funcionalidad deben usar <meta name="referrer">
o el nuevo encabezado Referrer-Policy.
Intent to Remove | Chromestatus Tracker | Chromium Bug
Se quitó el campo PaymentAddress.careOf.
La interfaz PaymentAddress
tiene un campo careOf
que no es estándar (no es compatible con ningún estándar de dirección conocido). El campo careOf
tampoco es necesario, ya que los campos de destinatario y organización admiten todos los casos de uso necesarios. La adición de careOf
plantea problemas significativos en términos de interoperabilidad con los esquemas y las APIs de direcciones postales existentes. Para obtener una discusión más completa, lee la propuesta de eliminación de especificaciones en GitHub.
Intent to Remove | Error de Chromium
Se quitó SVGViewElement.viewTarget
El atributo SVGViewElement.viewTarget
no forma parte de la especificación SVG2.0 y su uso es pequeño o inexistente. Este atributo dejó de estar disponible en Chrome 54 y ahora se quitó.