App Shield:你的服务器不该信任调用它的 App
来源:dev.to — 2026-08-14 — 5 min
📋 概述
Codename One(用单一 Java/Kotlin 代码库构建原生 iOS/Android/桌面/Web 应用的开源框架)发布企业级应用认证层 App Shield。核心观点:任何只在手机上运行的安全检查都能被该手机打补丁绕过,App Shield 把最终决策移到服务器——通过 Apple App Attest 或 Google Play Integrity 取硬件背书声明,经 Codename One 服务验证后给应用一个短期 ES256 token,后端在执行敏感操作前验证该 token。nonce 防止平台声明被永久重放,token 绑定预期包名/平台/策略/请求体,并可携带 root、越狱、hook、模拟器等信号。
🔑 核心要点
- 任何只在手机上跑的安全检查都能在该手机上被打补丁绕过。
- App Shield 用 Apple App Attest / Google Play Integrity 取硬件背书声明,经服务验证后发短期 ES256 token。
- 被篡改的 App 能让 isDeviceCompromised() 返回 false,但无法铸造服务器信任的签名 token。
- nonce 阻止平台声明成为永久重放凭证,token 绑定包名/平台/策略/请求体。
- 后端才是最终执行点:客户端报告所见,服务评估认证与策略,API 决定是否放行资金/数据/提权。
💡 金句
本地检查不是安全边界——被修改的 App 能让 isDeviceCompromised() 返回 false,却无法铸造一枚你服务器信任的签名 token。
👍 0
👎 0
← 返回 dev.to 首页