Security 客户验证
假设我们有两台机器,机器一和机器二:Security 客户验证,security,authentication,networking,client-server,secret-key,Security,Authentication,Networking,Client Server,Secret Key,假设我们有两台机器,机器一和机器二: 机器一有一个静态IP 机器二有一个动态IP 现在机器2想要连接到机器1。机器一如何验证另一台机器是机器二 我正在寻找一个可扩展的解决方案,以便将其用于具有多个客户端的服务器 我的解决方案是使用两台机器已经知道的密钥 机器2将尝试连接到机器1。将以随机生成的字符串进行响应, 这台机器将使用已知的密钥进行加密。并将其发送回机器一,机器一可以检查加密字符串是否使用正确的密钥加密 我的解决方案很容易扩展,但我不确定它是否足够安全。这样做有标准的解决方案吗? 你几
- 机器一有一个静态IP
- 机器二有一个动态IP
我的解决方案很容易扩展,但我不确定它是否足够安全。这样做有标准的解决方案吗? 你几乎就在那里,但是如果你只依靠这一点,你就有被中间人攻击的危险。假设一台恶意机器3假装是机器1
- 机器2试图连接到机器1,但却打开了与机器3的连接
- 机器3打开与机器1的连接,机器1以 字符串“请加密我”
- 机器3通过以下方式响应机器2的连接请求: “请给我加密”
- 机器2将“encrypt_me_please”加密为(比如)“x10hsdapg”并发送 把它送回机器3
- 机器3用加密字符串“x10hsdapg”响应机器1
- 机器1验证机器3是否使用了正确的加密密钥,因此必须是机器2
我希望这至少能有所帮助,我承认我已经学习密码学好几年了。研究双向/双向TLS。