什么是SSL /TLS 握手吗
An SSL /TLS 握手 是网络上的两方(例如浏览器和Web服务器)之间的协商,以建立其连接的详细信息。 它确定哪个版本的 SSL /TLS 将在会话中使用,该密码套件将加密通信,验证服务器(有时也是 客户),并确定在传输数据之前已建立安全连接。
幸运的是,所有这一切都在后台发生–每次将浏览器定向到安全站点时,都会进行复杂的交互操作以确保您的数据安全。
那是简单的版本。 您可能会注意到,任何打样的描述都会或多或少地采用这种格式,而在细节上却打了十二种不同的方式-有时会令人困惑。 让我们举一个图表,展示一个如何 TLS 握手有效吗?
强制性SSL /TLS 握手图形
所有SSL /TLS相关站点有自己的握手图版本–这是我们的! (点击查看大图。)
如果可以的话,让我们清除一些困惑
关于SSL /TLS 握手工作是由于握手只是 序幕 到实际的安全会话本身。 让我们尝试解决一些共同点:
非对称与对称加密
握手本身使用 非对称加密 –使用了两个单独的密钥,一个是公共密钥,另一个是私有密钥。 由于非对称加密系统具有更高的开销,因此无法用于提供全时的真实世界安全性。 因此,仅在握手期间将公共密钥用于加密,将私有密钥用于解密,这允许双方秘密地设置和交换新创建的“共享密钥”。 会话本身使用此单个共享密钥执行 对称加密,这使安全连接在实际应用中变得可行(开销大大降低)。 因此,完整而正确的答案 “是SSL /TLS 加密不对称还是对称?” is “第一个,然后另一个。”
什么是“密码套件”?
握手本身有多个阶段,每个阶段均根据不同的规则进行管理。 细节可以找到 点击此处,但要注意的是,各方可以同意使用一个协议,而不是进行一系列单独的来回协商(关于使用什么密钥,如何对握手本身进行加密,如何对握手进行身份验证等)。 “密码套件” –预先同意的组件的选择或套件。 (请记住,非对称加密在时间和资源上都是昂贵的–使用密码套件作为快捷方式可以加快握手本身的速度。) TLS 规格允许相当 密码套件数,客户端和服务器几乎总是可以访问他们都可以使用的服务器。
基本和相互认证的握手
另一个令人困惑的问题是,我们上面描述的基本模型允许客户端验证服务器,并且绝大多数会话由 TLS 只需要这个。 但是,某些密码套件将要求客户端 还 发送证书和公钥,以便双方相互认证。 这个 双向认证 当然,这会增加握手的开销-但是,在某些情况下(例如,两家银行正在协商资金转账的安全连接),密码套件会坚持要求这样做,并且额外的安全性被认为是值得的。
不同的会话将具有不同的安全性参数
每次新握手都会创建一个新会话,一个会话中使用的设置可能会与另一个完全不同,具体取决于所选的密码套件。 这是该握手图表存在许多不同迭代的原因,以及为什么我们在此处给出相当广泛的概述。 还知道会话可以设置可能与您期望的参数不完全相同的参数。 根据密码套件,某些步骤可能是 添加 (例如双向身份验证的要求)或 缺席。 实际上,实际上有一些密码套件可以协商要使用的会话 没有任何加密。 (是的,我们知道,决定通过明文发送数据的端口443上的HTTPS连接对我们也没有任何意义。SSL.com强烈建议您 不能 执行此操作–请注意,这是在可能的范围内。)
我们希望这些信息可以帮助您了解 TLS 握手过程。 如果您有任何疑问或意见,请告诉我们–请记住,SSL.com认为更安全的互联网就是更好的互联网。”