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