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