APP下载

基于Android虚拟应用技术的数据安全存储方案

2020-12-09张嵩李刚魏康威李铭乐武宗品

数字技术与应用 2020年10期
关键词:加解密数据安全代理

张嵩 李刚 魏康威 李铭乐 武宗品

摘要:移动终端数据的存储安全一直是信息安全防护体系的薄弱点,对移动终端上存储的数据进行加密,可以有效防范数据泄露。本文以Android移动终端数据存储安全为研究对象,基于沙盒机制研发了一套通用的虚拟文件系统,在此基础上提出了一种Android移动终端数据安全存储方案。

关键词:Android虚拟应用技术;信息安全;存储安全

中图分类号:TP309.2    文献标识码:A    文章编号:1007-9416(2020)10-0000-00

0 引言

随着互联网和移动通信技术的发展,人们已经习惯在移动终端上进行移动办公、移动支付、处理生活娱乐。但移动终端仍存在着很大的数据安全隐患,主要集中在几点三点[1]:(1)移动终端漏洞多,为病毒、木马的入侵提供了条件,使得存储在移动终端上文件数据不安全可靠。(2)移动终端存在丢失的可能,移动终端丢失以后存储在移动终端上的重要文件和信息有可能被别有用心的人获取并非法牟利,会给用户造成经济损失。(3)移动终端成为网络攻击的新目标,目前网络上钓鱼网站泛滥,针对移动终端的网络攻击更是层出不穷,数据显示每年的钓鱼网站攻击事件超4000万起。移动终端上存储的文件数据安全应当引起我们足够的重视,防止文件泄露丢失以及被非法技术手段窃取以避免造成不必要的损失和麻烦。

移动终端数据安全防护常见的防护重点在三个环节:云端数据保护、传输数据保护和终端数据保护。前两者可以通过加密的访问控制、数据加密进行处理,但终端数据保护仅仅通过Android的文件系统私有目录访问权限进行访问控制是不够的。目前常见的解决方案是有两种:(1)应用自行对存储数据进行加密,但缺点是应用开发者往往专注于业务开发,不擅长数据安全相关的业务,容易从设计之初就留下隐患。(2)打开Android的“全盘加密”功能,但打开后对整个设备的性能有较大影响。目前这两种方案对于用户来说操作有些繁琐,本文基于沙盒的机制研发了一套通用的虚拟文件系统,并以此为基础提出了一种Android移动终端数据安全存储方案,方便开发者和用户使用,给用户提供一个安全可靠的终端数据存储环境。

1 数据安全存储方案需求分析

隨着智能手机的大规模应用普及,智能手机大有取代电脑之势,成为人们日常工作和生活的必需用品,并且存储在手机中的文件重要性也越来越高,保存在智能手机中的文件也面临着越来越严峻的考验。目前市面上存在的加解密软件都是需要用户在打开文件时输入密码以进行身份认证,不方便用户使用并且文件加解密效率不高[2]。为方便用户操作和提高文件加解密效率,结合当前智能手机的主流操作系统和文件加解密的发展与现状,本文设计开发了基于Android虚拟应用技术的数据安全存储方案。本方案需要实现以下两个功能需求:

(1)实现Android平台下存储于移动终端上文件的透明加解密功能,即做到在用户无感知情形下的文件加解密,当加密的文件经复制或移动到其他环境下进行查看时,文件会以乱码显示,起到安全加密保护作用,有效保护存储在移动终端上的文件,阻止移动终端中隐私文件的泄露。(2)减少用户的多余操作,最大程度方便用户使用。区别于传统加解密软件需要频繁输入密码的操作,在创建或是打开文件时,用户感受不到文件数据正在进行的加解密操作,能够自动的对受保护的文件类型进行加解密操作以达到文件透明加解密的目的。除此之外,本方案需要提供常规的用户管理功能,如密码设置、密码找回等。

2 技术与设计

文件存储加解密技术已经日趋成熟,不过目前多应用在Windows系统平台下,针对Android手机的文件存储加解密软件参差不齐,本文设计了一个基于Android系统平台的文件透明加解密系统,在Native层通过拦截系统调用I/O函数实现加透明解密功能,从而改善用户体验加解密效率[3]。

2.1 虚拟应用技术实现分析

Android虚拟应用技术可以理解为轻量级的“Android虚拟机”、一个虚拟化的Android系统[4],其形态为高可扩展,可定制的集成SDK(软件开发包),虚拟应用支持第三方应用静默安装,安装在虚拟应用中的第三方应用程序不仅可以正常启动运行,同时第三方应用程序所产生的私有数据能够与虚拟应用外系统进行隔离。第三方应用程序的运行必须要由Android系统的Framework层作为支撑,其中最重要的部分是各种系统服务和Android系统的四大组件,应用程序通过调用Framework提供的系统接口和服务,才能实现应用业务和操作各种手机硬件外设。Android虚拟应用内部设计了一套类似于Android系统Framework的接口和服务,这些接口与服务的设计是基于Java反射和动态代理技术的原理实现的[5],动态代理为系统服务生成了Proxy代理端,代理的系统服务包括相机、蓝牙、音频、网络、电话、定位等外设模块。Android虚拟应用内部的应用通过代理服务才能访问系统服务,实现了操作相应硬件的功能。

2.2 存储访问代理技术实现分析

Android系统每个应用程序都有自己的私有目录,系统会在内部存储空间/data/data 目录下以应用包名为名字自动创建与之对应的文件夹,该目录存储与应用相关的数据,如应用配置、数据库信息等,该目录只有宿主应用可以访问,其他应用没有权限访问,该目录随着应用的卸载会被清除,保证用户信息的安全,同时系统也有公共的目录,用来存储与应用无关的数据,如拍照类APP存储的图片等数据,这些数据存储在公共目录,其他应用也是可以访问到的,并且应用删除后系统不会清除这些数据。安装在虚拟应用内部的应用程序产生的数据会被保存到公共目录,这样会被其他应用访问到,为了保证内部数据的完全隔离,虚拟应用需要代理存储访问,将内部应用保存到公共目录的数据重定向到应用的私有目录下,保证虚拟应用内数据与系统外部数据完全隔离,这样虚拟应用卸载后所有的数据都会被清除,不会造成数据泄漏,保证数据安全存储。为了保证用户数据的绝对安全存储,虚拟应用在数据隔离的基础上还增加了本地数据透明加解密,这样即使虚拟应用内本地保存的数据泄漏出去也是加密的数据,其他人无法查看加密数据内容。存储访问代理层实现的功能主要由文件重定向和数据加解密的决策控制两部分组成:

(1)文件重定向(数据隔离)[6],Android应用最终都是通过系统标准函数库(libc.so)接口,去访问手机存储。虚拟应用通过拦截(Hook)代理该函数库接口[7],修改接口的输入参数(文件存储路径),将文件存储路径修改为应用私有目录路径,使应用数据都存储到私有目录下。(2)数据加解密的决策控制,应用层对存储系统的访问是通过open/read/write这些I/O函数操作手机存储系统,应用层通过JNI调用Linux系统的I/O函数访问存储,虚拟应用在JNI层增加了一层存储访问代理,代理Linux的open/read/write等I/O函数。这样当应用层有文件I/O操作时,都会先走到存储访问代理层,存储访问代理层决策是否需要对文件加密/解密,然后调用加解密组件模块执行加解密操作。在虚拟应用内的第三方应用有新建文件操作时,会先走到存储访问代理接口,此代理接口根据读取到的应用信息及文件协议类型,判断是否需要加密。如果该文件需要加密,则调用加解密组件,进行数据加密;加密完成后,存储访问代理层再调用系统I/O接口将密文写入文件存储系统,文件加密完成;如果该文件不需要加密,则正常写文件。读文件时存储访问代理层会先读取文件头,判断该文件是否为加密文件,如果该文件是加密文件,调用加解密组件从文件读出加密数据对数据解密,然后将解密后的明文返回给应用层,文件解密完成;如果该文件不是加密文件,正常读取文件。

2.3 系统总体设计

系统设计包括:存储访问代理,加解密组件,密码模块组成。(1)存储访问代理主要负责拦截应用程序对文件的I/0操作,之后将获取到的数据传递给加解密组件处理;(2)加解密组件主要负责接收存储访问代理传递的需要加密的明文文件数据或者需要解密的密文文件数据,之后调用密码模块接口对数据进行加解密操作;(3)密码模块主要负责会话密钥,针对每一个需要加密的文件都会产生一个新的会话密钥,并负责对文件数据的加解密操作。

3 实际应用

以虚拟应用技术、存储访问代理技术作为底层基础框架,公司组织团队开发从终端到后台管理的基于Android虚拟应用技术的数据安全存储系统软件。

3.1 功能模块

(1)用户管理。基于Android虚拟应用技术的数据安全存储软件可以将客户的组织架构信息通过Excel表的形式导入,也可以在平台上录入信息。管理员可以对这些用户信息进行增删改查,并对用户的账号密码进行重置。(2)文件透明加解密。在使用数据安全存储系统软件时,对保存的文件进行加密处理,查看文件时进行解密处理。整个过程中用户不会感觉到文件文身的加解密。方便用户使用操作,无额外附加操作。

3.2 使用场景

基于Android虚拟应用技术的数据安全存储方案是顺应市场需求,面向政务部门等一些对文件存储安全等级要求比较高的行业,为用户提供一个安全可靠的移动终端使用环境,保证用户文件安全存储。

4 结语

本文分析了数据安全存储方案需求以及虚拟技术、存储访问代理技术的实现原理,并以此做为底层基础框架开发出Android虚拟应用技术的数据安全存储软件,满足应用无需修改的情况下,对存储在移动终端上的数据进行加解密的需求。后期,在数据加密的类型上可以做更多的优化,以支持更多的文件协议,同时,可以考虑通过配置的方式实现对应用要保存的数据的灵活管控和权限验证。

参考文献

[1] 王喆.Android移動终端数据安全检测方法研究[J].网络安全技术与应用,2019(1):63-64.

[2] 唐铭若.基于Android平台的文件透明加密的设计与实现[D].成都:电子科技大学,2012.

[3] 沈成,李永忠.Android平台下文件透明加解密技术的研究与设计[J].通信技术,2017(12):2846-2851.

[4] 侯俊行,杨哲慜,杨珉.安全隔离的安卓应用虚拟化框架设计与实现[J].小型微型计算机系统,2019(9):1987-1993.

[5] 陈先跃,王大全.基于动态代理Android插件化研究与实现[J].工业控制计算机,2017(7):99-100.

[6] 崔海娜.基于虚拟化及重定向技术的Android沙箱的设计与实现[D].北京:北京邮电大学,2018.

[7] 王炯.基于系统调用截获的Android隐私保护[D].西安:西安电子科技大学,2013.

收稿日期:2020-08-31

作者简介:张嵩(1985—),男,河南郑州人,本科,研究方向:Android框架、Linux内核、移动终端信息安全。

Data Security Storage Scheme Based on Android Virtual Application Technology

ZHANG Song, LI Gang, WEI Kang-wei, LI Ming-le, WU Zong-pin

(Zhengzhou Xinda Jiean Information Technology Co., Ltd, Zhengzhou Henan  450003)

Abstract: The storage security of mobile terminal data has always been the weak point of information security protection system, encrypt the data stored on the mobile terminal, it can effectively prevent data leakage. This paper takes Android mobile terminal data storage security as the research object, a general virtual file system is developed based on sandbox mechanism, based on this a secure data storage scheme for Android mobile terminal is proposed.

Key words: android virtual application technology; information security; storage security

猜你喜欢

加解密数据安全代理
云计算中基于用户隐私的数据安全保护方法
代理圣诞老人
代理手金宝 生意特别好
建立激励相容机制保护数据安全
大数据云计算环境下的数据安全
电子取证中常见数据加解密理论与方法研究
复仇代理乌龟君
基于FPGA的LFSR异步加解密系统
大数据安全搜索与共享
一个村有二十六位代理家长