论文部分内容阅读
无论是在传统的通信时代,还是在现在的互联网时代,信息安全的重要性从来都没有改变过,特别是在信息泄露事件和网络诈骗事件频发的今天,每个人都应该比以往更注重保护个人信息和隐私。PGP Desktop所具备的诸多功能就可以为我们的重要数据和个人信息保驾护航。但是无论用户使用PGP Desktop加密哪种类型的数据,都需要用户设置一个口令,这个口令可以在解密数据时起到验证用户合法性的作用。如果用户在一段时间后遗忘了加密数据时使用的口令,那么用户将无法再使用这些加密的重要数据。本文所做的研究就是为PGP Desktop用户提供一系列方案解决遗忘加密磁盘时使用的口令的问题。磁盘加密功能是PGP Desktop的几大重要功能之一。PGP Desktop中的磁盘加密功能又可以分为对虚拟磁盘加密和对物理磁盘加密两种类型,这两类磁盘加密功能都支持两种类型的用户,即密钥环用户和普通用户。密钥环用户是指使用非对称加密算法保护会话密钥的用户,而普通用户是指使用对称加密算法保护会话密钥的用户。这两类用户口令的作用是有区别的,密钥环用户口令的作用是保护用户的私钥,而普通用户口令的作用是直接保护会话密钥。本文研究的重点就是如何恢复虚拟磁盘以及物理磁盘的密钥环用户和普通用户的口令。目前针对这方面的研究工作非常少,并且还没有关于如何恢复物理磁盘上普通用户口令的研究工作。本文使用的研究方法是分析磁盘的结构和16进制数据,寻找与验证用户口令的相关的参数,然后根据PGP Desktop早期开源的一些代码,理清这些参数的含义,再根据这些已知的参数,研究两类磁盘中不同用户口令验证的步骤,最后使用字典枚举的方式在可能的解空间中寻找用户的口令。为了验证方案的可行性和性能,使用Visual Studio 2015编码实现这套方案。最终本文会给出三套方案,分别是通用的密钥环用户口令恢复方案、虚拟磁盘中普通用户口令恢复方案以及物理磁盘中普通用户口令恢复方案。其中方案一与现有方案相比,可以支持更多类型的密钥;方案二和方案三是目前公开发表的唯一能够解决此类问题的方案。