咨询热线:400-000-3720 中文 | English
PHOENIX透明加密内核的介绍 发布时间:2011/7/5

首先介绍一下名称的由来,安腾软件08之前的产品是基于驱动层的,其性能很出色,但是兼容性却很糟糕,导致用户的使用体验很差。比如有的时候用户的机器中了一个木马,那加密可能就会存在问题,当然我们可以说是系统的问题,但用户并不这么看。在经过了两年多的时间后,这种兼容性的问题依旧无法得到根本性的解决,所以我们认为并不适合在驱动层处理透明加密。

PHOENIX透明加密内核完成于08年底,我们对其充满了期望,希望他能给我们带来凤凰涅槃,所以我们就将其命名为PHOENIX。

PHOEIX透明加密内核是基本应用层的解决方案。之所以这么做, 主要的原因就是解决兼容性的问题。驱动层的解决方案由于过于深入底层,而这个底层的细节很多都没有公布,导致一些情况无法正确的处理。并且由于微软并没有为这种透明加密的需求作准备,导致很多设计都不规范。采用应用层的方案,可以很好的避免这种情况,但是有一些技术上的难题是被认为不可能解决的。首先就是内存映射文件,因为其并不通过IO接口,使得通过这种方式读写的文件无法被处理。另外就是加密算法的问题,因为应用层的读写是位置随机,大小随机,同驱动层整块整块读写完全不同。这样就给加密算法的使用带来了莫大的困难。

正是因为这些困难,所以很多应用层的方案采用的是文件重定向的方式。即在打开一个文件加密文件之前,首先将其解密到硬盘上的某个隐藏的地方,然后再去读写这个文件。其示意图如下

但这种方案其安全性无法保证,并且随着文件增大性能会线性的衰减。

我们不愿意采用这种方案,所以花了很多很多时间尝试着去做那些被认为是不可能完成的任务。运气不错,我们做成了。下面是PHOENIX透明加密内核的工作示意图

可以看到,并不需要临时文件的介入,所有的动作均在内存中完成。并且他 严格的遵循了尽早加密尽晚解密的要求。

PHOENIX透明加密内核处理了所有Windows的IO行为,所以理论上他可以支持所有的在Windows下运行的软件。在添加受控软件时,只需要按照规则添加条目即可,而无须对不同的软件进行二次开发。

PHOENIX透明加密内核所采用的加密是基于数字证书的,使用RSA非对称算法,通过多对多的公钥与私钥的组合,可以实现异常灵活的权限控制。

总之,PHOENIX透明加密内核是一个安全性、性能、兼容性、稳定性等多方面平衡的产品。也是安腾软件自2005年至今不断调整的产物。