本公开内容涉及硬件安全模块(hsm),特别地,本说明书涉及用于更新hsm中的固件的系统和方法。
背景技术:
1、硬件安全模块(hsm)是一种为敏感数据提供额外安全性的物理装置。hsm是硬件加密加速器模块,其包括自己的核(cpu)、加密加速器和存储器。hsm用于为应用程序、身份和数据库的使用提供针对诸如加密、解密和认证的功能的加密密钥。hsm可以嵌入其他硬件中,包括智能卡、电器和其他外部装置。在密码系统中保护密钥有助于维护安全系统。hsm保护加密密钥并处置加密和解密过程。hsm还可以创建和验证数字签名。
2、固件是嵌入在硬件中的软件。固件由软件开发人员编写的程序组成,以使硬件装置正常运作。固件更新类似于软件更新。装置制造商创建更新和更好的固件。更新会添加或重写装置上的现有软件,以支持改进效率。固件更新也可以调整固件或装置驱动程序的性能,从而可能加强处理器或其他装置硬件的性能。hsm固件更新使得能够修复安全漏洞,否则这些漏洞可能会危及装置或其中使用该装置的系统的安全性。
技术实现思路
1、第一示例涉及具有包括固件生成器的机器可读指令的非暂时性机器可读介质,用于固件生成器的机器可读指令可由处理器核执行以执行一个或多个操作。一个或多个操作包括用公钥私钥对的私钥对硬件安全模块(hsm)的固件映像进行签名以提供第一签名,以及用包括第一签名的报头增强固件映像以提供增强的固件映像。一个或多个操作进一步包括用对称密钥加密增强的固件映像以提供加密的增强固件映像。此外,一个或多个操作包括用私钥对加密的增强固件映像进行签名以提供第二签名;以及用第二签名增强加密的增强固件映像,以提供用于hsm的固件包。
2、第二示例涉及具有机器可读指令的非暂时性机器可读介质,该机器可读指令包括固件验证器,用于固件验证器的机器可读指令可由处理器核执行以执行一个或多个操作。一个或多个操作包括接收用于硬件安全模块(hsm)的固件包,以及请求由hsm验证该固件包的第一签名,其中hsm使用公钥私钥对的公钥来验证固件包的完整性。一个或多个操作进一步包括响应于来自hsm的第一签名被验证的指示,从固件包中提取加密的增强固件映像,并请求hsm对加密的增强固件映像进行解密,其中hsm使用对称密钥来响应于解密请求而提供解密的增强固件映像。此外,一个或多个操作包括将解密的增强固件映像传输到hsm,其中解密的增强固件映像包括可利用公钥可验证的第二签名。
3、第三示例涉及一种系统,其包括存储可更新固件的硬件安全模块(hsm);以及具有机器可读指令的非暂时性存储器。该系统进一步包括处理器核,其访问非暂时性存储器并执行机器可读指令,该机器可读指令包括固件验证器,其可由处理器核执行以执行一个或多个操作。一个或多个操作包括接收用于hsm的固件包,以及请求由hsm验证固件包的第一签名,其中hsm使用公钥私钥对的公钥来验证固件包的完整性,并响应于来自hsm的第一签名被验证的指示,从固件包中提取加密的增强固件映像。一个或多个操作进一步包括请求由hsm对加密的增强固件映像进行解密,其中hsm使用对称密钥来响应于解密请求而提供解密的增强固件映像;以及将解密的增强固件映像传输到hsm。hsm包括固件更新器,其可由hsm执行以执行操作,针对固件更新器的操作包括将解密的增强固件映像写入hsm的hsm固件区域,并使用公钥验证解密的增强固件映像中的第二签名,以验证解密的增强固件映像中的固件映像的完整性。
技术特征:1.一种具有包括固件生成器的机器可读指令的非暂时性机器可读介质,用于所述固件生成器的所述机器可读指令能够由处理器核执行以执行操作,所述操作包括:
2.根据权利要求1所述的非暂时性机器可读介质,其中所述私钥是第一私钥,并且所述公钥私钥对是第一公钥私钥对,用于所述固件生成器的所述操作进一步包括:
3.一种具有包括固件验证器的机器可读指令的非暂时性机器可读介质,用于所述固件验证器的所述机器可读指令能够由处理器核执行以执行操作,所述操作包括:
4.根据权利要求3所述的非暂时性机器可读介质,其中所述解密的增强固件映像或所述解密的增强固件的块存储在易失性存储器中。
5.根据权利要求4所述的非暂时性机器可读介质,其中所述固件包的副本存储在非易失性存储器中。
6.根据权利要求5所述的非暂时性机器可读介质,其中在请求验证所述第一签名之前,将固件包复制到所述易失性存储器。
7.根据权利要求3所述的非暂时性机器可读介质,其中所述操作进一步包括读取存储在所述hsm中的固件的版本,并且其中所述传输是响应于所述解密的增强固件映像中的固件映像的版本晚于存储在所述hsm中的所述固件的所述版本来执行的。
8.根据权利要求3所述的非暂时性机器可读介质,其中所述操作进一步包括请求所述hsm验证所述解密的增强固件映像的所述第二签名,其中所述hsm使用所述公钥验证所述解密的增强固件映像的完整性,并且所述传输是对来自所述hsm的所述第二签名已被验证的指示的响应。
9.根据权利要求3所述的非暂时性机器可读介质,其中所述操作进一步包括将总线标识符(id)添加到启动所述传输的命令,其中所述总线id与所述hsm中的只读存储器(rom)固件id匹配。
10.一种系统,包括:
11.根据权利要求10所述的系统,其中所述固件包包括第三签名,并且所述公钥是第一公钥,并且所述公钥私钥对是第一公钥私钥对,针对所述固件验证器的所述操作进一步包括:
12.根据权利要求11所述的系统,进一步包括存储所述第一公钥、所述对称密钥和所述第二公钥的hsm资产存储库,其中所述hsm资产存储库被存储在所述hsm的安全存储器中。
13.根据权利要求10所述的系统,其中针对所述固件更新器的所述操作进一步包括确认所述传输的总线标识符(id)与所述hsm的只读存储器(rom)固件id匹配,并且所述第二签名的所述验证是对所述确认的响应。
14.根据权利要求10所述的系统,其中所述解密的增强固件映像或所述解密增强固件的块存储在所述非暂时性存储器的易失性存储器中。
15.根据权利要求14所述的系统,其中针对所述固件更新器的所述操作进一步包括向所述固件验证器提供写入完成的指示。
16.根据权利要求15所述的系统,其中针对所述固件验证器的所述操作进一步包括响应于所述写入完成的所述指示,从所述非暂时性存储器中删除所述解密的增强固件映像。
17.根据权利要求14所述的系统,其中所述固件包存储在所述非暂时性存储器的易失性存储器中。
18.根据权利要求17所述的系统,其中所述固件包的副本存储在所述非暂时性存储器的非易失性存储器中。
19.根据权利要求18所述的系统,其中所述固件验证器被配置为在请求验证所述第一签名之前将所述固件包复制到所述非暂时性存储器的所述易失性存储器。
20.根据权利要求10所述的系统,其中针对所述固件验证器的所述操作进一步包括读取存储在所述hsm中的固件的版本,并且其中响应于所述解密的增强固件映像中的固件映像的版本晚于存储在hsm中的所述固件的版本,执行所述传输。
技术总结本公开涉及一种具有包括固件生成器(114)的机器可读指令的非暂时性机器可读介质,用于固件生成器(114)的机器可读指令可由处理器核(112)执行以执行操作,这些操作包括用公钥私钥对的私钥(120)对硬件安全模块(HSM)(106)的固件映像(116)进行签名以提供第一签名,以及用包括第一签名的报头(132)增强固件映像(116)以提供增强的固件映像(126)。所述操作进一步包括用对称密钥(122)加密增强的固件映像(126),以提供加密的增强固件映像(130)。此外,所述操作包括用私钥(120)对加密的增强固件映像(130)进行签名以提供第二签名,并用第二签名增强加密的增强固件映像(126),以提供用于HSM(106)的固件包(108)。技术研发人员:P·程,B·尼萨嘎受保护的技术使用者:德克萨斯仪器股份有限公司技术研发日:技术公布日:2025/2/20