端到端加密有什么问题

还有他们做对了什么

我们将深入研究他们做了什么,从可用性到他们所做的加密选择,但如果你没有耐心,这里有一些快速的要点:

善的总结

令人鼓舞的是,Ring已经决定将端到端加密作为一项功能,而且在他们的设计中没有明显的缺陷(尽管有一些有问题的选择)。

坏的总结

Ring并不是真的希望您使用这个特性。他们把它从旗舰产品中拖了出来,让它难以实现,让你牺牲了关键的功能。

细节

当Ring宣布他们的端到端加密技术终于普及时,当他们发布了一个白皮书执行概要详细说明它是如何工作的。

从“Ring_Encryption_Whitepaper.pdf”

不幸的是,尽管媒体宣布了它的可用性,并在其白皮书中承诺2021年1月11日,但截至1月25日,我们仍然无法开启该功能。

Ring的应用程序将于2021年1月25日发布——上面写着“技术预览”和“即将推出”。

在Ring应用中启用端到端加密的页面上仍然写着“即将到来”。

虽然这很令人失望,但我们仍然可以通过查看他们的白皮书和应用目前的用户体验来评估他们在做什么。

用户体验

对于用户体验,我们马上注意到的第一件事是,除非你已经知道在哪里查看,否则Ring会努力防止你在这些设置上出错。

进入设备设置和帐户设置是无用的。相反,您必须转到最后一个菜单项“控制中心”,才能开始您的旅程。在那里,你点击“视频加密”,里面有一些虚假的“设置”试图说服你,你的数据已经足够加密。这些设置具有误导性,因为它们提供的加密是最低限度的,而且根本没有解决隐私问题。

在“视频加密”,你必须先点击“先进”,然后在唯一的选择,”端到端加密,“目前带你到一个页面告诉你回来以后,但我想象未来会有一些安装向导开始移动设备注册过程。

端到端加密既不是默认开启的,也不是新用户会提示的内容。这是为了让他们告诉市场他们有端到端加密技术。它并不容易被采纳。

支持的设备和特性

通过限制所支持的设备和功能,Ring进一步使其难以使用。让我们从设备开始。

如果你关注门铃线路,你会立即注意到他们的7个设备中只有2个被支持.更令人惊讶的是,这两款支持的设备分别来自2016年和2017年。在2020年发布的三款门铃相机中,没有一个支持。这让我更惊讶,因为应用内的新闻和通知强调了安全功能,这是“视频门铃3”和“视频门铃3 Plus”的卖点。他们的“高级”门铃产品具有“先进的安全功能”,不支持端到端加密。

这是非常令人失望的

在功能方面,它没有变得更好。你失去的一些功能意义重大,比如失去了分享视频链接供他人观看的功能,以及与其他用户分享你的账户的功能。

我可以想出几种方法安全地重新添加这些功能(例如,用带外共享的密码加密视频密钥)。不过,如果你想要私人视频,这些功能可能并不重要。此外,Ring还可以让你将视频下载到你的设备上,所以使用端到端加密的用户也可以在需要的时候分享视频,只是不是通过Ring。

还有一个受支持的客户端问题。亚马逊Echo Show、FireTV、FireTablet以及它们的Mac和Windows原生桌面应用程序不支持端到端加密。事实上,只支持iOS和Android设备。但我们在这方面也没有抱怨太多,因为你总得从某个地方开始。

最重要的功能损失是计算机视觉分析功能,特别是运动验证和仅限人模式。10bet娱乐71966 澳门永利在他们添加这些功能之前,我们在门铃上关闭了运动检测,因为在一天的特定时间,经过的汽车捕捉到阳光会反复触发运动传感器。

我能理解这里的问题,因为他们在他们的服务器上运行视频分析,没有访问视频内容,他们的服务器无法提供意见。不过,这仍然是一个相当令人失望的结果。

我还发现了另一个很奇怪的限制,那就是每次只有一台设备可以观看直播视频。戒指并不能解释为什么这是一种限制。从表面上看,无论有多少设备想要查看当前的直播流键,共享它都应该是很简单的事情。如果没有这个功能,如果有人按门铃,我和妻子从不同的房间看手机看谁来了,只有一个人能看到视频,而另一个人会出错。

引擎盖下是如何工作的

白皮书和执行摘要都做了一些示意,并使方案,通常是非常简单的,很难理解没有重读部分。或者那是我的经验。以下是他们正在做的事情的重述,应该会让情况更加清晰。

的钥匙

目前有两种类型的设备,Ring设备和移动电话。你要做的第一件事就是注册一个初始移动设备。当你这样做的时候,它会在本地生成三个公钥/私钥对:

  • 帐户签名密钥对(RSA 2048bit)
  • 帐户数据密钥对(RSA 2048bit)
  • 实例密钥对(ECC 256bit P256)

老实说,这些名字并不能让人直观地理解它们在做什么。Account Signing密钥对的主要目的是对公钥进行签名,以便Ring设备知道可以对给定的公钥进行加密。在初始设置时,帐户签名密钥对在将实例和帐户数据公钥发送到Ring之前对它们进行签名。

实例密钥对可能更好地称为移动设备密钥对,因为私钥存储在手机的安全enclave中,永远不会离开设备。

帐户数据密钥对可能被更好地称为解密备份密钥对,因为它的目的是允许新注册的移动设备解密旧视频。

稍后我们将讨论这些私钥会发生什么,但为了进一步发展我们对该方案的直觉,让我们继续讨论当Ring设备生成加密视讯流时会发生什么。

加密视频流

对于一个特定的Ring设备,比如门铃摄像头,有一个开启端到端加密的设置过程。下面的解释。一旦它被设置,无论何时它开始录制视频,它首先生成一个随机的AES 128密钥,然后使用AES GCM加密视讯流。(他们没有解释这里是如何使用GCM的,所以我们不知道多久才能检测到完整性问题。)

这个新记录的AES密钥本身加密到每个登记的移动设备的公钥(每个实例密钥)和备份密钥(帐户数据密钥)。这些是送去林保管的。注册设备需要这个加密的AES密钥来解密视频流。Ring不能解密这些密钥,这就是为什么他们不能访问端到端加密视频流,他们存储在您的代表。

注册新的环设备

ring_encryption_白皮书。pdf图显示注册新的Ring设备

你不能只打开端到端加密,就指望它对你所有的设备都适用。一旦你注册了最初的手机,你必须为每一个支持它的Ring设备分别打开它,以及你愿意在哪里做Ring要求的隐私/功能的权衡。如果你有多个移动设备(配偶、平板电脑等),你也需要注册这些设备。

注册到端到端的Ring设备获得自己的密钥对,用于对加密的对称密钥进行签名。Ring没有指定密钥对的类型,也没有指定签名如何与两种不同的密钥类型(椭圆曲线和RSA)进行互操作,但我们假设这是以某种合理的方式工作的。

这个想法是在注册的移动设备和Ring设备之间建立一个直接的Wi-Fi连接,以交换签名密钥。通过这种方式,Ring设备知道用户的公共签名密钥,并可以验证将来从Ring服务接收到的其他公钥。

据推测,移动设备也能够存储Ring设备的公钥,以便它可以验证加密密钥的签名,但这并没有说明,也不清楚是否发生了此类签名验证。

共享私钥/注册新手机

这类系统最棘手的部分是处理手机丢失和新设备的情况。Ring似乎忽略了丢失手机的部分情节——关键的撤销部分——在他们的白皮书中,我怀疑在他们的设计和实现中也是如此。但他们研究了关键的恢复和新的设备方案。

在设置初始设备并在本地生成三个密钥对之后,Ring应用程序会从7776个单词的字典中随机生成一个10个单词的密码短语。这个密码短语将呈现给用户,用户必须在某个地方(比如密码管理器)捕获它。该密码将被要求登记任何未来的设备和解密之前加密的视频。

这个密码短语与盐混合,然后用来生成从它派生的密钥。这将使用两种不同的盐进行两次操作,以从密码短语派生出两种不同的密钥。然后假定密码由用户保存,然后应用程序将其丢弃。

这两个生成的密钥用于加密每个帐户密钥—一个加密帐户签名私钥,另一个加密帐户数据私钥。这些加密的私钥会被发送到Ring的服务器。

到目前为止,一切顺利。在这一点上,拥有密码短语的人可以注册一个新的移动设备,使用帐户签名私钥签署他们的实例公钥,并使用帐户数据私钥解密之前加密的视频。

但出于某种原因,Ring做出了一些奇怪的选择。

等等,他们在加密到签名密钥上吗?

首先,用于保护帐户签名私钥的密码短语派生的密钥被加密为每个实例公钥,以便现有设备可以在不需要密码短语的情况下访问帐户签名私钥。Ring很可能持有密钥,因此他们可以在需要时扣留它,以防止被盗设备获得账户签名私钥——假设他们提供了一种方法,在未来发布的版本中标记被盗设备。

其次,用于保护帐户数据私钥的口令派生密钥也被加密并存储在Ring中,但是这个密钥没有加密到每个设备上的实例密钥。相反,它被加密到公共账户签名密钥。

我看不出这种设计选择的理由。

使用签名密钥进行加密通常是一种不好的做法,但更重要的是,它使访问Account Data密钥的过程变成一个奇怪的多步骤过程。

考虑这里的用例:每当查看在注册当前移动设备之前创建的视频时,都需要Account Data键。帐号签名密钥仅在注册一个新的Ring设备或一个新的移动设备时需要。但是他们所做的是使移动设备必须访问帐户签名私钥来解密帐户数据密钥。他们违背了最佳实践.当然,对每个实例密钥加密帐户数据私钥也不会像对签名密钥那样困难。服务器仍然可以访问大门。那么为什么要加密到签名密钥呢?

也许Ring的某个人会在评论中告诉我们我们在这里错过了什么。

最终的想法

我很高兴Ring为他们的客户带来了端到端加密。这是他们迈出的重要一步,也为其他联网相机行业树立了标杆.我相信他们会继续树立标杆,希望他们能够发展和完善这一功能。

随着游戏的发展,我希望能够在以下几个关键领域找到解决方法:

  1. 为目前正在销售的所有Ring设备提供端到端加密支持。
  2. 不要埋没这个功能,也不要让人们一个设备一个设备地使用它。让这成为客户的首选。
  3. 开发撤销故事,允许用户在设备丢失、被盗或其他情况下撤销对设备的访问权。当你这么做的时候,添加一个有意义的关键旋转故事,因为看起来并没有
  4. 将工程努力应用于减少加密数据运动检测中的误报问题。我们现在有很多有趣的工具可以用来解决这个问题。我希望Ring投资这一领域,这样他们的客户就不必在可用产品和隐私之间做出选择。
  5. 重新考虑如何保护和共享帐户数据私钥。

如果任何来自Ring的人读到这篇文章,您可能会考虑使用代理重新加密来管理设备,在用户之间共享访问,并管理各种密钥、旋转和撤销。这会解决很多问题。我们也有一些想法,你可能会带一些形式的智能运动检测,并很乐意与你一起分享。

附言——下面的评论中有一些额外的想法。

咸的散列

关于构建安全的提示、技巧、指针和透视图…

多亏了鲍勃墙

写的

学者,梦想家,创造者,冒险家,黑客,领导者和观察者。提倡隐私和安全。首席执行官IronCore实验室。

咸的散列

关于构建安全、可测试、可维护的应用程序的提示、技巧、指针和观点。来自IronCore实验室的关于安全和隐私的想法和观察。

写的

学者,梦想家,创造者,冒险家,黑客,领导者和观察者。提倡隐私和安全。首席执行官IronCore实验室。

咸的散列

关于构建安全、可测试、可维护的应用程序的提示、技巧、指针和观点。来自IronCore实验室的关于安全和隐私的想法和观察。

媒介是一个开放的平台,1.7亿读者可以在这里找到深刻和动态的思考。在这里,专家和未被发现的声音同样会深入任何话题的核心,并带来新的想法。了解更多

关注与你有关的作家、出版物和主题,你会在你的主页和收件箱中看到它们。探索

如果你有故事要讲,有知识要分享,有观点要提供,欢迎回家。发布你对任何话题的想法都是很容易和免费的。开一个博客

获取媒体应用程序

有一个“在App Store上下载”的按钮,点击它就会引导你进入iOS App Store
一个按钮,上面写着“Get it on,谷歌Play”,如果点击它,你就会进入谷歌Play商店