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

文档序号:8299367阅读:来源:国知局
Android终端设备可根据超级块O的信息,获取块O的使用信息,其中,块O是超级块O对应的块。根据超级块0,Android终纟而设备可确定块O被使用。
[0063]503,将块的使用信息保存到块位图对应的位图数组中。
[0064]用“I”表示块被使用,“O”表示块未被使用,则Android终端设备可将块O的使用状态“I”记录到快速加密位图的第O位位图数组中。
[0065]504,判断是否遍历完ext4文件系统的所有超级块。
[0066]如果未遍历完,则执行步骤502 ;否则,结束。
[0067]依次遍历所有的Superblock,也就依次获取了每个Block的使用情况,为快速加密库中使用情况位图与用户分区的实际使用情况建立起一对一的实际对应。
[0068]至此,快速加密位图创建完毕。
[0069]从图4、图5所示实施例可以看出,通过建立用户分区的快速加密库,并根据快速加密库对已使用Block进行加密,避免在用户数据加密时也对无效数据进行加密,从而达到了缩短分区加密时间的效果。
[0070]图6是本发明实施例快速加密装置600的结构示意图。本发明实施例中,快速加密装置600适用于Android终端设备。如图6所示,快速加密装置600可包括:加密层生成单元610、数据分布位图生成单元620和加密单元630。其中,
[0071]加密层生成单元610,用于创建Android终端设备的用户分区的加密层。
[0072]数据分布位图生成单元620,用于根据该Android终端设备的内核中的文件系统为该用户分区建立以块Block为单元的数据分布位图,其中,该数据分布位图用于表示该用户分区中Block的使用状态。
[0073]应理解,在现有的Android操作系统中,其文件系统为ext4系统。当然,也不排除Android操作系统在以后的版本中采用其它文件系统的可能。
[0074]加密单元630,用于根据该数据分布位图读取该用户分区中已使用的Block的原始数据,并对该Block的原始数据进行加密,再将该Block加密后的数据写回该用户分区中,覆盖该Block的原始数据。
[0075]本发明实施例中,快速加密装置600利用Android终端设备的文件系统记录的已使用的数据块的信息对Android终端设备的用户分区进行加密,避免在用户数据加密时也对无效数据进行加密,从而达到了缩短分区加密时间的效果。
[0076]应理解,在具体的应用中,快速加密装置600的功能实现可能有不同的功能划分。例如,加密层生成单元610的功能由块设备实现,数据分布位图生成单元620的功能由快速加密库实现,加密单元的功能也由块设备通过已建立的加密层实现,等等。
[0077]可选地,数据分布位图生成单元620具体用于:按照该Android终端设备的内存缓冲区的大小,从根据该Android终端设备的内核中的ext4文件系统循环读取该用户分区的Block的使用状态,为该用户分区建立以Block为单元的数据分布位图。
[0078]图7是本发明实施例快速加密装置600的另一个结构示意图。可选地,作为一个实施例,如图7所示,数据分布位图生成单元620具体可包括:初始化子单元621、块信息获取子单元622和块信息写入子单元623。其中,
[0079]初始化子单元621,用于分配并初始化该用户分区的位图,其中,该用户分区的位图中的位图数组与该用户分区的Block—一对应,一个该位图数组用于表示一个Block的使用状态匹配;
[0080]块信息获取子单元622,用于根据该Android终端设备的内核中的ext4文件系统中的Superblock信息,获取该用户分区中每个对应的Block的使用信息;
[0081]块信息写入子单元,用于将该用户分区中每个对应的Block的使用信息记录到该用户分区的位图对应的位图数组中。
[0082]此外,快速加密装置600还可执行图2的方法,并实现加密装置或Android终端设备在图3、图5所示实施例的功能,本发明实施例在此不再赘述。
[0083]图8是本发明实施例终端设备800的结构示意图。终端设备800为Android终端设备,包括如图6、7所示实施例中的快速加密装置600。
[0084]应理解,终端设备800可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。
[0085]图9是本发明实施例终端设备900的结构示意图。该终端设备900包括:至少一个处理器901,至少一个网络接口 904或者其他用户接口 903,存储器905,至少一个通信总线902。通信总线902用于实现这些组件之间的连接通信。该终端设备900可选的包含用户接口 903,包括显示器(例如,触摸屏、IXD、CRT、全息成像(Holographic)或者投影(Projector)等),键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触摸屏等)。本发明实施例中,终端设备900为Android终端设备。
[0086]存储器905可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器905的一部分还可以包括非易失性随机存取存储器(NVRAM)。
[0087]在一些实施方式中,存储器905存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
[0088]操作系统9051,包含各种系统程序,例如图1所示的框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0089]应用程序模块9052,包含各种应用程序,例如图1所示的桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。
[0090]在本发明实施例中,通过调用存储器905存储的程序或指令,处理器901用于:
[0091]创建终端设备900的用户分区的加密层;
[0092]根据该终端设备900的内核中的文件系统为该用户分区建立以Block为单元的数据分布位图,其中,该数据分布位图用于表示该用户分区中Block的使用状态;
[0093]根据该数据分布位图读取该用户分区中已使用的Block的原始数据;
[0094]对该Block的原始数据进行加密;
[0095]将该Block加密后的数据写回该用户分区中,覆盖该Block的原始数据。
[0096]可选地,在用于根据该终端设备900的内核中的文件系统为该用户分区建立以Block为单元的数据分布位图的过程中,处理器901具体用于:
[0097]分配并初始化该用户分区的位图,其中,该用户分区的位图中的位图数组与该用户分区的Block--对应,一个该位图数组用于表示一个Block的使用状态匹配;
[0098]根据该终端设备900的内核中的ext4文件系统中的超级块Superblock信息,获取该用户分区中每个对应的Block的使用信息;
[0099]将该用户分区中每个对应的Block的使用信息记录到该用户分区的位图对应的位图数组中。
[0100]应理解,终端设备900可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。
[0101]另外,终端设备900还可执行图2、图3、图5的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1