安全与局限
初衷就是想在 Windows 上也有 Mac 那样用 Apple Watch 无感解锁的体验,所以找到了原项目继续开发。它的安全性比不上 Apple 官方的自动解锁,只建议在可信的环境下使用。
局限
- 读不到手表是否戴着、是否解锁。 实测四种状态下,手表的蓝牙广播内容完全相同。所以手表没戴,或者被别人拿着走近,同样可能触发解锁。
- 防不了广播重放和中继。 判断只依据手表身份(IRK)和信号强度(RSSI),安全性不如 Apple 官方的 Auto Unlock。
- RSSI 不等于距离。 墙体、人体遮挡和手表朝向都会影响信号,偶尔会误判离开或返回。
- 关闭无感解锁,也不能确认是本人在操作。 手表在近处时,别人动一下键鼠同样会解锁。
- 不支持远程桌面会话;安装包没有代码签名。
已实测(Windows 11 Pro + Apple Watch):一键绑定,走远返回解锁(约 0.17 秒),无感解锁关闭时等待键鼠操作,原地锁屏不解锁。
未实测:同时绑定两块手表,休眠或蓝牙故障后的恢复,切换用户。
密钥与安全
账户密码、每块手表的 IRK、Bark 密钥分别用 Windows DPAPI 按当前账户加密,保存在 %LOCALAPPDATA%\WatchUnlockWindows\,目录只有你和 SYSTEM 能访问。其他账户读不到这些文件,硬盘被拆走后,没有你的账户密码也解不开。
密码必须能还原,因为登录时要把真实密码交给 Windows 校验。后台只在以下条件都满足时才交出密码:
- 请求来自同一会话里的系统登录界面(SYSTEM
LogonUI); - 后台自身运行在只有管理员可写的
Program Files目录。
绑定手表时,程序以管理员权限一次性读取 Windows 保存的这块手表的 IRK,并用实时广播验证;IRK 不会出现在命令行、日志或界面里。
这套保护能防住其他账户和离线读取,防不了已经以你的身份运行的恶意程序。
使用前请注意
- 为什么走远了没有锁屏? 本程序只负责解锁,不负责锁屏。想走开后自动锁屏,请按自动锁屏(Windows 动态锁)打开 Windows 自带的动态锁,它可以和本程序一起用。
- 其他蓝牙设备能不能用? 手机等能直接在 Windows 蓝牙设置里配对的设备,配对后可以在“Windows 已配对设备”里直接绑定,不需要「开始配对」,iPhone 已验证可以绑定。其他设备尚未验证,请自行测试。
