代码之家  ›  专栏  ›  技术社区  ›  Thibault Martin-Lagardette

如何为服务器身份验证编写私钥/公钥系统?

  •  0
  • Thibault Martin-Lagardette  · 技术社区  · 14 年前

    我在这个服务器上运行一个游戏服务器,我想在那里有一些TCP服务器(可能是用Ruby编写的),它将提供一个伪会话,只有很少的命令可用(比如重新启动游戏服务器,发送日志等)

    我想要的是一种类似SSH的身份验证,其中人们拥有公共和私有的DSA密钥(我知道如何生成),并且服务器将公共密钥识别为正确的身份验证。

    我不是在寻找代码实现,而是主要是如何构建它。

    • [Client] 连接到服务器
    • [Server]
    • [客户] 发送用服务器公钥编码的公钥
    • 将密钥与授权客户端数据库进行比较
    • [服务器]
    • [客户]

    但我觉得这是遗漏了什么。特别是,在看DSA和PK系统时,我一直看到消息签名,我不知道它与使用pub密钥加密和会话密钥有多大区别?

    如果我的问题不清楚,我很乐意编辑我的帖子(当然:-)。

    3 回复  |  直到 14 年前
        1
  •  2
  •   erickson    14 年前

    第二,更安全。如果您不明白为什么需要对消息进行签名,那么您还可能忽略了什么?老实说,即使是TLS(SSL),它已经有了很多审查,有一个严重的缺陷,在重新谈判的错误,最近公布。即使你知道你在做什么,设计一个安全的协议也是很困难的。

        2
  •  2
  •   Zimm3r    14 年前

        3
  •  2
  •   Kaelin Colclasure    14 年前

    有时正确的答案),有很多微妙之处需要注意。从阅读我认为关于这一主题的权威著作开始:

    布鲁斯·施奈尔的 Applied Cryptography