CN109657490B - 一种办公文件透明加解密方法及系统 - Google Patents
一种办公文件透明加解密方法及系统 Download PDFInfo
- Publication number
- CN109657490B CN109657490B CN201811383989.3A CN201811383989A CN109657490B CN 109657490 B CN109657490 B CN 109657490B CN 201811383989 A CN201811383989 A CN 201811383989A CN 109657490 B CN109657490 B CN 109657490B
- Authority
- CN
- China
- Prior art keywords
- file
- decryption
- encryption
- transparent encryption
- certificate information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种办公文件透明加解密方法,包括在终端程序中增加透明加解密进程及守护进程,且使透明加解密进程与守护进程相互监控;通过守护进程将Key中的证书信息读取到进程内存中;在终端用户开启受控文件时,通过钩子技术来捕获文件流,透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;在终端用户保存受控文件时,透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理。本发明优点:不仅可以实现对不同类型的文件采取不同的加解密操作,而且可以有效防止文档、程序等被恶意篡改,可有效保证终端上文件、数据的安全。
Description
技术领域
本发明涉及文件加解密领域,特别涉及一种办公文件透明加解密方法及系统。
背景技术
目前,各个公司的办公业务系统都会使用各自的安全管控手段来对办公文件实行加密和解密操作,以防止机密文件和信息的外泄,例如,有些办公业务系统是通过采用水印的方式来防止数据泄露;又如,有些办公业务系统是通过采用文件加密的方式来实现对文件的安全保护。
由于办公文件对于内部人员是公开的,因此,办公文件通常都是采用透明加解密技术来实现加解密操作的。所谓透明,是指用户在操作文件的过程中,加解密过程是不会被用户察觉的,整个加解密操作过程是自动完成的;透明加解密系统会根据事先设定好的策略,包括需要保护的文件类型、加密算法、加密密钥,来判断文件是否需要进行加密和解密操作,并自动完成文件的加密和解密。
但是,现有的办公业务系统在进行办公文件的透明加解密操作时,主要存在有以下缺陷:1、需要将办公文件统一转换成指定类型的文件(例如,将需要加解密的文件都统一转换成PDF文档),而无法根据不同类型的文件来采取不同的加解密操作,这为实际的操作和使用都带来了诸多的不便;2、现有的办公业务系统大部分都只是采用常规的加解密算法来对文件进行加解密,例如采用文档水印、屏幕水印的等方式,而无法有效防止文档、程序等被恶意篡改,因此,文件的安全保障比较低。
发明内容
本发明要解决的技术问题之一,在于提供一种办公文件透明加解密方法,通过该加解密方法不仅可以实现对不同类型的文件采取不同的加解密操作,而且可以有效防止文档、程序等被恶意篡改,可有效保证终端上文件、数据的安全。
本发明是这样实现技术问题之一的:一种办公文件透明加解密方法,所述方法包括如下步骤:
步骤S1、在终端程序中增加一透明加解密进程以及一守护进程,且使所述透明加解密进程与所述守护进程相互监控;
步骤S2、通过所述守护进程将Key中的证书信息读取到进程内存中;
步骤S3、在终端用户开启受控文件时,通过钩子技术来捕获文件流,所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;
步骤S4、在终端用户保存受控文件时,所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理。
进一步地,在所述步骤S1中,所述的使所述透明加解密进程与所述守护进程相互监控具体为:
通过所述守护进程来监听所述透明加解密进程以及该透明加解密进程的指定接口,并判断所述透明加解密进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述透明加解密进程;
通过所述透明加解密进程来监听所述守护进程以及该守护进程的指定接口,并判断所述守护进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述守护进程。
进一步地,所述步骤S2具体包括:
步骤S21、将用于加解密的证书信息以及用于签名的证书信息均存储到USB Key中;
步骤S22、通过所述守护进程来监听USB Key的设备驱动,且在监听到USB Key的设备驱动启动后,从USB Key中读取加解密的证书信息和签名的证书信息,并将读取的证书信息保存到进程内存中;
步骤S23、所述守护进程使用签名的证书信息对终端程序的核心文件进行实时验签。
进一步地,所述步骤S3具体包括:
步骤S31、在终端上配置待监听的指定进程的参数,所述待监听的指定进程包括受控文件的开启进程以及对受控文件操作失效的相关进程;
步骤S32、终端程序根据待监听的指定进程的参数,判断运行的进程是否为待监听的指定进程,且如果是,则进入步骤S33;如果否,则结束流程;
步骤S33、在终端用户开启受控文件时,线程钩子通过文件过滤驱动来捕获开启的文件流,且在捕获文件流的过程中,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行解密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;如果否,则所述透明加解密进程不进行解密处理;
步骤S34、在受控文件被打开后,通过系统钩子来捕获对受控文件操作失效的相关操作,并控制相关操作失效。
进一步地,所述步骤S4具体为:
在终端用户保存受控文件时,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行加密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理,且通过文件过滤驱动将受控文件保存为对应的文件类型;如果否,则所述透明加解密进程不进行加密处理。
本发明要解决的技术问题之二,在于提供一种办公文件透明加解密系统,通过该系统不仅可以实现对不同类型的文件采取不同的加解密操作,而且可以有效防止文档、程序等被恶意篡改,可有效保证终端上文件、数据的安全。
本发明是这样实现技术问题之二的:一种办公文件透明加解密系统,所述系统包括进程添加模块、证书读取模块、解密处理模块以及加密处理模块;
所述进程添加模块,用于在终端程序中增加一透明加解密进程以及一守护进程,且使所述透明加解密进程与所述守护进程相互监控;
所述证书读取模块,用于通过所述守护进程将Key中的证书信息读取到进程内存中;
所述解密处理模块,用于在终端用户开启受控文件时,通过钩子技术来捕获文件流,所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;
所述加密处理模块,用于在终端用户保存受控文件时,所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理。
进一步地,在所述进程添加模块中,所述的使所述透明加解密进程与所述守护进程相互监控具体为:
通过所述守护进程来监听所述透明加解密进程以及该透明加解密进程的指定接口,并判断所述透明加解密进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述透明加解密进程;
通过所述透明加解密进程来监听所述守护进程以及该守护进程的指定接口,并判断所述守护进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述守护进程。
进一步地,所述证书读取模块具体包括证书存储单元、证书读取单元以及签名验证单元;
所述证书存储单元,用于将用于加解密的证书信息以及用于签名的证书信息均存储到USB Key中;
所述证书读取单元,用于通过所述守护进程来监听USB Key的设备驱动,且在监听到USB Key的设备驱动启动后,从USB Key中读取加解密的证书信息和签名的证书信息,并将读取的证书信息保存到进程内存中;
所述签名验证单元,用于所述守护进程使用签名的证书信息对终端程序的核心文件进行实时验签。
进一步地,所述解密处理模块具体包括参数配置单元、进程判断单元、解密处理单元以及失效操作控制单元;
所述参数配置单元,用于在终端上配置待监听的指定进程的参数,所述待监听的指定进程包括受控文件的开启进程以及对受控文件操作失效的相关进程;
所述进程判断单元,用于终端程序根据待监听的指定进程的参数,判断运行的进程是否为待监听的指定进程,且如果是,则进入步骤S33;如果否,则结束流程;
所述解密处理单元,用于在终端用户开启受控文件时,线程钩子通过文件过滤驱动来捕获开启的文件流,且在捕获文件流的过程中,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行解密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;如果否,则所述透明加解密进程不进行解密处理;
所述失效操作控制单元,用于在受控文件被打开后,通过系统钩子来捕获对受控文件操作失效的相关操作,并控制相关操作失效。
进一步地,所述加密处理模块具体为:
在终端用户保存受控文件时,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行加密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理,且通过文件过滤驱动将受控文件保存为对应的文件类型;如果否,则所述透明加解密进程不进行加密处理。
本发明具有如下优点:
1、通过在终端程序中增加透明加解密进程和守护进程,并使透明加解密进程与守护进程彼此相互监控,可有效避免透明加解密进程或守护进程被恶意替换,进而可确保透明加解密进程和守护进程安全稳定的运行;
2、在对受控文件进行加解密时,可以通过所述透明加解密进程来自动识别文件流的文件类型,并且可以根据文件流的文件类型调用对应的加解密程序来对受控文件进行加解密,与现有技术中需要将办公文件统一转换成指定类型的文件相比,可为实际的操作和使用都带极大的方便;
3、通过所述守护进程来对终端程序的核心文件进行实时签名验证,可有效确保终端程序的核心文件不会被恶意程序篡改,进而可保障终端上文件、数据的安全;
4、使用钩子技术来捕获受控文件的开启进程以及对受控文件操作失效的相关进程,不仅可以很好的实现对受控文件进行加解密控制,而且可以对受控文件的复制、打印、截屏等进行有效控制。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明一种办公文件透明加解密方法的执行流程图。
具体实施方式
请参阅图1所示,一种办公文件透明加解密方法,所述方法包括如下步骤:
步骤S1、在终端程序中增加一透明加解密进程以及一守护进程,且使所述透明加解密进程与所述守护进程相互监控;
在所述步骤S1中,所述的使所述透明加解密进程与所述守护进程相互监控具体为:
通过所述守护进程来监听所述透明加解密进程以及该透明加解密进程的指定接口,并判断所述透明加解密进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述透明加解密进程;
通过所述透明加解密进程来监听所述守护进程以及该守护进程的指定接口,并判断所述守护进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述守护进程。
本发明通过在终端程序中增加透明加解密进程和守护进程,并使透明加解密进程与守护进程彼此相互监控,且当二者中任意一个进程出现异常时,另一个进程就会马上拉起异常进程的服务,因此,可有效避免透明加解密进程或守护进程被恶意替换,进而可确保透明加解密进程和守护进程安全稳定的运行。
步骤S2、通过所述守护进程将Key中的证书信息读取到进程内存中;
所述步骤S2具体包括:
步骤S21、将用于加解密的证书信息以及用于签名的证书信息均存储到USB Key中;其中,用于加解密的证书信息(在具体实施时,可以根据用户ID、终端设备IP、MAC地址等来生成对应的私钥信息)主要在对办公文件进行加解密时可以使用;用于签名的证书信息主要在对终端程序的核心文件进行验签时可以使用。所述用于加解密的证书信息(即加解密私钥信息)优选的采用基于国产商密算法的加密机制来生成。
USB Key是一种USB接口的硬件设备,它内置有单片机或者智能卡芯片,具有一定的存储空间,可以存储用户的私钥、数字证书等。
步骤S22、通过所述守护进程来监听USB Key的设备驱动,且在监听到USB Key的设备驱动启动后,从USB Key中读取加解密的证书信息和签名的证书信息,并将读取的证书信息保存到进程内存中,以方便在具体实施时,可以对办公文件进行内存加解密;
步骤S23、所述守护进程使用签名的证书信息对终端程序的核心文件进行实时验签。由于终端程序的核心文件是保证终端安全的关键,一旦终端程序的核心文件被恶意程序篡改,那么,将会威胁到整个终端上的文件、数据的安全。本发明通过所述守护进程来对终端程序的核心文件进行实时签名验证,可有效确保终端程序的核心文件不会被恶意程序篡改,进而可保障终端上文件、数据的安全。
步骤S3、在终端用户开启受控文件时,通过钩子技术来捕获文件流,所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;
其中,钩子技术(即hook技术)是一种特殊的消息处理机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并进行处理。所以说,我们可以在系统中自定义钩子,用来监视系统中特定事件的发生,完成特定功能,如屏幕取词,监视日志,截获键盘、鼠标输入等等。
钩子的种类很多,每种钩子都可以截获相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。钩子可以分为线程钩子和系统钩子,线程钩子可以监视指定线程的事件消息,系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL)中。
在本发明中,我们需要使用到线程钩子和系统钩子,其中,线程钩子主要用于捕获指定文件线程的事件,例如,WORD、PDF、EXCEL等文件开启进程的事件;系统钩子主要用于捕获一些键盘消息,并对键盘上的指定操作进行处理,具体包括控制对文件进行复制、打印、截屏等操作无效,也就是说,在终端用户打开受控文件后,是无法进行复制、打印、截屏等操作的,以保障终端的文件安全。
所述步骤S3具体包括:
步骤S31、在终端上配置待监听的指定进程的参数,所述待监听的指定进程包括受控文件的开启进程以及对受控文件操作失效的相关进程;所述受控文件的开启进程可以是WORD、PDF、EXCEL等文件的开启进程,所述对受控文件操作失效的相关进程可以是打印、复制、截屏等可能影响到办公文件安全的操作的相关进程。
步骤S32、终端程序根据待监听的指定进程的参数,判断运行的进程是否为待监听的指定进程,且如果是,则进入步骤S33;如果否,则结束流程,即结束本发明中的流程,但不影响进程的正常运行;
步骤S33、在终端用户开启受控文件时,线程钩子通过文件过滤驱动来捕获开启的文件流(例如,在终端用户开启PDF文件时,线程钩子就通过文件过滤驱动来捕获开启的PDF文件的文件流),且在捕获文件流的过程中,所述透明加解密进程自动识别文件流的文件类型和文件标识(在具体实施时,对需要进行加解密处理的受控文件,都对应设置有一文件标识,以方便所述透明加解密进程可以判断开启的文件是否需要进行加解密处理),并根据文件标识判断是否需要对受控文件进行解密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;如果否,则所述透明加解密进程不进行解密处理,即如果不需要进行解密处理,则只需按正常流程开启文件,而不需要经过所述透明加解密进程的处理;
其中,文件过滤驱动是微软公开支持进行文件加密的技术手段,在驱动的层次定义中,微软定义了杀毒、压缩、加密等各种功能层次,加密的定义如下:Load Order Group:FSFilter Encryption,Altitude Range:140000-149999;
由于文件过滤驱动处于驱动层面(而不像API Hook处于应用层),可以控制系统的更多细节,且和应用程序的关联度很小,可以兼容所有的应用程序,因此,使用文件过滤驱动更利于进行动态加解密的处理。
文件过滤驱动主要拦截的是读和写的动作,在这2个IRP请求中进行动态的加解密处理,处理的内容很精确(即可以实现读多少解密多少、写多少加密多少),由于动态加解密实际上处理的大多数都是缓存,因此操作速度更快。
步骤S34、在受控文件被打开后,通过系统钩子来捕获对受控文件操作失效的相关操作(主要是通过系统钩子来捕获键盘上的相关操作消息,包括对文件进行复制、打印、截屏等操作的消息),并控制相关操作失效。
步骤S4、在终端用户保存受控文件时,所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理;
所述步骤S4具体为:
在终端用户保存受控文件时,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行加密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理,且通过文件过滤驱动将受控文件保存为对应的文件类型;如果否,则所述透明加解密进程不进行加密处理,即如果不需要进行加密处理,则只需正常流程保存文件,而不需要经过所述透明加解密进程的处理。
本发明一种办公文件透明加解密系统,所述系统包括进程添加模块、证书读取模块、解密处理模块以及加密处理模块;
所述进程添加模块,用于在终端程序中增加一透明加解密进程以及一守护进程,且使所述透明加解密进程与所述守护进程相互监控;
在所述进程添加模块中,所述的使所述透明加解密进程与所述守护进程相互监控具体为:
通过所述守护进程来监听所述透明加解密进程以及该透明加解密进程的指定接口,并判断所述透明加解密进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述透明加解密进程;
通过所述透明加解密进程来监听所述守护进程以及该守护进程的指定接口,并判断所述守护进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述守护进程。
本发明通过在终端程序中增加透明加解密进程和守护进程,并使透明加解密进程与守护进程彼此相互监控,且当二者中任意一个进程出现异常时,另一个进程就会马上拉起异常进程的服务,因此,可有效避免透明加解密进程或守护进程被恶意替换,进而可确保透明加解密进程和守护进程安全稳定的运行。
所述证书读取模块,用于通过所述守护进程将Key中的证书信息读取到进程内存中;
所述证书读取模块具体包括证书存储单元、证书读取单元以及签名验证单元;
所述证书存储单元,用于将用于加解密的证书信息以及用于签名的证书信息均存储到USB Key中;其中,用于加解密的证书信息(在具体实施时,可以根据用户ID、终端设备IP、MAC地址等来生成对应的私钥信息)主要在对办公文件进行加解密时可以使用;用于签名的证书信息主要在对终端程序的核心文件进行验签时可以使用。所述用于加解密的证书信息(即加解密私钥信息)优选的采用基于国产商密算法的加密机制来生成。
USB Key是一种USB接口的硬件设备,它内置有单片机或者智能卡芯片,具有一定的存储空间,可以存储用户的私钥、数字证书等。
所述证书读取单元,用于通过所述守护进程来监听USB Key的设备驱动,且在监听到USB Key的设备驱动启动后,从USB Key中读取加解密的证书信息和签名的证书信息,并将读取的证书信息保存到进程内存中,以方便在具体实施时,可以对办公文件进行内存加解密;
所述签名验证单元,用于所述守护进程使用签名的证书信息对终端程序的核心文件进行实时验签。由于终端程序的核心文件是保证终端安全的关键,一旦终端程序的核心文件被恶意程序篡改,那么,将会威胁到整个终端上的文件、数据的安全。本发明通过所述守护进程来对终端程序的核心文件进行实时签名验证,可有效确保终端程序的核心文件不会被恶意程序篡改,进而可保障终端上文件、数据的安全。
所述解密处理模块,用于在终端用户开启受控文件时,通过钩子技术来捕获文件流,所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;
其中,钩子技术(即hook技术)是一种特殊的消息处理机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并进行处理。所以说,我们可以在系统中自定义钩子,用来监视系统中特定事件的发生,完成特定功能,如屏幕取词,监视日志,截获键盘、鼠标输入等等。
钩子的种类很多,每种钩子都可以截获相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。钩子可以分为线程钩子和系统钩子,线程钩子可以监视指定线程的事件消息,系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL)中。
在本发明中,我们需要使用到线程钩子和系统钩子,其中,线程钩子主要用于捕获指定文件线程的事件,例如,WORD、PDF、EXCEL等文件开启进程的事件;系统钩子主要用于捕获一些键盘消息,并对键盘上的指定操作进行处理,具体包括控制对文件进行复制、打印、截屏等操作无效,也就是说,在终端用户打开受控文件后,是无法进行复制、打印、截屏等操作的,以保障终端的文件安全。
所述解密处理模块具体包括参数配置单元、进程判断单元、解密处理单元以及失效操作控制单元;
所述参数配置单元,用于在终端上配置待监听的指定进程的参数,所述待监听的指定进程包括受控文件的开启进程以及对受控文件操作失效的相关进程;所述受控文件的开启进程可以是WORD、PDF、EXCEL等文件的开启进程,所述对受控文件操作失效的相关进程可以是打印、复制、截屏等可能影响到办公文件安全的操作的相关进程。
所述进程判断单元,用于终端程序根据待监听的指定进程的参数,判断运行的进程是否为待监听的指定进程,且如果是,则进入步骤S33;如果否,则结束流程,即结束本发明中的流程,但不影响进程的正常运行;
所述解密处理单元,用于在终端用户开启受控文件时,线程钩子通过文件过滤驱动来捕获开启的文件流(例如,在终端用户开启PDF文件时,线程钩子就通过文件过滤驱动来捕获开启的PDF文件的文件流),且在捕获文件流的过程中,所述透明加解密进程自动识别文件流的文件类型和文件标识(在具体实施时,对需要进行加解密处理的受控文件,都对应设置有一文件标识,以方便所述透明加解密进程可以判断开启的文件是否需要进行加解密处理),并根据文件标识判断是否需要对受控文件进行解密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;如果否,则所述透明加解密进程不进行解密处理,即如果不需要进行解密处理,则只需按正常流程开启文件,而不需要经过所述透明加解密进程的处理;
其中,文件过滤驱动是微软公开支持进行文件加密的技术手段,在驱动的层次定义中,微软定义了杀毒、压缩、加密等各种功能层次,加密的定义如下:Load Order Group:FSFilter Encryption,Altitude Range:140000-149999;
由于文件过滤驱动处于驱动层面(而不像API Hook处于应用层),可以控制系统的更多细节,且和应用程序的关联度很小,可以兼容所有的应用程序,因此,使用文件过滤驱动更利于进行动态加解密的处理。
文件过滤驱动主要拦截的是读和写的动作,在这2个IRP请求中进行动态的加解密处理,处理的内容很精确(即可以实现读多少解密多少、写多少加密多少),由于动态加解密实际上处理的大多数都是缓存,因此操作速度更快。
所述失效操作控制单元,用于在受控文件被打开后,通过系统钩子来捕获对受控文件操作失效的相关操作(主要是通过系统钩子来捕获键盘上的相关操作消息,包括对文件进行复制、打印、截屏等操作的消息),并控制相关操作失效。
所述加密处理模块,用于在终端用户保存受控文件时,所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理;
所述加密处理模块具体为:
在终端用户保存受控文件时,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行加密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理,且通过文件过滤驱动将受控文件保存为对应的文件类型;如果否,则所述透明加解密进程不进行加密处理,即如果不需要进行加密处理,则只需正常流程保存文件,而不需要经过所述透明加解密进程的处理。
综上所述,本发明具有如下优点:
1、通过在终端程序中增加透明加解密进程和守护进程,并使透明加解密进程与守护进程彼此相互监控,可有效避免透明加解密进程或守护进程被恶意替换,进而可确保透明加解密进程和守护进程安全稳定的运行;
2、在对受控文件进行加解密时,可以通过所述透明加解密进程来自动识别文件流的文件类型,并且可以根据文件流的文件类型调用对应的加解密程序来对受控文件进行加解密,与现有技术中需要将办公文件统一转换成指定类型的文件相比,可为实际的操作和使用都带极大的方便;
3、通过所述守护进程来对终端程序的核心文件进行实时签名验证,可有效确保终端程序的核心文件不会被恶意程序篡改,进而可保障终端上文件、数据的安全;
4、使用钩子技术来捕获受控文件的开启进程以及对受控文件操作失效的相关进程,不仅可以很好的实现对受控文件进行加解密控制,而且可以对受控文件的复制、打印、截屏等进行有效控制。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (8)
1.一种办公文件透明加解密方法,其特征在于:所述方法包括如下步骤:
步骤S1、在终端程序中增加一透明加解密进程以及一守护进程,通过所述守护进程来监听所述透明加解密进程以及该透明加解密进程的指定接口,并判断所述透明加解密进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述透明加解密进程;
通过所述透明加解密进程来监听所述守护进程以及该守护进程的指定接口,并判断所述守护进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述守护进程;
步骤S2、通过所述守护进程将Key中的证书信息读取到进程内存中;
步骤S3、在终端用户开启受控文件时,通过钩子技术来捕获文件流,所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;
步骤S4、在终端用户保存受控文件时,所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理。
2.根据权利要求1所述的一种办公文件透明加解密方法,其特征在于:所述步骤S2具体包括:
步骤S21、将用于加解密的证书信息以及用于签名的证书信息均存储到USB Key中;
步骤S22、通过所述守护进程来监听USB Key的设备驱动,且在监听到USB Key的设备驱动启动后,从USB Key中读取加解密的证书信息和签名的证书信息,并将读取的证书信息保存到进程内存中;
步骤S23、所述守护进程使用签名的证书信息对终端程序的核心文件进行实时验签。
3.根据权利要求1所述的一种办公文件透明加解密方法,其特征在于:所述步骤S3具体包括:
步骤S31、在终端上配置待监听的指定进程的参数,所述待监听的指定进程包括受控文件的开启进程以及对受控文件操作失效的相关进程;
步骤S32、终端程序根据待监听的指定进程的参数,判断运行的进程是否为待监听的指定进程,且如果是,则进入步骤S33;如果否,则结束流程;
步骤S33、在终端用户开启受控文件时,线程钩子通过文件过滤驱动来捕获开启的文件流,且在捕获文件流的过程中,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行解密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;如果否,则所述透明加解密进程不进行解密处理;
步骤S34、在受控文件被打开后,通过系统钩子来捕获对受控文件操作失效的相关操作,并控制相关操作失效。
4.根据权利要求1所述的一种办公文件透明加解密方法,其特征在于:所述步骤S4具体为:
在终端用户保存受控文件时,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行加密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理,且通过文件过滤驱动将受控文件保存为对应的文件类型;如果否,则所述透明加解密进程不进行加密处理。
5.一种办公文件透明加解密系统,其特征在于:包括进程添加模块、证书读取模块、解密处理模块以及加密处理模块;
所述进程添加模块,用于在终端程序中增加一透明加解密进程以及一守护进程,通过所述守护进程来监听所述透明加解密进程以及该透明加解密进程的指定接口,并判断所述透明加解密进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述透明加解密进程;
通过所述透明加解密进程来监听所述守护进程以及该守护进程的指定接口,并判断所述守护进程是否正常运行,且如果是,则保持继续进行监听;如果否,则触发重启所述守护进程;
所述证书读取模块,用于通过所述守护进程将Key中的证书信息读取到进程内存中;
所述解密处理模块,用于在终端用户开启受控文件时,通过钩子技术来捕获文件流,所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;
所述加密处理模块,用于在终端用户保存受控文件时,所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理。
6.根据权利要求5所述的一种办公文件透明加解密系统,其特征在于:所述证书读取模块具体包括证书存储单元、证书读取单元以及签名验证单元;
所述证书存储单元,用于将用于加解密的证书信息以及用于签名的证书信息均存储到USB Key中;
所述证书读取单元,用于通过所述守护进程来监听USB Key的设备驱动,且在监听到USB Key的设备驱动启动后,从USB Key中读取加解密的证书信息和签名的证书信息,并将读取的证书信息保存到进程内存中;
所述签名验证单元,用于所述守护进程使用签名的证书信息对终端程序的核心文件进行实时验签。
7.根据权利要求5所述的一种办公文件透明加解密系统,其特征在于:所述解密处理模块具体包括参数配置单元、进程判断单元、解密处理单元以及失效操作控制单元;
所述参数配置单元,用于在终端上配置待监听的指定进程的参数,所述待监听的指定进程包括受控文件的开启进程以及对受控文件操作失效的相关进程;
所述进程判断单元,用于终端程序根据待监听的指定进程的参数,判断运行的进程是否为待监听的指定进程,且如果是,则进入步骤S33;如果否,则结束流程;
所述解密处理单元,用于在终端用户开启受控文件时,线程钩子通过文件过滤驱动来捕获开启的文件流,且在捕获文件流的过程中,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行解密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的解密程序,并使用进程内存中的证书信息对文件流进行解密处理;如果否,则所述透明加解密进程不进行解密处理;
所述失效操作控制单元,用于在受控文件被打开后,通过系统钩子来捕获对受控文件操作失效的相关操作,并控制相关操作失效。
8.根据权利要求5所述的一种办公文件透明加解密系统,其特征在于:所述加密处理模块具体为:
在终端用户保存受控文件时,所述透明加解密进程自动识别文件流的文件类型和文件标识,并根据文件标识判断是否需要对受控文件进行加密,如果是,则所述透明加解密进程根据文件流的文件类型调用对应的加密程序,并使用进程内存中的证书信息对文件流进行加密处理,且通过文件过滤驱动将受控文件保存为对应的文件类型;如果否,则所述透明加解密进程不进行加密处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383989.3A CN109657490B (zh) | 2018-11-20 | 2018-11-20 | 一种办公文件透明加解密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383989.3A CN109657490B (zh) | 2018-11-20 | 2018-11-20 | 一种办公文件透明加解密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657490A CN109657490A (zh) | 2019-04-19 |
CN109657490B true CN109657490B (zh) | 2021-08-10 |
Family
ID=66111424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811383989.3A Active CN109657490B (zh) | 2018-11-20 | 2018-11-20 | 一种办公文件透明加解密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657490B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502909B (zh) * | 2019-08-06 | 2021-06-01 | 北京北信源软件股份有限公司 | 一种文件加密方法及装置、一种文件解密方法及装置 |
CN112131565A (zh) * | 2020-09-27 | 2020-12-25 | 浙江华途信息安全技术股份有限公司 | 一种透明加解密防破解的方法及其管理设备 |
CN112131566A (zh) * | 2020-09-27 | 2020-12-25 | 浙江华途信息安全技术股份有限公司 | 一种文件的透明加解密防破解的方法及其管理设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788959A (zh) * | 2010-02-03 | 2010-07-28 | 武汉固捷联讯科技有限公司 | 一种固态硬盘安全加密系统 |
CN103488949A (zh) * | 2013-09-17 | 2014-01-01 | 上海颐东网络信息有限公司 | 一种电子文档安全保护系统 |
CN103632080A (zh) * | 2013-11-06 | 2014-03-12 | 国家电网公司 | 一种基于USBKey的移动数据应用安全保护系统及其方法 |
CN105022966A (zh) * | 2015-07-21 | 2015-11-04 | 郭俊雄 | 数据库数据加密解密方法和系统 |
CN106951335A (zh) * | 2017-02-28 | 2017-07-14 | 维沃移动通信有限公司 | 一种进程守护方法和移动终端 |
-
2018
- 2018-11-20 CN CN201811383989.3A patent/CN109657490B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788959A (zh) * | 2010-02-03 | 2010-07-28 | 武汉固捷联讯科技有限公司 | 一种固态硬盘安全加密系统 |
CN103488949A (zh) * | 2013-09-17 | 2014-01-01 | 上海颐东网络信息有限公司 | 一种电子文档安全保护系统 |
CN103632080A (zh) * | 2013-11-06 | 2014-03-12 | 国家电网公司 | 一种基于USBKey的移动数据应用安全保护系统及其方法 |
CN105022966A (zh) * | 2015-07-21 | 2015-11-04 | 郭俊雄 | 数据库数据加密解密方法和系统 |
CN106951335A (zh) * | 2017-02-28 | 2017-07-14 | 维沃移动通信有限公司 | 一种进程守护方法和移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109657490A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10375116B2 (en) | System and method to provide server control for access to mobile client data | |
US8141159B2 (en) | Method and system for protecting confidential information | |
EP2696305B1 (en) | Method and device for file protection | |
CN102999732B (zh) | 基于信息密级标识的多级域防护方法及系统 | |
JP6129702B2 (ja) | 情報処理装置、情報処理システム、プログラム | |
CN104008330B (zh) | 基于文件集中存储及隔离技术的数据防泄漏系统及其方法 | |
WO2021164166A1 (zh) | 一种业务数据保护方法、装置、设备及可读存储介质 | |
WO2021012470A1 (zh) | 网页数据监控方法、装置、计算机设备和存储介质 | |
CN109657490B (zh) | 一种办公文件透明加解密方法及系统 | |
CN103530570A (zh) | 一种电子文档安全管理系统及方法 | |
TW200405963A (en) | Sleep protection | |
WO2022028289A1 (zh) | 数据加密方法、数据解密方法、装置、终端和存储介质 | |
JP2008047085A (ja) | Usbデバイスを用いるデータ保安システム、装置及び方法 | |
CN112417484A (zh) | 资源文件保护方法、装置、计算机设备和存储介质 | |
CN110765470A (zh) | 安全键盘实现方法、装置、计算机设备及存储介质 | |
CN111046405B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN107967430B (zh) | 一种文档保护方法、设备以及系统 | |
US8336107B2 (en) | System and methods for defending against root | |
KR102542213B1 (ko) | 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법 | |
CN104955043A (zh) | 一种智能终端安全防护系统 | |
KR20160146623A (ko) | 휴대용 단말에서 컨텐츠를 보호하는 방법, 상기 방법을 컴퓨터 프로그램으로 기록하기 위한 기록매체, 및 휴대단말 보안 시스템 | |
CN111753263A (zh) | 一种基于macOS系统的无感加解密方法 | |
CN104866761A (zh) | 一种高安全性安卓智能终端 | |
KR20090024371A (ko) | 파일시스템 보호 기반의 지능형 디알엠 에이전트 | |
TW200933429A (en) | Storage device or enterprise computer and equipment management method and information storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |