移動(dòng)終端的安全解決方案d-SSL
摘 要:目前,關(guān)于無(wú)線通信的安全協(xié)議標(biāo)準(zhǔn)有WTLS、SSL、TLS等。本文分析了SSL協(xié)議,并提出了其在移動(dòng)終端上的安全解決方案d-SSL。
關(guān)鍵詞:電子商務(wù);SSL;X.509
引言
安全性是阻礙移動(dòng)商務(wù)在行業(yè)獲得迅速發(fā)展的最大瓶頸之一。消費(fèi)者在進(jìn)行手機(jī)購(gòu)物等移動(dòng)商務(wù)行為時(shí),考慮最多的就是安全信用問(wèn)題。所以,針對(duì)移動(dòng)終端的安全解決方案d-SSL的提出,具有很重要的意義。
d-SSL采用的主要安全技術(shù)及其標(biāo)準(zhǔn)規(guī)范
d-SSL完整地實(shí)現(xiàn)了Internet主要的安全協(xié)議:SSL協(xié)議。SSL協(xié)議通過(guò)在應(yīng)用程序進(jìn)行數(shù)據(jù)交換前交換SSL初始握手信息來(lái)實(shí)現(xiàn)有關(guān)安全特性的審查。在SSL握手信息中采用了DES、MD5等加密技術(shù)來(lái)實(shí)現(xiàn)機(jī)密性和數(shù)據(jù)完整性,并采用X.509的數(shù)字證書(shū)實(shí)現(xiàn)鑒別。d-SSL中采用了兩類加密技術(shù)。
對(duì)稱加密技術(shù)
在對(duì)稱加密方法中,對(duì)信息的加密和解密都使用相同的密鑰。也就是說(shuō),一把鑰匙開(kāi)一把鎖。使用對(duì)稱加密方法將簡(jiǎn)化加密的處理,每個(gè)貿(mào)易方都不必彼此研究和交換專用的加密算法,而是采用相同的加密算法并只交換共享的專用密鑰。如果進(jìn)行通信的貿(mào)易方能夠確保專用密鑰在密鑰交換階段未曾泄露,那么機(jī)密性和報(bào)文完整性就可以通過(guò)對(duì)稱加密方法加密機(jī)密信息和通過(guò)隨報(bào)文一起發(fā)送報(bào)文摘要或報(bào)文散列值來(lái)實(shí)現(xiàn)。
非對(duì)稱加密/公開(kāi)密鑰加密
在非對(duì)稱加密體系中,密鑰被分解為一對(duì)(即一把公開(kāi)密鑰或加密密鑰和一把專用密鑰或解密密鑰)。這對(duì)密鑰中的任何一把都可作為公開(kāi)密鑰(加密密鑰)通過(guò)非保密方式向他人公開(kāi),而另一把則作為專用密鑰(解密密鑰)加以保存。公開(kāi)密鑰用于對(duì)機(jī)密性信息加密,專用密鑰則用于對(duì)加密信息的解密。專用密鑰只能由生成密鑰對(duì)的貿(mào)易方掌握,公開(kāi)密鑰可廣泛發(fā)布,但它只對(duì)應(yīng)于生成該密鑰的貿(mào)易方。
d-SSL的設(shè)計(jì)
SSL協(xié)議簡(jiǎn)述
SSL協(xié)議由SSL記錄協(xié)議和SSL握手協(xié)議兩部分組成。
SSL記錄協(xié)議
在SSL協(xié)議中,所有的傳輸數(shù)據(jù)都被封裝在記錄中。記錄是由記錄頭和記錄數(shù)據(jù)組成的。所有的SSL通信消息,包括握手消息、告警消息和應(yīng)用數(shù)據(jù)等,都使用SSL記錄協(xié)議進(jìn)行封裝。同一時(shí)刻同一方向的所有握手協(xié)議可以封裝在同一個(gè)記錄中傳輸。SSL記錄協(xié)議有四種類型:ChangeCipherSpec、Alert、Handshake和ApplicationData。
SSL握手協(xié)議
在通信的初始化階段,客戶方先發(fā)出ClientHello消息,服務(wù)器方也應(yīng)返回一個(gè)ServerHello消息。這兩個(gè)消息用來(lái)協(xié)商雙方的安全能力,包括協(xié)議版本、會(huì)話ID、交換密鑰算法、對(duì)稱加密算法、壓縮算法等。接著服務(wù)器方應(yīng)發(fā)送服務(wù)器證書(shū)(包含了服務(wù)器的公鑰等),如果服務(wù)器要求驗(yàn)證客戶方,則要發(fā)送CertificateRequest消息。最后服務(wù)器方發(fā)送ServerHelloDone消息,表示hello階段的結(jié)束,服務(wù)器等待客戶方的響應(yīng)。
如果服務(wù)器要求驗(yàn)證客戶方,則客戶方先發(fā)送Certificate消息,然后產(chǎn)生會(huì)話密鑰,并用服務(wù)器的公鑰加密,封裝在ClientKeyExchange消息中。如果客戶方發(fā)送了自己的證書(shū),則再發(fā)送一個(gè)數(shù)字簽名CertificateVerify消息來(lái)對(duì)證書(shū)進(jìn)行校驗(yàn)。
隨后,客戶方發(fā)送一個(gè)Change CipherSpec消息,通知服務(wù)器以后發(fā)送的消息將采用先前協(xié)商好的安全參數(shù)加密,最后再發(fā)送一個(gè)加密后的Finish消息。服務(wù)器在收到上述兩個(gè)消息后,也發(fā)送自己的Change CipherSpec消息和Finish消息。至此,握手全部完成,雙方可以開(kāi)始傳輸應(yīng)用數(shù)據(jù)。
d-SSL體系結(jié)構(gòu)
d-SSL的特點(diǎn)及其模塊結(jié)構(gòu)
在實(shí)現(xiàn)過(guò)程中,將δ-SSL分為幾個(gè)模塊,如圖1所示。
d-SSL有如下幾個(gè)特點(diǎn):
?可移植、可剪裁、可配置。主要用標(biāo)準(zhǔn)C語(yǔ)言實(shí)現(xiàn),與硬件平臺(tái)及嵌入式操作系統(tǒng)無(wú)關(guān),可支持不同的CPU和嵌入式操作系統(tǒng),可以根據(jù)應(yīng)用的需要去掉某些算法模塊。
?為了保證良好的可擴(kuò)展性,在各加、解密算法之上封裝了一個(gè)很薄的加、解密接口層,這樣,第三方的算法模塊和IC卡接口模塊就可以輕松自如地嵌入到整個(gè)體系結(jié)構(gòu)中。
?為了在SSL協(xié)商過(guò)程中友好地與用戶交互,在SSL API中提供了回調(diào)的接口。這樣,用戶可以實(shí)時(shí)地監(jiān)控SSL協(xié)商的過(guò)程,并且可以干預(yù)SSL的協(xié)商。
?為了在證書(shū)存取的處理中屏蔽對(duì)底層硬件(Flash)的差異性,提高可移植性,提供了一個(gè)簡(jiǎn)單的文件系統(tǒng)接口。
證書(shū)的發(fā)放與管理
由于消費(fèi)電子類的信息終端具有一些特殊性,如:資源有限、要求體積盡量小、成本低等,所以終端上一般不會(huì)像PC機(jī)一樣有軟驅(qū)、硬盤(pán),因此面向終端的X.509證書(shū)的發(fā)放和存取都有其一定的特殊性。
一般說(shuō)來(lái),在終端上存儲(chǔ)的證書(shū)有兩類:
?可信的CA(Certification Authority) 證書(shū)。CA的作用是檢查證書(shū)持有者身份的合法性,并簽發(fā)證書(shū),以防證書(shū)被偽造或篡改。
?用戶證書(shū)和私鑰文件。用戶證書(shū)用來(lái)向?qū)Ψ綐?biāo)志自己的身份,其中含有用戶的公鑰,而私鑰文件則包含了用戶的私鑰,需要進(jìn)行加密存儲(chǔ)和妥善的保管。為了安全、方便地在Internet上發(fā)放用戶證書(shū)和私鑰文件,還有一種PKCS12格式的證書(shū),它把用戶證書(shū)和私鑰文件進(jìn)行加密后合成為一個(gè)證書(shū)文件。
從有無(wú)IC卡讀卡器接口的角度來(lái)看,可把終端分為兩類,下面將分別闡述兩種類別的證書(shū)發(fā)放和管理方案:
?無(wú)讀卡器接口的低端產(chǎn)品。
以網(wǎng)上銀行為例(用戶已在該銀行開(kāi)戶),發(fā)放證書(shū)的流程如下:
1. 用戶通過(guò)終端瀏覽器訪問(wèn)該銀行網(wǎng)站,并填寫(xiě)申請(qǐng)表。
2. 用戶同意銀行的協(xié)議書(shū),并下載該銀行的根CA證書(shū),存儲(chǔ)到終端的flash中。
3. 用戶下載用戶證書(shū)(PKCS12格式),并記住密碼。通過(guò)密碼校驗(yàn)后存儲(chǔ)到flash中。
?有讀卡器接口的高端產(chǎn)品。用戶證書(shū)和私鑰文件都存儲(chǔ)在IC卡中(CPU卡),并且私鑰不會(huì)被讀出IC卡外,與私鑰相關(guān)的運(yùn)算都在IC卡內(nèi)完成。這種方式的安全性最高。
結(jié)語(yǔ)
本文分析了SSL協(xié)議的原理和握手協(xié)議的流程,并闡述了d-SSL的體系結(jié)構(gòu),以及證書(shū)的發(fā)放與管理策略?!?/P>
參考文獻(xiàn)
1 Alan O.Freier, Philip Karlton, Paul C.Kocher . The SSL Protocol Version 3.0.Netscape Communications Corporation ,1996
2 R. Housley , W. Ford , W. Polk, D. Solo . RFC 2459:Internet X.509 Public Key Infrastructure Certificate and CRL Profile . 1999
3 Bruce Schneier . 應(yīng)用密碼學(xué). 北京: 機(jī)械工業(yè)出版社, 2000
評(píng)論