我在看这个短片,显然每次用户打开HTTPS连接时,客户机和服务器之间的握手就会发生。他们交换公钥,保管私钥。
在两边,使用一个名为RSA的算法生成公共私钥对.私钥不能从公钥派生,也不能打开它自己加密的消息。
我知道这只是表面而已。
然后,这些密钥用于签名消息,只有私钥才能打开这些消息。
这有点容易。
但是在这个过程中,一些东西被称为对称加密,而一些不对称的东西,我就是无法识别。
你能帮帮我吗?
发布于 2020-12-23 19:33:47
HTTPS所使用的底层协议有SSL3、TLS1.0、TLS1.1、TLS1.2等,每种协议都有不同的密钥交换方式,因此对于这个问题没有一刀切的答案。
但是,在对称加密中,使用相同的密钥对消息进行加密和解密。在非对称加密中,消息使用公钥加密,私钥用于解密消息。
但是,在实践中,发送方通常不使用收件人的公钥直接加密消息(使用非对称加密),因为这需要大量的计算资源。相反,发送方动态生成一个对称密钥,然后这个对称密钥用于加密消息(使用对称加密)。然后,使用收件人的公钥(使用非对称加密)对对称密钥进行加密,并将此加密的对称密钥连同加密的消息一起发送给收件人。在接收端,接收方使用其私钥解密加密密钥,然后使用此密钥解密消息。
有关在TLS1.0中所有这些操作的出色演练,请参见http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html。尽管这是在2009年写的,TLS1.0在这一点上早就过时了,但是如果你第一次尝试把这些概念弄清楚的话,你可能会发现这篇博客文章很有启发性。一旦您对此感到满意,请看一看https://tlseminar.github.io/first-few-milliseconds/,它基于TLS1.2 (它使用了完全不同的密钥交换方法,基于椭圆曲线)。
https://security.stackexchange.com/questions/242497
复制相似问题