CN106569865A - 一种终端的系统升级文件的制作方法及制作装置 - Google Patents

一种终端的系统升级文件的制作方法及制作装置 Download PDF

Info

Publication number
CN106569865A
CN106569865A CN201610998663.6A CN201610998663A CN106569865A CN 106569865 A CN106569865 A CN 106569865A CN 201610998663 A CN201610998663 A CN 201610998663A CN 106569865 A CN106569865 A CN 106569865A
Authority
CN
China
Prior art keywords
file
terminal
signature
multiclass
cpu
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
Application number
CN201610998663.6A
Other languages
English (en)
Other versions
CN106569865B (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.)
Hisense Mobile Communications Technology Co Ltd
Original Assignee
Hisense Mobile Communications Technology 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 Hisense Mobile Communications Technology Co Ltd filed Critical Hisense Mobile Communications Technology Co Ltd
Priority to CN201610998663.6A priority Critical patent/CN106569865B/zh
Publication of CN106569865A publication Critical patent/CN106569865A/zh
Application granted granted Critical
Publication of CN106569865B publication Critical patent/CN106569865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种终端的系统升级文件的制作方法及制作装置,用以解决需根据CPU身份标识类型制作多个升级包的问题,包括:获取未被签名的系统文件中的待签名文件;确定终端对应的多类CPU身份标识信息;使用多类CPU身份标识信息中的每类CPU身份标识信息对应的密钥文件对待签名文件分别进行签名,得到与多类CPU身份标识信息对应的多类签名文件;根据系统文件及多类签名文件生成系统升级文件。采用上述方案只需制作一个系统升级文件,便可使不论具有何种CPU身份标识信息的终端,都能够在系统升级文件中找到与自身CPU身份标识信息相符的升级文件,从而减少了系统升级文件制作的人力成本,节省了服务器资源。

Description

一种终端的系统升级文件的制作方法及制作装置
技术领域
本发明涉及通信技术领域,尤其涉及一种终端的系统升级文件的制作方法及制作装置。
背景技术
随着智能终端技术的不断发展,消费者不再仅仅关注手机的性能,由于安全隐患的不断被曝光,设备制造商(Original Equipment Manufacture,OEM)在不断提升智能终端的性能之余,开始研究如何提高智能终端的安全性。当前的智能终端开始渐渐引入了安全启动方案。所谓的安全启动方案即:生产的时候将用于安全启动认证的证书及签名文件烧录到中央处理器(Central Processing Unit,CPU)芯片中,同时在开机启动的各个环节中增加对事先打包在对应分区位置的系统文件中的报文信息进行签名认证,只有认证成功后才会执行该分区的启动,否则停止。
然而,由于芯片厂商提供的CPU的身份标识有可能存在差异,而系统文件的签名与CPU的身份标识存在关联,因此,若终端之间的CPU身份标识不同,则终端的系统文件对应的签名类型也不相同。为了保证系统升级后的正常启动,需在升级时确保升级前后系统文件签名类型不变,因此在制作系统升级文件时,若一款产品存在多种身份标识的CPU芯片,需根据每种CPU身份标识分别对每个分区位置的升级文件进行签名制作。举例说明,假如一款产品采购的CPU芯片身份类型有两种,分别为CPU_A、CPU_B,生产时装配CPU_A的终端烧录的工厂刷机包中的系统文件是用CPU_A的身份标识进行签名的,而装配CPU_B的终端烧录的工厂刷机包的系统文件是用CPU_B的身份标识进行签名的。假如生产时使用的版本为V1,当发布后续新版本V2时,需保证升级后正常启动,实际上对于配有CPU_A的终端要升级V1_CPU_A-V2_CPU_A的升级包;而对于配有CPU_B的终端要升级V1_CPU_B-V2_CPU_B的升级包。但是,目前多数服务器并无法区分当前终端使用的CPU类型,即使能够区分,也需要分别制作针对不同CPU身份标识的不同版本的升级包,CPU的身份标识类型有多少种,每发布一个版本就需要制作多少个升级包,导致人力成本的增加,也浪费服务器资源。
发明内容
本发明提供一种终端的系统升级文件的制作方法及制作装置,用以解决现有技术中存在的需根据CPU身份标识类型制作多个升级包的问题。
本发明实施例提供一种终端的系统升级文件的制作方法,包括:
获取未被签名的系统文件中的待签名文件;
确定终端对应的多类CPU身份标识信息;
使用多类CPU身份标识信息中的每类CPU身份标识信息对应的密钥文件对待签名文件分别进行签名,得到与多类CPU身份标识信息对应的多类签名文件;
根据系统文件及多类签名文件生成系统升级文件。
可选地,根据系统文件及多类签名文件生成系统升级文件之前,还包括:
制作系统文件和多类签名文件对应的配置表,配置表用于生成系统升级文件的引导脚本。
可选地,制作系统文件和多类签名文件对应的配置表,包括:
获取系统文件的初始配置表;
针对每类签名文件中的第一签名文件,其中,第一签名文件为该类签名文件中的任一签名文件,执行:
从系统文件中查找与第一签名文件的文件名满足预设关系的第一系统文件;
查询初始配置表确定第一系统文件在终端中的安装位置;
将第一签名文件的文件名和第一系统文件在终端中的安装位置配对记录于初始配置表,得到配置表。
本发明实施例提供一种安装终端的系统升级文件的方法,包括:
终端下载系统升级文件;
判断终端是否为被签名终端;
若终端为被签名终端,则终端读取自身的CPU身份标识信息;
终端根据CPU身份标识信息,获取系统升级文件中签名类型与CPU身份标识信息相对应的各升级文件并安装。
本发明实施例提供一种终端的系统升级文件的制作装置,包括:
生成模块,用于获取未被签名的系统文件中的待签名文件;
检索模块,用于确定终端对应的多类CPU身份标识信息;
签名模块,用于使用多类CPU身份标识信息中的每类CPU身份标识信息对应的密钥文件对待签名文件分别进行签名,得到与多类CPU身份标识信息对应的多类签名文件;
处理模块,用于根据系统文件及多类签名文件生成系统升级文件。
可选地,还包括:
配置模块,用于制作系统文件和多类签名文件对应的配置表,配置表用于生成系统升级文件的引导脚本。
可选地,配置模块制作系统文件和多类签名文件对应的配置表,包括:
获取系统文件的初始配置表;
针对每类签名文件中的第一签名文件,其中,第一签名文件为该类签名文件中的任一签名文件,执行:
从系统文件中查找与第一签名文件的文件名满足预设关系的第一系统文件;
查询初始配置表确定第一系统文件在终端中的安装位置;
将第一签名文件的文件名和第一系统文件在终端中的安装位置配对记录于初始配置表,得到配置表。
本发明实施例提供一种安装终端的系统升级文件的终端,包括:
下载模块,用于下载系统升级文件;
判断模块,用于判断是否为被签名终端;
读取模块,用于当为被签名终端时,读取CPU身份标识信息;
处理模块,用于根据CPU身份标识信息,获取系统升级文件中签名类型与CPU身份标识信息相对应的各升级文件并安装。
综上所述,本发明使用与每类CPU身份标识信息相对应的密钥文件对系统文件中的待签名文件进行签名,从而获得了多类签名文件,每一类CPU身份标识信息都有与之相应的签名文件,使得根据系统文件和多类签名文件制作的系统升级文件可以满足多类CPU身份标识信息对应的不同终端的系统升级要求,即,对于需要进行此系统升级的终端,不论其具有何种CPU身份标识信息,都能够在系统升级文件中找到与自身CPU身份标识信息相符的升级文件,从而在升级版本的制作过程中不需根据CPU身份标识类型制作多个升级包,只需要一个升级包即可完成所有类型终端的系统升级,从而减少了系统升级文件制作的人力成本,也避免了服务器需根据终端类型获取对应的系统升级文件,降低了对服务器的要求,节省了服务器资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种终端的系统升级文件的制作方法流程示意图;
图2为本发明实施例提供的一种待签名文件与签名文件的关系示意图;
图3为本发明实施例提供的一种安装终端的系统升级文件的方法流程示意图;
图4为本发明实施例提供的一种终端的系统升级文件的制作装置结构示意图;
图5为本发明实施例提供的一种安装终端的系统升级文件的终端结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本实施例所述终端可以与一个或多个核心网进行通信,终端可以指用户设备(User Equipment,简称UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,简称SIP)电话、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字处理(Personal Digital Assistant,简称PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备等。
图1示例性示出了本发明实施例提供的一种终端的系统升级文件的制作方法流程示意图,如图1所示,包括如下步骤:
步骤S101:获取未被签名的系统文件中的待签名文件;
步骤S102:确定终端对应的多类CPU身份标识信息;
步骤S103:使用多类CPU身份标识信息中的每类CPU身份标识信息对应的密钥文件对待签名文件分别进行签名,得到与多类CPU身份标识信息对应的多类签名文件;
步骤S104:根据系统文件及多类签名文件生成系统升级文件。
在步骤S101的具体实施过程中,先根据计划升级之后需要达到的目标版本制作系统文件,系统文件中并不包含CPU身份标识信息,其中只包括了在升级之后要达到的目标版本的实质文件内容。可选地,系统升级文件可以直接根据计划升级之后需要达到的目标版本编译制作,也可以从上一版本的系统文件的基础上根据目标版本更改获得。从系统文件中获取的待签名文件为在终端系统应用过程中,需用到CPU身份标识信息的系统文件,如安全启动分区中的系统文件。
在步骤S102的具体实施过程中,终端CPU的供货批次可能存在差异,而CPU制造商生成的不同批次CPU往往具有不同的CPU身份标识信息,可选地,根据CPU产品供应商的生产记录和终端的生产记录来确定终端对应的多类CPU身份标识信息;可选地,也可以先向各终端发送指令包,指令包中含有可以读取终端CPU身份标识信息的脚本文件,待读取终端CPU身份标识信息之后,终端生成反馈包并将CPU身份标识信息反馈回来。
在步骤S103的具体实施过程中,系统文件中会包含多个待签名文件,需对每一个待签名文件都进行签名,且每一个CPU身份标识信息都要对此待签名文件签名,这些被签了名的待签名文件构成了签名文件。可选地,利用与CPU身份标识信息相对应的密钥文件对待签名文件进行签名,上述密钥文件一般会由设备制造商(Original EquipmentManufacturer,OEM)根据芯片供应商提供的工具生成,其是与CPU身份标识信息相对应的,可对文件进行加密与解密的密钥文件。例如,图2示例性示出了本发明实施例提供的一种待签名文件与签名文件的关系示意图,如图2所示,待签名文件中包含了两个系统文件:文件a和文件b,终端对应的身份标识信息有两种:身份标识信息M,对应的密钥文件为密钥文件A;身份标识信息N对应的密钥文件为密钥文件B,则密钥文件A对待签名文件a签名获得签名文件aA,密钥签名文件A对待签名文件b签名获得签名文件bA,密钥文件B对待签名文件a签名获得签名文件aB,密钥文件B对待签名文件b签名获得签名文件bB。可选地,各类签名文件中可以按CPU身份标识信息类型进行分类放置,如签名文件aA和签名文件bA共同放置于与身份标识M对应的文件夹中,文件aB和文件bB共同放置于与身份标识N对应的文件夹中。
可选地,系统升级文件中还包括引导脚本;引导脚本用于引导系统升级文件中各升级文件在终端系统中的安装;根据系统文件及多类签名文件生成系统升级文件之前,还包括:制作系统文件及多类签名文件对应的配置表,配置表用于生成系统升级文件的引导脚本。
表一为本发明实施例提供的一种系统升级文件内的配置表的示意图,如表一所示,文件名(filename)列记载了系统文件和各类签名文件内各文件的文件名,其中,如_0004f0e1所示的文件名后缀为各类签名文件中各文件的文件名中一段表示签名类型的十六进制字段。安装位置(partition)列记载了各文件所对应的在终端系统中的安装位置。
表一
可选地,如表一所示的配置表可通过以下方式获得,包括:获取系统文件的初始配置表;针对每类签名文件中的第一签名文件,其中,第一签名文件为该类签名文件中的任一签名文件,执行:从系统文件中查找与第一签名文件的文件名满足预设关系的第一系统文件;查询初始配置表确定第一系统文件在终端中的安装位置;将第一签名文件的文件名和第一系统文件在终端中的安装位置配对记录于初始配置表,得到配置表。具体实施过程中,初始配置表只记录了系统文件的文件名与系统文件在终端中的安装位置的对应关系,由于本方法还生成了根据多类CPU身份标识信息签名的多类签名文件,因此配置表中还需包含多类签名文件的文件名与文件安装位置的对应关系。针对每一类签名文件中的第一签名文件,第一签名文件为该类签名文件中的任一签名文件,从系统文件中确定与第一签名文件满足预设关系的第一系统文件,此处,预设关系具体可以指,根据正则表达式,将第一签名文件的文件名去掉签名信息后获得的文件名与第一系统文件的文件名一致。在查询到第一系统文件后,从配置表中查询第一系统文件在终端中的安装位置,并将第一签名文件的文件名和此安装位置的对应关系加入初始配置表中,当把各类签名文件的文件名和其在终端中的安装位置的对应关系全部都更新到初始配置表后,便得到包含了系统文件和各类签名文件的文件名与安装位置的对应关系的配置表。如,表二为本发明实施例提供的一种初始配置表,如表二所示,表二中记录了包括NON-HLOS.bin、sbl1.mbn和tz.mbn在内的多个系统文件的文件名和安装位置。当目标终端具备安全启动功能时,其启动分区的系统文件需具备CPU身份标识信息,即安装位置为终端启动分区的NON-HLOS.bin、sbl1.mbn和tz.mbn为待签名文件,对其签名后获得签名文件NON-HLOS_0004f0e1.bin、NON-HLOS_0004f0e2.bin、sbl1_0004f0e1.mbn、sbl1_0004f0e2.mbn、tz_0004f0e1.mbn和tz_0004f0e2.mbn。以签名文件tz_0004f0e1.mbn为例,通过正则运算获取去掉签名信息后的文件名为tz.mbn,查找如表二所示的配置表,获取文件名为tz.mbn的文件在终端系统中的安装位置/dev/block/bootdevice/by-name/tz,则将文件名tz_0004f0e1.mbn与安装位置/dev/block/bootdevice/by-name/tz的对应关系加入如表二所示的配置表中。按上述方法一次处理每一个签名文件,最后获得如表一所示的配置表。可选地,初始配置表可通过输入生成,也可根据前一版本的配置表更新生成。
表二
filename partition
NON-HLOS.bin /dev/block/bootdevice/by-name/modem
sbl1.mbn /dev/block/bootdevice/by-name/sbll
tz.mbn /dev/block/bootdevice/by-name/tz
可选地,表一所示的系统升级文件配置表还可以通过以下方式获得的:判断各类签名文件中包含的CPU身份标识信息是否与历史版本的系统升级文件所对应的各类历史签名文件中包含的CPU身份标识信息相同;若不同,则确定不同的CPU身份标识信息对应的各类历史签名文件在终端中的安装位置信息;在历史版本的系统升级文件的配置表中增加不同CPU身份标识信息对应的各类历史签名文件的文件名及在终端中的安装位置信息,得到制作系统升级文件所需的配置表。具体实施过程中,较佳地,历史版本的系统升级文件为发布时间距离最近的已发布系统升级文件,表三为本发明实施例提供的一种历史版本系统文件和历史签名文件所对应的配置表的示意图,如表三所示,历史版本系统文件所对应的的历史待签名文件为NON-HLOS.bin、sbl1.mbn和tz.mbn,历史版本系统升级文件所对应的签名文件为:NON-HLOS_0004f0e1.bin、sbl1_0004f0e1.mbn、tz_0004f0e1.mbn。
表三
filename partition
NON-HLOS.bin /dev/block/bootdevice/by-name/modem
NON-HLOS_0004f0e1.bin /dev/block/bootdevice/by-name/modem
sbl1.mbn /dev/block/bootdevice/by-name/sbl1
sbl1_0004f0e1.mbn /dev/block/bootdevice/by-name/sbl1
tz.mbn /dev/block/bootdevice/by-name/tz
tz_0004f0e1.mbn /dev/block/bootdevice/by-name/tz
在制作系统升级文件所需的配置表时,获取上述如表三所示的历史版本系统升级文件的配置表。之后,获取系统文件和各类签名文件中所有文件的文件名,并依次确定这些文件在终端系统中的安装位置。可选地,获取各类签名文件中的任一文件后,采用正则表达式获取这个文件去掉签名信息的文件名,在历史版本系统升级文件所对应的配置表中查找与去掉签名信息的文件名相对应的行,并获取此行的安装位置信息,并将此文件的文件名与安装位置信息的对应关系存入配置表中,从而确定此升级文件的安装位置信息。如系统文件中的待签名文件和这些待签名文件所对应的签名文件为NON-HLOS.bin、sbl1.mbn、tz.mbn、NON-HLOS_0004f0e1.bin、sbl1_0004f0e1.mbn、tz_0004f0e1.mbn、NON-HLOS_0004f0e2.bin、sbl1_0004f0e2.mbn和tz_0004f0e2.mbn共9个文件,其中由于新增加了一种具有新的CPU身份识别信息类型的CPU,因此签名文件相较于历史签名文件增加了NON-HLOS_0004f0e2.bin、sbl1_0004f0e2.mbn和tz_0004f0e2.mbn共3个签名文件。以签名文件sbl1_0004f0e2.mbn和表三所示的配置表为例,在获取文件sbl1_0004f0e2.mbn之后,根据正则表达式获取其去掉签名信息的文件名sbl1.mbn,然后从表三中查找sbl1.mbn对应的安装位置信息/dev/block/bootdevice/by-name/sbl1,并将sbl1_0004f0e2.mbn的文件名和/dev/block/bootdevice/by-name/sbl1的对应关系记录于配置表中。按照上述方式依次处理历史版本系统升级文件中的升级文件,最后获取如表一所示的本发明实施例提供的系统文件和各类签名文件的配置表。
可选地,系统文件和各类签名文件的配置表也可以直接根据系统文件和各类签名文件直接编写。
配置表被用于记录各系统文件以及签名文件在终端系统中的安装位置,在后续引导脚本的制作过程中,配置表是重要参考,根据系统升级文件对应的各类签名文件中CPU身份标识类型更新配置表,可以保证配置表中记录着新增CPU身份标识类型的终端系统的系统文件在终端系统中的安装位置信息。
在步骤S104中,根据系统文件及多类签名文件生成系统升级文件,最后生成的系统升级文件根据应用终端的升级类型而有所区别。目前终端的升级方式可分为完整包升级和差分包升级两种升级方式。对于完整包升级方式,在升级时,升级文件会覆盖掉原有的系统文件;对于差分包升级方式,在升级时,会以补丁的形式对系统文件进行升级。可选地,完整包制作过程主要包括:将系统文件和各类签名文件直接制作为系统升级文件中的升级文件,当终端根据系统升级文件升级时,升级文件将覆盖终端原有的系统文件。可选地,根据配置表中系统文件和各类签名文件与安装位置的对应关系,制作各升级文件的引导脚本并将引导脚本置于系统升级文件中。
可选地,对于差分包升级方式,差分升级包制作时,需获取用来制作历史版本系统升级文件的历史系统文件和历史签名文件;针对系统文件中的每一个文件,对比历史系统文件中和该文件具有相同文件名的文件的哈希值与该文件的哈希值是否相同,若不同,则获取历史系统文件中与该文件具有相同文件名的文件与该文件之间的差异信息并生成补丁文件;以及,针对各类签名文件中的每一个文件,对比历史签名文件中和该文件具有相同文件名的文件的哈希值与该文件是否相同,若不同,则获取历史签名文件中与该文件具有相同文件名的文件与该文件之间的差异信息并生成补丁文件;同时,针对每一个补丁文件,获取用来生成该补丁文件的两个文件在配置表中对应的安装位置信息,并以此生成引导脚本一同置于系统升级文件中。最后,将各类补丁文件以及引导脚本制作为系统升级文件。
哈希值是根据哈希算法将任意长度的二进制值映射为固定长度的二进制值,哈希值由文件的具体内容获得,文件内容的改变会造成哈希值的不同,对于根据CPU身份标识信息签名后的文件,其哈希值内也包括了CPU身份标识信息的签名信息。在升级文件的制作过程中,文件名一般由升级文件的CPU身份标识信息和文件在所述终端的安装位置决定,因此在进行差分包制作时,需选择具有相同文件名的系统文件,这是由于系统文件的文件名是由系统文件的CPU身份标识信息和系统文件在所述终端的安装位置决定,相同的系统文件名意味着这两个系统文件针对的是具有同一类CPU身份标识信息的终端系统中的同一个安装位置,二者作用对象一致,因此对比制作的补丁文件才有意义。可选地,可通过以下方式对比系统文件和各类签名文件中的各文件与历史系统文件和历史签名文件中的各文件中具有相同文件名的文件的哈希值:首先将系统文件和各类签名文件中的文件根据文件名中的CPU身份标识信息的类型进行分组,将各类签名文件中具有同一CPU身份标识信息签名的同类文件的文件名存放在一个列表中,其中列表的第一个元素记录的是CPU的身份标识信息,从第二个元素开始记录与此身份对应的升级文件文件名,有几类CPU身份标识信息,就形成几个列表,此外,还包括一个不含CPU身份标识信息的系统文件的文件名列表。按上述操作对历史系统文件和历史签名文件进行相同的处理。构建好系统文件和各类签名文件的文件名列表后,根据列表的第一个元素记录的CPU身份标识信息选出签名文件和历史签名文件中具有相同CPU身份标识信息的文件名列表,依次对比两个列表中相同文件名的文件的哈希值,若哈希值一致,则不作处理,若不一致,则获取两个文件之间的差异信息形成补丁文件并置于系统升级文件中。同时,从配置表中获取这两个文件在终端系统中的安装位置信息,并生成引导脚本文件置于升级系统文件中。此外,由系统文件的文件名和由历史系统文件的文件名构成的两个文件名列表也作相同处理。如:历史系统文件包括NON-HLOS.bin、sbl1.mbn和tz.mbn,历史签名文件包括、NON-HLOS_0004f0e1.bin、sbl1_0004f0e1.mbn和tz_0004f0e1.mbn,系统文件包括NON-HLOS.bin、sbl1.mbn和tz.mbn,签名文件包括NON-HLOS_0004f0e1.bin、sbl1_0004f0e1.mbn和tz_0004f0e1.mbn,在升级包的过程中,需对比文件名相同的文件,如签名文件和历史签名文件中的tz_0004f0e1.mbn,若两个升级文件的哈希值不同,则根据二者之间的差异信息形成补丁文件并置于系统升级文件中,同时,查找如表一所示的配置表中tz_0004f0e1.mbn对应的安装位置信息/dev/block/bootdevice/by-name/tz,形成引导脚本。本发明实施例提供一种引导脚本的编程语句:
if get_cpu_id()==”0004f0e1”then
apply_patch(“EMMC:/dev/block/bootdevice/by-name/tz:...,package_extract_
file(“patch/firmware-update/tz_0004f0e1.mbn.p”));
图3示例性示出了本发明实施例提供的一种安装系统升级文件的方法流程示意图,如图3所示,包括以下步骤:
S301:终端下载系统升级文件;
S302:判断终端是否为被签名终端;
S303:若终端为被签名终端,则终端读取自身的CPU身份标识信息;
S304:终端根据CPU身份标识信息,获取系统升级文件中签名类型与CPU身份标识信息相对应的各升级文件并安装。
在步骤S301的具体实施过程中,终端获取升级版本的途径可以是网络下载、数据拷贝、空中下载(Over the Air technology,OTA)等多种数据传输方式。一般情况下,系统升级文件会被以压缩包的形式发送给终端,因此终端在收到系统升级文件后还需进行一个解压缩的过程。
在步骤S302的具体实施过程中,被签名终端可以指:终端的系统文件全部或部分被根据CPU身份标识信息签名的终端。终端第一次开机时,便会在终端的内核文件(Debugfs文件)中记录下次终端是否为被签名终端的标识信息,因此,安装系统升级文件时,只需在终端的内核文件系统中查找该标识信息便能判断此终端是否被签名。
在步骤S303的具体实施过程中,若终端是被签名终端,则需从Debugfs文件系统中获取此终端的CPU身份标识信息;可选地,若终端不是被签名终端,则不需执行步骤S303。
在步骤S304的具体实施过程中,终端根据CPU身份标识信息从系统升级文件中签名类型与CPU身份标识信息相对应的各升级文件并安装。可选地,对于非被签名终端,则从系统升级文件中获取不含CPU身份标识信息的升级文件进行安装。
综上所述,本发明实施例提供了一种终端的系统升级文件的制作方法,使用与每类CPU身份标识信息相对应的密钥文件对系统文件中的待签名文件进行签名,从而获得了多类签名文件,每一类CPU身份标识信息都有与之相应的签名文件,使得根据系统文件和多类签名文件制作的系统升级文件可以满足多类CPU身份标识信息对应的不同终端的系统升级要求,即,对于需要进行此系统升级的终端,不论其具有何种CPU身份标识信息,都能够在系统升级文件中找到与自身CPU身份标识信息相符的升级文件,从而在升级版本的制作过程中不需根据CPU身份标识类型制作多个升级包,只需要一个升级包即可完成所有类型终端的系统升级,从而减少了系统升级文件制作的人力成本,也避免了服务器需根据终端类型获取对应的系统升级文件,降低了对服务器的要求,节省了服务器资源。
基于相同的技术构思,本发明实施例还提供一种终端的系统升级文件的制作装置,该装置可执行上述方法实施例。图4为本发明实施例提供的一种终端的系统升级文件的制作装置结构示意图,如图4所示,制作装置400包括:生成模块401、检索模块402、签名模块403和处理模块404,
生成模块401,用于获取未被签名的系统文件中的待签名文件;
检索模块402,用于确定终端对应的多类CPU身份标识信息;
签名模块403,用于使用多类CPU身份标识信息中的每类CPU身份标识信息对应的密钥文件对待签名文件分别进行签名,得到与多类CPU身份标识信息对应的多类签名文件;
处理模块404,用于根据系统文件及多类签名文件生成系统升级文件。
可选地,还包括:
配置模块405,用于制作所述系统文件和所述多类签名文件对应的配置表,所述配置表用于生成所述系统升级文件的引导脚本。
配置模块405制作系统文件和多类签名文件对应的配置表,具体可以包括:获取系统文件的初始配置表;针对每类签名文件中的第一签名文件,其中,第一签名文件为该类签名文件中的任一签名文件,执行:从系统文件中查找与所述第一签名文件的文件名满足预设关系的第一系统文件;查询所述初始配置表确定第一系统文件在终端中的安装位置;将第一签名文件的文件名和第一系统文件在终端中的安装位置配对记录于初始配置表,得到配置表。
本发明实施例提供一种安装终端的系统升级文件的终端,图5为本发明实施例提供的一种安装终端的系统升级文件的终端结构示意图,如图5所示,终端500包括:下载模块501、判断模块502、读取模块503、和处理模块504,
下载模块501,用于下载系统升级文件;
判断模块502,用于判断是否为被签名终端;
读取模块503,用于当为被签名终端时,读取CPU身份标识信息;
处理模块504,用于根据CPU身份标识信息,获取系统升级文件中签名类型与CPU身份标识信息相对应的各升级文件并安装。
综上所述,本发明实施例提供了一种终端的系统升级文件的制作方法及装置,使用与每类CPU身份标识信息相对应的密钥文件对系统文件中的待签名文件进行签名,从而获得了多类签名文件,每一类CPU身份标识信息都有与之相应的签名文件,使得根据系统文件和多类签名文件制作的系统升级文件可以满足多类CPU身份标识信息对应的不同终端的系统升级要求,即,对于需要进行此系统升级的终端,不论其具有何种CPU身份标识信息,都能够在系统升级文件中找到与自身CPU身份标识信息相符的升级文件,从而在升级版本的制作过程中不需根据CPU身份标识类型制作多个升级包,只需要一个升级包即可完成所有类型终端的系统升级,从而减少了系统升级文件制作的人力成本,也避免了服务器需根据终端类型获取对应的系统升级文件,降低了对服务器的要求,节省了服务器资源。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种终端的系统升级文件的制作方法,其特征在于,包括:
获取未被签名的系统文件中的待签名文件;
确定所述终端对应的多类CPU身份标识信息;
使用所述多类CPU身份标识信息中的每类CPU身份标识信息对应的密钥文件对所述待签名文件分别进行签名,得到与所述多类CPU身份标识信息对应的多类签名文件;
根据所述系统文件及所述多类签名文件生成系统升级文件。
2.如权利要求1所述的方法,其特征在于,根据所述系统文件及所述多类签名文件生成系统升级文件之前,还包括:
制作所述系统文件和所述多类签名文件对应的配置表,所述配置表用于生成所述系统升级文件的引导脚本。
3.如权利要求2所述的方法,其特征在于,制作所述系统文件和所述多类签名文件对应的配置表,包括:
获取所述系统文件的初始配置表;
针对每类签名文件中的第一签名文件,其中,所述第一签名文件为该类签名文件中的任一签名文件,执行:
从所述系统文件中查找与所述第一签名文件的文件名满足预设关系的第一系统文件;
查询所述初始配置表确定所述第一系统文件在所述终端中的安装位置;
将所述第一签名文件的文件名和所述第一系统文件在所述终端中的安装位置配对记录于所述初始配置表,得到所述配置表。
4.一种安装如权利要求1至3任一项所述的终端的系统升级文件的方法,其特征在于,包括:
终端下载系统升级文件;
判断所述终端是否为被签名终端;
若所述终端为被签名终端,则所述终端读取自身的CPU身份标识信息;
所述终端根据所述CPU身份标识信息,获取所述系统升级文件中签名类型与所述CPU身份标识信息相对应的各升级文件并安装。
5.一种终端的系统升级文件的制作装置,其特征在于,包括:
生成模块,用于获取未被签名的系统文件中的待签名文件;
检索模块,用于确定所述终端对应的多类CPU身份标识信息;
签名模块,用于使用所述多类CPU身份标识信息中的每类CPU身份标识信息对应的密钥文件对所述待签名文件分别进行签名,得到与所述多类CPU身份标识信息对应的多类签名文件;
处理模块,用于根据所述系统文件及所述多类签名文件生成系统升级文件。
6.如权利要求5所述的装置,其特征在于,还包括:
配置模块,用于制作所述系统文件和所述多类签名文件对应的配置表,所述配置表用于生成所述系统升级文件的引导脚本。
7.如权利要求6所述的装置,其特征在于,所述配置模块制作所述系统文件和所述多类签名文件对应的配置表,包括:
获取所述系统文件的初始配置表;
针对每类签名文件中的第一签名文件,其中,所述第一签名文件为该类签名文件中的任一签名文件,执行:
从所述系统文件中查找与所述第一签名文件的文件名满足预设关系的第一系统文件;
查询所述初始配置表确定所述第一系统文件在所述终端中的安装位置;
将所述第一签名文件的文件名和所述第一系统文件在所述终端中的安装位置配对记录于所述初始配置表,得到所述配置表。
8.一种安装如权利要求5至7任一项所述的终端的系统升级文件的终端,其特征在于,包括:
下载模块,用于下载系统升级文件;
判断模块,用于判断是否为被签名终端;
读取模块,用于当为被签名终端时,读取CPU身份标识信息;
处理模块,用于根据所述CPU身份标识信息,获取所述系统升级文件中签名类型与所述CPU身份标识信息相对应的各升级文件并安装。
CN201610998663.6A 2016-11-14 2016-11-14 一种终端的系统升级文件的制作方法及制作装置 Active CN106569865B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610998663.6A CN106569865B (zh) 2016-11-14 2016-11-14 一种终端的系统升级文件的制作方法及制作装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610998663.6A CN106569865B (zh) 2016-11-14 2016-11-14 一种终端的系统升级文件的制作方法及制作装置

Publications (2)

Publication Number Publication Date
CN106569865A true CN106569865A (zh) 2017-04-19
CN106569865B CN106569865B (zh) 2020-04-10

Family

ID=58542599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610998663.6A Active CN106569865B (zh) 2016-11-14 2016-11-14 一种终端的系统升级文件的制作方法及制作装置

Country Status (1)

Country Link
CN (1) CN106569865B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221852A (zh) * 2019-05-15 2019-09-10 深兰科技(上海)有限公司 一种固件升级方法及装置
CN110532813A (zh) * 2019-09-04 2019-12-03 四川长虹电器股份有限公司 一种Android智能电视系统防刷机的方法
CN112860284A (zh) * 2019-11-12 2021-05-28 深圳怡化电脑股份有限公司 设备远程升级的sp升级包生成方法、装置及计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102246455A (zh) * 2008-12-11 2011-11-16 三菱电机株式会社 自我认证通信设备以及设备认证系统
CN102663325A (zh) * 2012-03-12 2012-09-12 苏州阔地网络科技有限公司 一种软件绑定硬件的方法及系统
CN103595802A (zh) * 2013-11-19 2014-02-19 烽火通信科技股份有限公司 家庭网关软件远程自动升级的方法
CN103905207A (zh) * 2014-04-23 2014-07-02 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
CN103902925A (zh) * 2012-12-31 2014-07-02 中国银联股份有限公司 用于数字文件签名的方法及设备
CN105700918A (zh) * 2016-01-05 2016-06-22 青岛海信移动通信技术股份有限公司 一种系统升级方法及装置
CN105989306A (zh) * 2015-02-13 2016-10-05 中兴通讯股份有限公司 操作系统的文件签名方法、文件校验方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102246455A (zh) * 2008-12-11 2011-11-16 三菱电机株式会社 自我认证通信设备以及设备认证系统
CN102663325A (zh) * 2012-03-12 2012-09-12 苏州阔地网络科技有限公司 一种软件绑定硬件的方法及系统
CN103902925A (zh) * 2012-12-31 2014-07-02 中国银联股份有限公司 用于数字文件签名的方法及设备
CN103595802A (zh) * 2013-11-19 2014-02-19 烽火通信科技股份有限公司 家庭网关软件远程自动升级的方法
CN103905207A (zh) * 2014-04-23 2014-07-02 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
CN105989306A (zh) * 2015-02-13 2016-10-05 中兴通讯股份有限公司 操作系统的文件签名方法、文件校验方法及装置
CN105700918A (zh) * 2016-01-05 2016-06-22 青岛海信移动通信技术股份有限公司 一种系统升级方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221852A (zh) * 2019-05-15 2019-09-10 深兰科技(上海)有限公司 一种固件升级方法及装置
CN110532813A (zh) * 2019-09-04 2019-12-03 四川长虹电器股份有限公司 一种Android智能电视系统防刷机的方法
CN112860284A (zh) * 2019-11-12 2021-05-28 深圳怡化电脑股份有限公司 设备远程升级的sp升级包生成方法、装置及计算机设备
CN112860284B (zh) * 2019-11-12 2024-05-10 深圳怡化电脑股份有限公司 设备远程升级的sp升级包生成方法、装置及计算机设备

Also Published As

Publication number Publication date
CN106569865B (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN107391143B (zh) 一种T-Box远程升级方法
CN109787774B (zh) 基于数字签名校验的升级下载方法、装置、服务器及终端
US9066226B2 (en) Initialization of embedded secure elements
CN104052818B (zh) 一种移动终端的版本升级方法及装置
US8255908B2 (en) Managing tasks in a distributed system
EP3629610A1 (en) Method and apparatus for managing embedded universal integrated circuit card configuration file
CN102932777A (zh) 一种终端应用的更新方法和用户终端
CN108154023B (zh) 信息处理系统及信息处理方法
US20200089488A1 (en) Method for Authenticating and Updating EUICC Firmware Version and Related Apparatus
US10127037B2 (en) Method for recognizing application type
CN105446769A (zh) 镜像文件升级处理方法、装置和终端设备
CN105389177A (zh) 一种软件版本确认方法、装置及系统
CN106569865A (zh) 一种终端的系统升级文件的制作方法及制作装置
CN106055375B (zh) 应用程序安装方法及装置
CN105700918A (zh) 一种系统升级方法及装置
CN103514006A (zh) 一种Android系统预装应用升级的方法及系统
CN105808273A (zh) 软件升级方法和软件升级装置
CN109495874A (zh) Profile下载的方法和装置
CN106535156B (zh) 虚拟用户识别模块卡的迁移方法、终端、服务器、系统
CN110750286B (zh) OTA升级Mbn的管理方法、装置、系统、设备和介质
CN111417927B (zh) 资源权限处理方法、装置、存储介质及芯片
CN102622251A (zh) 导航软件升级管理的方法及服务器
US20170243105A1 (en) Information processing apparatus, information processing method, and program
CN111182527B (zh) Ota固件升级方法、装置、终端设备及其存储介质
CN110798836A (zh) eSIM卡终端设备切换方法和装置

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
CP01 Change in the name or title of a patent holder

Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11

Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd.

Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11

Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder