Approov 数据处理与全球隐私合规
确保移动应用程序的运行时 API 完整性与全球隐私工程标准
概述
Approov 是一个全面的移动应用程序安全平台,可保护移动应用及其后端 API 免受未经授权的访问、API 滥用和恶意攻击。
本文解释了 Approov 服务如何处理数据,特别关注主要全球隐私法规(包括 GDPR、CCPA/CPRA、中国《个人信息保护法》(PIPL) 和巴西《通用数据保护法》(LGPD))所定义的个人数据 (PD)、个人信息 (PI) 和个人身份信息 (PII)。
Approov 围绕数据最小化原则设计,仅收集建立应用信任所必需的信息,同时最大程度地降低隐私和合规风险。
服务架构
标准的 Approov 部署包含三个主要组件:

- Approov SDK:嵌入在移动应用程序中,用于验证运行时环境的完整性,并证明该应用程序是真实、未被篡改的版本。SDK 收集运行时测量数据和应用签名,并将其安全地发送到 Approov 云服务。如果应用通过验证,云端会返回一个已签名的 JSON Web Token (JWT),应用将在随后的 API 请求中附带该 Token。
- Approov 云服务:验证从 SDK 接收到的证明数据,并确定该应用是否可信。其职责包括:
- 验证应用程序的真实性
- 生成已签名的证明 Token
- 生成综合安全指标
- 维护运营与工程日志
- 跟踪唯一的应用安装,以用于许可和使用量统计
- 受保护的 API:后端 API 负责验证每个请求中附带的 Approov Token。包含有效且正确签名的 Token 请求将被正常处理;缺少或无效 Token 的请求则可根据应用的安全策略予以拒绝。
数据传输与保护
绝大多数通信发生于 Approov SDK 和 Approov Cloud Service 之间。所有通信均通过带有动态证书绑定(Dynamic Certificate Pinning)的传输层安全协议(TLS)进行保护,以防止中间人(MITM)攻击并确保端点的真实性。
传输的数据分为两大类:
- 应用完整性测量数据:包括与应用包结构、应用签名证书、代码完整性和运行时环境相关的密码学签名及完整性测量值。这些数据允许 Approov 确定应用是否已被修改或篡改。
- 运行时威胁指标:Approov 评估与已知运行时威胁相关的指标,包括设备是否越狱/Root、系统文件修改、运行时 Hook 框架、恶意内存操作以及调试或检测工具。在可能的情况下,这些值会表示为简单的通过/失败指标或密码学签名,而非原始设备信息。
核心标识符与隐私工程
安装 ID(Install ID)
Approov 维护一个匿名化的 Install ID,用于区分来自同一应用安装的重复证明请求。
- Install ID 由操作系统标识符衍生而来,并在 Approov SDK 访问之前进行了匿名化处理,确保其无法合理地关联到某个可识别的个人。
- Approov 不会将 Install ID 用于:用户画像、行为分析、广告推送、跨应用跟踪或跨服务关联。
- 由于该标识符已被匿名化且从未与用户账户绑定,即使在极不可能发生的未经授权泄露事件中,其价值也微乎其微。
IP 地址处理
IP 地址是互联网通信不可避免的组成部分,也是标准网络路由所必需的。Approov 采用隐私优先的方法来处理 IP 地址:
- 默认匿名化:IP 地址在记录日志前均会被匿名化,确保存储的数据无法用于还原原始 IP。这使 Approov 工程师能够在 Approov 账户持有人提出请求时核实特定 IP 引用,同时不会暴露实际 IP 地址。其计算公式为:$\text{AnonymizedIP} = \text{HMAC}(\text{Secret}, \text{Date}, \text{IP address})$
- 代理部署选项:具有严格监管或数据驻留要求的组织可以通过中间代理来路由 SDK 流量,在请求到达 Approov 云服务之前剥离或匿名化客户端 IP 地址。
全球隐私法规适配
|
法规 |
Approov 数据处理方式 |
| GDPR (欧盟/英国) | 技术标识符在可能的情况下均经过匿名化处理。在需要进行数据处理的情况下,基于网络安全和基础设施保护的“合法利益”(第 6(1)(f) 条)法律依据进行。 |
| CCPA / CPRA (加利福尼亚州) | 技术标识符无法合理识别特定个人或家庭,因此通常不属于“个人信息”的定义范畴。 |
| PIPL (中国) | 技术测量旨在避免直接或间接识别自然人,符合 PIPL 的数据最小化原则。 |
| LGPD (巴西) | Approov 技术标识符的匿名性和不可归因性,使其收集的数据通常处于受监管个人数据的范围之外。 |
| PDPA (新加坡、泰国、马来西亚等) 及其他法律 | 适用相同的 Privacy-by-Design(隐私设计)原则。Install ID 经过匿名化,仅用于应用安全和证明,不用于识别个人、画像或跨应用跟踪。 |
开发者隐私控制
- Token "pay" Claim:应用程序可以包含
payClaim,将 Approov Token 与已验证身份的用户绑定。在传输到 Approov 云服务之前,该值会自动通过 SHA-256 哈希算法进行转换。因此,Approov 绝不会接收到原始标识符或任何个人身份信息。 - 特定应用的安全字符串(App-Specific Secure Strings):Approov 允许应用程序直接在设备上安全存储应用密钥或密码学材料。这些安全字符串在存储时保持加密,绝不会离开设备,也绝不会传输至 Approov 云服务或由其管理。
- 自定义 JWT Claims:开发者可以为特定的授权需求配置自定义 JWT Claims。Approov 在生成 Token 期间处理并签名这些 Claims,但不会将其内容持久化存储在运营日志、分析系统或指标数据库中。