Новые Web API в Firefox будут доступны только для HTTPS
Компания Mozilla объявила о применении принципа защищённого контекста (Secure Context) к новым Web-технологиям, которые будут появляться в будущих выпусках Firefox. Secure Context подразумевает, что ряд возможностей для web-разработки станет доступен только при открытии с использованием защищённого соединения. По мнению разработчиков, данная тактика позволит ускорить повсеместный переход сайтов на HTTPS, а в случае доступа по HTTP усложнит проведение атак, которые могут привести к утечке персональных данных или получению низкоуровневого доступа к оборудованию.
По возможности все новшества теперь будут привязываться к HTTPS, в том числе новые CSS-свойства, расширения существующих объектов JavaScript, новые HTTP-заголовки и новые Web API (например, WebVR). Привязка к HTTPS также может быть обеспечена и для уже присутствующих возможностей, доступ к которым по HTTP сопряжён с угрозами для безопасности и приватности. При этом предусмотрен ряд исключений, которые могут быть приняты если возможность уже доступна в других браузерах без привязки к Secure Context или если применение ограничений приводит к чрезмерной сложности в реализации. Например, новое CSS-свойство color, вероятно останется доступно для HTTP.
В настоящее время только для HTTPS доступны такие API, как Geolocation, Service workers и Storage, так как использование данных API по незашифрованным каналам связи повышает риски, связанные с безопасностью и приватностью. На этапе рассмотрения находится перевод в Secure Context функций Encrypted Media Extensions и Web Crypto API. Уже утверждён перевод в Secure Context интерфейсов Generic sensor API, Credential Management Level 1 и Web NFC API.
Контекст будет признаваться безопасным в случае локального доступа (через http://localhost или file://) или обращения по HTTPS, при условии, что все элементы страницы загружаются по HTTPS (если часть контента получена через HTTP, то будет применено ограничение). Для определения доступности тех или иных возможностей при обращении по HTTP предлагается использовать CSS-правило @supports, которое рекомендуется как более предпочтительный вариант, чем API self.isSecureContext. Для упрощения перехода на Secure Context и обеспечения локального тестирования без HTTPS будет предоставлен специальный инструментарий.
© OpenNet