La autenticación basada en claves asimétricas ya es compatible con SSL con el nombre "certificado de cliente". De hecho, una firma está involucrada. Si desea utilizar una clave asimétrica del cliente, se recomienda utilizar esta función SSL que ya está implementada por las bibliotecas SSL.
Usar una clave asimétrica para la autenticación es útil cuando la identidad del cliente es confirmada por un tercero: una entidad, distinta del servidor , realiza la identificación inicial (también conocida como "certificación" con certificados ), y el servidor se basa en esta identificación. Esta es una separación de roles que puede o no ser útil en su contexto. Otra forma de verlo es la siguiente: cuando el cliente se conecta al servidor, en un escenario de inicio de sesión + contraseña, el cliente envía su contraseña al servidor. Por lo tanto, el servidor aprende la contraseña. Una consecuencia es que el cliente no debe usar la misma contraseña si se está conectando a varios servidores que no confían entre sí. Con un certificado de cliente, el cliente puede usar el mismo certificado con cada servidor.
Si no necesita las funcionalidades adicionales de los certificados, entonces una contraseña de inicio de sesión está bien. En realidad, si el cliente trabaja de forma automática sin una entrada de usuario, entonces la "contraseña" se almacena en algún lugar del cliente, no escrita por un humano. Por lo tanto, esa contraseña puede ser un conjunto de bytes aleatorios, que serán mucho más robustos contra una búsqueda exhaustiva que una contraseña recordada por el hombre. En estas condiciones, es posible que desee utilizar SSL / TLS-PSK que se basará en esta "clave precompartida" y evitar la necesidad de cualquier certificado, ni cliente ni servidor.
De forma similar, si la contraseña la escribe un humano o la recuerda, considere TLS-SRP que tampoco necesita ningún cliente o certificado de servidor y, además, tolera contraseñas de entropía limitada.