http是明文的,相当于在网上裸奔,引出了https,大多数网站都转为了https,连非法的赌博网站有的都是https的。
1.https的网站是不是必须让用户装数字证书?
答:分两种,一种是单向认证,像访问普通网站比如百度(https),百度网站上安装有网站证书(私钥),用户端的计算机预装有根证书(公钥),也就是签发那个百度网站证书的上级CA的证书,用来验证网站证书,这是单向认证。另一种是双向认证,客户端要验证服务器的证书,反过来服务器也要验证客户端的证书,像访问网上银行比如工行企业网银(https),网站上有证书,用户端的计算机预装有(签发网站证书的CA的)证书,此外,用户持有的U盾帮助提供用户端证书,这是双向认证。
token 是客户端账户密码登录后,服务器会根据用户信息加密生成的token,不用每次传递用户名和密码,区分客户,每次请求要携带token,服务器会检测,保证信息安全。
2.为什么在电脑/手机上信任抓包软件的证书就可以抓取HTTPS请求?
抓包程序将服务器返回的证书截获 ,然后给客户端返回一个它自己的证书;现在的抓包工具findler,wireshark都支持创建证书。
所以看到明文的原因,主要就是如下过程:
抓包工具伪装作为客户端和服务端交互,交互用的是【服务端的证书】,相互知道明文
自己的https请求被抓包工具(伪装成服务器)截获,交互用的是【findler生成的证书】,相互知道明文。
简单的的说 就是中间人无法伪造出一个可信的证书(橡皮印章是由权威机构颁发的),他拿不到也伪造不了,因为权威ca之所以是权威,就是他不能滥发证书,如果他滥发会被操作系统和浏览器群殴(我朝衙门有前科哦)。然后所有的电脑和浏览器都内置了这些权威机构的清单,所以中间人拿不到和你访问的域名绑定的证书。这时候中间人介入后,他只能自己造一个证书。但是你浏览器或者其他客户端会发现证书的不可信是伪造的,就阻断并警告你。就是下面图中的这个
但是,你导入了并信任他的证书,那么电脑肯定听的你的,毕竟你是电脑的主人你说了算。(如果你的电脑中毒了,自动导入了证书,那么你连弹框警告都没有,无感了)浏览器或者其他客户端也就不会去阻断这个被中间人介入的https连接。所以抓包软件就能介入做这个中间人。
流程图:客户端下载公钥证书,对对称秘钥进行非对称加密,这样只有服务器私钥可以解析出来,然后双方再进行对内容的对称加密,这样做的原因是对称加密比非对称加密的效率高,两种加密一起使用既解决了效率问题,安全性也变的更高。
文章来源:https://www.toymoban.com/news/detail-738295.html
下图左边是ca数字签名的过程,右边是客户端验证ca证书的过程。
这么看来,在网络请求中,对参数进行加密是很有必要的,你想如果你和服务器不用各种的约定的保密算法进行加密,中间人完全可以伪装来篡改信息,看到你的隐私并不是最坏的情况,最坏的是冒充你能改,比如你要转钱给你老爸,你对中间人是明文的,中间人改成转钱给自己,然后数额改成1个亿,你完球了,哈哈,最后中间人发现你余额不足,你个穷X。如果你对参数值加密了,那他不知道你用的算法,秘钥,没法改数据再加密,最好你对参数名也加密,这样中间人头就更大了,是不是这个理?文章来源地址https://www.toymoban.com/news/detail-738295.html
到了这里,关于网络安全https的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!