点评:随着
计算机和
网络技术的飞速发展,以电子的形式存储在个人和商业计算机越来越多的信息,并通过广泛的网络
传输,在大量的信息存储和交换,信息安全越来越受到人们的关注。信息保密的理论基础是
密码学。根据现代密码学理论,一个好的加密算法的安全性只取决于一个好的加密算法的安全性。
随着计算机和网络技术的飞速发展,以电子的形式存储在个人和商业计算机越来越多的信息,并通过广泛的网络传输,在大量的信息存储和交换,信息安全越来越受到人们的关注。信息安全的理论基础是密码学。根据现代密码学理论,一种好的加密算法的安全性仅仅依赖于密钥。加密算法是否开放并不
影响其安全性,经过几十年的研究和发展,现代密码学发明了许多高安全性的加密算法,并广泛应用于各种信息安全产品中。数据加密技术是密码学的一个重要应用领域,数据加密产品的应用领域和范围是由不同的实现
方法和层次决定的。
数据加密技术按照实现方法可分为静态加密和动态加密。从实现层面上,可分为
文件级加密和存储设备级加密。
1。静态加密与动态加密
静态加密意味着在加密期间,要加密的数据处于未使用状态。一旦这些数据被加密,明文在使用前必须经过静态解密,然后才可以使用。目前,市面上的许多加密软件产品都属于这种加密。
不同于静态加密和动态加密(也称为实时加密,透明加密,英文叫上飞加密),是指在使用自动加密或解密数据的
处理数据,而无需
用户干预,在使用加密文件的合法用户,不需要进行解密
操作,可以使用。显然,访问加密的文件和访问未加密的文件基本相同,对合法用户,加密文件是透明的,如果它没有被加密,但没有访问
权限的用户,这是由其他非常规手段得到了这些文件,因为该文件是加密的,所以不能可以使用。因为动态加密技术不仅可以改变用户的使用习惯,而且可以实现文件的安全无需用户太多的干预行动,因此近年来得到了广泛的应用。
由于动态实时加密的加密数据必须加密,动态跟踪数据流,并在一般
情况下,
系统内核级的实现,因此,从技术实现的角度出发,实现动态加密比静态加密要困难得多,需要
解决的技术难点是远远超过静态加密。
2。动态加密实现的分层级
在不同的
操作系统(如Windows、Linux、Unix),虽然具体的数据组织和存储结构会有所不同,但他们都可以在图1的模型表示方法,即数据访问存储设备的应用,通常是通过操作系统的文件系统API,则文件系统
驱动程序访问存储中的特定的存储介质,I和II属于应用层的水平;等级III和IV属于操作系统内核层,这种结构决定了加密系统的实现,每个
路径的数据从存储介质和加密/解密操作
执行的
应用程序可以访问数据,模型我的级别只能捕获应用程序本身来读取和写入数据,其他应用程序数据不通过层。因此,在水平我只能实现静态加密,无法实现动态加密;即使是II级,并不是所有的文件数据通过该层,但在该层可以截获的开放和各类文件的
关闭操作。因此,动态加解密产品实现在应用层没有真正实现实时加密/解密操作,只能以其他方式实施(等级II通常实现)。例如,在应用程序中打开文件,第一解密整个文件或解密整个文件的路径,然后让应用程序直接(重定向)获得充分解密文件中关闭文件,和然后对解密的文件进行加密,其实质是静态加密和解密过程的自动化,这不属于严格意义上的动态加密。
因为目前的操作系统,如Windows / Linux / Unix,只能拦截各种文件或在内核层的
磁盘操作,所以真正的动态加解密产品只能在内核层实现,如图1所示的模型中,在内核层的文件系统可以拦截所有的文件操作,但不能拦截所有的存储设备(在下面的描述中,我们通常使用的磁盘存储设备)操作拦截所有的存储设备的操作,必须在存储在访问存储设备的操作系统的设备驱动程序的形式决定了两种动态加密安全产品拦截:基于动态的基于文件级的加密产品d动态加密产品磁盘级。
图1操作系统的存储设备访问模型
三.文件级动态加解密技术
在文件系统层,我们不仅可以得到各种文件的信息,而且可以访问这些文件的
进程信息和用户信息,所以我们可以建立一个强大的
文档安全产品。动态加密产品,一些文件系统本身
支持文件的动态加解密,如在Windows系统的NTFS文件系统,它本身提供了EFS(加密文件系统)的支持,但作为一个通用的系统,同时提供细粒度的
控制能力(如可以控制每个文件),但在实际应用中,加密的对象一般分区或
目录,难以满足用户的个性化需求,如某些
类型的文件自动加密美国虽然有一些缺点,一个支持动态加密文件系统,在一定程度上提供了保障,相当于磁盘级加密。因为文件系统提供的动态加密技术难以满足用户的个性化需求,提供第三方有足够的
空间来提供动态加密解密的安全产品。
在动态加密安全产品文件的研究,虽然在特定的操作系统有关,但仍有许多可供选择的方法,可以用钩或过滤驱动嵌入到文件系统,这已成为文件系统的一部分,在某种意义上,动态加密产品,第三方可以看到作为一个文件系统的
扩展功能,这种扩张往往是以模块化的形式,可以挂上或卸下根据需要,以满足用户的各种需求,这是一个动态的加密系统为嵌入式文件系统是很难实现的。
我们使用smartsec e-safenet
公司为例,对一个文件动态加解密的具体实施分析。图2给出了smartsec的实现原理,可以看出,smartsec动态加密解密文件过滤驱动的方式实现(III级),同时在应用层和内核层(II级)(III级)除了提供访问控制功能,还提供了日志和程序行为控制等功能,通过应用层和内核层之间实现合作,不仅能提供更高的安全性,同时也有助于降低系统的安全
性能系统的影响。
图2中的smartsec系统动态加解密的实现
4。磁盘级动态加解密技术
具有较高的信息安全需求的用户,文件级的加密是很难满足要求。例如,在Windows系统(在其他操作系统基本上是类似的),我们会有各种各样的访问文件,临时文件,虽然这些临时文件在大多数情况下,应用程序将被自动
删除,但在某些情况下,会出现漏删,甚至临时文件被删除,但仍然可以通过各种数据
恢复软件恢复,在实际应用中,这些临时文件会被加密,从而成为信息披露的重要渠道。此外,即使临时文件是加密的,但页面文件交换系统(如WindowsPagefile.sys,除了嵌入式文件系统加密,第三动态加密产品一般不加密的文件,否则会导致系统无法
启动的
故障)的一些信息将保留用户对文件的访问,导致信息泄漏。
有一种方法可以避免上面提到的所有漏洞。即加密存储设备上包括操作系统在内的所有数据。为了实现这一
目标,只有动态的基于磁盘级加密和解密技术可以满足要求,在这种情况下,静态加密技术,一般不能使用,这是因为操作系统已经被加密,要启动系统,必须先解密操作系统的启动,如果采用静态加密
模式,只有在每次
关机后磁盘上的所有数据进行加密和解密,在需要启动磁盘的所有数据(或至少有解密所有的操作
系统文件,否则系统
无法启动),由于操作系统所占用的空间要求越来越多,时间是无法忍受的。
不同于静态的,在开机的时候,
硬盘实时动态解密加密解密系统的数据,系统读取什么直接在
内存中的数据的数据解密,将解密后的数据提交给操作系统会影响系统的性能和使用
速度的加密算法,对系统的性能也非常有限的,这样的产品对系统整体性能的影响一般不超过10%(从目前市场上同类产品性能指标的最大值)。图3
显示,公司实现的原理e-safenet磁盘级动态加密安全产品的基础上,disksec,可以看出潜在的动力在disksec操作系统
芯片的加密算法,所有的磁盘操作系统通过disksec系统,当数据被写入磁盘,写disksec加密的第一个数据,然后写入磁盘;另一方面,当系统读取磁盘数据,disksec会自动被读取的数据进行解密,然后提交给操作系统,因此,操作系统中的磁盘数据加密是透明的,也就是说,在操作系统的角度看,加密的数据在磁盘上而不是国家密码是一样的。
图3中磁盘级动态加密和解密的实现
5。文件级和磁盘级动态加密的比较
这两种加密方法各有优缺点。与文件级加密相比,磁盘级加密的主要优点是:加密强度高,安全性好。
因为这个级别的加密是直接在物理磁盘
扇区进行加密,不考虑文件数据存储的逻辑概念,这样加密,任何数据存储在磁盘上是加密的,相反,文件级加密只有用户指定的文件加密,而这些文件在日常使用,临时文件会带来安全隐患。因此,它是安全使用的磁盘级加密比文件级加密。
磁盘级加密的主要缺点是不灵活、方便,应用范围窄。
与文件级加密、磁盘加密水平因为没有
文件目录,等等,这是很难指定文件或目录的加密和隐藏操作,另一方面,文件加密方法可以采用各种灵活的加密方法,可以实现更细粒度的控制,用户不仅可以加密文件或目录的类型指定,也可以隐藏一些目录。