ArticlePDF Available

Abstract

Much attention is being directed toward the development of secure database systems, which are critical for both military and sensitive commercial applications. Most research in security and multilevel secure database management systems (MLS/DBMS) focus on relational systems. However, with the emergence of new and complex applications, research in object-oriented security is gaining more prominence. In this paper, we address the issues of transaction management for multilevel secure object-oriented database systems. We begin by introducing two new security policies specifically designed for OODBs. Later we identify the existence of covert channels in the traditional conflict-serializable concurrency control schedulers and provide an alternative transaction-processing algorithm that ensures both correctness and security. We conclude with a proof of correctness.
A CONCURRENCY CONTROL MODEL
FOR
MULTILEVEL SECURE OBJECT-ORIENTED DATABASES



     !     "
 
#$%  &'()&  "% ! *++,*
%&+&+,
"-

$./$
"%/0&')0
ABSTRACT
         
           
       
 !
  "#      $
%&&'(#
)&'*#)+,&*-#
     ./. 

Key Words:   % 12-31 2 %
% 12-
1. INTRODUCTION
!    .  2  %
  2 4     5 4 %
5 $   
262$ 
2.$$%4
.       6 .4 
   7"'89 :   $ ;<1=% 4
$;0>=%$$;?<=4 %.
42"%
<1 @.  % 0> @ . %   ?< A
2.7"'896
@.A%4A1
>>;1>>=2-7B(97B094 
 222 "
%  2  7C-B09
7B*9 7B09 .     2  6
 2;>D"=.2
    !  %  
$ .    2- 2  2
     1>>    2  

2. OBJECT ORIENTED MODEL AND OBJECT ORIENTED DATABASE
SYSTEMS
62-4E2-
2$;.=$6 4 $4
%< 2%
  .   F  2    
%2. .
%$2G2G
G G .2<.
11"$%.
..
6 2-3 2   4    
. .  2   % $%
 $%  %  % A $%
 %  4  2-3 .    2%
%%2-%$% $%2
..57B029
3. THE SECURITY MODEL FOR OODBs
6  %    $ 2 
. 2-2
! %%5
2...%.
E2-$%2-$ 
0  " F    . 4
:     . 3 
<.:F%
F%%  %F2$  4 
 2$  $  65..:
 %%<2.
.;$=F
#.%44.
F6%(%2%
0% . 0   $  (    . (H
6.%"3>7"8+9%
      % F 4   
.$2-22-<:
6 <  : 62- 4   
2-  . 2-HF $
2-H  
" <I3:62-442-.
2-H F       4   2-H
  
< %$%.2-
$4442
.4$:
 <: <    .  2
4  .2
 < !  : <     .  
;2-=.2$.
<  $     2- 4  2
  4 %   J  $ 
$ 1
.$%2 7<E'&9
< 4 .   4  
  6 
 . . $  4 2- $  .
 2- <   2   . .  
.$ 2-6  
..$42-2$2 2
$ 6$$
 
4. ORIGINAL ROLL CONCURRENCY CONTROL
1>>   2-  2  7B(9 
7B091>>%32$%.%
  .  $     
  < 2   
2-44$
4<1>>2-.A/
;/=4/ E2  
2$26(2A%)
2%  A <1>>2-  ,2
<1<%EK%E>E6E
1>>L
$ <MN
1>> IMN
/MIM N
!;=N
;=N
#;=N
2:
1>>;<M% M%=N
;=N
;=N
;=N
O
!.%$4.4<<( 
/  1<    1>> 2- ! . 1<$% <( 
   EK  ;:    = < EK
    A   . <(   
 ;6/=4<( F4  2
6  %   4 A   2    
A 4 4.   P ; 
4$=    A  .  1<$ % 4 
   .%     "   
52@%<( .EK
.A$
#%$        
2%E>E6E
6%4.
5$$ <1<   
4 A  ! 5 % 4 2 
$%>3111>>%. 2-3
2
5. MULTIVERSION MLS-OOROLL PROTOCOL
<$24 < F 
<".A1>>
;>1>>= 2-  <<"%2$1>>2-
  ?2 1>>%  H   <
$21>>$41>> $
$22
< $.%% 4
       . 2-
14% $ 44.$42  
% $$4.42%%A
$ $  5 ! .4$
%442241>>$F
 $
.2- .
;%33 =%.A
;33 = >2 / D
/ ?222. /#/
/
5.1 POST Protocol
(= !33    F 1<   ?1>>
#421< >1>>
6  ?1>>  %  .    
%2$A  $(2.
  # 5%  / Q )()(   
A$0*
0= !33     1<    >1>>

,= 1  1<$       
2
5.2 CHECK Protocol
1  33  1< ?1>>% 
.EK <EK?1>>4
 ;6/= $ 4  ;. =   2 . .
1<$
(= 6  ?1>>  %    1<% EK  E>E6E
22 
0= 6  >1>>  %  EK   F   
2 . $$  <EK  F
4  4.$2;34=

<.4:
EK2%EK4
6/;6/=$4.. 2
.  2   < EK   $  $
24   3 A / ;/=  .  5
P$ $2 %  $     <
$  4  .  2-   !.  2- 
%44
4$  !.. 
5. P244% 
EK.
5.3 RELEASE Protocol
!3  %  E>E6EF 
2$2
(= <E>E6E?1>>22
!4%.1<>1>>
 %2.  %4$

0= <E>E6E>1>>2;3%43=
%<2  2
,= <E>E6E2342 $
 .2-
5.4 THE ALGORITHM
<>3111>> $24
4 %...$
  !A $$  .  2   

( %<%.5%/4
21<>1>>5 .<
0 $2%<-%.5%?2
/;?/=4(2.4
<?/?1>>
, < ?1>>  EK    .  .  
A2<- 2
,( !.%$.<-%2<-%.
1</>1>>;=
,0 !.%?1>>EK$
* %<-%1</>1>>%$2
?1>>E>E6E<2
?/.<-E>E6E
& %<-%42-5%<-EK>1>>
 .2-5
&( !.P5%<-4EK
&0 !.P%<-2-5
+ <-442-5%<-EK>1>>
   . 5 < % EK4
.4:
+( !. P      4  2
 .<-%<-4EK
+0 !. P  A2  
$ %<-.2P4
 4  2- 4 % 4  .  2- 
 < 2. 2$ 

+, !.P5%<- 42-4 

<        4  
@ .2-  4  N4%  
422
6. CONCLUSION
!%4   44 F
  . 11" <   A   
."3>42$ .
   <% 4        
$$42 <4
  $  1>>   A 2 4
F $%
$..%.. %
.222 
 $  $F      $
  . $      
2-32$
REFERENCES
7"8+9 " E% >% >C% G  : F
E5   !G <  <30BB8%
 % ".% %  (B8+% 6 2  <! 6
6)0,&''
7"'89 "%  6% % /% ?% % G
     2 G% 6 %
(B'8
7B09 %% G1>> G%
% <;3<3(BB03),= 
 %#$%
7B029 % % G12- 1 G%  .
 % <  ;313<3(BB030)=
 %#$%
7B09 % % G< $    
2 G%  %   
 %#$%
7C-B09 C-% % 6% /% G6    .
 E5 . <    
2G% $ .  (BB0 !EEE  
     % $ 0(+300*% 1% 6%
*3+%(BB0
7K.'B9 K.% <#%<%<%<$%"%G16:6
12-312G%%/
'%+%1'B%$&(83&,,
7B*9 % "% % %  % % G <
$R$ 2
G% $ .  63!?6 (BB*  
6$%%(BB*%5%6S
7B(9 % % G6   12-G%  .  !EEE
.E$$%6%(BB(%K2%C
7<E'&9 1% <   E   
(B'&
7<B)9 <$%"%G12-312
G%C.12-31$$%/0%+%D6
(BB)
... Such schedulers will produce executions which are equivalent to some serial order. A number of methods such as time stamp ordering, two phase locking, serialization graph testing, tree locking, optimistic certifiers, and request ordered linked list (ROLL) [11] have been proposed. Many of the existing relational and object-oriented database systems use these methods with varied levels of performance. ...
Conference Paper
Full-text available
Multitasking in both uniprocessor (multithreading) and multiprocessor (multiprocessing) systems have been attracted by many applications. Database systems are somewhat the most important in this regard, especially in centralized and humongous ones. Sometimes thousands, and maybe hundred of thousands of operations are sent to the transaction processing system per second. To handle this bottleneck some queries/updaters are executed concurrently. However, parallelism in such cases is extremely accurate based on the well-know restriction - locks. In this paper, we implement a lock approach based on a Boolean array (1D and 2D) and on the logical OR operation to specify which transactions can be executed in parallel.
... This work is extended in Lynch [1994]. Object-oriented DBMSs allow a higher degree of txn concurrency than provided by simple locking for operations on abstract data types [Skarra and Zdonik 1989; Ozsu 1994]. A more detailed discussion of these topics appears in Ramamithram and Chrisan- this [1996]. ...
Chapter
Full-text available
Since the appearance of the first papers in mid-70’s formalizing two-phase locking as a means of Concurrency Control (CC) [23], there have been numerous proposals based on locking, time-stamp ordering, and optimistic CC [6], [52], [77]. CC is required to ensure correctness and database integrity when it is updated by several transactions concurrently [23].
... This work is extended in Lynch [1994]. Object-oriented DBMSs allow a higher degree of txn concurrency than provided by simple locking for operations on abstract data types [Skarra and Zdonik 1989; Ozsu 1994]. A more detailed discussion of these topics appears in Ramamithram and Chrisan- this [1996]. ...
... This work is extended in Lynch [1994]. Object-oriented DBMSs allow a higher degree of txn concurrency than provided by simple locking for operations on abstract data types [Skarra and Zdonik 1989; Ozsu 1994]. A more detailed discussion of these topics appears in Ramamithram and Chrisan- this [1996]. ...
Article
Full-text available
This article surveys results concerning online algorihtms for solving problems related to the management of money and other assets. In particular, the survey focucus us search, replacement, and portfolio selection problems
... This work is extended in Lynch [1994]. Object-oriented DBMSs allow a higher degree of txn concurrency than provided by simple locking for operations on abstract data types [Skarra and Zdonik 1989; Ozsu 1994]. A more detailed discussion of these topics appears in Ramamithram and Chrisan- this [1996]. ...
Article
Full-text available
Distributed wait-depth-limited (DWDL) concurrency control, a locking-based method that limits the wait-depth of blocked transactions to one, which assures that deadlocks are resolved as part of regular transaction processing is described. The performance of DWDL is compared with that of distributed two-phase locking (2PL) and the wound-wait concurrency control method through a detailed simulated. Results show that DWDL behaves similarly to 2PL for low data contention levels, but at high lock contention levels, DWDL outperforms the other methods to a significant degree
Article
A stamp locking method is proposed, which is addressed to multiversion object-oriented databases. The method deals with all semantic relationships between objects and object versions in the database in uniform, hierarchical way. Hierarchical locking proposed does not require intentional locks.
Conference Paper
Wir diskutieren die Rolle der Erweiterbarkeit, Kooperation und Föderation von Datenbanksystemen in ihrem Wechselspiel mit verschiedenen Anwendungssystemen. Erweiterbarkeit vereinfacht die Zusammenarbeit zwischen Anwendungssystem und Datenbanksystem. Wir zeigen auf, inwieweit durch den Ansatz extern definierter Typen (EDTs) und Verallgemeinerungen ein wünschenswerter Grad an Autonomie bei den Anwendungssystemen belassen wird und inwieweit die Verwendung von Datenbanksystem-Funktionalität dennoch möglich ist. Kooperation von Datenbanksystemen ist die Integration von Sub-Datenbanksystemen zu einem Super-Datenbanksystem sowohl in Bezug auf die Objektverwaltung (globales Schema) als auch in Bezug auf die Transaktionsverwaltung. Wir stellen hier dar, welche Konsequenzen das Belassen von mehr Autonomie in den Subsystemen hat, und zeigen, daß man die größere Autonomie zwischen Anwendungssystem und Datenbanksystem gut kombinieren kann mit einer größeren Autonomie bei der Kooperation von Datenbanksystemen. Eine Föderation von Datenbanksystemen gibt den beteiligten Subsystemen insbesondere die Autonomie, weiterhin lokale Anwendungen zu bedienen, die dem globalen Super-Datenbanksystem nicht bekannt gemacht werden. Bezüglich der Transaktionsverwaltung führt dies insbesondere zu dem Problem der Koexistenz von globalen Transaktionen und lokalen Transaktionen. Wir diskutieren verschiedene Lösungsansätze, ausgehend von Mechanismen zur Erweiterbarkeit der Transaktionsverwaltung und zur Kooperation mehrerer Transaktionsverwaltungen.
Conference Paper
This paper proposes a mechanism for object-oriented database languages which allows the specification of as much concurrency among method executions as a user needs. This proposal goes towards the use of semantic information about methods and it allows a user to specify some kind of observational independence among methods by means of a construct called concurrent behaviour. It is shown that, as far as such method commutativity is concerned, there is no direct relation between super-types and sub-types, that is, a sub-type can be either “less concurrent” or “more concurrent” than its super-type. The notion of correctness for interleaved executions of transactions is presented taking into account the concurrent behaviour of objects, and a possible implementation of the proposed construct is outlined.
Article
We present a linguistic construct to define concurrency control for the objects of an object database. This construct, calledconcurrent behavior, allows to define a concurrency control specification for each object type in the database; in a sense, it can be seen as a type extension. The concurrent behavior is composed by two parts: the first one, calledcommutativity specification, is a set of conditional rules, by which the programmer specifies when two methods do not conflict each other. The second part, the constraint specification, is a set of guarded regular expressions, calledconstraints, by which the programmer defines the allowed sequences of method calls. At each time during an actual execution, a subset of constraints may be active so limiting the external behavior of the object. A constraint becomesactive when its guard is verified, where a guard is composed of the occurrence of some method callm along with the verification of a boolean expression on the object state and the actual parameters ofm. A constraint dies when a string of the language corresponding to the regular expression has been recognized. While the commutativity specification is devoted to specify the way in which the external behavior of an object is influenced by the existence of concurrent transactions in the system, the constraint specification defines the behavior of the object, independently from the transactions. Since the two parts of the concurrent behavior are syntactically distinct and, moreover, each of them consists of a set of independent rules, modularity in specifying the objects is enhanced, with respect to a unique specification. We outline an implementation of the construct, which is based on a look-ahead policy: at each method execution, we foresee the admissible successive behaviors of the object, instead of checking the admission of each request at the time it is actually made.
ResearchGate has not been able to resolve any references for this publication.