CN116070219A - 用于写补丁的方法及系统、电子设备、存储介质 - Google Patents
用于写补丁的方法及系统、电子设备、存储介质 Download PDFInfo
- Publication number
- CN116070219A CN116070219A CN202310354989.5A CN202310354989A CN116070219A CN 116070219 A CN116070219 A CN 116070219A CN 202310354989 A CN202310354989 A CN 202310354989A CN 116070219 A CN116070219 A CN 116070219A
- Authority
- CN
- China
- Prior art keywords
- patch
- file
- security chip
- writing
- patch file
- 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.)
- Granted
Links
Images
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及补丁文件安全技术领域,公开一种用于写补丁的方法,应用于安全芯片侧,该方法包括:接收补丁密文指令;对补丁密文指令进行解密,获得补丁文件。确定补丁文件的结构是否为预设的特定结构,获得确定结果。在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片。这样,通过使用特定结构的补丁文件来进行补丁内容的传输,在没有源码的工程文件的条件下,补丁文件的结构难以被破解。从而能够降低补丁代码被恶意修改的可能性,从而使得补丁文件的有效性得以提高。本申请还公开一种用于写补丁的系统及电子设备、存储介质。
Description
技术领域
本申请涉及补丁文件安全技术领域,例如涉及一种用于写补丁的方法及系统、电子设备、存储介质。
背景技术
在安全芯片产品发布之后,可能在使用阶段发现实际出现问题或者潜在问题,这些问题随时会直接影响到客户利用该产品搭建的生产环境带来的营收。这时候可以选择发布新版本,也可以在现有版本的基础上发布能解决实际问题的补丁。然而,补丁可以解决实际的问题的同时可能会引入严重的代码安全问题,补丁的内容如果被恶意修改的话,可能导致原有代码不能正常执行,甚至窃取到用户相关的资料。安全芯片的数据涉及到射频参数,用户个人化数据以及安全相关的数据,因此如果补丁代码被恶意修改,导致这些数据发生修改或者泄露,都会造成极严重的后果。
为了防止补丁代码被恶意修改,相关技术中一般都会增加签名验证操作,例如:公开号为CN109753793A的中国专利文件公开了一种热补丁方法,包括:安全侧执行环境验证补丁文件的签名;若所述补丁文件的签名通过验证,则所述安全侧执行环境对所述补丁文件进行解析,得到旧代码位置和新代码;所述安全侧执行环境根据所述旧代码位置对非安全侧执行环境的代码进行修改,以使得非安全执行环境执行至所述旧代码位置时跳转执行所述新代码;其中,所述补丁文件不具有代码修改能力。
公开号为CN113672272A的中国专利文件公开了一种应用程序动态升级方法,包括:在目标应用程序运行过程中接收到升级信号的情况下,读取目标位置下的补丁库;对所述补丁库进行解析,获得所述补丁库中的签名值;利用内置的公钥对所述签名值进行解密,获得第一特征值;计算所述补丁库的第二特征值;在所述第一特征值与所述第二特征值一致的情况下,确定所述补丁库的来源可信,并将所述第一特征值保存在安全存储区。在所述补丁库的来源可信的情况下,根据所述补丁库对所述目标应用程序进行动态升级;在所述目标应用程序动态升级之后,首次调用第一函数时,验证内存中的补丁库是否可信;在内存中的补丁库可信的情况下,调用所述第一函数,所述第一函数为所述目标应用程序根据所述补丁库更新后的函数。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
相关技术中在为了防止补丁代码被恶意修改,在写补丁之前,通常会进行签名验证操作。但如果只验证签名,可能无法保证补丁内容及签名的有效性。存在被恶意修改补丁内容及签名,导致签名验证等操作都可通过校验,但是补丁内容却已经是恶意代码的情况,使得补丁文件失效。从而导致补丁文件的有效性较差。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于写补丁的方法及系统、电子设备、存储介质,以能够提高补丁文件的有效性。
在一些实施例中,用于写补丁的方法,应用于安全芯片侧,所述方法包括:接收补丁密文指令,对所述补丁密文指令进行解密,获得补丁文件。确定所述补丁文件的结构是否为预设的特定结构,获得确定结果。在所述确定结果为所述补丁文件的结构为预设的特定结构的情况下,将所述补丁文件写入安全芯片。
在一些实施例中,所述补丁文件的结构包括补丁标志,确定所述补丁文件的结构是否为预设的特定结构,获得确定结果,包括:在所述补丁标志与预设标志信息相同的情况下,确定结果为所述补丁文件的结构为预设的特定结构。和/或,在所述补丁标志与预设标志信息不相同的情况下,确定结果为所述补丁文件的结构不为预设的特定结构。
在一些实施例中,对所述补丁密文指令进行解密,获得补丁文件,包括:获取预设的可信服务器发送的对称密钥。利用所述对称密钥对所述补丁密文指令进行解密,获得明文数据,所述明文数据包括补丁文件、补丁签名和补丁命令校验值。
在一些实施例中,将所述补丁文件写入安全芯片,包括:对所述补丁签名进行验证。在补丁签名验证通过的情况下,对所述明文数据进行循环冗余校验计算,获得循环冗余校验值。将所述循环冗余校验值与所述补丁命令校验值进行比较。在所述循环冗余校验值与所述补丁命令校验值相同的情况下,将所述补丁文件写入安全芯片。
在一些实施例中,用于写补丁的方法,应用于补丁生成方侧,所述方法包括:获取补丁文件、补丁命令校验值、补丁命令签名、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥。根据预设的加密算法利用所述根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥。利用所述对称加密密钥对所述补丁文件、所述补丁命令校验值和所述补丁命令签名进行加密,获得补丁密文指令。将所述补丁密文指令发送给安全芯片,触发所述安全芯片进行补丁升级。
在一些实施例中,将所述补丁密文指令发送给安全芯片,触发所述安全芯片进行补丁升级,包括:发送补丁升级请求命令给所述安全芯片,触发所述安全芯片进行身份验证,并反馈验证结果。获取所述安全芯片反馈的验证结果。在所述验证结果为验证通过的情况下,将所述补丁密文指令发送给安全芯片,触发所述安全芯片进行补丁升级。
在一些实施例中,用于写补丁的系统,包括:安全芯片,被配置为接收补丁密文指令;对所述补丁密文指令进行解密,获得补丁文件;确定所述补丁文件的结构是否为预设的特定结构,获得确定结果;在所述确定结果为所述补丁文件的结构为预设的特定结构的情况下,将所述补丁文件写入安全芯片。补丁生成方,被配置为获取补丁文件、补丁命令校验值、补丁命令签名、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥;根据预设的加密算法利用所述根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥;利用所述对称加密密钥对所述补丁文件、所述补丁命令校验值和所述补丁命令签名进行加密,获得补丁密文指令;将所述补丁密文指令发送给安全芯片,触发所述安全芯片进行补丁升级。
在一些实施例中,所述电子设备包括第一处理器和存储有程序指令的第一存储器,所述第一处理器被配置为在运行所述程序指令时,执行上述的用于写补丁的方法。
在一些实施例中,所述电子设备包括第二处理器和存储有程序指令的第二存储器,所述第二处理器被配置为在运行所述程序指令时,执行上述的用于写补丁的方法。
在一些实施例中,所述存储介质存储有程序指令,所述程序指令在运行时,执行上述的用于写补丁的方法。
本公开实施例提供的用于写补丁的方法及系统、电子设备、存储介质,可以实现以下技术效果:通过接收补丁密文指令;对补丁密文指令进行解密,获得补丁文件。确定补丁文件的结构是否为预设的特定结构,获得确定结果。在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片。这样,通过使用特定结构的补丁文件来进行补丁内容的传输,在没有源码的工程文件的条件下,补丁文件的结构难以被破解。从而能够降低补丁代码被恶意修改的可能性,从而使得补丁文件的有效性得以提高。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的第一个用于写补丁的方法的示意图;
图2是本公开实施例提供的第二个用于写补丁的方法的示意图;
图3是本公开实施例提供的一个用于写补丁的系统的示意图;
图4是本公开实施例提供的一个用于写补丁的方法的时序图;
图5是本公开实施例提供的第一个电子设备的结构示意图;
图6是本公开实施例提供的第二个电子设备的结构示意图。
附图标记:
1:安全芯片;2:补丁生成方。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
结合图1所示,本公开实施例提供一种用于写补丁的方法,应用于安全芯片侧,该方法包括:
步骤S101,安全芯片接收补丁密文指令。
步骤S102,安全芯片对补丁密文指令进行解密,获得补丁文件。
步骤S103,安全芯片确定补丁文件的结构是否为预设的特定结构,获得确定结果。
步骤S104,安全芯片在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片。
采用本公开实施例提供的用于写补丁的方法,通过接收补丁密文指令;对补丁密文指令进行解密,获得补丁文件。确定补丁文件的结构是否为预设的特定结构,获得确定结果。在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片。这样,通过使用特定结构的补丁文件来进行补丁内容的传输,在没有源码的工程文件的条件下,补丁文件的结构难以被破解。从而能够降低补丁代码被恶意修改的可能性,从而使得补丁文件的有效性得以提高。
可选地,安全芯片为设置在计算机或服务器等电子设备中的芯片。
可选地,补丁文件的特定结构包括补丁标志、补丁分类注册表和补丁代码。补丁标志包括魔数、补丁版本号和补齐位。补丁分类注册表包括补丁函数主表、补丁函数子表和补丁函数声明。补丁代码包括补丁函数内容。
在一些实施例中,在确定补丁文件的结构为预设的特定结构的情况下,则认为补丁文件的结构是有效的,没有被恶意修改。在确定补丁文件的结构不为预设的特定结构的情况下,则认为补丁文件的结构是无效的,已经被恶意修改。
在一些实施例中,补丁文件的结构使用二级索引表,根据补丁函数的功能进行分类,不同功能的补丁函数归类到不同的补丁主表入口,补丁主表中是写的补丁子表的索引。补丁主表由各个补丁子表组成,一个补丁子表主要是同一个模块允许被补丁函数覆盖的函数指针。在多个不同模块补丁函数同时使用的情况下,则补丁主表会有多处不一样。补丁子表内容根据是否同一模块多个函数需要被补丁函数替换,而会多处不一样。补丁主表位置通过多条私有指令通知原有代码,指令符合原有代码结构要求才会去解析指令,获取补丁主表位置,从而去索引补丁子表然后获取补丁函数内容。这样,即使把攻击代码放在内存中,还需要多条私有指令去触发原有代码去读取补丁内容,从而能够降低补丁代码被恶意修改的可能性,从而使得补丁文件的有效性得以提高。
进一步的,补丁文件的结构包括补丁标志,安全芯片确定补丁文件的结构是否为预设的特定结构,获得确定结果,包括:安全芯片在补丁标志与预设标志信息相同的情况下,确定结果为补丁文件的结构为预设的特定结构。或,在补丁标志与预设标志信息不相同的情况下,确定结果为补丁文件的结构不为预设的特定结构。这样,由于补丁文件的结构难以修改,同时补丁标志包括魔数和补丁版本号,通过魔数和补丁版本号能够判断补丁文件的结构是否被破解,从而能够及时验证补丁文件的有效性。
进一步的,补丁标志包括魔数、补丁版本号和补齐位,预设标志信息包括预设魔数、预设补丁版本号和预设补齐位;安全芯片在魔数、补丁版本号和补齐位与预设魔数、预设补丁版本号和预设补齐位均相同的情况下,确定补丁标志与预设标志信息相同。
进一步的,补丁标志包括魔数、补丁版本号和补齐位,预设标志信息包括预设魔数、预设补丁版本号和预设补齐位;安全芯片在魔数与预设魔数不同的情况下,确定补丁标志与预设标志信息不相同。或,安全芯片在补丁版本号与预设补丁版本号不同的情况下,确定补丁标志与预设标志信息不相同。或,安全芯片在补齐位与预设补齐位不同的情况下,确定补丁标志与预设标志信息不相同。
进一步的,安全芯片对补丁密文指令进行解密,获得补丁文件,包括:安全芯片获取预设的可信服务器发送的对称密钥。利用对称密钥对补丁密文指令进行解密,获得明文数据。明文数据包括补丁文件、补丁签名和补丁命令校验值。
在一些实施例中,可信服务器通过以下方式获取对称密钥:获取根密钥和软件版本等信息,根据预设的加密算法利用根密钥和软件版本号信息获得对称密钥。其中,预设的加密算法为AES(Advanced Encryption Standard,高级加密标准)对称加密算法。这样,用于解密的源码程序通过对发布时写进代码区的根密钥与软件版本号信息进行计算得到,没有传输对称密钥的过程,第三方难以获得对称密钥,因此能够提高数据传输的安全性。
进一步的,安全芯片将补丁文件写入安全芯片,包括:安全芯片对补丁签名进行验证。在补丁签名验证通过的情况下,对明文数据进行循环冗余校验计算,获得循环冗余校验值。将循环冗余校验值与补丁命令校验值进行比较。在循环冗余校验值与补丁命令校验值相同的情况下,将补丁文件写入安全芯片。这样,不仅通过使用特定结构的补丁文件来进行补丁内容的传输,还增加签名数据,能够进一步的对补丁文件的有效性进行保障。同时,通过比较循环冗余校验值,能够防止在操作过程中的信号干扰导致数据翻转带来的比特数据错误。
在一些实施例中,在补丁签名验证未通过的情况下,确定补丁文件被恶意串改。
进一步的,安全芯片在补丁签名验证通过的情况下,对明文数据进行循环冗余校验计算,获得循环冗余校验值,包括:安全芯片利用预设的CRC(Cyclic Redundancy Check,循环冗余校验)校验算法对明文数据进行计算,获得循环冗余校验值。
在一些实施例中,补丁命令校验值设置在补丁密文指令的结尾。
可选地,安全芯片在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片后,还包括:安全芯片接收补丁升级结束命令,按照补丁主表和补丁子表执行补丁代码。这样,通过在所有补丁文件写入完成后,执行对应的补丁代码,能够实现对安全芯片的升级更新。
在一些实施例中,补丁密文指令中还包括补丁存放物理地址,补丁主表地址等内容。通过对补丁密文指令进行解析,获得补丁存放物理地址,从而实现将补丁文件写入对应的补丁存放物理地址中。在经过多条补丁密文指令后,补丁文件的数据全部存放在对应位置,此时再发送补丁升级结束命令,安全芯片确认补丁文件已经完全发送完。使能补丁使能位,在下次执行被打补丁函数时,则会根据补丁注册表指向内容,执行补丁代码。
结合图2所示,本公开实施例提供一种用于写补丁的方法,应用于补丁生成方侧,该方法包括:
步骤S201,补丁生成方获取补丁文件、补丁命令校验值、补丁命令签名、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥。
步骤S202,补丁生成方根据预设的加密算法利用根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥。
步骤S203,补丁生成方利用对称加密密钥对补丁文件、补丁命令校验值和补丁命令签名进行加密,获得补丁密文指令。
步骤S204,补丁生成方将补丁密文指令发送给安全芯片,触发安全芯片进行补丁升级。
采用本公开实施例提供的用于写补丁的方法,通过获取补丁文件、补丁命令校验值、补丁命令签名、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥。根据预设的加密算法利用根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥。利用对称加密密钥对补丁文件、补丁命令校验值和补丁命令签名进行加密,获得补丁密文指令。将补丁密文指令发送给安全芯片,触发安全芯片进行补丁升级。这样,通过利用对称加密算法对补丁文件进行加密,不容易泄露补丁内容以及补丁签名。从而能够提高补丁文件的有效性。
可选地,补丁生成方为用于提供补丁文件的电子设备,例如计算机或服务器。
在一些实施例中,电子设备通过以下方式提供补丁文件:获取用户编写好的补丁文件,在接收到安全芯片反馈的身份信息验证通过的情况下,将补丁文件推送给安全芯片。或,将补丁文件的下载地址发送给安全芯片,以供安全芯片进行下载。
在一些实施例中,预设的加密算法为AES对称加密算法中的CBC(Cipher BlockChaining,密码分组链接模式)。软件版本号信息包括主版本号、子版本号、修订版本号和补丁版本号。生产信息数据包括补丁代码编译时间。
在一些实施例中,通过AES对称加密算法利用可信服务器提供的根密钥与安全芯片提供的软件版本号信息和生产信息数据进行计算,获得对称加密密钥。对称加密密钥的长度为16字节,加密过程使用内部补丁工具进行加密。
进一步的,补丁生成方将补丁密文指令发送给安全芯片,触发安全芯片进行补丁升级,包括:补丁生成方发送补丁升级请求命令给安全芯片,触发安全芯片进行身份验证,并反馈验证结果。获取安全芯片反馈的验证结果。在验证结果为验证通过的情况下,将补丁密文指令发送给安全芯片,触发安全芯片进行补丁升级。这样,通过对补丁升级请求命令的请求方进行身份验证,能够判断对方是否为可信特权用户,在对方为可信特权用户的情况下才会初始化生成需要使用的对称加密密钥,这样能够提高数据安全性。
结合图3所示,本公开实施例提供一种用于写补丁的系统,包括:安全芯片1和补丁生成方2。安全芯片1被配置为接收补丁密文指令;对补丁密文指令进行解密,获得补丁文件;确定补丁文件的结构是否为预设的特定结构,获得确定结果;在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片。补丁生成方2被配置为获取补丁文件、补丁命令校验值、补丁命令签名、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥;根据预设的加密算法利用根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥;利用对称加密密钥对补丁文件、补丁命令校验值和补丁命令签名进行加密,获得补丁密文指令;将补丁密文指令发送给安全芯片,触发安全芯片进行补丁升级。
采用本公开实施例提供的用于写补丁的系统,通过补丁生成方在发布补丁版本的时候,不泄露补丁文件、补丁签名和补丁文件的特定结构,安全芯片在写入补丁文件前,通过先判断改结构是否有效再确定是否写入补丁文件。由于在没有源码的工程文件的条件下,补丁文件的结构很难被破解,并且补丁文件及补丁签名采用密文模式下载,能够提高补丁文件的有效性。
结合图4所示,本公开实施例提供一种用于写补丁的方法,包括:
步骤S401,补丁生成方获取补丁文件、补丁命令校验值、补丁命令签名、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥。
步骤S402,补丁生成方根据预设的加密算法利用根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥。
步骤S403,补丁生成方利用对称加密密钥对补丁文件、补丁命令校验值和补丁命令签名进行加密,获得补丁密文指令。
步骤S404,补丁生成方发送补丁升级指令给安全芯片。
步骤S405,安全芯片进行身份验证,并反馈验证结果。
步骤S406,补丁生成方在验证结果为验证通过的情况下,将补丁密文指令发送给安全芯片,触发安全芯片进行补丁升级。
步骤S407,安全芯片接收补丁密文指令。
步骤S408,安全芯片对补丁密文指令进行解密,获得补丁文件。
步骤S409,安全芯片确定补丁文件的结构是否为预设的特定结构,获得确定结果。
步骤S410,安全芯片在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片。
采用本公开实施例提供的用于写补丁的方法,补丁生成方通过使用特定结构的补丁文件来进行补丁内容的传输,安全芯片在写入补丁文件前,通过先判断改结构文件、补丁签名是否有效再确定是否写入补丁文件。在没有源码的工程文件的条件下,补丁文件的结构难以被破解。不仅使用了特定结构的补丁文件,并且也增加补丁签名,同时利用对称加密技术对补丁文件进行加密。从而能够降低补丁代码被恶意修改的可能性,从而使得补丁文件的有效性得以提高。
结合图5所示,本公开实施例提供一种电子设备500,该电子设备包括第一处理器(processor)504和第一存储器(memory)501。可选地,该电子设备还可以包括第一通信接口(Communication Interface)502和第一总线503。其中,第一处理器504、第一通信接口502、第一存储器501可以通过第一总线503完成相互间的通信。第一通信接口502可以用于信息传输。第一处理器504可以调用第一存储器501中的逻辑指令,以执行上述实施例的用于写补丁的方法。
采用本公开实施例提供的电子设备,通过接收补丁密文指令;对补丁密文指令进行解密,获得补丁文件。确定补丁文件的结构是否为预设的特定结构,获得确定结果。在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片。这样,通过使用特定结构的补丁文件来进行补丁内容的传输,在没有源码的工程文件的条件下,补丁文件的结构难以被破解。从而能够降低补丁代码被恶意修改的可能性,从而使得补丁文件的有效性得以提高。
此外,上述的第一存储器501中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
第一存储器501作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。第一处理器504通过运行存储在第一存储器501中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于写补丁的方法。
第一存储器501可包括存储程序区和存储数据区,其中,存储程序区可存储操作至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,第一存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器。
可选地,该包含有第一存储器和第一处理器的电子设备为设置有安全芯片的计算机或服务器。
结合图6所示,本公开实施例提供一种电子设备600,该电子设备包括第二处理器(processor)604和第二存储器(memory)601。可选地,该电子设备还可以包括第二通信接口(Communication Interface)602和第二总线603。其中,第二处理器604、第二通信接口602、第二存储器601可以通过第二总线603完成相互间的通信。第二通信接口602可以用于信息传输。第二处理器604可以调用第二存储器601中的逻辑指令,以执行上述实施例的用于写补丁的方法。
采用本公开实施例提供的电子设备,通过获取补丁内容、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥。根据预设的加密算法利用根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥。利用对称加密密钥对补丁内容进行加密,获得补丁文件。将补丁文件发送给安全芯片,触发安全芯片对补丁文件进行写入。这样,通过使用对称加密技术对补丁文件进行加密,不容易泄露补丁内容以及签名内容。从而能够提高补丁文件的有效性。
此外,上述的第二存储器601中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
第二存储器601作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。第二处理器604通过运行存储在第二存储器601中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于写补丁的方法。
第二存储器601可包括存储程序区和存储数据区,其中,存储程序区可存储操作至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,第二存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器。
可选地,该包含有第二存储器和第二处理器的电子设备为用于提供补丁文件的计算机或服务器。
采用本公开实施例提供的电子设备,通过接收补丁密文指令;对补丁密文指令进行解密,获得补丁文件。确定补丁文件的结构是否为预设的特定结构,获得确定结果。在确定结果为补丁文件的结构为预设的特定结构的情况下,将补丁文件写入安全芯片。这样,通过使用特定结构的补丁文件来进行补丁内容的传输,在没有源码的工程文件的条件下,补丁文件的结构难以被破解。从而能够降低补丁代码被恶意修改的可能性,从而使得补丁文件的有效性得以提高。
本公开实施例提供了一种存储介质,存储有程序指令,程序指令在运行时,执行上述用于写补丁的方法。
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于写补丁的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于写补丁的方法,其特征在于,应用于安全芯片侧,所述方法包括:
接收补丁密文指令;
对所述补丁密文指令进行解密,获得补丁文件;
确定所述补丁文件的结构是否为预设的特定结构,获得确定结果;
在所述确定结果为所述补丁文件的结构为预设的特定结构的情况下,将所述补丁文件写入安全芯片。
2.根据权利要求1所述的方法,其特征在于,所述补丁文件的结构包括补丁标志,确定所述补丁文件的结构是否为预设的特定结构,获得确定结果,包括:
在所述补丁标志与预设标志信息相同的情况下,确定结果为所述补丁文件的结构为预设的特定结构;和/或,
在所述补丁标志与预设标志信息不相同的情况下,确定结果为所述补丁文件的结构不为预设的特定结构。
3.根据权利要求1所述的方法,其特征在于,对所述补丁密文指令进行解密,获得补丁文件,包括:
获取预设的可信服务器发送的对称密钥;
利用所述对称密钥对所述补丁密文指令进行解密,获得明文数据;所述明文数据包括补丁文件、补丁签名和补丁命令校验值。
4.根据权利要求3所述的方法,其特征在于,将所述补丁文件写入安全芯片,包括:
对所述补丁签名进行验证;
在补丁签名验证通过的情况下,对所述明文数据进行循环冗余校验计算,获得循环冗余校验值;
将所述循环冗余校验值与所述补丁命令校验值进行比较;
在所述循环冗余校验值与所述补丁命令校验值相同的情况下,将所述补丁文件写入安全芯片。
5.一种用于写补丁的方法,其特征在于,应用于补丁生成方侧,所述方法包括:
获取补丁文件、补丁命令校验值、补丁命令签名、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥;
根据预设的加密算法利用所述根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥;
利用所述对称加密密钥对所述补丁文件、所述补丁命令校验值和所述补丁命令签名进行加密,获得补丁密文指令;
将所述补丁密文指令发送给安全芯片,触发所述安全芯片进行补丁升级。
6.根据权利要求5所述的方法,其特征在于,将所述补丁密文指令发送给安全芯片,触发所述安全芯片进行补丁升级,包括:
发送补丁升级请求命令给所述安全芯片,触发所述安全芯片进行身份验证,并反馈验证结果;
获取所述安全芯片反馈的验证结果;
在所述验证结果为验证通过的情况下,将所述补丁密文指令发送给安全芯片,触发所述安全芯片进行补丁升级。
7.一种用于写补丁的系统,其特征在于,包括:
安全芯片,被配置为接收补丁密文指令;对所述补丁密文指令进行解密,获得补丁文件;确定所述补丁文件的结构是否为预设的特定结构,获得确定结果;在所述确定结果为所述补丁文件的结构为预设的特定结构的情况下,将所述补丁文件写入安全芯片;
补丁生成方,被配置为获取补丁文件、补丁命令校验值、补丁命令签名、软件版本号信息、生产信息数据和预设的可信服务器发送的根密钥;根据预设的加密算法利用所述根密钥、软件版本号信息和生产信息数据进行计算,获得对称加密密钥;利用所述对称加密密钥对所述补丁文件、所述补丁命令校验值和所述补丁命令签名进行加密,获得补丁密文指令;将所述补丁密文指令发送给安全芯片,触发所述安全芯片进行补丁升级。
8.一种电子设备,包括第一处理器和存储有程序指令的第一存储器,其特征在于,所述第一处理器被配置为在运行所述程序指令时,执行如权利要求1至4任一项所述的用于写补丁的方法。
9.一种电子设备,包括第二处理器和存储有程序指令的第二存储器,其特征在于,所述第二处理器被配置为在运行所述程序指令时,执行如权利要求5至6任一项所述的用于写补丁的方法。
10.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至6任一项所述的用于写补丁的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310354989.5A CN116070219B (zh) | 2023-04-06 | 2023-04-06 | 用于写补丁的方法及系统、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310354989.5A CN116070219B (zh) | 2023-04-06 | 2023-04-06 | 用于写补丁的方法及系统、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116070219A true CN116070219A (zh) | 2023-05-05 |
CN116070219B CN116070219B (zh) | 2023-07-25 |
Family
ID=86175323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310354989.5A Active CN116070219B (zh) | 2023-04-06 | 2023-04-06 | 用于写补丁的方法及系统、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116070219B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113064A1 (en) * | 2005-11-17 | 2007-05-17 | Longyin Wei | Method and system for secure code patching |
CN104468563A (zh) * | 2014-12-03 | 2015-03-25 | 北京奇虎科技有限公司 | 网站漏洞防护方法、装置及系统 |
CN104615947A (zh) * | 2015-02-02 | 2015-05-13 | 中国科学院软件研究所 | 一种可信的数据库完整性保护方法及系统 |
CN107315619A (zh) * | 2017-07-12 | 2017-11-03 | 北京理工大学 | 一种实现补丁安全的热修复方法、移动终端及热修复系统 |
CN109753793A (zh) * | 2017-11-07 | 2019-05-14 | 华为终端(东莞)有限公司 | 一种热补丁方法及热补丁装置 |
CN112202565A (zh) * | 2020-09-21 | 2021-01-08 | 中国电子科技网络信息安全有限公司 | 一种区块链系统密码补丁插件实现方法 |
CN112685071A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 应用程序修复方法、装置、设备及存储介质 |
US20220014387A1 (en) * | 2018-11-21 | 2022-01-13 | Thales Dis France Sa | Circuit chip and a method of operating it |
-
2023
- 2023-04-06 CN CN202310354989.5A patent/CN116070219B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113064A1 (en) * | 2005-11-17 | 2007-05-17 | Longyin Wei | Method and system for secure code patching |
CN104468563A (zh) * | 2014-12-03 | 2015-03-25 | 北京奇虎科技有限公司 | 网站漏洞防护方法、装置及系统 |
CN104615947A (zh) * | 2015-02-02 | 2015-05-13 | 中国科学院软件研究所 | 一种可信的数据库完整性保护方法及系统 |
CN107315619A (zh) * | 2017-07-12 | 2017-11-03 | 北京理工大学 | 一种实现补丁安全的热修复方法、移动终端及热修复系统 |
CN109753793A (zh) * | 2017-11-07 | 2019-05-14 | 华为终端(东莞)有限公司 | 一种热补丁方法及热补丁装置 |
US20220014387A1 (en) * | 2018-11-21 | 2022-01-13 | Thales Dis France Sa | Circuit chip and a method of operating it |
CN112202565A (zh) * | 2020-09-21 | 2021-01-08 | 中国电子科技网络信息安全有限公司 | 一种区块链系统密码补丁插件实现方法 |
CN112685071A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 应用程序修复方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116070219B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11218299B2 (en) | Software encryption | |
US8660964B2 (en) | Secure device licensing | |
CN112187544B (zh) | 固件升级方法、装置、计算机设备及存储介质 | |
CN104318135B (zh) | 一种基于可信执行环境的Java代码安全动态载入方法 | |
US20200134173A1 (en) | Software integrity checking systems and methods | |
US20140351583A1 (en) | Method of implementing a right over a content | |
CN111611593A (zh) | 安全数据处理设备 | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
US20230325516A1 (en) | Method for file encryption, terminal, electronic device and computer-readable storage medium | |
KR20110093468A (ko) | 사용자 단말 장치, 서버 및 그 제어 방법 | |
KR101910826B1 (ko) | 사물인터넷 디바이스의 보안 방법 및 장치 | |
CN112346759A (zh) | 一种固件升级方法、装置及计算机可读存储介质 | |
KR101473656B1 (ko) | 모바일 데이터 보안 장치 및 방법 | |
CN107918739B (zh) | 一种数据的保护方法、装置及存储介质 | |
US10628561B2 (en) | Technique for enabling nominal flow of an executable file | |
CN116070219B (zh) | 用于写补丁的方法及系统、电子设备、存储介质 | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
CN116010909A (zh) | 加密装置处理方法、数据处理方法、装置、设备及介质 | |
CN111506915A (zh) | 授权访问的控制方法、装置和系统 | |
CN109284622A (zh) | 联系人信息处理方法、装置及存储介质 | |
CN109872136B (zh) | 隔离数字钱包的升级方法、系统、冷钱包、热钱包 | |
KR101906484B1 (ko) | 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템 | |
KR101054075B1 (ko) | 보호키 사용 제한 방법 및 장치 | |
CN117216813B (zh) | 用于读写数据的方法、装置和安全芯片 | |
US20240184900A1 (en) | System and method for providing protected data storage in data memory |
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 |