

如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
SKey身份认证系统的小数攻击缺陷分析及改进 SKey是一种常见的身份认证协议,它的基本工作原理是在用户和验证服务器之间建立一种“challenge-response”模式。具体地说,当用户向服务器发送登录请求时,服务器会随机生成一个“challenge”字符串并发送给用户。用户接收到这个字符串后,将其与保存在本地的“共享密钥”进行函数计算,并将结果作为“response”字符串发送回服务器。服务器自己也进行相同的计算,如果计算结果相同,则表示用户身份认证成功,否则认证失败。 然而,近年来的研究表明,SKey身份认证系统存在一种称为“小数攻击”的攻击方式。具体地说,攻击者可能会在服务器发送的challenge字符串中替换一些数字,如果这些替换的数字刚好是共享密钥中的小数部分,那么最终计算结果就会发生变化,并导致认证失败。 下面我们来看一个具体的例子。假设服务器生成的challenge为“123.456”,用户的共享密钥为“112233.445566”,那么用户计算出的response应该为“456789.931293”。而攻击者现在将challenge改为“123.4506”,即将一个数字“6”替换成“0”。这时,用户计算出的response为“456789.930992”,与正确的response还有微小的差别。如果服务器使用基于字符串比较的认证方式,那么这个差别会导致认证失败。 针对这种攻击,许多学者提出了一些改进方案。其中一种常见的方案是在共享密钥中添加额外的随机数,使得攻击者几乎无法准确地猜测正确的共享密钥,从而提高系统的安全性。然而,这种方案也带来了一些缺点,例如需要增加传输的数据量和计算量,不太适用于资源受限的设备。 另外一种改进方案则是使用基于浮点数运算的计算方式,而不是基于字符串比较的方式。这种改进方案主要通过保证浮点数运算的精度来避免小数攻击的问题。具体地说,服务器和用户在进行response计算时,需要保证使用相同的浮点数精度,避免由于计算舍入误差导致的认证失败。这种方案相对较简单,适用于资源受限的设备,但需要注意一些实现细节,如浮点数精度设置、计算顺序等。 总体而言,SKey身份认证系统存在小数攻击的缺陷,但可以通过一些改进方案来提高安全性。选择合适的改进方案需要考虑多方面的因素,如资源限制、计算效率和安全性需求等。

快乐****蜜蜂
实名认证
内容提供者


最近下载