400-900-6808
登录
当前位置: 首页 > 资讯中心 > ssl证书相互认证

ssl证书相互认证

ssl证书相互认证

相互认证,通常也称为双向认证或双向ssl,是指服务器认证和客户端认证的组合。认证是相互的或双向的,因为服务器向客户端验证自身身份,而客户端向服务器验证自身身份,以便在两者之间建立安全的加密通道。

 

安全套接字层 (SSL) 用于保护网络上的通信,以便只有发送者和接收者才能访问其中包含的敏感数据。这是通过使用证书和密钥来实现的。证书包含基本信息和数字签名,可以正确识别与其关联的客户端或服务器。密钥由公钥、私钥和会话组成,它们共同建立加密连接。

 

例子

 如果您曾经在亚马逊中域永信上买过东西,那么您就用过 SSL。结账时,您可能注意到 Web 浏览器状态栏上的小挂锁图标 ,或者浏览器的 URL 字段以 https 开头。这表示您正在通过 SSL 与网站的服务器通信,以保护您的个人信息、信用卡号等。Web 浏览器和网站服务器之间的这种 SSL 包括下文所述的通常称为服务器身份验证的内容。

 

服务器身份验证是使用服务器证书 向客户端验证和识别服务器的一种方式。服务器证书是任何 SSL 通信的必需部分。服务器证书包含基本信息和数字签名,可正确识别与其关联的服务器。

 

客户端身份验证与服务器身份验证类似,是一种使用客户端证书向服务器验证和识别客户端的方法。客户端证书包含有关客户端身份的基本信息,此证书上的数字签名可验证此信息的真实性。

 

相互认证 SSL 的步骤

本节列出了相互认证的分阶段步骤。

 

第一阶段

第一阶段,客户端连接到一个使用 SSL(https)保护的 Web 服务器(网站)。详细步骤如下:

1. 客户端通过向服务器发送“客户端问候”消息来启动该过程。客户端问候消息包括加密信息,例如 SSL/TLS 版本、密码套件(按客户端的偏好顺序)和客户端支持的数据压缩方法。

2. 服务器向客户端回复“Server Hello”消息,其中包含:

1. SSL/TLS 版本(服务器从客户端提供的列表中选择)

2. CipherSuite(由服务器从客户端提供的列表中选择)

3. 数据压缩方法(服务器从客户端提供的列表中选择)

4. 会话 ID

5. 客户端证书请求。

仅在相互认证的情况下,服务器才发送客户端证书请求。

 

第二阶段

在第二阶段,客户端执行服务器验证。这就是相互或双向认证。

1. 服务器将其数字证书(包含服务器公钥)发送给客户端。

2. 服务器向客户端发送“Server Hello Done”消息。

3. 客户端验证以下服务器数字证书信息:

1. 证书链

2. 截止日期

3. 证书吊销状态

4. 客户端向服务器发送一串随机数据(使用服务器公钥加密)。

5. 服务器使用其私钥解密客户端发送的数据。客户端和服务器都将使用该数据来生成对称密钥。

第三阶段

在此阶段,客户端验证由服务器执行。

1. 客户端将其数字证书(包含客户端公钥)发送给服务器。

2. 客户端发送“证书验证”消息,其中包含前一条消息的数字签名副本。该消息使用客户端私钥进行签名。

3. 服务器验证客户端数字证书(证书链、到期日期和证书吊销状态)。

4. 服务器使用客户端公钥验证客户端的“证书验证”消息。

第四阶段

在此阶段,客户端和服务器都完成握手过程,以便它们可以开始发送应用程序数据。

1. 客户端发送用对称密钥加密的完成的消息。

2. 服务器发送用对称密钥加密的完成的消息。

一旦成功握手完成,客户端和服务器将使用对称密钥来加密/解密数据。