ECC算法对Kerberos协议安全性能的改进分析
随着数字化校园网的蓬勃发展,基于网络应用的多种校园网应用系统应运而生,为了实现统一、安全、便利的身份认证过程,可以选用Kerberos网络认证协议来为统一身份认证系统服务。然而,在实际的身份认证应用中,基于安全性能的考虑,单纯的Kerberos认证协议还存在很多的弊端和漏洞,急需找到一种有效的方法对协议进行改进,以保证身份认证系统安全高效地运行。
Kerberos认证协议,是众多认证协议中比较成熟的一种认证协议,这项技术一直在麻省理工学院的带领下不断地推动和发展。它的主要认证原理是利用对称密钥的加密技术,在网络中设置一个密钥系统,通过这个系统为客户机和服务器中的应用程序提供安全认证服务,另外,它还可以实现跨域和远距离的网络认证。目前,Kerberos协议中所使用的更多的是公钥加密方式。
在校园网这种特殊的多应用系统环境下,Kerberos认证方式和单点登录技术的结合使用己成为当前数字化校园网建设中主要采用的技术。
但是Kerberos认证协议在安全应用方面,也存在着一些缺陷,很多攻击者可以利用这些漏洞进行攻击,给网络带来了很多不安全的隐患。因此,需要研究Kerberos认证中的缺点,补充一些新的加密算法,辅助补充一些新的认证机制,使其在具体的应用中更加安全。
一ECC算法
1. ECC算法介绍。
Kerberos协议的弱点之处在于常用的AES/DES算法无法具有抗否认性,密钥更换困难,数字签名和认证难于实现。针对存在的这些安全隐患,可以试着采用ECC改进Kerberos协议。ECC算法具有处理速度、计算量小、安全性能高、存储空间小、单位安全强度高、带宽要求低等优点,应用前景广泛。
2. ECC加密原理。
ECC椭圆曲线加密算法是根据椭圆曲线离散对数问题ECDLP定义的,给定素数P和椭圆曲线E,对Q = kP,在己知P、Q的情况下求出小于P的正整数k。可以证明,己知k和P计算Q比较容易,而由Q和P计算k则比较困难,至今没有有效的方法来解决这个问题,这就是椭圆曲线加密算法原理之所在。
ECC加密的过程是:首先,私钥拥有者随机地选取一个整数ญk传送密文给私钥拥有者。最后私钥拥有者收到消息发送方的密文后,计算d*Q二d x }l} P)二l} }dx P),计算明文Pm二Pm+dx Q一dx Q。
3. ECC算法性能分析。
对于Kerberos认证协议中,采用的是公开对称密码体制来传输数据的,这种对称密码体制在安全性上存在一定的缺陷。目前,比较主流的对称密码体制是AES算法,它用来替代原先的DES算法。改进后,可以使用非对称密码体制来取代对称密码体制。而非对称密码体制的算法也比较多,RSA,DSA,ECC都属于非对称密码体制算法。
在公开密钥体制中♂,再比较分析RSA,DSA以及ECC算法卐,比较其性能特点,找出最优算法。下面从三类密码的安全性、计算负载能力、密钥大小和带宽几个方面来分析比较。
安全性。
RSA的优点是原理较简单,易于使用。随着整数因子分解方法的技术进步,要保证RSA算法的安全性,只有通过增加密钥的长度▼,但密钥长度的增加会导致解密速度的降低,实现起来难度也加大了。
ECC的密钥长度较短,160位的ECC和1024位的RSA,DSA的安全强度相同。具体的安全性分析可以参照下图。
在保证相同的安全性的基础上,ECC所需的密钥模长远远小于RSA和DSA。如果攻击者攻击有限域上离散对数问题可以有指数积分法,而对椭圆曲线上的离散对数问题是无法奏效的。对于RSA和DSA}都存在指数时间算法,而ECC至今没有改算法。可见,ECC算法的抗攻击性最强,安全性能最高。
计算负载。
所谓计算负载,是指公钥密码和私钥密码完成一次交换所需要的计算量。根据具体的操作,比较所需的时间。与ECC算法相比较,其他密钥系统的计算较复杂,而ECC则能在较短的时间内产生符合要求的密钥。在加密解密及数字签名方面,160位的ECC的运算速度比用1024的RSA密钥体制快10倍多。
密钥大小。
密钥大小是指在密钥系统中,存储密钥对和系统参数
时所占的比特数。 ECC在密钥大小方面,优势还是很明显的。它在系统参数和密钥大小方面比其他密钥大小都要小很多。如果假使攻击的算法复杂度己知,安全性能条件相同的情况下,ECC算法的密钥量要远远小于其他密钥系统,这样,ECC算法所占的存储空间就比较小,降低了实现难度,无需通过增加密钥长度而提高系统安全性。
带宽。
带宽是指在网络中传输数据包或数字签名时所产生的通讯量。根据分析比较,当对字长超过64位的长消息进行加密解密时,ECC和RSA,DSA对带宽的要求基本是相同的,但是,对于字长小于64位的短消息而言,ECC算法对带宽的要求要比RSA和DSA低得多,可以节省带宽。
另外,ECC算法中的椭圆曲线,随着参数的变化,可以得到不同的曲线,可见,ECC的算法具有较强的灵活性,椭圆曲线可以形成多种结构和选择性。
综上所述,ECC算法与其他密钥体制相比,各方面都具有明显的优势,提供了一种安全强度高、速度快、密钥长度小、要求带宽低的灵活算法。ECC必将成为未来公钥加密算法中的主流算法。
二ECC算法改进后的认证过程
改进后的Kerberos基本模型与原来的Kerberos协议模型是类似的,改进后的协议流程具体说明如下。
1.客户机随机产生会话密钥,将加密后的密钥发送给认证服务器,申请许可证颁发服务器的票据。
2.认证服务器用私钥将密钥解密,在其数据库中查找客户机并验证客户机的签名,为客户机生成许可证颁发服务器的公钥加密的票据,其中关键数据加上认证服务器的签名,并产生会话密钥,用第一步中产生的会话密钥加密发送给客户机。
3.客户机解密得到套话密钥,将第二步得到的票据和用会话密钥加密的本机名字、地址以及随机数,发送许可证颁发服务器申请访问特权服务器的凭据。
4.许可证颁发服务器用私钥解密并验证服务器发送的票据,然后为客户机生成去特权服务器的票据,票据用特权服务器的公钥加密并加上许可证颁发服务器的签名,并随机产生会话密钥,并将会话密钥和随机数用第二步产生的会话密钥加密回传给客户机。
5.客户机解密得到会话密钥和随机数,与自己发送给许可证颁发服务器的随机数相比,若相等则确定是新消息,将许可证颁发服务器发送的票据、用会话密钥加密的本机名字、地址和新的随机数,发送给应用服务器。
6.应用服务器用私钥解密许可证颁发服务器发送的票据,同时验证并确认许可证颁发服务器的签名,得到以后加密通信用的会话密ฃ钥,还可将第五步客户机发送的随机数加密发给客户机,供客户机验证新消息,防止重放攻击。