HTTP Authentication(客户端请求合法性认证)
HTTP Authentication(客户端请求合法性认证)
最近公司项目架构设计时,需要考虑安全性问题。本章是关于 客户端请求合法性认证 的相关话题。
HTTP Authentication 请求认证
客户端发送请求时需认证此信息
作用:防止其他方式请求资源,保护资源不被窃取
方式一:Basic Authentication
当客户端发送请求时,服务器会进行认证
用户发送请求给服务器
服务器检查认证信息,未认证不能访问资源,发送需认证信息
用户输入用户名+密码 客户端将用户名+密码按指定算法加密再次请求服务器
服务器按指定算法解密 得出用户名密码进行校验
认证完成即可访问服务器资源
缺点:安全性不高,被拦截抓取WWW-Authenticate值风险大,且此值不会改变,容易被破解
方式二:Digest Authentication
用户发送请求给服务器
服务器检查认证信息,未认证不能访问资源,发送需认证信息+随机临时值nonce
用户输入用户名+密码 客户端将用户名+密码+nonce按指定算法加密再次请求服务器
服务器按指定算法解密 得出用户名密码进行校验
认证完成即可访问服务器资源
缺点:有可能被破解,但是安全性已经比基本认证好很多。应为每个时刻的nonce并不一样,若抓取某时刻的认证信息也无法进行有效访问
综上来看,方式二或许是更好的选择。若不太了解http,可查看相关http请求头,请求体,响应头等相关文档。
还没有评论,来说两句吧...