关于网站SSL证书相关知识学习笔记

一、现实例子

我讲一个老王和翠花的故事,在他们很小的时候,老王还是小王,翠花还是小花,他们青梅竹马,两小无猜......后来,悲剧了,翠花家搬到了大河对岸的村子里。

多年后,小王长成了老王,他十分想念翠花,有一天老王隔河大喊:"喂,翠花,你好吗!",老王在请求沟通,专业术语叫"请求"。

翠花听到老王的声音,隔河大声回应:"我很好,你也好吧?"

以上,翠花在回应老王在请求沟通,专业术语叫"响应"。

由于二人的通话没有加密,所以,二人的喊话,河两岸的路人都能听到,这多不好意思呀!私密话都不敢说,总不能天天问好吧?

再者,多年不见了,也可能有人会模仿翠花回应老王,也可能老张会假装老王向翠花发出请求。

所以,二人需要通过书信、打电话等方式对他们的对话内容进行加密,通过身份认证(私人手机号码,身份证等)确定对方真实身份再进行进一步的沟通交流。

还有,需要对其通话内容完整性进行保护,比如不能将翠花这一句"我很好,你也好吧?"传达的不完整,例如传达为"我很你吧"。这就更悲剧了!

个人身份证由国家公安机关颁发,个人手机号码由电信部门进行实名认证后分配后给用户使用。通过以上方法,老王可以和翠花相互验证对方是不是当年的小五和小花。

二、网民老王与翠花公司的网站

类似的,网民老王通过浏览器访问翠花公司网站服务器时,为防止有酸菜公司、罂粟花公司假冒翠花公司公司建立假冒站点(或钓鱼网站)欺骗网民老王,需要可信的CA机构颁发网站SSL证书以证明网站的确是翠花公司的。从更全面的安全角度出发,在一些高安全场景下,翠花公司也可能需要通过TLS客户端证书等技术手段进一步验证来访者是否为老王真实身份。

这里说的可信的CA机构类似于公安部门,网站证书相当于个人身份证,目的是为了证明网站的身份。与公安部门强调公民必须办理身份证不同的是,翠花公司需要向CA机构提交自身证明材料,经CA机构核实后才给翠花公司颁发证书,认证和提供证书服务是CA机构的收费服务。

所以,网站SSL证书主要提供数据加密传输、身份验证、数据完整性保护等作用。

三、翠花网站SSL证书的申请过程

翠花申请SSL证书的标准流程如下:

生成(1)证书签名请求(CSR)文件:在翠花公司服务器上使用工具生成一个包含翠花公司网站域名、翠花公司信息等的CSR文件。此过程也会同时生成一个(2)私钥文件,私钥必须严格保密。

向CA提交申请:翠花公司将(1)证书签名请求(CSR)文件提交给一家CA机构,并根据要求提供相应的验证材料(营业执照、法人身份证等)。

CA审核验证:CA机构会根据验证域名所有权、审核企业营业执照或进行更严格的第三方核查。

颁发与安装证书:验证通过后,CA会向翠花公司颁发(3)SSL证书。翠花公司需要将(2)私钥文件以及(3)SSL证书部署到公司网站服务器上,并配置Web服务器以启用HTTPS。

在证书申请流程中,最基本且必需的文件是这三个。但在证书颁发后的部署和运行阶段,需要长期保密保管并在服务器上配置的核心文件是私钥文件和SSL证书文件。"

四、SSL证书的技术原理

技术原理为通过握手协议、记录协议、警报协议3个子协议分工合作,在不可信的网络环境中为客户端和服务器之间建立了一条可信的、加密的、防篡改的安全通道。

(一)握手协议

通过握手协议完成服务器身份认证并获取到服务器公钥,这正是SSL/TLS握手阶段最核心的2个成果。

1.服务器发送证书:

服务器将其SSL证书(通常是一个证书链,包含服务器证书和中间CA证书)发送给客户端。

核心作用:这个证书中包含了服务器的公钥,以及由CA机构签名的服务器身份信息。

2.客户端验证证书并获取公钥:

客户端(如浏览器)收到证书后,会执行一套严格的验证流程,这正是身份认证的关键:

信任链验证:检查证书链是否可追溯至一个客户端内置的、受信任的根证书颁发机构(CA)。这确保了证书的签发方是可信的。

信息验证:检查证书是否在有效期内,以及证书中声明的域名是否与正在访问的网站域名完全匹配。

核心作用:一旦验证通过,客户端就确信:"我手里的这个公钥,确实属于我正要通信的那个真实的服务器。" 至此,服务器身份认证完成,客户端也安全地获取了服务器的公钥。

3.客户端使用公钥加密信息:

认证通过后,客户端会生成一个用于后续对称加密的预备主密钥。

然后,它使用从服务器证书中刚刚获取并验证过的公钥,对这个预备主密钥进行加密,并发送给服务器。

核心作用:由于只有拥有对应私钥的服务器才能解密此信息,这个过程确保了预备主密钥的安全传输,实现了安全的密钥交换。

简单的说,握手协议的过程可以类比为一个安全的"介绍信"机制:

认证:CA机构颁发的证书就是服务器的"介绍信"。客户端通过验证"介绍信"的真伪(证书签名)和内容(域名、有效期)来确认服务器的身份。

获取公钥:这张被验证为真实的"介绍信"上,就清晰地写着服务器的"公开联系方式"(公钥)。客户端可以放心地使用这个公钥来加密只有服务器才能解密的信息。

在握手阶段,密钥交换使用了非对称加密技术:即客户端使用服务器的公钥加密'预备主密钥',服务器使用自己的私钥解密获取它。

预备主密钥是生成会话密钥的"种子"和核心输入。客户端和服务器使用预备主密钥、结合双方交换的随机数,通过一个标准的密钥派生函数,最终计算出用于记录协议中对称加密和完整性验证的真正会话密钥。

(二)记录协议

握手成功后,就由记录协议负责"包装"和"运输"所有上层应用数据(如HTTP)。它接收来自应用层的数据,进行分片、压缩、添加消息认证码,然后使用握手阶段商定的会话密钥进行对称加密,最后添加头部信息,通过TCP连接传输。接收方则执行反向的解密、验证、重组等操作。

加密技术:使用了对称加密安全交换技术。即客户端和服务器之间所有往来的请求和响应数据,都使用上一步生成的同一个会话密钥进行加密和解密。

(三)警报协议

这是安全连接的"预警系统"。当通信的任何一方检测到错误(如证书无效、消息验证失败、连接需要关闭)时,就会通过警报协议向对方发送一条警报消息。如果是致命错误,双方会立即终止SSL连接,防止不安全的数据传输。

五、SSL/TLS的"混合加密"机制

我们今天常说的"SSL",其实指的是它的现代化身"TLS"。

非对称加密:安全性高,但计算非常复杂,速度慢。用于SSL握手协议阶段。

对称加密:计算简单,速度极快,比非对称加密快上百甚至上千倍。用于SSL记录协议阶段。

如果SSL全程使用非对称加密,虽然安全,但会带来巨大的计算开销,导致网站访问速度极慢。

事实上, SSL/TLS使用"混合加密"机制,完美地结合了二者的优点:用安全的非对称加密来交换密钥,再用高效的对称加密来处理海量的实际数据。

相关推荐
bloglin999991 天前
ssl和tls加密
网络·网络协议·ssl
0***R5152 天前
后端日志系统
eureka·wireshark·ssl
伞啊伞2 天前
nginx https ssl证书
nginx·https·ssl
4***v2143 天前
使用 Certbot 为 Nginx 自动配置 SSL 证书
运维·nginx·ssl
ganshenml3 天前
【Web】证书(SSL/TLS)与域名之间的关系:完整、通俗、可落地的讲解
前端·网络协议·ssl
世界尽头与你3 天前
SSL 签名相关漏洞
网络·安全·ssl
吠品5 天前
免费SSL证书自动化申请:DNS代理验证
网络协议·自动化·ssl
普普通通的南瓜6 天前
IP证书在关键信息基础设施安全防护中的实践与挑战
网络·数据库·网络协议·tcp/ip·安全·ssl
e***75396 天前
在 Windows 上生成本地 SSL 证书并使用 HTTPS 访问本地 Nginx 服务器
windows·https·ssl