一种身份鉴权方法及装置
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种身份鉴权方法及装置。
背景技术
为了保证系统和数据的安全,终端访问某一服务时,提供该服务的服务器会对该终端进行身份鉴权(又称为“鉴权”、“验证”)。
现有技术中,采用鉴权中心为多个终端提供统一鉴权。具体的,鉴权中心接收各个终端发送的鉴权请求,并将接收到的鉴权请求路由到对应的鉴权单元,由对应的鉴权单元完成鉴权。但是,该方案每次鉴权都必须经过鉴权中心,增加了鉴权通信过程的复杂度,鉴权效率低;此外,若鉴权中心被攻击,所有鉴权单元也都会受到严重影响,无法有效保障数据的安全性。
发明内容
本申请提供一种身份鉴权方法及装置,能够解决现有的鉴权效率低、数据的安全性较低的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种应用于包括设备族和鉴权服务器的通信系统的身份鉴权方法,其中,设备族包括至少两个设备,至少两个设备中的第一设备与其他设备中的至少一个连接。具体的,在获取到设备族的通用令牌(为了便于描述,后续均采用通用令牌进行描述)和密钥后,第一设备根据密钥和该第一设备的标识,生成该第一设备的设备令牌,之后,第一设备生成包括通用令牌和该第一设备的设备令牌的鉴权令牌,该鉴权令牌与第一设备唯一对应,这样,第一设备即可采用该鉴权令牌与鉴权服务器通信,以获取鉴权结果。本申请中的通用令牌为鉴权服务器根据设备族的标识和第一预设加密算法生成的,密钥为鉴权服务器根据设备族的标识确定的。
可以看出,设备族中的第一设备在获取到通用令牌和密钥后,可自行生成该第一设备的鉴权令牌,并直接与鉴权服务器通信,无需再通过其他设备,有效地提高了鉴权的效率。
此外,鉴权令牌包括通用令牌和与设备唯一对应的设备令牌,且通用令牌和设备令牌是不同设备生成的,只有在通用令牌和设备令牌均正确的情况下,才能鉴权成功,有效地提高了数据和系统的安全性。
可选的,在本申请的一种可能的实现方式中,本申请的第一设备为设备族中的主设备,上述其他设备中的每一设备均为从设备,主设备与每一从设备连接。在这种场景中,第一设备还向每一从设备发送通用令牌和密钥,以便于每一从设备根据通用令牌和密钥生成自身的鉴权令牌。
主设备与鉴权服务器通信,获取通用令牌和密钥,并将获取到的通用令牌和密钥发送至每一从设备,这样,设备族中的每一设备均可获取到通用令牌和密钥。在获取通用令牌和密钥的过程中,只有主设备与鉴权服务器通信,有效地减少了鉴权服务器的访问压力。
可选的,在本申请的另一种可能的实现方式中,在第一设备为设备族中的主设备的场景中,上述“第一设备获取设备族的通用令牌和密钥”的方法包括:第一设备获取设备族的标识和设备族中每一设备的标识,并向鉴权服务器发送包括设备族的标识和设备族中每一设备的标识的鉴权请求;相应的,第一设备接收鉴权服务器发送的通用令牌和密钥。
可选的,在本申请的另一种可能的实现方式中,在第一设备为设备族中的主设备的场景中,第一设备还向鉴权服务器发送包括第二设备的标识的第一消息,用于指示第二设备为新添加到设备族的设备,或者用于通知第二设备已经退出设备族;相应的,第一设备接收鉴权服务器发送的第二消息;若第二设备为新添加到设备族的设备,第二消息用于指示为第二设备发放令牌;若第二设备为已经退出设备族的设备,第二消息用于指示移除第二设备的令牌。若第二消息用于指示为第二设备发放令牌,第一设备向第二设备发送通用令牌和密钥,以便于第二设备根据通用令牌和密钥生成第二设备的鉴权令牌。
第一设备为设备族中的主设备,因此,在设备族中新添加设备或者退出设备时,该主设备能够获取到该设备的标识,即获取到第二设备的标识。若第二设备为新添加设备,为了提高该第二设备的鉴权效率,第一设备及时通知鉴权服务器该设备族中新添加了第二设备,以便于鉴权服务器同意为该第二设备发放令牌。若第二设备为已退出的设备,为了保证数据和系统的安全性,第一设备及时通知鉴权服务器第二设备已经退出该设备族,以便于鉴权服务器及时更新第二设备的相关信息,防止第二设备的非法访问。
可选的,在本申请的另一种可能的实现方式中,在设备族包括主设备和至少一个从设备,第一设备为至少一个从设备中的任意一个的场景中,上述“第一设备获取通用令牌和密钥”的方法包括:第一设备接收主设备发送的通用令牌和密钥。
第二方面,提供一种电子设备。应用于包括设备族和鉴权服务器的通信系统,设备族包括至少两个设备,至少两个设备中的第一设备与其他设备中的至少一个连接,电子设备为第一设备。本申请提供的电子设备包括获取单元、生成单元和通信单元。
具体的,上述获取单元,用于获取设备族的通用令牌和密钥,通用令牌为鉴权服务器根据设备族的标识和第一预设加密算法生成的,密钥为鉴权服务器根据设备族的标识确定的。上述生成单元,用于根据上述获取单元获取到的密钥和第一设备的标识,生成第一设备的设备令牌,以及生成第一设备的鉴权令牌,第一设备的鉴权令牌包括通用令牌和第一设备的设备令牌。上述通信单元,用于采用上述生成单元生成的第一设备的鉴权令牌与鉴权服务器通信,以获取鉴权结果。
可选的,在本申请的一种可能的实现方式中,上述第一设备为设备族中的主设备,其他设备中的每一设备均为从设备,主设备与每一从设备连接。相应的,上述通信单元,用于向每一从设备发送通用令牌和密钥,以便于从设备根据通用令牌和密钥生成从设备的鉴权令牌。
可选的,在本申请的另一种可能的实现方式中,上述述获取单元,具体用于获取设备族的标识和设备族中每一设备的标识。上述通信单元,还用于向鉴权服务器发送鉴权请求,鉴权请求包括设备族的标识和设备族中每一设备的标识,以及用于接收鉴权服务器发送的通用令牌和密钥。
可选的,在本申请的另一种可能的实现方式中,上述通信单元还用于:向鉴权服务器发送第一消息,第一消息包括第二设备的标识,第一消息用于指示第二设备为新添加到设备族的设备,或者用于通知第二设备已经退出设备族;接收鉴权服务器发送的第二消息;若第二设备为新添加到设备族的设备,第二消息用于指示为第二设备发放令牌;若第二设备为已经退出设备族的设备,第二消息用于指示移除第二设备的令牌;若第二消息用于指示为第二设备发放令牌,向第二设备发送通用令牌和密钥,以便于第二设备根据通用令牌和密钥生成第二设备的鉴权令牌。
可选的,在本申请的另一种可能的实现方式中,设备族包括主设备和至少一个从设备,第一设备为至少一个从设备中的任意一个。相应的,上述通信单元,还用于接收主设备发送的通用令牌和密钥。
第三方面,提供一种电子设备,该电子设备包括:一个或多个处理器和存储器。存储器与上述一个或多个处理器连接。存储器用于存储计算机指令,当一个或多个处理器执行该计算机指令时,电子设备执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的身份鉴权方法。
第四方面,提供一种计算机程序产品,该计算机程序产品包括指令,当上述第三方面所述的电子设备的处理器执行指令时,使得所述电子设备执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的身份鉴权方法。
第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机指令,当上述第三方面所述的电子设备的处理器执行计算机指令时,使得所述电子设备执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的身份鉴权方法。
本申请中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
在本申请中,上述电子设备的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
第六方面,提供一种应用于包括设备族和鉴权服务器的通信系统的身份鉴权方法,其中,设备族包括至少两个设备,至少两个设备中的第一设备与其他设备中的至少一个连接。具体的,鉴权服务器接收第一设备发送的第一设备的鉴权令牌,并对第一设备的鉴权令牌进行鉴权,之后,向第一设备发送鉴权结果。其中,第一设备的鉴权令牌包括通用令牌和第一设备的设备令牌,通用令牌为鉴权服务器根据设备族的族标识生成的,第一设备的设备令牌为第一设备根据鉴权服务器确定的密钥和第一设备的标识生成的。
可以看出,设备族中的第一设备在获取到通用令牌和密钥后,可自行生成该第一设备的鉴权令牌,并直接与鉴权服务器通信,无需再通过其他设备,有效地提高了鉴权的效率。
此外,鉴权令牌包括通用令牌和与设备唯一对应的设备令牌,且通用令牌和设备令牌是不同设备生成的,只有在通用令牌和设备令牌均正确的情况下,才能鉴权成功,有效地提高了数据和系统的安全性。
可选的,在本申请的一种可能的实现方式中,鉴权服务器还接收设备族中的主设备发送的鉴权请求,该鉴权请求包括设备族的标识和设备族中每一设备的标识的;在确定主设备合法的情况下,鉴权服务器根据设备族的标识和第一预设加密算法,生成通用令牌,并根据设备族的标识,确定密钥;之后,鉴权服务器向主设备发送通用令牌和密钥。
本申请的通用令牌和密钥是针对设备族的,在生成通用令牌和密钥后,鉴权服务器向主设备发送通用令牌和密钥。以便于主设备向设备族中的每一从设备发送通用令牌和密钥。这样,在获取通用令牌和密钥的过程中,鉴权服务器不需要与设备族中的每一设备通信,有效地降低了鉴权服务器的访问压力。
可选的,在本申请的另一种可能的实现方式中,鉴权服务器还存储设备族中每一设备的标识和设备族的标识,为后续鉴权服务器的鉴权操作提供依据。
可选的,在本申请的另一种可能的实现方式中,鉴权服务器还接收主设备发送的包括第二设备的标识的第一消息,该第一消息用于指示第二设备为新添加到设备族的设备,或者用于通知第二设备已经退出设备族;鉴权服务器根据第一消息,更新设备族中每一设备的标识,并向主设备发送第二消息;若第二设备为新添加到设备族的设备,第二消息用于指示为第二设备发放令牌;若第二设备为已经退出设备族的设备,第二消息用于指示移除第二设备的令牌。
第七方面,提供一种服务器,应用于包括设备族和鉴权服务器的通信系统,该设备族包括主设备和至少一个从设备,至少一个从设备中的每个从设备均与主设备连接。本申请的服务器为鉴权服务器。该服务器包括接收单元、鉴权单元和发送单元。
具体的,上述接收单元,用于接收第一设备发送的第一设备的鉴权令牌,第一设备的鉴权令牌包括通用令牌和第一设备的设备令牌,通用令牌为鉴权服务器根据设备族的族标识生成的,第一设备的设备令牌为第一设备根据鉴权服务器确定的密钥和第一设备的标识生成的。上述鉴权单元,用于对接收单元接收到的第一设备的鉴权令牌进行鉴权。上述发送单元,用于向第一设备发送鉴权单元确定的鉴权结果。
可选的,在本申请的一种可能的实现方式中,上述接收单元,还用于接收设备族中的主设备发送的鉴权请求,该鉴权请求包括设备族的标识和设备族中每一设备的标识。本申请提供的服务器还包括确定单元和生成单元,该确定单元用于确定主设备合法;该生成单元,用于在确定单元确定主设备合法的情况下,根据设备族的标识和第一预设加密算法,生成设备族的通用令牌;确定单元,还用于根据设备族的标识,确定密钥。此外,上述发送单元,用于向主设备发送生成单元生成的通用令牌和确定单元确定出的密钥。
可选的,在本申请的另一种可能的实现方式中,上述服务器还包括存储单元,该存储单元用于存储设备族中每一设备的标识和设备族的标识。
可选的,在本申请的另一种可能的实现方式中,上述接收单元,还用于接收主设备发送的第一消息,第一消息包括第二设备的标识,第一消息用于指示第二设备为新添加到设备族的设备,或者用于通知第二设备已经退出设备族。本申请提供的服务器还包括更新单元,该更新单元用于根据上述接收单元接收到的第一消息,更新设备族中每一设备的标识。上述发送单元,还用于向主设备发送第二消息;若第二设备为新添加到设备族的设备,第二消息用于指示为第二设备发放令牌;若第二设备为已经退出设备族的设备,第二消息用于指示移除第二设备的令牌。
第八方面,提供一种服务器,该服务器包括:一个或多个处理器和存储器。存储器与上述一个或多个处理器连接。存储器用于存储计算机指令,当一个或多个处理器执行该计算机指令时,服务器执行如上述第六方面及其任意一种可能的实现方式中任意之一所述的身份鉴权方法。
第九方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当上述第八方面所述的服务器的处理器执行计算机指令时,使得所述服务器执行如上述第六方面及其任意一种可能的实现方式中任意之一所述的身份鉴权方法。
第十方面,提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机指令,当上述第八方面所述的服务器的处理器执行计算机指令时,使得所述服务器执行如上述第六方面及其任意一种可能的实现方式中任意之一所述的身份鉴权方法。
在本申请中,上述服务器的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的通信系统的结构示意图;
图2为本申请实施例中通信装置的一种硬件结构示意图;
图3为本申请实施例中通信装置的另一硬件结构示意图;
图4为本申请实施例中身份鉴权方法的流程示意图一;
图5为本申请实施例中身份鉴权方法的流程示意图二;
图6为本申请实施例中身份鉴权方法的流程示意图三;
图7为本申请实施例中身份鉴权方法的流程示意图四;
图8为本申请实施例中电子设备的一种结构示意图;
图9为本申请实施例中服务器的另一硬件结构示意图。
具体实施方式
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例提供一种身份鉴权方法及装置,适用于包括设备族(包括主设备和至少一个从设备)和鉴权服务器的通信系统。该通信系统中,主设备通过与鉴权服务器通信,获取鉴权服务器分配的设备族的通用令牌(为了便于描述,后面均以通用令牌表示设备族的通用令牌)和密钥,并向每一从设备发送通用令牌和密钥。设备族中的每一设备在获取到通用令牌和密钥后,结合自身的标识,生成该设备的鉴权令牌,该设备的鉴权令牌包括包括通用令牌和设备令牌,之后,设备族中的每一设备利用该设备的鉴权令牌与鉴权服务器通信。
设备族中的每一设备在获取到通用令牌和密钥后,可自行生成该设备的鉴权令牌,并直接与鉴权服务器通信,无需再通过其他设备,有效地提高了鉴权的效率。
由于每一设备生成的鉴权令牌均包括通用令牌和该设备的设备令牌,因此,只有在通用令牌和设备令牌均正确的情况下,才能鉴权成功,有效地提高了数据和系统的安全性。
从上面描述可知,本申请实施例提供的身份鉴权方法适用于包括设备族和鉴权服务器的通信系统。图1示出了该通信系统的一种结构。
如图1所示,该通信系统包括设备族10和鉴权服务器11,设备族10包括主设备101和至少一个从设备(如从设备a、从设备b等)。主设备101与每个从设备均连接。对于从设备而言,该从设备除了与主设备101连接之外,还可以与设备族10中的至少一个其他从设备连接。鉴权服务器11与设备族10中的每个设备均连接。
设备族10中的主设备101可以通过近场通信(near field communication,NFC)与从设备连接,也可以通过蓝牙(bluetooth)与从设备连接,还可以通过其他方式与从设备连接,本申请实施例对此不作限定。
当然,对于与其他从设备连接的某一从设备而言,该从设备可以通过NFC与其他从设备连接,也可以通过蓝牙(bluetooth)与其他从设备连接,还可以通过其他方式与其他从设备连接,本申请实施例对此不作限定。
主设备101用于维护从设备的连接状态列表,从鉴权服务器11处获取到通用令牌和密钥,并将获取到的通用令牌和密钥发送给每一从设备。
具体的,主设备101管理所有从设备,存储有每一从设备的标识,通过与鉴权服务器11通信,获取通用令牌和密钥,并向每一从设备发送该通用令牌和密钥。当设备族10中新增或退出某一(或某些)从设备时,主设备101与鉴权服务器11通信,能够及时为新增的从设备发送通用令牌和密钥,有效地缩短了鉴权的交互时间,也能及时通知鉴权服务器11移除已退出设备族10的设备的鉴权令牌,提高了鉴权效率保证了数据和系统的安全性。
此外,主设备101根据通用令牌和密钥,生成包括通用令牌和该主设备101的设备令牌的鉴权令牌,该鉴权令牌与主设备101唯一对应;主设备101利用该鉴权令牌与鉴权服务器通信,以便于鉴权服务器鉴定主设备101是否为安全合法的用户端及其操作。
从设备主要用于保持与主设备的互联,接收主设备101发送的通用令牌和密钥,在获取到主设备101发送的通用令牌和密钥后,生成与该从设备唯一对应的鉴权令牌,该鉴权令牌包括通用令牌和从设备的设备令牌;从设备利用该鉴权令牌与鉴权服务器通信,以便于鉴权服务器鉴定从设备是否为安全合法的用户端及其操作。
上述主设备101和从设备均为电子设备,该电子设备可以是用户设备(userequipment,UE)、终端、移动设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备(也可以称为穿戴式智能设备)等。
在设备族10中,主设备101为该设备族10中能够控制其他所有设备的设备,例如智能手机。
鉴权服务器11,主要用于为设备族10鉴权认证,生成通用令牌,并维护设备族10中每个设备的鉴权状态(如是否需要鉴权,是否鉴权成功)。
具体的,鉴权服务器11用于接收主设备101发送的鉴权请求,该鉴权请求包括设备族的标识和所述设备族中每一设备的标识,在确定主设备101合法的情况下,鉴权服务器11根据设备族的标识和第一预设加密算法生成通用令牌,以及根据设备族的标识,确定密钥,之后,鉴权服务器11向主设备101发送通用令牌和密钥。
鉴权服务器11,还用于接收设备族10中某一设备发送的鉴权令牌,并根据该鉴权令牌,鉴定该设备是否为安全合法的用户端及其操作。
图1所示的通信系统仅仅是示例性的。在实际应用中,本申请实施例适用的通信系统还可以为其他结构,此处不再一一列举。
在一个示例中,图1中涉及到的主设备和从设备均可以为图2所示的通信装置20,也可以为包括图2所示的通信装置20的设备(例如:通信装置为主设备/从设备的芯片系统)。图2为本申请实施例提供的一种通信装置20的组成示意图,该通信装置20可以用于实现本申请实施例提供的身份鉴权方法中主设备/从设备的操作。
如图2所示,该通信装置20包括存储器21、存储控制器22,一个或多个(图中仅示出一个)处理器23、外设接口24、射频模块25以及近场通信模块26。可选的,该通信装置还可以包括触控屏幕27和按键模块28等组件。这些组件通过一条或多条通讯总线/信号线29相互通讯。
存储器21可用于存储软件程序以及模块,如用于执行本申请实施例中身份鉴权方法对应的程序指令/模块,处理器23通过运行存储在存储器21内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例提供的身份鉴权方法。
存储器21可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器21可进一步包括相对于处理器22远程设置的存储器,这些远程存储器可以通过网络连接至通信装置20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器23以及其他可能的组件对存储器21的访问可在存储控制器22的控制下进行。
外设接口24将各种输入/输入装置耦合至中央处理器(central processingunit,CPU)以及存储器21。处理器23运行存储器21内的各种软件、指令以执行通信装置20的各种功能以及进行数据处理。
在一些实施例中,外设接口24,处理器23以及存储控制器22可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块25用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频模块25可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块25可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(global system for mobile communication,GSM)、增强型移动通信技术(enhanceddata GSM environment,EDGE),宽带码分多址技术(wide band code divisionmultipleaccess,W-CDMA),码分多址技术(code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,WiFi、网络电话(voice over internetprotocal,VoIP)、全球微波互联接入(world wide inter operability for microwaveaccess,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
近场通信模块26用于提供实现近场通信的接口,通信装置20可以通过近场通信模块26与其他设备进行短距离的近场通信以实现数据交换。
触控屏幕27在通信装置20与用户之间同时提供一个输出及输入界面。具体地,触控屏幕27向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕27还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕27显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。
按键模块28同样提供用户向通信装置20进行输入的接口,用户可以通过按下不同的按键以使通信装置20执行不同的功能。
需要说明的是,图2所示的结构仅为示意,通信装置20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
在一个示例中,图1中涉及到的鉴权服务器11可以为图3所示的通信装置30,也可以为包括图3所示的通信装置30的设备(例如:通信装置为鉴权服务器的芯片系统)。图3为本申请实施例提供的一种通信装置30的组成示意图,该通信装置30可以用于实现本申请实施例提供的身份鉴权方法中鉴权服务器的操作。
如图3所示,该通信装置30可以包括处理器31,存储器32、通信接口33、通信总线34。处理器31,存储器32以及通信接口33三者之间可以通过通信总线34连接。下面结合图3对通信装置30的各个构成部件进行介绍:
在本申请实施例中,处理器31是通信装置30的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器31是一个CPU,也可以是特定集成电路(application-specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field-programmable gate array,FPGA)。
其中,处理器31可以通过运行或执行存储在存储器32内的软件程序,以及调用存储在存储器32内的数据,执行通信装置30的各种功能。
作为一种实施例,处理器31可以包括一个或多个CPU,例如图3中所示的CPU 0和CPU 1。
作为一种实施例,通信装置30还可以包括其他处理器,例如图3中所示的处理器35,处理器35包括ASIC 0。通信装置30中的多个处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在本申请实施例中,存储器32可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器32可以独立于处理器31存在,即存储器32可以为处理器31外部的存储器,此时,存储器32可以通过通信总线34与处理器31相连接,用于存储指令或者程序代码。处理器31调用并执行存储器32中存储的指令或程序代码时,能够实现本申请下述实施例提供的身份鉴权方法。
另一种可能的实现方式中,存储器32也可以和处理器31集成在一起,即存储器32可以为处理器31的内部存储器,例如,该存储器32为高速缓存,可以用于暂存一些数据和/或指令信息等。
在本申请实施例中,通信接口33,用于使用任何收发器一类的装置,与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。通信接口33可以包括接收单元实现接收功能,以及发送单元实现发送功能。
在本申请实施例中,通信总线34,可以是工业标准体系结构(Industry StandardArchitecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图3中示出的设备结构并不构成对该通信装置30的限定,除图3所示部件之外,该通信装置30可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合附图对本申请实施例提供的身份鉴权方法进行描述。
如图4所示,本申请实施例提供的身份鉴权方法包括:
S400、设备族中的设备完成连接认证。
设备族中的设备完成连接认证后,建立连接的两个设备之间可以相互传输数据。
例如:智能手表向智能手机发送连接认证请求,要求智能手机进行认证操作;若智能手机与智能手环认证成功,则二者建立蓝牙持续连接,并通过蓝牙传输数据,否则蓝牙连接中断。
可选的,设备族中的设备之间的连接认证可以为蓝牙连接认证操作,也可以为其他常规的无线连接认证操作,本申请实施例对此不作限定。
S401、第一设备获取通用令牌和密钥。
其中,通用令牌为鉴权服务器根据设备族的标识和第一预设加密算法生成的,密钥为鉴权服务器根据设备族的标识确定的。
可以看出,通用令牌和密钥均是针对设备族而言的,这样的话,设备族中的每个设备均可使用通用令牌和密钥。
在实际应用中,不同设备族可能与同一鉴权服务器通信,鉴权服务器需要根据设备族的标识区分不同设备族。
这里的第一设备可以为设备族中的主设备,也可以为设备族中的任意一个从设备。
若第一设备为设备族中的主设备,则该第一设备存储有设备族中每一设备的标识,该第一设备直接与鉴权服务器通信,获取通用令牌(token)和密钥。具体的,第一设备向鉴权服务器发送包括设备族的标识和设备族中每一设备的标识的鉴权请求,相应的,该第一设备接收鉴权服务器发送的通用令牌和密钥。
此外,在第一设备为设备族中的主设备的情况下,第一设备在获取到通用令牌和密钥后,还会向设备族中的每一从设备发送通用令牌和密钥。
若第一设备为设备族中的任意一个从设备,则该第一设备从主设备处获取通用令牌和密钥。具体的,第一设备接收主设备发送的通用令牌和密钥。
综上,本申请实施例中的主设备直接与鉴权服务器通信,获取通用令牌和密钥,之后,该主设备向设备族中的从设备发送通用令牌和密钥,无需每一从设备再单独与鉴权服务器通信,有效地简化了鉴权操作,提高了通信效率。
S402、第一设备根据密钥和第一设备的标识,生成该第一设备的设备令牌。
第一设备采用密钥对该第一设备的标识进行加密,以生成该第一设备的设备令牌。
容易理解的是,由于每一设备的标识不同,因此,第一设备生成的设备令牌与该第一设备唯一对应。
这里的密钥可以为鉴权服务器确定出的某一不对称加密算法中的公钥(这种情况下,鉴权服务器存储有也与该公钥对应的私钥),也可以为某一对称加密算法中的密钥,本申请实施例对此不作限定。
S403、第一设备根据通用令牌和该第一设备的设备令牌,生成第一设备的鉴权令牌。
第一设备可以将通用令牌和该第一设备的设备令牌进行组合,以第一设备的生成鉴权令牌。本申请实施例对第一设备组合通用令牌和该第一设备的设备令牌的方式不作限定。
S404、第一设备向鉴权服务器发送第一设备的鉴权令牌。
在生成第一设备的鉴权令牌后,第一设备发送该第一设备的鉴权令牌,请求鉴权服务器的鉴权。
S405、鉴权服务器对接收到的鉴权令牌进行鉴权,并向第一设备发送鉴权结果。
鉴权服务器根据第一设备的鉴权令牌,鉴定第一设备是否为安全合法的用户端及其操作。
在一种实现方式中,若密钥为鉴权服务器确定出的某一对称加密算法中的密钥,则鉴权服务器可以根据该密钥和主设备发送的设备族中每一设备的标识,确定出每一设备的设备令牌,之后,鉴权服务器结合通用令牌,确定并存储每一设备的鉴权令牌。这样,在接收到第一设备发送的第一设备的鉴权令牌后,鉴权服务器可以判断自身存储的第一设备的鉴权令牌与接收到的鉴权令牌是否相同。若相同,则说明第一设备为安全合法的用户端。若不相同,则说明第一设备为非法用户端,鉴权服务器阻止该第一设备的访问。
在另一种实施例中,若密钥为鉴权服务器确定出的公钥,则鉴权服务器可以存储于该公钥对应的私钥,这样,鉴权服务器在接收到第一设备的鉴权令牌后,可以对第一设备的鉴权令牌中的设备令牌采用私钥进行解密,以得到设备标识,进一步地,鉴权服务器判断得到的设备标识与第一设备的标识是否相同。若相同,则说明第一设备为安全合法的用户端。若不相同,则说明第一设备为非法用户端,鉴权服务器阻止该第一设备的访问。
除了上述描述外,若第一设备为设备族中的主设备,则该第一设备还能够获取到设备族中新增设备的标识,这样,第一设备需要及时通知鉴权服务器,以便于鉴权服务器及时为设备族中的新增设备分配通用令牌和密钥,提高新增设备的鉴权效率和通信效率。
当然,若第一设备为设备族中的主设备,则该第一设备也能确定出已经退出设备族的设备的标识,这样,第一设备需要及时通知鉴权服务器,以便于鉴权服务器更新设备族中每一设备的标识,有效地防止非法用户的访问,保证了数据的安全性。
综上,设备族中的每一设备在获取到通用令牌和密钥后,可自行生成该设备的鉴权令牌,并直接与鉴权服务器通信,无需再通过其他设备,有效地提高了鉴权的效率。
此外,鉴权令牌包括通用令牌和与设备唯一对应的设备令牌,且通用令牌和设备令牌是不同设备生成的,只有在通用令牌和设备令牌均正确的情况下,才能鉴权成功,有效地提高了数据和系统的安全性。
为了便于理解,现在以设备族中的主设备、从设备(以一个为例)与鉴权服务器的通信过程对本申请实施例提供的身份鉴权方法进行说明。
如图5所示,本申请实施例提供的身份鉴权方法包括:
S500、主设备向鉴权服务器发送包括设备族的标识和设备族中每一设备的标识的鉴权请求。
主设备存储有设备族中每一设备的标识,以及该设备族的族标识。在设备族中的设备建立连接后,主设备向鉴权服务器发送鉴权请求,用于请求获取通用令牌和密钥。
S501、鉴权服务器对主设备进行鉴权。
S502、在确定主设备合法的情况下,鉴权服务器根据设备族的标识和第一预设加密算法,生成通用令牌。
可选的,第一预设加密算法为现有技术中的任意一种对称加密算法,也可以为现有技术中的任意一种不对称加密算法,本申请实施例对此不作限定。
S503、鉴权服务器根据设备族的标识,确定密钥。
其中,密钥可以为鉴权服务器确定出的某一不对称加密算法中的公钥(这种情况下,鉴权服务器存储有也与该公钥对应的私钥),也可以为某一对称加密算法中的密钥,本申请实施例对此不作限定。
可以看出,本申请实施例中鉴权服务器确定出的通用令牌和密钥是针对整个设备族中,设备族中的每一设备均可以使用该通用令牌和密钥。
鉴权服务器在确定出通用令牌和密钥后,可以存储该通用令牌和密钥。
S504、鉴权服务器向主设备发送通用令牌和密钥。
S505、主设备根据密钥和主设备的标识,生成设备令牌1。
设备令牌1与主设备唯一对应,即设备令牌1为主设备的设备令牌。
S506、主设备生成包括通用令牌和设备令牌1的鉴权令牌1。
鉴权令牌1与主设备唯一对应,即鉴权令牌1为主设备的鉴权令牌。
S507、主设备向鉴权服务器发送鉴权令牌1。
S508、鉴权服务器对鉴权令牌1进行鉴权,并向主设备发送鉴权结果。
S508可以参考上述S405的描述,这里不再进行详细赘述。
S509、主设备向从设备发送通用令牌和密钥。
主设备在获取到通用令牌和密钥后,向每一从设备发送该通用令牌和密钥,以便于从设备生成与该从设备唯一对应的鉴权令牌。
本申请实施例在S504之后,可以先执行S505,后执行S509;也可以先执行S507,后执行S504;还可以同时执行S504和S507,本申请实施例对此不作限定。
S510、从设备根据密钥和从设备的标识,生成设备令牌2。
备令牌2与从设备唯一对应,即设备令牌2为从设备的设备令牌。
S511、从设备生成包括通用令牌和设备令牌2的鉴权令牌2。
鉴权令牌2与从设备唯一对应,即鉴权令牌2为从设备的鉴权令牌。
S512、从设备向鉴权服务器发送鉴权令牌2。
S513、鉴权服务器对鉴权令牌2进行鉴权,并向从设备发送鉴权结果。
S513可以参考上述S405的描述,这里不再进行详细赘述。
在图5示出的流程之后,若设备族中新添加某一从设备,则主设备需要及时通知鉴权服务器,以便于该鉴权服务器同意为该从设备分配通用令牌和密钥。图6示出了这一过程。
如图6所示,本申请实施例提供的身份鉴权方法包括:
S600、主设备确定设备族中新添加有从设备1。
S601、主设备向鉴权服务器发送包括从设备1的标识的第一消息。
该第一消息用于指示从设备1为新添加到设备族中的设备。
S602、鉴权服务器更新设备族中设备的标识,并向主设备发送用于指示为从设备1发放令牌的第二消息。
S603、主设备向从设备1发送通用令牌和密钥。
在S603之后,从设备1和鉴权服务器执行上述S510~S513。
主设备及时通知鉴权服务器设备族中新添加有从设备1,以便于鉴权服务器及时为从设备1分配通用令牌和密钥,提高从设备1的鉴权效率和通信效率。
在图5示出的流程之后,若设备族中退出某一从设备,则主设备需要及时通知鉴权服务器,以便于该鉴权服务器确定移除该从设备的令牌。图7示出了这一过程。
如图7所示,本申请实施例提供的身份鉴权方法包括:
S700、主设备确定设备族中的从设备2已经退出。
也就是说,从设备2与设备族中的设备均断开连接。
S701、主设备向鉴权服务器发送包括从设备2的标识的第一消息。
该第一消息用于指示从设备2已经退出设备族。
S702、鉴权服务器更新设备族中设备的标识,并向主设备发送用于指示移除从设备2的令牌的第二消息。
这样,后续从设备2再利用之前生成的鉴权令牌与鉴权服务器通信,鉴权服务器可阻止该从设备2的访问,有效地保证了数据的安全性。
综上,相比于现有技术,本申请实施例提供的身份鉴权方法有效地简化了鉴权操作,缩短了鉴权的交互时间,提高了鉴权效率。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对设备族中的设备和鉴权服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图8示出了的一种电子设备80的组成示意图,该电子设备80可以用于执行上述实施例中涉及的第一设备、主设备或从设备的功能。作为一种可实现方式,图8所示电子设备80包括:获取单元81,生成单元82和通信单元83。
获取单元81用于支持该电子设备80执行上述图4~图7中任一附图所示的获取等操作,例如:S400,和/或用于本文所描述的技术的其它过程。
生成单元82用于支持该电子设备80执行上述图4~图7中任一附图所示的生成等操作,例如:S402,S403,S505,S506,S510,S511,和/或用于本文所描述的技术的其它过程。
通信单元83用于支持该电子设备80执行上述图4~图7中任一附图所示的发送、接收等操作,例如:S404,S500,S504,S509,S512,S601,S603,S701,S702和/或用于本文所描述的技术的其它过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,本申请实施例提供的电子设备80包括但不限于上述模块,例如电子设备80还可以包括存储单元84。
存储单元84可以用于存储该电子设备80的程序代码等。
可选的,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。本申请实施例提供的电子设备,用于执行上述数据流控制方法中网络设备的功能,因此可以达到与上述数据流控制方法相同的效果。
本申请提供的电子设备80的实体框图可以参考上述图2。上述获取单元81和通信单元83可以是图2中的设备接口24,生成单元82可以是图2中的处理器23,存储单元84可以是图2中的存储器21。
图9示出了的一种服务器90的组成示意图,该服务器90可以用于执行上述实施例中涉及的鉴权服务器的功能。作为一种可实现方式,图9所示服务器90包括:接收单元91,鉴权单元92和发送单元93。
接收单元91用于支持该服务器90执行上述图5~图7中任一附图所示的接收等操作,例如:S500,S601,和/或用于本文所描述的技术的其它过程。
鉴权单元92用于支持该服务器90执行上述图5~图7中任一附图所示的鉴权等操作,例如:S501,S508,S513,和/或用于本文所描述的技术的其它过程。
发送单元93用于支持该服务器90执行上述图5~图7中任一附图所示的生成等操作,例如:S504,和/或用于本文所描述的技术的其它过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,本申请实施例提供的服务器90包括但不限于上述模块,例如服务器90还可以包括存储单元94、确定单元95、生成单元96和更新单元97。
存储单元94可以用于存储该服务器90的程序代码等。
确定单元95可以用于支持该服务器90执行上述图5~图7中任一附图所示的确定等操作,例如:S503,和/或用于本文所描述的技术的其它过程。
生成单元96可以用于支持该服务器90执行上述图5~图7中任一附图所示的生成等操作,例如:S502,和/或用于本文所描述的技术的其它过程。
更新单元97可以用于支持该服务器90执行上述图5~图7中任一附图所示的更新等操作,例如:S602,S702,和/或用于本文所描述的技术的其它过程。
可选的,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。本申请实施例提供的服务器,用于执行上述数据流控制方法中网络设备的功能,因此可以达到与上述数据流控制方法相同的效果。
本申请提供的服务器90的实体框图可以参考上述图3。上述接收单元91和发送单元93可以是图3中的通信接口33,鉴权单元92、确定单元95、生成单元96和更新单元97可以是图3中的处理器31,存储单元94可以是图3中的存储器32。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。