El modelo de integridad de Clark-Wilson proporciona una base para especificar y analizar una política de integridad para un sistema informático.
El modelo se ocupa principalmente de formalizar la noción de integridad de la información . La integridad de la información se mantiene evitando la corrupción de los elementos de datos en un sistema debido a errores o intenciones maliciosas. Una política de integridad describe cómo se deben mantener válidos los elementos de datos en el sistema de un estado del sistema al siguiente y especifica las capacidades de varios principales en el sistema. El modelo utiliza etiquetas de seguridad para otorgar acceso a objetos a través de procedimientos de transformación y un modelo de interfaz restringida.
El modelo fue descrito en un artículo de 1987 ( A Comparison of Commercial and Military Computer Security Policies ) por David D. Clark y David R. Wilson. El artículo desarrolla el modelo como una forma de formalizar la noción de integridad de la información, especialmente en comparación con los requisitos para los sistemas de seguridad multinivel (MLS) descritos en el Libro Naranja . Clark y Wilson sostienen que los modelos de integridad existentes, como Biba (lectura/escritura) eran más adecuados para hacer cumplir la integridad de los datos en lugar de la confidencialidad de la información. Los modelos Biba son más claramente útiles, por ejemplo, en los sistemas de clasificación bancaria para evitar la modificación no confiable de la información y la contaminación de la información en niveles de clasificación más altos. Por el contrario, Clark-Wilson es más claramente aplicable a los procesos comerciales e industriales en los que la integridad del contenido de la información es primordial en cualquier nivel de clasificación (aunque los autores enfatizan que los tres modelos son obviamente útiles tanto para las organizaciones gubernamentales como para las industriales).
Según la Guía de estudio CISSP de Stewart y Chapple, sexta edición , el modelo Clark-Wilson utiliza un enfoque multifacético para hacer cumplir la integridad de los datos. En lugar de definir una máquina de estados formal, el modelo define cada elemento de datos y permite modificaciones a través de solo un pequeño conjunto de programas. El modelo utiliza una relación de tres partes de sujeto/programa/objeto (donde programa es intercambiable con transacción) conocida como triple o triple de control de acceso. Dentro de esta relación, los sujetos no tienen acceso directo a los objetos. Solo se puede acceder a los objetos a través de programas. Mire aquí para ver en qué se diferencia de otros modelos de control de acceso.
Las reglas de cumplimiento y certificación del modelo definen los elementos de datos y los procesos que sirven de base para una política de integridad. El núcleo del modelo se basa en la noción de transacción.
El modelo contiene una serie de construcciones básicas que representan tanto los elementos de datos como los procesos que operan sobre esos elementos de datos. El tipo de datos clave en el modelo Clark-Wilson es un elemento de datos restringido (CDI). Un procedimiento de verificación de integridad (IVP) garantiza que todos los CDI del sistema sean válidos en un estado determinado. Las transacciones que aplican la política de integridad están representadas por procedimientos de transformación (TP). Un TP toma como entrada un CDI o un elemento de datos no restringido (UDI) y produce un CDI. Un TP debe realizar la transición del sistema de un estado válido a otro estado válido. Los UDI representan la entrada del sistema (como la proporcionada por un usuario o adversario). Un TP debe garantizar (mediante certificación) que transforma todos los valores posibles de un UDI en un CDI "seguro".
En el centro del modelo se encuentra la noción de una relación entre un principal autenticado (es decir, un usuario) y un conjunto de programas (es decir, TP) que operan sobre un conjunto de elementos de datos (por ejemplo, UDI y CDI). Los componentes de dicha relación, tomados en conjunto, se denominan triple de Clark-Wilson. El modelo también debe garantizar que diferentes entidades sean responsables de manipular las relaciones entre principales, transacciones y elementos de datos. Como un breve ejemplo, un usuario capaz de certificar o crear una relación no debería poder ejecutar los programas especificados en esa relación.
El modelo consta de dos conjuntos de reglas: reglas de certificación (C) y reglas de cumplimiento (E). Las nueve reglas garantizan la integridad externa e interna de los elementos de datos. Parafraseándolas:
Dado que debemos asegurarnos de que estos TP estén certificados para operar en un CDI particular, debemos tener E1 y E2.
Esto requiere realizar un seguimiento de los triples (usuario, TP, {CDIs}) llamados "relaciones permitidas".
Necesitamos autenticación para realizar un seguimiento de esto.
Cuando la información ingresa al sistema, no es necesario que sea confiable ni esté restringida (es decir, puede ser un UDI). Debemos manejar esto de manera apropiada.
Por último, para evitar que las personas obtengan acceso modificando las calificaciones de un TP:
Una variante de Clark-Wilson es el modelo CW-lite, que relaja el requisito original de verificación formal de la semántica de TP. La verificación semántica se deja para un modelo separado y herramientas de prueba formal generales.