加密文件系统优势_bestcrypt_lionzl的博客-程序员秘密

技术标签: DLP  

加密文件系统  2009-12-13 17:45:23

分类: LINUX

加密文件系统优势

1, 加密文件转移到别的物理介质上时,没有额外的加密/解密开销。

2, 支持文件粒度的加密,也就是说,用户可以选择对哪些文件或目录加密。而且,应用程序不用关心文件是否被加密,可以完全透明地访问加密文件。

3, 无需预先保留足够的空间,用户可以随时加密或恢复文件。

4, 对单个加密文件更改密钥和加密算法比较容易。

5, 不同的文件可以使用不同的加密算法和密钥,增大了破解的难度。

6,  只有加密文件才需要特殊的加密/解密处理,普通文件的存取没有额外开销。

CFS

CFS是一个Unix下的加密文件系统,工作在用户层,以NFS服务器的形式工作。CFS需要用户在本地或远程文件系统中创建一个目录,用来存取加密数据。密钥和加密算法是在这个目录创建时指定的。用户需要通过一个挂载命令向CFS代理发送加密数据访问请求。代理负责验证用户ID和密钥是否合法,然后在挂载点目录创建一个目录供用户访问。挂载成功后,用户将看到解密后的数据,并可以像操作普通目录一样在这个目录里存取数据,唯一的不同在十所有的数据都会被透明的加密。CFS是一个设计合理、可移植、内置多种加密算法的加密文件系统,但由十它工作在用户模式,大量时间被花费在用户空间和内核空间之间的上下文环境切换,因此效率较低。

BestCrypt

BestCrypt是一个商用的加密回环设备驱动。这种回环设备把一个文件(此文件被称为容器)虚拟成一个块设备;对这个块设备的写操作会以加密的形式写入容器文件中,设备之上可以挂载任何基十块设备的文件系统,使文件系统具有加密功能。这种策略的优势在十文件系统的元数据也会被加密o BestCrypt适合单用户的环境,由容器的所有者保存密钥。但是在多用户环境下,缺乏灵活的访问控制机制保证多用户共享的安全性。

Cryptfs

Cryptfs是一个可堆叠的加密文件系统,它工作内核层,可以在其它文件系统之上提供加密功能。它支持Linux, FreeBSD和Solaris二个平台,ifu b‘性能理想。但它只是一个原型系统,缺乏一个完整的安全文件系统应具有的密钥管理和多种加密算法支持。NCryptfs是Cryptfs的扩展,其目标是在安全性、易用性和效率之间得到一个平衡点,并且提供了足够复杂的机制来实现这一目标。NCryptfs只支持Linux平台,而且不支持数据的完整性检查。

StegFS

StegFS 是一个采用了数据隐藏技术的加密文件系统。如果有对手入侵这个系统,他们只能够发现系统中存在一些隐藏数据,但他们无法知道隐藏数据的内容,也无法知道隐藏数据的具体位置。该系统是通过修改EXT2文件系统实现的,所以工作在内核层。StegFS实现的安全保护在有些环境下是有必要的,但它的性能非常差,以至十无法胜任大多数的应用。

Cephese

 Cephese文件系统是SFS的一个扩展,实现了数据以加密的形式在服务器磁盘上存储,同时提供了基十组的文件共享机制。组中不同文件使用不同的文件密钥进行加密,同一个组的文件对应的密钥存放在一个lockbox中,并用一个组密钥加密。使用一个独立的组服务器进行组密钥发布,实现方式要求用户引入公钥体制。Cephese仍然继承了SFS的安全通讯协议,使用会话密钥对客户端与服务器的通讯会话进行加密,这意味着文件数据被加密了两次,带来了多余的计算负担。

当前主流分布式文件系统的不足

通过前面的分析可以看出,当前广泛使用的NFS和Coda等分布式文件系统,仅仅提供了在传输线路上的数据安全保护,数据在服务器端是以明文存储的,这存在着极大的安全隐患。


加密文件系统以加密的形式对文件数据进行存储,有效的解决了上述问题。但

它们并没有注重分布式环境下的需求,更多的是定位在本地文件系统或局域网内使

用的网络文件系统。在分布式环境下,它们面临下面的问题:

1.对加密文件共享的支持较差。如CFS并没有提供对文件共享的支持。

2.缺乏灵活的密钥管理机制。它们都固化了密钥管理,用户无法根据应用需要选择最合适的方案。

3.缺乏合理的实现方式,无法与现有的分布式文件系统结合。例如CFS和Cephese都是通过对某个版本的NFS代码进行修改实现的,如果NFS发布了新的版本,它们必须随之升级,否则无法利用新版本带来的特性。实际上它们中很多已经停止开发了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lionzl/article/details/50207835

智能推荐

SpringBoot的Web开发_虹蓝紫的博客-程序员秘密

SpringBoot的Web开发1.使用SpringBoot创建SpringBoot应用时,选用我们需要的模块SpringBoot默认将场景配置好(autoConfiguration),只需在配置文件中指定少量配置编写业务代码2.SpringBoot对静态资源的映射规则public void addResourceHandlers(ResourceHandlerRegi...

redis监听过期key时间_zuihongyan518的博客-程序员秘密

说明redis key过期监听通知一定要 开启key过期通知功能。事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发,故需要订阅[email protected]__:expired 这个topic通道解释:[email protected]:expired__keyevent 必须以此开头;@2 表示监听第二个数据库;:expired 表示过期事件1、redis 开启key过期通知...

css3渐变 两边透明中间高亮_qq_20777797的博客-程序员秘密

颜色自己可以调节如图:采集器管理下面的那条线就是css代码:.linear{ width:100%; height:2px; background: linear-gradient( to right, rgba(0,0,0,0) 0%, ...

Docker中运行多个进程时的处理_yibuchen的博客-程序员秘密

通常,Docker容器适合运行单个进程,但是很多时候我们需要在Docker容器中运行多个进程。这时有两种不同方法来运行多进程容器:使用shell脚本或者supervisor,两种方法都很简单,各有优劣,只是有一些值得注意的细节。这里只讲用脚本的处理方法。写一个脚本multiple_thread.sh,脚本功能运行两个python程序,将运行结果保存到log文件中。脚本内容如下<textare...

python 中的os.path.split()函数用法_Python 学习者的博客-程序员秘密

基本概念os.path.split()通过一对链表的头和尾来划分路径名。链表的tail是是最后的路径名元素。head则是它前面的元素。举个例子:path name = '/home/User/Desktop/file.txt'在上面的这个例子中,路径名字file.txt称之为tail 路径‘/home/User/Desktop/’ 称之为head。tail部分永远不会包含斜杠符号。如果这...

C3P0连接池使用教程(转载)_c3p0连接池详细步骤_Echo*的博客-程序员秘密

在项目中的应用见: https://github.com/ygj0930/CoupleSpace一般我们在项目中操作数据库时,都是每次需要操作数据库就建立一个连接,操作完成后释放连接。因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒),连接就会被自动释放掉。而每次新建连接都需要140毫秒左右的时间,所以耗费时间比较多。若使用C3P0连接池来池化连接,随时取用,则平均每次取用...

随便推点

EUI-64地址_「已注销」的博客-程序员秘密

接口标识-64 位 EUI 64 地址是由电气和电子工程师协会 (IEEE) 定义的。将 EUI-64 地址指派给网络适配器,或从 IEEE802 地址派生得到该地址。简介编辑IEEE 802 地址用于网络适配器的传统接口标识可使用称为 IEEE 802 地址的 48 位地址。此地址由 24 位公司 ID(也称为制造商 I

Linux(Centos7)安装Java JDK及卸载_AndyLizh的博客-程序员秘密

步骤一、下载安装包a.因为Java JDK区分32位和64位,所以安装之前需先判断一下我们操作系统为多少位,命令如下:uname -a解释:如果有x86_64就是64位的,没有就是32位的。后面是x686或x86_64则内核是64位的,i686或i386则内核是32位的。由此可知我的CentOS为64位系统,故而我需要下载64位的JDK。b.   下载J

using http upload file to web server_dylanlrp的博客-程序员秘密

//Microsoft Developer Studio generated resource script. // #include "resource.h" #define APSTUDIO_READONLY_SYMBOLS //////////////////////////////////////////////////////////////////////////

在阿里云服务器上部署自己的应用或网页,简单建站部署详细教程_阿里云上发布自己的程序_home of the blog的博客-程序员秘密

1.云服务器选购阿里云服务器如果你是学生建议注册认证学生身份可获得许多优惠权益2.连接云服务器登陆阿里云,在控制台找到你的服务器实例,点击"远程连接",或者用Xshell第三方连接软件Xshell下载个人喜欢也推荐用第三方软件进行连接登陆后就是这个界面了,这样表示登陆成功3.安装jdk和Tomcat3.1 安装jdk首先查找jdk版本 :yum search jdk我安装...

19 | 案例篇:为什么系统的Swap变高了(上)_元贞coding的博客-程序员秘密

上一节,我通过一个斐波那契数列的案例,带你学习了内存泄漏的分析。如果在程序中直接或间接地分配了动态内存,你一定要记得释放掉它们,否则就会导致内存泄漏,严重时甚至会耗尽系统内存。不过,反过来讲,当发生了内存泄漏时,或者运行了大内存的应用程序,导致系统的内存资源紧张时,系统又会如何应对呢?在内存基础篇我们已经学过,这其实会导致两种可能结果,内存回收和 OOM 杀死进程。我们先来看后一个可能结果,内存...

python实现按照文件名称进行文件分类_夹猪逃的博客-程序员秘密

问题:大量名称中带有数字的图片/视频,根据名称中数字按照一定的等差数列来排序,并且放入指定对应的文件夹中。import osimport shutilimport repath = "/home/dyx/code/sign_language/sign-language-gesture-recognition-master/lsa64_hand_videos" # 绝对路径# 新建64个文件夹,编号1-64sort_folder_number = [x for x in range(1,65)

推荐文章

热门文章

相关标签