发明内容
本发明的主要目的在于提供一种门锁固件的升级方法、智能门锁、云服务器、计算机可读存储介质以及门锁固件的升级系统,旨在智能门锁进行升级操作时,不仅对升级固件数据的完整性进行校验,而且对升级固件数据的来源是否可信进行校验,提高了智能门锁固件升级的安全性。
为实现上述目的,本发明提供一种门锁固件的升级方法,所述门锁固件的升级方法包括以下步骤:
在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对所述哈希密文进行解密运算,得到第二哈希值,其中,所述哈希密文由所述云服务器利用第一预设密钥对所述第一哈希值进行加密运算得到;
在所述第二哈希值与所述第一哈希值一致时,所述智能门锁按照所述升级固件数据进行升级操作。
优选地,所述利用第二预设密钥对所述哈希密文进行解密运算之前,还包括:
根据所述升级固件数据,运算得到第三哈希值;
在所述第三哈希值与所述第一哈希值一致时,执行所述利用第二预设密钥对所述哈希密文进行解密运算的步骤。
优选地,所述运算得到第三哈希值之后,还包括:
在所述第三哈希值与所述第一哈希值不一致时,将接收失败的信息反馈至所述云服务器,以供所述云服务器在接收到所述接收失败的信息时,向所述智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。
优选地,所述利用第二预设密钥对所述哈希密文进行解密运算,得到第二哈希值之后,还包括:
在所述第二哈希值与所述第一哈希值不一致时,将来源不可信的信息反馈至所述云服务器,其中,所述云服务器在接收到所述来源不可信的信息时,将所述来源不可信的信息发送至移动终端,以在接收到所述移动终端反馈的确定升级或者取消升级的指令时,将所述确定升级或者所述取消升级的指令发送至所述智能门锁;
在接收到所述确定升级的指令时,所述智能门锁按照所述升级固件数据进行升级操作。
为实现上述目的,本发明提供一种门锁固件的升级方法,所述门锁固件的升级方法包括以下步骤:
在接收到升级固件数据时,根据所述升级固件数据,运算得到第一哈希值;
利用第一预设密钥对所述第一哈希值进行加密运算,得到哈希密文;
将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁,以供所述智能门锁在接收到所述升级固件数据、所述第一哈希值以及所述哈希密文时,按照所述升级固件数据进行升级操作。
优选地,所述将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁之后,还包括:
在接收到所述智能门锁反馈的接收失败的信息时,向所述智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。
优选地,所述将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁之后,还包括:
在接收到所述智能门锁反馈的来源不可信的信息时,将所述来源不可信的信息发送至移动终端;
在接收到所述移动终端反馈的确定升级的指令时,将所述确定升级的指令发送至所述智能门锁,以供所述智能门锁按照所述升级固件数据进行升级操作。
为实现上述目的,本发明还提供一种智能门锁,所述智能门锁包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的门锁固件的升级程序,所述门锁固件的升级程序被所述处理器执行时实现上述门锁固件的升级方法的步骤。
为实现上述目的,本发明还提供一种云服务器,所述云服务器包括:
所述云服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的门锁固件的升级程序,所述门锁固件的升级程序被所述处理器执行时实现上述门锁固件的升级方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有门锁固件的升级程序,所述门锁固件的升级程序被处理器执行时实现上述门锁固件的升级方法的步骤。
为实现上述目的,本发明还提供一种门锁固件的升级系统,所述门锁固件的升级系统包括:
智能门锁、云服务器以及网关,所述智能门锁通过网关连接网络,并与云服务器进行通信,其中,
所述智能门锁,用于在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对所述哈希密文进行解密运算,得到第二哈希值,并在所述第二哈希值与所述第一哈希值一致时,所述智能门锁按照所述升级固件数据进行升级操作;
所述云服务器,用于在接收到升级固件数据时,根据所述升级固件数据,运算得到第一哈希值,并利用第一预设密钥对所述第一哈希值进行加密运算,得到哈希密文,然后将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁;
所述网关,用于将所述云服务器发送至所述智能门锁的数据进行协议转换为网关数据,并发送至智能门锁;同时,所述网关还用于将所述智能门锁发送至所述云服务器的网关数据进行协议转换,以将所述网关数据转化为可被所述云服务器接收的数据。
本发明提供的门锁固件的升级方法、智能门锁、云服务器、计算机可读存储介质以及门锁固件的升级系统,在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对哈希密文进行解密运算,得到第二哈希值,其中,哈希密文由云服务器利用第一预设密钥对第一哈希值进行加密运算得到;在第二哈希值与第一哈希值一致时,智能门锁按照所述升级固件数据进行升级操作。这样,在智能门锁进行升级操作时,不仅对升级固件数据的完整性进行校验,而且对升级固件数据的来源是否可信进行校验,提高了智能门锁固件升级的安全性。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种门锁固件的升级方法,在智能门锁进行升级操作时,不仅对升级固件数据的完整性进行校验,而且对升级固件数据的来源是否可信进行校验,提高了智能门锁固件升级的安全性。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例移动终端是智能门锁。
如图1所示,该移动终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及门锁固件的升级程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的门锁固件的升级程序,并执行以下操作:
在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对所述哈希密文进行解密运算,得到第二哈希值,其中,所述哈希密文由所述云服务器利用第一预设密钥对所述第一哈希值进行加密运算得到;
在所述第二哈希值与所述第一哈希值一致时,所述智能门锁按照所述升级固件数据进行升级操作。
进一步地,处理器1001可以调用存储器1005中存储的门锁固件的升级程序,还执行以下操作:
根据所述升级固件数据,运算得到第三哈希值;
在所述第三哈希值与所述第一哈希值一致时,执行所述利用第二预设密钥对所述哈希密文进行解密运算的步骤。
进一步地,处理器1001可以调用存储器1005中存储的门锁固件的升级程序,还执行以下操作:
在所述第三哈希值与所述第一哈希值不一致时,将接收失败的信息反馈至所述云服务器,以供所述云服务器在接收到所述接收失败的信息时,向所述智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。
进一步地,处理器1001可以调用存储器1005中存储的门锁固件的升级程序,还执行以下操作:
在所述第二哈希值与所述第一哈希值不一致时,将来源不可信的信息反馈至所述云服务器,其中,所述云服务器在接收到所述来源不可信的信息时,将所述来源不可信的信息发送至移动终端,以在接收到所述移动终端反馈的确定升级或者取消升级的指令时,将所述确定升级或者所述取消升级的指令发送至所述智能门锁;
在接收到所述确定升级的指令时,所述智能门锁按照所述升级固件数据进行升级操作。
进一步地,处理器1001可以调用存储器1005中存储的门锁固件的升级程序,还执行以下操作:
在接收到升级固件数据时,根据所述升级固件数据,运算得到第一哈希值;
利用第一预设密钥对所述第一哈希值进行加密运算,得到哈希密文;
将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁,以供所述智能门锁在接收到所述升级固件数据、所述第一哈希值以及所述哈希密文时,按照所述升级固件数据进行升级操作。
进一步地,处理器1001可以调用存储器1005中存储的门锁固件的升级程序,还执行以下操作:
在接收到所述智能门锁反馈的接收失败的信息时,向所述智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。
进一步地,处理器1001可以调用存储器1005中存储的门锁固件的升级程序,还执行以下操作:
在接收到所述智能门锁反馈的来源不可信的信息时,将所述来源不可信的信息发送至移动终端;
在接收到所述移动终端反馈的确定升级的指令时,将所述确定升级的指令发送至所述智能门锁,以供所述智能门锁按照所述升级固件数据进行升级操作。
参照图2,在第一实施例中,所述门锁固件的升级方法包括:
步骤S11、在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对所述哈希密文进行解密运算,得到第二哈希值,其中,所述哈希密文由所述云服务器利用第一预设密钥对所述第一哈希值进行加密运算得到;
本实施例中,升级固件数据是用于智能门锁进行升级操作的数据,其可以是云服务器自动下载,也可以由用户上传至云服务器。在云服务器获取到升级固件数据时,利用哈希算法对升级固件数据进行运算,得到第一哈希值。其中,哈希算法可以是SHA256算法或者MD5算法。需要说明的是,哈希算法是将任意长度的二进制值映射为较短的固定长度的二进制值,这个较短的固定长度的二进制值即为哈希值。哈希密文是由云服务器利用第一预设密钥对第一哈希值进行签名得到,其中,第一预设密钥可以是私钥。
具体地,在云服务器获取到升级固件数据、第一哈希值以及哈希密文时,云服务器向移动终端发送升级提示,在接收到移动终端反馈的升级指令时,将升级固件数据通过网关发送给智能门锁,其中,网关可以是蓝牙、WiFi等。智能门锁在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对哈希密文进行解密运算,得到第二哈希值,其中,第二预设密钥可以是公钥。
需要说明的是,每个通信方均需要两个密钥,即公钥和私钥,公钥是公开的,而私钥是保密的。公钥和私钥可以互为加解密,且一个公钥对应一个私钥,即如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密;如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
步骤S12、在所述第二哈希值与所述第一哈希值一致时,所述智能门锁按照所述升级固件数据进行升级操作。
本实施例中,第一哈希值是由云服务器利用SHA256算法或者MD5算法对升级固件数据进行运算得到的,其由私钥进行签名操作,得到哈希密文。而第二哈希值是由智能门锁中与私钥对应的公钥对哈希密文进行解密得到的。在第二哈希值与第一哈希值一致时,则判定升级固件数据的来源可信。固件数据的来源可信是指固件数据的提供商是官方提供商,而非第三方提供商。
在第一实施例中,在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对哈希密文进行解密运算,得到第二哈希值,其中,哈希密文由云服务器利用第一预设密钥对第一哈希值进行加密运算得到;在第二哈希值与第一哈希值一致时,智能门锁按照所述升级固件数据进行升级操作。这样,在智能门锁进行升级操作时,不仅对升级固件数据的完整性进行校验,而且对升级固件数据的来源是否可信进行校验,提高了智能门锁固件升级的安全性。
在第二实施例中,如图3所示,在上述图2所示的实施例基础上,所述利用第二预设密钥对所述哈希密文进行解密运算之前,还包括:
步骤S13、根据所述升级固件数据,运算得到第三哈希值;
步骤S14、在所述第三哈希值与所述第一哈希值一致时,执行所述利用第二预设密钥对所述哈希密文进行解密运算的步骤。
本实施例中,在云服务器接收到升级固件数据时,利用SHA256算法或者MD5算法对升级固件数据进行运算,得到第一哈希值;在智能门锁接收到云服务器发送的升级固件数据时,利用SHA256算法或者MD5算法对升级固件数据进行运算,得到第二哈希值。比如,升级固件数据为“12345”,云服务器对“12345”进行运算得到第一哈希值为“6”,智能门锁对“12345”进行运算得到第二哈希值也为“6”,那么第二哈希值与第一哈希值是一致的;如果云服务器对“12345”进行运算得到第一哈希值为“6”,智能门锁对“12345”进行运算得到第二哈希值为“7”,那么第二哈希值与第一哈希值是不一致的。
需要说明的是,由于哈希值是一段数据唯一且极其紧凑的数值表示形式,如果更改散列明文的一个字母,随后的哈希值都会不同,因此哈希值可以检验数据的完整性。在第三哈希值与第一哈希值一致时,判定升级固件数据是完整的,从而可以进一步判定升级固件数据的来源是否可信。
在第二实施例中,根据升级固件数据,运算得到第三哈希值,并在第三哈希值与第一哈希值一致时,执行利用第二预设密钥对哈希密文进行解密运算的步骤。这样,保证了升级固件数据的完整性。
在第三实施例中,如图4所示,在上述图2至图3所示的实施例基础上,所述运算得到第三哈希值之后,还包括:
步骤S15、在所述第三哈希值与所述第一哈希值不一致时,将接收失败的信息反馈至所述云服务器,以供所述云服务器在接收到所述接收失败的信息时,向所述智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。
本实施例中,在第三哈希值与第一哈希值不一致时,判定升级固件数据不完整的,这时将接收失败的信息反馈至云服务器,云服务器向智能门锁重新发送升级固件数据、第一哈希值以及哈希密文,直至智能门锁判定升级固件数据完整时,则停止发送。
在第三实施例中,在第三哈希值与第一哈希值不一致时,将接收失败的信息反馈至云服务器,以供云服务器在接收到接收失败的信息时,向智能门锁重新发送升级固件数据、第一哈希值以及哈希密文。这样,保证了升级固件数据的完整性。
在第四实施例中,如图5所示,在上述图2至图4所示的实施例基础上,所述利用第二预设密钥对所述哈希密文进行解密运算,得到第二哈希值之后,还包括:
步骤S16、在所述第二哈希值与所述第一哈希值不一致时,将来源不可信的信息反馈至所述云服务器,其中,所述云服务器在接收到所述来源不可信的信息时,将所述来源不可信的信息发送至移动终端,以在接收到所述移动终端反馈的确定升级或者取消升级的指令时,将所述确定升级或者所述取消升级的指令发送至所述智能门锁;
步骤S17、在接收到所述确定升级的指令时,所述智能门锁按照所述升级固件数据进行升级操作。
在本实施例中,在第二哈希值与第一哈希值不一致时,判定升级固件数据的来源不可信,这时将来源不可信的信息通过网关反馈至云服务器,云服务其进而将接收到的来源不可信的信息发送至移动终端以提醒用户,并在接收到用户确定升级的指令时,将确定升级的指令通过网关发送至智能门锁,以供智能门锁进行升级操作。
需要说明的是,在云服务器接收到移动终端发送的用户取消升级的指令时,将取消升级的指令通过网关发送至智能门锁。智能门锁可以将升级固件数据删除,以节省内存空间。
在第四实施例中,在第二哈希值与第一哈希值不一致时,将来源不可信的信息反馈至云服务器,并在接收到确定升级的指令时,智能门锁按照升级固件数据进行升级操作。这样,提高了智能门锁升级操作的安全性。
本发明还提供一种门锁固件的升级方法,参照图6,在第五实施例中,所述门锁固件的升级方法包括以下步骤:
步骤S21、在接收到升级固件数据时,根据所述升级固件数据,运算得到第一哈希值;
步骤S22、利用第一预设密钥对所述第一哈希值进行加密运算,得到哈希密文;
步骤S23、将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁,以供所述智能门锁在接收到所述升级固件数据、所述第一哈希值以及所述哈希密文时,按照所述升级固件数据进行升级操作。
本实施例中,升级固件数据是用于智能门锁进行升级操作的数据,其可以由云服务器自主下载,也可以由用户上传至云服务器。在云服务器获取到升级固件数据时,利用哈希算法对升级固件数据进行运算,得到第一哈希值。其中,哈希算法可以是SHA256算法或者MD5算法。需要说明的是,哈希算法是将任意长度的二进制值映射为较短的固定长度的二进制值,这个较短的固定长度的二进制值即为哈希值。哈希密文是由云服务器利用第一预设密钥对第一哈希值进行签名得到,其中,第一预设密钥可以是私钥。
具体地,在云服务器获取到升级固件数据、第一哈希值以及哈希密文时,云服务器向移动终端发送升级提示,在接收到移动终端反馈的升级指令时,将升级固件数据通过网关发送给智能门锁,其中,网关可以是蓝牙、WiFi等。智能门锁在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对哈希密文进行解密运算,得到第二哈希值,其中,第二预设密钥可以是公钥。
需要说明的是,每个通信方均需要两个密钥,即公钥和私钥,公钥是公开的,而私钥是需要保密的。公钥和私钥可以互为加解密,且一个公钥对应一个私钥,即如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密;如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
本实施例中,第一哈希值是由云服务器利用SHA256算法或者MD5算法对升级固件数据进行运算得到的,其由私钥进行签名操作,得到哈希密文。而第二哈希值是由智能门锁中与私钥对应的公钥对哈希密文进行解密得到的。在第二哈希值与第一哈希值一致时,则判定升级固件数据的来源可信。固件数据的来源可信是指固件数据的提供商是官方提供商,而非第三方提供商。
在第五实施例中,在接收到升级固件数据时,根据升级固件数据运算得到第一哈希值,并利用第一预设密钥对所述第一哈希值进行加密运算,得到哈希密文,然后将升级固件数据、第一哈希值以及哈希密文打包发送至智能门锁,以供智能门锁按照升级固件数据进行升级操作。这样,不仅对升级固件数据的完整性进行校验,而且对升级固件数据的来源是否可信进行校验,提高了智能门锁固件升级的安全性。
在第六实施例中,如图7所示,在上述图6所示的实施例基础上,所述将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁之后,还包括:
步骤S24、在接收到所述智能门锁反馈的接收失败的信息时,向所述智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。
本实施例中,在云服务器接收到升级固件数据时,利用SHA256算法或者MD5算法对升级固件数据进行运算,得到第一哈希值;在智能门锁接收到云服务器发送的升级固件数据时,利用SHA256算法或者MD5算法对升级固件数据进行运算,得到第二哈希值。比如,升级固件数据为“12345”,云服务器对“12345”进行运算得到第一哈希值为“6”,智能门锁对“12345”进行运算得到第二哈希值也为“6”,那么第二哈希值与第一哈希值是一致的;如果云服务器对“12345”进行运算得到第一哈希值为“6”,智能门锁对“12345”进行运算得到第二哈希值为“7”,那么第二哈希值与第一哈希值是不一致的。
需要说明的是,由于哈希值是一段数据唯一且极其紧凑的数值表示形式,如果更改散列明文的一个字母,随后的哈希值都会不同,因此哈希值可以检验数据的完整性。在第三哈希值与第一哈希值一致时,判定升级固件数据是完整的,从而可以进一步判定升级固件数据的来源是否可信。
本实施例中,在第三哈希值与第一哈希值不一致时,判定升级固件数据不完整的,这时将接收失败的信息反馈至云服务器,云服务器向智能门锁重新发送升级固件数据、第一哈希值以及哈希密文,直至智能门锁判定升级固件数据完整时,则停止发送。
在第六实施例中,在接收到智能门锁反馈的接收失败的信息时,向智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。这样,保证了升级固件数据的完整性。
在第七实施例中,如图8所示,在上述图6至图7所示的实施例基础上,所述将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁之后,还包括:
步骤S25、在接收到所述智能门锁反馈的来源不可信的信息时,将所述来源不可信的信息发送至移动终端;
步骤S26、在接收到所述移动终端反馈的确定升级的指令时,将所述确定升级的指令发送至所述智能门锁,以供所述智能门锁按照所述升级固件数据进行升级操作。
在本实施例中,在第二哈希值与第一哈希值不一致时,判定升级固件数据的来源不可信,这时将来源不可信的信息通过网关反馈至云服务器,云服务其进而将接收到的来源不可信的信息发送至移动终端以提醒用户,并在接收到用户确定升级的指令时,将确定升级的指令通过网关发送至智能门锁,以供智能门锁进行升级操作。
需要说明的是,在云服务器接收到移动终端发送的用户取消升级的指令时,将取消升级的指令通过网关发送至智能门锁。智能门锁可以将升级固件数据删除,以节省内存空间。
在第七实施例中,在接收到智能门锁反馈的来源不可信的信息时,将来源不可信的信息发送至移动终端,并在接收到移动终端反馈的确定升级的指令时,将确定升级的指令发送至智能门锁,以供智能门锁按照升级固件数据进行升级操作。这样,提高了智能门锁升级操作的安全性。
本发明还提供一种智能门锁,所述智能门锁包括门锁固件的升级程序,所述门锁固件的升级程序配置为实现如上述智能门锁为执行主体下的所述的门锁固件的升级方法的步骤。
本发明还提供一种云服务器,所述云服务器包括门锁固件的升级程序,所述门锁固件的升级程序配置为实现如上述云服务器为执行主体下的所述的门锁固件的升级方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有门锁固件的升级程序,所述门锁固件的升级程序被处理器执行实现如下操作:
在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对所述哈希密文进行解密运算,得到第二哈希值,其中,所述哈希密文由所述云服务器利用第一预设密钥对所述第一哈希值进行加密运算得到;
在所述第二哈希值与所述第一哈希值一致时,所述智能门锁按照所述升级固件数据进行升级操作。
进一步地,所述门锁固件的升级程序被处理器执行时还实现如下操作:
根据所述升级固件数据,运算得到第三哈希值;
在所述第三哈希值与所述第一哈希值一致时,执行所述利用第二预设密钥对所述哈希密文进行解密运算的步骤。
进一步地,所述门锁固件的升级程序被处理器执行时还实现如下操作:
在所述第三哈希值与所述第一哈希值不一致时,将接收失败的信息反馈至所述云服务器,以供所述云服务器在接收到所述接收失败的信息时,向所述智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。
进一步地,所述门锁固件的升级程序被处理器执行时还实现如下操作:
在所述第二哈希值与所述第一哈希值不一致时,将来源不可信的信息反馈至所述云服务器,其中,所述云服务器在接收到所述来源不可信的信息时,将所述来源不可信的信息发送至移动终端,以在接收到所述移动终端反馈的确定升级或者取消升级的指令时,将所述确定升级或者所述取消升级的指令发送至所述智能门锁;
在接收到所述确定升级的指令时,所述智能门锁按照所述升级固件数据进行升级操作。
进一步地,所述门锁固件的升级程序被处理器执行时还实现如下操作:
在接收到升级固件数据时,根据所述升级固件数据,运算得到第一哈希值;
利用第一预设密钥对所述第一哈希值进行加密运算,得到哈希密文;
将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁,以供所述智能门锁在接收到所述升级固件数据、所述第一哈希值以及所述哈希密文时,按照所述升级固件数据进行升级操作。
进一步地,所述门锁固件的升级程序被处理器执行时还实现如下操作:
在接收到所述智能门锁反馈的接收失败的信息时,向所述智能门锁重新发送所述升级固件数据、所述第一哈希值以及所述哈希密文。
进一步地,所述门锁固件的升级程序被处理器执行时还实现如下操作:
在接收到所述智能门锁反馈的来源不可信的信息时,将所述来源不可信的信息发送至移动终端;
在接收到所述移动终端反馈的确定升级的指令时,将所述确定升级的指令发送至所述智能门锁,以供所述智能门锁按照所述升级固件数据进行升级操作。
本发明实施例还提供一种门锁固件的升级系统,所述门锁固件的升级系统包括智能门锁、云服务器以及网关,所述智能门锁通过网关连接网络,并与云服务器进行通信,其中,
所述智能门锁,用于在接收到云服务器发送的升级固件数据、第一哈希值以及哈希密文时,利用第二预设密钥对所述哈希密文进行解密运算,得到第二哈希值,并在所述第二哈希值与所述第一哈希值一致时,所述智能门锁按照所述升级固件数据进行升级操作;
所述云服务器,用于在接收到升级固件数据时,根据所述升级固件数据,运算得到第一哈希值,并利用第一预设密钥对所述第一哈希值进行加密运算,得到哈希密文,然后将所述升级固件数据、所述第一哈希值以及所述哈希密文打包发送至智能门锁;
所述网关,用于将所述云服务器发送至所述智能门锁的数据进行协议转换为网关数据,并发送至智能门锁;同时,所述网关还用于将所述智能门锁发送至所述云服务器的网关数据进行协议转换,以将所述网关数据转化为可被所述云服务器接收的数据。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是电视机,手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。