确定 2 windows 个不同的应用程序是否正在与其合法伙伴通信的最佳实践方法?

Best practices way to determine if 2 windows different applications are talking to their legitimate mate?

我正在评估一个应用程序系统的安全性,该应用程序系统具有多个通过 TCP/IP 相互通信的合作伙伴。我想使用某种加密方法验证与我交谈的一方是我希望与之交谈的正确合法伙伴。执行此操作的首选方法是什么?我假设这两个应用程序之间会有某种秘密交换,但我想知道如何最好地做到这一点。感谢您的任何建议。

这里最简单的解决方案是使用双向 TLS。您当然可以构建不同的解决方案,但除非您对密码学有广泛的了解,否则您很可能在设计安全协议时遇到问题。

对于编程部分,这通常看起来像是从客户端使用 OpenSSL(或您系统的 TLS 库)来建立与服务器的连接,也使用相同的库。您将拥有一个共享的自定义 CA 结构来验证每一方。

还有使用 TLS 的短期证书的系统,例如 SPIRE 和 SPIFFE。