技术文章

透明加密的原理是什么?驱动层加密和应用层加密到底差在哪

发表时间:2026-10-15

选型的时候,几乎每家厂商都会说自己是透明加密。可装完之后差别很大:有的跑起来跟没装一样,有的三天两头出状况,换个 IDE 编译报错,CAD 升级一次图纸就打不开。这些差别不在宣传语上,根子在加密这件事被放在了系统的哪一层。

文档图片

一张图纸从磁盘到屏幕,中间经过了谁

不加密的时候路径很短。双击图纸,操作系统从磁盘读出数据,CAD 拿到,画到屏幕上。

加密之后,磁盘上躺的是密文,CAD 需要的是明文,中间就必须有一道转换。这道转换放在哪儿,决定了方案的性格。位置只有两个大类:应用层,或者驱动层。

文档图片

应用层加密:挨个软件做适配

应用层的做法是在目标软件外面拦一层。软件调用读文件的时候把它截住,在软件自己的内存里把密文解成明文;写文件的时候反过来。

这个思路开发起来快,早期的加密软件基本都是这么做的。麻烦在后面。每一个需要加密的软件都得单独适配一遍,CAD 适配了,UG 未必适配;软件升级一次,拦截的位置变了,策略可能就失效。多进程协作的工具更容易出问题,编译器的进程调用关系本来就复杂,中间插一层很容易把编译搞崩。

还有个更根本的问题。既然解密发生在软件的内存里,那么只要能往这个进程里注入代码,或者把内存 dump 出来,明文就到手了。市面上流传的那些破解方法,针对的基本都是这类方案。

文档图片

驱动层加密:在文件系统下面拦

驱动层往下走了一层,挂在操作系统的文件系统驱动栈上。所有进程读写文件都要经过这里,密文在这一层被解成明文,再交给上层。

好处是彻底透明。上层软件不知道底下发生了什么,也不需要知道。装了之后不用改 IDE,不用改构建脚本,不用为每个软件单独配策略,软件升级也不影响。多进程、复杂调用关系这些场景,驱动层天然就绕开了。

安全强度也不一样。解密过程在内核里完成,应用层的进程注入和内存 dump 对它无效。

代价是开发门槛高。内核驱动的稳定性要求比应用层严格得多,出一次问题就是蓝屏,所以敢做驱动层的厂商并不多。安秉网盾走的是这条路,明密文转换全部在内存里完成,对磁盘 IO 的影响一般控制在 3% 以内。

透明加密和落地加密,不是一回事

这两个词经常被混着用,说的其实是两件事。

透明讲的是员工的使用感受:加密过程对他不可见,该双击双击,该保存保存,跟没装一样。落地讲的是加密的时机:文件一保存到磁盘就自动加密,不需要员工手动操作,也不用点加密按钮。

同一个方案的两个侧面而已。有些产品只做手动加密,员工得主动点一下才加密,那种既谈不上透明,也谈不上落地。手动加密在真实环境里基本坚持不下来,忘一次就是一个缺口。

文档图片

沙盒和白名单,解决的不是同一个问题

这两种经常被放在一起比较,做的事情其实不一样。

沙盒是把涉密软件关进一个受限环境,禁止它跟外部交互。白名单是只允许信任的进程访问文件。两者都属于访问控制,文件本身还是明文。

明文的文件,一旦通过某个被允许的途径流出去,比如被允许的软件导出、被允许的打印机打印,保护就断了。所以这两种技术通常作为加密的补充,而不是替代。

文件级加密和全盘加密,解决的是范围问题

文件级只加密指定类型或者指定目录的文件,其他文件不动。好处是灵活,坏处是依赖策略配置的准确度,配漏一个目录就是缺口。

全盘加密把整块盘都加密,覆盖面大,但性能开销和运维复杂度也跟着上去,一般用在笔记本这类容易丢的设备上。

文档图片

选型的时候可以问这几个问题

判断一个方案属于哪一类,不用看宣传材料,问几个问题就够了。

换一个厂商没适配过的软件,能不能正常加密?如果能,驱动层的可能性大。

软件升级之后需不需要重新配置策略?如果需要,应用层的可能性大。

编译一个 100M 规模的项目,时间变化多少?要具体数字,不要只给一句基本无影响。

断网之后还能不能正常办公?这关系的是离线策略做没做。

内核驱动有没有签名,有没有通过兼容性认证?这决定了长期运行的稳定性。

问完这几个问题,方案属于哪一类基本就清楚了。剩下的,还是得拿自己公司的实际环境去试一遍。

文档图片

本文来源:数据安全研究院,国家信息中心网

主笔专家:方滨兴

责任编辑:编辑部-刘沐言

最后更新时间:2026年10月15日