# Ping32将在3\.7\.59中支持文件落地加密 \| Ping32官网 \| 数据防泄漏\(DLP\) \| 文档安全加密

Canonical: https://www.nsecsoft.com/default/2021110501.html

Language: zh-CN

Updated: 2026-11-04T07:56:26.56304Z

文件落地是一个很场景化的描述，比如：微信收到了对方发来的一个Word文件；将U盘中的CAD图纸拷贝到了桌面…… \[…\]

文件落地是一个很场景化的描述，比如：微信收到了对方发来的一个Word文件；将U盘中的CAD图纸拷贝到了桌面……这些行为我们都可以理解为文件落地。如果站在技术角度来看待文件落地行为，

我们可以理解为某个应用调用了(Nt)CreateFile创建了一个文件。在11月要发布的版本中，我们会引入对文件落地加密的支持，这个功能我们称之为：

***新建文件加密***

。

文档透明加密的核心逻辑是将指定进程配置为授信进程，授信进程创建的文件自动加密，打开文件则自动解密；其余非授信进程则不具备打开查看文件解密视图的能力。在此基础上衍生出来半透明加密的概念，即：打开文件自动解密，但是创建文件不加密。这里面的一个重要的概念是授信进程。文件落地加密功能与文档透明加密核心的不同之处在于，文件落地加密没有授信进程的概念，这个很好理解，因为我们无法控制，到底是哪个软件进程实现了落地，比如：浏览器、网盘、QQ、微信、迅雷等软件都可以下载一个文件，这个过程就是文件落地，但是我们无法把这些软件设置为授信软件。

因此，在策略的交互设置中，我们仅仅设置了：加密的路径、加密的文件类型、忽略的路径、忽略的文件类型。通过这些组合，我们实现了全盘或者局部的指定文件类型的落地自动加密。

![](<https://www.nsecsoft.com/site-assets/bd479a7e2f6829c160217f5ef8075eb7317c364c4447adfeb14f5da8239c94ec/88dbd1d9082a50745aefa6842937f916175c11d935c9f7ff9294158a5d320a14/5f4dc6d5dc4a3361de76ce4da92d1e06d9910b7ecd73f669311c4414738f52f9/16360876636506-1200x752.png>) 全盘加密

文件落地加密在使用场景上是简单易理解的，但是在技术细节上，会有若干问题，下面我将对其进行阐述说明。

**1、优先执行授信软件的规则行为，并且规则匹配成功后不再匹配执行新建文件加密规则。**

举个例子，我们设置了如下语义的新建文件加密规则：  
对在 D:\\Test1 目录下新建 \*.txt 文件进行加密；  
对在 D:\\Test2 目录下新建 \*.log 文件进行忽略；  
同时，我们的透明加解密核心设置了针对记事本（notepad.exe）操作 \*.txt 和 \*.log 文件类型透明加解密的规则。那么会有以下几个问题：

1、记事本在 D:\\Test1 中创建了一个 \*.txt 文件，文件是否会被加密。 *答：会被加密。加密是因为匹配到了授信软件的规则。*

2、记事本在 D:\\Test1 中创建了一个 \*.log 文件，文件是否会被加密。 *答：会被加密。加密是因为匹配到了授信软件的规则。*

3、记事本在 D:\\Test2 中创建了一个 \*.log 文件，文件是否会被加密。 *答：会被加密。因为系统会优先执行授信软件的规则行为，哪怕新建文件加密规则设置了：在 D:\\Test2 目录下新建 \*.log 文件进行忽略。*

4、非授信软件在 D:\\Test1 中创建了一个 \*.txt 文件，文件是否会被加密。 *答：会被加密。因为触发了新建文件加密规则。*

  **2、Ping32仅支持针对新建文件对象的连续写入进行加密。**

举个例子，我们需要将 123456 这几个字符写入到一个txt文档中。  
一般来说，软件的API执行流程是CreateFile -> WriteFile("123456") -> CloseFile，针对这种API调用顺序，Ping32可以正常加密。但是如果软件的API调用风格是这样的：CreateFile -> WriteFile("123") -> CloseFile ->

*OpenFile*

\-> WriteFile("456") -> CloseFile。那么这个场景使用新建文件加密是不安全的。事实上，这种场景是理论不严谨、存在安全缺陷的，即使我们引入某些算法进行优化，也很难保证都能得到妥善处理。

**3、Ping32不支持网络路径的新建文件加密。**

无论是通过映射网络驱动器的方式，还是直接通过网络共享路径直接访问，即使规则对路径匹配成功，Ping32都不会对网络路径下的新建文件进行加密。这个行为是符合设计意图的，并非缺陷。

**4、请勿设置 '针对全盘范围对常见的文件类型进行落地加密' 这种过于宽松的规则。**

比如：全盘范围，新建 \*.png 类型文件进行加密。很多软件后台默认行为可能会随时产生\*.txt、\*.jpg、\*.png等常见文件类型的临时文件，这个过程用户如果不借助专业的工具是无法察觉的，如果借助

[ProcMon](https://docs.microsoft.com/en-us/sysinternals/downloads/procmon)

则一目了然。如果对这些后台行为产生的文件落地加密，则可能导致软件工作不正常的问题。所以请勿设置过于宽泛的规则。如果由于宽泛的规则导致某个软件使用的文件被加密了，可以使用

[本地加密文件扫描工具](https://www.nsecsoft.com/jiami/2021102501.html)

扫描并解密。

**5、某些软件下载接收文件时，在完成前，文件后缀可能并非是实际后缀。**

相信很多人都注意到这个现象，比如某个软件下载一个 \*.mp4 文件，在下载过程中即创建一个新的文件用来接收数据流，但是这个新的文件类型可能并非 \*.mp4，有可能是 \*.mp4.xltmp，针对这种场景，需要设置正确的文件类型。
