La autoridad ambiental es un término utilizado en el estudio de los sistemas de control de acceso .
Se dice que un sujeto, como un programa de computadora, utiliza la autoridad ambiental si solo necesita especificar los nombres de los objetos involucrados y la operación que se realizará sobre ellos para que una acción permitida tenga éxito. [1] [2] [3]
En esta definición,
La autoridad es “ambiental” en el sentido de que existe en un entorno ampliamente visible (a menudo, pero no necesariamente, un entorno global) donde cualquier sujeto puede solicitarla por su nombre.
Por ejemplo, supongamos que un programa en C abre un archivo para acceso de lectura ejecutando la llamada:
open("nombrearchivo", O_RDONLY, 0)
El archivo deseado se designa por su nombre en el sistema de archivos, que por sí solo no incluye información de autorización, por lo que el programa ejerce autoridad ambiental.
Cuando se solicita autoridad ambiental, se conceden o deniegan permisos en función de una o más propiedades globales del programa en ejecución, como su identidad o su rol . En tales casos, la gestión del control de acceso se maneja de forma separada de la comunicación explícita al programa o proceso en ejecución , a través de medios como listas de control de acceso asociadas a objetos o mediante mecanismos de Control de Acceso Basado en Roles . El programa en ejecución no tiene medios para materializar los permisos que se le otorgaron para un propósito específico como valores de primera clase . Por lo tanto, si el programa debería poder acceder a un objeto cuando actúa en su propio nombre pero no cuando actúa en nombre de uno de sus clientes (o, en nombre de un cliente pero no de otro), no tiene forma de expresar esa intención. Esto conduce inevitablemente a que dichos programas estén sujetos al problema del delegado confuso .
El término "autoridad ambiental" se utiliza principalmente para contrastar con la seguridad basada en capacidades (incluidos los modelos de capacidad de objeto ), en los que los programas en ejecución reciben permisos como podrían recibir datos, tal como se comunican a través de referencias de objetos de primera clase . Esto les permite determinar de dónde provienen los permisos y, por lo tanto, evitar el problema del diputado confuso . Sin embargo, dado que existen requisitos adicionales para que un sistema se considere un sistema de capacidad además de evitar la autoridad ambiental, "sistema sin autoridad ambiental" no es solo un sinónimo de "sistema de capacidad".
La autoridad ambiental es la forma dominante de control de acceso en los sistemas informáticos actuales. El modelo de usuario de control de acceso tal como se utiliza en los sistemas Unix y Windows es un modelo de autoridad ambiental porque los programas se ejecutan con las autoridades del usuario que los inició. Esto no solo significa que a los programas en ejecución se les otorgan inevitablemente más permisos (ver Principio del mínimo privilegio ) de los que necesitan para su tarea, sino que también son incapaces de determinar la fuente o la cantidad y tipos de permisos que tienen. [4] Un programa que se ejecuta bajo un modelo de control de acceso de autoridad ambiental tiene pocas opciones más que designar permisos e intentar ejercerlos, esperando que todo salga bien. Esta propiedad requiere que se otorgue un exceso de permisos a los usuarios o roles, para que los programas se ejecuten sin errores.
{{cite journal}}
: Requiere citar revista |journal=
( ayuda )