專(zhuān)利名稱(chēng):一種wapi終端與應(yīng)用服務(wù)器傳輸文件的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及WAPI技術(shù)領(lǐng)域,具體涉及一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的系 統(tǒng)及方法。
背景技術(shù):
為了解決無(wú)線局域網(wǎng)國(guó)際標(biāo)準(zhǔn)IS0/IEC 8802-11中定義的WEP(WiredEquivalent Privacy)安全機(jī)制存在的安全漏洞,我國(guó)頒布了無(wú)線局域網(wǎng)國(guó)家標(biāo)準(zhǔn)及其第一號(hào)修 改單,采用無(wú)線局域網(wǎng)認(rèn)證與保密基礎(chǔ)結(jié)構(gòu)WAPI(WLANAuthentication and Privacy Infrastructure)替代WEP,解決無(wú)線局域網(wǎng)的安全問(wèn)題。WAPI由無(wú)線局域網(wǎng)鑒別基礎(chǔ)結(jié) 構(gòu)(WAI WLAN Authenticationlnfrastructure)和無(wú)線局域網(wǎng)保密基礎(chǔ)結(jié)構(gòu)(WPI WLAN Privacy Infrastructure)組成。WAI采用了公開(kāi)密鑰加密技術(shù),用于終端與接入點(diǎn)之間的 互相身份鑒別;WPI采用國(guó)家密碼管理委員會(huì)辦公室批準(zhǔn)的用于WLAN的對(duì)稱(chēng)密碼算法實(shí)現(xiàn) 數(shù)據(jù)保護(hù),對(duì)MAC子層的MSDU進(jìn)行加、解密處理。規(guī)范中介紹的基礎(chǔ)結(jié)構(gòu)包括了幾個(gè)功能實(shí) 體,接入點(diǎn)(AP access point)是指任何一個(gè)具備站點(diǎn)功能,通過(guò)無(wú)線媒體為關(guān)聯(lián)的站點(diǎn)提 供訪問(wèn)分布式服務(wù)的實(shí)體;鑒別請(qǐng)求者實(shí)體(ASUE authentication supplicant entity) 是在接入服務(wù)之前請(qǐng)求進(jìn)行鑒別操作的實(shí)體;鑒別器實(shí)體(AE authenticator entity)為 鑒別請(qǐng)求者在接入服務(wù)之前提供鑒別操作的實(shí)體。該實(shí)體主流在接入點(diǎn)或終端內(nèi);鑒別服 務(wù)單元(ASU authentication service unit)的基本功能是實(shí)現(xiàn)對(duì)用戶證書(shū)的管理和用戶 身份的鑒別等,是基于公開(kāi)密鑰密碼技術(shù)的WAI鑒別基礎(chǔ)結(jié)構(gòu)中重要的組成部分;鑒別服 務(wù)實(shí)體(ASE authentication service entity)為鑒別器和鑒別請(qǐng)求者提供身份鑒別服務(wù) 的實(shí)體。該實(shí)體駐留在鑒別服務(wù)單元中,鑒別服務(wù)單元對(duì)應(yīng)網(wǎng)絡(luò)中的節(jié)點(diǎn)為WAPI鑒別服務(wù) 器。用戶證書(shū)為公開(kāi)密鑰證書(shū),它是WAI系統(tǒng)構(gòu)造中重要的環(huán)節(jié)。公開(kāi)密鑰證書(shū)是網(wǎng)絡(luò)用 戶的數(shù)字身份憑證,通過(guò)私有密鑰驗(yàn)證可以唯一地確定網(wǎng)絡(luò)用戶的身份。
網(wǎng)絡(luò)存儲(chǔ)是一種常見(jiàn)的互聯(lián)網(wǎng)業(yè)務(wù),提供各類(lèi)文件內(nèi)容的上傳、下載和檢索功能。 隨著WAPI的部署和實(shí)施,越來(lái)越多的移動(dòng)終端支持無(wú)線局域網(wǎng)接入,同時(shí)也將會(huì)支持越 來(lái)越多的互聯(lián)網(wǎng)業(yè)務(wù)功能。網(wǎng)絡(luò)存儲(chǔ)對(duì)于移動(dòng)終端而言,具有相當(dāng)大的使用價(jià)值。目前 的移動(dòng)終端已逐漸演變?yōu)橐詡€(gè)人溝通交流為核心的多媒體信息平臺(tái),終端強(qiáng)大的多媒體 信息采集功能勢(shì)必需要一個(gè)可靠的內(nèi)存存儲(chǔ)平臺(tái),考慮到多設(shè)備間的內(nèi)容共享,網(wǎng)絡(luò)存儲(chǔ) 無(wú)疑是一個(gè)非常有潛力的移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)。基于Web的網(wǎng)絡(luò)存儲(chǔ)應(yīng)用在互聯(lián)網(wǎng)環(huán)境下, 通常會(huì)有自己的登錄機(jī)制,如需用戶提供用戶名密碼以辨明身份。移動(dòng)終端在接入網(wǎng)絡(luò) 時(shí)已經(jīng)完成了身份鑒別過(guò)程,如果可以充分利用接入鑒別的能力,一方面簡(jiǎn)化了終端用戶 的操作,另一方面,應(yīng)用提供商可復(fù)用WAPI所依賴的公開(kāi)密鑰基礎(chǔ)設(shè)施PKI (Public Key Infrastructure),包括證書(shū)頒發(fā)系統(tǒng)和客戶端上的證書(shū)等資源,還可以向客戶提供存儲(chǔ)內(nèi) 容的完整性、機(jī)密性保護(hù)功能。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的系統(tǒng)及 方法,有效地保證了傳輸文件內(nèi)容的安全性。 為了解決上述問(wèn)題,本發(fā)明提供了一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的方法, 包括 WAPI終端與應(yīng)用服務(wù)器之間采用HTTP消息傳輸文件內(nèi)容時(shí),發(fā)送端使用WPI算法 對(duì)傳輸?shù)奈募?nèi)容進(jìn)行加密,并對(duì)傳輸?shù)膬?nèi)容做數(shù)字簽名后傳輸,接收端收到包含文件內(nèi) 容的HTTP消息后解析出所述文件內(nèi)容并驗(yàn)證所述數(shù)字簽名,若數(shù)字簽名驗(yàn)證通過(guò)則傳輸 的文件內(nèi)容未被更改。 進(jìn)一步地,在傳輸文件內(nèi)容前,所述終端向應(yīng)用服務(wù)器發(fā)送HTTP GET請(qǐng)求時(shí)將該 請(qǐng)求的一頭域值表示為一預(yù)設(shè)值表示該終端為WAPI終端,所述應(yīng)用服務(wù)器收到所述HTTP GET請(qǐng)求后若所述頭域值為預(yù)設(shè)值則判定所述終端為WAPI終端。 進(jìn)一步地,應(yīng)用服務(wù)器收到所述終端發(fā)來(lái)的HTTP GET請(qǐng)求后向所述終端返回 2000K消息時(shí)增加一個(gè)數(shù)字簽名,所述數(shù)字簽名的方式為,使用WAI散列算法計(jì)算返回的頁(yè) 面,并使用應(yīng)用服務(wù)器WAPI證書(shū)的私鑰,利用WAI的橢圓曲線算法,對(duì)散列計(jì)算結(jié)果做加密 計(jì)算生成簽名; 所述終端收到2000K消息后解析出所述數(shù)字簽名,獲取預(yù)存于終端上的應(yīng)用服務(wù) 器WAPI證書(shū)的公鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散列計(jì)算,之 后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通過(guò)對(duì)應(yīng)用服務(wù)器的鑒別, 否則鑒別未通過(guò)。 進(jìn)一步地,當(dāng)所述終端向應(yīng)用服務(wù)器上傳內(nèi)容時(shí),先生成一個(gè)128位隨機(jī)數(shù)作為 臨時(shí)會(huì)話密鑰,使用WPI中的SMS4算法對(duì)上傳文件內(nèi)容做加密得到密文,接著使用應(yīng)用服 務(wù)器WAPI證書(shū)的公鑰對(duì)臨時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密鑰,還對(duì)上 傳的文件內(nèi)容做數(shù)字簽名;加密后的密文、數(shù)字簽名和加密后的隨機(jī)數(shù)和用戶WAPI證書(shū)標(biāo) 識(shí)或WAPI證書(shū)一起封裝,將封裝的內(nèi)容通過(guò)HTTP POST發(fā)送至應(yīng)用服務(wù)器;
所述應(yīng)用服務(wù)器收到所述HTTP POST后,分離出用戶的WAPI證書(shū)標(biāo)識(shí)或WAPI證 書(shū),若分離出的是WAPI證書(shū)標(biāo)識(shí)則獲取WAPI證書(shū),使用應(yīng)用服務(wù)器的WAPI證書(shū)的私鑰對(duì) 加密后的密鑰進(jìn)行公開(kāi)密鑰算法解密得到臨時(shí)會(huì)話密鑰,對(duì)上傳內(nèi)容中的密文進(jìn)行對(duì)稱(chēng)密 鑰算法解密得到正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,所述應(yīng)用服務(wù)器還使 用終端WAPI證書(shū)的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,之后比較得到的 上述2個(gè)散列值是否一致,若一致則對(duì)終端的驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。
進(jìn)一步地,當(dāng)所述終端從應(yīng)用服務(wù)器獲取內(nèi)容時(shí),向應(yīng)用服務(wù)器發(fā)送HTTP GET消 息時(shí)攜帶要獲取內(nèi)容對(duì)應(yīng)的統(tǒng)一資源定位符; 所述應(yīng)用服務(wù)器收到HTTP GET消息后根據(jù)所述統(tǒng)一資源定位符獲知終端請(qǐng)求的 文檔內(nèi)容,之后生成128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,并使用此臨時(shí)會(huì)話密鑰對(duì)客戶端請(qǐng) 求的文檔內(nèi)容做SMS4加密,并對(duì)文檔內(nèi)容做數(shù)字簽名,還使用終端WAPI證書(shū)的公鑰對(duì)臨時(shí) 會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密鑰,所有內(nèi)容以固定格式封裝或以表單形 式作為2000K消息體返回給終端; 所述終端收到所述2000K消息后,利用終端WAPI證書(shū)的私鑰對(duì)加密的密鑰進(jìn)行公開(kāi)密鑰算法解密得出臨時(shí)會(huì)話密鑰,之后使用該臨時(shí)會(huì)話密鑰對(duì)密文進(jìn)行對(duì)稱(chēng)密鑰算法解 密得到文檔正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還使用應(yīng)用服務(wù)器WAPI證 書(shū)的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,比較得到的上述2個(gè)散列值是否 一致,若一致則驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。 進(jìn)一步地,所述終端向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)對(duì)所述統(tǒng)一資源定位符進(jìn) 行數(shù)字簽名,之后將所述數(shù)字簽名及用戶證書(shū)標(biāo)識(shí)作為統(tǒng)一資源定位符參數(shù)通過(guò)HTTP GET 消息發(fā)送至應(yīng)用服務(wù)器,所述應(yīng)用服務(wù)器收到HTTP GET消息后分離出用戶證書(shū)標(biāo)識(shí),并獲 取用戶證書(shū),之后使用證書(shū)中的公開(kāi)密鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)網(wǎng)頁(yè) 內(nèi)容進(jìn)行散列計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通過(guò) 對(duì)終端的鑒別。 進(jìn)一步地,所述終端對(duì)上傳的文件內(nèi)容做數(shù)字簽名是指,對(duì)所述文件內(nèi)容做散列
計(jì)算,之后使用終端WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密。 進(jìn)一步地,所述應(yīng)用服務(wù)器對(duì)文檔內(nèi)容做簽名計(jì)算是指,對(duì)所述文檔內(nèi)容做散列
計(jì)算,之后使用應(yīng)用服務(wù)器WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密。 本發(fā)明還提供一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的系統(tǒng),包括發(fā)送端與接收
丄山
順; 所述發(fā)送端,用于使用WPI算法對(duì)傳輸?shù)奈募?nèi)容進(jìn)行加密,并對(duì)傳輸?shù)膬?nèi)容做 數(shù)字簽名后通過(guò)HTTP消息發(fā)送至所述接收端; 所述接收端,用于收到所述HTTP消息后解析出所述文件內(nèi)容并驗(yàn)證所述數(shù)字簽 名,若數(shù)字簽名驗(yàn)證通過(guò)則傳輸?shù)奈募?nèi)容未被更改。 進(jìn)一步地,所述發(fā)送端為WAPI終端或應(yīng)用服務(wù)器,接收端為應(yīng)用服務(wù)器或WAPI終
丄山
順; 所述終端包括設(shè)置模塊、發(fā)送模塊; 所述終端的設(shè)置模塊用于在傳輸文件內(nèi)容前,向應(yīng)用服務(wù)器發(fā)送HTTPGET請(qǐng)求時(shí) 將該請(qǐng)求的一頭域值表示為一預(yù)設(shè)值表示該終端為WAPI終端; 所述應(yīng)用服務(wù)器用于收到所述HTTP GET請(qǐng)求后若所述頭域值為預(yù)設(shè)值則判定所 述終端為WAPI終端。 進(jìn)一步地,所述應(yīng)用服務(wù)器包括加密模塊及發(fā)送模塊; 所述應(yīng)用服務(wù)器的加密模塊用于使用WAI散列算法計(jì)算返回的頁(yè)面,并使用應(yīng)用 服務(wù)器WAPI證書(shū)的私鑰,利用WAI的橢圓曲線算法,對(duì)散列計(jì)算結(jié)果做加密計(jì)算生成數(shù)字 簽名; 所述應(yīng)用服務(wù)器的發(fā)送模塊用于向終端返回2000K消息時(shí)攜帶上述數(shù)字簽名;
所述終端的解密模塊收到2000K消息后解析出所述數(shù)字簽名,獲取預(yù)存于終端上 的應(yīng)用服務(wù)器WAPI證書(shū)的公鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散 列計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通過(guò)對(duì)應(yīng)用服務(wù) 器的鑒別,否則鑒別未通過(guò)。 進(jìn)一步地,當(dāng)所述終端向應(yīng)用服務(wù)器上傳內(nèi)容時(shí)所述終端為發(fā)送端,所述應(yīng)用服 務(wù)器為接收端; 所述終端包括加密模塊及發(fā)送模塊;
8
所述終端的加密模塊,用于生成一個(gè)128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,以及使用 WPI中的SMS4算法對(duì)上傳的文件內(nèi)容做加密得到密文,使用應(yīng)用服務(wù)器WAPI證書(shū)的公鑰對(duì) 臨時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密鑰,還用于對(duì)上傳的文件內(nèi)容做數(shù)字 簽名; 所述終端的發(fā)送模塊,用于將加密后的密文、數(shù)字簽名、加密后的隨機(jī)數(shù)和用戶 WAPI證書(shū)標(biāo)識(shí)或WAPI證書(shū)一起封裝,以及將封裝的內(nèi)容通過(guò)HTTP POST發(fā)送至應(yīng)用服務(wù)器;
所述應(yīng)用服務(wù)器包括接收模塊及解密模塊; 所述應(yīng)用服務(wù)器的接收模塊,用于收到所述HTTP POST后,分離出用戶的WAPI證 書(shū)標(biāo)識(shí)或WAPI證書(shū),若分離出的是WAPI證書(shū)標(biāo)識(shí)則獲取WAPI證書(shū); 所述應(yīng)用服務(wù)器的解密模塊,用于使用應(yīng)用服務(wù)器的WAPI證書(shū)的私鑰對(duì)加密后 的密鑰進(jìn)行公開(kāi)密鑰算法解密得到臨時(shí)會(huì)話密鑰,以及使用該臨時(shí)會(huì)話密鑰對(duì)上傳內(nèi)容中 的密文進(jìn)行對(duì)稱(chēng)密鑰算法解密得到正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還 用于使用終端WAPI證書(shū)的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,并比較得 到的上述2個(gè)散列值是否一致,若一致則對(duì)終端的驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。
進(jìn)一步地,當(dāng)所述終端從應(yīng)用服務(wù)器獲取內(nèi)容時(shí)所述應(yīng)用服務(wù)器為發(fā)送端,所述 終端為接收端; 所述終端包括發(fā)送模塊、接收模塊及解密模塊; 所述終端的發(fā)送模塊用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)攜帶要獲取內(nèi)容對(duì) 應(yīng)的統(tǒng)一資源定位符; 所述應(yīng)用服務(wù)器包括接收模塊、加密模塊及發(fā)送模塊; 所述應(yīng)用服務(wù)器的接收模塊,用于收到HTTP GET消息后根據(jù)所述統(tǒng)一資源定位符 獲知終端請(qǐng)求的文檔內(nèi)容; 所述應(yīng)用服務(wù)器的加密模塊,用于生成128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,以及使 用該臨時(shí)會(huì)話密鑰對(duì)終端請(qǐng)求的文檔內(nèi)容做SMS4加密形成密文,并對(duì)文檔內(nèi)容做數(shù)字簽 名,還用于使用終端WAPI證書(shū)的公鑰對(duì)臨時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后 的密鑰; 所述應(yīng)用服務(wù)器的發(fā)送模塊,用于將所述密文、簽名以及加密后的臨時(shí)會(huì)話密鑰 作為2000K消息體發(fā)送至終端; 所述終端的接收模塊,用于將收到的所述2000K消息發(fā)送至解密模塊; 所述終端的解密模塊,用于使用終端WAPI證書(shū)的私鑰對(duì)加密的密鑰進(jìn)行公開(kāi)密
鑰算法解密得出臨時(shí)會(huì)話密鑰,以及該臨時(shí)會(huì)話密鑰對(duì)密文進(jìn)行對(duì)稱(chēng)密鑰算法解密得到文
檔正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還用于使用應(yīng)用服務(wù)器WAPI證書(shū)的
公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,以及比較得到的上述2個(gè)散列值是否
一致,若一致則驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。 進(jìn)一步地,所述終端的加密模塊還用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)對(duì)所述 統(tǒng)一資源定位符進(jìn)行數(shù)字簽名; 所述終端的發(fā)送模塊還用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)將所述數(shù)字簽名 及用戶證書(shū)標(biāo)識(shí)作為統(tǒng)一資源定位符參數(shù)發(fā)送至應(yīng)用服務(wù)器; 所述應(yīng)用服務(wù)器的解密模塊還用于分離出HTTP GET消息中的用戶證書(shū)標(biāo)識(shí),并獲
9取用戶證書(shū),以及使用證書(shū)中的公開(kāi)密鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)統(tǒng)一 資源定位符進(jìn)行散列計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致 則通過(guò)對(duì)終端的鑒別。 進(jìn)一步地,所述終端的加密模塊對(duì)上傳的文件內(nèi)容做數(shù)字簽名是指,對(duì)所述文件 內(nèi)容做散列計(jì)算,之后使用終端WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加 密。 進(jìn)一步地,所述應(yīng)用服務(wù)器的加密模塊對(duì)文檔內(nèi)容做簽名計(jì)算是指,對(duì)所述文檔 內(nèi)容做散列計(jì)算,之后使用應(yīng)用服務(wù)器WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰 算法加密。 采用本發(fā)明的技術(shù)方案,充分利用了 WAPI基礎(chǔ)設(shè)施提供的公開(kāi)密鑰證書(shū)頒發(fā)機(jī) 構(gòu)和客戶端WAPI證書(shū)。WAPI終端用戶在登錄網(wǎng)絡(luò)存儲(chǔ)應(yīng)用的過(guò)程中,依靠WAPI鑒別服務(wù) 實(shí)現(xiàn)用戶登錄過(guò)程,登錄過(guò)程無(wú)需用戶輸入用戶名密碼??蛻舳嗽诒4鎯?nèi)容時(shí),通過(guò)證書(shū)鑒 別過(guò)程中協(xié)商得到的臨時(shí)會(huì)話密鑰和對(duì)稱(chēng)加密算法,加密存儲(chǔ)內(nèi)容,確保內(nèi)容機(jī)密性,客戶 端通過(guò)散列函數(shù)和公有證書(shū)的私有密鑰,對(duì)存儲(chǔ)內(nèi)容做數(shù)字簽名計(jì)算,并由服務(wù)器側(cè)驗(yàn)證 簽名和解密內(nèi)容,確保內(nèi)容真實(shí)有效未被修改。客戶端在獲取內(nèi)容時(shí),通過(guò)證書(shū)鑒別過(guò)程中 協(xié)商的臨時(shí)會(huì)話密鑰和對(duì)稱(chēng)加密算法,解密獲取內(nèi)容。本發(fā)明中介紹用戶認(rèn)證的方法亦可 應(yīng)用于其他基于Web訪問(wèn)的網(wǎng)絡(luò)應(yīng)用。
圖1網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu); 圖2是本發(fā)明系統(tǒng)結(jié)構(gòu)示意圖; 圖3是本發(fā)明終端向應(yīng)用服務(wù)器上傳內(nèi)容時(shí)的流程圖; 圖4是本發(fā)明終端從應(yīng)用服務(wù)器獲取內(nèi)容時(shí)的流程圖; 圖5是本發(fā)明終端上傳內(nèi)容時(shí)的處理過(guò)程圖; 圖6是本發(fā)明應(yīng)用服務(wù)器下發(fā)內(nèi)容時(shí)的處理過(guò)程圖; 圖7是本發(fā)明終端及應(yīng)用服務(wù)器接收文件內(nèi)容后的處理過(guò)程圖; 圖8是本發(fā)明終端對(duì)應(yīng)用服務(wù)器進(jìn)行鑒別的處理過(guò)程圖。
具體實(shí)施例方式
本發(fā)明提供一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的系統(tǒng),如圖2所示,該系統(tǒng)包 括發(fā)送端與接收端; 發(fā)送端為WAPI終端或應(yīng)用服務(wù)器,接收端為應(yīng)用服務(wù)器或WAPI終端; 發(fā)送端,用于使用WPI算法對(duì)傳輸?shù)奈募?nèi)容進(jìn)行加密,并對(duì)傳輸?shù)膬?nèi)容做數(shù)字
簽名后通過(guò)HTTP消息發(fā)送至所述接收端; 接收端,用于收到HTTP消息后解析出文件內(nèi)容并驗(yàn)證數(shù)字簽名,若數(shù)字簽名驗(yàn)證 通過(guò)則傳輸?shù)奈募?nèi)容未被更改。 終端包括設(shè)置模塊、加密模塊、解密模塊、發(fā)送模塊及接收模塊;
應(yīng)用服務(wù)器包括加密模塊、解密模塊、發(fā)送模塊及接收模塊; 終端的設(shè)置模塊用于在傳輸文件內(nèi)容前,向應(yīng)用服務(wù)器發(fā)送HTTP GET請(qǐng)求時(shí)將該請(qǐng)求的一頭域值表示為一預(yù)設(shè)值表示該終端為WAPI終端,應(yīng)用服務(wù)器收到HTTP GET請(qǐng)求 后若該頭域值為預(yù)設(shè)值則判定終端為WAPI終端。 應(yīng)用服務(wù)器的加密模塊用于使用WAI散列算法計(jì)算返回的頁(yè)面,并使用應(yīng)用服務(wù) 器WAPI證書(shū)的私鑰,利用WAI的橢圓曲線算法,對(duì)散列計(jì)算結(jié)果做加密計(jì)算生成數(shù)字簽 名; 應(yīng)用服務(wù)器的發(fā)送模塊用于向終端返回2000K消息時(shí)攜帶上述數(shù)字簽名; 終端的解密模塊用于收到2000K消息后解析出數(shù)字簽名,獲取預(yù)存于終端上的應(yīng)
用服務(wù)器WAPI證書(shū)中的公鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散列
計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通過(guò)對(duì)應(yīng)用服務(wù)器
的鑒別,否則鑒別未通過(guò)。 (1)當(dāng)終端向應(yīng)用服務(wù)器上傳內(nèi)容時(shí)終端為發(fā)送端,應(yīng)用服務(wù)器為接收端;
終端的加密模塊,用于生成一個(gè)128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,以及使用WPI 中的SMS4算法對(duì)上傳的文件內(nèi)容做加密得到密文,使用應(yīng)用服務(wù)器WAPI證書(shū)的公鑰對(duì)臨 時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密鑰,還用于對(duì)上傳的文件內(nèi)容做數(shù)字簽 名; 終端的發(fā)送模塊,用于將加密后的密文、數(shù)字簽名、加密后的隨機(jī)數(shù)和用戶WAPI 證書(shū)標(biāo)識(shí)或WAPI證書(shū)一起封裝,以及將封裝的內(nèi)容通過(guò)HTTPPOST發(fā)送至應(yīng)用服務(wù)器;
應(yīng)用服務(wù)器的接收模塊,用于收到HTTP POST后,分離出用戶的WAPI證書(shū)標(biāo)識(shí)或 WAPI證書(shū),若分離出的是WAPI證書(shū)標(biāo)識(shí)則獲取WAPI證書(shū); 應(yīng)用服務(wù)器的解密模塊,用于使用應(yīng)用服務(wù)器的WAPI證書(shū)的私鑰對(duì)加密后的密 鑰進(jìn)行公開(kāi)密鑰算法解密得到臨時(shí)會(huì)話密鑰,以及使用該臨時(shí)會(huì)話密鑰對(duì)上傳內(nèi)容中的密 文進(jìn)行對(duì)稱(chēng)密鑰算法解密得到正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還用于 使用終端WAPI證書(shū)的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,并比較得到的 上述2個(gè)散列值是否一致,若一致則對(duì)終端的驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。
終端的加密模塊對(duì)上傳的文件內(nèi)容做數(shù)字簽名是指,對(duì)文件內(nèi)容做散列計(jì)算,之 后使用終端WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密。
(2)當(dāng)終端從應(yīng)用服務(wù)器獲取內(nèi)容時(shí)應(yīng)用服務(wù)器為發(fā)送端,終端為接收端;
終端的發(fā)送模塊,用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)攜帶要獲取內(nèi)容對(duì)應(yīng)的 統(tǒng)一資源定位符; 應(yīng)用服務(wù)器的接收模塊,用于收到HTTP GET消息后根據(jù)統(tǒng)一資源定位符獲知終端 請(qǐng)求的文檔內(nèi)容; 應(yīng)用服務(wù)器的加密模塊,用于生成128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,以及使用該 臨時(shí)會(huì)話密鑰對(duì)終端請(qǐng)求的文檔內(nèi)容做SMS4加密形成密文,并對(duì)文檔內(nèi)容做數(shù)字簽名, 還用于使用終端WAPI證書(shū)的公鑰對(duì)臨時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密 鑰; 應(yīng)用服務(wù)器的發(fā)送模塊,用于將密文、簽名以及加密后的臨時(shí)會(huì)話密鑰作為2000K 消息體發(fā)送至終端; 終端的接收模塊,用于將收到的2000K消息發(fā)送至解密模塊; 終端的解密模塊,用于使用終端WAPI證書(shū)的私鑰對(duì)加密的密鑰進(jìn)行公開(kāi)密鑰算
11法解密得出臨時(shí)會(huì)話密鑰,以及該臨時(shí)會(huì)話密鑰對(duì)密文進(jìn)行對(duì)稱(chēng)密鑰算法解密得到文檔正 文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還用于使用應(yīng)用服務(wù)器WAPI證書(shū)的公鑰 對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,以及比較得到的上述2個(gè)散列值是否一 致,若一致則驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。 終端的加密模塊還用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)對(duì)統(tǒng)一資源定位符進(jìn) 行數(shù)字簽名; 終端的發(fā)送模塊還用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)將數(shù)字簽名及用戶證 書(shū)標(biāo)識(shí)作為統(tǒng)一資源定位符參數(shù)發(fā)送至應(yīng)用服務(wù)器; 應(yīng)用服務(wù)器的解密模塊還用于分離出HTTP GET消息中的用戶證書(shū)標(biāo)識(shí),并獲取用 戶證書(shū),以及使用證書(shū)中的公開(kāi)密鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)統(tǒng)一資源 定位符進(jìn)行散列計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通 過(guò)對(duì)終端的鑒別。 應(yīng)用服務(wù)器的加密模塊對(duì)文檔內(nèi)容做簽名計(jì)算是指,對(duì)文檔內(nèi)容做散列計(jì)算,之
后使用應(yīng)用服務(wù)器WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密。 本發(fā)明還提供一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的方法,WAPI終端與應(yīng)用服
務(wù)器之間采用HTTP消息傳輸文件內(nèi)容時(shí),發(fā)送端使用WPI算法對(duì)傳輸?shù)奈募?nèi)容進(jìn)行加
密,并對(duì)傳輸?shù)膬?nèi)容做數(shù)字簽名后傳輸,接收端收到包含文件內(nèi)容的HTTP消息后解析出文
件內(nèi)容并驗(yàn)證數(shù)字簽名,若數(shù)字簽名驗(yàn)證通過(guò)則傳輸?shù)奈募?nèi)容未被更改。
實(shí)施例一 本實(shí)施例為終端向應(yīng)用服務(wù)器上傳文件內(nèi)容的方法,如圖3所示,包括以下步驟
步驟301 :終端瀏覽器向應(yīng)用服務(wù)器發(fā)送HTTP GET請(qǐng)求,獲取到網(wǎng)絡(luò)存儲(chǔ)應(yīng)用 的頁(yè)面,終端通過(guò)將請(qǐng)求中的某頭域值設(shè)置為預(yù)設(shè)值表示其為WAPI終端,如可以是將 User-Agent (用戶代理)設(shè)置為WAPI-Mobile-ClientVl. 0 ; 該頭域的值可以是終端在組建請(qǐng)求時(shí)指定,也可以通過(guò)和無(wú)線局域網(wǎng)段相鄰的 WAP/HTTP應(yīng)用網(wǎng)關(guān)修改。 步驟302 :應(yīng)用服務(wù)器收到終端發(fā)來(lái)的HTTP GET請(qǐng)求,根據(jù)其中某頭域中的值判 斷此請(qǐng)求是否來(lái)自于WAPI終端;如根據(jù)User-Agent的值為WAPI-Mobile-Client VI. 0時(shí) 判定該終端是WAPI終端; 步驟303 :應(yīng)用服務(wù)器向終端返回2000K消息,在該消息中增加一個(gè)隱藏表單,內(nèi)
容至少包含一個(gè)采用WAI公開(kāi)密鑰算法加密的數(shù)字簽名,簽名方法如下 (a)使用WAI散列算法計(jì)算返回的頁(yè)面、即超文本格式字符串。 (b)使用應(yīng)用服務(wù)器WAPI證書(shū)的私鑰,利用WAI的橢圓曲線算法,對(duì)散列計(jì)算結(jié)果
做加密計(jì)算,生成簽名。 生成的簽名存入頁(yè)面響應(yīng)中的隱藏表單里下發(fā)給終端瀏覽器。 步驟304 :如圖8所示,終端在收到2000K消息后,從隱藏表單中解析出數(shù)字簽名,
獲取預(yù)存于終端上的應(yīng)用服務(wù)器WAPI證書(shū)中的公鑰解密該數(shù)字簽名,并利用WAI的散列函
數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散列計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一
致則鑒別通過(guò),否則鑒別未通過(guò)。 本發(fā)明中終端獲得應(yīng)用服務(wù)器WAPI證書(shū)的方法同現(xiàn)有技術(shù)。
步驟305 :WAPI終端瀏覽器在獲取應(yīng)用服務(wù)器網(wǎng)頁(yè)數(shù)據(jù)并完成對(duì)服務(wù)器身份鑒別 之后,呈現(xiàn)頁(yè)面。終端通過(guò)瀏覽器提交需上傳的文件內(nèi)容。提交過(guò)程采用HTTP P0ST方法。
WAPI終端首先生成一個(gè)128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,使用WPI中SMS4算法 (即圖5中的對(duì)稱(chēng)密鑰算法)對(duì)上傳文件內(nèi)容做加密得到密文,接著使用應(yīng)用服務(wù)器WAPI 證書(shū)的公鑰對(duì)臨時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密鑰,接著使用終端WAPI 證書(shū)的私鑰完成上傳的內(nèi)容的數(shù)字簽名,數(shù)字簽名的過(guò)程即先對(duì)文件內(nèi)容做散列計(jì)算,然 后使用終端WAPI證書(shū)的私鑰加密散列計(jì)算后的值;加密后的正文、數(shù)字簽名和加密后的隨 機(jī)數(shù)和用戶WAPI證書(shū)標(biāo)識(shí)或證書(shū)通過(guò)某一固定格式封裝,例如
〈upload_content>〈body_sign>@e23233dsew.....〈/body_sign>〈encrypted_rand>we233dse. . 〈/encrypted_rand>
〈encrypted_body>3EWRW@#4. . 〈/encrypted_body>
〈cert-id>232341〈/cert-id>
〈/upload_content> 終端瀏覽器或通過(guò)表單的方式,組成了 POST的內(nèi)容并發(fā)送給應(yīng)用服務(wù)器。 步驟306 :應(yīng)用服務(wù)器收到此HTTP POST消息后,首先根據(jù)表單或者某一固定格
式,分離出用戶的WAPI證書(shū)標(biāo)識(shí)或WAPI證書(shū),如果是證書(shū)標(biāo)識(shí),則通過(guò)與公共認(rèn)證中心的
交互,獲取用戶的公鑰證書(shū)(獲取過(guò)程為標(biāo)準(zhǔn)流程,本發(fā)明不再詳述)。 應(yīng)用服務(wù)器獲取由終端生成的并由應(yīng)用服務(wù)器公鑰加密的后的隨機(jī)數(shù)加密值,使
用應(yīng)用服務(wù)器的WAPI證書(shū)的私鑰對(duì)加密后的密鑰進(jìn)行公開(kāi)密鑰算法解密得到128位臨時(shí)
會(huì)話密鑰,之后使用此128位臨時(shí)會(huì)話密鑰對(duì)上傳內(nèi)容中的密文進(jìn)行對(duì)稱(chēng)密鑰算法解密得
到正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,應(yīng)用服務(wù)器還使用終端WAPI證書(shū)的
公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,之后比較得到的上述2個(gè)散列值是否
一致,若一致則驗(yàn)證通過(guò),說(shuō)明上傳的文件內(nèi)容未被更改,若不一致則驗(yàn)證未通過(guò)。 實(shí)施例二 本實(shí)施例為終端從應(yīng)用服務(wù)器獲取內(nèi)容的方法,如圖4所示,包括以下步驟
步驟401 :終端瀏覽器向應(yīng)用服務(wù)器發(fā)送HTTP GET請(qǐng)求,獲取到網(wǎng)絡(luò)存儲(chǔ)應(yīng)用 的頁(yè)面,終端通過(guò)將請(qǐng)求的某頭域值設(shè)置為一預(yù)設(shè)值表示其為WAPI終端,如可以是將 User-Agent (用戶代理)設(shè)置為WAPI-Mobile-ClientVl. 0 ; 該頭域的值可以是終端在組建請(qǐng)求時(shí)指定,也可以通過(guò)和無(wú)線局域網(wǎng)段相鄰的 WAP/HTTP應(yīng)用網(wǎng)關(guān)修改。 步驟402 :應(yīng)用服務(wù)器收到終端發(fā)來(lái)的HTTP GET請(qǐng)求,根據(jù)其中某頭域值判斷此 請(qǐng)求是否來(lái)自于WAPI終端;如根據(jù)User-Agent的值為WAPI-Mobile-Client VI. 0時(shí)判定 該終端是WAPI終端; 步驟403 :應(yīng)用服務(wù)器向終端返回2000K消息,在該消息中增加一個(gè)隱藏表單,內(nèi)
容至少包含一個(gè)采用WAI公開(kāi)密鑰算法加密的數(shù)字簽名,簽名方法如下 (a)使用WAI散列算法計(jì)算返回的頁(yè)面、即超文本格式字符串。 (b)使用應(yīng)用服務(wù)器WAPI證書(shū)的私鑰,利用WAI的橢圓曲線算法,對(duì)散列計(jì)算結(jié)果
做加密計(jì)算,生成簽名。
生成的簽名存入頁(yè)面響應(yīng)中的隱藏表單里下發(fā)給終端瀏覽器。
步驟404 :如圖8所示,終端在收到2000K消息后,從隱藏表單中解析出數(shù)字簽名, 獲取預(yù)存于終端上的應(yīng)用服務(wù)器WAPI證書(shū)的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密,并利用 WAI的散列函數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散列計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是 否一致,若一致則鑒別通過(guò),否則鑒別未通過(guò)。 本發(fā)明中終端獲得應(yīng)用服務(wù)器WAPI證書(shū)的方法同現(xiàn)有技術(shù)。 步驟405 :WAPI終端瀏覽器在獲取應(yīng)用服務(wù)器網(wǎng)頁(yè)數(shù)據(jù)并完成對(duì)服務(wù)器身份鑒別
之后,呈現(xiàn)頁(yè)面。 步驟406 :終端通過(guò)界面指定要獲取內(nèi)容對(duì)應(yīng)的URL(Uniform ResourceLocator, 統(tǒng)一資源定位符),并使用GET方法獲取內(nèi)容。 終端用戶通過(guò)瀏覽器操作界面選擇獲取文件時(shí),將通過(guò)GET方法完成,客戶端插 件調(diào)用WAI功能對(duì)統(tǒng)一資源定位符(URL, Uniform ResourceLocator)做簽名計(jì)算,簽名方 法如下 (b)使用終端WAPI證書(shū)對(duì)應(yīng)的私鑰,利用WAI的橢圓曲線算法,對(duì)散列計(jì)算結(jié)果做 加密計(jì)算,生成簽名。 URL簽名和用戶證書(shū)標(biāo)識(shí)通過(guò)URL參數(shù)的方式提交給服務(wù)器,例如 http://upload-doc-server, com/document/20091117203 Url_sign =
deFQWER3d&certid = 2343.. 對(duì)統(tǒng)一資源定位符的數(shù)字簽名不包括URL參數(shù)部分。 步驟407 :應(yīng)用服務(wù)器收到HTTP GET消息,分離出URL參數(shù)中的用戶證書(shū)標(biāo)識(shí),獲 取用戶證書(shū),之后使用終端WAPI證書(shū)中的公開(kāi)密鑰解密該數(shù)字簽名,并利用WAI的散列函 數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散列計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一 致則通過(guò)對(duì)終端的鑒別,否則鑒別未通過(guò)。 如圖6所示,應(yīng)用服務(wù)器完成對(duì)終端的鑒別后,生成128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密 鑰,并使用此臨時(shí)會(huì)話密鑰對(duì)客戶端請(qǐng)求的文檔內(nèi)容做SMS4加密(即圖6中所示的對(duì)文檔 進(jìn)行對(duì)稱(chēng)密鑰加密),并對(duì)文檔正文做數(shù)字簽名,數(shù)字簽名的過(guò)程即先對(duì)文檔正文作散列計(jì) 算,之后使用應(yīng)用服務(wù)器WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密;應(yīng)用 服務(wù)器還使用終端WAPI證書(shū)的公鑰對(duì)臨時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的 密鑰;最后,所有內(nèi)容以固定格式封裝或以表單形式,作為2000K消息體返回給終端。
步驟408 :如圖7所示,終端收到2000K消息后,利用終端WAPI證書(shū)的私鑰對(duì)加密 的密鑰進(jìn)行公開(kāi)密鑰算法解密得出臨時(shí)會(huì)話密鑰,之后使用該臨時(shí)會(huì)話密鑰對(duì)密文進(jìn)行對(duì) 稱(chēng)密鑰算法解密得到文檔正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還使用應(yīng)用 服務(wù)器WAPI證書(shū)的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,比較得到的上述2 個(gè)散列值是否一致,若一致則驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改,若不一致則驗(yàn)證未通 過(guò)。 本發(fā)明中終端及應(yīng)用服務(wù)器使用相同的公開(kāi)密鑰算法進(jìn)行加密及解密。 本發(fā)明在不改動(dòng)HTTP協(xié)議的基礎(chǔ)上,通過(guò)HTTP消息體或者超文本中的表單,完成
基于WAPI證書(shū)的鑒別過(guò)程,和傳輸數(shù)據(jù)的加密及完整性保護(hù),對(duì)于應(yīng)用服務(wù)器來(lái)說(shuō),不影響其WEB訪問(wèn)請(qǐng)求處理的正常流程,所提及功能可以通過(guò)新增功能模塊完成,新增功能只 涉及WAPI相關(guān)公鑰及對(duì)稱(chēng)加密計(jì)算,未改動(dòng)HTTP及超文本傳輸協(xié)議的內(nèi)容。
權(quán)利要求
一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的方法,包括WAPI終端與應(yīng)用服務(wù)器之間采用HTTP消息傳輸文件內(nèi)容時(shí),發(fā)送端使用WPI算法對(duì)傳輸?shù)奈募?nèi)容進(jìn)行加密,并對(duì)傳輸?shù)膬?nèi)容做數(shù)字簽名后傳輸,接收端收到包含文件內(nèi)容的HTTP消息后解析出所述文件內(nèi)容并驗(yàn)證所述數(shù)字簽名,若數(shù)字簽名驗(yàn)證通過(guò)則傳輸?shù)奈募?nèi)容未被更改。
2. 如權(quán)利要求1所述的方法,其特征在于在傳輸文件內(nèi)容前,所述終端向應(yīng)用服務(wù)器發(fā)送HTTP GET請(qǐng)求時(shí)將該請(qǐng)求的一頭域值 表示為一預(yù)設(shè)值表示該終端為WAPI終端,所述應(yīng)用服務(wù)器收到所述HTTP GET請(qǐng)求后若所 述頭域值為預(yù)設(shè)值則判定所述終端為WAPI終端。
3. 如權(quán)利要求2所述的方法,其特征在于應(yīng)用服務(wù)器收到所述終端發(fā)來(lái)的HTTP GET請(qǐng)求后向所述終端返回2000K消息時(shí)增加 一個(gè)數(shù)字簽名,所述數(shù)字簽名的方式為,使用WAI散列算法計(jì)算返回的頁(yè)面,并使用應(yīng)用服 務(wù)器WAPI證書(shū)的私鑰,利用WAI的橢圓曲線算法,對(duì)散列計(jì)算結(jié)果做加密計(jì)算生成簽名;所述終端收到2000K消息后解析出所述數(shù)字簽名,獲取預(yù)存于終端上的應(yīng)用服務(wù)器 WAPI證書(shū)的公鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散列計(jì)算,之后 比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通過(guò)對(duì)應(yīng)用服務(wù)器的鑒別,否 則鑒別未通過(guò)。
4. 如權(quán)利要求1所述的方法,其特征在于當(dāng)所述終端向應(yīng)用服務(wù)器上傳內(nèi)容時(shí),先生成一個(gè)128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰, 使用WPI中的SMS4算法對(duì)上傳文件內(nèi)容做加密得到密文,接著使用應(yīng)用服務(wù)器WAPI證書(shū) 的公鑰對(duì)臨時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密鑰,還對(duì)上傳的文件內(nèi)容做 數(shù)字簽名;加密后的密文、數(shù)字簽名和加密后的隨機(jī)數(shù)和用戶WAPI證書(shū)標(biāo)識(shí)或WAPI證書(shū)一 起封裝,將封裝的內(nèi)容通過(guò)HTTP POST發(fā)送至應(yīng)用服務(wù)器;所述應(yīng)用服務(wù)器收到所述HTTP POST后,分離出用戶的WAPI證書(shū)標(biāo)識(shí)或WAPI證書(shū),若 分離出的是WAPI證書(shū)標(biāo)識(shí)則獲取WAPI證書(shū),使用應(yīng)用服務(wù)器的WAPI證書(shū)的私鑰對(duì)加密后 的密鑰進(jìn)行公開(kāi)密鑰算法解密得到臨時(shí)會(huì)話密鑰,對(duì)上傳內(nèi)容中的密文進(jìn)行對(duì)稱(chēng)密鑰算法 解密得到正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,所述應(yīng)用服務(wù)器還使用終端 WAPI證書(shū)的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,之后比較得到的上述2個(gè) 散列值是否一致,若一致則對(duì)終端的驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。
5. 如權(quán)利要求l所述的方法,其特征在于當(dāng)所述終端從應(yīng)用服務(wù)器獲取內(nèi)容時(shí),向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)攜帶要獲取 內(nèi)容對(duì)應(yīng)的統(tǒng)一資源定位符;所述應(yīng)用服務(wù)器收到HTTP GET消息后根據(jù)所述統(tǒng)一資源定位符獲知終端請(qǐng)求的文檔 內(nèi)容,之后生成128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,并使用此臨時(shí)會(huì)話密鑰對(duì)客戶端請(qǐng)求的 文檔內(nèi)容做SMS4加密,并對(duì)文檔內(nèi)容做數(shù)字簽名,還使用終端WAPI證書(shū)的公鑰對(duì)臨時(shí)會(huì)話 密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密鑰,所有內(nèi)容以固定格式封裝或以表單形式作 為2000K消息體返回給終端;所述終端收到所述2000K消息后,利用終端WAPI證書(shū)的私鑰對(duì)加密的密鑰進(jìn)行公開(kāi) 密鑰算法解密得出臨時(shí)會(huì)話密鑰,之后使用該臨時(shí)會(huì)話密鑰對(duì)密文進(jìn)行對(duì)稱(chēng)密鑰算法解密得到文檔正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還使用應(yīng)用服務(wù)器WAPI證書(shū) 的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,比較得到的上述2個(gè)散列值是否一 致,若一致則驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。
6. 如權(quán)利要求5所述的方法,其特征在于所述終端向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)對(duì)所述統(tǒng)一資源定位符進(jìn)行數(shù)字簽名,之 后將所述數(shù)字簽名及用戶證書(shū)標(biāo)識(shí)作為統(tǒng)一資源定位符參數(shù)通過(guò)HTTP GET消息發(fā)送至應(yīng) 用服務(wù)器,所述應(yīng)用服務(wù)器收到HTTP GET消息后分離出用戶證書(shū)標(biāo)識(shí),并獲取用戶證書(shū),之 后使用證書(shū)中的公開(kāi)密鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散列計(jì) 算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通過(guò)對(duì)終端的鑒別。
7. 如權(quán)利要求5所述的方法,其特征在于所述終端對(duì)上傳的文件內(nèi)容做數(shù)字簽名是指,對(duì)所述文件內(nèi)容做散列計(jì)算,之后使用 終端WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密。
8. 如權(quán)利要求5所述的方法,其特征在于所述應(yīng)用服務(wù)器對(duì)文檔內(nèi)容做簽名計(jì)算是指,對(duì)所述文檔內(nèi)容做散列計(jì)算,之后使用 應(yīng)用服務(wù)器WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密。
9. 一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的系統(tǒng),包括發(fā)送端與接收端;其特征在于 所述發(fā)送端,用于使用WPI算法對(duì)傳輸?shù)奈募?nèi)容進(jìn)行加密,并對(duì)傳輸?shù)膬?nèi)容做數(shù)字簽名后通過(guò)HTTP消息發(fā)送至所述接收端;所述接收端,用于收到所述HTTP消息后解析出所述文件內(nèi)容并驗(yàn)證所述數(shù)字簽名,若 數(shù)字簽名驗(yàn)證通過(guò)則傳輸?shù)奈募?nèi)容未被更改。
10. 如權(quán)利要求9所述的系統(tǒng),其特征在于所述發(fā)送端為WAPI終端或應(yīng)用服務(wù)器,接收端為應(yīng)用服務(wù)器或WAPI終端; 所述終端包括設(shè)置模塊、發(fā)送模塊;所述終端的設(shè)置模塊用于在傳輸文件內(nèi)容前,向應(yīng)用服務(wù)器發(fā)送HTTPGET請(qǐng)求時(shí)將該 請(qǐng)求的一頭域值表示為一預(yù)設(shè)值表示該終端為WAPI終端;所述應(yīng)用服務(wù)器用于收到所述HTTP GET請(qǐng)求后若所述頭域值為預(yù)設(shè)值則判定所述終 端為WAPI終端。
11. 如權(quán)利要求10所述的系統(tǒng),其特征在于 所述應(yīng)用服務(wù)器包括加密模塊及發(fā)送模塊;所述應(yīng)用服務(wù)器的加密模塊用于使用WAI散列算法計(jì)算返回的頁(yè)面,并使用應(yīng)用服 務(wù)器WAPI證書(shū)的私鑰,利用WAI的橢圓曲線算法,對(duì)散列計(jì)算結(jié)果做加密計(jì)算生成數(shù)字簽 名;所述應(yīng)用服務(wù)器的發(fā)送模塊用于向終端返回2000K消息時(shí)攜帶上述數(shù)字簽名; 所述終端的解密模塊收到2000K消息后解析出所述數(shù)字簽名,獲取預(yù)存于終端上的應(yīng) 用服務(wù)器WAPI證書(shū)的公鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行散列計(jì) 算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通過(guò)對(duì)應(yīng)用服務(wù)器的 鑒別,否則鑒別未通過(guò)。
12. 如權(quán)利要求9所述的系統(tǒng),其特征在于當(dāng)所述終端向應(yīng)用服務(wù)器上傳內(nèi)容時(shí)所述終端為發(fā)送端,所述應(yīng)用服務(wù)器為接收端;所述終端包括加密模塊及發(fā)送模塊;所述終端的加密模塊,用于生成一個(gè)128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,以及使用WPI 中的SMS4算法對(duì)上傳的文件內(nèi)容做加密得到密文,使用應(yīng)用服務(wù)器WAPI證書(shū)的公鑰對(duì)臨 時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密鑰,還用于對(duì)上傳的文件內(nèi)容做數(shù)字簽 名;所述終端的發(fā)送模塊,用于將加密后的密文、數(shù)字簽名、加密后的隨機(jī)數(shù)和用戶WAPI 證書(shū)標(biāo)識(shí)或WAPI證書(shū)一起封裝,以及將封裝的內(nèi)容通過(guò)HTTP POST發(fā)送至應(yīng)用服務(wù)器; 所述應(yīng)用服務(wù)器包括接收模塊及解密模塊;所述應(yīng)用服務(wù)器的接收模塊,用于收到所述HTTP POST后,分離出用戶的WAPI證書(shū)標(biāo) 識(shí)或WAPI證書(shū),若分離出的是WAPI證書(shū)標(biāo)識(shí)則獲取WAPI證書(shū);所述應(yīng)用服務(wù)器的解密模塊,用于使用應(yīng)用服務(wù)器的WAPI證書(shū)的私鑰對(duì)加密后的密 鑰進(jìn)行公開(kāi)密鑰算法解密得到臨時(shí)會(huì)話密鑰,以及使用該臨時(shí)會(huì)話密鑰對(duì)上傳內(nèi)容中的密 文進(jìn)行對(duì)稱(chēng)密鑰算法解密得到正文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還用于 使用終端WAPI證書(shū)的公鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,并比較得到的 上述2個(gè)散列值是否一致,若一致則對(duì)終端的驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。
13. 如權(quán)利要求9所述的系統(tǒng),其特征在于當(dāng)所述終端從應(yīng)用服務(wù)器獲取內(nèi)容時(shí)所述應(yīng)用服務(wù)器為發(fā)送端,所述終端為接收端; 所述終端包括發(fā)送模塊、接收模塊及解密模塊;所述終端的發(fā)送模塊用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)攜帶要獲取內(nèi)容對(duì)應(yīng)的 統(tǒng)一資源定位符;所述應(yīng)用服務(wù)器包括接收模塊、加密模塊及發(fā)送模塊;所述應(yīng)用服務(wù)器的接收模塊,用于收到HTTP GET消息后根據(jù)所述統(tǒng)一資源定位符獲知 終端請(qǐng)求的文檔內(nèi)容;所述應(yīng)用服務(wù)器的加密模塊,用于生成128位隨機(jī)數(shù)作為臨時(shí)會(huì)話密鑰,以及使用該 臨時(shí)會(huì)話密鑰對(duì)終端請(qǐng)求的文檔內(nèi)容做SMS4加密形成密文,并對(duì)文檔內(nèi)容做數(shù)字簽名,還 用于使用終端WAPI證書(shū)的公鑰對(duì)臨時(shí)會(huì)話密鑰進(jìn)行公開(kāi)密鑰算法加密得到加密后的密 鑰;所述應(yīng)用服務(wù)器的發(fā)送模塊,用于將所述密文、簽名以及加密后的臨時(shí)會(huì)話密鑰作為 2000K消息體發(fā)送至終端;所述終端的接收模塊,用于將收到的所述2000K消息發(fā)送至解密模塊; 所述終端的解密模塊,用于使用終端WAPI證書(shū)的私鑰對(duì)加密的密鑰進(jìn)行公開(kāi)密鑰算 法解密得出臨時(shí)會(huì)話密鑰,以及該臨時(shí)會(huì)話密鑰對(duì)密文進(jìn)行對(duì)稱(chēng)密鑰算法解密得到文檔正 文,并對(duì)解密出的正文進(jìn)行散列計(jì)算得到散列值,還用于使用應(yīng)用服務(wù)器WAPI證書(shū)的公 鑰對(duì)簽名進(jìn)行公開(kāi)密鑰算法解密得到另一散列值,以及比較得到的上述2個(gè)散列值是否一 致,若一致則驗(yàn)證通過(guò),且接收的文件內(nèi)容未被更改。
14. 如權(quán)利要求13所述的系統(tǒng),其特征在于所述終端的加密模塊還用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)對(duì)所述統(tǒng)一資源定位 符進(jìn)行數(shù)字簽名;所述終端的發(fā)送模塊還用于向應(yīng)用服務(wù)器發(fā)送HTTP GET消息時(shí)將所述數(shù)字簽名及用戶證書(shū)標(biāo)識(shí)作為統(tǒng)一資源定位符參數(shù)發(fā)送至應(yīng)用服務(wù)器;所述應(yīng)用服務(wù)器的解密模塊還用于分離出HTTP GET消息中的用戶證書(shū)標(biāo)識(shí),并獲取用 戶證書(shū),以及使用證書(shū)中的公開(kāi)密鑰解密該數(shù)字簽名,并利用WAI的散列函數(shù)對(duì)統(tǒng)一資源 定位符進(jìn)行散列計(jì)算,之后比較散列計(jì)算的結(jié)果與解密的數(shù)字簽名是否一致,若一致則通 過(guò)對(duì)終端的鑒別。
15. 如權(quán)利要求ll所述的系統(tǒng),其特征在于所述終端的加密模塊對(duì)上傳的文件內(nèi)容做數(shù)字簽名是指,對(duì)所述文件內(nèi)容做散列計(jì) 算,之后使用終端WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密。
16. 如權(quán)利要求12所述的系統(tǒng),其特征在于所述應(yīng)用服務(wù)器的加密模塊對(duì)文檔內(nèi)容做簽名計(jì)算是指,對(duì)所述文檔內(nèi)容做散列計(jì) 算,之后使用應(yīng)用服務(wù)器WAPI證書(shū)的私鑰對(duì)散列計(jì)算后的值進(jìn)行公開(kāi)密鑰算法加密。
全文摘要
本發(fā)明提供了一種WAPI終端與應(yīng)用服務(wù)器傳輸文件的系統(tǒng)及方法,包括WAPI終端與應(yīng)用服務(wù)器之間采用HTTP消息傳輸文件內(nèi)容時(shí),發(fā)送端使用WPI算法對(duì)傳輸?shù)奈募?nèi)容進(jìn)行加密,并對(duì)傳輸?shù)膬?nèi)容做數(shù)字簽名后傳輸,接收端收到包含文件內(nèi)容的HTTP消息后解析出所述文件內(nèi)容并驗(yàn)證所述數(shù)字簽名,若數(shù)字簽名驗(yàn)證通過(guò)則傳輸?shù)奈募?nèi)容未被更改。采用本發(fā)明的技術(shù)方案,充分利用了WAPI基礎(chǔ)設(shè)施提供的公開(kāi)密鑰證書(shū)頒發(fā)機(jī)構(gòu)和客戶端WAPI證書(shū),有效地保證了傳輸文件內(nèi)容的安全性。
文檔編號(hào)H04W12/06GK101742508SQ20091024706
公開(kāi)日2010年6月16日 申請(qǐng)日期2009年12月21日 優(yōu)先權(quán)日2009年12月21日
發(fā)明者康望星, 施元慶, 梁潔輝 申請(qǐng)人:中興通訊股份有限公司