数字信封、数字签名和数字证书

数字信封

数字信封是指发送方采用接收方的公钥来加密对称密钥后所得的数据。
采用数字信封时,接收方需要使用自己的私钥才能打开数字信封得到对称密钥。
数字信封加密过程如下图:
image

  1. 发送方使用对称密钥对明文进行加密,生成密文信息
  2. 发送方使用接收方的公钥加密对称密钥,生成数字信封
  3. 发送方将数字信封和密文信息一起发送给接收方
  4. 接收方接收到发送方的加密信息后,使用自己的私钥打开数字信封,得到对称密钥
  5. 接收方使用对称密钥对密文信息进行解密,得到最初的明文

优点

数字信封技术结合了对称密钥加密和非对称加密的优点,解决了对称密钥的发布和非对称密钥加密速度慢的问题,提高了安全性、扩展性和效率等

存在的问题

如果攻击者拦截发送方的信息,用自己的对称密钥加密伪造信息,并用接收方的公钥加密自己的对称密钥,然后发送给接收方。接收方收到加密信息后,解密得到的明文,而且接收方始终认为时发送方发送的信息。怎么办?此时,需要一种方法确保接收方收到的信息就是指定的发送方发送的

数字签名

数字签名是指发送方用自己的私钥对数字指纹进行加密后所得的数据。

  • 数字指纹:又称为信息摘要,它是指发送方通过Hash算法对明文信息计算后得出数据
  • 采用数字指纹时,发送方会将数字指纹和明文一起发送给接收方,接收方用同样的Hash算法对明文计算生成的数据指纹,与收到的数字指纹进行匹配,如果一致,便可确定明文信息没有被篡改
    image
  1. 发送方使用接收方的公钥对明文进行加密,生成密文信息
  2. 发送方使用Hash算法对明文进行Hash计算,生成数字指纹
  3. 发送方使用自己的私钥对数字指纹进行加密,生成数字签名
  4. 发送方将密文信息和数字签名一起发送给接收方
  5. 接收方使用发送方的公钥对数字签名进行解密,得到数字指纹
  6. 接收方接收到发送方的加密信息后,使用自己的私钥度密文进行解密,得到最初的明文
  7. 接收方使用Hash算法对明文进行Hash运算,生成数字指纹
  8. 接收方将生成的数字指纹与得到的数字指纹进行比较,如果一致,接收方接受明文,如果不一致,接收方丢弃明文

优点

数字签名技术不但证明了信息未被篡改,还证明了发送方的身份。数字签名和数字信封技术也可以组合使用。

存在的问题

如果攻击者更改接收方的公钥,发送方获得的是攻击者的公钥,攻击者拦截接收方发送给发送方的信息,用自己的私钥对伪造的信息进行数字签名,然后与使用发送方的公钥加密的伪造信息一起发送给发送方。发送方收到加密信息后,解密得到的明文,并验证明文没有被篡改,则发送方使用认为是接收方发送的信息。此时,需要一种方法确保一个特定的公钥属于一个特定的拥有者。

数字证书

数字证书简称证书,它是一个经证书授权中心数字签名的文件,包含拥有者的公钥及相关身份信息

  • 数字证书技术解决了数字签名技术中无法确定公钥是指定拥有者的问题
  • 数字证书提供的是网络上的身份证明
  • 数字证书提供了一种发布公钥的简便途径,大家通过向证书授权中心(CA)申请认证发布自己的公钥,通过向CA验证来确认自己获得了别人的公钥
    image
  1. 发送方先向CA发起数字证书申请
  2. CA对发送方进行身份认证,认证通过后生成数字证书
  3. CA将生成的数据证书发放给发送方
  4. 接收方下载发送方的数据证书
  5. 接收方收到数字证书后,使用CA公钥数字签名解密解密生成消息摘要进行比对可证明证书内容的完整性和真实性。
    image

发送方处理过程:

  1. 发送方对药传输的明文进行Hash,生成数字指纹,再用发送方的私钥生成数字签名
  2. 发送方随机生成对称密钥,对明文加密,生成密文
  3. 发送方用接收方公钥加密对称密钥
  4. 将加密后的对称密钥、数字签名与密文一同发送给接收方

接收方处理过程:

  1. 接收方收到消息后,用自己的私钥解密对称密钥
  2. 用对称密钥解密密文,得到明文
  3. 对明文Hash得到数字指纹,用发送方的公钥解密签名得到数字指纹,对比两份数字指纹,如果相同接收消息,如果不同丢弃

数字证书分类

image

数字证书结构

image

posted @ 2024-07-03 17:14  hongliang888  阅读(239)  评论(0编辑  收藏  举报