美文网首页
有效的接口安全措施

有效的接口安全措施

作者: 东方不败撸大师 | 来源:发表于2017-08-02 16:24 被阅读83次

    仅抛砖引玉没做详说望各位同僚体恤,但有经验的同僚肯定是一点即破甚至举一反三的,而对于安全设计没有所谓的标准只要更安全!您觉得是吧?

       个人认为接口做安全了至少有下面几个好处:
    

    1.大可不用https,不用繁琐配置SSL,不用付证书费,最重要是规避了使用https导致的性能问题,您爽公司更爽
    2.保护敏感数据
    3.防止攻击、篡改数据
    4.杜绝非法大规模请求消耗服务器性能

    主要采用的几个安全措施
    1.加密机制
    2.数字签名机制
    3.token机制
    4.超时机制

    接口工作流程图:

    接口流程.png

    采用这个方法,接口和APP双方要预先约定两个私钥,双方必须一致。比如下面2个:
    加签私钥:
    @"abc69801234564567866AACD”

    加密私钥:
    @“99661234564567866AACDabc”

    1).加密机制
    接口和app约定对称加密方式,对请求参数进行加密,服务器收到请求先解密数据以得到请求参数明文,接着验证签名,接着检测是否超时
    常用对称加密方式有:3DES、DES、AES

    请求地址:
    http://app.texst.com/gnt/auth/codeing:{密文参数,解密后是json格式数据,以便接口解析数据}

    请求参数(加密前的json)
    @{
    @"token" : @“DFSA546RTR2T1ER3DF89T5ET”, //token
    @"posttime" : @“20170820133336”, //时间戳,获取手机当前时间
    @"sign" : @“IOPIPIOKLK54LL45JKL15K4596”, //MD5签名串
    @"loanId" : @“9279186365”,
    @"applyAmt" : @“300000.62”,
    @"extensionTerm" : @“12”
    };

    2).数字签名机制
    app每个请求都附送sign和posttime,接口根据posttime换算出sign后与请求参数中的sign校验(对比),如一致表示签名成功,否则签名无效,不相应请求
    加签串(MD5)算法 = posttime时间戳 + 加签私钥
    郑重声明:MD5不是加密算法,是信息摘要技术,经常看到许多网友发帖不负责任的说什么什么“MD5加密”之类的话,严重误导后生子弟.
    MD5犹如人的手指指纹,每个人都有世界独一无二的指纹,根据指纹可以“识别”某个人,但根据指纹却无法“还原制造”出某个人原型,所以MD5是不可逆的,无法逆向还原的,非对称。

    3).token机制
    请求之后后台返回token令牌,之后每次请求必须附送token,否则请求无效

    4).超时机制
    后台根据“时间戳”检验请求时间超出约定的N分钟则认为无效

    相关文章

      网友评论

          本文标题:有效的接口安全措施

          本文链接:https://www.haomeiwen.com/subject/bdhylxtx.html