在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7151|回复: 21

[原创] 什么是消息验证码

[复制链接]
发表于 2021-4-8 15:04:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在信息安全领域中,常见的信息保护方法分为加密和认证两大类。认证技术又分为对用户的认证和对消息的认证两种方式。用户认证用于鉴别用户的身份是否是合法用户;消息认证就是验证所收到的消息确实是来自真实的发送方且未被修改的消息,可以验证消息的准确性。
消息认证实际上是对消息本身产生的一个冗余的信息即消息验证码(MAC)。消息认证码Message authentication code)是一种确认完整性并进行认证的一种技术,简称MAC。密码学中,消息认证码指的是通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具。消息认证码是一种带密钥的哈希函数,它本质上是一个哈希函数,那为什么要带密钥呢?是因为消息在传输过程中是可以被篡改,哈希值也可以被篡改,因此为了保证这个哈希值的有效性,通过加密的方式将哈希值保护起来,这样在接收方接收到消息后就可以通过这个哈希值来判断整条消息的完整性,从而达到信息传递的目的。
消息认证码步骤如下图所示
图片1.jpg
1)发送者与接收者事先共享密钥K(上图中的KEY1KEY2值保持一致)。
2)发送者根据消息计算MAC值(使用密钥KEY1对原始消息计算MAC1)。
3)发送者将原始消息和MAC1发送给接收者
4)接收者根据收到的原始消息计算MAC2(使用密钥KEY2
5)接收者将自己计算出的MAC2与从发送者收到的MAC1比对
6)如果MAC一致,接收者可以判定消息的确来自接收者(认证成功)且没有被篡改或者出现传输出错的情况;如果不一致,可判断消息不是来自发送方(认证失败)
注意:建议发送方和接收方将密钥KEY存放于硬件安全模块中,计算MAC值的过程最好也放到硬件安全模块中完成,这样可以保证密钥的安全,例如放到加密芯片中。




发表于 2021-4-9 17:21:19 来自手机 | 显示全部楼层
密钥KEY是否为固定值?是不是容易被暴露出去呢?
发表于 2021-4-9 20:39:01 | 显示全部楼层
文中所说的消息认证和我们平时用手机验证码登录网站的认证方式是一样的吗?
发表于 2021-4-9 23:19:15 | 显示全部楼层
原理接近,但还是有些差异的。手机验证码没有原始数据
 楼主| 发表于 2021-4-10 07:34:11 来自手机 | 显示全部楼层
各位大侠们 有成功的案例 大家可以分享一下哦
发表于 2021-4-10 09:26:25 | 显示全部楼层
没看懂,MAC1和MAC2是哈希值加密后得到的吗?
头像被屏蔽
发表于 2021-4-10 13:24:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2021-4-11 11:04:29 | 显示全部楼层
什么样的加密芯片可以存放密钥KEY?
发表于 2021-4-11 18:02:24 | 显示全部楼层
什么样的加密芯片可以存放密钥KEY?
头像被屏蔽
发表于 2021-4-11 18:02:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 08:46 , Processed in 0.029841 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表