CN117131522A - 文件处理方法、装置和电子设备 - Google Patents

文件处理方法、装置和电子设备 Download PDF

Info

Publication number
CN117131522A
CN117131522A CN202311018577.0A CN202311018577A CN117131522A CN 117131522 A CN117131522 A CN 117131522A CN 202311018577 A CN202311018577 A CN 202311018577A CN 117131522 A CN117131522 A CN 117131522A
Authority
CN
China
Prior art keywords
terminal
image file
key
target key
encrypted
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
CN202311018577.0A
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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202311018577.0A priority Critical patent/CN117131522A/zh
Publication of CN117131522A publication Critical patent/CN117131522A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种文件处理方法、装置和电子设备,属于电子设备领域。文件处理方法包括:获取终端的启动镜像文件以及目标密钥,所述目标密钥与所述终端具有一一对应关系;基于所述目标密钥对所述启动镜像文件加密,得到加密启动镜像文件,所述加密启动镜像文件用于烧录至所述终端,并用于供所述终端基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。

Description

文件处理方法、装置和电子设备
技术领域
本申请属于电子设备领域,具体涉及一种文件处理方法、装置和电子设备。
背景技术
安卓设备指的是运行有安卓操作系统的电子设备。安卓设备在设备启动过程中具有两个阶段:安全启动(Secure boot)阶段和安卓验证引导(Android Verified Boot,AVB)阶段。在AVB阶段,安卓设备获取其存储的启动镜像文件,利用启动镜像文件检查安卓操作系统文件和应用程序文件的完整性,以在确定检查文件未被篡改的情况下,调用安卓操作系统文件和应用程序文件,运行安卓操作系统和应用程序。
相关技术中,攻击者可以通过ROOT工具修改启动镜像文件,从而获得设备ROOT根权限。进而,攻击者可以利用根权限读取、修改或者删除设备中存储的数据,导致设备存在安全风险。
发明内容
本申请实施例的目的是提供一种文件处理方法、装置和电子设备,能够解决相关技术中设备存在安全风险的问题。
第一方面,本申请实施例提供了一种文件处理方法,所述方法包括:
获取终端的启动镜像文件以及目标密钥,所述目标密钥与所述终端具有一一对应关系;
基于所述目标密钥对所述启动镜像文件加密,得到加密启动镜像文件,所述加密启动镜像文件用于烧录至所述终端,并用于供所述终端基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
第二方面,本申请实施例提供了一种文件处理方法,所述方法包括:
获取目标密钥和加密启动镜像文件,所述加密启动镜像文件是所述加密服务端基于所述目标密钥对启动镜像文件加密得到的文件,所述目标密钥与所述终端具有一一对应关系;
基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
第三方面,本申请实施例提供了一种文件处理装置,所述装置包括:
获取模块,用于获取终端的启动镜像文件以及目标密钥,所述目标密钥与所述终端具有一一对应关系;
加密模块,用于基于所述目标密钥对所述启动镜像文件加密,得到加密启动镜像文件,所述加密启动镜像文件用于烧录至所述终端,并用于供所述终端基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
第四方面,本申请实施例提供了一种文件处理装置,所述装置包括:
获取模块,用于获取目标密钥和加密启动镜像文件,所述加密启动镜像文件是所述加密服务端基于所述目标密钥对启动镜像文件加密得到的文件,所述目标密钥与所述终端具有一一对应关系;
解密模块,用于基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
第五方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面或第二方面任一所述的方法的步骤。
第六方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面或第二方面任一所述的方法的步骤。
第七方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面或第二方面任一所述的方法。
第八方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面或第二方面任一所述的方法。
在本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
附图说明
图1是本申请实施例提供的一种文件处理方法的实施环境示意图;
图2是本申请实施例提供的一种签名校验方法的流程图;
图3是本申请实施例提供的一种终端的框图;
图4是本申请实施例提供的一种文件处理方法的流程图;
图5是本申请实施例提供的另一种文件处理方法的流程图;
图6是本申请另一实施例提供的一种文件处理方法的实施环境示意图;
图7是本申请另一实施例提供的一种文件处理方法的流程图;
图8是本申请另一实施例提供的另一种文件处理方法的实施环境示意图;
图9是本申请另一实施例提供的另一种文件处理方法的流程图;
图10是本申请又一实施例提供的一种文件处理方法的流程图;
图11是本申请又一实施例提供的另一种文件处理方法的流程图;
图12是本申请实施例提供的一种文件处理装置的框图;
图13是本申请实施例提供的另一种文件处理装置的框图;
图14是本申请实施例提供的一种电子设备的框图;
图15是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的文件处理方法、装置及设备进行详细地说明。
为了便于理解,下述先对本申请实施例涉及的名词进行解释。
设备硬件标识符:用于标识设备硬件的唯一性,每个设备的设备硬件标识符不同。设备硬件标识符通常由设备制造商或者设备硬件供应商在生产过程中烧录于在设备硬件中的一个唯一值,以固化于设备,且无法被篡改。其中,设备硬件标识符通常包括但不限于以下几种:国际移动设备识别码(International Mobile Equipment Identity,IMEI)、EMMC(Embedded MultiMedia Card)存储器的身份标识号(Identity document,ID),即EMMCID、通用闪存存储器(Univeral Flash Storage,UFS)的ID,即UFS ID。
IMEI:是一个15位数字的标识符,用于设备的唯一性,其可以区别不同的移动终端,简称终端。
EMMC ID/UFS ID:均是一种存储芯片的唯一标识符。由存储芯片制造商在生产过程中固化于存储芯片中的一个唯一值,其可以区别不同的存储芯片。
设备密钥种子(seed):存储于设备的芯片上,通常由芯片制造商负责烧录于设备的芯片中,其具有设备攻击者和原始设备制造商(Original Equipment Manufacturer,OEM)无法读取的特性。但是,设备密钥种子存在两种情况。一种情况下,每个设备的设备密钥种子可以相同。另一情况下,每个设备的设备密钥种子可以不同。
BootROM:英文全称为Boot Read-Only Memory。BootROM为用于存放路由器启动程序的存储器。
Efuse:一种一次性可编程存储器。
OTP:英文全称为:One Time Programmable。OTP是单片机的一种存储器类型,具有一次性可编程特征。一次性可编程指的是:程序烧入存储器后将不可再次更改和清除。
Bootloader:安卓设备的一个关键组件,其用于加载和启动安卓操作系统,并检查设备是否被修改。若设备的Bootloader被锁定,则无法在设备上安装和运行未经过厂商认证的代码。若设备的Bootloader被解锁,可以关闭安卓AVB阶段中启动镜像数据的镜像签名校验,从而可以执行镜像签名校验不会通过的被修改的启动镜像文件。其中,在MTK平台上Bootloader又称为little kernel。在高通平台上Bootloader称为Bootloader。
安卓设备的启动流程:其包括Secure boot阶段和AVB阶段共两个阶段。Secureboot阶段为安卓设备的安卓系统启动的第一阶段。在Secure boot阶段中,安卓设备的系统级芯片(System on Chip,SoC)上存储的根(Root)公钥作为Secure boot阶段的信任根。安卓系统利用Root公钥检查启动设备中的Bootloader的签名是否被篡改或者被恶意软件所替换,以保证设备系统的完整性和安全性。AVB阶段为安卓系统启动的第二阶段。在AVB阶段中,安卓系统利用启动镜像文件检查安卓操作系统文件和应用程序文件的完整性,以在确定检查文件未被篡改的情况下,调用安卓操作系统文件和应用程序文件,运行安卓操作系统和应用程序。其中,在AVB阶段中Bootloader会校验启动镜像文件的镜像签名,即数字签名,以防止启动镜像文件被修改。
其中,在安卓系统13.0版本之前,安卓系统的启动镜像文件为boot.img。在安卓系统13.0版本之后,安卓系统的启动镜像文件为init_boot.img。
请参考图1,其示出了本申请实施例提供的文件处理方法的实施环境示意图。如图1所示,文件处理方法的实施环境,即处理系统包括:加密服务端101和终端102。加密服务端101和终端102之间可以通过数据线或网络连接。终端102以安卓设备为例。可选地,终端102可以为运行有安卓操作系统的电脑、平板电脑、可穿戴设备或手机等。终端102可以为运行其他操作系统的设备。
其中,加密服务端101又称镜像加密服务端,其可以生成终端102的加密启动镜像文件。该加密启动镜像文件为加密服务端利用本申请实施例提供的文件处理方法对启动镜像文件加密后的文件,且加密启动镜像文件用于烧录至终端。终端102可以获取烧录的加密启动镜像文件,并对加密启动镜像文件解密得到启动镜像文件。利用启动镜像文件启动终端。
可选地,加密服务端101可以包括:镜像烧录设备、镜像服务器和镜像加密设备。其中,镜像烧录设备、镜像服务器和镜像加密设备之间可以通过数据线或网络连接。镜像烧录设备用于向终端烧录加密启动镜像文件。镜像服务设备用于获取终端的启动镜像文件。镜像加密设备用于对启动镜像文件加密,得到加密启动镜像文件。或者,加密服务端101包括:镜像服务器和镜像加密设备。处理系统还包括:镜像烧录设备。其中,镜像烧录设备运行有文件烧录工具。镜像加密设备用于在得到加密启动镜像文件之后,向镜像烧录设备发送加密启动镜像文件,以使得镜像烧录设备通过其运行的文件烧录工具向终端烧录加密启动镜像文件。或者,加密服务端101为具有获取启动镜像文件以及目标密钥、加密、烧录功能的设备。本申请下述实施例主要以加密服务端101包括镜像烧录设备,具有向终端烧录加密启动镜像文件的功能为例。
在一种可选地实现方式中,启动镜像文件包括:启动镜像数据和镜像签名。文件处理方法的实施环境还包括:签名服务端103。签名服务端103与终端102和加密服务端101之间可以通过数据线或网络连接。签名服务端103可以用于生成镜像签名密钥对,该镜像签名密钥对包括公钥sign_pubk和私钥sign_prvk。签名服务端103基于镜像签名密钥对中的私钥,对终端的启动镜像数据的哈希值进行签名处理得到镜像签名。将镜像签名和启动镜像数据组装生成启动镜像文件,并向终端102发送镜像签名密钥对的公钥,向加密服务端101发送启动镜像文件。
相应的,终端102还用于基于镜像签名密钥对的公钥校验启动镜像文件。校验启动镜像文件的过程包括:计算启动镜像文件中启动镜像数据的目标哈希值,并基于镜像签名密钥对的公钥从启动镜像文件的镜像签名中提取哈希值。对提取的哈希值与目标哈希值进行一致性校验。在一致性校验通过,即哈希值与目标哈希值一致的情况下,加载启动镜像数据,以启动终端。在一致性校验未通过,即哈希值与目标哈希值不一致的情况下,可以停止加载启动镜像数据,并输出告警信息。
可选地,签名服务端103包括编译服务端1031和密钥服务端1032。编译服务端1031和密钥服务端1032之间通过数据线或网络连接。进一步可选地,编译服务端1031包括镜像处理模块。密钥服务端1032包括:签名模块、密钥生成模块以及密钥管理模块。
如图2所示,密钥生成模块用于生成镜像签名密钥对,向密钥管理模块发送镜像签名密钥对的私钥,向镜像处理模块发送镜像签名密钥对的公钥。密钥管理模块保存接收到的镜像签名密钥对的私钥,向密钥生成模块反馈保存结果。保存结果指示已保存镜像签名密钥对的私钥。镜像处理模块将镜像签名密钥对的公钥保存至终端102,并计算终端的启动镜像数据的哈希值,将哈希值发送至签名模块。签名模块基于私钥对哈希值进行签名处理得到镜像签名,将镜像签名发送至镜像处理模块。镜像处理模块组装启动镜像数据init_boot.img和镜像签名sign_prvk,生成启动镜像文件Sign{sign_prvk,init_boot.img}。镜像处理模块向加密服务端101发送启动镜像文件。
可选地,请参考图3,其示出了本申请实施例提供的一种终端的结构示意图。如图3所示,终端102包括:硬件层、安全监视器(Secure Monitor)和软件层。
软件层加载运行有可信执行环境操作系统(Trusted Execution EnvironmentOperation System,TEE OS)。TEE OS包括可信操作系统(Trusted OS,TOS)。TOS通过TEE内部接口(TEE internal API)与TEE OS的其他部分(TA)通信。TOS还包括TEE镜像接口(TEEImage API)、TEE核(TEE core)和TEE通信接口(TEE communication API)。
硬件层包括:中央处理器(Central Processing Unit,CPU)、外部组件(Externel)和EMMC。其中,CPU包括BootROM、Efuse启动信任根、硬件加载解密引擎、OTP密钥种子。Efuse启动信任根指的是用于存储启动信任根的Efuse。OTP密钥种子指的是存储有设备密钥种子的OTP。Externel包括:动态随机存取存储器(Dynamic Random Access Memory,DRAM)。DRAM包括:Bootloader。Bootloader包括:通信接口(communication API)、镜像解密模块和镜像验签模块。EMMC存储有启动镜像文件、系统镜像文件(system.img)。
请参考图4,其示出本申请实施例提供的一种文件处理方法的流程图。文件处理方法可以应用于图1所示的实施环境。如图4所示,文件处理方法包括:
步骤401、加密服务端获取终端的启动镜像文件以及目标密钥。目标密钥与终端具有一一对应关系。
可选地,目标密钥可以是基于终端的唯一性数据生成的密钥。或者,目标密钥也可以是为终端生成的唯一性数据。以下述三种情况对加密服务端获取目标密钥的实现方式进行说明。
第一种可选地实现方式:目标密钥基于终端的唯一性标识符生成。
加密服务端获取目标密钥的过程可以包括步骤4011A至步骤4012A。
在步骤4011A中,加密服务端获取终端的标识数据。标识数据固化于终端上,且唯一标识终端。
可选地,标识数据可以包括:终端的设备硬件标识符和/或设备密钥种子。在该实现方式中,每个设备的设备密钥种子可以相同。或者,每个设备的设备密钥种子可以不同。在一种可选地情况下,设备硬件标识符和设备密钥种子可以由不同的硬件供应方烧录于终端。
示例地,标识数据包括:终端的设备硬件标识符和设备密钥种子。设备硬件标识符可以为IMEI、EMMC ID或者UFS ID。在数据标识为EMMC ID和设备密钥种子的情况下,加密服务端可以从终端EMMC上读取EMMC ID,并从终端的芯片上读取设备密钥种子。
在步骤4012A中,加密服务端基于标识数据,生成目标密钥。
本申请实施例中,加密服务端可以基于标识数据生成目标密钥,以基于目标密钥对启动镜像文件加密。相应的,终端可以基于标识数据生成目标密钥以基于目标密钥对加密后的启动镜像文件解密。
可选地,加密服务端可以采用密钥派生算法基于标识数据生成目标密钥。其中,密钥派生算法可以为PBKDF2(CPU-Hard algorithm)算法或者Scrypt(Memory-Hardalgorithm)等。
示例地,加密服务端采用密钥派生算法基于终端的设备硬件标识符和设备密钥种子,生成该终端的目标密钥。这样,由于加密一个终端的启动镜像文件的目标密钥是基于该终端的设备硬件标识符和设备密钥种子生成的,而一个终端的设备硬件标识符和设备密钥种子均与终端存在唯一性关系。因此,目标密钥与终端具有“一机一密”的关系,这就使得加密后的终端的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。并且,终端的设备硬件标识符和设备密钥种子为烧录于终端的信息。因而,加密服务端无需存储生成的目标密钥,以进行密钥管理,只需要在使用过程中运行生成即可,这样可以提高目标密钥的使用安全性,进而提升启动镜像文件的处理方案的整体安全性,降低方案复杂度,提高方案易用性。
第二种可选地实现方式:目标密钥是为终端生成的唯一性数据。
加密服务端获取目标密钥的过程可以包括步骤4011B。
在步骤4011B中,加密服务端随机生成目标密钥。
可选地,加密服务端可以采用随机数生成算法生成目标密钥,以用于加密启动镜像文件。基于此,在步骤402加密服务端基于目标密钥对启动镜像文件加密,得到加密启动镜像文件之前,所述方法还包括:加密服务端基于终端的标识数据对目标密钥加密,得到加密目标密钥。加密目标密钥烧录于终端,并用于供终端基于标识数据对加密目标密钥解密,得到目标密钥,基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。其中,在该实现方式中,每个设备的设备密钥种子不同。这样,传输加密目标密钥,相较于传输目标密钥,有效地保障了用于解密加密启动镜像文件的密钥传输安全性,提升启动镜像文件的破解难度。
本申请一些实施例中,加密服务端可以基于终端的标识数据对该终端的目标密钥进行加密,并将加密目标密钥烧录至终端,以使得终端可以基于其标识数据对加密目标密钥解密,得到用于解密加密启动镜像文件的目标密钥。可选地,加密服务端可以采用密钥派生算法基于终端的标识数据对目标密钥加密。示例地,加密服务端采用密钥派生算法基于终端的设备密钥终端对目标密钥加密。
在一种可选地情况下,加密服务端采用随机生成的目标密钥可以用于加密多个终端的启动镜像文件。但是,可以基于每个终端的标识数据分别加密向该终端传输的目标密钥,以使得终端接收到的加密目标密钥与终端具有一一对应关系。其中,由于采用随机生成的目标密钥可以用于加密多个终端的启动镜像文件。因此,多个终端的启动镜像文件采用同一目标密钥加密,可以降低加密服务端对目标密钥的生成计算量,提升启动镜像文件的处理效率。
第三种可选地实现方式:目标密钥基于终端的唯一性芯片密钥生成。
加密服务端获取目标密钥的过程可以包括步骤4011C至步骤4012C。
在步骤4011C中,加密服务端获取终端的芯片密钥。
其中,芯片密钥存储于终端的安全处理单元(Secure Processing Unit,SPU)内。可选地,芯片密钥可以是终端在其他加密场景下用于加密其他数据的已生成密钥。加密服务端可以复用芯片密钥以生成用于加密启动镜像文件的目标密钥,以减少目标密钥的获取复杂度。示例地,加密服务端可以获取终端的Soc上存储的已生成的芯片密钥。
在步骤4012C中,加密服务端基于芯片密钥,生成目标密钥。
本申请实施例中,加密服务端可以基于芯片密钥生成目标密钥,以用于基于目标密钥对启动镜像文件加密。相应的,终端可以基于芯片密钥,生成目标密钥以用于基于目标密钥对加密后的启动镜像文件解密。可选地,加密服务端可以采用密钥派生算法基于芯片密钥,生成目标密钥。
在一种可选地实现方式中,加密服务端可以采用非对称加密算法加密启动镜像文件。相应地,加密服务端基于芯片密钥生成一对非对称密钥。即目标密钥为加密密钥与芯片密钥构成的一对非对称密钥。
步骤402、加密服务端基于目标密钥对启动镜像文件加密,得到加密启动镜像文件。
其中,加密启动镜像文件用于烧录至终端,并用于供终端基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
可选地,针对步骤401中第一种可选地实现方式和第二种可选地实现方式生成的目标密钥,加密服务端可以采用目标密钥对启动镜像文件加密,得到加密启动镜像文件。
针对步骤401中第三种可选地实现方式生成的目标密钥,加密服务端可以将目标密钥中的加密密钥作为公钥,基于加密密钥对启动镜像文件进行非对称加密,得到加密启动镜像文件。相应的,终端可以获取目标密钥中的私钥:芯片密钥,基于芯片密钥对加密启动镜像文件解密,得到启动镜像文件。
本申请一些实施例中,加密服务端可以将加密启动镜像文件烧录至终端。可选地,加密服务端可以将加密启动镜像文件烧录至终端的存储芯片内,以便于终端读取。需要说明的是,针对步骤401中第二可选地实现方式生成的目标密钥,如前所述,加密服务端还可以将加密目标密钥随加密启动镜像文件同步烧录至终端,以便于终端读取加密目标密钥得到目标密钥。当然,本申请另一些实施例中,加密服务端可以将加密启动镜像文件发送至镜像烧录设备。镜像烧录设备在接收到加密启动镜像文件后,将加密启动镜像文件烧录至终端。
步骤403、终端获取目标密钥和加密启动镜像文件。
本申请实施例中,终端可以在其启动过程中,获取目标密钥以及烧录至其上的加密启动镜像文件。与前述步骤401加密服务端生成目标密钥的方式相对应,终端可以存在下述三种相对应的情况下获取目标密钥。
第一种可选地实现方式:目标密钥基于终端的唯一性标识符生成。
终端获取目标密钥的过程可以包括步骤4011A至步骤4012A。
在步骤4011A中,终端获取终端的标识数据。标识数据固化于终端上,且唯一标识终端。
本申请实施例中,终端可以获取与前述加密服务端生成目标密钥所需的标识数据。示例地,若加密服务端基于终端的设备硬件标识符和设备密钥种子生成目标密钥,则终端获取设备硬件标识符和设备密钥种子。
在步骤4012A中,终端基于标识数据,生成目标密钥。
本申请实施例中,终端可以采用目标生成算法基于标识数据生成目标密钥。目标生成算法为加密服务端基于标识数据生成目标密钥的算法。可选地,终端可以采用目标密钥派生算法基于标识数据生成目标密钥,目标密钥派生算法为加密服务端基于标识数据生成目标密钥的密钥派生算法。
第二种可选地实现方式:目标密钥是为终端生成的唯一性数据。
终端获取目标密钥的过程可以包括步骤4011B至步骤4012B。
在步骤4011B中,终端获取终端的标识数据,以及加密启动镜像文件的加密目标密钥。
本申请实施例中,终端可以获取与前述加密服务端生成加密目标密钥所需的标识数据。示例地,若加密服务端基于终端的设备密钥种子生成加密目标密钥,则终端获取设备密钥种子。
在步骤4012B中,终端基于标识数据对加密目标密钥解密,得到目标密钥。
第三种可选地实现方式:目标密钥基于终端的唯一性芯片密钥生成。
终端获取目标密钥的过程可以包括步骤4011C至步骤4012C。
在步骤4011C中,终端获取终端的芯片密钥。
其中,芯片密钥存储于终端的SPU内。终端可以获取与前述加密服务端生成加密目标密钥所需的芯片密钥。
在步骤4012C中,终端基于芯片密钥,生成目标密钥。
本申请实施例中,终端可以采用目标生成算法基于芯片密钥生成目标密钥。目标生成算法为加密服务端基于芯片密钥生成目标密钥的算法。可选地,终端可以采用目标密钥派生算法基于芯片密钥生成目标密钥,目标密钥派生算法为加密服务端基于芯片密钥生成目标密钥的密钥派生算法。
与前述相应的是,在一种可选地实现方式中,加密服务端可以采用非对称加密算法加密启动镜像文件。终端可以基于芯片密钥生成一对非对称密钥。即目标密钥为加密密钥与芯片密钥构成的一对非对称密钥。
步骤404、终端基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
可选地,针对步骤404中第一种可选地实现方式和第二种可选地实现方式生成的目标密钥,加密服务端可以采用目标密钥对加密启动镜像文件解密,得到启动镜像文件。
针对步骤401中第三种可选地实现方式生成的目标密钥,加密服务端可以获取目标密钥中的私钥:芯片密钥,基于芯片密钥对加密启动镜像文件解密,得到启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
请参考图5,其示出了本申请实施例提供的另一种文件处理方法的流程图。文件处理方法可以应用于图1所示的实施环境。如图5所示,文件处理方法包括:
步骤501、签名服务端基于镜像签名密钥对中的私钥,对启动镜像数据的哈希值进行签名处理得到镜像签名。
本申请实施例中,签名服务端可以为启动镜像数据生成镜像签名密钥对。多个终端的启动镜像数据的镜像签名密钥可以相同或不同。镜像签名密钥对为一对非对称密钥。
签名服务端在为启动镜像数据生成镜像签名密钥对之后,可以计算启动镜像数据的哈希值,并采用签名算法对哈希值进行签名处理,得到启动镜像数据的镜像签名。可选地,签名算法可以为Rabin签名算法、数字签名标准(Digital Signature Standard,DSS)签名算法或者RSA签名算法等。示例地,签名服务端可以采用RSA对哈希值进行签名处理,得到启动镜像数据的镜像签名。具体包括:签名服务端可以采用单向散列函数对启动镜像数据的哈希值进行计算,得到启动镜像数据的散序列即镜像签名。
步骤502、签名服务端生成启动镜像文件,启动镜像文件生成包括启动镜像数据和镜像签名。
可选地,签名服务端可以将启动镜像数据和镜像签名组合生成启动镜像文件。示例地,签名服务端生成启动镜像文件sign{镜像签名,启动镜像数据}。
步骤503、签名服务端向加密服务端发送启动镜像文件。
步骤504、签名服务端向终端发送镜像签名密钥对中的公钥。
步骤505、加密服务端获取终端的启动镜像文件以及目标密钥。目标密钥与终端具有一一对应关系。
该步骤的解释和实现方式可以参考前述步骤401的解释和实现方式,本申请实施例对此不做赘述。
步骤506、加密服务端基于目标密钥对启动镜像文件加密,得到加密启动镜像文件,加密启动镜像文件烧录于终端。
该步骤的解释和实现方式可以参考前述步骤402的解释和实现方式,本申请实施例对此不做赘述。
步骤507、终端获取目标密钥和加密启动镜像文件。
该步骤的解释和实现方式可以参考前述步骤403的解释和实现方式,本申请实施例对此不做赘述。
步骤508、终端基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
该步骤的解释和实现方式可以参考前述步骤404的解释和实现方式,本申请实施例对此不做赘述。
步骤509、终端获取镜像签名密钥对中的公钥。
本申请实施例中,终端从签名服务端接收镜像签名密钥对中的公钥。
步骤510、终端基于公钥从镜像签名中提取哈希值。
可选地,终端基于公钥对镜像签名进行解密,得到哈希值。
步骤511、终端计算启动镜像文件中启动镜像数据的目标哈希值。
本申请实施例中,终端计算启动镜像数据的目标哈希值。比较从启动镜像文件中提取的哈希值与目标哈希值是否一致。在提取的哈希值与目标哈希值不一致的情况下,表明启动镜像数据存在问题,存在被篡改的风险。终端可以停止加载启动镜像文件,以停止启动设备系统。
步骤512、终端在提取的哈希值与目标哈希值一致的情况下,加载启动镜像数据。
在提取的哈希值与目标哈希值一致的情况下,表明启动镜像数据签名检验通过。终端可以加载启动镜像数据,启动设备系统。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得可以向终端烧录加密后的启动镜像文件,进而使得终端利用加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且启动镜像文件的目标密钥与终端具有一一对应关系,即启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
为了进一步理解本申请实施例提供的文件处理方法,以下述两个示例对该文件处理方法进行进一步说明。
一个示例地,请参考图6,其示出了在图1基础上本申请另一实施例提供的一种实施环境的示意图。如图6所示,实施环境包括:加密服务端101、终端102、编译服务端1031和密钥服务端1032。加密服务端101、终端102、编译服务端1031和密钥服务端1032之间均可以通过数据线或网络连接。终端102为图3所示的终端。
其中,加密服务端101包括:镜像烧录工具1011、镜像加密模块1012和服务器1013。镜像烧录工具1011、镜像加密模块1012和服务器1013之间可以通过数据线或网络连接。镜像加密模块1012包括硬件标识获取模块和对称加密模块。编译服务端1031包括镜像处理模块。密钥服务端1032包括:签名模块10321、密钥生成模块10322以及密钥管理模块10323。签名模块10321、密钥生成模块10322以及密钥管理模块10323之间可以通过数据线或网络连接。
如图6和图7所示,文件处理方法包括镜像签名密钥对准备阶段、镜像签名阶段、镜像加密阶段、镜像解密阶段。在镜像签名密钥对准备阶段,密钥生成模块10322生成镜像签名密钥对:公钥sing_pubk和私钥sing_prvk,将私钥sing_prvk存储至密钥管理模块10323,将公钥sing_pubk发送至编译服务端1031。编译服务端1031将公钥sing_pubk烧录至终端102的Bootloader。
在镜像签名阶段,编译服务端1031获取启动镜像数据init_boot.img,计算启动镜像数据的哈希值,将哈希值发送至签名模块10321。签名模块10321基于私钥sing_prvk对哈希值进行签名处理,得到镜像签名sing,将镜像签名sing返回至编译服务端1031。编译服务端1031组合镜像签名和启动镜像数据生成启动镜像文件Sign{sing,init_boot.img},将启动镜像文件上传至加密服务端101的服务器1013。
在镜像加密阶段,镜像加密模块1012在与终端102连接后,镜像加密模块1012的获取硬件标识模块从终端102的EMMC中获取设备硬件标识符,从终端的芯片Soc上获取设备密钥种子seed。镜像加密模块1012采用密钥派生算法基于设备硬件标识符和设备密钥种子,生成目标密钥Encrypt key。镜像加密模块1012从服务器获取启动镜像文件。镜像加密模块1012的对称加密模块采用对称加密算法基于目标密钥对启动镜像文件加密,得到加密启动镜像文件Enc{Encrypt key,Sign{sing,init_boot.img}}。镜像烧录工具1011将加密启动镜像文件烧录至终端102的EMMC中。
在镜像解密阶段,终端102的Bootloader从EMMC中获取设备硬件标识符,从终端的芯片Soc上获取设备密钥种子seed。Bootloader采用密钥派生算法基于设备硬件标识符和设备密钥种子,生成目标密钥Encrypt key。Bootloader基于目标密钥对加密启动镜像文件解密,得到启动镜像文件Sign{sing,init_boot.img}。Bootloader采用公钥sing_pubk进行签名校验。Bootloader采用公钥sing_pubk进行签名校验的具体过程包括:Bootloader采用公钥sing_pubk从镜像签名sing中提取哈希值H1,计算启动镜像数据的目标哈希值H2。在哈希值H1和目标哈希值H2一致的情况下,签名校验通过,加载启动镜像数据。
在该一些示例中,终端102相较于相关技术新增有:CPU上的硬件加载解密引擎、OTP密钥种子、TEE OS上的TEE通信接口、Bootloader上的通信接口和镜像解密模块。其中,硬件加载解密引擎用于从OTP密钥种子,即soc上获取设备密钥种子和从EMMC获取设备硬件标识,采用密钥派生算法基于设备密钥种子和设备硬件标识生成目标密钥。TEE通信接口用于传输硬件加载解密引擎生成目标密钥至Bootloader的通信接口。Bootloader的镜像解密模块基于目标密钥对加密启动镜像文件解密。Bootloader的镜像验签模块用于采用公钥sing_pubk从镜像签名sing中提取哈希值H1,计算启动镜像数据的目标哈希值H2。在哈希值H1和目标哈希值H2一致的情况下,签名校验通过,加载启动镜像数据。
另一个示例地,请参考图8,其示出了在图1基础上本申请另一实施例提供的一种实施环境的示意图。如图8所示,实施环境包括:加密服务端101、终端102、编译服务端1031和密钥服务端1032。加密服务端101、终端102、编译服务端1031和密钥服务端1032之间均可以通过数据线或网络连接。终端102为图3所示的终端。
其中,加密服务端101包括:镜像烧录工具1011、镜像加密模块1012和服务器1013。镜像烧录工具1011、镜像加密模块1012和服务器1013之间可以通过数据线或网络连接。镜像加密模块1012包括对称加密模块、密钥销毁模块和镜像组装模块。编译服务端1031包括镜像处理模块。密钥服务端1032包括:签名模块10321、密钥生成模块10322以及密钥管理模块10323。签名模块10321、密钥生成模块10322以及密钥管理模块10323之间可以通过数据线或网络连接。密钥生成模块10322包括IMK生成模块。
如图8和图9所示,文件处理方法包括镜像签名密钥对准备阶段、镜像签名阶段、镜像加密阶段、镜像解密阶段。
在镜像签名密钥对准备阶段,密钥生成模块10322生成镜像签名密钥对:公钥sing_pubk和私钥sing_prvk,将私钥sing_prvk存储至密钥管理模块10323,将公钥sing_pubk发送至编译服务端1031。编译服务端1031将公钥sing_pubk烧录至终端102的Bootloader。
在镜像签名阶段,编译服务端1031获取启动镜像数据init_boot.img,计算启动镜像数据的哈希值,将哈希值发送至签名模块10321。签名模块10321基于私钥sing_prvk对哈希值进行签名处理,得到镜像签名sing,将镜像签名sing返回至编译服务端1031。编译服务端1031组合镜像签名和启动镜像数据生成启动镜像文件Sign{sing,init_boot.img},将启动镜像文件上传至加密服务端101的服务器1013。
在镜像加密阶段,密钥生成模块10322中目标密钥IMK生成模块生成256位的目标密钥IMK,将目标密钥IMK存储至密钥管理模块10323内IMK存储模块的硬件安全模块(hardware security module,HSM)。密钥生成模块10322将目标密钥通过安全超文本传输协议(Secure Hypertext Transfer Protocol,HTTPS)/安全传输层协议(Transport LayerSecurity,TLS)传输至镜像加密模块1012。镜像加密模块1012从服务器获取启动镜像文件。镜像加密模块1012中对称加密模块采用对称加密算法基于目标密钥对启动镜像文件加密,得到加密启动镜像文件Enc{Encrypt key,Sign{sing,init_boot.img}}。镜像加密模块1012在与终端102连接后,从终端的芯片Soc上获取设备密钥种子seed。
镜像加密模块1012基于设备密钥种子对目标密钥IMK加密,得到加密目标密钥EMK。镜像加密模块1012的镜像组装模块组合加密目标密钥EMK和加密启动镜像文件,得到文件Enc{IMK,Sign{sing,init_boot.img},EMK}。镜像加密模块1012的密钥销毁模块本地销毁目标密钥IMK。镜像加密模块1012镜像烧录工具1011将文件Enc{IMK,Sign{sing,init_boot.img},EMK},即加密目标密钥EMK和加密启动镜像文件烧录至终端102的EMMC中。
在镜像解密阶段,终端102的Bootloader从接收的文件中读取加密目标密钥EMK。Bootloader从终端的芯片Soc上获取设备密钥种子seed,基于设备密钥种子对加密目标密钥解密,得到目标密钥IMK。Bootloader基于目标密钥对加密启动镜像文件解密,得到启动镜像文件Sign{sing,init_boot.img}。Bootloader采用公钥sing_pubk从镜像签名sing中提取哈希值H1,计算启动镜像数据的目标哈希值H2。在哈希值H1和目标哈希值H2一致的情况下,签名校验通过,加载启动镜像数据。
在该一些示例中,终端102相较于相关技术新增有:CPU上的硬件加载解密引擎、OTP密钥种子、TEE OS上的TEE通信接口、Bootloader上的通信接口和镜像解密模块。其中,硬件加载解密引擎用于从OTP密钥种子,即soc上获取设备密钥种子。TEE通信接口用于传输硬件加载解密引擎获取的设备密钥种子至Bootloader的通信接口。Bootloader的镜像解密模块基于设备密钥种子对加密目标密钥解密,得到目标密钥。Bootloader的镜像解密模块基于目标密钥对加密启动镜像文件解密。Bootloader的镜像验签模块用于采用公钥sing_pubk从镜像签名sing中提取哈希值H1,计算启动镜像数据的目标哈希值H2。在哈希值H1和目标哈希值H2一致的情况下,签名校验通过,加载启动镜像数据。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
请参考图10,其示出了本申请实施例提供的一种文件处理方法的流程图。文件处理方法可以应用于图1所示的实施环境,由加密服务端执行。如图10所示,文件处理方法包括:
步骤1001、获取终端的启动镜像文件以及目标密钥,目标密钥与终端具有一一对应关系。
步骤1002、基于目标密钥对启动镜像文件加密,得到加密启动镜像文件。加密启动镜像文件用于烧录至终端,并用于供终端基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
可选地,获取目标密钥,包括:
获取终端的标识数据,标识数据固化于终端上,且唯一标识终端;
基于标识数据,生成目标密钥。
可选地,获取目标密钥,包括:随机生成目标密钥;
文件处理方法还包括:基于终端的标识数据对目标密钥加密,得到加密目标密钥,加密目标密钥烧录于终端,并用于供终端基于标识数据对加密目标密钥解密,得到目标密钥,基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
可选地,标识数据包括:终端的设备硬件标识符和/或设备密钥种子。
可选地,获取目标密钥,包括:
获取终端的芯片密钥,芯片密钥存储于终端的安全处理单元SPU内;
基于芯片密钥,生成目标密钥。
可选地,目标密钥为加密密钥与芯片密钥构成的一对非对称密钥;基于目标密钥对启动镜像文件加密,得到加密启动镜像文件,包括:
基于加密密钥对启动镜像文件进行非对称加密,得到加密启动镜像文件,加密启动镜像文件用于供终端基于芯片密钥对加密启动镜像文件解密,得到启动镜像文件。
该实施例中各步骤的解释和实现方式可以参考前述实施例中加密服务端执行的相应步骤的解释和实现方式,本申请实施例对此不做赘述。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
请参考图11,其示出了本申请实施例提供的一种文件处理方法的流程图。文件处理方法可以应用于图1所示的实施环境,由终端执行。如图11所示,文件处理方法包括:
步骤1101、获取目标密钥和加密启动镜像文件。加密启动镜像文件是加密服务端基于目标密钥对启动镜像文件加密得到的文件,目标密钥与终端具有一一对应关系。
步骤1102、基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
可选地,获取目标密钥,包括:
获取终端的标识数据,标识数据固化于终端上,且唯一标识终端;
基于标识数据,生成目标密钥。
可选地,获取目标密钥,包括:
获取终端的标识数据以及加密目标密钥,加密目标密钥是加密服务端基于标识数据对目标密钥加密得到的数据;
基于标识数据对加密目标密钥解密,得到目标密钥。
可选地,标识数据包括:终端的设备硬件标识符和/或设备密钥种子。
可选地,获取目标密钥,包括:
获取终端的芯片密钥,芯片密钥存储于终端的安全处理单元SPU内;
基于芯片密钥,生成目标密钥。
可选地,目标密钥为加密密钥与芯片密钥构成的一对非对称密钥;启动镜像文件是加密服务端基于加密密钥对启动镜像文件进行非对称加密得到的文件;
基于目标密钥对加密启动镜像文件解密,得到启动镜像文件,包括:基于芯片密钥对加密启动镜像文件解密,得到启动镜像文件。
该实施例中各步骤的解释和实现方式可以参考前述实施例中终端执行的相应步骤的解释和实现方式,本申请实施例对此不做赘述。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
本申请实施例提供的文件处理方法,执行主体可以为文件处理装置。本申请实施例中以文件处理装置执行文件处理方法为例,说明本申请实施例提供的文件处理装置。
请参考图12,其示出了本申请实施例提供的一种文件处理装置的框图。如图12所示,文件处理装置1200包括:获取模块1201和加密模块1202。
获取模块1201,用于获取终端的启动镜像文件以及目标密钥,目标密钥与终端具有一一对应关系;
加密模块1202,用于基于目标密钥对启动镜像文件加密,得到加密启动镜像文件,加密启动镜像文件用于烧录至终端,并用于供终端基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
可选地,获取模块1201,还用于:
获取终端的标识数据,标识数据固化于终端上,且唯一标识终端;
基于标识数据,生成目标密钥。
可选地,获取模块1201,还用于随机生成目标密钥;
加密模块1202,还用于基于终端的标识数据对目标密钥加密,得到加密目标密钥,加密目标密钥烧录于终端,并用于供终端基于标识数据对加密目标密钥解密,得到目标密钥,基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
可选地,终端的设备硬件标识符和/或设备密钥种子。
可选地,获取模块1201,还用于:
获取终端的芯片密钥,芯片密钥存储于终端的安全处理单元SPU内;
基于芯片密钥,生成目标密钥。
可选地,目标密钥为加密密钥与芯片密钥构成的一对非对称密钥;加密模块1202,还用于基于加密密钥对启动镜像文件进行非对称加密,得到加密启动镜像文件,加密启动镜像文件用于供终端基于芯片密钥对加密启动镜像文件解密,得到启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
请参考图13,其示出了本申请实施例提供的一种文件处理装置的框图。如图13所示,文件处理装置1300包括:获取模块1301和解密模块1302。
获取模块1301,用于获取目标密钥和加密启动镜像文件,加密启动镜像文件是加密服务端基于目标密钥对启动镜像文件加密得到的文件,目标密钥与终端具有一一对应关系;
解密模块1302,用于基于目标密钥对加密启动镜像文件解密,得到启动镜像文件。
可选地,获取模块1301,还用于:获取终端的标识数据,标识数据固化于终端上,且唯一标识终端;基于标识数据,生成目标密钥。
可选地,获取模块1301,还用于:获取终端的标识数据以及加密启动镜像文件的加密目标密钥,加密目标密钥是加密服务端基于标识数据对目标密钥加密得到的数据;基于标识数据对加密目标密钥解密,得到目标密钥。
可选地,标识数据包括:终端的设备硬件标识符和/或设备密钥种子。
可选地,获取模块1301,还用于:获取终端的芯片密钥,芯片密钥存储于终端的安全处理单元SPU内;基于芯片密钥,生成目标密钥。
可选地,目标密钥为加密密钥与芯片密钥构成的一对非对称密钥;启动镜像文件是加密服务端基于加密密钥对启动镜像文件进行非对称加密得到的文件;
解密模块1302,还用于基于芯片密钥对加密启动镜像文件解密,得到启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
本申请实施例中的文件处理装置可以是电子设备的控制器,也可以是电子设备的控制器中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digitalassistant,PDA)等,还可以为个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的文件处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的文件处理装置能够实现图4、图5、图7、图9、图10和图11的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图14所示,本申请实施例还提供一种电子设备1400,包括前述实施例提供的摄像头模组、处理器1401和存储器1402,存储器1402上存储有可在所述处理器1401上运行的程序或指令,该程序或指令被处理器1401执行时实现上述文件处理方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图15为实现本申请实施例的一种电子设备的硬件结构示意图。该电子设备1500包括但不限于:射频单元1501、网络模块1502、音频输出单元1503、输入单元1504、传感器1505、显示单元1506、用户输入单元1507、接口单元1508、存储器1509、以及处理器1510等部件。
本领域技术人员可以理解,电子设备1500还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图15中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
在一种情况下,处理器1510,用于获取终端的启动镜像文件以及目标密钥,所述目标密钥与所述终端具有一一对应关系;
基于所述目标密钥对所述启动镜像文件加密,得到加密启动镜像文件,所述加密启动镜像文件用于烧录至所述终端,并用于供所述终端基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
可选地,处理器1510,还用于获取所述终端的标识数据,所述标识数据固化于所述终端上,且唯一标识所述终端;基于所述标识数据,生成目标密钥。
可选地,处理器1510,还用于:随机生成目标密钥;
以及还用于基于所述终端的标识数据对所述目标密钥加密,得到加密目标密钥,所述加密目标密钥烧录于所述终端,并用于供所述终端基于所述标识数据对所述加密目标密钥解密,得到所述目标密钥,基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
可选地,所述标识数据包括:所述终端的设备硬件标识符和/或设备密钥种子。
可选地,处理器1510,还用于获取所述终端的芯片密钥,所述芯片密钥存储于所述终端的SPU内;基于所述芯片密钥,生成目标密钥。
可选地,所述目标密钥为加密密钥与所述芯片密钥构成的一对非对称密钥;可选地,处理器1510,还用于基于所述加密密钥对所述启动镜像文件进行非对称加密,得到加密启动镜像文件,所述加密启动镜像文件用于供所述终端基于所述芯片密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
在另一种情况下,处理器1510,用于获取目标密钥和加密启动镜像文件,所述加密启动镜像文件是所述加密服务端基于所述目标密钥对启动镜像文件加密得到的文件,所述目标密钥与所述终端具有一一对应关系;以及还用于基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
可选地,处理器1510,还用于获取所述终端的标识数据,所述标识数据固化于所述终端上,且唯一标识所述终端;基于所述标识数据,生成目标密钥。
可选地,处理器1510,还用于:
获取所述终端的标识数据以及加密目标密钥,所述加密目标密钥是所述加密服务端基于所述标识数据对目标密钥加密得到的数据;
基于所述标识数据对所述加密目标密钥解密,得到目标密钥。
可选地,所述标识数据包括:所述终端的设备硬件标识符和/或设备密钥种子。
可选地,处理器1510,还用于获取所述终端的芯片密钥,所述芯片密钥存储于所述终端的SPU内;基于所述芯片密钥,生成目标密钥。
可选地,所述目标密钥为加密密钥与所述芯片密钥构成的一对非对称密钥;所述启动镜像文件是所述加密服务端基于所述加密密钥对所述启动镜像文件进行非对称加密得到的文件;处理器1510,还用于基于所述芯片密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
本申请实施例中,通过利用与终端具有一一对应关系的目标密钥,对终端的启动镜像文件加密,使得终端可以利用烧录于终端的加密后的启动镜像文件启动设备。由于终端内存储的启动镜像文件为加密文件,且目标密钥与终端具有一一对应关系,即用于加密启动镜像文件的目标密钥与终端具有“一机一密”的关系。因此,终端内存储的启动镜像文件具有较高的防破解能力,有效防止攻击者通过修改启动镜像获取设备根权限,增强设备的系统安全性。
应理解的是,本申请实施例中,输入单元1504可以包括图形处理器(GraphicsProcessing Unit,GPU)15041和麦克风15042,图形处理器15041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1506可包括显示面板15061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板15061。用户输入单元1507包括触控面板15071以及其他输入设备15072中的至少一种。触控面板15071,也称为触摸屏。触控面板15071可包括触摸检测装置和触摸控制器两个部分。其他输入设备15072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器1509可用于存储软件程序以及各种数据。存储器1509可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1509可以包括易失性存储器或非易失性存储器,或者,存储器1509可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器1509包括但不限于这些和任意其它适合类型的存储器。
处理器1510可包括一个或多个处理单元;可选的,处理器1510集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器1510中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述文件处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述文件处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述文件处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (16)

1.一种文件处理方法,其特征在于,所述方法包括:
获取终端的启动镜像文件以及目标密钥,所述目标密钥与所述终端具有一一对应关系;
基于所述目标密钥对所述启动镜像文件加密,得到加密启动镜像文件,所述加密启动镜像文件用于烧录至所述终端,并用于供所述终端基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
2.根据权利要求1所述的方法,其特征在于,所述获取目标密钥,包括:
获取所述终端的标识数据,所述标识数据固化于所述终端上,且唯一标识所述终端;
基于所述标识数据,生成目标密钥。
3.根据权利要求1所述的方法,其特征在于,所述获取目标密钥,包括:随机生成目标密钥;
所述方法还包括:基于所述终端的标识数据对所述目标密钥加密,得到加密目标密钥,所述加密目标密钥用于烧录至所述终端,并用于供所述终端基于所述标识数据对所述加密目标密钥解密,得到所述目标密钥,基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
4.根据权利要求2或3所述的方法,其特征在于,所述标识数据包括:所述终端的设备硬件标识符和/或设备密钥种子。
5.根据权利要求1所述的方法,其特征在于,所述获取目标密钥,包括:
获取所述终端的芯片密钥,所述芯片密钥存储于所述终端的安全处理单元SPU内;
基于所述芯片密钥,生成目标密钥。
6.根据权利要求5所述的方法,其特征在于,所述目标密钥为加密密钥与所述芯片密钥构成的一对非对称密钥;所述基于所述目标密钥对所述启动镜像文件加密,得到加密启动镜像文件,包括:
基于所述加密密钥对所述启动镜像文件进行非对称加密,得到加密启动镜像文件,所述加密启动镜像文件用于供所述终端基于所述芯片密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
7.一种文件处理方法,其特征在于,所述方法包括:
获取目标密钥和加密启动镜像文件,所述加密启动镜像文件是加密服务端基于所述目标密钥对启动镜像文件加密得到的文件,所述目标密钥与所述终端具有一一对应关系;
基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
8.根据权利要求7所述的方法,其特征在于,所述获取目标密钥,包括:
获取所述终端的标识数据,所述标识数据固化于所述终端上,且唯一标识所述终端;
基于所述标识数据,生成目标密钥。
9.根据权利要求7所述的方法,其特征在于,所述获取目标密钥,包括:
获取所述终端的标识数据以及加密目标密钥,所述加密目标密钥是所述加密服务端基于所述标识数据对目标密钥加密得到的数据;
基于所述标识数据对所述加密目标密钥解密,得到目标密钥。
10.根据权利要求8或9所述的方法,其特征在于,所述标识数据包括:所述终端的设备硬件标识符和/或设备密钥种子。
11.根据权利要求7所述的方法,其特征在于,所述获取目标密钥,包括:
获取所述终端的芯片密钥,所述芯片密钥存储于所述终端的安全处理单元SPU内;
基于所述芯片密钥,生成目标密钥。
12.根据权利要求11所述的方法,其特征在于,所述目标密钥为加密密钥与所述芯片密钥构成的一对非对称密钥;所述启动镜像文件是所述加密服务端基于所述加密密钥对所述启动镜像文件进行非对称加密得到的文件;
所述基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件,包括:基于所述芯片密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
13.一种文件处理装置,其特征在于,所述装置包括:
获取模块,用于获取终端的启动镜像文件以及目标密钥,所述目标密钥与所述终端具有一一对应关系;
加密模块,用于基于所述目标密钥对所述启动镜像文件加密,得到加密启动镜像文件,所述加密启动镜像文件用于烧录至所述终端,并用于供所述终端基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
14.一种文件处理装置,其特征在于,所述装置包括:
获取模块,用于获取目标密钥和加密启动镜像文件,所述加密启动镜像文件是所述加密服务端基于所述目标密钥对启动镜像文件加密得到的文件,所述目标密钥与所述终端具有一一对应关系;
解密模块,用于基于所述目标密钥对所述加密启动镜像文件解密,得到所述启动镜像文件。
15.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要1至6任一项所述的启动镜像文件的文件处理方法的步骤,或者,实现如权利要7至12任一项所述的启动镜像文件的文件处理方法的步骤。
16.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6任一项所述的启动镜像文件的文件处理方法的步骤,或者,实现如权利要求7至12任一项所述的启动镜像文件的文件处理方法的步骤。
CN202311018577.0A 2023-08-11 2023-08-11 文件处理方法、装置和电子设备 Pending CN117131522A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311018577.0A CN117131522A (zh) 2023-08-11 2023-08-11 文件处理方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311018577.0A CN117131522A (zh) 2023-08-11 2023-08-11 文件处理方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN117131522A true CN117131522A (zh) 2023-11-28

Family

ID=88853796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311018577.0A Pending CN117131522A (zh) 2023-08-11 2023-08-11 文件处理方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN117131522A (zh)

Similar Documents

Publication Publication Date Title
CN108810894B (zh) 终端授权方法、装置、计算机设备和存储介质
EP3458999B1 (en) Self-contained cryptographic boot policy validation
CN109792386B (zh) 用于可信计算的方法和装置
US9680648B2 (en) Securely recovering a computing device
USRE47364E1 (en) Method and system for protecting against the execution of unauthorized software
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
JP6275653B2 (ja) データ保護方法及びシステム
US8560820B2 (en) Single security model in booting a computing device
TWI598814B (zh) 用於管理及診斷配備有統一可延伸韌體介面(uefi)相容韌體的計算裝置之系統與方法
KR101795457B1 (ko) 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법
US8019994B2 (en) Authentication of a request to alter at least one of a BIOS and a setting associated with the BIOS
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN110688660B (zh) 一种终端安全启动的方法及装置、存储介质
WO2015042981A1 (zh) 加解密处理方法、装置和设备
CN111401901B (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
KR20130008939A (ko) 휴대 단말기에서 단말 고유 정보의 복제를 방지하는 장치 및 방법
CN113127844A (zh) 一种变量访问方法、装置、系统、设备和介质
CN117113332A (zh) 一种可信机密虚拟机系统的实现方法
CN116594567A (zh) 信息管理方法、装置和电子设备
Loftus et al. Android 7 file based encryption and the attacks against it
CN110674525A (zh) 一种电子设备及其文件处理方法
WO2017137481A1 (en) A removable security device and a method to prevent unauthorized exploitation and control access to files
JP2007060581A (ja) 情報管理システム及び方法
US9135449B2 (en) Apparatus and method for managing USIM data using mobile trusted module
CN117131522A (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