磁盘数据的保护方法及系统的制作方法_2

文档序号:9327257阅读:来源:国知局
036]上述方法可以实时的对Android特定分区进行加密,在密码验证通过后对其进行解密,并能实时控制此分区的可见状态,动态保证了特定分区的安全性,实时的对该分区的数据进行保护,从系统层面降低该系统平台的隐私泄露的威胁。使Android系统原有的安全性上进行提升,增加了一种运行态特定分区实时加密管控的机制,弥补了原有磁盘加密方法未在运行态的保护的缺陷,从系统层面降低该平台的安全威胁。
[0037]上述步骤102中在所述加密守护服务模块接收所述终端通过所述交互程序模块发送的解密信息之前,所述方法还包括图中未示出的步骤:
[0038]所述加密守护服务模块通过所述交互程序模块向所述终端发送请求获取所述待解密的物理分区地址的解密信息。
[0039]在另一个可实现的方式中,上述步骤102中所述加密守护服务模块接收所述终端通过所述交互程序模块发送的解密信息,在验证所述解密信息错误时,通过所述交互程序模块箱所述终端发送密码错误的提示信息。
[0040]在上述步骤103之后,所述方法还包括图中未示出的步骤:
[0041]所述加密守护服务模块在删除所述新建的文件夹,对所述物理分区地址进行加密之后,更新所述预设的加密分区列表。
[0042]上述方法针对以往的Android系统进行优化增加一种基于Android系统平台分区实时动态加密的方法,使得其支持在Android系统运行时对系统的指定分区进行实时加解密。在保证Android系统正常运行的前提下,对现有Android系统的应用层、框架层、核心服务层修改和扩展,使用一个底层驱动和系统服务实时对系统的特定分区进行加解密控制,利用管理端应用程序构建新的Android特定分区的实时加密控制的方法。使用一个守护进程服务统筹整个系统的运行,使用加密守护服务模块CryptServer系统核心服务作为守护进程,而且交互程序模块CryptHelper是系统应用。有效的保证了整个特定分区加解密系统的完整性与安全性,并能实时有效监控加密分区的状态。在这个运行过程中,为在磁盘上保存过用户的密钥信息,而是直接利用内存中的数据进行解密,保障用户密钥的安全性,而且攻击者无法利用删除密钥的方法来偷取加密分区中的数据。
[0043]利用此方法可以实时的对Android特定分区进行加密,在密码验证通过后对其进行解密,并能实时控制此分区的可见状态,动态保证了特定分区的安全性,实时的对该分区的数据进行保护,从系统层面降低该系统平台的隐私泄露的威胁。因为特定实时动态加密该监控机制的使用,只有当通密码验证通过才能使用该分区的资源有效防止隐私泄露,以及泄密事件的发生。
[0044]下面通过具体步骤对上述方法进行详细说明。
[0045]步骤1:首先在系统启动后启动init进程,它将读取相应的配置文件,然后根据已设置启动参数启动CryptServer核心服务,CryptServer并且预读系统中用户的设置,以及分区和分区名对应表。
[0046]步骤2:CryptServer构建一个当前加密状态列表(包括当前各个分区的加密状况,以及加解密时间),并进入等待状态,等待系统级应用程序CryptHelper的指令。
[0047]步骤3:此时位于CryptServer加密列表中的所有分区都处于加密状态,对与系统而言此时的分区无法挂载,因为分区的文件系统是密文,而且也无挂载点。
[0048]步骤4:当用户想对某个分区进行解密时,用户需要对打开系统级应用程序CryptHeIper,并且选择解密的目标分区名,此时CryptHelper会将目标分区名发送给CryptServer0
[0049]步骤5:当CryptServer收到解密的请求时,首先验证请求的发送方的信息,并判断其是否为系统应用CryptHelper。如果验证失败,将直接断开连接,并记录错误。如果验证通过,CryptServer将读取加密分区列表中的信息,根据目标解密分区名找到相应的物理分区地址,以及相应的设备fd,可以理解为指针指向的设备。
[0050]步骤6:当CryptServer完成步骤5后,会向CryptHelper返回分区已找到的信息,并向CryptHelper请求分区解密密码,CryptServer进入等待状态,等待CryptHelper传入解密密码。CryptHelper收到信息后,立刻刷新界面请求用户输入解密密码,并验证密码格式是否正确(如是否为空,是否少于6位等)。当用户输入密码后,CryptHelper立刻将此密码传输给CryptServer。
[0051]步骤7:当CryptServer收到密码后,直接利用此密码尝试对此分区进行解密,如果密码验证通过,则将该分区全盘解密,并且利用Iinux内核工具device-mapper进行重新映射,映射到一个新的块设备/dev/mapper/name。
[0052]该步骤通过密码尝试,并未单独设置一文件存有分区对应的预设的密码表格,密码对于用户来说均是不可见的,因此,不存在密码被盗的风险。
[0053]步骤8:CryptServer在根目录创建一个新的文件夹SecPart,并且修改其的权限组。然后CryptServer会去读取自身的分区信息表,根据其中的相应分区的文件系统类型将解密后的/dev/mapper/name,挂载到SecPart,挂载完成后会向系统程序CryptHeIper返回已完成挂载代码。
[0054]步骤9:如果密码验证失败,则CryptServer跳过步骤8直接向CryptHelper返回相应的错误代码。CryptHelper收到代码后根据相应的代码提示用户已解密成功,或者密码错误。此后验证通过后用户就可以正常使用加密分区。
[0055]步骤10:当用户点击系统程序的关闭密区后,在已解密的分区中,选择相应的分区名,并将其传送给CryptServer,由CryptServer关闭所有的使用该分区的程序,然后再从SecPart上解挂载,并且再次加密,然后关闭/dev/mapper/name的映射关系。然后删除文件夹SecPart,此时返回给CryptHelper关闭成功的代码,CryptHelper刷新其密区列表,并提示用户关闭相应密区成功。
[0056]本发明还提供了一种磁盘数据的保护系统的结构示意图,如图2所示,该系统包括:终端1、加密守护服务模块2、通信适配器模块3、加密守护服务模块4和分区加解密模块5。
[0057]加密守护服务模块,用于在接收到终端通过交互程序模块发送的解密的请求消息时,通过查询预设的加密分区列表获取所述请求消息对应的待解密的物理分区地址;
[0058]终端,用于通过所述交互程序模块向所述加密守护服务模块发送解密信息;
[0059]所述加密守护服务模块,还用于接收所述解密信息,在验证所述解密信息正确后,解密所述物理分区地址,并将所述物理分区地址的内容映射到新建的文件夹中;
[0060]所述终端,用于对所述新建的文件夹中的内容进行操作;
[0061]所述加密守护服务模块,还用于在所述终端对所述新建的文件夹中的内容进行操作的同时,将操作的新建的文件夹中的内容映射到所述物理分区地址,并在所述操作完成后,删除所述新建的文件夹,对所述物
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1