我正在使用这个库:https :
//github.com/scottyab/safetynethelper
我已经阅读了Android Deveoloper站点和存储库中的文档.一切都很好,但我不清楚.表明从服务器获取nonce比在自己的应用程序上创建nonce更安全.为什么将SafetyNet API的响应传递给服务器更好
小智 6
最常见的SafetyNet Attestation API用于决定您是否信任与您的服务器通信的设备和应用程序.
因此,您实际上并不想在Android应用中检查JWS响应,否则攻击者只需修改您的应用即可删除您已实施的任何验证逻辑.这就是为什么最好将响应传递给服务器,并在那里做出任何决定(您信任您的服务器).
在您的服务器上,您可以验证响应,如果一切正常,则允许您尝试保护的任何操作 - 可能允许登录或下载某些数据.
为什么服务器提供的nonce更安全?您的应用程序中生成的随机数(即基本上随机且您不知道)可以由攻击者自由更改.如果你控制现时更好!这样,当您在服务器上验证JWS响应时,可以检查nonce是否正确.
在服务器上生成随机数的好方法可能是散列会话ID,或者用户ID和时间戳的组合.
| 归档时间: |
|
| 查看次数: |
879 次 |
| 最近记录: |