加解密算法+消息摘要+消息认证技术+数字签名+公钥证书

 摘自:https://blog.csdn.net/weixin_40582843/article/details/89219196

数据安全概述

当发送方A向接收方B发送数据时,需要考虑的问题有:

  • 数据的安全性。
  • 数据的完整性,即数据不被篡改。
  • 数据的真实性,即数据确实来自于发送方,传输过程中没有被替换。
  • 数据的不可否认性,即验证发送方确实发送了数据。

数据的安全性

要数据安全,就对数据加密emmmm;

加解密算法

分为对称加密和非对称加密,意思就是加解密是否使用相同的密钥;

对称加密

对称加密示意图最终问题:密钥安全性,so,通过非对称加密解决
相关算法:DES 3DES AES RC5 RC6

非对称加密

非对称加密示意图最后问题:公钥合法性???
相关算法:RSA

数据的完整性

消息摘要

消息摘要函数时一种用于判断数据完整性的算法,也称为散列函数或哈希函数,函数的返回值就散列值,散列值又称为消息摘要或者指纹。
这种算法是不可逆的,即无法通过消息摘要反向推导出消息,因此又称为单向散列函数。

算法:MD5、SHA
消息摘要/散列值示意图最后的问题:数据真实性,so,通过**消息认证码(MAC)**解决;

数据的真实性

消息认证码

消息认证码(Message Authentication Code,简称MAC)是一种可以确认消息完整性并进行认证的技术。消息认证码可以简单理解为一种与密钥相关的单向散列函数。

消息认证码示意图最后问题:发送方的不可否认性?so…数字签名解决

数据的不可否认性

数字签名

数字签名(Digital Signature)可以解决发送方否认发送过消息的问题。
数字签名的重点在于发送方和接收方使用不同的密钥来进行验证,并且保证发送方密钥的唯一性,将公钥算法反过来使用可以达到此目的:A发送消息前,使用私钥对消息进行签名,B接收到消息后,使用配对的公钥对签名进行验证;如果验证通过,说明消息就是A发送的,因为只有A采用配对的私钥;第三方机构也是依据此来进行裁决,保证公正性。

数字签名示意图最终问题:公钥合法性?emmm…公钥证书解决

公钥的合法性

公钥证书

将公钥交给一个第三方权威机构——认证机构(Certification Authority)CA来管理。接收方将自己的公钥注册到CA,由CA提供数字签名生成公钥证书(Public-Key Certificate)PKC,简称证书。证书中有CA的签名,接收方可以通过验签来验证公钥的合法性。

公钥证书示意图最后问题:emmm…没问题啦…都解决啦…

总结图

总结图

原文地址:https://www.cnblogs.com/LiuYanYGZ/p/13694682.html