升级包的加密、解密方法和电子装置及存储介质.pdf

上传人:齐** 文档编号:11663045 上传时间:2021-10-14 格式:PDF 页数:18 大小:770.60KB
收藏 版权申诉 举报 下载
升级包的加密、解密方法和电子装置及存储介质.pdf_第1页
第1页 / 共18页
升级包的加密、解密方法和电子装置及存储介质.pdf_第2页
第2页 / 共18页
升级包的加密、解密方法和电子装置及存储介质.pdf_第3页
第3页 / 共18页
文档描述:

《升级包的加密、解密方法和电子装置及存储介质.pdf》由会员分享,可在线阅读,更多相关《升级包的加密、解密方法和电子装置及存储介质.pdf(18页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910266567.6 (22)申请日 2019.04.03 (71)申请人 OPPO广东移动通信有限公司 地址 523860 广东省东莞市长安镇乌沙海 滨路18号 (72)发明人 李杨 (74)专利代理机构 深圳市恒申知识产权事务所 (普通合伙) 44312 代理人 赵胜宝 (51)Int.Cl. H04W 12/02(2009.01) (54)发明名称 一种升级包的加密、 解密方法和电子装置及 存储介质 (57)摘要 一种升级包的加密、 解密方法和电子装置及 存储介质,。

2、 可基于原始升级包中各待升级分区的 升级文件, 确定其中的目标升级文件; 之后, 识别 目标升级文件中的第一升级子文件和第二升级 子文件, 对原始升级包中的第一升级子文件按照 第一加密算法进行加密, 对第二升级子文件不加 密, 得到加密升级包, 基于上述描述可知本实施 例中采用了部分加密的规则对目标升级文件中 的部分文件进行加密, 由此第二升级子文件无需 加密, 有效减少了加密数据量, 缩短了加密时间, 而解密升级包时, 无需将第二升级子文件的数据 1:1解密到内存, 有利于降低升级包解密对电子 装置内存的依赖、 缩短解密时间及提升升级效 率。 权利要求书2页 说明书11页 附图4页 CN 1。

3、10022558 A 2019.07.16 CN 110022558 A 1.一种升级包的加密方法, 其特征在于, 包括: 获取原始升级包, 其中, 所述原始升级包中包含操作系统的各待升级分区的升级文件; 基于各所述升级文件的信息, 确定目标升级文件; 识别所述目标升级文件中的第一升级子文件和第二升级子文件, 对所述原始升级包中 的所述第一升级子文件按照第一加密算法进行加密, 对所述第二升级子文件不加密, 得到 加密升级包, 其中, 所述第二升级子文件包含待写入所述操作系统的待升级分区的数据, 所 述第一升级子文件包含控制所述第二升级子文件写入所述待升级分区的写入控制数据。 2.根据权利要求1。

4、所述的升级包的加密方法, 其特征在于, 所述基于各所述升级文件的 信息, 确定目标升级文件包括: 将各所述升级文件对应的待升级分区与预设操作系统分区进行匹配, 将匹配成功的待 升级分区的升级文件确定为目标升级文件; 或者, 将各所述升级文件的文件大小与预设文件大小进行比较, 将文件大小不小于所 述预设文件大小的升级文件确定为目标升级文件。 3.根据权利要求1所述的升级包的加密方法, 其特征在于, 所述基于各所述升级文件的 信息, 确定目标升级文件后, 还包括: 按照第二加密算法, 对所述原始升级包中除所述目标升级文件之外的其他升级文件进 行整体加密。 4.根据权利要求1-3任一项所述的升级包的。

5、加密方法, 其特征在于, 在对所述原始升级 包中除所述目标升级文件之外的其他升级文件进行整体加密后, 还包括: 统计所述原始升级包的文件中的已加密文件; 在所述加密升级包中写入用于指示所述已加密文件的指示信息。 5.根据权利要求4所述的升级包的加密方法, 其特征在于, 所述在所述加密升级包中写 入用于指示所述已加密文件的指示信息包括: 生成所述已加密文件的文件信息列表, 将所述文件信息列表作为所述指示信息写入所 述加密升级包中。 6.一种升级包的解密方法, 其特征在于, 包括: 获取加密升级包, 解析所述加密升级包; 确定所述加密升级包中的目标升级文件, 其中, 所述目标升级文件中的第一升级子。

6、文 件按照第一加密算法进行加密, 所述目标升级文件中的第二升级子文件未加密; 按照与所述第一加密算法对应的第一解密算法, 对所述目标升级文件中的第一升级子 文件进行解密。 7.根据权利要求6所述的升级包的解密方法, 其特征在于, 所述确定所述加密升级包中 的目标升级文件包括: 从所述加密升级包中获取已加密文件的文件信息列表; 根据所述文件信息列表中的信息, 确定所述加密升级包中的目标升级文件。 8.一种电子装置, 其特征在于, 包括: 第一获取模块, 用于获取原始升级包, 其中, 所述原始升级包中包含操作系统的各待升 级分区的升级文件; 第一确定模块, 用于基于各所述升级文件的信息, 确定目标。

7、升级文件; 权利要求书 1/2 页 2 CN 110022558 A 2 加密模块, 用于识别所述目标升级文件中的第一升级子文件和第二升级子文件, 对所 述原始升级包中的所述第一升级子文件按照第一加密算法进行加密, 对所述第二升级子文 件不加密, 得到加密升级包, 其中, 所述第二升级子文件包含待写入所述操作系统的待升级 分区的数据, 所述第一升级子文件包含控制所述第二升级子文件写入所述待升级分区的写 入控制数据。 9.一种电子装置, 包括: 存储器、 处理器及存储在所述存储器上并可在所述处理器上运 行的计算机程序, 其特征在于, 所述处理器执行所述计算机程序时, 实现权利要求1-5中任 意一。

8、项所述方法中的步骤。 10.一种存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序被处理器执 行时, 实现权利要求1-5中的任意一项所述方法中的步骤。 11.一种电子装置, 其特征在于, 包括: 第二获取模块, 用于获取加密升级包, 解析所述加密升级包; 第二确定模块, 用于确定所述加密升级包中的目标升级文件, 其中, 所述目标升级文件 中的第一升级子文件按照第一加密算法进行加密, 所述目标升级文件中的第二升级子文件 未加密; 解密模块, 用于按照与所述第一加密算法对应的第一解密算法, 对所述目标升级文件 中的第一升级子文件进行解密。 12.一种电子装置, 包括: 存储器、 处理。

9、器及存储在所述存储器上并可在所述处理器上 运行的计算机程序, 其特征在于, 所述处理器执行所述计算机程序时, 实现权利要求6或7所 述方法中的步骤。 13.一种存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序被处理器执 行时, 实现权利要求6或7所述方法中的步骤。 权利要求书 2/2 页 3 CN 110022558 A 3 一种升级包的加密、 解密方法和电子装置及存储介质 技术领域 0001 本申请涉及终端技术领域, 尤其涉及一种升级包的加密、 解密方法和电子装置及 存储介质。 背景技术 0002 目前, OTA(Over-the-Air r Technology, 空中下载。

10、技术)升级是Android系统提供 的标准软件升级方式。 它功能强大, 可以无损失升级系统, 主要通过网络自动下载OTA升级 包, 实现自动升级。 0003 实际中, 采用OTA升级包升级时, 基于相关技术中OTA升级包的加密技术的限制, 加 密需要较大的内存, 而解密时需要将整个升级包1:1解密到内存, 所以OTA升级包的加解密 过程对内存依赖较大, 不适用于配置较低的机型, 且在OTA升级包的加解密数据量大的情况 下, 尤其影响升级效率。 发明内容 0004 本申请实施例提供一种升级包的加密、 解密方法和电子装置及存储介质, 有利于 降低升级包在加密和解密时对内存的依赖。 0005 本申请。

11、实施例第一方面提供一种升级包的加密方法, 该升级包的加密方法包括: 0006 获取原始升级包, 其中, 原始升级包中包含操作系统的各待升级分区的升级文件; 0007 基于各升级文件的信息, 确定目标升级文件; 0008 识别目标升级文件中的第一升级子文件和第二升级子文件, 对原始升级包中的第 一升级子文件按照第一加密算法进行加密, 对第二升级子文件不加密, 得到加密升级包, 其 中, 第二升级子文件包含待写入操作系统的待升级分区的数据, 第一升级子文件包含控制 第二升级子文件写入待升级分区的写入控制数据。 0009 本申请实施例第二方面提供一种升级包的解密方法, 该升级包的解密方法包括: 00。

12、10 获取加密升级包, 解析加密升级包; 0011 确定加密升级包中的目标升级文件, 其中, 目标升级文件中的第一升级子文件按 照第一加密算法进行加密, 目标升级文件中的第二升级子文件未加密; 0012 按照与第一加密算法对应的第一解密算法, 对目标升级文件中的第一升级子文件 进行解密。 0013 本申请实施例第三方面提供一种电子装置, 该电子装置包括: 0014 第一获取模块, 用于获取原始升级包, 其中, 原始升级包中包含操作系统的各待升 级分区的升级文件; 0015 第一确定模块, 用于基于各升级文件的信息, 确定目标升级文件; 0016 加密模块, 用于识别目标升级文件中的第一升级子文。

13、件和第二升级子文件, 对原 始升级包中的第一升级子文件按照第一加密算法进行加密, 对第二升级子文件不加密, 得 到加密升级包, 其中, 第二升级子文件包含待写入操作系统的待升级分区的数据, 第一升级 说明书 1/11 页 4 CN 110022558 A 4 子文件包含控制第二升级子文件写入待升级分区的写入控制数据。 0017 本申请实施例第四方面提供一种电子装置, 包括: 存储器、 处理器及存储在存储器 上并可在处理器上运行的计算机程序, 处理器执行计算机程序时, 实现本申请实施例第一 方面提供的加密方法中的步骤。 0018 本申请实施例第五方面提供一种存储介质, 其上存储有计算机程序, 计。

14、算机程序 被处理器执行时, 实现本申请实施例第一方面提供的加密方法中的步骤。 0019 本申请实施例第六方面提供一种电子装置, 该电子装置包括: 0020 第二获取模块, 用于获取加密升级包, 解析加密升级包; 0021 第二确定模块, 用于确定加密升级包中的目标升级文件, 其中, 目标升级文件中的 第一升级子文件按照第一加密算法进行加密, 目标升级文件中的第二升级子文件未加密; 0022 解密模块, 用于按照与第一加密算法对应的第一解密算法, 对目标升级文件中的 第一升级子文件进行解密。 0023 本申请实施例第七方面提供一种电子装置, 包括: 存储器、 处理器及存储在存储器 上并可在处理器。

15、上运行的计算机程序, 处理器执行计算机程序时, 实现本申请实施例第二 方面提供的解密方法中的步骤。 0024 本申请实施例第八方面提供一种存储介质, 其上存储有计算机程序, 计算机程序 被处理器执行时, 实现本申请实施例第二方面提供的解密方法中的步骤。 0025 本发明实施例提供了一种升级包的加密、 解密方法和电子装置及存储介质, 可以 基于原始升级包中包含的各待升级分区的升级文件, 确定这些升级文件中的目标升级文 件; 之后, 识别目标升级文件中的第一升级子文件和第二升级子文件, 对原始升级包中的第 一升级子文件按照第一加密算法进行加密, 对第二升级子文件不加密, 得到加密升级包, 从 上述。

16、的描述可以看出本实施例中实际上采用了部分加密的规则对目标升级文件中的部分 文件进行加密, 按照此种加密规则, 第二升级子文件的数据不会进行加密, 有效减少了加密 数据量, 缩短了加密时间, 而电子装置解密升级包时, 不需要将第二升级子文件的数据1:1 解密到内存, 并且由于第二升级子文件包含的是待写入待升级分区的数据, 这一部分的数 据量在目标升级文件往往占比较大, 所以本实施例有利于降低升级包解密对电子装置内存 的依赖、 缩短解密时间及提升升级效率。 附图说明 0026 图1为本申请提供的一种电子装置的硬件结构示意图; 0027 图2为本申请第一实施例提供的升级包的加密方法的流程示意图; 0。

17、028 图3为本申请第二实施例提供的细化的升级包的加密方法的流程示意图; 0029 图4为本申请第二实施例中升级包的加密方法的原理示意图; 0030 图5为本申请第三实施例提供的一种电子装置的结构示意图; 0031 图6为本申请第三实施例提供的另一种电子装置的结构示意图; 0032 图7为本申请第四实施例提供的一种升级包的解密方法的流程示意图; 0033 图8为本申请第五实施例提供的细化的升级包的解密方法的流程示意图; 0034 图9为本申请第六实施例提供的一种电子装置的结构示意图; 0035 图10为本申请第六实施例提供的另一种电子装置的结构示意图。 说明书 2/11 页 5 CN 1100。

18、22558 A 5 具体实施方式 0036 为使得本申请的发明目的、 特征、 优点能够更加的明显和易懂, 下面将结合本申请 实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实 施例仅仅是本申请一部分实施例, 而非全部实施例。 基于本申请中的实施例, 本领域技术人 员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本申请保护的范围。 0037 参照图1, 图1示出了一种电子装置的结构框图。 本发明实施例提供的升级包的加 密、 解密方法可应用于如图1所示的电子装置10中, 电子装置10包括但不限于: 移动终端如 智能手机、 笔记本及穿戴智能设备等, 。

19、固定终端如台式电脑及智能电视, 以及服务器等等。 0038 如图1所示, 电子装置10包括存储器101、 存储控制器102, 一个或多个(图中仅示出 一个)处理器103、 外设接口104及触控屏幕105。 这些组件通过一条或多条通讯总线/信号线 106相互通讯。 0039 可以理解, 图1所示的结构仅为示意, 其并不对电子装置的结构造成限定。 电子装 置10还可包括比图1所示更多或者更少的组件, 或者具有与图1所示不同的配置。 图1所示的 各组件可以采用硬件、 软件或其组合实现。 0040 存储器101可用于存储软件程序以及模块, 如本发明实施例中的升级包的加密、 解 密方法及电子装置对应的程。

20、序指令/模块, 处理器103通过运行存储在存储器101内的软件 程序以及模块, 从而执行各种功能应用以及数据处理, 例如实现上述的升级包的加密、 解密 方法。 0041 存储器101可包括高速随机存储器, 还可包括非易失性存储器, 如一个或者多个磁 性存储装置、 闪存、 或者其他非易失性固态存储器。 在一些实例中, 存储器101可进一步包括 相对于处理器103远程设置的存储器, 这些远程存储器可以通过网络连接至电子装置10。 上 述网络的实例包括但不限于互联网、 企业内部网、 局域网、 移动通信网及其组合。 处理器103 以及其他可能的组件对存储器101的访问可在存储控制器102的控制下进行。。

21、 0042 外设接口104将各种输入/输入装置耦合至CPU以及存储器101。 处理器103运行存 储器101内的各种软件、 指令以执行电子装置10的各种功能以及进行数据处理。 0043 在一些实施例中, 外设接口104, 处理器103以及存储控制器102可以在单个芯片中 实现。 在其他一些实例中, 他们可以分别由独立的芯片实现。 0044 触控屏幕105在电子装置与用户之间同时提供一个输出及输入界面。 具体地, 触控 屏幕105向用户显示视频输出, 这些视频输出的内容可包括文字、 图形、 视频、 及其任意组 合。 例如, 触控屏幕105向用户输出经本发明实施例中的升级包的加密、 解密方法处理后。

22、的 待显示内容。 触控屏幕105的一些输出结果是对应于一些用户界面对象。 触控屏幕105还接 收用户的输入, 例如用户的点击、 滑动等手势操作, 以便用户界面对象对这些用户的输入做 出响应。 检测用户输入的技术可以是基于电阻式、 电容式或者其他任意可能的触控检测技 术。 触控屏幕105显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。 0045 基于上述电子装置描述本发明实施例中的升级包的加密方法和解密方法。 0046 第一实施例: 0047 本实施例示出了一种升级包的加密方法, 可以实现对升级包的快速加密, 缩短加 密时间, 还可以使得电子装置在使用升级包时, 降低升级包解密对电。

23、子装置内存的依赖, 缩 短解密时间, 提升升级效率。 说明书 3/11 页 6 CN 110022558 A 6 0048 参见图2, 该升级包的加密方法包括: 0049 步骤201、 获取原始升级包, 其中, 原始升级包中包含操作系统的各待升级分区的 升级文件; 0050 本实施例中, 原始升级包适用的操作系统包括但不限于安卓系统。 原始升级包的 类型包括但不限于OTA升级包。 可以理解的是, 本实施例的原始升级包为未压缩的升级包。 0051 本实施例中, 操作系统分区是针对操作系统的概念, 操作系统的分区包括但不限 于system系统分区, userdata数据分区、 cache缓存分区、。

24、 recovery分区(建立在hboot与 android系统间的一个中间层, 主要用于系统调试和恢复)、 boot分区(存放内核和ramdisk 的分区)、 hboot分区(即bootloader, 负责启动的分区)以及radio分区(基带所在分区)等等 分区。 这些分区在操作系统升级时, 可以通过对应的升级文件实现升级。 0052 本实施例中的待升级分区可以为操作系统的分区中的任意一个或多个, 待升级分 区的具体类型根据操作系统的实际升级情况而定, 本实施例对此没有限制。 0053 步骤202、 基于各升级文件的信息, 确定目标升级文件; 0054 本实施例中的目标升级文件是需要按照部分加。

25、密规则进行加密的升级文件, 即针 对每一个目标升级文件, 只对文件中的一部分进行加密, 而对其他部分不加密。 这种部分加 密的加密规则可以有效降低加密数据量, 减少加密时间。 但是为了保证系统升级时的数据 安全性, 本实施例中满足目标升级文件中加密部分的数据不解密, 则电子装置不能基于目 标升级文件对对应的待升级分区进行升级的条件。 0055 可选的, 在一个实施例中, 各升级文件, 可以大致分为两部分-第一升级子文件和 第二升级子文件, 该第二升级子文件中包含了待写入对应的待升级分区的数据, 第一升级 子文件中包含了控制第二升级子文件写入对应的待升级分区的写入控制数据, 即控制第二 升级子文。

26、件中的数据 “如何” 写入待升级分区的数据。 以一个待升级分区为system分区为 例, 假设原始升级包中的一个目标升级文件为system分区的升级文件, 则该升级文件中的 system.new.dat.br和system.patch.dat等二进制文件为本实施例中的第二升级子文件, 该第二升级子文件中的数据最后需要写入对应的待升级分区中, 而system分区的升级文件 中的system.transfer.list脚本为本实施例中的第一升级子文件, 相当于升级脚本, 描述 了电子装置根据第二升级子文件中的数据进行更新的过程, 可以用于控制第二升级子文件 中的数据写入待升级分区的过程。 0056。

27、 可选的, 在一个示例中, 可以选择原始升级包中的所有升级文件作为目标升级文 件。 也可以选择原始升级包中的部分升级文件作为目标升级文件。 可选的, 在选择原始升级 包中的部分升级文件作为目标升级文件时, 为了降低加密数据量以及降低电子装置升级时 解密的数据量, 可以基于升级文件的实际文件大小进行选择, 将较大的升级文件作为目标 升级文件进行部分加密, 例如将原始升级包的升级文件中文件大小排列在前的三个升级文 件作为目标升级文件。 可选的, 在一个示例中, 还可以根据升级文件对应的待升级分区来选 择目标升级文件, 本实施例对此没有限制。 0057 步骤203、 识别目标升级文件中的第一升级子文。

28、件和第二升级子文件, 对原始升级 包中的第一升级子文件按照第一加密算法进行加密, 对第二升级子文件不加密, 得到加密 升级包, 其中, 第二升级子文件包含待写入操作系统的待升级分区的数据, 第一升级子文件 包含控制第二升级子文件写入待升级分区的写入控制数据。 说明书 4/11 页 7 CN 110022558 A 7 0058 本实施例中, 第一加密算法可以采用现有的加密算法实现, 包括但不限于对称加 密算法、 非对称加密算法和Hash算法等等, 本实施例对此没有限制。 0059 本实施例中, 在步骤203中, 对目标升级文件进行部分加密, 绕过了空间占用较大 的二进制文件加密流程。 可选的,。

29、 在对原始升级包中的第一升级子文件按照第一加密算法 进行加密后, 可以压缩原始升级包, 生成加密升级包, 并进行签名等处理。 本实施例的加密 方法适用于block-based升级包的快速加密, 以及电子装置的低内存场景。 0060 在一个实施例中, 以安卓操作系统为为例, 假设原始升级包中包含system和 vendor分区, 通过步骤202, 本实施例确定system和vendor分区的升级文件为目标升级文 件 , 则 本 申 请 在 步 骤 2 0 3 中 , 对 系统 脚 本 文 件 s y s t e m .t r a n s f e r .l i s t 和 vendor .tran。

30、sfer .list按照第一加密算法进行加密, 对system .new .dat .br和 system.patch.dat以及vendor.patch.dat和vendor.new.dat.br等全量或增量二进制文件 不进行任何加密。 0061 本实施例采用了部分加密的规则对目标升级文件中的部分文件进行加密, 按照此 种加密规则, 第二升级子文件的数据不会进行加密, 减少加密数据量, 缩短了加密时间, 而 电子装置解密升级包时, 不需要对第二升级子文件包含的待写入待升级分区的二进制数据 进行解密, 大大降低升级包解密对电子装置内存的依赖, 缩短了解密时间, 有利于提升升级 效率, 而加密的。

31、第一升级子文件有效保护了数据安全。 0062 第二实施例: 0063 本实施例提出了一种细化的升级包的加密方法, 参见图3, 该加密方法包括: 0064 步骤301、 获取原始升级包, 其中, 原始升级包中包含各待升级分区的升级文件; 0065 本实施例中, 对原始升级包、 操作系统分区以及升级文件的解释参见第一实施例 的相关描述, 本实施例在此不在赘述。 0066 步骤302、 将各升级文件对应的待升级分区与预设操作系统分区进行匹配, 将匹配 成功的待升级分区的升级文件确定为目标升级文件; 0067 可选的, 在一个示例中, 预设操作系统分区包括但不限于system分区和vendor分 区。。

32、 0068 可选的, 在一个实施例中, 步骤302中还可以通过如下的步骤来确定目标升级文 件: 0069 将各升级文件的文件大小与预设文件大小进行比较, 将文件大小不小于预设文件 大小的升级文件确定为目标升级文件。 0070 可选的, 在另一个实施例中, 步骤302中还可以通过如下的步骤来确定目标升级文 件: 0071 将各待升级分区的升级文件按照文件大小从大到小的顺序进行排列, 选择排列在 前的三个升级文件作为目标升级文件。 0072 步骤303、 识别目标升级文件中的第一升级子文件和第二升级子文件, 对原始升级 包中的第一升级子文件按照第一加密算法进行加密, 对第二升级子文件不加密, 得到。

33、加密 升级包, 其中, 第二升级子文件包含待写入操作系统的待升级分区的数据, 第一升级子文件 包含控制第二升级子文件写入待升级分区的写入控制数据。 0073 进一步的, 考虑到除了system分区和vendor分区外的一些分区, 例如boot分区, 其 说明书 5/11 页 8 CN 110022558 A 8 升级文件一般较小, 解密之后所占的存储空间也较小。 对于这些空间占比较小的升级文件, 可以直接进行全部加密, 而不进行部分加密。 可选的, 本实施例中, 在基于各升级文件的信 息, 确定目标升级文件后, 还包括: 按照第二加密算法, 对原始升级包中除目标升级文件之 外的其他升级文件进行。

34、整体加密。 0074 可选的, 对于安卓系统而言, 可以将system和vendor分区的升级文件作为目标升 级文件进行部分加密, 将其他分区的升级文件进行整体加密。 例如, 对于boot、 lk和modem分 区的升级文件进行整体加密。 0075 可选的, 第一加密算法和第二加密算法可以相同或不同, 本实施例对此没有限制。 0076 可选的, 本实施例在加密之后, 为了便于电子装置快速、 准确地确定需要解密的文 件, 可以在加密升级包中写入指示信息, 该指示信息用于指示加密升级包中已加密的文件。 0077 在一个示例中, 在对原始升级包中的第一升级子文件按照第一加密算法进行加密 后, 还包括。

35、: 0078 统计原始升级包的文件中的已加密文件; 0079 在加密升级包中写入用于指示已加密文件的指示信息。 0080 可选的, 统计原始升级包的文件中的已加密文件时, 可以将使用第一加密算法和 第二加密算法加密的文件全部统计在内。 0081 可以理解的是, 本实施例中, 加密升级包中指示信息的存在位置和存在形式可以 任意设置, 本实施例对此没有限制, 例如可以将指示信息用任意字符组合表示, 并将指示信 息拼接在已加密文件的文件名称中, 对于采用不同加密算法的文件, 可以采用不同的字符 组 合表示。 例如 , 对于sys tem .new .da t .br升级子文件 , 可以 将 名称修改。

36、 为 system.new.dat.br( ), 以新增的指示信息( )指示system.new.dat.br升级子文件采用了 第一加密算法进行加密; 对于boot升级文件, 可以将名称修改为boot(), 以新增的指示信 息()指示boot升级子文件采用了第二加密算法进行加密。 0082 在另一个示例中, 可以采用更简单、 直接的列表方式, 为电子装置提供加密升级包 中已经加密文件的信息。 可选的, 在加密升级包中写入用于指示已加密文件的指示信息包 括: 生成已加密文件的文件信息列表, 将文件信息列表作为指示信息写入加密升级包中。 0083 在该示例中, 将统计的已加密文件的名称以列表的形式。

37、进行记录, 得到类似下表 所示的文件信息列表, 如下表所示, 文件信息列表中可以包含加密的文件的名称以及对应 的加密算法。 0084 已加密的文件加密算法 system.transfer.list第一加密算法 vendor.transfer.list第一加密算法 recovery.img第二加密算法 hboot.img第二加密算法 boot.img第二加密算法 lk.img第二加密算法 0085 表1 0086 可选的, 在一个示例中, 该列表可以命名为metadat列表, 与目标升级文件(其中, 说明书 6/11 页 9 CN 110022558 A 9 第一升级子文件已加密)和其他升级文件。

38、一起打包成为加密升级包。 0087 下面以安卓系统为例, 结合图4, 详细说明采用本实施例的加密方式对OTA包进行 加密的过程。 0088 步骤1、 获取译原始OTA包, 并解压处理; 0089 步骤2、 将原始OTA包中待升级分区与预设操作系统分区(system和vendor分区)进 行匹配, 确定system分区和vendore分区的升级文件为目标升级文件; 0090 步骤3、 对于目标升级文件中的system.new.dat.br、 vendor.new.dat.br(图4中未 示出)、 system.patch.dat以及vendor.patch.dat图4中未示出)等数据, 拷贝到新。

39、的数据包 中; 0091 其中, 步骤3中, 还可以将拷贝的数据保留在原始OTA包中, 不进行任何处理; 0092 步骤4、 采用客制化加密算法对系统脚本文件system .transfer .list和 vendor.transfer.list以及boot、 lk和modem等其他镜像文件进行加密处理; 0093 可以理解的是, 该步骤中, system.transfer.list和vendor.transfer.list文件 分别属于system升级文件和vendor文件的一部分, 而boot、 lk和modem等其他镜像文件为完 整的升级文件。 0094 在步骤4中, 可以在原始OTA中。

40、进行加密, 也可以将加密后的文件拷贝到步骤3中的 新的数据包中。 0095 步骤5、 统计加密处理过的文件, 并记录生成如表1所示的文件信息列表oppo_ metadata; 0096 步骤6、 压缩oppo_metadata、 拷贝的数据及加密得到的数据, 并对压缩包进行签名 处理, 生成最终加密OTA包。 0097 在步骤6中, 可以将oppo_metadata列表写入原始OTA包中与未加密和已加密的数 据一起压缩, 并对压缩包进行签名处理, 生成最终加密OTA包。 0098 本实施例采用了部分加密的规则对目标升级文件中的部分文件进行加密, 按照此 种加密规则, 第二升级子文件的数据不会进。

41、行加密, 减少加密数据量, 缩短了加密时间, 而 电子装置解密升级包时, 不需要对第二升级子文件包含的待写入待升级分区的二进制数据 进行解密, 大大降低升级包解密对电子装置内存的依赖, 缩短了解密时间, 有利于提升升级 效率, 而加密的第一升级子文件有效保护了数据安全。 0099 第三实施例: 0100 本实施例提供了一种电子装置, 该电子装置可以是电子装置厂商提供的服务器, 参见图5, 该电子装置包括: 0101 第一获取模块501, 用于获取原始升级包, 其中, 原始升级包中包含操作系统的各 待升级分区的升级文件; 0102 第一确定模块502, 用于基于各升级文件的信息, 确定目标升级文。

42、件; 0103 加密模块503, 用于识别目标升级文件中的第一升级子文件和第二升级子文件, 对 原始升级包中的第一升级子文件按照第一加密算法进行加密, 对第二升级子文件不加密, 得到加密升级包, 其中, 第二升级子文件包含待写入操作系统的待升级分区的数据, 第一升 级子文件包含控制第二升级子文件写入待升级分区的写入控制数据。 0104 可选的, 第一确定模块502, 用于将各升级文件对应的待升级分区与预设操作系统 说明书 7/11 页 10 CN 110022558 A 10 分区进行匹配, 将匹配成功的待升级分区的升级文件确定为目标升级文件。 0105 另一个示例中, 可选的, 第一确定模块。

43、502, 用于将各升级文件的文件大小与预设 文件大小进行比较, 将文件大小不小于预设文件大小的升级文件确定为目标升级文件。 0106 可选的, 加密模块503还用于在第一确定模块502基于各升级文件的信息, 确定目 标升级文件后, 按照第二加密算法, 对原始升级包中除目标升级文件之外的其他升级文件 进行整体加密。 0107 进一步的, 电子装置还包括处理模块, 用于在加密模块503对原始升级包中的第一 升级子文件按照第一加密算法进行加密后, 统计原始升级包的文件中的已加密文件; 在加 密升级包中写入用于指示已加密文件已经被加密的指示信息。 0108 进一步的, 处理模块, 具体用于统计原始升级。

44、包的文件中的已加密文件; 生成已加 密文件的文件信息列表, 将文件信息列表作为指示信息写入加密升级包中。 0109 进一步的, 本实施例还提供一种电子装置。 该电子装置可用于实现图2和图3所示 实施例中的升级包的加密方法。 如图6所示, 该电子装置主要包括: 0110 存储器601、 处理器602、 总线603及存储在存储器601上并可在处理器602上运行的 计算机程序, 存储器601和处理器602通过总线603连接。 处理器602执行该计算机程序时, 实 现图2或图3所示实施例中的升级包的加密方法。 其中, 处理器的数量可以是一个或多个。 0111 进一步的, 本申请实施例还提供了一种存储介。

45、质, 该存储介质可以是设置于本实 施例中的电子装置中, 该存储介质可以是前述图6所示实施例中的存储器。 该存储介质上存 储有计算机程序, 该程序被处理器执行时实现图2或图3所示实施例中的升级包的加密方 法。 进一步的, 该存储介质还可以是U盘、 移动硬盘、 只读存储器(ROM, Read-Only Memory)、 RAM、 磁碟或者光盘等各种可以存储程序代码的介质。 0112 本实施例的电子装置在对原始升级包加密的过程中, 采用了部分加密的规则对目 标升级文件中的部分文件进行加密, 按照此种加密规则, 第二升级子文件的数据不会进行 加密, 减少加密数据量, 缩短了加密时间, 而电子装置解密升。

46、级包时, 不需要对第二升级子 文件包含的待写入待升级分区的二进制数据进行解密, 大大降低升级包解密对电子装置内 存的依赖, 缩短了解密时间, 有利于提升升级效率, 而加密的第一升级子文件有效保护了数 据安全。 0113 第四实施例: 0114 参见图7, 本实施例提供了一种升级包的解密方法, 该解密方法包括如下的步骤: 0115 步骤701、 获取加密升级包, 解析加密升级包; 0116 本实施例中, 获取升级加密包的方式可以是主动获取或者被动获取。 可选的, 获取 加密升级包包括: 向服务器发送升级查询请求, 接收服务器响应于升级查询请求反馈的加 密升级包; 或者, 获取加密升级包包括: 接。

47、收服务器主动发送的加密升级包。 0117 可选的, 对应于第一实施例和第二实施例, 加密升级包中不是所有的文件都进行 了加密, 只有目标升级文件中的第一升级子文件以及除目标升级文件外的其他升级文件才 进行了加密。 0118 步骤702、 确定加密升级包中的目标升级文件, 其中, 目标升级文件中的第一升级 子文件按照第一加密算法进行加密, 目标升级文件中的第二升级子文件未加密; 0119 可选的, 加密升级包中用于包含有指示已加密文件的指示信息, 在确定目标升级 说明书 8/11 页 11 CN 110022558 A 11 文件的时候, 可以根据加密升级包中的指示信息来确定目标升级文件。 可选。

48、的, 确定加密升 级包中的目标升级文件包括: 获取加密升级包中包含的用于指示已加密文件的指示信息, 基于指示信息确定加密升级包中的目标升级文件。 0120 步骤703、 按照与第一加密算法对应的第一解密算法, 对目标升级文件中的第一升 级子文件进行解密。 0121 可选的, 在对目标升级文件中的第一升级子文件进行解密时, 将第一升级子文件 解密到电子装置对应的内存中。 0122 可选的, 本实施例中, 若加密升级包中除目标升级文件外的其他升级文件采用了 第二加密算法加密, 则按照对应的第二解密算法对加密升级包中除目标升级文件外的其他 升级文件解密。 可以理解的是, 在解密这些其他升级文件时, 。

49、将解密后的数据写入对应的分 区中。 0123 进一步的, 在解密完成后, 可以基于解密的数据以及第二升级子文件, 进行升级, 该升级过程与现有的升级过程没有区别。 0124 可选的, 在升级完成后, 还包括, 删除内存中的解密结果, 以保证解密数据安全。 0125 本实施例的电子装置在解密过程中, 对目标升级文件无需1:1解密到内存, 只需解 密其中的第一升级子文件, 降低了解密对内存的依赖, 减少了解密数据量, 缩短了解密时 间, 而解密结果输出到内存, 保证解密数据安全, 同时提高了升级包安装效率。 0126 第五实施例: 0127 参见图8, 本实施例提供了一种细化的升级包的解密方法, 。

50、该解密方法包括如下的 步骤: 0128 步骤801、 获取加密升级包, 解析加密升级包; 0129 步骤802、 从加密升级包中获取已加密文件的文件信息列表, 根据文件信息列表中 的信息, 确定加密升级包中的目标升级文件, 其中, 目标升级文件中的第一升级子文件按照 第一加密算法进行加密, 目标升级文件中的第二升级子文件未加密; 0130 上述步骤802是第三实施例中步骤702的细化步骤, 其中, 文件信息列表的生成过 程参见第二实施例的相关描述。 参见第二实施例中的表1, 文件信息列表中可以包含加密的 文件的名称和加密的算法。 0131 步骤803、 按照与第一加密算法对应的第一解密算法, 。

展开阅读全文
内容关键字: 升级 加密 解密 方法 电子 装置 存储 介质
关于本文
本文标题:升级包的加密、解密方法和电子装置及存储介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/11663045.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1