来源:数字签名,数字证书,证书链原理(图文详解)_Ruby丶彬的博客-CSDN博客_证书链验证原理

数字签名,数字证书,加密简述

数字签名:谈及数字签名,就如小时候老师叫把卷子或者作业带回去给家长签字。只不过数字签名非物理用笔签名,是通过计算机电子签名,这过程就涉及身份认证和信息加密。
例如:卷子的成绩考个0分等信息是不希望被其他人知道的就需要加密(信息加密);家长对卷子签字,需要对卷子作实名认证,证实确实是自己孩子而非他人的卷子(身份认证)。
数字证书:数字证书是用来认证公钥持有者身份合法性的电子文档,以防止第三方冒充行为。由CA证书授权中心颁发。
加密:顾名思义,就是对数据通过一些算法进行数据加密
对称加密算法: 加密和解密的密钥使用的是同一个,如DES,3DES,AES
非对称加密算法: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥和私有密钥。A对B通信,A对数据用A的私钥加密,B就可以用A的公钥进行解密得到原数据。如RSA,DSA,ECC
业务场景:签合同,以前签合同都是纸质的合同,然后用笔签。这种方式需要线下面对面签署,实在不方便,因此数字签名的优势就逐渐体现出来。

数字签名原理

A对B数字签名通信流程
1.A先用Hash函数,对通信data生成通信data的摘要(digest)
2.A使用A的私钥,对这个摘要加密,生成数字签名(signature)。
3.A把signature附在通信data上
4.A把signature附在通信data的数据发给B
5.B用A的公钥对signature解密,解密成功则证明data是由A发出的(身份验证)
6.B对通信data采用同样的hash算法,若生成的digest与原digest相同,则证明通信data未被篡改(信息加密防篡改)

数字证书原理

上述第五步:5.B用A的公钥对signature解密,解密成功则证明data是由A发出的(身份验证)。那么
如何证明B手上的A的公钥,是真的A的公钥呢?若是其他人匿名顶替的A的公钥,此时就有安全问题,那么解决这个问题就有了数字证书。A向CA证书中心对A的公钥进行认证。

1.A向CA申请证书,CA证书中心用CA的私钥给A的信息,A的公钥,证书信息加密生成数字证书
2.A将数字证书与signature同时附在Data上发送B
3.B用CA公钥解密数字证书拿到A的公钥(解密成功则此公钥为A的)
4.B用解密后的A的公钥解密签名signature,生成原digest信息摘要。(解密成功则此信息是A发出的)
5.B对通信data采用同样的hash算法,若生成的digest与原digest相同,则证明通信data未被篡改(信息加密防篡改)

证书链

证书链:顾名思义,就是一系列的证书信任链条。上述通过数字证书证实A的公钥确实是A的,那么如何证实这个数字证书是否可信呢?或者说颁发这个证书的权威机构是否可信呢?
证书有3类:
end-user :最下层的签发人。包含用来加密传输数据的公钥的证书,访问者通过此公钥加密传输数据
intermediates:次等级的签发人。CA用来认证公钥持有者身份的证书,确认end-user证书是属于某个权威机构的证书。
root:最高级别的签发人,负责认证intermediates证书是合法证书的证书。此类是无条件信任的。
证书链指的是通过层级结构最终保证end-user证书中的公钥未被篡改。root认证intermediates,intermediates认证end-user。

数字签名,数字证书,证书链原理相关推荐

  1. 数字签名和数字证书的原理解读(图文)

    数字签名和数字证书的原理解读(图文) 发布日期:2018-10-11 数字签名和数字证书的区别是什么?数字证书是由权威机构CA证书授权中心发行的,能提供在Internet上进行身份验证的一种权威性电子 ...

  2. 数字证书的原理===阿冬专栏

    数字证书的原理与实现 一. 数字证书认证中心(Certficate Authority,CA)就是一个负责发放和管理数字证书的权威机构.对于一个大型的应用环境,认证中心往往采用一种多层次的分级结构,各 ...

  3. 网络安全--数字签名/数字证书

    对称加密: 未加密的信息+秘钥 --> 加密的黑盒子 --> 加密后的信息 加密后的信息+秘钥 --> 解密的黑盒子 --> 未加密的信息 非对称加密: 未加密的信息+公钥 - ...

  4. 什么是 数字签名 数字证书 数字信封

    1,数字签名 数字证书 数字信封 当A和B进行通信时,将A发送的消息的hash值先用A的私钥进行加密(数字签名),B存储A的公钥,B收到信息之后利用公钥进行解密,保证信息的完整性和保密性来自于A 存在 ...

  5. 网络安全技术——数字证书技术原理

    点击上方"蓝字"关注我们吧 在上节<网络安全技术--加密技术.数字签名技术>中研究了数据通信中的加密和签名技术,在非对称加密体系中,A用户拿到B用户的公钥后便可以用这个 ...

  6. CA证书(数字证书的原理)

    转自:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html(感谢) 文中首先解释了加密解密的一些基础知识和概念,然后通过一 ...

  7. SSL协议与数字证书原理

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  8. 『转载』 SSL协议与数字证书原理

    SSL协议与数字证书原理 1 SSL(Secure Socket Lclientyer)是netscclientpe公司设计的主要用于weserver的安全传输协议.这种协议在WESERVER上获得了 ...

  9. 探讨:网银数字证书加密解密原理

    首先要先理解一些概念,这样才能更好的理解. 公钥和私钥 在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解 ...

  10. 一文了解数字签名、数字证书、自签证书

    参考 关于自签SSL证书的一些小知识汇总 对于ssl中的pem文件和key 文件的理解 openssl 生成证书 ca.pem client.pem server.pem SSL:证书文件 数字证书原 ...

最新文章

  1. BigDecimal的四舍五入的RoundingMode 选择
  2. Linux下如何简单删除/data的空目录
  3. python 一行_一行 Python 代码搞定炫酷可视化
  4. 人人都能学会的python编程教程(基础篇)完整版
  5. java jinternalframe_JInternalFrame的使用
  6. interrupt、interrupted 、isInterrupted 区别
  7. HTML5 Canvas 画纸飞机组件
  8. IT:如何使用Server 2008 R2上的远程桌面服务设置自己的终端服务器
  9. Mysql高可用集群-解决MMM单点故障
  10. java script的trim_Javascript中实现trim()函数的两种方法
  11. 40张图揭秘,「键入网址发生了什么」
  12. MongoDB数据表基本操作
  13. easyconnect无法在mac上使用_Mac上刻录DVD光盘,使用DVD Creator该怎样操作
  14. 浅谈软件外包项目报价
  15. java初中级面试题(SSM+Mysql+微服务(SpringCloud+Dubbo)+消息队列(RocketMQ)+缓存(Redis+MongoDB)+设计模式+搜索引擎(ES)+JVM
  16. python爬虫---如何爬取京东商品评论并进行数据存储
  17. 通过裁切视频画面来改变视频尺寸 ,同时不影响画质
  18. 设定ssh方式登陆路由器的方法
  19. 魔兽世界私服trinitycore2的数据库TDB(1)
  20. 超详细VSCode安装教程(Windows)

热门文章

  1. 如何才能真正的提高自己,真正成为一名出色的架构师?
  2. 陈睿:架构设计之数据库拆分六大原则
  3. 论文浅尝 - ACL2020 | Segmented Embedding of Knowledge Graphs
  4. 征稿 | Big Data Research 专刊(影响因子 2.95)
  5. 最全的Pycharm debug技巧
  6. python实现批量图片/文件重命名
  7. Android系统原生应用解析之桌面闹钟及相关原理应用之时钟任务的应用(一)
  8. Sublime Text 3无法安装Package Control插件的解决
  9. 传入一个MapString,Long 返回它按value排序后的结果
  10. 常用数据库的分页实现