一种密钥交互方法及装置与流程

文档序号:16649276发布日期:2019-01-18 19:13阅读:286来源:国知局
一种密钥交互方法及装置与流程

本发明涉及通信领域,尤其涉及一种密钥交互方法及装置。



背景技术:

第三代合作伙伴计划(The 3rd Generation Partnership Project,3GPP)提供的设备对设备(Device to Device,D2D)通信是一种在演进的通用陆地无线接入网(Evolved Universal Terrestrial Radio Access Network,E-UTRAN)中,允许终端之间利用小区资源直接进行通信的通信技术。

如图1所示,用户设备(Use Equipment,UE)之间不仅可以通过演进型基站(evolved Node B,eNB)进行通信,还可以通过空中接口Ud直接进行通信。其中,Ud接口可以提供不同UE之间的直通链路(D2D链路),D2D链路可以不经过eNB,直接在UE之间传输业务数据和/或信令消息。

但是,存在的问题是,UE通过Ud接口传输业务数据和/或信令消息时,没有相应的安全机制可以确保传输业务数据和/或信令消息不被篡改,因此,急需一种可以实现Ud接口上传输信息的安全保护机制。



技术实现要素:

本发明的实施例提供一种密钥交互方法及装置,可以使建立D2D链路的用户设备之间共享一套密钥,进而可以实现用户设备通过Ud接口传输业务数据和/或信令消息时的信息安全。

本发明实施例的第一方面,提供一种密钥交互方法,设备对设备D2D链路建立在第一用户设备和第二用户设备之间,所述方法包括:

网络侧设备获取第一密钥;

所述网络侧设备发送包含所述第一密钥的消息至所述第二用户设备,以使所述第二用户设备在通过所述D2D链路和所述第一用户设备通信时采用所述第一密钥保护传输的信息。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述网络侧设备获取第一密钥,包括:

所述网络侧设备获取第二密钥,所述第二密钥为所述网络侧设备和所述第一用户设备之间的共享密钥;

所述网络侧设备根据所述第二密钥和第一参数采用密钥派生函数生成第一密钥;

其中,所述网络侧设备为:演进型基站eNB或者移动性管理实体MME或者临近业务服务器,所述第一参数包括所述eNB与所述第一用户设备之间的分组数据汇聚协议PDCP序列号;或者,所述第一参数包括所述MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一密钥为所述网络侧设备获取的随机密钥;

在所述网络侧设备获取第一密钥之后,所述方法还包括:

所述网络侧设备发送包含所述第一密钥的消息至所述第一用户设备,以使所述第一用户设备在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护所述传输的信息。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在所述网络侧设备发送包含所述第一密钥的消息至所述第一用户设备之前,所述方法还包括:

所述网络侧设备接收来自所述第一用户设备的第一公共密钥;

所述网络侧设备采用所述第一公共密钥加密所述第一密钥;

其中,所述第一公共密钥与所述第一用户设备保留的第一私有密钥组成第一公私密钥对;

或者,

所述网络侧设备根据第二密钥生成第三密钥;

所述网络侧设备采用所述第三密钥加密所述第一密钥,所述第二密钥为所述网络侧设备和所述第一用户设备之间的共享密钥;

所述网络侧设备发送包含所述第一密钥的消息至所述第一用户设备,具体为:

所述网络侧设备发送包含加密后的第一密钥的消息至所述第一用户设备。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述网络侧设备发送包含所述第一密钥的消息至所述第一用户设备,具体为:

所述网络侧设备通过所述网络侧设备与所述第一用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第一用户设备。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在所述网络侧设备发送包含所述第一密钥的消息至所述第二用户设备之前,所述方法还包括:

所述网络侧设备接收来自所述第二用户设备的第二公共密钥;

所述网络侧设备采用所述第二公共密钥加密所述第一密钥;

其中,所述第二公共密钥与所述第二用户设备保留的第二私有密钥组成第二公私密钥对;

或者,

所述网络侧设备获取第四密钥,所述第四密钥为所述网络侧设备和所述第二用户设备之间的共享密钥;

所述网络侧设备根据所述第四密钥生成第五密钥,并采用所述第五密钥加密所述第一密钥;

所述网络侧设备发送包含所述第一密钥的消息至所述第二用户设备,具体为:

所述网络侧设备发送的包含加密后的第一密钥的消息至所述第二用户设备。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述网络侧设备发送包含所述第一密钥的消息至所述第二用户设备,具体为:

所述网络侧设备通过所述网络侧设备与所述第二用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第二用户设备。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,所述方法还包括:

所述网络侧设备根据预存的密码算法列表、所述第一用户设备的安全能力和所述第二用户设备的安全能力,确定适用于所述第一用户设备且适用于所述第二用户设备的在所述密码算法列表中优先级排在第一位的密码算法;

所述网络侧设备发送所述密码算法至所述第一用户设备和所述第二用户设备;

其中,所述第一用户设备的安全能力用于指示适用于所述第一用户设备的密码算法,所述第二用户设备的安全能力用于指示适用于所述第二用户设备的密码算法,所述密码算法包括加密算法和/或完整性保护算法,所述加密算法用于加密所述D2D链路上传输的数据,所述完整性保护算法用于对所述D2D链路上传输的信息进行完整性保护。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,若所述网络侧设备不是所述第二用户设备所属的网络侧设备,所述网络侧设备发送所述包含所述第一密钥的消息至所述第二用户设备,具体为:

所述网络侧设备发送所述包含所述第一密钥的消息至所述第二用户设备所属的网络侧设备,以使得所述第二用户设备所属的网络侧设备转发所述包含所述第一密钥的消息至所述第二用户设备。

本发明实施例的第二方面,还提供一种密钥交互方法,D2D链路建立在第一用户设备和第二用户设备之间,所述方法包括:

所述第一用户设备获取第一密钥;

所述第一用户设备在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护传输的信息。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,在所述第一用户设备获取第一密钥之后,所述方法还包括:

所述第一用户设备接收来自网络侧设备的密码算法,所述网络侧设备为:eNB或者MME或者临近业务服务器,所述密码算法包括加密算法和/或完整性保护算法;

所述第一用户设备根据所述第一密钥和所述加密算法生成加密密钥;

所述第一用户设备根据所述第一密钥和所述完整性保护算法生成完整性保护密钥;

所述第一用户设备在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护传输的信息,具体包括:

所述第一用户设备采用所述加密密钥和所述加密算法加密所述D2D链路上传输的信息;

所述第一用户设备采用所述完整性保护密钥和所述完整性保护算法对所述D2D链路上传输的信息进行完整性保护。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一用户设备获取第一密钥,包括:

所述第一用户设备获取第二密钥,所述第二密钥为所述网络侧设备与所述第一用户设备之间的共享密钥;

所述第一用户设备根据所述第二密钥和第一参数采用密钥派生函数生成所述第一密钥;

其中,所述第一参数包括eNB与所述第一用户设备之间的PDCP序列号;或者,所述第一参数包括MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数;

或者,

所述第一用户设备接收来自所述网络侧设备的包含所述第一密钥的消息。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,在所述第一用户设备接收来自所述网络侧设备的包含所述第一密钥的消息之前,所述方法还包括:

所述第一用户设备发送公共密钥至所述网络侧设备,以使所述网络侧设备采用所述公共密钥加密所述第一密钥,其中,所述公共密钥与所述第一用户设备保留的私有密钥组成公私密钥对。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一用户设备接收来自所述网络侧设备的包含所述第一密钥的消息具体包括:

所述第一用户设备接收来自所述网络侧设备的包含采用所述公共密钥加密后的第一密钥的消息。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一用户设备接收来自所述网络侧设备的包含所述第一密钥的消息具体包括:

所述第一用户设备通过所述第一用户设备与所述网络侧设备之间的加密连接接收来自所述网络侧设备的所述包含所述第一密钥的消息。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一用户设备接收来自所述网络侧设备的包含所述第一密钥的消息具体包括:

所述第一用户设备接收来自所述网络侧设备的包含采用第三密钥加密后的第一密钥的消息;

其中,所述第三密钥为所述网络侧设备根据所述第二密钥生成密钥。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,若所述网络侧设备不是所述第一用户设备所属的网络侧设备,所述第一用户设备接收来自所述网络侧设备包含所述第一密钥的消息,具体包括:

所述第一用户设备接收来自所述第一用户设备所属的网络侧设备的所述包含所述第一密钥的消息,所述包含所述第一密钥的消息为所述第一用户设备所属的网络侧设备接收自所述网络侧设备的。

本发明实施例的第三方面,还提供一种密钥交互方法,D2D链路建立在第一用户设备和第二用户设备之间,所述方法包括:

所述第一用户设备获取第一DH交换值;

所述第一用户设备发送所述第一DH交换值至网络侧设备,以使所述网络侧设备发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥,进而使所述第二用户设备发送所述第二DH交换值至所述网络侧设备;

所述第一用户设备接收来自所述网络侧设备的所述第二DH交换值,并根据所述第二DH交换值生成所述密钥;

其中,所述密钥用于保护所述D2D链路上传输的数据。

本发明实施例的第四方面,还提供一种密钥交互方法,D2D链路建立在第一用户设备和第二用户设备之间,所述方法包括:

网络侧设备接收来自所述第一用户设备的第一DH交换值;

所述网络侧设备发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥;

所述网络侧设备接收来自所述第二用户设备的所述第二DH交换值;

所述网络侧设备发送所述第二DH交换值至所述第一用户设备,以使所述第一用户设备根据所述第二DH交换值生成所述密钥。

本发明实施例的第五方面,还提供一种网络侧设备,D2D链路建立在第一用户设备和第二用户设备之间,所述网络侧设备包括:

获取单元,用于获取第一密钥;

第一发送单元,用于发送包含所述第一密钥的消息至所述第二用户设备,以使所述第二用户设备在通过所述D2D链路和所述第一用户设备通信时采用所述第一密钥保护传输的信息。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述获取单元,包括:

获取模块,用于获取第二密钥,所述第二密钥为所述网络侧设备和所述第一用户设备之间的共享密钥;

生成模块,用于根据所述第二密钥和第一参数采用密钥派生函数生成第一密钥;

其中,所述网络侧设备为:演进型基站eNB或者移动性管理实体MME或者临近业务服务器,所述第一参数包括所述eNB与所述第一用户设备之间的分组数据汇聚协议PDCP序列号;或者,所述第一参数包括所述MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一密钥为所述网络侧设备获取的随机密钥;

所述网络侧设备,还包括:

第二发送单元,用于在所述获取单元获取第一密钥之后,发送包含所述第一密钥的消息至所述第一用户设备,以使所述第一用户设备在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护所述传输的信息。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述网络侧设备,还包括:

第一接收单元,用于在所述第二发送单元发送所述包含所述第一密钥的消息至所述第一用户设备之前,接收来自所述第一用户设备的第一公共密钥;

第一加密单元,用于采用所述第一接收单元接收的所述第一公共密钥加密所述包含所述第一密钥的消息;

其中,所述第一公共密钥与所述第一用户设备保留的第一私有密钥组成第一公私密钥对;

或者,

所述网络侧设备,还包括:

第一生成单元,用于在所述第二发送单元发送所述包含所述第一密钥的消息至所述第一用户设备之前,根据第二密钥生成第三密钥;

所述第一加密单元,用于采用所述第一生成单元生成的所述第三密钥加密所述第一密钥,所述第二密钥为所述网络侧设备和所述第一用户设备之间的共享密钥;

所述第二发送单元,还用于发送包含所述第一加密单元加密后第一密钥的消息至所述第一用户设备。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述第二发送单元,还用于通过所述网络侧设备与所述第一用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第一用户设备。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述网络侧设备,还包括:

第二接收单元,用于在所述第一发送单元发送所述包含所述第一密钥的消息至所述第二用户设备之前,接收来自所述第二用户设备的第二公共密钥;

第二加密单元,用于采用所述第二接收单元接收的所述第二公共密钥加密所述包含所述第一密钥的消息;

其中,所述第二公共密钥与所述第二用户设备保留的第二私有密钥组成第二公私密钥对;

或者,

所述网络侧设备,还包括:

第二生成单元,用于在所述第一发送单元发送所述包含所述第一密钥的消息至所述第二用户设备之前,获取第四密钥,并根据所述第四密钥生成第五密钥;

所述第二加密单元,用于采用所述第二生成单元生成的所述第五密钥加密所述第一密钥;

其中,所述第四密钥为所述网络侧设备和所述第二用户设备之间的共享密钥;

所述第一发送单元,还用于发送包含所述第二加密单元加密后的第一密钥的消息至所述第二用户设备。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一发送单元,还用于通过所述网络侧设备与所述第二用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第二用户设备。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述网络侧设备,还包括:

确定单元,用于根据预存的密码算法列表、所述第一用户设备的安全能力和所述第二用户设备的安全能力,确定适用于所述第一用户设备且适用于所述第二用户设备的在所述密码算法列表中优先级排在第一位的密码算法;

第三发送单元,用于发送所述密码算法至所述第一用户设备和所述第二用户设备;

其中,所述第一用户设备的安全能力用于指示适用于所述第一用户设备的密码算法,所述第二用户设备的安全能力用于指示适用于所述第二用户设备的密码算法,所述密码算法包括加密算法和/或完整性保护算法,所述加密算法用于加密所述D2D链路上传输的数据,所述完整性保护算法用于对所述D2D链路上传输的信息进行完整性保护。

结合第五方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一发送单元,还用于若所述网络侧设备不是所述第二用户设备所属的网络侧设备,则发送所述包含所述第一密钥的消息至所述第二用户设备所属的网络侧设备,以使得所述第二用户设备所属的网络侧设备转发所述包含所述第一密钥的消息至所述第二用户设备。

本发明实施例的第六方面,还提供一种用户设备,D2D链路建立在所述用户设备和第二用户设备之间,所述用户设备包括:

获取单元,用于获取第一密钥;

保护单元,用于在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护传输的信息。

结合第六方面,在一种可能的实现方式中,所述用户设备,还包括:

接收单元,用于在所述获取单元获取所述第一密钥之后,接收来自网络侧设备的密码算法,所述网络侧设备为:eNB或者MME或者临近业务服务器,所述密码算法包括加密算法和/或完整性保护算法;

第一生成单元,用于根据所述获取单元获取的所述第一密钥和所述接收单元接收的所述加密算法生成加密密钥;

第二生成单元,用于根据所述获取单元获取的所述第一密钥和所述接收单元接收的所述完整性保护算法生成完整性保护密钥;

保护单元,包括:

加密模块,用于采用所述加密密钥和所述加密算法加密所述D2D链路上传输的信息;

保护模块,用于采用所述完整性保护密钥和所述完整性保护算法对所述D2D链路上传输的信息进行完整性保护。

结合第六方面和上述可能的实现方式,在另一种可能的实现方式中,所述获取单元,包括:

获取模块,用于获取第二密钥,所述第二密钥为所述网络侧设备与所述用户设备之间的共享密钥;

生成模块,用于根据所述第二密钥和第一参数采用预设密钥派生函数生成所述第一密钥;

其中,所述第一参数包括eNB与所述第一用户设备之间的PDCP序列号;或者,所述第一参数包括MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数;

或者,

所述获取单元,还用于接收来自所述网络侧设备的包含所述第一密钥的消息。

结合第六方面和上述可能的实现方式,在另一种可能的实现方式中,所述用户设备,还包括:

发送单元,用于在所述获取单元接收来自所述网络侧设备的包含所述第一密钥的消息之前,发送公共密钥至所述网络侧设备,以使所述网络侧设备采用所述公共密钥加密所述第一密钥,其中,所述公共密钥与所述用户设备保留的私有密钥组成公私密钥对。

结合第六方面和上述可能的实现方式,在另一种可能的实现方式中,所述获取单元,还用于接收来自所述网络侧设备的包含采用所述公共密钥加密后的第一密钥的消息。

结合第六方面和上述可能的实现方式,在另一种可能的实现方式中,所述获取单元,还用于通过所述用户设备与所述网络侧设备之间的加密连接接收来自所述网络侧设备的所述包含所述第一密钥的消息。

结合第六方面和上述可能的实现方式,在另一种可能的实现方式中,所述获取单元,还用于接收来自所述网络侧设备的包含采用第三密钥加密后的第一密钥的消息;

其中,所述第三密钥为所述网络侧设备根据所述第二密钥生成密钥。

结合第六方面和上述可能的实现方式,在另一种可能的实现方式中,所述获取单元,还用于若所述网络侧设备不是所述用户设备所属的网络侧设备,则接收来自所述用户设备所属的网络侧设备的所述包含所述第一密钥的消息,所述包含所述第一密钥的消息为所述用户设备所属的网络侧设备接收自所述网络侧设备的。

本发明实施例的第七方面,还提供一种用户设备,D2D链路建立在所述用户设备和第二用户设备之间,所述用户设备包括:

获取单元,用于获取获取第一DH交换值;

发送单元,用于发送所述第一DH交换值至网络侧设备,以使所述网络侧设备发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥,进而使所述第二用户设备发送所述第二DH交换值至所述网络侧设备;

接收单元,用于接收来自所述网络侧设备的所述第二DH交换值,并根据所述第二DH交换值生成所述密钥;

其中,所述密钥用于保护所述D2D链路上传输的数据。

本发明实施例的第八方面,还提供一种网络侧设备,D2D链路建立在第一用户设备和第二用户设备之间,所述网络侧设备包括:

第一接收单元,用于接收来自所述第一用户设备的第一DH交换值;

第一发送单元,用于发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥;

第二接收单元,用于接收来自所述第二用户设备的所述第二DH交换值;

第二发送单元,用于发送所述第二DH交换值至所述第一用户设备,以使所述第一用户设备根据所述第二DH交换值生成所述密钥。

本发明实施例的第九方面,还提供一种网络侧设备,其特征在于,D2D链路建立在第一用户设备和第二用户设备之间,所述网络侧设备,包括:

处理器,用于获取第一密钥;

发送器,用于备发送包含所述第一密钥的消息至所述第二用户设备,以使所述第二用户设备在通过所述D2D链路和所述第一用户设备通信时采用所述第一密钥保护传输的信息。

结合第九方面,在一种可能的实现方式中,所述处理器,还用于获取第二密钥,所述第二密钥为所述网络侧设备和所述第一用户设备之间的共享密钥;根据所述第二密钥和第一参数采用密钥派生函数生成第一密钥;

其中,所述网络侧设备为:演进型基站eNB或者移动性管理实体MME或者临近业务服务器,所述第一参数包括所述eNB与所述第一用户设备之间的分组数据汇聚协议PDCP序列号;或者,所述第一参数包括所述MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数。

结合第九方面和上述可能的实现方式,在另一种可能的实现方式中,所述第一密钥为所述网络侧设备获取的随机密钥;

所述发送器,还用于在所述处理器获取所述第一密钥之后,发送包含所述第一密钥的消息至所述第一用户设备,以使所述第一用户设备在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护所述传输的信息。

结合第九方面和上述可能的实现方式,在另一种可能的实现方式中,所述网络侧设备,还包括:

接收器,用于在所述发送器发送所述包含所述第一密钥的消息至所述第一用户设备之前,接收来自所述第一用户设备的第一公共密钥;

所述处理器,还用于采用所述第一公共密钥加密所述第一密钥;

其中,所述第一公共密钥与所述第一用户设备保留的第一私有密钥组成第一公私密钥对;

或者,

所述处理器,还用于根据第二密钥生成第三密钥;采用所述第三密钥加密所述第一密钥,所述第二密钥为所述网络侧设备和所述第一用户设备之间的共享密钥;

所述发送器,还用于发送包含所述处理器加密后的第二密钥的消息至所述第一用户设备。

结合第九方面和上述可能的实现方式,在另一种可能的实现方式中,所述发送器,还用于通过所述网络侧设备与所述第一用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第一用户设备。

结合第九方面和上述可能的实现方式,在另一种可能的实现方式中,接收器,还用于在所述发送器发送所述发送包含所述第一密钥的消息至所述第二用户设备之前,接收来自所述第二用户设备的第二公共密钥;

所述处理器,还用于采用所述第二公共密钥加密所述第一密钥;

其中,所述第二公共密钥与所述第二用户设备保留的第二私有密钥组成第二公私密钥对;

或者,

所述处理器,还用于获取第四密钥,所述第四密钥为所述网络侧设备和所述第二用户设备之间的共享密钥;根据所述第四密钥生成第五密钥,并采用所述第五密钥加密所述第一密钥;

所述发送器,还用于发送包含所述处理器加密后的第二密钥的消息至所述第二用户设备。

结合第九方面和上述可能的实现方式,在另一种可能的实现方式中,所述发送器,还用于通过所述网络侧设备与所述第二用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第二用户设备。

结合第九方面和上述可能的实现方式,在另一种可能的实现方式中,所述处理器,还用于根据预存的密码算法列表、所述第一用户设备的安全能力和所述第二用户设备的安全能力,确定适用于所述第一用户设备且适用于所述第二用户设备的在所述密码算法列表中优先级排在第一位的密码算法;

所述发送器,还用于发送所述密码算法至所述第一用户设备和所述第二用户设备;

其中,所述第一用户设备的安全能力用于指示适用于所述第一用户设备的密码算法,所述第二用户设备的安全能力用于指示适用于所述第二用户设备的密码算法,所述密码算法包括加密算法和/或完整性保护算法,所述加密算法用于加密所述D2D链路上传输的数据,所述完整性保护算法用于对所述D2D链路上传输的信息进行完整性保护。

结合第九方面和上述可能的实现方式,在另一种可能的实现方式中,所述发送器,还用于若所述网络侧设备不是所述第二用户设备所属的网络侧设备,则发送所述包含所述第一密钥的消息至所述第二用户设备所属的网络侧设备,以使得所述第二用户设备所属的网络侧设备转发所述包含所述第一密钥的消息至所述第二用户设备。

本发明实施例的第十方面,还提供一种用户设备,D2D链路建立在所述用户设备和第二用户设备之间,所述用户设备包括:

处理器,用于获取第一密钥;

存储器,用于存储所述处理器获取的所述第一密钥;

所述处理器,还用于在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护传输的信息。

结合第十方面,在一种可能的实现方式中,所述用户设备,还包括:

接收器,用于在所述处理器获取所述第一密钥之后,接收来自网络侧设备的密码算法,所述网络侧设备为:eNB或者MME或者临近业务服务器,所述密码算法包括加密算法和/或完整性保护算法;

所述处理器,还用于根据所述第一密钥和所述加密算法生成加密密钥;根据所述第一密钥和所述完整性保护算法生成完整性保护密钥;采用所述加密密钥和所述加密算法加密所述D2D链路上传输的信息;采用所述完整性保护密钥和所述完整性保护算法对所述D2D链路上传输的信息进行完整性保护。

结合第十方面和上述可能的实现方式,在另一种可能的实现方式中,所述处理器,还用于获取第二密钥,所述第二密钥为所述网络侧设备与所述用户设备之间的共享密钥;根据所述第二密钥和第一参数采用密钥派生函数生成所述第一密钥;

其中,所述第一参数包括eNB与所述第一用户设备之间的PDCP序列号;或者,所述第一参数包括MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数;

或者,

接收器,还用于接收来自所述网络侧设备的包含所述第一密钥的消息。

结合第十方面和上述可能的实现方式,在另一种可能的实现方式中,所述用户设备,还包括:

发送器,用于在所述接收器接收来自所述网络侧设备的所述包含所述第一密钥的消息之前,发送公共密钥至所述网络侧设备,以使所述网络侧设备采用所述公共密钥加密所述第一密钥,其中,所述公共密钥与所述用户设备保留的私有密钥组成公私密钥对。

结合第十方面和上述可能的实现方式,在另一种可能的实现方式中,所述接收器,还用于接收来自所述网络侧设备的包含采用所述公共密钥加密后的第一密钥的消息。

结合第十方面和上述可能的实现方式,在另一种可能的实现方式中,所述接收器,还用于通过所述用户设备与所述网络侧设备之间的加密连接接收来自所述网络侧设备的所述包含所述第一密钥的消息。

结合第十方面和上述可能的实现方式,在另一种可能的实现方式中,所述接收器,还用于接收来自所述网络侧设备的包含采用第三密钥加密后的第一密钥的消息;

其中,所述第三密钥为所述网络侧设备根据所述第二密钥生成密钥。

结合第十方面和上述可能的实现方式,在另一种可能的实现方式中,所述接收器,还用于若所述网络侧设备不是所述用户设备所属的网络侧设备,则接收来自所述用户设备所属的网络侧设备的所述包含所述第一密钥的消息,所述包含所述第一密钥的消息为所述用户设备所属的网络侧设备接收自所述网络侧设备的。

本发明实施例的第十一方面,还提供一种用户设备,D2D链路建立在所述用户设备和第二用户设备之间,所述用户设备包括:

处理器,用于获取第一DH交换值;

发送器,用于发送所述第一DH交换值至网络侧设备,以使所述网络侧设备发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥,进而使所述第二用户设备发送所述第二DH交换值至所述网络侧设备;

接收器,用于接收来自所述网络侧设备的所述第二DH交换值,并根据所述第二DH交换值生成所述密钥;

其中,所述密钥用于保护所述D2D链路上传输的数据。

本发明实施例的第十二方面,还提供一种网络侧设备,D2D链路建立在第一用户设备和第二用户设备之间,所述网络侧设备,包括:

接收器,用于接收来自所述第一用户设备的第一DH交换值;

发送器,用于发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥;

所述接收器,还用于接收来自所述第二用户设备的所述第二DH交换值;

所述发送器,还用于发送所述第二DH交换值至所述第一用户设备,以使所述第一用户设备根据所述第二DH交换值生成所述密钥。

本发明实施例提供的密钥交互方法及装置,网络侧设备获取第一密钥,并发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明背景技术中的用户设备之间通过D2D链路通信的示意图;

图2为本发明一实施例中的一种密钥交互方法流程图;

图3为本发明另一实施例中的一种密钥交互方法流程图;

图4为本发明另一实施例中的一种密钥交互方法流程图;

图5为本发明另一实施例中的一种密钥交互方法流程图;

图6为本发明另一实施例中的一种密钥交互方法流程图;

图7为本发明另一实施例中的一种密钥交互方法流程图;

图8为本发明另一实施例中的一种密钥交互方法流程图;

图9为本发明另一实施例中的一种网络侧设备的组成示意图;

图10为本发明另一实施例中的一种用户设备的组成示意图;

图11为本发明另一实施例中的一种用户设备的组成示意图;

图12为本发明另一实施例中的一种网络侧设备的组成示意图;

图13为本发明另一实施例中的一种网络侧设备的组成示意图;

图14为本发明另一实施例中的一种用户设备的组成示意图;

图15为本发明另一实施例中的一种用户设备的组成示意图;

图16为本发明另一实施例中的一种网络侧设备的组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本文中描述的各种技术可用于长期演进(LTE,Long Term Evolution)系统。其中,用户设备,可以是无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(例如,RAN,Radio Access Network)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(PCS,Personal Communication Service)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(WLL,Wireless Local Loop)站、个人数字助理(PDA,Personal Digital Assistant)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device)、或用户装备(User Equipment),本发明并不限定。。

另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本发明一实施例提供一种密钥交互方法,第一用户设备和第二用户设备之间建立有设备对设备(Decice To Decice,D2D)链路如图2所示,包括:

S101、网络侧设备获取第一密钥。

其中,网络侧设备可以为:演进型基站(evolved Node B,eNB)或移动性管理实体(Mobile Management Entity,MME)或临近业务服务器(Proximity Server)。

在本发明实施例的一种应用场景中,网络侧设备获取第一密钥的方法可以包括:网络侧设备获取第二密钥;网络侧设备根据第二密钥采用密钥派生函数生成第一密钥。

在这种应用场景中,当网络侧设备为eNB时,第二密钥为eNB和第一用户设备之间的共享密钥;如KeNB、KRRC.int、KRRC.enc、KUP.enc、KUP.int等密钥中的一个或多个。当网络侧设备为MME时,第二密钥为MME和第一用户设备之间的共享密钥;如KASME、KNAS.enc、KNAS.int等密钥中的一个或多个。当网络侧设备为临近业务服务器时,第二密钥为临近业务服务器和第一用户设备之间的共享密钥。

具体的,网络侧设备根据第二密钥采用密钥派生函数生成第一密钥,包括:网络侧设备根据第二密钥和第一参数采用密钥派生函数生成第一密钥;其中,第一参数包括所述eNB与第一用户设备之间的分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)序列号;或者,第一参数包括MME与第一用户设备之间的非接入层消息的序列号;或者,第一参数包括所述网络侧设备生成的随机数。

具体的,为了避免不同时间建立的D2D链路密钥(第一密钥)相同,本发明实施例在第一密钥的生成过程中引入随机变量第一参数。第一参数可以是eNB与第一用户设备之间的PDCP序列号或者MME与第一用户设备之间的非接入层消息的序列号,或网络设备生成的随机数,或根据网络设备和第二用户设备的共享密钥生成的参数。

其中,第一参数不仅可以包括上述列举的随机参数,还可以包括一些固定参数。例如,网络侧设备可以根据第一用户设备的身份、第二用户设备的身份和其他输入参数,利用密钥派生函数生成随机密钥。

在本发明实施例的另一种应用场景中,第一密钥可以为网络侧设备获取的随机密钥。

S102、网络侧设备发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。

在本发明实施例的一种应用场景中,当第二密钥为网络侧设备和第一用户设备之间的数据共享密钥时,由于第一用户设备和网络侧设备之间共享该密钥,因此,网络侧设备只需要在生成第一密钥后发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。而第一用户设备则可以根据网络侧设备与第一用户设备之间的共享密钥生成第一密钥。其中,第一用户设备根据网络侧设备与第一用户设备之间的共享密钥生成第一密钥的方法与网络侧设备生成根据共享密钥生成第一密钥的方法类似,本发明实施例这里不再赘述。

在本发明实施例的另一种应用场景中,当第一密钥为网络侧设备获取的随机密钥时,由于第一用户设备和第二用户设备都不能获取该随机密钥,因此,本发明实施例的方法还可以包括:网络侧设备发送包含第一密钥的消息至第二用户设备之后,网络侧设备发送包含第一密钥的消息至第一用户设备,以使第一用户设备在通过D2D链路和第二用户设备通信时采用第一密钥保护传输的信息。

进一步的,在本发明实施例的一种情形下,网络侧设备和用户设备(第一用户设备和第二用户设备)之间交互第一密钥时,可以利用网络侧设备和用户设备之间的加密连接来传输第一密钥。网络设备为eNB时,可以利用加密的无线资源控制(Radio Resource Control,RRC)信令或用户面数据包传输第一密钥;网络设备为MME时,可以利用加密的非接入层(Non-Access Stratum,NAS)信令传输第一密钥;网络设备为临近业务服务器(Proximity Server)时,可以利用用户设备和临近业务服务器间的传输层安全协议(TLS Transport Layer Security,TLS)连接传输第一密钥。

进一步的,在本发明实施例的另一种情形下,网络侧设备可以根据第二密钥生成第三密钥,并采用第三密钥加密第一密钥,第二密钥为所述网络侧设备和第一用户设备之间的共享密钥,然后发送包含加密后的第一密钥的消息至第一用户设备。网络侧设备可以获取第四密钥,第四密钥为网络侧设备和第二用户设备之间的共享密钥,并根据第四密钥生成第五密钥,并采用第五密钥加密第一密钥,然后发送的包含加密后的第一密钥的消息至第二用户设备。

进一步的,在本发明实施例的另一种情形下,网络侧设备和用户设备也可以采用非对称加密技术加密包含第二密钥的消息,以保证网络侧设备可以将第二密钥安全地发送至用户设备。具体的,网络侧设备接收来自用户设备(第一用户设备和第二用户设备)的公共密钥(第一公共密钥和第二公共密钥);网络侧设备采用公共密钥(第一公共密钥和第二公共密钥)加密第一密钥;网络侧设备发送包含加密后的包含第一密钥的消息至用户设备,用户设备可以根据自身保留的私有密钥(第一私有密钥和第二私有密钥)解密加密后的第一密钥,则可以获取第一密钥。其中,第一公共密钥与第一用户设备保留的第一私有密钥组成第一公私密钥对;第二公共密钥与第二用户设备保留的第二私有密钥组成第二公私密钥对。

需要说明的是,当第一用户设备和第二用户设备之间通过D2D链路传输的数据仅包含用户面数据时,第一用户设备和第二用户设备则可以直接根据接收自网络侧设备的第一密钥加密或者解密传输信息。

进一步可选的,当第一用户设备和第二用户设备之间通过D2D链路传输的数据不仅包含用户面数据,还包含控制面数据时,用户设备可以根据第一密钥进一步生成加密密钥和完整性保护密钥,以保证用户面和控制面数据的不会被中途破坏或者失真。

本发明实施例提供的密钥交互方法,网络侧设备获取第一密钥,并发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供的一种密钥交互方法,如图3所示,包括:

S201、用户设备获取第一密钥。

在本发明实施例的一种应用场景中,用户设备获取第一密钥的方法,可以包括:用户设备获取第二密钥,第二密钥为网络侧设备与用户设备之间的共享密钥;根据第二密钥采用密钥派生函数生成第一密钥。

在本发明实施例的另一种应用场景中,用户设备获取第一密钥的方法,可以包括:用户设备接收来自网络侧设备的包含第一密钥的消息。

进一步的,在这种应用场景中,本发明实施例的方法还可以包括:用户设备利用其与网络设备的加密连接来接收第一密钥。或用户设备利用其与网络设备的共享密钥推演第三密钥,利用第三密钥解密接收到的第一密钥。或用户设备发送公共密钥至网络侧设备,以使网络侧设备采用所述公共密钥加密第一密钥,并使网络侧设备发送包含加密后的第一密钥的消息至用户设备。其中,公共密钥与用户设备保留的私有密钥组成公私密钥对。

进一步的,在用户设备获取第一密钥之后,本发明实施例的方法还可以包括:用户设备接收来自网络侧设备的密码算法,密码算法包括加密算法和/或完整性保护算法。

进一步的,用户设备可以根据第一密钥和加密算法生成加密密钥;根据第一密钥和完整性保护算法生成完整性保护密钥。

S202、用户设备在通过D2D链路和第二用户设备通信时采用第一密钥保护传输的信息。

具体的,当第一用户设备和第二用户设备之间通过D2D链路传输的数据仅包含用户面数据时,第一用户设备和第二用户设备则可以根据第一密钥加密传输数据。

当第一用户设备和第二用户设备之间通过D2D链路传输的数据不仅包含用户面数据,还包含控制面数据时,用户设备(第一用户设备和第二用户设备)则可以采用根据第一密钥和密码算法生成的加密密钥加密D2D链路上传输的数据;采用根据第一密钥和完整性保护算法生成的完整性保护密钥对D2D链路上传输的数据进行完整性保护。

进一步的,由于用户设备可以根据第一密钥和加密算法生成加密密钥;根据第一密钥和完整性保护算法生成完整性保护密钥。相应的,用户设备采用第一密钥保护D2D链路上传输的数据,具体可以包括:用户设备采用加密密钥和加密算法加密D2D链路上传输的信息,并采用完整性保护密钥和完整性保护算法对D2D链路上传输的信息进行完整性保护。

密码算法是网络侧设备在预存的密码算法列表中确定的,适用于该用户设备和与该用户设备之间建立有D2D链路的用户设备的优先级最高的密码算法。其中,网络侧设备可以根据预存的密码算法列表、第一用户设备的安全能力和第二用户设备的安全能力,确定适用于第一用户设备且适用于第二用户设备的在所述密码算法列表中优先级排在第一位的密码算法,并发送密码算法至第一用户设备和第二用户设备。第一用户设备的安全能力用于指示适用于第一用户设备的密码算法,第二用户设备的安全能力用于指示适用于第二用户设备的密码算法。网络侧设备中可以预存第一电子设备和第二电子设备的安全能力。

本发明实施例提供的密钥交互方法,用户设备获取第一密钥,采用第一密钥保护D2D链路上传输的信息。用户设备采用第一密钥保护D2D链路上传输的数据,可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种密钥交互方法,第一用户设备和第二用户设备之间建立有D2D链路,如图4所示,该方法包括:

S301、第一用户设备获取第一迪菲-赫尔曼(Diffie-Hellman,DH)DH交换值。

具体的,第一用户设备获取第一DH交换值的方法可以包括:第一用户设备获取第一自然数、素数参数和原根参数,并根据第一自然数、素数参数和原根参数生成第一DH交换值。

其中,第一自然数为第一用户设备随机获取的自然数,第一自然数可以是所有自然数中的一个。素数参数是指在一个大于1的自然数中,除了1和其自身外,不能被其他自然数整除的数。原根参数可以为不等于0且不等于1的随机自然数。

S302、第一用户设备发送第一DH交换值至网络侧设备,以使网络侧设备发送第一DH交换值至第二用户设备,以使第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥,进而使第二用户设备发送第二DH交换值至网络侧设备。

具体的,第二用户设备获取第二DH交换值的方法可以包括:第二用户设备获取第二自然数、素数参数和原根参数,并根据第二自然数、、素数参数和原根参数生成第二DH交换值。其中,第二自然数与第一自然数类似,可以为第二用户设备随机获取的自然数;素数参数和原根参数可以为第二用户设备和第一用户设备的共享参数,或者第二用户设备通过网络侧设备接收自第一用户设备的参数。

其中,密钥用于保护D2D链路上传输的数据。

S303、第一用户设备第一用户设备接收来自网络侧设备的第二DH交换值,并根据第二DH交换值生成密钥。

具体的,第一用户设备根据所述第二DH交换值生成加密密钥的方法可以包括:第一用户设备根据第二DH交换值、第一自然数和素数参数生成密钥。

本发明实施例提供的密钥交互方法,第一用户设备获取第一DH交换值,然后发送第一DH交换值至网络侧设备,以使网络侧设备发送第一DH交换值至第二用户设备,第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥,第二用户设备发送第二DH交换值和第一用户设备的标识至网络侧设备,最后第一用户设备接收来自网络侧设备的第二DH交换值,并根据第二DH交换值生成密钥。与现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在信息的篡改问题相比,第一用户设备和第二用户设备可以通过共享参数、随机自然数生成相同的共享密钥,可以使建立D2D链路的用户设备之间共享一套密钥,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供的一种密钥交互方法,第一用户设备和第二用户设备之间建立有D2D链路,如图5所示,该方法包括:

S401、网络侧设备接收来自第一用户设备的第一DH交换值。

具体是,网络侧设备可以为:eNB或者MME或临近业务服务器(Proximity Server)。

S402、网络侧设备发送第一DH交换值至第二用户设备,以使第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥。

S403、网络侧设备接收来自第二用户设备的第二DH交换值。

S404、网络侧设备发送第二DH交换值至第一用户设备,以使第一用户设备根据第二DH交换值生成密钥。

在本实施例中,网络侧设备可以通过RRC信令消息,NAS消息等在第一用户设备和第二用户设备之间转发第一用户设备和第二用户设备的共享参数(包括:第一交换数、素数参数、原根参数和第二交换数),以使得第一用户设备和第二用户设备可以根据共享参数和各自获取的随机自然数生成加密密钥。其中,RRC信令消息,非NAS消息等可以采用用户设备和网络侧设备之间的完整性保护密钥和加密密钥保护传输的数据,以保证第一用户设备和第二用户设备的共享参数不会被第三方设备篡改。

本发明实施例提供的密钥交互方法,网络侧设备接收来自第一用户设备的第一DH交换值,并发送第一DH交换值至第二用户设备,以使第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥,然后接收来自第二用户设备的第二DH交换值,最后发送第二DH交换值至第一用户设备,以使第一用户设备根据第二DH交换值生成密钥。与现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在信息的篡改问题相比,网络侧设备可以通过在第一用户设备和第二用户设备之间转发交换值,使得第一用户设备和第二用户设备生成共享密钥,可以使建立D2D链路的用户设备之间共享一套密钥,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种密钥交互方法,第一用户设备和第二用户设备之间建立有D2D链路,如图6所示,该方法包括:

S501、网络侧设备获取第二密钥。

具体的,第二密钥为eNB和第一用户设备之间的共享密钥KeNB;或者,第二密钥为MME和第一用户设备之间的共享密钥KASME;或者,第二密钥为临近业务服务器和第一设备之间的共享密钥Kprox;

S502、网络侧设备根据第二密钥和第一参数采用密钥派生函数生成第一密钥。

具体的,当网络侧设备为eNB时,第二密钥为eNB和第一用户设备之间的共享密钥,第一参数包括eNB与第一用户设备之间的PDCP序列号;当网络侧设备为MME时,所述第二密钥为MME和第一用户设备之间的共享密钥,所述第一参数包括MME与第一用户设备之间的非接入层消息的序列号;当网络侧设备为临近业务服务器时,所述第一参数为临近业务服务器生成的随机数。

示例性的,密钥派生函数(Key derivation function,KDF)可用于派生各种算法的输入密钥,如第一用户设备可以将第二密钥和第一参数作为输入参数采用密钥派生函数生成第一密钥,具体的,以eNB为网络侧设备为例,如:Kud=KDF(KeNB,MAX{PDCP COUNT}),其中,Kud为第一密钥,KeNB为第二密钥,MAX{PDCP COUNT}为第一参数。

需要说明的是,本发明实施中所采用的密钥派生函数包括但不限于上述列举的KDF函数,本发明实施中所采用密钥派生函数还可以包括其他的密钥派生函数。

S503、第一用户设备获取第二密钥。

在本实施例中,由于第二密钥为网络侧设备和第一用户设备之间的共享密钥,因此用户设备不需要发送第一密钥至第一用户设备,而是由第一用户设备自己获取第二密钥,该第二密钥也是网络侧设备与第一用户设备之间的共享密钥。

S504、第一用户设备根据第二密钥和第一参数采用密钥派生函数生成第一密钥。

具体的,第一用户设备根据第二密钥和第一参数采用预设密钥派生函数生成第一密钥的具体方法可以参考网络侧设备根据第二密钥和第一参数采用预设密钥派生函数生成第一密钥的方法。其中,用户设备和网络侧设备之间可以预先共享一个密钥派生函数,以便于用户设备和网络侧设备可以根据同一个密钥派生函数生成相同的第一密钥。

需要说明的是,在本实施例中可以先执行S501至S502,再执行S503至S504;也可以先执行S503至S504,再执行S501至S502;或者,还可以同时执行S501至S502和S503至S504,本发明实施例对S501至S502和S503至S504执行的先后顺序不做限制。

进一步可选的,用户设备和网络侧设备之间可以采用非对称加密技术,对第一密钥进行加密,以保证网络侧设备发送第一密钥至用户设备时第一密钥不被攻击者窃听,因此本发明实施例的方法还可以包括S505至S507:

S505、网络侧设备接收来自第二用户设备的第二公共密钥。

S506、网络侧设备采用第二公共密钥加密第一密钥。

其中,第二公共密钥与第二用户设备保留的第二私有密钥组成第二公私密钥对。

具体的,用户设备可以采用现有的密钥生成算法生成公私密钥对(第二公私密钥对),并发送公共密钥(第二公共密钥)至网络侧设备,以使网络侧设备采用公共密钥(第二公共密钥)加密第一密钥。

进一步可选的,在本发明实施例的一种应用场景中,S505-S506可以替换为:网络侧设备获取第四密钥,第四密钥为所述网络侧设备和第二用户设备之间的共享密钥;网络侧设备根据第四密钥生成第五密钥,并采用第五密钥加密第一密钥。

S507、网络侧设备发送包含加密后的第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。

在本实施例中,网络侧设备发送的包含加密后的第一密钥的消息可以包括:包含网络侧设备采用第二公共密钥加密后的第一密钥的消息,或者,包含网络侧设备采用网络侧设备和第二用户设备之间的共享密钥加密后的第一密钥的消息。

进一步可选的,在本发明实施例的另一种应用场景中,S507可以替换为:网络侧设备通过网络侧设备与第二用户设备之间的加密连接发送包含第一密钥的消息至第二用户设备。具体的,网络侧设备与第二用户设备之间的加密连接的具体形式可以参考其他实施例中的相关描述,本发明实施例这里不再赘述。

进一步可选的,当第一用户设备和第二用户设备通过D2D链路传输的数据不仅包含用户面数据,还包含控制面数据时,第一用户设备和第二用户设备和需要根据第二密钥和一个密码算法采用预设密钥派生函数生成完整性保护密钥和加密密钥,以保证D2D链路上数据的完整性,因此,本发明实施例的方法还可以包括S508至S512:

S508、网络侧设备根据预存的密码算法列表、第一用户设备的安全能力和第二用户设备的安全能力,确定适用于第一用户设备且适用于第二用户设备的在密码算法列表中优先级排在第一位的密码算法。

其中,第一用户设备的安全能力用于指示适用于第一用户设备的密码算法,第二用户设备的安全能力用于指示适用于第二用户设备的密码算法。

S509、网络侧设备发送密码算法至第一用户设备和第二用户设备。

具体的,密码算法包括加密算法和/或完整性保护算法,本实施例的方法还可以包括:S510至S513:

S510、第一用户设备根据第一密钥和加密算法生成加密密钥。

其中,加密算法用于加密D2D链路上传输的信息。

S511、第一用户设备根据第一密钥和完整性保护算法生成完整性保护密钥。

其中,完整性保护算法用于对D2D链路上传输的信息进行完整性保护。

示例性的,若密钥派生函数为KDF,则第一用户设备根据第一密钥和密码算法采用预设密钥派生函数生成完整性保护密钥具体可以为:Kud_enc=KDF(Kud,alg.id),第一用户设备根据第二密钥和密码算法采用预设密钥派生函数生成加密密钥具体可以为:Kud_int=KDF(Kud,alg.id),其中,Kud_enc为完整性保护密钥,Kud_int为加密密钥,Kud为第二密钥,alg.id为密码算法。

S512、第二用户设备根据第一密钥和加密算法生成加密密钥。

S513、第二用户设备根据第一密钥和完整性保护算法生成完整性保护密钥。

需要说明的是,用户设备生成完整性保护密钥和加密密钥的具体方法包括但不限于上述列举的生成密钥的方法,其他的生成完整性保护密钥和加密密钥的方法本实施例这里不再赘述。

其中,第二用户设备根据第一密钥和密码算法采用密钥派生函数生成完整性保护密钥和加密密钥的具体方法与第一用户设备根据第一密钥和密码算法采用密钥派生函数生成完整性保护密钥和加密密钥的方法类似,本实施例这里不再赘述。

在本发明实施例的一种应用场景中,若网络侧设备不是第二用户设备所属的网络侧设备,则第二用户设备接收来自网络侧设备包含第一密钥的消息,具体可以包括:第二用户设备接收来自第二用户设备所属的网络侧设备的包含第一密钥的消息,包含第一密钥的消息为第二用户设备所属的网络侧设备接收自网络侧设备的。其中,第二用户设备也可以接收来自第二用户设备所属的网络侧设备的包含加密后的第一密钥的消息。

其中,当第一用户设备和第二用户设备根据第一密钥和密码算法生成的加密密钥和完整性保护密钥后,用户设备则可以采用加密密钥和加密算法加密D2D链路上传输的信息;用户设备采用完整性保护密钥和完整性保护算法对D2D链路上传输的信息进行完整性保护。

本发明实施例提供的密钥交互方法,网络侧设备获取第一密钥,并发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种密钥交互方法,第一用户设备和第二用户设备之间建立有D2D链路,如图7所示,包括:

S601、网络侧设备获取第二密钥。

在本实施例中,第一密钥为网络策设备获取到的随机密钥,该随机密钥可以是一段随机代码或者一段随机字符串等。或第一密钥为网络侧设备根据第一用户设备和第二用户设备的身份,利用密钥派生函数推演的到的密钥

S602、网络侧设备根据第二密钥和第一参数采用密钥派生函数生成第一密钥。

进一步可选的,用户设备和网络侧设备之间可以采用非对称加密技术,对第二密钥进行加密,以保证网络侧设备发送第一密钥至用户设备时第一密钥不被篡改,因此本发明实施例的方法还可以包括S603至S608:

S603、网络侧设备接收来自第一用户设备的第一公共密钥。

在本实施例中,由于用户设备自身并不获取第一密钥,因此,也不能根据第一密钥生成第二密钥,因此用户设备(第一用户设备和第二用户设备)需要接收来自网络侧设备的第二密钥,因此,用户设备(第一用户设备和第二用户设备)都需要发送公共密钥至网络侧设备。其中,第一用户设备发送第一公共密钥至网络侧设备网络侧设备,第二用户设备发送第二公共密钥至网络侧设备。

S604、网络侧设备采用第一公共密钥加密第一密钥。

其中,第一公共密钥与第一用户设备保留的第一私有密钥组成第一公私密钥对。

进一步可选的,在本发明实施例的一种应用场景中,S603-S604可以替换为:网络侧设备根据第二密钥生成第三密钥;网络侧设备采用第三密钥加密第一密钥,第二密钥为网络侧设备和第一用户设备之间的共享密钥。

S605、网络侧设备发送包含加密后的第二密钥的消息至第一用户设备,以使第一用户设备在通过D2D链路和第二用户设备通信时采用第一密钥保护传输的信息。

在本实施例中,网络侧设备发送的包含加密后的第一密钥的消息可以包括:包含网络侧设备采用第一公共密钥加密后的第一密钥的消息,或者,包含网络侧设备采用网络侧设备和第一用户设备之间的共享密钥加密后的第一密钥的消息。

进一步可选的,在本发明实施例的另一种应用场景中,S605可以替换为:网络侧设备通过网络侧设备与第一用户设备之间的加密连接发送包含第一密钥的消息至第一用户设备。具体的,网络侧设备与第一用户设备之间的加密连接的具体形式可以参考网络侧设备与第二用户设备之间的加密连接的具体形式,本发明实施例这里不再赘述。

S606、网络侧设备接收来自第二用户设备的第二公共密钥。

S607、网络侧设备采用第二公共密钥加密第一密钥。

其中,第二公共密钥与第二用户设备保留的第二私有密钥组成第二公私密钥对。

进一步可选的,在本发明实施例的一种应用场景中,S606-S607可以替换为:网络侧设备获取第四密钥,第四密钥为所述网络侧设备和第二用户设备之间的共享密钥;网络侧设备根据第四密钥生成第五密钥,并采用第五密钥加密第一密钥。

S608、网络侧设备发送包含加密后的第二密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。

在本实施例中,网络侧设备发送的包含加密后的第一密钥的消息可以包括:包含网络侧设备采用第二公共密钥加密后的第一密钥的消息,或者,包含网络侧设备采用网络侧设备和第二用户设备之间的共享密钥加密后的第一密钥的消息。

进一步可选的,在本发明实施例的另一种应用场景中,S608可以替换为:网络侧设备通过网络侧设备与第二用户设备之间的加密连接发送包含第一密钥的消息至第二用户设备。具体的,网络侧设备与第二用户设备之间的加密连接的具体形式可以参考其他实施例中的相关描述,本发明实施例这里不再赘述。

由于在本实施例中,网络侧设备获取第一密钥,并将第一密钥分发至第一用户设备和第二用户设备,因此,不需要第一用户设备或者第二用户设备自身获取第一密钥。

需要说明的是,在本实施例中可以先执行S603至S605,再执行S606至S608;也可以先执行S606至S608,再执行S603至S605;或者,还可以同时执行S603至S605和S606至S608,本发明实施例对S603至S605和S606至S608执行的先后顺序不做限制。

进一步可选的,当第一用户设备和第二用户设备通过D2D链路传输的数据不仅包含用户面数据,还包含控制面数据时,第一用户设备和第二用户设备和需要根据第二密钥和一个密码算法采用预设密钥派生函数生成完整性保护密钥和加密密钥,以保证D2D链路上数据的完整性,因此,本发明实施例的方法还可以包括S609至S613:

S609、网络侧设备根据预存的密码算法列表、第一用户设备的安全能力和第二用户设备的安全能力,确定适用于第一用户设备且适用于第二用户设备的在密码算法列表中优先级排在第一位的密码算法。

S610、网络侧设备发送密码算法至第一用户设备和第二用户设备。

S611、第一用户设备根据第一密钥和加密算法生成加密密钥。

S612、第一用户设备根据第一密钥和完整性保护算法生成完整性保护密钥。

S613、第二用户设备根据第一密钥和加密算法生成加密密钥。

S614、第二用户设备根据第一密钥和完整性保护算法生成完整性保护密钥。

在本发明实施例的一种应用场景中,若网络侧设备不是用户设备(第一用户设备或者第二用户设备)所属的网络侧设备,则用户设备接收来自网络侧设备包含第一密钥的消息,具体可以包括:用户设备接收来自用户设备所属的网络侧设备的包含第一密钥的消息,包含第一密钥的消息为用户设备所属的网络侧设备接收自网络侧设备的。其中,用户设备也可以接收来自用户设备所属的网络侧设备的包含加密后的第一密钥的消息。

其中,当第一用户设备和第二用户设备根据第一密钥和密码算法生成的加密密钥和完整性保护密钥后,第一用户设备和第二用户设备在通过D2D链路传输数据时,则可以采用加密密钥加密D2D链路上传输的信息,并采用完整性保护密钥对D2D链路上传输的信息进行完整性保护,以防止数据在传输过程中被篡改。

本发明实施例提供的密钥交互方法,网络侧设备获取第一密钥,并发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种密钥交互方法,第一用户设备和第二用户设备之间建立有D2D链路,如图8所示,包括:

S701、第一用户设备获取第一DH交换值。

其中,第一用户设备可以获取第一自然数、素数参数和原根参数,并根据第一自然数、素数参数和原根参数生成第一DH交换值。

示例性的,第一用户设备根据A=(gamodp)生成第一DH交换值。其中,A为第一DH交换值,a为第一自然数,g为原根参数,p为素数参数。

S702、第一用户设备发送第一DH交换数至网络侧设备。

S703、网络侧设备发送第一DH交换值至所述第二用户设备,以使第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥。

具体的,网络侧设备可以根据第二用户设备的标识发送第一DH交换值至所述第二用户设备。

示例性的,第二用户设备根据第二自然数、素数参数和原根参数生成第二交换数,具体包括:第二用户设备根据B=(gbmodp)生成第二DH交换值;第二用户设备根据Kud=(A)bmodp生成密钥。其中,,A为第一DH交换值,B为第二DH交换值,b为第一自然数,g为原根参数,p为素数参数,Kud为密钥。

S704、网络侧设备接收来自第二用户设备的第二DH交换值。

S705、网络侧设备发送第二DH交换值至第一用户设备。

具体的,网络侧设备可以根据第一用户设备的标识发送第二DH交换值至第一用户设备。

S706、第一用户设备根据第二DH交换值生成密钥。

示例性的,第一用户设备根据第二交换数、第一自然数和素数参数生成加密密钥可以为:第一用户设备根据Kud=(B)amodp生成加密密钥;其中,B为第二DH交换值,b为第一自然数,p为素数参数,Kud为密钥。

本实施例中使用传统的DH交换生成共享密钥,也可以使用基于椭圆曲线的其他DH交换方式生成共享密钥。

本发明实施例提供的密钥交互方法,第一用户设备获取第一DH交换值,然后发送第一DH交换值至网络侧设备,以使网络侧设备发送第一DH交换值至第二用户设备,第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥,第二用户设备发送第二DH交换值和第一用户设备的标识至网络侧设备,最后第一用户设备接收来自网络侧设备的第二DH交换值,并根据第二DH交换值生成密钥。与现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在信息的篡改问题相比,第一用户设备和第二用户设备可以通过共享参数、随机自然数生成相同的共享密钥,可以使建立D2D链路的用户设备之间共享一套密钥,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种网络侧设备,第一用户设备和第二用户设备之间建立有D2D链路,如图9所示,所述网络侧设备包括:获取单元A101、第一发送单元A102。

获取单元A101,用于获取第一密钥。

第一发送单元A102,用于发送包含所述第一密钥的消息至所述第二用户设备,以使所述第二用户设备在通过所述D2D链路和所述第一用户设备通信时采用所述第一密钥保护传输的信息。

进一步的,在本实施例的第一种应用场景中,所述网络侧设备为:eNB或者MME或者临近业务服务器。

进一步的,在本实施例的第二种应用场景中,所述获取单元A101,包括:

获取模块A1011,用于获取第二密钥。

生成模块A1012,用于根据所述第二密钥采用密钥派生函数生成第一密钥。

进一步的,当所述网络侧设备为eNB时,所述第二密钥为所述eNB和所述第一用户设备之间的共享密钥;当所述网络侧设备为MME时,所述第二密钥为所述MME和所述第一用户设备之间的共享密钥;当所述网络侧设备为临近业务服务器时,所述第二密钥为所述临近业务服务器和所述第一用户设备之间的共享密钥。

进一步的,所述生成模块A1012,还用于根据所述第二密钥和所述第一参数采用密钥派生函数生成所述第一密钥。

其中,所述第一参数包括所述eNB与所述第一用户设备之间的分组数据汇聚协议PDCP序列号;或者,所述第一参数包括所述MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数。

进一步的,所述第一密钥为所述网络侧设备获取的随机密钥。

所述网络侧设备,还包括:第二发送单元A103。

第二发送单元A103,用于在所述获取单元A101获取第一密钥之后,发送包含所述第一密钥的消息至所述第一用户设备,以使所述第一用户设备在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护所述传输的信息。

进一步的,在本发明实施例的一种应用场景中,所述网络侧设备,还包括:第一接收单元A104、第一加密单元A105。

第一接收单元A104,用于在所述第二发送单元A103发送所述包含所述第一密钥的消息至所述第一用户设备之前,接收来自所述第一用户设备的第一公共密钥。

第一加密单元A105,用于采用所述第一接收单元A104接收的所述第一公共密钥加密所述包含所述第一密钥的消息。

所述第二发送单元A103,还用于发送包含所述第一加密单元A105加密后第一密钥的消息至所述第一用户设备。

其中,所述第一公共密钥与所述第一用户设备保留的第一私有密钥组成第一公私密钥对。

或者,在这种应用场景中,所述网络侧设备,还包括:第一生成单元A106、第一加密单元A105。

第一生成单元A106,用于在所述第二发送单元A103发送所述包含所述第一密钥的消息至所述第一用户设备之前,根据第二密钥生成第三密钥。

所述第一加密单元A105,用于采用所述第一生成单元A106生成的所述第三密钥加密所述第一密钥,所述第二密钥为所述网络侧设备和所述第一用户设备之间的共享密钥。

所述第二发送单元A103,还用于发送包含所述第一加密单元A105加密后第一密钥的消息至所述第一用户设备。

进一步的,所述第二发送单元A103,还用于通过所述网络侧设备与所述第一用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第一用户设备。

进一步的,在本发明实施例的另一种应用场景中,所述网络侧设备,还可以包括:第二接收单元A107、第二加密单元A108。

第二接收单元A107,用于在所述第一发送单元A102发送所述包含所述第一密钥的消息至所述第二用户设备之前,接收来自所述第二用户设备的第二公共密钥。

第二加密单元A108,用于采用所述第二接收单元A107接收的所述第二公共密钥加密所述包含所述第一密钥的消息。

其中,所述第二公共密钥与所述第二用户设备保留的第二私有密钥组成第二公私密钥对。

或者,在这种应用场景中,所述网络侧设备,还包括:第二生成单元A109、第二加密单元A108。

第二生成单元A109,用于在所述第一发送单元发送所述包含所述第一密钥的消息至所述第二用户设备之前,获取第四密钥,并根据所述第四密钥生成第五密钥。

所述第二加密单元A108,用于采用所述第二生成单元生成的所述第五密钥加密所述第一密钥。

其中,所述第四密钥为所述网络侧设备和所述第二用户设备之间的共享密钥。

所述第一发送单元A102,还用于发送包含所述第二加密单元A108加密后的第一密钥的消息至所述第二用户设备。

进一步的,所述第一发送单元A102,还用于通过所述网络侧设备与所述第二用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第二用户设备。

进一步的,所述网络侧设备,还可以包括:确定单元A110、第三发送单元A111。

确定单元A110,用于根据预存的密码算法列表、所述第一用户设备的安全能力和所述第二用户设备的安全能力,确定适用于所述第一用户设备且适用于所述第二用户设备的在所述密码算法列表中优先级排在第一位的密码算法。

第三发送单元A111,用于发送所述密码算法至所述第一用户设备和所述第二用户设备。

其中,所述第一用户设备的安全能力用于指示适用于所述第一用户设备的密码算法,所述第二用户设备的安全能力用于指示适用于所述第二用户设备的密码算法。

进一步的,所述密码算法包括加密算法和/或完整性保护算法,所述加密算法用于加密所述D2D链路上传输的数据,所述完整性保护算法用于对所述D2D链路上传输的信息进行完整性保护。

进一步的,所述第一发送单元,还用于若所述网络侧设备不是所述第二用户设备所属的网络侧设备,则发送所述包含所述第一密钥的消息至所述第二用户设备所属的网络侧设备,以使得所述第二用户设备所属的网络侧设备转发所述包含所述第一密钥的消息至所述第二用户设备。

进一步的,所述第一发送单元A102,还用于若所述网络侧设备不是所述第二用户设备所属的网络侧设备,则发送所述包含所述第一密钥的消息至所述第二用户设备所属的网络侧设备,以使得所述第二用户设备所属的网络侧设备转发所述包含所述第一密钥的消息至所述第二用户设备。

需要说明的是,本发明实施例提供的网络侧设备中部分功能模块的具体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的网络侧设备,获取第一密钥,并发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。获取第一密钥,然后发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路向第一用户设备传输数据时采用第一密钥保护数据。可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种用户设备,所述用户设备之间建立有D2D链路,如图10所示,所述用户设备包括:获取单元A201、保护单元A202。

获取单元A201,用于获取第一密钥。

保护单元A202,用于在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护传输的信息。

进一步的,所述用户设备,还可以包括:接收单元A203。

接收单元A203,用于在所述获取单元A201获取所述第一密钥之后,接收来自网络侧设备的密码算法,所述网络侧设备为:eNB或者MME或者临近业务服务器,所述密码算法包括加密算法和/或完整性保护算法。

进一步的,所述用户设备,还可以包括:第一生成单元A204、第二生成单元A205。

第一生成单元A204,用于根据所述获取单元A201获取的所述第一密钥和所述接收单元接收的所述加密算法标识符生成加密密钥。

第二生成单元A205,用于根据所述获取单元A201获取的所述第一密钥和所述接收单元接收的所述完整性保护算法标识符生成完整性保护密钥。

进一步的,所述保护单元A202,包括:加密模块A2021、保护模块A2022。

加密模块A2021,用于采用所述加密密钥和所述加密算法加密所述D2D链路上传输的信息。

保护模块A2022,用于采用所述完整性保护密钥和所述完整性保护算法对所述D2D链路上传输的信息进行完整性保护。

进一步的,所述获取单元A201,包括:获取模块A2011、生成模块A2012。

获取模块A2011,用于获取第二密钥,所述第二密钥为所述网络侧设备与所述用户设备之间的共享密钥。

生成模块A2012,用于根据所述第二密钥采用预设密钥派生函数生成所述第一密钥。

或者,

所述获取单元A201,还用于接收来自所述网络侧设备的包含所述第一密钥的消息。

进一步的,当所述网络侧设备为eNB时,所述第二密钥为所述eNB和所述第一用户设备之间的共享密钥。

当所述网络侧设备为MME时,所述第二密钥为所述MME和所述第一用户设备之间的共享密钥。

当所述网络侧设备为临近业务服务器时,所述第二密钥为所述临近业务服务器和所述用户设备之间的共享密钥。

进一步的,所述生成模块A2012,还用于根据所述第二密钥和第一参数采用所述密钥派生函数生成所述第一密钥。

其中,所述第一参数包括所述eNB与所述第一用户设备之间的分组数据汇聚协议PDCP序列号;或者,所述第一参数包括所述MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数。

进一步的,所述用户设备,还可以包括:发送单元A206。

发送单元A206,用于在所述获取单元A201接收来自所述网络侧设备的包含所述第一密钥的消息之前,发送公共密钥至所述网络侧设备,以使所述网络侧设备采用所述公共密钥加密所述第一密钥,其中,所述公共密钥与所述用户设备保留的私有密钥组成公私密钥对。

进一步的,所述获取单元A201,还用于接收来自所述网络侧设备的包含采用所述公共密钥加密后的第一密钥的消息。

进一步的,所述获取单元A201,还用于通过所述用户设备与所述网络侧设备之间的加密连接接收来自所述网络侧设备的所述包含所述第一密钥的消息。

进一步的,所述获取单元A201,还用于接收来自所述网络侧设备的包含采用第三密钥加密后的第一密钥的消息。

其中,所述第三密钥为所述网络侧设备根据所述第二密钥生成密钥。

进一步的,所述获取单元A201,还用于若所述网络侧设备不是所述用户设备所属的网络侧设备,则接收来自所述用户设备所属的网络侧设备的所述包含所述第一密钥的消息,所述包含所述第一密钥的消息为所述用户设备所属的网络侧设备接收自所述网络侧设备的。

需要说明的是,本发明实施例提供的用户设备中部分功能模块的具体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的用户设备,获取第一密钥,采用第一密钥保护D2D链路上传输的信息。用户设备采用第一密钥保护D2D链路上传输的数据,可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种用户设备,所述用户设备和第二用户设备之间建立有D2D链路,如图11所示,所述用户设备包括:获取单元A301、发送单元A302、接收单元A303。

获取单元A301,用于获取获取第一DH交换值。

发送单元A302,用于发送所述第一DH交换值至网络侧设备,以使所述网络侧设备发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥,进而使所述第二用户设备发送所述第二DH交换值至所述网络侧设备。

接收单元A303,用于接收来自所述网络侧设备的所述第二DH交换值,并根据所述第二DH交换值生成所述密钥。

其中,所述密钥用于保护所述D2D链路上传输的数据。

进一步的,所述网络侧设备为:所述网络侧设备为:eNB或者MME或者临近业务服务器。

需要说明的是,本发明实施例提供的用户设备中部分功能模块的具体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的用户设备,第一用户设备获取第一DH交换值,然后发送第一DH交换值至网络侧设备,以使网络侧设备发送第一DH交换值至第二用户设备,第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥,第二用户设备发送第二DH交换值和第一用户设备的标识至网络侧设备,最后第一用户设备接收来自网络侧设备的第二DH交换值,并根据第二DH交换值生成密钥。与现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在信息的篡改问题相比,第一用户设备和第二用户设备可以通过共享参数、随机自然数生成相同的共享密钥,可以使建立D2D链路的用户设备之间共享一套密钥,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种网络侧设备,第一用户设备和第二用户设备之间建立有D2D链路,如图12所示,所述网络侧设备,包括:第一接收单元A401、第一发送单元A402、第二接收单元A403、第二发送单元A404。

第一接收单元A401,用于接收来自所述第一用户设备的第一DH交换值。

第一发送单元A402,发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥。

第二接收单元A403,用于接收来自所述第二用户设备的所述第二DH交换值。

第二发送单元A404,用于发送所述第二DH交换值至所述第一用户设备,以使所述第一用户设备根据所述第二DH交换值生成所述密钥。

需要说明的是,本发明实施例提供的网络侧设备中部分功能模块的具体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的网络侧设备,接收来自第一用户设备的第一DH交换值,并发送第一DH交换值至第二用户设备,以使第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥,然后接收来自第二用户设备的第二DH交换值,最后发送第二DH交换值至第一用户设备,以使第一用户设备根据第二DH交换值生成密钥。与现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在信息的篡改问题相比,网络侧设备可以通过在第一用户设备和第二用户设备之间转发交换值,使得第一用户设备和第二用户设备生成共享密钥,可以使建立D2D链路的用户设备之间共享一套密钥,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种网络侧设备,第一用户设备和第二用户设备之间建立有D2D链路,所述网络侧设备,如图13所示,包括:处理器B101、发送器B102。

处理器B101,用于获取第一密钥。

发送器B102,用于发送包含所述第一密钥的消息至所述第二用户设备,以使所述第二用户设备在通过所述D2D链路和所述第一用户设备通信时采用所述第一密钥保护传输的信息。

进一步的,所述网络侧设备为:所述网络侧设备为:eNB或者MME或者临近业务服务器。

进一步的,所述处理器B101,还用于获取第二密钥;根据所述第二密钥采用密钥派生函数生成第一密钥。

进一步的,当所述网络侧设备为eNB时,所述第二密钥为所述eNB和所述第一用户设备之间的共享密钥。

当所述网络侧设备为MME时,所述第二密钥为所述MME和所述第一用户设备之间的共享密钥。

当所述网络侧设备为临近业务服务器时,所述第二密钥为所述临近业务服务器和所述第一用户设备之间的共享密钥。

进一步的,所述处理器B101,还用于根据所述第二密钥和所述第一参数采用密钥派生函数生成所述第一密钥。

其中,所述第一参数包括所述eNB与所述第一用户设备之间的分组数据汇聚协议PDCP序列号;或者,所述第一参数包括所述MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数。

进一步的,所述第一密钥为所述网络侧设备获取的随机密钥.

所述发送器B102,还用于在所述处理器B101获取所述第一密钥之后,发送包含所述第一密钥的消息至所述第一用户设备,以使所述第一用户设备在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护所述传输的信息。

进一步的,在本发明实施例的一种应用场景中,所述的网络侧设备,还包括:接收器B103。

接收器B103,用于在所述发送器B102发送所述包含所述第一密钥的消息至所述第一用户设备之前,接收来自所述第一用户设备的第一公共密钥。

所述处理器B101,还用于采用所述第一公共密钥加密所述第一密钥。

其中,所述第一公共密钥与所述第一用户设备保留的第一私有密钥组成第一公私密钥对。

或者,在本发明实施例的另一种应用场景中,所述处理器B101,还用于根据第二密钥生成第三密钥;采用所述第三密钥加密所述第一密钥,所述第二密钥为所述网络侧设备和所述第一用户设备之间的共享密钥。

所述发送器B102,还用于发送包含所述处理器B101加密后的第二密钥的消息至所述第一用户设备。

进一步的,所述发送器B102,还用于通过所述网络侧设备与所述第一用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第一用户设备。

进一步的,在本发明实施例的一种应用场景中,所述接收器B103,还用于在所述发送器B102发送所述发送包含所述第一密钥的消息至所述第二用户设备之前,接收来自所述第二用户设备的第二公共密钥。

所述处理器B101,还用于采用所述第二公共密钥加密所述第一密钥。

其中,所述第二公共密钥与所述第二用户设备保留的第二私有密钥组成第二公私密钥对。

或者,在本发明实施例的另一种应用场景中,所述处理器B101,还用于获取第四密钥,所述第四密钥为所述网络侧设备和所述第二用户设备之间的共享密钥;根据所述第四密钥生成第五密钥,并采用所述第五密钥加密所述第一密钥。

所述发送器B102,还用于发送包含所述处理器加密后的第二密钥的消息至所述第二用户设备。

进一步的,所述发送器B102,还用于通过所述网络侧设备与所述第二用户设备之间的加密连接发送所述包含所述第一密钥的消息至所述第二用户设备。

进一步的,所述处理器B101,还用于根据预存的密码算法列表、所述第一用户设备的安全能力和所述第二用户设备的安全能力,确定适用于所述第一用户设备且适用于所述第二用户设备的在所述密码算法列表中优先级排在第一位的密码算法。

所述发送器B102,还用于发送所述密码算法至所述第一用户设备和所述第二用户设备。

其中,所述第一用户设备的安全能力用于指示适用于所述第一用户设备的密码算法,所述第二用户设备的安全能力用于指示适用于所述第二用户设备的密码算法。

进一步的,所述密码算法包括加密算法和/或完整性保护算法,所述加密算法用于加密所述D2D链路上传输的数据,所述完整性保护算法用于对所述D2D链路上传输的信息进行完整性保护。

进一步的,所述发送器B102,还用于若所述网络侧设备不是所述第二用户设备所属的网络侧设备,则发送所述包含所述第一密钥的消息至所述第二用户设备所属的网络侧设备,以使得所述第二用户设备所属的网络侧设备转发所述包含所述第一密钥的消息至所述第二用户设备。

需要说明的是,本发明实施例提供的装置中部分功能模块的具体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的网络侧设备,获取第一密钥,并发送包含第一密钥的消息至第二用户设备,以使第二用户设备在通过D2D链路和第一用户设备通信时采用第一密钥保护传输的信息。可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种用户设备,所述用户设备之间建立有D2D链路,如图14所示,所述用户设备包括:处理器B201、存储器B202。

处理器B201,用于获取第一密钥。

存储器B202,用于存储所述处理器B201获取的所述第一密钥。

所述处理器B201,还用于在通过所述D2D链路和所述第二用户设备通信时采用所述第一密钥保护传输的信息。

进一步的,所述用户设备,还可以包括:接收器B203。

接收器B203,用于在所述处理器获取所述第一密钥之后,接收来自网络侧设备的密码算法,所述网络侧设备为:eNB或者MME或者临近业务服务器,所述密码算法包括加密算法和/或完整性保护算法。

所述处理器B201,还用于根据所述第一密钥和所述加密算法标识符生成加密密钥;根据所述第一密钥和所述完整性保护算法标识符生成完整性保护密钥;采用所述加密密钥和所述加密算法加密所述D2D链路上传输的信息;采用所述完整性保护密钥和所述完整性保护算法对所述D2D链路上传输的信息进行完整性保护。

进一步的,所述处理器B201,还用于获取第二密钥,所述第二密钥为所述网络侧设备与所述用户设备之间的共享密钥;根据所述第二密钥采用密钥派生函数生成所述第一密钥。

或者,

接收器B203,还用于接收来自所述网络侧设备的包含所述第一密钥的消息。

进一步的,当所述网络侧设备为eNB时,所述第二密钥为所述eNB和所述第一用户设备之间的共享密钥。

当所述网络侧设备为MME时,所述第二密钥为所述MME和所述第一用户设备之间的共享密钥。

当所述网络侧设备为临近业务服务器时,所述第二密钥为所述临近业务服务器和所述用户设备之间的共享密钥。

进一步的,处理器B201,还用于根据所述第二密钥和第一参数采用所述密钥派生函数生成所述第一密钥。

其中,所述第一参数包括所述eNB与所述第一用户设备之间的分组数据汇聚协议PDCP序列号;或者,所述第一参数包括所述MME与所述第一用户设备之间的非接入层消息的序列号;或者,所述第一参数包括所述网络侧设备生成的随机数。

进一步的,所述用户设备,还可以包括:发送器B204。

发送器B204,用于在所述接收器B203接收来自所述网络侧设备的所述包含所述第一密钥的消息之前,发送公共密钥至所述网络侧设备,以使所述网络侧设备采用所述公共密钥加密所述第一密钥,其中,所述公共密钥与所述用户设备保留的私有密钥组成公私密钥对。

进一步的,所述接收器B203,还用于接收来自所述网络侧设备的包含采用所述公共密钥加密后的第一密钥的消息。

进一步的,所述接收器B203,还用于通过所述用户设备与所述网络侧设备之间的加密连接接收来自所述网络侧设备的所述包含所述第一密钥的消息。

进一步的所述接收器,还用于接收来自所述网络侧设备的包含采用第三密钥加密后的第一密钥的消息;

其中,所述第三密钥为所述网络侧设备根据所述第二密钥生成密钥。

所述接收器B203,还用于接收来自所述网络侧设备包含加密后的第一密钥的消息。

所述接收器B203,还用于若所述网络侧设备不是所述用户设备所属的网络侧设备,则接收来自所述用户设备所属的网络侧设备的所述包含所述第一密钥的消息,所述包含所述第一密钥的消息为所述用户设备所属的网络侧设备接收自所述网络侧设备的。

需要说明的是,本发明实施例提供的用户设备中部分功能模块的具体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的用户设备,用户设备获取第一密钥,采用第一密钥保护D2D链路上传输的信息。用户设备采用第一密钥保护D2D链路上传输的数据,可以避免现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在的信息篡改问题,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种用户设备,所述用户设备和第二用户设备之间建立有D2D链路,如图15所示,所述用户设备包括:处理器B301、发送器B302、接收器B303。

处理器B301,用于获取第一DH交换值。

发送器B302,用于发送所述第一DH交换值至网络侧设备,以使所述网络侧设备发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥,进而使所述第二用户设备发送所述第二DH交换值至所述网络侧设备。

接收器B303,用于接收来自所述网络侧设备的所述第二DH交换值。

所述处理器B301,还用于根据所述第二DH交换值生成所述密钥。

其中,所述密钥用于保护所述D2D链路上传输的数据。

进一步的,所述网络侧设备为:eNB或者MME或者临近业务服务器。

需要说明的是,本发明实施例提供的用户设备中部分功能模块的具体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的用户设备,第一用户设备获取第一DH交换值,然后发送第一DH交换值至网络侧设备,以使网络侧设备发送第一DH交换值至第二用户设备,第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥,第二用户设备发送第二DH交换值和第一用户设备的标识至网络侧设备,最后第一用户设备接收来自网络侧设备的第二DH交换值,并根据第二DH交换值生成密钥。与现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在信息的篡改问题相比,第一用户设备和第二用户设备可以通过共享参数、随机自然数生成相同的共享密钥,可以使建立D2D链路的用户设备之间共享一套密钥,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

本发明另一实施例提供一种网络侧设备,第一用户设备和第二用户设备之间建立有D2D链路,如图16所示,所述网络侧设备包括:接收器B401、发送器B402。

接收器B401,用于接收来自所述第一用户设备的第一DH交换值。

发送器B402,用于发送所述第一DH交换值至所述第二用户设备,以使所述第二用户设备获取第二DH交换值,进而使所述第二用户设备根据所述第一DH交换值生成密钥。

所述接收器B401,还用于接收来自所述第二用户设备的所述第二DH交换值。

所述发送器B402,还用于发送所述第二DH交换值至所述第一用户设备,以使所述第一用户设备根据所述第二DH交换值生成所述密钥。

本发明实施例提供的网络侧设备,接收来自第一用户设备的第一DH交换值,并发送第一DH交换值至第二用户设备,以使第二用户设备获取第二DH交换值,进而使第二用户设备根据第一DH交换值生成密钥,然后接收来自第二用户设备的第二DH交换值,最后发送第二DH交换值至第一用户设备,以使第一用户设备根据第二DH交换值生成密钥。与现有技术中,由于UE通过Ud接口传输业务数据或者信令消息时没有相应的安全机制,而存在信息的篡改问题相比,网络侧设备可以通过在第一用户设备和第二用户设备之间转发交换值,使得第一用户设备和第二用户设备生成共享密钥,可以使建立D2D链路的用户设备之间共享一套密钥,进而可以实现用户设备通过Ud接口传输业务数据或者信令消息时的信息安全。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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