密钥分发、认证方法,装置及系统与流程

文档序号:12865832阅读:220来源:国知局
密钥分发、认证方法,装置及系统与流程

本发明涉及通信领域,尤其涉及一种密钥分发、认证方法,装置及系统。



背景技术:

随着通信网络技术的发展,越来越多的设备开始加入到网络中,并通过通信网络进行数据的发送和接收,如手机、电脑、无人机以及其他物联网设备等。也有越来越多的企业通过通信网络实现企业的管理中心与实现企业业务的各智能设备的通信,如电力公司、自来水公司或热力公司等。

为保证安全通信,智能设备与网络通常根据根密钥进行相互认证以建立安全通道,相互认证过程中所采用的根密钥由网络运营商提前配置或部署在智能设备与网络中。现有的认证方法均基于国际移动电信组织提出的认证与密钥协商协议(authenticationandkeyagreement,简称aka),但是基于aka协议的认证方法需依赖存储在全球用户识别卡(universalsubscriberidentitymodule,简称usim)卡中的根密钥,即需要智能设备均支持usim卡。

而接入网络中的大量的低成本物联网设备或企业的智能设备功能和结构简单,无法部署功能复杂的usim卡,进而无法实现基于aka协议的认证,无法应用现有的认证方法建立安全通信通道。因此现有的根密钥部署方法和认证方法无法应用到越来越多的不支持usim卡的智能设备与网络的安全通信中,导致该些智能设备与网络进行通信的安全性无法收到保证。



技术实现要素:

本发明实施例提供一种密钥分发、认证方法,装置及系统,用以解决现有根密钥部署、认证方法无法应用到不支持usim卡的智能设备中的问题。

第一方面,本发明实施例提供一种密钥分发方法,包括:

业务中心服务器接收用户管理服务器发送的第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备 的第一密钥;根据第一密钥请求消息生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器。

通过由业务中心服务器为各终端设备分发不同密钥,然后各终端设备基于各自密钥与网络认证中心进行相互认证,最终得到终端设备与功能网元的通信密钥,为终端设备提供了安全通信通道的建立方法,具有广泛的应用范围,同时降低了运营商网络的复杂度。

结合第一方面,在第一方面的第一种可能的实现方式中,生成第一密钥的过程具体包括:业务中心服务器根据第一参数集合,采用密钥生成函数生成终端设备的第一密钥;其中,第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。

结合第一方面,在第一方面的第二种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识、用户管理服务器的标识、网络标识、业务参数中的至少一种,生成第一密钥的过程具体包括:业务中心服务器根据第二参数集合,采用密钥生成函数生成终端设备的第一密钥;其中,第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、用户管理服务器的标识、网络标识、业务参数、终端设备的设备标识中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。

通过结合第二参数集合等多种参数生成终端设备的第一密钥,使得业务中心服务器可针对属于不同用户管理服务器的用于实现不同业务的终端设备,生成不同的第一密钥。

结合第一方面,在第一方面的第三种可能的实现方式中,生成第一密钥的过程具体包括:业务中心服务器确定业务随机数,并将业务随机数作为终端设备的第一密钥。

结合第一方面,在第一方面的第四种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识,生成第一密钥的过程具体包括:业务中心服务器根据预设全局私钥和终端设备的设备标识,基于设备身份生成算法生成终端设备的第一密钥;其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

结合第一方面,在第一方面的第五种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识,生成第一密钥的过程具体包括:业务中心服务器根据预设全局私钥、终端设备的设备标识和第三参数集合,基于设备身份生成算法生成终端设备的第一密钥;

其中,第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

结合第一方面、第一方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,该方法还包括:业务中心服务器将终端设备的第一密钥发送给网络认证服务器以使得网络认证服务器根据第一密钥与终端设备进行相互认证。

结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,业务中心服务器将第一密钥发送给网络认证服务器之前还包括:

业务中心服务器接收网络认证服务器发送的第二密钥请求消息;第二密钥请求消息是在网络认证服务器接收到终端设备发送的认证请求消息后发送的。

第二方面,本发明实施例提供一种密钥分发方法,包括:

用户管理服务器向业务中心服务器发送第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;接收业务中心服务器发送的终端设备的第一密钥,并将终端设备的第一密钥发送给终端设备以使得终端设备根据第一密钥与网络认证服务器进行相互认证。

结合第二方面,在第二方面的第一种可能的实现方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

结合第二方面,在第二方面的第二种可能的实现方式中,该方法还包括:用户管理服务器将第四参数集合发送给终端设备,第四参数集合包括用户管理服务器的标识、网络标识、业务参数中的至少一种。

第三方面,本发明实施例提供一种密钥认证方法,包括:

终端设备接收用户管理服务器发送的终端设备的第一密钥;根据第一密钥,与网络认证服务器进行相互认证以得到终端设备与功能网元的通信密钥。

通过终端设备与网络认证服务器的相互认证,可得到用于安全通信的通信密钥。

结合第三方面,在第三方面的第一种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二消息验证码、加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

通过在认证过程中,将第一随机数和第二随机数加密,提高了认证过程的保密性。

结合第三方面,在第三方面的第二种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、第二消息验证码;

终端设备在对第二消息验证码验证通过后,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数, 采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第三方面,在第三方面的第三种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

终端设备在对第二消息验证码验证通过后,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第三方面,在第三方面的第四种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数、dh协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第三方面,在第三方面的第五种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理, 得到加密处理后的第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥。

通过在认证过程中,减少信令交互次数,提高了认证效率。

结合第三方面,在第三方面的第六种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、第二消息验证码;

终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。

结合第三方面,在第三方面的七种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

终端设备在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。

结合第三方面,在第三方面的第八种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数,以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

终端设备对第二消息验证码进行验证并确定验证通过。

结合第三方面,在第三方面的第九种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一密钥和第一随机数,采用密钥生成函数生成网络认证服务器的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数和第二消息验证码;

终端设备对第二消息验证码进行验证并确定验证通过。

结合第三方面,在第三方面的第十种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数、dh协议的第一传输参数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到 第三传输参数;

终端设备根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。

结合第三方面,在第三方面的第十一种可能的实现方式中,方法还包括:终端设备接收用户管理服务器发送的第四参数集合;其中,第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

通过在相互认证过程中,增加第四参数集合,使得通信密钥的生成过程中可参考多种参数,使得通信密钥可依据终端设备以及终端设备的业务的不同而不同,具有多样性。

结合第三方面的第十一种可能的实现方式,在第三方面的第十二种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第三方面的第十一种可能的实现方式,在第三方面的第十三种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,向网络认证服务器发送认证请求消息,认证 请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、第二消息验证码;

终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第三方面的第十一种可能的实现方式,在第三方面的第十四种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

终端设备在对第二消息验证码验证通过后,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第三方面的第十一种可能的实现方式,在第三方面的第十五种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数、dh协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第三方面的第十一种可能的实现方式,在第三方面的第十六种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥。

结合第三方面的第十一种可能的实现方式,在第三方面的第十七种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、第二消息验证码;

终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机 数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。

结合第三方面的第十一种可能的实现方式,在第三方面的第十八种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

终端设备在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。

结合第三方面的第十一种可能的实现方式,在第三方面的第十九种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

终端设备对第二消息验证码进行验证并确定验证通过。

结合第三方面的第十一种可能的实现方式,在第三方面的第二十种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一随机数、终端设备的设备标识和第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二消息验证码和第二随机数;

终端设备对第二消息验证码进行验证并确定验证通过。

结合第三方面的第十一种可能的实现方式,在第三方面的第二十一种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数、dh协议的第一传输参数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

终端设备根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。

结合第三方面,在第三方面的第二十二种可能的实现方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

结合第三方面的第二十二种可能的实现方式,在第三方面的第二十三种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的 设备标识;

终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数和第二随机数中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;

终端设备根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第三方面的第二十二种可能的实现方式,在第三方面的第二十四种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

终端设备在对第二数字签名验证通过后,根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数,生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第三方面的第二十二种可能的实现方式,在第三方面的第二十五种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数、dh协议的第一传输参数,根据第一密钥、第一随机数、第一传输参数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

终端设备在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据第一随机数、第二随机数中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第三方面的第二十二种可能的实现方式,在第三方面的第二十六种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;

终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。

结合第三方面的第二十二种可能的实现方式,在第三方面的第二十七种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数,以及终端设备的设备标识;

终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

终端设备在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。

结合第三方面的第二十二种可能的实现方式,在第三方面的第二十八种可能的实现方式中,方法还包括:终端设备接收用户管理服务器发送的第四参数集合;第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

结合第三方面的第二十八种可能的实现方式,在第三方面的第二十九种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;

终端设备根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第三方面的第二十八种可能的实现方式,在第三方面的第三十种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,向网络认证服务器发送认证请求 消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

终端设备在对第二数字签名验证通过后,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第三方面的第二十八种可能的实现方式,在第三方面的第三十一种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数、dh协议的第一传输参数,根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第一传输参数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名;

终端设备在对第二数字签名验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第三方面的第二十八种可能的实现方式,在第三方面的第三十二种 可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。

结合第三方面的第二十八种可能的实现方式,在第三方面的第三十三种可能的实现方式中,相互认证过程具体包括:

终端设备确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、终端设备的设备标识以及第四参数集合;

终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

终端设备在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。

结合第三方面的第二十二种至第三十三种中任一种可能的实现方式,在第三方面的第三十四种可能的实现方式中,终端设备确定第一随机数之前,还包括:

终端设备向网络认证服务器发送公钥请求消息;接收网络认证服务器发送的网络认证服务器的网络认证公钥。

结合第三方面、第三方面的第一种至第三十四种中任一种可能的实现方 式,在第三方面的第三十五种可能的实现方式中,该方法还包括:终端设备和网络认证服务器进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成终端设备的会话密钥。

下面第四方面和第五方面提供一种密钥认证方法,与上述第三方面提供的密钥认证方法进行交互,为对称侧方法,具有相对应的技术特征和技术效果,本发明实施例对此不再赘述。

第四方面,本发明实施例提供一种密钥认证方法,该方法包括:

网络认证服务器接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识;接收业务中心服务器发送的与设备标识对应的终端设备的第一密钥;根据第一密钥,与设备标识指示的终端设备进行相互认证以得到终端设备与功能网元的通信密钥。

结合第四方面,在第四方面的第一种可能的实现方式中,认证请求消息还包括加密处理后的第一随机数,相互认证过程具体包括:

网络认证服务器根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

网络认证服务器根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第四方面,在第四方面的第二种可能的实现方式中,认证请求消息还包括第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成 函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第四方面,在第四方面的第三种可能的实现方式中,认证请求消息还包括第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

网络认证服务器根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第四方面,在第四方面的四种可能的实现方式中,认证请求消息还包括第一随机数和第一传输参数,相互认证过程具体包括:

网络认证服务器确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

网络认证服务器根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第四方面,在第四方面的第五种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,相互认证过程具体包括:

网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

网络认证服务器在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

结合第四方面,在第四方面的第六种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数;

网络认证服务器在对第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

结合第四方面,在第四方面的第七种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

网络认证服务器根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

结合第四方面,在第四方面的第八种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,相互认证过程具体包括:

网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

网络认证服务器在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息 验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

结合第四方面,在第四方面的第九种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数;

网络认证服务器在对第一消息验证码验证通过后,根据第一密钥和第一随机数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

结合第四方面,在第四方面的第十种可能的实现方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,相互认证过程具体包括:

网络认证服务器确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

网络认证服务器在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

结合第四方面,在第四方面的第十一种可能的实现方式中,认证请求消息还包括第四参数集合;第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

结合第四方面的第十一种可能的实现方式,在第四方面的第十二种可能的实现方式中,认证请求消息还包括加密处理后的第一随机数,相互认证过程具体包括:

网络认证服务器根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采 用第一密钥对第一随机数加密处理得到;

网络认证服务器根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第十三种可能的实现方式中,认证请求消息还包括第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数;

网络认证服务器根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第十四种可能的实现方式中,认证请求消息还包括第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

网络认证服务器根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第十五种可能的实现方式中,认证请求消息还包括第一随机数和第一传输参数,相互认证过程具体包括:

网络认证服务器确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

网络认证服务器根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第十六种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,相互认证过程具体包括:

网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

网络认证服务器在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第十七种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数;

网络认证服务器在对第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第十八种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

网络认证服务器根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第十九种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,相互认证过程具体包括:

网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

网络认证服务器在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第二十种可能 的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:

网络认证服务器确定第二随机数;

网络认证服务器在对第一消息验证码验证通过后,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

结合第四方面的第十一种可能的实现方式,在第四方面的第二十一种可能的实现方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,相互认证过程具体包括:

网络认证服务器确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

网络认证服务器在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合、第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

结合第四方面、第四方面的第一种至第二十一种中任一种可能的实现方式,在第四方面的第二十二种可能的实现方式中,该方法还包括:网络认证服务器和终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。

第五方面,本发明实施例提供一种密钥认证方法,包括:

网络认证服务器接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识,终端设备的设备标识为终端设备的第一公钥;根据第 一公钥、网络认证服务器的网络认证公钥、网络认证服务器的网络认证私钥与终端设备进行相互认证以得到终端设备与功能网元的通信密钥。

结合第五方面,在第五方面的第一种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,相互认证过程具体包括,包括:

网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第五方面,在第五方面的第二种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,相互认证过程具体包括,包括:

网络认证服务器确定第二随机数;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第五方面,在第五方面的第三种可能的实现方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,相互认证过程具体包括,包括:

网络认证服务器确定第二随机数、dh协议的第二传输参数,根据第一传 输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第五方面,在第五方面的第四种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,相互认证过程具体包括,包括:

网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。

结合第五方面,在第五方面的第五种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,相互认证过程具体包括,包括:

网络认证服务器确定第二随机数;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网 元发送通信密钥。

结合第五方面,在第五方面的第六种可能的实现方式中,认证请求消息还包括第四参数集合;第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

结合第五方面的第六种可能的实现方式,在第五方面的第七种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,相互认证过程具体包括,包括:

网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第五方面的第六种可能的实现方式,在第五方面的第八种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,相互认证过程具体包括,包括:

网络认证服务器确定第二随机数;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第五方面的第六种可能的实现方式,在第五方面的第九种可能的实现方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,相互认证过程具体包括,包括:

网络认证服务器确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;

网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第五方面的第六种可能的实现方式,在第五方面的第十种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,相互认证过程具体包括,包括:

网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。

结合第五方面的第六种可能的实现方式,在第五方面的第十一种可能的 实现方式中,认证请求消息还包括第一数字签名和第一随机数,相互认证过程具体包括,包括:

网络认证服务器确定第二随机数;

网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。

结合第五方面、第五方面的第一种至第十一种中任一种可能的实现方式,在第五方面的第十二种可能的实现方式中,该方法还包括:

网络认证服务器接收终端设备发送的公钥请求消息;

网络认证服务器向终端设备发送网络认证服务器的网络认证公钥。

结合第五方面、第五方面的第一种至第十二种中任一种可能的实现方式,在第五方面的第十三种可能的实现方式中,该方法还包括:网络认证服务器和终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。

下面介绍本发明实施例提供的一种密钥分发、认证装置,该装置与上述方法一一对应,用以实现上述实施例中的密钥分发、认证方法,具有相同的技术特征和技术效果,本发明实施例对此不再赘述。

第六方面,本发明实施例提供一种业务中心服务器,该服务器包括:

密钥请求接收模块,用于接收用户管理服务器发送的第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;

密钥生成模块,用于根据第一密钥请求消息生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器。

结合第六方面,在第六方面的第一种可能的实现方式中,密钥生成模块具体用于:

根据第一参数集合,采用密钥生成函数生成终端设备的第一密钥;

其中,第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。

结合第六方面,在第六方面的第二种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识、用户管理服务器的标识、网络标识、业务参数中的至少一种,密钥生成模块具体用于:

根据第二参数集合,采用密钥生成函数生成终端设备的第一密钥;

其中,第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、用户管理服务器的标识、网络标识、业务参数、终端设备的设备标识中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。

结合第六方面,在第六方面的第三种可能的实现方式中,密钥生成模块具体用于:确定业务随机数,并将业务随机数作为终端设备的第一密钥。

结合第六方面,在第六方面的第四种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识,密钥生成模块具体用于:

根据预设全局私钥和终端设备的设备标识,基于设备身份生成算法生成终端设备的第一密钥;

其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

结合第六方面,在第六方面的第五种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识,密钥生成模块具体用于:

根据预设全局私钥、终端设备的设备标识和第三参数集合,基于设备身份生成算法生成终端设备的第一密钥;

其中,第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;

其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

结合第六方面、第六方面的第一种或第六方面的第二种可能的实现方式,在第六方面的第六种可能的实现方式中,密钥生成模块还用于:

将终端设备的第一密钥发送给网络认证服务器以使得网络认证服务器根据第一密钥与终端设备进行相互认证。

结合第六方面的第六种可能的实现方式,在第六方面的第七种可能的实现方式中,密钥请求接收模块还用于:

接收网络认证服务器发送的第二密钥请求消息;第二密钥请求消息是在网络认证服务器接收到终端设备发送的认证请求消息后发送的。

第七方面,本发明实施例提供一种用户管理服务器,包括:

请求发送模块,用于向业务中心服务器发送第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;

密钥接收模块,用于接收业务中心服务器发送的终端设备的第一密钥;

密钥发送模块,用于将终端设备的第一密钥发送给终端设备以使得终端设备根据第一密钥与网络认证服务器进行相互认证。

结合第七方面,在第七方面的第一种可能的实现方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,其特征在于,密钥发送模块还用于:

将第四参数集合发送给终端设备,第四参数集合包括用户管理服务器的标识、网络标识、业务参数中的至少一种。

第八方面,本发明实施例提供一种终端设备,包括:

接收模块,用于接收用户管理服务器发送的终端设备的第一密钥;

认证模块,用于根据第一密钥,与网络认证服务器进行相互认证以得到终端设备与功能网元的通信密钥。

结合第八方面,在第八方面的第一种可能的实现方式中,认证模块具体用于:

确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求 消息包括加密处理后的第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二消息验证码、加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第八方面,在第八方面的第二种可能的实现方式中,认证模块具体用于:

确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二消息验证码;

在对第二消息验证码验证通过后,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第八方面,在第八方面的第三种可能的实现方式中,认证模块具体用于:

确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

在对第二消息验证码验证通过后,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第 一消息验证码进行验证。

结合第八方面,在第八方面的四种可能的实现方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第八方面,在第八方面的五种可能的实现方式中,认证模块具体用于:

确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥。

结合第八方面,在第八方面的第六种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二消息验证码;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。

结合第八方面,在第八方面的七种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。

结合第八方面,在第八方面的第八种可能的实现方式中,认证模块具体用于:

确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数,以及终端设备的设备标识;

接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

对第二消息验证码进行验证并确定验证通过。

结合第八方面,在第八方面的第九种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,采用密钥生成函数生成网络认证服务器的通信密钥,根据第一密钥、通信密钥中的任一项,以及第 一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数和第二消息验证码;

对第二消息验证码进行验证并确定验证通过。

结合第八方面,在第八方面的第十种可能的实现方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。

结合第八方面,在第八方面的第十一种可能的实现方式中,接收模块还用于接收用户管理服务器发送的第四参数集合;

第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

结合第八方面的第十一种可能的实现方式,在第八方面的第十二种可能的实现方式中,认证模块具体用于:

确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随 机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第八方面的第十一种可能的实现方式,在第八方面的第十三种可能的实现方式中,认证模块具体用于:

确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二消息验证码;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第八方面的第十一种可能的实现方式,在第八方面的第十四种可能的实现方式中,认证模块具体用于:

确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

在对第二消息验证码验证通过后,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行 验证。

结合第八方面的第十一种可能的实现方式,在第八方面的第十五种可能的实现方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

结合第八方面的第十一种可能的实现方式,在第八方面的第十六种可能的实现方式中,认证模块具体用于:

确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥。

结合第八方面的第十一种可能的实现方式,在第八方面的第十七种可能 的实现方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二消息验证码;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。

结合第八方面的第十一种可能的实现方式,在第八方面的第十八种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。

结合第八方面的第十一种可能的实现方式,在第八方面的第十九种可能的实现方式中,认证模块具体用于:

确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

对第二消息验证码进行验证并确定验证通过。

结合第八方面的第十一种可能的实现方式,在第八方面的第二十种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识和第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二消息验证码和第二随机数;

对第二消息验证码进行验证并确定验证通过。

结合第八方面的第十一种可能的实现方式,在第八方面的第二十一种可能的实现方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。

结合第八方面,在第八方面的第二十二种可能的实现方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备 的第一公钥。

结合第八方面的第二十二种可能的实现方式,在第八方面的第二十三种可能的实现方式中,认证模块具体用于:

确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数和第二随机数中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;

根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第八方面的第二十二种可能的实现方式,在第八方面的第二十四种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

在对第二数字签名验证通过后,根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数,生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第八方面的第二十二种可能的实现方式,在第八方面的第二十五种可能的实现方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,根据第一密钥、第一随机数、第一传输参数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据第一随机数、第二随机数中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第八方面的第二十二种可能的实现方式,在第八方面的第二十六种可能的实现方式中,认证模块具体用于:

确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。

结合第八方面的第二十二种可能的实现方式,在第八方面的第二十七种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数 字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数,以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。

结合第八方面的第二十二种可能的实现方式,在第八方面的第二十八种可能的实现方式中,接收模块还用于接收用户管理服务器发送的第四参数集合;

第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

结合第八方面的第二十八种可能的实现方式,在第八方面的第二十九种可能的实现方式中,认证模块具体用于:

确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;

根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务 器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第八方面的第二十八种可能的实现方式,在第八方面的第三十种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

在对第二数字签名验证通过后,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第八方面的第二十八种可能的实现方式,在第八方面的第三十一种可能的实现方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第一传输参数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名;

在对第二数字签名验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数、终端设备的设备标识、第四 参数集合中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

结合第八方面的第二十八种可能的实现方式,在第八方面的第三十二种可能的实现方式中,认证模块具体用于:

确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。

结合第八方面的第二十八种可能的实现方式,在第八方面的第三十三种可能的实现方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。

结合第八方面的第二十二种至第三十三种中任一种可能的实现方式,在第八方面的第三十四种可能的实现方式中,还包括:

公钥请求模块,用于向网络认证服务器发送公钥请求消息;

接收模块还用于接收网络认证服务器发送的网络认证服务器的网络认证公钥。

结合第八方面、第八方面的第一种至第三十四种中任一种可能的实现方式,在第八方面的第三十五种可能的实现方式中,认证模块具体用于:与网络认证服务器进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成终端设备的会话密钥。

第九方面,本发明实施例提供一种网络认证服务器,包括:

请求接收模块,用于接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识;

密钥接收模块,用于接收业务中心服务器发送的与设备标识对应的终端设备的第一密钥;

认证模块,用于根据第一密钥,与设备标识指示的终端设备进行相互认证以得到终端设备与功能网元的通信密钥。

结合第九方面,在第九方面的第一种可能的实现方式中,认证请求消息还包括加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第九方面,在第九方面的第二种可能的实现方式中,认证请求消息还包括第一随机数,认证模块具体用于:

确定第二随机数,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第九方面,在第九方面的第三种可能的实现方式中,认证请求消息还包括第一随机数,认证模块具体用于:

确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第九方面,在第九方面的第四种可能的实现方式中,认证请求消息还包括第一随机数和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第九方面,在第九方面的第五种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数 加密处理得到;

在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

结合第九方面,在第九方面的第六种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数;

在对第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

结合第九方面,在第九方面的第七种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

结合第九方面,在第九方面的第八种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数 生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

结合第九方面,在第九方面的第九种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数;

在对第一消息验证码验证通过后,根据第一密钥和第一随机数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

结合第九方面,在第九方面的第十种可能的实现方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

结合第九方面,在第九方面的第十一种可能的实现方式中,认证请求消息还包括第四参数集合;

第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

结合第九方面的第十一种可能的实现方式,在第九方面的第十二种可能的实现方式中,认证请求消息还包括加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第十三种可能的实现方式中,认证请求消息还包括第一随机数,认证模块具体用于:

确定第二随机数;

根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第十四种可能的实现方式中,认证请求消息还包括第一随机数,认证模块具体用于:

确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第十五种可能的实现方式中,认证请求消息还包括第一随机数和第一传输参数,认证模块 具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第十六种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第十七种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数;

在对第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生 成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第十八种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第十九种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第二十种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数;

在对第一消息验证码验证通过后,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

结合第九方面的第十一种可能的实现方式,在第九方面的第二十一种可能的实现方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合、第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

结合第九方面、第九方面的第一种至第二十一种中任一种可能的实现方式,在第九方面的第二十二种可能的实现方式中,认证模块具体用于:与终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。

第十方面,本发明实施例提供一种网络认证服务器,包括:

请求接收模块,用于接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识,终端设备的设备标识为终端设备的第一公钥;

认证模块,用于根据第一公钥、网络认证服务器的网络认证公钥、网络认证服务器的网络认证私钥与终端设备进行相互认证以得到终端设备与功能网元的通信密钥。

结合第十方面,在第十方面的第一种可能的实现方式中,认证请求消息 还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:

根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第十方面,在第十方面的第二种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:

确定第二随机数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第十方面,在第十方面的第三种可能的实现方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名, 发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第十方面,在第十方面的第四种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:

根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。

结合第十方面,在第十方面的第五种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:

确定第二随机数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。

结合第十方面,在第十方面的第六种可能的实现方式中,认证请求消息还包括第四参数集合;

第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

结合第十方面的第六种可能的实现方式,在第十方面的第七种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:

根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第十方面的第六种可能的实现方式,在第十方面的第八种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:

确定第二随机数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第十方面的第六种可能的实现方式,在第十方面的第九种可能的实现方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过 后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

结合第十方面的第六种可能的实现方式,在第十方面的第十种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:

根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。

结合第十方面的第六种可能的实现方式,在第十方面的第十一种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:

确定第二随机数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。

结合第十方面、第十方面的第一种至第十一种中任一种可能的实现方式,在第十方面的第十二种可能的实现方式中,请求接收模块还用于接收终端设备发送的公钥请求消息;认证模块还用于向终端设备发送网络认证服务器的网络认证公钥。

结合第十方面、第十方面的第一种至第十二种中任一种可能的实现方式,在第十方面的第十三种可能的实现方式中,认证模块具体用于:与终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。

第十一方面,本发明实施例提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述第一方面、第一方面的第一种至第七种中任一种可能的实现方式中的密钥分发方法。

第十二方面,本发明实施例提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述第二方面、第二方面的第一种、第二方面的第二种中任一种可能的实现方式中的密钥分发方法。

第十三方面,本发明实施例提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述第三方面、第三方面的第一种至第三十五种中任一种可能的实现方式中的密钥认证方法。

第十四方面,本发明实施例提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述第四方面、第四方面的第一种至第二十二种、第五方面、第五方面的第一种至第十三种中任一种可能的实现方式中的密钥认证方法。

第十五方面,本发明实施例提供一种密钥分发、认证系统,包括:如上述第六方面、第六方面的第一种至第七种中任一种可能的实现方式中的业务 中心服务器;如第七方面、第七方面的第一种、第七方面的第二种中任一种可能的实现方式中的用户管理服务器;如第八方面、第八方面的第一种至第三十五种中任一种可能的实现方式中的终端设备;如第九方面、第九方面的第一种至第二十二种、第十方面、第十方面的第一种至第十三种中任一种可能的实现方式中的网络认证服务器。

附图说明

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

图1为本发明密钥分发、认证方法实施例一的系统架构示意图;

图2为本发明密钥分发、认证方法实施例一的信令流程图;

图3为本发明密钥认证方法实施例一的信令流程图;

图4为本发明密钥认证方法实施例二的信令流程图;

图5为本发明密钥认证方法实施例三的信令流程图;

图6为本发明密钥认证方法实施例四的信令流程图;

图7为本发明密钥认证方法实施例五的信令流程图;

图8为本发明密钥认证方法实施例六的信令流程图;

图9为本发明密钥认证方法实施例七的信令流程图;

图10为本发明密钥认证方法实施例八的信令流程图;

图11为本发明业务中心服务器实施例一的结构示意图;

图12为本发明用户管理服务器实施例一的结构示意图;

图13为本发明终端设备实施例一的结构示意图;

图14为本发明网络认证服务器实施例一的结构示意图;

图15为本发明网络认证服务器实施例二的结构示意图。

具体实施方式

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

本发明的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供一种密钥分发、认证方法及设备,用于为终端设备分发密钥,并使终端设备根据分发的密钥在与网络认证服务器相互认证后得到通信密钥,使得终端设备能够根据通信密钥连入到通信网络中,并进行安全通信。下面采用具体的实施例,对本发明实施例进行密钥分发和认证的系统架构进行详细说明。

图1为本发明密钥分发、认证方法实施例一的系统架构示意图。如图1所示,该系统架构包括业务中心服务器101、用户管理服务器102、终端设备103、网络认证服务器104和功能网元105。其中,业务中心服务器101用于安全生成和分配密钥,在用户管理服务器102发送第一密钥请求消息时,为用户管理服务器102所管理的不同的终端设备103分配不同的密钥,业务中心服务器101还可针对属于不同的用户管理服务器102的终端设备103采用不同算法分发不同类型或不同安全等级的密钥。业务中心服务器101可以由网络运营商控制,也可由独立于网络运营商和用户管理服务器之外的第三方控制。业务中心服务器101具体可以为服务器、基站、工作站、计算机、网关等设备,本发明实施例仅以服务器为例,而并非对此进行限制。用户管理服务器102可以为一个公司、企业,也可以为一个终端用户或者一个终端,其下部署了一个或者多个终端设备103,图1中以一个用户管理服务器102管理两个终端设备103为例,本领域技术人员应该明白,这并非对本发明实施例的限制。终端设备103可以为如手机、平板电脑、智能终端等智能设备,或者服务器等通信设备,或者如传感器、电表、水表等物联网设备。网络认证服务器104与功能网元105由网络运营商控制,网络认证服务器104用于与终端设备103根据分发的密钥进行相互认证并得到通信密钥,网络认证服 务器104具体可以为移动管理节点(mobilitymanagemententity,简称mme)、归属签约用户服务器(homesubscriberserver,简称hss)、控制器、控制节点、网关、服务器等。功能网元105用于根据认证过程中得到的通信密钥与终端设备103实现安全通信,功能网元105具体可以为终端设备103接入通信网络的数据面锚点、核心网服务器、控制节点、用户数据面网关,如pdh设备、sdh-adm、dacs、tem、reg、pcm等等。

可选的,业务中心服务器101包括业务认证服务器和密钥管理服务器。示例性的,业务认证服务器与用户管理服务器102进行通信,密钥管理服务器与网络认证服务器104通信,业务认证服务器接收用户管理服务器102发送的第一密钥请求消息,并将第一密钥请求消息转发给密钥管理服务器,当密钥管理服务器生成第一密钥时,密钥管理服务器通过业务认证服务器将第一密钥发送给终端设备103,在终端设备103和网络认证服务器104基于对称秘钥技术进行相互认证时,密钥管理服务器可直接向网络认证服务器104发送第一密钥。示例性的,也可为业务认证服务器与网络认证服务器104进行通信,密钥管理服务器与用户管理服务器102直接通信,密钥管理服务器直接接收用户管理服务器102发送的第一密钥请求消息,并将生成的第一密钥直接发送给终端设备103,在终端设备103和网络认证服务器104基于对称秘钥技术进行相互认证时,密钥管理服务器通过业务认证服务器向网络认证服务器104发送第一密钥。示例性的,也可为业务认证服务器与用户管理服务器102、网络认证服务器104进行通信,密钥管理服务器仅与业务认证服务器通信,业务认证服务器与用户管理服务器102直接通信,业务认证服务器直接接收用户管理服务器102发送的第一密钥请求消息,并将密钥管理服务器生成的第一层密钥直接发送给用户管理服务器102,在终端设备103和网络认证服务器104基于对称秘钥技术进行相互认证时,业务认证服务器向网络认证服务器104发送第一层密钥。

下面在上述系统架构的基础上,以具体地实施例对本发明的技术方案以及本发明的技术方案如何实现进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图2为本发明密钥分发、认证方法实施例一的信令流程图。如图2所示,本方法包括:

s201、用户管理服务器向业务中心服务器发送第一密钥请求消息。

第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥。

具体的,在步骤201之前,用户管理服务器与业务中心服务器已相互认证通过,建立了安全的通信通道,示例性的,认证方式可以为根据用户名口令、证书、对称密钥、aka协议等方式。

s202、业务中心服务器接收用户管理服务器发送的第一密钥请求消息,生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器。

具体的,当业务中心服务器接收到用户管理服务器发送的第一密钥请求消息时,生成第一密钥并将该第一密钥发送给用户管理服务器,以使得用户管理服务器将该第一密钥发送给终端设备。示例性的,不同的终端设备通过用户管理服务器向业务中心服务器发送的第一密钥请求消息中,可包含各终端设备的设备标识,业务中心服务器根据每一个第一密钥请求消息中所包含的设备标识所指示的终端设备生成一个第一密钥。示例性,业务中心服务器在生成终端设备的第一密钥时,包括如下可行的实现方式:

一类可行的实现方式,基于对称密钥技术的密钥生成过程:

业务中心服务器根据根据第一参数集合,采用密钥生成函数生成终端设备的第一密钥;

或者

当第一密钥请求消息中包括终端设备的设备标识、用户管理服务器的标识、网络标识、业务参数中的至少一种时,业务中心服务器根据第二参数集合,采用密钥生成函数生成终端设备的第一密钥。

其中,第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种。第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、用户管理服务器的标识、网络标识、业务参数、终端设备的设备标识中的至少一种。共享密钥为用户管理服务器与业务中心服务器的共享密钥。

可选的,还可由业务中心服务器随机选择一个随机数作为终端设备的第一密钥。

在该类可行的实现方式中,业务中心服务器将第一密钥发送给用户管理 服务器,也将该第一密钥发送给网络认证服务器,以使终端设备在接收到用户管理服务器发送的第一密钥后,可与网络认证服务器基于对称密钥技术进行相互认证,由于第一密钥仅终端设备和网络认证服务器具有,并未公开,故终端设备和网络认证服务器可根据第一密钥进行数据加密和解密,从而保证了认证过程的保密性。

在该类可行的实现方式中,密钥生成函数(keyderivationfunction,简称kdf)根据输入的参数,进行推衍得到密钥,输入参数的内容、个数与顺序不同,得到不同的密钥,具体的,kdf所采用的算法可以为hmac算法(如hmac-sha256),omac,cbc-mac,pmac,umac和vmac等算法。

在该类可行的实现方式中,用户管理服务器与业务中心服务器的共享密钥可以是提前预设的,也可以是用户与密钥管理中心执行ipsec,tls等协议后协商的密钥,也可以是用户与密钥管理中心在aka认证后得到的密钥(如kasme,ck,ik等)。

另一类可行的实现方式,基于身份密码系统的密钥生成过程:

业务中心服务器根据预设全局私钥和终端设备的设备标识,基于设备身份生成算法生成终端设备的第一密钥;

或者

业务中心服务器根据预设全局私钥、终端设备的设备标识和第三参数集合,基于设备身份生成算法生成终端设备的第一密钥;

其中,第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为第一私钥对应的终端设备的第一公钥。

在该类可行的实现方式中,设备身份生成算法基于不同终端设备的设备标识为不同的终端设备生成不同的第一密钥,终端设备的第一密钥即为终端设备的私钥,终端设备的设备标识即为终端设备的第一公钥。可选的,还可选择基于终端设备的设备标识生成的公钥作为终端设备的第一公钥。以下实施例中均以终端设备的设备标识作为终端设备的第一公钥为例,而非对其的限定。终端设备的第一公钥为公开数据,终端设备的第一私钥仅终端设备具有,不公开。当某一设备采用终端设备的第一公钥加密数据并发送给终端设 备后,终端设备可利用第一私钥对加密数据进行解密,得到数据,而其他设备即使获取了加密数据,由于不具有终端设备的第一私钥,而无法进行正确解密或验证。因此,该类基于身份密码系统的密钥适用于基于身份密钥技术的相互认证过程。

上述任一可行的实现方式中,第一密钥新鲜参数(如,序列号,freshparameter,nonce等等)用于指示第一密钥的新鲜性,抵御重放攻击,不同时刻的第一密钥的新鲜参数应该不同,如果相同则可认为受到了重放攻击。第一密钥的预设时间参数用于指示该第一密钥的有效期,包括:第一密钥有效的时间、无效的时间和有效期中的至少一种。以下实施例中的任意密钥的新鲜参数具有同样含义,不再赘述。

用户管理服务器的标识包括但不限于如下中的至少一种:行业用户id,公司的标识id,业务id,个人用户的id(如:imei、imsi、impi、tmsi、impu、用户的appid、mac地址、ip地址、手机号码和guti等)。

网络标识包括但不限于如下中的至少一种:运营商id(plmnid),接入网络id(accessnetworkid),服务网络id(servingnetworkid),局域网网络id等网络id标识。

业务参数包括但不限于如下中的至少一种:业务中的序列号sn、时间戳、该业务中的相关id,业务新鲜参数、业务随机数(nonce’/randomnumber1),业务等级,时延参数,其中,该业务中的相关id可以为业务的名称,包括密钥管理中心的id、业务认证中心的id,业务中心id,会话id、链路id、应用id、服务器id中的至少一个。其中,时间戳可以为发送此请求消息时用户的系统时间。

终端设备的设备标识包括但不限于如下中的至少一项:设备的编号,序列号,imei、imsi、impi、tmsi、impu、设备的appid、mac地址、ip地址、手机号码和guti。可选的,还可为其他可能的唯一标识设备的标识。

在上述任一生成第一密钥的方式中,通常采用不同的参数,以针对不同的终端设备生成不同的第一密钥。进一步的,可在生成第一密钥的过程中,增加用户管理服务器的标识,以为不同用户管理服务器所管理的终端设备,生成复杂度不同的第一密钥,即业务中心服务器可根据管理终端设备的用户 管理服务器的不同,为不同的终端设备设置复杂度不同的第一密钥。进一步的,还可在生成第一密钥的过程中,增加业务参数,当同一终端设备的不同业务向业务中心服务器请求密钥时,业务中心服务器可为同一终端设备设置多个第一密钥,进而实现,终端设备上的不同业务采用不同密钥来保护的目的。

s203、用户管理服务器将第一密钥发送给终端设备。

具体的,用户管理服务器接收业务中心服务器发送的终端设备的第一密钥并将终端设备的第一密钥发送给终端设备。

示例性的,当用户管理服务器为多个终端设备向业务中心服务器发送多条第一密钥请求消息时,第一密钥请求消息中包括终端设备的设备标识,以使用户管理服务器可区分第一密钥所对应的终端设备。可选的,用户管理服务器在将第一密钥发送给终端设备时,同时还将该第一密钥的时间信息发送给终端设备,以限定该第一密钥的有效可用时间。

s204、终端设备与网络认证服务器进行相互认证以得到通信密钥。

具体的,终端设备接收用户管理服务器发送的第一密钥,与网络认证服务器进行相互认证以得到终端设备与功能网元的通信密钥。

可选的,在步骤204之后,本发明实施例还包括:

网络认证服务器向功能网元发送通信密钥,使得终端设备与功能网元可基于通信密钥进行安全通信。

步骤201至步骤203中,主要说明密钥的分发方法,步骤204主要说明密钥的认证过程。

具体的,在步骤204中,根据终端设备的第一密钥的生成方式不同,终端设备与网络认证中心的相互认证包括如下可行的实现方式:

一种可行的实现方式:终端设备与网络认证服务器基于对称密钥技术进行相互认证。

在该种可行的实现方式中,业务中心服务器将终端设备的第一密钥发送给网络认证服务器,网络认证服务器接收业务中心服务器发送的终端设备的第一密钥,并根据第一密钥与终端设备进行相互认证。

示例性的,如图2中虚线所示,业务中心服务器可在向用户管理服务器发送终端设备的第一密钥的同时或之后,向网络认证服务器发送终端设备的 第一密钥。可选的,也可是在接收到网络认证服务器向业务中心服务器发送的密钥请求消息后,向网络认证服务器发送第一密钥。可选的,密钥请求消息中可包含终端设备的设备标识。

可选的,网络认证服务器也可同时接收终端设备的第一密钥和设备标识,当网络认证服务器已经从业务中心服务器中获取了终端设备的设备标识时,在终端设备与网络认证服务器的相互认证过程中,无需再由终端设备向网络认证服务器发送终端设备的设备标识。

示例性的,网络认证服务器也可在与终端设备的相互认证过程中,在接收到终端设备发送的认证请求消息后,向业务中心服务器发送第二密钥请求消息,业务中心服务器在接收到第二密钥请求消息后将终端设备的第一密钥发送给网络认证服务器。终端设备向网络认证服务器发送的认证请求消息用于指示终端设备与网络认证服务器进行相互认证以获取终端设备与功能网元的通信密钥。可选的,认证请求消息和第二密钥请求消息中可包括终端设备的设备标识。业务中心服务器可将设备标识和第一密钥对应存储,可以在每次接收到包含设备标识的密钥请求消息后,根据设备标识重新生成当前设备标识对应的终端设备的第一密钥。

另一种可行的实现方式:终端设备与网络认证服务器基于身份密钥技术进行相互认证。

在该种可行的实现方式中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为终端设备的第一公钥。可选的,还可选择基于终端设备的设备标识生成的公钥作为终端设备的第一公钥。以下实施例中不再赘述。

此时,网络认证服务器在接收到终端设备发送的认证请求消息后,就获取了终端设备的第一公钥,即网络认证服务器中存储有终端设备的第一公钥和网络认证服务器的网络认证公钥和网络认证私钥,终端设备中存储有网络认证服务器的网络认证公钥,网络认证服务器可根据终端设备的第一公钥对待传输数据进行加密,终端设备可根据网络认证服务器的网络认证公钥对传输数据进行加密,进而使得终端设备与网络认证服务器可在保密的情况下进行相互认证得到通信密钥。

示例性的,网络认证服务器的网络认证公钥和网络认证私钥基于身份密码系统生成,网络认证服务器可选择网络认证服务器的id作为网络认证公 钥,或者采用根据网络认证服务器的id生成的公钥作为网络认证公钥。

示例性的,可将网络认证服务器的网络认证公钥预存在终端设备中。示例性的,网络认证公钥的获取还可以是在网络认证服务器与终端设备相互认证之前,网络认证服务器接收终端设备发送的公钥请求消息或证书请求消息;网络认证服务器向终端设备发送网络认证服务器的网络认证公钥或网络认证服务器的证书,该证书中包含有网络认证服务器的网络认证公钥。

示例性的,还可以是在相互认证过程中,由网络认证服务器将网络认证公钥发送给终端设备。

其中,网络认证服务器也可基于公钥基础设施(publickeyinfrastructure,简称pki)密码系统生成网络认证服务器的第三公钥和第三私钥,以代替网络认证服务器基于身份密码系统生成的网络认证公钥和网络认证私钥。

可选的,终端设备与网络认证服务器还可根据ipsec,tls等协议进行相互认证。可选的,终端设备与网络认证服务器还可直接采用第一密钥作为终端设备与功能网元的安全通信密钥。

特别地,本发明实施例适用于一个企业或公司基于多种业务同时管理多个终端设备时的密钥分发与认证,可使得多个终端设备在未提前预设根密钥或不支持usim卡的情况下,依据终端设备处理的业务的不同,得到业务中心服务器分发的不同密钥,进而可实现安全通信,同时实现了企业或公司主导的基于业务的密钥分发和认证,降低了运营商的运行复杂度。

本发明实施例提供的密钥分发、认证方法,由业务中心服务器为各终端设备分发不同密钥,然后各终端设备基于各自密钥与网络认证中心进行相互认证,最终得到终端设备与功能网元的通信密钥。本发明实施例为终端设备提供了安全通信通道的建立方法,具有广泛的应用范围,同时降低了运营商网络的复杂度。

下面采用具体实施例对步骤204中的相互认证过程进行详细说明,如上所述,相互认证方式至少包括基于对称密钥技术的认证方式和基于身份密钥技术的认证方式。

在基于对称密钥技术的认证方式中,包括如下可能的实现方式:

第一种可能的认证实现方式:

图3为本发明密钥认证方法实施例一的信令流程图。如图3所示,包括:

s301、终端设备向网络认证服务器发送认证请求消息;

具体地,终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数以及终端设备的设备标识;

s302、网络认证服务器向终端设备发送第二随机数、第二消息验证码;

具体地,网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,根据第一密钥k_dev、第一随机数nonce1、第二随机数nonce2中的至少一项,采用kdf生成网络认证服务器的通信密钥k_com,即k_com=kdf(k_dev,nonce1,nonce2的至少一项),根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数mac生成第二消息验证码mac2,即mac2=mac((k_com或k_dev),nonce1,nonce2),将加密处理后的第二随机数、第二消息验证码,发送给终端设备;

s303、终端设备向网络认证服务器发送第一消息验证码;

具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,即k_com=kdf(k_dev,nonce1,nonce2的至少一项),根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码mac1,示例性的,mac1=mac((k_com或k_dev),nonce2,nonce1),将第一消息验证码,发送给网络认证服务器。

s304、网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

可选的,在实现上述认证方式的过程中,在生成通信密钥、消息验证码过程中还可根据第四参数集合,以提高保密性,增加通信密钥与第一密钥的相关性。其中第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。

示例性的,在终端设备向网络认证服务器发送认证请求消息之前,终端设备还接收用户管理服务器发送的第四参数集合,认证请求消息中还包括第四参数集合。

在步骤302中,网络认证服务器根据第一密钥k_dev、第一随机数nonce1、第二随机数nonce2中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用kdf生成网络认证服务器的通信密钥k_com,即k_com=kdf((k_dev,nonce1,nonce2的至少一项),(终端设备的设备标识、第四参数集合的至少一项)),根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数mac生成第二消息验证码mac2,即mac2=mac((k_com或k_dev),nonce1,nonce2,(终端设备的设备标识、第四参数集合的至少一项)),将第二随机数、第二消息验证码发送给终端设备;

在步骤303中,终端设备根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,即k_com=kdf((k_dev,nonce1,nonce2的至少一项),(终端设备的设备标识、第四参数集合的至少一项)),根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码mac1,示例性的,mac1=mac((k_com或k_dev),nonce2,nonce1,终端设备的设备标识、第四参数集合的至少一项))。

可选的,在上述生成通信密钥的过程中,也可采用通信密钥的密钥参数替代第四参数集合,也可同时采用通信密钥的密钥参数和第四参数集合。通信密钥的密钥参数包括如下中的至少一种:通信密钥随机数、通信密钥新鲜参数、通信密钥的预设时间参数。本领域技术人员清楚增加其他类似的参数、删除部分参数或采用其他类似参数替换本申请中的参数,也在本申请的保护范围内。具体的,在上述相互认证的过程中,当网络认证服务器生成通信密钥的过程中采用了通信密钥的密钥参数时,网络认证服务器需向终端设备发送通信密钥的密钥参数,当网络认证服务器生成通信密钥的过程中未采用通信密钥的密钥参数时,网络认证服务器无需向终端设备发送通信密钥的密钥参数。

具体的,在上述认证过程中,还可根据第一密钥对第一消息验证码、第二消息验证码进行加密,以提高认证过程的保密性。具体的,在生成通信密钥k_com的过程中,若选择采用终端设备与网络认证服务器共享的第一密钥生成k_com,而未采用第一随机数或第二随机数,则在相互认证过程中,也可不对第一随机数或第二随机数进行加密。在上述认证过程中,终端设备与网络认证服务器采用相同的密钥生成函数以及参数生成终端设备的通信密钥。终端设备与网络认证服务器在生成消息验证码的过程中,可采用不同的参数或采用顺序不同的参数,得到不同的消息验证码。以下多种可能的认证方式中,也可采用相同或相似设置,下文不再赘述。

可选的,上述步骤s302中的通信密钥可由网络认证服务器根据第三随机数获得,当通信密钥根据第三随机数获得时,网络认证服务器采用第一密钥将该通信密钥进行加密,发送给终端设备,以使终端设备在对加密后的通信密钥进行解密后,即可得到通信密钥。可选的,在随机生成通信密钥的过程中,也可选择不对第一随机数和第二随机数进行加密。

第二种可能的认证实现方式:

图4为本发明密钥认证方法实施例二的信令流程图。如图4所示,包括:

s401、终端设备向网络认证服务器发送认证请求消息;

具体地,终端设备确定第一随机数、dh协议的第一传输参数。示例性的,可先确定第一参数x,根据第一参数x得到dh协议的第一传输参数gx,第一传输参数gx为预设dh协议的生成元g的第一参数次方,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数以及终端设备的设备标识;

其中,本发明各实施例中的dh协议为diffie-hellman协议。

s402、网络认证服务器向终端设备发送第二随机数、第二传输参数和第二消息验证码;

具体地,网络认证服务器接收第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合,确定第二随机数、dh协议的第二传输参数,示例性的,可先确定第二参数y,根据第二参数y得到第二传输参数gy,第二传输参数gy为预设dh协议的生成元g的第二参数次方,根据第一传输参数gx和第二传输参数gy执行dh密钥协商算法得到第三传输参数gxy,根据第一随 机数、第二随机数、第四参数集合中的至少一项,以及第三传输参数采用密钥生成函数生成网络认证服务器的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一传输参数、第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;

s403、终端设备向网络认证服务器发送第一消息验证码;

具体地,终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数,在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器;

s404、网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

可选的,在相互认证过程中,还可将第一随机数和第二随机数进行加密传输。可选的,在相互认证过程中,还可选择第一传输参数和第二传输参数中的至少一个进行加密。

可选的,当存在多种预设dh协议时,在步骤401中,认证请求消息还包括终端设备选择的预设dh协议的dh协议标识,网络认证服务器根据接收的dh协议标识,确定传输参数生成中所采用的预设dh协议的生成元g。

与第一种可能的认证实现方式相比,通过增加第一传输参数和第二传输参数,增加了认证过程的保密性。

第三种可能的认证实现方式:

图5为本发明密钥认证方法实施例三的信令流程图。如图5所示,包括:

s501、终端设备向网络认证中心发送认证请求消息;

具体地,终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,采用 消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数以及终端设备的设备标识;

s502、网络认证服务器向终端设备发送第二随机数和第二消息验证码;

具体地,网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成网络认证服务器的通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码发送给终端设备,向功能网元发送通信密钥。

s503、终端设备生成通信密钥;

具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数;终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥。

可选的,在根据第一密钥生成通信密钥时,可选择不对第一随机数和第二随机数进行加密。可选的,上述步骤s502中的通信密钥可由网络认证服务器根据第三随机数获得,当通信密钥根据第三随机数获得时,网络认证服务器采用第一密钥将该通信密钥进行加密,发送给终端设备,以使终端设备在对加密后的通信密钥进行解密后,即可得到通信密钥。可选的,在随机生成通信密钥的过程中,也可选择不对第一随机数和第二随机数进行加密。

该种认证实现方式与第一种和第二种可能的认证实现方式相比,减少了信令交互次数,提高了认证效率。

第四种可能的认证实现方式:

图6为本发明密钥认证方法实施例四的信令流程图。如图6所示,包括:

s601、终端设备向网络认证服务器发送认证请求消息;

具体地,终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至 少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数,以及终端设备的设备标识;

s602、网络认证服务器向终端设备发送第二随机数和第二消息验证码;

具体地,网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成网络认证服务器的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥;

s603、终端设备对第二消息验证码进行验证;

具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数和第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,终端设备对第二消息验证码进行验证并确定验证通过。

该种认证实现方式与第一种和第二种可能的认证实现方式相比,减少了信令交互次数,提高了认证效率。

该种认证方式与第三种可能的认证方式相比,终端设备先根据第一随机数生成通信密钥,不再依赖网络认证中心服务器发送的第二随机数。可选的,可选择不对第二随机数进行加密。

第五种可能的认证方式:

图7为本发明密钥认证方法实施例五的信令流程图。如图7所示,包括:

s701、终端设备向网络认证服务器发送认证请求消息;

具体地,终端设备确定第一随机数、dh协议的第一传输参数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数以及终端设备的设备标识;

s702、网络认证服务器向终端设备发送第二随机数、第二传输参数和第 二消息验证码;

具体地,网络认证服务器确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数,在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥;

s703、终端设备验证第二消息验证码;

具体地,终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。

该种认证实现方式与第一种和第二种可能的认证实现方式相比,减少了信令交互次数,提高了认证效率。

可选的,在相互认证过程中,还可将第一随机数、第二随机数、第一传输参数、第二传输参数进行加密传输,以提高保密性。

可选的,当存在多种预设dh协议时,在步骤701中,认证请求消息还包括终端设备选择的预设dh协议的dh协议标识,网络认证服务器根据接收的dh协议标识,确定传输参数生成中所采用的预设dh协议的生成元g。

与第一种可能的认证实现方式相比,通过增加第一传输参数和第二传输参数,增加了认证过程的保密性。

在基于身份密钥技术的认证方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。包括如下可能的实现方式:

第六种可能的认证实现方式:

图8为本发明密钥认证方法实施例六的信令流程图。如图8所示,包括:

s801、终端设备向网络认证服务器发送认证请求消息;

具体地,终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;

s802、网络认证服务器向终端设备发送第二随机数和第二数字签名;

具体地,网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名或者第二数字签名和通信密钥的密钥参数,发送给终端设备;

s803、终端设备向网络认证服务器发送第一消息验证码或第三数字签名;

具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数和第二随机数中的至少一项,生成终端设备的通信密钥;根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器;

s804、网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

具体的,在上述认证过程中,预设全局公钥可提前存储在网络认证服务器中。

具体的,在上述认证过程中,还可对第一数字签名、第二数字签名和第三数字签名进行加密,以提高认证过程的保密性。

第七种可能的认证实现方式:

图9为本发明密钥认证方法实施例七的信令流程图。如图9所示,包括:

s901、终端设备向网络认证服务器发送认证请求消息;

具体地,终端设备确定第一随机数、dh协议的第一传输参数,根据第一密钥、第一随机数、第一传输参数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数以及终端设备的设备标识;

s902、网络认证服务器向终端设备发送第二随机数、第二传输参数和第二数字签名;

具体地,网络认证服务器确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;

s903、终端设备向网络认证服务器发送第一消息验证码或第三数字签名;

具体地,终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据第一随机数、第二随机数中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器;

s904、网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

可选的,当存在多种预设dh协议时,在步骤901中,认证请求消息还包括终端设备选择的预设dh协议的dh协议标识,网络认证服务器根据接 收的dh协议标识,确定传输参数生成中所采用的预设dh协议的生成元g。

与第六种可能的认证实现方式相比,通过增加第一传输参数和第二传输参数,增加了认证过程的保密性。

第八种可能的认证实现方式:

图10为本发明密钥认证方法实施例八的信令流程图。如图10所示,包括:

s1001、终端设备向网络认证服务器发送认证请求消息;

具体地,终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;

s1002、网络认证服务器向终端设备发送第二随机数和第二数字签名;

具体地,网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数;在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥;

s1003、终端设备生成通信密钥;

具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项生成终端设备的通信密钥。

该种认证实现方式与第六种和第七种可能的认证实现方式相比,减少了信令交互次数,提高了认证效率。

进一步的,在上述任一可能的认证方式中,本发明实施例还包括:

网络认证中心和终端设备根据共享的通信密钥、第四参数集合、会话密 钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用kdf生成会话密钥,并将会话密钥发送给功能网元,采用会话密钥替代通信密钥实现功能网元与终端设备的安全通信。

本发明实施例另一方面提供一种业务中心服务器用以执行上述实施例中的密钥分发方法,具有相同的技术特征和技术效果。

图11为本发明业务中心服务器实施例一的结构示意图。如图11所示,该服务器包括:

密钥请求接收模块1101,用于接收用户管理服务器发送的第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;

密钥生成模块1102,用于根据第一密钥请求消息生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器。

可选的,在图11所示实施例的基础上,密钥生成模块1102具体用于:

根据第一参数集合,采用密钥生成函数生成终端设备的第一密钥;

其中,第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。

可选的,在图11所示实施例的基础上,当第一密钥请求消息中包括终端设备的设备标识、用户管理服务器的标识、网络标识、业务参数中的至少一种,密钥生成模块1102具体用于:

根据第二参数集合,采用密钥生成函数生成终端设备的第一密钥;

其中,第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、用户管理服务器的标识、网络标识、业务参数、终端设备的设备标识中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。

可选的,在图11所示实施例的基础上,密钥生成模块1102具体用于:确定业务随机数,并将业务随机数作为终端设备的第一密钥。

可选的,在图11所示实施例的基础上,当第一密钥请求消息中包括终端设备的设备标识,密钥生成模块1102具体用于:

根据预设全局私钥和终端设备的设备标识,基于设备身份生成算法生成终端设备的第一密钥;

其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

可选的,在图11所示实施例的基础上,当第一密钥请求消息中包括终端设备的设备标识,密钥生成模块1102具体用于:

根据预设全局私钥、终端设备的设备标识和第三参数集合,基于设备身份生成算法生成终端设备的第一密钥;

其中,第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;

其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

可选的,在图11所示实施例的基础上,密钥生成模块1102还用于:

将终端设备的第一密钥发送给网络认证服务器以使得网络认证服务器根据第一密钥与终端设备进行相互认证。

进一步地,密钥请求接收模块1101还用于:接收网络认证服务器发送的第二密钥请求消息;第二密钥请求消息是在网络认证服务器接收到终端设备发送的认证请求消息后发送的。

本发明实施例再一方面提供一种用户管理服务器用以执行上述实施例中的密钥分发方法,具有相同的技术特征和技术效果。

图12为本发明用户管理服务器实施例一的结构示意图。如图12所示,该服务器包括:

请求发送模块1201,用于向业务中心服务器发送第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;

密钥接收模块1202,用于接收业务中心服务器发送的终端设备的第一密钥;

密钥发送模块1203,用于将终端设备的第一密钥发送给终端设备以使得终端设备根据第一密钥与网络认证服务器进行相互认证。

可选的,在图12所示实施例的基础上,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。

可选的,密钥发送模块1203还用于:

将第四参数集合发送给终端设备,第四参数集合包括用户管理服务器的标识、网络标识、业务参数中的至少一种。

本发明实施例又一方面提供一种终端设备用以执行上述实施例中的密钥认证方法,具有相同的技术特征和技术效果。

图13为本发明终端设备实施例一的结构示意图。如图13所示,该终端设备包括:

接收模块1301,用于接收用户管理服务器发送的终端设备的第一密钥;

认证模块1302,用于根据第一密钥,与网络认证服务器进行相互认证以得到终端设备与功能网元的通信密钥。

下面采用具体实施例对认证模块1302的相互认证过程进行详细说明,如上述方法实施例所述,相互认证方式至少包括基于对称密钥技术的认证方式和基于身份密钥技术的认证方式。

在基于对称密钥技术的认证方式中,包括如下可能的实现方式:

第一种可行的认证方式中,认证模块具体用于:

确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二消息验证码、加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

第二种可行的认证方式中,认证模块具体用于:

确定第一随机数,向网络认证服务器发送认证请求消息,

认证请求消息包括第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二消息验证码;

在对第二消息验证码验证通过后,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

第三种可行的认证方式中,认证模块具体用于:

确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

在对第二消息验证码验证通过后,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

第四种可行的认证方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

第五种可行的认证方式中,认证模块具体用于:

确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥。

第六种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二消息验证码;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。

第七种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。

第八种可行的认证方式中,认证模块具体用于:

确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项, 以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数,以及终端设备的设备标识;

接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

对第二消息验证码进行验证并确定验证通过。

第九种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,采用密钥生成函数生成网络认证服务器的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数和第二消息验证码;

对第二消息验证码进行验证并确定验证通过。

第十种可行的认证方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。

在图13所示实施例的基础上,当接收模块还用于接收用户管理服务器发送的第四参数集合时,其中,第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种;认证模块1302还包括如下可行的实现方 式:

第十一种可行的认证方式中,认证模块具体用于:

确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥、第一随机数、所二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

第十二种可行的认证方式中,认证模块具体用于:

确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二消息验证码;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

第十三种可行的认证方式中,认证模块具体用于:

确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二 消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

在对第二消息验证码验证通过后,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

第十四种可行的认证方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。

第十五种可行的认证方式中,认证模块具体用于:

确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后 的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥。

第十六种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二消息验证码;

在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。

第十七种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;

在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。

第十八种可行的认证方式中,认证模块具体用于:

确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消 息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;

对第二消息验证码进行验证并确定验证通过。

第十九种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识和第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二消息验证码和第二随机数;

对第二消息验证码进行验证并确定验证通过。

第二十种可行的认证方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。

基于身份密钥技术的认证方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。包括如下可能 的实现方式:

第二十一种可行的认证方式中,认证模块具体用于:

确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数和第二随机数中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;

根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

第二十二种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

在对第二数字签名验证通过后,根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数,生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

第二十三种可行的认证方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,根据第一密钥、第一随机数、 第一传输参数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据第一随机数、第二随机数中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

第二十四种可行的认证方式中,认证模块具体用于:

确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;

接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。

第二十五种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数,以及终端设备的设备标识;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。

基于身份密钥技术的认证方式中,当接收模块还用于接收用户管理服务器发送的第四参数集合时,其中,第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种;认证模块1302还包括如下可行的实现方式:

第二十六种可行的认证方式中,认证模块具体用于:

确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;

根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

第二十七种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二 数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

在对第二数字签名验证通过后,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

第二十八种可行的认证方式中,认证模块具体用于:

确定第一随机数、dh协议的第一传输参数,根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第一传输参数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名;

在对第二数字签名验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。

第二十九种可行的认证方式中,认证模块具体用于:

确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集 合;

接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。

第三十种可行的认证方式中,认证模块具体用于:

确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、终端设备的设备标识以及第四参数集合;

接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;

在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。

基于身份密钥技术的认证方式中,终端设备还包括公钥请求模块,用于向网络认证服务器发送公钥请求消息;

终端设备的接收模块还用于接收网络认证服务器发送的网络认证服务器的网络认证公钥。

第三十一种可行的认证方式中,认证模块具体用于:与网络认证服务器进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成终端设备的会话密钥。

本发明实施例又一方面提供一种网络认证服务器用以执行上述实施例中的密钥认证方法,具有相同的技术特征和技术效果。

如上述方法实施例所述,网络认证服务器的相互认证过程至少包括基于对称密钥技术的认证方式和基于身份密钥技术的认证方式。

在基于对称密钥技术的认证方式中,结合图14对本发明实施例提供的网络认证服务器进行详细说明。图14为本发明网络认证服务器实施例一的结构示意图。如图14所示,该服务器包括:

请求接收模块1401,用于接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识;

密钥接收模块1402,用于接收业务中心服务器发送的与设备标识对应的终端设备的第一密钥;

认证模块1403,用于根据第一密钥,与设备标识指示的终端设备进行相互认证以得到终端设备与功能网元的通信密钥。

在基于对称密钥技术的认证方式中,认证模块1403的认证方式包括如下可能的实现方式:

第一种可行的认证方式中,认证请求消息还包括加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

第二种可行的认证方式中,认证请求消息还包括第一随机数,认证模块具体用于:

确定第二随机数,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后, 向功能网元发送通信密钥。

第三种可行的认证方式中,认证请求消息还包括第一随机数,认证模块具体用于:

确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

第四种可行的认证方式中,认证请求消息还包括第一随机数和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

第五种可行的认证方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给 终端设备,向功能网元发送通信密钥。

第六种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数;

在对第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

第七种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

第八种可行的认证方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

第九种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数;

在对第一消息验证码验证通过后,根据第一密钥和第一随机数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

第十种可行的认证方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

在图14所示实施例的基础上,当认证请求消息还包括第四参数集合,其中第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。认证模块1403还包括如下可行的实现方式:

第十一种可行的认证方式中,认证请求消息还包括加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后, 向功能网元发送通信密钥。

第十二种可行的认证方式中,认证请求消息还包括第一随机数,认证模块具体用于:

确定第二随机数;

根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

第十三种可行的认证方式中,认证请求消息还包括第一随机数,认证模块具体用于:

确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

第十四种可行的认证方式中,认证请求消息还包括第一随机数和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参 数,第二消息验证码,发送给终端设备;

接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。

第十五种可行的认证方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

第十六种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数;

在对第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。

第十七种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;

根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的任一项,采用消息验证码生成函数生 成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

第十八种可行的认证方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:

根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;

在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

第十九种可行的认证方式中,,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:

确定第二随机数;

在对第一消息验证码验证通过后,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。

第二十种可行的认证方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及终 端设备的设备标识、第四参数集合、第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。

在基于身份密钥技术的认证方式中,结合图15对本发明实施例提供的网络认证服务器进行详细说明。图15为本发明网络认证服务器实施例二的结构示意图。如图15所示,该网络认证服务器包括:

请求接收模块1501,用于接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识,终端设备的设备标识为终端设备的第一公钥;

认证模块1502,用于根据第一公钥、网络认证服务器的网络认证公钥、网络认证服务器的网络认证私钥与终端设备进行相互认证以得到终端设备与功能网元的通信密钥。

在基于身份密钥技术的认证方式中,认证模块1502的认证方式包括如下可能的实现方式:

第二十一种可行的认证方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:

根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

第二十二种可行的认证方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:

确定第二随机数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进 行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

第二十三种可行的认证方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

第二十四种可行的认证方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:

根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。

第二十五种可行的认证方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:

确定第二随机数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。

在图15所示实施例的基础上,当认证请求消息还包括第四参数集合,其中第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。认证模块1502还包括如下可行的实现方式:

第二十六种可行的认证方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:

根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

第二十七种可行的认证方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:

确定第二随机数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四 参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

第二十八种可行的认证方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,认证模块具体用于:

确定第二随机数、dh协议的第二传输参数,根据第一传输参数和第二传输参数执行dh密钥协商算法得到第三传输参数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;

接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。

第二十九种可行的认证方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:

根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。

第三十种可行的认证方式中,认证请求消息还包括第一数字签名和第一 随机数,认证模块具体用于:

确定第二随机数;

在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。

可选的,基于身份密钥技术的认证方式中,网络认证服务器中的请求接收模块还用于接收终端设备发送的公钥请求消息;认证模块还用于向终端设备发送网络认证服务器的网络认证公钥。

可选的,基于对称密钥技术和基于身份密钥技术的认证方式中,认证模块还可具体用于:与终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。

本发明实施例又一方面提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述任一业务中心服务器的密钥分发方法实施例所述的方法。

本发明实施例又一方面提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述任一用户管理服务器的密钥分发方法实施例所述的方法。

本发明实施例又一方面提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述任一终端设备的密钥认证方法实施例所述的方法。

本发明实施例又一方面提供一种存储介质,存储介质为计算机可读存储 介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述任一网络认证服务器的密钥认证方法实施例所述的方法。

本发明实施例又一方面提供一种密钥分发、认证系统用以执行上述实施例中的密钥分发、认证方法,具有相同的技术特征和技术效果。

该系统包括如上述任一实施例所述的业务中心服务器、如上述任一实施例所述的用户管理服务器、如上述任一实施例所述的终端设备、如上述任一实施例所述的网络认证服务器。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包 括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

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

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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