[發(fā)明專利]一種基于HTTP協(xié)議的數(shù)據(jù)加密傳輸方法在審
| 申請?zhí)枺?/td> | 201710640910.X | 申請日: | 2017-07-31 |
| 公開(公告)號: | CN107302541A | 公開(公告)日: | 2017-10-27 |
| 發(fā)明(設(shè)計)人: | 陳蘇 | 申請(專利權(quán))人: | 成都藍(lán)碼科技發(fā)展有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L9/08;H04L9/32 |
| 代理公司: | 成都創(chuàng)新引擎知識產(chǎn)權(quán)代理有限公司51249 | 代理人: | 向群 |
| 地址: | 610041 四川省成*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 http 協(xié)議 數(shù)據(jù) 加密 傳輸 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于通信領(lǐng)域,尤其涉及一種基于HTTP協(xié)議的數(shù)據(jù)加密傳輸方法。
背景技術(shù)
HTTP協(xié)議是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議,是客戶端和服務(wù)器之間請求和響應(yīng)的標(biāo)準(zhǔn),目前大多數(shù)網(wǎng)站和app的接口都是采用HTTP協(xié)議。然而,HTTP協(xié)議卻存在一些不足,例如,HTTP協(xié)議使用明文方式發(fā)送內(nèi)容,其本身不具備加密的功能,內(nèi)容可能被竊聽;使用HTTP協(xié)議的服務(wù)端與客戶端都不會驗(yàn)證通信方的身份,可能遭遇偽裝,即無法確定正在通信的對方是否是真實(shí)意圖的對方,也就無法識別該請求是否被攔截、重放,無法避免重放攻擊的發(fā)生;HTTP協(xié)議無法證明通信的報文完整性,報文可能被篡改。
現(xiàn)有技術(shù)提供了安全套接字層超文本傳輸協(xié)議(HTTPS),在HTTP的基礎(chǔ)上加入了SSL/TLS協(xié)議,SSL/TLS依靠證書來驗(yàn)證服務(wù)端的身份,并為客戶端和服務(wù)端之間的通信加密。然而,HTTPS的使用,使得網(wǎng)關(guān)、代理系統(tǒng)不能有效處理HTTP協(xié)議,喪失了HTTP在網(wǎng)絡(luò)上傳輸?shù)膬?yōu)勢。另外,包括Basic認(rèn)證、Digest認(rèn)證、OAuth、NTLM等等驗(yàn)證這一些認(rèn)證機(jī)制都只是對HTTP頭的信息作保護(hù),而對于HTTP消息體的數(shù)據(jù)卻沒有作加密及相互的身份認(rèn)證。
發(fā)明內(nèi)容
本發(fā)明的發(fā)明目的在于:針對上述現(xiàn)有技術(shù)存在的技術(shù)問題,提供一種基于HTTP協(xié)議的數(shù)據(jù)加密傳輸方法,以達(dá)到客戶端與服務(wù)端的雙向身份認(rèn)證、創(chuàng)建安全會話密鑰、報文加密傳輸、報文完整性驗(yàn)證和防重放攻擊的目的。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于HTTP協(xié)議的數(shù)據(jù)加密傳輸方法,具體包括下列步驟:
S1、客戶端從本機(jī)的熵池獲取隨機(jī)數(shù)R1,基于本機(jī)報文序列號N1,計算R1|N1的摘要值hash1=H(R1|N1),其中,H為預(yù)設(shè)的哈希函數(shù),符號“|”表示與運(yùn)算符;
并用客戶端私鑰對hash1簽名得到簽名值sign1,基于服務(wù)端公鑰(預(yù)先獲取的)對R1|N1|sign1進(jìn)行加密,得到加密數(shù)據(jù)Cmessage,將加密數(shù)據(jù)Cmessage發(fā)送給服務(wù)端;
S2、服務(wù)端收到Cmessage后,用服務(wù)端私鑰解密Cmessage,得到明文R1|N1|sign1;
先判斷N1與N1’+1的值是否一致,其中N1’為服務(wù)端接收的上一個客戶端報文序列號,若一致,則對客戶端的消息進(jìn)行驗(yàn)證;否則,繼續(xù)判斷N1與本地預(yù)存的客戶端報文序列號初始值是否一致,若一致,則對客戶端的消息進(jìn)行驗(yàn)證,否則拋棄;
對客戶端的消息驗(yàn)證為:計算R1|N1的摘要值hash1’=H(R1|N1),使用sign1對hash1’進(jìn)行驗(yàn)證,完成服務(wù)端對客戶端的身份認(rèn)證;
S3、服務(wù)端從本機(jī)的熵池獲取隨機(jī)數(shù)R2,基于本機(jī)報文序列號N2,計算R2|N2的摘要值hash2=H(R2|N2),并用服務(wù)端私鑰對hash2簽名得到簽名值sign2,基于客戶端公鑰(預(yù)先獲取的)對R2|N2|sign2進(jìn)行加密,得到加密數(shù)據(jù)Wmessage,將加密數(shù)據(jù)Wmessage發(fā)送給客戶端;
S4、客戶端收到Wmessage后,用客戶端私鑰解密Wmessage,得到明文R2|N2|sign2;
先判斷N2與N2’+1的值是否一致,其中N2’為客戶端接收的上一個服務(wù)端報文序列號,若一致,則對服務(wù)端的消息進(jìn)行驗(yàn)證;否則,繼續(xù)判斷N2與本地預(yù)存的服務(wù)端報文序列號初始值是否一致,若一致,則對服務(wù)端的消息進(jìn)行驗(yàn)證,否則拋棄;
對服務(wù)端的消息驗(yàn)證為:計算R2|N2的摘要值hash2’=H(R2|N2),使用sign2對hash2’進(jìn)行驗(yàn)證,完成客戶端對服務(wù)端的身份認(rèn)證;
S5、客戶端(或服務(wù)端)通過算法GenKey(R1,R2)生成會話密鑰,作為后期數(shù)據(jù)交互的加密密鑰。
優(yōu)選地,在所述步驟S1中,客戶端采用非對稱加密算法加密數(shù)據(jù)R1|N1|sign1,所述非對稱加密算法為Cmessage=Ewpublickey(R1|N1|sign1),其中,wpublickey為服務(wù)端的公鑰,E表示非對稱加密算法,Cmessage為加密后的數(shù)據(jù);
則在步驟S2中,服務(wù)端采用非對稱解密算法解密Cmessage,所述非對稱解密算法為plain=Dwprivatekey(R1|N1|sign1),其中,wprivatekey為服務(wù)端的私鑰,D表示非對稱解密算法,plain為解密后的明文,即R1|N1|sign1。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都藍(lán)碼科技發(fā)展有限公司,未經(jīng)成都藍(lán)碼科技發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710640910.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于HTTP的通信方法及系統(tǒng)、HTTP服務(wù)器、HTTP客戶端
- 用于處理HTTP消息的方法以及實(shí)現(xiàn)其的電子裝置
- HTTP報文處理方法及系統(tǒng)、HTTP客戶端及服務(wù)器
- 一種信息傳輸方法、裝置及無線通信系統(tǒng)
- 發(fā)起HTTP請求的方法及裝置
- 一種基于HTTP的應(yīng)用響應(yīng)推送方法及代理服務(wù)器
- 一種針對HTTP Flood攻擊的防護(hù)方法及系統(tǒng)
- 一種交互方法、客戶端設(shè)備及服務(wù)端設(shè)備
- H5跨引擎客戶端數(shù)據(jù)自動化更新的方法、存儲介質(zhì)
- 一種基于代理的HTTP報文采集方法、終端設(shè)備及存儲介質(zhì)
- 圖像診斷裝置、醫(yī)用系統(tǒng)以及協(xié)議管理方法
- 一種自動協(xié)議識別方法及系統(tǒng)
- 客戶端中遞送協(xié)議數(shù)據(jù)單元的方法及相關(guān)裝置
- 遠(yuǎn)程通訊系統(tǒng)
- 一種基于可拼裝通信協(xié)議棧的通信方法及系統(tǒng)
- 一種實(shí)現(xiàn)國產(chǎn)平臺PXEBOOT的協(xié)議架構(gòu)
- CBTC通信系統(tǒng)協(xié)議解析方法、協(xié)議庫管理方法
- 一種協(xié)議轉(zhuǎn)換的方法、裝置、設(shè)備及存儲介質(zhì)
- 一種用于燈光控制的協(xié)議轉(zhuǎn)換系統(tǒng)及方法
- 一種通用工藝人工智能物聯(lián)網(wǎng)網(wǎng)關(guān)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





