APP下载

ECC算法对Kerberos协议安全性能的改进分析

2014-07-16

黑龙江工业学院学报(综合版) 2014年12期
关键词:客户机私钥解密

周 莹

(南通师范高等专科学校 信息技术系,江苏 南通 226005)

随着数字化校园网的蓬勃发展,基于网络应用的多种校园网应用系统应运而生,为了实现统一、安全、便利的身份认证过程,可以选用Kerberos网络认证协议来为统一身份认证系统服务。然而,在实际的身份认证应用中,基于安全性能的考虑,单纯的Kerberos认证协议还存在很多的弊端和漏洞,急需找到一种有效的方法对协议进行改进,以保证身份认证系统安全高效地运行。

Kerberos认证协议,是众多认证协议中比较成熟的一种认证协议,这项技术一直在麻省理工学院的带领下不断地推动和发展。它的主要认证原理是利用对称密钥的加密技术,在网络中设置一个密钥系统,通过这个系统为客户机和服务器中的应用程序提供安全认证服务,另外,它还可以实现跨域和远距离的网络认证。目前,Kerberos协议中所使用的更多的是公钥加密方式。

在校园网这种特殊的多应用系统环境下,Kerberos认证方式和单点登录[1]技术的结合使用已成为当前数字化校园网建设中主要采用的技术。

但是Kerberos认证协议在安全应用方面,也存在着一些缺陷,很多攻击者可以利用这些漏洞进行攻击,给网络带来了很多不安全的隐患。因此,需要研究Kerberos认证中的缺点,补充一些新的加密算法,辅助补充一些新的认证机制,使其在具体的应用中更加安全。

一 ECC算法

1.ECC算法介绍。

Kerberos协议的弱点之处在于常用的AES/DES算法无法具有抗否认性,密钥更换困难,数字签名和认证难于实现。针对存在的这些安全隐患,可以试着采用ECC(椭圆曲线加密算法)改进Kerberos协议。ECC算法具有处理速度快、计算量小、安全性能高、存储空间小、单位安全强度高、带宽要求低等优点,应用前景广泛。[2]

2.ECC加密原理。

ECC椭圆曲线加密算法是根据椭圆曲线离散对数问题ECDLP定义的,给定素数p和椭圆曲线E,对 Q=kP,在已知P,Q的情况下求出小于p的正整数k。可以证明,已知k和P计算Q比较容易,而由Q和P计算k则比较困难,至今没有有效的方法来解决这个问题,这就是椭圆曲线加密算法原理之所在。

ECC加密的过程是:首先,私钥拥有者随机地选取一个整数k(k

ECC椭圆曲线加密算法的加密解密流程如下图:

图1 ECC加密解密流程图

3.ECC算法性能分析。

对于Kerberos认证协议中,采用的是公开对称密码体制来传输数据的,这种对称密码体制在安全性上存在一定的缺陷。目前,比较主流的对称密码体制是AES算法,它用来替代原先的DES算法。改进后,可以使用非对称密码体制来取代对称密码体制。而非对称密码体制的算法也比较多,RSA、DSA、ECC都属于非对称密码体制算法。比较AES、RSA、ECC算法的特点,可以参照下表。

表1 AES、RSA、ECC算法特点比较

在公开密钥体制中,再比较分析RSA、DSA以及ECC算法,比较其性能特点,找出最优算法。下面从三类密码的安全性、计算负载能力、密钥大小和带宽几个方面来分析比较。

(1)安全性。

RSA的优点是原理较简单,易于使用。随着整数因子分解方法的技术进步,要保证RSA算法的安全性,只有通过增加密钥的长度,但密钥长度的增加会导致解密速度的降低,实现起来难度也加大了。

ECC的密钥长度较短,160位的ECC和1024位的RSA、DSA的安全强度相同。具体的安全性分析可以参照下图。(表中MIPS表示每秒执行百万条指令的计算机运行一年,目前一般认为破译时间为1012MIPS年可以看做比较安全)

图2 RSA、DSA和ECC算法安全性比较

根据上图分析得下表:

表2 RSA、DSA和ECC算法安全性比较

分析图表可以看出,在保证相同的安全性的基础上,ECC所需的密钥模长远远小于RSA和DSA。如果攻击者攻击有限域上离散对数问题可以有指数积分法,而对椭圆曲线上的离散对数问题是无法奏效的。对于RSA和DSA,都存在指数时间算法,而ECC至今没有改算法。可见,ECC算法的抗攻击性最强,安全性能最高。

(2)计算负载。

所谓计算负载,是指公钥密码和私钥密码完成一次交换所需要的计算量。根据具体的操作,比较所需的时间。

表3 各密码系统计算负载比较

根据上表可以看出,与ECC算法相比较,其他密钥系统的计算较复杂,而ECC则能在较短的时间内产生符合要求的密钥。在加密解密及数字签名方面,160位的ECC的运算速度比用1024的RSA密钥体制快10倍多。

(3)密钥大小。

密钥大小是指在密钥系统中,存储密钥对和系统参数时所占的比特数。将RSA、DSA、ECC三种密钥系统的密钥大小和系统参数比较情况如下:

表4 系统参数和各密钥大小的比较

根据上表可以看出,ECC在密钥大小方面,优势还是很明显的。它在系统参数和密钥大小方面比其他密钥大小都要小很多。如果假使攻击的算法复杂度已知,安全性能条件相同的情况下,ECC算法的密钥量要远远小于其他密钥系统,这样,ECC算法所占的存储空间就比较小,降低了实现难度,无需通过增加密钥长度而提高系统安全性。

(4)带宽。

带宽是指在网络中传输数据包或数字签名时所产生的通讯量。根据分析比较,当对字长超过64位的长消息进行加密解密时,ECC和RSA、DSA对带宽的要求基本是相同的,但是,对于字长小于64位的短消息而言,ECC算法对带宽的要求要比RSA和DSA低得多,可以节省带宽。

另外,ECC算法中的椭圆曲线,随着参数的变化,可以得到不同的曲线,可见,ECC的算法具有较强的灵活性,椭圆曲线可以形成多种结构和选择性。

综上所述,ECC算法与其他密钥体制相比,各方面都具有明显的优势,提供了一种安全强度高、速度快、密钥长度小、要求带宽低的灵活算法。ECC必将成为未来公钥加密算法中的主流算法。

二 ECC算法改进后的认证过程

改进后的Kerberos基本模型与原来的Kerberos协议模型是类似的,改进后的协议流程具体说明如下。

1.客户机随机产生会话密钥,将加密后的密钥发送给认证服务器,申请许可证颁发服务器的票据。

2.认证服务器用私钥将密钥解密,在其数据库中查找客户机并验证客户机的签名,为客户机生成许可证颁发服务器的公钥加密的票据,其中关键数据加上认证服务器的签名,并产生会话密钥,用第一步中产生的会话密钥加密发送给客户机。

3.客户机解密得到会话密钥,将第二步得到的票据和用会话密钥加密的本机名字、地址以及随机数,发送许可证颁发服务器申请访问特权服务器的凭据。

4.许可证颁发服务器用私钥解密并验证服务器发送的票据,然后为客户机生成去特权服务器的票据,票据用特权服务器的公钥加密并加上许可证颁发服务器的签名,并随机产生会话密钥,并将会话密钥和随机数用第二步产生的会话密钥加密回传给客户机。

5.客户机解密得到会话密钥和随机数,与自己发送给许可证颁发服务器的随机数相比,若相等则确定是新消息,将许可证颁发服务器发送的票据、用会话密钥加密的本机名字、地址和新的随机数,发送给应用服务器。

6.应用服务器用私钥解密许可证颁发服务器发送的票据,同时验证并确认许可证颁发服务器的签名,得到以后加密通信用的会话密钥,还可将第五步客户机发送的随机数加密发给客户机,供客户机验证新消息,防止重放攻击。

[1]IBM.IBM/Lotus Domino与WebSphere Portal:单点登录[R]. http://www.ibm.com/developerworks/cn/lotus/l-ssowhitepaper/index.html 2006.2.26.

[2]Darrel Hankerson,Alfred Menezes,Scott Vanstone,et al.椭圆曲线密码学导论[M].电子工业出版社,2005.

[3]肖新凤.一种提高Kerberos协议安全性能的策略[J].电脑编程技术与维护,2009(19).

[4]石润华,钟诚.基于整数拆分的椭圆曲线密码体制上的快速点乘算法[J].计算机工程与科学,2005,27(5).

猜你喜欢

客户机私钥解密
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
炫词解密
解密“一包三改”
炫词解密
一种基于虚拟私钥的OpenSSL与CSP交互方案
解密“大调解”
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”