WIMAX技术点对多点的宽带无线接入探讨 第16页
Digest5)算法推导而来的。MD5是由Ronald Rivest设计的。MD5计算的是报文的128位校验和或128位散列码。它使用的是非线性转换算法,要对其进行反向计算极其困难,除非投入大量的时间和金钱。keyed MD5的做法是,把报文与密钥相结合后,再对其结果计算散列码。密钥放在报文的起始和末尾,这样能防止某些类型的攻击。其具体操作步骤如下:
■通过将跳数设置为0、修改选项以及构造路由选择报头的最终目的站点来获得报文M的传输无关版本M'。
■由于MD5是以16个字节为单位的块来运行的,因此将M'的不足16个字节的部分填以空字节来补齐。密钥K也将以空字节填补成16个字节。
■将密钥K填充空字节至64字节,然后计算其与一个由64个OX36组成的十辣进制常量字串的异或结果,得到一个64字节的字串Kl。
■将K1与需要认证的报文之间连接起来,计算出该字串的MD5校验和。
■将密钥K填充空字节至64字节,然后计算其与一个由64个OX5C组成十辣进制常量字串的异或结果,得到另一个64字节的字串K2。
■将K2和前面计算的K1的16字节MD5校验和一起,与报文连接起来,计算出该字串的MD5校验和。
■保留上述结果字串的前12个字节(96个位)。
将校验和缩短到96位的做法是在1997年将序列号加入到认证报头后才确定的。这样将保持AH的大小为24个字节,即64位的倍数,而不会过分削弱认证能力。
实际中,认证算法是在安全关联的建立过程中协商的。MD5算法只在确保所有实现方法都能至少有一种共同算法时才被指定为默认算法。完全有理由相信,将来可能还会用到其他算法,但它们可能不会比MD5快,而且也不会比MD5更难于破密。
5.1.4加密的安全有效负载
认证报头并不对数据进行变形转换。数据对黑客来说仍然是清晰可见的。当要求保密时就应使用加密的安全有效负载(ESP)报头。这个报头在IPv6扩展报头的菊链中总是处在最后的位置。更精确的讲它是加密部分的员外层,如图5-4。
为了包含序列号和认证校验和,么因特网安全规范的1997年修订版中,对ESP报头进行了直新设计。ESP的序列号和AH的序列号极为相似,它用来保护接收者免受重来的攻击。在加密数据之后的认证校验和保护接收者免受一种将加密数据切碎或截短的攻击。用来结合校验和的算法是安全关联的一个参数。在任何情况下,校验和都是用来保护序列号和加密数据的。
实际上,精确的格式与所使用的具体加密算法有关。规范中所建议的默认算法是用密钥块锭串模式的数据加密标准DES-CBC(Cipher Block Chaining mode of Data Encryption Stan-dard)。当使用DES-CBC时,加密数据以一个变长的韧始化向量(IV)开始,后面依次是;有效负载本身的加密值(一些填充字节)、填充长度指示器和有效负载类型等,如图5-6。
填充位长度的选择是以满足填充报文在一个64位字的边界结束为准。填充字节可以是任意值,加密的报文中最后一个字节标明有效负载的类型,例如TCP。其前面的字节表示填充字节数。
初始化向量由一个变长的32位字组成,具体数值被定义成安全关联的一个参数o IV的内容通常由一个随机数发生器给出。IV的作用是保证黑客不能利用可读文本和加密值来预测第一个数。这个随机性通过算法传播到报文的其余部分。
和MD5认证个的情况相同,DBS-CBC仅是一个默认算法,在安全关联建立后也可选用其他算法。
5.1.5认证和保密
认证和保密是两个不同的服务。前者保证报文来自正确的源并且未被掉换;后者则保证报文不会被第三方窃听。大多数加密方法都对报文源提供某些指示。当报文还没有采用合适的密钥来进行加密或解密时,加密算法就可以很好地来产生这些随机位,因此做一些语义检查就足够能决定加密是否成功。当然,这种做法并不能百分之百地保证。一些聪明的黑客会将以前编码的报文碎块拼合到一起,使得解密结果“看”上去是正确的.尽管其实并不正确。
当同时要求采用强有力的认证和保密时,就可以依赖于包含在一种结合保密和认证的有效负载里的认证检查,或者同时使用AH和ESP。在后一种情况下,建议将叹总是放在AH中。这样接收者既不需在解密前检查报文的真实性,也不需在作可靠性检查的同时进行解密。
<< 上一页 [11] [12] [13] [14] [15] [16]
WIMAX技术点对多点的宽带无线接入探讨 第16页下载如图片无法显示或论文不完整,请联系qq752018766