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.