CN112328279B - 系统固件文件升级方法、装置及系统 - Google Patents

系统固件文件升级方法、装置及系统 Download PDF

Info

Publication number
CN112328279B
CN112328279B CN202011205839.0A CN202011205839A CN112328279B CN 112328279 B CN112328279 B CN 112328279B CN 202011205839 A CN202011205839 A CN 202011205839A CN 112328279 B CN112328279 B CN 112328279B
Authority
CN
China
Prior art keywords
firmware
digital certificate
file
server
abstract
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
Application number
CN202011205839.0A
Other languages
English (en)
Other versions
CN112328279A (zh
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.)
Ningbo Helishi Information Security Research Institute Co ltd
Original Assignee
Ningbo Helishi Information Security Research Institute 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 Ningbo Helishi Information Security Research Institute Co ltd filed Critical Ningbo Helishi Information Security Research Institute Co ltd
Priority to CN202011205839.0A priority Critical patent/CN112328279B/zh
Publication of CN112328279A publication Critical patent/CN112328279A/zh
Application granted granted Critical
Publication of CN112328279B publication Critical patent/CN112328279B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (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)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种系统固件文件升级方法、装置及系统,其中方法应用于固件升级服务器,所述方法包括:构建固件升级包;其中固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;发送固件升级请求至可编程逻辑控制器;在接收所述可编程逻辑控制器的应答消息后,发送所述固件升级包至可编程逻辑控制器,以供所述可编程逻辑控制器验签成功后,基于所述最新系统固件文件更新已有系统固件文件。本发明通过数字证书技术对最新系统固件文件本身进行身份鉴别,也即固件升级包增加固件内容签名和固件数字证书,这样可以使最新系统固件文件本身具有不可抵赖性和不可篡改性,极大的提高最新系统固件升级的安全性。

Description

系统固件文件升级方法、装置及系统
技术领域
本申请涉及通信技术领域,尤其涉及系统固件文件升级方法、装置及系统。
背景技术
随着计算机科学领域、网络相关技术引入PLC(Programmable LogicController),即可编程逻辑控制器,使得PLC控制、计算能力大幅度提升,PLC体积变小、可靠性高等,逐渐渗透到工业控制的各个领域。
PLC的系统固件文件对于PLC的可靠运行至关重要,在PLC的使用过程中,系统固件文件需要进行更新升级来弥补系统固件文件中存在的漏洞。通常采用上位机来对PLC进行系统固件文件升级操作。
上位机会下发最新系统固件文件至PLC,为了保证安全性,需要保证最新系统固件文件的安全性。现有技术中上位机采用上位机私钥对最新系统固件文件进行签名,并发送最新系统固件程序和签名至PLC,以供PLC验签后使用最新系统固件程序更新已有的系统固件程序。
但是,现有技术中在签名过程中,仅对最新系统固件文件的生产者也即上位机进行身份认证,并未对最新系统固件文件本身进行身份认证,安全性有待提高。
发明内容
鉴于此,本申请提供一种系统固件文件升级方法、装置及系统,可以在签名过程中增加对最新系统固件文件的身份认证,更进一步保证了最新系统固件文件的安全性。
为了实现上述目的,本发明提供了下述技术特征:
一种系统固件文件升级方法,用于固件升级服务器,所述方法包括:
构建固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;
发送固件升级请求至可编程逻辑控制器;
在接收所述可编程逻辑控制器的应答消息后,发送所述固件升级包至所述可编程逻辑控制器,以供所述可编程逻辑控制器验签成功后,基于所述最新系统固件文件更新已有系统固件文件。
可选的,所述构建固件升级包包括:
利用公私钥生成服务器对最新系统固件文件生成固件公钥和固件私钥;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的摘要;
基于所述固件私钥对所述最新系统固件文件的摘要执行签名操作,获得所述固件内容签名;
按照数字证书请求包的格式构建数字证书请求包;
对所述数字证书请求包执行摘要生成操作,获得所述数字证书请求包的摘要;
基于固件升级服务器私钥对所述数字证书请求包的摘要执行签名操作,获得所述固件身份签名,将所述固件身份签名和所述数字证书请求包作为固件数字证书;
基于所述最新系统固件文件、所述固件内容签名、固件升级服务器数字证书和所述固件数字证书,构建固件升级包。
可选的,所述数字证书请求包包括:
所述固件公钥、最新系统固件文件名称和固件升级服务器名称。
可选的,所述发送所述固件升级包至所述可编程逻辑控制器包括:
通过安全传输层协议构建的安全网络通道传输固件升级包;或者,
通过普通网络通道传输固件升级包。
一种系统固件文件升级方法,应用于固件升级服务器,所述方法包括:
接收固件升级服务器发送的固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;
对所述固件升级包执行验签操作;
在验签成功后,基于所述最新系统固件文件更新已有系统固件文件。
可选的,所述对所述固件升级包执行验签操作包括:
对所述固件升级服务器数字证书进行验签,并在验签成功后获得固件升级服务器数公钥;
基于所述固件升级服务器数公钥对所述固件数字证书进行验签,并在验签成功后获得固件公钥;
基于所述固件公钥对所述固件内容签名进行验签,并在验签成功后确定获得最新系统固件文件。
可选的,所述固件数字证书包括固件身份签名和数字证书请求包,所述数字证书请求包包括固件公钥、最新系统固件文件名称和固件升级服务器名称;
则所述对所述固件升级服务器数字证书进行验签,并在验签成功后获得固件升级服务器数公钥包括:
依据所述数字证书请求包中的固件升级服务器名称,搜索所述固件升级包中的固件升级服务器数字证书;
依据所述固件升级服务器数字证书于本地查找根证书;
利用所述根证书的公钥对所述固件升级服务器数字证书进行解密,获得固件升级服务器的第一摘要;
对固件升级服务器的公钥执行摘要生成操作,获得固件升级服务器的第二摘要;
若固件升级服务器的第一摘要和固件升级服务器的第二摘要相同,则表示验签成功,获得所述固件升级服务器公钥。
可选的,所述基于所述固件升级服务器数公钥对所述固件数字证书进行验签,并在验签成功后获得固件公钥包括:
使用固件升级服务器公钥,对所述固件数字证书中包含的固件身份签名进行解密操作,得到数字证书请求包的第一摘要;
对所述固件数字证书中的数字证书请求包执行摘要生成操作,得到数字证书请求包的第二摘要;
比较数字证书请求包的第一摘要和数字证书请求包的第二摘要,若相同则表示验签成功,获得所述固件公钥。
可选的,所述基于所述固件公钥对所述固件内容签名进行验签,并在验签成功后确定获得最新系统固件文件,包括:
使用所述固件公钥对所述固件内容签名进行解密,得到最新系统固件文件的第一摘要;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的第二摘要;
对比最新系统固件文件的第一摘要和最新系统固件文件的第二摘要;
若相同,则确认所述固件升级包中为正确的最新系统固件文件。
一种系统固件文件升级系统,包括:
固件升级服务器,用于构建固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;
发送固件升级请求至可编程逻辑控制器;在接收所述可编程逻辑控制器的应答消息后,发送所述固件升级包至所述可编程逻辑控制器;
可编程逻辑控制器,用于接收固件升级服务器发送的固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;对所述固件升级包执行验签操作;在验签成功后,基于所述最新系统固件文件更新已有系统固件文件。
通过以上技术手段,可以实现以下有益效果:
与传统系统固件文件的升级相比,本发明通过数字证书技术对最新系统固件文件本身进行身份鉴别,也即固件升级包增加固件内容签名和固件数字证书,这样可以使最新系统固件文件本身具有不可抵赖性和不可篡改性,保证最新系统固件文件的完整性,极大的提高最新系统固件升级的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种系统固件文件升级系统的结构示意图;
图2a为本申请实施例公开的一种系统固件文件升级方法的流程图;
图2b为本申请实施例公开的又一种系统固件文件升级方法的流程图;
图3a为本申请实施例公开的又一种系统固件文件升级方法的流程图;
图3b为本申请实施例公开的又一种系统固件文件升级方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,本发明提供一种系统固件文件升级系统,包括:固件升级服务器100和可编程逻辑控制器200。固件升级服务器100存储有最新系统固件文件,用于通过网络下发给可编程逻辑控制器200。
参见图2a,本发明提供了一种系统固件文件升级方法,包括以下步骤:
步骤S201:固件升级服务器构建固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书。
固件升级服务器为了将最新系统固件文件完整安全的发送至可编程逻辑控制器,需要对最新系统固件文件进行加密操作。
参见图2b,本步骤可以采用下述步骤实现:
步骤S2011:固件升级服务器利用公私钥生成服务器对最新系统固件文件生成固件公钥和固件私钥。
固件升级服务器通过API接口调用公私钥生成服务器提供的公私钥服务,固件升级服务器发送最新系统固件文件至公私钥生成服务器,以供公私钥生成服务器对最新系统固件文件生成固件公钥和固件私钥。
步骤S2012:固件升级服务器对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的摘要。
对最新系统固件文件执行摘要生成操作,例如,对最新系统固件文件进行HASH计算操作,获得最新系统固件文件的摘要。
步骤S2013:固件升级服务器基于所述固件私钥对所述最新系统固件文件的摘要执行签名操作,获得所述固件内容签名。
为了对最新系统固件文件的摘要进行加密操作,可以基于固件私钥对最新系统固件文件的摘要进行签名操作。由于最新系统固件文件的摘要其实是对最新系统固件文件的内容进行HASH计算操作,所以对最新系统固件文件的摘要进行签名,获得的签名结果可以称为固件内容签名。
步骤S2014:固件升级服务器按照数字证书请求包的格式构建数字证书请求包。
按照数字证书请求包的格式(PKCS#10请求包的格式),构建数字证书请求包。其中,数字证书请求包包括:所述固件公钥、最新系统固件文件名称和固件升级服务器名称,当然还有其它内容对此不再赘述。
步骤S2015:固件升级服务器对所述数字证书请求包执行摘要生成操作,获得所述数字证书请求包的摘要。
对数字证书请求包执行摘要生成操作,例如,对数字证书请求包进行HASH计算操作,获得最新系统固件文件的摘要。
步骤S2016:固件升级服务器基于固件升级服务器私钥对所述数字证书请求包的摘要执行签名操作,获得所述固件身份签名,将所述固件身份签名和所述数字证书请求包作为固件数字证书。
为了对数字证书请求包的摘要进行加密操作,可以基于固件升级服务器私钥对数字证书请求包的摘要进行签名操作。由于数字证书请求包的摘要其实是对最新系统固件文件的身份进行HASH计算操作,所以对数字证书请求包的摘要进行签名,获得的签名结果可以称为固件数字证书。
步骤S2017:固件升级服务器基于所述最新系统固件文件、所述固件内容签名、固件升级服务器数字证书和所述固件数字证书,构建固件升级包。
按照预先设定的数据格式,构建包含最新系统固件文件、所述固件内容签名、固件升级服务器数字证书和所述固件数字证书的固件升级包。
固件升级包增加了固件内容签名和固件数字证书,这样可以对固件本身进行身份认证,提高了安全性。
接步骤S201进入步骤S202:固件升级服务器发送固件升级请求至可编程逻辑控制器。
固件升级服务器在具有固件升级包之后,可以发送固件升级请求至可编程逻辑控制器。
步骤S203:固件升级服务器在接收所述可编程逻辑控制器的应答消息后,发送所述固件升级包至所述可编程逻辑控制器,以供所述可编程逻辑控制器验签成功后,基于所述最新系统固件文件更新已有系统固件文件。
固件升级服务器在接收到可编程逻辑控制器的应答消息(同意升级)后,可以发送固件升级包至可编程逻辑控制器。在发送过程中,可以通过安全传输层协议构建的安全网络通道传输固件升级包;或者,通过普通网络通道传输固件升级包。
由于固件升级包中已经经过多层加密,且,本方案中增加了对最新系统固件文件的加密,所以可以不再安全网络通道传输固件升级包,在普通网络通道中传输固件升级包也可以。
通过上述技术特征可知本申请具有以下有益效果:
与传统系统固件文件的升级相比,本发明通过数字证书技术对最新系统固件文件本身进行身份鉴别,也即固件升级包增加固件内容签名和固件数字证书,这样可以使最新系统固件文件本身具有不可抵赖性和不可篡改性,保证最新系统固件文件的完整性,极大的提高最新系统固件升级的安全性。
参见图3,本发明提供了一种系统固件文件升级方法,包括以下步骤:
步骤S301:可编程逻辑控制器接收固件升级服务器发送的固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书。
步骤S302:可编程逻辑控制器对所述固件升级包执行验签操作。
本步骤可以包括以下步骤:
步骤S3021:对所述固件升级服务器数字证书进行验签,并在验签成功后获得固件升级服务器数公钥。
步骤S3022:基于所述固件升级服务器数公钥对所述固件数字证书进行验签,并在验签成功后获得固件公钥。
步骤S3023:基于所述固件公钥对所述固件内容签名进行验签,并在验签成功后确定获得最新系统固件文件。
接步骤S302进入步骤S303:可编程逻辑控制器在验签成功后,基于所述最新系统固件文件更新已有系统固件文件。
可编程逻辑控制器在验签成功后,可以基于最新系统固件文件来更新已有的系统固件文件,以便升级系统固件文件,提高可编程逻辑控制器的安全性。
所述固件数字证书包括固件身份签名和数字证书请求包,所述数字证书请求包包括固件公钥、最新系统固件文件名称和固件升级服务器名称;
则步骤S3021所述对所述固件升级服务器数字证书进行验签,并在验签成功后获得固件升级服务器数公钥具体包括:
依据所述数字证书请求包中的固件升级服务器名称,搜索所述固件升级包中的固件升级服务器数字证书;
依据所述固件升级服务器数字证书于本地查找根证书;
利用所述根证书的公钥对所述固件升级服务器数字证书进行解密,获得固件升级服务器的第一摘要;
对固件升级服务器的公钥执行摘要生成操作,获得固件升级服务器的第二摘要;
若固件升级服务器的第一摘要和固件升级服务器的第二摘要相同,则表示验签成功,获得所述固件升级服务器公钥。
步骤S3022基于所述固件升级服务器数公钥对所述固件数字证书进行验签,并在验签成功后获得固件公钥具体包括:
使用固件升级服务器公钥,对所述固件数字证书中包含的固件身份签名进行解密操作,得到数字证书请求包的第一摘要;
对所述固件数字证书中的数字证书请求包执行摘要生成操作,得到数字证书请求包的第二摘要;
比较数字证书请求包的第一摘要和数字证书请求包的第二摘要,若相同则表示验签成功,获得所述固件公钥。
步骤S3023基于所述固件公钥对所述固件内容签名进行验签,并在验签成功后确定获得最新系统固件文件,包括:
使用所述固件公钥对所述固件内容签名进行解密,得到最新系统固件文件的第一摘要;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的第二摘要;
对比最新系统固件文件的第一摘要和最新系统固件文件的第二摘要;
若相同,则确认所述固件升级包中为正确的最新系统固件文件。
通过上述技术特征可知有以下有益效果:
第一:安全性高
与传统系统固件文件的升级相比,本发明通过数字证书技术对最新系统固件文件本身进行身份鉴别,使最新系统固件文件本身具有不可抵赖性和不可篡改性。对最新系统固件文件本身进行HASH计算,保证最新系统固件文件的完整性,极大的提高最新系统固件升级的安全性。
第二:兼容性强、轻量级低延时
本发明对最新系统固件文件的升级不依赖于SSL或TLS等安全通信协议,而是可以在普通网络链接通道进行传输,这样可以进行最新系统固件文件的安全下发和升级,提供更多的可适应的应用场景。
另一方面,由于在普通网络链接通道中传输固件升级包时,无需协商和传输会话密钥,所以可以更快地建立网络链接,具有轻量级低延时的特点
第三:应用方便快捷
本发明提到的固件数字证书是由固件升级服务器私钥生成的,在固件升级服务器升级过程中,无需再由证书机构专门为固件升级服务器颁发证书,可以更快的建立网络链接。
本申请提供一种系统固件文件升级装置,应用于固件升级服务器,所述装置包括:
构建单元,用于构建固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;
发送请求单元,用于发送固件升级请求至可编程逻辑控制器;
发送升级包单元,用于在接收所述可编程逻辑控制器的应答消息后,发送所述固件升级包至所述可编程逻辑控制器,以供所述可编程逻辑控制器验签成功后,基于所述最新系统固件文件更新已有系统固件文件。
其中,所述构建固件升级包包括:
利用公私钥生成服务器对最新系统固件文件生成固件公钥和固件私钥;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的摘要;
基于所述固件私钥对所述最新系统固件文件的摘要执行签名操作,获得所述固件内容签名;
按照数字证书请求包的格式构建数字证书请求包;
对所述数字证书请求包执行摘要生成操作,获得所述数字证书请求包的摘要;
基于固件升级服务器私钥对所述数字证书请求包的摘要执行签名操作,获得所述固件身份签名,将所述固件身份签名和所述数字证书请求包作为固件数字证书;
基于所述最新系统固件文件、所述固件内容签名、固件升级服务器数字证书和所述固件数字证书,构建固件升级包。
其中,所述数字证书请求包包括:
所述固件公钥、最新系统固件文件名称和固件升级服务器名称。
其中,所述发送所述固件升级包至所述可编程逻辑控制器包括:
通过安全传输层协议构建的安全网络通道传输固件升级包;或者,
通过普通网络通道传输固件升级包。
本申请提供了一种系统固件文件升级装置,应用于固件升级服务器,所述装置包括:
接收单元,用于接收固件升级服务器发送的固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;
验签单元,用于对所述固件升级包执行验签操作;
更新单元,用于在验签成功后,基于所述最新系统固件文件更新已有系统固件文件。
其中,所述对所述固件升级包执行验签操作包括:
对所述固件升级服务器数字证书进行验签,并在验签成功后获得固件升级服务器数公钥;
基于所述固件升级服务器数公钥对所述固件数字证书进行验签,并在验签成功后获得固件公钥;
基于所述固件公钥对所述固件内容签名进行验签,并在验签成功后确定获得最新系统固件文件。
其中,所述固件数字证书包括固件身份签名和数字证书请求包,所述数字证书请求包包括固件公钥、最新系统固件文件名称和固件升级服务器名称;
则所述对所述固件升级服务器数字证书进行验签,并在验签成功后获得固件升级服务器数公钥包括:
依据所述数字证书请求包中的固件升级服务器名称,搜索所述固件升级包中的固件升级服务器数字证书;
依据所述固件升级服务器数字证书于本地查找根证书;
利用所述根证书的公钥对所述固件升级服务器数字证书进行解密,获得固件升级服务器的第一摘要;
对固件升级服务器的公钥执行摘要生成操作,获得固件升级服务器的第二摘要;
若固件升级服务器的第一摘要和固件升级服务器的第二摘要相同,则表示验签成功,获得所述固件升级服务器公钥。
其中,所述基于所述固件升级服务器数公钥对所述固件数字证书进行验签,并在验签成功后获得固件公钥包括:
使用固件升级服务器公钥,对所述固件数字证书中包含的固件身份签名进行解密操作,得到数字证书请求包的第一摘要;
对所述固件数字证书中的数字证书请求包执行摘要生成操作,得到数字证书请求包的第二摘要;
比较数字证书请求包的第一摘要和数字证书请求包的第二摘要,若相同则表示验签成功,获得所述固件公钥。
其中,所述基于所述固件公钥对所述固件内容签名进行验签,并在验签成功后确定获得最新系统固件文件,包括:
使用所述固件公钥对所述固件内容签名进行解密,得到最新系统固件文件的第一摘要;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的第二摘要;
对比最新系统固件文件的第一摘要和最新系统固件文件的第二摘要;
若相同,则确认所述固件升级包中为正确的最新系统固件文件。
通过上述技术特征可知本申请具有以下有益效果:
与传统系统固件文件的升级相比,本发明通过数字证书技术对最新系统固件文件本身进行身份鉴别,也即固件升级包增加固件内容签名和固件数字证书,这样可以使最新系统固件文件本身具有不可抵赖性和不可篡改性,保证最新系统固件文件的完整性,极大的提高最新系统固件升级的安全性。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种系统固件文件升级方法,其特征在于,应用于固件升级服务器,所述方法包括:
构建固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;
发送固件升级请求至可编程逻辑控制器;
在接收所述可编程逻辑控制器的应答消息后,发送所述固件升级包至所述可编程逻辑控制器,以供所述可编程逻辑控制器验签成功后,基于所述最新系统固件文件更新已有系统固件文件;
所述构建固件升级包包括:
利用公私钥生成服务器对最新系统固件文件生成固件公钥和固件私钥;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的摘要;
基于所述固件私钥对所述最新系统固件文件的摘要执行签名操作,获得所述固件内容签名;
按照数字证书请求包的格式构建数字证书请求包;
对所述数字证书请求包执行摘要生成操作,获得所述数字证书请求包的摘要;
基于固件升级服务器私钥对所述数字证书请求包的摘要执行签名操作,获得固件身份签名,将所述固件身份签名和所述数字证书请求包作为固件数字证书;
基于所述最新系统固件文件、所述固件内容签名、固件升级服务器数字证书和所述固件数字证书,构建固件升级包。
2.如权利要求1所述的方法,其特征在于,所述数字证书请求包包括:
所述固件公钥、最新系统固件文件名称和固件升级服务器名称。
3.如权利要求1所述的方法,其特征在于,所述发送所述固件升级包至所述可编程逻辑控制器包括:
通过安全传输层协议构建的安全网络通道传输固件升级包;或者,
通过普通网络通道传输固件升级包。
4.一种系统固件文件升级方法,其特征在于,应用于可编程逻辑控制器,所述方法包括:
接收固件升级服务器发送的固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;
构建固件升级包包括:
利用公私钥生成服务器对最新系统固件文件生成固件公钥和固件私钥;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的摘要;
基于所述固件私钥对所述最新系统固件文件的摘要执行签名操作,获得所述固件内容签名;
按照数字证书请求包的格式构建数字证书请求包;
对所述数字证书请求包执行摘要生成操作,获得所述数字证书请求包的摘要;
基于固件升级服务器私钥对所述数字证书请求包的摘要执行签名操作,获得固件身份签名,将所述固件身份签名和所述数字证书请求包作为固件数字证书;
基于所述最新系统固件文件、所述固件内容签名、固件升级服务器数字证书和所述固件数字证书,构建固件升级包;
对所述固件升级包执行验签操作;
在验签成功后,基于所述最新系统固件文件更新已有系统固件文件。
5.如权利要求4所述的方法,其特征在于,所述对所述固件升级包执行验签操作包括:
对所述固件升级服务器数字证书进行验签,并在验签成功后获得固件升级服务器数公钥;
基于所述固件升级服务器数公钥对所述固件数字证书进行验签,并在验签成功后获得固件公钥;
基于所述固件公钥对所述固件内容签名进行验签,并在验签成功后确定获得最新系统固件文件。
6.如权利要求5所述的方法,其特征在于,所述固件数字证书包括固件身份签名和数字证书请求包,所述数字证书请求包包括固件公钥、最新系统固件文件名称和固件升级服务器名称;
则所述对所述固件升级服务器数字证书进行验签,并在验签成功后获得固件升级服务器数公钥包括:
依据所述数字证书请求包中的固件升级服务器名称,搜索所述固件升级包中的固件升级服务器数字证书;
依据所述固件升级服务器数字证书于本地查找根证书;
利用所述根证书的公钥对所述固件升级服务器数字证书进行解密,获得固件升级服务器的第一摘要;
对固件升级服务器的公钥执行摘要生成操作,获得固件升级服务器的第二摘要;
若固件升级服务器的第一摘要和固件升级服务器的第二摘要相同,则表示验签成功,获得所述固件升级服务器公钥。
7.如权利要求6所述的方法,其特征在于,所述基于所述固件升级服务器数公钥对所述固件数字证书进行验签,并在验签成功后获得固件公钥包括:
使用固件升级服务器公钥,对所述固件数字证书中包含的固件身份签名进行解密操作,得到数字证书请求包的第一摘要;
对所述固件数字证书中的数字证书请求包执行摘要生成操作,得到数字证书请求包的第二摘要;
比较数字证书请求包的第一摘要和数字证书请求包的第二摘要,若相同则表示验签成功,获得所述固件公钥。
8.如权利要求7所述的方法,其特征在于,所述基于所述固件公钥对所述固件内容签名进行验签,并在验签成功后确定获得最新系统固件文件,包括:
使用所述固件公钥对所述固件内容签名进行解密,得到最新系统固件文件的第一摘要;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的第二摘要;
对比最新系统固件文件的第一摘要和最新系统固件文件的第二摘要;
若相同,则确认所述固件升级包中为正确的最新系统固件文件。
9.一种系统固件文件升级系统,其特征在于,包括:
固件升级服务器,用于构建固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;
发送固件升级请求至可编程逻辑控制器;在接收所述可编程逻辑控制器的应答消息后,发送所述固件升级包至所述可编程逻辑控制器;
可编程逻辑控制器,用于接收固件升级服务器发送的固件升级包;其中所述固件升级包包括:最新系统固件文件、固件内容签名、固件升级服务器数字证书和固件数字证书;对所述固件升级包执行验签操作;在验签成功后,基于所述最新系统固件文件更新已有系统固件文件;
所述构建固件升级包包括:
利用公私钥生成服务器对最新系统固件文件生成固件公钥和固件私钥;
对所述最新系统固件文件执行摘要生成操作,获得所述最新系统固件文件的摘要;
基于所述固件私钥对所述最新系统固件文件的摘要执行签名操作,获得所述固件内容签名;
按照数字证书请求包的格式构建数字证书请求包;
对所述数字证书请求包执行摘要生成操作,获得所述数字证书请求包的摘要;
基于固件升级服务器私钥对所述数字证书请求包的摘要执行签名操作,获得固件身份签名,将所述固件身份签名和所述数字证书请求包作为固件数字证书;
基于所述最新系统固件文件、所述固件内容签名、固件升级服务器数字证书和所述固件数字证书,构建固件升级包。
CN202011205839.0A 2020-11-02 2020-11-02 系统固件文件升级方法、装置及系统 Active CN112328279B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011205839.0A CN112328279B (zh) 2020-11-02 2020-11-02 系统固件文件升级方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011205839.0A CN112328279B (zh) 2020-11-02 2020-11-02 系统固件文件升级方法、装置及系统

Publications (2)

Publication Number Publication Date
CN112328279A CN112328279A (zh) 2021-02-05
CN112328279B true CN112328279B (zh) 2023-04-14

Family

ID=74324536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011205839.0A Active CN112328279B (zh) 2020-11-02 2020-11-02 系统固件文件升级方法、装置及系统

Country Status (1)

Country Link
CN (1) CN112328279B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296812A (zh) * 2021-06-09 2021-08-24 深圳忆联信息系统有限公司 Windows系统升级的批量签名方法、装置及计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003049358A1 (en) * 2001-11-29 2003-06-12 Morgan Stanley A method and system for authenticating digital certificates
WO2007121679A1 (fr) * 2006-04-21 2007-11-01 Netac Technology Co., Ltd. Procédé de mise à niveau de logiciel ou de contenu d'un terminal sur la base d'une diffusion de données de tv numérique
KR20080039046A (ko) * 2006-10-31 2008-05-07 삼성전자주식회사 펌웨어 업데이트 장치 및 방법
WO2012024963A1 (zh) * 2010-08-27 2012-03-01 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及系统
WO2016127516A1 (zh) * 2015-02-13 2016-08-18 中兴通讯股份有限公司 操作系统的文件签名方法、文件校验方法及装置
US9626513B1 (en) * 2007-04-24 2017-04-18 Marvell International Ltd. Trusted modular firmware update using digital certificate
CN109977679A (zh) * 2019-02-22 2019-07-05 北京天地和兴科技有限公司 一种基于tcm芯片的工控安全设备升级包安装方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005264830B2 (en) * 2004-07-23 2010-03-18 Data Security Systems Solutions Pte Ltd System and method for implementing digital signature using one time private keys
JP4227641B2 (ja) * 2006-11-20 2009-02-18 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法
CN103905207B (zh) * 2014-04-23 2017-02-01 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
CN108566280A (zh) * 2018-04-23 2018-09-21 济南浪潮高新科技投资发展有限公司 一种fpga硬件加速程序的远程升级方法和系统
CN110362990A (zh) * 2019-05-31 2019-10-22 口碑(上海)信息技术有限公司 应用安装的安全处理方法、装置及系统
CN111131246B (zh) * 2019-12-24 2022-06-28 南京南瑞继保工程技术有限公司 一种适用于电力系统嵌入式设备的信息升级、备份方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003049358A1 (en) * 2001-11-29 2003-06-12 Morgan Stanley A method and system for authenticating digital certificates
WO2007121679A1 (fr) * 2006-04-21 2007-11-01 Netac Technology Co., Ltd. Procédé de mise à niveau de logiciel ou de contenu d'un terminal sur la base d'une diffusion de données de tv numérique
KR20080039046A (ko) * 2006-10-31 2008-05-07 삼성전자주식회사 펌웨어 업데이트 장치 및 방법
US9626513B1 (en) * 2007-04-24 2017-04-18 Marvell International Ltd. Trusted modular firmware update using digital certificate
WO2012024963A1 (zh) * 2010-08-27 2012-03-01 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及系统
WO2016127516A1 (zh) * 2015-02-13 2016-08-18 中兴通讯股份有限公司 操作系统的文件签名方法、文件校验方法及装置
CN109977679A (zh) * 2019-02-22 2019-07-05 北京天地和兴科技有限公司 一种基于tcm芯片的工控安全设备升级包安装方法

Also Published As

Publication number Publication date
CN112328279A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
US9800416B2 (en) Distributed validation of digitally signed electronic documents
CN106470104B (zh) 用于生成共享密钥的方法、装置、终端设备及系统
CN111131278B (zh) 数据处理方法及装置、计算机存储介质、电子设备
CN109039657B (zh) 密钥协商方法、设备、终端、存储介质以及系统
CN106878016A (zh) 数据发送、接收方法及装置
CN110784466B (zh) 信息认证方法、装置和设备
US20230180010A1 (en) Method for securely connecting vehicle and bluetooth key, and bluetooth module and bluetooth key
CN106779702A (zh) 支付方法及支付系统
CN112291201B (zh) 业务请求的传输方法及装置、电子设备
CN113541970B (zh) 分布式标识符的使用方法和分布式标识符使用系统
CN110635901A (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
CN102546580A (zh) 一种用户口令的更新方法、系统及装置
CN113515766A (zh) 文件传输方法及装置
CN112328279B (zh) 系统固件文件升级方法、装置及系统
CN110581829A (zh) 通信方法及装置
CN108846671B (zh) 基于区块链的在线安全交易方法和系统
CN111464554B (zh) 一种车辆信息安全控制方法及系统
CN114297678A (zh) 一种联盟链系统运行方法、装置、设备及存储介质
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
CN116318654A (zh) 融合量子密钥分发的sm2算法协同签名系统、方法及设备
CN112422292B (zh) 一种网络安全防护方法、系统、设备及存储介质
CN111064571B (zh) 一种通信终端、服务器及动态更新预共享密钥的方法
CN113378242A (zh) 一种数据验证的方法和系统
CN112350920A (zh) 基于区块链的即时通讯系统
CN115086062B (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