--------------------------------------------------------------------------------- 功能评估说明: --------------------------------------------------------------------------------- 一.简介 二.安装 三.卸载 四.更新 五.基本测试 六.高级测试 七.常问问题集 --------------------------------------------------------------------------------- 一.简介: --------------------------------------------------------------------------------- TEFS平台是是世界上唯一一个涵盖所有windows操作系统的,在Windows操作系统的文件系统层面上工作的一个核心态软件(在win9x/me下是VXD驱动架构,在winNT/2K/XP/2K3/Vista下是KM驱动架构),向整个系统提供实时的,透明的,动态的数据加解密服务. 未来,基于和战略合作伙伴的合作发展,还将提供全部类unix操作系统(包括所有版本的unix,AIX,freeBSD,linux等)上的TEFS平台. TEFS平台是核心态驱动软件,和应用程序具体形式无关,所以可以完全兼容任何文件格式和任何应用程序. TEFS平台可以对任意文件进行加密,并通过世界领先的基于文件本身内容的指纹智能识别技术和基于文件名识别技术结合,去识别一个文件是否是加密文件,从而提供透明加解密服务.并凭借该技术,可实现身份/身份组机制. TEFS平台支持指定访问加密文件明文的应用软件,访问加密文件密文的应用软件,拒绝访问加密文件的应用软件.使得可以使用Word直接编辑加密文档,也可以使用Outlook发送加密文件(密文形式). TEFS平台支持动态关闭开启内核,从而使得刻录光盘进行备份等重要应用得以实现(也可通过指定光盘刻录软件以密文方式访问加密文件来实现). TEFS平台不但支持本地文件系统,还支持网络文件系统.支持一台计算机既是客户机,也是服务器,将加密文件延伸到分布式文件系统. TEFS平台可以支持任意文件系统,FAT32,NTFS,CDFS等等. TEFS平台是高度可拓展的体系,支持任意软件加密算法,硬件加密器,混合加密算法等等,只要以二进制插件形式插入到TEFS平台中,TEFS平台就可以使用其作为加密策略(在TEFS体系中,一个具体的加密算法或者硬件加密器插件称为一个加密策略组件). TEFS平台本身提供了多种注册机制和验证机制,适合各种注册授权. TEFS平台从2003年推向市场,已经被众多软件开发商应用(包括众多国际巨型软件集团,国内巨型软件集团,以及军队和政府下的开发部门)基于TEFS平台的软件产品已经在军队,政府,公安系统,跨国公司,巨型事业单位,商用系统,娱乐软件等众多领域得到大规模应用,系统稳定可靠. 本文档致力于指导刚刚接触TEFS平台的开发商客户如何简单地评估TEFS平台. 必须指出的是,我们提供的功能示例远没有展示出TEFS平台上可能的应用,需要开发商根据文档和接口说明去决定,实现更多的应用. --------------------------------------------------------------------------------- 二.安装: --------------------------------------------------------------------------------- TEFS平台是多组件设计,各个组件可以分离地安装和运行.当某些组件未安装或未启动时,TEFS平台缺少相应功能,但是依然可以运行. 所以,要安装TEFS平台进行评估,可以有多种方法.下面描述两种方法: 1.分离地安装各个组件 1)安装TEFS内核平台 TEFS内核平台是运行于Windows操作系统内核层面的驱动软件,需要首先安装该组件. 执行开发包中的 \安装\TEFS1.61(Kernel)Build37.exe ,按照屏幕提示完成安装TEFS内核平台. 注意,请按照屏幕提示以需要重新启动计算机的方式完成安装. 2)重新启动计算机后,安装需要的加密策略组件,例如免费的SEAL策略和GOST策略,也例如专门针对CPF发行的ICTM策略. 加密策略组件向TEFS平台提供具体的加密算法或者加密硬件,应该视需要安装特定的加密策略组件. 执行开发包中的 \安装\SEAL.exe ,按照屏幕提示完成安装SEAL加密策略组件. 执行开发包中的 \安装\GOST.exe ,按照屏幕提示完成安装GOST加密策略组件. 执行开发包中的 \安装\ICTM.exe ,按照屏幕提示完成安装ITCM加密策略组件. 3)使用示例的控制软件进行评估 基于CPF库开发的控制软件是用来控制TEFS平台的一个控制软件,开发商通过开发控制软件可以利用TEFS平台来完成需要的各种功能. 有两个测试评估的示例控制软件: A.CPFNotepad 该示例控制软件,使用CPF开发接口完成工作,重点在于展示能读取加密的TXT文件却无法让用户拷贝走这些加密的TXT文件. 该示例控制软件的源代码位于 \示例\CPF库开发程序示例\CPFNotepad 下. 执行开发包中的 \示例\CPF库开发程序示例\Sample\CPFNotepad\Release\Notepade.exe ,参考后续部分进行测试评估. B.TEFS-C(透明加密器) 该示例只在DSF开发包中才提供源代码. 该示例控制软件,使用复杂的开发接口完成工作,重点在于展示灵活操作加密策略和TEFS内核平台的接口使用.透明加密器软件正是针对个人应用的一个共享软件. 但是,该示例控制软件并没有展示控制模型这一企业级功能的接口使用.该功能是主动安全文档保护系统的重要核心部分. 该示例控制软件的源代码位于 \示例\DSF库开发程序示例\TEFS-C 下. 要使用该示例控制软件进行测试评估,请安装 透明加密器 共享软件,并执行安装后的透明加密器主程序. 请参考2.使用集成安装包一次安装所有必须的组件. 2.使用集成安装包一次安装所有必需的组件 1)安装透明加密器软件 该集成安装包用于一次性向计算机系统上安装TEFS内核平台,SEAL和GOST加密策略组件以及透明加密器软件. 运行开发包中的 安装\TEFS1.61(Integrated).exe ,按照屏幕提示完成安装 注意,请按照屏幕提示以需要重新启动计算机的方式完成安装. 2)重新启动计算机后,安装ICTM加密策略 加密策略组件向TEFS平台提供具体的加密算法或者加密硬件,应该视需要安装特定的加密策略组件. 执行开发包中的 \安装\ICTM.exe ,按照屏幕提示完成安装ITCM加密策略组件. 3)使用示例的控制软件进行评估 基于CPF库开发的控制软件是用来控制TEFS平台的一个控制软件,开发商通过开发控制软件可以利用TEFS平台来完成需要的各种功能. 有两个测试评估的示例控制软件: A.CPFNotepad 该示例控制软件,使用CPF开发接口完成工作,重点在于展示能读取加密的TXT文件却无法让用户拷贝走这些加密的TXT文件. 该示例控制软件的源代码位于 \示例\CPF库开发程序示例\CPFNotepad 下. 执行开发包中的 \示例\CPF库开发程序示例\Sample\CPFNotepad\Release\Notepade.exe ,参考后续部分进行测试评估. B.TEFS-C(透明加密器) 该示例只在DSF开发包中才提供源代码. 该示例控制软件,使用复杂的开发接口完成工作,重点在于展示灵活操作加密策略和TEFS内核平台的接口使用.透明加密器软件正是针对个人应用的一个共享软件. 但是,该示例控制软件并没有展示控制模型这一企业级功能的接口使用.该功能是主动安全文档保护系统的重要核心部分. 该示例控制软件的源代码位于 \示例\DSF库开发程序示例\TEFS-C 下. 要使用该示例控制软件进行测试评估,请安装 透明加密器 共享软件,并执行安装后的透明加密器主程序. 请参考2.使用集成安装包一次安装所有必须的组件. --------------------------------------------------------------------------------- 三.卸载: --------------------------------------------------------------------------------- TEFS平台是多组件设计,可以单独卸载各个组件. 但是,ecoresoft只提供了一次卸载TEFS平台所有组件的功能. 安装TEFS平台后,在 windows的开始菜单中,可以找到安装时指定的程序组,例如 TEFS 程序组. 执行里面的 卸载 菜单,按照屏幕提示操作将可以卸载TEFS平台所有组件. 注意,请按照屏幕提示以需要重新启动计算机的方式完成卸载. --------------------------------------------------------------------------------- 四.更新: --------------------------------------------------------------------------------- TEFS平台是多组件设计,所以每次升级可能是对其中一个组件进行升级,也可能是对多个组件进行升级. CPF开发包中包括的组件有: TEFS内核平台(9x系列和NT系列) CPF库 加密策略开发包中包括的组件有: 各个具体加密策略组件 要更新上述各个组件,有两种方法: 1.重新安装 1)卸载TEFS平台,并重新启动计算机.参考 三.卸载. 2)重新安装TEFS平台的各个组件.参考 二.安装. 2.直接更新 开发包中并没有提供直接更新各个组件的工具软件,开发商需要手工来进行更新. 通常开发商需要自己制作一个更新工具软件,以完成在其客户的系统上对TEFS平台各个组件以及控制软件的自动更新. 这里仅仅描述手工更新所需要的工作步骤,开发商可以根据这些工作步骤来开发自动更新软件: 1)更新内核 在9x平台上,包括Win95,Win97,Win98,WinME,将开发包中的 \开发文件\TEFS平台内核\TEFS.vxd 拷贝到 %SYSTEM%TEFS.vxd;其中,%SYSTEM%是windows的system路径,例如C:\Windows\System; 在NT平台上,包括WinNT3.51,WinNT4.0,Win2K,将开发包中的 \开发文件\TEFS平台内核\TEFS2K.sys 拷贝到 %SYSTEM%Drivers\TEFS.sys;其中,%SYSTEM%是windows的system路径,例如C:\Windows\System32; 在NT平台上,包括WinXP,Win2003平台,将开发包中的 \开发文件\TEFS平台内核\TEFSXP.sys 拷贝到 %SYSTEM%Drivers\TEFS.sys;其中,%SYSTEM%是windows的system路径,例如C:\Windows\System32; 更新内核后,需要重新启动计算机才能使用新的内核. 2)更新CPF库 将开发包中的 \开发文件\CPF库\CPF.dll 拷贝到 控制软件所在的目录\CPF.dll; 3)更新加密策略 可以直接执行加密策略安装包来重新安装该加密策略. 也可以手工拷贝,下面以SEAL加密策略为例子说明: 对于加密策略内核,在9x平台上,将 SEAL.vxd 拷贝到 %SYSTEM%SEAL.vxd; 对于加密策略内核,在NT平台上,将 SEAL.sys 拷贝到 %SYSTEM%Drivers/SEAL.sys; 对于加密策略应用层,将 SEAL.dll 拷贝到 加密策略安装目录(一般位于控制软件下的 Strategy目录下)\SEAL.dll; 更新加密策略内核,需要重新启动计算机才能使用新的加密策略内核(第一次安装加密策略内核不需要重新启动计算机). 4)更新控制软件 控制软件是基于CPF库开发的,所以如果CPF库版本更新了,那么肯定需要更新控制软件. 控制软件需要使用新的CPF.lib进行编译链接. CPF.lib位于开发包中的 \开发文件\CPF库\CPF.lib; --------------------------------------------------------------------------------- 五.基本测试: --------------------------------------------------------------------------------- 使用示例的测试软件CPFNotepad进行基本测试. 1.软件功能: 这是一个可以查看加密txt文件的软件,加密的txt文件只能被该软件查看,无法拷贝出明文. 当该软件未启动时,拷贝加密文件只能拷贝到密文. 当该软件启动时,只能通过该软件查看加密的txt文件,通过其他方式访问该文件均被拒绝(例如使用资源管理器去拷贝加密txt文件,将被拒绝). 未注册版本只能在机器启动后,为30个加密文件服务. 示例的加密txt文件在EncryptTxt目录下;您也可以通过透明加密器制作自己的加密文件. 2.测试流程 1)将示例的加密TXT文件拷贝到D:\ 这并非必须的,但是因为示例的测试软件CPFNotepad已经在代码中预留了设置只有D:\EncryptTxt才透明服务(默认是注释掉的), 所以请将开发包中的 \示例\CPF库开发程序示例\Sample\EncryptTxt目录 拷贝到 D:\下.方便后面的测试. 当然默认,是对任意路径下的文件都可以透明服务. 您也可以在CPFNotePad的代码中打开这个设置,使得只对D:\EncryptTxt才透明服务. 2)用资源管理器拷贝加密的txt文件,并打开它查看,可以看到都是加密文件(乱码). 3)执行CPFNotepad 执行 \示例\CPF库开发程序示例\Sample\CPFNotepad\Release\Notepade.exe 4)在CPFNotepad的菜单中选择 文件/打开 ,选择 D:\EncrypteTxt 目录下的加密文件. 可以看到,在CPFNotepad中可以看到该加密文件的明文形式. 用资源管理器拷贝加密的txt文件,将被拒绝访问. 5)对文件进行编辑后,在CPFNotepad的菜单中选择 文件/保存. 该文件已经被保存,保存后依然是加密文件. 6)在CPFNotepad的菜单中选择 帮助/机器信息,可以通过公开接口得到本运行机器的硬件特征信息. 在CPFNotepad的菜单中选择 帮助/机器信息(私有),可以通过私有接口(安全性更高)得到本运行机器的硬件特征信息. 3.软件工作流程简述 1)连接到CPF; 在程序的启动时执行该功能; 执行如下工作: 连接到CPF,让内核开始工作; 配置只有本进程可以得到服务; 配置好策略(使用SEAL策略,密码justtest); 2)通过Help菜单下可以获取版本号,注册信息; 3)断开到CPF的连接 在程序试图退出时调用停止TEFS的工作; 有两个途径: 一个是关闭本程序的时候,一个是Windows要注销的时候. 在程序退出时,执行如下工作: 断开到CPF的连接; --------------------------------------------------------------------------------- 六.高级测试: --------------------------------------------------------------------------------- 1.使用自己的加密文件 请使用透明加密器加密一些文件,然后再使用CPFNotePad示例软件来查看这些加密文件. 2.只有某个路径下的文件可能是加密文件,需要由TEFS平台智能判断是否是加密文件. 某个路径下的文件肯定不是加密文件,无需TEFS平台智能判断. 所有路径下的文件都由TEFS平台智能判断是否是加密文件. 请参考 开发指南 ,使用指定列表技术来完成. CPFNotepad示例中,使用了该技术来限定只有 D:\EncryptTxt 目录下的文件才可能是加密文件,需要TEFS平台智能判断是否是加密文件从而提供服务. 而其他路径下的文件均肯定不是加密文件,无需TEFS平台智能进行判断. 3.使用内部加密策略和内存加密策略配置文件 提高密码发布的安全性;即使密码泄露,也无法通过透明加密器这一工具软件来解密文件. 请参考 内部加密策略指南.pdf 文档. --------------------------------------------------------------------------------- 七.常问问题集: --------------------------------------------------------------------------------- 1. 支持哪些应用程序,存储设备和操作系统? TEFS是内核层驱动,支持任意应用程序; 支持任意存储设备,包括硬盘,U盘,光盘,软盘,磁带机,网络存储等; 支持全系列Windows操作系统: 包括VXD驱动架构的win95,win97,win98,winme; 包括KM(WDM,LDM都符合KM架构)驱动架构的winNT,win2000,winxp,win2003以及未来的操作系统. 2. 支持哪些加密算法或者加密硬件? TEFS平台是开放式架构,通过外部插件的方式可以把任意一个软件加密算法或者硬件加密器插入到TEFS体系架构中. 任意一个加密算法,硬件加密器,或者混合算法,需要编写一个符合TEFS架构要求的插件软件,以能插入到TEFS体系架构中. TEFS支持序列加密算法,例如第三方免费提供的SEAL加密策略组件; TEFS支持分组加密算法,例如第三方免费提供的GOST加密策略组件;TEFS支持任意分组大小的分组算法; TEFS支持非对称算法,例如第三方提供的EIDS加密策略组件; EIDS使用电子信封模式(非对称算法和对称算法的混合算法)来支持身份/身份组机制; 如果要支持硬件加密器,例如USB Key,智能IC卡,PCI加密卡等,请根据该硬件设备或者微软的标准化接口文档了解该设备的使用方法, 并为之编写一个服务TEFS规范的加密策略组件(参考加密策略开发包);然后,TEFS平台就可以使用该硬件加密器进行工作了. 3. TEFS透明服务的时候会有临时文件么? 不会. 作为透明加密文件系统,透明的加密解密服务都是在内存中进行,不会产生任何临时文件. 4. 如果文件保存时候,存为一个任意后缀名,是否会加密保存? 是的,依然是加密的. TEFS不是通过文件名匹配的方式去决定一个文件是否是加密的,而是通过给加密文件内植入一个识别指纹来判断是否是加密文件. 因此,TEFS可以设置为对某个进程(应用程序)保存的任意文件都加密保存. 而在以后使用该加密文件的时候,TEFS也依然可以正确识别其是加密文件,并提供服务. 5. 通过网络共享,从装了TEFS的电脑上(客户机),把文件写到一个没有装TEFS的电脑(服务器)的共享文件夹,是否也会加密? 是的. 在<<使用TEFS(TM)平台构建应用系统.pdf>>中,我们明确描述过, 即使服务器端(就是其他电脑)上没有装TEFS,也一样保存到其他电脑是加密的. 因为TEFS是真正的网络分布式文件系统驱动内核,其在网络分布式文件系统层面上工作,使得在网络传播的数据就已经是加密的了. 注意,一些透明加密平台号称是支持网络,但其实是假的,其不是工作在网络分布式文件系统上,而是依赖服务器来进行加密. 这种方式的直接表现就是: 如果服务器没装该透明加密平台,那么从装了该透明加密平台的电脑上写文件到服务器上,将是明文写入,导致明文泄漏. 6. 通过网络共享,从装了TEFS的电脑上(服务器),把一个加密的文件读到没有装TEFS的电脑(客户机)上,是否为加密的密文? 是的. 因为TEFS是真正的网络分布式文件系统驱动内核,其在网络分布式文件系统层面上工作,使得在网络传播的数据就已经是加密的了. 所以,服务器给出的数据是加密的. 7. 加密的文档是否可以指定只有某些人或者组织可以使用? 可以. TEFS平台中,在加密文件内可以植入任意数据,这些数据可以由加密策略组件提供. 例如EIDS加密策略,就是通过对称加密算法和非对称加密算法构成的混合算法,使用电子信封模式来支持身份/身份组机制. 也就是说,可以给一个用户指定一个或多个身份,例如这个用户是eric,也是技术部的一员. 一个加密文档可以指定只能由某些身份使用,例如这个文档只能由mary,技术部的人员使用. 请baidu或者google一下"电子信封 非对称加密"了解相关理论. 8. 加密的文档是否可以指定不能读,写,打印等? 可以. 通过TEFS平台的厂商拓展模型,可以指定哪些进程,哪些身份(使用支持身份的加密策略组件)可以执行哪些动作(读,写,打印等). 9. 加密的文档是否在任意机器上,不需要对该机器进行配置,TEFS就可以知道其是加密文件,并能为之服务? 是的. 因为TEFS平台中,一个文件是否是加密的,是通过其内部植入的一个指纹来决定的,并且其使用哪个加密策略等信息都在文件内部, 所以,在任意一个机器上,TEFS平台都可以知道其是加密文件并为之提供服务. 10.是否可以对可执行文件(例如exe文件,dll文件)进行加密,并提供透明服务? 可以. 可执行文件是通过内存映射文件方式来进行读取的,TEFS平台工作于文件系统驱动层面,可以支持对内存映射文件的方式. 11.是否可以对使用内存映射文件方式访问文件的程序服务,例如notepad(记事本)? 可以. TEFS平台工作于文件系统驱动层面,可以支持内存映射文件的方式. 注意,一些透明加密平台是工作于系统API Hook方式的.这种方式的透明加密平台绝对无法支持内存映射文件的方式. 这种API Hook方式的表现就是: 无法支持内存映射文件的方式.而很多软件都是使用内存映射文件的方式来访问文件的,例如最常见的notepad(记事本)就是. 此外,可执行文件的加载执行均是通过内存映射文件的方式. 12.怎样处理复合文档的OLE链入,嵌入对象? 在TEFS平台下,不需要处理. 如果一个被OLE链入的对象,其也是一个机密的数据,那么应该也是被TEFS平台之前加密的. 例如,在word中链入excel表格(使用链入方式),这个excel表格本来就是在一个加密文件中(因为excel是需要控制的进程), 所以,这个excel加密表格是在外部加密的,被一个link到word中. 如果一个被OLE嵌入的对象,其因为要被直接写入这个文件中,那么将被TEFS平台加密. 例如,在word中嵌入excel表格(使用嵌入方式),那么这个excel表格被明文方式放入word文档的内存中, 然后保存到文件的时候也是一样加密保存. 13.怎样处理剪贴板中的拷贝和粘贴? 这个不是TEFS平台完成,这个是应用层面的.由开发商自己完成. 但是基于TEFS,这个是很简单的.做法如下: 进行Hook API,然后只要保证一点: 如果一个数据被copy时(通过Hook API可以得到这个调用时机,并得到调用这个copy动作的进程ID),是由一个明文访问许可的进程做的, 那么这个数据被paste的时候就也只能paste到明文访问许可的进程去. 这样做可以达到目的是因为,一个明文访问许可的进程你通常是设置为加密保存的,所以这些机密数据被粘贴到这样一个进程去, 保存的时候一样是加密保存的. 14.可以实现例如用word透明编辑加密文件是明文方式编辑,而用qq,outlook发送加密文件是密文方式么? 可以. 在TEFS平台下,你可以设置进程是要明文方式访问加密文件,还是密文方式访问加密文件. 所以,可以用word透明编辑加密文件,用outlook发送加密文件的密文形式. 15.假设word.exe是一个合法的明文打开加密文件的应用程序,如果我把qq.exe改为word.exe,那是否也是可以打开? 不可以. 可以通过设置控制模型时,指定进程的校验数据(就是对exe的指定位置进行数据校验),可以防止进程改名问题. 16.TEFS的性能怎样?对流媒体播放是否有性能影响? 作为透明加密文件系统,TEFS当然没有性能问题,因为其是应用程序需要多少数据就解密服务多少数据,而不是一次解密所有数据. 请参考<>中对性能的描述,可以看到只有千分之三的性能差别,这不会影响流媒体播放. 另外,TEFS平台的分段加密技术是用来能快速制作加密文件(把一个非加密文件通过控制台软件转变为加密文件),和透明服务的性能没有很大关系.