• 数字证书与身份认证攻防


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

    证书签名与验签:

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

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

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

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

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

    数字证书的工作原理:

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

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

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

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

    本地验证通过

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

    一、证书拷贝下发:

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

    没有持有者的同等能力;

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

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

    无法通过证书认证;

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

    三、本地根证书篡改

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

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

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

    四、完整的证书验证

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

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

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

  • 相关阅读:
    怎么判断是从微信浏览器打开还是手机自带的浏览器(其他浏览器)打开?
    h5移动端页面强制横屏
    苹果的正常显示,安卓的不知道写了什么白屏了
    截取地址栏的最后一个参数
    检测手机号码的正则表达式
    js判断是不是在微信浏览器打开?
    LArea插件选中城市,确定之后又很难再次选择城市?
    display: inline-block 布局
    调试
    时间
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10622020.html
Copyright © 2020-2023  润新知