对于https的了解,它是怎么实现加密传输的
https是如何实现加密传输的?
题主可以康康这个博客:https://blog.csdn.net/weixin_43757333/article/details/124881446
HTTPS使用SSL/TLS协议来加密传输数据,SSL/TLS协议使用密钥交换算法来产生一个密钥,然后使用这个密钥来加密传输的数据,以确保数据的安全性。
HTTPS是一种安全的网络传输协议,它使用SSL/TLS协议来实现加密传输。
SSL/TLS协议使用对称加密和非对称加密来实现加密传输,其中对称加密使用一个密钥来加密和解密数据,而非对称加密使用公钥和私钥来加密和解密数据。在HTTPS传输过程中,客户端和服务器之间会先进行SSL/TLS握手,然后客户端会使用服务器提供的公钥加密数据,服务器使用自己的私钥解密数据,从而实现加密传输。
仅供参考:
HTTPS是HTTP的安全版本,它通过使用SSL/TLS协议来实现传输过程中的加密,保证了通信数据的安全性和完整性。
具体来说,HTTPS实现加密传输的过程如下:
1.客户端发起HTTPS请求。客户端向服务端发送HTTPS请求时,会通过TLS协议与服务端建立安全连接。客户端会向服务端发送支持的加密算法列表,以及客户端自身生成的一个随机数,用于后续的密钥交换过程。
2.服务端响应客户端请求。服务端接收到客户端的HTTPS请求后,会根据客户端发送的加密算法列表和TLS版本号,选择一种加密算法和协议版本,然后将服务端生成的一个随机数和公钥证书(包含公钥和服务端信息)发送给客户端。
3.客户端验证服务端的公钥证书。客户端接收到服务端发送的公钥证书后,会验证证书的合法性,包括证书是否过期、证书颁发机构是否可信等。如果验证通过,则客户端生成一个随机数,用于后续的密钥交换过程,并使用服务端的公钥加密这个随机数,发送给服务端。
4.服务端解密客户端发送的随机数。服务端接收到客户端发送的加密随机数后,使用自己的私钥对其进行解密,得到客户端生成的随机数。
5.客户端和服务端生成会话密钥。客户端和服务端分别使用自己生成的随机数和服务端发送的随机数,通过一定的计算生成一个会话密钥,用于后续的数据加密和解密过程。
6.客户端发送加密数据。客户端使用会话密钥对要发送的数据进行加密,并通过TLS协议将加密后的数据发送给服务端。
7.服务端解密数据。服务端接收到客户端发送的加密数据后,使用会话密钥对其进行解密,得到原始数据。
通过上述过程,HTTPS实现了在传输过程中对数据进行加密和解密,从而保证了数据的安全性和完整性。同时,HTTPS还能够防止数据被篡改或者窃听,保护用户的隐私。
数据传输其实还是HTTP。
数据在发出前,先做一个“保护壳”来保护数据,并用钥匙锁起来。
数据在收到后,先用要是解开锁,打开“保护壳”。
大致上就是这么个流程,具体的详细的可以参考其他大佬给的回答。谢谢!