设备的访问认证方法、装置和电子设备与流程

文档序号:32483702发布日期:2022-12-10 00:09阅读:41来源:国知局
设备的访问认证方法、装置和电子设备与流程

1.本公开涉及计算机技术领域,尤其涉及一种设备的访问认证方法、装置和电子设备。


背景技术:

2.随着智能家居行业的不断发展,使得人们的生活更加方便以及智能化。智能家居中包含了多个智能设备,智能设备之间通过消息队列遥测传输(message queuing telemetry transport,mqtt)协议可以实现消息互通。
3.基于安全考虑,mqtt协议规定在主控设备(例如手机或者智能中控屏等)与被控设备(如电视)连接时,需要主控设备提供自身的标识信息、用户名以及密码,以便被控设备对主控设备的标识信息、用户名以及密码进行校验,并在校验通过后向主控设备发送mqtt连接成功的消息。进一步的,为了显式征得用户同意之后对主控设备进行授权,在被控设备向主控设备发送mqtt连接成功的消息之后,被控设备通过弹出界面让用户选择是否对该主控设备进行授权,或者被控设备对主控设备发送的随机数校验码进行验证,若验证正确,则将该主控设备标记为信任设备,并加入白名单中,且对该主控设备进行授权。
4.现有技术中,被控设备在接收到主控设备发送的访问认证请求时,通过查阅自身存储的白名单来确定当前主控设备是否为已经授权的信任设备,从而确定是否允许当前主控设备对被控设备进行控制,但是白名单的存储,不仅浪费资源,而且远程控制的安全等级比较低,若白名单丢失,只能让用户重新对主控设备进行授权,安全性不高,且比较繁琐。


技术实现要素:

5.为了解决上述技术或者至少部分地解决上述技术问题,本公开提供了一种设备的访问认证方法、装置和电子设备,通过对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,确定设备的访问认证是否通过,无需记录白名单,减少了资源占用,能够提高安全性等级,且不受限于设备的物理存储,无需重新维护白名单。
6.为了实现上述目的,本公开实施例提供的技术方案如下:
7.第一方面,本公开提供了一种设备的访问认证方法,应用于被控设备,该方法包括:
8.接收主控设备发送的访问认证请求,其中,所述访问认证请求中包含令牌、所述主控设备的第一用户标识信息以及第一设备标识信息,所述令牌为所述被控设备接收到所述主控设备发送的获取令牌的指令后生成并发送至所述主控设备的;
9.对所述令牌的剩余有效期、所述第一用户标识信息以及所述第一设备标识信息进行校验,并在校验通过后向所述主控设备发送访问认证通过的消息。
10.第二方面,本公开提供了一种设备的访问认证方法,应用于主控设备,该方法包括:
11.向被控设备发送访问认证请求,以使所述被控设备对令牌的剩余有效期、所述主
控设备的第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向所述主控设备发送访问认证通过的消息,其中,所述访问认证请求中包含令牌、所述主控设备的第一用户标识信息以及第一设备标识信息,所述令牌为所述被控设备接收到所述主控设备发送的获取令牌的指令后生成并发送至所述主控设备的;
12.接收所述被控设备发送的所述访问认证通过的消息。
13.第三方面,本公开提供了一种设备的访问认证装置,应用于被控设备,该装置包括:
14.第一接收模块,用于接收主控设备发送的访问认证请求,其中,所述访问认证请求中包含令牌、所述主控设备的第一用户标识信息以及第一设备标识信息,所述令牌为所述被控设备接收到所述主控设备发送的获取令牌的指令后生成并发送至所述主控设备的;
15.校验模块,用于对所述令牌的剩余有效期、所述第一用户标识信息以及所述第一设备标识信息进行校验,并在校验通过后向所述主控设备发送访问认证通过的消息。
16.第四方面,本公开提供了一种设备的访问认证装置,应用于主控设备,该装置包括:
17.发送模块,用于向被控设备发送访问认证请求,以使所述被控设备对令牌的剩余有效期、所述主控设备的第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向所述主控设备发送访问认证通过的消息,其中,所述访问认证请求中包含令牌、所述主控设备的第一用户标识信息以及第一设备标识信息,所述令牌为所述被控设备接收到所述主控设备发送的获取令牌的指令后生成并发送至所述主控设备的;
18.第二接收模块,用于接收所述被控设备发送的所述访问认证通过的消息。
19.第五方面,本公开还提供了一种电子设备,包括:
20.一个或多个处理器;
21.存储装置,用于存储一个或多个程序,
22.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面和第二方面所述的设备的访问认证方法。
23.第六方面,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面和第二方面所述的设备的访问认证方法。
24.本公开实施例提供的技术方案与现有技术相比具有如下优点:首先接收主控设备发送的访问认证请求,访问认证请求中包含令牌、主控设备的第一用户标识信息以及第一设备标识信息,令牌为被控设备接收到主控设备发送的获取令牌的指令后生成并发送至主控设备的,然后对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向主控设备发送访问认证通过的消息,上述方案中通过对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,确定设备的访问认证是否通过,无需记录和维护白名单,减少了资源占用,能够提高安全性等级。
附图说明
25.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
26.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1a为本公开实施例中一种设备的访问认证方法的应用场景示意图;
28.图1b为现有技术中提供的一种设备的访问认证方法的示意图;
29.图1c为现有技术中提供的其中一种显性授权方法;
30.图1d为现有技术中提供的另一种显性授权方法;
31.图2a为根据本公开一个或多个实施例的电子设备的硬件配置框图;
32.图2b为根据本公开一个或多个实施例的电子设备的软件配置示意图;
33.图2c为根据本公开一个或多个实施例的被控设备中包含的应用程序的图标控件界面显示示意图;
34.图3a为本公开实施例提供的一种应用于被控设备的,设备的访问认证方法的流程示意图;
35.图3b为本公开实施例提供的一种被控设备和主控设备的交互过程示意图;
36.图4a为本公开实施例提供的另一种应用于被控设备的,设备的访问认证方法的流程示意图;
37.图4b为本公开实施例提供的另一种被控设备和主控设备的交互过程示意图;
38.图5a为本公开实施例提供的一种应用于主控设备的,设备的访问认证方法的流程示意图;
39.图5b为本公开实施例提供的一种主控设备和被控设备的交互过程示意图;
40.图6a为本公开实施例提供的又一种应用于主控设备的,设备的访问认证方法的流程示意图;
41.图6b为本公开实施例提供的又一种主控设备和被控设备的交互过程示意图;
42.图6c为本公开实施例提供的更新令牌的方法的流程示意图;
43.图6d为本公开实施例提供的通过主控设备和被控设备的交互更新令牌的示意图;
44.图7为本公开实施例提供的一种应用于被控设备的,设备的访问认证装置的结构示意图;
45.图8是本公开实施例提供的一种应用于主控设备的,设备的访问认证装置的结构示意图;
46.图9是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
47.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
48.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
49.本公开中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一用户标识信息和第二用户标识信息等是用于区别不同的用户标识
信息,而不是用于描述用户标识信息的特定顺序。
50.如今智能家居行业发展越来越好,有很多家庭会选择使用全套智能家居,给生活带来极大的智能性和方便性。要想控制智能家居中包含的多个智能设备(即智能家电),必须将智能设备之间建立起控制和被控关系。那么智能设备之间必然会存在信息的交互,而利用mqtt协议能够实现智能设备之间的消息互通。mqtt是一种基于客户端-服务器的消息发布/订阅传输的协议,需要消息互通的智能设备都可作为客户端连接到mqtt服务器,服务器根据发布/订阅将消息转发给指定的客户端。例如,电视中经常使用的模拟遥控功能,手机作为一个虚拟遥控器,可以控制电视(被控设备的一种),那么手机设备(主控设备的一种)可以作为mqtt的客户端,连接到电视中的mqtt服务器,和电视中遥控器模块的mqtt客户端进行消息互通。又如,某个智能中控屏(主控设备的一种)也可以作为mqtt的客户端,连接到电视中的mqtt服务器,和电视中其他模块的mqtt客户端进行消息互通。
51.基于安全考虑,如手机、智能中控屏这样的客户端设备连接到电视时,mqtt协议规定在连接时需要提供客户端设备的用户名和密码,但仅基于用户名和密码连接,无法显式征得用户同意之后才能对连接设备(即手机、智能中控屏等)授权,现有技术会在mqtt连接之后,通过电视弹出界面让用户授权,例如出现“客户端设备x正在尝试连接到您的电视,您同意授权吗?”的提示,然后用户可以根据需要选择是否对该客户端设备进行授权。同时,基于用户体验考虑,不能每次有客户端设备接入时都要让用户授权,所以只有新设备到来时,才会让用户授权,之前已经授权的设备无需重复授权。因此,通常会将授权过的客户端设备标记为信任设备保存在白名单中,白名单可以保存在数据库中,以便后续被控设备在接收到主控设备发送的访问认证请求时,通过查阅自身存储的白名单来确定当前主控设备是否为已经授权的信任设备。
52.图1a为本公开实施例中一种设备的访问认证方法的应用场景示意图。图1a中的手机100作为主控设备,显示设备(即电视)200作为被控设备,当手机100想要控制显示设备200时,就需要对手机100进行访问认证,从而确定是否允许手机100控制显示设备200。
53.图1b为现有技术中提供的一种设备的访问认证方法的示意图。主控设备向被控设备发送访问认证请求,被控设备在接收到该访问认证请求之后,查阅存储的白名单,确定主控设备是否为已经授权的信任设备,若是,则向主控设备发送访问认证通过的消息,那么主控设备即能对被控设备进行控制。但是该方法中,存储白名单的做法,不仅浪费资源,而且远程控制的安全等级比较低,虽然有用户的显性授权,但是只有首次显性授权,若主控设备被黑客攻击,则会一直控制被控设备,用户无法解决该问题。同时,存储白名单的做法受限于机器的物理存储,若出现类似恢复出厂设置等清除操作,白名单会被清除,只能重新让用户重新授权,重新维护白名单,操作比较繁琐,且安全性不高。
54.图1c为现有技术中提供的其中一种显性授权方法。如图1c所示,被控设备中弹出第一界面,该第一界面包含信息“请在您的移动设备中输入以下数字。8788”,右上角还有倒计时20,以及右下角还可以进行取消。移动设备即为想要控制被控设备的主控设备。用户在看到该第一界面后,在移动设备中输入“8788”,被控设备对移动设备发送的“8788”进行验证,若验证正确,则对该移动设备发送授权成功的消息,并将该移动设备标记为信任设备,加入白名单中。
55.图1d为现有技术中提供的另一种显性授权方法。如图1d所示,被控设备中弹出第
二界面,该第二界面包含信息“客户端设备x正在尝试连接到您的电视,您同意授权吗?”,右下角可以选择拒绝或者同意。若用户在看到该第二界面后,选择“同意”,则对该客户端设备x发送授权成功的消息,并将该客户端设备x标记为信任设备,加入白名单中;若用户选择“拒绝”,则对该客户端设备x发送授权失败的消息。
56.为了解决现有技术中存在的问题,本实施例提出了一种设备的访问认证方法,首先被控设备接收主控设备发送的访问认证请求,访问认证请求中包含令牌、主控设备的第一用户标识信息以及第一设备标识信息,令牌为被控设备接收到主控设备发送的获取令牌的指令后生成并发送至主控设备的;然后被控设备对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向主控设备发送访问认证通过的消息,通过对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,确定设备的访问认证是否通过,无需记录和维护白名单,减少了资源占用,能够提高安全性等级。
57.本公开实施例提供的设备的访问认证方法,可以基于电子设备,或者电子设备中的功能模块或者功能实体实现。
58.其中,电子设备可以为个人计算机(personal computer,pc)、服务器、手机、平板电脑、笔记本电脑、大型计算机等,本公开实施例对此不作具体限定。
59.示例性的,图2a为根据本公开一个或多个实施例的电子设备的硬件配置框图。如图2a所示,电子设备包括:调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。其中,控制器250包括中央处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。显示器260可为液晶显示器、oled显示器、触控显示器以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg音视频数据信号。通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。电子设备可以通过通信器220与服务器203或者本地控制设备205建立控制信号和数据信号的发送和接收。检测器230用于采集外部环境或与外部交互的信号。控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。用户接口280可用于接收控制装置(如:红外遥控器等)的控制信号。
60.在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制电子设备的工作和响应用户的操作。控制器250控制电子设备的整体操作。用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
61.在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,简称gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口和控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态
栏、导航栏、widget等可视的界面元素中的至少一种。
62.图2b为根据本公开一个或多个实施例的电子设备的软件配置示意图,如图2b所示,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(application framework)层(简称“框架层”),安卓运行时(android runtime)和系统库层(简称“系统运行库层”),以及内核层。
63.在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包括但不限于以上举例。
64.在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的c/c++库以实现框架层要实现的功能。
65.在一些实施例中,内核层是硬件和软件之间的层,至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
66.图2c为根据本公开一个或多个实施例的被控设备(主要为智能播放设备,例如智能电视、数字影院系统或者影音服务器等)中包含的应用程序的图标控件界面显示示意图,如图2c中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播vod应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。直播电视应用程序,可以通过不同的信号源提供直播电视。视频点播vod应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。应用程序中心,可以提供储存各种应用程序。
67.本技术实施例提供的设备的访问认证方法,可以基于上述电子设备实现。
68.为了更加详细的说明本方案,以下将以示例性的方式结合图3a进行说明,可以理解的是,图3a中所涉及的步骤在实际实现时可以包括更多的步骤,或者更少的步骤,并且这些步骤之间的顺序也可以不同,以能够实现本技术实施例中提供的应用于被控设备的,设备的访问认证方法为准。
69.图3a为本公开实施例提供的一种应用于被控设备的,设备的访问认证方法的流程示意图。本实施例可适用于在被控设备侧,对访问认证请求中包含的信息进行校验的情况。本实施例方法可由应用于被控设备的,设备的访问认证装置来执行,该装置可采用硬件/或软件的方式来实现,并可配置于电子设备中。
70.如图3a所示,该方法具体包括如下步骤:
71.s310,接收主控设备发送的访问认证请求,其中,访问认证请求中包含令牌、主控设备的第一用户标识信息以及第一设备标识信息,令牌为被控设备接收到主控设备发送的获取令牌的指令后生成并发送至主控设备的。
72.其中,主控设备可以理解为智能家居场景或者智能办公场景等具有多个智能设备的场景中,想要控制被控设备的智能设备,例如手机、智能中控屏等,本实施例对此不做限定。被控设备可以理解为主控设备想要控制的智能设备,例如电视、个人计算机、数字影院系统或者影音服务器等,本实施例对此不做限定。第一用户标识信息可以理解为使用主控设备的用户所对应的用户名、邮箱或者手机号码等信息,本实施例对此不做限定。第一设备
标识信息可以理解为主控设备的设备名称或者设备序列号等能够唯一表征主控设备的信息。令牌(token)可以为一个加密的字符串,其中包含了向被控设备发送获取令牌的指令的主控设备的设备信息、用户标识信息以及令牌的有效期等信息。
73.当主控设备想要控制被控设备时,会向被控设备发送包含令牌、主控设备的第一用户标识信息以及第一设备标识信息的访问认证请求,该访问认证请求基于mqtt协议发送。相应的,被控设备就会接收到主控设备发送的访问认证请求。
74.s320,对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向主控设备发送访问认证通过的消息。
75.其中,令牌具有有效期,该有效期为令牌的最大使用时长,若令牌的剩余有效期为0,则该令牌无法使用,相应的该令牌则需要更新。剩余有效期可以根据令牌的效期以及被控设备的当前时间和令牌的生成时间的差值确定。
76.被控设备在接收到主控设备发送的访问认证请求之后,对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,具体校验过程是确定令牌的剩余有效期是否在预设时间内,第一用户标识信息和第一设备标识信息是否正确。在校验通过后,被控设备则向主控设备发送访问认证通过的消息,相应的,主控设备接收被控设备发送的访问认证通过的消息,主控设备即可对被控设备进行控制。
77.本实施例中提供的设备的访问认证方法,首先被控设备接收主控设备发送的访问认证请求,访问认证请求中包含令牌、主控设备的第一用户标识信息以及第一设备标识信息,令牌为被控设备接收到主控设备发送的获取令牌的指令后生成并发送至主控设备的;然后被控设备对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向主控设备发送访问认证通过的消息,通过对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,确定设备的访问认证是否通过,无需记录和维护白名单,减少了资源占用,能够提高安全性等级,且不受限于设备的物理存储。
78.图3b为本公开实施例提供的一种被控设备和主控设备的交互过程示意图。图3b中所示的步骤,已经在上述实施例中详细描述过,为了避免重复,此处不再赘述。
79.图4a为本公开实施例提供的另一种应用于被控设备的,设备的访问认证方法的流程示意图。本实施例是在上述实施例的基础上进一步扩展与优化。可选的,本实施例可适用于在被控设备侧,对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,并在校验通过的情况下向主控设备发送访问认证通过的消息的具体过程进行说明。
80.如图4a所示,该方法具体包括如下步骤:
81.s410,接收主控设备发送的访问认证请求。
82.s420,对访问令牌进行解密,得到第二用户标识信息和第二设备标识信息。
83.其中,令牌中携带主控设备的第二用户标识信息和第二设备标识信息。第二用户标识信息可以理解为向被控设备发送获取令牌的指令的主控设备对应的用户标识信息,例如用户名、邮箱或者手机号码等。第二设备标识信息可以理解为向被控设备发送获取令牌的指令的主控设备的设备名称或者设备序列号等能够唯一表征该主控设备的信息。令牌包括访问令牌(accesstoken)。访问令牌可以理解为用于访问被控设备的令牌。
84.由于令牌为一个加密的字符串,因此,被控设备在接收到主控设备发送的访问认证请求之后,对访问认证请求中的令牌进行解密,能够得到向被控设备发送获取令牌的指
令的主控设备的设备信息(即:第二设备标识信息)、用户标识信息(即:第二用户标识信息)以及令牌的有效期等信息。
85.s430,根据被控设备的当前时间和访问令牌的生成时间的第一差值,确定令牌的第一剩余有效期。
86.其中,访问令牌的生成时间为被控设备接收到主控设备发送的获取令牌的指令后生成令牌的生成时间。访问令牌中包含的时间戳即为访问令牌的生成时间。
87.被控设备将被控设备的当前时间和访问令牌的生成时间相减,能够得到第一差值,将令牌的有效期与该第一差值相减,能够得到令牌的第一剩余有效期。
88.示例性的,若访问令牌的生成时间为7月1日上午8点,被控设备的当前时间为7月2日上午8点,令牌的有效期为3天,即72小时,则将被控设备的当前时间和访问令牌的生成时间相减,得到的第一差值为24小时,将令牌的有效期与该第一差值相减,得到的令牌的第一剩余有效期为48小时。
89.s440,确定令牌的第一剩余有效期未超过第一阈值、第一用户标识信息与第二用户标识信息一致,以及第一设备标识信息与第二设备标识信息一致,则校验通过。
90.其中,第一阈值为令牌的有效期所对应的数值,其可以预先设定,例如三天,也可以视具体情况而定,本实施例对此不做限定。
91.被控设备将令牌的第一剩余有效期,即第一差值和第一阈值进行比较,能够确定二者的大小关系,将第一用户标识信息和第二用户标识信息进行比对,以及将第一设备标识信息和第二设备标识信息进行比对,在令牌的第一剩余有效期未超过第一阈值、第一用户标识信息与第二用户标识信息一致,以及第一设备标识信息与第二设备标识信息一致的情况下,则说明校验通过。
92.s450,向主控设备发送访问认证通过的消息。
93.被控设备在校验通过的情况下,向主控设备发送访问认证通过的消息,相应的,主控设备即可对被控设备进行控制。
94.本实施例中提供的设备的访问认证方法,首先被控设备接收主控设备发送的访问认证请求,对访问令牌进行解密,得到第二用户标识信息和第二设备标识信息;接着被控设备根据被控设备的当前时间和访问令牌的生成时间的第一差值,确定令牌的第一剩余有效期;然后被控设备确定令牌的第一剩余有效期未超过第一阈值、第一用户标识信息与第二用户标识信息一致,以及第一设备标识信息与第二设备标识信息一致,则校验通过;最后被控设备向主控设备发送访问认证通过的消息,通过上述过程进行校验,能够确定令牌的第一剩余有效期是否超过第一阈值、发送访问认证请求的主控设备和向被控设备发送获取令牌的指令的主控设备是否为同一设备、用户标识信息是否一致,从而能够确定发送访问认证请求的主控设备的访问认证是否通过,上述过程无需记录和维护白名单,减少了资源占用,能够提高安全性等级,提高用户的使用体验。
95.图4b为本公开实施例提供的另一种被控设备和主控设备的交互过程示意图。图4b中所示的步骤,已经在上述实施例中详细描述过,为了避免重复,此处不再赘述。
96.在一些实施例中,所述令牌包括访问令牌和刷新令牌,所述方法还包括:
97.接收主控设备发送的更新令牌的消息,其中,所述更新令牌的消息为所述主控设备确定所述令牌的第二剩余有效期小于第二阈值,或者所述主控设备的当前时间与所述访
问令牌的生成时间的第二差值超过所述第一阈值时,基于所述刷新令牌发送的,所述第二阈值小于第一阈值;
98.根据所述更新令牌的消息,对所述令牌进行更新,得到目标令牌,并将所述目标令牌发送至所述主控设备。
99.其中,刷新令牌(refreshtoken)用于对令牌进行更新。第二阈值可以预先设定,例如12个小时,也可以视具体情况而定,本实施例对此不做限定。
100.具体的,主控设备将主控设备的当前时间和访问令牌的生成时间相减,能够得到二者的第二差值,将令牌的有效期与该第二差值相减,能够得到令牌的第二剩余有效期,当主控设备确定第二剩余有效期小于第二阈值,说明此时的令牌即将失效,或者当主控设备确定第二差值超过第一阈值时,说明此时的令牌已经失效,此时主控设备基于刷新令牌发送更新令牌的消息至被控设备,相应的,被控设备就能够接收到主控设备发送的更新令牌的消息。被控设备在接收到主控设备发送的更新令牌的消息之后,基于刷新令牌对令牌进行更新,主要是对时间戳进行更新,得到目标令牌,并将该目标令牌发送至主控设备,相应的主控设备就能够接收到被控设备发送的目标令牌。其中,在更新过程中会同时更新访问令牌和刷新令牌。
101.本实施例中,通过上述方法对令牌进行更新,无需在令牌失效时重新让用户显性授权,能够直接获得新的访问令牌和刷新令牌,以及在令牌即将失效时,对令牌进行更新,能够提升用户的使用体验,避免浪费时间。
102.图5a为本公开实施例提供的一种应用于主控设备的,设备的访问认证方法的流程示意图。本实施例可适用于在主控设备侧,对设备的访问认证方法进行说明的情况。本实施例方法可由应用于主控设备的,设备的访问认证装置来执行,该装置可采用硬件/或软件的方式来实现,并可配置于电子设备中。
103.如图5a所示,该方法具体包括如下步骤:
104.s510,向被控设备发送访问认证请求,以使被控设备对令牌的剩余有效期、主控设备的第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向主控设备发送访问认证通过的消息,其中,访问认证请求中包含令牌、主控设备的第一用户标识信息以及第一设备标识信息,令牌为被控设备接收到主控设备发送的获取令牌的指令后生成并发送至主控设备的。
105.s520,接收被控设备发送的访问认证通过的消息。
106.本实施例中上述s510-s520,是从主控设备侧对设备的访问认证方法进行说明,具体实现过程参考s310-s320,为了避免重复,此处不在赘述。
107.本实施例中提供的设备的访问认证方法,首先主控设备向被控设备发送访问认证请求,以使被控设备对令牌的剩余有效期、主控设备的第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向主控设备发送访问认证通过的消息,其中,访问认证请求中包含令牌、主控设备的第一用户标识信息以及第一设备标识信息,令牌为被控设备接收到主控设备发送的获取令牌的指令后生成并发送至主控设备的;然后主控设备接收被控设备发送的访问认证通过的消息,通过对令牌的剩余有效期、第一用户标识信息以及第一设备标识信息进行校验,确定设备的访问认证是否通过,无需记录和维护白名单,减少了资源占用,能够提高安全性等级,且不受限于设备的物理存储。
108.图5b为本公开实施例提供的一种主控设备和被控设备的交互过程示意图。图5b中所示的步骤,已经在上述实施例中详细描述过,为了避免重复,此处不再赘述。
109.图6a为本公开实施例提供的又一种应用于主控设备的,设备的访问认证方法的流程示意图。本实施例是在上述实施例的基础上进一步扩展与优化。可选的,本实施例主要对向被控设备发送访问认证请求之前的具体过程进行说明。
110.如图6a所示,该方法具体包括如下步骤:
111.s610,向被控设备发送连接请求,以使被控设备基于连接请求中携带的主控设备的第一用户标识信息、密码信息以及第一设备标识信息进行校验,并在校验通过后向主控设备发送连接成功的消息。
112.在主控设备向被控设备发送访问认证请求之前,主控设备基于mqtt协议向被控设备发送连接请求,连接请求中包括主控设备的第一用户标识信息、密码信息以及第一设备标识信息。被控设备接收到连接请求之后,对连接请求中携带的主控设备的第一用户标识信息、密码信息以及第一设备标识信息进行校验,即确定第一用户标识信息、密码信息以及第一设备标识信息是否正确,若正确,则说明校验通过。被控设备在校验通过后向主控设备发送连接成功的消息。
113.需要说明的是:在连接成功后,若未得到用户的显性授权,主控设备不能控制被控设备,还需要经过s620-s630的显性授权过程。
114.s620,接收被控设备发送的连接成功的消息,向被控设备发送校验码生成指令,以使被控设备基于校验码生成指令生成目标校验码,并将目标校验码发送至主控设备。
115.其中,目标校验码可以为基于随机数生成机制所生成的预设位数的随机数。
116.主控设备接收被控设备发送的连接成功的消息,并向被控设备发送校验码生成指令,被控设备接收到该校验码生成指令之后,基于该校验码生成指令生成目标校验码,并将目标校验码发送至主控设备,以便后续用户在主控设备中输入该目标校验码。
117.s630,接收被控设备发送的目标校验码,发送用户输入的目标校验码至被控设备,以使被控设备对目标校验码进行校验,并在校验通过后向主控设备发送授权成功的消息。
118.主控设备接收到目标校验码之后,输入该目标校验码,相应的,主控设备发送用户输入的目标校验码至被控设备,被控设备能够对用户输入的目标校验码进行校验,确定用户输入的目标校验码与被控设备生成的目标校验码是否一致,若一致,则校验通过。被控设备在校验通过后,向主控设备发送授权成功的消息。
119.s640,接收被控设备发送的授权成功的消息,向被控设备发送获取令牌的指令,以使被控设备基于第一用户标识信息、第一设备标识信息以及时间戳信息,生成与主控设备对应的令牌,并将令牌发送至主控设备。
120.主控设备接收被控设备发送的授权成功的消息,向被控设备发送获取令牌的指令。被控设备接收到该指令之后,基于第一用户标识信息、第一设备标识信息以及时间戳信息,通过相应的加密算法,能够生成与主控设备对应的令牌,并将令牌发送至主控设备。
121.需要说明的是:本实施例中对加密算法不做限定。
122.s650,接收被控设备发送的令牌。
123.主控设备接收被控设备发送的令牌。
124.s660,向被控设备发送访问认证请求,以使被控设备对令牌的剩余有效期、主控设
备的第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向主控设备发送访问认证通过的消息。
125.s670,接收被控设备发送的访问认证通过的消息。
126.本实施例中提供的设备的访问认证方法,通过上述s610-s670,先对主控设备进行授权,并在授权后进行访问认证,保证了mqtt连接的安全性,同时无需记录和维护白名单,减少了资源占用,能够提高安全性等级,且不受限于设备的物理存储。
127.图6b为本公开实施例提供的又一种主控设备和被控设备的交互过程示意图。图6b中所示的步骤,已经在上述实施例中详细描述过,为了避免重复,此处不再赘述。
128.图6c为本公开实施例提供的更新令牌的方法的流程示意图。本实施例主要对令牌更新的具体过程进行说明。如图6c所示,该方法具体包括如下步骤:
129.s6001,确定令牌的第二剩余有效期小于第二阈值,或者主控设备的当前时间与访问令牌的生成时间的第二差值超过第一阈值时,基于刷新令牌向被控设备发送更新令牌的消息,以使被控设备根据更新令牌的消息,对令牌进行更新,得到目标令牌,并将目标令牌发送至主控设备。
130.s6002,接收被控设备发送的目标令牌。
131.需要说明的是:上述s6001-s6002,已经在上面的实施例中详细描述过,为了避免重复,此处不再赘述。
132.本实施例中,通过上述方法对令牌进行更新,无需在令牌失效时重新让用户显性授权,能够直接获得新的访问令牌和刷新令牌,以及在令牌即将失效时,对令牌进行更新,能够提升用户的使用体验,避免浪费时间。
133.图6d为本公开实施例提供的通过主控设备和被控设备的交互更新令牌的示意图。图6d中所示的步骤,已经在上述实施例中详细描述过,为了避免重复,此处不再赘述。
134.在一些实施例中,所述令牌包括访问令牌和刷新令牌,所述方法还包括:
135.预设时间之后,接收到所述被控设备发送的所述令牌更新失败的消息,则向所述被控设备发送连接请求,以及接收到所述被控设备发送的连接成功的消息,向所述被控设备发送校验码生成指令,直至接收到所述被控设备发送的授权成功的消息。
136.其中,预设时间可以为三个月,远大于令牌的有效期,本实施例不做具体限定。
137.具体的,如果用户在超过预设时间之后,未使用主控设备控制被控设备,那么被控设备无法对令牌进行刷新。相应的,预设时间之后,主控设备接收到被控设备发送的令牌更新失败的消息,则向被控设备发送连接请求,以及接收到被控设备发送的连接成功的消息,向被控设备发送校验码生成指令,直至接收到被控设备发送的授权成功的消息,即:重复上述s610-s630。
138.本实施例中,如果用户在超过预设时间之后,未使用主控设备控制被控设备,则需要重新对主控设备进行授权,能够避免黑客袭击等安全风险,提高令牌的安全等级,保证用户的使用体验。
139.图7为本公开实施例提供的一种应用于被控设备的,设备的访问认证装置的结构示意图。该装置配置于电子设备中,可实现本技术任意实施例所述的应用于被控设备的,设备的访问认证方法。该装置具体包括如下:
140.第一接收模块701,用于接收主控设备发送的访问认证请求,其中,所述访问认证
请求中包含令牌、所述主控设备的第一用户标识信息以及第一设备标识信息,所述令牌为所述被控设备接收到所述主控设备发送的获取令牌的指令后生成并发送至所述主控设备的;
141.校验模块702,用于对所述令牌的剩余有效期、所述第一用户标识信息以及所述第一设备标识信息进行校验,并在校验通过后向所述主控设备发送访问认证通过的消息。
142.作为本公开实施例一种可选的实施方式,所述令牌中携带所述主控设备的第二用户标识信息和第二设备标识信息;所述令牌包括访问令牌;校验模块702,具体用于:
143.对所述访问令牌进行解密,得到所述第二用户标识信息和所述第二设备标识信息;
144.根据所述被控设备的当前时间和所述访问令牌的生成时间的第一差值,确定所述令牌的第一剩余有效期;
145.确定所述令牌的第一剩余有效期未超过第一阈值、所述第一用户标识信息与所述第二用户标识信息一致,以及所述第一设备标识信息与所述第二设备标识信息一致,则校验通过;
146.向所述主控设备发送访问认证通过的消息。
147.作为本公开实施例一种可选的实施方式,所述令牌包括访问令牌和刷新令牌,所述装置还包括:
148.更新消息接收模块,用于接收主控设备发送的更新令牌的消息,其中,所述更新令牌的消息为所述主控设备确定所述令牌的第二剩余有效期小于第二阈值,或者所述主控设备的当前时间与所述访问令牌的生成时间的第二差值超过所述第一阈值时,基于所述刷新令牌发送的,所述第二阈值小于第一阈值;
149.目标令牌发送模块,用于根据所述更新令牌的消息,对所述令牌进行更新,得到目标令牌,并将所述目标令牌发送至所述主控设备。
150.本公开实施例所提供的应用于被控设备的,设备的访问认证装置可执行本公开任意实施例所提供的应用于被控设备的,设备的访问认证方法,具备执行方法相应的功能模块和有益效果,为避免重复,这里不再赘述。
151.图8是本公开实施例提供的一种应用于主控设备的,设备的访问认证装置的结构示意图。该装置配置于电子设备中,可实现本技术任意实施例所述的应用于主控设备的,设备的访问认证方法。该装置具体包括如下:
152.发送模块801,用于向被控设备发送访问认证请求,以使所述被控设备对令牌的剩余有效期、所述主控设备的第一用户标识信息以及第一设备标识信息进行校验,并在校验通过后向所述主控设备发送访问认证通过的消息,其中,所述访问认证请求中包含令牌、所述主控设备的第一用户标识信息以及第一设备标识信息,所述令牌为所述被控设备接收到所述主控设备发送的获取令牌的指令后生成并发送至所述主控设备的;
153.第二接收模块802,用于接收所述被控设备发送的所述访问认证通过的消息。
154.作为本公开实施例一种可选的实施方式,所述装置还包括:
155.连接请求发送模块,用于向所述被控设备发送连接请求,以使所述被控设备基于所述连接请求中携带的所述主控设备的第一用户标识信息、密码信息以及第一设备标识信息进行校验,并在校验通过后向所述主控设备发送连接成功的消息;
156.第一指令发送模块,用于接收所述被控设备发送的连接成功的消息,向所述被控设备发送校验码生成指令,以使所述被控设备基于所述校验码生成指令生成目标校验码,并将所述目标校验码发送至所述主控设备;
157.校验码发送模块,用于接收所述被控设备发送的所述目标校验码,发送用户输入的所述目标校验码至所述被控设备,以使所述被控设备对所述目标校验码进行校验,并在校验通过后向所述主控设备发送授权成功的消息;
158.第二指令发送模块,用于接收所述被控设备发送的授权成功的消息,向所述被控设备发送获取令牌的指令,以使所述被控设备基于所述第一用户标识信息、第一设备标识信息以及时间戳信息,生成与所述主控设备对应的令牌,并将所述令牌发送至所述主控设备;
159.令牌接收模块,用于接收所述被控设备发送的所述令牌。
160.作为本公开实施例一种可选的实施方式,所述令牌包括访问令牌和刷新令牌,所述装置还包括:
161.更新消息发送模块,用于确定所述令牌的第二剩余有效期小于第二阈值,或者所述主控设备的当前时间与所述访问令牌的生成时间的第二差值超过第一阈值时,基于所述刷新令牌向所述被控设备发送更新令牌的消息,以使所述被控设备根据所述更新令牌的消息,对所述令牌进行更新,得到目标令牌,并将所述目标令牌发送至所述主控设备,其中,所述第二阈值小于第一阈值;
162.目标令牌接收模块,用于接收所述被控设备发送的所述目标令牌。
163.作为本公开实施例一种可选的实施方式,所述令牌包括访问令牌和刷新令牌,所述装置还包括:
164.授权模块,用于预设时间之后,接收到所述被控设备发送的所述令牌更新失败的消息,则向所述被控设备发送连接请求,以及接收到所述被控设备发送的连接成功的消息,向所述被控设备发送校验码生成指令,直至接收到所述被控设备发送的授权成功的消息。
165.本公开实施例所提供的应用于主控设备的,设备的访问认证装置可执行本公开任意实施例所提供的应用于主控设备的,设备的访问认证方法,具备执行方法相应的功能模块和有益效果,为避免重复,这里不再赘述。
166.本公开实施例提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开实施例中的任一种所述的设备的访问认证方法。
167.图9是本公开实施例提供的一种电子设备的结构示意图。如图9所示,该电子设备包括处理器910和存储装置920;电子设备中处理器910的数量可以是一个或多个,图9中以一个处理器910为例;电子设备中的处理器910和存储装置920可以通过总线或其他方式连接,图9中以通过总线连接为例。
168.存储装置920作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本公开实施例中的设备的访问认证方法对应的程序指令/模块。处理器910通过运行存储在存储装置920中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现本公开实施例所提供的设备的访问认证方法。
169.存储装置920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作
系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置920可进一步包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
170.本实施例提供的一种电子设备可用于执行上述任意实施例提供的设备的访问认证方法,具备相应的功能和有益效果。
171.本公开实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述设备的访问认证方法执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
172.其中,该计算机可读存储介质可以为只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
173.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1