gpt4 book ai didi

hsm - 从 tr31 key block 中提取 key (从 HSM Thales 9000 导出)

转载 作者:行者123 更新时间:2023-12-03 14:34:26 26 4
gpt4 key购买 nike

使用 HSM 命令 A0(生成 key ),我得到以下响应。

HEADA100U7D4213E0422F4E08E9455D9837E09FDDRA0072B1TX00S000073C35FF96F7A8C7D35D440CCBDA06FFED3AC7017F27B0A0E8896FFC971F0B9
HEAD (Message Header)
A1 (Response Code)
00 (Error Code)
U7D4213E0422F4E08E9455D9837E09FDD (Key under LMK)
RA0072B1TX00S000073C35FF96F7A8C7D35D440CCBDA06FFED3AC7017F27B0A0E8896FFC9 (Key under TMK - export tr31 key block)
71F0B9 (Key Check Value)

我的问题是:

如何从 tr31 key block 中提取 key (在 tmk 下)?

有谁知道如何解码 tr31 key block ?

最佳答案

看看 TR31 标准(法律上不能免费获得,因为 ANSI 想让你的生活变得悲惨)。

  • R似乎不是 TR31 block 的一部分,我只能假设是 Thales 特有的
  • A是 key block 版本 id( header 的第一个字段)并描述了正在使用的 key 绑定(bind)方法。 A已弃用并使用关键变体绑定(bind)方法。
  • 0072是整个 TR31 key block 的十进制数字的长度,如果我们忽略前导 R,它恰好适合
  • B1是 key 用法,即 Initial DUKPT Key
  • T是 key 的算法,即 Triple-DES(或 TR31 表示法中的 Triple-DEA)
  • X是使用模式,即“用于派生其他 key 的 key ”
  • 00是 key 版本号,这意味着此 key 没有使用 key 版本控制
  • S是 key 的可导出性,即“敏感”
  • 00是十进制的可选 block 数。
  • 00保留以供将来使用,并且始终必须是两个 ASCII 零。由于没有可选 block ,因此该字段是 header 的最后一个字段。
  • 73C35FF96F7A8C7D35D440CCBDA06FFED3AC7017F27B0A0E是十六进制编码的加密 key (标题后面的所有内容,除了最后 8 个字符)。它是 24 字节长,适合 16 字节长的 key (2 字节 key 长度,16 字节 key ,6 字节填充以获得完整的 8 字节 block 大小)。
  • 8896FFC9是 MAC(最后 8 个字符(对于 key block 版本 id A)是 Triple-DES CBC-MAC 的最左边 32 位)

  • 要更进一步(解密加密 key ),我需要 key block 保护 key (可能是 TMK?)。

    关于hsm - 从 tr31 key block 中提取 key (从 HSM Thales 9000 导出),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37298607/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com