Me gustaría implementar una especie de esquema de confianza en el primer uso (TOFU) con TLS:
- Un cliente crea una clave y un certificado autofirmado.
- El cliente se conecta al servidor con este certificado.
- El servidor acepta la conexión y almacena algo sobre el cliente
- Suponiendo que esta primera conexión no fue MITM'd, quiero poder verificar que la próxima conexión proviene del mismo cliente.
¿Es esto posible? Y si es así, ¿qué es ese algo que tengo que almacenar desde la primera conexión para poder verificar la segunda conexión?
En la práctica, estoy utilizando la biblioteca Golang TLS, así que creo que esta es la información que tengo sobre el certificado de conexión.