Explique la "autenticación basada en notificaciones" a un niño de 5 años.


189

Bueno, no exactamente para un niño de 5 años, pero evite la palabra de moda y el habla empresarial si es posible.

La autenticación basada en reclamos parece estar de moda ahora, pero no pude encontrar una explicación simple y realista de lo que realmente es, cómo es diferente de lo que tenemos ahora (supongo "lo que tenemos ahora" ser autenticación basada en roles), cuáles son los beneficios de usarlo, etc.


1
Estoy de acuerdo con @Marnix. Ahora que tiene una comprensión básica, puede relacionarse más fácilmente con la definición / explicación de Microsoft .
FrankO

También encontré este documento técnico sencillo si quieres poner un poco más de atención y tiempo. La introducción responde a la pregunta, y los diagramas dicen más que mil palabras: download.microsoft.com/download/7/D/0/…
Paweł Bulwan

Kentico también tiene una explicación bastante ligera sobre dicha terminología docs.kentico.com/k9/managing-users/…
Hoan Dang

Respuestas:


215

@ Marnix tiene una respuesta bastante buena, pero para alejarse del aspecto técnico:

La autenticación basada en reclamos se trata de definir en quién confía para brindarle información precisa sobre la identidad, y solo usar esa información provista. Mi (el) ejemplo es en un bar. Imagine por un momento que quiere tomar una cerveza en el bar. En teoría, el camarero debería pedirle una prueba de edad. ¿Cómo lo pruebas? Bueno, una opción es que el camarero lo corte por la mitad y cuente la cantidad de anillos, pero podría haber algunos problemas con eso. La otra opción es que escriba su cumpleaños en una hoja de papel que el barman aprueba o desaprueba. La tercera opción es ir al gobierno, obtener una tarjeta de identificación y luego presentar la identificación al camarero.

Algunos pueden reírse de la idea de simplemente escribir su cumpleaños en una hoja de papel, pero esto es lo que sucede cuando está autenticando a los usuarios dentro de la aplicación, ya que depende del cantinero (o su aplicación) confiar en la hoja de papel. . Sin embargo, confiamos en la afirmación del gobierno de que el cumpleaños en la identificación es válido, y la identificación es para la persona que solicita la bebida. Para todos los efectos, al camarero (o aplicación) realmente no le importa cómo se produjo la autenticación debido a la confianza. El cantinero no sabe nada de ti excepto tu fecha de nacimiento porque eso es todo lo que el cantinero necesita saber. Ahora, el camarero podría almacenar información que considere importante para ellos, como su bebida favorita, pero al gobierno no le importa (ya que no es la fuente autorizada),

La clave para CBA es "¿quién es la fuente autorizada de la identidad?"


20
Excelente analogía! Desearía poder dar puntos extra por el método de "cortar por la mitad y contar los anillos" para determinar la edad de una persona. Tendré que intentar eso. :-)
Keith Robertson

8
Veo 'para todos los propósitos intensivos' tan a menudo que realmente aprecio mucho cuando la gente dice, correctamente, 'para todos los efectos'
JoeBrockhaus

3
Fácil: explíqueles que las analogías sobre temas complejos no pueden resumirse fácilmente en conceptos simples, independientemente de cuán bien se entiendan. Y ... ¿por qué demonios un niño de 5 años realmente se preocuparía por la autenticación basada en notificaciones de todos modos?
Steve

2
Leí este artículo y parece que la autenticación basada en notificaciones es un sistema de autenticación de terceros, como la autenticación abierta o los inicios de sesión sociales, como Microsoft Account, Facebook, Twitter, Google. ¿Alguien puede decirme cómo la autenticación basada en notificaciones es diferente de la autenticación abierta? porque la autenticación abierta es también un sistema de autenticación de terceros.
Thomas

1
@Thomas OAuth en realidad se trata de autorización, no de autenticación, y eso se convierte en una conversación completamente diferente. Proporcionan información de identificación, pero la intención es utilizar el token para acceder a su servicio, no identificar al usuario. Una extensión de eso es OpenID, que tiene la intención de identificar. En cualquier caso, la forma simple de pensarlo (si no es 100% precisa) es que son solo implementaciones de CBA.
Steve

131

(Esta es mi opinión personal sobre esto, otros pueden diferir. Publique otros puntos de vista como respuestas separadas).

La identidad / autenticación / autorización basada en reclamos se trata de separar el mantenimiento de las autorizaciones de usuario y el inicio de sesión del usuario de una aplicación (web), al convertir la autenticación / autorización en un servicio (web) separado.

Entonces, por ejemplo, cuando busco una aplicación web habilitada para reclamos por primera vez, redirigirá mi navegador a un 'servicio de inicio de sesión' en el que confía. Me autenticaré en ese servicio (usando la autenticación de Windows, una tarjeta inteligente o lo que sea) y, en respuesta, enviará un 'token', que el navegador envía de vuelta a la aplicación web. Ahora, la aplicación web verifica que el token esté firmado digitalmente por su servicio de inicio de sesión de confianza y luego analiza las 'notificaciones' en el token. Basándose únicamente en esas afirmaciones, la aplicación decide qué funcionalidad se le ofrece al usuario.

Los reclamos casi siempre incluirán la identidad del usuario, a menudo también hay reclamos relacionados con la autorización ('este usuario puede ver los datos de ventas, pero no actualizarlos'), y a veces también otra información ('tamaño del zapato = 42').

El punto clave es que la aplicación no sabe ni le importa cómo se autenticó al usuario, ni cómo se administran las autorizaciones: solo usa la información de las reclamaciones en el token firmado para determinar quién es el usuario y / o qué puede ver o hacer y / o cualquier otra información sobre el usuario.

(Sí, supongo que un niño de 5 años bastante inteligente y bien informado aquí. :-)


55
¿Son ejemplos como 'Iniciar sesión con Facebook / Google / ...' ejemplos de autenticación basada en notificaciones en acción?
Wes

1
Estoy seguro de que mi hijo de 5 años entendería todo eso.
Sinaesthetic

@wes tu pregunta es un poco vaga. El simple acto de iniciar sesión con Facebook o Google no es un ejemplo de autenticación basada en notificaciones, no. También diría que la autenticación basada en notificaciones no es una cosa. Sería una autorización en todo caso. El lugar donde entraría en juego CBA es durante el paso de autorización para iniciar sesión con esos proveedores. Cuando solicite permisos y acepte, agregará alcance a su token de acceso. Esto es semánticamente diferente de un reclamo, pero a menudo se usa de manera muy similar.
Sinaesthetic

40

El siguiente ejemplo del mundo real está tomado de Una guía para el control de acceso e identidad basado en reclamos (2da edición) .

Una analogía muy familiar es el protocolo de autenticación que sigue cada vez que visita un aeropuerto . No puede simplemente caminar hasta la puerta y presentar su pasaporte o licencia de conducir. En su lugar, primero debe registrarse en el mostrador de boletos. Aquí, presentas cualquier credencial que tenga sentido. Si vas al extranjero, muestras tu pasaporte. Para vuelos nacionales, presenta su licencia de conducir. Después de verificar que su identificación con foto coincida con su rostro ( autenticación ), el agente busca su vuelo y verifica que haya pagado un boleto ( autorización ). Suponiendo que todo esté en orden, recibirá una tarjeta de embarque que llevará a la puerta.

Una tarjeta de embarque es muy informativa. Los agentes de la puerta de embarque conocen su nombre y número de viajero frecuente (autenticación y personalización), su número de vuelo y prioridad de asiento (autorización), y quizás aún más. Los agentes de la puerta tienen todo lo que necesitan para hacer su trabajo de manera eficiente.

También hay información especial sobre la tarjeta de embarque. Está codificado en el código de barras y / o la banda magnética en la parte posterior. Esta información (como un número de serie de embarque) prueba que el pase fue emitido por la aerolínea y no es una falsificación.

En esencia, una tarjeta de embarque es un conjunto firmado de reclamos hechos por la aerolínea sobre usted . Establece que se le permite abordar un vuelo en particular en un momento determinado y sentarse en un asiento en particular. Por supuesto, los agentes no necesitan pensar muy profundamente sobre esto. Simplemente validan su tarjeta de embarque, leen los reclamos y le permiten abordar el avión.

También es importante tener en cuenta que puede haber más de una forma de obtener el conjunto de reclamaciones firmado que es su tarjeta de embarque. Puede ir al mostrador de boletos en el aeropuerto, o puede usar el sitio web de la aerolínea e imprimir su tarjeta de embarque en casa. A los agentes de embarque que abordan el vuelo no les importa cómo se creó la tarjeta de embarque; no les importa qué emisor usó, siempre que la aerolínea confíe en él. Solo les importa que sea un conjunto auténtico de reclamos que te den permiso para subir al avión.

En software, este conjunto de reclamos se denomina token de seguridad . Cada token de seguridad está firmado por el emisor que lo creó. Una aplicación basada en notificaciones considera que los usuarios están autenticados si presentan un token de seguridad válido y firmado de un emisor de confianza .


18

Para un niño de 5 años, pídale que asuma que se unió a una nueva escuela al firmar la solicitud de sus padres. Después de la aprobación de la administración de la escuela para su solicitud, obtiene una tarjeta de acceso que contiene toda la información a continuación que podemos llamar RECLAMACIONES para ingresar a la escuela.

  1. NOMBRE del MUCHACHO es BOB.
  2. EL NOMBRE DE LA ESCUELA ES MONTISSORI HIGH SCHOOL
  3. LA CLASE ES DE 8º GRADO

El primer día de su escuela mientras entra a la escuela, deslizó su tarjeta de acceso y las puertas se abrieron, lo que significa que ha sido RECLAMADO como una de las personas de la escuela. De esta manera es una PERSONA AUTENTICADA para ingresar a la escuela.

Después de llegar a su clase, usó la tarjeta de acceso para ingresar a cada clase, pero en las puertas de la octava clase estándar se abrieron cuando afirmó ser del octavo estándar.

En la escuela, solo está AUTORIZADO para ingresar a su clase ya que ahora está estudiando el octavo estándar. Y si intenta ingresar al 6to Estándar, el maestro de escuela NO LO AUTORIZARÁ.


3
Esto solo describe la noción general de autenticación y autorización. No específicamente basado en reclamos o de otra manera
Sheepy

Sheepy, ¿seguramente las afirmaciones se explican porque él es de octavo grado y se le niega el acceso al sexto grado?
Ian

1
Leí este artículo y parece que la autenticación basada en notificaciones es un sistema de autenticación de terceros, como la autenticación abierta o los inicios de sesión sociales, como Microsoft Account, Facebook, Twitter, Google. ¿Alguien puede decirme cómo la autenticación basada en notificaciones es diferente de la autenticación abierta? porque la autenticación abierta es también un sistema de autenticación de terceros.
Thomas

9

Tan poco técnico como sea posible:

Si tuviera que describir algo acerca de quién es y qué se le permitió ver o hacer, cada una de esas cosas sería algo que "afirmaba" que era verdad, y por lo tanto cada "cosa" en esa lista sería un " Reclamación".

Cada vez que le cuenta a alguien algo sobre usted o "reclama" que se le permite ver o hacer algo, le entrega su lista de reclamaciones. Verificarán con una autoridad que sus reclamos son ciertos y si lo son, creerán cualquier cosa en esa lista de reclamos. Entonces, si afirma que es Brad Pitt, su lista de reclamos dice que es Brad Pitt, y se verificó con la autoridad de que sus reclamos son ciertos, entonces creerán que usted es Brad Pitt junto con cualquier otra cosa en esa lista.

Reclamación : lo que afirmas ser cierto Esto puede ser una información o una descripción de un permiso que está reclamando tener. El sistema al que presenta sus reclamos solo necesita comprender qué es / significa el reclamo y también poder verificar con la autoridad.

Autoridad : el sistema que reúne su lista de reclamos y la firma, que básicamente dice "Por mi autoridad, todo en esta lista es verdadero". Mientras el sistema que lee los reclamos pueda verificar con la autoridad que la firma es correcta, entonces todo en la lista de reclamos se considerará auténtico y verdadero.

Además, no lo llamemos "autenticación basada en notificaciones", sino que la llamemos "identidad basada en notificaciones".

Ligeramente más técnico:

Entonces, ahora en este proceso, se autentica utilizando algún tipo de mecanismo (nombre de usuario / contraseña, secreto del cliente, certificado, etc.) y eso le da un token que demuestra que usted es quien dice ser. Luego, intercambia ese token de acceso por un token de ID. Ese proceso utilizará su identidad para encontrar y crear una lista de reclamos, firmarla y luego devolverle un token de identificación que tenga todos sus reclamos.

Como paso de autorización , dependiendo de cómo se implemente, el recurso examinará su token de identificación (reclamos) y luego comprobará si tiene los reclamos necesarios para acceder a ese recurso.

Entonces, por ejemplo, si el recurso "CastleBlack / CommandersTower" dice que "tienes que tener acceso al castillo negro y ser el señor comandante, entonces verás tu lista de reclamos para ver si ambas cosas son ciertas.

Como puede ver, los "reclamos" pueden ser cualquier cosa. Puede ser un rol, puede ser un hecho, puede ser una bandera. Es solo una lista de pares clave-valor y el "valor" es opcional. A veces se trata solo de ver si existe el reclamo:

claims : [
    {"type": "name", "value": "Jon Snow"},
    {"type": "home", "value": "Winterfell, The North, Westeros"},   
    {"type": "email", "value": "jon@nightswatch-veterans.org"},
    {"type": "role", "value": "veteran;deserter;"},
    {"type": "department", "value": "none"},    
    {"type": "allowEntry", "value": "true"},
    {"type": "access", "value": "castleblack;eastwatch;"}
]

Entonces, si Jon inicia sesión e intenta acceder al recurso descrito anteriormente, se le negaría porque, aunque es quien dice ser y tiene acceso al castillo negro, ya no es el señor comandante ni tiene acceso explícito a la torre del comandante, y por lo tanto no puede entrar implícitamente en la torre del señor comandante.

Más específicamente, "CastleBlack" probablemente sería un alcance [más grande], y cada área sería un permiso específico, pero esa es una discusión diferente.

La forma en que cada aplicación maneje el acceso será diferente, pero usará reclamos para hacerlo.


5

Teniendo en cuenta que un reclamo es un atributo que le dice algo sobre el usuario (el nombre, la edad, el origen étnico, etc.), usted trabaja en contra de un servicio de token de seguridad para validar esos reclamos y también los usó para la autorización además de la autenticación.

El siguiente extracto está tomado de Wikipedia ( http://en.wikipedia.org/wiki/Claims-based_identity ) y es la mejor analogía que encontré hasta ahora

"Para comprender mejor el concepto de servicio de token de seguridad, considere la analogía de un club nocturno con un portero. El portero quiere evitar la entrada de clientes menores de edad. Para facilitar esto, solicita a un usuario que presente una licencia de conducir, tarjeta de seguro de salud u otra identificación (el token) que haya sido emitida por un tercero de confianza (el servicio de token de seguridad), como el departamento de licencias de vehículos provincial o estatal, el departamento de salud o la compañía de seguros. edad. Solo tiene que confiar en la autoridad emisora ​​(y, por supuesto, hacer su propio juicio sobre la autenticidad de la ficha presentada). Con estos dos pasos completados, el club nocturno ha autenticado con éxito al cliente con respecto a la afirmación de que él o ella es de edad legal para beber

Continuando con la analogía, el club nocturno puede tener un sistema de membresía, y ciertos miembros pueden ser regulares o VIP. El portero puede pedir otra ficha, la tarjeta de membresía, que puede hacer otra reclamación; que el miembro es un VIP. En este caso, la autoridad emisora ​​de confianza del token probablemente sería el propio club. Si la tarjeta de membresía afirma que el cliente es un VIP, entonces el club puede reaccionar en consecuencia, traduciendo la solicitud de membresía VIP autenticada a un permiso tal como que se le permita al cliente sentarse en la sala de estar exclusiva y recibir bebidas gratis ".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.