Firefox Syncde的安全功能介绍
什么是Firefox Sync,为什么要使用它?
一直在使用Firefox的用户,其中一个比较重要的原因是习惯了它的书签同步功能,不过在新版的Firefox,有些用户会发现原来习惯的书签同步功能竟然被取消了,这是怎么回事?原来用的火狐通行证即将停止服务,新版本的Firefix更是直接去除了这个功能,取而代之是Firefox Sync服务,而两者之间是没办法直接互通的。所以,首先得在原来的设备上升级新版Firefox,然后断开火狐通行证,登录到新版内置的“同步”,然后在别的设备上再使用同一账号登录到“同步”就可以实现多设备间自动同步书签等信息了。
这里特别要注意一点的是,登录到同步时,有“全球服务”和“本地服务”之分,服务器是不同的,一定要在各设备上都选择同一种服务。
Firefox Sync允许用户在不同设备之间共享书签、浏览历史记录、密码和其他浏览器数据,并将标签从一个设备发送到另一个设备。用户可以使用这一项功能,来优化他们的与网络的互动。
但是在互联网上,与网络供应商共享数据是常态,我们认为加强Firefox Sync的隐私管理非常重要。
默认情况下,Firefox会同步保护所有同步数据,所以Mozilla无法读取它。开发人员以这种方式构建了Sync,就是为了将用户的隐私放在首位。在这篇文章中,我们将详细介绍Firefox Sync的开发商所做的一些技术设计及背后的原因。
在构建浏览器并实现同步服务时,我们认为重要的是要考虑一下所谓的“TCO (Total Cost of Ownership ) 设备总拥有成本”。Total Cost of Ownership是由华硕提出的一个新的概念,是由购买成本,操作成本,维护成本三方面构成,旨在通过多角度,深层次解释、剖析为什么华硕智能主板拥有着超高性价比。放在本文,就是指用户从同步服务的功能中获得的多还是失去的多。
我们相信,只要开发者通过做出正确的选择来保护用户的隐私,则用户才能觉得使用绍Firefox Sync是个超值的事。当用户注册成Firefox Sync用户并选择强密码时,用户的数据既不受攻击者的攻击,也不受Mozilla管理者的监控,此时用户可以毫无顾虑的尝试同步。
为什么Firefox Sync是安全的?
加密后Firefox Sync会对用户的数据进行保护,这样在没有加密密钥的情况下完全不可读。经过分析,Firefox Sync背后的加密算法很强大,已经过数十年的测试,世界上每个政府都使用它来保护其最有价值的信息。
众所周知,加密的难点在于密钥,用了什么密钥加密,它来自哪里,存储在哪里,以及它如何在不同地方之间移动?许多云提供商声称他们会对用户的数据进行加密。虽然他们确实这样做了,但他们加密的意义不但,只是一个表面的保护措施,不能保护数据免受威胁。
加密密钥是最基本的保障元素,同步服务提供商绝不能监控它,即使是暂时的,也绝不可以。当用户登录Firefox帐户时,输入用户名和密码,这些用户名和密码将发送到后台服务器。也许你会有疑问,既然这些信息都返回后台了,那如何保证提供商不监控你的加密密钥呢?这就要看,服务商是如何处理用户的密码了。
互联网服务的典型登录流程是将用户的用户名和密码发送到服务器,在服务器上对其进行哈希处理,将其与存储的哈希进行比较,如果正确,服务器将允许用户登录,哈希是指将密码转换为无法读取的不可读字符串的活动。
Firefox帐户和Firefox Sync的不同之处在于,用户永远不会向Firefox Sync的服务器发送他们的密码。Firefox Sync的开发者会将向用户计算机上的密码转换为两个不同的、不相关的值。只使用其中一个值,是无法生成用户密码的。登录服务器会将身份验证令牌(源自用户的密码)作为密码等效项发送到服务器,从密码中提取的加密密钥永远不会进入后台。
具体的技术细节是这样的:开发人员使用PBKDF2算法1000 rounds将用户的密码导出到身份验证令牌1中。在服务器上,我们另外使用scrypt(参数N = 65536,r = 8,p = 1)2对此令牌进行哈希,以确保用户的身份验证令牌数据库更难以被破解。
此后,开发人员使用相同的PBKDF2算法1000 rounds将用户的密码导出到加密密钥中。通过使用具有单独信息值的HKDF,可以将用户的身份验证令牌进行域分离。研发人员会使用此密钥来解包加密密钥(用户在安装过程中生成并且服务商从未看到过解包的加密密钥),并且该加密密钥可以用于保护用户的数据。开发人员使用密钥在CBC模式下使用AES-256加密用户的数据,并使用HMAC3进行保护。
虽然这种加密设计是可靠的,但是需要更新常量,比如改进一下PBKDF2算法1000 rounds,具体过程请点此。此令牌仅通过HTTPS连接发送(带有预加载的HPKP pin),并且不会被存储。因此当研发人员一开始开发此令牌时,就需要权衡它们是否支持低功耗、配置较低的设备。为此,AES-CBC + HMAC是个比较理想的选择,未来,开发人员可将其升级到一个经过身份验证的模式。
Firefox Sync的其他安全保护方法
以上讲得并不是构建Firefox Sync功能的唯一方法,至少还有三个其他选择:
方法一:与浏览器制造商共享用户的数据
通过这种方式,浏览器制造商能够读取用户的数据,并使用它们来为用户提供服务。例如,当用户在Chrome中同步浏览器历史记录时,除非用户更改了默认设置,否则它将自动进入用户的网络和应用活动。正如Google Chrome Help中所述,“用户的活动可能会用于用户在其他Google产品上的个性化体验,例如搜索或广告服务。例如,用户可能会根据Chrome历史记录在Feed中看到推荐的新闻报道。
方法二:使用单独的密码进行登录和加密
什么是Firefox Sync,为什么要使用它?
一直在使用Firefox的用户,其中一个比较重要的原因是习惯了它的书签同步功能,不过在新版的Firefox,有些用户会发现原来习惯的书签同步功能竟然被取消了,这是怎么回事?原来用的火狐通行证即将停止服务,新版本的Firefix更是直接去除了这个功能,取而代之是Firefox Sync服务,而两者之间是没办法直接互通的。所以,首先得在原来的设备上升级新版Firefox,然后断开火狐通行证,登录到新版内置的“同步”,然后在别的设备上再使用同一账号登录到“同步”就可以实现多设备间自动同步书签等信息了。
这里特别要注意一点的是,登录到同步时,有“全球服务”和“本地服务”之分,服务器是不同的,一定要在各设备上都选择同一种服务。
Firefox Sync允许用户在不同设备之间共享书签、浏览历史记录、密码和其他浏览器数据,并将标签从一个设备发送到另一个设备。用户可以使用这一项功能,来优化他们的与网络的互动。
但是在互联网上,与网络供应商共享数据是常态,我们认为加强Firefox Sync的隐私管理非常重要。
默认情况下,Firefox会同步保护所有同步数据,所以Mozilla无法读取它。开发人员以这种方式构建了Sync,就是为了将用户的隐私放在首位。在这篇文章中,我们将详细介绍Firefox Sync的开发商所做的一些技术设计及背后的原因。 无奈人生安全网
在构建浏览器并实现同步服务时,我们认为重要的是要考虑一下所谓的“TCO (Total Cost of Ownership ) 设备总拥有成本”。Total Cost of Ownership是由华硕提出的一个新的概念,是由购买成本,操作成本,维护成本三方面构成,旨在通过多角度,深层次解释、剖析为什么华硕智能主板拥有着超高性价比。放在本文,就是指用户从同步服务的功能中获得的多还是失去的多。
我们相信,只要开发者通过做出正确的选择来保护用户的隐私,则用户才能觉得使用绍Firefox Sync是个超值的事。当用户注册成Firefox Sync用户并选择强密码时,用户的数据既不受攻击者的攻击,也不受Mozilla管理者的监控,此时用户可以毫无顾虑的尝试同步。
为什么Firefox Sync是安全的?
加密后Firefox Sync会对用户的数据进行保护,这样在没有加密密钥的情况下完全不可读。经过分析,Firefox Sync背后的加密算法很强大,已经过数十年的测试,世界上每个政府都使用它来保护其最有价值的信息。
众所周知,加密的难点在于密钥,用了什么密钥加密,它来自哪里,存储在哪里,以及它如何在不同地方之间移动?许多云提供商声称他们会对用户的数据进行加密。虽然他们确实这样做了,但他们加密的意义不但,只是一个表面的保护措施,不能保护数据免受威胁。
本文来自无奈人生安全网
加密密钥是最基本的保障元素,同步服务提供商绝不能监控它,即使是暂时的,也绝不可以。当用户登录Firefox帐户时,输入用户名和密码,这些用户名和密码将发送到后台服务器。也许你会有疑问,既然这些信息都返回后台了,那如何保证提供商不监控你的加密密钥呢?这就要看,服务商是如何处理用户的密码了。
互联网服务的典型登录流程是将用户的用户名和密码发送到服务器,在服务器上对其进行哈希处理,将其与存储的哈希进行比较,如果正确,服务器将允许用户登录,哈希是指将密码转换为无法读取的不可读字符串的活动。
Firefox帐户和Firefox Sync的不同之处在于,用户永远不会向Firefox Sync的服务器发送他们的密码。Firefox Sync的开发者会将向用户计算机上的密码转换为两个不同的、不相关的值。只使用其中一个值,是无法生成用户密码的。登录服务器会将身份验证令牌(源自用户的密码)作为密码等效项发送到服务器,从密码中提取的加密密钥永远不会进入后台。
copyright 无奈人生
具体的技术细节是这样的:开发人员使用PBKDF2算法1000 rounds将用户的密码导出到身份验证令牌1中。在服务器上,我们另外使用scrypt(参数N = 65536,r = 8,p = 1)2对此令牌进行哈希,以确保用户的身份验证令牌数据库更难以被破解。
此后,开发人员使用相同的PBKDF2算法1000 rounds将用户的密码导出到加密密钥中。通过使用具有单独信息值的HKDF,可以将用户的身份验证令牌进行域分离。研发人员会使用此密钥来解包加密密钥(用户在安装过程中生成并且服务商从未看到过解包的加密密钥),并且该加密密钥可以用于保护用户的数据。开发人员使用密钥在CBC模式下使用AES-256加密用户的数据,并使用HMAC3进行保护。
虽然这种加密设计是可靠的,但是需要更新常量,比如改进一下PBKDF2算法1000 rounds,具体过程请点此。此令牌仅通过HTTPS连接发送(带有预加载的HPKP pin),并且不会被存储。因此当研发人员一开始开发此令牌时,就需要权衡它们是否支持低功耗、配置较低的设备。为此,AES-CBC + HMAC是个比较理想的选择,未来,开发人员可将其升级到一个经过身份验证的模式。
Firefox Sync的其他安全保护方法
以上讲得并不是构建Firefox Sync功能的唯一方法,至少还有三个其他选择:
方法一:与浏览器制造商共享用户的数据 无奈人生安全网
通过这种方式,浏览器制造商能够读取用户的数据,并使用它们来为用户提供服务。例如,当用户在Chrome中同步浏览器历史记录时,除非用户更改了默认设置,否则它将自动进入用户的网络和应用活动。正如Google Chrome Help中所述,“用户的活动可能会用于用户在其他Google产品上的个性化体验,例如搜索或广告服务。例如,用户可能会根据Chrome历史记录在Feed中看到推荐的新闻报道。
方法二:使用单独的密码进行登录和加密