CN113326055B - 一种设备更新方法及相关装置 - Google Patents
一种设备更新方法及相关装置 Download PDFInfo
- Publication number
- CN113326055B CN113326055B CN202110711786.8A CN202110711786A CN113326055B CN 113326055 B CN113326055 B CN 113326055B CN 202110711786 A CN202110711786 A CN 202110711786A CN 113326055 B CN113326055 B CN 113326055B
- Authority
- CN
- China
- Prior art keywords
- data
- updating
- check
- update
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种设备更新方法及相关装置,本发明中,云管理平台仅进行更新数据的传输,不再进行验证码的计算,即使云管理平台被攻击,更新数据被篡改,由于更新数据校验不会使用到云管理平台计算得到的验证码,而是使用更新控制设备设置的校验子码进行校验,则终端能够识别出更新数据更篡改的情况,提高设备更新的可靠性。进一步,本发明中,在将验证码置入初始更新数据中时,采用对验证码拆分并分别置入的方式,提高验证码置入的复杂度,进而提高更新数据校验复杂度,使得设备更新可靠性提高。
Description
技术领域
本发明涉及设备升级领域,更具体的说,涉及一种设备更新方法及相关装置。
背景技术
远程终端等设备每隔一段时间会进行设备升级,此时设备会从云管理平台获取到更新数据,并基于更新数据进行设备更新。
在进行设备更新时,若是云管理平台被攻击,则被攻击后的云管理平台会对更新数据进行篡改,并基于篡改后的更新数据计算得到校验码,然后将更新数据以及校验码发送至设备。设备接收到篡改后的更新数据以及校验码后,使用篡改后的更新数据计算得到的校验码和接收到的校验码一致,无法识别出更新数据被篡改情况,进而使得设备更新失败,设备更新可靠性较低。
发明内容
有鉴于此,本发明提供一种设备更新方法及相关装置,以解决若是使用的更新数据被篡改,则会导致设备更新失败,设备更新可靠性较低的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种设备更新方法,应用于更新控制设备,所述设备更新方法包括:
获取初始更新数据,并将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码;
对所述校验码进行拆分,得到校验子码;
将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台,以使所述云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端备使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
可选地,将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码,包括:
对所述初始更新数据中的各个字节值相加,得到第一校验码;
对所述初始更新数据中的各个字节值进行异或操作,得到第二校验码;
计算所述第一校验码和所述第二校验码之和,并作为校验码。
可选地,对所述校验码进行拆分,得到校验子码,包括:
将所述验证码的每一字节作为一校验子码。
可选地,将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,包括:
将所述初始更新数据按照文件大小进行字节段拆分,得到与校验子码的数量相同的拆分点;
按照预设校验子码置入规则,在每一所述拆分点中放置一校验子码,得到更新数据。
一种设备更新方法,应用于终端,所述设备更新方法包括:
在确定出需要进行更新操作的情况下,接收云管理平台发送的更新数据;所述云管理平台中存储的更新数据通过更新控制设备获取初始更新数据,将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码,对所述校验码进行拆分,得到校验子码,将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台的方式得到;
使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
可选地,使用所述更新数据中的校验子码对所述更新数据进行校验,包括:
获取所述更新数据中的指定位置处的校验子码,并对获取的校验子码进行组合,得到校验数据;所述指定位置为所述预设位置后的下一位字节;
将所述更新数据中除所述指定位置之外的其他位置的字节值相加,得到第三校验码;
对所述其他位置的字节值进行异或操作,得到第四校验码;
计算所述第三校验码和所述第四校验码之和,并作为第五校验码;
确定所述第五校验码和所述校验数据是否相同;
若相同,则校验通过。
一种设备更新装置,应用于更新控制设备,所述设备更新装置包括:
校验码生成模块,用于获取初始更新数据,并将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码;
校验码拆分模块,用于对所述校验码进行拆分,得到校验子码;
数据发送模块,用于将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台,以使所述云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端备使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
一种设备更新装置,应用于终端,所述设备更新装置包括:
数据接收模块,用于在确定出需要进行更新操作的情况下,接收云管理平台发送的更新数据;所述云管理平台中存储的更新数据通过更新控制设备获取初始更新数据,将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码,对所述校验码进行拆分,得到校验子码,将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台的方式得到;
数据更新模块,用于使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
一种更新控制设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行上述的应用于更新控制设备的设备更新方法。
一种终端,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行上述的应用于终端的设备更新方法。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种设备更新方法及相关装置,更新控制设备执行计算验证码,以及将验证码置入初始更新数据的操作,得到更新数据,并将所述更新数据发送至云管理平台。云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。即本发明中,云管理平台仅进行更新数据的传输,不再进行验证码的计算,即使云管理平台被攻击,更新数据被篡改,由于更新数据校验不会使用到云管理平台计算得到的验证码,而是使用更新控制设备设置的校验子码进行校验,则终端能够识别出更新数据更篡改的情况,提高设备更新的可靠性。进一步,本发明中,在将验证码置入初始更新数据中时,采用对验证码拆分并分别置入的方式,提高验证码置入的复杂度,进而提高更新数据校验复杂度,使得设备更新可靠性提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种应用于更新控制设备的设备更新方法的方法流程图;
图2为本发明实施例提供的另一种应用于更新控制设备的设备更新方法的方法流程图;
图3为本发明实施例提供的再一种应用于更新控制设备的设备更新方法的方法流程图;
图4为本发明实施例提供的一种应用于终端的设备更新方法的方法流程图;
图5为本发明实施例提供的另一种应用于终端的设备更新方法的方法流程图;
图6为本发明实施例提供的一种应用于更新控制设备的设备更新装置的结构示意图;
图7为本发明实施例提供的一种应用于终端的设备更新装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在进行设备更新时,若是云管理平台被攻击,则被攻击后的云管理平台会对更新数据进行篡改,并基于篡改后的更新数据计算得到校验码,然后将更新数据以及校验码发送至设备。设备接收到篡改后的更新数据以及校验码后,使用篡改后的更新数据计算得到的校验码和接收到的校验码一致,无法识别出更新数据被篡改情况,进而使得设备更新失败,设备更新可靠性较低。甚至导致设备无法与云管理平台正常通信,设备功能无法正常执行。
为此,发明人经过研究发现,使用更新控制设备执行计算验证码,以及将验证码置入初始更新数据的操作,得到更新数据,并将所述更新数据发送至云管理平台。云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。即本发明中,云管理平台仅进行更新数据的传输,不再进行验证码的计算,即使云管理平台被攻击,更新数据被篡改,由于更新数据校验不会使用到云管理平台计算得到的验证码,而是使用更新控制设备设置的校验子码进行校验,则终端能够识别出更新数据更篡改的情况,提高设备更新的可靠性。进一步,本发明中,在将验证码置入初始更新数据中时,采用对验证码拆分并分别置入的方式,提高验证码置入的复杂度,进而提高更新数据校验复杂度,使得设备更新可靠性提高,进而保证了设备与云管理平台的正常通信,设备功能的正常执行。
在上述内容的基础上,本发明实施例提供了一种设备更新方法,应用于更新控制设备,本实施例中的更新控制设备可以是安装有PC(Personal Computer,个人计算机)专用软件的设备(服务器等),该设备离线工作,进而能够避免由于联网被攻击的情况出现。
参照图1,设备更新方法可以包括:
S11、获取初始更新数据,并将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码。
本实施例中的初始更新设备可以是应用软件工程编译生成的远程终端升级时使用的固件BIN(二进制)文件,该文件是终端更新时使用的文件。为了避免在文件传输过程中,被篡改,可以为其设置4个字节的校验码checksum,在终端接收到校验码后,使用校验码对接收的文件进行校验,以提高数据传输的安全性和可靠性。
本发明的另一实现方式中,参照图2,“将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码”可以包括:
S21、对所述初始更新数据中的各个字节值相加,得到第一校验码。
具体的,获取初始更新数据中的各个字节对应的字节值,然后对字节值执行相加操作,得到第一校验码checksum1。
S22、对所述初始更新数据中的各个字节值进行异或操作,得到第二校验码。
具体的,在获取到初始更新数据中的各个字节对应的字节值之后,对所述初始更新数据中的各个字节值进行异或操作,得到第二校验码checksum2。本实施例中的第一校验码和第二校验码均为四字节。
S23、计算所述第一校验码和所述第二校验码之和,并作为校验码。
在得到第一校验码和第二校验码之后,计算第一校验码和所述第二校验码的和,该和即为本实施例中的校验码checksum。
由于第一校验码和第二校验码均为四字节,所以相加得到的校验码也是四字节。
S12、对所述校验码进行拆分,得到校验子码。
在实际应用中,由于校验码是四字节,所以将所述验证码的每一字节作为一校验子码,得到四个校验子码。
本实施例中,在得到校验子码后,对校验子码进行标识,从前往后依次是第一个校验子码、第二个校验子码、第三个校验子码和第四个校验子码。
校验码的第一个字节为第一个校验子码,依次类推,校验码的第四个字节为第四个校验子码。
S13、将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台,以使所述云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端备使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
在实际应用中,参照图3,“将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据”的过程可以包括:
S31、将所述初始更新数据按照文件大小进行字节段拆分,得到与校验子码的数量相同的拆分点。
具体的,上述校验子码的数量是四个,则需要确定四个拆分点。此时,可以将初始更新数据按照文件大小五分等,即分成五个字节段,进而可得到四个拆分点。
比如总文件大小为Len,将1/5*Len、2/5*Len、3/5*Len、4/5*Len字节后的位置作为拆分点。
本实施例采用均分的方式对初始更新数据进行拆分操作,此外,还可以采用不均分方式确定拆分点。如在1/5*Len、3/10*Len、3/5*Len、4/5*Len的后边设置拆分点。具体拆分点的设置位置不做要求,但是拆分点的数量须与校验子码的数量相同。
S32、按照预设校验子码置入规则,在每一所述拆分点中放置一校验子码,得到更新数据。
具体的,可以在第一个拆分点置入第一个校验子码,在第二个拆分点置入第二个校验子码,在第三个拆分点置入第三个校验子码,在第四个拆分点置入第四个校验子码。
在初始更新数据置入校验子码后,即可得到更新数据。
然后将更新数据发送至云管理平台,云管理平台对更新数据进行存储。并在确定出终端需要进行更新的情况下,如到达终端更新时间或者是接收到终端更新指令,此时会将更新数据发送至所述终端,以使所述终端备使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
本实施例中,更新控制设备执行计算验证码,以及将验证码置入初始更新数据的操作,得到更新数据,并将所述更新数据发送至云管理平台。云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。即本发明中,云管理平台仅进行更新数据的传输,不再进行验证码的计算,即使云管理平台被攻击,更新数据被篡改,由于更新数据校验不会使用到云管理平台计算得到的验证码,而是使用更新控制设备设置的校验子码进行校验,则终端能够识别出更新数据更篡改的情况,提高设备更新的可靠性。进一步,本发明中,在将验证码置入初始更新数据中时,采用对验证码拆分并分别置入的方式,提高验证码置入的复杂度,进而提高更新数据校验复杂度,使得设备更新可靠性提高。
本发明的另一实施例中,公开了一种设备更新方法,应用于终端,本实施例中的终端可以是远程终端。参照图4,所述设备更新方法包括:
S41、在确定出需要进行更新操作的情况下,接收云管理平台发送的更新数据。
本实施例中,可以是达到指定更新时间或者是接收到终端更新指令,即可确定终端需要进行更新操作。
在确定出需要进行更新操作时,可以向云管理平台发送更新数据获取请求,云管理平台接收到该请求后,下发自身存储的更新数据至终端。
其中,所述云管理平台中存储的更新数据通过更新控制设备获取初始更新数据,将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码,对所述校验码进行拆分,得到校验子码,将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台的方式得到。
具体的,更新数据的生成和传输过程请参照上述实施例中的相应说明,在此不再赘述。
S42、使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
在实际应用中,在获取到更新数据之后,可以使用更新数据中的校验子码对更新数据进行校验,以校验得到的更新数据是否是更新控制设备生成的,避免在传输过程中被篡改导致设备更新失败的情况出现。
具体的,参照图5,校验过程可以包括:
S51、获取所述更新数据中的指定位置处的校验子码,并对获取的校验子码进行组合,得到校验数据。
本实施例中,在初始更新数据中的预设位置插入了校验子码,使得初始更新数据的数据增加,多个四个字节的数据,导致初始更新数据的数据长度发生了改变,即使得校验子码的位置变成了预设位置后的下一位字节,进而本实施例中,将预设位置后的下一位字节的位置称为指定位置。也就是说,原先的校验子码位于更新数据中的指定位置。
本实施例中,获取到各个指定位置处的校验子码,然后对校验子码进行组合,如上述的四个单字节的校验子码,按照先后顺序组合到一起,即可得到四个字节的校验码,本实施例中,可能会存在数据传输过程中数据被篡改的情况,使得校验过程中得到的校验码与更新控制设备生成的校验码不一致,所以将校验过程中,即步骤S51得到的校验码称为校验数据。
S52、将所述更新数据中除所述指定位置之外的其他位置的字节值相加,得到第三校验码。
具体的,在字节相加时,由于校验子码也占用字节,所以本实施例中需要将校验子码去掉,计算其余的字节值的和,并作为第三校验码。
S53、对所述其他位置的字节值进行异或操作,得到第四校验码;
具体的,同第三校验码,将校验子码去掉,计算其余的字节值的异或结果,并作为第四校验码。
S54、计算所述第三校验码和所述第四校验码之和,并作为第五校验码。
同生成校验码的过程类同,本实施例中将第三校验码和所述第四校验码之和作为第五校验码。
S55、确定所述第五校验码和所述校验数据是否相同;若相同,则执行步骤S56;若不相同,则执行步骤S57。
S56、校验通过。
S57、校验未通过。
具体的,若是第五校验码和所述校验数据相同,说明得到的更新数据是更新控制设备生成的数据,也即终端得到的更新数据是没有经过篡改的数据。此时可以使用该更新数据进行更新操作。
具体的,可以将上述的更新数据搬运至运行区,并将原在运行区的原有数据更换为新的更新数据,将原有数据删除,并进行重启操作。
若是第五校验码和所述校验数据不相同,说明得到的更新数据不是更新控制设备生成的数据,也即终端得到的更新数据是经过篡改的数据。此时不可以使用该更新数据进行更新操作,可以将该更新数据删除。
本实施例中,更新控制设备执行计算验证码,以及将验证码置入初始更新数据的操作,得到更新数据,并将所述更新数据发送至云管理平台。云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。即本发明中,云管理平台仅进行更新数据的传输,不再进行验证码的计算,即使云管理平台被攻击,更新数据被篡改,由于更新数据校验不会使用到云管理平台计算得到的验证码,而是使用更新控制设备设置的校验子码进行校验,则终端能够识别出更新数据更篡改的情况,提高设备更新的可靠性。进一步,本发明中,在将验证码置入初始更新数据中时,采用对验证码拆分并分别置入的方式,提高验证码置入的复杂度,进而提高更新数据校验复杂度,使得设备更新可靠性提高。
另外,本发明实施例中,通过校验子码对更新数据进行验证,能够及时确定更新数据是否被攻击篡改过,若是篡改过,则不进行更新操作,提高数据传输的安全性和可靠性。
可选地,在上述应用于更新控制设备的设备更新方法的实施例的基础上,本发明的另一实施例提供了一种设备更新装置,应用于更新控制设备,参照图6,所述设备更新装置包括:
校验码生成模块11,用于获取初始更新数据,并将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码;
校验码拆分模块12,用于对所述校验码进行拆分,得到校验子码;
数据发送模块13,用于将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台,以使所述云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端备使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
进一步,校验码生成模块11包括:
第一计算子模块,用于对所述初始更新数据中的各个字节值相加,得到第一校验码;
第二计算子模块,用于对所述初始更新数据中的各个字节值进行异或操作,得到第二校验码;
第三计算子模块,用于计算所述第一校验码和所述第二校验码之和,并作为校验码。
进一步,校验码拆分模块12具体用于:
将所述验证码的每一字节作为一校验子码。
进一步,数据发送模块13包括:
拆分点确定子模块,用于将所述初始更新数据按照文件大小进行字节段拆分,得到与校验子码的数量相同的拆分点;
数据置入子模块,用于按照预设校验子码置入规则,在每一所述拆分点中放置一校验子码,得到更新数据。
本实施例中,更新控制设备执行计算验证码,以及将验证码置入初始更新数据的操作,得到更新数据,并将所述更新数据发送至云管理平台。云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。即本发明中,云管理平台仅进行更新数据的传输,不再进行验证码的计算,即使云管理平台被攻击,更新数据被篡改,由于更新数据校验不会使用到云管理平台计算得到的验证码,而是使用更新控制设备设置的校验子码进行校验,则终端能够识别出更新数据更篡改的情况,提高设备更新的可靠性。进一步,本发明中,在将验证码置入初始更新数据中时,采用对验证码拆分并分别置入的方式,提高验证码置入的复杂度,进而提高更新数据校验复杂度,使得设备更新可靠性提高。
需要说明的是,本实施例中的各个模块和子模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选地,在上述应用于终端的设备更新方法的实施例的基础上,本发明的另一实施例提供了一种设备更新装置,应用于终端,参照图7,所述设备更新装置包括:
数据接收模块21,用于在确定出需要进行更新操作的情况下,接收云管理平台发送的更新数据;所述云管理平台中存储的更新数据通过更新控制设备获取初始更新数据,将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码,对所述校验码进行拆分,得到校验子码,将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台的方式得到;
数据更新模块22,用于使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
进一步,数据更新模块22包括:
组合子模块,用于获取所述更新数据中的指定位置处的校验子码,并对获取的校验子码进行组合,得到校验数据;所述指定位置为所述预设位置后的下一位字节;
第四计算子模块,用于将所述更新数据中除所述指定位置之外的其他位置的字节值相加,得到第三校验码;
第五计算子模块,用于对所述其他位置的字节值进行异或操作,得到第四校验码;
第六计算子模块,用于计算所述第三校验码和所述第四校验码之和,并作为第五校验码;
校验子模块,用于确定所述第五校验码和所述校验数据是否相同,若相同,则校验通过。
本实施例中,更新控制设备执行计算验证码,以及将验证码置入初始更新数据的操作,得到更新数据,并将所述更新数据发送至云管理平台。云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。即本发明中,云管理平台仅进行更新数据的传输,不再进行验证码的计算,即使云管理平台被攻击,更新数据被篡改,由于更新数据校验不会使用到云管理平台计算得到的验证码,而是使用更新控制设备设置的校验子码进行校验,则终端能够识别出更新数据更篡改的情况,提高设备更新的可靠性。进一步,本发明中,在将验证码置入初始更新数据中时,采用对验证码拆分并分别置入的方式,提高验证码置入的复杂度,进而提高更新数据校验复杂度,使得设备更新可靠性提高。
需要说明的是,本实施例中的各个模块和子模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选地,在上述应用于更新控制设备的设备更新方法及装置的实施例的基础上,本发明的另一实施例提供了一种更新控制设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行应用于更新控制设备的设备更新方法。
可选地,在上述应用于终端的设备更新方法及装置的实施例的基础上,本发明的另一实施例提供了一种终端,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行应用于终端的设备更新方法。
本实施例中,更新控制设备执行计算验证码,以及将验证码置入初始更新数据的操作,得到更新数据,并将所述更新数据发送至云管理平台。云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。即本发明中,云管理平台仅进行更新数据的传输,不再进行验证码的计算,即使云管理平台被攻击,更新数据被篡改,由于更新数据校验不会使用到云管理平台计算得到的验证码,而是使用更新控制设备设置的校验子码进行校验,则终端能够识别出更新数据更篡改的情况,提高设备更新的可靠性。进一步,本发明中,在将验证码置入初始更新数据中时,采用对验证码拆分并分别置入的方式,提高验证码置入的复杂度,进而提高更新数据校验复杂度,使得设备更新可靠性提高。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种设备更新方法,其特征在于,应用于更新控制设备,所述设备更新方法包括:
获取初始更新数据,并把所述初始更新数据中的各个字节值相加,得到第一校验码,对所述初始更新数据中的各个字节值进行异或操作,得到第二校验码,计算所述第一校验码和所述第二校验码之和作为校验码;
对所述校验码进行拆分,得到校验子码;
将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台,以使所述云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端备使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
2.根据权利要求1所述的设备更新方法,其特征在于,对所述校验码进行拆分,得到校验子码,包括:
将所述校验码的每一字节作为一校验子码。
3.根据权利要求2所述的设备更新方法,其特征在于,将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,包括:
将所述初始更新数据按照文件大小进行字节段拆分,得到与校验子码的数量相同的拆分点;
按照预设校验子码置入规则,在每一所述拆分点中放置一校验子码,得到更新数据。
4.一种设备更新方法,其特征在于,应用于终端,所述设备更新方法包括:
在确定出需要进行更新操作的情况下,接收云管理平台发送的更新数据;所述云管理平台中存储的更新数据通过更新控制设备获取初始更新数据,将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码,对所述校验码进行拆分,得到校验子码,将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台的方式得到;
获取所述初始更新数据中的指定位置处的校验子码,并对获取的校验子码进行组合,得到校验数据;所述指定位置为所述预设位置后的下一个字节;
把所述更新数据中除所述指定位置之外的其他位置的字节值相加,得到第三校验码,对所述其他位置的字节值进行异或操作,得到第四校验码,计算所述第三校验码和所述第四校验码之和作为第五校验码;
确定所述第五校验码和所述校验数据是否相同,若相同,则校验通过,校验通过后使用所述更新数据进行更新操作。
5.一种设备更新装置,其特征在于,应用于更新控制设备,所述设备更新装置包括:
校验码生成模块,用于获取初始更新数据,并把所述初始更新数据中的各个字节值相加,得到第一校验码,对所述初始更新数据中的各个字节值进行异或操作,得到第二校验码,计算所述第一校验码和所述第二校验码之和作为校验码;
校验码拆分模块,用于对所述校验码进行拆分,得到校验子码;
数据发送模块,用于将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台,以使所述云管理平台在确定出终端需要进行更新的情况下,将所述更新数据发送至所述终端,以使所述终端备使用所述更新数据中的校验子码对所述更新数据进行校验,并在校验通过后使用所述更新数据进行更新操作。
6.一种设备更新装置,其特征在于,应用于终端,所述设备更新装置包括:
数据接收模块,用于在确定出需要进行更新操作的情况下,接收云管理平台发送的更新数据;所述云管理平台中存储的更新数据通过更新控制设备获取初始更新数据,将所述初始更新数据中的字节值按照预设计算规则进行计算,得到校验码,对所述校验码进行拆分,得到校验子码,将所述校验子码分别置入所述初始更新数据中的不同预设位置,得到更新数据,并将所述更新数据发送至云管理平台的方式得到;
数据更新模块,用于获取所述初始更新数据中的指定位置处的校验子码,并对获取的校验子码进行组合,得到校验数据,所述指定位置为所述预设位置后的下一个字节,把所述更新数据中除所述指定位置之外的其他位置的字节值相加,得到第三校验码,对所述其他位置的字节值进行异或操作,得到第四校验码,计算所述第三校验码和所述第四校验码之和作为第五校验码,确定所述第五校验码和所述校验数据是否相同,若相同,则校验通过,校验通过后使用所述更新数据进行更新操作。
7.一种更新控制设备,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行如权利要求1-3任一项所述的设备更新方法。
8.一种终端,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行如权利要求4所述的设备更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110711786.8A CN113326055B (zh) | 2021-06-25 | 2021-06-25 | 一种设备更新方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110711786.8A CN113326055B (zh) | 2021-06-25 | 2021-06-25 | 一种设备更新方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113326055A CN113326055A (zh) | 2021-08-31 |
CN113326055B true CN113326055B (zh) | 2022-10-28 |
Family
ID=77424791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110711786.8A Active CN113326055B (zh) | 2021-06-25 | 2021-06-25 | 一种设备更新方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326055B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618830A (zh) * | 2019-08-14 | 2019-12-27 | 恒鸿达科技有限公司 | 一种基于nbiot网络的远程升级方法和系统 |
CN111311840A (zh) * | 2020-01-20 | 2020-06-19 | 临沂大学 | 一种物流密码箱、物流管理系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011149857A1 (en) * | 2010-05-24 | 2011-12-01 | Abbott Diabetes Care Inc. | Method and system for updating a medical device |
US9654499B2 (en) * | 2014-06-20 | 2017-05-16 | Vencore Labs, Inc. | System and Method for mitigating TOC/TOU attacks in a cloud computing enviroment |
CN110008757B (zh) * | 2019-04-09 | 2020-11-03 | 江南大学 | 一种物联网终端固件更新中数据保护方法及系统 |
CN110401941B (zh) * | 2019-07-16 | 2021-12-21 | 恒宝股份有限公司 | 一种esim卡中缓存数据安全管理方法 |
-
2021
- 2021-06-25 CN CN202110711786.8A patent/CN113326055B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618830A (zh) * | 2019-08-14 | 2019-12-27 | 恒鸿达科技有限公司 | 一种基于nbiot网络的远程升级方法和系统 |
CN111311840A (zh) * | 2020-01-20 | 2020-06-19 | 临沂大学 | 一种物流密码箱、物流管理系统及方法 |
Non-Patent Citations (2)
Title |
---|
《Intelligent material distribution and optimization in the assembly process of large offshore crane lifting equipment》;Xingwang Shen;《Computers & Industrial Engineering》;20210622;第1页-第9页 * |
《利用基于身份的密码算法+短信验证码的移动安全支付方案》;刘亚强;《计算机科学》;20190919(第1期);第293页-第301页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113326055A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210124574A1 (en) | Techniques for updating a file using a multi-version patch file | |
CN104166565B (zh) | 一种智能显示终端固件升级方法 | |
CN108196878B (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN108960830B (zh) | 智能合约的部署方法、装置、设备及存储介质 | |
KR101299099B1 (ko) | 임베디드 시스템에서 최적화된 가상화 모듈을 관리하는 장치 및 방법 | |
CN107193612B (zh) | 一种移动终端的版本升级方法及装置 | |
CN109829294B (zh) | 一种固件验证方法、系统、服务器及电子设备 | |
JP2006508432A (ja) | アップグレード中に発生した障害や誤りからの自動復元を含む電子ファイルのアップグレード | |
CN106843957A (zh) | 系统固件升级方法及装置 | |
CN106815049B (zh) | 特征库升级的方法及装置 | |
WO2023035901A1 (zh) | 系统软件升级方法、装置、设备和计算机存储介质 | |
CN112559005A (zh) | 基于区块链与分布式存储的物联网设备固件更新方法及系统 | |
CN115220796A (zh) | 安全引导设备 | |
CN110932891A (zh) | 防出错ota升级方法、装置、计算机设备及存储介质 | |
CN111176685A (zh) | 一种升级方法及装置 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
CN109976791B (zh) | 一种NVMe SSD的自动升级方法、装置及设备 | |
CN113326055B (zh) | 一种设备更新方法及相关装置 | |
CN112882743A (zh) | 一种软件升级的方法 | |
CN116820528A (zh) | 固件版本升级方法、装置、芯片和电子设备 | |
CN111273920A (zh) | 一种向安装包写入数据的方法、装置及存储介质 | |
CN112527371B (zh) | 一种引导加载程序升级方法、装置、电子设备及存储介质 | |
CN113127015B (zh) | 一种安装方法、装置以及电子设备 | |
CN111240885A (zh) | 一种嵌入式在线升级防错检测方法 | |
CN113330419B (zh) | 一种设备应用安装方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |