密码学 | 数字证书:应用

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

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

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

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

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

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

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

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

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

上图源自 Chrome 浏览器

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

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

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

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

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

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

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

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

相关推荐
网安INF10 天前
公钥加密与签名算法计算详解(含计算题例子)
网络·算法·网络安全·密码学
电院工程师12 天前
基于机器学习的侧信道分析(MLSCA)Python实现(带测试)
人工智能·python·嵌入式硬件·安全·机器学习·密码学
电院工程师13 天前
SM3算法C语言实现(无第三方库,带测试)
c语言·算法·安全·密码学
小七mod15 天前
【BTC】密码学原理
web3·区块链·密码学·比特币·btc·肖臻·北大区块链
电院工程师20 天前
轻量级密码算法PRESENT的C语言实现(无第三方库)
c语言·算法·安全·密码学
电院工程师20 天前
轻量级密码算法CHAM的python实现
python·嵌入式硬件·算法·安全·密码学
电院工程师21 天前
SM3算法Python实现(无第三方库)
开发语言·python·算法·安全·密码学
网安INF21 天前
SHA-1算法详解:原理、特点与应用
java·算法·密码学
渗透好难24 天前
CTF show 数学不及格
安全·系统安全·密码学
网安INF25 天前
ElGamal加密算法:离散对数难题的安全基石
java·网络安全·密码学