摘要、数字签名、数字证书

数字签名和数字证书

  • 数字签名
    用途:对数据的签名,证明数字信息的完整性和真实性
    利用密码学原理,将数字数据文件信息利用私钥进行加密,以确保信息的真实性、完整性和不可抵赖性

    构成元素:
    * 原文信息
    * 数字摘要
    * 私钥:用于数据加密
    * 公钥:用于数据解密

  • 数字证书
    用途:多用于证实某个主体(公司和个人)身份的真实性

    一种可信任的数字标识,证明了数字信息的真实性和完整性。数字证书通常被用来认证用户身份,提供数据加密和身份验证功能

    构成元素:
    * 证书主体
    * 证书颁发者
    * 公钥
    * 证书有效期
    * 数字签名等
    种类:
    * 自签名证书:由证书的持有者自己签发
    * 公开信任证书:由专门机构颁发,实现公开信任

对称加密和非对称加密

  • 对称加密
    加密和解密使用相同的秘钥
    加密算法:
    * DES: data encryption standard (数据加密标准),是一个分组加密算法,以64位为分组对数据进行加密,密钥长度是56位
    * AES: advanced encryption standard, 现行的对称加密标准
    以128bit分组,密钥长度:128bit、192bit、256bit
    * DSA: data signature algorithm, 数字签名算法, 一般用于数字签名和认证,发送者使用自己的私钥对文件或消息进行签名,接受者收到消息后使用发送者的公钥来验证签名的正确性。DSA只是一种算法,和RSA不同之处在于他不能用作加密和解密,也不能进行密钥交换,只用用作签名,它比RSA要快很多

  • 非对称加密
    加密和解密使用不同的秘钥,也称为公私钥加密。用户双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。常用的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
    加密算法:
    * ECC : elliptic curves cryptography, 椭圆曲线算法,被认为在给定密钥长度下最安全的加密算法,缺点:加密和解密的实现比其他机制花费的时间长
    * RSA: 这种算法非常可靠,密钥越长,它就越难破解
    私钥通常用来生成签名,公钥用来验证签名

  • Hash算法:
    一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一的HASH值,却不能通过这个hash值重新获得目标信息,因此常用在不可还原的密码存储、信息完整性校验等。
    用途:产生信息摘要、密钥加密等
    算法:
    * MD5: message digest algorithm 5, 非可逆,相同的明文产生相同的密文
    * SHA: secure hash algorithm:可以对任意长度的数据运算生成一个160位是数值

  • 对称和非对称加密结合:
    通过非对称加密来协商对称加密的密钥,服务端一旦把正确的公钥安全地送达到客户端后,后续的通信,为了保证高效通信,再采用对称加密来加密数据。

  • 摘要、数字签名、数字证书

    • 摘要
      一段信息,经过摘要算法得到一串哈希值
      只用于验证数据的完整性,不能保证正确性
    • 数字签名
      摘要经过私钥的加密后,便有了一个新的名字–数字签名
      签名:发送方,加密过程
      验签:接收方,解密的过程
    • 为什么不对内容直接加密,而是对摘要进行加密
      • 非对称加密的速度非常慢,如果传输的数据量非常大,那加解密的时间比传输时间还长
      • 如果我们对传输的内容只有完整性要求,而安全性没有要求(传输的内容被别人知道也没有关系)
    • 数字证书
      如果拿到的公钥是黑客给的而不是服务端的,当你使用假公钥加密一些敏感信息时,黑客就可以截取到你的信息
      • 数字证书就是一个.crt文件
      • 数字证书是CA颁发的
        1. 在自己的服务器上生成一对公钥和私钥,然后将域名、申请者、公钥等其他信息整合在一起,生成.csr 文件

        2. 将.csr文件发给CA机构,CA机构去验证申请者的组织信息和个人信息,如果没有异常,CA使用散列算法对.csr里的明文信息做hash,得到一个信息摘要,再用CA自己的私钥对这个信息进行加密,生成一串密文,密文就是所说的签名。签名+.csr明文信息,即是证书
          证书:.crt = 加密(hash(.csr),CA 的私钥) + .csr

          解密(签名, CA的公钥) = hash(明文信息)

  • 证书类型

    • PEM
      明文格式,中间是经过base64编码的内容, PEM就是把DER的内容进行了一次base64编码
    • DER
      二进制格式的证书
      参考:https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&mid=2648979521&idx=2&sn=16f5c3d95b28d3d7104f66105e0cb6d5&chksm=f25065a1c527ecb740b5e4f16fbaac44e4b01d060a0bddefec602f1c17f74fb7a4284de2eaaa&scene=27

你可能感兴趣的:(摘要,数字签名,数字证书)