1

我有一个自定义构建的 Unix 操作系统。

我的任务:向操作系统添加IPSec 。

我正在第一阶段工作,完成了前 2 个数据包的发送。

我现在要做的是制作识别有效载荷。我一直在阅读RFC 2409(附录 B),其中讨论了密钥材料(SKEYID、SKEYID_d、SKEYID_a、SKEYID_e 和IV制作)。

现在,我使用SHA-1进行身份验证,因此我使用 HMAC-SHA1,我的加密算法是 AES-256。真正的问题是 RFC 对我应该如何处理PRF不够清楚。它说:

“由于本文档采用的 PRF 反馈机制,使用协商的 PRF可能需要扩展 PRF 输出。”

我使用 SHA-1,这是否意味着我不协商 PRF?

在我看来,AES 是唯一需要扩展的算法(256 位的固定长度),那么,我只需要扩展 SKEYID_e 吗?

如果您碰巧知道更清晰但可靠的来源,请在 RFC 中发布链接。

4

2 回答 2

1

您不能仅根据 RFC2409 协商 PRF,因此不必担心。3 密钥 Triple-DES、AES-192 和 AES-256 都需要附录 B 中的密钥扩展算法。许多实现都有这些,因此测试互操作性应该不会那么难。

于 2010-03-24T14:07:16.823 回答
1

IETF RFC 通常不够清晰。但是,它们的唯一目的是描述互操作性,因此找到一个参考实现来探索其代码或进行测试几乎是必不可少的。Indeed 2409 特别指出:

作者鼓励这种混合协议的独立实施和互操作性测试。

寻找另一个实现是你真正需要的;找到别人的来源更好。如果做不到这一点,请阅读参考书目。有人说,一些公司编写的一些 RFC 故意混淆或简单地隐藏产生一致实现所需的信息,以建立“市场优势”。理解 2049 没有王道。

于 2010-03-23T15:43:17.873 回答