橢圓曲線加密體制在WPKI中的應(yīng)用
WPKI作為PKI在無線通信環(huán)境下的優(yōu)化,可以有效保征信息安全、身份證明、信息完整性和不可抵賴性,而WPKI技術(shù)的核心優(yōu)化則是數(shù)據(jù)文件加密算法。橢圓曲線加密算法以其短密鑰的特點(diǎn),具有安全性能更高、計(jì)算量小、處理速度快、存儲空間占用小及帶寬要求低優(yōu)點(diǎn),比傳統(tǒng)的RSA等公鑰加密算法更適于WPKI的安全應(yīng)用。
一、橢圓曲線加密算法概述
1、橢圓曲線的定義
設(shè)K為域,域K上的Weierstrass方程為:
![]()
其中ai∈K,定義變量如下:

當(dāng)△≠0,域K上點(diǎn)集為:
![]()
其中ai∈K,{O}為無窮遠(yuǎn)點(diǎn),稱為域K上的橢圓曲線。
在實(shí)際的密碼學(xué)應(yīng)用中,主要研究和應(yīng)用的橢圓曲線方程有以下2種:
(1)有限域上的橢圓曲線Fq(表示q個(gè)元素的有限域):y2=x3+ax+b,其中a、b∈Fq,滿足4a3+27b2≠0。
(2)有限域上橢圓曲線F2m:y2+xy=x3 +ax2+b,其中a,b∈F2m,滿足b≠0。
2、基本運(yùn)算
在K為實(shí)數(shù)域的時(shí)候,從幾何角度理解橢圓曲線的加法運(yùn)算比較直觀。如圖1即為橢圓曲線上不同兩點(diǎn)P(x1,y1)和Q(x2,y2)的加法:連接點(diǎn)P和Q交曲線E于另一點(diǎn),過該點(diǎn)作平行于縱坐標(biāo)軸的直線與曲線E相交于點(diǎn)R(x3,y3),則尺為P和Q兩點(diǎn)之和,記為R=P+Q。

特殊情況下,當(dāng)P和Q為同一點(diǎn)時(shí),過點(diǎn)尸作曲線E的切線與曲線交于一點(diǎn),過該點(diǎn)作平行于縱坐標(biāo)軸的直線與曲線E相交于點(diǎn)R(x3,y3),記為:尺=P+P=[2]P,稱為橢圓曲線的倍點(diǎn)運(yùn)算,如圖2所示;若切線和縱坐標(biāo)軸平行即交曲線于無窮遠(yuǎn)處,則P+P=O,即點(diǎn)P是橢圓曲線E上階為2的點(diǎn)。

由倍點(diǎn)運(yùn)算更進(jìn)一步,可以得到橢圓曲線的標(biāo)量乘運(yùn)算定義:Q=[k]P,即k個(gè)點(diǎn)P相加得到的結(jié)果,該運(yùn)算是構(gòu)成橢圓曲線加密體制的基礎(chǔ),也是涉及效率問題的關(guān)鍵步驟。
3、典型橢圓曲線加密體制
在橢圓曲線構(gòu)成的Abel群Ep(a,b)上考慮方程Q=kP,其中P,Q∈Ep(a,b),k<p,則由Q和P比較容易計(jì)算Q,而對給定的Q和P計(jì)算忌則是困難的,此為橢圓曲線上的離散對數(shù)問題(ECLDP)。
EC-Diffie-Hellman密鑰交換協(xié)議:選取有限域K、橢圓曲線E/K及基點(diǎn)P∈E(K)。K,E P為公開信息,若A與日想進(jìn)行密鑰交換,執(zhí)行的具體步驟如下:
(1)A產(chǎn)生1個(gè)E上的點(diǎn)m,日產(chǎn)生1個(gè)E上的點(diǎn),z,分別作為自己的私鑰。
(2)A計(jì)算KA=mP,曰計(jì)算KB=nP。
(3)A把KA傳送給曰,同時(shí)B把KB傳送給A。
(4)A計(jì)算:Kc=YyiKB;Bob計(jì)算:Kc=YiKA,Kc即為A和B所商定的密鑰。
二、WPKI體系結(jié)構(gòu)
WPKI的主要組件包括:終端實(shí)體應(yīng)用程序(EE);PKI門戶(PKI Portal);認(rèn)證中心(CA);目錄服務(wù)(PKI Directory);WAP網(wǎng)關(guān),在應(yīng)用模型中還涉及數(shù)據(jù)提供服務(wù)器等設(shè)備,WPKI的體系結(jié)構(gòu)如圖3所示。

1、終端實(shí)體EE
EE依賴WMLSCrypt API實(shí)現(xiàn)密鑰管理和加密運(yùn)算,包括產(chǎn)生、存儲并允許訪問用戶公鑰/密鑰對;初始證書申請;證書更新請求、證書撤消請求;查詢、恢復(fù)和撤消證書信息;驗(yàn)證證書和讀取證書內(nèi)容;產(chǎn)生和驗(yàn)證數(shù)字簽名。
2、PKIPortal
理論上功能類似于PKI中的RA功能,一般作為手機(jī)終端和PKI之間的連接橋梁,負(fù)責(zé)將WAP客戶的需求轉(zhuǎn)換給PKI中RA和CA。 PKI Portal內(nèi)嵌RA功能,實(shí)現(xiàn)與無線網(wǎng)絡(luò)中的WAP設(shè)備和有線網(wǎng)絡(luò)中的CA互相操作。
3、WAP網(wǎng)關(guān)
在WAPIX中需要WAP網(wǎng)關(guān)來處理客戶與源服務(wù)器之間的協(xié)議轉(zhuǎn)換工作。WAP網(wǎng)關(guān)使用WAP協(xié)議與客戶通信,使用標(biāo)準(zhǔn)Internet協(xié)議與源服務(wù)器通信。WAP2.0標(biāo)準(zhǔn)則有了較大的改進(jìn),但仍兼容10標(biāo)準(zhǔn),在WAP2.0中客戶與源服務(wù)器之間可以直接使用HTTP/1.1通信,當(dāng)然,配置1個(gè)WAP代理還可以完成其他一些處理工作,主要?jiǎng)t是對移動(dòng)服務(wù)功能的增強(qiáng)。
三、橢圓曲線加密體制在WPKI中的應(yīng)用
1、 WTLS證書
WPKI為減小公鑰證書存儲空間,一種機(jī)制是定義新的證書格式——WTLS證書格式,比X.509證書格式尺寸(大小約2K,對于僅有8k容量大小的SIM卡來而言仍屬負(fù)擔(dān))明顯減小,另一種機(jī)制是在證書的儲存上引入大于iOO bytes的橢圓曲線加密算法,能用占較小內(nèi)存的密鑰,使得證書總尺寸縮小。同時(shí),WPKI對IETF PKIX證書格式中的一些字段尺寸做了限制,但由于WPKI是PKIX的子集,此舉可保證這些PKI標(biāo)準(zhǔn)互操作的可能性。
2、 WIM
無線應(yīng)用協(xié)議識別模塊(WAP Identity Module,WIM)主要用于儲存和處理用于用戶識別和身份認(rèn)證的信息。WIM主要在無線終端內(nèi)的智能卡上實(shí)現(xiàn),而智能卡自身硬件的資源極為有限,因此用其實(shí)現(xiàn)安全系統(tǒng)面臨著存儲器容量和計(jì)算能力方面受到的限制。
將橢圓曲線加密體制應(yīng)用于智能卡的具體優(yōu)點(diǎn)有如下幾方面:
(1)卡密鑰生成
在使用其他現(xiàn)有的公開密鑰體制的應(yīng)用中,密鑰是在安全的環(huán)境中裝進(jìn)或注進(jìn)卡中,而在卡上生成密鑰基本上是不可行的,使用橢圓曲線加密體制生成小密鑰對所需的時(shí)間很短,因此如果有好的隨機(jī)數(shù)發(fā)生器,則可在智能卡上外加一個(gè)計(jì)算能力非常有限的設(shè)備就可以生成密鑰對。
(2)不需要協(xié)處理器
傳統(tǒng)RSA等公鑰加密體制包含太多的運(yùn)算,因而需要稱為“密碼協(xié)處理器”的專用硬件設(shè)備,密碼協(xié)處理器不但占用了寶貴的空間,還增加了大約20~6到30~6的芯片成本。而使用橢圓曲線加密體制則減少了處理時(shí)間,算法且能在可用的ROM中實(shí)現(xiàn),因而不需要額外的硬件。
(3)可升級
智能卡應(yīng)用需要越來越強(qiáng)的安全性(使用更長的密鑰),而橢圓曲線加密體制只需要較少的附加系統(tǒng)資源就可增強(qiáng)安全性,這意味著如使用橢圓曲線加密體制,智能卡能夠提供更高的安全性而不需要增加另外的成本。
3、WTLS協(xié)議
WTIS是用于提供移動(dòng)設(shè)備到WAP網(wǎng)關(guān)的通信安全。WTIS協(xié)議從TLS1.O演化而來,并針對無線信道和嵌入式系統(tǒng)的特殊要求作了一些修改。
WTLS定義了ECDH和ECDSA作為可選的加密算法之一。ECDH用于交換密鑰協(xié)商信息,而ECDSA用于對密鑰協(xié)商信息進(jìn)行數(shù)字簽名,如客戶機(jī)在向服務(wù)器發(fā)送連接請求的同時(shí),提議使用ECDH-ECDSA加密算法進(jìn)行密鑰協(xié)商,ClientHello中加密算法信息內(nèi)容就包括橢圓曲線參數(shù),其中還包括曲線方程系數(shù)、伽羅瓦域定義參數(shù)、生成元G和階r,如果服務(wù)器同意使用這種算法,ServerHelIoM就會向客戶機(jī)發(fā)送含有ECDH公鑰和ECDSA公鑰的服務(wù)器證書,然后客戶機(jī)向服務(wù)器發(fā)送自己的DH公鑰,這些信息都經(jīng)過ECDSA算法簽名的。這樣雙方通過ECDH算法可以安全地協(xié)商出1個(gè)秘密值,再通過1個(gè)偽隨機(jī)數(shù)產(chǎn)生方法,從這個(gè)秘密值中產(chǎn)生安全連接所需的全部參數(shù)。
四、實(shí)現(xiàn)身份認(rèn)證
1、初始化
(1) CA選擇橢圓曲線參數(shù)
CA選取有限域Fq上的橢圓曲線E: y2=x3+ax+b,即給出1組橢圓曲線參數(shù)(q,a,b,G)。整數(shù)q表示1個(gè)有限域Fq;a,b∈Fq定義1條橢圓曲線;G表示1個(gè)基點(diǎn)。
對于以上各參數(shù)有如下要求:要選擇一條足夠安全的橢圓曲線,其留要大于2 160,a,b由CA隨機(jī)選取,但保證a,b∈Fq及4a3 +27b2≠0(mod g);其基點(diǎn)G(G.x,G.y)也是由CA選取的橢圓曲線E:y2= x3+ ax十b上的點(diǎn),這些參數(shù)都被寫入橢圓曲線參數(shù)文件,可以被任何用戶所訪問。
(2) EE申請證書
a、EE在WIi中產(chǎn)生公鑰、私鑰對:用戶S隨機(jī)選取整數(shù)ks作為其私鑰,計(jì)算Gs=ksG(點(diǎn)積運(yùn)算),則Gs為用戶的公鑰。
b、 EE向PKI Portal申請證書:EE獲得根CA證書,WTLS中采用ECDH-ECDSA算法建立安全通道,傳遞用戶S的公鑰Gs。
c 、PKI Portal驗(yàn)證通過后,向CA轉(zhuǎn)發(fā)證書申請。
d、CA生成證書:CA中心對Gs產(chǎn)生數(shù)字簽名,記為Ds(Gs),再產(chǎn)生證書C={Gs,Ds(Gs)),存入PKI Directory,并取得證書URL。
e、頒發(fā)證書:CA通過RA將證書URL返回EE。
2、身份認(rèn)證流程
WPKI標(biāo)準(zhǔn)提供了WTLS Class2、WTLS Class3和SignText 3種功能模式,在此則采用WTLSClass3模式:
(1)用戶在客戶端簽署交易后,并發(fā)送交易內(nèi)容、數(shù)字簽名和用戶證書的URL到服務(wù)器(邏輯上通過WAP網(wǎng)關(guān));
(2)服務(wù)器根據(jù)證書的URL向證書數(shù)據(jù)庫驗(yàn)證用戶證書(如果用戶證書已經(jīng)在證書數(shù)據(jù)庫中);
(3)如果有需要,證書數(shù)據(jù)庫將發(fā)送用戶證書到服務(wù)器;
(4)服務(wù)器簽署交易,并發(fā)送交易內(nèi)容、數(shù)字簽名和服務(wù)器證書到EE(邏輯上通過WAP網(wǎng)關(guān));
EE利用根CA證書對服務(wù)器證書驗(yàn)證通過,從而在EE和服務(wù)器間建立WTLS會話。WAP網(wǎng)關(guān)只起路由器的作用,移動(dòng)終端與應(yīng)用服務(wù)器之間的通信對WAP網(wǎng)關(guān)是透明的,其流程如圖4所示。

小知識之WPKI
WPKI即“無線公開密鑰體系”,它是將互聯(lián)網(wǎng)電子商務(wù)中PKI(PublicKeyInfrastrcture)安全機(jī)制引入到無線網(wǎng)絡(luò)環(huán)境中的一套遵循既定標(biāo)準(zhǔn)的密鑰及證書管理平臺體系,用它來管理在移動(dòng)網(wǎng)絡(luò)環(huán)境中使用的公開密鑰和數(shù)字證書,有效建立安全和值得信賴的無線網(wǎng)絡(luò)環(huán)境。










