智能卡在WPKI中的應用研究
文章出處:http://5052h112.com 作者:黃成 汪海航 人氣: 發表時間:2011年09月23日
0 引 言
隨著移動通信技術的迅速發展,人們借助終端設備可以隨時隨地地接入網絡進行交易和數據交換,促進了移動電子商務的發展。移動電子商務作為移動通信應用的一個主要發展方向,其與Intemet上的在線交易相比有著許多優點,因此日益受到人們的關注,而移動交易系統的安全是推廣移動電子商務必須解決的關鍵問題。
在有線網絡環境中,PKI是網絡安全建設的基礎與核心,是電子商務安全實施的基本保障。而在無線通信網絡中帶寬、終端處理能力等方面的限制,使得PKI不能引入無線網絡。wPKI(wirelesS PKI)就是為滿足無線通信安全需求而發展起來的,它可應用于手機、PDA等無線裝置,為用戶提供身份認證、訪問控制和授權、傳輸保密、資料完整性、不可否認性等安全服務。智能卡擁有優秀的安全性,可以作為WPKI體系當中網絡安全客戶端很好的接入載體。智能卡有自己的處理器,因而能夠在卡內實現密碼算法和數字簽名,并且能夠安全地存儲私鑰。目前,智能卡已經逐漸應用于公安系統警務查詢、稅務部門查詢、企業移動應用、移動電子商務、移動電子銀行等領域,其中包括了基于PKI體系的USB Key以及利用手機短信進行移動業務處理的STK卡等。
1 WPKI與PKI智能卡
WPKI由終端、PKI門戶、CA、PKI目錄服務器等部分組成密鑰管理體系。在WPKI的應用中,還設計WAP網關和數據提供服務器等服務設備。WPKI的基本結構如圖1所示。
圖1 W PKI的結構
WPKI中定義了一個PKI中沒有的組件,即PKI門戶,它負責處理來自終端和網關的請求,PKI門戶一般代表RA并且通常和網關集成在一起。RA是連接終端和網關之間的橋梁,它負責接受終端和網關的注冊請求,并向CA注冊證書,CA一方面需要把生成的證書放到證書目錄器(如LDAP服務器),供需要時(如網關和服務器等設備在需要進行驗證時)各實體查詢;另一方面要將證書通過RA發送到終端和網關。終端包括手機、PDA等WAP設備,而應用于其上的智能卡則用來存儲數字證書、密鑰等機密信息,實現加解密及進行數字簽名的功能。
一張智能卡主要由微處理器(CPU)和存儲器以及固化在卡上的操作系統構成,是具有存儲能力和計算能力的集成電路芯片卡-2] PKI智能卡是將PKI技術應用于智能卡的產物,在PKI體系中,私有密鑰以及第三方認證機構所頒發的數字證書可以存儲在極為安全的智能卡上。由于智能卡所攜帶的微處理器可實現存儲、加解密、卡內生成密鑰對等功能,因此數字簽名可以利用存儲在智能卡上的私鑰自動計算生成。整個簽名過程都是由卡內自動完成,并且簽名密鑰不可出卡,所以PKI智能卡可以有效確保私鑰安全和簽名的有效性。
2 智能卡在WPKI中應用問題分析
一個安全、可靠的WPKI應用系統,其安全性取決于系統的方方面面。將智能卡應用于WPKI時,其在客戶端的安全中扮演了重要的角色。WPKI體系根據無線環境與有線網絡的種種區別,對PKI進行了優化,而當將智能卡應用于其中時,由于智能卡有特殊的環境要求,因此尚需解決一些特殊問題。在智能卡應用系統中,終端可以支持多個應用系統,終端上的智能卡需要保存所有被其支持的應用系統CA公鑰,產生密鑰并進行加解密運算、數字簽名、存儲數字證書等-3 J,因此智能卡上的密鑰的安全存儲是要解決的重要問題。在智能卡與終端的交互中,還需要進行相應的信息鑒別,保存交互的信息,以決定智能卡和終端的合法性。
另外智能卡作為一些機密信息的載體,其自身的安全性也是關乎整個系統安全的關鍵因素,因此在智能卡的設計和選擇上需要相應安全策略和安全組件以達到一定的安全級別。
2.1 智能卡密鑰管理策略
公鑰密碼技術已成為現代網絡安全保密技術的基石,目前居于核心位置的公鑰密碼算法有兩種,即RSA算法和橢圓曲線(ECC)算法。智能卡應用于WPKI時,不僅要選擇計算簡單且安全性高的算法,而且對于密鑰的管理也非常重要。
2.1.1 算法選擇
基于PKI的應用中,密鑰算法的安全程度也是非常重要的一個環節。目前智能卡芯片通常提供DES甚至Triple—DES 的加密/解密計算能力。DES 算法是一種公開的算法,盡管能破譯,但計算既不經濟又不實用。例如采用差分分析對一個16輪DES的最佳攻擊需要24r個選擇明文,采用最佳線性攻擊平均需要245個已知明文。
RSA算法的優點在于簡單易用,缺點是隨著安全性要求提高,其所需的密鑰長度幾乎是成倍增加。目前,一般認為RSA密鑰至少要1024bit以上的長度才有安全保障,但1024位的加密運算對于智能卡將是一個沉重的負擔。ECC算法使用較短的密鑰就可以達到和RSA算法相同的加密強度,它的數論基礎是有限域上的橢圓曲線離散對數問題,現在還沒有針對這個難題的亞指數時間算法,因而ECC算法具有每比特最高的安全強度。由于智能卡在CPU處理能力和RAM大小的限制,采用一種運算量小同時能提供高加密強度的公鑰密碼體制對在智能卡上實現數字簽名應用是至關重要的。ECC在這方面具有明顯的優勢,160位的ECC算法安全性相當于1024位的RSA算法,而210位的ECC則相當于RSA的2048位。
智能卡對秘密數據的加解密都是在卡內完成,攻擊者是無法通過智能卡接口取得秘密數據的,因此是比較安全的。
2.1.2 密鑰存儲
無線識別模塊wIM(Wireless Identity Module)用于存儲WPKI公鑰和用戶私鑰等密鑰信息及相關證書信息,以完成無線傳輸安全層(WTLS)、傳輸安全層(TLS)和應用層的安全功能j 。在對WIM 的實現中,最基本的要求就是其載體的抗攻擊性,也就是有某種物理保護措施,使得任何從WIM 模塊中非法提取和修改信息的操作都不可能成功,智能卡就是一個很好的此類安全載體(目前普遍使用SIM 卡來實現此模塊),而且智能卡有自己的處理器進行加解密和數字簽名,更是節省了手機等終端設備的資源。一般,公鑰具有兩類用途:數字簽名驗證和數據加密。因此,終端智能卡需要配置簽名密鑰對和加密密鑰對。這兩類密鑰對對于密鑰管理有不同的要求。
簽名密鑰對:由終端智能卡生成,公鑰發送給認證中心CA,由CA制作證書后再發給用戶;私鑰則保存在智能卡中,不能由WAP終端設備讀取,也不能備份。
加密密鑰對:通常情況下,用戶端加密密鑰由CA中心生成,生成后公鑰用戶簽發證書,解密時要由CA中心加密保存,即做備份處理。在智能卡個人化時,解密私鑰以加密方式寫入卡中,同時完成加密證書的灌制。
2.2 證書存儲
在無線環境中,由于網絡帶寬窄、穩定性差,以及終端設備受存儲能力和處理能力的限制,因此要將智能卡應用于WPKI體系,必然對證書大小有嚴格的要求。
WPK1支持WTLS和X.509兩種證書。IETFPKIx工作組定義了一種新的證書格式——WTLS 證書格式,它是標準PKI證書的子集,保證了這些PKI標準互操作的可能性,但更小,更簡化。智能卡中的容量通常比較小,一般只有2~32kB,而X.509證書代碼可多達10k,這將影響到智能卡功能的發揮。在WPKI中,除了使用WTLS證書格式外,還有一個解決方案:只在智能卡中存放一個指針,由指針指出完整證書的位置,而這個指針往往是一個URL地址(HTTP URL或LDAP URL)并且由PKI 門戶或(網關)服務器負責解析。這個URL地址往往只有幾個字節,既適應了無線環境的特點,又能與現有PKI設施兼容。
在PKI系統中,客戶端最大負荷在于驗證對方的證書,這項任務可由兩種方式完成。一是證書注銷清單CRL,它是證書吊銷的一個列表,用戶將CRL下載到本地后進行驗證,這樣開銷比較大;另一種是在線證書狀態協議CCsP方式,CCsP服務器對外公開證書狀態查詢端口,收到查詢請求包后,在系統證書狀態表中檢查證書是否作廢,將查詢結果按OCSP協議生成響應包后回送客戶端。因定期下載CRL所需要的時間和費用以及無線帶寬限制等原因,上述兩種方法不適合WPKI。目前WPKI中采用短生命周期的網關證書,這種證書使用短的有效期,當CA想撤回網關或服務器證書,只要停止發放短期證書就可以了,客戶因為得不到有效證書也會停止認為這個服務器或網關是有效的。
在PKI應用中,當智能卡插入到終端時將卡中的用戶個人證書導入到終端系統的證書存儲區,這樣終端就可以使用用戶證書進行身份驗證和接入應用了。當智能卡從終端拔出時,終端需要將證書存儲區中的證書信息刪除以保證安全性。在證書導入、導出的過程中,需要驗證此用戶是否為合法經授權的用戶,因此,可以結合用戶的個人密碼來提高安全性。
3 智能卡安全
智能卡中存儲了WPKI所需的證書、密鑰等機密信息,這些信息不僅在使用時確保其安全性,在存儲中時也要確保防盜、防篡改。智能卡的安全在硬件方面通常是添加一些安全組件來保證的,在軟件方面包括構造安全的卡片操作系統、安全的應用程序及相應的文件結構。
3.1 卡片安全組件
智能卡應用于WPKI時需保證存儲于其中的信息的安全,因此卡自身的安全變得非常重要,為智能卡添加安全組件則是常用的一些方法,主要有硬件加解密、隨機數發生器、內存管理單元以及安全檢測與防護等模塊組成。
安全的身份認證:智能卡采用PIN碼進行保護,持卡人只有同時具備卡和其PIN碼才可正常使用卡。卡與終端采用互認證,即不僅終端要驗證卡的身份,而且卡也要驗證終端的身份,以避免潛在的攻擊、信息外泄。
卡片抵御攻擊能力:智能卡在設計階段就應采取有針對性的安全檢測和防護手段。通過優化或增加一些硬件保護組件抵御入侵式或者非入侵式的硬件攻擊,如通過產生干擾信號、抵御SPAE2 J等攻擊手段。卡片操作系統的良好設計也能避免被植入木馬等程序而導致密鑰等機密信息泄露的情形。
硬件加解密:密鑰和加解密算法是系統中非常機密的信息,由于采用軟件進行加解密操作有被盜取信息的可能性,而采用硬件實現則將機密信息屏蔽,外界很難探測到重要信息,具有更高的安全性。對于用來生成密鑰的隨機數來說,更是需要采用硬件隨機數發生器(白噪聲技術)來提高安全性。
安全的內存管理:實現邏輯地址的分區管理以及物理地址與邏輯地址的映射,保證用戶程序代碼和數據在存儲區中的不連續存放。這樣,即使芯片被解剖分析,攻擊者也無法讀出正確的數據。
3.2 卡片安全訪問權限
智能卡中往往存儲了機密信息,在卡片正式使用之前,須對卡片進行應用規劃:建立相關的文件結構、建立相應的訪問權限、寫入相關數據和密鑰。公鑰算法中的簽名私鑰則只能在卡內生成,并且私鑰只允許設置修改權和使用權,即私鑰不出卡。用戶的私有信息(如私鑰、證書、PIN碼等)由用戶密碼進行保護,并且設置密碼的錯誤次數上限,一般限制為3次,即密碼核實三次出錯,卡片鎖死,且只能到指定地點進行解鎖。
4 結束語
隨著移動通信技術的發展,基于WPKI體系的應用也會越來越廣泛,而智能卡則在這些應用系統中保證了客戶端的安全。從技術和現實的角度討論了將智能卡應用于WPK1體系中的一些問題,分析了如何根據智能卡的特點突破這些局限性,并對智能卡的存儲安全和使用安全的相關策略進行了探討。然而不同的應用系統可能會對智能卡有不同的要求,因此應根據需要采用不同的使用策略。
作者簡介:黃成(1983-),男。江蘇鹽城人,同濟大學計算機科學與技術系 碩士研究生,主要研究方向為計算機網絡與電子商務;汪海航,教授,博士生導師,主要研究方向為計算機網絡與電子商務。
參考文獻:
[1] 趙文,戴宗坤.WPKI應用體系架構研究[J].四川大學學報:自然科學版,2005,42(4):725—730.
[2] 張志紅.智能卡安全技術及在PKI中的應用[J].網絡安全技術與應用,2005(6) 10—12.
[3] 曹化工,梁宗煉,高小新,等.基于智能卡的PKI體系實現框架[J].小型微型計算機系統,2003,24(6):1004—1008.
[4] Henry M、智能卡安全與應用[M].楊義先等譯.北京 人民郵電出版社,2oo2.
f5] 劉杰.王春萌,范春曉.移動電子商務及WPKI技術[J].北京郵電大學學報,2002,25(2):1—7.
[6] 劉志強.智能卡在無線交易中的應用fJ].信息安全與通信保密,2006(1):53—57.
[7]路綱,余塹,周明天,等.WPK!-5 PKI關鍵技術對比[J].計算機應用,2005,25(11):2505—2508.