Estos son jerárquicos en la forma en que el género, la especie y el individuo son jerárquicos.
- Asunto : en un contexto de seguridad, un sujeto es cualquier entidad que solicita acceso a un objeto . Estos son términos genéricos utilizados para denotar la cosa que solicita acceso y la cosa contra la que se realiza la solicitud. Cuando inicia sesión en una aplicación, usted es el sujeto y la aplicación es el objeto. Cuando alguien toca a su puerta, el visitante es el sujeto que solicita el acceso y su hogar es el objeto al que se solicita el acceso.
- Principal : un subconjunto de temas representado por una cuenta, rol u otro identificador único. Cuando llegamos al nivel de detalles de implementación, los principales son las claves únicas que usamos en las listas de control de acceso. Pueden representar usuarios humanos, automatización, aplicaciones, conexiones, etc.
- Usuario : un subconjunto de principal que generalmente se refiere a un operador humano. La distinción se desdibuja con el tiempo porque las palabras "usuario" o "ID de usuario" se intercambian comúnmente con "cuenta". Sin embargo, cuando necesita hacer la distinción entre la amplia clase de cosas que son principales y el subconjunto de estas que son operadores interactivos que conducen las transacciones de una manera no determinista, "usuario" es la palabra correcta.
Sujeto / Objeto hereda de los mismos términos que se usan en la gramática. En una oración, el sujeto es el actor y el objeto es la cosa sobre la que se actúa. En este sentido, el uso ha existido desde antes de que se inventaran las computadoras. En un contexto de seguridad, un sujeto es cualquier cosa que pueda hacer una solicitud. Como se señaló anteriormente, esto no tiene por qué limitarse a la seguridad de TI, por lo que es una clasificación muy amplia. Lo interesante es que sujeto implica objeto. Sin un objeto, no hay sujeto.
Los directores son lo que los sujetos resuelven. Cuando presenta su tarjeta de crédito, usted es el sujeto y el número de cuenta es el principal. En otros contextos, su identificación de usuario o identificación emitida por el estado es su principal. Pero los principios pueden asociarse con muchos tipos de temas que no son personas. Cuando las aplicaciones solicitan funciones a nivel de sistema, el principal puede ser el firmante de un módulo de código ejecutable firmado, pero incluso en ese caso el usuario que dirige la solicitud sigue siendo el sujeto.
El usuario es más específico que el sujeto o el director, ya que generalmente se refiere a un operador interactivo. Es por eso que tenemos una interfaz gráfica de usuario y no una interfaz principal gráfica. Un usuario es una instancia de sujeto que se resuelve en un principal . Un solo usuario puede resolver cualquier cantidad de principales, pero se espera que cualquier principal resuelva a un único usuario (suponiendo que las personas observen el requisito de no compartir ID). En el ejemplo anterior, el firmante de un módulo de código ejecutable definitivamente no es el usuario, pero es un principal válido. El operador interactivo que intenta cargar el módulo es el usuario.
Como se señaló en los comentarios, incluso las fuentes autorizadas no están de acuerdo con estos términos. Busqué NIST, SANS, IEEE, MITRE y varias fuentes "cuasiautoritarias" como guías de examen de seguridad mientras preparaba esta respuesta. No encontré ninguna fuente única que fuera al menos cuasi autoritaria cubriera los tres términos y todos difirieran significativamente en su uso. Esta es mi opinión sobre cómo se deben usar los términos , pero desde un punto de vista práctico, cuando estás estudiando un manual en medio de la noche, las definiciones tienden a ser lo que el vendedor o el escritor dicen que son. Esperemos que las respuestas aquí proporcionen información suficiente para navegar por las aguas y analizar cualquier documento de seguridad utilizando estos términos.
John (human) SUBJECT > username_1 PRINCIPAL > password_1 USER
John (human) SUBJECT > username_1 PRINCIPAL > password_2 USER
John (human) SUBJECT > username_1 PRINCIPAL > smartcard_1 USER
John (human) SUBJECT > username_1 PRINCIPAL > cellphone_1 USER
Echa un vistazo a mi mapa conceptual de autenticación :
fuente
Creo que la terminología está tomada de JAAS .
fuente
El sujeto es la entidad que solicita un servicio. Puede ser un usuario o un proceso. Probablemente por eso se eligió el nombre Asunto en lugar de usuario.
Cuando un sujeto intenta acceder a un servicio, primero debe autenticarse. La autenticación exitosa termina con la carga de los Principios de seguridad para ese Asunto. Por ejemplo, en un sistema de control de acceso basado en roles, un usuario autenticado (conectado) generalmente tendrá dos principios: userId y roleId. En tales sistemas, los privilegios (es decir, quién puede acceder a qué) se especifican tanto para los roles como para los usuarios. Durante la autorización (es decir, verificar si se debe permitir el servicio solicitado), el sistema de seguridad verificará la accesibilidad de los dos principales.
Por lo tanto, desde la perspectiva de la autorización, los principales son las entidades reales para las cuales se permite o no se permite el acceso. El sujeto es solo un usuario / hilo / proceso que contiene algunos principios.
fuente
Como T.Rob explicó, Asunto es cualquier entidad que solicita acceso a un objeto. A partir de ese punto, he encontrado un comentario en javax.security.auth. Código de tema que he encontrado MUY útil y fácil de entender:
"Los sujetos pueden tener múltiples identidades. Cada identidad se representa como un Principal dentro del Sujeto. Los principales simplemente unen los nombres a un Sujeto. Por ejemplo, un Sujeto que resulta ser una persona, Alice, podría tener dos Principios: uno que une" Alice Bar ", el nombre en su licencia de conducir, para el Asunto, y otro que une," 999-99-9999 ", el número en su tarjeta de identificación de estudiante, para el Asunto. Ambos Directores se refieren al mismo Asunto aunque cada uno tiene un nombre diferente ".
Espero eso ayude.
fuente
Este es el enlace para la explicación a continuación de la documentación de Oracle JAVA SE.
fuente
de acuerdo con Rahulmohan, creo que, antes de que se realice la Autenticación, después de que la Autenticación sea principal, en sentido diferente, un sujeto puede tener muchas funciones principales.
fuente