我目前正在开发一个使用TCP/IP在客户端和服务器之间进行通信的C#应用程序。连接后,我交换基于会话的RSA公钥,然后传递基于会话的AES对称密钥。这一切都正常工作,并意味着我有一个安全的沟通渠道。没有SSL的服务器和客户端安全标识
现在的麻烦是我需要确保服务器和客户端都是我希望与之通信的服务器和客户端。在任何人建议SSL/TLS之前:我没有连接到互联网以允许使用根CA.
在客户端和服务器之间建立一个安全通道后,我提供了一个简单的质询 - 响应方法吗?例如,如果客户端发送标识符(GUID?),则服务器将该值与已知客户端进行比较并接受或拒绝该标识符,并且在相反的方向上重复相同的操作。由于数据是加密的,加密是基于会话的,这是一种有效的验证方法?
我知道这些标识符的存储是一个弱点。
我已经避免了整个SSL,因为我认为自签名证书会很麻烦。关键固定完全解决了这个问题。 – Postie