一、http协议存在的风险 http 超文本传输协议,信息是明文的,存在安全的问题 二、https原理简述 使用非对称加密传递密钥,使用密钥进行对称加密传递数据 通过CA机构解决通信方身份可能被伪装的问题 三、加密方式 1、对称加密:加密和解密使用同一个密钥。如果密钥被截获了,就可以解密数据了,也就失去了加密的意义,那么怎么安全转交这个密钥呢?就是使用下面要说的非对称加密方式 2、非对称加密方式:有一对密钥,分别是私钥和公钥,私钥只能自己知道,公钥可以随意发布任何人都可以获得。使用密钥对的时候,如果用其中一个密钥加密一段数据,只能使用密钥对中的另一个密钥才能解密数据。例如:用公钥加密的数据必须用对应的私钥才能解密;如果用私钥进行加密也必须使用对应的公钥才能解密,否则将无法成功解密。 3、但是非对称加密通信效率特别低,所以只用非对称加密交换密钥即可,然后使用效率较高的对称加密方式传递数据。这也就是https采用的方式:对称加密和非对称加密两者并用的混合加密机制 四、证书校验 虽然数据加密了,但是通信双方可能会被中间人伪装,此时需要第三方机构的介入。CA机构就是为了解决冒充问题的。这里要特别注意,CA机构也会生成一对公钥和私钥,服务器也会生成一对公钥和私钥,两者不是同一对。 1、数字签名:服务器将自己的公钥和服务器的一些信息经hash算法生成数字摘要,CA机构使用自己的私钥对该数字摘要进行加密,生成数字签名 2、数字证书:服务器CA机构提交公钥、组织信息、个人信息(域名)等信息并申请认证,CA机构信息审核通过,给服务器签发认证文件就是数字证书。数字证书包含的内容:申请者公钥、申请者的组织信息、签发机构CA信息、hash算法,有效时间、数字签名 3、校验过程:客户端向服务器发送请求,服务器向客户端返回数字证书,客户端读取数字证书中的相关的明文信息,使用hash算法得到一个信息摘要;然后利用存储在本地的CA机构的公钥解密数字签名,又得到一个信息摘要,两个信息摘要一比较,如果一致,则可以确认证书的合法性