CN116700772A - 固件包制作方法及装置、固件包升级方法及装置、终端 - Google Patents

固件包制作方法及装置、固件包升级方法及装置、终端 Download PDF

Info

Publication number
CN116700772A
CN116700772A CN202210187923.7A CN202210187923A CN116700772A CN 116700772 A CN116700772 A CN 116700772A CN 202210187923 A CN202210187923 A CN 202210187923A CN 116700772 A CN116700772 A CN 116700772A
Authority
CN
China
Prior art keywords
firmware
header information
verification code
generating
package
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
Application number
CN202210187923.7A
Other languages
English (en)
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.)
China Mobile Communications Group Co Ltd
China Mobile IoT Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile IoT 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 China Mobile Communications Group Co Ltd, China Mobile IoT Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202210187923.7A priority Critical patent/CN116700772A/zh
Publication of CN116700772A publication Critical patent/CN116700772A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种固件包制作方法及装置、固件包升级方法及装置、终端,属于无线通信技术领域,所述固件包制作方法包括:根据目标终端的产品序列号和预置密钥,生成第一密钥;根据固件头信息以及预置密钥,生成初始化向量;根据第一密钥和初始化向量,采用AEAD算法对原始固件以及固件头信息进行加密,生成加密固件和消息验证码;根据固件头信息、加密固件以及消息验证码,生成安全固件包。本发明中,采用AEAD算法进行固件加密,只需存储一对预置密钥即可完成加/解密和签名验签功能,固件升级的安全性大大提高,不依赖服务器平台和传输通道来保证固件升级的安全性,并且可以节省终端设备的资源消耗,节省数据库检索和存储消耗。

Description

固件包制作方法及装置、固件包升级方法及装置、终端
技术领域
本发明涉及无线通信技术领域,尤其涉及一种固件包制作方法及装置、固件包升级方法及装置、终端。
背景技术
目前,各种功能的物联网终端设备在各个行业被广泛应用,当物联网终端设备需要进行功能更新或修补漏洞时,涉及到大量同类型的物联网终端设备的无线固件升级,固件的安全升级是物联网终端设备领域不可缺少的部分。
固件升级时,若固件安全等级不够高,则黑客可以解析升级固件包,并编写为恶意固件下载到终端设备中,以控制该终端设备,也可能恶意发送下载请求进行攻击,造成大量的终端设备瘫痪。并且,物联网终端设备的片上资源紧张,导致在安全性和成本问题上难以平衡现有的安全模式,也即是说,在要求较高安全性时,通常需要签名/验签与加密/解密两种方式相结合,常规实现方式为使用对称算法进行加解密,使用非对称算法进行签名验签,这就导致对终端设备资源量的要求提高,需要对称/非对称的算法库和两对密钥。
发明内容
有鉴于此,本发明提供一种固件包制作方法及装置、固件包升级方法及装置、终端,用于解决目前终端设备固件升级过程中,在提高固件安全性时会增加终端资源消耗的问题。
为解决上述技术问题,第一方面,本发明提供一种固件包制作方法,包括:
根据目标终端的产品序列号和预置密钥,生成第一密钥;
根据原始固件生成固件头信息,根据所述固件头信息以及所述预置密钥,生成初始化向量;
根据所述第一密钥和所述初始化向量,采用AEAD算法对所述原始固件以及所述固件头信息进行加密,生成加密固件和消息验证码;
根据所述固件头信息、所述加密固件以及所述消息验证码,生成安全固件包。
可选的,所述固件头信息包括固件版本信息和时间戳,所述根据所述固件头信息以及所述预置密钥,生成初始化向量包括:
根据所述时间戳以及所述预置密钥,生成初始化向量;
其中,所述初始化向量为随机数。
可选的,所述AEAD算法为AES-GCM加密算法。
第二方面,本发明提供一种固件包升级方法,包括:
对安全固件包进行解析,得到固件头信息、加密固件以及消息验证码;
对所述消息验证码以及所述固件头信息进行验证;
若所述消息验证码以及所述固件头信息均验证通过,则采用AEAD算法对所述加密固件进行解密,得到解密后的固件;
采用解密后的固件进行固件升级。
可选的,所述固件头信息包括固件版本信息和时间戳,所述对所述消息验证码以及所述固件头信息进行验证包括:
采用AEAD算法对所述消息验证码进行验证,以及对所述固件版本信息和所述时间戳进行验证。
可选的,所述对所述固件版本信息和所述时间戳进行验证包括:
验证所述固件版本信息是否大于终端的当前版本,以及验证所述时间戳指示的时间是否位于预设时间段内。
可选的,所述对所述消息验证码以及所述固件头信息进行验证之后,还包括:
若所述消息验证码或者所述固件头信息验证不通过,则返回固件升级失败信息和/或删除所述安全固件包。
第三方面,本发明提供一种固件包制作装置,包括:
第一生成模块,用于根据目标终端的产品序列号和预置密钥,生成第一密钥;
第二生成模块,用于根据原始固件生成固件头信息,根据所述固件头信息以及所述预置密钥,生成初始化向量;
第三生成模块,用于采用AEAD算法对所述原始固件以及所述固件头信息进行加密,生成加密固件和消息验证码;
第四生成模块,用于根据所述固件头信息、所述加密固件以及所述消息验证码,生成安全固件包。
可选的,所述固件头信息包括固件版本信息和时间戳,所述第二生成模块包括:
生成单元,用于根据所述时间戳以及所述预置密钥,生成初始化向量;
其中,所述初始化向量为随机数。
可选的,所述AEAD算法为AES-GCM加密算法。
第四方面,本发明提供一种固件包升级装置,其特征在于,包括:
解析模块,用于对安全固件包进行解析,得到固件头信息、加密固件以及消息验证码;
验证模块,用于对所述消息验证码以及所述固件头信息进行验证;
解密模块,用于若所述消息验证码以及所述固件头信息均验证通过,则采用AEAD算法对所述加密固件进行解密,得到解密后的固件;
升级模块,用于采用解密后的固件进行固件升级。
可选的,所述固件头信息包括固件版本信息和时间戳,所述验证模块包括:
验证单元,用于采用AEAD算法对所述消息验证码进行验证,以及对所述固件版本信息和所述时间戳进行验证。
可选的,所述验证单元包括:
验证子单元,用于验证所述固件版本信息是否大于终端的当前版本,以及验证所述时间戳指示的时间是否位于预设时间段内。
可选的,所述装置还包括:
升级失败模块,用于若所述消息验证码或者所述固件头信息验证不通过,则返回固件升级失败信息和/或删除所述安全固件包。
第五方面,本发明还提供一种终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述计算机程序时实现上述任一种固件包升级方法。
第六方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种固件包制作方法中的步骤,或者,该计算机程序被处理器执行时实现上述任一种固件包升级方法中的步骤。
本发明的上述技术方案的有益效果如下:
本发明实施例中,通过采用AEAD算法进行固件加密,只需要存储一对预置密钥即可完成加/解密和签名验签功能,固件升级的安全性大大提高,不依赖服务器平台和传输通道来保证固件升级的安全性,并且可以节省终端设备的资源消耗,节省数据库检索和存储消耗。
附图说明
图1为本发明实施例一提供的一种固件包制作方法的流程示意图;
图2是本发明实施例二提供的一种固件包制作装置的结构示意图;
图3为本发明实施例三提供的一种固件包升级方法的流程示意图;
图4是本发明实施例四提供的一种固件包升级装置的结构示意图;
图5为本发明实施例五中的一种终端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例一提供的一种固件包制作方法的流程示意图,该方法包括以下步骤:
步骤11:根据目标终端的产品序列号和预置密钥,生成第一密钥;
其中,目标终端即制作的固件包所供应的对象,目标终端获取固件包进行固件升级,继而增加相应的功能。目标终端的产品序列号即SN码,Serial Number;而预置密钥即预先烧录存储在目标终端中的密钥。
可选的,在根据目标终端的产品序列号和预置密钥生成第一密钥时,可以采用HKDF算法生成第一密钥,即AEAD密钥,HKDF算法,即HMAC-based KDF(key derivationfunction),基于HMAC的密钥推导函数。AEAD,authenticated encryption withassociated data。
由于一套目标终端只对应一组产品序列号,采用HKDF算法生成第一密钥时,可以实现一机一密,从而即使攻击者破解了单一目标终端的密钥之后,也无法将恶意篡改的固件包应用于其他终端设备。
步骤12:根据原始固件生成固件头信息,根据所述固件头信息以及所述预置密钥,生成初始化向量;
其中,原始固件即未进行加密之前的固件,根据原始固件,可以得到对应的固件头信息,例如,固件头信息可以包括固件版本信息、时间戳等用于描述原始固件的一些相关信息,所谓初始化向量,又称为IV,即initialization vector,该初始化向量为随机数或拟随机(pseudorandom)。使用随机数产生的初始化向量可以达到语义安全(散列函数与消息验证码也有相同要求),并让攻击者难以对同一把密钥的密文进行破解。
由于加密每一数据块的过程中,会使用该初始化向量进行随机化,以保证安全加密的安全性,因此可以避免固件升级过程中固件数据被恶意篡改和恢复,保证了固件数据的保密和完整性认证,保证前向安全和防止重复恶意烧写。
步骤13:根据所述第一密钥和所述初始化向量,采用AEAD算法对所述原始固件以及所述固件头信息进行加密,生成加密固件和消息验证码;
其中,固件头信息可以作为AAD(authenticate_additional_data)信息输入,即附加数据,根据第一密钥和初始化向量,可以采用AEAD算法对原始固件和固件头信息进行加密,生成加密固件和消息验证码。可以知道,在加密过程中,会使用该初始化向量进行随机化,以保证安全加密的安全性,因此可以避免固件升级过程中固件数据被恶意篡改和恢复,保证了固件数据的保密和完整性认证,保证前向安全和防止重复恶意烧写。
步骤14:根据所述固件头信息、所述加密固件以及所述消息验证码,生成安全固件包。
本发明实施例中,将固件头信息、加密固件和消息验证码进行拼接,即可组成安全固件包,也即该安全固件包的格式固定包括上述三部分。制定固定的安全固件包格式,第三方平台只用承担普通传输职责即可,安全职责交由开发者和终端来实现,避免出现厂商不信赖平台的情况出现,密钥数据完全可以由厂商来负责,不会泄露第三方。
由此,本发明实施例提供的固件包制作方法,通过采用AEAD算法进行固件加密,只需要存储一对预置密钥即可完成加/解密和签名验签功能,固件升级的安全性大大提高,可以节省终端设备的资源消耗,节省数据库检索和存储消耗;并且不依赖服务器平台和传输通道来保证固件升级的安全性,在需要新增安全功能而进行迭代开发时,开发工作量小。
其中一种可选的具体实施方式中,所述固件头信息包括固件版本信息和时间戳,所述根据所述固件头信息以及所述预置密钥,生成初始化向量包括:
根据所述时间戳以及所述预置密钥,生成初始化向量;
其中,所述初始化向量为随机数。
也就是说,本发明的一些实施例中,固件头信息包括固件版本信息和时间戳,可以用于抵御固件升级过程中容易出现的一些攻击,例如降级攻击,即使用版本信息实现回滚功能,或者重复升级相同固件包(重放攻击),使用时间戳并设置事件限制,可以确保超时或相同事件的固件包不会进行升级。
其中,可选的,可以采用固件头信息中的时间戳以及预置密钥来生成初始化向量,并且,生成的初始化向量为随机数,在加密过程中,会使用该初始化向量进行随机化,以保证安全加密的安全性,因此可以避免固件升级过程中固件数据被恶意篡改和恢复,保证了固件数据的保密和完整性认证,保证前向安全和防止重复恶意烧写。
本发明的一些实施例中,所述AEAD算法为AES-GCM加密算法。AEAD算法是一种同时具备保密性,完整性和可认证性的加密形式,通过生成一个消息验证码,通过该消息验证码来保证未加密的附加数据(即固件头信息)和加密部分(即原始固件)均未被篡改,从而保证固件整体安全性。AES-GCM加密算法只要求在终端侧保存并使用一组对称的预制密钥,密码算法库也可以缩减为仅支持AES-GCM、HMAC、HKDF即可,从而有效减少终端的资源消耗。采用AES-GCM模式,还可以避免固件升级过程中固件数据被恶意篡改和恢复,保证了固件数据的保密和完整性认证。
总之,本发明实施例中,通过采用AEAD算法进行固件加密,只需要存储一对预置密钥即可完成加/解密和签名验签功能,固件升级的安全性大大提高,可以节省终端设备的资源消耗,节省数据库检索和存储消耗;并且不依赖服务器平台和传输通道来保证固件升级的安全性,在需要新增安全功能而进行迭代开发时,开发工作量小。
请参阅图2,图2是本发明实施例二提供的一种固件包制作装置的结构示意图,该装置20包括:
第一生成模块21,用于根据目标终端的产品序列号和预置密钥,生成第一密钥;
第二生成模块22,用于根据原始固件生成固件头信息,根据所述固件头信息以及所述预置密钥,生成初始化向量;
第三生成模块23,用于采用AEAD算法对所述原始固件以及所述固件头信息进行加密,生成加密固件和消息验证码;
第四生成模块24,用于根据所述固件头信息、所述加密固件以及所述消息验证码,生成安全固件包。
本发明实施例中,通过采用AEAD算法进行固件加密,只需要存储一对预置密钥即可完成加/解密和签名验签功能,固件升级的安全性大大提高,可以节省终端设备的资源消耗,节省数据库检索和存储消耗;并且不依赖服务器平台和传输通道来保证固件升级的安全性,在需要新增安全功能而进行迭代开发时,开发工作量小。
可选的,所述固件头信息包括固件版本信息和时间戳,所述第二生成模块包括:
生成单元,用于根据所述时间戳以及所述预置密钥,生成初始化向量;
其中,所述初始化向量为随机数。
可选的,所述AEAD算法为AES-GCM加密算法。
本发明实施例是与上述方法实施例一对应的产品实施例,故在此不再赘述,详细请参阅上述实施例一。
请参阅图3,图3为本发明实施例三提供的一种固件包升级方法的流程示意图,该方法包括以下步骤:
步骤31:对安全固件包进行解析,得到固件头信息、加密固件以及消息验证码;
其中,固件头信息可以包括固件版本信息、时间戳等,以描述固件的相关信息。
步骤32:对所述消息验证码以及所述固件头信息进行验证;
其中,验证消息验证码以及固件头信息可以判断出固件头信息是否被篡改以及固件数据是否完整。
步骤33:若所述消息验证码以及所述固件头信息均验证通过,则采用AEAD算法对所述加密固件进行解密,得到解密后的固件;
其中,采用AEAD算法对所述加密固件进行解密时,同样的,可以利用终端的产品序列号和预置密钥采用HKDF算法生成第一密钥,实现一机一密,并利用时间戳和预置密钥生成初始化向量,保证前向安全。从而根据第一密钥和初始化向量,采用AEAD算法进行解密。
步骤34:采用解密后的固件进行固件升级。
在解密成功之后,可以将解密后的固件存储至终端内部闪存中的APP区域,然后执行应用程序,实现固件升级。
本发明实施例中,通过采用AEAD算法进行固件加密,只需要存储一对预置密钥即可完成加/解密和签名验签功能,固件升级的安全性大大提高,可以节省终端设备的资源消耗,节省数据库检索和存储消耗;并且不依赖服务器平台和传输通道来保证固件升级的安全性,在需要新增安全功能而进行迭代开发时,开发工作量小。
本发明实施例中的固件包升级方法应用于终端,例如物联网终端,终端进行固件升级时所采用的安全固件包可以为采用上述第一方面实施例中的固件包制作方法所制作的安全固件包。本发明实施例的固件包升级方法中的解密过程为与上述第一方面实施例中的固件包制作方法中的加密过程的镜像处理过程。
本发明的一些实施例中,所述固件头信息包括固件版本信息和时间戳,所述对所述消息验证码以及所述固件头信息进行验证包括:
采用AEAD算法对所述消息验证码进行验证,以及对所述固件版本信息和所述时间戳进行验证。
其中,具体可以采用AES-GCM算法验证消息验证码,从而保证固件头信息未被篡改以及固件数据的完整性。
其中,固件头信息可以用于抵御固件升级过程中容易出现的一些攻击,例如降级攻击,即使用版本信息实现回滚功能,或者重复升级相同固件包(重放攻击),使用时间戳并设置事件限制,可以确保超时或相同事件的固件包不会进行升级。
本发明的另一些实施例中,所述对所述固件版本信息和所述时间戳进行验证包括:
验证所述固件版本信息是否大于终端的当前版本,以及验证所述时间戳指示的时间是否位于预设时间段内。
具体来说,可以对固件版本信息以及时间戳进行验证,在验证固件版本信息时,验证安全固件包的版本是否大于终端当前已安装的版本,若安全固件包的版本小于终端已安装的版本,则没有升级的必要,认为固件数据已被篡改。而在验证时间戳时,可以验证时间戳是否在合法范围内,即是否位于预设时间段内,例如时间戳显示的时间远早于当前的时间,则认为该固件数据已被篡改。
本发明的一些实施例中,所述对所述消息验证码以及所述固件头信息进行验证之后,还包括:
若所述消息验证码或者所述固件头信息验证不通过,则返回固件升级失败信息和/或删除所述安全固件包。
也就是说,只要消息验证码和固件头信息中的任意一者验证不通过,则认为该安全固件包不安全,因此不会进一步对该安全固件包进行解密并升级,而是返回固件升级失败信息,表明固件升级失败,也可以删除该安全固件包,终端重启至原始版本。
总之,本发明实施例中,通过采用AEAD算法进行固件加密,只需要存储一对预置密钥即可完成加/解密和签名验签功能,固件升级的安全性大大提高,可以节省终端设备的资源消耗,节省数据库检索和存储消耗;并且不依赖服务器平台和传输通道来保证固件升级的安全性,在需要新增安全功能而进行迭代开发时,开发工作量小。
请参阅图4,图4是本发明实施例四提供的一种固件包升级装置的结构示意图,该装置40包括:
解析模块41,用于对安全固件包进行解析,得到固件头信息、加密固件以及消息验证码;
验证模块42,用于对所述消息验证码以及所述固件头信息进行验证;
解密模块43,用于若所述消息验证码以及所述固件头信息均验证通过,则采用AEAD算法对所述加密固件进行解密,得到解密后的固件;
升级模块44,用于采用解密后的固件进行固件升级。
可选的,所述固件头信息包括固件版本信息和时间戳,所述验证模块包括:
验证单元,用于采用AEAD算法对所述消息验证码进行验证,以及对所述固件版本信息和所述时间戳进行验证。
可选的,所述验证单元包括:
验证子单元,用于验证所述固件版本信息是否大于终端的当前版本,以及验证所述时间戳指示的时间是否位于预设时间段内。
可选的,所述装置还包括:
升级失败模块,用于若所述消息验证码或者所述固件头信息验证不通过,则返回固件升级失败信息和/或删除所述安全固件包。
本发明实施例中,通过采用AEAD算法进行固件加密,只需要存储一对预置密钥即可完成加/解密和签名验签功能,固件升级的安全性大大提高,可以节省终端设备的资源消耗,节省数据库检索和存储消耗;并且不依赖服务器平台和传输通道来保证固件升级的安全性,在需要新增安全功能而进行迭代开发时,开发工作量小。
请参阅图5,图5是本发明实施例五提供的一种终端的结构示意图,该终端50包括处理器51、存储器52及存储在所述存储器52上并可在所述处理器51上运行的计算机程序;所述处理器51执行所述计算机程序时实现如下步骤:
对安全固件包进行解析,得到固件头信息、加密固件以及消息验证码;
对所述消息验证码以及所述固件头信息进行验证;
若所述消息验证码以及所述固件头信息均验证通过,则采用AEAD算法对所述加密固件进行解密,得到解密后的固件;
采用解密后的固件进行固件升级。
可选的,所述固件头信息包括固件版本信息和时间戳,所述对所述消息验证码以及所述固件头信息进行验证包括:
采用AEAD算法对所述消息验证码进行验证,以及对所述固件版本信息和所述时间戳进行验证。
可选的,所述对所述固件版本信息和所述时间戳进行验证包括:
验证所述固件版本信息是否大于终端的当前版本,以及验证所述时间戳指示的时间是否位于预设时间段内。
本发明实施例中,可选的,所述处理器51执行所述计算机程序时还可实现如下步骤:
若所述消息验证码或者所述固件头信息验证不通过,则返回固件升级失败信息和/或删除所述安全固件包。
本发明实施例的具体工作过程与上述方法实施例三中的一致,故在此不再赘述,详细请参阅上述实施例一中方法步骤的说明。
本发明实施例六提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种固件包制作方法中的步骤,或者,该计算机程序被处理器执行时实现上述任一种固件包升级方法中的步骤,详细请参阅以上对应实施例中方法步骤的说明。
本发明实施例中的终端可以是无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(SessionInitiation Protocol,简称SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(Personal Digital Assistant,简称PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(MobileStation)、移动台(Mobile)、远程站(Remote Station)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、终端(UserDevice or User Equipment),在此不作限定。
上述计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种固件包制作方法,其特征在于,包括:
根据目标终端的产品序列号和预置密钥,生成第一密钥;
根据原始固件生成固件头信息,根据所述固件头信息以及所述预置密钥,生成初始化向量;
根据所述第一密钥和所述初始化向量,采用AEAD算法对所述原始固件以及所述固件头信息进行加密,生成加密固件和消息验证码;
根据所述固件头信息、所述加密固件以及所述消息验证码,生成安全固件包。
2.根据权利要求1所述的方法,其特征在于,所述固件头信息包括固件版本信息和时间戳,所述根据所述固件头信息以及所述预置密钥,生成初始化向量包括:
根据所述时间戳以及所述预置密钥,生成初始化向量;
其中,所述初始化向量为随机数。
3.根据权利要求1所述的方法,其特征在于,所述AEAD算法为AES-GCM加密算法。
4.一种固件包升级方法,其特征在于,包括:
对安全固件包进行解析,得到固件头信息、加密固件以及消息验证码;
对所述消息验证码以及所述固件头信息进行验证;
若所述消息验证码以及所述固件头信息均验证通过,则采用AEAD算法对所述加密固件进行解密,得到解密后的固件;
采用解密后的固件进行固件升级。
5.根据权利要求4所述的方法,其特征在于,所述固件头信息包括固件版本信息和时间戳,所述对所述消息验证码以及所述固件头信息进行验证包括:
采用AEAD算法对所述消息验证码进行验证,以及对所述固件版本信息和所述时间戳进行验证。
6.根据权利要求5所述的方法,其特征在于,所述对所述固件版本信息和所述时间戳进行验证包括:
验证所述固件版本信息是否大于终端的当前版本,以及验证所述时间戳指示的时间是否位于预设时间段内。
7.根据权利要求4所述的方法,所述对所述消息验证码以及所述固件头信息进行验证之后,还包括:
若所述消息验证码或者所述固件头信息验证不通过,则返回固件升级失败信息和/或删除所述安全固件包。
8.一种固件包制作装置,其特征在于,包括:
第一生成模块,用于根据目标终端的产品序列号和预置密钥,生成第一密钥;
第二生成模块,用于根据原始固件生成固件头信息,根据所述固件头信息以及所述预置密钥,生成初始化向量;
第三生成模块,用于采用AEAD算法对所述原始固件以及所述固件头信息进行加密,生成加密固件和消息验证码;
第四生成模块,用于根据所述固件头信息、所述加密固件以及所述消息验证码,生成安全固件包。
9.一种固件包升级装置,其特征在于,包括:
解析模块,用于对安全固件包进行解析,得到固件头信息、加密固件以及消息验证码;
验证模块,用于对所述消息验证码以及所述固件头信息进行验证;
解密模块,用于若所述消息验证码以及所述固件头信息均验证通过,则采用AEAD算法对所述加密固件进行解密,得到解密后的固件;
升级模块,用于采用解密后的固件进行固件升级。
10.一种终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述计算机程序时实现如权利要求4至7中任一项所述的固件包升级方法。
CN202210187923.7A 2022-02-28 2022-02-28 固件包制作方法及装置、固件包升级方法及装置、终端 Pending CN116700772A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210187923.7A CN116700772A (zh) 2022-02-28 2022-02-28 固件包制作方法及装置、固件包升级方法及装置、终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210187923.7A CN116700772A (zh) 2022-02-28 2022-02-28 固件包制作方法及装置、固件包升级方法及装置、终端

Publications (1)

Publication Number Publication Date
CN116700772A true CN116700772A (zh) 2023-09-05

Family

ID=87843873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210187923.7A Pending CN116700772A (zh) 2022-02-28 2022-02-28 固件包制作方法及装置、固件包升级方法及装置、终端

Country Status (1)

Country Link
CN (1) CN116700772A (zh)

Similar Documents

Publication Publication Date Title
US8856529B2 (en) Systems and methods for providing security to different functions
RU2518924C2 (ru) Беспроводное устройство, способ запроса пользовательского клиента управления доступом и способ выполнения клиента управления доступом
EP1856836B1 (en) Network assisted terminal to sim/uicc key establishment
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
US20170150356A1 (en) SECURE ELECTRONIC SUBSCRIBER IDENTITY MODULE (eSIM) RESTORATION
CN102378170A (zh) 一种鉴权及业务调用方法、装置和系统
CN102685739B (zh) 安卓企业应用的鉴权方法及系统
US20230076147A1 (en) Method and apparatus for authenticating terminal, computer device and storage medium
KR20150045790A (ko) 신뢰 보안 플랫폼 모듈을 이용한 보안 애플리케이션 인증 및 관리 방법 및 장치
CN106096424A (zh) 一种对本地数据进行加密方法和终端
CN105187369A (zh) 一种数据访问方法及装置
JP2007249507A (ja) 情報漏洩防止方法、情報漏洩防止システム及び情報端末
CN104243452A (zh) 一种云计算访问控制方法及系统
CN116436682A (zh) 数据处理方法、装置及系统
KR20190040443A (ko) 스마트미터의 보안 세션 생성 장치 및 방법
CN111835691B (zh) 一种认证信息处理方法、终端和网络设备
KR101329789B1 (ko) 모바일 디바이스의 데이터베이스 암호화 방법
CN116700772A (zh) 固件包制作方法及装置、固件包升级方法及装置、终端
CN114679287B (zh) 数据处理方法、系统、电子设备及存储介质
CN115001744A (zh) 一种云平台数据完整性验证方法及系统
CN115935379A (zh) 业务处理方法、装置、设备及计算机可读存储介质
CN114765544A (zh) 可信执行环境数据离线迁移方法及装置
TWI818703B (zh) 憑證請求方法、憑證簽發方法、憑證系統與其電腦可讀媒體
CN114143198B (zh) 固件升级的方法
CN111432404B (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