Google实施证明 API的说明如下:
Obtain a nonce. Request a SafetyNet attestation. Transfer the response to your server. Use the response on your server, along with your other anti-abuse signals, to control your app's behavior.
我知道应该从服务器获取随机数。如何阻止攻击者运行两个版本的应用程序 - 一个在合法设备上,一个在不安全设备上,并执行以下操作:
- 不安全设备上的应用程序从我的服务器获取随机数
- 安全设备上的应用程序使用此 nonce 调用 Google 的证明 API
- 安全设备上的应用程序从 Google 获得签名的 JWS 响应
- 攻击者将 JWS 响应传输到不安全设备上的应用程序
- 不安全设备上的应用程序向我的服务器发送 JWS 响应
我的应用服务器会验证 JWS(包括 nonce),并认为不安全设备上的应用实际上是安全的。