首页 理论教育 计算机网络中的消息认证方法及作用

计算机网络中的消息认证方法及作用

时间:2023-10-18 理论教育 版权反馈
【摘要】:也就是说既要认证消息的来源,也要认证消息的内容。消息认证的方法是消息的发送和接收遵循认证协议,具体的措施是使用认证函数来证实收到的消息来自可信的源点且未被篡改。生成鉴别码的认证函数通常有三类:消息加密、散列函数和消息认证码。

计算机网络中的消息认证方法及作用

数据在传送过程中,其完整性会由于被攻击而丧失,主要表现为:①数据的内容被篡改,包括数据报文的内容和序列被插入、删除、修改;②时间被篡改,对报文采取延迟发送或重放。

消息认证的目的是保证信息的完整性,即:验证信息的发送者是不是伪冒的(信源识别),验证信息在传送或存储过程中未被篡改、重放或延迟等。也就是说既要认证消息的来源,也要认证消息的内容。

消息认证的方法是消息的发送和接收遵循认证协议,具体的措施是使用认证函数来证实收到的消息来自可信的源点且未被篡改。

认证函数的功能是能够根据要发送的报文产生鉴别码。发送方在发送报文时,使用认证函数生成鉴别码,将鉴别码置于报文的尾部,一起发送。接收方在收到报文后取出鉴别码,同样使用认证函数生成一个新的鉴别码,通过比较两个鉴别码,可以判断出报文是否受到完整性攻击。

由于鉴别码和报文一起传送,为了不影响传输效率,鉴别码不能太长。生成鉴别码的认证函数通常有三类:消息加密、散列函数和消息认证码。

1.消息加密

消息经过加密产生密文进行发送,既可以保密,又可以认证。但一方面,大量数据加密和解密会影响效率;另一方面,某些情况下,也无法实现认证。比如,发送方用公钥加密,接收方用私钥解密,由于公钥是公开的,接收方无法判断发送方是谁,因而无法认证消息的来源。

2.散列函数

散列函数即哈希函数(Hash函数),是一种将任意长度的消息变换成某一固定长度的消息摘要的函数,消息摘要就是该消息的哈希值。为了实现认证,哈希函数需要满足如下的要求:

(1)对于任意长度的输入数据,哈希函数能很容易地产生固定长度的哈希值。

(2)哈希函数的计算是单向的,即给定哈希值,无法导出输入数据。

(3)很难找到一个与输入数据不同的替代数据,其哈希值相同;通过计算找到替代数据,是不可行的。

应用广泛的报文摘要算法有MD5和安全散列算法SHA。MD5即报文摘要第五版(Message Digest,Version 5),是较早推出的报文摘要算法,它将任意长度的报文转换成128位的报文摘要。SHA-1算法是1995年推出的,另外有四种变体:SHA -224,SHA-256,SHA-384和SHA-512(名字中的数字是摘要的长度)。SHA-1产生160位的报文摘要,比MD5的抗攻击性更强,但执行的速度较慢。(www.xing528.com)

3.消息认证码(MAC)

MAC函数是消息和共享密钥的函数,即:MAC=C(K,M),其中,M是输入消息;C是MAC函数;K是共享密钥。

数据发送方A计算出MAC后,将之附在不加密的明文M后面一起发送给数据接收方B。B根据K和M重新计算MAC进行比对认证。

MAC函数与加密的区别:MAC算法不要求可逆,而加密算法必须可逆。MAC函数与Hash函数的区别:MAC算法的输入包含密钥,而Hash不包含。

使用MAC的优点:

(1)MAC将加密性与认证分离开来,可以满足只需要认证不需要加密的需求。同时MAC使得层次结构更加灵活,如可以在传输的不同层次来分别完成加密和认证。

(2)MAC不影响明文的读取,可以一直附在明文后面,在需要的时候灵活认证。

MAC函数应具有的性质:

(1)攻击者在已知M,MAC值以及MAC函数的情况下,要找到另一个消息M'满足MAC(K,M')=MAC(K,M),在计算上不可行。

(2)对随机的消息M和M',MAC(K,M)=MAC(K,M')的概率是2-n,其中n是MAC的位数。

(3)设M'=f(M),要求满足MAC(K,M)=MAC(K,M')的概率是2-n。

常见的MAC函数实现:①基于Hash函数的MAC:HMAC;②基于分组密码的MAC:DAA和CMAC;③认证加密:CCM和GCM。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈