Web登录安全详解

不加密直接传输

会在HTTP报文的body中显示密码明文

 

对称加密

加密算法写在前端里,前端有被破解的风险

 

非对称加密

中间人攻击

SSL劫持攻击

将自己接入到客户端和服务器中间,将公钥替换成自己的公钥。

SSL剥离攻击

也要将自己设为中间人,与客户端HTTP明文会话,与服务器继续HTTPS会话

 

重放攻击

密码加密后,直接用密文请求,或者将报文改动一小部分再次请求。

HTTPS防止重放攻击

TLS是可以防止重放攻击的,具体是通过报文鉴别码MAC(Message Authentication Code)

timestamp和nonce的防止重放攻击方案

timestamp:

在http请求里加上timestamp参数,和其他参数一起进行数字签名。

服务器将timestamp的时间错与当前时间比较,如果小于60s则确认安全。

缺点:如果重放攻击发生在这60s之内,timestamp就没有意义了。

nonce:

在本地生成一个随机字符串(mac地址,时间戳,token之类),服务器接收到后,将

这个随机字符串保存在一个“集合”中,如果后来的请求的nonce参数在“集合”中

说明这是一个非法请求。

缺点:集合会越来越大,占用内存。

基于timestamp和nonce的方案

这两个方案一起用,大于60s清除一次集合。

 

数字签名

将明文hash生成摘要,然后将摘要用私钥加密后生成的签名和报文一起传给服务器,服务器用私钥解密签名,然后服务器hash报文对比签名看是否相同。如果相同说明报文没有被人动过。

 

参考文章:

https://blog.csdn.net/ad5226236/article/details/82830828

https://www.jianshu.com/p/776ed057343a

https://blog.csdn.net/koastal/article/details/53456696

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值