全盘加密方法和装置制造方法及图纸

技术编号:14257506 阅读:93 留言:0更新日期:2016-12-22 21:20
本公开提供一种全盘加密方法和装置,其中,所述全盘加密方法,包括:确定终端设备中CPU核心的数目N,其中N是大于1的整数;将终端设备的用户数据存储区划分成N个数据区片;以及并行地对所述N个数据区片进行数据加密。解决了由于单线程加密而造成的加密缓慢问题。

【技术实现步骤摘要】

本公开涉及加密
,尤其涉及全盘加密方法和装置
技术介绍
随着科技的发展,诸如智能电话、平板电脑等终端设备被越来越广泛地使用。人们往往会在终端设备中存储大量的用户数据,终端设备一旦丢失就会造成用户数据的泄露。为此,一些操作系统(例如,安卓操作系统)要求终端设备在出厂后首次开机时进行全盘加密(Full Disk Encryption,FDE)。全盘加密是自动地将终端设备的外存储器(例如,硬盘)上的数据转换成不被理解的形式。只有那些有密钥的用户才能“还原”转换。如果没有合适的认证密钥,即使把硬盘移出,安装到另一台终端设备上,仍然不可获得硬盘上的数据。全盘加密可以在制造终端设备时安装在设备中,也可以在后来通过安装特殊的软件驱动程序加入。然而传统的全盘加密过程非常缓慢,例如对于一个64G的用户数据存储区,全盘加密过程会持续大约十几分钟,这使得用户体验很差。
技术实现思路
有鉴于此,本公开提供一种全盘加密方法和装置,用以提高全盘加密的速度。根据本公开的一方面,提供一种全盘加密方法,包括:确定终端设备中CPU核心的数目N,其中N是大于1的整数;将终端设备的用户数据存储区划分成N个数据区片;以及并行地对所述N个数据区片进行数据加密。在一些实施例中,所述N个数据区片大小相等。在一些实施例中,并行地对所述N个数据区片进行数据加密包括:启动分别针对N个数据区片的N个加密线程;向每个加密线程分配与该加密线程相对应的数据区片的起始地址和结束地址;并行地运行所述N个加密线程以对所述N个数据区片进行数据加密。在一些实施例中,所述用户数据存储区由通用闪存UFS来实现。在一些实施例中,所述终端设备是CPU核心数目N为2、4、8或16的终端设备。在一些实施例中,所述终端设备是使用安卓操作系统的终端设备。根据本公开的另一方面,提供一种全盘加密装置,包括:CPU核心数目确定模块,用于确定终端设备中CPU核心的数目N,其中N是大于1的整数;存储区划分模块,用于将终端设备的用户数据存储区划分成N个数据区片;以及并行加密模块,用于并行地对所述N个数据区片进行数据加密。在一些实施例中,所述N个数据区片大小相等。在一些实施例中,并行加密模块包括:线程启动单元,用于启动分别针对N个数据区片的N个加密线程;地址分配单元,用于向每个加密线程分配与该加密线程相对应的数据区片的起始地址和结束地址;以及执行单元,用于并行地运行所述N个加密线程以对所述N个数据区片进行数据加密。在一些实施例中,所述用户数据存储区由通用闪存(Universal Flash Storage,UFS)来实现。附图说明通过参照以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:图1是根据本公开实施例提供的全盘加密方法的流程图;图2是根据本公开实施例提供的全盘加密方法的流程图;图3是根据本公开实施例提供的全盘加密装置的结构示意图;图4是根据本公开实施例提高的全盘加密装置中并行加密模块的结构示意图。具体实施方式以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。附图中的流程图、框图图示了本专利技术实施例的方法、系统、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对专利技术本身的限制。图1是根据本公开实施例提供的全盘加密方法100的流程图。在步骤S101,确定终端设备中CPU核心的数目N,其中N是大于1的整数。在一些实施例中,终端设备可以是CPU核心数目N为2、4、8、10或16的终端设备,但不局限于此。在一些实施例中,终端设备可以是使用安卓操作系统的终端设备。在步骤S102,将终端设备的用户数据存储区划分成N个数据区片。在一些实施例中,所述N个数据区片可以大小相等。在一些实施例中,用户数据存储区可以由通用闪存UFS来实现。在步骤S103,并行地对所述N个数据区片进行数据加密。在一些实施例中,可以启动分别针对N个数据区片的N个加密线程,向每个加密线程分配与该加密线程相对应的数据区片的起始地址和结束地址,并且并行地运行所述N个加密线程以对所述N个数据区片进行数据加密。图2是根据本公开实施例提供的全盘加密方法200的流程图。在步骤S201,确定终端设备中CPU核心的数目N,其中N是大于1的整数。终端设备可以是使用安卓操作系统的诸如智能手机、平板电脑之类的终端设备,其可以具有2、4、8、10或16个CPU核心的移动终端。在步骤S202,将终端设备的用户数据存储区划分成N个数据区片。N个数据区片可以大小相等,以尽量确保N个加密线程同时开始并且同时结束。终端设备的用户数据存储区可以由终端设备的外存储器来实现。在一些实施例中,可以用嵌入式多媒体卡(Embedded Multi Media Card,eMMC)作为外存储器来实现终端设备的用户数据存储区。在一些实施例中,可以采用UFS作为外存储器来实现终端设备的用户数据存储区,UFS具有比eMMC更快的读写速度,有助于进一步提高全盘加密的速度。在步骤S203,启动分别针对N个数据区片的N个加密线程。在步骤S204,向每个加密线程分配与该加密线程相对应的数据区片的起始地址和结束地址。在步骤S205,并行地运行所述N个加密线程以对所述N个数据区片进行数据加密。例如,使N个加密线程并行地进行,每个加密线程从其对应的数据区片中读取一个数据块进行加密(该操作在内存中执行),将加密的数据块写回该数据区片中,然后读取下一个数据块、将其加密并写回,如此循环往复,直到该数据区片中的所有数据块都加密完成。下面以具有4个CPU核心的终端设备为例来进行描述。如果在步骤S201确定终端设备具有4个CPU核心,则在步骤S202可以将终端设备的用户数据存储区划分成4个大小相等的数据区片D1、D2、D3和D4。在步骤S203启动分别对应于数据区片D1、D2、D3和D4的4个加密线程T1、T2、T3和T4。在步骤S204将数据区片D1的起始地址和结束地址分配给加密线程T1,将数据区片D2的起始地址和结束地址分配给加密线程T2,数据区片D3的起始地址和结束地址分配给加密线程T3,并且数据区片D4的起始地址和结束地址分配给加密线程T4。在步骤S205,并行独立地运行加密线程T1、T2、T3和T4以分别对数据区片D1、D2、D3和D4进行数据加密。图3是根据本公开实施例提供的全盘加密装置300的结构示意图。如图3所示,全盘加密装置300包括CPU核心数目确定模块301、存储区划分模块302和并行加密模块303。CPU核心数目确定模块301用于确定终端设备中CPU核心的数目N,其中N是大于1的整数。终端设备可以是使用安卓操作系统的诸如智能手机、平板电脑之类的终端设备,其可以具有2、4、8、10本文档来自技高网...
全盘加密方法和装置

【技术保护点】
一种全盘加密方法,包括:确定终端设备中CPU核心的数目N,其中N是大于1的整数;将终端设备的用户数据存储区划分成N个数据区片;以及并行地对所述N个数据区片进行数据加密。

【技术特征摘要】
1.一种全盘加密方法,包括:确定终端设备中CPU核心的数目N,其中N是大于1的整数;将终端设备的用户数据存储区划分成N个数据区片;以及并行地对所述N个数据区片进行数据加密。2.根据权利要求1所述的全盘加密方法,其中,所述N个数据区片大小相等。3.根据权利要求1所述的全盘加密方法,其中,并行地对所述N个数据区片进行数据加密包括:启动分别针对N个数据区片的N个加密线程;向每个加密线程分配与该加密线程相对应的数据区片的起始地址和结束地址;并行地运行所述N个加密线程以对所述N个数据区片进行数据加密。4.根据权利要求1所述的全盘加密方法,其中,所述用户数据存储区由通用闪存UFS来实现。5.根据权利要求1所述的全盘加密方法,其中,所述终端设备是CPU核心数目N为2、4、8、10或16的终端设备。6.根据权利要求1至5中任一项所述的全盘加...

【专利技术属性】
技术研发人员:孙鹏
申请(专利权)人:乐视控股北京有限公司乐视移动智能信息技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1