文章

Ping32技术内幕:如何开发一个文档透明加密软件?

如需转载到其他平台,请联系我们取得授权,违者将严肃追究法律责任。

 

我于2008年进入安全行业,从事Windows方向的C\C++的底层研发工作。虽然那时Windows进入寻常百姓家,进入企业领域已有10年的光景,但是整体来说,技术资料和今天比还是相当匮乏,开源生态也不如今天这么完善。举个简单的例子就是做API HOOK用的微软官方的Detours库只开源了x86指令集的版本,x64版本售价9999美元,然而时至今日,Detours的x86,x64,ARM版本全部开源。过去十多年,我始终奋斗在研发一线,一路走来给我的感觉就是,解决一个技术难题越来越容易了。我时常在想,是什么造就了这种差异。答案显而易见,就是开源生态的发展,以及开发者的分享奉献精神。因此,我一直在评估是否有可能将Ping32文档加密的一些核心技术也开放出来,可能是开源的方式,亦或是技术分享的方式。

 

将一款商用产品的核心技术进行开放,这个想法不可谓不大胆。但是深思熟虑后,我们的立场很简单:数据安全用到的技术往往具备“冷、偏、难”的特点,这就导致鲜有企业有足够的技术积累,可以进入这个领域并孵化产品。结果就是市场无法良性健康发展,技术无法迭代升级。

 

随着《数据安全法》的颁布,以及Ping32新一代文档透明加密产品的发布,我想时机终于成熟了:我会将Ping32第一代文档加密产品的技术细节进行分享。虽然这并非完全的代码开源,但是涉及到的技术细节是立论严谨,经过工程实现检验的。这对于有意从事文档透明加密产品研究的团队来说,只要达到要求的知识储备,都可以在短期内实现一个具备商用价值的,从底层核心到上层权限管控的具备商用价值的透明加密产品,比如:图纸加密、文档加密、数据防泄漏、文档安全管理产品等。

 

Ping32第一代文档透明加密方案是基于应用层的HOOK技术实现的,在过去近十年的迭代发展过程中,积累了大量用户案例,稳定性得到了充分的验证。部分人聊到透明加密产品,言必谈论驱动层的方案如何更优。考虑商业场景应用的稳定性等因素,我依然认为应用层的透明加解密方案仍具极大的研究空间。此外,纵观目前国内做透明加密的厂商,大多数商用场景稳定的产品,透明加解密的核心逻辑依然是应用层方案,只不过辅以文件微过滤驱动实现小部分管控逻辑。

 

需要具备的知识储备

1.精通Windows平台下的C\C++开发,熟悉常见的数据结构和算法;
2.熟悉网络架构,了解各层的协议细节及应用场景,以及具备编写网络流量过滤器的能力;
3.精通Windows架构体系,了解Windows XP – Windows 10的架构变迁;
4.熟读《Windows核心编程》,读过《深入解析Windows操作系统》尤佳。
5.熟悉WinDbg,IDA,ProcExp,ProcMon等高级调试工具的使用。

总结就是扎实的操作系统、网络、软件调试理论基础。

 

分享内容涵盖以下主题,将定期以博客的形式更新到官网,敬请关注

1、需要“透明”处理的操作、属性有哪些?
2、生成文件内核对象句柄的途径有哪些以及应该如何处理?
3、文件大小的透明化处理;
4、文件指针的透明化处理;
5、其他属性的透明化处理;
6、Windows API 还是 Windows Native API;
7、内存映射文件的处理;
8、进程注入的艺术;
9、邮件白名单与透明解密网关的实现;
10、屏幕水印、打印水印、防截屏的实现;
11、剪切板、OLE等其他细节的处理;
12、不同文件系统的差异化处理;
13、优点与不足之处;

 

如果你对其他技术细节也感兴趣,也可以和我们取得联系。

Ping32文档透明加密软件基础概念

什么是文档透明加密?

透明加密是指,一个软件创建文件时,文件自动加密;打开文件时,文件自动解密。透明的意思是,用户是感知不到整个过程的。但是注意:这个文件在磁盘上真实状态是被加密的,验证方法就是,把这个文件拷贝到U盘带走,外部是无法解密打不开的;或者,把这个软件通过QQ、微信发送出去,外部也是没办法打开。

阅读更多

文档加密软件几种选型参考

很多企业、个人出于数据保密、防范泄密的目的,都会选择使用文档加密软件。 阅读更多

使用Ping32加密CAD图纸

很多设计行业、机械制造加工行业都需要对CAD图纸进行加密,为了不影响使用的便捷性,一般都采用业界主流的透明加密方案,即:用户打开文件时无感知,保存文件时自动加密。Ping32的图纸加密方案也是采用了此技术。

与其他产品不同的是,Ping32预先做了很多加密策略,用户不需要做复杂的配置,可以说是安装即用,非常简单。

开启Ping32的加密功能,需要有加密授权。点击加密策略,选择需要启用加密的软件类型即可。

此外,用户可以根据实际需求,选择其他策略参数,比如是否允许发起解密申请。

下发策略后,我们可以做一个实验,打开CAD软件做一个图纸,然后保存,你会发现,保存的图纸左下角会有一个绿色的盾牌标记,这说明这个文件已经被加密了。此时,无论你把这个文件拷贝到U盘,还是通过电子邮件外发,外部都是无法打开的。

Ping32加密软件的研发厂商是山东安在信息技术有限公司,是一家以研发信息安全类产品及提供相关服务为主营业务的技术驱动型公司。是中国领先的、拥有完全自主知识产权的信息安全产品和服务解决方案专业提供商。总部位于山东省济南市。