百科问答小站 logo
百科问答小站 font logo



请教一个https安全问题? 第1页

  

user avatar   hawaii-61 网友的相关建议: 
      

“客户端通过服务端的公钥对私钥加密”这句话就错了,私钥全程不参与传输,自然也不会被加密。客户端加密并发送的是用来握手的随机数。

服务器如何确认客户端是真实的客户端?答案是:双向认证。不仅客户端要验证服务器的证书,服务器同样要验证客户端的证书,彻底杜绝中间人攻击的可能。需要双向认证的场景在B/S架构中很罕见,多见于C/S架构,因为服务器需要预置客户端的证书。有不少APP都使用了这一技术防止被抓包。

而在传统的SSL单向认证中,黑客可能在其中充当中间人的角色,他可以欺骗服务器自己是客户端,但无法欺骗客户端自己是服务器,因为他没有服务器的私钥,不能解密客户端用公钥加密的随机数,也就无法和客户端完成握手。黑客可以伪造一份自签名证书给客户端,但由于黑客不是可信CA,客户端的浏览器将提示证书无效。




  

相关话题

  关于keep-alive 这个问题? 
  你的电脑被黑客黑过吗? 
  数据库预编译为何能防止SQL注入? 
  为什么有的程序员哪怕失业交不起房租也不愿意接触黑产? 
  将NAS的SMB端口映射到公网上是否有安全问题? 
  避免使用 eval、new Function 的方法可以降低 XSS 攻击的风险吗?为什么? 
  课堂上传纸条如何防范中间人攻击? 
  黑客为什么可以做到无需知道源码的情况下找出系统漏洞? 
  什么是哈希洪水攻击(Hash-Flooding Attack)? 
  WIN7网络连接成功后,有个白框一闪而过,这方面的大神能帮忙看看,给个原因或可能有效的探索方向么? 

前一个讨论
帝度为中国用户定制 15° 斜式滚筒洗衣机,哪些信息最值得消费者关注?
下一个讨论
古人没有望远镜,是怎么确定金木水火土这些行星的……?





© 2025-01-31 - tinynew.org. All Rights Reserved.
© 2025-01-31 - tinynew.org. 保留所有权利