首页 理论教育计算机网络技术中的报文鉴别及其不足

计算机网络技术中的报文鉴别及其不足

【摘要】:报文鉴别对传送的报文进行真实性的鉴别称为报文鉴别。近年来广泛使用报文摘要进行报文鉴别,方法简单,效率较高。图10.3所示为利用报文摘要进行报文鉴别的过程。图10.3利用报文摘要进行报文鉴别报文摘要算法是一种多对一的散列函数,它必须满足以下两个条件:①已知一个报文摘要H,得到一个对应的一个报文M,在计算上是不可行的。但这种简单的实体鉴别方法也存在明显的不足,例如不能很好地抵御重放攻击。

鉴别是对欲访问特定信息发起者的身份或者对传送报文的完整性进行合法性审查或核实的行为,是网络安全的重要环节,也是对付主动攻击中篡改和伪造的重要手段。鉴别有两种:一种是报文鉴别,即对收到报文的真伪进行辨认,确认其真实性;另一种是实体鉴别,实体可以指人也可以是进程。

(1)报文鉴别

对传送的报文进行真实性的鉴别称为报文鉴别。为了鉴别报文的真伪,可采用数字签名。但数字签名需要花费大量的时间,代价较大。近年来广泛使用报文摘要进行报文鉴别,方法简单,效率较高。

用报文摘要进行报文鉴别的基本思路为:用户A 将较长的报文经过报文摘要算法运算后,得到较短的报文摘要H。再用A 的私钥SKA 对H 进行D 运算(即数字签名),得到签名的报文摘要D(H)。然后将其追加在报文M 后面发送给用户B。用户B 收到后,将报文M 和签过名的报文摘要D(H)分离。一方面用A 的公钥PKA 对D(H)进行E 运算(即核实签名),得到报文摘要H;另一方面对报文M 重新进行报文摘要运算得出报文摘要H′。然后对H 和H′进行比较,如果一样,就可以断定收到的报文是用户A 所为,否则就不是用户A 发送的报文。图10.3所示为利用报文摘要进行报文鉴别的过程。

图10.3 利用报文摘要进行报文鉴别

报文摘要算法是一种多对一的散列函数,它必须满足以下两个条件:

①已知一个报文摘要H,得到一个对应的一个报文M,在计算上是不可行的。(www.chuimin.cn)

②任意两个报文,得到相同的报文摘要,在计算上是不可行的。

这两个条件表明,若[M,H]是发送者生成的报文和报文摘要,则攻击者不可能伪造另一个报文,使得该报文与M 具有相同的报文摘要。发送者对报文摘要进行数字签名,使得对报文具有可检验性和不可否认性。由此可见,报文摘要算法是一种单向函数。

目前,报文摘要算法MD5 已在互联网上得到广泛应用。它可对任意长度的报文进行运算,得出的报文摘要代码为128 位。

(2)实体鉴别

实体鉴别是指对欲访问信息的实体身份进行的鉴别。它与报文鉴别不同,报文鉴别是对收到的每一个报文都要执行鉴别动作,而实体鉴别只需要在访问者接入系统时进行一次身份验证。实体鉴别通常通过检查口令或个人身份识别码来实现。

最简单的实体鉴别方法为利用对称密钥加密实体身份,用户收到报文后,用对称密钥解密,从而确定发送方的身份信息。但这种简单的实体鉴别方法也存在明显的不足,例如不能很好地抵御重放攻击。为了对付重放攻击,可以在发送的报文中包含一个不重复使用的大随机数(称为不重数),并且使这个不重数达到“一次一数”。这样,可以通过不重数的检查对付重放攻击。