CN101101622A - 一种构造透明编码环境的方法 - Google Patents

一种构造透明编码环境的方法 Download PDF

Info

Publication number
CN101101622A
CN101101622A CNA2007101185857A CN200710118585A CN101101622A CN 101101622 A CN101101622 A CN 101101622A CN A2007101185857 A CNA2007101185857 A CN A2007101185857A CN 200710118585 A CN200710118585 A CN 200710118585A CN 101101622 A CN101101622 A CN 101101622A
Authority
CN
China
Prior art keywords
file
environment
name
coding environment
suffix
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.)
Granted
Application number
CNA2007101185857A
Other languages
English (en)
Other versions
CN100452076C (zh
Inventor
姜斌斌
文中领
吕俊
陈华平
张磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsense Info Tech Co ltd
Original Assignee
Beijing Topsense High-Tech Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsense High-Tech Information Technology Co Ltd filed Critical Beijing Topsense High-Tech Information Technology Co Ltd
Priority to CNB2007101185857A priority Critical patent/CN100452076C/zh
Publication of CN101101622A publication Critical patent/CN101101622A/zh
Application granted granted Critical
Publication of CN100452076C publication Critical patent/CN100452076C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种构造透明编码环境的方法,采用WINDOWS内核HOOK技术对WINDOWS文件过滤驱动进行HOOK,使文件操作请求进入HOOK后的文件操作相关的例程中,在每个要经过的例程中,加入适当的监控逻辑和编码处理,对所有文件操作进行监控,给用户构造一个透明的编码环境,对加密文件追加扩展名、环境内隐藏扩展名,使编码处理在环境内对用户完全透明;环境外不隐藏扩展名,用户无法对环境外的加密文件进行任何正常操作,防范第一作者泄露保密信息,从而实现对WINDOWS系统的文件操作全面彻底的监控,达到全面防护数据安全的目的。

Description

一种构造透明编码环境的方法
技术领域
本发明涉及一种构造透明编码环境的方法,属于计算机安全技术领域。
背景技术
近年来,随着计算机及其相关信息技术的不断发展,计算机系统在各个领域的应用越来越广泛,作用也越来越重要,这就使计算机系统的数据安全成为一个不可忽视的问题,各种宝贵的资料、重要的文件都需要得到理想的安全防护,保密信息的泄露将可能造成无法弥补的损失,当前数据的安全防护方法主要是在计算机的应用层对文件进行编码加密处理,但这种方法有以下缺陷:1、无法实现不同用户具有不同的访问权限;2、只能对指定的目录或文件进行加密处理,或者针对特定的文件格式或特定的软件进行文件编码处理,不具有普遍性;3、大多是由用户选择文件进行编码处理,整个过程需要用户发起,不能做到自动进行,无法实现一个透明的运行环境,操作不方便。
为了解决以上问题,申请号为200610096441.1的专利申请公开了在计算机系统中使用的一种计算机数据安全防护方法,该方法在操作系统的文件系统驱动层插入一个文件过滤驱动模块,拦截应用程序发出的文件读写操作,设立存有用户密钥和密码信息的电子钥匙,电子钥匙插入USB接口使程序开启,系统自动为相应用户建立虚拟的“文件保险箱”,对任何以拷贝/粘贴方式添进保险箱的文件或文件夹进行保护,文件或文件夹以密文形式存在于物理介质上,以明文形式存在于内存中,合法用户对加密文件的操作如同普通文件一样,加解密过程对合法用户是透明的,当用户拔出电子钥匙,加密文件立刻隐藏。
上述检索发现的已有技术固然对计算机中的数据具有一定的保护作用,而且解决了用户的访问权限、防护文件的普遍性和对用户透明的问题,然而,这种方法是建立在对第一作者完全信任的基础之上,被保护文件对于第一作者来说,不存在必要的保护处理,第一作者的人为因素造成文件信息泄露成为可能,所以无法防范第一作者是这种方法的一个重要的缺陷。
发明内容
本发明要解决的技术问题是:针对所述现有技术存在的不足,提出一种构造透明编码环境的方法,在解决不同用户的不同访问权限、被防护文件的普遍性和对用户完全透明等问题的基础上,实现包括防范第一作者泄露保密信息在内的全面的数据保护。
为了解决以上技术问题,本发明构造透明编码环境的方法是:采用WINDOWS内核HOOK技术对WINDOWS文件过滤驱动进行HOOK,使文件操作请求进入HOOK后的文件操作相关的例程中,并在每个要经过的例程中,加入监控逻辑和编码处理,对所有文件操作进行监控,构造一个透明的编码环境,对加密文件追加扩展名。
所述方法按照以下步骤进行创建和打开文件操作的监控逻辑和编码处理:
1)HOOKWindows的文件过滤驱动的相关例程,拦截I/O操作请求IRP;
2)从拦截的IRP请求中提取文件对象,并判断当前文件的性质,以及当前进程是否为受监控进程;
3)提取文件后缀名,并判断文件对象是否在HASH表项中存在;
4)判断请求类型,若是创建文件请求,则创建文件,并给创建的文件加上加密后缀;若是打开文件请求,则判断文件是否存在,若存在且不带后缀名,将文件标志为有加密标志,若存在且带后缀名,执行操作打开文件;若不存在且不带后缀名,判断是否为系统文件,若系统文件不存在,则执行创建文件请求,创建包含有加密标志的新文件,若为系统文件,则停止操作;
所述方法按照以下步骤进行写操作的监控逻辑和编码处理:
1)判断当前进程是否为受监控进程,并设置是否是受监控的标志;
2)判断当前进程是否为系统进程或特定进程,若当前进程不是系统进程或特定进程,拒绝环境外进程对加密文件的写操作;若当前进程是系统进程或特定进程,接受环境内进程写入文件操作,并对文件加密;
另外,所述方法的监控逻辑和编码处理还包括以下控制:
当写操作完成时,对写入缓存中的数据进行解密处理,以保证向缓存写入的是明文文件数据;
在系统环境内隐藏追加的后缀名,保证编码环境的透明;
查询文件名时,去掉追加的文件后缀名;
对文件重命名时,将新命名后的文件的后缀名同时加上,保证了重命名文件的正常工作。
本发明由于采用WINDOWS内核HOOK技术对WINDOWS文件过滤驱动进行HOOK,可实现文件安全防护的普遍性;由于处于系统的核心态,合法用户感觉不到计算机的底层运行,不需其他额外操作,并且隐藏对加密文件追加的扩展名,因此对用户完全透明;由于对WINDOWS文件过滤驱动进行HOOK,在文件操作经过的例程中完成逻辑监控,在任何时间,包括第一作者在内的任何用户对文件的操作,都处于逻辑监控之下,形成了一个严密的编码环境,防范包括第一作者在内的用户泄露保密信息,从而实现对WINDOWS系统的文件操作彻底的监控,达到全面防护数据安全的目的。
附图说明
图1为本发明的逻辑流程图。
具体实施方式
由于Windows中的所有的对文件的读写等操作都会通过Windows文件过滤驱动,因此本发明采用对文件过滤驱动中的相关例程进行HOOK,拦截Windows文件过滤驱动来实现透明的文件编码。当用户进行文件读写时,系统会相应的发出I/O读写请求IRP,这些IRP请求首先会经过windows的文件过滤驱动,而我们对windows的文件过滤驱动的相关例程进行了HOOK,所以这些IRP请求会被我们的过滤驱动拦截,在拦截例程中我们对用户的所有文件操作进行过滤,包括对用户读写内容的编码和文件创建时的初始化。在从我们对IRP请求的处理返回后,系统会在文件过滤驱动中继续完成剩余的数据读写操作,从而保证了对所有文件读写等操作的透明保护。
以上透明编码实现可以通用于windows 2000/xp/2003系统。
透明编码环境涉及主要例程包括:CreateRoutine()、ReadCompleteRoutine ()、WriteRoutine()、WriteCompleteRoutine()、DirectoryControlRoutine()FileInformationRoutine()。
下面对上述例程中处理逻辑分别进行详细描述:
1、CreateRoutine():
该例程中实现当创建一个文件(包括打开文件)时,进行编码处理流程。
具体流程伪代码如下:
BOOLEAN            HasSuffix;
PFILE_OBJECT     FileObject;
PHASH_ENTRY    CurrentEntry;
FileObject=currentIrpStack->FileObject;//从IRP中提取文件对象
CurrentEntry=FindFileObjectHashEntry(FileObject);//通过FileObject找到
If(!IsFileObjectDirectory(...))then//如果是文件
     If(IsProcessWatched(PID))then//当前进程是受监控进程
       HasSuffix=FileNameHasEncryptSuffix(OldFileName);//提取文件的后缀名
           If(CurrentEntry!=NULL)then
           //将当前加密标志设置为TRUE;
           If(创建文件)//当前操作是创建文件
             IF(!HasSuffix)then//如果文件名不带有加密后缀
                     //将后缀名追加到后缀;
               Endif
     Else if(打开文件操作)then
            IF(!HasSuffix)then//如果文件名不带有加密后缀
              //将后缀名追加到后缀;
            Endif
            If(FileExists)then//当前文件存在
            IF(!HasSuffix)then//如果文件名不带有加密后缀
                //将文件标志为有加密标志;
            Endif
        Else//当前文件不存在
        IF(!HasSuffix)then//不带后缀,可能为系统文件
                    If(!FileExists)then//如果系统文件不存在
                        If(当前操作是创建文件)then
                                //创建新文件包含有加密标志;
                            Endif
                        Else//不带后缀的文件存在
                           //donothing;
                        Endif
                    Endif
                Endif
        Endif
Else//我们允许未受监控的进程打开加密的文件,但不允许它读写加密的文件
    //donothing;
Endif
Endif
2、ReadCompleteRoutine():
该例程中实现当读操作请求到达时,对文件进行解密处理的流程。
3、WriteRoutine():
该例程中实现当写操作请求到达时,对文件进行加密处理的流程。
具体流程伪代码如下:
If(CurrentEntry)then
if(CurrentEntry)then
    if(!CurrentEntry->Watched)then//受监控的标志为FALSE
        //设置是否是受监控的标志
        CurrentEntry->Watched=IsProcessWatched((ULONG)PsGetCurrentProcess());
    Endif
    //由于系统启动时,某些加密文件已经被创建,但是其哈希表项中的Encrypted
    //标志并未被设置,此处需要进行设置
    if(!CurrentEntry->Encrypted)then
        CurrentEntry->Encrypted=FileNameHasEncryptSuffixA(fullPathName);
    Endif
        if(!CurrentEntry->Watched&&CurrentEntry->Encrypted&&当前进程不是系统进程&&当前进程不是特定进程)then
//环境外进程试图写入加密文件,操作被拒绝
return FILE_WRITE_NOT_PERMITTED;
       endif
       //由于系统缓存文件时,使用的可能是不同的FileObject对象,因此,当文件名带有
       //后缀时,必须对文件进行加密,这就要求一旦系统启动,非受监控进程必须禁止往//加密文件中写数据
if((当前进程是系统进程‖当前进程是特定进程)then
   if(CurrentEntry->Encrypte)then
         CurrentEntry->Watched=TRUE;
Endif
if(CurrentEntry->Watched)then
        if(CurrentEntry->Encrypted)then
                //环境内进程写入文件,文件被加密
            Endif
        Endif
    Endif
Endif
4、WriteCompleteRoutine():
该例程中实现当写操作完成时,保证向缓存中写入的是明文数据,即对写入缓存中的数据进行解密处理。
具体流程伪代码如下:
if(CurrentEntry)then
if(CurrentEntry->Watched)then//受监控的标志为TRUE
if(CurrentEntry->Encrypted)then//文件内容是加密的
              //对加密的文件内容进行解密处理,保证写到缓存的数据为明文;
         Endif
    Endif
Endif
5、DirectoryControlRoutine():
该例程中主要作用是保证用户在系统环境内看到的文件是透明的,即隐藏追加的后缀名。
具体流程伪代码如下:
If(是受监控的进程)then
If(文件有追加的后缀)then
        //隐藏追加的后缀名
Endif
Endif
6、FilelnformationRoutine():
该例程中主要作用是解决了如下两个问题:
1、查询文件名时去掉追加的文件后缀名;
2、在对文件重命名时,将新命名后的文件的后缀名同时加上,保证了重命名的正常工作。
具体流程伪代码如下:
If(IRP_MJ_QUERY_INFORMATION)then//查询文件请求
if(CurrentEntry&&CurrentEntry->AppendedSuffix)then//文件追加了后缀名
    //隐藏后缀名;
Endif
Else if(FileRenameInformation)then//重命名请求
if(!IsFileObjectDirectory())then//是文件
    if(CurrentEntry&&CurrentEntry->Encrypted)then//是加密的文件
                //提取文件的后缀名
            HasSuffix=FileNameHasEncryptSuffix(&tmpUniFileName);
            if(!HasSuffix)//没有追加的后缀名
                //将重命名后的文件名加上后缀
            Endif
        Endif
    Endif
Endif

Claims (7)

1、一种构造透明编码环境的方法,其特征在于采用WINDOWS内核HOOK技术对WINDOWS文件过滤驱动进行HOOK,使文件操作请求进入HOOK后的文件操作相关的例程中,并在每个要经过的例程中,加入监控逻辑和编码处理,对所有文件操作进行监控,构造一个透明的编码环境,对加密文件追加扩展名。
2、如权利要求书1所述的构造透明编码环境的方法,其特征在于进行创建和打开文件操作中,包括以下步骤:
1)HOOKWindows的文件过滤驱动的相关例程,拦截I/O操作请求IRP;
2)从拦截的IRP请求中提取文件对象,并判断当前文件的性质,以及当前进程是否为受监控进程;
3)提取文件后缀名,并判断文件对象是否在HASH表项中存在;
4)判断请求类型,若是创建文件请求,则创建文件,并给创建的文件加上加密后缀;若是打开文件请求,则判断文件是否存在,若存在且不带后缀名,将文件标志为有加密标志,若存在且带后缀名,执行操作打开文件;若不存在且不带后缀名,判断是否为系统文件,若系统文件不存在,则执行创建文件请求,创建包含有加密标志的新文件,若为系统文件,则停止操作。
3、如权利要求书1所述的构造透明编码环境的方法,其特征在于按照以下步骤进行写操作的监控逻辑和编码处理:
1)判断当前进程是否为受监控进程,并设置是否是受监控的标志;
2)判断当前进程是否为系统进程或特定进程,若当前进程不是系统进程或特定进程,拒绝环境外进程对加密文件的写操作;若当前进程是系统进程或特定进程,接受环境内进程对加密文件的写操作,并对文件加密。
4、如权利要求书1所述的构造透明编码环境的方法,其特征在于当写操作完成时,对写入缓存中的数据进行解密处理,以保证向缓存写入的是明文文件数据。
5、如权利要求书1所述的构造透明编码环境的方法,其特征在于在系统环境内隐藏追加的后缀名,保证编码环境的透明。
6、如权利要求书1所述的构造透明编码环境的方法,其特征在于查询文件名时,去掉追加的文件后缀名。
7、如权利要求书1所述的构造透明编码环境的方法,其特征在于对文件重命名时,将新命名后的文件的后缀名同时加上,保证了重命名的正常工作。
CNB2007101185857A 2007-07-10 2007-07-10 一种构造透明编码环境的方法 Expired - Fee Related CN100452076C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101185857A CN100452076C (zh) 2007-07-10 2007-07-10 一种构造透明编码环境的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101185857A CN100452076C (zh) 2007-07-10 2007-07-10 一种构造透明编码环境的方法

Publications (2)

Publication Number Publication Date
CN101101622A true CN101101622A (zh) 2008-01-09
CN100452076C CN100452076C (zh) 2009-01-14

Family

ID=39035894

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101185857A Expired - Fee Related CN100452076C (zh) 2007-07-10 2007-07-10 一种构造透明编码环境的方法

Country Status (1)

Country Link
CN (1) CN100452076C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980160A (zh) * 2010-10-28 2011-02-23 北京飞天诚信科技有限公司 一种.net程序加密后的执行方法
WO2013034006A1 (zh) * 2011-09-05 2013-03-14 腾讯科技(深圳)有限公司 文件打开方法、装置及终端
CN103150499A (zh) * 2012-12-27 2013-06-12 中华电信股份有限公司 防止档案以加密形式外泄的防护方法
CN103488949A (zh) * 2013-09-17 2014-01-01 上海颐东网络信息有限公司 一种电子文档安全保护系统
CN103650410A (zh) * 2011-05-31 2014-03-19 三星Sds株式会社 基于id的加密及签名方法以及终端
CN109886034A (zh) * 2019-02-27 2019-06-14 北京智游网安科技有限公司 一种apk数据加密处理方法、智能终端及存储介质
CN111666078A (zh) * 2020-04-30 2020-09-15 平安科技(深圳)有限公司 源码加固方法、装置、计算机设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260903A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd グループ暗号方法、及びファイル暗号システム
JP2004126634A (ja) * 2002-09-30 2004-04-22 Nec Software Chubu Ltd ファイル保護システム
CN100449560C (zh) * 2006-09-26 2009-01-07 南京擎天科技有限公司 一种计算机数据安全防护方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980160A (zh) * 2010-10-28 2011-02-23 北京飞天诚信科技有限公司 一种.net程序加密后的执行方法
CN101980160B (zh) * 2010-10-28 2013-02-13 飞天诚信科技股份有限公司 一种.net程序加密后的执行方法
CN103650410A (zh) * 2011-05-31 2014-03-19 三星Sds株式会社 基于id的加密及签名方法以及终端
WO2013034006A1 (zh) * 2011-09-05 2013-03-14 腾讯科技(深圳)有限公司 文件打开方法、装置及终端
CN102982031A (zh) * 2011-09-05 2013-03-20 腾讯科技(深圳)有限公司 文件打开方法及装置
CN102982031B (zh) * 2011-09-05 2015-04-01 腾讯科技(深圳)有限公司 文件打开方法及装置
CN103150499A (zh) * 2012-12-27 2013-06-12 中华电信股份有限公司 防止档案以加密形式外泄的防护方法
CN103488949A (zh) * 2013-09-17 2014-01-01 上海颐东网络信息有限公司 一种电子文档安全保护系统
CN103488949B (zh) * 2013-09-17 2016-08-17 上海颐东网络信息有限公司 一种电子文档安全保护系统
CN109886034A (zh) * 2019-02-27 2019-06-14 北京智游网安科技有限公司 一种apk数据加密处理方法、智能终端及存储介质
CN111666078A (zh) * 2020-04-30 2020-09-15 平安科技(深圳)有限公司 源码加固方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN100452076C (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101853363B (zh) 一种文件保护方法及系统
US20200028827A1 (en) Method and system for digital rights management of documents
CN100452076C (zh) 一种构造透明编码环境的方法
US9240883B2 (en) Multi-key cryptography for encrypting file system acceleration
CN100585608C (zh) 一种数据文件的安全处理方法及系统
Hasan et al. Toward a threat model for storage systems
US8880879B2 (en) Accelerated cryptography with an encryption attribute
US20090222500A1 (en) Information storage device and method capable of hiding confidential files
US20080016127A1 (en) Utilizing software for backing up and recovering data
TW201112035A (en) Support for secure objects in a computer system
CN103218575A (zh) 一种主机文件安全监控方法
CN104778954B (zh) 一种光盘分区加密方法及系统
KR101033511B1 (ko) 개인정보 보호 방법 및 이를 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
CN102609667A (zh) 基于过滤驱动程序的文件自动加解密系统和方法
CN103488954A (zh) 一种文件加密系统
CN1776563A (zh) 一种基于通用串行总线接口的文件夹加密装置
CN103544443B (zh) 一种ntfs文件系统下应用层文件隐藏方法
CN1794210A (zh) 移动存储设备的数据安全存储和处理方法
US20090067624A1 (en) System and method of protecting content of an electronic file using a computer
CN101132275B (zh) 一种实现数字内容使用权利的安全保护系统
CN100543762C (zh) 基于硬件环境的计算机辅助设计数据加密保护方法
CN107563226A (zh) 一种存储器控制器、处理器模块及密钥更新方法
JP2005165900A (ja) 情報漏洩防止装置
Liu et al. A file protection scheme based on the transparent encryption technology
CN101814120A (zh) 基于数字水印的word文档数据转移

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SUZHOU HIERSTAR LTD.

Free format text: FORMER OWNER: BEIJING TOPSENSE HIGH-TECH INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20130607

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100085 HAIDIAN, BEIJING TO: 215200 SUZHOU, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20130607

Address after: 215200, Jiangsu, Wujiang, Wujiang Economic Development Zone, south of Yang Lian Road, east of Changan Road (Science and Technology Pioneer Park), Suzhou

Patentee after: HIERSTAR (SUZHOU)., Ltd.

Address before: 100085, room 306, North building, rainbow building, No. 11 information road, Beijing, Haidian District

Patentee before: Beijing Topsense Info-Tech Co.,Ltd.

PP01 Preservation of patent right

Effective date of registration: 20160711

Granted publication date: 20090114

RINS Preservation of patent right or utility model and its discharge
PD01 Discharge of preservation of patent

Date of cancellation: 20170711

Granted publication date: 20090114

PD01 Discharge of preservation of patent
TR01 Transfer of patent right

Effective date of registration: 20170926

Address after: 100085, Beijing, Haidian District on the road No. 11 Rainbow Building on the third floor

Patentee after: Beijing Topsense Info-Tech Co.,Ltd.

Address before: 215200, Jiangsu, Wujiang, Wujiang Economic Development Zone, south of Yang Lian Road, east of Changan Road (Science and Technology Pioneer Park), Suzhou

Patentee before: HIERSTAR (SUZHOU)., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090114

Termination date: 20210710