#结合使用的安全优点与总结# ##前言## 写到这里基本上笔者在请求中遇到的问题,以及运用到实践中的解决方案,基本上分为,请求惟一性,单设备登陆,单点登陆,MD5校验 这几种校验的小技巧,在以前都对着几种校验方式进行也一些独立的说明(尚未看过的能够先去游览查阅一下,在请求安全模块中) 在本章里面会着重说明怎么样综合使用,如何得到比较高的安全性,以及会简单介绍一下方便使用的一种高级加密方法. ##1.回顾## ###1.1 单设备登陆.单点登陆###安全
每次调用登陆接口获取的ID都是一个临时ID.当下次登陆的时候从新生成在覆盖,就能够达到单设备登陆的 效果了,这个临时ID对应着真正的用户ID每次客户端请求都是拿着临时ID请求过来而后服务器作验证,并且 这个临时ID和真正ID是存储在一个共享的区域,其余的模块都能获取到这一项对应
###1.2 MD5校验###服务器
MD5在请求安全中关键用到的基本上就是对于请求参数进行校验,对与服务器来言排除系统问题最大的问题 就是惧怕请求被拦截,拦截修改以后就有不少漏洞的可能性了, 为了不被拦截,参数被修改这种文件的常 用方法就是对请求参数进行校验,就算拦截了请求参数修改了只要模拟不出MD5加密出来的值,在服务器过滤 器直接就会进行拦截. 我这边推荐的请求校验方法在传递参数的时候带上 MD5值 随机数 时间戳 固然这几 个都是由客户端生成 MD5=MD5(随机数+时间戳+MD5(KEY+公司名+项目名)) 固然这个规则也是能够定制的 请求参数在服务器拦截器就用客户端传递过来的 随机数 时间戳 来作校验若是不经过就不让继续访问
###1.3 请求的惟一性###性能
若是别人不破解MD5直接解析Ddos攻击固然要有个拦截机制,请求惟一性是对于一个用户ID这个都是用户的惟 一标示在这个简单的解决方案中有两个比较重要的东西,随机数,时间戳,经过这两个东西加上用户惟一标示就 能实现一套简单的请求惟一性验证
##2. 密文加密-STD3Des##加密
STD3Des加密是一种高级可逆加密方法,他须要加解密双方指定两个东西一个是key,一个是vi(vi是偏移量) 密文加密意义在于别人捕获请求不会看到传递参数的具体值
##3. 结合增长安全性##code
1.由于有单设备登陆ID是动态的,因此吧ID做为MD5的条件加密会更安全 2.MD5的随机数和时间戳与惟一请求的使用的相同,应为有MD5加密,因此模拟随机数和时间戳须要先破解MD5校验 3.密文加密能够保证全部参数都是密文,进一步增长随机数和时间戳被修改问题
##4. 性能##接口
不少人会在意接口加了这么多东西性能会下降多少呢 ,我通过实践下来其中性能消耗最大的是加解密,损耗在3%~8% 请求量越大损耗越大其余加起来基本保持在1%左右,基本上也是能够接受的,并且结合起来安全性仍是相对比较高的
##5.总结##登录
经过以上所述各项小技巧的组合确实能够获得不错的安全性,基本上关于请求安全就告一段落了,笔者水平有限但愿 你们多提意见,多交流!