Hi all,
I guess this might have been posted somewhere, I did search, but couldn't find anything.
I have this server on which I run a game server, and where I want to have some TCP server (possibly written in Ruby) that will provide a pseudo-session with few commands available (like restart the game server, send the logs, etc.)
What I want is an SSH-like authentication, where people have public & private DSA keys (which I know how to generate), and the public key is recognized by the server as correct authentication.
I am not looking for code implementation, but mainly how this should be architectured.
What I was thinking was something like:
[Client]
Connect to the server[Server]
Send public key[Client]
Send public key encoded with server's public key[Server]
Compare the key with a database of authorized clients[Server]
Generate session key, send it encrypted with client pub[Client]
Decodes session key and starts sending messages always accompanied by the session key
But I feel like this is missing something. Especially, when looking at DSA and PK systems, I keep seeing message signing, and I'm not sure I understand how different it is than using pub keys to encrypt and the session key?
If my question is not clear, I'd be glad to edit my post of course :-).