CN115577371A - 固件处理方法、装置及平台 - Google Patents
固件处理方法、装置及平台 Download PDFInfo
- Publication number
- CN115577371A CN115577371A CN202211185502.7A CN202211185502A CN115577371A CN 115577371 A CN115577371 A CN 115577371A CN 202211185502 A CN202211185502 A CN 202211185502A CN 115577371 A CN115577371 A CN 115577371A
- Authority
- CN
- China
- Prior art keywords
- firmware
- processing
- processed
- template
- safety
- 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
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/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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及信息安全技术领域,提供一种固件处理方法、装置及平台。方法包括:获取待处理固件;基于所述待处理固件的芯片类型,确定预设的固件处理模板;基于所述预设的固件处理模板对所述待处理固件进行安全处理,得到安全处理后的目标固件。本发明支持对固件进行自动化的安全处理,无需对不同类型的芯片的固件分别编写安全处理程序,只需要通过预设的固件处理模板确定待处理固件的固件参数和固件处理程序,即可实现安全处理,减少开发成本。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及固件处理方法、装置及平台。
背景技术
现代芯片中通常设计了固件加密或者签名的安全处理功能,用于防止固件内容泄密或者非法固件的运行。通常需要在固件烧录到芯片之前,对固件进行加密和签名,这个过程通常在线下完成,然后将处理好的固件烧录到芯片中。当芯片上电启动时,会对固件代码进行解密或签名验证,只有能成功解密或签名验证通过的固件会被芯片调用执行。
传统的固件加密和签名做法是将方法集成到固件处理平台或***中,由于芯片的使用方可能会使用多家芯片制造商的芯片,不同芯片制造商的芯片加密或签名方案是不同的。因此,当对不同芯片厂商的芯片实现加密和签名时,需要适配不同芯片的固件加密、签名要求,这就要求平台或***开发人员新增适配不同芯片厂商的不同功能。这种固件处理方法不利于快速支持,同时还会提高整个平台或***的开发资金或时间成本。
发明内容
本发明旨在至少解决相关技术中存在的技术问题之一。为此,本发明提出一种固件处理方法,支持对固件进行自动化的安全处理,无需对不同类型的芯片的固件分别编写安全处理程序,只需要通过预设的固件处理模板确定待处理固件的固件参数和固件处理程序,即可实现安全处理,减少开发成本。
本发明还提出一种固件处理装置。
本发明还提出一种固件处理平台。
本发明还提出一种电子设备。
本发明还提出一种计算机可读存储介质。
本发明还提出一种计算机程序产品。
根据本发明第一方面实施例的固件处理方法,包括:
获取待处理固件;
基于所述待处理固件的芯片类型,确定预设的固件处理模板;
基于所述预设的固件处理模板对所述待处理固件进行安全处理,得到安全处理后的目标固件;
其中,所述预设的固件处理模板包括固件参数和固件处理程序,所述固件参数包括所述待处理固件的多种安全处理类型,所述固件处理程序包括所述待处理固件的多种安全处理算法。
根据本发明实施例的固件处理方法,在获取了待处理固件之后,根据待处理固件的芯片类型,可以确定一个与之匹配的预设的固件处理模板,然后根据固件处理模板对待处理固件进行安全处理。由于待处理固件的固件参数和固件处理程序都在固件处理模板中集成,因此,无需对针对不同的待处理固件开发不同的安全处理算法,实现用较低的成本就可以扩展支持任意类型的芯片,减少开发成本。
根据本发明的一个实施例,所述基于预设的固件处理模板对所述待处理固件进行安全处理,包括:
基于用户安全需求和所述固件参数,确定所述待处理固件的目标安全处理类型;
基于所述用户安全需求和所述固件处理程序,确定所述待处理固件的目标安全处理算法;
采用所述目标安全处理算法,对所述待处理固件进行所述目标安全处理类型的安全处理。
根据本发明的一个实施例,所述安全处理类型包括加密处理和/或签名处理。
根据本发明的一个实施例,所述固件参数还包括所述待处理固件进行所述安全处理的范围。
根据本发明的一个实施例,所述得到安全处理后的目标固件之前,还包括:
对所述待处理固件的提交权限进行验证;
基于所述待处理固件的提交权限的验证通过结果,得到安全处理后的目标固件。
根据本发明的一个实施例,建立所述固件处理模板,包括:
获取不同芯片的来源信息;
基于所述不同芯片的来源信息,确定不同芯片的固件参数和不同芯片的固件处理程序;
基于所述不同芯片的固件参数和不同芯片的固件处理程序,确定固件处理模板。
根据本发明第二方面实施例的固件处理装置,包括:
采集模块,用于获取待处理固件;
分类模块,用于基于所述待处理固件的芯片类型,确定预设的固件处理模板;
安全处理模块,用于基于预设的固件处理模板对所述待处理固件进行安全处理,得到安全处理后的目标固件;
其中,所述预设的固件处理模板包括固件参数和固件处理程序,所述固件参数包括所述待处理固件的多种安全处理类型,所述固件处理程序包括所述待处理固件的多种安全处理算法。
根据本发明实施例的固件处理装置,采集模块在获取了待处理固件之后,分类模块根据待处理固件的芯片类型,可以确定一个与之匹配的预设的固件处理模板,安全处理模块然后根据固件处理模板对待处理固件进行安全处理。由于待处理固件的固件参数和固件处理程序都在固件处理模板中集成,因此,无需对针对不同的待处理固件开发不同的安全处理算法,实现用较低的成本就可以扩展支持任意类型的芯片,减少开发成本。
根据本发明第三方面实施例的固件处理平台,包括:
固件文件上传及下载模块,用于上传待处理固件文件,还用于下载所述固件处理作业功能模块进行安全处理后的目标固件文件;
固件处理程序管理模块,用于上传所述待处理固件的固件处理程序;
固件处理模板管理模块,用于建立所述待处理固件的固件处理模板,所述待处理固件的固件处理模板包括所述待处理固件的固件参数和所述待处理固件的固件处理程序;
固件处理作业功能模块,用于基于所述待处理固件的固件处理模板对所述待处理固件文件进行安全处理。
根据本发明实施例的固件处理平台,通过设置固件处理程序管理模块,支持用户上传固件处理程序的功能,能够不改动固件处理平台的情况下,实现对不同厂商和不同芯片待处理固件的安全处理。本发明实施例的固件处理平台开发完毕后,只需要上传不同的固件处理程序,就可以以较低的成本扩展支持任意类型的芯片,减少了开发成本。通过设置固件处理模板管理模块,可以针对不同的待处理固件构建不同的模板。通过固件处理作业功能模块,仅靠调用模板,就可以实现对不同厂商和不同芯片的安全处理,避免开发多个平台或者需要对平台进行改动,在平台上不断重新开发新的功能来支持不同厂商和不同芯片的安全处理。
根据本发明第四方面实施例的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述固件处理方法的步骤。
根据本发明第五方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述固件处理方法的步骤。
根据本发明第六方面实施例的计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述固件处理方法的步骤。
本发明实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:用户选择目标安全处理类型后,调用加密处理和/或签名处理相应的安全处理程序,由对应的处理程序对固件内容进行安全处理,无需额外建立新的处理算法。
进一步的,得到安全处理后的目标固件之前,进行权限审核,有助于提高固件处理的安全性,使得有权限的用户才能下载加密和/或签名后的固件。
更进一步的,预设的固件处理模板是基于各种不同类型的芯片建立的,对于任意一种待处理固件,都可以通过固件处理模板这种方式便捷地执行固件加密和签名,而不需要为不同的芯片重新开发新的功能。
再进一步的,本发明有效利用不同类型芯片的来源信息,将其中包括的芯片的固件参数和固件处理程序记录成固件处理模板,实现安全处理的快速执行。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的固件处理方法的流程示意图;
图2是本发明实施例提供的固件处理装置的结构示意图;
图3是本发明实施例提供的固件处理***的结构示意图;
图4是本发明实施例提供的固件处理平台的结构示意图之一;
图5是本发明实施例提供的固件处理平台的结构示意图之二;
图6是本发明实施例提供的平台交互过程示意图;
图7是本发明实施例提供的***管理员部署平台流程示意图;
图8是本发明实施例提供的应用管理员新建固件处理模板的流程示意图;
图9是本发明实施例提供的普通业务员对固件进行安全处理的流程示意图;
图10是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
为了方便芯片程序开发人员对不同芯片的固件进行方便的安全处理,传统的做法是将固件的安全处理方案集成到固件处理程序中,包括PC软件方案和Web***方案。
PC软件方案的典型使用过程包括:(1)打开软件;(2)用软件选择待处理固件或将待处理固件放在特定目录;(3)配置加密密钥和签名私钥(若支持提前配置,则可不用再次配置);(4)点击处理按钮;(5)处理完毕,去特定目录查看处理后的固件或者将处理后的固件另存。
Web***方案的典型使用过程包括:(1)打开***,使用账户和密码登录此***;(2)选择并上传待处理固件;(3)配置加密密钥和签名私钥(若支持提前配置,则可不用再次配置);(4)点击处理按钮;(5)处理完毕,下载处理后的固件。
但是这些方案通常会存在如下问题,固件处理的软件和***通常只支持某个特定芯片制造商的一款或几款芯片。如果需要支持同一个或不同芯片厂商的、使用不同加密/签名方案的芯片,通常需要重新为PC软件或Web***开发新的代码或增加新的功能模块后才能支持,这需要更新PC软件或者Web***,对实际使用这些***的用户来说需要等待增加新功能,使用体验并不友好,并且会增加开发成本。
因此,传统的固件安全处理做法是将固件的安全处理方案集成到固件处理程序中,当需要新增对其他芯片厂商的芯片的支持时,需要改写程序新增功能,不利于快速支持。为了解决这个问题,本发明实施例提供了一种固件处理方法。下面结合附图和实施例对本申请的实施方式作进一步详细描述。以下实施例用于说明本申请,但不能用来限制本申请的范围。
如图1所示,本实施例的固件处理方法至少包括如下步骤:
步骤101、获取待处理固件;
步骤102、基于待处理固件的芯片类型,确定预设的固件处理模板;
步骤103、基于预设的固件处理模板对待处理固件进行安全处理,得到安全处理后的目标固件;
其中,预设的固件处理模板包括固件参数和固件处理程序,固件参数包括待处理固件的多种安全处理类型,固件处理程序包括待处理固件的多种安全处理算法。
针对步骤101,需要说明的是,本发明实施例的固件处理方法执行主体可以为用户的终端,或者还包括但不限于手机、平板电脑、pc端、车载终端以及等带有计算机的设备。固件是计算机启动时连接硬件和操作***的底层代码,也是写入可擦写可编程只读存储器或电可擦可编程只读存储器中的程序。在本实施例中,待处理固件是指还未进行安全处理的原始固件。
针对步骤102,需要说明的是,待处理固件的芯片类型是指搭载待处理固件的芯片型号以及厂家名称,针对不同厂家和不同芯片型号的芯片,本发明实施例预设了不同的固件处理模板,以适应各种固件进行安全处理。固件处理模板包括了固件参数和固件处理程序两部分内容。芯片在出厂时,对于其上搭载的固件有规定支持的固件处理程序,也有规定包含的固件参数。固件参数中,安全处理类型用于提供待处理固件可以进行安全处理的种类,固件参数中还包括其他参数,在确定固件处理模板时,同时需要确定其中各种固件参数的名称,类型和取值范围。由于安全处理算法包括多种,例如各种加密算法和签名算法。在确定固件处理模板时,同时需要确定其中支持哪些安全处理算法,同时还可根据需要法确定对应的加密密钥和签名密钥。
针对步骤103,需要说明的是,对待处理固件进行处理时,需要基于预设的固件处理模板,结合待处理固件的内容或者用户的需求选择适合的安全处理类型和安全处理算法后,执行安全处理输出目标固件。目标固件即为完成安全处理的固件,得到目标固件之后可以将其烧录到芯片中,实现相应功能。
本发明实施例的固件处理方法,根据待处理固件的芯片类型,可以在预设的固件处理模板中找到与待处理固件的芯片类型相同的固件处理模板,然后根据固件处理模板对待处理固件进行安全处理。由于待处理固件的固件参数和固件处理程序都在固件处理模板中集成,因此,无需对针对不同的待处理固件开发不同的安全处理算法,用较低的成本就可以扩展支持任意类型的芯片,减少开发成本,方便了芯片程序开发人员对不同芯片的固件进行高效便捷的安全处理。
可以理解的是,基于预设的固件处理模板对待处理固件进行安全处理,包括:
基于用户安全需求和所述固件参数,确定所述待处理固件的目标安全处理类型;
基于所述用户安全需求和所述固件处理程序,确定所述待处理固件的目标安全处理算法;
采用目标安全处理算法,对待处理固件进行目标安全处理类型的安全处理。
需要说明的是,在获得了模板中的固件参数之后,可以根据用户安全需求来选择待处理固件的目标安全处理类型,用户安全需求是指用户对于当前待处理固件的安全性需求程度。例如用户对芯片的安全性要求很高,收发双需要双重验证,且该芯片支持进行多种安全处理类型,则可以选择目标安全处理类型为加密处理和签名处理,即需要对待处理固件既进行加密处理又进行签名处理。也可以根据通过分析固件内容,得到与选择类型相关的关键字来选择类型作为目标安全处理类型。例如,识别得到的固件内容中仅对数据发送方的数据安全性有要求,则可以选择定目标安全处理类型为签名处理,仅对待处理固件执行签名处理对应的签名算法即可得到目标固件。
具体的,采用目标安全处理算法,对待处理固件进行目标安全处理类型的安全处理,包括:
获取待处理固件的固件内容;
采用目标安全处理算法对待处理固件的固件内容进行安全处理;
得到待处理固件在目标安全处理类型下的安全处理结果。
另外,需要说明的是,固件处理程序包括但不限于脚本语言,class文件,库文件,可执行文件等。固件内容即为固件的原始内容,其中记载了固件的所有有效信息,对固件内容进行安全处理就可以实现对固件的安全保护,固件内容通过固件文件的形式保存。
可以理解的是,安全处理类型包括加密处理和/或签名处理。
需要说明的是,签名和加密的过程都是使用公开的密钥***,加密使用的是接受方的密钥对,任何知道接受方公钥的都可以向接受方发送消息,但是只有拥有私钥的才能解密出来;签名使用的是发送方的密钥对,任何接受方都可以用公钥解密,验证数据的正确性。加密保证了接受方的数据安全性。签名保证了数据发送方的数据安全性。
固件处理模板包含的安全处理类型是指对于待处理固件来说,模板支持的安全处理类型包括什么。在安全处理时,选择的目标安全处理类型是指结合用户需求之后,从支持的安全处理类型中选择了什么。例如,一待处理固件的固件处理模板中支持加密处理和签名处理两种安全处理类型。而根据业务员获取的用户需求,仅需对待处理固件进行加密处理,则此时待处理固件的目标安全处理类型为加密处理。在本发明实施例通过设置多种形式组合安全处理类型,为不同类型的芯片灵活的给出了安全处理类型的支持范围。
可以理解的是,固件参数还包括待处理固件的代码偏移值范围。
需要说明的是,偏移值就是指从当前位置为起点,然后再此基础上移动的具体的距离。代码偏移值决定了固件从哪里开始和结束加密,即加密的起止位置。因此,当选定的固件处理模板中的固件加密参数还包括代码偏移值时,基于预设的固件处理模板对待处理固件进行安全处理,包括如下步骤:
基于固件参数,确定待处理固件的目标安全处理类型和目标代码偏移值;
基于固件处理程序,确定待处理固件的目标安全处理算法;
采用目标安全处理算法,对待处理固件进行基于目标代码偏移值进行目标安全处理类型的安全处理。
通过上述步骤,在进行安全处理时,可以实现选定代码偏移值范围,精确地给出代码安全处理的位置。
可以理解的是,得到安全处理后的目标固件之前,还包括:
对所述待处理固件的提交权限进行验证;
基于所述待处理固件的提交权限的验证通过结果,得到安全处理后的目标固件。
需要说明的是,提交权限为提交待处理固件的用户的权限,提交用户可以划分不同的用户角色并制定不同的权限。例如,提交权限可以包括管理员权限和业务员权限,管理员权限可以配置所有固件处理模板以及上传固件处理程序,管理员权限的权限验证结果为通过,提交权限为管理员权限时提交用户可以直接获得安全处理后的目标固件。而当提交权限为业务员权限时,需要对当前待处理固件的安全处理结果向管理员权限的用户提出审批,审批通过后,则确定待处理固件的业务员权限验证通过,提交用户此时可以获得安全处理后的目标固件。
本发明实施例的固件处理方法,通过设置验证待处理固件的提交权限,没有得到批准的人员无法知道加密密钥和签名密钥的内容,因此,可以防止这些密钥泄露或滥用,进一步防止无权限用户下载安全处理后的目标固件。保障了固件的安全性。
可以理解的是,建立固件处理模板,包括:
获取不同类型芯片的来源信息;
基于不同类型芯片的来源信息,确定不同类型芯片的固件参数和不同类型芯片的固件处理程序;
基于不同类型芯片的固件参数和不同类型芯片的固件处理程序,确定多种固件处理模板。
需要说明的是,不同类型芯片的来源信息可以为芯片型号、厂家名称等,对于每一种厂家的每一种芯片,需要先选择是否支持加密以及是否支持签名,选择备选的加密算法和签名算法并填写相应的加密密钥或签名密钥。然后需要配置其它参数的名称、类型和取值范围等,其他参数为与加密或签名操作相关的参数,如代码偏移值。然后基于芯片来源信息中的记载,获取该芯片的固件处理程序,建立好固件处理模板。建立固件处理模板的过程适用于所有的芯片,构建好的固件处理模板的实质是针对不同芯片的固件处理模板实例
下面对本发明提供的固件处理装置进行描述,下文描述的固件处理装置与上文描述的固件处理方法可相互对应参照。如图2所示,本发明实施例还公开了一种固件处理装置,包括:
采集模块201,用于获取待处理固件;
分类模块202,用于基于待处理固件的芯片类型,确定预设的固件处理模板;
安全处理模块203,用于基于预设的固件处理模板对待处理固件进行安全处理,得到安全处理后的目标固件;
其中,预设的固件处理模板包括固件参数和固件处理程序,固件参数包括待处理固件的多种安全处理类型,固件处理程序包括待处理固件的多种安全处理算法。
本发明实施例的固件处理装置中,采集模块在获取了待处理固件之后,分类模块根据待处理固件的芯片类型,可以在预设的固件处理模板中找到与待处理固件的芯片类型相同的固件处理模板,安全处理模块然后根据固件处理模板对待处理固件进行安全处理。由于待处理固件的固件参数和固件处理程序都在固件处理模板中集成,因此,无需对针对不同的待处理固件开发不同的安全处理算法,实现用较低的成本就可以扩展支持任意类型的芯片,减少开发成本。
可以理解的是,安全处理模块203,包括:
基于用户安全需求和所述固件参数,确定所述待处理固件的目标安全处理类型;
基于所述用户安全需求和所述固件处理程序,确定所述待处理固件的目标安全处理算法;
采用目标安全处理算法,对待处理固件进行目标安全处理类型的安全处理。
可以理解的是,安全处理类型包括加密处理和/或签名处理。
可以理解的是,固件参数还包括待处理固件的代码偏移值范围。
可以理解的是,得到安全处理后的目标固件之前,还包括:
对所述待处理固件的提交权限进行验证;
基于所述待处理固件的提交权限的验证通过结果,得到安全处理后的目标固件。
可以理解的是,建立固件处理模板,包括:
获取不同类型芯片的来源信息;
基于不同类型芯片的来源信息,确定不同类型芯片的固件参数和不同类型芯片的固件处理程序;
基于不同类型芯片的固件参数和不同类型芯片的固件处理程序,确定多种固件处理模板。
本发明实施例还公开了一种固件处理***,上文描述的固件处理方法可以应用于下文描述的固件处理***中。如图3所示,***包括:固件处理平台301、密码机或密码卡302和数据库303;
密码机或密码卡302用于产生主密钥或根密钥,用于在数据库中加密保存重要数据,例如,加密密钥、签名密钥、固件内容文件等。
数据库303用于保存此固件处理***的各种其他数据,其中重要的数据需通过密码机或密码卡302加密保存。
固件处理平台301可以是各种形式,例如Web***、PC软件或手机APP等。用于支持用户上传固件处理程序,用于方便的支持不同型号芯片的固件安全处理。
本发明实施例的固件处理***,处理新的芯片时,只需上传对应的固件处理程序,而不需要对平台或***进行更改。当需要对固件进行加密和/或签名时,平台或***调用相应固件处理程序即可。其中固件处理程序使用平台或***提供的应用程序界面(Application Program Interface,API)与之进行交互。
本发明实施例还公开了一种固件处理平台,如图4所示,包括:
固件文件上传及下载模块405,用于上传待处理固件文件,还用于下载所述固件处理作业功能模块进行安全处理后的目标固件文件;
固件处理程序管理模块403,用于上传所述待处理固件的固件处理程序;
固件处理模板管理模块401,用于建立所述待处理固件的固件处理模板,所述待处理固件的固件处理模板包括所述待处理固件的固件参数和所述待处理固件的固件处理程序;
固件处理作业功能模块404,用于基于所述待处理固件的固件处理模板对所述待处理固件文件进行安全处理。
需要说明的是,固件文件上传及下载模块中固件处理程序可以为用户主动上传,也可以为根据芯片来源信息上传。
本发明实施例的固件处理平台,通过设置固件处理程序管理模块,支持用户上传固件处理程序的功能,能够不改动固件处理平台的情况下,实现对不同厂商和不同芯片待处理固件的安全处理。本发明实施例的固件处理平台开发完毕后,只需要上传不同的固件处理程序,就可以以较低的成本扩展支持任意类型的芯片,减少了开发成本。通过设置固件处理模板管理模块,可以针对不同的待处理固件构建不同的模板。通过固件处理作业功能模块,仅靠调用模板,就可以实现对不同厂商和不同芯片的安全处理,避免开发多个平台或者需要对平台进行改动,在平台上不断重新开发新的功能来支持不同厂商和不同芯片的安全处理。
可以理解的是,如图5所示,固件处理平台还包括固件处理界面API402、固件处理平台日志406和用户权限管理模块407。
需要说明的是,固件处理界面API402可供用户上传的固件处理程序调用,完成固件文件的处理。固件处理API需要支持:参数获取,原始固件内容获取,对数据进行加密,对数据进行签名,返回处理后的固件等交互功能。为了支持上传的固件处理程序,设计了固件处理API供用户上传的固件处理程序调用,完成固件文件的处理。用户权限管理模块407可以划分不同的用户角色并制定不同的权限。固件处理平台日志406用于审计哪些固件进行了处理,防止***功能被滥用。
具体的,固件处理程序和固件处理API的交互过程如图6所示,包括如下步骤:
参数获取;
其中,参数包括固件安全处理配置参数,即安全处理类型,例如是否加密是否签名。还包括固件安全处理的其他参数集,例如,代码偏移值。
原始固件内容获取;
对固件内容进行加密,获取加密结果;
对固件内容进行签名,获取签名结果;
固件处理程序返回处理后的固件内容。
另外,需要说明的是,可以理解的是,用户权限管理模块中设定有多种权限,例如,***管理员通常拥有最高权限,可以部署此***,并且初始化数据库、密码机或密码卡。应用管理员(与***管理员为同一人员或不同人员)可以配置固件处理模板并配置固件处理所需的加密密钥和签名密钥,这一角色通常由芯片的使用者,例如设备制造商的特定人员来担任,没有得到批准的人员无法知道加密密钥和签名密钥的内容,可以防止这些密钥泄露或滥用。普通业务员只能使用配置好的模板来提交固件处理作业,它们通常由设备制造商的研发人员担任。可以设计处理作业审批功能,让权限更高的人员例如研发负责人审批后才能执行固件处理作业。
如图7所示,***管理员权限的用户部署***的流程包括:
首先部署固件处理平台,然后部署和配置数据库,最后配置密码机或密码卡。
具体的,固件处理***为Web***的形式下,可以按照图3和图4完成固件处理web***的开发。
如图8所示,应用管理员权限用户新建固件处理模板的流程包括:
登录***;新增固件处理模板,填写模板名称;填写芯片型号,厂商名称;配置安全处理类型参数,包括选择是否支持加密、是否支持签名,然后选择加密算法和签名算法并填写相应的加密密钥或签名密钥;配置其它参数:名称,类型,取值范围等;上传固件处理程序;保存固件处理模板。
如图9所示,普通业务员权限用户对固件进行处理的流程包括:
登录***;新建固件处理作业;选择目标固件处理模板;选择目标安全处理类型:选择是否加密,选择是否签名;填写其他参数;上传固件内容文件;提交作业;等待作业完成;下载处理后的目标固件。
下面给出固件处理***为Web***的形式下,***从开发到使用的流程:
1.根据图3的***架构和图5的平台架构完成固件处理web平台的开发。
2.***管理员完成固件处理web平台的部署。
3.应用管理员新增固件处理模板。可以针对不同芯片类型新建不同名称的固件处理模板,并且上传针对此芯片专用的固件处理程序。
4.普通业务员登录***,使用固件处理模板建立作业,选择或填写参数并上传原始固件文件后可提交作业。当作业运行完毕后,可从***中下载处理后的固件文件。
另外,普通业务员在提交作业后,也可以增加审批程序,令具有审批权限的人员对普通业务员提交的作业进行审批,审批通过后才开始真正执行。
本发明实施例的固件处理***,支持有权限的用户为支持固件加密和固件签名功能的芯片添加上传固件处理程序。固件处理平台提供接口由固件处理程序调用,用于获取固件原始内容,获取特定数据的加密或签名结果,返回处理后的固件内容等。这样可以方便地扩展支持不同芯片的固件加密和签名而不需要为固件处理平台重新开发新的功能。
图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:
获取待处理固件;
基于待处理固件的芯片类型,确定预设的固件处理模板;
基于预设的固件处理模板对待处理固件进行安全处理,得到安全处理后的目标固件;
其中,预设的固件处理模板包括固件参数和固件处理程序,固件参数包括待处理固件的多种安全处理类型,固件处理程序包括待处理固件的多种安全处理算法。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
获取待处理固件;
基于待处理固件的芯片类型,确定预设的固件处理模板;
基于预设的固件处理模板对待处理固件进行安全处理,得到安全处理后的目标固件;
其中,预设的固件处理模板包括固件参数和固件处理程序,固件参数包括待处理固件的多种安全处理类型,固件处理程序包括待处理固件的多种安全处理算法。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:
获取待处理固件;
基于待处理固件的芯片类型,确定预设的固件处理模板;
基于预设的固件处理模板对待处理固件进行安全处理,得到安全处理后的目标固件;
其中,预设的固件处理模板包括固件参数和固件处理程序,固件参数包括待处理固件的多种安全处理类型,固件处理程序包括待处理固件的多种安全处理算法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是,以上实施方式仅用于说明本发明,而非对本发明的限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行各种组合、修改或者等同替换,都不脱离本发明技术方案的精神和范围,均应涵盖在本发明的范围中。
Claims (11)
1.一种固件处理方法,其特征在于,包括:
获取待处理固件;
基于所述待处理固件的芯片类型,确定预设的固件处理模板;
基于所述预设的固件处理模板对所述待处理固件进行安全处理,得到安全处理后的目标固件;
其中,所述预设的固件处理模板包括固件参数和固件处理程序,所述固件参数包括所述待处理固件的多种安全处理类型,所述固件处理程序包括所述待处理固件的多种安全处理算法。
2.根据权利要求1所述的固件处理方法,其特征在于,所述基于预设的固件处理模板对所述待处理固件进行安全处理,包括:
基于用户安全需求和所述固件参数,确定所述待处理固件的目标安全处理类型;
基于所述用户安全需求和所述固件处理程序,确定所述待处理固件的目标安全处理算法;
采用所述目标安全处理算法,对所述待处理固件进行所述目标安全处理类型的安全处理。
3.根据权利要求1或2所述的固件处理方法,其特征在于,所述安全处理类型包括加密处理和/或签名处理。
4.根据权利要求1或2所述的固件处理方法,其特征在于,所述固件参数还包括所述待处理固件进行所述安全处理的范围。
5.根据权利要求1或2所述的固件处理方法,其特征在于,所述得到安全处理后的目标固件之前,还包括:
对所述待处理固件的提交权限进行验证;
基于所述待处理固件的提交权限的验证通过结果,得到安全处理后的目标固件。
6.根据权利要求1或2所述的固件处理方法,其特征在于,建立所述固件处理模板,包括:
获取不同类型芯片的来源信息;
基于所述不同类型芯片的来源信息,确定不同类型芯片的固件参数和不同类型芯片的固件处理程序;
基于所述不同类型芯片的固件参数和不同类型芯片的固件处理程序,确定多种固件处理模板。
7.一种固件处理装置,其特征在于,包括:
采集模块,用于获取待处理固件;
分类模块,用于基于所述待处理固件的芯片类型,确定预设的固件处理模板;
安全处理模块,用于基于预设的固件处理模板对所述待处理固件进行安全处理,得到安全处理后的目标固件;
其中,所述预设的固件处理模板包括固件参数和固件处理程序,所述固件参数包括所述待处理固件的多种安全处理类型,所述固件处理程序包括所述待处理固件的多种安全处理算法。
8.一种固件处理平台,其特征在于,包括:
固件文件上传及下载模块,用于上传待处理固件文件,还用于下载所述固件处理作业功能模块进行安全处理后的目标固件文件;
固件处理程序管理模块,用于上传所述待处理固件的固件处理程序;
固件处理模板管理模块,用于建立所述待处理固件的固件处理模板,所述待处理固件的固件处理模板包括所述待处理固件的固件参数和所述待处理固件的固件处理程序;
固件处理作业功能模块,用于基于所述待处理固件的固件处理模板对所述待处理固件文件进行安全处理。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述固件处理方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述固件处理方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述固件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211185502.7A CN115577371A (zh) | 2022-09-27 | 2022-09-27 | 固件处理方法、装置及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211185502.7A CN115577371A (zh) | 2022-09-27 | 2022-09-27 | 固件处理方法、装置及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115577371A true CN115577371A (zh) | 2023-01-06 |
Family
ID=84582564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211185502.7A Pending CN115577371A (zh) | 2022-09-27 | 2022-09-27 | 固件处理方法、装置及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115577371A (zh) |
-
2022
- 2022-09-27 CN CN202211185502.7A patent/CN115577371A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634619B (zh) | 可信执行环境实现方法及装置、终端设备、可读存储介质 | |
US9766914B2 (en) | System and methods for remote maintenance in an electronic network with multiple clients | |
WO2020093214A1 (zh) | 一种应用程序登录方法、应用程序登录装置及移动终端 | |
JP6009083B2 (ja) | 企業情報管理方針に従ったキー及びデータ交換を伴うセキュアアプリエコシステムを提供する方法、非一過性コンピュータ可読媒体、及びモバイルコンピューティングデバイス | |
JP4668619B2 (ja) | 装置鍵 | |
CN1645288B (zh) | 确保软件更新仅在特定设备或设备类上安装或运行 | |
US8341616B2 (en) | Updating digitally signed active content elements without losing attributes associated with an original signing user | |
CN110555293A (zh) | 用于保护数据的方法、装置、电子设备和计算机可读介质 | |
CN109660353A (zh) | 一种应用程序安装方法及装置 | |
CN107124279B (zh) | 擦除终端数据的方法及装置 | |
CN110633172A (zh) | U盘以及u盘的数据同步方法 | |
CN103119559A (zh) | 信息生成***及其方法 | |
CN113127844A (zh) | 一种变量访问方法、装置、***、设备和介质 | |
CN115509587B (zh) | 固件升级方法、装置、电子设备及计算机可读存储介质 | |
CN111880781A (zh) | 一种rpm安装包的生成方法、装置、设备及存储介质 | |
CN103559430A (zh) | 基于安卓***的应用账号管理方法和装置 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN110196741A (zh) | 基本输入输出***的设置方法、终端及计算机存储介质 | |
CN113761478B (zh) | 一种软件产品的授权方法及装置 | |
CN115688120A (zh) | 安全芯片固件导入方法、安全芯片及计算机可读存储介质 | |
CN115577371A (zh) | 固件处理方法、装置及平台 | |
CN113761538A (zh) | 安全启动文件配置方法、启动方法、装置、设备及介质 | |
CN111814137A (zh) | 终端的运维方法、运维***及存储介质 | |
US11790057B2 (en) | Controlling program execution using an access key | |
US8191150B2 (en) | Method and arrangement relating to a communication device |
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 |