关于网站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使用"混合加密"机制,完美地结合了二者的优点:用安全的非对称加密来交换密钥,再用高效的对称加密来处理海量的实际数据。

相关推荐
今夕资源网11 小时前
本地SSL证书生成工具本地 HTTPS 配置不用再敲命令:CertTool 一站式管理自签证书与 Hosts
网络协议·https·ssl·ssl证书生成·ssl本地测试证书
瓦格哈儿2 天前
删掉旧 SSL 证书会影响线上业务吗?风险点梳理
网络协议·https·ssl
姚不倒3 天前
HAProxy 系列(二):健康检查与 SSL 卸载 — 保障可用性与性能
运维·网络·网络协议·ssl·haproxy
MyFreeIT4 天前
Let‘s Encrypt SSL 製作免費證書
网络协议·https·ssl
00后程序员张4 天前
Android证书绑定抓包失败?Android SSL Pinning绕过实战指南
android·网络协议·计算机网络·网络安全·adb·https·ssl
武帝为此5 天前
【TLS SSL 介绍】
网络·网络协议·ssl
吠品8 天前
SQL Server 版本查询的几种实用方法
数据库·网络协议·ssl
瓦格哈儿8 天前
内网环境也需要证书?聊聊内网 IP 证书的适用边界
网络协议·ssl
CZIDC9 天前
华为服务器TS200-2280 V2 iBMC导入SSL证书后问题案例分析
服务器·https·ssl
m0_6174939411 天前
SSLError [ASN1: NOT_ENOUGH_DATA] 问题排查与解决指南
python·ssl