專利名稱:用于對(duì)電子消息安全地增加冗余的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及電子消息傳送,更具體地涉及用于檢測(cè)篡改電子消息的方法。
背景技術(shù):
冗余技術(shù)用于防止對(duì)諸如電子郵件的電子消息文件的惡意改變是已知的。用于確定消息在發(fā)送方和接收方之間的傳送中是否已經(jīng)改變的公共方法是對(duì)消息文件增加消息冗余。這種冗余可以采取循環(huán)冗余校驗(yàn)(CRC)或消息散列的形式。在這種系統(tǒng)中,在消息從發(fā)送方的通信裝置發(fā)送之前,編碼器基于消息內(nèi)容計(jì)算CRC或散列值,并且把所述值附加到消息文件的末端。然后把所述消息和散列值一起加密。加密的消息與附加的CRC或散列值然后經(jīng)由無(wú)線或固定鏈路網(wǎng)絡(luò)發(fā)送到接收方的通信裝置。
當(dāng)消息由接收方的通信裝置接收時(shí),解密所述消息。所述CRC或散列值然后可以由接收方的通信裝置在消息的結(jié)尾發(fā)現(xiàn)。接收方的通信裝置能夠從所接收的消息內(nèi)容計(jì)算CRC或散列值,然后比較所計(jì)算的值與和消息一起發(fā)送的冗余值。如果所述值匹配,則假定所述消息文件在由接收方的通信裝置接收之前未改變。如果所述值不匹配,則確定所述消息已經(jīng)故意或偶然改變。
這種電子消息文件的結(jié)構(gòu)是不變的;換句話說(shuō),通常知道諸如在消息文件結(jié)尾的那些上述附加的CRC或散列值的冗余測(cè)量。因此對(duì)于在由消息接收方接收之前截取電子消息的一方有可能定位在所截取的消息內(nèi)容結(jié)尾的冗余值。一旦定位所述冗余值,截取方可以惡意地改變消息的內(nèi)容,同時(shí)保存冗余值??蛇x地,截取方可以改變消息內(nèi)容,重新計(jì)算冗余值,以及用新的重新計(jì)算的值替換舊的散列值。在這種情況下,由于接收方因此不能在由接收方的通信裝置最后接收時(shí)根據(jù)冗余值比較而確定消息已經(jīng)篡改,冗余技術(shù)是無(wú)效地再現(xiàn)的。
因此,所希望的是提供一種用于對(duì)電子消息增加冗余校驗(yàn)以使得阻止故意篡改和便于檢測(cè)的方法。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于發(fā)送通信裝置以對(duì)要發(fā)送到接收方通信裝置的電子消息提供冗余的方法,所述方法包括步驟確定用于要發(fā)送的電子消息的冗余值,確定定位值,所述定位值定義為使得所述值對(duì)不同的電子消息而變化,以及定義為使得所述定位值可以由接收方通信裝置對(duì)于發(fā)送到它的每個(gè)電子消息而確定,設(shè)置電子消息中的冗余值在由定位值確定的一個(gè)或多個(gè)位置,以及加密包括冗余值的電子消息。在本發(fā)明的另一方面,在設(shè)置電子消息中的冗余值在由定位值確定的一個(gè)或多個(gè)位置的步驟之前,所述電子消息格式化為一系列消息塊,以及格式化所述冗余值為一個(gè)或多個(gè)冗余值塊。另一方面是確定定位值的步驟包括確定電子消息的特性的值的步驟。另一方面是加密包括冗余值的電子消息的步驟包括對(duì)電子消息分配會(huì)話密鑰的步驟。在本發(fā)明各個(gè)實(shí)施例中,確定電子消息的特性值的步驟可以包括確定在會(huì)話密鑰中的預(yù)定值的比特?cái)?shù)的步驟,或者確定電子消息的特性值的步驟還包括確定比特?cái)?shù)的奇偶性的步驟。
在本發(fā)明的另一方面,設(shè)置電子消息中的冗余值在由定位值確定的一個(gè)或多個(gè)位置的步驟包括步驟基于定位值從一系列信息塊選擇一個(gè)信息塊,以及把一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)插入相對(duì)于所選擇的信息塊所定義的位置中,選擇性地確定定位值的步驟包括確定一個(gè)或多個(gè)預(yù)定信息塊的特性值的步驟。
本發(fā)明的又一個(gè)方面提供了一種用于對(duì)接收方通信裝置發(fā)送消息的通信裝置,包括操作為定義消息的程序代碼;操作為確定用于消息的冗余值的程序代碼;操作為確定定位值的程序代碼,所述定位值定義為使得所述值對(duì)于不同的消息而變化,以及定義為使得所述定位值可以由接收方通信裝置對(duì)于發(fā)送到它的每個(gè)消息而確定;操作為把所述冗余值設(shè)置在由定位值確定的一個(gè)或多個(gè)位置的程序代碼;以及操作為加密包括冗余值的消息的程序代碼。在另一方面,定位值是所述消息所選擇的特性的值。在另一個(gè)方面,所述程序代碼還操作為使用會(huì)話密鑰加密所述消息,所述消息的所選擇特性可以是在會(huì)話密鑰中預(yù)定值的比特?cái)?shù)、或者是在會(huì)話密鑰中預(yù)定值的比特?cái)?shù)的奇偶性。
在另一方面,所述通信裝置還包括操作為形成作為一系列消息塊的消息的程序代碼,以及操作為形成作為一個(gè)或多個(gè)冗余值塊的冗余值的程序代碼,以便操作為把所述消息中的冗余值設(shè)置在由定位值確定的一個(gè)或多個(gè)位置的程序代碼是操作為識(shí)別所述一系列消息塊的其中一個(gè),然后把所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)插入在相對(duì)于所識(shí)別的一系列消息塊的其中一個(gè)所定義的位置中。在另一個(gè)方面,所述程序代碼還操作為使用會(huì)話密鑰加密所述消息,或者操作為從一系列信息塊中的規(guī)定塊的特性導(dǎo)出作為定位值的值,基于所述定位值定位所識(shí)別的消息塊,以及把所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)插入在相對(duì)于所識(shí)別信息塊定義的位置中。
本發(fā)明的又一個(gè)方面提供了一種用于解密所加密的消息的通信裝置,所述消息包括許多消息塊和根據(jù)定位值設(shè)置在許多消息塊中的一個(gè)或多個(gè)冗余值塊,所述定位值定義為以使定位值對(duì)不同的消息而變化,所述通信裝置包括操作為解密所述加密的消息的程序代碼,操作為基于定位值把一個(gè)或多個(gè)冗余值塊定位在消息中的程序代碼,操作為從所述一個(gè)或多個(gè)冗余值塊獲得接收的冗余值的程序代碼,操作為從許多消息塊確定計(jì)算的冗余值的程序代碼,以及操作為把所接收的冗余值與所計(jì)算的冗余值比較的程序代碼。
在本發(fā)明的另一方面,所述通信裝置提供了程序代碼,操作為基于包括有確定或接收定位值的代碼的定位值把一個(gè)或多個(gè)冗余值塊定位在消息中,使用所述定位值識(shí)別所述許多消息塊的其中一個(gè),以及識(shí)別與所識(shí)別的在所述消息內(nèi)許多消息塊的其中一個(gè)的位置相關(guān)的所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)的位置。
在本發(fā)明的另一方面,提供了一種用于確定所接收的加密消息的可靠性的方法,所述消息包括許多消息塊和根據(jù)定位值設(shè)置在許多消息塊中的一個(gè)或多個(gè)冗余值塊,所述定位值定義為以使定位值對(duì)不同的消息而變化,所述方法包括以下步驟解密所述加密的消息以獲得消息;基于定位值把一個(gè)或多個(gè)冗余值塊定位在消息中,從所述一個(gè)或多個(gè)冗余值塊獲得所接收的冗余值;從許多消息塊確定所計(jì)算的冗余值;比較所接收的冗余值與所計(jì)算的冗余值;以及如果所接收的冗余值與所計(jì)算的冗余校驗(yàn)值不相等,就確定所述消息不可靠。
在另一方面,方法還包括步驟使用定位值識(shí)別許多消息塊的其中一個(gè);以及識(shí)別與所識(shí)別在消息內(nèi)的許多消息塊其中一個(gè)的位置有關(guān)的所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)的位置。
在附圖中僅僅舉例示出了本發(fā)明的優(yōu)選實(shí)施例。
圖1是用于對(duì)電子消息安全地增加冗余的系統(tǒng)的方框圖。
圖2a是由圖1的系統(tǒng)在冗余的安全增加之前創(chuàng)建的消息的方框圖。
圖2b、2c和2d是由圖1的系統(tǒng)在冗余的安全增加之后創(chuàng)建的消息的方框圖。
圖2e是在提取冗余塊之后的圖2d的消息方框圖。
圖3示出了用于對(duì)電子消息安全地增加冗余的方法的流程圖。
圖4示出了用于在接收電子消息之后執(zhí)行冗余校驗(yàn)的方法的流程圖。
具體實(shí)時(shí)方式參照?qǐng)D1,提供了通信裝置10。通信裝置10提供有處理器20、存儲(chǔ)器30、電子郵件模塊40和輸入裝置50。通信裝置10可以是個(gè)人電腦、個(gè)人數(shù)字助理、無(wú)線移動(dòng)通信裝置等等。
通信裝置10具有在用來(lái)操作和控制通信裝置的現(xiàn)有技術(shù)中已知的操作系統(tǒng)和其它元件,其用于連接處理器20和存儲(chǔ)器30。存儲(chǔ)器30可以包括用于臨時(shí)存儲(chǔ)由通信裝置10的用戶編輯的消息的隨機(jī)存取存儲(chǔ)器。所述輸入裝置50可以是鍵盤、觸敏熒光屏、或用于通信裝置10的用戶的其它適當(dāng)?shù)臄?shù)據(jù)輸入裝置,用于對(duì)所述裝置10提供命令和輸入數(shù)據(jù)。所述通信裝置10經(jīng)由可以包括無(wú)線網(wǎng)關(guān)或固定鏈路的連接而連接到廣域網(wǎng)100。
所述電子郵件模塊40最好提供有在通信裝置10的操作系統(tǒng)上可執(zhí)行的應(yīng)用軟件。電子郵件模塊40經(jīng)由輸入裝置50從用戶接收指令和數(shù)據(jù)。所述數(shù)據(jù)可以包括所要發(fā)送的電子郵件消息的內(nèi)容,以及所期望接收方的電子郵件地址。指令可以包括去“發(fā)送”電子郵件到期望的接收方的命令,或者用戶用來(lái)對(duì)模塊40指示完成消息內(nèi)容的組成的另一個(gè)命令。
在優(yōu)選實(shí)施例中,如圖1所示,電子郵件模塊40包括在通信裝置上可執(zhí)行的定義格式化/編碼層42的程序代碼,以及定義加密/解密層44的程序代碼。當(dāng)用戶已經(jīng)定義了電子郵件消息和提出發(fā)送命令時(shí),在格式化/編碼層42中的程序代碼執(zhí)行為格式化和編碼所述電子郵件消息。在優(yōu)選實(shí)施例中,所述編碼導(dǎo)致所定義的電子郵件消息設(shè)置為對(duì)于電子郵件通信所通用的識(shí)別格式。
根據(jù)在圖2a中示出的優(yōu)選實(shí)施例,所述格式化和編碼的消息200包括許多塊。塊210包括報(bào)頭信息,根據(jù)現(xiàn)有技術(shù)中已知的技術(shù),其可以包括諸如接收方地址、主題行、日期和時(shí)標(biāo)、以及由電子郵件模塊40分配給所述消息的加密或會(huì)話密鑰K的數(shù)據(jù)。塊220a...h包含所述消息的內(nèi)容。所屬領(lǐng)域技術(shù)人員將理解,所述電子郵件消息的格式不需要是由塊定義或者不需要包括優(yōu)選實(shí)施例的例子中的信息設(shè)置。然而,為了許可廣泛的使用電子郵件消息,典型地使用通用格式設(shè)置。
在已經(jīng)發(fā)生格式化和編碼之后,消息200然后被傳送到在加密/解密層44中執(zhí)行的程序代碼。優(yōu)選地,已格式化和編碼的消息200存儲(chǔ)在通信裝置10的存儲(chǔ)器30中,以及所述格式化/編碼層42把已格式化和編碼的消息200的存儲(chǔ)器位置指針傳送到加密/解密層44。
根據(jù)現(xiàn)有技術(shù)中已知的技術(shù),所述加密/解密層44訪問(wèn)已格式化和編碼的消息200,以及基于消息塊220a...h的內(nèi)容計(jì)算冗余校驗(yàn)值,諸如散列或者CRC值。根據(jù)以下描述的方法,所述加密/解密層44把冗余校驗(yàn)值編碼到一個(gè)或多個(gè)塊中,以及把這些塊插入到已格式化和編碼的消息的塊中。冗余校驗(yàn)值插入消息200中之后,加密/解密層44加密所述消息200(使用會(huì)話密鑰K),消息200包括具有冗余校驗(yàn)值的塊。所加密的消息然后適用于由電子郵件模塊40發(fā)送到網(wǎng)絡(luò)100,用于由接收方通信裝置的接收。
參照?qǐng)D2b,在優(yōu)選實(shí)施例中,所述加密/解密層44對(duì)將插入冗余值塊的消息中規(guī)定的一個(gè)或多個(gè)位置執(zhí)行計(jì)算。根據(jù)優(yōu)選實(shí)施例,所述冗余值的位置不是一致地定義在所述消息內(nèi)容塊的結(jié)尾。更確切地,所述位置由可變的值規(guī)定。在關(guān)于圖2b的例子中,所述一個(gè)或多個(gè)位置是基于消息200本身的內(nèi)容規(guī)定的。例如,所述加密/解密層44檢驗(yàn)第一消息塊220a以確定其中包含的1或者0的數(shù)目。在圖2a的例子中,如果所述塊220a包含五個(gè)1,所述加密/解密層44把包含冗余值的一個(gè)塊230插入在所述消息200的第五和第六塊220e和220f之間,如圖2b所示。
優(yōu)選地,所述冗余值分成許多塊,以進(jìn)一步迷惑在消息200內(nèi)的冗余的位置。如果冗余值分離在兩個(gè)塊230a和230b之間,加密/解密層44檢驗(yàn)多個(gè)消息塊,例如第一和第二塊220a和220b。在圖2a的例子中,如果所述第二塊220b包含三個(gè)1,所述加密/解密層44把第一個(gè)冗余值塊230a插入在消息200的第五和第六塊220e和220f之間,以及把所述第二個(gè)冗余塊230b插入在第三和第四塊220c和220d之間,如圖2c所示。
在最優(yōu)選的實(shí)施例中,包含冗余值的塊的位置是由所述會(huì)話密鑰K的值確定的。所述加密/解密層44計(jì)數(shù)在會(huì)話密鑰K的值的二進(jìn)制表示中出現(xiàn)的0的數(shù)目。如果所述數(shù)目是偶數(shù),第一個(gè)冗余值塊230a然后設(shè)置在所述消息200的第一和第二塊220a和220b之間。如果所述數(shù)目是奇數(shù),第一個(gè)冗余值塊230a然后設(shè)置在所述消息200的第二和第三塊220a和220c之間。
而且,如果所述密鑰值可以由四整除,所述加密/解密層44然后把第二冗余值塊230b設(shè)置在消息200的第五和第六塊220e和220f之間;否則,所述第二冗余值塊230b設(shè)置在消息200的第六和第七塊220f和220g之間。在所述實(shí)施例中的消息200中的塊的組合配置在圖2d的例子中示出了,其中在K中0的數(shù)目是6,以及K是非4倍數(shù)的偶數(shù)。確定所述冗余值塊230a、b的位置的方法最優(yōu)選為消息200的總消息長(zhǎng)度是短的;如果所述冗余塊的位置主要是基于在會(huì)話密鑰或者消息塊220中出現(xiàn)的1或者0的較大數(shù)目而確定的,例如,所述加密/解密層44可以試圖把冗余值塊230設(shè)置在實(shí)際上不存在的兩個(gè)消息塊220之間,將導(dǎo)致錯(cuò)誤狀態(tài)。
當(dāng)由此增加冗余的加密消息是由接收方通信裝置10的電子郵件模塊40經(jīng)網(wǎng)絡(luò)100從發(fā)送方接收時(shí),所述加密的消息傳送到加密/解密層44,其首先解密所述消息200。所述加密/解密層44操作為從消息200提取冗余塊230a、b,以確定所述冗余校驗(yàn)值。
所屬技術(shù)領(lǐng)域的專業(yè)人員將明白,由接收方通信裝置對(duì)冗余塊的提取是以發(fā)送方通信裝置10插入這種塊的方式所匹配的方式而定義的。所述接收方通信裝置因此具有足夠的信息,以確定冗余值塊230a、b的位置。由此,例如,如果發(fā)送方通信裝置10配置為為了確定冗余塊230a的位置而估計(jì)在所述消息的第一個(gè)塊220a中1的數(shù)目,接收方通信裝置10然后同樣配置為估計(jì)在所接收消息的第一個(gè)塊220a中1的數(shù)目。必需的信息可以分別根據(jù)加密消息從發(fā)送方發(fā)送到接收方;然而,如果使用為確定冗余值塊230a、b的位置的信息是會(huì)話密鑰K,為定位冗余值塊230a、b所必需的一部分信息隨同加密消息一起而發(fā)送。
例如,其中接收方通信裝置10接收在圖2d中描述的消息200的加密版本,以及配置為使用會(huì)話密鑰K去確定所述冗余值塊230a,b的位置,在接收10中的加密/解密層44首先解密所述消息以得出在圖2d中示出的消息200。所述加密/解密層44其次檢查所述會(huì)話密鑰K,以及確定在會(huì)話密鑰K中包含有六個(gè)0。由于六是偶數(shù),第一個(gè)冗余值塊230a是從在所述消息200的第一和第二塊220a、220b之間提取的,如圖2e所示。所述消息200然后暫時(shí)存儲(chǔ)在接收方通信裝置10的存儲(chǔ)器30中。其次,所述加密/解密層44確定在會(huì)話密鑰中0的數(shù)目六不能被四整除,因此從第六和第七塊220f、g之間提取第二個(gè)冗余塊230b。然后組合所述冗余塊230a、b的內(nèi)容產(chǎn)生提取的冗余值RE。
在所述接收裝置10中的加密/解密層44然后基于所述消息塊220a...h的內(nèi)容計(jì)算其自己的冗余值RC,以及比較所述RC與RE。如果所述值匹配,所述接收裝置10然后確定所述消息是沒(méi)有被改變的。如果所述值不相配,則確定所述消息已經(jīng)改變,以及優(yōu)選地對(duì)接收方提供告警。
作為所屬技術(shù)領(lǐng)域的專業(yè)人員將理解,確定所述n個(gè)冗余值塊230a...h的位置的方法不局限于對(duì)所述消息200的第一個(gè)n塊的內(nèi)容或者會(huì)話密鑰K的估計(jì)。消息內(nèi)容的其它適當(dāng)和可變特性、例如消息長(zhǎng)度,可以用來(lái)建立所述冗余值塊230a...h的位置??蛇x地,不取決于所述消息內(nèi)容的另一個(gè)參數(shù)可以用來(lái)確定所述冗余塊或者多個(gè)塊230a...h的位置。假若所述消息的每個(gè)發(fā)送方和期望的接收方的通信裝置10提供有用于確定所述消息200的冗余塊230a...h的位置的相同方法,可以使用這種其它的方法,雖然最優(yōu)選地用這種方法產(chǎn)生的位置潛在地可以隨消息變化而變化。
由此,例如,填充有使用偽隨機(jī)數(shù)發(fā)生器確定的值的查找表或者數(shù)據(jù)庫(kù),可以保存在發(fā)送方和接收方的通信裝置均可訪問(wèn)的網(wǎng)絡(luò)100上的郵件服務(wù)器上。當(dāng)消息傳送到發(fā)送方通信裝置10的加密/解密層44時(shí),發(fā)送方的裝置10然后為了在確定冗余塊230a...h的位置中使用的值而查詢所述數(shù)據(jù)庫(kù)。所述值可以與所述消息一起發(fā)送到接收方的通信裝置10,或者可選地指針信息可以發(fā)送到接收方的通信裝置10。所述指針信息可以包括所述消息的時(shí)標(biāo),一旦發(fā)送消息,其就與存儲(chǔ)在數(shù)據(jù)庫(kù)中的值相關(guān)聯(lián)。當(dāng)接收方的通信裝置10接收消息200時(shí),接收方的裝置10然后可以從所述數(shù)據(jù)庫(kù)檢索偽隨機(jī)數(shù)。
參照?qǐng)D3,根據(jù)優(yōu)選實(shí)施例示出了對(duì)電子消息安全地增加消息冗余的方法。在步驟300,由用戶編輯的消息是由通信裝置10的電子郵件模塊40接收的。所述消息然后在步驟310由所述格式化/編碼層42格式化和編碼,然后在步驟320傳送到所述模塊40的加密/解密層44。
在步驟330,所述加密/解密層44計(jì)算冗余值,以及把其編碼為一個(gè)或多個(gè)塊。在步驟340,所述加密/解密層44確定用于設(shè)置包含冗余值的塊的一個(gè)或多個(gè)位置。在步驟350,所述冗余值塊插入在所述消息內(nèi),然后在步驟360加密所述消息。最后,在步驟370,所述消息分發(fā)到接收方。
在圖4中示出了解密所接收的消息和確定所述消息是否在由期望的接收方接收之前已經(jīng)改變的方法。在步驟400,消息是由通信裝置10經(jīng)網(wǎng)絡(luò)100接收的。所述消息在步驟410傳送到在裝置10內(nèi)的電子郵件模塊40的加密/解密層44。所述加密/解密層44在步驟420解密所述消息,然后在步驟430確定所述冗余值塊的位置。在步驟440,所述冗余值塊是從所述消息提取的,以及組合其以產(chǎn)生所提取的冗余值RE。然后在步驟450從所述消息的內(nèi)容確定所計(jì)算的冗余值RC,以及在步驟460比較所述值RC和RE。如果所述值相配,則在470確定所述消息沒(méi)有被改變;否則,在480確定所述消息已經(jīng)改變,以及優(yōu)選地對(duì)接收方發(fā)出告警。
因此已經(jīng)舉例詳細(xì)描寫了本發(fā)明的多個(gè)實(shí)施例,不脫離本發(fā)明的變化和改進(jìn)將對(duì)所屬領(lǐng)域技術(shù)人員是顯而易見(jiàn)的。本發(fā)明包括落在附加權(quán)利要求的范圍內(nèi)的所有這種變化和改進(jìn)。
權(quán)利要求
1.一種用于發(fā)送方通信裝置對(duì)要發(fā)送給接收方通信裝置的電子消息提供冗余的方法,所述方法包括以下步驟確定要發(fā)送的所述電子消息的冗余值,確定定位值,所述定位值定義為以使所述值對(duì)于不同的電子消息而變化,以及定義為以使所述定位值可以由所述接收方通信裝置為發(fā)送到它的每個(gè)電子消息而確定,把在所述電子消息中的所述冗余值設(shè)置在由所述定位值確定的一個(gè)或多個(gè)位置,加密包括所述冗余值的所述電子消息。
2.權(quán)利要求1的方法,在把所述電子消息中的冗余值設(shè)置在由所述定位值確定的一個(gè)或多個(gè)位置的所述步驟之前,還包括步驟格式化所述電子消息為一系列消息塊,以及格式化所述冗余值為一個(gè)或多個(gè)冗余值塊。
3.權(quán)利要求1的方法,其中所述確定定位值的步驟包括確定所述電子消息的特性值的步驟。
4.權(quán)利要求3的方法,其中所述加密包括所述冗余值的所述電子消息的步驟包括把會(huì)話密鑰分配給所述電子消息的步驟。
5.權(quán)利要求4的方法,其中所述確定所述電子消息的特性值的步驟包括確定所述會(huì)話密鑰中預(yù)定值的比特?cái)?shù)的步驟。
6.權(quán)利要求5的方法,其中所述確定所述電子消息的特性值的步驟還包括,確定所述比特?cái)?shù)的奇偶性的步驟。
7.權(quán)利要求2的方法,其中把所述電子消息中的所述冗余值設(shè)置在由所述定位值確定的一個(gè)或多個(gè)位置的步驟包括以下步驟,基于所述定位值從所述一系列消息塊選擇消息塊,以及把所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)插入在涉及所選擇的消息塊的位置中。
8.權(quán)利要求2的方法,其中所述確定定位值的步驟包括確定一個(gè)或多個(gè)預(yù)定消息塊的特性值的步驟。
9.一種用于發(fā)送消息到接收方通信裝置的通信裝置,包括操作為定義消息的程序代碼;操作為確定所述消息的冗余值的程序代碼;操作為確定定位值的程序代碼,所述定位值定義為以使所述值對(duì)于不同的電子消息而變化,以及定義為以使所述定位值可以由所述接收方通信裝置為發(fā)送到它的每個(gè)電子消息而確定,操作為把在所述消息中的所述冗余值設(shè)置在由所述定位值確定的一個(gè)或多個(gè)位置的程序代碼;以及操作為加密包括所述冗余值的所述消息的程序代碼。
10.權(quán)利要求9的通信裝置,其中所述定位值是所述消息的所選擇特性的值。
11.權(quán)利要求10的通信裝置,其中所述操作為加密包括所述冗余值的所述消息的程序代碼用于使用會(huì)話密鑰加密所述消息。
12.權(quán)利要求11的通信裝置,其中所述消息的所選擇特性是在所述會(huì)話密鑰中的預(yù)定值的比特?cái)?shù)。
13.權(quán)利要求11的通信裝置,其中所述消息的所選擇特性是在所述會(huì)話密鑰中預(yù)定值的比特?cái)?shù)的奇偶性。
14.權(quán)利要求9的通信裝置,還包括操作為將所述消息格式化為一系列消息塊的程序代碼;和操作為將所述冗余值格式化為一個(gè)或多個(gè)冗余值塊的程序代碼,從而用于把所述消息中的所述冗余值設(shè)置在由所述定位值確定的一個(gè)或多個(gè)位置的所述程序代碼是用來(lái)識(shí)別所述系列消息塊的其中一個(gè),然后把所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)插入相對(duì)于所識(shí)別所述系列消息塊的其中一個(gè)的位置中。
15.權(quán)利要求14的通信裝置,其中所述操作為加密包括所述冗余值的所述消息的程序代碼用于使用會(huì)話密鑰加密所述消息。
16.權(quán)利要求15的通信裝置,其中所述定位值是在所述會(huì)話密鑰中的預(yù)定值的比特?cái)?shù)。
17.權(quán)利要求15的通信裝置,其中所述定位值是在所述會(huì)話密鑰中預(yù)定值的比特?cái)?shù)的奇偶性。
18.權(quán)利要求14的通信裝置,還包括操作為從所述系列消息塊中的規(guī)定塊的特性中導(dǎo)出作為所述定位值的值的程序代碼;操作為基于所述定位值定位所識(shí)別的消息塊的程序代碼;和操作為把所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)插入到相對(duì)于所述識(shí)別的消息塊定義的位置中的程序代碼。
19.權(quán)利要求18的通信裝置,其中所述規(guī)定塊的特性是在所述規(guī)定塊中的預(yù)定值的比特?cái)?shù)。
20.權(quán)利要求18的通信裝置,其中所述規(guī)定塊的特性是在所述規(guī)定塊中預(yù)定值的比特?cái)?shù)的奇偶性。
21.一種用于解密所加密消息的通信裝置,所述消息包括多個(gè)消息塊和根據(jù)定位值設(shè)置在所述多個(gè)消息塊中的一個(gè)或多個(gè)冗余值塊,定義所述定位值使得所述定位值對(duì)于不同的消息而變化,所述通信裝置包括操作為解密所述加密的消息的程序代碼;操作為基于所述定位值定位所述消息中的一個(gè)或多個(gè)冗余值塊的程序代碼;操作為從所述一個(gè)或多個(gè)冗余值塊獲得所接收的冗余值的程序代碼;操作為從所述許多消息塊確定計(jì)算的冗余值的程序代碼;操作為比較所述接收的冗余值與所述計(jì)算的冗余值的程序代碼。
22.權(quán)利要求21的通信裝置,其中所述操作為基于所述定位值定位所述消息中的一個(gè)或多個(gè)冗余值塊的程序代碼包括操作為確定或者接收所述定位值的程序代碼;操作為使用所述定位值識(shí)別所述多個(gè)消息塊的其中一個(gè)的程序代碼;和操作為對(duì)所識(shí)別的在消息內(nèi)的多個(gè)消息塊其中一個(gè)的位置有關(guān)的所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)的位置進(jìn)行識(shí)別。
23.權(quán)利要求22的通信裝置,其中所述定位值是具有所述加密消息的會(huì)話密鑰。
24.一種用于確定所述接收的加密消息的可靠性的方法,所述消息包括多個(gè)消息塊和根據(jù)定位值設(shè)置在所述許多消息塊之中的一個(gè)或多個(gè)冗余值塊,所述定位值定義為所述定位值對(duì)于不同的消息而變化,所述方法包括以下步驟解密所述加密的消息以獲得消息;基于定位值把一個(gè)或多個(gè)冗余值塊定位在消息中;從所述一個(gè)或多個(gè)冗余值塊獲得所接收的冗余值;從多個(gè)消息塊確定所計(jì)算的冗余值;比較所接收的冗余值與所計(jì)算的冗余值;和如果所接收的冗余值與所計(jì)算的冗余校驗(yàn)值不相等,就確定所述消息不可靠。
25.權(quán)利要求24的方法,還包括以下步驟使用所述定位值識(shí)別所述多個(gè)消息塊的其中一個(gè);和對(duì)與所識(shí)別的在消息內(nèi)多個(gè)消息塊的其中一個(gè)的位置有關(guān)的所述一個(gè)或多個(gè)冗余值塊的至少其中一個(gè)的位置進(jìn)行識(shí)別。
全文摘要
一種用于對(duì)電子消息增加冗余校驗(yàn)以阻止篡改和簡(jiǎn)化對(duì)改變消息的識(shí)別的系統(tǒng),提供了用于組成消息內(nèi)容的通信裝置,具有用于編碼消息內(nèi)容與報(bào)頭信息為一連串消息塊的格式化和編碼層的消息模塊,以及用于根據(jù)由所述消息內(nèi)容或所述報(bào)頭信息的特性定義的規(guī)則計(jì)算冗余校驗(yàn)值并把所述值插入在一系列消息塊內(nèi)的一個(gè)或多個(gè)位置的加密層,并且加密所述消息以傳遞到接收方。一旦接收,接收方通信裝置解密所述消息,從所述消息提取所述冗余校驗(yàn)值,并且比較所計(jì)算的冗余校驗(yàn)值與所提取的冗余校驗(yàn)值,以確定所述消息是否在接收之前已經(jīng)改變。
文檔編號(hào)H04L9/00GK1780203SQ200510124898
公開日2006年5月31日 申請(qǐng)日期2005年11月22日 優(yōu)先權(quán)日2004年11月22日
發(fā)明者馬歇爾·K·布朗, 馬歇爾·G·柯卡普, 馬歇爾·S·布朗 申請(qǐng)人:捷訊研究有限公司