• 数字签名与数字证书


    数字签名与数字证书

    1.数字签名

      数字签名的作用就是确保 A 发送给 B 的信息就是 A 本人发送的,并且没有改动。

      数字签名的基本过程:

      (1)A 使用“摘要”算法(SHA-1,MD5等)对发送信息进行摘要。

      (2)使用 A 的私钥对信息摘要进行加密运算,将加密摘要和原文一并发送给 B 。

      验证签名的基本过程:

      (1)B 接收到加密摘要和原文后,使用和 A 一样的“摘要”算法对原文再次摘要,生成新摘要。

      (2)使用 A 公钥对加密摘要解密,还原成原摘要。

      (3)两个摘要对比,一致说明由A发出且没有经过任何篡改。

      由此可见。数字签名功能有信息身份认证、信息完整性检查、信息发送不可否认性,但不提供原文信息加密,不能保证对方能收到消息,也不对接收方身份进行验证。

    2.数字证书

      场景:A 声明自己是某银行办事员向客户索要账号和密码,客户验证了 A 的签名,确认索要密码的信息是 A 发过来的,那么客户就愿意告诉 A 用户名和密码吗?

      显然不会。因为客户仅仅证明信息确实是A发过来的没有经过篡改的信息,但不能确认 A 就是银行职员、做的事情是否合法。

      这时需要有一个权威中间部门(如政府、银监会等),该部门向 A 颁发了一份证书,确认其银行职员身份。

      这份证书里有这个权威机构的数字签名,以保证这份证书确实是权威机构所发。

      数字证书采用公钥体制进行加密和解密。每个用户有一个私钥来解密和签名;同时每个用户还有一个公钥来加密和验证。

      【】说明了数字证书、CA 签名、证书公钥的作用。

      某网站向证书颁发机构(Certification Authority,CA)申请了数字证书,用户通过 CA 的签名来验证网站的真伪。在用户与网站进行安全通信时,用户可以通过证书中的公钥进行加密和验证,该网站通过网站的私钥进行解密和签名。

       (1)X.509格式。

      目前数字证书的格式大多是 X.509 格式,X.509是由国际电信联盟(ITU-T)制定的数字证书标准。

      在X.509标准中,包含在数字证书中的数据域有证书、版本号、序列号(唯一标识每一个 CA 下发的证书)、算法标识、颁发者、有效期、有效起始日期、有效终止日期、使用者、使用者公钥信息、公钥算法、公钥、颁发者唯一标识、使用者唯一标识、扩展、证书签名算法、证书签名(发证机构,即 CA 对用户证书的签名)。

      (2)证书发放。

      证书由 CA 中心发放,无需特别措施。

      由于网络存在多个 CA 中心,因此提出了证书链。证书链服务是一个 CA 扩展其信任范围的机制,实现不同认证中心发放的证书的信息交换。

      如果用户 UA 从 A 地的发证机构取得了证书,用户 UB 从 B 地的发证机构取得了证书,那么 UA 通过证书链交换了证书信息,则可以与UB进行安全通信。

      (3)证书吊销。

      当用户个人身份信息发生变化或私钥丢失、泄露、疑似泄露时,证书用户应及时地向 CA 提出证书的撤销请求,CA 也应及时地把此证书放入公开发布的证书撤销列表(Certification Revocation List, CRL)。

      证书撤销的流程如下:

      1)用户或其上级单位向注册机构(Registration Authority,RA)提出撤销请求。

      2)RA 审查撤销请求。

      3)审查通过后,RA 将撤销请求发送给 CA 或 CRL 签发机构。

      4)CA 或 CRL 签发机构修改证书状态并签发新的CRL。

      当该数字证书被放入 CRL 后,数字证书则被认为失效,而失效并不意味着无法被使用。如果窃取到甲的私钥的乙,用甲的私钥签名了一份文件发送给丙,并附上甲的证书,而丙忽视了对 CRL 的查看,丙就依然会用甲的证书成功验证这份非法的签名,并会认为甲对这份文件签过名而接收该文件。

  • 相关阅读:
    MySQL驱动扯后腿?Spring Boot用虚拟线程可能比用物理线程还差
    15:00面试,15:06就出来了,问的问题有点变态。。。
    TCP/IP四层模型
    Java给图片增加水印,根据图片大小自适应,右下角/斜角/平铺
    vm2 组件存在沙箱逃逸漏洞
    计算机毕业设计Java球馆预约管理系统(源代码+数据库+系统+lw文档)
    关于 Eclipse 的一场 “三角关系”
    无涯教程-JavaScript - CONFIDENCE.NORM函数
    JavaScript提取html页面的链接和标题
    基于51单片机步进电机节拍步数正反转LCD1602显示( proteus仿真+程序+原理图+设计报告+讲解视频)
  • 原文地址:https://blog.csdn.net/weixin_45627039/article/details/127362990