一种终端间的数据通信方法及装置与流程

文档序号:24688973发布日期:2021-04-16 09:58阅读:51来源:国知局
一种终端间的数据通信方法及装置与流程

1.本发明涉及计算机领域,具体而言,涉及一种终端间的数据通信方法及装置。


背景技术:

2.随着物联网的不断发展,各个领域的技术都有了智能化、多样化的进步。物联网即物物相连的互联网。当下主流的物联网方案都是通过互联网相互连接的,不管是wifi、2g、3g、4g还是5g的网络环境,它们都有离线的可能性,一旦离线设备之间将无法联通、更无法身份识别,就降低了设备可用性。现有技术方案用在物联网上有一个重要的弊端,便是识别方必须是在线的(联网的),因此整个系统无法脱离互联网,无法做到双端闭环离线。
3.例如,目前在快递员操作快递自提柜场景中,快递员需要进行身份认证才能对自提柜进行快递投放等操作,但区域网络环境中有时会出现基站承受不住导致某台柜机突然断网的情况,那么在这种断网离线的情况下,快递自提柜便无法识别快递员的身份,进而导致影响了快递包裹投放,大大降低了自提柜的可用性。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种终端间的数据通信方法及装置,以至少解决现有终端之间数据通信必须在线才可以实现相互连接的技术问题。
6.根据本发明实施例的一个方面,提供了一种终端间的数据通信方法,应用于第一终端,包括:获取来自第二终端的验证信息,所述验证信息中包含第二终端的用户标识和用户系统时间;利用密钥信息解析所述验证信息;判断解析后的验证信息是否符合操作权限开启条件;若判断结果为是,开启操作权限;操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
7.可选的,预设操作时间范围是第一终端获取的与用户标识对应的用户操作时间范围。
8.可选的,操作权限开启条件还包括:用户系统时间与第一终端的当前时间匹配。
9.可选的,验证信息包括利用密钥信息对用户标识和用户系统时间执行加密操作生成的信息。
10.可选的,密钥信息存储在所述第一终端的安全存储区域中。
11.可选的,利用密钥信息解析所述验证信息包括:分别利用多个候选密钥信息解析验证信息;其中,第一终端存储有多个候选密钥信息和对应的预存标识。
12.可选的,利用密钥信息解析验证信息的步骤包括:利用公钥解析验证信息;利用解析后的验证信息中的用户标识查找对应的密钥信息;利用查找到的密钥信息解析所述验证信息。
13.可选的,开启操作权限包括:显示允许操作的用户界面;和/或显示允许连接的信息。
14.根据本发明实施例的另一方面,还提供了一种终端间的数据通信方法,应用于第二终端,包括:利用密钥信息、用户标识和用户系统时间生成验证信息,验证信息中包含第二终端的用户标识和用户系统时间,发送验证信息;其中,验证信息用于供第一终端执行解析,并用于供第一终端判断解析后的验证信息是否符合操作权限开启条件;操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
15.可选的,密钥信息是第一终端和第二终端共享的密钥。
16.可选的,第一终端中包括多个候选密钥信息,每个候选密钥信息关联一个预存标识。
17.根据本发明实施例的另一方面,还提供了一种数据通信方法,应用于物流对象管理设备,包括:获取来自手持终端的验证信息,验证信息中包含手持终端的用户标识和用户系统时间;利用物流对象管理设备的密钥信息解析验证信息;判断解析后的验证信息是否符合操作权限开启条件;若判断结果为是,开启操作权限;操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
18.根据本发明实施例的另一方面,还提供了一种iot设备间的数据通信方法,应用于第一iot设备,包括:获取来自第二iot设备的验证信息,验证信息中包含第二iot设备的用户标识和用户系统时间;利用第一iot设备的密钥信息解析验证信息;判断解析后的验证信息是否符合操作权限开启条件;若判断结果为是,开启操作权限;操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
19.根据本发明实施例的另一方面,还提供了一种终端间的数据通信方法,应用于捐赠物品管理设备,包括:获取来自手持终端的验证信息,验证信息中包含手持终端的用户标识和用户系统时间;利用密钥信息解析验证信息;判断解析后的验证信息是否符合操作权限开启条件;若判断结果为是,开启操作权限;操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内;预设操作时间范围是捐赠物品管理设备从服务端获取的与用户标识对应的用户操作时间范围,用户操作时间范围的用户操作包括投递捐赠物品。
20.根据本发明实施例的另一方面,还提供了一种终端间的数据通信方法,应用于第一终端,包括:获取来自第二终端的验证信息,验证信息中包含第二终端的用户标识;利用密钥信息解析验证信息;判断解析后的验证信息是否符合操作权限开启条件;若判断结果为是,开启操作权限;操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;其中,密钥信息存储在第一终端的安全存储区域中。
21.可选的,解析后的验证信息中包含第二终端的用户系统时间,操作权限开启条件还包括:用户系统时间与第一终端的当前时间匹配。
22.根据本发明实施例的另一方面,还提供了一种终端间的数据通信装置,包括:获取模块,用于获取来自第二终端的验证信息,验证信息中包含第二终端的用户标识和用户系统时间;解析模块,用于利用密钥信息解析验证信息;判断模块,用于判断解析后的验证信息是否符合操作权限开启条件;执行模块,用于若判断结果为是,开启操作权限;操作权限
开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
23.根据本发明实施例的另一方面,还提供了一种非易失性存储介质,包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行所述的方法
24.根据本发明实施例的另一方面,还提供了一种计算设备,包括:存储器,其中存储有计算机可读程序;处理器,所述处理器用于运行所述计算机可读程序,其中,所述计算机可读程序运行时,执行所述的方法。
25.在本发明实施例中,采用匹配验证信息中用户标识是否与密钥信息关联的预存标识一致,同时判断验证信息中时间信息是否匹配的手段,来开启操作权限,达到了离线状态下识别身份的目的,从而实现了当设备离线时也能进行身份识别的技术效果,进而解决了现有终端之间数据通信必须在线才可以实现相互连接的技术问题。
附图说明
26.此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
27.图1是根据本发明实施例的不同终端之间离线反扫交互示意图;
28.图2是根据本发明实施例的iot设备之间离线认证示意图;
29.图3是根据本发明实施例应用于第一终端的一种终端间的数据通信方法的流程图;
30.图4是根据本发明实施例应用于第二终端的一种终端间的数据通信方法的流程图;
31.图5是根据本发明实施例应用于物流对象管理设备的一种数据通信方法的流程图;
32.图6是根据本发明实施例应用于第一iot设备的一种iot设备间的数据通信方法的流程图;
33.图7是根据本发明实施例应用于捐赠物品管理设备的一种终端间的数据通信方法的流程图;
34.图8是根据本发明实施例另一种应用于第一终端的一种终端间的数据通信方法的流程图;
35.图9是根据本发明实施例的一种终端间的数据通信装置的结构框图;
36.图10示意性地示出了用于执行根据本发明的方法的终端设备的框图;
37.图11示意性地示出了用于保持或者携带实现根据本发明的方法的程序代码的存储单元。
具体实施方式
38.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范
围。
39.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
40.根据本发明实施例,提供了一种终端间的数据通信方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
41.图1是根据本发明实施例的一种可选的不同终端之间离线反扫交互示意图,如图1所示,例如在包裹投递的场景下,用户(例如快递员)利用把枪12(也称为扫描枪,巴枪等,为快递员的手持扫描装置或者集成于自提柜10的扫描装置)扫描其手机端14的二维码,把枪12将采集的二维码信息回传给存放包裹的自提柜10。
42.具体地,用户的手机端14的界面显示的二维码验证信息由把枪12进行扫描采集,并发送至自提柜10的处理系统中,自提柜10根据该二维码验证信息进行判断是否开启自提柜10的操作权限,以供生成验证信息的手机端14的用户操作自提柜的各项功能。
43.在本发明的一些实施例中,用户的手机端14生成的验证信息时,可以根据otp或者totp算法,利用共享密钥和该用户的用户名来生成二维码验证信息,同时自提柜10解析该验证信息的时候也是通过otp或者totp反解析的方法得到用户信息,以验证用户是否为具备操作权限的用户。
44.图2是根据本发明实施例的一种iot设备之间离线认证示意图。具体地,本发明实施例提出的验证方法还可以应用到iot设备领域,在iot设备场景下,如图2所示,第一iot设备例如为扫地机器人,第二iot设备例如为智能空调,当智能空调向扫地机器人发送验证信息时,扫地机器人接收验证信息并根据totp算法反向解析验证信息,再通过验证之后向智能空调开启操作权限,智能空调则可以根据用户的需求来控制扫地机器人的工作。
45.以下通过多个实施例进行说明。
46.第一实施例
47.图3是根据本发明实施例的一种终端间的数据通信方法,如图3所示,所述终端间的数据通信方法应用于第一终端,该方法可以包括如下步骤:
48.步骤s302,获取来自第二终端的验证信息,所述验证信息中包含第二终端的用户标识和用户系统时间。
49.具体地,第二终端可以是用户的移动终端,例如手机、平板电脑、智能手表,也可以是带有计算功能的终端,例如pc端、iot设备等。第二终端通过智能化处理功能生成一个用于识别第二终端身份的验证信息,该验证信息由用户系统时间和用户标识信息通过密钥信息加密组成,其中密钥信息可以是totp算法中的共享密钥,即一种通用于认证端和被认证端的共用密钥信息。
50.otp全称是one-time-password,也称动态口令,是根据专门的算法每隔一定时间(例如:60秒)生成一个与时间相关的、不可预测的随机数字组合。totp(time-based one-time-password)是在otp算法的基础上加上时间信息,是一种从共享密钥和当前时间计算一次性密码的算法,它是基于散列的消息认证码,使用加密哈希函数将共享密钥与当前时间戳组合在一起以生产一次性密码。
51.另外,来自第二终端的验证信息其中含有用户标识和用户系统时间,用户标识可以是用户id,根据第二终端的验证信息中的用户id,与第一终端本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。而用户系统时间为第二终端的实时系统时间,第二终端在生成上述验证信息的时候,除了验证信息中要包含用户id以外,还要包含当前用户系统的时间,以便后续验证和解析步骤的执行之用。
52.可选的,验证信息包括利用密钥信息对用户标识和用户系统时间执行加密操作生成的信息。
53.具体地,验证信息可以是利用密钥信息对用户的用户名id以及用户使用的当前程序(例如软件、app)所在的系统的时间戳信息进行加密,以得到验证信息。其中,用户名id是第二终端用户的用户id,当用户在第一终端注册过用户信息的时候,第一终端会根据用户信息生成一个专用于该用户识别用的用户标识;时间戳信息为由第一终端和第二终端中时间信息生成的参数。例如,当第二终端为手机移动端时,手机处理器根据当前需要认证的用户的用户id,以及当前地区的时间(在第一终端/第二终端上的时间戳信息)这两个参数通过totp算法中共享密钥来进行加密,生成一个动态二维码。其中该动态二维码是根据时间戳信息的不同而变化的,具体过程为当用户操作手机屏幕中“认证”按钮,手机根据当前时间,例如,下午3点40(3:40pm)以及用户id10001,通过共享密钥为“45@6”的共享密钥计算生成一个动态二维码,并在手机屏幕显示该二维码以便被第一终端认证,因此这个二维码是由3:40pm和10001通过45@6加密,生成字符串并转换为二维码进行显示的。
54.totp算法一般用于信息加密和解密中,它是一种从共享密钥和当前时间计算一次性密码的算法,是基于散列的消息认证码,使用加密哈希函数将共享密钥与当前时间戳组合在一起以生产一次性密码。
55.第二终端生成的验证信息还可以是条码或加密字符串,也可以是其他形式,例如将密码信号转换为其他形式的信号发出,即只要能达到通过加密的方式生成识别认证所用的信息,就涵盖于本发明实施例的范围之内。
56.在一些实施例中,第一终端和第二终端之间可以直接传递信息。在其他实施例中,第一终端和第二终端可以通过第三终端间接传递信息。例如在快递人员操作自提柜的场景中,快递人员可以使用特制的扫描装置(例如前述的把枪)读取当前手机生成的二维码,并发送给自提柜。
57.具体地,如图1所示,快递员的手机端14的app界面显示的二维码验证信息通过把枪扫描装置12的扫描采集,并将验证信息发送至自提柜10中,自提柜10根据快递员的手机端14生成的验证信息进行判断是否开启自提柜10的操作权限,以供生成验证信息的手机端用户操作自提柜的各项功能。
58.需要说明的是,第三终端还可以是一种其他形式的信号接收装置,在此并不限定。
59.具体地,前述其他实施例中,如图2所示,第一、第二终端还可以是iot设备,例如,在离线状态下,智能空调通过信号发射器向扫地机器人发出身份认证请求,扫地机器人根据智能空调所发出的请求进行离线判断是否可以认证该智能空调为有权限进行操作的设备,当认证通过,则空调可以对扫地机器人下达工作指令。
60.步骤s304,利用密钥信息解析验证信息。
61.可选的,利用密钥信息解析所述验证信息包括:分别利用多个候选密钥信息解析验证信息;其中,第一终端存储有多个候选密钥信息和对应的预存标识。
62.具体地,在根据步骤s302获得的验证信息来解析时,第一终端利用在第一终端本地存储区域存储的多个带有预存标识的密钥信息来逐一对验证信息进行解析,直到解析完毕,则进行后续步骤的分析和处理。
63.第一终端本地存储的多个密钥信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,那么用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则第一终端会根据获取到的验证信息同时调用数据库中所有的密钥信息对其进行一一解析,在这种情况下,当用户id10001的验证信息遇到第一终端本地存储的密钥信息a时,则解析成功。
64.还需要说明的是,预存标识可以是用户id信息,也可以是其他与第二终端用户app相关联的用户数据,即只要达到通过预存标识对密钥信息的一对一解析进行匹配即可。
65.可选的,利用密钥信息解析验证信息的步骤包括:利用公钥解析验证信息;利用解析后的验证信息中的用户标识查找对应的密钥信息;利用查找到的密钥信息解析所述验证信息。
66.具体地,利用公钥对第二终端生成的验证信息进行解析时,可以解析出验证信息中的用户标识,然后利用得到的用户标识对第一终端本地数据库中的用户标识键进行查找操作,得到与该用户标识关联的密钥信息,最后利用与该用户标识关联的密钥信息来解析验证信息。
67.公钥是相对于带有预存标识的密钥信息的一种通用密钥信息,公钥可以用于解析任何一个用户的第二终端发来的验证信息,并将该验证信息简单地解析出验证信息中的用户标识,以备后续处理之用。
68.与公钥解析出的用户标识所关联的密钥信息,是第一终端本地存储的多个密钥信息,该信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,那么用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则第一终端会根据公钥对验证信息进行解析,并获得用户id10001,然后根据数据库中与用户id10001对应的密钥信息进行后续的解析步骤。
69.步骤s306,判断解析后的验证信息是否符合操作权限开启条件;
70.所述操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
71.根据本发明实施例,步骤s306中用户系统时间是第二终端用户系统生成验证信息时的时间信息,例如,当用户与2018年3月12日14点56分生成验证信息,那么用户系统时间信息就是2018年3月12日14点56分,即上述操作权限开启条件为用户系统时间信息是否属于第一终端系统中规定的用户可以开启权限操作的时间信息,这是一种时间范围的匹配关
系,用于将用户第二终端的验证工作规定在第一终端允许进行验证工作的时间范围之内,以提高第一终端的通信安全性。
72.可选的,预设操作时间范围是第一终端获取的与用户标识对应的用户操作时间范围。
73.具体地,第一终端可以获取用户标识对应用户向第一终端发送的操作时间范围,其中,该时间范围可以是某个时间段,例如14点至15点之间,用户将会对第一终端进行操作,届时第一终端会针对用户系统时间来核实该验证信息是否符合这个时间段,以进一步判断用户的真伪性。
74.需要说明的是,用户标识对应的用户可以将预设操作时间范围设置为一天之中的几个时间段,而不限于某一个时间段,例如可以是,用户标识对应的用户将第一终端中的预设操作时间范围设置为9点至10点以及14点至15点,即当用户在这两个时间段进行第一终端验证时,第一终端会在验证通过后允许用户进行相关操作。
75.可选的,操作权限开启条件还包括:用户系统时间与第一终端的当前时间匹配。
76.具体地,用户系统时间与第一终端的当前时间进行匹配指的是将用户第二终端的系统时间信息与第一终端中当前的系统时间信息进行比对,以保证第一终端和用户系统的时间一致性。
77.需要说明的是,上述用户系统时间与第一终端的当前时间匹配可以是将两种时间信息进行比对,并根据是否一致决定匹配结果,也可以是将两种时间进行匹配,并根据两种时间的差值是否在预设误差之内,来判断匹配的结果。
78.例如,当第一终端当前时间为14点55分的时候,用户系统时间为14点52分,预设误差可以是两种时间相比快或慢5分钟,那么因此两种时间符合误差5分钟的设置,并生成匹配成功的结果。再例如,误差可以不限为5分钟,也可以为1小时等,可以对其中一者或者二者时间进行模糊处理,例如将14点55和14点52分均模糊至14点50分至15点00分之间,生成匹配成功的结果。
79.可选的,密钥信息存储在第一终端的安全存储区域中。
80.具体地,第一终端的存储区域可以利用tee(安全存储区域)技术进行配置,安全存储区域是用硬件加密的方式对密钥信息进行加密,密钥信息存储的区域就是安全存储区域,其与系统存储的区域是物理隔离的,而且安全存储区域采用了硬件加密,硬件加密无法被破解。当第一终端(例如快递柜)处于长期无人维护的状态下,如果被盗抢后无人发现,密钥可能会被破解,则会造成第一终端及其中的物品的损失。但是如果密钥信息采用了硬件加密的手段,则不存在被破解的可能性,这样即便第一终端被盗抢,造成损失的概率也会减少。
81.另外,针对步骤s306,由于第二终端的验证信息包含了用户标识和时间戳信息,其中时间戳信息可以为当前时间信息,例如为第二终端和第一终端中显示的当前所在地区的时间,那么第一终端在解析验证信息之后,将解析后得到的验证信息中的当前时间信息与第一终端本地的时间信息进行比较,并根据是否一致进行下一步的分析和处理。
82.例如,当用户手机生产验证信息的时间为3:40pm,那么验证信息中包含的时间信息即是3:40pm,当第二终端对验证信息解析之后,得到3:40pm为验证信息的时间信息,同时根据该时间信息与第二终端本地的时间信息进行比对,并生成匹配结果。
83.上述本发明的实施例中,匹配结果可以是返回“匹配成功”、“匹配失败”,也可以根据密钥信息匹配程度进行反馈。根据匹配程度进行反馈用于第一密钥信息复杂度较高时,为了排除误差的可能性,可以利用处理器对匹配结果的分析,得出匹配程度值,并根据预设阈值判断是否匹配成功。当匹配程度值超出预设阈值时,认为匹配成功。
84.步骤s308,若判断结果为是,开启操作权限。
85.可选的,开启操作权限包括:显示允许操作的用户界面;和/或显示允许连接的信息。
86.具体地,根据s306所获得的匹配结果,当第一终端判断匹配成功时,则通过对当前认证用户的认证,并对该用户开启对第一终端的操作权限。
87.例如,第一终端通过对用户id10001的手机终端生成的二维码(验证信息)中进行匹配认证,在第一终端屏幕上显示“用户id10001认证通过”,并根据用户的操作进入第二终端操作主界面。其中,第一终端可以是包裹自提柜,用户可以是需要投放包裹的快递员,当自提柜通过对快递员的身份认证后,出现操作主界面,可提供快递员进行投放包裹的全部相关操作。
88.根据本发明的实施例,还需要说明的是,上述方法还可以包括:判断第一终端是否处于网络连接状态,并当判断第一终端未处于网络连接状态的时候,执行图3所示的步骤。其中,判断第一终端是否处于网络连接状态可以是通过固定频率向服务器端发出检测响应信号,并在未收到服务器的检测回应信号若干时间后,确定第一终端的网络连接状态为未处于网络连接。
89.通过上述本发明实施例的步骤,可以实现当设备(例如自提柜)离线时仍然能够对用户进行识别的技术效果。
90.第二实施例
91.根据本发明实施例的另一方面,如图4所示,还提供了一种终端间的数据通信方法,应用于第二终端,包括:
92.步骤s402,利用密钥信息、用户标识和用户系统时间生成验证信息,验证信息中包含第二终端的用户标识和用户系统时间;
93.第二终端可以是用户手持的移动终端,例如手机、平板电脑、智能手表等,也可以是带有计算功能的其他类型智能终端,例如pc端、iot设备等。第二终端通过智能化处理功能生成一个用于识别第二终端身份的验证信息,该验证信息由用户系统时间和用户标识信息通过密钥信息加密组成,其中密钥信息可以是totp算法中的共享密钥,即一种通用于认证端和被认证端的共用密钥信息。
94.另外,来自第二终端的验证信息其中含有用户标识和用户系统时间,用户标识可以是用户id,根据第二终端的验证信息中的用户id,与第一终端本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。而用户系统时间为第二终端的实时系统时间,第二终端在生成上述验证信息的时候,除了验证信息中要包含用户id以外,还要包含当前用户系统的时间,以便后续验证和解析步骤的执行之用。
95.步骤s404,发送验证信息;
96.其中,验证信息用于供第一终端执行解析,并用于供第一终端判断解析后的验证
信息是否符合操作权限开启条件;
97.操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
98.具体地,第二终端可以通过远程通讯协议向第一终端发送验证信息,也可以通过第三终端,例如把枪等扫描装置,对第二终端生成的验证信息进行扫描采集。
99.具体地,验证信息可以是利用密钥信息对用户的用户名id以及系统的时间戳信息进行加密,以得到最终的加密结果,该加密结果即是验证信息。其中,用户名id是第二终端用户的用户id,当用户在第一终端注册过用户信息的时候,第一终端会根据用户信息生成一个专用于该用户识别用的用户标识;当前app系统的时间戳信息为由第一终端和第二终端中时间信息生成的参数。例如,当第二终端为手机移动端时,手机处理器根据当前需要认证的用户的用户id,以及当前地区的时间(在第一终端和第二终端上的时间戳信息)这两个参数通过totp算法中共享密钥来进行加密,生成一个动态二维码。其中该动态二维码可以是根据时间戳信息的不同而变化的,具体过程为当用户操作手机屏幕中“认证”按钮,手机根据当前时间下午3点40(3:40pm)以及用户id10001,通过共享密钥为“45@6”计算生成一个动态二维码,并在手机屏幕显示该二维码以便被第一终端认证,因此这个二维码是由3:40pm和10001通过45@6加密,生成字符串并转换为二维码进行显示的。
100.可选的,密钥信息是第一终端和第二终端共享的密钥。
101.可选的,第一终端中包括多个候选密钥信息,每个候选密钥信息关联一个所述预存标识。
102.具体地,第一终端利用在第一终端本地存储区域存储的多个关联有预存标识的密钥信息来逐一对验证信息进行解析,直到解析完毕,则进行后续步骤的分析和处理。
103.需要说明的是,第一终端本地存储的多个密钥信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,则用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则第一终端会根据获取到的验证信息同时调用数据库中所有的密钥信息对其进行一一解析,在这种情况下,当用户id10001的验证信息遇到第一终端本地存储的密钥信息a的时候,则解析成功。
104.还需要说明的是,预存标识可以是用户id信息,也可以是其他与第二终端用户app相关联的用户数据,即只要达到通过预存标识对密钥信息的一对一解析进行匹配即可。
105.第三实施例
106.根据本发明实施例的另一方面,如图5所示,还提供了一种数据通信方法,应用于物流对象管理设备,包括:
107.步骤s502,获取来自手持终端的验证信息,验证信息中包含手持终端的用户标识和用户系统时间;
108.具体地,手持终端可以是用户的移动终端,例如手机、平板电脑、智能手表等。手持终端通过智能化处理功能生成一个用于识别手持终端身份的验证信息,该验证信息由用户系统时间和用户标识信息通过密钥信息加密组成,其中密钥信息可以是totp算法中的共享密钥,即一种通用于认证端和被认证端的共用密钥信息。
109.另外,来自手持终端的验证信息其中含有用户标识和用户系统时间,用户标识可
以是用户id,根据手持终端的验证信息中的用户id,与物流对象管理设备本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。而用户系统时间为手持终端的实时系统时间,手持终端在生成上述验证信息的时候,除了验证信息中要包含用户id以外,还要包含当前用户系统的时间,以便后续验证和解析步骤的执行之用。
110.根据本发明实施例,验证信息包括利用密钥信息对用户标识和用户系统时间执行加密操作生成的信息。
111.具体地,验证信息可以是利用密钥信息对用户的用户名id以及系统的时间戳信息进行加密,以得到验证信息。其中,用户名id是手持终端用户的用户id,当用户在物流对象管理设备注册过用户信息的时候,物流对象管理设备会根据用户信息生成一个专用于该用户识别用的用户标识;系统的时间戳信息为由物流对象管理设备和手持终端中时间信息生成的参数。例如,当手持终端为手机移动端时,手机处理器根据当前需要认证的用户的用户id,以及当前地区的时间(在第一终端和第二终端上的时间戳信息)这两个参数通过totp算法中共享密钥来进行加密,生成一个动态二维码。其中该动态二维码是根据时间戳信息的不同而变化的,具体过程为当用户操作手机屏幕中“认证”按钮,手机根据当前时间,例如,下午3点40(3:40pm)以及用户id10001,通过共享密钥为“45@6”的共享密钥计算生成一个动态二维码,并在手机屏幕显示该二维码以便被第一终端认证,因此这个二维码是由3:40pm和10001通过45@6加密,生成字符串并转换为二维码进行显示的。
112.根据本发明实施例,totp算法一般用于信息加密和解密中,它是一种从共享密钥和当前时间计算一次性密码的算法,是基于散列的消息认证码,使用加密哈希函数将共享密钥与当前时间戳组合在一起以生产一次性密码。
113.手持终端生成的验证信息还可以是条码或加密字符串,也可以是其他形式,例如将密码信号转换为其他形式的信号发出,即只要能达到通过加密的方式生成识别认证所用的信息,就涵盖于本发明实施例的范围之内。
114.在一些实施例中,物流对象管理设备和手持终端之间可以直接传递信息。在其他实施例中,物流对象管理设备和手持终端可以通过把枪终端间接传递信息。例如在快递人员操作自提柜的场景中,快递人员可以使用特制的扫描装置(例如把枪)读取当前手机生成的二维码,并发送给自提柜。
115.具体地,如图1所示,图中14为快递员的手机端的app界面,该界面显示的二维码验证信息通过把枪扫描装置12的扫描采集,并将验证信息发送至自提柜10中,自提柜10根据快递员的手机端14生成的验证信息进行判断是否开启自提柜10的操作权限,以供生成验证信息的手机端用户操作自提柜的各项功能。
116.需要说明的是,把枪终端还可以是一种其他形式的信号接收装置,在此并不限定。
117.步骤s504,利用物流对象管理设备的密钥信息解析验证信息;
118.在这一步骤中,物流对象管理设备,例如自提柜,其中可以存储有多个候选密钥信息,在收到验证信息之后,可以利用多个候选密钥信息分别对验证信息进行解析。
119.其中,物流对象管理设备存储有多个候选密钥信息和对应的预存标识。每一个预存标识可以与一个候选密钥信息关联。当利用该候选密钥信息解析该验证信息后,获得的解析后验证信息中包含该预存标识时,或者包括含的内容与对应的预存标识匹配时,则认
为该验证信息通过了验证。
120.可选的,利用密钥信息解析所述验证信息包括:分别利用多个候选密钥信息解析验证信息;其中,物流对象管理设备存储有多个候选密钥信息和对应的预存标识。
121.具体地,在根据步骤s502获得的验证信息来解析时,物流对象管理设备利用在物流对象管理设备本地存储区域存储的多个带有预存标识的密钥信息来逐一对验证信息进行解析,直到解析完毕,则进行后续步骤的分析和处理。
122.物流对象管理设备本地存储的多个密钥信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,那么用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则物流对象管理设备会根据获取到的验证信息同时调用数据库中所有的密钥信息对其进行一一解析,那么在这种情况下,当用户id10001的验证信息遇到物流对象管理设备本地存储的密钥信息a的时候,则解析成功。
123.还需要说明的是,预存标识可以是用户id信息,也可以是其他与手持终端用户app相关联的用户数据,即只要达到通过预存标识对密钥信息的一对一解析进行匹配即可。
124.可选的,利用密钥信息解析验证信息的步骤包括:利用公钥解析验证信息;利用解析后的验证信息中的用户标识查找对应的密钥信息;利用查找到的密钥信息解析所述验证信息。
125.具体地,利用公钥对手持终端生成的验证信息进行解析时,可以解析出验证信息中的用户标识,然后利用得到的用户标识对物流对象管理设备本地数据库中的用户标识键进行查找操作,得到与该用户标识关联的密钥信息,最后利用与该用户标识关联的密钥信息来解析验证信息。
126.公钥是相对于带有预存标识的密钥信息的一种通用密钥信息,公钥可以用于解析任何一个用户的手持终端发来的验证信息,并将该验证信息简单地解析出验证信息中的用户标识,以备后续处理之用。
127.与公钥解析出的用户标识所关联的密钥信息,是物流对象管理设备本地存储的多个密钥信息,该信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,那么用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则第一终端会根据公钥对验证信息进行解析,并获得用户id10001,然后根据数据库中与用户id10001对应的密钥信息进行后续的解析步骤。
128.步骤s506,判断解析后的验证信息是否符合操作权限开启条件,操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
129.具体地,根据s504所得到的解析之后的验证信息,其中含有用户标识,用户标识可以是用户id,根据手持终端的验证信息中的用户id,与物流对象管理设备本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。
130.根据本发明实施例,步骤s506中用户系统时间是手持终端用户系统生成验证信息时的时间信息,例如,当用户于2018年3月12日14点56分生成验证信息,那么用户系统时间
信息就是2018年3月12日14点56分,即上述操作权限开启条件为用户系统时间信息是否属于第一终端系统中规定的用户可以开启权限操作的时间信息,这是一种时间范围的匹配关系,用于将用户手持终端的验证工作规定在物流对象管理设备允许进行验证工作的时间范围之内,以提高整个第一终端的通信安全性。
131.根据本发明实施例,预设操作时间范围是物流对象管理设备获取的与用户标识对应的用户操作时间范围。
132.具体地,物流对象管理设备可以获取用户标识对应用户向物流对象管理设备发送的操作时间范围,其中,该时间范围可以是某个时间段,例如14点至15点之间,用户将会对物流对象管理设备进行操作,届时物流对象管理设备会针对用户系统时间来核实该验证信息是否符合这个时间段,以进一步判断用户的真伪性。
133.需要说明的是,用户标识对应的用户可以将预设操作时间范围设置为一天之中的几个时间段,而不限于某一个时间段,例如可以是,用户标识对应的用户将物流对象管理设备中的预设操作时间范围设置为9点至10点以及14点至15点,即当用户在这两个时间段进行物流对象管理设备验证的时候,物流对象管理设备会在验证通过后允许用户进行相关操作。
134.可选的,操作权限开启条件还包括:用户系统时间与物流对象管理设备的当前时间匹配。
135.具体地,用户系统时间与物流对象管理设备的当前时间进行匹配指的是将用户手持终端的系统时间信息与物流对象管理设备中当前的系统时间信息进行比对,以保证物流对象管理设备和用户系统的时间一致性。
136.需要说明的是,上述用户系统时间与第一终端的当前时间匹配可以是将两种时间信息进行比对,并根据是否一致决定匹配结果,也可以是将两种时间进行匹配,并根据两种时间的差值是否在预设误差之内,来判断匹配的结果。
137.例如,当物流对象管理设备当前时间为14点55分的时候,用户系统时间为14点52分,预设误差可以是两种时间相比快或慢5分钟,那么因此两种时间符合误差5分钟的设置,并生成匹配成功的结果。
138.可选的,密钥信息存储在物流对象管理设备的安全存储区域中。
139.具体地,物流对象管理设备的存储区域是利用了tee(安全存储区域)技术进行配置,安全存储区域是用硬件加密的方式对密钥信息进行加密,密钥信息存储的区域就是安全存储区域,其与系统存储的区域是物理隔离的,而且安全存储区域采用了硬件加密,硬件加密无法被破解,这个操作的技术效果在于,物流对象管理设备本身就是一种特殊的智能装置,可能一个月或者半个月才会有人去维护,如果发生存在主观恶意的人破解了密钥,造成损失。但是如果密钥信息采用的是硬件加密,则不存在被破解的可能性,这样即便第一终端被盗抢,造成损失的概率也会减少
140.另外,针对步骤s506,由于手持终端的验证信息包含了用户标识和时间戳信息,其中时间戳信息即当前时间信息,可以理解为手持终端和物流对象管理设备中显示的当前所在地区的时间,那么物流对象管理设备在解析验证信息之后,将解析后得到的验证信息中的当前时间信息与物流对象管理设备本地的时间信息进行比较,并根据是否一致进行下一步的分析和处理。
141.例如,当用户手机生产验证信息的时间为3:40pm,那么验证信息中包含的时间信息即是3:40pm,当手持终端对验证信息解析之后,得到3:40pm为验证信息的时间信息,同时根据该时间信息与手持终端本地的时间信息进行比对,并生成匹配结果。
142.上述本发明的实施例中,匹配结果可以是返回“匹配成功”、“匹配失败”,也可以根据密钥信息匹配程度进行反馈。根据匹配程度进行反馈用于第一密钥信息复杂度较高时,为了排除误差的可能性,可以利用处理器对匹配结果的分析,得出匹配程度值,并根据预设阈值判断是否匹配成功。当匹配程度值超出预设阈值时,认为匹配成功。
143.步骤s508,若判断结果为是,开启操作权限。
144.可选的,开启操作权限包括:显示允许操作的用户界面;和/或显示允许连接的信息。
145.具体地,根据匹配结果,当物流对象管理设备判断匹配成功时,则通过对当前认证用户的认证,并对该用户开启对物流对象管理设备的操作权限。
146.例如,物流对象管理设备通过对用户id10001的手机终端生成的二维码(验证信息)中进行匹配认证,在物流对象管理设备屏幕上显示“用户id10001认证通过”,并根据用户的操作进入手持终端操作主界面。其中,物流对象管理设备可以是包裹自提柜,用户可以是需要投放包裹的快递员,当自提柜通过对快递员的身份认证后,出现操作主界面,可提供快递员进行投放包裹的全部相关操作。
147.通过上述本发明实施例的步骤,可以实现当设备离线时对用户进行识别的技术效果。
148.第四实施例
149.根据本发明实施例的另一方面,如图6所示,还提供了一种iot设备间的数据通信方法,应用于第一iot设备,包括:
150.步骤s602,获取来自第二iot设备的验证信息,验证信息中包含第二iot设备的用户标识和用户系统时间;
151.在一些实施例中,第一iot设备例如为扫地机器人,第二iot设备例如为智能空调。在离线状态下,智能空调通过信号发射器向扫地机器人发出身份认证请求,扫地机器人根据智能空调所发出的请求进行离线判断是否可以认证该智能空调为有权限进行操作的设备,当认证通过,则空调可以对扫地机器人下达工作指令。
152.另外,来自第二iot设备的验证信息其中含有用户标识和用户系统时间,用户标识可以是用户id,根据第二iot设备的验证信息中的用户id,与第一iot设备本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。而用户系统时间为第二iot设备的实时系统时间,第二iot设备在生成上述验证信息的时候,除了验证信息中要包含用户id以外,还要包含当前用户系统的时间,以便后续验证和解析步骤的执行之用。
153.第二iot设备通过智能化处理功能生成一个用于识别第二iot设备身份的验证信息,该验证信息由用户系统时间和用户标识信息通过密钥信息加密组成,其中密钥信息可以是totp算法中的共享密钥,即一种通用于认证端和被认证端的共用密钥信息。
154.需要说明的是,totp算法是一种从共享密钥(secretkey)和当前时间计算一次性密码的算法,它是基于散列的消息认证码,使用加密哈希函数将共享密钥与当前时间戳组
合在一起以生产一次性密码。
155.根据本发明实施例,验证信息包括利用密钥信息对用户标识和用户系统时间执行加密操作生成的信息。
156.具体地,验证信息可以是利用密钥信息对用户的用户名id以及当前app系统的时间戳信息进行加密,以得到验证信息。其中,用户名id是第二iot设备用户的用户id,当用户在第一iot设备注册过用户信息的时候,第一iot设备会根据用户信息生成一个专用于该用户识别用的用户标识;当前app系统的时间戳信息为由第一iot设备和第二iot设备中时间信息生成的参数。例如,当第二iot设备为智能空调时,空调的处理器根据当前需要认证的用户的用户id,以及当前地区的时间(在第一终端和第二终端上的时间戳信息)这两个参数通过totp算法中共享密钥来进行加密,生成一个动态二维码。其中该动态二维码是根据时间戳信息的不同而变化的。
157.根据本发明实施例,totp算法一般用于信息加密和解密中,它是一种从共享密钥和当前时间计算一次性密码的算法,是基于散列的消息认证码,使用加密哈希函数将共享密钥与当前时间戳组合在一起以生产一次性密码。
158.第二iot设备生成的验证信息还可以是条码或加密字符串,也可以是其他形式,例如将密码信号转换为其他形式的信号发出,即只要能达到通过加密的方式生成识别认证所用的信息,就涵盖于本发明实施例的范围之内。
159.在一些实施例中,第一iot设备和第二iot设备之间可以直接传递信息。在其他实施例中,第一iot设备和第二iot设备可以通过第三终端间接传递信息。第三终端还可以是一种其他形式的信号接收装置,在此并不限定。
160.步骤s604,利用第一iot设备的密钥信息解析验证信息;
161.可选的,利用密钥信息解析所述验证信息包括:分别利用多个候选密钥信息解析验证信息;其中,第一iot设备存储有多个候选密钥信息和对应的预存标识。
162.具体地,在根据步骤s602获得的验证信息来解析时,第一iot设备利用在第一iot设备本地存储区域存储的多个带有预存标识的密钥信息来逐一对验证信息进行解析,直到解析完毕,则进行后续步骤的分析和处理。
163.第一iot设备本地存储的多个密钥信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,那么用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则第一iot设备会根据获取到的验证信息同时调用数据库中所有的密钥信息对其进行一一解析,那么在这种情况下,当用户id10001的验证信息遇到第一iot设备本地存储的密钥信息a的时候,则解析成功。
164.还需要说明的是,预存标识可以是用户id信息,也可以是其他与第二iot设备用户app相关联的用户数据,即只要达到通过预存标识对密钥信息的一对一解析进行匹配即可。
165.可选的,利用密钥信息解析验证信息的步骤包括:利用公钥解析验证信息;利用解析后的验证信息中的用户标识查找对应的密钥信息;利用查找到的密钥信息解析所述验证信息。
166.具体地,利用公钥对第二iot设备生成的验证信息进行解析时,可以解析出验证信息中的用户标识,然后利用得到的用户标识对第一iot设备本地数据库中的用户标识键进
行查找操作,得到与该用户标识关联的密钥信息,最后利用与该用户标识关联的密钥信息来解析验证信息。
167.公钥是相对于带有预存标识的密钥信息的一种通用密钥信息,公钥可以用于解析任何一个用户的第二iot设备发来的验证信息,并将该验证信息简单地解析出验证信息中的用户标识,以备后续处理之用。与公钥解析出的用户标识所关联的密钥信息,是第一iot设备本地存储的多个密钥信息,该信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,那么用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则第一iot设备会根据公钥对验证信息进行解析,并获得用户id10001,然后根据数据库中与用户id10001对应的密钥信息进行后续的解析步骤。
168.步骤s606,判断解析后的验证信息是否符合操作权限开启条件,操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
169.具体地,根据s604所得到的解析之后的验证信息,其中含有用户标识,用户标识可以是第二iot设备的用户id(以下称第二iot设备),根据第二iot设备的验证信息中的用户id,与第一iot设备本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。
170.根据本发明实施例,步骤s606中第二iot设备系统时间是第二iot设备用户系统生成验证信息时的时间信息,例如,当第二iot设备于2018年3月12日14点56分生成验证信息,那么第二iot设备系统时间信息就是2018年3月12日14点56分,即上述操作权限开启条件为第二iot设备系统时间信息是否属于第一终端系统中规定的第二iot设备可以开启权限操作的时间信息,这是一种时间范围的匹配关系,用于将第二iot设备的验证工作规定在第一iot设备允许进行验证工作的时间范围之内,以提高整个第一iot设备的通信安全性。
171.根据本发明实施例,预设操作时间范围是第一iot设备获取的与第二iot设备标识对应的第二iot设备操作时间范围。
172.具体地,第一iot设备可以获取第二iot设备用户标识对应第二iot设备向第一iot设备发送的操作时间范围,其中,该时间范围可以是某个时间段,例如14点至15点之间,将会对第一iot设备进行操作,届时第一iot设备会针对用户系统时间来核实该验证信息是否符合这个时间段,以进一步判断用户的真伪性。
173.需要说明的是,第二iot设备用户标识对应的用户可以将预设操作时间范围设置为一天之中的几个时间段,而不限于某一个时间段,例如可以是,用户标识对应的用户将第一iot设备中的预设操作时间范围设置为9点至10点以及14点至15点,即当用户在这两个时间段进行第一iot设备验证的时候,第一iot设备会在验证通过后允许用户进行相关操作。
174.可选的,操作权限开启条件还包括:用户系统时间与第一iot设备的当前时间匹配。
175.具体地,用户系统时间与第一iot设备的当前时间进行匹配指的是将用户第二iot设备的系统时间信息与第一iot设备中当前的系统时间信息进行比对,以保证第一iot设备和用户系统的时间一致性。
176.需要说明的是,上述用户系统时间与第一终端的当前时间匹配可以是将两种时间
信息进行比对,并根据是否一致决定匹配结果,也可以是将两种时间进行匹配,并根据两种时间的差值是否在预设误差之内,来判断匹配的结果。
177.例如,当第一iot设备当前时间为14点55分的时候,第二iot设备系统时间为14点52分,预设误差可以是两种时间相比快或慢5分钟,那么因此两种时间符合误差5分钟的设置,并生成匹配成功的结果。
178.可选的,密钥信息存储在第一iot设备的安全存储区域中。
179.具体地,第一iot设备的存储区域是利用了tee(安全存储区域)技术进行配置,安全存储区域是用硬件加密的方式对密钥信息进行加密,密钥信息存储的区域就是安全存储区域,其与系统存储的区域是物理隔离的,而且安全存储区域采用了硬件加密,硬件加密无法被破解,这个操作的技术效果在于,第一iot设备本身就是一种特殊的智能装置,可能一个月或者半个月才会有人去维护,如果发生存在主观恶意的人破解了密钥,造成损失。但是如果密钥信息采用的是硬件加密,则不存在被破解的可能性,这样即便第一终端被盗抢,造成损失的概率也会减少
180.另外,针对步骤s606,由于第二iot设备的验证信息包含了用户标识和时间戳信息,其中时间戳信息即当前时间信息,可以理解为第二iot设备和第一iot设备中显示的当前所在地区的时间,那么第一iot设备在解析验证信息之后,将解析后得到的验证信息中的当前时间信息与第一iot设备本地的时间信息进行比较,并根据是否一致进行下一步的分析和处理。
181.例如,当用户手机生产验证信息的时间为3:40pm,那么验证信息中包含的时间信息即是3:40pm,当第二iot设备对验证信息解析之后,得到3:40pm为验证信息的时间信息,同时根据该时间信息与第二iot设备本地的时间信息进行比对,并生成匹配结果。
182.上述本发明的实施例中,匹配结果可以是返回“匹配成功”、“匹配失败”,也可以根据密钥信息匹配程度进行反馈。根据匹配程度进行反馈用于第一密钥信息复杂度较高时,为了排除误差的可能性,可以利用处理器对匹配结果的分析,得出匹配程度值,并根据预设阈值判断是否匹配成功。当匹配程度值超出预设阈值时,认为匹配成功。
183.步骤s608,若判断结果为是,开启操作权限。
184.可选的,开启操作权限包括:显示允许操作的用户界面;和/或显示允许连接的信息。
185.具体地,根据匹配结果,当第一iot设备判断匹配成功时,则通过对当前认证用户的认证,并对该第二iot设备开启对第一iot设备的操作权限。
186.例如如图2所示,第一iot设备通过对第二iot设备生成的二维码(验证信息)中进行匹配认证。其中,第一iot设备可以是扫地机器人,第二iot设备可以是智能空调,当扫地机器人通过对智能空调的身份认证后,可提供给智能空调以扫地机器人的全部权限操作。
187.通过上述本发明实施例的步骤,可以实现当设备离线时对iot设备之间进行识别的技术效果。
188.第五实施例
189.根据本发明实施例的另一方面,如图7所示,还提供了一种数据通信方法,应用于捐赠物品管理设备,包括:
190.步骤s702,获取来自手持终端的验证信息,验证信息中包含手持终端的用户标识
和用户系统时间;
191.具体地,手持终端可以是用户的移动终端,例如手机、平板电脑、智能手表等。手持终端通过智能化处理功能生成一个用于识别手持终端身份的验证信息,该验证信息由用户系统时间和用户标识信息通过密钥信息加密组成,其中密钥信息可以是totp算法中的共享密钥,即一种通用于认证端和被认证端的共用密钥信息。
192.另外,来自手持终端的验证信息其中含有用户标识和用户系统时间,用户标识可以是用户id,根据手持终端的验证信息中的用户id,与捐赠物品管理设备本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。而用户系统时间为手持终端的实时系统时间,手持终端在生成上述验证信息的时候,除了验证信息中要包含用户id以外,还要包含当前用户系统的时间,以便后续验证和解析步骤的执行之用。
193.根据本发明实施例,验证信息包括利用密钥信息对用户标识和用户系统时间执行加密操作生成的信息。
194.具体地,验证信息可以是利用密钥信息对用户的用户名id以及当前app系统的时间戳信息进行加密,以得到验证信息。其中,用户名id是手持终端用户的用户id,当用户在捐赠物品管理设备注册过用户信息的时候,捐赠物品管理设备会根据用户信息生成一个专用于该用户识别用的用户标识;当前app系统的时间戳信息为由捐赠物品管理设备和手持终端中时间信息生成的参数。例如,当手持终端为手机移动端时,手机处理器根据当前需要认证的用户的用户id,以及当前地区的时间(在第一终端和第二终端上的时间戳信息)这两个参数通过totp算法中共享密钥来进行加密,生成一个动态二维码。其中该动态二维码是根据时间戳信息的不同而变化的,具体过程为当用户操作手机屏幕中“认证”按钮,手机根据当前时间,例如,下午3点40(3:40pm)以及用户id10001,通过共享密钥为“45@6”的共享密钥计算生成一个动态二维码,并在手机屏幕显示该二维码以便被第一终端认证,因此这个二维码是由3:40pm和10001通过45@6加密,生成字符串并转换为二维码进行显示的。
195.根据本发明实施例,totp算法一般用于信息加密和解密中,它是一种从共享密钥和当前时间计算一次性密码的算法,是基于散列的消息认证码,使用加密哈希函数将共享密钥与当前时间戳组合在一起以生产一次性密码。
196.步骤s704,利用捐赠物品管理设备的密钥信息解析验证信息。
197.在这一步骤中,捐赠物品管理设备可以存储有多个候选密钥信息,在收到验证信息之后,可以利用多个候选密钥信息分别对验证信息进行解析。
198.其中,捐赠物品管理设备存储有多个候选密钥信息和对应的预存标识。每一个预存标识可以与一个候选密钥信息关联。当利用该候选密钥信息解析该验证信息后,获得的解析后验证信息中包含该预存标识时,或者包括含的内容与对应的预存标识匹配时,则认为该验证信息通过了验证。
199.可选的,利用密钥信息解析所述验证信息包括:分别利用多个候选密钥信息解析验证信息;其中,捐赠物品管理设备存储有多个候选密钥信息和对应的预存标识。
200.具体地,在根据步骤s702获得的验证信息来解析时,捐赠物品管理设备利用在捐赠物品管理设备本地存储区域存储的多个带有预存标识的密钥信息来逐一对验证信息进行解析,直到解析完毕,则进行后续步骤的分析和处理。
201.捐赠物品管理设备本地存储的多个密钥信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,那么用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则捐赠物品管理设备会根据获取到的验证信息同时调用数据库中所有的密钥信息对其进行一一解析,那么在这种情况下,当用户id10001的验证信息遇到捐赠物品管理设备本地存储的密钥信息a的时候,则解析成功。
202.还需要说明的是,预存标识可以是用户id信息,也可以是其他与手持终端用户app相关联的用户数据,即只要达到通过预存标识对密钥信息的一对一解析进行匹配即可。
203.可选的,利用密钥信息解析验证信息的步骤包括:利用公钥解析验证信息;利用解析后的验证信息中的用户标识查找对应的密钥信息;利用查找到的密钥信息解析所述验证信息。
204.具体地,利用公钥对手持终端生成的验证信息进行解析时,可以解析出验证信息中的用户标识,然后利用得到的用户标识对捐赠物品管理设备本地数据库中的用户标识键进行查找操作,得到与该用户标识关联的密钥信息,最后利用与该用户标识关联的密钥信息来解析验证信息。
205.公钥是相对于带有预存标识的密钥信息的一种通用密钥信息,公钥可以用于解析任何一个用户的手持终端发来的验证信息,并将该验证信息简单地解析出验证信息中的用户标识,以备后续处理之用。
206.与公钥解析出的用户标识所关联的密钥信息,是捐赠物品管理设备本地存储的多个密钥信息,该信息可以存储在本地mysql数据库系统中,例如,密钥信息a与用户id10001相关联,那么用户id10001作为密钥信息a的预存标识存储在mysql数据库结构表中的一个元素列里,当验证信息为用户id10001发来的时候,则第一终端会根据公钥对验证信息进行解析,并获得用户id10001,然后根据数据库中与用户id10001对应的密钥信息进行后续的解析步骤。
207.步骤s706,判断解析后的验证信息是否符合操作权限开启条件,操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内,预设操作时间范围是所述捐赠物品管理设备从服务端获取的与所述用户标识对应的用户操作时间范围,所述用户操作时间范围的用户操作包括投递捐赠物品。
208.具体地,根据s704所得到的解析之后的验证信息,其中含有用户标识,用户标识可以是用户id,根据手持终端的验证信息中的用户id,与捐赠物品管理设备本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。
209.根据本发明实施例,步骤s706中用户系统时间是手持终端用户系统生成验证信息时的时间信息,例如,当用户于2018年3月12日14点56分生成验证信息,那么用户系统时间信息就是2018年3月12日14点56分,即上述操作权限开启条件为用户系统时间信息是否属于第一终端系统中规定的用户可以开启权限操作的时间信息,这是一种时间范围的匹配关系,用于将用户手持终端的验证工作规定在捐赠物品管理设备允许进行验证工作的时间范围之内,以提高整个第一终端的通信安全性。
210.根据本发明实施例,预设操作时间范围是捐赠物品管理设备获取的与用户标识对
应的用户操作时间范围。
211.具体地,捐赠物品管理设备可以获取用户标识对应用户向捐赠物品管理设备发送的操作时间范围,其中,该时间范围可以是某个时间段,例如14点至15点之间,用户将会对捐赠物品管理设备进行操作,届时捐赠物品管理设备会针对用户系统时间来核实该验证信息是否符合这个时间段,以进一步判断用户的真伪性。
212.需要说明的是,用户标识对应的用户可以将预设操作时间范围设置为一天之中的几个时间段,而不限于某一个时间段,例如可以是,用户标识对应的用户将捐赠物品管理设备中的预设操作时间范围设置为9点至10点以及14点至15点,即当用户在这两个时间段进行捐赠物品管理设备验证的时候,捐赠物品管理设备会在验证通过后允许用户进行相关操作。
213.可选的,操作权限开启条件还包括:用户系统时间与捐赠物品管理设备的当前时间匹配。
214.具体地,用户系统时间与捐赠物品管理设备的当前时间进行匹配指的是将用户手持终端的系统时间信息与捐赠物品管理设备中当前的系统时间信息进行比对,以保证捐赠物品管理设备和用户系统的时间一致性。
215.需要说明的是,上述用户系统时间与第一终端的当前时间匹配可以是将两种时间信息进行比对,并根据是否一致决定匹配结果,也可以是将两种时间进行匹配,并根据两种时间的差值是否在预设误差之内,来判断匹配的结果。
216.例如,当捐赠物品管理设备当前时间为14点55分的时候,用户系统时间为14点52分,预设误差可以是两种时间相比快或慢5分钟,那么因此两种时间符合误差5分钟的设置,并生成匹配成功的结果。
217.步骤s708,若判断结果为是,开启操作权限。
218.可选的,开启操作权限包括:显示允许操作的用户界面;和/或显示允许连接的信息。
219.具体地,根据匹配结果,当捐赠物品管理设备判断匹配成功时,则通过对当前认证用户的认证,并对该用户开启对捐赠物品管理设备的操作权限。
220.例如,捐赠物品管理设备通过对用户id10001的手机终端生成的二维码(验证信息)中进行匹配认证,在捐赠物品管理设备屏幕上显示“用户id10001认证通过”,并根据用户的操作进入手持终端操作主界面。其中,捐赠物品管理设备可以是包裹自提柜,用户可以是需要投放包裹的快递员,当自提柜通过对快递员的身份认证后,出现操作主界面,可提供捐赠者进行投放捐赠物资的全部相关操作。
221.通过上述本发明实施例的步骤,可以实现当设备离线时对用户进行识别的技术效果。
222.第六实施例
223.根据本发明实施例的另一方面,还提供了一种终端间的数据通信方法,包括:
224.步骤s802,获取来自第二终端的验证信息,验证信息中包含第二终端的用户标识。
225.具体地,第二终端可以是用户的移动终端,例如手机、平板电脑、智能手表,也可以是带有计算功能的终端,例如pc端、iot设备等。第二终端通过智能化处理功能生成一个用于识别第二终端身份的验证信息,该验证信息由用户系统时间和用户标识信息通过密钥信
息加密组成,其中密钥信息可以是totp算法中的共享密钥,即一种通用于认证端和被认证端的共用密钥信息。
226.另外,来自第二终端的验证信息其中含有用户标识,用户标识可以是用户id,根据第二终端的验证信息中的用户id,与第一终端本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。
227.步骤s804,利用密钥信息解析验证信息。
228.具体地,在根据步骤s802获得的验证信息来解析时,第一终端利用在第一终端本地存储区域存储的多个带有预存标识的密钥信息来逐一对验证信息进行解析,直到解析完毕,则进行后续步骤的分析和处理。
229.步骤s806,判断解析后的验证信息是否符合操作权限开启条件;操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;其中,密钥信息存储在第一终端的安全存储区域中。
230.可选的,解析后的验证信息中包含第二终端的用户系统时间,操作权限开启条件还包括:用户系统时间与第一终端的当前时间匹配。
231.具体地,根据s804所得到的解析之后的验证信息,其中含有用户标识,用户标识可以是用户id,根据第二终端的验证信息中的用户id,与第一终端本地与密钥信息相关联的预存用户id相匹配,并判断上述两个用户id是否一致,当一致时则继续后续操作步骤。
232.另外,第一终端的存储区域是利用了tee(安全存储区域)技术进行配置,安全存储区域是用硬件加密的方式对密钥信息进行加密,密钥信息存储的区域就是安全存储区域,其与系统存储的区域是物理隔离的,而且安全存储区域采用了硬件加密,硬件加密无法被破解,这个操作的技术效果在于,第一终端本身就是一种特殊的智能装置,可能一个月或者半个月才会有人去维护,如果发生存在主观恶意的人破解了密钥,造成损失。但是如果密钥信息采用的是硬件加密,则不存在被破解的可能性,这样即便第一终端被盗抢,造成损失的概率也会减少。
233.步骤s808,若判断结果为是,开启操作权限。
234.由于上述第一实施例中对相关步骤和方法已经进行了较详细的描述,因此此处不再进行赘述。
235.第七实施例
236.根据本发明实施例的另一方面,还提供了一种终端间的数据通信装置,如图9所示,该数据通信装置包括:获取模块90,用于获取来自第二终端的验证信息,验证信息中包含第二终端的用户标识和用户系统时间;解析模块92,用于利用密钥信息解析验证信息;判断模块94,用于判断解析后的验证信息是否符合操作权限开启条件;执行模块96,用于若判断结果为是,开启操作权限;操作权限开启条件包括:用户标识与密钥信息关联的预存标识匹配;且用户系统时间在用户标识对应的预设操作时间范围内。
237.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
238.图10为本申请一实施例提供的终端设备的硬件结构示意图。如图8所示,该终端设备可以包括输入设备90、处理器91、输出设备92、存储器93和至少一个通信总线94。通信总线94用于实现元件之间的通信连接。存储器93可能包含高速ram存储器,也可能还包括非易
失性存储nvm,例如至少一个磁盘存储器,存储器93中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
239.可选的,上述处理器91例如可以为中央处理器(central processing unit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,该处理器91通过有线或无线连接耦合到上述输入设备90和输出设备92。
240.可选的,上述输入设备90可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如usb接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;麦克风等音频输入设备可以接收语音数据。输出设备92可以包括显示器、音响等输出设备。
241.在本实施例中,该终端设备的处理器包括用于执行各设备中数据处理装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
242.图11为本申请另一实施例提供的终端设备的硬件结构示意图。图11是对图10在实现过程中的一个具体的实施例。如图11所示,本实施例的终端设备包括处理器101以及存储器102。
243.处理器101执行存储器102所存放的计算机程序代码,实现上述实施例中图1至图8的终端间的数据通信方法。
244.存储器102被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器102可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
245.可选地,处理器101设置在处理组件100中。该终端设备还可以包括:通信组件103,电源组件104,多媒体组件105,音频组件106,输入/输出接口107和/或传感器组件108。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
246.处理组件100通常控制终端设备的整体操作。处理组件100可以包括一个或多个处理器101来执行指令,以完成上述图1至图7方法的全部或部分步骤。此外,处理组件100可以包括一个或多个模块,便于处理组件100和其他组件之间的交互。例如,处理组件100可以包括多媒体模块,以方便多媒体组件105和处理组件100之间的交互。
247.电源组件104为终端设备的各种组件提供电力。电源组件104可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。
248.多媒体组件105包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(lcd)和触摸面板(tp)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑
动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
249.音频组件106被配置为输出和/或输入音频信号。例如,音频组件106包括一个麦克风(mic),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或经由通信组件103发送。在一些实施例中,音频组件106还包括一个扬声器,用于输出音频信号。
250.输入/输出接口107为处理组件100和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
251.传感器组件108包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件108可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件108可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件108还可以包括摄像头等。
252.通信组件103被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个实施例中,该终端设备中可以包括sim卡插槽,该sim卡插槽用于插入sim卡,使得终端设备可以登录gprs网络,通过互联网与服务端建立通信。
253.由上可知,在图11实施例中所涉及的通信组件103、音频组件106以及输入/输出接口107、传感器组件108均可以作为图10实施例中的输入设备的实现方式。
254.本申请实施例提供了一种终端设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如本申请实施例中一个或多个所述的方法。
255.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
256.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
257.尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
258.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
259.以上对本申请所提供的一种终端间的数据通信方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;综上所述,本说明书内容不应理解为对本申请的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1