一个你的后端可以验证的判定结果。
Attest 把平台完整性信号与 Moatgator 自有检测结合起来,返回一个签名的判定结果。你的后端验证签名并决定是否继续。
- 基于 Play Integrity 与 App Attest 信号
- 签名判定结果,由你这一侧验证
- 在敏感操作执行之前作出决定
Attest 带来什么
01
真实的应用
确认正在运行的应用就是你发布的那个:未被修改,签名正确。
02
真实的设备
把 Play Integrity 和 App Attest 的结果与运行时检测结合,比任何单一来源都更全面。
03
一个签名的判定结果
所有信号合并为一个签名的判定结果,因此你的后端无需信任网络或客户端。
04
低延迟服务
多区域服务,确保证明不会拖慢客户点击支付的那一刻。
05
用你的语言验证
可使用 Node.js SDK 验证判定结果,也可使用 Java、Go、Python 和 .NET 的 SDK 与指南。
06
按操作决策
根据操作的风险,使用你选定的判定字段来放行、要求额外验证或拦截。
判定结果如何签发
- 1
应用发起请求
在敏感操作之前,应用请求一个与该操作绑定的完整性令牌。
- 2
Moatgator 评估
平台信号与运行时检测相结合,作为一个签名的判定结果返回。
- 3
你的后端决策
你的服务器验证签名和它关心的字段,然后放行、要求额外验证或拦截。
{ "app": { "package": "com.example.pay", "signature": "match" }, "device": { "integrity": "MEETS_DEVICE_INTEGRITY", "rooted": false }, "session": { "hooking": false, "overlay": false }, "risk": "low", "nonce": "b7f1c3…", "signature": "MEUCIQ…"}判定结果包含什么
应用
- 包名与签名一致
- 构建与版本
- 篡改状态
设备
- Play Integrity 或 App Attest 结果
- Root 与越狱状态
- 模拟器状态
会话
- Hook、调试和覆盖层信号
- 风险等级
- 时间戳与 nonce
常见问题
哪些套餐包含 Attest?
Attest 包含在 Startup 中,并在 Scale 和 Enterprise 中完整提供。
Attest 会取代 Play Integrity 或 App Attest 吗?
不会。它建立在二者之上,并把 Moatgator 自有的运行时信号合并进同一个判定结果。
我的后端如何验证判定结果?
使用我们的 Node.js SDK,或 Java、Go、Python 和 .NET SDK 验证签名,然后读取对该操作重要的字段。
如果证明服务无法访问怎么办?
这取决于你的策略选择。当没有判定结果返回时,由你决定敏感操作是放行还是拒绝。
服务运行在哪里?
运行在多个区域,让各地客户都能保持低延迟。