请选择 进入手机版 | 继续访问电脑版
Mozilla

火狐社区

登录    注册

用新浪微博连接 QQ互联

Containers功能开放测试

yingliu Mozilla员工 发表于 2017-3-28 15:45:38 | 显示全部楼层 [复制链接]
4 2048
本帖最后由 yingliu 于 2017-3-28 15:54 编辑

detail23d86503.jpg
Firefox Nightly 提供 Containers (容器/身份)功能,让用户把不同浏览环境的 cookies、indexedDB、localStorage 和缓存隔离起来,进而在数据流间建立起屏障。如果您对 Containers 的发展史和技术感兴趣的话,欢迎阅读这篇文章,文中简要说明了部署于 Nightly 的原因。

虽然这项功能已在关注 Nightly 的社区间广受好评,但仍有一些关于用户体验的问题未解决,需要进一步的研究和讨论。

Mozilla 已经利用很多用户调查和用户体验(UX)的开发循环来改良 Containers UI。在此很高兴地宣布,Mozilla 已通过 Firefox「Test Pilot」项目发布 Containers 的测试功能,希望能借此扩大使用社区、推动 UI 的循环开发,并探讨 Containers 功能的未来发展。
dbc23c60.png

通往测试之路
上述提到有关 Containers 的文章中,曾讨论过管理 Web 上不同环境身份(contextual identity)的复杂性。由于不同的浏览环境,用户可能会希望以不同的方式来呈现自己,如:在网上浏览社区平台和寻找健康问题的信息时,或许就该有不同的身份。

在界定浏览环境的分界线方面,现在的浏览器做得还不够好。Mozilla 从用户调查中发现,Firefox 用户需要混用各式各样不同的工具,如隐私浏览功能、多种不同的用户设置或不同的浏览器,才能管理和维持其在线浏览环境的分界。Mozilla 展开 Containers 的实验,就是想要提供一个工具,让大家探究在网页上建立独立环境的做法。

Containers 技术的一大难题是,现在各家浏览器所提出的 UI 与 UX 差别很大,而这将对日后能否提供广泛支持构成一些挑战。是不是每个人都能使用?UI是否设计得宜?Containers 功能的安全性和隐私性能否符合用户的期待?

利用让测试者边做边说(think aloud)的方式来进行 Nightly Containers 的用户调查。对于想要解决的许多问题,Mozilla 初步得到了「大概」的解答。譬如,在安全威胁的源头方面,大部分用户更在乎周围的人(如多管闲事的室友或老板),而比较不担心安全工程专家所带来的危害。Mozilla 还发现,有些测试者完全忽略了隐私保障的特点,而把 Containers 当成是将浏览环境分门别类的好工具。收集到这些想法后,Mozilla 认为 Test Pilot 是理想的下一步,因为这样才能让更多受众接触到 Containers,并且进一步了解用户对此功能的看法。

Firefox「Test Pilot」是用来测试 Firefox 实验中的新功能的专属平台,它让 Mozilla 的开发者们从参与实验者的身上收集量化和质化的反馈。您可以点此进一步了解「Test Pilot」进行的程序和目标。通过 Containers 的实验,开发者们希望能回答以下的问题:
  • 安全模型对 Test Pilot 的用户来说够清楚吗?他们是否了解此功能?
  • 此功能有用吗?若有用,有多少人使用?有哪些使用的方法特别有意思?
  • 测试者使用了哪些种类的 container?是否设计出自定义的 container?
  • 有了 container 后,用户是否仍会打开不同的浏览器来执行某些特定的任务?

Test Pilot 的测试功能和 Nightly 的 Containers 有何差别?
就像其它 Test Pilot 项目所进行的实验一样,Mozilla 已为 Containers 设置好上线的流程,帮助未曾使用过的人熟悉测试。除了和 Test Pilot 各实验项目相同的上线流程以外,还特地为 Containers 实验多加了几个步骤,使对 UI 不熟悉的人更快上手。
tour1.jpg

基于用户针对任务管理提出的意见,Test Pilot 在 Containers 实验中纳入了 Nightly 版本在内容组织和能见度方面的一些改良功能。「Container 管理」成为工具栏中的一个按钮,以便用户隐藏、重新命名、分类或删除 Container。此外,为了让信息更容易被发现和管理,用户现在只要把光标停留在新标签页上,就能新增 Container 标签页。

在后台端,Containers 的测试会将 Telemetry 资料回传给 Test Pilot,帮助开发者们更了解 Containers 的用户体验。就像 Test Pilot 项目的其它实验一样,用户还可以通过评分和调查问卷的方式,针对其使用体验提出反馈。

到这里,已经大致说明了推出 Containers 的原因和想法。不过,因为这是 Hacks 文章,也该聊聊部署的方式。如所有的 Test Pilot 实验功能,Containers 会以 Test Pilot 附加组件的形式来推出。

Containers 需要有特殊的 Firefox 预设,因此,要先从 Embedded WebExtension 开始,同步使用 SDK 预设服务WebExtension pageAction。在开发阶段中,开发者们发现来不及把提供底层技术支持的 Contextual Identities API 纳入此次实验。

为了适应这个问题,开发者们曾尝试过把低阶的服务打包成一个 WebExtension 的实验,然而,WebExtension 实验只能在 Nightly 和 Aurora 上进行。因为Test Pilot 项目锁定的是各种不同来源的用户,所以开发者们决定改用其他方案。也是因为如此,您今天在 Test Pilot 上看到的 Containers 实验才会是 SDK 和 WebExtension 代码的混合平台。

Containers 的安全模式是什么?
Nightly 和 Test Pilot 部署了同样的 Container 安全加强功能,也同样采用了对于浏览器「同源策略」(Same Origin Policy,SOP)的修订。

SOP 是至关重要的浏览器安全机制,可确保不同来源的文件和数据间彼此相互隔绝,使一个网站的内容不被另一(可能是恶意的)网站所读取或篡改。

Containers 的作法则是在定义来源的一般元组 (scheme, host, port) 中,又多加了点元素—— userContextId 的整数(integer),使一个来源为(userContextId, scheme, host, port)。例如,当用户在「Work」的 container 标签页中登录 Gmail,浏览器便会针对 (2, https, mail.google.com, 443) 执行 SOP 验证。当同一用户在「Personal」的 container 标签页中登入 Gmail 时,浏览器则针对 (1, https, mail.google.com,443) 进行 SOP 验证。

Containers 能把不同环境的 cookies、localStorage、indexedDB 和缓存数据彼此隔离,也和 Firefox 的「Default」container 标签页有所分隔。因此,当用户在「Work」标签页里使用 email,浏览器就只会设定「Work」标签页中的 cookies。当用户在「Personal」标签页中访问 email 网站,由于其 cookies 的来源并不相符,因此用户便会被「注销」。

因为 containers 间不会共享 cookies,所以,就算黑客利用 cookies 攻击了一个 container,也无法连带攻击储存在另一 container 中的 cookies。同理,cookies 的追踪功能也仅限于个别单一的 container,而无法追踪用户所有的浏览行为。

只要在来源检查中加入更多密钥,许多隐私和安全机制便可落实。因此,Gecko 已为来源增加名为 OriginAttributes 的属性。除了用在 Containers 以外,这种作法也有助于部署从隐私浏览模式甲方隔离(First Party Isolation)、乃至于[url=]子来源(Suborigins)标准[/url]等功能和特性。

那么,下一步是什么?
Mozilla 的开发者们先从旁观察。当用户陆续加入此 Test Pilot 实验后,他们一定会发现系统的错误,并对功能提出不同的需求。那时最首要的工作是排错和确认各新功能概念的优先级。此外,开发者们会在 Test Pilot 的项目阶段中,持续通过 Containers 实验发布新版本。同时,也将会监测参与测试者的调查结果,以及 Telemetry 的反馈,以进一步验证实验的可行性并规划新功能特点的优先级。

另外,开发者们在平台层级也在推动着一系列的工作,以便更清楚分隔出不同 Containers 的浏览纪录书签TLS 证书安全性例外状况的数据,而这些项目都各有其 UX、UI 和平台层级的挑战。

长此以往,Mozilla 终将决定 Containers 是否要正式纳入 Firefox 浏览器中。或许在 Test Pilot 项目中所打造的功能特点将大受欢迎,但或许会重新来过,又或许将底层的 API 连上 WebExtensions 可推动与 OriginAttributes 相关的附加组件的开发。无论如何,通过 Test Pilot 项目发布 Containers,都是重要的一步,这样才能有凭有据地规划 Containers 的未来。Mozilla 邀请您现在就加入测试,一同创造未来!


译自原文
作者:JohnGruen, Jonathan Kingston, Luke Crouch, Tanvi Vyas

隐元 老狐狸
发表于 2017-3-28 20:27:42 | 显示全部楼层
最注重保护用户安全的mozilla研发不断!
310971373 狐狸精
发表于 2017-3-29 09:33:11 | 显示全部楼层
Web安全很重要 !
Keats 社区新人
发表于 2017-4-4 06:46:21 | 显示全部楼层


已经用上了
枯井在地 小狐狸
发表于 2017-5-19 14:08:14 | 显示全部楼层
登录京东帐号发现会顶掉其他的,没以前的Multifox好用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发新帖
论坛更多 »
火狐微信
快速回复 返回顶部 返回列表