什么是ssl(ssh连接服务器)

SSL缩写Secure Socket Layer,是Netscape在几十年前开发的一种协议,用于确保服务器和客户端之间的安全通信,广泛应用于http的安全通信中,这里的安全通信有两层含义:

通信双方身份的认证通信数据的保密

简单地说,应该对通信两端的身份进行认证,以确保它们是真实的。接下来,通信双方交换的数据要加密,保证只有真实的对方才能看到,其他人即使拿到数据也无法获取有效信息。这里需要注意的是,SSL不包含也不实现认证方法和数据加密方法。SSL只是制定了一套可靠的C-S协商方法来确定通信方如何认证和加密他们的身份。现在SSL基本都是用PKI数字证书进行认证,加密算法也很多,有对称的,也有不对称的。这些在线资料很多都是谷歌的。

SSL是如何工作的?基本上,SSL的工作分为两个阶段:握手阶段和数据传输阶段。如果在通信过程中检测到不安全因素,比如在握手过程中发现对方无法支持所选择的协议或加密算法,或者发现数据被篡改,那么通信方就会发出警告消息,两端的通信会因为不安全因素的巨大影响而终止,必须重新协商连接。

SSL协议结构如下:

SSL分为三个子协议,握手(ChangeCipherSpec)和Alert (alert)。

SSL报警协议用于向通信伙伴发送报警消息。警报分为两个级别:致命和警告。如果是致命级别,比如MAC计算错误或者密钥协商算法失败,立即断开连接。如果你想建立联系,你需要再次握手。一般来说,警告型消息只会记录日志,不会断开连接。

SSL change cipher spec协议,独立于握手协议,属于单一范畴,是最简单的一个。该协议由单个消息组成,该消息仅包含值为1的单个字节。该消息由客户端和服务器发送,以通知彼此之前商定的密钥组将在该消息之后使用。这条信息通常在握手和发送结束信息之前发送。

SSL握手协议主要负责以下工作:

算法协商:首次通信时,双方通过握手协议协商密钥加密算法,数据加密算法和文摘算法。身份验证:在密钥协商完成后,客户端与服务器端通过证书互相验证对方的身份。确定密钥:最后使用协商好的密钥交换算法产生一个只有双方知道的秘密信息,客户端和服务器各自根据这个秘密信息计算出加密密钥,在接下来的记录协议中用来对应用数据进行加密;

如果握手协议是C/S方之间的协商,那么记录协议将利用协商结果向上层应用提供两种服务:

机密性:使用协商好的通信密钥对业务数据加解密;数据完整性:利用协商好的 MAC 算法计算消息 HASH ,防止消息被篡改;

规定协议每个记录层的协议包长度不得超过2 ^ 14(16k)。因此,如果记录协议的接收层的应用服务数据太长,服务数据将根据上层记录层的协议被分割、压缩(可选)、MAC计算、加密并发送出去。

(0)
上一篇 2022年6月25日
下一篇 2022年6月25日

相关推荐