发明内容
基于此,有必要针对上述技术问题,提供一种在保证数据同步安全性的同时又能够提高数据同步效率的组网环境下的数据同步方法、装置、计算机设备和存储介质。
一种组网环境下的数据同步方法,所述方法包括:
接收到从设备发送的注册请求;所述注册请求中携带所述从设备对应的设备信息;
根据所述设备信息,判断所述从设备是否合法;
若所述从设备合法,则下发对应的配置信息至所述从设备,并创建与所述从设备对应的链表;其中,所述链表用于存储所述从设备上报的数据;所述配置信息是利用已协商的目标密钥进行加密的;
若所述从设备不合法,则返回注册失败的结果至所述从设备。
在其中一个实施例中,所述已协商的目标密钥的生成方式包括:
接收从设备发送的密钥生成方式的协商请求,所述协商请求中携带了所述从设备自身支持的密钥生成方式;
从所述从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将所述目标密钥生成方式返回至所述从设备;其中,所述目标密钥生成方式用于指示通信的所述从设备和主设备根据Diffie-Hellman密钥交换算法,计算得到所述目标密钥。
在其中一个实施例中,所述方法还包括:
当检测到配置变更时,则通过轮询的方式检测本地配置数据与已创建的所述链表中的数据是否相同;
若不相同,则将变更后的配置文件发送至所述从设备,所述变更后的配置文件用于指示所述从设备更新对应的配置信息。
在其中一个实施例中,所述根据所述设备信息,判断所述从设备是否合法包括:
根据所述设备信息,在主设备本地对应的合法设备列表中进行查找;
若未查找到,则判断所述设备信息是否符合预设合法设备的条件;
若符合,则确定所述从设备合法,并将所述从设备加入到所述主设备本地对应的合法设备列表中。
在其中一个实施例中,所述方法还包括:
将所述设备信息发送至用户终端以确认所述从设备是否合法。
一种组网环境下的数据同步装置,所述装置包括:
接收模块,用于接收到从设备发送的注册请求;所述注册请求中携带所述从设备对应的设备信息;
判断模块,用于根据所述设备信息,判断所述从设备是否合法;
下发模块,用于若所述从设备合法,则下发对应的配置信息至所述从设备,并创建与所述从设备对应的链表;其中,所述链表用于存储所述从设备上报的数据;所述配置信息是利用已协商的目标密钥进行加密的;
返回模块,用于若所述从设备不合法,则返回注册失败的结果至所述从设备。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收到从设备发送的注册请求;所述注册请求中携带所述从设备对应的设备信息;
根据所述设备信息,判断所述从设备是否合法;
若所述从设备合法,则下发对应的配置信息至所述从设备,并创建与所述从设备对应的链表;其中,所述链表用于存储所述从设备上报的数据;所述配置信息是利用已协商的目标密钥进行加密的;
若所述从设备不合法,则返回注册失败的结果至所述从设备。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收到从设备发送的注册请求;所述注册请求中携带所述从设备对应的设备信息;
根据所述设备信息,判断所述从设备是否合法;
若所述从设备合法,则下发对应的配置信息至所述从设备,并创建与所述从设备对应的链表;其中,所述链表用于存储所述从设备上报的数据;所述配置信息是利用已协商的目标密钥进行加密的;
若所述从设备不合法,则返回注册失败的结果至所述从设备。
一种组网环境下的数据加密方法,所述方法包括:
通过第一端口接收从设备发送的密钥生成方式的协商请求,所述协商请求中携带了所述从设备自身支持的密钥生成方式;
从所述从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将所述目标密钥生成方式返回至所述从设备;所述目标密钥生成方式用于指示所述从设备根据所述目标密钥生成方式生成对应的第一公钥和第一私钥;
根据所述目标密钥生成方式,生成对应的第二公钥和第二私钥;
通过所述第一端口接收到所述从设备发送的第一公钥;
根据所述目标密钥生成方式,对所述第一公钥和本地储存的所述第二私钥进行运算,得到目标密钥;
发送所述第二公钥至所述从设备;所述第二公钥用于指示所述从设备根据所述目标密钥生成方式,对所述第二公钥和所述从设备储存的所述第一私钥进行运算,得到目标密钥;所述目标密钥用于对主设备与所述从设备之间的通讯数据进行加密和解密。
在其中一个实施例中,所述通过第一端口接收从设备发送的密钥生成方式的协商请求之前,所述方法还包括:
预先将主设备的第一端口与IP地址进行绑定,得到对应的绑定关系;所述绑定关系用于使得每个从设备自动获取所述IP地址;
所述从设备以DHCP方式获取到所述IP地址,根据所述IP地址与所述主设备的第一端口建立连接。
一种组网环境下的数据加密装置,所述装置包括:
接收模块,用于通过第一端口接收从设备发送的密钥生成方式的协商请求,所述协商请求中携带了所述从设备自身支持的密钥生成方式;
选取模块,用于从所述从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将所述目标密钥生成方式返回至所述从设备;所述目标密钥生成方式用于指示所述从设备根据所述目标密钥生成方式生成对应的第一公钥和第一私钥;
生成模块,用于根据所述目标密钥生成方式,生成对应的第二公钥和第二私钥;
所述接收模块还用于通过所述第一端口接收到所述从设备发送的第一公钥;
运算模块,用于根据所述目标密钥生成方式,对所述第一公钥和本地储存的所述第二私钥进行运算,得到目标密钥;
发送模块,用于发送所述第二公钥至所述从设备;所述第二公钥用于指示所述从设备根据所述目标密钥生成方式,对所述第二公钥和所述从设备储存的所述第一私钥进行运算,得到目标密钥;所述目标密钥用于对主设备与所述从设备之间的通讯数据进行加密和解密。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过第一端口接收从设备发送的密钥生成方式的协商请求,所述协商请求中携带了所述从设备自身支持的密钥生成方式;
从所述从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将所述目标密钥生成方式返回至所述从设备;所述目标密钥生成方式用于指示所述从设备根据所述目标密钥生成方式生成对应的第一公钥和第一私钥;
根据所述目标密钥生成方式,生成对应的第二公钥和第二私钥;
通过所述第一端口接收到所述从设备发送的第一公钥;
根据所述目标密钥生成方式,对所述第一公钥和本地储存的所述第二私钥进行运算,得到目标密钥;
发送所述第二公钥至所述从设备;所述第二公钥用于指示所述从设备根据所述目标密钥生成方式,对所述第二公钥和所述从设备储存的所述第一私钥进行运算,得到目标密钥;所述目标密钥用于对主设备与所述从设备之间的通讯数据进行加密和解密。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过第一端口接收从设备发送的密钥生成方式的协商请求,所述协商请求中携带了所述从设备自身支持的密钥生成方式;
从所述从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将所述目标密钥生成方式返回至所述从设备;所述目标密钥生成方式用于指示所述从设备根据所述目标密钥生成方式生成对应的第一公钥和第一私钥;
根据所述目标密钥生成方式,生成对应的第二公钥和第二私钥;
通过所述第一端口接收到所述从设备发送的第一公钥;
根据所述目标密钥生成方式,对所述第一公钥和本地储存的所述第二私钥进行运算,得到目标密钥;
发送所述第二公钥至所述从设备;所述第二公钥用于指示所述从设备根据所述目标密钥生成方式,对所述第二公钥和所述从设备储存的所述第一私钥进行运算,得到目标密钥;所述目标密钥用于对主设备与所述从设备之间的通讯数据进行加密和解密。
上述组网环境下的数据同步方法、装置、计算机设备和存储介质,通过接收到从设备发送的注册请求,注册请求中携带从设备对应的设备信息。根据设备信息,判断从设备是否合法。若从设备合法,则下发对应的配置信息至从设备,并创建与从设备对应的链表。其中,链表用于存储从设备上报的数据,配置信息是利用已协商的目标密钥进行加密的。若从设备不合法,则返回注册失败的结果至从设备。由此使得,通过主设备和从设备预先协商的目标密钥,实现了对组网环境下的数据同步的相关操作进行加密和解密,在保证数据同步安全性的同时又能够有效提高数据同步效率。
上述组网环境下的数据加密方法、装置、计算机设备和存储介质,通过第一端口接收从设备发送的密钥生成方式的协商请求,协商请求中携带了从设备自身支持的密钥生成方式。主设备从从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将目标密钥生成方式返回至从设备,目标密钥生成方式用于指示从设备根据目标密钥生成方式生成对应的第一公钥和第一私钥。主设备根据目标密钥生成方式,生成对应的第二公钥和第二私钥,并通过第一端口接收到从设备发送的第一公钥。主设备根据目标密钥生成方式,对第一公钥和本地储存的第二私钥进行运算,得到目标密钥。主设备发送第二公钥至从设备,第二公钥用于指示从设备根据目标密钥生成方式,对第二公钥和从设备储存的第一私钥进行运算,得到目标密钥,目标密钥用于对主设备与从设备之间的通讯数据进行加密和解密。由此使得,通过将公钥与本地储存的私钥进行混合运算,得到目标密钥,实现了主设备与从设备之间的加密能力协商,能够为数据同步时的相关操作提供优选的加密方式进行传输。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的组网环境下的数据同步方法,可以应用于如图1所示的应用环境中。其中,服务器104通过网络与从设备102通过网络进行通信。服务器 104接收到从设备102发送的注册请求,注册请求中携带从设备102对应的设备信息。服务器104根据设备信息,判断从设备102是否合法。若从设备102合法,则服务器104下发对应的配置信息至从设备102,并创建与从设备102对应的链表。其中,链表用于存储从设备102上报的数据,配置信息是利用已协商的目标密钥进行加密的。若从设备102不合法,则服务器104返回注册失败的结果至从设备102。其中,从设备102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种组网环境下的数据同步方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,接收到从设备发送的注册请求,注册请求中携带从设备对应的设备信息。
无线Mesh网络凭借多跳互连和网状拓扑特性,已经演变为适用于宽带家庭网络、社区网络、企业网络和城域网络等多种无线接入网络的有效解决方案。 Mesh设备之间的数据同步可使MESH路由更智能化,业务感知更灵活,即具备更加灵活的业务感知能力和处理能力。同时,借助智能无线路由器可以方便连接其它无线设备的优势,路由器作为智能家居数据入口,可以对智能家居进行统一组网,把这些数据接口跟云端结合起来,拥有存储和计算能力后,可以远程控制家居设备进行工作,使得智能路由器不仅是网络接入设备,同时也是管理设备和安全设备。
Mesh网络即“无线网格网络”,是“多跳(multi-hop)”网络,Mesh即一种无线网络技术。无线Mesh路由器以多跳互连的方式形成自组织网络,为WMN 组网提供了更高的可靠性、更广的服务覆盖范围和更低的前期投入成本。WMN 是移动Ad Hoc网络的一种特殊形态,是一种高容量高速率的分布式网络。WMN 的一般架构由三类不同的无线网元组成:网关路由器(具有网关/网桥功能的路由器),Mesh路由器(接入点)和Mesh客户端(移动端或其他)。其中,Mesh 客户端通过无线连接的方式接入到无线Mesh路由器,无线Mesh路由器以多跳互连的形式,形成相对稳定的转发网络。常见的mesh组网中采用“客户机/ 服务器”技术模型,Mesh主设备运行于服务端,Mesh从设备运行于客户端,主要用于同步wifi的参数。
具体的,运行在服务端的主设备可以接收到从设备发送的注册请求,注册请求中携带从设备对应的设备信息。其中,主设备是指Mesh主设备,从设备是指Mesh从设备,Mesh主设备运行于服务端,Mesh从设备运行于客户端。注册请求是指从设备将其设备信息及其服务信息注册到对应的资源管理设备上。设备信息是指与设备相关的标识信息,如设备型号和序列号等。设备信息可以包括设备型号、设备制造商(如Microsoft)、操作系统和版本(如iOS 12.0.1)、设备所有者、设备名称、设备序列号以及IMEI等信息。以基于Mesh组网环境下的主设备为例进行说明。Mesh主设备开机,打开TCP 2000端口,等待外部连接。Mesh从设备开机,通过WAN口获取到对应的IP地址后,连接Mesh主设备的TCP2000端口,Mesh从设备向Mesh主设备发起注册请求,同时Mesh 从设备将自身的设备信息发送给Mesh主设备,请求Mesh主设备下发对应的配置信息。当Mesh主设备接收到Mesh从设备发送的注册请求和设备信息时,Mesh 主设备回应Mesh从设备对应的确认消息,表示已收到从设备发送的信息。
步骤204,根据设备信息,判断从设备是否合法。
主设备接收到从设备发送的注册请求之后,主设备可以根据注册请求中携带的从设备的设备信息,判断从设备是否合法。其中,设备是否合法是指该设备的设备信息及其服务信息是否符合当前资源管理设备中设置的配置信息,即对设备的身份进行验证,是否为非法设备。具体的,Mesh主设备即mesh主机接收到Mesh从设备即mesh从机发送的注册请求之后,mesh主机可以回应mesh 从机对应的确认消息,表示已收到mesh从机发送的信息。进一步的,mesh主机与mesh从机建立链路保活,开始链路保活,并验证主从设备是否在线。即主设备首先检查从设备对应的物理链路状态。若物理链路正常,则mesh主机检查 mesh从机是否合法。其中,设备信息中包括MAC信息、厂房标识、产品型号等信息,mesh主机可以根据预先设置的配置信息,根据设备信息中的MAC信息、厂房标识以及产品型号等信息判断从设备是否合法。此外,mesh主机也可以将该注册请求发送至第三方用户终端,以确认该mesh从机是否合法,并由第三方用户终端判断是否下发对应的配置信息。若mesh主机接收到用户终端发送的确认该mesh从机合法的消息,则mesh主机将该mesh从机加入到mesh主机的本地合法列表中。
步骤206,若从设备合法,则下发对应的配置信息至从设备,并创建与从设备对应的链表。其中,链表用于存储从设备上报的数据,配置信息是利用已协商的目标密钥进行加密的。
主设备可以根据注册请求中携带的从设备的设备信息,判断从设备是否合法。若确定从设备合法,则主设备下发对应的配置信息至从设备,并创建与从设备对应的链表。其中,链表用于存储从设备上报的数据,配置信息是利用已协商的目标密钥进行加密的。具体的,mesh主机可以创建并维护一个链表用来存储mesh从机发送过来的数据,主机和从机注册成功之后,mesh主机会将该 mesh从机上报的数据存放在对应的链表中。配置信息是指用于指示从设备根据配置信息更新对应的配置,已协商的目标密钥是指mesh从机连接mesh主机的 TCP2000端口之后,mesh主机和mesh从机可以通过TCP2000端口预先进行密钥协商过程,得到协商后的目标密钥。
步骤208,若从设备不合法,则返回注册失败的结果至从设备。
主设备可以根据注册请求中携带的从设备对应的设备信息,判断从设备是否合法。若确定从设备不合法,则主设备返回注册失败的结果至从设备。即当 mesh主机确定该从设备不合法时,则主设备发送错误信息至对应的从设备,并提示注册失败,即表明该从设备为非法用户或非法设备。
本实施例中,通过接收到从设备发送的注册请求,注册请求中携带从设备对应的设备信息。根据设备信息,判断从设备是否合法。若从设备合法,则下发对应的配置信息至从设备,并创建与从设备对应的链表。其中,链表用于存储从设备上报的数据,配置信息是利用已协商的目标密钥进行加密的。若从设备不合法,则返回注册失败的结果至从设备。由此使得,通过主设备和从设备预先协商的目标密钥,实现了对组网环境下的数据同步的相关操作进行加密和解密,在保证数据同步安全性的同时又能够有效提高数据同步效率。
在一个实施例中,如图3所示,已协商的目标密钥的生成方式的步骤,包括:
步骤302,接收从设备发送的密钥生成方式的协商请求,协商请求中携带了从设备自身支持的密钥生成方式。
步骤304,从从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将目标密钥生成方式返回至从设备。其中,目标密钥生成方式用于指示通信的从设备和主设备根据Diffie-Hellman密钥交换算法,计算得到目标密钥。
当确定从设备合法时,主设备下发对应的配置信息至对应的从设备,并创建与该从设备对应的链表。其中,配置信息是利用已协商的目标密钥进行加密的。主设备可以与从设备预先协商目标密钥的生成方式。具体的,主设备可以接收从设备发送的密钥生成方式的协商请求,协商请求中携带了从设备自身支持的密钥生成方式。主设备从从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将目标密钥生成方式返回至从设备。其中,目标密钥生成方式用于指示通信的从设备和主设备根据Diffie-Hellman密钥交换算法,计算得到目标密钥。Diffie-Hellman密钥交换算法是指一种确保共享KEY安全穿越不安全网络的方法,称为Diffie-Hellman密钥交换协议/算法(Diffie-Hellman Key Exchange/Agreement Algorithm)。这个机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥,然后可以用这个密钥进行加密和解密。由此使得,实现了主设备与从设备之间的加密能力协商,能够为数据同步时的相关操作提供优选的加密方式进行传输。
在一个实施例中,如图4所示,当检测到配置变更时的步骤,包括:
步骤402,当检测到配置变更时,则通过轮询的方式检测本地配置数据与已创建的链表中的数据是否相同。
步骤404,若不相同,则将变更后的配置文件发送至从设备,变更后的配置文件用于指示从设备更新对应的配置信息。
mesh主机创建并维护一个链表用来存储mesh从机发过来的数据,主机和从机注册成功之后,mesh主机会将每个mesh从机上报的数据存放在对应的链表中。当mesh主机检测到配置变更时,即管理员或者具有变更配置权限的用户终端对配置进行变更时,则mesh主机通过轮询的方式检测本地配置数据与已创建的链表中的数据是否相同。若不相同,则mesh主机将变更后的配置文件发送至对应的从设备,变更后的配置文件用于指示从设备更新对应的配置信息。例如,mesh主机和mesh从机01注册成功之后,当mesh主机检测到配置变更时,即管理员或者具有变更配置权限的用户对mesh从机01的配置进行变更时,则 mesh主机通过轮询的方式检测本地配置数据与已创建的mesh从机01的链表中的数据是否相同。若不相同,则mesh主机将变更后的配置文件发送至对应的 mesh从机01,使得mesh从机01更新对应的配置信息。由此使得,在保证数据同步安全性的同时,又能够减少数据同步时消耗的资源。此外,数据交换时采用json格式,易于机器解析和生成,可有效地提升网络传输效率,支持同步数据的扩展性,有利于增加新的数据节点和业务,方便扩展新的业务场景。
在一个实施例中,如图5所示,根据设备信息,判断从设备是否合法的步骤,包括:
步骤502,根据设备信息,在主设备本地对应的合法设备列表中进行查找。
步骤504,若未查找到,则判断设备信息是否符合预设合法设备的条件。
步骤506,若符合,则确定从设备合法,并将从设备加入到主设备本地对应的合法设备列表中。
主设备接收到从设备发送的注册请求之后,主设备可以根据注册请求中携带的从设备对应的设备信息,判断从设备是否合法。具体的,主设备可以根据设备信息,在主设备本地对应的合法设备列表中进行查找。若未查找到,则进一步判断设备信息是否符合预设合法设备的条件。若符合,则确定从设备合法,并将从设备加入到主设备本地对应的合法设备列表中。例如,mesh主机接收到 mesh从机01发送的注册请求之后,mesh主机可以根据注册请求中携带的mesh 从机01对应的设备信息,判断mesh从机01是否合法。具体的,mesh主机可以根据mesh从机01对应的设备信息,在mesh主机本地对应的合法设备列表中进行查找。若未查找到,则需要进一步判断mesh从机01对应的设备信息是否符合预设合法设备的条件。mesh主机可以根据设备信息中的MAC信息、厂房标识以及产品型号等信息判断该从设备是否合法。若符合,则确定mesh从机01 合法,并将mesh从机01加入到主设备本地对应的合法设备列表中。此外,mesh 主机可以根据mesh从机01对应的设备信息,在mesh主机本地对应的合法设备列表中进行查找,若在mesh主机本地对应的合法设备列表中查找到mesh从机 01对应的设备信息,则确定mesh从机01合法,并将mesh从机01加入到主设备本地对应的合法设备列表中。由此使得,通过主设备和从设备预先协商的目标密钥,实现了对组网环境下的数据同步的相关操作进行加密和解密,同时也能够根据组网和数据同步过程设计状态机,提高程序运行效率。
在其中一个实施例中,将设备信息发送至用户终端以确认从设备是否合法。
主设备接收到从设备发送的注册请求之后,主设备可以根据注册请求中携带的从设备对应的设备信息,判断从设备是否合法。主设备也可以将注册请求中携带的从设备对应的设备信息,发送至用户终端以确认从设备是否合法。例如,mesh主机可以将该注册请求发送至第三方用户终端,以确认该mesh从机是否合法,并由第三方用户终端判断是否下发对应的配置信息。若mesh主机接收到用户终端发送的确认该mesh从机合法的消息,则mesh主机将该mesh从机加入到mesh主机的本地合法列表中。由此使得,通过主设备和从设备预先协商的目标密钥,实现了对组网环境下的数据同步的相关操作进行加密和解密,在保证数据同步安全性的同时又能够有效提高数据同步效率。
在一个实施例中,如图6A所示,提供了一种组网环境下的数据加密方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤602,通过第一端口接收从设备发送的密钥生成方式的协商请求,协商请求中携带了从设备自身支持的密钥生成方式。
步骤604,从从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将目标密钥生成方式返回至从设备,目标密钥生成方式用于指示从设备根据目标密钥生成方式生成对应的第一公钥和第一私钥。
步骤606,根据目标密钥生成方式,生成对应的第二公钥和第二私钥。
步骤608,通过第一端口接收到从设备发送的第一公钥。
步骤610,根据目标密钥生成方式,对第一公钥和本地储存的第二私钥进行运算,得到目标密钥。
步骤612,发送第二公钥至从设备,第二公钥用于指示从设备根据目标密钥生成方式,对第二公钥和从设备储存的第一私钥进行运算,得到目标密钥;目标密钥用于对主设备与从设备之间的通讯数据进行加密和解密。
主设备可以通过预设的第一端口接收从设备发送的密钥生成方式的协商请求,协商请求中携带了从设备自身支持的密钥生成方式。其中,预设的第一端口可以为TCP端口。进一步的,主设备从从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将目标密钥生成方式返回至从设备。其中,目标密钥生成方式用于指示从设备根据目标密钥生成方式生成对应的第一公钥和第一私钥,从设备将根据目标密钥生成方式生成对应的第一公钥发送至主设备。同时,主设备也可以根据已协商的目标密钥生成方式,生成对应的第二公钥和第二私钥。主设备通过第一端口接收到从设备发送的第一公钥之后,主设备可以对第一公钥和本地储存的第二私钥进行混合运算,得到对应的目标密钥。此外,主设备也将根据已协商的目标密钥生成方式,生成的第二公钥发送至从设备,从设备接收到主设备发送的第二公钥之后,从设备可以根据目标密钥生成方式,对第二公钥和从设备储存的第一私钥进行混合运算,得到对应的目标密钥。目标密钥用于对主设备与从设备之间的通讯数据进行加密和解密。
具体的,如图6B所示,为基于Mesh组网环境下的数据同步的流程图。如图6C所示,为基于Mesh组网环境下的数据同步软件的流程图。Mesh主设备即 mesh主机开机,打开TCP2000端口,等待外部连接。Mesh从设备即mesh从机开机,通过WAN口获取到IP地址,连接mesh主机的TCP2000端口。进一步的,mesh从机发向mesh主机发起协商密钥生成方式请求,并将mesh从机支持的密钥生成方式(DH算法)发送给mesh主机。mesh主机接收到mesh从机发送的密钥生成方式集合之后,mesh主机在mesh从机支持的密钥生成方式集合中,选择mesh主机也支持的密钥生成方式(DH算法),并将选择的该密钥生成方式(Diffie-Hellman密钥交换算法)回应给mesh从机,即双方完成密钥生成方式的协商。进一步的,mesh从机侧采用已协商的Diffie-Hellman密钥交换算法即DH算法,生成第一公钥和第一私钥,并发送mesh从机的第一公钥与mesh 从机的设备信息给mesh主机。mesh主机通过TCP 2000端口收到mesh从机发送的第一公钥后,mesh主机也采用已协商的DH算法,生成mesh主机对应的第二公钥和第二私钥,并将第二公钥返回至mesh从机。mesh主机将mesh从机的第一公钥与mesh主机的第二私钥进行运算,得到对应的共享密钥。mesh从机侧接收到mesh主机的第二公钥后,将mesh主机的第二公钥与mesh从机的第一私钥进行运算,得到共享密钥,即目标密钥的协商过程结束。mesh从机与mesh 主机采用上述已协商好的共享密钥加解密通讯数据,消息传输时的加密方式为 AES方式。其中,AES即高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。由此使得,通过Diffie-Hellman密钥交换算法,使需要通信的双方采用已协商的DH算法的方式确定对称密钥,并利用该密钥进行加密和解密,可确保共享秘钥安全穿越不安全网络,实现了主设备与从设备之间的加密能力协商,能够为数据同步时的相关操作提供优选的加密方式进行传输。
在一个实施例中,通过第一端口接收从设备发送的密钥生成方式的协商请求之前,该方法还包括将主设备的第一端口与IP地址进行绑定的步骤,具体包括:
预先将主设备的第一端口与IP地址进行绑定,得到对应的绑定关系,绑定关系用于使得每个从设备自动获取IP地址。
从设备以DHCP方式获取到IP地址,根据IP地址与主设备的第一端口建立连接。
主设备通过预设的第一端口接收从设备发送的密钥生成方式的协商请求之前,可以预先将主设备的第一端口与IP地址进行绑定,得到对应的绑定关系,绑定关系用于使得每个从设备自动获取IP地址。每个从设备以DHCP方式获取到IP地址,根据IP地址与主设备的第一端口建立连接。其中,预设的第一端口可以为TCP端口。DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)是一个局域网的网络协议,指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。具体的,Mesh 主设备开机,打开TCP 2000端口,等待外部连接。Mesh从设备开机,通过WAN 口以DHCP方式获取到IP后,连接mesh主机的TCP2000端口。由此使得,实现了主设备与从设备之间的加密能力协商,能够为数据同步时的相关操作提供优选的加密方式进行传输。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种组网环境下的数据同步装置,包括:接收模块702、判断模块704、下发模块706和返回模块708,其中:
接收模块702,用于接收到从设备发送的注册请求,注册请求中携带从设备对应的设备信息。
判断模块704,用于根据设备信息,判断从设备是否合法。
下发模块706,用于若从设备合法,则下发对应的配置信息至从设备,并创建与从设备对应的链表。其中,链表用于存储从设备上报的数据,配置信息是利用已协商的目标密钥进行加密的。
返回模块708,用于若从设备不合法,则返回注册失败的结果至从设备。
在一个实施例中,该装置还包括:选取模块。
接收模块还用于接收从设备发送的密钥生成方式的协商请求,协商请求中携带了从设备自身支持的密钥生成方式。选取模块用于从从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将目标密钥生成方式返回至从设备。其中,目标密钥生成方式用于指示通信的从设备和主设备根据Diffie-Hellman密钥交换算法,计算得到目标密钥。
在一个实施例中,该装置还包括:检测模块和发送模块。
检测模块用于当检测到配置变更时,则通过轮询的方式检测本地配置数据与已创建的链表中的数据是否相同。发送模块用于若不相同,则将变更后的配置文件发送至从设备,变更后的配置文件用于指示从设备更新对应的配置信息。
在一个实施例中,该装置还包括:查找模块和确定模块。
查找模块用于根据设备信息,在主设备本地对应的合法设备列表中进行查找;若未查找到,则判断设备信息是否符合预设合法设备的条件。确定模块用于若符合,则确定从设备合法,并将从设备加入到主设备本地对应的合法设备列表中。
在一个实施例中,发送模块还用于将设备信息发送至用户终端以确认从设备是否合法。
在一个实施例中,如图8所示,提供了一种组网环境下的数据加密装置,包括:接收模块802、选取模块804、生成模块806、运算模块808和发送模块 810,其中:
接收模块802,用于通过第一端口接收从设备发送的密钥生成方式的协商请求,协商请求中携带了从设备自身支持的密钥生成方式。
选取模块804,用于从从设备自身支持的密钥生成方式中选取目标密钥生成方式,并将目标密钥生成方式返回至从设备,目标密钥生成方式用于指示从设备根据目标密钥生成方式生成对应的第一公钥和第一私钥。
生成模块806,用于根据目标密钥生成方式,生成对应的第二公钥和第二私钥。
接收模块802还用于通过第一端口接收到从设备发送的第一公钥。
运算模块808,用于根据目标密钥生成方式,对第一公钥和本地储存的第二私钥进行运算,得到目标密钥。
发送模块810,用于发送第二公钥至从设备;第二公钥用于指示从设备根据目标密钥生成方式,对第二公钥和从设备储存的第一私钥进行运算,得到目标密钥;目标密钥用于对主设备与从设备之间的通讯数据进行加密和解密。
在一个实施例中,该装置还包括:绑定模块和连接模块。
绑定模块用于预先将主设备的第一端口与IP地址进行绑定,得到对应的绑定关系,绑定关系用于使得每个从设备自动获取IP地址。连接模块用于从设备以DHCP方式获取到IP地址,根据IP地址与主设备的第一端口建立连接。
关于组网环境下的数据同步装置的具体限定可以参见上文中对于组网环境下的数据同步方法的限定,在此不再赘述。上述组网环境下的数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储组网环境下的数据同步数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种组网环境下的数据同步方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各个方法实施例的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory, SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。