广泛部署的技术

用户的第一道防线以及 Web 应用的隔离单元是同源策略,它大致限制了 Web 应用可以访问同一来源的内容和数据,这里的来源是指协议、域名和端口的组合。

由于这个策略提出较早,它在 Web 平台的某些部分并不严格,因此会通过跨站脚本或跨站请求伪造,将用户暴露给更大的攻击面。为了使 Web 应用编写者能够减少攻击面从而超出以往要求的效果,内容安全策略(Content Security Policy,CSP)提供了一些钩子,它们可以严重限制攻击者希望实现的损害。一个通过启用了 CSP 的通过安全隧道传输的应用可以确保用户能够接收的数据是其期望得到的数据。

为了进一步加强应用的完整性,Web 开发着可以利用的子资源完整性子资源完整性的机制,从而阻止中间人攻击或被攻击的第三方供应商。

混合内容规范有助于将 Web 默认迁移到安全状态,方法是设置明确的规则,以确定那些 HTTPs 不提供的内容在何时可以或不可以从 HTTPs 页面上加载。

在聚合来自多个(可能不受信任的)源的内容的应用中,HTML5 iframesandbox 属性可以限制第三方嵌入内容可以使用的交互类型。

通过WebCrypto密钥发现API访问预先配置的密钥,Web密码学API提供必要的工具来加密数据,以便在Web应用中进行存储和传输。

基于 FIDO 联盟的免密和多因素认证工作,Web认证标准化了 Web 的强认证技术,使用“你拥有的东西”(如身份验证器)、“你知道的东西”(如PIN码)和“你是谁”(如指纹)的任意组合,让黑客即使窃取密码数据库也不足以劫持用户帐户。

特性规范 / 小组成熟度现有实现
选择浏览器…
安全加强内容安全策略第二版 (Content Security Policy Level 2)
Web 应用安全工作组 (Web Application Security Working Group)
正式推荐标准
子资源完整性 (Subresource Integrity)
Web 应用安全工作组 (Web Application Security Working Group)
正式推荐标准
混合内容 (Mixed Content)
Web 应用安全工作组 (Web Application Security Working Group)
候选推荐标准
HTML标准中的iframe 元素的 sandbox 属性 (sandbox iframe attribute in HTML Standard)
Web 超文本应用技术工作小组 (WHATWG)
持续更新标准
加密WebCrypto密钥发现 (WebCrypto Key Discovery)
Web Cryptography Working Group
工作组备忘 - informative
Web密码学API (Web Cryptography API)
Web Cryptography Working Group
正式推荐标准
认证Web Authentication:An API for accessing Public Key Credentials Level 1
Web认证工作组 (Web Authentication Working Group)
正式推荐标准

开发中的技术

许多敏感的 API,比如移动设备传感器的 API,需要通过用户许可才能使用;当这些请求给予用户控制权时,由于关于授予或拒绝哪个权限并不可见,他们有时难以集成到整体的用户体验中。权限API旨在解决这个问题。

为了方便用户对在线服务的认证,Web应用安全工作组提出了信任证管理 API,使开发人员能够与用户代理管理的凭证更加无缝地交互。

安全上下文建议 Web 平台的强大特性(包括访问敏感数据或私有数据的应用程序代码)只能在安全上下文中通过经过身份验证和加密的渠道传输,以此保证数据的完整性。草案指出:“安全地交付代码不能确保应用程序总是能够满足用户的安全和隐私要求,但这是一个必要的先决条件。”

已经具有大量内容的网站在将这些内容从 HTTP 迁移到 HTTPs 是一个很艰巨的任务。升级不安全请求规范指示浏览器通过 HTTPs 加载这些资源来帮助迁移。

Referrer Policy 可帮助 Web 开发者控制 Referer HTTP header 中包含的信息,或者是否发送该 header。

用户界面安全性和可见性 API 文档建议通过确保图形渲染级别的元素可见性来消除点击劫持。例如,一个开发者部署它可以确保用户点击他们的网站的“支付”按钮不被欺骗,而不会把他们的银行余额转移给冒名顶替者。

随着更强大的特性不断地暴露在应用中,站点作者需要更加细化地控制应用中启用/禁用的特性,以及应用可以嵌入(在 iframe 中)的自己或第三方的内容,以增强安全性。特性策略定义了一种选择性地启用和禁用各种浏览器特性和API的机制(Feature-Policy HTTP头和 iframe 元素的 allow 属性)。开发者还可以使用该策略对客户端或嵌入者的某些特性和 API 的使用(或缺乏)作出承诺。

特性规范 / 小组成熟度现有实现
选择浏览器…
权限权限API (Permissions)
Web 应用安全工作组 (Web Application Security Working Group)
工作草案
身份管理信任证管理API第一版 (Credential Management Level 1)
Web 应用安全工作组 (Web Application Security Working Group)
工作草案
安全上下文安全上下文 (Secure Contexts)
Web 应用安全工作组 (Web Application Security Working Group)
候选推荐标准
采用 HTTPs升级不安全请求 (Upgrade Insecure Requests)
Web 应用安全工作组 (Web Application Security Working Group)
候选推荐标准
Referrer PolicyReferrer Policy
Web 应用安全工作组 (Web Application Security Working Group)
候选推荐标准
沙盒用户界面安全性和可见性 API (User Interface Security and the Visibility API)
Web 应用安全工作组 (Web Application Security Working Group)
工作草案
特性策略特性策略 (Feature Policy)
Web 应用安全工作组 (Web Application Security Working Group)
工作草案

探索性工作

跨站脚本(XSS)是Web上的主要攻击方式之一。可信任类型允许应用锁定基于 DOM 的 XSS 注入接收器(例如,Element.innerHTMLLocation.href 设置器),以仅接受不可欺骗的、含有类型的值来代替字符串。

不同的API使用不同的机制来授予使用或访问潜在强大功能的权限。为了简化与权限相关的代码的设计,请求权限放弃权限两个标准提议扩展权限API,以提供一个统一的方法请求和撤销权限。

特性规范 / 小组实现意向
选择浏览器…
安全加强可信任类型 (Trusted Types)
Web 平台孵化社区组 (Web Platform Incubator Community Group)
权限请求权限 (Requesting Permissions)
Web 平台孵化社区组 (Web Platform Incubator Community Group)
放弃权限 (Relinquishing Permissions)
Web 平台孵化社区组 (Web Platform Incubator Community Group)

不再进行的工作

HTTP请求过滤
入口监管规范提供了另一个加强安全的层面。它定义了一种机制来过滤可以从外部站点发起的 HTTP 请求的类型,降低了跨站点脚本和跨站点请求伪造的风险。这个规范的工作暂时停止了。
追踪偏好表达
对于希望表明其偏好不被跨 Web 应用和站点追踪的用户,追踪偏好表达(Tracking Preference Expression,也被称为Do No Track)使浏览器能够明确地向内容提供者传达用户的愿望,并使服务器能够传达他们自己的跟踪行为 ,请求同意并存储用户授予的例外。并非所有内容提供商都尊重用户的偏好,并且缺乏这些扩展的部署导致了追踪保护工作组停止对该规范的工作。
访问基于硬件的安全服务
基于硬件的安全服务旨在通过为Web提供硬件安全服务来提高用户和应用程序提供商能够保护其在线帐户和通信的保证级别。成立一个工作组的提议由于缺乏实现支持而被放弃。