论坛公告:应用容器安全指南(SP800-190)中文版   美国政府宣布禁用卡巴斯基软件   《中华人民共和国网络安全法》讨论帖   新手报到专用帖   【论坛公告】关于本站广告贴泛滥问题的整理通知   

当前时区为 UTC + 8 小时


发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
 文章标题 : Message authentication code的一点疑问
帖子发表于 : 2012-02-17 13:53 
离线
新手

注册: 2010-10-18 16:47
最近: 2013-05-06 16:27
拥有: 105.00 安全币

奖励: 0 安全币
在线: 103 点
帖子: 5
All in One CBK密码学那一章中, 单向哈希中一个例子是说,A给B信息。为了保证信息的完整性需要用单向哈希做一个摘要,发给B。B通过单向哈希算出信息的摘要,和A发过来的对比来保证信息的完整性。
如果C在中途拦截了A的信息,更改后发给B更改的信息和更改的摘要。B不会认为是被更改过的。

为了避免这种情况书中提到了MAC--Message authentication code
但是我觉得如果C可以拦截到A的信息,进行修改并的话,无论信息中是否加了密钥,B只能通过C发来的消息和摘要来判断文件的完整性。所以这并不能解决拦截问题。
即使C不知道AB的对称密钥,只是对信息进行破坏,让B得到的信息是不可用的。一样达到了破坏完整性的目的。

在这里求解,是否我理解有偏差。望各位指正。


回到顶部
 奖励本帖 用户资料  
 
 文章标题 : Re: Message authentication code的一点疑问
帖子发表于 : 2012-02-17 16:35 
离线
初级用户

注册: 2005-06-24 16:29
最近: 2015-02-02 16:28
拥有: 282.80 安全币

奖励: 0 安全币
在线: 2225 点
帖子: 23
MAC的核心是“验证消息的真实性而不是“保证”消息的真实性。这和实体认证一个道理,实体认证就是验证实体身份的真实性。
补充一下,MAC也不能保证消息的机密性,如果要保证消息的机密性,可以在MAC算法之前或者之后对消息加密则可以获得机密性。


回到顶部
 奖励本帖 用户资料  
 
 文章标题 : Re: Message authentication code的一点疑问
帖子发表于 : 2012-02-17 17:11 
离线
新手

注册: 2010-10-18 16:47
最近: 2013-05-06 16:27
拥有: 105.00 安全币

奖励: 0 安全币
在线: 103 点
帖子: 5
感谢楼上回复。
信息的真实性或者说不可抵赖性确实不能靠MAC,MAC当然也不是加密算法。
还是以我上面的例子来说,MAC如果被中间人攻击,它能提供的信息完整性,或者验证消息的真实性只是是攻击者-接受者之间。而不是发送者-接受者之间。
消息的真实性不是完整性的一部分么?


回到顶部
 奖励本帖 用户资料  
 
 文章标题 : Re: Message authentication code的一点疑问
帖子发表于 : 2012-02-17 17:25 
离线
初级用户

注册: 2005-06-24 16:29
最近: 2015-02-02 16:28
拥有: 282.80 安全币

奖励: 0 安全币
在线: 2225 点
帖子: 23
完整性是真实性的一部分吧。
MAC即使被中间人攻击,消息的完整性还是由接收者来验证,接收者验证消息被修改后,会做出相应的处理。而和攻击者无关。


回到顶部
 奖励本帖 用户资料  
 
 文章标题 : Re: Message authentication code的一点疑问
帖子发表于 : 2012-02-17 17:30 
离线
新手

注册: 2010-10-18 16:47
最近: 2013-05-06 16:27
拥有: 105.00 安全币

奖励: 0 安全币
在线: 103 点
帖子: 5
接收者验证验证消息的前提是有正确的MD。
如果中间人攻击截取正确的MD,然后发给接收者修改后的MD。接收者必然认为这个从攻击者得到的信息是正确的信息。

谁是谁的一部分那个我也挺纠结,不过还是要看铁三角:机密性,完整性,可用性。


回到顶部
 奖励本帖 用户资料  
 
 文章标题 : Re: Message authentication code的一点疑问
帖子发表于 : 2012-02-17 17:42 
离线
初级用户

注册: 2005-06-24 16:29
最近: 2015-02-02 16:28
拥有: 282.80 安全币

奖励: 0 安全币
在线: 2225 点
帖子: 23
攻击者即使修改了信息,伪造了一个MAC值,但是接收者收到后,他是无法利用修改过的信息和密钥来计算出攻击者的那个MAC值的,这是因为:MAC=C(K,M),其中,K是接收和共享者共享的密钥,M是消息,C是认证算法(常用的是hash)因为攻击者无法知道这个密钥K,那么,他即使修改信息,伪造一个MAC值,但对于接收者来说,他只知道利用K和M来计算MAC值,再加上hash特性,所以接收者计算出来的MAC值肯定不会和攻击者伪造的MAC想等的。
所以对接收者来说,他还是觉得信息被修改过了,他肯定不会认为从攻击者接收到的信息是正确的。


--------本帖迄今已累计获得38安全币用户奖励--------


回到顶部
 奖励本帖 用户资料  
 
 文章标题 : Re: Message authentication code的一点疑问
帖子发表于 : 2012-02-17 17:52 
离线
新手

注册: 2010-10-18 16:47
最近: 2013-05-06 16:27
拥有: 105.00 安全币

奖励: 0 安全币
在线: 103 点
帖子: 5
基本了解了。MAC函数应该是不公开的。而单向Hash函数是公开的。我混淆了。


回到顶部
 奖励本帖 用户资料  
 
 文章标题 : Re: Message authentication code的一点疑问
帖子发表于 : 2012-03-13 23:18 
离线
高级用户

注册: 2010-02-10 23:52
最近: 2013-03-10 00:00
拥有: 2,980.00 安全币

奖励: 745 安全币
在线: 4069 点
帖子: 263
woshizhangsong 写道:
基本了解了。MAC函数应该是不公开的。而单向Hash函数是公开的。我混淆了。



MAC全称是“message authentication code”,只是一个HASH值(对于HMAC来讲),而不是一个具体的算法。

引用:
但是我觉得如果C可以拦截到A的信息,进行修改并的话,无论信息中是否加了密钥,B只能通过C发来的消息和摘要来判断文件的完整性。所以这并不能解决拦截问题。


看来你没仔细看书:),再看看那吧,书上讲得很明白了。


回到顶部
 奖励本帖 用户资料  
 
 文章标题 : Re: Message authentication code的一点疑问
帖子发表于 : 2012-03-24 15:45 
离线
新手

注册: 2012-03-01 18:09
最近: 2012-03-24 15:53
拥有: 32.00 安全币

奖励: 0 安全币
在线: 213 点
帖子: 10
学习了


回到顶部
 奖励本帖 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
cron
华安信达(CISPS.org) ©2003 - 2012