无线隐身:谁也扫描不到的签名设备
一个四处广播“这里有钱包”的无线电,会让离线签名设备(signer)的意义折损一半。所以,运行 AirNox Vault 的手机从不自报家门。

本页内容
无线电的问题
蓝牙让桌边的操作变得方便,也让手机变成了一个会“说话”的东西。一台用固定地址广播“Wallet”之类名字的设备,就是一台可以被发现、被识别、被日复一日跟踪,并被单独挑出来作为攻击目标的设备。扫描蓝牙设备只需要一部手机和一个免费应用。桌面电脑上的恶意软件(malware)也能做到。
我们想要便利,但不想要信标。设计分三部分:手机什么时候才会发射信号,发射时说些什么,以及谁能看懂它说的话。
不打开应用,就什么都不发射
只有当 AirNox Vault 处于打开、已解锁并在前台的状态时,手机才会广播。锁屏,它就静默。切到别的应用,它就静默。把它屏幕朝下放进抽屉,什么都不会发出去。没有任何后台服务在维持连接。

即使在广播时,它也使用低发射功率,覆盖范围就是一张桌子。这是对“谁能听到它”的刻意选择,而不是加密的替代品。
它“说话”时说什么
有三点让这些广播对陌生人毫无用处。
它不带设备名。空中没有任何信号写着 AirNox、钱包,或别的什么。
它使用由系统每次重新生成的随机蓝牙地址。没有固定地址可以记下来,明天再来找。
另外,它广播的服务标识符是计算出来的,而不是固定的。它由手机与你的桌面端之间的配对(pairing)关系和当前时间窗口推导而来,所以每隔几分钟就会变一次,只有持有这份配对的桌面端才能算出当前值。对其他所有人来说,它只是一个看似随机的数字,而且过不了多久就会变成另一个看似随机的数字。

扫描工具看到什么
隔壁房间的扫描工具看到的,是一个没有名字的随机地址,带着一个看似随机的标识符。几分钟后,它看到的是另一个地址和另一个标识符。两者之间没有任何关联。没有任何迹象能把这台设备标记为钱包,而不是其他众多使用蓝牙的无名设备之一。也没有任何东西值得记下来,留待下次。
桌面上的恶意软件看到什么
我们假定已被感染的那台桌面电脑,也看不到更多。上面的恶意软件没有名字可搜,没有固定地址可记,在你把应用切到前台之前,什么也找不到。钱包软件之所以认得这部手机,是因为配对时它在场。即使恶意软件偷走了钱包软件的配置,也仍然得等你在附近打开应用,然后还要面对会话这一关,下一篇文章会讲到。
为什么找到手机也没用
假设攻击者真的在你使用时发现了这部手机。光是找到它,什么也得不到。每个请求依然会出现在手机屏幕上,从待签名的字节中解码,由你阅读后决定是否按下 Accept(接受)。无线电承载的是加密流量,跑在配对时就已认证过的会话里。离得够近能听到,不等于能加入进来。
隐身是第一层。它的任务是确保大多数时候根本没有可以攻击的东西;即便有,看起来也平平无奇。