CN113792319B - 文件加密方法、装置、存储介质与电子设备 - Google Patents

文件加密方法、装置、存储介质与电子设备 Download PDF

Info

Publication number
CN113792319B
CN113792319B CN202111111464.6A CN202111111464A CN113792319B CN 113792319 B CN113792319 B CN 113792319B CN 202111111464 A CN202111111464 A CN 202111111464A CN 113792319 B CN113792319 B CN 113792319B
Authority
CN
China
Prior art keywords
file
processed
header
encryption
rule
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
Application number
CN202111111464.6A
Other languages
English (en)
Other versions
CN113792319A (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.)
Shenzhen Xumi Yuntu Space Technology Co Ltd
Original Assignee
Shenzhen Xumi Yuntu Space 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 Shenzhen Xumi Yuntu Space Technology Co Ltd filed Critical Shenzhen Xumi Yuntu Space Technology Co Ltd
Priority to CN202111111464.6A priority Critical patent/CN113792319B/zh
Publication of CN113792319A publication Critical patent/CN113792319A/zh
Application granted granted Critical
Publication of CN113792319B publication Critical patent/CN113792319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种文件加密方法、文件加密装置、计算机可读存储介质与电子设备,属于计算机技术领域。所述方法包括:在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取所述目标应用对应的文件头规则;根据所述文件头规则确定所述待处理文件的文件加密类型,并按照所述文件加密类型对所述待处理文件进行加密。本公开通过对目标应用程序中的文件进行加密处理,可以提高文件的安全性,防止数据泄露。

Description

文件加密方法、装置、存储介质与电子设备
技术领域
本公开涉及计算机技术领域,尤其涉及一种文件加密方法、文件加密装置、计算机可读存储介质与电子设备。
背景技术
透明加密技术是近年来针对企业文件保密需求应运而生的一种文件加密技术。具体的,当用户打开或编辑文件时,***能够自动完成对未加密文件的加密,且整个过程不会被用户感知,故不会影响用户的正常操作。
目前,在文件加密时,可以通过文件的后缀名来区分文件类型,对相应的文件类型的文件进行加密。这种判断文件类型的方法比较简单和直接,不会产生额外的资源开销,但是一旦文件的后缀名被更改,则会导致无法识别文件的真实类型,使得加密文件变成明文,造成安全数据泄露。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供了一种文件加密方法、文件加密装置、计算机可读存储介质与电子设备,进而至少在一定程度上解决现有技术中文件容易因遭受篡改而导致数据泄露的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种文件加密方法,所述方法包括:在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取所述目标应用对应的文件头规则;根据所述文件头规则确定所述待处理文件的文件加密类型,并按照所述文件加密类型对所述待处理文件进行加密。
在本公开的一种示例性实施方式中,所述获取所述目标应用对应的文件头规则,包括:通过所述内核层驱动程序检测所述目标应用的应用类型,并依据所述应用类型获取所述目标应用对应的文件头规则。
在本公开的一种示例性实施方式中,所述根据所述文件头规则确定所述待处理文件的文件加密类型,包括:根据所述文件头规则确定所述待处理文件的文件头的解析规则和所述待处理文件的文件头校验标识;按照所述解析规则对所述待处理文件进行解析,得到所述待处理文件的文件头,并将所述待处理文件的文件头与所述待处理文件的文件头校验标识进行匹配,确定所述待处理文件是否属于加密文件类型。
在本公开的一种示例性实施方式中,在按照所述解析规则对所述待处理文件进行解析时,所述方法包括:通过所述解析规则确定所述待处理文件的文件头的字节数和/或各字节在所述待处理文件中的字节位置;按照所述字节数和/或各所述字节在所述待处理文件中的字节位置提取字节数据,以得到所述待处理文件的文件头。
在本公开的一种示例性实施方式中,在将所述待处理文件的文件头与所述待处理文件的文件头校验标识进行匹配,确定所述待处理文件是否属于加密文件类型时,所述方法还包括:按照预设转换规则对所述待处理文件的文件头进行转换处理,并将处理后的文件头与所述待处理文件的文件头校验标识进行匹配,确定所述待处理文件是否属于加密文件类型;其中,所述预设转换规则包括采用哈希算法将所述待处理文件的文件头转换为具有固定长度的哈希值。
在本公开的一种示例性实施方式中,所述方法还包括:根据所述文件头规则确定与所述待处理文件的文件类型匹配的加密策略,所述加密策略包括所述待处理文件的加密等级和与所述加密等级对应的加密算法;在确定所述待处理文件属于加密文件类型时,在所述待处理文件的首部或尾部添加加密标识,以使所述内核层驱动程序根据所述加密标识确定加密算法,并按照所述加密算法对所述待处理文件进行加密。
在本公开的一种示例性实施方式中,在对所述待处理文件进行加密时,所述方法还包括:通过向服务端发送所述待处理文件的加密密钥的获取请求,获取所述待处理文件的加密密钥;基于预设的加密算法,采用所述待处理文件的加密密钥对所述待处理文件进行加密处理,所述预设的加密算法包括对称加密算法、非对称加密算法和由所述对称加密算法和所述非对称加密算法构成的组合算法中的任意一种或多种。
根据本公开的第二方面,提供一种文件加密装置,所述装置包括:获取模块,用于在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取所述目标应用对应的文件头规则;加密模块,用于根据所述文件头规则确定所述待处理文件的文件加密类型,并按照所述文件加密类型对所述待处理文件进行加密。
在本公开的一种示例性实施方式中,所述获取模块用于通过所述内核层驱动程序检测所述目标应用的应用类型,并依据所述应用类型获取所述目标应用对应的文件头规则。
在本公开的一种示例性实施方式中,所述加密模块用于根据所述文件头规则确定所述待处理文件的文件头的解析规则和所述待处理文件的文件头校验标识,按照所述解析规则对所述待处理文件进行解析,得到所述待处理文件的文件头,并将所述待处理文件的文件头与所述待处理文件的文件头校验标识进行匹配,确定所述待处理文件是否属于加密文件类型。
在本公开的一种示例性实施方式中,在按照所述解析规则对所述待处理文件进行解析时,所述加密模块还用于通过所述解析规则确定所述待处理文件的文件头的字节数和/或各字节在所述待处理文件中的字节位置,按照所述字节数和/或各所述字节在所述待处理文件中的字节位置提取字节数据,以得到所述待处理文件的文件头。
在本公开的一种示例性实施方式中,在将所述待处理文件的文件头与所述待处理文件的文件头校验标识进行匹配,确定所述待处理文件是否属于加密文件类型时,所述加密模块还用于按照预设转换规则对所述待处理文件的文件头进行转换处理,并将处理后的文件头与所述待处理文件的文件头校验标识进行匹配,确定所述待处理文件是否属于加密文件类型;其中,所述预设转换规则包括采用哈希算法将所述待处理文件的文件头转换为具有固定长度的哈希值。
在本公开的一种示例性实施方式中,所述加密模块还用于根据所述文件头规则确定与所述待处理文件的文件类型匹配的加密策略,所述加密策略包括所述待处理文件的加密等级和与所述加密等级对应的加密算法,在确定所述待处理文件属于加密文件类型时,在所述待处理文件的首部或尾部添加加密标识,以使所述内核层驱动程序根据所述加密标识确定加密算法,并按照所述加密算法对所述待处理文件进行加密。
在本公开的一种示例性实施方式中,在对所述待处理文件进行加密时,所述加密模块还用于通过向服务端发送所述待处理文件的加密密钥的获取请求,获取所述待处理文件的加密密钥,基于预设的加密算法,采用所述待处理文件的加密密钥对所述待处理文件进行加密处理,所述预设的加密算法包括对称加密算法、非对称加密算法和由所述对称加密算法和所述非对称加密算法构成的组合算法中的任意一种或多种。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种文件加密方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种文件加密方法。
本公开具有以下有益效果:
综上,根据本示例性实施方式中的文件加密方法、文件加密装置、计算机可读存储介质和电子设备,可以在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取目标应用对应的文件头规则,根据文件头规则确定待处理文件的文件加密类型,并按照文件加密类型对待处理文件进行加密。本方案通过根据文件头规则确定待处理文件的文件加密文类型,并按照文件加密类型加密待处理文件,可以实现文件的透明加密,保障文件数据的安全,同时,可以依据文件头规则确定文件的真实类型,不会因为文件更改后缀而无法识别文件类型,故也可以提高文件类型的识别准确性,提高加密可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种文件加密方法的流程图;
图2示出本示例性实施方式中一种确定文件加密类型的流程图;
图3示出本示例性实施方式中一种加密待处理文件的流程图;
图4示出本示例性实施方式中另一种加密待处理文件的流程图;
图5示出本示例性实施方式中另一种文件加密方法的流程图;
图6示出本示例性实施方式中一种文件加密装置的结构框图;
图7示出本示例性实施方式中一种用于实现上述方法的计算机可读存储介质;
图8示出本示例性实施方式中一种用于实现上述方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
本公开的示例性实施方式首先提供了一种文件加密方法,该方法可以应用于终端设备,使得终端设备在使用目标应用处理待处理文件时,对待处理文件进行加密,且加密过程不会影响用户的正常操作。作为本示例性实施方式中文件加密方法的***环境示例,文件加密方法可以由终端设备中具备数据处理监测和加密功能的文件处理***完成,该文件处理***可以是配置在操作***的内核层的文件***,如可以位于文件***和服务***之间的接口层,在用户通过目标应用处理文件时,文件处理***可以通过内核层驱动程序监测目标应用对文件的操作类型,并对文件进行透明加密。
图1示出了本示例性实施方式的一种流程,可以包括以下步骤S110~S120:
步骤S110.在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取目标应用对应的文件头规则。
内核层是操作***中最基本的部分,可以为各种应用程序提供计算机硬件的安全访问,操作***一般可以划分为内核模式和用户模式,***的核心代码运行在内核模式下,非核心代码运行在用户模式下。内核层驱动程序是指运行于内核模式下拥有操作***最高权限的程序,可以用于接收I/O管理器发送的应用程序的访问请求,并对该访问请求进行处理。本示例性实施方式中,目标应用可以是任意一种应用程序,如可以是CAD软件、Revit软件、SketchUp软件等中的任意一种或多种;待处理文件可以是通过目标应用处理的文件,以CAD软件为例,待处理文件可以是DWG格式的文件或DXF格式的文件等。写入操作可以包括对待处理文件的备份、保存历史数据、记录日志等操作类型。目标应用对应的文件头规则可以是目标应用所支持的各个文件类型对应的文件头规则,包括但不限于文件头的读取规则、解析规则和存储规则,文件头规则可以由用户预先通过应用层,也就是用户模式配置生成。
在通过目标应用处理待处理文件时,可以通过内核层驱动程序监测目标应用对待处理文件的操作类型,并在检测到目标应用执行关于待处理文件的写入操作时,获取目标应用对应的文件头规则,如可以从应用层配置的规则文件中,读取目标应用对应的文件头规则。
具体的,在一种可选的实施方式中,可以通过以下方法获取目标应用对应的文件头规则:
通过内核层驱动程序检测目标应用的应用类型,并依据该应用类型获取目标应用对应的文件头规则。
对于终端设备上运行的各个应用程序,内核层驱动程序可以监测各应用的运行状态,比如可以监测各应用对文件执行何种操作,以及当前执行操作的用户的权限信息等。当检测到目标应用执行关于待处理文件的写入操作时,可以判断目标应用的应用类型,如可以依据存储的各应用的应用标识判断目标应用的应用名称,并依据该应用名称获取目标应用对应的文件头规则。例如,当检测到目标应用对待处理文件执行备份操作或记录日志、历史数据等操作时,可以按照目标应用的应用类型,读取终端设备预先存储的关于目标应用的文件头规则。
通过上述由内核层驱动程序监测目标应用对待处理文件的操作的方法,可以在通过目标应用处理待处理文件时,实时检测待处理文件的处理环境,判断待处理文件是否处于安全环境。
此外,在目标应用读取待处理文件时,内核层驱动程序可以根据应用程序的访问请求确定当前操作用户的操作权限,例如,内核层驱动程序可以依据I/O管理器发送目标应用的读取请求中的用户标识确定当前操作用户的操作权限,如判断操作用户是否具备读取权限,或者判断具备读取权限的用户是否具备写入权限等,控制操作用户在操作权限的范围内对待处理文件进行处理,如在确定允许操作用户访问待处理文件时,可以向存储待处理文件的文件***中发送访问请求,控制目标应用读取待处理文件。
步骤S120.根据文件头规则确定待处理文件的文件加密类型,并按照文件加密类型对待处理文件进行加密。
在获取目标应用对应的文件头规则后,可以根据文件头规则确定待处理文件的文件加密类型,如待处理文件是否属于需要加密的文件,以及待处理文件的加密等级等,来按照待处理文件的文件加密类型对待处理文件进行加密。
在一种可选的实施方式中,参考图2所示,步骤S120可以通过以下步骤S210~S220实现:
步骤S210,根据文件头规则确定待处理文件的文件头的解析规则和待处理文件的文件头校验标识。
待处理文件的文件头的解析规则可以包括待处理文件的文件头的读取方式和转换规则等;待处理文件的文件头校验标识可以用于验证待处理文件的文件头是否符合加密条件,可以是由数字、字母和特殊符号等构成的标识。本示例性实施方式中,待处理文件的文件头校验标识可以由操作人员预先根据加密需求和目标应用所支持的文件类型进行设置,例如,可以针对目标应用对应的每种文件类型分别设置文件头校验标识,或者如果需要对目标应用支持的全部文件类型的文件进行加密,则可以将目标应用对应的全部文件类型的文件头校验标识设置为相同的标识数据。下表1示出了一种文件头校验标识的示例,如下所示:
表1
目标应用 文件类型 文件头校验标识 标识位置
Revit RVT/RTE/RFA D0 CF 11 E0 A1 B1 1A E1 文件头8比特
CAD DWG/DWT 41 43 31 30 文件头4比特
SketchUp SKP FF FF FF 0E 53 20 6B 20 文件头8比特
在上述文件头校验标识中,属于同一种应用程序的全部文件类型对应的文件头校验标识为同一种校验标识。
在获取目标应用对应的文件头规则后,可以在该文件头规则中读取与目标应用对应的应用类型的文件头规则,并从中提取出与待处理文件的文件类型相一致的文件头规则,通过该文件头规则中确定待处理文件的文件头的解析规则,并读取出待处理文件的文件头校验标识。
步骤S220,按照解析规则对待处理文件进行解析,得到待处理文件的文件头,并将待处理文件的文件头与待处理文件的文件头校验标识进行匹配,确定待处理文件是否属于加密文件类型。
在确定待处理文件的文件头的解析规则后,可以按照该解析规则解析待处理文件,如可以读取待处理文件的字节数据,并从中提取出一定字节范围内的数据,作为待处理文件的文件头,然后将待处理文件的文件头与待处理文件的文件头校验标识进行匹配,来确定待处理文件是否属于加密文件类型。例如,在确定待处理文件的文件头与文件头校验标识匹配成功时,可以确定待处理文件属于加密文件类型,反之,如果待处理文件的文件头与文件头校验标识匹配不成功,则说明待处理文件不需要进行加密,此时,内核层驱动程序可以将目标应用的访问请求下发至下一层驱动程序进行处理,以控制目标应用正常处理待处理文件。
实际上,文件在被应用程序读取之前,在硬盘中都是以二进制的方式按照一定顺序存储的,只有应用程序按照固定的顺序读取文件各部分的内容,才能获得文件中的数据,否则将无法获得正确的文件数据。在本示例性实施方式中,文件头作为文件向应用程序表明“身份”的标识,也可以按照其对应的解析规则从待处理文件中解析得到。具体的,在一种可选的实施方式中,可以通过执行以下方法解析待处理文件,获得待处理文件的文件头:
通过解析规则确定待处理文件的文件头的字节数和/或各字节在待处理文件中的字节位置;
按照上述字节数和/或各字节在待处理文件中的字节位置提取字节数据,以得到待处理文件的文件头。
例如,内核层驱动程序可以根据待处理文件的文件头的解析规则确定读取待处理文件的文件头的字节数,在获取待处理文件的文件头时,可以从待处理文件的头部开始,读取相应字节数得到待处理文件的文件头,如对于CAD软件中的DWG和DWT格式的文件,其文件头可以是前4个字节的字节数据,即41 43 31 30。再例如,内核层驱动程序可以根据待处理文件的文件头的解析规则确定读取待处理文件的文件头的字节数和字节位置,比如可以是按照每个字节的间隔数读取待处理文件的文件头,如对于SketchUp软件中的SKP格式的文件,可以从第一个字节开始,间隔1位读取字节数据,来得到字节数为4的文件头,即得到的字节头为FF FF 536B。
通过上述方法,可以按照既定的文件规则读取待处理文件的文件头,在通过这种方式进行加密后,即使修改了文件的后缀,也依然能够辨别文件的真实类型。
在一种可选的实施方式中,在将待处理文件的文件头与待处理文件的文件头校验标识进行匹配,确定待处理文件是否属于加密文件类型时,还可以执行以下方法:
按照预设转换规则对待处理文件的文件头进行转换处理,并将处理后的文件头与待处理文件的文件头校验标识进行匹配,确定待处理文件是否属于加密文件类型。
其中,预设转换规则可以包括采用哈希算法将待处理文件的文件头转换为具有固定长度的哈希值。
待处理文件的文件头校验标识可以是经过一定转换规则处理后得到的标识数据,如可以是采用哈希算法转换后得到的具有固定长度的哈希值。因此,在将待处理文件的文件头与待处理文件的文件头校验标识进行匹配时,可以先按照预设转换规则将待处理文件的文件头进行转换处理,然后将处理后得到的文件头与文件头校验标识进行匹配,来确定待处理文件是否属于加密文件类型。通过这种方法,文件头校验标识可以存储为通过转换规则处理后的标识数据,可以提高文件头校验标识的安全等级,避免文件头校验标识被随意修改而影响对待处理文件的加密。此外,当待处理文件的文件头的数据量较大时,可以通过预设转换规则将其转换为具有固定长度的哈希值,提高判断待处理文件的文件加密类型的速度。
进一步的,在进行加密时,可以对不同类型或等级的文件配置不同的加密规则,具体的,在一种可选的实施方式中,参考图3所示,可以通过执行以下步骤S310~S320对待处理文件进行加密:
步骤S310,根据文件头规则确定与待处理文件的文件类型匹配的加密策略。
加密策略可以包括待处理文件的加密等级和与加密等级对应的加密算法,例如,待处理文件的文件信息中可以包括文件的重要等级,加密策略可以是按照文件的重要等级配置的具有不同复杂程度的加密算法。在通过内核层驱动程序对待处理文件进行加密时,内核层驱动程序可以读取应用层配置的文件头规则,确定与待处理文件的文件类型匹配的加密策略。
步骤S320,在确定待处理文件属于加密文件类型时,在待处理文件的首部或尾部添加加密标识,以使内核层驱动程序根据加密标识确定加密算法,并按照加密算法对待处理文件进行加密。
当确定待处理文件属于加密文件类型时,内核层驱动程序可以在待处理文件的首部或尾部添加自定义的加密标识,如可以是一定长度的字符串,交由加密算法按照待处理文件的加密标识对应的加密算法进行加密。例如,加密标识可以包括待处理文件的加密算法和加密密钥,在进行加密时,内核层驱动程序可以依据待处理文件的加密标识获取加密密钥,并采用该加密密钥按照加密算法对待处理文件进行加密。
通过上述步骤S310~S320,可以基于不同的文件类型对待处理文件采用相应的加密策略进行加密,实现文件的区别加密,可以提高文件的加密灵活性,也能够在一定程度上增强文件的安全性。
进一步的,在一种可选的实施方式中,待处理文件可以采用不同的加密算法进行加密,而加密的密钥可以通过向服务端发送请求获得,即,在进行加密处理时,参考图4所示,还可以执行以下方法:
步骤S410,通过向服务端发送待处理文件的加密密钥的获取请求,获取待处理文件的加密密钥。
例如,在进行加密时,终端设备可以将待处理文件的文件头校验码作为待处理文件的文件标识发送至服务端,从而接收服务端依据文件标识分发的加密密钥。
步骤S420,基于预设的加密算法,采用待处理文件的加密密钥对待处理文件进行加密处理。
其中,预设的加密算法可以包括对称加密算法、非对称加密算法和由对称加密算法和非对称加密算法构成的组合算法中的任意一种或多种,如可以是AES(AdvancedEncryption Standard,高级加密标准)算法、DES(Data Encryption Standard,数据加密标准)算法、RSA算法(一种非对称加密算法)等。
在获取加密密钥后,内核层驱动程序可以按照对应的加密算法,采用加密密钥对待处理文件进行加密。以DES算法为例,内核层驱动程序可以将待处理文件经过IP置换表对待处理文件中的数据位置进行置换,然后采用子密钥对置换后的待处理文件进行迭代处理,最后执行逆置换,生成最终的密文数据。
通过上述方法,可以完成对待处理文件的透明加密,使得待处理文件在硬盘中存储为密文数据,在内存中则为明文数据,能够有效保障待处理文件的安全性。
在一种可选的实施方式中,文件头规则还可以包括对待处理文件进行加密时的数据分段规则,在对待处理文件进行加密时,还可以按照数据分段规则对待处理文件进行分段,然后按照不同或相同的加密算法对待处理文件的每个分段进行加密处理,生成最终的密文数据。其中,数据分段规则可以包括每个分段的长度、分段的间隔等,本示例性实施方式对此不做具体限定。通过这种方式,可以进一步提高文件的安全性。
本示例性实施方式中,可以对特定的目标应用进行监测,实现对目标应用中执行写入操作的文件进行加密。具体的,参考图5所示,假设目标应用为CAD软件、Revit软件和SketchUp软件,可以执行以下步骤:
步骤S510,通过内核层驱动程序监测应用程序执行关于待处理文件的写入操作,在确定执行写入操作时,执行步骤S520。
步骤S520,判断应用程序的应用类型,确定应用程序是否为目标应用。当确定应用程序为目标应用时,可以执行步骤S530,反之,当确定应用程序不是目标应用时,可以执行步骤S560,存储待处理文件。
具体的,内核层驱动程序可以监测目标应用是否为上述CAD软件、Revit软件和SketchUp软件中的任意一种或多种。
步骤S530,根据目标应用对应的文件头规则确定待处理文件的文件头的解析规则,并按照该解析规则解析待处理文件的文件头。
例如,当目标应用为Revit软件时,可以从待处理文件中解析得到位于待处理文件首部的8比特的文件头;当目标应用为CAD软件时,可以从待处理文件中解析得到位于待处理文件首部的4比特的文件头;当目标应用为SketchUp软件时,可以从待处理文件中解析得到位于待处理文件首部的8比特的文件头。
步骤S540,判断待处理文件的文件头与对应的文件头校验标识是否匹配。
当确定待处理文件的文件头与对应的文件头校验标识匹配时,说明待处理文件属于文件加密类型,则可以执行步骤S550,完成对待处理文件的加密,反之,说明待处理文件不属于文件加密类型,则可以执行步骤S560,存储待处理文件。
步骤S550,对待处理文件进行加密。
例如,文件头规则中可以配置存储对待处理文件的加密密钥和加密规则,内核层驱动程序可以利用文件头规则确定对待处理文件进行加密的加密算法,并采用加密密钥对待处理文件进行加密。
步骤S560,将加密后的待处理文件存储至存储介质。
其中,存储介质也可以是本地数据库或任意一种云端数据存储平台等,本示例性实施方式对此不做特殊限定。
综上,根据本示例性实施方式中的文件加密方法,可以在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取目标应用对应的文件头规则,根据文件头规则确定待处理文件的文件加密类型,并按照文件加密类型对待处理文件进行加密。本方案通过根据文件头规则确定待处理文件的文件加密文类型,并按照文件加密类型加密待处理文件,可以实现文件的透明加密,保障文件数据的安全,同时,可以依据文件头规则确定文件的真实类型,不会因为文件更改后缀而无法识别文件类型,故也可以提高文件类型的识别准确性,提高加密可靠性。
本示例性实施方式中还提供了一种文件加密装置,参考图6所示,文件加密装置600可以包括:获取模块610,可以用于在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取目标应用对应的文件头规则;加密模块620,可以用于根据文件头规则确定待处理文件的文件加密类型,并按照文件加密类型对待处理文件进行加密。
在本公开的一种示例性实施方式中,获取模块610可以用于通过内核层驱动程序检测目标应用的应用类型,并依据应用类型获取目标应用对应的文件头规则。
在本公开的一种示例性实施方式中,加密模块620可以用于根据文件头规则确定待处理文件的文件头的解析规则和待处理文件的文件头校验标识,按照解析规则对待处理文件进行解析,得到待处理文件的文件头,并将待处理文件的文件头与待处理文件的文件头校验标识进行匹配,确定待处理文件是否属于加密文件类型。
在本公开的一种示例性实施方式中,在按照解析规则对待处理文件进行解析时,加密模块620还可以用于通过解析规则确定待处理文件的文件头的字节数和/或各字节在待处理文件中的字节位置,按照字节数和/或各字节在待处理文件中的字节位置提取字节数据,以得到待处理文件的文件头。
在本公开的一种示例性实施方式中,在将待处理文件的文件头与待处理文件的文件头校验标识进行匹配,确定待处理文件是否属于加密文件类型时,加密模块620还可以用于按照预设转换规则对待处理文件的文件头进行转换处理,并将处理后的文件头与待处理文件的文件头校验标识进行匹配,确定待处理文件是否属于加密文件类型;其中,预设转换规则包括采用哈希算法将待处理文件的文件头转换为具有固定长度的哈希值。
在本公开的一种示例性实施方式中,加密模块620还可以用于根据文件头规则确定与待处理文件的文件类型匹配的加密策略,加密策略包括待处理文件的加密等级和与加密等级对应的加密算法,在确定待处理文件属于加密文件类型时,在待处理文件的首部或尾部添加加密标识,以使内核层驱动程序根据加密标识确定加密算法,并按照加密算法对待处理文件进行加密。
在本公开的一种示例性实施方式中,在对待处理文件进行加密时,加密模块620还可以用于通过向服务端发送待处理文件的加密密钥的获取请求,获取待处理文件的加密密钥,基于预设的加密算法,采用待处理文件的加密密钥对待处理文件进行加密处理,预设的加密算法包括对称加密算法、非对称加密算法和由对称加密算法和非对称加密算法构成的组合算法中的任意一种或多种。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的方案细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为***、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
参考图7所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
程序产品700可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备,该电子设备可以是用于执行本示例性实施方式中的文件加密方法的终端设备。下面参照图8来描述根据本公开的这种示例性实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图8所示,电子设备800可以以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同***组件(包括存储单元820和处理单元810)的总线830和显示单元840。
其中,存储单元820存储有程序代码,程序代码可以被处理单元810执行,使得处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元810可以执行图1至图5所示的方法步骤等。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(ROM)823。
存储单元820还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例性实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开示例性实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

Claims (6)

1.一种文件加密方法,其特征在于,所述方法包括:
在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取所述目标应用对应的文件头规则;
根据所述文件头规则确定所述待处理文件的文件加密类型,并按照所述文件加密类型对所述待处理文件进行加密;
其中,所述文件头规则包括应用于对所述待处理文件进行加密的数据分段规则,所述数据分段规则用于对所述待处理文件进行分段;
以及,按照所述文件加密类型对所述待处理文件进行加密的方式在于:按照所述文件加密类型对所述待处理文件的各分段进行加密;
其中,所述根据所述文件头规则确定所述待处理文件的文件加密类型,包括:
根据所述文件头规则确定所述待处理文件的文件头的解析规则和所述待处理文件的文件头校验标识;
通过所述解析规则确定所述待处理文件的文件头的字节数和/或各字节在所述待处理文件中的字节位置;
按照所述字节数和/或各所述字节在所述待处理文件中的字节位置提取字节数据,以得到所述待处理文件的文件头;
按照预设转换规则对所述待处理文件的文件头进行转换处理,并将处理后的文件头与所述待处理文件的文件头校验标识进行匹配,确定所述待处理文件是否属于加密文件类型;其中,所述预设转换规则包括采用哈希算法将所述待处理文件的文件头转换为具有固定长度的哈希值;
其中,还包括:
根据所述文件头规则确定与所述待处理文件的文件类型匹配的加密策略,所述加密策略包括所述待处理文件的加密等级和与所述加密等级对应的加密算法;
在确定所述待处理文件属于加密文件类型时,在所述待处理文件的首部或尾部添加加密标识,以使所述内核层驱动程序根据所述加密标识确定加密算法,并按照所述加密算法对所述待处理文件进行加密。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标应用对应的文件头规则,包括:
通过所述内核层驱动程序检测所述目标应用的应用类型,并依据所述应用类型获取所述目标应用对应的文件头规则。
3.根据权利要求1所述的方法,其特征在于,在对所述待处理文件进行加密时,所述方法还包括:
通过向服务端发送所述待处理文件的加密密钥的获取请求,获取所述待处理文件的加密密钥;
基于预设的加密算法,采用所述待处理文件的加密密钥对所述待处理文件进行加密处理,所述预设的加密算法包括对称加密算法、非对称加密算法和由所述对称加密算法和所述非对称加密算法构成的组合算法中的任意一种或多种。
4.一种文件加密装置,其特征在于,所述装置包括:
获取模块,用于在通过内核层驱动程序检测到目标应用执行关于待处理文件的写入操作时,获取所述目标应用对应的文件头规则;
加密模块,用于根据所述文件头规则确定所述待处理文件的文件加密类型,并按照所述文件加密类型对所述待处理文件进行加密;
其中,所述文件头规则包括应用于对所述待处理文件进行加密的数据分段规则,所述数据分段规则用于对所述待处理文件进行分段;
以及,所述加密模块按照所述文件加密类型对所述待处理文件进行加密的方式在于:按照所述文件加密类型对所述待处理文件的各分段进行加密;
其中,所述加密模块根据所述文件头规则确定所述待处理文件的文件加密类型,包括:
根据所述文件头规则确定所述待处理文件的文件头的解析规则和所述待处理文件的文件头校验标识;
通过所述解析规则确定所述待处理文件的文件头的字节数和/或各字节在所述待处理文件中的字节位置;
按照所述字节数和/或各所述字节在所述待处理文件中的字节位置提取字节数据,以得到所述待处理文件的文件头;
按照预设转换规则对所述待处理文件的文件头进行转换处理,并将处理后的文件头与所述待处理文件的文件头校验标识进行匹配,确定所述待处理文件是否属于加密文件类型;其中,所述预设转换规则包括采用哈希算法将所述待处理文件的文件头转换为具有固定长度的哈希值;
其中,还包括:
根据所述文件头规则确定与所述待处理文件的文件类型匹配的加密策略,所述加密策略包括所述待处理文件的加密等级和与所述加密等级对应的加密算法;
在确定所述待处理文件属于加密文件类型时,在所述待处理文件的首部或尾部添加加密标识,以使所述内核层驱动程序根据所述加密标识确定加密算法,并按照所述加密算法对所述待处理文件进行加密。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-3任一项所述的方法。
6.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-3任一项所述的方法。
CN202111111464.6A 2021-09-18 2021-09-18 文件加密方法、装置、存储介质与电子设备 Active CN113792319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111111464.6A CN113792319B (zh) 2021-09-18 2021-09-18 文件加密方法、装置、存储介质与电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111111464.6A CN113792319B (zh) 2021-09-18 2021-09-18 文件加密方法、装置、存储介质与电子设备

Publications (2)

Publication Number Publication Date
CN113792319A CN113792319A (zh) 2021-12-14
CN113792319B true CN113792319B (zh) 2024-06-18

Family

ID=78879137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111111464.6A Active CN113792319B (zh) 2021-09-18 2021-09-18 文件加密方法、装置、存储介质与电子设备

Country Status (1)

Country Link
CN (1) CN113792319B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114662146A (zh) * 2022-03-24 2022-06-24 平安科技(深圳)有限公司 密文数据的存放方法、装置、设备及存储介质
CN116150786B (zh) * 2023-01-10 2023-11-28 深圳技术大学 基于指令密匙自行设定的u盘文件加密***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751536A (zh) * 2009-12-16 2010-06-23 深圳市虹安信息技术有限公司 增加文件头的文件透明加密方法
CN102609667A (zh) * 2012-02-22 2012-07-25 浙江机电职业技术学院 基于过滤驱动程序的文件自动加解密***和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1219260C (zh) * 2003-09-02 2005-09-14 四川大学 一种安全文件***的存储及访问控制方法
CN102334124B (zh) * 2011-08-15 2014-08-20 华为终端有限公司 文件的保护方法及装置
CN103218575A (zh) * 2013-04-17 2013-07-24 武汉元昊科技有限公司 一种主机文件安全监控方法
CN103617401B (zh) * 2013-11-25 2017-02-08 北京深思数盾科技股份有限公司 一种数据文件保护方法及装置
CN106060003A (zh) * 2016-05-09 2016-10-26 北京航天数控***有限公司 一种网络边界单向隔离传输装置
CN107516045A (zh) * 2016-06-17 2017-12-26 中兴通讯股份有限公司 文件保护方法及装置
CN110166451B (zh) * 2019-05-20 2021-11-16 北京计算机技术及应用研究所 一种轻量级电子文档传递控制***及方法
CN111143291A (zh) * 2019-11-19 2020-05-12 厦门天锐科技股份有限公司 加密文件的搜索方法、装置和电子设备
CN110990851B (zh) * 2019-11-26 2021-07-23 山东三未信安信息科技有限公司 一种静态数据加密保护方法及***
CN111324901A (zh) * 2020-02-19 2020-06-23 陈灿阳 一种用于创建和解密企业安全加密文件的方法
CN112966284A (zh) * 2021-03-26 2021-06-15 知印信息技术(天津)有限公司 一种文件加解密方法、***和计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751536A (zh) * 2009-12-16 2010-06-23 深圳市虹安信息技术有限公司 增加文件头的文件透明加密方法
CN102609667A (zh) * 2012-02-22 2012-07-25 浙江机电职业技术学院 基于过滤驱动程序的文件自动加解密***和方法

Also Published As

Publication number Publication date
CN113792319A (zh) 2021-12-14

Similar Documents

Publication Publication Date Title
CN113792319B (zh) 文件加密方法、装置、存储介质与电子设备
US10958657B2 (en) Utilizing transport layer security (TLS) fingerprints to determine agents and operating systems
US20110060915A1 (en) Managing Encryption of Data
CN110324416B (zh) 下载路径跟踪方法、装置、服务器、终端及介质
CN111291339A (zh) 一种区块链数据的处理方法、装置、设备及存储介质
CN113225351B (zh) 一种请求处理方法、装置、存储介质及电子设备
CN111143808B (zh) ***安全认证方法、装置及计算设备、存储介质
CN111585995A (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
CN113285945B (zh) 通信安全监控方法、装置、设备及存储介质
CN110633074A (zh) 一种软件开发工具包的使用控制方法及装置
CN114615031A (zh) 文件存储方法、装置、电子设备及存储介质
CN110545542A (zh) 基于非对称加密算法的主控密钥下载方法、装置和计算机设备
CN109522683A (zh) 软件溯源方法、***、计算机设备及存储介质
CN112883397B (zh) 数据存储方法、数据读取方法、装置、设备及存储介质
CN113037760B (zh) 报文发送方法和装置
CN112825093B (zh) 安全基线检查方法、主机、服务器、电子设备及存储介质
CN114884714A (zh) 任务处理方法、装置、设备及存储介质
CN113992345A (zh) 网页敏感数据加解密方法、装置、电子设备及存储介质
CN117195297B (zh) 基于erp的数据安全与隐私保护***及方法
CN113627938B (zh) 一种区块链的数据删除方法、装置、设备及存储介质
CN114978737B (zh) 一种多普勒天气雷达数据的综合管理***
CN113486380B (zh) 文本文件的加密方法
US20240089270A1 (en) Detecting malicious behavior from handshake protocols using machine learning
CN116996248A (zh) 车载ecu文件安全管理方法、装置、设备和存储介质
US20140090076A1 (en) Method for detecting a possibility of an unauthorized transmission of a specific datum

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