SNMP V3 CBC-DES:如果私有密钥只有8字节长,如何对PDU进行加密? (DES, Prev IV)

问题描述 投票:0回答:0

过去我实现了自己的 v1/v2 SNMP 管理器。现在我还想支持 v3,因此必须实施 PDU 的加密。根据 RFC2274 第 8.1.1.1 章 16 字节私钥的前 8 个字节表示 DES 密钥,私钥的后 8 个字节表示 Prev InitVector ...执行 CBC- 所需的两个值PDU 的 DES 加密。

现在我的问题是:大多数 SNMP v3 管理器工具,例如Paessler SNMP Tester 期望用户输入(至少)一个 8 字节长的 V3 加密密钥。我想这个 V3 加密密钥必须覆盖完整的 16 字节私有密钥信息,因为不能传递与加密相关的其他信息。 工具如何从这个短的 8 字节 V3 加密密钥内部计算出 DES 密钥和 Prev InitVector?

我已经做过的测试:

  • 我使用 8 字节长的 V3 加密密钥作为 DES 密钥,并假设 PrevIV 是 0000 0000
  • 我使用 8 字节长的 V3 加密密钥作为 DES 密钥,也作为 PrevIV
  • 我在 Paessler 中强加了一个 16 字节长的 V3 加密密钥

-> 根据 RFC2274 第 8.1.1.1 章中描述的算法,我在代码中加密的 PDU 与我用 Wireshark 读出的 Paessler 的加密 PDU 相比,结果总是完全不同。 (对于这个测试,我使用了与 Paessler 相同的 PDU 和盐,我通过 Wireshark 在 privParameters 字段中读出)

请不要讨论CBC-DES是否安全,thx! ;-)

encryption snmp des
© www.soinside.com 2019 - 2024. All rights reserved.