Почти в каждой версии Chrome мы видим значительное количество обновлений и улучшений продукта, его производительности, а также возможностей веб-платформы. В этой статье описаны устаревания и удаления в Chrome 56, бета-версия которого доступна с 8 декабря. Этот список может быть изменен в любое время.
Удалить поддержку сертификатов SHA-1.
Криптографический алгоритм хеширования SHA-1 впервые продемонстрировал признаки слабости более одиннадцати лет назад, и недавние исследования указывают на неизбежную возможность атак, которые могут напрямую повлиять на целостность веб-инфраструктуры открытых ключей (PKI).
Чтобы защитить пользователей от таких атак, Chrome больше не поддерживает сертификаты SHA-1, начиная с Chrome 56, стабильный выпуск которого запланирован на январь 2017 года. Посещение сайта с использованием такого сертификата приводит к появлению межстраничного предупреждения. Более подробную информацию мы предоставляем в блоге Chrome Security Blog .
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Удаление шифров ECDSA в режиме CBC в TLS
Конструкция режима CBC TLS имеет недостатки, что делает ее хрупкой и очень сложной для безопасной реализации. Хотя шифры в режиме CBC по-прежнему широко используются в RSA, в ECDSA они практически отсутствуют. Другие браузеры по-прежнему поддерживают эти шифры, поэтому мы считаем, что риск невелик. Кроме того, ECDSA в TLS используется немногими организациями и обычно имеет более сложную настройку (некоторые старые клиенты поддерживают только RSA), поэтому мы ожидаем, что сайты ECDSA будут лучше обслуживаться и более оперативно реагировать в случае возникновения проблем.
В TLS 1.2 добавлены новые шифры на основе AEAD , позволяющие избежать этих проблем, в частности AES_128_GCM, AES_256_GCM или CHACHA20_POLY1305. Хотя в настоящее время мы требуем это только для сайтов на основе ECDSA, это рекомендуется для всех администраторов. Шифры на основе AEAD не только повышают безопасность, но и производительность. AES-GCM имеет аппаратную поддержку на последних процессорах, а ChaCha20-Poly1305 допускает быструю программную реализацию. Между тем, шифры CBC требуют медленных сложных мер по смягчению последствий и доступа к PRNG для каждой исходящей записи. Шифры на основе AEAD также являются обязательным условием для оптимизации HTTP/2 и ложного запуска.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Удалить пользовательские жесты из сенсорной прокрутки
Мы видели множество примеров плохо написанных или вредоносных объявлений, которые запускали навигацию для сенсорной прокрутки либо при touchstart
, либо при всех событиях touchend
. Если событие «колесо» не может открыть всплывающее окно, то и сенсорная прокрутка тоже не должна. Это может привести к поломке некоторых сценариев, например медиафайлов, которые не воспроизводятся при касании или всплывающих окон, которые не открываются при касании. Safari уже молча не может открыть всплывающие окна во всех этих сценариях.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Запретить все выборки для скриптов с недопустимыми атрибутами типа/языка.
В настоящее время сканер предварительной загрузки Chrome извлекает элементы в элементах <scripts>
независимо от значения атрибута type
или language
, хотя скрипт не будет выполнен при анализе. При отмене выборки сканер предварительной загрузки и анализатор будут иметь одинаковую семантику, и мы не будем инициировать выборку для скриптов, которые не будем использовать. Это предназначено для сохранения данных для пользователей, которые переходят на сайты с множеством пользовательских тегов скриптов, которые подвергаются постобработке (например, type="text/template"
).
Вариант использования недопустимых скриптов для проверки связи с серверами адекватно описан в API sendBeacon .
Это изменение выравнивает Chrome с Safari, хотя Firefox по-прежнему запрашивает сценарии независимо от их типа и языка.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Удалить MediaStreamTrack.getSources()
Этот метод больше не является частью спецификации и не поддерживается ни одним другим крупным браузером. Он был заменен MediaDevices.enumerateDevices()
, который Blink поддерживает без флагов с версии 47 и который также поддерживается другими браузерами. Пример этого показан ниже. Эта гипотетическая функция getCameras()
сначала использует обнаружение функций для поиска и использования enumerateDevices()
. Если обнаружение функции не удалось, выполняется поиск getSources()
в MediaStreamTrack
. Наконец, если нет какой-либо поддержки API, верните пустой массив cameras
.
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);
}
};
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Удалить директиву CSP отраженного-xss
Ранние проекты спецификации Content Security Policy Level 2 содержали директиву reflected-xss
, которая предлагала не что иное, как заголовок X-XSS-Protection
кроме другого синтаксиса. Эта директива была удалена из спецификации в 2015 году, но не раньше, чем она была реализована в Chrome. Поддержка этой директивы сейчас удалена.
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Заменить директиву реферера CSP
Директива referrer
CSP позволяла владельцам сайтов устанавливать политику реферера из заголовка HTTP. Эта функция не только используется очень редко , но и больше не является частью какой-либо спецификации W3C.
Сайты, которым по-прежнему нужна эта функция, должны использовать <meta name="referrer">
или новый заголовок Referrer-Policy .
Намерение удалить | Трекер Chromestatus | Ошибка хрома
Удалить поле PaymentAddress.careOf
Интерфейс PaymentAddress
имеет нестандартное поле careOf
(его не поддерживают никакие известные стандарты адресов). Поле careOf
также не является необходимым, поля получателя и организации достаточно поддерживают все необходимые варианты использования. Добавление careOf
создает серьезные проблемы с точки зрения совместимости с существующими схемами почтовых адресов и API. Для более подробного обсуждения прочитайте предложение по удалению спецификации на GitHub.
Намерение удалить | Ошибка хрома
Удалить SVGViewElement.viewTarget
Атрибут SVGViewElement.viewTarget
не является частью спецификации SVG2.0, и его использование невелико или вообще отсутствует. Этот атрибут устарел в Chrome 54 и теперь удален.