Amazon Echo 是否“一直在监听”并将数据发送到云端?

物联网 亚马逊回声 隐私
2021-06-06 22:49:28

IntellihubCEPro等几个新闻来源似乎暗示亚马逊的 Echo 家庭助理会不断收听对话并通过互联网将它们发送到亚马逊的服务器。CEPro 指出:

通过说出亚马逊称之为“唤醒词”的关键短语,Echo 就会活跃起来并开始聆听命令。默认情况下,唤醒词是 Alexa。

如果您重读最后一句话,可能没有意义,尤其是在安全领域。据亚马逊称,Echo 只在听到唤醒词后才会监听命令。如果它没有在听,它怎么知道你什么时候说了唤醒词?

Intellihub 的文章表达了类似的观点:

“Amazon Echo”设备是一种持续收听的蓝牙扬声器,可以根据人的声音连接到 Pandora 和 Spotify 等音乐流媒体服务,很容易被 FBI 等政府机构入侵并使用它来监听对话。

(请注意,我不是特别集中在探索这个问题的黑客攻击方面,因为这很可能是太多的一个问题。我的主要焦点是永远在线的方面以及是否将数据发送所有的时间。)

这两篇文章似乎都不太热衷于披露其声明的来源,这对我来说,充其量是未经证实的,或者最坏的情况是点击诱饵。

Echo 是否总是记录数据并将数据发送到云端,还是上述说法没有根据?如果 Amazon Echo 不总是将数据发送到云中的服务器,它如何处理数据?

4个回答

是的,它一直在听。不,它并不总是发送到云端。

显然,设备必须始终监听以检测唤醒词。然而,这是通过一种叫做的技术来完成的。

  1. Amazon Echo 和 Echo Dot 如何识别唤醒词?

Amazon Echo 和 Echo Dot 使用设备上的关键字发现来检测唤醒词。当这些设备检测到唤醒词时,它们会将音频流式传输到 Cloud,包括唤醒词之前几分之一秒的音频。

回声常见问题

因此,根据亚马逊的说法,唤醒词检测在设备上。这可以通过禁止设备访问路由器中的 Internet 来轻松测试。Echo/Echo Dot 仍会识别唤醒词,但灯环会变红,并且设备会告诉您它没有互联网连接。因此,我们可以非常简单地验证,唤醒词识别确实是在本地完成的

只有在检测到唤醒词后,设备才会联系 Alexa 云服务。

根据亚马逊的说法,该设备仅在光环为蓝色时才流向云,当您将其静音并且光环呈纯红色时,它根本不听。当然,谨慎的人可以使用 Wireshark 等网络工具验证这一点,以确保它真的只在那时传输。

Echo 是否总是记录数据并将数据发送到云端,还是上述说法没有根据?

没有在发送。但是在录音中是的。

我目前正在为一家公司开发 Alexa 硬件客户端。设备一直在监听。但是您必须在其上安装唤醒词引擎,以便它从被动侦听模式“唤醒”并切换到主动“侦听命令”模式。

固件只会将唤醒词(切换到活动模式)之后的语句发送到云中,以将它们作为命令进行处理。

  • 就设备而言,您不希望将它获得的每条语句都发送到云中进行处理,因为这会消耗太多带宽和功率。
  • 就亚马逊而言,他们也不希望每个 Alexa 客户端都发送它听到的所有内容,因为这会占用大量带宽。此外,这会导致过多的不相关数据干扰系统的持续学习。想象一下,当班上的每个人都在同一时间讲话(不是命令的所有其他陈述)时,试图了解您的老师在说什么(有效的命令)。

如果 Amazon Echo 不总是将数据发送到云中的服务器,它如何处理数据?

在被动模式下,设备有一个内部唤醒词引擎,它一直监听唤醒词。当我在 Raspberry Pi 中测试 Alexa 时,为此我不得不放入 Sensory 或 KITT.AI 引擎。事实上,当我为我的 Linux 机器尝试原型 Alexa 客户端代码时,它必须是“一键通”,因为没有唤醒词引擎。

通过说出亚马逊称之为“唤醒词”的关键短语,Echo 就会活跃起来并开始聆听命令。默认情况下,唤醒词是 Alexa。

如果您重读最后一句话,可能没有意义,尤其是在安全领域。据亚马逊称,Echo 只在听到唤醒词后才会监听命令。如果它没有在听,它怎么知道你什么时候说了唤醒词?

Echo 会主动侦听关键字,并将关键字后说出的单词用于 NLU 处理。这是我对 echo 如何实现这一巧妙壮举的理解。

Echo 基于德州仪器 DM3725数字媒体处理器构建

这款 TI SoC 内部有两个关键部分,第一个是 ARM Cortex-A8 MPU,第二个是 TMS320DM64x+ DSP。ARM 内核应该运行 Linux,而 DSP 运行固件。

空闲时,ARM 内核会被置于尽可能低的功耗状态,而 Linux 则完全挂起。此时 DSP 和 64KB On-Chip RAM 处于活动状态。DSP 固件处理来自麦克风的噪音并尝试识别是否说出了关键字(例如,Alexa)。一旦识别出关键字,DSP 就会发送一个中断来唤醒 ARM 内核,从而恢复 Linux。但是,请记住,当 Linux 唤醒说 Alexa 会继续说话的人时(例如,“Alexa,现在几点了?”)。DSP 缓冲“现在几点了?” 片上 RAM 的一部分。当 Linux 恢复时,Linux 获取缓冲的语音并使用自然语言处理(部分本地,部分云)功能来理解人类所说的话。

正如您所看到的,该设计完全是为了最省电,并避免需要包括云来进行关键字检测和初始缓冲。事实上,将 ARM 内核保持在最低功耗状态可确保硅在空闲时发热最少,从而为您的设备带来更长的使用寿命。

由于问题如下,我没有讨论试图破解 echo 的问题:

唤醒词识别确实是在本地完成的。

是的。

例如,请参阅 新的 Amazon Echo 有多私密? (还有很多类似的东西可以用最少的努力找到)

与 Siri 一样,Amazon Echo 在“云”中运行,在 Amazon Web Services 上运行。因此,“理解”您的命令所需的处理不是在设备本身上处理的

然而,

毕竟它一直在听,所以我们不应该关心大哥吗?

不,亚马逊说。这家科技巨头表示,它不会在家里收听或录制私人谈话。如果有人担心,他们可以使用捆绑的遥控器按下静音按钮,这会关闭“始终聆听”设备,因此在您再次激活麦克风之前它将无法使用。