每日积累一点点

1.tcp/http/https握手
tcp:建立TCP需要三次握手,断开连接四次握手。
------->SYN
-------<SYN/ACK
------->ACK
........DATA
------->FIN
-------<ACK
-------<FIN
------->ACK(服务端关闭,客户端关闭)
http:建立三次握手和tcp差不多,只是属于应用层,tcp属于传输层。
https:
公钥和私钥成对出现,一个加密另一个解密,一般公钥加密私钥解密。【私钥存在于服务端,公钥发给客户端】
单方验证/双方验证
------>https(告诉服务端客户端支持的加密算法)随机值1
------<返回证书(公钥,证书过期时间,加密算法) 随机值2
------>客户端随机值3,hash用公钥加密,传输随机值以及加密的结果
------<服务端使用私钥解密,比对解密之后结果和请求是否一致(不一致,失败断开)
随机值1,随机值2,随机值3可以使用加密算法生成对话密钥,用来作为通信内容的加密解密。

非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去.
(1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。
(2) Alice的浏览器向银行的网站请求公钥。
(3) 银行将公钥发送给Alice。
(4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。
(5) Alice的浏览器将加密后的对称密钥发送给银行。
(6) 银行使用私钥解密得到Alice浏览器的对称密钥。
(7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。
(三)总结
(1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。
(2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
(3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。
https握手介绍:
https://blog.csdn.net/qq_33245272/article/details/78140475
https://www.cnblogs.com/wqhwe/p/5407468.html
对称(DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法)和非对称加密算法(RSA、Elgamal、背包算法、Rabin、HD,ECC(椭圆曲线加密算法))
https://zhidao.baidu.com/question/163920413.html

猜你喜欢

转载自www.cnblogs.com/xiaofugua/p/9104827.html