当我们使用来自不受信任的制造商的手机硬件并使用 Signal 和 Telegram 等端到端加密通信时,我们的安全性如何?我们的对话真的不受键盘记录器或间谍软件的影响吗?什么是安全沟通的最佳选择?
在不受信任的电话硬件上使用 Signal 或 Telegram 真的安全吗?
简短的回答是,如果硬件受到损害,那么您可以读取的任何内容都可以读取。
不,该设备可以看到您可以看到的任何内容,因此如果它受到损害,使用加密不会专门保护您免受这种情况的影响。
当你使用加密时,它是这样的:
- 你在电话里打字或说些什么。
- 这通过手机的固件/操作系统将你触摸屏幕、按下按钮等变成一些键码、字符、屏幕坐标等应用程序可以使用。
- 然后将其发送到您正在使用的应用程序。
- 然后,此应用程序对数据进行加密。
- 然后将此数据发送回手机的固件,以通过网络发送。
- 魔术发生在网络上。
- 另一台设备的固件接收到它,并且步骤 1 到 5 在该侧反向发生。
第 2 步将是明显的弱点,因为手机可以看到它,但没有加密,因为应用程序甚至还不知道数据。同样,在接收数据时,它也不会被加密,因为它是您实际听到或看到的。这通常是键盘记录器所在的位置。
保护自己免受硬件入侵的唯一方法是在数据到达硬件之前对其进行加密(将加密的数据输入设备,这将需要大量的努力才能做到正确,或者可能使用可发送加密数据,这基本上是您通常使用加密来保护自己免受受损互联网的方式)或者只是不使用该硬件。
您必须在链中的某个地方建立某种程度的信任。没有直接的方法可以找出后门可能在哪里。在 android 设备中,您可能会信任操作系统,因为它的内核源代码,但驱动程序和固件是专有的。如果这些在受损状态下被刷新,它会给攻击者与内核相同级别的特权。
如果 OEM 似乎受到信任,那么芯片制造商可以采取恶意行为,例如安装嵌入式硬件调试器,该调试器可以监听嵌入式电缆,可以托管服务器并使用 NIC 访问互联网。芯片制造商还可以在引导 SoC 并充当信任根的主引导加载程序中安装后门。从那里开始,安全启动流程可能会受到操作系统的影响。
每个 SoC 都带有可信执行环境 (TEE),它可以不受限制地访问主机操作系统。受损的 TEE 可以为攻击者解密它应该保护的任何秘密。它保护 Signal 消息存储、应用程序密码、生物特征数据等加密密钥。由于它在主机操作系统之外运行,它可以在任何应用程序中安装调试器以侦听内存中的应用程序数据。
这些后门是隐蔽的,主机操作系统不知道,但如果它们不够隐蔽,它们可能会被捕获。
如果手机遭到入侵,攻击者甚至可能劫持加密通信,例如 Telegram、Signal、WhatsApp 等。这本身与手机的生产地、销售地和制造商无关。尽管供应商本身以故意破坏的状态(即带有已知的后门)运送他们的手机并非不可能,但这种广泛注册的后门很可能或多或少地很快被检测到。因此,电话以后更有可能由于系统中的错误而受到危害,即更有针对性的危害。