通信方法、物联网终端、网关设备及物联网系统与流程

文档序号:30055453发布日期:2022-05-17 17:47阅读:105来源:国知局
通信方法、物联网终端、网关设备及物联网系统与流程

1.本公开涉及物联网通信技术领域,尤其涉及一种通信方法、物联网终端、网关设备及物联网系统。


背景技术:

2.随着物联网技术的发展,越来越多的终端设备开始加入物联网通信网络,这对物联网系统的通信安全性提出了更高的要求。但是现有的通信加密方式可能存在安全性能不高或者计算量较大而不适用于物联网终端的情况。


技术实现要素:

3.有鉴于此,本公开提出一种通信方法、物联网终端、网关设备及物联网系统。
4.基于上述目的,本公开的第一方面,提供了一种通信方法,应用于物联网终端,包括:
5.获取第一时间信息和第一掩码;
6.根据所述第一时间信息和所述第一掩码,生成第一指针;
7.获取密钥表,并根据所述第一指针从所述密钥表中查找第一密钥;
8.利用所述第一密钥对所述物联网终端的身份信息进行加密并将加密后的所述物联网终端的身份信息和所述第一时间信息发送给网关设备;
9.响应于所述网关设备根据加密后的所述物联网终端的身份信息和所述第一时间信息对所述物联网终端身份核对通过,与所述网关设备建立通信连接。
10.可选地,所述第一掩码和密钥表存储在所述物联网终端中;
11.获取第一掩码,进一步包括:从所述物联网终端中调取所述第一掩码;
12.获取密钥表,进一步包括:从所述物联网终端中调取所述密钥表。
13.可选地,所述通信方法,还包括:
14.接收所述网关设备发送的利用所述第一密钥加密的第二掩码;
15.利用所述第一密钥解密得到所述第二掩码;
16.存储所述第二掩码。
17.可选地,若所述物联网终端中的所述第二掩码为首次存储,所述通信方法,还包括:
18.接收所述网关设备发送的利用所述第一密钥加密的第二时间信息;
19.利用所述第一密钥解密得到所述第二时间信息;
20.利用所述第二时间信息完成所述物联网终端的对时。
21.可选地,若所述物联网终端中已存储第二掩码,则所述通信方法还包括:
22.比对当前接收的所述第二掩码和已存储的第二掩码;其中,所述已存储的第二掩码为所述物联网终端与所述网关设备建立通信连接时从所述网关设备处接收得到的;
23.若第二掩码比对一致,则利用所述第二时间信息完成所述物联网终端的对时;
24.若第二掩码比对不一致,则停止与所述网关设备通信连接。
25.可选地,所述通信方法,还包括:
26.获取第一通信数据和第三时间信息;
27.根据所述第三时间信息和所述第二掩码,生成第二指针;
28.根据所述第二指针,从所述密钥表中查找第二密钥;
29.利用所述第二密钥对所述第一通信数据进行加密并将加密后的所述第一通信数据和所述第三时间信息发送给所述网关设备。
30.可选地,所述通信方法,还包括:
31.接收所述网关设备发送的利用第三密钥加密的第二通信数据和第四时间信息;
32.利用所述第四时间信息和所述第二掩码,生成第三指针;
33.根据所述第三指针,从所述密钥表中查找第三密钥;
34.利用所述第三密钥解密得到所述第二通信数据。
35.本公开的第二方面,提供了一种通信方法,应用于网关设备,包括:
36.接收物联网终端发送的加密后的所述物联网终端的身份信息和第一时间信息;
37.获取第一掩码,并根据所述第一时间信息和所述第一掩码生成第一指针;
38.获取密钥表,并根据所述第一指针从所述密钥表中查找第一密钥;
39.利用所述第一密钥对加密后的所述物联网终端的身份信息进行解密,得到所述物联网终端的身份信息并进行身份核对;
40.响应于所述身份信息核对通过,与所述物联网终端建立通信连接。
41.可选地,所述通信方法,还包括:
42.获取第二掩码,并利用所述第一密钥加密所述第二掩码;
43.向所述物联网终端返回加密后的所述第二掩码。
44.可选地,所述通信方法,还包括:
45.获取第二时间信息,并利用所述第一密钥加密所述第二时间信息;
46.向所述物联网终端返回加密后的所述第二时间信息以使所述物联网终端根据所述第二时间信息完成对时。
47.可选地,所述第一掩码、密钥表和第二掩码存储在所述网关设备中;
48.获取第一掩码,进一步包括:从所述网关设备中调取所述第一掩码;
49.获取密钥表,进一步包括:从所述网关设备中调取所述密钥表;
50.获取第二掩码,进一步包括:从所述网关设备中调取所述第二掩码。
51.可选地,所述通信方法,还包括:
52.接收所述物联网终端发送的加密后的第一通信数据和第三时间信息;
53.根据所述第三时间信息和所述第二掩码,生成第二指针;
54.根据所述第二指针,从所述密钥表中查找第二密钥;
55.利用所述第二密钥对加密后的所述第一通信数据进行解密,得到所述第一通信数据。
56.可选地,所述通信方法,还包括:
57.获取第二通信数据和第四时间信息;
58.利用所述第四时间信息和所述第二掩码,生成第三指针;
59.根据所述第三指针,从所述密钥表中查找第三密钥;
60.利用所述第三密钥加密所述第二通信数据;
61.向所述物联网终端发送加密后的所述第二通信数据和所述第四时间信息。
62.本公开的第三方面,提供了一种物联网终端,包括:
63.通信单元,用于与网关设备进行通信;
64.存储器,用于存储一组指令;以及
65.至少一个处理器,配置为执行该组指令以进行第一方面所述的方法。
66.本公开的第四方面,提供了一种网关设备,包括:
67.通信单元,用于与物联网终端进行通信;
68.存储器,用于存储一组指令;以及
69.至少一个处理器,配置为执行该组指令以进行第二方面所述的方法。
70.本公开的第五方面,提供了一种物联网系统,包括:
71.第三方面所述的物联网终端;以及
72.第四方面所述的网关设备;
73.其中,所述物联网终端与所述网关设备之间相互通信。
74.从上面所述可以看出,本公开提供的通信方法、物联网终端、网关设备及物联网系统,利用时间戳和掩码进行运算并根据运算结果从密钥表中查找密钥,从而可以根据时间戳的变化而动态生成密钥,无需人工干预,在不明显增加算力消耗的前提下有效增加了物联网系统的安全性。
附图说明
75.为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
76.图1示出了本公开实施例的物联网系统的一个示例性结构示意图;
77.图2a示出了本公开实施例的物联网终端进入物联网系统的身份验证的示例性方法的流程示意图;
78.图2b示出了本公开实施例的物联网终端与网关设备定期对时的示例性方法的流程示意图;
79.图2c示出了本公开实施例的物联网终端与网关设备进行通信的示例性方法的流程示意图;
80.图3示出了本公开实施例应用于物联网终端的通信方法的示例性流程图;
81.图4示出了本公开实施例应用于网关设备的通信方法的示例性流程图;
82.图5示出了本公开实施例所提供的一种更为具体的电子设备的硬件结构示意图。
具体实施方式
83.为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
84.需要说明的是,除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
85.在物联网通信中,通常的加密方式存在几种,例如,采用固定的静态密钥进行加密,又比如,直接在通信内容中发送动态密钥进行加密,或者,提供人员干预的动态密钥(如短信授权码等)进行加密。
86.对于采用静态密钥的情况,由于物联网终端存在成本和功耗限制,无法采用复杂的加密算法。因此较容易通过监听获得大量数据,进而找到规律破解静态密钥。
87.对于直接在通信中发送动态密钥的情况,同样存在被监听而后获取密钥的可能。
88.对于采用人员干预的动态密钥,大大增加了使用者的操作负担,不适用于多数情况下无人操作的物联网终端设备。
89.有鉴于此,提供一种计算量小、在通信中不发送密钥且无需人员干预的密钥动态变更的方法来保护密钥,成为了物联网领域亟待解决的问题。
90.图1示出了本公开实施例的物联网系统100的一个示例性结构示意图。
91.所述物联网系统100,包括网关设备102和物联网终端104。在一些实施例中,所述物联网系统100还可以包括服务器106。
92.所述网关设备102作为网间连接器或协议转换器,可以在网络层上实现服务器106与物联网终端104之间的互连。
93.所述物联网终端104可以是任意物联网设备,例如,各种家用电器(例如,电视、冰箱、空调)、智能终端(例如,手机、平板电脑、台式电脑)、各种传感器(例如,光传感器、温度传感器、湿度传感器),等等。
94.在一些实施例中,所述物联网系统100中的所述网关设备102和所述物联网终端104的数量均可以是多个。所述网关设备102可以与其通信范围内的所述物联网终端104建立通信连接。
95.在加入物联网系统100之前,所述物联网终端104一般需要先向其附近的网关设备102发送入网申请,并在网关设备102对其身份核实完成之后加入到物联网系统100中。
96.本公开实施例为了提高身份验证的安全性,同时兼顾物联网设备的计算能力,提出了一种用于身份核实的通信方法。
97.所述网关设备102和物联网终端104可以在出厂时预先写入一个三维的密钥表akey。所述密钥表的尺寸可以为n*n*n,其中n的取值可以根据终端资源进行配置。在一些实施例中,所述密钥表中每个元素可以为16位的二进制数。
98.在一些实施例中,所述网关设备102和物联网终端104还可以在出厂时预先写入3个6字节的掩码(mask),例如,ma1、mb1、mc1。
99.在一些实施例中,所述网关设备102在安装时,还可以写入3个6字节掩码(mask),例如,ma2、mb2、mc2。在一些实施例中,掩码ma2、mb2、mc2可以由有管理员权限的用户进行设置。
100.图2a示出了本公开实施例的物联网终端104进入物联网系统100的身份验证的示例性方法的流程示意图。
101.如图2a所示,所述物联网终端104首先可以根据当前时间生成时间戳t。
102.然后,所述物联网终端104可以将时间戳t分别与掩码ma1、mb1、mc1进行异或运算,再对n取余,得到数值a、b、c;可以利用数值a、b、c生成指针(a,b,c)进而在密钥表akey中取该指针(a,b,c)指向的位置的数据作为当前密钥k1,即akey(a,b,c)。在一些实施例中,可以利用当前时间与掩码ma1、mb1、mc1进行运算得到指针。本步骤中,时间戳t可以不是完整的时间,而可以是时间的一部分,例如,当前时间为2020年1月1日13点01分01秒01毫秒,时间戳t可以只包括01秒01毫秒的时间信息,而网关设备102在接收到时间戳t(01秒01毫秒)之后,可以根据其当前时间恢复得到2020年1月1日13点01分,进而得到完整的时间。这样的处理可以使生成指针的运算量减小,同时发送的信息也更少,有利于提高物联网设备的运算效率和节约资源。
103.接着,所述物联网终端104可以使用密钥k1对其身份信息id进行加密,并将时间戳t和加密过的身份信息id发送给网关设备102。
104.所述网关设备102接收到加密过的所述物联网终端104的身份信息和时间戳t之后,类似地,可以利用接收到的时间戳t分别与掩码ma1、mb1、mc1进行异或运算,再对n取余,得到数值a、b、c,并可以利用数值a、b、c生成指针(a,b,c)进而在密钥表akey中取该指针(a,b,c)指向的位置的数据作为密钥k1,即akey(a,b,c)。然后利用密钥k1对加密过的所述物联网终端104的身份信息进行解密,得到所述物联网终端104的身份信息。
105.接着,所述网关设备102可以通过检验解密得到的所述物联网终端104的身份信息是否在白名单内来对所述物联网终端104的身份进行验证。本步骤中,白名单可以是预先设定好的,可以是预存在网关设备102中的,也可以是预存于服务器106中并被网关设备102所调用的。
106.如果所述物联网终端104的身份信息不在所述白名单内,则结束所述物联网终端104的入网过程,不将其加入网络。
107.如果所述物联网终端104的身份信息在所述白名单内,则所述网关设备102向所述物联网终端104反馈允许入网消息,进而可以与所述物联网终端104建立通信连接。此外,所述网关设备102还可以利用密钥k1加密掩码ma2、mb2、mc2和当前时间,然后将加密后的掩码ma2、mb2、mc2和加密后的当前时间发送给所述物联网终端104。
108.所述物联网终端104可以使用其已有的密钥k1解密获得掩码ma2、mb2、mc2和当前时间,并可以使用该当前时间完成对时,同时可以存储ma2、mb2、mc2,用于后续通信时对数据进行解密处理。所述对时可以是,例如,根据当前时间更新物联网终端104的时钟芯片(例如,rtc)的时间,以保证物联网终端104和网关设备102的时间一致性。
109.至此完成所述物联网终端104的入网过程。
110.可以看到,本公开实施例通过利用时间信息和掩码生成的指针从密钥表中获取密钥用于加密,使得密钥可以根据时间信息的变化而动态地生成,这样的动态密钥,在不增加使用者操作和介入的情况下即可动态生成,在不明显增加算力消耗的前提下有效增加了物联网系统的安全性,降低了物联网终端可能会被非法网关劫持的风险,同时也降低了物联网系统可能会被非法终端侵入的风险。
111.由于所述物联网终端104通常使用时钟芯片(例如,rtc)完成计时,而时钟芯片一般存在计时误差,因此,为避免网关设备102和物联网终端104之间的计时误差,所述物联网终端104需要定期重新入网。同时,在一些实施例中,由于网关设备102和物联网终端104之间收发的时间信息采用时间戳,可能是不完整的时间信息,因此可能导致网关设备102和物联网终端104之间存在时间误差。
112.图2b示出了本公开实施例的物联网终端104与网关设备102定期对时的示例性方法的流程示意图。
113.如图2b所示,所述物联网终端104按照预设周期,定期根据当前时间生成时间戳t。
114.接着,所述物联网终端104可以利用时间戳t分别与掩码ma1、mb1、mc1进行异或运算,再对n取余,得到数值a、b、c。并且,所述物联网终端104可以根据数值a、b、c生成指针(a,b,c),并可根据指针(a,b,c)在密钥表akey中找到指针指向的位置的数据作为密钥k1,即akey(a,b,c)。
115.然后,所述物联网终端104可以使用密钥k1对其身份信息id进行加密,并将加密后的身份信息和时间戳t发送给网关设备102。
116.所述网关设备102接收到加密后的所述物联网终端104的身份信息和时间戳t之后,类似地,可以利用接收到的时间戳t分别与掩码ma1、mb1、mc1进行异或运算,再对n取余,得到数值a、b、c,并可以利用数值a、b、c生成指针(a,b,c)进而在密钥表akey中取该指针(a,b,c)指向的位置的数据作为密钥k1,即akey(a,b,c)。然后利用密钥k1对加密过的所述物联网终端104的身份信息进行解密,得到所述物联网终端104的身份信息。
117.接着,所述网关设备102可以检验获得id是否在白名单内,如果所述物联网终端104的身份信息不在所述白名单内,则结束所述物联网终端104的入网过程,不将其加入网络。
118.如果所述物联网终端104的身份信息在所述白名单内,则所述网关设备102可以利用密钥k1加密掩码ma2、mb2、mc2和当前时间,然后将加密后的掩码ma2、mb2、mc2和加密后的当前时间发送给所述物联网终端104。
119.所述物联网终端104在接收到加密后的掩码ma2、mb2、mc2和加密后的当前时间之后,可以使用其已有的密钥k1解密获得掩码ma2、mb2、mc2和当前时间。
120.所述物联网终端104可以对比新得到的掩码ma2、mb2、mc2与其在先存储的掩码ma2、mb2、mc2,如果二者不同则所述物联网终端104随机延时后重新发起定期对时的流程。在一些实施例中,若掩码ma2、mb2、mc2比对不一致,则所述物联网终端104需暂时停止与网关设备102的通信连接,以避免被非法网关设备所攻击。
121.如果掩码ma2、mb2、mc2比对一致,则所述物联网终端104可以根据接收到的该当前时间完成对时。所述对时可以是,例如,根据当前时间更新物联网终端104的时钟芯片(例如,rtc)的时间,以保证物联网终端104和网关设备102的时间一致性。
122.至此,所述物联网终端104完成一次定期对时。
123.可以看到,本公开实施例在比对接收到的掩码ma2、mb2、mc2和上次记录的掩码ma2、mb2、mc2时,若发现二者不同,则放弃该次入网,随机延时后重新入网,因此,由于定期入网时会校验掩码ma2、mb2、mc2的正确性,可避免物联网终端104被非法的网关设备劫持。
124.在所述物联网终端104成功入网后,所述物联网终端104还可以与所述网关设备
102进行正常的通信。
125.图2c示出了本公开实施例的物联网终端104与网关设备102进行通信的示例性方法的流程示意图。
126.如图2c所示,所述物联网终端104可以根据当前时间生成时间戳t1,并可以利用时间戳t1分别与掩码ma2、mb2、mc2进行异或运算,再对n取余,得到数值a1,b1,c1。然后,所述物联网终端104可以利用数值a1,b1,c1生成指针(a1,b1,c1),并可根据指针(a1,b1,c1)指向的位置在密钥表akey中找到对应的数据作为密钥k1。
127.接着,所述物联网终端104可以使用密钥k1加密需发送的通信数据,并将加密后的通信数据和时间戳t1发送给网关设备102。
128.所述网关设备102获取加密后的通信数据和时间戳t1之后,可以使用时间戳t1分别与掩码ma2、mb2、mc2进行异或运算,再对n取余,得到数值a1,b1,c1。然后,所述网关设备102可以利用数值a1,b1,c1生成指针(a1,b1,c1),并可根据指针(a1,b1,c1)指向的位置在密钥表akey中找到对应的数据作为密钥k1,并可以利用密钥k1解密得到通信数据。
129.所述网关设备102可以检验通信数据正常性,若所述通信数据不正常,则结束通信。若所述通信数据正常,则所述网关设备102可以产生回复数据,并可以获得当前时间的时间戳t2。
130.所述网关设备102可以使用时间戳t2分别与掩码ma2、mb2、mc2进行异或运算,再对n取余,得到数值a2,b2,c2。然后,所述网关设备102可以利用数值a2,b2,c2生成指针(a2,b2,c2),并可根据指针(a2,b2,c2)指向的位置在密钥表akey中找到对应的数据作为密钥k2,并可以利用密钥k2加密该回复数据,然后将加密后的回复数据和时间戳t2发送给所述物联网终端104。
131.所述物联网终端104获取加密后的回复数据和时间戳t2之后,可以使用时间戳t2分别与其存储的掩码ma2、mb2、mc2进行异或运算,再对n取余,得到数值a2,b2,c2。然后,所述物联网终端104可以利用数值a2,b2,c2生成指针(a2,b2,c2),并可根据指针(a2,b2,c2)指向的位置在密钥表akey中找到对应的数据作为密钥k2,并可以利用密钥k2解密得到回复数据。
132.此时,如果所述物联网终端104与所述网关设备102通信完成,则可结束通信,否则重复前述步骤以继续通信。
133.本公开实施例提供的通信方法支持双向鉴权,即物联网终端需要判断网关设备的合法性,网关设备也需要判断物联网终端的合法性。本公开实施例提供的通信方法,关键密钥表akey以及掩码并不在通信中出现,无法通过监听截取,且每次通信都根据当前时间变更密钥,大大提高了通过监听大量数据进行反向破解的难度。
134.图3示出了本公开实施例应用于物联网终端的通信方法的示例性流程图。
135.如图3所示,所述通信方法200,应用于物联网终端104,包括以下步骤。
136.在步骤202:获取第一时间信息(例如,图2a中的时间戳t)和第一掩码(例如,图2a中的掩码ma1、mb1、mc1);
137.在步骤204:根据所述第一时间信息和所述第一掩码,生成第一指针(例如,图2a中的a,b,c);
138.在步骤206:获取密钥表(例如,图2a中的akey),并根据所述第一指针从所述密钥
表中查找第一密钥(例如,图2a中的密钥k1);
139.在步骤208:利用所述第一密钥对所述物联网终端104的身份信息(id)进行加密并将加密后的所述物联网终端104的身份信息和所述第一时间信息发送给网关设备102;
140.在步骤210:响应于所述网关设备102根据加密后的所述物联网终端104的身份信息和所述第一时间信息对所述物联网终端身份核对通过,与所述网关设备102建立通信连接。
141.本公开实施例利用时间戳和掩码进行运算并根据运算结果从密钥表中查找密钥,从而可以根据时间戳的变化而动态生成密钥,无需人工干预,在不明显增加算力消耗的前提下有效增加了物联网系统的安全性。
142.在一些实施例中,所述第一掩码和密钥表存储在所述物联网终端104中;
143.获取第一掩码,进一步包括:从所述物联网终端104中调取所述第一掩码;
144.获取密钥表,进一步包括:从所述物联网终端104中调取所述密钥表。
145.在一些实施例中,所述通信方法200,还包括:
146.接收所述网关设备102发送的利用所述第一密钥(例如,图2a中的密钥k1)加密的第二掩码(例如,图2a中的掩码ma2、mb2、mc2);
147.利用所述第一密钥解密得到所述第二掩码;
148.存储所述第二掩码。
149.在一些实施例中,若所述物联网终端中的所述第二掩码为首次存储,所述通信方法200,还包括:
150.接收所述网关设备102发送的利用所述第一密钥(例如,图2a中的密钥k1)加密的第二时间信息(例如,所述网关设备102的当前时间);
151.利用所述第一密钥解密得到所述第二时间信息;
152.利用所述第二时间信息完成所述物联网终端104的对时。所述对时可以是,例如,根据第二时间信息更新物联网终端104的时钟芯片(例如,rtc)的时间,以保证物联网终端104和网关设备102的时间一致性。
153.在一些实施例中,参考图2b所示,若所述物联网终端104中已存储第二掩码,则所述通信方法200,还包括:
154.比对当前接收的所述第二掩码和已存储的第二掩码;其中,所述已存储的第二掩码为所述物联网终端与所述网关设备建立通信连接时从所述网关设备处接收得到的;
155.若第二掩码比对一致,则利用所述第二时间信息完成所述物联网终端104的对时;所述对时可以是,例如,根据第二时间信息更新物联网终端104的时钟芯片(例如,rtc)的时间,以保证物联网终端104和网关设备102的时间一致性,从而将工作一段时间之后的物联网终端104的时间误差通过网关设备102的时间信息来进行统一,进而消除二者之间的时间误差。
156.若第二掩码比对不一致,则停止与所述网关设备102通信。
157.在一些实施例中,参考图2c所示,所述通信方法200,还包括:
158.获取第一通信数据和第三时间信息(例如,图2c中的时间戳t1);
159.根据所述第三时间信息和所述第二掩码(例如,图2c中的掩码ma2、mb2、mc2),生成第二指针(例如,图2c中的a1,b1,c1);
160.根据所述第二指针,从所述密钥表中查找第二密钥(例如,图2c中的密钥k1);
161.利用所述第二密钥对所述第一通信数据进行加密并将加密后的所述第一通信数据和所述第三时间信息发送给所述网关设备102。
162.在一些实施例中,所述通信方法200,还包括:
163.接收所述网关设备102发送的利用第三密钥(例如,图2c中的密钥k2)加密的第二通信数据和第四时间信息(例如,图2c中的时间戳t2);
164.利用所述第四时间信息(例如,图2c中的时间戳t2)和所述第二掩码(例如,图2c中的掩码ma2、mb2、mc2),生成第三指针;
165.根据所述第三指针,从所述密钥表中查找第三密钥(例如,图2c中的密钥k2);
166.利用所述第三密钥解密得到所述第二通信数据。
167.需要说明的是,所述第一通信数据可以是物联网终端104向网关设备102发送的具有通信内容信息的通信数据,所述第二通信数据可以是网关设备102响应于所述第一通信数据的回复数据,也可以是网关设备102向物联网终端104发送的具有新的通信内容信息的通信数据。所述第一通信数据和第二通信数据的具体通信内容根据实际通信需求而选择,在此不做具体限定。
168.还需要说明的是,物联网终端用于生成第二指针的第三时间信息和网关设备用于生成第三指针的第四时间信息,可以是相同的,也可以是不同。在一些实施例中,第三时间信息或第四时间信息可以是物联网终端或网关设备在需要发送通信数据时根据当前时间生成的时间信息。此外,由于在发送加密数据时会同时发送第三时间信息或第四时间信息,使得接收数据一方可以根据接收到的第三时间信息或第四时间信息生成相应的指针,因此,从这个层面上讲,在一些实施例中,第三时间信息和第四时间信息也可以是任意的某个指定的时间信息。但是,为了保证密钥的动态性,所述时间信息可能需要随着时间流逝而进行相应地变化,以避免产生安全问题。
169.图4示出了本公开实施例应用于网关设备102的通信方法的示例性流程图。
170.如图4所示,所述通信方法300,一种通信方法,应用于网关设备,包括以下步骤。
171.在步骤302:接收物联网终端发送的加密后的所述物联网终端的身份信息和第一时间信息;
172.在步骤304:获取第一掩码,并根据所述第一时间信息和所述第一掩码生成第一指针;
173.在步骤306:获取密钥表,并根据所述第一指针从所述密钥表中查找第一密钥;
174.在步骤308:利用所述第一密钥对加密后的所述物联网终端的身份信息进行解密,得到所述物联网终端的身份信息并进行身份核对;
175.在步骤310:响应于所述身份信息核对通过,与所述物联网终端建立通信连接。
176.本公开实施例利用时间戳和掩码进行运算并根据运算结果从密钥表中查找密钥,从而可以根据时间戳的变化而动态生成密钥,无需人工干预,在不明显增加算力消耗的前提下有效增加了物联网系统的安全性。
177.在一些实施例中,所述通信方法300,还包括:
178.获取第二掩码,并利用所述第一密钥加密所述第二掩码;
179.向所述物联网终端返回加密后的所述第二掩码。
180.在一些实施例中,所述第一掩码、密钥表和第二掩码存储在所述网关设备中;
181.获取第一掩码,进一步包括:从所述网关设备中调取所述第一掩码;
182.获取密钥表,进一步包括:从所述网关设备中调取所述密钥表;
183.获取第二掩码,进一步包括:从所述网关设备中调取所述第二掩码。
184.在一些实施例中,所述通信方法300,还包括:
185.获取第二时间信息,并利用所述第一秘钥加密所述第二时间信息;
186.向所述物联网终端返回加密后的所述第二时间信息以使所述物联网终端根据所述第二时间信息完成对时。
187.在一些实施例中,所述通信方法300,还包括:
188.接收所述物联网终端发送的加密后的第一通信数据和第三时间信息;
189.根据所述第三时间信息和所述第二掩码,生成第二指针;
190.根据所述第二指针,从所述密钥表中查找第二密钥;
191.利用所述第二密钥对加密后的所述第一通信数据进行解密,得到所述第一通信数据。
192.在一些实施例中,所述通信方法300,还包括:
193.获取第二通信数据和第四时间信息;
194.利用所述第四时间信息和所述第二掩码,生成第三指针;
195.根据所述第三指针,从所述密钥表中查找第三密钥;
196.利用所述第三密钥加密所述第二通信数据;
197.向所述物联网终端发送加密后的所述第二通信数据和所述第四时间信息。
198.需要说明的是,所述第一通信数据可以是物联网终端104向网关设备102发送的具有通信内容信息的通信数据,所述第二通信数据可以是网关设备102响应于所述第一通信数据的回复数据,也可以是网关设备102向物联网终端104发送的具有新的通信内容信息的通信数据。所述第一通信数据和第二通信数据的具体通信内容根据实际通信需求而选择,在此不做具体限定。
199.还需要说明的是,物联网终端用于生成第二指针的第三时间信息和网关设备用于生成第三指针的第四时间信息,可以是相同的,也可以是不同。在一些实施例中,第三时间信息或第四时间信息可以是物联网终端或网关设备在需要发送通信数据时根据当前时间生成的时间信息。此外,由于在发送加密数据时会同时发送第三时间信息或第四时间信息,使得接收数据一方可以根据接收到的第三时间信息或第四时间信息生成相应的指针,因此,从这个层面上讲,在一些实施例中,第三时间信息和第四时间信息也可以是任意的某个指定的时间信息。但是,为了保证密钥的动态性,所述时间信息可能需要随着时间流逝而进行相应地变化,以避免产生安全问题。
200.另外还需要说明的是,本公开的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
201.上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行
并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
202.参考图1所示,本公开实施例还提供了一种物联网终端104,包括:
203.通信单元,用于与网关设备进行通信;
204.存储器,用于存储一组指令;以及
205.至少一个处理器,配置为执行该组指令以进行所述的通信方法200。
206.参考图1所示,本公开实施例还提供了一种网关设备102,包括:
207.通信单元,用于与物联网终端进行通信;
208.存储器,用于存储一组指令;以及
209.至少一个处理器,配置为执行该组指令以进行所述的通信方法300。
210.基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的通信方法200或通信方法300。
211.图5示出了本实施例所提供的一种更为具体的电子设备400的硬件结构示意图,该设备可以包括:处理器402、存储器404、输入/输出接口406、通信接口408和总线410。其中处理器402、存储器404、输入/输出接口406和通信接口408通过总线410实现彼此之间在设备内部的通信连接。
212.处理器402可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案。
213.存储器404可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器404可以存储操作系统和其他应用程序,在通过软件或者固件来实现本公开实施例所提供的技术方案时,相关的程序代码保存在存储器404中,并由处理器402来调用执行。
214.输入/输出接口406用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
215.通信接口408用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
216.总线410包括一通路,在设备的各个组件(例如处理器402、存储器404、输入/输出接口406和通信接口408)之间传输信息。
217.需要说明的是,尽管上述设备仅示出了处理器402、存储器404、输入/输出接口406、通信接口408以及总线410,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本公开实施例方案所必需的组件,而不必包含图中所示的全部组件。
218.上述实施例的电子设备用于实现前述任一实施例中相应的通信方法,并且具有相
应的方法实施例的有益效果,在此不再赘述。
219.基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的通信方法。
220.本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
221.上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的通信方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
222.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开的不同方面的许多其它变化,为了简明它们没有在细节中提供。
223.另外,为简化说明和讨论,并且为了不会使本公开难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开。因此,这些描述应被认为是说明性的而不是限制性的。
224.尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
225.本公开旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1