数字签名与CA证书

数字签名

数字签名也称为公钥数字签名,是一种通过公钥加密领域的技术来鉴别数字信息的方法。
作用:保证发送的信息不被篡改(证明这东西就是这个人的)

下文来自 microsoft 官网说明

  • 真品证书 数字签名有助于确保签署人是他或她声明。
  • 完整性 数字签名有助于确保的内容未被更改或篡改,因为经过数字签名。
  • 认可 数字签名有助于证明向所有方签署的内容。"拒绝"指的签名人拒绝与签署内容的任何关联的操作。

数字签名流程

  1. 生成数字签名
    a. 签名者生成公钥和私钥 ,公钥对外发布,私钥签名者自己保存
    b. 利用哈希算法生成待签名文档的摘要
    c. 利用签名者的私钥,加密文档摘要,得到数字签名
    d. 将签名者的公钥、数字签名(签名者使用私钥加密的文档摘要)、文档,发送给验签者
  2. 验证数字签名
    a. 使用签名者的公钥解密数字签名,获得文档摘要
    b. 使用哈希算法对签名者发过来的文档进行摘要
    c. 将验签者生成的摘要与签名者发送的摘要做对比,如若两者完全相同则验签成功,证明这个文档就是出自签名者之手

CA证书

数字签名用于保证这玩意儿就是这个人发的,但没有办法保证这个人就是我想找的那个人,也可能是有人冒名顶替,此时为了确保这个人就是咱要找的人就得靠CA认证了,因为至少,一个机构比千千万万个人要好认多了。

CA(Certificate Authority,证书颁发机构),是一个公信力较高的第三方实体,主要负责发放和管理数字证书(数字签名理论上是数字证书的一部分)
数字证书分为好几种,具体可以参见链接:https://www.zhihu.com/question/319568766/answer/2482404207,此处仅对CA证书进行探讨(当然其实我觉得原理差不多,也就CA是权威机构,CA证书对外才比较可信且有用)

CA证书主要作用:

  • 验证网站是否可信(在说HTTPS)
  • 验证文件是否可信(也就是数字签名的活儿)

CA颁发证书及认证流程

  1. 申请者发起申请
    a. 申请者生成一对公私钥将自己的域名,国家地区,组织名,邮箱,公钥等一系列明文信息发送给CA认证机构,保留私钥
  2. CA签发证书
    a. CA收到申请,对申请者的合法性进行评估
    b. 评估通过后,CA使用哈希算法对申请者发来的信息及一些CA信息进行摘要,此为摘要1
    c. CA使用自己的私钥对摘要1进行加密,获得数字签名
    d. 申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,以及刚刚的数字签名共同组成了证书,CA把这个证书发给了申请者 (总结:证书=公钥+申请者与颁发者信息+签名;
  3. 证书验证
    a. 客户端C向服务器S(也就是申请者)发出请求
    b. S丢回去一个证书文件
    c. C拿着CA的公钥把签名拆了得到摘要1、申请者公钥和一系列明文信息,再用哈希对明文信息进行摘要,获得摘要2,对比这两个摘要,如果一样则证明这个证书就是CA发的证书(因为CA的公钥是公知信息难以更改),所以可信的CA给出来申请者的公钥一定可信
    d. 此时S可以向C发送信息并用S的私钥加密确保安全性,如果C能够用证书里面拆出的公钥解密则证明S就是C要找的人
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值