对于加密技术,由于网络分层的便利,总体来说经历了三代。第一代叫做API HOOK应用层透明加密技术,主要原理是在应用层中运用了钩子函数。本质上来说就是在内存中加解密。从难度层次上来考虑,本次毕业设计采用了此种技术。第二代叫做文件过滤驱动层(内核)加密技术,对第一代做了细微的调整,使得速度变快。第三代叫做内核级纵深加密技术,主要是增加运用了各种驱动技术。在这种技术中,有一个俗称为沙盒的物质,只要对其加密就可以实现放进去的文件也进行加密,但是技术要求较高。86616
加密算法不完全种类罗列如下:
DES(Data Encryption Standard):数据加密标准,是美国国家标准局在20世纪研发的一种较优算法。本算法的秘钥有56位,是一组二元数据加密的分组算法。在该算法中,数据以64位密钥进行加密。加解密效率高,适用于加密大量数据。论文网
3DES(Triple DES):从DES演变而来,即“三重数据加密标准”,3即指对同一文件用三个有差别的密钥进行加密,通过增大密钥长度来提高安全度。
IDEA(International Data Encryption Algorithm):即“国际数据加密算法”,由中国密码学者来学嘉于1990年和James L。Massey一起提出的。该算法在形式上与DES类似,也使用循环加密方式,但其使用128位的密钥,强度高于DES[2]。
RC2和 RC4:密钥不是等长的,速度比 DES 快;
RSA:由 RSA 公司发明,公共密钥算法,支持变长秘钥;
DSA(Digital Signature Algorithm):熟知的数字签名算法;
AES(Advanced Encryption Standard):高级加密标准,安全性高,速度快,一个实现是 Rijndael 算法,与最初的DES使用SP结构不同。
而对于信息安全来说,对信息安全的维护似乎也经历了从杀毒木马软件到防火墙再到加密软件的过渡,比如常见的加密有手机系统自带的密码箱或者个人从应用商店里下载的加密软件[3]。对于桌面系统来说,较为出名的有微软的EFS,即文件加密系统,它对存储在NTFS磁盘中的文件进行加解密,如果这些文件已经被加密,那么除非黑客有秘钥,不然也无法访问你的文件;同时有一种基于虚拟磁盘的文件加密技术,虚拟磁盘在进行读写数据的时候同时对数据进行加解密处理,对应用层以及之上的用户来说都是透明操作;最近即将要推出的以上两种方法结合的方式[4]。
透明加密软件在移动终端的实现也需要一种透明加密技术。透明加密最初是针对企业级加密提出来的,它的一个缺点是依赖于环境要素。同时本文使用了AES新一代广泛使用的对称加密算法(1997年美国制定),以迭代结构为核心,非线性部件使用S盒。理想情况是,选取的秘钥的长度等于待加密的明文的长度,且一次一加密,才能够达到香农安全,做到最安全,但是理想情况是不实际的,所以使用对称也已经较好。
下面对本次研究内容做一个详细的摘要:
(1)java SE和Android基础理论,透明加密技术和DES、AES等加密算法;
(2)Android系统中使用程序设计方法,以及透明加密技术,实现透明文件加密的基本功能;
(3)Android平台下的文件加密技术,透明加密、解密和密钥管理操作,实现文件的透明加密与解密应用;
(4)Android平台下的文件透明加密功能测试并进行修缮。