zoukankan      html  css  js  c++  java
  • 如何有效防止API的重放攻击(转自阿里云)



    API重放攻击(Replay Attacks)又称重播攻击、回放攻击,这种攻击会不断恶意或欺诈性地重复一个有效的API请求。攻击者利用网络监听或者其他方式盗取API请求,进行一定的处理后,再把它重新发给认证服务器,是黑客常用的攻击方式之一。
    HTTPS数据加密是否可以防止重放攻击?

    否,加密可以有效防止明文数据被监听,但是却防止不了重放攻击。
    使用签名防止重放攻击

    使用签名之后,可以对请求的身份进行验证。但不同阻止重放攻击,即攻击者截获请求后,不对请求进行任何调整。直接使用截获的内容重新高频率发送请求。

    API网关提供了一套有效防止重放攻击的方法。开启API网关的放重放,需要您使用“阿里云APP”的认证方式。通过这种签名认证方式,每个请求只能被使用一次,从而防止重放。

    阿里云APP:是基于请求内容计算的数字签名,用于API网关识别用户身份。客户端调用API时,需要在请求中添加计算的签名。API网关在收到请求后会使用同样的方法计算签名,同用户计算的签名进行比较,相同则验证通过,不同则认证失败。这种认证的签名方式请参照:请求签名

    在API网关的签名中,提供X-Ca-Timestamp、X-Ca-Nonce两个可选HEADER,客户端调用API时一起使用这两个参数,可以达到防止重放攻击的目的。
    原理

        请求所有的内容都被加入签名计算,所以请求的任何修改,都会造成签名失败。

        不修改内容

            X-Ca-Timestamp:发起请求的时间,可以取自机器的本地实现。当API网关收到请求时,会校验这个参数的有效性,误差不超过15分钟。

            X-Ca-Nonce:这个是请求的唯一标识,一般使用UUID来标识。API网关收到这个参数后会校验这个参数的有效性,同样的值,15分钟智能被使用一次。


  • 相关阅读:
    C语言中的字符串处理库函数介绍与实现
    尾声,毕业设计答辩
    《算法图解》第六章笔记_广度优先搜索
    《算法图解》第五章笔记与课后练习_散列函数与散列表
    《算法图解》第四章笔记与课后练习_快速排序算法
    《算法图解》第三章笔记与课后练习_递归
    c# 执行javascript 脚本
    HttpWebRequest出错 服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF
    秒转换成时分秒
    SQL2008中Merge的用法
  • 原文地址:https://www.cnblogs.com/25miao/p/7128640.html
Copyright © 2011-2022 走看看