我已经使用以下逻辑对安全性自定义休息过滤器进行身份验证。
标题字段
车身
iOS客户端使用POST发出此请求,我已过期 服务器中的时间设置为15秒。
现在的问题是,如果有人使用像Charles或者那样的调试工具 别的东西,如果他碰巧把断点放在网址和 在15秒内触发相同,nonce将是有效的和服务器 第二次处理请求。我怎样才能防止这种情况发生 发生。在这种情况下,nonce不起作用。
无论是什么方法,如果黑客获得最终的网址 即将被解雇,有可能他可以解雇多次 在随机数到期之前的几倍......
如何防止这种情况发生?
有人可以帮我找到最好的弹簧安全实现吗?
另外,默认情况下,HTTPS是否保护我们免受重播攻击?我们需要 ssl客户端验证(在构建中具有der格式证书) 并使用服务器证书进行验证)以使用https进行重播攻击 ?或者默认情况下是否可以使用https?
换句话说,我正在使用AFNetworking,我们是否需要使用SSL 固定使用https重播攻击?还是没有 ssl pinning?
答案 0 :(得分:9)
如果使用HTTPS调用REST API,则在网络级别使用the protocol protects you from replay attacks。这意味着某人无法记录某些加密流量并成功重播。
但是,如果您正在寻找一种方法来阻止合法客户端多次发出相同的请求,您将需要在业务逻辑中发出这些请求idempotent或实施重播机制。您可以使用nonce执行此操作。随机数不会过期,但只能在单个事务中使用。