参考:(1)HTTPS的加密方式超详细解读_渔火愁眠__CSDN (2)通俗易懂的带你了解HTTPS的原理_IT烂笔头_CSDN(3)网站向CA申请的数字安全证书可能被盗用吗?
1、对称加密
- 定义:需要对加密和解密使用相同密钥的加密算法
- 优点:对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。
- 缺点:对称加密,密钥管理的安全性很低,因为加密和解密都使用同一个密钥,在密钥的发送过程中,密钥可能被第三方截取,导致第三方也可以破解密文。
- http通信的实现:在每次发送真实数据之前,客户端先生成一把密钥,然后先把密钥传输给服务端。之后客户端给服务端发送真实数据的时候,会用这把密钥对数据进行加密,服务端收到加密数据之后,用刚才收到的密钥进行解密。
2、非对称加密
- 定义:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
- 优点:安全性较高,比对称密钥安全性高很多。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
- 缺点:由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。
- http通信中的实现:
1.客户端要向服务器发送信息,客户端和服务器都要产生一对用于加密和解密的公钥和私钥。 2.客户端的私钥保密,客户端的公钥告诉服务器;服务器的私钥保密,服务器的公钥告诉客户端。 3.客户端要给服务器发送信息时,客户端用服务器的公钥加密信息,因为服务器的公钥是公开的,客户端可以得到。 4.客户端将这个消息发给服务器(已经用服务器的公钥加密消息)。 5.服务器收到这个消息后,服务器用自己的私钥解密客户端的消息。其他所有收到这个报文的人都无法解密,因为只有服务器才有服务器的私钥。
3、对称加密与非对称加密的混合加密方法和存在的问题
黑色字迹:加密及传输过程 橙色字迹:安全问题
4、结合证书机制的非对称加密
5、思考
既然中间人可以截取密钥(3中),那么为什么不能截取证书呢? 答案是可以截取到证书,但截取到证书后还需要修改其中的公钥。但是如果A、B互发的公钥是带有签名,且验签所用的证书是CA颁发、可公开查询的,那么这种改变公钥的中间人攻击不被发现的可能性很小。
另外,如果没有别的附加手段,比如时间戳等保证会话匹配(matching conversation)的技术,单独的签名也防不住中间人的重放攻击。
|