MAC消息认证码介绍

此MAC是密码学概念,与计算机网络不同

为什么有了摘要算法还要有MAC

摘要算法保障的是消息的完整性

归根到底就是由H(x)来保证x的完整

那么问题来了,如果我知道你所使用的摘要算法(例如中间人攻击),那么我把x替换成y,H(x)替换成中间人计算出的H(y),还能生效吗?

答案是无法生效,所以这个方式有弊端,也就是这个消息完整性我们是能够保证的,但是真实性却无法保证,即这个完整的是真消息还是被掉包了无法确定

MAC(消息认证码)的登场

为了解决这个弊端所以MAC登场了

MAC的生成流程通常如下:

  1. 数据处理:对原始数据进行处理,使用摘要算法生成数据的哈希值。
  2. 密钥加密:使用共享密钥对哈希值进行加密,生成MAC。
  3. 传输:将数据和MAC一起传输给接收方。
  4. 验证:接收方使用相同的密钥对数据重新计算MAC,并与接收到的MAC进行比较,以验证数据的完整性和真实性。

仅仅到此就解决了真实性的问题吗?共享密钥不可能泄漏吗?

MAC能确保真实性的前提是共享密钥的不泄露

这个问题让我们到https如何使用MAC来细说

https在建立TLS连接后,之后的消息都会携带一个MAC

https如何确保共享密钥的不泄露

核心在于:

  • CA证书,通信双方都没有下载非法证书
  • 非对称密钥,在https协商共享密钥的过程中有一个随机数是会用公钥加密的,而这个时候只有服务器的私钥能够进行解密
posted @   海山了-  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示