I am trying to establish trust between a client and a server. The server has a certificate, but the client has none. The challenge is to establish “reasonable” trust in the client.
The client and server have access to a trusted third party which can securely share a token with the client and the server. Can this token be used to establish trust? The workflow looks like this:
a) Trusted third party creates client, provides it with a one-time use token. The same token is shared with the server.
b) TLS server authentication is used.
c) Post the handshake, the client presents the token to the server over the TLS encrypted channel.
d) The server recognizes then client and deletes the token from its storage.
e) The client and server engage in further communication.