下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

报文认证是什么?

作者:课课家教育     来源: http://www.kokojia.com点击数:4332发布时间: 2019-02-27 15:41:31

标签: 信息安全工程师信息安全密码学报文认证

软考,您想通过吗?一次通过才是硬道理

      报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。那么,根据这个定义,大家是否知道报文认证指的是什么呢?其实这是密码学当中的一个知识点,接下来就为大家整理一下小编在学习过程中所理解的内容。

  报文认证是通过网络中交换与传输的数据单元进行认证的一种方式。报文的认证方式有传统加密方式的认证、使用密钥的报文认证码方式、使用单向散列函数的认证和数字签名认证方式。

  报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。

  报文的认证方式有传统加密方式的认证、使用密钥的报文认证码方式、使用单向散列函数的认证和数字签名认证方式。

  在我们无法完全预知的网络环境下,一些攻击者可以进行以下的攻击:

  (1)冒充发送方发送一条报文;

  (2)冒充接收方发送收到或未收到报文的应答;

  (3)插入、删除或修改报文内容;

  (4)修改报文顺序(插入报文、删除报文或重排序)议及延时或重播报文。

  所以,报文认证想要有一定的安全性,就必须使通信方能够验证每份报文的发送方、接收方、内容和时间性的真实性和完整性。也就是说,通信方能够确定:

  (1)报文是由意定的发送方发出的;

  (2)报文传送给意定的接收方;

  (3)报文内容有无篡改或发生错误;

  (4) 报文按确定的次序接收。

  接下来,我们再来简单说说报文认证的几种类型

      1.报文源的认证

  采用传统密码

  设A为发送方,B为接收方,A和B共享保密的密钥KS,A的标识为IDA,报文为M,在报文中增加标识IDA,那么B认证A的过程如下:

A→B:E(IDA‖M,KS)

  B收到报文后用KS解密,若解密所得的发送方标识与相同,则B认为报文是A发来的。

  采用公开密钥密码

  报文源的认证非常简单,只要发送方对每一个报文进行数字签名,接收方验证签名就可以了:

A→B:<SIG(IDA‖M.KdA)>

B:VER(SIG(IDA‖M.KdA),KeA)

  如果接收方验证签名正确,则认为发送方为真。

  2.报文宿的认证

  只要将报文源的认证方法稍微修改一下即可实现报文宿的认证。

  采用传统密码

  在每一份报文中加入接收方的标识符IDB:

A→B:E(IDB‖M,KS)

  如果采用公开密钥密码

  对每一份报文用B的公开加密钥进行加密即可。

A→B:E(IDB‖M,KeB)

  3.报文内容的认证

  报文内容认证使接收方能够确认报文内容的真实性,这可以通过验证认证码的正确性来实现。

  消息认证码MAC是消息内容和密钥的公开函数,其输出是固定长度的短数据块:

MAC=(M,K)

  通信双方共享密钥K。A计算MAC并将报文M和MAQC发送给接收方:

A→B:M‖MAC

  接收方收到报文M后用相同的秘密钥K重新计算得出新的MAC,并将其与接收到的MAC进行比较,如果两者相等,则认为报文正确真实。

  报文认证是什么?_信息安全工程师_信息安全_密码学_报文认证_课课家

  在上述方法中,报文是以明文形式传送的,所以该方法可以提供认证,但不能提供保密性。如果想要获得保密可以在MAC算法之后对报文加密:

A→B:E(M‖MAC,K2)

其中MAC=C(M,K1)

  因为只有A和B共享K1,所以可以提供认证;

  因为只有A和B共享K2,所以可以提供保密。

      需要注意的是:MAC算法不要求可逆性而加密算法必须是可逆的;与加密相比,认证函数更不容易被攻破;由于收发双方共享密钥,因此MAC不能提供数字签名功能。

      以上的内容就是小编学习的关于报文认证的内容了,如有什么建议或者意见可以和小编进行交流学习,想要进一步全面地学习相关的课程可以前往课课家教育平台。

赞(32)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程