因此,假设您有两个客户端,C1 和 C2,每个客户端都有一个与之关联的 GUID。
当您在 C2 上收到据称来自 C1 的消息时(通过检查 GUID 并查看它是否与 C1 的 GUID 匹配),但由于不能保证消息来自 C1(C3 可能刚刚发送消息,在消息头中发送 C1 的 GUID)必须验证消息实际上来自 C1。
我一直在研究使用非对称加密 (RSA) 让 C1 发送由 组成的消息,[C1.GUID; RSAEncrypt(C2.PUBLIC_KEY, C1.GUID); MESSAGE]
然后让 C2 基本上进行这样的检查(python 伪代码):
message.GUID == RSADecrypt(C2.PRIVATE_KEY, message.ENCRYPTED_GUID)
这是一种可行的方法吗?还是有其他一些更聪明/更明显的方法来验证消息的发件人?