亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于tlv的數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法

文檔序號(hào):7892816閱讀:211來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種基于tlv的數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及ー種基于TLV的數(shù)據(jù)傳輸方法及系統(tǒng)。
背景技術(shù)
TLV (Tag標(biāo)簽,Length長(zhǎng)度,Value值)是ー種數(shù)據(jù)編碼的格式,其中標(biāo)簽(Tag)字段是關(guān)于標(biāo)簽和編碼格式的信息,長(zhǎng)度(Length)字段定義數(shù)值的長(zhǎng)度,內(nèi)容(Value)字段表示實(shí)際的數(shù)值。因此,一個(gè)編碼值又稱(chēng)TLV(Tag,Length,Value)三元組。編碼可以是基本型或結(jié)構(gòu)型,如果它表示ー個(gè)簡(jiǎn)單類(lèi)型的、完整的顯式值,那么編碼就是基本型(primitive);如果它表示的值具有嵌套結(jié)構(gòu),那么編碼就是結(jié)構(gòu)型(constructed)。目前TLV編碼主要應(yīng)用于流式媒體里傳輸結(jié)構(gòu)化數(shù)據(jù),典型的應(yīng)用是在網(wǎng)絡(luò)里傳輸結(jié)構(gòu)化數(shù)據(jù),TLV編碼把對(duì)象數(shù)據(jù)變成ニ進(jìn)制流以便在網(wǎng)絡(luò)里傳輸?,F(xiàn)有技術(shù)中通常是將數(shù)據(jù)進(jìn)行TLV編碼后直接傳輸,由于TLV編碼相對(duì)簡(jiǎn)單,很容易就能被反解,因此,采用現(xiàn)有技術(shù)傳輸TLV數(shù)據(jù)存在以下缺陷一旦傳輸?shù)臄?shù)據(jù)被其他用戶捕獲,稍有經(jīng)驗(yàn)的黑客或者開(kāi)發(fā)人員很容易就能識(shí)別TLV格式,進(jìn)而造成信息泄露,甚至威脅整個(gè)系統(tǒng)安全。

發(fā)明內(nèi)容
本發(fā)明提供了一種基于TLV的數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng),能夠提高TLV數(shù)據(jù)傳輸過(guò)程中的安全性。本發(fā)明提供了如下方案一種基于TLV的數(shù)據(jù)傳輸方法,包括采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);將所述加密后的TLV數(shù)據(jù)進(jìn)行傳輸。優(yōu)選的,還包括獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰。優(yōu)選的,所述獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰包括第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一公鑰;第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一私鑰;所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰。優(yōu)選的,所述獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰包括所述第一傳輸方和第二傳輸方分別獲知第一密鑰對(duì)中的第一公鑰,第三方獲知第一密鑰對(duì)中的第一私鑰;所述第一傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使得所述第一傳輸方獲知后續(xù)用于所述第一傳輸方與第二傳輸方之間傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰;所述第二傳輸方和所述第三傳輸方采用所述第一密鑰對(duì)進(jìn)行信息交互,使得所述第二傳輸方獲知后續(xù)用于所述第二傳輸方與所述第一傳輸方之間傳輸TLV數(shù)據(jù)的所述數(shù)據(jù)傳輸密鑰。優(yōu)選的,所述采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼包括所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述采用數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理包括所述第一傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述將加密后的TLV數(shù)據(jù)進(jìn)行傳輸包括將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;所述方法還包括所述第二傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。優(yōu)選的,所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰包括所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,觸發(fā)生成包括第二公鑰和第二私鑰的 第二密鑰對(duì);所述第一傳輸方獲知所述第二密鑰對(duì)中的一密鑰信息,所述第二傳輸方獲知所述第二密鑰對(duì)中的另一密鑰信息。優(yōu)選的,所述采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼包括所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述對(duì)TLV數(shù)據(jù)進(jìn)行加密處理包括所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述將加密后的TLV數(shù)據(jù)進(jìn)行傳輸包括將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;所述方法還包括所述第二傳輸方采用所述第二密鑰對(duì)中的所述另一密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。優(yōu)選的,還包括所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);所述第二傳輸方采用所述第二密鑰對(duì)中的所述另一密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸;所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。優(yōu)選的,所述獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰包括第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的一密鑰信息,以及第二密鑰對(duì)中的一密鑰信息;第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的另一密鑰信息,以及第二密鑰對(duì)中的另一密鑰信息。優(yōu)選的,所述采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼包括所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述對(duì)TLV數(shù)據(jù)進(jìn)行加密處理包括所述第一傳輸方采用所述第一密鑰對(duì)中的所述一密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述將加密后的TLV數(shù)據(jù)進(jìn)行傳輸包括將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;所述方法還包括所述第二傳輸方采用所述第一密鑰對(duì)中的所述另一密鑰信息對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。優(yōu)選的,還包括所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);所述第二方采用所述第二密鑰對(duì)中的所述另一密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸;所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。優(yōu)選的,在對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理之前或之后還包括對(duì)所述TLV數(shù)據(jù)進(jìn)行壓縮。優(yōu)選的,所述采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù)包括采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,在所述編碼過(guò)程中不對(duì)Length長(zhǎng)度字段進(jìn)行編碼,生成TLV數(shù)據(jù),所述TLV數(shù)據(jù)中不包括Length長(zhǎng)度字段。本發(fā)明還提供了一種基于TLV的數(shù)據(jù)傳輸系統(tǒng),包括編碼單元,用于采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);加密單元,用于對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TL V數(shù)據(jù);傳輸單元,用于將所述加密后的TLV數(shù)據(jù)進(jìn)行傳輸。優(yōu)選的,還包括密鑰通信單元,用于獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰。優(yōu)選的,所述密鑰通信單元具體包括第一密鑰通信單元,用于使所述第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一公鑰,所述第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一私鑰;第二密鑰通信單元,用于所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰。優(yōu)選的,所述密鑰通信單元具體包括第三密鑰通信單元,用于使所述第一傳輸方和第二傳輸方分別獲知第一密鑰對(duì)中的第一公鑰,第三方獲知所述第一密鑰對(duì)中的第一私鑰;第四密鑰通信單元,用于所述第一傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使所述第一傳輸方獲知后續(xù)用于所述第一傳輸方與第二傳輸方之間傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰;第五密鑰通信單元,用于所述第二傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使所述第二傳輸方獲知后續(xù)用于所述第二傳輸方與所述第一傳輸方之間傳輸TLV數(shù)據(jù)的所述數(shù)據(jù)傳輸密鑰。優(yōu)選的,所述編碼單元具體為第一編碼單元,用于所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述加密單元具體為第一加密單元,用于所述第一傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述傳輸單元具體為第一傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;所述系統(tǒng)還包括第一解密單元,用于所述第二傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及,第一解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。優(yōu)選的,所述第二密鑰通信單元包括新密鑰觸發(fā)子單元,用于所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,觸發(fā)生成包括第二公鑰和第二私鑰的第二密鑰對(duì);新密鑰通信子單元,用于使所述第一傳輸方獲知所述第二密鑰對(duì)中的一密鑰信息,所述第二傳輸方獲知所述第二密鑰對(duì)中的另一密鑰信息。優(yōu)選的,所述編碼單元具體為第二編碼單元,用于所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述加密單元具體為第二加密單元,用于所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰信息對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述傳輸單元具體為第二傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;所述系統(tǒng)還包括第二解密單元,用于所述第二傳輸方采用所述第二密鑰對(duì)中的所述另一密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及,第二解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。優(yōu)選的,還包括第三編碼單元,用于所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);第三加密單元,用于所述第二傳輸方采用所述第ニ密鑰中的所述另ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);第三傳輸単元,用于將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸;第三解密單元,用于所述第一傳輸方采用所述第二密鑰對(duì)中的所述ー密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;第三解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。優(yōu)選的,所述密鑰通信単元包括第六密鑰通信単元,用于使所述第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的ー密鑰信息以及第ニ密鑰對(duì)中的一密鑰信息;第七密鑰通信單元,用于使所述第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的另ー密鑰信息以及第ニ密鑰對(duì)中的另ー密鑰信息。 優(yōu)選的,所述編碼単元具體為第四編碼單元,用于所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述加密単元具體為第四加密單元,用于所述第ー傳輸方采用所述第一密鑰對(duì)中的所述ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述傳輸單元具體為第四傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;所述系統(tǒng)還包括第四解密單元,用于所述第二傳輸方采用所述第一密鑰對(duì)中的所述另ー密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及,第四解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。優(yōu)選的,還包括第五編碼單元,用于所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);第五加密單元,用于所述第二方采用所述第二密鑰對(duì)中的所述另ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);第五傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸;第五解密單元,用于所述第ー傳輸方采用所述第二密鑰對(duì)中的所述ー密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;第五解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。優(yōu)選的,還包括壓縮單元,用于在對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理之前或之后對(duì)所述TLV數(shù)據(jù)進(jìn)行壓縮。優(yōu)選的,所述編碼単元,具體用于采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,在所述編碼過(guò)程中不對(duì)Length長(zhǎng)度字段進(jìn)行編碼,生成TLV數(shù)據(jù),所述TLV數(shù)據(jù)中不包括Length長(zhǎng)度子段。根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開(kāi)了以下技術(shù)效果本發(fā)明通過(guò)采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);然后對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理后再進(jìn)行傳輸,使得數(shù)據(jù)在傳輸過(guò)程中即使被其他人截獲,也不會(huì)輕易泄露數(shù)據(jù)內(nèi)容,提高了 TLV數(shù)據(jù)傳輸過(guò)程中的安全性。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸方法第一實(shí)施例流程圖;圖2是本發(fā)明獲知與傳輸TLV數(shù)據(jù)相關(guān)的密鑰的第一實(shí)施方式示意圖;圖3是本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸方法第二實(shí)施例流程圖4是本發(fā)明中獲知與傳輸TLV數(shù)據(jù)相關(guān)的密鑰的第二實(shí)施方式示意圖;圖5是本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸方法第三實(shí)施例示意圖;圖6是本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸方法第四實(shí)施例流程圖;圖7是本發(fā)明獲知與傳輸TLV數(shù)據(jù)相關(guān)的密鑰的第三實(shí)施方式示意圖;
圖8是本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸系統(tǒng)實(shí)施例示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。請(qǐng)參閱圖1,其為本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸方法第一實(shí)施例流程圖。為更清楚的說(shuō)明本發(fā)明實(shí)施例,在傳輸過(guò)程中,將傳輸雙方分別稱(chēng)為第一傳輸方和第二傳輸方。步驟110 :第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一公鑰,第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一私鑰;步驟120 :第一傳輸方和第二傳輸方之間米用第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰。從上述步驟可以看出,步驟110和120的方案主要是為了使傳輸方獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰,為了更好的理解這兩個(gè)步驟,下面結(jié)合一個(gè)具體實(shí)施方式
進(jìn)一步詳細(xì)介紹。請(qǐng)參閱圖2,其為本發(fā)明獲知與傳輸TLV數(shù)據(jù)相關(guān)的密鑰的第一實(shí)施方式示意圖。在該示意圖中,第一傳輸方以客戶端為例進(jìn)行說(shuō)明,第二傳輸方以服務(wù)器為例進(jìn)行說(shuō)明,除此以外還有一個(gè)密鑰管理單元,該單元可以理解為邏輯上獨(dú)立于服務(wù)器和客戶端,在物理上并不限于此,可以集成到服務(wù)器上予以實(shí)現(xiàn),即可以由圖中所示服務(wù)器或另一服務(wù)器完成密鑰管理的功能。步驟2001 :生成一包括公鑰(即步驟110中的第一公鑰)和私鑰(即步驟110中的第一私鑰)的密鑰對(duì),該步驟可以由密鑰管理單元完成。這對(duì)密鑰對(duì)通常不會(huì)經(jīng)常更新。當(dāng)然,如果出于更嚴(yán)格的安全需求,也可以根據(jù)實(shí)際需要定期或不定期的經(jīng)常更新。步驟2002 :密鑰管理單元將公鑰傳輸給客戶端,客戶端保存該公鑰,即客戶端獲知該公鑰。步驟2003 :密鑰管理單元將私鑰傳輸給服務(wù)器,服務(wù)器保存該私鑰,即服務(wù)器獲知該私鑰。步驟2004 :客戶端生成驗(yàn)證信息(明文)。如果對(duì)安全性要求較高,就可以在請(qǐng)求消息中加入驗(yàn)證信息,驗(yàn)證信息的主要目的是為了使得服務(wù)器能夠驗(yàn)證該客戶端的身份是合法的。步驟2005 :客戶端構(gòu)建請(qǐng)求消息(請(qǐng)求后續(xù)傳輸TLV數(shù)據(jù)的密鑰key,也即請(qǐng)求加/解密TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰key),并使用公鑰加密該請(qǐng)求消息。例如,請(qǐng)求key的請(qǐng)求消息原文是“request key, password = 123456”,用用公鑰加密后變成Y。
步驟2006 :將經(jīng)公鑰加密后的請(qǐng)求消息發(fā)送給服務(wù)器。例如,將上述“Y”發(fā)送給服務(wù)器。步驟2007 :服務(wù)器收到請(qǐng)求消息后,用私鑰解密,并驗(yàn)證明文信息。例如,服務(wù)器收到Y(jié)后,使用私鑰解密Y — “request key, password = 123456”,并且驗(yàn)證password是否正確。步驟2008 :如果私鑰解密成功, 并且驗(yàn)證信息正確,則生成隨機(jī)key,傳輸給客戶端。為了安全起見(jiàn),key最好是隨機(jī)產(chǎn)生的,但本發(fā)明并不限于此。另外,優(yōu)選的,傳輸key時(shí)可以采用私鑰加密,以更好的提高安全性。步驟2009 :客戶端成功獲取用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰key。如果服務(wù)器傳輸key時(shí)采用私鑰進(jìn)行了加密,則客戶端還需要在接收后采用公鑰進(jìn)行解密,才能正確解出key。至此,第一傳輸方和第二傳輸方之間采用第一密鑰對(duì)進(jìn)行信息交互,成功交互了后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰key,可以看出,用于后續(xù)傳輸TLV數(shù)據(jù)的密鑰key不同于之前的公鑰和私鑰,開(kāi)始產(chǎn)生的公鑰和私鑰僅僅是為了交換數(shù)據(jù)傳輸密鑰key使用的,在后續(xù)真正傳輸TLV數(shù)據(jù)時(shí)并使用公鑰和私鑰,而是采用新交換的數(shù)據(jù)傳輸密鑰key。進(jìn)而,后續(xù)第一傳輸方和第二傳輸方如果需要傳輸TLV數(shù)據(jù)的話,則就可以采用上述數(shù)據(jù)傳輸密鑰key進(jìn)行加密和解密了。由此可知,步驟110和步驟120的主要方案是生成包括第一公鑰和第一私鑰的第一密鑰對(duì),第一傳輸方獲知第一公鑰,第二傳輸方獲知第一私鑰;第一傳輸方向第二傳輸方發(fā)送ー采用該公鑰加密的請(qǐng)求信息,該請(qǐng)求信息包括請(qǐng)求獲知數(shù)據(jù)傳輸密鑰key的信息;第二傳輸方采用私鑰對(duì)接收到的請(qǐng)求信息進(jìn)行解密,解密成功后生成數(shù)據(jù)傳輸密鑰,井向第一傳輸方發(fā)送用于對(duì)TLV數(shù)據(jù)進(jìn)行加密處理的數(shù)據(jù)傳輸密鑰。步驟130 :第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼。在該步驟中,可以采用現(xiàn)有的TLV編碼方式對(duì)原始數(shù)據(jù)進(jìn)行編碼。也可以采用本發(fā)明提供的一種改進(jìn)的TLV編碼方式進(jìn)行編碼,比如,在所述編碼過(guò)程中不對(duì)Length長(zhǎng)度字段進(jìn)行編碼,生成TLV數(shù)據(jù),所述TLV數(shù)據(jù)中不包括Length長(zhǎng)度字段。或者,縮減tag的位數(shù)。具體而言,傳統(tǒng)的TLV,Tag(簡(jiǎn)稱(chēng)對(duì)應(yīng)的數(shù)據(jù)體為對(duì)象),Length的長(zhǎng)度是固定的(主要是為了編程方便),實(shí)際上如果tag的類(lèi)型有限,并且有ー些tag對(duì)應(yīng)的數(shù)據(jù)長(zhǎng)度如果是固定的話,那么tag和length可以進(jìn)ー步縮減,以節(jié)約流量。例如傳統(tǒng)的TLV的tag和 length 一般是使用 16 位的比較多Tag short 短(16bits) Length short 短(16bits)Value variable (變量)如果能夠確定需要傳輸?shù)膶?duì)象不超過(guò)256種(滿足絕大部分需求),那么Tag只需要使用Sbits (可以節(jié)約I個(gè)字節(jié)),任何ー種對(duì)象如果長(zhǎng)度是固定的,就不傳遞長(zhǎng)度,直接傳value,于是總共能夠節(jié)約2個(gè)字節(jié)。采取上述這種編碼方式,對(duì)接收方進(jìn)行解碼也是沒(méi)有問(wèn)題的,因?yàn)槊糠N類(lèi)型的數(shù)據(jù)長(zhǎng)度基本是固定的,因此接收方從tag中讀出數(shù)據(jù)類(lèi)型,便能夠知道該類(lèi)型的數(shù)據(jù)長(zhǎng)度是多少進(jìn)而解碼時(shí)就知道要解碼到多長(zhǎng)??梢?jiàn),采取上述編碼方式,更能夠節(jié)約傳輸?shù)牧髁?,提高了傳輸效率。需要說(shuō)明的是,步驟130,與步驟110、120獲知用于傳輸TLV數(shù)據(jù)相關(guān)密鑰的步驟之間沒(méi)有先后順序關(guān)系,兩者先后順序可以互換,而且,也不限于每發(fā)一次TLV數(shù)據(jù)之前都要獲知密鑰,通常是開(kāi)啟一次新的會(huì)話才需要重新獲知一次傳輸TLV數(shù)據(jù)的密鑰。換而言之,可能獲知一次密鑰,可以應(yīng)用于多次TLV數(shù)據(jù)的加密傳輸。當(dāng)然,如果實(shí)際需要安全級(jí)別非常高,也不排除每傳輸一次TLV數(shù)據(jù)之前,都重新獲知一次新的密鑰。本發(fā)明對(duì)上述內(nèi)容并沒(méi)有限制。步驟140 :第一傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù)。例如,采用步驟120中獲知的用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)加密密鑰key進(jìn)行加密處理。步驟150 :將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸。 至此,通過(guò)步驟110-步驟150完成了第一傳輸方向第二傳輸方傳輸TLV數(shù)據(jù)的完整傳輸過(guò)程。為了更詳盡敘述本發(fā)明實(shí)施例,后續(xù)再進(jìn)一歩介紹接收方(第二傳輸方)對(duì)接收到的數(shù)據(jù)的處理。第二傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密,第二傳輸方解密的密鑰,與第一傳輸方加密的密鑰相同,例如,都是圖2中所示的數(shù)據(jù)傳輸密鑰key。然后,對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。通過(guò)上述本發(fā)明第一實(shí)施例可以看出,在真正傳輸TLV數(shù)據(jù)時(shí)采用加密和解密密鑰相同,因此加密和解密的效率比較高。并且由于該數(shù)據(jù)傳輸密鑰是通過(guò)前述復(fù)雜的通信過(guò)程(借助不同于數(shù)據(jù)傳輸密鑰的另一密鑰對(duì))交互獲知的,因此該數(shù)據(jù)傳輸密鑰的安全性非常高。數(shù)據(jù)傳輸密鑰本身的安全性高,自然導(dǎo)致在后續(xù)用該密鑰傳輸TLV數(shù)據(jù)時(shí)的安全性大大提高。請(qǐng)繼續(xù)參閱圖3,其為本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸方法第二實(shí)施例流程圖。為更清楚的說(shuō)明本發(fā)明實(shí)施例,在傳輸過(guò)程中,將傳輸雙方分別稱(chēng)為第一傳輸方和第ニ傳輸方。本實(shí)施例與第一實(shí)施例的主要區(qū)別在于步驟310-330與第一實(shí)施例中的步驟110-步驟120不同,即獲知用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰的具體方式不同。后續(xù)步驟的處理雷同。步驟310 :第一傳輸方和第二傳輸方分別獲知第一密鑰對(duì)中的第一公鑰,第三方獲知第一密鑰對(duì)中的第一私鑰;步驟320 :第一傳輸方和第三方采用第一密鑰對(duì)進(jìn)行信息交互,使得所述第一傳輸方獲知后續(xù)用于所述第一傳輸方與第二傳輸方之間傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰。步驟330 :第二傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使得所述第二傳輸方獲知后續(xù)用于所述第二傳輸方與所述第一傳輸方之間傳輸TLV數(shù)據(jù)的所述數(shù)據(jù)傳輸密鑰。為了更清楚的介紹步驟310至步驟320,下面仍然以一具體示意圖來(lái)進(jìn)一歩介紹。請(qǐng)參看圖4,其為本發(fā)明中獲知與傳輸TLV數(shù)據(jù)相關(guān)的密鑰的第二實(shí)施方式示意圖。在該示意圖中,第一傳輸方以客戶端Cl為例進(jìn)行說(shuō)明,第二傳輸方以客戶端C2為例進(jìn)行說(shuō)明,除此以外還有第三方服務(wù)器,以及密鑰管理単元。密鑰管理単元可以理解為邏輯上獨(dú)立于服務(wù)器和客戶端,在物理上并不限于此,可以集成到服務(wù)器上予以實(shí)現(xiàn),即可以由圖中所示服務(wù)器或另一服務(wù)器完成密鑰管理的功能。步驟4001 :生成密鑰對(duì),該密鑰對(duì)包括一公鑰(即步驟310中的第一公鑰)和一私鑰(即步驟310中的第一私鑰),可以由密鑰管理単元生成。步驟4002 :傳輸給客戶端C2保存該公鑰。步驟4003 :傳輸給客戶端Cl保存該公鑰。步驟4004 :傳輸給服務(wù)器保存該私鑰。
步驟4005 :客戶端Cl向服務(wù)器詢(xún)問(wèn)客戶端列表。步驟4006 :服務(wù)器向客戶端Cl返回客戶端列表,其中包括客戶端C2在線的信息。步驟4007 :客戶端Cl向服務(wù)器請(qǐng)求連接客戶端C2。步驟4008 :服務(wù)器詢(xún)問(wèn)客戶端C2是否同意客戶端Cl的連接請(qǐng)求。步驟4009 :客戶端C2返回同意的確認(rèn)信息。步驟4010 :服務(wù)器生成用于后續(xù)客戶端Cl和客戶端C2之間傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰key,優(yōu)選的,是生成隨機(jī)key。步驟4011 :服務(wù)器生成會(huì)話信息,包括前述的隨機(jī)key。步驟4012 :將包括隨機(jī)key的會(huì)話信息發(fā)送給客戶端C2。步驟4013 :將包括隨機(jī)key的會(huì)話信息也發(fā)送給客戶端Cl。步驟4014 :借助服務(wù)器在客戶端Cl和客戶端C2之間進(jìn)行TCP (TransmissionControl Protocol傳輸控制協(xié)議)打洞,建立連接。本步驟可以采用現(xiàn)有技術(shù)中的相關(guān)技術(shù)實(shí)現(xiàn),因此不再贅述。需要說(shuō)明的是,從步驟4005開(kāi)始一直到結(jié)束,客戶端Cl、C2和服務(wù)器之間進(jìn)行的信息交互都采用最初的公鑰、私鑰密鑰對(duì)進(jìn)行加密信息傳輸,即客戶端Cl或C2給服務(wù)器發(fā)消息時(shí)采用公鑰加密,服務(wù)器采用私鑰解密;反之,服務(wù)器給客戶端Cl或C2發(fā)消息時(shí)采用私鑰加密,客戶端Cl或C2采用公鑰解密。步驟4015 :客戶端C2和客戶端Cl之間使用服務(wù)器派發(fā)的數(shù)據(jù)傳輸密鑰key對(duì)傳輸?shù)腡LV數(shù)據(jù)進(jìn)行加密/解密。通過(guò)圖4的具體實(shí)施方式
可以看出,該具體實(shí)施方式
主要應(yīng)用于兩個(gè)客戶端之間需要直接傳輸TLV數(shù)據(jù)的應(yīng)用場(chǎng)景,比如P2P的應(yīng)用場(chǎng)景。只不過(guò)出于安全考慮,客戶端之間不直接傳輸用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰,而是借助服務(wù)器來(lái)派發(fā)??梢?jiàn),通過(guò)這種方式,在P2P等客戶端之間直接需要傳輸TLV的應(yīng)用場(chǎng)景下,進(jìn)ー步提高了 TLV數(shù)據(jù)的傳輸安全性。尤其是用戶如果在Wi-Fi網(wǎng)絡(luò)等公共網(wǎng)絡(luò)下傳輸數(shù)據(jù),采用本發(fā)明實(shí)施例的技術(shù)方案,安全性有了很大提高。步驟340 :第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù)。同前述實(shí)施例類(lèi)似,步驟310至步驟330,與步驟340之間沒(méi)有必要的順序關(guān)系,也不是每執(zhí)行步驟340 —次,都要執(zhí)行步驟310-330 —次,本發(fā)明對(duì)它們之間的執(zhí)行順序和次數(shù)沒(méi)有限制,可以根據(jù)實(shí)際需求而定。步驟350 :第一傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù)。例如,客戶端Cl采用圖4中服務(wù)器派發(fā)的key對(duì)待傳輸?shù)腡LV數(shù)據(jù)進(jìn)行加密處理。步驟360 :將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸。例如,客戶端Cl將經(jīng)key加密后的TLV數(shù)據(jù)向客戶端C2進(jìn)行傳輸。至此,通過(guò)步驟310-步驟350完成了第一傳輸方向第二傳輸方傳輸TLV數(shù)據(jù)的完整傳輸過(guò)程。為了更詳盡敘述本發(fā)明實(shí)施例,后續(xù)再進(jìn)一步介紹接收方第二傳輸方對(duì)接收到的數(shù)據(jù)的處理。步驟370 :第二傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密。對(duì)應(yīng)于圖4的應(yīng)用場(chǎng)景,例如,客戶端C2用key對(duì)來(lái)自Cl的TLV數(shù)據(jù)進(jìn)行解密。
步驟380 :對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。前述步驟340至步驟380,與第一實(shí)施例中的步驟130至170雷同,因此不再贅述,相關(guān)細(xì)節(jié)請(qǐng)參看前述第一實(shí)施例中對(duì)應(yīng)步驟的描述。綜合前述本發(fā)明第一實(shí)施例和第二實(shí)施例可以看出,第一傳輸方和第二傳輸方之間不是直接傳輸用于給TLV數(shù)據(jù)加密的密鑰key,而是通過(guò)更復(fù)雜、安全的傳輸過(guò)程來(lái)交互key,因此使key本身更為安全,進(jìn)而進(jìn)一步確保傳輸?shù)腡LV數(shù)據(jù)的安全性。在實(shí)際應(yīng)用中,有些傳輸是單向的,但也有很多傳輸是雙向的,下面以一具體實(shí)施方式
為例,介紹雙向傳輸?shù)木唧w過(guò)程。請(qǐng)參閱圖5,其為本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸方法第三實(shí)施例示意圖。在該示意圖中第一傳輸方可以是客戶端,第二傳輸方可以是服務(wù)器或另一客戶端。步驟501 :對(duì)待傳輸?shù)腡LV數(shù)據(jù)進(jìn)行壓縮,即壓縮TLV數(shù)據(jù)。本領(lǐng)域技術(shù)人員可以理解,在此步驟之前已經(jīng)對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行了 TLV編碼,已經(jīng)形成了 TLV數(shù)據(jù),只是為了更突出通信過(guò)程中的各步驟,所以沒(méi)將最初的TLV編碼步驟在圖示出。由于TLV編碼方式為每種類(lèi)型添加額外的Tag和Length字段,因此產(chǎn)生的數(shù)據(jù)要比原始數(shù)據(jù)大,因此,如果在傳輸TLV數(shù)據(jù)之前對(duì)其進(jìn)行壓縮,比如使用Huffman (哈夫曼編碼)或者Gzip (GNUzip的縮寫(xiě),一種文件壓縮程序)方式進(jìn)行壓縮,進(jìn)而可以節(jié)約帶寬,提升傳輸速度。步驟502 :對(duì)壓縮后的TLV數(shù)據(jù)采用數(shù)據(jù)傳輸密鑰key進(jìn)行加密。例如,采用前述第一實(shí)施例中獲知的用于傳輸TLV數(shù)據(jù)的key,或者前述第二實(shí)施例中獲知的用于傳輸TLV數(shù)據(jù)的key。需要說(shuō)明的是,步驟501和步驟502沒(méi)有嚴(yán)格的先后順序,可以互換,即可以先壓縮后加密,也可以先加密后壓縮。步驟503 :發(fā)送經(jīng)數(shù)據(jù)傳輸密鑰key加密后的TLV數(shù)據(jù)給第二傳輸方。步驟504 :第二傳輸方對(duì)接收到的TLV數(shù)據(jù)使用key進(jìn)行解密。在本實(shí)施例中解密的密鑰與加密的密鑰相同。步驟505 :對(duì)解密后的數(shù)據(jù)進(jìn)行解壓縮。步驟506 :對(duì)解壓縮后的數(shù)據(jù)進(jìn)行正常的業(yè)務(wù)邏輯處理,獲得業(yè)務(wù)處理結(jié)果。當(dāng)然,多數(shù)情況下在解壓縮后還還需要解碼還原出原始數(shù)據(jù),然后再進(jìn)行業(yè)務(wù)邏輯處理。步驟507 :對(duì)業(yè)務(wù)處理結(jié)果的TLV數(shù)據(jù)進(jìn)行壓縮。當(dāng)然,在壓縮之前還要進(jìn)行TLV編碼(只是在圖中未示出),以便生成TLV數(shù)據(jù)。步驟508 :對(duì)壓縮后的TLV數(shù)據(jù)采用數(shù)據(jù)傳輸密鑰key進(jìn)行加密。步驟509 :第二傳輸方向第一傳輸方發(fā)送經(jīng)數(shù)據(jù)傳輸密鑰key加密后的數(shù)據(jù)。步驟510 :第一傳輸方采用數(shù)據(jù)傳輸密鑰key對(duì)接收到的數(shù)據(jù)進(jìn)行解密。步驟511 :對(duì)解密后的數(shù)據(jù)進(jìn)行解壓縮,進(jìn)而完成通信。當(dāng)然,如果要獲得原始數(shù)據(jù),還需要進(jìn)一步對(duì)TLV數(shù)據(jù)進(jìn)行解碼,此處不再贅述。通過(guò)上述圖5的本發(fā)明實(shí)施例可以看出,在實(shí)施例中,第一傳輸方和第二傳輸方使用相同的密鑰對(duì)TLV數(shù)據(jù)進(jìn)行加密和解密。并且,第一傳輸方向第二傳輸方發(fā)送TLV數(shù)據(jù)時(shí)使用的加密密鑰,與第二傳輸方向第一傳輸方發(fā)送TLV數(shù)據(jù)時(shí)使用的密鑰也相同。為了更進(jìn)ー步的提高數(shù)據(jù)傳輸安全,發(fā)送方(如第一傳輸方)對(duì)TLV數(shù)據(jù)進(jìn)行加密的密鑰,與接收方(如第二傳輸方)對(duì)TLV數(shù)據(jù)進(jìn)行解密的密鑰不同。甚至,第一傳輸方向第二傳輸方發(fā)送TLV數(shù)據(jù)時(shí)使用的加密密鑰,與第二傳輸方向第一傳輸方發(fā)送TLV數(shù)據(jù)時(shí)使用的密鑰也不相同,甚至不是同一密鑰對(duì)。具體請(qǐng)看下面實(shí)例請(qǐng)參看圖6,其為本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸方法第四實(shí)施例流程圖。
步驟610 :第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一公鑰;第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一私鑰。步驟620 :第一傳輸方和第二傳輸方之間米用第一密鑰對(duì)進(jìn)行信息交互,觸發(fā)生成包含第二公鑰和第二私鑰的第二密鑰對(duì)。步驟630 :第二傳輸方和第一傳輸方分別獲知所述第二密鑰對(duì)中的密鑰信息,第ニ密鑰對(duì)中的密鑰信息作為后續(xù)用于傳輸TLV數(shù)據(jù)的相關(guān)密鑰信息。例如,第二傳輸方獲知所述第二密鑰對(duì)中的第二公鑰,利用第一密鑰對(duì)向第一傳輸方傳輸所述第二私鑰。上述步驟610至630的目的也是為了使數(shù)據(jù)傳輸方獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰。換而言之,也可以理解為第一傳輸方和第二傳輸方之間米用第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰。只不過(guò)本實(shí)施例中的數(shù)據(jù)傳輸密鑰,與前述第一實(shí)施例和第二實(shí)施例中的數(shù)據(jù)傳輸密鑰有所不同。在第一實(shí)施例和第二實(shí)施例中,用于傳輸TLV數(shù)據(jù)的傳輸密鑰對(duì)加密和解密而言都是相同的,而且雙向互傳時(shí)采用的加密密鑰也相同。而本實(shí)施例中的后續(xù)用于傳輸TLV數(shù)據(jù)的傳輸密鑰,對(duì)于加密和解密而言不同,并且如果存在雙向互傳的情況,那么雙向采用的加密密鑰也不同,相應(yīng)的解密密鑰也不同。為了更好的理解610至630,下面結(jié)合一個(gè)具體實(shí)施方式
進(jìn)ー步詳細(xì)介紹。請(qǐng)參閱圖7,其為本發(fā)明獲知與傳輸TLV數(shù)據(jù)相關(guān)的密鑰的第三實(shí)施方式示意圖。在該示意圖中,第一傳輸方以客戶端為例進(jìn)行說(shuō)明,第二傳輸方以服務(wù)器為例進(jìn)行說(shuō)明,除此以外還有ー個(gè)密鑰管理単元,該單元可以理解為邏輯上獨(dú)立于服務(wù)器和客戶端,在物理上并不限于此,可以集成到服務(wù)器上予以實(shí)現(xiàn),即可以由圖中所示服務(wù)器或另ー服務(wù)器完成密鑰管理的功能。步驟7001 :生成一包括公鑰Al-P (即步驟610中的第一公鑰)和私鑰A1-S (即步驟610中的第一私鑰)的密鑰對(duì)Al,該步驟可以由密鑰管理単元完成。這對(duì)密鑰對(duì)通常不會(huì)經(jīng)常更新。當(dāng)然,如果處于更嚴(yán)格的安全需求,也可以根據(jù)實(shí)際需要定期或不定期的經(jīng)常更新。步驟7002 :密鑰管理単元將公鑰Al-P傳輸給客戶端,客戶端保存該公鑰A1_P,即客戶端獲知公鑰A1-P。步驟7003 :密鑰管理単元將私鑰Al-S傳輸給服務(wù)器,服務(wù)器保存該私鑰A1_S,即服務(wù)器獲知私鑰Al-S。步驟7004 :客戶端生成驗(yàn)證信息(明文)。如果對(duì)安全性要求較高,就可以在請(qǐng)求消息中加入驗(yàn)證信息,驗(yàn)證信息的目的是為了使得服務(wù)器能夠驗(yàn)證該客戶端的身份是合法的。
步驟7005 :客戶端構(gòu)建請(qǐng)求消息(請(qǐng)求后續(xù)傳輸TLV數(shù)據(jù)的密鑰,即請(qǐng)求加/密TLV數(shù)據(jù)的密鑰),并使用公鑰Al-P加密該請(qǐng)求消息。步驟7006 :將經(jīng)公鑰Al-P加密后的請(qǐng)求消息發(fā)送給服務(wù)器。步驟7007 :服務(wù)器收到請(qǐng)求消息后,用私鑰Al-S解密,并驗(yàn)證明文信息。步驟7008 :服務(wù)器解密及驗(yàn)證成功后,向密鑰管理單元發(fā)送請(qǐng)求,請(qǐng)求生成新密鑰對(duì)AN。步驟7009 :密鑰管理單元下發(fā)密鑰對(duì)AN(公鑰AN-P和私鑰AN_S)給服務(wù)器。步驟7010 :服務(wù)器下發(fā)私鑰AN-S給客戶端。步驟7011 :客戶端成功接收到用于向服務(wù)器傳輸TLV數(shù)據(jù)的密鑰ΑΝ-S。同時(shí),該私鑰AN-S也作為解密后續(xù)從服務(wù)器傳輸過(guò)來(lái)的TLV數(shù)據(jù)的解密密鑰。通過(guò)上述圖7的具體實(shí)施方式
可以看出,服務(wù)器和客戶端之間采用第一密鑰對(duì)(A1-P和A1-S)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰(AN-P和AN-S)。具體的傳輸加密等過(guò)程請(qǐng)繼續(xù)參看下述流程。步驟640 :第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼。步驟650 :第一傳輸方采用第二私鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù)。對(duì)應(yīng)于圖7的具體應(yīng)用環(huán)境,本步驟就是客戶端采用AN-S對(duì)TLV數(shù)據(jù)進(jìn)行加密處理。步驟660 :將加密后的TLV數(shù)據(jù)向第二傳輸方進(jìn)行傳輸。對(duì)應(yīng)于圖7的具體應(yīng)用環(huán)境,本步驟就是客戶端將經(jīng)AN-S加密后的數(shù)據(jù)向服務(wù)器傳輸。至此,通過(guò)步驟610-步驟660完成了第一傳輸方向第二傳輸方傳輸TLV數(shù)據(jù)的完整傳輸過(guò)程。為了更詳盡敘述本發(fā)明實(shí)施例,后續(xù)再進(jìn)一步介紹接收方第二傳輸方對(duì)接收到的數(shù)據(jù)的處理。具體而言,第二傳輸方采用所述第二公鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密。對(duì)應(yīng)于圖7所示的應(yīng)用環(huán)境,本步驟就是服務(wù)器采用AN-P對(duì)來(lái)自客戶端的TLV數(shù)據(jù)進(jìn)行解密。解密成功后,對(duì)解密后的TLV數(shù)據(jù)進(jìn)行解碼,進(jìn)而獲得傳輸?shù)牡谝辉紨?shù)據(jù)。在實(shí)際應(yīng)用中,有些傳輸是單向的,但也有很多傳輸是雙向的,加入后續(xù)第二傳輸方還要向第一傳輸方傳輸TLV數(shù)據(jù),則采用下述流程處理。(I)第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù) 據(jù)。(2)第二傳輸方采用第二公鑰對(duì)TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù)。對(duì)應(yīng)于圖7的應(yīng)用環(huán)境,本步驟即為服務(wù)器采用公鑰AN-P對(duì)TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù)。(3)將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸。對(duì)應(yīng)于圖7的應(yīng)用環(huán)境,本步驟即為服務(wù)器將加密后的TLV數(shù)據(jù)向客戶端傳輸。(4)第一傳輸方采用所述第二私鑰對(duì)來(lái)自第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密。對(duì)應(yīng)于圖7的應(yīng)用場(chǎng)景,本步驟即為客戶端采用AN-S對(duì)來(lái)自服務(wù)器的TLV數(shù)據(jù)進(jìn)行解密。(5)對(duì)解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。需要說(shuō)明的是,在前述步驟7010中,服務(wù)器也可以下發(fā)公鑰AN-P給客戶端,自己保存私鑰AN-S。進(jìn)而,后續(xù)客戶端給服務(wù)器發(fā)TLV數(shù)據(jù)時(shí),采用公鑰AN-P進(jìn)行加密,相應(yīng)的,服務(wù)器采用私鑰AN-S解密。反之,服務(wù)器給客戶端發(fā)TLV數(shù)據(jù)時(shí),采用私鑰AN-S進(jìn)行加密,相應(yīng)的,客戶端采用公鑰AN-P進(jìn)行解密??傊?,第一傳輸方獲知第二密鑰對(duì)中的ー密鑰信息,第二傳輸方獲知第二密鑰對(duì)中的另ー密鑰信息,具體哪個(gè)獲得公鑰,哪個(gè)獲得私鑰,本發(fā)明實(shí)施例對(duì)此并沒(méi)有限制,在傳輸TLV數(shù)據(jù)時(shí),都是用第二密鑰對(duì)中的ー密鑰加密,用第二密鑰對(duì)中的另ー密鑰解密。此外,在前述實(shí)施例中,生成第二密鑰對(duì)之后,第一傳輸方和第二傳輸方之間傳輸TLV數(shù)據(jù)的加密和解密,都采用第二密鑰對(duì)。還有另外ー種替代方案,S卩,生成第二密鑰對(duì)之后,第一傳輸方向第二傳輸方傳輸TLV數(shù)據(jù),采用第一密鑰對(duì)進(jìn)行加密/解密,第二傳輸方向第一傳輸方傳輸TLV數(shù)據(jù),采用第二密鑰對(duì)進(jìn)行加密/解密。 具體而言,通過(guò)步驟610至步驟630,使得第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一公鑰以及第ニ密鑰對(duì)中的第二私鑰;以及第ニ傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一私鑰以及第ニ密鑰對(duì)中第二公鑰。進(jìn)而,第一傳輸方米用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;第一傳輸方采用第一公鑰(例如圖7中的A1-P)對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;將加密后的TLV數(shù)據(jù)向第二傳輸方進(jìn)行傳輸。進(jìn)而,第二傳輸方采用第一私鑰(例如A1-S)對(duì)來(lái)自第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。如果是雙向傳輸,則進(jìn)ー步包括第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);第二傳輸方采用第二公鑰(例如圖7中的AN-P)對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);將加密后的TLV數(shù)據(jù)向第一傳輸方進(jìn)行傳輸。然后,第一傳輸方采用第二私鑰(例如AN-S)對(duì)來(lái)自第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。與前述第四實(shí)施例類(lèi)似,第一傳輸方和第二傳輸方哪個(gè)獲得第一密鑰對(duì)中的公鑰,哪個(gè)獲得私鑰,本發(fā)明對(duì)此并沒(méi)有限制,只是前述的例子對(duì)安全性來(lái)說(shuō)相對(duì)更好ー些。對(duì)于第二密鑰對(duì)的分發(fā)也沒(méi)有類(lèi)似限制。換而言之,第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的一密鑰信息,以及第二密鑰對(duì)中的一密鑰信息;第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的另ー密鑰信息,以及第二密鑰對(duì)中的另ー密鑰信息。并不限制第一密鑰對(duì)中的一密鑰信息是第一公鑰還是第一私鑰,同理,也不限制第二密鑰對(duì)中的ー密鑰信息時(shí)第二公鑰還是第二私鑰。只是說(shuō),當(dāng)ー密鑰信息是公鑰時(shí),另ー密鑰信息就是私鑰,反之亦然,他們都是成對(duì)使用。通過(guò)上述本發(fā)明ー種基于TLV的數(shù)據(jù)傳輸方法第四實(shí)施例及其替代方案的描述可知,在該實(shí)施例中,傳輸雙方使用的加密和解密密碼不同,更進(jìn)ー步提高了 TLV數(shù)據(jù)的安全性。而且,第一傳輸方向第二傳輸方發(fā)送TLV數(shù)據(jù)時(shí)采用加密密鑰,與第二傳輸方向第一傳輸方發(fā)送TLV數(shù)據(jù)時(shí)采用的加密密鑰也不同,因此更提高了 TLV數(shù)據(jù)傳輸?shù)陌踩浴Ec前述本發(fā)明方法實(shí)施例相對(duì)應(yīng),本發(fā)明還公開(kāi)了ー種基于TLV的數(shù)據(jù)傳輸系統(tǒng),請(qǐng)參閱圖8,其為本發(fā)明提供的一種基于TLV的數(shù)據(jù)傳輸系統(tǒng)實(shí)施例框圖。本實(shí)施例中的各単元是基于邏輯劃分,而非物理劃分,因此,在實(shí)際應(yīng)用中,一単元可以分設(shè)于不同的物理實(shí)體中相互配合完成相應(yīng)功能,不同単元也可以合并設(shè)于一物理實(shí)體中,本發(fā)明系統(tǒng)實(shí)施例對(duì)此并無(wú)限制。此外,由于本發(fā)明的系統(tǒng)實(shí)施例與方法實(shí)施例是完全對(duì)應(yīng)的,因此各單元的技術(shù)細(xì)節(jié)不再贅述,請(qǐng)參看前述方法實(shí)施例中的相應(yīng)內(nèi)容,下面僅從邏輯結(jié)構(gòu)上予以說(shuō)明。在本實(shí)施例中,該數(shù)據(jù)傳輸系統(tǒng)包括編碼單元810,用于采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);加密單元820,用于對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);以及傳輸單元830,用于將所述加密后的TLV數(shù)據(jù)進(jìn)行傳輸??蛇x的,還包括密鑰通信單元,用于獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰。在一具體實(shí)施方式
中,所述密鑰傳輸單元具體包括第一密鑰通信單元和第二密鑰通信單元,其中,第一密鑰通信單元,用于使所述第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一公鑰,所述第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一私鑰。第二密鑰通信單元,用于所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰。在另一具體實(shí)施方式
中,所述密鑰通信單元具體包括第三密鑰通信單元、第四密鑰通信單元和第五密鑰通信單元,其中,第三密鑰通信單元,用于使所述第一傳輸方和第二傳輸方分別獲知第一密鑰對(duì)中的第一公鑰,第三方獲知第一密鑰對(duì)中的第一私鑰;第四密鑰通信單元,用于所述第一傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使得所述第一傳輸方獲知后續(xù)用于所述第一傳輸方與第二傳輸方之間傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰;第五密鑰通信單元,用于所述第二傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使得所述第二傳輸方獲知后續(xù)用于所述第二傳輸方與所述第一傳輸方之間傳輸TLV數(shù)據(jù)的所述數(shù)據(jù)傳輸密鑰。在上述兩個(gè)具體實(shí)施方式
中,編碼單元810具體為第一編碼單元,用于所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;加密單元820具體為第一加密單元,用于所述第一傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;傳輸單元830具體為第一傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;可選的,所述系統(tǒng)還包括第一解密單元,用于所述第二傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及,第一解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。在又一具體實(shí)施方式
中,前述第二密鑰通信單元包括新密鑰觸發(fā)子單元,用于所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,觸發(fā)生成包括第二公鑰和第二私鑰的第二密鑰對(duì);新密鑰通信子單元,用于使所述第一傳輸方獲知所述第二密鑰對(duì)中的一密鑰信息,所述第二傳輸方獲知所述第二密鑰對(duì)中的另一密鑰信息。編碼單元810具體為第二編碼單元,用于所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;加密單元820具體為第二加密單元,用于所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰信息對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;傳輸單元830具體為第二傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;所述系統(tǒng)還包括第二解密單元,用于所述第二傳輸方采用所述第二密鑰對(duì)中的所述另一密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及,第二解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。如果所述傳輸系統(tǒng)是雙向傳輸,則還包括第三編碼單元,用于所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);第三加密單元,用于所述第二方采用所述第二密鑰中的所述另ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);第三傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸;第三解密單元,用于所述第一傳輸方采用所述第二密鑰對(duì)中的所述ー密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;第三解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。在另一具體實(shí)施方式
中,所述密鑰通信単元包括第六密鑰通信単元,用于使所述第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的ー密鑰信息以及第ニ密鑰對(duì)中的一密鑰信息;第七密鑰通信単元,用于使所述第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的另ー密鑰信息以及第二密鑰對(duì)中的另ー密鑰信息。相應(yīng)的,編碼單兀810具體為第四編碼單兀,用于所述第一傳輸方米用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;加密單元820具體為第四加密單元,用于所述第一傳輸方采用所述第一密鑰對(duì)中的ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;傳輸單元830具體為第四傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;可選的,所述系統(tǒng)還包括第四解密單元,用于所述第二傳輸方采用所述第一密鑰對(duì)中的所述另ー密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及,第四解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。如果在本具體實(shí)施方式
中,如果該系統(tǒng)是雙向傳輸,則還包括第五編碼單元,用于所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);第五加密單元,用于所述第二方采用所述第二密鑰對(duì)中的所述另ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);第五傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第ー傳輸方進(jìn)行傳輸;第五解密單元,用于所述第一傳輸方采用所述第二密鑰對(duì)中的所述ー密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;第五解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。為了節(jié)約流量,提高消息,所述系統(tǒng)還包括壓縮單元,用于在對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理之前或之后對(duì)所述TLV數(shù)據(jù)進(jìn)行壓縮。由于TLV編碼方式為每種類(lèi)型添加額外的Tag和Length字段,由此產(chǎn)生的數(shù)據(jù)要比原始數(shù)據(jù)大,所以,如果在傳輸TLV數(shù)據(jù)之前對(duì)其進(jìn)行壓縮,比如使用Huffman (哈夫曼編碼)或者Gzip (GNUzip的縮寫(xiě),一種文件壓縮程序)方式進(jìn)行壓縮,進(jìn)而可以節(jié)約帶寬,提升傳輸速度。更了更進(jìn)ー步的減少傳輸數(shù)據(jù)量,編碼單元810,可以具體用于采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,在所述編碼過(guò)程中不對(duì)Length長(zhǎng)度字段進(jìn)行編碼,生成TLV數(shù)據(jù),所述TLV數(shù)據(jù)中不包括Length長(zhǎng)度字段。此外,還可以縮減tag的長(zhǎng)度,例如,縮減為8bits (比特)。 具體而言,傳統(tǒng)的TLV,Tag(用于標(biāo)識(shí)數(shù)據(jù)的類(lèi)型)、Length的長(zhǎng)度是固定的(主要是為了編程方便),實(shí)際上如果tag的類(lèi)型有限,并且有ー些tag對(duì)應(yīng)的數(shù)據(jù)長(zhǎng)度如果是固定的話,那么tag和length可以進(jìn)ー步縮減,以節(jié)約流量。采取上述這種縮減tag長(zhǎng)度或者不對(duì)length編碼的新型TLV編碼方式,對(duì)接收方進(jìn)行解碼也是沒(méi)有問(wèn)題的。因?yàn)槊糠N類(lèi)型的數(shù)據(jù)長(zhǎng)度基本是固定的,因此接收方從tag中讀出數(shù)據(jù)類(lèi)型,便能夠知道該類(lèi)型的數(shù)據(jù)長(zhǎng)度是多少進(jìn)而解碼時(shí)就知道要解碼到多長(zhǎng)??梢?jiàn),采取上述這種新型的TLV編碼方式,更能夠節(jié)約傳輸?shù)牧髁?,提高了傳輸效率。通過(guò)以上的實(shí)施例以及具體實(shí)施方式
的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。以上對(duì)本發(fā)明所提供的一種基于TLV的數(shù)據(jù)傳輸方法及系統(tǒng)實(shí)施例,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種基于TLV的數(shù)據(jù)傳輸方法,其特征在于,包括 采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù); 對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù); 將所述加密后的TLV數(shù)據(jù)進(jìn)行傳輸。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,還包括 獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰包括 第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一公鑰;第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一私鑰;所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰包括 所述第一傳輸方和第二傳輸方分別獲知第一密鑰對(duì)中的第一公鑰,第三方獲知第一密鑰對(duì)中的第一私鑰; 所述第一傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使得所述第一傳輸方獲知后續(xù)用于所述第一傳輸方與第二傳輸方之間傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰; 所述第二傳輸方和所述第三傳輸方采用所述第一密鑰對(duì)進(jìn)行信息交互,使得所述第二傳輸方獲知后續(xù)用于所述第二傳輸方與所述第一傳輸方之間傳輸TLV數(shù)據(jù)的所述數(shù)據(jù)傳輸密鑰。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼包括所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述采用數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理包括所述第一傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述將加密后的TLV數(shù)據(jù)進(jìn)行傳輸包括將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸; 所述方法還包括 所述第二傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰包括 所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,觸發(fā)生成包括第二公鑰和第二私鑰的第二密鑰對(duì); 所述第一傳輸方獲知所述第二密鑰對(duì)中的一密鑰信息,所述第二傳輸方獲知所述第二密鑰對(duì)中的另一密鑰信息。
7.根據(jù)權(quán)利要求6所述的方,其特征在于,所述采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼包括所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述對(duì)TLV數(shù)據(jù)進(jìn)行加密處理包括所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述將加密后的TLV數(shù)據(jù)進(jìn)行傳輸包括將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸;所述方法還包括 所述第二傳輸方采用所述第二密鑰對(duì)中的所述另一密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括 所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù); 所述第二傳輸方采用所述第二密鑰對(duì)中的所述另一密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù); 將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸; 所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。
9.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰包括 第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的一密鑰信息,以及第二密鑰對(duì)中的一密鑰信息; 第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的另一密鑰信息,以及第二密鑰對(duì)中的另一密鑰信息。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼包括所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述對(duì)TLV數(shù)據(jù)進(jìn)行加密處理包括所述第一傳輸方采用所述第一密鑰對(duì)中的所述一密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述將加密后的TLV數(shù)據(jù)進(jìn)行傳輸包括將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸; 所述方法還包括 所述第二傳輸方采用所述第一密鑰對(duì)中的所述另一密鑰信息對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,還包括 所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);所述第二方采用所述第二密鑰對(duì)中的所述另一密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸; 所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。
12.根據(jù)權(quán)利要求I所述的方法,其特征在于,在對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理之前或之后還包括 對(duì)所述TLV數(shù)據(jù)進(jìn)行壓縮。
13.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù)包括 采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,在所述編碼過(guò)程中不對(duì)Length長(zhǎng)度字段進(jìn)行編碼,生成TLV數(shù)據(jù),所述TLV數(shù)據(jù)中不包括Length長(zhǎng)度字段。
14.一種基于TLV的數(shù)據(jù)傳輸系統(tǒng),其特征在于,包括編碼單元,用于采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù); 加密單元,用于對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù); 傳輸單元,用于將所述加密后的TLV數(shù)據(jù)進(jìn)行傳輸。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,還包括 密鑰通信單元,用于獲知與傳輸所述TLV數(shù)據(jù)相關(guān)的密鑰。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述密鑰通信單元具體包括 第一密鑰通信單元,用于使所述第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一公鑰,所述第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的第一私鑰; 第二密鑰通信單元,用于所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,交互后續(xù)用于傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰。
17.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述密鑰通信單元具體包括 第三密鑰通信單元,用于使所述第一傳輸方和第二傳輸方分別獲知第一密鑰對(duì)中的第一公鑰,第三方獲知所述第一密鑰對(duì)中的第一私鑰; 第四密鑰通信單元,用于所述第一傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使所述第一傳輸方獲知后續(xù)用于所述第一傳輸方與第二傳輸方之間傳輸TLV數(shù)據(jù)的數(shù)據(jù)傳輸密鑰; 第五密鑰通信單元,用于所述第二傳輸方和所述第三方采用所述第一密鑰對(duì)進(jìn)行信息交互,使所述第二傳輸方獲知后續(xù)用于所述第二傳輸方與所述第一傳輸方之間傳輸TLV數(shù)據(jù)的所述數(shù)據(jù)傳輸密鑰。
18.根據(jù)權(quán)利要求16或17所述的系統(tǒng),其特征在于,所述編碼單元具體為第一編碼單元,用于所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述加密單元具體為第一加密單元,用于所述第一傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述傳輸單元具體為第一傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸; 所述系統(tǒng)還包括 第一解密單元,用于所述第二傳輸方采用所述數(shù)據(jù)傳輸密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及,第一解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。
19.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述第二密鑰通信單元包括 新密鑰觸發(fā)子單元,用于所述第一傳輸方和所述第二傳輸方之間采用所述第一密鑰對(duì)進(jìn)行信息交互,觸發(fā)生成包括第二公鑰和第二私鑰的第二密鑰對(duì); 新密鑰通信子單元,用于使所述第一傳輸方獲知所述第二密鑰對(duì)中的一密鑰信息,所述第二傳輸方獲知所述第二密鑰對(duì)中的另一密鑰信息。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,所述編碼單元具體為第二編碼單元,用于所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述加密單元具體為第二加密單元,用于所述第一傳輸方采用所述第二密鑰對(duì)中的所述一密鑰信息對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述傳輸單元具體為第二傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸; 所述系統(tǒng)還包括第二解密單元,用于所述第二傳輸方采用所述第二密鑰對(duì)中的所述另ー密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及, 第二解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,還包括 第三編碼單元,用于所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù); 第三加密單元,用于所述第二傳輸方采用所述第二密鑰中的所述另ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù); 第三傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸; 第三解密單元,用于所述第一傳輸方采用所述第二密鑰對(duì)中的所述ー密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密; 第三解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。
22.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述密鑰通信単元包括 第六密鑰通信単元,用于使所述第一傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的一密鑰信息以及第ニ密鑰對(duì)中的一密鑰信息; 第七密鑰通信単元,用于使所述第二傳輸方獲知預(yù)先生成的第一密鑰對(duì)中的另ー密鑰信息以及第ニ密鑰對(duì)中的另ー密鑰信息。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于,所述編碼単元具體為第四編碼單元,用于所述第一傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡谝辉紨?shù)據(jù)進(jìn)行編碼;所述加密単元具體為第四加密單元,用于所述第一傳輸方采用所述第一密鑰對(duì)中的所述ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理;所述傳輸単元具體為第四傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第二傳輸方進(jìn)行傳輸; 所述系統(tǒng)還包括 第四解密單元,用于所述第二傳輸方采用所述第一密鑰對(duì)中的所述另ー密鑰對(duì)來(lái)自所述第一傳輸方的TLV數(shù)據(jù)進(jìn)行解密;以及,第四解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡谝辉紨?shù)據(jù)。
24.根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于,還包括 第五編碼單元,用于所述第二傳輸方采用TLV編碼方式對(duì)待傳輸?shù)牡诙紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù); 第五加密單元,用于所述第二方采用所述第二密鑰對(duì)中的所述另ー密鑰對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù); 第五傳輸單元,用于將所述加密后的TLV數(shù)據(jù)向所述第一傳輸方進(jìn)行傳輸; 第五解密單元,用于所述第一傳輸方采用所述第二密鑰對(duì)中的所述ー密鑰對(duì)來(lái)自所述第二傳輸方的TLV數(shù)據(jù)進(jìn)行解密; 第五解碼單元,用于對(duì)所述解密后的TLV數(shù)據(jù)進(jìn)行解碼,獲得傳輸?shù)牡诙紨?shù)據(jù)。
25.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,還包括 壓縮單元,用于在對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理之前或之后對(duì)所述TLV數(shù)據(jù)進(jìn)行壓縮。
26.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在干 所述編碼単元,具體用于采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,在所述編碼過(guò)程中不對(duì)Len gth長(zhǎng)度字段進(jìn)行編碼,生成TLV數(shù)據(jù),所述TLV數(shù)據(jù)中不包括Length長(zhǎng)度字段。
全文摘要
本發(fā)明公開(kāi)了一種基于TLV的數(shù)據(jù)傳輸方法,包括采用TLV編碼方式對(duì)待傳輸?shù)脑紨?shù)據(jù)進(jìn)行編碼,生成TLV數(shù)據(jù);對(duì)所述TLV數(shù)據(jù)進(jìn)行加密處理,生成加密后的TLV數(shù)據(jù);將所述加密后的TLV數(shù)據(jù)進(jìn)行傳輸。本發(fā)明還公開(kāi)了一種基于TLV的數(shù)據(jù)傳輸系統(tǒng)。采用本發(fā)明提供的技術(shù)方案,能夠提高TLV數(shù)據(jù)的傳輸安全性。
文檔編號(hào)H04L9/08GK102624741SQ20121009153
公開(kāi)日2012年8月1日 申請(qǐng)日期2012年3月30日 優(yōu)先權(quán)日2012年3月30日
發(fā)明者周沅江 申請(qǐng)人:奇智軟件(北京)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1