CN114491552A - 物联网设备系统软件升级方法、系统、设备及存储介质 - Google Patents

物联网设备系统软件升级方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN114491552A
CN114491552A CN202111683007.4A CN202111683007A CN114491552A CN 114491552 A CN114491552 A CN 114491552A CN 202111683007 A CN202111683007 A CN 202111683007A CN 114491552 A CN114491552 A CN 114491552A
Authority
CN
China
Prior art keywords
software
software upgrading
internet
code
package
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.)
Pending
Application number
CN202111683007.4A
Other languages
English (en)
Inventor
王高华
林诗杞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zero Letter Technology Shenzhen Co ltd
Original Assignee
Zero Letter Technology Shenzhen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zero Letter Technology Shenzhen Co ltd filed Critical Zero Letter Technology Shenzhen Co ltd
Priority to CN202111683007.4A priority Critical patent/CN114491552A/zh
Publication of CN114491552A publication Critical patent/CN114491552A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种物联网设备系统软件升级方法、系统、设备及存储介质,与该方法包括:通过https加密通道获取软件发布端发送的带数字签名的软件升级包;对所述软件升级包的进行安全验证;在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。本申请基于对软件升级包的安全验证,使用通过安全验证的软件升级包进行软件升级,无需在软件应用端安装防病毒软件、防木马软件和各种防攻击的系统,减少了对软件应用端的资源的占用,大大降低了成本,能有效和高效地防止通过软件升级方式实现对远程设备的攻击事件的发生。

Description

物联网设备系统软件升级方法、系统、设备及存储介质
技术领域
本申请涉及软件技术领域,尤其涉及一种物联网设备系统软件升级方法、系统、设备及存储介质。
背景技术
目前,各种利用物联网的设备系统(软件应用端)的OTA空中软件升级来实现远程攻击的事件不断出现,如对加油站的勒索软件攻击、对供水供电系统的远程攻击等等。这些攻击基本上都是利用其可以联网升级软件的功能恶意替换了升级软件而实现远程设备系统的完全控制,进而实现破坏和勒索。
传统的安全防护是在设备系统安装防病毒软件、防木马软件和各种防攻击的系统等等,这些防护系统对设备系统的硬件配置要求很高,往往占用了太多的设备资源,不仅费用高而且是防不胜防,所以才导致了这类攻击是越来越多。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种物联网设备系统软件升级方法、系统、设备及存储介质,旨在解决现有软件应用端无法低成本、有效的防止通过软件升级方式实现远程攻击事件发生的技术问题。
为实现上述目的,本申请提供一种物联网设备系统软件升级方法,应用于软件应用端,包括以下步骤:
通过https加密通道获取软件发布端发送的带数字签名的软件升级包;
对所述软件升级包进行安全验证;
在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。
可选地,所述通过https加密通道获取软件发布端发送的带数字签名的软件升级包的步骤之前,还包括:
对所述https加密通道进行安全验证;
在所述https加密通道通过安全验证的情况下,通过https加密通道获取软件发布端发送的带数字签名的软件升级包。
可选地,所述对所述https加密通道进行安全验证的步骤,包括:
获取所述https加密通道对应的域名,并对所述域名进行验证;
若验证通过,则获取所述域名对应匹配的SSL证书;
对所述SSL证书的颁发机构、有效时间和有效状态进行验证;
若所述SSL证书的颁发机构、有效时间和有效状态均验证通过,则所述https加密通道通过安全验证。
可选地,所述软件升级包包括代码签名和预设签发机构签发的代码签名证书;
所述对所述软件升级包进行安全验证的步骤,包括:
将所述软件应用端中预置的公钥对与所述代码签名证书进行证书信任链验证,得到验证结果;
若所述验证结果满足第一预设条件,则确定所述代码签名证书通过证书信任链验证;
在所述代码签名证书通过证书信任链验证的情况下,对所述代码签名的有效性进行验证;
根据所述代码签名的有效性验证结果,确定所述软件升级包的安全验证结果。
可选地,所述代码签名是通过所述代码签名证书的私钥对代码的哈希值进行签名得到的,所述软件升级包还包括待升级软件代码,所述对所述代码签名的有效性进行验证的步骤,包括:
使用所述代码签名中含有的公钥对代码签名进行解密,得到所述待升级软件代码的哈希值;
基于所述待升级软件代码,生成新的待升级软件代码哈希值;
若新生成的待升级软件代码哈希值与解密得到的待升级软件代码哈希值相同,则确定所述代码签名有效。
可选地,所述对所述代码签名的有效性进行验证的步骤之后,还包括:
验证所述代码签名证书中是否包含预设时间戳服务商提供的时间戳签名;
若包含,则验证所述时间戳签名中的时间戳是否满足预设时间;
若满足,则确定所述代码签名证书有效,若不满足,则确定所述代码签名证书无效;
根据所述代码签名的有效性验证结果和代码签名证书的有效性验证结果,确定所述软件升级包的安全验证结果。
此外,为实现上述目的,本申请还提供一种物联网设备系统软件升级方法,应用于软件发布端,包括以下步骤:
对软件升级包进行数字签名,得到带数字签名的软件升级包;
将所述软件升级包发送至软件应用端,以供所述软件应用端对所述软件升级包的进行安全验证,并在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。
此外,为实现上述目的,本申请还提供一种物联网设备系统软件升级系统,所述系统包括:
软件应用端,所述软件应用端用于:获取软件发布端发送的带数字签名的软件升级包,对所述软件升级包的进行安全验证,在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级;
软件发布端,所述软件发布端用于:对软件升级包进行数字签名,得到带数字签名的软件升级包,并将所述软件升级包发送至软件应用端,以供所述软件应用端对所述软件升级包的进行安全验证,并在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级;
所述软件发布端通过https加密通道将所述软件升级包发送至所述软件应用端。
此外,为实现上述目的,本申请还提供一种物联网设备系统软件升级设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的物联网设备系统软件升级程序,所述物联网设备系统软件升级程序配置为实现如上所述并应用于软件应用端的物联网设备系统软件升级方法的步骤,或所述物联网设备系统软件升级程序配置为实现如上所述并应用于软件发布端的物联网设备系统软件升级方法的步骤。
此外,为实现上述目的,本申请还提供一种存储介质,所述存储介质上存储有物联网设备系统软件升级程序,所述物联网设备系统软件升级程序被处理器执行时实现如上所述并应用于软件应用端的物联网设备系统软件升级方法的步骤,或所述物联网设备系统软件升级程序被处理器执行时实现如上所述并应用于软件发布端的物联网设备系统软件升级方法的步骤。
本申请公开了一种物联网设备系统软件升级方法、系统、设备及存储介质,与现有技术中,软件应用端无法低成本、有效的防止通过软件升级方式实现远程攻击事件发生相比,本申请软件应用端通过https加密通道获取软件发布端发送的带数字签名的软件升级包,对所述软件升级包的进行安全验证,在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。基于对软件升级包的安全验证,使用通过安全验证的软件升级包进行软件升级,无需在软件应用端安装防病毒软件、防木马软件和各种防攻击的系统,减少了对软件应用端的资源的占用,降低了成本,且可以对从软件发布端发送的每一带签名的软件升级包进行安全验证,有效防止通过软件升级方式实现远程攻击事件的发生。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例方案涉及的硬件运行环境的物联网设备系统软件升级设备的结构示意图;
图2为本申请物联网设备系统软件升级方法第一实施例的的流程示意图;
图3为本申请物联网设备系统软件升级方法第二实施例的的流程示意图;
图4为本申请物联网设备系统软件升级系统第一实施例的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的物联网设备系统软件升级设备结构示意图。
如图1所示,该物联网设备系统软件升级设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对物联网设备系统软件升级设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及物联网设备系统软件升级程序。
在图1所示的物联网设备系统软件升级设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请物联网设备系统软件升级设备中的处理器1001、存储器1005可以设置在物联网设备系统软件升级设备中,所述物联网设备系统软件升级设备通过处理器1001调用存储器1005中存储的物联网设备系统软件升级程序,并执行本申请实施例提供的物联网设备系统软件升级方法。
本申请实施例提供了一种物联网设备系统软件升级方法,参照图2,图2为本申请一种物联网设备系统软件升级方法第一实施例的流程示意图。
本实施例中,所述物联网设备系统软件升级方法应用于软件应用端,包括:
步骤S10、通过https加密通道获取软件发布端发送的带数字签名的软件升级包。
软件发布端(软件开发者)升级软件后,选取指定的签发机构对软件升级包进行数字签名,并将带数字签名的软件升级包发送至软件应用端。软件应用端的数据接收模块接收到带数字签名的软件升级包后,将软件升级包发送给软件应用端的主处理器,主处理器具备加解密运算、安全认证等功能。
在本实施例中,软件应用端可以存在于物联网设备系统中,物联网设备系统可以为智能家居设备,如电视、空调、冰箱等;也可以为工业设备,如加油机、数控车床等。软件应用端通过网络连接从软件发布端获取带数字签名的软件升级包。
在本实施例中,所述通过https加密通道获取软件发布端发送的带数字签名的软件升级包的步骤之前,还包括:
对所述https加密通道进行安全验证;
在所述https加密通道通过安全验证的情况下,通过https加密通道获取软件发布端发送的带数字签名的软件升级包。
进一步地,所述对所述https加密通道进行安全验证的步骤,包括:
获取所述https加密通道对应的域名,并对所述域名进行验证;
若验证通过,则获取所述域名对应匹配的SSL证书;
对所述SSL证书的颁发机构、有效时间和有效状态进行验证;
若所述SSL证书的颁发机构、有效时间和有效状态均验证通过,则所述https加密通道通过安全验证。
SSL证书的颁发机构与软件应用端预置的SSL证书的颁发机构的信息相同,且SSL证书处于有效时间内且未被吊销,处于有效状态中,则说明https加密通道是安全的。反之,上述条件任一项不满足,则说明https加密通道是不安全的。
在本实施例中,软件应用端通过https加密通道从软件发布端获取带数字签名的软件升级包,保证了带数字签名的软件升级包在被下载的途中不会被攻击恶意篡改。同时,由于https连接必须验证SSL证书对应匹配的域名是否一致了,也杜绝了下载域名被篡改的可能。
步骤S20、对所述软件升级包进行安全验证。
在步骤S20中的软件升级包为步骤S10中带数字签名的软件升级包,因此软件升级包中包括代码签名证书和代码签名。进一步地,对所述软件升级包进行安全验证的步骤,具体包括:
步骤S201、将所述软件应用端中预置的公钥对与所述代码签名证书进行证书信任链验证,得到验证结果;
步骤S202、若所述验证结果满足第一预设条件,则确定所述代码签名证书通过证书信任链验证;
步骤S203、在所述代码签名证书通过证书信任链验证的情况下,对所述代码签名的有效性进行验证;
步骤S204、根据所述代码签名的有效性验证结果,确定所述软件升级包的安全验证结果。
软件应用端在安装软件时,该软件开发者指定的签发机构根证书的公钥已经嵌入到软件应用端用户运行环境中的可信根证书库中。代码签名证书由私钥和公钥两部分组成,是由签发机构签发的。私钥用于对待升级软件代码的签名,公钥用于私钥签名的验证和签发机构的身份验证。代码签名是通过所述代码签名证书的私钥对代码的哈希值进行签名得到的。
在本实施例中,将所述软件应用端中预置的公钥对与所述代码签名证书进行证书信任链验证,得到验证结果的具体实施过程可以为:当软件应用端中预置的公钥(软件开发者指定的签发机构根证书的公钥)与代码签名中含有的公钥相同并通过验证,则确定代码签名证书通过证书信任链验证。在确定代码签名证书通过证书信任链验证的情况下,再对所述代码签名的有效性进行验证,最后根据有效性验证结果,确定所述软件升级包的安全验证结果。
进一步地,对所述代码签名的有效性进行验证的步骤,具体包括:
步骤S2031、使用所述代码签名中含有的公钥对代码签名进行解密,得到所述待升级软件代码的哈希值;
步骤S2032、基于所述待升级软件代码,生成新的待升级软件代码哈希值;
步骤S2033、若新生成的待升级软件代码哈希值与解密得到的待升级软件代码哈希值相同,则确定所述代码签名有效。
需要说明的是,在本实施例中,步骤S2032中可以使用SHA-2算法生成新的待升级软件代码哈希值。其中,步骤S2032中选用的算法需要与软件发布端所应用的算法相同。在软件发布端中,该算法用于生成待升级软件代码哈希值,然后用代码签名证书的私钥对该待升级软件代码哈希值签名,得到代码签名。
若新生成的待升级软件代码哈希值与解密得到的待升级软件代码哈希值相同,则说明该软件升级包在传输的过程中未出现攻击事件,其包含的待升级软件代码未被篡改,确定所述代码签名有效。若新生成的待升级软件代码哈希值与解密得到的待升级软件代码哈希值不相同,则说明该软件升级包在传输的过程中出现攻击事件,其包含的待升级软件代码被篡改,确定所述代码签名无效。
需要说明的是,在一实施例中,所述对所述代码签名证书的有效性进行验证的步骤之后,还包括:
验证所述代码签名证书中是否包含特定时间戳服务商提供的时间戳签名;
若包含,则验证所述时间戳签名中的时间戳是否满足预设时间;
若满足,则确定所述代码签名证书有效,若不满足,则确定所述代码签名证书无效;
根据所述代码签名的有效性验证结果和代码签名证书的有效性验证结果,确定所述软件升级包的安全验证结果。
需要说明的是,软件应用端在安装软件时,该软件开发者指定的时间戳服务商根证书的公钥已经嵌入到软件应用端用户运行环境中的可信根证书库中。代码签名证书中包含特征时间戳服务商提供的时间戳签名的获取过程如下:使用时间戳服务商提供的时间戳服务对代码签名完成时进行时间戳签名,并将该时间戳签名数据写入到已签名代码中。
验证所述代码签名中是否包含特定时间戳服务商提供的时间戳签名在本实施例中的具体实施过程可以为:
使用软件应用端中预置的时间戳CA公钥(软件开发者指定的时间戳服务商根证书的时间戳公钥)对代码签名中包含的时间戳签名进行解密,若解密成功,则确定所述代码签名证书中包含特定时间戳服务商提供的时间戳签名。
在解密成功的情况下,判断时间戳是否符合预设时间,若符合,则确定所述代码签名证书有效。其中,预设时间可以由软件发布端接收到软件应用端发送的升级请求时间,再加上软件升级包生成所需时间获取得到的。
在步骤S203中,根据有效性验证结果,确定所述软件升级包的安全验证结果。
若代码签名有效,则确定软件升级包通过安全验证。
若代码签名无效,则确定软件升级包未通过安全验证。
在一实施例中,若代码签名和代码签名证书均有效,则确定所述软件升级包通过安全验证;反之,若代码签名和代码签名证书中有一项是无效的,则确定所述软件升级包未通过安全验证。
步骤S30、在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。
与现有技术中,软件应用端无法低成本、有效的防止通过软件升级方式实现远程攻击事件发生相比,本实施例基于对软件升级包的安全验证,使用通过安全验证的软件升级包进行软件升级,无需在软件应用端安装防病毒软件、防木马软件和各种防攻击的系统,减少了对软件应用端的资源的占用,降低了成本,且可以对从软件发布端发送的每一带签名的软件升级包进行安全验证,有效防止通过软件升级方式实现远程攻击事件的发生。
本申请实施例提供了一种物联网设备系统软件升级方法,参照图3,图3为本申请一种物联网设备系统软件升级方法第二实施例的流程示意图。
本实施例中,所述物联网设备系统软件升级方法,应用于软件发布端,包括:
步骤S01、对软件升级包进行数字签名,得到带数字签名的软件升级包;
步骤S02、将所述软件升级包发送至软件应用端,以供所述软件应用端对所述软件升级包的进行安全验证,并在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。
具体地,对软件升级包进行数字签名,得到带数字签名的软件升级包的过程如下:
获取预设签发机构签发的代码签名证书;
生成待升级软件代码的哈希值;
使用所述代码签名证书的私钥对所述哈希值签名,得到代码签名;
使用时间戳服务商提供的时间戳服务对代码签名完成时进行时间戳签名,并将该时间戳签名数据写入到已签名代码中;
将所述代码签名和待升级软件代码一起打包,形成带数字签名的软件升级包。
本实施例基于对软件升级包的安全验证,使用通过安全验证的软件升级包进行软件升级,无需在软件应用端安装防病毒软件、防木马软件和各种防攻击的系统,减少了对软件应用端的资源的占用,降低了成本,且可以对从软件发布端发送的每一带签名的软件升级包进行安全验证,有效防止通过软件升级方式实现远程攻击事件的发生。
此外,本申请实施例提供了一种物联网设备系统软件升级系统,参照图4,图4为本申请一种物联网设备系统软件升级系统第一实施例的功能模块示意图。
在本实施例中,所述物联网设备系统软件升级系统包括:
软件应用端10,所述软件应用端用于:通过https加密通道获取软件发布端发送的带数字签名的软件升级包,对所述软件升级包的进行安全验证,在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级;
软件发布端20,所述软件发布端用于:对软件升级包进行数字签名,得到带数字签名的软件升级包,并将所述软件升级包发送至软件应用端,以供所述软件应用端对所述软件升级包的进行安全验证,并在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级;
所述软件发布端通过https加密通道将所述软件升级包发送至所述软件应用端。
可选地,所述软件应用端还用于:
对所述https加密通道进行安全验证;
在所述https加密通道通过安全验证的情况下,通过https加密通道获取软件发布端发送的带数字签名的软件升级包。
可选地,所述软件应用端,包括:
数据获取模块,用于通过https加密通道获取软件发布端发送的带数字签名的软件升级包;
软件升级包括验证模块,用于对所述软件升级包的进行安全验证;
升级模块,用于在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。
可选地,所述软件升级包包括代码签名和签发机构签发的代码签名证书,所述软件升级包验证模块,包括:
第一验证子模块,用于将所述软件应用端中预置的公钥对与所述代码签名证书进行证书信任链验证,得到验证结果;若所述验证结果满足第一预设条件,则确定所述代码签名证书通过证书信任链验证;
第二验证子模块,用于在所述代码签名证书通过证书信任链验证的情况下,对所述代码签名的有效性进行验证;
验证结果确定子模块,用于根据所述代码签名的有效性验证结果,确定所述软件升级包的安全验证结果。
可选地,所述第二验证子模块用于实现:
使用所述代码签名证书中含有的公钥对代码签名进行解密,得到所述待升级软件代码的哈希值;
基于所述待升级软件代码,生成新的待升级软件代码哈希值;
若新生成的待升级软件代码哈希值与解密得到的待升级软件代码哈希值相同,则确定所述代码签名有效。
可选地,所述软件升级包验证模块还用于实现:
验证所述代码签名证书中是否包含特定时间戳服务商提供的时间戳签名;
若包含,则验证所述时间戳签名中的时间戳是否满足预设时间;
若满足,则确定所述代码签名证书有效,若不满足,则确定所述代码签名证书无效;
根据所述代码签名的有效性验证结果和代码签名证书的有效性验证结果,确定所述软件升级包的安全验证结果。
可选地,所述软件应用端,还包括:
加密通道验证模块,用于对所述https加密通道进行安全验证。
可选地,所述加密通道验证模块用于实现:
获取所述https加密通道对应的域名,并对所述域名进行验证;
若验证通过,则获取所述域名对应匹配的SSL证书;
对所述SSL证书的颁发机构、有效时间和有效状态进行验证;
若所述SSL证书的颁发机构、有效时间和有效状态均验证通过,则所述https加密通道通过安全验证。
可选地,所述软件发布端,包括:
签名模块,用于对软件升级包进行数字签名,得到带数字签名的软件升级包;
发送模块,用于将所述软件升级包发送至软件应用端,以供所述软件应用端对所述软件升级包的进行安全验证,并在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。
本申请物联网设备系统软件升级系统的具体实施方式与上述物联网设备系统软件升级方法各实施例基本相同,在此不再赘述。
此外,本申请实施例还提供了一种物联网设备系统软件升级设备,应用于软件发布端。应用于软件发布端的物联网设备系统软件升级设备的结构,与应用于软件应用端的物联网设备系统软件升级设备的结构相同,在此不再赘述。应用于软件发布端的物联网设备系统软件升级设备中的存储介质包括的物联网设备系统软件升级程序,配置为实现如上所述应用于软件发布端的物联网设备系统软件升级方法的步骤。
本申请实施例物联网设备系统软件升级设备具体实施方式与上述应用于软件发布端的物联网设备系统软件升级方法各实施例基本相同,在此不再赘述。
此外,本申请实施例还提供了一种存储介质,所述存储介质上存储有物联网设备系统软件升级程序,所述物联网设备系统软件升级程序被处理器执行时实现如上所述应用于软件应用端的物联网设备系统软件升级方法的步骤。
本申请存储介质具体实施方式与上述应用于软件应用端的物联网设备系统软件升级方法各实施例基本相同,在此不再赘述。
此外,本申请实施例还提供了一种存储介质,所述存储介质上存储有物联网设备系统软件升级程序,所述物联网设备系统软件升级程序被处理器执行时实现如上所述应用于软件发布端的物联网设备系统软件升级方法的步骤。
本申请存储介质具体实施方式与上述应用于软件发布端的物联网设备系统软件升级方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种物联网设备系统软件升级方法,其特征在于,应用于软件应用端,所述软件升级方法包括以下步骤:
通过https加密通道获取软件发布端发送的带数字签名的软件升级包;
对所述软件升级包进行安全验证;
在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。
2.如权利要求1所述的物联网设备系统软件升级方法,其特征在于,所述通过https加密通道获取软件发布端发送的带数字签名的软件升级包的步骤之前,还包括:
对所述https加密通道进行安全验证;
在所述https加密通道通过安全验证的情况下,通过https加密通道获取软件发布端发送的带数字签名的软件升级包。
3.如权利要求2所述的物联网设备系统软件升级方法,其特征在于,所述对所述https加密通道进行安全验证的步骤,包括:
获取所述https加密通道对应的域名,并对所述域名进行验证;
若验证通过,则获取所述域名对应匹配的SSL证书;
对所述SSL证书的颁发机构、有效时间和有效状态进行验证;
若所述SSL证书的颁发机构、有效时间和有效状态均验证通过,则所述https加密通道通过安全验证。
4.如权利要求1所述的物联网设备系统软件升级方法,其特征在于,所述软件升级包包括代码签名和预设签发机构签发的代码签名证书;
所述对所述软件升级包进行安全验证的步骤,包括:
将所述软件应用端中预置的公钥对与所述代码签名证书进行证书信任链验证,得到验证结果;
若所述验证结果满足第一预设条件,则确定所述代码签名证书通过证书信任链验证;
在所述代码签名证书通过证书信任链验证的情况下,对所述代码签名的有效性进行验证;
根据所述代码签名的有效性验证结果,确定所述软件升级包的安全验证结果。
5.如权利要求4所述的物联网设备系统软件升级方法,其特征在于,所述代码签名是通过所述代码签名证书的私钥对代码的哈希值进行签名得到的,所述软件升级包还包括待升级软件代码,所述对所述代码签名的有效性进行验证的步骤,包括:
使用所述代码签名中含有的公钥对代码签名进行解密,得到所述待升级软件代码的哈希值;
基于所述待升级软件代码,生成新的待升级软件代码哈希值;
若新生成的待升级软件代码哈希值与解密得到的待升级软件代码哈希值相同,则确定所述代码签名有效。
6.如权利要求4或5所述的物联网设备系统软件升级方法,其特征在于,所述对所述代码签名的有效性进行验证的步骤之后,还包括:
验证所述代码签名证书中是否包含预设时间戳服务商提供的时间戳签名;
若包含,则验证所述时间戳签名中的时间戳是否满足预设时间;
若满足,则确定所述代码签名证书有效,若不满足,则确定所述代码签名证书无效;
根据所述代码签名的有效性验证结果和代码签名证书的有效性验证结果,确定所述软件升级包的安全验证结果。
7.一种物联网设备系统软件升级方法,其特征在于,应用于软件发布端,所述软件升级方法包括以下步骤:
对软件升级包进行数字签名,得到带数字签名的软件升级包;
将所述软件升级包发送至软件应用端,以供所述软件应用端对所述软件升级包的进行安全验证,并在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级。
8.一种物联网设备系统软件升级系统,其特征在于,所述系统包括:
软件应用端,所述软件应用端用于:获取软件发布端发送的带数字签名的软件升级包,对所述软件升级包的进行安全验证,在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级;
软件发布端,所述软件发布端用于:对软件升级包进行数字签名,得到带数字签名的软件升级包,并将所述软件升级包发送至软件应用端,以供所述软件应用端对所述软件升级包的进行安全验证,并在所述软件升级包通过安全验证的情况下,使用所述软件升级包进行软件升级;
所述软件发布端通过https加密通道将所述软件升级包发送至所述软件应用端。
9.一种物联网设备系统软件升级设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的物联网设备系统软件升级程序,所述物联网设备系统软件升级程序配置为实现如权利要求1至6中任一项所述的物联网设备系统软件升级方法的步骤,或所述物联网设备系统软件升级程序配置为实现如权利要求7所述的物联网设备系统软件升级方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有物联网设备系统软件升级程序,所述物联网设备系统软件升级程序被处理器执行时实现如权利要求1至6中任一项所述的物联网设备系统软件升级方法的步骤,或所述物联网设备系统软件升级程序被处理器执行时实现如权利要求7所述的物联网设备系统软件升级方法的步骤。
CN202111683007.4A 2021-12-31 2021-12-31 物联网设备系统软件升级方法、系统、设备及存储介质 Pending CN114491552A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111683007.4A CN114491552A (zh) 2021-12-31 2021-12-31 物联网设备系统软件升级方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111683007.4A CN114491552A (zh) 2021-12-31 2021-12-31 物联网设备系统软件升级方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114491552A true CN114491552A (zh) 2022-05-13

Family

ID=81509207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111683007.4A Pending CN114491552A (zh) 2021-12-31 2021-12-31 物联网设备系统软件升级方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114491552A (zh)

Similar Documents

Publication Publication Date Title
CN110597538B (zh) 一种基于ota升级系统的软件升级方法和ota升级系统
CN110225063B (zh) 汽车车载系统的升级方法、升级系统、服务器及车载终端
EP1776799B1 (en) Enhanced security using service provider authentication
US9867051B2 (en) System and method of verifying integrity of software
US20080189695A1 (en) Updating of Data Instructions
CN104639506B (zh) 对应用程序安装进行管控的方法、系统与终端
CN103858130A (zh) 管理权限方法、装置及终端
CN103677892A (zh) 在安全电子控制单元中启用特殊优先模式的授权方案
CN111311258B (zh) 基于区块链的可信交易方法、装置、系统、设备及介质
CN104680061A (zh) 一种Android环境下应用程序启动中代码签名验证的方法和系统
CN109460247B (zh) 软件包升级方法、软件客户端、存储介质及装置
CN112733090A (zh) 一种软件授权证书的制作方法、验证方法及装置
CN113055181A (zh) Ota文件安全处理方法、装置及系统
CN109302442B (zh) 一种数据存储证明方法及相关设备
CN111953477B (zh) 终端设备及其标识令牌的生成方法和客户端的交互方法
CN116484379A (zh) 系统启动方法、包含可信计算基软件的系统、设备及介质
CN111753308B (zh) 一种信息验证方法及电子设备
CN114491552A (zh) 物联网设备系统软件升级方法、系统、设备及存储介质
CN114595433B (zh) 一种信息系统数据安全加固方法
CN115221562A (zh) 浏览器文件的签名方法、装置及计算机可读存储介质
CN109104393B (zh) 一种身份认证的方法、装置和系统
CN104580161A (zh) 一种基于安全标识文件的软件实名认证方法和装置
CN118467008B (zh) 一种ota升级的安全管理方法、系统、介质及电子设备
CN113946799B (zh) 应用程序源码保护方法以及服务端
CN115996375A (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