密码学 | 数字证书:应用

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

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

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

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

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

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

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

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

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

上图源自 Chrome 浏览器

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

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

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

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

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

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

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

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

相关推荐
无须logic ᭄3 小时前
CrypTen项目实践
python·机器学习·密码学·同态加密
小虎牙^O^1 天前
2024春秋杯密码题第一、二天WP
python·密码学
月印千江6714 天前
从密码学原理与应用新方向到移动身份认证与实践
经验分享·笔记·其他·网络安全·密码学
wzx_Eleven5 天前
【论文阅读】VCD-FL: Verifiable, collusion-resistant, and dynamic federated learning
论文阅读·人工智能·机器学习·网络安全·密码学
网络安全(king)5 天前
密码学——密码学基础、散列函数与数字签名
网络·安全·web安全·密码学
CyberSecurity_zhang9 天前
车联网安全 -- 数字证书到底证明了什么?
安全·数字证书·ca·ra
熬了夜的程序员10 天前
Go语言封装加解密包(AES/DES/RSA)
开发语言·后端·golang·密码学