加密功能(例如加密/解密库)是应用程序增强数据机密性的常用工具。 但是,不受信任的操作系统或其他应用程序发起的细微攻击可能会破坏这些功能,然后可能会破坏敏感密钥或加密过程。 在本文中,基于虚拟化技术,我们提出了一种新颖的方法,可以将一个虚拟机(VM)中的加密功能外包到另一个专用VM中,以便该特定目的的VM仅包含敏感密钥和加密过程。 我们还提出了一个原型,称为密码功能保证(CFA),以增强密码功能的安全性。 以OpenSSL为例,CFA允许那些使用OpenSSL库的应用程序透明地利用CFA保护密码功能。 我们介绍了详细的实施以及CFA的安全性分析。 我们还对OpenSSL的接口和Apache httpd进行了性能评估,以显示CFA集成引起的开销。