我已经使用一个名为KMU的工具将3 3DES密钥从我的SafeNet HSM导出到一个文件中。此工具在使用另一个3 3DES键提取之前包装密钥。我可以访问第二个键的纯文本值。
问题是“如何解密包装的文件以获得包装密钥的纯文本值?”
更新:
最后导出的文件如下所示:
L1: 000001f4 000001a800000001000001a0
L2: 00000020 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
L3: 00000140 0000001b0000010300000001010100000162000000010101800001290000000101010000016500000001010000000164000000010100000000010000000101010000000200000001010100000170000000010101000000030000000f014949494949494949494949494949490000010c000000010101000001040000000101010000010a000000010101000001060000000101010000010500000001010100000108000000010101000001070000000101018000012b000000010100000001610000000401000000100000000000000004010000000400000100000000040100000014800001030000000000000001020000000000000001100000000000000001110000000000800001280000000101000000016300000001010080000102000000100132303131313232383136323032313030000000000000000000000000
L4: 00000010 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
L5: 00000020 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
L6: 00000020 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
L7: 00000020 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx“x”部分是原始文件中看起来加密的数据,因此我将它们替换为“x”。我还添加了行号、空格和新行,以使内容更加可读性!
发布于 2020-08-24 18:50:55
有关总体方案说明,请参阅文档密钥管理实用程序用户(KMU)参考中的“关键备份功能教程”一章。
不幸的是,该文档尚未更新到该方案的最后版本,该方案使用AES、tK和HMAC进行M_mK。
据我所知,可以告诉KMU使用较早的DES3方案和-3命令行选项。
我有一个工作实现,但不幸的是不能提供代码。
主要恢复步骤摘要:
CKM_RSA_PKCS)CKM_AES_ECB )。长度为32)CKM_SHA512_HMAC_GENERAL)CKM_WRAPKEY_AES_CBC和零IV)您可能希望使用PKCS#11记录器库(请参阅PTK编程指南),并在密钥恢复期间记录KMU实用程序的活动,以验证算法的详细信息。
祝你的项目好运!
EDIT>文件的总体结构(给定示例数据):
000001f4 // Magic
000001a8 // Length of encoded payload
00000001 // Number of keys
000001a0 // Wrapped key #1 length
xxxx...xxxx // Wrapped key #1 data for CKM_WRAPKEY_AES_CBC
xxxxxxxx // Payload MAC
00000020 // Wrapped MAC key cryptogram length
xxxx...xxxx // Wrapped MAC key cryptogram
00000020 // Wrapped transport key cryptogram length
xxxx...xxxx // // Wrapped transport key cryptogramhttps://stackoverflow.com/questions/63549232
复制相似问题