.. _auth-crypto: Autenticación ============= Algunos servicios usan para la autenticación de los clientes técnicas de clave pública como alternativa a la típìca autenticación con contraseña. El mecanismo de autenticación, a grandes rasgos, se basa en lo siguiente: 0. De algún modo, el servidor tiene plena confianza en que la clave pública del cliente realmente pertenece al cliente. #. Después de haberse establecido la conexión segura (con la :ref:`clave de sesión ` ya en ambos extremos), el cliente pide su autenticación indicando la clave pública con la que desea identificarse. #. El servidor genera un *número* aleatorio, lo cifra con tal clave pública y lo remite al cliente. #. El cliente obtiene el *número* descifrándolo con la clave privada y lo devuelve al servidor\ [#]_ para confirmarle que es el propietario de esa clave. #. El servidor, seguro ya de que el cliente ha sido capaz de leer el número, lo reconoce como legítimo y le da acceso. A lo largo del manual, hay ejemplos de cómo se configura este tipo de autenticación en diversos servicios: + :ref:`Autenticación en SSH con clave pública `. + :ref:`Identificación del cliente con certificado en OpenVPN `. + :ref:`Configuración de wireguard `, que sólo admite la autenticación del cliente mediante clave pública. La autenticación con clave pública presenta algunos beneficios respecto a la autenticación con contraseña: + Inutiliza los ataques de fuerza bruta, ya que dejará de haber contraseñas que adivinar. + Puede usarse una misma clave pública para la identificación en distintos servidores. De este modo la contraseña de acceso será la misma en todos: la clave simétrica con la que se haya cifrado la clave privada. .. rubric:: Notas al pie .. [#] En realidad, la devolución del *número* puede ser más sofisticada. Por ejemplo, el cliente |SSH| descifra el *número*, lo combina con la *clave de sesión*, genera un resumen con md5; y este resumen es lo que remite al servidor. Para una explicación detallada del proceso lea el artículo `Understanding the SSH Encryption and Connection Process `_