首页 / 专利库 / 人工智能 / 回复生成 / 一种认证方法、服务器和客户端

一种认证方法、服务器和客户端

阅读:466发布:2020-05-11

专利汇可以提供一种认证方法、服务器和客户端专利检索,专利查询,专利分析的服务。并且本 申请 提供了一种认证方法,客户端向 服务器 发送登录报文,服务器接收客户端的登录报文后,向客户端发送回复报文。客户端接收服务器的回复报文。由于,服务器向客户端发送的回复报文中包括登录报文的 摘要 ,因此,客户端可以依据摘要以及登录报文的本地摘要对服务器进行身份认证。在客户端确认摘要与登录报文的本地摘要相同的情况下,向服务器发送挑战报文。由于客户端向服务器发送的登录报文中包括该客户端的标识,并且客户端向服务器发送的挑战报文中包括使用私钥对预设数据签名后得到的认证数据,因此,服务器可以使用客户端的标识从工业互联网体系获取该客户端的公钥,并基于该公钥和认证数据对客户端进行身份认证。综上,完成双向认证。,下面是一种认证方法、服务器和客户端专利的具体信息内容。

1.一种认证方法,其特征在于,包括:
服务器接收客户端的登录报文后,向所述客户端发送回复报文,所述登录报文包括所述客户端的标识,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要,所述摘要用于所述客户端对所述服务器进行认证;
所述服务器接收所述客户端的挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;
所述服务器获取所述客户端的标识在所述工业互联网体系中对应的索引值,所述索引值包括所述私钥对应的公钥;
所述服务器基于所述公钥和所述认证数据,对所述客户端进行身份认证。
2.根据权利要求1所述的方法,其特征在于,所述登录报文还包括:
所述客户端的索引值,所述索引值包括所述公钥;其中,所述客户端的所述标识和所述公钥构成所述客户端的用户名。
3.根据权利要求2所述的方法,其特征在于,所述服务器获取所述客户端的标识在所述工业互联网体系中对应的索引值,包括:
所述服务器向所述工业互联网体系发送查询请求,所述查询请求包括所述标识;
在所述工业互联网体系命中所述标识的情况下,接收所述工业互联网体系响应于所述查询请求发送的所述公钥。
4.根据权利要求3所述的方法,其特征在于,所述查询请求还包括:
所述索引值,所述索引值用于所述工业互联网体系命中所述公钥。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述预设数据还包括:所述服务器生成的随机数。
6.根据权利要求1所述的方法,其特征在于,所述基于所述公钥和所述预设数据,对所述客户端进行身份认证,包括:
使用所述公钥解密所述认证数据,得到对比数据;
在所述对比数据与所述服务器生成的所述预设数据相同的情况下,确定所述客户端身份认证成功,否则,确定所述客户端身份认证失败。
7.根据权利要求1所述的方法,其特征在于,还包括:
所述服务器接收所述客户端发送的操作请求,所述操作请求包括操作的类型和操作对象的标识;
所述服务器从所述工业互联网体系获取所述操作对象的标识对应的权限对象的标识、以及所述客户端的操作权限;
在所述客户端的标识包括在所述权限对象的标识中、且所述操作的类型包括在所述操作权限的情况下,所述服务器响应所述操作请求。
8.根据权利要求7所述的方法,其特征在于,所述操作对象的标识对应的权限对象的标识,由所述操作对象所属的企业节点设置;
所述客户端的操作权限由所述客户端所属的企业节点设置。
9.一种认证方法,其特征在于,包括:
客户端向服务器发送登录报文,所述登录报文包括所述客户端的标识;
所述客户端接收所述服务器的回复报文,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要;
在所述客户端确认所述摘要与所述登录报文的本地摘要相同的情况下,向所述服务器发送挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;所述认证数据用于所述服务器对所述客户端进行身份认证。
10.根据权利9所述的方法,其特征在于,所述登录报文还包括:
所述客户端的索引值,所述索引值包括所述公钥;其中,所述客户端的所述标识和所述公钥构成所述客户端的用户名。
11.根据权利10所述的方法,其特征在于,所述用户名的获取方法包括:
所述客户端向所述工业互联网体系发送注册请求,并获取所述工业互联网体系为所述客户端分配的所述标识;
所述客户端获取所述标识对应的密钥对,所述密钥对包括所述私钥和所述公钥。
12.根据权利9-11任一项所述的方法,其特征在于,所述预设数据还包括:所述服务器生成的随机数。
13.一种服务器,其特征在于,包括:
回复报文发送器,用于接收客户端的登录报文后,向所述客户端发送回复报文,所述登录报文包括所述客户端的标识,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要,所述摘要用于所述客户端对所述服务器进行认证;
挑战报文接收器,用于接收所述客户端的挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;
索引值获取器,用于获取所述客户端的标识在所述工业互联网体系中对应的索引值,所述索引值包括所述私钥对应的公钥;
身份认证器,用于基于所述公钥和所述认证数据,对所述客户端进行身份认证。
14.一种客户端,其特征在于,包括:
登录报文发送器,用于向服务器发送登录报文,所述登录报文包括所述客户端的标识;
回复报文接收器,用于接收所述服务器的回复报文,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要;
挑战报文发送器,用于在所述客户端确认所述摘要与所述登录报文的本地摘要相同的情况下,向所述服务器发送挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;所述认证数据用于所述服务器对所述客户端进行身份认证。
15.一种服务器,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~8中任一项所述的认证方法的各个步骤。
16.一种客户端,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求9~12中任一项所述的认证方法的各个步骤。

说明书全文

一种认证方法、服务器和客户端

技术领域

[0001] 本申请涉及信息安全技术领域,更具体地说,涉及一种认证方法、服务器以及客户端。

背景技术

[0002] 在互联网上进行任何电子交易时,身份认证是电子交易中必不可少的一部分,工业互联网体系也是如此。为了提高互联网的安全性,双向身份认证被越来越多应用。
[0003] 在工业互联网中,面对数倍于互联网的解析数据以及存储数据量,不仅要考虑到安全性,还要考虑认证效率。而现有的基于CA(Certificate Authority,证书颁发机构)的互联网认证方法,实现流程繁琐,不适用于工业互联网体系,尤其不适用于工业互联网体系的双向认证。
[0004] 因此,如何实现工业互联网体系的高效的双向认证,成为目前亟待解决的问题。发明内容
[0005] 有鉴于此,本申请提供了一种认证方法、服务器以及客户端,用于实现工业互联网体系的高效的双向认证,如下:
[0006] 一种认证方法,应用于服务器,包括:
[0007] 接收客户端的登录报文后,向所述客户端发送回复报文,所述登录报文包括所述客户端的标识,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要,所述摘要用于所述客户端对所述服务器进行认证;
[0008] 接收所述客户端的挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;
[0009] 获取所述客户端的标识在所述工业互联网体系中对应的索引值,所述索引值包括所述私钥对应的公钥;
[0010] 基于所述公钥和所述认证数据,对所述客户端进行身份认证。
[0011] 可选地,登录报文还包括:
[0012] 所述客户端的索引值,所述索引值包括所述公钥;其中,所述客户端的所述标识和所述公钥构成所述客户端的用户名。
[0013] 可选地,获取所述客户端的标识在所述工业互联网体系中对应的索引值,包括:
[0014] 向所述工业互联网体系发送查询请求,所述查询请求包括所述标识;
[0015] 在所述工业互联网体系命中所述标识的情况下,接收所述工业互联网体系响应于所述查询请求发送的所述公钥。
[0016] 可选地,查询请求还包括:
[0017] 所述索引值,所述索引值用于所述工业互联网体系命中所述公钥。
[0018] 可选地,预设数据还包括:所述服务器生成的随机数。
[0019] 可选地,基于所述公钥和所述预设数据,对所述客户端进行身份认证,包括:
[0020] 使用所述公钥解密所述认证数据,得到对比数据;
[0021] 在所述对比数据与所述服务器生成的所述预设数据相同的情况下,确定所述客户端身份认证成功,否则,确定所述客户端身份认证失败。
[0022] 可选地,本认证方法还包括:
[0023] 接收所述客户端发送的操作请求,所述操作请求包括操作的类型和操作对象的标识;
[0024] 从所述工业互联网体系获取所述操作对象的标识对应的权限对象的标识、以及所述客户端的操作权限;
[0025] 在所述客户端的标识包括在所述权限对象的标识中、且所述操作的类型包括在所述操作权限的情况下,响应所述操作请求。
[0026] 可选地,操作对象的标识对应的权限对象的标识,由所述操作对象所属的企业节点设置;
[0027] 所述客户端的操作权限由所述客户端所属的企业节点设置。
[0028] 一种认证方法,应用于客户端,包括:
[0029] 向服务器发送登录报文,所述登录报文包括所述客户端的标识;
[0030] 接收所述服务器的回复报文,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要;
[0031] 在确认所述摘要与所述登录报文的本地摘要相同的情况下,向所述服务器发送挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;所述认证数据用于所述服务器对所述客户端进行身份认证。
[0032] 可选地,登录报文还包括:
[0033] 所述客户端的索引值,所述索引值包括所述公钥;其中,所述客户端的所述标识和所述公钥构成所述客户端的用户名。
[0034] 可选地,用户名的获取方法包括:
[0035] 向所述工业互联网体系发送注册请求,并获取所述工业互联网体系为所述客户端分配的所述标识;
[0036] 获取所述标识对应的密钥对,所述密钥对包括所述私钥和所述公钥。
[0037] 可选地,预设数据还包括:所述服务器生成的随机数。
[0038] 一种服务器,包括:
[0039] 回复报文发送器,用于接收客户端的登录报文后,向所述客户端发送回复报文,所述登录报文包括所述客户端的标识,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要,所述摘要用于所述客户端对所述服务器进行认证;
[0040] 挑战报文接收器,用于接收所述客户端的挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;
[0041] 索引值获取器,用于获取所述客户端的标识在所述工业互联网体系中对应的索引值,所述索引值包括所述私钥对应的公钥;
[0042] 身份认证器,用于基于所述公钥和所述认证数据,对所述客户端进行身份认证。
[0043] 一种客户端,包括:
[0044] 登录报文发送器,用于向服务器发送登录报文,所述登录报文包括所述客户端的标识;
[0045] 回复报文接收器,用于接收所述服务器的回复报文,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要;
[0046] 挑战报文发送器,用于在所述客户端确认所述摘要与所述登录报文的本地摘要相同的情况下,向所述服务器发送挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;所述认证数据用于所述服务器对所述客户端进行身份认证。
[0047] 一种服务器,包括:存储器和处理器;
[0048] 所述存储器,用于存储程序;
[0049] 所述处理器,用于执行所述程序,实现如上所述的应用于服务器的认证方法中的各个步骤。
[0050] 一种客户端,包括:存储器和处理器;
[0051] 所述存储器,用于存储程序;
[0052] 所述处理器,用于执行所述程序,实现如上所述的应用于客户端的认证方法中的各个步骤。
[0053] 由上述的技术方案可以看出,本申请提供的认证方法中,客户端向服务器发送登录报文,服务器接收客户端的登录报文后,向客户端发送回复报文。客户端接收服务器的回复报文。由于,服务器向客户端发送的回复报文中包括登录报文的摘要,因此,客户端可以依据摘要以及登录报文的本地摘要对服务器进行身份认证。进一步,在客户端确认摘要与登录报文的本地摘要相同的情况下,向服务器发送挑战报文。由于,客户端向服务器发送的登录报文中包括该客户端的标识,并且,客户端向服务器发送的挑战报文中包括使用私钥对预设数据签名后得到的认证数据,因此,服务器可以使用客户端的标识从工业互联网体系获取该客户端的公钥,并基于该公钥和认证数据对客户端进行身份认证。综上,本申请提供的认证方法可以实现服务器与客户端的双向认证。提高了安全性。并且,本申请提供的认证方法基于密钥对(即公私钥对)进行认证,与传统的CA认证相比,流程简单,大大提高了认证效率。附图说明
[0054] 为了更清楚地说明本申请实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0055] 图1示例了本申请实施例提供的一种认证方法的信令图;
[0056] 图2示例了本申请实施例提供的一种认证过程的示意图;
[0057] 图3示例了用户user1登录企业B的过程示意图;
[0058] 图4示例了本申请实施例提供的一种服务器的结构示意图;
[0059] 图5示例了本申请实施例提供的一种服务器设备的结构示意图;
[0060] 图6示例了本申请实施例提供的一种客户端的结构示意图;
[0061] 图7示例了本申请实施例提供的一种客户端设备的结构示意图。

具体实施方式

[0062] 在工业互联网体系中进行电子交易时,为了保证电子交易的安全性,需要进行客户端和服务器的双向身份认证。具体地,客户端需要登录服务器,再进行电子交易。登录过程中,服务器需要认证当前的客户端是否是合法用户,并且,由于工业互联网体系中包括多个服务器,所以,客户端也需要认证当前的服务器是正确的交易服务器。例如,客户端A1和服务器B1的双向认证包括:服务器B1认证客户端A1是否是合法用户,客户端A1认证服务器B1是正确的交易服务器,即客户端A1确认登录的服务器是服务器B1,而不是其他的服务器。可以理解的是,上述过程需要客户端向服务器发送登录请求。
[0063] 目前,公钥基础设施(Public Key Infrastructure,简称PKI)网络安全建设的基础与核心,是电子商务安全实施的基本保障。其中,在利用公钥技术进行身份认证时,现有的PKI体系需要引入一个CA,即证书颁发机构,为各个设备颁发数字证书。数字证书除了包含待认证设备的信息以外,还有一个重要的功能是存储待认证设备的公钥。其中待认证设备可以是需要认证的客户端,也可以是需要认证的服务器。现有的PKI体系中存在很多不同的CA,其PKI可能使用不同的结构、不同的安全策略和密钥算法体系。当使用现有的PKI-CA体系进行客户端和服务器的双向身份认证的时候,存在认证过程非常繁琐且效率低下的缺点。
[0064] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0065] 图1示例了本申请实施例提供的一种认证方法的流程图,其中,通过客户端和服务器的数据交互完成双向认证,具体的实现方式包括以下步骤:
[0066] S101、客户端向服务器发送登录报文。
[0067] 具体地,登录报文包括客户端的标识。可选地,标识的获取方法可以为,客户端向工业互联网体系发送注册请求,并获取工业互联网体系为其分配的标识。该标识即为该客户端在工业互联网体系中的唯一标识。本实施例中的标识与普通的标识语法一样。
[0068] S102、服务器接收客户端的登录报文后,向客户端发送回复报文。
[0069] 其中,回复报文包括预设数据,预设数据至少包括登录报文的摘要。可选地,该摘要由服务器依据登录报文生成。
[0070] S103、客户端接收服务器的回复报文,并确认摘要与登录报文的本地摘要是否相同。
[0071] 其中,客户端接收到的回复报文中包括预设数据,并且预设数据中至少包括登录报文的摘要。由于,登录报文是由客户端生成并发送至服务器的,所以客户端预先记录有该登录报文的本地摘要。因此,预设数据中的摘要可以用于客户端对服务器进行认证。本实施例中,客户端对服务器的认证过程可以包括:确认摘要与登录报文的本地摘要是否相同。
[0072] 显然,当摘要与登录报文的本地摘要不相同,表示该服务器不是客户端的目标服务器,则客户端对服务器的认证失败。当摘要与登录报文的本地摘要相同,表示该服务器是客户端的目标服务器,则客户端对服务器的认证成功。
[0073] 本步骤认证成功后,进一步执行下述S104。
[0074] S104、在客户端确认摘要与登录报文的本地摘要相同的情况下,向服务器发送挑战报文。
[0075] 其中,挑战报文包括认证数据,认证数据由客户端使用私钥对预设数据进行签名生成。
[0076] S105、服务器接收客户端的挑战报文,并获取客户端的标识在工业互联网体系中对应的索引值。
[0077] 其中,挑战报文中的认证数据由客户端使用私钥对预设数据进行签名生成。
[0078] 在工业互联网系统中,每一客户端唯一对应于一个标识,每一标识对应于一个索引值。其中,索引值包括公钥。该公钥与其对应的标识所指示的客户端的私钥唯一对应,即属于一个密钥对。
[0079] 本实施例中,服务器获取的客户端的标识在工业互联网体系中对应的索引值中,包括与该客户端用于对预设数据进行签名的私钥所对应的公钥。因此,服务器接收到的认证数据可以用于该服务器对客户端进行身份认证。
[0080] S106、服务器基于公钥和认证数据,对客户端进行身份认证。
[0081] 因为,服务器接收到的认证数据是服务端使用私钥对预设数据进行签名生成的,并且公钥与该私钥对应。所以本实施例中,首先使用公钥解密认证数据,得到对比数据。进一步将对比数据与预设数据进行对比,确认对比数据与预设数据是否相同。
[0082] 在对比数据与服务器生成的预设数据相同的情况下,确定客户端身份认证成功,在对比数据与服务器生成的预设数据相同的情况下,确定客户端身份认证失败。
[0083] 由上述的技术方案可以看出,本申请提供的认证方法中,客户端向服务器发送登录报文,服务器接收客户端的登录报文后,向客户端发送回复报文。客户端接收服务器的回复报文。由于,服务器向客户端发送的回复报文中包括登录报文的摘要,因此,客户端可以依据摘要以及登录报文的本地摘要对服务器进行身份认证。进一步,在客户端确认摘要与登录报文的本地摘要相同的情况下,向服务器发送挑战报文。由于,客户端向服务器发送的登录报文中包括该客户端的标识,并且,客户端向服务器发送的挑战报文中包括使用私钥对预设数据签名后得到的认证数据,因此,服务器可以使用客户端的标识从工业互联网体系获取该客户端的公钥,并基于该公钥和认证数据对客户端进行身份认证。综上,本申请提供的认证方法可以实现服务器与客户端的双向认证。提高了电子交易的安全性。并且,本申请提供的认证方法基于密钥对(即公私钥对)进行认证,与传统的CA认证相比,流程简单,大大提高了认证效率。
[0084] 本申请实施例提供的认证方法的一种可选的应用场景为工业互联网体系中的身份认证过程。具体地,工业互联网体系包括企业节点服务器(即上述实施例中的服务器)、递归服务器、标识业务数据库、和标识查询服务器。可选的,以上部分可以设置在一个实体上,也可以,企业节点服务器、标识业务数据库、和标识查询服务器设置在一个实体上,递归服务器设置在另一个实体上。也可以其它方式。
[0085] 图2为本申请实施例提供的一种认证过程的示意图,其中企业节点服务器、标识业务数据库、和标识查询服务器设置于同一实体(本地),递归服务器设置在另一个实体上,认证过程具体可以包括:
[0086] S201、客户端向企业节点服务器发送登录报文。
[0087] 具体地,登录报文包括客户端的标识,还包括:客户端的索引值。其中,索引值至少包括公钥。可选地,索引值包括多个字段,其中使用一个字段存放公钥。本实施例索引值的数据类型为HS_PUBKEY,数据结构可以参照表1,如下:
[0088] 表1
[0089]
[0090] 可以理解的是,该公钥为客户端的私钥对应的公钥。本实施例中,客户端的标识和公钥构成客户端的用户名。也即,任一客户端具有唯一的标识,该标识对应于一个公钥。客户端的用户名的获取方法包括:
[0091] 首先,客户端向服务器发送注册请求,并获取服务器为客户端分配的标识。需要说明的是,该服务器为工业互联网体系中的任一服务器,本实施例对此不做赘述。进一步,客户端获取该标识对应的密钥对,密钥对包括私钥和公钥,私钥和公钥符合标准PKI体系中公私存贮要格式。可选地,密钥对可以由客户端生成,或者由服务器预先生成并分配至客户端,或者由密钥生成器生成并发送至客户端。
[0092] 需要说明的是,私钥由客户端保存,用于客户端对预设数据进行签名生成认证数据。公钥用于与标识共同构成客户端的用户名,还存放在工业互联网体系中的服务器中,用于服务器对客户端的认证。可以理解的是,工业互联网体系中保存每一客户端的用户名。
[0093] S202、企业节点服务器接收客户端的登录报文后,向客户端发送回复报文。
[0094] 具体地,回复报文中包括:预设数据,预设数据包括登录报文的摘要,还可以包括企业节点服务器生成的随机数。
[0095] S203、客户端接收企业节点服务器的回复报文,并确认摘要与登录报文的本地摘要是否相同。当摘要与登录报文的本地摘要相同,则客户端对企业节点服务器的认证成功。进一步,在客户端确认摘要与登录报文的本地摘要相同的情况下,向企业节点服务器发送挑战报文。其中,挑战报文包括认证数据,认证数据由客户端使用私钥对预设数据进行签名生成。
[0096] 可以理解的是,当摘要与登录报文的本地摘要不相同,则客户端对企业节点服务器的认证失败。
[0097] S204、企业节点服务器接收客户端的挑战报文,并向标识查询服务器发送请求。
[0098] S205、标识查询服务器向递归服务器发送查询请求,查询客户端的标识在工业互联网体系中对应的索引值。
[0099] 具体地,标识查询服务器向递归服务器发送的查询请求中包括客户端的标识。该查询请求用于递归服务器依据该标识查找预先记录的用户名中是否存在该标识,若存在,则工业互联网体系命中该标识,若不存在,则工业互联网体系没有命中该标识。
[0100] S206、标识查询服务器接收递归服务器的查询结果,并将解析后的查询结果发送至企业节点服务器。
[0101] 具体地,在工业互联网体系命中该标识的情况下,标识查询服务器接收递归服务器响应于查询请求发送的客户端的公钥。可以理解的是,该公钥为客户端的用户名中的索引值包括的公钥。可选地,在工业互联网体系没有命中该标识的情况下,标识查询服务器接收递归服务器反馈信息,该反馈信息中可以包括查询错误提示。
[0102] 由于,客户端向服务器发送的登录报文还包括客户端的索引值,所以,上述查询请求还可以包括该索引值。索引值用于工业互联网体系命中公钥。可选地,该查询请求还用于递归服务器依据该索引值查找预先记录的用户名中是否存在该索引值。若存在,则递归服务器直接将索引值中包括的公钥发送至服务器,以提高查询效率。
[0103] S207、企业节点服务器依据获取的公钥,对挑战报文汇中的认证数据进行验签。验签的具体实现方式可以参照上述实施例中的S106。
[0104] S208、若验签成功,企业节点服务器向客户端返回登录成功报文。若验签失败,企业节点服务器向客户端返回登录失败报文。
[0105] 需要说明的是,因为客户端是工业互联网体系中的,不一定刚好存在该客户端需要登录的企业节点服务器上,即有可能存在工业互联网的其他节点服务器上。在这种情况下,可以用递归服务器来完成查询步骤,完成当前客户端在工业互联网体系中的认证。
[0106] 例如,用户user1不存在于企业B上的任一服务器,但是存在于服务器s上,所以当用户user1需要登录企业B时,需要将服务器s作为递归服务器来完成查询步骤。图3示例了用户user1登录企业B的认证过程。可以包括:
[0107] A1、用户user1发送登录报文至企业B。
[0108] A2、企业B发送回复报文至用户user1。
[0109] A3、用户user1依据回复报文完成对企业B的认证。
[0110] A4、用户user1发送挑战报文。
[0111] A5、企业B向服务器s发送用户user1的标识,以查询用户user1的公钥。
[0112] A6、服务器s使用用户user1的标识在服务器s中查询用户user1的公钥,并向企业B返回公钥。
[0113] A7、企业B使用公钥以及挑战报文对用户user1进行认证。
[0114] A8、企业B基于上述A3和A7的认证结果,向用户user1返回登录成功或登录失败报文。
[0115] 需要说明的是,上述A1~A8的具体实现过程可以参照前述,本实施例在此不作赘述。
[0116] 进一步需要说明的是,在工业互联网体系中,客户端可以对标识进行操作,但是不同的客户端对标识的操作权限不同,所以需要对每一客户端的操作权限进行认证。具体地,服务器接收客户端发送的操作请求,操作请求包括操作的类型和操作对象的标识。服务器从工业互联网体系获取操作对象的标识对应的权限对象的标识、以及客户端的操作权限。在客户端的标识包括在权限对象的标识中、且操作的类型包括在操作权限的情况下,服务器响应操作请求。
[0117] 如图2中的S209~S2016,示出了本实施例的提供的一种权限认证方法的具体实现过程,可以包括:
[0118] S209、企业节点服务器接收客户端发送的操作请求。
[0119] 其中,操作请求由客户端响应用户请求生成,操作请求包括操作的类型和操作对象的标识。可选地,操作类型可以包括:增加、删除、修改、查询、或修改权限对象中的一项或多项。
[0120] S2010、企业节点服务器根据操作请求,从标识业务数据库查询出客户端的操作权限。
[0121] 需要说明的是,本实施例中工业互联网体系预先使用HS_ADMIN的类型,设置每一客户端的操作权限,操作权限可以包括:增加、删除、修改、查询、修改权限对象中的任一项或多项。可选地,操作权限值可以作为索引值中的一个字段,保存在工业互联网体系中的客户端的标识对应的索引值中。
[0122] 表2为索引值的示例,其中,既包括客户端的操作权限,也包括客户端的用户名(如前所述),操作权限与用户名分别存在索引值的不同字段中,如下:
[0123] 表2
[0124]
[0125] 对于任一客户端,上述配置可以由该客户端所属的企业节点服务器进行配置,并且,同一客户端可以由不同的企业节点服务器进行不同的配置。
[0126] 本实施例中,企业节点服务器对登录的客户端的用户名以及操作权限预先进行缓存,所以,本步骤企业节点服务器可以从标识业务数据库中获取预先缓存的客户端的操作权限。
[0127] S2011、企业节点服务器向标识查询服务器发送请求,请求查询操作对象的标识对应的权限对象的标识。
[0128] 工业互联网体系给每一客户端配置权限对象,即,对于第一客户端的标识,对该标识配置可以对其进行操作的第二客户端的标识,则第二客户端即为第一客户端的权限对象。具体的,对于任意一个客户端配置管理员组,管理员组中包括具有对该客户端进行操作的客户端的标识。
[0129] S2012、标识查询服务器向递归服务器发送权限查询请求,权限查询请求中包括操作对象的标识。
[0130] 具体地,递归服务器可以基于操作对象的标识提取操作对象的标识对应的权限对象的标识。可以理解的是,可以包括权限对象可以包括多个。
[0131] 需要说明的是,标识查询服务器可以看作企业节点服务器与递归服务器中的中介设备,用于将两端交互的数据进行预设格式的封装等功能。
[0132] S2013、标识查询服务器接收递归服务器响应于权限查询请求发送的查询结果,并将解析后的查询结果发送至企业节点服务器。
[0133] S2014、企业节点服务器接收查询结果,并依据操作对象的标识对应的权限对象,判断发送操作请求的客户端是否具有操作权限。
[0134] S2015、在客户端的标识包括在权限对象的标识中、且操作的类型包括在操作权限的情况下,企业节点服务器响应操作请求。
[0135] 具体地,客户端的标识包括在权限对象的标识中,表示该客户端是操作对象的权限对象,客户端具有对操作对象进行操作的权限。并且,操作的类型包括在操作权限中,表示该客户端具有进行该操作的类型所对应的操作的权限。企业节点服务器响应操作请求包括,对操作对象进行操作请求中指示的操作,并将修改数据保存至标识业务数据库。
[0136] 可选的,企业节点服务器也可以将操作对象的标识对应的权限对象的标识(例如管理员组)也在本地缓存,以提高后续查询的效率。S2016、企业节点服务器向客户端发送操作结果报文。
[0137] 需要说明的是,在客户端的标识不包括在权限对象的标识中,或操作的类型不包括在操作权限的情况下,服务器拒绝操作请求,并向客户端发送操作失败报文。
[0138] 需要说明的是,为了便于分别描述身份认证过程和权限认证过程,图2中企业节点服务器中包括两个模,即身份认证模块和权限认证模块。实际应用中,身份认证模块和权限认证模块可以为同一模块。本实施例对此不作限定。
[0139] 由上技术方案可以看出,本申请的认证方法中,由标识和索引值共同构成客户端的用户名,相比于传统的用户名命名方式,本实施例的客户端的用户名在保证客户端全局唯一特性的同时,降低了泄露险,并且增加在认证过程中被攻击或篡改的难度。由此保证了电子交易的安全性。
[0140] 进一步,本申请的认证方法中,在客户端不存在于要登录的企业节点服务器上的情况下,使用递归服务器完成查询。递归服务器响应于查询请求返回的数据中,可以包括IP地址、端口信息或者更为复杂的数据结构,该数据结构中包含服务器的具体属性信息、IP、端口和公钥等。可见使用递归服务器,使接口包含信息更加丰富,对系统复杂的操作提供了保证。
[0141] 进一步,服务器查询工业互联网体系是否命中客户端的标识或索引值,在命中的情况下,接收客户端的公钥,并且,在没有命中的情况下,则可以直接认证失败,无需后续的认证过程。由此可见,本实施例的命中方式,具有较高的检索效率。进一步,本实施例中预设数据中包括摘要以及随机数,增加了预设数据的篡改难度,有利于进一步提高安全性。
[0142] 进一步,本实施例的提供的认证方法还包括权限认证,由客户端所在的企业节点对该客户端进行操作权限的配置,即任一客户端可以在不同的企业节点完成不同的操作权限的配置。相比于传统的权限配制方法只能在一个固定的节点一次配置客户端的操作权限,本发明的配置方法提高了操作权限配置的灵活性。进一步,本申请对客户端的用户名以及操作权限预先缓存,以便于更快查询,节省了时间,进一步提高认证效率。
[0143] 本申请实施例还提供了一种服务器,下面对本申请实施例提供的服务器进行描述,下文描述的服务器与上文描述的认证方法可相互对应参照。
[0144] 请参阅图4,示出了本申请实施例提供的一种服务器的结构示意图,如图4所示,该服务器可以包括:
[0145] 回复报文发送器401,用于接收客户端的登录报文后,向所述客户端发送回复报文,所述登录报文包括所述客户端的标识,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要,所述摘要用于所述客户端对所述服务器进行认证;
[0146] 挑战报文接收器402,用于接收所述客户端的挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;
[0147] 索引值获取器403,用于获取所述客户端的标识在所述工业互联网体系中对应的索引值,所述索引值包括所述私钥对应的公钥;
[0148] 身份认证器404,用于基于所述公钥和所述认证数据,对所述客户端进行身份认证。
[0149] 可选地,登录报文还包括:所述客户端的索引值,所述索引值包括所述公钥;其中,所述客户端的所述标识和所述公钥构成所述客户端的用户名。
[0150] 可选地,索引值获取器,用于获取所述客户端的标识在所述工业互联网体系中对应的索引值,包括:
[0151] 索引值获取器具体用于:
[0152] 向所述工业互联网体系发送查询请求,所述查询请求包括所述标识;
[0153] 在所述工业互联网体系命中所述标识的情况下,接收所述工业互联网体系响应于所述查询请求发送的所述公钥。
[0154] 可选地,查询请求还包括:所述索引值,所述索引值用于所述工业互联网体系命中所述公钥。
[0155] 可选地,预设数据还包括:所述服务器生成的随机数。
[0156] 可选地,身份认证器,用于基于所述公钥和所述认证数据,对所述客户端进行身份认证,包括:
[0157] 身份认证器具体用于:
[0158] 使用所述公钥解密所述认证数据,得到对比数据;
[0159] 在所述对比数据与所述服务器生成的所述预设数据相同的情况下,确定所述客户端身份认证成功,否则,确定所述客户端身份认证失败。
[0160] 本申请实施例提供的服务器还包括:
[0161] 操作请求接收器,用于接收所述客户端发送的操作请求,所述操作请求包括操作的类型和操作对象的标识;
[0162] 权限信息获取器,用于从所述工业互联网体系获取所述操作对象的标识对应的权限对象的标识、以及所述客户端的操作权限;
[0163] 操作响应器,用于在所述客户端的标识包括在所述权限对象的标识中、且所述操作的类型包括在所述操作权限的情况下,所述服务器响应所述操作请求。
[0164] 可选地,所述操作对象的标识对应的权限对象的标识,由所述操作对象所属的企业节点设置;所述客户端的操作权限由所述客户端所属的企业节点设置。
[0165] 所述服务器包括处理器和存储器,上述回复报文发送器、挑战报文接收器、索引值获取器和身份认证器均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0166] 处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来完成服务器对客户端的认证。
[0167] 本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述认证方法。
[0168] 本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述认证方法。
[0169] 本发明实施例提供了一种服务器设备,图5示出了本申请实施例提供的一种服务器设备的结构示意图,服务器设备(50)包括至少一个处理器501、以及与处理器连接的至少一个存储器502、总线503;其中,处理器501、存储器502通过总线503完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的认证方法。
[0170] 本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
[0171] 接收客户端的登录报文后,向所述客户端发送回复报文,所述登录报文包括所述客户端的标识,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要,所述摘要用于所述客户端对所述服务器进行认证;
[0172] 接收所述客户端的挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;
[0173] 获取所述客户端的标识在所述工业互联网体系中对应的索引值,所述索引值包括所述私钥对应的公钥;
[0174] 基于所述公钥和所述认证数据,对所述客户端进行身份认证。
[0175] 本申请实施例还提供了一种客户端,下面对本申请实施例提供的客户端进行描述,下文描述的客户端与上文描述的认证方法可相互对应参照。
[0176] 请参阅图6,示出了本申请实施例提供的一种客户端的结构示意图,如图6所示,该客户端可以包括:
[0177] 登录报文发送器601,用于向服务器发送登录报文,所述登录报文包括所述客户端的标识;
[0178] 回复报文接收器602,用于接收所述服务器的回复报文,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要;
[0179] 挑战报文发送器603,用于在所述客户端确认所述摘要与所述登录报文的本地摘要相同的情况下,向所述服务器发送挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;所述认证数据用于所述服务器对所述客户端进行身份认证。
[0180] 可选地,登录报文还包括:所述客户端的索引值,所述索引值包括所述公钥;其中,所述客户端的所述标识和所述公钥构成所述客户端的用户名。
[0181] 可选地,本申请实施例提供的客户端还包括:用户名获取器,用获取所述客户端的用户名,包括:用户名获取器具体可以用于:
[0182] 向所述工业互联网体系发送注册请求,并获取所述工业互联网体系为所述客户端分配的所述标识;
[0183] 获取所述标识对应的密钥对,所述密钥对包括所述私钥和所述公钥。
[0184] 可选地,预设数据还包括:所述服务器生成的随机数。
[0185] 所述客户端包括处理器和存储器,上述登录报文发送器、回复报文接收器、和挑战报文发送器均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0186] 处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来完成客户端对服务器的认证。
[0187] 本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述认证方法。
[0188] 本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述认证方法。
[0189] 本发明实施例提供了一种客户端设备,图7示出了本申请实施例提供的一种客户端设备的结构示意图,客户端设备(70)包括至少一个处理器701、以及与处理器连接的至少一个存储器702、总线703;其中,处理器701、存储器702通过总线703完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的认证方法。
[0190] 本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
[0191] 向服务器发送登录报文,所述登录报文包括所述客户端的标识;
[0192] 接收所述服务器的回复报文,所述回复报文包括预设数据,所述预设数据至少包括所述登录报文的摘要;
[0193] 在所述客户端确认所述摘要与所述登录报文的本地摘要相同的情况下,向所述服务器发送挑战报文,所述挑战报文包括认证数据,所述认证数据由所述客户端使用私钥对所述预设数据进行签名生成;所述认证数据用于所述服务器对所述客户端进行身份认证。
[0194] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0195] 在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
[0196] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
[0197] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0198] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0199] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0200] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0201] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0202] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈