一种基于安全芯片的多用户分区隔离方法技术

技术编号:33131167 阅读:9 留言:0更新日期:2022-04-17 00:48
本发明专利技术提供一种基于安全芯片的多用户分区隔离方法,主用户使用原生的流程,所有数据存放在data分区,当新用户创建时,系统从硬件层面划分一个独立的分区cells,所有新建用户的所有数据存放在独立的分区下面,各用户之间无法跨物理分区进行相互的数据访问,保证数据的安全性。本发明专利技术的有益效果在于:本技术方案是结合安全芯片和多用户技术设置独立系统分区,从物理上与系统分开,使数据物理隔离,防止用户数据遭泄露,同时限制访问权限,保证系统分区的数据的安全,提供数据加密服务,提高了数据的安全级别,并且设置了自毁功能,可以从根本上防止分区数据被窃取,保证了用户信息的安全。安全。安全。

【技术实现步骤摘要】
一种基于安全芯片的多用户分区隔离方法


[0001]本专利技术涉及智能终端
,特别是基于安全芯片的多用户分区隔离方法。

技术介绍

[0002]随着信息技术的高速发展,Android系统的不断迭代,Android8.0以上得到不断优化,系统更加稳定和流畅,尽管如此还是存在多种安全问题。Android操作系统是开源的系统,相比于IOS等封闭的移动操作系统,它更容易被攻击和感染病毒,对于数据泄露也缺乏完善的保护机制。在终端系统面临巨大安全风险的现状下,除了在Android原生系统上增加安全应用这一解决方案,双操作系统应运而生。
[0003]当前主流的双操作系统方案主要有四种:基于Linux账户技术的双操作系统方案(简称双用户)、基于安卓服务改造技术的多系统方案(简称安全域)、基于容器技术的双操作系统方案(简称双操作系统)和基于虚拟机技术的双操作系统方案(简称虚拟机)。这些双操作系统通过在软件或硬件层面的数据隔离策略,来达到内部系统数据信息安全的目的。
[0004]目前双操作系统的多用户功能里多用户使用相同的分区,并没有做到物理隔离,所有数据包括系统数据和应用数据均使用同一个分区/data,数据十分容易泄露,安全性极低。同时多用户系统没有设计较强的隐蔽性,并且在数据安全方面没有其他任何手段加固保护,可以操作文件中任何数据,而且没有对数据加密处理,数据泄漏风险极大。

技术实现思路

[0005]本专利技术通过结合安全芯片和多用户分区技术,将多用户里各用户的数据物理隔离,将非0用户数据存放在独立分区,使各用户之间从软件到硬件层满足分区隔离需求,通过安全芯片的加解密技术对独立分区对分区文件加密保护,提高用户数据安全等级。安全芯片采用国产密码算法,在算法安全性上可得到保障,保证了用户数据的安全。同时系统还设计自毁模式,当满足限定条件时,系统调用自毁模块,将新用户相关的分区数据包括个人数据和分区文件系统进行格式化,这样可以从根本上防止用户私密数据泄露,保护用户的隐私信息安全。本专利技术是通过如下技术方案实现的。
[0006]一种基于安全芯片的多用户分区隔离方法,主用户使用原生的流程,所有数据存放在data分区,当新用户创建时,系统从硬件层面划分一个独立的分区cells,所有新建用户的所有数据存放在独立的分区下面,各用户之间无法跨物理分区进行相互的数据访问,保证数据的安全性。
[0007]本专利技术的有益效果是:与现有技术相比,本专利技术针对多用户创建独立的分区,从物理底层达到各系统用户相互隔离,保护用户数据安全,同时通过安全芯片提供的加密校验技术对分区的挂载进行校验,保证分区安全挂载。
[0008]本专利技术基于可信计算技术、SElinux技术、系统级别的应用运行环境隔离技术、多用户技术以及以防信息泄露为核心的设备安全管理技术,实现双操作系统环境,达到应用、数据安全隔离的目的。
[0009]可以通过密码触发销毁分区系统,快速清除系统分区存储及分区系统的使用痕迹,保护系统安全无泄露,保护数据不被窃取。
[0010]安全芯片中的算法能力由加密芯片硬件IP核提供,所有的加密运算在IP核中完成,可以有效的抵抗各种形式的攻击。
附图说明
[0011]图1是现有技术的原生多用户的分区结构图。
[0012]图2是本专利技术的独立分区多用户的结构图。
[0013]图3是本专利技术的独立分区示意图。
[0014]图4是本专利技术的原生Selinux安全框架示意图。
[0015]图5是本专利技术的使用独立分区后,Selinux安全框架示意图。
[0016]图6是本专利技术的系统独立分区的启动、校验流程图。
[0017]图7是本专利技术的分区销毁流程图。
[0018]图8是本专利技术的FBE流程图。
具体实施方式
[0019]以下结合附图对本专利技术的实施例进行详细说明,但是本专利技术可以由权利要求限定和覆盖的多种不同方式实施。
[0020]如图1所示,是现有技术中,原生多用户在创建多用户时,所有用户(包括0号主用户)的数据存放在同一个data(数据)分区下,通过userid创建各自的目录,各自应用产生的数据及共享数据均存放在data目录(如共享数据存放在/data/media目录下)。所有用户使用同一分区,数据也没有隔离,这种模式下,数据的安全性不高,很容易导致用户数据泄露被窃取。
[0021]如图2所示,是本专利技术使用独立分区后多用户的分区结构图,对原生多用户进行分区隔离划分,0号主用户使用原生的流程,所有数据存放在data分区,另起独立分区(cells),当新用户创建时,系统从硬件层面划分一个独立的分区,所有新建用户(以10用户为例),10用户的所有数据存放在独立的分区下面,各用户之间无法跨物理分区进行相互的数据访问,保证数据的安全性。
[0022]如图3所示,为分区使用示意图。区别于0号主用户的非0用户使用用独立分区cells,在编译系统源码时生成cells.img(分区镜像)并在partition(分区)分配时,分配好所需的大小,init.rc(初始化启动文件)中配置cells分区初始化目录。
[0023]cells/user|user_de user目录存放新分区用户的app及其数据
[0024]cells/system|system_ce|system_de目录存放新分区用户的相关系统设置数据
[0025]cells/vendor_ce|vendor_de目录存放厂商定制部分相关数据
[0026]cells/misc|misc_ce|misc_de目录存放引导恢复信息及关键设置数据
[0027]cells/media目录存放应用的共享存储目录,例如图片、视频、下载等媒体内容。
[0028]Android系统启动时,解析init.rc文件时,会创建以上相关目录,并配置好对应的selinux(安全策略)。
[0029]以Android系统为例,基于android11为实现新分区的正常使用,需要对系统的各
处关键流程做修改,具体实现如下:
[0030]Android系统的System(系统)层:
[0031]rootdir(根目录)中增加cells目录的相关结构,在init.rc中增加cells/media user system vendor等相关目录的创建,在init.environ.rc.in(初始化环境配置文件)中增加全局属性指向cells根目录,此处逻辑修改主要为了内核启动后,拉起init进程进行系统初始化解析rc文件时,创建好cells相关的目录。
[0032]Init.rc中增加相关逻辑,实现init在做cells.img挂载时与安全芯片的交互功能,通过安全芯片的验证校验成功后,才能进行cells.img的挂载,同时在init的selinux(安全策略)逻辑中,增加安全策略校验,对cells目录的secontext(安全上下文)进行安全性检验。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于安全芯片的多用户分区隔离方法,其特征在于,主用户使用原生的流程,所有数据存放在data分区,当新用户创建时,系统从硬件层面划分一个独立的分区cells,所有新建用户的所有数据存放在独立的分区下面,各用户之间无法跨物理分区进行相互的数据访问,保证数据的安全性。2.如权利要求1所述的一种基于安全芯片的多用户分区隔离方法,其特征在于,所述新用户使用独立分区cells,在编译系统源码时生成cells.img并在partition分配时,分配好所需的大小,init.rc中配置cells分区初始化目录,其中:cells/user|user_de user目录存放新分区用户的app及其数据;cells/system|system_ce|system_de目录存放新分区用户的相关系统设置数据;cells/vendor_ce|vendor_de目录存放厂商定制部分相关数据;cells/misc|misc_ce|misc_de目录存放引导恢复信息及关键设置数据cells/media目录存放应用的共享存储目录。3.根据权利要求2所述的一种基于安全芯片的多用户分区隔离方法,其特征在于,系统启动时,解析init.rc文件时,会创建以上相关目录,并配置好对应的selinux。4.根据权利要求2所述的一种基于安全芯片的多用户分区隔离方法,其特征在于,新用户创建时,所述分区cells创建目录:rootdir中增加cells目录的相关结构,在init.rc中创建cells/media user system vendor相关目录,在init.environ.rc.in中增加全局属性指向cells根目录;init.rc中增加相关逻辑,实现init在做cells.img挂载时与安全芯片的交互功能,通过安全芯片的验证校验成功后,才能进行cells.img的挂载;Vold中新增cells根目录接口,系统主用户返回/data为根目录的文件路径,而所有新用户返回以/cells为根目录的文件路径;在fscrypt中修改逻辑,用以适配分区的FBE流程;Sdcard中针对mnt目录的相关挂载,增加相关逻辑,当进行新用户的分区目录挂载时,sdcardfs机制使用"/mnt/cellsruntime/default/""/mnt/cellsruntime/read/""/mnt/cellsruntime/write/""/mnt/cellsruntime/full/"相关目录;在系统sepolicy中增加cells目录的file_context,以cells_file为上下文管控新建分区里所有目录文件的安全上下文,同时针对cells目录的几个相关主目录增加单独的安全上下文,并在相关的te文件中增加对cells_file的allow规则;在版本sepolicy中同时针对分区新增对应的block_device,配置好针对此block_device相关的规则;在initfsck e2fs resize相关te中增加对cells block_device的相关规则支持;External的libselinux中,增加分区相关目录比如cells/user目录的安全策略处理逻辑。5.如权利要求1所述的一种基于安全芯片的多用户分区隔离方法,其特征在于,新用户创建时,还包括在zygote的相关多用户逻辑中进行修改,zygote进行isolateAppData时,根据userid,新用户的ce、de目录返回分区目录(cells/user cells/user_de),同时relabel分区目录的上下文;在environment系统环境变量中,增加getCellsDirectory方法返回分区根目录,同时
新建的非主用户在获取目录时,返回以cells为根的对应的目录及子目录;Installd服务中与vold服务同步修改,新用户返回新分区根目录及相关目录、子目录,InstallNativeService中针对新用户相关的逻辑同步修改,以适配新分区。6.根据权利要求1所述的一种基于安全芯片的多用户分区隔离方法,其特征在于,新用户创建时,还包括系统Build中的修改,增加相关逻...

【专利技术属性】
技术研发人员:刘俊
申请(专利权)人:中易通科技股份有限公司
类型:发明
国别省市:

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

1