设备认证方法、装置、系统、终端设备及存储介质与流程

文档序号:24071478发布日期:2021-02-26 15:30阅读:138来源:国知局
设备认证方法、装置、系统、终端设备及存储介质与流程

[0001]
本申请涉及物联网技术领域,特别涉及一种设备认证方法、装置、系统、终端设备及存储介质。


背景技术:

[0002]
随着物联网技术的发展,嵌入式设备、移动终端、摄像头以及车载设备等物联网设备给我们的生活带来了极大的便利。然而,随着设备数量的不断增加以及产品类型的不断增多,使得物联网企业越来越难以对设备的认证实现安全有效的管理。而对设备进行身份认证又是一项涉及数据安全的重要流程。因此,如何为物联网企业提供安全有效的设备认证方案,是亟需解决的问题。
[0003]
目前,物联网设备接入物联网平台时采用的是一机一密的方式,物联网设备基于预先烧录的唯一的设备证书进行认证,认证通过后即可实现与物联网平台的交互。
[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]
图1是根据本申请实施例提供的设备认证方法的实施环境示意图;
[0043]
图2是根据本申请实施例提供的一种设备认证方法的流程图;
[0044]
图3是根据本申请实施例提供的一种设备认证方法的流程图;
[0045]
图4是根据本申请实施例提供的一种设备认证系统的示意图;
[0046]
图5是本申请实施例提供的一种租户详情页面的示意图;
[0047]
图6是根据本申请实施例提供的一种设备管理页面的示意图;
[0048]
图7是根据本申请实施例提供的另一种设备认证方法的流程图;
[0049]
图8是根据本申请实施例提供的一种设备认证装置的框图;
[0050]
图9是根据本申请实施例提供的一种终端设备的结构框图。
具体实施方式
[0051]
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0052]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0053]
下面简单介绍一下本申请实施例可能用到的技术。
[0054]
云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
[0055]
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
[0056]
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id,identity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
[0057]
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(raid,redundant array of independent disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
[0058]
物联网(the internet of things,简称iot)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,
通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
[0059]
云物联(cloud iot)旨在将传统物联网中传感设备感知的信息和接受的指令连入互联网中,真正实现网络化,并通过云计算技术实现海量数据存储和运算,由于物联网的特性是物与物相连接,实时感知各个“物体”当前的运行状态,在这个过程中会产生大量的数据信息,如何将这些信息汇总,如何在海量信息中筛取有用信息为后续发展做决策支持,这些已成为影响物联网发展的关键问题,而基于云计算和云存储技术的物联云也因此成为物联网技术和应用的有力支持。
[0060]
云安全(cloud security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
[0061]
云安全主要研究方向包括:1.云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2.安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3.云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
[0062]
md5信息摘要算法(英语:md5 message-digest algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
[0063]
jwt(json web token),是为了在网络应用环境间传递声明而执行的一种基于json的开放标准((rfc 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(sso)场景。jwt的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
[0064]
以下,介绍本申请实施例提供的设备认证方法的实施环境,该设备认证方法应用于本申请实施例提供的设备认证系统中。图1是根据本申请实施例提供的设备认证方法的实施环境示意图。参见图1,该实施环境包括多个终端设备101、认证服务器102以及云端服务器103。
[0065]
终端设备101和认证服务器102能够通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
[0066]
可选的,终端101是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、摄像头以及车载设备等,但并不局限于此。终端101安装和运行有应用程序。示意性的,终端设备101是用户使用的终端设备,用户通过该终端设备101使用物联网设备服务商提供的各种服务,如导航服务、定位服务、监控服务以及无人驾驶服务。
[0067]
可选的,认证服务器102是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。认证服务器102用于为终端设备101安装的应用程序提供设备认证服务。
[0068]
终端设备101和云端服务器103能够通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制.
[0069]
可选的,云端服务器102是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。云端服务器103用于为终端设备101安装的应用程序提供后台服务。可选地,云端服务器103可以承担主要计算工作,终端设备101可以承担次要计算工作;或者,云端服务器103承担次要计算工作,终端设备101承担主要计算工作;或者,云端服务器103和终端设备101二者之间采用分布式计算架构进行协同计算。
[0070]
本领域技术人员知晓,上述终端设备101的数量能够更多或更少。比如上述终端设备能够仅为一个,或者上述终端设备为几十个或几百个,或者更多数量。本申请实施例对终端设备的数量和设备类型不加以限定。
[0071]
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,lan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(hyper text mark-up language,html)、可扩展标记语言(extensible markup language,xml)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,ssl)、传输层安全(transport layer security,tls)、虚拟专用网络(virtual private network,vpn)、网际协议安全(internet protocol security,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
[0072]
图2是根据本申请实施例提供的一种设备认证方法的流程图,如图2所示,在本申请实施例中以应用于终端设备为例进行说明。该设备认证方法包括以下步骤:
[0073]
201、终端设备向云端服务器发送第一数据获取请求。
[0074]
在本申请实施例中,该终端设备为物联网设备,能够与云端服务器进行数据交互。可选的,该终端设备为嵌入式设备、移动终端、摄像头以及车载设备等,本申请实施例对此不进行限制。
[0075]
202、响应于无权访问响应,终端设备向认证服务器发送令牌获取请求,该令牌获取请求携带租户标识、设备唯一标识和第一令牌,该租户标识用于指示该终端设备所属的租户账户,该第一令牌与该租户账户唯一对应。
[0076]
在本申请实施例中,如果终端设备发送的第一数据获取请求没有通过校验,则会收到端服务器返回的无权访问响应,此时终端设备能够通过向认证服务器发送令牌获取请
求来获取认证用的第二令牌。其中,终端设备在获取第二令牌时,需要提供证明其合法性的相关信息,如上述租户标识、设备唯一标识和第一令牌等,以便于认证服务器在确定终端设备安全且合法后再返回的第二令牌。
[0077]
203、终端设备接收该认证服务器返回的第二令牌,该第二令牌由该认证服务器在该令牌获取请求通过校验后生成,该第二令牌具有有效期,用于由该云端服务器对携带该第二令牌的数据获取请求进行验证。
[0078]
在本申请实施例中,认证服务器能够对令牌获取请求中携带的信息进行校验。如果校验失败,则终端设备接到认证失败响应;如果校验成功,则终端设备能够接受到一个动态的第二令牌,该第二令牌具有有效期,即在一定时间内有效,如10分钟、24小时、72小时、一周以及1个月等,本申请实施例对该有效期的时长不进行限制。
[0079]
需要说明的是,终端设备获取该第二令牌之后,能够向该云端服务器发送携带该第二令牌的第二数据获取请求,然后接收该云端服务器返回的业务数据,该业务数据由该云端服务器确定该第二令牌验证通过后发送。
[0080]
在本申请实施例中,提供了一种设备认证方法,在终端设备从云端服务器请求数据时,由云端服务器验证终端设备的第二令牌,由于该第二令牌由认证服务器基于终端设备的多种认证信息生成,使得该第二令牌既具有可信性,又将接入云端服务器时的认证方式统一为对第二令牌进行验证,统一了接入流程,降低了复杂度。
[0081]
本申请实施例还提供了一种设备认证系统,上述设备认证方法应用于该设备认证系统中,该认证系统包括多个终端设备、认证服务器以及云端服务器。对于任一终端设备,该终端设备用于从上述云端服务器请求业务数据。该终端设备还用于响应于该云端服务器返回的无权访问响应,向该认证服务器发送令牌获取请求,该令牌获取请求携带租户标识、该终端设备的设备唯一标识和第一令牌,该租户标识用于指示该终端设备所属的租户账户,该第一令牌与该租户账户唯一对应。该终端设备还用于向认证服务器发送令牌获取请求,相应的,该认证服务器用于根据该终端设备发送的该令牌获取请求,生成具有有效期的第二令牌。该终端设备通过上述设备认证方法得到第二令牌后,能够向该云端服务器发送携带该第二令牌的第二数据获取请求,相应的,该云端服务器用于根据该终端设备发送的携带该第二令牌的第二数据获取请求,向该终端设备返回业务数据。
[0082]
下面基于一种具体的应用场景来对本申请实施例提供的设备认证方法进行详细说明。该设备认证方法应用于设备认证系统中,该设备认证系统为一种通用的支持多租户的云端接入认证平台。该设备认证系统包括多个终端设备、认证服务器以及云端服务器。可选的,该云端服务器包括控制台服务器、设备管理服务器、用户管理服务器、租户管理服务器以及数据库服务器。参见图3所示,图3是根据本申请实施例提供的一种设备认证方法的流程图,如图3所示,在本申请实施例中以应用于设备认证系统中为例进行说明。该设备认证方法包括以下步骤:
[0083]
301、对于任一终端设备,该终端设备向云端服务器发送第一数据获取请求。
[0084]
在本申请实施例中,该终端设备为能够与云端服务器进行数据交互的任一物联网设备。可选的,该终端设备为嵌入式设备、移动终端、摄像头以及车载设备等,本申请实施例对此不进行限制。终端设备能够通过向云端服务器发送第一数据获取请求,来从云端服务器获取业务数据。可选的,终端设备获取的业务数据存储在该云端服务器包括的数据库服
务器中。
[0085]
例如,该终端设备为车载设备,该车载设备能够向云服务器上传行驶数据,以及从云端服务器下载定位信息、地图信息以及更新包等业务数据。
[0086]
需要说明的是,终端设备每次从云端服务器请求业务数据时,需要在获取数据请求中携带令牌等认证信息。如果终端设备未提交认证信息,或者提交了错误的认证信息,或者提交了过期的认证信息等导致认证失败,则终端设备会收到云端服务器返回的无权访问响应;如果终端设备提交了正确的、未过期的认证信息,且通过校验,则终端设备会收到云端服务器返回的业务数据。
[0087]
302、终端设备响应于该云端服务器返回的无权访问响应,向认证服务器发送令牌获取请求,该令牌获取请求携带租户标识、设备唯一标识和第一令牌,该租户标识用于指示该终端设备所属的租户账户,该第一令牌与该租户账户唯一对应。
[0088]
在本申请实施例中,响应于终端设备接收到云端服务器返回的无权访问响应,终端设备获取租户标识、设备唯一标识和第一令牌。然后,终端设备将该租户标识、该设备唯一标识、该第一令牌以及时间戳进行加密,得到签名信息。然后,终端设备将设备唯一标识、该签名信息、该租户标识以及该时间戳进行组合,得到该令牌获取请求。最后,终端设备向认证服务器发送该令牌获取请求。
[0089]
需要说明的是,租户标识、设备唯一标识和第一令牌在终端设备出厂时,通过烧录等方式,存储在终端设备中。其中,云端服务器的每个租户均对应有一个第一令牌,不同租户对应有不同的第一令牌,该第一令牌由认证服务器在终端设备注册时为该租户生成。
[0090]
例如,租户在注册时,需要填上租户的租户标识,租户的邮箱和密码等信息,该租户标识表示为tenantid。注册成功后,认证服务器为该租户生成对应的第一令牌,即静态token,该静态token类似于一个密钥。终端设备的设备唯一标识为终端设备的sn信息,即deviceid。终端设备在请求访问云端服务器之前,通过md5加密算法将tenantid、静态token、deviceid以及时间戳timestamp加密为签名信息。将组合得到的令牌获取请求,发送至认证服务器提供的获取动态token接口。组合得到的令牌获取请求为如下形式:
[0091][0092]
303、认证服务器根据该终端设备发送的令牌获取请求,生成具有有效期的第二令牌。
[0093]
在本申请实施例中,认证服务器在接收到终端设备发送的令牌获取请求之后,同
时校验该终端设备的设备唯一标识和签名信息。响应于认证服务器确定该设备唯一标识对应的终端设备已经注册,且该签名信息中包括的内容合法,则认证服务器确定该令牌获取请求通过校验,则生成一个具有有效期的第二令牌,然后将该第二令牌返回至终端设备。响应于认证服务器确定唯一标识对应的终端设备未注册,或者签名信息中包括的内容不合法,则认证服务器确定该令牌获取请求未通过校验。如租户标识、设备唯一标识、第一令牌之间相互不对应等。其中,第二令牌的有效期能够根据实际需要进行设置,如10分钟、24小时、72小时、一周以及1个月等,本申请实施例对该有效期的时长不进行限制。
[0094]
例如,该第二令牌包括适用的服务名称、端口号、日志级别、数据库信息、jwt信息、缓存设置信息以及租户信息。该第二令牌为如下形式:
[0095][0096]
304、终端设备接收该认证服务器返回的第二令牌,终端设备向云端服务器发送携带该第二令牌的第二数据获取请求。
[0097]
在本申请实施例中,终端设备基于接收到的第二令牌,生成携带该第二令牌和业务标识的第二数据获取请求,然后向云端服务器发送该第二数据获取请求。
[0098]
305、云端服务器响应于接收到该终端设备发送的携带该第二令牌的第二数据获取请求,将该第二数据获取请求路由至该认证服务器。
[0099]
在本申请实施例中,云端服务器在接收到该终端设备发送的上述第二数据获取请求后,将该第二数据获取请求路由到认证服务器的动态令牌校验接口,由该认证服务器对该第二令牌进行校验。
[0100]
306、认证服务器对该第二数据获取请求进行校验。
[0101]
在本申请实施例中,认证服务器对接收到的第二数据获取请求进行校验,如果该第二数据获取请求中的第二令牌通过校验,则向云端服务器返回校验通过相应;如果该第二数据获取请求中的第二令牌未通过校验,如令牌已过期、令牌与终端设备不匹配、令牌内容有误等,则向云端服务器返回校验失败响应。
[0102]
需要说明的是,认证服务器能够缓存已校验通过的第二令牌,避免终端设备每次请求云端服务器的数据时,都要先路由到认证服务器的动态令牌校验接口,而频繁的接口访问对认证服务器造成压力的问题,使得认证服务器不需要每次校验都查询数据库,节约了认证服务器的资源,使认证服务器更稳定。
[0103]
307、云端服务器响应于接收到该认证服务器返回的校验通过响应,根据该第二数据获取请求,向该终端设备返回该业务数据。
[0104]
在本申请实施例中,云端服务器接收到校验通过响应,表示终端设备具有访问权限,云端服务器能够返回终端设备所请求的业务数据。
[0105]
需要说明的是,云端服务器响应于接收到该认证服务器返回的校验失败响应,则向终端设备返回该校验失败响应。
[0106]
308、终端设备接收该云端服务器返回的业务数据。
[0107]
在本申请实施例中,终端设备能够接受云端服务器返回的业务数据,并进行展示或者后续处理,本申请实施例对此不进行限制。
[0108]
需要说明的是,上述步骤301至步骤308是本申请实施例提供的设备认证方法的可选实现方式,相应的,还有其他可选的实现方式。可选的,上述云端服务器包括:控制台服务器、设备管理服务器、用户管理服务器、租户管理服务器以及数据库服务器。该控制台服务器用于为控制台页面提供后台服务,该控制台页面用于提供设备管理服务入口和租户管理服务入口。该设备管理服务器用于提供设备管理服务,该设备管理服务用于管理该多个终端设备。该用户管理服务器用于提供用户管理服务,该用户管理服务用于管理使用该云端服务器的多个租户账户。该租户管理服务器用于提供租户管理服务,该租户管理服务用于管理任一租户账户对应的至少一个终端设备。该数据库服务器用于向该控制台服务器、设备管理服务器、用户管理服务器、租户管理服务器提供数据管理服务。而认证服务器用于提供终端设备的接入认证服务。
[0109]
例如,参见图4所示,图4是根据本申请实施例提供的一种设备认证系统的示意图。如图4所示,终端设备在注册时,通过向认证服务器401提供的接入认证服务,发送设备接入请求进行接入,由该认证服务器401将该终端设备的sn信息与该终端设备所属的租户的租户标识,对应存储至数据库服务器402。管理员用户能够通过控制台服务器403提供的控制台页面,进行批量设备sn号导入和删除、租户注册管理、租户登录管理等操作。其中,批量设备sn号导入和删除通过设备管理服务器404提供的设备sn管理服务,基于数据库服务器402
实现。租户注册管理、租户登录管理通过用户管理服务器405提供的用户管理服务,基于数据库服务器402实现。进一步的,对于单个租户账户,给管理员用户能够通过租户管理服务器406提供的租户管理服务,基于数据库服务器402,实现管理该租户账户对应的至少一个终端设备。可选的,该管理员用户通过用户名和密码登录控制台页面,该管理员用户的管理员账号拥有最高权限,与实现租户管理、设备授权、取消设备授权等操作。
[0110]
可选的,管理员用户能够通过控制台服务器提供的控制台页面中的租户管理服务入口,能够从租户维度,查看各个租户的信息。该租户管理服务入口用于进入租户管理页面,管理员用户能够在该租户管理页面同意租户注册请求及通过点击任一租户,进入该租户的租户详情页面查看该租户的租户详细信息。例如,参见图5所示,图5是本申请实施例提供的一种租户详情页面的示意图,如图5所示,该租户详情页面包括租户的租户标识、租户的邮箱以及租户的第一令牌,可选的,还包括属于该租户的至少一个终端设备的设备唯一标识。
[0111]
可选的,管理员用户还能够通过控制台服务器提供的控制台页面中的设备管理服务入口,能够从终端设备维度,查看各个终端设备的信息。例如参见图6所示,图6是根据本申请实施例提供的一种设备管理页面的示意图,管理员用户通过该设备管理页面,能够注册设备、解绑设备以及搜索设备等。601表示管理员用户在注册设备时,需要填写该设备所属的租户标识,以及该设备的设备唯一标识。602表示管理员用户在查找设备时,根据设备的设备唯一标识,查找该设备所属的租户的租户标识,当然也能够查找该设备的其他信息,如所在位置、注册时间、接入日志等。
[0112]
需要说明的是,不同于现有技术中终端设备均由租户自行设置的认证方式进行认证的方案,本申请实施例提供的设备认证方法,通过将认证流程分为令牌获取以及数据获取两个步骤,使得设备的认证方式统一为由系统的认证服务器基于有期限的第二令牌进行认证,即不是由租户层各自进行不同方式的认证,而是由管理租户的系统层进行统一的认证,既统一了认证流程,又简化了认证的复杂度。并且,通过第二令牌进行认证,使得即使租户的第一令牌泄露,恶意设备也不能通过该第一令牌从云端服务器骗取数据,保证了数据安全。
[0113]
例如,参见图7所示,图7是根据本申请实施例提供的另一种设备认证方法的流程图。如图7所示,701、终端设备在注册时从认证服务器获取静态token,并预置到终端设备中。702、将设备sn号和静态token等信息加密后作为参数,从认证服务器请求动态token。703、控制台服务器批量添加可接入的设备sn号,认证服务器基于该设备sn号判断是否有接入权限。704、请求动态token失败,无接入权限;请求动态token成功,有接入权限。705、认证服务器返回动态token。706、终端设备携带动态token访问云端服务器。706、云端服务器将动态token路由值认证服务器认证动态token的合法性。
[0114]
在本申请实施例中,提供了一种设备认证方法,在终端设备从云端服务器请求数据时,由云端服务器验证终端设备的第二令牌,由于该第二令牌由认证服务器基于终端设备的多种认证信息生成,使得该第二令牌既具有可信性,又将接入云端服务器时的认证方式统一为对第二令牌进行验证,统一了接入流程,降低了复杂度。
[0115]
图8是根据本申请实施例提供的一种设备认证装置的框图。该装置用于执行上述设备认证方法执行时的步骤,参见图8,装置包括:第一请求发送模块801、第二请求发送模
块802、令牌接收模块803。
[0116]
第一请求发送模块801,用于向云端服务器发送数据获取请求;
[0117]
第二请求发送模块802,用于响应于无权访问响应,向认证服务器发送令牌获取请求,所述令牌获取请求携带租户标识、设备唯一标识和第一令牌,所述租户标识用于指示所述终端设备所属的租户账户,所述第一令牌与所述租户账户唯一对应;
[0118]
令牌接收模块803,用于接收所述认证服务器返回的第二令牌,所述第二令牌由所述认证服务器在该令牌获取请求通过校验后生成,该第二令牌具有有效期,用于由该云端服务器对携带该第二令牌的数据获取请求进行验证。
[0119]
在一个可能实现的方式中,第二请求发送模块802,用于响应于无权访问响应,获取该租户标识、该设备唯一标识和该第一令牌;将该租户标识、该设备唯一标识、该第一令牌以及时间戳进行加密,得到签名信息;将该设备唯一标识、该签名信息、该租户标识以及该时间戳进行组合,得到该令牌获取请求;向该认证服务器发送该令牌获取请求。
[0120]
在一个可能实现的方式中,该装置还包括:
[0121]
该第一请求发送模块801,还用于向该云端服务器发送携带该第二令牌的第二数据获取请求;
[0122]
数据接收模块,用于接收该云端服务器返回的业务数据,该业务数据由该云端服务器确定该第二令牌验证通过后发送。
[0123]
在本申请实施例中,提供了一种设备认证方法,在终端设备从云端服务器请求数据时,由云端服务器验证终端设备的第二令牌,由于该第二令牌由认证服务器基于终端设备的多种认证信息生成,使得该第二令牌既具有可信性,又将接入云端服务器时的认证方式统一为对第二令牌进行验证,统一了接入流程,降低了复杂度。
[0124]
需要说明的是:上述实施例提供的设备认证装置在进行设备认证时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的设备认证装置与设备认证方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0125]
图9是根据本申请实施例提供的一种终端设备900的结构框图。该终端设备900可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端设备900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0126]
通常,终端设备900包括有:处理器901和存储器902。
[0127]
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在
一些实施例中,处理器901可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0128]
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器901所执行以实现本申请中方法实施例提供的设备认证方法。
[0129]
在一些实施例中,终端设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
[0130]
外围设备接口903可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0131]
射频电路904用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括nfc(near field communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0132]
显示屏905用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置在终端设备900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端设备900的不同表面或呈折叠设计;在另一些实施例中,显示屏905可以是柔性显示屏,设置在终端设备900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0133]
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和
后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0134]
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
[0135]
定位组件908用于定位终端设备900的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件908可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0136]
电源909用于为终端设备900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0137]
在一些实施例中,终端设备900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
[0138]
加速度传感器911可以检测以终端设备900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
[0139]
陀螺仪传感器912可以检测终端设备900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端设备900的3d动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0140]
压力传感器913可以设置在终端设备900的侧边框和/或显示屏905的下层。当压力传感器913设置在终端设备900的侧边框时,可以检测用户对终端设备900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜
单控件中的至少一种。
[0141]
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置在终端设备900的正面、背面或侧面。当终端设备900上设置有物理按键或厂商logo时,指纹传感器914可以与物理按键或厂商logo集成在一起。
[0142]
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
[0143]
接近传感器916,也称距离传感器,通常设置在终端设备900的前面板。接近传感器916用于采集用户与终端设备900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端设备900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端设备900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
[0144]
本领域技术人员可以理解,图9中示出的结构并不构成对终端设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0145]
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于终端设备,该计算机可读存储介质中存储有至少一段计算机程序,该至少一段计算机程序由处理器加载并执行以实现上述实施例的设备认证方法中终端设备所执行的操作。
[0146]
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该终端设备执行上述各种可选实现方式中提供的设备认证方法。
[0147]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0148]
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1