Rivero L.Encyclopedia of database technologies and applications.2006
.pdfspeed. An extension to ADTs that deals with the modeling of moving objects is to define spatio-temporal predicates and their composition in order to describe the development of relationships between moving objects (Güting et al., 2003). For example, two moving objects may be first 10 miles from each other, then intersect, and finally be 10 miles from each other again.
Constraint databases represent another alternative to data modeling for spatial and temporal data. The idea is to use a mathematical formulation to represent spatial and temporal data as an infinite collection of points that satisfy first-order formulae. The constraint-based model allows a uniform representation of all kinds of spatio-temporal data and supports declarative query languages that are wellsuited for complex spatio-temporal queries (Grumbach et al.,2003).
There are different constraint-based models for spatiotemporal data. In the original constraint data model, constraints are expressed as linear equations or inequalities (Kanellakis et al., 1995). The indefinite constraint data model (Koubarakis, 1994) extends the original constraint model to handle indefinite information by defining possible worlds as linear or polynomial constraint relations that use variables to handle vague or imprecise values. An extension of the linear constraint model uses differential geometry (Su, Xu & Ibarra, 2001). Within such an approach, simple primitives of velocity and acceleration along with vector operators are sufficient to express relations about movements and the topological and temporal relations among objects. Finally, another extension to the original constraint model treats spatio-temporal data as (possibly infinite) sets of points in a multidimensional space of rational numbers, with no limitation of the space dimension (Grumbach et al., 2003). These sets are then used as values in tuples.
Access Methods
Traditional access methods do not support spatio-tempo- ral data; therefore, different proposals have been developed to simultaneously support time and space. They aim at indexing objects that move in a two-dimensional space (Mokbel, Ghanem, & Aref, 2003; Di Pasquale et al., 2003). Most of these methods extend spatial access methods to include temporal components. These methods may be classified based on the type of data about moving objects that they deal with. Some methods focus on the retrieval of historical data with queries defined by timeslices or intervals. Examples are RT-Tree (Xu, Han & Lu, 1990), HRTree (Nascimiento et al., 1999), and their variations. A second type of access methods focuses on the trajectory of moving objects, such as TB-Tree and STR-Tree (Pfoser, Jensen & Theodoridis, 2000). Finally, some methods are used to retrieve future positions of moving objects based
Moving Objects Databases
on the current positions and movement patterns (Agarwal, Arge & Erickson, 2000, Kollios, Gunopulos & Tsotras, 1999).
A different classification of access methods considers how time is included in the spatial structure. Considering time as another dimension, the 3D-Rtree (Theodoridis, Vazigiannis & Sellis, 1996) treats spatiotemporal data as three-dimensional structures, such that the spatial locations are depicted, say, on the xy-plane, and the z-axis is the time dimension. Another strategy incorporates temporal data in the nodes of the spatial structure, such as the case of the RT-Tree (Xu et al., 1990). Other approaches take into account the overlapping of common data across time, thus, reducing unnecessary duplication of data. This is the type of approach used by HR-Tree (Nascimiento et al., 1999) and OLQ (Tzouramanis, Vassilakopoulos & Manolopoulos, 2000).
In addition to the general spatio-temporal indexing methods, some access methods have been designed taking into consideration specific requirements of the applications where they are used (Fretzos, 2003; Pfoser, Jensen, & Theodoridis, 2000). Such special requirements may include movements within partitions of the space, movements at different speeds, objects as points regardless of their shapes, and dynamic indexing when new objects are included in the system.
FUTURE TRENDS
Moving objects databases is an important area of database research that has become especially active since the 1990s. Although there have been advances in the different aspects involved in the design of moving objects databases, there are still many challenges that current solutions have either only partially addressed or have not addressed at all. These challenges are summarized in Table 1.
CONCLUSION
Moving objects databases are a challenging area for further research. Emerging commercial location-based services that make use of devices such as smart cell phones, wireless modems, and GPS devices, whose prices are dropping rapidly, suggest that the use of this technology will spread worldwide. The issues discussed in this article about spatio-temporal concepts, conceptual modeling, data modeling, and access methods emphasize the current state of the start of moving objects databases. Given that moving objects databases are still a young technology, there is a need for further studies that address not only the already-covered aspects of model-
380
TEAM LinG
Moving Objects Databases
Table 1. Challenges for moving objects applications |
|
|
|
|
|
M |
|
|
|
|
|
Uncertainty |
representations of moving objects data, which have an impact on |
|
|
|
|
||
|
|||
Moving objects applications should include aspects of |
the consistency and integration of databases. |
|
|
uncertainty and quality of data, as well as more semantics |
|
|
|
through constraints. |
Consistency |
|
|
Discrete observations vs. continuous movement |
Management of consistency is usually accomplished by defining |
|
|
integrity constraints. There are no studies that address deeply |
|
||
Data comes as discrete observations of a continuous |
enough the specification and modeling of spatio-temporal constraints |
|
|
movement. This is still a challenging issue for moving objects |
(rules). |
|
|
applications that need to define the frequency of observations. |
|
|
|
Lack of standardization |
Query processing |
|
|
Query processing needs to take into account more than indexes. In |
|
||
There are still a large number of unstandardized features being |
particular, it also needs to consider optimizers and join algorithms. |
|
|
used to model spatio-temporal data. In this context, creators |
|
|
|
of spatio-temporal models should consider how their models |
Performance evaluation |
|
|
may be integrated with ISO TC 211, GML (The Geographic |
More research is necessary to verify the performance of existing |
|
|
Markup Language)-related developments. |
or new indexing methods in realistic scenarios. |
|
|
Data integration |
Aggregation and visualization |
|
|
Like traditional databases, data integration in moving objects |
Spatio-temporal OLAP involves the study of aggregation functions, |
|
|
applications presents issues at the semantic, logical, and |
as well as the visualization of multidimensional data. |
|
|
physical levels of a database. |
|
|
|
Distributed systems |
User interface |
|
|
Although there exist several approaches to visual query languages |
|
||
Centralized databases may be impractical, in which case, a |
for spatial databases, they all allow querying of only static spatial |
|
|
distributed solution would be needed. Such distributed solution |
situations. Querying and visualization of object changes and changes |
|
|
requires a system to allocate, update, and query moving |
of objects’ relationships are the goal for a spatio-temporal language. |
|
|
objects or trajectories in distributed data repositories. |
|
|
|
|
Moving-objects data miningThe mining of motion patterns |
|
|
Granularity |
means the detection of periodicity in the movements of objects. |
|
|
Such periodicity may be cyclic (e.g., monthly, diary, and so on) or |
|
||
Not only spatial data, but also temporal data can be viewed |
not, which is useful in the prediction of motion. |
|
|
at multiple granularities. Such granularities offer multiple |
|
|
|
|
|
|
|
ing and indexing structures, but also new considerations about data mining, warehousing, query processing, consistency, data integration, and user interfaces.
REFERENCES
Agarwal, P., Arge, L., & Erickson, J. (2000). Indexing moving points. Symposium on principles of database systems (pp. 175-186). ACM Press.
Forlizze, L., Güting, H., Nardelli, E., & Schneider, M. (2000). A data model and data structure for moving objects databases (pp. 319-330). ACM SIGMOD. ACM Press.
Frank, A. (2003). Ontology for spatio-temporal databases. In K. Koukarakis, R. Sellis, A. Frank, S. Grumbach, R. Güting, C. Jensen, N., et al. (Eds.),
Spatio-temporal databases: The chorochronos ap- proach,LNCS2520(pp.9-78).Berlin:Springer-Verlag.
Frentzos, E. (2003). Indexing objects moving on fixed networks. In T. Hadzilacos, Y. Manolopoulos, J.
Roddick, & Y. Theodoridis (Eds.), Advances in spatial and temporal databases, LNCS 2750 (pp. 289-305). Berlin: SpringerVerlag.
Grumbach, S., Koubarakis, M., Rigaux, P., Scholl, M. & Skiadopoulos, S. (2003). Spatio-temporal models and languages: An approach based on constraints. In K. Koukarakis, R. Sellis, A. Frank, S. Grumbach, R. Güting, C. Jensen, N., et al. (Eds.),
Spatio-temporal databases: The chorochronos approach,
LNCS 2520 (pp. 177-201). Berlin: Springer-Verlag.
Güting, R., Böhlen, M., Erwing, M., Jensen, C., Lorentzos, N., Nardelli, E., et al. (2003). Spatio-temporal models and languages: An approach based on data types. In K. Koukarakis, R. Sellis, A. Frank, S. Grumbach, R. Güting, C. Jensen, N., et al.
(Eds.), Spatio-temporal databases: The chorochronos approach, LNCS 2520 (pp. 117-176). Berlin: Springer-Verlag.
Güting, R., Böhlen, M., Erwing, M., Jensen, C., Lorentzos, N., Schneider, M., et al. (2000). A foundation for representing and querying moving objects. ACM Transactions on Database Systems, 25, 1-42.
Kanellakis, P., Kuper, G., & Revesz, P. (1990). Constraint query languages. Proceedings of the ACM Symposium on Principles of Database Systems (pp. 299-313). ACM Press.
381
TEAM LinG
Kollios, G., Gunopulos, D., & Tsotras, V. (1999). On indexing mobile objects. Proceedings of the ACM Symposium on Principles of Database Systems (pp. 261-272). ACM Press.
Koubarakis, M. (1994). Database models for infinite and indefinite temporal information. Information Systems, 19, 141-173.
Mokbel, M., Ghanem, T., & Aref, W. (2003). Spatiotemporal access methods. IEEE Data Engineering Bulletin, 26, 40-49.
Mokbel, M.F., & Aref, W.G. (2003). Spatiotemporal access methods. IEEE Data Engineering Bulletin, 26, 40-49.
Nascimiento, M., Jefferson, R., Silva, J., & Theodoridis, Y. (1999). Evaluation of access structures for discretely moving points. Proccedings of the Workshop on Spatiotemporal Database Management (pp. 171-188).
Parent, C., Spaccapietra, S., & Zimányi, E. (1999). Spatiotemporal conceptual models: Data structure + space + time. In C. Medeiros (Ed.), ACM GIS (pp.26-33). ACM Press.
Pfoser, D., Jensen, C., & Theodoridis, T. (2000). Novel approaches in query processing for moving object trajectories, International Conference on Very Large Data Bases (pp. 395-406). Morgan Kaufmann Publishers.
Pfoser, D. & Tryfona, N. (1998). Requirements, definitions and notations for spatiotemporal aplication environments. ACM GIS (pp. 124-130). ACM Press.
Price, R., Tryfona, N., & Jensen, C. (2000). Extended spatiotemporalUML:Motivations,requirementsandconstructs.
Journal of Database Management, 11, 14-27.
Shekhar, S., Coyle, M., Goyal, B., Liu, D.-R., & Sakar, S. (1997). Data models in geographic information systems.
Communications ACM, 40, 103-111.
Su, J., Xu, H., & Ibarra, O. (2001). Moving objects: Logical relationships and queries. In C. Jensen, M. Schneider, & J.T. Vassilis (Eds.), Advances in spatial and temporal databases, LNCS 2121 (pp. 3-19). Berlin: Springer-Verlag.
Theodoridis, Y., Vazirgiannis, M., & Sellis, T. (1996). Spatiotemporal indexing for large multimedia applications. Proceedings of the International Conference on Multimedia Computing and Systems (pp. 441-448).
Tryfona, N., & Jensen, C. (1999). Conceptual data modeling for spatiotemporal applications. GeoInformatica, 3, 245-268.
Tryfona, N., Price, R., & Jensen, C. (2003). Conceptual models for spatio-temporal applications. In K. Koukarakis, R. Sellis, A. Frank, S. Grumbach, R. Güting, C. Jensen, N.,
Moving Objects Databases
et al. (Eds.), Spatio-temporal databases: The chorochronos approach, LNCS 2520 (pp. 79-116). Berlin: Springer-Verlag.
Tzouramanis, T., Vassilakopoulos, M., & Manolopoulos, Y. (2000). Overlapping linear quadtrees and apatiotemporal query processing. The Computer Journal, 43, 325-343.
Wolfson, O. (2002). Moving objects information management: The database challenge. Proceedings of the 5th Workshop on Next Generation Information Technology and Systems (pp. 75-89). Berlin: Springer-Verlag.
Xu, X., Han J., & Lu, W. (1990). RT-Tree: An improved R- Tree index structure for spatiotemporal database. Proceedings of the 4th International Symposium on Spatial Data Handling (pp. 1040-1049).
KEY TERMS
Bi-Temporal Query: Refers to a query that involves both valid and transaction time points or intervals.
Existence Time: The time when an object exists in the reality. It can be seen as the valid time of the existence of an object, that is, the valid time of “object o exists.”
Interval-Based Model of Time: temporality is specified using regular or irregular intervals or periods, which are durative temporal references.
Point-Based Model of Time: temporality is specified using explicit occurrences of an event, observation or action, which are punctual occurrences.
Spatio-Temporal Join Query: It refers to a query that asks for data that satisfy a spatial relation and a temporal window. For example, find all cars within 10 miles of each other during a given hour (or at 1 pm.).
Spatio-Temporal Selection Query: It refers to a query that asks for data that intersect a spatial and temporal window.
Timeslice or Snapshot Query: Refers to a query that asks for data as of a given transaction time. For example, find all objects alive during a time interval.
Transaction Time: The time when an element (i.e., anything that may be stored in a database) is part of the current state of the database. It can be seen as the valid time of an element that is currently in the database, that is, valid time of “element e is current in the database.”
Valid Time: The time when a fact (i.e., a statement with an associated truth value) is true in the modeled reality.
382
TEAM LinG
Multilevel Databases1
AlbanGabillon
IUT de Mont de Marsan, France
INTRODUCTION
In the context of multilevel security, every piece of information is associated with a classification level, and every user is associated with a clearance level. The classification and clearance levels are taken from the same set of security levels. This set is totally or partially ordered and forms a lattice. The ordering relation is called the dominance relation and is denoted by ≥. An example of a totally ordered set is {Unclassified, Confidential, Secret} with Secret > Confidential > Unclassified. An example for a partially ordered set is {low, (Secret, NATO), (Secret, Defence), high} with (Secret, NATO) > low, (Secret, Defence) > low, high > (Secret, NATO), high > (Secret, Defence), (Secret, NATO) and (Secret, Defence) are incomparable.
In multilevel security, the security policy (also called the confidentiality policy) states that a user has the permission to know a given piece of information only if the clearance level of that user dominates (i.e., is higher than or equal to) the classification level associated with the piece of information. Multilevel security is traditionally opposed to discretionary security. In discretionary security, the security rules (i.e., permissions or prohibitions) explicitly refer to users’ identities.
BACKGROUND
Most of the existing multilevel security models for databases are based on the following properties (Bell & LaPadula, 1975):
•No read up: This rule states that a subject at level X cannot read information at level Y if Y strictly dominates X.
•No write down: This rule states that a subject at level X cannot write information at level Y if X strictly dominates Y.
In these rules, subject refers to a user or a process. The process level is the working level of the user, on behalf of which that process executes. The level at which the user decides to work can be his or her clearance level or any level that is dominated by the user’s clearance level. The no write down restriction is necessary to prevent high
383
M
level processes from illegally disclosing sensitive data. Consider a program that contains a Trojan horse, and assume a user with a high clearance decides to work at a high security level and run that program without knowing that it is infected. Without the no write down restriction, the Trojan horse would be capable of writing high classified data into a low level information container, making the high level data available to users with low clearance.
The Bell and LaPadula (1975) rules do not disallow write up. However, in multilevel databases, write up is very often prohibited because of the integrity problems arising from its blind nature (Thomas & Sandhu, 1993). The Bell and LaPadula properties are necessary to enforce the confidentiality policy, but they are not sufficient. Indeed, it is possible to illegally transmit data by other means than simple read and write operations. In the literature, such unauthorized communication paths are referred to as covert channels. Covert channels can be of several types: timing channel, inference channel, and signaling channel (National Computer Security Center, 1993).
Multilevel security is for applications requiring a high confidentiality level. It is mainly used by military organizations, and it is sometimes called military security. Many multilevel security models have been proposed for multilevel relational databases (see Denning, Lunt, Schell, Shockley, & Heckman, 1988; Haig, O’Brien, Stachour, & Toups, 1990; Jajodia & Sandhu, 1991b; Jukic, Vrbsky, Parrish, Dixon, & Jukic, 1999; Qian & Lunt, 1996; Sandhu
&Chen, 1998; Smith & Winslett, 1992) and object-ori- ented databases (see Jajodia & Kogan, 1990a; Keefe, Tsai,
&Thuraisingham, 1989; Lunt, 1990; Millen & Lunt, 1992; Cuppens, Gabillon & Yardanian, 1993, 1997, 1999). Experience has shown that when designing a multilevel security model for a database, the following issues must be addressed:
•Granularity of the data must be defined. This means the data structures that will later be classified must be identified. For example, in the context of relational databases, should security levels be assigned to tables? To rows? To attributes? To attribute values? Once the information granularity is defined, the semantics of the association between a security level and a granule must be specified.
Copyright © 2006, Idea Group Inc., distributing in print or electronic forms without written permission of IGI is prohibited.
TEAM LinG
•Inference channels must be prevented. When labelling the data with security levels, one should make sure that no sensitive data can be derived from low level data.
•Multilevel database must be decomposed into a collection of single-level views. Indeed, each user has to be provided with a consistent and complete view of the multilevel database that is compatible with his or her security level.
•Operational semantics for the different update operations must be defined.
Throughout this paper I shall illustrate these points with a small multilevel relational database reduced to a single relation and shall consider the following set of security levels: {Unclassified (U), Confidential (C), Secret (S)}.
MULTILEVEL DATABASE DESIGN
Information Granularity
When designing a multilevel security model for a database, the first problem is to define the information granularity. The finer the information granularity, the better the expressive power of the model. For example, a model for relational databases in which only tables or rows can be classified would be a model with a poor expressive power, whereas a model in which attribute values (i.e., intersection between a row and a column) can be classified would be a model with a great expressive power.
In fact, defining the information granularity depends on the application needs. To illustrate my point, consider the Wing relation (see Table 1). Primary key of this relation is {Name}.
This relation represents an imaginary French American wing ready for attack. The military security administrator of this database knows the various sensitivities of the data contained in this table:
•The existence of the wing is unclassified.
•The existence of each plane except Firefox is unclassified.
•The existence of Firefox is confidential.
Table 1. Wing
Name |
Speed |
Range |
Objective |
F16 Falcon |
2145 km/h |
2000 km |
Target A |
Mirage 2000 |
2340 km/h |
1480 km |
Target B |
Rafale |
2124 km/h |
1824 km |
Target A |
X-43Z |
8000 km/h |
9000 km |
Target A |
Firefox |
12000 km/h |
13000 km |
Target B |
Multilevel Databases
•The existence of the Name, Speed and Range attributes in the Wing table is unclassified.
•The fact that the wing is to launch an attack is confidential (i.e., the existence of the Objective attribute in the Wing table is confidential).
•The speed and the range of each supersonic plane are unclassified
•The speed and the range of X-43Z are confidential.
•The speed of Firefox is secret and the range is confidential.
•Mirage 2000 and Firefox objectives are secret. Other plane objectives are confidential.
Analyzing these facts suggests a model in which tables, attributes, and attribute values can be classified. The security level assigned to a table protects the existence of the table. The security level assigned to an attribute (i.e., column) protects the existence of the attribute in the table. The security level assigned to a primary key value protects the value itself, and therefore the existence of the entity that is identified by the value. The security level assigned to a nonkey attribute value protects the value itself.
Knowing this, data contained in the wing relation are classified, as shown in Table 2.
From this simple example is one important lesson: Designing a multilevel security model with a fine granularity is not an insuperable problem, provided that the semantics of the association between a granule of information and a security level is precisely defined. This approach was not always followed. For example, Sea View (Denning et al., 1988), which is one of the first multilevel security models for relational databases, assigns security levels to rows as well as to primary key values. Unfortunately, the semantics of such associations is not clearly defined.
Inference Control
Again, the Bell and LaPadula (1975) rules are necessary to enforce the confidentiality policy, but they are not sufficient. Covert channels can be used to disclose sensitive data. Many types of covert channels cannot be represented in the security model because many of them are due
Table 2. Wing (U)
Name (U) |
|
Speed (U) |
Range (U) |
Objective (C) |
F16 Falcon |
(U) |
2145 km/h (U) |
2000 km (U) |
Target A (C) |
Mirage 2000 (U) |
2340 km/h (U) |
1480 km (U) |
Target B (S) |
|
Rafale |
(U) |
2124 km/h (U) |
1824 km (U) |
Target A (C) |
X-43Z |
(U) |
8000 km/h (C) |
9000 km (C) |
Target A (C) |
Firefox |
(C) |
12000 km/h (S) |
13000 km (C) |
Target B (S) |
384
TEAM LinG
Multilevel Databases
to implementation flaws. However, detecting and eliminating potential inference channels at the model stage is perfectly possible. If high classified data can be reduced from low classified data then there is inference channel. To prevent unauthorized inferences, labelling the data with security levels has to be done carefully. For example, the knowledge of “Objective is an attribute of the Wing table” discloses the knowledge of “the Wing table exists.” Consequently, classifying the Wing table at a level that strictly dominates the level protecting the Objective attribute would create an inference channel. In fact, there should be an inference control rule in the security model saying that the security level protecting an attribute has to dominate the security level protecting the table. Another example of potential inference channel is the following: The knowledge that “the speed of Firefox is 6000 km” discloses the existence of Firefox. Consequently, classifying the primary key value Firefox at a level that strictly dominates the level protecting the speed value of Firefox would create an inference channel. Therefore, there should be an inference control rule in the model stating that the security level protecting an attribute value of a given row has to dominate the security level protecting the primary key value of that row.
Several such inference control rules have to be enforced when classifying the data in a relational database. The purpose of this paper is not to discover all these rules. A method to formally derive all the rules as well as one example of application of this method on object-oriented databases is presented in (Cuppens & Gabillon, 1998, 1999). Let us mention that this method would allow us to derive one inference control rule from each integrity constraint.
Of course, not all inference channels can be detected and eliminated. In particular, detecting unauthorized inferences from a knowledge that is not represented in the database is impossible.
Database Architecture
The Air Force Summer Study (Air Force Studies Board, 1983) suggested three different architectures for building secure multilevel database management systems. These architectures differ from the way the multilevel data are physically stored. The first architecture is called the kernelized database management system (DBMS). In this architecture, the multilevel database is partitioned into a collection of single-level segments. The second architecture is called the distributed (or replicated) DBMS. In this architecture, there is a single-level database at every security level. Each l-level database contains the data whose classification level is dominated by l. The third architecture is based on the integrity lock technology, but, as mentioned in (Jajodia & Kogan, 1990b), this architecture
is vulnerable to Trojan horses. Hence, this approach cannot be used for highly assured multilevel DBMSs. M
Whether the architecture is kernelized or distributed, one needs to decompose the multilevel relation into a collection of single-level relations. Such decomposition is not trivial, and several algorithms have been proposed in the literature (Denning et al., 1988; Jajodia & Sandhu, 1990a, 1991a). In this paper, I propose some simple guidelines that should be followed for decomposing the multilevel database. These guidelines are suggested in the multiview model (Cuppens & Gabillon, 1997, 1999; Cuppens, Gabillon, & Yazdanian, 1993). This model is based on the replicated architecture. The main advantage of this architecture over the kernelized approach is that there is no need to combine the data from several sources when answering queries. In fact, the replicated architecture is the best architecture for a fine-grained multilevel database. The principle of the replicated architecture is the following: Each granule classified at level l is stored in the l-level database and is replicated in every database that has a level dominating level l. Application of this principle to the multilevel Wing relation (see Table
2)gives the following three relations (see Tables 3, 4, and 5). The unclassified view (see Table 3) of the multilevel
Wing relation contains only unclassified data. This view is inconsistent because there are no values for the speed and the range of X-43Z. The confidential view (see Table 4) of the multilevel Wing relation contains unclassified and confidential data. This view is inconsistent because there are also some missing values. The secret view (see Table 5) of the multilevel wing relation contains unclassified, confidential, and secret data and is consistent and complete.
After decomposing the original conceptual multilevel relation, the security administrator (SA) has two solutions to provide unclassified and confidential users with consistent views of the database without disclosing sensitive data:
•The SA thinks that it is acceptable to inform low level users that there are some sensitive values they are not permitted to see. In that case, the SA inserts the special value RESTRICTED each time there is a missing value. Using the RESTRICTED value was first suggested in Sandhu and Jajodia (1992). Semantics of this value is “the value exists
Table 3. Wing (in database at level U)
Name |
Speed |
Range |
F16 Falcon |
2145 km/h |
2000 km |
Mirage 2000 |
2340 km/h |
1480 km |
Rafale |
2124 km/h |
1824 km |
X-43Z |
|
|
385
TEAM LinG
but you are not permitted to know it.” Table 6 shows the unclassified view of the wing relation after the SA has decided to use the RESTRICTED value for the speed and the range of X-43Z.
•Now, in some cases, the SA may judge that knowing the existence of the sensitive value is itself sensitive information. In that case, the SA inserts a cover story instead of RESTRICTED. A cover story is a lie that hides the existence of sensitive data. Table 7 shows the confidential view of the Wing relation after the SA has decided to insert a cover story (Target A) each time there was a missing objective value. This means that the SA considers that the existence of a secret objective should not be disclosed. On the contrary, the SA decided to use the RESTRICTED value for the speed of Firefox.
Table 6 is the unclassified view of the multilevel relation represented in Table 2. The users working at the unclassified level express queries on this view. Table 7 is the confidential view on which users working at the confidential level may express queries. However, confidential users also have the possibility to query the unclassifiedview.Table5isthesecretview.Theusersworking atthesecretlevelmayexpressqueriesonthisview,buttheymay also query the confidential and the unclassified views.
Compared to this approach, other existing decomposition algorithms are complex. This is because those algorithms take polyinstantiated multilevel relations as input. A multilevel relation is polyinstantiated if it contains different rows with the same key, each at a different classification level. This occurs when the multilevel relation contains some cover stories.
The advantage of the approach described in this paper is that the starting multilevel relation (Table 2) is not polyinstantiated. The starting relation reflects precisely
Table 4. Wing (in database at level C)
Name |
Speed |
Range |
Objective |
F16 Falcon |
2145 km/h |
2000 km |
Target A |
Mirage 2000 |
2340 km/h |
1480 km |
|
Rafale |
2124 km/h |
1824 km |
Target A |
X-43Z |
8000 km/h |
9000 km |
Target A |
Firefox |
|
13000 km |
|
Multilevel Databases
the existing multilevel world. The SA inserts cover stories after the decomposition of the starting multilevel relation.
Now, after the insertion of the cover stories, the combination of the three relations (see Tables 5, 6, and 7) represents a polyinstantiated multilevel world that differs from the original multilevel world. In this polyinstantiated world, the Mirage 2000 and the Firefox have one confidential objective and one secret objective. The polyinstantiation technique states that, in case of conflict, the low classified data shall automatically be interpreted as cover stories. Therefore, if a secret user sees the secret database and the confidential database, then he or she shall interpret the confidential objectives of the Mirage 2000 and the Firefox as being lies for confidential users.
Note that the polyinstantiation technique has some drawbacks. It relies on a particular interpretation of the data, and it does not work well in case of a partial order on the set of security levels. A new technique for managing cover stories is presented in Cuppens and Gabillon (2001).
Updating the Database
Defining the operational semantics for update operations on a multilevel database is not an easy task. It becomes a real challenge if the multilevel relations are polyinstantiated (see Jajodia & Sandhu, 1990b).
The architecture of our database is replicated. The multilevel world is represented by a set of single-level databases. Updating each of these single-level databases can be done via standard SQL operations because each single level database behaves as a nonprotected database. When updating, users interact with the database that corresponds to their working level. The replicated architecture requires that low level updates propagate to the higher levels via a trusted replication mechanism.
Table 5. Wing (in database at level S)
Name |
Speed |
Range |
Objective |
F16 Falcon |
2145 km/h |
2000 km |
Target A |
Mirage 2000 |
2340 km/h |
1480 km |
Target B |
Rafale |
2124 km/h |
1824 km |
Target A |
X-43Z |
8000 km/h |
9000 km |
Target A |
Firefox |
12000 km/h |
13000 km |
Target B |
Table 6. Wing (in database at level U)
Name |
Speed |
Range |
F16 Falcon |
2145 km/h |
2000 km |
Mirage 2000 |
2340 km/h |
1480 km |
Rafale |
2124 km/h |
1824 km |
X-43Z |
RESTRICTED |
RESTRICTED |
Table 7. Wing (in database at level C)
Name |
Speed |
Range |
Objective |
F16 Falcon |
2145 km/h |
2000 km |
Target A |
Mirage 2000 |
2340 km/h |
1480 km |
Target A |
Rafale |
2124 km/h |
1824 km |
Target A |
X-43Z |
8000 km/h |
9000 km |
Target A |
Firefox |
RESTRICTED |
13000 km |
Target A |
386
TEAM LinG
Multilevel Databases
However, this is a general principle that may not be appropriate for particular situations, such as the following
•How can one interpret if a low level user has updated a low level cover story? Should the update propagate to the higher levels, or should the new value be considered as a new cover story?
•How can one interpret if a low level user has inserted a low level row with a primary key value that already exists at higher levels? Should the insertion propagate to higher levels, deleting higher level rows with the same primary key?
Regarding these issues, there is no best solution. It depends on the integrity policy. With a solution that considers that sensitive data are of high integrity, low level updates should propagate to higher levels as long as they do not conflict with higher classified data. Consequently, the trusted replication mechanisms shall not propagate to higher levels a low level update performed on a RESTRICTED value or a cover story. Conversely, with a solution that emphasizes the freshness of the information, low level updates shall systematically propagate to higher levels, possibly deleting existing higher level data conflicting with the new data. Of course, there are several intermediate solutions. In this paper I suggest one solution that has the advantage of being the simplest:
Any low level update statement is reproduced “as such” at the higher levels. Because each single-level database behaves as a nonprotected database, a low level update statement that is reproduced at a higher level will fail only if it violates one or more integrity constraints.
Here is the application of the solution through some sample SQL statements:
INSERT statement. Consider a user working at the unclassified level who inserts a new aircraft in the unclassified Wing relation with the following statement:
Table 8. Wing (in database at level U)
… |
… |
… |
F-22 raptor |
2000 km/h |
3200 km |
Table 9. Wing (in database at level C)
… |
… |
… |
… |
F-22 raptor |
2000 km/h |
3200 km |
NULL |
INSERTINTOWingVALUES(‘F-22raptor,’‘2000 km/ |
|
|
M |
||
h,’‘3200 km’); |
||
|
|
|
Tables 8,9 and 10 show the resulting multilevel |
|
|
database. |
|
|
The replication mechanism has reproduced the IN- |
|
|
SERT statement at the confidential and secret levels. |
|
|
Because the INSERT statement did not include any objec- |
|
|
tive value, the confidential and secret objective values are |
|
|
set to NULL. If the user who has performed the insertion |
|
|
has a confidential clearance level or higher, then that user |
|
|
has now to set his or her working level to confidential in |
|
|
order to assign an objective to the F-22 raptor. If the user |
|
|
who has performed the insertion has an unclassified |
|
|
clearance level, then only another confidential or secret |
|
|
user may assign an objective to the F-22 raptor. |
|
|
Propagation of an INSERT statement to higher levels |
|
|
will fail only if it violates one or more integrity constraints. |
|
|
For example, if an unclassified user issues a statement |
|
|
inserting a “new” aircraft called Firefox in the unclassified |
|
|
Wing relation, then the statement will succeed at the |
|
|
unclassified level but fail at the confidential level because |
|
|
of a primary key violation2. |
|
|
UPDATE statement. Consider a user working at the |
|
|
confidential level who assigns an objective to the F-22 |
|
|
raptor with the following statement: |
|
|
UPDATE Wing SET Objective= ‘Target A’ WHERE |
|
|
name = ‘F-22 Raptor’; |
|
|
Tables 11 and 12 show the resulting confidential and |
|
|
secret databases. |
|
|
The replication mechanism has reproduced the UP- |
|
|
DATE statement at the secret level. |
|
|
Note that in our example, the replication mechanism |
|
|
would succeed in reproducing a low level update on a |
|
|
RESTRICTED value or a cover story since such propaga- |
|
|
tion would not violate any integrity constraint. |
|
|
DELETE statement. Consider a user working at the |
|
|
unclassified level who deletes the F-22 raptor with the |
|
|
following statement: |
|
Table 11. Wing (in database at level C)
… |
… |
… |
… |
F-22 raptor |
2000 km/h |
3200 km |
Target A |
Table 10. Wing (in database at level S)
… |
… |
… |
… |
F-22 raptor |
2000 km/h |
3200 km |
NULL |
Table 12. Wing (in database at level S)
… |
… |
… |
… |
F-22 raptor |
2000 km/h |
3200 km |
Target A |
387
TEAM LinG
DELETE FROM Wing WHERE name = ‘F-22 Raptor’;
Tables 5, 6, and 7 show the final multilevel database. The replication mechanism has successfully reproduced the DELETE statement at the confidential and secret levels.
Let us mention that the operational semantics for update operations we define in this paper achieves completeness that is, every multilevel database can be constructed by some sequence of update operations (Jajodia & Sandhu, 1991b). However, since every update propagates to the higher levels, single-level relations (including RESTRICTED values and cover stories) have to be created in the ascending order of the security levels.
FUTURE TRENDS
In the recent years, research on multilevel security has been eclipsed by research on role-based security (see Sandhu, Coyne, Feinstein, & Youman, 1996 for an introduction to role-based security). For designing secure commercial database applications, role-based security has proved to be more flexible than multilevel security. Nevertheless, multilevel security is still needed in applications that require a high degree of confidentiality, such as military applications. One should also mention that research on multilevel security has found new application areas, such as digital rights management architectures (e,g., see Popescu, Crispo, & Tanenbaum, 2004).
CONCLUSION
While presenting multilevel security and multilevel databases, I have sketched a multilevel security model for relational databases. Compared to existing approaches, the model has a better expressive power because tables, attributes, and attribute values may independently be classified. Moreover, the semantics of an association between a security level and a granule of information is precisely defined, allowing one to easily design conceptual multilevel relations which are not polyinstantiated. The decomposition mechanism proposed is straightforward and is strictly based on the replicated architecture. I used the method developed in Cuppens and Gabillon (1999) to eliminate inference channels while classifying the data. Finally, I proposed a simple operational semantics for the traditional SQL update statements.
Multilevel Databases
REFERENCES
Air Force Studies Board. (1983). Multilevel data management security. Committee on Multilevel Data Management Security, National Research Council.
Bell, D. E., & LaPadula L. J. (1975). Secure computer systems: Unified exposition and multics interpretation
(Tech. Rep. ESD-TR-75-306, MTR 2997). Bedford, MA: MITRE.
Cuppens, F., & Gabillon, A. (1997). A logical approach to model a multilevel object-oriented database. In P. Samarati & R. Sandhu (Eds.), Tenth IFIP 11.3 Conference on Database Security: Database Security, X: Status and Prospects. Como, Italy: Chapman & Hall.
Cuppens, F., & Gabillon, A. (1998). Rules for building multilevel object-oriented databases. Proceedings of the 5th European Symposium on Research In Computer Security (ESORICS98). Lecture Notes in Computer Sciences. Louvain-la-Neuve, Belgium.
Cuppens, F., & Gabillon, A. (1999). Logical foundations of multilevel databases. data and knowledge engineering, 29, 259-291. Elsevier.
Cuppens, F., & Gabillon, A. (2001). Cover story management: Data and knowledge engineering (Vol 37/2, pp. 177-201). Elsevier.
Cuppens,F.,GabillonA.,&Yazdanian,K.(1993).Multiview model for multilevel object-oriented databases. Proceedings of the 9th Annual Computer Security Applications Conference, Orlando, FL.
Denning, D. E., Lunt, T. F., Schell, R. R., Shockley, W. R., & Heckman, M. (1988). The sea view security model.
Proceedings of the 1988 IEEE Symposium on Research in Security and Privacy.
Haig, J. T., O’Brien, R. C., Stachour, P. D., & Toups, D. L. (1990). The LDV approach to database security. In Database Security III, Status and Prospect. North Holland.
Jajodia, S., & Kogan, B. (1990a). Integrating an objectoriented data model with multilevel security. Proceedings of the IEEE Symposium on Security and Privacy, Oakland, CA.
Jajodia, S., & Kogan, B. (1990b). Transaction processing in multilevel secure database using the replicated architecture. Proceedings of the 1990 IEEE Symposium on Research in Security and Privacy, Oakland, CA.
388
TEAM LinG
Multilevel Databases
Jajodia, S., & Sandhu, R. (1990a). Polyinstantiation integrity in multilevel relations. Proceedings of the IEEE Symposium on Research in Security and Privacy, Oakland, CA.
Jajodia S., & Sandhu, R. (1990b). Update semantics for multilevel relations. Proceedings of the IEEE Symposium on Research in Security and Privacy, 103-112.
Jajodia, S., & Sandhu, R. (1991a). A novel decomposition of Multilevel Relations into Single level Relations. Proceedings of the IEEE Symposium on Research in Security and Privacy, Oakland, CA.
Jajodia, S., & Sandhu, R. (1991b). Toward a multilevel secure relational data model. Proceedings of the 1991 ACM SIGMOD International Conference on Management of Data.
Jukic, N., Vrbsky, S. V., Parrish, A. S., Dixon, B., & Jukic, B. (1999). A belief-consistent multilevel secure relational data model. Information Systems, 24(5).
Keefe, T. F., Tsai, W. T., & Thuraisingham, M. B. (1989). SODA: A secure object-oriented database system. Computer and Security, 8(6).
Lunt, T. F. (1990). Multilevel security for object-ori- ented database systems. In D. L. Spooner & C. Landwehr (Eds.), Database security III: Status and prospects.
North Holland.
Millen, J. K., & Lunt, T. F. (1992). Security for objectoriented database systems. Proceedings of the 1992 IEEE Symposium on Research in Security and Privacy.
National Computer Security Center. (1993, November). A guide to understanding covert channel analysis of trusted systems.
Popescu, B., Crispo, B., & Tanenbaum, A. S. (2004).
Support for multi-level security policies in DRM architectures. New Security Paradigms Workshop, White Point Beach Resort, Nova Scotia.
Qian, X., & Lunt, T. F. (1996). A Mac policy framework for multilevel databases. IEEE Transactions on Knowledge and Data Engineering, 8(1).
Sandhu, R., Coyne, E. J., Feinstein, H. L., & Youman, C. E. (1996). Role-based access control models. IEEE Computer 29(2), 38-47.
Sandhu, R., & Chen, F. (1998). The MLR data model.
Transactions on Information and System Security, 1(1), 93-132.
Sandhu, R., & Jajodia, S. (1992). Polyinstantiation for
cover stories. Proceedings of the European Symposium M on Research in Computer Security, Toulouse, France.
Smith, K., & Winslett, M. (1992). Entity modeling in the MLS relational model. Proceedings of the 18th International Conference on Very Large Data Bases, Vancouver, British Columbia, Canada.
Thomas, R. K., & Sandhu, R. (1993). Concurrency, synchronization, and scheduling to support high-assurance write up in multilevel object-based computing. Proceedings of the OOPSLA-93 Conference Workshop on Security for Object-Oriented Systems, Washington, DC.
KEY TERMS
Classification Level: A security level that represents both the confidentiality degree of the information and its category.
Clearance Level: A security level that represents both the trust level of the user and his or her need to know.
Cover Story: A lie that is used to hide the existence of high classified data.
Covert Channel: An unintended communications path that can be used to transfer information in a manner that violates the security policy.
Inference Channel: A particular case of a covert channel that exists when high classified data can be deduced from low classified data.
Information Granularity: The data structure that can be classified.
Multilevel Security (MLS): Security in which the data are associated with classification levels and the users are associated with clearance levels. Accesses to data are granted by comparing classifications and clearances.
ENDNOTES
1This work has been carried out in the framework of the CASC research project (ACI sécurité Informatique 2003-2006).
2Of course, whether the propagation of a low level update to higher levels succeeds or fails should not be observable by the low level user who has performed the update.
389
TEAM LinG
