
1.本技术是关于一种网状网络与云端服务器的通信方法、网状网络系统及其节点装置。
背景技术:2.在传统的网状网络系统中,每一节点装置会在组网时通过进行握手(handshake)的方式产生加密密钥,在数据传输过程中经过的每一节点装置先根据前一个节点装置发送的密钥解密,再根据当下节点装置所储存的密钥加密后,节点装置才将数据发送至下一个节点装置。每当数据经过一个节点装置就必须重复前述步骤一次,因此在数据传输过程中耗费了大量的资源与时间。
3.再者,由于节点装置在发送数据至下一节点装置时也同时将密钥发送至下一节点装置,以提供下一节点装置作为解密数据用,因此在数据传输的过程中也容易造成密钥被窃取的状况发生,因而带来严重的数据安全性问题。
技术实现要素:4.在一些实施例中,一种适于与云端服务器连接的网状网络系统,包含第一节点装置及第二节点装置。第一节点装置用以储存第一私钥,并根据第一私钥加密待验证数据以产生第一加密数据。第二节点装置接收第一加密数据,并发送第一加密数据至云端服务器。其中第二节点装置发送第一加密数据后,第二节点装置自云端服务器取得根据第一公钥加密第一密钥所产生的第二加密数据,第一公钥对应于第一私钥,第二节点装置发送第二加密数据至第一节点装置,第一节点装置根据第一私钥解密第二加密数据以自第二加密数据取得第一密钥,以根据第一密钥加密与云端服务器的通信。
5.综上所述,通过在节点装置储存私钥并在云端服务器储存对应私钥之公钥以进行密钥协商过程,可免除公钥在节点装置与云端服务器之间传输以防止公钥于传输途中被窃取,有效保护公钥以解决传输过程中所面临的安全性问题。除此之外,当节点装置发送数据至云端服务器时,数据在传输途径中经过的各个节点装置皆不需要再对数据进行加解密即可将数据再发送至下一节点装置,因此减少耗费大量的资源以及缩短了数据在节点装置与云端服务器之间的传输时间。
附图说明
6.图1系为根据本发明的网状网络系统的一个实施例的数据流向示意图。
7.图2系为根据本发明的网状网络系统的一个实施例的数据流向示意图。
8.图3系为根据本发明的网状网络系统与云端服务器的通信方法的一个实施例的流程图。
9.图4系为根据发明的网状网络系统的节点装置分布的一个实施例的示意图。
10.图5系为根据本发明的包含第一加密数据的分组的分组格式的一个实施例的示意图。
11.图6系为根据本发明的包含第二加密数据的分组的分组格式的一个实施例的示意图。
12.图7系为根据本发明的包含第一加密数据的分组的分组格式的另一实施例的示意图。
13.图8系为根据本发明的包含第二加密数据之分组的分组格式的另一实施例的示意图。
具体实施方式
14.请合并参照图1及图2,图1及图2分别为根据本发明的网状网络系统1的实施例的数据流向示意图。网状网络系统1包含多个节点装置11、12(为方便描述,以下分别称为第一节点装置11、第二节点装置12)。网状网络系统1可连接于云端服务器2以与云端服务器2进行通信,第一节点装置11耦接于第二节点装置12,第二节点装置12耦接于云端服务器2,也就是说,第二节点装置12耦接于第一节点装置11及云端服务器2之间,第一节点装置11及第二节点装置12可分别传输数据至云端服务器2并自云端服务器2接收数据。
15.网状网络系统1提供一种网络加解密服务,在网状网络系统1与云端服务器2之间传输通信数据之前,网状网络系统1的节点装置11、12及云端服务器2根据相对应的公钥(public key)及私钥(private key)执行密钥协商过程以产生密钥,网状网络系统1再根据产生的密钥进行后续节点装置11、12与云端服务器2之间的加密通信数据传输,也就是说,网状网络系统1的节点装置11、12及云端服务器2经过密钥协商过程之后,往后每当节点装置11、12与云端服务器2之间传输通信数据时,皆使用根据密钥协商过程产生之密钥对通信数据进行加密再进行通信数据的发送。
16.详细而言,请合并参照图1及图3,图3是根据本发明的网状网络系统1与云端服务器2的通信方法的一个实施例的流程图。其中,第一节点装置11包含储存电路111及控制电路112,储存电路111耦接于控制电路112,第二节点装置12包含储存电路121及控制电路122,储存电路121耦接于控制电路122。以下以第一节点装置11与云端服务器2之间进行的密钥协商过程为例,第一节点装置11的储存电路111储存一私钥(以下称为第一私钥),并在云端服务器2储存一公钥(以下称为第一公钥),其中第一私钥及第一公钥为相互对应的加解密钥对,即非对称式的加解密钥对。第一节点装置11的控制电路112可以随机数方式产生一组待验证数据,并根据储存于储存电路111的第一私钥对待验证数据进行加密产生加密后的数据(以下称为第一加密数据p1)(步骤s01)。在上行链路中,控制电路112将第一加密数据p1发送至第二节点装置12(步骤s02)。第二节点装置12的控制电路122在接收第一加密数据p1后,控制电路122不对第一加密数据p1进行加解密过程,控制电路122转发第一加密数据p1至云端服务器2(步骤s03)。
17.控制电路122转发第一加密数据p1至云端服务器2后,在下行链路中,控制电路122接收云端服务器2根据第一公钥加密一密钥(以下称为第一密钥)产生的另一加密的数据(以下称为第二加密数据p2)(步骤s04)。控制电路122接收第二加密数据p2后,控制电路122不对第二加密数据p2进行加解密过程,控制电路122转发第二加密数据p2至第一节点装置
11(步骤s05)。第一节点装置11的控制电路112用前述的第一私钥解密第二加密数据p2,由于第一私钥与第一公钥为相互对应的加解密钥对,故控制电路112可利用第一私钥正确解密根据第一公钥所加密的第二加密数据p2,以自解密后的第二加密数据p2中取得第一密钥(步骤s06)而完成前述的密钥协商过程,控制电路112可将第一密钥储存于储存电路111。尔后,当第一节点装置11欲发送通信数据至云端服务器2时,控制电路112即根据第一密钥加密与云端服务器2的通信(步骤s07),也就是控制电路112可藉由第一密钥将通信数据加密后经由第二节点装置12发送至云端服务器2。
18.基此,通过第一节点装置11的储存电路111储存第一私钥,并储存对应的第一公钥于云端服务器2,可避免第一公钥在第一节点装置11与云端服务器2之间传输,有效防止第一公钥在传输过程中被窃取而导致其他节点装置以窃取得的第一公钥解密通信数据,造成通信数据亦遭窃取;除此之外,第二节点装置12的控制电路122接收第一加密数据p1后,由于控制电路122在上行链路中不需加解密第一加密数据p1即可发送第一加密数据p1至云端服务器2,且控制电路122在下行链路中不需加解密第二加密数据p2即可发送第二加密数据p2至第一节点装置11的控制电路112,因此缩短了第一节点装置11与云端服务器2之间的通信时间。
19.在一些实施例中,在步骤s01中,控制电路112产生包含第一加密数据p1的分组,且前述分组还包含第一节点装置11的媒体访问控制(media access control,mac)地址或其mesh识别码(id)。第一节点装置11在步骤s02中将前述的分组发送至第二节点装置12。以前述分组包含第一节点装置11的mac地址为例,第二节点装置12在步骤s03中再将第一加密数据p1及第一节点装置11的mac地址转发至云端服务器2。在执行步骤s03之后,云端服务器2根据第一节点装置11的mac地址信息找寻对应第一节点装置11的第一私钥的第一公钥,云端服务器2找到对应的第一公钥之后,云端服务器2以第一公钥解密第一加密数据p1(步骤s08),并自解密后的第一加密数据p1取得待验证数据。云端服务器2取得待验证数据后对待验证数据进行验证过程,以确认待验证数据是否完整正确(步骤s09),待待验证数据经由验证过程确认无误后(判断结果为「是」),云端服务器2可以随机数方式产生前述的第一密钥。云端服务器2使用解密第一加密数据p1的第一公钥加密第一密钥以产生第二加密数据p2(步骤s10),并发送第二加密数据p2至第二节点装置12(步骤s04)以完成前述的密钥协商过程。
20.在一些实施例中,在第一节点装置11完成密钥协商过程之后,在步骤s07中,请参照图2,控制电路112根据储存于储存电路111的第一密钥加密一通信数据(以下称为第一通信数据)以产生第三加密数据p3,并发送第三加密数据p3至第二节点装置12。第二节点装置12再转发第三加密数据p3至云端服务器2,云端服务器2根据第一密钥解密第三加密数据p3取得第一通信数据而完成第一节点装置11与云端服务器2之间的加密通信数据传输过程。另一方面,当云端服务器2欲发送另一通信数据(以下称为第二通信数据)至第一节点装置11时,云端服务器2根据第一密钥加密第二通信数据以产生第四加密数据p4,云端服务器2发送第四加密数据p4至第二节点装置12,第二节点装置12再转发第四加密数据p4至第一节点装置11,控制电路112以储存于储存电路111的第一密钥解密第四加密数据p4取得第二通信数据而完成云端服务器2与第一节点装置11之间的加密通信数据传输过程。
21.在一些实施例中,第一节点装置11于出厂前已储存第一私钥于储存电路111中,第
二节点装置12于出厂前也已储存不同于第一私钥的私钥(以下称为第二私钥)于储存电路121中,云端服务器2分别储存对应于第一节点装置11的第一私钥的第一公钥以及对应第二节点装置12的第二私钥的公钥(以下称为第二公钥),使第二节点装置12亦可与云端服务器2进行密钥协商过程。基此,在第二节点装置12进行的密钥协商过程中,在上行链路中,第二节点装置12的控制电路122以储存于储存电路121的第二私钥加密另一待验证数据以产生加密数据(以下称为第五加密数据),且控制电路122产生包含第五加密数据及第二节点装置12的mac地址信息的分组,控制电路122发送分组至云端服务器2。云端服务器2根据第二节点装置12的mac地址信息选择对应于第二私钥的第二公钥,云端服务器2以第二公钥解密第五加密数据并取得第二节点装置12所发送的另一待验证数据,云端服务器2对另一待验证数据进行验证过程,以确认另一待验证数据是否完整无误。
22.待另一待验证数据经由验证过程确认无误后,云端服务器2以随机数方式产生有别于第一密钥的另一组密钥(以下称为第二密钥),并以第二公钥加密第二密钥以产生另一加密数据(以下称为第六加密数据),第二密钥将用于后续第二节点装置12与云端服务器2通信时所使用的加解密密钥。云端服务器2在下行链路中发送第六加密数据至第二节点装置12,控制电路122以第二私钥解密第六加密数据以取得第二密钥,控制电路122并执行验证过程验证第二密钥。待第二密钥通过验证后,即完成密钥协商过程,控制电路122可储存第二密钥于储存电路121。当第二节点装置12欲发送一通信数据(以下称为第三通信数据)至云端服务器2时,控制电路122以第二密钥加密第三通信数据并在上行链路中发送加密后的第三通信数据至云端服务器2,以完成第二节点装置12与云端服务器2之间的加密通信数据传输过程。在一些实施例中,若云端服务器2欲发送一通信数据(以下称为第四通信数据)至第二节点装置12,云端服务器2以第二密钥加密第四通信数据并在下行链路中发送加密后的第四通信数据至第二节点装置12,以完成云端服务器2与第二节点装置12之间的加密通信数据传输过程。
23.在一些实施例中,请参照图4,图4为根据本发明的网状网络系统1的节点装置分布的一个实施例的示意图。网状网络系统1可通过连接访问点(access point,ap)以连接于云端服务器2,网状网络系统1包含树状分布的多个节点装置,在此,图4所绘网状网络系统1的节点装置数量为十七且标识其中的五个节点装置(节点装置11~15)为例,然本发明不以此为限。多个节点装置在进行组网以形成网状网络系统1的过程中,当其中一个节点装置的接收信号强度指示(received signal strength indication,rssi)大于ap预设的rssi临界值,所述节点装置连接ap,所述节点装置因此为一根节点,在上行链路中,根节点可汇集作为叶节点的节点装置及作为中间节点的节点装置的传输数据并通过ap传输至云端服务器2,也就是说,根节点为网状网络系统1与外部互联网协议(internet protocol,ip)网络之间的接口装置节点,根节点具有子节点而不具有父节点,中间节点是指具有转发功能的节点,中间节点具有父节点但并非一定具有子节点,当一个节点为闲置时,可与中间节点连接而成为其子节点,换言之,中间节点具有父节点及子节点。图4示例出具有子节点的中间节点及不具有子节点的中间节点。
24.举例来说,如图1及图4所示,第一节点装置11为叶节点,第二节点装置12为与ap连接的根节点。以前述的第一节点装置11与云端服务器2之间的密钥协商过程为例,第一节点装置11的控制电路112在上行链路中发送根据储存于储存电路111的第一私钥加密所产生
的第一加密数据p1至第二节点装置12,第二节点装置12的控制电路122再发送第一加密数据p1至云端服务器2。在下行链路中,由于第一节点装置11为目的节点,云端服务器2发送第二加密数据p2及第一节点装置11的mac地址信息至第二节点装置12,控制电路122接收到第二加密数据p2后即判断其自身是否为目的节点,控制电路122根据第一节点装置11的mac地址信息判断出第二节点装置12并非为目的节点,控制电路122即转发第二加密数据p2及第一节点装置11的mac地址信息至第一节点装置11,控制电路112接收到第二加密数据p2后,控制电路112亦判断第一节点装置11是否为目的节点。于是,控制电路112根据第一节点装置11的mac地址信息确认第一节点装置11为接收第二加密数据p2的目的节点,控制电路112根据储存于储存电路111的第一私钥解密第二加密数据p2以取得第一密钥,第一节点装置11储存第一密钥至储存电路111以根据第一密钥加密与云端服务器2的通信。
25.如图4所示,网状网络系统1还可包含第三节点装置13、第四节点装置14及第五节点装置15,第三节点装置13、第四节点装置14及第五节点装置15亦分别包含储存电路及控制电路。第五节点装置15耦接于ap,第四节点装置14耦接于第三节点装置13及第五节点装置15之间,也就是说,第五节点装置15为根节点,第四节点装置14及第三节点装置13分别为中间节点以及叶节点,且第五节点装置15为第四节点装置14的父节点,第三节点装置13为第四节点装置14的子节点。其中,第三节点装置13的控制电路用以储存不同于第一私钥及第二私钥的私钥(以下称为第三私钥),云端服务器2储存对应于第三私钥的公钥(以下称为第三公钥),第三公钥不同于第一公钥及第二公钥。当第三节点装置13与云端服务器2进行密钥协商过程时,第三节点装置13的控制电路在上行链路中根据储存于第三节点装置13的储存电路的第三私钥加密产生加密数据(以下称为第七加密数据),并发送第七加密数据至其父节点,即第四节点装置14,第四节点装置14自作为其子节点的第三节点装置13接收第七加密数据之后,由于第四节点装置14为中间节点,第四节点装置14的控制电路在上行链路中转发第七加密数据至其父节点,即第五节点装置15,第五节点装置15自作为其子节点的第四节点装置14接收第七加密数据之后,由于第五节点装置15为根节点,第五节点装置15的控制电路在上行链路中再转发第七加密数据至云端服务器2。
26.在一些实施例中,网状网络系统1可适于住家室内环境,节点装置11~15可为任意家电设备、影音娱乐设备、穿戴及手持装置等电子装置。
27.在一些实施例中,当第一节点装置11于步骤s06中取得第一密钥后,控制电路112在在步骤s06中还可发送确认信息至第二节点装置12,第二节点装置12的控制电路122再转发前述的确认信息至云端服务器2以完成第一节点装置11与云端服务器2之间的密钥协商过程。确认信息可为0或1的数值,当确认信息为1时,代表储存电路111储存第一密钥失败;当确认信息为0时,代表控制电路112已以第一私钥顺利解密第二加密数据p2并取得第一密钥,并且储存电路111成功储存第一密钥。
28.在一些实施例中,云端服务器2对待验证数据进行的验证过程以及节点装置11、12对密钥进行的验证过程可为md5信息摘要演算法(md5message-digest algorithm),md5信息摘要演算法为一种密码特征函数,可产生对应于传输的数据的特征值用以与传输的数据进行验证比对,根据比对结果可确认信息内容在传输过程中是否保持完整性。详细而言,请参照图5,图5系为根据本发明的包含第一加密数据p1的分组的分组格式的一个实施例的示意图。解密后的第一加密数据p1如图5所示包含第一字段及第二字段,其中,第一加密数据
p1的第一字段用以储存待验证数据p11,第一加密数据p1的第二字段用以储存根据待验证数据p11执行md5信息摘要演算法所产生的特征值p12,在上行链路中,当云端服务器2取得第一加密数据p1并根据第一公钥解密第一加密数据p1后(步骤s08),在步骤s09中,云端服务器2自第一加密数据p1的第一字段取得待验证数据p11并根据待验证数据p11执行md5信息摘要演算法以产生一特征值,云端服务器2比对前述产生的特征值与储存于第一加密数据p1的第二字段的特征值p12是否一致(步骤s09),如果比对结果为一致(判断结果为「是」),云端服务器2接续执行步骤s10,如果比对结果为不一致(判断结果为「否」)则云端服务器2丢弃第一加密数据p1(步骤s11)。
29.在一些实施例中,请参照图6,图6是根据本发明的包含第二加密数据p2的分组的分组格式的一个实施例的示意图。根据第一节点装置11的控制电路112解密后的第二加密数据p2包含另一第一字段及另一第二字段,第二加密数据p2的第一字段用以储存第一密钥p21,第二加密数据p2的第二字段用以储存根据第一密钥p21执行md5信息摘要演算法所产生的特征值p22。在下行链路中,控制电路112解密第二加密数据p2后(步骤s06),控制电路112在步骤s06中自第二加密数据p2的第一字段取得第一密钥p21并根据第一密钥p21执行md5信息摘要演算法以产生另一特征值,控制电路112比对前述产生的另一特征值与储存于第二加密数据p2的第二字段的特征值p22是否一致(步骤s12),如果为一致,接续执行步骤s07,如果为不一致则控制电路112丢弃第二加密数据p2(步骤s13)。
30.在一些实施例中,请参照图7及图8,图7及图8分别为根据本发明的包含第一加密数据p1及第二加密数据p2的分组的分组格式的另一实施例的示意图。当第一节点装置11云端服务器2与通信时,在上行链路中,第一节点装置11的控制电路112传送如图5所示包含储存待验证数据p11的第一字段及储存特征值p12的第二字段的分组格式的第一加密数据p1至第二节点装置12,第二节点装置12的控制电路122接收第一加密数据p1后,将包含第一加密数据p1的分组转换成如图7所示符合与云端服务器2通信的预设格式的分组,其中符合预设格式的分组可包含mesh识别码(id)字段及控制信息(control)字段,并且第一加密数据p1在转换过程中仍保留储存待验证数据p11的第一字段及储存特征值p12的第二字段,控制电路122再将转换过后如图7所示符合与云端服务器2通信的预设格式的第一加密数据p1发送至云端服务器2。同理,由于第五节点装置15为根节点,第五节点装置15亦发送符合与云端服务器2通信的预设格式的分组至云端服务器2,于此不再赘述。
31.再者,在下行链路中,第二节点装置12的控制电路122自云端服务器2接收如图8所示符合通信于云端服务器2的预设格式的第二加密数据p2,其中符合预设格式的分组亦可包含mesh id字段及control字段,并且包含储存第一密钥p21的第一字段及储存特征值p22的第二字段,控制电路122将包含第二加密数据p2的分组转换成如图6所示符合与第一节点装置11通信的预设格式的分组,第二加密数据p2在转换过程中仍保留储存第一密钥p21的第一字段及储存特征值p22的第二字段,控制电路122再将转换过后符合与第一节点装置11通信的预设格式的第二加密数据p2发送至第一节点装置11。
32.综上所述,通过在节点装置储存私钥并在云端服务器储存对应私钥之公钥以进行密钥协商过程,可免除公钥于节点装置与云端服务器之间传输以防止公钥于传输途中被窃取,有效保护公钥以解决传输过程中所面临的安全性问题。除此之外,当节点装置发送数据至云端服务器时,数据于传输途径中经过的各个节点装置皆不需要再对数据进行加解密即
可将数据再发送至下一节点装置,因此减少耗费大量的资源以及缩短了数据在节点装置与云端服务器之间的传输时间。
33.虽然本案已以实施例揭露如上然其并非用以限定本案,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许之更动与润饰,故本发明的保护范围当视后附之专利申请范围所界定者为准。
34.附图标记说明
35.1:网状网络系统
36.11:第一节点装置
37.111:储存电路
38.112:控制电路
39.12:第二节点装置
40.121:储存电路
41.122:控制电路
42.13:第三节点装置
43.14:第四节点装置
44.15:第五节点装置
45.2:云端服务器
46.p1:第一加密数据
47.p11:待验证数据
48.p12:特征值
49.p2:第二加密数据
50.p21:第一密钥
51.p22:特征值
52.p3:第三加密数据
53.p4:第四加密数据
54.s01~s13:步骤