我想这可能已经发布在某个地方,我确实搜索过,但找不到任何东西。
我有一个运行游戏服务器的服务器,我希望有一些 TCP 服务器(可能用 Ruby 编写),它将提供一个伪会话,可用的命令很少(比如重新启动游戏服务器、发送日志等) .)
我想要的是一种类似 SSH 的身份验证,人们拥有公共和私人 DSA 密钥(我知道如何生成),并且公共密钥被服务器识别为正确的身份验证。
我不是在寻找代码实现,而是主要应该如何构建它。
我的想法是这样的:
[Client]
连接到服务器[Server]
发送公钥[Client]
发送使用服务器公钥编码的公钥[Server]
将密钥与授权客户数据库进行比较[Server]
生成会话密钥,使用客户端 pub 加密发送[Client]
解码会话密钥并开始发送始终伴随会话密钥的消息
但我觉得这缺少了一些东西。特别是,在查看 DSA 和 PK 系统时,我不断看到消息签名,但我不确定我是否理解它与使用 pub 密钥加密和会话密钥有什么不同?
如果我的问题不清楚,我当然很乐意编辑我的帖子:-)。