[摘 要] PKI技術(shù)是各種安全解決方案的基礎(chǔ)。WPKI是應(yīng)用到無線網(wǎng)絡(luò)中的PKI技術(shù)。WPKI必須對(duì)有線網(wǎng)絡(luò)中的PKI進(jìn)行優(yōu)化和裁剪,才能適應(yīng)無線網(wǎng)絡(luò)的特點(diǎn)。本文簡(jiǎn)要介紹了PKI的技術(shù)背景和無線網(wǎng)絡(luò)的特點(diǎn),討論了WPKI的關(guān)鍵技術(shù),探討了幾種WPKI在移動(dòng)電子商務(wù)安全中的應(yīng)用模型,包括基于WAP的應(yīng)用模型、基于STK的短消息應(yīng)用模型和J2ME應(yīng)用模型。
[關(guān)鍵詞] 無線公鑰基礎(chǔ)設(shè)施;移動(dòng)電子商務(wù);無線應(yīng)用協(xié)議;短消息; J2ME
[中圖分類號(hào)]F724.6[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1673-0194(2008)20-0096-04
1 PKI技術(shù)背景
網(wǎng)絡(luò)在為人們提供便利、提高效率的同時(shí),其信息安全問題越來越突出。目前網(wǎng)絡(luò)信息安全的各種解決方案,都是以公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure, PKI)為基礎(chǔ)的。簡(jiǎn)化的PKI實(shí)體構(gòu)成圖如圖1所示。
目前PKI技術(shù)服務(wù)具有以下特點(diǎn):
(1)機(jī)密性。即消息只有合法的接收者才能讀出,其他人即使收到也讀不出。
(2)真實(shí)性。即消息的確是由它宣稱的發(fā)送者發(fā)送的,如冒名頂替則會(huì)被發(fā)現(xiàn)。
(3)完整性。即消息在傳輸過程中不能被篡改,如果篡改則會(huì)被發(fā)現(xiàn)。
(4)不可抵賴性。即消息的發(fā)送者在發(fā)送后不能否認(rèn)他發(fā)送過該消息。
2 無線網(wǎng)絡(luò)的特點(diǎn)
移動(dòng)通信必須采用無線方式。無線信道是一個(gè)開放性信道,存在通信內(nèi)容容易被竊聽、通信內(nèi)容可以被更改和通信雙方身份可能被假冒等不安全因素。PKI中的密碼算法大多需要進(jìn)行大量復(fù)雜的運(yùn)算,這使得PKI在無線環(huán)境中的應(yīng)用受到一些挑戰(zhàn)。這些挑戰(zhàn)來自于無線終端設(shè)備(如移動(dòng)電話、PDA等)和無線通信網(wǎng)絡(luò)兩個(gè)方面。
首先,無線終端設(shè)備的計(jì)算資源十分有限,大多數(shù)無線終端設(shè)備的計(jì)算能力差、存儲(chǔ)容量小。而且,無線終端設(shè)備還受到體積和功耗的限制,顯示屏和鍵盤均較小。其次,與有線通信網(wǎng)絡(luò)相比,大多數(shù)無線通信網(wǎng)絡(luò)的頻率帶寬有限,數(shù)據(jù)傳輸速率比較低。此外,無線通信網(wǎng)絡(luò)中數(shù)據(jù)往返延遲大、通信連接的可靠性差、誤碼率高。
由于受限的計(jì)算環(huán)境和通信環(huán)境,使得無線網(wǎng)絡(luò)在保護(hù)網(wǎng)絡(luò)的安全時(shí)必須選擇能夠適應(yīng)無線網(wǎng)絡(luò)特點(diǎn)的密碼技術(shù),這就對(duì)PKI提出了一些特殊要求。
3 WPKI的關(guān)鍵技術(shù)
在實(shí)際使用中,傳統(tǒng)的PKI針對(duì)無線環(huán)境進(jìn)行優(yōu)化后形成了WPKI(Wireless PKI)。目前,WPKI的相關(guān)規(guī)范都是由OMA(Open Mobile Alliance,WAP論壇已并入該組織)制訂的。WPKI對(duì)證書格式、加密算法和密鑰、證書撤銷驗(yàn)證等關(guān)鍵技術(shù)均做了精簡(jiǎn)和優(yōu)化。
3. 1WPKI的證書機(jī)制
WPKI支持的證書格式有X .509、X9.68以及WTLS。WPKI的理想實(shí)現(xiàn)是使用WTLS證書,因?yàn)槠浜?jiǎn)潔緊湊,易編碼,易解析,在無線終端設(shè)備中容易實(shí)現(xiàn)。其結(jié)構(gòu)[1]為:
struct {
uint8certificate_version;
SignatureAlgorithmsignature_algorithm;
Identifier issuer;
uint32 valid_not_before;
uint32 valid_not_after;
Identifier subject;
PublicKeyTypepublic_key_type;
ParameterSpecifier parameter_specifier;
PublicKeypublic_key;
} ToBeSignedCertificate;
struct {
ToBeSignedCertificateto_be_signed_certificate;
Signature signature;
} WTLSCertificate;
考慮到與現(xiàn)有的證書處理產(chǎn)品和CA基礎(chǔ)設(shè)施的兼容問題,建議服務(wù)器證書用WTLS格式,無線終端設(shè)備證書用X .509格式。相關(guān)的WPKI模型[2]如下:
●存儲(chǔ)在無線終端設(shè)備中的服務(wù)器證書與根CA證書采用WTLS格式。
●存儲(chǔ)在服務(wù)器中的無線終端設(shè)備證書與根CA證書采用X .509格式。
●無線終端設(shè)備應(yīng)該存儲(chǔ)自身證書的URL,而不是證書本身,需要時(shí)只需傳送證書的URL。這既節(jié)約了存儲(chǔ)空間,又節(jié)約了傳輸帶寬。
3. 2WPKI加密算法和密鑰
ECC加密簽名算法是業(yè)內(nèi)公認(rèn)的目前最精簡(jiǎn)的算法,是無線環(huán)境下安全機(jī)制的一個(gè)最合適的選擇。與ECC算法相比,傳統(tǒng)的簽名機(jī)制(如RSA算法)需要更多的處理資源和更多的存儲(chǔ)空間。在相同的計(jì)算資源條件下,ECC比RSA和DSA有更快的處理速度。典型的ECC算法使用的密鑰長(zhǎng)度為163位,而在同等加密強(qiáng)度下的RSA算法的密鑰長(zhǎng)度是1024位。也就是說,ECC算法使用的密鑰長(zhǎng)度大約只是同等加密強(qiáng)度的RSA算法密鑰長(zhǎng)度的1/6。ECC算法的上述特點(diǎn)使得密鑰存儲(chǔ)和證書存儲(chǔ)空間大大減少,數(shù)字簽名的處理效率得到提高。
3. 3證書撤銷驗(yàn)證方案
由于上述無線環(huán)境的特點(diǎn),無線終端設(shè)備如何驗(yàn)證服務(wù)器的證書是否撤銷是一個(gè)比較復(fù)雜的問題。傳統(tǒng)的PKI技術(shù)利用CRL(Certificate Revocation List,證書撤銷列表)來指明已撤銷的證書??蛻粝螺dCRL來驗(yàn)證證書是否已經(jīng)撤銷。CRL較大,一般有幾十kB,甚至上百kB。這是無線環(huán)境無法承受的。
在文獻(xiàn)[2]中,提出了短期證書方案。其基本思想是CA為服務(wù)器簽發(fā)有效期很短(比如48小時(shí))的證書。這樣無線終端設(shè)備就無需驗(yàn)證服務(wù)器證書是否已經(jīng)撤銷了。對(duì)于幾天的有效期,多數(shù)應(yīng)用能夠接受。但是對(duì)于那些涉及大量金錢的事務(wù),比如股票買賣仍是難以接受的。在文獻(xiàn)[3]中,提出了無線OCSP規(guī)范。該規(guī)范將IETF的OCSP協(xié)議(RFC 2560)結(jié)合無線環(huán)境的特點(diǎn)經(jīng)過優(yōu)化和適當(dāng)限制后,直接應(yīng)用到無線環(huán)境中。從長(zhǎng)遠(yuǎn)看,在無線網(wǎng)絡(luò)和無線設(shè)備的性能有很大提高的情況下,完全應(yīng)該將有線網(wǎng)絡(luò)的協(xié)議進(jìn)行必要的優(yōu)化后應(yīng)用于無線環(huán)境。
國(guó)內(nèi)外還提出了多種其他驗(yàn)證方案,不贅述。
4WPKI在移動(dòng)電子商務(wù)中的應(yīng)用模型
4. 1基于WAP的應(yīng)用模型
基于WAP的應(yīng)用模型如圖2所示。
其中,WPKI作為安全基礎(chǔ)設(shè)施平臺(tái)是安全協(xié)議能有效實(shí)行的基礎(chǔ)?;跀?shù)字證書,WPKI提供了一個(gè)在分布式網(wǎng)絡(luò)中高度規(guī)?;?、可管理的用戶驗(yàn)證手段。它可與WTLS(Wireless Transport Layer Security)結(jié)合實(shí)現(xiàn)身份認(rèn)證、私鑰簽名等功能。WTLS能夠提供下列3種類別的安全服
務(wù)[1]:
第一類服務(wù):使用對(duì)稱密碼算法加密數(shù)據(jù),同時(shí)檢查數(shù)據(jù)完整性。但沒有對(duì)通信雙方的身份進(jìn)行認(rèn)證。
第二類服務(wù):除完成第一類服務(wù)的功能外還可以交換服務(wù)器證書,完成對(duì)服務(wù)器的認(rèn)證。
第三類服務(wù):除完成第二類服務(wù)的功能外還可以交換客戶證書,在服務(wù)器認(rèn)證的基礎(chǔ)上又增加了客戶認(rèn)證。
從第一類服務(wù)到第三類服務(wù)安全級(jí)別逐級(jí)增高,可以根據(jù)應(yīng)用對(duì)安全級(jí)別的要求,選擇性地實(shí)現(xiàn)某一級(jí)別的安全服務(wù)。通常應(yīng)該對(duì)這3種類別的服務(wù)都支持,在握手協(xié)商的過程中由客戶與服務(wù)器共同協(xié)商選定一個(gè)類別。
安全參與實(shí)體作為底層安全協(xié)議的實(shí)際應(yīng)用者,相互之間的關(guān)系也由底層的安全協(xié)議決定。當(dāng)該模型應(yīng)用于實(shí)際移動(dòng)電子商務(wù)時(shí),這些安全參與實(shí)體即體現(xiàn)為交易方(無線終端設(shè)備、Web服務(wù)器)和其他受信任方(WAP網(wǎng)關(guān)、無線認(rèn)證中心)。
WAP 1.2協(xié)議提供的安全機(jī)制只能實(shí)現(xiàn)從無線終端設(shè)備到WAP網(wǎng)關(guān)之間的安全。如果WAP網(wǎng)關(guān)在移動(dòng)通信運(yùn)營(yíng)商處,那么運(yùn)營(yíng)商需要將消息在WAP網(wǎng)關(guān)處解密后進(jìn)行協(xié)議轉(zhuǎn)換,再次加密后經(jīng)有線網(wǎng)絡(luò)轉(zhuǎn)發(fā)給移動(dòng)電子商務(wù)業(yè)務(wù)的提供商。在這種情況下,由于密文在WAP網(wǎng)關(guān)處要被解密成明文,因此這并不是真正意義上的端到端安全模型。這個(gè)問題被稱為安全鴻溝(Security Gap)問題。為解決這一問題,在WAP 2.0中提供了兩種實(shí)現(xiàn)真正端到端安全的方式,參見文獻(xiàn)[4]~[5]。
WPKI規(guī)范僅僅是一套框架式的規(guī)范和要求,并沒有制定具體的實(shí)現(xiàn)方法。因此,在實(shí)際的移動(dòng)電子商務(wù)應(yīng)用中,除了基于WAP的應(yīng)用模型外,還可以有其他多種應(yīng)用模型。
4. 2基于STK的短消息應(yīng)用模型
STK(SIM card Tool Kit)可以理解為一組開發(fā)增值業(yè)務(wù)的命令,一種小型編程語(yǔ)言。它允許移動(dòng)電話中的用戶身份識(shí)別模塊(SIM卡)運(yùn)行自己的應(yīng)用軟件,這種SIM卡稱為STK卡。僅需要在用戶STK卡上開發(fā),再經(jīng)過服務(wù)器的配合,然后就可以推出各種各樣豐富多彩的業(yè)務(wù)。把STK技術(shù)和OTA(Over The Air,空中下載)技術(shù)結(jié)合起來,可以隨時(shí)更新STK卡中的應(yīng)用程序,使得各種業(yè)務(wù)的更新和升級(jí)變得非常簡(jiǎn)單。
在本模型中,STK卡儲(chǔ)存證書及私鑰,進(jìn)行加解密及簽名、驗(yàn)證等各種密碼計(jì)算。而移動(dòng)電話和服務(wù)器間的通信由短消息(SMS)來傳遞。目前短消息應(yīng)用極為廣泛。只需將手機(jī)的普通SIM卡換為支持密碼計(jì)算的STK卡,即可開展安全的移動(dòng)電子商務(wù)。此模型可應(yīng)用于手機(jī)銀行、移動(dòng)小額支付、外匯買賣、理財(cái)秘書等領(lǐng)域。
現(xiàn)在3G網(wǎng)絡(luò)馬上就要投入商用,無線通信網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率有了較大提高。速率低、需多次往返的短消息顯然已經(jīng)不再適合移動(dòng)電子商務(wù)中的數(shù)據(jù)傳輸。同時(shí)STK技術(shù)有較大的技術(shù)缺陷:開發(fā)難度高;技術(shù)標(biāo)準(zhǔn)不統(tǒng)一;受處理器技術(shù)發(fā)展的限制,技術(shù)發(fā)展空間小。從發(fā)展前景來看,這種應(yīng)用模型不久就會(huì)被激烈的市場(chǎng)競(jìng)爭(zhēng)淘汰。
4. 3J2ME應(yīng)用模型
隨著無線應(yīng)用與嵌入式系統(tǒng)越來越受到人們的重視,SUN推出了J2ME(Java2 Platform, Micro Edition)來迎合這一未來的發(fā)展趨勢(shì)。J2ME擁有Java語(yǔ)言的全部?jī)?yōu)勢(shì),具有廣闊的發(fā)展前景。
在J2ME中,無線終端設(shè)備被稱為有限聯(lián)接設(shè)備(Connected, Limited Device)。J2ME的實(shí)現(xiàn)分為兩層:configuration和 profile。configuration包括虛擬機(jī)(Virtual Machine)、核心的類庫(kù)與API,提供給開發(fā)人員一個(gè)最基礎(chǔ)、最核心的Java平臺(tái)。適用于有限連接設(shè)備的configuration稱為CLDC(Connected, Limited Device Configuration)。CLDC使用KVM(The K Virtual Machine)。KVM是SUN專門為使用16/32位RISC/CISC微處理器或控制器,并且其可用內(nèi)存為160~512kB的設(shè)備開發(fā)的。KVM比較小,通常只有128kB或更小。Profile也包含一組API,主要針對(duì)于特定的某一族系的設(shè)備而定義。profile在特定的configuration上實(shí)現(xiàn),而程序員則負(fù)責(zé)在特定的profile上編寫應(yīng)用程序。對(duì)于移動(dòng)電話、PDA等有限連接設(shè)備,它們的profile建立在CLDC上,稱為MIDP(Mobile Information Device Profile)。于是MIDP與CLDC合在一起就構(gòu)成了一個(gè)完整的J2ME架構(gòu)。MIDP上的應(yīng)用程序被稱為MIDlet。
MIDP 1.0規(guī)范中要求開發(fā)商提供HTTP協(xié)議支持,其他協(xié)議的支持都只是可選的。但是MIDP 1.0.3以上版本則要求支持HTTPS。在J2ME平臺(tái)中,HTTPS使用的SSL稱為KSSL,這是SSL 3.0適用于無線終端設(shè)備的微型版本。
J2ME中的包javax.microedition.pki中定義了接口Certificate。該接口中定義了許多與證書操作有關(guān)的方法。另外,Bouncy Castle免費(fèi)提供了可以在J2ME平臺(tái)上運(yùn)行的加密包[6],而且其源代碼也是公開的。此加密包是對(duì)原有J2SE平臺(tái)上的加密包針對(duì)J2ME平臺(tái)特點(diǎn)優(yōu)化而成的,完全兼容于SUN JCE框架,可以應(yīng)用在無線終端設(shè)備上。
立足于J2ME的這些功能,可根據(jù)具體的需要編寫代碼,開發(fā)出適合自己的WPKI應(yīng)用,確保移動(dòng)電子商務(wù)的安全。JAVA語(yǔ)言自身的安全性很高,J2ME還具有網(wǎng)絡(luò)功能,現(xiàn)在支持J2ME的無線終端設(shè)備越來越多。應(yīng)該說,這是一種很有前途的模型。問題是J2ME實(shí)現(xiàn)復(fù)雜,密碼算法的效率不高。
5 結(jié)束語(yǔ)
隨著無線通信網(wǎng)絡(luò)的持續(xù)發(fā)展和對(duì)電子商務(wù)安全要求的不斷提高,WPKI技術(shù)有著巨大的應(yīng)用前景。應(yīng)該根據(jù)具體的應(yīng)用和安全要求選定一個(gè)合適的應(yīng)用模型。
主要參考文獻(xiàn)
[1] WAP Forum Ltd. Wireless Transport Layer Security Specification[S/OL]. http://www.openmobilealliance.org,2001.
[2] OMA Ltd. WAP Public Key Infrastructure Definition[S/OL]. http://www.openmobilealliance.org,2005.
[3] OMA Ltd. Online Certificate Status Protocol Mobile Profile[S/OL]. http://www.openmobilealliance.org,2004.
[4] WAP Forum Ltd. End-to-End Transport Layer Security Specification[S/OL]. http://www.openmobilealliance.org,2001.
[5] WAP Forum Ltd. WAP TLS Profile and Tunneling Specification[S/OL]. http://www.openmobilealliance.org,2001.
[6] The Legion of the Bouncy Castle. The Bouncy Castle Crypto Package[CP/OL]. http://www.bouncycastle.org,2006.