結(jié)束階 段指的是終端或客戶(hù)端與服務(wù)器斷開(kāi)連接的過(guò)程。
[0033] 本實(shí)施例中,使用模塊化的設(shè)計(jì)思想進(jìn)行設(shè)計(jì),按照模塊化的設(shè)計(jì)思想將會(huì)話(huà)區(qū) 分成=個(gè)階段進(jìn)行;會(huì)話(huà)的建立階段,會(huì)話(huà)持續(xù)階段,會(huì)話(huà)結(jié)束階段,使得安全超文本傳輸 協(xié)議可W針對(duì)會(huì)話(huà)的不同階段設(shè)置不同的安全策略,從而能夠?yàn)闀?huì)話(huà)的各個(gè)階段提供安全 性保證。
[0034] 102、為會(huì)話(huà)連接的各個(gè)階段的可用的安全策略設(shè)置對(duì)應(yīng)的API接口,W便通過(guò) API接口接收用戶(hù)終端所選擇的安全策略的標(biāo)識(shí)。
[0035] 可用的安全策略包括:服務(wù)器端的實(shí)體身份鑒別SA(ServerAuthentication)、 客戶(hù)端的實(shí)體身份鑒別CA(ClientAuthentication)、數(shù)據(jù)的完整性鑒別MI(Message Integrity)和數(shù)據(jù)的機(jī)密性鑒別MC(MessageConfidentially)。上述安全策略的設(shè)置,能 夠避免應(yīng)用數(shù)據(jù)傳輸中的各種問(wèn)題,例如客戶(hù)端的實(shí)體身份鑒別可W避免應(yīng)用數(shù)據(jù)傳輸過(guò) 程中的冒充客戶(hù)端進(jìn)行破壞的問(wèn)題;服務(wù)器端的實(shí)體身份鑒別可W避免應(yīng)用數(shù)據(jù)傳輸過(guò)程 中的冒充服務(wù)器進(jìn)行破壞的問(wèn)題;數(shù)據(jù)的完整性鑒別和數(shù)據(jù)的機(jī)密性鑒別可W避免應(yīng)用數(shù) 據(jù)傳輸過(guò)程中的截取機(jī)密信息或者對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行更改替換的問(wèn)題。
[0036] 其中,服務(wù)器端的實(shí)體身份鑒別SA可W設(shè)置在會(huì)話(huà)連接的建立階段或會(huì)話(huà)連接 的結(jié)束階段,客戶(hù)端的實(shí)體身份鑒別CA可W設(shè)置在會(huì)話(huà)連接的建立階段或會(huì)話(huà)連接的結(jié) 束階段,對(duì)于服務(wù)器端的實(shí)體身份鑒別SA和客戶(hù)端的實(shí)體身份鑒別CA可W使用公鑰基礎(chǔ) 設(shè)置(PublicK巧In化astruc化re,PKI)系統(tǒng)的數(shù)字證書(shū)進(jìn)行驗(yàn)證。在PKI中,用戶(hù)可W 根據(jù)自己的公鑰生成自己的數(shù)字簽名,根據(jù)數(shù)字簽名形成數(shù)字證書(shū),其算法為公鑰加密RSA 算法。利用RSA算法,對(duì)需要在網(wǎng)絡(luò)上傳輸?shù)年P(guān)鍵數(shù)據(jù)進(jìn)行簽名和驗(yàn)簽,達(dá)到我們對(duì)數(shù)據(jù)保 護(hù)的要求。如圖2所示,為本發(fā)明提供的安全超文本傳輸方法實(shí)施例的框架示意圖。服務(wù) 器端可W將四種安全策略分別設(shè)置在對(duì)應(yīng)的會(huì)話(huà)階段,W便為通過(guò)不安全信道傳輸?shù)臅?huì)話(huà) 各個(gè)階段的數(shù)據(jù)提供安全性保證。
[0037] 需要進(jìn)行說(shuō)明的是,可用的安全策略包括但不限于上述四種安全策略??捎玫陌?全策略還可W包括其他可W作為安全策略適用到協(xié)議中的安全策略,此處不做限定,可W 根據(jù)實(shí)際需要進(jìn)行添加。
[003引其中,數(shù)據(jù)的完整性鑒別MI可W設(shè)置在會(huì)話(huà)連接的持續(xù)階段,對(duì)于數(shù)據(jù)的完整性 鑒別MI的安全策略,服務(wù)器端可W采用資源消耗較小的MD5算法或者HA甜哈希算法進(jìn)行 計(jì)算,并將計(jì)算得到的值進(jìn)行加密傳輸,在客戶(hù)端只需要通過(guò)再次計(jì)算MD5值或者HASH值, 與加密的值進(jìn)行對(duì)比就可W判斷信息是否在傳輸過(guò)程中更改。如圖3所示,為數(shù)據(jù)的完整 性MI的安全策略的使用示意圖。
[0039] 其中,數(shù)據(jù)的機(jī)密性鑒別MC可W設(shè)置在會(huì)話(huà)連接的持續(xù)階段,對(duì)于數(shù)據(jù)的機(jī)密 性鑒別MC的安全策略,服務(wù)器端可W對(duì)應(yīng)用數(shù)據(jù)進(jìn)行加密后使用安全套接層(Secure SocketsLayer,SSL)進(jìn)行安全傳輸,保證數(shù)據(jù)的高度機(jī)密性。不同于傳統(tǒng)的HTTPS實(shí)現(xiàn)過(guò) 程,在該里SSL的使用不僅僅只針對(duì)過(guò)程中的數(shù)據(jù)機(jī)密性做出承諾,還負(fù)責(zé)驗(yàn)證通信對(duì)方 的實(shí)體身份鑒別。對(duì)于加密所使用的對(duì)稱(chēng)密鑰,為了避免SSL傳輸?shù)难舆t和計(jì)算時(shí)間,可W 在會(huì)話(huà)連接的建立階段,隨機(jī)生成一組密鑰對(duì)信息進(jìn)行加密,并且加密方式可W選擇。注意 至IJ,在該個(gè)情況下即便沒(méi)有對(duì)通信雙方進(jìn)行實(shí)體身份鑒別,同樣可W-定程度能夠抵御欺 騙攻擊,因?yàn)槊荑€只在建立一開(kāi)始進(jìn)行分配,過(guò)程中新加入的第=方無(wú)法獲得密鑰從而無(wú) 法對(duì)通信進(jìn)行破密。如表1所示,為采用四種安全策略的情況下,安全策略所能防御的攻 山〇
[0040]表1
[0041]
[004引 應(yīng)用程序編程接口(ApplicationProgrammingInte;rface,API)是一些預(yù)先定義 的函數(shù),目的是提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件得W訪問(wèn)一組例程的能力,而 又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。API接口的設(shè)計(jì),使得開(kāi)發(fā)人員不需要去關(guān) 屯、底層具體怎么實(shí)現(xiàn)某項(xiàng)功能從而將編程變得模塊化,更加的方便使用和改善。對(duì)于客戶(hù) 端來(lái)講,接收到的是方便與瀏覽器顯示的語(yǔ)言,在一定程度上可W保護(hù)源代碼不會(huì)輕易的 泄露。
[0043] API接口使得開(kāi)發(fā)人員使用相對(duì)應(yīng)的關(guān)鍵字進(jìn)行程序編寫(xiě),從而可W很方便的使 用其相對(duì)應(yīng)的安全策略。其中對(duì)于服務(wù)器端的和客戶(hù)端的實(shí)體身份鑒別的功能在經(jīng)過(guò)解析 過(guò)后變成了一系列的命令,從而提交給底層的應(yīng)用程序執(zhí)行。相對(duì)應(yīng)的,有關(guān)HTML的代碼 格式的超文本則被解析成了帶有標(biāo)簽的文本,傳遞給底層程序執(zhí)行。從而完成安全策略解 析的過(guò)程。編程人員不需要了解解析的過(guò)程具體怎樣實(shí)現(xiàn),大幅度減小了編程人員的負(fù)擔(dān)。 如圖4所示,為本發(fā)明提供的安全超文本傳輸方法實(shí)施例中四種安全策略的功能實(shí)現(xiàn)示意 圖。其中,自適應(yīng)的安全超文本傳輸協(xié)議AHTTPS使用類(lèi)似于HTML超文本標(biāo)記的格式進(jìn)行 相關(guān)程序的編程,使用相對(duì)應(yīng)的關(guān)鍵字進(jìn)行編寫(xiě),可W很方便的使用其相對(duì)應(yīng)的安全策略。 其中對(duì)于服務(wù)器端的和客戶(hù)端的實(shí)體身份鑒別的功能在經(jīng)過(guò)AHTTPS解析過(guò)后變成了一系 列的命令,從而提交給底層的應(yīng)用程序執(zhí)行。相對(duì)應(yīng)的,有關(guān)超文本標(biāo)記語(yǔ)言(HyperText MarkupLanguage,HTML)的代碼格式的超文本則被解析成了帶有標(biāo)簽的文本,傳遞給底層 程序執(zhí)行,從而完成四個(gè)安全策略解析的過(guò)程。其中,解析的過(guò)程全部由AHTTPS協(xié)議進(jìn)行, 編程人員不需要了解其具體怎樣實(shí)現(xiàn),大幅度按減小了編程人員的負(fù)擔(dān)。
[0044] AHTWS提供封裝,編程人員或用戶(hù)無(wú)需關(guān)屯、內(nèi)部實(shí)現(xiàn)細(xì)節(jié),通過(guò)控制SA、CA、MI、 MC四個(gè)選項(xiàng),實(shí)現(xiàn)網(wǎng)絡(luò)應(yīng)用,并達(dá)到合適的安全性要求。如采用類(lèi)似HTML語(yǔ)言的編程方式, WHTML屬性值表示SA、CA、MI、MC選項(xiàng),并將頁(yè)面源代碼"包裹"起來(lái)。該個(gè)框架提供的該 四個(gè)可自由選擇組合的安全策略選項(xiàng),能幫助編程人員平衡安全性和復(fù)雜性。
[0045] 本實(shí)施例中,安全超文本傳輸協(xié)議支持四種可選的安全策略,四種安全策略所對(duì) 應(yīng)的會(huì)話(huà)階段是不同的階段。如果四種安全策略都選擇了,那么服務(wù)器端的實(shí)體身份鑒別 和客戶(hù)端的實(shí)體身份鑒別將在會(huì)話(huà)的建立階段和會(huì)話(huà)的結(jié)束階段進(jìn)行;而信息完整性鑒別 和信息的機(jī)密性鑒別將在會(huì)話(huà)的持續(xù)階段中進(jìn)行。如果四種安全策略都不啟用,那么整個(gè) 協(xié)議會(huì)退化到普通的HTTP協(xié)議上,從而在最大程度上保持可拓展性。
[0046] 103、根據(jù)用戶(hù)終端所選擇的安全策略的標(biāo)識(shí)對(duì)應(yīng)的安全策略,在安全策略對(duì)應(yīng)的 會(huì)話(huà)連接階段對(duì)應(yīng)用數(shù)據(jù)進(jìn)行處理并傳輸。
[0047] 進(jìn)一步地,步驟103之前,還可W包括;通過(guò)API接口將對(duì)應(yīng)的安全策略的標(biāo)識(shí)提 供給用戶(hù)終端,W便用戶(hù)終端為待傳輸?shù)膽?yīng)用數(shù)據(jù)選擇需要使用的安全策略的標(biāo)識(shí)。
[0048] 另外,需要進(jìn)行說(shuō)明的是,所述的方法還包括;針對(duì)會(huì)話(huà)連接的各個(gè)階段分別設(shè)置 對(duì)應(yīng)的通信管道。對(duì)應(yīng)的,步驟103具體可W包括;根據(jù)用戶(hù)終端所選擇的安全策略的標(biāo) 識(shí),將標(biāo)識(shí)對(duì)應(yīng)的安全策略分別設(shè)置在對(duì)應(yīng)的會(huì)話(huà)連接階段的通信管道內(nèi),W便各個(gè)會(huì)話(huà) 連接階段的數(shù)據(jù)通過(guò)對(duì)應(yīng)的通信管道時(shí),根據(jù)通信管道內(nèi)的