PKI-2-数字签名和数字证书的概念

在PKI-1中提到了加解密,还有非对称算法中公钥和密钥的概念,那么什么是数字签名、数字证书呢

我们先讨论一个场景,有一对情侣分别在遥远的西伯利亚和北京;男生A拿着自己的私钥对情书进行加密,然后通过公共网络发给在繁华都市中的女生B,B收到加密后的情书很高兴,用A的密钥解开,一切看起来很完美,非对称加密算法很强大,不能随随便便被攻破,看起来可以完美的保护他们两个隐私。

这样的步骤是:

  1. A采用自己的私钥加密明文信息
  2. A把加密后的信息通过公共网络传递到B
  3. B用A的公钥解开步骤2中的明文,开始阅读。

请注意以上都是对明文进行加解密。

明文可能很长很长,加解密过程也可能很费时间,非常影响发信和阅读体验。

那么如果不对整个明文进行加解密,只需要保证B收到的信息确实是A发送的就可以了,怎么办呢。

 

现在的步骤是:

  1. A对长长的明文采用摘要算法(例如MD5),这样会生成一个128位的字符串,称为信息摘要(digest),A采用自己的私钥加密这128位的信息,生成的密文就是数字签名(signature)
  2. A把没有加密的明文和数字签名通过公共网络传递到B
  3. B用A的公钥解开数字签名,然后检查收到的信息摘要,是否和收到的明文产生的信息摘要一致,如果一致认为是由A发送的,开始阅读。

由此可以看出,B依靠的是A的公钥,如果B存储A公钥的地方被攻破,被悄无声息的替换,那么A-B之间的安全通信就荡然无存了。

假设C偷偷替换了B手里的私钥,那么C就可以假装成A和B通信了。那B怎么保证A的公钥是可靠的呢。

这时候就需要一个公开的,可靠的,第三方鉴权机构,即“证书中心”(certification authority,简称CA)。

证书中心用自己的私钥,对A的公钥和一些相关信息进行加密,生成“数字证书”(Digital Certificate)

现在的步骤是:

  1. A对创建明文、生成数字签名(signature)。
  2. A把没有加密(也可以加密)的明文数字签名从CA拿到的数字证书(用来证明自己),通过公共网络传递到B
  3. B利用手里CA的公钥(可以理解为客户端的根证书,或者可信赖的第三方证书)验证收到的数字证书是否是CA签发,如是则解开拿到A的公钥,然后检查数字签名通过后,开始阅读。

 

到了此处,大家应该能理解数字签名和数字证书的概念了。

信息安全中由三个基本要求:

  1. 保密性(Confidentiality):信息在传输时不被泄露
  2. 完整性(Integrity):信息在传输时不被篡改
  3. 有效性(Availability):信息的使用者是合法的

这样我们可以看到使用公钥密码对明文加密可以解决保密性数字签名解决完整性,而数字证书保证了有效性

数字签名就是对明文先进行Hash运算,得到Hash值;然后利用自己的私钥对Hash值进行加密,生成签名。

证书实际上就是对公钥和某些信息一起进行数字签名,它是对公钥合法性提供证明的技术。

大家可以看看这个证书的详细信息,能够有些直接感性的认识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南野栀子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值