美文网首页工作生活
Web 安全之 数字签名和证书

Web 安全之 数字签名和证书

作者: 赵永盛 | 来源:发表于2019-06-29 16:07 被阅读0次
    首先:

    公私钥都可以互相解密对方加密的信息,是一对密钥

    流程:
    1. A 生成密钥对,交给 B 公钥。
    2. B 给A 发信用公钥加密
    3. A 收到信用 私钥解密
    4. A 回信,先 对信件内容做 hash, 生成 摘要,然后使用 私钥对摘要加密,就是数字签名。附件到信件下面,发给 B
    5. B 收到回信,用公钥对数字签名解密,得到摘要。然后自己对信件内容做一次 hash, 得到摘要。然后比对两次 摘要是否相等,如果相等,那么信件内容未被篡改,否者就是被篡改了


    如果 C 把 B 的公钥偷换成自己的公钥,并欺骗 B 所拥有的公钥就是 A的。而且 B 冒充 A 和 C 通信,用自己的私钥和 B 来回通信,这个过程可以正常通信,没什么技术问题。只要让 B 相信自己就是 A !

    但是,发生了欺骗,虽然通信过程有了一定的安全性,但是通信身份无法保证!



    所以有了 CA(证书中心),那么作用是什么呢?

    首先,A 要去 CA 为自己的公钥做认证,让这个第三方机构承认自己的公钥就是属于自己的。
    证书中心用自己的私钥 对 A 的公钥和其它一些信息一起加密,生成 “数字证书”,颁发给 A

    1. A 和 B 通信,交给 B 信件内容,数字签名,数字证书
    2. B 收到信,用 CA 的公钥解开数字证书,拿到 A 的公钥
      然后用得到的公钥继续解密数字签名,比对 摘要

    解决了什么问题:

    公钥是从权威第三方手里拿到的,不可能被偷换

    新的问题:

    假如 C 也去 证书中心做认证,一开始就冒充 A 和 B 通信,这也是没问题的。

    那么如何让 B 相信和一开始自己通信的 就是 A 呢 ?!
    这就要靠 B 自己去识别通信对象的正确性,并且交换 A 的数字证书

    如何识别?
    假如你访问 淘宝,淘宝的网址是自己辨别的。你不能输入一个京东的网址,说自己访问的是淘宝,那只能怪你自己了...

    假如美女硬要把 张三当李四看,不也是没办法的事情嘛...

    总结:

    一开始的通信身份要靠自己去辨别,数字签名,数字证书只能保证后续通信过程的安全性

    相关文章

      网友评论

        本文标题:Web 安全之 数字签名和证书

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