一种基于Web服务器的文件加密授权保护系统设计与实现

时间:2022-04-23 02:42:59

一种基于Web服务器的文件加密授权保护系统设计与实现

摘要:鉴于Web服务器文件访问中存在的安全隐患,比如文件截取、文件篡改等问题,设计了一种基于web服务器文件加密授权保护系统。该系统通过与Web服务器硬件特征码绑定,实现对Web服务器中文件进行加密存储以及对加密文件的修改和访问。系统设计中,采用多种传统的文件加密算法生成加密密钥并实现文件加密和解密功能。其中,利用MD5算法实现由硬件机器码转化生成初始加密密钥的功能,利用RSA算法实现由初始加密密钥转化生成授权密钥的功能,利用RC6算法实现文件的加密和解密功能。

关键词:Web服务器;硬件特征码;文件加密;加密密钥;授权密钥

中图分类号:TP309.7 文献标识码:A 文章编号:1672-7800(2013)005-0133-02

0、引言

本文介绍了一种基于Web服务器的文件加密授权保护系统,运用传统的文件加密算法,实现对Web服务器上的文件加密保护。从客户端看,访问过程是透明的,因为用户访问Web服务器加密页面与访问其它未加密页面并没有什么差异,同时访问速度也不会有太大差异。系统设计中,初始加密密钥的生成过程采用抓取机器硬件特征码,然后运用传统的MD5文件加密算法生成,从而确保了加密密钥的唯一性和加密过程的安全性;之后系统对初始密钥进行处理生成授权密钥,同时将授权密钥给Web服务器用户,从而确保每台Web服务器用户对应唯一授权密钥;最后,系统运用传统的RC6文件加密算法对Web服务器中的文件进行加密,Web访问只有在保护目录下才允许解密,从而保证整个系统文件的安全可靠。

1、密钥生成

1.1 初始加密密钥生成

文件加密算法中,密钥至关重要,密钥的唯一性是文件加密工作的关键。本文通过获取Web服务器中机器硬件特征码(保证唯一性),然后通过传统的MD5加密算法,生成4个32位的串码作为初始加密密钥。其中,MD5算法是散列算法,它实现了将任意大小的数据映射成为一个较小的、固定长度的唯一值。该算法变长且不可逆,这意味着通过散列结果,无法推导出任何部分的原始信息。同时,任何输入信息的变化,哪怕仅一位,都将导致散列结果(MD5值)的明显变化。系统中,正是利用了MD5加密算法的固有特性,最终将机器硬件特征码的MD5值作为初始加密密钥。

1.2 授权密钥生成

为了有效控制Web服务器用户,保证对Web服务器文件加密过程中操作的安全性和可靠性,通过机器硬件特征码生成的初始密钥需要经过进一步处理才能发给用户使用,本系统将初始生成的加密密钥通过传统RSA加密算法,生成授权密钥,给用户使用,从而保证了每一台Web服务器授权密钥的唯一性,以及与初始加密密钥的绝对匹配。RSA是非对称算法,加密密钥和解密密钥是不一样的,或者说不能由其中一个加密密钥推导出另一个解密密钥。在系统中,加密密钥(即公开密钥)PK是系统生成的特定素数,是给用户公开的,而解密密钥(即秘密密钥)SK是软件管理者使用的,同时也是对Web服务器用户保密的,从而保证了最终生成授权密钥的安全性以及Web服务器文件加密的可控性。

2、页面加密实现

Web服务器使用授权的加密密钥,通过RC6加密算法将Web服务器的文件加密。加密之后的文件将存在指定的目录下,以便对访问Web服务器的用户进行可靠性分析、检测和判断。一般情况下,加密目录需要事先设定,以便适应用户日常修改内容的需要。系统中用到的RC6加密算法,是一种对称的加密算法,它具有加解密的高速度和使用长密钥时的难破解性。在实际使用中,RC6使用了4个32位寄存器,在每次循环中要做两次循环移位操作,让更多的数据位去决定循环次数,以便增强抵抗攻击的能力,从而更好地实现加密和解密。另外,在运算方面使用了整数乘法,从而在每一个运算回合中增加了扩散行为,使得即使很少的回合数也有很高的安全性。3加密页面访问

存放在Web服务器上的加密文件,通过服务响应,判断服务请求是否在安全目录下,如果在安全目录下,则同意请求访问,同时准备执行解密操作,允许用户访问,否则不允许访问。

Web服务器对存储系统的访问,通过操作系统内核的文件系统接口(IFS层)完成。加密存储系统中文件系统过滤驱动模块会拦截所有的请求,进行合法性判断,具体流程如下:①当Web服务器访问一个文件时,首先发出一个打开文件请求,文件系统过滤驱动模块会拦截到该请求;②文件系统首先对初始加密密钥和授权密钥的匹配度进行判断,如果匹配则需要进一步进行合法性判断,如果不匹配则禁止访问;③文件系统过滤驱动模块对要打开文件的路径进行判断,看该文件是否是保护目录中的文件,如果不是,则直接忽略行访;如果是保护目录中的文件,则需要进一步进行合法性判断;④如果文件属于保护目录,还需要进一步判断该文件是否在例外目录中,如果是例外目录,则直接忽略,并允许访问;否则需要进一步进行合法性判断;⑤对于需要进一步判断的打开文件请求,根据访问该文件的进程上下文进行进程合法性判断。根据进程句柄,获取该进程映像文件对应的路径,然后根据进程映像文件的路径读取进程映像文件的内容;⑥当授权进程打开保护文件后,就可以顺利进行任何读写操作;⑦当授权进程读取数据时,将数据在内核层通过RC6解密算法进行解密操作后,再将数据返回给Web服务器;⑧当授权进程写入数据时,将数据在内核层先进行RC6加密操作后,再将加密数据写入磁盘,进而保护数据。

以上过程即访问数据过程中的授权检查以及加密和解密过程,安全透明地保护了用户数据的安全。

4、系统特点

本系统在加密过程中,采用驱动层加密保护,通过对Web服务器加密目录下的文件请求进程检测与过滤,确保了文件访问的正常进行,软件系统的安全性和效果要好于目前应用层实现的加密软件。系统具有以下几个显著特点:①系统采用授权服务的特点,利用机器特征码唯一性的特点生成加密密钥,保证了Web服务器文件加密的安全性和可靠性;②保障加密后Web服务器的文件不允许以非Web格式访问,另外文件被拷贝出目录是乱码不能被访问;③使用ftp其它的网络工具不能拷贝、篡改源码,双系统下启动到另外一个系统也不能破解,但可以访问;④启动到安全模式看到的也是加密文件,使用Winhex等底层工具也不能破解。初始/升级/运行/卸载,看到的均是密文,不改动大小、修改时间等文件属性;⑤该系统对文件的加密通过驱动实现,可以全面照顾到Web服务器中的任何文件,更加通用;⑥系统加密速度快。它不同于较多用外壳加密类的产品,需要对可执行文件和源文件分别加密。经前期测试对1G的文件加密,用时不超过15分钟。

5、结语

本文实现了对存储在Web服务器上的文件进行加密授权保护,不仅利用机器特征码的唯一性确保了用户软件使用的安全性和可靠性,更重要的是它能有效地阻止黑客恶意下载Web页面而导致的Web服务器文件信息泄漏,从而保证了存储在Web服务器上的文件信息的安全性。同时,应当注意,Web服务器中文件的安全是一项系统工程,必须保证系统由内到外全面实施安全防御措施才能确保安全。也就是说,要想全方位地保障Web服务器的安全,必须做到将内部保护手段与外部保护手段结合利用,即将页面加密存储访问技术与防火墙、VPN、壳加密等其它安全技术融合在一起。

随着网络的日益普及,在考虑Web服务文件访问安全性问题的同时,必须考虑网络访问速度和加密效率的问题。今后,将运用其它文件加密算法或改进现有加密算法,致力于基于Web服务器文件加密算法的比较和研究,找到更优的算法,以求更高效地实施网络安全系统工程。

上一篇:基于云计算的网络学习空间建设管理方法研究 下一篇:美国可汗学院对我国网络教育的启示