物联网的安全算法协商方法、网元及物联网终端与流程

文档序号:12739836阅读:460来源:国知局
物联网的安全算法协商方法、网元及物联网终端与流程

本发明涉及通信领域的安全技术,尤其涉及一种物联网的安全算法协商方法、网元及物联网终端。



背景技术:

物联网(Internet of Things,简称IoT)就是物物相连的互联网,能够用于智能交通及环境保护等各种应用。

在通信的过程中,传输的数据可能也会受到攻击,为了减少攻击的破坏力,可能需要对物联网数据进行安全保护。

安全保护可包括完整性保护和加密保护。通常情况下,加密保护用于数据泄露;完整性保护用于防止数据被篡改。

在进行通信之前,需要选择出每一个物联网终端的完整性算法和加密保护算法。

在现有的长期演进(Long Term Evolution,简为LTE),演进型基站eNB通过网络管理配置两个算法列表。一个算法列表包括有完整性算法,另一个算法列表包括加密算法。所述算法列表由通信运营商根据运营策略进行优先级排序。在为物联网终端确定安全算法时,由网络侧的eNB等网元,根据所述这些算法的优先级,为物联网终端选择出完整性算法和加密算法,然后通知物联网终端即可。

这种确定安全算法的方法,可能出现的问题时,基于运营商提供的优先级排序确定的安全算法并不适用于具体的物联网终端,可能会导致物联网终端使用过程中出现算法过于复杂导致的运算量大运算时间长等问题。



技术实现要素:

有鉴于此,本发明实施例期望提供一种物联网的安全算法协商方法、网元及物联网终端,以解决基于通信运营商提供的优先级选择安全算法,导致的不适用于特定物联网终端的问题。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供一种物联网的安全算法协商方法,应用于网络侧,所述方法包括:

接收物联网终端发送的安全能力信息;其中,所述安全能力信息包括所述物联网终端支持的安全算法列表;所述安全算法列表包括至少一个安全算法;

基于所述安全算法列表表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网终端的通信;

将选择的所述安全算法通知所述物联网终端。

基于上述方案,所述安全算法列表为安全算法按照优先级排序形成的有序列表;

所述基于所述安全算法列表表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网终端的通信,包括:

根据所述安全算法在所述有序列表中的排列顺序,选择用于所述物联网终端通信的安全算法。

基于上述方案,所述安全算法包括加密算法及完整性算法,和/或认证加密算法;

其中,所述加密算法用于数据的加密保护;所述完整性算法用于数据的完整性保护;所述认证加密算法同时用于数据的加密保护和完整性保护。

基于上述方案,所述安全能力信息还包括安全策略;其中,所述安全策略用于指示是否提供用户面数据的完整性保护。

基于上述方案,当所述安全策略指示要求用户面数据的完整性保护时,所述方法还包括:

当所述物联网终端的用户面数据的完整性保护计费时,获取所述物联网终端的业务订购消息;

当所述业务订购消息表明所述物联网终端没有订购用户面数据的完整性保护业务,则向所述物联网终端发送连接拒绝消息,或,当所述业务订购消息表明所述物联网终端有订购用户面数据的完整性保护的业务,则向所述物联网终端发送连接接受消息。

基于上述方案,所述方法还包括:

当所述物联网终端的用户面数据的完整性保护不计费时,向所述物联网终端发送连接接受消息。

基于上述方案,所述安全策略还用于指示所述物联网终端是否支持认证加密算法;其中,所述认证加密算法为能够同时用于数据的加密保护和完整性保护的所述安全算法。

基于上述方案,所述基于所述安全算法列表表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网终端的通信,包括以下至少其中之一:

当所述物联网终端不要求用户面数据的完整性保护,且不支持认证加密算法时,从所述安全算法列表中选择优先级最高的加密算法及优先级最高的完整性算法,其中,选择的所述加密算法用于信令面及用户面数据的保护,选择的所述完整性算法用于信令面数据的完整性保护;

当所述物联网终端要求用户面数据的完整性保护,且不支持认证加密算法时,从所述安全算法列表中选择优先级最高的加密算法及优先级最高的完整性算法;其中,选择的所述加密算法用于信令面数据和用户面数据加密保护,选择的所述完整性算法同时用于信令面数据和用户面数据的完整性保护;

当所述物联网终端不要求用户面数据的完整性保护,且支持认证加密算法时,从所述安全算法列表中选择优先级最高的认证加密算法及优先级最高的加密算法;其中,选择的所述认证加密算法用于信令面数据的加密保护和完整性保护;选择的所述加密算法用于用户面数据的加密保护;

当所述物联网终端要求用户面数据的完整性保护,且支持认证加密算法时,从所述安全算法列表中选择优先级最高的认证加密算法;其中,选择的所述认证加密算法用于信令面数据和的加密保护和完整性保护,及用户面数据的加密保护和完整性保护。

本发明实施例第二方面提供一种物联网的安全算法协商方法,应用于终端侧,所述方法包括:

向网络侧发送安全能力信息;其中,所述安全能力信息包括所述物联网终端支持的安全算法列表;所述安全算法列表用于网络侧基于所述安全算法表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网的通信;所述安全算法列表包括至少一个安全算法;

接收所述网络侧发送通知,其中,所述通知用于告知所述网络侧选择的所述安全算法。

基于上述方案,所述安全算法列表为安全算法按照优先级排序形成的有序列表;

所述基于所述安全算法列表表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网终端的通信,包括:

根据所述安全算法在所述有序列表中的排列顺序,选择用于所述物联网终端通信的安全算法。

基于上述方案,所述安全能力信息还包括安全策略;其中,所述安全策略用于指示是否要求用户面数据的完整性保护。

基于上述方案,所述安全策略还能够用于指示所述物联网终端是否支持认证加密算法;其中,所述认证加密算法为能够同时用于数据的加密保护和完整性保护的所述安全算法。

本发明实施例第三方面提供一种网元,所述网元包括:

第一接收单元,用于接收物联网终端发送的安全能力信息;其中,所述安全能力信息包括所述物联网终端支持的安全算法列表;所述安全算法列表包括至少一个安全算法;

选择单元,用于基于所述安全算法列表表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网终端的通信;

第一发送单元,用于将选择的所述安全算法通知所述物联网终端。

基于上述方案,所述安全算法列表为安全算法按照优先级排序形成的有序列表;

所述选择单元,具体用于根据所述安全算法在所述有序列表中的排列顺序,选择用于所述物联网终端通信的安全算法。

基于上述方案,所述安全算法包括加密算法及完整性算法,和/或认证加密算法;

其中,所述加密算法用于数据的加密保护;所述完整性算法用于数据的完整性保护;所述认证加密算法同时用于数据的加密保护和完整性保护。

基于上述方案,所述安全能力信息还包括安全策略;其中,所述安全策略用于指示是否提供用户面数据的完整性保护。

基于上述方案,当所述安全策略指示要求用户面数据的完整性保护时,所述网元还包括:

获取单元,用于当所述物联网终端的用户面数据的完整性保护计费时,获取所述物联网终端的业务订购消息;

第一发送单元,用于当所述业务订购消息表明所述物联网终端没有订购用户面数据的完整性保护业务,则向所述物联网终端发送连接拒绝消息,或,当所述业务订购消息表明所述物联网终端有订购用户面数据的完整性保护的业务,则向所述物联网终端发送连接接受消息。

基于上述方案,所述第一发送单元,还用于当所述物联网终端的用户面数据的完整性保护不计费时,向所述物联网终端发送连接接受消息。

基于上述方案,所述安全策略还用于指示所述物联网终端是否支持认证加密算法;其中,所述认证加密算法为能够同时用于数据的加密保护和完整性保护的所述安全算法。

基于上述方案,所述选择单元,用以执行以下至少其中之一:

当所述物联网终端不要求用户面数据的完整性保护,且不支持认证加密算法时,从所述安全算法列表中选择优先级最高的加密算法及优先级最高的完整性算法,其中,选择的所述加密算法用于信令面及用户面数据的保护,选择的所述完整性算法用于信令面数据的完整性保护;

当所述物联网终端要求用户面数据的完整性保护,且不支持认证加密算法时,从所述安全算法列表中选择优先级最高的加密算法及优先级最高的完整性算法;其中,选择的所述加密算法用于信令面数据和用户面数据加密保护,选择的所述完整性算法同时用于信令面数据和用户面数据的完整性保护;

当所述物联网终端不要求用户面数据的完整性保护,且支持认证加密算法时,从所述安全算法列表中选择优先级最高的认证加密算法及优先级最高的加密算法;其中,选择的所述认证加密算法用于信令面数据的加密保护和完整性保护;选择的所述加密算法用于用户面数据的加密保护;

当所述物联网终端要求用户面数据的完整性保护,且支持认证加密算法时,从所述安全算法列表中选择优先级最高的认证加密算法;其中,选择的所述认证加密算法用于信令面数据和的加密保护和完整性保护,及用户面数据的加密保护和完整性保护。

本发明实施例第四方面提供一种物联网终端,所述物联网终端包括:

第二发送单元,用于向网络侧发送安全能力信息;其中,所述安全能力信息包括所述物联网终端支持的安全算法列表,用于网络侧基于所述安全算法表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网的通信;所述安全算法列表包括至少一个安全算法;

第二接收单元,用于基于所述权算法列表表征的优先级,选择一个所述安全算法用于所述物联网终端的通信。

基于上述方案,所述安全算法列表为安全算法按照优先级排序形成的有序列表;

所述第二接收单元,用于根据所述安全算法在所述有序列表中的排列顺序,选择用于所述物联网终端通信的安全算法。

基于上述方案,所述安全能力信息还包括安全策略;其中,所述安全策略用于指示是否要求用户面数据的完整性保护。

基于上述方案,所述安全策略还能够用于指示所述物联网终端是否支持认证加密算法;其中,所述认证加密算法为能够同时用于数据的加密保护和完整性保护的所述安全算法。

在本发明实施例中提供物联网的安全算法协商方法、网元及物联网终端;在确定安全算法的安全算法及优先级都是由物联网终端决定的,这样方便物联网终端根据自身的能力参数和业务需求,自行设置安全算法的优先级,从而选择出适应于所述物联网终端的安全算法,减少根据通信运营商提供的优先级选择安全算法导致的呆板及不能满足物联网终端的个性需求的现象。

附图说明

图1为本发明实施例提供的第一种物联网的安全算法协商方法的流程示意图;

图2为本发明实施例提供的第二种物联网的安全算法协商方法的流程示意图;

图3为本发明实施例提供的网元的结构示意图;

图4为本发明实施例提供的物联网终端的结构示意图;

图5为本发明实施例提供的第三种物联网的安全算法协商方法的流程示意图。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

实施例一:

如图1所示,本实施例提供一种物联网的安全算法协商方法,应用于网络侧,所述方法包括:

步骤S110:接收物联网终端发送的安全能力信息;其中,所述安全能力信息包括所述物联网终端支持的安全算法列表;所述安全算法列表包括至少一个安全算法;

步骤S120:基于所述安全算法列表表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网终端的通信;

步骤S130:将选择的所述安全算法通知所述物联网终端。

本实施例所述的物联网的安全算法协商方法为应用于网络侧的方法,具体可以应用于网络侧的移动管理实体(Mobility Management Entity,简称MME)或通用分组无线服务技术业务支持节点(Serving GPRS Support Node,SGSN)等网元。其中,所述GPRS为General Packet Radio Service的缩写,对应的中文即为所述通用分组无线服务技术。

在本实施例中网络侧将从物联网终端接收安全能力信息,这里的安全能力信息至少包括安全算法列表,这里的安全算法列表中至少包括一个安全算法。所述安全算法为提供数据的加密保护和完整性保护的算法。在本实施例中所述安全算法列表可用于表征安全算法的优先级,通常优先级越高的安全算法,被选择用于数据的安全保护的概率越高。所述安全算法的优先级可为由物联网终端决定的。在步骤S110中接收所述安全能力信息时,可包括通过接收承载有所述安全能力信息的连接请求来实现。

在本实施例中所述安全算法列表是从物联网终端接收的,在选择用于物联网终端通信的安全算法时,是基于安全算法列表表征的优先级来选择的,这样的话,所述物联网终端就可以根据自身的需求设置所述安全算法的优先级,这样就能够实现物联网终端自身参与安全算法的选择,以选择更为合适的安全算法用于物联网终端的通信。

例如,物联网终端A支持M种安全算法,且分别是安全算法1、安全算法2、……安全算法M-1及安全算法M。物联网终端A可以根据自身的中央处理器CPU处理能力、存储资源能力及电池的容量等处理能力参数、及物联网A的业务要求等信息,设置上述M中安全算法的优先级。该优先级可用于表征用户倾向选择对应的安全算法的概率。例如,安全算法1和安全算法2,物联网终端A都支持,但是安全算法1相对安全算法2的复杂度较高,这样利用安全算法2进行安全保护消耗的物联网终端A的时间较长,若物联网终端A的业务的延时性要求就低,则所述物联网终端A在设置所述优先级时,就会将安全算法2的优先级设置得高于安全算法1的优先级。当然,以上提供了一种物联网终端A自动设置所述优先级的方式,在具体的实现过程中,物联网终端还可以基于用户指示设置安全算法的优先级。例如,物联网终端A接收到一个设置指令,该设置指令中对M个安全算法进行优先顺序排序,则在设置安全算法的优先级时,根据所述优先顺序排序进行设置。

在本实施例中所述安全算法列表的构成有很多种,以下提供两种可选形式:

第一种:

所述安全算法列表为安全算法按照优先级排序形成的有序列表;则所述步骤S120可包括:根据所述安全算法在所述有序列表中的排列顺序,选择用于所述物联网终端通信的安全算法。此时,在安全算法在所述有序列表中是按优先级进行排列的;例如,根据优先级的高低,从高到低排列或从低到高排列。这样的话,所述安全算法位于所述有序列表中的排列顺序是与该安全算法的优先级相对应的。显然,在该种形式中,安全算法列表通过排列顺序表示安全算法的优先级。

第二种:

所述安全算法列表包括安全算法及该优先级字段;此时,所述安全算法列表中的安全算法,并不一定会按照优先级从高到底排列或从低到高排列。网络侧的网元可以通过直接读取所述优先级字段,确定各个安全算法的优先级。

比较上述两种形式,第一种,网络侧与物联网终端之间交互的数据量少,网络侧在选择优先级最高的安全算法时,可到安全算法的头部或尾部提取安全算法,操作简便;第二种,由于直接提供了优先级,优先级的确定更加精确和直观。

所述安全算法列表内包括的安全算法可包括如下情况:

第一种:

所述安全算法列表内包括的安全算法由加密算法及完整性算法组成;所述完整性算法用于数据的完整性保护。所述安全算法列表可包括加密算法列表和完整性算法列表,例如,加密算法的有序列表和完整性算法的有序列表。

第二种:

所述安全算法列表内包括的安全算法由加密算法、完整性算法及认证加密算法组成;所述认证加密算法同时用于数据的加密保护和完整性保护。

所述安全算法列表可包括加密算法列表、完整性算法列表及认证加密算法列表,例如,加密算法的有序列表、完整性算法的有序列表,认证加密算法的有序列表。

第三种:

所述安全算法列表内包括的安全算法为认证加密算法。所述安全算法列表包括认证加密算法列表,例如,认证安全算法的有序列表。

上述加密算法的有序列表、完整性算法的有序列表及所述认证加密算法的有序列表都为上述安全算法的有序列表的一种,都可以通过列表中对应算法的排序顺序来表征优先级。

进一步地,所述安全能力信息还包括安全策略;其中,所述安全策略用于指示是否要求用户面数据的完整性保护。

物联网终端与网络侧的基站之间的通信数据,可分为信令面数据和用户面数据,现有技术中通常仅对信令面数据进行保护,在本实施例中可以由所述安全策略来指示网络侧是否对用户面数据进行完整性保护。若所述安全策略指示提供用户面数据的完整性保护,则会利用步骤S120中选择的安全算法对通信中的用户面数据进行完整性保护,否则就不保护用户面数据。在步骤S130中将选择的安全算法通知物联网终端,这样物联网终端就能够知道后续采用哪一种安全算法进行安全保护。这样的话,一方面可以提供用户面数据的完整性保护,若执行用户面数据的完整性保护,显然可以降低用户面数据被篡改的可能性,提升用户面数据传输的可靠性和安全性。另一方面,由物联网终端自行决定是否需要进行用户面数据的完整性保护,显然这样可以满足不同物联网终端的个性需求。

基于上述方案,当所述安全策略指示要求用户面数据的完整性保护时,所述方法还包括:

当所述物联网终端的用户面数据的完整性保护计费时,获取所述物联网终端的业务订购消息;

当所述业务订购消息表明所述物联网终端没有订购用户面数据的完整性保护业务,则向所述物联网终端发送连接拒绝消息,或,当所述业务订购消息表明所述物联网终端有订购用户面数据的完整性保护的业务,则向所述物联网终端发送连接接受消息。

如要求用户面数据的完整性保护,可能该用户面数据对应的业务的完整性保护是需要计费的。此时,网络侧的网元,将获取物联网终端的业务订购消息,例如从订购系统中或用户签约数据库中获取所述业务订购消息;再通过解析业务订购消息,确定出物联网终端是否有订购用户面数据的完整性保护业务。若物联网终端订购了该业务,则向物联网终端发送连接接受消息,表示本次协商成功;若未订购该业务,则向物联完终端发送连接拒绝消息,表示此处协商失败。

当然,若所述物联网终端的用户面数据的完整性保护不计费,向所述物联网终端发送连接接受消息。网络侧的网元就可以不用获取所述业务订购信息,就可以直接向物联完终端发送连接接受消息,表示协商成功。

若协商成功,则网络侧会根据协商结果来进行数据的安全保护,否则需要物联网终端与网络侧的MME或SGSN进行再次安全算法的协商。

所述安全策略还用于指示所述物联网终端是否支持认证加密算法;其中,所述认证加密算法为能够同时用于数据的加密保护和完整性保护的所述安全算法。

网络侧可以根据安全算法列表中是否包括认证加密算法,来确定物联网终端是否支持认证加密算法;但是为了简化网络侧的操作,在本实施例中所述安全策略还用于指示物联网终端是否支持认证加密算法。例如,所述安全策略可包括2bit;一个bit的两种状态用于表示物联网终端是否要求用户面数据的完整保护,另一个bit的两种状态可用于表示物联完终端是否支持认证加密算法。当然那,所述安全策略的组成方式有多种,不局限于上述任意一种。

这样的话,可以单独安全策略或结合安全策略和安全算法列表,确定出物联网终端是否要求用户面数据的完整性保护,及是否支持认证加密算法。由于一个认证加密算法,可同时用于完整性保护和加密保护,相对于采用独立的加密算法进行加密保护和采用完整性算法进行完整性保护,具有复杂度低及计算量少的特点,若一个物联网终端的支持认证加密算法时,通常可优先选择认证加密算法,但是最终是否选择认证加密算法,还可根据不同种安全算法之间的种类优先级来确定。

结合上述,所述步骤S120可至少包括以下四种情况的一种或多种:

第一种:

当所述物联网终端不要求用户面数据的完整性保护,且不支持认证加密算法时,从所述安全算法列表中选择优先级最高的加密算法及优先级最高的完整性算法,其中,选择的所述加密算法用于信令面及用户面数据的保护,选择的所述完整性算法用于信令面数据的完整性保护。由于物联网终端不要求用户面数据的完整性保护,则选择出的安全算法仅用于信令面数据的加密保护和完整性保护。

第二种:

当所述物联网终端要求用户面数据的完整性保护,且不支持认证加密算法时,从所述安全算法列表中选择优先级最高的加密算法及优先级最高的完整性算法;其中,选择的所述加密算法用于信令面数据和用户面数据加密保护,选择的所述完整性算法同时用于信令面数据和用户面数据的完整性保护。由于物联网终端要求用户面数据的完整性保护,则选择出的完整性算法既用于信令面数据的完整性保护,又用于用户面数据的完整性保护。

第三种:

当所述物联网终端不要求用户面数据的完整性保护,且支持认证加密算法时,从所述安全算法列表中选择优先级最高的认证加密算法和优先级最高的加密算法;其中,选择的所述认证加密算法用于信令面数据的加密保护和完整性保护;选择的所述加密算法用于用户面数据的加密保护。由于物联网终端不要求用户面数据的完整性保护,则选择出的认证加密算法仅用于信令面数据的完整性保护和加密保护;且不对用户面数据进行完整性保护。

第四种:

当所述物联网终端要求用户面数据的完整性保护,且支持认证加密算法时,从所述安全算法列表中选择优先级最高的认证加密算法;其中,选择的所述认证加密算法用于信令面数据和的加密保护和完整性保护,及用户面数据的加密保护和完整性保护。

总之,本实施例中网络侧在安全算法时,会从物联网终端接收安全能力信息,根据物联网终端自身发送的安全信息列表来选择安全算法,这样就能够避免基于运营商提供的优先级来选择安全策略导致的不适用于特定终端的问题。

实施例二:

如图2所示,本实施例提供一种物联网的安全算法协商方法,应用于终端侧,所述方法包括:

步骤S210:向网络侧发送安全能力信息;其中,所述安全能力信息包括所述物联网终端支持的安全算法列表,用于网络侧基于所述安全算法表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网的通信;所述安全算法列表包括至少一个安全算法;

步骤S220:接收所述网络侧发送通知,其中,所述通知用于告知所述网络侧选择的所述安全算法。

本实施例为应用于物联网的安全算法协商方法,在本实施例中所述物联网终端会将自身存储的所述安全算法列表发送给网络侧,具体如,通过基站的转发,将所述安全算法列表发送给MME或SGSN等网络侧的网元,由网络侧的网元根据所述安全算法列表与物联网终端采用同样的算法协商原则,选择出用于该物联网终端通信的安全算法。在本实施例中所述安全算法列表提供用于加密保护和完整性保护的各种算法。故在步骤S220中将接收网络侧发送的通知,从而确定出所选择的安全算法。

显然采用这种方法,安全算法是基于网络侧基于物联网终端提供的优先级确定的,这样就能够不同物联网终端的终端能力及业务需求等个性需求,能够选择更加适合当前物联网终端的安全算法,进行通信的安全管控。

在一些实施例中,所述安全算法列表为安全算法按照优先级排序形成的有序列表;所述步骤S220可包括:根据所述安全算法在所述有序列表中的排列顺序,选择用于所述物联网终端通信的安全算法。此处,将所述安全算法列表为有序列表,在具体实现时,还可利用前述包括优先级字段的非有序列表。将安全算法列表设置为有序列表,这样能够减少与网络侧交互的数据量,简化在选择安全算法时的复杂度。

在一些实施例中,所述安全能力信息还包括安全策略;其中,所述安全策略用于指示是否要求用户面数据的完整性保护。在本实施例中所述安全能力信息还包括安全策略,该安全策略策略用于指示是否要求用户面数据的完整性保护。显然在本发明实施例中,一方面可提供用户面数据的完整性保护,另一方面将基于物联网终端自身发送的安全策略来确定是否要求进行完整性保护。若所述安全策略指示要求用户面数据的完整性保护,则选择出的安全算法不仅会对信令面数据进行完整性保护,还会用于对用户面数据进行完整性保护。

在一些实施例中,所述安全策略还能够用于指示所述物联网终端是否支持认证加密算法;其中,所述认证加密算法为能够同时用于数据的加密保护和完整性保护的所述安全算法。

有一些物联网终端支持认证加密算法,可能有一些物联网终端并不支持认证加密算法,而认证加密算法,一个算法可以同时进行加密保护以减少数据泄露的可能性,还可以进行完整性保护,减少数据被篡改的概率,相对于采用加密算法进行加密保护,采用完整性算法进行完整性保护,具有复杂度低及计算时间少的特点。故在本实施例中若物联网终端支持认证加密算法,则利用所述安全策略进行指示,这样网络侧及物联网终端将会优先选择认证加密算法,这样有利于后续物联网终端在通信过程中的操作简化。

总之,本实施例提供例一种物联网的安全算法协商方法,在选择安全算法时是基于物联网终端自身提供的安全算法列表表征的优先级来确定的,这样就能够减少统一根据通信运营商的运营策略进行安全算法的选择的呆板,及不能很好适用于物联网终端的硬件能力和业务需求的现象。

实施例三:

如图3所示,本实施例提供一种网元,所述网元包括:

第一接收单元110,用于接收物联网终端发送的安全能力信息;其中,所述安全能力信息包括所述物联网终端支持的安全算法列表;所述安全算法列表包括至少一个安全算法;

选择单元120,用于基于所述安全算法列表表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网终端的通信;

第一发送单元130,用于将选择的所述安全算法通知所述物联网终端。

本实施例提供一种位于网络侧的网元,所述网元可为MME或SGSN等网络功能实体。

所述第一接收单元110和所述第一发送单元130可对应于所述网元的通信接口,这里的通信接口可为各种类型能够与物联网终端通信的接口。该通信接口能够直接从物联网终端或利用其他中间节点转发接收到所述物联网终端提供的安全算法列表,和/或,用于向物联网终端发送通知,以告知物联网终端所选择的安全算法。

所述选择单元120可对应于所述网元内的各种处理结构,所述处理结构可包括处理器或处理电路等。所述处理器可包括中央处理器、微处理器、数字信号处理器、应用处理器或可编程整列等。所述处理电路可包括专用集成电路等。所述选择单元能够根据接收到的安全算法列表表征的优先级,选择出适应于所述物联网终端的安全算法。

总之,本实施例提供的网元,在为物联网终端进行安全算法选择时,不再是根据通信运营商的运营策略来选择,而是根据物联网终端自行提供安全算法列表表征的优先级来确定,这样选择出的安全算法更够适用于物联网终端的处理能力参数及业务需求等特点,减少选择出的安全算法不太适用于物联网终端导致的计算复杂及计算量大等问题。

所述安全算法列表为安全算法按照优先级排序形成的有序列表;

所述选择单元120,具体用于根据所述安全算法在所述有序列表中的排列顺序,选择用于所述物联网终端通信的安全算法。在本实施例中所述安全算法列表是一个有序列表,安全算法在有序列表中的排列顺序与安全算法的优先级相对应,这样所述选择单元120可直接根据安全算法的排列顺序确定出优先级,并选择出对应的安全算法。当然在具体的实现过程中,所述安全算发列表还可包括优先级字段,该优先级字段可用于表征每一个安全算法的优先级;故不局限于所述有序列表。但是在本实施例中选择有序列表作为安全算法列表,所述第一接收单元110从所述物联网终端接收的数据量少,安全算法选择时可以不必解析优先级字段,直接到对应的位置选择出优先级适宜的安全算法即可,操作简单。

在一些实施例中,所述安全算法包括加密算法及完整性算法,和/或认证加密算法;其中,所述加密算法用于数据的加密保护;所述完整性算法用于数据的完整性保护;所述认证加密算法同时用于数据的加密保护和完整性保护。在本实施例中所述安全算法可包括三种类型,及三种组成结构。这三种类型分别是仅用于加密保护的加密算法,仅用于完整性保护的完整性算法,及既可用于加密保护又可用于完整性保护的加密认证方法。

所述安全算法的三种组成结构分别是:

第一种:安全算法由加密算法及完整性算法组成;

第二种:安全算法由加密算法、完整性算法及认证加密算法组成;

第三种:安全算法由认证加密算法组成。

进一步地,所述安全能力信息还包括安全策略;其中,所述安全策略用于指示是否提供用户面数据的完整性保护。在本实施例中所述网元还可能会接收到安全策略,该安全策略可用于指示是否提供用户面数据的完整性保护,这样网元就会根据安全策略,确定出完整性保护的数据范围。显然本实施例提供的网元,在执行安全算法的协商过程中,一方面可提供用户面数据的安全保护,另一方面还可允许物联网终端自行确定是否进行用户面数据的保护。

再进一步地,当所述安全策略指示要求用户面数据的完整性保护时,所述网元还包括:

获取单元,用于当所述物联网终端的用户面数据的完整性保护计费时,获取所述物联网终端的业务订购消息;

所述第一发送单元130,用于当所述业务订购消息表明所述物联网终端没有订购用户面数据的完整性保护业务,则向所述物联网终端发送连接拒绝消息,或,当所述业务订购消息表明所述物联网终端有订购用户面数据的完整性保护的业务,则向所述物联网终端发送连接接受消息。

在本实施例中所述获取单元的结构可对应于处理结构,该处理结构可为处理器或处理电路,处理器或处理电路的可参加前述对应部分,在此就不重复了。此时,处理器或处理电路可以通过查询本地数据库获得所述业务订购消息。所述获取单元还可对应于通信接口,可通过与其他设备的交互获得所述用户订购消息。

所述第一发送单元130在物联网终端要求用户面数据的完整性保护且物联网终端没有订购用户面数据的完整性保护业务时,拒绝物联网终端的连接请求,从而发送连接拒绝消息,否则发送连接接收消息。

进一步地,所述第一发送单元130,还用于当所述物联网终端的用户面数据的完整性保护不计费时,向所述物联网终端发送连接接受消息。

此外,所述安全策略还用于指示所述物联网终端是否支持认证加密算法;其中,所述认证加密算法为能够同时用于数据的加密保护和完整性保护的所述安全算法。安全策略还可指示是否支持认证加密算法,所述选择单元120就可以根据安全策略确定出对应的物联网终端是否支持认证加密算法,这样可简化操作。

所述选择单元120,用以执行以下至少其中之一:

当所述物联网终端不要求用户面数据的完整性保护,且不支持认证加密算法时,从所述安全算法列表中选择优先级最高的加密算法及优先级最高的完整性算法,其中,选择的所述加密算法用于信令面及用户面数据的保护,选择的所述完整性算法用于信令面数据的完整性保护;

当所述物联网终端要求用户面数据的完整性保护,且不支持认证加密算法时,从所述安全算法列表中选择优先级最高的加密算法及优先级最高的完整性算法;其中,选择的所述加密算法用于信令面数据和用户面数据加密保护,选择的所述完整性算法同时用于信令面数据和用户面数据的完整性保护;

当所述物联网终端不要求用户面数据的完整性保护,且支持认证加密算法时,从所述安全算法列表中选择优先级最高的认证加密算法;其中,选择的所述认证加密算法用于信令面数据的加密保护和完整性保护,及用户面数据的加密保护;

当所述物联网终端要求用户面数据的完整性保护,且支持认证加密算法时,从所述安全算法列表中选择优先级最高的认证加密算法;其中,选择的所述认证加密算法用于信令面数据和的加密保护和完整性保护,及用户面数据的加密保护和完整性保护。

总之,本实施例提供的网元,在选择安全算法时时基于从物联网终端提供的安全算法列表表征的优先级来确定的,这样可以选择出更适合当前物联网终端的安全算法,减少因为不适应于当前物联网终端导致的复杂度高及计算量大等问题。

实施例四:

如图4所示,本实施例提供一种物联网终端,所述物联网终端包括:

第二发送单元210,用于向网络侧发送安全能力信息;其中,所述安全能力信息包括所述物联网终端支持的安全算法列表;所述安全算法列表用于网络侧基于所述安全算法表征的所述安全算法的优先级,选择一个所述安全算法用于所述物联网的通信;所述安全算法列表包括至少一个安全算法;

第二接收单元220,用于接收所述网络侧发送通知,其中,所述通知用于告知所述网络侧选择的所述安全算法。

本实施例提供的物联网终端可为各种物联网的终端,例如,智能水表、智能照明设备及智能消防设备等各种设备。

所述第二发送单元210和所述第二接收单元220均可为对应于物联网终端内的通信接口。所述通信接口可为有线接口或无线接口,在本实施例中优选无线接口,能够与网络侧进行信息交互,完成安全算法的协商。在本实施例中所述物联网终端会通过第一发送单元210向网络侧发送包括安全算法列表的安全能力信息,安全算法列表本身就能够表征安全算法的优先级,选择出安全算法;而物联网终端利用第二接收单元220,接收网络侧的通知,就完整了安全算法的协商,这样能够选择出更适合物联网终端的安全算法。

进一步地,所述安全算法列表为安全算法按照优先级排序形成的有序列表;所述第二接收单元220,用于根据所述安全算法在所述有序列表中的排列顺序,选择用于所述物联网终端通信的安全算法。当然具体实现时,不局限于上述有序列表。

在一些实施例中,所述安全能力信息还包括安全策略;其中,所述安全策略用于指示是否要求用户面数据的完整性保护。这样可以实现物联网终端自动要求用户面数据的完整性保护。

在另一些实施例中,所述安全策略还能够用于指示所述物联网终端是否支持认证加密算法;其中,所述认证加密算法为能够同时用于数据的加密保护和完整性保护的所述安全算法。这样方便网络侧,简便确定物联网终端是否支持认证加密算法。

以下结合上述任意实施例提供两个具体示例:

如图5所示,本示例提供一种物联网的安全算法协商方法,包括:

步骤1:连接请求的传输,具体包括:物联网终端向SGSN/MME发送连接请求。该连接请求中包括用户标识及网络能力信息。所述用户标识能够唯一指示发送所述连接请求的物联网终端。所述用户标识可包括国际移动用户识别码(International Mobile Subscriber Identity,简称MSI)和/或临时移动用户识别码(Temporary Mobile Subscriber Identity,简称TMSI).所述网络能力信息又包括安全能力信息。该安全能力信息又包括安全算法列表及安全策略。网络能力信息表征的物联网终端的网络能力,安全能力信息表征的物联网终端的安全能力。安全能力是网络能力的一部分。安全算法可包括加密算法,完整性算法和认证加密算法。安全策略指物联网终端是否提供用户面数据的完整性保护,以及是否物联网终端支持认证加密算法。

步骤2:认证矢量的获取,具体包括获取SGSN/MME从HSS认证矢量。这里的认证矢量的获取可以参见现有技术中,用于第三代移动通信网络的认证和密钥协商机制(Authentication and Key Agreement,简称AKA)认证过程中认证矢量的获取,在此就不赘述了。

步骤3:SGSN/MME根据算法协商原则选择出使用的安全算法并且推导出加密密钥Ktc和完整性保护密钥Kti。通常所述Ktc和所述Kti可为等于数据包的长度,例如,为128bit。这里的Ktc和Kti均可根据AKA协议推导产生的。

步骤4:认证和加密请求消息的传输。这里的认证和加密请求消息可用于通知物联网终端选择出的使用的安全算法。所述认证和加密请求消息的传输可包括:SGSN/MME发送给物联网终端认证和加密请求消息,该消息可包含用于AKA协议的随机数RAND和认证令牌AUTN,以及所选择使用的算法和网络能力。SGSN/MME使用完整性保护密钥Kti和所选的完整性算法对此消息进行数据完整性保护。

步骤5:物联网终端如果认证和加密请求消息中没有出现数据认证标签则中断连接;若认证和加密请求消息中有数据认证标签则推导出Ktc和Kti.验证数据认证标签。物联网终端使用通用用户识别模块(Universal Subscriber Identity Module,简称USIM)卡执行通用移动通信系统(Universal Mobile Telecommunications System,简称UMTS)/演进分组系统(Evolved Packet System,简称EPS)及AKA协议并推导出加密密钥Ktc和完整性保护密钥Kti.物联网终端使用Kti和所选的完整性算法来验证数据认证标签。如果验证失败,物联网终端则中断连接。如果验证成功,物联网终端再验证从SGSN/MME收到的网络能力是否与它发送的一致。如果一致可以确认没有其他节点的攻击。

步骤6:认证和加密响应消息的传输,具体包括:物联网终端向SGSN/MME发送认证和加密响应消息。此消息包括物联网终端生成的数字认证标签,且该数字认证标签的计算使用完整性保护密钥Kti和所选的完整性算法来完成。

步骤7:利用选择的算法进行安全保护,具体可包括:物联网终端激活所选的算法,以对后续的用户面数据和信令面面数据进行保护。

步骤8:协商完成,进行安全保护,具体可包括:SGSN/MME收到认证和加密响应消息后,认证和加密响应消息使用密钥Kti和所选的完整性算法对数据认证标签验证。如果验证失败,则断开连接;如果验证成功,SGSN/MME激活所选的算法,以对后续的用户面数据和信令面数据进行保护。这里的激活可为选择出的使用的安全算法设置使用标签等操作,这样后续在进行数据处理时,就能够根据该标签,确定出利用该安全算法进行加密保护和完整性保护。

步骤9:位置更新。例如,物联网终端的位置移动了,就可能涉及位置更新,则SGSN/MME通过与归属位置寄存器(Home Location Register,简称HLR)/归属签约用户服务器(Home Subscriber Server,简称HSS)进行的信息交互,确定出是否进行了位置更新。通常,在SGSN/MME和HSS间完成位置更新流程之后,SGSN/MME将获取物联网终端的业务订购消息。

步骤10:连接接收消息的传输,具体可包括:如果对用户面数据的完整性保护不需要收费,SGSN/MME不必比对物联网终端发送的对用户面数据的完整性保护要求和业务订购信息,可以直接向物联网终端发出连接接受的消息。这种处理方式同样适用于物联网终端不要求对用户面数据进行完整性保护。如果对用户的数据的完整性保护需要收费,SGSN/MME需要比对物联网终端发送的对用户面数据的完整性保护要求与它在HSS中的用户业务订购信息,如果一致,向物联网终端发出连接接受的消息;如果不一致,则向物联网终端发出连接拒绝的消息。

步骤11:协商完成。

在步骤2中选择使用的安全算法时,可分为以下4种情况:

1):物联网终端不要求用户面数据的完整性保护并且不支持认证加密算法。SGSN/MME分别从有序的加密算法列表和完整性算法列表中选择物联网终端能够支持的最高优先级的加密算法和完整性算法。SGSN/MME和物联网终端应用所选择的加密算法和完整性算法保护信令面数据,以防止信令面数据的窃听和修改。所选的完整性算法也用于保护认证和算法协商过程中消息的完整性。SGSN/MME和物联网终端使用所选择的加密算法来保护用户面数据的机密性。

2):物联网终端需要用户面数据的完整性保护,但不支持认证加密算法。SGSN/MME分别从有序的加密算法列表和完整性算法列表中选择物联网终端能够支持的最高优先级的加密算法和完整性算法。SGSN/MME和物联网终端使用所选择的加密算法和完整性算法来保护信令面数据和用户面数据的机密性及完整性。所选的完整性算法也用于保护认证和算法协商过程中消息的完整性。

3):物联网终端不要求对用户面数据进行完整性保护,但支持认证加密算法。SGSN/MME分别从有序的加密算法列表,认证加密算法列表中和完整性算法列表中选择物联网终端能够支持的最高优先级的加密算法,认证加密算法和完整性算法。SGSN/MME和物联网终端应用认证加密算法保护信令面数据,以防止信令面数据的窃听和修改。SGSN/MME和物联网终端使用加密算法,以确保用户面数据的机密性。所选的完整性算法用于保护认证和算法协商过程中消息的完整性。

4):物联网终端需要用户面数据的完整性保护和支持认证加密算法。SGSN/MME从有序的认证加密算法列表和完整性算法列表中选择物联网终端能够支持的最高优先级的认证加密算法和完整性算法。SGSN/MME和物联网终端使用认证加密算法来保护信令面数据和用户面数据的机密性及完整性。所选的完整性算法用于保护认证和算法协商过程中消息的完整性。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1