加密不再繁琐 文档随时加密

free message encrypter,简称为FME是一款免费的文本加密软件,它只包含一个“free_message_encrypter.exe”文件,是一款免费的绿色软件。你可以将其复制到优盘,随时随地独立运行。当运行FME时,必须在自动弹出的密码设置窗口输入密码(长度不少于8位),这里建议点击“confirm”按钮,完成密码的一次性设置。以后只要启动FME,必须重新设置密码,这样做虽然繁琐,但是安全性高。如果点击“save”按钮,可以将密码存储在本地,以后启动FME就不必输入密码了,这样虽然省去了频繁输入密码的繁琐,但是安全度很低,因为任何人都可以轻松解密你的机密数据。

这里为了便于说明,我们使用记事体作为编辑工具。在记事本最开头处输入“enc”(不包括引号),在其后面跟随加密的内容.

当执行加密操作时,将这些数据(包括”enc”)全部选中,点击“ctrl+c”键,FME既可以对待定的数据进行高强度加密。之后可以得到加密后的数据,可以看到,加密后的数据包含在”<fme_encrypted_msg”>和标识符之间,注意,在加密解密时必须关闭中文输入法。

当加密完成后,在系统托盘中的FME菜单中点击“exit”项,关闭FME,防止别人随意解密。当你需要解密时,可以运行FME,输入与之前加密时相同的密码。之后打开文档,选中整个加密数据块,包括其首尾的”<fme_encrypted_msg”>和标识符。点击“ctrl+c”键,FME就可以对其自动解密,并在解密窗口显示原始内容。

这种方法是了大的好处就是这款软件是免费的,可以一直使用。但是它的不利之处在于:
1.它的加密文档是乱码,而且不隐藏,这样,很容易被识认为是无用的文档,而被误删除。
2.每次都要重新设置密码,比较繁琐。

更为理想的一款加密软件是E-钻文件夹加密大师,它可以选择加密强度以满足快速加密或者是高强度加密的要求,可选是否隐藏,可以批量加密文件或者文件夹,非常高效。

钩子透明加密技术和过滤驱动加密技术

超时代视频加密软件系列产品均采用过滤驱动透明加密技术对大文件的视频流进行加密,完美地解决了加密强度与效率之间的问题,成为视频加密产品的行业标杆。

钩子透明加密技术

早期的透明加密的技术手段大多是通过API钩子技术进行,其工作方式为静态加密和重定向,基本思想为钩子程序拦截到受保护文件的打开操作,先将已加密的文件拷贝到一个临时目录中,然后告诉驱动程序把这个文件隐藏起来,然后解密这个文件,并将这个临时文件返回给打开文件的进程,这样打开的就是磁盘上的一个明文文件,用户程序可以进行正常的处理,这里文件是进行了整体的拷贝并解密;在文件关闭时,钩子拦截到以后,将那个明文的临时文件加密,然后再拷贝回来覆盖掉原文件。
简单的讲,就是打开文件时,将加密文件的副本拷贝到隐蔽位置,然后把这个文件解密、打开,保存时再把临时文件加密后覆盖原文件。这种加密实质上是通过临时文件来实现的,为了确保明文和密文之间的一致性,必须在每次用户存盘或者系统自动存盘的时候对整个文件进行一次整体加密和并复制到用户文件原来存储的位置,因此效率较低,且由于在计算机上保存了完整的明文文件,只要跟踪到临时文件所在位置即可能泄密,此外,文件在打开和存储过程中需要多次复制,效率损失很大,HookAPI的方式对于一些程序不能够完美的支持,兼容性有待考证。
由于文件映射的存在,在应用层进行动态加密比较困难,虽然原理上有一定的可行性,但是其加密效率、兼容性、可移植性、稳定性较之于内核层的过滤驱动加密要差很多,好处在于开发难度较小,网络操作能力强。

过滤驱动透明加密技术

1 驱动技术简介

过滤驱动加密技术是基于windows的文件系统过滤驱动(IFN)技术,工作在Windows的内核层。它是目前炙手可热的一门技术,其特点是技术门槛较高,需要深入理解windows系统内核,开发过程中稍有不慎就会破坏系统内核,因此核心技术仅被少数几家实力雄厚的公司所掌握。
文件过滤驱动是把文件作为一种设备来处理的一种虚拟驱动,WindowsNF系统内核采用堆栈式可扩展驱动模型J,原则上可以在任何一个层次上加载自己的过滤驱动,但是加载的层次不同,开发的难度和应用价值也不同,现在的技术主要还是加载在文件系统驱动的上层,这样就可以充分利用并扩充文件系统的现有功能],该技术在病毒实时监控与防护、数据备份与还原以及文件访问控制等领域都有着非常广泛的应用。
过滤驱动中几种非常重要的概念包括驱动对象、设备对象、设备堆栈、I/O堆栈,驱动对象标示驱动程序,设备对象记录加载的设备,一个驱动对象可以有多个设备对象构成设备对象链表,设备堆栈用于记录所有驱动程序的设备,I/O栈用来记录穿越设备堆栈时的操作属性,操作的对象为IRP(I/O Request Package),IRP包由系统的某个组件创建,类似于Windows应用程序的“消息”概念,要处理某种数据只需要把IRP包传送到相应驱动的相应派遣函数中。

2 加密的基本思想

在Windows NT内核操作系统中,应用程序的一次数据请求的过程如图2所示:只有在无缓存或者FAST I/O不可用的情况下才在硬盘上读取数据,因此只用拦截IRP->F1agS为IRP_NOCACHE(表示I/O请求从存储的媒介而不是高速缓存中读取数据)、IRP—PAGING—IO(表示此时执行内存页的I/O操作)和IRP—SYNCHRONOUS—PAGING—1O(表示内存页需要同步更新,此标志也是由内存管理器使用)的数据包,对于写数据的IRP包,在其分发例程中嵌入加密算法完成加密动作,而对于读数据的IRP包,在IRP包的完成例程中嵌入解密算法,对得到的数据进行解密处理。

3 写数据加密的实现

在用户写受保护的文件时,文件加解密客户端能透明地对文件写入的内容进行加密。加密文件判别模块判别出此文件为受保护文件后,将密钥传递给加解密过滤驱动,并由过滤驱动完成写操作。为了使过滤驱动能够加密对文件的写操作,需要拦截IRP—MJ—WRITE和IRP—MJ—DEVICE—CONTROL两种IRP。当应用层进程调用API:DeviceIOControl时,向系统发出IRP—MJ—DEVICE—CONTROL,过滤驱动可以通过处理此IRP获得传递给驱动的加密密钥,进而在拦截IRP—MJ—WRITE的例程中进行加密。
下面将分别介绍这两个例程的实现。
(1)处理IRP—MJ—DEVICE—CONTROL例程。
首先获得应用层程序在IRP中携带的输人数据其操作代码,如果携带了传递密钥的操作代码,例程将存储密钥,并直接完成此IRP,否则将IRP交给底层驱动处理。
伪代码如下:
NTSrATUS EneryptDeviceControl(INPDEVICE—OBJECT DeviceObiect,IN PIRP Irp)
{
PVOID inputBuffer;
ULONG inputBufferLength;
Irp->loStatus.Smtus=STATUS—SUCCESS;
Irp->loStams.Information=O;
ioControlCode=irpStack->Parameters.DeviceIoContro1.IoControlCode;
inputBuffer=Irp->AssociaredIrp.SystemBuffer;
inputBufferLength=irpStack->Parameters.DeviceIoContro1.InputBufferLength;
if(ioControlCode==INPUT—KEY)
{
SetKey(inputBuffer);//将输入的加密密钥保存起来
IoCompleteRequest(Irp,IO—NO—INCREMENT);//完成此IRP
Return STATUS-SUCCESS;
}
//接下来将IRP继续下发传递给下层的驱动处理
……
……
}
(2)处理IRP—MJ—WRITE例程。
需要区分IRI携带数据的两种方式,由MDL结构指定或直接包含数据的指针。
其实现的伪代码如下:
NTSTATUS EncryptWrite(IN PDEVICE-OBJECT DeviceObject,IN PIRP Irp)
{
……//完成初始化的工作
PIO—STACK—LOCATION irpsp=loGetCurrentIrpStackLocation(Irp);
switch(irpsp->MinorFunction)
{
case IRP—MN—N0RMAI;
{
if(Irp->MdlAddmss!=NULL)//判断写的数据是否是在MDL结构中
{
产生一个新的MDL结构,将其指向一个加密后的数据库,并将Irp->MdlAddress指针指向新的MDL结构
}
else
{
buffer=Irp->UserBuffer;
Encrypt(buffer,GetKey());//加密所写的数据
}
……//其它的必要操作
}
3.4 读数据解密的实现
在用户读受保护的文件时,文件加解密客户端能透明地对读出的原始内容进行解密。加密文件判别器判别出此文件为受保护文件后,将密钥传递给加解密过滤驱动,并由过滤驱动完成读操作,和写操作类似,需要拦截IRP—MJ—WRITE和IRP一MJ一DEVICE—CONTROL两种IRP。IRP—MJ—DEVICE-CONTROl例程的用途和实现方式和加密时相同。过滤驱动拦截IRP—MJ—READ的例程中进行加密。IRP—MJ—READ例程的实现需要利用完成例程,在完成例程中完成加解密过程。
下面将介绍这个例程的实现。
NTSrATUS EncryptWrite(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)
{
……初始化操作
KeInitializeEvent(&waitEvent,NotificationEvent,FALSE);
IoCopyCurrentIrpStackLocationToNext(Irp);
loSetCompletionRoutine(IrP,EncryptReadCompletion,&waitEvent,TRUE,TRUE,TRUE);//设置完成例程
status=IoCallDriver(devExt->AttachedToDeviceObject,Irp);
if(STATUS—PENDING==status)
{
status=KeWaitForSingleObject(&waitEvent,Executive,KernelMode,FALSE,NULL);//等待完成例程发出的解密完成消息
}
IoCompleteRequest(Irp,IO-NO—INCREMENT);
ReturnSTATUS—SUCCESS
}
代码中首先初始化一个消息事件,将消息事件作为参数传递给完成例程,接着调用底层驱动获得读出的数据,IRP返回后系统将启动一个新的线程来执行完成例程。
主线程等待消息事件,同时完成例程执行数据的解密操作,解密完成后完成例程发送消息事件,这样主线程被唤醒并正常返回。
完成例程的伪代码如下:
NTSTATUS SfReadCompletion(IN PDEVICE—OBJECT DeviceObject,IN PIRP Irp,IN PVOID Context)
{
PKEVENT event=Context;
ASSERT(IS—MY—DEVICE—OBJECT(DeviceObject));
……//完成初始化的工作
PIO—TSACK—LOCATION irpsp=IoGetCurrentIrpStackLocation(Irp);
switch(irpsp->MinorFunction)
{
case IRP—MN—NORMAL;
{
if(Irp->MdlAddress!=NULL)//判断读的数据是否是在MDL结构中
}
产生一个新的MDL结构,将其指向一个解密后的数据块,并将Irp->MdlAddress指针指向新的MDL结构,从而返回被解密的数据
}
else
{
buffer=Irp->UserBuffer;
Decrypt(buffre,GetKey());//解密文件
}
……//其它的必要操作
KeSetEvnet(event,IO—NO—INCREMENT,FALSE);//向主例程发送完成解密的消息
return STATUS_MORE_PROCESSING_ERQUIERD;
}

文件透明加密技术简介

文件透明加密技术是近些年针对企业文件保密需求应运而生的一种文件加密技术,区别于常见的文件密码加密。所谓透明,是指对用户而言加解密过程不会被觉察,当用户打开或编辑受保护文件时,系统将自动对未加密的文件进行加密,对已加密的文件解密。文件在硬盘上以密文形式存储,在内存中则为明文,一旦改变使用环境,由于无法获得自动解密服务而无法打开,从而达到保护文件内容的目的。

 

透明加解密技术是与操作系统紧密结合的一种技术,wjndows允许程序设计人员在内核和用户两个级别操作文件,因此,加密进程就可以在这两个层次截获文件读写操作,嵌入自己的加密算法进行加解密,通常应用级别的截获采用APIH0()K(俗称钩子)技术,称为钩子透明加密,内核级采用文件过滤驱动,称驱动加密。两者的加密层次如下图所示。

 

图: 钩子透明加密和驱动透明加密的截获文件操作的层次

 

钩子透明加密和过滤驱动加密是目前两种主流的透明加密方法,二者的区别在于截获文件操作的位置不同,比较而言过滤驱动加密效果更好,但是实现的难度也相当的大,在安全领域具有很高的研究价值和实用价值。

 

超时代旗下视频加密软件手机视频加密u盘防复制软件共享资料保护专家等均采用先进的加密算法,保护企业文档的安全。

透明加密技术在企业信息保护中的应用(三)

( 3)透明加密与解密过程
1.加密过程
透明加密的过程与传统的加密一样, 在进行加密时, 也必须改变文件的内容, 只有这样才能起到保护作用。在这个过程中, 使用密码或者专用加密硬件作为内容变化的依据。例如: 磁盘上存在一个abc. txt的文本文件, 内容为”123456. . . “, 使用加密软件对它进行加密, 加密后文件的存储内容成为“$ &* #@ )…”。
2. 解密过程
与传统加密相同, 透明化加密软件所具有的解密功能也是彻底解密, 即彻底恢复文件的原本内容。进行解密时, 软件要求进行密码的检核或加密硬件的连接。虽然与传统加密软件的解密在实质上相同, 但具体使用上却有天壤之别: 在传统加密中, 每次使用加密文件时, 必须要先解密文件。当加密文件被认为不再属于隐私文件或机密文件, 也要进行解密以后才可以使用。而在透明加密中, 每次使用加密的文件, 需要使用透明化功能, 不需要用户自己解密, 只有当被加密的文件被认为不在属于隐私文件或机密文件的时候, 才需要解密文件。
( 4)透明加密技术的关键指标
透明加密技术的评价一般可采用以下要素, 各要素的重要度从高到低排列如下:
1. 可靠性和稳定性
可靠性就是要保证: 无论在任何情况下, 被加密的文件不能被损坏。这是企业选用加密软件的基础。在日常应用中本来就存在不稳定因素, 可能造成计算机文档的损坏, 例如: 掉电、误删除等, 透明加密软件产品如果程序写得不够好, 考虑得不够周全,会加大操作系统原有故障产生的概率。
所谓稳定性是指: 安装了加密软件后, 客户端不能动辄出现蓝屏、崩溃、重新启动等不稳定的症状。不稳定的情况在目前阶段恐怕无法完全避免, 但不能影响到正常使用。如: 某版本的加密软件, 用户按照某个固定的顺序执行一个应用操作后, 系统肯定会重新启动, 在找到问题之前, 用户可通过建立规范等管理手段, 要求员工不要按照这个流程来操作。判断加密产品可靠性和稳定性的方法: 搭建足够复杂的测试环境, 模拟企业应用实际操作, 通过极限测试和压力测试来判断。
2.效率
采用透明加密软件后, 用户在进行实际操作的时候, 在打开和关闭文件、存盘、复杂计算等操作时,速度不能受到太大影响。因为加密软件直接接管了客户端的文件读写, 其执行效率直接影响用户的实际工作效率, 例如: 编辑一个文档, 如果本来保存需要5秒, 现在安装了加密软件后, 保存文档需要 5分钟, 恐怕所有用户都不会使用。使用加密软件必然存在效率的损耗, 要看效率损耗有多少。这一点和杀毒软件类似。判断加密产品效率的方法是: 模拟企业应用实际操作, 用最大、最复杂的文件
作为测试对象, 通过比较采用加密产品前后执行存盘等操作的时间差异来判断效率的损耗。
3.安全性
这里谈到的安全性主要针对透明加密对象, 主要体现在以下几个方面:
一方面加密的文件本身要保证安全, 文件的明文不能被复制。不少加密产品不但对内存中的文档进行了保护, 同时通过封锁出口等其他的方法防止重要文档的泄密。
window s操作系统有很多种应用之间交换数据的方法, 安全性的另一方面体现在对这些数据交换方法的控制, 包括: 如何控制剪贴板复制和粘贴、程序之间的拖拽、通过OLE交换数据等, 其核心又包括两部分内容, 一是涉密的应用与非涉密应用之间的数据交换应当只进不出, 如: 如果 word文档如果被加密, 则其中的内容不能被粘贴到非涉密的qq中, 或者粘贴到 qq中的文本应当是乱码; 二是加密软件之间还应当能通过系统提供的数据交换方法进行正常的数据交换, 如: word和 excel都是加密的,从word可以正常粘贴数据到 excel中。
安全性的第三方面体现在文件打开后要防止屏幕的拷贝, 但是这种控制力度是有限的, 一方面截屏的方法很多, 除了屏幕拷贝键Print Screen以外, 还有很多中屏幕拷贝软件, 如:Hprsnap等, 甚至有方 法直接截取显卡的显示内存中的内容将其还原为图片, 还有一种最为简单的方法是基于W indow s文件系统过滤驱动的文件加/解密技术 的: 用手机或者数码相继直接拍照。所以说这种方法一般很难保证全部控制, 只能点到即止, 而且过于严密的控制会影响到用户的正常使用, 这种情况加密产品应当避免。
安全性的第四个方面体现在透明加密产品的解密机上, 所谓解密机就是一把万能钥匙, 得到授权的使用者可以用来批量还原被加密的文件, 假设 A、B两家企业采用了同一个透明加密产品, 则既要保证在任何情况下, A 用户加密的文档能够被自己还原,又要保证A 用户的万能钥匙无法解开 B用户的加密文件。
4.方便性
方便性主要体现在两个方面: 一方面是对于系统维护人员而言, 加密产品在部署、配置、升级、维护等管理方面的是否简单便捷; 另一方面是对于用户来说, 加密和解密在操作上是否简单, 是否真正实现了对用户透明。
5. 防卸载
目前针对透明加密软件存在较多诟病的地方在于其防卸载能力方面, 少数员工未经许可, 私自终止透明加密客户端的运行成为企业关注的问题。其实, 从透明加密产品的研发思路来看, 透明加密产品在防止卸载方面要求过高必要性不大, 因为透明加密在用户需要保密的区域 ( 比如: 某个部门或者整个企业)和应用( 比如: CAD 图纸)整个范围内, 所有相关类别的文档自生成之日起, 在计算机中就以加密方式存在的, 如果用户私自卸载了客户端, 至少他无法打开其他被加密的文档。
随着企业信息化的进一步推进, 企业信息的安全问题也成为众多企业的关注问题, 透明加密技术,视频加密软件,u盘防复制软件等可以在一定程度上保护企业信息的安全, 但是要真正杜绝企业信息的泄密, 这依然是很难达到的, 未来的透明加密技术应该在设计良好加密算法的基础上, 和其他相关知识如操作系统等进行结合, 获得更好的保护效果。

透明加密技术的分类比较

从底层技术来看, 透明加密产品可分为采用钩子模式和采用驱动模式的两种流派,两种加密技术由于工作在不同的层面, 从应用效果、开发难度上各有特点。

* 钩子透明加密技术

所有Windows应用程序都是通过 windows API函数对文件进行读写的。程序在打开或新建一个文件时, 一般要调用 windows的Create File或Open File、Read File等Windows API函数; 而在向磁盘写文件时要调用Write File函数。

同时windows提供了一种叫钩子 ( Hook) 的消息处理机制, 允许应用程序将自己安装一个子程序到其他的程序中, 以监视指定窗口某种类型的消息。当消息到达后, 先处理安装的子程序后再处理原程序。

钩子透明加密技术就是将上述两种技术组合而成的。通过windows的钩子技术, 监控应用程序对文件的打开和保存, 当打开文件时, 先将密文转换后再让程序读入内存, 保证程序读到的是明文, 而在保存时, 又将内存中的明文加密后再写入到磁盘中。

钩子透明加密技术与应用程序密切相关, 它是通过监控应用程序的启动而启动的。一旦应用程序名更改, 则无法挂钩。同时, 由于不同应用程序在读写文件时所用的方式方法不尽相同, 同一个软件不同的版本在处理数据时也有变化, 钩子透明加密必须针对每种应用程序、甚至每个版本进行开发。目前不少应用程序为了限止黑客入侵设置了反钩子技术, 这类程序在启动时, 一旦发现有钩子入侵, 将会自动停止运行。驱动加密技术基于windows的文件系统(过滤)驱动(FS)技术, 工作在windows的内核层。我们在安装计算机硬件时, 经常要安装其驱动,如打印机、U 盘的驱动。文件系统驱动就是把文件作为一种设备来处理的一种虚拟驱动。当应用程序对某种后缀文件进行操作时, 文件驱动会监控到程序的操作, 并改变其操作方式, 从而达到透明加密的效果。

* 驱动透明加密技术

驱动加密技术与应用程序无关, 他工作于 w in- dow sAPI函数的下层。当API函数对指定类型文件进行读操作时, 系统自动将文件解密; 当进入写操作时, 自动将明文进行加密。由于工作在受 w indow s保护的内核层, 运行速度更快, 加解密操作更稳定。

但是, 驱动加密要达到文件保密的目的, 还必须与用户层的应用程序打交道。通知系统哪些程序是合法的程序, 哪些程序是非法的程序。驱动透明加密工作在内核层。

驱动加密技术虽然有诸多的优点, 但由于涉及到w indow s底层的诸多处理, 开发难度很大。如果处理不好与其他驱动的冲突, 应用程序白名单等问题, 将难以成为一个好的透明加密产品。

* 两种技术比较

两种加密技术由于工作在不同的层面, 从应用效果、开发难度上各有特点。下表从几个方面进行了简单比较:

表 1钩子透明加密与驱动透明加密比较表

项目 钩子透明加密 驱动透明加密
工作层面 用户层 内核层
工作方式 Hook应用程序和文件类型 接受系统IRP进行处理
与应用程序关联性 直接与程序工作方式相关,对新应用程序加密或应用程序升级可能需要再开发。 与程序工作方式无关,但监控应用程序名单。
加解密可靠性 应用层加解密,大文件易死机。速度慢。 内核层加解密,受windows保护,稳定性较好,速度快。
网络操作能力 不受限制 需要专门处理

开发难度 Hook技术, 相对较容易 驱动技术, 开发难度较大。采用钩子模式开发相对容易, 但由于控制的层面较高, 很多底层的操作难以控制, 和各种应用程序之间的兼容性需要特殊处理。所以相对容易受到应用版本的限制, 一旦应用修改了读写方法, 加密软件必须跟着修改。

采用驱动模式是从更为底层的层面进行控制,可以获得更高的安全性和效率, 但是技术难度很大。底层的操作需要顾及系统的各个层面之间的协调处理, 由于驱动中程序的健壮性更多由程序本身决定, 难以依赖操作系统对错误进行处理, 如果这个驱动存在缺陷或者被某些程序异常终止 (例如出现未预料的错误), 在系统底层无任何保护措施的环境下, 最直接的后果就是系统蓝屏崩溃。

透明加密技术在企业信息保护中的应用

作者:陈锦屏,毕媛媛 整理:超时代软件

网站标签:视频加密软件, 手机视频文件加密金盾视频加密器, 共享文件夹设置密码局域网共享软件, 共享文件夹加密专家u盘防复制

随着计算机的深入应用、企业信息化程度的提高,对企业核心数据安全的保护与采用手工工作方式的时代相比较也提出了更高的要求。其中内网信息安全也因其重要性成为众多企业关注的焦点。然而企业很难做到有效控制员工将数据外流泄密的行为,因为无论企业采用什么样的方式进行监控防堵,总是防不胜防,总有疏忽的时候。因此可以采取文件加密方式,使其就算把数据外流出去,也将变成无法解密的垃圾数据。透明加密技术就是在这种背景下应运而生的。

一、企业信息泄密概述

在现今企业的泄密事件中,内部人员的泄密是其中的一个重要原因。这主要有以下原因:

1.泄密途径增加,泄密手法更加隐蔽
随着企业的信息化水平越来越高,企业对计算机和网络的依赖程度也日益增强,因此相应泄密的途径也随之大量增加。一封电子邮件或者一个U盘就足以将企业的重要信息泄露出去。而在管理不严格的单位,这种泄密在当时很难被察觉,等到察觉时往往已经对企业造成重大损失。

2.企业安全意识不够
在企业信息化应用深入的同时,部分企业的安全意识和防护能力并没有得到同步加强,一些企业仍然对员工计算机管理采用放任自流的态度,将计算机作为一种普通的工具来看待,对于IT制度建设和日常管理的重要性认识不足,IT部门的重要性远不如一线的设计、生产部门,即使建立了IT管理制度,也没有得到较好的贯彻和执行。

3.传统安全保密技术的滞后
由于各类信息化应用的普及,企业内部网络成为自有知识产权的主要载体,传统的以纸张保密为基础的监控手段无法适应新环境的保密要求;但是防火墙、入侵检测和漏洞扫描等对于来自内部的安全隐患也无计可施。

二、透明加密技术

透明加密技术就是针对企业信息保密需求应运而生的一种文件加密技术。所谓透明,是指对使用者来说是未知的。当使用者在打开或编辑指定文件时,系统将自动对未加密的文件进行加密,对已加密的文件自动解密。文件在硬盘上是密文,在内存中是明文。一旦离开使用环境,由于应用程序无法得到自动解密的服务而无法打开,从而起到保护文件内容的效果。

1.透明加密技术的由来

其实,针对企业信息的加密的研究,在很早之前就有,当时主要是通过主动式加密的方法对信息进行加密。主动式加密由信息作者进行加密。例如:WORD、EXCE等软件都允许用户通过设置密码对文档的阅读和修改权限进行控制;也有一些工具允许用户对计算机的文件夹进行加密,防止非授权用户查看。这种主动加密功能相对简单,实现也比较容易,但是对于企业内部员工的泄密是无法防范的。

透明加密技术主要是针对这种主动加密的缺陷而产生的,其属于被动式加密类产品,其主要思路是:在局域网中,只要部署了该产品,在涉密范围内的文档,在用户使用时会强制自动加密。其基本过程是:当应用向计算机磁盘写文件的时候,对写的结果进行加密;而应用在读取文件的时候,对文件进行解密。以保证涉密文档在离开了企业环境或者用户不具备授权时无法查看;或者将所有涉密文档转换成为专有格式,并存放到服务器上,用户需要察看涉密文件,如同在档案室借阅文档一样。

2.透明加密原理和分类
(1)透明加密原理
透明加密技术是与Windows紧密结合的一种技术,它工作于Windows底层。通过监控应用程序对文件的操作,在打开文件时自动对密文进行解密,在写文件时自动将内存中明文加密并写入存储介质,从而保证存储介质上文件始终处于加密状态。

微软Windows采用事件驱动的机制,通过消息的传递来实现对应用的管理。其中监控windows打开(读)、保存(写)可以在windows操作文件的多个层面上进行。例如:32位CPU定义了4种(0~3)特权级别,或称环(ring)。其中0级为特权级,3级是最低级(用户级)。运行在0级的代码又称内核模式,3级的为用户模式。常用的应用程序都是运行在用户模式下,用户级程序无权直接访问内核级的对象,需要通过API函数来访问内核级的代码,从而达到最终操作存储在各种介质上文件的目的。为了实现透明加密的目的,透明加密技术必须在程序读写文件时改变程序的读写方式。使密文在读入内存时先转换成为明文,以便应用程序能够识别;在保存时又要将明文转换成密文,以达到保密的效果。

Window允许编程人员在内核级和用户级对文件的读写进行管理,内核级采用虚拟驱动的方式,用户级采用HookAPI(俗称钩子技术)的方式。因此,透明加密产品根据其采用的核心技术包括APIHook和VDM(WindowsDriverModel)内核设备驱动挂载方式(俗称驱动技术)。透明加密软件通过监视涉密应用的磁盘读写,对文档进行动态的加密和解密,由于这些操作都在后台自动完成,除了速度可能降低外,用户在使用方式上与平时没有差异。

编程上可以在两个技术层面对文件的操作进行控制,内核层和应用层,内核层采用文件驱动的方式,应用层采用HookAPI的方式。因此,透明加密产品根据其采用的核心技术包括APIHook和VDM内核设备驱动挂载方式。透明加密软件通过监视涉密进程的磁盘读写,对保密文档进行动态的加密和解密,由于这些操作都在后台自动完成,除了速度可降低外,用户在使用方式上与平时没有差异。

文档加密技术和透明加密软件发展趋势研究

1.前言
随着计算机的普及和网络的发展,标志了人类社会进入了信息化时代,无纸化办公系统被越来越多的组织和个人所认可并得到广泛应用;但随之而来的一个问题就是:人们如何保护信息资源免受各种类型的威胁、干扰和破坏,即保证信息的安全性 。要解决这个问题方法有两种,一是封堵信息出口,使之不被泄露出去,阻止非法用户接触到信息资源;二是对信息进行加密,使之即使遭到泄露也将处于安全可控状态,不被非授权用户所读取。由于信息的传播和泄露途径众多,难以进行完全封堵,因此对信息进行加密存储是确保信息安全最重要的技术措施之一,是信息安全的关健核心技术 。
2.信息加密技术介绍
数据加密的基本过程就是对原来为明文的文件或数据采用某种算法进行处理,使其成为一段不可读的代码,通常称为 “密文”,只能在输入相应的密钥之后才能显示出本来内容;该过程的逆过程为解密…。透明加解密技术是近年来针对企业文件保密需求应运而生的一种文件加密技术。所谓透明,是指对使用者来说是不可见的。当使用者在打开或编辑指定文件时,系统将自动对未加密的文件进行加密,对已加密的文件自动解密。文件在硬盘上是密文,在内存在中是明文。一旦离开使用环境,由于应用程序无法获得自动解密的服务而无法打开,从而起到保护文件内容的效果。
透明加解密技术是与操作系统紧密结合的一种技术,它工作于操作系统底层,从技术角度看,可分为内核级加密和应用级加密两类。
2.1应用层加密
应用层加密技术基于Wind0ws操作系统的API hook技术开发,通过windows的钩子技术,监控应用程序对文件的打开和保存,当打开文件时,先将密文转换后再让程序读入内存,保证程序读到的是明文,而在保存时,又将内存中的明文加密后再写入到磁盘中。其本身是跟应用软件有紧密关系的一种方式,它是通过监控应用程序的启动而启动的,技术开发难度小,相对简单,网络操作能力不受限制,但也正是其与应用程序紧密相关性,使其工作的有效性跟应用程序的版本联系非常紧密,如果版本变化,或应用程序名更改,则无法挂钩,导致加密的失效,同时,由于不同应用程序在读写文件时所用的方式方法不尽相同,同一软件不同版本在处理数据时也有变化,钩子透明加密必须针对每种应用程序、甚至每个版本进行开发。另外对于大文件操作时速度较慢,且容易被应用软件误认为是病毒或者黑客利用hook侵入而终止软件运行。
2.2驱动层加密
驱动层加密技术是基于windowS的文件系统 (过滤)驱动 (IFS)技术,工作在于windowsAPI函数的下层 。驱动加密技术与应用程序无关,当API函数对指定类型文件进行读操作时,系统 自动将文件解密;当进入写操作时 , 自动将 明文进行加密 。由于工作在受windows保护的内核层,运行速度更快,加解密操作更稳定和更安全可靠,即使对大文件进行操作也不会死机,但基于Windows操作系统内核开发的驱动层加密,开发难度大,对网络操作能力,需要专门处理.
3.前景展望
透明加密技术作为一种新的数据保密手段,自出现以来,得到许多信息安全公司的热捧,也为广大需要对敏感数据进行保密的客户带来了希望,市场份额逐年上升;经过几年的实践和摸索,客户对安全软件开发商提出了更多的要求,为透明加密技术未来的发展指出了新的方向。本文就五个方面对透明加密软件的发展动向进行了简要的分析。
3.1驱动层加密技术成为透明加密的主流技术
应用层透明加密技术和驱动层加密技术的特点使得驱动层透明加密技术有着更多竞争上的优势,其在加密过程中所体现的稳定性、安全性和使用方便性已经被使用者所认可,并通过市场手段逐渐展现,加密软件厂商也将逐步认识到这点,于是将会有越来越多的厂商转而研发驱动层加密技术,促进驱动层加密技术发展 。
3.2高级加密算法 (AES256)被普遍使用
加密技术最明显的作用就是提供机密性和可靠性 ,作为DES的替代方案,AES是一个迭代的对称密钥分组的密码 ,它可以使用128、192和256位密钥,作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点,已经被多方分析且广为全世界所使用,也将被越来越多的加密厂商所采用。超时代视频加密软件共享文件夹加密软件等各类企业级及个人软件均采用此种高级加密算法,确保其可靠性。
3.3加密控制策略更加灵活,操作更加人性化
在企业管理越来越人性化的今天,一成不变的强制加密技术虽然可以控制单位内部敏感数据泄密,但缺乏灵活性却饱受垢病,客户期待能 自主、灵活的设置加密控制策略。比如,雇主需要能打开员工加密的密文,但 自己电脑上不加密,又或者单位高层领导可以自主选择是否对编辑中的文件进行加密,并能 自由在强制加密与不加密间切换,这就促使加密软件厂商对加密控制策略不能局限于强制加密一种手段,而是要更加灵活地进行配制。
3.4密文 自动备份成为必备功能
数据存储是个复杂的过程。透明加密软件对Windows操作系统的存储和读取进行干预,难免不会出现这样那样的问题,导致加解密过程失败,甚至对文件造成无法挽回的损失。一旦文件造成无法挽回的破坏、或经常出现需要对异常密文进行修复的情况,将直接影响客户的正常工作,因此密文的自动备份可 以作为预防措施。
3.5密文管理精细化
在一些单位,不但要求内部数据不能外传,还要在部门间或项 目组之间相互保密,而上级部门或领导又要能打开不同部门的密文,这就使得一个单位 只有一个密钥无法满足需求。于是便要求加密时做到密文分级的管理,使 同一单位 内部拥有多个密钥 ,相互不能解密,但通过赋予某一职权人 (如上级领导等)同时拥有多个密钥,其就可以对相应的文件进行加解密操作。
同时,单位 内部还涉及到不同的人对密文的控制权限不同,如项 目组人员可以编辑相关的文件,但项 目周边相关人 (如车间主任等)只拥有访问的权限,所以在加密中集成权限理将是未来用户的普遍需求。
4.结论
随着信 息安全被人们 日益重视,文件保护是最重要的 目的。透明加密软件作为新型安全软件产品,已经得到广大客户的认同,市场需求不仅在现有层面上不断扩大,我们有理由相信,透明加密软件会象其它软件一样,产品会越来越完善,功能定位会越来越明确,并最终成为广大企业和个人计算机用户的 “标准配 置”软件。

透明加密关键技术分析

2.2 HOOK技术分析
HOOK是捕获应用程序消息处理的技术,俗称钩子技术。它允许应用程序安装一个子程序到其它的程序中,以监视指定窗口某种类型的消息。当消息到达后,先交给钩子程序处理,然后再交给原程序处理,如图2所示。
HOOK技术主要包括用户模式下的APIHOOK技术和核心模式下的HOOK技术两类。在用户模式下,应用程序进程通过WindOWSAPI函数库,如Kernel32、User32、Gui32、Advapi.dll等动态链接库提供的丽数,形成其私有的导人地址表 (ImportAddressTable),并通过 IAT访问系统核心。API HOOK技术就是通过访问应用程序的私有地址,改变应用程序的IAT,即可过滤应用程序消息处理,完成加密和解密操作。在核心模式下,通常通过HOOK系统服务描述表(System Service Dispatch Table,SSDT)、中断捕述表 (Interrupt Description Table)和IRP(I/O Request Package)函数表来实现过滤操作。
  采用HOOK技术进行透明加密的特点足实现简单,但缺点是可靠性差,速度比较慢,而目必须针对每种应用程序、甚至每个版术进行定制开发。
2.3 驱动过滤技术
  如图l所示.Winf¨ws的内核驱动是分层的,每层驱动只有一个驱动对象,每个驱动对象可以包含多个设备对象,若干个设备对象(可以属于不同的驱动)依次绑定形成一个设备栈,最顶端的设备总是先接受到数据处理请求,处理完后依次向下传递. IRP(I/O Request Package,输入/输出请求包)是上下级设备间传递请求的重要数据结构。应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将I/O请求转化为相应的IRP数据,各层驱动程序根据自己的功能分部对1RP数据进行处理2。如果在不影响上下层驱动接口的情况下,在windows系统内核中加入新的驱动层,将新的驱动层设备对象加入到设备栈的相应位置,就可以捕获IRP数据,进行加解密处理后再向下传递,就可达到数据透明加密的目的  通过在不同驱动层加入过滤驱动,可以实现不同的透明加密技术.目前驱动过滤技术上要分为文件驱动过滤技术和内核级沙盒加密技术。
2.4 文件驱动过滤技术
  文件过滤驱动加密技术是在最高层驱动程序中加入过滤驱动,一般挂载在磁盘驱动之上,其主要目的是捕获windows系统对文件的种种操作行为,比如文件的创建、打开、读/写、改名,目录的创建、打开、枚举、改名、删除等。捕获对文件的操作,并对其进行过滤,能实现许多强大的功能,比如检查病毒、数据加密、数据备份、安全监控等。
    文件过滤驱动加密技术运行在受Windows保护的内核层,加、解密速度比HOOK技术快,解决了HOOK技术不能解决的问题,但稳定性一直不太理想,比如大文件破损、多进程软件同时操作某个文件时,一个进程加密,另一个进程不加密,交替访问文件,极易造成异常等。
2.5 内核级沙盒加密技术
    沙盒的实质就足一个虚拟空间。用户首先创建一个虚拟空间.在使用过程中,所有格式的涉密数据、文件等都可以放入这个虚拟空间,存入的时候,自动加密,读取时自动解密。这个虚拟空间是透明的,使用者感觉不到它的存在。内核级纵深沙盒加密技术融合了磁盘过滤驱动技术,卷过滤驱动技术,文件过滤驱动技术,网络过滤驱动(NDIS/TDI)技术等一系列内核级驱动技术,从上到下,纵深防御加密,每层驱动只做自己最擅长的工作。
    内核级沙盒加密技术的特点是,在使用前,要先初始化沙盒,创建成功之后,所有的文件,不论什么格式,都可以自动加、解密,所以无数据破损等问题,特点是加解密速度快,稳定,但技术相当复杂,研制难度较大。
3 透明加密技术的发展要求
  透明加密技术作为一门新兴的技术,正不断被应用到各个领域,但随着信息技术的不断发展和应用需求的不断变化,对透明加密技术也提出了更高的要求。
    1)透明加密效率必须不断提高
    计算机处理能力不断提升,磁盘存储空间越来越大,单个文件大小也越来越大,像一些设计类图纸,单个文件大小可达几个G。如何提高透明加密效率成为了必须要考虑的问题之一。
  2)应用系统支持要求越来越广
  Windows64位、LINUX、UNIX等计算机操作系统不断普及,苹果OS、Android、塞班等手机操作系统得到广泛应用,用着重考虑透明加密技术在这些平台上的应用。
  3)从单一加密向全方位发展
透明加密技术在加密方面表现出了其良好的特性,但对于数据泄漏防护而言,单一加密是不能满足需求的,还应该从内部网络授权访问,文件防打印、拷贝、网络发送扩散控制,预防木马和病毒等方面进行全方位的考虑,探索透明加密技术在这些领域的应用。

4 结束语
目前,我国大多数非涉密信息系统中,使用windows操作系统的用户不在少数,而透明加密技术与windows操作系统结合较为紧密,因此,对透明加密技术的研究具有相当的实用价值。然而,目前业界对于透明加密技术有待于进一步加强,该加密技术的安全性、可靠性也有待于进一步得到学术和技术层面的全面论证。

透明加密技术分析

一个加密系统 S可以用数学符号描述为s:{P,C,K,E,D},其中:
P——明文空间,表示所有可能出现的明文集合;
c——密文空间,表示所有可能 现的密文集合;
K——密钥,是密码算法中的可变参数;
E——加密算法,由一些公式、协议或程序构成;
D——解密算法,它是E的逆运算。
当给定密钥K时,存在两种关系,C=E(P),即对明文P加密后得到密文C;P=D(c)=Dk(E(P)),即对密文C解密后得明文P。因此,加密技术的关键在于密钥和算法的选择。在密码学中,根据密钥类型不同将密码算法分为两类 :对称算法 (传统密码算法)和非对称算法 (公开密钥算法)。对称算法采用同一种密钥进行加解密运算,它的优点是运算速度快,缺点是算法的安全性依赖于密钥,且密钥难于管理,常见的对称算法有DES、3DES、AES(见表 1);非对称算法采用的是两种密钥,分别是加密密钥(公钥)和解密钥 (私钥),通常情况下,公钥是公开的,私钥是保密的,其优点是密钥容易管理,缺点是运算速度慢,常见的非对称算法有 RSA、DSA、ECC(见表2)。
公开密钥密码与对称密码是两种不同的东西,它们解决不同的问题。一般情况下,对称算法和非对称算法会结合应用。在对文件进行加解密的过程中,由于运算数据量大,要求运算效率高,因此常采用对称算法,从性能和安全性综合考虑,优先选用AES算法 ;而非对称算法常被应用于对称算法密钥的管理,采用公钥对对称算法密钥进行加密,私钥进行解密,在性能要求不是很高的情况下,可以优先选用 RSA算法。
表1 对称加密算法的比较
名称 密钥长度 运算速度 安全性 资源消耗
DES 56位 较快
3DES 112位或168位
AES 128\192\256位
表2 非对称加密算法的比较
名称 成熟度 运算速度 安全性 资源消耗
RSA
DSA
ECC
超时代视频加密软件共享文件夹加密软件…采用先进的256位AES对称加密算法,运算速度快、安全性能高、资源消耗低,是目前市场上最好的视频加密共享文件夹加密解决方案。

透明加密技术实现原理

作者:周道明,钱鲁锋,王路路 整理:超时代软件

近年米,信息技术迅猛发展,越来越多的信息和资料以数字形式存放在硬盘等数字存储设备中,并且随着信息共享技术的突破,通过移动存储设备、网络等介质交换数据越来越方便,但同时,核心数据的控制和管理也越来越难,如何保证核心数据不泄露逐渐成为了信息安全的热点问题。为此,很多单位采取了“完全封闭式的管理”、“堵塞或拆除计算机的USB接口,禁止上网”、“简易的身份认证”等各种方式防止核心数据泄露,但往往是顺此失彼,难以完全控制。如何建立完善的数据泄露防护体系、保护核心资源,已迫在眉睫。

 

数据加密作为数据保护的有效方式之一,越来越受到广泛认可,但传统的数据加密方式仔在加密速度慢、密码易被破 、无法防止文档被复制等缺点,难以满足需要。近年来,随着对加密技术的深入研究,透明加密技术正逐渐得到广泛应用.

 

实现原理

 

透明加密技术是近年来发展较为迅速的一种文件加密技术。所谓透明加密是指对使用者来说,数据的加、解密是自动的,不会影响其止常的操作习惯:采用这种技术,使用者保存数据时,系统将对数据自动进行加密,当使用者打开或编辑指定文件时,系统自动对已加密的文件进行解密,在硬盘上存储的是密文,在内存中存储的是明文,一旦离开使用环境,数据就无法得到自动解密的服务,从而达到保护数据内容的效果。共享文件夹加密,采用先进的透明加密技术,获得广大用户的好评。

 

透明加密技术的产生是与Windows操作系统的发展密不可分的。自WindowsNT问世以来,微软提出了系统分层的概念将操作系统设计为双模式多层驱动式结构,典型的Windows驱动程序层次结构如图1所示 。

0925

两个模式主要指用户模式和内核模式。通常情况下,应用程序运行在用户模式下,只能访问自己私有的内存空间,无法直接访问硬件,它对文件的操作只能通过调用Windows API函数进行,这为在用户模式下进行透明加解密提供了时机。如在写文件时,首先对文件数据进行加密,再调用Win32 API函数进行写操作 ;在读文件时,先调用Windows API函数读出加密的数据,再 自动进行解密。在调用WindowsAPI函数时截获消息并对数据进行加解密处理,是在用户模式下实现透明加解密的主要方式。

 

在核心模式下,应用程序对WindowsAPI函数的调用,最终将转化为不同的操作指令传递给I/O管理器,I/O管理器将不同的操作请求转化为IRP(I/ORequestPackage,输入/输出请求包),分发给各层驱动依次处理。Windows将驱动分成了以下三种 。总线型驱动程序主要用于管理一个逻辑的或物理的总线,比如PCI、USB等 ;功能型驱动程序用于管理某一 特定类型的设备,主要用于将一个设备的操作接口导出给操作系统 ;过滤型驱动程序位于功能型驱动程序的上层或下层,可增加或者改变一个设备或另一个驱动程序的行为。具备不同功能的各种驱动,分层合作,各司其职。过滤型驱动的出现,为在核心模式下实现数据透明加解密提供了手段。如写文件时,在上层过滤型驱动程序或下层过滤型驱动程序中可以首先截获 IRP,进行加密处理,然后再交给下层驱动处理;读文件时,在上层过滤型驱动程序或下层过滤型驱动程序中可以首先获取读到的加密数据,进行解密后交给上层驱动或应用程序。编写具备加解密功能的过滤型驱动,是在内核模式下实现透明加解密的主要方式。