谷歌用于实现认证API的使用说明是:
去找个女的。请求SafetyNet认证。将响应传输到服务器。使用服务器上的响应以及其他反滥用信号来控制应用程序的行为。
我知道现在应该从服务器上获得。如何阻止攻击者运行两个版本的应用程序--一个在合法设备上运行,另一个在不安全设备上运行,并执行以下操作:
我的应用服务器会验证JWS --包括现在--并认为不安全设备上的应用程序实际上是安全的。
发布于 2021-11-21 20:40:56
听起来没那么简单。例如,如果你使用证书钉扎,一个处于中间攻击的人很难做到几乎不可能。
因此,现在可以选择反向工程应用程序并捕获JWS,在这里您可以添加混淆以使反向工程更加困难。
如果他得到了一个JWS,你可以限制将一个JWS存储在后端的时间,并使它更难使用(也许允许JWS只存储5分钟或更短的时间)来“使它失效”。
此外,正如Google所提到的,如果您使用当前请求将用户发送到服务器的某些数据构建您的nonce,则攻击者还需要在请求中包含这些数据,因为您可以简单地反向计算该nonce (如果您已经存储了最终的nonce +您计算的随机数据),如果这与此不匹配,您可以简单地拒绝该请求。
此外,如果设备是安全的,攻击者不应该只从设备中提取当前的信息。
请给我一点盐,因为我不是安全专家。
https://stackoverflow.com/questions/67079453
复制相似问题