密码学 | 数字证书:应用

🥑原文: 数字签名和数字证书的原理解读 - 知乎

🥑前文: 密码学 | 数字签名 + 数字证书 - CSDN

🥑提示: 把客户端想成 Alice,服务器端想成 Bob 即可。客户端实际上指的是客户端浏览器。

下面,我们看一个应用 数字证书 的实例:HTTPS 协议,该协议主要用于网页加密。

**Step1:**首先,客户端向服务器发出加密请求。

为什么说是加密请求啊?这里不是申请一个安全连接吗?

**Step2:**服务器用自己的私钥加密网页以后,连同自己的数字证书,一起发送给客户端。

个人理解:这里客户端是 Alice 的角色,Server 是 Bob 的角色。Bob 发送给 Alice 的信息包含:私钥加密后的网页内容、数字签名、数字证书。其中,数字证书是证书授权中心 CA 颁发给 Bob 的。数字证书用于提供 Bob 的公钥,防止其他人的公钥冒名顶替。

Step3: 在客户端浏览器的 证书管理中,有 受信任的根证书颁发机构 列表。客户端浏览器会根据这张列表,查看颁发服务器数字证书的 CA 的公钥是否在列表中。

上图源自 Chrome 浏览器

个人理解:客户端浏览器首先要判断颁发该数字证书的 CA 靠不靠谱。

**Step4:**如果数字证书不是由受信任的机构颁发的,客户端浏览器会发出警告。

找不到高清的图啊,不知道各个浏览器有没有对这些安全警告的汇总😇

Step5: 如果数字证书记载的网址,与你正在浏览的网址不一致,那么说明该数字证书可能被冒用,客户端浏览器会发出警告。

在谷歌上只找到了年代久远的安全警告😇

说明:数字证书不仅包含了服务器的公钥,它还包含了服务器的身份信息,比如服务器的名称即网址。

Step6: 如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息了。

个人理解:如果数字证书是可靠的,说明证书中的服务器公钥没有被冒名顶替,那么以后在传输信息的时候,客户端可以放心地使用服务器的公钥对信息进行加密,并且只有服务器的私钥才能解开加密后的信息。

相关推荐
祁许1 天前
【Golang】手搓DES加密
开发语言·golang·密码学
白#泽5 天前
信息安全设计实验3 1-3学时
ai·密码学
看星猩的柴狗5 天前
现代密码学|古典密码学例题讲解|AES数学基础(GF(2^8)有限域上的运算问题)| AES加密算法
密码学
Nonullpoint.6 天前
对称加密与非对称加密:密码学的基石及 RSA 算法详解
java·计算机网络·算法·网络安全·密码学
it技术分享just_free7 天前
软考教材重点内容 信息安全工程师 第 3 章 密码学基本理论
网络安全·信息安全·密码学·软考
abments9 天前
JavaScript逆向爬虫教程-------基础篇之JavaScript密码学以及CryptoJS各种常用算法的实现
javascript·爬虫·密码学