3. 文件级动态加解密技术
在文件系统层,不仅能够获得文件的各种信息,而且能够获得访问这些文件的进程信息和用户信息等,因此,可以研制出功能非常强大的文档安全产品。就动态加解密产品而言,有些文件系统自身就支持文件的动态加解密,如Windows系统中的NTFS文件系统,其本身就提供了EFS(Encryption File System)支持,但作为一种通用的系统,虽然提供了细粒度的控制能力(如可以控制到每个文件),但在实际应用中,其加密对象一般以分区或目录为单位,难以做到满足各种用户个性化的要求,如自动加密某些类型文件等。虽然有某些不足,但支持动态加密的文件系统在某种程度上可以提供和磁盘级加密技术相匹敌的安全性。由于文件系统提供的动态加密技术难以满足用户的个性化需求,因此,为第三方提供动态加解密安全产品提供了足够的空间。
要研发在文件级的动态加解密安全产品,虽然与具体的操作系统有关,但仍有多种方法可供选择,一般可通过Hook或过滤驱动等方式嵌入到文件系统中,使其成为文件系统的一部分,从某种意义上来说,第三方的动态加解密产品可以看作是文件系统的一个功能扩展,这种扩展往往以模块化的形式出现,能够根据需要进行挂接或卸载,从而能够满足用户的各种需求,这是作为文件系统内嵌的动态加密系统难以做到的。
下面我们以亿赛通公司的SmartSec为例,分析一下文件动态加解密的具体实现方式。图2给出了SmartSec的实现原理,从中可以看出,SmartSec的动态加解密是以文件过滤驱动程序的方式进行实现的(位于层次III),同时在应用层(层次II)和内核层(层次III)均提供访问控制功能,除此之外,还提供了日志和程序行为控制等功能,这种通过应用层和内核层相互配合的实现方式,不仅能提供更高的安全性,而且有助于降低安全系统对系统性能的影响。

图2 SmartSec系统中动态加解密的实现