0
点赞
收藏
分享

微信扫一扫

SpringBoot之全局异常处理

止止_8fc8 2024-07-24 阅读 40

1.1. 加密:

1.1.1. 对称加密:
  • 特点:加解密用一个密钥,加解密效率高,速度快,有密钥交互的问题
  • 问题:双方如何交互对称密钥的问题,用非对称密钥的公钥加密对称密钥混合加密方式
  • 常用对称加密:AES加密,密钥长度 128、256、192位,加密级别高,速度快
  • 以及DES ,3DES加密算法等
1.1.2. 非对称加密:
  • 特点:没有密钥交互的问题,加密速度慢、仍然有窃听风险
  • 描述:非对称密钥双方使用不同的密钥来加解密,并且不能通过一个密钥推算出另一个密钥:
  • 使用:公钥加密,私钥解密_——私钥加密(数字签名),公钥解密,并且用哈希函数计算数字签名比对是否一致(用于验证该信息是否由中间人篡改)
  • 常用加密算法:
    • DSA:数字签名算法,是一种标准的 DSS(数字签名标准)
    • RSA: 由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
  • A把事先准备好了非对称密钥对,分别为公钥和私钥,这一套非对称密钥对能相互加解密。公钥是公开的,私钥只有自己才有。然后A把公钥发送给B,或者公钥放在服务器B自行下载。B拿到了公钥后用公钥的一套算法加密信息后传输给A,A用私钥执行另一个算法解密获得明文信息。
1.1.3. 混合加密:

使用:传输大量数据使用对称加密,加解密速度快;对称加密分配问题:用非对称加密的公钥加密这个对称密钥再传递给对方。

过程:

中间人攻击:

窃听篡改:

在混合加密的传输过程中,也存在中间人篡改信息的可能性,但是如果我们能够确保使用者获取的公钥可信,则可以达到一定的防护

1.2. 数字签名:

1.2.1. 过程:

私钥加密(生成数字签名):

  • 数字签名是对数据的哈希值(或摘要)进行私钥加密的结果。发送者首先使用哈希函数计算数据的哈希值,然后使用自己的私钥对这个哈希值进行加密,生成数字签名
  • 数字签名用于验证数据的完整性和来源,因为私钥是唯一的,只有私钥的持有者才能生成与数据相匹配的签名。

公钥解密(验证数字签名):

  • 接收者收到数据和对应的数字签名后,他会使用发送者的公钥来解密这个签名,从而得到原始数据的哈希值。
  • 同时,接收者也会对接收到的数据使用相同的哈希函数进行计算,得到一个新的哈希值。
  • 如果这两个哈希值相匹配,那么接收者就可以确认数据在传输过程中没有被篡改,并且确实是由声称的发送者发送的。

1.2.2. 数字摘要:

特点:

  1. 不可逆:只有摘要算法,没有密钥(只能单向加密,不能解密)
  2. 难题友好型:破解只能暴力生成原文,通过摘要算法计算一致的摘要结果
  3. 发散性:对原文的一点点改动,摘要会剧烈变化
  4. 抗碰撞性:原文不同,摘要也不同,摘要一致的可能性非常低

常见摘要算法:(推荐:SHA2 ) 、MD5、SHA1

1.2.3. 数字摘要的作用:
  1. 确保数据的完整性和来源:私钥加密生成数字签名,这个签名是对数据的哈希值进行加密的结果。只有私钥的持有者才能生成与数据相匹配的签名,因此,接收方可以通过公钥解密签名并验证数据的完整性,确认数据在传输过程中未被篡改,并且确实是由声称的发送者发送的。
  2. 防止否认:可以防止发送方否认其发送过某条信息,因为签名是唯一的,且与发送方的私钥紧密相关。

1.3. 数字证书:

CA认证机构具有权威性和公正性的第三方信任机构,会验证申请者的真实身份,负责签发和管理数字证书,

数字证书可以验证用户的身份并确保该使用者的公钥的可用!避免中间者顶替篡改

主要内容:

颁发过程:

收到数字证书后,用户首先用安装在操作系统的CA公钥解密证书,用证书指定的哈希算法计算证书信息的摘要,通过CA 公钥解密证书的签名获取数字摘要,比对两个数字摘要是否一致,一致后表示该证书信息完整,该用户的公钥可信:获取证书所有者的公钥;

数字证书的检验:

获取者先从获取的信息中验证数字证书的信息完整性,从证书获取公钥,用于验证获取信息的完整性,最终查看信息

举报

相关推荐

0 条评论