这篇起源于一连串自己问自己的问题:浏览器要我授权录音、定位、摄像头,到底意味着什么? App 给了"使用期间"权限,是不是后台就再偷不到东西?为什么我嘴里刚念叨过的小众词,第二天三家电商一起推? 微信号称"加密",是真的安全吗?逐个拆开来看,比想象中清楚得多。
一、先把三个权限亲手试一遍
浏览器对麦克风、摄像头、定位的处理跟手机系统是同一套逻辑:必须用户主动点"允许",授权一次记住整域,激活时有可见指示。 理论说一千次不如自己点一次 —— 我做了个独立测试页,三类权限的弹窗、授权、撤销流程全在里面,不上传任何数据:
🧪 浏览器权限测试
麦克风录 10 秒、摄像头拍一张、定位精度到米。全部本地处理,无上传无日志。
测完会发现一件事:授权之后浏览器记住整域,下次再访问,直接放行不再弹窗。 这是为了 UX 流畅,但也意味着一次同意就是长期同意。想撤销得手动去地址栏锁图标 → 网站设置 → 重置。
二、App 给了"使用期间"权限,后台真能一直听我说话吗
严格说:不能。iOS 和 Android 都把"使用期间"定义为"App 真在前台"。你切到别的 App、按 Home、锁屏的瞬间,麦克风/摄像头/定位三个传感器对该 App 立即断开。但有几个灰色边界值得记清楚:
| 状态 | 算"使用中"吗 |
|---|---|
| App 在屏幕上,你在操作 | ✅ 算 |
| 切到桌面、压到后台 | ❌ 不算,权限即刻失效 |
| 锁屏 | ❌ 不算 |
| 正在用微信打语音/视频电话(即使切走) | ✅ 算(VoIP API 允许后台继续) |
| "摇一摇 / 扫一扫 / 录视频"界面打开 | ✅ 算 |
| App 在后台同步消息 | ❌ 不算(这是网络流量,不碰传感器) |
怎么亲眼验证
- iPhone:麦克风激活时右上角强制亮 橙点,摄像头亮 绿点,iOS 14 起不可隐藏
- iOS 15+:设置 → 隐私与安全 → App 隐私报告 → 7 天内每个 App 访问麦/摄/定位的精确时间戳
- 安卓 12+:状态栏顶部小指示点
- 国产 ROM(MIUI / 鸿蒙 / ColorOS):设置 → 隐私 → 权限使用记录,颗粒度能到秒
打开 iOS 隐私报告看一周记录,会发现微信在你不用它的时候,麦/摄那两栏基本是空的 —— 系统层面挡得很硬。
一个容易被忽略的坑:精确位置
iOS 的"使用期间"还有个细分:精确位置开 / 关。 关掉之后只给约 5 公里精度的模糊位置 —— 够外卖配送,不够追踪你家。建议大多数 App 都关掉精确位置。
三、那为什么我刚说完一个小众词,全平台都推了
这个体验几乎每个智能手机用户都有。下意识的解释是"手机在偷听我",但根据现有的安全研究证据,真相比窃听更让人后背凉 —— 他们根本不需要听,光靠数据交叉就能猜中你。
大规模窃听几乎不可能
- 美国东北大学 2018 年扫描 17,000+ Android App,未发现任何后台偷传音频的实例(Pan et al.)
- iOS 14 / Android 12 起,麦克风激活有强制状态栏指示,无法隐藏
- 持续上传音频会留下显著的电量、流量、CPU 痕迹,技术博主早就会扒
- 真存在的反例:Alphonso SDK(2017)偷开麦克风听电视广告里的超声水印 —— 单一案例,被曝光后整改
真正在发生的事
| 机制 | 怎么干的 |
|---|---|
| 跨 App SDK 共享 | 友盟、神策、个推、AppsFlyer 这些 SDK 装在几十万 App 里,A 里搜的,B 立刻知道 |
| 设备指纹 | IMEI / 安卓 ID / WiFi MAC / 字体列表 / 已装 App 列表 → 全网唯一标识 |
| 同 WiFi / 蓝牙 | 你和家人共网,算法把你们绑成一个画像,他搜的算你也搜过 |
| 位置画像 | 昨天去 Apple Store 站了 12 分钟 → 今天推 iPhone 配件 |
| 剪贴板读取 | TikTok、微信、输入法都被实锤过频繁读剪贴板 |
| 支付数据 | 银联/支付/电商数据脱敏外卖,品类级推荐立等可取 |
| 巴德-迈因霍夫效应 | 平台一天推 200 条,你只记住"刚说完就推"那一条 —— 频率错觉 |
国内大厂之间的"三连推"特别明显
- 京东 + 微信:腾讯持股京东,账号体系互通,广告 SDK 双向流通
- 淘宝 + 支付宝 + 高德 + 闲鱼:阿里全家桶共用一个 ID,跨 App 即时同步
- 字节系:抖音 / 头条 / 番茄 / 西瓜 / 飞书 内部数据互通
- 公共广告联盟:穿山甲、优量汇、百度联盟 —— 一个 App 里的搜索行为通过 RTB 竞价时所有广告主都能看到设备特征,跨 App 重定向是行业标配
想做对照实验
四、微信的"加密"到底加密了什么
这是最容易被话术绕过去的一段。微信普通文本聊天不是端到端加密。它用的是 TLS 传输加密 + 服务器静态加密,腾讯服务器握有密钥,能解开原文。
| 类型 | 加密在哪一段 | 服务器能看到原文吗 |
|---|---|---|
| TLS 传输加密(HTTPS 那种) | 客户端 → 服务器 路上 | ✅ 看得到 |
| 静态加密(At-rest) | 服务器硬盘上 | ✅ 解密后看得到 |
| 端到端加密(E2EE) | 客户端 ↔ 客户端 | ❌ 谁都看不到 |
微信用前两种,没有第三种。Signal / WhatsApp / iMessage / Telegram 私密聊天 用的是第三种。
不用看条款,看功能就拆穿
真 E2EE 的产品根本做不到下面这些:
- 换手机登录还能看到全部历史聊天 → 历史在服务器
- 聊天记录跨设备同步 → 服务器中转
- 警方调取后能拿到原文 → 多个司法案例佐证
- 群聊里发敏感词被秒过滤 → 服务器在扫描
- "看一看"根据聊天兴趣推荐 → 服务器读了内容
只要其中一条做得到,就一定没有 E2EE。WhatsApp 换手机如果不主动备份解密密钥,老消息全没了 —— 这才是真 E2EE 的代价。
微信哪部分是真 E2EE
只有 语音/视频通话(2016 年起官方公告说用了 E2EE)。文本聊天从来没声称过 E2EE。 《微信隐私保护指南》直接写:
"我们会出于安全和合规目的处理您的通讯内容。"
这句话在条款里就排除了 E2EE 的可能 —— "我们能处理",那就一定能看见。
"加密"话术的陷阱
中国大厂 App(微信、QQ、钉钉、飞书)说"我们对聊天进行了加密",99% 指的是传输加密 + 静态加密,刻意不说 E2EE 这个词。 以后看到"加密"两个字,问一句:"换手机能看到老消息吗?"如果能,就一定不是 E2EE。
五、真要 E2EE,国内有什么选择
- Signal —— 金标准,开源,元数据极少。国内需要 VPN
- Telegram 私密聊天(Secret Chat) —— 注意:默认普通聊天不是 E2EE,要手动新建"私密聊天"
- iMessage —— 苹果设备间默认 E2EE。但中国大陆区 iCloud 备份的密钥在云上贵州,受司法管辖;同时只在 Apple 生态闭环里
- WhatsApp —— Signal 协议,国内同样需要 VPN