一种基于椭圆曲线密码的WiMAX接入认证方法
2013-04-25张启云
严 琳,卢 忱,张启云
(武警工程大学 研究生管理大队,陕西 西安710086)
微波存取全球互通(Worldwide Interoperability for Microwave Access,WiMAX)融合了无线、宽带和移动3大特点,可作为线缆和DSL的无线扩展技术,用于将802.11无线接入热点连接到互联网,也可连接公司与家庭等环境至有线骨干线路,从而实现“最后一公里”的无线宽带接入。
由于无线传输介质的开放性,WiMAX技术自提出之初,其安全问题就成为其能否成功商用和可运营的关键。无线网络的安全威胁包括网络窃听、未经授权使用服务、拒绝服务(Denial of Service,DoS)攻击、非法基站、非法篡改数据和重放攻击等。鉴于上述安全威胁,WiMAX安全技术的重点是用户及设备的身份鉴权及授权、数据的保密性和数据的完整性保护等方面,以保证网络资源的合法使用。
为此,本文提出了一种更高效、更安全、基于椭圆曲线公钥密码体制[1-5](Elliptic Curve Cryptography,ECC)的认证和授权方法。
1 ECC数学基础
1.1 椭圆曲线
设K为一个给定域,椭圆曲线E由下述Weierstrass方程定义
其中,a1,a2,a3,a4,a5,a6∈K且Δ≠0,Δ是E的判别式,具体定义如下
若L是K的扩域,则E上的L有理点数的集合是有理数点的集合:
椭圆曲线上的两点可以进行点加运算。具体的群运算规则如下:(1)单位元。对于所有的P=(x,y)∈E(K),P+O=O+P=P。(2)负元素。若P=(x,y)∈E(K),则(x,y)+(x,-y)=O。记点(x,-y)为-P,称其为P的负。-P也是E(K)上的一个点,且-O=O。(3)点加。令P=(x1,y1)∈E(K),Q=(x2,y2)∈E(K),P≠±Q,则P+Q=(x3,y3)。其中(4)倍点。令P=(x1,y1)∈E(K),P≠-P,则2P=(x3,y3)。其中。
1.2 椭圆曲线离散对数问题ECDLP
讨论椭圆曲线上的点乘运算kP,其中,k为一个整数;P为定义在域GF(q)上的椭圆曲线E上的一个点;阶为n,k∈[0,n-1]。ECDLP是已知Q=kP,则称求解k为Q的基于P的离散对数问题,表示为k=logPQ。合理选取椭圆曲线参数,有效防止各种攻击,这样的ECDLP才会被认为相对于现在的计算水平是难解的。椭圆离散对数问题是构造椭圆曲线密码ECC的数学基础。
2 WiMAX认证授权机制分析
认证与授权是实现对用户进行授权的一个基础,只有通过认证的合法设备和用户,才被允许接入网络,使用网络资源,访问网络提供的服务。
2.1 WiMAX认证授权机制
WiMAX主要有802.16d和802.16e两个版本,其安全策略集中体现在支持固定接入的802.16d和支持移动接入的802.16e两个标准的安全子层中。802.16[6]系列标准采用“X.509公钥证书+RSA公钥加密算法”的接入认证方法,来确认接入者的合法身份,及保护用户站SS和基站BS之间的密钥交换。
图2是基于RSA的WiMAX接入鉴权和授权的全过程。整个鉴权认证和授权的工作过程描述如下[7]:(1)当SS与BS建立无线连接时,SS将自己的数字证书传给BS。(2)BS检验SS的证书的有效性。(3)如果证书鉴权成功,则BS通过证书提供的公钥使用RSA算法加密授权密钥AK,然后传递给SS;如果不成功,BS拒绝SS的接入请求。(4)SS用自己的RSA私钥解密便可以获得AK。认证和授权结束。
图1 基于RSA的接入鉴权和授权过程示意图
2.2 WiMAX安全策略存在的问题
从WiMAX的接入鉴权和授权的全过程中可以看出存在以下问题:(1)存在中间人攻击的危险。在RSA认证中,BS可以认证SS的身份,而SS不能反向认证BS的身份,只能无条件地信任BS。攻击者可以利用这一点使用相关设备冒充合法BS,对SS发起中间人MITM攻击。(2)RSA存在一定的局限性。RSA公钥加密算法安全性是基于大整数分解的困难性。但小于1 024位的N已经被证明是不安全的,而且由于RSA算法进行的都是大数计算,使得RSA最快的情况也比DES慢几倍,因此,计算量过大、密钥长度过长是RSA公钥算法最大的缺陷,通常只能用于加密少量数据或者加密密钥。
考虑到IEEE 802.16系列标准安全框架使用的RSA算法运算量过大、密钥较长等缺陷,本文旨在提供一种基于椭圆曲线公钥密码的WiMAX接入认证方法,作为先有基于RSA公钥的WiMAX补充接入认证的补充。
3 基于ECC的接入认证方法
3.1 椭圆曲线公钥密码体制
1985年,N.Koblitz和V.Miller将椭圆曲线引入密码学,成为构造双钥密码体制的一个有力工具,提出了基于椭圆曲线的公钥密码机制ECC(Elliptic Curves Cryptosystem),它是建立在基于椭圆曲线离散对数问题(ECDLP)的一种非对称密码安全体制,具有密钥短小、运算速度快等优点。160 bit长的密钥所具有的安全性和密钥长度1 024 bit的RSA算法所具有的安全性相当[8]。这适合那些存储空间及处理能力有限的设备,尤其适用于智能卡。
表1 同等安全强度下,ECC和RSA密钥长度之比较
作为一种公钥密码,椭圆曲线密码不仅有较好的安全性,而且利用椭圆曲线离散对数问题可以同时构造3种基本形式的公钥体制,即公钥加密体制、密钥交换协议和数字签名方案等。
3.2 认证授权过程改进
前文中提到,WiMAX安全策略集中体现在802.16标准的安全子层中。本方法就是在安全子层中增加一种基于椭圆曲线ECC的WiMAX接入认证方法,作为现有基于RSA公钥的WiMAX补充接入认证补充,体现在鉴权认证过程中就是用ECC加密算法替代RSA加密算法。此外,本设计还根据802.16标准只能单向认证的实际,在授权响应中增加了BS的证书,并在其中附加了BS的签名,实现了SS和BS的之间的双向认证。
图2是基于椭圆曲线ECC的WiMAX接入认证和授权的全过程。整个认证和授权的工作过程详细描述如下:(1)SS与BS建立初始无线连接,SS向BS发送“认证信息消息”,消息中包含SS的X.509数字证书,该证书由第三方证书权威机构(CA)分配。(2)BS检验SS发送的证书信息。(3)如果证书认证通过,BS向SS发送“认证信息消息”,消息中包含自身的X.509数字证书;如果不通过,BS拒绝SS的接入请求。(4)SS检验BS发送的证书信息。(5)如果证书认证通过,SS向BS发送“授权请求消息”,请求授权密钥AK;如果不通过,SS拒绝接入该BS。(6)BS使用SS证书提供的公钥和ECC算法加密授权密钥AK,在“授权响应消息”中回送给SS。(7)SS用自己的ECC私钥解密,从BS处获得的授权密钥AK。至此,鉴权认证和授权过程结束。
图2 基于椭圆曲线ECC的接入鉴权和授权示意图
3.3 椭圆曲线加密方案设计
上文描述了接入认证和授权的过程,其中设计了用ECC算法代替RSA算法实现对授权密钥AK的传输。3.3将具体介绍ECC加密的设计与实现。本设计为Elgamal[9]算法模拟的椭圆曲线加密与解密方案,是ECC加密在WIMAX认证授权过程中的直接应用。
ECC加密主要用于BS传送授权密钥AK给SS的过程中对AK进行加密。加密过程如下:
(1)密钥对的生成。从证书导出椭圆曲线参数集D={p,a,b,G,n,h},其中p为一个大素数,如>160 bit的素整数,指定了有限域GF(p);a,b指定椭圆曲线E;G=(xG,yG)∈E(GF(p))为一个基点;素数n为基点G的阶;h=#E(GF(p))/n为协因子整数;#E(GF(p))表示椭圆曲线点群的阶;同时也得到了密钥对(d,Q),其中d是私钥,Q=dG是公钥。
(2)加密实现。1)将要加密的AK密钥作为明文,如果AK长度>n的话就进行分组,如果长度不够,则在高字节处填充0。2)将要加密的安全数据A转换成椭圆曲线方程上的点的横坐标xA,计算,Q=p,利用数论相关定理及平方剩余判断算法,判断大整数A是否模平方剩余数。如果A不是模p的平方剩余数时,则说明xA不是椭圆曲线上的点,即不满足椭圆曲线方程等式成立。在最低字节内重新选取xA,并重复这个平方剩余算法进行判断,直到满足为止。3)根据明文安全数据转换成椭圆曲线点的横坐标后,利用二次同余方程解的计算法,计算出对应横坐标xA的纵坐标yA。yA的计算如下:如果p具有2u+1,u为奇数形式时,即满足p≡3(mod 4)或p≡7(mod 8)时,椭圆曲线方程的解为yA≡±A((p+1)/4)(mod p);如果p具有4u+1,u为奇数的形式时,即满足p≡1(mod 4)或p≡5(mod 8),如果A((p-1)/4)≡1(mod p),则yA≡±A((p+3)/8)(mod p);如果A((p-1)/4)≡1(mod p),则yA≡±2((p-1)/4)·A((p+3)/8)(mod p);完成将安全数据编码为椭圆曲线上的点PA=(yA,yA)。4)对安全数据编码为椭圆曲线上的点后,就可能利用BS私钥dR和SS公钥QA对数据进行加密运算。加密计算过程为PA+dRQA=PA+dR(dAG),然后将加密后的授权密钥AK在“授权响应消息”中传送给BS。5)当BS收到“授权响应消息后”时,使用其私钥dA完成如下计算:PA+dR(dAG)-dA(QR)=PA+dR(dAG)-dA(dRG)=PA;6)对解密出的点PA中的横坐标xA进行解码处理,然后将该整数转换成字节串,即可授权密钥AK来。
4 优点及安全性分析
改进后的安全策略与原策略相比,具有如下优点:(1)在安全性相当的条件下可以使用更短,运算速度快,占用空间更小的密钥。160 bit长的密钥所具有的安全性和密钥长度1 024 bit的RSA算法所具有的安全性相当,适合存储空间及处理能力有限的设备,尤其适合于智能卡。(2)设备与基站间的互认证防止中间人攻击。新方法实现了设备与基站之间的互认证机制,很好地解决了中间人攻击的问题。(3)安全性强。椭圆曲线密码体制式建立在一个不同于大整数分解及素域乘法群离散对数问题的数学难题之上。基于大整数分解及离散对数的RSA方案,数学背景狭窄,而椭圆曲线方法在同一个有限域上存在大量不同的椭圆曲线,为安全性增加了额外的保证。
5 结束语
通过对支持WiMAX的802.16协议的认证授权机制进的研究,提出一种基于椭圆曲线密码的认证授权方法,对WiMAX接入实施增强安全保护。针对802.16协议只能单向认证与ECC密钥长度小、计算速度快等特点,设计了一个新的认证授权过程与实时有效的ECC加密算法,使得由该方法实现的认证授权过程完成了双向认证,克服了存在中间人攻击的不足。所设计ECC算法,相对于802.16标准中给出的RSA算法,速度得到了提高,更适合于一些存储和计算能力有限的移动终端。
[1]NEAL K.Elliptic curve cryptosystems[J].Mathematics of Computation,1987,48(5):203-209.
[2]DARREL H,ALFRED M.Guide to elliptic curve cryptography[M].北京:电子工业出版社,2005.
[3] 卢忱.基于椭圆曲线密码的分组网通信安全与保密[J].计算机工程,2006(21):133-135.
[4] 卢忱.有限素整数域椭圆曲线密码体制基于代数几何快速算法设计[J].计算机工程与应用,2002(16):63-65.
[5] 卢忱.椭圆曲线加密卡设计与实现[J].计算机工程与应用,2002(18):165-168.
[6]IEEE.IEEE 802.16e-2005 IEEE standard for local and metropolitan area networks-part 16:air interface for fixed broadband wireless access systems-physicaland medium access control layers for combined fixed and mobile operation in licensed bands[S].USA:IEEE,2006.
[7] 张晓宏.WiMAX安全机制[J].信息技术与信息化,2011(5):79-81.
[8] 卢忱.基于椭圆曲线方法的医学信息安全与保密研究[D].西安:西安交通大学,2004.
[9] 蒋书法,黄伯男.基于椭圆曲线ECELG密码体制的双重加密[J].上海电力学院学报,2011,27(2):204-207.