[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

ES2600745T3 - Seguridad basada en la región - Google Patents

Seguridad basada en la región Download PDF

Info

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
Application number
ES06737577.4T
Other languages
English (en)
Inventor
Ziquan Li
Tanmoy Dutta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2600745T3 publication Critical patent/ES2600745T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital 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)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. 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; y
    un 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; y
    adaptado 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 pluralidad
    de 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; y
    crear 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) asignada
    a 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. 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 para
    las regiones SD dentro del dominio de seguridad.
  14. 15. Un medio legible por ordenador que tiene instrucciones legibles por ordenador almacenadas en el mismo para implementar el procedimiento de la reivindicacion 12.
ES06737577.4T 2005-05-04 2006-03-09 Seguridad basada en la región Active ES2600745T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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