Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止重播REST url';重放攻击_Rest_Url_Authentication_Spring Security_Https - Fatal编程技术网

防止重播REST url';重放攻击

防止重播REST url';重放攻击,rest,url,authentication,spring-security,https,Rest,Url,Authentication,Spring Security,Https,我使用了spring security自定义rest筛选器,它使用以下逻辑对客户端请求进行身份验证 标题字段 标题中的日期 hmac哈希签名 身体 hmac加密数据 iOS客户端使用POST发出此请求,我已过期 服务器中的时间设置为15秒 现在的问题是,如果有人使用诸如Charles或 如果他碰巧在url和 在15秒内触发相同的,则nonce将有效,并且服务器 第二次处理该请求。我怎样才能防止这种情况发生 发生在这种情况下,nonce不起作用 不管是什么方法,如果黑客得到了最终的url 就要被解

我使用了spring security自定义rest筛选器,它使用以下逻辑对客户端请求进行身份验证

标题字段

  • 标题中的日期
  • hmac哈希签名
  • 身体

  • hmac加密数据
  • iOS客户端使用POST发出此请求,我已过期 服务器中的时间设置为15秒

    现在的问题是,如果有人使用诸如Charles或 如果他碰巧在url和 在15秒内触发相同的,则nonce将有效,并且服务器 第二次处理该请求。我怎样才能防止这种情况发生 发生在这种情况下,nonce不起作用

    不管是什么方法,如果黑客得到了最终的url 就要被解雇了,他可能会多次解雇 在临时租约到期之前的几次

    我怎样才能防止这种情况发生

    有人能帮我找到最好的spring安全实现吗

    另外,HTTPS是否默认保护我们免受重播攻击?我们需要什么 ssl客户端验证(在生成中具有der格式证书 并使用服务器证书对此进行验证),以使重播攻击能够使用https ? 或者默认情况下它在https中可用

    换句话说,我正在使用AFNetworking,我们需要使用SSL吗 锁定以利用https重播攻击?或者它在没有 ssl固定


    如果使用HTTPS调用REST API,则在网络级别。这意味着有人无法记录某些加密流量并成功重播


    但是,如果您正在寻找一种方法来防止合法客户端多次发出相同的请求,那么您要么需要发出这些请求,要么在业务逻辑中实现重播机制。你可以通过使用一个。nonce不会过期,但只能在单个事务中使用。

    我正在使用https和iOS AFNetworking SDK来触发请求。Nginx服务器配置为仅接受HTTPS连接。但仅仅在客户端将http更改为https并不能提供网络安全权利?客户端必须进行握手/ssl验证才能提供ssl加密,从而提供安全权限?。因为我面临着这个问题,黑客们正在使用CHARLES调试器并不断地发出重复的请求。早些时候,我有hmac的头和身体加密没有加密。现在我已经为body添加了AES加密,在header中添加了hmac加密,并使用timestap.com生成了nonce,将在120秒后过期。我唯一不清楚的是,仅仅将http更改为https就可以提供安全性(或者)我是否需要使用AFNetworking的ssl固定选项进行客户端ssl验证?.MvdD,您提到nonce(仅使用一次的数字)不会过期。通过将时间戳设置为特定秒/分钟或甚至小时的头来生成nonce本身。所以,如果我得到最终的url,并且在nonce过期之前触发它,我就可以正确地播放重播攻击(这里不包括https)?我不确定我是否理解。在这里查看生成nonce:我找不到在服务器端生成spring security nonce的工作示例,也找不到如何从客户端处理nonce url的工作示例。如果我能得到一个有效的例子,那将非常有帮助。