发明名称 |
一种DPAPI加密数据的解密方法和系统 |
摘要 |
本发明提供了一种DPAPI加密数据的解密方法和系统,方法包括:对数据源所在设备进行加载;在数据源中识别出Windows系统所在系统分区并读取其内文件;获取需要解密的文件和所有用户的主密钥文件;在需要解密的文件中获取所有DPAPI加密块;解析所有DPAPI加密块获取包括加密密钥唯一标识的第一解密关键信息;根据加密密钥唯一标识获取每个DPAPI加密块的主密钥文件;解析所述主密钥文件获取第二解密关键信息,第二解密关键信息包括第二干扰值、第二基于口令的密钥派生函数迭代次数;根据本次登录密码、系统熵参数和第一、第二解密关键信息对DPAPI加密块进行解密;通过本发明的方法和系统,可实现对数据源的只读操作且不受操作系统的限制而满足跨平台的要求。 |
申请公布号 |
CN103116730B |
申请公布日期 |
2016.05.11 |
申请号 |
CN201310020303.5 |
申请日期 |
2013.01.21 |
申请人 |
厦门市美亚柏科信息股份有限公司 |
发明人 |
陈江勇;钱镜洁;林艺滨 |
分类号 |
G06F21/62(2013.01)I;H04L9/06(2006.01)I |
主分类号 |
G06F21/62(2013.01)I |
代理机构 |
北京恒都律师事务所 11395 |
代理人 |
邸建凯 |
主权项 |
一种DPAPI加密数据的解密方法,其特征在于,包括如下步骤:对数据源所在设备进行加载;在数据源中识别出Windows系统所在的系统分区,读取所述系统分区内的文件;获取系统分区内需要解密的文件和所有用户的主密钥文件;在所述需要解密的文件中获取所有DPAPI加密块;对所有DPAPI加密块进行解析,以获取所有DPAPI加密块各自的第一解密关键信息,其中,所述第一解密关键信息包括加密密钥唯一标识、第一加密算法标识、第一安全散列算法标识和加密散列输出数据;根据所述加密密钥唯一标识获取每个DPAPI加密块的主密钥文件;对所述每个DPAPI加密块的主密钥文件进行解析,以获取第二解密关键信息,其中,所述第二解密关键信息包括第二干扰值、第二基于口令的密钥派生函数迭代次数、第二安全散列算法标识、第二加密算法标识和主密钥文件密文;根据本次登录密码、系统熵参数和所述第一、第二解密关键信息对DPAPI加密块进行解密;其中,对DPAPI加密块进行解密的步骤,具体包括:计算本次登录密码的安全散列值;根据所述安全散列值和第二解密关键信息对所述主密钥文件密文进行解密,以获取主密钥明文;计算所述主密钥明文的加密散列值,并将所述主密钥明文的加密散列值与所述第一加密散列输出数据进行比较,若两个值相等,则对所述主密钥密文解密成功,获取主密钥;根据所述主密钥和第一解密关键信息对DPAPI加密块进行解密,以获取DPAPI加密块的明文。 |
地址 |
361008 福建省厦门市软件园二期观日路12号美亚柏科大厦 |