報文發(fā)送以及接收方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無線通信技術(shù)領(lǐng)域,特別是涉及一種報文發(fā)送以及接收方法。
【背景技術(shù)】
[0002]隨著通信技術(shù)和計算機技術(shù)的不斷發(fā)展,當(dāng)前無線通信設(shè)備廣泛應(yīng)用于各個領(lǐng)域。由于無線設(shè)備的使用場景廣泛,無線設(shè)備會安裝在各個地方。當(dāng)需要與設(shè)備進(jìn)行數(shù)據(jù)傳輸時,有可能只能通過無線方式向設(shè)備發(fā)送相關(guān)數(shù)據(jù)報文來實現(xiàn)。對于一些安裝位置不便于維護(hù)的設(shè)備,通常也會為該設(shè)備增加無線通信功能,以對設(shè)備進(jìn)行無線升級等操作。在某些無線通信系統(tǒng)中,無線網(wǎng)絡(luò)需要工作在某些固定頻率,在向這些設(shè)備進(jìn)行數(shù)據(jù)傳輸時采用的無線頻段也是固定的,因此很容易被監(jiān)聽到并導(dǎo)致傳輸?shù)臄?shù)據(jù)信息泄露,從而使得無線通信過程中數(shù)據(jù)的安全性較低。
【發(fā)明內(nèi)容】
[0003]基于此,有必要針對上述問題,提供一種數(shù)據(jù)安全性較高的報文發(fā)送方法。
[0004]還提供一種報文接收方法。
[0005]一種報文發(fā)送方法,包括以下步驟:隨機生成第一密鑰序列;利用所述第一密鑰序列對待傳輸?shù)脑紨?shù)據(jù)進(jìn)行加密形成新數(shù)據(jù);將所述第一密鑰序列附加在所述新數(shù)據(jù)上形成有效數(shù)據(jù);根據(jù)所述有效數(shù)據(jù)形成加密報文發(fā)送給接收端。
[0006]在其中一個實施例中,所述利用所述第一密鑰序列對待傳輸?shù)脑紨?shù)據(jù)進(jìn)行加密形成新數(shù)據(jù)的步驟具體包括:計算所述第一密鑰序列的算術(shù)和;利用所述算術(shù)和對所述原始數(shù)據(jù)進(jìn)行加密形成新數(shù)據(jù)。
[0007]在其中一個實施例中,所述利用所述算術(shù)和對所述原始數(shù)據(jù)進(jìn)行加密形成新數(shù)據(jù)的步驟中,是將所述算術(shù)和與所述原始數(shù)據(jù)進(jìn)行邏輯運算來進(jìn)行加密形成新數(shù)據(jù)的。
[0008]在其中一個實施例中,所述將所述第一密鑰序列附加在所述新數(shù)據(jù)上形成有效數(shù)據(jù)的步驟之后、所述根據(jù)所述有效數(shù)據(jù)形成加密報文發(fā)送給接收端的步驟之前,還包括步驟:生成第二密鑰序列;獲取有效數(shù)據(jù)并將第二密鑰序列附加在所述有效數(shù)據(jù)后形成校驗數(shù)據(jù);根據(jù)所述校驗數(shù)據(jù)計算獲得校驗碼;將所述校驗碼附加在所述有效數(shù)據(jù)上;所述加密報文包括附加了校驗碼的有效數(shù)據(jù)。
[0009]在其中一個實施例中,還包括步驟:將所述第一密鑰序列的字節(jié)長度以及所述第一密鑰序列在所述有效數(shù)據(jù)上的位置信息發(fā)送給接收端。
[0010]一種報文接收方法,包括以下步驟:接收發(fā)送端發(fā)送來的加密報文;從所述加密報文中傳輸?shù)挠行?shù)據(jù)中獲取第一密鑰序列;將所述有效數(shù)據(jù)上的所述第一密鑰序列去除形成新數(shù)據(jù);利用所述第一密鑰序列對所述新數(shù)據(jù)進(jìn)行解密獲得原始數(shù)據(jù)。
[0011]在其中一個實施例中,所述利用所述第一密鑰序列對所述新數(shù)據(jù)進(jìn)行解密獲得原始數(shù)據(jù)的步驟具體包括:計算所述第一密鑰序列的算術(shù)和;利用所述算術(shù)和對所述新數(shù)據(jù)進(jìn)行解密獲得原始數(shù)據(jù)。
[0012]在其中一個實施例中,所述利用所述算術(shù)和對所述新數(shù)據(jù)進(jìn)行解密獲得原始數(shù)據(jù)的步驟中,是將所述算術(shù)和與所述新數(shù)據(jù)進(jìn)行邏輯運算來進(jìn)行解密獲得原始數(shù)據(jù)的。
[0013]在其中一個實施例中,所述接收發(fā)送端發(fā)送來的加密報文的步驟之后、從所述加密報文中傳輸?shù)挠行?shù)據(jù)中獲取第一密鑰序列的步驟之前,還包括步驟:獲取第二密鑰序列以及原始校驗碼;將所述原始校驗碼從所述有效數(shù)據(jù)中去除;將所述第二密鑰序列附加在去除了校驗碼的有效數(shù)據(jù)后形成校驗數(shù)據(jù);根據(jù)所述校驗數(shù)據(jù)計算獲得校驗碼;判斷計算得到的校驗碼是否等于所述原始校驗碼;若是則執(zhí)行所述從所述加密報文中傳輸?shù)挠行?shù)據(jù)中獲取第一密鑰序列的步驟;若否,則丟棄所述加密報文。
[0014]在其中一個實施例中,所述從所述加密報文中傳輸?shù)挠行?shù)據(jù)中獲取第一密鑰序列的步驟具體為:獲取所述第一密鑰序列的長度以及所述第一密鑰序列在所述有效數(shù)據(jù)中的位置信息;根據(jù)所述長度以及所述位置信息從所述有效數(shù)據(jù)中獲取第一密鑰序列。
[0015]上述報文發(fā)送方法,會隨機生成第一密鑰序列并利用該第一密鑰序列對原始數(shù)據(jù)進(jìn)行加密后形成新數(shù)據(jù),還將該第一密鑰序列附加在新數(shù)據(jù)上形成有效數(shù)據(jù)后形成報文發(fā)送給接收端。由于第一密鑰序列每次都是隨機產(chǎn)生,具有不固定、無規(guī)律的特點,從而使得破解難度較高,提高了數(shù)據(jù)傳輸過程的安全性。
[0016]上述報文接收方法,根據(jù)加密報文中的第一密鑰序列對加密報文中傳輸?shù)挠行?shù)據(jù)進(jìn)行解密從而獲得原始數(shù)據(jù)。由于第一密鑰序列每次都是隨機產(chǎn)生,具有不固定、無規(guī)律的特點,從而使得破解難度較高,提高了數(shù)據(jù)傳輸過程的安全性。
【附圖說明】
[0017]圖1為傳統(tǒng)的進(jìn)行無線通信報文組成的示意圖;
[0018]圖2為傳統(tǒng)的常用無線升級報文格式的示意圖;
[0019]圖3為一實施例中的報文發(fā)送方法的流程圖;
[0020]圖4為另一實施例中的報文發(fā)送方法的流程圖;
[0021]圖5為圖4所示實施例中的報文發(fā)送方法中形成的加密報文組成的示意圖;
[0022]圖6為一實施例中的報文接收方法的流程圖;
[0023]圖7為另一實施例中的報文接收方法的流程圖。
【具體實施方式】
[0024]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0025]在無線設(shè)備之間進(jìn)行無線通信的報文一般可分為通用數(shù)據(jù)、關(guān)鍵數(shù)據(jù)以及校驗碼三個部分,如圖1所示。圖2則為傳統(tǒng)的常用無線升級報文格式的示意圖。其中,通用數(shù)據(jù)是指如幀頭、幀尾、幀長以及幀類型等數(shù)據(jù)傳輸協(xié)議制定的幀字節(jié)。關(guān)鍵數(shù)據(jù)即為該報文傳輸?shù)闹饕獢?shù)據(jù)內(nèi)容,即原始數(shù)據(jù)內(nèi)容。校驗碼一般用于驗證傳輸報文的正確性。傳統(tǒng)的無線設(shè)備之間的無線通信的數(shù)據(jù)安全性較低。本發(fā)明公開了一種報文發(fā)送方法以及一種報文接收方法,能夠有效提高無線設(shè)備之間數(shù)據(jù)傳輸?shù)陌踩裕貏e是能夠有效提高設(shè)備無線升級過程的數(shù)據(jù)安全性。
[0026]圖3為一實施例中的報文發(fā)送方法的流程圖,包括以下步驟。
[0027]S310,隨機生成第一密鑰序列。
[0028]第一密鑰序列為隨機生成,其并不需要根據(jù)一定的規(guī)則來產(chǎn)生。并且,第一密鑰序列每次都是隨機產(chǎn)生的,其具有不固定、無規(guī)律的特點,因此提高了破解難度,從而有利于提高數(shù)據(jù)傳輸過程的安全性。生成的第一密鑰序列的字節(jié)長度可以根據(jù)需要進(jìn)行設(shè)定。在本實施例中,第一密鑰序列的長度可以在進(jìn)行數(shù)據(jù)傳輸之前發(fā)送給接收端,也可以在數(shù)據(jù)傳輸過程中將第一密鑰序列的長度附在報文中一并發(fā)送給接收端。
[0029]S320,利用第一密鑰序列對待傳輸?shù)脑紨?shù)據(jù)進(jìn)行加密形成新數(shù)據(jù)。
[0030]利用第一密鑰序列對等待傳輸?shù)膱笪闹械脑紨?shù)據(jù)進(jìn)行加密并形成新數(shù)據(jù)。在本實施例中,第一密鑰序列是對關(guān)鍵數(shù)據(jù)部分的原始數(shù)據(jù)進(jìn)行相應(yīng)的加密操作。具體地,先計算隨機生成的第一密鑰序列的算術(shù)和,再根據(jù)該算術(shù)和對原始數(shù)據(jù)進(jìn)行邏輯運算從而實現(xiàn)對原始數(shù)據(jù)的加密并形成新數(shù)據(jù)。其中,邏輯運算可以為加法、減法或者異或算法等。在本實施例中,邏輯運算采用加法運算,處理速度較快。
[0031 ] S330,將第一密鑰序列附加在新數(shù)據(jù)上形成有效數(shù)據(jù)。
[0032]將第一密鑰序列附加在經(jīng)過加密的新數(shù)據(jù)上形成有效數(shù)據(jù),一并進(jìn)行發(fā)送。在本實施例中,第一密鑰序列直接附加在新數(shù)據(jù)后面,因此解密過程中只需要獲知第一密鑰序列的長度即可。在其他的實施例中,為提高數(shù)據(jù)傳輸?shù)陌踩裕€可以將第一密鑰序列嵌在新數(shù)據(jù)的前面或者中間位置。因此,此時需要將第一密鑰序列在有效數(shù)據(jù)中的位置信息附在報文中一并發(fā)送給接收端。
[0033]下面結(jié)合一具體實施例來對有效數(shù)據(jù)的形成進(jìn)行說明。例如,報文中關(guān)鍵數(shù)據(jù)部分的原始數(shù)據(jù)為0x01 0x02 0x03 0x04 0x05,隨機產(chǎn)生的第一密鑰序列為0x01 0x01。在本例中,第一密鑰序列為2字節(jié),計算第一密鑰序列的算術(shù)和S,S = 0x02。因此,根據(jù)計算得到的算術(shù)和S對原始數(shù)據(jù)進(jìn)行邏輯加運算從而實現(xiàn)對原始數(shù)據(jù)的加密并形成新數(shù)據(jù)。加密后形成的新數(shù)據(jù)為0x03 0x04 0x05 0x060x07?有效數(shù)據(jù)是將第一密鑰序列附加在新數(shù)據(jù)后獲得的,因此,無線通信中報文的關(guān)鍵數(shù)據(jù)部分實際傳輸?shù)挠行?shù)據(jù)為0x03 0x04 0x050x06 0x07 0x01 OxOl0
[0034]S340,根據(jù)有效數(shù)據(jù)形成加密報文發(fā)送給接收端。
[0035]根據(jù)經(jīng)過第一密鑰序列進(jìn)行明碼加密操作后的有效數(shù)據(jù)形成加密報文并發(fā)送給接收端。經(jīng)過第一密鑰序列進(jìn)行明碼加密后的有效數(shù)據(jù)具有較高的安全性,不易被破解,從而保證了數(shù)據(jù)的加密性。
[0036]上述報文發(fā)送方法,會隨機生成第一密鑰序列并利用該第一密鑰序列對原始數(shù)據(jù)進(jìn)行明碼加密后形成新數(shù)據(jù),還將該第一密鑰序列附加在新數(shù)據(jù)上形成有效數(shù)據(jù)后形成報文發(fā)送給接收端。由于第一密鑰序列每次都是隨機產(chǎn)生,具有不固定、無規(guī)律的特點,從而使得破解難度較高,提高了數(shù)據(jù)傳輸過程的安全性。尤其是設(shè)備的無線升級過程中,無線升級報文中的關(guān)鍵數(shù)據(jù)部分經(jīng)過第一密鑰序列的加密處理,不容易被破譯,不會導(dǎo)致機密信息的泄露。
[0037]圖4為另一實施例中的報文發(fā)送方法,在本實施例中,在步驟S330和步驟S340之間還包括步驟S410?S440。
[0038]S410,生成第二密鑰序列。
[0039]第二密鑰序列可以通過一定的規(guī)則生成,也可以由發(fā)送端和接收端約定使用默認(rèn)的密鑰序列。因此,第二密鑰序列無需附加在加密報文中。在本實施例中,第二密鑰序列采用默認(rèn)的密鑰序列。
[0040]S420,形成校驗數(shù)據(jù)。
[0041]從加密報文中獲取有效數(shù)據(jù),并將生成的第二密鑰序列附加在有效數(shù)據(jù)后形成檢驗數(shù)據(jù)。
[0042]S430,根據(jù)校驗數(shù)據(jù)計算獲得校驗碼。
[0043]傳統(tǒng)的無線通信過程,校驗碼的獲得是根據(jù)待傳輸?shù)脑紨?shù)據(jù)來計算獲得的。而本實施例中,通過在獲取到的有效數(shù)據(jù)之后附加第二密鑰序列形成校驗數(shù)據(jù),再根據(jù)得到的校驗數(shù)據(jù)來計算獲得校驗碼。通過第二密鑰序列實現(xiàn)對校驗碼的暗碼加密,從而能夠在保證數(shù)據(jù)傳輸?shù)陌踩砸约凹用苄缘耐瑫r有效防止惡意報文對設(shè)備的攻擊。在本實施例中,計算獲得校驗碼的方法為CRC(CyclicRedundancy Check,循環(huán)冗余校驗)校驗方法。
[0044]S430,將驗證碼附加在有效數(shù)據(jù)上。
[0045]將計算得到的校驗碼附加在有效數(shù)據(jù)上,從而完成對報文的加密。在本實施例中,計算獲得的檢驗碼附加在有效數(shù)據(jù)之后形成加密報文,發(fā)送給接收端。圖5為報文發(fā)送方