方芳
【摘要】近年来,国内外的移动互联网发展迅速,对国内社会大众的日常工作、生活和社会经济的发展都做出了重要的贡献,其中Android移动终端的普及速度较快、普及范围比较广,相关的用户可以频繁地进行数据信息的交流,同时感受到相对应的便利。然而在Android移动终端快速发展的背景之下,与之相关的数据信息安全问题也层出不穷,对于不同用户的生活、工作和国内整体社会经济的发展都形成了比较大的负面影响。在Android移动终端技术快速发展的背景下,重视与之相关的信息数据安全防护技术的发展,对国内Android移动终端发展和广大用户群体的隐私数据安全都是十分重要和必要的。本文针对Android移动终端数据安全防护技术进行相关的研究和分析,旨在实现Android移动终端用户个人隐私数据的安全保护。
【关键词】Android;移动终端;数据安全;防护技术;技术运用;研究分析
中图分类号:TN92 文献标识码:A DOI:10.12246/j.issn.1673-0348.2022.05.007
众所周知,目前国内处于重要的信息技术和移动互联网时代背景之下,这一背景下的信息技术发展迅速,同时与之相对应的智能终端设备也在不断迭代更新,其中Android移动终端基础之上的各种移动终端智能设备已经成为了现代社会大众日常沟通交流、娱乐、生活中不可或缺的一个重要工具,并且这些设备当中包含相当多的用户信息和数据,用户的这些设备中下载了恶意手机程序的情况下,会导致用户的个人隐私数据不断被窃取,近年来之所以出现程度不一的诈骗案件,其中非常重要的一个原因就是用户个人的数据和信息出现了被泄露的情况,轻则出现一定的经济损失,严重情况下还会导致用户的人身安全受到比较大的负面影响。所以,在接下来的文章当中就将针对Android移动终端数据安全防护技术进行详尽阐述,其主要目的在于提升Android移动终端用户群体的个人数据和信息安全,希望对相关的数据安全防护技术开发起到一定的借鉴和指导作用。
1. 开发平台的分析
1.1 Android的体系架构
Android系统是在Linux开源操作系统的基础之上不断设计、开发所得到的,目前在移动智能设备当中的应用比较常见。在系统架构方面主要采用了分层式的架构,整体层次相对明细,具体的架构分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。这种金字塔式系统结构,主要是因为每一层都会为上一层提供相对应的服务,以便Android移动终端系统能够不断迭代更新,同时可以方便相关的开发工作者的使用。
1.1.1 应用程序层
应用程序层,顾名思义就是以应用程序为载体的一个层级,可以与Android移动终端的用户进行交互,在Android系统当中的诸多原生应用都是应用程序层,包含常见的闹钟、通讯录和照相机等等。除此之外,应用程序曾还包含第三方开发的重要应用,常见的包含微博、微信和QQ等等。相关的开发工作人员在工作过程中,需要同时考虑到Android系统和用户的需求,从而开发出不同的应用程序,供广大的用户群体进行使用。
1.1.2 应用程序的框架层
在Android系统的应用程序框架层当中包含了不同应用程序需要的类库和API,并且封装了开发工作人员所需要的各种不同组件,有利于提升相关开发组成员的开发工作效率,并且能够满足用户群体的需求实现个性化的应用程序开发。
1.1.3 系统运行层
Android系统的运行层主要包含两个组成部分,分别是程序库和Android运行时库;其中程序库是一些C/C++库,开发工作人员可以使用这些类库,进行本地代码的开发工作,其中NDK也为开发者提供了相对应的系统资源接口,相关开发者的使用相对便捷。
Android运行时库主要包含核心库和虚拟机两个组成部分,其中核心库中包含了Java语言所需要的基本函数,同时还包含了Android的核心庫。另外,Android系统针对不同的应用程序分配了专门的Dalvik虚拟机,其主要目的是保障每一个应用程序都能够保持单线程的运行,从而有效保障应用之间的数据隔离性,避免Android系统在运行过程中出现混乱的情况,其中Dalvik虚拟机能够从dex格式的文件当中读取相关的指令和数据,促使应用程序实现数据运行。
1.1.4 Linux内核层
Android系统是在开源系统linux操作系统的基础之上开发得到的,其中Linux内核实现了匿名共享内存、轻量级进程间通信等等功能,促使系统内训管理的安全性和有效性大大提升。
1.2 基于Android平台的JNI技术
目前来看,主要的Android程序都是使用Java语言编写的,质量比较高。但是使用Java语言进行Android程序的编写存在着一定的不足,包含运行效率比较低、容易被反编译等等缺陷,因此容易留下数据信息方面的隐患。因此本文在研究的过程中主要采取运行效率高,同时安全性表现比较好的C/C++语言进行编写,也就是在Java的代码当中调用本地的C/C++语言代码。在实际的Android开发平台当中,可以通过NDK使用JNI与本地代码进行交互,具体的步骤如下所示:
①配置相对应的AndroidNDK环境;
②创建Android程序项目,并且与NDK关联起来;
③在项目中生命调用的Native方法;
④使用需要交互的本地代码,实现在Android中声明的Native方法;
⑤通过ndk-bulid命令进行编译,产生.so库文件;
⑥编译AndroidStudio工程,实现Android调用本地代码。
在以上步骤当中,.so库文件不容易被反编译,同时C/C++语言具有效率高、质量好等等优势,最终Android系统整体的性能都会得到比较大的提升。最后,相关的工作人员还需要将大量的代码打包成为动态链接库,并且减少apk的数据包体积,优化整体的应用系统。
2. Android移动终端数据安全整体的方案设计
2.1 设计目标
在不同的Android移动终端当中,储存着用户大量的个人数据和信息,一旦不法分子通过非法手段、恶意攻击等等方式,会使得不同的智能终端设备的隐私数据被泄漏,这对于用户个人做造成的损失其实是非常严重的。其中用户个人社交群当中流传的个人图片版权对于持有者至关重要,因此在Android移动终端数据安全设计过程中,本地数据的加密保护、图像存证和鉴定都是是非重要的。
基于Android平台自身的特性,系统设计可以主要分为两个模块,分别是隐私空间模块和水印相机模块,其中隐私空间模块可以依据用户自身的本地数据情况进行相关的处理,包含加密、解密和粉碎删除等等,一旦遭遇窃取或者是供给,加密数据也无法被识别,同时相关的文件名称也已经得到加密,因此如果想要恢复源文件,其代价也是比较大的。
水印相机模块可以针对用户实时拍摄的照片添加相对应的水印信息,水心印象包含时间、地点、设备信号等等,同时将综合水印信息切入图片中,并且将其保存在设备本地图库的特定文件夹当中,用户可以依据自身的需求提取相关的图像信息。水印相机模块的意义在于,可以将不可见水印形式的信息嵌入到图片当中,从外观上来看并无异样,同时还能够抵御传输过程中所带来的压缩损耗情况,经过相关的实验验证来看,水印相机模块可以有效地保护图片版权。
2.2 模块设计
2.2.1 隐私空间模块的设计
伴随着国内社会经济的快速发展,人民群众的经济水平也具有显著的提升,其中最为明显的一点就是各种智能终端设备的普及程度得到了比较大的提升,这些设备的便捷性比较强,用户也习惯性地将自身的各种数据、信息储存在不同的智能终端设备当中,包含相关的文本、图片和视频等等。因此在实际的Android移动终端数据安全设计过程中,需要设计相对应的信息加密模块,将相关的数据和信息,通过改进之后ARS算法加密储存在设备的内存当中,从而有效保障用户的个人隐私信息不被泄露。
终端用户需要口令密码,这样才能进入到模块空间,并且依据系统的导向选择本地多媒体书文件,并且进行加密储存,从而形成双重的加密。在本模块的设计过程中,针对授权用户具有最大限度的数据信息支配权,而未被授权的用户无法访问模块空间,从而最大程度上保障用户本地数据、信息的安全性,具体的设计流程如下所示:
2.2.2 水印相机模块设计
进行本方案中的水印相机模块设计工作,其主要目的是在用户对本体图像上传之前,针对图像进行添加水印信息的操作,从而有效保护手机图像版权。在水印相机模块设计过程中主要希望给予用户以下几方面的重要功能,包含水印信息提取、图像储存、水印信息生成和嵌入等等;
具体的设计流程和内容如下所示:
①图像的获取
用户进入到水印相机模块之后,用户选择而本地拍照,或缺一张相片的同时为其添加相对应的水印信息;
②图像的预处理
模块将获取到的图像经过压缩等等预处理,使其展示在用户的设备界面当中;
③水印信息的生成
本方案的综合水印信息主要包含设备信号、时间和地点等等,其中地理位置主要通过设备自身地图工具获取,时间、设备信号信息由系统自身所提供;
④水印信息的嵌入
本方案采取采用基于Android智能终端的数字水印算法,因为这一算法考虑到来移动终端平台的特性,并且算法的执行效率比较高,用户的满意程度也会具有一定的提升,其中提取到水印信息则说明该图像能够达到版权保护的目的。
3. Android移动终端数据安全防护算法的改进
以Android系统为基础的智能终端设备本质上是为了“人”进行服务的,因此相关的算法改进工作非常重要,本方案主要考虑到平台特性和数据处理用户的友好性,主要提出以下几方面的优化策略;
3.1 技术层面上来说
加密算法使用任何一种语言都能够实现,其中Java语言的JDK已经封装好了AES加解密函数库,相关的开发工作人员可以直接对其进行调用,然而在实际的Android移动终端数据安全防护方案设计过程中,使用Java语言的加密算法效率比较低,因此本文提出使用C/C++语言进行编写,并且交由JNI层进行处理,经过实验可以验证,C/C++语言的编写的加密核心模块效果比较好,解密速度比较快,用户体验也得到了显著的提升,同时使用这一加密核心模块的情况下,能够防止应用程序出现被反编译或者是暴力破解的情况,由此Android移动终端数据安全防护水平就得到了比较大的提升,这也是现阶段进行Android移动终端数据安全设计的主要目标之一。
3.2 AES算法
AES的密鑰长度比DES大,它也可设定为32比特的任意倍数,最小值为128比特,最大值为256比特,所以用穷举法是不可能破解的。因此在本文设计的方案当中,将AES算法进行优化,其中每一循环的字节转换,简单来说就是S盒替换中的S盒直接初始化,在代码当中完成预定义工作,这样能够省略大量的计算过程,使得相关的工作人员的运行时间得到很大程度上的节约,从而使得Android移动终端数据安全防护算法执行效率得到对应的保障。
3.3 使用基于DCT变换的数字水印技术
基于DCT变换的数字水印技术的优势在于,能够实现对应的盲提取和盲检测工作,简单来说,在实际的水印信息的提取和检测过程中,并不需要原始宿主图像的参与,就能够很快地实现水印信息的提取。
除此之外,基于DCT变换的数字水印技术的关键步骤是由C++语言编写成的,与系统具有较强的契合性,开发工作人员在Java语言中的Native函数中直接调用,能够节省大量的计算时间,用户的使用体验也会得到比较大的提升。
综上所述,就是笔者针对现阶段Android移动终端数据安全防护技术的相关研究和分析了,从文中阐述内容中不难看出,现代智能设备终端用户群体对于个人数据、信息的安全性比较看重,而目前来看,诸多Android移动终端的数据安全防护还具有不到位的情况。而在本文所提出的Android移动终端数据安全防护技术方案当中,相关的工作效率比较高,同时可以有效地保护用户的个人隐私数据安全,并且保护用户的图像版权,具有一定的应用价值。但本文所提出的Android移动终端数据安全防护技术方案还具有一定的优化空间,需要随着不同智能终端设备的迭代更新进行相对应的针对性优化和完善,除此之外还需要强化专业人才的培养,这是实现这项工作得以可持续性发展的重要前提。
参考文献:
[1]鲍清扬.基于Android数据安全防护系统的研究与实现[D].北京邮电大学,2020.
[2]苏祥.基于沙箱的Android应用程序动态监测技术研究[D].西安电子科技大学,2019.
[3]王璇.Android移动终端数据安全防护技术的研究及其实现[D].北京邮电大学,2019.
[4]王喆.Android移动终端数据安全检测方法研究[J].网络安全技术与应用,2019(01):63-64.
[5]尹卿,移动作业终端数据安全防护关键技术研究及应用.内蒙古自治区,内蒙古电力,2018-12-06.
[6]王璇.Android平台数据安全防护技术的研究及其实现[J].信息技术与信息化,2018(11):196-202.
[7]崔海娜.基于虛拟化及重定向技术的Android沙箱的设计与实现[D].北京邮电大学,2018.
[8]纪策.基于Android的恶意软件检测与防护技术研究[D].东南大学,2018.
[9]王俊.基于安全沙箱的医院移动终端数据安全防护[J].中国数字医学,2018,13(03):96-98.
[10]李承泽.基于组件通信的海量Android应用安全分析关键技术研究[D].北京邮电大学,2018.
[11]张若定,张妍.智能移动终端隐私数据泄露问题与防护手段[J].保密工作,2013(09):52-53.
[12]邵志鹏.移动互联网环境下的电力智能终端防护技术研究[C]//2012年电力通信管理暨智能电网通信技术论坛论文集.,2013:337-341.