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 una investigación reciente señala 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 todavía se usan ampliamente con RSA, prácticamente no existen con ECDSA. Creemos que otros navegadores admiten estos cifrados, pero 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 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 requerimos 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 cifrados basados en AEAD también son un requisito previo para las optimizaciones de HTTP/2 y de inicio falso.
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 de forma silenciosa en todas estas situaciones.
Intent para quitar | Seguimiento de Chromestatus | Error de Chromium
No permitir todas las recuperaciones de secuencias de comandos con atributos de tipo o idioma no válidos
Actualmente, el escáner de precarga de Chrome recupera elementos de los elementos <scripts>
, independientemente del valor de los atributos 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).
El caso de uso de usar secuencias de comandos no válidas para hacer ping a los servidores está cubierto de forma adecuada por la API de sendBeacon.
Este cambio alinea Chrome con Safari, aunque Firefox aún solicita secuencias de comandos sin importar el tipo o el idioma.
Intent para quitar | Seguimiento de Chromestatus | Error de Chromium
Quita 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 funciones 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 para quitar | Seguimiento de Chromestatus | Error de Chromium
Reemplaza la directiva "referrer" de la CSP
La directiva referrer
de la 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 necesitan esta función deben usar <meta name="referrer">
o el nuevo encabezado de Política de referencia.
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 un análisis más completo, consulta 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 se quitó.