En la seguridad de los sistemas informáticos, el control de acceso basado en roles ( RBAC ) [1] [2] o la seguridad basada en roles [3] es un enfoque para restringir el acceso al sistema a los usuarios autorizados. Es utilizado por la mayoría de las empresas con más de 500 empleados, [4] y puede implementar el control de acceso obligatorio (MAC) o el control de acceso discrecional (DAC).
El control de acceso basado en roles (RBAC) es un mecanismo de control de acceso neutral en cuanto a políticas definido en torno a roles y privilegios. Los componentes de RBAC, como los permisos de rol, el rol de usuario y las relaciones de rol y rol, facilitan la realización de asignaciones de usuarios. Un estudio realizado por NIST ha demostrado que RBAC aborda muchas necesidades de organizaciones comerciales y gubernamentales. [5] RBAC se puede utilizar para facilitar la administración de la seguridad en grandes organizaciones con cientos de usuarios y miles de permisos. Aunque RBAC es diferente de los marcos de control de acceso MAC y DAC, puede hacer cumplir estas políticas sin ninguna complicación.
Diseño
Dentro de una organización, los roles se crean para varias funciones laborales. Los permisos para realizar determinadas operaciones se asignan a roles específicos. A los miembros o al personal (u otros usuarios del sistema) se les asignan roles particulares y, a través de esas asignaciones de roles, adquieren los permisos necesarios para realizar funciones particulares del sistema. Dado que a los usuarios no se les asignan permisos directamente, sino que solo los adquieren a través de su rol (o roles), la administración de los derechos de los usuarios individuales se convierte en una cuestión de simplemente asignar roles apropiados a la cuenta del usuario; esto simplifica las operaciones comunes, como agregar un usuario o cambiar el departamento de un usuario.
La interferencia de control de acceso basada en roles es un problema relativamente nuevo en las aplicaciones de seguridad, donde múltiples cuentas de usuario con niveles de acceso dinámico pueden conducir a la inestabilidad de la clave de cifrado, lo que permite que un usuario externo explote la debilidad del acceso no autorizado. Las aplicaciones de intercambio de claves dentro de entornos virtualizados dinámicos han mostrado cierto éxito al abordar este problema. [6]
Se definen tres reglas principales para RBAC:
- Asignación de roles: un sujeto puede ejercer un permiso solo si el sujeto ha seleccionado o se le ha asignado un rol.
- Autorización de rol: el rol activo de un sujeto debe estar autorizado para el sujeto. Con la regla 1 anterior, esta regla garantiza que los usuarios solo puedan asumir roles para los que están autorizados.
- Autorización de permiso: un sujeto puede ejercer un permiso solo si el permiso está autorizado para el rol activo del sujeto. Con las reglas 1 y 2, esta regla garantiza que los usuarios solo puedan ejercer los permisos para los que están autorizados.
También se pueden aplicar restricciones adicionales y los roles se pueden combinar en una jerarquía donde los roles de nivel superior subsumen los permisos que pertenecen a los sub-roles.
Con los conceptos de jerarquía de roles y restricciones, se puede controlar RBAC para crear o simular el control de acceso basado en celosía (LBAC). Por lo tanto, RBAC puede considerarse un superconjunto de LBAC.
Al definir un modelo RBAC, las siguientes convenciones son útiles:
- S = Asunto = Una persona o agente automatizado
- R = Rol = Función laboral o título que define un nivel de autoridad
- P = Permisos = Una aprobación de un modo de acceso a un recurso
- SE = Sesión = Un mapeo que involucra a S, R y / o P
- SA = Asignación de sujeto
- PA = Asignación de permisos
- RH = Jerarquía de roles parcialmente ordenada. RH también se puede escribir: ≥ (La notación: x ≥ y significa que x hereda los permisos de y.)
- Un sujeto puede tener múltiples roles.
- Un rol puede tener varios sujetos.
- Un rol puede tener muchos permisos.
- Se puede asignar un permiso a muchos roles.
- Una operación puede asignarse a muchos permisos.
- Se puede asignar un permiso a muchas operaciones.
Una restricción establece una regla restrictiva sobre la posible herencia de permisos de roles opuestos, por lo que puede usarse para lograr una separación adecuada de funciones . Por ejemplo, no se debe permitir que la misma persona cree una cuenta de inicio de sesión y autorice la creación de la cuenta.
Por lo tanto, usando la notación de la teoría de conjuntos :
- y es un permiso de muchos a muchos para la relación de asignación de roles.
- y es de muchos a muchos sujetos a la relación de asignación de roles.
Un sujeto puede tener múltiples sesiones simultáneas con / en diferentes roles.
Niveles estandarizados
El estándar NIST / ANSI / INCITS RBAC (2004) reconoce tres niveles de RBAC: [7]
- núcleo RBAC
- RBAC jerárquico, que agrega soporte para la herencia entre roles
- RBAC restringido, que agrega separación de funciones
Relación con otros modelos
RBAC es una tecnología de control de acceso flexible cuya flexibilidad le permite implementar DAC [8] o MAC . [9] DAC con grupos (por ejemplo, implementado en sistemas de archivos POSIX) puede emular RBAC. [10] MAC puede simular RBAC si el gráfico de funciones está restringido a un árbol en lugar de a un conjunto parcialmente ordenado . [11]
Antes del desarrollo de RBAC, el modelo Bell-LaPadula (BLP) era sinónimo de MAC y los permisos del sistema de archivos eran sinónimo de DAC. Se consideró que estos eran los únicos modelos conocidos para el control de acceso: si un modelo no era BLP, se consideraba un modelo DAC y viceversa. La investigación a fines de la década de 1990 demostró que la RBAC no pertenece a ninguna de las dos categorías. [12] [13] A diferencia del control de acceso basado en contexto (CBAC), RBAC no mira el contexto del mensaje (como la fuente de una conexión). RBAC también ha sido criticado por conducir a la explosión de roles, [14] un problema en los grandes sistemas empresariales que requieren un control de acceso de mayor granularidad que lo que RBAC puede proporcionar ya que los roles se asignan inherentemente a operaciones y tipos de datos. A semejanza de CBAC, un sistema de control de acceso basado en relaciones entre entidades (ERBAC, aunque también se utiliza el mismo acrónimo para sistemas RBAC modificados, [15] como el control de acceso basado en roles extendidos [16] ) es capaz de proteger instancias de datos considerando su asociación al sujeto ejecutor. [17]
Comparando con ACL
RBAC se diferencia de las listas de control de acceso (ACL), utilizadas en los sistemas tradicionales de control de acceso discrecional, en que los sistemas RBAC asignan permisos a operaciones específicas con significado en la organización, en lugar de a objetos de datos de bajo nivel. Por ejemplo, una lista de control de acceso podría usarse para otorgar o denegar acceso de escritura a un archivo del sistema en particular, pero no determinaría cómo se podría cambiar ese archivo. En un sistema basado en RBAC, una operación podría consistir en una transacción de 'crear una cuenta de crédito' en una aplicación financiera o 'completar un registro de prueba de nivel de azúcar en sangre' en una aplicación médica. La asignación de permiso para realizar una operación en particular es significativa, porque las operaciones son granulares y tienen significado dentro de la aplicación. Se ha demostrado que RBAC se adapta particularmente bien a los requisitos de separación de funciones (SoD), que aseguran que dos o más personas deben participar en la autorización de operaciones críticas. Se han analizado las condiciones necesarias y suficientes para la seguridad de SoD en RBAC. Un principio subyacente de SoD es que ninguna persona debería poder realizar una violación de la seguridad a través del privilegio dual. Por extensión, ninguna persona puede tener una función que ejerza autoridad de auditoría, control o revisión sobre otra función que desempeñe simultáneamente. [18] [19]
Por otra parte, un "modelo RBAC mínimo", RBACm , se puede comparar con un mecanismo de ACL, ACLg , donde solo se permiten grupos como entradas en la ACL. Barkley (1997) [20] mostró que RBACm y ACLg son equivalentes.
En las implementaciones modernas de SQL , como ACL del marco CakePHP , las ACL también administran grupos y herencia en una jerarquía de grupos. Bajo este aspecto, las implementaciones específicas de "ACL modernas" se pueden comparar con implementaciones específicas de "RBAC modernas", mejor que las "implementaciones antiguas (sistema de archivos)".
Para el intercambio de datos y para las "comparaciones de alto nivel", los datos de ACL se pueden traducir a XACML .
Control de acceso basado en atributos
El control de acceso basado en atributos o ABAC es un modelo que evoluciona desde RBAC para considerar atributos adicionales además de roles y grupos. En ABAC, es posible utilizar atributos de:
- el usuario, por ejemplo, ciudadanía, autorización,
- el recurso, por ejemplo, clasificación, departamento, propietario,
- la acción, y
- el contexto, por ejemplo, hora, ubicación, IP.
ABAC se basa en políticas en el sentido de que utiliza políticas en lugar de permisos estáticos para definir qué está permitido y qué no.
Uso y disponibilidad
El uso de RBAC para administrar privilegios de usuario (permisos de computadora) dentro de un solo sistema o aplicación es ampliamente aceptado como una mejor práctica. Un informe de 2010 preparado para NIST por el Research Triangle Institute analizó el valor económico de RBAC para las empresas y estimó los beneficios por empleado de la reducción del tiempo de inactividad de los empleados, un aprovisionamiento más eficiente y una administración de políticas de control de acceso más eficiente. [4]
En una organización con una infraestructura de TI heterogénea y requisitos que abarcan docenas o cientos de sistemas y aplicaciones, el uso de RBAC para administrar roles suficientes y asignar membresías de roles adecuados se vuelve extremadamente complejo sin la creación jerárquica de roles y asignaciones de privilegios. [21] Los sistemas más nuevos amplían el antiguo modelo NIST RBAC [22] para abordar las limitaciones de RBAC para implementaciones en toda la empresa. El modelo NIST fue adoptado como estándar por INCITS como ANSI / INCITS 359-2004. También se ha publicado una discusión sobre algunas de las opciones de diseño para el modelo NIST. [23]
Ver también
- Lista de control de acceso
- Control de acceso basado en atributos (ABAC)
- Control de acceso basado en organización (OrBAC)
- RSBAC
- Seguridad basada en capacidad
- Autenticación basada en la ubicación
- Autenticación basada en riesgos
- AGDLP (recomendaciones de Microsoft para implementar RBAC)
- Redes impulsadas por la identidad (IDN)
- PERMIS
- Información clasificada
- Fortaleza Apache
Referencias
- ^ Ferraiolo, DF & Kuhn, DR (octubre de 1992). "Control de acceso basado en roles" (PDF) . 15ª Conferencia Nacional de Seguridad Informática : 554–563.
- ^ Sandhu, R., Coyne, EJ, Feinstein, HL y Youman, CE (agosto de 1996). "Modelos de control de acceso basados en roles" (PDF) . Computadora IEEE . 29 (2): 38–47. CiteSeerX 10.1.1.50.7649 . doi : 10.1109 / 2.485845 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ ABREU, VILMAR; Santin, Altair O .; VIEGAS, EDUARDO K .; STIHLER, MAICON (2017). Un modelo de activación de roles multidominio (PDF) . ICC 2017 2017 IEEE International Conference on Communications . Prensa IEEE. págs. 1–6. doi : 10.1109 / ICC.2017.7997247 . ISBN 978-1-4673-8999-0. S2CID 6185138 .
- ^ a b AC O'Connor y RJ Loomis (marzo de 2002). Análisis económico del control de acceso basado en roles (PDF) . Instituto Triángulo de Investigación. pag. 145.
- ^ Gilbert MD, Lynch N, Ferraiolo FD (1995). "Un examen de las necesidades de la política de control de acceso federal y comercial" . Conferencia Nacional de Seguridad Informática, 1993 (16º) Actas: Seguridad de los sistemas de información: opciones del usuario . Editorial DIANE. pag. 107. ISBN 9780788119248.
- ^ Marikkannu, P (2011). "Sistema de agente móvil adaptable tolerante a fallas que utiliza control de acceso basado en roles dinámicos" . Revista internacional de aplicaciones informáticas . 20 (2): 1–6. Código Bibliográfico : 2011IJCA ... 20b ... 1M . doi : 10.5120 / 2409-3208 .
- ^ Alberto Belussi; Barbara Catania; Eliseo Clementini; Elena Ferrari (2007). Datos espaciales en la web: modelado y gestión . Saltador. pag. 194. ISBN 978-3-540-69878-4.
- ^ Ravi Sandhu; Qamar Munawer (octubre de 1998). "Cómo hacer control de acceso discrecional mediante roles". 3er taller de ACM sobre control de acceso basado en roles : 47–54.
- ^ Sylvia Osborn; Ravi Sandhu y Qamar Munawer (2000). "Configuración del control de acceso basado en roles para hacer cumplir las políticas de control de acceso obligatorio y discrecional". Transacciones de ACM sobre seguridad de la información y del sistema : 85–106.
- ^ Brucker, Achim D .; Wolff, Burkhart (2005). "Un enfoque de verificación para la seguridad del sistema aplicado" . Revista internacional de herramientas de software para la tecnología (STTT) . 7 (3): 233–247. doi : 10.1007 / s10009-004-0176-3 . hdl : 20.500.11850 / 52625 . S2CID 6427232 .
- ^ DR Kuhn (1998). "Control de acceso basado en roles en sistemas MLS sin cambios de kernel". Actas del tercer taller de ACM sobre control de acceso basado en roles - RBAC '98 (PDF) . Tercer taller de ACM sobre control de acceso basado en roles . págs. 25–32. CiteSeerX 10.1.1.55.4755 . doi : 10.1145 / 286884.286890 . ISBN 978-1-58113-113-0. S2CID 1711956 .
- ^ Editor, CSRC Content (21 de noviembre de 2016). "Control de acceso basado en roles - Preguntas frecuentes" . csrc.nist.gov . Consultado el 15 de agosto de 2018 .CS1 maint: texto adicional: lista de autores ( enlace )
- ^ (NIST), Autor: David Ferraiolo; (NIST), Autor: Richard Kuhn (13 de octubre de 1992). "Controles de acceso basados en roles" (PDF) . csrc.nist.gov . págs. 554–563 . Consultado el 15 de agosto de 2018 .
- ^ AA Elliott y GS Knight (2010). "Explosión de roles: reconocer el problema" (PDF) . Actas de la Conferencia Internacional de 2010 sobre Investigación y Práctica en Ingeniería de Software .
- ^ "ERBAC - Control de acceso basado en roles empresariales (informática) - AcronymFinder" . www.acronymfinder.com . Consultado el 15 de agosto de 2018 .
- ^ "Dr. Bhavani Thuraisingham y Srinivasan Iyer (PPT)" . Consultado el 15 de agosto de 2018 .
- ^ Korhonen, Kalle. "tapiz-seguridad-jpa" . www.tynamo.org . Consultado el 15 de agosto de 2018 .
- ^ DR Kuhn (1997). "Exclusión mutua de funciones como medio para implementar la separación de funciones en los sistemas de control de acceso basados en funciones" (PDF) . Control de acceso basado en roles del segundo taller de ACM : 23–30.
- ^ Ninghui Li, Ziad Bizri y Mahesh V. Tripunitara. Tripunitara (2004). "Sobre roles mutuamente excluyentes y separación de funciones" (PDF) . XI Conferencia ACM sobre Seguridad Informática y Comunicaciones . CCS '04: 42–51. CiteSeerX 10.1.1.159.2556 . doi : 10.1145 / 1030083.1030091 . ISBN 978-1581139617. S2CID 798546 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ J. Barkley (1997) " Comparación de modelos de control de acceso basados en roles simples y listas de control de acceso ", en "Actas del segundo taller de ACM sobre control de acceso basado en roles", páginas 127-132.
- ^ Sistemas, ID de Hitachi. "Más allá de los roles: un enfoque práctico para la IAM empresarial" . www.idsynch.com . Consultado el 15 de agosto de 2018 .
- ^ Sandhu, R., Ferraiolo, DF y Kuhn, DR (julio de 2000). "El modelo NIST para el control de acceso basado en roles: hacia un estándar unificado" (PDF) . Control de acceso basado en roles del 5º taller de ACM : 47–63.CS1 maint: varios nombres: lista de autores ( enlace )
- ^ Ferraiolo, DF, Kuhn, DR y Sandhu, R. (noviembre-diciembre de 2007). "Justificación del estándar RBAC: comentarios sobre una crítica del estándar ANSI sobre control de acceso basado en roles" (PDF) . Seguridad y privacidad de IEEE . 5 (6): 51–53. doi : 10.1109 / MSP.2007.173 . S2CID 28140142 . Archivado desde el original (PDF) el 17 de septiembre de 2008.CS1 maint: varios nombres: lista de autores ( enlace )
Otras lecturas
- David F. Ferraiolo; D. Richard Kuhn; Ramaswamy Chandramouli (2007). Control de acceso basado en roles (2ª ed.). Casa Artech. ISBN 978-1-59693-113-8.
enlaces externos
- Preguntas frecuentes sobre modelos y estándares RBAC
- Controles de acceso basados en roles en NIST
- Perfil de control de acceso basado en roles jerárquicos y centrales de XACML
- Instituto de Seguridad Cibernética de la Universidad de Texas San Antonio
- Experiencias prácticas en la implementación de RBAC