CN112187544B - 固件升级方法、装置、计算机设备及存储介质 - Google Patents

固件升级方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112187544B
CN112187544B CN202011057484.5A CN202011057484A CN112187544B CN 112187544 B CN112187544 B CN 112187544B CN 202011057484 A CN202011057484 A CN 202011057484A CN 112187544 B CN112187544 B CN 112187544B
Authority
CN
China
Prior art keywords
firmware
ssd
host
key
signature value
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
CN202011057484.5A
Other languages
English (en)
Other versions
CN112187544A (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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN202011057484.5A priority Critical patent/CN112187544B/zh
Publication of CN112187544A publication Critical patent/CN112187544A/zh
Application granted granted Critical
Publication of CN112187544B publication Critical patent/CN112187544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及固件升级方法、装置、计算机设备及存储介质;其中,方法,包括:生成待下载升级的固件;获取主机下发带认证信息的固件认证命令;对带认证信息的固件认证命令进行解密,以得到厂家信息、传输密钥和主机签名值;对主机签名值进行验签;对厂家信息进行签名,生成SSD签名值,并将SSD签名值返回给主机;主机对SSD签名值进行验签;主机下发固件下载命令,将固件密文下发给SSD;对固件密文进行解密得到固件明文;SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致;主机下发固件激活命令,SSD将固件写入到内部固定位置中,以完成固件升级。本发明能够保证SSD固件升级的安全性。

Description

固件升级方法、装置、计算机设备及存储介质
技术领域
本发明涉及固件升级技术领域,更具体地说是指固件升级方法、装置、计算机设备及存储介质。
背景技术
传统固件升级命令分为固件下载和固件激活命令,固件下载过程,主机将要升级的固件以明文形式发送给SSD,SSD收到全部固件后进行固件CRC(循环冗余)校验;SSD收到固件激活命令后将固件保存到内部固定位置中,完成固件升级,此方法的弊端,首先固件以明文形式进行传输,很容易在进行传输过程中被截取和篡改;其次,SSD没有对主机进行身份认证,导致SSD很可能收到其它非法固件致使SSD系统运行异常,致使SSD的安全无法得到保证,最后,主机没有对SSD进行身份认证,有可能导致固件被未授权的SSD系统非法使用。
发明内容
本发明的目的在于克服现有技术的缺陷,提供固件升级方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:
固件升级方法,包括以下步骤:
生成待下载升级的固件;
SSD获取主机下发带认证信息的固件认证命令;
SSD采用内部保存的SSD的私钥对带认证信息的固件认证命令进行解密,以得到厂家信息、传输密钥和主机签名值;
SSD采用内部保存的主机公钥对主机签名值进行验签;若验签成功,得到下发消息摘要,完成SSD对主机的安全认证;
SSD采用内部保存的SSD的私钥对厂家信息进行签名,生成SSD签名值,并将SSD签名值返回给主机;
主机对SSD签名值采用SSD的公钥进行验签;若验签成功,完成主机对SSD的安全认证;
主机下发固件下载命令,将固件密文下发给SSD;
SSD以传输密钥作为密钥,对固件密文进行解密得到固件明文;
SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致;
若一致,则主机下发固件激活命令,SSD将固件写入到内部固定位置中,以完成固件升级。
其进一步技术方案为:所述步骤“生成待下载升级的固件”,包括以下步骤:
主机下发固件升级命令,包括固件认证命令、固件下载命令和固件激活命令;
打包工具根据固件升级命令对固件明文通过哈希算法生成消息摘要;
打包工具采用主机私钥对消息摘要进行签名生成主机签名值;
打包工具采用传输密钥和SM4对称算法对固件明文加密生成固件密文;
打包工具采用SSD的公钥对固定字节长度的厂家信息和传输密钥以及主机签名值进行加密生成认证信息;
打包工具将认证信息和固件密文组合,以生成待下载升级的固件。
其进一步技术方案为:所述步骤“SSD以传输密钥作为密钥,对固件密文进行解密得到固件明文”中,SSD以传输密钥作为密钥,采用SM4对称算法对固件密文进行解密得到固件明文。
其进一步技术方案为:所述步骤“SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致”中,SSD对固件明文通过哈希算法计算得到消息摘要。
固件升级装置,包括:生成单元,获取单元,第一解密单元,第一验签单元,签名生成单元,第二验签单元,下发单元,第二解密单元,计算比较单元,及下发写入单元;
所述生成单元,用于生成待下载升级的固件;
所述获取单元,用于SSD获取主机下发带认证信息的固件认证命令;
所述第一解密单元,用于SSD采用内部保存的SSD的私钥对带认证信息的固件认证命令进行解密,以得到厂家信息、传输密钥和主机签名值;
所述第一验签单元,用于SSD采用内部保存的主机公钥对主机签名值进行验签;
所述签名生成单元,用于SSD采用内部保存的SSD的私钥对厂家信息进行签名,生成SSD签名值,并将SSD签名值返回给主机;
所述第二验签单元,用于主机对SSD签名值采用SSD的公钥进行验签;
所述下发单元,用于主机下发固件下载命令,将固件密文下发给SSD;
所述第二解密单元,用于SSD以传输密钥作为密钥,对固件密文进行解密得到固件明文;
所述计算比较单元,用于SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致;
所述下发写入单元,用于主机下发固件激活命令,SSD将固件写入到内部固定位置中,以完成固件升级。
其进一步技术方案为:所述生成单元包括:下发模块,运算生成模块,签名生成模块,第一加密生成模块,第二加密生成模块,及组合生成模块;
所述下发模块,用于主机下发固件升级命令,包括固件认证命令、固件下载命令和固件激活命令;
所述运算生成模块,用于打包工具根据固件升级命令对固件明文通过哈希算法生成消息摘要;
所述签名生成模块,用于打包工具采用主机私钥对消息摘要进行签名生成主机签名值;
所述第一加密生成模块,用于打包工具采用传输密钥和SM4对称算法对固件明文加密生成固件密文;
所述第二加密生成模块,用于打包工具采用SSD的公钥对固定字节长度的厂家信息和传输密钥以及主机签名值进行加密生成认证信息;
所述组合生成模块,用于打包工具将认证信息和固件密文组合,以生成待下载升级的固件。
其进一步技术方案为:所述第二解密单元中,SSD以传输密钥作为密钥,采用SM4对称算法对固件密文进行解密得到固件明文。
其进一步技术方案为:所述计算比较单元中,SSD对固件明文通过哈希算法计算得到消息摘要。
一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上述所述的固件升级方法。
一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如上述所述的固件升级方法。
本发明与现有技术相比的有益效果是:在固件升级过程中增加固件认证命令,完成主机和SSD的双向安全身份认证,只有在双方完成身份认证后,才允许后续的固件升级命令,在固件下载过程,采用对称算法对固件进行加密处理,以保证固件的安全传输,同时,采用哈希算法对固件进行处理生成消息摘要,以验证数据传输的完整性,能够保证SSD固件升级的安全性,能够更好地满足需求。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的固件升级方法的流程示意图一;
图2为本发明实施例提供的固件升级方法的流程示意图二;
图3为本发明实施例提供的固件升级装置的示意性框图一;
图4为本发明实施例提供的固件升级装置的示意性框图二;
图5为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1到图5所示的具体实施例,其中,请参阅图1至图2所示,本发明公开了一种固件升级方法,包括以下步骤:
S1,生成待下载升级的固件;
S2,SSD获取主机下发带认证信息的固件认证命令;
S3,SSD采用内部保存的SSD的私钥对带认证信息的固件认证命令进行解密,以得到厂家信息、传输密钥和主机签名值;
S4,SSD采用内部保存的主机公钥对主机签名值进行验签;若验签成功,得到下发消息摘要,完成SSD对主机的安全认证;若验签不成功,则结束固件升级。
S5,SSD采用内部保存的SSD的私钥对厂家信息进行签名,生成SSD签名值,并将SSD签名值返回给主机;
S6,主机对SSD签名值采用SSD的公钥进行验签;若验签成功,完成主机对SSD的安全认证;若验签不成功,则结束固件升级。
S7,主机下发固件下载命令,将固件密文下发给SSD;
S8,SSD以传输密钥作为密钥,对固件密文进行解密得到固件明文;
其中,在本实施例中,SSD以传输密钥作为密钥,采用SM4(分组密码标准)对称算法对固件密文进行解密得到固件明文。
S9,SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致;若数据不一致,则结束固件升级。
其中,在本实施例中,SSD对固件明文通过哈希算法计算得到消息摘要。
S10,若一致,则主机下发固件激活命令,SSD将固件写入到内部固定位置中,以完成固件升级。
具体地,如图2所示,所述步骤“生成待下载升级的固件”,包括以下步骤:
S11,主机下发固件升级命令,包括固件认证命令、固件下载命令和固件激活命令;
S12,打包工具根据固件升级命令对固件明文通过哈希算法生成消息摘要;
S13,打包工具采用主机私钥对消息摘要进行签名生成主机签名值;
S14,打包工具采用传输密钥和SM4对称算法对固件明文加密生成固件密文;
S15,打包工具采用SSD的公钥对固定字节长度的厂家信息和传输密钥以及主机签名值进行加密生成认证信息;
其中,在本实施例中,固定字节长度为4-50个字节。
S16,打包工具将认证信息和固件密文组合,以生成待下载升级的固件。
其中,在本实施例中,打包工具为kingmax或瑞芯微RK3288或Intel Pcie及其他打包工具。
本发明中固件升级共分为三部分:固件认证,负责完成主机和SSD的双向认证;固件下载,通过下载命令将固件密文从主机缓存SSD,SSD内部完成解密以及数据完整性校验;固件激活,负责最终将缓存在SSD的固件真正写入到固件指定存放位置。其中,进行固件升级的固件需要在本地经过打包工具的数据处理,对固件明文通过哈希算法计算生成消息摘要,再使用主机的私钥对消息摘要进行签名生成主机签名值;采用SSD的公钥对固定字节长度的厂家信息、传输密钥和主机签名值进行加密生成认证信息,以传输密钥为密钥采用SM4对称算法对固件明文进行加密的得到固件密文,将认证信息和固件密文组成待升级的固件,主机发送自定义固件认证命令将认证信息发到SSD,SSD接收以后,使用内部保存的SSD的私钥对认证信息进行解密得到厂家信息、传输密钥和主机签名值,比较厂家信息是否一致,如果一致,SSD使用内部保存的主机的公钥对主机签名值进行验签,如果验签成功得到消息摘要,完成SSD对主机的安全身份认证,同时,SSD采用自身的私钥对厂家信息进行签名生成SSD签名值,并将该签名值返回给主机,主机收到签名值以后使用SSD的公钥进行验签,如果验签成功,完成主机对SSD的安全身份认证;主机发送固件下载命令将固件密文发送到SSD,SSD以传输密钥为密钥采用SM4对称算法对固件密文解密得到固件明文,同时对固件明文通过哈希算法计算得到消息摘要,比较消息摘要与验签得到的消息摘要是否一致,如果一致表明固件传输过程没有被篡改,主机发送固件激活命令,SSD内部完成将固件写到SSD内部特定的位置中,完成固件升级。
其中,通过本发明,能够保证SSD固件升级的安全性,其中,采用非对称SM2(国密标准的椭圆曲线公钥密码)算法,以SSD的公钥对厂家信息、传输密钥和主机签名值进行非对称加密得到验证信息,保证了验证信息只能由SSD厂家自身生产的SSD采用内置的SSD的私钥进行SM2算法解密得到厂家信息、传输密钥和主机签名值正确值,SSD采用自身的私钥对厂家信息进行签名,并将签名返回给主机,主机进行验签,完成了主机对SSD身份认证;对固件明文进行加密,保证了固件传输的安全性,SSD采用内部保存的主机公钥对主机签名值进行验签,完成SSD对主机的身份验证,保证SSD只接收指定厂家提供的固件,同时验签的结果得到固件的消息摘要,从而保证固件的完整性和有效性,通过引入此方案,无论本地固件升级,还是远程固件升级,都能很好的保证固件升级的安全性。
请参阅图3至图4所示,本发明还公开了一种固件升级装置,包括:生成单元10,获取单元20,第一解密单元30,第一验签单元40,签名生成单元50,第二验签单元60,下发单元70,第二解密单元80,计算比较单元90,及下发写入单元100;
所述生成单元10,用于生成待下载升级的固件;
所述获取单元20,用于SSD获取主机下发带认证信息的固件认证命令;
所述第一解密单元30,用于SSD采用内部保存的SSD的私钥对带认证信息的固件认证命令进行解密,以得到厂家信息、传输密钥和主机签名值;
所述第一验签单元40,用于SSD采用内部保存的主机公钥对主机签名值进行验签;
所述签名生成单元50,用于SSD采用内部保存的SSD的私钥对厂家信息进行签名,生成SSD签名值,并将SSD签名值返回给主机;
所述第二验签单元60,用于主机对SSD签名值采用SSD的公钥进行验签;
所述下发单元70,用于主机下发固件下载命令,将固件密文下发给SSD;
所述第二解密单元80,用于SSD以传输密钥作为密钥,对固件密文进行解密得到固件明文;
其中,所述第二解密单元80中,SSD以传输密钥作为密钥,采用SM4对称算法对固件密文进行解密得到固件明文。
所述计算比较单元90,用于SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致;
其中,所述计算比较单元90中,SSD对固件明文通过哈希算法计算得到消息摘要。
所述下发写入单元100,用于主机下发固件激活命令,SSD将固件写入到内部固定位置中,以完成固件升级。
其中,如图4所示,所述生成单元10包括:下发模块11,运算生成模块12,签名生成模块13,第一加密生成模块14,第二加密生成模块15,及组合生成模块16;
所述下发模块11,用于主机下发固件升级命令,包括固件认证命令、固件下载命令和固件激活命令;
所述运算生成模块12,用于打包工具根据固件升级命令对固件明文通过哈希算法生成消息摘要;
所述签名生成模块13,用于打包工具采用主机私钥对消息摘要进行签名生成主机签名值;
所述第一加密生成模块14,用于打包工具采用传输密钥和SM4对称算法对固件明文加密生成固件密文;
所述第二加密生成模块15,用于打包工具采用SSD的公钥对固定字节长度的厂家信息和传输密钥以及主机签名值进行加密生成认证信息;
所述组合生成模块16,用于打包工具将认证信息和固件密文组合,以生成待下载升级的固件。
本发明在固件下载之前,增加自定义固件认证命令,采用非对称算法,完成主机和SSD的双向身份认证;在固件下载过程中,采用对称算法对固件进行加密处理保证了固件传输的安全性;对固件进行哈希运算生成消息摘要,保证了固件的完整性和有效性,SSD对主机的认证方法,主机采用SSD的公钥,对固件消息摘要的签名值、厂家信息以及固件加密传输的对称密钥,进行非对称加密,将得到的结果作为认证信息,SSD收到认证信息以后,首先进行非对称解密,然后再对固件消息摘要签名值,进行验签,若验签成功,完成SSD对主机认证的同时,还可得到固件加密传输的对称密钥,以及对固件进行完整性校验的消息摘要值;主机对SSD的认证方法,SSD采用自己的私钥对厂家信息进行签名,将签名值作为认证信息返回给主机,主机收到认证信息以后,采用SSD的公钥进行验签,如果验签成功,完成主机对SSD的认证,从而进一步完成固件传输命令。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述固件升级装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述固件升级装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本申请实施例提供的一种计算机设备的示意性框图;该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图5,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种固件升级方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种固件升级方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述的固件升级方法。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (4)

1.固件升级方法,其特征在于,包括以下步骤:
生成待下载升级的固件;
SSD获取主机下发带认证信息的固件认证命令;
SSD采用内部保存的SSD的私钥对带认证信息的固件认证命令进行解密,以得到厂家信息、传输密钥和主机签名值;
SSD采用内部保存的主机公钥对主机签名值进行验签;若验签成功,得到下发消息摘要,完成SSD对主机的安全认证;
SSD采用内部保存的SSD的私钥对厂家信息进行签名,生成SSD签名值,并将SSD签名值返回给主机;
主机对SSD签名值采用SSD的公钥进行验签;若验签成功,完成主机对SSD的安全认证;
主机下发固件下载命令,将固件密文下发给SSD;
SSD以传输密钥作为密钥,对固件密文进行解密得到固件明文;
SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致;
若一致,则主机下发固件激活命令,SSD将固件写入到内部固定位置中,以完成固件升级;
所述步骤“生成待下载升级的固件”,包括以下步骤:
主机下发固件升级命令,包括固件认证命令、固件下载命令和固件激活命令;
打包工具根据固件升级命令对固件明文通过哈希算法生成消息摘要;
打包工具采用主机私钥对消息摘要进行签名生成主机签名值;
打包工具采用传输密钥和SM4对称算法对固件明文加密生成固件密文;
打包工具采用SSD的公钥对固定字节长度的厂家信息和传输密钥以及主机签名值进行加密生成认证信息;
打包工具将认证信息和固件密文组合,以生成待下载升级的固件;
所述步骤“SSD以传输密钥作为密钥,对固件密文进行解密得到固件明文”中,SSD以传输密钥作为密钥,采用SM4对称算法对固件密文进行解密得到固件明文;
所述步骤“SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致”中,SSD对固件明文通过哈希算法计算得到消息摘要;
其中,固件升级共分为三部分:固件认证,负责完成主机和SSD的双向认证;固件下载,通过下载命令将固件密文从主机缓存SSD,SSD内部完成解密以及数据完整性校验;固件激活,负责最终将缓存在SSD的固件真正写入到固件指定存放位置;其中,进行固件升级的固件需要在本地经过打包工具的数据处理,对固件明文通过哈希算法计算生成消息摘要,再使用主机的私钥对消息摘要进行签名生成主机签名值;采用SSD的公钥对固定字节长度的厂家信息、传输密钥和主机签名值进行加密生成认证信息,以传输密钥为密钥采用SM4对称算法对固件明文进行加密得到固件密文,将认证信息和固件密文组成待升级的固件,主机发送自定义固件认证命令将认证信息发到SSD,SSD接收以后,使用内部保存的SSD的私钥对认证信息进行解密得到厂家信息、传输密钥和主机签名值,比较厂家信息是否一致,如果一致,SSD使用内部保存的主机的公钥对主机签名值进行验签,如果验签成功得到消息摘要,完成SSD对主机的安全身份认证,同时,SSD采用自身的私钥对厂家信息进行签名生成SSD签名值,并将该签名值返回给主机,主机收到签名值以后使用SSD的公钥进行验签,如果验签成功,完成主机对SSD的安全身份认证;主机发送固件下载命令将固件密文发送到SSD,SSD以传输密钥为密钥采用SM4对称算法对固件密文解密得到固件明文,同时对固件明文通过哈希算法计算得到消息摘要,比较消息摘要与验签得到的消息摘要是否一致,如果一致表明固件传输过程没有被篡改,主机发送固件激活命令,SSD内部完成将固件写到SSD内部特定的位置中,以完成固件升级。
2.固件升级装置,其特征在于,包括:生成单元,获取单元,第一解密单元,第一验签单元,签名生成单元,第二验签单元,下发单元,第二解密单元,计算比较单元,及下发写入单元;
所述生成单元,用于生成待下载升级的固件;
所述获取单元,用于SSD获取主机下发带认证信息的固件认证命令;
所述第一解密单元,用于SSD采用内部保存的SSD的私钥对带认证信息的固件认证命令进行解密,以得到厂家信息、传输密钥和主机签名值;
所述第一验签单元,用于SSD采用内部保存的主机公钥对主机签名值进行验签;
所述签名生成单元,用于SSD采用内部保存的SSD的私钥对厂家信息进行签名,生成SSD签名值,并将SSD签名值返回给主机;
所述第二验签单元,用于主机对SSD签名值采用SSD的公钥进行验签;
所述下发单元,用于主机下发固件下载命令,将固件密文下发给SSD;
所述第二解密单元,用于SSD以传输密钥作为密钥,对固件密文进行解密得到固件明文;
所述计算比较单元,用于SSD对固件明文进行计算得到消息摘要,比较计算得到的消息摘要与下发消息摘要数据是否一致;
所述下发写入单元,用于主机下发固件激活命令,SSD将固件写入到内部固定位置中,以完成固件升级;
所述生成单元包括:下发模块,运算生成模块,签名生成模块,第一加密生成模块,第二加密生成模块,及组合生成模块;
所述下发模块,用于主机下发固件升级命令,包括固件认证命令、固件下载命令和固件激活命令;
所述运算生成模块,用于打包工具根据固件升级命令对固件明文通过哈希算法生成消息摘要;
所述签名生成模块,用于打包工具采用主机私钥对消息摘要进行签名生成主机签名值;
所述第一加密生成模块,用于打包工具采用传输密钥和SM4对称算法对固件明文加密生成固件密文;
所述第二加密生成模块,用于打包工具采用SSD的公钥对固定字节长度的厂家信息和传输密钥以及主机签名值进行加密生成认证信息;
所述组合生成模块,用于打包工具将认证信息和固件密文组合,以生成待下载升级的固件;
所述第二解密单元中,SSD以传输密钥作为密钥,采用SM4对称算法对固件密文进行解密得到固件明文;
所述计算比较单元中,SSD对固件明文通过哈希算法计算得到消息摘要;
其中,固件升级共分为三部分:固件认证,负责完成主机和SSD的双向认证;固件下载,通过下载命令将固件密文从主机缓存SSD,SSD内部完成解密以及数据完整性校验;固件激活,负责最终将缓存在SSD的固件真正写入到固件指定存放位置;其中,进行固件升级的固件需要在本地经过打包工具的数据处理,对固件明文通过哈希算法计算生成消息摘要,再使用主机的私钥对消息摘要进行签名生成主机签名值;采用SSD的公钥对固定字节长度的厂家信息、传输密钥和主机签名值进行加密生成认证信息,以传输密钥为密钥采用SM4对称算法对固件明文进行加密得到固件密文,将认证信息和固件密文组成待升级的固件,主机发送自定义固件认证命令将认证信息发到SSD,SSD接收以后,使用内部保存的SSD的私钥对认证信息进行解密得到厂家信息、传输密钥和主机签名值,比较厂家信息是否一致,如果一致,SSD使用内部保存的主机的公钥对主机签名值进行验签,如果验签成功得到消息摘要,完成SSD对主机的安全身份认证,同时,SSD采用自身的私钥对厂家信息进行签名生成SSD签名值,并将该签名值返回给主机,主机收到签名值以后使用SSD的公钥进行验签,如果验签成功,完成主机对SSD的安全身份认证;主机发送固件下载命令将固件密文发送到SSD,SSD以传输密钥为密钥采用SM4对称算法对固件密文解密得到固件明文,同时对固件明文通过哈希算法计算得到消息摘要,比较消息摘要与验签得到的消息摘要是否一致,如果一致表明固件传输过程没有被篡改,主机发送固件激活命令,SSD内部完成将固件写到SSD内部特定的位置中,以完成固件升级。
3.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1所述的固件升级方法。
4.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1所述的固件升级方法。
CN202011057484.5A 2020-09-30 2020-09-30 固件升级方法、装置、计算机设备及存储介质 Active CN112187544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011057484.5A CN112187544B (zh) 2020-09-30 2020-09-30 固件升级方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011057484.5A CN112187544B (zh) 2020-09-30 2020-09-30 固件升级方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112187544A CN112187544A (zh) 2021-01-05
CN112187544B true CN112187544B (zh) 2023-08-08

Family

ID=73945521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011057484.5A Active CN112187544B (zh) 2020-09-30 2020-09-30 固件升级方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112187544B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468559B (zh) * 2021-06-18 2024-01-05 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 固件校验方法以及系统
CN113688399A (zh) * 2021-08-25 2021-11-23 深圳忆联信息系统有限公司 固件数字签名保护方法、装置、计算机设备及存储介质
CN114189337A (zh) * 2021-11-18 2022-03-15 山东云海国创云计算装备产业创新中心有限公司 一种固件烧录方法、装置、设备以及存储介质
CN114143197B (zh) * 2021-11-29 2024-04-02 武汉天喻信息产业股份有限公司 物联网设备ota升级方法、装置、设备及可读存储介质
CN114091041A (zh) * 2022-01-13 2022-02-25 深圳市猿人创新科技有限公司 一种基于嵌入式设备的数据传输方法、装置、设备及介质
CN114385215B (zh) * 2022-03-25 2022-06-24 江铃汽车股份有限公司 软件升级方法及系统
US11683230B1 (en) * 2022-03-31 2023-06-20 Lenovo Global Technology (United States) Inc. Applying a feature on demand upgrade responsive to measured utilization
CN115412244B (zh) * 2022-10-31 2023-03-24 中孚信息股份有限公司 一种加密固件在线更新方法、系统及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145906A (zh) * 2006-09-13 2008-03-19 北京邦天科技有限公司 对单向网络中的接收终端进行合法性认证的方法及系统
CN108196867A (zh) * 2018-03-08 2018-06-22 深圳市文鼎创数据科技有限公司 设备的固件升级装置、设备及其固件升级方法
CN108366069A (zh) * 2018-02-26 2018-08-03 北京赛博兴安科技有限公司 一种双向认证方法和系统
CN109413009A (zh) * 2017-08-18 2019-03-01 厦门雅迅网络股份有限公司 车辆固件空中升级的方法及计算机可读存储介质
CN109583189A (zh) * 2018-12-13 2019-04-05 深圳忆联信息系统有限公司 固件安全加载方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102139546B1 (ko) * 2014-03-11 2020-07-30 삼성전자주식회사 펌웨어 검증 기능을 갖는 모바일 시스템 그리고 그것의 펌웨어 업데이트 방법
CN106789018B (zh) * 2016-12-20 2019-10-08 百富计算机技术(深圳)有限公司 密钥远程获取方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145906A (zh) * 2006-09-13 2008-03-19 北京邦天科技有限公司 对单向网络中的接收终端进行合法性认证的方法及系统
CN109413009A (zh) * 2017-08-18 2019-03-01 厦门雅迅网络股份有限公司 车辆固件空中升级的方法及计算机可读存储介质
CN108366069A (zh) * 2018-02-26 2018-08-03 北京赛博兴安科技有限公司 一种双向认证方法和系统
CN108196867A (zh) * 2018-03-08 2018-06-22 深圳市文鼎创数据科技有限公司 设备的固件升级装置、设备及其固件升级方法
CN109583189A (zh) * 2018-12-13 2019-04-05 深圳忆联信息系统有限公司 固件安全加载方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN112187544A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112187544B (zh) 固件升级方法、装置、计算机设备及存储介质
US11876791B2 (en) Message authentication with secure code verification
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN110621014B (zh) 一种车载设备及其程序升级方法、服务器
CN108768963B (zh) 可信应用与安全元件的通信方法和系统
WO2015042981A1 (zh) 加解密处理方法、装置和设备
CN108595198B (zh) 一种安全的固件更新方法
CN103946858A (zh) 应用数据的解密和加密
CN110414248B (zh) 一种调试微处理器的方法及微处理器
EP3316160A1 (en) Authentication method and apparatus for reinforced software
US20170060775A1 (en) Methods and architecture for encrypting and decrypting data
CN111316596B (zh) 具有身份验证的加密芯片
CN114662087B (zh) 一种多端验证的安全芯片固件更新方法及装置
CN113688399A (zh) 固件数字签名保护方法、装置、计算机设备及存储介质
KR20070059891A (ko) 어플리케이션 인증 보안 시스템 및 그 인증 보안 방법
CN111817856B (zh) 基于零知识证明和密码技术的身份认证方法及认证系统
CN108242997B (zh) 安全通信的方法与设备
CN113343215A (zh) 嵌入式软件的授权和认证方法及电子设备
WO2020088515A1 (zh) Pos用户公钥安全认证方法、装置和终端设备
CN113194090B (zh) 鉴权方法、鉴权装置、终端设备及计算机可读存储介质
CN114726539B (zh) 一种基于可信密码模块tcm的离线升级方法
CN116070219B (zh) 用于写补丁的方法及系统、电子设备、存储介质
CN110602058B (zh) 芯片激活装置、方法及计算机可读存储介质
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及系统

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