论文摘要
随着计算机技术的不断发展,传统的存储文件信息的方式已经不能满足人们的需求,目前人们都利用计算机这种存储介质来代替传统的纸质以及胶卷来存储信息。把信息存储在计算机中让人们对信息的查找及阅读变得更加便捷,先进技术所带来的好处不言而喻,但同时它的不足之处也不能忽视,信息存储是否安全越来越受到人们的重视,目前的信息存储载体主要为电脑、U盘、移动硬盘等等。如果保存在这些设备中的信息被非法获取或者破坏,那么给用户带来的损失也是巨大的。因此,如何保证文件数据的安全,以及如何降低文件丢失后的事造成的损失也成为了一个重要的研究课题。本文论述了一个具有审计和加密功能的文件系统服务器端的设计与实现。这个文件系统是基于互联网的,我们采用Google公布的Android手机系统平台作为服务器,之所以选用Android手机作为服务器,主要是现在的手机通讯越来越发达,人们可以利用手机上的wifi等自带软件来访问互联网,便携式设备的主要特点就是移动性,而利用智能手机可以让人们在有信号的地方通过wifi随时随地上网,解决了在没有固定网络不能访问互联网的这个难题。在服务器端会记录用户的个人信息,并根据用户在客户端输入的用户名密码进行身份认证,从而控制用户对客户端文件系统的访问。客户端文件系统中需要被保护的文件内容都经过不同文件密钥的加密,文件密钥则统一存放在服务器中,用户访问加密文件前需经过身份认证以获取相应文件密钥来解密文件。访问文件时将根据文件内容得到的摘要送与服务器端验证,从而保证文件完整性。服务器日志将记录所有用户对文件的操作,假如设备被遗失,用户可以登录至服务器进行挂失,服务器会停止该账户进行的一切活动,同时用户可以通过日志发现那些文件信息遭到泄露,从而采取一定的补救措施。采用FUSE框架和Blowfish加密算法作为基础,本文实现了一个Linux下的用户空间文件系统,FUSE降低了加密文件系统的开发难度,并且生成的源代码只需经过少量修改就能够移植到其它Unix操作系统。使用FUSE框架实现加密文件系统都是在用户空间下完成,可以大幅度提高生产效率,简化了为操作系统提供新的文件系统的工作量。本文最后对这个加密文件系统进行了功能测试,测试结果表明它确实可以保证文件数据的安全,达到了预期目的。