-
加密传输
- 非对称加密算法:SSL 证书采用非对称加密算法,如 RSA(Rivest – Shamir – Adleman)算法。它使用一对密钥,即公钥和私钥。当客户端(如浏览器)与服务器建立连接时,服务器会将自己的公钥发送给客户端。客户端用这个公钥来加密要发送给服务器的数据。因为只有服务器拥有对应的私钥,所以只有服务器能够解密这些数据。例如,在用户通过浏览器访问银行网站时,浏览器使用银行服务器提供的公钥对登录密码等敏感信息进行加密,即使这些数据在传输过程中被截取,攻击者没有服务器的私钥也无法解密查看内容。
- 对称加密算法协商:非对称加密算法虽然安全,但计算资源消耗较大。因此,SSL 协议会在初始阶段使用非对称加密来交换一个对称加密密钥。对称加密算法(如 AES – Advanced Encryption Standard)使用相同的密钥进行加密和解密。一旦客户端和服务器通过非对称加密安全地交换了对称加密密钥,后续的数据传输就主要使用这个对称加密密钥进行加密。这样可以在保证安全的同时,提高数据加密和解密的效率。
-
身份验证
- 证书颁发机构(CA)验证:SSL 证书是由受信任的证书颁发机构颁发的。这些 CA 机构在颁发证书之前,会对网站所有者(或服务器所有者)的身份进行严格验证。对于不同类型的 SSL 证书,验证程度有所不同。例如,扩展验证(EV)SSL 证书需要验证企业的法律实体、实际经营地址等详细信息;组织验证(OV)SSL 证书会验证企业或组织的合法性;而域名验证(DV)SSL 证书主要验证域名的所有权。
- 数字签名:CA 机构在颁发证书时,会对证书进行数字签名。数字签名是一种基于非对称加密的技术,它可以保证证书的完整性和真实性。当客户端收到服务器的 SSL 证书时,会使用 CA 机构的公钥来验证证书上的数字签名。如果签名验证成功,说明证书是由受信任的 CA 机构颁发的,并且证书内容没有被篡改。这样就可以确保客户端连接到的是真正的目标服务器,而不是伪装的服务器。
-
数据完整性保护
- 消息认证码(MAC):SSL 协议使用消息认证码来确保数据在传输过程中的完整性。MAC 是一种基于密钥的哈希函数,它可以对消息进行加密处理,并生成一个固定长度的认证码。在数据传输过程中,发送方会计算消息的 MAC,并将其与消息一起发送给接收方。接收方使用相同的密钥和算法重新计算 MAC,并与接收到的 MAC 进行比较。如果两者一致,说明数据在传输过程中没有被篡改。例如,在文件传输场景中,SSL 协议可以通过 MAC 来确保文件内容没有被修改。