Autentificación está relacionado con alguna noción de identidad: se dice que un mensaje (encriptado o no) se autentica si se puede garantizar de alguna manera que su creador es una entidad específica. La definición de esa entidad, y el alcance de la garantía, depende del contexto.
Por ejemplo, cuando dos personas (tradicionalmente llamadas Alice y Bob) comparten una clave secreta común K , pueden cifrar los datos con K y también autenticarla en relación con < em> K con un MAC : desde el punto de vista de Bob, el MAC autentica el mensaje como originario de alguien que sabe K ; a partir de eso, Bob deduce que el mensaje proviene de Alice, porque K supuestamente es conocido solo por Alice y Bob, y Bob recuerda nunca haber enviado ese mensaje específico, por lo que debe venir de Alicia.
Sin embargo, terceros (Charlie), que no conocen K , no pueden verificar el MAC y, por lo tanto, no pueden considerar el mensaje como autenticado. Incluso si Bob revela K (por ejemplo, Charlie es un juez y Bob demanda a Alice con respecto a los contenidos del mensaje, lo que podría ser un elemento contractual), Bob no puede convencer a que el juez es realmente de Alicia ya que Bob también sabe < em> K y podría haber producido el mismo mensaje por sí mismo. En pocas palabras, esta es la razón por la que los bancos son reacios a autorizar grandes pedidos de bolsa de los clientes a través de una interfaz basada en la Web: el banco puede obtener alguna garantía sobre la identidad del cliente conectado (eso es autenticación) pero no puede convertir esa garantía en una prueba convincente de un tercero.
En general , la autenticación es requerida siempre que haya cifrado. El cifrado sin autenticación es robusto solo contra los atacantes pasivos, que espían en la línea pero nunca modifican ningún bit. Este modelo de ataque resulta raramente realista. Combinar el cifrado y la autenticación correctamente es no trivial . Hay algunos modo de encriptación que hacen eso.
El principal inconveniente de la autenticación es que tiende a implicar una ligera sobrecarga. Si se hace correctamente, estamos hablando de una docena de bytes adicionales por mensaje, y quizás un costo de CPU de + 20% (lo que no importará en la mayoría de los casos).