美文网首页
21_数字签名、证书

21_数字签名、证书

作者: 伶俐ll | 来源:发表于2020-08-19 12:53 被阅读0次

数字签名的概念

数字签名的概念

数字签名其实就是将公钥密码反过来使用,由消息的发送者通过“私钥”生成签名,由消息的接收者通过“公钥”来验证签名。

image.png
  • 在公钥密码中,任何人都可以使用公钥进行加密
  • 在数字签名中,任何人都可以使用公钥验证签名

数字签名的过程

Snip20200817_7.png
  1. 首先用单向散列函数计算消息的散列值,这里最常用的算法是MD5。
  2. 生成一份非对称加密的公钥和私钥,私钥我自己拿着,公钥公布出去。
  3. 用自己的私钥加密这个散列值,得到一份加密后的数据,称为原始数据的签名。把它跟原始数据一起发送给用户。
  4. 用户收到数据和签名后,用公钥解密收到的签名得到散列值。
  5. 用户用同样的算法计算原始数据的散列值,对比这里计算出来的散列值和用公钥解密签名得到的散列值是否相等,若相等则表示这份数据中途没有被篡改过。

PS:之所以要有第一步计算,是因为非对称加密的原理限制可加密的内容不能太大(不能大于上述n的位数,也就是一般不能大于1024位/2048位),于是若要对任意大的数据签名,就需要改成对它的特征值签名,效果是一样的。

数字签名的作用

对某一份数据打个标记,表示认可了这份数据(签了个名),然后发送给其他人,其他人可以知道这份数据是经过我认证的,数据没有被篡改过。如果有人篡改了文件内容或者签名内容,就会导致签名验证失败,证明内容被篡改了。数字签名不能保证机密性。

  • 确认消息的完整性
  • 识别消息是否被篡改
  • 防止消息发送人否认
数字签名存在的问题

要正确使用签名,有一个前提就是用于验证签名的公钥必须属于真正的发送者,如果遭遇了中间人攻击,那么公钥将是伪造的,数字签名将失效,所以在验证签名之前,首先得先验证公钥的合法性。

那么如何验证公钥的合法性?

  • 证书

证书(Certificate)

基本概念

又称公钥证书(Public-key Certificate,PKC),里面有个人信息、此人的公钥,并由权威认证机构(Certificate Authority,CA)对公钥施加的数字签名。CA 是指能够认定“公钥确实属于此人”并能够生成数字签名的个人或者组织。证书保证公钥合法性。

证书的利用
image.png

相关文章

  • 21_数字签名、证书

    数字签名的概念 数字签名的概念 数字签名其实就是将公钥密码反过来使用,由消息的发送者通过“私钥”生成签名,由消息的...

  • CA、数字证书、数字签名

    本文介绍 CA、数字证书和数字签名的概念和原理。 目录 相关概念 数字签名 数字证书 公钥基础设施 数字证书认证机...

  • Https 编程

    目录 数字签名 数字证书 Https 编程 数字签名 数字签名是非对称加密与数字摘要的组合应用 应用场景 校验用户...

  • 数字签名是什么?

    数字签名是什么? 它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(di...

  • 图解密码技术学习-第十章 证书

    证书介绍 什么是证书 先来回顾一下数字签名技术。数字签名就是将消息的散列值用自己的私钥进行加密,然后接收端用对应的...

  • 安全加密方式总结二

    五、数字签名和数字证书 1、数字签名 5.1.1概述 数字签名的作用在于用来鉴别接受方接受到的信息是否是发送方发送...

  • 什么是数字证书及不同格式的证书

    证书专题目录 1. 什么是数字证书及不同格式的证书 2. 如何查看和获取证书 什么是证书 什么是数字证书和数字签名...

  • 数字签名学习笔记

    以下是关于学习"数字签名"(digital signature)和"数字证书"(digital certifica...

  • DER,CRT,CER,PEM证书以及如何转换它们

    证书和编码 X.509证书的核心是根据RFC 5280进行编码或数字签名的数字文档。实际上,术语X.509证书通常...

  • USBKey技术在J2EE项目中的应用

    安全 USBKey 引导 USBKey技术和数字证书技术一样,也是数字签名的一种应用。我们知道,数字签名是非对称密...

网友评论

      本文标题:21_数字签名、证书

      本文链接:https://www.haomeiwen.com/subject/wzcqjktx.html