CN104615941A - Android用户分区的快速加密方法、装置和终端设备 - Google Patents

Android用户分区的快速加密方法、装置和终端设备 Download PDF

Info

Publication number
CN104615941A
CN104615941A CN201510047613.5A CN201510047613A CN104615941A CN 104615941 A CN104615941 A CN 104615941A CN 201510047613 A CN201510047613 A CN 201510047613A CN 104615941 A CN104615941 A CN 104615941A
Authority
CN
China
Prior art keywords
block
user partition
bitmap
data
terminal device
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
CN201510047613.5A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510047613.5A priority Critical patent/CN104615941A/zh
Publication of CN104615941A publication Critical patent/CN104615941A/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

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)
  • Telephone Function (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例提供了一种用于Android用户分区的快速加密方法、装置和终端设备。该方法包括:创建Android终端设备的用户分区的加密层;根据所述Android终端设备的内核中的文件***为所述用户分区建立以块Block为单元的数据分布位图,其中,所述数据分布位图用于表示所述用户分区中Block的使用状态;根据所述数据分布位图读取所述用户分区中已使用的Block的原始数据;对所述Block的原始数据进行加密;将所述Block加密后的数据写回所述用户分区中,覆盖所述Block的原始数据。本发明实施例中,利用Android终端设备的文件***记录的已使用的数据块的信息对Android终端设备的用户分区进行加密,避免在用户数据加密时也对无效数据进行加密,从而达到了缩短分区加密时间的效果。

Description

Android用户分区的快速加密方法、装置和终端设备
技术领域
本发明实施例涉及通信领域,并且更具体地,涉及Android用户分区的快速加密方法、装置和终端设备。
背景技术
随着智能手机的功能越来越多,用户在手机上存储的内容也变得越来越丰富,包括各种照片、聊天记录等个人信息。一旦手机不慎丢失,那么这些隐私信息都会直接落入他人之手,非常的不安全,因此,提供一种对手机上的个人数据提供保护的安全方案变得尤为重要。
现有的安卓(Android)终端设备,数据存储分区多是基于Linux的ext4文件***,它是针对块设备开发的一种日志文件***,本身并不提供加密的功能。但是,Linux内核本身还提供了针对块设备的加密层功能(dm-crypto),它是一层位于块设备之上的加密层。因此,现有的Android***,提供了基于dm-crypto和针对块设备文件***(相对于YAFFS)的文件***加密框架,可以将整个用户数据分区都进行数据加密。
但是由于该加密方案是利用块设备层上构建的加密层来完成加密,所以加密时无法识别出设备上存储数据是否有效,必须对整个分区进行加密,导致整个加密的过程较长(约1小时)。
发明内容
本发明实施例提供一种Android用户分区的快速加密方法、装置和终端设备,能够提高对Android用户分区的加密速度。
第一方面,提供了一种Android用户分区的快速加密方法,该方法包括:创建Android终端设备的用户分区的加密层;根据该Android终端设备的内核中的ext4文件***为该用户分区建立以块Block为单元的数据分布位图,其中,该数据分布位图用于表示该用户分区中Block的使用状态;根据该数据分布位图读取该用户分区中已使用的Block的原始数据;对该Block的原始数据进行加密;将该Block加密后的数据写回该用户分区中,覆盖该Block的原始数据。
结合第一方面,在第一种可能的实现方式中,根据所述Android终端设备的内核中的文件***为所述用户分区建立以Block为单元的数据分布位图具体实现为:按照所述Android终端设备的内存缓冲区的大小,从根据所述Android终端设备的内核中的ext4文件***循环读取所述用户分区的Block的使用状态,为所述用户分区建立以Block为单元的数据分布位图。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,根据所述Android终端设备的内核中的文件***为所述用户分区建立以块Block为单元的数据分布位图具体实现为:分配并初始化所述用户分区的位图,其中,所述用户分区的位图中的位图数组与所述用户分区的Block一一对应,一个所述位图数组用于表示一个Block的使用状态匹配;根据所述Android终端设备的内核中的ext4文件***中的Superblock信息,获取所述用户分区中每个对应的Block的使用信息;将所述用户分区中每个对应的Block的使用信息记录到所述用户分区的位图对应的位图数组中。
第二方面,提供了一种Android用户分区的快速加密装置,该装置包括:加密层生成单元,用于创建Android终端设备的用户分区的加密层;数据分布位图生成单元,用于根据该Android终端设备的内核中的ext4文件***为该用户分区建立以块Block为单元的数据分布位图,其中,该数据分布位图用于表示该用户分区中Block的使用状态;加密单元,用于根据该数据分布位图读取该用户分区中已使用的Block的原始数据,并对该Block的原始数据进行加密,再将该Block加密后的数据写回该用户分区中,覆盖该Block的原始数据。
结合第二方面,在第一种可能的实现方式中,该数据分布位图生成单元具体包括:初始化子单元,用于分配并初始化该用户分区的位图,其中,该用户分区的位图中的位图数组与该用户分区的block一一对应,一个该位图数组用于表示一个block的使用状态匹配;块信息获取子单元,用于根据该android终端设备的内核中的ext4文件***中的超级块superblock信息,获取该用户分区中每个对应的block的使用信息;块信息写入子单元,用于将该用户分区中每个对应的block的使用信息记录到该用户分区的位图对应的位图数组中。
第三方面,提供了一种Android终端设备,该终端设备包括第二方面或第二方面的第一种可能的实现方式中的装置。
基于以上技术方案,本发明实施例的快速加密方法、装置和终端设备,通过利用Android终端设备的文件***记录的已使用的数据块的信息对Android终端设备的用户分区进行加密,避免在用户数据加密时也对无效数据进行加密,从而达到了缩短分区加密时间的效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中终端设备的***架构的一实施例示意图。
图2是本发明实施例Android用户分区的快速加密方法流程图。
图3是本发明实施例对Android用户分区进行加密的具体流程图。
图4是本发明实施例快速加密位图、超级块与块的关系示意图。
图5是本发明实施例创建快速加密图的具体流程图。
图6是本发明实施例快速加密装置的结构示意图。
图7是本发明实施例快速加密装置的另一结构示意图。
图8是本发明实施例终端设备的结构示意图。
图9是本发明实施例终端设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
终端(Terminal),可以称之为用户设备(User Equipment,简称“UE”)、用户等,可以经无线接入网(例如,Radio Access Network,简称“RAN”)与一个或多个核心网进行通信,可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。
超级块(Superblock),位于硬盘分区的开头部分,包括文件***的总体信息,比如文件***类型、挂载点、块大小(Block size)等文件***信息(其准确信息依赖文件***)。根据Superblock,可以确定硬盘分区中Block的使用信息。
***扩展日志式文件***(The fourth extended file system,Ext4)是一种针对ext3***的扩展日志式文件***,是专门为Linux开发的原始的扩展文件***(ext或extfs)的第四版。Android操作***所采用的文件***即为ext4文件***。
图1本发明实施例中一种终端设备的结构示意图。以图1为例介绍本发明实施例提供的应用场景的识别方法,或者功耗管理方法应用的计算节点的逻辑结构。该计算节点可以是终端设备,该终端设备具体可以为一智能手机。如图1所示,该终端设备的硬件层包括中央处理器(Center Processing Unit,CPU)、图形处理器(Graphic Processing Unit,GPU)等,当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键盘、鼠标、触摸屏等,输出设备可包括显示设备如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT、)全息成像(Holographic)、投影(Projector)等。在硬件层之上可运行有操作***(如Android、Firefox OS等)以及一些应用程序。
图1是以Android***为例,介绍终端设备的软件***架构,其中,核心库是操作***的核心部分,包括外观管理器、媒体框架、关系数据库、2G图形引擎库、Web浏览器引擎,内核库和虚拟机(例如Dalvik Virtual Machine)等,其中,本发明实施例所描述的应用场景的识别和功耗控制策略的确定可以是在虚拟机处(例如Dalvik Virtual Machine)进行实施的,即虚拟机通过编译分析终端设备上正在运行的应用程序,获取所述应用程序的特征数据;根据所述应用程序的特征数据,从场景特征数据集中确定与所述应用程序的特征数据对应的应用场景信息,所述场景特征数据集包括多种应用场景信息与多种应用程序的特征数据的对应关系,其中所述与所述应用程序的特征数据对应的应用场景信息用于表示所述终端设备当前被使用的应用场景,根据所述应用场景信息,从控制策略集中确定与所述应用场景信息对应的功耗控制策略,所述控制策略集包括所述多种应用场景信息与多种功耗控制策略的对应关系,并根据所述与所述应用场景信息对应的功耗控制策略生成对应的功耗控制指令,将功耗控制指令传递给内核(即图1中的Linux内核),由内核对终端设备的相应硬件(例如CPU、GPU或显示设备等)实施功耗控制。
除此之外,该终端设备还包括驱动层、框架层和应用层。驱动层可包括CPU驱动、GPU驱动、显示控制器驱动等。框架层可包括浏览器引擎、排版引擎、文件解析器等;应用层可包括主界面(home)、媒体播放器(MediaPlayer)、浏览器(Browser)等多种应用程序。
图2是本发明实施例Android用户分区的快速加密方法流程图。图2的方法由加密装置执行。本发明实施例的方法,可应用于如图1所示的终端设备中。如图2所示,该方法可包括:
201,创建安卓终端设备的用户分区的加密层。
应理解,由于Android***采用Linux的架构,因此,Android终端设备的用户分区,在Android终端设备中往往体现为块设备。
I/O设备大致分为两类:块设备和字符设备。块设备将信息存储在固定大小的块中,每个块都有自己的地址。数据块的大小通常在512字节到32768字节之间。块设备的基本特征是每个块都能独立于其它块而读写。磁盘是最常见的块设备。在Linux操作***中,块设备只支持以块为单位的访问方式,如磁盘等。
202,根据该安卓终端设备的内核中的文件***为该用户分区建立以块Block为单元的数据分布位图。
其中,该数据分布位图用于表示该用户分区中Block的使用状态。
具体地,在加密层创建完毕后,可按照该Android终端设备的内存缓冲区的大小,从根据该Android终端设备的内核中的ext4文件***循环读取该用户分区的Block的使用状态,为该用户分区建立以Block为单元的数据分布位图。
203,根据该数据分布位图读取该用户分区中已使用的块的原始数据。
204,对该块的原始数据进行加密。
205,将该块加密后的数据写回该用户分区中,覆盖该块的原始数据。
本发明实施例中,利用Android终端设备的文件***记录的已使用的数据块的信息对Android终端设备的用户分区进行加密,避免在用户数据加密时也对无效数据进行加密,从而达到了缩短分区加密时间的效果。
可选地,步骤202具体实现为:分配并初始化该用户分区的位图,其中,该用户分区的位图中的位图数组与该用户分区的Block一一对应,一个该位图数组用于表示一个Block的使用状态匹配;根据该Android终端设备的内核中的ext4文件***中的超级块(Superblock)信息,获取该用户分区中每个对应的Block的使用信息;将该用户分区中每个对应的Block的使用信息记录到该用户分区的位图对应的位图数组中。通过Superblock信息,Android终端设备可以准确获取用户分区中Block的使用信息,从而可以针对已使用的Block进行数据加密,提高加密效率。
下面,将结合具体的实施例,对本发明实施例的方法做进一步的描述。
图3是本发明实施例Android终端设备对Android用户分区进行加密的具体流程图。
301,创建用户分区的加密层。
与现有技术类似,首先,Android终端设备创建用户分区的加密层。
302,获取用户分区的数据布局。
具体地,Android终端设备可通过访问内核中的ext4文件***来获取块设备上的数据分布,从而构建一个针对用户分区的Block的快速加密位图。
在创建快速加密位图时,可按内存缓冲区的大小循环写入用户分区的Block使用信息。循环的次数可等于分区大小/缓冲区大小。如果计算的值不是整数,则取比该值大的最小整数作为循环的次数。
获取用户分区的数据布局创建快速加密位图的具体过程,可参考图4的方法。
303,读取一个未加密的块的原始数据。
在生成快速加密位图后,Android终端设备可根据快速加密位图,读取存储着有效数据的未加密块,获取该块的原始数据。
304,通过加密层将数据加密。
Android终端设备通过加密层加密的方法可参考现有技术,本发明实施例在此不再赘述。
305,将加密数据写回用户分区,覆盖原始数据。
306,判断是否还有未加密的使用数据。
Android终端设备将加密数据写回用户分区后,可根据快速加密位图,判断是否还有未加密的使用数据。如果是,则执行步骤303;否则,加密结束。
图4是本发明实施例快速加密位图、超级块与块的关系示意图。如图4所示,用户分区(块设备)中包含N+1个块,在核心库的Ext4文件***中有着对应的N+1个超级块,快速加密位图中则包含N+1个位图数组,每一个位图数组用于表示一个数据块的使用状态。
图5是本发明实施例创建快速加密图的具体流程图。下面,将结合图4,描述快速加密图的创建流程。
501,分配一个与用户分区上块个数匹配的初始化位图。
Android终端设备可分配一个初始化位图,该位图的位数等于用户分区上块(Block)的个数。以图4为例,可为图4的用户分区(块设备)分配一个N+1位的位图,并初始化。
502,查询内核的ext4文件***的超级块,根据超级块获取对应的块的使用信息。
以图4为例,Android终端设备可根据超级块0的信息,获取块0的使用信息,其中,块0是超级块0对应的块。根据超级块0,Android终端设备可确定块0被使用。
503,将块的使用信息保存到块位图对应的位图数组中。
用“1”表示块被使用,“0”表示块未被使用,则Android终端设备可将块0的使用状态“1”记录到快速加密位图的第0位位图数组中。
504,判断是否遍历完ext4文件***的所有超级块。
如果未遍历完,则执行步骤502;否则,结束。
依次遍历所有的Superblock,也就依次获取了每个Block的使用情况,为快速加密库中使用情况位图与用户分区的实际使用情况建立起一对一的实际对应。
至此,快速加密位图创建完毕。
从图4、图5所示实施例可以看出,通过建立用户分区的快速加密库,并根据快速加密库对已使用Block进行加密,避免在用户数据加密时也对无效数据进行加密,从而达到了缩短分区加密时间的效果。
图6是本发明实施例快速加密装置600的结构示意图。本发明实施例中,快速加密装置600适用于Android终端设备。如图6所示,快速加密装置600可包括:加密层生成单元610、数据分布位图生成单元620和加密单元630。其中,
加密层生成单元610,用于创建Android终端设备的用户分区的加密层。
数据分布位图生成单元620,用于根据该Android终端设备的内核中的文件***为该用户分区建立以块Block为单元的数据分布位图,其中,该数据分布位图用于表示该用户分区中Block的使用状态。
应理解,在现有的Android操作***中,其文件***为ext4***。当然,也不排除Android操作***在以后的版本中采用其它文件***的可能。
加密单元630,用于根据该数据分布位图读取该用户分区中已使用的Block的原始数据,并对该Block的原始数据进行加密,再将该Block加密后的数据写回该用户分区中,覆盖该Block的原始数据。
本发明实施例中,快速加密装置600利用Android终端设备的文件***记录的已使用的数据块的信息对Android终端设备的用户分区进行加密,避免在用户数据加密时也对无效数据进行加密,从而达到了缩短分区加密时间的效果。
应理解,在具体的应用中,快速加密装置600的功能实现可能有不同的功能划分。例如,加密层生成单元610的功能由块设备实现,数据分布位图生成单元620的功能由快速加密库实现,加密单元的功能也由块设备通过已建立的加密层实现,等等。
可选地,数据分布位图生成单元620具体用于:按照该Android终端设备的内存缓冲区的大小,从根据该Android终端设备的内核中的ext4文件***循环读取该用户分区的Block的使用状态,为该用户分区建立以Block为单元的数据分布位图。
图7是本发明实施例快速加密装置600的另一个结构示意图。可选地,作为一个实施例,如图7所示,数据分布位图生成单元620具体可包括:初始化子单元621、块信息获取子单元622和块信息写入子单元623。其中,
初始化子单元621,用于分配并初始化该用户分区的位图,其中,该用户分区的位图中的位图数组与该用户分区的Block一一对应,一个该位图数组用于表示一个Block的使用状态匹配;
块信息获取子单元622,用于根据该Android终端设备的内核中的ext4文件***中的Superblock信息,获取该用户分区中每个对应的Block的使用信息;
块信息写入子单元,用于将该用户分区中每个对应的Block的使用信息记录到该用户分区的位图对应的位图数组中。
此外,快速加密装置600还可执行图2的方法,并实现加密装置或Android终端设备在图3、图5所示实施例的功能,本发明实施例在此不再赘述。
图8是本发明实施例终端设备800的结构示意图。终端设备800为Android终端设备,包括如图6、7所示实施例中的快速加密装置600。
应理解,终端设备800可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。
图9是本发明实施例终端设备900的结构示意图。该终端设备900包括:至少一个处理器901,至少一个网络接口904或者其他用户接口903,存储器905,至少一个通信总线902。通信总线902用于实现这些组件之间的连接通信。该终端设备900可选的包含用户接口903,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等),键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触摸屏等)。本发明实施例中,终端设备900为Android终端设备。
存储器905可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器905的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器905存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作***9051,包含各种***程序,例如图1所示的框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块9052,包含各种应用程序,例如图1所示的桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。
在本发明实施例中,通过调用存储器905存储的程序或指令,处理器901用于:
创建终端设备900的用户分区的加密层;
根据该终端设备900的内核中的文件***为该用户分区建立以Block为单元的数据分布位图,其中,该数据分布位图用于表示该用户分区中Block的使用状态;
根据该数据分布位图读取该用户分区中已使用的Block的原始数据;
对该Block的原始数据进行加密;
将该Block加密后的数据写回该用户分区中,覆盖该Block的原始数据。
可选地,在用于根据该终端设备900的内核中的文件***为该用户分区建立以Block为单元的数据分布位图的过程中,处理器901具体用于:
分配并初始化该用户分区的位图,其中,该用户分区的位图中的位图数组与该用户分区的Block一一对应,一个该位图数组用于表示一个Block的使用状态匹配;
根据该终端设备900的内核中的ext4文件***中的超级块Superblock信息,获取该用户分区中每个对应的Block的使用信息;
将该用户分区中每个对应的Block的使用信息记录到该用户分区的位图对应的位图数组中。
应理解,终端设备900可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。
另外,终端设备900还可执行图2、图3、图5的方法及实施例,本发明实施例在此不再赘述。
可见,采用上述方案后,通过利用Android终端设备的文件***记录的已使用的数据块的信息对Android终端设备的用户分区进行加密,避免在用户数据加密时也对无效数据进行加密,从而达到了缩短分区加密时间的效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种Android用户分区的快速加密方法,其特征在于,包括:
创建安卓Android终端设备的用户分区的加密层;
根据所述Android终端设备的内核中的文件***为所述用户分区建立以块Block为单元的数据分布位图,其中,所述数据分布位图用于表示所述用户分区中Block的使用状态;
根据所述数据分布位图读取所述用户分区中已使用的Block的原始数据;
对所述Block的原始数据进行加密;
将所述Block加密后的数据写回所述用户分区中,覆盖所述Block的原始数据。
2.如权利要求1所述的方法,其特征在于,所述根据所述Android终端设备的内核中的文件***为所述用户分区建立以块Block为单元的数据分布位图包括:
按照所述Android终端设备的内存缓冲区的大小,从根据所述Android终端设备的内核中的ext4文件***循环读取所述用户分区的Block的使用状态,为所述用户分区建立以Block为单元的数据分布位图。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述Android终端设备的内核中的文件***为所述用户分区建立以块Block为单元的数据分布位图包括:
分配并初始化所述用户分区的位图,其中,所述用户分区的位图中的位图数组与所述用户分区的Block一一对应,一个所述位图数组用于表示一个Block的使用状态匹配;
根据所述Android终端设备的内核中的ext4文件***中的超级块Superblock信息,获取所述用户分区中每个对应的Block的使用信息;
将所述用户分区中每个对应的Block的使用信息记录到所述用户分区的位图对应的位图数组中。
4.一种Android用户分区的快速加密装置,其特征在于,包括:
加密层生成单元,用于创建安卓Android终端设备的用户分区的加密层;
数据分布位图生成单元,用于根据所述Android终端设备的内核中的文件***为所述用户分区建立以块Block为单元的数据分布位图,其中,所述数据分布位图用于表示所述用户分区中Block的使用状态;
加密单元,用于根据所述数据分布位图读取所述用户分区中已使用的Block的原始数据,并对所述Block的原始数据进行加密,再将所述Block加密后的数据写回所述用户分区中,覆盖所述Block的原始数据。
5.如权利要求4所述的装置,其特征在于,所述数据分布位图生成单元具体用于:按照所述Android终端设备的内存缓冲区的大小,从根据所述Android终端设备的内核中的ext4文件***循环读取所述用户分区的Block的使用状态,为所述用户分区建立以Block为单元的数据分布位图。
6.如权利要求4或5所述的装置,其特征在于,所述数据分布位图生成单元具体包括:
初始化子单元,用于分配并初始化所述用户分区的位图,其中,所述用户分区的位图中的位图数组与所述用户分区的Block一一对应,一个所述位图数组用于表示一个Block的使用状态匹配;
块信息获取子单元,用于根据所述Android终端设备的内核中的ext4文件***中的超级块Superblock信息,获取所述用户分区中每个对应的Block的使用信息;
块信息写入子单元,用于将所述用户分区中每个对应的Block的使用信息记录到所述用户分区的位图对应的位图数组中。
7.一种终端设备,其特征在于,包括如权利要求4至6任一项所述的装置。
8.如权利要求7所述的终端设备,其特征在于,所述终端设备包括移动终端或具有移动终端的计算机。
CN201510047613.5A 2015-01-29 2015-01-29 Android用户分区的快速加密方法、装置和终端设备 Pending CN104615941A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510047613.5A CN104615941A (zh) 2015-01-29 2015-01-29 Android用户分区的快速加密方法、装置和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510047613.5A CN104615941A (zh) 2015-01-29 2015-01-29 Android用户分区的快速加密方法、装置和终端设备

Publications (1)

Publication Number Publication Date
CN104615941A true CN104615941A (zh) 2015-05-13

Family

ID=53150380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510047613.5A Pending CN104615941A (zh) 2015-01-29 2015-01-29 Android用户分区的快速加密方法、装置和终端设备

Country Status (1)

Country Link
CN (1) CN104615941A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107333261A (zh) * 2017-06-21 2017-11-07 努比亚技术有限公司 加密数据的方法、存储介质和移动终端
CN109711208A (zh) * 2018-11-19 2019-05-03 北京计算机技术及应用研究所 Usb接口设备数据加密转换装置及其工作方法
CN113542196A (zh) * 2020-04-16 2021-10-22 北京威努特技术有限公司 一种数据报文加密判定方法、装置、***及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268489A (zh) * 2014-09-26 2015-01-07 浪潮电子信息产业股份有限公司 一种基于device mapper的加密卡性能优化的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268489A (zh) * 2014-09-26 2015-01-07 浪潮电子信息产业股份有限公司 一种基于device mapper的加密卡性能优化的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SSYATELANDISI: "给硬盘设一道密码:利用BitLocker加密硬盘重要文件", 《HTTPS://WWW.LANDIANNEWS.COM/ARCHIVES/5853.HTML》 *
陆继翔 等: "Android移动设备数据加密机制", 《无线互联科技》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107333261A (zh) * 2017-06-21 2017-11-07 努比亚技术有限公司 加密数据的方法、存储介质和移动终端
CN109711208A (zh) * 2018-11-19 2019-05-03 北京计算机技术及应用研究所 Usb接口设备数据加密转换装置及其工作方法
CN109711208B (zh) * 2018-11-19 2020-08-25 北京计算机技术及应用研究所 Usb接口设备数据加密转换装置及其工作方法
CN113542196A (zh) * 2020-04-16 2021-10-22 北京威努特技术有限公司 一种数据报文加密判定方法、装置、***及存储介质
CN113542196B (zh) * 2020-04-16 2023-03-24 北京威努特技术有限公司 一种数据报文加密判定方法、装置、***及存储介质

Similar Documents

Publication Publication Date Title
KR101434860B1 (ko) 해시를 이용한 동적코드의 무결성 검증 방법
CN106201481A (zh) 应用程序开发***中的组件管理方法和装置
CN110022558B (zh) 一种升级包的加密、解密方法和电子装置及存储介质
CN104536869A (zh) 移动终端及其资源管理方法
CN102722670B (zh) 基于移动存储设备的文件保护方法、设备和***
JP6392446B2 (ja) クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム
CN105426223A (zh) 应用加载方法和装置
CN105631361A (zh) 一种应用程序渠道来源标识方法及装置
CN110968554A (zh) 一种基于文件链分块的区块链存储方法、存储***及存储介质
CN103166911A (zh) 一种版本管理服务器权限管理方法和设备
CN104951342A (zh) 一种调整启动顺序的方法及装置
KR101734663B1 (ko) 안드로이드 어플리케이션의 역공학 방지 방법 및 이를 수행하는 장치
CN104714957A (zh) 一种表结构的变更方法及装置
CN104615941A (zh) Android用户分区的快速加密方法、装置和终端设备
US20170199912A1 (en) Behavior topic grids
CN104077503A (zh) Apk文件的处理方法及装置
CN103559464B (zh) 社保ic卡个人化方法、装置及***
CN104731626A (zh) 应用的安装方法及装置
CN104657631B (zh) 应用的渠道信息的处理方法及装置
CN110968885A (zh) 模型训练数据存储方法及装置、电子设备、存储介质
CN111198692A (zh) 一种安装包的生成方法和装置
EP4020287A1 (en) Time-based multi-dimensional key recreation mechanism using puf technologies
CN110262856B (zh) 一种应用程序数据采集方法、装置、终端及存储介质
CN105528307B (zh) 一种信息处理的方法及电子设备
CN110045929B (zh) 一种挂载点管理方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150513

RJ01 Rejection of invention patent application after publication