在服务器到服务器方案中验证下载文件的真实性的最佳方法是什么?
可能的选项:生成校验和然后进行比较。但是,如果假设网络被泄露,服务器如何安全地交换哈希进行匹配呢?
还有其他方法可以验证真伪吗?我已经阅读了有关签名的内容,但并未真正理解它们是如何工作的。有什么需要考虑的吗?
我正在努力确保没有人篡改过文件。任何建议或提示非常感谢!
编辑:我确实使用HTTPS来处理服务器之间的流量,但也希望依赖其他方法。
答案 0 :(得分:0)
我确实使用HTTPS来处理服务器之间的流量,但是也希望依赖其他方法。
HTTPS确实保护了通信,但不保护消息的真实性。所以你正在寻找正确的方法来验证消息。
我建议您使用发件人的私钥对文件进行签名,并使用公钥验证目标位置的签名。在上线之前手动部署服务器上的公钥,以便在传输时不会欺骗它。
所以在实践中,一个简单的工作解决方案是使用ECDSA或RSA(PSS)签名算法来签署文件的安全散列(例如SHA-256)。
如果可以保护两端的密钥,另一种方法可能是使用HMAC。