一种多播/广播中信息完整性保护的方法

文档序号:7946683阅读:205来源:国知局
专利名称:一种多播/广播中信息完整性保护的方法
技术领域
本发明涉及在无线通信领域中信息安全技术,具体地说,涉及多播/广播中广播信令完整性保护的方法。
背景技术
在无线通信领域中,多播/广播业务是一种点到多点的单向承载业务,数据由一个源实体传送到多个接收实体。这种一点到多点的通信信息,传送的信息可以是广播业务信息,也可以是用于控制业务的广播信令信息。多播/广播服务器能够提供多播/广播服务,并可以兼有密钥生成管理功能,多播/广播服务器的功能可以由新的功能实体或现有网络的一个或多个功能实体来共同完成。
在现有的多播/广播业务中,业务信息已经被考虑加密发送以防止无权限的用户使用业务信息,比如,多播/广播服务器使用群组共享密钥对业务信息加密,多播/广播群组内的用户使用群组共享密钥对数据进行解密。对于广播信令信息而言,加密并不是必要的,因为广播信令信息仅仅是代表某种控制动作,但是其完整性保护应该是必须的,尤其是对于一些重要的单向信令,例如,密钥更新启动信令或者密钥更新命令等。如果广播的信令消息不进行保护,攻击者可能对广播的信令消息更改或伪造,或者是复制,导致用户错误接收多播/广播业务数据,或多播/广播系统不能正常运行等更严重的后果。而目前尚未有对广播信令提供完整性保护的方法。

发明内容
本发明的目的在于提供一种多播/广播中信息完整性保护的方法,以防止攻击者复制或修改广播信息而发送错误广播信息。
本发明通过以下技术方案实现一种广播信息完整性的保护方法,该方法包括,A)多播/广播服务器与用户协商完整性密钥后,多播/广播服务器至少以完整性密钥和广播信息为变量进行运算,生成多播/广播服务器数字签名,并广播发送广播信息和多播/广播服务器数字签名给用户;B)用户以协商的完整性密钥和接收的广播信息为变量进行运算,生成用户侧数字签名,判断用户数字签名是否与多播/广播服务器数字签名相同,如果是,则判决接收的广播信息有效,否则判决接收的广播信息无效。
上述用于生成多播/广播服务器数字签名的变量进一步包括当前多播/广播服务器参数,并且该参数值广播至用户,用于生成用户数字签名的变量进一步包括用户接收的当前多播/广播服务器参数。
所述步骤B之前进一步包括,判断用户接收的当前多播/广播服务器参数是否符合用户参数的要求,如果是,则执行步骤B,否则,丢弃该广播信息。
所述当前多播/广播服务器参数为其时戳值。所述判断用户接收的当前多播/广播服务器参数是否符合用户参数的要求包括,判断所述时戳值是否在用户时钟值的时间窗内。
所述当前多播/广播服务器参数值为其增1计数器的当前值。所述判断用户接收的当前多播/广播服务器参数是否符合用户参数的要求包括,判断所述增1计数器的当前值是否不小于用户数字寄存器的值;如果用户数字签名与多播/广播服务器数字签名相同,该方法进一步包括,将接收的增1计数器的值赋值给用户数字寄存器。
较佳地,设置所述完整性密钥可进行更新,设置所述增1计数器的长度在生命周期内的计数器值不重复。
完整性密钥进行更新或用户开机或从非服务区转入服务区或多播/广播服务器故障恢复后,步骤A所述多播/广播服务器与用户协商完整性密钥包括,A1)多播/广播服务器接收到用户的服务请求后,生成业务信息的加密密钥和完整性密钥;A2)用预先与用户共同保存的私钥加密业务信息的加密密钥和完整性密钥,并广播发送至用户,A3)用户接收到被加密的完整性密钥信息后,用用户私钥解密来自多播/广播服务器的业务信息的加密密钥和完整性密钥并保存。
所述步骤A2进一步包括,多播/广播服务器提取其增1计数器的值,伴随加密了的业务信息的加密密钥和完整性密钥发送给用户;所述步骤A3进一步包括,用户使用私钥验证来自多播/广播服务器的加密了的业务信息的加密密钥和完整性密钥信息是否完整,如果是,将接收的增1计数器的值赋值给用户的数字寄存器,并向多播/广播服务器发送确认消息,否则,向多播/广播服务器发送错误消息,并返回步骤A2。
本发明通过对多播/广播服务器的广播信息进行数字签名,可以有效防止多播/广播中信息被攻击者修改或伪造。在广播的信息中增加时间戳,可以防止攻击者重复使用多播/广播服务器广播的信息。通过接收端比较来自多播/广播服务器增1计数器的值和数字寄存器的值,可以防止攻击者重复使用多播/广播服务器广播的信息。完整性的密钥周期与业务信息的加密密钥周期相同有利于增加安全性,同时通过与业务信息的加密密钥协同工作,不增加实现的复杂性。本发明不仅可应用于对广播信令进行完整性保护,也可应用于对广播的业务信息进行完整性保护。


图1为完整性密钥协商过程;图2示意了生成多播/广播服务器数字签名过程;图3示意了用户进行完整性验证的处理过程,其中,图3a为多播/广播服务器参数使用时戳值时用户进行完整性验证的方法,图3b为多播/广播服务器参数使用增1计数器的当前值时用户进行完整性验证的方法。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
在多播/广播业务中,为保证安全性,业务信息的加密密钥通常进行定期更新,因此作为完整性保护的完整性密钥也可进行定期更新,更新的周期与业务信息的加密密钥更新周期相同。
当用户开机通过身份认证后,或者从非服务区转入服务区,或者完整性密钥进行了更新,或者多播/广播服务器故障恢复后,多播/广播服务器与每个用户或每个群组的用户单独进行完整性密钥协商,用户获得协商的完整性密钥后,可对接收的广播信息进行完整性验证。
完整性密钥协商可以与业务信息的加密密钥协商同时进行,具体的过程如图1所示。过程如下步骤101,用户加入多播广播业务时,向多播/广播服务器发送请求服务的消息;步骤102,多播/广播服务器生成业务信息的加密密钥、以及信息完整性密钥,通过预先与该用户共同保存的私钥加密业务信息的加密密钥和完整性密钥,并通过相关信息携带被加密了的业务信息的加密密钥和完整性密钥发送给用户,同时提取多播/广播服务器中增1计数器的当前值,伴随被加密了的业务信息的加密密钥和完整性密钥发给用户;步骤103,用户收到该信息后,为保护该信息的完整性,判断接收的增1计数器的当前值是否不小于用户数字寄存器的值,如果是,则对该信息进行完整性验证,例如进行循环冗余校验(CRC),或使用用户的私钥对该信息进行验证,当验证通过时,将接收的增1计数器的当前值赋值给用户数字寄存器的值,然后执行步骤104。如果接收的增1计数器的当前值大于用户数字寄存器的值,或者该信息的完整性验证不通过,则说明发生异常情况,此时用户向多播/广播服务器返回错误信息,多播/广播服务器返回步骤102;步骤104,采用用户的私钥解密被加密了的业务信息的加密密钥和完整性密钥,并作为下次广播信息的业务信息的加密密钥和完整性密钥进行保存,然后用户向多播/广播服务器发送确认消息。
上述增1计数器只在多播/广播服务器中才有,每发送一条广播信息,其值增加1,在进行一次密钥协商过程时,用户的数字寄存器的值都会被用户所接收的增1计数器的当前值进行一次赋值。为了保证增1计数器的值在系统生命周期内不会溢出,增1计数器的长度应保证在系统生命周期内计数器值不会重复,通常增1计数器的位数至少取为64bit。
上述多播/广播服务器生成业务信息的加密密钥和完整性密钥可以是一个随机数,也可以是预先设定的一组密钥数,或是其他方式生成的一组密钥,密钥长度不低于128bit。
用户和多播/广播服务器进行完整性密钥协商完毕后,当多播/广播服务器发送广播信息时,在多播/广播服务器侧,由多播/广播服务器生成多播/广播服务器数字签名,将数字签名和广播信息附带在一起发送;在用户侧,由接收信息的用户计算用户数字签名,根据多播/广播服务器数字签名与用户数字签名是否相同判定广播信息的完整性。以下进行详细说明。
参见图2所示,图2示意了生成多播/广播服务器数字签名过程,具体过程如下首先,步骤201,为了防止复制攻击,当发送广播信息时,多播/广播服务器中提取其时戳值或者增1计数器的当前值作为多播/广播服务器参数。其中,时戳值可以精确到秒级,包含年、月、日、时、分、以及秒;增1计数器的初始值为0,每发送一条广播信息,增1计数器将增加1。
其次,步骤202,通过完整性算法对完整性密钥、广播信息内容、以及多播/广播服务器参数进行运算生成摘要字即多播/广播服务器数字签名。设完整性密钥为int_key,广播信息内容为message,多播/广播服务器参数为one_value,多播/广播服务器数字签名为msg_digt,数学表达为msg_digt=f(int_key,message,one_value)其中,f()表示用于完整性保护的数字签名算法。
最后,步骤203,广播发送携带有多播/广播服务器数字签名、广播信息内容、以及多播/广播服务器参数的信息给所有的多播/广播用户。
参见图3所示,图3示意了用户进行完整性验证的处理过程,其中,图3a为多播/广播服务器参数使用时戳值时用户进行完整性验证的方法,图3b为多播/广播服务器参数使用增1计数器的当前值时用户进行完整性验证的方法。
当多播/广播服务器参数为时戳值时,用户完整性验证的步骤如下首先,步骤301,当用户接收到广播信息时,比较接收的时戳值是否符合用户的要求,即,用户提取本机的时钟值,比较接收的时戳值是否在该用户的时钟值的时间窗内,如果是,则执行步骤302,否则,说明该广播信息是无效信息,执行步骤306,丢弃该条广播信息并结束办流程;步骤302,用户取出保存的完整性密钥以及接收的时戳值和广播信息内容的值,用与多播/广播服务器即发送端相同的数字签名算法计算用户数字签名。设用户数字签名为msg_auth,数学表达为msg_auth=f(int_key,message,one_value)步骤303,判断用户数字签名与多播/广播服务器数字签名是否相等,如果是,即msg_auth=msg_digt,则执行步骤304,判定接收的广播信息有效,否则执行步骤305,判定该广播信息无效。若广播信息为信令信息,则执行该信令的动作。
当多播/广播服务器参数为增1计数器的当前值时,用户完整性验证的步骤如下首先,步骤401,当用户接收到广播信息时,比较接收的时戳值是否符合用户的要求,即,比较接收的增1计数器的当前值是否不小于用户数字寄存器内的值,如果是,则执行步骤402,否则,说明该广播信息是无效信息,执行步骤406,丢弃该条广播信息并结束办流程;步骤402,用户取出保存的完整性密钥以及接收的时戳值和广播信息内容的值,用与多播/广播服务器相同的数字签名算法计算用户数字签名。设用户数字签名为msg_auth,数学表达为msg_auth=f(int_key,message,one_value)步骤403,判断用户数字签名与多播/广播服务器数字签名是否相等,如果是,即msg_auth=msg_digt,则执行步骤404,判定接收的广播信息有效,并将接收的增1计数器的当前值赋值给用户数字寄存器的值,否则执行步骤405,判定接收的广播信息无效。若广播信息为信令信息,则执行该信令的动作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,例如所述广播信息可以是业务信息,也可以是信令信息,数字签名算法可以是各种算法。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种广播信息完整性的保护方法,其特征在于,该方法包括,A)多播/广播服务器与用户协商完整性密钥后,多播/广播服务器至少以完整性密钥和广播信息为变量进行运算,生成多播/广播服务器数字签名,并广播发送广播信息和多播/广播服务器数字签名给用户;B)用户以协商的完整性密钥和接收的广播信息为变量进行运算,生成用户侧数字签名,判断用户数字签名是否与多播/广播服务器数字签名相同,如果是,则判决接收的广播信息有效,否则判决接收的广播信息无效。
2.根据权利要求1所述的方法,其特征在于,用于生成多播/广播服务器数字签名的变量进一步包括当前多播/广播服务器参数,并且该参数值广播至用户,用于生成用户数字签名的变量进一步包括用户接收的当前多播/广播服务器参数。
3.根据权利要求2所述的方法,其特征在于,所述步骤B之前进一步包括,判断用户接收的当前多播/广播服务器参数是否符合用户参数的要求,如果是,则执行步骤B,否则,丢弃该广播信息并结束。
4.根据权利要求2或3所述的方法,其特征在于,所述当前多播/广播服务器参数为其时戳值。
5.根据权利要求4所述的方法,其特征在于,所述判断用户接收的当前多播/广播服务器参数是否符合用户参数的要求包括,判断所述时戳值是否在用户时钟值的时间窗内。
6.根据权利要求2或3所述的方法,其特征在于,所述当前多播/广播服务器参数值为其增1计数器的当前值。
7.根据权利要求6所述的方法,其特征在于,所述判断用户接收的当前多播/广播服务器参数是否符合用户参数的要求包括,判断所述增1计数器的当前值是否不小于用户数字寄存器的值;如果用户数字签名与多播/广播服务器数字签名相同,该方法进一步包括,将接收的增1计数器的值赋值给用户数字寄存器。
8.根据权利要求1所述的方法,其特征在于,设置所述完整性密钥可进行更新,设置所述增1计数器的长度在生命周期内计数器值不重复。
9.根据权利要求1所述的方法,其特征在于,完整性密钥进行更新或用户开机或从非服务区转入服务区或多播/广播服务器故障恢复后,步骤A所述多播/广播服务器与用户协商完整性密钥包括,A1)多播/广播服务器接收到用户的服务请求后,生成业务信息的加密密钥和完整性密钥;A2)用预先与用户共同保存的私钥加密业务信息的加密密钥和完整性密钥,并广播发送至用户,A3)用户接收到被加密的完整性密钥信息后,用用户私钥解密来自多播/广播服务器的业务信息的加密密钥和完整性密钥并保存。
10.根据权利要求9所述的方法,其特征在于,所述步骤A2进一步包括,多播/广播服务器提取其增1计数器的值,伴随加密了的业务信息的加密密钥和完整性密钥发送给用户;所述步骤A3进一步包括,用户使用私钥验证来自多播/广播服务器的加密了的业务信息的加密密钥和完整性密钥信息是否完整,如果是,将接收的增1计数器的值赋值给用户的数字寄存器,并向多播/广播服务器发送确认消息,否则,向多播/广播服务器发送错误消息,并返回步骤A2。
全文摘要
本发明公开了一种多播/广播中信息完整性保护的方法,该方法包括A)多播/广播服务器与用户协商完整性密钥后,多播/广播服务器至少以完整性密钥和广播信息为变量进行运算,生成多播/广播服务器数字签名,并广播发送广播信息和多播/广播服务器数字签名给用户;B)用户以协商的完整性密钥和接收的广播信息为变量进行运算,生成用户侧数字签名,判断用户数字签名是否与多播/广播服务器数字签名相同,如果是,则判决接收的广播信息有效,否则判决接收的广播信息无效。本发明通过对多播/广播服务器的广播信息进行数字签名,可以有效防止多播/广播中信息被攻击者修改或伪造。
文档编号H04L9/00GK1595880SQ0315703
公开日2005年3月16日 申请日期2003年9月11日 优先权日2003年9月11日
发明者郑志彬 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1