[发明专利]一种离线解析DPAPI加密数据的方法有效
申请号: | 201410004313.4 | 申请日: | 2014-01-03 |
公开(公告)号: | CN103701829B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 苏再添;吴少华;林艺滨 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/06 |
代理公司: | 深圳市博锐专利事务所44275 | 代理人: | 张明 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 离线 解析 dpapi 加密 数据 方法 | ||
1.一种离线解析DPAPI加密数据的方法,其特征在于,包括步骤:
S1、加载待分析设备数据源,确定待分析设备数据源磁盘Windows操作系统分区;
S2、根据所述操作系统分区获取系统账号主密钥文件、System文件和Security文件;
S3、通过扫描DPAPI加密块特征值获取待解密文件的DPAPI加密块;
S4、解析System文件和Security文件获取Pbkdf2密钥明文;
S5、获取解密系统账号主密钥文件所需的关键信息,使用Pbkdf2密钥解密系统账号主密钥文件得到主密钥明文;
S6、使用主密钥解密DPAPI加密块得到数据明文。
2.根据权利要求1所述的离线解析DPAPI加密数据的方法,其特征在于,所述步骤S1具体包括步骤:
通过写保护设备加载待分析设备数据源;
通过识别Windows文件夹、注册表文件、休眠文件和页面交换文件的路径确定待分析设备数据源磁盘Windows操作系统的系统分区。
3.根据权利要求1所述的离线解析DPAPI加密数据的方法,其特征在于,所述步骤S3中DPAPI加密块特征值为DPAPI加密块头部20个固定字节:{0x01,0x00,0x00,0x00,0xD0,0x8C,0x9D,0xDF,0x01,0x15,0xD1,0x11,0x8C,0x7A,0x00,0xC0,0x4F,0xC2,0x97,0xEB}。
4.根据权利要求1所述的离线解析DPAPI加密数据的方法,其特征在于,所述步骤S3还包括记录DPAPI加密块在待解密文件中的偏移量。
5.根据权利要求1所述的离线解析DPAPI加密数据的方法,其特征在于,所述步骤S4具体包括步骤:
解析System文件获取操作系统当前使用的控件组;
根据操作系统当前使用的控件组计算操作系统的syskey;
解析Security文件获取本地安全认证子系统服务的相关配置信息,从相关配置信息中读取系统安全策略版本号值PolRevision,判断PolRevision是否大于0x00010009;
当PolRevision小于0x00010009时,读取系统安全策略加密密钥PolSecretEntryptionKey,并读取Pbkdf2密钥的密文内容CurrVal;
判断CurrVal的第八个字节的值是否为1,当为1时,使用Key1对Pbkdf2密文进行DES解密得到Pbkdf2密钥明文,否则,使用key2对Pbkdf2密文进行DES解密得到Pbkdf2密钥明文,
所述key1为用Unicode编码字符串“823543”做为密码,字符串“823543”的长度和内容做为明文,进行DES加密得到的一个24字节的密文;
所述key2为对syskey进行一次MD5哈希运算,并将该运算结果做为参数对系统安全策略加密密钥PolSecretEntryptionKey的60~76字节进行1000次的MD5哈希运算得到散列值K1,再将散列值K1做为RC4算法的解密密钥对PolSecretEncryptionKey的12~60字节进行RC4解密得到的明文;
当PolRevision大于或等于0x00010009时,读取系统安全策略加密密钥链表PolEKList,对syskey进行一次SHA256哈希运算,并将该运算结果做为参数对PolEKList的28~60字节进行1000次SHA256哈希运算得到散列值K2,将散列值K2做为AES-256算法的解密密钥对PolEKList60字节之后的内容进行AES-256解密得到PolEKList中密钥的个数、索引值和对应的密钥值;
构建一个内容为索引值与密钥值对应的Pbkdf2密钥链表KeyList,将解密后PolEKList中的索引值和对应的密钥值导入密钥链表KeyList中;
读取Pbkdf2密钥的密文内容CurrVal,在CurrVal的4~20字节中取得PolEKList的密钥值的索引值,根据该索引值从Pbkdf2密钥链表KeyList中获取PolEKList的密钥;
对PolEKList的密钥进行一次SHA256哈希运算,并将该运算结果做为参数对CurrVal的28~60字节进行1000次SHA256哈希运算得到散列值K3,将散列值K3做为AES-256算法的解密密钥对CurrVal的60字节之后的内容进行AES-256解密得到Pbkdf2密钥明文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410004313.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电动车用定位追踪装置
- 下一篇:一种开关柜弱电保护管走线孔覆盖件