新闻中心

了解SSL最新动态及行业资讯

当前位置:首页>新闻中心

什么是SSL?什么是SSL证书?

时间:2024-12-19   来源:互联网   访问量:1015

什么是SSL

安全套接层SSL(Secure Sockets Layer)协议是在Internet基础上提供的一种保证私密性的安全协议。SSL通过握手在客户端和服务器之间建立会话,完成通信双方身份的验证、密钥和加密套件的协商,从而确保客户端与服务器之间的通信不被窃听,保证网络上数据传输的安全性。SSL 使用证书对通信双方之间建立连接的两端进行认证,从而确保安全。


为什么需要SSL?

网络中明文传输敏感数据(银行数据、交易信息、密码信息等)是非常危险的,这对网络通信的安全性提出了更高的要求,SSL目的是提供通信安全及数据完整性保障。传统的万维网协议HTTP(Hypertext Transfer Protocol )不具备安全机制,采用明文形式传输数据,不能验证通信双方的身份,无法防止传输的数据被篡改,安全性很低。Netscape公司提出的安全协议SSL,利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证。SSL为HTTP提供安全连接,可以防止中间人攻击和网络监听,从而很大程度上改善了万维网的安全性问题,这就是SSL的起源。

HTTPS是在HTTP上应用SSL来保障HTTP的安全性,对HTTPS可以简单理解为HTTPS=HTTP+SSL,当前主流网站Facebook,  Google, 淘宝等都使用SSL通信加密提高数据的安全性。SSL在各电子商务活动和电子政务活动中也得到广泛应用,如:银行金融、网上缴费、网上签约、政务平台等。


download.png

HTTP报文传输示意图


download (1).png

HTTPS报文传输示意图


虽然SSL设计的初衷是为了解决万维网的安全性问题,但是由于SSL位于应用层和传输层之间,它可以为任何基于TCP等可靠连接的应用层协议提供安全性保证。动态路由协议BGP、通信协议OpenFlow、gRPC协议等都支持配置SSL,使得服务端和客户端建立安全的SSL连接,来提高设备的安全性。


什么是SSL证书

SSL协议的这些安全机制需要有证书配合一块使用才能实现。SSL使用证书对通信双方之间建立的连接的两端进行身份认证,并使用证书对加密的通信信道进行协商,从而确保安全。在SSL协议通信过程中使用的证书被称为SSL证书。

SSL证书是一种遵循SSL协议的数字证书,包含拥有者的公钥及相关身份信息,由受信任的数字证书颁发机构(CA)颁发。SSL证书采用SSL协议进行通信,具有服务器身份验证和数据传输加密功能,用于保证设备内的各服务间,以及设备与外部通信的安全性,防止通信数据在传输过程被篡改造成安全风险,提升系统的安全性。数字证书可以说是网络上的安全护照或身份证,提供的是网络上的身份证明。

证书认证机构CA(Certificate Authority)

CA是负责颁发、认证和管理证书的第三方机构,具有权威性,公正性。CA的作用是检查数字证书持有者身份的合法性,并签发数字证书(在证书上进行数字签名),以防证书被伪造或篡改,以及对证书和密钥进行管理。CA通常采用多层次的分级结构,根据证书颁发机构的层次,可以划分为根CA和从属CA。国际上被广泛信任的CA,被称之为根CA。根CA可授权其他CA为其下级CA。

CA的角色类似于现实世界中的公证机构,其核心功能就是发放和管理数字证书,包括:证书的颁发、撤销、查询、归档和证书废除列表CRL(Certificate Revocation List)的发布等。


download (2).png

CA层次示意图

如何获取SSL证书

SSL证书是需要购买申请的。要获取证书,可以通过证书品牌官网在线下单购,当前主流的SSL证书可信的颁发机构有:DigiCert、Symantec、GeoTrust、Comodo、GlobalSign、Thawte、RapidSSL、AlphaSSL、Sectigo等。由于这些证书品牌大多是在海外,国内通常通过证书代理商伙伴网站下单购买,如华为云、阿里云、腾讯云、亚洲诚信等。


download (3).png

SSL证书的申购全流程图


SSL是如何工作

SSL协议可以为通信双方提供身份识别和认证通道,从而保证通信的数据完整性和机密性。其核心是通过“握手”这个过程在服务器和客户端通过几个回合的沟通,实现通信双方消息交换及身份认证,并确立后续通信过程中要使用的的加密算法以及会话密钥。然后在握手之后的通信过程中,通过这个会话密钥进行加解密,并在后续信息传输中只传递密文。


download (4).png

握手过程示意图


SSL协议握手过程,主要分成以下几个步骤:

      实际上,这个随机生成的密钥不能直接用来加密数据或计算MAC值,该密钥是用来计算对称密钥和MAC密钥的信息,称为premaster secret。SSL客户端和SSL服务器使用client random,server random 和 premaster secret,并通过相同的算法生成相同的主密钥(master secret),再利用master secret生成用于对称密钥算法、MAC算法的密钥。

当服务器需要验证SSL客户端身份时,握手过程中还需要增加三个交互消息:SSL服务器发送Certificate Request请求要求SSL客户端提供证书,SSL客户端发送自己的证书Certificate给服务器、SSL客户端发送验证消息Certificate Verify给服务器。


SSL和TLS关系

SSL和TLS都是加密协议,TLS 实际上是SSL的升级版本。传输层安全性TLS(Transport  Layer Security)协议,是在SSL协议的基础上提供的一种保证数据完整性和私密性的安全协议,可以使客户端与服务器之间的通信不被攻击者窃听。SSL由Netscape(网景通信公司)创建,共有三个版本:SSL1.0、SSL2.0、SSL3.0。TLS 1.0是IETF(工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。整体来说TLS1.0和SSL3.0几乎没有区别,仅修复了早期SSL协议中的一些安全漏洞。实际上我们使用的"SSL证书"都是SSL/TLS证书。


download (5).png

SSL和TLS版本的历史


什么是SSL代理?

SSL代理是位于客户端和服务器之间的中介服务器。SSL代理在将数据发送到目的地之前对其进行加密,防止任何人截获数据。从而保护互联网传输的数据,如用户,密码,银行卡号等敏感信息。

作为客户端和服务器的中间人,在收到请求后,代理客户端和服务器侧建立连接,自己同时作为服务器和客户端建立连接。由于实际上SSL代理把SSL的握手变成了两个完全独立的过程,因此,作为中间人可以完全获得客户端和服务器的交互内容,从而达到对内容进行处理的目的。

其典型应用场景如下:

上一篇:没有了!

下一篇:SSL证书是什么?SSL证书的作用