序言
目前网站大多都是采用的https。那么为什么说http不安全,https是安全的,读完本篇文章,就会有一个清晰的认知。
http安全问题
- 明文传递信息,容易被窃听
- 容易被被篡改信息
- 未做身份认证,可以伪装客户端、服务端进行交互
https解决方案
一、首先我们要解决明文传递信息的问题,就是采用加密的方式,目前存在对称加密、非对称加密
二、这种方式存在一个问题,就是无法避免中间人攻击
三、为了解决中间人攻击,引入了数字证书的概念
疑问
一、是否可以篡改证书明文或者数字签名?
可以将明文替换掉,但是因为没有CA机构的私钥,所以无法替换签名。 浏览器在验证阶段,将明文hash之后,会发现跟数字签名不一致,说明证书已经被篡改,停止信息的传递。
二、是否可以替换为自己申请的CA证书?
不可行,因为浏览器会对域名等信息进行验证
相关概念
- 非对称加密,公钥跟私钥都是有自己生成,一共需要4个密钥,信息传递时,将公钥携带给接收方,接收方通过公钥加密后,再传递。非对称加密处理速度为对称加密的几百分之一
- 对称加密,采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
- 摘要算法,消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,可以被解密逆向的只有CRC32算法,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文
- CA机构