Я предполагаю, что это могло быть где-то размещено, я искал, но ничего не нашел.
У меня есть этот сервер, на котором я запускаю игровой сервер, и где я хочу иметь какой-нибудь TCP-сервер (возможно, написанный на Ruby), который будет предоставлять псевдосеанс с несколькими доступными командами (например, перезапустить игровой сервер, отправить журналы и т. Д. .)
Я хочу аутентификацию, подобную SSH, где у людей есть открытые и частные ключи DSA (которые я знаю, как сгенерировать), а открытый ключ распознается сервером как правильная аутентификация.
Я не ищу реализацию кода, а в основном то, как это должно быть построено.
Я думал примерно так:
[Client]
Подключиться к серверу[Server]
Отправить открытый ключ[Client]
Отправить открытый ключ, закодированный с открытым ключом сервера[Server]
Сравните ключ с базой авторизованных клиентов[Server]
Сгенерировать сеансовый ключ, отправить его в зашифрованном виде с помощью клиентского паба[Client]
Расшифровывает сеансовый ключ и начинает отправлять сообщения, всегда сопровождаемые сеансовым ключом.
Но я чувствую, что здесь чего-то не хватает. Особенно, когда я смотрю на системы DSA и PK, я продолжаю видеть подписывание сообщений, и я не уверен, что понимаю, чем это отличается от использования ключей публикации для шифрования и ключа сеанса?
Если мой вопрос непонятен, я, конечно, буду рад отредактировать свой пост :-).