International       English      China       
加密软件网DRM Plus视频加密方案
首页 SmartPhone DRM解决方案&产品列表 客户列表 DRM演示中心 软件定制服务 加密狗 业务承接 国际代理 联系购买
 
无感加密技术简介    返回

无感加密技术简介
   无感加密技术是近年来针对企业文件保密需求应运而生的一种文件加密技术。所谓透明,是指对使用者来说是未知的。当使用者在打开或编辑指定文件时,系统将自动对未加密的文件进行加密,对已加密的文件自动解密。文件在硬盘上是密文,在内存中是?摹R坏├肟褂没肪常捎谟τ贸绦蛭薹ǖ玫阶远饷艿姆穸薹ù蚩佣鹄幢;の募谌莸男Ч?br />    无感加密有以下特点:
    强制加密:安装系统后,所有指定类型文件都是强制加密的;
    使用方便:不影响原有操作习惯,不需要限止端口;
    于内无碍:内部交流时不需要作任何处理便能交流;
    对外受阻:一旦文件离开使用环境,文件将自动失效,从而保护知识产权。
无感加密技术原理
   无感加密技术是与Windows紧密结合的一种技术,它工作于Windows的底层。通过监控应用程序对文件的操作,在打开文件时自动对密文进行解密,在写文件时自动将内存中的?募用苄慈氪娲⒔橹省4佣Vご娲⒔橹噬系奈募贾沾τ诩用茏刺?br />    监控Windows打开(读)、保存(写)可以在Windows操?募募父霾忝嫔辖小O钟械?2位CPU定义了4种(0~3)特权级别,或称环(ring),如图1所示。其中0级为特权级,3级是*低级(用户级)。运行在0级的代码又称内核模式,3级的为用户模式。常用的应用程序都是运行在用户模式下,用户级程序无权直接访问内核级的对象,需要通过API函数来访问内核级的代码,从而达到*终操作存储在各种介质上文件的目的。

图1
   为了实现无感加密的目的,无感加密技术必须在程序读写文件时改变程序的读写方式。使密文在读入内存时程序能够识别,而在保存时又要将?淖怀擅芪摹indow允许编程者在内核级和用户级对文件的读写进行操作。内核级提供了虚拟驱动的方式,用户级提供Hook API的方式。因此,无感加密技术也分为API HOOK技术和VDM(Windows Driver Model)内核设备驱动方式两种技术。API HOOK俗称钩子技术,VDM俗称驱动技术。
钩子无感加密技术简介
   所有Windosw应用程序都是通过Windows API函数对文件进行读写的。程序在打开或新建一个文件时,一般要调用Windows的Create File、Open File或Read File等Windows API函数;而在向磁盘写文件时要调用Write File函数。
   同时Windows支持这样一种消息处理机制:允许应用程序将自己安装一个子程序到其它的程序中,以监视指定窗口某种类型的消息。当消息到达后,先处理安装的子程序后再处理原程序。这就是钩子(Hook)技术。
   钩子无感加密技术就是将上述两种技术组合而成的。通过Windows的钩子技术,监控应用程序对文件的打开和保存,当打开文件时,先将密文转换后再让程序读入内存,保证程序读到的是?模诒4媸保纸诖嬷械拿*募用芎笤傩慈氲酱排讨小F涔ぷ髟砣缤?所示。

图2
   钩子无感加密技术通过监控应用程序的读写操作,同时对文件进行自动加密与解密。由于不同应用程序在读写文件时所用的方式方法不尽相同,同一个软件不同的版本在处理数据时也有变化,钩子无感加密必须针对每种应用程序或程序的每个版本进行配置。
驱动无感加密技术简介
   驱动加密技术基于Windows的文件系统(过滤)驱动(IFS)技术,工作在Windows的内核层。我们在安装计算机硬件时,经常要安装其驱动,如打印机、U盘的驱动。文件系统驱动就是把文件?恢稚璞咐创淼囊恢中槟馇5庇τ贸绦蚨阅持趾笞何募胁僮魇保募峒嗫氐匠绦虻牟僮鳎⒏谋淦洳僮鞣绞剑佣锏酵该骷用艿男Ч?br />    驱动加密技术与应用程序无关,其工作于Windows API函数的下层。当API函数对指定类型文件进行读操作时,系统自动将文件解密;当进入写操作时,自动将?慕屑用堋S捎诠ぷ髟谑躓indows保护的内核层,运行速度更快,加解密操作更稳定。因与系统内核关联较密切,系统内核的任何变化(如系统更新、补丁安装后)均会对驱动无感加密造成影响,因此驱动无感加密必须对操作系统的每个SP版本进行开发。
   驱动无感加密要达到文件保密的目的,还必须与用户层的应用程序打交道。通知系统哪些程序是合法的程序,哪些程序是非法的程序。其系统配置方面的易用性不如钩子无感加密。
   驱动无感加密工作在内核层,但其无法进行灵活的权限控制应用,权限控制应用必须在应用层完成。其工作原理如图3所示。

图3
   驱动加密技术虽然控制层次较深,但由于涉及到Windows底层的诸多处理,开发难度较大。如果处理不好与其它驱动的冲突,应用程序白名单等问题,将难以成为一个好的无感加密产品。
两种加密技术比较
两种加密技术由于工作在不同的层面,从应用效果、开发难度上各有特点。下表从几个方面进行了简单比较。
比较项目 钩子无感加密 驱动无感加密
工作层面 应用层 内核层
工作方式 Hook应用程序和文件类型 接受系统IRP进行处理
应用程序关联性 基于系统API的变化而改动,和应用程序处理方式无关 与程序工作方式无关,但要监控应用程序名单,这时需要用到应用层技术
加解密可靠性 应用层加解密,大文件(32位系统下超过2G)操作时速度较慢 内核层加解密,在32位系统下处理大文件速度较快
网络操作能力 不受限制 需要专门处理
开发难度 Hook技术,相对较易 驱动技术,开发难度较大,只有专业的人员可以维护
系统维护 企业维护工作量较小 企业维护工作量较大,需专业人员维护
容灾性 出现bug时,不会影响系统核心,仅影响当前处理的应用程序。 出现bug时,会出现不可预知的错误,可能导致整个系统崩溃(蓝屏),或者磁盘系统破坏
兼容性 操作系统升级时,不需要做太多的更改 驱动和操作系统的兼容性较差
   综上所述,钩子无感加密技术开发和应用难度较小,系统维护较容易,运行过程中即使出现Bug也不会影响整个操作系统运行;但其存在技术缺陷,可被反Hook技术所破解。驱动无感加密技术开发难度较大,维护工作量也较大,因其工作于操作系统内核层,在运行过程中易影响整个客户端系统运行,且带来数据灾难。
   如上所述,任何一种单一技术要达到满足企业复杂需求均是不可能的。同样,钩子无感加密和驱动无感加密两种加密技术也各有优缺点,二者必然在发展的过程中走向融合,取长补短,为广大用户开发出稳定、可靠的无感加密产品来。



drmsoft.cn All Rights Reserved.