加密文件系统中缓冲技术的研究
- 格式:pdf
- 大小:266.09 KB
- 文档页数:5
文件夹加密的常用方法文件夹加密是一种保护个人隐私和数据安全的重要方式,它可以有效防止他人未经授权访问、查看、修改或删除文件夹中的文件。
下面将介绍几种常用的文件夹加密方法。
1. 密码保护:密码保护是最常见也是最简单的文件夹加密方法之一。
通过设置一个强密码,只有拥有密码的人才能够成功打开和访问文件夹。
在创建文件夹时,可以使用系统自带的文件夹加密功能或者第三方文件夹加密软件进行设置密码保护。
密码应该尽量复杂,包含字母、数字和特殊字符,以增加破解的难度。
2. 档案压缩加密:档案压缩加密是另一种常用的文件夹加密方法。
可以使用压缩软件如WinRAR、7-Zip等将文件夹压缩为一个加密的压缩文件。
压缩软件通常提供了密码功能,可以设置密码对压缩文件进行加密。
只有输入正确密码,才能解压缩并访问文件夹中的内容。
使用档案压缩加密的好处是加密后的文件可以随意传输和存储,同时也减小了文件夹的整体大小。
3. 加密文件系统(EFS):加密文件系统(EFS)是Windows操作系统自带的一种文件夹加密方法。
它通过使用文件夹的公钥和私钥对文件进行加密和解密,只有拥有私钥的用户才能够访问文件夹内的内容。
EFS是基于操作系统级别的加密方式,灵活性较高,并且对用户透明,不需要用户手动操作。
但是需要注意备份私钥,否则可能会丢失对文件夹的访问权限。
4. 加密软件:除了系统自带的加密功能外,还有许多第三方加密软件可以用于文件夹加密。
一些常见的加密软件包括VeraCrypt、Folder Lock、BitLocker等。
这些软件通常提供了更多的加密选项和功能,可以根据个人需求灵活设置。
使用加密软件加密文件夹时,需要注意选择可靠的软件,并定期更新软件版本以保证数据的安全性。
总之,文件夹加密是保护个人隐私和数据安全的重要手段。
通过密码保护、档案压缩加密、加密文件系统(EFS)和加密软件,可以有效地保护文件夹中的文件不被未经授权的人访问和查看。
在选择加密方法时,建议根据个人需求和情况选择合适的加密方式,并注意设置强密码和定期备份重要文件夹的加密密钥,以确保数据的安全和可访问性。
信息加密技术在计算机网络安全中的应用随着网络技术的快速发展和普及,网络安全问题也逐渐成为人们关注的焦点。
信息安全在互联网时代尤为重要,而信息加密技术便是保障网络安全的重要手段之一。
信息加密技术主要是通过对数据进行加密处理,使得未经授权的人无法读取数据内容,从而确保数据传输和存储的安全。
在计算机网络安全中,信息加密技术发挥着重要的作用,本文将探讨信息加密技术在计算机网络安全中的应用。
一、信息加密技术的基本原理信息加密是指将明文通过一定的加密算法转化为密文的过程,从而达到保护数据内容不被未授权人员获取的目的。
在信息加密过程中,需要使用密钥来实现加密和解密操作。
常见的加密算法有对称加密和非对称加密两种方式。
对称加密是指加密和解密使用同一把密钥,非对称加密则是使用公钥和私钥两把密钥进行加密和解密操作。
通过合理选择加密算法和密钥管理,可以实现对数据的保护和安全传输。
二、信息加密技术在网络传输中的应用1. TLS/SSL协议TLS(传输层安全)和SSL(安全套接字层)是用于保障网络通信安全的协议,它们使用了非对称加密、对称加密以及消息摘要等技术来确保通信数据的隐私性和完整性。
TLS/SSL协议在网页浏览、电子商务、电子邮件等网络通信场景中得到了广泛的应用,有效保护了网络通信的安全性。
2. VPN技术虚拟私有网络(VPN)技术通过加密通道来保护网络通信的安全性。
VPN技术利用加密算法对通信数据进行加密处理,通过建立隧道通道来实现安全的数据传输。
在企业网络中,远程办公和外部访问内部资源时,VPN技术可以有效保障数据的安全传输。
3. 加密通信协议在网络通信过程中,加密通信协议可以有效保护通信数据的隐私性。
比如SSH(Secure Shell)协议可以加密远程登录和传输过程,S/MIME(安全多用途互联网邮件扩展)协议可以加密电子邮件的传输内容,从而保护通信数据的安全。
三、信息加密技术在数据存储中的应用1. 加密文件系统加密文件系统是一种对存储在计算机硬盘上的数据进行加密处理的技术。
2012年第·12期太原城市职业技术学院学报Journal of TaiYuan Urban Vocational college期总第137期Dec2012[摘要]论文打破了现有的一些文件加密方法,描述了一个通过可执行文件捆绑被加密文件的方法,集加密和解密于一身的文件保护方案。
通过对文件捆绑方法的结构及载入机制进行深刻的剖析,使用密码学算法CRC、MD5及多种反破解方案对加密的文件实施保护。
在该方案的实现中,选用了VisualBasic编程语言,设计文件捆绑算法、反破解算法,及文件完整性判断的算法。
将解密程序同被加密文件作为一个整体,加密后的文件可在Windows各操作系统平台之间使用,操作简单使用方便。
当文件使用时,要求是输入正确的密码,开始后能够和使用普通文件一样使用该文件,使用完毕以后该文件依然保持加密状态,下次使用依然需要输入密码,解除了重复加解密的过程。
[关键词]捆绑;加密;解密;反调试[中图分类号]TP3[文献标识码]A[文章编号]1673-0046(2012)12-0135-02基于捆绑式的文件加密技术及实现王小刚(山西水利职业技术学院,山西太原030027)现在大部分的加密软件只是针对某种特殊的文件进行处理,并且只是使用简单的加密手段,很容易被解密者破解;有一些高强度的加密软件要求有昂贵硬件设备予以支持,这样加密后的文件很不方便在别的机器上对文件进行解密操作;还有一些加密软件是在利用系统的漏洞进行加密,一旦这些漏洞被修补,极易造成文件的丢失。
计算机病毒是指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
试想可以用计算机病毒的原理,把插入的破坏计算机功能或数据的代码换成具有解密特定数据能力的代码,被注入病毒的文件可以看作是已加密好的数据,重新排列解密代码和被加密数据的位置,只要有执行能力的代码可以引导数据正确的解密,那么这种方法是行得通的。
数据库存储加密的常用技术方法1. 数据库字段加密:通过对数据库中敏感字段(如密码、信用卡号等)进行加密处理,以保护数据不被直接泄露。
常用的加密算法包括AES、DES等,加密后的字段只能通过正确的解密算法才能恢复原始数据。
2. 数据库连接加密:使用SSL/TLS等协议对数据库连接进行加密,确保数据在传输过程中不被窃取或篡改,提高数据传输的安全性。
3. 数据库盐加密:对敏感数据进行盐加密处理,通过动态生成的盐值来增加数据的安全性,防止彩虹表等攻击手段。
4. 数据表加密:对整个数据表进行加密处理,确保即使数据库被非法访问,数据也无法直接读取。
5. 数据库加密存储:使用加密文件系统或专门的加密存储设备来存储数据库文件,保护数据在存储时的安全性。
6. 数据库访问控制:通过访问控制列表、角色权限等手段,限制对数据库的访问,只允许授权用户进行数据操作,以降低数据泄露风险。
7. 数据库审计和日志记录:记录数据库操作的详细日志,并对数据库访问行为进行审计,及时发现异常操作并追踪数据访问记录。
8. 数据脱敏:对部分敏感数据进行脱敏处理,如对姓名、身份证号的部分信息进行屏蔽或替换,以降低数据被泄露的风险。
9. 数据备份加密:对数据库备份文件进行加密处理,以防止备份数据在传输或存储时被恶意篡改或窃取。
10. 数据加密算法更新:定期更新数据库中使用的加密算法,以应对新的安全威胁和攻击手段。
11. 数据库加密密钥管理:建立专门的密钥管理系统,对数据库加密所使用的密钥进行安全保存和管理,确保密钥不被泄露。
12. 数据加密时效性管理:设置数据加密的时效性,对于需要长期存储的数据,定期更换加密密钥以降低密钥泄露的风险。
13. 数据库加密性能优化:通过硬件加速、缓存优化等手段,提高数据库加密处理的性能,确保数据安全的同时不影响系统性能。
14. 数据加密与解密接口权限控制:限制数据加密解密操作的权限,确保只有授权用户能够进行加密解密操作,防止敏感数据被恶意篡改。
eCryptfs加密文件系统的概述eCryptfs(英文:Enterprise Cryptographic Filesystem,企业加密文件系统)从Erez Zadok 开发的Cryptfs发展而来,是一种Linux系统下的企业加密文件系统,兼容POSIX文件系统级加密。
该加密文件系统是Linux内核2.6.19版本中引入的一个功能强大的企业级加密文件系统(Ubuntu自9.04也开始开始提供eCryptfs包),堆叠在其它文件系统之上(如Ext2,Ext3,Ext4, ReiserFS,JFS等),为应用程序提供透明、动态、高效和安全的加密功能。
eCryptfs 默认使用的是AES算法,但是它也支持其它算法,如blowfish、des3、cast5、cast6、md5等。
如果是通过手工创建eCryptfs设置,则可以选择其中一种算法。
第一节加密文件系统的概念及分类在Linux系统中,基本上有两种不同的方法可以对文件和目录进行加密。
一种方法是,文件系统级加密,是对某些文件或目录(比如/home/alice)选择性地加密。
这是一种理想的加密方法。
文件系统级加密存在一些缺点。
比如说,许多现代的应用程序将文件(或文件的部分内容)缓存在硬盘中的未加密区域,比如交换分区、/tmp和/var文件夹,它们很可能会导致隐私泄密。
另一种方法是全磁盘加密,这意味着整个磁盘都经过了加密(主引导记录可能除外)。
全磁盘加密在物理磁盘层面实现,写入到磁盘上的每个比特数据都经过了加密,从磁盘读取的任何数据自动实时解密。
这可以防止任何人可能未经授权就访问未加密的数据,并且确保整个文件系统里面的所有数据都经过了加密,包括交换分区或任何临时缓存的数据。
在Linux系统中,文件系统级加密有:(1)EncFS,这是尝试加密的最容易的方法之一。
EncFS作为堆叠文件系统来运行,所以你只要创建一个加密的文件夹,将它挂载到文件夹上即可使用。
采用EFS 加密硬盘以保护数据简介在许多企业中,都存在着多个用户共用一台计算机的情况。
有些用户旅行时携带便携式计算机,并在没有企业物理保护的地方使用,如客户设施、机场、饭店和家中。
这意味着重要的数据常常被置于企业控制之外。
未经授权的用户可能希望读取存储在台式计算机中的数据。
手提电脑可能会失窃。
在所有这些情况下,公司的敏感数据都可能被窃取。
采用加密文件系统(EFS) 对敏感数据文件进行加密,可以加强数据的安生性。
该解决方案可以有效的减小数据失窃的隐患。
加密是一种采用数学算法的应用程序。
文件经过加密处理后,只有拥有正确密钥的用户方可读取其内容。
Microsoft 的EFS 技术可以对计算机上的数据进行加密,并控制哪些人有权解密或恢复数据。
文件被加密后,即使攻击者能够物理访问计算机的数据存储器,也无法读取用户数据。
所有用户都必须拥有EFS 证书,方可运用EFS 对数据进行加密和解密。
此外,EFS 用户必须拥有在NTFS 卷中修改文件的权限。
EFS 包括两种类型的证书:加密文件系统证书。
此类证书允许其持有者使用EFS 加密和解密数据,它通常也被直接称为EFS 证书。
普通的EFS 用户使用此类证书。
这类证书的“增强型密钥用法”字段(在Microsoft 管理控制台管理单元中可以看到)的值为“EFS (1.3.6.1.4.1.311.10.3.4)”。
文件恢复证书。
此类证书的持有者可以在整个域或其他范围内对任何人加密的文件和文件夹进行恢复。
只有域管理员或极受信任的委托人(即数据恢复代理)可以持有此类证书。
这类证书的“增强型密钥用法”字段(在Microsoft 管理控制台管理单元中可以看到)的值为“文件恢复(1.3.6.1.4.1.311.10.3.4.1)”。
此类证书通常被称为EFS DRA 证书。
要允许其他授权用户读取加密的数据,需要给他们私钥,或使其成为数据恢复代理。
数据恢复代理可以在其范围内的域或组织单位中,解密所有的EFS 加密文件。
分布式文件系统的数据压缩与解压缩技术在当今大数据时代,数据量的爆炸式增长对存储和传输带来了巨大挑战。
为了应对这些挑战,分布式文件系统逐渐成为了一种流行的解决方案。
而在分布式文件系统中,数据的压缩和解压缩技术则发挥了重要的作用。
本文将就分布式文件系统的数据压缩与解压缩技术进行论述。
一、数据压缩技术在分布式文件系统中的应用数据压缩技术是将数据通过某种算法转换为更紧凑的形式,以减少存储空间和传输带宽的占用。
在分布式文件系统中,数据压缩技术可以有效降低数据的存储和传输成本,并提高系统的性能表现。
1. 压缩算法的选择在选择数据压缩算法时,需要权衡压缩比和压缩速度。
常见的压缩算法有无损压缩算法和有损压缩算法。
无损压缩算法可以保证数据的完整性,但相对压缩比较低;而有损压缩算法能够提高压缩比,但会造成一定的数据丢失。
根据具体的应用需求,选择合适的压缩算法是非常重要的。
2. 数据块的划分与压缩在分布式文件系统中,数据通常会被划分为多个数据块进行存储。
对于每个数据块,可以采用单独的压缩算法进行压缩。
这样可以根据数据块的特性选择最合适的压缩算法,提高压缩效率。
3. 压缩前后的索引管理在对数据进行压缩的同时,需要进行索引管理以便于数据的查找和访问。
压缩前后的索引需要进行相应的更新和维护,以保证数据的一致性和可靠性。
二、数据解压缩技术在分布式文件系统中的应用数据解压缩技术是将压缩后的数据重新恢复为原始数据的过程。
在分布式文件系统中,数据解压缩技术是保证数据可靠性和完整性的重要手段。
1. 数据块的解压缩与重组在分布式文件系统中,数据块可能分布在不同的节点上。
当需要访问某个数据块时,首先需要将压缩的数据块解压缩,并将解压后的数据块进行重组,以便于后续的数据访问。
2. 缓存与预取为了提高数据的访问效率,分布式文件系统通常会采用缓存和数据预取策略。
在数据解压缩过程中,可以利用缓存和预取技术,提前加载和解压缩可能需要的数据块,减少访问时的延迟和带宽消耗。
总第169期2008年第7期 舰船电子工程S hi p E lectronic Engineering V ol .28N o .7 157 网络文件系统的数据一致性研究3刘 湛 钱 薇 李斯波(武汉数字工程研究所 武汉 430074)摘 要 针对网络文件系统中存在的三种主要的数据一致性问题:缓存一致性、元数据一致性和节点间数据一致性,分别设计和总结了相应的解决方案。
关键词 网络文件系统;数据一致性;缓存;元数据中图分类号 T P274Research on D ata Consistency in N et w o r k File SystemL iu Zhan Q ian W ei L i S ib o(W uhan D igital E nginee ri ng Institute,W uhan 430074)A b s tra c t In according to relative theories and m ethods of the distributed system ,the soluti ons for the proble m s about da ta consistency of the net w ork f ile syste m ,w hich are cache consistency,m etada ta consistency and da ta consi stency be t w een nodes,a re discussed and p roposed respec tive ly .Ke y w o rd s net w ork f ile syste m ,da ta consistency,cache,m eta -da ta C l a s s N um be r TP2741 引言在网络文件系统中,数据一致性是数据共享所必须解决的关键问题。
什么是EFS加密EFS(Encrypting File System,加密文件系统)是Windows 2000/XP所特有的一个实用功能,对于NTFS卷上的文件和数据,都可以直接被操作系统加密保存,在很大程度上提高了数据的安全性。
EFS加密是基于公钥策略的。
在使用EFS加密一个文件或文件夹时,系统首先会生成一个由伪随机数组成的FEK (File Encryption Key,文件加密钥匙),然后将利用FEK和数据扩展标准X算法创建加密后的文件,并把它存储到硬盘上,同时删除未加密的原始文件。
随后系统利用你的公钥加密FEK,并把加密后的FEK存储在同一个加密文件中。
而在访问被加密的文件时,系统首先利用当前用户的私钥解密FEK,然后利用FEK解密出文件。
在首次使用EFS时,如果用户还没有公钥/私钥对(统称为密钥),则会首先生成密钥,然后加密数据。
如果你登录到了域环境中,密钥的生成依赖于域控制器,否则它就依赖于本地机器。
EFS加密有什么好处首先,EFS加密机制和操作系统紧密结合,因此我们不必为了加密数据安装额外的软件,这节约了我们的使用成本。
其次,EFS加密系统对用户是透明的。
这也就是说,如果你加密了一些数据,那么你对这些数据的访问将是完全允许的,并不会受到任何限制。
而其他非授权用户试图访问加密过的数据时,就会收到“访问拒绝”的错误提示。
EFS加密的用户验证过程是在登录Windows 时进行的,只要登录到Windows,就可以打开任何一个被授权的加密文件。
如何使用EFS加密要使用EFS加密,首先要保证你的操作系统符合要求。
目前支持EFS加密的Windows操作系统主要有Windows 2000全部版本和Windows XP Professional。
至于还未正式发行的Windows Server 2003和传闻中的开发代号为Longhorn的新一带操作系统,目前看来也支持这种加密机制。
其次,EFS加密只对NTFS5分区上的数据有效(注意,这里我们提到了NTFS5分区,这是指由Windows 2000/XP格式化过的NTFS分区;而由Windows NT4格式化的NTFS分区是NTFS4格式的,虽然同样是NTFS文件系统,但它不支持EFS加密),你无法加密保存在FAT和FAT32分区上的数据。
加密文件系统中缓冲技术的研究 ◎陈忠贵,舒远仲,吴文俊
(南昌航空大学,江西南昌330063) [关键词]缓冲技术;加密;文件系统;效率 [摘要]文章对加密文件系统中缓冲的清除技术进行了研究。当加密文件关闭时,调取内核函数,采用对其缓冲中的明文 数据进行清除并非禁用的方法,从而既保障了加密文件系统对文件操作的效率,又保证了文件内容安全,能有效防止文件内 容泄密。 [中图分类号]TP393.08 [文献标志码] A [文章编号】1001-4926(2010)02—0067-05
Research of Buffering Technique in the Encrypting File System CHEN Zhong—gui,SHU Yuan—zhong,WU Wen—Jun (Nanchang Hangkong Unive ̄ity,Nanchang,Jiangxi 330063,China) Key words:buffering technique;eneryption;file systems;efficiency Abstract:The article studies the removal technology of buffer in Encrpting File System.When the encrypted files al'e closed,the ker- nel function is used and plaintext data is deleted rather than forbidden.The method ensures the efficiency of file operations and docu— ment content security in encrypted file system SO as to effectively prevent the document disclosure.
计算机普及带来的文件信息安全性问题,成为 信息安全领域中最受关注的热点之一l1j。加密文件 系统是一种将数据以密文形式存储的文件系统。经 加密文件系统加密后的密文即使文件信息被非法窃 取,因没有密钥,得到的也只是无法辨认的乱码,达 到保护信息资源的目的。 由于内存映射文件的存在,难以在文件过滤驱 动中截取映射文件的读写I/O。若不进行缓冲控 制,容易发生数据混乱的现象。如授权进程取到的 数据为加密状态,而非法进程却能获取明文数据。 为避免上述情况发生,在加密文件系统中对文件缓 冲的监控则是一项非常重要和不可或缺的一环。所 以,采用对缓冲中的文件内容(明文)进行删除,即当 文件进程关闭时,对缓冲进行清除。最大程度方便用 户,同时也保证数据的安全,防止文件内容的泄密。 1 相关概念 1.1 Windows文件缓冲 Windows具有巧妙的文件缓冲机制,就是只要 一个文件被以缓冲方式打开过,则其内容的全部或 者一部分就已经保存在内存里了,称这部分信息为 文件缓冲。一般地说,一个文件无论有几个进程在 访问,都只有一份文件缓冲。 应用层的读/写请求大多都是普通的读/写请求 (不带IRP_PAGING—IO、IRP—SYNCHRONOUS
—PAGING—IO、IRP—NOCACHE),这种请求的特
点是文件系统会调用CcCopyRead和CcCopyWrite 来完成。这两个函数会直接从缓冲中读数据,若缓
[收稿日期]2010—04—08 [修回151期]2010—05—19 [作者简介]陈忠贵(1979一),男,南昌航空大学软件学院硕士研究生。主要研究方向:信息安全。
67 68 第 期 冲中没有,才会转换为分页读/写请求。 图1表示应用程序看到的文件内容、缓冲中的 文件内容和真实硬盘上的文件内容之间的关系。 l应用程序看到的文件内容 ▲ 缓冲写请求l I{缓 ’ r { 文件缓冲中的文件内容 t 真实硬盘上的文件内容 图l 应用程序看到的文件内容、缓冲中的文件内容 和真实硬盘上的文件内容之间的关系 显然,同一个文件的内容被分成了3份。这3 份数据是可以互不相同的,而且他们之间通过4种 IRP进行互相转换。这4种IRP是: (1)缓冲写请求,把应用程序看到的文件内容 拷贝到文件缓冲中。 (2)缓冲读请求,把文件缓冲中的文件内容拷 贝到应用程序中。 (3)分页写请求,把文件缓冲中的文件内容拷 一贝到真实硬盘中。 (4)分页读请求,把真实硬盘中的数据拷贝到 文件缓冲中。 文件过滤可以过滤到全部4种IRP。实际上有 时候还有另外的IRP(比如直接从硬盘读/写数据但 是不给文件缓冲做出贡献的非缓冲读/写请求),在 此暂时忽略,把非缓冲i卖/写请求和分页读/写请求 归并到一起 ¨。 1.2明文还是密文选择 据图1所示,对一个授权进程来说,有以下两点 是确定无疑的: (1)真实硬盘上的文件内容必须是密文。这是 防止信息泄密的要求所致。 (2)应用程序看到的文件内容必须是明文。如 果不是明文,应用程序自然就无法正常编辑文件了。 对一个非授权进程而言,它看到的文件内容必 须是密文。这个说法也是成立的。 南蜃巍官士謦学报 Journal of Nanchang Hangkong Unlversity 自然科学版………・Natural Sciences 加密文件系统中缓冲技术的研究 文件缓冲内容到底应该是密文还是明文,实际 上还没有一个统一的答案。如果文件缓冲内容是密 文,则须截获缓冲读/写请求来进行加密/解密。对 于使用内存映射文件的情况,这就难以处理。所以, 文件缓冲内容为密文的情况一般都只能将不使用内 存映射文件的软件作为授权进程。如果文件缓冲内 容是明文,只需要处理分页读/写请求。而分页读/ 写请求无论是否使用内存映射文件都存在,这样就 能合并处理两种情况(使用内存映射文件或者不使 用)。因此,这里将采用明文作为文件缓冲内容。 当然,更超前的技术是所谓的“双缓冲”_3 J,意 思是授权进程看到的缓冲内容是明文,而非授权进 程看到的缓冲内容是密文。因为两个缓冲同时存在, 互不干扰,执行效率高,但这样的后果是同步困难。 另外,缓冲技术还需要对微过滤驱动 的开发, Windows消息机制 以及PE文件格式有一定的了解。
2加密文件系统结构层次 加密文件系统设计分内核层(RING 0)和用户 层(RING 3)。在用户层,客户端初始化USBKEY, 设定要附着驱动的分区,再设定过滤条件,包括过滤 目录和过滤进程;然后将该过滤条件传给内核层的文 件过滤驱动。文件过滤驱动根据此条件,动态选择加 解密操作_6]。如图2给出整个系统的结构层次。 初始化USBKEY
包 叵
图2加密文件系统结构层次 2ot0年6月 第24卷第2期
文章阐述的缓冲内容清除技术即在RINGO下 实现。
3加密文件系统的性能优化策略 NT内核模式开发标准是使用IRP作为与系统 驱动程序通信的基本手段。它的优点是IRP既封装 了上下文所需的详细操作又允许IRP从驱动程序的 众多操作细节中分离出来,该方法在NT分层设备 体系中非常通用。但有相当多的上层操作请求需要 快速响应,此时,上层操作生成的IRP决定整个操作 的成本并会导致系统性能的下降。所以,NT系统引 入的Fast 1/O概念以实现文件内容的缓冲。若打算 提升加密文件系统对文件操作的效率,必须实现对 文件的Cache管理。文件Cache管理又牵涉到文件 系统驱动(File System Driver,FSD)、虚拟内存管理 器、Cache管理器,三者一起为用户提供访问非易失 性存储器的能力。限于篇幅,文章只介绍文件系统 的Cache管理机制及其实现。 3.1文件系统Cache管理机制 文件系统因操作系统而异,但共同目标都是提 高文件系统的执行效率。Windows Cache管理器的 显著优点是允许用户在文件系统缓冲和运行程序使 用物理内存之间保持平衡。文件系统还有一个使用 Cache管理器的重要原因:一个文件可能被标准的 文件系统接口访问,比如读和写,也有可能通过内存 管理器被视作内存映射文件访问;有时两种访问方 式备用在同一个文件上。此时,Cache管理器必须 建立这两种访问方式的桥梁,以确保数据的可靠性。 3.2 Cache管理实现 3.2.1 FAST I/O处理 IRP是1/O请求操作的默认机制,它用于同步 或异步1/O;缓冲或非缓冲1/O;或者分页1/O请求。 但对于缓冲文件的快速同步1/O请求,有一个特定 处理机制:FAST 1/O 。
加密文件系统中缓冲技术的研究 69 FAST 1/O机制出现的原因是:大部分1/O请求 都是同步和允许阻塞的。在FAST 1/O操作中,数据 在用户空间和系统缓冲之间直接传输,而不通过文 件系统和存储驱动堆栈。当FAST I/O处理例程不 存在时,它会重新发送一个IRP替代。所以,FAST 1/O并不是必须的。FAST 1/O能提高文件系统的效 率原因在于它不用1/O管理器来创建IRP,也不需 要经过驱动设备对象堆栈的处理。 FAST 1/O一般处理过程是:查询文件系统驱动 对象FAST 1/O所对应的处理例程是否存在。若不 存在则返回假,系统重新发送IRP继续实现文件操 作;若该处理例程存在,则直接调用该处理例程完成 该FAST 1/O。 3.2.2文件缓冲清除 显然,对缓冲中的数据控制最简单方法是禁用 缓冲。但该方法将大大影响用户使用文件的效率, 违背缓冲设计者的初衷。本系统为最大程度方便用 户,同时也要保证数据的安全,采用对缓冲中的明文 清除并非禁用。 对内存数据操作涉及到一个非常重要的数据结 构:文件控制块(File Control block,FCB)。众所周 知,当打开一个文件时,内存中存在一个文件对象, 通过文件对象的FsContext域可以获得文件控制块 的信息,如图3所示。 文件控制块
图3文件对象和文件控制块