[摘 要] PKI技術是各種安全解決方案的基礎。WPKI是應用到無線網絡中的PKI技術。WPKI必須對有線網絡中的PKI進行優化和裁剪,才能適應無線網絡的特點。本文簡要介紹了PKI的技術背景和無線網絡的特點,討論了WPKI的關鍵技術,探討了幾種WPKI在移動電子商務安全中的應用模型,包括基于WAP的應用模型、基于STK的短消息應用模型和J2ME應用模型。
[關鍵詞] 無線公鑰基礎設施;移動電子商務;無線應用協議;短消息; J2ME
[中圖分類號]F724.6[文獻標識碼]A[文章編號]1673-0194(2008)20-0096-04
1 PKI技術背景
網絡在為人們提供便利、提高效率的同時,其信息安全問題越來越突出。目前網絡信息安全的各種解決方案,都是以公鑰基礎設施(Public Key Infrastructure, PKI)為基礎的。簡化的PKI實體構成圖如圖1所示。

目前PKI技術服務具有以下特點:
(1)機密性。即消息只有合法的接收者才能讀出,其他人即使收到也讀不出。
(2)真實性。即消息的確是由它宣稱的發送者發送的,如冒名頂替則會被發現。
(3)完整性。即消息在傳輸過程中不能被篡改,如果篡改則會被發現。
(4)不可抵賴性。即消息的發送者在發送后不能否認他發送過該消息。
2 無線網絡的特點
移動通信必須采用無線方式。無線信道是一個開放性信道,存在通信內容容易被竊聽、通信內容可以被更改和通信雙方身份可能被假冒等不安全因素。PKI中的密碼算法大多需要進行大量復雜的運算,這使得PKI在無線環境中的應用受到一些挑戰。這些挑戰來自于無線終端設備(如移動電話、PDA等)和無線通信網絡兩個方面。
首先,無線終端設備的計算資源十分有限,大多數無線終端設備的計算能力差、存儲容量小。而且,無線終端設備還受到體積和功耗的限制,顯示屏和鍵盤均較小。其次,與有線通信網絡相比,大多數無線通信網絡的頻率帶寬有限,數據傳輸速率比較低。此外,無線通信網絡中數據往返延遲大、通信連接的可靠性差、誤碼率高。
由于受限的計算環境和通信環境,使得無線網絡在保護網絡的安全時必須選擇能夠適應無線網絡特點的密碼技術,這就對PKI提出了一些特殊要求。
3 WPKI的關鍵技術
在實際使用中,傳統的PKI針對無線環境進行優化后形成了WPKI(Wireless PKI)。目前,WPKI的相關規范都是由OMA(Open Mobile Alliance,WAP論壇已并入該組織)制訂的。WPKI對證書格式、加密算法和密鑰、證書撤銷驗證等關鍵技術均做了精簡和優化。
3. 1WPKI的證書機制
WPKI支持的證書格式有X .509、X9.68以及WTLS。WPKI的理想實現是使用WTLS證書,因為其簡潔緊湊,易編碼,易解析,在無線終端設備中容易實現。其結構[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;
考慮到與現有的證書處理產品和CA基礎設施的兼容問題,建議服務器證書用WTLS格式,無線終端設備證書用X .509格式。相關的WPKI模型[2]如下:
●存儲在無線終端設備中的服務器證書與根CA證書采用WTLS格式。
●存儲在服務器中的無線終端設備證書與根CA證書采用X .509格式。
●無線終端設備應該存儲自身證書的URL,而不是證書本身,需要時只需傳送證書的URL。這既節約了存儲空間,又節約了傳輸帶寬。
3. 2WPKI加密算法和密鑰
ECC加密簽名算法是業內公認的目前最精簡的算法,是無線環境下安全機制的一個最合適的選擇。與ECC算法相比,傳統的簽名機制(如RSA算法)需要更多的處理資源和更多的存儲空間。在相同的計算資源條件下,ECC比RSA和DSA有更快的處理速度。典型的ECC算法使用的密鑰長度為163位,而在同等加密強度下的RSA算法的密鑰長度是1024位。也就是說,ECC算法使用的密鑰長度大約只是同等加密強度的RSA算法密鑰長度的1/6。ECC算法的上述特點使得密鑰存儲和證書存儲空間大大減少,數字簽名的處理效率得到提高。
3. 3證書撤銷驗證方案
由于上述無線環境的特點,無線終端設備如何驗證服務器的證書是否撤銷是一個比較復雜的問題。傳統的PKI技術利用CRL(Certificate Revocation List,證書撤銷列表)來指明已撤銷的證書。客戶下載CRL來驗證證書是否已經撤銷。CRL較大,一般有幾十kB,甚至上百kB。這是無線環境無法承受的。
在文獻[2]中,提出了短期證書方案。其基本思想是CA為服務器簽發有效期很短(比如48小時)的證書。這樣無線終端設備就無需驗證服務器證書是否已經撤銷了。對于幾天的有效期,多數應用能夠接受。但是對于那些涉及大量金錢的事務,比如股票買賣仍是難以接受的。在文獻[3]中,提出了無線OCSP規范。該規范將IETF的OCSP協議(RFC 2560)結合無線環境的特點經過優化和適當限制后,直接應用到無線環境中。從長遠看,在無線網絡和無線設備的性能有很大提高的情況下,完全應該將有線網絡的協議進行必要的優化后應用于無線環境。
國內外還提出了多種其他驗證方案,不贅述。
4WPKI在移動電子商務中的應用模型
4. 1基于WAP的應用模型
基于WAP的應用模型如圖2所示。

其中,WPKI作為安全基礎設施平臺是安全協議能有效實行的基礎。基于數字證書,WPKI提供了一個在分布式網絡中高度規模化、可管理的用戶驗證手段。它可與WTLS(Wireless Transport Layer Security)結合實現身份認證、私鑰簽名等功能。WTLS能夠提供下列3種類別的安全服
務[1]:
第一類服務:使用對稱密碼算法加密數據,同時檢查數據完整性。但沒有對通信雙方的身份進行認證。
第二類服務:除完成第一類服務的功能外還可以交換服務器證書,完成對服務器的認證。
第三類服務:除完成第二類服務的功能外還可以交換客戶證書,在服務器認證的基礎上又增加了客戶認證。
從第一類服務到第三類服務安全級別逐級增高,可以根據應用對安全級別的要求,選擇性地實現某一級別的安全服務。通常應該對這3種類別的服務都支持,在握手協商的過程中由客戶與服務器共同協商選定一個類別。
安全參與實體作為底層安全協議的實際應用者,相互之間的關系也由底層的安全協議決定。當該模型應用于實際移動電子商務時,這些安全參與實體即體現為交易方(無線終端設備、Web服務器)和其他受信任方(WAP網關、無線認證中心)。
WAP 1.2協議提供的安全機制只能實現從無線終端設備到WAP網關之間的安全。如果WAP網關在移動通信運營商處,那么運營商需要將消息在WAP網關處解密后進行協議轉換,再次加密后經有線網絡轉發給移動電子商務業務的提供商。在這種情況下,由于密文在WAP網關處要被解密成明文,因此這并不是真正意義上的端到端安全模型。這個問題被稱為安全鴻溝(Security Gap)問題。為解決這一問題,在WAP 2.0中提供了兩種實現真正端到端安全的方式,參見文獻[4]~[5]。
WPKI規范僅僅是一套框架式的規范和要求,并沒有制定具體的實現方法。因此,在實際的移動電子商務應用中,除了基于WAP的應用模型外,還可以有其他多種應用模型。
4. 2基于STK的短消息應用模型
STK(SIM card Tool Kit)可以理解為一組開發增值業務的命令,一種小型編程語言。它允許移動電話中的用戶身份識別模塊(SIM卡)運行自己的應用軟件,這種SIM卡稱為STK卡。僅需要在用戶STK卡上開發,再經過服務器的配合,然后就可以推出各種各樣豐富多彩的業務。把STK技術和OTA(Over The Air,空中下載)技術結合起來,可以隨時更新STK卡中的應用程序,使得各種業務的更新和升級變得非常簡單。
在本模型中,STK卡儲存證書及私鑰,進行加解密及簽名、驗證等各種密碼計算。而移動電話和服務器間的通信由短消息(SMS)來傳遞。目前短消息應用極為廣泛。只需將手機的普通SIM卡換為支持密碼計算的STK卡,即可開展安全的移動電子商務。此模型可應用于手機銀行、移動小額支付、外匯買賣、理財秘書等領域。
現在3G網絡馬上就要投入商用,無線通信網絡的數據傳輸速率有了較大提高。速率低、需多次往返的短消息顯然已經不再適合移動電子商務中的數據傳輸。同時STK技術有較大的技術缺陷:開發難度高;技術標準不統一;受處理器技術發展的限制,技術發展空間小。從發展前景來看,這種應用模型不久就會被激烈的市場競爭淘汰。
4. 3J2ME應用模型
隨著無線應用與嵌入式系統越來越受到人們的重視,SUN推出了J2ME(Java2 Platform, Micro Edition)來迎合這一未來的發展趨勢。J2ME擁有Java語言的全部優勢,具有廣闊的發展前景。
在J2ME中,無線終端設備被稱為有限聯接設備(Connected, Limited Device)。J2ME的實現分為兩層:configuration和 profile。configuration包括虛擬機(Virtual Machine)、核心的類庫與API,提供給開發人員一個最基礎、最核心的Java平臺。適用于有限連接設備的configuration稱為CLDC(Connected, Limited Device Configuration)。CLDC使用KVM(The K Virtual Machine)。KVM是SUN專門為使用16/32位RISC/CISC微處理器或控制器,并且其可用內存為160~512kB的設備開發的。KVM比較小,通常只有128kB或更小。Profile也包含一組API,主要針對于特定的某一族系的設備而定義。profile在特定的configuration上實現,而程序員則負責在特定的profile上編寫應用程序。對于移動電話、PDA等有限連接設備,它們的profile建立在CLDC上,稱為MIDP(Mobile Information Device Profile)。于是MIDP與CLDC合在一起就構成了一個完整的J2ME架構。MIDP上的應用程序被稱為MIDlet。
MIDP 1.0規范中要求開發商提供HTTP協議支持,其他協議的支持都只是可選的。但是MIDP 1.0.3以上版本則要求支持HTTPS。在J2ME平臺中,HTTPS使用的SSL稱為KSSL,這是SSL 3.0適用于無線終端設備的微型版本。
J2ME中的包javax.microedition.pki中定義了接口Certificate。該接口中定義了許多與證書操作有關的方法。另外,Bouncy Castle免費提供了可以在J2ME平臺上運行的加密包[6],而且其源代碼也是公開的。此加密包是對原有J2SE平臺上的加密包針對J2ME平臺特點優化而成的,完全兼容于SUN JCE框架,可以應用在無線終端設備上。
立足于J2ME的這些功能,可根據具體的需要編寫代碼,開發出適合自己的WPKI應用,確保移動電子商務的安全。JAVA語言自身的安全性很高,J2ME還具有網絡功能,現在支持J2ME的無線終端設備越來越多。應該說,這是一種很有前途的模型。問題是J2ME實現復雜,密碼算法的效率不高。
5 結束語
隨著無線通信網絡的持續發展和對電子商務安全要求的不斷提高,WPKI技術有著巨大的應用前景。應該根據具體的應用和安全要求選定一個合適的應用模型。
主要參考文獻
[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.