计算机网络——公钥数字认证

        当客户端和服务器进行非对称的密钥通信时,服务器需要将一把公钥安全无误的交给客户端,这就涉及了公钥会不会被伪冒的问题。为了解决这一问题,可以使用权威认证机构CA去认证公钥的官方性。

        首先服务器接收到SSL/TLS连接请求后,生成一把公钥和一把私钥,然后向权威机构CA申请公钥认证证书。

        CA拿到公钥后给服务器端生成文件证书(包含序号Serial Number,发行人Issuer,合法性Validity等),然后将文件证书经过Hash算法计算成为一个哈希值,接着使用自己的私钥给哈希值进行加密,此时就相当于给证书加上了自身特有的签名。然后将加密过的哈希值作为Certificate Signature绑定文件证书,文件证书和数字签名共同放入数字证书中返回给服务器,服务器拿到后将其发送给客户端。

        发送的过程中,文件证书中的信息没有被加密,所以是可能被拦截改动的

        客户端拿到数字证书后选择一开始约定好的密码套件中的公钥加密算法,给数字签名解密,解密后就获取了被哈希算法加工后的哈希值。而客户端同样可以使用约定好的哈希算法给接收到的文件证书计算哈希值,若两个哈希值是一样的,那么就可以断定:1.证书没有被中途修改,否则前者的哈希值会出现偏差,2.证书是权威机构发的,否则用公钥解开的数字签名不可能与之前的哈希值一样。

        后面就可以根据公钥加密第三个秘密随机数,最后用于生成对称通信的密钥。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Aristocrat l

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

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

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

打赏作者

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

抵扣说明:

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

余额充值