I’m developing an application that runs over TLS. In addition to password-based authentication we’d like to be able to use SSH keys.
Is there any prior art in using SSH keys for authentication over TLS? Does anyone know of any potential problems with implementing such a scheme?
UPDATE: After a bit more research, I’ve got a fleshed-out concept:
RFC 5705 key material exports appear to serve the same role as SSH session identifiers. Thus, the following:
- C: Grab NN random bytes from TLS’s key export.
- C: Sign those bytes using the private key.
- C: Send the signature and the key in, say, an HTTP handshake.
- S: Verify the signature via the public key, and verify that the key is authorized.
Would this work, be resistant to replay attacks, etc.?