基于Android的文件保密管理APP的设计与实现
2022-01-17谢建盛赵杰符鑫隆何泽垚吴莉莉吴志贤
谢建盛,赵杰,符鑫隆,何泽垚,吴莉莉,吴志贤
(福建江夏学院 电子信息科学学院,福建 福州 350108)
0 引言
手机作为当今社会重要的信息载体,随着普及率的提高,进入千家万户,随之而来的安全问题也令人感到担忧。在手机中不论什么数据,它们都是以文件的形式存在。用户在使用手机应用的同时,手机应用会自动将用户信息以文件形式储存,其中就包含了用户隐私数据。因此研究文件的防篡改和防窃取尤为重要。
透明加密技术是在存储数据时默认进行数据加密,在读取数据时进行解密。其透明性和自动化程度既保障了文件的安全性,也可以让用户保有原本文件的存取习惯。使用技术手段获取到敏感信息时,因为没有读取文件时所需要的透明传输环境,从而保证了数据不被非法读取。这对于相关应用自动在手机上储存其文件信息并进行加密就显得尤为方便和可行。
市面上现存诸多文件保密软件,本系统的保密方法结合了目前热门且较为成熟的人脸识别技术,使之具备比其他同类产品更高的安全性。考虑到文件共享,在共同编辑文件时,文件分享过程中也有全程加密。系统不仅可以任意选择想要限制的模块,还可以实现文件所有者对任意位置进行加密。为安卓用户的文件隐私建筑了安全可靠的城墙,满足了用户在实际工作与生活场景下对于隐私保护的需要。
1 采用的技术
1.1 图像处理
使用设备对图像进行捕获信息处理,以达到相关目的技术,称为图像处理。其主要由相机、扫描仪等输入设备,通过一定的影像输入获得图像数据,从而将其转化为像素为主,即灰度值的二维数组。该处理常常对收集到的信息进行压缩以便节约储存空间或者识别图像中的信息等方法所组成。
1.2 人脸识别
随着人脸识别技术的不断推陈出新,其技术的关键是提取个人特征,并由此作为个人身份的一个标签识别身份。其分为以下四大部分,如表1所示。
1.3 AES算法
作为加密和解密的密钥相同的对称加密算法的常见代表,AES使用广泛,其本质为分组迭代密码[1]。其拥有等待时间短、隐蔽性高、吞吐量高等优点。它支持三种长度的密钥:128bit、192bit和256bit。其加密流程包含有字节替换、行移位、列混淆和轮密钥加密[2]。
1.4 SM2算法
SM2算法做为我国自主知识产权的公钥密码算法和椭圆曲线密码算法的典型代表,其运行速度快、性能开销较小,它做为商用密码算法应用广泛,如表2所示。它由三部分组成:SM2-1、SM2-2和SM2-3,即椭圆曲线数字签名算法、椭圆曲线密钥交换协议和椭圆曲线公钥加密算法[3]。
表2 SM2
1.5 MD5码数字签名
MD5码数字签名,是唯有信源才能产生的一段数字串,让其他人无法冒充信源,这是证明信息是否真实的重要手段。它运用了公钥加密技术来实现,即其拥有两套密钥,一个用于验证,一个用于签名。数字签名的文件不需要骑缝章和签名,至于笔迹鉴定更无从谈起,因此其具有完整性和抗否认性。
2 系统设计
2.1 系统需求分析
系统为用户提供了以下主要功能:
主界面包括上传、授权、加密、查询、解密、比对和下载等功能。
通过授权的用户可以查看被加密的文件信息。
用户注册是用户输入用户名,密码和面部图片,系统将这些信息存放到系统数据库中,使用户获得进入系统的权限。用户登录需提供唯一代表其身份的用户标识符,如果用户存在,系统会自动识别用户身份,密码验证无误后就可以正常使用系统所提供的所有服务。
文件加密功能是在原始文件上传后,对其进行加密的过程,保证文件的安全性。没有被授权的用户,不可以访问这个文件[1-3]。
文件授权功能是可以给第三方对象授权访问自身所拥有的文件,让其拥有权限可以访问、查看以及下载。
文件查询功能是用户选择文件查询模块,系统会直接查询出文件的信息,用户可以在查询出的信息中选择自己需要的内容。
文件比对功能是用户文件比对模块,比对文件是否为用户已存证文件,是否未经篡改。
文件上传功能是用户将文件上传到该应用程序的云端。
文件下载功能是在用户将所有的身份验证通过后,依据所有的权限等级可以阅览或者下载对应的文件。
文件的解密功能除了文件的拥有者拥有全部的权限外,其他用户需依据当前所拥有的密码,打开所接收的文件。
2.2 ADSI接口技术
微软针对不同平台推出的应用程序数据接口——ADSI(Active Directory Services Interface)。其可将多数底层服务程序代码通过接口接入的方式与应用相互组合成底层基础服务,程序员可用标准化对象技术来访问以上内容。通过该接口可访问不同平台研发的基础公共服务的公共部分并扩展到底层基础服务的特有部分。
2.3 UI设计
UI用户界面设计(或界面设计)是指操作人员与软件之间的交互。它不仅使得操作逻辑更加简洁且易操作,而且优化逻辑,提高视觉美感和舒适度,对用户更加的友好。
2.4 用户子模块
本系统的用户子模块主要是由注册和登录以及修改密码组成。
用户为了获得系统权限,需要注册,而后输入用户名、密码,并且导入用户的面部图片,确认密码等信息后才可以进行注册,如果信息输入无误,且输入的用户名未注册,则注册成功,即可登录系统。
已注册的用户即可登录验证,身份验证没有出现错误后即可进入系统,进行上传文件、比对文件、查询文件等操作。如果身份验证出现错误,就回到登录界面重新进行登录。
如果需要修改密码,则需输入原始密码和新采用的密码,在二次确认后,提示修改成功,否则如因旧密码错误或者二次确认不通过,则提示修改失败。
2.5 文件的加密模块
本文件保密管理APP,是在用户上传文件后,对对应的文件依据用户所选择的加密方式进行加密。
文件加密的流程如下:
(1)用户上传文件,系统通过对文件的读取,获取到文件;
(2)用户选择加密方式并输入密码对获取到的文件关键信息进行加密;
(3)将密文保存到虚拟目录[4-14]。
2.6 文件授权模块
文件授权是用户允许授权对象访问经过加密的文件内容,其他对象未经允许是不能够访问查看加密的文件内容,是文件管理的延伸,其主要是为了保障传输数据的过程中的安全性。
文件授权的流程为:(1)用户将要授权的文件拉入对应的界面;(2)用户输入要授权的用户的用户名;(3)设置部分授权的读写权限并设置二级密码发送给被授权方。
2.7 文件的解密模块
文件的拥有者在加密文件后,如需打开此文件,应输入相应的密码,方能对此文件进行解密。除了文件的拥有者拥有全部的权限外,其他用户需依据对方设置的权限和二级密码,打开该权限下所能打开的文件[15-25]。
2.8 信息检索模块
用户通过信息检索以查询和获取信息,通过关键字和词的查找能获得想要查询到的结果和内容,提高查找效率[26-27]。
3 系统测试
测试过程主要包括功能模块测试、业务流程和数据流程测试,以及相关正确性和模块耦合度、内聚性等验证。本文主要测试文件加密的成败,以及文件可查询性和对比度等问题,测试情况如表3所示。
表3 测试表
4 结论
随着信息化时代的发展,数字信息变得更有价值,文件保密的重要性也更加凸显。如何更好地保护文件内容,防止被篡改或泄露出去,已经是一个刻不容缓的问题。
本APP结合了目前热门且成熟的人脸识别技术,及安全的加解密处理相关技术,探寻新型的Android文件保密功能,提高传统文件加密系统的安全性,实现了文件分享过程中全程加密的特色,且实现了加密后文件只能在私人虚拟目录查看的功能,解决了传统加密软件没有解决的问题,使之具备比其他同类产品更高的安全性。
最后,对整个系统进行了软件功能测试,相关技术如:人脸识别技术、图形图像处理技术和加解密技术等均如预期实现并应用。后期系统还应该逐步完善,未来可以在安卓文件保密、文件传输共享等相关数字安全领域内推广应用。