接口安全设计方案
接口安全设计方案
一路上有你 发表于10个月前
接口安全设计方案
  • 发表于 10个月前
  • 阅读 14
  • 收藏 3
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   


一、需求:
    1.APP项目使用无校验访问接口,影响整个系统的安全
    2.需要多个系统共享session


二、期望:
    1.项目内部网络链接暴露,不会泄露数据
    2.提供给银行的接口泄露,不影响安全
    3.提供给APP使用的接口如果被拦截,不会泄露数据


三、情景样例:
    1.APP访问风控提供的接口
    http://192.168.1.200:8080/tsfkxt/user/getUsrOrderInf.do


四、常用的接口校验方式
    校验方式一:校验IP地址
    校验方式二:校验token
    校验方式三:校验签名


五、设计思路

    所有接口经过过滤器验证三个步奏之一:

    1.APP接口访问(签名:排序(商家ID+timestamp+signtype)MD5+sign)
        a.timestamp
        b.随机签名方式
        c.商家ID+秘钥(秘钥通过传过来的ID去redis取)
        d.验证签名是否通过

        访问方式-签名
        http://192.168.1.200:8080/tsfkxt/user/setUsrOrder.do?
        param1=value1&
        param2=value2&
        sign=149495e43b614d6dac9f610800b016ae&
        signtype=1
        timestamp=1490859938&

    签名方式:参与签名的参数按守字母排序(时间戳必须参与签名),然后md5之类处理
    拦截器@timestamp,拦截所有注解了时间戳的入口。
    如果时间差大于指定时间10S,则请求不处理,判断请求超时

    2.第三方的公司调用我们的接口(比如银行)
        a.IP白名单

        访问方式-直接访问:
        http://{white_list_ip}:8080/tsfkxt/user/whitelist_interface.do


    3.项目内部访问
        a.token访问机制
        b.session会话机制

        接口访问-带token或者session:
        http://192.168.1.200:8080/tsfkxt/user/setUsrOrder.do?
        param1=value1&
        token=yn7/6siXc9YKNkjYN/D9T4foJuUN8sNsb4JGX7WpJagbTxRkovejjeYY9AupzQVEtGSZbTFrSXbOrARW6a58QQ==


六、后台管理功能
    1.管理APP接口的商家用户
    2.管理白名单地址


七、补充
    1.项目启动,自动加载redis加载商家用户,白名单IP
    2.拦截所有请求,如果发现有相应标记的请求,跳入对应的验证程序

 

标签: 接口安全
共有 人打赏支持
粉丝 0
博文 1
码字总数 480
×
一路上有你
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: