本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)接收裝置。
背景技術(shù):
隨著工業(yè)化與信息化進(jìn)程的不斷交叉融合,越來(lái)越多的信息技術(shù)應(yīng)用到了工業(yè)領(lǐng)域。但與此帶來(lái)的工業(yè)控制系統(tǒng)安全問(wèn)題也越來(lái)越多,一系列工業(yè)控制系統(tǒng)安全事件陸續(xù)曝光,并且呈增長(zhǎng)趨勢(shì)。因此,提升工業(yè)控制系統(tǒng)的安全性已成為重中之重。
對(duì)工業(yè)通訊協(xié)議數(shù)據(jù)進(jìn)行加密是一種直觀有效的提升工業(yè)控制系統(tǒng)方案。在現(xiàn)有技術(shù)中,通過(guò)在工業(yè)控制系統(tǒng)中增加數(shù)據(jù)加密設(shè)備或密鑰管理服務(wù)器硬件,實(shí)現(xiàn)對(duì)工業(yè)通訊數(shù)據(jù)的加密,提升工業(yè)控制系統(tǒng)的安全性。但是,增加額外的數(shù)據(jù)加密設(shè)備或密鑰管理服務(wù)器硬件,帶來(lái)了工業(yè)控制系統(tǒng)成本的增加,同時(shí)提高了工業(yè)控制系統(tǒng)出現(xiàn)故障的概率。
技術(shù)實(shí)現(xiàn)要素:
基于上述現(xiàn)有技術(shù)中的缺陷和不足,本發(fā)明提供一種數(shù)據(jù)傳輸方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)接收裝置,在發(fā)送數(shù)據(jù)時(shí),不需要額外增加數(shù)據(jù)加密設(shè)備,即可實(shí)現(xiàn)在嵌入式設(shè)備內(nèi)部基于安全層的數(shù)據(jù)加密處理。
本發(fā)明的第一方面提供了一種數(shù)據(jù)傳輸方法,包括以下步驟:數(shù)據(jù)發(fā)送裝置接收應(yīng)用程序發(fā)送的原始數(shù)據(jù),并生成動(dòng)態(tài)密鑰;然后將所述原始數(shù)據(jù)封裝成數(shù)據(jù)報(bào)文,并為所述數(shù)據(jù)報(bào)文增加由特定數(shù)據(jù)構(gòu)成的安全層首部;其中,所述特定數(shù)據(jù)用于所述原始數(shù)據(jù)通過(guò)網(wǎng)絡(luò)安全層。數(shù)據(jù)發(fā)送裝置對(duì)所述數(shù)據(jù)報(bào)文的安全層首部中的數(shù)據(jù)和原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,得到校驗(yàn)數(shù)據(jù),并將所述校驗(yàn)數(shù)據(jù)增加到所述數(shù)據(jù)報(bào)文中;使用所述動(dòng)態(tài)密鑰,對(duì)所述數(shù)據(jù)報(bào)文的原始數(shù)據(jù)及校驗(yàn)數(shù)據(jù)進(jìn)行加密處理,最后將加密處理后的所述數(shù)據(jù)報(bào)文,發(fā)送給數(shù)據(jù)接收裝置。采用上述數(shù)據(jù)傳輸方法,在數(shù)據(jù)發(fā)送裝置內(nèi)部,即實(shí)現(xiàn)了對(duì)所發(fā)送數(shù)據(jù)的加密,不需要額外增加數(shù)據(jù)加密設(shè)備,節(jié)省成本且系統(tǒng)故障率低。
本發(fā)明的第二方面提供了一種數(shù)據(jù)發(fā)送裝置,包括:數(shù)據(jù)接收單元,用于接收應(yīng)用程序發(fā)送的原始數(shù)據(jù);密鑰生成單元,用于生成動(dòng)態(tài)密鑰;數(shù)據(jù)封裝單元,用于將所述原始數(shù)據(jù)封裝成數(shù)據(jù)報(bào)文,并為所述數(shù)據(jù)報(bào)文增加由特定數(shù)據(jù)構(gòu)成的安全層首部;其中,所述特定數(shù)據(jù)用于所述原始數(shù)據(jù)通過(guò)網(wǎng)絡(luò)安全層;校驗(yàn)單元,用于對(duì)所述數(shù)據(jù)報(bào)文的安全層首部中的數(shù)據(jù)和原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,得到校驗(yàn)數(shù)據(jù),并將所述校驗(yàn)數(shù)據(jù)增加到所述數(shù)據(jù)報(bào)文中;加密單元,用于使用所述動(dòng)態(tài)密鑰,對(duì)所述數(shù)據(jù)報(bào)文的原始數(shù)據(jù)及校驗(yàn)數(shù)據(jù)進(jìn)行加密處理;數(shù)據(jù)發(fā)送單元,用于將加密處理后的所述數(shù)據(jù)報(bào)文,發(fā)送給數(shù)據(jù)接收裝置。本發(fā)明提出的數(shù)據(jù)發(fā)送裝置,在從應(yīng)用程序接收數(shù)據(jù)并進(jìn)行發(fā)送時(shí),實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密處理,省去了增加額外的數(shù)據(jù)加密裝置對(duì)數(shù)據(jù)進(jìn)行加密,節(jié)省了系統(tǒng)建設(shè)成本。
在一個(gè)實(shí)現(xiàn)方式中,所述生成動(dòng)態(tài)秘鑰,包括:與數(shù)據(jù)接收裝置協(xié)商初始密鑰;生成隨機(jī)數(shù);利用所述初始密鑰和所述隨機(jī)數(shù),計(jì)算得到動(dòng)態(tài)密鑰。數(shù)據(jù)發(fā)送裝置在生成密鑰時(shí),與數(shù)據(jù)接收裝置協(xié)商確定初始密鑰,數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置使用相匹配的初始密鑰,能夠分別實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密及解密。
在一個(gè)實(shí)現(xiàn)方式中,在對(duì)所述數(shù)據(jù)報(bào)文的安全層首部中的數(shù)據(jù)和原始數(shù)據(jù)進(jìn)行檢驗(yàn)計(jì)算,得到校驗(yàn)數(shù)據(jù),并將所述校驗(yàn)數(shù)據(jù)增加到所述數(shù)據(jù)報(bào)文中之后,該方法還包括:將需要明文發(fā)送的,標(biāo)識(shí)所述數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù),以及所述隨機(jī)數(shù)存儲(chǔ)到所述數(shù)據(jù)報(bào)文的安全層首部中。本發(fā)明將標(biāo)識(shí)數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù)存儲(chǔ)到安全層首部中進(jìn)行明文發(fā)送,使數(shù)據(jù)接收裝置在接收到數(shù)據(jù)報(bào)文時(shí),能夠通過(guò)安全層首部中的關(guān)鍵數(shù)據(jù)判斷接收到的數(shù)據(jù)報(bào)文是新的數(shù)據(jù)報(bào)文,還是重復(fù)的數(shù)據(jù)報(bào)文,從而進(jìn)一步?jīng)Q定是否進(jìn)行數(shù)據(jù)解析,避免了數(shù)據(jù)接收裝置解析重復(fù)的數(shù)據(jù)報(bào)文。
本發(fā)明的第三方面提供了另一種數(shù)據(jù)傳輸方法,包括以下步驟:數(shù)據(jù)接收裝置接收數(shù)據(jù)發(fā)送裝置發(fā)送的數(shù)據(jù)報(bào)文,識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中的隨機(jī)數(shù);然后根據(jù)所述隨機(jī)數(shù),以及與所述數(shù)據(jù)發(fā)送裝置協(xié)商得到的初始密鑰,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,得到所述數(shù)據(jù)報(bào)文中的原始數(shù)據(jù)和校驗(yàn)數(shù)據(jù)。數(shù)據(jù)接收裝置對(duì)所述數(shù)據(jù)報(bào)文的安全層首部中的數(shù)據(jù)及原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,并將計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)進(jìn)行對(duì)比,當(dāng)所述計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)相同時(shí),將所述原始數(shù)據(jù)發(fā)送至應(yīng)用程序。在上述數(shù)據(jù)傳輸方法中,數(shù)據(jù)接收裝置直接對(duì)接收到的數(shù)據(jù)進(jìn)行解密及校驗(yàn)處理,不需要增加額外的數(shù)據(jù)加解密設(shè)備,節(jié)省了數(shù)據(jù)傳輸系統(tǒng)的建設(shè)成本,降低了系統(tǒng)故障概率。
本發(fā)明的第四方面提供了一種數(shù)據(jù)接收裝置,包括:接收單元,用于接收數(shù)據(jù)發(fā)送裝置發(fā)送的數(shù)據(jù)報(bào)文;隨機(jī)數(shù)識(shí)別單元,用于識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中的隨機(jī)數(shù);解密單元,用于根據(jù)所述隨機(jī)數(shù),以及與所述數(shù)據(jù)發(fā)送裝置協(xié)商得到的初始密鑰,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,得到所述數(shù)據(jù)報(bào)文中的原始數(shù)據(jù)和校驗(yàn)數(shù)據(jù);校驗(yàn)計(jì)算單元,用于對(duì)所述數(shù)據(jù)報(bào)文的安全層首部中的數(shù)據(jù)及原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,并將計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)進(jìn)行對(duì)比;發(fā)送單元,用于當(dāng)所述計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)相同時(shí),將所述原始數(shù)據(jù)發(fā)送至應(yīng)用程序。上述數(shù)據(jù)接收裝置,在接收到數(shù)據(jù)報(bào)文后,自動(dòng)完成對(duì)數(shù)據(jù)報(bào)文的識(shí)別、解密及校驗(yàn),不需要增加額外的數(shù)據(jù)加解密設(shè)備,即可實(shí)現(xiàn)應(yīng)用程序所需數(shù)據(jù)的還原,節(jié)省了數(shù)據(jù)傳輸系統(tǒng)建設(shè)成本。
在一個(gè)實(shí)現(xiàn)方式中,在接收數(shù)據(jù)發(fā)送裝置發(fā)送的數(shù)據(jù)報(bào)文之后,在識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中的隨機(jī)數(shù)之前,該方法還包括:識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中,用于標(biāo)識(shí)所述數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù);根據(jù)所述關(guān)鍵數(shù)據(jù),判斷是否解析所述數(shù)據(jù)報(bào)文;當(dāng)判斷解析所述數(shù)據(jù)報(bào)文時(shí),識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中的隨機(jī)數(shù)。數(shù)據(jù)接收裝置在對(duì)接收到的數(shù)據(jù)報(bào)文進(jìn)行解密之前,首先通過(guò)識(shí)別數(shù)據(jù)報(bào)文安全層首部中的關(guān)鍵數(shù)據(jù),判斷接收到的數(shù)據(jù)報(bào)文是新的數(shù)據(jù)報(bào)文,還是重復(fù)的數(shù)據(jù)報(bào)文。如果是重復(fù)的數(shù)據(jù)報(bào)文,則數(shù)據(jù)接收裝置不再對(duì)數(shù)據(jù)報(bào)文進(jìn)行解密,而是直接丟棄,節(jié)省了數(shù)據(jù)接收裝置處理數(shù)據(jù)的時(shí)間。
在一個(gè)實(shí)現(xiàn)方式中,所述根據(jù)所述隨機(jī)數(shù),以及與數(shù)據(jù)發(fā)送裝置協(xié)商得到的初始密鑰,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,得到所述數(shù)據(jù)報(bào)文中的原始數(shù)據(jù)和檢驗(yàn)數(shù)據(jù),包括:根據(jù)所述隨機(jī)數(shù),以及與所述數(shù)據(jù)發(fā)送裝置協(xié)商得到的初始密鑰,計(jì)算得到動(dòng)態(tài)密鑰;利用所述動(dòng)態(tài)密鑰,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,得到所述數(shù)據(jù)報(bào)文中的原始數(shù)據(jù)和校驗(yàn)數(shù)據(jù)。數(shù)據(jù)發(fā)送裝置不直接將密碼發(fā)送給數(shù)據(jù)接收裝置,而是將用于計(jì)算得到動(dòng)態(tài)密鑰的隨機(jī)數(shù)發(fā)送給數(shù)據(jù)接收裝置,數(shù)據(jù)接收裝置根據(jù)隨機(jī)數(shù),以及與數(shù)據(jù)發(fā)送裝置協(xié)商得到的初始密鑰,采用與數(shù)據(jù)發(fā)送裝置相同的計(jì)算方法,自行計(jì)算得到動(dòng)態(tài)密鑰,提高了數(shù)據(jù)加密的安全性。
在一個(gè)實(shí)現(xiàn)方式中,在對(duì)所述數(shù)據(jù)報(bào)文的安全層首部及原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,并將計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)進(jìn)行對(duì)比,并且確認(rèn)所述計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)相同之后,在將所述原始數(shù)據(jù)發(fā)送至應(yīng)用程序之前,該方法還包括:從所述數(shù)據(jù)報(bào)文中,提取得到原始數(shù)據(jù)。原始數(shù)據(jù)是應(yīng)用程序可以利用的數(shù)據(jù),數(shù)據(jù)接收裝置在解析數(shù)據(jù)報(bào)文后,刪除各層首部及校驗(yàn)數(shù)據(jù),從數(shù)據(jù)報(bào)文中提取得到原始數(shù)據(jù),然后將原始數(shù)據(jù)發(fā)送給應(yīng)用程序。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1是本發(fā)明提供的帶安全層的TCP/IP5層模型結(jié)構(gòu)示意圖;
圖2是本發(fā)明提供的一種數(shù)據(jù)傳輸方法的過(guò)程示意圖;
圖3是本發(fā)明提供的數(shù)據(jù)報(bào)文結(jié)構(gòu)示意圖;
圖4是本發(fā)明提出的數(shù)據(jù)加密及校驗(yàn)范圍示意圖;
圖5是本發(fā)明提供的現(xiàn)有技術(shù)中的數(shù)據(jù)解密及校驗(yàn)范圍示意圖;
圖6是本發(fā)明提供的一種數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)示意圖;
圖7是本發(fā)明提供的另一種數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)示意圖;
圖8是本發(fā)明提供的一種數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖;
圖9是本發(fā)明提供的另一種數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖;
圖10是本發(fā)明提供的另一種數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖;
圖11是本發(fā)明提供的另一種數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
隨著工業(yè)化與信息化進(jìn)程的不斷交叉融合,越來(lái)越多的信息技術(shù)應(yīng)用到了工業(yè)領(lǐng)域,使得工業(yè)發(fā)展走向智能化、自動(dòng)化。但是由此帶來(lái)的工業(yè)控制系統(tǒng)安全問(wèn)題也越來(lái)越多,一系列工業(yè)控制系統(tǒng)安全問(wèn)題陸續(xù)曝光,并呈增長(zhǎng)趨勢(shì)。因此,在工業(yè)技術(shù)飛速發(fā)展的同時(shí),提高工業(yè)控制系統(tǒng)的安全性已成為重中之重。提升工業(yè)控制系統(tǒng)的安全性是一項(xiàng)全方面的工作,需要從不同層面、不同角度來(lái)進(jìn)行。其中,對(duì)于工業(yè)控制系統(tǒng)使用的工業(yè)通訊協(xié)議數(shù)據(jù)進(jìn)行加密保護(hù),是一種最直觀、最有效的方案。
在傳統(tǒng)數(shù)據(jù)加密方法中,通常需要使用額外設(shè)備對(duì)原始數(shù)據(jù)進(jìn)行加解密,或者需要使用額外的密鑰管理服務(wù)器硬件配合,才能對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密及解密,以保證數(shù)據(jù)安全傳輸。但是增加額外設(shè)備或密鑰管理服務(wù)器,會(huì)導(dǎo)致成本增加,并且提高數(shù)據(jù)傳輸系統(tǒng)發(fā)生故障的概率。
本發(fā)明實(shí)施例提出一種數(shù)據(jù)傳輸方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)接收裝置,能夠在不增加額外設(shè)備的前提下,對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加解密,保證數(shù)據(jù)安全傳輸。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為保證應(yīng)用數(shù)據(jù)可以安全可靠地傳輸,如圖1所示,在標(biāo)準(zhǔn)TCP/IP四層模型結(jié)構(gòu)的基礎(chǔ)上,在傳輸層與應(yīng)用層之間增加一個(gè)安全層。數(shù)據(jù)經(jīng)過(guò)安全層時(shí),對(duì)數(shù)據(jù)進(jìn)行加解密及校驗(yàn),以保證數(shù)據(jù)安全傳輸。
具體的,參見(jiàn)圖2所示,本發(fā)明實(shí)施例提出的數(shù)據(jù)傳輸方法包括以下步驟:
S201、數(shù)據(jù)發(fā)送裝置接收應(yīng)用程序發(fā)送的數(shù)據(jù),作為應(yīng)用層原始數(shù)據(jù);
應(yīng)用程序?qū)儆跇?biāo)準(zhǔn)TCP/IP四層模型結(jié)構(gòu)中的應(yīng)用層,應(yīng)用程序產(chǎn)生的數(shù)據(jù)是需要在網(wǎng)絡(luò)中進(jìn)行傳輸?shù)臄?shù)據(jù),在本發(fā)明實(shí)施例中,稱之為應(yīng)用層原始數(shù)據(jù)。
S202、數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置協(xié)商初始密鑰。
數(shù)據(jù)發(fā)送方與數(shù)據(jù)接收方在每一次會(huì)話時(shí),都要首先協(xié)商一次收發(fā)雙方共同的初始密鑰。本發(fā)明技術(shù)方案不對(duì)收發(fā)雙方協(xié)商密鑰的算法進(jìn)行限制,收發(fā)雙方可以根據(jù)運(yùn)算能力進(jìn)行選擇支持。為了加強(qiáng)數(shù)據(jù)安全性,本發(fā)明實(shí)施例使用非對(duì)稱方式協(xié)商,即收發(fā)雙方使用非對(duì)稱加密算法計(jì)算初始密鑰。
非對(duì)稱加密算法是一種密鑰的保密方法。非對(duì)稱加密算法需要兩個(gè)密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對(duì),如果用公開密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開密鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法。
非對(duì)稱加密算法實(shí)現(xiàn)機(jī)密信息交換的基本過(guò)程是:甲方生成一對(duì)密鑰并將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對(duì)機(jī)密信息進(jìn)行加密后再發(fā)送給甲方;甲方收到該機(jī)密信息后,用自己保存的另一把專用密鑰對(duì)加密后的信息進(jìn)行解密。另一方面,甲方可以使用乙方的公鑰對(duì)機(jī)密信息進(jìn)行簽名后發(fā)送給乙方;乙方收到該機(jī)密信息后,用自己的私鑰對(duì)數(shù)據(jù)進(jìn)行驗(yàn)簽。
非對(duì)稱密碼體制的特點(diǎn)是:算法復(fù)雜,其安全性依賴于算法與密鑰,但是由于其算法復(fù)雜,使得加密解密速度沒(méi)有對(duì)稱加密解密的速度快。對(duì)稱密碼體制中只有一種密鑰,并且是非公開的,如果要解密就得讓對(duì)方知道密鑰,所以保證信息的安全性就是保證密鑰的安全性。而非對(duì)稱密鑰體制有兩種密鑰,其中一個(gè)是公開的,它消除了收發(fā)雙方交換密鑰的需要,更加提高了數(shù)據(jù)及密碼的安全性。
具體的,在本發(fā)明實(shí)施例中,收發(fā)雙方選擇RSA加密算法或SM2橢圓曲線公鑰密碼算法協(xié)商初始密鑰。
S203、數(shù)據(jù)發(fā)送裝置生成隨機(jī)數(shù);
數(shù)據(jù)發(fā)送方在每次發(fā)送數(shù)據(jù)時(shí),都生成一個(gè)隨機(jī)數(shù),該隨機(jī)數(shù)用于與步驟S202中協(xié)商得到的初始密鑰一起計(jì)算得到動(dòng)態(tài)密鑰。同時(shí),該隨機(jī)數(shù)作為數(shù)據(jù)報(bào)文安全層首部的一部分以明文傳輸。數(shù)據(jù)接收方在接收到數(shù)據(jù)報(bào)文時(shí),能夠根據(jù)安全層首部中的隨機(jī)數(shù),結(jié)合初始密鑰,計(jì)算得到動(dòng)態(tài)密鑰,對(duì)數(shù)據(jù)報(bào)文進(jìn)行解密。
S204、數(shù)據(jù)發(fā)送裝置由初始密鑰和隨機(jī)數(shù)計(jì)算得到動(dòng)態(tài)密鑰;
在數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方內(nèi)部存儲(chǔ)有按照預(yù)設(shè)規(guī)則設(shè)計(jì)的相同的數(shù)學(xué)算式,該數(shù)學(xué)算式用于以初始密鑰和隨機(jī)數(shù)為輸入,計(jì)算得到動(dòng)態(tài)密鑰。同樣的,數(shù)據(jù)接收方也能夠根據(jù)事先協(xié)商好的初始密鑰,以及從數(shù)據(jù)報(bào)文安全層首部識(shí)別到的隨機(jī)數(shù),利用所述數(shù)學(xué)算式,計(jì)算得到動(dòng)態(tài)密鑰。
S205、數(shù)據(jù)發(fā)送裝置在應(yīng)用層原始數(shù)據(jù)前增加安全層首部、數(shù)據(jù)鏈路層首部、網(wǎng)絡(luò)層首部及傳輸層首部;
應(yīng)用層原始數(shù)據(jù)在通過(guò)標(biāo)準(zhǔn)TCP/IP四層協(xié)議時(shí),需要在應(yīng)用層原始數(shù)據(jù)前面增加一些與各層對(duì)應(yīng)的標(biāo)準(zhǔn)格式的數(shù)據(jù),才能在網(wǎng)絡(luò)中傳輸。這些與各層對(duì)應(yīng)的標(biāo)準(zhǔn)格式的數(shù)據(jù),稱為首部。如圖3所示,與數(shù)據(jù)鏈路層對(duì)應(yīng)的數(shù)據(jù),稱為數(shù)據(jù)鏈路層首部;與網(wǎng)絡(luò)層對(duì)應(yīng)的數(shù)據(jù),稱為網(wǎng)絡(luò)層首部;與傳輸層對(duì)應(yīng)的數(shù)據(jù),稱為傳輸層首部。同樣的,由于本發(fā)明實(shí)施例的技術(shù)方案在標(biāo)準(zhǔn)TCP/IP四層模型結(jié)構(gòu)中增加了安全層,因此,數(shù)據(jù)報(bào)文要通過(guò)安全層,需要增加與安全層對(duì)應(yīng)的標(biāo)準(zhǔn)格式的數(shù)據(jù),稱為安全層首部。
S206、數(shù)據(jù)發(fā)送裝置對(duì)安全層首部中的數(shù)據(jù)和應(yīng)用層原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,并將校驗(yàn)數(shù)據(jù)增加到應(yīng)用層原始數(shù)據(jù)之后;
校驗(yàn)計(jì)算是指將一段明文,通過(guò)一種不可逆的方式,計(jì)算得出一段短密文。這段短密文可作為明文的一種標(biāo)識(shí),通過(guò)檢驗(yàn)標(biāo)識(shí)的正確性,可以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。
校驗(yàn)是一種數(shù)據(jù)傳輸檢錯(cuò)方法,數(shù)據(jù)發(fā)送方對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,并將計(jì)算得到的校驗(yàn)結(jié)果附在數(shù)據(jù)后面。接收方也執(zhí)行相同的校驗(yàn)計(jì)算,接收方對(duì)比自身計(jì)算得到的校驗(yàn)結(jié)果與附在數(shù)據(jù)之后的校驗(yàn)結(jié)果是否相同,來(lái)判斷接收到的數(shù)據(jù)是否正確及是否完整:如果自身計(jì)算得到的校驗(yàn)結(jié)果與附在數(shù)據(jù)之后的校驗(yàn)結(jié)果相同,則說(shuō)明接收方接收到的數(shù)據(jù)是正確的且完整的;如果自身計(jì)算得到的校驗(yàn)結(jié)果與附在數(shù)據(jù)之后的校驗(yàn)結(jié)果不相同,則說(shuō)明接收方接收到的數(shù)據(jù)是不正確的或不完整的。
本發(fā)明實(shí)施例不對(duì)數(shù)據(jù)發(fā)送裝置進(jìn)行校驗(yàn)計(jì)算的算法進(jìn)行限制,數(shù)據(jù)發(fā)送裝置可根據(jù)運(yùn)算能力進(jìn)行選擇支持。例如,數(shù)據(jù)發(fā)送裝置可以選擇SM3密碼雜湊算法、消息摘要算法第5版、安全哈希算法(Secure Hash Algorithm,SHA1)、循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check,CRC)等算法進(jìn)行校驗(yàn)計(jì)算。但是要保證數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置的校驗(yàn)計(jì)算算法相同,以使數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置針對(duì)相同的數(shù)據(jù),校驗(yàn)計(jì)算得到相同的校驗(yàn)數(shù)據(jù)。
S207、數(shù)據(jù)發(fā)送裝置將需要明文發(fā)送的,標(biāo)識(shí)所述數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù),以及所述隨機(jī)數(shù)存儲(chǔ)到安全層首部中;
工業(yè)通訊協(xié)議通常使用冗余的方式來(lái)增加數(shù)據(jù)傳輸?shù)目煽啃?,防止攻擊者惡意重?fù)攻擊數(shù)據(jù),這就意味著數(shù)據(jù)接收方可能會(huì)收到兩包以上的相同數(shù)據(jù),這時(shí)數(shù)據(jù)接收方根據(jù)預(yù)設(shè)規(guī)則進(jìn)行重復(fù)數(shù)據(jù)的丟棄,即數(shù)據(jù)接收方在接收到相同標(biāo)識(shí)的數(shù)據(jù)包時(shí),要丟棄重復(fù)的數(shù)據(jù)包。
基于上述工業(yè)通訊原理,在數(shù)據(jù)報(bào)文中,需要有特定的標(biāo)識(shí)用于標(biāo)記數(shù)據(jù)包。在現(xiàn)有的數(shù)據(jù)加密方法中,將所述標(biāo)識(shí)加密到應(yīng)用層原始數(shù)據(jù)中,數(shù)據(jù)接收裝置在接收到數(shù)據(jù)包時(shí),需要對(duì)數(shù)據(jù)包進(jìn)行解密后,才能識(shí)別到數(shù)據(jù)包的標(biāo)識(shí)信息,耗費(fèi)較長(zhǎng)的處理時(shí)間,降低了數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。因此,對(duì)于區(qū)分不同數(shù)據(jù)包的標(biāo)識(shí)信息,設(shè)定為關(guān)鍵數(shù)據(jù),并且要明文發(fā)送。在本發(fā)明實(shí)施例中,將需要明文發(fā)送的關(guān)鍵數(shù)據(jù)存儲(chǔ)到安全層首部中,數(shù)據(jù)發(fā)送裝置對(duì)安全層首部進(jìn)行校驗(yàn)計(jì)算但是不加密。使數(shù)據(jù)接收裝置在接收到數(shù)據(jù)包時(shí),能夠直接獲取到數(shù)據(jù)包標(biāo)識(shí)信息,確認(rèn)接收到的數(shù)據(jù)包是不是重復(fù)的數(shù)據(jù)包,進(jìn)一步?jīng)Q定是否進(jìn)行解密處理,保證了數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。
相應(yīng)的,在數(shù)據(jù)收發(fā)裝置中,需要設(shè)置關(guān)鍵數(shù)據(jù)處理單元,用于對(duì)關(guān)鍵數(shù)據(jù),尤其是標(biāo)識(shí)數(shù)據(jù)報(bào)文的標(biāo)識(shí)信息進(jìn)行存儲(chǔ)及識(shí)別。在所述關(guān)鍵數(shù)據(jù)處理單元內(nèi),還需要有數(shù)據(jù)丟棄模塊,用于分析接收到的數(shù)據(jù)包是否應(yīng)該丟棄。
需要說(shuō)明的是,在步驟S203中生成的隨機(jī)數(shù),也要增加到安全層首部中。數(shù)據(jù)接收方在接收到數(shù)據(jù)報(bào)文時(shí),從數(shù)據(jù)報(bào)文的安全層首部識(shí)別得到隨機(jī)數(shù),根據(jù)隨機(jī)數(shù)進(jìn)一步計(jì)算得到動(dòng)態(tài)密鑰。
S208、數(shù)據(jù)發(fā)送裝置使用動(dòng)態(tài)密鑰對(duì)應(yīng)用層原始數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行整體加密;
如圖4所示,本發(fā)明實(shí)施例對(duì)應(yīng)用層原始數(shù)據(jù)和檢驗(yàn)數(shù)據(jù)進(jìn)行整體加密,在保護(hù)應(yīng)用層原始數(shù)據(jù)的同時(shí),對(duì)校驗(yàn)數(shù)據(jù)也一同進(jìn)行了加密,防止校驗(yàn)數(shù)據(jù)被篡改,從而影響數(shù)據(jù)接收裝置對(duì)應(yīng)用層原始數(shù)據(jù)的正常接收。
在現(xiàn)有技術(shù)中,也有在TCP/IP四層結(jié)構(gòu)中增加安全層,進(jìn)一步在安全層對(duì)數(shù)據(jù)進(jìn)行加密的方案。但是,現(xiàn)有技術(shù)中的方案只對(duì)應(yīng)用層數(shù)據(jù)進(jìn)行了加密,如圖5所示。由于應(yīng)用層原始數(shù)據(jù)之后的校驗(yàn)數(shù)據(jù)是通過(guò)應(yīng)用層原始數(shù)據(jù)校驗(yàn)計(jì)算得到的,校驗(yàn)數(shù)據(jù)作為數(shù)據(jù)接收方檢驗(yàn)是否接收到正確的數(shù)據(jù)的依據(jù),如果被篡改,會(huì)影響數(shù)據(jù)接收方正確接收數(shù)據(jù)。因此,本發(fā)明實(shí)施例的技術(shù)方案在對(duì)應(yīng)用層原始數(shù)據(jù)加密的同時(shí),對(duì)校驗(yàn)數(shù)據(jù)也進(jìn)行了加密,更進(jìn)一步提高了應(yīng)用層原始數(shù)據(jù)傳輸?shù)陌踩浴?/p>
S209、數(shù)據(jù)發(fā)送裝置將數(shù)據(jù)報(bào)文通過(guò)TCP/IP協(xié)議棧發(fā)送;
數(shù)據(jù)發(fā)送裝置將經(jīng)過(guò)上述校驗(yàn)、加密等操作后的數(shù)據(jù)報(bào)文,通過(guò)TCP/IP協(xié)議棧發(fā)送給數(shù)據(jù)接收裝置。
S210、數(shù)據(jù)接收裝置通過(guò)TCP/IP協(xié)議棧接收數(shù)據(jù)報(bào)文;
S211、數(shù)據(jù)接收裝置識(shí)別數(shù)據(jù)報(bào)文安全層首部中的,用于標(biāo)識(shí)該數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù),并根據(jù)所述關(guān)鍵數(shù)據(jù)決定是否解析該數(shù)據(jù)報(bào)文;當(dāng)根據(jù)所述關(guān)鍵數(shù)據(jù)確認(rèn)該數(shù)據(jù)報(bào)文是重復(fù)的數(shù)據(jù)報(bào)文時(shí),將該數(shù)據(jù)報(bào)文丟棄;當(dāng)確認(rèn)該數(shù)據(jù)報(bào)文是新的數(shù)據(jù)報(bào)文時(shí),對(duì)該數(shù)據(jù)報(bào)文進(jìn)行進(jìn)一步解析;
數(shù)據(jù)接收裝置從接收到的數(shù)據(jù)報(bào)文的安全層首部中,識(shí)別到用于標(biāo)識(shí)該數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù)。通過(guò)對(duì)比所述關(guān)鍵數(shù)據(jù)與已經(jīng)接收到的數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù),數(shù)據(jù)接收裝置能夠確認(rèn)接收到的數(shù)據(jù)報(bào)文是新的數(shù)據(jù)報(bào)文,還是重復(fù)的數(shù)據(jù)報(bào)文。本發(fā)明實(shí)施例不對(duì)數(shù)據(jù)接收裝置分析接收到的數(shù)據(jù)報(bào)文是信道數(shù)據(jù)報(bào)文,還是重復(fù)的數(shù)據(jù)報(bào)文的算法進(jìn)行限定。任何能夠使數(shù)據(jù)接收裝置分析出接收到的數(shù)據(jù)報(bào)文是新的數(shù)據(jù)報(bào)文,還是重復(fù)的數(shù)據(jù)報(bào)文的方法,都可以被本發(fā)明實(shí)施例采用。如果是重復(fù)的數(shù)據(jù)報(bào)文,則數(shù)據(jù)接收裝置將該數(shù)據(jù)報(bào)文丟棄,不做處理;如果是新的數(shù)據(jù)報(bào)文,則進(jìn)入下一步流程,進(jìn)行進(jìn)一步解析。
下面以通訊序列號(hào)比較作為丟棄重復(fù)數(shù)據(jù)包的預(yù)設(shè)規(guī)則,對(duì)數(shù)據(jù)接收方判斷是否丟棄數(shù)據(jù)包的過(guò)程進(jìn)行說(shuō)明:
數(shù)據(jù)發(fā)送裝置將通訊序列號(hào)作為安全層首部的一部分以明文傳輸;
數(shù)據(jù)發(fā)送裝置每發(fā)送一包加密數(shù)據(jù),通訊序列號(hào)加1。同樣的,數(shù)據(jù)發(fā)送裝置在發(fā)送冗余數(shù)據(jù)時(shí),也是每發(fā)送一包數(shù)據(jù),通訊序列號(hào)加1。
數(shù)據(jù)接收裝置每接收到一包加密數(shù)據(jù),比較接收到的數(shù)據(jù)包的通訊序列號(hào)與上一次接收到的數(shù)據(jù)包的通訊序列號(hào)。如果接收到的數(shù)據(jù)包的通訊序列號(hào)大于上一次接收到的數(shù)據(jù)包的通訊序列號(hào),則接收本包數(shù)據(jù);如果接收到的數(shù)據(jù)包的通訊序列號(hào)不大于上一次接收到的數(shù)據(jù)包的通訊序列號(hào),則丟棄本包數(shù)據(jù)。
S212、數(shù)據(jù)接收裝置從數(shù)據(jù)報(bào)文的安全層首部中識(shí)別得到隨機(jī)數(shù),并根據(jù)所述隨機(jī)數(shù)計(jì)算得到動(dòng)態(tài)密鑰;
在數(shù)據(jù)發(fā)送裝置發(fā)送數(shù)據(jù)時(shí),利用隨機(jī)數(shù)和初始密鑰計(jì)算得到動(dòng)態(tài)密鑰。初始密鑰是數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置事先已經(jīng)協(xié)商好的,并且在數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置中,存儲(chǔ)有相同的利用隨機(jī)數(shù)和初始密鑰計(jì)算得到動(dòng)態(tài)密鑰的計(jì)算方法。因此,數(shù)據(jù)接收裝置在接收到數(shù)據(jù)報(bào)文時(shí),從數(shù)據(jù)報(bào)文的安全層首部識(shí)別到隨機(jī)數(shù)后,結(jié)合自身已知的初始密鑰,能夠計(jì)算得到動(dòng)態(tài)密鑰。
S213、數(shù)據(jù)接收裝置利用所述動(dòng)態(tài)密鑰對(duì)數(shù)據(jù)報(bào)文進(jìn)行解密,得到應(yīng)用層原始數(shù)據(jù)和校驗(yàn)數(shù)據(jù);
在步驟S212中,數(shù)據(jù)接收裝置計(jì)算得到動(dòng)態(tài)密鑰后,利用所述動(dòng)態(tài)密鑰對(duì)數(shù)據(jù)報(bào)文進(jìn)行解密計(jì)算,得到被加密的應(yīng)用層原始數(shù)據(jù)和校驗(yàn)數(shù)據(jù)。
S214、數(shù)據(jù)接收裝置對(duì)安全層首部中的數(shù)據(jù)和應(yīng)用層原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,將計(jì)算結(jié)果與解密得到的校驗(yàn)數(shù)據(jù)進(jìn)行對(duì)比,如果計(jì)算結(jié)果與校驗(yàn)數(shù)據(jù)相同,則對(duì)數(shù)據(jù)報(bào)文進(jìn)行下一步處理;如果計(jì)算結(jié)果與校驗(yàn)數(shù)據(jù)不同,則將該數(shù)據(jù)報(bào)文丟棄;
與數(shù)據(jù)發(fā)送裝置相同,數(shù)據(jù)接收裝置也對(duì)安全層首部和應(yīng)用層原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,并將校驗(yàn)計(jì)算結(jié)果與數(shù)據(jù)發(fā)送裝置校驗(yàn)計(jì)算得到的校驗(yàn)數(shù)據(jù)進(jìn)行對(duì)比。由于數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置進(jìn)行校驗(yàn)計(jì)算的算法相同,因此,數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置針對(duì)相同的數(shù)據(jù),得到的校驗(yàn)結(jié)果應(yīng)該是相同的。
基于上述原理,數(shù)據(jù)接收裝置可以通過(guò)對(duì)比自身計(jì)算得到的校驗(yàn)結(jié)果與數(shù)據(jù)發(fā)送端發(fā)送的校驗(yàn)數(shù)據(jù),來(lái)判斷接收到的數(shù)據(jù)與數(shù)據(jù)發(fā)送裝置發(fā)送的數(shù)據(jù)是否相同。具體的,如果數(shù)據(jù)接收裝置校驗(yàn)計(jì)算得到的結(jié)果,與解密得到的校驗(yàn)數(shù)據(jù),即數(shù)據(jù)發(fā)送裝置計(jì)算得到的校驗(yàn)數(shù)據(jù)相同,則說(shuō)明數(shù)據(jù)發(fā)送裝置接收到的數(shù)據(jù)與數(shù)據(jù)發(fā)送裝置發(fā)送的數(shù)據(jù)相同,對(duì)數(shù)據(jù)報(bào)文進(jìn)行下一步處理;如果數(shù)據(jù)接收裝置校驗(yàn)計(jì)算得到的結(jié)果與解密得到的校驗(yàn)數(shù)據(jù)不同,則說(shuō)明數(shù)據(jù)接收裝置校驗(yàn)計(jì)算的數(shù)據(jù)與數(shù)據(jù)發(fā)送裝置校驗(yàn)計(jì)算的數(shù)據(jù)不同,即數(shù)據(jù)接收裝置接收到的數(shù)據(jù)與數(shù)據(jù)發(fā)送裝置發(fā)送的數(shù)據(jù)不同,本次數(shù)據(jù)傳輸失敗,將接收到的數(shù)據(jù)報(bào)文丟棄。
S215、數(shù)據(jù)接收裝置將數(shù)據(jù)報(bào)文中的安全層首部、數(shù)據(jù)鏈路層首部、網(wǎng)絡(luò)層首部、傳輸層首部及校驗(yàn)數(shù)據(jù)刪除,得到應(yīng)用層原始數(shù)據(jù);
數(shù)據(jù)報(bào)文中的應(yīng)用層原始數(shù)據(jù),是數(shù)據(jù)接收方的應(yīng)用程序需要的數(shù)據(jù)。數(shù)據(jù)接收裝置在接收到數(shù)據(jù)報(bào)文時(shí),要從數(shù)據(jù)報(bào)文中提取得到應(yīng)用層原始數(shù)據(jù),去掉應(yīng)用程序不需要的數(shù)據(jù)信息。具體的,數(shù)據(jù)接收裝置將數(shù)據(jù)發(fā)送裝置為了便于數(shù)據(jù)在網(wǎng)絡(luò)中傳輸,而在應(yīng)用層原始數(shù)據(jù)前后增加的安全層首部、數(shù)據(jù)鏈路層首部、網(wǎng)絡(luò)層首部、傳輸層首部及校驗(yàn)數(shù)據(jù)進(jìn)行刪除,得到應(yīng)用層原始數(shù)據(jù)。
S216、數(shù)據(jù)接收裝置將應(yīng)用層原始數(shù)據(jù)發(fā)送給應(yīng)用程序。
數(shù)據(jù)接收裝置將數(shù)據(jù)報(bào)文中的安全層首部、數(shù)據(jù)鏈路層首部、網(wǎng)絡(luò)層首部、傳輸層首部及校驗(yàn)數(shù)據(jù)刪除之后得到的應(yīng)用層原始數(shù)據(jù),是數(shù)據(jù)發(fā)送端應(yīng)用程序想要發(fā)送給數(shù)據(jù)接收端應(yīng)用程序的數(shù)據(jù),數(shù)據(jù)接收裝置將應(yīng)用層原始數(shù)據(jù)發(fā)送給本端應(yīng)用程序,完成數(shù)據(jù)傳輸。
從上述過(guò)程可以看出,本發(fā)明實(shí)施例的技術(shù)方案,通過(guò)在TCP/IP四層模型結(jié)構(gòu)中增加安全層,實(shí)現(xiàn)基于安全層的數(shù)據(jù)加密保護(hù)。在數(shù)據(jù)發(fā)送時(shí),對(duì)數(shù)據(jù)報(bào)文進(jìn)行校驗(yàn),將校驗(yàn)結(jié)果隨應(yīng)用層原始數(shù)據(jù)發(fā)送,并對(duì)應(yīng)用層原始數(shù)據(jù)及校驗(yàn)結(jié)果進(jìn)行加密,防止校驗(yàn)數(shù)據(jù)被篡改。對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)并加密,實(shí)現(xiàn)了對(duì)傳輸數(shù)據(jù)的雙重保護(hù),使數(shù)據(jù)傳輸更安全。
本發(fā)明實(shí)施例技術(shù)方案不需要額外增加數(shù)據(jù)加密設(shè)備或者額外的密鑰管理服務(wù)器對(duì)原始數(shù)據(jù)進(jìn)行加解密,因此不會(huì)導(dǎo)致成本增加,也不會(huì)提高數(shù)據(jù)傳輸系統(tǒng)發(fā)生故障的概率。
另一方面,本發(fā)明實(shí)施例將用于標(biāo)識(shí)數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù)進(jìn)行明文發(fā)送,數(shù)據(jù)接收裝置在接收到數(shù)據(jù)報(bào)文時(shí),能夠根據(jù)關(guān)鍵數(shù)據(jù)判斷接收到的數(shù)據(jù)報(bào)文是新的數(shù)據(jù)報(bào)文還是重復(fù)的數(shù)據(jù)報(bào)文,從而決定是將數(shù)據(jù)報(bào)文丟棄,還是進(jìn)行下一步處理。在滿足工業(yè)通信協(xié)議使用冗余方式來(lái)增加通信可靠性的同時(shí),保證了數(shù)據(jù)報(bào)文傳輸?shù)膶?shí)時(shí)性。
圖6是本發(fā)明提供的數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)示意圖,所述數(shù)據(jù)接收裝置包括:數(shù)據(jù)接收單元601,用于接收應(yīng)用程序發(fā)送的原始數(shù)據(jù);密鑰生成單元602,用于生成動(dòng)態(tài)密鑰;數(shù)據(jù)封裝單元603,用于將所述原始數(shù)據(jù)封裝成數(shù)據(jù)報(bào)文,并為所述數(shù)據(jù)報(bào)文增加由特定數(shù)據(jù)構(gòu)成的安全層首部;其中,所述特定數(shù)據(jù)用于所述原始數(shù)據(jù)通過(guò)網(wǎng)絡(luò)安全層;校驗(yàn)單元604,用于對(duì)所述數(shù)據(jù)報(bào)文的安全層首部中的數(shù)據(jù)和原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,得到校驗(yàn)數(shù)據(jù),并將所述校驗(yàn)數(shù)據(jù)增加到所述數(shù)據(jù)報(bào)文中;加密單元605,用于使用所述動(dòng)態(tài)密鑰,對(duì)所述數(shù)據(jù)報(bào)文的原始數(shù)據(jù)及校驗(yàn)數(shù)據(jù)進(jìn)行加密處理;數(shù)據(jù)發(fā)送單元606,用于將加密處理后的所述數(shù)據(jù)報(bào)文,發(fā)送給數(shù)據(jù)接收裝置。
圖7是本發(fā)明提供的另一種數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)示意圖,所述數(shù)據(jù)發(fā)送裝置的密鑰生成單元602,包括:信息交互單元6021,用于與數(shù)據(jù)接收裝置協(xié)商初始密鑰;隨機(jī)數(shù)生成單元6022,用于生成隨機(jī)數(shù);計(jì)算單元6023,用于利用所述初始密鑰和所述隨機(jī)數(shù),計(jì)算得到動(dòng)態(tài)密鑰。
圖6及圖7中所示的數(shù)據(jù)發(fā)送裝置的各個(gè)單元的具體工作內(nèi)容,請(qǐng)參見(jiàn)對(duì)應(yīng)的方法實(shí)施例的內(nèi)容,此處不再贅述。
圖8是本發(fā)明提供的一種數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖,所述數(shù)據(jù)接收裝置,包括:接收單元801,用于接收數(shù)據(jù)發(fā)送裝置發(fā)送的數(shù)據(jù)報(bào)文;隨機(jī)數(shù)識(shí)別單元802,用于識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中的隨機(jī)數(shù);解密單元803,用于根據(jù)所述隨機(jī)數(shù),以及與所述數(shù)據(jù)發(fā)送裝置協(xié)商得到的初始密鑰,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,得到所述數(shù)據(jù)報(bào)文中的原始數(shù)據(jù)和校驗(yàn)數(shù)據(jù);校驗(yàn)計(jì)算單元804,用于對(duì)所述數(shù)據(jù)報(bào)文的安全層首部中的數(shù)據(jù)及原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,并將計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)進(jìn)行對(duì)比;發(fā)送單元805,用于當(dāng)所述計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)相同時(shí),將所述原始數(shù)據(jù)發(fā)送至應(yīng)用程序。
圖9是本發(fā)明提供的另一種數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖,所述數(shù)據(jù)接收裝置還包括關(guān)鍵數(shù)據(jù)識(shí)別處理單元806,用于在接收單元801接收數(shù)據(jù)發(fā)送裝置發(fā)送的數(shù)據(jù)報(bào)文之后,在隨機(jī)數(shù)識(shí)別單元802識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中的隨機(jī)數(shù)之前,識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中,用于標(biāo)識(shí)所述數(shù)據(jù)報(bào)文的關(guān)鍵數(shù)據(jù);根據(jù)所述關(guān)鍵數(shù)據(jù),判斷是否解析所述數(shù)據(jù)報(bào)文;當(dāng)判斷解析所述數(shù)據(jù)報(bào)文時(shí),使能所述隨機(jī)數(shù)識(shí)別單元識(shí)別所述數(shù)據(jù)報(bào)文安全層首部中的隨機(jī)數(shù)。
圖10是本發(fā)明提供的另一種數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖,所述數(shù)據(jù)接收裝置的解密單元803,包括:動(dòng)態(tài)密鑰計(jì)算單元8031,用于根據(jù)所述隨機(jī)數(shù),以及與所述數(shù)據(jù)發(fā)送裝置協(xié)商得到的初始密鑰,計(jì)算得到動(dòng)態(tài)密鑰;解密處理單元8032,用于利用所述動(dòng)態(tài)密鑰,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,得到所述數(shù)據(jù)報(bào)文中的原始數(shù)據(jù)和校驗(yàn)數(shù)據(jù)。
圖11是本發(fā)明提供的另一種數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖,所述數(shù)據(jù)接收裝置還包括數(shù)據(jù)提取單元807,用于在所述校驗(yàn)計(jì)算單元804對(duì)所述數(shù)據(jù)報(bào)文的安全層首部及原始數(shù)據(jù)進(jìn)行校驗(yàn)計(jì)算,并將計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)進(jìn)行對(duì)比,并且確認(rèn)所述計(jì)算結(jié)果與所述校驗(yàn)數(shù)據(jù)相同之后,在所述發(fā)送單元805將所述原始數(shù)據(jù)發(fā)送至應(yīng)用程序之前,從所述數(shù)據(jù)報(bào)文中,提取得到原始數(shù)據(jù)。
圖8、圖9、圖10及圖11所述的數(shù)據(jù)接收裝置的各個(gè)單元的具體工作內(nèi)容,請(qǐng)參見(jiàn)對(duì)應(yīng)的方法實(shí)施例的內(nèi)容,此處不再贅述。
對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。