使用 XFRM 消息更新 IPsec 密钥
Update IPsec keys using XFRM messages
我正在做一个C++项目,需要用 ESP 建立 IPsec SA 并快速更改加密密钥。我的问题如下:
有没有办法在不删除相应的 SA 并创建新 SA 的情况下更新加密 IPsec 密钥?
IPsec 甚至允许这样做吗?我在RFC4301中没有发现有关此问题的任何内容...
我正在使用Netlink/XFRM消息来更改SAD。我尝试在Netlink消息标志中使用NLM_F_REPLACE并XFRM_MSG_UPDSA作为消息类型,但这些消息根本没有效果。我已经看到XFRM_MSG_UPDSA被用来完成由XFRM_MSG_ALLOCSPI消息启动的 SA。
这是XFRM_MSG_UPDSA类型消息的唯一目的,还是我可以以某种方式使用它们来更改加密密钥?
由于按键必须快速变化(如上所述),因此性能是一个因素。因此,我想用尽可能少的管理IPsec(=Netlink/XFRM)操作来压缩我的系统。
我从strongSwan开发人员邮件列表的人那里得到了答案。不幸的是,似乎实际上没有更好的方法。Linux 内核不会更新XFRM_MSG_UPDSA上的密钥(只有其他一些事情),因此剩下的唯一可能性是删除 SA 并创建一个新 SA。
相关文章:
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 允许从 std::map 的密钥窃取资源?
- TMap::Emplace() 在应用现有密钥时会覆盖吗?
- 在没有密钥的情况下读取密文的剩余噪声预算
- 如何修复无效的API密钥,IP或操作权限错误?
- 所有可能的链接生成器与64位密钥
- 如何在unordered_map中更改密钥?
- 获取当前密钥状态?
- curl_easy_perform() 失败:SSL 对等证书或 SSH 远程密钥不正常
- 将密钥发送到非前台的游戏窗口
- 有哪些方法可以对基于 256 位密钥的矩阵进行加扰?
- 如何在精灵表上的两个不同部分之间来回切换,同时用户仍使用 SFML 持有密钥
- 如何将CNG密钥转换为OpenSSL EVP_PKEY(反之亦然)?
- 运行密钥密码解密知道密钥?
- std::unordered_map 运算符 [] 是否对非现有密钥进行零初始化?
- 封装 std::map 以允许迭代,但没有直接密钥访问?
- 如果我使用同一个密钥推送用户数据两次,会发生什么
- 如何在C++中创建自己的编译密钥
- 重载std::映射不同的密钥类型
- 使用 XFRM 消息更新 IPsec 密钥