数字签名和数字证书

场景设置

在这里插入图片描述

数字签名

Bob的公钥是公开的,任何人都能够获取,但是仅有Bob保存着自己的私钥。这一对key是用来加密解密的。可以用私钥加密,公钥解密;也可以用公钥加密,私钥解密。

所以Susan可以使用Bob的公钥进行加密,把密文传递给Bob后,Bob可以用自己的私钥解密。当然Bob的Co-workers都可以想Susan一样用使用Bob的公钥。下图演示了Bob和Susan的解密加密过程。

在这里插入图片描述
如果应用合适的软件,利用Bob的私钥我们能够对文本进行数字签名。数字签名可以看做跟在Bob明文后面的“戳”。

数字签名主要是用来防篡改,只要使用了数字签名,如果“坏人”修改了我们传递的内容,是会被我们检测到的。

首先将我们要传递的文本Hash化,生成Hash值,有时候我们称这个值为信息摘要。如下图所示:

在这里插入图片描述

然后Bob使用自己的私钥对信息摘要进行加密。如下图所示:

在这里插入图片描述

接下来Bob将签名附着在正文后面。如下图所示:

在这里插入图片描述

至此我们已经了解了数字签名的过程,接下来Bob把带有签名的文本发送给Pat。Pat会使用Bob的公钥解密签名,将签名转化为信息摘要;Pat也用算法将Bob的正文Hash化,通过正文又会得到一个信息摘要。比较这两个摘要是否相同,如果相同说明信息传输过程数据未被篡改,如果不同说明数据传输过程被篡改。如下图所示:
在这里插入图片描述

数字证书

Doug是一个心怀叵测的人,总是想要欺骗Pat。Doug知道Pat可以获取到Bob的公钥和已签名的数据,于是Doug利用Bob的信息生成了一个欺骗性公钥。对于Pat来说,他无法确定自己获得的公钥是否是正确的。

巧的是Susan在公司的认证中心工作。Susan可以使用Bob的公开信息和公钥为Bob创建一个仅属于Bob的数字证书。如下图所示:
在这里插入图片描述

现在Bob的同事可以使用Bob的数字证书来确定Bob公钥的真实性,事实上,同事们不会相信未经过Susan颁发的数字证书。~~~~~联想一下CA,签发证书的过程干的活类似于Susan,只不过CA站在互联网更高的角度去保障身份验证过程。

回到刚刚的话题,有了数字证书,正常的流程应该是Pat会首先使用Susan的公钥解密Bob的数字证书(该证书是被Susan使用自己的私钥签发的),如果成功解密,说明该证书是Susan签发的证书。接下来Pat可以检查Bob在Susan的证书颁发处的信誉是否良好(CRL OR OSCP),以及与Bob的身份有关的所有证书信息有没有被更改。如果没有发现问题,Pat会从Bob的证书中取出Bob的公钥去解密Bob传给自己的数据,如果成功解密说明Bob传输的数据是由Bob的私钥加密的,然后利用数字签名技术就可以知道Doug是否篡改了数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值