第3章NTFS文件系统课件.ppt
《第3章NTFS文件系统课件.ppt》由会员分享,可在线阅读,更多相关《第3章NTFS文件系统课件.ppt(171页珍藏版)》请在三一办公上搜索。
1、第3章 NTFS文件系统,3.1 NTFS基础知识 3.2 NTFS和FAT比较 3.3 NTFS下的数据恢复 思考题,Windows NT文件系统(即NTFS)提供了FAT文件系统所没有的性能、可靠性和兼容性。NTFS设计上能够快速实现标准的文件操作,例如读写和查询,它甚至实现了在超大容量硬盘上的文件系统恢复操作。用NTFS文件系统格式化一个卷(分区)后,就生成几个系统文件和主文件表 (Master File Table,MFT),MFT包含了NTFS卷上所有文件和文件夹的信息。NTFS卷开头包含的信息是分区引导记录,始于0扇,最大长度为16个扇区。NTFS卷的第一个文件是MFT。格式化后,
2、NTFS卷的布局如图3-1所示。,图3-1 已格式化的NTFS卷,3.1 NTFS基础知识NTFS文件系统包含了公司环境中的文件服务器和高端个人计算机所要求的安全特性。 NTFS文件系统同样支持数据访问控制和对关键性数据很重要的所有者权限。不仅一个Windows NT机器上共享的文件夹可以赋予特定的许可,NTFS 卷的文件和文件夹也可以赋予各种许可,而不论它们是否是共享的。NTFS 是Windows NT 上唯一可以对单个文件赋予权限的文件系统。,NTFS文件系统有一个简单而又强大的设计思想。简言之,卷上的所有东西都是一个文件,所有东西都是文件的一个属性,有数据属性、安全属性、文件名属性等。N
3、TFS卷上分配的每个扇区属于某个文件,甚至文件系统元数据(即描述文件系统自身的信息)也是一个文件的部分。,1加密技术加密文件系统(EFS)提供了核心的用于在NTFS卷上保存加密文件的文件加密技术。EFS保证了文件的安全,使之免受入侵者对已保存的敏感数据进行未授权的物理访问(如通过便携式电脑或外部磁盘窃取信息)。2磁盘配额Windows 2000中对NTFS卷支持磁盘配额,用户可以通过磁盘配额监视和限制磁盘空间的使用。,3重解析点重解析点(Reparse Points)是NTFS中新的用于文件或文件夹的文件系统对象。一个包含重解析点的文件或文件夹拥有此前的文件系统所没有的附加行为。重解析点用于W
4、indows 2000中新的存储特性的很多方面,包括卷挂载点。 4卷挂载点卷挂载点(Volume Mount Points)是NTFS的新特点。基于重解析点,卷挂载点允许管理员将对一个本地卷的根的访问移植成对另一个本地卷的某个文件夹的访问。,5稀疏文件稀疏文件(Sparse Files)允许程序生成很大的文件,但在必要的时候会消耗磁盘空间。6分布式链接跟踪NTFS提供了一项链接跟踪(link-tracking)服务,即分布式链接跟踪(Distributed Link Tracking),用于维护文件快捷方式的完整性,类似于复合文档中的OLE链接。,3.1.1 NTFS的DBR表3-1描述了格式
5、化成NTFS卷的引导扇区。当格式化一个NTFS卷时,格式化程序分配开始的16个扇区给引导扇区和自举代码。,表3-1 NTFS的引导扇区,在NTFS卷上,BPB后面的数据字段构成扩展BPB。启动过程中,这些字段中的数据可以使NTLDR(NT loader程序)找到主文件表(MFT)。在NTFS卷上,MFT不会放在特定的预定义扇区上(和FAT16或FAT32不一样),因此,如果MFT通常的位置有坏扇区,它可以移动。但是,如果数据遭到破坏,MFT无法定位,则Windows NT/2000就认为该卷未格式化。,例如,演示运行Windows 2000时一个NTFS卷格式化后的引导扇区。打印输出分为三节:
6、字节0 x000 x0A 是jump指令和OEM ID(粗体显示);字节0 x0B0 x53是BPB和扩展BPB;剩余的代码是自举代码和扇区结束标记(粗体显示)。物理扇区为:0柱1面1扇,表3-2描述了该例中NTFS卷上BPB和扩展BPB的字段。字段和它们在FAT16、FAT32卷上一样,开始于0 x0B, 0 x0D, 0 x15, 0 x18, 0 x1A和0 x1C。示例值对应该例中的数据。由于一般的系统常依赖引导扇区来访问一个卷,因此应经常性地运行Chkdsk这样的磁盘扫描工具,以保护引导扇区,就如同无法访问一个卷就备份所有的数据文件以免数据丢失一样。,表3-2 NTFS卷上的BPB,
7、3.1.2 NTFS主文件表NTFS卷上的每个文件表达成一个称为主文件表(Master File Table,MFT)的特殊文件的一个记录。NTFS保留了开头的16个记录用于保存特殊的信息。MFT中的第一个记录是MFT的自我描述,紧跟其后的第二个记录是MFT镜像文件。如果第一个MFT记录被破坏了,则NTFS就读出第二个记录找到MFT镜像文件,镜像文件的第一个记录和MFT的第一个记录完全相同。MFT和MFT镜像文件的位置记录在引导扇区中,引导扇区的一个副本放在逻辑磁盘的中间或末尾。,MFT的第三个记录是日志文件,用于文件恢复。MFT第17个及之后的记录用于卷上的每个文件和目录(NTFS视目录也为
8、文件)。 图3-2是MFT结构的简单演示。,图3-2 MFT的结构,主文件表给每个文件记录都分配一定的空间,文件的属性写入MFT中已分配的空间。像图3-3中那样的小文件或小目录(典型的是1500字节或更少),可以整个地包含在主文件表的记录里。该设计使得文件的访问速度非常快。目录记录在主文件表中的存放和文件记录几乎一样。目录包含着索引信息而非数据。小的目录记录整个驻留在MFT结构中;大的目录记录则组织成B+树,树中有些指向外部簇的指针记录,用于保存无法容纳在MFT结构中的目录入口。,图3-3 小文件或小目录的MFT记录,3.1.3 NTFS文件类型1NTFS文件属性NTFS文件系统视每个文件(或
9、文件夹)为一个文件属性的集合。集合中的元素,如文件名、安全信息以及数据,都是文件的属性。每个属性用一个属性类型码(或属性名)相互区分。,当一个文件的属性可以放入MFT文件记录时,称之为常驻属性。如文件名和时间戳那样总包括在MFT文件记录里的信息。当一个文件所拥有的信息太多,以至于MFT容不下时,一些属性就成为非常驻的。非常驻属性分配在该卷磁盘空间的其它地方,使用一个或更多的簇。NTFS创建“属性列表”属性来描述所有属性记录的位置,该列表是可扩展的,这意味着将来可定义其他的文件属性。表3-3列出了NTFS文件系统目前定义的所有文件属性。,表3-3 NTFS定义的文件属性,2NTFS系统文件NTF
10、S包括几个系统文件,从NTFS卷来看,它们都是隐藏的。文件系统用系统文件来存放元数据并实现文件系统。系统文件是用Format实用程序放在卷上的,如表3-4所示。,表3-4 记录在主文件表中的元数据,3NTFS特性1) NTFS多数据流NTFS支持多数据流,它标志着在文件之上的一种新型数据。每个数据流可以打开一个句柄。从而一个数据流是一个唯一的文件属性集合。流不但有公共的权限,而且可以有单独的机会锁、文件锁和大小。,该特性允许把数据当作单个的单元来管理。下面是一个替换流的例子: myfile.dat:stream2或者存在一个文件库,其中的文件定义成替换流,如下例所示: library: fil
11、e1 : file2 : file3,一个文件可以同时和一个以上的应用程序关联,如Microsoft Word和Microsoft WordPad。例如,一个如下所示的文件关联文件结构,而不是多个文件: program: source_file : doc_file : object_file : executable_file,为创建一个替换数据流,可以在命令提示符下输入如下命令: echo textprogram:source_filemoreprogram:source_file 提示:当复制一个NTFS文件到FAT卷时,如软盘,FAT不能支持的数据流和其他属性就丢失了。,2) NTFS
12、压缩文件Windows NT/2000支持对单个文件、文件夹和整个NTFS卷的压缩。NTFS卷上的压缩文件可以被任何基于Windows的应用程序读或写,而不需要先用另外的程序来解压。读文件时解压自动进行,文件关闭或保存时又会被压缩。当在Windows Explorer中查看压缩文件和文件夹时,有一个带C的属性。,只有NTFS能够读取压缩形式的数据。当一个应用程序如Microsoft Word,或像copy那样的操作系统命令要求访问文件时,压缩过滤驱动先解压缩该文件。例如,如果从另外一台Windows NT/2000机器上拷贝一个压缩文件到你的硬盘上的一个压缩文件夹内,读文件时它被解压,拷贝、保
13、存时它再次被压缩。NTFS压缩算法近似于Windows 98使用的应用程序DriveSpace 3,但后者局限于压缩整个主分区或逻辑分区。NTFS允许压缩整个卷,卷内的一个或多个文件夹,甚至NTFS卷文件夹内的一个或多个文件。,NTFS的压缩算法设计成支持的簇大小最多为4KB。当一个NTFS卷的簇大小超过4KB时,NTFS的压缩功能不可用。每个NTFS数据流包含着用于指示流的任何部分是否被压缩的信息。在为那个流保存的信息中,单个的压缩缓冲通过它们之后的“洞”互相区分。如果存在一个洞,NTFS自动解压缩之前的缓冲来填充洞。NTFS提供对压缩文件的实时访问,打开时解压缩,关闭时则压缩。当写入一个压
14、缩文件时,系统保留未压缩时文件大小的磁盘空间,当每个单独的压缩缓冲区被压缩后,系统将回收未使用的空间。,3) 加密文件系统加密文件系统(EFS)提供用于在NTFS卷上保存加密文件的核心文件加密技术。EFS保证了文件的安全,使之免受入侵者对已保存的敏感数据进行未授权的物理访问(如通过便携式电脑或外部磁盘窃取)。,用户使用加密的文件和文件夹就和使用其他文件和文件夹一样。加密过程对加密该文件的用户来说是透明的,当用户访问该文件或文件夹时,系统自动进行解密;当保存文件时,加密再次进行。没有权限访问加密的文件或文件夹的用户试图打开、拷贝、移动或重命名加密的文件或文件夹时,会收到一条“拒绝访问”消息。确切
15、的消息文本会随着试图访问该文件的应用程序而不同,因为它不和文件的用户权限相关,而是EFS利用用户私钥加密文件的能力。,相比于第三方加密应用程序,EFS有如下优势:(1) 对用户和应用程序来说,它是透明的。不存在用户忘记加密文件而使数据处于未受保护状态的危险。文件或文件夹一旦标记为加密的,它在后台被加密,无需和用户交互。用户不必记住解密文件的密码。(2) 强大的密钥安全性。和那些靠用户输入密码的方法不同的是,EFS生成可以抵御基于字典攻击的密钥。,(3) 所有的加密/解密处理在核心模式执行,不存在密钥保留在页面文件的危险,因为页面文件中的密钥可能被解析出来。(4) EFS提供了对商业环境有价值的
16、数据恢复机制,甚至在加密数据的雇员离开了公司时,给该组织复原数据的机会。用户可以通过Windows Explorer或一个叫做cipher.exe的命令行工具来使用EFS特性。要用Windows Explorer加密文件时,右击文件名打开文件属性窗口,点击“高级”按钮打开高级属性对话框,在该对话框中进行设置,即可以把文件标记为加密的。,在保存新的设置前,Windows会提示用户只加密文件还是整个文件夹。它预示着:文件自身被完美保护的同时,打开文件的应用程序会在文档上工作时生成该文件的一个临时拷贝。以Microsoft Word为例,当用户打开加密文档时,EFS透明地为Word解密,然后在工作时
17、,Word生成隐藏的临时文件,以便程序退出时自动保存编辑或者删除处理过的文档。该隐藏文件违背了安全原则,因为它直接包含了用户数据(未加密的形式)。加密整个文件夹而不是只加密文件可解决这个问题。,EFS组合了对称密钥加密法和公钥加密技术来保护文件。文件数据用对称算法(DESX)加密。对称算法的密钥称为文件加密密钥(FEK),FEK本身用公钥私钥算法(RSA)加密并随文件保存。非对称算法与对称算法的不同在于加密速度的快慢。非对称算法在加密大量数据时要耗费大量的时间;对称算法则要快约1000倍,从而更适合加密大量的数据。NTFS加密流程如图3-4所示。,图3-4 NTFS加密流程示意图,首先,NTF
18、S在相同的驱动器的系统卷信息文件夹(System Volume Information)内生成一个叫Efs0.log的日志文件作为加密文件,然后EFS访问CryptoAPI环境。CryptoAPI环境利用Microsoft Base Cryptographic Provider 1.0作为密钥提供者。密钥生成环境打开后,EFS生成文件加密密钥(FEK)。,其次是获取公钥/私钥对,如果它当前不存在(EFS首次调用的情形),EFS生成新的一对。EFS用1024位的RSA算法来加密FEK。最后,EFS为当前用户生成数据解密域(DDF),其中存放了FEK并用公钥加密它。如果系统策略中定义了恢复代理,E
19、FS还生成数据恢复域(DRF),其中存放了恢复代理的公钥加密的FEK。每个定义的恢复代理有独立的DRA。注意,不包括在域中的Windows XP没有定义恢复代理,因此这一步可省略。,当文件被加密时,在相同的文件夹内生成一个叫Efs0.tmp的临时文件。原始文件的内容(明文)拷贝到临时文件中,之后用加密的数据覆盖原始文件。默认情况下,EFS用128位密钥的DESX算法加密文件数据,但Windows也可配置成使用强度更大的168位密钥的3DES算法。这种情形时,在LSA策略中必须开启FIPS适应算法的应用(默认禁用),如图3-5所示。,图3-5 NTFS系统加密,EFS使用注册表决定用DESX或3
20、DES。如果HKLMSYSTEMCurrentControlSetControl LSAFipsAlgorithmPolicy = 1,那么3DES将被使用;如果不是,那么EFS检测HKLMSoftwareMicrosoftWindows NTCurrentVersionEFSAlgorithmID(这个值可能不存在),若存在,则它的ID是CALG_3DES或CALG_DESX,否则,将使用DESX。加密完成后,临时文件和日志文件将被删除。,文件加密后,只有拥有相应的DDF或DRF的用户能够访问它。该机制独立于常规安全,这意味着文件除了访问它的权限外,还必须有用用户公钥加密的FEK。只有能够用
21、他的私钥解密FEK的用户才能够访问该文件。访问该文件的用户可以加密它,从而防止拥有者访问该文件。最初只为加密该文件的用户生成一个DDF,后来他可以添加额外的用户形成钥匙圈。这种情况下,为了让另一个用户来访问,EFS简单地用用户私钥解密FEK,并用目标用户的公钥加密FEK,因此生成了一个新的DDF,和第一个一起存放。解密过程和加密相反,如图3-6所示。,图3-6 NTFS解密流程示意图,首先,系统检测用户是否有一个用于EFS的私钥。如果有,它就读取EFS属性并遍历DDF密钥圈来查找当前用户的DDF。如果找到了DDF,用户的私钥就用于解密从DDF中解析出来的FEK,EFS用解密后的FEK解密文件数
22、据。需要注意的是,当上层模块要求特定的扇区时,文件决不是整个被解密,而是按扇区来解密。恢复过程近似于解密,除了它使用恢复代理密钥来解密DRF而非DDF中的FEK外,如图3-7所示。,图3-7 NTFS恢复流程示意图,DRA策略在Windows 2000和Windows XP中的实现方法不同。Windows 2000中默认在机器上,不包括在域中,本地的Administrator作为Encrypted Data Recovery Agent(加密数据恢复代理)添加到Public Key Policy。所以,当用户加密文件时,DDF和DRF域都生成了。如果最后的DRA被删除,则整个EFS功能就丧失了
23、,从而不可能再加密文件,如图3-8所示。,图3-8 无效的加密恢复策略,Windows XP中的情况则不同,既然多数独立工作的本地用户除了自己外没必要使其他人也能够解密文件,就没有数据恢复代理的必要,所以Public Key Policy中不包括 DRA,EFS不需要DRA就能起作用。这种情况下,为加密的文件只生成DDF域。当NTFS加密文件时,它给文件设置标志“加密的”(0 x4000),同时生成$EFS属性来存放DDF和DDR,如图3-9所示。在NTFS中,该属性的属性ID=0 x100,并且可以相当长,占用0.5K到几K不等的空间,这取决于DDF和DRF的数量。,图3-9 $EFS属性,
24、$EFS属性更详尽的例子如图3-10所示。数据区1:$EFS属性尺寸。数据区2:计算机SID和用户号。它用来确定EFS存放证书的文件夹。为了获取文件夹名称,EFS做如下处理: 5A56B378 1C365429 A851FF09 D040000存放在$EFS中的数据78B3565A 2954361C 09FF51A8 000004D0保留2025018970-693384732-167727528-1232转换成十进制S-1-5-21-2025018970-693384732-167727528-1232添加了SID前缀后,图3-10 $EFS实例,最终,文件夹是:%UserProfile%A
25、pplicationDataMicrosoftCryptoRSAS-1-5-21-2025018970-693384732-167727528-1232数据区3:公钥指纹(Public key thumbprint)。数据区4:私钥GUID(也用作容器名)。当EFS从CryptoAPI提供者中获取上下文时会用到这个名字。如果$EFS属性中只有一个DDF,容器名可以从$EFS(这个域)计算出来,但更多的用户(更多DDF和DRF)加入到文件时,不会都为它们保存PK GUID,而必须从基于公钥指纹的证书存储区中获取。,数据区5:密钥提供者名称为Microsoft Base Cryptographic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 NTFS文件系统课件 NTFS 文件系统 课件
链接地址:https://www.31ppt.com/p-1824884.html