專利名稱:進(jìn)行消息完整性保護(hù)的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊技術(shù)領(lǐng)域,具體涉及在發(fā)送端、接收端進(jìn)行消息完整性保 護(hù)的方法以及相應(yīng)的消息發(fā)送、接收和收發(fā)裝置。
技術(shù)背景為了防止在通訊過(guò)程中某些消息,例如信令等,被非法篡改,第三代合作項(xiàng)目(3GPP: 3rd Generation Partnership Project)中對(duì)信令實(shí)行了完整性保護(hù)。 完整性保護(hù)一般是對(duì)需要保護(hù)的消息釆用某種算法進(jìn)行計(jì)算后得到一個(gè)完整 性檢查參數(shù),然后將該參數(shù)隨同消息一起發(fā)送(一般是置于消息數(shù)據(jù)之前或之 后),接收端再采用相同的算法對(duì)收到的消息計(jì)算得到另 一個(gè)完整性檢查參數(shù), 如果計(jì)算得到完整性檢查參數(shù)與收到的不同,則說(shuō)明消息可能已經(jīng)被篡改,一 般會(huì)丟棄該消息數(shù)據(jù),以此實(shí)現(xiàn)對(duì)消息完整性的保護(hù)。以用戶設(shè)備接收無(wú)線網(wǎng)絡(luò)控制器(RNC: Radio Network Controller )發(fā)送 的下行消息,以及用戶設(shè)備向RNC發(fā)送上行消息為例,在現(xiàn)有技術(shù)中,上述 完整性保護(hù)方法的實(shí)現(xiàn)過(guò)程為一、用戶設(shè)備作為接收端,如圖l所示,包括al、用戶設(shè)備接收到以抽象語(yǔ)法符號(hào)版本一 (ASN.1: Abstract Syntax Notation one )編碼的下行消息;a2、進(jìn)行ASN.l解碼,若該消息是采用了完整性保護(hù)的消息,則消息結(jié) 構(gòu)中存在信息元素"完整性檢查信息"(Integrity Check Info),保存"完整性 檢查信息,,中的消息鑒權(quán)碼(MAC: Message Authentication Code );a3、設(shè)置消息結(jié)構(gòu)中的信息元素"完整性檢查信息"中的MAC為信令承 載標(biāo)識(shí)(SRBID: Signalling radio bearer ),設(shè)置"完整性;險(xiǎn)查信息"中的無(wú)線 資源控制(RRC: Radio Resource Control)消息序列號(hào)(RRC Message Sequence Number)為0;a4、對(duì)設(shè)置后的消息進(jìn)行ASN. 1編碼;a5、采用哈希算法計(jì)算編碼后消息的哈希值作為計(jì)算得到的MAC,比較
計(jì)算得到的MAC的值與之前保存的MAC值是否一致。在上述過(guò)程中,為了對(duì)收到的消息進(jìn)行完整性檢查參數(shù)MAC的計(jì)算,用 戶設(shè)備需要先將消息解碼,然后替換解碼后消息結(jié)構(gòu)中的"完整性檢查信息" 為其在發(fā)送端進(jìn)行MAC計(jì)算時(shí)的狀態(tài),然后再進(jìn)行編碼和計(jì)算,用戶設(shè)備需 要沖丸4于一次解》馬和一次編石馬。二、用戶設(shè)備作為發(fā)送端,如圖2所示,包括bl、用戶設(shè)備組織上行消息內(nèi)容,設(shè)置消息結(jié)構(gòu)中的信息元素"完整性檢 查信息"中的MAC為SRBID,設(shè)置"完整性檢查信息"中的RRC消息序列 號(hào)值為0;b2、對(duì)消息進(jìn)行ASN. 1編碼;b3 、采用哈希算法計(jì)算編碼后消息的MAC值;b4、替換編碼前消息結(jié)構(gòu)中的信息元素"完整性4全查信息"中的MAC為 計(jì)算出來(lái)的MAC值,替換"完整性檢查信息"中的RRC消息序列號(hào)為與SRB ID相應(yīng)的RRC消息序列號(hào)值(該值存在于變量INTEGRITY— PROTECTION INFO的"Uplink RRC Message sequence number"中);b5 、對(duì)替換后的消息進(jìn)行ASN.l編碼并發(fā)送。在上述過(guò)程中,為了計(jì)算消息的MAC值并把它放到消息中,用戶設(shè)備需 要先對(duì)消息進(jìn)行編碼以進(jìn)行計(jì)算,然后將MAC值放入編碼前的消息結(jié)構(gòu)中并 再次編碼以進(jìn)行發(fā)送,用戶設(shè)備需要執(zhí)行兩次編碼。從上述收發(fā)過(guò)程可以看出,在現(xiàn)有技術(shù)中一條需要進(jìn)行完整性保護(hù)的消息 從發(fā)送端到接收端共需要經(jīng)過(guò)四次編碼/解碼,這必然會(huì)增加系統(tǒng)延時(shí),影響 處理效率。 發(fā)明內(nèi)容本發(fā)明的目的在于提供在發(fā)送端、接收端進(jìn)行消息完整性保護(hù)的方法以及 相應(yīng)的消息發(fā)送、接收和收發(fā)裝置,以簡(jiǎn)化收發(fā)端完整性保護(hù)處理過(guò)程,縮短 系統(tǒng)延時(shí),優(yōu)化系統(tǒng)效率。為達(dá)到本發(fā)明的目的,所采取的技術(shù)方案是 一種在發(fā)送端進(jìn)行消息完整 性保護(hù)的方法,包括步驟
對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼; 計(jì)算編碼后消息的完整性檢查參數(shù);在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查參數(shù);發(fā)送包含完整性檢查參數(shù)的消息。在對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼前,還包括步驟將消息結(jié)構(gòu)中的完整性檢查信息中的消息鑒權(quán)碼內(nèi)容設(shè)置為信令承載標(biāo) 識(shí),將完整性檢查信息中的消息序列號(hào)內(nèi)容設(shè)置為零。所述對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼中,采用的抽象語(yǔ)法符號(hào)是版本一的抽 象語(yǔ)法符號(hào)。所述在編碼后的消息中在完整性檢查信息字段中置入完整性檢查參數(shù),具 體為,將消息編碼后的比特流從第二到第三十三位替換為完整性檢查參數(shù),另 外,將完整性檢查信息字段中第三十四到第三十七位替換為與所述信令承載標(biāo) 識(shí)對(duì)應(yīng)的消息序列號(hào)。所述計(jì)算編碼后消息的完整性檢查參數(shù),具體為對(duì)編碼后消息進(jìn)行哈希計(jì) 算得到消息鑒權(quán)碼,所述完整性檢查參數(shù)為消息鑒權(quán)碼。一種在接收端進(jìn)行消息完整性保護(hù)的方法,包括步驟對(duì)收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,獲得并保存其完整性檢查信息字段 所攜帶的完整性檢查參數(shù);在解碼前的消息中,將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完 整性檢查參數(shù)計(jì)算時(shí)的狀態(tài);計(jì)算恢復(fù)后消息的完整性檢查參數(shù);比較收到的消息中的完整性檢查參數(shù)與計(jì)算得到的完整性檢查參數(shù)是否一致,根據(jù)比較結(jié)果判斷該消息是否被篡改。若所述比較的結(jié)果為不一致,則判斷該消息被篡改,丟棄該消息。 所述對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)解碼中,采用的抽象語(yǔ)法符號(hào)是版本一的抽象語(yǔ)法符號(hào)。所述將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性檢查參數(shù) 計(jì)算時(shí)的狀態(tài)包括,將解碼前消息的比特流從第二到第三十三位替換為信令承
載標(biāo)識(shí),從第三十四到第三十七位替換為零。所迷計(jì)算恢復(fù)后消息的完整性檢查參數(shù),具體為對(duì)編碼后消息進(jìn)行哈希計(jì)算得到消息鑒權(quán)碼,所述完整性檢查參數(shù)為消息鑒權(quán)碼。一種進(jìn)行消息完整性保護(hù)的方法,包括步驟 發(fā)送端對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼; 發(fā)送端計(jì)算編碼后消息的完整性檢查參數(shù);發(fā)送端在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查參數(shù);發(fā)送端發(fā)送包含完整性檢查參數(shù)的消息;接收端對(duì)收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,獲得并保存其完整性檢查信 息字段所攜帶的完整性檢查參數(shù);接收端在解碼前的消息中,將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端 進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài);接收端計(jì)算恢復(fù)后消息的完整性檢查參數(shù);接收端比較收到的消息中的完整性檢查參數(shù)與計(jì)算得到的完整性檢查參 數(shù)是否一致,根據(jù)比較結(jié)果判斷該消息是否被篡改。在發(fā)送端對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼前,還包括步驟發(fā)送端將消息結(jié) 構(gòu)中的完整性檢查信息中的消息鑒權(quán)碼內(nèi)容設(shè)置為信令承載標(biāo)識(shí),將完整性檢 查信息中的消息序列號(hào)內(nèi)容設(shè)置為零。所述發(fā)送端和接收端對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼/解碼中,采用的抽象 語(yǔ)法符號(hào)是版本一 的抽象語(yǔ)法符號(hào)。所述發(fā)送端在編碼后的消息中在完整性檢查信息字段中置入完整性檢查 參數(shù),具體為,將消息編碼后的比特流從第二到第三十三位替換為計(jì)算得到的 消息鑒權(quán)碼,從第三十四到第三十七位替換為與所述信令承載標(biāo)識(shí)對(duì)應(yīng)的消息 序列號(hào);所述接收端將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性 檢查參數(shù)計(jì)算時(shí)的狀態(tài)包括,將解碼前消息的比特流從第二到第三十三位替換 為信令承載標(biāo)識(shí),從第三十四到第三十七位替換為零。一種消息發(fā)送裝置,包括編碼模塊、第一完整性檢查模塊、發(fā)送模塊;所述編碼^^莫塊,用于對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼;所述第一完整性檢查模塊,用于計(jì)算經(jīng)所迷編碼模塊編碼后消息的完整性 檢查參數(shù),并在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查參數(shù);所述發(fā)送模塊,用于發(fā)送所述完整性檢查模塊生成的包含完整性檢查參數(shù)的消息。一種消息接收裝置,包括接收模塊、解碼模塊、第二完整性檢查模塊;所述接收模塊,用于接收以抽象語(yǔ)法符號(hào)編碼的消息;所述解碼模塊,用于對(duì)所述接收模塊收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,在消息中存在完整性檢查信息字段時(shí)通知所述完整性檢查模塊進(jìn)行完整性檢查處理;所述第二完整性檢查模塊,用于在解碼前的消息中將完整性檢查信息字段 的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài),并計(jì)算恢復(fù)后消息 的完整性檢查參數(shù)。所述第二完整性檢查模塊包括存儲(chǔ)模塊、替換模塊、計(jì)算模塊; 所述存儲(chǔ)模塊,用于獲得并保存消息的完整性檢查信息字段所攜帶的完整 性檢查參數(shù);所述替換模塊,用于在解碼前的消息中將完整性檢查信息字段的內(nèi)容恢復(fù) 到在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài);所述計(jì)算模塊,用于對(duì)所述替換模塊恢復(fù)后的消息進(jìn)行完整性檢查參數(shù)計(jì)所述第二完整性檢查模塊還包括比較模塊;所述比較模塊,用于比較所述 存儲(chǔ)模塊中保存的完整性檢查參數(shù)與所述計(jì)算模塊計(jì)算得到的完整性檢查參 數(shù)是否一致。一種消息收發(fā)裝置,包括發(fā)送模塊、接收模塊、編碼模塊、解碼模塊、第 一完整性檢查模塊和第二完整性檢查模塊;所述接收模塊,用于接收以抽象語(yǔ)法符號(hào)編碼的消息;所述解碼模塊,用于對(duì)所述接收模塊收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,
在消息中存在完整性檢查信息字段時(shí)通知所述完整性檢查模塊進(jìn)行完整性檢查處理;所述編碼模塊,用于對(duì)需要發(fā)送的消息進(jìn)行抽象語(yǔ)法符號(hào)編碼; 所述第一完整性檢查模塊,用于計(jì)算經(jīng)所述編碼模塊編碼后消息的完整性檢查參數(shù),并在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查參數(shù);所述第二完整性檢查模塊,用于在解碼前的接收到的消息中將完整性檢查 信息字段的內(nèi)容恢復(fù)到其在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài),計(jì)算恢 復(fù)后消息的完整性檢查參數(shù);所述發(fā)送模塊,用于發(fā)送所述完整性檢查模塊生成的包含完整性檢查參數(shù) 的消息。所述第二完整性檢查模塊包括存儲(chǔ)模塊、第二替換模塊、第二計(jì)算模塊;所述存儲(chǔ)模塊,用于獲得并保存接收到的消息的完整性檢查信息字段所攜 帶的完整性檢查參數(shù);所述第二替換模塊,用于在解碼前的消息中將完整性檢查信息字段的內(nèi)容 恢復(fù)到在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài);所述第二計(jì)算模塊,用于對(duì)所述替換模塊恢復(fù)后的消息進(jìn)行完整性檢查參 數(shù)計(jì)算。所述第二完整性檢查模塊還包括比較模塊;所述比較模塊,用于比較所述 存儲(chǔ)模塊中保存的完整性檢查參數(shù)與所述計(jì)算模塊計(jì)算得到恢復(fù)后消息的完 整性檢查參數(shù)是否一致。所述第 一 完整性檢查模塊包括第 一替換模塊和第 一計(jì)算模塊;所述第一替換模塊,用于在編碼后的消息中,在完整性檢查信息字段中, 置入完整性檢查參數(shù);所述第一計(jì)算模塊,用于對(duì)所述編碼模塊后的消息進(jìn)行完整性檢查參數(shù)計(jì)算。采用上述技術(shù)方案,本發(fā)明有益的技術(shù)效果在于1)本發(fā)明采用在進(jìn)行了抽象語(yǔ)法符號(hào)編碼的消息碼流中,對(duì)完整性檢查
信息字段的內(nèi)容進(jìn)行直接替換,以獲得可發(fā)送的包含完整性檢查參數(shù)的消息碼 流,或獲得可進(jìn)行完整性檢查計(jì)算的初始消息碼流狀態(tài),使得發(fā)送、接收過(guò)程 中只需要執(zhí)行一次編碼或解碼,有效簡(jiǎn)化了處理過(guò)程,縮短系統(tǒng)時(shí)延,提高了 處理效率。2)本發(fā)明還針對(duì)現(xiàn)有技術(shù)中使用的抽象語(yǔ)法符號(hào)版本給出了具體的替換 執(zhí)行方案,優(yōu)化了現(xiàn)有技術(shù)的完整性保護(hù)方案。
下面通過(guò)具體實(shí)施方式
并結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。圖1是現(xiàn)有在接收端執(zhí)行完整性保護(hù)方法流程示意圖;圖2是現(xiàn)有在發(fā)送端執(zhí)行完整性保護(hù)方法流程示意圖;圖3是本發(fā)明實(shí)施例一在發(fā)送端進(jìn)行消息完整性保護(hù)的方法流程示意圖;圖4是經(jīng)過(guò)ASN.l編碼后的消息碼流示意圖;圖5是本發(fā)明實(shí)施例二在接收端進(jìn)行消息完整性保護(hù)的方法流程示意圖; 圖6是本發(fā)明實(shí)施例三消息發(fā)送裝置模塊結(jié)構(gòu)示意圖; 圖7是本發(fā)明實(shí)施例四消息接收裝置模塊結(jié)構(gòu)示意圖; 圖8是本發(fā)明實(shí)施例五消息收發(fā)裝置模塊結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明提供進(jìn)行消息完整性保護(hù)的方法,其核心思想是,利用抽象語(yǔ)法符 號(hào)碼流的特點(diǎn),對(duì)其中完整性檢查信息字段的內(nèi)容進(jìn)行直接處理;在發(fā)送端執(zhí) 行時(shí),可以是置入計(jì)算得到的完整性檢查參數(shù)等,以獲得可發(fā)送的包含完整性 檢查參數(shù)的消息碼流;在接收端執(zhí)行時(shí),可以是將該段內(nèi)容恢復(fù)回發(fā)送端進(jìn)行 完整檢查計(jì)算時(shí)的初始狀態(tài),使得可以直接進(jìn)行接收端的完整性檢查計(jì)算?;?于現(xiàn)有消息的數(shù)據(jù)結(jié)構(gòu),對(duì)完整性檢查信息字段的處理一般可采用替換形式進(jìn) 行,本發(fā)明的實(shí)施例即基于此種形式給出;若基于不同數(shù)據(jù)結(jié)構(gòu)而采用的其他 對(duì)完整性檢查信息字段內(nèi)容進(jìn)行直接處理的方式,不脫離本發(fā)明的保護(hù)范圍。 本發(fā)明并提供相應(yīng)的消息發(fā)送、接收裝置。以下分別對(duì)本發(fā)明方法和裝置進(jìn)行 詳細(xì)說(shuō)明。實(shí)施例一、 一種在發(fā)送端進(jìn)行消息完整性保護(hù)的方法,流程如圖3所示, 包括Al、發(fā)送端組織上行消息內(nèi)容,由于該消息是需要進(jìn)行完整性保護(hù)的消 息,因此消息結(jié)構(gòu)中包含有信息元素"完整性檢查信息",將消息結(jié)構(gòu)中的信 息元素"完整性檢查信息"中的MAC設(shè)置為SRBID,將"完整性檢查信息" 中的RRC消息序列號(hào)值設(shè)置為0;A2、對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼,本例中采用ASN.1;編碼后的消息碼流如圖4所示,由圖4可以看出,ASN.l編碼后的碼流從 最高位比特到最低位比特(bit),第一個(gè)比特是標(biāo)識(shí)位,即圖4中的F,標(biāo)識(shí) 是否存在信息元素"完整性檢查信息",如果為0則不存在,如果為1則存在, 在本發(fā)明中,針對(duì)的是為1的情況;后續(xù)的32位比特是MAC,即圖4中的M; 再后面的4位比特是RRC消息序列號(hào),即圖4中的S。A3、計(jì)算編碼后消息的MAC;本實(shí)施例中采用哈希算法進(jìn)行計(jì)算,即, 對(duì)碼流用哈希函數(shù)計(jì)算其哈希值;哈希算法是將任意長(zhǎng)度的二進(jìn)制值映射為固定長(zhǎng)度的較小二進(jìn)制值,這個(gè) 小的二進(jìn)制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形 式,如果消息碼流中的部分被篡改,哪怕只更改了其中的一個(gè)比特,隨后的哈 希計(jì)算都將產(chǎn)生不同的值。因此,可用消息碼流的哈希值來(lái)檢驗(yàn)消息的完整性。A4、在編碼后的消息中,對(duì)完整性檢查信息字段的內(nèi)容進(jìn)行直接替換, 對(duì)應(yīng)圖4中的數(shù)據(jù)結(jié)構(gòu),將消息編碼后的比特流從第二到第三十三位替換為計(jì) 算得到的MAC值,從第三十四到第三十七位替換為與SRB ID相應(yīng)的RRC消 息序列號(hào)值,就得到了包含MAC值的消息碼流;A5 、發(fā)送替換后的包含MAC值的消息碼流。在上述發(fā)送端的完整性保護(hù)執(zhí)行過(guò)程中,待發(fā)送的消息只需要進(jìn)行一次 ASN.1編碼,計(jì)算得到的MAC值直接替換入消息碼流中,簡(jiǎn)化了處理過(guò)程。實(shí)施例二、 一種在接收端進(jìn)行消息完整性保護(hù)的方法,流程如圖5所示, 包括Bl、接收端對(duì)收到的以抽象語(yǔ)法符號(hào)編碼的消息碼流進(jìn)行解碼,本例中 采用ASN.1;若該消息是采用了完整性保護(hù)的消息,則消息結(jié)構(gòu)中存在信息元
素"完整性檢查信息",獲得并保存"完整性檢查信息"中的MAC值;B2、在解碼前的消息中,對(duì)完整性檢查信息字段的內(nèi)容進(jìn)行直接替換, 對(duì)應(yīng)圖4中的數(shù)據(jù)結(jié)構(gòu),將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完 整性檢查參數(shù)計(jì)算時(shí)的狀態(tài),即,將接收到的比特流從第二到第三十三位替換 為SRBID,從第三十四到第三十七位替換為0;B3、計(jì)算替換后消息的MAC,本實(shí)施例中采用哈希算法進(jìn)行計(jì)算,當(dāng)然 所采用的哈希函數(shù)需要與發(fā)送端進(jìn)行MAC計(jì)算時(shí)所使用的相同;B4、比較收到的消息中的MAC值與計(jì)算得到的MAC值是否一致,根據(jù) 比較結(jié)果判斷消息是否被篡改,并對(duì)消息執(zhí)行相應(yīng)的判斷操作,例如如果計(jì)算 值不符合,則判斷消息被篡改,丟棄或刪除該消息。在上述接收端的完整性保護(hù)執(zhí)行過(guò)程中,接收到的消息只需要進(jìn)行一次 ASN. 1解碼,對(duì)消息的MAC計(jì)算在直接對(duì)消息碼流進(jìn)行恢復(fù)性替換后進(jìn)行, 簡(jiǎn)化了處理過(guò)程。實(shí)施例一和實(shí)施例二分別提供的在發(fā)送、接收端進(jìn)行消息完整性保護(hù)的方 法可以不受千擾的彼此獨(dú)立使用,即,某發(fā)送/接收端可以單獨(dú)采用上述簡(jiǎn)化 的完整性保護(hù)實(shí)施方法達(dá)到簡(jiǎn)化自身完整性保護(hù)處理過(guò)程的目的,而并不依賴 于其對(duì)端采用了相應(yīng)的簡(jiǎn)化處理方法。當(dāng)然上述方法也可以在一對(duì)發(fā)送、接收 端配合使用,作為消息從發(fā)送到接收的 一套完整性保護(hù)方法,達(dá)到節(jié)省系統(tǒng)時(shí) 延的最佳效果。以下對(duì)相應(yīng)于上述完整性保護(hù)方法的執(zhí)行裝置進(jìn)行說(shuō)明。實(shí)施例三、 一種消息發(fā)送裝置,如圖6所示,包括編碼模塊l、第一完整 性檢查模塊2、發(fā)送模塊3;編碼模塊1,用于對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼;第一完整性檢查模塊2,用于計(jì)算經(jīng)編碼模塊1編碼后消息的完整性檢查參數(shù),并在編碼后的消息中對(duì)完整性檢查信息字段的內(nèi)容進(jìn)行直接替換,將完 整性檢查參數(shù)置入其中;發(fā)送模塊3,用于發(fā)送完整性檢查模塊2生成的包含完整性檢查參數(shù)的消息。 第一完整性檢查模塊2包括第一替換模塊和第一計(jì)算模塊; 第一替換模塊,用于在編碼后的消息中,在完整性檢查信息字段中,置入 完整性檢查參數(shù);第一計(jì)算模塊,用于對(duì)所述編碼模塊后的消息進(jìn)行完整性檢查參數(shù)計(jì)算。本實(shí)施例消息發(fā)送裝置可以采用實(shí)施例一中所提供的在發(fā)送端進(jìn)行消息 完整性保護(hù)的方案,即采用相應(yīng)ASN.l的編碼及碼流替換方式。實(shí)施例四、 一種消息接收裝置,如圖7所示,包括接收模塊4、第二完整 性檢查模塊5、解碼模塊6;接收模塊4,用于接收以抽象語(yǔ)法符號(hào)編碼的消息;解碼模塊6,用于對(duì)接收模塊4收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,在消 息中存在完整性檢查信息字段時(shí)通知完整性檢查模塊5進(jìn)行完整性檢查處理;第二完整性檢查模塊5包括存儲(chǔ)模塊51、第二替換模塊52、第二計(jì)算模 塊53、比較模塊54;存儲(chǔ)模塊51,用于獲得并保存消息的完整性檢查信息字段所攜帶的完整 性檢查參數(shù);第二替換模塊52,用于在解碼前的消息中對(duì)完整性檢查信息字段的內(nèi)容 進(jìn)行直接替換,將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性檢查 參數(shù)計(jì)算時(shí)的狀態(tài);第二計(jì)算模塊53,用于采用哈希算法對(duì)替換模塊52替換后的消息進(jìn)行完 整性檢查參數(shù)計(jì)算;比較模塊54,用于比較存儲(chǔ)模塊51中保存的完整性檢查參數(shù)與計(jì)算模塊 53計(jì)算得到的完整性檢查參數(shù)是否一致,并對(duì)消息執(zhí)行相應(yīng)的判斷操作,例 如如果計(jì)算值不符合,則判斷消息被篡改,丟棄或刪除該消息。本實(shí)施例消息接收裝置可以采用實(shí)施例二中所提供的在接收端進(jìn)行消息 完整性保護(hù)的方案,即采用相應(yīng)ASN.l的解碼及碼流替換方式。實(shí)施例三和實(shí)施例四分別提供的消息發(fā)送、接收裝置可獨(dú)立設(shè)置于需要進(jìn) 行消息發(fā)送或接收的設(shè)備上,處理相應(yīng)的消息發(fā)送或接收流程。當(dāng)然,對(duì)于大 多數(shù)設(shè)備,例如用戶設(shè)備、RNC等,往往既是消息的發(fā)送方同時(shí)也會(huì)作為消
裝置,當(dāng)然也可以采用融合上述發(fā)送、接收裝置的收發(fā)裝置來(lái)執(zhí)行需要進(jìn)行完 整性保護(hù)的消息收發(fā)過(guò)程,具體結(jié)構(gòu)如下所述。實(shí)施例五、 一種消息收發(fā)裝置,如圖8所示,包括發(fā)送模塊7、接收模塊 8、編碼模塊9、解碼模塊IO、完整性檢查模塊ll;接收模塊8,用于接收以抽象語(yǔ)法符號(hào)編碼的消息;解碼模塊10,用于對(duì)接收模塊8收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,在 消息中存在完整性檢查信息字段時(shí)通知完整性檢查模塊11進(jìn)行接收完整性檢 查處理;編碼模塊9,用于對(duì)需要發(fā)送的消息進(jìn)行抽象語(yǔ)法符號(hào)編碼; 完整性檢查模塊11包括存儲(chǔ)模塊111、替換模塊112、計(jì)算模塊113、比 較模塊114;存儲(chǔ)模塊111 ,用于獲得并保存接收到的消息的完整性^r查信息字段所攜 帶的完整性檢查參數(shù);替換模塊112,用于在編碼模塊9編碼后的消息中對(duì)完整性檢查信息字段 的內(nèi)容進(jìn)行直接替換,將計(jì)算模塊113計(jì)算得到的該消息的完整性檢查參數(shù)置 入其中;或在解碼前的消息中對(duì)完整性檢查信息字段的內(nèi)容進(jìn)行直接替換,將 完整性檢查信息字段的內(nèi)容恢復(fù)到該消息在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算 時(shí)的狀態(tài);計(jì)算模塊113,用于采用哈希算法對(duì)編碼模塊9編碼后的消息或替換模塊 112替換后的消息進(jìn)行完整性檢查參數(shù)計(jì)算;比較模塊114,用于比較存儲(chǔ)模塊111中保存的完整性檢查參數(shù)與計(jì)算模 塊113計(jì)算得到替換后消息的完整性檢查參數(shù)是否一致,并對(duì)消息執(zhí)行相應(yīng)的 判斷操作,例如如果計(jì)算值不符合,則判斷消息被篡改,丟棄或刪除該消息。發(fā)送模塊7,用于發(fā)送完整性檢查模塊11的替換模塊112生成的包含完 整性檢查參數(shù)的消息。完整性檢查模塊11也可以由第一完整性檢查模塊和第二完整性檢查模塊 組成;第一完整性檢查模塊,用于計(jì)算經(jīng)編碼模塊編碼后消息的完整性檢查參
數(shù),并在編碼后的消息中對(duì)完整性檢查信息字段的內(nèi)容進(jìn)行直接替換,將完整 性檢查參數(shù)置入其中;第二完整性檢查模塊,用于在解碼前的消息中將完整性 檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài),并計(jì) 算恢復(fù)后消息的完整性檢查參數(shù)。第 一 完整性檢查模塊包括第 一替換模塊和第 一計(jì)算模塊;第一替換模塊,用于在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查參數(shù);第一計(jì)算模塊,用于對(duì)所述編碼模塊后的消息進(jìn)行完整性檢查參數(shù)計(jì)算。 第二完整性檢查模塊包括存儲(chǔ)模塊、第二替換模塊、第二計(jì)算模塊、比較 模塊;存儲(chǔ)模塊,用于獲得并保存消息的完整性檢查信息字段所攜帶的完整性檢 查參數(shù);第二替換模塊,用于在解碼前的消息中對(duì)完整性檢查信息字段的內(nèi)容進(jìn)行 直接替換,將完整性;險(xiǎn)查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性檢查參數(shù) 計(jì)算時(shí)的狀態(tài);第二計(jì)算模塊,用于采用哈希算法對(duì)替換模塊替換后的消息進(jìn)行完整性檢 查參數(shù)計(jì)算;比較模塊,用于比較存儲(chǔ)模塊中保存的完整性檢查參數(shù)與計(jì)算模塊計(jì)算得 到的完整性檢查參數(shù)是否一致,并對(duì)消息執(zhí)行相應(yīng)的判斷操作,例如如果計(jì)算 值不符合,則判斷消息被篡改,丟棄或刪除該消息。本實(shí)施例消息接收裝置可以在發(fā)送和接收消息時(shí)分別采用實(shí)施例一和二 中所提供的進(jìn)行消息完整性保護(hù)的方案。以上對(duì)本發(fā)明所提供的在發(fā)送端、接收端進(jìn)行消息完整性保護(hù)的方法以及 相應(yīng)的消息發(fā)送、接收裝置進(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ō)明書內(nèi)容不應(yīng) 理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、 一種在發(fā)送端進(jìn)行消息完整性保護(hù)的方法,其特征在于,包括步驟 對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼;計(jì)算編碼后消息的完整性檢查參數(shù);在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查參數(shù);發(fā)送包含完整性檢查參數(shù)的消息。
2、 根據(jù)權(quán)利要求1所述的在發(fā)送端進(jìn)行消息完整性保護(hù)的方法,其特征 在于,在對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼前,還包括步驟將消息結(jié)構(gòu)中的完整性檢查信息中的消息鑒權(quán)碼內(nèi)容設(shè)置為信令承載標(biāo) 識(shí),將完整性檢查信息中的消息序列號(hào)內(nèi)容設(shè)置為零。
3、 根據(jù)權(quán)利要求2所述的在發(fā)送端進(jìn)行消息完整性保護(hù)的方法,其特征 在于,所述對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼中,采用的抽象語(yǔ)法符號(hào)是版本一的 抽象語(yǔ)法符號(hào)。
4、 根據(jù)權(quán)利要求3所述的在發(fā)送端進(jìn)行消息完整性保護(hù)的方法,其特征 在于,所述在編碼后的消息中在完整性檢查信息字段中置入完整性檢查參數(shù), 具體為,將消息編碼后的比特流從第二到第三十三位替換為完整性檢查參數(shù), 另外,將完整性檢查信息字段中第三十四到第三十七位替換為與所述信令承載 標(biāo)識(shí)對(duì)應(yīng)的消息序列號(hào)。
5、 根據(jù)權(quán)利要求1 4任意一項(xiàng)所述的在發(fā)送端進(jìn)行消息完整性保護(hù)的方 法,其特征在于,所述計(jì)算編碼后消息的完整性檢查參數(shù),具體為對(duì)編碼后消 息進(jìn)行哈希計(jì)算得到消息鑒權(quán)碼,所述完整性檢查參數(shù)為消息鑒權(quán)碼。
6、 一種在接收端進(jìn)行消息完整性保護(hù)的方法,其特征在于,包括步驟 對(duì)收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,獲得并保存其完整性檢查信息字段所攜帶的完整性檢查參數(shù);在解碼前的消息中,將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完 整性檢查參數(shù)計(jì)算時(shí)的狀態(tài);計(jì)算恢復(fù)后消息的完整性檢查參數(shù);比較收到的消息中的完整性檢查參數(shù)與計(jì)算得到的完整性檢查參數(shù)是否 一致,根據(jù)比較結(jié)果判斷該消息是否被篡改。
7、 根據(jù)權(quán)利要求6所述的在接收端進(jìn)行消息完整性保護(hù)的方法,其特征 在于,若所述比較的結(jié)果為不一致,則判斷該消息被篡改,丟棄該消息。
8、 根據(jù)權(quán)利要求6所述的在接收端進(jìn)行消息完整性保護(hù)的方法,其特征在于,所述對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)解碼中,采用的抽象語(yǔ)法符號(hào)是版本一的抽象語(yǔ)法符號(hào)。
9、 根據(jù)權(quán)利要求6所述的在接收端進(jìn)行消息完整性保護(hù)的方法,其特征 在于,所述將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性檢查參數(shù) 計(jì)算時(shí)的狀態(tài)包括,將解碼前消息的比特流從第二到第三十三位替換為信令承 載標(biāo)識(shí),從第三十四到第三十七位替換為零。
10、 根據(jù)權(quán)利要求6 9任意一項(xiàng)所述的在接收端進(jìn)行消息完整性保護(hù)的方 法,其特征在于,所述計(jì)算恢復(fù)后消息的完整性檢查參數(shù),具體為對(duì)編碼后消 息進(jìn)行哈希計(jì)算得到消息鑒權(quán)碼,所述完整性檢查參數(shù)為消息鑒權(quán)碼。
11、 一種進(jìn)行消息完整性保護(hù)的方法,其特征在于,包括步驟 發(fā)送端對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼;發(fā)送端計(jì)算編碼后消息的完整性檢查參數(shù);發(fā)送端在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查參數(shù);發(fā)送端發(fā)送包含完整性檢查參數(shù)的消息;接收端對(duì)收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,獲得并保存其完整性檢查信 息字段所攜帶的完整性檢查參數(shù);接收端在解碼前的消息中,將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端 進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài);接收端計(jì)算恢復(fù)后消息的完整性檢查參數(shù);接收端比較收到的消息中的完整性檢查參數(shù)與計(jì)算得到的完整性檢查參 數(shù)是否一致,根據(jù)比較結(jié)果判斷該消息是否被篡改。
12、 根據(jù)權(quán)利要求11所述的進(jìn)行消息完整性保護(hù)的方法,其特征在于, 在發(fā)送端對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼前,還包括步驟發(fā)送端將消息結(jié)構(gòu)中 的完整性檢查信息中的消息鑒權(quán)碼內(nèi)容設(shè)置為信令承載標(biāo)識(shí),將完整性檢查信 息中的消息序列號(hào)內(nèi)容設(shè)置為零。
13、 根據(jù)權(quán)利要求12所述的進(jìn)行消息完整性保護(hù)的方法,其特征在于,所述發(fā)送端和接收端對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼/解碼中,采用的抽象語(yǔ)法 符號(hào)是版本一的抽象語(yǔ)法符號(hào)。
14、 根據(jù)權(quán)利要求13所述的進(jìn)行消息完整性保護(hù)的方法,其特征在于, 所述發(fā)送端在編碼后的消息中在完整性檢查信息字段中置入完整性檢查參數(shù), 具體為,將消息編碼后的比特流從第二到第三十三位替換為計(jì)算得到的消息鑒 權(quán)碼,從第三十四到第三十七位替換為與所述信令承載標(biāo)識(shí)對(duì)應(yīng)的消息序列 號(hào);所述接收端將完整性檢查信息字段的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性檢查 參數(shù)計(jì)算時(shí)的狀態(tài)包括,將解碼前消息的比特流從第二到第三十三位替換為信 令承載標(biāo)識(shí),從第三十四到第三十七位替換為零。
15、 一種消息發(fā)送裝置,其特征在于,包括編碼模塊、第一完整性檢查模塊、發(fā)送模塊;所述編碼;漢塊,用于對(duì)消息進(jìn)行抽象語(yǔ)法符號(hào)編碼;所述第一完整性檢查模塊,用于計(jì)算經(jīng)所述編碼模塊編碼后消息的完整性 檢查參數(shù),并在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查 參數(shù);所述發(fā)送模塊,用于發(fā)送所述完整性檢查模塊生成的包含完整性檢查參數(shù) 的消息。
16、 一種消息接收裝置,其特征在于,包括接收模塊、解碼模塊、第二完 整性檢查模塊;所述接收模塊,用于接收以抽象語(yǔ)法符號(hào)編碼的消息;所述解碼模塊,用于對(duì)所述接收模塊收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,在消息中存在完整性檢查信息字段時(shí)通知所述完整性檢查模塊進(jìn)行完整性檢查處理;所述第二完整性檢查模塊,用于在解碼前的消息中將完整性檢查信息字段 的內(nèi)容恢復(fù)到在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài),并計(jì)算恢復(fù)后消息 的完整性檢查參數(shù)。
17、 根據(jù)權(quán)利要求16所述的消息接收裝置,其特征在于,所述第二完整性檢查模塊包括存儲(chǔ)模塊、替換模塊、計(jì)算模塊;所述存儲(chǔ)模塊,用于獲得并保存消息的完整性檢查信息字段所攜帶的完整 性檢查參數(shù);所述替換模塊,用于在解碼前的消息中將完整性檢查信息字段的內(nèi)容恢復(fù) 到在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài);所述計(jì)算模塊,用于對(duì)所述替換模塊恢復(fù)后的消息進(jìn)行完整性檢查參數(shù)計(jì)算。
18、 根據(jù)權(quán)利要求17所述的消息接收裝置,其特征在于,所述第二完整 性檢查模塊還包括比較模塊;所述比較模塊,用于比較所述存儲(chǔ)模塊中保存的 完整性檢查參數(shù)與所述計(jì)算模塊計(jì)算得到的完整性檢查參數(shù)是否一致。
19、 一種消息收發(fā)裝置,其特征在于,包括發(fā)送模塊、接收模塊、編碼模 塊、解碼模塊、第一完整性檢查模塊和第二完整性檢查模塊;所述接收模塊,用于接收以抽象語(yǔ)法符號(hào)編碼的消息;所述解碼模塊,用于對(duì)所述接收模塊收到的消息進(jìn)行抽象語(yǔ)法符號(hào)解碼,在消息中存在完整性檢查信息字段時(shí)通知所述完整性檢查模塊進(jìn)行完整性檢查處理;所述編碼模塊,用于對(duì)需要發(fā)送的消息進(jìn)行抽象語(yǔ)法符號(hào)編碼; 所述第一完整性檢查模塊,用于計(jì)算經(jīng)所述編碼模塊編碼后消息的完整性檢查參數(shù),并在編碼后的消息中,在完整性檢查信息字段中,置入完整性檢查參數(shù);所述第二完整性檢查模塊,用于在解碼前的接收到的消息中將完整性檢查 信息字段的內(nèi)容恢復(fù)到其在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài),計(jì)算恢 復(fù)后消息的完整性檢查參數(shù);所述發(fā)送模塊,用于發(fā)送所述完整性檢查模塊生成的包含完整性檢查參數(shù)的消息。
20、 根據(jù)權(quán)利要求19所述的消息收發(fā)裝置,其特征在于,所述第二完整 性檢查模塊包括存儲(chǔ)模塊、第二替換模塊、第二計(jì)算模塊;所述存儲(chǔ)模塊,用于獲得并保存接收到的消息的完整性檢查信息字段所攜帶的完整性檢查參數(shù);所述第二替換模塊,用于在解碼前的消息中將完整性檢查信息字段的內(nèi)容 恢復(fù)到在發(fā)送端進(jìn)行完整性檢查參數(shù)計(jì)算時(shí)的狀態(tài);所述第二計(jì)算模塊,用于對(duì)所述替換模塊恢復(fù)后的消息進(jìn)行完整性檢查參數(shù)計(jì)算。
21、 根據(jù)權(quán)利要求20所述的消息收發(fā)裝置,其特征在于,所述第二完整 性檢查模塊還包括比較模塊;所述比較模塊,用于比較所述存儲(chǔ)模塊中保存的 完整性檢查參數(shù)與所述計(jì)算模塊計(jì)算得到恢復(fù)后消息的完整性檢查參數(shù)是否一致。
22、 根據(jù)權(quán)利要求19所述所述的消息收發(fā)裝置,其特征在于,所述第一 完整性檢查模塊包括第一替換模塊和第一計(jì)算模塊;所述第一替換模塊,用于在編碼后的消息中,在完整性檢查信息字段中, 置入完整性檢查參數(shù);所述第一計(jì)算模塊,用于對(duì)所述編碼模塊后的消息進(jìn)行完整性檢查參數(shù)計(jì)算。
全文摘要
本發(fā)明公開了進(jìn)行消息完整性保護(hù)的方法,其核心思想是,利用抽象語(yǔ)法符號(hào)碼流的特點(diǎn),對(duì)其中完整性檢查信息字段的內(nèi)容進(jìn)行直接處理;在發(fā)送端執(zhí)行時(shí),可以是置入計(jì)算得到的完整性檢查參數(shù)等,以獲得可發(fā)送的包含完整性檢查參數(shù)的消息碼流;在接收端執(zhí)行時(shí),可以是將該段內(nèi)容恢復(fù)回發(fā)送端進(jìn)行完整檢查計(jì)算時(shí)的初始狀態(tài),使得可以直接進(jìn)行接收端的完整性檢查計(jì)算。本發(fā)明并提供相應(yīng)的消息發(fā)送、接收和收發(fā)裝置。采用本發(fā)明使得進(jìn)行消息完整性保護(hù)的發(fā)送、接收過(guò)程中只需要執(zhí)行一次編碼或解碼,有效簡(jiǎn)化了處理過(guò)程,縮短系統(tǒng)時(shí)延,提高了處理效率。
文檔編號(hào)H04L1/00GK101123605SQ200610109328
公開日2008年2月13日 申請(qǐng)日期2006年8月10日 優(yōu)先權(quán)日2006年8月10日
發(fā)明者李亞娟 申請(qǐng)人:華為技術(shù)有限公司