数字证书与身份认证攻防

数字证书是一个电子文档,其中包含了持有者的信息、公钥以及证明该证书有效的数字签名。

证书签名与验签:

签名: 上级证书拥有者,搜集到下级证书申请信息后,将整体信息使用私钥签名;

验签: 使用上级证书的公钥对签名信息完成;

签名函数:  signdata = encrypty(privateKey, hash(data))

验签函数:  hash(data) == decrypty(publicKey,(signdata))

https://www.cnblogs.com/feng9exe/p/8056801.html

数字证书的工作原理:

客户端--------证书颁发机构——————服务器

    《—根证书—-                  ———》签名证书 + 私钥

        —————我要和服务器通话———〉

〈——————签名证书—————

本地验证通过

      ————————通信—————————-〉

一、证书拷贝下发:

能够通过身份认证,但是因为手里没有私钥,所以不能完成通信;

没有持有者的同等能力;

相当于偷了别人的身份证和学位证,但是没有专业技能;

二、证书伪造:修改身份信息里的公钥,生成自签名证书

无法通过证书认证;

相当于拷贝了别人的身份证、毕业证,同时修改了专业信息,但是没有通过学位办的认证;

三、本地根证书篡改

在第一步证书伪造的的基础上,修改本地的根证书;

能够通过认证,从而完成信息窃取;

相当于拷贝了别人的身份证、毕业证,同时修改了专业信息,同时给了一个假的认证机构通过了认证;

四、完整的证书验证

客户端本身拥有服务器证书,完成证书比对;

此方案可以杜绝证书伪造+根证书攻击的攻击;

同时它不再需要证书验证体系的支持;

原文地址:https://www.cnblogs.com/feng9exe/p/10622020.html