我一直在审查各种内部应用程序的代码,这些应用程序处理与外部系统的数据安全传输。这些遵循以下过程:
- RSA 使用第 3 方公钥加密数据
- RSA 使用我们自己的私钥再次加密
- 传输数据
- 第三方使用我们的公钥解密
- 第三方使用自己的私钥再次解密
在这个系统中,我们为每个第三方生成新的私钥/公钥,所有公钥都安全分发,然后保密。
我不明白为什么我们要使用自己的私钥加密数据。我怀疑设计者的意图是验证数据来自我们,而同一个人不知道签署消息来实现这一点。不幸的是,那个人不再被问到了。
我很高兴我们的数据是可以接受的安全,因为我们使用第三方密钥对其进行加密,但私钥加密似乎不够标准,我感到有些不适。有什么我应该担心的吗?