ES2600745T3 - Seguridad basada en la región - Google Patents
Seguridad basada en la región Download PDFInfo
- Publication number
- ES2600745T3 ES2600745T3 ES06737577.4T ES06737577T ES2600745T3 ES 2600745 T3 ES2600745 T3 ES 2600745T3 ES 06737577 T ES06737577 T ES 06737577T ES 2600745 T3 ES2600745 T3 ES 2600745T3
- Authority
- ES
- Spain
- Prior art keywords
- security
- objects
- region
- regions
- descriptor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000008859 change Effects 0.000 claims abstract description 13
- 230000009466 transformation Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 25
- 230000014759 maintenance of location Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 8
- 238000000899 pressurised-fluid extraction Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 7
- 239000011800 void material Substances 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 231100000279 safety data Toxicity 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Un sistema (100) que facilita seguridad y gestión de bases de datos, incluyendo el sistema: una base de datos relacional (110) adaptada para almacenar una pluralidad de objetos que tienen una relación jerárquica entre los objetos, comprendiendo esos objetos un objeto de raíz, objetos hijos contenedores, y objetos hijos no contenedores; y un componente de región (120) asociado a la base de datos relacional adaptado para establecer un árbol de descriptor de seguridad (SD), comprendiendo dicho árbol SD regiones SD para el objeto de raíz, los objetos de contenedor, y dichos objetos no contenedores, y adaptado para la transformación de política de seguridad de asignación de una jerarquía de herencia a un dominio de seguridad de objetos, donde las zonas de seguridad de objetos comparten una política de seguridad similar, dicho componente de región (120) adaptado para definir por medio de dichas regiones SD una o más zonas de seguridad (130) para un subconjunto de los objetos, en el que cada zona de seguridad por lo tanto tiene un descriptor de seguridad (SD) asociado, siendo las regiones SD independientes de las relaciones jerárquicas entre los objetos, y en el que el componente de región está adaptado además para asignar una de las una o más regiones SD a cada uno de la pluralidad de objetos, de tal manera que los objetos se agrupan en base a la región SD a las que se asignan los objetos, con lo que permite el cambio de un descriptor de seguridad de un objeto mediante la modificación de la región SD a la que está asignado el objeto; y adaptado para crear una nueva primera región SD (330) para un objeto (310), si el descriptor de seguridad de dicho objeto (310) se actualiza y para crear una nueva segunda región SD (340) asignada a los hijos de contenedores de dicho objeto actualizado y una nueva tercera región SD (350) asignada a los hijos no contenedores de ese objeto actualizado.
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Seguridad basada en la region Campo tecnico
La presente invencion se refiere en general a sistemas informaticos y, mas particularmente, se refiere a sistemas y procedimientos que proporcionan seguridad a un subconjunto de objetos, en funcion de un descriptor de region para el subconjunto con el fin de mitigar los requisitos de propagacion y de almacenamiento de datos de las jerarqmas de herencia de objetos clasicos.
Antecedentes de la invencion
El diseno moderno de bases de datos comerciales incluye una serie de consideraciones de datos complejos que implican la forma de almacenar, administrar y manipular grandes cantidades de datos. Estos datos incluyen a menudo intrincadas relaciones con otros datos como en un arbol de objetos que proporciona propiedades de herencia entre varios objetos. Estos tipos de relaciones a menudo complican el diseno eficiente de las bases de datos y de los componentes para administrar esos datos. Por ejemplo, uno de los aspectos del procedimiento de diseno de base de datos radica en la comprension de la forma en que un sistema de gestion de base de datos relacional almacena los datos. Para proporcionar a los usuarios informacion eficiente y precisa, un programa de base de datos necesita acceder a hechos (datos) sobre diferentes temas almacenados en tablas separadas. Por ejemplo, una tabla solo puede almacenar hechos acerca de los empleados y otra tabla puede almacenar solo hechos con respecto a las ventas, y luego otras tablas para alguna otra materia corporativa. Al utilizar los datos, estos hechos se combinan a continuacion y se presentan en muchas formas diferentes de forma automatica. Por ejemplo, los usuarios pueden imprimir informes que combinan hechos sobre los empleados y hechos sobre las ventas.
En general, para el diseno de una base de datos, la informacion se divide en un cierto orden, tales como materias separadas en una biblioteca y luego un programa de base de datos determina como se relacionan los sujetos. Estos programas a menudo incluyen una consulta de base de datos relacional utilizando un lenguaje de base de datos comun, como Structured Query Language (SQL). Antes de que estos idiomas se puedan aplicar a los datos, varias decisiones se toman generalmente en cuanto a que tipos de datos son importantes y como se deben organizar dichos datos. Por ejemplo, estas decisiones pueden incluir determinar el alcance de una base de datos para decidir cuales datos almacenar en el mismo. A continuacion, la determinacion de las tablas necesarias para dividir la informacion en materias separadas, tales como “empleados” u “ordenes”. Cada tema sera entonces una tabla en la base de datos. Otros aspectos incluyen la determinacion de los campos respectivos que son necesarios con el fin de decidir que informacion almacenar en cada tabla. Cada categona de informacion en una tabla se denomina un campo y se muestra como una columna en la tabla. Por ejemplo, un campo en una tabla de empleados podna ser apellidos; otro podna ser fecha de contratacion. Otra consideracion es determinar las relaciones tales como decidir como los datos de una tabla estan relacionados con los datos de otras tablas. Los disenadores suelen anadir campos a las tablas o crear nuevas tablas para clarificar las relaciones, segun sea necesario.
Hay varios errores comunes que pueden encontrarse en el diseno de una base de datos. Estos problemas pueden ocasionar que los datos sean mas diffciles de usar y mantener. Estos pueden incluir tener una tabla con un gran numero de campos en que no todos se refieren al mismo tema. Por ejemplo, una tabla puede contener campos relacionados con los clientes, asf como los campos que contienen informacion de ventas. Ademas, a menudo es mas eficiente si cada tabla contiene datos con respecto a un solo tema. En otros casos, los encabezados se crean cuando los campos se dejan en blanco intencionalmente en muchos registros, ya que no son aplicables a dichos registros. Esto generalmente implica que los campos pertenecen a otra tabla. La redundancia es otro problema cuando un gran numero de tablas, muchas de las cuales tienen los mismos campos. Por ejemplo, al separar las tablas de ventas de enero y las ventas de febrero, o para clientes locales y clientes remotos, en los que hay un almacenamiento redundante del mismo tipo de informacion. Por lo tanto, una tecnica esta consolidando toda la informacion relativa a un solo tema en una tabla.
Ademas de las complejidades de como configurar y disenar las tablas y campos de la base de datos, se deben tomar otras consideraciones. Estos incluyen como se debe proporcionar seguridad de datos para las tablas y los campos respectivos (por ejemplo, seguridad, como quien o que se puede acceder a un archivo). Esto incluye la forma de proporcionar seguridad a las estructuras complejas almacenadas en bases de datos tales como objetos jerarquicos. Clasicamente, las consideraciones de seguridad se han propagado en una jerarqrna de herencia de este tipo de objetos, en el que cada elemento de la jerarqrna tendna que ser actualizado si uno de los elementos fuera cambiado. Sin embargo, hay un problema comun que enfrenta cualquier aplicacion que utiliza filas de la tabla de base de datos relacional para almacenar objetos jerarquicos, que es como configurar la informacion de seguridad o datos de cada objeto y rellenar los datos de seguridad para sus objetos secundarios basados en el modelo de herencia. El documento US-B1-6202066 divulga los tipos de acceso de objetos que comprenden las especificaciones de control de acceso que asocian los roles con permisos y asocian estos roles con un conjunto de objetos. El documento da a conocer aun mas los tipos de acceso a objetos que son listas de control de acceso NTFS a las especificaciones y los posibles permisos usando los habituales permisos de archivos NTFS.
5
10
15
20
25
30
35
40
45
50
55
El documento US 6.105.066 divulga un servidor que incluye una base de datos que almacena los datos de usuario y datos de grupo, como las preferencias del usuario y de grupo y permisos de acceso de usuario del subprograma. El servidor web representa un servidor web tfpico con soporte para los subprogramas de Java. El administrador de perfil subprogramas del servidor asigna identificaciones de usuarios y grupos a los datos de preferencia. Tambien mantiene una lista de control de acceso para administrar el acceso de usuarios a las aplicaciones en el servidor. Las preferencias de usuario y de grupo se almacenan como una jerarqrna de arbol, como se muestra en la figura 3. Todos los usuarios del sistema pertenecen automaticamente al grupo todos los usuarios; este grupo contiene las preferencias por defecto de algunos o todos los subprogramas de usuario en el servidor. Un nuevo grupo tiene acceso a todos los nombres de subprograma permitidos por el propio grupo, asf como a los subprogramas permitidos por sus supergrupos. Sin embargo, al igual que Java permite al programador anular un procedimiento de una superclase, la gestion de perfiles permite al administrador del sistema la capacidad de anular un permiso heredado. Esto se llama anular un permiso.
Sumario de la invencion
Es el objeto de la presente invencion mejorar el manejo de los atributos de seguridad en una base de datos relacional con respecto a los requisitos de procesamiento posteriores a la actualizacion de los atributos de seguridad. Este objeto se resuelve por la materia objeto de las reivindicaciones independientes. Las realizaciones preferidas se definen en las reivindicaciones dependientes.
A continuacion, se presenta un resumen simplificado de la invencion con el fin de proporcionar una comprension basica de algunos aspectos de la invencion. Este resumen no es una amplia descripcion de la invencion. No pretende identificar elementos clave/cnticos de la invencion o delinear el alcance de la invencion. Su unico proposito es presentar algunos conceptos de la invencion en una forma simplificada como preludio a la descripcion mas detallada que se presenta mas adelante.
La presente invencion se refiere a sistemas y procedimientos que proporcionan la seguridad de base regional a una pluralidad de objetos de bases de datos que tienen relaciones jerarquicas entre los objetos. Un componente de region se proporciona que asigna informacion de seguridad a un subconjunto de los objetos existentes en una jerarqrna con el fin de crear una o mas zonas de seguridad que son independientes de la jerarqrna. Esto permite que los objetos existentes en una region o zona que compartan atributos de seguridad que mitiga los requisitos de procesamiento de la base de datos (por ejemplo, un menor numero de nodos en los que actualizar los datos de seguridad). En general, las arquitecturas de bases de datos clasicas a menudo utilizan filas de la tabla de una base de datos relacional para almacenar objetos jerarquicos, que tambien se provoca que un descriptor de seguridad se ajuste en cada objeto y tambien rellenar el descriptor de seguridad a los respectivos objetos secundarios basados en el modelo de herencia. Esto provoca cantidades de tiempo de procesamiento cada vez mayores para cada actualizacion de objeto y se mitiga mediante la introduccion de consideraciones de base regional.
Una region puede ser una coleccion de objetos (no tiene que ser en un arbol contiguo) que comparten la misma o similar descriptor de seguridad. Cuando se actualiza un descriptor de seguridad en un objeto, la region a la que pertenece el objeto puede dividirse o colapsarse. Por ejemplo, una region se puede dividir si un descriptor de seguridad diferente en cualquier objeto hijo es el resultado de la modificacion; mientras que una region puede colapsarse en otra region si el cambio resulta en el mismo descriptor de seguridad que el de la otra region. En lugar de que cada objeto posea directamente su propio descriptor de seguridad, una region posee el descriptor de seguridad; lo que reduce drasticamente el numero de actualizaciones de objeto cuando se cambia un descriptor de seguridad en un objeto que puede afectar a los descriptores de seguridad de otros objetos.
En general, una region se define clasicamente como un subarbol de objetos en un modelo de objetos jerarquico. En el caso de la presente invencion, una region se define como un conjunto de objetos que comparten el mismo descriptor de seguridad, por lo que los objetos que comparten el mismo descriptor de seguridad no tienen que estar bajo el mismo arbol secundario. Este direccionamiento indirecto permite procedimientos eficientes para manipular los descriptores de seguridad de los objetos. Por lo tanto, la seguridad basada en regiones esencialmente transforma un dominio de objeto a un dominio de descriptor de seguridad y lleva a cabo las operaciones de descriptor de seguridad en el dominio de descriptor de seguridad directa e independientemente de la jerarqrna que mitiga el procesamiento de base de datos global.
Para la realizacion de los extremos anteriores y relacionados, se describen ciertos aspectos ilustrativos de la invencion en el presente documento en conexion con la siguiente descripcion y los dibujos adjuntos. Estos aspectos son indicativos de diversas formas en que la invencion puede ponerse en practica, todos los cuales estan destinados a ser cubiertos por la presente invencion. Otras ventajas y caractensticas novedosas de la invencion se haran evidentes de la siguiente descripcion detallada de la invencion cuando se considera en conjuncion con los dibujos.
Breve descripcion de los dibujos
La figura 1 es un diagrama de bloques esquematico que ilustra un sistema de seguridad de objeto de acuerdo
con un aspecto de la presente invencion.
La figura 2 es un diagrama que ilustra un ejemplo de dominio de seguridad transformado de acuerdo con un
5
10
15
20
25
30
35
40
45
50
55
60
aspecto de la presente invencion.
La figura 3 ilustra un dominio de seguridad alternativo transformado de acuerdo con un aspecto de la presente invencion.
La figura 4 ilustra interfaces de ejemplo de seguridad de acuerdo con un aspecto de la presente invencion.
La figura 5 ilustra el procesamiento de componente de region de acuerdo con un aspecto de la presente invencion.
La figura 6 ilustra ejemplos de algoritmos de procesamiento de region de acuerdo con un aspecto de la presente invencion.
La figura 7 ilustra un procedimiento de region de seguridad de acuerdo con un aspecto de la presente invencion. La figura 8 es un diagrama de bloques esquematico que ilustra un entorno operativo adecuado de acuerdo con un aspecto de la presente invencion.
La figura 9 es un diagrama de bloques esquematico de un entorno informatico de muestra con el que puede interactuar el objeto de la invencion.
Descripcion detallada de la invencion
La presente invencion se refiere a sistemas y procedimientos que proporcionan la seguridad de base regional a los objetos de base de datos que tienen relaciones jerarquicas. En lugar de la actualizacion de un descriptor de seguridad por separado para cada objeto, la presente invencion introduce el concepto de una region, por lo que la seguridad para un objeto dado se deriva de su asociacion a la region en oposicion a la jerarqrna. Esto esta en contraste con las arquitecturas clasicas que requieren las descripciones de objetos individuales y tienen la seguridad impuesta por la jerarqrna de herencia. De esta manera, el procesamiento y el almacenamiento de bases de datos pueden ser conservados, ya que muchos objetos pueden compartir atributos de seguridad similares que pueden definirse en una escala mas global para la region respectiva. En un aspecto, se proporciona un sistema que facilita la gestion de la seguridad y la base de datos. El sistema incluye un componente de base de datos que almacena una pluralidad de objetos que tienen una relacion jerarquica entre los objetos. Un componente de region define zonas de seguridad para un subconjunto de objetos y asigna datos de seguridad al subconjunto, en el que las zonas de seguridad son independientes, desacopladas, o disociadas de las relaciones jerarquicas entre los objetos.
Tal como se usa en esta solicitud, los terminos “componente”, “sistema”, “objeto”, “zona”, y similares pretenden hacer referencia a una entidad relacionada con los ordenadores, ya sea hardware, una combinacion de hardware y software, software, o software en ejecucion. Por ejemplo, un componente puede ser, pero no se limita a, un procedimiento que se ejecuta en un procesador, un procesador, un objeto, un ejecutable, un hilo de ejecucion, un programa, y / o un ordenador. A modo de ilustracion, tanto una aplicacion que se ejecuta en un servidor y el servidor pueden ser un componente. Uno o mas componentes pueden residir dentro de un procedimiento y/o hilo de ejecucion y un componente puede estar localizado en un ordenador y/o distribuido entre dos o mas ordenadores. Ademas, estos componentes pueden ejecutarse desde diversos medios legibles por ordenador que tienen diversas estructuras de datos almacenadas en el mismo. Los componentes pueden comunicarse via procedimientos locales y/o remotos como de acuerdo con una senal que tiene uno o mas paquetes de datos (por ejemplo, los datos de un componente interactuando con otro componente en un sistema local, sistema distribuido, y/o a traves de una red como Internet con otros sistemas a traves de la senal).
Haciendo referencia inicialmente a la figura 1, un sistema de seguridad de objetos 100 se ilustra de acuerdo con un aspecto de la presente invencion. El sistema 100 incluye una base de datos relacional 110 (por ejemplo, SQL u otro tipo de base de datos) que esta asociada con un componente de region 120 (o componentes) que define una o mas zonas de seguridad del objeto 130. En general, los nodos individuales de una jerarqrna de objetos (por ejemplo, ver un objeto de jerarqrna en el numero de referencia 140) no se actualizan de forma individual cuando se realizan cambios en la seguridad de los objetos. Por el contrario, las polfticas de seguridad son asignadas por el componente de region 120 por las respectivas zonas de seguridad en 130. Mediante la asignacion de objetos a una zona de seguridad 130 en lugar de actualizar cada objeto individual, el numero de operaciones de lectura/escritura en la base de datos 110 puede ser mitigado. Por lo tanto, el componente de region 120 transforma la asignacion de polftica de seguridad de una jerarqrna de herencia - donde se actualiza cada objeto, a un dominio de seguridad de objetos en el que las zonas de objetos comparten una polftica de seguridad similar. De esta manera un subconjunto mas pequeno de las actualizaciones de seguridad se puede propagar cuando la polftica de seguridad de un objeto cambia con solo actualizar el reducido subconjunto de las zonas de seguridad 130 en lugar de actualizar cada objeto individual en una jerarqrna de herencia clasica. Se hace notar que los conceptos de herencia se pueden emplear para propagar la polftica en el sistema 100, sin embargo, la herencia es entre zonas de seguridad 130 en lugar de la herencia convencional entre objetos en un arbol. Por lo tanto, la herencia se produce entre los componentes que se modelan en un dominio de seguridad en lugar de un dominio de objeto. Esto implica que las asignaciones de seguridad para un objeto en cuestion son entre el objeto y su zona asociada 130 mas que expftcitamente establecidas para el objeto individual 140. Por lo tanto, el componente de region 120 proporciona seguridad a una region de objetos identificados y esencialmente se desacopla, se disocia, o es independiente de las jerarqrnas de objetos convencionales que propagan los cambios de seguridad a todos los objetos de la jerarqrna.
En general, a los elementos de la base de datos 110 se puede asignar un ID (identificador) para un descriptor de seguridad. La base de datos incluye una tabla [Table!Item] que tiene una columna llamada SDID (ID descriptor de seguridad). Este SDID es un identificador unico de un descriptor de seguridad que se almacena y se mantiene en
5
10
15
20
25
30
35
40
45
una tabla del sistema de SQL oculta, por ejemplo. Una tabla de sistema puede estar expuesta a traves de una vista publica (por ejemplo, Sys. Descriptor de Seguridad). La siguiente tabla es una ilustracion simplificada de como un descriptor de seguridad puede ser conectado o asociado con un modelo de objeto basico:
[Table!Item]: Asocia un elemento con un ID descriptor de seguridad.
- _ID del objeto
- _SDID
[Sys. Descriptor de seguridad]: Asigna el ID para el contenido del descriptor de seguridad.
- Sd_id
- Tipo Descriptor de seguridad
Para asignar de manera eficiente un ID de descriptor de seguridad (SD ID) a un elemento de objeto, una tecnologfa de region SD se basa en parte en la observacion de que la mayona de los elementos objeto tienden a compartir el mismo descriptor de seguridad. Una region SD es un conjunto de elementos (que no tienen que ser contiguos como en los sistemas convencionales) que comparten la misma o similar ID SD. Por lo general, todos los elementos de la [Table!Item] que se muestra mas arriba se pueden agrupar en diferentes regiones SD. La relacion de las regiones SD puede establecerse de tal manera que la desviacion estandar de una region SD puede heredar del SD de otra region SD en el dominio de seguridad que se ha descrito anteriormente. En esencia, se establece un arbol de region SD que es comparable con el arbol de elementos de objeto correspondiente, pero con un menor numero de nodos como se mostrara con respecto a las figuras 2 y 3 a continuacion. El arbol de region SD por lo tanto se puede utilizar para actualizar el SD del elemento de manera eficiente. Normalmente cuando se crea un arbol de elementos de seguridad, se crean tres regiones SD para asignar los SDs sustancialmente a todos los elementos en el arbol. Por lo tanto, una region SD es para el elemento rafz (donde se define un SD explfcita), otra region SD es para los respectivos elementos de contenedores y el ultimo SD para elementos no contenedores.
Con referencia ahora a las figuras 2 y 3, el dominio de seguridad de ejemplo transformados 200 y 300 se ilustran de acuerdo con un aspecto de la presente invencion. En 200 de la figura 2, se ilustran los nodos de un arbol de objeto, en donde un nodo negro en 210 es un elemento de la rafz; los nodos grises en 220 son elementos contenedores, y los nodos blancos en 230 son elementos no contenedores. Cuando se actualiza el descriptor de seguridad de un elemento (SD) (por ejemplo, cambiando el propietario del SD, grupo, lista de control de acceso y asf sucesivamente), la region SD donde pertenece el elemento se puede dividir en tres subgrupos o subconjuntos, como se ilustra en 240. Los cambios en la seguridad generalmente se efectuan a traves de los datos referidos como una entrada de control de acceso (ACE) que puede ser de una forma explfcita o implfcita. Cuando las ACE explfcitas se anaden al SD de un elemento, nuevas regiones SD se pueden crear en torno a este tema. En este caso, se crean tres regiones SD, una para el elemento (donde se anaden las ACE explfcitas) en sf, uno para sus hijos contenedores y una para sus hijos no contenedores. Haciendo referencia a la figura 3, una situacion mas compleja se ilustra cuando se agrega una ACE explfcita no propagada a un SD en un elemento en 310, en cuyo caso cinco nuevas regiones se crean en torno al elemento, como se ilustra en 320. En este caso, se crea una region para el elemento en sf mismo (donde se anade la ACE explfcita) 330, una region para sus hijos contenedores directos en, una region para sus hijos directos no contenedores en 350, una region para sus hijos no directos contenedores en 360 y una region para sus hijos no contenedores no directos en 370.
Para resumir las figuras 2 y 3, las nuevas regiones se pueden crear cuando el SD de un elemento se actualiza de forma explfcita (no a traves de la herencia). Generalmente, 3 o 5 nuevas regiones (posibles otras cantidades) se crean en funcion de los cambios que se realizan para la SD. Cinco regiones SD se crean si se anade una ACE no propagada y tres regiones SD se crean generalmente en otros casos. A modo de ejemplo, supongamos que el elemento cuyo SD contiene propiedades no heredadas (ACE no hereditarias en la mayona de los casos) como el elemento rafz. Como se senalo anteriormente, un elemento rafz de tipo contenedor puede ser dueno de 3 o 5 regiones SD dependiendo de los tipos de ACE explfcitas en el SD. Un no contenedor puede tener su propia region SD si su SD tiene propiedades explfcitas. Si todas las propiedades explfcitas de SD de un elemento rafz se eliminan, a continuacion, las regiones SD posefdas por este elemento rafz pueden ser colapsadas en el SD de su elemento padre que a su vez reduce las actualizaciones de seguridad de objetos individuales. Cada region SD se puede representar como una fila en una tabla Security_Hierachy como el siguiente ejemplo:
5
10
15
20
25
30
35
[Table!Security_Hierachy]: Almacena la relacion de herencia SD y establece los elementos a compartir el mismo descriptor de seguridad.
- _SDIdParent
- _SDId _RootItemID _IsContainer _Scope
Las columnas de la tabla anterior pueden incluir un _SDId que es el ID de la region SD, un campo _SDIdParent que es el ID del SD en las propiedades de seguridad heredadas son procedentes de, un campo _RootItemID que es el ID del elemento en el que el SD explfcito es definido, un campo _IsContainer que es 1 si el SD se aplica al contenedor, o 0 a un no contenedor, y un campo de _Alcance que se codifica como sigue:
0: el SD se aplica al Elemento Rafz. 1: el SD solo se aplica a hijos del elemento Rafz. 2: el SD se aplica a los
hijos directos del Elemento Rafz. 3: el SD se aplica a los hijos no directos del Elemento Rafz.
Se observa que cuando una base de datos se automantiene, tres descriptores de seguridad predeterminados se pueden crear si se desea; un descriptor de la parte superior del elemento Rafz, un descriptor para todos los hijos contenedores y un descriptor para todos los hijos que no son de contenedores. En consecuencia, tres regiones SD en la parte superior del elemento Rafz se pueden crear tambien. Por lo general, todos los elementos creados posteriormente en el volumen pueden tener uno de los SDs como su SD predeterminado. Cuando las ACEs explfcitas se anaden al elemento, se pueden crear nuevas regiones SD como se discutio anteriormente.
La figura 4 ilustra interfaces de seguridad de ejemplo 400 de acuerdo con un aspecto de la presente invencion. Varias interfaces de seguridad 400 se pueden proporcionar para interactuar con las consideraciones basadas en regiones descritas anteriormente. A continuacion, se describiran solo algunos ejemplos de interfaz que pueden ser aplicados. Estos pueden incluir interfaces para la recuperacion de datos de seguridad en 410, interfaces para configurar la informacion de seguridad en 420, e interfaces para mantener enlaces, como se describira en mas detalle a continuacion. El fragmento de codigo siguiente es un ejemplo de una declaracion publica para algunas de estas interfaces 400.
Elemento de seguridad de clase sellado publico
public ItemSecurity( Guid itemld )
public string GetSDDLSecurity()
public GenericSecurityDescriptor GetSecurity()
public void SetSDDLSecurity(string sd, SECURITY_INFORMATION
si )
public void SetSecurity ( GenericSecurityDescriptor gsd ,
SECURITY_INFORMATION si) public string GetUserEffectiveSecurity() public void AddHoldingLink ( Guid itemld ) public void RemoveHoldingLink( Guid itemld )
A continuacion, se ofrece una breve descripcion de las interfaces de seguridad 410 a 430:
public string GetSDDLSecurity() - Recupera todo el descriptor de seguridad en el elemento en formato de cadena SDDL. Incluye listas de control de acceso heredadas y explfcitas.
public GenericSecurityDescriptor GetSecurity() - Recupera todo el descriptor de seguridad en el elemento en el formato de una clase Gestionado GenericSecurityDescriptor ACL.
SetSDDLSecurity public void (sd cadena, SEgUrIDaD DE LA INFORMACION SI) Establece el descriptor de seguridad en el elemento. Esta funcion hace caso omiso de las ACE heredadas. Se vuelve a generar las ACE heredadas de su padre y otros enlaces que llevan a cabo. Se le puede llamar para establecer el propietario, grupo, indicador de control o las ACE explfcitas. SECURITY_INFORMATION especifica que parte del descriptor de seguridad se va a actualizar.
publica SetSecurity vacfo (GenericSecurityDescriptor GSD, si SECURITY_INFORMATION) - Establece el descriptor de seguridad en el elemento. Toma la clase ACL Gestionado como parametro de entrada. AddHoldingLink public void (Guid itemId) - Actualiza el descriptor de seguridad en el elemento cuando se anade un nuevo enlace de sujecion al elemento.
RemoveHoldingLink public void (Guid itemId) - Actualiza el descriptor de seguridad en el elemento al retirar un nuevo enlace de sujecion del elemento.
GetUserEffectiveSecurity cadena publica () - Recuperar el descriptor de seguridad en el elemento que contiene
las entradas de control pertinentes al contexto de seguridad actual.
La figura 5 ilustra un procesamiento de componente de region 500 de acuerdo con un aspecto de la presente invencion. En 510, se proporcionan definiciones de region. Estas incluyen una region del descriptor de seguridad (SD), que es un conjunto de objetos que comparten el mismo SD. El conjunto de elementos no tiene que formar un 5 arbol contiguo. Una fila de jerarqma de seguridad (SH) es una fila de una [Tabla!Security_Hierachy] de la siguiente lista. Cada region SD debe tener una fila de SH en la tabla.
- _ParentSDId
- _SDId _RootItemId _IsContainer _Scope
- SD0
- SD1 ItemId 0 3
Una fila en la tabla anterior se refiere como una fila de SH que corresponde a una region de SD. Las filas de esta tabla indican un conjunto de elementos (puede ser un solo elemento) que comparten el mismo descriptor de 10 seguridad (SD1 en el ejemplo anterior). El conjunto de elementos se define por una rafz comun (el ItemId), un tipo comun (contenedor o no contenedor) y un ambito. El ambito es opcional para soportar diferentes modelos de seguridad del sistema operativo.
En 520, se describen consideraciones de combinacion de region y de creacion. En este aspecto, una nueva region SD puede crearse bajo las siguientes condiciones:
15 1. Cambios SD realizados en un elemento no contenedor.
Tres nuevas regiones SD pueden crearse en las siguientes condiciones:
1. Cambios SD realizados en un elemento contenedor, y
2. Los cambios SD no incluye las ACEs sin propagacion.
Cinco nuevas regiones SD podnan crear en las siguientes condiciones:
20 1. Cambios SD realizados en un elemento contenedor, y
2. Los cambios SD incluyen ACEs sin propagacion.
Las regiones SD pueden fusionarse bajo las siguientes condiciones:
1. SD padre hace cumplir la herencia SD mediante el lavado de los SDs hijo; o
2. Las ACEs explfcitas se eliminan de un SD.
25 En 530, se proporcionan diversas nociones que se puede emplear en los siguientes algoritmos descritos con respecto a la figura 6. Estas anotaciones incluyen:
_Item o * - El sistema del elemento actual que aplica las operaciones on.
SDId (x) o SDId - El sd_id del descriptor de seguridad sobre el punto x.
SDId_NC (x) o SDId_NC - El SDId se aplica a los objetos hijo sin contenedores del elemento x.
30 SDId_C (x) o SDld_C - El SDId se aplica a los objetos hijo de contenedor del elemento x.
SDId_NC2 (x) o SDId_NC2 - El SDId se aplica para dirigir los objetos hijo sin contenedores del elemento x. SDId_C2 (x) o SDId_C2 - El SDId se aplica para dirigir los objetos hijo de contenedor del elemento x.
SDId_NC3 (x) o SDId_NC3 - El SDId se aplica a los objetos hijo sin contenedor no directos del elemento x. SDId_C3 (x) o SDId_C3 - El SDId se aplica a los objetos hijo de contenedor no directos del elemento x.
35 SHRow (x, i, j) - La fila en la tabla [Table!Security_Hierachy] donde _RootItemId = x, _IsContainer = i, j = _Scope
UpdateIternSD (OldSDId, NewSDId, RootItem, IsContainer, Scope) - Modificar el SDID de todos los elementos del tipo (IsContainer) cuyo SDiD actual = OldSDId, el antepasado es RootItem dentro del Scope a NewSDId.
UpdateSDBlob (SDiD) - Actualiza el contenido de los descriptores de seguridad de este SDID y sus hijos si el SDID de sus hijos no forma un ciclo con este SDiD. Por ejemplo, cuando se anade un enlace de retencion (con SD0) a un 40 elemento de archivo (con SD1) que no tiene su propia fila en la tabla [Table!Security_Hierachy], se crearan tres filas (SD0, SD1, _Item, 0, 0), (SD1, Sd0, _Item, 0, 1), (SD1, SD0, _Item, 1,1). Aqrn se reutiliza SD0 para los elementos hijo de este elemento para reducir significativamente el numero de cambios en la tabla [Table!Item].
UpdateSDId (SDiD, SDId_New) - Actualiza las filas del elemento actual de [Table!Security_Hierachy] donde _SDId = SDID para establecer SDiD = SDId_New.
45 UpdateParentSDId (SDIdPar, SDIdPar_New) - Actualiza las filas de [Table!Security_Hierachy] donde _ParentSDId =
5
10
15
20
25
30
35
40
45
50
55
SDIdPar para establecer _ParentSDId = SDIdPar_New.
CreateNewSD (SDiD) - Crea un nuevo SD del SD actual mas los cambios que se realicen (anadir/quitar las ACEs, anadir/eliminar enlaces de retencion).
La figura 6 ilustra algoritmos de procesamiento 600 de region de ejemplo de acuerdo con un aspecto de la presente invencion. En este aspecto, al menos tres algoritmos 600 separados o combinados se puede emplear para efectuar procedimientos de region. Estos incluyen un Ajuste de descriptor de seguridad en 610; un Anadir enlace de retencion 620; y un Eliminar algoritmo de enlace de retencion en 630. Con respecto al Ajuste de descriptor de seguridad 610, hay varias maneras de cambiar el descriptor de seguridad en un objeto que al menos incluya:
Anadir/Eliminar ACEs explfcitas no hereditarias.
Anadir/Eliminar ACEs explfcitas hereditarias que se aplican a este elemento y a todos sus hijos.
Anadir/Eliminar ACEs exphcitas hereditarias que solo se aplican a sus hijos.
Anadir/Eliminar ACEs explfcitas hereditarias que solo se aplican a este elemento y a sus hijos directos.
Anadir/Eliminar ACEs explfcitas hereditarias que solo se aplican a los contenedores hijo.
Anadir/Eliminar ACEs explfcitas hereditarias que solo se aplican a los objetos hijo.
Anadir/Eliminar ACEs explfcitas hereditarias que solo se aplican a cierto tipo de objetos.
Cambiar el propietario del descriptor de seguridad.
Cambiar el grupo de descriptor de seguridad.
Cambiar los indicadores de control del descriptor de seguridad.
i. Detener la herencia de ACEs
ii. Iniciar la herencia de ACEs
iii. Cambiar otros indicadores de control que solo se aplican a este elemento.
En 620, cuando se anade un enlace de retencion a un elemento, el descriptor de seguridad sobre este elemento puede cambiarse o no, dependiendo de si el enlace de retencion dispone de ACEs hereditarias y si el SD en este elemento tiene un indicador SE_DACLE_PROTECTED activado. Sin embargo, la tabla [Table!Security_Hierachy] debe ser actualizada. Cuando se anade un enlace de retencion a un elemento, tres nuevas filas para el elemento deben anadirse a la tabla [Table!Security_Hierachy] si el elemento no tiene una fila designada todavfa. Para reducir la actualizacion en la tabla [Table!Item], los siguientes formatos se pueden utilizar para crear estas filas: (SD0, SD1, *, 0, 0), (SD1, SD0, *, 0, 1), (SD1, SD0, *, 1, 1) donde SD0 es el antiguo SDID del elemento de destino del enlace de retencion, SD1 es el nuevo SDID del elemento de destino. Mediante este esquema, solo tendra que actualizar el elemento de fuente en la tabla [Table!Item]. Sobre la base de este esquema, si se agrega una ACE hereditaria no exphcita sobre este dato mas adelante, no se realiza una actualizacion en la tabla [Table!Item]. En 630, se puede suponer que la SDID del descriptor de seguridad en el enlace de retencion que ser eliminado es SDId_HD. En el caso de la eliminacion del enlace de retencion, las regiones SD se pueden colapsar y, por lo tanto, las filas de la tabla [Table!Security_Hierachy] se pueden intercalar.
La figura 7 ilustra un procedimiento 700 de region de seguridad de ejemplo para la seguridad de objetos de base de datos de acuerdo con un aspecto de la presente invencion. Aunque, a los efectos de simplificar la explicacion, la metodologfa se muestra y se describe como una serie o numero de actos, se debe entender y apreciar que la presente invencion no esta limitada por el orden de los actos, ya que algunos actos pueden, de acuerdo con la presente invencion, producirse en diferentes ordenes y/o al mismo tiempo con otros actos de los que se muestran y describen en este documento. Por ejemplo, los expertos en la tecnica entenderan y apreciaran que una metodologfa podna alternativamente representarse como una serie de estados o eventos interrelacionados, como en un diagrama de estado. Por otra parte, no todos los actos ilustrados pueden ser requeridos para implementar una metodologfa de acuerdo con la presente invencion.
Pasando a 710 de la figura 7, los descriptores de seguridad para los objetos respectivos en una base de datos estan desacoplados o disociados de una jerarqrna de objetos clasica mediante la eliminacion del requisito de que cada objeto que se actualiza (en cuanto a seguridad) a la vista de cualquier posible actualizacion de la jerarqrna. En 720, uno o mas descriptores de seguridad se utilizan para definir las regiones de objeto para los objetos que residen en la base de datos. Como se senalo anteriormente, esto puede incluir el colapso o la fusion de los datos de seguridad objeto de arboles de objetos similares o diferentes con el fin de definir las regiones de seguridad o subconjuntos de objetos que se suscriben a los datos de seguridad similares de la region. Ademas, tales datos de region se pueden definir en una fila de la base de datos incluyendo relaciones resultantes con otros objetos que pertenecen a la region. En 730, las polfticas de seguridad de los objetos se establecen por regiones seleccionadas en la base de datos. Como se senalo anteriormente, dependiendo del tipo de entrada de control de acceso (Implfcito/Exphcito) y la ubicacion de un cambio de seguridad en una jerarqrna de objetos, se pueden crear varias regiones de seguridad a partir de tales ajustes. En 740, se producen transformaciones entre dominios de objetos clasicos y los dominios de seguridad de la presente invencion con el fin de propagar los cambios de seguridad dentro de la base de datos. Esto puede incluir la creacion de subconjuntos de regiones alrededor de un objeto dado en el momento de que se solicite un cambio de seguridad para el objeto (por ejemplo, crear tres o cinco regiones en funcion del tipo de cambio de seguridad).
5
10
15
20
25
30
35
40
45
50
55
60
Con referencia a la figura 8, un entorno 810 de ejemplo para implementar diversos aspectos de la invencion incluye un ordenador 812. El ordenador 812 incluye una unidad de procesamiento 814, una memoria de sistema 816, y un bus de sistema 818. El bus del sistema 818 acopla los componentes del sistema incluyendo, pero no limitado a, la memoria del sistema 816 a la unidad de procesamiento 814. La unidad de procesamiento 814 puede ser cualquiera de los diversos procesadores disponibles. Microprocesadores duales y otras arquitecturas de multiprocesadores tambien se pueden emplear como la unidad de procesamiento 814.
El bus del sistema 818 puede ser cualquiera de varios tipos de estructura(s) de bus, incluyendo el bus de memoria o el controlador de memoria, un bus periferico o un bus externo, y/o un bus local usando cualquier variedad de arquitecturas de bus disponibles, incluyendo, pero no limitado a, bus de 11 bits, Arquitectura Estandar Industrial (ISA), Arquitectura de microcanal (MSA), ISA extendida (EISA), Electronica de accionamiento inteligente (IDE), bus local VESA (VLB), interconexion de componentes perifericos (PCI), bus serie universal (USB), puerto de graficos avanzado (AGP), bus de asociacion internacional de tarjetas de memoria de ordenador personal (PCMCIA), e interfaz de pequenos sistemas de ordenador (SCSI).
La memoria del sistema 816 incluye una memoria volatil 820 y una memoria no volatil 822. El sistema basico de entrada/salida (BIOS), que contiene las rutinas basicas para transferir informacion entre elementos dentro del ordenador 812, como durante el arranque, se almacena en la memoria no volatil 822. A modo de ilustracion, y no de limitacion, la memoria no volatil 822 puede incluir una memoria de solo lectura (ROM), ROM programable (PROM), ROM electricamente programable (EPROM), ROM borrable electricamente (EEPROM), o memoria flash. La memoria volatil 820 incluye una memoria de acceso aleatorio (RAM), que actua como una memoria cache externa. A modo de ilustracion y no de limitacion, la RAM esta disponible en muchas formas, tales como RAM smcrona (SRAM), RAM dinamica (DRAM), DRAM smcrona (SDRAM), SDRAM de doble velocidad de datos (DDR SDRAM), SDRAM aumentada (EsDrAM), DRAM SynchLink (SLDRaM), y RAM Rambus directa (DRRAM).
El ordenador 812 incluye ademas medios extrafbles/no extrafbles volatiles/no volatiles de almacenamiento informatico. La figura 8 ilustra, por ejemplo, un almacenamiento en disco 824. El almacenamiento en disco 824 incluye, pero no se limita a, dispositivos como una unidad de disco magnetico, unidad de disquete, unidad de cinta, unidad Jaz, unidad Zip, unidad LS-100, tarjeta de memoria flash, o lapiz de memoria. Ademas, el almacenamiento en disco 824 puede incluir medios de almacenamiento por separado o en combinacion con otros medios de almacenamiento, incluyendo, pero no limitado a, una unidad de disco optico tal como un dispositivo de disco compacto ROM (CD-ROM), unidad CD grabable (unidad CD-R), CD regrabable (unidad CD-RW) o una unidad de disco digital versatil ROM (DVD-ROM). Para facilitar la conexion de los dispositivos de almacenamiento en disco 824 al bus de sistema 818, se suele utilizar una interfaz extrafble o no extrafble como interfaz 826.
Debe apreciarse que la figura 8 describe software que actua como un intermediario entre los usuarios y los recursos informaticos basicos descritos en el entorno operativo 810 adecuado. Este tipo de software incluye un sistema operativo 828. El sistema operativo 828, que puede almacenarse en un almacenamiento de disco 824, que actua para controlar y asignar recursos del sistema de ordenador 812. Las aplicaciones del sistema 830 se aprovechan de la gestion de los recursos mediante el sistema 828 que opera a traves de unos modulos de programa 832 y 834 del programa los datos almacenados en la memoria del sistema 816 o en el almacenamiento en disco 824. Debe apreciarse que la presente invencion puede implementarse con diversos sistemas operativos o combinaciones de sistemas operativos.
Un usuario introduce comandos o informacion en el ordenador 812 a traves del dispositivo(s) de entrada 836. Los dispositivos de entrada 836 incluyen, pero no se limitan a, un dispositivo senalador tal como un raton, bola de seguimiento, lapiz optico, pantalla tactil, teclado, microfono, joystick, almohadilla de juegos, antena parabolica, escaner, tarjeta sintonizadora de TV, camara digital, camara de video digital, camara web, y similares. Estos y otros dispositivos de entrada se conectan a la unidad de procesamiento 814 a traves del bus del sistema 818 a traves de puerto(s) de interfaz 838. El(los) puerto(s) de interfaz 838 incluye(n), por ejemplo, un puerto serie, un puerto paralelo, un puerto de juegos, y un bus serie universal (USB). El(los) dispositivo(s) de salida 840 utiliza(n) alguna del mismo tipo de los puertos como dispositivo(s) de entrada 836. Asf, por ejemplo, un puerto USB puede utilizarse para proporcionar la entrada al ordenador 812, y la informacion de salida desde el ordenador 812 a un dispositivo de salida 840. Un adaptador de salida 842 se proporciona para ilustrar que hay algunos dispositivos de salida 840 como monitores, altavoces e impresoras, entre otros dispositivos de salida 840, que requieren adaptadores especiales. Los adaptadores de salida 842 incluyen, a modo de ilustracion y no de limitacion, tarjetas de video y de sonido que proporcionan un medio de conexion entre el dispositivo de salida 840 y el bus 818 del sistema. Debe tenerse en cuenta que otros dispositivos y/o sistemas de dispositivos proporcionan ambas capacidades de entrada y salida, como equipo(s) remoto(s) 844.
El ordenador 812 puede operar en un entorno de red usando conexiones logicas a uno o mas ordenadores remotos, tal como ordenador(es) remoto(s) 844. El ordenador(es) remoto(s) 844 puede(n) ser un ordenador personal, un servidor, un enrutador, un PC de red, una estacion de trabajo, un aparato basado en un microprocesador, un dispositivo par u otro nodo de red comun y similares, y tfpicamente incluye muchos o todos los elementos descritos con relacion al ordenador 812. Para fines de brevedad, solamente un dispositivo de almacenamiento de memoria 846 se ilustra con el ordenador(es) remoto(s) 844. El ordenador(es) remoto(s) 844 esta(n) conectado(s) logicamente al ordenador 812 a traves de una interfaz de red 848 y luego ffsicamente conectado a traves de conexion de
5
10
15
20
25
30
comunicacion 850. La interfaz de red 848 abarca las redes de comunicacion, como las redes de area local (LAN) y redes de area amplia (WAN). Las tecnologfas LAN incluyen interfaz de datos distribuidos de fibra (FDDI), interfaz de datos distribuidos de cobre (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 y similares. Las tecnologfas WAN incluyen, pero no se limitan a, enlaces punto a punto, redes de conmutacion de circuitos como servicios integrados de redes digitales (RDSI) y variaciones de los mismos, redes de conmutacion de paquetes, y lmeas de abonado digital (DSL).
Conexion(es) de comunicacion 850 se refiere(n) al hardware/software empleado para conectar la interfaz de red 848 al bus 818. Aunque se muestra la conexion de comunicacion 850 para mayor claridad ilustrativa dentro del ordenador 812, tambien puede ser externa al ordenador 812. El hardware/software necesario para la conexion a la interfaz de red 848 incluye, a modo de ejemplo solamente, tecnologfas internas y externas tales como modems, incluyendo modems telefonicos de grado regular, modems de cable y modems dSl, adaptadores ISDN, y tarjetas Ethernet.
La figura 9 es un diagrama de bloques esquematico de un entorno de computacion de muestra 900 con los que puede interactuar el objeto de la invencion. El sistema 900 incluye uno o mas clientes 910. El cliente(s) 910 puede ser hardware y/o software (por ejemplo, hilos, procedimientos, dispositivos de computacion). El sistema 900 tambien incluye uno o mas servidores 930. El servidor(es) 930 tambien puede(n) ser hardware y/o software (por ejemplo, hilos, procedimientos, dispositivos de computacion). Los servidores 930 pueden albergar hilos para realizar transformaciones mediante el empleo de la presente invencion, por ejemplo. Una posible comunicacion entre un cliente 910 y un servidor 930 puede ser en forma de un paquete de datos adaptado para ser transmitido entre dos o mas procedimientos informaticos. El sistema 900 incluye un marco de comunicacion 950 que se puede emplear para facilitar las comunicaciones entre el cliente(s) 910 y el servidor(es) 930. El cliente(s) 910 esta(n) conectado(s) operativamente a uno o mas almacenes de datos de cliente 960 que pueden emplearse para almacenar la informacion local para el cliente(s) 910. Del mismo modo, el servidor(es) 930 esta(n) conectado(s) operativamente a uno o mas almacenes de datos del servidor 940 que puede emplearse para almacenar informacion local a los servidores 930.
Lo que se ha descrito anteriormente incluye ejemplos de la presente invencion. Por supuesto, no es posible describir cada combinacion concebible de componentes o metodologfas a efectos de describir la presente invencion, pero un experto normal en la tecnica puede reconocer que muchas otras combinaciones y permutaciones de la presente invencion son posibles. En consecuencia, la presente invencion pretende abarcar todas las alteraciones, modificaciones y variaciones que caen dentro del alcance de las reivindicaciones adjuntas. Ademas, en la medida en que se utiliza el termino “incluye”, ya sea en la descripcion detallada o en las reivindicaciones, tal termino pretende ser inclusivo, de una manera similar a la expresion “que comprende”, porque “que comprende” se interpreta cuando se emplea como una palabra transitoria en una reivindicacion.
Claims (14)
- 5101520253035404550REIVINDICACIONES1. Un sistema (100) que facilita seguridad y gestion de bases de datos, incluyendo el sistema:una base de datos relacional (110) adaptada para almacenar una pluralidad de objetos que tienen una relacion jerarquica entre los objetos, comprendiendo esos objetos un objeto de rafz, objetos hijos contenedores, y objetos hijos no contenedores; yun componente de region (120) asociado a la base de datos relacional adaptado para establecer un arbol de descriptor de seguridad (SD), comprendiendo dicho arbol SD regiones SD para el objeto de rafz, los objetos de contenedor, y dichos objetos no contenedores, y adaptado para la transformacion de polftica de seguridad de asignacion de una jerarqrna de herencia a un dominio de seguridad de objetos, donde las zonas de seguridad de objetos comparten una polftica de seguridad similar,dicho componente de region (120) adaptado para definir por medio de dichas regiones SD una o mas zonas de seguridad (130) para un subconjunto de los objetos, en el que cada zona de seguridad por lo tanto tiene un descriptor de seguridad (SD) asociado, siendo las regiones SD independientes de las relaciones jerarquicas entre los objetos, y en el que el componente de region esta adaptado ademas para asignar una de las una o mas regiones SD a cada uno de la pluralidad de objetos, de tal manera que los objetos se agrupan en base a la region SD a las que se asignan los objetos, con lo que permite el cambio de un descriptor de seguridad de un objeto mediante la modificacion de la region SD a la que esta asignado el objeto; yadaptado para crear una nueva primera region SD (330) para un objeto (310), si el descriptor de seguridad de dicho objeto (310) se actualiza y para crear una nueva segunda region SD (340) asignada a los hijos de contenedores de dicho objeto actualizado y una nueva tercera region SD (350) asignada a los hijos no contenedores de ese objeto actualizado.
- 2. El sistema de la reivindicacion 1, en el que el componente de region (120) soporta seguridad de herencia entre regiones SD en el dominio de seguridad en el que una region SD se define como un conjunto de objetos que tienen el mismo descriptor de seguridad.
- 3. El sistema de la reivindicacion 1, en el que el componente de region (120) soporta un colapso de las regiones SD basadas en un analisis de los cambios de seguridad.
- 4. El sistema de la reivindicacion 3, en el que el componente de region (120) expande las regiones SD mediante al menos tres regiones SD basadas en los cambios de seguridad detectados.
- 5. El sistema de la reivindicacion 4, en el que los cambios de seguridad son detectados por una entrada de control de acceso, ACE.
- 6. El sistema de la reivindicacion 5, en el que la entrada de control de acceso representa un cambio de seguridad expftcito o impftcito.
- 7. El sistema de la reivindicacion 1, que comprende ademas una tabla que asocia un elemento de objeto con un identificador de descriptor de seguridad.
- 8. El sistema de la reivindicacion 7, que comprende ademas una tabla que asigna el identificador de descriptor de seguridad a contenidos de un descriptor de seguridad.
- 9. El sistema de la reivindicacion 1, que comprende ademas al menos una interfaz para interactuar con el componente de region (120) o la base de datos relacional (110).
- 10. El sistema de la reivindicacion 9, en el que la interfaz incluye una funcion de obtencion de seguridad, unas funciones de obtencion de descriptores, una funcion de ajuste de seguridad, una funcion de anadir un enlace de retencion, una funcion de retirar un enlace de retencion, y una funcion de obtencion de una seguridad efectiva.
- 11. El sistema de la reivindicacion 1, que comprende ademas una fila de jerarqrna de seguridad para definir las relaciones de objetos de seguridad en un dominio de seguridad.
- 12. Un procedimiento para facilitar seguridad y gestion de bases de datos, comprendiendo el procedimiento las etapas de:definir objetos de la base de datos en un dominio de objetos de una base de datos relacional, teniendo los objetos de la base de datos una relacion jerarquica entre los objetos, comprendiendo esos objetos un objeto de rafz, objetos hijos contenedores, y los objetos hijos no contenedores;establecer por medio de un componente de region (120) un arbol de descriptor de seguridad (SD), comprendiendo dicho arbol SD regiones SD para el objeto de rafz, los objetos contenedores, y los objetos no contenedores;transformar la asignacion de polftica de seguridad de una jerarqrna de herencia a un dominio de seguridad de objetos, donde las zonas de seguridad de los objetos comparten una polftica de seguridad similar;definir mediante el componente de region (120) por medio de dichas zonas de seguridad de las regiones SD en un dominio de seguridad para un subconjunto de los objetos de la base de datos, en el que cada zona de seguridad por lo tanto tiene un descriptor de seguridad (SD) asociado, siendo las regiones SD independientes de las relaciones jerarquicas entre los objetos de la base de datos;5 asignar mediante el componente de region (120) una de las una o mas regiones SD a cada uno de la pluralidadde objetos de tal manera que los objetos se agrupan en base a la region SD a los que se asignan los objetos, lo que permite el cambio del descriptor de seguridad de un objeto mediante la modificacion de la region SD a la que esta asignada el objeto; ycrear mediante el componente de region (120) una nueva primera region SD (330) para un objeto (310), si un 10 descriptor de seguridad de dicho objeto (310) se actualiza y crear una nueva segunda region SD (340) asignadaa los hijos contenedores de dicho objeto actualizado y una nueva tercera region SD (350) asignada a los hijos no contenedores de ese objeto actualizado.
- 13. El procedimiento de la reivindicacion 12, que comprende ademas la generacion de al menos tres regiones SD tras detectar cambios en el dominio de seguridad.15 14. El procedimiento de la reivindicacion 12, que comprende ademas proporcionar un mecanismo de herencia paralas regiones SD dentro del dominio de seguridad.
- 15. Un medio legible por ordenador que tiene instrucciones legibles por ordenador almacenadas en el mismo para implementar el procedimiento de la reivindicacion 12.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US122299 | 1998-07-24 | ||
US11/122,299 US8326877B2 (en) | 2005-05-04 | 2005-05-04 | Region-based security |
PCT/US2006/008416 WO2006118662A2 (en) | 2005-05-04 | 2006-03-09 | Region-based security |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2600745T3 true ES2600745T3 (es) | 2017-02-10 |
Family
ID=37308435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES06737577.4T Active ES2600745T3 (es) | 2005-05-04 | 2006-03-09 | Seguridad basada en la región |
Country Status (18)
Country | Link |
---|---|
US (1) | US8326877B2 (es) |
EP (1) | EP1875389B1 (es) |
JP (1) | JP2008541226A (es) |
KR (1) | KR101292430B1 (es) |
CN (1) | CN101375275B (es) |
AU (1) | AU2006241479B2 (es) |
BR (1) | BRPI0609954A2 (es) |
CA (1) | CA2602315A1 (es) |
ES (1) | ES2600745T3 (es) |
IL (1) | IL186068A (es) |
MX (1) | MX2007012421A (es) |
NO (1) | NO20074868L (es) |
NZ (1) | NZ561945A (es) |
RU (1) | RU2413978C2 (es) |
SG (1) | SG161277A1 (es) |
TW (1) | TWI399662B (es) |
WO (1) | WO2006118662A2 (es) |
ZA (1) | ZA200707971B (es) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2206049A4 (en) * | 2007-09-28 | 2013-11-13 | Xcerion Ab | NETWORK EXHIBIT SYSTEM |
US9069599B2 (en) * | 2008-06-19 | 2015-06-30 | Servicemesh, Inc. | System and method for a cloud computing abstraction layer with security zone facilities |
EP2316071A4 (en) | 2008-06-19 | 2011-08-17 | Servicemesh Inc | CLOUD DATA PROCESSING GATEWAY, CLOUD DATA PROCESSING HYPERVISOR, AND METHOD FOR IMPLEMENTING THEM |
US9489647B2 (en) | 2008-06-19 | 2016-11-08 | Csc Agility Platform, Inc. | System and method for a cloud computing abstraction with self-service portal for publishing resources |
US10411975B2 (en) | 2013-03-15 | 2019-09-10 | Csc Agility Platform, Inc. | System and method for a cloud computing abstraction with multi-tier deployment policy |
US20110035802A1 (en) * | 2009-08-07 | 2011-02-10 | Microsoft Corporation | Representing virtual object priority based on relationships |
WO2013126638A1 (en) * | 2012-02-24 | 2013-08-29 | Interdigital Patent Holdings, Inc. | Methods, apparatus and methods for mobile cloud bursting |
CN103377261A (zh) * | 2012-04-28 | 2013-10-30 | 瑞昱半导体股份有限公司 | 管理存取控制清单的装置、执行装置以及方法 |
RU2495487C1 (ru) * | 2012-08-10 | 2013-10-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ для определения доверия при обновлении разрешенного программного обеспечения |
US20150180872A1 (en) * | 2013-12-20 | 2015-06-25 | Cube, Co. | System and method for hierarchical resource permissions and role management in a multitenant environment |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07104868B2 (ja) * | 1988-04-08 | 1995-11-13 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ記憶検索システム |
US5261102A (en) * | 1991-03-28 | 1993-11-09 | International Business Machines Corporation | System for determining direct and indirect user access privileges to data base objects |
US5504814A (en) * | 1991-07-10 | 1996-04-02 | Hughes Aircraft Company | Efficient security kernel for the 80960 extended architecture |
US5694590A (en) * | 1991-09-27 | 1997-12-02 | The Mitre Corporation | Apparatus and method for the detection of security violations in multilevel secure databases |
US6134558A (en) * | 1997-10-31 | 2000-10-17 | Oracle Corporation | References that indicate where global database objects reside |
US6202066B1 (en) * | 1997-11-19 | 2001-03-13 | The United States Of America As Represented By The Secretary Of Commerce | Implementation of role/group permission association using object access type |
US6125447A (en) * | 1997-12-11 | 2000-09-26 | Sun Microsystems, Inc. | Protection domains to provide security in a computer system |
US6446206B1 (en) * | 1998-04-01 | 2002-09-03 | Microsoft Corporation | Method and system for access control of a message queue |
US6105066A (en) * | 1998-05-05 | 2000-08-15 | International Business Machines Corp. | Client-server system with central application management and using fully qualified class names of object-oriented applications for determining permanent server storage locations for application configuration information |
US6381605B1 (en) * | 1999-05-29 | 2002-04-30 | Oracle Corporation | Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets |
WO2001074046A1 (fr) * | 2000-03-27 | 2001-10-04 | Sanyo Electric Co., Ltd. | Serveur et terminal de distribution de donnees, et systeme de distribution de donnees |
US6732100B1 (en) * | 2000-03-31 | 2004-05-04 | Siebel Systems, Inc. | Database access method and system for user role defined access |
US6795450B1 (en) * | 2000-09-28 | 2004-09-21 | Tdk Semiconductor Corporation | Method and apparatus for supporting physical layer link-suspend operation between network nodes |
US20020107889A1 (en) * | 2001-02-08 | 2002-08-08 | Tilion Corporation | Markup language routing and administration |
US7051039B1 (en) * | 2001-09-28 | 2006-05-23 | Oracle International Corporation | Mechanism for uniform access control in a database system |
US7240046B2 (en) | 2002-09-04 | 2007-07-03 | International Business Machines Corporation | Row-level security in a relational database management system |
US7266702B2 (en) * | 2002-10-21 | 2007-09-04 | Solid Information Technology Oy | Method and system for managing security material and services in a distributed database system |
US7127461B1 (en) * | 2002-11-27 | 2006-10-24 | Microsoft Corporation | Controlling access to objects with rules for a work management environment |
US7529811B2 (en) * | 2003-08-21 | 2009-05-05 | Microsoft Corporation | Systems and methods for the implementation of a core schema for providing a top-level structure for organizing units of information manageable by a hardware/software interface system |
US7251822B2 (en) | 2003-10-23 | 2007-07-31 | Microsoft Corporation | System and methods providing enhanced security model |
US7661141B2 (en) * | 2004-02-11 | 2010-02-09 | Microsoft Corporation | Systems and methods that optimize row level database security |
US7200595B2 (en) * | 2004-03-29 | 2007-04-03 | Microsoft Corporation | Systems and methods for fine grained access control of data stored in relational databases |
US7490347B1 (en) * | 2004-04-30 | 2009-02-10 | Sap Ag | Hierarchical security domain model |
US8990254B2 (en) * | 2004-07-02 | 2015-03-24 | Ellie Mae, Inc. | Loan origination software system for processing mortgage loans over a distributed network |
-
2005
- 2005-05-04 US US11/122,299 patent/US8326877B2/en not_active Expired - Fee Related
-
2006
- 2006-03-09 CN CN2006800124046A patent/CN101375275B/zh not_active Expired - Fee Related
- 2006-03-09 MX MXMX07012421A patent/MX2007012421A/es active IP Right Grant
- 2006-03-09 ES ES06737577.4T patent/ES2600745T3/es active Active
- 2006-03-09 WO PCT/US2006/008416 patent/WO2006118662A2/en active Application Filing
- 2006-03-09 JP JP2008509998A patent/JP2008541226A/ja active Pending
- 2006-03-09 TW TW095108002A patent/TWI399662B/zh not_active IP Right Cessation
- 2006-03-09 SG SG201002622-7A patent/SG161277A1/en unknown
- 2006-03-09 EP EP06737577.4A patent/EP1875389B1/en not_active Not-in-force
- 2006-03-09 CA CA002602315A patent/CA2602315A1/en not_active Abandoned
- 2006-03-09 RU RU2007140924/08A patent/RU2413978C2/ru not_active IP Right Cessation
- 2006-03-09 KR KR1020077021934A patent/KR101292430B1/ko active IP Right Grant
- 2006-03-09 NZ NZ561945A patent/NZ561945A/en not_active IP Right Cessation
- 2006-03-09 BR BRPI0609954-8A patent/BRPI0609954A2/pt not_active IP Right Cessation
- 2006-03-09 ZA ZA200707971A patent/ZA200707971B/xx unknown
- 2006-03-09 AU AU2006241479A patent/AU2006241479B2/en not_active Ceased
-
2007
- 2007-09-19 IL IL186068A patent/IL186068A/en active IP Right Grant
- 2007-09-25 NO NO20074868A patent/NO20074868L/no unknown
Also Published As
Publication number | Publication date |
---|---|
BRPI0609954A2 (pt) | 2010-05-11 |
SG161277A1 (en) | 2010-05-27 |
CN101375275A (zh) | 2009-02-25 |
EP1875389A2 (en) | 2008-01-09 |
CA2602315A1 (en) | 2006-11-09 |
RU2413978C2 (ru) | 2011-03-10 |
NO20074868L (no) | 2008-01-23 |
AU2006241479B2 (en) | 2012-05-03 |
IL186068A (en) | 2013-03-24 |
CN101375275B (zh) | 2013-02-13 |
TWI399662B (zh) | 2013-06-21 |
EP1875389B1 (en) | 2016-08-03 |
KR101292430B1 (ko) | 2013-07-31 |
AU2006241479A1 (en) | 2006-11-09 |
ZA200707971B (en) | 2008-12-31 |
JP2008541226A (ja) | 2008-11-20 |
WO2006118662A2 (en) | 2006-11-09 |
WO2006118662A3 (en) | 2007-11-22 |
NZ561945A (en) | 2010-09-30 |
RU2007140924A (ru) | 2009-05-10 |
KR20080013856A (ko) | 2008-02-13 |
IL186068A0 (en) | 2008-01-20 |
US8326877B2 (en) | 2012-12-04 |
US20060253443A1 (en) | 2006-11-09 |
MX2007012421A (es) | 2007-10-19 |
TW200639673A (en) | 2006-11-16 |
EP1875389A4 (en) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2600745T3 (es) | Seguridad basada en la región | |
KR101265815B1 (ko) | 강화된 보안 모델을 제공하는 시스템 및 방법 | |
AU2006200199B2 (en) | Discoverability and enumeration mechanisms in a hierarchically secure storage system | |
US8862624B2 (en) | Access control to resource content | |
US7827524B2 (en) | System and method for integrating object-oriented model profiles and object-oriented programming languages | |
US20020002557A1 (en) | Inherited information propagator for objects | |
CN110046205B (zh) | 一种关系型数据库行安全访问控制方法及系统 | |
US7464331B2 (en) | System and method for validating hierarchically-organized messages |