ssl协议主要提供哪些服务器,ssl有哪些协议组成

  • Post author:
  • Post category:其他


SSL由两个层次协议组成:SSL数据包协议和SSL握手协议。

(1)SSL握手协议

SSL握手协议在SSL记录层协议的上面。服务器与客户端使用SSL握手协议相互鉴别对方身份、协商加密算法与MAC算法,及在SSL记录层协议中加密数据的加密密钥与初始向量。这些过程在握手协议中进行。握手协议是建立SSL连接,先应进行的协议,须在传输所有数据前完成。

根据功能特点,握手过程基本上可分为4个阶段。

第一阶段是建立安全能力。主要工作是建立一条逻辑连接,及和此连接相关的安全能力。建立安全能力指客户端与服务器协商将在通信中用的加密、签名、密钥交换、MAC等算法,及其他一些记录协议需用的必要参数等。此阶段是2个参数同样的报文构成,一个为Client_hello报文;另一个是Server_hello报文,协议的发起通过客户端送出一个Client_hello消息进行开启,此阶段结束后,就实现了安全能力的建立。

第二个阶段是服务器鉴别和密钥交换。若服务器需被鉴别,此阶段将用服务器给客户端发送自己的证书开始执行,服务器向客户端发的信息包含证书或证书链报文,不过有时候可能仅需发送其中的一个或两个报文就能实现握手第一二个阶段。

第二阶段是客户端验证与密钥交换。收到服务器证书结束报文后,客户端先验证服务器有没有给出合法的证书,检测服务器的参数是否可接受,若这些都满足条件,客户端就给服务器发客户证书报文、密钥交换报文与证书验证报文。除客户密钥交换报文,其余2个报文某状况下不必需。

第四阶段是完成握手阶段。此阶段实现安全连接的建立,第一步是客户端修改密文协议发改变算法定义报文,把挂起的算法族定义复制至此前的算法族定义。之后客户端随即发在新的算法、密钥与密码下的完成报文,服务器向这2个报文的响应为发送改变算法定义报文,把挂起状态复制至此前状态,还要发完成报文。

至此握手协议结束,客户端与服务器有了安全连接,应用层协议可以使用SSL连接进行安全的数据通信了。

(2)SSL数据包协议

SSL数据包协议的内容有数据压缩/解压、加密/解密、改变加密约定协议、警报协议、出错处理等。所做的主要工作是用商定的加密和报文鉴别算法保护发送数据包。

只要握手协议完成,客户端与服务器商定主密钥、加密和签名算法,加密签名函数把数据转换成保密文本格式,即SSL数据包。解密函数则逆向执行这一过程,把数据还原。