HTTPS协议 公钥和私钥的算法解析
1、HTTPS协议
加密通讯原理
HTTPS实在HTTP协议上加了一层 SSL/TSL层
SSL/TSL表示传输安全层
HTTP直接把数据传送到TCP,而HTTPS先把数据传送到安全层进行验证,在转交到TCP
HTTPS (安全的HTTP)是 HTTP 协议的加密版本。它通常使用 SSL (en-US) 或者 TLS 来加密客户端和服务器之间所有的通信 。这安全的链接允许客户端与服务器安全地交换敏感的数据,例如网上银行或者在线商城等涉及金钱的操作
1.1解密算法
1、对称密钥算法:编写,解码使用相同的算法
2、非对称密钥算法:他有两个密钥,一个叫 ’公钥‘,一个叫 ’私钥‘,两个密钥是不同的,公钥可以公开给任何人使用过,私钥必须严格保密,非对称可以解决 ’密钥交换‘ 的问题,网站秘密保管私钥,网上任意分发公钥,你想要登录拿公钥加密就行,密文只能由私钥持有者才能解密
3、非对称密钥:使用公钥加密 使用私钥解密
使用私钥加密 使用公钥解密
4、对称解密 和 非对称解密 对比:对称解密更加方便一点
1.2、身份验证
1、数字证书组成:
公钥用户信息,公钥, 权威机构的签名,有效期
2、数字证书作用:
1、通过数字证书向浏览器证明身份
2、数字证书中包括了公钥
2.1公钥和私钥
1、对称算法:
加密:f1(k, data) = x
解密:f2(k, x) = data
1、c -> s 客户端向服务端索要公钥
2、s -> c 服务端给客户端传递公钥 k
3、c -> s 客户端 f1 方法加密 传输密文
4、s 调用 f2 解密 5、s -> c 调用 f1 解密
缺点:k难维护,因此只有一个、任意黑客都能拿到k,因此劫持难度较小
解决思维:如果每个客户端都有唯一的key那就能确保黑客解不了数据
2、非对称加密算法:
公钥 + 私钥
公钥加密 -> 私钥解密
私钥加密 -> 公钥解密
1、c -> s 客户端向服务端索要公钥
2、s -> c 服务端传递公钥 k
3、c -> s 客户端公钥加密,只能通过服务端私钥解密
缺点:客户端向服务端发送数据是安全的,但服务端怎么向客户端发送数据,使用私钥加密的话,那黑客也可以拿到公钥进行解密
解决思维:客户端向服务端发送数据是安全端 因为进行了公钥加密,只是服务端向客户端发送数据是不安全端