进行消息完整性保护的方法及装置转让专利

申请号 : CN200610109328.2

文献号 : CN101123605B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李亚娟

申请人 : 华为技术有限公司

摘要 :

本发明公开了进行消息完整性保护的方法,其核心思想是,利用抽象语法符号码流的特点,对其中完整性检查信息字段的内容进行直接处理;在发送端执行时,可以是置入计算得到的完整性检查参数等,以获得可发送的包含完整性检查参数的消息码流;在接收端执行时,可以是将该段内容恢复回发送端进行完整检查计算时的初始状态,使得可以直接进行接收端的完整性检查计算。本发明并提供相应的消息发送、接收和收发装置。采用本发明使得进行消息完整性保护的发送、接收过程中只需要执行一次编码或解码,有效简化了处理过程,缩短系统时延,提高了处理效率。

权利要求 :

1.一种在发送端进行消息完整性保护的方法,其特征在于,包括步骤:对消息进行抽象语法符号编码,所述消息结构中包含完整性检查信息,所述完整性检查信息包含消息鉴权码字段和消息序列号字段,所述消息鉴权码字段的内容设置为信令承载标识,所述消息序列号字段的内容设置为零;

计算编码后消息的完整性检查参数;

在编码后的消息中,对完整性检查信息字段的内容进行替换,将与消息鉴权码字段对应的内容替换为所述完整性检查参数,将与消息序列号字段对应的内容替换为与所述信令承载标识对应的消息序列号;

发送包含完整性检查参数的消息。

2.根据权利要求1所述的在发送端进行消息完整性保护的方法,其特征在于,所述对消息进行抽象语法符号编码中,采用的抽象语法符号是版本一的抽象语法符号。

3.根据权利要求2所述的在发送端进行消息完整性保护的方法,其特征在于,所述对完整性检查信息字段的内容进行替换,具体为,将消息编码后的比特流从第二到第三十三位替换为完整性检查参数,另外,将完整性检查信息字段中第三十四到第三十七位替换为与所述信令承载标识对应的消息序列号。

4.根据权利要求1~3任意一项所述的在发送端进行消息完整性保护的方法,其特征在于,所述计算编码后消息的完整性检查参数,具体为对编码后消息进行哈希计算得到消息鉴权码,所述完整性检查参数为消息鉴权码。

5.一种在接收端进行消息完整性保护的方法,用于处理采用权利要求1~4任意一项所述的方法发送的消息,其特征在于,包括步骤:对收到的消息进行抽象语法符号解码,获得并保存其完整性检查信息字段所携带的完整性检查参数;

在解码前的消息中,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态;

计算恢复后消息的完整性检查参数;

比较收到的消息中的完整性检查参数与计算得到的完整性检查参数是否一致,根据比较结果判断该消息是否被篡改。

6.根据权利要求5所述的在接收端进行消息完整性保护的方法,其特征在于,若所述比较的结果为不一致,则判断该消息被篡改,丢弃该消息。

7.根据权利要求5所述的在接收端进行消息完整性保护的方法,其特征在于,所述对消息进行抽象语法符号解码中,采用的抽象语法符号是版本一的抽象语法符号。

8.根据权利要求5所述的在接收端进行消息完整性保护的方法,其特征在于,所述将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态包括,将解码前消息的比特流从第二到第三十三位替换为信令承载标识,从第三十四到第三十七位替换为零。

9.根据权利要求5~8任意一项所述的在接收端进行消息完整性保护的方法,其特征在于,所述计算恢复后消息的完整性检查参数,具体为对编码后消息进行哈希计算得到消息鉴权码,所述完整性检查参数为消息鉴权码。

10.一种进行消息完整性保护的方法,其特征在于,包括步骤:

发送端对消息进行抽象语法符号编码,所述消息结构中包含完整性检查信息,所述完整性检查信息包含消息鉴权码字段和消息序列号字段,所述消息鉴权码字段的内容设置为信令承载标识,所述消息序列号字段的内容设置为零;

发送端计算编码后消息的完整性检查参数;

发送端在编码后的消息中,对完整性检查信息字段的内容进行替换,将与消息鉴权码字段对应的内容替换为所述完整性检查参数,将与消息序列号字段对应的内容替换为与所述信令承载标识对应的消息序列号;

发送端发送包含完整性检查参数的消息;

接收端对收到的消息进行抽象语法符号解码,获得并保存其完整性检查信息字段所携带的完整性检查参数;

接收端在解码前的消息中,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态;

接收端计算恢复后消息的完整性检查参数;

接收端比较收到的消息中的完整性检查参数与计算得到的完整性检查参数是否一致,根据比较结果判断该消息是否被篡改。

11.根据权利要求10所述的进行消息完整性保护的方法,其特征在于,所述发送端和接收端对消息进行抽象语法符号编码/解码中,采用的抽象语法符号是版本一的抽象语法符号。

12.根据权利要求11所述的进行消息完整性保护的方法,其特征在于,所述发送端对完整性检查信息字段的内容进行替换,具体为,将消息编码后的比特流从第二到第三十三位替换为计算得到的消息鉴权码,从第三十四到第三十七位替换为与所述信令承载标识对应的消息序列号;所述接收端将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态包括,将解码前消息的比特流从第二到第三十三位替换为信令承载标识,从第三十四到第三十七位替换为零。

13.一种消息发送装置,其特征在于,包括:

用于对消息进行抽象语法符号编码的模块,所述消息结构中包含完整性检查信息,所述完整性检查信息包含消息鉴权码字段和消息序列号字段,所述消息鉴权码字段的内容设置为信令承载标识,所述消息序列号字段的内容设置为零;

用于计算编码后消息的完整性检查参数的模块;

用于在编码后的消息中,对完整性检查信息字段的内容进行替换,将与消息鉴权码字段对应的内容替换为所述完整性检查参数,将与消息序列号字段对应的内容替换为与所述信令承载标识对应的消息序列号的模块;

用于发送包含完整性检查参数的消息的模块。

14.一种消息接收装置,用于接收和处理权利要求13所述的装置发送的消息,其特征在于,包括接收模块、解码模块、第二完整性检查模块;

所述接收模块,用于接收以抽象语法符号编码的消息;

所述解码模块,用于对所述接收模块收到的消息进行抽象语法符号解码,在消息中存在完整性检查信息字段时通知所述第二完整性检查模块进行完整性检查处理;

所述第二完整性检查模块包括存储模块、替换模块、计算模块和比较模块;

所述存储模块,用于获得并保存消息的完整性检查信息字段所携带的完整性检查参数;

所述替换模块,用于在解码前的消息中将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态;

所述计算模块,用于对所述替换模块恢复后的消息进行完整性检查参数计算;

所述比较模块,用于比较所述存储模块中保存的完整性检查参数与所述计算模块计算得到的完整性检查参数是否一致。

15.一种消息收发装置,其特征在于,包括:

用于对消息进行抽象语法符号编码,所述消息结构中包含完整性检查信息,所述完整性检查信息包含消息鉴权码字段和消息序列号字段,所述消息鉴权码字段的内容设置为信令承载标识,所述消息序列号字段的内容设置为零的模块;

用于计算编码后消息的完整性检查参数的模块;

用于在编码后的消息中,对完整性检查信息字段的内容进行替换,将与消息鉴权码字段对应的内容替换为所述完整性检查参数,将与消息序列号字段对应的内容替换为与所述信令承载标识对应的消息序列号的模块;

用于发送包含完整性检查参数的消息的模块;

用于对收到的消息进行抽象语法符号解码,获得并保存其完整性检查信息字段所携带的完整性检查参数的模块;

用于在解码前的消息中,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态的模块;

用于计算恢复后消息的完整性检查参数的模块;

用于比较收到的消息中的完整性检查参数与计算得到的完整性检查参数是否一致,根据比较结果判断该消息是否被篡改的模块。

说明书 :

技术领域

本发明涉及通讯技术领域,具体涉及在发送端、接收端进行消息完整性保护的方法以及相应的消息发送、接收和收发装置。

背景技术

为了防止在通讯过程中某些消息,例如信令等,被非法篡改,第三代合作项目(3GPP:3rd Generation Partnership Project)中对信令实行了完整性保护。完整性保护一般是对需要保护的消息采用某种算法进行计算后得到一个完整性检查参数,然后将该参数随同消息一起发送(一般是置于消息数据之前或之后),接收端再采用相同的算法对收到的消息计算得到另一个完整性检查参数,如果计算得到完整性检查参数与收到的不同,则说明消息可能已经被篡改,一般会丢弃该消息数据,以此实现对消息完整性的保护。
以用户设备接收无线网络控制器(RNC:Radio Network Controller)发送的下行消息,以及用户设备向RNC发送上行消息为例,在现有技术中,上述完整性保护方法的实现过程为:
一、用户设备作为接收端,如图1所示,包括:
a1、用户设备接收到以抽象语法符号版本一(ASN.1:Abstract SyntaxNotation one)编码的下行消息;
a2、进行ASN.1解码,若该消息是采用了完整性保护的消息,则消息结构中存在信息元素“完整性检查信息”(Integrity Check Info),保存“完整性检查信息”中的消息鉴权码(MAC:Message Authentication Code);
a3、设置消息结构中的信息元素“完整性检查信息”中的MAC为信令承载标识(SRB ID:Signalling radio bearer),设置“完整性检查信息”中的无线资源控制(RRC:Radio Resource Control)消息序列号(RRC Message SequenceNumber)为0;
a4、对设置后的消息进行ASN.1编码;
a5、采用哈希算法计算编码后消息的哈希值作为计算得到的MAC,比较计算得到的MAC的值与之前保存的MAC值是否一致。
在上述过程中,为了对收到的消息进行完整性检查参数MAC的计算,用户设备需要先将消息解码,然后替换解码后消息结构中的“完整性检查信息”为其在发送端进行MAC计算时的状态,然后再进行编码和计算,用户设备需要执行一次解码和一次编码。
二、用户设备作为发送端,如图2所示,包括:
b1、用户设备组织上行消息内容,设置消息结构中的信息元素“完整性检查信息”中的MAC为SRB ID,设置“完整性检查信息”中的RRC消息序列号值为0;
b2、对消息进行ASN.1编码;
b3、采用哈希算法计算编码后消息的MAC值;
b4、替换编码前消息结构中的信息元素“完整性检查信息”中的MAC为计算出来的MAC值,替换“完整性检查信息”中的RRC消息序列号为与SRBID相应的RRC消息序列号值(该值存在于变量INTEGRITY_PROTECTION_INFO的″Uplink RRC Message sequence number″中);
b5、对替换后的消息进行ASN.1编码并发送。
在上述过程中,为了计算消息的MAC值并把它放到消息中,用户设备需要先对消息进行编码以进行计算,然后将MAC值放入编码前的消息结构中并再次编码以进行发送,用户设备需要执行两次编码。
从上述收发过程可以看出,在现有技术中一条需要进行完整性保护的消息从发送端到接收端共需要经过四次编码/解码,这必然会增加系统延时,影响处理效率。

发明内容

本发明的目的在于提供在发送端、接收端进行消息完整性保护的方法以及相应的消息发送、接收和收发装置,以简化收发端完整性保护处理过程,缩短系统延时,优化系统效率。
为达到本发明的目的,所采取的技术方案是:一种在发送端进行消息完整性保护的方法,包括步骤:
对消息进行抽象语法符号编码,所述消息结构中包含完整性检查信息,所述完整性检查信息包含消息鉴权码字段和消息序列号字段,所述消息鉴权码字段的内容设置为信令承载标识,所述消息序列号字段的内容设置为零;计算编码后消息的完整性检查参数;在编码后的消息中,对完整性检查信息字段的内容进行替换,将与消息鉴权码字段对应的内容替换为所述完整性检查参数,将与消息序列号字段对应的内容替换为与所述信令承载标识对应的消息序列号;发送包含完整性检查参数的消息。
所述对消息进行抽象语法符号编码中,采用的抽象语法符号是版本一的抽象语法符号。
所述对完整性检查信息字段的内容进行替换,具体为,将消息编码后的比特流从第二到第三十三位替换为完整性检查参数,另外,将完整性检查信息字段中第三十四到第三十七位替换为与所述信令承载标识对应的消息序列号。
所述计算编码后消息的完整性检查参数,具体为对编码后消息进行哈希计算得到消息鉴权码,所述完整性检查参数为消息鉴权码。
一种在接收端进行消息完整性保护的方法,用于处理采用上述方法发送的消息,包括步骤:
对收到的消息进行抽象语法符号解码,获得并保存其完整性检查信息字段所携带的完整性检查参数;在解码前的消息中,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态;计算恢复后消息的完整性检查参数;比较收到的消息中的完整性检查参数与计算得到的完整性检查参数是否一致,根据比较结果判断该消息是否被篡改。
若所述比较的结果为不一致,则判断该消息被篡改,丢弃该消息。
所述对消息进行抽象语法符号解码中,采用的抽象语法符号是版本一的抽象语法符号。
所述将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态包括,将解码前消息的比特流从第二到第三十三位替换为信令承载标识,从第三十四到第三十七位替换为零。
所述计算恢复后消息的完整性检查参数,具体为对编码后消息进行哈希计算得到消息鉴权码,所述完整性检查参数为消息鉴权码。
一种进行消息完整性保护的方法,包括步骤:
发送端对消息进行抽象语法符号编码,所述消息结构中包含完整性检查信息,所述完整性检查信息包含消息鉴权码字段和消息序列号字段,所述消息鉴权码字段的内容设置为信令承载标识,所述消息序列号字段的内容设置为零;发送端计算编码后消息的完整性检查参数;发送端在编码后的消息中,对完整性检查信息字段的内容进行替换,将与消息鉴权码字段对应的内容替换为所述完整性检查参数,将与消息序列号字段对应的内容替换为与所述信令承载标识对应的消息序列号;发送端发送包含完整性检查参数的消息;接收端对收到的消息进行抽象语法符号解码,获得并保存其完整性检查信息字段所携带的完整性检查参数;接收端在解码前的消息中,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态;接收端计算恢复后消息的完整性检查参数;接收端比较收到的消息中的完整性检查参数与计算得到的完整性检查参数是否一致,根据比较结果判断该消息是否被篡改。
所述发送端和接收端对消息进行抽象语法符号编码/解码中,采用的抽象语法符号是版本一的抽象语法符号。
所述发送端对完整性检查信息字段的内容进行替换,具体为,将消息编码后的比特流从第二到第三十三位替换为计算得到的消息鉴权码,从第三十四到第三十七位替换为与所述信令承载标识对应的消息序列号;所述接收端将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态包括,将解码前消息的比特流从第二到第三十三位替换为信令承载标识,从第三十四到第三十七位替换为零。
一种消息发送装置,包括:用于对消息进行抽象语法符号编码的模块,所述消息结构中包含完整性检查信息,所述完整性检查信息包含消息鉴权码字段和消息序列号字段,所述消息鉴权码字段的内容设置为信令承载标识,所述消息序列号字段的内容设置为零;用于计算编码后消息的完整性检查参数的模块;用于在编码后的消息中,对完整性检查信息字段的内容进行替换,将与消息鉴权码字段对应的内容替换为所述完整性检查参数,将与消息序列号字段对应的内容替换为与所述信令承载标识对应的消息序列号的模块;用于发送包含完整性检查参数的消息的模块。
一种消息接收装置,用于接收和处理上述消息发送装置发送的消息,包括接收模块、解码模块、第二完整性检查模块;所述接收模块,用于接收以抽象语法符号编码的消息;所述解码模块,用于对所述接收模块收到的消息进行抽象语法符号解码,在消息中存在完整性检查信息字段时通知所述第二完整性检查模块进行完整性检查处理;所述第二完整性检查模块包括存储模块、替换模块、计算模块和比较模块;所述存储模块,用于获得并保存消息的完整性检查信息字段所携带的完整性检查参数;所述替换模块,用于在解码前的消息中将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态;所述计算模块,用于对所述替换模块恢复后的消息进行完整性检查参数计算;所述比较模块,用于比较所述存储模块中保存的完整性检查参数与所述计算模块计算得到的完整性检查参数是否一致。
一种消息收发装置,包括:用于对消息进行抽象语法符号编码,所述消息结构中包含完整性检查信息,所述完整性检查信息包含消息鉴权码字段和消息序列号字段,所述消息鉴权码字段的内容设置为信令承载标识,所述消息序列号字段的内容设置为零的模块;用于计算编码后消息的完整性检查参数的模块;用于在编码后的消息中,对完整性检查信息字段的内容进行替换,将与消息鉴权码字段对应的内容替换为所述完整性检查参数,将与消息序列号字段对应的内容替换为与所述信令承载标识对应的消息序列号的模块;用于发送包含完整性检查参数的消息的模块;用于对收到的消息进行抽象语法符号解码,获得并保存其完整性检查信息字段所携带的完整性检查参数的模块;用于在解码前的消息中,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态的模块;用于计算恢复后消息的完整性检查参数的模块;用于比较收到的消息中的完整性检查参数与计算得到的完整性检查参数是否一致,根据比较结果判断该消息是否被篡改的模块。
采用上述技术方案,本发明有益的技术效果在于:
1)本发明采用在进行了抽象语法符号编码的消息码流中,对完整性检查信息字段的内容进行直接替换,以获得可发送的包含完整性检查参数的消息码流,或获得可进行完整性检查计算的初始消息码流状态,使得发送、接收过程中只需要执行一次编码或解码,有效简化了处理过程,缩短系统时延,提高了处理效率。
2)本发明还针对现有技术中使用的抽象语法符号版本给出了具体的替换执行方案,优化了现有技术的完整性保护方案。

附图说明

下面通过具体实施方式并结合附图对本发明作进一步的详细说明。
图1是现有在接收端执行完整性保护方法流程示意图;
图2是现有在发送端执行完整性保护方法流程示意图;
图3是本发明实施例一在发送端进行消息完整性保护的方法流程示意图;
图4是经过ASN.1编码后的消息码流示意图;
图5是本发明实施例二在接收端进行消息完整性保护的方法流程示意图;
图6是本发明实施例三消息发送装置模块结构示意图;
图7是本发明实施例四消息接收装置模块结构示意图;
图8是本发明实施例五消息收发装置模块结构示意图。

具体实施方式

本发明提供进行消息完整性保护的方法,其核心思想是,利用抽象语法符号码流的特点,对其中完整性检查信息字段的内容进行直接处理;在发送端执行时,可以是置入计算得到的完整性检查参数等,以获得可发送的包含完整性检查参数的消息码流;在接收端执行时,可以是将该段内容恢复回发送端进行完整检查计算时的初始状态,使得可以直接进行接收端的完整性检查计算。基于现有消息的数据结构,对完整性检查信息字段的处理一般可采用替换形式进行,本发明的实施例即基于此种形式给出;若基于不同数据结构而采用的其他对完整性检查信息字段内容进行直接处理的方式,不脱离本发明的保护范围。本发明并提供相应的消息发送、接收装置。以下分别对本发明方法和装置进行详细说明。
实施例一、一种在发送端进行消息完整性保护的方法,流程如图3所示,包括:
A1、发送端组织上行消息内容,由于该消息是需要进行完整性保护的消息,因此消息结构中包含有信息元素“完整性检查信息”,将消息结构中的信息元素“完整性检查信息”中的MAC设置为SRB ID,将“完整性检查信息”中的RRC消息序列号值设置为0;
A2、对消息进行抽象语法符号编码,本例中采用ASN.1;
编码后的消息码流如图4所示,由图4可以看出,ASN.1编码后的码流从最高位比特到最低位比特(bit),第一个比特是标识位,即图4中的F,标识是否存在信息元素“完整性检查信息”,如果为0则不存在,如果为1则存在,在本发明中,针对的是为1的情况;后续的32位比特是MAC,即图4中的M;再后面的4位比特是RRC消息序列号,即图4中的S。
A3、计算编码后消息的MAC;本实施例中采用哈希算法进行计算,即,对码流用哈希函数计算其哈希值;
哈希算法是将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式,如果消息码流中的部分被篡改,哪怕只更改了其中的一个比特,随后的哈希计算都将产生不同的值。因此,可用消息码流的哈希值来检验消息的完整性。
A4、在编码后的消息中,对完整性检查信息字段的内容进行直接替换,对应图4中的数据结构,将消息编码后的比特流从第二到第三十三位替换为计算得到的MAC值,从第三十四到第三十七位替换为与SRB ID相应的RRC消息序列号值,就得到了包含MAC值的消息码流;
A5、发送替换后的包含MAC值的消息码流。
在上述发送端的完整性保护执行过程中,待发送的消息只需要进行一次ASN.1编码,计算得到的MAC值直接替换入消息码流中,简化了处理过程。
实施例二、一种在接收端进行消息完整性保护的方法,流程如图5所示,包括:
B1、接收端对收到的以抽象语法符号编码的消息码流进行解码,本例中采用ASN.1;若该消息是采用了完整性保护的消息,则消息结构中存在信息元素“完整性检查信息”,获得并保存“完整性检查信息”中的MAC值;
B2、在解码前的消息中,对完整性检查信息字段的内容进行直接替换,对应图4中的数据结构,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态,即,将接收到的比特流从第二到第三十三位替换为SRB ID,从第三十四到第三十七位替换为0;
B3、计算替换后消息的MAC,本实施例中采用哈希算法进行计算,当然所采用的哈希函数需要与发送端进行MAC计算时所使用的相同;
B4、比较收到的消息中的MAC值与计算得到的MAC值是否一致,根据比较结果判断消息是否被篡改,并对消息执行相应的判断操作,例如如果计算值不符合,则判断消息被篡改,丢弃或删除该消息。
在上述接收端的完整性保护执行过程中,接收到的消息只需要进行一次ASN.1解码,对消息的MAC计算在直接对消息码流进行恢复性替换后进行,简化了处理过程。
实施例一和实施例二分别提供的在发送、接收端进行消息完整性保护的方法可以不受干扰的彼此独立使用,即,某发送/接收端可以单独采用上述简化的完整性保护实施方法达到简化自身完整性保护处理过程的目的,而并不依赖于其对端采用了相应的简化处理方法。当然上述方法也可以在一对发送、接收端配合使用,作为消息从发送到接收的一套完整性保护方法,达到节省系统时延的最佳效果。
以下对相应于上述完整性保护方法的执行装置进行说明。
实施例三、一种消息发送装置,如图6所示,包括编码模块1、第一完整性检查模块2、发送模块3;
编码模块1,用于对消息进行抽象语法符号编码;
第一完整性检查模块2,用于计算经编码模块1编码后消息的完整性检查参数,并在编码后的消息中对完整性检查信息字段的内容进行直接替换,将完整性检查参数置入其中;
发送模块3,用于发送完整性检查模块2生成的包含完整性检查参数的消息。
第一完整性检查模块2包括第一替换模块和第一计算模块;
第一替换模块,用于在编码后的消息中,在完整性检查信息字段中,置入完整性检查参数;
第一计算模块,用于对所述编码模块后的消息进行完整性检查参数计算。
本实施例消息发送装置可以采用实施例一中所提供的在发送端进行消息完整性保护的方案,即采用相应ASN.1的编码及码流替换方式。
实施例四、一种消息接收装置,如图7所示,包括接收模块4、第二完整性检查模块5、解码模块6;
接收模块4,用于接收以抽象语法符号编码的消息;
解码模块6,用于对接收模块4收到的消息进行抽象语法符号解码,在消息中存在完整性检查信息字段时通知完整性检查模块5进行完整性检查处理;
第二完整性检查模块5包括存储模块51、第二替换模块52、第二计算模块53、比较模块54;
存储模块51,用于获得并保存消息的完整性检查信息字段所携带的完整性检查参数;
第二替换模块52,用于在解码前的消息中对完整性检查信息字段的内容进行直接替换,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态;
第二计算模块53,用于采用哈希算法对替换模块52替换后的消息进行完整性检查参数计算;
比较模块54,用于比较存储模块51中保存的完整性检查参数与计算模块53计算得到的完整性检查参数是否一致,并对消息执行相应的判断操作,例如如果计算值不符合,则判断消息被篡改,丢弃或删除该消息。
本实施例消息接收装置可以采用实施例二中所提供的在接收端进行消息完整性保护的方案,即采用相应ASN.1的解码及码流替换方式。
实施例三和实施例四分别提供的消息发送、接收装置可独立设置于需要进行消息发送或接收的设备上,处理相应的消息发送或接收流程。当然,对于大多数设备,例如用户设备、RNC等,往往既是消息的发送方同时也会作为消息的接收方,这些设备可以单独在发送部分或接收部分采用本发明提供的上述装置,当然也可以采用融合上述发送、接收装置的收发装置来执行需要进行完整性保护的消息收发过程,具体结构如下所述。
实施例五、一种消息收发装置,如图8所示,包括发送模块7、接收模块8、编码模块9、解码模块10、完整性检查模块11;
接收模块8,用于接收以抽象语法符号编码的消息;
解码模块10,用于对接收模块8收到的消息进行抽象语法符号解码,在消息中存在完整性检查信息字段时通知完整性检查模块11进行接收完整性检查处理;
编码模块9,用于对需要发送的消息进行抽象语法符号编码;
完整性检查模块11包括存储模块111、替换模块112、计算模块113、比较模块114;
存储模块111,用于获得并保存接收到的消息的完整性检查信息字段所携带的完整性检查参数;
替换模块112,用于在编码模块9编码后的消息中对完整性检查信息字段的内容进行直接替换,将计算模块113计算得到的该消息的完整性检查参数置入其中;或在解码前的消息中对完整性检查信息字段的内容进行直接替换,将完整性检查信息字段的内容恢复到该消息在发送端进行完整性检查参数计算时的状态;
计算模块113,用于采用哈希算法对编码模块9编码后的消息或替换模块112替换后的消息进行完整性检查参数计算;
比较模块114,用于比较存储模块111中保存的完整性检查参数与计算模块113计算得到替换后消息的完整性检查参数是否一致,并对消息执行相应的判断操作,例如如果计算值不符合,则判断消息被篡改,丢弃或删除该消息。
发送模块7,用于发送完整性检查模块11的替换模块112生成的包含完整性检查参数的消息。
完整性检查模块11也可以由第一完整性检查模块和第二完整性检查模块组成;第一完整性检查模块,用于计算经编码模块编码后消息的完整性检查参数,并在编码后的消息中对完整性检查信息字段的内容进行直接替换,将完整性检查参数置入其中;第二完整性检查模块,用于在解码前的消息中将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态,并计算恢复后消息的完整性检查参数。
第一完整性检查模块包括第一替换模块和第一计算模块;
第一替换模块,用于在编码后的消息中,在完整性检查信息字段中,置入完整性检查参数;
第一计算模块,用于对所述编码模块后的消息进行完整性检查参数计算。
第二完整性检查模块包括存储模块、第二替换模块、第二计算模块、比较模块;
存储模块,用于获得并保存消息的完整性检查信息字段所携带的完整性检查参数;
第二替换模块,用于在解码前的消息中对完整性检查信息字段的内容进行直接替换,将完整性检查信息字段的内容恢复到在发送端进行完整性检查参数计算时的状态;
第二计算模块,用于采用哈希算法对替换模块替换后的消息进行完整性检查参数计算;
比较模块,用于比较存储模块中保存的完整性检查参数与计算模块计算得到的完整性检查参数是否一致,并对消息执行相应的判断操作,例如如果计算值不符合,则判断消息被篡改,丢弃或删除该消息。
本实施例消息接收装置可以在发送和接收消息时分别采用实施例一和二中所提供的进行消息完整性保护的方案。
以上对本发明所提供的在发送端、接收端进行消息完整性保护的方法以及相应的消息发送、接收装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。